@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,86 @@
1
+ import { type InputHTMLAttributes } from "react";
2
+ /**
3
+ * A premium, payments-grade money input. A compact currency selector (symbol +
4
+ * ISO code, e.g. `R$ BRL`) is fused to an end-aligned numeric field that
5
+ * live-formats thousands separators and decimals **as the user types**, driven
6
+ * entirely by `Intl.NumberFormat` for the active currency's locale.
7
+ *
8
+ * ## Value model
9
+ * The field is a **minor-unit accumulator** (the pattern used by Wise / Revolut /
10
+ * Cash App): each digit shifts the amount in from the right, so typing `1 2 3 4 5`
11
+ * with 2-decimal money reads `0,01 → 0,12 → 1,23 → 12,34 → 123,45`. Consumers
12
+ * always receive the value in **minor units** (integer cents) via
13
+ * `onValueChange(cents, meta)` — never a lossy float — with the display string,
14
+ * major-unit float, currency and locale carried in `meta`.
15
+ *
16
+ * ## Interaction
17
+ * - **Caret stability:** the caret is pinned to the end after every edit, so
18
+ * grouping separators appearing/disappearing never make it jump.
19
+ * - **Backspace** removes the last digit; deleting through zero clears the field.
20
+ * - **Paste** is treated as its digit stream, so `1.234,56` pastes as `123456`.
21
+ * - **max** is a hard live ceiling (you can't type past it); **min** is enforced
22
+ * on blur so in-progress entries below it aren't fought mid-type.
23
+ * - **disabled / invalid** dim the group and set `aria-invalid`.
24
+ *
25
+ * ## Performance / a11y
26
+ * - `Intl.NumberFormat` instances are cached per `locale:fractionDigits`; caret
27
+ * pinning runs in a single `useLayoutEffect` — no timers, intervals, or RAF, so
28
+ * there is nothing to leak on unmount.
29
+ * - The selector is a real Radix dropdown (roving focus, `Esc`, typeahead); the
30
+ * numeric field forwards its ref and takes an accessible name. All transitions
31
+ * degrade under `prefers-reduced-motion`.
32
+ */
33
+ /** A currency the selector can switch between. */
34
+ export interface CurrencyOption {
35
+ /** ISO 4217 code, e.g. `"BRL"`. Also the value passed to `onCurrencyChange`. */
36
+ code: string;
37
+ /** Symbol shown in the selector, e.g. `"R$"`, `"US$"`, `"€"`. */
38
+ symbol: string;
39
+ /** BCP-47 locale used to format grouping + decimals, e.g. `"pt-BR"`. */
40
+ locale: string;
41
+ /** Full name shown on the dropdown row, e.g. `"Brazilian Real"`. */
42
+ label?: string;
43
+ /** Minor-unit exponent (2 for cents, 0 for yen). Auto-derived from `Intl` when omitted. */
44
+ fractionDigits?: number;
45
+ }
46
+ /** Formatting context handed back alongside every value/currency change. */
47
+ export interface CurrencyInputMeta {
48
+ /** Active ISO 4217 currency code. */
49
+ currency: string;
50
+ /** The string rendered in the field, e.g. `"1.234,56"`. */
51
+ formatted: string;
52
+ /** The amount in major units (e.g. `1234.56`), or `null` when empty. */
53
+ float: number | null;
54
+ /** Locale used for formatting. */
55
+ locale: string;
56
+ }
57
+ export interface CurrencyInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "defaultValue" | "onChange" | "min" | "max" | "type"> {
58
+ /** Controlled amount in **minor units** (integer cents). Use `null` for empty. Pair with `onValueChange`. */
59
+ value?: number | null;
60
+ /** Initial amount in minor units for uncontrolled usage. Defaults to `null` (empty). */
61
+ defaultValue?: number | null;
62
+ /** Fired on every edit with the amount in **minor units** (`null` when cleared) plus formatting `meta`. */
63
+ onValueChange?: (value: number | null, meta: CurrencyInputMeta) => void;
64
+ /** Selectable currencies. Defaults to BRL, USD and EUR. A single entry renders a static (non-interactive) prefix. */
65
+ currencies?: CurrencyOption[];
66
+ /** Controlled active currency code. Pair with `onCurrencyChange`. */
67
+ currency?: string;
68
+ /** Initial active currency code for uncontrolled usage. Defaults to the first `currencies` entry. */
69
+ defaultCurrency?: string;
70
+ /** Fired when the user picks a different currency (also re-fires `onValueChange` with the new `meta`). */
71
+ onCurrencyChange?: (code: string, meta: CurrencyInputMeta) => void;
72
+ /** Lower clamp in minor units, enforced on blur. Defaults to `0` (no negatives). */
73
+ min?: number;
74
+ /** Upper clamp in minor units — a hard live ceiling the value can never be typed past. */
75
+ max?: number;
76
+ /** Marks the field invalid (red border + `aria-invalid`). */
77
+ invalid?: boolean;
78
+ /** Disables the field and the currency selector. */
79
+ disabled?: boolean;
80
+ /** Accessible name for the currency selector button. @default "Select currency" */
81
+ selectorLabel?: string;
82
+ /** Extra classes for the underlying `<input>`. */
83
+ inputClassName?: string;
84
+ }
85
+ export declare const CurrencyInput: import("react").ForwardRefExoticComponent<CurrencyInputProps & import("react").RefAttributes<HTMLInputElement>>;
86
+ //# sourceMappingURL=currency-input.d.ts.map
@@ -0,0 +1,215 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ChevronDown } from "lucide-react";
4
+ import { forwardRef, useCallback, useLayoutEffect, useMemo, useRef, useState, } from "react";
5
+ import { cn } from "../lib/cn.js";
6
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "./dropdown-menu.js";
7
+ /** ISO 4217 set covering the currencies a payments field actually sees. */
8
+ const DEFAULT_CURRENCIES = [
9
+ { code: "BRL", symbol: "R$", locale: "pt-BR", label: "Brazilian Real" },
10
+ { code: "USD", symbol: "US$", locale: "en-US", label: "US Dollar" },
11
+ { code: "EUR", symbol: "€", locale: "de-DE", label: "Euro" },
12
+ { code: "GBP", symbol: "£", locale: "en-GB", label: "British Pound" },
13
+ { code: "JPY", symbol: "¥", locale: "ja-JP", label: "Japanese Yen", fractionDigits: 0 },
14
+ { code: "CNY", symbol: "¥", locale: "zh-CN", label: "Chinese Yuan" },
15
+ { code: "INR", symbol: "₹", locale: "en-IN", label: "Indian Rupee" },
16
+ { code: "AUD", symbol: "A$", locale: "en-AU", label: "Australian Dollar" },
17
+ { code: "CAD", symbol: "CA$", locale: "en-CA", label: "Canadian Dollar" },
18
+ { code: "CHF", symbol: "CHF", locale: "de-CH", label: "Swiss Franc" },
19
+ { code: "MXN", symbol: "MX$", locale: "es-MX", label: "Mexican Peso" },
20
+ { code: "ARS", symbol: "AR$", locale: "es-AR", label: "Argentine Peso" },
21
+ { code: "CLP", symbol: "CL$", locale: "es-CL", label: "Chilean Peso", fractionDigits: 0 },
22
+ { code: "COP", symbol: "CO$", locale: "es-CO", label: "Colombian Peso" },
23
+ { code: "PEN", symbol: "S/", locale: "es-PE", label: "Peruvian Sol" },
24
+ { code: "UYU", symbol: "$U", locale: "es-UY", label: "Uruguayan Peso" },
25
+ { code: "PYG", symbol: "₲", locale: "es-PY", label: "Paraguayan Guarani", fractionDigits: 0 },
26
+ { code: "BOB", symbol: "Bs", locale: "es-BO", label: "Bolivian Boliviano" },
27
+ { code: "KRW", symbol: "₩", locale: "ko-KR", label: "South Korean Won", fractionDigits: 0 },
28
+ { code: "HKD", symbol: "HK$", locale: "zh-HK", label: "Hong Kong Dollar" },
29
+ { code: "SGD", symbol: "S$", locale: "en-SG", label: "Singapore Dollar" },
30
+ { code: "NZD", symbol: "NZ$", locale: "en-NZ", label: "New Zealand Dollar" },
31
+ { code: "SEK", symbol: "kr", locale: "sv-SE", label: "Swedish Krona" },
32
+ { code: "NOK", symbol: "kr", locale: "nb-NO", label: "Norwegian Krone" },
33
+ { code: "DKK", symbol: "kr", locale: "da-DK", label: "Danish Krone" },
34
+ { code: "PLN", symbol: "zł", locale: "pl-PL", label: "Polish Zloty" }, // contract-ok: BCP-47 locale, not padding
35
+ { code: "CZK", symbol: "Kč", locale: "cs-CZ", label: "Czech Koruna" },
36
+ { code: "HUF", symbol: "Ft", locale: "hu-HU", label: "Hungarian Forint", fractionDigits: 0 },
37
+ { code: "RON", symbol: "lei", locale: "ro-RO", label: "Romanian Leu" },
38
+ { code: "TRY", symbol: "₺", locale: "tr-TR", label: "Turkish Lira" },
39
+ { code: "ZAR", symbol: "R", locale: "en-ZA", label: "South African Rand" },
40
+ { code: "NGN", symbol: "₦", locale: "en-NG", label: "Nigerian Naira" },
41
+ { code: "EGP", symbol: "E£", locale: "ar-EG", label: "Egyptian Pound" },
42
+ { code: "AED", symbol: "د.إ", locale: "ar-AE", label: "UAE Dirham" },
43
+ { code: "SAR", symbol: "﷼", locale: "ar-SA", label: "Saudi Riyal" },
44
+ { code: "ILS", symbol: "₪", locale: "he-IL", label: "Israeli Shekel" },
45
+ { code: "THB", symbol: "฿", locale: "th-TH", label: "Thai Baht" },
46
+ { code: "IDR", symbol: "Rp", locale: "id-ID", label: "Indonesian Rupiah" },
47
+ { code: "MYR", symbol: "RM", locale: "ms-MY", label: "Malaysian Ringgit" },
48
+ { code: "PHP", symbol: "₱", locale: "en-PH", label: "Philippine Peso" },
49
+ { code: "VND", symbol: "₫", locale: "vi-VN", label: "Vietnamese Dong", fractionDigits: 0 },
50
+ { code: "TWD", symbol: "NT$", locale: "zh-TW", label: "New Taiwan Dollar" },
51
+ { code: "PKR", symbol: "₨", locale: "en-PK", label: "Pakistani Rupee" },
52
+ { code: "BDT", symbol: "৳", locale: "bn-BD", label: "Bangladeshi Taka" },
53
+ ];
54
+ /** The active option for `code`, always resolving to a real currency. */
55
+ function resolveActive(list, code) {
56
+ return list.find((c) => c.code === code) ?? list[0] ?? DEFAULT_CURRENCIES[0];
57
+ }
58
+ /** Cap digits well under `Number.MAX_SAFE_INTEGER` so `Number(digits)` stays exact. */
59
+ const MAX_DIGITS = 15;
60
+ const FORMATTER_CACHE = new Map();
61
+ function getFormatter(locale, fractionDigits) {
62
+ const key = `${locale}:${fractionDigits}`;
63
+ let fmt = FORMATTER_CACHE.get(key);
64
+ if (!fmt) {
65
+ fmt = new Intl.NumberFormat(locale, {
66
+ minimumFractionDigits: fractionDigits,
67
+ maximumFractionDigits: fractionDigits,
68
+ useGrouping: true,
69
+ });
70
+ FORMATTER_CACHE.set(key, fmt);
71
+ }
72
+ return fmt;
73
+ }
74
+ /** Resolve the minor-unit exponent, honouring an explicit override then `Intl`. */
75
+ function resolveFractionDigits(option) {
76
+ if (option.fractionDigits !== undefined)
77
+ return option.fractionDigits;
78
+ try {
79
+ return (new Intl.NumberFormat(option.locale, {
80
+ style: "currency",
81
+ currency: option.code,
82
+ }).resolvedOptions().maximumFractionDigits ?? 2);
83
+ }
84
+ catch {
85
+ return 2;
86
+ }
87
+ }
88
+ function clampCents(cents, min, max) {
89
+ let next = cents;
90
+ if (min !== undefined)
91
+ next = Math.max(next, min);
92
+ if (max !== undefined)
93
+ next = Math.min(next, max);
94
+ return next;
95
+ }
96
+ function formatCents(cents, fmt, fractionDigits) {
97
+ return fmt.format(cents / 10 ** fractionDigits);
98
+ }
99
+ export const CurrencyInput = forwardRef(({ value: valueProp, defaultValue = null, onValueChange, currencies, currency: currencyProp, defaultCurrency, onCurrencyChange, min = 0, max, invalid = false, disabled = false, selectorLabel = "Select currency", className, inputClassName, placeholder, "aria-label": ariaLabel, "aria-invalid": ariaInvalid, onFocus, onBlur, name, ...props }, ref) => {
100
+ const list = currencies && currencies.length > 0 ? currencies : DEFAULT_CURRENCIES;
101
+ // ---- currency (controlled / uncontrolled) ----
102
+ const isCurrencyControlled = currencyProp !== undefined;
103
+ const [uncontrolledCurrency, setUncontrolledCurrency] = useState(() => defaultCurrency ?? (list[0] ?? DEFAULT_CURRENCIES[0]).code);
104
+ const activeCode = isCurrencyControlled ? currencyProp : uncontrolledCurrency;
105
+ const active = useMemo(() => resolveActive(list, activeCode), [list, activeCode]);
106
+ const fractionDigits = useMemo(() => resolveFractionDigits(active), [active]);
107
+ const formatter = getFormatter(active.locale, fractionDigits);
108
+ // ---- amount in minor units (controlled / uncontrolled) ----
109
+ const isValueControlled = valueProp !== undefined;
110
+ const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);
111
+ const cents = isValueControlled ? valueProp : uncontrolledValue;
112
+ // The visible string is a pure function of the value — no separate text state
113
+ // is needed because the accumulator never has partial ("1.") intermediates.
114
+ const display = cents == null ? "" : formatCents(cents, formatter, fractionDigits);
115
+ const zeroHint = formatCents(0, formatter, fractionDigits);
116
+ const inputRef = useRef(null);
117
+ const pinCaret = useRef(false);
118
+ const setRef = useCallback((node) => {
119
+ inputRef.current = node;
120
+ if (typeof ref === "function")
121
+ ref(node);
122
+ else if (ref)
123
+ ref.current = node;
124
+ }, [ref]);
125
+ // Keep the caret at the very end after a keystroke reformats the string, so
126
+ // grouping separators shifting around never yank it mid-word.
127
+ useLayoutEffect(() => {
128
+ if (!pinCaret.current)
129
+ return;
130
+ pinCaret.current = false;
131
+ const el = inputRef.current;
132
+ if (el && document.activeElement === el) {
133
+ // After render `el.value === display`, so pinning to `display.length`
134
+ // parks the caret at the very end (and keeps `display` a real dep).
135
+ el.setSelectionRange(display.length, display.length);
136
+ }
137
+ }, [display]);
138
+ const commitValue = useCallback((nextCents) => {
139
+ if (!isValueControlled)
140
+ setUncontrolledValue(nextCents);
141
+ onValueChange?.(nextCents, {
142
+ currency: active.code,
143
+ formatted: nextCents == null ? "" : formatCents(nextCents, formatter, fractionDigits),
144
+ float: nextCents == null ? null : nextCents / 10 ** fractionDigits,
145
+ locale: active.locale,
146
+ });
147
+ }, [isValueControlled, onValueChange, active, formatter, fractionDigits]);
148
+ const handleChange = useCallback((event) => {
149
+ const el = event.target;
150
+ const digits = el.value.replace(/[^0-9]/g, "");
151
+ const pinEnd = () => {
152
+ el.value = display;
153
+ el.setSelectionRange(display.length, display.length);
154
+ };
155
+ // Overflow guard — reject and restore the canonical string.
156
+ if (digits.length > MAX_DIGITS) {
157
+ pinEnd();
158
+ return;
159
+ }
160
+ const prevDigits = display.replace(/[^0-9]/g, "");
161
+ const deleting = digits.length < prevDigits.length;
162
+ let nextCents;
163
+ if (digits === "") {
164
+ nextCents = null;
165
+ }
166
+ else {
167
+ // Live editing only clamps the ceiling; the floor is applied on blur so
168
+ // values on their way up to `min` aren't fought mid-type.
169
+ nextCents = clampCents(Number(digits), undefined, max);
170
+ // Backspacing a lone/leading zero clears the field instead of sticking.
171
+ if (deleting && nextCents === 0)
172
+ nextCents = null;
173
+ }
174
+ // No net change → React won't rewrite the DOM value, so force the
175
+ // canonical string + caret back ourselves (handles ceiling + leading 0s).
176
+ if (nextCents === cents) {
177
+ pinEnd();
178
+ return;
179
+ }
180
+ pinCaret.current = true;
181
+ commitValue(nextCents);
182
+ }, [display, cents, max, commitValue]);
183
+ const handleBlur = useCallback((event) => {
184
+ if (cents != null) {
185
+ const clamped = clampCents(cents, min, max);
186
+ if (clamped !== cents)
187
+ commitValue(clamped);
188
+ }
189
+ onBlur?.(event);
190
+ }, [cents, min, max, commitValue, onBlur]);
191
+ const handleCurrencyChange = useCallback((code) => {
192
+ if (code === activeCode)
193
+ return;
194
+ if (!isCurrencyControlled)
195
+ setUncontrolledCurrency(code);
196
+ const next = resolveActive(list, code);
197
+ const nextFraction = resolveFractionDigits(next);
198
+ const nextFmt = getFormatter(next.locale, nextFraction);
199
+ const meta = {
200
+ currency: next.code,
201
+ formatted: cents == null ? "" : formatCents(cents, nextFmt, nextFraction),
202
+ float: cents == null ? null : cents / 10 ** nextFraction,
203
+ locale: next.locale,
204
+ };
205
+ onCurrencyChange?.(code, meta);
206
+ // Surface the currency swap to value listeners too — the integer amount is
207
+ // unchanged, but the active currency/locale in `meta` now differs.
208
+ onValueChange?.(cents ?? null, meta);
209
+ }, [activeCode, isCurrencyControlled, list, cents, onCurrencyChange, onValueChange]);
210
+ const isInvalid = invalid || ariaInvalid === true || ariaInvalid === "true";
211
+ const singleCurrency = list.length <= 1;
212
+ return (_jsxs("div", { "data-slot": "currency-input", "data-disabled": disabled ? "" : undefined, "data-invalid": isInvalid ? "" : undefined, className: cn("flex h-10 w-full items-stretch overflow-hidden rounded-lg border border-border bg-surface-inset text-fg shadow-xs", "transition-[border-color,box-shadow] duration-150 ease-[var(--ease-out-quart)] motion-reduce:transition-none", "focus-within:border-primary focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2 focus-within:ring-offset-surface-base", isInvalid && "border-error focus-within:border-error focus-within:ring-error/40", disabled && "pointer-events-none opacity-50", className), children: [singleCurrency ? (_jsxs("span", { "data-slot": "currency-input-prefix", "aria-hidden": "true", className: "flex shrink-0 select-none items-center gap-1.5 border-e border-border px-3 text-sm", children: [_jsx("span", { className: "font-medium text-fg", children: active.symbol }), _jsx("span", { className: "text-xs font-medium text-fg-tertiary", children: active.code })] })) : (_jsxs(DropdownMenu, { modal: false, children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs("button", { type: "button", disabled: disabled, "aria-label": selectorLabel, "data-slot": "currency-input-selector", className: cn("group/trigger flex shrink-0 select-none items-center gap-1.5 border-e border-border pe-2.5 ps-3 text-sm outline-none", "transition-colors duration-150 hover:bg-surface-overlay focus-visible:bg-surface-overlay data-[state=open]:bg-surface-overlay motion-reduce:transition-none"), children: [_jsx("span", { className: "font-medium text-fg", children: active.symbol }), _jsx("span", { className: "text-xs font-medium text-fg-tertiary", children: active.code }), _jsx(ChevronDown, { "aria-hidden": "true", className: "size-3.5 text-fg-tertiary transition-transform duration-200 ease-[var(--ease-out-quart)] group-data-[state=open]/trigger:rotate-180 motion-reduce:transition-none" })] }) }), _jsxs(DropdownMenuContent, { align: "start", className: "max-h-72 min-w-[16rem] overflow-y-auto", onCloseAutoFocus: (event) => event.preventDefault(), children: [_jsx(DropdownMenuLabel, { children: "Currency" }), _jsx(DropdownMenuSeparator, {}), _jsx(DropdownMenuRadioGroup, { value: activeCode, onValueChange: handleCurrencyChange, children: list.map((option) => (_jsxs(DropdownMenuRadioItem, { value: option.code, children: [_jsx("span", { className: "min-w-[2.5ch] font-medium text-fg", children: option.symbol }), _jsx("span", { className: "font-medium", children: option.code }), option.label ? (_jsx("span", { className: "ms-auto ps-6 text-xs text-fg-tertiary", children: option.label })) : null] }, option.code))) })] })] })), _jsx("input", { ref: setRef, type: "text", inputMode: "decimal", autoComplete: "off", autoCorrect: "off", spellCheck: false, disabled: disabled, value: display, placeholder: placeholder ?? zeroHint, "aria-label": ariaLabel, "aria-invalid": isInvalid ? true : ariaInvalid, "data-slot": "currency-input-field", className: cn("min-w-0 flex-1 bg-transparent px-3 text-end text-sm text-fg tabular-nums", "outline-none placeholder:text-fg-tertiary disabled:pointer-events-none", "selection:bg-primary selection:text-primary-foreground", inputClassName), onChange: handleChange, onFocus: onFocus, onBlur: handleBlur, ...props }), name ? _jsx("input", { type: "hidden", name: name, value: cents ?? "", readOnly: true }) : null] }));
213
+ });
214
+ CurrencyInput.displayName = "CurrencyInput";
215
+ //# sourceMappingURL=currency-input.js.map
@@ -0,0 +1,232 @@
1
+ import { type Column, type ColumnDef, type ColumnFiltersState, type FilterFn, type OnChangeFn, type PaginationState, type Row, type RowSelectionState, type SortingState, type Table as TanstackTable, type VisibilityState } from "@tanstack/react-table";
2
+ import { type ComponentType, type ReactNode } from "react";
3
+ /** Cell padding density. `comfortable` matches the historical Table look. */
4
+ export type DataTableDensity = "comfortable" | "compact";
5
+ /** Option used to build a faceted (multi-select) column filter. */
6
+ export interface DataTableFacetOption {
7
+ label: string;
8
+ value: string;
9
+ /** Optional leading icon rendered before the label. */
10
+ icon?: ComponentType<{
11
+ className?: string;
12
+ }>;
13
+ }
14
+ /** Configuration for a single faceted column filter rendered in the toolbar. */
15
+ export interface DataTableFacetedFilter {
16
+ /** `id` of the column the filter targets. */
17
+ columnId: string;
18
+ /** Visible button label. */
19
+ title: string;
20
+ options: DataTableFacetOption[];
21
+ }
22
+ export interface DataTableProps<TData, TValue> {
23
+ columns: ColumnDef<TData, TValue>[];
24
+ data: TData[];
25
+ /** Show the toolbar with a global search field. */
26
+ searchable?: boolean;
27
+ /** Placeholder for the global search field. Defaults to "Search…". */
28
+ searchPlaceholder?: string;
29
+ /** Controlled global filter value. Implies a controlled toolbar search. */
30
+ globalFilter?: string;
31
+ /** Called when the global filter changes (controlled or uncontrolled). */
32
+ onGlobalFilterChange?: OnChangeFn<string>;
33
+ /** Faceted (multi-select) column filters rendered in the toolbar. */
34
+ facetedFilters?: DataTableFacetedFilter[];
35
+ /** Extra nodes rendered on the left side of the toolbar. */
36
+ toolbarStart?: ReactNode;
37
+ /** Extra nodes rendered on the right side of the toolbar (before the View menu). */
38
+ toolbarEnd?: ReactNode;
39
+ /** Show the "View" menu that toggles column visibility. */
40
+ enableColumnVisibility?: boolean;
41
+ /** Controlled column visibility state. */
42
+ columnVisibility?: VisibilityState;
43
+ /** Called when column visibility changes. */
44
+ onColumnVisibilityChange?: OnChangeFn<VisibilityState>;
45
+ /** Controlled sorting state. */
46
+ sorting?: SortingState;
47
+ /** Called when sorting changes. */
48
+ onSortingChange?: OnChangeFn<SortingState>;
49
+ /** Server-side sorting: skip the client sort model. */
50
+ manualSorting?: boolean;
51
+ /** Controlled column filters state. */
52
+ columnFilters?: ColumnFiltersState;
53
+ /** Called when column filters change. */
54
+ onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>;
55
+ /** Server-side filtering: skip the client filter model. */
56
+ manualFiltering?: boolean;
57
+ /** Show the pagination footer. */
58
+ pagination?: boolean;
59
+ /** Controlled pagination state. */
60
+ paginationState?: PaginationState;
61
+ /** Called when pagination changes (controlled). */
62
+ onPaginationChange?: OnChangeFn<PaginationState>;
63
+ /** Server-side pagination: provide `pageCount` or `rowCount`. */
64
+ manualPagination?: boolean;
65
+ /** Total page count for server-side pagination. */
66
+ pageCount?: number;
67
+ /** Total row count for server-side pagination (used to derive `pageCount`). */
68
+ rowCount?: number;
69
+ /** Initial page size when uncontrolled. Defaults to 10. */
70
+ initialPageSize?: number;
71
+ /** Page-size options offered in the footer select. Defaults to [10, 20, 30, 50]. */
72
+ pageSizeOptions?: number[];
73
+ /** Render a leading checkbox column with header select-all. */
74
+ enableRowSelection?: boolean | ((row: Row<TData>) => boolean);
75
+ /** Controlled row-selection state. */
76
+ rowSelection?: RowSelectionState;
77
+ /** Called when row selection changes. */
78
+ onRowSelectionChange?: OnChangeFn<RowSelectionState>;
79
+ /**
80
+ * Render slot for bulk actions. Receives the currently selected rows; shown
81
+ * in a bar above the table only while at least one row is selected.
82
+ */
83
+ bulkActions?: (rows: Row<TData>[]) => ReactNode;
84
+ /**
85
+ * Controlled cell padding density. When provided, the toolbar toggle becomes
86
+ * controlled and you must update it via {@link onDensityChange}. Omit it to
87
+ * let the table manage density internally (see {@link initialDensity}).
88
+ */
89
+ density?: DataTableDensity;
90
+ /** Called when the density toggle is pressed (controlled or uncontrolled). */
91
+ onDensityChange?: (density: DataTableDensity) => void;
92
+ /** Initial density when uncontrolled. Defaults to "comfortable". */
93
+ initialDensity?: DataTableDensity;
94
+ /** Show a comfortable/compact density toggle in the toolbar. */
95
+ enableDensityToggle?: boolean;
96
+ /** Show a CSV export button in the toolbar. */
97
+ enableCsvExport?: boolean;
98
+ /** Download file name (without extension). Defaults to "export". */
99
+ csvFileName?: string;
100
+ /** Render skeleton rows instead of data. */
101
+ loading?: boolean;
102
+ /** Number of skeleton rows while `loading`. Defaults to the page size or 5. */
103
+ loadingRowCount?: number;
104
+ /** Render an error state with an optional retry button. */
105
+ error?: ReactNode;
106
+ /** Called when the error-state retry button is pressed. */
107
+ onRetry?: () => void;
108
+ /** Custom empty-state content. Defaults to "No results.". */
109
+ emptyState?: ReactNode;
110
+ /** Class applied to the outer wrapper. */
111
+ className?: string;
112
+ /** Accessible label for the toolbar region. Defaults to "Table controls". */
113
+ toolbarLabel?: string;
114
+ /**
115
+ * Override any subset of the built-in UI strings (selection checkbox labels,
116
+ * pagination, empty/loading/retry states…) for localization. Defaults are
117
+ * English; see {@link DataTableLabels}.
118
+ */
119
+ labels?: Partial<DataTableLabels>;
120
+ /**
121
+ * Accessible name for each row-selection checkbox, built from the row data
122
+ * (e.g. `(row) => "Select " + row.original.name`). Takes precedence over
123
+ * `labels.selectRow`. Only applies to the selection column injected by
124
+ * `enableRowSelection`.
125
+ */
126
+ getRowLabel?: (row: Row<TData>) => string;
127
+ }
128
+ /**
129
+ * Every built-in user-facing string the table renders. Pass any subset via the
130
+ * `labels` prop to localize; omitted keys keep their English defaults.
131
+ * Interpolated strings are builder functions so word order stays free per
132
+ * locale.
133
+ */
134
+ export interface DataTableLabels {
135
+ /** `aria-label` of the header select-all checkbox. */
136
+ selectAllRows: string;
137
+ /** `aria-label` of a row checkbox. Receives the zero-based row index. */
138
+ selectRow: (rowIndex: number) => string;
139
+ /** Toolbar button that clears all active filters. */
140
+ reset: string;
141
+ /** Density toggle caption while compact (activating restores comfortable). */
142
+ densityComfortable: string;
143
+ /** Density toggle caption while comfortable (activating switches to compact). */
144
+ densityCompact: string;
145
+ /** Toolbar CSV export button. */
146
+ exportCsv: string;
147
+ /** Column-visibility menu trigger. */
148
+ view: string;
149
+ /** Column-visibility menu heading. */
150
+ toggleColumns: string;
151
+ /** Faceted-filter menu item that clears that filter. */
152
+ clearFilter: string;
153
+ /** `aria-label` of the bulk-actions bar. */
154
+ bulkActions: string;
155
+ /** Bulk-bar summary, e.g. "3 selected". */
156
+ selectedCount: (count: number) => string;
157
+ /** Selection summary under the table, e.g. "1 of 3 row(s) selected." */
158
+ selectedOfTotal: (selected: number, total: number) => string;
159
+ /** Label of the page-size select. */
160
+ rowsPerPage: string;
161
+ /** Visible row range, e.g. "1–10 of 42". */
162
+ rowRange: (first: number, last: number, total: number) => string;
163
+ /** Page position, e.g. "Page 2 of 5". */
164
+ pageOf: (page: number, pageCount: number) => string;
165
+ /** `aria-label` of the pagination nav. */
166
+ pagination: string;
167
+ /** `aria-label` of the first-page button. */
168
+ firstPage: string;
169
+ /** `aria-label` of the previous-page button. */
170
+ previousPage: string;
171
+ /** `aria-label` of the next-page button. */
172
+ nextPage: string;
173
+ /** `aria-label` of the last-page button. */
174
+ lastPage: string;
175
+ /** Default empty-state message (a custom `emptyState` node wins). */
176
+ noResults: string;
177
+ /** Error-state retry button. */
178
+ retry: string;
179
+ /** Polite screen-reader announcement while `loading`. */
180
+ loadingRows: string;
181
+ }
182
+ /** Reserved column id for the built-in selection checkbox column. */
183
+ export declare const SELECTION_COLUMN_ID = "__select__";
184
+ /**
185
+ * Case-insensitive "includes" global filter used by the toolbar search. It is
186
+ * exported so server-side callers can reuse the same matching semantics.
187
+ */
188
+ export declare const fuzzyTextFilter: FilterFn<unknown>;
189
+ /** Labels for the checkbox column built by {@link createSelectionColumn}. */
190
+ export interface DataTableSelectionColumnOptions<TData> {
191
+ /** `aria-label` of the header select-all checkbox. */
192
+ selectAllLabel?: string;
193
+ /**
194
+ * `aria-label` of each row checkbox. Defaults to "Select row {n}" (1-based)
195
+ * so every checkbox has a distinguishable accessible name.
196
+ */
197
+ getRowLabel?: (row: Row<TData>) => string;
198
+ }
199
+ /**
200
+ * Build the leading checkbox selection column. Exposed so callers who supply
201
+ * their own `columns` can prepend an identical, accessible selection column
202
+ * instead of relying on `enableRowSelection` injection.
203
+ */
204
+ export declare function createSelectionColumn<TData>(options?: DataTableSelectionColumnOptions<TData>): ColumnDef<TData, unknown>;
205
+ /** Convert the visible (filtered/sorted) rows of a table to a CSV string. */
206
+ export declare function tableRowsToCsv<TData>(table: TanstackTable<TData>): string;
207
+ /**
208
+ * `aria-label` builders for the sort button, one per sort state. Pass any
209
+ * subset to localize; each receives the column title.
210
+ */
211
+ export interface DataTableColumnHeaderLabels {
212
+ /** Unsorted — activation sorts ascending. */
213
+ sort: (title: string) => string;
214
+ /** Sorted ascending — activation sorts descending. */
215
+ sortedAscending: (title: string) => string;
216
+ /** Sorted descending — activation re-sorts ascending (never clears). */
217
+ sortedDescending: (title: string) => string;
218
+ }
219
+ export interface DataTableColumnHeaderProps<TData, TValue> {
220
+ column: Column<TData, TValue>;
221
+ title: string;
222
+ className?: string;
223
+ /** Localize the sort-button `aria-label`s. See {@link DataTableColumnHeaderLabels}. */
224
+ labels?: Partial<DataTableColumnHeaderLabels>;
225
+ }
226
+ /**
227
+ * Sortable header cell with a sort-state icon. Falls back to plain text when
228
+ * the column cannot sort, so it is safe to use everywhere.
229
+ */
230
+ export declare function DataTableColumnHeader<TData, TValue>({ column, title, className, labels, }: DataTableColumnHeaderProps<TData, TValue>): import("react").JSX.Element;
231
+ export declare function DataTable<TData, TValue>(props: DataTableProps<TData, TValue>): import("react").JSX.Element;
232
+ //# sourceMappingURL=data-table.d.ts.map