@cronus-ui/ui 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (717) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +262 -0
  3. package/dist/charts/animation.d.ts +11 -0
  4. package/dist/charts/animation.js +29 -0
  5. package/dist/charts/area-chart-loading.d.ts +34 -0
  6. package/dist/charts/area-chart-loading.js +22 -0
  7. package/dist/charts/area-chart.d.ts +48 -0
  8. package/dist/charts/area-chart.js +57 -0
  9. package/dist/charts/area-gradient-defs.d.ts +20 -0
  10. package/dist/charts/area-gradient-defs.js +15 -0
  11. package/dist/charts/area.d.ts +76 -0
  12. package/dist/charts/area.js +104 -0
  13. package/dist/charts/background.d.ts +27 -0
  14. package/dist/charts/background.js +68 -0
  15. package/dist/charts/bar-chart-loading.d.ts +17 -0
  16. package/dist/charts/bar-chart-loading.js +14 -0
  17. package/dist/charts/bar-chart.d.ts +55 -0
  18. package/dist/charts/bar-chart.js +432 -0
  19. package/dist/charts/bar-depth-geometry.d.ts +33 -0
  20. package/dist/charts/bar-depth-geometry.js +38 -0
  21. package/dist/charts/bar-depth.d.ts +157 -0
  22. package/dist/charts/bar-depth.js +586 -0
  23. package/dist/charts/bar-squares-layout.d.ts +28 -0
  24. package/dist/charts/bar-squares-layout.js +47 -0
  25. package/dist/charts/bar-squares.d.ts +49 -0
  26. package/dist/charts/bar-squares.js +207 -0
  27. package/dist/charts/bar-x-axis.d.ts +14 -0
  28. package/dist/charts/bar-x-axis.js +73 -0
  29. package/dist/charts/bar-y-axis.d.ts +12 -0
  30. package/dist/charts/bar-y-axis.js +64 -0
  31. package/dist/charts/bar.d.ts +41 -0
  32. package/dist/charts/bar.js +208 -0
  33. package/dist/charts/candlestick-chart.d.ts +46 -0
  34. package/dist/charts/candlestick-chart.js +203 -0
  35. package/dist/charts/candlestick.d.ts +24 -0
  36. package/dist/charts/candlestick.js +139 -0
  37. package/dist/charts/chart-brush-handle.d.ts +15 -0
  38. package/dist/charts/chart-brush-handle.js +47 -0
  39. package/dist/charts/chart-brush-layout.d.ts +27 -0
  40. package/dist/charts/chart-brush-layout.js +42 -0
  41. package/dist/charts/chart-brush-selection-overlay.d.ts +19 -0
  42. package/dist/charts/chart-brush-selection-overlay.js +44 -0
  43. package/dist/charts/chart-brush-track-overlay.d.ts +23 -0
  44. package/dist/charts/chart-brush-track-overlay.js +65 -0
  45. package/dist/charts/chart-brush.d.ts +32 -0
  46. package/dist/charts/chart-brush.js +116 -0
  47. package/dist/charts/chart-center-typography.d.ts +12 -0
  48. package/dist/charts/chart-center-typography.js +12 -0
  49. package/dist/charts/chart-child-passthrough.d.ts +17 -0
  50. package/dist/charts/chart-child-passthrough.js +74 -0
  51. package/dist/charts/chart-config-context.d.ts +26 -0
  52. package/dist/charts/chart-config-context.js +47 -0
  53. package/dist/charts/chart-context.d.ts +199 -0
  54. package/dist/charts/chart-context.js +201 -0
  55. package/dist/charts/chart-defs.d.ts +13 -0
  56. package/dist/charts/chart-defs.js +49 -0
  57. package/dist/charts/chart-formatters.d.ts +10 -0
  58. package/dist/charts/chart-formatters.js +28 -0
  59. package/dist/charts/chart-legend-hover.d.ts +13 -0
  60. package/dist/charts/chart-legend-hover.js +18 -0
  61. package/dist/charts/chart-legend.d.ts +55 -0
  62. package/dist/charts/chart-legend.js +30 -0
  63. package/dist/charts/chart-loading-label.d.ts +10 -0
  64. package/dist/charts/chart-loading-label.js +21 -0
  65. package/dist/charts/chart-phase.d.ts +31 -0
  66. package/dist/charts/chart-phase.js +21 -0
  67. package/dist/charts/chart-reveal-clip.d.ts +24 -0
  68. package/dist/charts/chart-reveal-clip.js +24 -0
  69. package/dist/charts/chart-scale.d.ts +12 -0
  70. package/dist/charts/chart-scale.js +17 -0
  71. package/dist/charts/chart-stat-flow.d.ts +36 -0
  72. package/dist/charts/chart-stat-flow.js +23 -0
  73. package/dist/charts/choropleth/choropleth-chart.d.ts +43 -0
  74. package/dist/charts/choropleth/choropleth-chart.js +218 -0
  75. package/dist/charts/choropleth/choropleth-context.d.ts +86 -0
  76. package/dist/charts/choropleth/choropleth-context.js +106 -0
  77. package/dist/charts/choropleth/choropleth-feature.d.ts +13 -0
  78. package/dist/charts/choropleth/choropleth-feature.js +125 -0
  79. package/dist/charts/choropleth/choropleth-graticule.d.ts +11 -0
  80. package/dist/charts/choropleth/choropleth-graticule.js +12 -0
  81. package/dist/charts/choropleth/choropleth-tooltip.d.ts +31 -0
  82. package/dist/charts/choropleth/choropleth-tooltip.js +50 -0
  83. package/dist/charts/choropleth/index.d.ts +7 -0
  84. package/dist/charts/choropleth/index.js +6 -0
  85. package/dist/charts/composed-chart.d.ts +36 -0
  86. package/dist/charts/composed-chart.js +152 -0
  87. package/dist/charts/dash-tail-stroke.d.ts +18 -0
  88. package/dist/charts/dash-tail-stroke.js +13 -0
  89. package/dist/charts/decimate-time-series.d.ts +10 -0
  90. package/dist/charts/decimate-time-series.js +112 -0
  91. package/dist/charts/fade-edges.d.ts +34 -0
  92. package/dist/charts/fade-edges.js +35 -0
  93. package/dist/charts/filter-data-by-x-domain.d.ts +5 -0
  94. package/dist/charts/filter-data-by-x-domain.js +42 -0
  95. package/dist/charts/funnel-chart.d.ts +91 -0
  96. package/dist/charts/funnel-chart.js +302 -0
  97. package/dist/charts/gauge-label-layout.d.ts +22 -0
  98. package/dist/charts/gauge-label-layout.js +44 -0
  99. package/dist/charts/gauge.d.ts +56 -0
  100. package/dist/charts/gauge.js +307 -0
  101. package/dist/charts/generate-chart-skeleton-data.d.ts +16 -0
  102. package/dist/charts/generate-chart-skeleton-data.js +25 -0
  103. package/dist/charts/grid.d.ts +58 -0
  104. package/dist/charts/grid.js +80 -0
  105. package/dist/charts/heatmap/generate-heatmap-skeleton-data.d.ts +4 -0
  106. package/dist/charts/heatmap/generate-heatmap-skeleton-data.js +12 -0
  107. package/dist/charts/heatmap/heatmap-animation.d.ts +41 -0
  108. package/dist/charts/heatmap/heatmap-animation.js +85 -0
  109. package/dist/charts/heatmap/heatmap-cells.d.ts +21 -0
  110. package/dist/charts/heatmap/heatmap-cells.js +265 -0
  111. package/dist/charts/heatmap/heatmap-chart-loading.d.ts +21 -0
  112. package/dist/charts/heatmap/heatmap-chart-loading.js +14 -0
  113. package/dist/charts/heatmap/heatmap-chart.d.ts +80 -0
  114. package/dist/charts/heatmap/heatmap-chart.js +275 -0
  115. package/dist/charts/heatmap/heatmap-colors.d.ts +70 -0
  116. package/dist/charts/heatmap/heatmap-colors.js +113 -0
  117. package/dist/charts/heatmap/heatmap-context.d.ts +109 -0
  118. package/dist/charts/heatmap/heatmap-context.js +69 -0
  119. package/dist/charts/heatmap/heatmap-legend-gradient.d.ts +20 -0
  120. package/dist/charts/heatmap/heatmap-legend-gradient.js +44 -0
  121. package/dist/charts/heatmap/heatmap-legend-swatch.d.ts +8 -0
  122. package/dist/charts/heatmap/heatmap-legend-swatch.js +26 -0
  123. package/dist/charts/heatmap/heatmap-legend.d.ts +41 -0
  124. package/dist/charts/heatmap/heatmap-legend.js +68 -0
  125. package/dist/charts/heatmap/heatmap-pattern-defs.d.ts +5 -0
  126. package/dist/charts/heatmap/heatmap-pattern-defs.js +25 -0
  127. package/dist/charts/heatmap/heatmap-resolve-separator.d.ts +8 -0
  128. package/dist/charts/heatmap/heatmap-resolve-separator.js +82 -0
  129. package/dist/charts/heatmap/heatmap-separator.d.ts +63 -0
  130. package/dist/charts/heatmap/heatmap-separator.js +71 -0
  131. package/dist/charts/heatmap/heatmap-tooltip.d.ts +30 -0
  132. package/dist/charts/heatmap/heatmap-tooltip.js +20 -0
  133. package/dist/charts/heatmap/heatmap-utils.d.ts +175 -0
  134. package/dist/charts/heatmap/heatmap-utils.js +595 -0
  135. package/dist/charts/heatmap/heatmap-x-axis.d.ts +7 -0
  136. package/dist/charts/heatmap/heatmap-x-axis.js +54 -0
  137. package/dist/charts/heatmap/heatmap-y-axis.d.ts +14 -0
  138. package/dist/charts/heatmap/heatmap-y-axis.js +37 -0
  139. package/dist/charts/heatmap/index.d.ts +15 -0
  140. package/dist/charts/heatmap/index.js +15 -0
  141. package/dist/charts/heatmap/use-delayed-tooltip-data.d.ts +3 -0
  142. package/dist/charts/heatmap/use-delayed-tooltip-data.js +53 -0
  143. package/dist/charts/highlight-segment-bounds.d.ts +18 -0
  144. package/dist/charts/highlight-segment-bounds.js +36 -0
  145. package/dist/charts/highlight-segment.d.ts +22 -0
  146. package/dist/charts/highlight-segment.js +14 -0
  147. package/dist/charts/index.d.ts +106 -0
  148. package/dist/charts/index.js +133 -0
  149. package/dist/charts/indicator-fade.d.ts +15 -0
  150. package/dist/charts/indicator-fade.js +42 -0
  151. package/dist/charts/legend/index.d.ts +8 -0
  152. package/dist/charts/legend/index.js +10 -0
  153. package/dist/charts/legend/legend-context.d.ts +48 -0
  154. package/dist/charts/legend/legend-context.js +34 -0
  155. package/dist/charts/legend/legend-item.d.ts +12 -0
  156. package/dist/charts/legend/legend-item.js +11 -0
  157. package/dist/charts/legend/legend-label.d.ts +9 -0
  158. package/dist/charts/legend/legend-label.js +10 -0
  159. package/dist/charts/legend/legend-marker.d.ts +9 -0
  160. package/dist/charts/legend/legend-marker.js +11 -0
  161. package/dist/charts/legend/legend-progress.d.ts +13 -0
  162. package/dist/charts/legend/legend-progress.js +15 -0
  163. package/dist/charts/legend/legend-value.d.ts +17 -0
  164. package/dist/charts/legend/legend-value.js +11 -0
  165. package/dist/charts/legend/legend.d.ts +23 -0
  166. package/dist/charts/legend/legend.js +43 -0
  167. package/dist/charts/line-chart-loading.d.ts +34 -0
  168. package/dist/charts/line-chart-loading.js +22 -0
  169. package/dist/charts/line-chart.d.ts +46 -0
  170. package/dist/charts/line-chart.js +91 -0
  171. package/dist/charts/line-loading-pulse.d.ts +20 -0
  172. package/dist/charts/line-loading-pulse.js +124 -0
  173. package/dist/charts/line-loading-timing.d.ts +10 -0
  174. package/dist/charts/line-loading-timing.js +10 -0
  175. package/dist/charts/line-series-terminal-marker.d.ts +16 -0
  176. package/dist/charts/line-series-terminal-marker.js +46 -0
  177. package/dist/charts/line.d.ts +64 -0
  178. package/dist/charts/line.js +96 -0
  179. package/dist/charts/live-line-chart.d.ts +35 -0
  180. package/dist/charts/live-line-chart.js +374 -0
  181. package/dist/charts/live-line.d.ts +39 -0
  182. package/dist/charts/live-line.js +78 -0
  183. package/dist/charts/live-x-axis.d.ts +12 -0
  184. package/dist/charts/live-x-axis.js +85 -0
  185. package/dist/charts/live-y-axis.d.ts +16 -0
  186. package/dist/charts/live-y-axis.js +137 -0
  187. package/dist/charts/loading-sweep.d.ts +66 -0
  188. package/dist/charts/loading-sweep.js +174 -0
  189. package/dist/charts/markers/chart-markers.d.ts +25 -0
  190. package/dist/charts/markers/chart-markers.js +87 -0
  191. package/dist/charts/markers/index.d.ts +3 -0
  192. package/dist/charts/markers/index.js +3 -0
  193. package/dist/charts/markers/marker-group.d.ts +88 -0
  194. package/dist/charts/markers/marker-group.js +171 -0
  195. package/dist/charts/motion-utils.d.ts +9 -0
  196. package/dist/charts/motion-utils.js +28 -0
  197. package/dist/charts/notch-gauge-shared.d.ts +49 -0
  198. package/dist/charts/notch-gauge-shared.js +103 -0
  199. package/dist/charts/path-stroke-utils.d.ts +20 -0
  200. package/dist/charts/path-stroke-utils.js +55 -0
  201. package/dist/charts/pattern-area.d.ts +21 -0
  202. package/dist/charts/pattern-area.js +19 -0
  203. package/dist/charts/pattern-preset.d.ts +26 -0
  204. package/dist/charts/pattern-preset.js +83 -0
  205. package/dist/charts/pie-center-shell.d.ts +24 -0
  206. package/dist/charts/pie-center-shell.js +109 -0
  207. package/dist/charts/pie-center.d.ts +46 -0
  208. package/dist/charts/pie-center.js +46 -0
  209. package/dist/charts/pie-chart.d.ts +50 -0
  210. package/dist/charts/pie-chart.js +248 -0
  211. package/dist/charts/pie-context.d.ts +74 -0
  212. package/dist/charts/pie-context.js +95 -0
  213. package/dist/charts/pie-slice.d.ts +28 -0
  214. package/dist/charts/pie-slice.js +180 -0
  215. package/dist/charts/profit-loss-legend-hover.d.ts +11 -0
  216. package/dist/charts/profit-loss-legend-hover.js +12 -0
  217. package/dist/charts/profit-loss-legend.d.ts +17 -0
  218. package/dist/charts/profit-loss-legend.js +18 -0
  219. package/dist/charts/profit-loss-line.d.ts +27 -0
  220. package/dist/charts/profit-loss-line.js +77 -0
  221. package/dist/charts/profit-loss-segments.d.ts +12 -0
  222. package/dist/charts/profit-loss-segments.js +86 -0
  223. package/dist/charts/projection-config.d.ts +11 -0
  224. package/dist/charts/projection-config.js +80 -0
  225. package/dist/charts/projection-line-end-marker.d.ts +15 -0
  226. package/dist/charts/projection-line-end-marker.js +27 -0
  227. package/dist/charts/projection-line.d.ts +40 -0
  228. package/dist/charts/projection-line.js +79 -0
  229. package/dist/charts/projection-utils.d.ts +46 -0
  230. package/dist/charts/projection-utils.js +253 -0
  231. package/dist/charts/radar-area.d.ts +17 -0
  232. package/dist/charts/radar-area.js +84 -0
  233. package/dist/charts/radar-axis.d.ts +14 -0
  234. package/dist/charts/radar-axis.js +24 -0
  235. package/dist/charts/radar-chart.d.ts +36 -0
  236. package/dist/charts/radar-chart.js +89 -0
  237. package/dist/charts/radar-context.d.ts +68 -0
  238. package/dist/charts/radar-context.js +87 -0
  239. package/dist/charts/radar-grid.d.ts +16 -0
  240. package/dist/charts/radar-grid.js +40 -0
  241. package/dist/charts/radar-labels.d.ts +16 -0
  242. package/dist/charts/radar-labels.js +29 -0
  243. package/dist/charts/reference-area-config.d.ts +10 -0
  244. package/dist/charts/reference-area-config.js +39 -0
  245. package/dist/charts/reference-area-geometry.d.ts +23 -0
  246. package/dist/charts/reference-area-geometry.js +68 -0
  247. package/dist/charts/reference-area-registration-context.d.ts +8 -0
  248. package/dist/charts/reference-area-registration-context.js +7 -0
  249. package/dist/charts/reference-area.d.ts +52 -0
  250. package/dist/charts/reference-area.js +101 -0
  251. package/dist/charts/ring-center.d.ts +46 -0
  252. package/dist/charts/ring-center.js +41 -0
  253. package/dist/charts/ring-chart.d.ts +41 -0
  254. package/dist/charts/ring-chart.js +212 -0
  255. package/dist/charts/ring-context.d.ts +66 -0
  256. package/dist/charts/ring-context.js +92 -0
  257. package/dist/charts/ring.d.ts +11 -0
  258. package/dist/charts/ring.js +104 -0
  259. package/dist/charts/sankey/index.d.ts +6 -0
  260. package/dist/charts/sankey/index.js +6 -0
  261. package/dist/charts/sankey/sankey-chart.d.ts +39 -0
  262. package/dist/charts/sankey/sankey-chart.js +117 -0
  263. package/dist/charts/sankey/sankey-context.d.ts +69 -0
  264. package/dist/charts/sankey/sankey-context.js +23 -0
  265. package/dist/charts/sankey/sankey-link.d.ts +26 -0
  266. package/dist/charts/sankey/sankey-link.js +155 -0
  267. package/dist/charts/sankey/sankey-node.d.ts +29 -0
  268. package/dist/charts/sankey/sankey-node.js +200 -0
  269. package/dist/charts/sankey/sankey-tooltip.d.ts +24 -0
  270. package/dist/charts/sankey/sankey-tooltip.js +70 -0
  271. package/dist/charts/scatter-chart-shell.d.ts +21 -0
  272. package/dist/charts/scatter-chart-shell.js +152 -0
  273. package/dist/charts/scatter-chart.d.ts +32 -0
  274. package/dist/charts/scatter-chart.js +56 -0
  275. package/dist/charts/scatter-svg.d.ts +6 -0
  276. package/dist/charts/scatter-svg.js +16 -0
  277. package/dist/charts/scatter.d.ts +21 -0
  278. package/dist/charts/scatter.js +30 -0
  279. package/dist/charts/segment.d.ts +26 -0
  280. package/dist/charts/segment.js +42 -0
  281. package/dist/charts/series-bar-layout.d.ts +18 -0
  282. package/dist/charts/series-bar-layout.js +31 -0
  283. package/dist/charts/series-bar.d.ts +20 -0
  284. package/dist/charts/series-bar.js +120 -0
  285. package/dist/charts/series-dash-tail-overlay.d.ts +17 -0
  286. package/dist/charts/series-dash-tail-overlay.js +39 -0
  287. package/dist/charts/series-highlight-layer.d.ts +23 -0
  288. package/dist/charts/series-highlight-layer.js +21 -0
  289. package/dist/charts/series-hover-dim.d.ts +29 -0
  290. package/dist/charts/series-hover-dim.js +26 -0
  291. package/dist/charts/series-markers.d.ts +14 -0
  292. package/dist/charts/series-markers.js +98 -0
  293. package/dist/charts/series-path-utils.d.ts +19 -0
  294. package/dist/charts/series-path-utils.js +60 -0
  295. package/dist/charts/series-point-marker.d.ts +48 -0
  296. package/dist/charts/series-point-marker.js +48 -0
  297. package/dist/charts/shimmering-text.d.ts +23 -0
  298. package/dist/charts/shimmering-text.js +31 -0
  299. package/dist/charts/static-chart-preview-context.d.ts +7 -0
  300. package/dist/charts/static-chart-preview-context.js +12 -0
  301. package/dist/charts/sunburst-breadcrumb.d.ts +16 -0
  302. package/dist/charts/sunburst-breadcrumb.js +26 -0
  303. package/dist/charts/sunburst-center.d.ts +5 -0
  304. package/dist/charts/sunburst-center.js +17 -0
  305. package/dist/charts/sunburst-chart.d.ts +30 -0
  306. package/dist/charts/sunburst-chart.js +263 -0
  307. package/dist/charts/sunburst-context.d.ts +61 -0
  308. package/dist/charts/sunburst-context.js +112 -0
  309. package/dist/charts/sunburst-data.d.ts +9 -0
  310. package/dist/charts/sunburst-data.js +2 -0
  311. package/dist/charts/sunburst-hint.d.ts +13 -0
  312. package/dist/charts/sunburst-hint.js +31 -0
  313. package/dist/charts/sunburst-labels.d.ts +9 -0
  314. package/dist/charts/sunburst-labels.js +63 -0
  315. package/dist/charts/sunburst-segment.d.ts +11 -0
  316. package/dist/charts/sunburst-segment.js +78 -0
  317. package/dist/charts/sunburst.d.ts +101 -0
  318. package/dist/charts/sunburst.js +396 -0
  319. package/dist/charts/time-series-chart-shell.d.ts +47 -0
  320. package/dist/charts/time-series-chart-shell.js +390 -0
  321. package/dist/charts/tooltip/chart-tooltip.d.ts +76 -0
  322. package/dist/charts/tooltip/chart-tooltip.js +150 -0
  323. package/dist/charts/tooltip/date-ticker.d.ts +11 -0
  324. package/dist/charts/tooltip/date-ticker.js +77 -0
  325. package/dist/charts/tooltip/index.d.ts +7 -0
  326. package/dist/charts/tooltip/index.js +7 -0
  327. package/dist/charts/tooltip/tooltip-box.d.ts +48 -0
  328. package/dist/charts/tooltip/tooltip-box.js +114 -0
  329. package/dist/charts/tooltip/tooltip-content.d.ts +18 -0
  330. package/dist/charts/tooltip/tooltip-content.js +9 -0
  331. package/dist/charts/tooltip/tooltip-dot.d.ts +28 -0
  332. package/dist/charts/tooltip/tooltip-dot.js +54 -0
  333. package/dist/charts/tooltip/tooltip-indicator.d.ts +45 -0
  334. package/dist/charts/tooltip/tooltip-indicator.js +65 -0
  335. package/dist/charts/use-animated-series-path.d.ts +19 -0
  336. package/dist/charts/use-animated-series-path.js +93 -0
  337. package/dist/charts/use-animated-y-domains.d.ts +14 -0
  338. package/dist/charts/use-animated-y-domains.js +150 -0
  339. package/dist/charts/use-chart-interaction.d.ts +41 -0
  340. package/dist/charts/use-chart-interaction.js +244 -0
  341. package/dist/charts/use-chart-phase-orchestrator.d.ts +23 -0
  342. package/dist/charts/use-chart-phase-orchestrator.js +139 -0
  343. package/dist/charts/use-enter-complete.d.ts +8 -0
  344. package/dist/charts/use-enter-complete.js +23 -0
  345. package/dist/charts/use-grid-shimmer.d.ts +16 -0
  346. package/dist/charts/use-grid-shimmer.js +63 -0
  347. package/dist/charts/use-highlight-segment.d.ts +14 -0
  348. package/dist/charts/use-highlight-segment.js +34 -0
  349. package/dist/charts/use-mount-progress.d.ts +4 -0
  350. package/dist/charts/use-mount-progress.js +22 -0
  351. package/dist/charts/use-scatter-chart-interaction.d.ts +35 -0
  352. package/dist/charts/use-scatter-chart-interaction.js +228 -0
  353. package/dist/charts/use-scheduled-tooltip.d.ts +9 -0
  354. package/dist/charts/use-scheduled-tooltip.js +76 -0
  355. package/dist/charts/visx-pattern.d.ts +19 -0
  356. package/dist/charts/visx-pattern.js +20 -0
  357. package/dist/charts/x-axis.d.ts +27 -0
  358. package/dist/charts/x-axis.js +415 -0
  359. package/dist/charts/y-axis-scales.d.ts +26 -0
  360. package/dist/charts/y-axis-scales.js +72 -0
  361. package/dist/charts/y-axis-ticks.d.ts +12 -0
  362. package/dist/charts/y-axis-ticks.js +24 -0
  363. package/dist/charts/y-axis.d.ts +22 -0
  364. package/dist/charts/y-axis.js +80 -0
  365. package/dist/charts/y-domain-utils.d.ts +27 -0
  366. package/dist/charts/y-domain-utils.js +88 -0
  367. package/dist/components/accordion.d.ts +6 -0
  368. package/dist/components/accordion.js +20 -0
  369. package/dist/components/alert-dialog.d.ts +18 -0
  370. package/dist/components/alert-dialog.js +41 -0
  371. package/dist/components/alert.d.ts +24 -0
  372. package/dist/components/alert.js +46 -0
  373. package/dist/components/animated-button.d.ts +5 -0
  374. package/dist/components/animated-button.js +16 -0
  375. package/dist/components/animated-list.d.ts +26 -0
  376. package/dist/components/animated-list.js +25 -0
  377. package/dist/components/animated-number.d.ts +67 -0
  378. package/dist/components/animated-number.js +131 -0
  379. package/dist/components/app-shell.d.ts +27 -0
  380. package/dist/components/app-shell.js +18 -0
  381. package/dist/components/area-chart.d.ts +11 -0
  382. package/dist/components/area-chart.js +12 -0
  383. package/dist/components/aspect-ratio.d.ts +16 -0
  384. package/dist/components/aspect-ratio.js +14 -0
  385. package/dist/components/aurora-background.d.ts +3 -0
  386. package/dist/components/aurora-background.js +8 -0
  387. package/dist/components/autocomplete.d.ts +55 -0
  388. package/dist/components/autocomplete.js +279 -0
  389. package/dist/components/avatar-group.d.ts +39 -0
  390. package/dist/components/avatar-group.js +50 -0
  391. package/dist/components/avatar.d.ts +5 -0
  392. package/dist/components/avatar.js +17 -0
  393. package/dist/components/badge.d.ts +10 -0
  394. package/dist/components/badge.js +35 -0
  395. package/dist/components/banner.d.ts +45 -0
  396. package/dist/components/banner.js +80 -0
  397. package/dist/components/bar-chart.d.ts +11 -0
  398. package/dist/components/bar-chart.js +9 -0
  399. package/dist/components/border-beam.d.ts +45 -0
  400. package/dist/components/border-beam.js +48 -0
  401. package/dist/components/breadcrumb.d.ts +12 -0
  402. package/dist/components/breadcrumb.js +35 -0
  403. package/dist/components/button-group.d.ts +7 -0
  404. package/dist/components/button-group.js +10 -0
  405. package/dist/components/button.d.ts +12 -0
  406. package/dist/components/button.js +39 -0
  407. package/dist/components/calendar.d.ts +7 -0
  408. package/dist/components/calendar.js +71 -0
  409. package/dist/components/candlestick-chart.d.ts +13 -0
  410. package/dist/components/candlestick-chart.js +66 -0
  411. package/dist/components/card-stack.d.ts +28 -0
  412. package/dist/components/card-stack.js +47 -0
  413. package/dist/components/card.d.ts +9 -0
  414. package/dist/components/card.js +32 -0
  415. package/dist/components/carousel.d.ts +82 -0
  416. package/dist/components/carousel.js +310 -0
  417. package/dist/components/chart.d.ts +100 -0
  418. package/dist/components/chart.js +210 -0
  419. package/dist/components/checkbox.d.ts +3 -0
  420. package/dist/components/checkbox.js +11 -0
  421. package/dist/components/chip.d.ts +80 -0
  422. package/dist/components/chip.js +186 -0
  423. package/dist/components/choropleth-chart.d.ts +12 -0
  424. package/dist/components/choropleth-chart.js +31 -0
  425. package/dist/components/click-spark.d.ts +19 -0
  426. package/dist/components/click-spark.js +51 -0
  427. package/dist/components/code-block.d.ts +13 -0
  428. package/dist/components/code-block.js +20 -0
  429. package/dist/components/code-tabs.d.ts +51 -0
  430. package/dist/components/code-tabs.js +150 -0
  431. package/dist/components/collapsible.d.ts +5 -0
  432. package/dist/components/collapsible.js +12 -0
  433. package/dist/components/color-picker.d.ts +30 -0
  434. package/dist/components/color-picker.js +300 -0
  435. package/dist/components/combobox.d.ts +33 -0
  436. package/dist/components/combobox.js +32 -0
  437. package/dist/components/command.d.ts +87 -0
  438. package/dist/components/command.js +44 -0
  439. package/dist/components/comparison-slider.d.ts +17 -0
  440. package/dist/components/comparison-slider.js +81 -0
  441. package/dist/components/composed-chart.d.ts +13 -0
  442. package/dist/components/composed-chart.js +22 -0
  443. package/dist/components/confetti.d.ts +21 -0
  444. package/dist/components/confetti.js +111 -0
  445. package/dist/components/confirmation-dialog.d.ts +46 -0
  446. package/dist/components/confirmation-dialog.js +102 -0
  447. package/dist/components/context-menu.d.ts +28 -0
  448. package/dist/components/context-menu.js +52 -0
  449. package/dist/components/copy-button.d.ts +13 -0
  450. package/dist/components/copy-button.js +72 -0
  451. package/dist/components/countdown.d.ts +58 -0
  452. package/dist/components/countdown.js +106 -0
  453. package/dist/components/credit-card-input.d.ts +62 -0
  454. package/dist/components/credit-card-input.js +211 -0
  455. package/dist/components/currency-input.d.ts +86 -0
  456. package/dist/components/currency-input.js +215 -0
  457. package/dist/components/data-table.d.ts +232 -0
  458. package/dist/components/data-table.js +359 -0
  459. package/dist/components/date-picker.d.ts +66 -0
  460. package/dist/components/date-picker.js +55 -0
  461. package/dist/components/date-range-picker.d.ts +59 -0
  462. package/dist/components/date-range-picker.js +59 -0
  463. package/dist/components/description-list.d.ts +84 -0
  464. package/dist/components/description-list.js +138 -0
  465. package/dist/components/dialog.d.ts +26 -0
  466. package/dist/components/dialog.js +35 -0
  467. package/dist/components/dock.d.ts +34 -0
  468. package/dist/components/dock.js +61 -0
  469. package/dist/components/dot-pattern.d.ts +24 -0
  470. package/dist/components/dot-pattern.js +19 -0
  471. package/dist/components/drawer.d.ts +22 -0
  472. package/dist/components/drawer.js +37 -0
  473. package/dist/components/dropdown-menu.d.ts +32 -0
  474. package/dist/components/dropdown-menu.js +56 -0
  475. package/dist/components/dynamic-island.d.ts +26 -0
  476. package/dist/components/dynamic-island.js +31 -0
  477. package/dist/components/empty.d.ts +7 -0
  478. package/dist/components/empty.js +24 -0
  479. package/dist/components/expandable-tabs.d.ts +24 -0
  480. package/dist/components/expandable-tabs.js +30 -0
  481. package/dist/components/fab.d.ts +35 -0
  482. package/dist/components/fab.js +36 -0
  483. package/dist/components/field.d.ts +6 -0
  484. package/dist/components/field.js +22 -0
  485. package/dist/components/file-dropzone.d.ts +28 -0
  486. package/dist/components/file-dropzone.js +59 -0
  487. package/dist/components/flickering-grid.d.ts +25 -0
  488. package/dist/components/flickering-grid.js +30 -0
  489. package/dist/components/flip-card.d.ts +70 -0
  490. package/dist/components/flip-card.js +117 -0
  491. package/dist/components/floating-label-input.d.ts +34 -0
  492. package/dist/components/floating-label-input.js +25 -0
  493. package/dist/components/form.d.ts +25 -0
  494. package/dist/components/form.js +68 -0
  495. package/dist/components/frame.d.ts +12 -0
  496. package/dist/components/frame.js +10 -0
  497. package/dist/components/funnel-chart.d.ts +11 -0
  498. package/dist/components/funnel-chart.js +16 -0
  499. package/dist/components/gauge-chart.d.ts +8 -0
  500. package/dist/components/gauge-chart.js +10 -0
  501. package/dist/components/glare-hover.d.ts +15 -0
  502. package/dist/components/glare-hover.js +64 -0
  503. package/dist/components/glass-card.d.ts +3 -0
  504. package/dist/components/glass-card.js +8 -0
  505. package/dist/components/gradient-border.d.ts +7 -0
  506. package/dist/components/gradient-border.js +8 -0
  507. package/dist/components/gradient-text.d.ts +6 -0
  508. package/dist/components/gradient-text.js +10 -0
  509. package/dist/components/grid-pattern.d.ts +23 -0
  510. package/dist/components/grid-pattern.js +18 -0
  511. package/dist/components/heatmap-chart.d.ts +6 -0
  512. package/dist/components/heatmap-chart.js +8 -0
  513. package/dist/components/heatmap.d.ts +28 -0
  514. package/dist/components/heatmap.js +41 -0
  515. package/dist/components/highlighter.d.ts +20 -0
  516. package/dist/components/highlighter.js +19 -0
  517. package/dist/components/hover-card.d.ts +5 -0
  518. package/dist/components/hover-card.js +12 -0
  519. package/dist/components/image-zoom.d.ts +47 -0
  520. package/dist/components/image-zoom.js +125 -0
  521. package/dist/components/input-group.d.ts +10 -0
  522. package/dist/components/input-group.js +12 -0
  523. package/dist/components/input-otp.d.ts +18 -0
  524. package/dist/components/input-otp.js +38 -0
  525. package/dist/components/input.d.ts +6 -0
  526. package/dist/components/input.js +8 -0
  527. package/dist/components/json-viewer.d.ts +43 -0
  528. package/dist/components/json-viewer.js +313 -0
  529. package/dist/components/kanban.d.ts +31 -0
  530. package/dist/components/kanban.js +143 -0
  531. package/dist/components/kbd.d.ts +3 -0
  532. package/dist/components/kbd.js +8 -0
  533. package/dist/components/label.d.ts +3 -0
  534. package/dist/components/label.js +9 -0
  535. package/dist/components/light-rays.d.ts +19 -0
  536. package/dist/components/light-rays.js +20 -0
  537. package/dist/components/lightbox.d.ts +24 -0
  538. package/dist/components/lightbox.js +68 -0
  539. package/dist/components/line-chart.d.ts +10 -0
  540. package/dist/components/line-chart.js +9 -0
  541. package/dist/components/live-line-chart.d.ts +12 -0
  542. package/dist/components/live-line-chart.js +42 -0
  543. package/dist/components/logo-carousel.d.ts +27 -0
  544. package/dist/components/logo-carousel.js +101 -0
  545. package/dist/components/magnetic.d.ts +44 -0
  546. package/dist/components/magnetic.js +172 -0
  547. package/dist/components/marquee.d.ts +71 -0
  548. package/dist/components/marquee.js +141 -0
  549. package/dist/components/masonry.d.ts +16 -0
  550. package/dist/components/masonry.js +84 -0
  551. package/dist/components/menubar.d.ts +33 -0
  552. package/dist/components/menubar.js +56 -0
  553. package/dist/components/meteors.d.ts +20 -0
  554. package/dist/components/meteors.js +39 -0
  555. package/dist/components/metric.d.ts +9 -0
  556. package/dist/components/metric.js +35 -0
  557. package/dist/components/mode-toggle.d.ts +32 -0
  558. package/dist/components/mode-toggle.js +40 -0
  559. package/dist/components/morphing-popover.d.ts +91 -0
  560. package/dist/components/morphing-popover.js +194 -0
  561. package/dist/components/motion-presets.d.ts +9 -0
  562. package/dist/components/motion-presets.js +20 -0
  563. package/dist/components/multi-select.d.ts +54 -0
  564. package/dist/components/multi-select.js +0 -0
  565. package/dist/components/navigation-menu.d.ts +12 -0
  566. package/dist/components/navigation-menu.js +42 -0
  567. package/dist/components/noise.d.ts +19 -0
  568. package/dist/components/noise.js +18 -0
  569. package/dist/components/notification-center.d.ts +68 -0
  570. package/dist/components/notification-center.js +57 -0
  571. package/dist/components/number-input.d.ts +45 -0
  572. package/dist/components/number-input.js +148 -0
  573. package/dist/components/orbit.d.ts +77 -0
  574. package/dist/components/orbit.js +100 -0
  575. package/dist/components/pagination.d.ts +16 -0
  576. package/dist/components/pagination.js +34 -0
  577. package/dist/components/particles.d.ts +18 -0
  578. package/dist/components/particles.js +92 -0
  579. package/dist/components/password-input.d.ts +16 -0
  580. package/dist/components/password-input.js +49 -0
  581. package/dist/components/phone-input.d.ts +67 -0
  582. package/dist/components/phone-input.js +225 -0
  583. package/dist/components/pie-chart.d.ts +12 -0
  584. package/dist/components/pie-chart.js +13 -0
  585. package/dist/components/pill-nav.d.ts +25 -0
  586. package/dist/components/pill-nav.js +66 -0
  587. package/dist/components/popover.d.ts +7 -0
  588. package/dist/components/popover.js +15 -0
  589. package/dist/components/profit-loss-chart.d.ts +10 -0
  590. package/dist/components/profit-loss-chart.js +8 -0
  591. package/dist/components/progress.d.ts +10 -0
  592. package/dist/components/progress.js +17 -0
  593. package/dist/components/progressive-blur.d.ts +24 -0
  594. package/dist/components/progressive-blur.js +43 -0
  595. package/dist/components/radar-chart.d.ts +9 -0
  596. package/dist/components/radar-chart.js +9 -0
  597. package/dist/components/radio-group.d.ts +4 -0
  598. package/dist/components/radio-group.js +15 -0
  599. package/dist/components/rating.d.ts +29 -0
  600. package/dist/components/rating.js +94 -0
  601. package/dist/components/resizable.d.ts +57 -0
  602. package/dist/components/resizable.js +73 -0
  603. package/dist/components/retro-grid.d.ts +25 -0
  604. package/dist/components/retro-grid.js +26 -0
  605. package/dist/components/reveal.d.ts +9 -0
  606. package/dist/components/reveal.js +14 -0
  607. package/dist/components/rich-text-editor.d.ts +28 -0
  608. package/dist/components/rich-text-editor.js +83 -0
  609. package/dist/components/ring-chart.d.ts +13 -0
  610. package/dist/components/ring-chart.js +16 -0
  611. package/dist/components/ripple.d.ts +25 -0
  612. package/dist/components/ripple.js +26 -0
  613. package/dist/components/sankey-chart.d.ts +16 -0
  614. package/dist/components/sankey-chart.js +8 -0
  615. package/dist/components/scatter-chart.d.ts +12 -0
  616. package/dist/components/scatter-chart.js +9 -0
  617. package/dist/components/scheduler.d.ts +50 -0
  618. package/dist/components/scheduler.js +93 -0
  619. package/dist/components/scramble-text.d.ts +39 -0
  620. package/dist/components/scramble-text.js +78 -0
  621. package/dist/components/scroll-area.d.ts +13 -0
  622. package/dist/components/scroll-area.js +14 -0
  623. package/dist/components/scroll-progress.d.ts +19 -0
  624. package/dist/components/scroll-progress.js +67 -0
  625. package/dist/components/segmented-control.d.ts +48 -0
  626. package/dist/components/segmented-control.js +222 -0
  627. package/dist/components/select.d.ts +12 -0
  628. package/dist/components/select.js +43 -0
  629. package/dist/components/separator.d.ts +3 -0
  630. package/dist/components/separator.js +9 -0
  631. package/dist/components/sheet.d.ts +25 -0
  632. package/dist/components/sheet.js +47 -0
  633. package/dist/components/shimmer.d.ts +3 -0
  634. package/dist/components/shimmer.js +8 -0
  635. package/dist/components/shiny-text.d.ts +20 -0
  636. package/dist/components/shiny-text.js +24 -0
  637. package/dist/components/sidebar.d.ts +92 -0
  638. package/dist/components/sidebar.js +290 -0
  639. package/dist/components/signature-pad.d.ts +44 -0
  640. package/dist/components/signature-pad.js +317 -0
  641. package/dist/components/skeleton.d.ts +3 -0
  642. package/dist/components/skeleton.js +8 -0
  643. package/dist/components/slider.d.ts +10 -0
  644. package/dist/components/slider.js +27 -0
  645. package/dist/components/sonner.d.ts +9 -0
  646. package/dist/components/sonner.js +17 -0
  647. package/dist/components/sparkles-text.d.ts +19 -0
  648. package/dist/components/sparkles-text.js +36 -0
  649. package/dist/components/sparkline.d.ts +22 -0
  650. package/dist/components/sparkline.js +100 -0
  651. package/dist/components/spinner.d.ts +10 -0
  652. package/dist/components/spinner.js +20 -0
  653. package/dist/components/spinning-text.d.ts +29 -0
  654. package/dist/components/spinning-text.js +40 -0
  655. package/dist/components/split-button.d.ts +71 -0
  656. package/dist/components/split-button.js +30 -0
  657. package/dist/components/spotlight-card.d.ts +11 -0
  658. package/dist/components/spotlight-card.js +63 -0
  659. package/dist/components/star-border.d.ts +19 -0
  660. package/dist/components/star-border.js +18 -0
  661. package/dist/components/status-dot.d.ts +60 -0
  662. package/dist/components/status-dot.js +76 -0
  663. package/dist/components/stepper.d.ts +98 -0
  664. package/dist/components/stepper.js +164 -0
  665. package/dist/components/sunburst-chart.d.ts +11 -0
  666. package/dist/components/sunburst-chart.js +45 -0
  667. package/dist/components/switch.d.ts +3 -0
  668. package/dist/components/switch.js +10 -0
  669. package/dist/components/table-of-contents.d.ts +64 -0
  670. package/dist/components/table-of-contents.js +0 -0
  671. package/dist/components/table.d.ts +10 -0
  672. package/dist/components/table.js +38 -0
  673. package/dist/components/tabs.d.ts +6 -0
  674. package/dist/components/tabs.js +22 -0
  675. package/dist/components/tags-input.d.ts +39 -0
  676. package/dist/components/tags-input.js +86 -0
  677. package/dist/components/terminal.d.ts +86 -0
  678. package/dist/components/terminal.js +182 -0
  679. package/dist/components/text-effect.d.ts +71 -0
  680. package/dist/components/text-effect.js +166 -0
  681. package/dist/components/textarea.d.ts +6 -0
  682. package/dist/components/textarea.js +8 -0
  683. package/dist/components/tilt-card.d.ts +30 -0
  684. package/dist/components/tilt-card.js +84 -0
  685. package/dist/components/time-picker.d.ts +58 -0
  686. package/dist/components/time-picker.js +245 -0
  687. package/dist/components/timeline.d.ts +81 -0
  688. package/dist/components/timeline.js +165 -0
  689. package/dist/components/toggle-group.d.ts +12 -0
  690. package/dist/components/toggle-group.js +23 -0
  691. package/dist/components/toggle.d.ts +12 -0
  692. package/dist/components/toggle.js +25 -0
  693. package/dist/components/toolbar.d.ts +14 -0
  694. package/dist/components/toolbar.js +89 -0
  695. package/dist/components/tooltip.d.ts +29 -0
  696. package/dist/components/tooltip.js +48 -0
  697. package/dist/components/tree-view.d.ts +45 -0
  698. package/dist/components/tree-view.js +197 -0
  699. package/dist/components/typing-text.d.ts +49 -0
  700. package/dist/components/typing-text.js +90 -0
  701. package/dist/components/usage-meter.d.ts +30 -0
  702. package/dist/components/usage-meter.js +90 -0
  703. package/dist/components/video-player.d.ts +48 -0
  704. package/dist/components/video-player.js +216 -0
  705. package/dist/components/word-rotate.d.ts +40 -0
  706. package/dist/components/word-rotate.js +34 -0
  707. package/dist/index.d.ts +306 -0
  708. package/dist/index.js +179 -0
  709. package/dist/lib/cn.d.ts +7 -0
  710. package/dist/lib/cn.js +10 -0
  711. package/dist/lib/demo-saas.d.ts +171 -0
  712. package/dist/lib/demo-saas.js +210 -0
  713. package/dist/lib/demo-store.d.ts +157 -0
  714. package/dist/lib/demo-store.js +353 -0
  715. package/dist/testing/index.d.ts +76 -0
  716. package/dist/testing/index.js +116 -0
  717. package/package.json +941 -0
@@ -0,0 +1,199 @@
1
+ import type { scaleBand, scaleLinear, scaleTime } from "@visx/scale";
2
+ type ScaleLinear<Output, _Input = number> = ReturnType<typeof scaleLinear<Output>>;
3
+ type ScaleTime<Output, _Input = Date | number> = ReturnType<typeof scaleTime<Output>>;
4
+ type ScaleBand<Domain extends {
5
+ toString(): string;
6
+ }> = ReturnType<typeof scaleBand<Domain>>;
7
+ import type { Transition } from "motion/react";
8
+ import { type Dispatch, type ReactNode, type RefObject, type SetStateAction } from "react";
9
+ import type { ChartPhase, ChartStatus } from "./chart-phase.js";
10
+ import type { ReferenceAreaConfig } from "./reference-area-config.js";
11
+ import type { ChartSelection } from "./use-chart-interaction.js";
12
+ import type { YDomain } from "./y-domain-utils.js";
13
+ export declare const chartCssVars: {
14
+ background: string;
15
+ foreground: string;
16
+ foregroundMuted: string;
17
+ label: string;
18
+ linePrimary: string;
19
+ lineSecondary: string;
20
+ crosshair: string;
21
+ grid: string;
22
+ indicatorColor: string;
23
+ indicatorSecondaryColor: string;
24
+ markerBackground: string;
25
+ markerBorder: string;
26
+ markerForeground: string;
27
+ badgeBackground: string;
28
+ badgeForeground: string;
29
+ segmentBackground: string;
30
+ segmentLine: string;
31
+ brushBorder: string;
32
+ tooltipBackground: string;
33
+ };
34
+ /** Default scatter series colors from the chart palette (`--chart-1` … `--chart-5`). */
35
+ export declare const defaultScatterColors: readonly ["var(--chart-1)", "var(--chart-2)", "var(--chart-3)", "var(--chart-4)", "var(--chart-5)"];
36
+ export interface Margin {
37
+ top: number;
38
+ right: number;
39
+ bottom: number;
40
+ left: number;
41
+ }
42
+ export interface TooltipData {
43
+ /** The data point being hovered */
44
+ point: Record<string, unknown>;
45
+ /** Index in the data array */
46
+ index: number;
47
+ /** X position in pixels (relative to chart area) */
48
+ x: number;
49
+ /** Y positions for each line, keyed by dataKey */
50
+ yPositions: Record<string, number>;
51
+ /** X positions for each series (for grouped bars), keyed by dataKey */
52
+ xPositions?: Record<string, number>;
53
+ }
54
+ export interface LineConfig {
55
+ dataKey: string;
56
+ stroke: string;
57
+ strokeWidth: number;
58
+ /** Scale group id (Recharts `yAxisId`). Default: `"left"`. */
59
+ yAxisId?: string | number;
60
+ }
61
+ /**
62
+ * Hover/selection state — every field here changes on mouse movement.
63
+ * Lives in its own context so cold consumers (Grid, YAxis, PatternArea, …)
64
+ * can subscribe to the stable slice and skip re-rendering on every hover.
65
+ */
66
+ export interface ChartHoverContextValue {
67
+ tooltipData: TooltipData | null;
68
+ setTooltipData: Dispatch<SetStateAction<TooltipData | null>>;
69
+ /** Current drag/pinch selection range */
70
+ selection?: ChartSelection | null;
71
+ /** Clear the current selection */
72
+ clearSelection?: () => void;
73
+ /** Index of currently hovered bar */
74
+ hoveredBarIndex?: number | null;
75
+ /** Setter for hovered bar index */
76
+ setHoveredBarIndex?: (index: number | null) => void;
77
+ /** Index of currently hovered candle */
78
+ hoveredCandleIndex?: number | null;
79
+ /** Setter for hovered candle index */
80
+ setHoveredCandleIndex?: (index: number | null) => void;
81
+ }
82
+ export interface ChartContextValue extends ChartHoverContextValue {
83
+ data: Record<string, unknown>[];
84
+ /** Decimated subset for SVG path rendering; equals `data` when no decimation is needed. */
85
+ renderData: Record<string, unknown>[];
86
+ xScale: ScaleTime<number, number>;
87
+ /** Primary (left) y-scale — alias for `yScales[DEFAULT_Y_AXIS_ID]`. */
88
+ yScale: ScaleLinear<number, number>;
89
+ /** Per-axis y-scales keyed by `yAxisId`. */
90
+ yScales: Record<string, ScaleLinear<number, number>>;
91
+ width: number;
92
+ height: number;
93
+ innerWidth: number;
94
+ innerHeight: number;
95
+ margin: Margin;
96
+ columnWidth: number;
97
+ containerRef: RefObject<HTMLDivElement | null>;
98
+ lines: LineConfig[];
99
+ /** {@link ReferenceArea} bands — drives y-axis label colors in range. */
100
+ referenceAreas: ReferenceAreaConfig[];
101
+ chartPhase: ChartPhase;
102
+ chartStatus: ChartStatus;
103
+ /** Centered label while `chartPhase` shows loading chrome. */
104
+ loadingLabel?: string;
105
+ /** Y-domain tween duration when transitioning loading ↔ ready (ms). */
106
+ yDomainTweenDuration: number;
107
+ /** Nice’d y-domains per axis from skeleton data (placeholder). */
108
+ yDomainSkeletonByAxis: Record<string, YDomain>;
109
+ /** Nice’d y-domains per axis from the current target data. */
110
+ yDomainTargetByAxis: Record<string, YDomain>;
111
+ isLoaded: boolean;
112
+ animationDuration: number;
113
+ /** CSS easing for clip-reveal / line draw (cartesian charts). */
114
+ animationEasing?: string;
115
+ /** Motion enter transition (spring or tween) — drives clip reveal when spring. */
116
+ enterTransition?: Transition;
117
+ /** Increments when enter animation should replay. */
118
+ revealEpoch?: number;
119
+ /** Fired when a one-shot loading pulse (exit / enter) completes. */
120
+ notifyLoadingPulseComplete?: () => void;
121
+ xAccessor: (d: Record<string, unknown>) => Date;
122
+ dateLabels: string[];
123
+ /** Active brush zoom range — when set, axis ticks align to visible data rows. */
124
+ xDomain?: [Date, Date];
125
+ /** Full dataset length when brush zoom is enabled (for zoom vs full-range detection). */
126
+ xDomainSlotCount?: number;
127
+ /** Band scale for categorical x-axis (bar charts) */
128
+ barScale?: ScaleBand<string>;
129
+ /** Width of each bar band */
130
+ bandWidth?: number;
131
+ /** X accessor for bar charts (returns string instead of Date) */
132
+ barXAccessor?: (d: Record<string, unknown>) => string;
133
+ /** Bar chart orientation */
134
+ orientation?: "vertical" | "horizontal";
135
+ /** Whether bars are stacked */
136
+ stacked?: boolean;
137
+ /** Stack offsets: Map of data index -> Map of dataKey -> cumulative offset */
138
+ stackOffsets?: Map<number, Map<string, number>>;
139
+ /** Squares variant — snap tooltip to top square and size ring dots. */
140
+ squareSnap?: {
141
+ squareGap: number;
142
+ groupGap?: number;
143
+ fit?: boolean;
144
+ };
145
+ /** `SeriesBar` dataKeys in tree order, for grouped columns at each x */
146
+ composedBarDataKeys?: string[];
147
+ /** Target bar width in px (Recharts `barSize` style). */
148
+ composedBarSize?: number;
149
+ /** Max bar width in px (Recharts `maxBarSize`). */
150
+ composedMaxBarSize?: number;
151
+ /** Gap between grouped `SeriesBar` columns in px. */
152
+ composedBarGap?: number;
153
+ /** When true, `SeriesBar` segments stack in child order at each x. */
154
+ composedStacked?: boolean;
155
+ /** Per-row cumulative offsets for stacked `SeriesBar` (data index → dataKey → offset). */
156
+ composedStackOffsets?: Map<number, Map<string, number>>;
157
+ /** Vertical gap in px between stacked `SeriesBar` segments. Default: 0 */
158
+ composedStackGap?: number;
159
+ }
160
+ /**
161
+ * Stable slice of the chart context — everything that doesn't change on hover
162
+ * (data, scales, dimensions, animation state, layout config). Consumers that
163
+ * subscribe via `useChartStable()` skip re-renders on every mouse move.
164
+ */
165
+ export type ChartStableContextValue = Omit<ChartContextValue, keyof ChartHoverContextValue>;
166
+ declare const ChartStableContext: import("react").Context<ChartStableContextValue | null>;
167
+ /**
168
+ * Splits the merged `value` into a stable slice and a volatile hover slice,
169
+ * publishing each to its own context. Each slice is memoized on its own
170
+ * field identities, so changing `tooltipData` does not bust the stable
171
+ * slice — consumers of `useChartStable()` skip re-renders on hover.
172
+ */
173
+ export declare function ChartProvider({ children, value, }: {
174
+ children: ReactNode;
175
+ value: ChartContextValue;
176
+ }): import("react").JSX.Element;
177
+ /**
178
+ * Stable slice — data, scales, dimensions, animation state, layout config.
179
+ * Subscribers skip re-renders on hover (the hover slice lives in a separate
180
+ * context). Prefer this in cold consumers like axes, grid, pattern fills.
181
+ */
182
+ export declare function useChartStable(): ChartStableContextValue;
183
+ /** Y-scale for a series axis (`yAxisId` on Line / Area / YAxis). */
184
+ export declare function useYScale(yAxisId?: string | number): ScaleLinear<number, number>;
185
+ /**
186
+ * Hover slice — tooltipData, selection, hovered bar / candle indices.
187
+ * Subscribers re-render on every mouse move. Use only when the component
188
+ * actually reads hover state.
189
+ */
190
+ export declare function useChartHover(): ChartHoverContextValue;
191
+ /**
192
+ * Merged stable + hover context. Convenient for components that need both,
193
+ * but re-renders on every hover (because hover changes). Prefer
194
+ * `useChartStable()` or `useChartHover()` for hot consumers that only need
195
+ * one slice.
196
+ */
197
+ export declare function useChart(): ChartContextValue;
198
+ export default ChartStableContext;
199
+ //# sourceMappingURL=chart-context.d.ts.map
@@ -0,0 +1,201 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useMemo, } from "react";
4
+ import { DEFAULT_Y_AXIS_ID } from "./y-axis-scales.js";
5
+ // CSS variable references for theming
6
+ export const chartCssVars = {
7
+ background: "var(--chart-background)",
8
+ foreground: "var(--chart-foreground)",
9
+ foregroundMuted: "var(--chart-foreground-muted)",
10
+ label: "var(--chart-label)",
11
+ linePrimary: "var(--chart-line-primary)",
12
+ lineSecondary: "var(--chart-line-secondary)",
13
+ crosshair: "var(--chart-crosshair)",
14
+ grid: "var(--chart-grid)",
15
+ indicatorColor: "var(--chart-indicator-color)",
16
+ indicatorSecondaryColor: "var(--chart-indicator-secondary-color)",
17
+ markerBackground: "var(--chart-marker-background)",
18
+ markerBorder: "var(--chart-marker-border)",
19
+ markerForeground: "var(--chart-marker-foreground)",
20
+ badgeBackground: "var(--chart-marker-badge-background)",
21
+ badgeForeground: "var(--chart-marker-badge-foreground)",
22
+ segmentBackground: "var(--chart-segment-background)",
23
+ segmentLine: "var(--chart-segment-line)",
24
+ brushBorder: "var(--chart-brush-border)",
25
+ tooltipBackground: "var(--chart-tooltip-background)",
26
+ };
27
+ /** Default scatter series colors from the chart palette (`--chart-1` … `--chart-5`). */
28
+ export const defaultScatterColors = [
29
+ "var(--chart-1)",
30
+ "var(--chart-2)",
31
+ "var(--chart-3)",
32
+ "var(--chart-4)",
33
+ "var(--chart-5)",
34
+ ];
35
+ const ChartStableContext = createContext(null);
36
+ const ChartHoverContext = createContext(null);
37
+ /**
38
+ * Splits the merged `value` into a stable slice and a volatile hover slice,
39
+ * publishing each to its own context. Each slice is memoized on its own
40
+ * field identities, so changing `tooltipData` does not bust the stable
41
+ * slice — consumers of `useChartStable()` skip re-renders on hover.
42
+ */
43
+ export function ChartProvider({ children, value, }) {
44
+ const stable = useMemo(() => ({
45
+ data: value.data,
46
+ renderData: value.renderData,
47
+ xScale: value.xScale,
48
+ yScale: value.yScale,
49
+ yScales: value.yScales,
50
+ width: value.width,
51
+ height: value.height,
52
+ innerWidth: value.innerWidth,
53
+ innerHeight: value.innerHeight,
54
+ margin: value.margin,
55
+ columnWidth: value.columnWidth,
56
+ containerRef: value.containerRef,
57
+ lines: value.lines,
58
+ referenceAreas: value.referenceAreas,
59
+ chartPhase: value.chartPhase,
60
+ chartStatus: value.chartStatus,
61
+ loadingLabel: value.loadingLabel,
62
+ yDomainTweenDuration: value.yDomainTweenDuration,
63
+ yDomainSkeletonByAxis: value.yDomainSkeletonByAxis,
64
+ yDomainTargetByAxis: value.yDomainTargetByAxis,
65
+ isLoaded: value.isLoaded,
66
+ animationDuration: value.animationDuration,
67
+ animationEasing: value.animationEasing,
68
+ enterTransition: value.enterTransition,
69
+ revealEpoch: value.revealEpoch,
70
+ notifyLoadingPulseComplete: value.notifyLoadingPulseComplete,
71
+ xAccessor: value.xAccessor,
72
+ dateLabels: value.dateLabels,
73
+ xDomain: value.xDomain,
74
+ xDomainSlotCount: value.xDomainSlotCount,
75
+ barScale: value.barScale,
76
+ bandWidth: value.bandWidth,
77
+ barXAccessor: value.barXAccessor,
78
+ orientation: value.orientation,
79
+ stacked: value.stacked,
80
+ stackOffsets: value.stackOffsets,
81
+ composedBarDataKeys: value.composedBarDataKeys,
82
+ composedBarSize: value.composedBarSize,
83
+ composedMaxBarSize: value.composedMaxBarSize,
84
+ composedBarGap: value.composedBarGap,
85
+ composedStacked: value.composedStacked,
86
+ composedStackOffsets: value.composedStackOffsets,
87
+ composedStackGap: value.composedStackGap,
88
+ }), [
89
+ value.data,
90
+ value.renderData,
91
+ value.xScale,
92
+ value.yScale,
93
+ value.yScales,
94
+ value.width,
95
+ value.height,
96
+ value.innerWidth,
97
+ value.innerHeight,
98
+ value.margin,
99
+ value.columnWidth,
100
+ value.containerRef,
101
+ value.lines,
102
+ value.referenceAreas,
103
+ value.chartPhase,
104
+ value.chartStatus,
105
+ value.loadingLabel,
106
+ value.yDomainTweenDuration,
107
+ value.yDomainSkeletonByAxis,
108
+ value.yDomainTargetByAxis,
109
+ value.isLoaded,
110
+ value.animationDuration,
111
+ value.animationEasing,
112
+ value.enterTransition,
113
+ value.revealEpoch,
114
+ value.notifyLoadingPulseComplete,
115
+ value.xAccessor,
116
+ value.dateLabels,
117
+ value.xDomain,
118
+ value.xDomainSlotCount,
119
+ value.barScale,
120
+ value.bandWidth,
121
+ value.barXAccessor,
122
+ value.orientation,
123
+ value.stacked,
124
+ value.stackOffsets,
125
+ value.composedBarDataKeys,
126
+ value.composedBarSize,
127
+ value.composedMaxBarSize,
128
+ value.composedBarGap,
129
+ value.composedStacked,
130
+ value.composedStackOffsets,
131
+ value.composedStackGap,
132
+ ]);
133
+ const hover = useMemo(() => ({
134
+ tooltipData: value.tooltipData,
135
+ setTooltipData: value.setTooltipData,
136
+ selection: value.selection,
137
+ clearSelection: value.clearSelection,
138
+ hoveredBarIndex: value.hoveredBarIndex,
139
+ setHoveredBarIndex: value.setHoveredBarIndex,
140
+ hoveredCandleIndex: value.hoveredCandleIndex,
141
+ setHoveredCandleIndex: value.setHoveredCandleIndex,
142
+ }), [
143
+ value.tooltipData,
144
+ value.setTooltipData,
145
+ value.selection,
146
+ value.clearSelection,
147
+ value.hoveredBarIndex,
148
+ value.setHoveredBarIndex,
149
+ value.hoveredCandleIndex,
150
+ value.setHoveredCandleIndex,
151
+ ]);
152
+ return (_jsx(ChartStableContext.Provider, { value: stable, children: _jsx(ChartHoverContext.Provider, { value: hover, children: children }) }));
153
+ }
154
+ /**
155
+ * Stable slice — data, scales, dimensions, animation state, layout config.
156
+ * Subscribers skip re-renders on hover (the hover slice lives in a separate
157
+ * context). Prefer this in cold consumers like axes, grid, pattern fills.
158
+ */
159
+ export function useChartStable() {
160
+ const context = useContext(ChartStableContext);
161
+ if (!context) {
162
+ throw new Error("useChartStable must be used within a ChartProvider. " +
163
+ "Make sure your component is wrapped in <LineChart>, <AreaChart>, <BarChart>, or <ComposedChart>.");
164
+ }
165
+ return context;
166
+ }
167
+ /** Y-scale for a series axis (`yAxisId` on Line / Area / YAxis). */
168
+ export function useYScale(yAxisId) {
169
+ const { yScales, yScale } = useChartStable();
170
+ const id = yAxisId == null || yAxisId === "" ? DEFAULT_Y_AXIS_ID : String(yAxisId);
171
+ return yScales[id] ?? yScale;
172
+ }
173
+ /**
174
+ * Hover slice — tooltipData, selection, hovered bar / candle indices.
175
+ * Subscribers re-render on every mouse move. Use only when the component
176
+ * actually reads hover state.
177
+ */
178
+ export function useChartHover() {
179
+ const context = useContext(ChartHoverContext);
180
+ if (!context) {
181
+ throw new Error("useChartHover must be used within a ChartProvider. " +
182
+ "Make sure your component is wrapped in <LineChart>, <AreaChart>, <BarChart>, or <ComposedChart>.");
183
+ }
184
+ return context;
185
+ }
186
+ /**
187
+ * Merged stable + hover context. Convenient for components that need both,
188
+ * but re-renders on every hover (because hover changes). Prefer
189
+ * `useChartStable()` or `useChartHover()` for hot consumers that only need
190
+ * one slice.
191
+ */
192
+ export function useChart() {
193
+ const stable = useChartStable();
194
+ const hover = useChartHover();
195
+ // Identity changes on every hover (hover is the volatile slice) — that's
196
+ // fine for consumers using this merged hook; they explicitly opted in to
197
+ // re-rendering on hover.
198
+ return { ...stable, ...hover };
199
+ }
200
+ export default ChartStableContext;
201
+ //# sourceMappingURL=chart-context.js.map
@@ -0,0 +1,13 @@
1
+ import { type ReactElement, type ReactNode } from "react";
2
+ export declare function getChartChildComponentName(child: ReactElement): string;
3
+ /** @visx/pattern default exports use short names (e.g. `Lines`); also match *Pattern* displayNames. */
4
+ export declare function isPatternDefComponent(child: ReactElement): boolean;
5
+ export declare function isGradientDefComponent(child: ReactElement): boolean;
6
+ export declare function isChartDefsComponent(child: ReactElement): boolean;
7
+ /** Split hoisted defs: @visx/pattern nodes already wrap `<defs>` and render at the svg root. */
8
+ export declare function partitionChartDefNodes(defNodes: ReactElement[]): {
9
+ patternDefNodes: ReactElement[];
10
+ gradientDefNodes: ReactElement[];
11
+ };
12
+ export declare function collectChartDefsChildren(children: ReactNode): ReactElement[];
13
+ //# sourceMappingURL=chart-defs.d.ts.map
@@ -0,0 +1,49 @@
1
+ import { Children, isValidElement } from "react";
2
+ export function getChartChildComponentName(child) {
3
+ const childType = child.type;
4
+ return typeof child.type === "function" ? childType.displayName || childType.name || "" : "";
5
+ }
6
+ const VISX_PATTERN_COMPONENT_NAMES = new Set([
7
+ "Lines",
8
+ "Circles",
9
+ "Waves",
10
+ "Hexagons",
11
+ "Path",
12
+ "Pattern",
13
+ ]);
14
+ /** @visx/pattern default exports use short names (e.g. `Lines`); also match *Pattern* displayNames. */
15
+ export function isPatternDefComponent(child) {
16
+ const name = getChartChildComponentName(child);
17
+ return name.includes("Pattern") || VISX_PATTERN_COMPONENT_NAMES.has(name);
18
+ }
19
+ export function isGradientDefComponent(child) {
20
+ const name = getChartChildComponentName(child);
21
+ return name.includes("Gradient") || name === "LinearGradient" || name === "RadialGradient";
22
+ }
23
+ export function isChartDefsComponent(child) {
24
+ return isPatternDefComponent(child) || isGradientDefComponent(child);
25
+ }
26
+ /** Split hoisted defs: @visx/pattern nodes already wrap `<defs>` and render at the svg root. */
27
+ export function partitionChartDefNodes(defNodes) {
28
+ const patternDefNodes = [];
29
+ const gradientDefNodes = [];
30
+ for (const node of defNodes) {
31
+ if (isPatternDefComponent(node)) {
32
+ patternDefNodes.push(node);
33
+ }
34
+ else {
35
+ gradientDefNodes.push(node);
36
+ }
37
+ }
38
+ return { patternDefNodes, gradientDefNodes };
39
+ }
40
+ export function collectChartDefsChildren(children) {
41
+ const defNodes = [];
42
+ Children.forEach(children, (child) => {
43
+ if (isValidElement(child) && isChartDefsComponent(child)) {
44
+ defNodes.push(child);
45
+ }
46
+ });
47
+ return defNodes;
48
+ }
49
+ //# sourceMappingURL=chart-defs.js.map
@@ -0,0 +1,10 @@
1
+ export declare const shortDateFmt: Intl.DateTimeFormat;
2
+ export declare const weekdayDateFmt: Intl.DateTimeFormat;
3
+ export declare const hmsTimeFmt: Intl.DateTimeFormat;
4
+ /** Wall-clock HH:MM:SS for live axes — client-only, after mount. */
5
+ export declare const liveHmsFmt: Intl.DateTimeFormat;
6
+ export declare const intFmt: {
7
+ (value: number): string;
8
+ (value: number | bigint): string;
9
+ };
10
+ //# sourceMappingURL=chart-formatters.d.ts.map
@@ -0,0 +1,28 @@
1
+ export const shortDateFmt = new Intl.DateTimeFormat("en-US", {
2
+ month: "short",
3
+ day: "numeric",
4
+ timeZone: "UTC",
5
+ });
6
+ export const weekdayDateFmt = new Intl.DateTimeFormat("en-US", {
7
+ weekday: "short",
8
+ month: "short",
9
+ day: "numeric",
10
+ timeZone: "UTC",
11
+ });
12
+ export const hmsTimeFmt = new Intl.DateTimeFormat("en-US", {
13
+ hour: "2-digit",
14
+ minute: "2-digit",
15
+ second: "2-digit",
16
+ hour12: false,
17
+ timeZone: "UTC",
18
+ });
19
+ /** Wall-clock HH:MM:SS for live axes — client-only, after mount. */
20
+ export const liveHmsFmt = new Intl.DateTimeFormat("en-US", {
21
+ hour: "2-digit",
22
+ minute: "2-digit",
23
+ second: "2-digit",
24
+ hour12: false,
25
+ });
26
+ // `Intl.NumberFormat.prototype.format` is a bound getter — safe to extract.
27
+ export const intFmt = new Intl.NumberFormat("en-US").format;
28
+ //# sourceMappingURL=chart-formatters.js.map
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from "react";
2
+ interface ChartLegendHoverContextValue {
3
+ hoveredIndex: number | null;
4
+ setHoveredIndex: (index: number | null) => void;
5
+ }
6
+ export declare function ChartLegendHoverProvider({ hoveredIndex, onHoverChange, children, }: {
7
+ hoveredIndex: number | null;
8
+ onHoverChange: (index: number | null) => void;
9
+ children: ReactNode;
10
+ }): import("react").JSX.Element;
11
+ export declare function useChartLegendHover(): ChartLegendHoverContextValue;
12
+ export {};
13
+ //# sourceMappingURL=chart-legend-hover.d.ts.map
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useMemo } from "react";
4
+ const ChartLegendHoverContext = createContext(null);
5
+ export function ChartLegendHoverProvider({ hoveredIndex, onHoverChange, children, }) {
6
+ const value = useMemo(() => ({ hoveredIndex, setHoveredIndex: onHoverChange }), [hoveredIndex, onHoverChange]);
7
+ return (_jsx(ChartLegendHoverContext.Provider, { value: value, children: children }));
8
+ }
9
+ export function useChartLegendHover() {
10
+ const context = useContext(ChartLegendHoverContext);
11
+ return (context ?? {
12
+ hoveredIndex: null,
13
+ setHoveredIndex: () => {
14
+ /* noop outside ChartLegendHoverProvider */
15
+ },
16
+ });
17
+ }
18
+ //# sourceMappingURL=chart-legend-hover.js.map
@@ -0,0 +1,55 @@
1
+ import type { ReactNode } from "react";
2
+ export interface LegendItem {
3
+ /** Display label */
4
+ label: string;
5
+ /** Current value */
6
+ value: number;
7
+ /** Maximum value (for progress bar calculation) */
8
+ maxValue?: number;
9
+ /** Item color */
10
+ color: string;
11
+ }
12
+ export interface ChartLegendProps {
13
+ /** Legend items to display */
14
+ items: LegendItem[];
15
+ /** Currently hovered index (for highlight effect) */
16
+ hoveredIndex?: number | null;
17
+ /** Callback when an item is hovered */
18
+ onHover?: (index: number | null) => void;
19
+ /** Show progress bars. Default: false */
20
+ showProgress?: boolean;
21
+ /** Show color marker dot. Default: true */
22
+ showMarker?: boolean;
23
+ /** Show numeric value column. Default: true */
24
+ showValue?: boolean;
25
+ /** Show percentage value. Default: true when showProgress is true */
26
+ showPercentage?: boolean;
27
+ /** Format function for displaying values. Default: toLocaleString() */
28
+ formatValue?: (value: number) => string;
29
+ /** Title shown above the legend */
30
+ title?: string;
31
+ /** Additional class name for the container */
32
+ className?: string;
33
+ /** Class name for the title */
34
+ titleClassName?: string;
35
+ /** Class name for each legend item */
36
+ itemClassName?: string;
37
+ /** Class name for the label */
38
+ labelClassName?: string;
39
+ /** Class name for the value */
40
+ valueClassName?: string;
41
+ /** Custom render function for legend items */
42
+ renderItem?: (props: {
43
+ item: LegendItem;
44
+ index: number;
45
+ isHovered: boolean;
46
+ isFaded: boolean;
47
+ percentage: number;
48
+ }) => ReactNode;
49
+ }
50
+ export declare function ChartLegend({ items, hoveredIndex, onHover, showProgress, showMarker, showValue, showPercentage, formatValue, title, className, titleClassName, itemClassName, labelClassName, valueClassName, renderItem, }: ChartLegendProps): import("react").JSX.Element;
51
+ export declare namespace ChartLegend {
52
+ var displayName: string;
53
+ }
54
+ export default ChartLegend;
55
+ //# sourceMappingURL=chart-legend.d.ts.map
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from "../lib/cn.js";
4
+ import { intFmt } from "./chart-formatters.js";
5
+ function ProgressItem({ item, showMarker, showValue, showPercentage, formatValue, labelClassName, valueClassName, }) {
6
+ const percentage = item.maxValue ? (item.value / item.maxValue) * 100 : 0;
7
+ // Note: item.color must remain inline style as it's dynamic data
8
+ return (_jsxs("div", { className: "grid w-full grid-cols-[auto_1fr_auto] items-center gap-x-3 gap-y-1", children: [showMarker ? (_jsx("div", { className: "h-2.5 w-2.5 shrink-0 rounded-full", style: { backgroundColor: item.color } })) : null, _jsx("span", { className: cn("text-legend-foreground", labelClassName), children: item.label }), showValue ? (_jsx("span", { className: cn("text-legend-muted-foreground", valueClassName), children: formatValue(item.value) })) : null, _jsx("div", { className: "col-span-full h-1.5 overflow-hidden rounded-full bg-legend-track", children: _jsx("div", { className: "h-full rounded-full transition-all duration-500", style: { backgroundColor: item.color, width: `${percentage}%` } }) }), showPercentage ? (_jsxs("span", { className: "col-start-3 text-legend-muted-foreground text-xs tabular-nums", children: [percentage.toFixed(0), "%"] })) : null] }));
9
+ }
10
+ function SimpleItem({ item, showMarker, showValue, formatValue, labelClassName, valueClassName, }) {
11
+ // Note: item.color must remain inline style as it's dynamic data
12
+ return (_jsxs("div", { className: "flex items-center gap-3", children: [showMarker && (_jsx("div", { className: "h-2.5 w-2.5 shrink-0 rounded-full", style: { backgroundColor: item.color } })), _jsx("span", { className: cn("flex-1 text-legend-foreground", labelClassName), children: item.label }), showValue ? (_jsx("span", { className: cn("text-legend-muted-foreground", valueClassName), children: formatValue(item.value) })) : null] }));
13
+ }
14
+ export function ChartLegend({ items, hoveredIndex = null, onHover, showProgress = false, showMarker = true, showValue = true, showPercentage, formatValue = intFmt, title, className = "", titleClassName = "text-sm font-semibold", itemClassName = "", labelClassName = "text-sm font-medium", valueClassName = "text-sm tabular-nums", renderItem, }) {
15
+ // Default showPercentage to true when showProgress is true
16
+ const displayPercentage = showPercentage ?? showProgress;
17
+ return (_jsxs("div", { className: cn("legend-container flex flex-col gap-2", className), children: [title && _jsx("h3", { className: cn("mb-1 text-legend-foreground", titleClassName), children: title }), items.map((item, i) => {
18
+ const percentage = item.maxValue ? (item.value / item.maxValue) * 100 : 0;
19
+ const isHovered = hoveredIndex === i;
20
+ const isFaded = hoveredIndex !== null && hoveredIndex !== i;
21
+ // Allow custom rendering
22
+ if (renderItem) {
23
+ return (_jsx("div", { "data-hovered": isHovered ? "" : undefined, onMouseEnter: () => onHover?.(i), onMouseLeave: () => onHover?.(null), children: renderItem({ item, index: i, isHovered, isFaded, percentage }) }, `legend-${item.label}-${item.value}`));
24
+ }
25
+ return (_jsx("div", { className: cn("cursor-pointer rounded-lg px-2 py-1.5 transition-all duration-150 ease-out", isHovered && "bg-legend-muted", isFaded && "opacity-40", itemClassName), "data-hovered": isHovered ? "" : undefined, onMouseEnter: () => onHover?.(i), onMouseLeave: () => onHover?.(null), children: showProgress && item.maxValue ? (_jsx(ProgressItem, { formatValue: formatValue, item: item, labelClassName: labelClassName, showMarker: showMarker, showPercentage: displayPercentage, showValue: showValue, valueClassName: valueClassName })) : (_jsx(SimpleItem, { formatValue: formatValue, item: item, labelClassName: labelClassName, showMarker: showMarker, showValue: showValue, valueClassName: valueClassName })) }, `legend-${item.label}-${item.value}`));
26
+ })] }));
27
+ }
28
+ ChartLegend.displayName = "ChartLegend";
29
+ export default ChartLegend;
30
+ //# sourceMappingURL=chart-legend.js.map
@@ -0,0 +1,10 @@
1
+ export interface ChartLoadingLabelProps {
2
+ /** Label shown centered over the chart. */
3
+ text?: string;
4
+ className?: string;
5
+ /** Animate down, fade, and blur during loading → ready handoff. */
6
+ exiting?: boolean;
7
+ }
8
+ export declare function ChartLoadingLabel({ text, className, exiting, }: ChartLoadingLabelProps): import("react").JSX.Element | null;
9
+ export default ChartLoadingLabel;
10
+ //# sourceMappingURL=chart-loading-label.d.ts.map
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { motion } from "motion/react";
4
+ import { cn } from "../lib/cn.js";
5
+ import { LINE_LOADING_PULSE_EASE, LOADING_LABEL_EXIT_S, LOADING_LABEL_EXIT_Y_PX, } from "./line-loading-timing.js";
6
+ import { ShimmeringText } from "./shimmering-text.js";
7
+ export function ChartLoadingLabel({ text = "Loading", className, exiting = false, }) {
8
+ if (!text.trim()) {
9
+ return null;
10
+ }
11
+ return (_jsx(motion.div, { animate: {
12
+ y: exiting ? LOADING_LABEL_EXIT_Y_PX : 0,
13
+ opacity: exiting ? 0 : 1,
14
+ filter: exiting ? "blur(2px)" : "blur(0px)",
15
+ }, "aria-live": "polite", className: cn("pointer-events-none absolute inset-0 flex items-center justify-center", className), initial: false, role: "status", transition: {
16
+ duration: LOADING_LABEL_EXIT_S,
17
+ ease: [...LINE_LOADING_PULSE_EASE],
18
+ }, children: _jsx(ShimmeringText, { className: "font-medium text-sm tracking-wide [--color:var(--muted-foreground)] [--shimmering-color:var(--foreground)]", text: text }) }));
19
+ }
20
+ export default ChartLoadingLabel;
21
+ //# sourceMappingURL=chart-loading-label.js.map