@jacshuo/onyx 2.0.0 → 2.1.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 (166) hide show
  1. package/dist/Chart/BarChart.cjs +1 -1
  2. package/dist/Chart/BarChart.js +1 -1
  3. package/dist/Chart/LineChart.cjs +1 -1
  4. package/dist/Chart/LineChart.js +1 -1
  5. package/dist/Chart/PieChart.cjs +1 -1
  6. package/dist/Chart/PieChart.js +1 -1
  7. package/dist/Chart/ScatterChart.cjs +1 -1
  8. package/dist/Chart/ScatterChart.js +1 -1
  9. package/dist/Chart/index.cjs +1 -1
  10. package/dist/Chart/index.js +1 -1
  11. package/dist/DataDisplay/CodeBlock.cjs +2 -2
  12. package/dist/DataDisplay/CodeBlock.js +2 -2
  13. package/dist/DataDisplay/List.cjs +1 -1
  14. package/dist/DataDisplay/List.js +1 -1
  15. package/dist/DataDisplay/MetricCard.cjs +1 -0
  16. package/dist/DataDisplay/MetricCard.d.cts +3 -0
  17. package/dist/DataDisplay/MetricCard.d.ts +3 -0
  18. package/dist/DataDisplay/MetricCard.js +1 -0
  19. package/dist/DataDisplay/Stat.cjs +1 -0
  20. package/dist/DataDisplay/Stat.d.cts +3 -0
  21. package/dist/DataDisplay/Stat.d.ts +3 -0
  22. package/dist/DataDisplay/Stat.js +1 -0
  23. package/dist/DataDisplay/Table.cjs +1 -1
  24. package/dist/DataDisplay/Table.js +1 -1
  25. package/dist/DataDisplay/Tree.cjs +1 -1
  26. package/dist/DataDisplay/Tree.js +1 -1
  27. package/dist/DataDisplay/index.cjs +2 -2
  28. package/dist/DataDisplay/index.d.cts +6 -0
  29. package/dist/DataDisplay/index.d.ts +6 -0
  30. package/dist/DataDisplay/index.js +2 -2
  31. package/dist/Extras/CommandPalette.cjs +1 -0
  32. package/dist/Extras/CommandPalette.css +1 -0
  33. package/dist/Extras/CommandPalette.d.cts +4 -0
  34. package/dist/Extras/CommandPalette.d.ts +4 -0
  35. package/dist/Extras/CommandPalette.js +1 -0
  36. package/dist/Extras/FileExplorer.cjs +2 -2
  37. package/dist/Extras/FileExplorer.js +2 -2
  38. package/dist/Extras/Timeline.cjs +1 -0
  39. package/dist/Extras/Timeline.css +1 -0
  40. package/dist/Extras/Timeline.d.cts +6 -0
  41. package/dist/Extras/Timeline.d.ts +6 -0
  42. package/dist/Extras/Timeline.js +1 -0
  43. package/dist/Extras/index.cjs +4 -4
  44. package/dist/Extras/index.css +1 -1
  45. package/dist/Extras/index.d.cts +9 -0
  46. package/dist/Extras/index.d.ts +9 -0
  47. package/dist/Extras/index.js +4 -4
  48. package/dist/Feedback/Alert.cjs +1 -1
  49. package/dist/Feedback/Alert.js +1 -1
  50. package/dist/Feedback/ProgressBar.cjs +1 -1
  51. package/dist/Feedback/ProgressBar.js +1 -1
  52. package/dist/Feedback/Skeleton.cjs +1 -0
  53. package/dist/Feedback/Skeleton.d.cts +2 -0
  54. package/dist/Feedback/Skeleton.d.ts +2 -0
  55. package/dist/Feedback/Skeleton.js +1 -0
  56. package/dist/Feedback/Spin.cjs +2 -2
  57. package/dist/Feedback/Spin.js +2 -2
  58. package/dist/Feedback/Toast.cjs +1 -0
  59. package/dist/Feedback/Toast.d.cts +11 -0
  60. package/dist/Feedback/Toast.d.ts +11 -0
  61. package/dist/Feedback/Toast.js +1 -0
  62. package/dist/Feedback/index.cjs +2 -2
  63. package/dist/Feedback/index.d.cts +11 -0
  64. package/dist/Feedback/index.d.ts +11 -0
  65. package/dist/Feedback/index.js +2 -2
  66. package/dist/Forms/Select.cjs +1 -0
  67. package/dist/Forms/Select.css +1 -0
  68. package/dist/Forms/Select.d.cts +3 -0
  69. package/dist/Forms/Select.d.ts +3 -0
  70. package/dist/Forms/Select.js +1 -0
  71. package/dist/Navigation/Breadcrumb.cjs +1 -0
  72. package/dist/Navigation/Breadcrumb.d.cts +3 -0
  73. package/dist/Navigation/Breadcrumb.d.ts +3 -0
  74. package/dist/Navigation/Breadcrumb.js +1 -0
  75. package/dist/Navigation/Header.cjs +1 -1
  76. package/dist/Navigation/Header.js +1 -1
  77. package/dist/Navigation/Pagination.cjs +1 -0
  78. package/dist/Navigation/Pagination.d.cts +2 -0
  79. package/dist/Navigation/Pagination.d.ts +2 -0
  80. package/dist/Navigation/Pagination.js +1 -0
  81. package/dist/Navigation/RibbonBar.cjs +1 -0
  82. package/dist/Navigation/RibbonBar.d.cts +6 -0
  83. package/dist/Navigation/RibbonBar.d.ts +6 -0
  84. package/dist/Navigation/RibbonBar.js +1 -0
  85. package/dist/Navigation/index.cjs +2 -2
  86. package/dist/Navigation/index.d.cts +8 -0
  87. package/dist/Navigation/index.d.ts +8 -0
  88. package/dist/Navigation/index.js +2 -2
  89. package/dist/Overlay/ContextMenu.cjs +1 -0
  90. package/dist/Overlay/ContextMenu.d.cts +3 -0
  91. package/dist/Overlay/ContextMenu.d.ts +3 -0
  92. package/dist/Overlay/ContextMenu.js +1 -0
  93. package/dist/Overlay/Drawer.cjs +1 -0
  94. package/dist/Overlay/Drawer.css +1 -0
  95. package/dist/Overlay/Drawer.d.cts +10 -0
  96. package/dist/Overlay/Drawer.d.ts +10 -0
  97. package/dist/Overlay/Drawer.js +1 -0
  98. package/dist/Overlay/index.cjs +1 -1
  99. package/dist/Overlay/index.css +1 -0
  100. package/dist/Overlay/index.d.cts +8 -0
  101. package/dist/Overlay/index.d.ts +8 -0
  102. package/dist/Overlay/index.js +1 -1
  103. package/dist/Primitives/Avatar.cjs +1 -0
  104. package/dist/Primitives/Avatar.d.cts +4 -0
  105. package/dist/Primitives/Avatar.d.ts +4 -0
  106. package/dist/Primitives/Avatar.js +1 -0
  107. package/dist/Primitives/Badge.cjs +1 -1
  108. package/dist/Primitives/Badge.js +1 -1
  109. package/dist/Primitives/Button.cjs +1 -1
  110. package/dist/Primitives/Button.js +1 -1
  111. package/dist/Primitives/Checkbox.cjs +1 -1
  112. package/dist/Primitives/Checkbox.js +1 -1
  113. package/dist/Primitives/Dropdown.cjs +1 -1
  114. package/dist/Primitives/Dropdown.js +1 -1
  115. package/dist/Primitives/DropdownButton.cjs +1 -1
  116. package/dist/Primitives/DropdownButton.js +1 -1
  117. package/dist/Primitives/Indicator.cjs +1 -1
  118. package/dist/Primitives/Indicator.js +1 -1
  119. package/dist/Primitives/Input.cjs +1 -1
  120. package/dist/Primitives/Input.js +1 -1
  121. package/dist/Primitives/Label.cjs +1 -1
  122. package/dist/Primitives/Label.js +1 -1
  123. package/dist/Primitives/Radio.cjs +1 -1
  124. package/dist/Primitives/Radio.js +1 -1
  125. package/dist/Primitives/Slider.cjs +1 -0
  126. package/dist/Primitives/Slider.css +1 -0
  127. package/dist/Primitives/Slider.d.cts +4 -0
  128. package/dist/Primitives/Slider.d.ts +4 -0
  129. package/dist/Primitives/Slider.js +1 -0
  130. package/dist/Primitives/Switch.cjs +1 -1
  131. package/dist/Primitives/Switch.js +1 -1
  132. package/dist/Primitives/Tag.cjs +1 -0
  133. package/dist/Primitives/Tag.d.cts +2 -0
  134. package/dist/Primitives/Tag.d.ts +2 -0
  135. package/dist/Primitives/Tag.js +1 -0
  136. package/dist/Primitives/index.cjs +1 -1
  137. package/dist/Primitives/index.css +1 -0
  138. package/dist/Primitives/index.d.cts +6 -0
  139. package/dist/Primitives/index.d.ts +6 -0
  140. package/dist/Primitives/index.js +1 -1
  141. package/dist/_tsup-dts-rollup.d.cts +967 -2
  142. package/dist/_tsup-dts-rollup.d.ts +967 -2
  143. package/dist/index.cjs +5 -5
  144. package/dist/index.css +1 -1
  145. package/dist/index.d.cts +69 -0
  146. package/dist/index.d.ts +69 -0
  147. package/dist/index.js +5 -5
  148. package/dist/styles/DataDisplay/MetricCard.css +1 -0
  149. package/dist/styles/DataDisplay/Stat.css +1 -0
  150. package/dist/styles/Extras/CommandPalette.css +65 -0
  151. package/dist/styles/Extras/Timeline.css +52 -0
  152. package/dist/styles/Feedback/Skeleton.css +37 -0
  153. package/dist/styles/Feedback/Toast.css +77 -0
  154. package/dist/styles/Forms/Select.css +36 -0
  155. package/dist/styles/Navigation/RibbonBar.css +1 -0
  156. package/dist/styles/Overlay/ContextMenu.css +1 -0
  157. package/dist/styles/Overlay/Drawer.css +52 -0
  158. package/dist/styles/Primitives/Slider.css +4 -0
  159. package/dist/styles/Primitives/Tag.css +1 -0
  160. package/dist/styles/base.css +1012 -0
  161. package/dist/styles.css +1223 -0
  162. package/dist/theme.cjs +1 -1
  163. package/dist/theme.d.cts +7 -0
  164. package/dist/theme.d.ts +7 -0
  165. package/dist/theme.js +1 -1
  166. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -1,10 +1,10 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime'),Nr=require('react'),lucideReact=require('lucide-react'),reactDom=require('react-dom'),client=require('react-dom/client');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Nr__default=/*#__PURE__*/_interopDefault(Nr);function i(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var Xt=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"}}),Ir=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"}}),Hr=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"}}),jt=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"}}),Fr=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"}}),Ar=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"}}),zr=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"}}),Br=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 Yt({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("button",{className:i(Xt({intent:e,size:t}),r),...n})}function Bn(e,t){for(let r of e){if(r.value===t)return r;if(r.children){let n=Bn(r.children,t);if(n)return n}}}function _n(e){let t=[];for(let r of e)r.children?.length||t.push(r),r.children&&t.push(..._n(r.children));return t}var Kr=40,Vs=200,$n=150,Oa=120;function Or(e,t,r,n){if(!n)return {};if(r){let a=(t-1-e)*Kr;return {animation:`dropdown-item-out ${$n}ms ease-in both ${a}ms`}}let o=e*Kr;return {animation:`dropdown-item-in ${Vs}ms ease-out both ${o}ms`}}function Ka(e,t,r){if(!r)return {};if(t){let n=Math.max(e-1,0)*Kr+$n;return {animation:`dropdown-container-out ${Oa}ms ease-in both ${n}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function Wa({options:e,onSelect:t,animated:r=true,closing:n=false,depth:o=0}){let[a,s]=Nr.useState(null),p=Nr.useRef(void 0),b=c=>{p.current&&clearTimeout(p.current),s(c);},u=()=>{p.current=setTimeout(()=>s(null),150);};return Nr.useEffect(()=>()=>{p.current&&clearTimeout(p.current);},[]),jsxRuntime.jsx("div",{className:i("absolute z-50 min-w-44 rounded-md border py-1 shadow-lg overflow-hidden","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",o===0?"mt-1 w-full":"top-0 ml-0.5"),style:{...o>0?{left:"100%"}:{},...Ka(e.length,n,r)},role:"listbox",children:e.map((c,T)=>{let x=!!c.children?.length,m=a===c.value;return jsxRuntime.jsxs("div",{className:"relative",style:Or(T,e.length,n,r),onMouseEnter:()=>b(c.value),onMouseLeave:u,children:[jsxRuntime.jsxs("div",{role:"option","aria-selected":false,"aria-disabled":c.disabled,className:i("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",c.disabled&&"pointer-events-none opacity-50"),onClick:()=>{c.disabled||x||t(c.value,c);},children:[c.icon&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:c.icon}),jsxRuntime.jsx("span",{className:"flex-1 truncate",children:c.label??c.value}),x&&jsxRuntime.jsx(lucideReact.ChevronRight,{className:"text-primary-400 h-3.5 w-3.5 shrink-0"})]}),x&&m&&jsxRuntime.jsx(Wa,{options:c.children,onSelect:t,animated:r,depth:o+1})]},c.value)})})}function Ds({options:e,filter:t,multiple:r,selected:n,canAdd:o,animated:a=true,closing:s=false,onSelect:p,onToggle:b,onAdd:u}){let c=Nr.useMemo(()=>_n(e),[e]),T=t.toLowerCase(),x=t?c.filter(d=>(d.label??d.value).toLowerCase().includes(T)||d.value.toLowerCase().includes(T)):c,m=x.length===0&&!o||o?1:0,g=x.length+m;return jsxRuntime.jsxs("div",{className:i("absolute z-50 mt-1 w-full max-h-60 min-w-44 overflow-y-auto rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white"),role:"listbox","aria-multiselectable":r||void 0,style:Ka(g,s,a),children:[x.map((d,f)=>{let w=r&&n.includes(d.value);return jsxRuntime.jsxs("div",{role:"option","aria-selected":r?w:false,"aria-disabled":d.disabled,className:i("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",d.disabled&&"pointer-events-none opacity-50"),style:Or(f,g,s,a),onClick:()=>{d.disabled||(r?b(d.value):p(d.value,d));},children:[r&&jsxRuntime.jsx("span",{className:i("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",w?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:w&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"})}),d.icon&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:d.icon}),jsxRuntime.jsx("span",{className:"truncate",children:d.label??d.value})]},d.value)}),x.length===0&&!o&&jsxRuntime.jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:Or(0,1,s,a),children:"No matches"}),o&&jsxRuntime.jsxs("div",{className:i("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:Or(x.length,g,s,a),onClick:u,children:[jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxRuntime.jsxs("span",{className:"truncate",children:["Add \u201C",t.trim(),"\u201D"]})]})]})}function On(e){let{options:t,placeholder:r="Select\u2026",editable:n=false,onAddItem:o,disabled:a=false,align:s="left",className:p,size:b="md",animated:u=true}=e,c=e.multiple===true,[T,x]=Nr.useState(c?void 0:e.defaultValue),[m,g]=Nr.useState(c?e.defaultSelected??[]:[]),d=c?e.selected??m:[],[f,w]=Nr.useState(false),[h,P]=Nr.useState(false),[k,N]=Nr.useState(""),F=Nr.useRef(null),R=Nr.useRef(null),E=Nr.useRef(void 0),A=Nr.useCallback(()=>{if(!u||!f){w(false),N("");return}P(true);let V=(Math.max(t.length,1)-1)*Kr+$n+Oa+20;E.current=setTimeout(()=>{w(false),P(false),N("");},V);},[u,f,t.length]);Nr.useEffect(()=>()=>{E.current&&clearTimeout(E.current);},[]);let H=c?void 0:e.value??T,y=Nr.useMemo(()=>H?Bn(t,H):void 0,[t,H]);Nr.useEffect(()=>{if(!f)return;let Y=V=>{F.current&&!F.current.contains(V.target)&&A();};return document.addEventListener("mousedown",Y),()=>document.removeEventListener("mousedown",Y)},[f,A]),Nr.useEffect(()=>{if(!f)return;let Y=V=>{V.key==="Escape"&&A();};return document.addEventListener("keydown",Y),()=>document.removeEventListener("keydown",Y)},[f,A]);let O=Nr.useCallback((Y,V)=>{c||(e.value===void 0&&x(Y),e.onChange?.(Y,V)),E.current&&clearTimeout(E.current),w(false),P(false),N("");},[c,e]),v=Nr.useCallback(Y=>{if(!c)return;let V=e.selected??m,G=V.includes(Y)?V.filter(me=>me!==Y):[...V,Y];e.selected===void 0&&g(G),e.onSelectionChange?.(G);},[c,m,e]),ne=k.toLowerCase(),C=Nr.useMemo(()=>!n||!k.trim()?false:!_n(t).some(V=>V.value.toLowerCase()===ne||(V.label??V.value).toLowerCase()===ne),[n,ne,t]),re=Nr.useCallback(()=>{let Y=k.trim();Y&&(o?.(Y),N(""));},[k,o]),_=Nr.useCallback(Y=>{Y.key==="Enter"&&C&&(Y.preventDefault(),re());},[C,re]),de=Nr.useCallback(()=>{a||(f?A():(E.current&&clearTimeout(E.current),P(false),w(true),N(""),n&&requestAnimationFrame(()=>R.current?.focus())));},[a,f,A,n]),j;if(c){let Y=d.length;Y===0?j="":Y<=2?j=d.map(V=>Bn(t,V)).map(V=>V?V.label??V.value:"").filter(Boolean).join(", "):j=`${Y} selected`;}else j=y?y.label??y.value:"";let pe=c||n;return jsxRuntime.jsxs("div",{ref:F,className:i("relative inline-block min-w-44",p),children:[jsxRuntime.jsxs("div",{className:i(jt({state:"default",size:b}),"flex cursor-pointer items-center gap-1",a&&"pointer-events-none opacity-50"),onClick:de,role:"combobox","aria-expanded":f,"aria-haspopup":"listbox",children:[n?jsxRuntime.jsx("input",{ref:R,className:"min-w-0 flex-1 bg-transparent outline-none placeholder:text-secondary-400 dark:placeholder:text-secondary-600",value:f?k:j,placeholder:r,disabled:a,onChange:Y=>{N(Y.target.value),f||w(true);},onKeyDown:_,onClick:Y=>{Y.stopPropagation(),f||w(true);}}):jsxRuntime.jsx("span",{className:i("flex-1 truncate",!j&&"text-secondary-400 dark:text-secondary-600"),children:j||r}),y?.icon&&!n&&!c&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:y.icon}),c&&d.length>0&&jsxRuntime.jsx("span",{className:"rounded-full bg-primary-100 px-1.5 text-xs font-semibold text-primary-700 dark:bg-primary-900 dark:text-primary-300",children:d.length}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:i("text-primary-400 h-4 w-4 shrink-0 transition-transform",f&&"rotate-180")})]}),f&&jsxRuntime.jsx("div",{className:i(s==="right"?"right-0":"left-0","absolute w-full"),children:pe?jsxRuntime.jsx(Ds,{options:t,filter:k,multiple:c,selected:d,canAdd:C,animated:u,closing:h,onSelect:O,onToggle:v,onAdd:re}):jsxRuntime.jsx(Wa,{options:t,onSelect:O,animated:u,closing:h})})]})}function As(e,t){return e.key??(typeof e.label=="string"?e.label:String(t))}var Wr=40,zs=200,Yn=150,ja=120;function jn(e,t,r,n){if(!n)return {};if(r){let a=(t-1-e)*Wr;return {animation:`dropdown-item-out ${Yn}ms ease-in both ${a}ms`}}let o=e*Wr;return {animation:`dropdown-item-in ${zs}ms ease-out both ${o}ms`}}function Bs(e,t,r){if(!r)return {};if(t){let n=Math.max(e-1,0)*Wr+Yn;return {animation:`dropdown-container-out ${ja}ms ease-in both ${n}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function qt({label:e,items:t,intent:r,size:n,align:o="left",className:a,disabled:s,editable:p=false,onAddItem:b,multiple:u=false,selected:c=[],onSelectionChange:T,animated:x=true,chevron:m=true,...g}){let[d,f]=Nr.useState(false),[w,h]=Nr.useState(false),[P,k]=Nr.useState(""),N=Nr.useRef(null),F=Nr.useRef(null),R=Nr.useRef(void 0);Nr.useEffect(()=>()=>{R.current&&clearTimeout(R.current);},[]);let E=Nr.useCallback(()=>{if(!x||!d){f(false),k("");return}h(true);let pe=(Math.max(t.length,1)-1)*Wr+Yn+ja+20;R.current=setTimeout(()=>{f(false),h(false),k("");},pe);},[x,d,t.length]),A=Nr.useCallback(()=>{s||(d?E():(R.current&&clearTimeout(R.current),h(false),f(true),k(""),p&&requestAnimationFrame(()=>F.current?.focus())));},[s,d,E,p]);Nr.useEffect(()=>{if(!d)return;let j=pe=>{N.current&&!N.current.contains(pe.target)&&E();};return document.addEventListener("mousedown",j),()=>document.removeEventListener("mousedown",j)},[d,E]),Nr.useEffect(()=>{if(!d)return;let j=pe=>{pe.key==="Escape"&&E();};return document.addEventListener("keydown",j),()=>document.removeEventListener("keydown",j)},[d,E]);let H=P.toLowerCase(),y=Nr.useMemo(()=>P?t.filter(j=>(typeof j.label=="string"?j.label:j.key??"").toLowerCase().includes(H)):t,[t,H]),O=Nr.useMemo(()=>!p||!P.trim()?false:!t.some(j=>(typeof j.label=="string"?j.label:j.key??"").toLowerCase()===H),[p,H,t]),v=Nr.useCallback(()=>{let j=P.trim();j&&(b?.(j),k(""));},[P,b]),ne=Nr.useCallback(j=>{j.key==="Enter"&&O&&(j.preventDefault(),v());},[O,v]),C=Nr.useCallback(j=>{let pe=c.includes(j)?c.filter(Y=>Y!==j):[...c,j];T?.(pe);},[c,T]),re=u&&c.length>0?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e," ",jsxRuntime.jsx("span",{className:"ml-1 rounded-full bg-white/20 px-1.5 text-xs font-semibold",children:c.length})]}):e,_=y.length===0&&!O||O?1:0,de=y.length+_;return jsxRuntime.jsxs("div",{ref:N,className:"relative inline-block",children:[jsxRuntime.jsxs("button",{type:"button",onClick:A,disabled:s,className:i(Xt({intent:r,size:n}),"inline-flex items-center gap-1",a),"aria-haspopup":u?"listbox":"true","aria-expanded":d?"true":"false",...g,children:[re,m&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:i("h-3.5 w-3.5 transition-transform",d&&"rotate-180")})]}),d&&jsxRuntime.jsxs("div",{className:i("absolute z-50 mt-1 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",o==="right"?"right-0":"left-0"),style:Bs(de,w,x),role:u?"listbox":"menu","aria-multiselectable":u||void 0,children:[p&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 border-b px-2 pb-1.5 pt-1",children:jsxRuntime.jsx("input",{ref:F,type:"text",value:P,onChange:j=>k(j.target.value),onKeyDown:ne,placeholder:"Type to filter or add\u2026",className:"w-full bg-transparent text-sm text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600"})}),jsxRuntime.jsxs("div",{className:"max-h-60 overflow-y-auto",children:[y.map((j,pe)=>{let Y=As(j,pe),V=u&&c.includes(Y);return jsxRuntime.jsxs(Nr__default.default.Fragment,{children:[j.divider&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 my-1 border-t"}),jsxRuntime.jsxs("button",{type:"button",role:u?"option":"menuitem","aria-selected":u?V:void 0,disabled:j.disabled,className:i("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",j.disabled&&"pointer-events-none opacity-50"),style:jn(pe,de,w,x),onClick:()=>{u?C(Y):(j.onClick?.(),R.current&&clearTimeout(R.current),f(false),h(false),k(""));},children:[u&&jsxRuntime.jsx("span",{className:i("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",V?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:V&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"})}),jsxRuntime.jsx("span",{className:"flex-1 truncate",children:j.label})]})]},Y)}),y.length===0&&!O&&jsxRuntime.jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:jn(0,1,w,x),children:"No matches"}),O&&jsxRuntime.jsxs("button",{type:"button",className:i("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:jn(y.length,de,w,x),onClick:v,children:[jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxRuntime.jsxs("span",{className:"truncate",children:["Add \u201C",P.trim(),"\u201D"]})]})]})]})]})}function Gn({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("span",{className:i(Ir({intent:e,size:t}),r),...n})}var Os={danger:"bg-danger-500",success:"bg-success-500",warning:"bg-warning-500",info:"bg-primary-500",primary:"bg-secondary-500"};function Un({children:e,show:t=true,content:r,dot:n,intent:o="danger",size:a="md",placement:s="top-right",pulse:p=false,className:b}){let u=n??r==null,c=u?null:typeof r=="number"?r>99?"99+":String(r):r;return jsxRuntime.jsxs("div",{className:"relative inline-flex",children:[e,t&&jsxRuntime.jsxs("span",{className:i(Hr({intent:o,size:a,dot:u,placement:s}),b),role:typeof r=="number"?"status":void 0,"aria-label":typeof r=="number"?String(r):void 0,children:[p&&jsxRuntime.jsx("span",{className:i("absolute inset-0 rounded-full animate-ping opacity-60",Os[o??"danger"]),"aria-hidden":"true"}),c]})]})}function qn({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("label",{className:i(Fr({intent:e,size:t}),r),...n})}var Xs={sm:{wrapper:"h-7 text-xs",prefix:"px-2 text-xs [&_svg]:h-3 [&_svg]:w-3",input:"px-2 text-xs",icon:"px-1.5 [&_svg]:h-3 [&_svg]:w-3"},md:{wrapper:"h-9 text-sm",prefix:"px-3 text-sm [&_svg]:h-4 [&_svg]:w-4",input:"px-3 py-2 text-sm",icon:"px-2 [&_svg]:h-4 [&_svg]:w-4"},lg:{wrapper:"h-11 text-base",prefix:"px-4 text-base [&_svg]:h-5 [&_svg]:w-5",input:"px-4 py-2.5 text-base",icon:"px-2.5 [&_svg]:h-5 [&_svg]:w-5"}},js={default:"border-secondary-300 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus-within:border-danger-500 focus-within:ring-2 focus-within:ring-danger-500/20"};function Zn({state:e="default",inputSize:t="md",className:r,prefix:n,suffix:o,action:a,...s}){if(!n&&!o&&!a)return jsxRuntime.jsx("input",{className:i(jt({state:e,size:t}),r),...s});let p=Xs[t??"md"],b=js[e??"default"];return jsxRuntime.jsxs("div",{className:i("flex w-full items-center overflow-hidden rounded-md border bg-white transition-colors dark:bg-secondary-900",p.wrapper,b,r),children:[n&&jsxRuntime.jsx("span",{className:i("flex shrink-0 items-center gap-1.5 self-stretch border-r border-secondary-300 bg-secondary-50 font-medium text-secondary-600 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300",p.prefix),children:n}),jsxRuntime.jsx("input",{className:i("min-w-0 flex-1 bg-transparent text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600",p.input,n&&"pl-2"),...s}),o&&jsxRuntime.jsx("span",{className:i("pointer-events-none flex shrink-0 items-center text-secondary-400 dark:text-secondary-500",p.icon),children:o}),a&&jsxRuntime.jsx("button",{type:"button",onClick:a.onClick,"aria-label":a["aria-label"]??"Action",className:i("flex shrink-0 items-center text-secondary-500 transition-colors hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-400",p.icon),children:a.icon})]})}var Zs={sm:"px-2 py-1.5 text-xs min-h-[60px]",md:"px-3 py-2 text-sm min-h-[80px]",lg:"px-4 py-2.5 text-base min-h-[100px]"},Js={default:"border-secondary-400 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-2 focus:ring-danger-500/20"};function Qs(e){if(!e)return 0;let t="\u2E80-\u2EFF\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF",r=new RegExp(`[${t}]`),n=0,o="",a=()=>{let s=o.trim();s&&(n+=s.split(/\s+/).length),o="";};for(let s of e)r.test(s)?(a(),n+=1):o+=s;return a(),n}function Jn({state:e="default",size:t="md",showWordCount:r=false,maxWords:n,className:o,value:a,defaultValue:s,onChange:p,disabled:b,...u}){let[c,T]=Nr.useState(()=>s??""),x=a!==void 0?String(a):c,m=Nr.useCallback(f=>{a===void 0&&T(f.target.value),p?.(f);},[a,p]),g=Nr.useMemo(()=>Qs(x),[x]),d=n!=null&&g>n;return jsxRuntime.jsxs("div",{className:i("inline-flex w-full flex-col",o),children:[jsxRuntime.jsx("textarea",{value:x,onChange:m,disabled:b,className:i("w-full resize-y rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",Zs[t],Js[d?"error":e],b&&"pointer-events-none opacity-50"),...u}),(r||n!=null)&&jsxRuntime.jsx("span",{className:i("mt-1 self-end text-xs",d?"text-danger-500 dark:text-danger-400":"text-secondary-400 dark:text-secondary-500"),children:n!=null?`${g} / ${n} words`:`${g} words`})]})}var ol={sm:{trackFixed:"h-5 w-9",trackH:"h-5 min-w-9",thumb:"h-3.5 w-3.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-16px)]",pad:"pl-[6px] pr-[18px]",contentLeft:"left-[6px]",contentRight:"right-[6px]",icon:"text-[10px] [&_svg]:h-3 [&_svg]:w-3"},md:{trackFixed:"h-6 w-11",trackH:"h-6 min-w-11",thumb:"h-4.5 w-4.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-20px)]",pad:"pl-[7px] pr-[23px]",contentLeft:"left-[7px]",contentRight:"right-[7px]",icon:"text-xs [&_svg]:h-3.5 [&_svg]:w-3.5"},lg:{trackFixed:"h-7 w-14",trackH:"h-7 min-w-14",thumb:"h-5.5 w-5.5",thumbTop:"top-[3px]",thumbOff:"left-[3px]",thumbOn:"left-[calc(100%-25px)]",pad:"pl-[8px] pr-[28px]",contentLeft:"left-[8px]",contentRight:"right-[8px]",icon:"text-sm [&_svg]:h-4 [&_svg]:w-4"}},al={primary:"text-primary-100",secondary:"text-secondary-100",danger:"text-danger-100",warning:"text-warning-100",success:"text-success-100"};function Qn({checked:e,defaultChecked:t=false,onCheckedChange:r,checkedContent:n,uncheckedContent:o,intent:a,size:s,label:p,id:b,className:u,disabled:c,...T}){let x=Nr.useId(),m=b??x,g=s??"md",d=a??"primary",f=ol[g],w=n!=null||o!=null,[h,P]=Nr.useState(t),k=e??h,N=Nr.useCallback(F=>{let R=F.target.checked;e===void 0&&P(R),r?.(R);},[e,r]);return jsxRuntime.jsxs("label",{htmlFor:m,className:i("inline-flex cursor-pointer items-center gap-2",c&&"pointer-events-none opacity-50",u),children:[jsxRuntime.jsx("input",{...T,id:m,type:"checkbox",role:"switch",className:"sr-only",checked:k,disabled:c,onChange:N,"aria-checked":k}),jsxRuntime.jsxs("span",{className:i("relative inline-flex shrink-0 items-center rounded-full transition-colors duration-200",w?f.trackH:f.trackFixed,Br({intent:a,size:s,checked:k?"on":"off"})),children:[w?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("span",{className:i("pointer-events-none invisible inline-grid",f.icon),children:[jsxRuntime.jsx("span",{className:i("[grid-area:1/1] whitespace-nowrap",f.pad),children:n}),jsxRuntime.jsx("span",{className:i("[grid-area:1/1] whitespace-nowrap",f.pad),children:o})]}),jsxRuntime.jsx("span",{className:i("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",f.contentLeft,f.icon,al[d],k?"opacity-100":"opacity-0"),children:n}),jsxRuntime.jsx("span",{className:i("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",f.contentRight,f.icon,"text-primary-400 dark:text-primary-500",k?"opacity-0":"opacity-100"),children:o})]}):null,jsxRuntime.jsx("span",{className:i("pointer-events-none absolute rounded-full bg-white shadow-sm transition-[left] duration-200 ease-in-out",f.thumb,f.thumbTop,k?f.thumbOn:f.thumbOff)})]}),p&&jsxRuntime.jsx("span",{className:"select-none text-sm text-primary-700 dark:text-primary-300",children:p})]})}var dl={sm:"h-3 w-3",md:"h-3.5 w-3.5",lg:"h-4 w-4"};function eo({checked:e,defaultChecked:t=false,indeterminate:r=false,onCheckedChange:n,intent:o,size:a,label:s,id:p,className:b,disabled:u,...c}){let T=Nr.useId(),x=p??T,m=a??"md",[g,d]=Nr.useState(t),f=e??g,w=Nr.useCallback(P=>{let k=P.target.checked;e===void 0&&d(k),n?.(k);},[e,n]),h=f||r;return jsxRuntime.jsxs("label",{htmlFor:x,className:i("inline-flex cursor-pointer items-center gap-2 select-none",u&&"pointer-events-none opacity-50",b),children:[jsxRuntime.jsx("input",{...c,id:x,type:"checkbox",className:"sr-only",checked:f,disabled:u,onChange:w}),jsxRuntime.jsx("span",{className:i(Ar({intent:o,size:a,checked:h?"on":"off"})),children:jsxRuntime.jsx("svg",{viewBox:"0 0 16 16",fill:"none",className:i("text-white transition-all duration-200",dl[m],h?"scale-100 opacity-100":"scale-0 opacity-0"),children:r?jsxRuntime.jsx("line",{x1:"3",y1:"8",x2:"13",y2:"8",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}):jsxRuntime.jsx("path",{d:"M3.5 8.5L6.5 11.5L12.5 4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),s&&jsxRuntime.jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:s})]})}var Za=Nr.createContext(null);function to({name:e,value:t,defaultValue:r,onValueChange:n,intent:o,size:a,disabled:s,orientation:p="vertical",className:b,children:u}){let c=Nr.useId(),T=e??c,[x,m]=Nr.useState(r),g=t??x,d=Nr.useCallback(f=>{t===void 0&&m(f),n?.(f);},[t,n]);return jsxRuntime.jsx(Za.Provider,{value:{name:T,value:g,onChange:d,intent:o,size:a,disabled:s},children:jsxRuntime.jsx("div",{role:"radiogroup",className:i("flex gap-2",p==="vertical"?"flex-col":"flex-row flex-wrap",b),children:u})})}var gl={sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-2.5 w-2.5"};function ro({value:e,intent:t,size:r,label:n,id:o,className:a,disabled:s,...p}){let b=Nr.useId(),u=o??b,c=Nr.useContext(Za),T=t??c?.intent,x=r??c?.size,m=x??"md",g=s??c?.disabled,d=p.name??c?.name,f=c?c.value===e:void 0,w=Nr.useCallback(h=>{h.target.checked&&c?.onChange(e);},[c,e]);return jsxRuntime.jsxs("label",{htmlFor:u,className:i("inline-flex cursor-pointer items-center gap-2 select-none",g&&"pointer-events-none opacity-50",a),children:[jsxRuntime.jsx("input",{...p,id:u,type:"radio",name:d,value:e,className:"sr-only",checked:f,disabled:g,onChange:w}),jsxRuntime.jsx("span",{className:i(zr({intent:T,size:x,checked:f?"on":"off"})),children:jsxRuntime.jsx("span",{className:i("rounded-full bg-white transition-all duration-200",gl[m],f?"scale-100 opacity-100":"scale-0 opacity-0")})}),n&&jsxRuntime.jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:n})]})}var bl={Button:Yt,Dropdown:On,DropdownButton:qt,Badge:Gn,Indicator:Un,Label:qn,Input:Zn,TextBox:Jn,Switch:Qn,Checkbox:eo,Radio:ro,RadioGroup:to},no=bl;var br=classVarianceAuthority.cva("rounded-lg transition-shadow",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",elevated:"bg-white shadow-md hover:shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25 dark:hover:shadow-primary-200/30",outlined:"border-2 border-primary-300 bg-transparent dark:border-primary-600",ghost:"bg-primary-50 dark:bg-primary-800/50"},size:{sm:"p-3",md:"p-5",lg:"p-7"}},defaultVariants:{intent:"default",size:"md"}}),jr=classVarianceAuthority.cva("rounded-md",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",inset:"bg-primary-50 dark:bg-primary-800/50",elevated:"bg-white shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25"},size:{sm:"p-3",md:"p-4",lg:"p-6"}},defaultVariants:{intent:"default",size:"md"}});function oo({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("div",{className:i(br({intent:e,size:t}),r),...n})}function xl({className:e,...t}){return jsxRuntime.jsx("div",{className:i("mb-4 space-y-1",e),...t})}function yl({className:e,...t}){return jsxRuntime.jsx("h3",{className:i("text-primary-900 dark:text-primary-100 text-lg font-semibold",e),...t})}function vl({className:e,...t}){return jsxRuntime.jsx("p",{className:i("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function wl({className:e,...t}){return jsxRuntime.jsx("div",{className:i("text-primary-700 dark:text-primary-300 text-sm",e),...t})}function kl({className:e,...t}){return jsxRuntime.jsx("div",{className:i("border-primary-100 dark:border-primary-800 mt-4 flex items-center gap-2 border-t pt-4",e),...t})}function Nl({intent:e,media:t,mediaPosition:r="left",stackOnMobile:n=false,className:o,children:a,...s}){let p=jsxRuntime.jsx("div",{className:i("relative shrink-0 overflow-hidden",n?"h-48 w-full rounded-t-lg sm:h-auto sm:w-auto":"",!n&&(r==="left"?"rounded-l-lg":"rounded-r-lg")),style:n?void 0:{width:t.width??"10rem"},children:t.src?jsxRuntime.jsx("img",{src:t.src,alt:t.alt??"",className:"h-full w-full object-cover",draggable:false}):t.icon?jsxRuntime.jsx("div",{className:"bg-primary-100 text-primary-500 dark:bg-primary-800 dark:text-primary-400 flex h-full w-full items-center justify-center",children:t.icon}):null});return jsxRuntime.jsxs("div",{className:i(br({intent:e}),"flex overflow-hidden p-0",n?"flex-col sm:flex-row":"",!n&&r==="right"&&"flex-row-reverse",!n&&r==="left"&&"flex-row",o),...s,children:[p,jsxRuntime.jsx("div",{className:"flex min-w-0 flex-1 flex-col p-4",children:a})]})}function ao({src:e,alt:t="",aspectRatio:r="16/9",className:n,children:o,...a}){return jsxRuntime.jsxs("div",{className:i("group overflow-hidden rounded-xl border transition-shadow duration-300","border-primary-200 dark:border-primary-700 dark:bg-primary-900 bg-white","dark:hover:shadow-primary-900/60 hover:shadow-lg",n),...a,children:[jsxRuntime.jsxs("div",{className:"relative overflow-hidden",style:{aspectRatio:r},children:[jsxRuntime.jsx("img",{src:e,alt:t,className:"h-full w-full object-cover transition-transform duration-500 ease-out group-hover:scale-110",draggable:false}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-100","aria-hidden":true,children:jsxRuntime.jsx("div",{className:"animate-light-sweep absolute inset-0"})})]}),o]})}function Tl({className:e,...t}){return jsxRuntime.jsx("div",{className:i("space-y-2 p-4",e),...t})}function Rl({className:e,...t}){return jsxRuntime.jsx("h3",{className:i("text-primary-900 dark:text-primary-100 text-base font-semibold",e),...t})}function Ml({className:e,...t}){return jsxRuntime.jsx("p",{className:i("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function Sl({className:e,...t}){return jsxRuntime.jsx("div",{className:i("border-primary-100 dark:border-primary-800 flex items-center gap-2 border-t px-4 py-3",e),...t})}function io({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("div",{className:i(jr({intent:e,size:t}),r),...n})}function Ll({className:e,...t}){return jsxRuntime.jsx("div",{className:i("border-primary-200 text-primary-900 dark:border-primary-700 dark:text-primary-100 mb-3 flex items-center gap-1.5 border-b pb-3 text-sm font-semibold [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",e),...t})}function El({className:e,...t}){return jsxRuntime.jsx("div",{className:i("text-primary-700 dark:text-primary-300 text-sm",e),...t})}var Pl={Card:oo,ImageCard:ao,Panel:io},lo=Pl;var Yr=classVarianceAuthority.cva("w-full text-left text-sm",{variants:{intent:{default:"",striped:"[&_tbody_tr:nth-child(even)]:bg-primary-50 dark:[&_tbody_tr:nth-child(even)]:bg-primary-800/30",bordered:"[&_th]:border [&_td]:border [&_th]:border-primary-200 [&_td]:border-primary-200 dark:[&_th]:border-primary-700 dark:[&_td]:border-primary-700"},density:{compact:"[&_th]:px-2 [&_th]:py-1 [&_td]:px-2 [&_td]:py-1",default:"",relaxed:"[&_th]:px-6 [&_th]:py-5 [&_td]:px-6 [&_td]:py-5"}},defaultVariants:{intent:"default",density:"default"}}),Gr=classVarianceAuthority.cva("text-sm text-primary-700 dark:text-primary-300",{variants:{intent:{default:"space-y-1",bordered:"divide-y divide-primary-200 rounded-lg border border-primary-200 dark:divide-primary-700 dark:border-primary-700 [&>li]:px-4 [&>li]:py-2",hover:"[&>li]:rounded-md [&>li]:px-3 [&>li]:py-2 [&>li]:transition-colors [&>li:hover]:bg-primary-50 dark:[&>li:hover]:bg-primary-800/50"}},defaultVariants:{intent:"default"}}),Ur=classVarianceAuthority.cva("group flex w-full items-center gap-1.5 text-left [&_svg]:shrink-0",{variants:{size:{sm:"py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",md:"py-1.5 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"py-2 text-base [&_svg]:h-4 [&_svg]:w-4"}},defaultVariants:{size:"md"}}),qr=classVarianceAuthority.cva("flex cursor-pointer items-center gap-1 rounded transition-colors [&_svg]:shrink-0",{variants:{size:{sm:"py-0.5 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"py-1 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"py-1.5 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{size:"md"}}),yr=classVarianceAuthority.cva("overflow-x-auto rounded-lg font-mono [background:var(--color-syntax-bg)] [&_pre]:m-0 [&_pre]:p-4 [&_code]:bg-transparent",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}});function kr({intent:e,density:t,className:r,...n}){return jsxRuntime.jsx("div",{className:"w-full overflow-auto",children:jsxRuntime.jsx("table",{className:i(Yr({intent:e,density:t}),r),...n})})}function mo({className:e,...t}){return jsxRuntime.jsx("thead",{className:i("bg-primary-50 text-primary-600 dark:bg-primary-800/50 dark:text-primary-400",e),...t})}function po({className:e,...t}){return jsxRuntime.jsx("tbody",{className:i("[&_tr:last-child]:border-0",e),...t})}function wr({className:e,...t}){return jsxRuntime.jsx("tr",{className:i("border-primary-200 hover:bg-primary-50/50 dark:border-primary-700 dark:hover:bg-primary-800/30 border-b transition-colors",e),...t})}function It({className:e,...t}){return jsxRuntime.jsx("th",{className:i("px-4 py-3 text-left text-xs font-semibold tracking-wider uppercase",e),...t})}function Ht({className:e,...t}){return jsxRuntime.jsx("td",{className:i("text-primary-700 dark:text-primary-300 px-4 py-3",e),...t})}function uo({icon:e,text:t="No data",className:r}){return jsxRuntime.jsxs("div",{className:i("flex flex-col items-center justify-center gap-3 py-16 text-primary-400 dark:text-primary-500",r),children:[e??jsxRuntime.jsx(lucideReact.Inbox,{className:"h-12 w-12 stroke-[1.2]"}),jsxRuntime.jsx("span",{className:"text-sm",children:t})]})}var ei={sm:"hidden sm:table-cell",md:"hidden md:table-cell",lg:"hidden lg:table-cell"};function Kl({columns:e,data:t,sort:r,onSortChange:n,defaultSort:o=null,rowKey:a,rowActions:s,intent:p,density:b,className:u,empty:c}){let[T,x]=Nr.useState(o),m=r??T,g=Nr.useCallback(f=>{let w=m?.column===f?m.direction==="asc"?{column:f,direction:"desc"}:null:{column:f,direction:"asc"};n?n(w):x(w);},[m,n]),d=Nr.useMemo(()=>{if(!m)return t;let f=e.find(P=>P.key===m.column);if(!f)return t;let w=f.compareFn??((P,k)=>{let N=f.cell(P),F=f.cell(k);return N==null&&F==null?0:N==null?-1:F==null?1:typeof N=="number"&&typeof F=="number"?N-F:String(N).localeCompare(String(F))}),h=[...t].sort(w);return m.direction==="desc"?h.reverse():h},[t,m,e]);return jsxRuntime.jsxs(kr,{intent:p,density:b,className:u,children:[jsxRuntime.jsx(mo,{children:jsxRuntime.jsxs(wr,{children:[e.map(f=>{let w=f.sortable!==false,h=m?.column===f.key;return jsxRuntime.jsx(It,{className:i(w&&"cursor-pointer select-none",f.headerClassName,f.hideBelow&&ei[f.hideBelow]),onClick:w?()=>g(f.key):void 0,"aria-sort":h?m.direction==="asc"?"ascending":"descending":void 0,children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[f.header,w&&jsxRuntime.jsx(ti,{active:h,direction:h?m.direction:null})]})},f.key)}),s&&jsxRuntime.jsx(It,{className:"w-20 text-right",children:"Actions"})]})}),jsxRuntime.jsx(po,{children:d.length===0?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:e.length+(s?1:0),children:jsxRuntime.jsx(uo,{...c})})}):d.map((f,w)=>jsxRuntime.jsxs(wr,{children:[e.map(h=>jsxRuntime.jsx(Ht,{className:i(h.cellClassName,h.hideBelow&&ei[h.hideBelow]),children:h.cell(f)},h.key)),s&&jsxRuntime.jsx(Ht,{className:"text-right",children:jsxRuntime.jsx("span",{className:"inline-flex items-center gap-1",children:s(f)})})]},a?a(f,w):w))})]})}function Wl({value:e,onCommit:t,onCancel:r}){let[n,o]=Nr.useState(e),a=Nr.useRef(null);Nr.useEffect(()=>{a.current?.focus(),a.current?.select();},[]);let s=()=>t(n);return jsxRuntime.jsxs("span",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("input",{ref:a,type:"text",value:n,onChange:p=>o(p.target.value),onKeyDown:p=>{p.key==="Enter"&&s(),p.key==="Escape"&&r();},"aria-label":"Edit cell",className:"min-w-0 flex-1 rounded border border-primary-400 bg-white px-1.5 py-0.5 text-sm outline-none focus:ring-1 focus:ring-primary-400 dark:border-primary-600 dark:bg-secondary-800"}),jsxRuntime.jsx("button",{type:"button",onClick:s,className:"text-success-600 hover:text-success-700 dark:text-success-400","aria-label":"Confirm",children:jsxRuntime.jsx(lucideReact.Check,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{type:"button",onClick:r,className:"text-danger-500 hover:text-danger-600 dark:text-danger-400","aria-label":"Cancel",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})}function Xl({columns:e,data:t,rowKey:r,sort:n,onSortChange:o,defaultSort:a=null,selectionMode:s="none",selected:p,onSelectionChange:b,editable:u=false,onCellEdit:c,toolbar:T=false,onAdd:x,onDelete:m,rowActions:g,intent:d,density:f,className:w,empty:h}){let[P,k]=Nr.useState(a),N=n??P,F=Nr.useCallback(V=>{let G=N?.column===V?N.direction==="asc"?{column:V,direction:"desc"}:null:{column:V,direction:"asc"};o?o(G):k(G);},[N,o]),R=Nr.useMemo(()=>{if(!N)return t;let V=e.find(W=>W.key===N.column);if(!V)return t;let G=V.compareFn??((W,l)=>{let D=V.cell(W),X=V.cell(l);return D==null&&X==null?0:D==null?-1:X==null?1:typeof D=="number"&&typeof X=="number"?D-X:String(D).localeCompare(String(X))}),me=[...t].sort(G);return N.direction==="desc"?me.reverse():me},[t,N,e]),[E,A]=Nr.useState([]),H=p??E,y=b??A,O=Nr.useMemo(()=>R.map((V,G)=>r(V,G)),[R,r]),v=s==="multiple"&&O.length>0&&O.every(V=>H.includes(V)),ne=s==="multiple"&&H.length>0&&!v,C=Nr.useCallback(V=>{s==="single"?y(H.includes(V)?[]:[V]):s==="multiple"&&y(H.includes(V)?H.filter(G=>G!==V):[...H,V]);},[s,H,y]),re=Nr.useCallback(()=>{y(v?[]:O);},[v,O,y]),[_,de]=Nr.useState(null),j=Nr.useCallback((V,G,me)=>{u&&me!==false&&de({rowKey:V,colKey:G});},[u]),pe=Nr.useCallback((V,G,me)=>{c?.(V,G,me),de(null);},[c]);return jsxRuntime.jsxs("div",{className:"space-y-2",children:[T&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[x&&jsxRuntime.jsxs("button",{type:"button",onClick:x,className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-secondary-700 transition-colors hover:bg-secondary-50 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:hover:bg-secondary-700",children:[jsxRuntime.jsx(lucideReact.Plus,{className:"h-3.5 w-3.5"})," Add"]}),m&&jsxRuntime.jsxs("button",{type:"button",onClick:()=>m(H),disabled:H.length===0,className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-danger-600 transition-colors hover:bg-danger-50 disabled:opacity-40 disabled:pointer-events-none dark:border-secondary-600 dark:bg-secondary-800 dark:text-danger-400 dark:hover:bg-danger-900/20",children:[jsxRuntime.jsx(lucideReact.Trash2,{className:"h-3.5 w-3.5"})," Delete",H.length>0&&` (${H.length})`]}),u&&H.length===1&&jsxRuntime.jsxs("button",{type:"button",onClick:()=>{let V=e.find(G=>G.editable!==false);V&&de({rowKey:H[0],colKey:V.key});},className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-secondary-700 transition-colors hover:bg-secondary-50 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:hover:bg-secondary-700",children:[jsxRuntime.jsx(lucideReact.Pencil,{className:"h-3.5 w-3.5"})," Edit"]}),H.length>0&&jsxRuntime.jsxs("span",{className:"ml-auto text-sm text-secondary-500 dark:text-secondary-400",children:[H.length," row",H.length>1?"s":""," selected"]})]}),jsxRuntime.jsxs(kr,{intent:d,density:f,className:w,children:[jsxRuntime.jsx(mo,{children:jsxRuntime.jsxs(wr,{children:[s==="multiple"&&jsxRuntime.jsx(It,{className:"w-10",children:jsxRuntime.jsx("input",{type:"checkbox",checked:v,ref:V=>{V&&(V.indeterminate=ne);},onChange:re,className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select all"})}),s==="single"&&jsxRuntime.jsx(It,{className:"w-10"}),e.map(V=>{let G=V.sortable!==false,me=N?.column===V.key;return jsxRuntime.jsx(It,{className:i(G&&"cursor-pointer select-none",V.headerClassName),onClick:G?()=>F(V.key):void 0,"aria-sort":me?N.direction==="asc"?"ascending":"descending":void 0,children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[V.header,G&&jsxRuntime.jsx(ti,{active:me,direction:me?N.direction:null})]})},V.key)}),g&&jsxRuntime.jsx(It,{className:"w-20 text-right",children:"Actions"})]})}),jsxRuntime.jsx(po,{children:R.length===0?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:e.length+(s!=="none"?1:0)+(g?1:0),children:jsxRuntime.jsx(uo,{...h})})}):R.map((V,G)=>{let me=r(V,G),W=H.includes(me);return jsxRuntime.jsxs(wr,{className:i(W&&"bg-primary-50/60 dark:bg-primary-900/20"),onClick:()=>{s!=="none"&&C(me);},children:[s==="multiple"&&jsxRuntime.jsx(Ht,{className:"w-10",children:jsxRuntime.jsx("input",{type:"checkbox",checked:W,onChange:()=>C(me),onClick:l=>l.stopPropagation(),className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select row"})}),s==="single"&&jsxRuntime.jsx(Ht,{className:"w-10",children:jsxRuntime.jsx("input",{type:"radio",checked:W,onChange:()=>C(me),onClick:l=>l.stopPropagation(),className:"h-4 w-4 cursor-pointer accent-primary-600","aria-label":"Select row"})}),e.map(l=>{let D=_?.rowKey===me&&_?.colKey===l.key,X=l.editValue?.(V)??(()=>{let $=l.cell(V);return typeof $=="string"||typeof $=="number"?String($):""})();return jsxRuntime.jsx(Ht,{className:i(l.cellClassName,u&&l.editable!==false&&"cursor-text"),onDoubleClick:$=>{$.stopPropagation(),j(me,l.key,l.editable);},children:D?jsxRuntime.jsx(Wl,{value:X,onCommit:$=>pe(me,l.key,$),onCancel:()=>de(null)}):l.cell(V)},l.key)}),g&&jsxRuntime.jsx(Ht,{className:"text-right",onClick:l=>l.stopPropagation(),children:jsxRuntime.jsx("span",{className:"inline-flex items-center gap-1",children:g(V)})})]},me)})})]})]})}function ti({active:e,direction:t}){let r="h-3.5 w-3.5 shrink-0";return !e||!t?jsxRuntime.jsx(lucideReact.ArrowUpDown,{className:i(r,"opacity-30")}):t==="asc"?jsxRuntime.jsx(lucideReact.ArrowUp,{className:i(r,"opacity-70")}):jsxRuntime.jsx(lucideReact.ArrowDown,{className:i(r,"opacity-70")})}var ri=Nr.createContext({size:"md"});function fo({intent:e,size:t="md",className:r,...n}){return jsxRuntime.jsx(ri.Provider,{value:{size:t},children:jsxRuntime.jsx("ul",{className:i(Gr({intent:e}),r),...n})})}function Gl({actions:e,className:t,children:r,...n}){let{size:o}=Nr.useContext(ri);return jsxRuntime.jsxs("li",{className:i(Ur({size:o}),t),...n,children:[jsxRuntime.jsx("span",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:r}),e&&jsxRuntime.jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100 [@media(hover:none)]:opacity-100 [@media(hover:none)]:[&>button]:min-h-(--row-action-touch-min) [@media(hover:none)]:[&>button]:min-w-(--row-action-touch-min) [@media(hover:none)]:[&>button]:flex [@media(hover:none)]:[&>button]:items-center [@media(hover:none)]:[&>button]:justify-center",children:e})]})}var ai=Nr.createContext({showLines:true,expandedKeys:null,onToggleKey:()=>{},size:"md"});function go({showLines:e=true,showRoot:t=true,expandedKeys:r,defaultExpandedKeys:n="all",onExpandedKeysChange:o,size:a="md",className:s,children:p,...b}){let [u,c]=Nr.useState(()=>n),x=Nr.useCallback(g=>{if(r){let d=new Set(r);d.has(g)?d.delete(g):d.add(g),o?.(d);}else c(d=>{if(d==="all")return new Set(["__ALL_MINUS__",g]);let f=new Set(d);return f.has(g)?f.delete(g):f.add(g),f});},[r,o]),m=r??(u==="all"?null:u);return jsxRuntime.jsx(ai.Provider,{value:{showLines:e,expandedKeys:m,onToggleKey:x,size:a},children:t?jsxRuntime.jsx("ul",{className:i("text-sm",s),role:"tree",...b,children:p}):jsxRuntime.jsx("ul",{className:i("text-sm",s),role:"tree",...b,children:jsxRuntime.jsx(ec,{children:p})})})}function ec({children:e}){let t=ii(e);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:t.map(r=>Nr__default.default.isValidElement(r)&&r.props.children?r.props.children:null)})}function ii(e){let t=[];return Nr__default.default.Children.forEach(e,r=>{Nr__default.default.isValidElement(r)&&r.type===Nr__default.default.Fragment?t.push(...ii(r.props.children)):t.push(r);}),t}function tc({nodeKey:e,label:t,icon:r,actions:n,defaultExpanded:o=false,expanded:a,onToggle:s,children:p,className:b}){let{showLines:u,expandedKeys:c,onToggleKey:T,size:x}=Nr.useContext(ai),[m,g]=Nr.useState(o),d=Nr__default.default.Children.count(p)>0,f=e??(typeof t=="string"?t:""),w;a!=null?w=a:c!=null&&f?c.has("__ALL_MINUS__")?w=!c.has(f):w=c.has(f):w=m;let h=()=>{let P=!w;s?s(P):c!=null&&f?T(f):g(P);};return jsxRuntime.jsxs("li",{className:i("select-none",b),role:"treeitem","aria-expanded":d?w:void 0,children:[jsxRuntime.jsxs("div",{className:i("group hover:bg-primary-50 dark:hover:bg-primary-800/50 rounded-md px-1",qr({size:x}),d?"cursor-pointer":"cursor-default"),onClick:d?h:void 0,children:[d?jsxRuntime.jsx(lucideReact.ChevronRight,{className:i("text-primary-400 h-4 w-4 shrink-0 transition-transform duration-200",w&&"rotate-90")}):jsxRuntime.jsx("span",{className:"w-4 shrink-0"}),r&&jsxRuntime.jsx("span",{className:"shrink-0",children:r}),jsxRuntime.jsx("span",{className:"text-primary-700 dark:text-primary-300 min-w-0 flex-1 truncate",children:t}),n&&jsxRuntime.jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100 [@media(hover:none)]:opacity-100 [@media(hover:none)]:[&>button]:min-h-(--row-action-touch-min) [@media(hover:none)]:[&>button]:min-w-(--row-action-touch-min) [@media(hover:none)]:[&>button]:flex [@media(hover:none)]:[&>button]:items-center [@media(hover:none)]:[&>button]:justify-center",onClick:P=>P.stopPropagation(),children:n})]}),d&&jsxRuntime.jsx("div",{className:i("grid transition-[grid-template-rows] duration-200 ease-out",w?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:jsxRuntime.jsx("div",{className:"overflow-hidden",children:jsxRuntime.jsx("ul",{className:i("ml-4 pl-2",u&&"border-primary-200 dark:border-primary-700 border-l"),role:"group",children:p})})})]})}function ac({avatar:e,sender:t}){return e?typeof e=="string"?/^(?:https?|data|blob):/.test(e)?jsxRuntime.jsx("img",{src:e,alt:t,className:"h-8 w-8 shrink-0 rounded-full object-cover",draggable:false}):jsxRuntime.jsx("div",{className:"bg-primary-200 text-primary-600 dark:bg-primary-700 dark:text-primary-300 flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-lg select-none",children:e}):jsxRuntime.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full",children:e}):jsxRuntime.jsx("div",{className:"bg-primary-200 text-primary-600 dark:bg-primary-700 dark:text-primary-300 flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-sm font-semibold select-none",children:t.charAt(0).toUpperCase()})}function ic({msg:e,alignRight:t}){return jsxRuntime.jsxs("div",{className:i("flex gap-2.5",t?"flex-row-reverse":"flex-row"),children:[jsxRuntime.jsx(ac,{avatar:e.avatar,sender:e.sender}),jsxRuntime.jsxs("div",{className:i("flex max-w-[75%] flex-col gap-0.5",t?"items-end":"items-start"),children:[jsxRuntime.jsx("span",{className:"text-primary-500 dark:text-primary-400 text-xs",children:e.sender}),jsxRuntime.jsx("div",{className:i("rounded-xl px-3 py-2 text-sm leading-relaxed",t?"rounded-tr-sm bg-primary-500 text-white dark:bg-primary-600":"bg-primary-100 text-primary-800 dark:bg-primary-800 dark:text-primary-200 rounded-tl-sm"),children:e.content}),e.time&&jsxRuntime.jsx("span",{className:"text-primary-400 dark:text-primary-500 text-[10px]",children:e.time})]})]})}function bo({messages:e,mode:t="split",autoScroll:r=true,className:n,...o}){let a=Nr.useRef(null);return Nr.useEffect(()=>{r&&a.current?.scrollIntoView({behavior:"smooth"});},[e,r]),jsxRuntime.jsxs("div",{className:i("flex flex-col gap-4 overflow-y-auto rounded-lg border p-4","border-primary-200 dark:border-primary-700 dark:bg-primary-900 bg-white",n),...o,children:[e.map(s=>{let p=t==="split"&&!!s.self;return jsxRuntime.jsx(ic,{msg:s,alignRight:p},s.id)}),jsxRuntime.jsx("div",{ref:a})]})}var cc={name:"onyx-css-vars",type:"dark",settings:[{settings:{foreground:"var(--color-syntax-plain)",background:"var(--color-syntax-bg)"}},{scope:["comment","punctuation.definition.comment"],settings:{foreground:"var(--color-syntax-comment)",fontStyle:"italic"}},{scope:["keyword","keyword.control","keyword.operator.new","keyword.operator.expression","storage.type","storage.modifier"],settings:{foreground:"var(--color-syntax-keyword)"}},{scope:["string","string.quoted","string.template"],settings:{foreground:"var(--color-syntax-string)"}},{scope:["entity.name.function","support.function","meta.function-call"],settings:{foreground:"var(--color-syntax-function)"}},{scope:["variable","variable.other","variable.parameter","meta.definition.variable"],settings:{foreground:"var(--color-syntax-variable)"}},{scope:["constant.numeric","constant.language"],settings:{foreground:"var(--color-syntax-number)"}},{scope:["keyword.operator","keyword.operator.assignment","keyword.operator.comparison","keyword.operator.arithmetic"],settings:{foreground:"var(--color-syntax-operator)"}},{scope:["entity.name.tag","punctuation.definition.tag","support.class.component"],settings:{foreground:"var(--color-syntax-tag)"}},{scope:["entity.other.attribute-name","meta.tag.attributes"],settings:{foreground:"var(--color-syntax-attr)"}},{scope:["punctuation","meta.brace","punctuation.definition.block","punctuation.separator","punctuation.terminator"],settings:{foreground:"var(--color-syntax-punctuation)"}},{scope:["entity.name.type","support.type","support.class","entity.other.inherited-class"],settings:{foreground:"var(--color-syntax-type)"}}]},dc={typescript:()=>import('@shikijs/langs/typescript'),javascript:()=>import('@shikijs/langs/javascript'),tsx:()=>import('@shikijs/langs/tsx'),jsx:()=>import('@shikijs/langs/jsx'),html:()=>import('@shikijs/langs/html'),css:()=>import('@shikijs/langs/css'),json:()=>import('@shikijs/langs/json'),markdown:()=>import('@shikijs/langs/markdown'),python:()=>import('@shikijs/langs/python'),rust:()=>import('@shikijs/langs/rust'),go:()=>import('@shikijs/langs/go'),java:()=>import('@shikijs/langs/java'),c:()=>import('@shikijs/langs/c'),cpp:()=>import('@shikijs/langs/cpp'),csharp:()=>import('@shikijs/langs/csharp'),vue:()=>import('@shikijs/langs/vue'),xml:()=>import('@shikijs/langs/xml'),yaml:()=>import('@shikijs/langs/yaml'),sql:()=>import('@shikijs/langs/sql'),bash:()=>import('@shikijs/langs/bash'),shell:()=>import('@shikijs/langs/shell')},vo=null,si=new Set;function mc(){return vo||(vo=Promise.all([import('shiki/core'),import('shiki/engine/javascript')]).then(([{createHighlighterCore:e},{createJavaScriptRegexEngine:t}])=>e({themes:[cc],langs:[],engine:t()}))),vo}async function pc(e,t,r){let n=await mc();if(t&&!si.has(t)){let a=dc[t];if(a)try{let s=await a();await n.loadLanguage(s.default??s),si.add(t);}catch{t="text";}else t="text";}let o=n.codeToHtml(e,{lang:t||"text",theme:"onyx-css-vars"});if(o=o.replace(/(<pre [^>]*style=")/,"$1line-height:1.7;tab-size:2;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;"),r){let a=0;o=o.replace(/<span class="line">/g,()=>(a++,`<span class="line"><span class="line-number" data-line="${a}"></span>`));}return o}function wo({code:e,language:t="text",lineNumbers:r=false,editable:n=false,onCodeChange:o,size:a,className:s,...p}){let[b,u]=Nr.useState(""),c=Nr.useRef(null),T=Nr.useRef(null),x=Nr.useRef(null);Nr.useEffect(()=>{let k=false;return pc(e,t,n?false:r).then(N=>{k||u(N);}),()=>{k=true;}},[e,t,r,n]);let m=Nr.useCallback(()=>{let k=T.current,N=x.current?.querySelector("pre"),F=c.current?.querySelector("[data-gutter]");k&&N&&(N.scrollTop=k.scrollTop,N.scrollLeft=k.scrollLeft),k&&F&&(F.scrollTop=k.scrollTop);},[]),g=Nr.useCallback(k=>{o?.(k.target.value);},[o]),d=Nr.useCallback(k=>{if(k.key==="Tab"){k.preventDefault();let N=k.currentTarget,F=N.selectionStart,R=N.selectionEnd,E=N.value.substring(0,F)+" "+N.value.substring(R);o?.(E),requestAnimationFrame(()=>{N.selectionStart=N.selectionEnd=F+2;});}},[o]),f=r&&"[&_.line-number]:inline-block [&_.line-number]:w-8 [&_.line-number]:mr-4 [&_.line-number]:text-right [&_.line-number]:text-secondary-400 [&_.line-number]:select-none [&_.line-number]:before:content-[attr(data-line)]",w="ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",h=1.7,P=e.split(`
2
- `).length;return n?jsxRuntime.jsxs("div",{ref:c,className:i(yr({size:a}),"flex border border-primary-200 dark:border-primary-700",s),style:{background:"var(--color-syntax-bg)"},...p,children:[r&&jsxRuntime.jsx("div",{"data-gutter":true,"aria-hidden":true,className:"shrink-0 select-none overflow-hidden py-4 pl-3 pr-1 text-right text-secondary-400",style:{fontFamily:w,lineHeight:h,width:"3rem"},children:Array.from({length:P},(k,N)=>jsxRuntime.jsx("div",{children:N+1},N))}),jsxRuntime.jsxs("div",{className:"relative min-w-0 flex-1",children:[jsxRuntime.jsx("textarea",{ref:T,value:e,onChange:g,onScroll:m,onKeyDown:d,spellCheck:false,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",className:"relative z-2 m-0 block h-full w-full resize-none overflow-auto whitespace-pre border-none bg-transparent p-4 text-transparent caret-primary-600 outline-none dark:caret-primary-400",style:{fontFamily:w,lineHeight:h,tabSize:2,minHeight:"6rem"}}),jsxRuntime.jsx("div",{ref:x,"aria-hidden":true,className:"pointer-events-none absolute inset-0 z-1 overflow-hidden [&_pre]:m-0 [&_pre]:h-full [&_pre]:overflow-hidden [&_pre]:p-4 [&_code]:bg-transparent",dangerouslySetInnerHTML:b?{__html:b}:void 0})]})]}):jsxRuntime.jsx("div",{ref:c,className:i(yr({size:a}),"border border-primary-200 dark:border-primary-700",f,s),style:{background:"var(--color-syntax-bg)"},...p,children:jsxRuntime.jsx("div",{ref:x,className:"[&_pre]:m-0 [&_pre]:p-4",dangerouslySetInnerHTML:b?{__html:b}:void 0,children:b?void 0:jsxRuntime.jsx("pre",{className:"m-0 p-4",style:{background:"var(--color-syntax-bg)"},children:jsxRuntime.jsx("code",{children:e})})})})}var uc={Table:kr,List:fo,Tree:go,Chat:bo,CodeBlock:wo},ko=uc;var zt="flex w-full items-center gap-2 rounded-md px-3 py-1.5 text-sm transition-colors cursor-pointer",di="bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100 font-medium",er="text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200",tr="flex items-center justify-center rounded-md p-2 transition-colors cursor-pointer text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200";function wc({to:e,className:t,style:r,children:n}){let o=typeof t=="function"?t({isActive:false}):t;return jsxRuntime.jsx("a",{href:e,className:o,style:r,children:n})}var No=["expanded","icons","mini"];function kc(e){let t=No.indexOf(e);return No[(t+1)%No.length]}function mi(e){let t=new Set;for(let r of e)if(r.children&&r.children.length>0){t.add(r.key??r.label);for(let n of mi(r.children))t.add(n);}return t}function pi({item:e,basePath:t,depth:r,onItemClick:n,LinkComponent:o,showLines:a,expandedKeys:s,onToggle:p}){let b=e.key??e.label,u=e.children&&e.children.length>0,[c,T]=Nr.useState(e.defaultOpen??true),x=s?s.has(b):c,m=Nr.useCallback(()=>{s?p(b):T(d=>!d);},[s,p,b]),g=r>0?`${r*1.25}rem`:void 0;if(u)return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("button",{type:"button",onClick:m,className:i(zt,er,"justify-between"),style:{paddingLeft:g},children:[jsxRuntime.jsxs("span",{className:"flex items-center gap-2",children:[e.icon,e.label]}),jsxRuntime.jsx(lucideReact.ChevronRight,{className:i("h-3.5 w-3.5 transition-transform",x&&"rotate-90")})]}),x&&jsxRuntime.jsx("div",{className:i("flex flex-col gap-0.5 pt-0.5",a?"ml-2.5 border-l border-primary-200 dark:border-primary-700":"ml-2"),children:e.children.map(d=>jsxRuntime.jsx(pi,{item:d,basePath:t,depth:r+1,onItemClick:n,LinkComponent:o,showLines:a,expandedKeys:s,onToggle:p},d.key??d.path??d.label))})]});if(e.path!=null){let d=t+e.path;return n?jsxRuntime.jsxs("button",{type:"button",onClick:()=>n(e,d),className:i(zt,er),style:{paddingLeft:g},children:[e.icon,e.label]}):jsxRuntime.jsxs(o,{to:d,className:({isActive:f})=>i(zt,f?di:er),style:{paddingLeft:g},children:[e.icon,e.label]})}return jsxRuntime.jsxs("span",{className:i(zt,er,"cursor-default"),style:{paddingLeft:g},children:[e.icon,e.label]})}function Nc({item:e,basePath:t,onItemClick:r,LinkComponent:n}){let[o,a]=Nr.useState(false),s=Nr.useRef(null),p=Nr.useRef(void 0),[b,u]=Nr.useState({top:0,left:0}),c=()=>{clearTimeout(p.current),a(true);},T=()=>{p.current=setTimeout(()=>a(false),200);};Nr.useLayoutEffect(()=>{if(o&&s.current){let m=s.current.getBoundingClientRect();u({top:m.top,left:m.right+4});}},[o]);let x=e.icon||jsxRuntime.jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});return jsxRuntime.jsxs("div",{onMouseEnter:c,onMouseLeave:T,children:[jsxRuntime.jsx("button",{ref:s,type:"button",className:i(tr,"w-full"),title:e.label,onClick:()=>a(m=>!m),children:x}),o&&reactDom.createPortal(jsxRuntime.jsxs("div",{className:"fixed z-50 min-w-44 rounded-md border border-primary-200 bg-white p-1 shadow-lg dark:border-primary-700 dark:bg-primary-900",style:{top:b.top,left:b.left},onMouseEnter:c,onMouseLeave:T,children:[jsxRuntime.jsx("div",{className:"px-2.5 py-1.5 text-xs font-semibold uppercase text-primary-500 dark:text-primary-400",children:e.label}),jsxRuntime.jsx("div",{className:"flex flex-col gap-0.5",children:e.children?.map(m=>{let g=m.key??m.path??m.label;if(m.path!=null){let d=t+m.path;return r?jsxRuntime.jsxs("button",{type:"button",onClick:()=>{r(m,d),a(false);},className:i(zt,er),children:[m.icon,m.label]},g):jsxRuntime.jsxs(n,{to:d,className:({isActive:f})=>i(zt,f?di:er),children:[m.icon,m.label]},g)}return jsxRuntime.jsxs("span",{className:i(zt,"cursor-default text-primary-400"),children:[m.icon,m.label]},g)})})]}),document.body)]})}function Cc({item:e,basePath:t,onItemClick:r,LinkComponent:n}){let o=e.icon||jsxRuntime.jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});if(e.path!=null){let a=t+e.path;return r?jsxRuntime.jsx("button",{type:"button",onClick:()=>r(e,a),className:i(tr,"w-full"),title:e.label,children:o}):jsxRuntime.jsx(n,{to:a,className:({isActive:s})=>i(tr,"w-full",s&&"bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100"),children:jsxRuntime.jsx("span",{title:e.label,children:o})})}return jsxRuntime.jsx("span",{className:i(tr,"w-full cursor-default"),title:e.label,children:o})}function To({items:e,title:t,basePath:r="/",onItemClick:n,LinkComponent:o=wc,collapsible:a,collapseMode:s,defaultCollapseMode:p="expanded",onCollapseModeChange:b,showLines:u=true,expandedKeys:c,defaultExpandedKeys:T="all",onExpandedKeysChange:x,className:m,responsive:g=true,mobileBreakpoint:d=768,mobileTopOffset:f=48,...w}){let[h,P]=Nr.useState(p),k=s??h,N=Nr__default.default.useMemo(()=>mi(e),[e]),[F,R]=Nr.useState(()=>T==="all"?new Set(N):new Set(T)),E=c??null,A=E??F,H=Nr.useCallback(W=>{let l=new Set(A);l.has(W)?l.delete(W):l.add(W),R(l),x?.(l);},[A,x]),y=Nr.useCallback(()=>{let W=kc(k);P(W),b?.(W);},[k,b]),[O,v]=Nr.useState(()=>g&&typeof window<"u"&&window.innerWidth<d),[ne,C]=Nr.useState(false);Nr.useEffect(()=>{if(!g||typeof window>"u"||!window.matchMedia)return;let W=window.matchMedia(`(max-width: ${d-1}px)`),l=D=>{v(D.matches),D.matches||C(false);};return W.addEventListener("change",l),()=>W.removeEventListener("change",l)},[g,d]);let re=Nr.useCallback(W=>{W.target.closest("a")&&C(false);},[]),_=Nr.useRef(null),de=Nr.useRef({startX:0,startY:0,dragging:false}),pe=Nr.useCallback(W=>{let l=W.touches[0];de.current={startX:l.clientX,startY:l.clientY,dragging:true};},[]),Y=Nr.useCallback(W=>{if(!de.current.dragging||!_.current)return;let l=W.touches[0],D=l.clientX-de.current.startX,X=l.clientY-de.current.startY;D>=0||Math.abs(X)>Math.abs(D)||(_.current.style.transform=`translateX(${Math.max(D,-224)}px)`,_.current.style.transition="none");},[]),V=Nr.useCallback(W=>{if(!de.current.dragging||!_.current)return;de.current.dragging=false;let l=W.changedTouches[0],D=l.clientX-de.current.startX,X=l.clientY-de.current.startY;_.current.style.transition="",_.current.style.transform="",D<-60&&Math.abs(D)>Math.abs(X)&&C(false);},[]),G=Nr.useMemo(()=>!O||!n?n:(W,l)=>{C(false),n(W,l);},[O,n]),me=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a&&!O&&jsxRuntime.jsx("div",{className:i("flex shrink-0 mb-1",k==="expanded"?"justify-end":"justify-center"),children:jsxRuntime.jsx("button",{type:"button",onClick:y,className:tr,"aria-label":k==="mini"?"Expand sidebar":"Collapse sidebar",title:k==="mini"?"Expand sidebar":"Collapse sidebar",children:k==="mini"?jsxRuntime.jsx(lucideReact.Menu,{className:"h-5 w-5"}):jsxRuntime.jsx(lucideReact.ChevronsLeft,{className:"h-4 w-4"})})}),(O||k==="expanded")&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t&&jsxRuntime.jsx("h2",{className:"text-primary-500 dark:text-primary-400 mb-3 text-sm font-semibold uppercase",children:t}),e.map(W=>jsxRuntime.jsx(pi,{item:W,basePath:r,depth:0,onItemClick:G,LinkComponent:o,showLines:u,expandedKeys:E,onToggle:H},W.key??W.path??W.label))]}),!O&&k==="icons"&&e.map(W=>{let l=W.key??W.path??W.label;return W.children&&W.children.length>0?jsxRuntime.jsx(Nc,{item:W,basePath:r,onItemClick:G,LinkComponent:o},l):jsxRuntime.jsx(Cc,{item:W,basePath:r,onItemClick:G,LinkComponent:o},l)})]});return g&&O?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[ne&&reactDom.createPortal(jsxRuntime.jsx("div",{className:"fixed inset-0 z-40 bg-black/50",style:{top:f},onClick:()=>C(false)}),document.body),reactDom.createPortal(jsxRuntime.jsxs("aside",{ref:_,className:i("fixed bottom-0 left-0 z-50 flex flex-col w-56 border-r border-primary-200 dark:border-primary-700 bg-white dark:bg-primary-900 shadow-xl transition-transform duration-200",ne?"translate-x-0":"-translate-x-full"),style:{top:f},onClick:re,onTouchStart:pe,onTouchMove:Y,onTouchEnd:V,children:[jsxRuntime.jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-primary-200 px-3 py-2 dark:border-primary-700",children:[jsxRuntime.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-primary-500 dark:text-primary-400",children:"Navigation"}),jsxRuntime.jsx("button",{type:"button",onClick:W=>{W.stopPropagation(),C(false);},className:i(tr,"h-7 w-7 p-1"),"aria-label":"Close navigation",children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})]}),jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto overscroll-y-contain p-3",children:jsxRuntime.jsx("nav",{className:"flex flex-col gap-0.5",children:me})})]}),document.body),!ne&&reactDom.createPortal(jsxRuntime.jsx("button",{type:"button",className:"fixed left-0 z-50 flex h-14 w-5 items-center justify-center rounded-r-xl bg-primary-800/80 text-white shadow-md backdrop-blur-sm transition-colors hover:bg-primary-700/90 dark:bg-primary-200/80 dark:text-primary-900 dark:hover:bg-primary-300/90",style:{top:`calc(50% + ${f/2}px)`,transform:"translateY(-50%)"},onClick:()=>C(true),"aria-label":"Open navigation",children:jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-3.5 w-3.5"})}),document.body)]}):jsxRuntime.jsx("nav",{className:i("flex flex-col gap-0.5",k==="mini"&&"items-center",m),...w,children:me})}function Mc({href:e,className:t,onClick:r,children:n}){return jsxRuntime.jsx("a",{href:e,className:t,onClick:r,children:n})}function Ro({brand:e,onBrandClick:t,navItems:r=[],actions:n=[],linkComponent:o=Mc,height:a="h-12",mobileMenu:s=false,navMenuIcon:p,actionsMenuIcon:b,className:u,children:c}){let T=s&&r.length>0,x=s&&n.length>0,m="md:hidden rounded-md px-1.5 py-1.5 text-primary-500 dark:text-primary-400 hover:text-primary-700 dark:hover:text-primary-200 [&_svg]:h-5 [&_svg]:w-5",g=h=>h?"text-primary-900 font-medium dark:text-primary-100":"text-primary-500 hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-200 transition-colors",d="rounded-md p-1.5 text-primary-500 hover:bg-primary-100 hover:text-primary-700 dark:text-primary-400 dark:hover:bg-primary-800 dark:hover:text-primary-200 transition-colors [&_svg]:h-5 [&_svg]:w-5",f=r.map((h,P)=>({key:typeof h.label=="string"?h.label:String(P),label:h.active?jsxRuntime.jsx("span",{className:"font-semibold text-primary-900 dark:text-primary-100",children:h.label}):h.label,onClick:()=>{h.onClick?h.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):h.href&&(window.location.href=h.href);}})),w=n.map((h,P)=>({key:h.key??String(P),label:jsxRuntime.jsxs("span",{className:"flex items-center gap-2 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",children:[h.icon,jsxRuntime.jsx("span",{children:h.ariaLabel})]}),onClick:()=>{h.onClick?h.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):h.href&&(h.external?window.open(h.href,"_blank","noopener,noreferrer"):window.location.href=h.href);}}));return jsxRuntime.jsxs("header",{className:i("flex shrink-0 items-center justify-between border-b px-5","border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",a,u),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2 md:gap-6",children:[e&&jsxRuntime.jsx("div",{className:i("text-lg font-bold text-primary-800 dark:text-primary-100",t&&"cursor-pointer"),onClick:t,role:t?"button":void 0,tabIndex:t?0:void 0,onKeyDown:t?h=>{(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),t(h));}:void 0,children:e}),T&&jsxRuntime.jsx(qt,{intent:"ghost",size:"sm",className:m,label:p??jsxRuntime.jsx(lucideReact.PanelLeft,{className:"h-5 w-5"}),items:f,align:"left",chevron:false,"aria-label":"Open navigation"}),r.length>0&&jsxRuntime.jsx("nav",{className:i("flex items-center gap-4 text-sm",s?"hidden md:flex":"flex"),children:r.map((h,P)=>{let k=typeof h.label=="string"?h.label:P,N=g(h.active);return h.href?jsxRuntime.jsx(o,{href:h.href,className:N,onClick:h.onClick,children:h.label},k):jsxRuntime.jsx("button",{type:"button",className:i(N,"cursor-pointer"),onClick:h.onClick,children:h.label},k)})})]}),c&&jsxRuntime.jsx("div",{className:"flex items-center",children:c}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[n.length>0&&jsxRuntime.jsx("div",{className:i("flex items-center gap-1",s?"hidden md:flex":"flex"),children:n.map((h,P)=>h.href?jsxRuntime.jsx("a",{href:h.href,target:h.external?"_blank":void 0,rel:h.external?"noopener noreferrer":void 0,className:d,"aria-label":h.ariaLabel,onClick:h.onClick,children:h.icon},h.key??P):jsxRuntime.jsx("button",{type:"button",className:d,"aria-label":h.ariaLabel,onClick:h.onClick,children:h.icon},h.key??P))}),x&&jsxRuntime.jsx(qt,{intent:"ghost",size:"sm",className:m,label:b??jsxRuntime.jsx(lucideReact.MoreHorizontal,{className:"h-5 w-5"}),items:w,align:"right",chevron:false,"aria-label":"Open menu"})]})]})}var tn=classVarianceAuthority.cva("inline-flex items-center gap-1 underline-offset-2 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/20 [&_svg]:shrink-0",{variants:{intent:{default:"text-primary-600 hover:text-primary-800 active:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:active:text-primary-100",secondary:"text-secondary-500 hover:text-secondary-700 active:text-secondary-800 dark:text-secondary-400 dark:hover:text-secondary-200 dark:active:text-secondary-100",muted:"text-primary-400 hover:text-primary-600 dark:text-primary-500 dark:hover:text-primary-300"},size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},underline:{always:"underline",hover:"hover:underline",none:"no-underline"}},defaultVariants:{intent:"default",size:"md",underline:"none"}});function Lc(e,t){return !!(t==="_blank"||e&&/^https?:\/\//.test(e))}var Ec=e=>jsxRuntime.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,...e,children:[jsxRuntime.jsx("path",{d:"M15 3h6v6"}),jsxRuntime.jsx("path",{d:"M10 14 21 3"}),jsxRuntime.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]});function Mo({intent:e,size:t,underline:r,external:n,className:o,children:a,href:s,target:p,rel:b,...u}){let c=n??Lc(s,p);return jsxRuntime.jsxs("a",{href:s,target:c&&!p?"_blank":p,rel:c&&!b?"noopener noreferrer":b,className:i(tn({intent:e,size:t,underline:r}),o),...u,children:[a,c&&jsxRuntime.jsx(Ec,{})]})}var Pc={SideNav:To,Header:Ro,NavLink:Mo},So=Pc;var nn=classVarianceAuthority.cva("flex w-full items-center justify-between font-medium transition-all [&_svg]:shrink-0",{variants:{size:{sm:"py-2 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"py-3 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"py-4 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{size:"md"}}),on=classVarianceAuthority.cva("",{variants:{size:{sm:"pb-2 text-xs",md:"pb-3 text-sm",lg:"pb-4 text-base"}},defaultVariants:{size:"md"}}),an=classVarianceAuthority.cva("divide-y",{variants:{intent:{default:"divide-primary-300 dark:divide-primary-700",bordered:"divide-primary-300 rounded-lg border border-primary-300 bg-white px-3 shadow-sm dark:divide-primary-700 dark:border-primary-700 dark:bg-primary-800/50",ghost:"divide-transparent"}},defaultVariants:{intent:"default"}}),sn=classVarianceAuthority.cva("flex",{variants:{intent:{line:"border-b border-primary-200 dark:border-primary-700",pills:"gap-1 rounded-lg bg-primary-100 p-1 dark:bg-primary-800",underline:"gap-4"}},defaultVariants:{intent:"line"}}),ln=classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 whitespace-nowrap px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",{variants:{intent:{line:"text-primary-500 hover:text-primary-700 data-[active=true]:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:data-[active=true]:text-primary-100",pills:"rounded-md text-primary-600 hover:text-primary-900 data-[active=true]:bg-white data-[active=true]:text-primary-900 data-[active=true]:shadow-sm dark:text-primary-400 dark:hover:text-primary-100 dark:data-[active=true]:bg-primary-700 dark:data-[active=true]:text-primary-100",underline:"text-primary-500 hover:text-primary-700 data-[active=true]:text-primary-900 dark:text-primary-400 dark:data-[active=true]:text-primary-100"}},defaultVariants:{intent:"line"}});var cn=Nr.createContext(null),Lo=Nr.createContext(null);function Eo({type:e="single",defaultValue:t=[],value:r,onValueChange:n,intent:o,size:a,className:s,children:p,...b}){let[u,c]=Nr.useState(t),T=r??u,x=Nr.useCallback(m=>{let g=d=>d.includes(m)?d.filter(f=>f!==m):e==="single"?[m]:[...d,m];n?n(g(T)):c(g);},[e,T,n]);return jsxRuntime.jsx(cn.Provider,{value:{expandedItems:T,toggleItem:x,size:a},children:jsxRuntime.jsx("div",{className:i(an({intent:o}),s),...b,children:p})})}function Hc({value:e,className:t,children:r,...n}){let a=Nr.useContext(cn)?.expandedItems.includes(e)??false;return jsxRuntime.jsx(Lo.Provider,{value:{value:e,isExpanded:a},children:jsxRuntime.jsx("div",{className:i("",t),...n,children:r})})}function Fc({className:e,children:t,...r}){let n=Nr.useContext(cn),o=Nr.useContext(Lo);return jsxRuntime.jsxs("button",{className:i("text-primary-800 hover:text-primary-600 dark:text-primary-100 dark:hover:text-primary-300 cursor-pointer gap-2 font-medium transition-colors",nn({size:n?.size}),e),onClick:()=>o&&n?.toggleItem(o.value),"aria-expanded":o?.isExpanded?"true":"false",...r,children:[jsxRuntime.jsx("span",{className:"flex items-center gap-1.5 [&_svg]:shrink-0",children:t}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:i("shrink-0 transition-transform duration-200",o?.isExpanded&&"rotate-180")})]})}function Ac({className:e,children:t,...r}){let n=Nr.useContext(cn),o=Nr.useContext(Lo);return jsxRuntime.jsx("div",{className:i("grid transition-[grid-template-rows] duration-200 ease-out",o?.isExpanded?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:jsxRuntime.jsx("div",{className:"overflow-hidden",children:jsxRuntime.jsx("div",{className:i("text-primary-500 dark:text-primary-400",on({size:n?.size}),e),...r,children:t})})})}var Mr=Nr.createContext(null),yi=Nr.createContext(false);function Po({defaultValue:e="",value:t,onValueChange:r,intent:n,children:o,className:a}){let[s,p]=Nr.useState(e),b=t??s,u=Nr.useRef(new Map),c=Nr.useCallback(x=>{r?r(x):p(x);},[r]),T=Nr.useCallback((x,m)=>{m?u.current.set(x,m):u.current.delete(x);},[]);return jsxRuntime.jsx(Mr.Provider,{value:{activeValue:b,setActiveValue:c,intent:n,registerTrigger:T},children:jsxRuntime.jsx("div",{className:a,children:o})})}function $c({className:e,scrollable:t,...r}){let n=Nr.useContext(Mr),o=Nr.useRef(null),[a,s]=Nr.useState(null),p=Nr.useCallback(()=>{if(!n||!o.current)return;let T=o.current.querySelectorAll('[role="tab"][data-active="true"]')[0];if(!T){s(null);return}let x=o.current.getBoundingClientRect(),m=T.getBoundingClientRect();s({left:m.left-x.left,width:m.width});},[n]);Nr.useLayoutEffect(p,[n?.activeValue,p]),Nr.useEffect(()=>{let c=new ResizeObserver(p);return o.current&&c.observe(o.current),()=>c.disconnect()},[p]);let b=n?.intent??"line",u=a&&(b==="line"||b==="underline");return jsxRuntime.jsxs("div",{ref:o,className:i(sn({intent:n?.intent}),"relative",t&&"overflow-x-auto",e),role:"tablist",...r,children:[r.children,u&&jsxRuntime.jsx("span",{className:"absolute bottom-0 h-0.5 rounded-full bg-primary-600 dark:bg-primary-400 transition-all duration-300 ease-in-out",style:{left:a.left,width:a.width},"aria-hidden":true})]})}function Oc({value:e,className:t,children:r,...n}){let o=Nr.useContext(Mr),a=o?.activeValue===e,s=Nr.useCallback(p=>o?.registerTrigger(e,p),[o,e]);return jsxRuntime.jsx("button",{ref:s,className:i(ln({intent:o?.intent}),t),role:"tab","data-active":a,"aria-selected":a,onClick:()=>o?.setActiveValue(e),...n,children:r})}function Kc({className:e,children:t,...r}){let n=Nr.useContext(Mr);if(!n)return null;let o=Nr__default.default.Children.toArray(t).filter(s=>Nr__default.default.isValidElement(s)),a=Math.max(0,o.findIndex(s=>s.props.value===n.activeValue));return jsxRuntime.jsx("div",{className:i("overflow-hidden",e),...r,children:jsxRuntime.jsx(yi.Provider,{value:true,children:jsxRuntime.jsx("div",{className:"flex transition-transform duration-300 ease-in-out",style:{transform:`translateX(-${a*100}%)`},children:o.map((s,p)=>jsxRuntime.jsx("div",{className:"w-full shrink-0","aria-hidden":p!==a,children:s},s.props.value??p))})})})}function Wc({value:e,className:t,children:r,...n}){let o=Nr.useContext(Mr);return Nr.useContext(yi)?jsxRuntime.jsx("div",{className:i("pt-4",t),role:"tabpanel",...n,children:r}):o?.activeValue!==e?null:jsxRuntime.jsx("div",{className:i("pt-4",t),role:"tabpanel",...n,children:r})}var jc={Accordion:Eo,Tabs:Po},Vo=jc;var Sr=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"}}),mn=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 wt=[];function Zc(e){wt.push(e);}function Jc(e){let t=wt.indexOf(e);t!==-1&&wt.splice(t,1);}function Io(e){return wt.length>0&&wt[wt.length-1]===e}function Qc(e){let t=wt.indexOf(e);return t!==-1?t:wt.length}var Ho=Nr.createContext(null);function Lr({open:e,onOpenChange:t,modal:r=true,closeOnOutsideClick:n=false,children:o}){let a=Nr.useId();return Nr.useEffect(()=>{if(e)return Zc(a),()=>Jc(a)},[e,a]),Nr.useEffect(()=>{if(!e||!r)return;let s=p=>{p.key==="Escape"&&Io(a)&&t(false);};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e,r,t,a]),Nr.useEffect(()=>{if(!e||!r)return;let s=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=s;}},[e,r]),e?jsxRuntime.jsx(Ho.Provider,{value:{id:a,onOpenChange:t,modal:r,closeOnOutsideClick:n},children:reactDom.createPortal(o,document.body)}):null}function Fo({size:e,position:t="center",className:r,children:n,...o}){let a=Nr.useContext(Ho);if(!a)return null;let p=200+Qc(a.id)*10,b=()=>{a.closeOnOutsideClick&&Io(a.id)&&a.onOpenChange(false);},u=t==="bottom";return a.modal?jsxRuntime.jsx("div",{className:i("animate-fade-in fixed inset-0 bg-black/50",u?"flex items-end justify-center":"flex items-center justify-center p-4"),style:{zIndex:p},onClick:b,children:jsxRuntime.jsx("div",{className:i(Sr({size:e}),u?"animate-slide-in-bottom w-full rounded-b-none rounded-t-(--dialog-sheet-radius) max-h-[85vh] overflow-y-auto":"animate-scale-in",r),role:"dialog","aria-modal":"true",onClick:c=>c.stopPropagation(),...o,children:n})}):jsxRuntime.jsx("div",{className:i("fixed inset-0 flex items-center justify-center p-4",a.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:p},onClick:a.closeOnOutsideClick&&Io(a.id)?()=>a.onOpenChange(false):void 0,children:jsxRuntime.jsx("div",{className:i(Sr({size:e}),"animate-scale-in pointer-events-auto shadow-2xl",r),role:"dialog",onClick:a.closeOnOutsideClick?c=>c.stopPropagation():void 0,...o,children:n})})}function Ao({className:e,...t}){return jsxRuntime.jsx("div",{className:i("mb-4 space-y-1",e),...t})}function zo({className:e,...t}){return jsxRuntime.jsx("h2",{className:i("text-primary-900 dark:text-primary-100 flex items-center gap-1.5 text-lg font-semibold [&_svg]:h-5 [&_svg]:w-5 [&_svg]:shrink-0",e),...t})}function Bo({className:e,...t}){return jsxRuntime.jsx("p",{className:i("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function _o({className:e,...t}){return jsxRuntime.jsx("div",{className:i("mt-6 flex justify-end gap-2",e),...t})}function ed({className:e,...t}){let r=Nr.useContext(Ho);return jsxRuntime.jsx("button",{className:i("text-primary-400 hover:text-primary-600 dark:hover:text-primary-200 absolute top-4 right-4 rounded-md p-1 transition-colors",e),onClick:()=>r?.onOpenChange(false),"aria-label":"Close",...t,children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})}var td={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"};function $o({content:e,position:t="top",intent:r,delay:n=200,maxWidth:o,children:a,className:s}){let[p,b]=Nr.useState(false),[u,c]=Nr.useState();return jsxRuntime.jsxs("span",{className:"relative inline-flex",onMouseEnter:()=>{let m=setTimeout(()=>b(true),n);c(m);},onMouseLeave:()=>{clearTimeout(u),b(false);},children:[a,p&&jsxRuntime.jsx("span",{className:i(mn({intent:r}),td[t],"pointer-events-none",o?"whitespace-normal":"whitespace-nowrap",s),style:o!==void 0?{maxWidth:o}:void 0,role:"tooltip",children:e})]})}var od={Dialog:Lr,Tooltip:$o},Oo=od;var pn=classVarianceAuthority.cva("relative w-full overflow-hidden rounded-full bg-primary-200 dark:bg-primary-700",{variants:{size:{xs:"h-1",sm:"h-2",md:"h-3",lg:"h-4"},intent:{primary:"[&_.progress-fill]:bg-primary-500",success:"[&_.progress-fill]:bg-success-500",warning:"[&_.progress-fill]:bg-warning-500",danger:"[&_.progress-fill]:bg-danger-500"},edge:{none:"rounded-full",top:"fixed top-0 left-0 right-0 z-50 rounded-none",bottom:"fixed bottom-0 left-0 right-0 z-50 rounded-none"}},defaultVariants:{size:"md",intent:"primary",edge:"none"}}),rr=classVarianceAuthority.cva("text-primary-500 dark:text-primary-400",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),Er=classVarianceAuthority.cva("pointer-events-auto flex items-start gap-3 rounded-lg border p-4 shadow-lg transition-all",{variants:{intent:{success:"border-success-200 bg-success-50 text-success-800 dark:border-success-800 dark:bg-success-900/80 dark:text-success-200",warning:"border-warning-200 bg-warning-50 text-warning-800 dark:border-warning-800 dark:bg-warning-900/80 dark:text-warning-200",error:"border-danger-200 bg-danger-50 text-danger-800 dark:border-danger-800 dark:bg-danger-900/80 dark:text-danger-200",info:"border-primary-200 bg-primary-50 text-primary-800 dark:border-primary-800 dark:bg-primary-900/80 dark:text-primary-200"}},defaultVariants:{intent:"info"}});function Yo({intent:e,className:t,children:r,...n}){return jsxRuntime.jsx("div",{className:i(Er({intent:e}),t),role:"alert",...n,children:r})}function fd({className:e,...t}){return jsxRuntime.jsx("h5",{className:i("flex items-center gap-1.5 font-semibold [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",e),...t})}function gd({className:e,...t}){return jsxRuntime.jsx("span",{className:i("mt-0.5 shrink-0 [&_svg]:h-5 [&_svg]:w-5",e),...t})}function hd({className:e,...t}){return jsxRuntime.jsx("div",{className:i("flex-1 min-w-0 space-y-1",e),...t})}function bd({className:e,...t}){return jsxRuntime.jsx("p",{className:i("text-sm opacity-90",e),...t})}var xd=0,Bt=[],un=new Map,Wo=new Set;function yd(){return Bt}function Xo(){Wo.forEach(e=>e());}function Go(e){let t=un.get(e);t&&(clearTimeout(t),un.delete(e)),Bt=Bt.map(r=>r.id===e?{...r,exiting:true}:r),Xo(),setTimeout(()=>{Bt=Bt.filter(r=>r.id!==e),Xo();},200);}function vd(e){let t=`alert-${++xd}`;Bt=[...Bt,{...e,id:t}],Xo();let r=e.duration??5e3;if(r>0){let n=setTimeout(()=>{un.delete(t),Go(t);},r);un.set(t,n);}return t}var jo=16;function wd(e){jo=e;}var kd={"top-right":"right-4 items-end","top-left":"left-4 items-start","bottom-right":"bottom-4 right-4 items-end","bottom-left":"bottom-4 left-4 items-start","top-center":"left-1/2 -translate-x-1/2 items-center","bottom-center":"bottom-4 left-1/2 -translate-x-1/2 items-center"},Nd={"top-right":"animate-slide-in-right","top-left":"animate-slide-in-left","bottom-right":"animate-slide-in-right","bottom-left":"animate-slide-in-left","top-center":"animate-slide-in-top","bottom-center":"animate-slide-in-bottom"},Cd={success:lucideReact.CircleCheck,warning:lucideReact.TriangleAlert,error:lucideReact.CircleX,info:lucideReact.Info};function Td({alert:e,onClose:t}){let r=e.intent??"info",n=Cd[r],o=e.position??"top-right";return jsxRuntime.jsxs("div",{className:i(Er({intent:r}),Nd[o],e.exiting&&"opacity-0 transition-opacity duration-200","w-80 max-w-[calc(100vw-2rem)]"),role:"alert",children:[jsxRuntime.jsx(n,{className:"mt-0.5 h-5 w-5 shrink-0"}),jsxRuntime.jsxs("div",{className:"flex-1",children:[e.title&&jsxRuntime.jsx("p",{className:"font-semibold",children:e.title}),jsxRuntime.jsx("p",{className:i(e.title&&"text-sm opacity-90"),children:e.message})]}),jsxRuntime.jsx("button",{onClick:t,"aria-label":"Close notification",className:"shrink-0 cursor-pointer opacity-50 transition-opacity hover:opacity-100",children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})]})}var Rd=e=>e.startsWith("top");function Md(){let e=Nr.useSyncExternalStore(n=>(Wo.add(n),()=>Wo.delete(n)),yd),t=Nr.useRef(jo);if(Nr.useEffect(()=>{t.current=jo;},[]),e.length===0)return null;let r=e.reduce((n,o)=>{let a=o.position??"top-right";return (n[a]??(n[a]=[])).push(o),n},{});return reactDom.createPortal(jsxRuntime.jsx(jsxRuntime.Fragment,{children:Object.entries(r).map(([n,o])=>jsxRuntime.jsx("div",{style:Rd(n)?{top:`${t.current}px`}:void 0,className:i("pointer-events-none fixed z-100 flex flex-col gap-2",kd[n]),children:o.map(a=>jsxRuntime.jsx(Td,{alert:a,onClose:()=>Go(a.id)},a.id))},n))}),document.body)}var Ni=false;function Sd(){if(Ni)return;Ni=true;let e=document.createElement("div");e.id="alert-toast-root",document.body.appendChild(e),client.createRoot(e).render(jsxRuntime.jsx(Md,{}));}function Ld(){return Nr.useEffect(()=>{Sd();},[]),{addAlert:vd,removeAlert:Go}}function qo({value:e=0,size:t,intent:r,edge:n,showLabel:o=false,indeterminate:a=false,animated:s=false,duration:p=500,className:b,...u}){let c=Math.max(0,Math.min(100,e)),[T,x]=Nr.useState(0),m=Nr.useRef(0);Nr.useEffect(()=>{if(!a)return m.current=requestAnimationFrame(()=>{x(c);}),()=>{m.current&&cancelAnimationFrame(m.current);}},[c,a]);let g=o&&!a&&t!=="xs"&&t!=="sm",d=jsxRuntime.jsx("div",{role:"progressbar","aria-valuenow":a?void 0:c,"aria-valuemin":0,"aria-valuemax":100,className:i(pn({size:t,intent:r,edge:n}),b),...u,children:a?jsxRuntime.jsx("div",{className:"progress-fill absolute top-0 h-full rounded-full animate-progress-indeterminate"}):jsxRuntime.jsx("div",{className:i("progress-fill h-full rounded-full transition-[width] ease-out",s&&"animate-progress-shine"),style:{width:`${T}%`,transitionDuration:`${p}ms`},children:g&&jsxRuntime.jsxs("span",{className:"flex h-full items-center justify-end pr-2 text-[10px] font-semibold text-white",children:[Math.round(c),"%"]})})});return n==="top"||n==="bottom"?reactDom.createPortal(d,document.body):d}function fn({size:e}){let t=e==="sm"?20:e==="lg"?40:28;return jsxRuntime.jsx("svg",{className:"animate-spin-rotate",width:t,height:t,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("circle",{className:"animate-spin-dash stroke-current",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round",strokeDasharray:"90 150",strokeDashoffset:"0"})})}function Jo({spinning:e=true,tip:t,size:r,className:n,children:o,...a}){return o?jsxRuntime.jsxs("div",{className:i("relative w-fit",n),...a,children:[jsxRuntime.jsx("div",{className:i("transition-all duration-200",e&&"pointer-events-none select-none blur-[1px]"),children:o}),e&&jsxRuntime.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 rounded-[inherit] bg-primary-50/60 dark:bg-primary-900/60",children:[jsxRuntime.jsx(fn,{size:r}),t&&jsxRuntime.jsx("span",{className:i(rr({size:r}),"select-none"),children:t})]})]}):e?jsxRuntime.jsxs("div",{className:i("inline-flex flex-col items-center gap-2",n),...a,children:[jsxRuntime.jsx(fn,{size:r}),t&&jsxRuntime.jsx("span",{className:i(rr({size:r}),"select-none"),children:t})]}):null}var zd=0,Vr=[],Zo=new Set;function Bd(){return Vr}function Li(){Zo.forEach(e=>e());}function _d(e,t){let r=++zd;return Vr=[...Vr,{id:r,target:e,tip:t}],Li(),()=>$d(r)}function $d(e){Vr=Vr.filter(t=>t.id!==e),Li();}function Od(){return _d}var Mi=false;function Kd(){if(Mi||typeof document>"u")return;Mi=true;let e=document.createElement("div");e.id="jac-spin-portal",document.body.appendChild(e),import('react-dom/client').then(({createRoot:t})=>{t(e).render(jsxRuntime.jsx(Yd,{}));});}var gn=new Map;function Wd(e){let t=gn.get(e);if(t){t.count++;return}let r=getComputedStyle(e),n=e.style.position;r.position==="static"&&(e.style.position="relative"),gn.set(e,{count:1,original:n});}function Xd(e){let t=gn.get(e);t&&(t.count--,t.count<=0&&(e.style.position=t.original,gn.delete(e)));}function jd({entry:e}){return Nr.useEffect(()=>{let t=e.target;if(!Si(t))return Wd(t),()=>Xd(t)},[e.target]),Si(e.target)?reactDom.createPortal(jsxRuntime.jsxs("div",{className:"fixed inset-0 z-50 flex flex-col items-center justify-center gap-3 bg-primary-900/40 dark:bg-primary-900/60",children:[jsxRuntime.jsx(fn,{size:"lg"}),e.tip&&jsxRuntime.jsx("span",{className:"select-none text-sm text-primary-100",children:e.tip})]}),document.body):reactDom.createPortal(jsxRuntime.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 rounded-[inherit] bg-primary-50/60 dark:bg-primary-900/60",children:[jsxRuntime.jsx(fn,{size:"md"}),e.tip&&jsxRuntime.jsx("span",{className:i(rr({size:"md"}),"select-none"),children:e.tip})]}),e.target)}function Yd(){let e=Nr.useSyncExternalStore(t=>(Zo.add(t),()=>Zo.delete(t)),()=>Bd());return e.length===0?null:jsxRuntime.jsx(jsxRuntime.Fragment,{children:e.map(t=>jsxRuntime.jsx(jd,{entry:t},t.id))})}function Si(e){return e===document.documentElement||e===document.body}typeof document<"u"&&Kd();var Ud={Alert:Yo,ProgressBar:qo,Spin:Jo},Qo=Ud;var Di="#1c1914",Ii="#130f0b",mm="#2e261e",ta="#504638",nr="#6b5d4d",bn=`url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")`,pm=[{key:"like",icon:jsxRuntime.jsx(lucideReact.Heart,{className:"h-5 w-5"}),activeIcon:jsxRuntime.jsx(lucideReact.Heart,{className:"h-5 w-5",fill:"currentColor"}),label:"Like",toggle:true},{key:"dislike",icon:jsxRuntime.jsx(lucideReact.ThumbsDown,{className:"h-5 w-5"}),label:"Dislike"},{key:"bookmark",icon:jsxRuntime.jsx(lucideReact.Bookmark,{className:"h-5 w-5"}),activeIcon:jsxRuntime.jsx(lucideReact.Bookmark,{className:"h-5 w-5",fill:"currentColor"}),label:"Bookmark",toggle:true},{key:"share",icon:jsxRuntime.jsx(lucideReact.Share2,{className:"h-5 w-5"}),label:"Share"},{key:"download",icon:jsxRuntime.jsx(lucideReact.Download,{className:"h-5 w-5"}),label:"Download"}];function ra({photos:e,layout:t="strip",actions:r=pm,onAction:n,className:o,showGrain:a=true,sheetTitle:s,sheetLabel:p}){let[b,u]=Nr.useState(null),[c,T]=Nr.useState(new Set),x=Nr.useCallback(f=>u(f),[]),m=Nr.useCallback(()=>u(null),[]),g=Nr.useCallback((f,w)=>{if(r.find(P=>P.key===f)?.toggle){let P=`${w}-${f}`;T(k=>{let N=new Set(k);return N.has(P)?N.delete(P):N.add(P),N});}n?.(f,e[w],w);},[r,n,e]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(t==="strip"?um:t==="sheet"?fm:gm,{photos:e,onPhotoClick:x,showGrain:a,className:o,sheetTitle:s,sheetLabel:p}),b!==null&&reactDom.createPortal(jsxRuntime.jsx(hm,{photos:e,currentIndex:b,onIndexChange:u,onClose:m,actions:r,activeActions:c,onAction:g,showGrain:a}),document.body)]})}function Vi({count:e=30}){return jsxRuntime.jsx("div",{className:"flex shrink-0 items-center justify-between px-3",style:{height:22,background:Di},children:Array.from({length:e}).map((t,r)=>jsxRuntime.jsx("div",{className:"rounded-xs",style:{width:12,height:8,background:mm}},r))})}function um({photos:e,onPhotoClick:t,showGrain:r,className:n}){let o=Nr.useRef(null);return jsxRuntime.jsxs("div",{className:i("select-none rounded-lg overflow-hidden",n),style:{background:Ii},children:[jsxRuntime.jsx(Vi,{count:Math.max(30,e.length*6)}),jsxRuntime.jsx("div",{ref:o,className:"flex gap-1 overflow-x-auto scroll-smooth px-1 py-1",style:{background:Di,scrollSnapType:"x mandatory"},children:e.map((a,s)=>jsxRuntime.jsxs("div",{className:"group relative shrink-0 cursor-pointer",style:{scrollSnapAlign:"center"},onClick:()=>t(s),children:[jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xs border",style:{borderColor:ta,width:280,height:187},children:[jsxRuntime.jsx("img",{src:a.src,alt:a.alt??a.title??"",className:"h-full w-full object-cover transition-transform duration-700 ease-out group-hover:scale-110",draggable:false}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 mix-blend-multiply opacity-0 transition-opacity duration-300 group-hover:opacity-100",style:{background:"rgba(255, 175, 60, 0.06)"}}),r&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-[0.06]",style:{backgroundImage:bn,animation:"film-grain-shift 0.6s steps(5) infinite"}}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-30 transition-opacity duration-300 group-hover:opacity-50",style:{background:"radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.5) 100%)"}})]}),jsxRuntime.jsxs("div",{className:"mt-0.5 text-center font-mono text-[9px] tracking-widest",style:{color:nr},children:[String(s+1).padStart(2,"0"),s%2===0?"":"A"]})]},s))}),jsxRuntime.jsx(Vi,{count:Math.max(30,e.length*6)})]})}function fm({photos:e,onPhotoClick:t,showGrain:r,className:n,sheetTitle:o,sheetLabel:a}){return jsxRuntime.jsxs("div",{className:i("rounded-lg p-5",n),style:{background:Ii},children:[jsxRuntime.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.25em]",style:{color:nr},children:o??`JAC\xB7Film 35mm \xB7 ${e.length} exposures`}),jsxRuntime.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.25em]",style:{color:nr},children:a??"Contact Sheet"})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-2 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6",children:e.map((s,p)=>jsxRuntime.jsxs("div",{className:"group cursor-pointer",style:{animation:`reveal-up 0.4s ease-out ${p*50}ms both`},onClick:()=>t(p),children:[jsxRuntime.jsx("div",{className:"mb-0.5 font-mono text-[9px] tracking-wider",style:{color:nr},children:String(p+1).padStart(2,"0")}),jsxRuntime.jsxs("div",{className:"relative overflow-hidden rounded-[1px] border transition-all duration-300 group-hover:border-amber-600/50 group-hover:shadow-[0_0_20px_rgba(217,171,89,0.15)]",style:{borderColor:ta,aspectRatio:"3/2"},children:[jsxRuntime.jsx("img",{src:s.src,alt:s.alt??"",className:"h-full w-full object-cover transition-transform duration-500 group-hover:scale-105",draggable:false}),r&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.04]",style:{backgroundImage:bn}}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 translate-y-full bg-linear-to-t from-black/70 to-transparent p-2 pt-6 transition-transform duration-300 group-hover:translate-y-0",children:jsxRuntime.jsx("span",{className:"text-xs font-medium text-white/90",children:s.title})})]})]},p))})]})}function gm({photos:e,onPhotoClick:t,showGrain:r,className:n}){let[o,a]=Nr.useState(false),[s,p]=Nr.useState(null),b=Math.min(e.length,8),u=e.slice(0,b),c=x=>{let m=Math.sin(x*137.508+1)*1e4,g=(m%12-6).toFixed(1),d=(m/7%8-4).toFixed(1),f=(m/13%6-3).toFixed(1);return `rotate(${g}deg) translate(${d}px, ${f}px)`},T=(x,m)=>{let g=(m-1)/2,d=((x-g)*7).toFixed(1),f=((x-g)*110).toFixed(0),w=(-Math.abs(x-g)*10+(s===x?-18:0)).toFixed(0);return `translateX(${f}px) translateY(${w}px) rotate(${d}deg)`};return jsxRuntime.jsxs("div",{className:i("flex flex-col items-center gap-4",n),children:[jsxRuntime.jsx("div",{className:"relative flex h-85 w-full items-center justify-center",onMouseEnter:()=>a(true),onMouseLeave:()=>{a(false),p(null);},children:u.map((x,m)=>jsxRuntime.jsx("div",{className:"absolute cursor-pointer rounded-lg shadow-xl transition-all duration-500",style:{transitionTimingFunction:"cubic-bezier(0.34, 1.56, 0.64, 1)",transitionDelay:o?`${m*35}ms`:`${(b-m)*25}ms`,transform:o?T(m,u.length):c(m),zIndex:o?m+1:u.length-m,width:220,height:147},onClick:()=>t(m),onMouseEnter:()=>o&&p(m),onMouseLeave:()=>p(null),children:jsxRuntime.jsxs("div",{className:"relative h-full w-full overflow-hidden rounded-lg border transition-shadow duration-300",style:{borderColor:o&&s===m?"rgba(217,171,89,0.5)":ta,boxShadow:o&&s===m?"0 25px 50px rgba(0,0,0,0.5), 0 0 30px rgba(217,171,89,0.1)":"0 10px 30px rgba(0,0,0,0.4)"},children:[jsxRuntime.jsx("img",{src:x.src,alt:x.alt??"",className:"h-full w-full object-cover",draggable:false}),r&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.04]",style:{backgroundImage:bn}}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0",style:{background:"radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.35) 100%)"}}),o&&s===m&&jsxRuntime.jsx("div",{className:"absolute inset-x-0 bottom-0 bg-linear-to-t from-black/80 to-transparent p-3 pt-8",style:{animation:"reveal-up 0.25s ease-out"},children:jsxRuntime.jsx("span",{className:"text-sm font-medium text-white/90",children:x.title})})]})},m))}),e.length>b&&jsxRuntime.jsxs("span",{className:"font-mono text-xs",style:{color:nr},children:["+ ",e.length-b," more"]}),jsxRuntime.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.3em] transition-opacity duration-300",style:{color:nr,opacity:o?0:.7},children:"Hover to explore"})]})}function hm({photos:e,currentIndex:t,onIndexChange:r,onClose:n,actions:o,activeActions:a,onAction:s,showGrain:p}){let b=e[t],[u,c]=Nr.useState(1),[T,x]=Nr.useState({x:0,y:0}),[m,g]=Nr.useState(false),[d,f]=Nr.useState(false),w=Nr.useRef(false),h=Nr.useRef({x:0,y:0}),P=Nr.useRef(null);Nr.useLayoutEffect(()=>{requestAnimationFrame(()=>f(true));},[]),Nr.useEffect(()=>{let y=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=y;}},[]),Nr.useEffect(()=>{let y=O=>{switch(O.key){case "Escape":n();break;case "ArrowLeft":k(-1);break;case "ArrowRight":k(1);break;case "i":case "I":g(v=>!v);break}};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)}),Nr.useEffect(()=>{let y=P.current;if(!y)return;let O=v=>{v.preventDefault();let ne=v.deltaY<0?1.12:.89;c(C=>{let re=Math.min(8,Math.max(1,C*ne));return re<=1&&x({x:0,y:0}),re});};return y.addEventListener("wheel",O,{passive:false}),()=>y.removeEventListener("wheel",O)},[]);let k=Nr.useCallback(y=>{let O=t+y;O>=0&&O<e.length&&(r(O),c(1),x({x:0,y:0}));},[t,e.length,r]),N=Nr.useCallback(y=>{u<=1||(w.current=true,h.current={x:y.clientX,y:y.clientY},y.target.setPointerCapture(y.pointerId));},[u]),F=Nr.useCallback(y=>{if(!w.current)return;let O=y.clientX-h.current.x,v=y.clientY-h.current.y;h.current={x:y.clientX,y:y.clientY},x(ne=>({x:ne.x+O/u,y:ne.y+v/u}));},[u]),R=Nr.useCallback(()=>{w.current=false;},[]),E=Nr.useCallback(()=>{u>1?(c(1),x({x:0,y:0})):c(2.5);},[u]),A=y=>a.has(`${t}-${y}`),H=b.metadata;return jsxRuntime.jsxs("div",{className:"fixed inset-0 z-200 flex flex-col",style:{animation:"lightbox-backdrop-in 0.35s ease-out"},children:[jsxRuntime.jsx("div",{className:"absolute inset-0 bg-black/95",onClick:n}),p&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.025]",style:{backgroundImage:bn,animation:"film-grain-shift 0.6s steps(5) infinite"}}),jsxRuntime.jsxs("div",{className:"relative z-10 flex h-12 shrink-0 items-center justify-between px-4",children:[jsxRuntime.jsxs("span",{className:"font-mono text-sm text-white/50",children:[t+1," / ",e.length]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsxs("span",{className:"mr-2 font-mono text-xs text-white/40",children:[u.toFixed(1),"x"]}),jsxRuntime.jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:()=>c(y=>Math.min(8,y*1.3)),title:"Zoom in",children:jsxRuntime.jsx(lucideReact.ZoomIn,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:()=>{c(y=>{let O=Math.max(1,y*.7);return O<=1&&x({x:0,y:0}),O});},title:"Zoom out",children:jsxRuntime.jsx(lucideReact.ZoomOut,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:n,title:"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-5 w-5"})})]})]}),jsxRuntime.jsxs("div",{ref:P,className:"relative flex flex-1 items-center justify-center overflow-hidden",style:{cursor:u>1?"grab":"default"},onPointerDown:N,onPointerMove:F,onPointerUp:R,onDoubleClick:E,children:[jsxRuntime.jsx("img",{src:b.src,alt:b.alt??b.title??"",className:"max-h-full max-w-full select-none object-contain",style:{animation:"lightbox-photo-in 0.35s cubic-bezier(0.16, 1, 0.3, 1)",transform:`scale(${u}) translate(${T.x}px, ${T.y}px)`,transition:w.current?"none":"transform 0.15s ease-out"},draggable:false},t),t>0&&jsxRuntime.jsx("button",{className:"absolute left-3 top-1/2 -translate-y-1/2 rounded-full bg-black/40 p-2.5 text-white/70 backdrop-blur-sm transition-all hover:bg-black/60 hover:text-white",onClick:y=>{y.stopPropagation(),k(-1);},children:jsxRuntime.jsx(lucideReact.ChevronLeft,{className:"h-6 w-6"})}),t<e.length-1&&jsxRuntime.jsx("button",{className:"absolute right-3 top-1/2 -translate-y-1/2 rounded-full bg-black/40 p-2.5 text-white/70 backdrop-blur-sm transition-all hover:bg-black/60 hover:text-white",onClick:y=>{y.stopPropagation(),k(1);},children:jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-6 w-6"})})]}),jsxRuntime.jsx("div",{className:i("absolute inset-x-0 bottom-0 z-20 transition-all duration-400",m?"translate-y-0 opacity-100":"pointer-events-none translate-y-full opacity-0"),children:jsxRuntime.jsxs("div",{className:"bg-linear-to-t from-black/90 via-black/75 to-transparent px-6 pb-24 pt-16",children:[b.title&&jsxRuntime.jsx("h3",{className:"mb-3 text-xl font-semibold text-white",children:b.title}),b.description&&jsxRuntime.jsx("p",{className:"mb-4 max-w-xl border-l-2 border-amber-500/40 pl-4 text-sm leading-relaxed text-white/60 italic",style:{animation:"reveal-up 0.4s ease-out 0.1s both"},children:b.description}),H&&jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-white/70",children:[H.camera&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.Camera,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",H.camera,H.lens&&jsxRuntime.jsx("span",{className:"text-white/40",children:"\xB7"}),H.lens&&H.lens]}),(H.aperture||H.shutter||H.iso)&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.Aperture,{className:"h-3.5 w-3.5 text-amber-400/80"}),[H.aperture,H.shutter,H.iso&&`ISO ${H.iso}`].filter(Boolean).join(" \xB7 ")]}),H.date&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.Calendar,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",H.date]}),H.location&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.MapPin,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",H.location]})]})]})}),jsxRuntime.jsx("div",{className:"relative z-20 flex h-16 shrink-0 items-center justify-center gap-1",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 rounded-full bg-white/6 px-2 py-1.5 backdrop-blur-xl",children:[o.map(y=>{let O=y.toggle&&A(y.key);return jsxRuntime.jsx("button",{className:i("rounded-full p-2.5 transition-all duration-200",O?"text-amber-400 hover:text-amber-300":"text-white/60 hover:bg-white/10 hover:text-white"),onClick:()=>s(y.key,t),title:y.label,children:O&&y.activeIcon?y.activeIcon:y.icon},y.key)}),jsxRuntime.jsx("div",{className:"mx-1 h-5 w-px bg-white/10"}),jsxRuntime.jsx("button",{className:i("rounded-full p-2.5 transition-all duration-200",m?"text-amber-400 hover:text-amber-300":"text-white/60 hover:bg-white/10 hover:text-white"),onClick:()=>g(y=>!y),title:"Photo info (I)",children:jsxRuntime.jsx(lucideReact.Info,{className:"h-5 w-5"})})]})})]})}var na="data:image/svg+xml,"+encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime'),Kr=require('react'),lucideReact=require('lucide-react'),reactDom=require('react-dom'),client=require('react-dom/client');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Kr__default=/*#__PURE__*/_interopDefault(Kr);function i(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var lr=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"}}),mn=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"}}),pn=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"}}),cr=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"}}),un=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"}}),fn=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"}}),gn=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"}}),bn=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"}}),Vr=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"}}),Ir=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"}}),hn=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 dr({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("button",{className:i(lr({intent:e,size:t}),r),...n})}function Fo(e,t){for(let r of e){if(r.value===t)return r;if(r.children){let n=Fo(r.children,t);if(n)return n}}}function _o(e){let t=[];for(let r of e)r.children?.length||t.push(r),r.children&&t.push(..._o(r.children));return t}var kn=40,kc=200,Bo=150,Qs=120;function vn(e,t,r,n){if(!n)return {};if(r){let s=(t-1-e)*kn;return {animation:`dropdown-item-out ${Bo}ms ease-in both ${s}ms`}}let o=e*kn;return {animation:`dropdown-item-in ${kc}ms ease-out both ${o}ms`}}function Js(e,t,r){if(!r)return {};if(t){let n=Math.max(e-1,0)*kn+Bo;return {animation:`dropdown-container-out ${Qs}ms ease-in both ${n}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function ei({options:e,onSelect:t,animated:r=true,closing:n=false,depth:o=0}){let[s,a]=Kr.useState(null),l=Kr.useRef(void 0),d=c=>{l.current&&clearTimeout(l.current),a(c);},m=()=>{l.current=setTimeout(()=>a(null),150);};return Kr.useEffect(()=>()=>{l.current&&clearTimeout(l.current);},[]),jsxRuntime.jsx("div",{className:i("absolute z-50 min-w-44 rounded-md border py-1 shadow-lg overflow-hidden","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",o===0?"mt-1 w-full":"top-0 ml-0.5"),style:{...o>0?{left:"100%"}:{},...Js(e.length,n,r)},role:"listbox",children:e.map((c,f)=>{let p=!!c.children?.length,u=s===c.value;return jsxRuntime.jsxs("div",{className:"relative",style:vn(f,e.length,n,r),onMouseEnter:()=>d(c.value),onMouseLeave:m,children:[jsxRuntime.jsxs("div",{role:"option","aria-selected":false,"aria-disabled":c.disabled,className:i("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",c.disabled&&"pointer-events-none opacity-50"),onClick:()=>{c.disabled||p||t(c.value,c);},children:[c.icon&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:c.icon}),jsxRuntime.jsx("span",{className:"flex-1 truncate",children:c.label??c.value}),p&&jsxRuntime.jsx(lucideReact.ChevronRight,{className:"text-primary-400 h-3.5 w-3.5 shrink-0"})]}),p&&u&&jsxRuntime.jsx(ei,{options:c.children,onSelect:t,animated:r,depth:o+1})]},c.value)})})}function wc({options:e,filter:t,multiple:r,selected:n,canAdd:o,animated:s=true,closing:a=false,onSelect:l,onToggle:d,onAdd:m}){let c=Kr.useMemo(()=>_o(e),[e]),f=t.toLowerCase(),p=t?c.filter(g=>(g.label??g.value).toLowerCase().includes(f)||g.value.toLowerCase().includes(f)):c,u=p.length===0&&!o||o?1:0,h=p.length+u;return jsxRuntime.jsxs("div",{className:i("absolute z-50 mt-1 w-full max-h-60 min-w-44 overflow-y-auto rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white"),role:"listbox","aria-multiselectable":r||void 0,style:Js(h,a,s),children:[p.map((g,x)=>{let w=r&&n.includes(g.value);return jsxRuntime.jsxs("div",{role:"option","aria-selected":r?w:false,"aria-disabled":g.disabled,className:i("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",g.disabled&&"pointer-events-none opacity-50"),style:vn(x,h,a,s),onClick:()=>{g.disabled||(r?d(g.value):l(g.value,g));},children:[r&&jsxRuntime.jsx("span",{className:i("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",w?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:w&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"})}),g.icon&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:g.icon}),jsxRuntime.jsx("span",{className:"truncate",children:g.label??g.value})]},g.value)}),p.length===0&&!o&&jsxRuntime.jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:vn(0,1,a,s),children:"No matches"}),o&&jsxRuntime.jsxs("div",{className:i("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:vn(p.length,h,a,s),onClick:m,children:[jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxRuntime.jsxs("span",{className:"truncate",children:["Add \u201C",t.trim(),"\u201D"]})]})]})}function zo(e){let{options:t,placeholder:r="Select\u2026",editable:n=false,onAddItem:o,disabled:s=false,align:a="left",className:l,size:d="md",animated:m=true,name:c,intent:f="default",clearable:p=false,id:u,"aria-describedby":h,"aria-invalid":g}=e,x=e.multiple===true,[w,y]=Kr.useState(x?void 0:e.defaultValue),[M,v]=Kr.useState(x?e.defaultSelected??[]:[]),N=x?e.selected??M:[],[L,R]=Kr.useState(false),[D,A]=Kr.useState(false),[V,k]=Kr.useState(""),O=Kr.useRef(null),C=Kr.useRef(null),X=Kr.useRef(void 0),T=Kr.useCallback(()=>{if(!m||!L){R(false),k("");return}A(true);let Q=(Math.max(t.length,1)-1)*kn+Bo+Qs+20;X.current=setTimeout(()=>{R(false),A(false),k("");},Q);},[m,L,t.length]);Kr.useEffect(()=>()=>{X.current&&clearTimeout(X.current);},[]);let re=x?void 0:e.value??w,_=Kr.useMemo(()=>re?Fo(t,re):void 0,[t,re]);Kr.useEffect(()=>{if(!L)return;let B=Q=>{O.current&&!O.current.contains(Q.target)&&T();};return document.addEventListener("mousedown",B),()=>document.removeEventListener("mousedown",B)},[L,T]),Kr.useEffect(()=>{if(!L)return;let B=Q=>{Q.key==="Escape"&&T();};return document.addEventListener("keydown",B),()=>document.removeEventListener("keydown",B)},[L,T]);let de=Kr.useCallback((B,Q)=>{x||(e.value===void 0&&y(B),e.onChange?.(B,Q)),X.current&&clearTimeout(X.current),R(false),A(false),k("");},[x,e]),J=Kr.useCallback(B=>{if(!x)return;let Q=e.selected??M,ve=Q.includes(B)?Q.filter(P=>P!==B):[...Q,B];e.selected===void 0&&v(ve),e.onSelectionChange?.(ve),e.onChange?.(ve);},[x,M,e]),pe=V.toLowerCase(),fe=Kr.useMemo(()=>!n||!V.trim()?false:!_o(t).some(Q=>Q.value.toLowerCase()===pe||(Q.label??Q.value).toLowerCase()===pe),[n,pe,t]),$=Kr.useCallback(()=>{let B=V.trim();B&&(o?.(B),k(""));},[V,o]),U=Kr.useCallback(B=>{B.stopPropagation(),x?(v([]),e.onSelectionChange?.([]),e.onChange?.([])):(y(void 0),e.onChange?.("",void 0));},[x,e]),me=Kr.useCallback(B=>{B.key==="Enter"&&fe&&(B.preventDefault(),$());},[fe,$]),j=Kr.useCallback(()=>{s||(L?T():(X.current&&clearTimeout(X.current),A(false),R(true),k(""),n&&requestAnimationFrame(()=>C.current?.focus())));},[s,L,T,n]),b;if(x){let B=N.length;B===0?b="":B<=2?b=N.map(Q=>Fo(t,Q)).map(Q=>Q?Q.label??Q.value:"").filter(Boolean).join(", "):b=`${B} selected`;}else b=_?_.label??_.value:"";let I=x||n,W=f==="danger"||g===true,K=p&&(x?N.length>0:!!b);return jsxRuntime.jsxs("div",{ref:O,className:i("relative inline-block min-w-44",l),children:[c&&!x&&jsxRuntime.jsx("input",{type:"hidden",name:c,value:re??""}),c&&x&&N.map(B=>jsxRuntime.jsx("input",{type:"hidden",name:`${c}[]`,value:B},B)),jsxRuntime.jsxs("div",{id:u,className:i(cr({state:W?"error":"default",size:d}),"flex cursor-pointer items-center gap-1",s&&"pointer-events-none opacity-50"),onClick:j,role:"combobox","aria-expanded":L,"aria-haspopup":"listbox","aria-invalid":W||void 0,"aria-describedby":h,children:[n?jsxRuntime.jsx("input",{ref:C,className:"min-w-0 flex-1 bg-transparent outline-none placeholder:text-secondary-400 dark:placeholder:text-secondary-600",value:L?V:b,placeholder:r,disabled:s,onChange:B=>{k(B.target.value),L||R(true);},onKeyDown:me,onClick:B=>{B.stopPropagation(),L||R(true);}}):jsxRuntime.jsx("span",{className:i("flex-1 truncate",!b&&"text-secondary-400 dark:text-secondary-600"),children:b||r}),_?.icon&&!n&&!x&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:_.icon}),x&&N.length>0&&jsxRuntime.jsx("span",{className:"rounded-full bg-primary-100 px-1.5 text-xs font-semibold text-primary-700 dark:bg-primary-900 dark:text-primary-300",children:N.length}),K&&jsxRuntime.jsx("button",{type:"button","aria-label":"Clear selection",className:"flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-secondary-400 transition-colors hover:bg-secondary-200 hover:text-secondary-600 dark:hover:bg-secondary-700 dark:hover:text-secondary-300",onClick:U,children:jsxRuntime.jsx(lucideReact.X,{className:"h-3 w-3"})}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:i("text-primary-400 h-4 w-4 shrink-0 transition-transform",L&&"rotate-180")})]}),L&&jsxRuntime.jsx("div",{className:i(a==="right"?"right-0":"left-0","absolute w-full"),children:I?jsxRuntime.jsx(wc,{options:t,filter:V,multiple:x,selected:N,canAdd:fe,animated:m,closing:D,onSelect:de,onToggle:J,onAdd:$}):jsxRuntime.jsx(ei,{options:t,onSelect:de,animated:m,closing:D})})]})}function Rc(e,t){return e.key??(typeof e.label=="string"?e.label:String(t))}var wn=40,Mc=200,jo=150,ri=120;function Xo(e,t,r,n){if(!n)return {};if(r){let s=(t-1-e)*wn;return {animation:`dropdown-item-out ${jo}ms ease-in both ${s}ms`}}let o=e*wn;return {animation:`dropdown-item-in ${Mc}ms ease-out both ${o}ms`}}function Pc(e,t,r){if(!r)return {};if(t){let n=Math.max(e-1,0)*wn+jo;return {animation:`dropdown-container-out ${ri}ms ease-in both ${n}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function pr({label:e,items:t,intent:r,size:n,align:o="left",className:s,disabled:a,editable:l=false,onAddItem:d,multiple:m=false,selected:c=[],onSelectionChange:f,animated:p=true,chevron:u=true,...h}){let[g,x]=Kr.useState(false),[w,y]=Kr.useState(false),[M,v]=Kr.useState(""),N=Kr.useRef(null),L=Kr.useRef(null),R=Kr.useRef(void 0);Kr.useEffect(()=>()=>{R.current&&clearTimeout(R.current);},[]);let D=Kr.useCallback(()=>{if(!p||!g){x(false),v("");return}y(true);let pe=(Math.max(t.length,1)-1)*wn+jo+ri+20;R.current=setTimeout(()=>{x(false),y(false),v("");},pe);},[p,g,t.length]),A=Kr.useCallback(()=>{a||(g?D():(R.current&&clearTimeout(R.current),y(false),x(true),v(""),l&&requestAnimationFrame(()=>L.current?.focus())));},[a,g,D,l]);Kr.useEffect(()=>{if(!g)return;let J=pe=>{N.current&&!N.current.contains(pe.target)&&D();};return document.addEventListener("mousedown",J),()=>document.removeEventListener("mousedown",J)},[g,D]),Kr.useEffect(()=>{if(!g)return;let J=pe=>{pe.key==="Escape"&&D();};return document.addEventListener("keydown",J),()=>document.removeEventListener("keydown",J)},[g,D]);let V=M.toLowerCase(),k=Kr.useMemo(()=>M?t.filter(J=>(typeof J.label=="string"?J.label:J.key??"").toLowerCase().includes(V)):t,[t,V]),O=Kr.useMemo(()=>!l||!M.trim()?false:!t.some(J=>(typeof J.label=="string"?J.label:J.key??"").toLowerCase()===V),[l,V,t]),C=Kr.useCallback(()=>{let J=M.trim();J&&(d?.(J),v(""));},[M,d]),X=Kr.useCallback(J=>{J.key==="Enter"&&O&&(J.preventDefault(),C());},[O,C]),T=Kr.useCallback(J=>{let pe=c.includes(J)?c.filter(fe=>fe!==J):[...c,J];f?.(pe);},[c,f]),re=m&&c.length>0?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[e," ",jsxRuntime.jsx("span",{className:"ml-1 rounded-full bg-white/20 px-1.5 text-xs font-semibold",children:c.length})]}):e,_=k.length===0&&!O||O?1:0,de=k.length+_;return jsxRuntime.jsxs("div",{ref:N,className:"relative inline-block",children:[jsxRuntime.jsxs("button",{type:"button",onClick:A,disabled:a,className:i(lr({intent:r,size:n}),"inline-flex items-center gap-1",s),"aria-haspopup":m?"listbox":"true","aria-expanded":g?"true":"false",...h,children:[re,u&&jsxRuntime.jsx(lucideReact.ChevronDown,{className:i("h-3.5 w-3.5 transition-transform",g&&"rotate-180")})]}),g&&jsxRuntime.jsxs("div",{className:i("absolute z-50 mt-1 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",o==="right"?"right-0":"left-0"),style:Pc(de,w,p),role:m?"listbox":"menu","aria-multiselectable":m||void 0,children:[l&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 border-b px-2 pb-1.5 pt-1",children:jsxRuntime.jsx("input",{ref:L,type:"text",value:M,onChange:J=>v(J.target.value),onKeyDown:X,placeholder:"Type to filter or add\u2026",className:"w-full bg-transparent text-sm text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600"})}),jsxRuntime.jsxs("div",{className:"max-h-60 overflow-y-auto",children:[k.map((J,pe)=>{let fe=Rc(J,pe),$=m&&c.includes(fe);return jsxRuntime.jsxs(Kr__default.default.Fragment,{children:[J.divider&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 my-1 border-t"}),jsxRuntime.jsxs("button",{type:"button",role:m?"option":"menuitem","aria-selected":m?$:void 0,disabled:J.disabled,className:i("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",J.disabled&&"pointer-events-none opacity-50"),style:Xo(pe,de,w,p),onClick:()=>{m?T(fe):(J.onClick?.(),R.current&&clearTimeout(R.current),x(false),y(false),v(""));},children:[m&&jsxRuntime.jsx("span",{className:i("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",$?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:$&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"})}),jsxRuntime.jsx("span",{className:"flex-1 truncate",children:J.label})]})]},fe)}),k.length===0&&!O&&jsxRuntime.jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:Xo(0,1,w,p),children:"No matches"}),O&&jsxRuntime.jsxs("button",{type:"button",className:i("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:Xo(k.length,de,w,p),onClick:C,children:[jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxRuntime.jsxs("span",{className:"truncate",children:["Add \u201C",M.trim(),"\u201D"]})]})]})]})]})}function Wo({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("span",{className:i(mn({intent:e,size:t}),r),...n})}function Go({intent:e,size:t,variant:r,icon:n,removable:o,onRemove:s,disabled:a,dot:l,className:d,children:m,...c}){return jsxRuntime.jsxs("span",{className:i(hn({intent:e,size:t,variant:r}),a&&"pointer-events-none opacity-50",d),"aria-disabled":a,...c,children:[l&&jsxRuntime.jsx("span",{className:i("inline-block h-1.5 w-1.5 shrink-0 rounded-full",e==="success"&&"bg-success-500",e==="danger"&&"bg-danger-500",e==="warning"&&"bg-warning-500",(!e||e==="primary")&&"bg-primary-500",e==="secondary"&&"bg-secondary-500",e==="info"&&"bg-blue-500")}),n&&jsxRuntime.jsx("span",{className:"shrink-0 [&_svg]:h-[1em] [&_svg]:w-[1em]",children:n}),m&&jsxRuntime.jsx("span",{children:m}),o&&jsxRuntime.jsx("button",{type:"button","aria-label":"Remove tag",onClick:f=>{f.stopPropagation(),s?.();},disabled:a,className:i("ml-0.5 -mr-0.5 inline-flex items-center justify-center rounded-full p-0.5 transition-colors hover:bg-black/10 dark:hover:bg-white/20 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-current"),children:jsxRuntime.jsx(lucideReact.X,{className:"h-[0.75em] w-[0.75em]"})})]})}var Vc={danger:"bg-danger-500",success:"bg-success-500",warning:"bg-warning-500",info:"bg-primary-500",primary:"bg-secondary-500"};function Yo({children:e,show:t=true,content:r,dot:n,intent:o="danger",size:s="md",placement:a="top-right",pulse:l=false,className:d}){let m=n??r==null,c=m?null:typeof r=="number"?r>99?"99+":String(r):r;return jsxRuntime.jsxs("div",{className:"relative inline-flex",children:[e,t&&jsxRuntime.jsxs("span",{className:i(pn({intent:o,size:s,dot:m,placement:a}),d),role:typeof r=="number"?"status":void 0,"aria-label":typeof r=="number"?String(r):void 0,children:[l&&jsxRuntime.jsx("span",{className:i("absolute inset-0 rounded-full animate-ping opacity-60",Vc[o??"danger"]),"aria-hidden":"true"}),c]})]})}function Uo({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("label",{className:i(un({intent:e,size:t}),r),...n})}var Hc={sm:{wrapper:"h-7 text-xs",prefix:"px-2 text-xs [&_svg]:h-3 [&_svg]:w-3",input:"px-2 text-xs",icon:"px-1.5 [&_svg]:h-3 [&_svg]:w-3"},md:{wrapper:"h-9 text-sm",prefix:"px-3 text-sm [&_svg]:h-4 [&_svg]:w-4",input:"px-3 py-2 text-sm",icon:"px-2 [&_svg]:h-4 [&_svg]:w-4"},lg:{wrapper:"h-11 text-base",prefix:"px-4 text-base [&_svg]:h-5 [&_svg]:w-5",input:"px-4 py-2.5 text-base",icon:"px-2.5 [&_svg]:h-5 [&_svg]:w-5"}},Fc={default:"border-secondary-300 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus-within:border-danger-500 focus-within:ring-2 focus-within:ring-danger-500/20"};function qo({state:e="default",inputSize:t="md",className:r,prefix:n,suffix:o,action:s,...a}){if(!n&&!o&&!s)return jsxRuntime.jsx("input",{className:i(cr({state:e,size:t}),r),...a});let l=Hc[t??"md"],d=Fc[e??"default"];return jsxRuntime.jsxs("div",{className:i("flex w-full items-center overflow-hidden rounded-md border bg-white transition-colors dark:bg-secondary-900",l.wrapper,d,r),children:[n&&jsxRuntime.jsx("span",{className:i("flex shrink-0 items-center gap-1.5 self-stretch border-r border-secondary-300 bg-secondary-50 font-medium text-secondary-600 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300",l.prefix),children:n}),jsxRuntime.jsx("input",{className:i("min-w-0 flex-1 bg-transparent text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600",l.input,n&&"pl-2"),...a}),o&&jsxRuntime.jsx("span",{className:i("pointer-events-none flex shrink-0 items-center text-secondary-400 dark:text-secondary-500",l.icon),children:o}),s&&jsxRuntime.jsx("button",{type:"button",onClick:s.onClick,"aria-label":s["aria-label"]??"Action",className:i("flex shrink-0 items-center text-secondary-500 transition-colors hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-400",l.icon),children:s.icon})]})}var Oc={sm:"px-2 py-1.5 text-xs min-h-[60px]",md:"px-3 py-2 text-sm min-h-[80px]",lg:"px-4 py-2.5 text-base min-h-[100px]"},Kc={default:"border-secondary-400 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-2 focus:ring-danger-500/20"};function Xc(e){if(!e)return 0;let t="\u2E80-\u2EFF\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF",r=new RegExp(`[${t}]`),n=0,o="",s=()=>{let a=o.trim();a&&(n+=a.split(/\s+/).length),o="";};for(let a of e)r.test(a)?(s(),n+=1):o+=a;return s(),n}function Zo({state:e="default",size:t="md",showWordCount:r=false,maxWords:n,className:o,value:s,defaultValue:a,onChange:l,disabled:d,...m}){let[c,f]=Kr.useState(()=>a??""),p=s!==void 0?String(s):c,u=Kr.useCallback(x=>{s===void 0&&f(x.target.value),l?.(x);},[s,l]),h=Kr.useMemo(()=>Xc(p),[p]),g=n!=null&&h>n;return jsxRuntime.jsxs("div",{className:i("inline-flex w-full flex-col",o),children:[jsxRuntime.jsx("textarea",{value:p,onChange:u,disabled:d,className:i("w-full resize-y rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",Oc[t],Kc[g?"error":e],d&&"pointer-events-none opacity-50"),...m}),(r||n!=null)&&jsxRuntime.jsx("span",{className:i("mt-1 self-end text-xs",g?"text-danger-500 dark:text-danger-400":"text-secondary-400 dark:text-secondary-500"),children:n!=null?`${h} / ${n} words`:`${h} words`})]})}var Uc={sm:{trackFixed:"h-5 w-9",trackH:"h-5 min-w-9",thumb:"h-3.5 w-3.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-16px)]",pad:"pl-[6px] pr-[18px]",contentLeft:"left-[6px]",contentRight:"right-[6px]",icon:"text-[10px] [&_svg]:h-3 [&_svg]:w-3"},md:{trackFixed:"h-6 w-11",trackH:"h-6 min-w-11",thumb:"h-4.5 w-4.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-20px)]",pad:"pl-[7px] pr-[23px]",contentLeft:"left-[7px]",contentRight:"right-[7px]",icon:"text-xs [&_svg]:h-3.5 [&_svg]:w-3.5"},lg:{trackFixed:"h-7 w-14",trackH:"h-7 min-w-14",thumb:"h-5.5 w-5.5",thumbTop:"top-[3px]",thumbOff:"left-[3px]",thumbOn:"left-[calc(100%-25px)]",pad:"pl-[8px] pr-[28px]",contentLeft:"left-[8px]",contentRight:"right-[8px]",icon:"text-sm [&_svg]:h-4 [&_svg]:w-4"}},qc={primary:"text-primary-100",secondary:"text-secondary-100",danger:"text-danger-100",warning:"text-warning-100",success:"text-success-100"};function Qo({checked:e,defaultChecked:t=false,onCheckedChange:r,checkedContent:n,uncheckedContent:o,intent:s,size:a,label:l,id:d,className:m,disabled:c,...f}){let p=Kr.useId(),u=d??p,h=a??"md",g=s??"primary",x=Uc[h],w=n!=null||o!=null,[y,M]=Kr.useState(t),v=e??y,N=Kr.useCallback(L=>{let R=L.target.checked;e===void 0&&M(R),r?.(R);},[e,r]);return jsxRuntime.jsxs("label",{htmlFor:u,className:i("inline-flex cursor-pointer items-center gap-2",c&&"pointer-events-none opacity-50",m),children:[jsxRuntime.jsx("input",{...f,id:u,type:"checkbox",role:"switch",className:"sr-only",checked:v,disabled:c,onChange:N,"aria-checked":v}),jsxRuntime.jsxs("span",{className:i("relative inline-flex shrink-0 items-center rounded-full transition-colors duration-200",w?x.trackH:x.trackFixed,bn({intent:s,size:a,checked:v?"on":"off"})),children:[w?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("span",{className:i("pointer-events-none invisible inline-grid",x.icon),children:[jsxRuntime.jsx("span",{className:i("[grid-area:1/1] whitespace-nowrap",x.pad),children:n}),jsxRuntime.jsx("span",{className:i("[grid-area:1/1] whitespace-nowrap",x.pad),children:o})]}),jsxRuntime.jsx("span",{className:i("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",x.contentLeft,x.icon,qc[g],v?"opacity-100":"opacity-0"),children:n}),jsxRuntime.jsx("span",{className:i("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",x.contentRight,x.icon,"text-primary-400 dark:text-primary-500",v?"opacity-0":"opacity-100"),children:o})]}):null,jsxRuntime.jsx("span",{className:i("pointer-events-none absolute rounded-full bg-white shadow-sm transition-[left] duration-200 ease-in-out",x.thumb,x.thumbTop,v?x.thumbOn:x.thumbOff)})]}),l&&jsxRuntime.jsx("span",{className:"select-none text-sm text-primary-700 dark:text-primary-300",children:l})]})}var td={sm:"h-3 w-3",md:"h-3.5 w-3.5",lg:"h-4 w-4"};function Jo({checked:e,defaultChecked:t=false,indeterminate:r=false,onCheckedChange:n,intent:o,size:s,label:a,id:l,className:d,disabled:m,...c}){let f=Kr.useId(),p=l??f,u=s??"md",[h,g]=Kr.useState(t),x=e??h,w=Kr.useCallback(M=>{let v=M.target.checked;e===void 0&&g(v),n?.(v);},[e,n]),y=x||r;return jsxRuntime.jsxs("label",{htmlFor:p,className:i("inline-flex cursor-pointer items-center gap-2 select-none",m&&"pointer-events-none opacity-50",d),children:[jsxRuntime.jsx("input",{...c,id:p,type:"checkbox",className:"sr-only",checked:x,disabled:m,onChange:w}),jsxRuntime.jsx("span",{className:i(fn({intent:o,size:s,checked:y?"on":"off"})),children:jsxRuntime.jsx("svg",{viewBox:"0 0 16 16",fill:"none",className:i("text-white transition-all duration-200",td[u],y?"scale-100 opacity-100":"scale-0 opacity-0"),children:r?jsxRuntime.jsx("line",{x1:"3",y1:"8",x2:"13",y2:"8",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}):jsxRuntime.jsx("path",{d:"M3.5 8.5L6.5 11.5L12.5 4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),a&&jsxRuntime.jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:a})]})}var ii=Kr.createContext(null);function ea({name:e,value:t,defaultValue:r,onValueChange:n,intent:o,size:s,disabled:a,orientation:l="vertical",className:d,children:m}){let c=Kr.useId(),f=e??c,[p,u]=Kr.useState(r),h=t??p,g=Kr.useCallback(x=>{t===void 0&&u(x),n?.(x);},[t,n]);return jsxRuntime.jsx(ii.Provider,{value:{name:f,value:h,onChange:g,intent:o,size:s,disabled:a},children:jsxRuntime.jsx("div",{role:"radiogroup",className:i("flex gap-2",l==="vertical"?"flex-col":"flex-row flex-wrap",d),children:m})})}var sd={sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-2.5 w-2.5"};function ta({value:e,intent:t,size:r,label:n,id:o,className:s,disabled:a,...l}){let d=Kr.useId(),m=o??d,c=Kr.useContext(ii),f=t??c?.intent,p=r??c?.size,u=p??"md",h=a??c?.disabled,g=l.name??c?.name,x=c?c.value===e:void 0,w=Kr.useCallback(y=>{y.target.checked&&c?.onChange(e);},[c,e]);return jsxRuntime.jsxs("label",{htmlFor:m,className:i("inline-flex cursor-pointer items-center gap-2 select-none",h&&"pointer-events-none opacity-50",s),children:[jsxRuntime.jsx("input",{...l,id:m,type:"radio",name:g,value:e,className:"sr-only",checked:x,disabled:h,onChange:w}),jsxRuntime.jsx("span",{className:i(gn({intent:f,size:p,checked:x?"on":"off"})),children:jsxRuntime.jsx("span",{className:i("rounded-full bg-white transition-all duration-200",sd[u],x?"scale-100 opacity-100":"scale-0 opacity-0")})}),n&&jsxRuntime.jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:n})]})}function dd(e,t){if(t)return t.slice(0,2).toUpperCase();if(!e)return "?";let r=e.trim().split(/\s+/);return r.length>=2?(r[0][0]+r[r.length-1][0]).toUpperCase():e.slice(0,2).toUpperCase()}var md={online:"ring-2 ring-success-500",offline:"ring-2 ring-secondary-400",busy:"ring-2 ring-danger-500",away:"ring-2 ring-warning-500"};function Tn({src:e,alt:t,initials:r,size:n,shape:o,status:s,className:a,...l}){let[d,m]=Kr.useState(false),c=e&&!d,f=dd(t,r);return jsxRuntime.jsx("span",{role:"img","aria-label":t??f,className:i(Vr({size:n,shape:o}),s&&md[s],"relative inline-flex shrink-0 select-none items-center justify-center overflow-hidden",a),...l,children:c?jsxRuntime.jsx("img",{src:e,alt:t,className:"h-full w-full object-cover",onError:()=>m(true),draggable:false}):jsxRuntime.jsx("span",{className:"font-semibold leading-none tracking-wide",children:f})})}function Rn({children:e,max:t=4,overlap:r="left",className:n}){let o=Kr__default.default.Children.toArray(e),s=o.slice(0,t),a=o.length-t;return jsxRuntime.jsxs("span",{className:i("inline-flex items-center",r==="left"?"-space-x-3":"flex-row-reverse -space-x-3",n),children:[s.map((d,m)=>jsxRuntime.jsx("span",{className:"ring-2 ring-white dark:ring-primary-900 rounded-full",children:d},m)),a>0&&jsxRuntime.jsxs("span",{"aria-label":`${a} more`,className:i(Vr({size:"md",shape:"circular"}),"relative inline-flex shrink-0 select-none items-center justify-center","ring-2 ring-white dark:ring-primary-900","bg-secondary-200 text-secondary-700 dark:bg-secondary-700 dark:text-secondary-200 font-semibold text-xs"),children:["+",a]})]})}function St(e,t,r){return Math.min(Math.max(e,t),r)}function ud(e,t,r){return Math.round((e-t)/r)*r+t}function ra(e,t,r){return (e-t)/(r-t)*100}function ci(e,t,r,n){let o=t+e/100*(r-t);return ud(o,t,n)}function mi(e,t,r,n,o,s){let a=Kr.useRef(false),l=Kr.useCallback(f=>{let p=e.current;if(!p)return 0;let u=p.getBoundingClientRect(),g=(("touches"in f?f.touches[0].clientX:f.clientX)-u.left)/u.width*100;return St(g,0,100)},[e]),d=Kr.useCallback(f=>{if(o)return;f.currentTarget.setPointerCapture(f.pointerId),a.current=true;let p=e.current;if(!p)return;let u=p.getBoundingClientRect(),h=(f.clientX-u.left)/u.width*100;s?.(ci(St(h,0,100),t,r,n));},[o,l,t,r,n,s,e]),m=Kr.useCallback(f=>{if(!a.current||o)return;let p=e.current;if(!p)return;let u=p.getBoundingClientRect(),h=(f.clientX-u.left)/u.width*100;s?.(ci(St(h,0,100),t,r,n));},[o,t,r,n,s,e]),c=Kr.useCallback(()=>{a.current=false;},[]);return {startDrag:d,onPointerMove:m,stopDrag:c}}function Pn({mode:e,value:t,defaultValue:r=0,onChange:n,min:o=0,max:s=100,step:a=1,intent:l,size:d,disabled:m,showValue:c=false,formatValue:f=String,label:p,className:u,...h}){let[g,x]=Kr.useState(r),w=t!==void 0,y=w?t:g,M=Kr.useId(),v=Kr.useRef(null),N=Kr.useCallback(k=>{let O=St(k,o,s);w||x(O),n?.(O);},[w,o,s,n]),{startDrag:L,onPointerMove:R,stopDrag:D}=mi(v,o,s,a,m,N),A=ra(y,o,s),V=k=>{let O=k.key==="ArrowRight"||k.key==="ArrowUp"?a:k.key==="ArrowLeft"||k.key==="ArrowDown"?-a:k.key==="Home"?-(y-o):k.key==="End"?s-y:0;O!==0&&(k.preventDefault(),N(y+O));};return jsxRuntime.jsxs("div",{className:i("slider-root flex flex-col gap-1",u),children:[(p||c)&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[p&&jsxRuntime.jsx("label",{htmlFor:M,className:"text-sm font-medium text-primary-700 dark:text-primary-300",children:p}),c&&jsxRuntime.jsx("span",{className:"text-sm font-semibold text-primary-600 dark:text-primary-400",children:f(y)})]}),jsxRuntime.jsx("div",{...h,ref:v,className:i(Ir({intent:l,size:d}),m&&"opacity-40 cursor-not-allowed"),onPointerDown:L,onPointerMove:R,onPointerUp:D,onPointerCancel:D,style:{touchAction:"none"},children:jsxRuntime.jsxs("div",{className:"relative h-1.5 w-full grow rounded-full bg-primary-200 dark:bg-primary-700",children:[jsxRuntime.jsx("div",{className:"slider-fill absolute left-0 top-0 h-full rounded-full transition-none",style:{width:`${A}%`}}),jsxRuntime.jsx("div",{id:M,role:"slider",tabIndex:m?-1:0,"aria-valuemin":o,"aria-valuemax":s,"aria-valuenow":y,"aria-disabled":m,onKeyDown:V,className:i("slider-thumb absolute top-1/2 -translate-x-1/2 -translate-y-1/2","h-4 w-4 rounded-full border-2 bg-white shadow-md","transition-transform focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 focus-visible:scale-110",!m&&"cursor-grab active:cursor-grabbing active:scale-110"),style:{left:`${A}%`}})]})})]})}function Sn({value:e,defaultValue:t=[20,80],onChange:r,min:n=0,max:o=100,step:s=1,intent:a,size:l,disabled:d,showValue:m=false,formatValue:c=String,label:f,className:p,...u}){let[h,g]=Kr.useState(t),x=e!==void 0,[w,y]=x?e:h,M=Kr.useRef(null),v=Kr.useRef("lo"),N=Kr.useCallback(X=>{x||g(X),r?.(X);},[x,r]),L=Kr.useCallback(X=>{v.current==="lo"?N([St(X,n,y),y]):N([w,St(X,w,o)]);},[w,y,n,o,N]),{startDrag:R,onPointerMove:D,stopDrag:A}=mi(M,n,o,s,d,L),V=ra(w,n,o),k=ra(y,n,o),O=X=>T=>{v.current=X,R(T);},C=X=>T=>{let _=T.key==="ArrowRight"||T.key==="ArrowUp"?s:T.key==="ArrowLeft"||T.key==="ArrowDown"?-s:0;_!==0&&(T.preventDefault(),N(X==="lo"?[St(w+_,n,y),y]:[w,St(y+_,w,o)]));};return jsxRuntime.jsxs("div",{className:i("slider-root flex flex-col gap-1",p),children:[(f||m)&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[f&&jsxRuntime.jsx("span",{className:"text-sm font-medium text-primary-700 dark:text-primary-300",children:f}),m&&jsxRuntime.jsxs("span",{className:"text-sm font-semibold text-primary-600 dark:text-primary-400",children:[c(w)," \u2013 ",c(y)]})]}),jsxRuntime.jsx("div",{...u,ref:M,className:i(Ir({intent:a,size:l}),d&&"opacity-40 cursor-not-allowed"),onPointerMove:D,onPointerUp:A,onPointerCancel:A,style:{touchAction:"none"},children:jsxRuntime.jsxs("div",{className:"relative h-1.5 w-full rounded-full bg-primary-200 dark:bg-primary-700",children:[jsxRuntime.jsx("div",{className:"slider-fill absolute top-0 h-full rounded-full",style:{left:`${V}%`,width:`${k-V}%`}}),jsxRuntime.jsx("div",{role:"slider",tabIndex:d?-1:0,"aria-valuemin":n,"aria-valuemax":y,"aria-valuenow":w,"aria-label":"Range start","aria-disabled":d,onPointerDown:O("lo"),onKeyDown:C("lo"),className:i("slider-thumb absolute top-1/2 -translate-x-1/2 -translate-y-1/2","h-4 w-4 rounded-full border-2 bg-white shadow-md","transition-transform focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 focus-visible:scale-110",!d&&"cursor-grab active:cursor-grabbing active:scale-110"),style:{left:`${V}%`,zIndex:w>y-s?3:2}}),jsxRuntime.jsx("div",{role:"slider",tabIndex:d?-1:0,"aria-valuemin":w,"aria-valuemax":o,"aria-valuenow":y,"aria-label":"Range end","aria-disabled":d,onPointerDown:O("hi"),onKeyDown:C("hi"),className:i("slider-thumb absolute top-1/2 -translate-x-1/2 -translate-y-1/2","h-4 w-4 rounded-full border-2 bg-white shadow-md","transition-transform focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/40 focus-visible:scale-110",!d&&"cursor-grab active:cursor-grabbing active:scale-110"),style:{left:`${k}%`,zIndex:2}})]})})]})}var fd={Button:dr,Dropdown:zo,DropdownButton:pr,Badge:Wo,Tag:Go,Indicator:Yo,Label:Uo,Input:qo,TextBox:Zo,Switch:Qo,Checkbox:Jo,Radio:ta,RadioGroup:ea,Avatar:Tn,AvatarGroup:Rn,Slider:Pn,SliderRange:Sn},na=fd;var _r=classVarianceAuthority.cva("rounded-lg transition-shadow",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",elevated:"bg-white shadow-md hover:shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25 dark:hover:shadow-primary-200/30",outlined:"border-2 border-primary-300 bg-transparent dark:border-primary-600",ghost:"bg-primary-50 dark:bg-primary-800/50"},size:{sm:"p-3",md:"p-5",lg:"p-7"}},defaultVariants:{intent:"default",size:"md"}}),Ln=classVarianceAuthority.cva("rounded-md",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",inset:"bg-primary-50 dark:bg-primary-800/50",elevated:"bg-white shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25"},size:{sm:"p-3",md:"p-4",lg:"p-6"}},defaultVariants:{intent:"default",size:"md"}});function oa({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("div",{className:i(_r({intent:e,size:t}),r),...n})}function gd({className:e,...t}){return jsxRuntime.jsx("div",{className:i("mb-4 space-y-1",e),...t})}function bd({className:e,...t}){return jsxRuntime.jsx("h3",{className:i("text-primary-900 dark:text-primary-100 text-lg font-semibold",e),...t})}function hd({className:e,...t}){return jsxRuntime.jsx("p",{className:i("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function xd({className:e,...t}){return jsxRuntime.jsx("div",{className:i("text-primary-700 dark:text-primary-300 text-sm",e),...t})}function yd({className:e,...t}){return jsxRuntime.jsx("div",{className:i("border-primary-100 dark:border-primary-800 mt-4 flex items-center gap-2 border-t pt-4",e),...t})}function vd({intent:e,media:t,mediaPosition:r="left",stackOnMobile:n=false,className:o,children:s,...a}){let l=jsxRuntime.jsx("div",{className:i("relative shrink-0 overflow-hidden",n?"h-48 w-full rounded-t-lg sm:h-auto sm:w-auto":"",!n&&(r==="left"?"rounded-l-lg":"rounded-r-lg")),style:n?void 0:{width:t.width??"10rem"},children:t.src?jsxRuntime.jsx("img",{src:t.src,alt:t.alt??"",className:"h-full w-full object-cover",draggable:false}):t.icon?jsxRuntime.jsx("div",{className:"bg-primary-100 text-primary-500 dark:bg-primary-800 dark:text-primary-400 flex h-full w-full items-center justify-center",children:t.icon}):null});return jsxRuntime.jsxs("div",{className:i(_r({intent:e}),"flex overflow-hidden p-0",n?"flex-col sm:flex-row":"",!n&&r==="right"&&"flex-row-reverse",!n&&r==="left"&&"flex-row",o),...a,children:[l,jsxRuntime.jsx("div",{className:"flex min-w-0 flex-1 flex-col p-4",children:s})]})}function aa({src:e,alt:t="",aspectRatio:r="16/9",className:n,children:o,...s}){return jsxRuntime.jsxs("div",{className:i("group overflow-hidden rounded-xl border transition-shadow duration-300","border-primary-200 dark:border-primary-700 dark:bg-primary-900 bg-white","dark:hover:shadow-primary-900/60 hover:shadow-lg",n),...s,children:[jsxRuntime.jsxs("div",{className:"relative overflow-hidden",style:{aspectRatio:r},children:[jsxRuntime.jsx("img",{src:e,alt:t,className:"h-full w-full object-cover transition-transform duration-500 ease-out group-hover:scale-110",draggable:false}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-100","aria-hidden":true,children:jsxRuntime.jsx("div",{className:"animate-light-sweep absolute inset-0"})})]}),o]})}function wd({className:e,...t}){return jsxRuntime.jsx("div",{className:i("space-y-2 p-4",e),...t})}function Nd({className:e,...t}){return jsxRuntime.jsx("h3",{className:i("text-primary-900 dark:text-primary-100 text-base font-semibold",e),...t})}function Cd({className:e,...t}){return jsxRuntime.jsx("p",{className:i("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function Td({className:e,...t}){return jsxRuntime.jsx("div",{className:i("border-primary-100 dark:border-primary-800 flex items-center gap-2 border-t px-4 py-3",e),...t})}function sa({intent:e,size:t,className:r,...n}){return jsxRuntime.jsx("div",{className:i(Ln({intent:e,size:t}),r),...n})}function Rd({className:e,...t}){return jsxRuntime.jsx("div",{className:i("border-primary-200 text-primary-900 dark:border-primary-700 dark:text-primary-100 mb-3 flex items-center gap-1.5 border-b pb-3 text-sm font-semibold [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",e),...t})}function Md({className:e,...t}){return jsxRuntime.jsx("div",{className:i("text-primary-700 dark:text-primary-300 text-sm",e),...t})}var Pd={Card:oa,ImageCard:aa,Panel:sa},la=Pd;var En=classVarianceAuthority.cva("w-full text-left text-sm",{variants:{intent:{default:"",striped:"[&_tbody_tr:nth-child(even)]:bg-primary-50 dark:[&_tbody_tr:nth-child(even)]:bg-primary-800/30",bordered:"[&_th]:border [&_td]:border [&_th]:border-primary-200 [&_td]:border-primary-200 dark:[&_th]:border-primary-700 dark:[&_td]:border-primary-700"},density:{compact:"[&_th]:px-2 [&_th]:py-1 [&_td]:px-2 [&_td]:py-1",default:"",relaxed:"[&_th]:px-6 [&_th]:py-5 [&_td]:px-6 [&_td]:py-5"}},defaultVariants:{intent:"default",density:"default"}}),Dn=classVarianceAuthority.cva("text-sm text-primary-700 dark:text-primary-300",{variants:{intent:{default:"space-y-1",bordered:"divide-y divide-primary-200 rounded-lg border border-primary-200 dark:divide-primary-700 dark:border-primary-700 [&>li]:px-4 [&>li]:py-2",hover:"[&>li]:rounded-md [&>li]:px-3 [&>li]:py-2 [&>li]:transition-colors [&>li:hover]:bg-primary-50 dark:[&>li:hover]:bg-primary-800/50"}},defaultVariants:{intent:"default"}}),Vn=classVarianceAuthority.cva("group flex w-full items-center gap-1.5 text-left [&_svg]:shrink-0",{variants:{size:{sm:"py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",md:"py-1.5 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"py-2 text-base [&_svg]:h-4 [&_svg]:w-4"}},defaultVariants:{size:"md"}}),In=classVarianceAuthority.cva("flex cursor-pointer items-center gap-1 rounded transition-colors [&_svg]:shrink-0",{variants:{size:{sm:"py-0.5 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"py-1 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"py-1.5 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{size:"md"}}),An=classVarianceAuthority.cva("relative rounded-xl border bg-white p-5 shadow-sm transition-shadow hover:shadow-md dark:bg-primary-900",{variants:{intent:{primary:"border-primary-200 dark:border-primary-700",success:"border-success-200 dark:border-success-800",danger:"border-danger-200 dark:border-danger-800",warning:"border-warning-200 dark:border-warning-800"},size:{sm:"p-4",md:"p-5",lg:"p-6"}},defaultVariants:{intent:"primary",size:"md"}}),Hn=classVarianceAuthority.cva("relative overflow-hidden rounded-xl border bg-white p-5 shadow-sm transition-all duration-300 hover:shadow-lg dark:bg-primary-900",{variants:{intent:{primary:"border-primary-200 dark:border-primary-700",success:"border-success-200 dark:border-success-800",danger:"border-danger-200 dark:border-danger-800",warning:"border-warning-200 dark:border-warning-800"},size:{sm:"p-4",md:"p-5",lg:"p-6"}},defaultVariants:{intent:"primary",size:"md"}}),Br=classVarianceAuthority.cva("overflow-x-auto rounded-lg font-mono [background:var(--color-syntax-bg)] [&_pre]:m-0 [&_pre]:p-4 [&_code]:bg-transparent",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}});function Or({intent:e,density:t,className:r,...n}){return jsxRuntime.jsx("div",{className:"w-full overflow-auto",children:jsxRuntime.jsx("table",{className:i(En({intent:e,density:t}),r),...n})})}function da({className:e,...t}){return jsxRuntime.jsx("thead",{className:i("bg-primary-50 text-primary-600 dark:bg-primary-800/50 dark:text-primary-400",e),...t})}function ma({className:e,...t}){return jsxRuntime.jsx("tbody",{className:i("[&_tr:last-child]:border-0",e),...t})}function $r({className:e,...t}){return jsxRuntime.jsx("tr",{className:i("border-primary-200 hover:bg-primary-50/50 dark:border-primary-700 dark:hover:bg-primary-800/30 border-b transition-colors",e),...t})}function qt({className:e,...t}){return jsxRuntime.jsx("th",{className:i("px-4 py-3 text-left text-xs font-semibold tracking-wider uppercase",e),...t})}function Zt({className:e,...t}){return jsxRuntime.jsx("td",{className:i("text-primary-700 dark:text-primary-300 px-4 py-3",e),...t})}function pa({icon:e,text:t="No data",className:r}){return jsxRuntime.jsxs("div",{className:i("flex flex-col items-center justify-center gap-3 py-16 text-primary-400 dark:text-primary-500",r),children:[e??jsxRuntime.jsx(lucideReact.Inbox,{className:"h-12 w-12 stroke-[1.2]"}),jsxRuntime.jsx("span",{className:"text-sm",children:t})]})}var fi={sm:"hidden sm:table-cell",md:"hidden md:table-cell",lg:"hidden lg:table-cell"};function zd({columns:e,data:t,sort:r,onSortChange:n,defaultSort:o=null,rowKey:s,rowActions:a,intent:l,density:d,className:m,empty:c}){let[f,p]=Kr.useState(o),u=r??f,h=Kr.useCallback(x=>{let w=u?.column===x?u.direction==="asc"?{column:x,direction:"desc"}:null:{column:x,direction:"asc"};n?n(w):p(w);},[u,n]),g=Kr.useMemo(()=>{if(!u)return t;let x=e.find(M=>M.key===u.column);if(!x)return t;let w=x.compareFn??((M,v)=>{let N=x.cell(M),L=x.cell(v);return N==null&&L==null?0:N==null?-1:L==null?1:typeof N=="number"&&typeof L=="number"?N-L:String(N).localeCompare(String(L))}),y=[...t].sort(w);return u.direction==="desc"?y.reverse():y},[t,u,e]);return jsxRuntime.jsxs(Or,{intent:l,density:d,className:m,children:[jsxRuntime.jsx(da,{children:jsxRuntime.jsxs($r,{children:[e.map(x=>{let w=x.sortable!==false,y=u?.column===x.key;return jsxRuntime.jsx(qt,{className:i(w&&"cursor-pointer select-none",x.headerClassName,x.hideBelow&&fi[x.hideBelow]),onClick:w?()=>h(x.key):void 0,"aria-sort":y?u.direction==="asc"?"ascending":"descending":void 0,children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[x.header,w&&jsxRuntime.jsx(gi,{active:y,direction:y?u.direction:null})]})},x.key)}),a&&jsxRuntime.jsx(qt,{className:"w-20 text-right",children:"Actions"})]})}),jsxRuntime.jsx(ma,{children:g.length===0?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:e.length+(a?1:0),children:jsxRuntime.jsx(pa,{...c})})}):g.map((x,w)=>jsxRuntime.jsxs($r,{children:[e.map(y=>jsxRuntime.jsx(Zt,{className:i(y.cellClassName,y.hideBelow&&fi[y.hideBelow]),children:y.cell(x)},y.key)),a&&jsxRuntime.jsx(Zt,{className:"text-right",children:jsxRuntime.jsx("span",{className:"inline-flex items-center gap-1",children:a(x)})})]},s?s(x,w):w))})]})}function $d({value:e,onCommit:t,onCancel:r}){let[n,o]=Kr.useState(e),s=Kr.useRef(null);Kr.useEffect(()=>{s.current?.focus(),s.current?.select();},[]);let a=()=>t(n);return jsxRuntime.jsxs("span",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("input",{ref:s,type:"text",value:n,onChange:l=>o(l.target.value),onKeyDown:l=>{l.key==="Enter"&&a(),l.key==="Escape"&&r();},"aria-label":"Edit cell",className:"min-w-0 flex-1 rounded border border-primary-400 bg-white px-1.5 py-0.5 text-sm outline-none focus:ring-1 focus:ring-primary-400 dark:border-primary-600 dark:bg-secondary-800"}),jsxRuntime.jsx("button",{type:"button",onClick:a,className:"text-success-600 hover:text-success-700 dark:text-success-400","aria-label":"Confirm",children:jsxRuntime.jsx(lucideReact.Check,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{type:"button",onClick:r,className:"text-danger-500 hover:text-danger-600 dark:text-danger-400","aria-label":"Cancel",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})}function Od({columns:e,data:t,rowKey:r,sort:n,onSortChange:o,defaultSort:s=null,selectionMode:a="none",selected:l,onSelectionChange:d,editable:m=false,onCellEdit:c,toolbar:f=false,onAdd:p,onDelete:u,rowActions:h,intent:g,density:x,className:w,empty:y}){let[M,v]=Kr.useState(s),N=n??M,L=Kr.useCallback($=>{let U=N?.column===$?N.direction==="asc"?{column:$,direction:"desc"}:null:{column:$,direction:"asc"};o?o(U):v(U);},[N,o]),R=Kr.useMemo(()=>{if(!N)return t;let $=e.find(j=>j.key===N.column);if(!$)return t;let U=$.compareFn??((j,b)=>{let I=$.cell(j),W=$.cell(b);return I==null&&W==null?0:I==null?-1:W==null?1:typeof I=="number"&&typeof W=="number"?I-W:String(I).localeCompare(String(W))}),me=[...t].sort(U);return N.direction==="desc"?me.reverse():me},[t,N,e]),[D,A]=Kr.useState([]),V=l??D,k=d??A,O=Kr.useMemo(()=>R.map(($,U)=>r($,U)),[R,r]),C=a==="multiple"&&O.length>0&&O.every($=>V.includes($)),X=a==="multiple"&&V.length>0&&!C,T=Kr.useCallback($=>{a==="single"?k(V.includes($)?[]:[$]):a==="multiple"&&k(V.includes($)?V.filter(U=>U!==$):[...V,$]);},[a,V,k]),re=Kr.useCallback(()=>{k(C?[]:O);},[C,O,k]),[_,de]=Kr.useState(null),J=Kr.useCallback(($,U,me)=>{m&&me!==false&&de({rowKey:$,colKey:U});},[m]),pe=Kr.useCallback(($,U,me)=>{c?.($,U,me),de(null);},[c]);return jsxRuntime.jsxs("div",{className:"space-y-2",children:[f&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[p&&jsxRuntime.jsxs("button",{type:"button",onClick:p,className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-secondary-700 transition-colors hover:bg-secondary-50 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:hover:bg-secondary-700",children:[jsxRuntime.jsx(lucideReact.Plus,{className:"h-3.5 w-3.5"})," Add"]}),u&&jsxRuntime.jsxs("button",{type:"button",onClick:()=>u(V),disabled:V.length===0,className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-danger-600 transition-colors hover:bg-danger-50 disabled:opacity-40 disabled:pointer-events-none dark:border-secondary-600 dark:bg-secondary-800 dark:text-danger-400 dark:hover:bg-danger-900/20",children:[jsxRuntime.jsx(lucideReact.Trash2,{className:"h-3.5 w-3.5"})," Delete",V.length>0&&` (${V.length})`]}),m&&V.length===1&&jsxRuntime.jsxs("button",{type:"button",onClick:()=>{let $=e.find(U=>U.editable!==false);$&&de({rowKey:V[0],colKey:$.key});},className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-secondary-700 transition-colors hover:bg-secondary-50 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:hover:bg-secondary-700",children:[jsxRuntime.jsx(lucideReact.Pencil,{className:"h-3.5 w-3.5"})," Edit"]}),V.length>0&&jsxRuntime.jsxs("span",{className:"ml-auto text-sm text-secondary-500 dark:text-secondary-400",children:[V.length," row",V.length>1?"s":""," selected"]})]}),jsxRuntime.jsxs(Or,{intent:g,density:x,className:w,children:[jsxRuntime.jsx(da,{children:jsxRuntime.jsxs($r,{children:[a==="multiple"&&jsxRuntime.jsx(qt,{className:"w-10",children:jsxRuntime.jsx("input",{type:"checkbox",checked:C,ref:$=>{$&&($.indeterminate=X);},onChange:re,className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select all"})}),a==="single"&&jsxRuntime.jsx(qt,{className:"w-10"}),e.map($=>{let U=$.sortable!==false,me=N?.column===$.key;return jsxRuntime.jsx(qt,{className:i(U&&"cursor-pointer select-none",$.headerClassName),onClick:U?()=>L($.key):void 0,"aria-sort":me?N.direction==="asc"?"ascending":"descending":void 0,children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[$.header,U&&jsxRuntime.jsx(gi,{active:me,direction:me?N.direction:null})]})},$.key)}),h&&jsxRuntime.jsx(qt,{className:"w-20 text-right",children:"Actions"})]})}),jsxRuntime.jsx(ma,{children:R.length===0?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:e.length+(a!=="none"?1:0)+(h?1:0),children:jsxRuntime.jsx(pa,{...y})})}):R.map(($,U)=>{let me=r($,U),j=V.includes(me);return jsxRuntime.jsxs($r,{className:i(j&&"bg-primary-50/60 dark:bg-primary-900/20"),onClick:()=>{a!=="none"&&T(me);},children:[a==="multiple"&&jsxRuntime.jsx(Zt,{className:"w-10",children:jsxRuntime.jsx("input",{type:"checkbox",checked:j,onChange:()=>T(me),onClick:b=>b.stopPropagation(),className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select row"})}),a==="single"&&jsxRuntime.jsx(Zt,{className:"w-10",children:jsxRuntime.jsx("input",{type:"radio",checked:j,onChange:()=>T(me),onClick:b=>b.stopPropagation(),className:"h-4 w-4 cursor-pointer accent-primary-600","aria-label":"Select row"})}),e.map(b=>{let I=_?.rowKey===me&&_?.colKey===b.key,W=b.editValue?.($)??(()=>{let K=b.cell($);return typeof K=="string"||typeof K=="number"?String(K):""})();return jsxRuntime.jsx(Zt,{className:i(b.cellClassName,m&&b.editable!==false&&"cursor-text"),onDoubleClick:K=>{K.stopPropagation(),J(me,b.key,b.editable);},children:I?jsxRuntime.jsx($d,{value:W,onCommit:K=>pe(me,b.key,K),onCancel:()=>de(null)}):b.cell($)},b.key)}),h&&jsxRuntime.jsx(Zt,{className:"text-right",onClick:b=>b.stopPropagation(),children:jsxRuntime.jsx("span",{className:"inline-flex items-center gap-1",children:h($)})})]},me)})})]})]})}function gi({active:e,direction:t}){let r="h-3.5 w-3.5 shrink-0";return !e||!t?jsxRuntime.jsx(lucideReact.ArrowUpDown,{className:i(r,"opacity-30")}):t==="asc"?jsxRuntime.jsx(lucideReact.ArrowUp,{className:i(r,"opacity-70")}):jsxRuntime.jsx(lucideReact.ArrowDown,{className:i(r,"opacity-70")})}var bi=Kr.createContext({size:"md"});function ua({intent:e,size:t="md",className:r,...n}){return jsxRuntime.jsx(bi.Provider,{value:{size:t},children:jsxRuntime.jsx("ul",{className:i(Dn({intent:e}),r),...n})})}function jd({actions:e,className:t,children:r,...n}){let{size:o}=Kr.useContext(bi);return jsxRuntime.jsxs("li",{className:i(Vn({size:o}),t),...n,children:[jsxRuntime.jsx("span",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:r}),e&&jsxRuntime.jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100 [@media(hover:none)]:opacity-100 [@media(hover:none)]:[&>button]:min-h-(--row-action-touch-min) [@media(hover:none)]:[&>button]:min-w-(--row-action-touch-min) [@media(hover:none)]:[&>button]:flex [@media(hover:none)]:[&>button]:items-center [@media(hover:none)]:[&>button]:justify-center",children:e})]})}var yi=Kr.createContext({showLines:true,expandedKeys:null,onToggleKey:()=>{},size:"md"});function fa({showLines:e=true,showRoot:t=true,expandedKeys:r,defaultExpandedKeys:n="all",onExpandedKeysChange:o,size:s="md",className:a,children:l,...d}){let [m,c]=Kr.useState(()=>n),p=Kr.useCallback(h=>{if(r){let g=new Set(r);g.has(h)?g.delete(h):g.add(h),o?.(g);}else c(g=>{if(g==="all")return new Set(["__ALL_MINUS__",h]);let x=new Set(g);return x.has(h)?x.delete(h):x.add(h),x});},[r,o]),u=r??(m==="all"?null:m);return jsxRuntime.jsx(yi.Provider,{value:{showLines:e,expandedKeys:u,onToggleKey:p,size:s},children:t?jsxRuntime.jsx("ul",{className:i("text-sm",a),role:"tree",...d,children:l}):jsxRuntime.jsx("ul",{className:i("text-sm",a),role:"tree",...d,children:jsxRuntime.jsx(Zd,{children:l})})})}function Zd({children:e}){let t=vi(e);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:t.map(r=>Kr__default.default.isValidElement(r)&&r.props.children?r.props.children:null)})}function vi(e){let t=[];return Kr__default.default.Children.forEach(e,r=>{Kr__default.default.isValidElement(r)&&r.type===Kr__default.default.Fragment?t.push(...vi(r.props.children)):t.push(r);}),t}function Qd({nodeKey:e,label:t,icon:r,actions:n,defaultExpanded:o=false,expanded:s,onToggle:a,children:l,className:d}){let{showLines:m,expandedKeys:c,onToggleKey:f,size:p}=Kr.useContext(yi),[u,h]=Kr.useState(o),g=Kr__default.default.Children.count(l)>0,x=e??(typeof t=="string"?t:""),w;s!=null?w=s:c!=null&&x?c.has("__ALL_MINUS__")?w=!c.has(x):w=c.has(x):w=u;let y=()=>{let M=!w;a?a(M):c!=null&&x?f(x):h(M);};return jsxRuntime.jsxs("li",{className:i("select-none",d),role:"treeitem","aria-expanded":g?w:void 0,children:[jsxRuntime.jsxs("div",{className:i("group hover:bg-primary-50 dark:hover:bg-primary-800/50 rounded-md px-1",In({size:p}),g?"cursor-pointer":"cursor-default"),onClick:g?y:void 0,children:[g?jsxRuntime.jsx(lucideReact.ChevronRight,{className:i("text-primary-400 h-4 w-4 shrink-0 transition-transform duration-200",w&&"rotate-90")}):jsxRuntime.jsx("span",{className:"w-4 shrink-0"}),r&&jsxRuntime.jsx("span",{className:"shrink-0",children:r}),jsxRuntime.jsx("span",{className:"text-primary-700 dark:text-primary-300 min-w-0 flex-1 truncate",children:t}),n&&jsxRuntime.jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100 [@media(hover:none)]:opacity-100 [@media(hover:none)]:[&>button]:min-h-(--row-action-touch-min) [@media(hover:none)]:[&>button]:min-w-(--row-action-touch-min) [@media(hover:none)]:[&>button]:flex [@media(hover:none)]:[&>button]:items-center [@media(hover:none)]:[&>button]:justify-center",onClick:M=>M.stopPropagation(),children:n})]}),g&&jsxRuntime.jsx("div",{className:i("grid transition-[grid-template-rows] duration-200 ease-out",w?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:jsxRuntime.jsx("div",{className:"overflow-hidden",children:jsxRuntime.jsx("ul",{className:i("ml-4 pl-2",m&&"border-primary-200 dark:border-primary-700 border-l"),role:"group",children:l})})})]})}function rm({avatar:e,sender:t}){return e?typeof e=="string"?/^(?:https?|data|blob):/.test(e)?jsxRuntime.jsx("img",{src:e,alt:t,className:"h-8 w-8 shrink-0 rounded-full object-cover",draggable:false}):jsxRuntime.jsx("div",{className:"bg-primary-200 text-primary-600 dark:bg-primary-700 dark:text-primary-300 flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-lg select-none",children:e}):jsxRuntime.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full",children:e}):jsxRuntime.jsx("div",{className:"bg-primary-200 text-primary-600 dark:bg-primary-700 dark:text-primary-300 flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-sm font-semibold select-none",children:t.charAt(0).toUpperCase()})}function nm({msg:e,alignRight:t}){return jsxRuntime.jsxs("div",{className:i("flex gap-2.5",t?"flex-row-reverse":"flex-row"),children:[jsxRuntime.jsx(rm,{avatar:e.avatar,sender:e.sender}),jsxRuntime.jsxs("div",{className:i("flex max-w-[75%] flex-col gap-0.5",t?"items-end":"items-start"),children:[jsxRuntime.jsx("span",{className:"text-primary-500 dark:text-primary-400 text-xs",children:e.sender}),jsxRuntime.jsx("div",{className:i("rounded-xl px-3 py-2 text-sm leading-relaxed",t?"rounded-tr-sm bg-primary-500 text-white dark:bg-primary-600":"bg-primary-100 text-primary-800 dark:bg-primary-800 dark:text-primary-200 rounded-tl-sm"),children:e.content}),e.time&&jsxRuntime.jsx("span",{className:"text-primary-400 dark:text-primary-500 text-[10px]",children:e.time})]})]})}function ba({messages:e,mode:t="split",autoScroll:r=true,className:n,...o}){let s=Kr.useRef(null);return Kr.useEffect(()=>{r&&s.current?.scrollIntoView({behavior:"smooth"});},[e,r]),jsxRuntime.jsxs("div",{className:i("flex flex-col gap-4 overflow-y-auto rounded-lg border p-4","border-primary-200 dark:border-primary-700 dark:bg-primary-900 bg-white",n),...o,children:[e.map(a=>{let l=t==="split"&&!!a.self;return jsxRuntime.jsx(nm,{msg:a,alignRight:l},a.id)}),jsxRuntime.jsx("div",{ref:s})]})}var sm={name:"onyx-css-vars",type:"dark",settings:[{settings:{foreground:"var(--color-syntax-plain)",background:"var(--color-syntax-bg)"}},{scope:["comment","punctuation.definition.comment"],settings:{foreground:"var(--color-syntax-comment)",fontStyle:"italic"}},{scope:["keyword","keyword.control","keyword.operator.new","keyword.operator.expression","storage.type","storage.modifier"],settings:{foreground:"var(--color-syntax-keyword)"}},{scope:["string","string.quoted","string.template"],settings:{foreground:"var(--color-syntax-string)"}},{scope:["entity.name.function","support.function","meta.function-call"],settings:{foreground:"var(--color-syntax-function)"}},{scope:["variable","variable.other","variable.parameter","meta.definition.variable"],settings:{foreground:"var(--color-syntax-variable)"}},{scope:["constant.numeric","constant.language"],settings:{foreground:"var(--color-syntax-number)"}},{scope:["keyword.operator","keyword.operator.assignment","keyword.operator.comparison","keyword.operator.arithmetic"],settings:{foreground:"var(--color-syntax-operator)"}},{scope:["entity.name.tag","punctuation.definition.tag","support.class.component"],settings:{foreground:"var(--color-syntax-tag)"}},{scope:["entity.other.attribute-name","meta.tag.attributes"],settings:{foreground:"var(--color-syntax-attr)"}},{scope:["punctuation","meta.brace","punctuation.definition.block","punctuation.separator","punctuation.terminator"],settings:{foreground:"var(--color-syntax-punctuation)"}},{scope:["entity.name.type","support.type","support.class","entity.other.inherited-class"],settings:{foreground:"var(--color-syntax-type)"}}]},im={typescript:()=>import('@shikijs/langs/typescript'),javascript:()=>import('@shikijs/langs/javascript'),tsx:()=>import('@shikijs/langs/tsx'),jsx:()=>import('@shikijs/langs/jsx'),html:()=>import('@shikijs/langs/html'),css:()=>import('@shikijs/langs/css'),json:()=>import('@shikijs/langs/json'),markdown:()=>import('@shikijs/langs/markdown'),python:()=>import('@shikijs/langs/python'),rust:()=>import('@shikijs/langs/rust'),go:()=>import('@shikijs/langs/go'),java:()=>import('@shikijs/langs/java'),c:()=>import('@shikijs/langs/c'),cpp:()=>import('@shikijs/langs/cpp'),csharp:()=>import('@shikijs/langs/csharp'),vue:()=>import('@shikijs/langs/vue'),xml:()=>import('@shikijs/langs/xml'),yaml:()=>import('@shikijs/langs/yaml'),sql:()=>import('@shikijs/langs/sql'),bash:()=>import('@shikijs/langs/bash'),shell:()=>import('@shikijs/langs/shell')},ya=null,ki=new Set;function lm(){return ya||(ya=Promise.all([import('shiki/core'),import('shiki/engine/javascript')]).then(([{createHighlighterCore:e},{createJavaScriptRegexEngine:t}])=>e({themes:[sm],langs:[],engine:t()}))),ya}async function cm(e,t,r){let n=await lm();if(t&&!ki.has(t)){let s=im[t];if(s)try{let a=await s();await n.loadLanguage(a.default??a),ki.add(t);}catch{t="text";}else t="text";}let o=n.codeToHtml(e,{lang:t||"text",theme:"onyx-css-vars"});if(o=o.replace(/(<pre [^>]*style=")/,"$1line-height:1.7;tab-size:2;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;"),r){let s=0;o=o.replace(/<span class="line">/g,()=>(s++,`<span class="line"><span class="line-number" data-line="${s}"></span>`));}return o}function va({code:e,language:t="text",lineNumbers:r=false,editable:n=false,onCodeChange:o,size:s,className:a,...l}){let[d,m]=Kr.useState(""),c=Kr.useRef(null),f=Kr.useRef(null),p=Kr.useRef(null);Kr.useEffect(()=>{let v=false;return cm(e,t,n?false:r).then(N=>{v||m(N);}),()=>{v=true;}},[e,t,r,n]);let u=Kr.useCallback(()=>{let v=f.current,N=p.current?.querySelector("pre"),L=c.current?.querySelector("[data-gutter]");v&&N&&(N.scrollTop=v.scrollTop,N.scrollLeft=v.scrollLeft),v&&L&&(L.scrollTop=v.scrollTop);},[]),h=Kr.useCallback(v=>{o?.(v.target.value);},[o]),g=Kr.useCallback(v=>{if(v.key==="Tab"){v.preventDefault();let N=v.currentTarget,L=N.selectionStart,R=N.selectionEnd,D=N.value.substring(0,L)+" "+N.value.substring(R);o?.(D),requestAnimationFrame(()=>{N.selectionStart=N.selectionEnd=L+2;});}},[o]),x=r&&"[&_.line-number]:inline-block [&_.line-number]:w-8 [&_.line-number]:mr-4 [&_.line-number]:text-right [&_.line-number]:text-secondary-400 [&_.line-number]:select-none [&_.line-number]:before:content-[attr(data-line)]",w="ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",y=1.7,M=e.split(`
2
+ `).length;return n?jsxRuntime.jsxs("div",{ref:c,className:i(Br({size:s}),"flex border border-primary-200 dark:border-primary-700",a),style:{background:"var(--color-syntax-bg)"},...l,children:[r&&jsxRuntime.jsx("div",{"data-gutter":true,"aria-hidden":true,className:"shrink-0 select-none overflow-hidden py-4 pl-3 pr-1 text-right text-secondary-400",style:{fontFamily:w,lineHeight:y,width:"3rem"},children:Array.from({length:M},(v,N)=>jsxRuntime.jsx("div",{children:N+1},N))}),jsxRuntime.jsxs("div",{className:"relative min-w-0 flex-1",children:[jsxRuntime.jsx("textarea",{ref:f,value:e,onChange:h,onScroll:u,onKeyDown:g,spellCheck:false,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",className:"relative z-2 m-0 block h-full w-full resize-none overflow-auto whitespace-pre border-none bg-transparent p-4 text-transparent caret-primary-600 outline-none dark:caret-primary-400",style:{fontFamily:w,lineHeight:y,tabSize:2,minHeight:"6rem"}}),jsxRuntime.jsx("div",{ref:p,"aria-hidden":true,className:"pointer-events-none absolute inset-0 z-1 overflow-hidden [&_pre]:m-0 [&_pre]:h-full [&_pre]:overflow-hidden [&_pre]:p-4 [&_code]:bg-transparent",dangerouslySetInnerHTML:d?{__html:d}:void 0})]})]}):jsxRuntime.jsx("div",{ref:c,className:i(Br({size:s}),"border border-primary-200 dark:border-primary-700",x,a),style:{background:"var(--color-syntax-bg)"},...l,children:jsxRuntime.jsx("div",{ref:p,className:"[&_pre]:m-0 [&_pre]:p-4",dangerouslySetInnerHTML:d?{__html:d}:void 0,children:d?void 0:jsxRuntime.jsx("pre",{className:"m-0 p-4",style:{background:"var(--color-syntax-bg)"},children:jsxRuntime.jsx("code",{children:e})})})})}var um={up:lucideReact.TrendingUp,down:lucideReact.TrendingDown,neutral:lucideReact.Minus},fm={up:"text-success-600 dark:text-success-400",down:"text-danger-600 dark:text-danger-400",neutral:"text-secondary-500 dark:text-secondary-400"};function ka({title:e,value:t,prefix:r,suffix:n,icon:o,trend:s,trendValue:a,description:l,intent:d,size:m,className:c}){let f=s?um[s]:null,p=s?fm[s]:"";return jsxRuntime.jsx("div",{className:i(An({intent:d,size:m}),c),children:jsxRuntime.jsxs("div",{className:"flex items-start justify-between gap-3",children:[jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("p",{className:"truncate text-xs font-medium tracking-wider uppercase text-secondary-500 dark:text-secondary-400",children:e}),jsxRuntime.jsxs("p",{className:"mt-1 flex items-baseline gap-1 text-2xl font-bold text-primary-900 dark:text-primary-50",children:[r&&jsxRuntime.jsx("span",{className:"text-base font-semibold text-secondary-500 dark:text-secondary-400",children:r}),jsxRuntime.jsx("span",{children:t}),n&&jsxRuntime.jsx("span",{className:"text-base font-semibold text-secondary-500 dark:text-secondary-400",children:n})]}),(s||l)&&jsxRuntime.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[s&&f&&jsxRuntime.jsxs("span",{className:i("flex items-center gap-0.5 text-xs font-semibold",p),children:[jsxRuntime.jsx(f,{className:"h-3.5 w-3.5"}),a]}),l&&jsxRuntime.jsx("span",{className:"text-xs text-secondary-500 dark:text-secondary-400",children:l})]})]}),o&&jsxRuntime.jsx("div",{className:i("flex h-10 w-10 shrink-0 items-center justify-center rounded-xl [&_svg]:h-5 [&_svg]:w-5",d==="success"&&"bg-success-100 text-success-600 dark:bg-success-900/30 dark:text-success-400",d==="danger"&&"bg-danger-100 text-danger-600 dark:bg-danger-900/30 dark:text-danger-400",d==="warning"&&"bg-warning-100 text-warning-600 dark:bg-warning-900/30 dark:text-warning-400",(!d||d==="primary")&&"bg-primary-100 text-primary-600 dark:bg-primary-800 dark:text-primary-400"),children:o})]})})}function vm(e){return 1-Math.pow(1-e,4)}function km(e,t,r,n,o){let[s,a]=Kr.useState(()=>o?o(t):t.toFixed(n)),l=Kr.useRef(null),d=Kr.useRef(null);return Kr.useEffect(()=>{l.current!==null&&cancelAnimationFrame(l.current),d.current=null;let m=c=>{d.current===null&&(d.current=c);let f=c-d.current,p=Math.min(f/r,1),u=vm(p),h=t+(e-t)*u;a(o?o(h):h.toFixed(n)),p<1&&(l.current=requestAnimationFrame(m));};return l.current=requestAnimationFrame(m),()=>{l.current!==null&&cancelAnimationFrame(l.current);}},[e,t,r,n,o]),s}var wm={up:lucideReact.TrendingUp,down:lucideReact.TrendingDown,neutral:lucideReact.Minus},Nm={up:"text-success-600 dark:text-success-400",down:"text-danger-600 dark:text-danger-400",neutral:"text-secondary-500 dark:text-secondary-400"},Ci={primary:"bg-primary-100 text-primary-600 dark:bg-primary-800/60 dark:text-primary-300",success:"bg-success-100 text-success-600 dark:bg-success-900/30 dark:text-success-400",danger:"bg-danger-100 text-danger-600 dark:bg-danger-900/30 dark:text-danger-400",warning:"bg-warning-100 text-warning-600 dark:bg-warning-900/30 dark:text-warning-400"};function wa({title:e,value:t,decimals:r=0,prefix:n,suffix:o,icon:s,trend:a,trendValue:l,description:d,animateDuration:m=1200,formatter:c,from:f=0,intent:p,size:u,className:h}){let g=km(t,f,m,r,c),x=a?wm[a]:null,w=a?Nm[a]:"";return jsxRuntime.jsxs("div",{className:i(Hn({intent:p,size:u}),h),children:[jsxRuntime.jsx("div",{className:i("pointer-events-none absolute inset-x-0 top-0 h-0.5 rounded-t-xl",p==="success"&&"bg-gradient-to-r from-success-400 to-success-600",p==="danger"&&"bg-gradient-to-r from-danger-400 to-danger-600",p==="warning"&&"bg-gradient-to-r from-warning-400 to-warning-600",(!p||p==="primary")&&"bg-gradient-to-r from-primary-400 to-primary-600")}),jsxRuntime.jsxs("div",{className:"flex items-start justify-between gap-4",children:[jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("p",{className:"text-xs font-semibold tracking-widest uppercase text-secondary-500 dark:text-secondary-400",children:e}),jsxRuntime.jsxs("p",{className:"mt-2 flex items-baseline gap-1",children:[n&&jsxRuntime.jsx("span",{className:"text-lg font-semibold text-secondary-400 dark:text-secondary-500",children:n}),jsxRuntime.jsx("span",{className:"font-mono text-3xl font-bold tabular-nums text-primary-900 dark:text-primary-50",children:g}),o&&jsxRuntime.jsx("span",{className:"text-lg font-semibold text-secondary-400 dark:text-secondary-500",children:o})]})]}),s&&jsxRuntime.jsx("div",{className:i("flex h-12 w-12 shrink-0 items-center justify-center rounded-2xl [&_svg]:h-6 [&_svg]:w-6",Ci[p??"primary"]??Ci.primary),children:s})]}),(a||d)&&jsxRuntime.jsxs("div",{className:"mt-3 flex items-center gap-2 border-t border-primary-100 pt-3 dark:border-primary-700/50",children:[a&&x&&jsxRuntime.jsxs("span",{className:i("flex items-center gap-0.5 text-xs font-bold",w),children:[jsxRuntime.jsx(x,{className:"h-3.5 w-3.5"}),l]}),d&&jsxRuntime.jsx("span",{className:"text-xs text-secondary-500 dark:text-secondary-400",children:d})]})]})}var Cm={Table:Or,List:ua,Tree:fa,Chat:ba,CodeBlock:va,Stat:ka,MetricCard:wa},Na=Cm;var er="flex w-full items-center gap-2 rounded-md px-3 py-1.5 text-sm transition-colors cursor-pointer",Ri="bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100 font-medium",hr="text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200",xr="flex items-center justify-center rounded-md p-2 transition-colors cursor-pointer text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200";function Dm({to:e,className:t,style:r,children:n}){let o=typeof t=="function"?t({isActive:false}):t;return jsxRuntime.jsx("a",{href:e,className:o,style:r,children:n})}var Ca=["expanded","icons","mini"];function Vm(e){let t=Ca.indexOf(e);return Ca[(t+1)%Ca.length]}function Mi(e){let t=new Set;for(let r of e)if(r.children&&r.children.length>0){t.add(r.key??r.label);for(let n of Mi(r.children))t.add(n);}return t}function Pi({item:e,basePath:t,depth:r,onItemClick:n,LinkComponent:o,showLines:s,expandedKeys:a,onToggle:l}){let d=e.key??e.label,m=e.children&&e.children.length>0,[c,f]=Kr.useState(e.defaultOpen??true),p=a?a.has(d):c,u=Kr.useCallback(()=>{a?l(d):f(g=>!g);},[a,l,d]),h=r>0?`${r*1.25}rem`:void 0;if(m)return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("button",{type:"button",onClick:u,className:i(er,hr,"justify-between"),style:{paddingLeft:h},children:[jsxRuntime.jsxs("span",{className:"flex items-center gap-2",children:[e.icon,e.label]}),jsxRuntime.jsx(lucideReact.ChevronRight,{className:i("h-3.5 w-3.5 transition-transform",p&&"rotate-90")})]}),p&&jsxRuntime.jsx("div",{className:i("flex flex-col gap-0.5 pt-0.5",s?"ml-2.5 border-l border-primary-200 dark:border-primary-700":"ml-2"),children:e.children.map(g=>jsxRuntime.jsx(Pi,{item:g,basePath:t,depth:r+1,onItemClick:n,LinkComponent:o,showLines:s,expandedKeys:a,onToggle:l},g.key??g.path??g.label))})]});if(e.path!=null){let g=t+e.path;return n?jsxRuntime.jsxs("button",{type:"button",onClick:()=>n(e,g),className:i(er,hr),style:{paddingLeft:h},children:[e.icon,e.label]}):jsxRuntime.jsxs(o,{to:g,className:({isActive:x})=>i(er,x?Ri:hr),style:{paddingLeft:h},children:[e.icon,e.label]})}return jsxRuntime.jsxs("span",{className:i(er,hr,"cursor-default"),style:{paddingLeft:h},children:[e.icon,e.label]})}function Im({item:e,basePath:t,onItemClick:r,LinkComponent:n}){let[o,s]=Kr.useState(false),a=Kr.useRef(null),l=Kr.useRef(void 0),[d,m]=Kr.useState({top:0,left:0}),c=()=>{clearTimeout(l.current),s(true);},f=()=>{l.current=setTimeout(()=>s(false),200);};Kr.useLayoutEffect(()=>{if(o&&a.current){let u=a.current.getBoundingClientRect();m({top:u.top,left:u.right+4});}},[o]);let p=e.icon||jsxRuntime.jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});return jsxRuntime.jsxs("div",{onMouseEnter:c,onMouseLeave:f,children:[jsxRuntime.jsx("button",{ref:a,type:"button",className:i(xr,"w-full"),title:e.label,onClick:()=>s(u=>!u),children:p}),o&&reactDom.createPortal(jsxRuntime.jsxs("div",{className:"fixed z-50 min-w-44 rounded-md border border-primary-200 bg-white p-1 shadow-lg dark:border-primary-700 dark:bg-primary-900",style:{top:d.top,left:d.left},onMouseEnter:c,onMouseLeave:f,children:[jsxRuntime.jsx("div",{className:"px-2.5 py-1.5 text-xs font-semibold uppercase text-primary-500 dark:text-primary-400",children:e.label}),jsxRuntime.jsx("div",{className:"flex flex-col gap-0.5",children:e.children?.map(u=>{let h=u.key??u.path??u.label;if(u.path!=null){let g=t+u.path;return r?jsxRuntime.jsxs("button",{type:"button",onClick:()=>{r(u,g),s(false);},className:i(er,hr),children:[u.icon,u.label]},h):jsxRuntime.jsxs(n,{to:g,className:({isActive:x})=>i(er,x?Ri:hr),children:[u.icon,u.label]},h)}return jsxRuntime.jsxs("span",{className:i(er,"cursor-default text-primary-400"),children:[u.icon,u.label]},h)})})]}),document.body)]})}function Am({item:e,basePath:t,onItemClick:r,LinkComponent:n}){let o=e.icon||jsxRuntime.jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});if(e.path!=null){let s=t+e.path;return r?jsxRuntime.jsx("button",{type:"button",onClick:()=>r(e,s),className:i(xr,"w-full"),title:e.label,children:o}):jsxRuntime.jsx(n,{to:s,className:({isActive:a})=>i(xr,"w-full",a&&"bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100"),children:jsxRuntime.jsx("span",{title:e.label,children:o})})}return jsxRuntime.jsx("span",{className:i(xr,"w-full cursor-default"),title:e.label,children:o})}function Ra({items:e,title:t,basePath:r="/",onItemClick:n,LinkComponent:o=Dm,collapsible:s,collapseMode:a,defaultCollapseMode:l="expanded",onCollapseModeChange:d,showLines:m=true,expandedKeys:c,defaultExpandedKeys:f="all",onExpandedKeysChange:p,className:u,responsive:h=true,mobileBreakpoint:g=768,mobileTopOffset:x=48,...w}){let[y,M]=Kr.useState(l),v=a??y,N=Kr__default.default.useMemo(()=>Mi(e),[e]),[L,R]=Kr.useState(()=>f==="all"?new Set(N):new Set(f)),D=c??null,A=D??L,V=Kr.useCallback(j=>{let b=new Set(A);b.has(j)?b.delete(j):b.add(j),R(b),p?.(b);},[A,p]),k=Kr.useCallback(()=>{let j=Vm(v);M(j),d?.(j);},[v,d]),[O,C]=Kr.useState(()=>h&&typeof window<"u"&&window.innerWidth<g),[X,T]=Kr.useState(false);Kr.useEffect(()=>{if(!h||typeof window>"u"||!window.matchMedia)return;let j=window.matchMedia(`(max-width: ${g-1}px)`),b=I=>{C(I.matches),I.matches||T(false);};return j.addEventListener("change",b),()=>j.removeEventListener("change",b)},[h,g]);let re=Kr.useCallback(j=>{j.target.closest("a")&&T(false);},[]),_=Kr.useRef(null),de=Kr.useRef({startX:0,startY:0,dragging:false}),pe=Kr.useCallback(j=>{let b=j.touches[0];de.current={startX:b.clientX,startY:b.clientY,dragging:true};},[]),fe=Kr.useCallback(j=>{if(!de.current.dragging||!_.current)return;let b=j.touches[0],I=b.clientX-de.current.startX,W=b.clientY-de.current.startY;I>=0||Math.abs(W)>Math.abs(I)||(_.current.style.transform=`translateX(${Math.max(I,-224)}px)`,_.current.style.transition="none");},[]),$=Kr.useCallback(j=>{if(!de.current.dragging||!_.current)return;de.current.dragging=false;let b=j.changedTouches[0],I=b.clientX-de.current.startX,W=b.clientY-de.current.startY;_.current.style.transition="",_.current.style.transform="",I<-60&&Math.abs(I)>Math.abs(W)&&T(false);},[]),U=Kr.useMemo(()=>!O||!n?n:(j,b)=>{T(false),n(j,b);},[O,n]),me=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[s&&!O&&jsxRuntime.jsx("div",{className:i("flex shrink-0 mb-1",v==="expanded"?"justify-end":"justify-center"),children:jsxRuntime.jsx("button",{type:"button",onClick:k,className:xr,"aria-label":v==="mini"?"Expand sidebar":"Collapse sidebar",title:v==="mini"?"Expand sidebar":"Collapse sidebar",children:v==="mini"?jsxRuntime.jsx(lucideReact.Menu,{className:"h-5 w-5"}):jsxRuntime.jsx(lucideReact.ChevronsLeft,{className:"h-4 w-4"})})}),(O||v==="expanded")&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t&&jsxRuntime.jsx("h2",{className:"text-primary-500 dark:text-primary-400 mb-3 text-sm font-semibold uppercase",children:t}),e.map(j=>jsxRuntime.jsx(Pi,{item:j,basePath:r,depth:0,onItemClick:U,LinkComponent:o,showLines:m,expandedKeys:D,onToggle:V},j.key??j.path??j.label))]}),!O&&v==="icons"&&e.map(j=>{let b=j.key??j.path??j.label;return j.children&&j.children.length>0?jsxRuntime.jsx(Im,{item:j,basePath:r,onItemClick:U,LinkComponent:o},b):jsxRuntime.jsx(Am,{item:j,basePath:r,onItemClick:U,LinkComponent:o},b)})]});return h&&O?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[X&&reactDom.createPortal(jsxRuntime.jsx("div",{className:"fixed inset-0 z-40 bg-black/50",style:{top:x},onClick:()=>T(false)}),document.body),reactDom.createPortal(jsxRuntime.jsxs("aside",{ref:_,className:i("fixed bottom-0 left-0 z-50 flex flex-col w-56 border-r border-primary-200 dark:border-primary-700 bg-white dark:bg-primary-900 shadow-xl transition-transform duration-200",X?"translate-x-0":"-translate-x-full"),style:{top:x},onClick:re,onTouchStart:pe,onTouchMove:fe,onTouchEnd:$,children:[jsxRuntime.jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-primary-200 px-3 py-2 dark:border-primary-700",children:[jsxRuntime.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-primary-500 dark:text-primary-400",children:"Navigation"}),jsxRuntime.jsx("button",{type:"button",onClick:j=>{j.stopPropagation(),T(false);},className:i(xr,"h-7 w-7 p-1"),"aria-label":"Close navigation",children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})]}),jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto overscroll-y-contain p-3",children:jsxRuntime.jsx("nav",{className:"flex flex-col gap-0.5",children:me})})]}),document.body),!X&&reactDom.createPortal(jsxRuntime.jsx("button",{type:"button",className:"fixed left-0 z-50 flex h-14 w-5 items-center justify-center rounded-r-xl bg-primary-800/80 text-white shadow-md backdrop-blur-sm transition-colors hover:bg-primary-700/90 dark:bg-primary-200/80 dark:text-primary-900 dark:hover:bg-primary-300/90",style:{top:`calc(50% + ${x/2}px)`,transform:"translateY(-50%)"},onClick:()=>T(true),"aria-label":"Open navigation",children:jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-3.5 w-3.5"})}),document.body)]}):jsxRuntime.jsx("nav",{className:i("flex flex-col gap-0.5",v==="mini"&&"items-center",u),...w,children:me})}function _m({href:e,className:t,onClick:r,children:n}){return jsxRuntime.jsx("a",{href:e,className:t,onClick:r,children:n})}function Ma({brand:e,onBrandClick:t,navItems:r=[],actions:n=[],linkComponent:o=_m,height:s="h-12",mobileMenu:a=false,navMenuIcon:l,actionsMenuIcon:d,className:m,children:c}){let f=a&&r.length>0,p=a&&n.length>0,u="md:hidden rounded-md px-1.5 py-1.5 text-primary-500 dark:text-primary-400 hover:text-primary-700 dark:hover:text-primary-200 [&_svg]:h-5 [&_svg]:w-5",h=y=>y?"text-primary-900 font-medium dark:text-primary-100":"text-primary-500 hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-200 transition-colors",g="rounded-md p-1.5 text-primary-500 hover:bg-primary-100 hover:text-primary-700 dark:text-primary-400 dark:hover:bg-primary-800 dark:hover:text-primary-200 transition-colors [&_svg]:h-5 [&_svg]:w-5",x=r.map((y,M)=>({key:typeof y.label=="string"?y.label:String(M),label:y.active?jsxRuntime.jsx("span",{className:"font-semibold text-primary-900 dark:text-primary-100",children:y.label}):y.label,onClick:()=>{y.onClick?y.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):y.href&&(window.location.href=y.href);}})),w=n.map((y,M)=>({key:y.key??String(M),label:jsxRuntime.jsxs("span",{className:"flex items-center gap-2 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",children:[y.icon,jsxRuntime.jsx("span",{children:y.ariaLabel})]}),onClick:()=>{y.onClick?y.onClick({preventDefault:()=>{},stopPropagation:()=>{}}):y.href&&(y.external?window.open(y.href,"_blank","noopener,noreferrer"):window.location.href=y.href);}}));return jsxRuntime.jsxs("header",{className:i("flex shrink-0 items-center justify-between border-b px-5","border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",s,m),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2 md:gap-6",children:[e&&jsxRuntime.jsx("div",{className:i("text-lg font-bold text-primary-800 dark:text-primary-100",t&&"cursor-pointer"),onClick:t,role:t?"button":void 0,tabIndex:t?0:void 0,onKeyDown:t?y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),t(y));}:void 0,children:e}),f&&jsxRuntime.jsx(pr,{intent:"ghost",size:"sm",className:u,label:l??jsxRuntime.jsx(lucideReact.PanelLeft,{className:"h-5 w-5"}),items:x,align:"left",chevron:false,"aria-label":"Open navigation"}),r.length>0&&jsxRuntime.jsx("nav",{className:i("flex items-center gap-4 text-sm",a?"hidden md:flex":"flex"),children:r.map((y,M)=>{let v=typeof y.label=="string"?y.label:M,N=h(y.active);return y.href?jsxRuntime.jsx(o,{href:y.href,className:N,onClick:y.onClick,children:y.label},v):jsxRuntime.jsx("button",{type:"button",className:i(N,"cursor-pointer"),onClick:y.onClick,children:y.label},v)})})]}),c&&jsxRuntime.jsx("div",{className:"flex items-center",children:c}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[n.length>0&&jsxRuntime.jsx("div",{className:i("flex items-center gap-1",a?"hidden md:flex":"flex"),children:n.map((y,M)=>y.href?jsxRuntime.jsx("a",{href:y.href,target:y.external?"_blank":void 0,rel:y.external?"noopener noreferrer":void 0,className:g,"aria-label":y.ariaLabel,onClick:y.onClick,children:y.icon},y.key??M):jsxRuntime.jsx("button",{type:"button",className:g,"aria-label":y.ariaLabel,onClick:y.onClick,children:y.icon},y.key??M))}),p&&jsxRuntime.jsx(pr,{intent:"ghost",size:"sm",className:u,label:d??jsxRuntime.jsx(lucideReact.MoreHorizontal,{className:"h-5 w-5"}),items:w,align:"right",chevron:false,"aria-label":"Open menu"})]})]})}var $n=classVarianceAuthority.cva("inline-flex items-center gap-1 underline-offset-2 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/20 [&_svg]:shrink-0",{variants:{intent:{default:"text-primary-600 hover:text-primary-800 active:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:active:text-primary-100",secondary:"text-secondary-500 hover:text-secondary-700 active:text-secondary-800 dark:text-secondary-400 dark:hover:text-secondary-200 dark:active:text-secondary-100",muted:"text-primary-400 hover:text-primary-600 dark:text-primary-500 dark:hover:text-primary-300"},size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},underline:{always:"underline",hover:"hover:underline",none:"no-underline"}},defaultVariants:{intent:"default",size:"md",underline:"none"}});function zm(e,t){return !!(t==="_blank"||e&&/^https?:\/\//.test(e))}var $m=e=>jsxRuntime.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,...e,children:[jsxRuntime.jsx("path",{d:"M15 3h6v6"}),jsxRuntime.jsx("path",{d:"M10 14 21 3"}),jsxRuntime.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]});function Pa({intent:e,size:t,underline:r,external:n,className:o,children:s,href:a,target:l,rel:d,...m}){let c=n??zm(a,l);return jsxRuntime.jsxs("a",{href:a,target:c&&!l?"_blank":l,rel:c&&!d?"noopener noreferrer":d,className:i($n({intent:e,size:t,underline:r}),o),...m,children:[s,c&&jsxRuntime.jsx($m,{})]})}function Xn({items:e,separator:t=jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-3.5 w-3.5","aria-hidden":"true"}),homeIcon:r=false,LinkComponent:n="a",className:o}){return jsxRuntime.jsx("nav",{"aria-label":"Breadcrumb",className:i("flex",o),children:jsxRuntime.jsx("ol",{className:"flex flex-wrap items-center gap-1 text-sm",children:e.map((s,a)=>{let l=a===e.length-1,d=r===true?jsxRuntime.jsx(lucideReact.Home,{className:"h-3.5 w-3.5"}):r!==false&&r!==void 0?r:null,m=a===0&&d?d:s.icon;return jsxRuntime.jsxs("li",{className:"flex items-center gap-1",children:[a>0&&jsxRuntime.jsx("span",{className:"text-secondary-400 dark:text-secondary-500",children:t}),l?jsxRuntime.jsxs("span",{"aria-current":"page",className:i("flex items-center gap-1 font-medium text-primary-800 dark:text-primary-100",m&&"gap-1.5"),children:[m,s.label]}):s.href?jsxRuntime.jsxs(n,{href:s.href,className:i("flex items-center gap-1 text-secondary-500 transition-colors","hover:text-primary-700 dark:text-secondary-400 dark:hover:text-primary-200","rounded focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/30",m&&"gap-1.5"),children:[m,s.label]}):jsxRuntime.jsxs("span",{className:"flex items-center gap-1 text-secondary-500 dark:text-secondary-400",children:[m,s.label]})]},a)})})})}function jn(e,t){let r=[];for(let n=e;n<=t;n++)r.push(n);return r}function Um(e,t,r){let n=r*2+5;if(t<=n)return jn(1,t);let o=Math.max(e-r,1),s=Math.min(e+r,t),a=o>2,l=s<t-1;return !a&&l?[...jn(1,3+r*2),"\u2026",t]:a&&!l?[1,"\u2026",...jn(t-(3+r*2)+1,t)]:[1,"\u2026",...jn(o,s),"\u2026",t]}var Ei={sm:"h-7 min-w-7 px-1.5 text-xs",md:"h-9 min-w-9 px-2 text-sm",lg:"h-11 min-w-11 px-2.5 text-base"},Wr={sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5"};function Gr({onClick:e,disabled:t,active:r,size:n,"aria-label":o,children:s}){return jsxRuntime.jsx("button",{type:"button",onClick:e,disabled:t,"aria-label":o,"aria-current":r?"page":void 0,className:i("inline-flex items-center justify-center rounded font-medium transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/30",Ei[n],r?"bg-primary-600 text-white dark:bg-primary-500":"border border-primary-200 bg-white text-primary-700 hover:bg-primary-50 dark:border-primary-700 dark:bg-primary-900 dark:text-primary-300 dark:hover:bg-primary-800",t&&"pointer-events-none opacity-40"),children:s})}function Wn({totalPages:e,currentPage:t,onPageChange:r,siblingCount:n=2,showFirstLast:o=true,showPageCount:s=false,size:a="md",className:l}){if(e<=1)return null;let d=Um(t,e,n);return jsxRuntime.jsxs("nav",{"aria-label":"Pagination",className:i("flex items-center gap-1",l),children:[o&&jsxRuntime.jsx(Gr,{size:a,onClick:()=>r(1),disabled:t===1,"aria-label":"First page",children:jsxRuntime.jsx(lucideReact.ChevronsLeft,{className:Wr[a]})}),jsxRuntime.jsx(Gr,{size:a,onClick:()=>r(t-1),disabled:t===1,"aria-label":"Previous page",children:jsxRuntime.jsx(lucideReact.ChevronLeft,{className:Wr[a]})}),d.map((m,c)=>m==="\u2026"?jsxRuntime.jsx("span",{className:i("inline-flex items-center justify-center text-secondary-400",Ei[a]),"aria-hidden":"true",children:jsxRuntime.jsx(lucideReact.MoreHorizontal,{className:Wr[a]})},`ellipsis-${c}`):jsxRuntime.jsx(Gr,{size:a,active:m===t,onClick:()=>r(m),"aria-label":`Page ${m}`,children:m},m)),jsxRuntime.jsx(Gr,{size:a,onClick:()=>r(t+1),disabled:t===e,"aria-label":"Next page",children:jsxRuntime.jsx(lucideReact.ChevronRight,{className:Wr[a]})}),o&&jsxRuntime.jsx(Gr,{size:a,onClick:()=>r(e),disabled:t===e,"aria-label":"Last page",children:jsxRuntime.jsx(lucideReact.ChevronsRight,{className:Wr[a]})}),s&&jsxRuntime.jsxs("span",{className:"ml-2 text-sm text-secondary-500 dark:text-secondary-400",children:["Page ",t," of ",e]})]})}function Di({item:e,mode:t}){return e.separator?jsxRuntime.jsx("div",{className:"mx-1 h-10 w-px self-center bg-primary-200 dark:bg-primary-700","aria-hidden":true}):jsxRuntime.jsxs("button",{type:"button",title:e.title??e.label,disabled:e.disabled,onClick:e.onClick,"aria-pressed":e.active,className:i("relative flex shrink-0 items-center justify-center gap-1.5 rounded-lg px-2.5 py-1.5 text-xs font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-400","disabled:cursor-not-allowed disabled:opacity-40",e.active?"bg-primary-100 text-primary-700 shadow-inner dark:bg-primary-800 dark:text-primary-200":"text-primary-700 hover:bg-primary-50 active:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-800",t==="full"?"min-w-[3.5rem] flex-col gap-0.5 py-2":"","[&_svg]:shrink-0",t==="full"?"[&_svg]:h-5 [&_svg]:w-5":"[&_svg]:h-4 [&_svg]:w-4"),children:[e.icon&&jsxRuntime.jsx("span",{children:e.icon}),t!=="icons"&&jsxRuntime.jsx("span",{className:i(t==="full"?"text-[0.6rem] leading-tight":""),children:e.label})]})}function Jm({group:e,mode:t,disabled:r=false}){return jsxRuntime.jsxs("div",{className:i("flex shrink-0 flex-col items-stretch",r&&"opacity-50"),children:[jsxRuntime.jsx("div",{className:"flex items-center gap-0.5 px-1",children:e.items.map(n=>jsxRuntime.jsx(Di,{item:r?{...n,disabled:true}:n,mode:t},n.key))}),t==="full"&&jsxRuntime.jsx("div",{className:"mt-1 border-t border-primary-100 px-2 pt-0.5 text-center dark:border-primary-800",children:jsxRuntime.jsx("span",{className:"text-[0.55rem] text-secondary-400 dark:text-secondary-500",children:e.label})})]})}function La({tabs:e,defaultTab:t,activeTab:r,onTabChange:n,mode:o,onModeChange:s,sticky:a=false,className:l}){let d=e.filter(v=>!v.hidden),[m,c]=Kr.useState(t??d[0]?.key??""),[f,p]=Kr.useState(o??"full"),[u,h]=Kr.useState(true),g=r??m,x=o??f,w=v=>{if(!d.find(L=>L.key===v)?.disabled){if(v===g&&x!=="icons"){h(L=>!L);return}c(v),n?.(v),h(true);}},M=d.find(v=>v.key===g)??d[0];return jsxRuntime.jsxs("div",{className:i("select-none border-b border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",a&&"sticky top-0 z-30",l),children:[jsxRuntime.jsxs("div",{className:"flex items-center border-b border-primary-100 dark:border-primary-800",children:[jsxRuntime.jsx("div",{className:"flex flex-1 items-end overflow-x-auto",children:d.map(v=>jsxRuntime.jsxs("button",{type:"button",disabled:v.disabled,onClick:()=>w(v.key),className:i("flex shrink-0 items-center gap-1.5 border-b-2 px-4 py-2 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-400 [&_svg]:h-4 [&_svg]:w-4",v.disabled?"cursor-not-allowed border-transparent text-secondary-300 opacity-50 dark:text-secondary-600":v.key===g&&u?"border-primary-500 text-primary-700 dark:border-primary-400 dark:text-primary-200":"border-transparent text-secondary-500 hover:border-primary-300 hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-300"),children:[v.icon,v.label]},v.key))}),jsxRuntime.jsx("button",{type:"button",title:u?"Collapse ribbon":"Expand ribbon",onClick:()=>h(v=>!v),className:"ml-auto mr-2 rounded-md p-1.5 text-secondary-400 transition-colors hover:bg-primary-50 hover:text-primary-600 dark:hover:bg-primary-800 dark:hover:text-primary-300",children:u?jsxRuntime.jsx(lucideReact.ChevronUp,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-4 w-4"})})]}),u&&M&&x!=="icons"&&jsxRuntime.jsx("div",{className:"flex items-stretch gap-1 overflow-x-auto px-2 py-1.5",children:M.groups.map((v,N)=>jsxRuntime.jsxs(Kr__default.default.Fragment,{children:[N>0&&jsxRuntime.jsx("div",{className:"mx-1 h-auto w-px self-stretch bg-primary-100 dark:bg-primary-800"}),jsxRuntime.jsx(Jm,{group:v,mode:x,disabled:v.disabled||M.disabled})]},v.key))}),x==="icons"&&u&&M&&jsxRuntime.jsx("div",{className:"flex items-center gap-0.5 overflow-x-auto px-2 py-1",children:M.groups.flatMap(v=>v.items.map(N=>jsxRuntime.jsx(Di,{item:v.disabled||M.disabled?{...N,disabled:true}:N,mode:"icons"},N.key)))})]})}var ep={SideNav:Ra,Header:Ma,NavLink:Pa,Breadcrumb:Xn,Pagination:Wn,RibbonBar:La},Ea=ep;var Gn=classVarianceAuthority.cva("flex w-full items-center justify-between font-medium transition-all [&_svg]:shrink-0",{variants:{size:{sm:"py-2 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"py-3 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"py-4 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{size:"md"}}),Yn=classVarianceAuthority.cva("",{variants:{size:{sm:"pb-2 text-xs",md:"pb-3 text-sm",lg:"pb-4 text-base"}},defaultVariants:{size:"md"}}),Un=classVarianceAuthority.cva("divide-y",{variants:{intent:{default:"divide-primary-300 dark:divide-primary-700",bordered:"divide-primary-300 rounded-lg border border-primary-300 bg-white px-3 shadow-sm dark:divide-primary-700 dark:border-primary-700 dark:bg-primary-800/50",ghost:"divide-transparent"}},defaultVariants:{intent:"default"}}),qn=classVarianceAuthority.cva("flex",{variants:{intent:{line:"border-b border-primary-200 dark:border-primary-700",pills:"gap-1 rounded-lg bg-primary-100 p-1 dark:bg-primary-800",underline:"gap-4"}},defaultVariants:{intent:"line"}}),Zn=classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 whitespace-nowrap px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",{variants:{intent:{line:"text-primary-500 hover:text-primary-700 data-[active=true]:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:data-[active=true]:text-primary-100",pills:"rounded-md text-primary-600 hover:text-primary-900 data-[active=true]:bg-white data-[active=true]:text-primary-900 data-[active=true]:shadow-sm dark:text-primary-400 dark:hover:text-primary-100 dark:data-[active=true]:bg-primary-700 dark:data-[active=true]:text-primary-100",underline:"text-primary-500 hover:text-primary-700 data-[active=true]:text-primary-900 dark:text-primary-400 dark:data-[active=true]:text-primary-100"}},defaultVariants:{intent:"line"}});var Qn=Kr.createContext(null),Da=Kr.createContext(null);function Va({type:e="single",defaultValue:t=[],value:r,onValueChange:n,intent:o,size:s,className:a,children:l,...d}){let[m,c]=Kr.useState(t),f=r??m,p=Kr.useCallback(u=>{let h=g=>g.includes(u)?g.filter(x=>x!==u):e==="single"?[u]:[...g,u];n?n(h(f)):c(h);},[e,f,n]);return jsxRuntime.jsx(Qn.Provider,{value:{expandedItems:f,toggleItem:p,size:s},children:jsxRuntime.jsx("div",{className:i(Un({intent:o}),a),...d,children:l})})}function op({value:e,className:t,children:r,...n}){let s=Kr.useContext(Qn)?.expandedItems.includes(e)??false;return jsxRuntime.jsx(Da.Provider,{value:{value:e,isExpanded:s},children:jsxRuntime.jsx("div",{className:i("",t),...n,children:r})})}function ap({className:e,children:t,...r}){let n=Kr.useContext(Qn),o=Kr.useContext(Da);return jsxRuntime.jsxs("button",{className:i("text-primary-800 hover:text-primary-600 dark:text-primary-100 dark:hover:text-primary-300 cursor-pointer gap-2 font-medium transition-colors",Gn({size:n?.size}),e),onClick:()=>o&&n?.toggleItem(o.value),"aria-expanded":o?.isExpanded?"true":"false",...r,children:[jsxRuntime.jsx("span",{className:"flex items-center gap-1.5 [&_svg]:shrink-0",children:t}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:i("shrink-0 transition-transform duration-200",o?.isExpanded&&"rotate-180")})]})}function sp({className:e,children:t,...r}){let n=Kr.useContext(Qn),o=Kr.useContext(Da);return jsxRuntime.jsx("div",{className:i("grid transition-[grid-template-rows] duration-200 ease-out",o?.isExpanded?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:jsxRuntime.jsx("div",{className:"overflow-hidden",children:jsxRuntime.jsx("div",{className:i("text-primary-500 dark:text-primary-400",Yn({size:n?.size}),e),...r,children:t})})})}var Zr=Kr.createContext(null),_i=Kr.createContext(false);function Ia({defaultValue:e="",value:t,onValueChange:r,intent:n,children:o,className:s}){let[a,l]=Kr.useState(e),d=t??a,m=Kr.useRef(new Map),c=Kr.useCallback(p=>{r?r(p):l(p);},[r]),f=Kr.useCallback((p,u)=>{u?m.current.set(p,u):m.current.delete(p);},[]);return jsxRuntime.jsx(Zr.Provider,{value:{activeValue:d,setActiveValue:c,intent:n,registerTrigger:f},children:jsxRuntime.jsx("div",{className:s,children:o})})}function dp({className:e,scrollable:t,...r}){let n=Kr.useContext(Zr),o=Kr.useRef(null),[s,a]=Kr.useState(null),l=Kr.useCallback(()=>{if(!n||!o.current)return;let f=o.current.querySelectorAll('[role="tab"][data-active="true"]')[0];if(!f){a(null);return}let p=o.current.getBoundingClientRect(),u=f.getBoundingClientRect();a({left:u.left-p.left,width:u.width});},[n]);Kr.useLayoutEffect(l,[n?.activeValue,l]),Kr.useEffect(()=>{let c=new ResizeObserver(l);return o.current&&c.observe(o.current),()=>c.disconnect()},[l]);let d=n?.intent??"line",m=s&&(d==="line"||d==="underline");return jsxRuntime.jsxs("div",{ref:o,className:i(qn({intent:n?.intent}),"relative",t&&"overflow-x-auto",e),role:"tablist",...r,children:[r.children,m&&jsxRuntime.jsx("span",{className:"absolute bottom-0 h-0.5 rounded-full bg-primary-600 dark:bg-primary-400 transition-all duration-300 ease-in-out",style:{left:s.left,width:s.width},"aria-hidden":true})]})}function mp({value:e,className:t,children:r,...n}){let o=Kr.useContext(Zr),s=o?.activeValue===e,a=Kr.useCallback(l=>o?.registerTrigger(e,l),[o,e]);return jsxRuntime.jsx("button",{ref:a,className:i(Zn({intent:o?.intent}),t),role:"tab","data-active":s,"aria-selected":s,onClick:()=>o?.setActiveValue(e),...n,children:r})}function pp({className:e,children:t,...r}){let n=Kr.useContext(Zr);if(!n)return null;let o=Kr__default.default.Children.toArray(t).filter(a=>Kr__default.default.isValidElement(a)),s=Math.max(0,o.findIndex(a=>a.props.value===n.activeValue));return jsxRuntime.jsx("div",{className:i("overflow-hidden",e),...r,children:jsxRuntime.jsx(_i.Provider,{value:true,children:jsxRuntime.jsx("div",{className:"flex transition-transform duration-300 ease-in-out",style:{transform:`translateX(-${s*100}%)`},children:o.map((a,l)=>jsxRuntime.jsx("div",{className:"w-full shrink-0","aria-hidden":l!==s,children:a},a.props.value??l))})})})}function up({value:e,className:t,children:r,...n}){let o=Kr.useContext(Zr);return Kr.useContext(_i)?jsxRuntime.jsx("div",{className:i("pt-4",t),role:"tabpanel",...n,children:r}):o?.activeValue!==e?null:jsxRuntime.jsx("div",{className:i("pt-4",t),role:"tabpanel",...n,children:r})}var gp={Accordion:Va,Tabs:Ia},Aa=gp;var Qr=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"}}),eo=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 Vt=[];function vp(e){Vt.push(e);}function kp(e){let t=Vt.indexOf(e);t!==-1&&Vt.splice(t,1);}function Fa(e){return Vt.length>0&&Vt[Vt.length-1]===e}function wp(e){let t=Vt.indexOf(e);return t!==-1?t:Vt.length}var _a=Kr.createContext(null);function Jr({open:e,onOpenChange:t,modal:r=true,closeOnOutsideClick:n=false,children:o}){let s=Kr.useId();return Kr.useEffect(()=>{if(e)return vp(s),()=>kp(s)},[e,s]),Kr.useEffect(()=>{if(!e||!r)return;let a=l=>{l.key==="Escape"&&Fa(s)&&t(false);};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[e,r,t,s]),Kr.useEffect(()=>{if(!e||!r)return;let a=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a;}},[e,r]),e?jsxRuntime.jsx(_a.Provider,{value:{id:s,onOpenChange:t,modal:r,closeOnOutsideClick:n},children:reactDom.createPortal(o,document.body)}):null}function Ba({size:e,position:t="center",className:r,children:n,...o}){let s=Kr.useContext(_a);if(!s)return null;let l=200+wp(s.id)*10,d=()=>{s.closeOnOutsideClick&&Fa(s.id)&&s.onOpenChange(false);},m=t==="bottom";return s.modal?jsxRuntime.jsx("div",{className:i("animate-fade-in fixed inset-0 bg-black/50",m?"flex items-end justify-center":"flex items-center justify-center p-4"),style:{zIndex:l},onClick:d,children:jsxRuntime.jsx("div",{className:i(Qr({size:e}),m?"animate-slide-in-bottom w-full rounded-b-none rounded-t-(--dialog-sheet-radius) max-h-[85vh] overflow-y-auto":"animate-scale-in",r),role:"dialog","aria-modal":"true",onClick:c=>c.stopPropagation(),...o,children:n})}):jsxRuntime.jsx("div",{className:i("fixed inset-0 flex items-center justify-center p-4",s.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:l},onClick:s.closeOnOutsideClick&&Fa(s.id)?()=>s.onOpenChange(false):void 0,children:jsxRuntime.jsx("div",{className:i(Qr({size:e}),"animate-scale-in pointer-events-auto shadow-2xl",r),role:"dialog",onClick:s.closeOnOutsideClick?c=>c.stopPropagation():void 0,...o,children:n})})}function za({className:e,...t}){return jsxRuntime.jsx("div",{className:i("mb-4 space-y-1",e),...t})}function $a({className:e,...t}){return jsxRuntime.jsx("h2",{className:i("text-primary-900 dark:text-primary-100 flex items-center gap-1.5 text-lg font-semibold [&_svg]:h-5 [&_svg]:w-5 [&_svg]:shrink-0",e),...t})}function Oa({className:e,...t}){return jsxRuntime.jsx("p",{className:i("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function Ka({className:e,...t}){return jsxRuntime.jsx("div",{className:i("mt-6 flex justify-end gap-2",e),...t})}function Np({className:e,...t}){let r=Kr.useContext(_a);return jsxRuntime.jsx("button",{className:i("text-primary-400 hover:text-primary-600 dark:hover:text-primary-200 absolute top-4 right-4 rounded-md p-1 transition-colors",e),onClick:()=>r?.onOpenChange(false),"aria-label":"Close",...t,children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})}var Cp={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"};function Xa({content:e,position:t="top",intent:r,delay:n=200,maxWidth:o,children:s,className:a}){let[l,d]=Kr.useState(false),[m,c]=Kr.useState();return jsxRuntime.jsxs("span",{className:"relative inline-flex",onMouseEnter:()=>{let u=setTimeout(()=>d(true),n);c(u);},onMouseLeave:()=>{clearTimeout(m),d(false);},children:[s,l&&jsxRuntime.jsx("span",{className:i(eo({intent:r}),Cp[t],"pointer-events-none",o?"whitespace-normal":"whitespace-nowrap",a),style:o!==void 0?{maxWidth:o}:void 0,role:"tooltip",children:e})]})}var Lp={right:"drawer-enter-right",left:"drawer-enter-left",top:"drawer-enter-top",bottom:"drawer-enter-bottom"},Ep={right:e=>({width:e}),left:e=>({width:e}),top:e=>({height:e}),bottom:e=>({height:e})},Dp={right:"right-0 top-0 bottom-0",left:"left-0 top-0 bottom-0",top:"top-0 left-0 right-0",bottom:"bottom-0 left-0 right-0"};function to({open:e,onOpenChange:t,side:r="right",size:n=r==="top"||r==="bottom"?"50vh":"24rem",backdrop:o=true,closeOnBackdropClick:s=true,children:a,className:l}){let d=Kr.useRef(null);return Kr.useEffect(()=>{if(!e)return;let m=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=m;}},[e]),Kr.useEffect(()=>{if(!e)return;function m(c){c.key==="Escape"&&t(false);}return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[e,t]),Kr.useEffect(()=>{if(!e)return;let m=d.current;if(!m)return;let c=m.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');c[0]?.focus();function f(p){p.key!=="Tab"||c.length===0||(p.shiftKey?document.activeElement===c[0]&&(p.preventDefault(),c[c.length-1].focus()):document.activeElement===c[c.length-1]&&(p.preventDefault(),c[0].focus()));}return document.addEventListener("keydown",f),()=>document.removeEventListener("keydown",f)},[e]),e?reactDom.createPortal(jsxRuntime.jsxs("div",{className:"fixed inset-0 z-50",role:"presentation",children:[o&&jsxRuntime.jsx("div",{className:"drawer-backdrop absolute inset-0 bg-black/40 backdrop-blur-[2px]",onClick:()=>s&&t(false),"aria-hidden":"true"}),jsxRuntime.jsx("div",{ref:d,role:"dialog","aria-modal":"true",className:i("drawer-panel absolute flex flex-col","bg-white shadow-2xl dark:bg-primary-900",Dp[r],Lp[r],l),style:Ep[r](n),children:a})]}),document.body):null}function Oi({children:e,className:t}){return jsxRuntime.jsx("div",{className:i("flex shrink-0 items-center justify-between border-b border-primary-100 px-5 py-4 dark:border-primary-800",t),children:e})}function Ki({children:e,className:t}){return jsxRuntime.jsx("div",{className:i("flex-1 overflow-y-auto px-5 py-4",t),children:e})}function Xi({children:e,className:t}){return jsxRuntime.jsx("div",{className:i("flex shrink-0 items-center justify-end gap-3 border-t border-primary-100 px-5 py-4 dark:border-primary-800",t),children:e})}function ji({onClose:e,className:t}){return jsxRuntime.jsx("button",{type:"button",onClick:e,"aria-label":"Close drawer",className:i("rounded-md p-1.5 text-secondary-400 transition-colors","hover:bg-primary-100 hover:text-primary-700 dark:hover:bg-primary-800 dark:hover:text-primary-200","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/30",t),children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})}function Wi({item:e,depth:t=0,onClose:r}){let[n,o]=Kr.useState(false),s=Kr.useRef(null),a=Kr.useRef(null),l=e.children&&e.children.length>0,d=Kr.useRef(null),m=()=>{d.current=setTimeout(()=>o(false),150);},c=()=>{d.current&&clearTimeout(d.current);};return e.separator?jsxRuntime.jsx("li",{role:"separator",className:"my-1 h-px bg-primary-100 dark:bg-primary-700","aria-hidden":true}):jsxRuntime.jsxs("li",{ref:s,role:"menuitem","aria-disabled":e.disabled,"aria-haspopup":l,"aria-expanded":l?n:void 0,className:i("relative flex cursor-pointer select-none items-center gap-2 rounded-md px-3 py-1.5 text-sm outline-none transition-colors",e.disabled?"cursor-not-allowed opacity-40":e.danger?"text-danger-600 hover:bg-danger-50 focus-visible:bg-danger-50 dark:text-danger-400 dark:hover:bg-danger-900/30":"text-primary-700 hover:bg-primary-50 focus-visible:bg-primary-50 dark:text-primary-200 dark:hover:bg-primary-800"),tabIndex:e.disabled?-1:0,onMouseEnter:()=>{c(),l&&o(true);},onMouseLeave:()=>{l&&m();},onClick:f=>{e.disabled||l||(e.onClick?.(f),r());},onKeyDown:f=>{e.disabled||((f.key==="Enter"||f.key===" ")&&(f.preventDefault(),l?o(p=>!p):(e.onClick?.(f),r())),f.key==="Escape"&&r());},children:[e.icon?jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center [&_svg]:h-4 [&_svg]:w-4",children:e.icon}):jsxRuntime.jsx("span",{className:"h-4 w-4 shrink-0"}),jsxRuntime.jsx("span",{className:"flex-1",children:e.label}),e.shortcut&&!l&&jsxRuntime.jsx("kbd",{className:"ml-auto rounded bg-primary-100 px-1.5 py-0.5 font-mono text-[0.6rem] text-secondary-500 dark:bg-primary-700 dark:text-secondary-400",children:e.shortcut}),l&&jsxRuntime.jsx(lucideReact.ChevronRight,{className:"ml-auto h-3.5 w-3.5 text-secondary-400"}),l&&n&&jsxRuntime.jsx("ul",{ref:a,role:"menu",onMouseEnter:c,onMouseLeave:m,className:i("absolute top-0 z-50 min-w-[11rem] animate-[fade-in_120ms_ease-out,scale-in_120ms_ease-out] rounded-xl border border-primary-200 bg-white p-1.5 shadow-xl dark:border-primary-700 dark:bg-primary-900",t%2===0?"left-full ml-1":"right-full mr-1"),children:e.children.map(f=>jsxRuntime.jsx(Wi,{item:f,depth:t+1,onClose:r},f.key))})]})}function Ap({items:e,position:t,onClose:r}){let n=Kr.useRef(null),[o,s]=Kr.useState(t);return Kr.useEffect(()=>{let a=n.current;if(!a)return;let l=a.getBoundingClientRect(),d=window.innerWidth,m=window.innerHeight,{x:c,y:f}=t;c+l.width>d-8&&(c=Math.max(8,d-l.width-8)),f+l.height>m-8&&(f=Math.max(8,m-l.height-8)),s({x:c,y:f});},[t]),Kr.useEffect(()=>{let a=l=>{n.current&&!n.current.contains(l.target)&&r();};return document.addEventListener("mousedown",a,true),document.addEventListener("touchstart",a,true),document.addEventListener("scroll",r,{passive:true,capture:true}),()=>{document.removeEventListener("mousedown",a,true),document.removeEventListener("touchstart",a,true),document.removeEventListener("scroll",r,true);}},[r]),Kr.useEffect(()=>{let a=l=>{l.key==="Escape"&&r(),l.key==="Tab"&&l.preventDefault();};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[r]),jsxRuntime.jsx("ul",{ref:n,role:"menu",style:{position:"fixed",left:o.x,top:o.y},className:"z-[9999] min-w-[12rem] animate-[fade-in_120ms_ease-out,scale-in_120ms_ease-out] rounded-xl border border-primary-200 bg-white p-1.5 shadow-2xl dark:border-primary-700 dark:bg-primary-900",children:e.map(a=>jsxRuntime.jsx(Wi,{item:a,onClose:r},a.key))})}function Ga({items:e,children:t,disabled:r,onOpenChange:n,className:o}){let[s,a]=Kr.useState(false),[l,d]=Kr.useState({x:0,y:0}),m=Kr.useRef(null),c=Kr.useCallback((g,x)=>{r||(d({x:g,y:x}),a(true),n?.(true));},[r,n]),f=Kr.useCallback(()=>{a(false),n?.(false);},[n]),p=Kr.useCallback(g=>{g.preventDefault(),g.stopPropagation(),c(g.clientX,g.clientY);},[c]),u=Kr.useCallback(g=>{let x=g.touches[0];m.current=setTimeout(()=>{document.addEventListener("contextmenu",w=>w.preventDefault(),{capture:true,once:true}),c(x.clientX,x.clientY);},500);},[c]),h=Kr.useCallback(()=>{m.current&&clearTimeout(m.current);},[]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:i("contents",o),style:{WebkitTouchCallout:"none",userSelect:"none"},onContextMenu:p,onTouchStart:u,onTouchEnd:h,onTouchMove:h,onTouchCancel:h,children:t}),s&&jsxRuntime.jsx(Ap,{items:e,position:l,onClose:f})]})}var Fp={Dialog:Jr,Tooltip:Xa,Drawer:to,ContextMenu:Ga},Ya=Fp;var no=classVarianceAuthority.cva("relative w-full overflow-hidden rounded-full bg-primary-200 dark:bg-primary-700",{variants:{size:{xs:"h-1",sm:"h-2",md:"h-3",lg:"h-4"},intent:{primary:"[&_.progress-fill]:bg-primary-500",success:"[&_.progress-fill]:bg-success-500",warning:"[&_.progress-fill]:bg-warning-500",danger:"[&_.progress-fill]:bg-danger-500"},edge:{none:"rounded-full",top:"fixed top-0 left-0 right-0 z-50 rounded-none",bottom:"fixed bottom-0 left-0 right-0 z-50 rounded-none"}},defaultVariants:{size:"md",intent:"primary",edge:"none"}}),vr=classVarianceAuthority.cva("text-primary-500 dark:text-primary-400",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),nn=classVarianceAuthority.cva("pointer-events-auto flex items-start gap-3 rounded-lg border p-4 shadow-lg transition-all",{variants:{intent:{success:"border-success-200 bg-success-50 text-success-800 dark:border-success-800 dark:bg-success-900/80 dark:text-success-200",warning:"border-warning-200 bg-warning-50 text-warning-800 dark:border-warning-800 dark:bg-warning-900/80 dark:text-warning-200",error:"border-danger-200 bg-danger-50 text-danger-800 dark:border-danger-800 dark:bg-danger-900/80 dark:text-danger-200",info:"border-primary-200 bg-primary-50 text-primary-800 dark:border-primary-800 dark:bg-primary-900/80 dark:text-primary-200"}},defaultVariants:{intent:"info"}}),on=classVarianceAuthority.cva("skeleton-base bg-secondary-200 dark:bg-secondary-700",{variants:{variant:{text:"skeleton-text w-full rounded-sm",circular:"rounded-full",rectangular:"rounded-none",rounded:"rounded-md"},animation:{pulse:"animate-pulse",wave:"skeleton-wave",none:""}},defaultVariants:{variant:"text",animation:"pulse"}}),oo=classVarianceAuthority.cva("border",{variants:{variant:{default:"bg-primary-800 text-primary-50 border-primary-700 dark:bg-primary-100 dark:text-primary-900 dark:border-primary-200",success:"bg-success-500 text-white border-success-600 dark:bg-success-600 dark:border-success-700",danger:"bg-danger-500 text-white border-danger-600 dark:bg-danger-600 dark:border-danger-700",warning:"bg-warning-500 text-warning-900 border-warning-600 dark:bg-warning-600 dark:text-white dark:border-warning-700",info:"bg-primary-500 text-white border-primary-600 dark:bg-primary-600 dark:border-primary-700"}},defaultVariants:{variant:"default"}});function Qa({intent:e,className:t,children:r,...n}){return jsxRuntime.jsx("div",{className:i(nn({intent:e}),t),role:"alert",...n,children:r})}function Gp({className:e,...t}){return jsxRuntime.jsx("h5",{className:i("flex items-center gap-1.5 font-semibold [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",e),...t})}function Yp({className:e,...t}){return jsxRuntime.jsx("span",{className:i("mt-0.5 shrink-0 [&_svg]:h-5 [&_svg]:w-5",e),...t})}function Up({className:e,...t}){return jsxRuntime.jsx("div",{className:i("flex-1 min-w-0 space-y-1",e),...t})}function qp({className:e,...t}){return jsxRuntime.jsx("p",{className:i("text-sm opacity-90",e),...t})}var Zp=0,rr=[],ao=new Map,Ua=new Set;function Qp(){return rr}function qa(){Ua.forEach(e=>e());}function Ja(e){let t=ao.get(e);t&&(clearTimeout(t),ao.delete(e)),rr=rr.map(r=>r.id===e?{...r,exiting:true}:r),qa(),setTimeout(()=>{rr=rr.filter(r=>r.id!==e),qa();},200);}function Jp(e){let t=`alert-${++Zp}`;rr=[...rr,{...e,id:t}],qa();let r=e.duration??5e3;if(r>0){let n=setTimeout(()=>{ao.delete(t),Ja(t);},r);ao.set(t,n);}return t}var Za=16;function eu(e){Za=e;}var tu={"top-right":"right-4 items-end","top-left":"left-4 items-start","bottom-right":"bottom-4 right-4 items-end","bottom-left":"bottom-4 left-4 items-start","top-center":"left-1/2 -translate-x-1/2 items-center","bottom-center":"bottom-4 left-1/2 -translate-x-1/2 items-center"},ru={"top-right":"animate-slide-in-right","top-left":"animate-slide-in-left","bottom-right":"animate-slide-in-right","bottom-left":"animate-slide-in-left","top-center":"animate-slide-in-top","bottom-center":"animate-slide-in-bottom"},nu={success:lucideReact.CircleCheck,warning:lucideReact.TriangleAlert,error:lucideReact.CircleX,info:lucideReact.Info};function ou({alert:e,onClose:t}){let r=e.intent??"info",n=nu[r],o=e.position??"top-right";return jsxRuntime.jsxs("div",{className:i(nn({intent:r}),ru[o],e.exiting&&"opacity-0 transition-opacity duration-200","w-80 max-w-[calc(100vw-2rem)]"),role:"alert",children:[jsxRuntime.jsx(n,{className:"mt-0.5 h-5 w-5 shrink-0"}),jsxRuntime.jsxs("div",{className:"flex-1",children:[e.title&&jsxRuntime.jsx("p",{className:"font-semibold",children:e.title}),jsxRuntime.jsx("p",{className:i(e.title&&"text-sm opacity-90"),children:e.message})]}),jsxRuntime.jsx("button",{onClick:t,"aria-label":"Close notification",className:"shrink-0 cursor-pointer opacity-50 transition-opacity hover:opacity-100",children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})]})}var au=e=>e.startsWith("top");function su(){let e=Kr.useSyncExternalStore(n=>(Ua.add(n),()=>Ua.delete(n)),Qp),t=Kr.useRef(Za);if(Kr.useEffect(()=>{t.current=Za;},[]),e.length===0)return null;let r=e.reduce((n,o)=>{let s=o.position??"top-right";return (n[s]??(n[s]=[])).push(o),n},{});return reactDom.createPortal(jsxRuntime.jsx(jsxRuntime.Fragment,{children:Object.entries(r).map(([n,o])=>jsxRuntime.jsx("div",{style:au(n)?{top:`${t.current}px`}:void 0,className:i("pointer-events-none fixed z-100 flex flex-col gap-2",tu[n]),children:o.map(s=>jsxRuntime.jsx(ou,{alert:s,onClose:()=>Ja(s.id)},s.id))},n))}),document.body)}var Yi=false;function iu(){if(Yi)return;Yi=true;let e=document.createElement("div");e.id="alert-toast-root",document.body.appendChild(e),client.createRoot(e).render(jsxRuntime.jsx(su,{}));}function lu(){return Kr.useEffect(()=>{iu();},[]),{addAlert:Jp,removeAlert:Ja}}function ts({value:e=0,size:t,intent:r,edge:n,showLabel:o=false,indeterminate:s=false,animated:a=false,duration:l=500,className:d,...m}){let c=Math.max(0,Math.min(100,e)),[f,p]=Kr.useState(0),u=Kr.useRef(0);Kr.useEffect(()=>{if(!s)return u.current=requestAnimationFrame(()=>{p(c);}),()=>{u.current&&cancelAnimationFrame(u.current);}},[c,s]);let h=o&&!s&&t!=="xs"&&t!=="sm",g=jsxRuntime.jsx("div",{role:"progressbar","aria-valuenow":s?void 0:c,"aria-valuemin":0,"aria-valuemax":100,className:i(no({size:t,intent:r,edge:n}),d),...m,children:s?jsxRuntime.jsx("div",{className:"progress-fill absolute top-0 h-full rounded-full animate-progress-indeterminate"}):jsxRuntime.jsx("div",{className:i("progress-fill h-full rounded-full transition-[width] ease-out",a&&"animate-progress-shine"),style:{width:`${f}%`,transitionDuration:`${l}ms`},children:h&&jsxRuntime.jsxs("span",{className:"flex h-full items-center justify-end pr-2 text-[10px] font-semibold text-white",children:[Math.round(c),"%"]})})});return n==="top"||n==="bottom"?reactDom.createPortal(g,document.body):g}function so({size:e}){let t=e==="sm"?20:e==="lg"?40:28;return jsxRuntime.jsx("svg",{className:"animate-spin-rotate",width:t,height:t,viewBox:"0 0 50 50",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:jsxRuntime.jsx("circle",{className:"animate-spin-dash stroke-current",cx:"25",cy:"25",r:"20",fill:"none",strokeWidth:"4",strokeLinecap:"round",strokeDasharray:"90 150",strokeDashoffset:"0"})})}function ns({spinning:e=true,tip:t,size:r,className:n,children:o,...s}){return o?jsxRuntime.jsxs("div",{className:i("relative w-fit",n),...s,children:[jsxRuntime.jsx("div",{className:i("transition-all duration-200",e&&"pointer-events-none select-none blur-[1px]"),children:o}),e&&jsxRuntime.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 rounded-[inherit] bg-primary-50/60 dark:bg-primary-900/60",children:[jsxRuntime.jsx(so,{size:r}),t&&jsxRuntime.jsx("span",{className:i(vr({size:r}),"select-none"),children:t})]})]}):e?jsxRuntime.jsxs("div",{className:i("inline-flex flex-col items-center gap-2",n),...s,children:[jsxRuntime.jsx(so,{size:r}),t&&jsxRuntime.jsx("span",{className:i(vr({size:r}),"select-none"),children:t})]}):null}var hu=0,sn=[],rs=new Set;function xu(){return sn}function el(){rs.forEach(e=>e());}function yu(e,t){let r=++hu;return sn=[...sn,{id:r,target:e,tip:t}],el(),()=>vu(r)}function vu(e){sn=sn.filter(t=>t.id!==e),el();}function ku(){return yu}var Qi=false;function wu(){if(Qi||typeof document>"u")return;Qi=true;let e=document.createElement("div");e.id="jac-spin-portal",document.body.appendChild(e),import('react-dom/client').then(({createRoot:t})=>{t(e).render(jsxRuntime.jsx(Ru,{}));});}var io=new Map;function Nu(e){let t=io.get(e);if(t){t.count++;return}let r=getComputedStyle(e),n=e.style.position;r.position==="static"&&(e.style.position="relative"),io.set(e,{count:1,original:n});}function Cu(e){let t=io.get(e);t&&(t.count--,t.count<=0&&(e.style.position=t.original,io.delete(e)));}function Tu({entry:e}){return Kr.useEffect(()=>{let t=e.target;if(!Ji(t))return Nu(t),()=>Cu(t)},[e.target]),Ji(e.target)?reactDom.createPortal(jsxRuntime.jsxs("div",{className:"fixed inset-0 z-50 flex flex-col items-center justify-center gap-3 bg-primary-900/40 dark:bg-primary-900/60",children:[jsxRuntime.jsx(so,{size:"lg"}),e.tip&&jsxRuntime.jsx("span",{className:"select-none text-sm text-primary-100",children:e.tip})]}),document.body):reactDom.createPortal(jsxRuntime.jsxs("div",{className:"absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 rounded-[inherit] bg-primary-50/60 dark:bg-primary-900/60",children:[jsxRuntime.jsx(so,{size:"md"}),e.tip&&jsxRuntime.jsx("span",{className:i(vr({size:"md"}),"select-none"),children:e.tip})]}),e.target)}function Ru(){let e=Kr.useSyncExternalStore(t=>(rs.add(t),()=>rs.delete(t)),()=>xu());return e.length===0?null:jsxRuntime.jsx(jsxRuntime.Fragment,{children:e.map(t=>jsxRuntime.jsx(Tu,{entry:t},t.id))})}function Ji(e){return e===document.documentElement||e===document.body}typeof document<"u"&&wu();function tl(e){if(e!==void 0)return typeof e=="number"?`${e}px`:e}function lo({variant:e="text",animation:t="pulse",width:r,height:n,lines:o,className:s,style:a,...l}){let d=tl(r),m=tl(n);return e==="text"&&o!==void 0&&o>1?jsxRuntime.jsx("span",{className:i("flex flex-col gap-2",s),"aria-hidden":"true",role:"presentation",style:a,...l,children:Array.from({length:o},(c,f)=>jsxRuntime.jsx("span",{className:on({variant:"text",animation:t}),style:{width:f===o-1?"60%":d??"100%",height:m}},f))}):jsxRuntime.jsx("span",{className:i(on({variant:e,animation:t}),s),"aria-hidden":"true",role:"presentation",style:{width:d,height:m,...a},...l})}var Eu=0,rl=320;function nl(e,t){let[r,n]=Kr.useState([]),o=Kr.useRef(new Map),s=Kr.useCallback(c=>{let f=o.current.get(c);f!==void 0&&(clearTimeout(f),o.current.delete(c));},[]),a=Kr.useCallback(c=>{s(c),n(f=>f.map(p=>p.id===c?{...p,_exiting:true}:p)),setTimeout(()=>n(f=>f.filter(p=>p.id!==c)),rl);},[s]),l=Kr.useCallback(c=>a(c),[a]),d=Kr.useCallback(()=>{o.current.forEach(clearTimeout),o.current.clear(),n(c=>c.map(f=>({...f,_exiting:true}))),setTimeout(()=>n([]),rl);},[]),m=Kr.useCallback(c=>{let f=`toast-${++Eu}`,p=c.position??e,u=c.duration!==void 0?c.duration:t;if(n(h=>[...h,{...c,id:f,position:p,duration:u,_exiting:false}]),u>0){let h=setTimeout(()=>{o.current.delete(f),a(f);},u);o.current.set(f,h);}return f},[e,t,a]);return Kr.useEffect(()=>{let c=o.current;return ()=>{c.forEach(clearTimeout),c.clear();}},[]),{items:r,toast:m,dismiss:l,dismissAll:d}}var cn=Kr.createContext(null),zu={"top-right":"top-4 right-4 items-end","top-left":"top-4 left-4 items-start","top-center":"top-4 left-1/2 -translate-x-1/2 items-center","bottom-right":"bottom-4 right-4 items-end","bottom-left":"bottom-4 left-4 items-start","bottom-center":"bottom-4 left-1/2 -translate-x-1/2 items-center"},$u={"top-right":"animate-slide-in-right","top-left":"animate-slide-in-left","top-center":"animate-slide-in-top","bottom-right":"animate-slide-in-right","bottom-left":"animate-slide-in-left","bottom-center":"animate-slide-in-bottom"},Ou={"top-right":"toast-exit-right","top-left":"toast-exit-left","top-center":"toast-exit-up","bottom-right":"toast-exit-right","bottom-left":"toast-exit-left","bottom-center":"toast-exit-down"},Ku={default:lucideReact.Bell,success:lucideReact.CheckCircle2,danger:lucideReact.XCircle,warning:lucideReact.AlertTriangle,info:lucideReact.Info};function Xu({item:e,onDismiss:t}){let r=e.variant??"default",n=e.position??"top-right",o=e.dismissible!==false,s=Ku[r],a=()=>{e.onDismiss?.(e.id),t(e.id);};return jsxRuntime.jsx("div",{className:i("toast-wrapper",e._exiting&&`toast-wrapper-exiting ${Ou[n]}`),children:jsxRuntime.jsxs("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:i(oo({variant:r}),"toast-item pointer-events-auto",!e._exiting&&$u[n]),children:[jsxRuntime.jsx(s,{className:"mt-0.5 h-5 w-5 shrink-0","aria-hidden":"true"}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[e.title&&jsxRuntime.jsx("p",{className:"text-sm font-semibold leading-snug",children:e.title}),e.description&&jsxRuntime.jsx("p",{className:i("text-sm leading-snug",e.title&&"opacity-80"),children:e.description}),e.action&&jsxRuntime.jsx("button",{type:"button",onClick:e.action.onClick,className:"toast-action-btn mt-1 self-start text-xs font-semibold underline underline-offset-2 transition-opacity hover:opacity-80",children:e.action.label})]}),o&&jsxRuntime.jsx("button",{type:"button",onClick:a,"aria-label":"Dismiss notification",className:"shrink-0 cursor-pointer opacity-60 transition-opacity hover:opacity-100",children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})]})})}function co({children:e,defaultPosition:t="top-right",defaultDuration:r=4e3}){let{items:n,toast:o,dismiss:s,dismissAll:a}=nl(t,r),l=n.reduce((d,m)=>{let c=m.position??t;return (d[c]??(d[c]=[])).push(m),d},{});return jsxRuntime.jsxs(cn.Provider,{value:{toast:o,dismiss:s,dismissAll:a},children:[e,typeof document<"u"&&reactDom.createPortal(jsxRuntime.jsx(jsxRuntime.Fragment,{children:Object.entries(l).map(([d,m])=>jsxRuntime.jsx("div",{className:i("pointer-events-none fixed z-[100] flex flex-col gap-2",zu[d]),children:m.map(c=>jsxRuntime.jsx(Xu,{item:c,onDismiss:s},c.id))},d))}),document.body)]})}function mo(){let e=Kr.useContext(cn);if(!e)throw new Error("useToast must be used within a <ToastProvider>");return e}var Gu={Alert:Qa,ProgressBar:ts,Spin:ns,Skeleton:lo,ToastProvider:co,useToast:mo},ss=Gu;var il="#1c1914",ll="#130f0b",c0="#2e261e",ls="#504638",kr="#6b5d4d",uo=`url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")`,d0=[{key:"like",icon:jsxRuntime.jsx(lucideReact.Heart,{className:"h-5 w-5"}),activeIcon:jsxRuntime.jsx(lucideReact.Heart,{className:"h-5 w-5",fill:"currentColor"}),label:"Like",toggle:true},{key:"dislike",icon:jsxRuntime.jsx(lucideReact.ThumbsDown,{className:"h-5 w-5"}),label:"Dislike"},{key:"bookmark",icon:jsxRuntime.jsx(lucideReact.Bookmark,{className:"h-5 w-5"}),activeIcon:jsxRuntime.jsx(lucideReact.Bookmark,{className:"h-5 w-5",fill:"currentColor"}),label:"Bookmark",toggle:true},{key:"share",icon:jsxRuntime.jsx(lucideReact.Share2,{className:"h-5 w-5"}),label:"Share"},{key:"download",icon:jsxRuntime.jsx(lucideReact.Download,{className:"h-5 w-5"}),label:"Download"}];function cs({photos:e,layout:t="strip",actions:r=d0,onAction:n,className:o,showGrain:s=true,sheetTitle:a,sheetLabel:l}){let[d,m]=Kr.useState(null),[c,f]=Kr.useState(new Set),p=Kr.useCallback(x=>m(x),[]),u=Kr.useCallback(()=>m(null),[]),h=Kr.useCallback((x,w)=>{if(r.find(M=>M.key===x)?.toggle){let M=`${w}-${x}`;f(v=>{let N=new Set(v);return N.has(M)?N.delete(M):N.add(M),N});}n?.(x,e[w],w);},[r,n,e]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(t==="strip"?m0:t==="sheet"?p0:u0,{photos:e,onPhotoClick:p,showGrain:s,className:o,sheetTitle:a,sheetLabel:l}),d!==null&&reactDom.createPortal(jsxRuntime.jsx(f0,{photos:e,currentIndex:d,onIndexChange:m,onClose:u,actions:r,activeActions:c,onAction:h,showGrain:s}),document.body)]})}function sl({count:e=30}){return jsxRuntime.jsx("div",{className:"flex shrink-0 items-center justify-between px-3",style:{height:22,background:il},children:Array.from({length:e}).map((t,r)=>jsxRuntime.jsx("div",{className:"rounded-xs",style:{width:12,height:8,background:c0}},r))})}function m0({photos:e,onPhotoClick:t,showGrain:r,className:n}){let o=Kr.useRef(null);return jsxRuntime.jsxs("div",{className:i("select-none rounded-lg overflow-hidden",n),style:{background:ll},children:[jsxRuntime.jsx(sl,{count:Math.max(30,e.length*6)}),jsxRuntime.jsx("div",{ref:o,className:"flex gap-1 overflow-x-auto scroll-smooth px-1 py-1",style:{background:il,scrollSnapType:"x mandatory"},children:e.map((s,a)=>jsxRuntime.jsxs("div",{className:"group relative shrink-0 cursor-pointer",style:{scrollSnapAlign:"center"},onClick:()=>t(a),children:[jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xs border",style:{borderColor:ls,width:280,height:187},children:[jsxRuntime.jsx("img",{src:s.src,alt:s.alt??s.title??"",className:"h-full w-full object-cover transition-transform duration-700 ease-out group-hover:scale-110",draggable:false}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 mix-blend-multiply opacity-0 transition-opacity duration-300 group-hover:opacity-100",style:{background:"rgba(255, 175, 60, 0.06)"}}),r&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-[0.06]",style:{backgroundImage:uo,animation:"film-grain-shift 0.6s steps(5) infinite"}}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-30 transition-opacity duration-300 group-hover:opacity-50",style:{background:"radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.5) 100%)"}})]}),jsxRuntime.jsxs("div",{className:"mt-0.5 text-center font-mono text-[9px] tracking-widest",style:{color:kr},children:[String(a+1).padStart(2,"0"),a%2===0?"":"A"]})]},a))}),jsxRuntime.jsx(sl,{count:Math.max(30,e.length*6)})]})}function p0({photos:e,onPhotoClick:t,showGrain:r,className:n,sheetTitle:o,sheetLabel:s}){return jsxRuntime.jsxs("div",{className:i("rounded-lg p-5",n),style:{background:ll},children:[jsxRuntime.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.25em]",style:{color:kr},children:o??`JAC\xB7Film 35mm \xB7 ${e.length} exposures`}),jsxRuntime.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.25em]",style:{color:kr},children:s??"Contact Sheet"})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-2 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6",children:e.map((a,l)=>jsxRuntime.jsxs("div",{className:"group cursor-pointer",style:{animation:`reveal-up 0.4s ease-out ${l*50}ms both`},onClick:()=>t(l),children:[jsxRuntime.jsx("div",{className:"mb-0.5 font-mono text-[9px] tracking-wider",style:{color:kr},children:String(l+1).padStart(2,"0")}),jsxRuntime.jsxs("div",{className:"relative overflow-hidden rounded-[1px] border transition-all duration-300 group-hover:border-amber-600/50 group-hover:shadow-[0_0_20px_rgba(217,171,89,0.15)]",style:{borderColor:ls,aspectRatio:"3/2"},children:[jsxRuntime.jsx("img",{src:a.src,alt:a.alt??"",className:"h-full w-full object-cover transition-transform duration-500 group-hover:scale-105",draggable:false}),r&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.04]",style:{backgroundImage:uo}}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 translate-y-full bg-linear-to-t from-black/70 to-transparent p-2 pt-6 transition-transform duration-300 group-hover:translate-y-0",children:jsxRuntime.jsx("span",{className:"text-xs font-medium text-white/90",children:a.title})})]})]},l))})]})}function u0({photos:e,onPhotoClick:t,showGrain:r,className:n}){let[o,s]=Kr.useState(false),[a,l]=Kr.useState(null),d=Math.min(e.length,8),m=e.slice(0,d),c=p=>{let u=Math.sin(p*137.508+1)*1e4,h=(u%12-6).toFixed(1),g=(u/7%8-4).toFixed(1),x=(u/13%6-3).toFixed(1);return `rotate(${h}deg) translate(${g}px, ${x}px)`},f=(p,u)=>{let h=(u-1)/2,g=((p-h)*7).toFixed(1),x=((p-h)*110).toFixed(0),w=(-Math.abs(p-h)*10+(a===p?-18:0)).toFixed(0);return `translateX(${x}px) translateY(${w}px) rotate(${g}deg)`};return jsxRuntime.jsxs("div",{className:i("flex flex-col items-center gap-4",n),children:[jsxRuntime.jsx("div",{className:"relative flex h-85 w-full items-center justify-center",onMouseEnter:()=>s(true),onMouseLeave:()=>{s(false),l(null);},children:m.map((p,u)=>jsxRuntime.jsx("div",{className:"absolute cursor-pointer rounded-lg shadow-xl transition-all duration-500",style:{transitionTimingFunction:"cubic-bezier(0.34, 1.56, 0.64, 1)",transitionDelay:o?`${u*35}ms`:`${(d-u)*25}ms`,transform:o?f(u,m.length):c(u),zIndex:o?u+1:m.length-u,width:220,height:147},onClick:()=>t(u),onMouseEnter:()=>o&&l(u),onMouseLeave:()=>l(null),children:jsxRuntime.jsxs("div",{className:"relative h-full w-full overflow-hidden rounded-lg border transition-shadow duration-300",style:{borderColor:o&&a===u?"rgba(217,171,89,0.5)":ls,boxShadow:o&&a===u?"0 25px 50px rgba(0,0,0,0.5), 0 0 30px rgba(217,171,89,0.1)":"0 10px 30px rgba(0,0,0,0.4)"},children:[jsxRuntime.jsx("img",{src:p.src,alt:p.alt??"",className:"h-full w-full object-cover",draggable:false}),r&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.04]",style:{backgroundImage:uo}}),jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0",style:{background:"radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.35) 100%)"}}),o&&a===u&&jsxRuntime.jsx("div",{className:"absolute inset-x-0 bottom-0 bg-linear-to-t from-black/80 to-transparent p-3 pt-8",style:{animation:"reveal-up 0.25s ease-out"},children:jsxRuntime.jsx("span",{className:"text-sm font-medium text-white/90",children:p.title})})]})},u))}),e.length>d&&jsxRuntime.jsxs("span",{className:"font-mono text-xs",style:{color:kr},children:["+ ",e.length-d," more"]}),jsxRuntime.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.3em] transition-opacity duration-300",style:{color:kr,opacity:o?0:.7},children:"Hover to explore"})]})}function f0({photos:e,currentIndex:t,onIndexChange:r,onClose:n,actions:o,activeActions:s,onAction:a,showGrain:l}){let d=e[t],[m,c]=Kr.useState(1),[f,p]=Kr.useState({x:0,y:0}),[u,h]=Kr.useState(false),[g,x]=Kr.useState(false),w=Kr.useRef(false),y=Kr.useRef({x:0,y:0}),M=Kr.useRef(null);Kr.useLayoutEffect(()=>{requestAnimationFrame(()=>x(true));},[]),Kr.useEffect(()=>{let k=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=k;}},[]),Kr.useEffect(()=>{let k=O=>{switch(O.key){case "Escape":n();break;case "ArrowLeft":v(-1);break;case "ArrowRight":v(1);break;case "i":case "I":h(C=>!C);break}};return document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)}),Kr.useEffect(()=>{let k=M.current;if(!k)return;let O=C=>{C.preventDefault();let X=C.deltaY<0?1.12:.89;c(T=>{let re=Math.min(8,Math.max(1,T*X));return re<=1&&p({x:0,y:0}),re});};return k.addEventListener("wheel",O,{passive:false}),()=>k.removeEventListener("wheel",O)},[]);let v=Kr.useCallback(k=>{let O=t+k;O>=0&&O<e.length&&(r(O),c(1),p({x:0,y:0}));},[t,e.length,r]),N=Kr.useCallback(k=>{m<=1||(w.current=true,y.current={x:k.clientX,y:k.clientY},k.target.setPointerCapture(k.pointerId));},[m]),L=Kr.useCallback(k=>{if(!w.current)return;let O=k.clientX-y.current.x,C=k.clientY-y.current.y;y.current={x:k.clientX,y:k.clientY},p(X=>({x:X.x+O/m,y:X.y+C/m}));},[m]),R=Kr.useCallback(()=>{w.current=false;},[]),D=Kr.useCallback(()=>{m>1?(c(1),p({x:0,y:0})):c(2.5);},[m]),A=k=>s.has(`${t}-${k}`),V=d.metadata;return jsxRuntime.jsxs("div",{className:"fixed inset-0 z-200 flex flex-col",style:{animation:"lightbox-backdrop-in 0.35s ease-out"},children:[jsxRuntime.jsx("div",{className:"absolute inset-0 bg-black/95",onClick:n}),l&&jsxRuntime.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.025]",style:{backgroundImage:uo,animation:"film-grain-shift 0.6s steps(5) infinite"}}),jsxRuntime.jsxs("div",{className:"relative z-10 flex h-12 shrink-0 items-center justify-between px-4",children:[jsxRuntime.jsxs("span",{className:"font-mono text-sm text-white/50",children:[t+1," / ",e.length]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsxs("span",{className:"mr-2 font-mono text-xs text-white/40",children:[m.toFixed(1),"x"]}),jsxRuntime.jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:()=>c(k=>Math.min(8,k*1.3)),title:"Zoom in",children:jsxRuntime.jsx(lucideReact.ZoomIn,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:()=>{c(k=>{let O=Math.max(1,k*.7);return O<=1&&p({x:0,y:0}),O});},title:"Zoom out",children:jsxRuntime.jsx(lucideReact.ZoomOut,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:"rounded-full p-2 text-white/60 transition-colors hover:bg-white/10 hover:text-white",onClick:n,title:"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-5 w-5"})})]})]}),jsxRuntime.jsxs("div",{ref:M,className:"relative flex flex-1 items-center justify-center overflow-hidden",style:{cursor:m>1?"grab":"default"},onPointerDown:N,onPointerMove:L,onPointerUp:R,onDoubleClick:D,children:[jsxRuntime.jsx("img",{src:d.src,alt:d.alt??d.title??"",className:"max-h-full max-w-full select-none object-contain",style:{animation:"lightbox-photo-in 0.35s cubic-bezier(0.16, 1, 0.3, 1)",transform:`scale(${m}) translate(${f.x}px, ${f.y}px)`,transition:w.current?"none":"transform 0.15s ease-out"},draggable:false},t),t>0&&jsxRuntime.jsx("button",{className:"absolute left-3 top-1/2 -translate-y-1/2 rounded-full bg-black/40 p-2.5 text-white/70 backdrop-blur-sm transition-all hover:bg-black/60 hover:text-white",onClick:k=>{k.stopPropagation(),v(-1);},children:jsxRuntime.jsx(lucideReact.ChevronLeft,{className:"h-6 w-6"})}),t<e.length-1&&jsxRuntime.jsx("button",{className:"absolute right-3 top-1/2 -translate-y-1/2 rounded-full bg-black/40 p-2.5 text-white/70 backdrop-blur-sm transition-all hover:bg-black/60 hover:text-white",onClick:k=>{k.stopPropagation(),v(1);},children:jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-6 w-6"})})]}),jsxRuntime.jsx("div",{className:i("absolute inset-x-0 bottom-0 z-20 transition-all duration-400",u?"translate-y-0 opacity-100":"pointer-events-none translate-y-full opacity-0"),children:jsxRuntime.jsxs("div",{className:"bg-linear-to-t from-black/90 via-black/75 to-transparent px-6 pb-24 pt-16",children:[d.title&&jsxRuntime.jsx("h3",{className:"mb-3 text-xl font-semibold text-white",children:d.title}),d.description&&jsxRuntime.jsx("p",{className:"mb-4 max-w-xl border-l-2 border-amber-500/40 pl-4 text-sm leading-relaxed text-white/60 italic",style:{animation:"reveal-up 0.4s ease-out 0.1s both"},children:d.description}),V&&jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-sm text-white/70",children:[V.camera&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.Camera,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",V.camera,V.lens&&jsxRuntime.jsx("span",{className:"text-white/40",children:"\xB7"}),V.lens&&V.lens]}),(V.aperture||V.shutter||V.iso)&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.Aperture,{className:"h-3.5 w-3.5 text-amber-400/80"}),[V.aperture,V.shutter,V.iso&&`ISO ${V.iso}`].filter(Boolean).join(" \xB7 ")]}),V.date&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.Calendar,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",V.date]}),V.location&&jsxRuntime.jsxs("span",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx(lucideReact.MapPin,{className:"h-3.5 w-3.5 text-amber-400/80"})," ",V.location]})]})]})}),jsxRuntime.jsx("div",{className:"relative z-20 flex h-16 shrink-0 items-center justify-center gap-1",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 rounded-full bg-white/6 px-2 py-1.5 backdrop-blur-xl",children:[o.map(k=>{let O=k.toggle&&A(k.key);return jsxRuntime.jsx("button",{className:i("rounded-full p-2.5 transition-all duration-200",O?"text-amber-400 hover:text-amber-300":"text-white/60 hover:bg-white/10 hover:text-white"),onClick:()=>a(k.key,t),title:k.label,children:O&&k.activeIcon?k.activeIcon:k.icon},k.key)}),jsxRuntime.jsx("div",{className:"mx-1 h-5 w-px bg-white/10"}),jsxRuntime.jsx("button",{className:i("rounded-full p-2.5 transition-all duration-200",u?"text-amber-400 hover:text-amber-300":"text-white/60 hover:bg-white/10 hover:text-white"),onClick:()=>h(k=>!k),title:"Photo info (I)",children:jsxRuntime.jsx(lucideReact.Info,{className:"h-5 w-5"})})]})})]})}var ds="data:image/svg+xml,"+encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200">
3
3
  <rect width="200" height="200" fill="#1e1b2e"/>
4
4
  <circle cx="100" cy="100" r="60" fill="none" stroke="#6366f1" stroke-width="1.5" opacity="0.3"/>
5
5
  <circle cx="100" cy="100" r="20" fill="none" stroke="#6366f1" stroke-width="1" opacity="0.4"/>
6
6
  <text x="100" y="108" text-anchor="middle" font-family="monospace" font-size="18" fill="#6366f1" opacity="0.6">\u266A</text>
7
- </svg>`);function Fi(e){if(!isFinite(e)||e<0)return "0:00";let t=Math.floor(e/60),r=Math.floor(e%60);return `${t}:${r.toString().padStart(2,"0")}`}function Lm(e){return e.startsWith("bottom")?"bottom":e.startsWith("top")?"top":"right"}var Em={"bottom-right":"bottom-4 right-4","bottom-left":"bottom-4 left-4","top-right":"top-4 right-4","top-left":"top-4 left-4"},Pm={"bottom-right":"bottom-4 right-0","bottom-left":"bottom-4 left-0","top-right":"top-4 right-0","top-left":"top-4 left-0"},Vm={"bottom-right":"bottom-8 right-0 w-1.5 h-16 rounded-l-full","bottom-left":"bottom-8 left-0 w-1.5 h-16 rounded-r-full","top-right":"top-8 right-0 w-1.5 h-16 rounded-l-full","top-left":"top-8 left-0 w-1.5 h-16 rounded-r-full"};function oa({playlist:e,initialTrack:t=0,position:r="bottom-right",entrance:n,theme:o,docked:a=false,visible:s,onVisibleChange:p,onTrackChange:b,onLike:u,autoPlay:c=true,shuffle:T=false,loop:x=false,accent:m="#8b5cf6",className:g}){let [d,f]=Nr.useState(t),[w,h]=Nr.useState(false),[P,k]=Nr.useState(0),[N,F]=Nr.useState(0),[R,E]=Nr.useState(.8),[A,H]=Nr.useState(false),[y,O]=Nr.useState(new Set),[v,ne]=Nr.useState(false),[C,re]=Nr.useState(s??!a),[_,de]=Nr.useState(false),[j,pe]=Nr.useState(false),[Y,V]=Nr.useState(T),[G,me]=Nr.useState(x),W=Nr.useRef(false),l=Nr.useRef(null),D=Nr.useRef(null),X=Nr.useRef(void 0),$=Nr.useRef(null),se=Nr.useRef(null),ue=s??C,Te=n??Lm(r),S=e[d],oe=a,he=o==="dark"?"dark":o==="light"?"light":"",fe="bg-(--mp-bg)",Re="text-(--mp-text)",ye="text-(--mp-text-muted)",z="text-(--accent)",J="border-(--mp-border)";Nr.useEffect(()=>{let I=l.current;I&&(I.src=S.src,I.load(),w&&I.play().catch(()=>{}));},[d,S.src]),Nr.useEffect(()=>{if(!c||W.current)return;let I=l.current;if(!I)return;let ge=()=>{W.current=true,h(true),I.play().catch(()=>{});};return I.addEventListener("canplaythrough",ge,{once:true}),()=>I.removeEventListener("canplaythrough",ge)},[c]),Nr.useEffect(()=>{let I=l.current;I&&(w?I.play().catch(()=>{}):I.pause());},[w]),Nr.useEffect(()=>{let I=l.current;I&&(I.muted=A,se.current?se.current.gain.value=A?0:R:I.volume=R);},[R,A]),Nr.useEffect(()=>{let I=l.current;if(!I)return;let ge=()=>k(I.currentTime),Fe=()=>F(I.duration),tt=()=>{G?(I.currentTime=0,I.play().catch(()=>{})):q();};return I.addEventListener("timeupdate",ge),I.addEventListener("loadedmetadata",Fe),I.addEventListener("ended",tt),()=>{I.removeEventListener("timeupdate",ge),I.removeEventListener("loadedmetadata",Fe),I.removeEventListener("ended",tt);}},[d,e.length]);let B=Nr.useCallback(I=>{let ge=(I%e.length+e.length)%e.length;f(ge),k(0),b?.(ge,e[ge]),ue||(re(true),p?.(true));},[e,ue,b,p]),q=Nr.useCallback(()=>{if(Y){let I;do I=Math.floor(Math.random()*e.length);while(I===d&&e.length>1);B(I);}else B(d+1);},[B,d,Y,e.length]),be=Nr.useCallback(()=>{if(Y){let I;do I=Math.floor(Math.random()*e.length);while(I===d&&e.length>1);B(I);}else B(d-1);},[B,d,Y,e.length]),De=Nr.useCallback(()=>{let I=y.has(d);O(ge=>{let Fe=new Set(ge);return I?Fe.delete(d):Fe.add(d),Fe}),u?.(d,S,!I);},[d,y,u,S]),He=Nr.useCallback(I=>{let ge=I.currentTarget.getBoundingClientRect(),tt=Math.max(0,Math.min(1,(I.clientX-ge.left)/ge.width))*N;l.current&&(l.current.currentTime=tt),k(tt);},[N]),K=Nr.useCallback(()=>{de(true);let I=oe?200:400;X.current=setTimeout(()=>{de(false),re(false),p?.(false);},I);},[oe,p]);Nr.useEffect(()=>()=>{X.current&&clearTimeout(X.current);},[]),Nr.useEffect(()=>()=>{$.current?.close();},[]);function xe(){if($.current||!l.current){$.current?.resume();return}try{let I=window.AudioContext??window.webkitAudioContext;if(!I)return;let ge=new I,Fe=ge.createGain();Fe.gain.value=A?0:R,ge.createMediaElementSource(l.current).connect(Fe).connect(ge.destination),$.current=ge,se.current=Fe,ge.resume();}catch{}}let L=j?"fade-in 0.2s ease-out both":`mp-enter-${Te} 0.45s cubic-bezier(0.16, 1, 0.3, 1) both`,Z=j?"fade-in 0.2s ease-in reverse both":`mp-exit-${Te} 0.4s cubic-bezier(0.7, 0, 0.84, 0) both`,ee=N>0?P/N*100:0;return oe&&!ue&&!_?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("audio",{ref:l,preload:"metadata",crossOrigin:"anonymous"}),jsxRuntime.jsxs("div",{className:i("fixed z-100 cursor-pointer transition-all duration-300",Vm[r]),style:{"--accent":m},onMouseEnter:()=>{pe(true),re(true),p?.(true);},children:[jsxRuntime.jsx("div",{className:i("h-full w-full rounded-full",w?"bg-(--accent)":"bg-(--mp-dock-strip)"),style:w?{animation:"mp-progress-glow 2s ease-in-out infinite",boxShadow:"0 0 12px color-mix(in srgb, var(--accent) 50%, transparent)"}:void 0}),w&&jsxRuntime.jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/30",style:{animation:"mp-pulse-ring 2s ease-out infinite"}})]})]}):!ue&&!_?jsxRuntime.jsx("audio",{ref:l,preload:"metadata",crossOrigin:"anonymous"}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("audio",{ref:l,preload:"metadata",crossOrigin:"anonymous"}),jsxRuntime.jsx("div",{className:i("fixed z-100",oe?Pm[r]:Em[r],he),style:{"--accent":m,..._?{animation:Z}:{animation:L}},onMouseEnter:()=>{oe&&(X.current&&(clearTimeout(X.current),X.current=void 0),_&&de(false),pe(true));},onMouseLeave:()=>{oe&&(pe(false),K());},children:jsxRuntime.jsxs("div",{className:i("w-[320px] overflow-hidden rounded-2xl border shadow-2xl backdrop-blur-xl",fe,J,oe&&"rounded-none",r.endsWith("right")&&oe&&"rounded-l-2xl",r.endsWith("left")&&oe&&"rounded-r-2xl",g),children:[jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsx("div",{className:"absolute inset-0 overflow-hidden",children:jsxRuntime.jsx("img",{src:S.cover||na,alt:"",className:"h-full w-full scale-110 object-cover opacity-30 blur-2xl",draggable:false})}),jsxRuntime.jsxs("div",{className:"relative flex items-center gap-3.5 p-4 pb-3",children:[jsxRuntime.jsxs("div",{className:"relative h-14 w-14 shrink-0",children:[jsxRuntime.jsxs("div",{className:"h-14 w-14 overflow-hidden rounded-full border-2 border-white/10 shadow-lg",style:w?{animation:"mp-vinyl-spin 4s linear infinite"}:void 0,children:[jsxRuntime.jsx("img",{src:S.cover||na,alt:S.album??S.title,className:"h-full w-full object-cover",draggable:false}),jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:jsxRuntime.jsx("div",{className:"h-3 w-3 rounded-full bg-black/60 ring-1 ring-white/10"})})]}),w&&jsxRuntime.jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/20",style:{animation:"mp-pulse-ring 2.5s ease-out infinite"}})]}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:i("truncate text-sm font-semibold",Re),children:S.title}),S.artist&&jsxRuntime.jsx("div",{className:i("truncate text-xs",ye),children:S.artist}),S.album&&jsxRuntime.jsx("div",{className:i("mt-0.5 truncate text-[10px] tracking-wide",ye,"opacity-60"),children:S.album})]}),jsxRuntime.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[jsxRuntime.jsx("button",{className:i("rounded-full p-1.5 transition-all duration-200",y.has(d)?"text-rose-500 hover:text-rose-400":i(ye,"hover:text-rose-500")),onClick:De,title:"Like",children:jsxRuntime.jsx(lucideReact.Heart,{className:"h-4 w-4",fill:y.has(d)?"currentColor":"none"})}),jsxRuntime.jsx("button",{className:i("rounded-full p-1.5 transition-colors",ye,"hover:"+Re.split(" ")[0]),onClick:()=>ne(I=>!I),title:"Playlist",children:jsxRuntime.jsx(lucideReact.ListMusic,{className:"h-4 w-4"})}),!oe&&jsxRuntime.jsx("button",{className:i("rounded-full p-1.5 transition-colors",ye,"hover:"+Re.split(" ")[0]),onClick:K,title:"Dismiss",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]})]}),jsxRuntime.jsxs("div",{className:"px-4",children:[jsxRuntime.jsxs("div",{ref:D,className:"group relative h-1.5 cursor-pointer rounded-full bg-(--mp-surface)",onClick:He,children:[jsxRuntime.jsx("div",{className:"h-full rounded-full bg-(--accent) transition-[width] duration-150",style:{width:`${ee}%`}}),jsxRuntime.jsx("div",{className:"absolute top-1/2 h-3 w-3 -translate-y-1/2 rounded-full bg-(--accent) opacity-0 shadow-md transition-opacity group-hover:opacity-100",style:{left:`calc(${ee}% - 6px)`}})]}),jsxRuntime.jsxs("div",{className:i("mt-1 flex justify-between text-[10px] font-mono",ye),children:[jsxRuntime.jsx("span",{children:Fi(P)}),jsxRuntime.jsx("span",{children:Fi(N)})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-center gap-2 px-4 pb-3 pt-1",children:[jsxRuntime.jsx("button",{className:i("rounded-full p-1.5 transition-colors",Y?z:ye,"hover:text-(--mp-text)"),onClick:()=>V(I=>!I),title:Y?"Shuffle On":"Shuffle Off",children:jsxRuntime.jsx(lucideReact.Shuffle,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:i("rounded-full p-1.5 transition-colors",G?z:ye,"hover:text-(--mp-text)"),onClick:()=>me(I=>!I),title:G?"Loop On":"Loop Off",children:jsxRuntime.jsx(lucideReact.Repeat1,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:i("rounded-full p-2 transition-colors",ye,"hover:text-(--mp-text)"),onClick:be,title:"Previous",children:jsxRuntime.jsx(lucideReact.SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:i("flex h-10 w-10 items-center justify-center rounded-full transition-all duration-200","bg-(--accent) text-white shadow-lg active:scale-95"),style:{boxShadow:"0 6px 20px color-mix(in srgb, var(--accent) 35%, transparent)"},onClick:()=>{xe(),h(I=>!I);},title:w?"Pause":"Play",children:w?jsxRuntime.jsx(lucideReact.Pause,{className:"h-4.5 w-4.5",fill:"currentColor"}):jsxRuntime.jsx(lucideReact.Play,{className:"h-4.5 w-4.5 translate-x-px",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:i("rounded-full p-2 transition-colors",ye,"hover:text-(--mp-text)"),onClick:q,title:"Next",children:jsxRuntime.jsx(lucideReact.SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsxs("div",{className:"ml-2 flex items-center gap-1.5",children:[jsxRuntime.jsx("button",{className:i("rounded-full p-1 transition-colors",ye,"hover:text-(--mp-text)"),onClick:()=>{xe();let I=!A;H(I),se.current&&(se.current.gain.value=I?0:R);},title:A?"Unmute":"Mute",children:A||R===0?jsxRuntime.jsx(lucideReact.VolumeX,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.Volume2,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("input",{type:"range",min:0,max:1,step:.01,value:A?0:R,onChange:I=>{xe();let ge=Number(I.target.value);E(ge),A&&H(false),se.current&&(se.current.gain.value=ge);},className:"mp-volume-slider h-1 w-14 cursor-pointer appearance-none rounded-full bg-(--mp-surface) accent-(--accent)"})]})]}),jsxRuntime.jsx("div",{className:i("overflow-hidden transition-all duration-300 ease-in-out",v?"max-h-60":"max-h-0"),children:jsxRuntime.jsx("div",{className:i("border-t px-2 py-2",J),children:jsxRuntime.jsx("div",{className:"max-h-52 space-y-0.5 overflow-y-auto",children:e.map((I,ge)=>{let Fe=ge===d;return jsxRuntime.jsxs("button",{className:i("flex w-full items-center gap-2.5 rounded-lg px-2.5 py-2 text-left transition-all duration-200",Fe?"bg-(--accent)/10 dark:bg-(--accent)/15":"hover:bg-(--mp-surface-hover)"),onClick:()=>{B(ge),h(true);},children:[jsxRuntime.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center",children:Fe&&w?jsxRuntime.jsx("div",{className:"flex items-end gap-0.5",children:[1,2,3].map(tt=>jsxRuntime.jsx("div",{className:"w-0.75 rounded-full bg-(--accent)",style:{height:`${8+tt*4}px`,animation:`mp-eq-bar ${.4+tt*.15}s ease-in-out infinite alternate`}},tt))}):Fe?jsxRuntime.jsx(lucideReact.Disc3,{className:i("h-4 w-4",z)}):jsxRuntime.jsx("span",{className:i("text-xs font-mono",ye),children:ge+1})}),jsxRuntime.jsx("div",{className:"h-8 w-8 shrink-0 overflow-hidden rounded",children:jsxRuntime.jsx("img",{src:I.cover||na,alt:"",className:"h-full w-full object-cover",draggable:false})}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:i("truncate text-xs font-medium",Fe?z:Re),children:I.title}),I.artist&&jsxRuntime.jsx("div",{className:i("truncate text-[10px]",ye),children:I.artist})]}),y.has(ge)&&jsxRuntime.jsx(lucideReact.Heart,{className:"h-3 w-3 shrink-0 text-rose-500",fill:"currentColor"})]},ge)})})})})]})})]})}function yn(e){if(!isFinite(e)||e<0)return "0:00";let t=Math.floor(e/3600),r=Math.floor(e%3600/60),n=Math.floor(e%60);return t>0?`${t}:${r.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`:`${r}:${n.toString().padStart(2,"0")}`}var Gm={title:(e,t)=>e.title.localeCompare(t.title),type:(e,t)=>(e.type??"").localeCompare(t.type??""),duration:(e,t)=>(e.duration??0)-(t.duration??0)};function ia({playlist:e,initialTrack:t=0,autoPlay:r=false,shuffle:n=false,loop:o=false,onTrackChange:a,onPlayChange:s,accent:p="#8b5cf6",className:b}){let[u,c]=Nr.useState(t),[T,x]=Nr.useState(false),[m,g]=Nr.useState(0),[d,f]=Nr.useState(0),[w,h]=Nr.useState(0),[P,k]=Nr.useState(.8),[N,F]=Nr.useState(false),[R,E]=Nr.useState(n),[A,H]=Nr.useState(o),[y,O]=Nr.useState(false),[v,ne]=Nr.useState("title"),[C,re]=Nr.useState(true),[_,de]=Nr.useState(false),[j,pe]=Nr.useState(false),[Y,V]=Nr.useState(false),[G,me]=Nr.useState(true),[W,l]=Nr.useState(false),[D,X]=Nr.useState(null),$=Nr.useRef(null),se=Nr.useRef(null),ue=Nr.useRef(void 0),Te=Nr.useRef(false),S=e[u],ce=Nr__default.default.useMemo(()=>{let L=e.map((Z,ee)=>({media:Z,originalIndex:ee}));return L.sort((Z,ee)=>{let I=Gm[v](Z.media,ee.media);return C?I:-I}),L},[e,v,C]);Nr.useEffect(()=>{let L=$.current;if(!L)return;l(true),L.src=S.src,S.poster&&(L.poster=S.poster),L.load();let Z=()=>{l(false),T&&L.play().catch(()=>{});};return L.addEventListener("loadeddata",Z,{once:true}),()=>L.removeEventListener("loadeddata",Z)},[u,S.src]),Nr.useEffect(()=>{if(!r||Te.current)return;let L=$.current;if(!L)return;let Z=()=>{Te.current=true,x(true),L.play().catch(()=>{});};return L.addEventListener("canplaythrough",Z,{once:true}),()=>L.removeEventListener("canplaythrough",Z)},[r]),Nr.useEffect(()=>{let L=$.current;L&&(T?L.play().catch(()=>{}):L.pause(),s?.(T));},[T]),Nr.useEffect(()=>{let L=$.current;L&&(L.volume=N?0:P);},[P,N]),Nr.useEffect(()=>{let L=$.current;if(!L)return;let Z=()=>g(L.currentTime),ee=()=>f(L.duration),I=()=>{L.buffered.length>0&&h(L.buffered.end(L.buffered.length-1));},ge=()=>{A?(L.currentTime=0,L.play().catch(()=>{})):fe();};return L.addEventListener("timeupdate",Z),L.addEventListener("loadedmetadata",ee),L.addEventListener("progress",I),L.addEventListener("ended",ge),()=>{L.removeEventListener("timeupdate",Z),L.removeEventListener("loadedmetadata",ee),L.removeEventListener("progress",I),L.removeEventListener("ended",ge);}},[u,e.length,A]);let oe=Nr.useCallback(()=>{me(true),ue.current&&clearTimeout(ue.current),ue.current=setTimeout(()=>{T&&me(false);},3e3);},[T]);Nr.useEffect(()=>{T?oe():(me(true),ue.current&&clearTimeout(ue.current));},[T,oe]),Nr.useEffect(()=>()=>{ue.current&&clearTimeout(ue.current);},[]);let he=Nr.useCallback(L=>{let Z=(L%e.length+e.length)%e.length;c(Z),g(0),x(true),a?.(Z,e[Z]);},[e,a]),fe=Nr.useCallback(()=>{if(R){let L;do L=Math.floor(Math.random()*e.length);while(L===u&&e.length>1);he(L);}else he(u+1);},[he,u,R,e.length]),Re=Nr.useCallback(()=>{if(R){let L;do L=Math.floor(Math.random()*e.length);while(L===u&&e.length>1);he(L);}else he(u-1);},[he,u,R,e.length]),ye=Nr.useCallback(L=>{let Z=L.currentTarget.getBoundingClientRect(),I=Math.max(0,Math.min(1,(L.clientX-Z.left)/Z.width))*d;$.current&&($.current.currentTime=I),g(I);},[d]),z=Nr.useCallback(L=>{let Z=L.currentTarget.getBoundingClientRect(),ee=Math.max(0,Math.min(1,(L.clientX-Z.left)/Z.width));X(ee*d);},[d]),J=Nr.useCallback(()=>{se.current&&(document.fullscreenElement?document.exitFullscreen():se.current.requestFullscreen());},[]);Nr.useEffect(()=>{let L=()=>V(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",L),()=>document.removeEventListener("fullscreenchange",L)},[]);let B=Nr.useCallback(()=>{_?(pe(true),setTimeout(()=>{de(false),pe(false);},500)):de(true);},[_]),q=Nr.useCallback(()=>{O(L=>!L);},[]),be=Nr.useCallback(()=>{let L=["title","type","duration"],Z=L.indexOf(v);C?re(false):(re(true),ne(L[(Z+1)%L.length]));},[v,C]);Nr.useEffect(()=>{let L=Z=>{if(!(Z.target instanceof HTMLInputElement||Z.target instanceof HTMLTextAreaElement))switch(Z.key){case " ":case "k":Z.preventDefault(),x(ee=>!ee);break;case "f":Z.preventDefault(),J();break;case "t":Z.preventDefault(),B();break;case "ArrowLeft":Z.preventDefault(),$.current&&($.current.currentTime=Math.max(0,m-5));break;case "ArrowRight":Z.preventDefault(),$.current&&($.current.currentTime=Math.min(d,m+5));break;case "ArrowUp":Z.preventDefault(),k(ee=>Math.min(1,ee+.05));break;case "ArrowDown":Z.preventDefault(),k(ee=>Math.max(0,ee-.05));break;case "Escape":_&&B();break;case "n":Z.preventDefault(),fe();break;case "p":Z.preventDefault(),Re();break;case "l":Z.preventDefault(),q();break}};return window.addEventListener("keydown",L),()=>window.removeEventListener("keydown",L)},[J,B,q,fe,Re,m,d,_]);let De=d>0?m/d*100:0,He=d>0?w/d*100:0,K="text-(--accent)",xe=jsxRuntime.jsxs("div",{ref:se,className:i("group flex overflow-hidden",Y?"h-full w-full":"aspect-video w-full",!Y&&"rounded-xl",!Y&&T&&"shadow-2xl",!Y&&!T&&"animate-[cp-glow-pulse_4s_ease-in-out_infinite] will-change-[box-shadow]",b),style:{"--accent":p,background:"var(--cp-bg)"},tabIndex:0,children:[jsxRuntime.jsxs("div",{className:i("relative flex-1 min-w-0 h-full overflow-hidden",W&&"animate-[cp-track-transition_0.6s_ease-out]"),onMouseMove:oe,onMouseLeave:()=>{T&&me(false);},children:[jsxRuntime.jsx("video",{ref:$,className:"h-full w-full object-contain",poster:S.poster,playsInline:true,preload:"metadata",onClick:()=>x(L=>!L)}),!T&&!W&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex cursor-pointer items-center justify-center",style:{background:"var(--cp-overlay)"},onClick:()=>x(true),children:jsxRuntime.jsx("div",{className:"flex h-20 w-20 items-center justify-center rounded-full backdrop-blur-md transition-transform hover:scale-110 active:scale-95",style:{background:"var(--cp-surface-hover)"},children:jsxRuntime.jsx(lucideReact.Play,{className:"h-10 w-10 translate-x-0.5",fill:"currentColor",style:{color:"var(--cp-text-strong)"}})})}),W&&!G&&jsxRuntime.jsx("div",{className:"absolute left-6 top-6 z-20 animate-[fade-in_0.4s_ease-out]",children:jsxRuntime.jsxs("div",{className:"rounded-lg px-4 py-2 backdrop-blur-md",style:{background:"var(--cp-panel-bg)"},children:[jsxRuntime.jsx("div",{className:"text-sm font-semibold",style:{color:"var(--cp-text-strong)"},children:S.title}),S.subtitle&&jsxRuntime.jsx("div",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:S.subtitle})]})}),jsxRuntime.jsx("div",{className:i("absolute inset-x-0 top-0 z-10 bg-linear-to-b from-black/70 to-transparent px-5 pb-8 pt-4 transition-opacity duration-500",G?"opacity-100":"pointer-events-none opacity-0"),children:jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:"text-sm font-semibold drop-shadow-md",style:{color:"var(--cp-text-strong)"},children:S.title}),S.subtitle&&jsxRuntime.jsx("p",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:S.subtitle})]}),S.type&&jsxRuntime.jsx("span",{className:"rounded-full bg-(--accent)/70 px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider backdrop-blur-sm",style:{color:"var(--cp-text-strong)"},children:S.type})]})}),jsxRuntime.jsxs("div",{className:i("absolute inset-x-0 bottom-0 z-10 bg-linear-to-t from-black/80 via-black/40 to-transparent px-4 pb-3 pt-10 transition-all duration-500",G?"translate-y-0 opacity-100":"pointer-events-none translate-y-2 opacity-0"),children:[jsxRuntime.jsxs("div",{className:"group/seek relative mb-3 h-1 cursor-pointer rounded-full transition-[height] duration-200 hover:h-1.5",style:{background:"var(--cp-seek-track)"},onClick:ye,onMouseMove:z,onMouseLeave:()=>X(null),children:[jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 rounded-full",style:{width:`${He}%`,background:"var(--cp-seek-buffer)"}}),jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 rounded-full bg-(--accent) transition-[width] duration-100",style:{width:`${De}%`}}),D!==null&&jsxRuntime.jsx("div",{className:"absolute -top-8 -translate-x-1/2 rounded px-2 py-0.5 text-[10px] font-mono",style:{left:`${D/d*100}%`,background:"var(--cp-panel-bg)",color:"var(--cp-text-strong)"},children:yn(D)}),jsxRuntime.jsx("div",{className:"absolute top-1/2 h-3.5 w-3.5 -translate-y-1/2 rounded-full border-2 border-(--accent) bg-white opacity-0 shadow-lg transition-opacity group-hover/seek:opacity-100",style:{left:`calc(${De}% - 7px)`}})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("button",{className:"cp-btn",onClick:()=>x(L=>!L),title:T?"Pause (k)":"Play (k)",children:T?jsxRuntime.jsx(lucideReact.Pause,{className:"h-5 w-5",fill:"currentColor"}):jsxRuntime.jsx(lucideReact.Play,{className:"h-5 w-5 translate-x-px",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:"cp-btn",onClick:Re,title:"Previous (p)",children:jsxRuntime.jsx(lucideReact.SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:"cp-btn",onClick:fe,title:"Next (n)",children:jsxRuntime.jsx(lucideReact.SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsxs("div",{className:"group/vol ml-1 flex items-center",children:[jsxRuntime.jsx("button",{className:"cp-btn",onClick:()=>F(L=>!L),title:N?"Unmute":"Mute",children:N||P===0?jsxRuntime.jsx(lucideReact.VolumeX,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.Volume2,{className:"h-4 w-4"})}),jsxRuntime.jsx("div",{className:"flex w-0 items-center overflow-hidden transition-all duration-300 group-hover/vol:w-20",children:jsxRuntime.jsx("input",{type:"range",min:0,max:1,step:.01,value:N?0:P,onChange:L=>{k(Number(L.target.value)),N&&F(false);},className:"h-1 w-full cursor-pointer appearance-none rounded-full accent-(--accent)",style:{background:"var(--cp-seek-track)"}})})]}),jsxRuntime.jsxs("span",{className:"ml-2 min-w-0 shrink-0 font-mono text-xs",style:{color:"var(--cp-text-muted)"},children:[yn(m)," / ",yn(d)]}),jsxRuntime.jsx("div",{className:"flex-1"}),jsxRuntime.jsx("button",{className:i("cp-btn",R&&K),onClick:()=>E(L=>!L),title:"Shuffle",children:jsxRuntime.jsx(lucideReact.Shuffle,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:i("cp-btn",A&&K),onClick:()=>H(L=>!L),title:"Loop",children:jsxRuntime.jsx(lucideReact.Repeat1,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:i("cp-btn",y&&K),onClick:q,title:"Playlist",children:jsxRuntime.jsx(lucideReact.ListVideo,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:i("cp-btn",_&&K),onClick:B,title:"Cinema mode (t)",children:jsxRuntime.jsx(lucideReact.Theater,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:"cp-btn",onClick:J,title:"Fullscreen (f)",children:Y?jsxRuntime.jsx(lucideReact.Minimize,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.Maximize,{className:"h-4 w-4"})})]})]})]}),jsxRuntime.jsx("div",{className:i("h-full shrink-0 overflow-hidden transition-[width] duration-300 ease-out",y?"w-72":"w-0"),children:jsxRuntime.jsxs("div",{className:"flex h-full w-72 flex-col backdrop-blur-xl",style:{borderLeft:"1px solid var(--cp-border)",background:"var(--cp-panel-bg)"},children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-4 py-3",style:{borderBottom:"1px solid var(--cp-border)"},children:[jsxRuntime.jsx("span",{className:"text-xs font-semibold uppercase tracking-wider",style:{color:"var(--cp-text)"},children:"Playlist"}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsxs("button",{className:"flex items-center gap-1 rounded px-2 py-1 text-[10px] font-medium transition-colors",style:{color:"var(--cp-text-muted)"},onClick:be,title:`Sort: ${v} ${C?"\u2191":"\u2193"}`,children:[jsxRuntime.jsx(lucideReact.ArrowUpDown,{className:"h-3 w-3"}),v,C?" \u2191":" \u2193"]}),jsxRuntime.jsx("button",{className:"cp-btn p-1!",onClick:q,title:"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]}),jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto",children:ce.map(({media:L,originalIndex:Z})=>{let ee=Z===u;return jsxRuntime.jsxs("button",{className:i("flex w-full items-center gap-3 px-4 py-2.5 text-left transition-all duration-200",ee?"bg-(--accent)/20 text-(--accent)":"hover:text-(--cp-text-strong)"),style:ee?void 0:{color:"var(--cp-text)"},onClick:()=>{he(Z);},children:[jsxRuntime.jsxs("div",{className:"relative h-10 w-16 shrink-0 overflow-hidden rounded",style:{background:"var(--cp-surface)"},children:[L.poster?jsxRuntime.jsx("img",{src:L.poster,alt:"",className:"h-full w-full object-cover",draggable:false}):jsxRuntime.jsx("div",{className:"flex h-full w-full items-center justify-center",children:jsxRuntime.jsx(lucideReact.Play,{className:"h-4 w-4",style:{color:"var(--cp-seek-track)"}})}),ee&&T&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",style:{background:"var(--cp-overlay)"},children:jsxRuntime.jsx("div",{className:"flex items-end gap-px",children:[1,2,3,4].map(I=>jsxRuntime.jsx("div",{className:"w-0.5 rounded-full bg-(--accent)",style:{height:`${6+I*3}px`,animation:`mp-eq-bar ${.3+I*.12}s ease-in-out infinite alternate`}},I))})})]}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:"truncate text-xs font-medium",children:L.title}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[L.type&&jsxRuntime.jsx("span",{className:"text-[10px] uppercase tracking-wide opacity-50",children:L.type}),L.duration!=null&&jsxRuntime.jsx("span",{className:"font-mono text-[10px] opacity-40",children:yn(L.duration)})]})]}),ee&&jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-3.5 w-3.5 shrink-0 text-(--accent)"})]},Z)})})]})}),jsxRuntime.jsx("style",{children:`
7
+ </svg>`);function dl(e){if(!isFinite(e)||e<0)return "0:00";let t=Math.floor(e/60),r=Math.floor(e%60);return `${t}:${r.toString().padStart(2,"0")}`}function M0(e){return e.startsWith("bottom")?"bottom":e.startsWith("top")?"top":"right"}var P0={"bottom-right":"bottom-4 right-4","bottom-left":"bottom-4 left-4","top-right":"top-4 right-4","top-left":"top-4 left-4"},S0={"bottom-right":"bottom-4 right-0","bottom-left":"bottom-4 left-0","top-right":"top-4 right-0","top-left":"top-4 left-0"},L0={"bottom-right":"bottom-8 right-0 w-1.5 h-16 rounded-l-full","bottom-left":"bottom-8 left-0 w-1.5 h-16 rounded-r-full","top-right":"top-8 right-0 w-1.5 h-16 rounded-l-full","top-left":"top-8 left-0 w-1.5 h-16 rounded-r-full"};function ms({playlist:e,initialTrack:t=0,position:r="bottom-right",entrance:n,theme:o,docked:s=false,visible:a,onVisibleChange:l,onTrackChange:d,onLike:m,autoPlay:c=true,shuffle:f=false,loop:p=false,accent:u="#8b5cf6",className:h}){let [g,x]=Kr.useState(t),[w,y]=Kr.useState(false),[M,v]=Kr.useState(0),[N,L]=Kr.useState(0),[R,D]=Kr.useState(.8),[A,V]=Kr.useState(false),[k,O]=Kr.useState(new Set),[C,X]=Kr.useState(false),[T,re]=Kr.useState(a??!s),[_,de]=Kr.useState(false),[J,pe]=Kr.useState(false),[fe,$]=Kr.useState(f),[U,me]=Kr.useState(p),j=Kr.useRef(false),b=Kr.useRef(null),I=Kr.useRef(null),W=Kr.useRef(void 0),K=Kr.useRef(null),B=Kr.useRef(null),Q=a??T,ve=n??M0(r),P=e[g],ae=s,he=o==="dark"?"dark":o==="light"?"light":"",ge="bg-(--mp-bg)",Me="text-(--mp-text)",ke="text-(--mp-text-muted)",F="text-(--accent)",ee="border-(--mp-border)";Kr.useEffect(()=>{let H=b.current;H&&(H.src=P.src,H.load(),w&&H.play().catch(()=>{}));},[g,P.src]),Kr.useEffect(()=>{if(!c||j.current)return;let H=b.current;if(!H)return;let be=()=>{j.current=true,y(true),H.play().catch(()=>{});};return H.addEventListener("canplaythrough",be,{once:true}),()=>H.removeEventListener("canplaythrough",be)},[c]),Kr.useEffect(()=>{let H=b.current;H&&(w?H.play().catch(()=>{}):H.pause());},[w]),Kr.useEffect(()=>{let H=b.current;H&&(H.muted=A,B.current?B.current.gain.value=A?0:R:H.volume=R);},[R,A]),Kr.useEffect(()=>{let H=b.current;if(!H)return;let be=()=>v(H.currentTime),Fe=()=>L(H.duration),lt=()=>{U?(H.currentTime=0,H.play().catch(()=>{})):q();};return H.addEventListener("timeupdate",be),H.addEventListener("loadedmetadata",Fe),H.addEventListener("ended",lt),()=>{H.removeEventListener("timeupdate",be),H.removeEventListener("loadedmetadata",Fe),H.removeEventListener("ended",lt);}},[g,e.length]);let z=Kr.useCallback(H=>{let be=(H%e.length+e.length)%e.length;x(be),v(0),d?.(be,e[be]),Q||(re(true),l?.(true));},[e,Q,d,l]),q=Kr.useCallback(()=>{if(fe){let H;do H=Math.floor(Math.random()*e.length);while(H===g&&e.length>1);z(H);}else z(g+1);},[z,g,fe,e.length]),xe=Kr.useCallback(()=>{if(fe){let H;do H=Math.floor(Math.random()*e.length);while(H===g&&e.length>1);z(H);}else z(g-1);},[z,g,fe,e.length]),Ae=Kr.useCallback(()=>{let H=k.has(g);O(be=>{let Fe=new Set(be);return H?Fe.delete(g):Fe.add(g),Fe}),m?.(g,P,!H);},[g,k,m,P]),He=Kr.useCallback(H=>{let be=H.currentTarget.getBoundingClientRect(),lt=Math.max(0,Math.min(1,(H.clientX-be.left)/be.width))*N;b.current&&(b.current.currentTime=lt),v(lt);},[N]),G=Kr.useCallback(()=>{de(true);let H=ae?200:400;W.current=setTimeout(()=>{de(false),re(false),l?.(false);},H);},[ae,l]);Kr.useEffect(()=>()=>{W.current&&clearTimeout(W.current);},[]),Kr.useEffect(()=>()=>{K.current?.close();},[]);function ye(){if(K.current||!b.current){K.current?.resume();return}try{let H=window.AudioContext??window.webkitAudioContext;if(!H)return;let be=new H,Fe=be.createGain();Fe.gain.value=A?0:R,be.createMediaElementSource(b.current).connect(Fe).connect(be.destination),K.current=be,B.current=Fe,be.resume();}catch{}}let E=J?"fade-in 0.2s ease-out both":`mp-enter-${ve} 0.45s cubic-bezier(0.16, 1, 0.3, 1) both`,Z=J?"fade-in 0.2s ease-in reverse both":`mp-exit-${ve} 0.4s cubic-bezier(0.7, 0, 0.84, 0) both`,ne=N>0?M/N*100:0;return ae&&!Q&&!_?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("audio",{ref:b,preload:"metadata",crossOrigin:"anonymous"}),jsxRuntime.jsxs("div",{className:i("fixed z-100 cursor-pointer transition-all duration-300",L0[r]),style:{"--accent":u},onMouseEnter:()=>{pe(true),re(true),l?.(true);},children:[jsxRuntime.jsx("div",{className:i("h-full w-full rounded-full",w?"bg-(--accent)":"bg-(--mp-dock-strip)"),style:w?{animation:"mp-progress-glow 2s ease-in-out infinite",boxShadow:"0 0 12px color-mix(in srgb, var(--accent) 50%, transparent)"}:void 0}),w&&jsxRuntime.jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/30",style:{animation:"mp-pulse-ring 2s ease-out infinite"}})]})]}):!Q&&!_?jsxRuntime.jsx("audio",{ref:b,preload:"metadata",crossOrigin:"anonymous"}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("audio",{ref:b,preload:"metadata",crossOrigin:"anonymous"}),jsxRuntime.jsx("div",{className:i("fixed z-100",ae?S0[r]:P0[r],he),style:{"--accent":u,..._?{animation:Z}:{animation:E}},onMouseEnter:()=>{ae&&(W.current&&(clearTimeout(W.current),W.current=void 0),_&&de(false),pe(true));},onMouseLeave:()=>{ae&&(pe(false),G());},children:jsxRuntime.jsxs("div",{className:i("w-[320px] overflow-hidden rounded-2xl border shadow-2xl backdrop-blur-xl",ge,ee,ae&&"rounded-none",r.endsWith("right")&&ae&&"rounded-l-2xl",r.endsWith("left")&&ae&&"rounded-r-2xl",h),children:[jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsx("div",{className:"absolute inset-0 overflow-hidden",children:jsxRuntime.jsx("img",{src:P.cover||ds,alt:"",className:"h-full w-full scale-110 object-cover opacity-30 blur-2xl",draggable:false})}),jsxRuntime.jsxs("div",{className:"relative flex items-center gap-3.5 p-4 pb-3",children:[jsxRuntime.jsxs("div",{className:"relative h-14 w-14 shrink-0",children:[jsxRuntime.jsxs("div",{className:"h-14 w-14 overflow-hidden rounded-full border-2 border-white/10 shadow-lg",style:w?{animation:"mp-vinyl-spin 4s linear infinite"}:void 0,children:[jsxRuntime.jsx("img",{src:P.cover||ds,alt:P.album??P.title,className:"h-full w-full object-cover",draggable:false}),jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:jsxRuntime.jsx("div",{className:"h-3 w-3 rounded-full bg-black/60 ring-1 ring-white/10"})})]}),w&&jsxRuntime.jsx("div",{className:"absolute inset-0 rounded-full bg-(--accent)/20",style:{animation:"mp-pulse-ring 2.5s ease-out infinite"}})]}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:i("truncate text-sm font-semibold",Me),children:P.title}),P.artist&&jsxRuntime.jsx("div",{className:i("truncate text-xs",ke),children:P.artist}),P.album&&jsxRuntime.jsx("div",{className:i("mt-0.5 truncate text-[10px] tracking-wide",ke,"opacity-60"),children:P.album})]}),jsxRuntime.jsxs("div",{className:"flex shrink-0 items-center gap-0.5",children:[jsxRuntime.jsx("button",{className:i("rounded-full p-1.5 transition-all duration-200",k.has(g)?"text-rose-500 hover:text-rose-400":i(ke,"hover:text-rose-500")),onClick:Ae,title:"Like",children:jsxRuntime.jsx(lucideReact.Heart,{className:"h-4 w-4",fill:k.has(g)?"currentColor":"none"})}),jsxRuntime.jsx("button",{className:i("rounded-full p-1.5 transition-colors",ke,"hover:"+Me.split(" ")[0]),onClick:()=>X(H=>!H),title:"Playlist",children:jsxRuntime.jsx(lucideReact.ListMusic,{className:"h-4 w-4"})}),!ae&&jsxRuntime.jsx("button",{className:i("rounded-full p-1.5 transition-colors",ke,"hover:"+Me.split(" ")[0]),onClick:G,title:"Dismiss",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]})]}),jsxRuntime.jsxs("div",{className:"px-4",children:[jsxRuntime.jsxs("div",{ref:I,className:"group relative h-1.5 cursor-pointer rounded-full bg-(--mp-surface)",onClick:He,children:[jsxRuntime.jsx("div",{className:"h-full rounded-full bg-(--accent) transition-[width] duration-150",style:{width:`${ne}%`}}),jsxRuntime.jsx("div",{className:"absolute top-1/2 h-3 w-3 -translate-y-1/2 rounded-full bg-(--accent) opacity-0 shadow-md transition-opacity group-hover:opacity-100",style:{left:`calc(${ne}% - 6px)`}})]}),jsxRuntime.jsxs("div",{className:i("mt-1 flex justify-between text-[10px] font-mono",ke),children:[jsxRuntime.jsx("span",{children:dl(M)}),jsxRuntime.jsx("span",{children:dl(N)})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center justify-center gap-2 px-4 pb-3 pt-1",children:[jsxRuntime.jsx("button",{className:i("rounded-full p-1.5 transition-colors",fe?F:ke,"hover:text-(--mp-text)"),onClick:()=>$(H=>!H),title:fe?"Shuffle On":"Shuffle Off",children:jsxRuntime.jsx(lucideReact.Shuffle,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:i("rounded-full p-1.5 transition-colors",U?F:ke,"hover:text-(--mp-text)"),onClick:()=>me(H=>!H),title:U?"Loop On":"Loop Off",children:jsxRuntime.jsx(lucideReact.Repeat1,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:i("rounded-full p-2 transition-colors",ke,"hover:text-(--mp-text)"),onClick:xe,title:"Previous",children:jsxRuntime.jsx(lucideReact.SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:i("flex h-10 w-10 items-center justify-center rounded-full transition-all duration-200","bg-(--accent) text-white shadow-lg active:scale-95"),style:{boxShadow:"0 6px 20px color-mix(in srgb, var(--accent) 35%, transparent)"},onClick:()=>{ye(),y(H=>!H);},title:w?"Pause":"Play",children:w?jsxRuntime.jsx(lucideReact.Pause,{className:"h-4.5 w-4.5",fill:"currentColor"}):jsxRuntime.jsx(lucideReact.Play,{className:"h-4.5 w-4.5 translate-x-px",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:i("rounded-full p-2 transition-colors",ke,"hover:text-(--mp-text)"),onClick:q,title:"Next",children:jsxRuntime.jsx(lucideReact.SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsxs("div",{className:"ml-2 flex items-center gap-1.5",children:[jsxRuntime.jsx("button",{className:i("rounded-full p-1 transition-colors",ke,"hover:text-(--mp-text)"),onClick:()=>{ye();let H=!A;V(H),B.current&&(B.current.gain.value=H?0:R);},title:A?"Unmute":"Mute",children:A||R===0?jsxRuntime.jsx(lucideReact.VolumeX,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.Volume2,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("input",{type:"range",min:0,max:1,step:.01,value:A?0:R,onChange:H=>{ye();let be=Number(H.target.value);D(be),A&&V(false),B.current&&(B.current.gain.value=be);},className:"mp-volume-slider h-1 w-14 cursor-pointer appearance-none rounded-full bg-(--mp-surface) accent-(--accent)"})]})]}),jsxRuntime.jsx("div",{className:i("overflow-hidden transition-all duration-300 ease-in-out",C?"max-h-60":"max-h-0"),children:jsxRuntime.jsx("div",{className:i("border-t px-2 py-2",ee),children:jsxRuntime.jsx("div",{className:"max-h-52 space-y-0.5 overflow-y-auto",children:e.map((H,be)=>{let Fe=be===g;return jsxRuntime.jsxs("button",{className:i("flex w-full items-center gap-2.5 rounded-lg px-2.5 py-2 text-left transition-all duration-200",Fe?"bg-(--accent)/10 dark:bg-(--accent)/15":"hover:bg-(--mp-surface-hover)"),onClick:()=>{z(be),y(true);},children:[jsxRuntime.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center",children:Fe&&w?jsxRuntime.jsx("div",{className:"flex items-end gap-0.5",children:[1,2,3].map(lt=>jsxRuntime.jsx("div",{className:"w-0.75 rounded-full bg-(--accent)",style:{height:`${8+lt*4}px`,animation:`mp-eq-bar ${.4+lt*.15}s ease-in-out infinite alternate`}},lt))}):Fe?jsxRuntime.jsx(lucideReact.Disc3,{className:i("h-4 w-4",F)}):jsxRuntime.jsx("span",{className:i("text-xs font-mono",ke),children:be+1})}),jsxRuntime.jsx("div",{className:"h-8 w-8 shrink-0 overflow-hidden rounded",children:jsxRuntime.jsx("img",{src:H.cover||ds,alt:"",className:"h-full w-full object-cover",draggable:false})}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:i("truncate text-xs font-medium",Fe?F:Me),children:H.title}),H.artist&&jsxRuntime.jsx("div",{className:i("truncate text-[10px]",ke),children:H.artist})]}),k.has(be)&&jsxRuntime.jsx(lucideReact.Heart,{className:"h-3 w-3 shrink-0 text-rose-500",fill:"currentColor"})]},be)})})})})]})})]})}function go(e){if(!isFinite(e)||e<0)return "0:00";let t=Math.floor(e/3600),r=Math.floor(e%3600/60),n=Math.floor(e%60);return t>0?`${t}:${r.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`:`${r}:${n.toString().padStart(2,"0")}`}var W0={title:(e,t)=>e.title.localeCompare(t.title),type:(e,t)=>(e.type??"").localeCompare(t.type??""),duration:(e,t)=>(e.duration??0)-(t.duration??0)};function us({playlist:e,initialTrack:t=0,autoPlay:r=false,shuffle:n=false,loop:o=false,onTrackChange:s,onPlayChange:a,accent:l="#8b5cf6",className:d}){let[m,c]=Kr.useState(t),[f,p]=Kr.useState(false),[u,h]=Kr.useState(0),[g,x]=Kr.useState(0),[w,y]=Kr.useState(0),[M,v]=Kr.useState(.8),[N,L]=Kr.useState(false),[R,D]=Kr.useState(n),[A,V]=Kr.useState(o),[k,O]=Kr.useState(false),[C,X]=Kr.useState("title"),[T,re]=Kr.useState(true),[_,de]=Kr.useState(false),[J,pe]=Kr.useState(false),[fe,$]=Kr.useState(false),[U,me]=Kr.useState(true),[j,b]=Kr.useState(false),[I,W]=Kr.useState(null),K=Kr.useRef(null),B=Kr.useRef(null),Q=Kr.useRef(void 0),ve=Kr.useRef(false),P=e[m],ce=Kr__default.default.useMemo(()=>{let E=e.map((Z,ne)=>({media:Z,originalIndex:ne}));return E.sort((Z,ne)=>{let H=W0[C](Z.media,ne.media);return T?H:-H}),E},[e,C,T]);Kr.useEffect(()=>{let E=K.current;if(!E)return;b(true),E.src=P.src,P.poster&&(E.poster=P.poster),E.load();let Z=()=>{b(false),f&&E.play().catch(()=>{});};return E.addEventListener("loadeddata",Z,{once:true}),()=>E.removeEventListener("loadeddata",Z)},[m,P.src]),Kr.useEffect(()=>{if(!r||ve.current)return;let E=K.current;if(!E)return;let Z=()=>{ve.current=true,p(true),E.play().catch(()=>{});};return E.addEventListener("canplaythrough",Z,{once:true}),()=>E.removeEventListener("canplaythrough",Z)},[r]),Kr.useEffect(()=>{let E=K.current;E&&(f?E.play().catch(()=>{}):E.pause(),a?.(f));},[f]),Kr.useEffect(()=>{let E=K.current;E&&(E.volume=N?0:M);},[M,N]),Kr.useEffect(()=>{let E=K.current;if(!E)return;let Z=()=>h(E.currentTime),ne=()=>x(E.duration),H=()=>{E.buffered.length>0&&y(E.buffered.end(E.buffered.length-1));},be=()=>{A?(E.currentTime=0,E.play().catch(()=>{})):ge();};return E.addEventListener("timeupdate",Z),E.addEventListener("loadedmetadata",ne),E.addEventListener("progress",H),E.addEventListener("ended",be),()=>{E.removeEventListener("timeupdate",Z),E.removeEventListener("loadedmetadata",ne),E.removeEventListener("progress",H),E.removeEventListener("ended",be);}},[m,e.length,A]);let ae=Kr.useCallback(()=>{me(true),Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>{f&&me(false);},3e3);},[f]);Kr.useEffect(()=>{f?ae():(me(true),Q.current&&clearTimeout(Q.current));},[f,ae]),Kr.useEffect(()=>()=>{Q.current&&clearTimeout(Q.current);},[]);let he=Kr.useCallback(E=>{let Z=(E%e.length+e.length)%e.length;c(Z),h(0),p(true),s?.(Z,e[Z]);},[e,s]),ge=Kr.useCallback(()=>{if(R){let E;do E=Math.floor(Math.random()*e.length);while(E===m&&e.length>1);he(E);}else he(m+1);},[he,m,R,e.length]),Me=Kr.useCallback(()=>{if(R){let E;do E=Math.floor(Math.random()*e.length);while(E===m&&e.length>1);he(E);}else he(m-1);},[he,m,R,e.length]),ke=Kr.useCallback(E=>{let Z=E.currentTarget.getBoundingClientRect(),H=Math.max(0,Math.min(1,(E.clientX-Z.left)/Z.width))*g;K.current&&(K.current.currentTime=H),h(H);},[g]),F=Kr.useCallback(E=>{let Z=E.currentTarget.getBoundingClientRect(),ne=Math.max(0,Math.min(1,(E.clientX-Z.left)/Z.width));W(ne*g);},[g]),ee=Kr.useCallback(()=>{B.current&&(document.fullscreenElement?document.exitFullscreen():B.current.requestFullscreen());},[]);Kr.useEffect(()=>{let E=()=>$(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",E),()=>document.removeEventListener("fullscreenchange",E)},[]);let z=Kr.useCallback(()=>{_?(pe(true),setTimeout(()=>{de(false),pe(false);},500)):de(true);},[_]),q=Kr.useCallback(()=>{O(E=>!E);},[]),xe=Kr.useCallback(()=>{let E=["title","type","duration"],Z=E.indexOf(C);T?re(false):(re(true),X(E[(Z+1)%E.length]));},[C,T]);Kr.useEffect(()=>{let E=Z=>{if(!(Z.target instanceof HTMLInputElement||Z.target instanceof HTMLTextAreaElement))switch(Z.key){case " ":case "k":Z.preventDefault(),p(ne=>!ne);break;case "f":Z.preventDefault(),ee();break;case "t":Z.preventDefault(),z();break;case "ArrowLeft":Z.preventDefault(),K.current&&(K.current.currentTime=Math.max(0,u-5));break;case "ArrowRight":Z.preventDefault(),K.current&&(K.current.currentTime=Math.min(g,u+5));break;case "ArrowUp":Z.preventDefault(),v(ne=>Math.min(1,ne+.05));break;case "ArrowDown":Z.preventDefault(),v(ne=>Math.max(0,ne-.05));break;case "Escape":_&&z();break;case "n":Z.preventDefault(),ge();break;case "p":Z.preventDefault(),Me();break;case "l":Z.preventDefault(),q();break}};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[ee,z,q,ge,Me,u,g,_]);let Ae=g>0?u/g*100:0,He=g>0?w/g*100:0,G="text-(--accent)",ye=jsxRuntime.jsxs("div",{ref:B,className:i("group flex overflow-hidden",fe?"h-full w-full":"aspect-video w-full",!fe&&"rounded-xl",!fe&&f&&"shadow-2xl",!fe&&!f&&"animate-[cp-glow-pulse_4s_ease-in-out_infinite] will-change-[box-shadow]",d),style:{"--accent":l,background:"var(--cp-bg)"},tabIndex:0,children:[jsxRuntime.jsxs("div",{className:i("relative flex-1 min-w-0 h-full overflow-hidden",j&&"animate-[cp-track-transition_0.6s_ease-out]"),onMouseMove:ae,onMouseLeave:()=>{f&&me(false);},children:[jsxRuntime.jsx("video",{ref:K,className:"h-full w-full object-contain",poster:P.poster,playsInline:true,preload:"metadata",onClick:()=>p(E=>!E)}),!f&&!j&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex cursor-pointer items-center justify-center",style:{background:"var(--cp-overlay)"},onClick:()=>p(true),children:jsxRuntime.jsx("div",{className:"flex h-20 w-20 items-center justify-center rounded-full backdrop-blur-md transition-transform hover:scale-110 active:scale-95",style:{background:"var(--cp-surface-hover)"},children:jsxRuntime.jsx(lucideReact.Play,{className:"h-10 w-10 translate-x-0.5",fill:"currentColor",style:{color:"var(--cp-text-strong)"}})})}),j&&!U&&jsxRuntime.jsx("div",{className:"absolute left-6 top-6 z-20 animate-[fade-in_0.4s_ease-out]",children:jsxRuntime.jsxs("div",{className:"rounded-lg px-4 py-2 backdrop-blur-md",style:{background:"var(--cp-panel-bg)"},children:[jsxRuntime.jsx("div",{className:"text-sm font-semibold",style:{color:"var(--cp-text-strong)"},children:P.title}),P.subtitle&&jsxRuntime.jsx("div",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:P.subtitle})]})}),jsxRuntime.jsx("div",{className:i("absolute inset-x-0 top-0 z-10 bg-linear-to-b from-black/70 to-transparent px-5 pb-8 pt-4 transition-opacity duration-500",U?"opacity-100":"pointer-events-none opacity-0"),children:jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:"text-sm font-semibold drop-shadow-md",style:{color:"var(--cp-text-strong)"},children:P.title}),P.subtitle&&jsxRuntime.jsx("p",{className:"text-xs",style:{color:"var(--cp-text-muted)"},children:P.subtitle})]}),P.type&&jsxRuntime.jsx("span",{className:"rounded-full bg-(--accent)/70 px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider backdrop-blur-sm",style:{color:"var(--cp-text-strong)"},children:P.type})]})}),jsxRuntime.jsxs("div",{className:i("absolute inset-x-0 bottom-0 z-10 bg-linear-to-t from-black/80 via-black/40 to-transparent px-4 pb-3 pt-10 transition-all duration-500",U?"translate-y-0 opacity-100":"pointer-events-none translate-y-2 opacity-0"),children:[jsxRuntime.jsxs("div",{className:"group/seek relative mb-3 h-1 cursor-pointer rounded-full transition-[height] duration-200 hover:h-1.5",style:{background:"var(--cp-seek-track)"},onClick:ke,onMouseMove:F,onMouseLeave:()=>W(null),children:[jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 rounded-full",style:{width:`${He}%`,background:"var(--cp-seek-buffer)"}}),jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 rounded-full bg-(--accent) transition-[width] duration-100",style:{width:`${Ae}%`}}),I!==null&&jsxRuntime.jsx("div",{className:"absolute -top-8 -translate-x-1/2 rounded px-2 py-0.5 text-[10px] font-mono",style:{left:`${I/g*100}%`,background:"var(--cp-panel-bg)",color:"var(--cp-text-strong)"},children:go(I)}),jsxRuntime.jsx("div",{className:"absolute top-1/2 h-3.5 w-3.5 -translate-y-1/2 rounded-full border-2 border-(--accent) bg-white opacity-0 shadow-lg transition-opacity group-hover/seek:opacity-100",style:{left:`calc(${Ae}% - 7px)`}})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("button",{className:"cp-btn",onClick:()=>p(E=>!E),title:f?"Pause (k)":"Play (k)",children:f?jsxRuntime.jsx(lucideReact.Pause,{className:"h-5 w-5",fill:"currentColor"}):jsxRuntime.jsx(lucideReact.Play,{className:"h-5 w-5 translate-x-px",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:"cp-btn",onClick:Me,title:"Previous (p)",children:jsxRuntime.jsx(lucideReact.SkipBack,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsx("button",{className:"cp-btn",onClick:ge,title:"Next (n)",children:jsxRuntime.jsx(lucideReact.SkipForward,{className:"h-4 w-4",fill:"currentColor"})}),jsxRuntime.jsxs("div",{className:"group/vol ml-1 flex items-center",children:[jsxRuntime.jsx("button",{className:"cp-btn",onClick:()=>L(E=>!E),title:N?"Unmute":"Mute",children:N||M===0?jsxRuntime.jsx(lucideReact.VolumeX,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.Volume2,{className:"h-4 w-4"})}),jsxRuntime.jsx("div",{className:"flex w-0 items-center overflow-hidden transition-all duration-300 group-hover/vol:w-20",children:jsxRuntime.jsx("input",{type:"range",min:0,max:1,step:.01,value:N?0:M,onChange:E=>{v(Number(E.target.value)),N&&L(false);},className:"h-1 w-full cursor-pointer appearance-none rounded-full accent-(--accent)",style:{background:"var(--cp-seek-track)"}})})]}),jsxRuntime.jsxs("span",{className:"ml-2 min-w-0 shrink-0 font-mono text-xs",style:{color:"var(--cp-text-muted)"},children:[go(u)," / ",go(g)]}),jsxRuntime.jsx("div",{className:"flex-1"}),jsxRuntime.jsx("button",{className:i("cp-btn",R&&G),onClick:()=>D(E=>!E),title:"Shuffle",children:jsxRuntime.jsx(lucideReact.Shuffle,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:i("cp-btn",A&&G),onClick:()=>V(E=>!E),title:"Loop",children:jsxRuntime.jsx(lucideReact.Repeat1,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:i("cp-btn",k&&G),onClick:q,title:"Playlist",children:jsxRuntime.jsx(lucideReact.ListVideo,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:i("cp-btn",_&&G),onClick:z,title:"Cinema mode (t)",children:jsxRuntime.jsx(lucideReact.Theater,{className:"h-4 w-4"})}),jsxRuntime.jsx("button",{className:"cp-btn",onClick:ee,title:"Fullscreen (f)",children:fe?jsxRuntime.jsx(lucideReact.Minimize,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.Maximize,{className:"h-4 w-4"})})]})]})]}),jsxRuntime.jsx("div",{className:i("h-full shrink-0 overflow-hidden transition-[width] duration-300 ease-out",k?"w-72":"w-0"),children:jsxRuntime.jsxs("div",{className:"flex h-full w-72 flex-col backdrop-blur-xl",style:{borderLeft:"1px solid var(--cp-border)",background:"var(--cp-panel-bg)"},children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-4 py-3",style:{borderBottom:"1px solid var(--cp-border)"},children:[jsxRuntime.jsx("span",{className:"text-xs font-semibold uppercase tracking-wider",style:{color:"var(--cp-text)"},children:"Playlist"}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsxs("button",{className:"flex items-center gap-1 rounded px-2 py-1 text-[10px] font-medium transition-colors",style:{color:"var(--cp-text-muted)"},onClick:xe,title:`Sort: ${C} ${T?"\u2191":"\u2193"}`,children:[jsxRuntime.jsx(lucideReact.ArrowUpDown,{className:"h-3 w-3"}),C,T?" \u2191":" \u2193"]}),jsxRuntime.jsx("button",{className:"cp-btn p-1!",onClick:q,title:"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})]}),jsxRuntime.jsx("div",{className:"flex-1 overflow-y-auto",children:ce.map(({media:E,originalIndex:Z})=>{let ne=Z===m;return jsxRuntime.jsxs("button",{className:i("flex w-full items-center gap-3 px-4 py-2.5 text-left transition-all duration-200",ne?"bg-(--accent)/20 text-(--accent)":"hover:text-(--cp-text-strong)"),style:ne?void 0:{color:"var(--cp-text)"},onClick:()=>{he(Z);},children:[jsxRuntime.jsxs("div",{className:"relative h-10 w-16 shrink-0 overflow-hidden rounded",style:{background:"var(--cp-surface)"},children:[E.poster?jsxRuntime.jsx("img",{src:E.poster,alt:"",className:"h-full w-full object-cover",draggable:false}):jsxRuntime.jsx("div",{className:"flex h-full w-full items-center justify-center",children:jsxRuntime.jsx(lucideReact.Play,{className:"h-4 w-4",style:{color:"var(--cp-seek-track)"}})}),ne&&f&&jsxRuntime.jsx("div",{className:"absolute inset-0 flex items-center justify-center",style:{background:"var(--cp-overlay)"},children:jsxRuntime.jsx("div",{className:"flex items-end gap-px",children:[1,2,3,4].map(H=>jsxRuntime.jsx("div",{className:"w-0.5 rounded-full bg-(--accent)",style:{height:`${6+H*3}px`,animation:`mp-eq-bar ${.3+H*.12}s ease-in-out infinite alternate`}},H))})})]}),jsxRuntime.jsxs("div",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("div",{className:"truncate text-xs font-medium",children:E.title}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[E.type&&jsxRuntime.jsx("span",{className:"text-[10px] uppercase tracking-wide opacity-50",children:E.type}),E.duration!=null&&jsxRuntime.jsx("span",{className:"font-mono text-[10px] opacity-40",children:go(E.duration)})]})]}),ne&&jsxRuntime.jsx(lucideReact.ChevronRight,{className:"h-3.5 w-3.5 shrink-0 text-(--accent)"})]},Z)})})]})}),jsxRuntime.jsx("style",{children:`
8
8
  .cp-btn {
9
9
  display: flex;
10
10
  align-items: center;
@@ -20,7 +20,7 @@
20
20
  0%, 100% { box-shadow: 0 0 20px color-mix(in srgb, var(--accent) 25%, transparent), 0 25px 50px -12px rgba(0,0,0,0.25); }
21
21
  50% { box-shadow: 0 0 40px color-mix(in srgb, var(--accent) 55%, transparent), 0 25px 50px -12px rgba(0,0,0,0.25); }
22
22
  }
23
- `})]});return jsxRuntime.jsx("div",{className:i(_&&"fixed inset-0 z-100 flex items-center justify-center p-8",_&&(j?"animate-[cp-cinema-out_0.5s_ease-in_both]":"animate-[cp-cinema-in_0.5s_ease-out_both]")),onClick:_?L=>{L.target===L.currentTarget&&B();}:void 0,children:jsxRuntime.jsx("div",{className:i(_&&"w-full",_&&!Y&&"max-w-5xl"),children:xe})})}function vn(e){let t=e.lastIndexOf(".");return t>0?e.slice(t).toLowerCase():""}function Oi(e){return e==null?"\u2014":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function da(e){return e?(typeof e=="string"?new Date(e):e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var sp={".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 ma(e){if(e.type==="directory")return lucideReact.Folder;let t=e.extension||vn(e.name);return sp[t]||lucideReact.File}function dr(e,t,r){return Math.max(t,Math.min(r,e))}function Ki(e){return e<480?"xs":e<640?"sm":e<1024?"md":"lg"}function Wi(e,t){if(e<480)return {size:{width:e-16,height:t-48},pos:{x:8,y:24}};if(e<640){let o=e-24,a=Math.min(t-64,540);return {size:{width:o,height:a},pos:{x:12,y:32}}}if(e<1024){let o=Math.min(640,e-32),a=Math.min(480,t-64);return {size:{width:o,height:a},pos:{x:Math.max(0,Math.round((e-o)/2)),y:Math.max(0,Math.round((t-a)/2))}}}let r=720,n=520;return {size:{width:r,height:n},pos:{x:Math.max(0,Math.round((e-r)/2)),y:Math.max(0,Math.round((t-n)/2))}}}function pa({files:e,title:t="File Explorer",accent:r="#8b5cf6",defaultView:n="list",initialPosition:o,initialSize:a,dockable:s=false,dockSide:p="right",visible:b=true,onFileOpen:u,onSelectionChange:c,onNavigate:T,onDelete:x,onClose:m,onMinimize:g,onPathSubmit:d,defaultInputMode:f="search",actions:w,resizable:h=true,minSize:P={width:400,height:300},className:k}){let[N,F]=Nr.useState(n),[R,E]=Nr.useState(new Set),[A,H]=Nr.useState(null),[y,O]=Nr.useState(false),[v,ne]=Nr.useState(false),[C,re]=Nr.useState(""),[_,de]=Nr.useState(f),[j,pe]=Nr.useState(b),[Y,V]=Nr.useState(false),[G,me]=Nr.useState({w:window.innerWidth,h:window.innerHeight}),W=Wi(window.innerWidth,window.innerHeight),[l,D]=Nr.useState(o??W.pos),[X,$]=Nr.useState(a??W.size),[se,ue]=Nr.useState(null),Te=Nr.useRef(false),S=Nr.useRef({x:0,y:0}),ce=Nr.useRef(null),oe=Nr.useRef(false),he=Nr.useRef({x:0,y:0,w:0,h:0,px:0,py:0}),fe=Nr.useRef(false),Re=Nr.useRef(y);Nr.useEffect(()=>{Re.current=y;},[y]);let ye=b!==void 0?b:j,z=Nr.useMemo(()=>{let M=e.filter(we=>we.type==="directory"),ae=e.filter(we=>we.type==="file");return M.sort((we,ke)=>we.name.localeCompare(ke.name)),ae.sort((we,ke)=>we.name.localeCompare(ke.name)),[...M,...ae]},[e]),J=Nr.useMemo(()=>{if(_!=="search"||!C.trim())return z;let M=C.toLowerCase();return z.filter(ae=>ae.name.toLowerCase().includes(M))},[z,C,_]),B=A!=null?J[A]:null;Nr.useEffect(()=>{let M=Ki(window.innerWidth),ae=()=>{let we=window.innerWidth,ke=window.innerHeight;if(me({w:we,h:ke}),Re.current)return;let Ee=Ki(we);if(Ee!==M&&!fe.current&&!a){let Je=Wi(we,ke);$(Je.size),D(Je.pos);}M=Ee;};return window.addEventListener("resize",ae),()=>window.removeEventListener("resize",ae)},[a]);let q=Nr.useCallback((M,ae)=>{E(we=>{let ke=new Set(we);return ae.ctrlKey||ae.metaKey?ke.has(M)?ke.delete(M):ke.add(M):(ke.clear(),ke.add(M)),ke}),H(M);},[]);Nr.useEffect(()=>{if(!c)return;let M=Array.from(R).map(ae=>J[ae]).filter(Boolean);c(M);},[R]);let be=Nr.useCallback(M=>{let ae=J[M];ae&&(ae.type==="directory"?T?.(ae.path):u?.(ae));},[J,u,T]),De=Nr.useCallback(M=>{y||M.target.closest("button")||(fe.current=true,Te.current=true,S.current={x:M.clientX-l.x,y:M.clientY-l.y},M.preventDefault());},[l,y]),He=Nr.useCallback(M=>{if(y||M.target.closest("button"))return;fe.current=true;let ae=M.touches[0];Te.current=true,S.current={x:ae.clientX-l.x,y:ae.clientY-l.y};},[l,y]);Nr.useEffect(()=>{let M=ke=>{if(!Te.current)return;let Ee=window.innerWidth-100,Je=window.innerHeight-40;D({x:dr(ke.clientX-S.current.x,0,Ee),y:dr(ke.clientY-S.current.y,0,Je)});},ae=ke=>{if(!Te.current)return;ke.preventDefault();let Ee=ke.touches[0],Je=window.innerWidth-100,Pt=window.innerHeight-40;D({x:dr(Ee.clientX-S.current.x,0,Je),y:dr(Ee.clientY-S.current.y,0,Pt)});},we=()=>{Te.current=false,oe.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",M),window.addEventListener("mouseup",we),window.addEventListener("touchmove",ae,{passive:false}),window.addEventListener("touchend",we),()=>{window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",we),window.removeEventListener("touchmove",ae),window.removeEventListener("touchend",we);}},[]);let K=Nr.useCallback((M,ae)=>{y||(ae.preventDefault(),ae.stopPropagation(),fe.current=true,oe.current=M,he.current={x:ae.clientX,y:ae.clientY,w:X.width,h:X.height,px:l.x,py:l.y},document.body.style.cursor=M==="e"||M==="w"?"ew-resize":M==="n"||M==="s"?"ns-resize":M==="nw"||M==="se"?"nwse-resize":"nesw-resize",document.body.style.userSelect="none");},[y,X,l]),xe=Nr.useCallback((M,ae)=>{if(y)return;ae.preventDefault(),ae.stopPropagation(),fe.current=true;let we=ae.touches[0];oe.current=M,he.current={x:we.clientX,y:we.clientY,w:X.width,h:X.height,px:l.x,py:l.y},document.body.style.userSelect="none";},[y,X,l]);Nr.useEffect(()=>{let M=(Ee,Je)=>{let Pt=oe.current;if(!Pt)return;let _a=Ee-he.current.x,$a=Je-he.current.y,{w:Kt,h:Wt,px:Fn,py:An}=he.current;if(Pt.includes("e")&&(Kt=Math.max(P.width,Kt+_a)),Pt.includes("w")){let fr=Math.max(P.width,Kt-_a);Fn=Fn+(Kt-fr),Kt=fr;}if(Pt.includes("s")&&(Wt=Math.max(P.height,Wt+$a)),Pt.includes("n")){let fr=Math.max(P.height,Wt-$a);An=An+(Wt-fr),Wt=fr;}$({width:Kt,height:Wt}),D({x:Fn,y:An});},ae=Ee=>{oe.current&&M(Ee.clientX,Ee.clientY);},we=Ee=>{oe.current&&(Ee.preventDefault(),M(Ee.touches[0].clientX,Ee.touches[0].clientY));},ke=()=>{oe.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",ae),window.addEventListener("mouseup",ke),window.addEventListener("touchmove",we,{passive:false}),window.addEventListener("touchend",ke),()=>{window.removeEventListener("mousemove",ae),window.removeEventListener("mouseup",ke),window.removeEventListener("touchmove",we),window.removeEventListener("touchend",ke);}},[P]);let L=Nr.useCallback(()=>{y?(se&&(D(se.pos),$(se.size)),O(false)):(ue({pos:l,size:X}),O(true));},[y,l,X,se]),Z=Nr.useCallback(()=>{v?ne(false):(y&&(O(false),se&&(D(se.pos),$(se.size))),ne(true),g?.());},[v,y,se,g]);Nr.useEffect(()=>{if(!ye||v)return;let M=ae=>{if(!(!ce.current?.contains(document.activeElement)&&document.activeElement!==ce.current)){if(ae.key==="Escape"&&(H(null),E(new Set)),ae.ctrlKey&&ae.key==="a"){ae.preventDefault();let we=new Set(J.map((ke,Ee)=>Ee));E(we);}ae.key==="Delete"&&R.size>0&&x&&(ae.preventDefault(),V(true));}};return window.addEventListener("keydown",M),()=>window.removeEventListener("keydown",M)},[ye,v,J,R,x]);let ee={"--fe-accent":r};if(v)return jsxRuntime.jsx("div",{className:i("fixed z-100 cursor-pointer transition-all duration-300",p==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:ee,onClick:()=>ne(false),title:`Restore ${t}`,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:t})]})});if(!ye)return null;let I=y?G.w:Math.min(X.width,G.w-8),ge=y?G.h:Math.min(X.height,G.h-8),Fe=y?0:dr(l.x,0,Math.max(0,G.w-I)),tt=y?0:dr(l.y,0,Math.max(0,G.h-40)),Hn=I<500;return jsxRuntime.jsxs("div",{ref:ce,className:i("fe-window fixed z-100 flex flex-col overflow-hidden","rounded-xl border border-(--fe-border)","animate-[fe-window-in_0.35s_cubic-bezier(0.16,1,0.3,1)_both]",y&&"rounded-none",k),style:{...ee,left:Fe,top:tt,width:I,height:ge,transition:y?"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:De,onTouchStart:He,onDoubleClick:L,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:t}),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:()=>F(M=>M==="list"?"grid":"list"),title:N==="list"?"Grid view":"List view",children:N==="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:Z,title:"Dock to edge",children:jsxRuntime.jsx(lucideReact.Minus,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn",onClick:L,title:y?"Restore":"Maximize",children:y?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:()=>{m?.(),pe(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:()=>T?.(".."),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:_==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>de(M=>M==="search"?"navigate":"search"),title:_==="search"?"Switch to path navigation":"Switch to file search",children:_==="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:C,onChange:M=>re(M.target.value),onKeyDown:M=>{M.key==="Enter"&&C.trim()&&_==="navigate"&&(d?d(C.trim()):T?.(C.trim()));},placeholder:_==="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:[J.length," item",J.length!==1?"s":"",R.size>0&&` \xB7 ${R.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:M=>{M.target===M.currentTarget&&(E(new Set),H(null));},children:J.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"})]}):N==="list"?jsxRuntime.jsx("div",{className:"space-y-px",children:J.map((M,ae)=>{let we=ma(M),ke=R.has(ae),Ee=M.extension||vn(M.name);return jsxRuntime.jsxs("div",{className:i("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",ke?"bg-(--fe-accent)/15 text-(--fe-text-strong)":"hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),style:ke?{boxShadow:"inset 2px 0 0 var(--fe-accent)"}:void 0,onClick:Je=>q(ae,Je),onDoubleClick:()=>be(ae),children:[jsxRuntime.jsx(we,{className:i("h-4 w-4 shrink-0",M.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"flex-1 truncate text-xs font-medium",children:M.name}),Ee&&M.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:Ee}),M.size!=null&&jsxRuntime.jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:Oi(M.size)}),M.modifiedAt&&jsxRuntime.jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:da(M.modifiedAt)})]},M.path+ae)})}):jsxRuntime.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:J.map((M,ae)=>{let we=ma(M),ke=R.has(ae),Ee=M.extension||vn(M.name);return jsxRuntime.jsxs("div",{className:i("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",ke?"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:Je=>q(ae,Je),onDoubleClick:()=>be(ae),children:[jsxRuntime.jsx(we,{className:i("h-7 w-7",M.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"w-full truncate text-[10px] font-medium leading-tight",children:M.name}),Ee&&M.type==="file"&&jsxRuntime.jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:Ee})]},M.path+ae)})})}),jsxRuntime.jsx("div",{className:i("overflow-hidden transition-[width,opacity] duration-300 ease-out",Hn?i("absolute right-0 top-0 bottom-0 z-10",B?"w-44 opacity-100":"w-0 opacity-0 pointer-events-none"):i("shrink-0",B?"w-56":"w-0")),children:B&&jsxRuntime.jsxs("div",{className:i("flex h-full flex-col p-4",Hn?"fe-panel-narrow w-44":"fe-panel w-56 border-l border-(--fe-border)"),children:[Hn&&jsxRuntime.jsx("button",{className:"fe-btn mb-2 self-end",onClick:()=>{H(null),E(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:[Nr__default.default.createElement(ma(B),{className:i("h-10 w-10 mb-2",B.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:B.name})]}),jsxRuntime.jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsxRuntime.jsx(mr,{label:"Type",value:B.type==="directory"?"Directory":B.mimeType||B.extension||vn(B.name)||"File"}),B.size!=null&&jsxRuntime.jsx(mr,{label:"Size",value:Oi(B.size)}),jsxRuntime.jsx(mr,{label:"Path",value:B.path,mono:true}),B.extension&&jsxRuntime.jsx(mr,{label:"Extension",value:B.extension}),B.modifiedAt&&jsxRuntime.jsx(mr,{label:"Modified",value:da(B.modifiedAt)}),B.createdAt&&jsxRuntime.jsx(mr,{label:"Created",value:da(B.createdAt)})]}),jsxRuntime.jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[B.type==="file"&&u&&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:()=>u(B),children:[jsxRuntime.jsx(lucideReact.ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),w?.map(M=>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:()=>M.onClick(B),children:[M.icon&&Nr__default.default.createElement(M.icon,{className:"h-3 w-3"}),M.label]},M.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:[J.length," items"]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[R.size>0&&jsxRuntime.jsxs("span",{className:"text-(--fe-accent)/70",children:[R.size," selected"]}),jsxRuntime.jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),h&&!y&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"absolute top-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:M=>K("n",M),onTouchStart:M=>xe("n",M)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:M=>K("s",M),onTouchStart:M=>xe("s",M)}),jsxRuntime.jsx("div",{className:"absolute top-4 left-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:M=>K("w",M),onTouchStart:M=>xe("w",M)}),jsxRuntime.jsx("div",{className:"absolute top-4 right-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:M=>K("e",M),onTouchStart:M=>xe("e",M)}),jsxRuntime.jsx("div",{className:"absolute top-0 left-0 h-6 w-6 cursor-nwse-resize",onMouseDown:M=>K("nw",M),onTouchStart:M=>xe("nw",M)}),jsxRuntime.jsx("div",{className:"absolute top-0 right-0 h-6 w-6 cursor-nesw-resize",onMouseDown:M=>K("ne",M),onTouchStart:M=>xe("ne",M)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 left-0 h-6 w-6 cursor-nesw-resize",onMouseDown:M=>K("sw",M),onTouchStart:M=>xe("sw",M)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 right-0 h-6 w-6 cursor-nwse-resize",onMouseDown:M=>K("se",M),onTouchStart:M=>xe("se",M)})]}),jsxRuntime.jsx("style",{children:`
23
+ `})]});return jsxRuntime.jsx("div",{className:i(_&&"fixed inset-0 z-100 flex items-center justify-center p-8",_&&(J?"animate-[cp-cinema-out_0.5s_ease-in_both]":"animate-[cp-cinema-in_0.5s_ease-out_both]")),onClick:_?E=>{E.target===E.currentTarget&&z();}:void 0,children:jsxRuntime.jsx("div",{className:i(_&&"w-full",_&&!fe&&"max-w-5xl"),children:ye})})}function bo(e){let t=e.lastIndexOf(".");return t>0?e.slice(t).toLowerCase():""}function bl(e){return e==null?"\u2014":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function hs(e){return e?(typeof e=="string"?new Date(e):e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var af={".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 xs(e){if(e.type==="directory")return lucideReact.Folder;let t=e.extension||bo(e.name);return af[t]||lucideReact.File}function Pr(e,t,r){return Math.max(t,Math.min(r,e))}function hl(e){return e<480?"xs":e<640?"sm":e<1024?"md":"lg"}function xl(e,t){if(e<480)return {size:{width:e-16,height:t-48},pos:{x:8,y:24}};if(e<640){let o=e-24,s=Math.min(t-64,540);return {size:{width:o,height:s},pos:{x:12,y:32}}}if(e<1024){let o=Math.min(640,e-32),s=Math.min(480,t-64);return {size:{width:o,height:s},pos:{x:Math.max(0,Math.round((e-o)/2)),y:Math.max(0,Math.round((t-s)/2))}}}let r=720,n=520;return {size:{width:r,height:n},pos:{x:Math.max(0,Math.round((e-r)/2)),y:Math.max(0,Math.round((t-n)/2))}}}function ys({files:e,title:t="File Explorer",accent:r="#8b5cf6",defaultView:n="list",initialPosition:o,initialSize:s,dockable:a=false,dockSide:l="right",visible:d=true,onFileOpen:m,onSelectionChange:c,onNavigate:f,onDelete:p,onClose:u,onMinimize:h,onPathSubmit:g,defaultInputMode:x="search",actions:w,resizable:y=true,minSize:M={width:400,height:300},className:v}){let[N,L]=Kr.useState(n),[R,D]=Kr.useState(new Set),[A,V]=Kr.useState(null),[k,O]=Kr.useState(false),[C,X]=Kr.useState(false),[T,re]=Kr.useState(""),[_,de]=Kr.useState(x),[J,pe]=Kr.useState(d),[fe,$]=Kr.useState(false),[U,me]=Kr.useState({w:window.innerWidth,h:window.innerHeight}),j=xl(window.innerWidth,window.innerHeight),[b,I]=Kr.useState(o??j.pos),[W,K]=Kr.useState(s??j.size),[B,Q]=Kr.useState(null),ve=Kr.useRef(false),P=Kr.useRef({x:0,y:0}),ce=Kr.useRef(null),ae=Kr.useRef(false),he=Kr.useRef({x:0,y:0,w:0,h:0,px:0,py:0}),ge=Kr.useRef(false),Me=Kr.useRef(k);Kr.useEffect(()=>{Me.current=k;},[k]);let ke=d!==void 0?d:J,F=Kr.useMemo(()=>{let S=e.filter(Ne=>Ne.type==="directory"),se=e.filter(Ne=>Ne.type==="file");return S.sort((Ne,Ce)=>Ne.name.localeCompare(Ce.name)),se.sort((Ne,Ce)=>Ne.name.localeCompare(Ce.name)),[...S,...se]},[e]),ee=Kr.useMemo(()=>{if(_!=="search"||!T.trim())return F;let S=T.toLowerCase();return F.filter(se=>se.name.toLowerCase().includes(S))},[F,T,_]),z=A!=null?ee[A]:null;Kr.useEffect(()=>{let S=hl(window.innerWidth),se=()=>{let Ne=window.innerWidth,Ce=window.innerHeight;if(me({w:Ne,h:Ce}),Me.current)return;let Ee=hl(Ne);if(Ee!==S&&!ge.current&&!s){let rt=xl(Ne,Ce);K(rt.size),I(rt.pos);}S=Ee;};return window.addEventListener("resize",se),()=>window.removeEventListener("resize",se)},[s]);let q=Kr.useCallback((S,se)=>{D(Ne=>{let Ce=new Set(Ne);return se.ctrlKey||se.metaKey?Ce.has(S)?Ce.delete(S):Ce.add(S):(Ce.clear(),Ce.add(S)),Ce}),V(S);},[]);Kr.useEffect(()=>{if(!c)return;let S=Array.from(R).map(se=>ee[se]).filter(Boolean);c(S);},[R]);let xe=Kr.useCallback(S=>{let se=ee[S];se&&(se.type==="directory"?f?.(se.path):m?.(se));},[ee,m,f]),Ae=Kr.useCallback(S=>{k||S.target.closest("button")||(ge.current=true,ve.current=true,P.current={x:S.clientX-b.x,y:S.clientY-b.y},S.preventDefault());},[b,k]),He=Kr.useCallback(S=>{if(k||S.target.closest("button"))return;ge.current=true;let se=S.touches[0];ve.current=true,P.current={x:se.clientX-b.x,y:se.clientY-b.y};},[b,k]);Kr.useEffect(()=>{let S=Ce=>{if(!ve.current)return;let Ee=window.innerWidth-100,rt=window.innerHeight-40;I({x:Pr(Ce.clientX-P.current.x,0,Ee),y:Pr(Ce.clientY-P.current.y,0,rt)});},se=Ce=>{if(!ve.current)return;Ce.preventDefault();let Ee=Ce.touches[0],rt=window.innerWidth-100,Kt=window.innerHeight-40;I({x:Pr(Ee.clientX-P.current.x,0,rt),y:Pr(Ee.clientY-P.current.y,0,Kt)});},Ne=()=>{ve.current=false,ae.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",S),window.addEventListener("mouseup",Ne),window.addEventListener("touchmove",se,{passive:false}),window.addEventListener("touchend",Ne),()=>{window.removeEventListener("mousemove",S),window.removeEventListener("mouseup",Ne),window.removeEventListener("touchmove",se),window.removeEventListener("touchend",Ne);}},[]);let G=Kr.useCallback((S,se)=>{k||(se.preventDefault(),se.stopPropagation(),ge.current=true,ae.current=S,he.current={x:se.clientX,y:se.clientY,w:W.width,h:W.height,px:b.x,py:b.y},document.body.style.cursor=S==="e"||S==="w"?"ew-resize":S==="n"||S==="s"?"ns-resize":S==="nw"||S==="se"?"nwse-resize":"nesw-resize",document.body.style.userSelect="none");},[k,W,b]),ye=Kr.useCallback((S,se)=>{if(k)return;se.preventDefault(),se.stopPropagation(),ge.current=true;let Ne=se.touches[0];ae.current=S,he.current={x:Ne.clientX,y:Ne.clientY,w:W.width,h:W.height,px:b.x,py:b.y},document.body.style.userSelect="none";},[k,W,b]);Kr.useEffect(()=>{let S=(Ee,rt)=>{let Kt=ae.current;if(!Kt)return;let qs=Ee-he.current.x,Zs=rt-he.current.y,{w:sr,h:ir,px:Io,py:Ao}=he.current;if(Kt.includes("e")&&(sr=Math.max(M.width,sr+qs)),Kt.includes("w")){let Dr=Math.max(M.width,sr-qs);Io=Io+(sr-Dr),sr=Dr;}if(Kt.includes("s")&&(ir=Math.max(M.height,ir+Zs)),Kt.includes("n")){let Dr=Math.max(M.height,ir-Zs);Ao=Ao+(ir-Dr),ir=Dr;}K({width:sr,height:ir}),I({x:Io,y:Ao});},se=Ee=>{ae.current&&S(Ee.clientX,Ee.clientY);},Ne=Ee=>{ae.current&&(Ee.preventDefault(),S(Ee.touches[0].clientX,Ee.touches[0].clientY));},Ce=()=>{ae.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",se),window.addEventListener("mouseup",Ce),window.addEventListener("touchmove",Ne,{passive:false}),window.addEventListener("touchend",Ce),()=>{window.removeEventListener("mousemove",se),window.removeEventListener("mouseup",Ce),window.removeEventListener("touchmove",Ne),window.removeEventListener("touchend",Ce);}},[M]);let E=Kr.useCallback(()=>{k?(B&&(I(B.pos),K(B.size)),O(false)):(Q({pos:b,size:W}),O(true));},[k,b,W,B]),Z=Kr.useCallback(()=>{C?X(false):(k&&(O(false),B&&(I(B.pos),K(B.size))),X(true),h?.());},[C,k,B,h]);Kr.useEffect(()=>{if(!ke||C)return;let S=se=>{if(!(!ce.current?.contains(document.activeElement)&&document.activeElement!==ce.current)){if(se.key==="Escape"&&(V(null),D(new Set)),se.ctrlKey&&se.key==="a"){se.preventDefault();let Ne=new Set(ee.map((Ce,Ee)=>Ee));D(Ne);}se.key==="Delete"&&R.size>0&&p&&(se.preventDefault(),$(true));}};return window.addEventListener("keydown",S),()=>window.removeEventListener("keydown",S)},[ke,C,ee,R,p]);let ne={"--fe-accent":r};if(C)return jsxRuntime.jsx("div",{className:i("fixed z-100 cursor-pointer transition-all duration-300",l==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:ne,onClick:()=>X(false),title:`Restore ${t}`,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:t})]})});if(!ke)return null;let H=k?U.w:Math.min(W.width,U.w-8),be=k?U.h:Math.min(W.height,U.h-8),Fe=k?0:Pr(b.x,0,Math.max(0,U.w-H)),lt=k?0:Pr(b.y,0,Math.max(0,U.h-40)),Vo=H<500;return jsxRuntime.jsxs("div",{ref:ce,className:i("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]",k&&"rounded-none",v),style:{...ne,left:Fe,top:lt,width:H,height:be,transition:k?"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:Ae,onTouchStart:He,onDoubleClick:E,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:t}),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:()=>L(S=>S==="list"?"grid":"list"),title:N==="list"?"Grid view":"List view",children:N==="list"?jsxRuntime.jsx(lucideReact.LayoutGrid,{className:"h-3.5 w-3.5"}):jsxRuntime.jsx(lucideReact.LayoutList,{className:"h-3.5 w-3.5"})}),a&&jsxRuntime.jsx("button",{className:"fe-btn",onClick:Z,title:"Dock to edge",children:jsxRuntime.jsx(lucideReact.Minus,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{className:"fe-btn",onClick:E,title:k?"Restore":"Maximize",children:k?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:()=>{u?.(),pe(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:()=>f?.(".."),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:_==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>de(S=>S==="search"?"navigate":"search"),title:_==="search"?"Switch to path navigation":"Switch to file search",children:_==="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:T,onChange:S=>re(S.target.value),onKeyDown:S=>{S.key==="Enter"&&T.trim()&&_==="navigate"&&(g?g(T.trim()):f?.(T.trim()));},placeholder:_==="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:[ee.length," item",ee.length!==1?"s":"",R.size>0&&` \xB7 ${R.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:S=>{S.target===S.currentTarget&&(D(new Set),V(null));},children:ee.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"})]}):N==="list"?jsxRuntime.jsx("div",{className:"space-y-px",children:ee.map((S,se)=>{let Ne=xs(S),Ce=R.has(se),Ee=S.extension||bo(S.name);return jsxRuntime.jsxs("div",{className:i("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",Ce?"bg-(--fe-accent)/15 text-(--fe-text-strong)":"hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),style:Ce?{boxShadow:"inset 2px 0 0 var(--fe-accent)"}:void 0,onClick:rt=>q(se,rt),onDoubleClick:()=>xe(se),children:[jsxRuntime.jsx(Ne,{className:i("h-4 w-4 shrink-0",S.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"flex-1 truncate text-xs font-medium",children:S.name}),Ee&&S.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:Ee}),S.size!=null&&jsxRuntime.jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:bl(S.size)}),S.modifiedAt&&jsxRuntime.jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:hs(S.modifiedAt)})]},S.path+se)})}):jsxRuntime.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:ee.map((S,se)=>{let Ne=xs(S),Ce=R.has(se),Ee=S.extension||bo(S.name);return jsxRuntime.jsxs("div",{className:i("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",Ce?"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:rt=>q(se,rt),onDoubleClick:()=>xe(se),children:[jsxRuntime.jsx(Ne,{className:i("h-7 w-7",S.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsxRuntime.jsx("span",{className:"w-full truncate text-[10px] font-medium leading-tight",children:S.name}),Ee&&S.type==="file"&&jsxRuntime.jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:Ee})]},S.path+se)})})}),jsxRuntime.jsx("div",{className:i("overflow-hidden transition-[width,opacity] duration-300 ease-out",Vo?i("absolute right-0 top-0 bottom-0 z-10",z?"w-44 opacity-100":"w-0 opacity-0 pointer-events-none"):i("shrink-0",z?"w-56":"w-0")),children:z&&jsxRuntime.jsxs("div",{className:i("flex h-full flex-col p-4",Vo?"fe-panel-narrow w-44":"fe-panel w-56 border-l border-(--fe-border)"),children:[Vo&&jsxRuntime.jsx("button",{className:"fe-btn mb-2 self-end",onClick:()=>{V(null),D(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:[Kr__default.default.createElement(xs(z),{className:i("h-10 w-10 mb-2",z.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:z.name})]}),jsxRuntime.jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsxRuntime.jsx(Sr,{label:"Type",value:z.type==="directory"?"Directory":z.mimeType||z.extension||bo(z.name)||"File"}),z.size!=null&&jsxRuntime.jsx(Sr,{label:"Size",value:bl(z.size)}),jsxRuntime.jsx(Sr,{label:"Path",value:z.path,mono:true}),z.extension&&jsxRuntime.jsx(Sr,{label:"Extension",value:z.extension}),z.modifiedAt&&jsxRuntime.jsx(Sr,{label:"Modified",value:hs(z.modifiedAt)}),z.createdAt&&jsxRuntime.jsx(Sr,{label:"Created",value:hs(z.createdAt)})]}),jsxRuntime.jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[z.type==="file"&&m&&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:()=>m(z),children:[jsxRuntime.jsx(lucideReact.ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),w?.map(S=>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:()=>S.onClick(z),children:[S.icon&&Kr__default.default.createElement(S.icon,{className:"h-3 w-3"}),S.label]},S.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:[ee.length," items"]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[R.size>0&&jsxRuntime.jsxs("span",{className:"text-(--fe-accent)/70",children:[R.size," selected"]}),jsxRuntime.jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),y&&!k&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"absolute top-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:S=>G("n",S),onTouchStart:S=>ye("n",S)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 left-4 right-4 h-3 cursor-ns-resize",onMouseDown:S=>G("s",S),onTouchStart:S=>ye("s",S)}),jsxRuntime.jsx("div",{className:"absolute top-4 left-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:S=>G("w",S),onTouchStart:S=>ye("w",S)}),jsxRuntime.jsx("div",{className:"absolute top-4 right-0 bottom-4 w-3 cursor-ew-resize",onMouseDown:S=>G("e",S),onTouchStart:S=>ye("e",S)}),jsxRuntime.jsx("div",{className:"absolute top-0 left-0 h-6 w-6 cursor-nwse-resize",onMouseDown:S=>G("nw",S),onTouchStart:S=>ye("nw",S)}),jsxRuntime.jsx("div",{className:"absolute top-0 right-0 h-6 w-6 cursor-nesw-resize",onMouseDown:S=>G("ne",S),onTouchStart:S=>ye("ne",S)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 left-0 h-6 w-6 cursor-nesw-resize",onMouseDown:S=>G("sw",S),onTouchStart:S=>ye("sw",S)}),jsxRuntime.jsx("div",{className:"absolute bottom-0 right-0 h-6 w-6 cursor-nwse-resize",onMouseDown:S=>G("se",S),onTouchStart:S=>ye("se",S)})]}),jsxRuntime.jsx("style",{children:`
24
24
  .fe-window {
25
25
  background: var(--fe-bg);
26
26
  box-shadow: var(--fe-shadow);
@@ -81,4 +81,4 @@
81
81
  from { opacity: 0; transform: translateX(-4px); }
82
82
  to { opacity: 1; transform: translateX(0); }
83
83
  }
84
- `}),jsxRuntime.jsx(Lr,{open:Y,onOpenChange:V,children:jsxRuntime.jsxs(Fo,{size:"sm",children:[jsxRuntime.jsxs(Ao,{children:[jsxRuntime.jsxs(zo,{children:[jsxRuntime.jsx(lucideReact.AlertTriangle,{className:"text-danger-500"}),"Confirm Deletion"]}),jsxRuntime.jsxs(Bo,{children:[R.size===1?`Are you sure you want to delete "${J[Array.from(R)[0]]?.name}"?`:`Are you sure you want to delete ${R.size} selected items?`," ","This action cannot be undone."]})]}),jsxRuntime.jsxs(_o,{children:[jsxRuntime.jsx(Yt,{intent:"ghost",onClick:()=>V(false),children:"Cancel"}),jsxRuntime.jsxs(Yt,{intent:"danger",onClick:()=>{let M=Array.from(R).map(ae=>J[ae]).filter(Boolean);x?.(M),E(new Set),H(null),V(false);},children:[jsxRuntime.jsx(lucideReact.Trash2,{className:"h-4 w-4"}),"Delete"]})]})]})})]})}function mr({label:e,value:t,mono:r}){return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"mb-0.5 font-semibold uppercase tracking-wider text-(--fe-text-muted)",children:e}),jsxRuntime.jsx("div",{className:i("text-(--fe-text) break-all leading-snug",r&&"font-mono text-[9px]"),children:t})]})}function dp(e,t){let r=t.getBoundingClientRect(),n=Math.max(r.width,r.height)*1.2,o=e.clientX-r.left,a=e.clientY-r.top,s=document.createElement("span");s.className="masonry-ripple",s.style.width=`${n}px`,s.style.height=`${n}px`,s.style.left=`${o}px`,s.style.top=`${a}px`,t.appendChild(s),s.addEventListener("animationend",()=>s.remove());}function ha({columns:e,columnWidth:t=240,gap:r=16,items:n,onItemClick:o,className:a,style:s,children:p,...b}){let u=Nr.useRef(null),c=Nr.useRef([]),[T,x]=Nr.useState(()=>e??1),[m,g]=Nr.useState([]),[d,f]=Nr.useState(0),w=n?n.map((R,E)=>({key:R.key??E,node:R.content})):Nr__default.default.Children.toArray(p).map((R,E)=>({key:R.key??E,node:R})),h=w.length,P=Nr.useCallback(R=>e??Math.max(1,Math.floor((R+r)/(t+r))),[e,t,r]),k=Nr.useCallback(()=>{let R=u.current;if(!R)return;let E=R.clientWidth,A=P(E);x(A);let H=(E-(A-1)*r)/A,y=new Array(A).fill(0),O=[];for(let ne=0;ne<h;ne++){let C=c.current[ne],re=C?C.offsetHeight:0,_=0;for(let de=1;de<A;de++)y[de]<y[_]&&(_=de);O.push({top:y[_],left:_*(H+r),width:H}),y[_]+=re+r;}let v=Math.max(0,...y)-(h?r:0);g(O),f(v);},[h,P,r]);Nr.useEffect(()=>{let R=u.current;if(!R)return;let E=new ResizeObserver(()=>k());return E.observe(R),()=>E.disconnect()},[k]),Nr.useEffect(()=>{let R=requestAnimationFrame(k);return ()=>cancelAnimationFrame(R)},[k]),Nr.useEffect(()=>{let R=new ResizeObserver(()=>k());return c.current.forEach(E=>{E&&R.observe(E);}),()=>R.disconnect()},[h,T,k]);let N=Nr.useCallback((R,E)=>{let A=R.currentTarget;dp(R,A),o?.(n?.[E],E);},[o,n]),F=R=>{if(!n)return false;let E=n[R];return !!(E.title||E.description||E.actions)};return jsxRuntime.jsx("div",{ref:u,className:i("relative",a),style:{...s,height:d},...b,children:w.map((R,E)=>jsxRuntime.jsxs("div",{ref:A=>{c.current[E]=A;},className:"masonry-item",role:"button",tabIndex:0,onClick:A=>N(A,E),onKeyDown:A=>{(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),o?.(n?.[E],E));},style:{position:"absolute",top:m[E]?.top??0,left:m[E]?.left??0,width:m[E]?.width??"100%"},children:[R.node,F(E)&&jsxRuntime.jsxs("div",{className:"masonry-item-overlay",children:[n[E].title&&jsxRuntime.jsx("p",{className:"masonry-item-overlay-title",children:n[E].title}),n[E].description&&jsxRuntime.jsx("p",{className:"masonry-item-overlay-desc",children:n[E].description}),n[E].actions&&jsxRuntime.jsx("div",{className:"masonry-item-overlay-actions",children:n[E].actions})]})]},R.key))})}function Tn({text:e="",mode:t="typewriter",speed:r=40,cursor:n=true,cursorChar:o="\u258B",thinking:a=false,streaming:s=false,delay:p=0,onComplete:b,as:u="span",className:c}){let[T,x]=Nr.useState(t==="instant"?e:""),[m,g]=Nr.useState(false),[d,f]=Nr.useState(t==="instant"),[w,h]=Nr.useState(false),P=Nr.useRef(0),k=Nr.useRef(b);k.current=b;let N=Nr.useRef(e);N.current=e,Nr.useEffect(()=>{if(t!=="typewriter")return;if(x(""),f(false),h(false),g(false),!e){f(true);return}let H=Math.max(10,1e3/r),y=0,O,v=()=>{g(true),O=setInterval(()=>{let C=N.current;y++,x(C.slice(0,y)),y>=C.length&&(clearInterval(O),g(false),f(true),k.current?.());},H);},ne;return p>0?ne=setTimeout(v,p):v(),()=>{clearTimeout(ne),clearInterval(O);}},[e,t]),Nr.useEffect(()=>{if(t!=="stream")return;if(e.length===0){P.current=0,x(""),g(false),f(false),h(false);return}if(e.length<=P.current)return;let H=Math.max(10,1e3/r),y=P.current;g(true),f(false),h(false);let O=setInterval(()=>{y++,P.current=y,x(N.current.slice(0,y)),y>=N.current.length&&(clearInterval(O),g(false),k.current?.());},H);return ()=>clearInterval(O)},[e,t]),Nr.useEffect(()=>{t==="instant"&&(x(e),g(false),f(true));},[e,t]);let F=Nr.useRef(s);Nr.useEffect(()=>{let H=F.current;if(F.current=s,H&&!s&&!m&&t==="stream"){h(true);let y=setTimeout(()=>{h(false),f(true);},650);return ()=>clearTimeout(y)}},[s,m,t]);let R=n&&(a||m||w||t==="stream"&&s&&!d||t==="typewriter"&&!d),E=a?"tw-cursor--blink":m?"tw-cursor--solid":w?"tw-cursor--out":"tw-cursor--blink";return jsxRuntime.jsxs(u,{className:i(c),children:[a&&!T&&jsxRuntime.jsx("span",{"aria-hidden":"true",children:"\u200B"}),T,R&&jsxRuntime.jsx("span",{className:i("tw-cursor",E),"aria-hidden":"true",children:o})]})}var pp={FilmReel:ra,MiniPlayer:oa,CinePlayer:ia,FileExplorer:pa,Masonry:ha,TypewriterText:Tn},ba=pp;var Ui=classVarianceAuthority.cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});classVarianceAuthority.cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});var qi=classVarianceAuthority.cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});var va=Nr.createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),yp={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},es={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function wa({children:e,className:t,intent:r,size:n="md",layout:o="stacked",title:a,description:s,footer:p,onValues:b,onSubmit:u,...c}){let T=yp[n??"md"],[x,m]=Nr.useState({}),g=Nr.useCallback(d=>{if(d.preventDefault(),u?.(d),b){let f=Object.fromEntries(new FormData(d.currentTarget).entries()),w=b(f,d),h=P=>{if(!P)return;let k={};for(let[N,{result:F,reason:R}]of Object.entries(P))R&&(k[N]={status:F?"success":"error",message:R});m(k);};w instanceof Promise?w.then(h).catch(()=>{}):h(w);}},[u,b]);return jsxRuntime.jsx(va.Provider,{value:{layout:o??"stacked",size:n??"md",labelWidth:T,bulkErrors:x},children:jsxRuntime.jsxs("form",{className:i(Ui({intent:r,size:n}),"flex flex-col",t),onSubmit:g,...c,children:[(a||s)&&jsxRuntime.jsxs("div",{className:"mb-(--form-header-mb)",children:[a&&jsxRuntime.jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:a}),s&&jsxRuntime.jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:s})]}),jsxRuntime.jsx("div",{className:i("flex flex-col",es[n??"md"]),children:e}),p&&jsxRuntime.jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:p})]})})}var vp={error:jsxRuntime.jsx(lucideReact.AlertCircle,{}),warning:jsxRuntime.jsx(lucideReact.AlertTriangle,{}),success:jsxRuntime.jsx(lucideReact.CheckCircle,{}),hint:jsxRuntime.jsx(lucideReact.Info,{})};function wp({label:e,layout:t,required:r,hint:n,validation:o,name:a,onValidate:s,className:p,children:b}){let u=Nr.useContext(va),c=Nr.useId(),[T,x]=Nr.useState(void 0),m=a?u.bulkErrors[a]:void 0,g=o??T??m,f=(t??u.layout)==="inline",w=Nr.useCallback(F=>{let R=F!=null&&typeof F=="object"&&"target"in F?F.target.value:F;if(a&&u.bulkErrors[a]&&(u.bulkErrors[a]=void 0),!s){x(void 0);return}let{result:E,reason:A}=s(R);x(A?{status:E?"success":"error",message:A}:void 0);},[s,a,u.bulkErrors]),h=g?`${c}-validation`:n?`${c}-hint`:void 0,P=Nr__default.default.Children.map(b,(F,R)=>{if(R!==0||!Nr__default.default.isValidElement(F))return F;let E=F,A={};if(E.props.id||(A.id=c),h&&!E.props["aria-describedby"]&&(A["aria-describedby"]=h),g?.status==="error"&&!E.props["aria-invalid"]&&(A["aria-invalid"]=true),a&&!E.props.name&&(A.name=a),s){let H=E.props.onChange;A.onChange=y=>{H?.(y),w(y);};}return Object.keys(A).length?Nr__default.default.cloneElement(E,A):F}),k=e!=null&&jsxRuntime.jsx("label",{htmlFor:c,className:i("shrink-0 text-sm font-medium","text-primary-700 dark:text-primary-300",r&&"after:ml-0.5 after:text-danger-500 after:content-['*']",f&&"pt-1.75"),style:f?{width:u.labelWidth,minWidth:u.labelWidth}:void 0,children:e}),N=o?`${c}-validation`:n?`${c}-hint`:void 0;return jsxRuntime.jsxs("div",{className:i("flex w-full flex-col gap-1.5",f&&"md:flex-row md:items-start md:gap-(--form-item-gap-md)",p),children:[k,jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[P,g&&jsxRuntime.jsxs("p",{id:`${c}-validation`,className:i(qi({status:g.status})),role:g.status==="error"?"alert":void 0,children:[vp[g.status],jsxRuntime.jsx("span",{children:g.message})]}),n&&jsxRuntime.jsx("p",{id:N===`${c}-hint`?N:void 0,className:"mt-1 text-xs text-primary-400 dark:text-primary-500",children:n})]})]})}function kp({title:e,description:t,className:r,children:n}){let{size:o}=Nr.useContext(va);return jsxRuntime.jsxs("fieldset",{className:i("flex flex-col rounded-(--form-radius) border border-primary-200 p-4 dark:border-primary-700",es[o],r),children:[(e||t)&&jsxRuntime.jsxs("legend",{className:"px-1.5 pb-1",children:[e&&jsxRuntime.jsx("span",{className:"text-sm font-semibold text-primary-700 dark:text-primary-300",children:e}),t&&jsxRuntime.jsx("span",{className:"ml-2 text-xs text-primary-400 dark:text-primary-500",children:t})]}),n]})}var Np={Form:wa},ka=Np;var dt=classVarianceAuthority.cva("relative w-full font-sans select-none",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),mt=classVarianceAuthority.cva("flex flex-wrap gap-3 items-center justify-center",{variants:{position:{top:"mb-3",bottom:"mt-3",left:"flex-col mr-4",right:"flex-col ml-4"}},defaultVariants:{position:"bottom"}}),pt=classVarianceAuthority.cva("absolute z-50 pointer-events-none px-3 py-2 rounded-lg text-xs shadow-lg border transition-opacity duration-150 bg-primary-900 text-primary-50 border-primary-700 dark:bg-primary-950 dark:border-primary-800");function Rt(e){let[t,r]=Nr.useState(()=>new Set(e)),n=Nr.useCallback(s=>{r(p=>{let b=new Set(p);return b.has(s)?b.delete(s):b.add(s),b});},[]),o=Nr.useCallback(s=>t.has(s),[t]),a=Nr.useCallback(()=>{r(new Set(e));},[e]);return {visible:t,toggle:n,isVisible:o,showAll:a}}function Mt(e){let t=["var(--color-chart-1)","var(--color-chart-2)","var(--color-chart-3)","var(--color-chart-4)","var(--color-chart-5)","var(--color-chart-6)","var(--color-chart-7)","var(--color-chart-8)"];return Array.from({length:e},(r,n)=>t[n%t.length])}function St(e,t,r=.1){if(e===t)return [e-1,t+1];let o=(t-e)*r;return [Math.floor(e-o),Math.ceil(t+o)]}function pr(e,t,r){if(r<=1)return [e];let n=(t-e)/(r-1);return Array.from({length:r},(o,a)=>+(e+a*n).toFixed(10))}function Pe(e,t){return t?t(e):typeof e=="number"?Math.abs(e)>=1e6?`${(e/1e6).toFixed(1)}M`:Math.abs(e)>=1e3?`${(e/1e3).toFixed(1)}K`:Number.isInteger(e)?e.toString():e.toFixed(2):String(e)}function Qe(e,t,r,n){let o=(n-90)*Math.PI/180;return {x:e+r*Math.cos(o),y:t+r*Math.sin(o)}}function Lt(e,t,r){return {top:20,right:r?65:20,bottom:e?52:36,left:t?65:52}}function Et(e,t,r){let n=Math.max(e,120);return {width:n,height:t,margins:r,plotLeft:r.left,plotTop:r.top,plotRight:n-r.right,plotBottom:t-r.bottom,plotWidth:Math.max(n-r.left-r.right,10),plotHeight:Math.max(t-r.top-r.bottom,10)}}function ts(e,t){let r=new Set,n=[];for(let o of e)if(t.has(o.id))for(let a of o.data){let s=String(a.x);r.has(s)||(r.add(s),n.push(s));}return n}function Ta(e,t,r){let n=1/0,o=-1/0;for(let p of e)if(t.has(p.id))for(let b of p.data)b.y<n&&(n=b.y),b.y>o&&(o=b.y);if(!isFinite(n))return [0,1];let[a,s]=St(n,o);return [r?.min??a,r?.max??s]}function Rn(e,t){let[r,n]=e,[o,a]=t;return n===r?()=>(o+a)/2:s=>o+(s-r)/(n-r)*(a-o)}function Mn(e,t){let r=e.length;if(r===0)return ()=>(t[0]+t[1])/2;let n=(t[1]-t[0])/r;return o=>{let a=e.indexOf(o);return a<0?(t[0]+t[1])/2:t[0]+a*n+n/2}}function rs(e,t,r){return e.map(n=>`${t(n.x).toFixed(2)},${r(n.y).toFixed(2)}`).join(" ")}function Ra(e,t,r){if(e.length===0)return "";let n=e.map(s=>({x:t(s.x),y:r(s.y)}));if(n.length===1)return `M ${n[0].x.toFixed(2)} ${n[0].y.toFixed(2)}`;let o=.5,a=`M ${n[0].x.toFixed(2)} ${n[0].y.toFixed(2)}`;for(let s=0;s<n.length-1;s++){let p=s===0?{x:2*n[0].x-n[1].x,y:2*n[0].y-n[1].y}:n[s-1],b=n[s],u=n[s+1],c=s+2<n.length?n[s+2]:{x:2*n[n.length-1].x-n[n.length-2].x,y:2*n[n.length-1].y-n[n.length-2].y},T=b.x+(u.x-p.x)*o/3,x=b.y+(u.y-p.y)*o/3,m=u.x-(c.x-b.x)*o/3,g=u.y-(c.y-b.y)*o/3;a+=` C ${T.toFixed(2)} ${x.toFixed(2)}, ${m.toFixed(2)} ${g.toFixed(2)}, ${u.x.toFixed(2)} ${u.y.toFixed(2)}`;}return a}function ns(e,t,r,n,o){if(e.length===0)return "";let a=n?Ra(e,t,r):`M ${e.map(b=>`${t(b.x).toFixed(2)},${r(b.y).toFixed(2)}`).join(" L ")}`,s=t(e[e.length-1].x).toFixed(2),p=t(e[0].x).toFixed(2);return `${a} L ${s},${o.toFixed(2)} L ${p},${o.toFixed(2)} Z`}function Sn(e,t=5){return pr(e[0],e[1],t)}function Ma(e,t,r){if(t.length===0)return -1;let n=1/0,o=0;for(let a=0;a<t.length;a++){let s=Math.abs(r(t[a])-e);s<n&&(n=s,o=a);}return o}function Sa(e,t){return e.data.find(r=>String(r.x)===t)?.y}function os(e){for(let t of e)for(let r of t.data)if(typeof r.x=="string")return true;return false}function Ln({items:e,position:t,onToggle:r}){return jsxRuntime.jsx("div",{className:mt({position:t}),children:e.map(n=>jsxRuntime.jsxs("button",{onClick:()=>r(n.id),className:i("flex items-center gap-1.5 cursor-pointer rounded px-1.5 py-1 text-xs text-primary-700 transition-opacity hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-800",!n.visible&&"opacity-40"),"aria-pressed":n.visible,children:[jsxRuntime.jsx("span",{className:"h-2.5 w-5 rounded-sm shrink-0",style:{background:n.color}}),n.label]},n.id))})}function Pa({series:e,xAxis:t,yAxis:r,y2Axis:n,y2Series:o=[],smooth:a=false,showDots:s=true,area:p=false,strokeWidth:b=2,title:u,height:c=300,className:T,legend:x=true,legendPosition:m="bottom",animateOnMount:g=true,emptyText:d="No data to display"}){let f=Nr.useRef(null),w=Nr.useRef(null),[h,P]=Nr.useState(600),[k,N]=Nr.useState(null),[F,R]=Nr.useState(null);Nr.useEffect(()=>{let S=w.current;if(!S)return;let ce=S.getBoundingClientRect().width;ce>0&&P(ce);let oe=new ResizeObserver(he=>{let fe=he[0]?.contentRect.width;fe&&fe>0&&P(fe);});return oe.observe(S),()=>oe.disconnect()},[]);let E=Nr.useMemo(()=>e.map(S=>S.id),[e]),{visible:A,toggle:H,isVisible:y}=Rt(E),O=Nr.useMemo(()=>Mt(e.length),[e.length]),v=Nr.useMemo(()=>new Map(e.map((S,ce)=>[S.id,S.color??O[ce]])),[e,O]),ne=Nr.useMemo(()=>Lt(!!t?.label,!!r?.label,!!n),[t?.label,r?.label,n]),C=Nr.useMemo(()=>Et(h,c,ne),[h,c,ne]),re=Nr.useMemo(()=>os(e),[e]),_=Nr.useMemo(()=>re?ts(e,A):[],[e,A,re]),de=Nr.useMemo(()=>{if(re){let fe=Mn(_,[C.plotLeft,C.plotRight]);return Re=>fe(Re)}let S=e.flatMap(fe=>fe.data.map(Re=>Re.x));if(S.length===0)return ()=>C.plotLeft;let ce=Math.min(...S),oe=Math.max(...S),he=Rn([ce,oe],[C.plotLeft,C.plotRight]);return fe=>he(fe)},[e,re,_,C]),j=Nr.useMemo(()=>Ta(e,A,r),[e,A,r]),pe=Nr.useMemo(()=>Rn(j,[C.plotBottom,C.plotTop]),[j,C]),Y=Nr.useMemo(()=>Sn(j,r?.tickCount??5),[j,r?.tickCount]),V=Nr.useMemo(()=>{if(!n)return null;let S=e.filter(ce=>o.includes(ce.id));return Ta(S,A,n)},[n,e,o,A]),G=Nr.useMemo(()=>V?Rn(V,[C.plotBottom,C.plotTop]):null,[V,C]),me=Nr.useMemo(()=>V?Sn(V,n?.tickCount??5):[],[V,n?.tickCount]),W=Nr.useMemo(()=>{if(re)return _;let S=e.flatMap(he=>he.data.map(fe=>Number(fe.x)));if(S.length===0)return [];let ce=Math.min(...S),oe=Math.max(...S);return Sn([ce,oe],t?.tickCount??6)},[re,_,e,t?.tickCount]),l=Nr.useCallback(S=>{let ce=S.currentTarget.closest("svg");if(!ce)return;let oe=ce.getBoundingClientRect(),he=S.clientX-oe.left,fe=f.current?.getBoundingClientRect();if(!fe)return;let Re="",ye=he;if(re&&_.length>0){let q=Mn(_,[C.plotLeft,C.plotRight]),be=Ma(he,_,q);Re=_[be]??"",ye=q(Re);}else if(!re){let q=W;Re=Pe((he-C.plotLeft)/C.plotWidth*(q[q.length-1]-q[0])+q[0],t?.format),ye=he;}let z=e.filter(q=>y(q.id)).map(q=>{o.includes(q.id)&&G!=null?G:pe;let He;if(re)He=Sa(q,Re);else {let K=he,xe=1/0,L;for(let Z of q.data){let ee=de(Z.x),I=Math.abs(ee-K);I<xe&&(xe=I,L=Z.y);}He=L;}return {name:q.name,value:He!==void 0?Pe(He,r?.format):"\u2014",color:v.get(q.id)??"var(--color-chart-1)"}});ye>=C.plotLeft&&ye<=C.plotRight&&R(ye);let J=S.clientX-fe.left+12,B=S.clientY-fe.top-10;N({x:J,y:B,label:Re,items:z});},[re,_,C,e,y,o,G,pe,de,W,t?.format,r?.format,v]),D=Nr.useCallback(()=>{N(null),R(null);},[]),X=Nr.useCallback(S=>{S.preventDefault();let ce=S.touches[0];if(!ce)return;let oe=S.currentTarget.closest("svg");if(!oe)return;let he=oe.getBoundingClientRect(),fe=f.current?.getBoundingClientRect();if(!fe)return;let Re=ce.clientX-he.left,ye=Re,z="";if(re&&_.length>0){let B=Mn(_,[C.plotLeft,C.plotRight]),q=Ma(Re,_,B);z=_[q]??"",ye=B(z);}ye>=C.plotLeft&&ye<=C.plotRight&&R(ye);let J=e.filter(B=>y(B.id)).map(B=>({name:B.name,value:re&&z?Pe(Sa(B,z)??0,r?.format):"\u2014",color:v.get(B.id)??"var(--color-chart-1)"}));N({x:ce.clientX-fe.left+12,y:ce.clientY-fe.top-10,label:z,items:J});},[re,_,C,e,y,r?.format,v]),$=Nr.useMemo(()=>e.map((S,ce)=>({id:S.id,label:S.name,color:S.color??O[ce],visible:y(S.id)})),[e,O,y]),se=e.some(S=>S.data.length>0),ue=jsxRuntime.jsxs("svg",{role:"img","aria-label":u??"Line chart",width:C.width,height:C.height,viewBox:`0 0 ${C.width} ${C.height}`,shapeRendering:"geometricPrecision",children:[r?.gridLines!==false&&Y.map(S=>{let ce=pe(S);return jsxRuntime.jsx("line",{x1:C.plotLeft,x2:C.plotRight,y1:ce,y2:ce,stroke:"currentColor",strokeWidth:.5,strokeDasharray:"4 4",className:"text-secondary-200 dark:text-secondary-700"},S)}),p&&e.map(S=>{if(!y(S.id)||S.data.length===0)return null;let oe=o.includes(S.id)&&G!=null?G:pe,he=v.get(S.id)??"var(--color-chart-1)",fe=ns(S.data,de,oe,a,C.plotBottom);return jsxRuntime.jsx("path",{d:fe,fill:he,fillOpacity:.15,stroke:"none",className:g?"chart-area-animate":""},`area-${S.id}`)}),e.map(S=>{if(!y(S.id)||S.data.length===0)return null;let oe=o.includes(S.id)&&G!=null?G:pe,he=v.get(S.id)??"var(--color-chart-1)";return a?jsxRuntime.jsx("path",{d:Ra(S.data,de,oe),fill:"none",stroke:he,strokeWidth:b,strokeLinecap:"round",strokeLinejoin:"round",className:g?"chart-line-animate":""},S.id):jsxRuntime.jsx("polyline",{points:rs(S.data,de,oe),fill:"none",stroke:he,strokeWidth:b,strokeLinecap:"round",strokeLinejoin:"round",className:g?"chart-line-animate":""},S.id)}),s&&e.map(S=>{if(!y(S.id))return null;let oe=o.includes(S.id)&&G!=null?G:pe,he=v.get(S.id)??"var(--color-chart-1)";return S.data.map((fe,Re)=>jsxRuntime.jsx("circle",{cx:de(fe.x),cy:oe(fe.y),r:3,fill:he,stroke:"white",strokeWidth:1.5,className:i("chart-dot",g?"chart-dot-animate":"")},`${S.id}-${Re}`))}),F!=null&&jsxRuntime.jsx("line",{className:"chart-crosshair",x1:F,x2:F,y1:C.plotTop,y2:C.plotBottom,stroke:"currentColor",strokeWidth:1,strokeDasharray:"4 4",opacity:.5,style:{color:"var(--color-secondary-400)"}}),jsxRuntime.jsx("line",{x1:C.plotLeft,x2:C.plotLeft,y1:C.plotTop,y2:C.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),Y.map(S=>{let ce=pe(S);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:C.plotLeft-4,x2:C.plotLeft,y1:ce,y2:ce,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:C.plotLeft-6,y:ce,textAnchor:"end",dominantBaseline:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Pe(S,r?.format)})]},S)}),r?.label&&jsxRuntime.jsx("text",{x:-(C.plotTop+C.plotHeight/2),y:14,textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",transform:"rotate(-90)",children:r.label}),n&&G&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("line",{x1:C.plotRight,x2:C.plotRight,y1:C.plotTop,y2:C.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),me.map(S=>{let ce=G(S);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:C.plotRight,x2:C.plotRight+4,y1:ce,y2:ce,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:C.plotRight+6,y:ce,textAnchor:"start",dominantBaseline:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Pe(S,n?.format)})]},S)}),n?.label&&jsxRuntime.jsx("text",{x:C.plotTop+C.plotHeight/2,y:-(C.width-14),textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",transform:"rotate(90)",children:n.label})]}),jsxRuntime.jsx("line",{x1:C.plotLeft,x2:C.plotRight,y1:C.plotBottom,y2:C.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),(re?_:W).map((S,ce)=>{let oe=de(S);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:oe,x2:oe,y1:C.plotBottom,y2:C.plotBottom+4,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:oe,y:C.plotBottom+14,textAnchor:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Pe(S,t?.format)})]},ce)}),t?.label&&jsxRuntime.jsx("text",{x:C.plotLeft+C.plotWidth/2,y:C.height-4,textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",children:t.label}),jsxRuntime.jsx("rect",{x:C.plotLeft,y:C.plotTop,width:C.plotWidth,height:C.plotHeight,fill:"transparent",onMouseMove:l,onMouseLeave:D,onTouchStart:X,onTouchMove:X,onTouchEnd:D,style:{cursor:"crosshair"}})]}),Te=m==="left"||m==="right";return jsxRuntime.jsxs("div",{ref:f,className:i(dt(),T),children:[u&&jsxRuntime.jsx("h3",{className:"mb-2 text-sm font-semibold text-primary-700 dark:text-primary-200",children:u}),x&&m==="top"&&jsxRuntime.jsx(Ln,{items:$,position:"top",onToggle:H}),jsxRuntime.jsxs("div",{className:i("flex items-start",Te&&"gap-0"),children:[x&&m==="left"&&jsxRuntime.jsx(Ln,{items:$,position:"left",onToggle:H}),jsxRuntime.jsx("div",{ref:w,className:"flex-1 min-w-0 overflow-hidden",children:se?ue:jsxRuntime.jsx("div",{className:"flex items-center justify-center text-secondary-400 dark:text-secondary-500",style:{height:c},children:d})}),x&&m==="right"&&jsxRuntime.jsx(Ln,{items:$,position:"right",onToggle:H})]}),x&&m==="bottom"&&jsxRuntime.jsx(Ln,{items:$,position:"bottom",onToggle:H}),k&&jsxRuntime.jsxs("div",{className:pt(),style:{left:k.x,top:k.y},role:"tooltip",children:[k.label&&jsxRuntime.jsx("div",{className:"mb-1 font-medium text-primary-200",children:k.label}),k.items.map((S,ce)=>jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx("span",{className:"h-2 w-2 rounded-full shrink-0",style:{background:S.color}}),jsxRuntime.jsxs("span",{className:"text-primary-300",children:[S.name,":"]}),jsxRuntime.jsx("span",{className:"font-medium",children:S.value})]},ce))]})]})}function is(e,t){let r=new Set,n=[];for(let o of e)if(t.has(o.id))for(let a of o.data){let s=String(a.x);r.has(s)||(r.add(s),n.push(s));}return n}function ss(e,t,r,n){if(r){let o=0;for(let s of e)if(t.has(s.id))for(let p of s.data)p.y>o&&(o=p.y);o===0&&(o=1);let[,a]=St(0,o,.05);return [n?.min??0,n?.max??a]}else {let o=new Map;for(let p of e)if(t.has(p.id))for(let b of p.data){let u=String(b.x);o.set(u,(o.get(u)??0)+b.y);}let a=Math.max(0,...o.values()),[,s]=St(0,a===0?1:a,.05);return [n?.min??0,n?.max??s]}}function ls(e,t){let[r,n]=e,[o,a]=t;return n===r?()=>(o+a)/2:s=>o+(s-r)/(n-r)*(a-o)}function cs(e,t=5){return pr(e[0],e[1],t)}function ds(e,t,r,n,o,a,s,p,b,u,c){let T=e.filter(h=>t.has(h.id)),x=r.length,m=T.length;if(x===0||m===0)return [];let g=a/x,d=g*(1-u),f=m>0?d*(1-c)/m:0,w=[];for(let h=0;h<r.length;h++){let P=r[h],k=o+h*g+(g-d)/2;for(let N=0;N<T.length;N++){let F=T[N],R=F.data.find(H=>String(H.x)===P);if(!R)continue;let E=k+N*(f+d*c/m),A=b(R.y);w.push({seriesId:F.id,category:P,x:E,y:A,width:Math.max(f,1),height:Math.max(s-A,0),stackBase:s,value:R.y,color:n.get(F.id)??"var(--color-chart-1)"});}}return w}function ms(e,t,r,n,o,a,s,p,b,u){let c=e.filter(w=>t.has(w.id)),T=r.length,x=c.length;if(T===0||x===0)return [];let m=s/T,g=m*(1-b),d=x>0?g*(1-u)/x:0,f=[];for(let w=0;w<r.length;w++){let h=r[w],P=a+w*m+(m-g)/2;for(let k=0;k<c.length;k++){let N=c[k],F=N.data.find(A=>String(A.x)===h);if(!F)continue;let R=P+k*(d+g*u/Math.max(x,1)),E=p(F.y);f.push({seriesId:N.id,category:h,x:o,y:R,width:Math.max(E-o,0),height:Math.max(d,1),stackBase:o,value:F.y,color:n.get(N.id)??"var(--color-chart-1)"});}}return f}function ps(e,t,r,n,o,a,s,p,b){let u=e.filter(g=>t.has(g.id)),c=r.length;if(c===0)return [];let T=s/c*(1-b),x=[],m=new Map;r.forEach(g=>m.set(g,o));for(let g of u)for(let d of r){let f=g.data.find(N=>String(N.x)===d);if(!f)continue;let w=m.get(d)??o,h=Math.max(p(f.y)-o,0),P=r.indexOf(d),k=a+(P+.5)*(s/c);x.push({seriesId:g.id,category:d,x:w,y:k-T/2,width:h,height:Math.max(T,1),stackBase:w,value:f.y,color:n.get(g.id)??"var(--color-chart-1)"}),m.set(d,w+h);}return x}function us(e,t,r,n,o,a,s,p,b){let u=e.filter(g=>t.has(g.id)),c=r.length;if(c===0)return [];let T=a/c*(1-b),x=[],m=new Map;r.forEach(g=>m.set(g,s));for(let g of u)for(let d of r){let f=g.data.find(F=>String(F.x)===d);if(!f)continue;let w=m.get(d)??s,h=Math.max(s-p(f.y),0),P=w-h,k=r.indexOf(d),N=o+(k+.5)*(a/c);x.push({seriesId:g.id,category:d,x:N-T/2,y:P,width:Math.max(T,1),height:h,stackBase:w,value:f.y,color:n.get(g.id)??"var(--color-chart-1)"}),m.set(d,P);}return x}function En({items:e,position:t,onToggle:r}){return jsxRuntime.jsx("div",{className:mt({position:t}),children:e.map(n=>jsxRuntime.jsxs("button",{onClick:()=>r(n.id),className:i("flex items-center gap-1.5 cursor-pointer rounded px-1.5 py-1 text-xs text-primary-700 transition-opacity hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-800",!n.visible&&"opacity-40"),"aria-pressed":n.visible,children:[jsxRuntime.jsx("span",{className:"h-2.5 w-5 rounded-sm shrink-0",style:{background:n.color}}),n.label]},n.id))})}function Va({series:e,xAxis:t,yAxis:r,orientation:n="vertical",grouped:o=true,barRadius:a=4,barPadding:s=.2,groupPadding:p=.3,title:b,height:u=300,className:c,legend:T=true,legendPosition:x="bottom",animateOnMount:m=true,emptyText:g="No data to display"}){let d=Nr.useRef(null),f=Nr.useRef(null),[w,h]=Nr.useState(600),[P,k]=Nr.useState(null);Nr.useEffect(()=>{let l=f.current;if(!l)return;let D=l.getBoundingClientRect().width;D>0&&h(D);let X=new ResizeObserver($=>{let se=$[0]?.contentRect.width;se&&se>0&&h(se);});return X.observe(l),()=>X.disconnect()},[]);let N=Nr.useMemo(()=>e.map(l=>l.id),[e]),{visible:F,toggle:R,isVisible:E}=Rt(N),A=Nr.useMemo(()=>Mt(e.length),[e.length]),H=Nr.useMemo(()=>new Map(e.map((l,D)=>[l.id,l.color??A[D]])),[e,A]),y=n==="horizontal",O=Nr.useMemo(()=>Lt(!!t?.label,!!r?.label,false),[t?.label,r?.label]),v=Nr.useMemo(()=>Et(w,u,O),[w,u,O]),ne=Nr.useMemo(()=>is(e,F),[e,F]),C=Nr.useMemo(()=>ss(e,F,o,y?t:r),[e,F,o,y,t,r]),re=Nr.useMemo(()=>ls(C,y?[v.plotLeft,v.plotRight]:[v.plotBottom,v.plotTop]),[C,v,y]),_=Nr.useMemo(()=>cs(C,(y?t:r)?.tickCount??5),[C,y,t,r]),de=Nr.useMemo(()=>y?o?ms(e,F,ne,H,v.plotLeft,v.plotTop,v.plotHeight,re,p,s):ps(e,F,ne,H,v.plotLeft,v.plotTop,v.plotHeight,re,p):o?ds(e,F,ne,H,v.plotLeft,v.plotWidth,v.plotBottom,v.plotTop,re,p,s):us(e,F,ne,H,v.plotLeft,v.plotWidth,v.plotBottom,re,p),[e,F,ne,H,v,re,o,y,p,s]),j=ne.length>0?v.plotWidth/ne.length:1,pe=ne.length>0?v.plotHeight/ne.length:1,Y=Nr.useCallback((l,D)=>{let X=d.current?.getBoundingClientRect();if(!X)return;let $=e.filter(se=>E(se.id)).map(se=>{let ue=se.data.find(Te=>String(Te.x)===D);return {name:se.name,value:ue?Pe(ue.y,r?.format):"\u2014",color:H.get(se.id)??"var(--color-chart-1)"}});k({x:l.clientX-X.left+12,y:l.clientY-X.top-10,category:D,items:$});},[e,E,H,r?.format]),V=Nr.useMemo(()=>e.map((l,D)=>({id:l.id,label:l.name,color:l.color??A[D],visible:E(l.id)})),[e,A,E]),G=e.some(l=>l.data.length>0),me=x==="left"||x==="right",W=jsxRuntime.jsxs("svg",{role:"img","aria-label":b??"Bar chart",width:v.width,height:v.height,viewBox:`0 0 ${v.width} ${v.height}`,shapeRendering:"geometricPrecision",children:[_.map(l=>{let D=re(l);return y?jsxRuntime.jsx("line",{x1:D,x2:D,y1:v.plotTop,y2:v.plotBottom,stroke:"currentColor",strokeWidth:.5,strokeDasharray:"4 4",className:"text-secondary-200 dark:text-secondary-700"},l):jsxRuntime.jsx("line",{x1:v.plotLeft,x2:v.plotRight,y1:D,y2:D,stroke:"currentColor",strokeWidth:.5,strokeDasharray:"4 4",className:"text-secondary-200 dark:text-secondary-700"},l)}),de.map(l=>{let D=Math.min(a,l.width/2,l.height/2),X=`${l.seriesId}-${l.category}`;return y?jsxRuntime.jsx("rect",{x:l.x,y:l.y,width:l.width,height:l.height,rx:D,fill:l.color,className:i("chart-bar-h",m&&"chart-bar-animate"),onMouseMove:$=>Y($,l.category),onMouseLeave:()=>k(null)},X):jsxRuntime.jsx("rect",{x:l.x,y:l.y,width:l.width,height:l.height,rx:D,fill:l.color,className:i("chart-bar-v",m&&"chart-bar-animate"),onMouseMove:$=>Y($,l.category),onMouseLeave:()=>k(null)},X)}),jsxRuntime.jsx("line",{x1:v.plotLeft,x2:v.plotLeft,y1:v.plotTop,y2:v.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("line",{x1:v.plotLeft,x2:v.plotRight,y1:v.plotBottom,y2:v.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),!y&&_.map(l=>{let D=re(l);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:v.plotLeft-4,x2:v.plotLeft,y1:D,y2:D,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:v.plotLeft-6,y:D,textAnchor:"end",dominantBaseline:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Pe(l,r?.format)})]},l)}),y&&_.map(l=>{let D=re(l);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:D,x2:D,y1:v.plotBottom,y2:v.plotBottom+4,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:D,y:v.plotBottom+14,textAnchor:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Pe(l,t?.format)})]},l)}),ne.map((l,D)=>{if(y){let $=v.plotTop+(D+.5)*pe;return jsxRuntime.jsx("text",{x:v.plotLeft-6,y:$,textAnchor:"end",dominantBaseline:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:l},l)}let X=v.plotLeft+(D+.5)*j;return jsxRuntime.jsx("text",{x:X,y:v.plotBottom+14,textAnchor:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:l},l)}),r?.label&&!y&&jsxRuntime.jsx("text",{x:-(v.plotTop+v.plotHeight/2),y:14,textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",transform:"rotate(-90)",children:r.label}),t?.label&&jsxRuntime.jsx("text",{x:v.plotLeft+v.plotWidth/2,y:v.height-4,textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",children:t.label})]});return jsxRuntime.jsxs("div",{ref:d,className:i(dt(),c),children:[b&&jsxRuntime.jsx("h3",{className:"mb-2 text-sm font-semibold text-primary-700 dark:text-primary-200",children:b}),T&&x==="top"&&jsxRuntime.jsx(En,{items:V,position:"top",onToggle:R}),jsxRuntime.jsxs("div",{className:i("flex items-start",me&&"gap-0"),children:[T&&x==="left"&&jsxRuntime.jsx(En,{items:V,position:"left",onToggle:R}),jsxRuntime.jsx("div",{ref:f,className:"flex-1 min-w-0 overflow-hidden",children:G?W:jsxRuntime.jsx("div",{className:"flex items-center justify-center text-secondary-400 dark:text-secondary-500",style:{height:u},children:g})}),T&&x==="right"&&jsxRuntime.jsx(En,{items:V,position:"right",onToggle:R})]}),T&&x==="bottom"&&jsxRuntime.jsx(En,{items:V,position:"bottom",onToggle:R}),P&&jsxRuntime.jsxs("div",{className:pt(),style:{left:P.x,top:P.y},role:"tooltip",children:[jsxRuntime.jsx("div",{className:"mb-1 font-medium text-primary-200",children:P.category}),P.items.map((l,D)=>jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx("span",{className:"h-2 w-2 rounded-full shrink-0",style:{background:l.color}}),jsxRuntime.jsxs("span",{className:"text-primary-300",children:[l.name,":"]}),jsxRuntime.jsx("span",{className:"font-medium",children:l.value})]},D))]})]})}function hs(e,t,r,n,o,a,s,p,b){let u=e.filter(g=>t.has(g.id)),c=u.reduce((g,d)=>g+d.value,0);if(c===0)return [];let T=new Map(e.map((g,d)=>[g.id,g.color??r[d%r.length]])),x=[],m=p;for(let g of u){let d=g.value/c*360,f=b/2,w=m+f,h=m+d-f,P=(w+h)/2,k;if(Math.abs(h-w)>=359.9){let N=Qe(a,s,n,w),F=Qe(a,s,n,w+180);k=`M ${N.x.toFixed(3)} ${N.y.toFixed(3)} A ${n} ${n} 0 1 1 ${F.x.toFixed(3)} ${F.y.toFixed(3)} A ${n} ${n} 0 1 1 ${N.x.toFixed(3)} ${N.y.toFixed(3)} Z`;}else if(o>0){let N=Qe(a,s,n,w),F=Qe(a,s,n,h),R=Qe(a,s,o,h),E=Qe(a,s,o,w),A=h-w>180?1:0;k=`M ${N.x.toFixed(3)} ${N.y.toFixed(3)} A ${n} ${n} 0 ${A} 1 ${F.x.toFixed(3)} ${F.y.toFixed(3)} L ${R.x.toFixed(3)} ${R.y.toFixed(3)} A ${o} ${o} 0 ${A} 0 ${E.x.toFixed(3)} ${E.y.toFixed(3)} Z`;}else {let N=Qe(a,s,n,w),F=Qe(a,s,n,h),R=h-w>180?1:0;k=`M ${a.toFixed(3)} ${s.toFixed(3)} L ${N.x.toFixed(3)} ${N.y.toFixed(3)} A ${n} ${n} 0 ${R} 1 ${F.x.toFixed(3)} ${F.y.toFixed(3)} Z`;}x.push({id:g.id,label:g.label,value:g.value,percent:Math.round(g.value/c*1e3)/10,color:T.get(g.id)??"var(--color-chart-1)",startAngle:w,endAngle:h,midAngle:P,path:k,outerR:n,innerR:o,cx:a,cy:s}),m+=d;}return x}function bs(e,t){let r=(e-90)*Math.PI/180;return {dx:Math.cos(r)*t,dy:Math.sin(r)*t}}function Dn({items:e,position:t,onToggle:r}){return jsxRuntime.jsx("div",{className:mt({position:t}),children:e.map(n=>jsxRuntime.jsxs("button",{onClick:()=>r(n.id),className:i("flex items-center gap-1.5 cursor-pointer rounded px-1.5 py-1 text-xs text-primary-700 transition-opacity hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-800",!n.visible&&"opacity-40"),"aria-pressed":n.visible,children:[jsxRuntime.jsx("span",{className:"h-2.5 w-2.5 rounded-full shrink-0",style:{background:n.color}}),jsxRuntime.jsx("span",{children:n.label}),jsxRuntime.jsxs("span",{className:"text-secondary-400",children:["(",n.percent,"%)"]})]},n.id))})}function Ha({data:e,donut:t=false,donutThickness:r=.5,startAngle:n=-90,padAngle:o=0,labelType:a="percent",centerLabel:s,centerSubLabel:p,explodeOnHover:b=true,explodeOffset:u=8,title:c,height:T=300,className:x,legend:m=true,legendPosition:g="bottom",animateOnMount:d=true,emptyText:f="No data to display"}){let w=Nr.useRef(null),h=Nr.useRef(null),[P,k]=Nr.useState(400),[N,F]=Nr.useState(null),[R,E]=Nr.useState(null),[A,H]=Nr.useState({}),y=Nr.useRef(null);Nr.useEffect(()=>{let z=h.current;if(!z)return;let J=z.getBoundingClientRect().width;J>0&&k(J);let B=new ResizeObserver(q=>{let be=q[0]?.contentRect.width;be&&be>0&&k(be);});return B.observe(z),()=>B.disconnect()},[]),Nr.useEffect(()=>{function z(B){let q=y.current;if(!q)return;"touches"in B&&B.cancelable&&B.preventDefault();let be="touches"in B?B.touches[0]?.clientX??q.startX:B.clientX,De="touches"in B?B.touches[0]?.clientY??q.startY:B.clientY;H(He=>({...He,[q.id]:{dx:q.origDx+be-q.startX,dy:q.origDy+De-q.startY}}));}function J(){y.current=null;}return window.addEventListener("mousemove",z),window.addEventListener("mouseup",J),window.addEventListener("touchmove",z,{passive:false}),window.addEventListener("touchend",J),()=>{window.removeEventListener("mousemove",z),window.removeEventListener("mouseup",J),window.removeEventListener("touchmove",z),window.removeEventListener("touchend",J);}},[]);let O=Nr.useMemo(()=>e.map(z=>z.id),[e]),{visible:v,toggle:ne,isVisible:C}=Rt(O),re=Nr.useMemo(()=>Mt(e.length),[e.length]),_=10,de=6.4,j=18,pe=14,Y=6,V=P,G=T,me=V/2,W=G/2,l=a!=="none"?j+Y+4:Y+4,D=Math.max(Math.min(me,W)-l,20),X=t?D*r:0,$=Nr.useMemo(()=>hs(e,v,re,D,X,me,W,n,o),[e,v,re,D,X,me,W,n,o]),se=Nr.useMemo(()=>$.map(z=>z.id).join(","),[$]);Nr.useEffect(()=>{H({});},[se]);let ue=Nr.useCallback((z,J)=>{if(y.current)return;let B=w.current?.getBoundingClientRect();if(!B)return;F(J);let q=$.find(be=>be.id===J);q&&E({x:z.clientX-B.left+12,y:z.clientY-B.top-10,items:[{label:q.label,value:Pe(q.value),percent:`${q.percent}%`,color:q.color}]});},[$]),Te=Nr.useCallback(()=>{F(null),E(null);},[]),S=Nr.useCallback((z,J,B)=>{let q=A[z]??{dx:0,dy:0};y.current={id:z,startX:J,startY:B,origDx:q.dx,origDy:q.dy};},[A]),ce=Nr.useCallback((z,J)=>{z.preventDefault(),F(J);let B=w.current?.getBoundingClientRect();if(!B)return;let q=z.touches[0];if(!q)return;let be=$.find(De=>De.id===J);be&&E({x:q.clientX-B.left+12,y:q.clientY-B.top-10,items:[{label:be.label,value:Pe(be.value),percent:`${be.percent}%`,color:be.color}]});},[$]),oe=Nr.useMemo(()=>{let z=e.reduce((J,B)=>J+B.value,0);return e.map((J,B)=>({id:J.id,label:J.label,color:J.color??re[B],visible:C(J.id),percent:z>0?Math.round(J.value/z*1e3)/10:0}))},[e,re,C]),he=e.length>0&&e.some(z=>z.value>0),fe=g==="left"||g==="right",Re=Nr.useMemo(()=>{if(a==="none")return [];let z=_+3,J=Y+_*.5,B=G-Y-_*.5,q=$.filter(K=>K.percent>=3).map(K=>{let xe="";switch(a){case "percent":xe=`${K.percent}%`;break;case "value":xe=Pe(K.value);break;case "label":xe=K.label;break;case "label+percent":xe=`${K.label} ${K.percent}%`;break}let L=Qe(K.cx,K.cy,K.outerR+2,K.midAngle),Z=Qe(K.cx,K.cy,K.outerR+j,K.midAngle),ee=(K.midAngle-90)*Math.PI/180,I=Math.cos(ee)>=0,ge=Math.ceil(xe.length*de);return {id:K.id,color:K.color,text:xe,textW:ge,p1:L,elbowX:Z.x,y:Z.y,isRight:I}}),be=q.filter(K=>K.isRight).sort((K,xe)=>K.y-xe.y),De=q.filter(K=>!K.isRight).sort((K,xe)=>K.y-xe.y);function He(K){if(K.length!==0)for(let xe=0;xe<20;xe++){let L=false;for(let ee=1;ee<K.length;ee++){let I=K[ee].y-K[ee-1].y;if(I<z){let ge=(z-I)/2;K[ee-1].y-=ge,K[ee].y+=ge,L=true;}}K[0].y<J&&(K[0].y=J);for(let ee=1;ee<K.length;ee++)K[ee].y<K[ee-1].y+z&&(K[ee].y=K[ee-1].y+z);let Z=K.length-1;K[Z].y>B&&(K[Z].y=B);for(let ee=Z-1;ee>=0;ee--)K[ee].y>K[ee+1].y-z&&(K[ee].y=K[ee+1].y-z);for(let ee of K)ee.y=Math.max(J,Math.min(B,ee.y));if(!L)break}}return He(be),He(De),[...De,...be]},[$,a,G]),ye=jsxRuntime.jsxs("svg",{role:"img","aria-label":c??"Pie chart",width:V,height:G,viewBox:`0 0 ${V} ${G}`,shapeRendering:"geometricPrecision",children:[jsxRuntime.jsxs("g",{className:d?"chart-pie-animate":"",children:[$.map((z,J)=>{let B=N===z.id,q=b&&B,be=bs(z.midAngle,q?u:0);return jsxRuntime.jsx("path",{d:z.path,fill:z.color,transform:q?`translate(${be.dx}, ${be.dy})`:void 0,className:i("chart-slice",d&&`chart-slice-animate-${Math.min(J,7)}`,B&&"chart-slice--exploded"),stroke:z.color,strokeWidth:.6,onMouseMove:De=>ue(De,z.id),onMouseLeave:Te,onTouchStart:De=>ce(De,z.id),onTouchEnd:Te,"aria-label":`${z.label}: ${z.percent}%`},z.id)}),Re.map(z=>{let J=A[z.id]??{dx:0,dy:0},B=z.elbowX+J.dx,q=z.y+J.dy,be=B+(z.isRight?pe:-pe),De=z.isRight?be+3:be-3,He=pe+3+z.textW+6,K=z.isRight?B:B-He,xe=q-_-2,L=_*2+4;return jsxRuntime.jsxs("g",{style:{userSelect:"none"},children:[jsxRuntime.jsx("polyline",{points:[`${z.p1.x.toFixed(2)},${z.p1.y.toFixed(2)}`,`${B.toFixed(2)},${q.toFixed(2)}`,`${be.toFixed(2)},${q.toFixed(2)}`].join(" "),fill:"none",stroke:z.color,strokeWidth:1.2,opacity:.85,strokeLinejoin:"round",strokeLinecap:"round",style:{pointerEvents:"none"}}),jsxRuntime.jsx("text",{x:De.toFixed(2),y:q.toFixed(2),textAnchor:z.isRight?"start":"end",dominantBaseline:"middle",fontSize:_,fill:"currentColor",className:"text-primary-700 dark:text-primary-300",style:{pointerEvents:"none"},children:z.text}),jsxRuntime.jsx("rect",{x:K,y:xe,width:He,height:L,fill:"transparent",style:{cursor:"grab",touchAction:"none"},onMouseDown:Z=>{Z.stopPropagation(),S(z.id,Z.clientX,Z.clientY);},onTouchStart:Z=>{Z.stopPropagation();let ee=Z.touches[0];ee&&S(z.id,ee.clientX,ee.clientY);}})]},`label-${z.id}`)})]}),t&&jsxRuntime.jsx("g",{style:{pointerEvents:"none"},children:N&&$.find(z=>z.id===N)?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("text",{x:me,y:W-8,textAnchor:"middle",dominantBaseline:"middle",fontSize:18,fontWeight:600,fill:"currentColor",className:"text-primary-800 dark:text-primary-100",children:[$.find(z=>z.id===N)?.percent,"%"]}),jsxRuntime.jsx("text",{x:me,y:W+12,textAnchor:"middle",dominantBaseline:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:$.find(z=>z.id===N)?.label})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[s&&jsxRuntime.jsx("text",{x:me,y:W-(p?8:0),textAnchor:"middle",dominantBaseline:"middle",fontSize:16,fontWeight:600,fill:"currentColor",className:"text-primary-800 dark:text-primary-100",children:s}),p&&jsxRuntime.jsx("text",{x:me,y:W+14,textAnchor:"middle",dominantBaseline:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:p})]})})]});return jsxRuntime.jsxs("div",{ref:w,className:i(dt(),x),children:[c&&jsxRuntime.jsx("h3",{className:"mb-2 text-sm font-semibold text-primary-700 dark:text-primary-200",children:c}),m&&g==="top"&&jsxRuntime.jsx(Dn,{items:oe,position:"top",onToggle:ne}),jsxRuntime.jsxs("div",{className:i("flex items-start justify-center",fe&&"gap-0"),children:[m&&g==="left"&&jsxRuntime.jsx(Dn,{items:oe,position:"left",onToggle:ne}),jsxRuntime.jsx("div",{ref:h,className:"flex-1 min-w-0 overflow-hidden",children:he?ye:jsxRuntime.jsx("div",{className:"flex items-center justify-center text-secondary-400 dark:text-secondary-500",style:{height:T},children:f})}),m&&g==="right"&&jsxRuntime.jsx(Dn,{items:oe,position:"right",onToggle:ne})]}),m&&g==="bottom"&&jsxRuntime.jsx(Dn,{items:oe,position:"bottom",onToggle:ne}),R&&jsxRuntime.jsx("div",{className:pt(),style:{left:R.x,top:R.y},role:"tooltip",children:R.items.map((z,J)=>jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"h-2.5 w-2.5 rounded-full shrink-0",style:{background:z.color}}),jsxRuntime.jsxs("span",{className:"font-medium",children:[z.label,":"]}),jsxRuntime.jsx("span",{children:z.value}),jsxRuntime.jsxs("span",{className:"text-primary-300",children:["(",z.percent,")"]})]},J))})]})}function ys(e,t,r){let n=1/0,o=-1/0;for(let p of e)if(t.has(p.id))for(let b of p.data){let u=Number(b.x);u<n&&(n=u),u>o&&(o=u);}if(!isFinite(n))return [0,1];let[a,s]=St(n,o);return [r?.min??a,r?.max??s]}function vs(e,t,r){let n=1/0,o=-1/0;for(let p of e)if(t.has(p.id))for(let b of p.data)b.y<n&&(n=b.y),b.y>o&&(o=b.y);if(!isFinite(n))return [0,1];let[a,s]=St(n,o);return [r?.min??a,r?.max??s]}function Fa(e,t){let[r,n]=e,[o,a]=t;return n===r?()=>(o+a)/2:s=>o+(s-r)/(n-r)*(a-o)}function Aa(e,t=5){return pr(e[0],e[1],t)}function ws(e,t,r){let n=1.618033988749895,o=e*137+t,a=o*n%1*2-1,s=o*n*n%1*2-1;return [a*r,s*r]}function ks(e,t,r=12){if(e.length<2)return null;let n=Math.min(...e),o=Math.max(...e),a=Math.min(...t),s=Math.max(...t);return {cx:(n+o)/2,cy:(a+s)/2,rx:(o-n)/2+r,ry:(s-a)/2+r}}function In({items:e,position:t,onToggle:r}){return jsxRuntime.jsx("div",{className:mt({position:t}),children:e.map(n=>jsxRuntime.jsxs("button",{onClick:()=>r(n.id),className:i("flex items-center gap-1.5 cursor-pointer rounded px-1.5 py-1 text-xs text-primary-700 transition-opacity hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-800",!n.visible&&"opacity-40"),"aria-pressed":n.visible,children:[jsxRuntime.jsx("span",{className:"h-2.5 w-2.5 rounded-full shrink-0",style:{background:n.color}}),n.label]},n.id))})}function za({series:e,xAxis:t,yAxis:r,dotRadius:n=5,dotOpacity:o=.75,clusters:a=false,jitter:s=false,jitterAmount:p=12,linkedLines:b=false,title:u,height:c=300,className:T,legend:x=true,legendPosition:m="bottom",animateOnMount:g=true,emptyText:d="No data to display"}){let f=Nr.useRef(null),w=Nr.useRef(null),[h,P]=Nr.useState(600),[k,N]=Nr.useState(null);Nr.useEffect(()=>{let l=w.current;if(!l)return;let D=l.getBoundingClientRect().width;D>0&&P(D);let X=new ResizeObserver($=>{let se=$[0]?.contentRect.width;se&&se>0&&P(se);});return X.observe(l),()=>X.disconnect()},[]);let F=Nr.useMemo(()=>e.map(l=>l.id),[e]),{visible:R,toggle:E,isVisible:A}=Rt(F),H=Nr.useMemo(()=>Mt(e.length),[e.length]),y=Nr.useMemo(()=>new Map(e.map((l,D)=>[l.id,l.color??H[D]])),[e,H]),O=Nr.useMemo(()=>Lt(!!t?.label,!!r?.label,false),[t?.label,r?.label]),v=Nr.useMemo(()=>Et(h,c,O),[h,c,O]),ne=Nr.useMemo(()=>ys(e,R,t),[e,R,t]),C=Nr.useMemo(()=>vs(e,R,r),[e,R,r]),re=Nr.useMemo(()=>Fa(ne,[v.plotLeft,v.plotRight]),[ne,v]),_=Nr.useMemo(()=>Fa(C,[v.plotBottom,v.plotTop]),[C,v]),de=Nr.useMemo(()=>Aa(ne,t?.tickCount??6),[ne,t?.tickCount]),j=Nr.useMemo(()=>Aa(C,r?.tickCount??5),[C,r?.tickCount]),pe=Nr.useCallback((l,D,X,$,se)=>{let ue=f.current?.getBoundingClientRect();ue&&N({x:l.clientX-ue.left+12,y:l.clientY-ue.top-10,seriesName:D,xVal:Pe(X,t?.format),yVal:Pe($,r?.format),color:se});},[t?.format,r?.format]),Y=Nr.useCallback((l,D,X,$,se)=>{l.preventDefault();let ue=f.current?.getBoundingClientRect();if(!ue)return;let Te=l.touches[0];Te&&N({x:Te.clientX-ue.left+12,y:Te.clientY-ue.top-10,seriesName:D,xVal:Pe(X,t?.format),yVal:Pe($,r?.format),color:se});},[t?.format,r?.format]),V=Nr.useMemo(()=>e.map((l,D)=>({id:l.id,label:l.name,color:l.color??H[D],visible:A(l.id)})),[e,H,A]),G=e.some(l=>l.data.length>0),me=m==="left"||m==="right",W=jsxRuntime.jsxs("svg",{role:"img","aria-label":u??"Scatter chart",width:v.width,height:v.height,viewBox:`0 0 ${v.width} ${v.height}`,shapeRendering:"geometricPrecision",children:[j.map(l=>jsxRuntime.jsx("line",{x1:v.plotLeft,x2:v.plotRight,y1:_(l),y2:_(l),stroke:"currentColor",strokeWidth:.5,strokeDasharray:"4 4",className:"text-secondary-200 dark:text-secondary-700"},l)),a&&e.map((l,D)=>{if(!A(l.id)||l.data.length<2)return null;let X=y.get(l.id)??"var(--color-chart-1)",$=l.data.map(Te=>re(Number(Te.x))),se=l.data.map(Te=>_(Te.y)),ue=ks($,se,16);return ue?jsxRuntime.jsx("ellipse",{cx:ue.cx,cy:ue.cy,rx:ue.rx,ry:ue.ry,fill:X,fillOpacity:.06,stroke:X,strokeOpacity:.3,strokeWidth:1.5,strokeDasharray:"5 3",className:g?"chart-cluster-ellipse":"",style:{animationDelay:`${D*.1}s`}},`cluster-${l.id}`):null}),b&&e.map(l=>{if(!A(l.id)||l.data.length<2)return null;let D=y.get(l.id)??"var(--color-chart-1)",$=[...l.data].sort((se,ue)=>Number(se.x)-Number(ue.x)).map(se=>`${re(Number(se.x)).toFixed(2)},${_(se.y).toFixed(2)}`).join(" ");return jsxRuntime.jsx("polyline",{points:$,fill:"none",stroke:D,strokeWidth:1.5,className:"chart-scatter-link"},`link-${l.id}`)}),e.map((l,D)=>{if(!A(l.id))return null;let X=y.get(l.id)??"var(--color-chart-1)";return jsxRuntime.jsx("g",{className:"chart-scatter-group",children:l.data.map(($,se)=>{let[ue,Te]=s?ws(D,se,p):[0,0],S=re(Number($.x))+ue,ce=_($.y)+Te;return jsxRuntime.jsx("circle",{cx:S,cy:ce,r:n,fill:X,fillOpacity:o,stroke:X,strokeWidth:1,strokeOpacity:.5,className:i("chart-scatter-dot",g&&"chart-scatter-dot--animate"),style:{color:X},onMouseMove:oe=>pe(oe,l.name,$.x,$.y,X),onMouseLeave:()=>N(null),onTouchStart:oe=>Y(oe,l.name,$.x,$.y,X),onTouchEnd:()=>N(null)},se)})},l.id)}),jsxRuntime.jsx("line",{x1:v.plotLeft,x2:v.plotLeft,y1:v.plotTop,y2:v.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("line",{x1:v.plotLeft,x2:v.plotRight,y1:v.plotBottom,y2:v.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),j.map(l=>{let D=_(l);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:v.plotLeft-4,x2:v.plotLeft,y1:D,y2:D,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:v.plotLeft-6,y:D,textAnchor:"end",dominantBaseline:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Pe(l,r?.format)})]},l)}),de.map(l=>{let D=re(l);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:D,x2:D,y1:v.plotBottom,y2:v.plotBottom+4,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:D,y:v.plotBottom+14,textAnchor:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Pe(l,t?.format)})]},l)}),r?.label&&jsxRuntime.jsx("text",{x:-(v.plotTop+v.plotHeight/2),y:14,textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",transform:"rotate(-90)",children:r.label}),t?.label&&jsxRuntime.jsx("text",{x:v.plotLeft+v.plotWidth/2,y:v.height-4,textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",children:t.label})]});return jsxRuntime.jsxs("div",{ref:f,className:i(dt(),T),children:[u&&jsxRuntime.jsx("h3",{className:"mb-2 text-sm font-semibold text-primary-700 dark:text-primary-200",children:u}),x&&m==="top"&&jsxRuntime.jsx(In,{items:V,position:"top",onToggle:E}),jsxRuntime.jsxs("div",{className:i("flex items-start",me&&"gap-0"),children:[x&&m==="left"&&jsxRuntime.jsx(In,{items:V,position:"left",onToggle:E}),jsxRuntime.jsx("div",{ref:w,className:"flex-1 min-w-0 overflow-hidden",children:G?W:jsxRuntime.jsx("div",{className:"flex items-center justify-center text-secondary-400 dark:text-secondary-500",style:{height:c},children:d})}),x&&m==="right"&&jsxRuntime.jsx(In,{items:V,position:"right",onToggle:E})]}),x&&m==="bottom"&&jsxRuntime.jsx(In,{items:V,position:"bottom",onToggle:E}),k&&jsxRuntime.jsxs("div",{className:pt(),style:{left:k.x,top:k.y},role:"tooltip",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5 mb-1",children:[jsxRuntime.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:k.color}}),jsxRuntime.jsx("span",{className:"font-medium",children:k.seriesName})]}),jsxRuntime.jsxs("div",{className:"text-primary-300",children:["X: ",jsxRuntime.jsx("span",{className:"font-medium text-primary-50",children:k.xVal})," ","Y: ",jsxRuntime.jsx("span",{className:"font-medium text-primary-50",children:k.yVal})]})]})]})}var Ep={LineChart:Pa,BarChart:Va,PieChart:Ha,ScatterChart:za},Ba=Ep;var Pp={Primitives:no,Layout:lo,DataDisplay:ko,Navigation:So,Disclosure:Vo,Overlay:Oo,Feedback:Qo,Extras:ba,Forms:ka,Chart:Ba},wx=Pp;exports.Accordion=Eo;exports.AccordionContent=Ac;exports.AccordionItem=Hc;exports.AccordionTrigger=Fc;exports.Alert=Yo;exports.AlertContent=hd;exports.AlertDescription=bd;exports.AlertIcon=gd;exports.AlertTitle=fd;exports.Badge=Gn;exports.BarChart=Va;exports.Button=Yt;exports.Card=oo;exports.CardContent=wl;exports.CardDescription=vl;exports.CardFooter=kl;exports.CardHeader=xl;exports.CardTitle=yl;exports.Chart=Ba;exports.Chat=bo;exports.Checkbox=eo;exports.CinePlayer=ia;exports.CodeBlock=wo;exports.DataDisplay=ko;exports.DataTable=Xl;exports.Dialog=Lr;exports.DialogClose=ed;exports.DialogContent=Fo;exports.DialogDescription=Bo;exports.DialogFooter=_o;exports.DialogHeader=Ao;exports.DialogTitle=zo;exports.Disclosure=Vo;exports.Dropdown=On;exports.DropdownButton=qt;exports.Extras=ba;exports.Feedback=Qo;exports.FileExplorer=pa;exports.FilmReel=ra;exports.Form=wa;exports.FormItem=wp;exports.FormSection=kp;exports.Forms=ka;exports.Header=Ro;exports.HorizontalCard=Nl;exports.ImageCard=ao;exports.ImageCardActions=Sl;exports.ImageCardBody=Tl;exports.ImageCardDescription=Ml;exports.ImageCardTitle=Rl;exports.Indicator=Un;exports.Input=Zn;exports.Label=qn;exports.Layout=lo;exports.LineChart=Pa;exports.List=fo;exports.ListItem=Gl;exports.Masonry=ha;exports.MiniPlayer=oa;exports.NavLink=Mo;exports.Navigation=So;exports.Overlay=Oo;exports.Panel=io;exports.PanelContent=El;exports.PanelHeader=Ll;exports.PieChart=Ha;exports.Primitives=no;exports.ProgressBar=qo;exports.Radio=ro;exports.RadioGroup=to;exports.ScatterChart=za;exports.SideNav=To;exports.SortableTable=Kl;exports.Spin=Jo;exports.Switch=Qn;exports.TabContent=Wc;exports.TabList=$c;exports.TabPanels=Kc;exports.TabTrigger=Oc;exports.Table=kr;exports.TableBody=po;exports.TableCell=Ht;exports.TableEmpty=uo;exports.TableHead=It;exports.TableHeader=mo;exports.TableRow=wr;exports.Tabs=Po;exports.TextBox=Jn;exports.Tooltip=$o;exports.Tree=go;exports.TreeItem=tc;exports.TypewriterText=Tn;exports.accordionContentVariants=on;exports.accordionTriggerVariants=nn;exports.accordionVariants=an;exports.alertVariants=Er;exports.badgeVariants=Ir;exports.buttonVariants=Xt;exports.cardVariants=br;exports.chartContainerVariants=dt;exports.chartLegendVariants=mt;exports.chartTooltipVariants=pt;exports.checkboxVariants=Ar;exports.cn=i;exports.codeBlockVariants=yr;exports.configureAlertTopOffset=wd;exports.default=wx;exports.dialogContentVariants=Sr;exports.indicatorVariants=Hr;exports.inputVariants=jt;exports.labelVariants=Fr;exports.listItemVariants=Ur;exports.listVariants=Gr;exports.navLinkVariants=tn;exports.panelVariants=jr;exports.progressBarVariants=pn;exports.radioVariants=zr;exports.spinVariants=rr;exports.switchTrackVariants=Br;exports.tabListVariants=sn;exports.tabTriggerVariants=ln;exports.tableVariants=Yr;exports.tooltipVariants=mn;exports.treeItemVariants=qr;exports.useAlert=Ld;exports.useSpin=Od;
84
+ `}),jsxRuntime.jsx(Jr,{open:fe,onOpenChange:$,children:jsxRuntime.jsxs(Ba,{size:"sm",children:[jsxRuntime.jsxs(za,{children:[jsxRuntime.jsxs($a,{children:[jsxRuntime.jsx(lucideReact.AlertTriangle,{className:"text-danger-500"}),"Confirm Deletion"]}),jsxRuntime.jsxs(Oa,{children:[R.size===1?`Are you sure you want to delete "${ee[Array.from(R)[0]]?.name}"?`:`Are you sure you want to delete ${R.size} selected items?`," ","This action cannot be undone."]})]}),jsxRuntime.jsxs(Ka,{children:[jsxRuntime.jsx(dr,{intent:"ghost",onClick:()=>$(false),children:"Cancel"}),jsxRuntime.jsxs(dr,{intent:"danger",onClick:()=>{let S=Array.from(R).map(se=>ee[se]).filter(Boolean);p?.(S),D(new Set),V(null),$(false);},children:[jsxRuntime.jsx(lucideReact.Trash2,{className:"h-4 w-4"}),"Delete"]})]})]})})]})}function Sr({label:e,value:t,mono:r}){return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"mb-0.5 font-semibold uppercase tracking-wider text-(--fe-text-muted)",children:e}),jsxRuntime.jsx("div",{className:i("text-(--fe-text) break-all leading-snug",r&&"font-mono text-[9px]"),children:t})]})}function cf(e,t){let r=t.getBoundingClientRect(),n=Math.max(r.width,r.height)*1.2,o=e.clientX-r.left,s=e.clientY-r.top,a=document.createElement("span");a.className="masonry-ripple",a.style.width=`${n}px`,a.style.height=`${n}px`,a.style.left=`${o}px`,a.style.top=`${s}px`,t.appendChild(a),a.addEventListener("animationend",()=>a.remove());}function Ns({columns:e,columnWidth:t=240,gap:r=16,items:n,onItemClick:o,className:s,style:a,children:l,...d}){let m=Kr.useRef(null),c=Kr.useRef([]),[f,p]=Kr.useState(()=>e??1),[u,h]=Kr.useState([]),[g,x]=Kr.useState(0),w=n?n.map((R,D)=>({key:R.key??D,node:R.content})):Kr__default.default.Children.toArray(l).map((R,D)=>({key:R.key??D,node:R})),y=w.length,M=Kr.useCallback(R=>e??Math.max(1,Math.floor((R+r)/(t+r))),[e,t,r]),v=Kr.useCallback(()=>{let R=m.current;if(!R)return;let D=R.clientWidth,A=M(D);p(A);let V=(D-(A-1)*r)/A,k=new Array(A).fill(0),O=[];for(let X=0;X<y;X++){let T=c.current[X],re=T?T.offsetHeight:0,_=0;for(let de=1;de<A;de++)k[de]<k[_]&&(_=de);O.push({top:k[_],left:_*(V+r),width:V}),k[_]+=re+r;}let C=Math.max(0,...k)-(y?r:0);h(O),x(C);},[y,M,r]);Kr.useEffect(()=>{let R=m.current;if(!R)return;let D=new ResizeObserver(()=>v());return D.observe(R),()=>D.disconnect()},[v]),Kr.useEffect(()=>{let R=requestAnimationFrame(v);return ()=>cancelAnimationFrame(R)},[v]),Kr.useEffect(()=>{let R=new ResizeObserver(()=>v());return c.current.forEach(D=>{D&&R.observe(D);}),()=>R.disconnect()},[y,f,v]);let N=Kr.useCallback((R,D)=>{let A=R.currentTarget;cf(R,A),o?.(n?.[D],D);},[o,n]),L=R=>{if(!n)return false;let D=n[R];return !!(D.title||D.description||D.actions)};return jsxRuntime.jsx("div",{ref:m,className:i("relative",s),style:{...a,height:g},...d,children:w.map((R,D)=>jsxRuntime.jsxs("div",{ref:A=>{c.current[D]=A;},className:"masonry-item",role:"button",tabIndex:0,onClick:A=>N(A,D),onKeyDown:A=>{(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),o?.(n?.[D],D));},style:{position:"absolute",top:u[D]?.top??0,left:u[D]?.left??0,width:u[D]?.width??"100%"},children:[R.node,L(D)&&jsxRuntime.jsxs("div",{className:"masonry-item-overlay",children:[n[D].title&&jsxRuntime.jsx("p",{className:"masonry-item-overlay-title",children:n[D].title}),n[D].description&&jsxRuntime.jsx("p",{className:"masonry-item-overlay-desc",children:n[D].description}),n[D].actions&&jsxRuntime.jsx("div",{className:"masonry-item-overlay-actions",children:n[D].actions})]})]},R.key))})}function ko({text:e="",mode:t="typewriter",speed:r=40,cursor:n=true,cursorChar:o="\u258B",thinking:s=false,streaming:a=false,delay:l=0,onComplete:d,as:m="span",className:c}){let[f,p]=Kr.useState(t==="instant"?e:""),[u,h]=Kr.useState(false),[g,x]=Kr.useState(t==="instant"),[w,y]=Kr.useState(false),M=Kr.useRef(0),v=Kr.useRef(d);v.current=d;let N=Kr.useRef(e);N.current=e,Kr.useEffect(()=>{if(t!=="typewriter")return;if(p(""),x(false),y(false),h(false),!e){x(true);return}let V=Math.max(10,1e3/r),k=0,O,C=()=>{h(true),O=setInterval(()=>{let T=N.current;k++,p(T.slice(0,k)),k>=T.length&&(clearInterval(O),h(false),x(true),v.current?.());},V);},X;return l>0?X=setTimeout(C,l):C(),()=>{clearTimeout(X),clearInterval(O);}},[e,t]),Kr.useEffect(()=>{if(t!=="stream")return;if(e.length===0){M.current=0,p(""),h(false),x(false),y(false);return}if(e.length<=M.current)return;let V=Math.max(10,1e3/r),k=M.current;h(true),x(false),y(false);let O=setInterval(()=>{k++,M.current=k,p(N.current.slice(0,k)),k>=N.current.length&&(clearInterval(O),h(false),v.current?.());},V);return ()=>clearInterval(O)},[e,t]),Kr.useEffect(()=>{t==="instant"&&(p(e),h(false),x(true));},[e,t]);let L=Kr.useRef(a);Kr.useEffect(()=>{let V=L.current;if(L.current=a,V&&!a&&!u&&t==="stream"){y(true);let k=setTimeout(()=>{y(false),x(true);},650);return ()=>clearTimeout(k)}},[a,u,t]);let R=n&&(s||u||w||t==="stream"&&a&&!g||t==="typewriter"&&!g),D=s?"tw-cursor--blink":u?"tw-cursor--solid":w?"tw-cursor--out":"tw-cursor--blink";return jsxRuntime.jsxs(m,{className:i(c),children:[s&&!f&&jsxRuntime.jsx("span",{"aria-hidden":"true",children:"\u200B"}),f,R&&jsxRuntime.jsx("span",{className:i("tw-cursor",D),"aria-hidden":"true",children:o})]})}function wo(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function mf(e,t){if(!t)return true;let r=wo(t);return wo(e.label).includes(r)||(e.description?wo(e.description).includes(r):false)||(e.keywords?e.keywords.some(n=>wo(n).includes(r)):false)}function pf(e){let t=new Map;for(let r of e){let n=r.group??"";t.has(n)||t.set(n,[]),t.get(n).push(r);}return Array.from(t.entries()).map(([r,n])=>({label:r,items:n}))}function Rl(e,t,r,n){let[o,s]=Kr.useState(""),[a,l]=Kr.useState(0);Kr.useEffect(()=>{t&&(s(""),l(0));},[t]);let d=Kr.useMemo(()=>e.filter(p=>!p.disabled&&mf(p,o)),[e,o]),m=Kr.useMemo(()=>pf(d),[d]);Kr.useEffect(()=>{l(p=>Math.min(p,Math.max(0,d.length-1)));},[d.length]);let c=Kr.useCallback(()=>{let p=d[a];p&&(p.onSelect(),r(false));},[d,a,r]),f=Kr.useCallback(p=>{switch(p.key){case "ArrowDown":p.preventDefault(),l(u=>(u+1)%Math.max(1,d.length));break;case "ArrowUp":p.preventDefault(),l(u=>(u-1+Math.max(1,d.length))%Math.max(1,d.length));break;case "Enter":p.preventDefault(),c();break;case "Escape":p.preventDefault(),r(false);break}},[d.length,c,r]);return Kr.useEffect(()=>{if(!n)return;function p(u){(u.metaKey||u.ctrlKey)&&u.key==="k"&&(u.preventDefault(),r(!t));}return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[n,t,r]),{query:o,setQuery:s,groups:m,filtered:d,activeIndex:a,setActiveIndex:l,handleKeyDown:f}}function No({open:e,onOpenChange:t,commands:r,placeholder:n="Type a command or search\u2026",hotkey:o=true,maxItems:s=8,className:a}){let l=Kr.useRef(null),d=Kr.useRef(null),{query:m,setQuery:c,groups:f,filtered:p,activeIndex:u,setActiveIndex:h,handleKeyDown:g}=Rl(r,e,t,o);if(Kr.useEffect(()=>{if(e){let w=setTimeout(()=>l.current?.focus(),40);return ()=>clearTimeout(w)}},[e]),Kr.useEffect(()=>{d.current?.querySelector("[data-active='true']")?.scrollIntoView({block:"nearest"});},[u]),!e)return null;let x=0;return reactDom.createPortal(jsxRuntime.jsx("div",{className:"cmd-backdrop fixed inset-0 z-50 flex items-start justify-center pt-[15vh]",onClick:()=>t(false),role:"presentation",children:jsxRuntime.jsxs("div",{className:i("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",a),onClick:w=>w.stopPropagation(),onKeyDown:g,role:"dialog","aria-label":"Command palette","aria-modal":"true",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3 border-b border-primary-100 px-4 dark:border-primary-700",children:[jsxRuntime.jsx(lucideReact.Search,{className:"h-4 w-4 shrink-0 text-secondary-400","aria-hidden":"true"}),jsxRuntime.jsx("input",{ref:l,value:m,onChange:w=>c(w.target.value),placeholder:n,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":p[u]?`cmd-item-${p[u].id}`:void 0,spellCheck:false,autoComplete:"off"}),jsxRuntime.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"})]}),jsxRuntime.jsx("div",{id:"cmd-results",ref:d,className:"overflow-y-auto py-2",style:{maxHeight:`${s*2.75}rem`},role:"listbox","aria-label":"Commands",children:p.length===0?jsxRuntime.jsxs("div",{className:"flex flex-col items-center gap-2 py-8 text-sm text-secondary-400",children:[jsxRuntime.jsx(lucideReact.Command,{className:"h-8 w-8 opacity-30"}),jsxRuntime.jsx("span",{children:"No commands found"})]}):f.map(w=>jsxRuntime.jsxs("div",{className:"mb-1 last:mb-0",children:[w.label&&jsxRuntime.jsx("p",{className:"px-4 pb-1 pt-2 text-xs font-semibold uppercase tracking-wide text-secondary-400 dark:text-secondary-500",children:w.label}),w.items.map(y=>{let M=x++,v=M===u;return jsxRuntime.jsxs("button",{id:`cmd-item-${y.id}`,"data-active":v,role:"option","aria-selected":v,className:i("cmd-item group flex w-full items-center gap-3 px-4 py-2.5 text-left text-sm",v?"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:()=>h(M),onClick:()=>{y.onSelect(),t(false);},children:[y.icon&&jsxRuntime.jsx("span",{className:i("flex h-7 w-7 shrink-0 items-center justify-center rounded-md border text-xs",v?"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:y.icon}),jsxRuntime.jsxs("span",{className:"min-w-0 flex-1",children:[jsxRuntime.jsx("span",{className:"block truncate font-medium",children:y.label}),y.description&&jsxRuntime.jsx("span",{className:"block truncate text-xs text-secondary-400 dark:text-secondary-500",children:y.description})]}),y.shortcut&&jsxRuntime.jsx("span",{className:"flex shrink-0 items-center gap-0.5",children:y.shortcut.map((N,L)=>jsxRuntime.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:N},L))})]},y.id)})]},w.label||"_default"))}),p.length>0&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between border-t border-primary-100 px-4 py-2 dark:border-primary-700",children:[jsxRuntime.jsxs("span",{className:"text-xs text-secondary-400",children:[p.length," result",p.length!==1?"s":""]}),jsxRuntime.jsxs("span",{className:"flex items-center gap-3 text-xs text-secondary-400",children:[jsxRuntime.jsxs("span",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("kbd",{className:"rounded border border-primary-200 px-1 dark:border-primary-700",children:"\u2191"}),jsxRuntime.jsx("kbd",{className:"rounded border border-primary-200 px-1 dark:border-primary-700",children:"\u2193"}),"Navigate"]}),jsxRuntime.jsxs("span",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("kbd",{className:"rounded border border-primary-200 px-1 dark:border-primary-700",children:"\u21B5"}),"Select"]})]})]})]})}),document.body)}var El={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"},Dl={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 Vl({status:e,icon:t}){return t?jsxRuntime.jsx(jsxRuntime.Fragment,{children:t}):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 Il({images:e,title:t}){let r=e.slice(0,4),n=e.length>4?e.length-4:0,o=(s,a,l)=>jsxRuntime.jsxs("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:i("relative block overflow-hidden",l),onClick:d=>d.stopPropagation(),children:[jsxRuntime.jsx("img",{src:s,alt:`${t} ${a+1}`,className:"h-full w-full object-cover transition-transform duration-300 hover:scale-105"}),a===r.length-1&&n>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:["+",n]})})]},a);return r.length===0?null:r.length===1?jsxRuntime.jsx("div",{className:"mt-2.5 h-36 overflow-hidden rounded-xl",children:o(r[0],0,"h-full")}):r.length===2?jsxRuntime.jsx("div",{className:"mt-2.5 grid h-28 grid-cols-2 gap-0.5 overflow-hidden rounded-xl",children:r.map((s,a)=>o(s,a))}):r.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:[o(r[0],0,"row-span-2"),o(r[1],1),o(r[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:r.map((s,a)=>o(s,a))})}function Al({actions:e}){let t=e.filter(a=>a.variant!=="primary"),r=e.filter(a=>a.variant==="primary"),n="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",o="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",s=(a,l,d)=>a.href?jsxRuntime.jsxs("a",{href:a.href,target:"_blank",rel:"noopener noreferrer",className:d,onClick:m=>m.stopPropagation(),children:[a.icon,a.label]},l):jsxRuntime.jsxs("button",{type:"button",onClick:a.onClick,className:d,children:[a.icon,a.label]},l);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:[t.map((a,l)=>s(a,l,n)),r.length>0&&jsxRuntime.jsx("span",{className:"flex-1"}),r.map((a,l)=>s(a,l,o))]})}function Hl({item:e,isActive:t,animated:r,visible:n,orientation:o}){let s=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"}[s],l={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"}[s],d=t?"shadow-lg shadow-primary-300/30 dark:shadow-primary-500/20":s==="complete"?"shadow-md shadow-success-300/20 dark:shadow-success-400/10":s==="error"?"shadow-md shadow-danger-300/20 dark:shadow-danger-400/10":"shadow-sm shadow-primary-100/50 dark:shadow-black/20",m=s==="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%)":s==="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,c={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"}[s];return jsxRuntime.jsxs("div",{className:i("relative isolate",r&&"transition-all duration-700",r?n?"opacity-100 translate-y-0":o==="vertical"?"opacity-0 translate-y-6":"opacity-0 translate-x-6":"",o==="horizontal"?"w-56 shrink-0":"flex-1",e.className),children:[!t&&m&&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:m,filter:"blur(14px)",opacity:.22},"aria-hidden":true}),t&&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:i("relative overflow-hidden rounded-2xl border backdrop-blur-[2px]",t?"border-transparent":i("border",l),a,d),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:p=>p.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:i("mb-2 inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-[0.65rem] font-semibold tracking-wide",c),children:e.date}),jsxRuntime.jsx("h3",{className:i("text-sm font-semibold leading-snug",t?"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(Il,{images:e.images,title:e.title}),e.actions&&e.actions.length>0&&jsxRuntime.jsx(Al,{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:i("p-4",(e.image||e.svg)&&"pt-3"),children:[e.date&&jsxRuntime.jsx("span",{className:i("mb-2.5 inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-[0.65rem] font-semibold tracking-wide",c),children:e.date}),jsxRuntime.jsx("h3",{className:i("text-sm font-semibold leading-snug",t?"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(Il,{images:e.images,title:e.title}),e.actions&&e.actions.length>0&&jsxRuntime.jsx(Al,{actions:e.actions})]})]})})]})}function Rs({items:e,orientation:t="vertical",activeIndex:r,animated:n=true,lineStyle:o="solid",className:s}){let a=Kr.useRef(null),l=Kr.useRef([]),[d,m]=Kr.useState(new Set);Kr.useEffect(()=>{if(!n){m(new Set(e.map((p,u)=>u)));return}let f=new IntersectionObserver(p=>{m(u=>{let h=new Set(u);return p.forEach(g=>{let x=Number(g.target.dataset.idx);g.isIntersecting&&h.add(x);}),h});},{threshold:.15});return l.current.forEach(p=>p&&f.observe(p)),()=>f.disconnect()},[e,n]),Kr.useEffect(()=>{if(r==null)return;let f=l.current[r];f&&f.scrollIntoView({behavior:"smooth",block:"center",inline:"center"});},[r]);let c=o==="dashed"?"border-dashed":"";return t==="vertical"?jsxRuntime.jsxs("div",{ref:a,className:i("relative",s),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((f,p)=>{let u=f.status??"pending",h=p===r;return jsxRuntime.jsxs("div",{ref:g=>{l.current[p]=g;},"data-idx":p,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:i("flex h-10 w-10 items-center justify-center rounded-full border-2 transition-all duration-300 [&_svg]:shrink-0",El[u],h&&Dl[u]),children:jsxRuntime.jsx(Vl,{status:u,icon:f.icon})})}),jsxRuntime.jsx(Hl,{item:f,isActive:h,animated:n,visible:d.has(p),orientation:"vertical"})]},f.id??p)})})]}):jsxRuntime.jsx("div",{ref:a,className:i("relative overflow-x-auto pb-4",s),children:jsxRuntime.jsx("div",{className:"flex min-w-max gap-6 px-4",children:e.map((f,p)=>{let u=f.status??"pending",h=p===r,g=p===e.length-1;return jsxRuntime.jsxs("div",{ref:x=>{l.current[p]=x;},"data-idx":p,className:"relative flex flex-col items-center gap-3",children:[jsxRuntime.jsxs("div",{className:"flex items-center",children:[jsxRuntime.jsx("div",{className:i("flex h-10 w-10 items-center justify-center rounded-full border-2 transition-all duration-300 z-10 [&_svg]:shrink-0",El[u],h&&Dl[u]),children:jsxRuntime.jsx(Vl,{status:u,icon:f.icon})}),!g&&jsxRuntime.jsx("div",{className:i("h-px w-28 border-t-2",c,u==="complete"?"border-success-400":"border-primary-200 dark:border-primary-700")})]}),jsxRuntime.jsx(Hl,{item:f,isActive:h,animated:n,visible:d.has(p),orientation:"horizontal"})]},f.id??p)})})})}var kf={FilmReel:cs,MiniPlayer:ms,CinePlayer:us,FileExplorer:ys,Masonry:Ns,TypewriterText:ko,CommandPalette:No,Timeline:Rs},Ms=kf;var Fl=classVarianceAuthority.cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}});classVarianceAuthority.cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}});var _l=classVarianceAuthority.cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});var Ls=Kr.createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),Pf={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},Ol={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function Es({children:e,className:t,intent:r,size:n="md",layout:o="stacked",title:s,description:a,footer:l,onValues:d,onSubmit:m,...c}){let f=Pf[n??"md"],[p,u]=Kr.useState({}),h=Kr.useCallback(g=>{if(g.preventDefault(),m?.(g),d){let x=Object.fromEntries(new FormData(g.currentTarget).entries()),w=d(x,g),y=M=>{if(!M)return;let v={};for(let[N,{result:L,reason:R}]of Object.entries(M))R&&(v[N]={status:L?"success":"error",message:R});u(v);};w instanceof Promise?w.then(y).catch(()=>{}):y(w);}},[m,d]);return jsxRuntime.jsx(Ls.Provider,{value:{layout:o??"stacked",size:n??"md",labelWidth:f,bulkErrors:p},children:jsxRuntime.jsxs("form",{className:i(Fl({intent:r,size:n}),"flex flex-col",t),onSubmit:h,...c,children:[(s||a)&&jsxRuntime.jsxs("div",{className:"mb-(--form-header-mb)",children:[s&&jsxRuntime.jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:s}),a&&jsxRuntime.jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:a})]}),jsxRuntime.jsx("div",{className:i("flex flex-col",Ol[n??"md"]),children:e}),l&&jsxRuntime.jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:l})]})})}var Sf={error:jsxRuntime.jsx(lucideReact.AlertCircle,{}),warning:jsxRuntime.jsx(lucideReact.AlertTriangle,{}),success:jsxRuntime.jsx(lucideReact.CheckCircle,{}),hint:jsxRuntime.jsx(lucideReact.Info,{})};function Lf({label:e,layout:t,required:r,hint:n,validation:o,name:s,onValidate:a,className:l,children:d}){let m=Kr.useContext(Ls),c=Kr.useId(),[f,p]=Kr.useState(void 0),u=s?m.bulkErrors[s]:void 0,h=o??f??u,x=(t??m.layout)==="inline",w=Kr.useCallback(L=>{let R=L!=null&&typeof L=="object"&&"target"in L?L.target.value:L;if(s&&m.bulkErrors[s]&&(m.bulkErrors[s]=void 0),!a){p(void 0);return}let{result:D,reason:A}=a(R);p(A?{status:D?"success":"error",message:A}:void 0);},[a,s,m.bulkErrors]),y=h?`${c}-validation`:n?`${c}-hint`:void 0,M=Kr__default.default.Children.map(d,(L,R)=>{if(R!==0||!Kr__default.default.isValidElement(L))return L;let D=L,A={};if(D.props.id||(A.id=c),y&&!D.props["aria-describedby"]&&(A["aria-describedby"]=y),h?.status==="error"&&!D.props["aria-invalid"]&&(A["aria-invalid"]=true),s&&!D.props.name&&(A.name=s),a){let V=D.props.onChange;A.onChange=k=>{V?.(k),w(k);};}return Object.keys(A).length?Kr__default.default.cloneElement(D,A):L}),v=e!=null&&jsxRuntime.jsx("label",{htmlFor:c,className:i("shrink-0 text-sm font-medium","text-primary-700 dark:text-primary-300",r&&"after:ml-0.5 after:text-danger-500 after:content-['*']",x&&"pt-1.75"),style:x?{width:m.labelWidth,minWidth:m.labelWidth}:void 0,children:e}),N=o?`${c}-validation`:n?`${c}-hint`:void 0;return jsxRuntime.jsxs("div",{className:i("flex w-full flex-col gap-1.5",x&&"md:flex-row md:items-start md:gap-(--form-item-gap-md)",l),children:[v,jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[M,h&&jsxRuntime.jsxs("p",{id:`${c}-validation`,className:i(_l({status:h.status})),role:h.status==="error"?"alert":void 0,children:[Sf[h.status],jsxRuntime.jsx("span",{children:h.message})]}),n&&jsxRuntime.jsx("p",{id:N===`${c}-hint`?N:void 0,className:"mt-1 text-xs text-primary-400 dark:text-primary-500",children:n})]})]})}function Ef({title:e,description:t,className:r,children:n}){let{size:o}=Kr.useContext(Ls);return jsxRuntime.jsxs("fieldset",{className:i("flex flex-col rounded-(--form-radius) border border-primary-200 p-4 dark:border-primary-700",Ol[o],r),children:[(e||t)&&jsxRuntime.jsxs("legend",{className:"px-1.5 pb-1",children:[e&&jsxRuntime.jsx("span",{className:"text-sm font-semibold text-primary-700 dark:text-primary-300",children:e}),t&&jsxRuntime.jsx("span",{className:"ml-2 text-xs text-primary-400 dark:text-primary-500",children:t})]}),n]})}var Df={Form:Es},Ds=Df;var vt=classVarianceAuthority.cva("relative w-full font-sans select-none",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),kt=classVarianceAuthority.cva("flex flex-wrap gap-3 items-center justify-center",{variants:{position:{top:"mb-3",bottom:"mt-3",left:"flex-col mr-4",right:"flex-col ml-4"}},defaultVariants:{position:"bottom"}}),wt=classVarianceAuthority.cva("absolute z-50 pointer-events-none px-3 py-2 rounded-lg text-xs shadow-lg border transition-opacity duration-150 bg-primary-900 text-primary-50 border-primary-700 dark:bg-primary-950 dark:border-primary-800");function _t(e){let[t,r]=Kr.useState(()=>new Set(e)),n=Kr.useCallback(a=>{r(l=>{let d=new Set(l);return d.has(a)?d.delete(a):d.add(a),d});},[]),o=Kr.useCallback(a=>t.has(a),[t]),s=Kr.useCallback(()=>{r(new Set(e));},[e]);return {visible:t,toggle:n,isVisible:o,showAll:s}}function Bt(e){let t=["var(--color-chart-1)","var(--color-chart-2)","var(--color-chart-3)","var(--color-chart-4)","var(--color-chart-5)","var(--color-chart-6)","var(--color-chart-7)","var(--color-chart-8)"];return Array.from({length:e},(r,n)=>t[n%t.length])}function zt(e,t,r=.1){if(e===t)return [e-1,t+1];let o=(t-e)*r;return [Math.floor(e-o),Math.ceil(t+o)]}function Lr(e,t,r){if(r<=1)return [e];let n=(t-e)/(r-1);return Array.from({length:r},(o,s)=>+(e+s*n).toFixed(10))}function Ve(e,t){return t?t(e):typeof e=="number"?Math.abs(e)>=1e6?`${(e/1e6).toFixed(1)}M`:Math.abs(e)>=1e3?`${(e/1e3).toFixed(1)}K`:Number.isInteger(e)?e.toString():e.toFixed(2):String(e)}function st(e,t,r,n){let o=(n-90)*Math.PI/180;return {x:e+r*Math.cos(o),y:t+r*Math.sin(o)}}function $t(e,t,r){return {top:20,right:r?65:20,bottom:e?52:36,left:t?65:52}}function Ot(e,t,r){let n=Math.max(e,120);return {width:n,height:t,margins:r,plotLeft:r.left,plotTop:r.top,plotRight:n-r.right,plotBottom:t-r.bottom,plotWidth:Math.max(n-r.left-r.right,10),plotHeight:Math.max(t-r.top-r.bottom,10)}}function Kl(e,t){let r=new Set,n=[];for(let o of e)if(t.has(o.id))for(let s of o.data){let a=String(s.x);r.has(a)||(r.add(a),n.push(a));}return n}function As(e,t,r){let n=1/0,o=-1/0;for(let l of e)if(t.has(l.id))for(let d of l.data)d.y<n&&(n=d.y),d.y>o&&(o=d.y);if(!isFinite(n))return [0,1];let[s,a]=zt(n,o);return [r?.min??s,r?.max??a]}function Co(e,t){let[r,n]=e,[o,s]=t;return n===r?()=>(o+s)/2:a=>o+(a-r)/(n-r)*(s-o)}function To(e,t){let r=e.length;if(r===0)return ()=>(t[0]+t[1])/2;let n=(t[1]-t[0])/r;return o=>{let s=e.indexOf(o);return s<0?(t[0]+t[1])/2:t[0]+s*n+n/2}}function Xl(e,t,r){return e.map(n=>`${t(n.x).toFixed(2)},${r(n.y).toFixed(2)}`).join(" ")}function Hs(e,t,r){if(e.length===0)return "";let n=e.map(a=>({x:t(a.x),y:r(a.y)}));if(n.length===1)return `M ${n[0].x.toFixed(2)} ${n[0].y.toFixed(2)}`;let o=.5,s=`M ${n[0].x.toFixed(2)} ${n[0].y.toFixed(2)}`;for(let a=0;a<n.length-1;a++){let l=a===0?{x:2*n[0].x-n[1].x,y:2*n[0].y-n[1].y}:n[a-1],d=n[a],m=n[a+1],c=a+2<n.length?n[a+2]:{x:2*n[n.length-1].x-n[n.length-2].x,y:2*n[n.length-1].y-n[n.length-2].y},f=d.x+(m.x-l.x)*o/3,p=d.y+(m.y-l.y)*o/3,u=m.x-(c.x-d.x)*o/3,h=m.y-(c.y-d.y)*o/3;s+=` C ${f.toFixed(2)} ${p.toFixed(2)}, ${u.toFixed(2)} ${h.toFixed(2)}, ${m.x.toFixed(2)} ${m.y.toFixed(2)}`;}return s}function jl(e,t,r,n,o){if(e.length===0)return "";let s=n?Hs(e,t,r):`M ${e.map(d=>`${t(d.x).toFixed(2)},${r(d.y).toFixed(2)}`).join(" L ")}`,a=t(e[e.length-1].x).toFixed(2),l=t(e[0].x).toFixed(2);return `${s} L ${a},${o.toFixed(2)} L ${l},${o.toFixed(2)} Z`}function Ro(e,t=5){return Lr(e[0],e[1],t)}function Fs(e,t,r){if(t.length===0)return -1;let n=1/0,o=0;for(let s=0;s<t.length;s++){let a=Math.abs(r(t[s])-e);a<n&&(n=a,o=s);}return o}function _s(e,t){return e.data.find(r=>String(r.x)===t)?.y}function Wl(e){for(let t of e)for(let r of t.data)if(typeof r.x=="string")return true;return false}function Mo({items:e,position:t,onToggle:r}){return jsxRuntime.jsx("div",{className:kt({position:t}),children:e.map(n=>jsxRuntime.jsxs("button",{onClick:()=>r(n.id),className:i("flex items-center gap-1.5 cursor-pointer rounded px-1.5 py-1 text-xs text-primary-700 transition-opacity hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-800",!n.visible&&"opacity-40"),"aria-pressed":n.visible,children:[jsxRuntime.jsx("span",{className:"h-2.5 w-5 rounded-sm shrink-0",style:{background:n.color}}),n.label]},n.id))})}function $s({series:e,xAxis:t,yAxis:r,y2Axis:n,y2Series:o=[],smooth:s=false,showDots:a=true,area:l=false,strokeWidth:d=2,title:m,height:c=300,className:f,legend:p=true,legendPosition:u="bottom",animateOnMount:h=true,emptyText:g="No data to display"}){let x=Kr.useRef(null),w=Kr.useRef(null),[y,M]=Kr.useState(600),[v,N]=Kr.useState(null),[L,R]=Kr.useState(null);Kr.useEffect(()=>{let P=w.current;if(!P)return;let ce=P.getBoundingClientRect().width;ce>0&&M(ce);let ae=new ResizeObserver(he=>{let ge=he[0]?.contentRect.width;ge&&ge>0&&M(ge);});return ae.observe(P),()=>ae.disconnect()},[]);let D=Kr.useMemo(()=>e.map(P=>P.id),[e]),{visible:A,toggle:V,isVisible:k}=_t(D),O=Kr.useMemo(()=>Bt(e.length),[e.length]),C=Kr.useMemo(()=>new Map(e.map((P,ce)=>[P.id,P.color??O[ce]])),[e,O]),X=Kr.useMemo(()=>$t(!!t?.label,!!r?.label,!!n),[t?.label,r?.label,n]),T=Kr.useMemo(()=>Ot(y,c,X),[y,c,X]),re=Kr.useMemo(()=>Wl(e),[e]),_=Kr.useMemo(()=>re?Kl(e,A):[],[e,A,re]),de=Kr.useMemo(()=>{if(re){let ge=To(_,[T.plotLeft,T.plotRight]);return Me=>ge(Me)}let P=e.flatMap(ge=>ge.data.map(Me=>Me.x));if(P.length===0)return ()=>T.plotLeft;let ce=Math.min(...P),ae=Math.max(...P),he=Co([ce,ae],[T.plotLeft,T.plotRight]);return ge=>he(ge)},[e,re,_,T]),J=Kr.useMemo(()=>As(e,A,r),[e,A,r]),pe=Kr.useMemo(()=>Co(J,[T.plotBottom,T.plotTop]),[J,T]),fe=Kr.useMemo(()=>Ro(J,r?.tickCount??5),[J,r?.tickCount]),$=Kr.useMemo(()=>{if(!n)return null;let P=e.filter(ce=>o.includes(ce.id));return As(P,A,n)},[n,e,o,A]),U=Kr.useMemo(()=>$?Co($,[T.plotBottom,T.plotTop]):null,[$,T]),me=Kr.useMemo(()=>$?Ro($,n?.tickCount??5):[],[$,n?.tickCount]),j=Kr.useMemo(()=>{if(re)return _;let P=e.flatMap(he=>he.data.map(ge=>Number(ge.x)));if(P.length===0)return [];let ce=Math.min(...P),ae=Math.max(...P);return Ro([ce,ae],t?.tickCount??6)},[re,_,e,t?.tickCount]),b=Kr.useCallback(P=>{let ce=P.currentTarget.closest("svg");if(!ce)return;let ae=ce.getBoundingClientRect(),he=P.clientX-ae.left,ge=x.current?.getBoundingClientRect();if(!ge)return;let Me="",ke=he;if(re&&_.length>0){let q=To(_,[T.plotLeft,T.plotRight]),xe=Fs(he,_,q);Me=_[xe]??"",ke=q(Me);}else if(!re){let q=j;Me=Ve((he-T.plotLeft)/T.plotWidth*(q[q.length-1]-q[0])+q[0],t?.format),ke=he;}let F=e.filter(q=>k(q.id)).map(q=>{o.includes(q.id)&&U!=null?U:pe;let He;if(re)He=_s(q,Me);else {let G=he,ye=1/0,E;for(let Z of q.data){let ne=de(Z.x),H=Math.abs(ne-G);H<ye&&(ye=H,E=Z.y);}He=E;}return {name:q.name,value:He!==void 0?Ve(He,r?.format):"\u2014",color:C.get(q.id)??"var(--color-chart-1)"}});ke>=T.plotLeft&&ke<=T.plotRight&&R(ke);let ee=P.clientX-ge.left+12,z=P.clientY-ge.top-10;N({x:ee,y:z,label:Me,items:F});},[re,_,T,e,k,o,U,pe,de,j,t?.format,r?.format,C]),I=Kr.useCallback(()=>{N(null),R(null);},[]),W=Kr.useCallback(P=>{P.preventDefault();let ce=P.touches[0];if(!ce)return;let ae=P.currentTarget.closest("svg");if(!ae)return;let he=ae.getBoundingClientRect(),ge=x.current?.getBoundingClientRect();if(!ge)return;let Me=ce.clientX-he.left,ke=Me,F="";if(re&&_.length>0){let z=To(_,[T.plotLeft,T.plotRight]),q=Fs(Me,_,z);F=_[q]??"",ke=z(F);}ke>=T.plotLeft&&ke<=T.plotRight&&R(ke);let ee=e.filter(z=>k(z.id)).map(z=>({name:z.name,value:re&&F?Ve(_s(z,F)??0,r?.format):"\u2014",color:C.get(z.id)??"var(--color-chart-1)"}));N({x:ce.clientX-ge.left+12,y:ce.clientY-ge.top-10,label:F,items:ee});},[re,_,T,e,k,r?.format,C]),K=Kr.useMemo(()=>e.map((P,ce)=>({id:P.id,label:P.name,color:P.color??O[ce],visible:k(P.id)})),[e,O,k]),B=e.some(P=>P.data.length>0),Q=jsxRuntime.jsxs("svg",{role:"img","aria-label":m??"Line chart",width:T.width,height:T.height,viewBox:`0 0 ${T.width} ${T.height}`,shapeRendering:"geometricPrecision",children:[r?.gridLines!==false&&fe.map(P=>{let ce=pe(P);return jsxRuntime.jsx("line",{x1:T.plotLeft,x2:T.plotRight,y1:ce,y2:ce,stroke:"currentColor",strokeWidth:.5,strokeDasharray:"4 4",className:"text-secondary-200 dark:text-secondary-700"},P)}),l&&e.map(P=>{if(!k(P.id)||P.data.length===0)return null;let ae=o.includes(P.id)&&U!=null?U:pe,he=C.get(P.id)??"var(--color-chart-1)",ge=jl(P.data,de,ae,s,T.plotBottom);return jsxRuntime.jsx("path",{d:ge,fill:he,fillOpacity:.15,stroke:"none",className:h?"chart-area-animate":""},`area-${P.id}`)}),e.map(P=>{if(!k(P.id)||P.data.length===0)return null;let ae=o.includes(P.id)&&U!=null?U:pe,he=C.get(P.id)??"var(--color-chart-1)";return s?jsxRuntime.jsx("path",{d:Hs(P.data,de,ae),fill:"none",stroke:he,strokeWidth:d,strokeLinecap:"round",strokeLinejoin:"round",className:h?"chart-line-animate":""},P.id):jsxRuntime.jsx("polyline",{points:Xl(P.data,de,ae),fill:"none",stroke:he,strokeWidth:d,strokeLinecap:"round",strokeLinejoin:"round",className:h?"chart-line-animate":""},P.id)}),a&&e.map(P=>{if(!k(P.id))return null;let ae=o.includes(P.id)&&U!=null?U:pe,he=C.get(P.id)??"var(--color-chart-1)";return P.data.map((ge,Me)=>jsxRuntime.jsx("circle",{cx:de(ge.x),cy:ae(ge.y),r:3,fill:he,stroke:"white",strokeWidth:1.5,className:i("chart-dot",h?"chart-dot-animate":"")},`${P.id}-${Me}`))}),L!=null&&jsxRuntime.jsx("line",{className:"chart-crosshair",x1:L,x2:L,y1:T.plotTop,y2:T.plotBottom,stroke:"currentColor",strokeWidth:1,strokeDasharray:"4 4",opacity:.5,style:{color:"var(--color-secondary-400)"}}),jsxRuntime.jsx("line",{x1:T.plotLeft,x2:T.plotLeft,y1:T.plotTop,y2:T.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),fe.map(P=>{let ce=pe(P);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:T.plotLeft-4,x2:T.plotLeft,y1:ce,y2:ce,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:T.plotLeft-6,y:ce,textAnchor:"end",dominantBaseline:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Ve(P,r?.format)})]},P)}),r?.label&&jsxRuntime.jsx("text",{x:-(T.plotTop+T.plotHeight/2),y:14,textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",transform:"rotate(-90)",children:r.label}),n&&U&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("line",{x1:T.plotRight,x2:T.plotRight,y1:T.plotTop,y2:T.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),me.map(P=>{let ce=U(P);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:T.plotRight,x2:T.plotRight+4,y1:ce,y2:ce,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:T.plotRight+6,y:ce,textAnchor:"start",dominantBaseline:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Ve(P,n?.format)})]},P)}),n?.label&&jsxRuntime.jsx("text",{x:T.plotTop+T.plotHeight/2,y:-(T.width-14),textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",transform:"rotate(90)",children:n.label})]}),jsxRuntime.jsx("line",{x1:T.plotLeft,x2:T.plotRight,y1:T.plotBottom,y2:T.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),(re?_:j).map((P,ce)=>{let ae=de(P);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:ae,x2:ae,y1:T.plotBottom,y2:T.plotBottom+4,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:ae,y:T.plotBottom+14,textAnchor:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Ve(P,t?.format)})]},ce)}),t?.label&&jsxRuntime.jsx("text",{x:T.plotLeft+T.plotWidth/2,y:T.height-4,textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",children:t.label}),jsxRuntime.jsx("rect",{x:T.plotLeft,y:T.plotTop,width:T.plotWidth,height:T.plotHeight,fill:"transparent",onMouseMove:b,onMouseLeave:I,onTouchStart:W,onTouchMove:W,onTouchEnd:I,style:{cursor:"crosshair"}})]}),ve=u==="left"||u==="right";return jsxRuntime.jsxs("div",{ref:x,className:i(vt(),f),children:[m&&jsxRuntime.jsx("h3",{className:"mb-2 text-sm font-semibold text-primary-700 dark:text-primary-200",children:m}),p&&u==="top"&&jsxRuntime.jsx(Mo,{items:K,position:"top",onToggle:V}),jsxRuntime.jsxs("div",{className:i("flex items-start",ve&&"gap-0"),children:[p&&u==="left"&&jsxRuntime.jsx(Mo,{items:K,position:"left",onToggle:V}),jsxRuntime.jsx("div",{ref:w,className:"flex-1 min-w-0 overflow-hidden",children:B?Q:jsxRuntime.jsx("div",{className:"flex items-center justify-center text-secondary-400 dark:text-secondary-500",style:{height:c},children:g})}),p&&u==="right"&&jsxRuntime.jsx(Mo,{items:K,position:"right",onToggle:V})]}),p&&u==="bottom"&&jsxRuntime.jsx(Mo,{items:K,position:"bottom",onToggle:V}),v&&jsxRuntime.jsxs("div",{className:wt(),style:{left:v.x,top:v.y},role:"tooltip",children:[v.label&&jsxRuntime.jsx("div",{className:"mb-1 font-medium text-primary-200",children:v.label}),v.items.map((P,ce)=>jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx("span",{className:"h-2 w-2 rounded-full shrink-0",style:{background:P.color}}),jsxRuntime.jsxs("span",{className:"text-primary-300",children:[P.name,":"]}),jsxRuntime.jsx("span",{className:"font-medium",children:P.value})]},ce))]})]})}function Yl(e,t){let r=new Set,n=[];for(let o of e)if(t.has(o.id))for(let s of o.data){let a=String(s.x);r.has(a)||(r.add(a),n.push(a));}return n}function Ul(e,t,r,n){if(r){let o=0;for(let a of e)if(t.has(a.id))for(let l of a.data)l.y>o&&(o=l.y);o===0&&(o=1);let[,s]=zt(0,o,.05);return [n?.min??0,n?.max??s]}else {let o=new Map;for(let l of e)if(t.has(l.id))for(let d of l.data){let m=String(d.x);o.set(m,(o.get(m)??0)+d.y);}let s=Math.max(0,...o.values()),[,a]=zt(0,s===0?1:s,.05);return [n?.min??0,n?.max??a]}}function ql(e,t){let[r,n]=e,[o,s]=t;return n===r?()=>(o+s)/2:a=>o+(a-r)/(n-r)*(s-o)}function Zl(e,t=5){return Lr(e[0],e[1],t)}function Ql(e,t,r,n,o,s,a,l,d,m,c){let f=e.filter(y=>t.has(y.id)),p=r.length,u=f.length;if(p===0||u===0)return [];let h=s/p,g=h*(1-m),x=u>0?g*(1-c)/u:0,w=[];for(let y=0;y<r.length;y++){let M=r[y],v=o+y*h+(h-g)/2;for(let N=0;N<f.length;N++){let L=f[N],R=L.data.find(V=>String(V.x)===M);if(!R)continue;let D=v+N*(x+g*c/u),A=d(R.y);w.push({seriesId:L.id,category:M,x:D,y:A,width:Math.max(x,1),height:Math.max(a-A,0),stackBase:a,value:R.y,color:n.get(L.id)??"var(--color-chart-1)"});}}return w}function Jl(e,t,r,n,o,s,a,l,d,m){let c=e.filter(w=>t.has(w.id)),f=r.length,p=c.length;if(f===0||p===0)return [];let u=a/f,h=u*(1-d),g=p>0?h*(1-m)/p:0,x=[];for(let w=0;w<r.length;w++){let y=r[w],M=s+w*u+(u-h)/2;for(let v=0;v<c.length;v++){let N=c[v],L=N.data.find(A=>String(A.x)===y);if(!L)continue;let R=M+v*(g+h*m/Math.max(p,1)),D=l(L.y);x.push({seriesId:N.id,category:y,x:o,y:R,width:Math.max(D-o,0),height:Math.max(g,1),stackBase:o,value:L.y,color:n.get(N.id)??"var(--color-chart-1)"});}}return x}function ec(e,t,r,n,o,s,a,l,d){let m=e.filter(h=>t.has(h.id)),c=r.length;if(c===0)return [];let f=a/c*(1-d),p=[],u=new Map;r.forEach(h=>u.set(h,o));for(let h of m)for(let g of r){let x=h.data.find(N=>String(N.x)===g);if(!x)continue;let w=u.get(g)??o,y=Math.max(l(x.y)-o,0),M=r.indexOf(g),v=s+(M+.5)*(a/c);p.push({seriesId:h.id,category:g,x:w,y:v-f/2,width:y,height:Math.max(f,1),stackBase:w,value:x.y,color:n.get(h.id)??"var(--color-chart-1)"}),u.set(g,w+y);}return p}function tc(e,t,r,n,o,s,a,l,d){let m=e.filter(h=>t.has(h.id)),c=r.length;if(c===0)return [];let f=s/c*(1-d),p=[],u=new Map;r.forEach(h=>u.set(h,a));for(let h of m)for(let g of r){let x=h.data.find(L=>String(L.x)===g);if(!x)continue;let w=u.get(g)??a,y=Math.max(a-l(x.y),0),M=w-y,v=r.indexOf(g),N=o+(v+.5)*(s/c);p.push({seriesId:h.id,category:g,x:N-f/2,y:M,width:Math.max(f,1),height:y,stackBase:w,value:x.y,color:n.get(h.id)??"var(--color-chart-1)"}),u.set(g,M);}return p}function Po({items:e,position:t,onToggle:r}){return jsxRuntime.jsx("div",{className:kt({position:t}),children:e.map(n=>jsxRuntime.jsxs("button",{onClick:()=>r(n.id),className:i("flex items-center gap-1.5 cursor-pointer rounded px-1.5 py-1 text-xs text-primary-700 transition-opacity hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-800",!n.visible&&"opacity-40"),"aria-pressed":n.visible,children:[jsxRuntime.jsx("span",{className:"h-2.5 w-5 rounded-sm shrink-0",style:{background:n.color}}),n.label]},n.id))})}function Os({series:e,xAxis:t,yAxis:r,orientation:n="vertical",grouped:o=true,barRadius:s=4,barPadding:a=.2,groupPadding:l=.3,title:d,height:m=300,className:c,legend:f=true,legendPosition:p="bottom",animateOnMount:u=true,emptyText:h="No data to display"}){let g=Kr.useRef(null),x=Kr.useRef(null),[w,y]=Kr.useState(600),[M,v]=Kr.useState(null);Kr.useEffect(()=>{let b=x.current;if(!b)return;let I=b.getBoundingClientRect().width;I>0&&y(I);let W=new ResizeObserver(K=>{let B=K[0]?.contentRect.width;B&&B>0&&y(B);});return W.observe(b),()=>W.disconnect()},[]);let N=Kr.useMemo(()=>e.map(b=>b.id),[e]),{visible:L,toggle:R,isVisible:D}=_t(N),A=Kr.useMemo(()=>Bt(e.length),[e.length]),V=Kr.useMemo(()=>new Map(e.map((b,I)=>[b.id,b.color??A[I]])),[e,A]),k=n==="horizontal",O=Kr.useMemo(()=>$t(!!t?.label,!!r?.label,false),[t?.label,r?.label]),C=Kr.useMemo(()=>Ot(w,m,O),[w,m,O]),X=Kr.useMemo(()=>Yl(e,L),[e,L]),T=Kr.useMemo(()=>Ul(e,L,o,k?t:r),[e,L,o,k,t,r]),re=Kr.useMemo(()=>ql(T,k?[C.plotLeft,C.plotRight]:[C.plotBottom,C.plotTop]),[T,C,k]),_=Kr.useMemo(()=>Zl(T,(k?t:r)?.tickCount??5),[T,k,t,r]),de=Kr.useMemo(()=>k?o?Jl(e,L,X,V,C.plotLeft,C.plotTop,C.plotHeight,re,l,a):ec(e,L,X,V,C.plotLeft,C.plotTop,C.plotHeight,re,l):o?Ql(e,L,X,V,C.plotLeft,C.plotWidth,C.plotBottom,C.plotTop,re,l,a):tc(e,L,X,V,C.plotLeft,C.plotWidth,C.plotBottom,re,l),[e,L,X,V,C,re,o,k,l,a]),J=X.length>0?C.plotWidth/X.length:1,pe=X.length>0?C.plotHeight/X.length:1,fe=Kr.useCallback((b,I)=>{let W=g.current?.getBoundingClientRect();if(!W)return;let K=e.filter(B=>D(B.id)).map(B=>{let Q=B.data.find(ve=>String(ve.x)===I);return {name:B.name,value:Q?Ve(Q.y,r?.format):"\u2014",color:V.get(B.id)??"var(--color-chart-1)"}});v({x:b.clientX-W.left+12,y:b.clientY-W.top-10,category:I,items:K});},[e,D,V,r?.format]),$=Kr.useMemo(()=>e.map((b,I)=>({id:b.id,label:b.name,color:b.color??A[I],visible:D(b.id)})),[e,A,D]),U=e.some(b=>b.data.length>0),me=p==="left"||p==="right",j=jsxRuntime.jsxs("svg",{role:"img","aria-label":d??"Bar chart",width:C.width,height:C.height,viewBox:`0 0 ${C.width} ${C.height}`,shapeRendering:"geometricPrecision",children:[_.map(b=>{let I=re(b);return k?jsxRuntime.jsx("line",{x1:I,x2:I,y1:C.plotTop,y2:C.plotBottom,stroke:"currentColor",strokeWidth:.5,strokeDasharray:"4 4",className:"text-secondary-200 dark:text-secondary-700"},b):jsxRuntime.jsx("line",{x1:C.plotLeft,x2:C.plotRight,y1:I,y2:I,stroke:"currentColor",strokeWidth:.5,strokeDasharray:"4 4",className:"text-secondary-200 dark:text-secondary-700"},b)}),de.map(b=>{let I=Math.min(s,b.width/2,b.height/2),W=`${b.seriesId}-${b.category}`;return k?jsxRuntime.jsx("rect",{x:b.x,y:b.y,width:b.width,height:b.height,rx:I,fill:b.color,className:i("chart-bar-h",u&&"chart-bar-animate"),onMouseMove:K=>fe(K,b.category),onMouseLeave:()=>v(null)},W):jsxRuntime.jsx("rect",{x:b.x,y:b.y,width:b.width,height:b.height,rx:I,fill:b.color,className:i("chart-bar-v",u&&"chart-bar-animate"),onMouseMove:K=>fe(K,b.category),onMouseLeave:()=>v(null)},W)}),jsxRuntime.jsx("line",{x1:C.plotLeft,x2:C.plotLeft,y1:C.plotTop,y2:C.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("line",{x1:C.plotLeft,x2:C.plotRight,y1:C.plotBottom,y2:C.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),!k&&_.map(b=>{let I=re(b);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:C.plotLeft-4,x2:C.plotLeft,y1:I,y2:I,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:C.plotLeft-6,y:I,textAnchor:"end",dominantBaseline:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Ve(b,r?.format)})]},b)}),k&&_.map(b=>{let I=re(b);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:I,x2:I,y1:C.plotBottom,y2:C.plotBottom+4,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:I,y:C.plotBottom+14,textAnchor:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Ve(b,t?.format)})]},b)}),X.map((b,I)=>{if(k){let K=C.plotTop+(I+.5)*pe;return jsxRuntime.jsx("text",{x:C.plotLeft-6,y:K,textAnchor:"end",dominantBaseline:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:b},b)}let W=C.plotLeft+(I+.5)*J;return jsxRuntime.jsx("text",{x:W,y:C.plotBottom+14,textAnchor:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:b},b)}),r?.label&&!k&&jsxRuntime.jsx("text",{x:-(C.plotTop+C.plotHeight/2),y:14,textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",transform:"rotate(-90)",children:r.label}),t?.label&&jsxRuntime.jsx("text",{x:C.plotLeft+C.plotWidth/2,y:C.height-4,textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",children:t.label})]});return jsxRuntime.jsxs("div",{ref:g,className:i(vt(),c),children:[d&&jsxRuntime.jsx("h3",{className:"mb-2 text-sm font-semibold text-primary-700 dark:text-primary-200",children:d}),f&&p==="top"&&jsxRuntime.jsx(Po,{items:$,position:"top",onToggle:R}),jsxRuntime.jsxs("div",{className:i("flex items-start",me&&"gap-0"),children:[f&&p==="left"&&jsxRuntime.jsx(Po,{items:$,position:"left",onToggle:R}),jsxRuntime.jsx("div",{ref:x,className:"flex-1 min-w-0 overflow-hidden",children:U?j:jsxRuntime.jsx("div",{className:"flex items-center justify-center text-secondary-400 dark:text-secondary-500",style:{height:m},children:h})}),f&&p==="right"&&jsxRuntime.jsx(Po,{items:$,position:"right",onToggle:R})]}),f&&p==="bottom"&&jsxRuntime.jsx(Po,{items:$,position:"bottom",onToggle:R}),M&&jsxRuntime.jsxs("div",{className:wt(),style:{left:M.x,top:M.y},role:"tooltip",children:[jsxRuntime.jsx("div",{className:"mb-1 font-medium text-primary-200",children:M.category}),M.items.map((b,I)=>jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx("span",{className:"h-2 w-2 rounded-full shrink-0",style:{background:b.color}}),jsxRuntime.jsxs("span",{className:"text-primary-300",children:[b.name,":"]}),jsxRuntime.jsx("span",{className:"font-medium",children:b.value})]},I))]})]})}function oc(e,t,r,n,o,s,a,l,d){let m=e.filter(h=>t.has(h.id)),c=m.reduce((h,g)=>h+g.value,0);if(c===0)return [];let f=new Map(e.map((h,g)=>[h.id,h.color??r[g%r.length]])),p=[],u=l;for(let h of m){let g=h.value/c*360,x=d/2,w=u+x,y=u+g-x,M=(w+y)/2,v;if(Math.abs(y-w)>=359.9){let N=st(s,a,n,w),L=st(s,a,n,w+180);v=`M ${N.x.toFixed(3)} ${N.y.toFixed(3)} A ${n} ${n} 0 1 1 ${L.x.toFixed(3)} ${L.y.toFixed(3)} A ${n} ${n} 0 1 1 ${N.x.toFixed(3)} ${N.y.toFixed(3)} Z`;}else if(o>0){let N=st(s,a,n,w),L=st(s,a,n,y),R=st(s,a,o,y),D=st(s,a,o,w),A=y-w>180?1:0;v=`M ${N.x.toFixed(3)} ${N.y.toFixed(3)} A ${n} ${n} 0 ${A} 1 ${L.x.toFixed(3)} ${L.y.toFixed(3)} L ${R.x.toFixed(3)} ${R.y.toFixed(3)} A ${o} ${o} 0 ${A} 0 ${D.x.toFixed(3)} ${D.y.toFixed(3)} Z`;}else {let N=st(s,a,n,w),L=st(s,a,n,y),R=y-w>180?1:0;v=`M ${s.toFixed(3)} ${a.toFixed(3)} L ${N.x.toFixed(3)} ${N.y.toFixed(3)} A ${n} ${n} 0 ${R} 1 ${L.x.toFixed(3)} ${L.y.toFixed(3)} Z`;}p.push({id:h.id,label:h.label,value:h.value,percent:Math.round(h.value/c*1e3)/10,color:f.get(h.id)??"var(--color-chart-1)",startAngle:w,endAngle:y,midAngle:M,path:v,outerR:n,innerR:o,cx:s,cy:a}),u+=g;}return p}function ac(e,t){let r=(e-90)*Math.PI/180;return {dx:Math.cos(r)*t,dy:Math.sin(r)*t}}function Eo({items:e,position:t,onToggle:r}){return jsxRuntime.jsx("div",{className:kt({position:t}),children:e.map(n=>jsxRuntime.jsxs("button",{onClick:()=>r(n.id),className:i("flex items-center gap-1.5 cursor-pointer rounded px-1.5 py-1 text-xs text-primary-700 transition-opacity hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-800",!n.visible&&"opacity-40"),"aria-pressed":n.visible,children:[jsxRuntime.jsx("span",{className:"h-2.5 w-2.5 rounded-full shrink-0",style:{background:n.color}}),jsxRuntime.jsx("span",{children:n.label}),jsxRuntime.jsxs("span",{className:"text-secondary-400",children:["(",n.percent,"%)"]})]},n.id))})}function js({data:e,donut:t=false,donutThickness:r=.5,startAngle:n=-90,padAngle:o=0,labelType:s="percent",centerLabel:a,centerSubLabel:l,explodeOnHover:d=true,explodeOffset:m=8,title:c,height:f=300,className:p,legend:u=true,legendPosition:h="bottom",animateOnMount:g=true,emptyText:x="No data to display"}){let w=Kr.useRef(null),y=Kr.useRef(null),[M,v]=Kr.useState(400),[N,L]=Kr.useState(null),[R,D]=Kr.useState(null),[A,V]=Kr.useState({}),k=Kr.useRef(null);Kr.useEffect(()=>{let F=y.current;if(!F)return;let ee=F.getBoundingClientRect().width;ee>0&&v(ee);let z=new ResizeObserver(q=>{let xe=q[0]?.contentRect.width;xe&&xe>0&&v(xe);});return z.observe(F),()=>z.disconnect()},[]),Kr.useEffect(()=>{function F(z){let q=k.current;if(!q)return;"touches"in z&&z.cancelable&&z.preventDefault();let xe="touches"in z?z.touches[0]?.clientX??q.startX:z.clientX,Ae="touches"in z?z.touches[0]?.clientY??q.startY:z.clientY;V(He=>({...He,[q.id]:{dx:q.origDx+xe-q.startX,dy:q.origDy+Ae-q.startY}}));}function ee(){k.current=null;}return window.addEventListener("mousemove",F),window.addEventListener("mouseup",ee),window.addEventListener("touchmove",F,{passive:false}),window.addEventListener("touchend",ee),()=>{window.removeEventListener("mousemove",F),window.removeEventListener("mouseup",ee),window.removeEventListener("touchmove",F),window.removeEventListener("touchend",ee);}},[]);let O=Kr.useMemo(()=>e.map(F=>F.id),[e]),{visible:C,toggle:X,isVisible:T}=_t(O),re=Kr.useMemo(()=>Bt(e.length),[e.length]),_=10,de=6.4,J=18,pe=14,fe=6,$=M,U=f,me=$/2,j=U/2,b=s!=="none"?J+fe+4:fe+4,I=Math.max(Math.min(me,j)-b,20),W=t?I*r:0,K=Kr.useMemo(()=>oc(e,C,re,I,W,me,j,n,o),[e,C,re,I,W,me,j,n,o]),B=Kr.useMemo(()=>K.map(F=>F.id).join(","),[K]);Kr.useEffect(()=>{V({});},[B]);let Q=Kr.useCallback((F,ee)=>{if(k.current)return;let z=w.current?.getBoundingClientRect();if(!z)return;L(ee);let q=K.find(xe=>xe.id===ee);q&&D({x:F.clientX-z.left+12,y:F.clientY-z.top-10,items:[{label:q.label,value:Ve(q.value),percent:`${q.percent}%`,color:q.color}]});},[K]),ve=Kr.useCallback(()=>{L(null),D(null);},[]),P=Kr.useCallback((F,ee,z)=>{let q=A[F]??{dx:0,dy:0};k.current={id:F,startX:ee,startY:z,origDx:q.dx,origDy:q.dy};},[A]),ce=Kr.useCallback((F,ee)=>{F.preventDefault(),L(ee);let z=w.current?.getBoundingClientRect();if(!z)return;let q=F.touches[0];if(!q)return;let xe=K.find(Ae=>Ae.id===ee);xe&&D({x:q.clientX-z.left+12,y:q.clientY-z.top-10,items:[{label:xe.label,value:Ve(xe.value),percent:`${xe.percent}%`,color:xe.color}]});},[K]),ae=Kr.useMemo(()=>{let F=e.reduce((ee,z)=>ee+z.value,0);return e.map((ee,z)=>({id:ee.id,label:ee.label,color:ee.color??re[z],visible:T(ee.id),percent:F>0?Math.round(ee.value/F*1e3)/10:0}))},[e,re,T]),he=e.length>0&&e.some(F=>F.value>0),ge=h==="left"||h==="right",Me=Kr.useMemo(()=>{if(s==="none")return [];let F=_+3,ee=fe+_*.5,z=U-fe-_*.5,q=K.filter(G=>G.percent>=3).map(G=>{let ye="";switch(s){case "percent":ye=`${G.percent}%`;break;case "value":ye=Ve(G.value);break;case "label":ye=G.label;break;case "label+percent":ye=`${G.label} ${G.percent}%`;break}let E=st(G.cx,G.cy,G.outerR+2,G.midAngle),Z=st(G.cx,G.cy,G.outerR+J,G.midAngle),ne=(G.midAngle-90)*Math.PI/180,H=Math.cos(ne)>=0,be=Math.ceil(ye.length*de);return {id:G.id,color:G.color,text:ye,textW:be,p1:E,elbowX:Z.x,y:Z.y,isRight:H}}),xe=q.filter(G=>G.isRight).sort((G,ye)=>G.y-ye.y),Ae=q.filter(G=>!G.isRight).sort((G,ye)=>G.y-ye.y);function He(G){if(G.length!==0)for(let ye=0;ye<20;ye++){let E=false;for(let ne=1;ne<G.length;ne++){let H=G[ne].y-G[ne-1].y;if(H<F){let be=(F-H)/2;G[ne-1].y-=be,G[ne].y+=be,E=true;}}G[0].y<ee&&(G[0].y=ee);for(let ne=1;ne<G.length;ne++)G[ne].y<G[ne-1].y+F&&(G[ne].y=G[ne-1].y+F);let Z=G.length-1;G[Z].y>z&&(G[Z].y=z);for(let ne=Z-1;ne>=0;ne--)G[ne].y>G[ne+1].y-F&&(G[ne].y=G[ne+1].y-F);for(let ne of G)ne.y=Math.max(ee,Math.min(z,ne.y));if(!E)break}}return He(xe),He(Ae),[...Ae,...xe]},[K,s,U]),ke=jsxRuntime.jsxs("svg",{role:"img","aria-label":c??"Pie chart",width:$,height:U,viewBox:`0 0 ${$} ${U}`,shapeRendering:"geometricPrecision",children:[jsxRuntime.jsxs("g",{className:g?"chart-pie-animate":"",children:[K.map((F,ee)=>{let z=N===F.id,q=d&&z,xe=ac(F.midAngle,q?m:0);return jsxRuntime.jsx("path",{d:F.path,fill:F.color,transform:q?`translate(${xe.dx}, ${xe.dy})`:void 0,className:i("chart-slice",g&&`chart-slice-animate-${Math.min(ee,7)}`,z&&"chart-slice--exploded"),stroke:F.color,strokeWidth:.6,onMouseMove:Ae=>Q(Ae,F.id),onMouseLeave:ve,onTouchStart:Ae=>ce(Ae,F.id),onTouchEnd:ve,"aria-label":`${F.label}: ${F.percent}%`},F.id)}),Me.map(F=>{let ee=A[F.id]??{dx:0,dy:0},z=F.elbowX+ee.dx,q=F.y+ee.dy,xe=z+(F.isRight?pe:-pe),Ae=F.isRight?xe+3:xe-3,He=pe+3+F.textW+6,G=F.isRight?z:z-He,ye=q-_-2,E=_*2+4;return jsxRuntime.jsxs("g",{style:{userSelect:"none"},children:[jsxRuntime.jsx("polyline",{points:[`${F.p1.x.toFixed(2)},${F.p1.y.toFixed(2)}`,`${z.toFixed(2)},${q.toFixed(2)}`,`${xe.toFixed(2)},${q.toFixed(2)}`].join(" "),fill:"none",stroke:F.color,strokeWidth:1.2,opacity:.85,strokeLinejoin:"round",strokeLinecap:"round",style:{pointerEvents:"none"}}),jsxRuntime.jsx("text",{x:Ae.toFixed(2),y:q.toFixed(2),textAnchor:F.isRight?"start":"end",dominantBaseline:"middle",fontSize:_,fill:"currentColor",className:"text-primary-700 dark:text-primary-300",style:{pointerEvents:"none"},children:F.text}),jsxRuntime.jsx("rect",{x:G,y:ye,width:He,height:E,fill:"transparent",style:{cursor:"grab",touchAction:"none"},onMouseDown:Z=>{Z.stopPropagation(),P(F.id,Z.clientX,Z.clientY);},onTouchStart:Z=>{Z.stopPropagation();let ne=Z.touches[0];ne&&P(F.id,ne.clientX,ne.clientY);}})]},`label-${F.id}`)})]}),t&&jsxRuntime.jsx("g",{style:{pointerEvents:"none"},children:N&&K.find(F=>F.id===N)?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("text",{x:me,y:j-8,textAnchor:"middle",dominantBaseline:"middle",fontSize:18,fontWeight:600,fill:"currentColor",className:"text-primary-800 dark:text-primary-100",children:[K.find(F=>F.id===N)?.percent,"%"]}),jsxRuntime.jsx("text",{x:me,y:j+12,textAnchor:"middle",dominantBaseline:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:K.find(F=>F.id===N)?.label})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[a&&jsxRuntime.jsx("text",{x:me,y:j-(l?8:0),textAnchor:"middle",dominantBaseline:"middle",fontSize:16,fontWeight:600,fill:"currentColor",className:"text-primary-800 dark:text-primary-100",children:a}),l&&jsxRuntime.jsx("text",{x:me,y:j+14,textAnchor:"middle",dominantBaseline:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:l})]})})]});return jsxRuntime.jsxs("div",{ref:w,className:i(vt(),p),children:[c&&jsxRuntime.jsx("h3",{className:"mb-2 text-sm font-semibold text-primary-700 dark:text-primary-200",children:c}),u&&h==="top"&&jsxRuntime.jsx(Eo,{items:ae,position:"top",onToggle:X}),jsxRuntime.jsxs("div",{className:i("flex items-start justify-center",ge&&"gap-0"),children:[u&&h==="left"&&jsxRuntime.jsx(Eo,{items:ae,position:"left",onToggle:X}),jsxRuntime.jsx("div",{ref:y,className:"flex-1 min-w-0 overflow-hidden",children:he?ke:jsxRuntime.jsx("div",{className:"flex items-center justify-center text-secondary-400 dark:text-secondary-500",style:{height:f},children:x})}),u&&h==="right"&&jsxRuntime.jsx(Eo,{items:ae,position:"right",onToggle:X})]}),u&&h==="bottom"&&jsxRuntime.jsx(Eo,{items:ae,position:"bottom",onToggle:X}),R&&jsxRuntime.jsx("div",{className:wt(),style:{left:R.x,top:R.y},role:"tooltip",children:R.items.map((F,ee)=>jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"h-2.5 w-2.5 rounded-full shrink-0",style:{background:F.color}}),jsxRuntime.jsxs("span",{className:"font-medium",children:[F.label,":"]}),jsxRuntime.jsx("span",{children:F.value}),jsxRuntime.jsxs("span",{className:"text-primary-300",children:["(",F.percent,")"]})]},ee))})]})}function ic(e,t,r){let n=1/0,o=-1/0;for(let l of e)if(t.has(l.id))for(let d of l.data){let m=Number(d.x);m<n&&(n=m),m>o&&(o=m);}if(!isFinite(n))return [0,1];let[s,a]=zt(n,o);return [r?.min??s,r?.max??a]}function lc(e,t,r){let n=1/0,o=-1/0;for(let l of e)if(t.has(l.id))for(let d of l.data)d.y<n&&(n=d.y),d.y>o&&(o=d.y);if(!isFinite(n))return [0,1];let[s,a]=zt(n,o);return [r?.min??s,r?.max??a]}function Ws(e,t){let[r,n]=e,[o,s]=t;return n===r?()=>(o+s)/2:a=>o+(a-r)/(n-r)*(s-o)}function Gs(e,t=5){return Lr(e[0],e[1],t)}function cc(e,t,r){let n=1.618033988749895,o=e*137+t,s=o*n%1*2-1,a=o*n*n%1*2-1;return [s*r,a*r]}function dc(e,t,r=12){if(e.length<2)return null;let n=Math.min(...e),o=Math.max(...e),s=Math.min(...t),a=Math.max(...t);return {cx:(n+o)/2,cy:(s+a)/2,rx:(o-n)/2+r,ry:(a-s)/2+r}}function Do({items:e,position:t,onToggle:r}){return jsxRuntime.jsx("div",{className:kt({position:t}),children:e.map(n=>jsxRuntime.jsxs("button",{onClick:()=>r(n.id),className:i("flex items-center gap-1.5 cursor-pointer rounded px-1.5 py-1 text-xs text-primary-700 transition-opacity hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-800",!n.visible&&"opacity-40"),"aria-pressed":n.visible,children:[jsxRuntime.jsx("span",{className:"h-2.5 w-2.5 rounded-full shrink-0",style:{background:n.color}}),n.label]},n.id))})}function Ys({series:e,xAxis:t,yAxis:r,dotRadius:n=5,dotOpacity:o=.75,clusters:s=false,jitter:a=false,jitterAmount:l=12,linkedLines:d=false,title:m,height:c=300,className:f,legend:p=true,legendPosition:u="bottom",animateOnMount:h=true,emptyText:g="No data to display"}){let x=Kr.useRef(null),w=Kr.useRef(null),[y,M]=Kr.useState(600),[v,N]=Kr.useState(null);Kr.useEffect(()=>{let b=w.current;if(!b)return;let I=b.getBoundingClientRect().width;I>0&&M(I);let W=new ResizeObserver(K=>{let B=K[0]?.contentRect.width;B&&B>0&&M(B);});return W.observe(b),()=>W.disconnect()},[]);let L=Kr.useMemo(()=>e.map(b=>b.id),[e]),{visible:R,toggle:D,isVisible:A}=_t(L),V=Kr.useMemo(()=>Bt(e.length),[e.length]),k=Kr.useMemo(()=>new Map(e.map((b,I)=>[b.id,b.color??V[I]])),[e,V]),O=Kr.useMemo(()=>$t(!!t?.label,!!r?.label,false),[t?.label,r?.label]),C=Kr.useMemo(()=>Ot(y,c,O),[y,c,O]),X=Kr.useMemo(()=>ic(e,R,t),[e,R,t]),T=Kr.useMemo(()=>lc(e,R,r),[e,R,r]),re=Kr.useMemo(()=>Ws(X,[C.plotLeft,C.plotRight]),[X,C]),_=Kr.useMemo(()=>Ws(T,[C.plotBottom,C.plotTop]),[T,C]),de=Kr.useMemo(()=>Gs(X,t?.tickCount??6),[X,t?.tickCount]),J=Kr.useMemo(()=>Gs(T,r?.tickCount??5),[T,r?.tickCount]),pe=Kr.useCallback((b,I,W,K,B)=>{let Q=x.current?.getBoundingClientRect();Q&&N({x:b.clientX-Q.left+12,y:b.clientY-Q.top-10,seriesName:I,xVal:Ve(W,t?.format),yVal:Ve(K,r?.format),color:B});},[t?.format,r?.format]),fe=Kr.useCallback((b,I,W,K,B)=>{b.preventDefault();let Q=x.current?.getBoundingClientRect();if(!Q)return;let ve=b.touches[0];ve&&N({x:ve.clientX-Q.left+12,y:ve.clientY-Q.top-10,seriesName:I,xVal:Ve(W,t?.format),yVal:Ve(K,r?.format),color:B});},[t?.format,r?.format]),$=Kr.useMemo(()=>e.map((b,I)=>({id:b.id,label:b.name,color:b.color??V[I],visible:A(b.id)})),[e,V,A]),U=e.some(b=>b.data.length>0),me=u==="left"||u==="right",j=jsxRuntime.jsxs("svg",{role:"img","aria-label":m??"Scatter chart",width:C.width,height:C.height,viewBox:`0 0 ${C.width} ${C.height}`,shapeRendering:"geometricPrecision",children:[J.map(b=>jsxRuntime.jsx("line",{x1:C.plotLeft,x2:C.plotRight,y1:_(b),y2:_(b),stroke:"currentColor",strokeWidth:.5,strokeDasharray:"4 4",className:"text-secondary-200 dark:text-secondary-700"},b)),s&&e.map((b,I)=>{if(!A(b.id)||b.data.length<2)return null;let W=k.get(b.id)??"var(--color-chart-1)",K=b.data.map(ve=>re(Number(ve.x))),B=b.data.map(ve=>_(ve.y)),Q=dc(K,B,16);return Q?jsxRuntime.jsx("ellipse",{cx:Q.cx,cy:Q.cy,rx:Q.rx,ry:Q.ry,fill:W,fillOpacity:.06,stroke:W,strokeOpacity:.3,strokeWidth:1.5,strokeDasharray:"5 3",className:h?"chart-cluster-ellipse":"",style:{animationDelay:`${I*.1}s`}},`cluster-${b.id}`):null}),d&&e.map(b=>{if(!A(b.id)||b.data.length<2)return null;let I=k.get(b.id)??"var(--color-chart-1)",K=[...b.data].sort((B,Q)=>Number(B.x)-Number(Q.x)).map(B=>`${re(Number(B.x)).toFixed(2)},${_(B.y).toFixed(2)}`).join(" ");return jsxRuntime.jsx("polyline",{points:K,fill:"none",stroke:I,strokeWidth:1.5,className:"chart-scatter-link"},`link-${b.id}`)}),e.map((b,I)=>{if(!A(b.id))return null;let W=k.get(b.id)??"var(--color-chart-1)";return jsxRuntime.jsx("g",{className:"chart-scatter-group",children:b.data.map((K,B)=>{let[Q,ve]=a?cc(I,B,l):[0,0],P=re(Number(K.x))+Q,ce=_(K.y)+ve;return jsxRuntime.jsx("circle",{cx:P,cy:ce,r:n,fill:W,fillOpacity:o,stroke:W,strokeWidth:1,strokeOpacity:.5,className:i("chart-scatter-dot",h&&"chart-scatter-dot--animate"),style:{color:W},onMouseMove:ae=>pe(ae,b.name,K.x,K.y,W),onMouseLeave:()=>N(null),onTouchStart:ae=>fe(ae,b.name,K.x,K.y,W),onTouchEnd:()=>N(null)},B)})},b.id)}),jsxRuntime.jsx("line",{x1:C.plotLeft,x2:C.plotLeft,y1:C.plotTop,y2:C.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("line",{x1:C.plotLeft,x2:C.plotRight,y1:C.plotBottom,y2:C.plotBottom,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),J.map(b=>{let I=_(b);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:C.plotLeft-4,x2:C.plotLeft,y1:I,y2:I,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:C.plotLeft-6,y:I,textAnchor:"end",dominantBaseline:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Ve(b,r?.format)})]},b)}),de.map(b=>{let I=re(b);return jsxRuntime.jsxs("g",{children:[jsxRuntime.jsx("line",{x1:I,x2:I,y1:C.plotBottom,y2:C.plotBottom+4,stroke:"currentColor",strokeWidth:1,className:"text-secondary-300 dark:text-secondary-600"}),jsxRuntime.jsx("text",{x:I,y:C.plotBottom+14,textAnchor:"middle",fontSize:10,fill:"currentColor",className:"text-secondary-500 dark:text-secondary-400",children:Ve(b,t?.format)})]},b)}),r?.label&&jsxRuntime.jsx("text",{x:-(C.plotTop+C.plotHeight/2),y:14,textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",transform:"rotate(-90)",children:r.label}),t?.label&&jsxRuntime.jsx("text",{x:C.plotLeft+C.plotWidth/2,y:C.height-4,textAnchor:"middle",fontSize:11,fill:"currentColor",className:"text-secondary-600 dark:text-secondary-400",children:t.label})]});return jsxRuntime.jsxs("div",{ref:x,className:i(vt(),f),children:[m&&jsxRuntime.jsx("h3",{className:"mb-2 text-sm font-semibold text-primary-700 dark:text-primary-200",children:m}),p&&u==="top"&&jsxRuntime.jsx(Do,{items:$,position:"top",onToggle:D}),jsxRuntime.jsxs("div",{className:i("flex items-start",me&&"gap-0"),children:[p&&u==="left"&&jsxRuntime.jsx(Do,{items:$,position:"left",onToggle:D}),jsxRuntime.jsx("div",{ref:w,className:"flex-1 min-w-0 overflow-hidden",children:U?j:jsxRuntime.jsx("div",{className:"flex items-center justify-center text-secondary-400 dark:text-secondary-500",style:{height:c},children:g})}),p&&u==="right"&&jsxRuntime.jsx(Do,{items:$,position:"right",onToggle:D})]}),p&&u==="bottom"&&jsxRuntime.jsx(Do,{items:$,position:"bottom",onToggle:D}),v&&jsxRuntime.jsxs("div",{className:wt(),style:{left:v.x,top:v.y},role:"tooltip",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5 mb-1",children:[jsxRuntime.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:v.color}}),jsxRuntime.jsx("span",{className:"font-medium",children:v.seriesName})]}),jsxRuntime.jsxs("div",{className:"text-primary-300",children:["X: ",jsxRuntime.jsx("span",{className:"font-medium text-primary-50",children:v.xVal})," ","Y: ",jsxRuntime.jsx("span",{className:"font-medium text-primary-50",children:v.yVal})]})]})]})}var Bf={LineChart:$s,BarChart:Os,PieChart:js,ScatterChart:Ys},Us=Bf;var zf={Primitives:na,Layout:la,DataDisplay:Na,Navigation:Ea,Disclosure:Aa,Overlay:Ya,Feedback:ss,Extras:Ms,Forms:Ds,Chart:Us},eN=zf;exports.Accordion=Va;exports.AccordionContent=sp;exports.AccordionItem=op;exports.AccordionTrigger=ap;exports.Alert=Qa;exports.AlertContent=Up;exports.AlertDescription=qp;exports.AlertIcon=Yp;exports.AlertTitle=Gp;exports.Avatar=Tn;exports.AvatarGroup=Rn;exports.Badge=Wo;exports.BarChart=Os;exports.Breadcrumb=Xn;exports.Button=dr;exports.Card=oa;exports.CardContent=xd;exports.CardDescription=hd;exports.CardFooter=yd;exports.CardHeader=gd;exports.CardTitle=bd;exports.Chart=Us;exports.Chat=ba;exports.Checkbox=Jo;exports.CinePlayer=us;exports.CodeBlock=va;exports.CommandPalette=No;exports.ContextMenu=Ga;exports.DataDisplay=Na;exports.DataTable=Od;exports.Dialog=Jr;exports.DialogClose=Np;exports.DialogContent=Ba;exports.DialogDescription=Oa;exports.DialogFooter=Ka;exports.DialogHeader=za;exports.DialogTitle=$a;exports.Disclosure=Aa;exports.Drawer=to;exports.DrawerBody=Ki;exports.DrawerClose=ji;exports.DrawerFooter=Xi;exports.DrawerHeader=Oi;exports.Dropdown=zo;exports.DropdownButton=pr;exports.Extras=Ms;exports.Feedback=ss;exports.FileExplorer=ys;exports.FilmReel=cs;exports.Form=Es;exports.FormItem=Lf;exports.FormSection=Ef;exports.Forms=Ds;exports.Header=Ma;exports.HorizontalCard=vd;exports.ImageCard=aa;exports.ImageCardActions=Td;exports.ImageCardBody=wd;exports.ImageCardDescription=Cd;exports.ImageCardTitle=Nd;exports.Indicator=Yo;exports.Input=qo;exports.Label=Uo;exports.Layout=la;exports.LineChart=$s;exports.List=ua;exports.ListItem=jd;exports.Masonry=Ns;exports.MetricCard=wa;exports.MiniPlayer=ms;exports.NavLink=Pa;exports.Navigation=Ea;exports.Overlay=Ya;exports.Pagination=Wn;exports.Panel=sa;exports.PanelContent=Md;exports.PanelHeader=Rd;exports.PieChart=js;exports.Primitives=na;exports.ProgressBar=ts;exports.Radio=ta;exports.RadioGroup=ea;exports.RibbonBar=La;exports.ScatterChart=Ys;exports.SideNav=Ra;exports.Skeleton=lo;exports.Slider=Pn;exports.SliderRange=Sn;exports.SortableTable=zd;exports.Spin=ns;exports.Stat=ka;exports.Switch=Qo;exports.TabContent=up;exports.TabList=dp;exports.TabPanels=pp;exports.TabTrigger=mp;exports.Table=Or;exports.TableBody=ma;exports.TableCell=Zt;exports.TableEmpty=pa;exports.TableHead=qt;exports.TableHeader=da;exports.TableRow=$r;exports.Tabs=Ia;exports.Tag=Go;exports.TextBox=Zo;exports.Timeline=Rs;exports.ToastContext=cn;exports.ToastProvider=co;exports.Tooltip=Xa;exports.Tree=fa;exports.TreeItem=Qd;exports.TypewriterText=ko;exports.accordionContentVariants=Yn;exports.accordionTriggerVariants=Gn;exports.accordionVariants=Un;exports.alertVariants=nn;exports.avatarVariants=Vr;exports.badgeVariants=mn;exports.buttonVariants=lr;exports.cardVariants=_r;exports.chartContainerVariants=vt;exports.chartLegendVariants=kt;exports.chartTooltipVariants=wt;exports.checkboxVariants=fn;exports.cn=i;exports.codeBlockVariants=Br;exports.configureAlertTopOffset=eu;exports.default=eN;exports.dialogContentVariants=Qr;exports.indicatorVariants=pn;exports.inputVariants=cr;exports.labelVariants=un;exports.listItemVariants=Vn;exports.listVariants=Dn;exports.metricCardVariants=Hn;exports.navLinkVariants=$n;exports.panelVariants=Ln;exports.progressBarVariants=no;exports.radioVariants=gn;exports.skeletonVariants=on;exports.sliderVariants=Ir;exports.spinVariants=vr;exports.statVariants=An;exports.switchTrackVariants=bn;exports.tabListVariants=qn;exports.tabTriggerVariants=Zn;exports.tableVariants=En;exports.tagVariants=hn;exports.toastVariants=oo;exports.tooltipVariants=eo;exports.treeItemVariants=In;exports.useAlert=lu;exports.useSpin=ku;exports.useToast=mo;