@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,34 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext } from "react";
4
+ // CSS variable references for legend theming
5
+ export const legendCssVars = {
6
+ background: "var(--legend)",
7
+ foreground: "var(--legend-foreground)",
8
+ muted: "var(--legend-muted)",
9
+ mutedForeground: "var(--legend-muted-foreground)",
10
+ track: "var(--legend-track)",
11
+ };
12
+ const LegendContext = createContext(null);
13
+ const LegendItemContext = createContext(null);
14
+ export function LegendProvider({ children, value, }) {
15
+ return _jsx(LegendContext.Provider, { value: value, children: children });
16
+ }
17
+ export function LegendItemProvider({ children, value, }) {
18
+ return _jsx(LegendItemContext.Provider, { value: value, children: children });
19
+ }
20
+ export function useLegend() {
21
+ const context = useContext(LegendContext);
22
+ if (!context) {
23
+ throw new Error("useLegend must be used within a <Legend> component.");
24
+ }
25
+ return context;
26
+ }
27
+ export function useLegendItem() {
28
+ const context = useContext(LegendItemContext);
29
+ if (!context) {
30
+ throw new Error("useLegendItem must be used within a <LegendItem> component.");
31
+ }
32
+ return context;
33
+ }
34
+ //# sourceMappingURL=legend-context.js.map
@@ -0,0 +1,12 @@
1
+ import type { ReactNode } from "react";
2
+ export interface LegendItemProps {
3
+ /** Container class name */
4
+ className?: string;
5
+ /** Children components (LegendMarker, LegendLabel, LegendValue, LegendProgress) */
6
+ children: ReactNode;
7
+ }
8
+ export declare function LegendItem({ className, children }: LegendItemProps): import("react").JSX.Element;
9
+ export declare namespace LegendItem {
10
+ var displayName: string;
11
+ }
12
+ //# sourceMappingURL=legend-item.d.ts.map
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cn } from "../../lib/cn.js";
4
+ import { useLegend, useLegendItem } from "./legend-context.js";
5
+ export function LegendItem({ className = "", children }) {
6
+ const { setHoveredIndex } = useLegend();
7
+ const { index, isHovered, isFaded } = useLegendItem();
8
+ 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", className), "data-hovered": isHovered ? "" : undefined, onMouseEnter: () => setHoveredIndex(index), onMouseLeave: () => setHoveredIndex(null), children: children }));
9
+ }
10
+ LegendItem.displayName = "LegendItem";
11
+ //# sourceMappingURL=legend-item.js.map
@@ -0,0 +1,9 @@
1
+ export interface LegendLabelProps {
2
+ /** Label class name. Default: "text-sm font-medium" */
3
+ className?: string;
4
+ }
5
+ export declare function LegendLabel({ className }: LegendLabelProps): import("react").JSX.Element;
6
+ export declare namespace LegendLabel {
7
+ var displayName: string;
8
+ }
9
+ //# sourceMappingURL=legend-label.d.ts.map
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cn } from "../../lib/cn.js";
4
+ import { useLegendItem } from "./legend-context.js";
5
+ export function LegendLabel({ className = "text-sm font-medium" }) {
6
+ const { item } = useLegendItem();
7
+ return _jsx("span", { className: cn("text-legend-foreground", className), children: item.label });
8
+ }
9
+ LegendLabel.displayName = "LegendLabel";
10
+ //# sourceMappingURL=legend-label.js.map
@@ -0,0 +1,9 @@
1
+ export interface LegendMarkerProps {
2
+ /** Marker size class. Default: "h-2.5 w-2.5" */
3
+ className?: string;
4
+ }
5
+ export declare function LegendMarker({ className }: LegendMarkerProps): import("react").JSX.Element;
6
+ export declare namespace LegendMarker {
7
+ var displayName: string;
8
+ }
9
+ //# sourceMappingURL=legend-marker.d.ts.map
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cn } from "../../lib/cn.js";
4
+ import { useLegendItem } from "./legend-context.js";
5
+ export function LegendMarker({ className = "h-2.5 w-2.5" }) {
6
+ const { item } = useLegendItem();
7
+ // Note: backgroundColor must remain inline style as item.color is dynamic data
8
+ return (_jsx("div", { className: cn("shrink-0 rounded-full", className), style: { backgroundColor: item.color } }));
9
+ }
10
+ LegendMarker.displayName = "LegendMarker";
11
+ //# sourceMappingURL=legend-marker.js.map
@@ -0,0 +1,13 @@
1
+ export interface LegendProgressProps {
2
+ /** Track class name */
3
+ trackClassName?: string;
4
+ /** Indicator class name */
5
+ indicatorClassName?: string;
6
+ /** Track height. Default: "h-1.5" */
7
+ height?: string;
8
+ }
9
+ export declare function LegendProgress({ trackClassName, indicatorClassName, height, }: LegendProgressProps): import("react").JSX.Element | null;
10
+ export declare namespace LegendProgress {
11
+ var displayName: string;
12
+ }
13
+ //# sourceMappingURL=legend-progress.d.ts.map
@@ -0,0 +1,15 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cn } from "../../lib/cn.js";
4
+ import { useLegendItem } from "./legend-context.js";
5
+ export function LegendProgress({ trackClassName = "", indicatorClassName = "", height = "h-1.5", }) {
6
+ const { item } = useLegendItem();
7
+ if (!item.maxValue) {
8
+ return null;
9
+ }
10
+ // Note: item.color must remain inline style as it's dynamic data
11
+ const pct = Math.min(100, Math.max(0, (item.value / item.maxValue) * 100));
12
+ return (_jsx("div", { "aria-valuemax": item.maxValue, "aria-valuenow": item.value, className: cn("w-full overflow-hidden rounded-full bg-legend-track", height, trackClassName), role: "progressbar", children: _jsx("div", { className: cn("h-full rounded-full transition-all duration-500", indicatorClassName), style: { backgroundColor: item.color, width: `${pct}%` } }) }));
13
+ }
14
+ LegendProgress.displayName = "LegendProgress";
15
+ //# sourceMappingURL=legend-progress.js.map
@@ -0,0 +1,17 @@
1
+ export interface LegendValueProps {
2
+ /** Value class name. Default: "text-sm tabular-nums" */
3
+ className?: string;
4
+ /** Show percentage alongside value. Default: false */
5
+ showPercentage?: boolean;
6
+ /** Percentage class name. Default: "text-xs tabular-nums" */
7
+ percentageClassName?: string;
8
+ /** Format function for the value. Default: toLocaleString() */
9
+ formatValue?: (value: number) => string;
10
+ /** Format function for percentage. Default: (p) => `${p.toFixed(0)}%` */
11
+ formatPercentage?: (percentage: number) => string;
12
+ }
13
+ export declare function LegendValue({ className, showPercentage, percentageClassName, formatValue, formatPercentage, }: LegendValueProps): import("react").JSX.Element;
14
+ export declare namespace LegendValue {
15
+ var displayName: string;
16
+ }
17
+ //# sourceMappingURL=legend-value.d.ts.map
@@ -0,0 +1,11 @@
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
+ import { useLegendItem } from "./legend-context.js";
6
+ export function LegendValue({ className = "text-sm tabular-nums", showPercentage = false, percentageClassName = "text-xs tabular-nums", formatValue = intFmt, formatPercentage = (p) => `${p.toFixed(0)}%`, }) {
7
+ const { item, percentage } = useLegendItem();
8
+ return (_jsxs("span", { className: cn("flex items-center gap-2 text-legend-muted-foreground", className), children: [_jsx("span", { children: formatValue(item.value) }), showPercentage && item.maxValue && (_jsx("span", { className: percentageClassName, children: formatPercentage(percentage) }))] }));
9
+ }
10
+ LegendValue.displayName = "LegendValue";
11
+ //# sourceMappingURL=legend-value.js.map
@@ -0,0 +1,23 @@
1
+ import { type ReactElement } from "react";
2
+ import { type LegendItemData } from "./legend-context.js";
3
+ export interface LegendProps {
4
+ /** Legend items data */
5
+ items: LegendItemData[];
6
+ /** Controlled hover state */
7
+ hoveredIndex?: number | null;
8
+ /** Hover state change callback */
9
+ onHoverChange?: (index: number | null) => void;
10
+ /** Title shown above the legend */
11
+ title?: string;
12
+ /** Title class name */
13
+ titleClassName?: string;
14
+ /** Container class name */
15
+ className?: string;
16
+ /** Children - should contain a single LegendItem that will be mapped for each item */
17
+ children: ReactElement;
18
+ }
19
+ export declare function Legend({ items, hoveredIndex: controlledHoveredIndex, onHoverChange, title, titleClassName, className, children, }: LegendProps): import("react").JSX.Element;
20
+ export declare namespace Legend {
21
+ var displayName: string;
22
+ }
23
+ //# sourceMappingURL=legend.d.ts.map
@@ -0,0 +1,43 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cloneElement, isValidElement, useState } from "react";
4
+ import { cn } from "../../lib/cn.js";
5
+ import { LegendItemProvider, LegendProvider } from "./legend-context.js";
6
+ export function Legend({ items, hoveredIndex: controlledHoveredIndex, onHoverChange, title, titleClassName = "text-sm font-semibold", className = "", children, }) {
7
+ const [internalHoveredIndex, setInternalHoveredIndex] = useState(null);
8
+ // Controlled or uncontrolled hover state
9
+ const isControlled = controlledHoveredIndex !== undefined;
10
+ const hoveredIndex = isControlled ? controlledHoveredIndex : internalHoveredIndex;
11
+ const setHoveredIndex = (index) => {
12
+ if (isControlled) {
13
+ onHoverChange?.(index);
14
+ }
15
+ else {
16
+ setInternalHoveredIndex(index);
17
+ }
18
+ };
19
+ const contextValue = {
20
+ items,
21
+ hoveredIndex,
22
+ setHoveredIndex,
23
+ };
24
+ return (_jsx(LegendProvider, { value: contextValue, children: _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, index) => {
25
+ const isHovered = hoveredIndex === index;
26
+ const isFaded = hoveredIndex !== null && hoveredIndex !== index;
27
+ const percentage = item.maxValue ? (item.value / item.maxValue) * 100 : 0;
28
+ const itemContext = {
29
+ item,
30
+ index,
31
+ isHovered,
32
+ isFaded,
33
+ percentage,
34
+ };
35
+ // Clone the child element for each item
36
+ if (isValidElement(children)) {
37
+ return (_jsx(LegendItemProvider, { value: itemContext, children: cloneElement(children) }, item.label));
38
+ }
39
+ return null;
40
+ })] }) }));
41
+ }
42
+ Legend.displayName = "Legend";
43
+ //# sourceMappingURL=legend.js.map
@@ -0,0 +1,34 @@
1
+ import type { Margin } from "./chart-context.js";
2
+ import type { LoadingStyle } from "./chart-phase.js";
3
+ export interface LineChartLoadingProps {
4
+ /** Chart margins */
5
+ margin?: Partial<Margin>;
6
+ /** Stroke color for the animated loading segment. */
7
+ stroke?: string;
8
+ /** Stroke opacity for the animated loading segment. Default: 0.5 */
9
+ strokeOpacity?: number;
10
+ /** Grid line stroke (color and opacity via color-mix or oklch alpha). */
11
+ gridStroke?: string;
12
+ /** Shimmer band stroke (color and opacity via color-mix or oklch alpha). */
13
+ gridShimmerStroke?: string;
14
+ /** Animate a shimmer band across grid lines. Default: true */
15
+ gridShimmer?: boolean;
16
+ /** Shimmer band width in pixels. Default: 140 */
17
+ gridShimmerLength?: number;
18
+ /** Shimmer speed multiplier (higher = faster). Default: 1 */
19
+ gridShimmerSpeed?: number;
20
+ /** Match shimmer loop to the loading line pulse (cycle + inter-loop pause). */
21
+ gridShimmerSync?: boolean;
22
+ /** Loading animation: `"pulse"` (default traveling pulse) or `"sweep"` (a
23
+ * diagonal shimmer across the skeleton line). Default: `"pulse"`. */
24
+ loadingStyle?: LoadingStyle;
25
+ /** Centered shimmer label text. Default: "Loading" */
26
+ label?: string;
27
+ /** Aspect ratio as "width / height". Default: "2 / 1" */
28
+ aspectRatio?: string;
29
+ /** Additional class name for the container */
30
+ className?: string;
31
+ }
32
+ export declare function LineChartLoading({ margin, stroke, strokeOpacity, gridStroke, gridShimmerStroke, gridShimmer, gridShimmerLength, gridShimmerSpeed, gridShimmerSync, loadingStyle, label, aspectRatio, className, }: LineChartLoadingProps): import("react").JSX.Element;
33
+ export default LineChartLoading;
34
+ //# sourceMappingURL=line-chart-loading.d.ts.map
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { curveNatural } from "@visx/curve";
4
+ import { useMemo } from "react";
5
+ import { DEFAULT_SKELETON_DATA_KEY, DEFAULT_SKELETON_POINT_COUNT, generateChartSkeletonData, } from "./generate-chart-skeleton-data.js";
6
+ import { Grid } from "./grid.js";
7
+ import { Line } from "./line.js";
8
+ import { LineChart } from "./line-chart.js";
9
+ const LOADING_DATA_KEY = DEFAULT_SKELETON_DATA_KEY;
10
+ const DEFAULT_LOADING_STROKE = "var(--foreground)";
11
+ const DEFAULT_LOADING_GRID_STROKE = "color-mix(in oklch, var(--chart-grid) 50%, transparent)";
12
+ const DEFAULT_LOADING_GRID_SHIMMER_STROKE = "color-mix(in oklch, var(--foreground) 68%, transparent)";
13
+ const DEFAULT_LOADING_STROKE_OPACITY = 0.5;
14
+ export function LineChartLoading({ margin, stroke = DEFAULT_LOADING_STROKE, strokeOpacity = DEFAULT_LOADING_STROKE_OPACITY, gridStroke = DEFAULT_LOADING_GRID_STROKE, gridShimmerStroke = DEFAULT_LOADING_GRID_SHIMMER_STROKE, gridShimmer = true, gridShimmerLength, gridShimmerSpeed, gridShimmerSync = false, loadingStyle = "pulse", label = "Loading", aspectRatio = "2 / 1", className = "", }) {
15
+ const data = useMemo(() => generateChartSkeletonData({
16
+ dataKey: DEFAULT_SKELETON_DATA_KEY,
17
+ pointCount: DEFAULT_SKELETON_POINT_COUNT,
18
+ }), []);
19
+ return (_jsxs(LineChart, { animationDuration: 0, aspectRatio: aspectRatio, className: className, data: data, loadingLabel: label, margin: margin, status: "loading", children: [_jsx(Grid, { horizontal: true, shimmer: loadingStyle === "sweep" ? false : gridShimmer, shimmerLength: gridShimmerLength, shimmerSpeed: gridShimmerSpeed, shimmerStroke: gridShimmerStroke, shimmerSync: gridShimmerSync, stroke: gridStroke }), _jsx(Line, { curve: curveNatural, dataKey: LOADING_DATA_KEY, fadeEdges: false, loadingStroke: stroke, loadingStrokeOpacity: strokeOpacity, loadingStyle: loadingStyle, showHighlight: false, stroke: "transparent", strokeWidth: 2.5 })] }));
20
+ }
21
+ export default LineChartLoading;
22
+ //# sourceMappingURL=line-chart-loading.js.map
@@ -0,0 +1,46 @@
1
+ import type { Transition } from "motion/react";
2
+ import { type CSSProperties, type ReactNode } from "react";
3
+ import type { Margin } from "./chart-context.js";
4
+ import { type ChartPhase, type ChartStatus } from "./chart-phase.js";
5
+ export interface LineChartProps {
6
+ /** Data array - each item should have a date field and numeric values */
7
+ data: Record<string, unknown>[];
8
+ /** Key in data for the x-axis (date). Default: "date" */
9
+ xDataKey?: string;
10
+ /** Chart margins */
11
+ margin?: Partial<Margin>;
12
+ /** Animation duration in milliseconds. Default: 1100 */
13
+ animationDuration?: number;
14
+ /** CSS easing for clip-reveal. Default: cubic-bezier(0.85, 0, 0.15, 1) */
15
+ animationEasing?: string;
16
+ enterTransition?: Transition;
17
+ revealSignature?: string;
18
+ /** Aspect ratio as "width / height". Default: "2 / 1". Omit to fill a sized parent. */
19
+ aspectRatio?: string;
20
+ /** Additional class name for the container */
21
+ className?: string;
22
+ /** Loading vs ready — drives chart phase and loading chrome. Default: `"ready"`. */
23
+ status?: ChartStatus;
24
+ /** Centered shimmer label while loading. */
25
+ loadingLabel?: string;
26
+ /** Animate y-domain over this duration (ms) on status transitions. Default: 500. */
27
+ yDomainTweenDuration?: number;
28
+ /** Animate y-domain when status or target domain changes. Default: true */
29
+ yDomainTween?: boolean;
30
+ /** Visible x-domain for brush zoom. */
31
+ xDomain?: [Date, Date];
32
+ /** Full dataset length for x-scale padding when `xDomain` is set. */
33
+ xDomainSlotCount?: number;
34
+ /** Tween y-domain when brush changes the visible x-range. Default: false */
35
+ tweenYDomainOnXDomainChange?: boolean;
36
+ /** Inline container styles (e.g. fixed height for brush strip). */
37
+ style?: CSSProperties;
38
+ /** Fires when the internal chart phase changes (e.g. OG capture readiness). */
39
+ onPhaseChange?: (phase: ChartPhase) => void;
40
+ /** Child components (Line, Grid, ChartTooltip, etc.) */
41
+ children: ReactNode;
42
+ }
43
+ export declare function LineChart({ data, xDataKey, margin: marginProp, animationDuration, animationEasing, enterTransition, revealSignature, aspectRatio, className, status, loadingLabel, yDomainTweenDuration, yDomainTween, xDomain, xDomainSlotCount, tweenYDomainOnXDomainChange, style, onPhaseChange, children, }: LineChartProps): import("react").JSX.Element;
44
+ export { Line, type LineProps } from "./line.js";
45
+ export default LineChart;
46
+ //# sourceMappingURL=line-chart.d.ts.map
@@ -0,0 +1,91 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ParentSize } from "@visx/responsive";
4
+ import { Children, isValidElement, useCallback, useMemo, useRef, useState, } from "react";
5
+ import { cn } from "../lib/cn.js";
6
+ import { ChartLoadingLabel } from "./chart-loading-label.js";
7
+ import { DEFAULT_CHART_STATUS, DEFAULT_Y_DOMAIN_TWEEN_MS, resolveRestingChartPhase, } from "./chart-phase.js";
8
+ import { Line } from "./line.js";
9
+ import { TimeSeriesChartInner } from "./time-series-chart-shell.js";
10
+ const DEFAULT_MARGIN = { top: 40, right: 40, bottom: 40, left: 40 };
11
+ /** Series renderers that carry a dataKey but must not drive the shared y-domain. */
12
+ const LINE_DOMAIN_EXCLUDED_NAMES = new Set([
13
+ "ProfitLossLine",
14
+ "LineSeriesTerminalMarker",
15
+ "Area",
16
+ "SeriesBar",
17
+ "Scatter",
18
+ "Candlestick",
19
+ "Bar",
20
+ "PatternArea",
21
+ ]);
22
+ function getChildComponentName(child) {
23
+ const childType = child.type;
24
+ return typeof child.type === "function" ? childType.displayName || childType.name || "" : "";
25
+ }
26
+ function registersLineDomain(child, props) {
27
+ if (!props?.dataKey) {
28
+ return false;
29
+ }
30
+ const componentName = getChildComponentName(child);
31
+ if (componentName === "Line" || child.type === Line) {
32
+ return true;
33
+ }
34
+ if (LINE_DOMAIN_EXCLUDED_NAMES.has(componentName)) {
35
+ return false;
36
+ }
37
+ // MDX / duplicate bundle instances may not share the same `Line` reference.
38
+ return typeof props.dataKey === "string" && props.dataKey.length > 0;
39
+ }
40
+ function extractLineConfigs(children) {
41
+ const configs = [];
42
+ const visit = (node) => {
43
+ Children.forEach(node, (child) => {
44
+ if (!isValidElement(child)) {
45
+ return;
46
+ }
47
+ const props = child.props;
48
+ if (registersLineDomain(child, props) && props?.dataKey) {
49
+ configs.push({
50
+ dataKey: props.dataKey,
51
+ stroke: props.stroke || "var(--chart-line-primary)",
52
+ strokeWidth: props.strokeWidth || 2.5,
53
+ yAxisId: props.yAxisId,
54
+ });
55
+ return;
56
+ }
57
+ const childProps = child.props;
58
+ if (childProps?.children) {
59
+ visit(childProps.children);
60
+ }
61
+ });
62
+ };
63
+ visit(children);
64
+ return configs;
65
+ }
66
+ function ChartInner({ width, height, data, xDataKey, margin, animationDuration, animationEasing, enterTransition, revealSignature, chartStatus, loadingLabel, yDomainTweenDuration, yDomainTween, xDomain, xDomainSlotCount, tweenYDomainOnXDomainChange, children, containerRef, onPhaseChange, }) {
67
+ const lines = useMemo(() => extractLineConfigs(children), [children]);
68
+ return (_jsx(TimeSeriesChartInner, { animationDuration: animationDuration, animationEasing: animationEasing, chartStatus: chartStatus, clipPathId: "chart-grow-clip", containerRef: containerRef, data: data, enterTransition: enterTransition, height: height, lines: lines, loadingLabel: loadingLabel, margin: margin, onPhaseChange: onPhaseChange, revealSignature: revealSignature, tweenYDomainOnXDomainChange: tweenYDomainOnXDomainChange, width: width, xDataKey: xDataKey, xDomain: xDomain, xDomainSlotCount: xDomainSlotCount, yDomainTween: yDomainTween, yDomainTweenDuration: yDomainTweenDuration, children: children }));
69
+ }
70
+ export function LineChart({ data, xDataKey = "date", margin: marginProp, animationDuration = 1100, animationEasing, enterTransition, revealSignature, aspectRatio = "2 / 1", className = "", status = DEFAULT_CHART_STATUS, loadingLabel, yDomainTweenDuration = DEFAULT_Y_DOMAIN_TWEEN_MS, yDomainTween = true, xDomain, xDomainSlotCount, tweenYDomainOnXDomainChange = false, style, onPhaseChange, children, }) {
71
+ const containerRef = useRef(null);
72
+ const margin = { ...DEFAULT_MARGIN, ...marginProp };
73
+ const [chartPhase, setChartPhase] = useState(() => resolveRestingChartPhase(status));
74
+ const handlePhaseChange = useCallback((phase) => {
75
+ setChartPhase(phase);
76
+ onPhaseChange?.(phase);
77
+ }, [onPhaseChange]);
78
+ const showLoadingLabel = Boolean(loadingLabel?.trim() &&
79
+ (chartPhase === "loading" ||
80
+ chartPhase === "exiting" ||
81
+ chartPhase === "gridTweenReady" ||
82
+ chartPhase === "revealingLoading"));
83
+ return (_jsxs("div", { "data-slot": "line-chart", className: cn("relative w-full", className), ref: containerRef, style: {
84
+ ...(aspectRatio ? { aspectRatio } : undefined),
85
+ touchAction: "none",
86
+ ...style,
87
+ }, children: [_jsx(ParentSize, { debounceTime: 10, children: ({ width, height }) => (_jsx(ChartInner, { animationDuration: animationDuration, animationEasing: animationEasing, chartStatus: status, containerRef: containerRef, data: data, enterTransition: enterTransition, height: height, loadingLabel: loadingLabel, margin: margin, onPhaseChange: handlePhaseChange, revealSignature: revealSignature, tweenYDomainOnXDomainChange: tweenYDomainOnXDomainChange, width: width, xDataKey: xDataKey, xDomain: xDomain, xDomainSlotCount: xDomainSlotCount, yDomainTween: yDomainTween, yDomainTweenDuration: yDomainTweenDuration, children: children })) }), showLoadingLabel ? (_jsx(ChartLoadingLabel, { exiting: chartPhase !== "loading", text: loadingLabel })) : null] }));
88
+ }
89
+ export { Line } from "./line.js";
90
+ export default LineChart;
91
+ //# sourceMappingURL=line-chart.js.map
@@ -0,0 +1,20 @@
1
+ import type { ChartPhase } from "./chart-phase.js";
2
+ export type LineLoadingPulseMode = "loop" | "exit" | "enter";
3
+ export declare function resolveLineLoadingPulseMode(phase: ChartPhase): LineLoadingPulseMode | null;
4
+ export interface LineLoadingPulseStrokeProps {
5
+ pathD: string;
6
+ mode?: LineLoadingPulseMode;
7
+ /** Bumps to restart loop cycles without remounting the stroke. */
8
+ loopEpoch?: number;
9
+ stroke?: string;
10
+ /** Stroke opacity for the animated segment. Default: 0.5 */
11
+ strokeOpacity?: number;
12
+ strokeWidth?: number;
13
+ onCycleComplete?: () => void;
14
+ }
15
+ export declare function LineLoadingPulseStroke({ pathD, mode, loopEpoch, stroke, strokeOpacity, strokeWidth, onCycleComplete, }: LineLoadingPulseStrokeProps): import("react").JSX.Element | null;
16
+ export declare namespace LineLoadingPulseStroke {
17
+ var displayName: string;
18
+ }
19
+ export default LineLoadingPulseStroke;
20
+ //# sourceMappingURL=line-loading-pulse.d.ts.map
@@ -0,0 +1,124 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { animate, motion, useMotionValue, useTransform } from "motion/react";
4
+ import { useEffect, useId } from "react";
5
+ import { chartCssVars, useChartStable } from "./chart-context.js";
6
+ import { fadeGradientStops, resolveFadeSides, viewportFadeGradientAttrs } from "./fade-edges.js";
7
+ import { LINE_LOADING_PULSE_CYCLE_S, LINE_LOADING_PULSE_EASE } from "./line-loading-timing.js";
8
+ const CLIP_PADDING = 10;
9
+ export function resolveLineLoadingPulseMode(phase) {
10
+ switch (phase) {
11
+ case "loading":
12
+ return "loop";
13
+ case "exiting":
14
+ return "exit";
15
+ case "revealingLoading":
16
+ return "enter";
17
+ default:
18
+ return null;
19
+ }
20
+ }
21
+ function useGrowExitClip(innerWidth, mode, loopEpoch, onComplete) {
22
+ const progress = useMotionValue(0);
23
+ const paddedFullWidth = innerWidth + CLIP_PADDING * 2;
24
+ const rightEdge = innerWidth + CLIP_PADDING;
25
+ const clipWidth = useTransform(progress, (p) => {
26
+ if (p <= 0.5) {
27
+ return (p / 0.5) * paddedFullWidth;
28
+ }
29
+ const shrink = (p - 0.5) / 0.5;
30
+ return (1 - shrink) * paddedFullWidth;
31
+ });
32
+ const clipX = useTransform(progress, (p) => {
33
+ if (p <= 0.5) {
34
+ return -CLIP_PADDING;
35
+ }
36
+ const shrink = (p - 0.5) / 0.5;
37
+ return rightEdge - (1 - shrink) * paddedFullWidth;
38
+ });
39
+ // biome-ignore lint/correctness/useExhaustiveDependencies: loopEpoch restarts pulse when orchestrator advances
40
+ useEffect(() => {
41
+ if (innerWidth <= 0) {
42
+ return;
43
+ }
44
+ const halfCycleS = LINE_LOADING_PULSE_CYCLE_S / 2;
45
+ let cancelled = false;
46
+ let controls;
47
+ const finish = () => {
48
+ if (!cancelled) {
49
+ onComplete?.();
50
+ }
51
+ };
52
+ const runShrink = (from) => {
53
+ const shrinkDuration = halfCycleS * ((1 - from) / 0.5);
54
+ controls = animate(progress, 1, {
55
+ duration: Math.max(shrinkDuration, 0.01),
56
+ ease: [...LINE_LOADING_PULSE_EASE],
57
+ onComplete: finish,
58
+ });
59
+ };
60
+ if (mode === "loop") {
61
+ progress.set(0);
62
+ controls = animate(progress, 1, {
63
+ duration: LINE_LOADING_PULSE_CYCLE_S,
64
+ ease: [...LINE_LOADING_PULSE_EASE],
65
+ onComplete: finish,
66
+ });
67
+ return () => {
68
+ cancelled = true;
69
+ controls?.stop();
70
+ };
71
+ }
72
+ if (mode === "exit") {
73
+ const current = progress.get();
74
+ if (current < 0.5) {
75
+ const growDuration = halfCycleS * ((0.5 - current) / 0.5);
76
+ controls = animate(progress, 0.5, {
77
+ duration: Math.max(growDuration, 0.01),
78
+ ease: [...LINE_LOADING_PULSE_EASE],
79
+ onComplete: () => {
80
+ if (!cancelled) {
81
+ runShrink(0.5);
82
+ }
83
+ },
84
+ });
85
+ }
86
+ else {
87
+ runShrink(current);
88
+ }
89
+ return () => {
90
+ cancelled = true;
91
+ controls?.stop();
92
+ };
93
+ }
94
+ if (mode === "enter") {
95
+ progress.set(0);
96
+ controls = animate(progress, 0.5, {
97
+ duration: halfCycleS,
98
+ ease: [...LINE_LOADING_PULSE_EASE],
99
+ onComplete: finish,
100
+ });
101
+ return () => {
102
+ cancelled = true;
103
+ controls?.stop();
104
+ };
105
+ }
106
+ }, [innerWidth, loopEpoch, mode, onComplete, progress]);
107
+ return { clipX, clipWidth };
108
+ }
109
+ export function LineLoadingPulseStroke({ pathD, mode = "loop", loopEpoch = 0, stroke = chartCssVars.foreground, strokeOpacity = 0.5, strokeWidth = 2.5, onCycleComplete, }) {
110
+ const { innerWidth, innerHeight } = useChartStable();
111
+ const reactId = useId();
112
+ const clipPathId = `line-loading-clip-${reactId}`;
113
+ const gradientId = `line-loading-gradient-${reactId}`;
114
+ const fadeStops = fadeGradientStops(resolveFadeSides(true));
115
+ const clipHeight = innerHeight + CLIP_PADDING * 2;
116
+ const { clipX, clipWidth } = useGrowExitClip(innerWidth, mode, loopEpoch, onCycleComplete);
117
+ if (innerWidth <= 0) {
118
+ return null;
119
+ }
120
+ return (_jsxs(_Fragment, { children: [_jsxs("defs", { children: [_jsx("clipPath", { id: clipPathId, children: _jsx(motion.rect, { height: clipHeight, style: { width: clipWidth, x: clipX }, y: -CLIP_PADDING }) }), _jsx("linearGradient", { id: gradientId, ...viewportFadeGradientAttrs(innerWidth), children: fadeStops.map((stop) => (_jsx("stop", { offset: stop.offset, stopColor: stroke, stopOpacity: stop.opacity }, stop.offset))) })] }), _jsx("path", { clipPath: `url(#${clipPathId})`, d: pathD, fill: "none", opacity: strokeOpacity, stroke: `url(#${gradientId})`, strokeLinecap: "round", strokeWidth: strokeWidth })] }));
121
+ }
122
+ LineLoadingPulseStroke.displayName = "LineLoadingPulseStroke";
123
+ export default LineLoadingPulseStroke;
124
+ //# sourceMappingURL=line-loading-pulse.js.map
@@ -0,0 +1,10 @@
1
+ /** Grow + exit timeline for `LineLoadingPulse` (seconds). */
2
+ export declare const LINE_LOADING_PULSE_CYCLE_S = 2.2;
3
+ /** Idle gap before the loading line pulse restarts (milliseconds). */
4
+ export declare const LINE_LOADING_LOOP_PAUSE_MS = 280;
5
+ /** Loading label exit on loading → ready (seconds). */
6
+ export declare const LOADING_LABEL_EXIT_S = 0.45;
7
+ /** Loading label drops this many pixels while exiting. */
8
+ export declare const LOADING_LABEL_EXIT_Y_PX = 30;
9
+ export declare const LINE_LOADING_PULSE_EASE: readonly [0.85, 0, 0.15, 1];
10
+ //# sourceMappingURL=line-loading-timing.d.ts.map
@@ -0,0 +1,10 @@
1
+ /** Grow + exit timeline for `LineLoadingPulse` (seconds). */
2
+ export const LINE_LOADING_PULSE_CYCLE_S = 2.2;
3
+ /** Idle gap before the loading line pulse restarts (milliseconds). */
4
+ export const LINE_LOADING_LOOP_PAUSE_MS = 280;
5
+ /** Loading label exit on loading → ready (seconds). */
6
+ export const LOADING_LABEL_EXIT_S = 0.45;
7
+ /** Loading label drops this many pixels while exiting. */
8
+ export const LOADING_LABEL_EXIT_Y_PX = 30;
9
+ export const LINE_LOADING_PULSE_EASE = [0.85, 0, 0.15, 1];
10
+ //# sourceMappingURL=line-loading-timing.js.map
@@ -0,0 +1,16 @@
1
+ export interface LineSeriesTerminalMarkerProps {
2
+ dataKey: string;
3
+ yAxisId?: string | number;
4
+ fill?: string;
5
+ stroke?: string;
6
+ radius?: number;
7
+ ringGap?: number;
8
+ strokeWidth?: number;
9
+ }
10
+ /** Hollow ring at the last data point — shared anchor for projection lines. */
11
+ export declare function LineSeriesTerminalMarker({ dataKey, yAxisId, fill, stroke, radius, ringGap, strokeWidth, }: LineSeriesTerminalMarkerProps): import("react").JSX.Element | null;
12
+ export declare namespace LineSeriesTerminalMarker {
13
+ var displayName: string;
14
+ }
15
+ export default LineSeriesTerminalMarker;
16
+ //# sourceMappingURL=line-series-terminal-marker.d.ts.map