@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,31 @@
1
+ /** Consumer-facing fetch / display status on time-series charts. */
2
+ export type ChartStatus = "loading" | "ready";
3
+ /** Loading animation style: the default traveling pulse, or a diagonal
4
+ * shimmer that sweeps across the skeleton. */
5
+ export type LoadingStyle = "pulse" | "sweep";
6
+ /**
7
+ * Internal visual lifecycle phase. Forward and reverse transitions add
8
+ * intermediate phases in later stack branches.
9
+ */
10
+ export type ChartPhase = "loading" | "exiting" | "gridTweenReady" | "revealing" | "ready" | "exitingReady" | "gridTweenLoading" | "revealingLoading";
11
+ export declare const DEFAULT_CHART_STATUS: ChartStatus;
12
+ /** Default Y-domain tween when transitioning loading ↔ ready (ms). */
13
+ export declare const DEFAULT_Y_DOMAIN_TWEEN_MS = 500;
14
+ /** Relative domain delta below which Y tween may be skipped (see plan). */
15
+ export declare const Y_DOMAIN_TWEEN_SKIP_THRESHOLD = 0.02;
16
+ /** Resting phase for a given status before transition orchestration runs. */
17
+ export declare function resolveRestingChartPhase(status: ChartStatus): ChartPhase;
18
+ export declare function isChartInteractionPhase(phase: ChartPhase): boolean;
19
+ export declare const DEFAULT_CHART_LIFECYCLE: {
20
+ readonly chartPhase: "ready";
21
+ readonly chartStatus: "ready";
22
+ readonly loadingLabel: undefined;
23
+ readonly yDomainTweenDuration: 500;
24
+ readonly yDomainSkeletonByAxis: {
25
+ readonly left: [number, number];
26
+ };
27
+ readonly yDomainTargetByAxis: {
28
+ readonly left: [number, number];
29
+ };
30
+ };
31
+ //# sourceMappingURL=chart-phase.d.ts.map
@@ -0,0 +1,21 @@
1
+ export const DEFAULT_CHART_STATUS = "ready";
2
+ /** Default Y-domain tween when transitioning loading ↔ ready (ms). */
3
+ export const DEFAULT_Y_DOMAIN_TWEEN_MS = 500;
4
+ /** Relative domain delta below which Y tween may be skipped (see plan). */
5
+ export const Y_DOMAIN_TWEEN_SKIP_THRESHOLD = 0.02;
6
+ /** Resting phase for a given status before transition orchestration runs. */
7
+ export function resolveRestingChartPhase(status) {
8
+ return status === "loading" ? "loading" : "ready";
9
+ }
10
+ export function isChartInteractionPhase(phase) {
11
+ return phase === "ready";
12
+ }
13
+ export const DEFAULT_CHART_LIFECYCLE = {
14
+ chartPhase: "ready",
15
+ chartStatus: "ready",
16
+ loadingLabel: undefined,
17
+ yDomainTweenDuration: DEFAULT_Y_DOMAIN_TWEEN_MS,
18
+ yDomainSkeletonByAxis: { left: [0, 100] },
19
+ yDomainTargetByAxis: { left: [0, 100] },
20
+ };
21
+ //# sourceMappingURL=chart-phase.js.map
@@ -0,0 +1,24 @@
1
+ import type { Transition } from "motion/react";
2
+ export type ChartRevealClipMode = "reveal" | "conceal";
3
+ export interface ChartRevealClipProps {
4
+ clipPathId: string;
5
+ height: number;
6
+ targetWidth: number;
7
+ enterTransition?: Transition;
8
+ /** Bumps when motion settings change to replay the reveal. */
9
+ revealEpoch: number;
10
+ /** Extra inset around the clip rect so edge glyphs are not cut off. */
11
+ padding?: number;
12
+ /** When false, clip stays at full width (no grow animation). */
13
+ animating?: boolean;
14
+ /** Reveal grows 0 → full; conceal shrinks full → 0 (ready → loading). */
15
+ mode?: ChartRevealClipMode;
16
+ /** Called when a conceal animation finishes. */
17
+ onComplete?: () => void;
18
+ }
19
+ /**
20
+ * Left-to-right clip reveal for cartesian series.
21
+ * Grows clip rect width from 0 → full (true LTR; scaleX is avoided — it reveals from center).
22
+ */
23
+ export declare function ChartRevealClip({ clipPathId, height, targetWidth, enterTransition, revealEpoch, padding, animating, mode, onComplete, }: ChartRevealClipProps): import("react").JSX.Element;
24
+ //# sourceMappingURL=chart-reveal-clip.d.ts.map
@@ -0,0 +1,24 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { motion } from "motion/react";
4
+ import { clipRevealTransition } from "./animation.js";
5
+ /**
6
+ * Left-to-right clip reveal for cartesian series.
7
+ * Grows clip rect width from 0 → full (true LTR; scaleX is avoided — it reveals from center).
8
+ */
9
+ export function ChartRevealClip({ clipPathId, height, targetWidth, enterTransition, revealEpoch, padding = 0, animating = true, mode = "reveal", onComplete, }) {
10
+ const transition = clipRevealTransition(enterTransition);
11
+ const paddedWidth = Math.max(0, targetWidth + padding * 2);
12
+ const paddedHeight = height + padding * 2;
13
+ if (!animating) {
14
+ return (_jsx("clipPath", { id: clipPathId, children: _jsx("rect", { height: paddedHeight, width: paddedWidth, x: -padding, y: -padding }) }));
15
+ }
16
+ if (mode === "conceal") {
17
+ // Mirror the LTR reveal: advance the clip's left edge rightward while width
18
+ // shrinks (same geometry as `LineLoadingPulseStroke` exit half-cycle).
19
+ const rightEdge = -padding + paddedWidth;
20
+ return (_jsx("clipPath", { id: clipPathId, children: _jsx(motion.rect, { animate: { width: 0, x: rightEdge }, height: paddedHeight, initial: { width: paddedWidth, x: -padding }, onAnimationComplete: () => onComplete?.(), transition: transition, y: -padding }, `conceal-${revealEpoch}`) }));
21
+ }
22
+ return (_jsx("clipPath", { id: clipPathId, children: _jsx(motion.rect, { animate: { width: paddedWidth }, height: paddedHeight, initial: { width: 0 }, transition: transition, width: paddedWidth, x: -padding, y: -padding }, `reveal-${revealEpoch}`) }));
23
+ }
24
+ //# sourceMappingURL=chart-reveal-clip.js.map
@@ -0,0 +1,12 @@
1
+ /** Sequential scale CSS variables for heatmaps, choropleths, and binned data (01 = lowest, 05 = highest). */
2
+ export declare const CHART_SCALE_VARS: readonly ["var(--chart-scale-01)", "var(--chart-scale-02)", "var(--chart-scale-03)", "var(--chart-scale-04)", "var(--chart-scale-05)"];
3
+ export type ChartScaleVars = typeof CHART_SCALE_VARS;
4
+ export declare const chartScaleCssVars: {
5
+ readonly scale01: "var(--chart-scale-01)";
6
+ readonly scale02: "var(--chart-scale-02)";
7
+ readonly scale03: "var(--chart-scale-03)";
8
+ readonly scale04: "var(--chart-scale-04)";
9
+ readonly scale05: "var(--chart-scale-05)";
10
+ readonly patternColor: "var(--chart-scale-pattern-color)";
11
+ };
12
+ //# sourceMappingURL=chart-scale.d.ts.map
@@ -0,0 +1,17 @@
1
+ /** Sequential scale CSS variables for heatmaps, choropleths, and binned data (01 = lowest, 05 = highest). */
2
+ export const CHART_SCALE_VARS = [
3
+ "var(--chart-scale-01)",
4
+ "var(--chart-scale-02)",
5
+ "var(--chart-scale-03)",
6
+ "var(--chart-scale-04)",
7
+ "var(--chart-scale-05)",
8
+ ];
9
+ export const chartScaleCssVars = {
10
+ scale01: CHART_SCALE_VARS[0],
11
+ scale02: CHART_SCALE_VARS[1],
12
+ scale03: CHART_SCALE_VARS[2],
13
+ scale04: CHART_SCALE_VARS[3],
14
+ scale05: CHART_SCALE_VARS[4],
15
+ patternColor: "var(--chart-scale-pattern-color)",
16
+ };
17
+ //# sourceMappingURL=chart-scale.js.map
@@ -0,0 +1,36 @@
1
+ import { type ReactNode } from "react";
2
+ /** Subset of `Intl.NumberFormatOptions` used by pie / ring / gauge centers. */
3
+ export interface ChartStatFlowFormat {
4
+ notation?: "standard" | "compact";
5
+ compactDisplay?: "short" | "long";
6
+ minimumFractionDigits?: number;
7
+ maximumFractionDigits?: number;
8
+ minimumIntegerDigits?: number;
9
+ minimumSignificantDigits?: number;
10
+ maximumSignificantDigits?: number;
11
+ style?: "decimal" | "percent" | "currency";
12
+ currency?: string;
13
+ currencyDisplay?: "symbol" | "narrowSymbol" | "code" | "name";
14
+ unit?: string;
15
+ unitDisplay?: "short" | "long" | "narrow";
16
+ }
17
+ export declare const defaultChartStatFlowFormat: ChartStatFlowFormat;
18
+ export interface ChartStatFlowProps {
19
+ value: number;
20
+ label: string;
21
+ formatOptions?: ChartStatFlowFormat;
22
+ prefix?: string;
23
+ suffix?: string;
24
+ valueClassName?: string;
25
+ labelClassName?: string;
26
+ icon?: ReactNode;
27
+ }
28
+ /**
29
+ * Shared value + label stack (same layout as pie / ring centers).
30
+ * Parent should provide flex alignment and sizing when needed.
31
+ */
32
+ export declare function ChartStatFlow({ value, label, formatOptions, prefix, suffix, valueClassName, labelClassName, icon, }: ChartStatFlowProps): import("react").JSX.Element;
33
+ export declare namespace ChartStatFlow {
34
+ var displayName: string;
35
+ }
36
+ //# sourceMappingURL=chart-stat-flow.d.ts.map
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useMemo } from "react";
4
+ import { AnimatedNumber } from "../components/animated-number.js";
5
+ import { cn } from "../lib/cn.js";
6
+ export const defaultChartStatFlowFormat = {
7
+ notation: "standard",
8
+ maximumFractionDigits: 0,
9
+ };
10
+ function formatStatValue(value, formatOptions, prefix, suffix) {
11
+ const formatted = new Intl.NumberFormat("en-US", formatOptions).format(value);
12
+ return `${prefix ?? ""}${formatted}${suffix ?? ""}`;
13
+ }
14
+ /**
15
+ * Shared value + label stack (same layout as pie / ring centers).
16
+ * Parent should provide flex alignment and sizing when needed.
17
+ */
18
+ export function ChartStatFlow({ value, label, formatOptions = defaultChartStatFlowFormat, prefix, suffix, valueClassName = "text-2xl font-medium", labelClassName = "text-xs", icon, }) {
19
+ const format = useMemo(() => (n) => formatStatValue(n, formatOptions, prefix, suffix), [formatOptions, prefix, suffix]);
20
+ return (_jsxs(_Fragment, { children: [icon ? (_jsx("div", { className: "mb-2 flex h-12 w-12 items-center justify-center rounded-full bg-muted/50", children: icon })) : null, _jsx("span", { className: cn("text-foreground tabular-nums", valueClassName), children: _jsx(AnimatedNumber, { format: format, value: value }) }), _jsx("span", { className: cn("mt-0.5 text-chart-label", labelClassName), children: label })] }));
21
+ }
22
+ ChartStatFlow.displayName = "ChartStatFlow";
23
+ //# sourceMappingURL=chart-stat-flow.js.map
@@ -0,0 +1,43 @@
1
+ import type { TransformMatrix } from "@visx/zoom";
2
+ import type { FeatureCollection, Geometry } from "geojson";
3
+ import type { Transition } from "motion/react";
4
+ import React, { type ReactNode } from "react";
5
+ import { type ChoroplethFeatureProperties, type Margin } from "./choropleth-context.js";
6
+ export interface ChoroplethChartProps {
7
+ /** GeoJSON FeatureCollection data */
8
+ data: FeatureCollection<Geometry, ChoroplethFeatureProperties>;
9
+ /** Chart margins */
10
+ margin?: Partial<Margin>;
11
+ /** Animation duration in milliseconds. Default: 800 */
12
+ animationDuration?: number;
13
+ /** Motion enter transition (spring or cubic-bezier tween). */
14
+ enterTransition?: Transition;
15
+ /** Signature of motion URL state — triggers enter replay when it changes. */
16
+ revealSignature?: string;
17
+ /** Aspect ratio as "width / height". Default: "16 / 9" */
18
+ aspectRatio?: string;
19
+ /** Projection scale. If not provided, auto-calculated based on width */
20
+ scale?: number;
21
+ /** Center coordinates [longitude, latitude]. Default: [0, 20] */
22
+ center?: [number, number];
23
+ /** Translate offset [x, y]. If not provided, auto-calculated to center */
24
+ translate?: [number, number];
25
+ /** Enable zoom and pan. Default: false */
26
+ zoomEnabled?: boolean;
27
+ /** Minimum zoom scale. Default: 0.5 */
28
+ zoomMin?: number;
29
+ /** Maximum zoom scale. Default: 4 */
30
+ zoomMax?: number;
31
+ /** Initial zoom transform */
32
+ initialZoom?: TransformMatrix;
33
+ /** Additional class name for the container */
34
+ className?: string;
35
+ /** Child components (ChoroplethFeature, ChoroplethGraticule, ChoroplethTooltip) */
36
+ children: ReactNode;
37
+ }
38
+ export declare function ChoroplethChart({ data, margin: marginProp, animationDuration, enterTransition, revealSignature, aspectRatio, scale, center, translate, zoomEnabled, zoomMin, zoomMax, initialZoom, className, children, }: ChoroplethChartProps): React.JSX.Element;
39
+ export declare namespace ChoroplethChart {
40
+ var displayName: string;
41
+ }
42
+ export default ChoroplethChart;
43
+ //# sourceMappingURL=choropleth-chart.d.ts.map
@@ -0,0 +1,218 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Mercator } from "@visx/geo";
4
+ import { ParentSize } from "@visx/responsive";
5
+ import { Zoom } from "@visx/zoom";
6
+ import React, { memo, useCallback, useEffect, useMemo, useRef, useState, } from "react";
7
+ import { cn } from "../../lib/cn.js";
8
+ import { ChoroplethInteractionShell, ChoroplethStableProvider, ChoroplethZoomContext, useChoroplethInteraction, } from "./choropleth-context.js";
9
+ import { ChoroplethFeature as ChoroplethFeatureLayer } from "./choropleth-feature.js";
10
+ import { ChoroplethGraticule as ChoroplethGraticuleLayer } from "./choropleth-graticule.js";
11
+ import { ChoroplethTooltip as ChoroplethTooltipLayer } from "./choropleth-tooltip.js";
12
+ const DEFAULT_MARGIN = { top: 0, right: 0, bottom: 0, left: 0 };
13
+ // Known SVG component displayNames
14
+ const SVG_COMPONENT_NAMES = new Set([
15
+ "ChoroplethFeature",
16
+ "ChoroplethGraticule",
17
+ "ChoroplethTooltip",
18
+ ]);
19
+ const SVG_COMPONENT_TYPES = new Set([
20
+ ChoroplethFeatureLayer,
21
+ ChoroplethGraticuleLayer,
22
+ ChoroplethTooltipLayer,
23
+ ]);
24
+ function resolveComponentType(type) {
25
+ if (typeof type === "object" &&
26
+ type !== null &&
27
+ "type" in type &&
28
+ type.type) {
29
+ return type.type;
30
+ }
31
+ return type;
32
+ }
33
+ function getComponentDisplayName(type) {
34
+ if (typeof type === "function") {
35
+ const fn = type;
36
+ return fn.displayName ?? fn.name ?? null;
37
+ }
38
+ if (typeof type === "object" && type !== null) {
39
+ const wrapped = type;
40
+ if (wrapped.displayName) {
41
+ return wrapped.displayName;
42
+ }
43
+ const inner = wrapped.type;
44
+ if (typeof inner === "function") {
45
+ const innerFn = inner;
46
+ return innerFn.displayName ?? innerFn.name ?? null;
47
+ }
48
+ }
49
+ return null;
50
+ }
51
+ function isChoroplethSvgChild(type) {
52
+ if (SVG_COMPONENT_TYPES.has(type)) {
53
+ return true;
54
+ }
55
+ const resolved = resolveComponentType(type);
56
+ if (resolved !== type && SVG_COMPONENT_TYPES.has(resolved)) {
57
+ return true;
58
+ }
59
+ const displayName = getComponentDisplayName(type);
60
+ return displayName !== null && SVG_COMPONENT_NAMES.has(displayName);
61
+ }
62
+ // HTML elements that should render in overlay layer
63
+ const HTML_ELEMENTS = new Set(["div", "span", "button", "p", "a"]);
64
+ // Separate children into SVG and overlay layers
65
+ function separateChildren(children) {
66
+ const childArray = React.Children.toArray(children);
67
+ const svgChildren = [];
68
+ const overlayChildren = [];
69
+ for (const child of childArray) {
70
+ if (!React.isValidElement(child)) {
71
+ svgChildren.push(child);
72
+ continue;
73
+ }
74
+ if (isChoroplethSvgChild(child.type)) {
75
+ svgChildren.push(child);
76
+ }
77
+ else if (typeof child.type === "string") {
78
+ if (HTML_ELEMENTS.has(child.type)) {
79
+ overlayChildren.push(child);
80
+ }
81
+ else {
82
+ svgChildren.push(child);
83
+ }
84
+ }
85
+ else {
86
+ overlayChildren.push(child);
87
+ }
88
+ }
89
+ return { svgChildren, overlayChildren };
90
+ }
91
+ const DEFAULT_INITIAL_ZOOM = {
92
+ scaleX: 1,
93
+ scaleY: 1,
94
+ translateX: 0,
95
+ translateY: 0,
96
+ skewX: 0,
97
+ skewY: 0,
98
+ };
99
+ const ChoroplethSvg = memo(function ChoroplethSvg({ height, width, svgChildren, zoom, }) {
100
+ const { setHoveredFeatureIndex, setTooltipData } = useChoroplethInteraction();
101
+ const handleMouseLeave = useCallback(() => {
102
+ setHoveredFeatureIndex(null);
103
+ setTooltipData(null);
104
+ }, [setHoveredFeatureIndex, setTooltipData]);
105
+ return (_jsx("svg", { "aria-hidden": "true", height: height, onMouseLeave: handleMouseLeave, ref: zoom?.containerRef, style: {
106
+ contain: "layout style paint",
107
+ cursor: zoom?.isDragging ? "grabbing" : "grab",
108
+ touchAction: "none",
109
+ }, width: width, children: _jsx("g", { style: {
110
+ transition: zoom?.isDragging ? "none" : "transform 0.18s ease-out",
111
+ }, transform: zoom ? zoom.toString() : undefined, children: svgChildren }) }));
112
+ });
113
+ const ChoroplethMercatorContent = memo(function ChoroplethMercatorContent({ mercator, data, width, height, innerWidth, innerHeight, margin, animationDuration, enterTransition, revealEpoch, isLoaded, containerRef, svgChildren, overlayChildren, zoom, }) {
114
+ const featurePaths = data.features.map((feature) => mercator.path(feature) ?? null);
115
+ const pathGenerator = useCallback((feature) => mercator.path(feature) ?? undefined, [mercator]);
116
+ const rawPathGenerator = useCallback(
117
+ // biome-ignore lint/suspicious/noExplicitAny: GeoJSON types are complex
118
+ (geo) => mercator.path(geo), [mercator]);
119
+ const projectPoint = useCallback((coords) => {
120
+ const projected = mercator.projection(coords);
121
+ if (!projected) {
122
+ return null;
123
+ }
124
+ return projected;
125
+ }, [mercator]);
126
+ const stableValue = useMemo(() => ({
127
+ features: data.features,
128
+ featureCollection: data,
129
+ featurePaths,
130
+ pathGenerator,
131
+ rawPathGenerator,
132
+ projectPoint,
133
+ width,
134
+ height,
135
+ innerWidth,
136
+ innerHeight,
137
+ margin,
138
+ containerRef,
139
+ isLoaded,
140
+ animationDuration,
141
+ enterTransition,
142
+ revealEpoch,
143
+ }), [
144
+ animationDuration,
145
+ containerRef,
146
+ data,
147
+ enterTransition,
148
+ featurePaths,
149
+ height,
150
+ innerHeight,
151
+ innerWidth,
152
+ isLoaded,
153
+ margin,
154
+ pathGenerator,
155
+ projectPoint,
156
+ rawPathGenerator,
157
+ revealEpoch,
158
+ width,
159
+ ]);
160
+ return (_jsx(ChoroplethZoomContext.Provider, { value: { zoom: zoom ?? null }, children: _jsx(ChoroplethStableProvider, { value: stableValue, children: _jsx(ChoroplethInteractionShell, { children: _jsxs("div", { className: "relative h-full w-full", ref: containerRef, children: [_jsx(ChoroplethSvg, { height: height, svgChildren: svgChildren, width: width, zoom: zoom }), overlayChildren] }) }) }) }));
161
+ });
162
+ function ChoroplethChartInner({ data, width, height, margin, animationDuration, enterTransition, revealSignature = "", scale: scaleProp, center, translate: translateProp, zoomEnabled, zoomMin, zoomMax, initialZoom, children, }) {
163
+ const containerRef = useRef(null);
164
+ const [isLoaded, setIsLoaded] = useState(false);
165
+ const [revealEpoch, setRevealEpoch] = useState(0);
166
+ const innerWidth = width - margin.left - margin.right;
167
+ const innerHeight = height - margin.top - margin.bottom;
168
+ const scale = scaleProp ?? (innerWidth / 630) * 100;
169
+ const translate = translateProp ?? [
170
+ innerWidth / 2 + margin.left,
171
+ innerHeight / 2 + margin.top + 50,
172
+ ];
173
+ const { svgChildren, overlayChildren } = useMemo(() => separateChildren(children), [children]);
174
+ // biome-ignore lint/correctness/useExhaustiveDependencies: revealSignature
175
+ useEffect(() => {
176
+ setRevealEpoch((n) => n + 1);
177
+ setIsLoaded(false);
178
+ const timeout = setTimeout(() => {
179
+ setIsLoaded(true);
180
+ }, animationDuration);
181
+ return () => clearTimeout(timeout);
182
+ }, [animationDuration, revealSignature]);
183
+ if (width < 10 || height < 10) {
184
+ return null;
185
+ }
186
+ const mercatorContentProps = {
187
+ animationDuration,
188
+ containerRef,
189
+ data,
190
+ enterTransition,
191
+ height,
192
+ innerHeight,
193
+ innerWidth,
194
+ isLoaded,
195
+ margin,
196
+ overlayChildren,
197
+ revealEpoch,
198
+ svgChildren,
199
+ width,
200
+ };
201
+ return (_jsx(Mercator, { center: center, data: data.features, scale: scale, translate: translate, children: (mercator) => {
202
+ const content = (zoom) => (_jsx(ChoroplethMercatorContent, { ...mercatorContentProps, mercator: mercator, zoom: zoom }));
203
+ if (zoomEnabled) {
204
+ return (_jsx(Zoom, { height: height, initialTransformMatrix: initialZoom, scaleXMax: zoomMax, scaleXMin: zoomMin, scaleYMax: zoomMax, scaleYMin: zoomMin, wheelDelta: (event) => {
205
+ const zoomScale = event.deltaY > 0 ? 0.95 : 1.05;
206
+ return { scaleX: zoomScale, scaleY: zoomScale };
207
+ }, width: width, children: (zoom) => content(zoom) }));
208
+ }
209
+ return content();
210
+ } }));
211
+ }
212
+ export function ChoroplethChart({ data, margin: marginProp, animationDuration = 800, enterTransition, revealSignature, aspectRatio = "16 / 9", scale, center = [0, 20], translate, zoomEnabled = false, zoomMin = 0.5, zoomMax = 4, initialZoom = DEFAULT_INITIAL_ZOOM, className = "", children, }) {
213
+ const margin = { ...DEFAULT_MARGIN, ...marginProp };
214
+ return (_jsx("div", { "data-slot": "choropleth-chart", className: cn("relative w-full", className), style: { aspectRatio }, children: _jsx(ParentSize, { debounceTime: 10, children: ({ width, height }) => width > 0 && height > 0 ? (_jsx(ChoroplethChartInner, { animationDuration: animationDuration, center: center, data: data, enterTransition: enterTransition, height: height, initialZoom: initialZoom, margin: margin, revealSignature: revealSignature, scale: scale, translate: translate, width: width, zoomEnabled: zoomEnabled, zoomMax: zoomMax, zoomMin: zoomMin, children: children })) : null }) }));
215
+ }
216
+ ChoroplethChart.displayName = "ChoroplethChart";
217
+ export default ChoroplethChart;
218
+ //# sourceMappingURL=choropleth-chart.js.map
@@ -0,0 +1,86 @@
1
+ import type { ProvidedZoom, TransformMatrix } from "@visx/zoom";
2
+ import type { Feature, FeatureCollection, Geometry } from "geojson";
3
+ import type { Transition } from "motion/react";
4
+ import { type Dispatch, type RefObject, type SetStateAction } from "react";
5
+ interface ZoomState {
6
+ initialTransformMatrix: TransformMatrix;
7
+ transformMatrix: TransformMatrix;
8
+ isDragging: boolean;
9
+ }
10
+ export type ZoomInstance<E extends Element> = ProvidedZoom<E> & ZoomState;
11
+ interface ChoroplethZoomContextValue {
12
+ zoom: ZoomInstance<SVGSVGElement> | null;
13
+ }
14
+ export declare const ChoroplethZoomContext: import("react").Context<ChoroplethZoomContextValue>;
15
+ export declare function useChoroplethZoom(): ChoroplethZoomContextValue;
16
+ export interface Margin {
17
+ top: number;
18
+ right: number;
19
+ bottom: number;
20
+ left: number;
21
+ }
22
+ export interface ChoroplethFeatureProperties {
23
+ name?: string;
24
+ id?: string | number;
25
+ [key: string]: unknown;
26
+ }
27
+ export type ChoroplethFeature = Feature<Geometry, ChoroplethFeatureProperties>;
28
+ export interface ChoroplethTooltipData {
29
+ featureIndex: number;
30
+ x: number;
31
+ y: number;
32
+ feature: ChoroplethFeature;
33
+ }
34
+ export interface ChoroplethInteractionContextValue {
35
+ hoveredFeatureIndex: number | null;
36
+ setHoveredFeatureIndex: (index: number | null) => void;
37
+ tooltipData: ChoroplethTooltipData | null;
38
+ setTooltipData: Dispatch<SetStateAction<ChoroplethTooltipData | null>>;
39
+ }
40
+ export interface ChoroplethStableContextValue {
41
+ features: ChoroplethFeature[];
42
+ featureCollection: FeatureCollection<Geometry, ChoroplethFeatureProperties>;
43
+ /** Precomputed SVG path strings — one per feature index. */
44
+ featurePaths: readonly (string | null)[];
45
+ pathGenerator: (feature: ChoroplethFeature) => string | undefined;
46
+ rawPathGenerator: (geo: any) => string | null;
47
+ projectPoint: (coords: [number, number]) => [number, number] | null;
48
+ width: number;
49
+ height: number;
50
+ innerWidth: number;
51
+ innerHeight: number;
52
+ margin: Margin;
53
+ containerRef: RefObject<HTMLDivElement | null>;
54
+ isLoaded: boolean;
55
+ animationDuration: number;
56
+ enterTransition?: Transition;
57
+ revealEpoch: number;
58
+ }
59
+ export type ChoroplethContextValue = ChoroplethStableContextValue & ChoroplethInteractionContextValue;
60
+ export declare function ChoroplethStableProvider({ children, value, }: {
61
+ children: React.ReactNode;
62
+ value: ChoroplethStableContextValue;
63
+ }): import("react").JSX.Element;
64
+ export declare function ChoroplethInteractionShell({ children }: {
65
+ children: React.ReactNode;
66
+ }): import("react").JSX.Element;
67
+ export declare function ChoroplethProvider({ children, value, }: {
68
+ children: React.ReactNode;
69
+ value: ChoroplethContextValue;
70
+ }): import("react").JSX.Element;
71
+ export declare function useChoroplethStable(): ChoroplethStableContextValue;
72
+ export declare function useChoroplethInteraction(): ChoroplethInteractionContextValue;
73
+ export declare function useChoropleth(): ChoroplethContextValue;
74
+ export declare const choroplethCssVars: {
75
+ scale01: "var(--chart-scale-01)";
76
+ scale02: "var(--chart-scale-02)";
77
+ scale03: "var(--chart-scale-03)";
78
+ scale04: "var(--chart-scale-04)";
79
+ scale05: "var(--chart-scale-05)";
80
+ patternColor: "var(--chart-scale-pattern-color)";
81
+ stroke: string;
82
+ background: string;
83
+ };
84
+ export declare const defaultChoroplethColors: ("var(--chart-scale-01)" | "var(--chart-scale-02)" | "var(--chart-scale-03)" | "var(--chart-scale-04)" | "var(--chart-scale-05)")[];
85
+ export {};
86
+ //# sourceMappingURL=choropleth-context.d.ts.map
@@ -0,0 +1,106 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useMemo, useState, } from "react";
4
+ export const ChoroplethZoomContext = createContext({
5
+ zoom: null,
6
+ });
7
+ export function useChoroplethZoom() {
8
+ return useContext(ChoroplethZoomContext);
9
+ }
10
+ const ChoroplethStableContext = createContext(null);
11
+ const ChoroplethInteractionContext = createContext(null);
12
+ export function ChoroplethStableProvider({ children, value, }) {
13
+ return (_jsx(ChoroplethStableContext.Provider, { value: value, children: children }));
14
+ }
15
+ export function ChoroplethInteractionShell({ children }) {
16
+ const [hoveredFeatureIndex, setHoveredFeatureIndex] = useState(null);
17
+ const [tooltipData, setTooltipData] = useState(null);
18
+ const interaction = useMemo(() => ({
19
+ hoveredFeatureIndex,
20
+ setHoveredFeatureIndex,
21
+ tooltipData,
22
+ setTooltipData,
23
+ }), [hoveredFeatureIndex, tooltipData]);
24
+ return (_jsx(ChoroplethInteractionContext.Provider, { value: interaction, children: children }));
25
+ }
26
+ export function ChoroplethProvider({ children, value, }) {
27
+ const stable = useMemo(() => ({
28
+ features: value.features,
29
+ featureCollection: value.featureCollection,
30
+ featurePaths: value.featurePaths,
31
+ pathGenerator: value.pathGenerator,
32
+ rawPathGenerator: value.rawPathGenerator,
33
+ projectPoint: value.projectPoint,
34
+ width: value.width,
35
+ height: value.height,
36
+ innerWidth: value.innerWidth,
37
+ innerHeight: value.innerHeight,
38
+ margin: value.margin,
39
+ containerRef: value.containerRef,
40
+ isLoaded: value.isLoaded,
41
+ animationDuration: value.animationDuration,
42
+ enterTransition: value.enterTransition,
43
+ revealEpoch: value.revealEpoch,
44
+ }), [
45
+ value.features,
46
+ value.featureCollection,
47
+ value.featurePaths,
48
+ value.pathGenerator,
49
+ value.rawPathGenerator,
50
+ value.projectPoint,
51
+ value.width,
52
+ value.height,
53
+ value.innerWidth,
54
+ value.innerHeight,
55
+ value.margin,
56
+ value.containerRef,
57
+ value.isLoaded,
58
+ value.animationDuration,
59
+ value.enterTransition,
60
+ value.revealEpoch,
61
+ ]);
62
+ const interaction = useMemo(() => ({
63
+ hoveredFeatureIndex: value.hoveredFeatureIndex,
64
+ setHoveredFeatureIndex: value.setHoveredFeatureIndex,
65
+ tooltipData: value.tooltipData,
66
+ setTooltipData: value.setTooltipData,
67
+ }), [
68
+ value.hoveredFeatureIndex,
69
+ value.setHoveredFeatureIndex,
70
+ value.tooltipData,
71
+ value.setTooltipData,
72
+ ]);
73
+ return (_jsx(ChoroplethStableProvider, { value: stable, children: _jsx(ChoroplethInteractionContext.Provider, { value: interaction, children: children }) }));
74
+ }
75
+ export function useChoroplethStable() {
76
+ const context = useContext(ChoroplethStableContext);
77
+ if (!context) {
78
+ throw new Error("useChoroplethStable must be used within a ChoroplethProvider");
79
+ }
80
+ return context;
81
+ }
82
+ export function useChoroplethInteraction() {
83
+ const context = useContext(ChoroplethInteractionContext);
84
+ if (!context) {
85
+ throw new Error("useChoroplethInteraction must be used within a ChoroplethProvider");
86
+ }
87
+ return context;
88
+ }
89
+ export function useChoropleth() {
90
+ return { ...useChoroplethStable(), ...useChoroplethInteraction() };
91
+ }
92
+ import { CHART_SCALE_VARS, chartScaleCssVars } from "../chart-scale.js";
93
+ // CSS variables for choropleth theming
94
+ export const choroplethCssVars = {
95
+ scale01: chartScaleCssVars.scale01,
96
+ scale02: chartScaleCssVars.scale02,
97
+ scale03: chartScaleCssVars.scale03,
98
+ scale04: chartScaleCssVars.scale04,
99
+ scale05: chartScaleCssVars.scale05,
100
+ patternColor: chartScaleCssVars.patternColor,
101
+ stroke: "var(--chart-grid)",
102
+ background: "var(--chart-background)",
103
+ };
104
+ // Default colors array for cycling through features
105
+ export const defaultChoroplethColors = [...CHART_SCALE_VARS];
106
+ //# sourceMappingURL=choropleth-context.js.map
@@ -0,0 +1,13 @@
1
+ import { type ChoroplethFeature as ChoroplethFeatureType } from "./choropleth-context.js";
2
+ export interface ChoroplethFeatureProps {
3
+ fill?: string;
4
+ stroke?: string;
5
+ strokeWidth?: number;
6
+ fadedOpacity?: number;
7
+ getFeatureColor?: (feature: ChoroplethFeatureType, index: number) => string;
8
+ patterns?: React.ReactNode;
9
+ getFeaturePattern?: (feature: ChoroplethFeatureType, index: number) => string | null | undefined;
10
+ }
11
+ export declare const ChoroplethFeature: import("react").MemoExoticComponent<({ fill, stroke, strokeWidth, fadedOpacity, getFeatureColor, patterns, getFeaturePattern, }: ChoroplethFeatureProps) => import("react").JSX.Element>;
12
+ export default ChoroplethFeature;
13
+ //# sourceMappingURL=choropleth-feature.d.ts.map