@astryxdesign/lab 0.0.0-bootstrap.0 → 0.1.2-canary.04e71b2

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 (513) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/LICENSE +21 -0
  3. package/README.md +47 -1
  4. package/dist/Chart/Chart.d.ts +77 -0
  5. package/dist/Chart/Chart.d.ts.map +1 -0
  6. package/dist/Chart/Chart.js +247 -0
  7. package/dist/Chart/ChartArea.d.ts +28 -0
  8. package/dist/Chart/ChartArea.d.ts.map +1 -0
  9. package/dist/Chart/ChartArea.js +71 -0
  10. package/dist/Chart/ChartAxis.d.ts +27 -0
  11. package/dist/Chart/ChartAxis.d.ts.map +1 -0
  12. package/dist/Chart/ChartAxis.js +147 -0
  13. package/dist/Chart/ChartBar.d.ts +19 -0
  14. package/dist/Chart/ChartBar.d.ts.map +1 -0
  15. package/dist/Chart/ChartBar.js +61 -0
  16. package/dist/Chart/ChartBrush.d.ts +59 -0
  17. package/dist/Chart/ChartBrush.d.ts.map +1 -0
  18. package/dist/Chart/ChartBrush.js +197 -0
  19. package/dist/Chart/ChartCandlestick.d.ts +50 -0
  20. package/dist/Chart/ChartCandlestick.d.ts.map +1 -0
  21. package/dist/Chart/ChartCandlestick.js +138 -0
  22. package/dist/Chart/ChartContext.d.ts +5 -0
  23. package/dist/Chart/ChartContext.d.ts.map +1 -0
  24. package/dist/Chart/ChartContext.js +20 -0
  25. package/dist/Chart/ChartDot.d.ts +18 -0
  26. package/dist/Chart/ChartDot.d.ts.map +1 -0
  27. package/dist/Chart/ChartDot.js +43 -0
  28. package/dist/Chart/ChartDotGL.d.ts +16 -0
  29. package/dist/Chart/ChartDotGL.d.ts.map +1 -0
  30. package/dist/Chart/ChartDotGL.js +135 -0
  31. package/dist/Chart/ChartDotGLInteractive.d.ts +41 -0
  32. package/dist/Chart/ChartDotGLInteractive.d.ts.map +1 -0
  33. package/dist/Chart/ChartDotGLInteractive.js +446 -0
  34. package/dist/Chart/ChartErrorBar.d.ts +23 -0
  35. package/dist/Chart/ChartErrorBar.d.ts.map +1 -0
  36. package/dist/Chart/ChartErrorBar.js +68 -0
  37. package/dist/Chart/ChartGrid.d.ts +17 -0
  38. package/dist/Chart/ChartGrid.d.ts.map +1 -0
  39. package/dist/Chart/ChartGrid.js +67 -0
  40. package/dist/Chart/ChartHeatmapGL.d.ts +10 -0
  41. package/dist/Chart/ChartHeatmapGL.d.ts.map +1 -0
  42. package/dist/Chart/ChartHeatmapGL.js +171 -0
  43. package/dist/Chart/ChartLegend.d.ts +60 -0
  44. package/dist/Chart/ChartLegend.d.ts.map +1 -0
  45. package/dist/Chart/ChartLegend.js +161 -0
  46. package/dist/Chart/ChartLine.d.ts +23 -0
  47. package/dist/Chart/ChartLine.d.ts.map +1 -0
  48. package/dist/Chart/ChartLine.js +64 -0
  49. package/dist/Chart/ChartReferenceLine.d.ts +11 -0
  50. package/dist/Chart/ChartReferenceLine.d.ts.map +1 -0
  51. package/dist/Chart/ChartReferenceLine.js +109 -0
  52. package/dist/Chart/ChartSelect.d.ts +9 -0
  53. package/dist/Chart/ChartSelect.d.ts.map +1 -0
  54. package/dist/Chart/ChartSelect.js +90 -0
  55. package/dist/Chart/ChartStreamGL.d.ts +17 -0
  56. package/dist/Chart/ChartStreamGL.d.ts.map +1 -0
  57. package/dist/Chart/ChartStreamGL.js +157 -0
  58. package/dist/Chart/ChartTooltip.d.ts +85 -0
  59. package/dist/Chart/ChartTooltip.d.ts.map +1 -0
  60. package/dist/Chart/ChartTooltip.js +335 -0
  61. package/dist/Chart/ChartZoom.d.ts +23 -0
  62. package/dist/Chart/ChartZoom.d.ts.map +1 -0
  63. package/dist/Chart/ChartZoom.js +314 -0
  64. package/dist/Chart/formatters.d.ts +33 -0
  65. package/dist/Chart/formatters.d.ts.map +1 -0
  66. package/dist/Chart/formatters.js +101 -0
  67. package/dist/Chart/getChartColors.d.ts +56 -0
  68. package/dist/Chart/getChartColors.d.ts.map +1 -0
  69. package/dist/Chart/getChartColors.js +150 -0
  70. package/dist/Chart/index.d.ts +29 -0
  71. package/dist/Chart/index.d.ts.map +1 -0
  72. package/dist/Chart/index.js +29 -0
  73. package/dist/Chart/m4.d.ts +36 -0
  74. package/dist/Chart/m4.d.ts.map +1 -0
  75. package/dist/Chart/m4.js +106 -0
  76. package/dist/Chart/types.d.ts +55 -0
  77. package/dist/Chart/types.d.ts.map +1 -0
  78. package/dist/Chart/types.js +1 -0
  79. package/dist/Chart/useChartColors.d.ts +16 -0
  80. package/dist/Chart/useChartColors.d.ts.map +1 -0
  81. package/dist/Chart/useChartColors.js +30 -0
  82. package/dist/Chart/useChartRange.d.ts +50 -0
  83. package/dist/Chart/useChartRange.d.ts.map +1 -0
  84. package/dist/Chart/useChartRange.js +90 -0
  85. package/dist/Chart/utils.d.ts +15 -0
  86. package/dist/Chart/utils.d.ts.map +1 -0
  87. package/dist/Chart/utils.js +24 -0
  88. package/dist/Chart/webgl.d.ts +62 -0
  89. package/dist/Chart/webgl.d.ts.map +1 -0
  90. package/dist/Chart/webgl.js +169 -0
  91. package/dist/ChartV2/Chart.d.ts +32 -0
  92. package/dist/ChartV2/Chart.d.ts.map +1 -0
  93. package/dist/ChartV2/Chart.js +281 -0
  94. package/dist/ChartV2/ChartAxis.d.ts +36 -0
  95. package/dist/ChartV2/ChartAxis.d.ts.map +1 -0
  96. package/dist/ChartV2/ChartAxis.js +161 -0
  97. package/dist/ChartV2/ChartGrid.d.ts +20 -0
  98. package/dist/ChartV2/ChartGrid.d.ts.map +1 -0
  99. package/dist/ChartV2/ChartGrid.js +76 -0
  100. package/dist/ChartV2/ChartLegend.d.ts +14 -0
  101. package/dist/ChartV2/ChartLegend.d.ts.map +1 -0
  102. package/dist/ChartV2/ChartLegend.js +54 -0
  103. package/dist/ChartV2/ChartSwatch.d.ts +36 -0
  104. package/dist/ChartV2/ChartSwatch.d.ts.map +1 -0
  105. package/dist/ChartV2/ChartSwatch.js +82 -0
  106. package/dist/ChartV2/ChartTooltip.d.ts +46 -0
  107. package/dist/ChartV2/ChartTooltip.d.ts.map +1 -0
  108. package/dist/ChartV2/ChartTooltip.js +267 -0
  109. package/dist/ChartV2/ChartV2Context.d.ts +4 -0
  110. package/dist/ChartV2/ChartV2Context.d.ts.map +1 -0
  111. package/dist/ChartV2/ChartV2Context.js +12 -0
  112. package/dist/ChartV2/index.d.ts +13 -0
  113. package/dist/ChartV2/index.d.ts.map +1 -0
  114. package/dist/ChartV2/index.js +10 -0
  115. package/dist/ChartV2/layout.d.ts +25 -0
  116. package/dist/ChartV2/layout.d.ts.map +1 -0
  117. package/dist/ChartV2/layout.js +195 -0
  118. package/dist/ChartV2/legend.d.ts +18 -0
  119. package/dist/ChartV2/legend.d.ts.map +1 -0
  120. package/dist/ChartV2/legend.js +24 -0
  121. package/dist/ChartV2/marks/area.d.ts +19 -0
  122. package/dist/ChartV2/marks/area.d.ts.map +1 -0
  123. package/dist/ChartV2/marks/area.js +109 -0
  124. package/dist/ChartV2/marks/band.d.ts +9 -0
  125. package/dist/ChartV2/marks/band.d.ts.map +1 -0
  126. package/dist/ChartV2/marks/band.js +59 -0
  127. package/dist/ChartV2/marks/bar.d.ts +17 -0
  128. package/dist/ChartV2/marks/bar.d.ts.map +1 -0
  129. package/dist/ChartV2/marks/bar.js +120 -0
  130. package/dist/ChartV2/marks/candlestick.d.ts +15 -0
  131. package/dist/ChartV2/marks/candlestick.d.ts.map +1 -0
  132. package/dist/ChartV2/marks/candlestick.js +83 -0
  133. package/dist/ChartV2/marks/dot.d.ts +15 -0
  134. package/dist/ChartV2/marks/dot.d.ts.map +1 -0
  135. package/dist/ChartV2/marks/dot.js +65 -0
  136. package/dist/ChartV2/marks/dotGL.d.ts +16 -0
  137. package/dist/ChartV2/marks/dotGL.d.ts.map +1 -0
  138. package/dist/ChartV2/marks/dotGL.js +178 -0
  139. package/dist/ChartV2/marks/dotGLInteractive.d.ts +30 -0
  140. package/dist/ChartV2/marks/dotGLInteractive.d.ts.map +1 -0
  141. package/dist/ChartV2/marks/dotGLInteractive.js +464 -0
  142. package/dist/ChartV2/marks/errorBar.d.ts +27 -0
  143. package/dist/ChartV2/marks/errorBar.d.ts.map +1 -0
  144. package/dist/ChartV2/marks/errorBar.js +87 -0
  145. package/dist/ChartV2/marks/heatmapGL.d.ts +23 -0
  146. package/dist/ChartV2/marks/heatmapGL.d.ts.map +1 -0
  147. package/dist/ChartV2/marks/heatmapGL.js +242 -0
  148. package/dist/ChartV2/marks/index.d.ts +13 -0
  149. package/dist/ChartV2/marks/index.d.ts.map +1 -0
  150. package/dist/ChartV2/marks/index.js +14 -0
  151. package/dist/ChartV2/marks/line.d.ts +18 -0
  152. package/dist/ChartV2/marks/line.d.ts.map +1 -0
  153. package/dist/ChartV2/marks/line.js +76 -0
  154. package/dist/ChartV2/marks/referenceLine.d.ts +35 -0
  155. package/dist/ChartV2/marks/referenceLine.d.ts.map +1 -0
  156. package/dist/ChartV2/marks/referenceLine.js +186 -0
  157. package/dist/ChartV2/marks/streamGL.d.ts +36 -0
  158. package/dist/ChartV2/marks/streamGL.d.ts.map +1 -0
  159. package/dist/ChartV2/marks/streamGL.js +204 -0
  160. package/dist/ChartV2/tooltip.d.ts +38 -0
  161. package/dist/ChartV2/tooltip.d.ts.map +1 -0
  162. package/dist/ChartV2/tooltip.js +54 -0
  163. package/dist/ChartV2/types.d.ts +115 -0
  164. package/dist/ChartV2/types.d.ts.map +1 -0
  165. package/dist/ChartV2/types.js +35 -0
  166. package/dist/ChatReasoning/ChatReasoning.d.ts +51 -0
  167. package/dist/ChatReasoning/ChatReasoning.d.ts.map +1 -0
  168. package/dist/ChatReasoning/ChatReasoning.js +236 -0
  169. package/dist/CircularProgress/CircularProgress.d.ts +101 -0
  170. package/dist/CircularProgress/CircularProgress.d.ts.map +1 -0
  171. package/dist/CircularProgress/CircularProgress.js +263 -0
  172. package/dist/CircularProgress/index.d.ts +6 -0
  173. package/dist/CircularProgress/index.d.ts.map +1 -0
  174. package/dist/CircularProgress/index.js +8 -0
  175. package/dist/CodeBlock/index.d.ts +8 -0
  176. package/dist/CodeBlock/index.d.ts.map +1 -0
  177. package/dist/CodeBlock/index.js +9 -0
  178. package/dist/CodeEditor/CodeEditor.d.ts +46 -0
  179. package/dist/CodeEditor/CodeEditor.d.ts.map +1 -0
  180. package/dist/CodeEditor/CodeEditor.js +396 -0
  181. package/dist/CodeEditor/index.d.ts +6 -0
  182. package/dist/CodeEditor/index.d.ts.map +1 -0
  183. package/dist/CodeEditor/index.js +7 -0
  184. package/dist/Radial/RadialArea.d.ts +25 -0
  185. package/dist/Radial/RadialArea.d.ts.map +1 -0
  186. package/dist/Radial/RadialArea.js +91 -0
  187. package/dist/Radial/RadialAxis.d.ts +14 -0
  188. package/dist/Radial/RadialAxis.d.ts.map +1 -0
  189. package/dist/Radial/RadialAxis.js +55 -0
  190. package/dist/Radial/RadialChart.d.ts +70 -0
  191. package/dist/Radial/RadialChart.d.ts.map +1 -0
  192. package/dist/Radial/RadialChart.js +174 -0
  193. package/dist/Radial/RadialContext.d.ts +5 -0
  194. package/dist/Radial/RadialContext.d.ts.map +1 -0
  195. package/dist/Radial/RadialContext.js +19 -0
  196. package/dist/Radial/RadialGrid.d.ts +14 -0
  197. package/dist/Radial/RadialGrid.d.ts.map +1 -0
  198. package/dist/Radial/RadialGrid.js +70 -0
  199. package/dist/Radial/RadialSlice.d.ts +23 -0
  200. package/dist/Radial/RadialSlice.d.ts.map +1 -0
  201. package/dist/Radial/RadialSlice.js +85 -0
  202. package/dist/Radial/RadialTooltip.d.ts +44 -0
  203. package/dist/Radial/RadialTooltip.d.ts.map +1 -0
  204. package/dist/Radial/RadialTooltip.js +284 -0
  205. package/dist/Radial/index.d.ts +9 -0
  206. package/dist/Radial/index.d.ts.map +1 -0
  207. package/dist/Radial/index.js +9 -0
  208. package/dist/Radial/types.d.ts +39 -0
  209. package/dist/Radial/types.d.ts.map +1 -0
  210. package/dist/Radial/types.js +1 -0
  211. package/dist/SVGIcon/SVGIcon.d.ts +87 -0
  212. package/dist/SVGIcon/SVGIcon.d.ts.map +1 -0
  213. package/dist/SVGIcon/SVGIcon.js +299 -0
  214. package/dist/SVGIcon/icons.d.ts +49 -0
  215. package/dist/SVGIcon/icons.d.ts.map +1 -0
  216. package/dist/SVGIcon/icons.js +326 -0
  217. package/dist/SVGIcon/index.d.ts +15 -0
  218. package/dist/SVGIcon/index.d.ts.map +1 -0
  219. package/dist/SVGIcon/index.js +22 -0
  220. package/dist/SVGIcon/pathTransforms.d.ts +35 -0
  221. package/dist/SVGIcon/pathTransforms.d.ts.map +1 -0
  222. package/dist/SVGIcon/pathTransforms.js +644 -0
  223. package/dist/SVGIcon/tokens.stylex.d.ts +37 -0
  224. package/dist/SVGIcon/tokens.stylex.d.ts.map +1 -0
  225. package/dist/SVGIcon/tokens.stylex.js +40 -0
  226. package/dist/SVGIcon/variations.stylex.d.ts +44 -0
  227. package/dist/SVGIcon/variations.stylex.d.ts.map +1 -0
  228. package/dist/SVGIcon/variations.stylex.js +119 -0
  229. package/dist/SVGIcon/xif-examples.d.ts +22 -0
  230. package/dist/SVGIcon/xif-examples.d.ts.map +1 -0
  231. package/dist/SVGIcon/xif-examples.js +202 -0
  232. package/dist/SVGIcon/xif-types.d.ts +129 -0
  233. package/dist/SVGIcon/xif-types.d.ts.map +1 -0
  234. package/dist/SVGIcon/xif-types.js +1 -0
  235. package/dist/Sankey/SankeyChart.d.ts +72 -0
  236. package/dist/Sankey/SankeyChart.d.ts.map +1 -0
  237. package/dist/Sankey/SankeyChart.js +162 -0
  238. package/dist/Sankey/SankeyContext.d.ts +5 -0
  239. package/dist/Sankey/SankeyContext.d.ts.map +1 -0
  240. package/dist/Sankey/SankeyContext.js +20 -0
  241. package/dist/Sankey/SankeyGrid.d.ts +20 -0
  242. package/dist/Sankey/SankeyGrid.d.ts.map +1 -0
  243. package/dist/Sankey/SankeyGrid.js +53 -0
  244. package/dist/Sankey/SankeyLabel.d.ts +11 -0
  245. package/dist/Sankey/SankeyLabel.d.ts.map +1 -0
  246. package/dist/Sankey/SankeyLabel.js +179 -0
  247. package/dist/Sankey/SankeyLink.d.ts +29 -0
  248. package/dist/Sankey/SankeyLink.d.ts.map +1 -0
  249. package/dist/Sankey/SankeyLink.js +139 -0
  250. package/dist/Sankey/SankeyNode.d.ts +15 -0
  251. package/dist/Sankey/SankeyNode.d.ts.map +1 -0
  252. package/dist/Sankey/SankeyNode.js +56 -0
  253. package/dist/Sankey/index.d.ts +8 -0
  254. package/dist/Sankey/index.d.ts.map +1 -0
  255. package/dist/Sankey/index.js +8 -0
  256. package/dist/Sankey/layout.d.ts +26 -0
  257. package/dist/Sankey/layout.d.ts.map +1 -0
  258. package/dist/Sankey/layout.js +157 -0
  259. package/dist/Sankey/types.d.ts +84 -0
  260. package/dist/Sankey/types.d.ts.map +1 -0
  261. package/dist/Sankey/types.js +1 -0
  262. package/dist/Schedule/CalendarEvent.d.ts +36 -0
  263. package/dist/Schedule/CalendarEvent.d.ts.map +1 -0
  264. package/dist/Schedule/CalendarEvent.js +35 -0
  265. package/dist/Schedule/DayView.d.ts +8 -0
  266. package/dist/Schedule/DayView.d.ts.map +1 -0
  267. package/dist/Schedule/DayView.js +105 -0
  268. package/dist/Schedule/ListView.d.ts +6 -0
  269. package/dist/Schedule/ListView.d.ts.map +1 -0
  270. package/dist/Schedule/ListView.js +171 -0
  271. package/dist/Schedule/MonthlyView.d.ts +6 -0
  272. package/dist/Schedule/MonthlyView.d.ts.map +1 -0
  273. package/dist/Schedule/MonthlyView.js +270 -0
  274. package/dist/Schedule/Schedule.d.ts +22 -0
  275. package/dist/Schedule/Schedule.d.ts.map +1 -0
  276. package/dist/Schedule/Schedule.js +185 -0
  277. package/dist/Schedule/TimeGridView.d.ts +12 -0
  278. package/dist/Schedule/TimeGridView.d.ts.map +1 -0
  279. package/dist/Schedule/TimeGridView.js +364 -0
  280. package/dist/Schedule/WeeklyView.d.ts +9 -0
  281. package/dist/Schedule/WeeklyView.d.ts.map +1 -0
  282. package/dist/Schedule/WeeklyView.js +112 -0
  283. package/dist/Schedule/context.d.ts +20 -0
  284. package/dist/Schedule/context.d.ts.map +1 -0
  285. package/dist/Schedule/context.js +19 -0
  286. package/dist/Schedule/dateMath.d.ts +21 -0
  287. package/dist/Schedule/dateMath.d.ts.map +1 -0
  288. package/dist/Schedule/dateMath.js +63 -0
  289. package/dist/Schedule/index.d.ts +19 -0
  290. package/dist/Schedule/index.d.ts.map +1 -0
  291. package/dist/Schedule/index.js +17 -0
  292. package/dist/Schedule/plugins/PaginationPlugin.d.ts +7 -0
  293. package/dist/Schedule/plugins/PaginationPlugin.d.ts.map +1 -0
  294. package/dist/Schedule/plugins/PaginationPlugin.js +81 -0
  295. package/dist/Schedule/plugins/ViewSelectorPlugin.d.ts +11 -0
  296. package/dist/Schedule/plugins/ViewSelectorPlugin.d.ts.map +1 -0
  297. package/dist/Schedule/plugins/ViewSelectorPlugin.js +78 -0
  298. package/dist/Schedule/plugins/index.d.ts +5 -0
  299. package/dist/Schedule/plugins/index.d.ts.map +1 -0
  300. package/dist/Schedule/plugins/index.js +14 -0
  301. package/dist/Schedule/shared.d.ts +923 -0
  302. package/dist/Schedule/shared.d.ts.map +1 -0
  303. package/dist/Schedule/shared.js +1325 -0
  304. package/dist/Schedule/types.d.ts +51 -0
  305. package/dist/Schedule/types.d.ts.map +1 -0
  306. package/dist/Schedule/types.js +1 -0
  307. package/dist/Schedule/useCurrentTime.d.ts +3 -0
  308. package/dist/Schedule/useCurrentTime.d.ts.map +1 -0
  309. package/dist/Schedule/useCurrentTime.js +43 -0
  310. package/dist/Schedule/zonedDateTime.d.ts +20 -0
  311. package/dist/Schedule/zonedDateTime.d.ts.map +1 -0
  312. package/dist/Schedule/zonedDateTime.js +31 -0
  313. package/dist/Stepper/Step.d.ts +120 -0
  314. package/dist/Stepper/Step.d.ts.map +1 -0
  315. package/dist/Stepper/Step.js +573 -0
  316. package/dist/Stepper/StepStatus.d.ts +24 -0
  317. package/dist/Stepper/StepStatus.d.ts.map +1 -0
  318. package/dist/Stepper/StepStatus.js +1 -0
  319. package/dist/Stepper/Stepper.d.ts +77 -0
  320. package/dist/Stepper/Stepper.d.ts.map +1 -0
  321. package/dist/Stepper/Stepper.js +104 -0
  322. package/dist/Stepper/StepperContext.d.ts +12 -0
  323. package/dist/Stepper/StepperContext.d.ts.map +1 -0
  324. package/dist/Stepper/StepperContext.js +24 -0
  325. package/dist/Stepper/index.d.ts +8 -0
  326. package/dist/Stepper/index.d.ts.map +1 -0
  327. package/dist/Stepper/index.js +7 -0
  328. package/dist/ThreeD/ThreeDAxis.d.ts +6 -0
  329. package/dist/ThreeD/ThreeDAxis.d.ts.map +1 -0
  330. package/dist/ThreeD/ThreeDAxis.js +75 -0
  331. package/dist/ThreeD/ThreeDBar.d.ts +7 -0
  332. package/dist/ThreeD/ThreeDBar.d.ts.map +1 -0
  333. package/dist/ThreeD/ThreeDBar.js +98 -0
  334. package/dist/ThreeD/ThreeDChart.d.ts +24 -0
  335. package/dist/ThreeD/ThreeDChart.d.ts.map +1 -0
  336. package/dist/ThreeD/ThreeDChart.js +202 -0
  337. package/dist/ThreeD/ThreeDContext.d.ts +5 -0
  338. package/dist/ThreeD/ThreeDContext.d.ts.map +1 -0
  339. package/dist/ThreeD/ThreeDContext.js +19 -0
  340. package/dist/ThreeD/ThreeDGrid.d.ts +5 -0
  341. package/dist/ThreeD/ThreeDGrid.d.ts.map +1 -0
  342. package/dist/ThreeD/ThreeDGrid.js +55 -0
  343. package/dist/ThreeD/ThreeDScatter.d.ts +7 -0
  344. package/dist/ThreeD/ThreeDScatter.d.ts.map +1 -0
  345. package/dist/ThreeD/ThreeDScatter.js +57 -0
  346. package/dist/ThreeD/ThreeDScatterGL.d.ts +7 -0
  347. package/dist/ThreeD/ThreeDScatterGL.d.ts.map +1 -0
  348. package/dist/ThreeD/ThreeDScatterGL.js +243 -0
  349. package/dist/ThreeD/ThreeDSurface.d.ts +15 -0
  350. package/dist/ThreeD/ThreeDSurface.d.ts.map +1 -0
  351. package/dist/ThreeD/ThreeDSurface.js +97 -0
  352. package/dist/ThreeD/index.d.ts +10 -0
  353. package/dist/ThreeD/index.d.ts.map +1 -0
  354. package/dist/ThreeD/index.js +10 -0
  355. package/dist/ThreeD/types.d.ts +57 -0
  356. package/dist/ThreeD/types.d.ts.map +1 -0
  357. package/dist/ThreeD/types.js +1 -0
  358. package/dist/index.d.ts +26 -0
  359. package/dist/index.d.ts.map +1 -0
  360. package/dist/index.js +47 -0
  361. package/dist/lab.css +423 -0
  362. package/package.json +69 -4
  363. package/src/Chart/Chart.tsx +312 -0
  364. package/src/Chart/ChartArea.doc.mjs +16 -0
  365. package/src/Chart/ChartArea.tsx +91 -0
  366. package/src/Chart/ChartAxis.tsx +186 -0
  367. package/src/Chart/ChartBar.doc.mjs +16 -0
  368. package/src/Chart/ChartBar.tsx +71 -0
  369. package/src/Chart/ChartBrush.tsx +237 -0
  370. package/src/Chart/ChartCandlestick.doc.mjs +16 -0
  371. package/src/Chart/ChartCandlestick.tsx +186 -0
  372. package/src/Chart/ChartContext.ts +23 -0
  373. package/src/Chart/ChartDot.doc.mjs +16 -0
  374. package/src/Chart/ChartDot.tsx +44 -0
  375. package/src/Chart/ChartDotGL.doc.mjs +16 -0
  376. package/src/Chart/ChartDotGL.tsx +151 -0
  377. package/src/Chart/ChartDotGLInteractive.doc.mjs +16 -0
  378. package/src/Chart/ChartDotGLInteractive.tsx +519 -0
  379. package/src/Chart/ChartErrorBar.tsx +84 -0
  380. package/src/Chart/ChartGrid.tsx +86 -0
  381. package/src/Chart/ChartHeatmapGL.doc.mjs +16 -0
  382. package/src/Chart/ChartHeatmapGL.tsx +219 -0
  383. package/src/Chart/ChartLegend.tsx +181 -0
  384. package/src/Chart/ChartLine.doc.mjs +16 -0
  385. package/src/Chart/ChartLine.tsx +70 -0
  386. package/src/Chart/ChartReferenceLine.tsx +76 -0
  387. package/src/Chart/ChartSelect.tsx +111 -0
  388. package/src/Chart/ChartStreamGL.doc.mjs +16 -0
  389. package/src/Chart/ChartStreamGL.tsx +189 -0
  390. package/src/Chart/ChartTooltip.tsx +451 -0
  391. package/src/Chart/ChartZoom.tsx +400 -0
  392. package/src/Chart/formatters.ts +95 -0
  393. package/src/Chart/getChartColors.ts +249 -0
  394. package/src/Chart/index.ts +90 -0
  395. package/src/Chart/m4.test.ts +66 -0
  396. package/src/Chart/m4.ts +128 -0
  397. package/src/Chart/types.ts +64 -0
  398. package/src/Chart/useChartColors.ts +34 -0
  399. package/src/Chart/useChartRange.test.ts +101 -0
  400. package/src/Chart/useChartRange.ts +146 -0
  401. package/src/Chart/utils.ts +31 -0
  402. package/src/Chart/webgl.ts +192 -0
  403. package/src/ChartV2/Chart.tsx +348 -0
  404. package/src/ChartV2/ChartAxis.tsx +209 -0
  405. package/src/ChartV2/ChartGrid.tsx +99 -0
  406. package/src/ChartV2/ChartLegend.tsx +69 -0
  407. package/src/ChartV2/ChartSwatch.doc.mjs +17 -0
  408. package/src/ChartV2/ChartSwatch.tsx +86 -0
  409. package/src/ChartV2/ChartTooltip.tsx +382 -0
  410. package/src/ChartV2/ChartV2.doc.mjs +16 -0
  411. package/src/ChartV2/ChartV2Context.ts +15 -0
  412. package/src/ChartV2/index.ts +62 -0
  413. package/src/ChartV2/layout.ts +223 -0
  414. package/src/ChartV2/legend.ts +32 -0
  415. package/src/ChartV2/marks/area.tsx +122 -0
  416. package/src/ChartV2/marks/band.tsx +70 -0
  417. package/src/ChartV2/marks/bar.tsx +159 -0
  418. package/src/ChartV2/marks/candlestick.tsx +106 -0
  419. package/src/ChartV2/marks/dot.tsx +64 -0
  420. package/src/ChartV2/marks/dotGL.tsx +202 -0
  421. package/src/ChartV2/marks/dotGLInteractive.tsx +546 -0
  422. package/src/ChartV2/marks/errorBar.tsx +89 -0
  423. package/src/ChartV2/marks/heatmapGL.tsx +299 -0
  424. package/src/ChartV2/marks/index.ts +14 -0
  425. package/src/ChartV2/marks/line.tsx +94 -0
  426. package/src/ChartV2/marks/referenceLine.tsx +224 -0
  427. package/src/ChartV2/marks/streamGL.tsx +251 -0
  428. package/src/ChartV2/tooltip.ts +70 -0
  429. package/src/ChartV2/types.ts +129 -0
  430. package/src/ChatReasoning/ChatReasoning.doc.mjs +16 -0
  431. package/src/ChatReasoning/ChatReasoning.test.tsx +56 -0
  432. package/src/ChatReasoning/ChatReasoning.tsx +322 -0
  433. package/src/CircularProgress/CircularProgress.doc.mjs +174 -0
  434. package/src/CircularProgress/CircularProgress.test.tsx +157 -0
  435. package/src/CircularProgress/CircularProgress.tsx +373 -0
  436. package/src/CircularProgress/index.ts +15 -0
  437. package/src/CodeBlock/index.ts +10 -0
  438. package/src/CodeEditor/CodeEditor.doc.mjs +16 -0
  439. package/src/CodeEditor/CodeEditor.tsx +466 -0
  440. package/src/CodeEditor/index.ts +8 -0
  441. package/src/Radial/RadialArea.tsx +103 -0
  442. package/src/Radial/RadialAxis.tsx +60 -0
  443. package/src/Radial/RadialChart.doc.mjs +16 -0
  444. package/src/Radial/RadialChart.tsx +219 -0
  445. package/src/Radial/RadialContext.ts +22 -0
  446. package/src/Radial/RadialGrid.tsx +81 -0
  447. package/src/Radial/RadialSlice.tsx +130 -0
  448. package/src/Radial/RadialTooltip.tsx +347 -0
  449. package/src/Radial/index.ts +14 -0
  450. package/src/Radial/types.ts +46 -0
  451. package/src/SVGIcon/SVGIcon.doc.mjs +16 -0
  452. package/src/SVGIcon/SVGIcon.tsx +406 -0
  453. package/src/SVGIcon/icons.ts +283 -0
  454. package/src/SVGIcon/index.ts +73 -0
  455. package/src/SVGIcon/pathTransforms.ts +612 -0
  456. package/src/SVGIcon/tokens.stylex.ts +53 -0
  457. package/src/SVGIcon/variations.stylex.ts +122 -0
  458. package/src/SVGIcon/xif-examples.ts +191 -0
  459. package/src/SVGIcon/xif-types.ts +181 -0
  460. package/src/Sankey/SankeyChart.doc.mjs +16 -0
  461. package/src/Sankey/SankeyChart.tsx +220 -0
  462. package/src/Sankey/SankeyContext.ts +23 -0
  463. package/src/Sankey/SankeyGrid.tsx +69 -0
  464. package/src/Sankey/SankeyLabel.tsx +234 -0
  465. package/src/Sankey/SankeyLink.tsx +167 -0
  466. package/src/Sankey/SankeyNode.tsx +66 -0
  467. package/src/Sankey/index.ts +22 -0
  468. package/src/Sankey/layout.ts +219 -0
  469. package/src/Sankey/types.ts +93 -0
  470. package/src/Schedule/CalendarEvent.ts +74 -0
  471. package/src/Schedule/DayView.tsx +112 -0
  472. package/src/Schedule/ListView.tsx +236 -0
  473. package/src/Schedule/MonthlyView.tsx +401 -0
  474. package/src/Schedule/Schedule.doc.mjs +16 -0
  475. package/src/Schedule/Schedule.test.tsx +405 -0
  476. package/src/Schedule/Schedule.tsx +307 -0
  477. package/src/Schedule/TimeGridView.tsx +589 -0
  478. package/src/Schedule/WeeklyView.tsx +130 -0
  479. package/src/Schedule/context.tsx +49 -0
  480. package/src/Schedule/dateMath.ts +112 -0
  481. package/src/Schedule/index.ts +61 -0
  482. package/src/Schedule/plugins/PaginationPlugin.tsx +98 -0
  483. package/src/Schedule/plugins/ViewSelectorPlugin.tsx +128 -0
  484. package/src/Schedule/plugins/index.tsx +20 -0
  485. package/src/Schedule/shared.tsx +1304 -0
  486. package/src/Schedule/types.ts +86 -0
  487. package/src/Schedule/useCurrentTime.ts +50 -0
  488. package/src/Schedule/zonedDateTime.ts +71 -0
  489. package/src/Stepper/Step.doc.mjs +17 -0
  490. package/src/Stepper/Step.tsx +756 -0
  491. package/src/Stepper/StepStatus.ts +26 -0
  492. package/src/Stepper/Stepper.doc.mjs +265 -0
  493. package/src/Stepper/Stepper.test.tsx +281 -0
  494. package/src/Stepper/Stepper.tsx +157 -0
  495. package/src/Stepper/StepperContext.ts +43 -0
  496. package/src/Stepper/index.ts +14 -0
  497. package/src/ThreeD/3DBar.doc.mjs +16 -0
  498. package/src/ThreeD/3DChart.doc.mjs +16 -0
  499. package/src/ThreeD/3DScatter.doc.mjs +16 -0
  500. package/src/ThreeD/3DScatterGL.doc.mjs +16 -0
  501. package/src/ThreeD/3DSurface.doc.mjs +16 -0
  502. package/src/ThreeD/ThreeDAxis.tsx +86 -0
  503. package/src/ThreeD/ThreeDBar.tsx +130 -0
  504. package/src/ThreeD/ThreeDChart.tsx +262 -0
  505. package/src/ThreeD/ThreeDContext.ts +22 -0
  506. package/src/ThreeD/ThreeDGrid.tsx +68 -0
  507. package/src/ThreeD/ThreeDScatter.tsx +63 -0
  508. package/src/ThreeD/ThreeDScatterGL.tsx +270 -0
  509. package/src/ThreeD/ThreeDSurface.tsx +142 -0
  510. package/src/ThreeD/index.ts +11 -0
  511. package/src/ThreeD/projection.test.ts +132 -0
  512. package/src/ThreeD/types.ts +62 -0
  513. package/src/index.ts +250 -0
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @file SankeyChart.tsx
3
+ * @output Root Sankey container — computes layout and provides context
4
+ * @position Parent component; all Sankey marks are children
5
+ *
6
+ * When columns × minColumnWidth exceeds the container, the chart
7
+ * scrolls horizontally rather than squishing columns together.
8
+ */
9
+ import { type ReactNode } from 'react';
10
+ import type { SankeyNodeDatum, SankeyLinkDatum, SankeyColumn } from './types';
11
+ export interface SankeyChartProps {
12
+ /** Node definitions */
13
+ nodes: SankeyNodeDatum[];
14
+ /** Link definitions */
15
+ links: SankeyLinkDatum[];
16
+ /**
17
+ * Column definitions. Accepts either:
18
+ * - Simple: `string[][]` — arrays of node IDs per column
19
+ * - Rich: `SankeyColumnDef[]` — objects with `ids`, optional `label`
20
+ * - Mixed: any combination
21
+ *
22
+ * If omitted, columns are auto-detected via topological sort.
23
+ */
24
+ columns?: SankeyColumn[];
25
+ /** Chart height in px (default: 320) */
26
+ height?: number;
27
+ /** Node bar width in px (default: 20) */
28
+ nodeWidth?: number;
29
+ /** Vertical gap between sibling nodes (default: 14) */
30
+ nodeGap?: number;
31
+ /**
32
+ * Override all node bar colors with a single CSS color.
33
+ * Both SankeyNode and SankeyLabel read this from context
34
+ * so labels adapt their text color for contrast.
35
+ */
36
+ nodeColor?: string;
37
+ /**
38
+ * Minimum width per column in px (default: 160).
39
+ * When total min width exceeds the container, horizontal scrolling activates.
40
+ */
41
+ minColumnWidth?: number;
42
+ /** Chart contents */
43
+ children: ReactNode;
44
+ }
45
+ /**
46
+ * Root component for Sankey/flow diagrams.
47
+ *
48
+ * Computes layout from nodes + links, exposes positions via context.
49
+ * Width is responsive but enforces minColumnWidth — scrolls when needed.
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * <SankeyChart
54
+ * nodes={nodes}
55
+ * links={links}
56
+ * columns={[
57
+ * {ids: ['a', 'b'], label: 'Source'},
58
+ * {ids: ['c', 'd'], label: 'Target'},
59
+ * ]}
60
+ * >
61
+ * <SankeyGrid />
62
+ * <SankeyLink />
63
+ * <SankeyNode />
64
+ * <SankeyLabel />
65
+ * </SankeyChart>
66
+ * ```
67
+ */
68
+ export declare function SankeyChart({ nodes, links, columns, height, nodeWidth, nodeGap, nodeColor, minColumnWidth, children, }: SankeyChartProps): import("react").JSX.Element;
69
+ export declare namespace SankeyChart {
70
+ var displayName: string;
71
+ }
72
+ //# sourceMappingURL=SankeyChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SankeyChart.d.ts","sourceRoot":"","sources":["../../src/Sankey/SankeyChart.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAC,eAAe,EAAE,eAAe,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,uBAAuB;IACvB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AA+CD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAY,EACZ,SAAc,EACd,OAAY,EACZ,SAAS,EACT,cAAoB,EACpB,QAAQ,GACT,EAAE,gBAAgB,+BAkFlB;yBA5Fe,WAAW"}
@@ -0,0 +1,162 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file SankeyChart.tsx
5
+ * @output Root Sankey container — computes layout and provides context
6
+ * @position Parent component; all Sankey marks are children
7
+ *
8
+ * When columns × minColumnWidth exceeds the container, the chart
9
+ * scrolls horizontally rather than squishing columns together.
10
+ */
11
+
12
+ import { useMemo, useRef, useState, useLayoutEffect } from 'react';
13
+ import { SankeyProvider } from "./SankeyContext.js";
14
+ import { computeLayout } from "./layout.js";
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
+ /** Resolve column count from raw column input or auto-detect from graph */
17
+ function resolveColumnCount(columns, nodes, links) {
18
+ if (columns) {
19
+ return columns.length;
20
+ }
21
+ // Quick topological column count
22
+ const inDegree = new Map();
23
+ const outEdges = new Map();
24
+ nodes.forEach(n => {
25
+ inDegree.set(n.id, 0);
26
+ outEdges.set(n.id, []);
27
+ });
28
+ links.forEach(l => {
29
+ inDegree.set(l.target, (inDegree.get(l.target) || 0) + 1);
30
+ outEdges.get(l.source)?.push(l.target);
31
+ });
32
+ const colMap = new Map();
33
+ const queue = [];
34
+ nodes.forEach(n => {
35
+ if (inDegree.get(n.id) === 0) {
36
+ queue.push(n.id);
37
+ colMap.set(n.id, 0);
38
+ }
39
+ });
40
+ while (queue.length) {
41
+ const id = queue.shift();
42
+ if (id == null) {
43
+ break;
44
+ }
45
+ const col = colMap.get(id) ?? 0;
46
+ for (const tgt of outEdges.get(id) || []) {
47
+ colMap.set(tgt, Math.max(colMap.get(tgt) || 0, col + 1));
48
+ inDegree.set(tgt, (inDegree.get(tgt) || 0) - 1);
49
+ if (inDegree.get(tgt) === 0) {
50
+ queue.push(tgt);
51
+ }
52
+ }
53
+ }
54
+ return Math.max(...Array.from(colMap.values()), 0) + 1;
55
+ }
56
+
57
+ /**
58
+ * Root component for Sankey/flow diagrams.
59
+ *
60
+ * Computes layout from nodes + links, exposes positions via context.
61
+ * Width is responsive but enforces minColumnWidth — scrolls when needed.
62
+ *
63
+ * @example
64
+ * ```tsx
65
+ * <SankeyChart
66
+ * nodes={nodes}
67
+ * links={links}
68
+ * columns={[
69
+ * {ids: ['a', 'b'], label: 'Source'},
70
+ * {ids: ['c', 'd'], label: 'Target'},
71
+ * ]}
72
+ * >
73
+ * <SankeyGrid />
74
+ * <SankeyLink />
75
+ * <SankeyNode />
76
+ * <SankeyLabel />
77
+ * </SankeyChart>
78
+ * ```
79
+ */
80
+ export function SankeyChart({
81
+ nodes,
82
+ links,
83
+ columns,
84
+ height = 320,
85
+ nodeWidth = 20,
86
+ nodeGap = 14,
87
+ nodeColor,
88
+ minColumnWidth = 160,
89
+ children
90
+ }) {
91
+ const containerRef = useRef(null);
92
+ const [containerWidth, setContainerWidth] = useState(0);
93
+ useLayoutEffect(() => {
94
+ const el = containerRef.current;
95
+ if (!el) {
96
+ return;
97
+ }
98
+ const ro = new ResizeObserver(entries => {
99
+ const w = entries[0]?.contentRect.width ?? 0;
100
+ setContainerWidth(w);
101
+ });
102
+ ro.observe(el);
103
+ return () => ro.disconnect();
104
+ }, []);
105
+ const colCount = useMemo(() => resolveColumnCount(columns, nodes, links), [columns, nodes, links]);
106
+ const minWidth = colCount * minColumnWidth;
107
+ const chartWidth = Math.max(containerWidth, minWidth);
108
+ const needsScroll = containerWidth > 0 && chartWidth > containerWidth;
109
+ const layout = useMemo(() => {
110
+ if (containerWidth === 0) {
111
+ return null;
112
+ }
113
+ return computeLayout(nodes, links, {
114
+ width: chartWidth,
115
+ height,
116
+ nodeWidth,
117
+ nodeGap,
118
+ columns
119
+ });
120
+ }, [nodes, links, chartWidth, height, nodeWidth, nodeGap, columns, containerWidth]);
121
+ const ctx = useMemo(() => {
122
+ if (!layout) {
123
+ return null;
124
+ }
125
+ return {
126
+ nodes: layout.nodes,
127
+ links: layout.links,
128
+ columns: layout.columns,
129
+ width: chartWidth,
130
+ height,
131
+ valueScale: layout.valueScale,
132
+ maxValue: layout.maxValue,
133
+ nodeWidth,
134
+ nodeColor
135
+ };
136
+ }, [layout, chartWidth, height, nodeWidth, nodeColor]);
137
+ return /*#__PURE__*/_jsx("div", {
138
+ ref: containerRef,
139
+ style: {
140
+ width: '100%'
141
+ },
142
+ children: ctx && /*#__PURE__*/_jsx("div", {
143
+ style: needsScroll ? {
144
+ overflowX: 'auto',
145
+ overflowY: 'hidden'
146
+ } : undefined,
147
+ children: /*#__PURE__*/_jsx("svg", {
148
+ width: chartWidth,
149
+ height: height,
150
+ style: {
151
+ overflow: 'visible',
152
+ display: 'block'
153
+ },
154
+ children: /*#__PURE__*/_jsx(SankeyProvider, {
155
+ value: ctx,
156
+ children: children
157
+ })
158
+ })
159
+ })
160
+ });
161
+ }
162
+ SankeyChart.displayName = 'SankeyChart';
@@ -0,0 +1,5 @@
1
+ import type { SankeyContext } from './types';
2
+ export declare const SankeyProvider: import("react").Provider<SankeyContext | null>;
3
+ /** Access the sankey context. Throws if used outside <SankeyChart>. */
4
+ export declare function useSankey(): SankeyContext;
5
+ //# sourceMappingURL=SankeyContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SankeyContext.d.ts","sourceRoot":"","sources":["../../src/Sankey/SankeyContext.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAI3C,eAAO,MAAM,cAAc,gDAAqB,CAAC;AAEjD,uEAAuE;AACvE,wBAAgB,SAAS,IAAI,aAAa,CAMzC"}
@@ -0,0 +1,20 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file SankeyContext.ts
5
+ * @output React context for sharing Sankey layout between components
6
+ * @position Consumed by SankeyChart (provider) and all child components (consumers)
7
+ */
8
+
9
+ import { createContext, useContext } from 'react';
10
+ const SankeyCtx = /*#__PURE__*/createContext(null);
11
+ export const SankeyProvider = SankeyCtx.Provider;
12
+
13
+ /** Access the sankey context. Throws if used outside <SankeyChart>. */
14
+ export function useSankey() {
15
+ const ctx = useContext(SankeyCtx);
16
+ if (!ctx) {
17
+ throw new Error('Sankey components must be used inside <SankeyChart>');
18
+ }
19
+ return ctx;
20
+ }
@@ -0,0 +1,20 @@
1
+ export interface SankeyGridProps {
2
+ /** Dash pattern (default: "4 4") */
3
+ dashArray?: string;
4
+ /** Stroke color (default: theme border) */
5
+ color?: string;
6
+ /** Opacity (default: 0.3) */
7
+ opacity?: number;
8
+ /** Show column header labels if defined (default: true) */
9
+ showHeaders?: boolean;
10
+ }
11
+ /**
12
+ * Vertical grid lines at each column position, with optional column headers.
13
+ *
14
+ * Place before SankeyLink so grid renders behind ribbons.
15
+ */
16
+ export declare function SankeyGrid({ dashArray, color, opacity, showHeaders, }: SankeyGridProps): import("react").JSX.Element;
17
+ export declare namespace SankeyGrid {
18
+ var displayName: string;
19
+ }
20
+ //# sourceMappingURL=SankeyGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SankeyGrid.d.ts","sourceRoot":"","sources":["../../src/Sankey/SankeyGrid.tsx"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,SAAiB,EACjB,KAAK,EACL,OAAa,EACb,WAAkB,GACnB,EAAE,eAAe,+BAmCjB;yBAxCe,UAAU"}
@@ -0,0 +1,53 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file SankeyGrid.tsx
5
+ * @output Dashed vertical lines at each column + optional column headers
6
+ * @position Visual layer — structural guide behind the flow ribbons
7
+ */
8
+
9
+ import { useSankey } from "./SankeyContext.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ /**
12
+ * Vertical grid lines at each column position, with optional column headers.
13
+ *
14
+ * Place before SankeyLink so grid renders behind ribbons.
15
+ */
16
+ export function SankeyGrid({
17
+ dashArray = '4 4',
18
+ color,
19
+ opacity = 0.3,
20
+ showHeaders = true
21
+ }) {
22
+ const {
23
+ columns,
24
+ height,
25
+ nodeWidth
26
+ } = useSankey();
27
+ return /*#__PURE__*/_jsx("g", {
28
+ children: columns.map((col, i) => /*#__PURE__*/_jsxs("g", {
29
+ children: [/*#__PURE__*/_jsx("line", {
30
+ x1: col.x + nodeWidth / 2,
31
+ x2: col.x + nodeWidth / 2,
32
+ y1: 0,
33
+ y2: height,
34
+ stroke: color || 'var(--color-border, #d0d0d8)',
35
+ strokeOpacity: opacity,
36
+ strokeDasharray: dashArray,
37
+ strokeWidth: 1
38
+ }), showHeaders && col.label && /*#__PURE__*/_jsx("text", {
39
+ x: col.x + nodeWidth / 2,
40
+ y: height - 2,
41
+ textAnchor: "middle",
42
+ style: {
43
+ font: '500 10px/1 system-ui',
44
+ fill: 'var(--color-text-secondary, #6e6e80)',
45
+ textTransform: 'uppercase',
46
+ letterSpacing: '0.04em'
47
+ },
48
+ children: col.label
49
+ })]
50
+ }, i))
51
+ });
52
+ }
53
+ SankeyGrid.displayName = 'SankeyGrid';
@@ -0,0 +1,11 @@
1
+ export interface SankeyLabelProps {
2
+ /** Show percentage below the node (default: true) */
3
+ showPercent?: boolean;
4
+ /** Format function for the value (default: compact notation) */
5
+ formatValue?: (value: number) => string;
6
+ }
7
+ export declare function SankeyLabel({ showPercent, formatValue, }: SankeyLabelProps): import("react").JSX.Element;
8
+ export declare namespace SankeyLabel {
9
+ var displayName: string;
10
+ }
11
+ //# sourceMappingURL=SankeyLabel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SankeyLabel.d.ts","sourceRoot":"","sources":["../../src/Sankey/SankeyLabel.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC;AAsCD,wBAAgB,WAAW,CAAC,EAC1B,WAAkB,EAClB,WAA2B,GAC5B,EAAE,gBAAgB,+BA6ClB;yBAhDe,WAAW"}
@@ -0,0 +1,179 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file SankeyLabel.tsx
5
+ * @output Renders node labels — rotated on bar or beside it based on fit
6
+ * @position Visual layer — adapts placement for readability at every scale
7
+ *
8
+ * Two strategies based on available space:
9
+ * - Tall nodes: rotated -90° text directly on the bar (no background)
10
+ * - Short nodes: horizontal label beside the bar with surface pill
11
+ *
12
+ * Last-column labels anchor to the left to avoid clipping at the chart edge.
13
+ * Text on bars uses --color-on-dark/--color-on-light from MediaTheme.
14
+ */
15
+
16
+ import { useSankey } from "./SankeyContext.js";
17
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
+ function defaultFormat(value) {
19
+ if (value >= 10000) {
20
+ return Math.round(value / 1000) + 'k';
21
+ }
22
+ if (value >= 1000) {
23
+ return (value / 1000).toFixed(1) + 'k';
24
+ }
25
+ return value.toLocaleString();
26
+ }
27
+
28
+ /**
29
+ * On-surface text color. When a CSS color override is active, parse its
30
+ * perceived lightness. For oklch tuples, use the L channel directly.
31
+ */
32
+ function onSurfaceColor(color, cssOverride) {
33
+ if (cssOverride) {
34
+ // Quick heuristic: if the override looks dark, use on-dark
35
+ // Check for common dark patterns (#1, #0, rgb(0-80,...), black, etc.)
36
+ const c = cssOverride.toLowerCase().trim();
37
+ const isDark = c === 'black' || /^#[0-3]/.test(c) || /^#.[0-3]/.test(c) || /^rgb\(\s*[0-7]\d?\s*,/.test(c);
38
+ return isDark ? 'var(--color-on-dark, #fff)' : 'var(--color-on-light, #000)';
39
+ }
40
+ return color[0] < 0.6 ? 'var(--color-on-dark, #fff)' : 'var(--color-on-light, #000)';
41
+ }
42
+ export function SankeyLabel({
43
+ showPercent = true,
44
+ formatValue = defaultFormat
45
+ }) {
46
+ const {
47
+ nodes,
48
+ columns,
49
+ maxValue,
50
+ height,
51
+ nodeWidth,
52
+ nodeColor
53
+ } = useSankey();
54
+ const lastColumn = columns.length - 1;
55
+ return /*#__PURE__*/_jsx("g", {
56
+ children: nodes.map(node => {
57
+ const pct = node.value / maxValue * 100;
58
+ const pctStr = pct >= 10 ? Math.round(pct) + '%' : pct.toFixed(1) + '%';
59
+ const formatted = formatValue(node.value);
60
+ const text = `${node.label} = ${formatted}`;
61
+ const textWidth = text.length * 6.5;
62
+ const fitsRotated = node.height >= textWidth + 8;
63
+ if (fitsRotated) {
64
+ return /*#__PURE__*/_jsx(RotatedLabel, {
65
+ node: node,
66
+ nodeWidth: nodeWidth,
67
+ nodeColor: nodeColor,
68
+ text: text,
69
+ pctStr: pctStr,
70
+ showPercent: showPercent,
71
+ height: height
72
+ }, node.id);
73
+ }
74
+ return /*#__PURE__*/_jsx(BesideLabel, {
75
+ node: node,
76
+ nodeWidth: nodeWidth,
77
+ text: text,
78
+ pctStr: pctStr,
79
+ showPercent: showPercent,
80
+ height: height,
81
+ isLastColumn: node.column === lastColumn
82
+ }, node.id);
83
+ })
84
+ });
85
+ }
86
+
87
+ /** Tall bars: rotated text directly on the bar, no background */
88
+ function RotatedLabel({
89
+ node,
90
+ nodeWidth,
91
+ nodeColor,
92
+ text,
93
+ pctStr,
94
+ showPercent,
95
+ height
96
+ }) {
97
+ const cx = node.x + nodeWidth / 2;
98
+ const cy = node.y + node.height / 2;
99
+ return /*#__PURE__*/_jsxs("g", {
100
+ children: [/*#__PURE__*/_jsx("g", {
101
+ transform: `translate(${cx}, ${cy}) rotate(-90)`,
102
+ children: /*#__PURE__*/_jsx("text", {
103
+ x: 0,
104
+ y: 0,
105
+ textAnchor: "middle",
106
+ dominantBaseline: "central",
107
+ style: {
108
+ font: '600 10px/1 system-ui',
109
+ fill: onSurfaceColor(node.color, nodeColor),
110
+ letterSpacing: '-0.01em'
111
+ },
112
+ children: text
113
+ })
114
+ }), showPercent && node.column > 0 && /*#__PURE__*/_jsx("text", {
115
+ x: cx,
116
+ y: Math.min(height - 2, node.y + node.height + 12),
117
+ textAnchor: "middle",
118
+ style: {
119
+ font: '500 9px/1 system-ui',
120
+ fill: 'var(--color-text-tertiary, #8e8ea0)'
121
+ },
122
+ children: pctStr
123
+ })]
124
+ });
125
+ }
126
+
127
+ /**
128
+ * Short bars: label beside the node with surface pill.
129
+ * Last column labels go to the left to avoid clipping.
130
+ */
131
+ function BesideLabel({
132
+ node,
133
+ nodeWidth,
134
+ text,
135
+ pctStr,
136
+ showPercent,
137
+ height,
138
+ isLastColumn
139
+ }) {
140
+ const cx = node.x + nodeWidth / 2;
141
+ const cy = node.y + node.height / 2;
142
+ const pillW = text.length * 6 + 10;
143
+ const pillH = 16;
144
+ const labelX = isLastColumn ? node.x - 6 : node.x + nodeWidth + 6;
145
+ const pillX = isLastColumn ? labelX - pillW + 4 : labelX - 4;
146
+ const textAnchor = isLastColumn ? 'end' : 'start';
147
+ return /*#__PURE__*/_jsxs("g", {
148
+ children: [/*#__PURE__*/_jsx("rect", {
149
+ x: pillX,
150
+ y: cy - pillH / 2,
151
+ width: pillW,
152
+ height: pillH,
153
+ rx: 3,
154
+ fill: "var(--color-background-surface, #fff)",
155
+ fillOpacity: 0.9
156
+ }), /*#__PURE__*/_jsx("text", {
157
+ x: labelX,
158
+ y: cy,
159
+ textAnchor: textAnchor,
160
+ dominantBaseline: "central",
161
+ style: {
162
+ font: '600 10px/1 system-ui',
163
+ fill: 'var(--color-text-primary, #1c1c1e)',
164
+ letterSpacing: '-0.01em'
165
+ },
166
+ children: text
167
+ }), showPercent && node.column > 0 && /*#__PURE__*/_jsx("text", {
168
+ x: cx,
169
+ y: Math.min(height - 2, node.y + node.height + 12),
170
+ textAnchor: "middle",
171
+ style: {
172
+ font: '500 9px/1 system-ui',
173
+ fill: 'var(--color-text-tertiary, #8e8ea0)'
174
+ },
175
+ children: pctStr
176
+ })]
177
+ });
178
+ }
179
+ SankeyLabel.displayName = 'SankeyLabel';
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Link color mode:
3
+ * - `'gradient'` — even transition from source to target color
4
+ * - `'source'` — each link uses its source node's color
5
+ * - `'target'` — each link uses its target node's color
6
+ * - `{gradient: number}` — biased gradient (0–1). 0.2 = source-leaned, 0.8 = target-leaned
7
+ * - `string` — any CSS color for flat uniform fill
8
+ */
9
+ export type SankeyLinkColor = 'gradient' | 'source' | 'target' | {
10
+ gradient: number;
11
+ } | (string & {});
12
+ export interface SankeyLinkProps {
13
+ /** Link coloring mode (default: 'gradient') */
14
+ color?: SankeyLinkColor;
15
+ /** Opacity of the link fills (default: 0.7) */
16
+ opacity?: number;
17
+ /** Bezier tension — 0 is straight, 1 is maximum curve (default: 0.5) */
18
+ tension?: number;
19
+ }
20
+ /**
21
+ * Renders all link ribbons in the Sankey chart.
22
+ *
23
+ * Place before SankeyNode so nodes render on top.
24
+ */
25
+ export declare function SankeyLink({ color, opacity, tension, }: SankeyLinkProps): import("react").JSX.Element;
26
+ export declare namespace SankeyLink {
27
+ var displayName: string;
28
+ }
29
+ //# sourceMappingURL=SankeyLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SankeyLink.d.ts","sourceRoot":"","sources":["../../src/Sankey/SankeyLink.tsx"],"names":[],"mappings":"AAcA;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,QAAQ,GACR,QAAQ,GACR;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,GAClB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4BD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAkB,EAClB,OAAa,EACb,OAAa,GACd,EAAE,eAAe,+BAoDjB;yBAxDe,UAAU"}