@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,222 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { MotionConfig, motion, useReducedMotion } from "motion/react";
4
+ import { Children, createContext, forwardRef, isValidElement, useCallback, useContext, useId, useRef, useState, } from "react";
5
+ import { cn } from "../lib/cn.js";
6
+ /**
7
+ * Spring used by the sliding thumb. The thumb shares a `layoutId` across the
8
+ * items, so when the active value changes motion physically slides the pill
9
+ * from the old option to the new one instead of cross-fading. A short, lightly
10
+ * bouncy spring reads as a crisp, tactile snap. When `useReducedMotion()` is
11
+ * true the layout animation is disabled automatically and the thumb simply
12
+ * cuts to its new position.
13
+ */
14
+ const SEGMENTED_THUMB_TRANSITION = {
15
+ type: "spring",
16
+ bounce: 0.15,
17
+ duration: 0.4,
18
+ };
19
+ const SegmentedControlContext = createContext(null);
20
+ function useSegmentedControl(component) {
21
+ const context = useContext(SegmentedControlContext);
22
+ if (context === null) {
23
+ throw new Error(`<${component}> must be used within <SegmentedControl>.`);
24
+ }
25
+ return context;
26
+ }
27
+ /**
28
+ * Root of the segmented control — a horizontal, single-select toggle with a
29
+ * sliding "thumb" behind the active option. Owns the selection (controlled or
30
+ * uncontrolled), provides the shared `layoutId` group id + roving-focus
31
+ * machinery through context, and renders the track container as a
32
+ * `role="radiogroup"`. Compose with {@link SegmentedControlItem}.
33
+ */
34
+ export const SegmentedControl = forwardRef(({ value: valueProp, defaultValue, onValueChange, size = "md", transition = SEGMENTED_THUMB_TRANSITION, reducedMotion: reducedMotionMode = "user", className, children, onKeyDown, ...props }, ref) => {
35
+ const groupId = useId();
36
+ const systemReducedMotion = useReducedMotion() ?? false;
37
+ const reducedMotion = reducedMotionMode === "never"
38
+ ? false
39
+ : reducedMotionMode === "always"
40
+ ? true
41
+ : systemReducedMotion;
42
+ const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);
43
+ const isControlled = valueProp !== undefined;
44
+ const value = isControlled ? valueProp : uncontrolledValue;
45
+ // Roving tab stop. Derived synchronously from children at render time so it
46
+ // is SSR-safe (no DOM/effects). The single tab stop must never sit on a
47
+ // disabled item, and must exist even when nothing is selected — so it points
48
+ // at the active item only when that item exists and is enabled, otherwise it
49
+ // falls back to the first enabled item (keeping the group keyboard-reachable
50
+ // on first Tab and satisfying WCAG 2.1.1).
51
+ let firstEnabledValue;
52
+ let activeIsEnabled = false;
53
+ Children.forEach(children, (child) => {
54
+ if (!isValidElement(child))
55
+ return;
56
+ const childValue = child.props?.value;
57
+ if (childValue === undefined)
58
+ return;
59
+ const childDisabled = child.props?.disabled === true;
60
+ if (firstEnabledValue === undefined && !childDisabled) {
61
+ firstEnabledValue = childValue;
62
+ }
63
+ if (childValue === value && !childDisabled) {
64
+ activeIsEnabled = true;
65
+ }
66
+ });
67
+ const rovingValue = activeIsEnabled ? value : firstEnabledValue;
68
+ // Items register here in DOM order so keyboard navigation can find the
69
+ // next/previous enabled option without imposing children ordering rules.
70
+ const itemsRef = useRef([]);
71
+ const register = useCallback((itemValue, node, disabled) => {
72
+ const items = itemsRef.current;
73
+ const existing = items.findIndex((item) => item.value === itemValue);
74
+ if (node === null) {
75
+ if (existing !== -1)
76
+ items.splice(existing, 1);
77
+ return;
78
+ }
79
+ const record = { value: itemValue, node, disabled };
80
+ if (existing === -1) {
81
+ items.push(record);
82
+ }
83
+ else {
84
+ items[existing] = record;
85
+ }
86
+ // Keep registry in document order so arrow-keys feel spatial.
87
+ items.sort((a, b) => {
88
+ if (!a.node || !b.node)
89
+ return 0;
90
+ const position = a.node.compareDocumentPosition(b.node);
91
+ return position & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;
92
+ });
93
+ }, []);
94
+ const setValue = useCallback((next) => {
95
+ if (next === value)
96
+ return;
97
+ if (!isControlled) {
98
+ setUncontrolledValue(next);
99
+ }
100
+ onValueChange?.(next);
101
+ }, [value, isControlled, onValueChange]);
102
+ const moveFocus = useCallback((from, direction) => {
103
+ const enabled = itemsRef.current.filter((item) => !item.disabled && item.node);
104
+ if (enabled.length === 0)
105
+ return;
106
+ let target;
107
+ if (direction === "first") {
108
+ target = enabled[0];
109
+ }
110
+ else if (direction === "last") {
111
+ target = enabled[enabled.length - 1];
112
+ }
113
+ else {
114
+ const currentIndex = enabled.findIndex((item) => item.value === from);
115
+ // Anchor on the focused item if it is enabled, otherwise on selection.
116
+ const anchor = currentIndex !== -1 ? currentIndex : enabled.findIndex((item) => item.value === value);
117
+ const base = anchor === -1 ? 0 : anchor;
118
+ const delta = direction === "next" ? 1 : -1;
119
+ const nextIndex = (base + delta + enabled.length) % enabled.length;
120
+ target = enabled[nextIndex];
121
+ }
122
+ if (!target?.node)
123
+ return;
124
+ target.node.focus();
125
+ // Roving radiogroup: moving the selection also activates it.
126
+ setValue(target.value);
127
+ }, [value, setValue]);
128
+ return (_jsx(SegmentedControlContext.Provider, { value: {
129
+ value,
130
+ rovingValue,
131
+ setValue,
132
+ groupId,
133
+ size,
134
+ transition,
135
+ reducedMotion,
136
+ moveFocus,
137
+ register,
138
+ }, children: _jsx(MotionConfig, { reducedMotion: reducedMotionMode, children: _jsx("div", { ref: ref, "data-slot": "segmented-control", "data-size": size, role: "radiogroup", onKeyDown: onKeyDown, className: cn("relative isolate inline-flex items-stretch gap-1 rounded-lg border border-border bg-surface-overlay p-1 align-middle", className), ...props, children: children }) }) }));
139
+ });
140
+ SegmentedControl.displayName = "SegmentedControl";
141
+ const SIZE_CLASSES = {
142
+ sm: "px-2.5 py-1 text-xs",
143
+ md: "px-3 py-1.5 text-sm",
144
+ };
145
+ /**
146
+ * A single option in a {@link SegmentedControl}. Renders a `role="radio"`
147
+ * button; when active it hosts the shared `motion.div` thumb (an `absolute
148
+ * inset-0` raised pill) that slides between options via `layoutId`. The label
149
+ * is layered above the thumb with `relative z-10`. Roving focus + radiogroup
150
+ * keyboard semantics are handled by the root.
151
+ */
152
+ export const SegmentedControlItem = forwardRef(({ value, children, disabled = false, className, onClick, onKeyDown, ...props }, forwardedRef) => {
153
+ const { value: activeValue, rovingValue, setValue, groupId, size, transition, reducedMotion, moveFocus, register, } = useSegmentedControl("SegmentedControlItem");
154
+ const isActive = activeValue === value;
155
+ const innerRef = useRef(null);
156
+ const setRefs = useCallback((node) => {
157
+ innerRef.current = node;
158
+ register(value, node, disabled);
159
+ if (typeof forwardedRef === "function") {
160
+ forwardedRef(node);
161
+ }
162
+ else if (forwardedRef) {
163
+ forwardedRef.current = node;
164
+ }
165
+ }, [register, value, disabled, forwardedRef]);
166
+ const handleKeyDown = useCallback((event) => {
167
+ onKeyDown?.(event);
168
+ if (event.defaultPrevented)
169
+ return;
170
+ // The track is inline-flex, so under `dir="rtl"` the items are mirrored.
171
+ // WAI-ARIA radiogroup requires Right Arrow to move to the visually-right
172
+ // option, so swap the horizontal arrows when the writing direction is RTL.
173
+ const rtl = getComputedStyle(event.currentTarget).direction === "rtl";
174
+ switch (event.key) {
175
+ case "ArrowRight":
176
+ event.preventDefault();
177
+ moveFocus(value, rtl ? "prev" : "next");
178
+ break;
179
+ case "ArrowDown":
180
+ event.preventDefault();
181
+ moveFocus(value, "next");
182
+ break;
183
+ case "ArrowLeft":
184
+ event.preventDefault();
185
+ moveFocus(value, rtl ? "next" : "prev");
186
+ break;
187
+ case "ArrowUp":
188
+ event.preventDefault();
189
+ moveFocus(value, "prev");
190
+ break;
191
+ case "Home":
192
+ event.preventDefault();
193
+ moveFocus(value, "first");
194
+ break;
195
+ case "End":
196
+ event.preventDefault();
197
+ moveFocus(value, "last");
198
+ break;
199
+ default:
200
+ break;
201
+ }
202
+ }, [onKeyDown, moveFocus, value]);
203
+ return (_jsxs("button", { ref: setRefs, type: "button", "data-slot": "segmented-control-item", "data-state": isActive ? "active" : "inactive", role: "radio", "aria-checked": isActive, disabled: disabled,
204
+ // Roving tabindex: exactly one item owns the tab stop — the active item
205
+ // when it is enabled, else the first enabled item (see `rovingValue`).
206
+ // A disabled item never becomes the tab stop, so the group stays
207
+ // keyboard-reachable even when the selected option is disabled or absent.
208
+ tabIndex: !disabled && value === rovingValue ? 0 : -1, onClick: (event) => {
209
+ onClick?.(event);
210
+ if (event.defaultPrevented)
211
+ return;
212
+ setValue(value);
213
+ }, onKeyDown: handleKeyDown, className: cn("relative inline-flex select-none items-center justify-center gap-1.5 whitespace-nowrap rounded-md font-medium transition-colors", "text-fg-secondary hover:text-fg", "outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", "disabled:pointer-events-none disabled:opacity-50", isActive && "text-fg", SIZE_CLASSES[size], "[&_svg]:size-4", className), ...props, children: [isActive ? (_jsx(motion.div
214
+ // Shared id makes this the *same* element across items, so it
215
+ // slides between positions instead of fading in/out.
216
+ , {
217
+ // Shared id makes this the *same* element across items, so it
218
+ // slides between positions instead of fading in/out.
219
+ layoutId: `segmented-thumb-${groupId}`, "data-slot": "segmented-control-thumb", "aria-hidden": true, className: "absolute inset-0 z-0 rounded-md bg-surface-floating shadow-sm", transition: reducedMotion ? { duration: 0 } : transition })) : null, _jsx("span", { className: "relative z-10 inline-flex items-center gap-1.5", children: children })] }));
220
+ });
221
+ SegmentedControlItem.displayName = "SegmentedControlItem";
222
+ //# sourceMappingURL=segmented-control.js.map
@@ -0,0 +1,12 @@
1
+ import * as SelectPrimitive from "@radix-ui/react-select";
2
+ export declare const Select: import("react").FC<SelectPrimitive.SelectProps>;
3
+ export declare const SelectGroup: import("react").ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & import("react").RefAttributes<HTMLDivElement>>;
4
+ export declare const SelectValue: import("react").ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & import("react").RefAttributes<HTMLSpanElement>>;
5
+ export declare const SelectTrigger: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
6
+ export declare const SelectScrollUpButton: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export declare const SelectScrollDownButton: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
8
+ export declare const SelectContent: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
9
+ export declare const SelectLabel: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10
+ export declare const SelectItem: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
11
+ export declare const SelectSeparator: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
12
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1,43 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as SelectPrimitive from "@radix-ui/react-select";
4
+ import { Check, ChevronDown, ChevronUp } from "lucide-react";
5
+ import { forwardRef } from "react";
6
+ import { cn } from "../lib/cn.js";
7
+ export const Select = SelectPrimitive.Root;
8
+ export const SelectGroup = SelectPrimitive.Group;
9
+ export const SelectValue = SelectPrimitive.Value;
10
+ export const SelectTrigger = forwardRef(({ className, children, ...props }, ref) => {
11
+ return (_jsxs(SelectPrimitive.Trigger, { ref: ref, "data-slot": "select-trigger", className: cn("flex h-10 w-full items-center justify-between gap-2 rounded-lg border border-border bg-surface-inset px-3 py-2 text-sm text-fg outline-none data-[placeholder]:text-fg-tertiary focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base disabled:opacity-50 disabled:pointer-events-none aria-invalid:border-error aria-invalid:ring-2 aria-invalid:ring-error/30 [&_svg]:size-4 [&_svg]:opacity-60", className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDown, {}) })] }));
12
+ });
13
+ SelectTrigger.displayName = "SelectTrigger";
14
+ export const SelectScrollUpButton = forwardRef(({ className, ...props }, ref) => {
15
+ return (_jsx(SelectPrimitive.ScrollUpButton, { ref: ref, "data-slot": "select-scroll-up-button", className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: _jsx(ChevronUp, { className: "size-4 opacity-60" }) }));
16
+ });
17
+ SelectScrollUpButton.displayName = "SelectScrollUpButton";
18
+ export const SelectScrollDownButton = forwardRef(({ className, ...props }, ref) => {
19
+ return (_jsx(SelectPrimitive.ScrollDownButton, { ref: ref, "data-slot": "select-scroll-down-button", className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: _jsx(ChevronDown, { className: "size-4 opacity-60" }) }));
20
+ });
21
+ SelectScrollDownButton.displayName = "SelectScrollDownButton";
22
+ export const SelectContent = forwardRef(({ className, children, position = "popper", ...props }, ref) => {
23
+ return (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { ref: ref, "data-slot": "select-content", position: position, className: cn("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-lg border border-border bg-surface-floating text-fg shadow-lg data-[state=open]:animate-[cronus-pop-in_180ms_var(--ease-out-quart)_both] data-[state=closed]:animate-[cronus-pop-out_140ms_var(--ease-out-quart)_both]",
24
+ // Intentionally physical: Radix's data-side is a physical side, and
25
+ // the nudge moves the popper away from the trigger on that side.
26
+ position === "popper" &&
27
+ "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className), ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: cn("p-1", position === "popper" &&
28
+ "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"), children: children }), _jsx(SelectScrollDownButton, {})] }) }));
29
+ });
30
+ SelectContent.displayName = "SelectContent";
31
+ export const SelectLabel = forwardRef(({ className, ...props }, ref) => {
32
+ return (_jsx(SelectPrimitive.Label, { ref: ref, "data-slot": "select-label", className: cn("px-2 py-1.5 text-xs text-fg-tertiary", className), ...props }));
33
+ });
34
+ SelectLabel.displayName = "SelectLabel";
35
+ export const SelectItem = forwardRef(({ className, children, ...props }, ref) => {
36
+ return (_jsxs(SelectPrimitive.Item, { ref: ref, "data-slot": "select-item", className: cn("relative flex w-full cursor-default select-none items-center gap-2 rounded-md py-1.5 pe-2 ps-8 text-sm outline-none focus:bg-surface-overlay focus:text-fg data-[disabled]:opacity-50 data-[disabled]:pointer-events-none", className), ...props, children: [_jsx("span", { className: "absolute start-2 flex size-4 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(Check, { className: "size-4" }) }) }), _jsx(SelectPrimitive.ItemText, { children: children })] }));
37
+ });
38
+ SelectItem.displayName = "SelectItem";
39
+ export const SelectSeparator = forwardRef(({ className, ...props }, ref) => {
40
+ return (_jsx(SelectPrimitive.Separator, { ref: ref, "data-slot": "select-separator", className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
41
+ });
42
+ SelectSeparator.displayName = "SelectSeparator";
43
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1,3 @@
1
+ import * as SeparatorPrimitive from "@radix-ui/react-separator";
2
+ export declare const Separator: import("react").ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
3
+ //# sourceMappingURL=separator.d.ts.map
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as SeparatorPrimitive from "@radix-ui/react-separator";
3
+ import { forwardRef } from "react";
4
+ import { cn } from "../lib/cn.js";
5
+ export const Separator = forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => {
6
+ return (_jsx(SeparatorPrimitive.Root, { ref: ref, "data-slot": "separator", decorative: decorative, orientation: orientation, className: cn("shrink-0 bg-border", orientation === "horizontal" ? "h-px w-full" : "h-full w-px", className), ...props }));
7
+ });
8
+ Separator.displayName = "Separator";
9
+ //# sourceMappingURL=separator.js.map
@@ -0,0 +1,25 @@
1
+ import * as SheetPrimitive from "@radix-ui/react-dialog";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ import { type ComponentPropsWithoutRef, type HTMLAttributes } from "react";
4
+ export declare const Sheet: import("react").FC<SheetPrimitive.DialogProps>;
5
+ export declare const SheetTrigger: import("react").ForwardRefExoticComponent<SheetPrimitive.DialogTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
6
+ export declare const SheetClose: import("react").ForwardRefExoticComponent<SheetPrimitive.DialogCloseProps & import("react").RefAttributes<HTMLButtonElement>>;
7
+ declare const sheetVariants: (props?: ({
8
+ side?: "bottom" | "left" | "right" | "top" | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
+ export interface SheetContentProps extends ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {
11
+ side?: "top" | "right" | "bottom" | "left";
12
+ }
13
+ export declare const SheetContent: import("react").ForwardRefExoticComponent<SheetContentProps & import("react").RefAttributes<HTMLDivElement>>;
14
+ export declare const SheetHeader: {
15
+ ({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
16
+ displayName: string;
17
+ };
18
+ export declare const SheetFooter: {
19
+ ({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
20
+ displayName: string;
21
+ };
22
+ export declare const SheetTitle: import("react").ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & import("react").RefAttributes<HTMLHeadingElement>, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
23
+ export declare const SheetDescription: import("react").ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & import("react").RefAttributes<HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
24
+ export { sheetVariants };
25
+ //# sourceMappingURL=sheet.d.ts.map
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as SheetPrimitive from "@radix-ui/react-dialog";
4
+ import { cva } from "class-variance-authority";
5
+ import { X } from "lucide-react";
6
+ import { forwardRef, } from "react";
7
+ import { cn } from "../lib/cn.js";
8
+ export const Sheet = SheetPrimitive.Root;
9
+ export const SheetTrigger = SheetPrimitive.Trigger;
10
+ export const SheetClose = SheetPrimitive.Close;
11
+ const SheetOverlay = forwardRef(({ className, ...props }, ref) => {
12
+ return (_jsx(SheetPrimitive.Overlay, { ref: ref, "data-slot": "sheet-overlay", className: cn("fixed inset-0 z-50 bg-black/50 backdrop-blur-sm data-[state=open]:animate-[cronus-overlay-in_300ms_var(--ease-out-quart)] data-[state=closed]:animate-[cronus-overlay-out_240ms_var(--ease-out-quart)]", className), ...props }));
13
+ });
14
+ SheetOverlay.displayName = "SheetOverlay";
15
+ const sheetVariants = cva("fixed z-50 flex flex-col gap-4 bg-surface-floating p-6 text-fg shadow-lg border-border", {
16
+ variants: {
17
+ side: {
18
+ top: "inset-x-0 top-0 border-b w-full data-[state=open]:animate-[cronus-slide-in-top_320ms_var(--ease-out-quart)_both] data-[state=closed]:animate-[cronus-slide-out-top_260ms_var(--ease-out-quart)_both]",
19
+ bottom: "inset-x-0 bottom-0 border-t w-full data-[state=open]:animate-[cronus-slide-in-bottom_320ms_var(--ease-out-quart)_both] data-[state=closed]:animate-[cronus-slide-out-bottom_260ms_var(--ease-out-quart)_both]",
20
+ left: "inset-y-0 left-0 border-r h-full w-3/4 max-w-sm data-[state=open]:animate-[cronus-slide-in-left_320ms_var(--ease-out-quart)_both] data-[state=closed]:animate-[cronus-slide-out-left_260ms_var(--ease-out-quart)_both]",
21
+ right: "inset-y-0 right-0 border-l h-full w-3/4 max-w-sm data-[state=open]:animate-[cronus-slide-in-right_320ms_var(--ease-out-quart)_both] data-[state=closed]:animate-[cronus-slide-out-right_260ms_var(--ease-out-quart)_both]",
22
+ },
23
+ },
24
+ defaultVariants: { side: "right" },
25
+ });
26
+ export const SheetContent = forwardRef(({ className, children, side = "right", ...props }, ref) => {
27
+ return (_jsxs(SheetPrimitive.Portal, { children: [_jsx(SheetOverlay, {}), _jsxs(SheetPrimitive.Content, { ref: ref, "data-slot": "sheet-content", className: cn(sheetVariants({ side }), className), ...props, children: [children, _jsxs(SheetPrimitive.Close, { "data-slot": "sheet-close", className: "absolute right-4 top-4 rounded-md text-fg-tertiary outline-none transition-opacity hover:text-fg focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base disabled:pointer-events-none", children: [_jsx(X, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })] })] }));
28
+ });
29
+ SheetContent.displayName = "SheetContent";
30
+ export const SheetHeader = ({ className, ...props }) => {
31
+ return (_jsx("div", { "data-slot": "sheet-header", className: cn("flex flex-col gap-1.5 text-center sm:text-left", className), ...props }));
32
+ };
33
+ SheetHeader.displayName = "SheetHeader";
34
+ export const SheetFooter = ({ className, ...props }) => {
35
+ return (_jsx("div", { "data-slot": "sheet-footer", className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className), ...props }));
36
+ };
37
+ SheetFooter.displayName = "SheetFooter";
38
+ export const SheetTitle = forwardRef(({ className, ...props }, ref) => {
39
+ return (_jsx(SheetPrimitive.Title, { ref: ref, "data-slot": "sheet-title", className: cn("font-display text-lg font-semibold text-fg", className), ...props }));
40
+ });
41
+ SheetTitle.displayName = "SheetTitle";
42
+ export const SheetDescription = forwardRef(({ className, ...props }, ref) => {
43
+ return (_jsx(SheetPrimitive.Description, { ref: ref, "data-slot": "sheet-description", className: cn("text-sm text-fg-secondary", className), ...props }));
44
+ });
45
+ SheetDescription.displayName = "SheetDescription";
46
+ export { sheetVariants };
47
+ //# sourceMappingURL=sheet.js.map
@@ -0,0 +1,3 @@
1
+ import { type HTMLAttributes } from "react";
2
+ export declare const Shimmer: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
3
+ //# sourceMappingURL=shimmer.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { cn } from "../lib/cn.js";
4
+ export const Shimmer = forwardRef(({ className, children, ...props }, ref) => {
5
+ return (_jsxs("div", { ref: ref, "data-slot": "shimmer", "aria-hidden": true, className: cn("relative overflow-hidden rounded-md bg-surface-overlay", className), ...props, children: [_jsx("div", { className: "absolute inset-0 -translate-x-full animate-shimmer bg-gradient-to-r from-transparent via-fg/10 to-transparent" }), children] }));
6
+ });
7
+ Shimmer.displayName = "Shimmer";
8
+ //# sourceMappingURL=shimmer.js.map
@@ -0,0 +1,20 @@
1
+ import type { HTMLAttributes, Ref } from "react";
2
+ export interface ShinyTextProps extends HTMLAttributes<HTMLSpanElement> {
3
+ ref?: Ref<HTMLSpanElement>;
4
+ asChild?: boolean;
5
+ /**
6
+ * Seconds for one sheen sweep.
7
+ * @default 3
8
+ */
9
+ duration?: number;
10
+ }
11
+ /**
12
+ * A metallic sheen that sweeps across live text. The copy stays selectable
13
+ * and readable; the sheen is a `background-clip: text` overlay. Reduced-motion
14
+ * visitors see the resting fill with no sweep.
15
+ */
16
+ export declare function ShinyText({ ref, className, asChild, duration, style, children, ...props }: ShinyTextProps): import("react").JSX.Element;
17
+ export declare namespace ShinyText {
18
+ var displayName: string;
19
+ }
20
+ //# sourceMappingURL=shiny-text.d.ts.map
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Slot } from "@radix-ui/react-slot";
3
+ import { cn } from "../lib/cn.js";
4
+ const SHINY_KEYFRAMES = "@keyframes cronus-shiny-text{0%{background-position:100% 0}100%{background-position:-100% 0}}";
5
+ function finiteOr(value, fallback) {
6
+ return Number.isFinite(value) ? value : fallback;
7
+ }
8
+ /**
9
+ * A metallic sheen that sweeps across live text. The copy stays selectable
10
+ * and readable; the sheen is a `background-clip: text` overlay. Reduced-motion
11
+ * visitors see the resting fill with no sweep.
12
+ */
13
+ export function ShinyText({ ref, className, asChild = false, duration = 3, style, children, ...props }) {
14
+ const Comp = asChild ? Slot : "span";
15
+ const cycle = Math.max(0.8, finiteOr(duration, 3));
16
+ const shinyStyle = { "--shiny-duration": `${cycle}s` };
17
+ return (_jsxs("span", { "data-slot": "shiny-text", className: "contents", children: [_jsx("style", { children: SHINY_KEYFRAMES }), _jsx(Comp, { ref: ref, className: cn("inline bg-[length:200%_100%] bg-clip-text text-transparent [animation-duration:var(--shiny-duration)] [animation-iteration-count:infinite] [animation-name:cronus-shiny-text] [animation-timing-function:linear] motion-reduce:[animation-name:none]", className), style: {
18
+ ...shinyStyle,
19
+ backgroundImage: "linear-gradient(90deg, var(--cronus-fg-tertiary) 0%, var(--cronus-fg-tertiary) 40%, var(--cronus-fg) 50%, var(--cronus-fg-tertiary) 60%, var(--cronus-fg-tertiary) 100%)",
20
+ ...style,
21
+ }, ...props, children: children })] }));
22
+ }
23
+ ShinyText.displayName = "ShinyText";
24
+ //# sourceMappingURL=shiny-text.js.map
@@ -0,0 +1,92 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import { type ButtonHTMLAttributes, type ComponentPropsWithoutRef, type HTMLAttributes, type ReactNode } from "react";
3
+ import { TooltipContent } from "./tooltip.js";
4
+ type SidebarState = "expanded" | "collapsed";
5
+ export interface SidebarContextValue {
6
+ /** Desktop expanded/collapsed state. */
7
+ state: SidebarState;
8
+ /** Whether the desktop sidebar is expanded. */
9
+ open: boolean;
10
+ setOpen: (open: boolean) => void;
11
+ /** Whether the viewport is below the mobile breakpoint. */
12
+ isMobile: boolean;
13
+ /** Whether the mobile (Sheet) sidebar is open. */
14
+ openMobile: boolean;
15
+ setOpenMobile: (open: boolean) => void;
16
+ /** Toggle the relevant sidebar (mobile sheet on small screens, otherwise desktop). */
17
+ toggleSidebar: () => void;
18
+ }
19
+ export declare function useSidebar(): SidebarContextValue;
20
+ export interface SidebarProviderProps extends HTMLAttributes<HTMLDivElement> {
21
+ /** Default desktop open state when uncontrolled. */
22
+ defaultOpen?: boolean;
23
+ /** Controlled desktop open state. */
24
+ open?: boolean;
25
+ onOpenChange?: (open: boolean) => void;
26
+ /** Enable the Ctrl/Cmd+B toggle shortcut. */
27
+ enableKeyboardShortcut?: boolean;
28
+ }
29
+ export declare const SidebarProvider: import("react").ForwardRefExoticComponent<SidebarProviderProps & import("react").RefAttributes<HTMLDivElement>>;
30
+ export interface SidebarProps extends HTMLAttributes<HTMLDivElement> {
31
+ side?: "left" | "right";
32
+ variant?: "sidebar" | "floating" | "inset";
33
+ collapsible?: "offcanvas" | "icon" | "none";
34
+ /** Accessible label for the navigation landmark. */
35
+ "aria-label"?: string;
36
+ }
37
+ export declare const Sidebar: import("react").ForwardRefExoticComponent<SidebarProps & import("react").RefAttributes<HTMLDivElement>>;
38
+ export interface SidebarTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
39
+ /** Render through a custom element while keeping the toggle behavior. */
40
+ asChild?: boolean;
41
+ }
42
+ export declare const SidebarTrigger: import("react").ForwardRefExoticComponent<SidebarTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
43
+ /**
44
+ * A thin draggable-looking rail rendered along the inner edge of the sidebar
45
+ * that toggles collapse on click. Hidden on mobile (the Sheet handles dismissal).
46
+ */
47
+ export declare const SidebarRail: import("react").ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>;
48
+ /**
49
+ * Content region sibling to a `variant="inset"` sidebar. Provides the rounded,
50
+ * inset surface that pairs with the floating/inset sidebar styles. Not a
51
+ * landmark — the consumer owns the `<main>` per route.
52
+ */
53
+ export declare const SidebarInset: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
54
+ export declare const SidebarHeader: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
55
+ export declare const SidebarFooter: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
56
+ /**
57
+ * Scrollable middle region. Uses ScrollArea so long nav trees stay accessible
58
+ * without clipping. Collapses its overflow padding in icon mode.
59
+ */
60
+ export declare const SidebarContent: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
61
+ export declare const SidebarSeparator: import("react").ForwardRefExoticComponent<Omit<Omit<import("@radix-ui/react-separator").SeparatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
62
+ export declare const SidebarGroup: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
63
+ export interface SidebarGroupLabelProps extends HTMLAttributes<HTMLDivElement> {
64
+ asChild?: boolean;
65
+ }
66
+ export declare const SidebarGroupLabel: import("react").ForwardRefExoticComponent<SidebarGroupLabelProps & import("react").RefAttributes<HTMLDivElement>>;
67
+ export declare const SidebarGroupContent: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;
68
+ export declare const SidebarMenu: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & import("react").RefAttributes<HTMLUListElement>>;
69
+ export declare const SidebarMenuItem: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLLIElement> & import("react").RefAttributes<HTMLLIElement>>;
70
+ declare const sidebarMenuButtonVariants: (props?: ({
71
+ size?: "sm" | "md" | "lg" | null | undefined;
72
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
73
+ export interface SidebarMenuButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof sidebarMenuButtonVariants> {
74
+ asChild?: boolean;
75
+ isActive?: boolean;
76
+ /**
77
+ * Tooltip content shown only when the sidebar is collapsed to icons on
78
+ * desktop. Accepts a string or full `TooltipContent` props.
79
+ */
80
+ tooltip?: ReactNode | ComponentPropsWithoutRef<typeof TooltipContent>;
81
+ }
82
+ export declare const SidebarMenuButton: import("react").ForwardRefExoticComponent<SidebarMenuButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
83
+ export declare const SidebarMenuSub: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & import("react").RefAttributes<HTMLUListElement>>;
84
+ export declare const SidebarMenuSubItem: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLLIElement> & import("react").RefAttributes<HTMLLIElement>>;
85
+ export interface SidebarMenuSubButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
86
+ asChild?: boolean;
87
+ isActive?: boolean;
88
+ size?: "sm" | "md";
89
+ }
90
+ export declare const SidebarMenuSubButton: import("react").ForwardRefExoticComponent<SidebarMenuSubButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
91
+ export { sidebarMenuButtonVariants };
92
+ //# sourceMappingURL=sidebar.d.ts.map