@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,139 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file SankeyLink.tsx
5
+ * @output Renders flow ribbons with configurable color modes
6
+ * @position Visual layer — the colorful flowing areas between nodes
7
+ *
8
+ * Color modes: flat CSS string, 'source', 'target', 'gradient',
9
+ * or {gradient: bias} for leaned transitions.
10
+ */
11
+
12
+ import { useSankey } from "./SankeyContext.js";
13
+
14
+ /**
15
+ * Link color mode:
16
+ * - `'gradient'` — even transition from source to target color
17
+ * - `'source'` — each link uses its source node's color
18
+ * - `'target'` — each link uses its target node's color
19
+ * - `{gradient: number}` — biased gradient (0–1). 0.2 = source-leaned, 0.8 = target-leaned
20
+ * - `string` — any CSS color for flat uniform fill
21
+ */
22
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
+ function oklch(c, alpha) {
24
+ return `oklch(${c[0]} ${c[1]} ${c[2]} / ${alpha})`;
25
+ }
26
+ function resolveColor(color) {
27
+ if (typeof color === 'object' && 'gradient' in color) {
28
+ return {
29
+ type: 'gradient',
30
+ bias: color.gradient
31
+ };
32
+ }
33
+ if (color === 'gradient') {
34
+ return {
35
+ type: 'gradient',
36
+ bias: 0.5
37
+ };
38
+ }
39
+ if (color === 'source') {
40
+ return {
41
+ type: 'source'
42
+ };
43
+ }
44
+ if (color === 'target') {
45
+ return {
46
+ type: 'target'
47
+ };
48
+ }
49
+ return {
50
+ type: 'flat',
51
+ value: color
52
+ };
53
+ }
54
+
55
+ /**
56
+ * Renders all link ribbons in the Sankey chart.
57
+ *
58
+ * Place before SankeyNode so nodes render on top.
59
+ */
60
+ export function SankeyLink({
61
+ color = 'gradient',
62
+ opacity = 0.7,
63
+ tension = 0.5
64
+ }) {
65
+ const {
66
+ links
67
+ } = useSankey();
68
+ const mode = resolveColor(color);
69
+ return /*#__PURE__*/_jsxs("g", {
70
+ children: [mode.type === 'gradient' && /*#__PURE__*/_jsx("defs", {
71
+ children: links.map((link, i) => /*#__PURE__*/_jsx(GradientDef, {
72
+ index: i,
73
+ link: link,
74
+ opacity: opacity,
75
+ bias: mode.bias
76
+ }, i))
77
+ }), links.map((link, i) => {
78
+ const sx = link.source.x + link.source.width;
79
+ const tx = link.target.x;
80
+ const sy = link.sourceY;
81
+ const ty = link.targetY;
82
+ const lh = link.height;
83
+ const dx = (tx - sx) * tension;
84
+ const d = [`M${sx},${sy}`, `C${sx + dx},${sy} ${tx - dx},${ty} ${tx},${ty}`, `L${tx},${ty + lh}`, `C${tx - dx},${ty + lh} ${sx + dx},${sy + lh} ${sx},${sy + lh}`, 'Z'].join(' ');
85
+ let fill;
86
+ let pathOpacity;
87
+ if (mode.type === 'flat') {
88
+ fill = mode.value;
89
+ pathOpacity = opacity;
90
+ } else if (mode.type === 'source') {
91
+ fill = oklch(link.source.color, opacity);
92
+ } else if (mode.type === 'target') {
93
+ fill = oklch(link.target.color, opacity);
94
+ } else {
95
+ fill = `url(#astryx-sankey-grad-${i})`;
96
+ }
97
+ return /*#__PURE__*/_jsx("path", {
98
+ d: d,
99
+ fill: fill,
100
+ opacity: pathOpacity
101
+ }, i);
102
+ })]
103
+ });
104
+ }
105
+
106
+ /** Gradient definition with bias-adjusted stops */
107
+ function GradientDef({
108
+ index,
109
+ link,
110
+ opacity,
111
+ bias
112
+ }) {
113
+ const sx = link.source.x + link.source.width;
114
+ const tx = link.target.x;
115
+ const s1 = Math.max(0, bias - 0.15);
116
+ const s2 = Math.min(1, bias + 0.15);
117
+ return /*#__PURE__*/_jsxs("linearGradient", {
118
+ id: `astryx-sankey-grad-${index}`,
119
+ x1: sx,
120
+ x2: tx,
121
+ y1: 0,
122
+ y2: 0,
123
+ gradientUnits: "userSpaceOnUse",
124
+ children: [/*#__PURE__*/_jsx("stop", {
125
+ offset: "0%",
126
+ stopColor: oklch(link.source.color, opacity)
127
+ }), /*#__PURE__*/_jsx("stop", {
128
+ offset: `${s1 * 100}%`,
129
+ stopColor: oklch(link.source.color, opacity * 0.9)
130
+ }), /*#__PURE__*/_jsx("stop", {
131
+ offset: `${s2 * 100}%`,
132
+ stopColor: oklch(link.target.color, opacity * 0.9)
133
+ }), /*#__PURE__*/_jsx("stop", {
134
+ offset: "100%",
135
+ stopColor: oklch(link.target.color, opacity)
136
+ })]
137
+ });
138
+ }
139
+ SankeyLink.displayName = 'SankeyLink';
@@ -0,0 +1,15 @@
1
+ export interface SankeyNodeProps {
2
+ /** Whether to show the glow effect behind nodes (default: true) */
3
+ glow?: boolean;
4
+ }
5
+ /**
6
+ * Renders all node indicators in the Sankey chart.
7
+ *
8
+ * Color comes from the chart's `nodeColor` prop (global override)
9
+ * or each node's individual color from data.
10
+ */
11
+ export declare function SankeyNode({ glow }: SankeyNodeProps): import("react").JSX.Element;
12
+ export declare namespace SankeyNode {
13
+ var displayName: string;
14
+ }
15
+ //# sourceMappingURL=SankeyNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SankeyNode.d.ts","sourceRoot":"","sources":["../../src/Sankey/SankeyNode.tsx"],"names":[],"mappings":"AAaA,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAC,IAAW,EAAC,EAAE,eAAe,+BAmCxD;yBAnCe,UAAU"}
@@ -0,0 +1,56 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file SankeyNode.tsx
5
+ * @output Renders node indicators with optional glow
6
+ * @position Visual layer — node bars that labels sit on
7
+ *
8
+ * Reads nodeColor from chart context. When set, all nodes use that color.
9
+ * Otherwise, uses each node's individual oklch color from data.
10
+ */
11
+
12
+ import { useSankey } from "./SankeyContext.js";
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ function oklch(c, alpha) {
15
+ return `oklch(${c[0]} ${c[1]} ${c[2]} / ${alpha})`;
16
+ }
17
+
18
+ /**
19
+ * Renders all node indicators in the Sankey chart.
20
+ *
21
+ * Color comes from the chart's `nodeColor` prop (global override)
22
+ * or each node's individual color from data.
23
+ */
24
+ export function SankeyNode({
25
+ glow = true
26
+ }) {
27
+ const {
28
+ nodes,
29
+ nodeColor
30
+ } = useSankey();
31
+ return /*#__PURE__*/_jsx("g", {
32
+ children: nodes.map(node => {
33
+ const fill = nodeColor || oklch(node.color, 0.9);
34
+ const glowFill = nodeColor || oklch(node.color, 0.12);
35
+ return /*#__PURE__*/_jsxs("g", {
36
+ children: [glow && /*#__PURE__*/_jsx("rect", {
37
+ x: node.x - 3,
38
+ y: node.y - 1,
39
+ width: node.width + 6,
40
+ height: node.height + 2,
41
+ rx: 4,
42
+ fill: glowFill,
43
+ opacity: nodeColor ? 0.12 : 1
44
+ }), /*#__PURE__*/_jsx("rect", {
45
+ x: node.x,
46
+ y: node.y,
47
+ width: node.width,
48
+ height: node.height,
49
+ rx: 1.5,
50
+ fill: fill
51
+ })]
52
+ }, node.id);
53
+ })
54
+ });
55
+ }
56
+ SankeyNode.displayName = 'SankeyNode';
@@ -0,0 +1,8 @@
1
+ export { SankeyChart, type SankeyChartProps } from './SankeyChart';
2
+ export { SankeyLink, type SankeyLinkProps, type SankeyLinkColor, } from './SankeyLink';
3
+ export { SankeyNode, type SankeyNodeProps } from './SankeyNode';
4
+ export { SankeyLabel, type SankeyLabelProps } from './SankeyLabel';
5
+ export { SankeyGrid, type SankeyGridProps } from './SankeyGrid';
6
+ export { useSankey } from './SankeyContext';
7
+ export type { SankeyNodeDatum, SankeyLinkDatum, SankeyColumn, SankeyColumnDef, SankeyNodeLayout, SankeyLinkLayout, SankeyColumnLayout, SankeyContext, } from './types';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Sankey/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAE,KAAK,gBAAgB,EAAC,MAAM,eAAe,CAAC;AACjE,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,UAAU,EAAE,KAAK,eAAe,EAAC,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAE,KAAK,gBAAgB,EAAC,MAAM,eAAe,CAAC;AACjE,OAAO,EAAC,UAAU,EAAE,KAAK,eAAe,EAAC,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,YAAY,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ export { SankeyChart } from "./SankeyChart.js";
4
+ export { SankeyLink } from "./SankeyLink.js";
5
+ export { SankeyNode } from "./SankeyNode.js";
6
+ export { SankeyLabel } from "./SankeyLabel.js";
7
+ export { SankeyGrid } from "./SankeyGrid.js";
8
+ export { useSankey } from "./SankeyContext.js";
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @file layout.ts
3
+ * @output Pure layout algorithm — computes node and link positions
4
+ * @position Core logic; consumed by SankeyChart during render
5
+ *
6
+ * Accepts columns as either string[][] (simple) or SankeyColumnDef[]
7
+ * (with labels). Reserves margin for labels and column headers.
8
+ */
9
+ import type { SankeyNodeDatum, SankeyLinkDatum, SankeyColumn, SankeyNodeLayout, SankeyLinkLayout, SankeyColumnLayout } from './types';
10
+ export interface LayoutOptions {
11
+ width: number;
12
+ height: number;
13
+ nodeWidth?: number;
14
+ nodeGap?: number;
15
+ labelMargin?: number;
16
+ columns?: SankeyColumn[];
17
+ }
18
+ export interface LayoutResult {
19
+ nodes: SankeyNodeLayout[];
20
+ links: SankeyLinkLayout[];
21
+ columns: SankeyColumnLayout[];
22
+ valueScale: number;
23
+ maxValue: number;
24
+ }
25
+ export declare function computeLayout(nodes: SankeyNodeDatum[], links: SankeyLinkDatum[], options: LayoutOptions): LayoutResult;
26
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/Sankey/layout.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,YAAY,EAEZ,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAajB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAyDD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,eAAe,EAAE,EACxB,KAAK,EAAE,eAAe,EAAE,EACxB,OAAO,EAAE,aAAa,GACrB,YAAY,CA8Gd"}
@@ -0,0 +1,157 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file layout.ts
5
+ * @output Pure layout algorithm — computes node and link positions
6
+ * @position Core logic; consumed by SankeyChart during render
7
+ *
8
+ * Accepts columns as either string[][] (simple) or SankeyColumnDef[]
9
+ * (with labels). Reserves margin for labels and column headers.
10
+ */
11
+
12
+ const DEFAULT_PALETTE = [[0.65, 0.2, 270], [0.6, 0.17, 235], [0.62, 0.16, 190], [0.64, 0.18, 155], [0.58, 0.15, 40], [0.55, 0.14, 350], [0.54, 0.15, 20], [0.56, 0.13, 300]];
13
+ /** Normalize column input to the rich format */
14
+ function normalizeColumns(cols) {
15
+ return cols.map(c => Array.isArray(c) ? {
16
+ ids: c
17
+ } : c);
18
+ }
19
+ function autoColumns(nodes, links) {
20
+ const inDegree = new Map();
21
+ const outEdges = new Map();
22
+ nodes.forEach(n => {
23
+ inDegree.set(n.id, 0);
24
+ outEdges.set(n.id, []);
25
+ });
26
+ links.forEach(l => {
27
+ inDegree.set(l.target, (inDegree.get(l.target) || 0) + 1);
28
+ outEdges.get(l.source)?.push(l.target);
29
+ });
30
+ const colMap = new Map();
31
+ const queue = [];
32
+ nodes.forEach(n => {
33
+ if (inDegree.get(n.id) === 0) {
34
+ queue.push(n.id);
35
+ colMap.set(n.id, 0);
36
+ }
37
+ });
38
+ while (queue.length) {
39
+ const id = queue.shift();
40
+ if (id == null) {
41
+ break;
42
+ }
43
+ const col = colMap.get(id) ?? 0;
44
+ for (const tgt of outEdges.get(id) || []) {
45
+ const newCol = col + 1;
46
+ colMap.set(tgt, Math.max(colMap.get(tgt) || 0, newCol));
47
+ inDegree.set(tgt, (inDegree.get(tgt) || 0) - 1);
48
+ if (inDegree.get(tgt) === 0) {
49
+ queue.push(tgt);
50
+ }
51
+ }
52
+ }
53
+ const maxCol = Math.max(...Array.from(colMap.values()), 0);
54
+ const columns = Array.from({
55
+ length: maxCol + 1
56
+ }, () => ({
57
+ ids: []
58
+ }));
59
+ nodes.forEach(n => {
60
+ columns[colMap.get(n.id) || 0].ids.push(n.id);
61
+ });
62
+ return columns;
63
+ }
64
+ export function computeLayout(nodes, links, options) {
65
+ const {
66
+ width,
67
+ height,
68
+ nodeWidth = 20,
69
+ nodeGap = 14,
70
+ labelMargin = 28
71
+ } = options;
72
+ const colDefs = options.columns ? normalizeColumns(options.columns) : autoColumns(nodes, links);
73
+ const colCount = colDefs.length;
74
+ const hasHeaders = colDefs.some(c => c.label);
75
+ const headerMargin = hasHeaders ? 20 : 0;
76
+ const nodeMap = new Map();
77
+ nodes.forEach(n => nodeMap.set(n.id, n));
78
+
79
+ // Usable height after reserving space for labels and headers
80
+ const usableHeight = height - labelMargin - 16 - headerMargin;
81
+
82
+ // Scale based on largest column
83
+ let maxColValue = 0;
84
+ colDefs.forEach(col => {
85
+ const total = col.ids.reduce((s, id) => s + (nodeMap.get(id)?.value || 0), 0);
86
+ if (total > maxColValue) {
87
+ maxColValue = total;
88
+ }
89
+ });
90
+ const maxNodes = Math.max(...colDefs.map(c => c.ids.length));
91
+ const valueScale = (usableHeight - (maxNodes - 1) * nodeGap) / maxColValue;
92
+ const colSpacing = colCount > 1 ? (width - nodeWidth) / (colCount - 1) : 0;
93
+ const columnLayouts = [];
94
+ const layoutNodes = new Map();
95
+ let colorIdx = 0;
96
+ colDefs.forEach((col, ci) => {
97
+ const x = ci * colSpacing;
98
+ columnLayouts.push({
99
+ x,
100
+ label: col.label,
101
+ ids: col.ids
102
+ });
103
+ const totalH = col.ids.reduce((s, id) => s + (nodeMap.get(id)?.value || 0) * valueScale, 0);
104
+ const totalGap = (col.ids.length - 1) * nodeGap;
105
+ let y = labelMargin + (usableHeight - totalH - totalGap) / 2;
106
+ col.ids.forEach(id => {
107
+ const node = nodeMap.get(id);
108
+ if (!node) {
109
+ return;
110
+ }
111
+ const h = node.value * valueScale;
112
+ const color = node.color || DEFAULT_PALETTE[colorIdx % DEFAULT_PALETTE.length];
113
+ colorIdx++;
114
+ layoutNodes.set(id, {
115
+ id,
116
+ label: node.label,
117
+ value: node.value,
118
+ color,
119
+ x,
120
+ y,
121
+ width: nodeWidth,
122
+ height: h,
123
+ column: ci,
124
+ _sourceOffset: 0,
125
+ _targetOffset: 0
126
+ });
127
+ y += h + nodeGap;
128
+ });
129
+ });
130
+ const layoutLinks = links.flatMap(link => {
131
+ const src = layoutNodes.get(link.source);
132
+ const tgt = layoutNodes.get(link.target);
133
+ if (!src || !tgt) {
134
+ return [];
135
+ }
136
+ const lh = link.value * valueScale;
137
+ const sourceY = src.y + src._sourceOffset;
138
+ const targetY = tgt.y + tgt._targetOffset;
139
+ src._sourceOffset += lh;
140
+ tgt._targetOffset += lh;
141
+ return [{
142
+ source: src,
143
+ target: tgt,
144
+ value: link.value,
145
+ height: lh,
146
+ sourceY,
147
+ targetY
148
+ }];
149
+ });
150
+ return {
151
+ nodes: Array.from(layoutNodes.values()),
152
+ links: layoutLinks,
153
+ columns: columnLayouts,
154
+ valueScale,
155
+ maxValue: maxColValue
156
+ };
157
+ }
@@ -0,0 +1,84 @@
1
+ /**
2
+ * @file types.ts
3
+ * @output Sankey chart types — nodes, links, layout, and context
4
+ * @position Foundation types consumed by all Sankey sub-components
5
+ */
6
+ /** A node in the Sankey diagram */
7
+ export interface SankeyNodeDatum {
8
+ /** Unique identifier */
9
+ id: string;
10
+ /** Display label */
11
+ label: string;
12
+ /** Total value flowing through this node */
13
+ value: number;
14
+ /** Color in oklch format [lightness, chroma, hue] */
15
+ color?: [number, number, number];
16
+ }
17
+ /** A link (flow) between two nodes */
18
+ export interface SankeyLinkDatum {
19
+ /** Source node ID */
20
+ source: string;
21
+ /** Target node ID */
22
+ target: string;
23
+ /** Flow value */
24
+ value: number;
25
+ }
26
+ /**
27
+ * Column definition.
28
+ * Simple form: string[] (just node IDs).
29
+ * Rich form: object with IDs, optional label, and type.
30
+ */
31
+ export interface SankeyColumnDef {
32
+ /** Node IDs in this column */
33
+ ids: string[];
34
+ /** Column header label (rendered below the column) */
35
+ label?: string;
36
+ }
37
+ /** Columns can be simple string arrays or rich definitions */
38
+ export type SankeyColumn = string[] | SankeyColumnDef;
39
+ /** Computed layout position for a node */
40
+ export interface SankeyNodeLayout {
41
+ id: string;
42
+ label: string;
43
+ value: number;
44
+ color: [number, number, number];
45
+ x: number;
46
+ y: number;
47
+ width: number;
48
+ height: number;
49
+ column: number;
50
+ _sourceOffset: number;
51
+ _targetOffset: number;
52
+ }
53
+ /** Computed layout position for a link */
54
+ export interface SankeyLinkLayout {
55
+ source: SankeyNodeLayout;
56
+ target: SankeyNodeLayout;
57
+ value: number;
58
+ height: number;
59
+ sourceY: number;
60
+ targetY: number;
61
+ }
62
+ /** Resolved column info exposed to children */
63
+ export interface SankeyColumnLayout {
64
+ /** X position of this column */
65
+ x: number;
66
+ /** Column header label (if provided) */
67
+ label?: string;
68
+ /** Node IDs in this column */
69
+ ids: string[];
70
+ }
71
+ /** Context provided by SankeyChart to children */
72
+ export interface SankeyContext {
73
+ nodes: SankeyNodeLayout[];
74
+ links: SankeyLinkLayout[];
75
+ columns: SankeyColumnLayout[];
76
+ width: number;
77
+ height: number;
78
+ valueScale: number;
79
+ maxValue: number;
80
+ nodeWidth: number;
81
+ /** Global node color override (CSS string) — when set, all nodes use this color */
82
+ nodeColor?: string;
83
+ }
84
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Sankey/types.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,mCAAmC;AACnC,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,sCAAsC;AACtC,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,8DAA8D;AAC9D,MAAM,MAAM,YAAY,GAAG,MAAM,EAAE,GAAG,eAAe,CAAC;AAEtD,0CAA0C;AAC1C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,0CAA0C;AAC1C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAED,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @file CalendarEvent.ts
3
+ * @input ISO event definitions and PlainDate/Instant primitives
4
+ * @output Calendar event types and event construction helpers
5
+ * @position Public schedule event model; consumed by Schedule and views
6
+ */
7
+ import { type PlainDate } from '@astryxdesign/core/utils';
8
+ import type { TokenColor } from '@astryxdesign/core/Token';
9
+ import type { Instant } from './types';
10
+ export type ScheduleEventColor = Exclude<TokenColor, 'default'>;
11
+ export interface ScheduleCategory {
12
+ label: string;
13
+ color: ScheduleEventColor;
14
+ }
15
+ export interface CalendarEventBase {
16
+ id: string;
17
+ title: string;
18
+ category?: string;
19
+ }
20
+ export interface CalendarDayEvent extends CalendarEventBase {
21
+ start: PlainDate;
22
+ end: PlainDate;
23
+ }
24
+ export interface CalendarInstantEvent extends CalendarEventBase {
25
+ start: Instant;
26
+ end: Instant;
27
+ }
28
+ export type CalendarEvent = CalendarDayEvent | CalendarInstantEvent;
29
+ export declare function createEventFromISO({ id, title, category, start, end, }: {
30
+ id: string;
31
+ title: string;
32
+ category?: CalendarEvent['category'];
33
+ start: string;
34
+ end: string;
35
+ }): CalendarEvent;
36
+ //# sourceMappingURL=CalendarEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendarEvent.d.ts","sourceRoot":"","sources":["../../src/Schedule/CalendarEvent.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAIrC,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,kBAAkB,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAEpE,wBAAgB,kBAAkB,CAAC,EACjC,EAAE,EACF,KAAK,EACL,QAAQ,EACR,KAAK,EACL,GAAG,GACJ,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,aAAa,CAiBhB"}
@@ -0,0 +1,35 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file CalendarEvent.ts
5
+ * @input ISO event definitions and PlainDate/Instant primitives
6
+ * @output Calendar event types and event construction helpers
7
+ * @position Public schedule event model; consumed by Schedule and views
8
+ */
9
+
10
+ import { plainDateFromISO } from '@astryxdesign/core/utils';
11
+ const DATE_ONLY_RE = /^\d{4}-\d{2}-\d{2}$/;
12
+ export function createEventFromISO({
13
+ id,
14
+ title,
15
+ category,
16
+ start,
17
+ end
18
+ }) {
19
+ if (DATE_ONLY_RE.test(start) && DATE_ONLY_RE.test(end)) {
20
+ return {
21
+ id,
22
+ title,
23
+ category,
24
+ start: plainDateFromISO(start),
25
+ end: plainDateFromISO(end)
26
+ };
27
+ }
28
+ return {
29
+ id,
30
+ title,
31
+ category,
32
+ start: Date.parse(start),
33
+ end: Date.parse(end)
34
+ };
35
+ }
@@ -0,0 +1,8 @@
1
+ import type { ScheduleView } from './types';
2
+ export interface ScheduleDayViewOptions {
3
+ minHour?: number;
4
+ maxHour?: number;
5
+ hourHeight?: number;
6
+ }
7
+ export declare function createScheduleDayView({ minHour, maxHour, hourHeight, }?: ScheduleDayViewOptions): ScheduleView<ScheduleDayViewOptions>;
8
+ //# sourceMappingURL=DayView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DayView.d.ts","sourceRoot":"","sources":["../../src/Schedule/DayView.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAEV,YAAY,EAEb,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA8BD,wBAAgB,qBAAqB,CAAC,EACpC,OAAW,EACX,OAAY,EACZ,UAAgB,GACjB,GAAE,sBAA2B,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAgCpE"}