@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,55 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file ThreeDGrid.tsx
5
+ * @output 3D wireframe grid on the floor plane (y=0)
6
+ */
7
+
8
+ import { useMemo } from 'react';
9
+ import { use3D } from "./ThreeDContext.js";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ export function ThreeDGrid({
12
+ divisions = 5
13
+ }) {
14
+ const {
15
+ project
16
+ } = use3D();
17
+ const lines = useMemo(() => {
18
+ const result = [];
19
+ for (let i = 0; i <= divisions; i++) {
20
+ const t = i / divisions;
21
+ // X-parallel lines (along z)
22
+ const a = project(t, 0, 0);
23
+ const b = project(t, 0, 1);
24
+ result.push({
25
+ x1: a.px,
26
+ y1: a.py,
27
+ x2: b.px,
28
+ y2: b.py,
29
+ depth: (a.depth + b.depth) / 2
30
+ });
31
+ // Z-parallel lines (along x)
32
+ const c = project(0, 0, t);
33
+ const d = project(1, 0, t);
34
+ result.push({
35
+ x1: c.px,
36
+ y1: c.py,
37
+ x2: d.px,
38
+ y2: d.py,
39
+ depth: (c.depth + d.depth) / 2
40
+ });
41
+ }
42
+ return result.sort((a, b) => a.depth - b.depth);
43
+ }, [project, divisions]);
44
+ return /*#__PURE__*/_jsx("g", {
45
+ children: lines.map((l, i) => /*#__PURE__*/_jsx("line", {
46
+ x1: l.x1,
47
+ y1: l.y1,
48
+ x2: l.x2,
49
+ y2: l.y2,
50
+ stroke: "var(--color-border)",
51
+ strokeOpacity: 0.3,
52
+ strokeWidth: 1
53
+ }, i))
54
+ });
55
+ }
@@ -0,0 +1,7 @@
1
+ export interface ThreeDScatterProps {
2
+ color: string;
3
+ radius?: number;
4
+ opacity?: number;
5
+ }
6
+ export declare function ThreeDScatter({ color, radius, opacity, }: ThreeDScatterProps): import("react").JSX.Element;
7
+ //# sourceMappingURL=ThreeDScatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreeDScatter.d.ts","sourceRoot":"","sources":["../../src/ThreeD/ThreeDScatter.tsx"],"names":[],"mappings":"AAUA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,MAAU,EACV,OAAc,GACf,EAAE,kBAAkB,+BA0CpB"}
@@ -0,0 +1,57 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file ThreeDScatter.tsx
5
+ * @output 3D scatter plot — projected circles with depth-based sizing/opacity
6
+ */
7
+
8
+ import { useMemo } from 'react';
9
+ import { use3D } from "./ThreeDContext.js";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ export function ThreeDScatter({
12
+ color,
13
+ radius = 4,
14
+ opacity = 0.85
15
+ }) {
16
+ const {
17
+ data,
18
+ xKey,
19
+ yKey,
20
+ zKey,
21
+ project,
22
+ xDomain,
23
+ yDomain,
24
+ zDomain,
25
+ normalize
26
+ } = use3D();
27
+ const points = useMemo(() => {
28
+ return data.map((d, i) => {
29
+ const nx = normalize(d[xKey], xDomain);
30
+ const ny = normalize(d[yKey], yDomain);
31
+ const nz = normalize(d[zKey], zDomain);
32
+ const {
33
+ px,
34
+ py,
35
+ depth
36
+ } = project(nx, ny, nz);
37
+ return {
38
+ px,
39
+ py,
40
+ depth,
41
+ index: i
42
+ };
43
+ }).sort((a, b) => a.depth - b.depth); // painter's algorithm
44
+ }, [data, xKey, yKey, zKey, project, xDomain, yDomain, zDomain, normalize]);
45
+ return /*#__PURE__*/_jsx("g", {
46
+ children: points.map(p => {
47
+ const depthFactor = 0.75 + (p.depth + 0.5) * 0.25; // 0.5-1.0
48
+ return /*#__PURE__*/_jsx("circle", {
49
+ cx: p.px,
50
+ cy: p.py,
51
+ r: radius * depthFactor,
52
+ fill: color,
53
+ fillOpacity: opacity * depthFactor
54
+ }, p.index);
55
+ })
56
+ });
57
+ }
@@ -0,0 +1,7 @@
1
+ export interface ThreeDScatterGLProps {
2
+ color: string;
3
+ size?: number;
4
+ opacity?: number;
5
+ }
6
+ export declare function ThreeDScatterGL({ color, size, opacity, }: ThreeDScatterGLProps): import("react").JSX.Element | null;
7
+ //# sourceMappingURL=ThreeDScatterGL.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreeDScatterGL.d.ts","sourceRoot":"","sources":["../../src/ThreeD/ThreeDScatterGL.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4FD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,IAAQ,EACR,OAAc,GACf,EAAE,oBAAoB,sCAuJtB"}
@@ -0,0 +1,243 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file ThreeDScatterGL.tsx
5
+ * @output WebGL 3D scatter — canvas overlaid outside SVG for sharp DPR rendering
6
+ * @position Child of ThreeDChart; reads camera from context (Tier 1)
7
+ *
8
+ * SYNC: The vertex shader replicates ThreeDChart's project() math exactly.
9
+ * Verified by projection.test.ts.
10
+ *
11
+ * The canvas renders as an absolute-positioned sibling to the SVG (not inside
12
+ * foreignObject) to avoid the browser's 1x compositing of foreignObject content
13
+ * on Retina displays.
14
+ */
15
+
16
+ import { useRef, useEffect, useMemo } from 'react';
17
+ import { use3D } from "./ThreeDContext.js";
18
+ import { jsx as _jsx } from "react/jsx-runtime";
19
+ function hexToGL(hex) {
20
+ const n = parseInt(hex.replace('#', ''), 16);
21
+ return [(n >> 16) / 255, (n >> 8 & 0xff) / 255, (n & 0xff) / 255];
22
+ }
23
+
24
+ // SYNC: Steps 1-5 match ThreeDChart.project() exactly.
25
+ const VERT = `
26
+ attribute vec3 a_position;
27
+ uniform vec2 u_resolution;
28
+ uniform vec2 u_center;
29
+ uniform float u_scale;
30
+ uniform float u_cosAz;
31
+ uniform float u_sinAz;
32
+ uniform float u_cosEl;
33
+ uniform float u_sinEl;
34
+ uniform float u_size;
35
+ varying float v_depth;
36
+ void main() {
37
+ vec3 p = a_position - 0.5;
38
+ float x1 = p.x * u_cosAz + p.z * u_sinAz;
39
+ float z1 = -p.x * u_sinAz + p.z * u_cosAz;
40
+ float y1 = p.y * u_cosEl - z1 * u_sinEl;
41
+ float z2 = p.y * u_sinEl + z1 * u_cosEl;
42
+ float px = u_center.x + x1 * u_scale;
43
+ float py = u_center.y - y1 * u_scale;
44
+ vec2 clip = (vec2(px, py) / u_resolution) * 2.0 - 1.0;
45
+ gl_Position = vec4(clip.x, -clip.y, z2, 1.0);
46
+ v_depth = z2;
47
+ float depthFactor = 0.75 + (z2 + 0.5) * 0.25;
48
+ // Compensate for smoothstep edge erosion (visible at r=0.48, not 0.5)
49
+ // so visible circle matches SVG radius exactly
50
+ gl_PointSize = (u_size * depthFactor) / 0.96;
51
+ }
52
+ `;
53
+ const FRAG = `
54
+ precision mediump float;
55
+ uniform vec3 u_color;
56
+ uniform float u_opacity;
57
+ varying float v_depth;
58
+ void main() {
59
+ vec2 coord = gl_PointCoord - vec2(0.5);
60
+ float dist = length(coord);
61
+ if (dist > 0.5) discard;
62
+ float edge = 1.0 - smoothstep(0.48, 0.5, dist);
63
+ float depthFactor = 0.75 + (v_depth + 0.5) * 0.25;
64
+ float a = u_opacity * depthFactor * edge;
65
+ // Premultiplied alpha — required for correct compositing over page
66
+ gl_FragColor = vec4(u_color * a, a);
67
+ }
68
+ `;
69
+ function compileShader(gl, type, src) {
70
+ const s = gl.createShader(type);
71
+ if (!s) {
72
+ return null;
73
+ }
74
+ gl.shaderSource(s, src);
75
+ gl.compileShader(s);
76
+ if (!gl.getShaderParameter(s, gl.COMPILE_STATUS)) {
77
+ gl.deleteShader(s);
78
+ return null;
79
+ }
80
+ return s;
81
+ }
82
+ function createProgram(gl) {
83
+ const vs = compileShader(gl, gl.VERTEX_SHADER, VERT);
84
+ const fs = compileShader(gl, gl.FRAGMENT_SHADER, FRAG);
85
+ if (!vs || !fs) {
86
+ return null;
87
+ }
88
+ const p = gl.createProgram();
89
+ if (!p) {
90
+ return null;
91
+ }
92
+ gl.attachShader(p, vs);
93
+ gl.attachShader(p, fs);
94
+ gl.linkProgram(p);
95
+ if (!gl.getProgramParameter(p, gl.LINK_STATUS)) {
96
+ gl.deleteProgram(p);
97
+ return null;
98
+ }
99
+ return p;
100
+ }
101
+ export function ThreeDScatterGL({
102
+ color,
103
+ size = 4,
104
+ opacity = 0.85
105
+ }) {
106
+ const {
107
+ data,
108
+ xKey,
109
+ yKey,
110
+ zKey,
111
+ xDomain,
112
+ yDomain,
113
+ zDomain,
114
+ normalize,
115
+ camera,
116
+ width,
117
+ height
118
+ } = use3D();
119
+ const canvasRef = useRef(null);
120
+ const containerRef = useRef(null);
121
+ const glRef = useRef(null);
122
+ const programRef = useRef(null);
123
+ const markerRef = useRef(null);
124
+
125
+ // Normalized 3D positions
126
+ const positions = useMemo(() => {
127
+ const buf = new Float32Array(data.length * 3);
128
+ for (let i = 0; i < data.length; i++) {
129
+ buf[i * 3] = normalize(data[i][xKey], xDomain);
130
+ buf[i * 3 + 1] = normalize(data[i][yKey], yDomain);
131
+ buf[i * 3 + 2] = normalize(data[i][zKey], zDomain);
132
+ }
133
+ return buf;
134
+ }, [data, xKey, yKey, zKey, xDomain, yDomain, zDomain, normalize]);
135
+
136
+ // Mount canvas as sibling to SVG
137
+ useEffect(() => {
138
+ const marker = markerRef.current;
139
+ if (!marker) {
140
+ return;
141
+ }
142
+ const svg = marker.ownerSVGElement;
143
+ if (!svg) {
144
+ return;
145
+ }
146
+ const parent = svg.parentElement;
147
+ if (!parent) {
148
+ return;
149
+ }
150
+
151
+ // Ensure parent is positioned for absolute child
152
+ if (getComputedStyle(parent).position === 'static') {
153
+ parent.style.position = 'relative';
154
+ }
155
+
156
+ // Create canvas if not exists
157
+ if (!canvasRef.current) {
158
+ const canvas = document.createElement('canvas');
159
+ canvas.style.position = 'absolute';
160
+ canvas.style.top = '0';
161
+ canvas.style.left = '0';
162
+ canvas.style.pointerEvents = 'none';
163
+ canvasRef.current = canvas;
164
+ }
165
+ const canvas = canvasRef.current;
166
+ parent.appendChild(canvas);
167
+ containerRef.current = parent;
168
+ return () => {
169
+ if (canvas.parentElement) {
170
+ canvas.parentElement.removeChild(canvas);
171
+ }
172
+ };
173
+ }, []);
174
+
175
+ // Draw
176
+ useEffect(() => {
177
+ const canvas = canvasRef.current;
178
+ if (!canvas || width <= 0 || height <= 0) {
179
+ return;
180
+ }
181
+ const dpr = (window.devicePixelRatio || 2) * 2; // 2x supersampling + smoothstep for crisp circles // supersampling for crisp circles
182
+ canvas.width = width * dpr;
183
+ canvas.height = height * dpr;
184
+ canvas.style.width = `${width}px`;
185
+ canvas.style.height = `${height}px`;
186
+ if (!glRef.current) {
187
+ glRef.current = canvas.getContext('webgl', {
188
+ alpha: true,
189
+ premultipliedAlpha: true,
190
+ antialias: true
191
+ });
192
+ }
193
+ const gl = glRef.current;
194
+ if (!gl) {
195
+ return;
196
+ }
197
+ if (!programRef.current) {
198
+ programRef.current = createProgram(gl);
199
+ }
200
+ const program = programRef.current;
201
+ if (!program) {
202
+ return;
203
+ }
204
+ const buf = gl.createBuffer();
205
+ gl.bindBuffer(gl.ARRAY_BUFFER, buf);
206
+ gl.bufferData(gl.ARRAY_BUFFER, positions, gl.STATIC_DRAW);
207
+ gl.viewport(0, 0, canvas.width, canvas.height);
208
+ gl.clearColor(0, 0, 0, 0);
209
+ gl.clear(gl.COLOR_BUFFER_BIT);
210
+ gl.enable(gl.BLEND);
211
+ gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
212
+ gl.useProgram(program);
213
+ const aPos = gl.getAttribLocation(program, 'a_position');
214
+ gl.enableVertexAttribArray(aPos);
215
+ gl.vertexAttribPointer(aPos, 3, gl.FLOAT, false, 0, 0);
216
+
217
+ // All uniforms in logical pixels — viewport handles DPR
218
+ const azRad = camera.azimuth * Math.PI / 180;
219
+ const elRad = camera.elevation * Math.PI / 180;
220
+ const scale = Math.min(width, height) * 0.35;
221
+ const [r, g, b] = hexToGL(color);
222
+ gl.uniform2f(gl.getUniformLocation(program, 'u_resolution'), width, height);
223
+ gl.uniform2f(gl.getUniformLocation(program, 'u_center'), width / 2, height / 2);
224
+ gl.uniform1f(gl.getUniformLocation(program, 'u_scale'), scale);
225
+ gl.uniform1f(gl.getUniformLocation(program, 'u_cosAz'), Math.cos(azRad));
226
+ gl.uniform1f(gl.getUniformLocation(program, 'u_sinAz'), Math.sin(azRad));
227
+ gl.uniform1f(gl.getUniformLocation(program, 'u_cosEl'), Math.cos(elRad));
228
+ gl.uniform1f(gl.getUniformLocation(program, 'u_sinEl'), Math.sin(elRad));
229
+ gl.uniform3f(gl.getUniformLocation(program, 'u_color'), r, g, b);
230
+ gl.uniform1f(gl.getUniformLocation(program, 'u_size'), size * dpr);
231
+ gl.uniform1f(gl.getUniformLocation(program, 'u_opacity'), opacity);
232
+ gl.drawArrays(gl.POINTS, 0, data.length);
233
+ gl.deleteBuffer(buf);
234
+ }, [positions, camera, color, size, opacity, width, height, data.length]);
235
+ if (width <= 0 || height <= 0) {
236
+ return null;
237
+ }
238
+
239
+ // Render an invisible SVG marker — the canvas is mounted imperatively as a sibling
240
+ return /*#__PURE__*/_jsx("g", {
241
+ ref: markerRef
242
+ });
243
+ }
@@ -0,0 +1,15 @@
1
+ export interface ThreeDSurfaceProps {
2
+ /**
3
+ * Color ramp for surface height — low to high.
4
+ * Use useChartColors().sequential.blue(5).
5
+ */
6
+ colorRange: string[];
7
+ opacity?: number;
8
+ wireframe?: boolean;
9
+ }
10
+ /**
11
+ * 3D surface mesh. Data should be a grid of points with x, y (height), z.
12
+ * Points are triangulated in order and colored by y-value.
13
+ */
14
+ export declare function ThreeDSurface({ colorRange, opacity, wireframe, }: ThreeDSurfaceProps): import("react").JSX.Element;
15
+ //# sourceMappingURL=ThreeDSurface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreeDSurface.d.ts","sourceRoot":"","sources":["../../src/ThreeD/ThreeDSurface.tsx"],"names":[],"mappings":"AAUA,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAcD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,OAAa,EACb,SAAiB,GAClB,EAAE,kBAAkB,+BAqGpB"}
@@ -0,0 +1,97 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file ThreeDSurface.tsx
5
+ * @output 3D surface mesh — projected triangulated grid with color mapping
6
+ */
7
+
8
+ import { useMemo } from 'react';
9
+ import { use3D } from "./ThreeDContext.js";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ function lerpColor(colors, t) {
12
+ const clamped = Math.max(0, Math.min(1, t));
13
+ if (colors.length === 1) {
14
+ return colors[0];
15
+ }
16
+ const scaled = clamped * (colors.length - 1);
17
+ const lo = Math.floor(scaled);
18
+ const hi = Math.min(lo + 1, colors.length - 1);
19
+ // Simple: just return the nearest
20
+ return scaled - lo < 0.5 ? colors[lo] : colors[hi];
21
+ }
22
+
23
+ /**
24
+ * 3D surface mesh. Data should be a grid of points with x, y (height), z.
25
+ * Points are triangulated in order and colored by y-value.
26
+ */
27
+ export function ThreeDSurface({
28
+ colorRange,
29
+ opacity = 0.8,
30
+ wireframe = false
31
+ }) {
32
+ const {
33
+ data,
34
+ xKey,
35
+ yKey,
36
+ zKey,
37
+ project,
38
+ xDomain,
39
+ yDomain,
40
+ zDomain,
41
+ normalize
42
+ } = use3D();
43
+ const faces = useMemo(() => {
44
+ // Detect grid dimensions from unique x and z values
45
+ const xVals = [...new Set(data.map(d => d[xKey]))].sort((a, b) => a - b);
46
+ const zVals = [...new Set(data.map(d => d[zKey]))].sort((a, b) => a - b);
47
+ const cols = xVals.length;
48
+ const rows = zVals.length;
49
+ if (cols < 2 || rows < 2) {
50
+ return [];
51
+ }
52
+
53
+ // Build lookup grid
54
+ const grid = new Map();
55
+ for (const d of data) {
56
+ grid.set(`${d[xKey]},${d[zKey]}`, d);
57
+ }
58
+ const result = [];
59
+ for (let r = 0; r < rows - 1; r++) {
60
+ for (let c = 0; c < cols - 1; c++) {
61
+ const corners = [grid.get(`${xVals[c]},${zVals[r]}`), grid.get(`${xVals[c + 1]},${zVals[r]}`), grid.get(`${xVals[c + 1]},${zVals[r + 1]}`), grid.get(`${xVals[c]},${zVals[r + 1]}`)];
62
+ if (corners.some(c => !c)) {
63
+ continue;
64
+ }
65
+ const validCorners = corners.filter(c => c != null);
66
+ const projected = validCorners.map(d => {
67
+ const nx = normalize(d[xKey], xDomain);
68
+ const ny = normalize(d[yKey], yDomain);
69
+ const nz = normalize(d[zKey], zDomain);
70
+ return {
71
+ ...project(nx, ny, nz),
72
+ ny
73
+ };
74
+ });
75
+ const avgY = projected.reduce((s, p) => s + p.ny, 0) / 4;
76
+ const avgDepth = projected.reduce((s, p) => s + p.depth, 0) / 4;
77
+ const color = lerpColor(colorRange, avgY);
78
+ result.push({
79
+ points: projected.map(p => `${p.px},${p.py}`).join(' '),
80
+ color,
81
+ depth: avgDepth
82
+ });
83
+ }
84
+ }
85
+ return result.sort((a, b) => a.depth - b.depth);
86
+ }, [data, xKey, yKey, zKey, project, xDomain, yDomain, zDomain, normalize, colorRange]);
87
+ return /*#__PURE__*/_jsx("g", {
88
+ children: faces.map((f, i) => /*#__PURE__*/_jsx("polygon", {
89
+ points: f.points,
90
+ fill: wireframe ? 'none' : f.color,
91
+ fillOpacity: opacity,
92
+ stroke: wireframe ? f.color : f.color,
93
+ strokeWidth: wireframe ? 1 : 0.5,
94
+ strokeOpacity: wireframe ? 0.8 : 0.3
95
+ }, i))
96
+ });
97
+ }
@@ -0,0 +1,10 @@
1
+ export { ThreeDChart, type ThreeDChartProps } from './ThreeDChart';
2
+ export { ThreeDScatter, type ThreeDScatterProps } from './ThreeDScatter';
3
+ export { ThreeDScatterGL, type ThreeDScatterGLProps } from './ThreeDScatterGL';
4
+ export { ThreeDBar, type ThreeDBarProps } from './ThreeDBar';
5
+ export { ThreeDGrid, type ThreeDGridProps } from './ThreeDGrid';
6
+ export { ThreeDAxis, type ThreeDAxisProps } from './ThreeDAxis';
7
+ export { ThreeDSurface, type ThreeDSurfaceProps } from './ThreeDSurface';
8
+ export { use3D } from './ThreeDContext';
9
+ export type { ThreeDContext, Camera, Point3D, ProjectedPoint } from './types';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ThreeD/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAE,KAAK,gBAAgB,EAAC,MAAM,eAAe,CAAC;AACjE,OAAO,EAAC,aAAa,EAAE,KAAK,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAC,eAAe,EAAE,KAAK,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAC,SAAS,EAAE,KAAK,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAC,UAAU,EAAE,KAAK,eAAe,EAAC,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAC,UAAU,EAAE,KAAK,eAAe,EAAC,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAC,aAAa,EAAE,KAAK,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,YAAY,EAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC"}
@@ -0,0 +1,10 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ export { ThreeDChart } from "./ThreeDChart.js";
4
+ export { ThreeDScatter } from "./ThreeDScatter.js";
5
+ export { ThreeDScatterGL } from "./ThreeDScatterGL.js";
6
+ export { ThreeDBar } from "./ThreeDBar.js";
7
+ export { ThreeDGrid } from "./ThreeDGrid.js";
8
+ export { ThreeDAxis } from "./ThreeDAxis.js";
9
+ export { ThreeDSurface } from "./ThreeDSurface.js";
10
+ export { use3D } from "./ThreeDContext.js";
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @file types.ts
3
+ * @output 3D chart types and context
4
+ * @position Foundation types consumed by all 3D sub-components
5
+ *
6
+ * Uses a simple perspective projection — no WebGL dependency for the
7
+ * coordinate system. Marks can render as projected SVG or WebGL.
8
+ */
9
+ /** 3D point in data space */
10
+ export interface Point3D {
11
+ x: number;
12
+ y: number;
13
+ z: number;
14
+ }
15
+ /** 2D projected point with depth for sorting */
16
+ export interface ProjectedPoint {
17
+ px: number;
18
+ py: number;
19
+ depth: number;
20
+ }
21
+ /** Camera configuration */
22
+ export interface Camera {
23
+ /** Rotation around the vertical axis in degrees (default: 30) */
24
+ azimuth: number;
25
+ /** Rotation above the horizontal plane in degrees (default: 20) */
26
+ elevation: number;
27
+ /** Distance from origin — affects perspective strength (default: 5) */
28
+ distance?: number;
29
+ }
30
+ /** 3D context provided by ThreeDChart to children */
31
+ export interface ThreeDContext {
32
+ /** Inner width in pixels */
33
+ width: number;
34
+ /** Inner height in pixels */
35
+ height: number;
36
+ /** The full dataset */
37
+ data: Record<string, unknown>[];
38
+ /** Data key for x dimension */
39
+ xKey: string;
40
+ /** Data key for y dimension (vertical) */
41
+ yKey: string;
42
+ /** Data key for z dimension (depth) */
43
+ zKey: string;
44
+ /** Project a 3D data point to 2D screen coordinates */
45
+ project: (x: number, y: number, z: number) => ProjectedPoint;
46
+ /** Domain for x axis [min, max] */
47
+ xDomain: [number, number];
48
+ /** Domain for y axis [min, max] */
49
+ yDomain: [number, number];
50
+ /** Domain for z axis [min, max] */
51
+ zDomain: [number, number];
52
+ /** Normalize a value within a domain to [0, 1] */
53
+ normalize: (value: number, domain: [number, number]) => number;
54
+ /** Camera settings */
55
+ camera: Camera;
56
+ }
57
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ThreeD/types.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,6BAA6B;AAC7B,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,2BAA2B;AAC3B,MAAM,WAAW,MAAM;IACrB,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,cAAc,CAAC;IAC7D,mCAAmC;IACnC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,mCAAmC;IACnC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,mCAAmC;IACnC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,kDAAkD;IAClD,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;IAC/D,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @astryxdesign/lab — Experimental Astryx components
3
+ *
4
+ * Components here are functional but not yet hardened for production.
5
+ * They're available in storybook and sandbox for testing and iteration.
6
+ * Once vetted, components graduate to @astryxdesign/core.
7
+ *
8
+ * This package is published to npm ONLY under the @canary dist-tag
9
+ * (npm install @astryxdesign/lab@canary). It is never released as a
10
+ * stable (latest) version.
11
+ */
12
+ export { CodeBlock, type CodeBlockProps } from './CodeBlock';
13
+ export { CodeEditor, type CodeEditorProps } from './CodeEditor';
14
+ export { tokenize, tokenizeAsync, SYNC_TOKENIZE_THRESHOLD, type SyntaxToken, } from '@astryxdesign/core/CodeBlock';
15
+ export { ChatReasoning, type ChatReasoningProps, } from './ChatReasoning/ChatReasoning';
16
+ export * from './Schedule';
17
+ export { SVGIcon, type SVGIconProps, type SVGIconVariation, type SVGIconSize, type SVGIconColor, type SVGIconDef, type IconShape, type IconShapeRole, iconVars, variations, opticalSize, xIcon, checkIcon, bellIcon, homeIcon, settingsIcon, calendarIcon, menuIcon, heartIcon, eyeIcon, starIcon, folderIcon, shieldIcon, searchIcon, mailIcon, lockIcon, starterIcons, } from './SVGIcon';
18
+ export { Chart, type ChartProps, type YBaseline, ChartAxis, type ChartAxisProps, ChartGrid, type ChartGridProps, ChartBar, type ChartBarProps, ChartLine, type ChartLineProps, ChartArea, type ChartAreaProps, ChartErrorBar, type ChartErrorBarProps, ChartCandlestick, type ChartCandlestickProps, ChartDot, type ChartDotProps, ChartDotGL, type ChartDotGLProps, ChartDotGLInteractive, type ChartDotGLInteractiveProps, ChartHeatmapGL, type ChartHeatmapGLProps, ChartStreamGL, type ChartStreamGLProps, type ChartStreamGLHandle, ChartTooltip, type ChartTooltipProps, type ChartCrosshairMode, ChartLegend, type ChartLegendProps, type ChartLegendItem, useChart, type ChartContext, type ChartMargin, type ChartScale, m4Reduce, type M4Point, useChartColors, useChartRange, type UseChartRangeOptions, type UseChartRangeReturn, getChartColors, getChartColorsFromResolver, type ChartColorsAPI, type SequentialHue, type TokenResolver, compactNumber, currency, percent, shortDate, monthYear, } from './Chart';
19
+ export { RadialChart, type RadialChartProps, RadialGrid, type RadialGridProps, RadialArea, type RadialAreaProps, RadialAxis, type RadialAxisProps, RadialSlice, type RadialSliceProps, RadialTooltip, type RadialTooltipProps, type RadialTooltipDatum, useRadial, type RadialContext, type RadialMode, } from './Radial';
20
+ export { ThreeDChart, type ThreeDChartProps, ThreeDScatter, ThreeDScatterGL, type ThreeDScatterProps, type ThreeDScatterGLProps, ThreeDBar, type ThreeDBarProps, ThreeDGrid, type ThreeDGridProps, ThreeDAxis, type ThreeDAxisProps, ThreeDSurface, type ThreeDSurfaceProps, use3D, type ThreeDContext, type Camera, type Point3D, type ProjectedPoint, } from './ThreeD';
21
+ export { ChartBrush, type ChartBrushProps, type BrushMode, type BrushRange, ChartZoom, type ChartZoomProps, ChartSelect, type ChartSelectProps, ChartReferenceLine, type ChartReferenceLineProps, } from './Chart';
22
+ export { SankeyChart, type SankeyChartProps, SankeyLink, type SankeyLinkProps, SankeyNode, type SankeyNodeProps, SankeyLabel, type SankeyLabelProps, useSankey, type SankeyNodeDatum, type SankeyLinkDatum, type SankeyColumn, type SankeyColumnDef, type SankeyNodeLayout, type SankeyLinkLayout, type SankeyColumnLayout, SankeyGrid, type SankeyGridProps, type SankeyContext, } from './Sankey';
23
+ export { Chart as ChartV2, type ChartProps as ChartV2Props, ChartLegend as ChartV2Legend, type ChartLegendProps as ChartV2LegendProps, type LegendItem as ChartV2LegendItem, ChartAxis as ChartV2Axis, type ChartAxisProps as ChartV2AxisProps, ChartGrid as ChartV2Grid, type ChartGridProps as ChartV2GridProps, ChartSwatch as ChartV2Swatch, swatchVariantForType as xdsChartV2SwatchVariantForType, type ChartSwatchProps as ChartV2SwatchProps, type ChartSwatchVariant as ChartV2SwatchVariant, ChartTooltip as ChartV2Tooltip, type ChartTooltipProps as ChartV2TooltipProps, type ChartTooltipPlacement as ChartV2TooltipPlacement, type TooltipSeriesValue as ChartV2TooltipSeriesValue, bar, line, dot, area, band, candlestick, errorBar, referenceLine, dotGL, dotGLInteractive, heatmapGL, streamGL, useChartV2, type SeriesDef, type ChartV2Context, type ChartPointerEvent, type ResolvedPoint, type ResolvedPositions, type SeriesContext, type ErrorBarOptions, type ReferenceLineOptions, type DotGLOptions, type DotGLInteractiveOptions, type HeatmapGLOptions, type StreamGLOptions, type StreamGLHandle, } from './ChartV2';
24
+ export * from './Stepper';
25
+ export * from './CircularProgress';
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}