shadcn-glass-ui 2.2.1 → 2.2.4

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 (368) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/cli/commands/info.d.ts +15 -0
  3. package/dist/cli/commands/info.d.ts.map +1 -0
  4. package/dist/cli/commands/list.d.ts +23 -0
  5. package/dist/cli/commands/list.d.ts.map +1 -0
  6. package/dist/cli/index.cjs +1 -1
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/{index.js → index.mjs} +1 -1
  9. package/dist/cli/index.mjs.map +1 -0
  10. package/dist/cli/utils/format.d.ts +76 -0
  11. package/dist/cli/utils/format.d.ts.map +1 -0
  12. package/dist/cli/utils/fuzzy-search.d.ts +73 -0
  13. package/dist/cli/utils/fuzzy-search.d.ts.map +1 -0
  14. package/dist/cli/utils/load-exports.d.ts +141 -0
  15. package/dist/cli/utils/load-exports.d.ts.map +1 -0
  16. package/dist/components/blocks/avatar-gallery/index.d.ts +2 -0
  17. package/dist/components/blocks/avatar-gallery/index.d.ts.map +1 -0
  18. package/dist/components/blocks/avatar-gallery/page.d.ts +7 -0
  19. package/dist/components/blocks/avatar-gallery/page.d.ts.map +1 -0
  20. package/dist/components/blocks/badges/index.d.ts +2 -0
  21. package/dist/components/blocks/badges/index.d.ts.map +1 -0
  22. package/dist/components/blocks/badges/page.d.ts +7 -0
  23. package/dist/components/blocks/badges/page.d.ts.map +1 -0
  24. package/dist/components/blocks/buttons/index.d.ts +2 -0
  25. package/dist/components/blocks/buttons/index.d.ts.map +1 -0
  26. package/dist/components/blocks/buttons/page.d.ts +7 -0
  27. package/dist/components/blocks/buttons/page.d.ts.map +1 -0
  28. package/dist/components/blocks/form-elements/index.d.ts +2 -0
  29. package/dist/components/blocks/form-elements/index.d.ts.map +1 -0
  30. package/dist/components/blocks/form-elements/page.d.ts +7 -0
  31. package/dist/components/blocks/form-elements/page.d.ts.map +1 -0
  32. package/dist/components/blocks/index.d.ts +14 -0
  33. package/dist/components/blocks/index.d.ts.map +1 -0
  34. package/dist/components/blocks/notifications/index.d.ts +2 -0
  35. package/dist/components/blocks/notifications/index.d.ts.map +1 -0
  36. package/dist/components/blocks/notifications/page.d.ts +7 -0
  37. package/dist/components/blocks/notifications/page.d.ts.map +1 -0
  38. package/dist/components/blocks/progress/index.d.ts +2 -0
  39. package/dist/components/blocks/progress/index.d.ts.map +1 -0
  40. package/dist/components/blocks/progress/page.d.ts +7 -0
  41. package/dist/components/blocks/progress/page.d.ts.map +1 -0
  42. package/dist/components/blocks/registry.d.ts +16 -0
  43. package/dist/components/blocks/registry.d.ts.map +1 -0
  44. package/dist/components/demos/AnimatedBackground.d.ts +5 -0
  45. package/dist/components/demos/AnimatedBackground.d.ts.map +1 -0
  46. package/dist/components/demos/ComponentShowcase.d.ts +6 -0
  47. package/dist/components/demos/ComponentShowcase.d.ts.map +1 -0
  48. package/dist/components/demos/DesktopShowcase.d.ts +3 -0
  49. package/dist/components/demos/DesktopShowcase.d.ts.map +1 -0
  50. package/dist/components/demos/GlassFixesDemo.d.ts +6 -0
  51. package/dist/components/demos/GlassFixesDemo.d.ts.map +1 -0
  52. package/dist/components/demos/MobileShowcase.d.ts +3 -0
  53. package/dist/components/demos/MobileShowcase.d.ts.map +1 -0
  54. package/dist/components/glass/atomic/expandable-header-glass.d.ts +16 -0
  55. package/dist/components/glass/atomic/expandable-header-glass.d.ts.map +1 -0
  56. package/dist/components/glass/atomic/icon-button-glass.d.ts +18 -0
  57. package/dist/components/glass/atomic/icon-button-glass.d.ts.map +1 -0
  58. package/dist/components/glass/atomic/index.d.ts +14 -0
  59. package/dist/components/glass/atomic/index.d.ts.map +1 -0
  60. package/dist/components/glass/atomic/insight-card-glass.d.ts +22 -0
  61. package/dist/components/glass/atomic/insight-card-glass.d.ts.map +1 -0
  62. package/dist/components/glass/atomic/search-box-glass.d.ts +17 -0
  63. package/dist/components/glass/atomic/search-box-glass.d.ts.map +1 -0
  64. package/dist/components/glass/atomic/sort-dropdown-glass.d.ts +38 -0
  65. package/dist/components/glass/atomic/sort-dropdown-glass.d.ts.map +1 -0
  66. package/dist/components/glass/atomic/stat-item-glass.d.ts +22 -0
  67. package/dist/components/glass/atomic/stat-item-glass.d.ts.map +1 -0
  68. package/dist/components/glass/atomic/theme-toggle-glass.d.ts +11 -0
  69. package/dist/components/glass/atomic/theme-toggle-glass.d.ts.map +1 -0
  70. package/dist/components/glass/composite/ai-card-glass.d.ts +7 -0
  71. package/dist/components/glass/composite/ai-card-glass.d.ts.map +1 -0
  72. package/dist/components/glass/composite/career-stats-header-glass.d.ts +15 -0
  73. package/dist/components/glass/composite/career-stats-header-glass.d.ts.map +1 -0
  74. package/dist/components/glass/composite/circular-metric-glass.d.ts +24 -0
  75. package/dist/components/glass/composite/circular-metric-glass.d.ts.map +1 -0
  76. package/dist/components/glass/composite/contribution-metrics-glass.d.ts +15 -0
  77. package/dist/components/glass/composite/contribution-metrics-glass.d.ts.map +1 -0
  78. package/dist/components/glass/composite/index.d.ts +22 -0
  79. package/dist/components/glass/composite/index.d.ts.map +1 -0
  80. package/dist/components/glass/composite/metric-card-glass.d.ts +96 -0
  81. package/dist/components/glass/composite/metric-card-glass.d.ts.map +1 -0
  82. package/dist/components/glass/composite/metrics-grid-glass.d.ts +17 -0
  83. package/dist/components/glass/composite/metrics-grid-glass.d.ts.map +1 -0
  84. package/dist/components/glass/composite/repository-card-glass.d.ts +16 -0
  85. package/dist/components/glass/composite/repository-card-glass.d.ts.map +1 -0
  86. package/dist/components/glass/composite/repository-header-glass.d.ts +16 -0
  87. package/dist/components/glass/composite/repository-header-glass.d.ts.map +1 -0
  88. package/dist/components/glass/composite/repository-metadata-glass.d.ts +13 -0
  89. package/dist/components/glass/composite/repository-metadata-glass.d.ts.map +1 -0
  90. package/dist/components/glass/composite/split-layout-glass/index.d.ts +16 -0
  91. package/dist/components/glass/composite/split-layout-glass/index.d.ts.map +1 -0
  92. package/dist/components/glass/composite/split-layout-glass/split-layout-accordion.d.ts +66 -0
  93. package/dist/components/glass/composite/split-layout-glass/split-layout-accordion.d.ts.map +1 -0
  94. package/dist/components/glass/composite/split-layout-glass/split-layout-context.d.ts +122 -0
  95. package/dist/components/glass/composite/split-layout-glass/split-layout-context.d.ts.map +1 -0
  96. package/dist/components/glass/composite/split-layout-glass/split-layout-glass.d.ts +177 -0
  97. package/dist/components/glass/composite/split-layout-glass/split-layout-glass.d.ts.map +1 -0
  98. package/dist/components/glass/composite/trust-score-display-glass.d.ts +15 -0
  99. package/dist/components/glass/composite/trust-score-display-glass.d.ts.map +1 -0
  100. package/dist/components/glass/composite/user-info-glass.d.ts +15 -0
  101. package/dist/components/glass/composite/user-info-glass.d.ts.map +1 -0
  102. package/dist/components/glass/composite/user-stats-line-glass.d.ts +15 -0
  103. package/dist/components/glass/composite/user-stats-line-glass.d.ts.map +1 -0
  104. package/dist/components/glass/composite/year-card-glass.d.ts +53 -0
  105. package/dist/components/glass/composite/year-card-glass.d.ts.map +1 -0
  106. package/dist/components/glass/index.d.ts +16 -0
  107. package/dist/components/glass/index.d.ts.map +1 -0
  108. package/dist/components/glass/primitives/form-field-wrapper.d.ts +69 -0
  109. package/dist/components/glass/primitives/form-field-wrapper.d.ts.map +1 -0
  110. package/dist/components/glass/primitives/index.d.ts +12 -0
  111. package/dist/components/glass/primitives/index.d.ts.map +1 -0
  112. package/dist/components/glass/primitives/interactive-card.d.ts +91 -0
  113. package/dist/components/glass/primitives/interactive-card.d.ts.map +1 -0
  114. package/dist/components/glass/primitives/style-utils.d.ts +147 -0
  115. package/dist/components/glass/primitives/style-utils.d.ts.map +1 -0
  116. package/dist/components/glass/primitives/touch-target.d.ts +46 -0
  117. package/dist/components/glass/primitives/touch-target.d.ts.map +1 -0
  118. package/dist/components/glass/sections/career-stats-glass.d.ts +17 -0
  119. package/dist/components/glass/sections/career-stats-glass.d.ts.map +1 -0
  120. package/dist/components/glass/sections/flags-section-glass.d.ts +13 -0
  121. package/dist/components/glass/sections/flags-section-glass.d.ts.map +1 -0
  122. package/dist/components/glass/sections/header-branding-glass.d.ts +16 -0
  123. package/dist/components/glass/sections/header-branding-glass.d.ts.map +1 -0
  124. package/dist/components/glass/sections/header-nav-glass.d.ts +7 -0
  125. package/dist/components/glass/sections/header-nav-glass.d.ts.map +1 -0
  126. package/dist/components/glass/sections/index.d.ts +13 -0
  127. package/dist/components/glass/sections/index.d.ts.map +1 -0
  128. package/dist/components/glass/sections/profile-header-glass.d.ts +16 -0
  129. package/dist/components/glass/sections/profile-header-glass.d.ts.map +1 -0
  130. package/dist/components/glass/sections/projects-list-glass.d.ts +42 -0
  131. package/dist/components/glass/sections/projects-list-glass.d.ts.map +1 -0
  132. package/dist/components/glass/sections/trust-score-card-glass.d.ts +12 -0
  133. package/dist/components/glass/sections/trust-score-card-glass.d.ts.map +1 -0
  134. package/dist/components/glass/specialized/base-progress-glass.d.ts +8 -0
  135. package/dist/components/glass/specialized/base-progress-glass.d.ts.map +1 -0
  136. package/dist/components/glass/specialized/flag-alert-glass.d.ts +8 -0
  137. package/dist/components/glass/specialized/flag-alert-glass.d.ts.map +1 -0
  138. package/dist/components/glass/specialized/index.d.ts +21 -0
  139. package/dist/components/glass/specialized/index.d.ts.map +1 -0
  140. package/dist/components/glass/specialized/language-bar-glass.d.ts +24 -0
  141. package/dist/components/glass/specialized/language-bar-glass.d.ts.map +1 -0
  142. package/dist/components/glass/specialized/profile-avatar-glass.d.ts +26 -0
  143. package/dist/components/glass/specialized/profile-avatar-glass.d.ts.map +1 -0
  144. package/dist/components/glass/specialized/progress-glass.d.ts +9 -0
  145. package/dist/components/glass/specialized/progress-glass.d.ts.map +1 -0
  146. package/dist/components/glass/specialized/rainbow-progress-glass.d.ts +8 -0
  147. package/dist/components/glass/specialized/rainbow-progress-glass.d.ts.map +1 -0
  148. package/dist/components/glass/specialized/segmented-control-glass.d.ts +11 -0
  149. package/dist/components/glass/specialized/segmented-control-glass.d.ts.map +1 -0
  150. package/dist/components/glass/specialized/sparkline-glass.d.ts +34 -0
  151. package/dist/components/glass/specialized/sparkline-glass.d.ts.map +1 -0
  152. package/dist/components/glass/specialized/status-indicator-glass.d.ts +8 -0
  153. package/dist/components/glass/specialized/status-indicator-glass.d.ts.map +1 -0
  154. package/dist/components/glass/ui/alert-glass.d.ts +13 -0
  155. package/dist/components/glass/ui/alert-glass.d.ts.map +1 -0
  156. package/dist/components/glass/ui/avatar-glass.d.ts +58 -0
  157. package/dist/components/glass/ui/avatar-glass.d.ts.map +1 -0
  158. package/dist/components/glass/ui/badge-glass.d.ts +74 -0
  159. package/dist/components/glass/ui/badge-glass.d.ts.map +1 -0
  160. package/dist/components/glass/ui/button-glass.d.ts +110 -0
  161. package/dist/components/glass/ui/button-glass.d.ts.map +1 -0
  162. package/dist/components/glass/ui/card-glass.d.ts +115 -0
  163. package/dist/components/glass/ui/card-glass.d.ts.map +1 -0
  164. package/dist/components/glass/ui/checkbox-glass.d.ts +80 -0
  165. package/dist/components/glass/ui/checkbox-glass.d.ts.map +1 -0
  166. package/dist/components/glass/ui/circular-progress-glass.d.ts +36 -0
  167. package/dist/components/glass/ui/circular-progress-glass.d.ts.map +1 -0
  168. package/dist/components/glass/ui/combobox-glass.d.ts +61 -0
  169. package/dist/components/glass/ui/combobox-glass.d.ts.map +1 -0
  170. package/dist/components/glass/ui/dropdown-glass.d.ts +83 -0
  171. package/dist/components/glass/ui/dropdown-glass.d.ts.map +1 -0
  172. package/dist/components/glass/ui/dropdown-menu-glass.d.ts +77 -0
  173. package/dist/components/glass/ui/dropdown-menu-glass.d.ts.map +1 -0
  174. package/dist/components/glass/ui/glass-card.d.ts +78 -0
  175. package/dist/components/glass/ui/glass-card.d.ts.map +1 -0
  176. package/dist/components/glass/ui/index.d.ts +44 -0
  177. package/dist/components/glass/ui/index.d.ts.map +1 -0
  178. package/dist/components/glass/ui/input-glass.d.ts +98 -0
  179. package/dist/components/glass/ui/input-glass.d.ts.map +1 -0
  180. package/dist/components/glass/ui/modal-glass.d.ts +180 -0
  181. package/dist/components/glass/ui/modal-glass.d.ts.map +1 -0
  182. package/dist/components/glass/ui/notification-glass.d.ts +13 -0
  183. package/dist/components/glass/ui/notification-glass.d.ts.map +1 -0
  184. package/dist/components/glass/ui/popover-glass.d.ts +71 -0
  185. package/dist/components/glass/ui/popover-glass.d.ts.map +1 -0
  186. package/dist/components/glass/ui/sidebar-glass/index.d.ts +100 -0
  187. package/dist/components/glass/ui/sidebar-glass/index.d.ts.map +1 -0
  188. package/dist/components/glass/ui/sidebar-glass/sidebar-context.d.ts +96 -0
  189. package/dist/components/glass/ui/sidebar-glass/sidebar-context.d.ts.map +1 -0
  190. package/dist/components/glass/ui/sidebar-glass/sidebar-glass.d.ts +88 -0
  191. package/dist/components/glass/ui/sidebar-glass/sidebar-glass.d.ts.map +1 -0
  192. package/dist/components/glass/ui/sidebar-glass/sidebar-menu.d.ts +121 -0
  193. package/dist/components/glass/ui/sidebar-glass/sidebar-menu.d.ts.map +1 -0
  194. package/dist/components/glass/ui/skeleton-glass.d.ts +8 -0
  195. package/dist/components/glass/ui/skeleton-glass.d.ts.map +1 -0
  196. package/dist/components/glass/ui/slider-glass.d.ts +38 -0
  197. package/dist/components/glass/ui/slider-glass.d.ts.map +1 -0
  198. package/dist/components/glass/ui/stepper-glass.d.ts +63 -0
  199. package/dist/components/glass/ui/stepper-glass.d.ts.map +1 -0
  200. package/dist/components/glass/ui/tabs-glass.d.ts +149 -0
  201. package/dist/components/glass/ui/tabs-glass.d.ts.map +1 -0
  202. package/dist/components/glass/ui/toggle-glass.d.ts +27 -0
  203. package/dist/components/glass/ui/toggle-glass.d.ts.map +1 -0
  204. package/dist/components/glass/ui/tooltip-glass.d.ts +65 -0
  205. package/dist/components/glass/ui/tooltip-glass.d.ts.map +1 -0
  206. package/dist/components/ui/alert.d.ts +8 -0
  207. package/dist/components/ui/alert.d.ts.map +1 -0
  208. package/dist/components/ui/avatar.d.ts +7 -0
  209. package/dist/components/ui/avatar.d.ts.map +1 -0
  210. package/dist/components/ui/badge.d.ts +8 -0
  211. package/dist/components/ui/badge.d.ts.map +1 -0
  212. package/dist/components/ui/button.d.ts +8 -0
  213. package/dist/components/ui/button.d.ts.map +1 -0
  214. package/dist/components/ui/card.d.ts +10 -0
  215. package/dist/components/ui/card.d.ts.map +1 -0
  216. package/dist/components/ui/chart.d.ts +69 -0
  217. package/dist/components/ui/chart.d.ts.map +1 -0
  218. package/dist/components/ui/checkbox.d.ts +5 -0
  219. package/dist/components/ui/checkbox.d.ts.map +1 -0
  220. package/dist/components/ui/collapsible.d.ts +6 -0
  221. package/dist/components/ui/collapsible.d.ts.map +1 -0
  222. package/dist/components/ui/command.d.ts +19 -0
  223. package/dist/components/ui/command.d.ts.map +1 -0
  224. package/dist/components/ui/dialog.d.ts +16 -0
  225. package/dist/components/ui/dialog.d.ts.map +1 -0
  226. package/dist/components/ui/dropdown-menu.d.ts +26 -0
  227. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  228. package/dist/components/ui/input.d.ts +4 -0
  229. package/dist/components/ui/input.d.ts.map +1 -0
  230. package/dist/components/ui/popover.d.ts +8 -0
  231. package/dist/components/ui/popover.d.ts.map +1 -0
  232. package/dist/components/ui/progress.d.ts +5 -0
  233. package/dist/components/ui/progress.d.ts.map +1 -0
  234. package/dist/components/ui/scroll-area.d.ts +6 -0
  235. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  236. package/dist/components/ui/separator.d.ts +5 -0
  237. package/dist/components/ui/separator.d.ts.map +1 -0
  238. package/dist/components/ui/skeleton.d.ts +3 -0
  239. package/dist/components/ui/skeleton.d.ts.map +1 -0
  240. package/dist/components/ui/slider.d.ts +5 -0
  241. package/dist/components/ui/slider.d.ts.map +1 -0
  242. package/dist/components/ui/sonner.d.ts +4 -0
  243. package/dist/components/ui/sonner.d.ts.map +1 -0
  244. package/dist/components/ui/switch.d.ts +5 -0
  245. package/dist/components/ui/switch.d.ts.map +1 -0
  246. package/dist/components/ui/tabs.d.ts +8 -0
  247. package/dist/components/ui/tabs.d.ts.map +1 -0
  248. package/dist/components/ui/tooltip.d.ts +8 -0
  249. package/dist/components/ui/tooltip.d.ts.map +1 -0
  250. package/dist/components.cjs +4 -4
  251. package/dist/components.d.ts +56 -1932
  252. package/dist/components.d.ts.map +1 -0
  253. package/dist/components.mjs +5 -0
  254. package/dist/hooks.cjs +2 -2
  255. package/dist/hooks.d.ts +5 -225
  256. package/dist/hooks.d.ts.map +1 -0
  257. package/dist/{hooks.js → hooks.mjs} +2 -2
  258. package/dist/index.cjs +138 -1109
  259. package/dist/index.cjs.map +1 -1
  260. package/dist/index.d.ts +81 -1
  261. package/dist/index.d.ts.map +1 -0
  262. package/dist/{index.js → index.mjs} +116 -1115
  263. package/dist/index.mjs.map +1 -0
  264. package/dist/lib/config.d.ts +28 -0
  265. package/dist/lib/config.d.ts.map +1 -0
  266. package/dist/lib/hooks/index.d.ts +11 -0
  267. package/dist/lib/hooks/index.d.ts.map +1 -0
  268. package/dist/lib/hooks/use-focus.d.ts +61 -0
  269. package/dist/lib/hooks/use-focus.d.ts.map +1 -0
  270. package/dist/lib/hooks/use-hover.d.ts +54 -0
  271. package/dist/lib/hooks/use-hover.d.ts.map +1 -0
  272. package/dist/lib/hooks/use-responsive.d.ts +44 -0
  273. package/dist/lib/hooks/use-responsive.d.ts.map +1 -0
  274. package/dist/lib/hooks/use-wallpaper-tint.d.ts +57 -0
  275. package/dist/lib/hooks/use-wallpaper-tint.d.ts.map +1 -0
  276. package/dist/lib/hooks.d.ts +92 -0
  277. package/dist/lib/hooks.d.ts.map +1 -0
  278. package/dist/lib/theme/tokens.d.ts +441 -0
  279. package/dist/lib/theme/tokens.d.ts.map +1 -0
  280. package/dist/lib/theme-context.d.ts +115 -0
  281. package/dist/lib/theme-context.d.ts.map +1 -0
  282. package/dist/lib/types.d.ts +24 -0
  283. package/dist/lib/types.d.ts.map +1 -0
  284. package/dist/lib/utils.d.ts +8 -0
  285. package/dist/lib/utils.d.ts.map +1 -0
  286. package/dist/lib/variants/alert-glass-variants.d.ts +10 -0
  287. package/dist/lib/variants/alert-glass-variants.d.ts.map +1 -0
  288. package/dist/lib/variants/alert-variants.d.ts +8 -0
  289. package/dist/lib/variants/alert-variants.d.ts.map +1 -0
  290. package/dist/lib/variants/avatar-glass-variants.d.ts +12 -0
  291. package/dist/lib/variants/avatar-glass-variants.d.ts.map +1 -0
  292. package/dist/lib/variants/badge-glass-variants.d.ts +10 -0
  293. package/dist/lib/variants/badge-glass-variants.d.ts.map +1 -0
  294. package/dist/lib/variants/badge-variants.d.ts +8 -0
  295. package/dist/lib/variants/badge-variants.d.ts.map +1 -0
  296. package/dist/lib/variants/button-glass-variants.d.ts +29 -0
  297. package/dist/lib/variants/button-glass-variants.d.ts.map +1 -0
  298. package/dist/lib/variants/button-variants.d.ts +9 -0
  299. package/dist/lib/variants/button-variants.d.ts.map +1 -0
  300. package/dist/lib/variants/dropdown-content-styles.d.ts +102 -0
  301. package/dist/lib/variants/dropdown-content-styles.d.ts.map +1 -0
  302. package/dist/lib/variants/dropdown-glass-variants.d.ts +9 -0
  303. package/dist/lib/variants/dropdown-glass-variants.d.ts.map +1 -0
  304. package/dist/lib/variants/glass-card-variants.d.ts +13 -0
  305. package/dist/lib/variants/glass-card-variants.d.ts.map +1 -0
  306. package/dist/lib/variants/index.d.ts +26 -0
  307. package/dist/lib/variants/index.d.ts.map +1 -0
  308. package/dist/lib/variants/input-glass-variants.d.ts +9 -0
  309. package/dist/lib/variants/input-glass-variants.d.ts.map +1 -0
  310. package/dist/lib/variants/insight-card-glass-variants.d.ts +11 -0
  311. package/dist/lib/variants/insight-card-glass-variants.d.ts.map +1 -0
  312. package/dist/lib/variants/modal-glass-variants.d.ts +9 -0
  313. package/dist/lib/variants/modal-glass-variants.d.ts.map +1 -0
  314. package/dist/lib/variants/notification-glass-variants.d.ts +9 -0
  315. package/dist/lib/variants/notification-glass-variants.d.ts.map +1 -0
  316. package/dist/lib/variants/progress-glass-variants.d.ts +10 -0
  317. package/dist/lib/variants/progress-glass-variants.d.ts.map +1 -0
  318. package/dist/lib/variants/skeleton-glass-variants.d.ts +9 -0
  319. package/dist/lib/variants/skeleton-glass-variants.d.ts.map +1 -0
  320. package/dist/lib/variants/sparkline-glass-variants.d.ts +10 -0
  321. package/dist/lib/variants/sparkline-glass-variants.d.ts.map +1 -0
  322. package/dist/lib/variants/stepper-glass-variants.d.ts +40 -0
  323. package/dist/lib/variants/stepper-glass-variants.d.ts.map +1 -0
  324. package/dist/lib/variants/toggle-glass-variants.d.ts +26 -0
  325. package/dist/lib/variants/toggle-glass-variants.d.ts.map +1 -0
  326. package/dist/lib/variants/tooltip-glass-variants.d.ts +9 -0
  327. package/dist/lib/variants/tooltip-glass-variants.d.ts.map +1 -0
  328. package/dist/{theme-context-BEA8K_rq.cjs → theme-context-DBAPfMto.cjs} +2 -2
  329. package/dist/{theme-context-BEA8K_rq.cjs.map → theme-context-DBAPfMto.cjs.map} +1 -1
  330. package/dist/{theme-context-_T5r1KG4.js → theme-context-DLS2uAgJ.mjs} +1 -1
  331. package/dist/theme-context-DLS2uAgJ.mjs.map +1 -0
  332. package/dist/themes.cjs +1 -1
  333. package/dist/themes.d.ts +2 -124
  334. package/dist/themes.d.ts.map +1 -0
  335. package/dist/{themes.js → themes.mjs} +1 -1
  336. package/dist/trust-score-card-glass-BUt9MIF0.mjs +4197 -0
  337. package/dist/trust-score-card-glass-BUt9MIF0.mjs.map +1 -0
  338. package/dist/trust-score-card-glass-_v9hGnCW.cjs +4834 -0
  339. package/dist/trust-score-card-glass-_v9hGnCW.cjs.map +1 -0
  340. package/dist/{use-focus-CX0TJJIj.js → use-focus-C5kPAKr_.mjs} +1 -1
  341. package/dist/use-focus-C5kPAKr_.mjs.map +1 -0
  342. package/dist/{use-focus-CdoUzFQ8.cjs → use-focus-DBs46Dxv.cjs} +2 -2
  343. package/dist/{use-focus-CdoUzFQ8.cjs.map → use-focus-DBs46Dxv.cjs.map} +1 -1
  344. package/dist/{use-wallpaper-tint-DUgmytlY.js → use-wallpaper-tint-C0kYXNiN.mjs} +1 -1
  345. package/dist/use-wallpaper-tint-C0kYXNiN.mjs.map +1 -0
  346. package/dist/{use-wallpaper-tint-Rq5UgY9L.cjs → use-wallpaper-tint-DNdTbD1y.cjs} +2 -2
  347. package/dist/{use-wallpaper-tint-Rq5UgY9L.cjs.map → use-wallpaper-tint-DNdTbD1y.cjs.map} +1 -1
  348. package/dist/{utils-CcyeqpKQ.js → utils-B792GPM_.mjs} +1 -1
  349. package/dist/utils-B792GPM_.mjs.map +1 -0
  350. package/dist/{utils-NLnOCttr.cjs → utils-D5ef293O.cjs} +2 -2
  351. package/dist/{utils-NLnOCttr.cjs.map → utils-D5ef293O.cjs.map} +1 -1
  352. package/dist/utils.cjs +1 -1
  353. package/dist/utils.d.ts +2 -10
  354. package/dist/utils.d.ts.map +1 -0
  355. package/dist/utils.mjs +2 -0
  356. package/package.json +9 -9
  357. package/dist/cli/index.js.map +0 -1
  358. package/dist/components.js +0 -5
  359. package/dist/index.js.map +0 -1
  360. package/dist/theme-context-_T5r1KG4.js.map +0 -1
  361. package/dist/trust-score-card-glass-DTS1RdIt.cjs +0 -28660
  362. package/dist/trust-score-card-glass-DTS1RdIt.cjs.map +0 -1
  363. package/dist/trust-score-card-glass-Dg4_b_g_.js +0 -27660
  364. package/dist/trust-score-card-glass-Dg4_b_g_.js.map +0 -1
  365. package/dist/use-focus-CX0TJJIj.js.map +0 -1
  366. package/dist/use-wallpaper-tint-DUgmytlY.js.map +0 -1
  367. package/dist/utils-CcyeqpKQ.js.map +0 -1
  368. package/dist/utils.js +0 -2
@@ -1,16 +1,104 @@
1
- import { $ as BaseProgressGlass, $t as useLayoutEffect2, A as useChartHeight, At as modalSizes, B as adaptEventsOfChild, Bt as DropdownMenuGlassLabel, C as sparklineContainerVariants, Ct as PopoverGlassAnchor, D as Tooltip, Dt as NotificationGlass, E as Cell, Et as PopoverGlassTrigger, F as selectLegendPayload, Ft as DropdownMenuGlass, G as SegmentedControlGlass, Gt as DropdownMenuGlassShortcut, H as isNumber, Ht as DropdownMenuGlassRadioGroup, I as useAppDispatch, It as DropdownMenuGlassCheckboxItem, J as progressSizes, Jt as DropdownMenuGlassSubTrigger, K as RainbowProgressGlass, Kt as DropdownMenuGlassSub, L as useAppSelector, Lt as DropdownMenuGlassContent, M as useMargin, Mt as GlassCard, N as ResponsiveContainer, Nt as cardIntensity, O as setLegendSettings, Ot as notificationVariants, P as useElementOffset, Pt as DropdownGlass, Q as StatusIndicatorGlass, Qt as Presence, R as getUniqPayload, Rt as DropdownMenuGlassGroup, S as sparklineBarVariants, St as PopoverGlass, T as Bar, Tt as PopoverGlassLegacy, U as useLegendPortal, Ut as DropdownMenuGlassRadioItem, V as Symbols, Vt as DropdownMenuGlassPortal, W as Surface, Wt as DropdownMenuGlassSeparator, X as LanguageBarGlass, Xt as ComboBoxGlass, Y as ProfileAvatarGlass, Yt as DropdownMenuGlassTrigger, Z as FlagAlertGlass, Zt as inputVariants, _ as ContributionMetricsGlass, _n as AlertGlassTitle, _t as SliderGlass, a as HeaderBrandingGlass, an as ButtonGlass, at as insightCardVariants, b as AICardGlass, bn as TouchTarget, bt as SkeletonGlass, c as YearCardGlass, cn as badgeVariants, ct as ExpandableHeaderGlass, d as TrustScoreDisplayGlass, dn as AvatarGlassImage, dt as TooltipGlassProvider, en as useCallbackRef, et as ThemeToggleGlass, f as RepositoryMetadataGlass, fn as AvatarGlassSimple, ft as TooltipGlassSimple, g as MetricCardGlass, gn as AlertGlassDescription, gt as TabsGlass, h as MetricsGridGlass, hn as AlertGlass, ht as toggleSizes, i as HeaderNavGlass, in as CheckboxGlass, it as InsightCardGlass, j as useChartWidth, jt as InputGlass, k as setLegendSize, kt as ModalGlass, l as UserStatsLineGlass, ln as AvatarGlass, lt as TooltipGlass, m as RepositoryCardGlass, mn as statusSizes, mt as ToggleGlass, n as ProjectsListGlass, nn as composeEventHandlers, nt as SortDropdownGlass, o as FlagsSectionGlass, on as buttonGlassVariants, ot as insightVariantConfig, p as RepositoryHeaderGlass, pn as avatarSizes, pt as TooltipGlassTrigger, q as ProgressGlass, qt as DropdownMenuGlassSubContent, r as ProfileHeaderGlass, rn as CircularProgressGlass, rt as SearchBoxGlass, s as CareerStatsGlass, sn as BadgeGlass, st as IconButtonGlass, t as TrustScoreCardGlass, tn as useComposedRefs, tt as StatItemGlass, u as UserInfoGlass, un as AvatarGlassFallback, ut as TooltipGlassContent, v as CircularMetricGlass, vn as InteractiveCard, vt as useDirection, w as BarChart, wt as PopoverGlassContent, x as SparklineGlass, xn as alertVariants, xt as skeletonVariants, y as CareerStatsHeaderGlass, yn as FormFieldWrapper, yt as clamp, z as resolveDefaultProps, zt as DropdownMenuGlassItem } from "./trust-score-card-glass-Dg4_b_g_.js";
2
- import { t as cn } from "./utils-CcyeqpKQ.js";
3
- import { n as useHover, t as useFocus } from "./use-focus-CX0TJJIj.js";
4
- import { a as getThemeConfig, i as getNextTheme, n as THEME_CONFIG, o as useTheme, r as ThemeProvider, t as THEMES } from "./theme-context-_T5r1KG4.js";
5
- import { n as useResponsive, t as useWallpaperTint } from "./use-wallpaper-tint-DUgmytlY.js";
6
- import * as React$1 from "react";
1
+ import { t as cn } from "./utils-B792GPM_.mjs";
2
+ import { $ as PopoverGlass, A as FlagAlertGlass, At as CheckboxGlass, B as IconButtonGlass, Bt as statusSizes, C as sparklineContainerVariants, Ct as DropdownMenuGlassSub, D as progressSizes, Dt as ComboBoxGlass, E as ProgressGlass, Et as DropdownMenuGlassTrigger, F as SortDropdownGlass, Ft as AvatarGlass, G as TooltipGlassSimple, Gt as FormFieldWrapper, H as TooltipGlass, Ht as AlertGlassDescription, I as SearchBoxGlass, It as AvatarGlassFallback, J as toggleSizes, K as TooltipGlassTrigger, Kt as TouchTarget, L as InsightCardGlass, Lt as AvatarGlassImage, M as BaseProgressGlass, Mt as buttonGlassVariants, N as ThemeToggleGlass, Nt as BadgeGlass, O as ProfileAvatarGlass, Ot as inputVariants, P as StatItemGlass, Pt as badgeVariants, Q as skeletonVariants, R as insightCardVariants, Rt as AvatarGlassSimple, S as sparklineBarVariants, St as DropdownMenuGlassShortcut, T as RainbowProgressGlass, Tt as DropdownMenuGlassSubTrigger, U as TooltipGlassContent, Ut as AlertGlassTitle, V as ExpandableHeaderGlass, Vt as AlertGlass, W as TooltipGlassProvider, Wt as InteractiveCard, X as SliderGlass, Y as TabsGlass, Z as SkeletonGlass, _ as ContributionMetricsGlass, _t as DropdownMenuGlassLabel, a as HeaderBrandingGlass, at as notificationVariants, b as AICardGlass, bt as DropdownMenuGlassRadioItem, c as YearCardGlass, ct as InputGlass, d as TrustScoreDisplayGlass, dt as DropdownGlass, et as PopoverGlassAnchor, f as RepositoryMetadataGlass, ft as DropdownMenuGlass, g as MetricCardGlass, gt as DropdownMenuGlassItem, h as MetricsGridGlass, ht as DropdownMenuGlassGroup, i as HeaderNavGlass, it as NotificationGlass, j as StatusIndicatorGlass, jt as ButtonGlass, k as LanguageBarGlass, kt as CircularProgressGlass, l as UserStatsLineGlass, lt as GlassCard, m as RepositoryCardGlass, mt as DropdownMenuGlassContent, n as ProjectsListGlass, nt as PopoverGlassLegacy, o as FlagsSectionGlass, ot as ModalGlass, p as RepositoryHeaderGlass, pt as DropdownMenuGlassCheckboxItem, q as ToggleGlass, qt as alertVariants, r as ProfileHeaderGlass, rt as PopoverGlassTrigger, s as CareerStatsGlass, st as modalSizes, t as TrustScoreCardGlass, tt as PopoverGlassContent, u as UserInfoGlass, ut as cardIntensity, v as CircularMetricGlass, vt as DropdownMenuGlassPortal, w as SegmentedControlGlass, wt as DropdownMenuGlassSubContent, x as SparklineGlass, xt as DropdownMenuGlassSeparator, y as CareerStatsHeaderGlass, yt as DropdownMenuGlassRadioGroup, z as insightVariantConfig, zt as avatarSizes } from "./trust-score-card-glass-BUt9MIF0.mjs";
3
+ import { n as useHover, t as useFocus } from "./use-focus-C5kPAKr_.mjs";
4
+ import { a as getThemeConfig, i as getNextTheme, n as THEME_CONFIG, o as useTheme, r as ThemeProvider, t as THEMES } from "./theme-context-DLS2uAgJ.mjs";
5
+ import { n as useResponsive, t as useWallpaperTint } from "./use-wallpaper-tint-C0kYXNiN.mjs";
6
+ import * as React from "react";
7
7
  import { createContext, forwardRef, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
8
8
  import { Check, ChevronDown, Menu, PanelLeft, PanelLeftClose, PanelLeftOpen, X } from "lucide-react";
9
- import { clsx } from "clsx";
10
9
  import { cva } from "class-variance-authority";
11
10
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
- import { Slot, createSlot } from "@radix-ui/react-slot";
13
- import { createPortal } from "react-dom";
11
+ import { Slot } from "@radix-ui/react-slot";
12
+ import * as RechartsPrimitive from "recharts";
13
+ import { Bar, BarChart, Cell, ResponsiveContainer } from "recharts";
14
+ import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
15
+ var blurMap = {
16
+ subtle: "var(--blur-sm)",
17
+ medium: "var(--blur-md)",
18
+ strong: "var(--blur-lg)"
19
+ };
20
+ var bgVarMap = {
21
+ subtle: "var(--card-subtle-bg)",
22
+ medium: "var(--card-medium-bg)",
23
+ strong: "var(--card-strong-bg)"
24
+ };
25
+ var borderVarMap = {
26
+ subtle: "var(--card-subtle-border)",
27
+ medium: "var(--card-medium-border)",
28
+ strong: "var(--card-strong-border)"
29
+ };
30
+ var glowVarMap = {
31
+ blue: "var(--glow-blue)",
32
+ violet: "var(--glow-violet)",
33
+ cyan: "var(--glow-cyan)"
34
+ };
35
+ function CardGlassRoot({ className, intensity = "medium", glow = null, hover = false, style, ...props }) {
36
+ const cardStyles = {
37
+ background: bgVarMap[intensity],
38
+ borderColor: borderVarMap[intensity],
39
+ backdropFilter: `blur(${blurMap[intensity]})`,
40
+ WebkitBackdropFilter: `blur(${blurMap[intensity]})`,
41
+ boxShadow: glow ? glowVarMap[glow] : "var(--glow-neutral)",
42
+ ...style
43
+ };
44
+ return /* @__PURE__ */ jsx("div", {
45
+ "data-slot": "card",
46
+ className: cn("flex flex-col gap-6 rounded-xl border py-6 transition-all duration-300", "text-[var(--text-primary)]", hover && "hover:shadow-lg hover:border-[var(--card-hover-border)] cursor-pointer", className),
47
+ style: cardStyles,
48
+ ...props
49
+ });
50
+ }
51
+ function CardGlassHeader({ className, ...props }) {
52
+ return /* @__PURE__ */ jsx("div", {
53
+ "data-slot": "card-header",
54
+ className: cn("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6", "has-data-[slot=card-action]:grid-cols-[1fr_auto]", "[.border-b]:pb-6", className),
55
+ ...props
56
+ });
57
+ }
58
+ function CardGlassTitle({ className, ...props }) {
59
+ return /* @__PURE__ */ jsx("div", {
60
+ "data-slot": "card-title",
61
+ className: cn("leading-none font-semibold text-[var(--text-primary)]", className),
62
+ ...props
63
+ });
64
+ }
65
+ function CardGlassDescription({ className, ...props }) {
66
+ return /* @__PURE__ */ jsx("div", {
67
+ "data-slot": "card-description",
68
+ className: cn("text-sm text-[var(--text-muted)]", className),
69
+ ...props
70
+ });
71
+ }
72
+ function CardGlassAction({ className, ...props }) {
73
+ return /* @__PURE__ */ jsx("div", {
74
+ "data-slot": "card-action",
75
+ className: cn("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className),
76
+ ...props
77
+ });
78
+ }
79
+ function CardGlassContent({ className, ...props }) {
80
+ return /* @__PURE__ */ jsx("div", {
81
+ "data-slot": "card-content",
82
+ className: cn("px-6", className),
83
+ ...props
84
+ });
85
+ }
86
+ function CardGlassFooter({ className, ...props }) {
87
+ return /* @__PURE__ */ jsx("div", {
88
+ "data-slot": "card-footer",
89
+ className: cn("flex items-center gap-2 px-6 [.border-t]:pt-6", className),
90
+ ...props
91
+ });
92
+ }
93
+ const CardGlass = {
94
+ Root: CardGlassRoot,
95
+ Header: CardGlassHeader,
96
+ Title: CardGlassTitle,
97
+ Description: CardGlassDescription,
98
+ Action: CardGlassAction,
99
+ Content: CardGlassContent,
100
+ Footer: CardGlassFooter
101
+ };
14
102
  const stepperRootVariants = cva("flex w-full", {
15
103
  variants: { orientation: {
16
104
  horizontal: "flex-col",
@@ -778,1116 +866,29 @@ const SidebarGlass = {
778
866
  MenuSubItem: SidebarMenuSubItem,
779
867
  MenuSubButton: SidebarMenuSubButton
780
868
  };
781
- function _extends$1() {
782
- return _extends$1 = Object.assign ? Object.assign.bind() : function(n) {
783
- for (var e = 1; e < arguments.length; e++) {
784
- var t = arguments[e];
785
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
786
- }
787
- return n;
788
- }, _extends$1.apply(null, arguments);
789
- }
790
- function ownKeys$1(e, r) {
791
- var t = Object.keys(e);
792
- if (Object.getOwnPropertySymbols) {
793
- var o = Object.getOwnPropertySymbols(e);
794
- r && (o = o.filter(function(r$1) {
795
- return Object.getOwnPropertyDescriptor(e, r$1).enumerable;
796
- })), t.push.apply(t, o);
797
- }
798
- return t;
799
- }
800
- function _objectSpread$1(e) {
801
- for (var r = 1; r < arguments.length; r++) {
802
- var t = null != arguments[r] ? arguments[r] : {};
803
- r % 2 ? ownKeys$1(Object(t), !0).forEach(function(r$1) {
804
- _defineProperty$1(e, r$1, t[r$1]);
805
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r$1) {
806
- Object.defineProperty(e, r$1, Object.getOwnPropertyDescriptor(t, r$1));
807
- });
808
- }
809
- return e;
810
- }
811
- function _defineProperty$1(e, r, t) {
812
- return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, {
813
- value: t,
814
- enumerable: !0,
815
- configurable: !0,
816
- writable: !0
817
- }) : e[r] = t, e;
818
- }
819
- function _toPropertyKey$1(t) {
820
- var i = _toPrimitive$1(t, "string");
821
- return "symbol" == typeof i ? i : i + "";
822
- }
823
- function _toPrimitive$1(t, r) {
824
- if ("object" != typeof t || !t) return t;
825
- var e = t[Symbol.toPrimitive];
826
- if (void 0 !== e) {
827
- var i = e.call(t, r || "default");
828
- if ("object" != typeof i) return i;
829
- throw new TypeError("@@toPrimitive must return a primitive value.");
830
- }
831
- return ("string" === r ? String : Number)(t);
832
- }
833
- var SIZE = 32;
834
- var defaultLegendContentDefaultProps = {
835
- align: "center",
836
- iconSize: 14,
837
- inactiveColor: "#ccc",
838
- layout: "horizontal",
839
- verticalAlign: "middle"
840
- };
841
- function Icon(_ref) {
842
- var { data, iconType, inactiveColor } = _ref;
843
- var halfSize = SIZE / 2;
844
- var sixthSize = SIZE / 6;
845
- var thirdSize = SIZE / 3;
846
- var color = data.inactive ? inactiveColor : data.color;
847
- var preferredIcon = iconType !== null && iconType !== void 0 ? iconType : data.type;
848
- if (preferredIcon === "none") return null;
849
- if (preferredIcon === "plainline") {
850
- var _data$payload;
851
- return /* @__PURE__ */ React$1.createElement("line", {
852
- strokeWidth: 4,
853
- fill: "none",
854
- stroke: color,
855
- strokeDasharray: (_data$payload = data.payload) === null || _data$payload === void 0 ? void 0 : _data$payload.strokeDasharray,
856
- x1: 0,
857
- y1: halfSize,
858
- x2: SIZE,
859
- y2: halfSize,
860
- className: "recharts-legend-icon"
861
- });
862
- }
863
- if (preferredIcon === "line") return /* @__PURE__ */ React$1.createElement("path", {
864
- strokeWidth: 4,
865
- fill: "none",
866
- stroke: color,
867
- d: "M0,".concat(halfSize, "h").concat(thirdSize, "\n A").concat(sixthSize, ",").concat(sixthSize, ",0,1,1,").concat(2 * thirdSize, ",").concat(halfSize, "\n H").concat(SIZE, "M").concat(2 * thirdSize, ",").concat(halfSize, "\n A").concat(sixthSize, ",").concat(sixthSize, ",0,1,1,").concat(thirdSize, ",").concat(halfSize),
868
- className: "recharts-legend-icon"
869
- });
870
- if (preferredIcon === "rect") return /* @__PURE__ */ React$1.createElement("path", {
871
- stroke: "none",
872
- fill: color,
873
- d: "M0,".concat(SIZE / 8, "h").concat(SIZE, "v").concat(SIZE * 3 / 4, "h").concat(-SIZE, "z"),
874
- className: "recharts-legend-icon"
875
- });
876
- if (/* @__PURE__ */ React$1.isValidElement(data.legendIcon)) {
877
- var iconProps = _objectSpread$1({}, data);
878
- delete iconProps.legendIcon;
879
- return /* @__PURE__ */ React$1.cloneElement(data.legendIcon, iconProps);
880
- }
881
- return /* @__PURE__ */ React$1.createElement(Symbols, {
882
- fill: color,
883
- cx: halfSize,
884
- cy: halfSize,
885
- size: SIZE,
886
- sizeType: "diameter",
887
- type: preferredIcon
888
- });
889
- }
890
- function Items(props) {
891
- var { payload, iconSize, layout, formatter, inactiveColor, iconType } = props;
892
- var viewBox = {
893
- x: 0,
894
- y: 0,
895
- width: SIZE,
896
- height: SIZE
897
- };
898
- var itemStyle = {
899
- display: layout === "horizontal" ? "inline-block" : "block",
900
- marginRight: 10
901
- };
902
- var svgStyle = {
903
- display: "inline-block",
904
- verticalAlign: "middle",
905
- marginRight: 4
906
- };
907
- return payload.map((entry, i) => {
908
- var finalFormatter = entry.formatter || formatter;
909
- var className = clsx({
910
- "recharts-legend-item": true,
911
- ["legend-item-".concat(i)]: true,
912
- inactive: entry.inactive
913
- });
914
- if (entry.type === "none") return null;
915
- var color = entry.inactive ? inactiveColor : entry.color;
916
- var finalValue = finalFormatter ? finalFormatter(entry.value, entry, i) : entry.value;
917
- return /* @__PURE__ */ React$1.createElement("li", _extends$1({
918
- className,
919
- style: itemStyle,
920
- key: "legend-item-".concat(i)
921
- }, adaptEventsOfChild(props, entry, i)), /* @__PURE__ */ React$1.createElement(Surface, {
922
- width: iconSize,
923
- height: iconSize,
924
- viewBox,
925
- style: svgStyle,
926
- "aria-label": "".concat(finalValue, " legend icon")
927
- }, /* @__PURE__ */ React$1.createElement(Icon, {
928
- data: entry,
929
- iconType,
930
- inactiveColor
931
- })), /* @__PURE__ */ React$1.createElement("span", {
932
- className: "recharts-legend-item-text",
933
- style: { color }
934
- }, finalValue));
935
- });
936
- }
937
- var DefaultLegendContent = (outsideProps) => {
938
- var props = resolveDefaultProps(outsideProps, defaultLegendContentDefaultProps);
939
- var { payload, layout, align } = props;
940
- if (!payload || !payload.length) return null;
941
- var finalStyle = {
942
- padding: 0,
943
- margin: 0,
944
- textAlign: layout === "horizontal" ? align : "left"
945
- };
946
- return /* @__PURE__ */ React$1.createElement("ul", {
947
- className: "recharts-default-legend",
948
- style: finalStyle
949
- }, /* @__PURE__ */ React$1.createElement(Items, _extends$1({}, props, { payload })));
950
- };
951
- function useLegendPayload() {
952
- return useAppSelector(selectLegendPayload);
953
- }
954
- var _excluded = ["contextPayload"];
955
- function _extends() {
956
- return _extends = Object.assign ? Object.assign.bind() : function(n) {
957
- for (var e = 1; e < arguments.length; e++) {
958
- var t = arguments[e];
959
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
960
- }
961
- return n;
962
- }, _extends.apply(null, arguments);
963
- }
964
- function ownKeys(e, r) {
965
- var t = Object.keys(e);
966
- if (Object.getOwnPropertySymbols) {
967
- var o = Object.getOwnPropertySymbols(e);
968
- r && (o = o.filter(function(r$1) {
969
- return Object.getOwnPropertyDescriptor(e, r$1).enumerable;
970
- })), t.push.apply(t, o);
971
- }
972
- return t;
973
- }
974
- function _objectSpread(e) {
975
- for (var r = 1; r < arguments.length; r++) {
976
- var t = null != arguments[r] ? arguments[r] : {};
977
- r % 2 ? ownKeys(Object(t), !0).forEach(function(r$1) {
978
- _defineProperty(e, r$1, t[r$1]);
979
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r$1) {
980
- Object.defineProperty(e, r$1, Object.getOwnPropertyDescriptor(t, r$1));
981
- });
982
- }
983
- return e;
984
- }
985
- function _defineProperty(e, r, t) {
986
- return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
987
- value: t,
988
- enumerable: !0,
989
- configurable: !0,
990
- writable: !0
991
- }) : e[r] = t, e;
992
- }
993
- function _toPropertyKey(t) {
994
- var i = _toPrimitive(t, "string");
995
- return "symbol" == typeof i ? i : i + "";
996
- }
997
- function _toPrimitive(t, r) {
998
- if ("object" != typeof t || !t) return t;
999
- var e = t[Symbol.toPrimitive];
1000
- if (void 0 !== e) {
1001
- var i = e.call(t, r || "default");
1002
- if ("object" != typeof i) return i;
1003
- throw new TypeError("@@toPrimitive must return a primitive value.");
1004
- }
1005
- return ("string" === r ? String : Number)(t);
1006
- }
1007
- function _objectWithoutProperties(e, t) {
1008
- if (null == e) return {};
1009
- var o, r, i = _objectWithoutPropertiesLoose(e, t);
1010
- if (Object.getOwnPropertySymbols) {
1011
- var n = Object.getOwnPropertySymbols(e);
1012
- for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
1013
- }
1014
- return i;
1015
- }
1016
- function _objectWithoutPropertiesLoose(r, e) {
1017
- if (null == r) return {};
1018
- var t = {};
1019
- for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
1020
- if (-1 !== e.indexOf(n)) continue;
1021
- t[n] = r[n];
1022
- }
1023
- return t;
1024
- }
1025
- function defaultUniqBy(entry) {
1026
- return entry.value;
1027
- }
1028
- function LegendContent(props) {
1029
- var { contextPayload } = props, otherProps = _objectWithoutProperties(props, _excluded);
1030
- var finalPayload = getUniqPayload(contextPayload, props.payloadUniqBy, defaultUniqBy);
1031
- var contentProps = _objectSpread(_objectSpread({}, otherProps), {}, { payload: finalPayload });
1032
- if (/* @__PURE__ */ React$1.isValidElement(props.content)) return /* @__PURE__ */ React$1.cloneElement(props.content, contentProps);
1033
- if (typeof props.content === "function") return /* @__PURE__ */ React$1.createElement(props.content, contentProps);
1034
- return /* @__PURE__ */ React$1.createElement(DefaultLegendContent, contentProps);
1035
- }
1036
- function getDefaultPosition(style, props, margin, chartWidth, chartHeight, box) {
1037
- var { layout, align, verticalAlign } = props;
1038
- var hPos, vPos;
1039
- if (!style || (style.left === void 0 || style.left === null) && (style.right === void 0 || style.right === null)) if (align === "center" && layout === "vertical") hPos = { left: ((chartWidth || 0) - box.width) / 2 };
1040
- else hPos = align === "right" ? { right: margin && margin.right || 0 } : { left: margin && margin.left || 0 };
1041
- if (!style || (style.top === void 0 || style.top === null) && (style.bottom === void 0 || style.bottom === null)) if (verticalAlign === "middle") vPos = { top: ((chartHeight || 0) - box.height) / 2 };
1042
- else vPos = verticalAlign === "bottom" ? { bottom: margin && margin.bottom || 0 } : { top: margin && margin.top || 0 };
1043
- return _objectSpread(_objectSpread({}, hPos), vPos);
1044
- }
1045
- function LegendSettingsDispatcher(props) {
1046
- var dispatch = useAppDispatch();
1047
- useEffect(() => {
1048
- dispatch(setLegendSettings(props));
1049
- }, [dispatch, props]);
1050
- return null;
1051
- }
1052
- function LegendSizeDispatcher(props) {
1053
- var dispatch = useAppDispatch();
1054
- useEffect(() => {
1055
- dispatch(setLegendSize(props));
1056
- return () => {
1057
- dispatch(setLegendSize({
1058
- width: 0,
1059
- height: 0
1060
- }));
1061
- };
1062
- }, [dispatch, props]);
1063
- return null;
1064
- }
1065
- function getWidthOrHeight(layout, height, width, maxWidth) {
1066
- if (layout === "vertical" && isNumber(height)) return { height };
1067
- if (layout === "horizontal") return { width: width || maxWidth };
1068
- return null;
1069
- }
1070
- var legendDefaultProps = {
1071
- align: "center",
1072
- iconSize: 14,
1073
- itemSorter: "value",
1074
- layout: "horizontal",
1075
- verticalAlign: "bottom"
1076
- };
1077
- function Legend(outsideProps) {
1078
- var props = resolveDefaultProps(outsideProps, legendDefaultProps);
1079
- var contextPayload = useLegendPayload();
1080
- var legendPortalFromContext = useLegendPortal();
1081
- var margin = useMargin();
1082
- var { width: widthFromProps, height: heightFromProps, wrapperStyle, portal: portalFromProps } = props;
1083
- var [lastBoundingBox, updateBoundingBox] = useElementOffset([contextPayload]);
1084
- var chartWidth = useChartWidth();
1085
- var chartHeight = useChartHeight();
1086
- if (chartWidth == null || chartHeight == null) return null;
1087
- var maxWidth = chartWidth - ((margin === null || margin === void 0 ? void 0 : margin.left) || 0) - ((margin === null || margin === void 0 ? void 0 : margin.right) || 0);
1088
- var widthOrHeight = getWidthOrHeight(props.layout, heightFromProps, widthFromProps, maxWidth);
1089
- var outerStyle = portalFromProps ? wrapperStyle : _objectSpread(_objectSpread({
1090
- position: "absolute",
1091
- width: (widthOrHeight === null || widthOrHeight === void 0 ? void 0 : widthOrHeight.width) || widthFromProps || "auto",
1092
- height: (widthOrHeight === null || widthOrHeight === void 0 ? void 0 : widthOrHeight.height) || heightFromProps || "auto"
1093
- }, getDefaultPosition(wrapperStyle, props, margin, chartWidth, chartHeight, lastBoundingBox)), wrapperStyle);
1094
- var legendPortal = portalFromProps !== null && portalFromProps !== void 0 ? portalFromProps : legendPortalFromContext;
1095
- if (legendPortal == null || contextPayload == null) return null;
1096
- return /* @__PURE__ */ createPortal(/* @__PURE__ */ React$1.createElement("div", {
1097
- className: "recharts-legend-wrapper",
1098
- style: outerStyle,
1099
- ref: updateBoundingBox
1100
- }, /* @__PURE__ */ React$1.createElement(LegendSettingsDispatcher, {
1101
- layout: props.layout,
1102
- align: props.align,
1103
- verticalAlign: props.verticalAlign,
1104
- itemSorter: props.itemSorter
1105
- }), !portalFromProps && /* @__PURE__ */ React$1.createElement(LegendSizeDispatcher, {
1106
- width: lastBoundingBox.width,
1107
- height: lastBoundingBox.height
1108
- }), /* @__PURE__ */ React$1.createElement(LegendContent, _extends({}, props, widthOrHeight, {
1109
- margin,
1110
- chartWidth,
1111
- chartHeight,
1112
- contextPayload
1113
- }))), legendPortal);
1114
- }
1115
- Legend.displayName = "Legend";
1116
- var Primitive = [
1117
- "a",
1118
- "button",
1119
- "div",
1120
- "form",
1121
- "h2",
1122
- "h3",
1123
- "img",
1124
- "input",
1125
- "label",
1126
- "li",
1127
- "nav",
1128
- "ol",
1129
- "p",
1130
- "select",
1131
- "span",
1132
- "svg",
1133
- "ul"
1134
- ].reduce((primitive, node) => {
1135
- const Slot$1 = createSlot(`Primitive.${node}`);
1136
- const Node = React$1.forwardRef((props, forwardedRef) => {
1137
- const { asChild, ...primitiveProps } = props;
1138
- const Comp = asChild ? Slot$1 : node;
1139
- if (typeof window !== "undefined") window[Symbol.for("radix-ui")] = true;
1140
- return /* @__PURE__ */ jsx(Comp, {
1141
- ...primitiveProps,
1142
- ref: forwardedRef
1143
- });
1144
- });
1145
- Node.displayName = `Primitive.${node}`;
1146
- return {
1147
- ...primitive,
1148
- [node]: Node
1149
- };
1150
- }, {});
1151
- function createContextScope(scopeName, createContextScopeDeps = []) {
1152
- let defaultContexts = [];
1153
- function createContext3(rootComponentName, defaultContext) {
1154
- const BaseContext = React$1.createContext(defaultContext);
1155
- const index = defaultContexts.length;
1156
- defaultContexts = [...defaultContexts, defaultContext];
1157
- const Provider = (props) => {
1158
- const { scope, children, ...context } = props;
1159
- const Context = scope?.[scopeName]?.[index] || BaseContext;
1160
- const value = React$1.useMemo(() => context, Object.values(context));
1161
- return /* @__PURE__ */ jsx(Context.Provider, {
1162
- value,
1163
- children
1164
- });
1165
- };
1166
- Provider.displayName = rootComponentName + "Provider";
1167
- function useContext2(consumerName, scope) {
1168
- const Context = scope?.[scopeName]?.[index] || BaseContext;
1169
- const context = React$1.useContext(Context);
1170
- if (context) return context;
1171
- if (defaultContext !== void 0) return defaultContext;
1172
- throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
1173
- }
1174
- return [Provider, useContext2];
1175
- }
1176
- const createScope = () => {
1177
- const scopeContexts = defaultContexts.map((defaultContext) => {
1178
- return React$1.createContext(defaultContext);
1179
- });
1180
- return function useScope(scope) {
1181
- const contexts = scope?.[scopeName] || scopeContexts;
1182
- return React$1.useMemo(() => ({ [`__scope${scopeName}`]: {
1183
- ...scope,
1184
- [scopeName]: contexts
1185
- } }), [scope, contexts]);
1186
- };
1187
- };
1188
- createScope.scopeName = scopeName;
1189
- return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];
1190
- }
1191
- function composeContextScopes(...scopes) {
1192
- const baseScope = scopes[0];
1193
- if (scopes.length === 1) return baseScope;
1194
- const createScope = () => {
1195
- const scopeHooks = scopes.map((createScope2) => ({
1196
- useScope: createScope2(),
1197
- scopeName: createScope2.scopeName
1198
- }));
1199
- return function useComposedScopes(overrideScopes) {
1200
- const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
1201
- const currentScope = useScope(overrideScopes)[`__scope${scopeName}`];
1202
- return {
1203
- ...nextScopes2,
1204
- ...currentScope
1205
- };
1206
- }, {});
1207
- return React$1.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
1208
- };
1209
- };
1210
- createScope.scopeName = baseScope.scopeName;
1211
- return createScope;
1212
- }
1213
- function useStateMachine(initialState, machine) {
1214
- return React$1.useReducer((state, event) => {
1215
- return machine[state][event] ?? state;
1216
- }, initialState);
1217
- }
1218
- var SCROLL_AREA_NAME = "ScrollArea";
1219
- var [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);
1220
- var [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);
1221
- var ScrollArea$1 = React$1.forwardRef((props, forwardedRef) => {
1222
- const { __scopeScrollArea, type = "hover", dir, scrollHideDelay = 600, ...scrollAreaProps } = props;
1223
- const [scrollArea, setScrollArea] = React$1.useState(null);
1224
- const [viewport, setViewport] = React$1.useState(null);
1225
- const [content, setContent] = React$1.useState(null);
1226
- const [scrollbarX, setScrollbarX] = React$1.useState(null);
1227
- const [scrollbarY, setScrollbarY] = React$1.useState(null);
1228
- const [cornerWidth, setCornerWidth] = React$1.useState(0);
1229
- const [cornerHeight, setCornerHeight] = React$1.useState(0);
1230
- const [scrollbarXEnabled, setScrollbarXEnabled] = React$1.useState(false);
1231
- const [scrollbarYEnabled, setScrollbarYEnabled] = React$1.useState(false);
1232
- const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));
1233
- const direction = useDirection(dir);
1234
- return /* @__PURE__ */ jsx(ScrollAreaProvider, {
1235
- scope: __scopeScrollArea,
1236
- type,
1237
- dir: direction,
1238
- scrollHideDelay,
1239
- scrollArea,
1240
- viewport,
1241
- onViewportChange: setViewport,
1242
- content,
1243
- onContentChange: setContent,
1244
- scrollbarX,
1245
- onScrollbarXChange: setScrollbarX,
1246
- scrollbarXEnabled,
1247
- onScrollbarXEnabledChange: setScrollbarXEnabled,
1248
- scrollbarY,
1249
- onScrollbarYChange: setScrollbarY,
1250
- scrollbarYEnabled,
1251
- onScrollbarYEnabledChange: setScrollbarYEnabled,
1252
- onCornerWidthChange: setCornerWidth,
1253
- onCornerHeightChange: setCornerHeight,
1254
- children: /* @__PURE__ */ jsx(Primitive.div, {
1255
- dir: direction,
1256
- ...scrollAreaProps,
1257
- ref: composedRefs,
1258
- style: {
1259
- position: "relative",
1260
- ["--radix-scroll-area-corner-width"]: cornerWidth + "px",
1261
- ["--radix-scroll-area-corner-height"]: cornerHeight + "px",
1262
- ...props.style
1263
- }
1264
- })
1265
- });
1266
- });
1267
- ScrollArea$1.displayName = SCROLL_AREA_NAME;
1268
- var VIEWPORT_NAME = "ScrollAreaViewport";
1269
- var ScrollAreaViewport = React$1.forwardRef((props, forwardedRef) => {
1270
- const { __scopeScrollArea, children, nonce, ...viewportProps } = props;
1271
- const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);
1272
- const composedRefs = useComposedRefs(forwardedRef, React$1.useRef(null), context.onViewportChange);
1273
- return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("style", {
1274
- dangerouslySetInnerHTML: { __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}` },
1275
- nonce
1276
- }), /* @__PURE__ */ jsx(Primitive.div, {
1277
- "data-radix-scroll-area-viewport": "",
1278
- ...viewportProps,
1279
- ref: composedRefs,
1280
- style: {
1281
- overflowX: context.scrollbarXEnabled ? "scroll" : "hidden",
1282
- overflowY: context.scrollbarYEnabled ? "scroll" : "hidden",
1283
- ...props.style
1284
- },
1285
- children: /* @__PURE__ */ jsx("div", {
1286
- ref: context.onContentChange,
1287
- style: {
1288
- minWidth: "100%",
1289
- display: "table"
1290
- },
1291
- children
1292
- })
1293
- })] });
1294
- });
1295
- ScrollAreaViewport.displayName = VIEWPORT_NAME;
1296
- var SCROLLBAR_NAME = "ScrollAreaScrollbar";
1297
- var ScrollAreaScrollbar = React$1.forwardRef((props, forwardedRef) => {
1298
- const { forceMount, ...scrollbarProps } = props;
1299
- const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
1300
- const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;
1301
- const isHorizontal = props.orientation === "horizontal";
1302
- React$1.useEffect(() => {
1303
- isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);
1304
- return () => {
1305
- isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);
1306
- };
1307
- }, [
1308
- isHorizontal,
1309
- onScrollbarXEnabledChange,
1310
- onScrollbarYEnabledChange
1311
- ]);
1312
- return context.type === "hover" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, {
1313
- ...scrollbarProps,
1314
- ref: forwardedRef,
1315
- forceMount
1316
- }) : context.type === "scroll" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, {
1317
- ...scrollbarProps,
1318
- ref: forwardedRef,
1319
- forceMount
1320
- }) : context.type === "auto" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, {
1321
- ...scrollbarProps,
1322
- ref: forwardedRef,
1323
- forceMount
1324
- }) : context.type === "always" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, {
1325
- ...scrollbarProps,
1326
- ref: forwardedRef
1327
- }) : null;
1328
- });
1329
- ScrollAreaScrollbar.displayName = SCROLLBAR_NAME;
1330
- var ScrollAreaScrollbarHover = React$1.forwardRef((props, forwardedRef) => {
1331
- const { forceMount, ...scrollbarProps } = props;
1332
- const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
1333
- const [visible, setVisible] = React$1.useState(false);
1334
- React$1.useEffect(() => {
1335
- const scrollArea = context.scrollArea;
1336
- let hideTimer = 0;
1337
- if (scrollArea) {
1338
- const handlePointerEnter = () => {
1339
- window.clearTimeout(hideTimer);
1340
- setVisible(true);
1341
- };
1342
- const handlePointerLeave = () => {
1343
- hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);
1344
- };
1345
- scrollArea.addEventListener("pointerenter", handlePointerEnter);
1346
- scrollArea.addEventListener("pointerleave", handlePointerLeave);
1347
- return () => {
1348
- window.clearTimeout(hideTimer);
1349
- scrollArea.removeEventListener("pointerenter", handlePointerEnter);
1350
- scrollArea.removeEventListener("pointerleave", handlePointerLeave);
1351
- };
1352
- }
1353
- }, [context.scrollArea, context.scrollHideDelay]);
1354
- return /* @__PURE__ */ jsx(Presence, {
1355
- present: forceMount || visible,
1356
- children: /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, {
1357
- "data-state": visible ? "visible" : "hidden",
1358
- ...scrollbarProps,
1359
- ref: forwardedRef
1360
- })
1361
- });
1362
- });
1363
- var ScrollAreaScrollbarScroll = React$1.forwardRef((props, forwardedRef) => {
1364
- const { forceMount, ...scrollbarProps } = props;
1365
- const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
1366
- const isHorizontal = props.orientation === "horizontal";
1367
- const debounceScrollEnd = useDebounceCallback(() => send("SCROLL_END"), 100);
1368
- const [state, send] = useStateMachine("hidden", {
1369
- hidden: { SCROLL: "scrolling" },
1370
- scrolling: {
1371
- SCROLL_END: "idle",
1372
- POINTER_ENTER: "interacting"
1373
- },
1374
- interacting: {
1375
- SCROLL: "interacting",
1376
- POINTER_LEAVE: "idle"
1377
- },
1378
- idle: {
1379
- HIDE: "hidden",
1380
- SCROLL: "scrolling",
1381
- POINTER_ENTER: "interacting"
1382
- }
1383
- });
1384
- React$1.useEffect(() => {
1385
- if (state === "idle") {
1386
- const hideTimer = window.setTimeout(() => send("HIDE"), context.scrollHideDelay);
1387
- return () => window.clearTimeout(hideTimer);
1388
- }
1389
- }, [
1390
- state,
1391
- context.scrollHideDelay,
1392
- send
1393
- ]);
1394
- React$1.useEffect(() => {
1395
- const viewport = context.viewport;
1396
- const scrollDirection = isHorizontal ? "scrollLeft" : "scrollTop";
1397
- if (viewport) {
1398
- let prevScrollPos = viewport[scrollDirection];
1399
- const handleScroll = () => {
1400
- const scrollPos = viewport[scrollDirection];
1401
- if (prevScrollPos !== scrollPos) {
1402
- send("SCROLL");
1403
- debounceScrollEnd();
1404
- }
1405
- prevScrollPos = scrollPos;
1406
- };
1407
- viewport.addEventListener("scroll", handleScroll);
1408
- return () => viewport.removeEventListener("scroll", handleScroll);
1409
- }
1410
- }, [
1411
- context.viewport,
1412
- isHorizontal,
1413
- send,
1414
- debounceScrollEnd
1415
- ]);
1416
- return /* @__PURE__ */ jsx(Presence, {
1417
- present: forceMount || state !== "hidden",
1418
- children: /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, {
1419
- "data-state": state === "hidden" ? "hidden" : "visible",
1420
- ...scrollbarProps,
1421
- ref: forwardedRef,
1422
- onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send("POINTER_ENTER")),
1423
- onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send("POINTER_LEAVE"))
1424
- })
1425
- });
1426
- });
1427
- var ScrollAreaScrollbarAuto = React$1.forwardRef((props, forwardedRef) => {
1428
- const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
1429
- const { forceMount, ...scrollbarProps } = props;
1430
- const [visible, setVisible] = React$1.useState(false);
1431
- const isHorizontal = props.orientation === "horizontal";
1432
- const handleResize = useDebounceCallback(() => {
1433
- if (context.viewport) {
1434
- const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;
1435
- const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;
1436
- setVisible(isHorizontal ? isOverflowX : isOverflowY);
1437
- }
1438
- }, 10);
1439
- useResizeObserver(context.viewport, handleResize);
1440
- useResizeObserver(context.content, handleResize);
1441
- return /* @__PURE__ */ jsx(Presence, {
1442
- present: forceMount || visible,
1443
- children: /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, {
1444
- "data-state": visible ? "visible" : "hidden",
1445
- ...scrollbarProps,
1446
- ref: forwardedRef
1447
- })
1448
- });
1449
- });
1450
- var ScrollAreaScrollbarVisible = React$1.forwardRef((props, forwardedRef) => {
1451
- const { orientation = "vertical", ...scrollbarProps } = props;
1452
- const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
1453
- const thumbRef = React$1.useRef(null);
1454
- const pointerOffsetRef = React$1.useRef(0);
1455
- const [sizes, setSizes] = React$1.useState({
1456
- content: 0,
1457
- viewport: 0,
1458
- scrollbar: {
1459
- size: 0,
1460
- paddingStart: 0,
1461
- paddingEnd: 0
1462
- }
1463
- });
1464
- const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);
1465
- const commonProps = {
1466
- ...scrollbarProps,
1467
- sizes,
1468
- onSizesChange: setSizes,
1469
- hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),
1470
- onThumbChange: (thumb) => thumbRef.current = thumb,
1471
- onThumbPointerUp: () => pointerOffsetRef.current = 0,
1472
- onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos
1473
- };
1474
- function getScrollPosition(pointerPos, dir) {
1475
- return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);
1476
- }
1477
- if (orientation === "horizontal") return /* @__PURE__ */ jsx(ScrollAreaScrollbarX, {
1478
- ...commonProps,
1479
- ref: forwardedRef,
1480
- onThumbPositionChange: () => {
1481
- if (context.viewport && thumbRef.current) {
1482
- const scrollPos = context.viewport.scrollLeft;
1483
- const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);
1484
- thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;
1485
- }
1486
- },
1487
- onWheelScroll: (scrollPos) => {
1488
- if (context.viewport) context.viewport.scrollLeft = scrollPos;
1489
- },
1490
- onDragScroll: (pointerPos) => {
1491
- if (context.viewport) context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);
1492
- }
1493
- });
1494
- if (orientation === "vertical") return /* @__PURE__ */ jsx(ScrollAreaScrollbarY, {
1495
- ...commonProps,
1496
- ref: forwardedRef,
1497
- onThumbPositionChange: () => {
1498
- if (context.viewport && thumbRef.current) {
1499
- const scrollPos = context.viewport.scrollTop;
1500
- const offset = getThumbOffsetFromScroll(scrollPos, sizes);
1501
- thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;
1502
- }
1503
- },
1504
- onWheelScroll: (scrollPos) => {
1505
- if (context.viewport) context.viewport.scrollTop = scrollPos;
1506
- },
1507
- onDragScroll: (pointerPos) => {
1508
- if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);
1509
- }
1510
- });
1511
- return null;
1512
- });
1513
- var ScrollAreaScrollbarX = React$1.forwardRef((props, forwardedRef) => {
1514
- const { sizes, onSizesChange, ...scrollbarProps } = props;
1515
- const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
1516
- const [computedStyle, setComputedStyle] = React$1.useState();
1517
- const ref = React$1.useRef(null);
1518
- const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);
1519
- React$1.useEffect(() => {
1520
- if (ref.current) setComputedStyle(getComputedStyle(ref.current));
1521
- }, [ref]);
1522
- return /* @__PURE__ */ jsx(ScrollAreaScrollbarImpl, {
1523
- "data-orientation": "horizontal",
1524
- ...scrollbarProps,
1525
- ref: composeRefs,
1526
- sizes,
1527
- style: {
1528
- bottom: 0,
1529
- left: context.dir === "rtl" ? "var(--radix-scroll-area-corner-width)" : 0,
1530
- right: context.dir === "ltr" ? "var(--radix-scroll-area-corner-width)" : 0,
1531
- ["--radix-scroll-area-thumb-width"]: getThumbSize(sizes) + "px",
1532
- ...props.style
1533
- },
1534
- onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),
1535
- onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),
1536
- onWheelScroll: (event, maxScrollPos) => {
1537
- if (context.viewport) {
1538
- const scrollPos = context.viewport.scrollLeft + event.deltaX;
1539
- props.onWheelScroll(scrollPos);
1540
- if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) event.preventDefault();
1541
- }
1542
- },
1543
- onResize: () => {
1544
- if (ref.current && context.viewport && computedStyle) onSizesChange({
1545
- content: context.viewport.scrollWidth,
1546
- viewport: context.viewport.offsetWidth,
1547
- scrollbar: {
1548
- size: ref.current.clientWidth,
1549
- paddingStart: toInt(computedStyle.paddingLeft),
1550
- paddingEnd: toInt(computedStyle.paddingRight)
1551
- }
1552
- });
1553
- }
1554
- });
1555
- });
1556
- var ScrollAreaScrollbarY = React$1.forwardRef((props, forwardedRef) => {
1557
- const { sizes, onSizesChange, ...scrollbarProps } = props;
1558
- const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);
1559
- const [computedStyle, setComputedStyle] = React$1.useState();
1560
- const ref = React$1.useRef(null);
1561
- const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);
1562
- React$1.useEffect(() => {
1563
- if (ref.current) setComputedStyle(getComputedStyle(ref.current));
1564
- }, [ref]);
1565
- return /* @__PURE__ */ jsx(ScrollAreaScrollbarImpl, {
1566
- "data-orientation": "vertical",
1567
- ...scrollbarProps,
1568
- ref: composeRefs,
1569
- sizes,
1570
- style: {
1571
- top: 0,
1572
- right: context.dir === "ltr" ? 0 : void 0,
1573
- left: context.dir === "rtl" ? 0 : void 0,
1574
- bottom: "var(--radix-scroll-area-corner-height)",
1575
- ["--radix-scroll-area-thumb-height"]: getThumbSize(sizes) + "px",
1576
- ...props.style
1577
- },
1578
- onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),
1579
- onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),
1580
- onWheelScroll: (event, maxScrollPos) => {
1581
- if (context.viewport) {
1582
- const scrollPos = context.viewport.scrollTop + event.deltaY;
1583
- props.onWheelScroll(scrollPos);
1584
- if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) event.preventDefault();
1585
- }
1586
- },
1587
- onResize: () => {
1588
- if (ref.current && context.viewport && computedStyle) onSizesChange({
1589
- content: context.viewport.scrollHeight,
1590
- viewport: context.viewport.offsetHeight,
1591
- scrollbar: {
1592
- size: ref.current.clientHeight,
1593
- paddingStart: toInt(computedStyle.paddingTop),
1594
- paddingEnd: toInt(computedStyle.paddingBottom)
1595
- }
1596
- });
1597
- }
1598
- });
1599
- });
1600
- var [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);
1601
- var ScrollAreaScrollbarImpl = React$1.forwardRef((props, forwardedRef) => {
1602
- const { __scopeScrollArea, sizes, hasThumb, onThumbChange, onThumbPointerUp, onThumbPointerDown, onThumbPositionChange, onDragScroll, onWheelScroll, onResize, ...scrollbarProps } = props;
1603
- const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);
1604
- const [scrollbar, setScrollbar] = React$1.useState(null);
1605
- const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));
1606
- const rectRef = React$1.useRef(null);
1607
- const prevWebkitUserSelectRef = React$1.useRef("");
1608
- const viewport = context.viewport;
1609
- const maxScrollPos = sizes.content - sizes.viewport;
1610
- const handleWheelScroll = useCallbackRef(onWheelScroll);
1611
- const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);
1612
- const handleResize = useDebounceCallback(onResize, 10);
1613
- function handleDragScroll(event) {
1614
- if (rectRef.current) onDragScroll({
1615
- x: event.clientX - rectRef.current.left,
1616
- y: event.clientY - rectRef.current.top
1617
- });
1618
- }
1619
- React$1.useEffect(() => {
1620
- const handleWheel = (event) => {
1621
- const element = event.target;
1622
- if (scrollbar?.contains(element)) handleWheelScroll(event, maxScrollPos);
1623
- };
1624
- document.addEventListener("wheel", handleWheel, { passive: false });
1625
- return () => document.removeEventListener("wheel", handleWheel, { passive: false });
1626
- }, [
1627
- viewport,
1628
- scrollbar,
1629
- maxScrollPos,
1630
- handleWheelScroll
1631
- ]);
1632
- React$1.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);
1633
- useResizeObserver(scrollbar, handleResize);
1634
- useResizeObserver(context.content, handleResize);
1635
- return /* @__PURE__ */ jsx(ScrollbarProvider, {
1636
- scope: __scopeScrollArea,
1637
- scrollbar,
1638
- hasThumb,
1639
- onThumbChange: useCallbackRef(onThumbChange),
1640
- onThumbPointerUp: useCallbackRef(onThumbPointerUp),
1641
- onThumbPositionChange: handleThumbPositionChange,
1642
- onThumbPointerDown: useCallbackRef(onThumbPointerDown),
1643
- children: /* @__PURE__ */ jsx(Primitive.div, {
1644
- ...scrollbarProps,
1645
- ref: composeRefs,
1646
- style: {
1647
- position: "absolute",
1648
- ...scrollbarProps.style
1649
- },
1650
- onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {
1651
- if (event.button === 0) {
1652
- event.target.setPointerCapture(event.pointerId);
1653
- rectRef.current = scrollbar.getBoundingClientRect();
1654
- prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;
1655
- document.body.style.webkitUserSelect = "none";
1656
- if (context.viewport) context.viewport.style.scrollBehavior = "auto";
1657
- handleDragScroll(event);
1658
- }
1659
- }),
1660
- onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),
1661
- onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {
1662
- const element = event.target;
1663
- if (element.hasPointerCapture(event.pointerId)) element.releasePointerCapture(event.pointerId);
1664
- document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;
1665
- if (context.viewport) context.viewport.style.scrollBehavior = "";
1666
- rectRef.current = null;
1667
- })
1668
- })
1669
- });
1670
- });
1671
- var THUMB_NAME = "ScrollAreaThumb";
1672
- var ScrollAreaThumb = React$1.forwardRef((props, forwardedRef) => {
1673
- const { forceMount, ...thumbProps } = props;
1674
- const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);
1675
- return /* @__PURE__ */ jsx(Presence, {
1676
- present: forceMount || scrollbarContext.hasThumb,
1677
- children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, {
1678
- ref: forwardedRef,
1679
- ...thumbProps
1680
- })
1681
- });
1682
- });
1683
- var ScrollAreaThumbImpl = React$1.forwardRef((props, forwardedRef) => {
1684
- const { __scopeScrollArea, style, ...thumbProps } = props;
1685
- const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);
1686
- const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);
1687
- const { onThumbPositionChange } = scrollbarContext;
1688
- const composedRef = useComposedRefs(forwardedRef, (node) => scrollbarContext.onThumbChange(node));
1689
- const removeUnlinkedScrollListenerRef = React$1.useRef(void 0);
1690
- const debounceScrollEnd = useDebounceCallback(() => {
1691
- if (removeUnlinkedScrollListenerRef.current) {
1692
- removeUnlinkedScrollListenerRef.current();
1693
- removeUnlinkedScrollListenerRef.current = void 0;
1694
- }
1695
- }, 100);
1696
- React$1.useEffect(() => {
1697
- const viewport = scrollAreaContext.viewport;
1698
- if (viewport) {
1699
- const handleScroll = () => {
1700
- debounceScrollEnd();
1701
- if (!removeUnlinkedScrollListenerRef.current) {
1702
- removeUnlinkedScrollListenerRef.current = addUnlinkedScrollListener(viewport, onThumbPositionChange);
1703
- onThumbPositionChange();
1704
- }
1705
- };
1706
- onThumbPositionChange();
1707
- viewport.addEventListener("scroll", handleScroll);
1708
- return () => viewport.removeEventListener("scroll", handleScroll);
1709
- }
1710
- }, [
1711
- scrollAreaContext.viewport,
1712
- debounceScrollEnd,
1713
- onThumbPositionChange
1714
- ]);
1715
- return /* @__PURE__ */ jsx(Primitive.div, {
1716
- "data-state": scrollbarContext.hasThumb ? "visible" : "hidden",
1717
- ...thumbProps,
1718
- ref: composedRef,
1719
- style: {
1720
- width: "var(--radix-scroll-area-thumb-width)",
1721
- height: "var(--radix-scroll-area-thumb-height)",
1722
- ...style
1723
- },
1724
- onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {
1725
- const thumbRect = event.target.getBoundingClientRect();
1726
- const x = event.clientX - thumbRect.left;
1727
- const y = event.clientY - thumbRect.top;
1728
- scrollbarContext.onThumbPointerDown({
1729
- x,
1730
- y
1731
- });
1732
- }),
1733
- onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)
1734
- });
1735
- });
1736
- ScrollAreaThumb.displayName = THUMB_NAME;
1737
- var CORNER_NAME = "ScrollAreaCorner";
1738
- var ScrollAreaCorner = React$1.forwardRef((props, forwardedRef) => {
1739
- const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);
1740
- const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);
1741
- return context.type !== "scroll" && hasBothScrollbarsVisible ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, {
1742
- ...props,
1743
- ref: forwardedRef
1744
- }) : null;
1745
- });
1746
- ScrollAreaCorner.displayName = CORNER_NAME;
1747
- var ScrollAreaCornerImpl = React$1.forwardRef((props, forwardedRef) => {
1748
- const { __scopeScrollArea, ...cornerProps } = props;
1749
- const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);
1750
- const [width, setWidth] = React$1.useState(0);
1751
- const [height, setHeight] = React$1.useState(0);
1752
- const hasSize = Boolean(width && height);
1753
- useResizeObserver(context.scrollbarX, () => {
1754
- const height2 = context.scrollbarX?.offsetHeight || 0;
1755
- context.onCornerHeightChange(height2);
1756
- setHeight(height2);
1757
- });
1758
- useResizeObserver(context.scrollbarY, () => {
1759
- const width2 = context.scrollbarY?.offsetWidth || 0;
1760
- context.onCornerWidthChange(width2);
1761
- setWidth(width2);
1762
- });
1763
- return hasSize ? /* @__PURE__ */ jsx(Primitive.div, {
1764
- ...cornerProps,
1765
- ref: forwardedRef,
1766
- style: {
1767
- width,
1768
- height,
1769
- position: "absolute",
1770
- right: context.dir === "ltr" ? 0 : void 0,
1771
- left: context.dir === "rtl" ? 0 : void 0,
1772
- bottom: 0,
1773
- ...props.style
1774
- }
1775
- }) : null;
1776
- });
1777
- function toInt(value) {
1778
- return value ? parseInt(value, 10) : 0;
1779
- }
1780
- function getThumbRatio(viewportSize, contentSize) {
1781
- const ratio = viewportSize / contentSize;
1782
- return isNaN(ratio) ? 0 : ratio;
1783
- }
1784
- function getThumbSize(sizes) {
1785
- const ratio = getThumbRatio(sizes.viewport, sizes.content);
1786
- const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;
1787
- const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;
1788
- return Math.max(thumbSize, 18);
1789
- }
1790
- function getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = "ltr") {
1791
- const thumbSizePx = getThumbSize(sizes);
1792
- const thumbCenter = thumbSizePx / 2;
1793
- const offset = pointerOffset || thumbCenter;
1794
- const thumbOffsetFromEnd = thumbSizePx - offset;
1795
- const minPointerPos = sizes.scrollbar.paddingStart + offset;
1796
- const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;
1797
- const maxScrollPos = sizes.content - sizes.viewport;
1798
- const scrollRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
1799
- return linearScale([minPointerPos, maxPointerPos], scrollRange)(pointerPos);
1800
- }
1801
- function getThumbOffsetFromScroll(scrollPos, sizes, dir = "ltr") {
1802
- const thumbSizePx = getThumbSize(sizes);
1803
- const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;
1804
- const scrollbar = sizes.scrollbar.size - scrollbarPadding;
1805
- const maxScrollPos = sizes.content - sizes.viewport;
1806
- const maxThumbPos = scrollbar - thumbSizePx;
1807
- const scrollWithoutMomentum = clamp(scrollPos, dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0]);
1808
- return linearScale([0, maxScrollPos], [0, maxThumbPos])(scrollWithoutMomentum);
1809
- }
1810
- function linearScale(input, output) {
1811
- return (value) => {
1812
- if (input[0] === input[1] || output[0] === output[1]) return output[0];
1813
- const ratio = (output[1] - output[0]) / (input[1] - input[0]);
1814
- return output[0] + ratio * (value - input[0]);
1815
- };
1816
- }
1817
- function isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {
1818
- return scrollPos > 0 && scrollPos < maxScrollPos;
1819
- }
1820
- var addUnlinkedScrollListener = (node, handler = () => {}) => {
1821
- let prevPosition = {
1822
- left: node.scrollLeft,
1823
- top: node.scrollTop
1824
- };
1825
- let rAF = 0;
1826
- (function loop() {
1827
- const position = {
1828
- left: node.scrollLeft,
1829
- top: node.scrollTop
1830
- };
1831
- const isHorizontalScroll = prevPosition.left !== position.left;
1832
- const isVerticalScroll = prevPosition.top !== position.top;
1833
- if (isHorizontalScroll || isVerticalScroll) handler();
1834
- prevPosition = position;
1835
- rAF = window.requestAnimationFrame(loop);
1836
- })();
1837
- return () => window.cancelAnimationFrame(rAF);
1838
- };
1839
- function useDebounceCallback(callback, delay) {
1840
- const handleCallback = useCallbackRef(callback);
1841
- const debounceTimerRef = React$1.useRef(0);
1842
- React$1.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);
1843
- return React$1.useCallback(() => {
1844
- window.clearTimeout(debounceTimerRef.current);
1845
- debounceTimerRef.current = window.setTimeout(handleCallback, delay);
1846
- }, [handleCallback, delay]);
1847
- }
1848
- function useResizeObserver(element, onResize) {
1849
- const handleResize = useCallbackRef(onResize);
1850
- useLayoutEffect2(() => {
1851
- let rAF = 0;
1852
- if (element) {
1853
- const resizeObserver = new ResizeObserver(() => {
1854
- cancelAnimationFrame(rAF);
1855
- rAF = window.requestAnimationFrame(handleResize);
1856
- });
1857
- resizeObserver.observe(element);
1858
- return () => {
1859
- window.cancelAnimationFrame(rAF);
1860
- resizeObserver.unobserve(element);
1861
- };
1862
- }
1863
- }, [element, handleResize]);
1864
- }
1865
- var Root = ScrollArea$1;
1866
- var Viewport = ScrollAreaViewport;
1867
- var Corner = ScrollAreaCorner;
1868
869
  function ScrollArea({ className, children, ...props }) {
1869
- return /* @__PURE__ */ jsxs(Root, {
870
+ return /* @__PURE__ */ jsxs(ScrollAreaPrimitive.Root, {
1870
871
  "data-slot": "scroll-area",
1871
872
  className: cn("relative", className),
1872
873
  ...props,
1873
874
  children: [
1874
- /* @__PURE__ */ jsx(Viewport, {
875
+ /* @__PURE__ */ jsx(ScrollAreaPrimitive.Viewport, {
1875
876
  "data-slot": "scroll-area-viewport",
1876
877
  className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",
1877
878
  children
1878
879
  }),
1879
880
  /* @__PURE__ */ jsx(ScrollBar, {}),
1880
- /* @__PURE__ */ jsx(Corner, {})
881
+ /* @__PURE__ */ jsx(ScrollAreaPrimitive.Corner, {})
1881
882
  ]
1882
883
  });
1883
884
  }
1884
885
  function ScrollBar({ className, orientation = "vertical", ...props }) {
1885
- return /* @__PURE__ */ jsx(ScrollAreaScrollbar, {
886
+ return /* @__PURE__ */ jsx(ScrollAreaPrimitive.ScrollAreaScrollbar, {
1886
887
  "data-slot": "scroll-area-scrollbar",
1887
888
  orientation,
1888
889
  className: cn("flex touch-none p-px transition-colors select-none", orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent", orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent", className),
1889
890
  ...props,
1890
- children: /* @__PURE__ */ jsx(ScrollAreaThumb, {
891
+ children: /* @__PURE__ */ jsx(ScrollAreaPrimitive.ScrollAreaThumb, {
1891
892
  "data-slot": "scroll-area-thumb",
1892
893
  className: "bg-border relative flex-1 rounded-full"
1893
894
  })
@@ -2313,7 +1314,7 @@ SplitLayoutMainFooter.displayName = "SplitLayoutGlass.MainFooter";
2313
1314
  var SplitLayoutTrigger = forwardRef(({ asChild = false, showOnDesktop = false, variant = "menu", className, children, ...props }, ref) => {
2314
1315
  const { toggle, isOpen, isMobileOpen, isMobile, breakpoint } = useSplitLayout();
2315
1316
  const currentOpen = isMobile ? isMobileOpen : isOpen;
2316
- const Icon$1 = variant === "menu" ? currentOpen ? X : Menu : currentOpen ? PanelLeftClose : PanelLeftOpen;
1317
+ const Icon = variant === "menu" ? currentOpen ? X : Menu : currentOpen ? PanelLeftClose : PanelLeftOpen;
2317
1318
  const visibilityClass = showOnDesktop ? "" : `${breakpoint}:hidden`;
2318
1319
  if (asChild) return /* @__PURE__ */ jsx(Slot, {
2319
1320
  ref,
@@ -2335,7 +1336,7 @@ var SplitLayoutTrigger = forwardRef(({ asChild = false, showOnDesktop = false, v
2335
1336
  "data-state": currentOpen ? "open" : "closed",
2336
1337
  className: cn(visibilityClass, className),
2337
1338
  ...props,
2338
- children: children ?? /* @__PURE__ */ jsx(Icon$1, { className: "h-5 w-5" })
1339
+ children: children ?? /* @__PURE__ */ jsx(Icon, { className: "h-5 w-5" })
2339
1340
  });
2340
1341
  });
2341
1342
  SplitLayoutTrigger.displayName = "SplitLayoutGlass.Trigger";
@@ -2352,14 +1353,14 @@ const SplitLayoutGlass = {
2352
1353
  MainFooter: SplitLayoutMainFooter,
2353
1354
  Trigger: SplitLayoutTrigger
2354
1355
  };
2355
- var ChartContext = React$1.createContext(null);
1356
+ var ChartContext = React.createContext(null);
2356
1357
  function useChart() {
2357
- const context = React$1.useContext(ChartContext);
1358
+ const context = React.useContext(ChartContext);
2358
1359
  if (!context) throw new Error("useChart must be used within a <ChartContainer />");
2359
1360
  return context;
2360
1361
  }
2361
- var ChartContainer = React$1.forwardRef(({ id, className, children, config, ...props }, ref) => {
2362
- const uniqueId = React$1.useId();
1362
+ var ChartContainer = React.forwardRef(({ id, className, children, config, ...props }, ref) => {
1363
+ const uniqueId = React.useId();
2363
1364
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
2364
1365
  return /* @__PURE__ */ jsx(ChartContext.Provider, {
2365
1366
  value: { config },
@@ -2371,7 +1372,7 @@ var ChartContainer = React$1.forwardRef(({ id, className, children, config, ...p
2371
1372
  children: [/* @__PURE__ */ jsx(ChartStyle, {
2372
1373
  id: chartId,
2373
1374
  config
2374
- }), /* @__PURE__ */ jsx(ResponsiveContainer, { children })]
1375
+ }), /* @__PURE__ */ jsx(RechartsPrimitive.ResponsiveContainer, { children })]
2375
1376
  })
2376
1377
  });
2377
1378
  });
@@ -2396,10 +1397,10 @@ ${colorConfig.map(([key, itemConfig]) => {
2396
1397
  }
2397
1398
  ` } });
2398
1399
  };
2399
- var ChartTooltip = Tooltip;
2400
- var ChartTooltipContent = React$1.forwardRef(({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, nameKey, labelKey, valueFormatter }, ref) => {
1400
+ var ChartTooltip = RechartsPrimitive.Tooltip;
1401
+ var ChartTooltipContent = React.forwardRef(({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, nameKey, labelKey, valueFormatter }, ref) => {
2401
1402
  const { config } = useChart();
2402
- const tooltipLabel = React$1.useMemo(() => {
1403
+ const tooltipLabel = React.useMemo(() => {
2403
1404
  if (hideLabel || !payload?.length) return null;
2404
1405
  const [item] = payload;
2405
1406
  const itemConfig = getPayloadConfigFromPayload(config, item, `${labelKey || item?.dataKey || item?.name || "value"}`);
@@ -2464,8 +1465,8 @@ var ChartTooltipContent = React$1.forwardRef(({ active, payload, className, indi
2464
1465
  });
2465
1466
  });
2466
1467
  ChartTooltipContent.displayName = "ChartTooltipContent";
2467
- var ChartLegend = Legend;
2468
- var ChartLegendContent = React$1.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
1468
+ var ChartLegend = RechartsPrimitive.Legend;
1469
+ var ChartLegendContent = React.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
2469
1470
  const { config } = useChart();
2470
1471
  if (!payload?.length) return null;
2471
1472
  return /* @__PURE__ */ jsx("div", {
@@ -2548,6 +1549,6 @@ const buttonVariants = cva("inline-flex items-center justify-center gap-2 whites
2548
1549
  size: "default"
2549
1550
  }
2550
1551
  });
2551
- export { AICardGlass, AlertGlass, AlertGlassDescription, AlertGlassTitle, AvatarGlass, AvatarGlassFallback, AvatarGlassImage, AvatarGlassSimple, BadgeGlass, Bar, BarChart, BaseProgressGlass, ButtonGlass, CareerStatsGlass, CareerStatsHeaderGlass, Cell, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, CheckboxGlass, CircularMetricGlass, CircularProgressGlass, ComboBoxGlass, ContributionMetricsGlass, DropdownGlass, DropdownMenuGlass, DropdownMenuGlassCheckboxItem, DropdownMenuGlassContent, DropdownMenuGlassGroup, DropdownMenuGlassItem, DropdownMenuGlassLabel, DropdownMenuGlassPortal, DropdownMenuGlassRadioGroup, DropdownMenuGlassRadioItem, DropdownMenuGlassSeparator, DropdownMenuGlassShortcut, DropdownMenuGlassSub, DropdownMenuGlassSubContent, DropdownMenuGlassSubTrigger, DropdownMenuGlassTrigger, ExpandableHeaderGlass, FlagAlertGlass, FlagsSectionGlass, FormFieldWrapper, GlassCard, HeaderBrandingGlass, HeaderNavGlass, IconButtonGlass, InputGlass, InsightCardGlass, InteractiveCard, LanguageBarGlass, MetricCardGlass, MetricsGridGlass, ModalGlass, NotificationGlass, PopoverGlass, PopoverGlassAnchor, PopoverGlassContent, PopoverGlassLegacy, PopoverGlassTrigger, ProfileAvatarGlass, ProfileHeaderGlass, ProgressGlass, ProjectsListGlass, RainbowProgressGlass, RepositoryCardGlass, RepositoryHeaderGlass, RepositoryMetadataGlass, ResponsiveContainer, SearchBoxGlass, SegmentedControlGlass, SidebarGlass, SkeletonGlass, SliderGlass, SortDropdownGlass, SparklineGlass, SplitLayoutAccordion, SplitLayoutGlass, StatItemGlass, StatusIndicatorGlass, StepperGlass, THEMES, THEME_CONFIG, TabsGlass, ThemeProvider, ThemeToggleGlass, ToggleGlass, TooltipGlass, TooltipGlassContent, TooltipGlassProvider, TooltipGlassSimple, TooltipGlassTrigger, TouchTarget, TrustScoreCardGlass, TrustScoreDisplayGlass, UserInfoGlass, UserStatsLineGlass, YearCardGlass, alertVariants, avatarSizes, badgeVariants, buttonGlassVariants, cardIntensity, cn, dropdownAlign, getNextTheme, getThemeConfig, inputVariants, insightCardVariants, insightVariantConfig, modalSizes, notificationVariants, progressSizes, alertVariants$1 as shadcnAlertVariants, badgeVariants$1 as shadcnBadgeVariants, buttonVariants as shadcnButtonVariants, skeletonVariants, sparklineBarVariants, sparklineContainerVariants, statusSizes, stepperConnectorVariants, stepperContentVariants, stepperDescriptionVariants, stepperIndicatorVariants, stepperLabelVariants, stepperListVariants, stepperRootVariants, stepperStepContainerVariants, toggleSizes, tooltipPositions, useChart, useFocus, useHover, useResponsive, useSidebar, useSplitLayout, useSplitLayoutOptional, useTheme, useWallpaperTint };
1552
+ export { AICardGlass, AlertGlass, AlertGlassDescription, AlertGlassTitle, AvatarGlass, AvatarGlassFallback, AvatarGlassImage, AvatarGlassSimple, BadgeGlass, Bar, BarChart, BaseProgressGlass, ButtonGlass, CardGlass, CardGlassAction, CardGlassContent, CardGlassDescription, CardGlassFooter, CardGlassHeader, CardGlassRoot, CardGlassTitle, CareerStatsGlass, CareerStatsHeaderGlass, Cell, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, CheckboxGlass, CircularMetricGlass, CircularProgressGlass, ComboBoxGlass, ContributionMetricsGlass, DropdownGlass, DropdownMenuGlass, DropdownMenuGlassCheckboxItem, DropdownMenuGlassContent, DropdownMenuGlassGroup, DropdownMenuGlassItem, DropdownMenuGlassLabel, DropdownMenuGlassPortal, DropdownMenuGlassRadioGroup, DropdownMenuGlassRadioItem, DropdownMenuGlassSeparator, DropdownMenuGlassShortcut, DropdownMenuGlassSub, DropdownMenuGlassSubContent, DropdownMenuGlassSubTrigger, DropdownMenuGlassTrigger, ExpandableHeaderGlass, FlagAlertGlass, FlagsSectionGlass, FormFieldWrapper, GlassCard, HeaderBrandingGlass, HeaderNavGlass, IconButtonGlass, InputGlass, InsightCardGlass, InteractiveCard, LanguageBarGlass, MetricCardGlass, MetricsGridGlass, ModalGlass, NotificationGlass, PopoverGlass, PopoverGlassAnchor, PopoverGlassContent, PopoverGlassLegacy, PopoverGlassTrigger, ProfileAvatarGlass, ProfileHeaderGlass, ProgressGlass, ProjectsListGlass, RainbowProgressGlass, RepositoryCardGlass, RepositoryHeaderGlass, RepositoryMetadataGlass, ResponsiveContainer, SearchBoxGlass, SegmentedControlGlass, SidebarGlass, SkeletonGlass, SliderGlass, SortDropdownGlass, SparklineGlass, SplitLayoutAccordion, SplitLayoutGlass, StatItemGlass, StatusIndicatorGlass, StepperGlass, THEMES, THEME_CONFIG, TabsGlass, ThemeProvider, ThemeToggleGlass, ToggleGlass, TooltipGlass, TooltipGlassContent, TooltipGlassProvider, TooltipGlassSimple, TooltipGlassTrigger, TouchTarget, TrustScoreCardGlass, TrustScoreDisplayGlass, UserInfoGlass, UserStatsLineGlass, YearCardGlass, alertVariants, avatarSizes, badgeVariants, buttonGlassVariants, cardIntensity, cn, dropdownAlign, getNextTheme, getThemeConfig, inputVariants, insightCardVariants, insightVariantConfig, modalSizes, notificationVariants, progressSizes, alertVariants$1 as shadcnAlertVariants, badgeVariants$1 as shadcnBadgeVariants, buttonVariants as shadcnButtonVariants, skeletonVariants, sparklineBarVariants, sparklineContainerVariants, statusSizes, stepperConnectorVariants, stepperContentVariants, stepperDescriptionVariants, stepperIndicatorVariants, stepperLabelVariants, stepperListVariants, stepperRootVariants, stepperStepContainerVariants, toggleSizes, tooltipPositions, useChart, useFocus, useHover, useResponsive, useSidebar, useSplitLayout, useSplitLayoutOptional, useTheme, useWallpaperTint };
2552
1553
 
2553
- //# sourceMappingURL=index.js.map
1554
+ //# sourceMappingURL=index.mjs.map