@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,307 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ParentSize } from "@visx/responsive";
4
+ import { motion, useReducedMotion } from "motion/react";
5
+ import { useId, useMemo } from "react";
6
+ import { cn } from "../lib/cn.js";
7
+ import { defaultChartStatFlowFormat } from "./chart-stat-flow.js";
8
+ import { GaugeLabelLayout, GaugeLabelShell, } from "./gauge-label-layout.js";
9
+ import { collectGaugeDefsElements, createNotchPath, DEFAULT_ACTIVE_FILL_OPACITY, DEFAULT_ACTIVE_GRADIENT, DEFAULT_INACTIVE_FILL_OPACITY, DEFAULT_LINEAR_GAUGE_HEIGHT, interpolateGaugeHex, resolveGaugeActiveFill, resolveGaugeBgFill, } from "./notch-gauge-shared.js";
10
+ import { PieCenterShell } from "./pie-center-shell.js";
11
+ const DEFAULT_NOTCH_ENTER_TRANSITION = {
12
+ type: "spring",
13
+ stiffness: 300,
14
+ damping: 20,
15
+ };
16
+ function GaugeNotchSvg({ notches, width, height, notchCornerRadius, cornerDepth, geometryScrubbing, notchTransition, stagger, defsChildren, useThemePaletteGradient, themeActiveGradientId, resolvedInactiveFillOpacity, resolvedActiveFillOpacity, resolveBgFill, resolveActiveFill, }) {
17
+ return (_jsxs("svg", { "aria-hidden": "true", className: "block w-full overflow-visible", height: height, viewBox: `0 0 ${width} ${height}`, width: width, children: [defsChildren.length > 0 || useThemePaletteGradient ? (_jsxs("defs", { children: [useThemePaletteGradient ? (_jsxs("linearGradient", { id: themeActiveGradientId, x1: "0%", x2: "100%", y1: "0%", y2: "0%", children: [_jsx("stop", { offset: "0%", stopColor: "var(--chart-1)" }), _jsx("stop", { offset: "100%", stopColor: "var(--chart-5)" })] })) : null, defsChildren] })) : null, notches.map((notch) => {
18
+ const pathD = createNotchPath(notch.points, notchCornerRadius, cornerDepth);
19
+ if (geometryScrubbing) {
20
+ return (_jsx("path", { d: pathD, fill: resolveBgFill(notch.index), fillOpacity: resolvedInactiveFillOpacity }, `bg-${notch.index}`));
21
+ }
22
+ return (_jsx(motion.path, { animate: { opacity: 1, scale: 1 }, d: pathD, fill: resolveBgFill(notch.index), fillOpacity: resolvedInactiveFillOpacity, initial: { opacity: 0, scale: 0 }, style: {
23
+ transformOrigin: `${notch.xCenter}px ${notch.yCenter}px`,
24
+ }, transition: {
25
+ ...notchTransition,
26
+ delay: notch.index * 0.015 * stagger,
27
+ } }, `bg-${notch.index}`));
28
+ }), notches
29
+ .filter((n) => n.isActive)
30
+ .map((notch) => {
31
+ const pathD = createNotchPath(notch.points, notchCornerRadius, cornerDepth);
32
+ if (geometryScrubbing) {
33
+ return (_jsx("path", { d: pathD, fill: resolveActiveFill(notch), fillOpacity: resolvedActiveFillOpacity }, `active-${notch.index}`));
34
+ }
35
+ return (_jsx(motion.path, { animate: { opacity: 1, scale: 1 }, d: pathD, fill: resolveActiveFill(notch), fillOpacity: resolvedActiveFillOpacity, initial: { opacity: 0, scale: 0 }, style: {
36
+ transformOrigin: `${notch.xCenter}px ${notch.yCenter}px`,
37
+ }, transition: {
38
+ ...notchTransition,
39
+ delay: (0.3 + notch.index * 0.02) * stagger,
40
+ } }, `active-${notch.index}`));
41
+ })] }));
42
+ }
43
+ function useGaugeFillState(props) {
44
+ const { useGradient = false, activeGradient, inactiveGradient, inactiveFill, activeFill, inactiveFillOpacity, activeFillOpacity, children, totalNotches = 40, } = props;
45
+ const themeActiveGradientId = `gauge-theme-active-${useId().replace(/:/g, "")}`;
46
+ const defsChildren = useMemo(() => collectGaugeDefsElements(children), [children]);
47
+ const hasCustomInactive = inactiveFill !== undefined && inactiveFill.length > 0;
48
+ const hasCustomActive = activeFill !== undefined && activeFill.length > 0;
49
+ const activeGrad0 = activeGradient?.[0] ?? DEFAULT_ACTIVE_GRADIENT[0];
50
+ const activeGrad1 = activeGradient?.[1] ?? DEFAULT_ACTIVE_GRADIENT[1];
51
+ const inactiveGrad0 = inactiveGradient?.[0] ?? activeGrad0;
52
+ const inactiveGrad1 = inactiveGradient?.[1] ?? activeGrad1;
53
+ const useThemePaletteGradient = useGradient && activeGradient === undefined;
54
+ return {
55
+ themeActiveGradientId,
56
+ defsChildren,
57
+ hasCustomInactive,
58
+ hasCustomActive,
59
+ activeGrad0,
60
+ activeGrad1,
61
+ inactiveGrad0,
62
+ inactiveGrad1,
63
+ useThemePaletteGradient,
64
+ resolvedActiveFillOpacity: activeFillOpacity ?? DEFAULT_ACTIVE_FILL_OPACITY,
65
+ resolvedInactiveFillOpacity: inactiveFillOpacity ?? DEFAULT_INACTIVE_FILL_OPACITY,
66
+ totalNotches,
67
+ };
68
+ }
69
+ function GaugeArcInner(props) {
70
+ const { value, totalNotches = 40, spacing = 25, notchCornerRadius = 0, uniformWidth = false, width, height, startAngle = 135, endAngle = 405, useGradient = false, centerValue, defaultLabel = "Total", prefix, suffix, formatOptions = defaultChartStatFlowFormat, inactiveFill, activeFill, notchLengthPercent = 100, enterTransition, enterStaggerScale = 1, } = props;
71
+ const prefersReducedMotion = useReducedMotion();
72
+ const fillState = useGaugeFillState(props);
73
+ const notchTransition = prefersReducedMotion
74
+ ? { duration: 0 }
75
+ : (enterTransition ?? DEFAULT_NOTCH_ENTER_TRANSITION);
76
+ const stagger = Math.max(0.25, Math.min(2.5, enterStaggerScale));
77
+ const size = Math.min(width, height);
78
+ const centerX = width / 2;
79
+ const centerY = height / 2;
80
+ const outerRadius = size * 0.42;
81
+ const innerRadiusBase = size * 0.28;
82
+ const defaultRadialDepth = outerRadius - innerRadiusBase;
83
+ const depthFactor = Math.min(100, Math.max(5, notchLengthPercent)) / 100;
84
+ const notchLength = defaultRadialDepth * depthFactor;
85
+ const innerRadius = outerRadius - notchLength;
86
+ const activeNotches = Math.round((value / 100) * totalNotches);
87
+ const totalAngle = endAngle - startAngle;
88
+ const availableAngle = totalAngle * (1 - spacing / 100);
89
+ const notchAngle = totalNotches > 0 ? availableAngle / totalNotches : 0;
90
+ const gapDen = totalNotches - 1 > 0 ? totalNotches - 1 : 1;
91
+ const gapAngle = (totalAngle * (spacing / 100)) / gapDen;
92
+ const notches = useMemo(() => {
93
+ return Array.from({ length: totalNotches }, (_, i) => {
94
+ const angle = startAngle + i * (notchAngle + gapAngle) + notchAngle / 2;
95
+ const radians = (angle * Math.PI) / 180;
96
+ const arcNotchWidth = notchAngle * 0.8;
97
+ const halfWidth = (arcNotchWidth * Math.PI) / 180 / 2;
98
+ const x1 = centerX + Math.cos(radians - halfWidth) * outerRadius;
99
+ const y1 = centerY + Math.sin(radians - halfWidth) * outerRadius;
100
+ const x2 = centerX + Math.cos(radians + halfWidth) * outerRadius;
101
+ const y2 = centerY + Math.sin(radians + halfWidth) * outerRadius;
102
+ let x3;
103
+ let y3;
104
+ let x4;
105
+ let y4;
106
+ if (uniformWidth) {
107
+ const perpX = Math.cos(radians);
108
+ const perpY = Math.sin(radians);
109
+ x3 = x2 - perpX * notchLength;
110
+ y3 = y2 - perpY * notchLength;
111
+ x4 = x1 - perpX * notchLength;
112
+ y4 = y1 - perpY * notchLength;
113
+ }
114
+ else {
115
+ x3 = centerX + Math.cos(radians + halfWidth) * innerRadius;
116
+ y3 = centerY + Math.sin(radians + halfWidth) * innerRadius;
117
+ x4 = centerX + Math.cos(radians - halfWidth) * innerRadius;
118
+ y4 = centerY + Math.sin(radians - halfWidth) * innerRadius;
119
+ }
120
+ const denom = totalNotches > 1 ? totalNotches - 1 : 1;
121
+ const gradientColor = useGradient && !fillState.useThemePaletteGradient
122
+ ? interpolateGaugeHex(fillState.activeGrad0, fillState.activeGrad1, i / denom)
123
+ : "var(--chart-1)";
124
+ return {
125
+ index: i,
126
+ points: { x1, y1, x2, y2, x3, y3, x4, y4 },
127
+ isActive: i < activeNotches,
128
+ gradientColor,
129
+ xCenter: centerX,
130
+ yCenter: centerY,
131
+ };
132
+ });
133
+ }, [
134
+ totalNotches,
135
+ notchAngle,
136
+ gapAngle,
137
+ centerX,
138
+ centerY,
139
+ outerRadius,
140
+ innerRadius,
141
+ activeNotches,
142
+ startAngle,
143
+ uniformWidth,
144
+ notchLength,
145
+ useGradient,
146
+ fillState.useThemePaletteGradient,
147
+ fillState.activeGrad0,
148
+ fillState.activeGrad1,
149
+ ]);
150
+ const resolveBgFill = (notchIndex) => resolveGaugeBgFill({
151
+ notchIndex,
152
+ totalNotches,
153
+ hasCustomInactive: fillState.hasCustomInactive,
154
+ inactiveFill,
155
+ useThemePaletteGradient: fillState.useThemePaletteGradient,
156
+ useGradient,
157
+ inactiveGrad0: fillState.inactiveGrad0,
158
+ inactiveGrad1: fillState.inactiveGrad1,
159
+ arcTrackFill: "var(--border)",
160
+ linearTrackFill: "var(--chart-background)",
161
+ linearMode: false,
162
+ });
163
+ const resolveActiveFill = (notch) => resolveGaugeActiveFill({
164
+ notch,
165
+ hasCustomActive: fillState.hasCustomActive,
166
+ activeFill,
167
+ useThemePaletteGradient: fillState.useThemePaletteGradient,
168
+ themeActiveGradientId: fillState.themeActiveGradientId,
169
+ useGradient,
170
+ activeFillSolid: "var(--chart-1)",
171
+ });
172
+ const showCenter = centerValue != null;
173
+ return (_jsxs("div", { className: "relative w-full", style: { height, width }, children: [_jsx(GaugeNotchSvg, { cornerDepth: notchLength, defsChildren: fillState.defsChildren, geometryScrubbing: false, height: height, notchCornerRadius: notchCornerRadius, notches: notches, notchTransition: notchTransition, resolveActiveFill: resolveActiveFill, resolveBgFill: resolveBgFill, resolvedActiveFillOpacity: fillState.resolvedActiveFillOpacity, resolvedInactiveFillOpacity: fillState.resolvedInactiveFillOpacity, stagger: stagger, themeActiveGradientId: fillState.themeActiveGradientId, useThemePaletteGradient: fillState.useThemePaletteGradient, width: width }), showCenter ? (_jsx("div", { className: "pointer-events-none absolute inset-0 flex flex-col items-center justify-center", style: { paddingTop: size * 0.08 }, children: _jsx(PieCenterShell, { centerValue: centerValue, contextSize: size, defaultLabel: defaultLabel, formatOptions: formatOptions, innerRadiusPx: Math.max(size * 0.2, 52), prefix: prefix, suffix: suffix }) })) : null] }));
174
+ }
175
+ function GaugeLinearInner(props) {
176
+ const { value, totalNotches = 40, spacing = 25, notchCornerRadius = 0, uniformWidth = true, width, height, useGradient = false, centerValue, defaultLabel = "Total", prefix, suffix, formatOptions = defaultChartStatFlowFormat, labelPlacement = "top", labelAlign = "start", inactiveFill, activeFill, notchLengthPercent = 100, notchWidthPercent = 80, enterTransition, enterStaggerScale = 1, geometryScrubbing = false, } = props;
177
+ const prefersReducedMotion = useReducedMotion();
178
+ const fillState = useGaugeFillState(props);
179
+ const notchTransition = prefersReducedMotion
180
+ ? { duration: 0 }
181
+ : (enterTransition ?? DEFAULT_NOTCH_ENTER_TRANSITION);
182
+ const stagger = Math.max(0.25, Math.min(2.5, enterStaggerScale));
183
+ const centerY = height / 2;
184
+ const depthFactor = Math.min(100, Math.max(5, notchLengthPercent)) / 100;
185
+ const outerOffset = (height / 2) * depthFactor;
186
+ const taperRatio = 28 / 42;
187
+ const innerOffset = uniformWidth ? outerOffset : outerOffset * taperRatio;
188
+ const notchDepth = uniformWidth ? outerOffset * 2 : outerOffset - innerOffset;
189
+ const cornerVerticalDepth = uniformWidth ? notchDepth : outerOffset * 2;
190
+ const widthFactor = Math.min(100, Math.max(10, notchWidthPercent)) / 100;
191
+ const activeNotches = Math.round((value / 100) * totalNotches);
192
+ const availableWidth = width * (1 - spacing / 100);
193
+ const slotWidth = totalNotches > 0 ? availableWidth / totalNotches : 0;
194
+ const gapDen = totalNotches - 1 > 0 ? totalNotches - 1 : 1;
195
+ const gapWidth = (width * (spacing / 100)) / gapDen;
196
+ const notches = useMemo(() => {
197
+ return Array.from({ length: totalNotches }, (_, i) => {
198
+ const xCenter = i * (slotWidth + gapWidth) + slotWidth / 2;
199
+ const halfWidth = (slotWidth * widthFactor) / 2;
200
+ let x1;
201
+ let y1;
202
+ let x2;
203
+ let y2;
204
+ let x3;
205
+ let y3;
206
+ let x4;
207
+ let y4;
208
+ if (uniformWidth) {
209
+ const halfHeight = notchDepth / 2;
210
+ x1 = xCenter - halfWidth;
211
+ y1 = centerY - halfHeight;
212
+ x2 = xCenter + halfWidth;
213
+ y2 = centerY - halfHeight;
214
+ x3 = xCenter + halfWidth;
215
+ y3 = centerY + halfHeight;
216
+ x4 = xCenter - halfWidth;
217
+ y4 = centerY + halfHeight;
218
+ }
219
+ else {
220
+ x1 = xCenter - halfWidth;
221
+ y1 = centerY - outerOffset;
222
+ x2 = xCenter + halfWidth;
223
+ y2 = centerY - outerOffset;
224
+ const innerHalfWidth = halfWidth * (innerOffset / outerOffset);
225
+ x3 = xCenter + innerHalfWidth;
226
+ y3 = centerY + outerOffset;
227
+ x4 = xCenter - innerHalfWidth;
228
+ y4 = centerY + outerOffset;
229
+ }
230
+ const denom = totalNotches > 1 ? totalNotches - 1 : 1;
231
+ const gradientColor = useGradient && !fillState.useThemePaletteGradient
232
+ ? interpolateGaugeHex(fillState.activeGrad0, fillState.activeGrad1, i / denom)
233
+ : "var(--chart-1)";
234
+ return {
235
+ index: i,
236
+ points: { x1, y1, x2, y2, x3, y3, x4, y4 },
237
+ isActive: i < activeNotches,
238
+ gradientColor,
239
+ xCenter,
240
+ yCenter: centerY,
241
+ };
242
+ });
243
+ }, [
244
+ totalNotches,
245
+ slotWidth,
246
+ gapWidth,
247
+ centerY,
248
+ outerOffset,
249
+ innerOffset,
250
+ activeNotches,
251
+ uniformWidth,
252
+ notchDepth,
253
+ widthFactor,
254
+ useGradient,
255
+ fillState.useThemePaletteGradient,
256
+ fillState.activeGrad0,
257
+ fillState.activeGrad1,
258
+ ]);
259
+ const resolveBgFill = (notchIndex) => resolveGaugeBgFill({
260
+ notchIndex,
261
+ totalNotches,
262
+ hasCustomInactive: fillState.hasCustomInactive,
263
+ inactiveFill,
264
+ useThemePaletteGradient: fillState.useThemePaletteGradient,
265
+ useGradient,
266
+ inactiveGrad0: fillState.inactiveGrad0,
267
+ inactiveGrad1: fillState.inactiveGrad1,
268
+ arcTrackFill: "var(--border)",
269
+ linearTrackFill: "var(--chart-background)",
270
+ linearMode: true,
271
+ });
272
+ const resolveActiveFill = (notch) => resolveGaugeActiveFill({
273
+ notch,
274
+ hasCustomActive: fillState.hasCustomActive,
275
+ activeFill,
276
+ useThemePaletteGradient: fillState.useThemePaletteGradient,
277
+ themeActiveGradientId: fillState.themeActiveGradientId,
278
+ useGradient,
279
+ activeFillSolid: "var(--chart-1)",
280
+ });
281
+ const label = centerValue == null ? null : (_jsx(GaugeLabelShell, { align: labelAlign, centerValue: centerValue, defaultLabel: defaultLabel, formatOptions: formatOptions, prefix: prefix, suffix: suffix }));
282
+ const track = (_jsx("div", { className: "relative w-full", style: { height, width }, children: _jsx(GaugeNotchSvg, { cornerDepth: cornerVerticalDepth, defsChildren: fillState.defsChildren, geometryScrubbing: geometryScrubbing, height: height, notchCornerRadius: notchCornerRadius, notches: notches, notchTransition: notchTransition, resolveActiveFill: resolveActiveFill, resolveBgFill: resolveBgFill, resolvedActiveFillOpacity: fillState.resolvedActiveFillOpacity, resolvedInactiveFillOpacity: fillState.resolvedInactiveFillOpacity, stagger: stagger, themeActiveGradientId: fillState.themeActiveGradientId, useThemePaletteGradient: fillState.useThemePaletteGradient, width: width }) }));
283
+ return (_jsx(GaugeLabelLayout, { align: labelAlign, label: label, placement: labelPlacement, children: track }));
284
+ }
285
+ function GaugeInner(props) {
286
+ if (props.orientation === "linear") {
287
+ return _jsx(GaugeLinearInner, { ...props });
288
+ }
289
+ return _jsx(GaugeArcInner, { ...props });
290
+ }
291
+ export function Gauge({ width: widthProp, height: heightProp, className, minWidth, orientation = "arc", linearHeight, ...props }) {
292
+ const isLinear = orientation === "linear";
293
+ const resolvedMinWidth = minWidth ?? (isLinear ? 200 : 300);
294
+ const resolvedLinearHeight = linearHeight ?? DEFAULT_LINEAR_GAUGE_HEIGHT;
295
+ if (isLinear) {
296
+ if (widthProp != null) {
297
+ return (_jsx("div", { "data-slot": "gauge-chart", className: cn("relative w-full max-w-full", className), style: { width: widthProp }, children: _jsx(GaugeInner, { height: heightProp ?? resolvedLinearHeight, orientation: "linear", width: widthProp, ...props }) }));
298
+ }
299
+ return (_jsx("div", { className: cn("relative w-full min-w-0 max-w-full", className), "data-slot": "gauge-chart", children: _jsx("div", { className: "w-full min-w-0", style: { minWidth: resolvedMinWidth }, children: _jsx(ParentSize, { debounceTime: 10, children: ({ width }) => width > 0 ? (_jsx(GaugeInner, { height: resolvedLinearHeight, orientation: "linear", width: width, ...props })) : null }) }) }));
300
+ }
301
+ if (widthProp != null && heightProp != null) {
302
+ return (_jsx("div", { className: cn("relative inline-flex max-w-full", className), "data-slot": "gauge-chart", children: _jsx(GaugeInner, { height: heightProp, orientation: "arc", width: widthProp, ...props }) }));
303
+ }
304
+ return (_jsx("div", { className: cn("relative w-full max-w-full", className), "data-slot": "gauge-chart", style: { minWidth: resolvedMinWidth }, children: _jsx("div", { className: "mx-auto aspect-[21/16] w-full max-w-[560px]", children: _jsx(ParentSize, { debounceTime: 10, children: ({ width, height }) => width > 0 && height > 0 ? (_jsx(GaugeInner, { height: height, orientation: "arc", width: width, ...props })) : null }) }) }));
305
+ }
306
+ Gauge.displayName = "Gauge";
307
+ //# sourceMappingURL=gauge.js.map
@@ -0,0 +1,16 @@
1
+ declare const DEFAULT_SKELETON_DATA_KEY = "value";
2
+ declare const DEFAULT_SKELETON_POINT_COUNT = 7;
3
+ export interface GenerateChartSkeletonDataOptions {
4
+ /** Key used for y values in each row. Default: `"value"`. */
5
+ dataKey?: string;
6
+ /** Number of points. Default: 7. */
7
+ pointCount?: number;
8
+ /** Start date for the x axis. Default: 2025-01-01. */
9
+ baseDate?: Date;
10
+ }
11
+ /** Placeholder series used while `status="loading"` and data is empty. */
12
+ export declare function generateChartSkeletonData(options?: GenerateChartSkeletonDataOptions): Record<string, unknown>[];
13
+ /** Skeleton rows that mirror target dates/count with lower magnitudes for Y tween. */
14
+ export declare function generateChartSkeletonFromTarget(targetData: Record<string, unknown>[], dataKey: string): Record<string, unknown>[];
15
+ export { DEFAULT_SKELETON_DATA_KEY, DEFAULT_SKELETON_POINT_COUNT };
16
+ //# sourceMappingURL=generate-chart-skeleton-data.d.ts.map
@@ -0,0 +1,25 @@
1
+ const DEFAULT_SKELETON_DATA_KEY = "value";
2
+ const DEFAULT_SKELETON_POINT_COUNT = 7;
3
+ /** Placeholder series used while `status="loading"` and data is empty. */
4
+ export function generateChartSkeletonData(options = {}) {
5
+ const dataKey = options.dataKey ?? DEFAULT_SKELETON_DATA_KEY;
6
+ const pointCount = options.pointCount ?? DEFAULT_SKELETON_POINT_COUNT;
7
+ const baseDate = options.baseDate ?? new Date("2025-01-01");
8
+ return Array.from({ length: pointCount }, (_, index) => {
9
+ const date = new Date(baseDate);
10
+ date.setDate(baseDate.getDate() + index);
11
+ return {
12
+ date,
13
+ [dataKey]: Math.round(110 + Math.sin(index * 1.15) * 36 + index * 9),
14
+ };
15
+ });
16
+ }
17
+ /** Skeleton rows that mirror target dates/count with lower magnitudes for Y tween. */
18
+ export function generateChartSkeletonFromTarget(targetData, dataKey) {
19
+ return targetData.map((row, index) => ({
20
+ ...row,
21
+ [dataKey]: Math.round(95 + Math.sin(index * 1.05) * 28 + index * 7),
22
+ }));
23
+ }
24
+ export { DEFAULT_SKELETON_DATA_KEY, DEFAULT_SKELETON_POINT_COUNT };
25
+ //# sourceMappingURL=generate-chart-skeleton-data.js.map
@@ -0,0 +1,58 @@
1
+ export interface GridProps {
2
+ /** Show horizontal grid lines. Default: true */
3
+ horizontal?: boolean;
4
+ /** Show vertical grid lines. Default: false */
5
+ vertical?: boolean;
6
+ /** Number of horizontal grid lines. Default: 5 */
7
+ numTicksRows?: number;
8
+ /** Number of vertical grid lines. Default: 10 */
9
+ numTicksColumns?: number;
10
+ /** Explicit tick values for horizontal grid lines. Overrides numTicksRows. */
11
+ rowTickValues?: number[];
12
+ /** Grid line stroke color. Default: var(--chart-grid) */
13
+ stroke?: string;
14
+ /** Grid stroke while loading chrome is active. Falls back to `stroke`. */
15
+ loadingStroke?: string;
16
+ /** Grid line stroke opacity. Default: 1 */
17
+ strokeOpacity?: number;
18
+ /** Grid line stroke width. Default: 1 */
19
+ strokeWidth?: number;
20
+ /** Grid line dash array. Default: "4,4" for dashed lines */
21
+ strokeDasharray?: string;
22
+ /** Horizontal row values rendered with alternate styling (e.g. zero baseline). */
23
+ highlightRowValues?: number[];
24
+ /** Stroke for highlighted rows. Default: var(--chart-foreground-muted) */
25
+ highlightRowStroke?: string;
26
+ /** Stroke opacity for highlighted rows. Default: 1 */
27
+ highlightRowStrokeOpacity?: number;
28
+ /** Stroke width for highlighted rows. Default: 1 */
29
+ highlightRowStrokeWidth?: number;
30
+ /** Dash array for highlighted rows. Default: solid line */
31
+ highlightRowStrokeDasharray?: string;
32
+ /** Enable horizontal fade effect on grid rows (fades at left/right). Default: true */
33
+ fadeHorizontal?: boolean;
34
+ /** Enable vertical fade effect on grid columns (fades at top/bottom). Default: false */
35
+ fadeVertical?: boolean;
36
+ /** Omit the first and last horizontal grid lines. Default: false */
37
+ hideHorizontalEdgeLines?: boolean;
38
+ /** Omit the first and last vertical grid lines. Default: false */
39
+ hideVerticalEdgeLines?: boolean;
40
+ /** Y-scale for horizontal grid lines. Default: primary (`"left"`) axis. */
41
+ yAxisId?: string | number;
42
+ /** Animate a shimmer band across horizontal grid lines. Default: false */
43
+ shimmer?: boolean;
44
+ /** Shimmer band stroke (color and opacity via color-mix or oklch alpha). */
45
+ shimmerStroke?: string;
46
+ /** Shimmer band width in pixels. Default: 140 */
47
+ shimmerLength?: number;
48
+ /** Shimmer speed multiplier (higher = faster). Default: 1 */
49
+ shimmerSpeed?: number;
50
+ /** Match loop timing to the loading line pulse (cycle + inter-loop pause). */
51
+ shimmerSync?: boolean;
52
+ }
53
+ export declare function Grid({ horizontal, vertical, numTicksRows, numTicksColumns, rowTickValues, stroke, loadingStroke, strokeOpacity, strokeWidth, strokeDasharray, highlightRowValues, highlightRowStroke, highlightRowStrokeOpacity, highlightRowStrokeWidth, highlightRowStrokeDasharray, fadeHorizontal, fadeVertical, hideHorizontalEdgeLines, hideVerticalEdgeLines, yAxisId, shimmer, shimmerStroke, shimmerLength, shimmerSpeed, shimmerSync, }: GridProps): import("react").JSX.Element;
54
+ export declare namespace Grid {
55
+ var displayName: string;
56
+ }
57
+ export default Grid;
58
+ //# sourceMappingURL=grid.d.ts.map
@@ -0,0 +1,80 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { GridColumns, GridRows } from "@visx/grid";
4
+ import { motion } from "motion/react";
5
+ import { useId } from "react";
6
+ import { chartCssVars, useChartStable, useYScale } from "./chart-context.js";
7
+ import { useGridShimmer } from "./use-grid-shimmer.js";
8
+ import { isLoadingChromePhase, isLoadingGridChromePhase } from "./y-domain-utils.js";
9
+ const DEFAULT_SHIMMER_LENGTH_PX = 140;
10
+ const DEFAULT_SHIMMER_SPEED = 1;
11
+ const DEFAULT_SHIMMER_STROKE = "color-mix(in oklch, var(--foreground) 68%, transparent)";
12
+ function hideEdgeTicks(ticks, hideEdgeLines) {
13
+ if (!hideEdgeLines || ticks.length <= 2) {
14
+ return ticks;
15
+ }
16
+ return ticks.slice(1, -1);
17
+ }
18
+ function resolveRowTickValues(options) {
19
+ const { hideHorizontalEdgeLines, numTicksRows, rowTickValues, yScale } = options;
20
+ const ticks = rowTickValues ?? (yScale.ticks ? yScale.ticks(numTicksRows) : []);
21
+ const filtered = hideEdgeTicks(ticks, hideHorizontalEdgeLines);
22
+ if (filtered === ticks && !rowTickValues && !hideHorizontalEdgeLines) {
23
+ return undefined;
24
+ }
25
+ return filtered.length > 0 ? filtered : undefined;
26
+ }
27
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: grid fade masks and shimmer share one layer tree
28
+ export function Grid({ horizontal = true, vertical = false, numTicksRows = 5, numTicksColumns = 10, rowTickValues, stroke = chartCssVars.grid, loadingStroke, strokeOpacity = 1, strokeWidth = 1, strokeDasharray = "4,4", highlightRowValues, highlightRowStroke = chartCssVars.foregroundMuted, highlightRowStrokeOpacity = 1, highlightRowStrokeWidth = 1, highlightRowStrokeDasharray = "0", fadeHorizontal = true, fadeVertical = false, hideHorizontalEdgeLines = false, hideVerticalEdgeLines = false, yAxisId, shimmer = false, shimmerStroke = DEFAULT_SHIMMER_STROKE, shimmerLength = DEFAULT_SHIMMER_LENGTH_PX, shimmerSpeed = DEFAULT_SHIMMER_SPEED, shimmerSync = false, }) {
29
+ const { xScale, innerWidth, innerHeight, orientation, barScale, chartPhase } = useChartStable();
30
+ const yScale = useYScale(yAxisId);
31
+ const shimmerActive = shimmer && isLoadingChromePhase(chartPhase);
32
+ const gridStroke = isLoadingGridChromePhase(chartPhase) && loadingStroke != null ? loadingStroke : stroke;
33
+ const { shimmerEnabled, shimmerTransform } = useGridShimmer({
34
+ innerWidth,
35
+ shimmer,
36
+ shimmerLength,
37
+ shimmerSpeed,
38
+ shimmerSync,
39
+ active: shimmerActive,
40
+ });
41
+ // For bar charts, determine which scale to use for grid lines
42
+ // Horizontal bar charts: vertical grid should use yScale (value scale)
43
+ // Vertical bar charts: horizontal grid uses yScale (value scale)
44
+ const isHorizontalBarChart = orientation === "horizontal" && barScale;
45
+ // For vertical grid lines in horizontal bar charts, use yScale (the value scale)
46
+ // For time-based charts, use xScale
47
+ const columnScale = isHorizontalBarChart ? yScale : xScale;
48
+ const rowTickValuesResolved = resolveRowTickValues({
49
+ hideHorizontalEdgeLines,
50
+ numTicksRows,
51
+ rowTickValues,
52
+ yScale,
53
+ });
54
+ const columnTickValuesResolved = vertical && columnScale && typeof columnScale === "function" && hideVerticalEdgeLines
55
+ ? (() => {
56
+ const ticks = columnScale.ticks?.(numTicksColumns) ?? [];
57
+ const filtered = hideEdgeTicks(ticks, true);
58
+ return filtered.length > 0 ? filtered : undefined;
59
+ })()
60
+ : undefined;
61
+ const uniqueId = useId();
62
+ // Horizontal fade mask (for grid rows - fades left/right)
63
+ const hMaskId = `grid-rows-fade-${uniqueId}`;
64
+ const hGradientId = `${hMaskId}-gradient`;
65
+ const shimmerGradientId = `grid-shimmer-${uniqueId}`;
66
+ // Vertical fade mask (for grid columns - fades top/bottom)
67
+ const vMaskId = `grid-cols-fade-${uniqueId}`;
68
+ const vGradientId = `${vMaskId}-gradient`;
69
+ const horizontalFadeMask = fadeHorizontal ? `url(#${hMaskId})` : undefined;
70
+ return (_jsxs("g", { className: "chart-grid", children: [horizontal && fadeHorizontal && (_jsxs("defs", { children: [_jsxs("linearGradient", { id: hGradientId, x1: "0%", x2: "100%", y1: "0%", y2: "0%", children: [_jsx("stop", { offset: "0%", style: { stopColor: "white", stopOpacity: 0 } }), _jsx("stop", { offset: "10%", style: { stopColor: "white", stopOpacity: 1 } }), _jsx("stop", { offset: "90%", style: { stopColor: "white", stopOpacity: 1 } }), _jsx("stop", { offset: "100%", style: { stopColor: "white", stopOpacity: 0 } })] }), _jsx("mask", { id: hMaskId, children: _jsx("rect", { fill: `url(#${hGradientId})`, height: innerHeight, width: innerWidth, x: "0", y: "0" }) })] })), horizontal && shimmerEnabled ? (_jsx("defs", { children: _jsxs(motion.linearGradient, { gradientTransform: shimmerTransform, gradientUnits: "userSpaceOnUse", id: shimmerGradientId, x1: 0, x2: shimmerLength, y1: 0, y2: 0, children: [_jsx("stop", { offset: "0%", stopColor: shimmerStroke, stopOpacity: 0 }), _jsx("stop", { offset: "35%", stopColor: shimmerStroke, stopOpacity: 0.45 }), _jsx("stop", { offset: "50%", stopColor: shimmerStroke, stopOpacity: 1 }), _jsx("stop", { offset: "65%", stopColor: shimmerStroke, stopOpacity: 0.45 }), _jsx("stop", { offset: "100%", stopColor: shimmerStroke, stopOpacity: 0 })] }) })) : null, vertical && fadeVertical && (_jsxs("defs", { children: [_jsxs("linearGradient", { id: vGradientId, x1: "0%", x2: "0%", y1: "0%", y2: "100%", children: [_jsx("stop", { offset: "0%", style: { stopColor: "white", stopOpacity: 0 } }), _jsx("stop", { offset: "10%", style: { stopColor: "white", stopOpacity: 1 } }), _jsx("stop", { offset: "90%", style: { stopColor: "white", stopOpacity: 1 } }), _jsx("stop", { offset: "100%", style: { stopColor: "white", stopOpacity: 0 } })] }), _jsx("mask", { id: vMaskId, children: _jsx("rect", { fill: `url(#${vGradientId})`, height: innerHeight, width: innerWidth, x: "0", y: "0" }) })] })), horizontal && (_jsxs("g", { mask: horizontalFadeMask, children: [_jsx(GridRows, { numTicks: rowTickValuesResolved ? undefined : numTicksRows, scale: yScale, stroke: gridStroke, strokeDasharray: strokeDasharray, strokeOpacity: strokeOpacity, strokeWidth: strokeWidth, tickValues: rowTickValuesResolved, width: innerWidth }), shimmerEnabled ? (_jsx(GridRows, { numTicks: rowTickValuesResolved ? undefined : numTicksRows, scale: yScale, stroke: `url(#${shimmerGradientId})`, strokeDasharray: strokeDasharray, strokeOpacity: 1, strokeWidth: strokeWidth, tickValues: rowTickValuesResolved, width: innerWidth })) : null] })), horizontal && highlightRowValues && highlightRowValues.length > 0 ? (_jsx("g", { className: "chart-grid-highlight-rows", children: highlightRowValues.map((value) => {
71
+ const y = yScale(value);
72
+ if (y == null || !Number.isFinite(y)) {
73
+ return null;
74
+ }
75
+ return (_jsx("line", { stroke: highlightRowStroke, strokeDasharray: highlightRowStrokeDasharray, strokeOpacity: highlightRowStrokeOpacity, strokeWidth: highlightRowStrokeWidth, x1: 0, x2: innerWidth, y1: y, y2: y }, value));
76
+ }) })) : null, vertical && columnScale && typeof columnScale === "function" && (_jsx("g", { mask: fadeVertical ? `url(#${vMaskId})` : undefined, children: _jsx(GridColumns, { height: innerHeight, numTicks: columnTickValuesResolved ? undefined : numTicksColumns, scale: columnScale, stroke: stroke, strokeDasharray: strokeDasharray, strokeOpacity: strokeOpacity, strokeWidth: strokeWidth, tickValues: columnTickValuesResolved }) }))] }));
77
+ }
78
+ Grid.displayName = "Grid";
79
+ export default Grid;
80
+ //# sourceMappingURL=grid.js.map
@@ -0,0 +1,4 @@
1
+ import type { HeatmapColumn } from "./heatmap-context.js";
2
+ /** Placeholder grid with the same week/day shape as target data (all empty cells). */
3
+ export declare function generateHeatmapSkeletonFromTarget(target: HeatmapColumn[]): HeatmapColumn[];
4
+ //# sourceMappingURL=generate-heatmap-skeleton-data.d.ts.map
@@ -0,0 +1,12 @@
1
+ /** Placeholder grid with the same week/day shape as target data (all empty cells). */
2
+ export function generateHeatmapSkeletonFromTarget(target) {
3
+ return target.map((column) => ({
4
+ bin: column.bin,
5
+ bins: column.bins.map((bin) => ({
6
+ bin: bin.bin,
7
+ count: 0,
8
+ date: bin.date,
9
+ })),
10
+ }));
11
+ }
12
+ //# sourceMappingURL=generate-heatmap-skeleton-data.js.map
@@ -0,0 +1,41 @@
1
+ import type { Transition } from "motion/react";
2
+ import type { HeatmapColumn } from "./heatmap-context.js";
3
+ /** Default enter duration when no motion props are passed (ms). */
4
+ export declare const HEATMAP_DEFAULT_ENTER_DURATION_MS = 1600;
5
+ /** Default cubic-bezier for heatmap cell enter / loading transitions. */
6
+ export declare const HEATMAP_DEFAULT_ENTER_EASE: readonly [0.85, 0, 0.916, 0.282];
7
+ /** Default enter transition for {@link HeatmapChart}. */
8
+ export declare const HEATMAP_DEFAULT_ENTER_TRANSITION: Transition;
9
+ /** Chart opacity while `status="loading"`. */
10
+ export declare const HEATMAP_LOADING_CHART_OPACITY = 1;
11
+ /** Default max per-cell opacity during loading shimmer. */
12
+ export declare const HEATMAP_DEFAULT_LOADING_CELL_MAX_OPACITY = 0.85;
13
+ /** Default share of cells that participate in loading shimmer (0–1). */
14
+ export declare const HEATMAP_DEFAULT_LOADING_CELL_RANDOMNESS = 1;
15
+ /** Opacity for loading cells that do not participate in shimmer. */
16
+ export declare const HEATMAP_LOADING_BASE_CELL_OPACITY = 0.2;
17
+ /** Duration for ready → loading cell conceal before shimmer resumes (ms). */
18
+ export declare const HEATMAP_LOADING_CONCEAL_MS = 450;
19
+ /** Share of the enter window used for random fade-in delays. */
20
+ export declare const HEATMAP_ENTER_STAGGER_SPREAD = 0.6;
21
+ export declare function heatmapCellSeed(column: number, row: number): number;
22
+ export interface HeatmapLevelRange {
23
+ min: number;
24
+ max: number;
25
+ }
26
+ /** Min/max contribution levels present in the dataset. */
27
+ export declare function computeHeatmapLevelRange(data: HeatmapColumn[]): HeatmapLevelRange;
28
+ /** Per-cell fade duration derived from the motion enter transition. */
29
+ export declare function resolveHeatmapEnterFadeDurationSec(enterTransition: Transition | undefined, animationDurationMs: number): number;
30
+ /** Random delay so all cells finish fading in within `animationDurationMs`. */
31
+ export declare function computeHeatmapEnterFadeDelayMs({ column, row, revealEpoch, animationDurationMs, enterStaggerScale, fadeDurationSec, }: {
32
+ column: number;
33
+ row: number;
34
+ revealEpoch: number;
35
+ animationDurationMs: number;
36
+ enterStaggerScale: number;
37
+ fadeDurationSec: number;
38
+ }): number;
39
+ /** Whether a cell participates in loading shimmer for a given randomness (0–1). */
40
+ export declare function heatmapLoadingCellParticipates(column: number, row: number, randomness: number): boolean;
41
+ //# sourceMappingURL=heatmap-animation.d.ts.map
@@ -0,0 +1,85 @@
1
+ import { getHeatmapContributionLevel } from "./heatmap-utils.js";
2
+ /** Default enter duration when no motion props are passed (ms). */
3
+ export const HEATMAP_DEFAULT_ENTER_DURATION_MS = 1600;
4
+ /** Default cubic-bezier for heatmap cell enter / loading transitions. */
5
+ export const HEATMAP_DEFAULT_ENTER_EASE = [0.85, 0, 0.916, 0.282];
6
+ /** Default enter transition for {@link HeatmapChart}. */
7
+ export const HEATMAP_DEFAULT_ENTER_TRANSITION = {
8
+ type: "tween",
9
+ duration: HEATMAP_DEFAULT_ENTER_DURATION_MS / 1000,
10
+ ease: HEATMAP_DEFAULT_ENTER_EASE,
11
+ };
12
+ /** Chart opacity while `status="loading"`. */
13
+ export const HEATMAP_LOADING_CHART_OPACITY = 1;
14
+ /** Default max per-cell opacity during loading shimmer. */
15
+ export const HEATMAP_DEFAULT_LOADING_CELL_MAX_OPACITY = 0.85;
16
+ /** Default share of cells that participate in loading shimmer (0–1). */
17
+ export const HEATMAP_DEFAULT_LOADING_CELL_RANDOMNESS = 1;
18
+ /** Opacity for loading cells that do not participate in shimmer. */
19
+ export const HEATMAP_LOADING_BASE_CELL_OPACITY = 0.2;
20
+ /** Duration for ready → loading cell conceal before shimmer resumes (ms). */
21
+ export const HEATMAP_LOADING_CONCEAL_MS = 450;
22
+ /** Share of the enter window used for random fade-in delays. */
23
+ export const HEATMAP_ENTER_STAGGER_SPREAD = 0.6;
24
+ function seededRandom(seed) {
25
+ let state = seed % 2_147_483_647;
26
+ if (state <= 0) {
27
+ state += 2_147_483_646;
28
+ }
29
+ return () => {
30
+ state = (state * 16_807) % 2_147_483_647;
31
+ return (state - 1) / 2_147_483_646;
32
+ };
33
+ }
34
+ export function heatmapCellSeed(column, row) {
35
+ return column * 1009 + row * 9176;
36
+ }
37
+ /** Min/max contribution levels present in the dataset. */
38
+ export function computeHeatmapLevelRange(data) {
39
+ let min = Number.POSITIVE_INFINITY;
40
+ let max = Number.NEGATIVE_INFINITY;
41
+ for (const column of data) {
42
+ for (const bin of column.bins) {
43
+ const level = getHeatmapContributionLevel(bin.count);
44
+ if (level < min) {
45
+ min = level;
46
+ }
47
+ if (level > max) {
48
+ max = level;
49
+ }
50
+ }
51
+ }
52
+ if (!(Number.isFinite(min) && Number.isFinite(max))) {
53
+ return { min: 0, max: 4 };
54
+ }
55
+ return { min, max };
56
+ }
57
+ /** Per-cell fade duration derived from the motion enter transition. */
58
+ export function resolveHeatmapEnterFadeDurationSec(enterTransition, animationDurationMs) {
59
+ if (enterTransition &&
60
+ "duration" in enterTransition &&
61
+ typeof enterTransition.duration === "number") {
62
+ return enterTransition.duration;
63
+ }
64
+ return Math.min(0.45, (animationDurationMs / 1000) * 0.3);
65
+ }
66
+ /** Random delay so all cells finish fading in within `animationDurationMs`. */
67
+ export function computeHeatmapEnterFadeDelayMs({ column, row, revealEpoch, animationDurationMs, enterStaggerScale, fadeDurationSec, }) {
68
+ const random = seededRandom(heatmapCellSeed(column, row) + revealEpoch * 524_287);
69
+ const fadeMs = fadeDurationSec * 1000;
70
+ const maxDelayMs = Math.max(0, animationDurationMs - fadeMs);
71
+ const spreadMs = maxDelayMs * HEATMAP_ENTER_STAGGER_SPREAD * Math.max(enterStaggerScale, 0.25);
72
+ return random() * spreadMs;
73
+ }
74
+ /** Whether a cell participates in loading shimmer for a given randomness (0–1). */
75
+ export function heatmapLoadingCellParticipates(column, row, randomness) {
76
+ if (randomness >= 1) {
77
+ return true;
78
+ }
79
+ if (randomness <= 0) {
80
+ return false;
81
+ }
82
+ const random = seededRandom(heatmapCellSeed(column, row) + 73_133);
83
+ return random() < randomness;
84
+ }
85
+ //# sourceMappingURL=heatmap-animation.js.map