@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 @@
1
+ {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../src/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAiBlD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAuF5D,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,uBAAuB;IACvB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;CAC7D;AA6BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAsB,EACtB,cAAsB,EACtB,UAAkB,EAClB,WAAW,EACX,SAAS,EACT,IAAW,EACX,SAAS,EAAE,eAAe,EAC1B,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,+BAiQjB;yBAhRe,UAAU"}
@@ -0,0 +1,396 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file CodeEditor.tsx
5
+ * @input Uses React, StyleX, theme tokens, CSS Custom Highlight API
6
+ * @output Exports CodeEditor component and CodeEditorProps
7
+ * @position Core implementation; editable code input (lab/experimental)
8
+ *
9
+ * SYNC: When modified, update:
10
+ * - /packages/lab/src/CodeEditor/index.ts (exports if types change)
11
+ * - /packages/lab/src/CodeBlock/tokenizer.ts (shared tokenizer)
12
+ * - /packages/lab/src/CodeBlock/highlightStyles.ts (::highlight rules)
13
+ */
14
+
15
+ 'use client';
16
+
17
+ import { useEffect, useLayoutEffect, useRef, useCallback, useState } from 'react';
18
+ import * as stylex from '@stylexjs/stylex';
19
+ import '@astryxdesign/core/theme/tokens.stylex';
20
+ import { colorVars, spacingVars, radiusVars, textSizeVars, typographyVars, typeScaleVars, borderVars } from '@astryxdesign/core/theme/tokens.stylex';
21
+ import { mergeProps } from '@astryxdesign/core/utils';
22
+ import { tokenize, tokenizeAsync, SYNC_TOKENIZE_THRESHOLD } from '@astryxdesign/core/CodeBlock';
23
+ import { themeProps } from '@astryxdesign/core/utils';
24
+ import { ensureHighlightStyles, applyHighlightRangesFlat } from '@astryxdesign/core/CodeBlock';
25
+
26
+ // ---------------------------------------------------------------------------
27
+ // Styles
28
+ // ---------------------------------------------------------------------------
29
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
30
+ const styles = {
31
+ root: {
32
+ kVAEAm: "x1n2onr6",
33
+ k1xSpc: "x78zum5",
34
+ kaIpWk: "xh6dtrn",
35
+ kWkggS: "xwmxj5m",
36
+ kVQacm: "xb3r6kr",
37
+ $$css: true
38
+ },
39
+ rootFocused: {
40
+ kVAM5u: "xad5do",
41
+ kGVxlE: "x18oyj42",
42
+ $$css: true
43
+ },
44
+ gutter: {
45
+ kmuXW: "x2lah0s",
46
+ k8WAf4: "x8o8v82",
47
+ kZCmMZ: "x1rey3nv",
48
+ kwRFfy: "x1t818jl",
49
+ k9WMMc: "xp4054r",
50
+ kfSwDN: "x87ps6o",
51
+ kMwMTN: "xnbbluu",
52
+ $$css: true
53
+ },
54
+ editor: {
55
+ k1xSpc: "x1lliihq",
56
+ kAzted: "x1cy360x",
57
+ k8WAf4: "x8o8v82",
58
+ kg3NbH: "x1pzlopt",
59
+ kogj98: "x1ghz6dp",
60
+ kMv6JI: "x9m5x89",
61
+ kMwMTN: "x1tgivj0",
62
+ kKi2Bq: "xeq4nuv",
63
+ khDVqt: "x1sdyfia",
64
+ kTgw9: "x1lldw8n",
65
+ kHjlTd: "x1h4wwuj",
66
+ kI3sdo: "x1a2a7pz",
67
+ knGrYV: "x1ftfhsn",
68
+ kLWn49: "x17iicif",
69
+ $$css: true
70
+ },
71
+ placeholder: {
72
+ kVAEAm: "x10l6tqk",
73
+ k87sOh: "xyx6v2t",
74
+ kbCHJM: "x1unci72",
75
+ kMwMTN: "xnbbluu",
76
+ kMv6JI: "x9m5x89",
77
+ kLWn49: "x17iicif",
78
+ kfzvcC: "x47corl",
79
+ kfSwDN: "x87ps6o",
80
+ $$css: true
81
+ },
82
+ sizeSm: {
83
+ kGuDYH: "x1eqnyfr",
84
+ $$css: true
85
+ },
86
+ sizeMd: {
87
+ kGuDYH: "x1j29vfg",
88
+ $$css: true
89
+ },
90
+ gutterSm: {
91
+ kGuDYH: "x1eqnyfr",
92
+ $$css: true
93
+ },
94
+ gutterMd: {
95
+ kGuDYH: "x1j29vfg",
96
+ $$css: true
97
+ }
98
+ };
99
+
100
+ // ---------------------------------------------------------------------------
101
+ // Props
102
+ // ---------------------------------------------------------------------------
103
+
104
+ // ---------------------------------------------------------------------------
105
+ // Helpers
106
+ // ---------------------------------------------------------------------------
107
+
108
+ function hasHighlightAPI() {
109
+ return typeof CSS !== 'undefined' && 'highlights' in CSS && typeof Highlight !== 'undefined';
110
+ }
111
+ const AUTO_CLOSE_PAIRS = {
112
+ '(': ')',
113
+ '[': ']',
114
+ '{': '}',
115
+ '"': '"',
116
+ "'": "'",
117
+ '`': '`'
118
+ };
119
+ let editorInstanceCounter = 0;
120
+
121
+ // ---------------------------------------------------------------------------
122
+ // Component
123
+ // ---------------------------------------------------------------------------
124
+
125
+ /**
126
+ * An editable code input using contentEditable="plaintext-only".
127
+ *
128
+ * Uses CSS Custom Highlight API for syntax coloring. Supports
129
+ * auto-indent, tab insertion, and bracket auto-closing.
130
+ *
131
+ * @example
132
+ * ```tsx
133
+ * const [code, setCode] = useState('');
134
+ * <CodeEditor
135
+ * value={code}
136
+ * onChange={setCode}
137
+ * language="typescript"
138
+ * hasLineNumbers
139
+ * />
140
+ * ```
141
+ */
142
+ export function CodeEditor({
143
+ value,
144
+ onChange,
145
+ language = 'plaintext',
146
+ hasLineNumbers = false,
147
+ isReadOnly = false,
148
+ placeholder,
149
+ maxHeight,
150
+ size = 'md',
151
+ tokenizer: customTokenizer,
152
+ xstyle,
153
+ className,
154
+ style,
155
+ ref,
156
+ ...props
157
+ }) {
158
+ const editorRef = useRef(null);
159
+ const [instanceId] = useState(() => ++editorInstanceCounter);
160
+ const [focused, setFocused] = useState(false);
161
+ const isComposingRef = useRef(false);
162
+ const lines = value.split('\n');
163
+
164
+ // Sync textContent with controlled value
165
+ useLayoutEffect(() => {
166
+ const el = editorRef.current;
167
+ if (!el) {
168
+ return;
169
+ }
170
+ if (el.textContent !== value) {
171
+ el.textContent = value;
172
+ }
173
+ }, [value]);
174
+
175
+ // Ensure styles are always injected
176
+ useLayoutEffect(() => {
177
+ ensureHighlightStyles();
178
+ }, []);
179
+
180
+ // Apply CSS Custom Highlight API ranges — small code
181
+ useLayoutEffect(() => {
182
+ if (value.length >= SYNC_TOKENIZE_THRESHOLD) {
183
+ return;
184
+ }
185
+ if (!hasHighlightAPI()) {
186
+ return;
187
+ }
188
+ const el = editorRef.current;
189
+ if (!el) {
190
+ return;
191
+ }
192
+ const tok = customTokenizer ?? tokenize;
193
+ const tokens = tok(value, language);
194
+ if (tokens.length === 0) {
195
+ return;
196
+ }
197
+ return applyHighlightRangesFlat(el, tokens);
198
+ }, [value, language, customTokenizer, instanceId]);
199
+
200
+ // Apply CSS Custom Highlight API ranges — large code (async)
201
+ useEffect(() => {
202
+ if (value.length < SYNC_TOKENIZE_THRESHOLD) {
203
+ return;
204
+ }
205
+ if (!hasHighlightAPI()) {
206
+ return;
207
+ }
208
+ const el = editorRef.current;
209
+ if (!el) {
210
+ return;
211
+ }
212
+ const abortController = new AbortController();
213
+ let cleanup;
214
+ tokenizeAsync(value, language, abortController.signal).then(tokens => {
215
+ if (abortController.signal.aborted) {
216
+ return;
217
+ }
218
+ if (tokens.length === 0) {
219
+ return;
220
+ }
221
+ cleanup = applyHighlightRangesFlat(el, tokens);
222
+ });
223
+ return () => {
224
+ abortController.abort();
225
+ cleanup?.();
226
+ };
227
+ }, [value, language, customTokenizer, instanceId]);
228
+ const handleInput = useCallback(() => {
229
+ if (isComposingRef.current) {
230
+ return;
231
+ }
232
+ const el = editorRef.current;
233
+ if (!el) {
234
+ return;
235
+ }
236
+ const newValue = el.textContent ?? '';
237
+ onChange(newValue);
238
+ }, [onChange]);
239
+ const handleKeyDown = useCallback(e => {
240
+ if (isReadOnly) {
241
+ return;
242
+ }
243
+
244
+ // Tab key: insert 2 spaces
245
+ if (e.key === 'Tab') {
246
+ e.preventDefault();
247
+ const sel = window.getSelection();
248
+ if (!sel || sel.rangeCount === 0) {
249
+ return;
250
+ }
251
+ const range = sel.getRangeAt(0);
252
+ range.deleteContents();
253
+ const textNode = document.createTextNode(' ');
254
+ range.insertNode(textNode);
255
+ range.setStartAfter(textNode);
256
+ range.setEndAfter(textNode);
257
+ sel.removeAllRanges();
258
+ sel.addRange(range);
259
+ const el = editorRef.current;
260
+ if (el) {
261
+ onChange(el.textContent ?? '');
262
+ }
263
+ return;
264
+ }
265
+
266
+ // Enter key: preserve indentation
267
+ if (e.key === 'Enter') {
268
+ e.preventDefault();
269
+ const sel = window.getSelection();
270
+ if (!sel || sel.rangeCount === 0) {
271
+ return;
272
+ }
273
+ const el = editorRef.current;
274
+ if (!el) {
275
+ return;
276
+ }
277
+ const fullText = el.textContent ?? '';
278
+
279
+ // Find cursor offset
280
+ const range = sel.getRangeAt(0);
281
+ const preCaretRange = range.cloneRange();
282
+ preCaretRange.selectNodeContents(el);
283
+ preCaretRange.setEnd(range.startContainer, range.startOffset);
284
+ const cursorOffset = preCaretRange.toString().length;
285
+
286
+ // Find current line and its indentation
287
+ const beforeCursor = fullText.slice(0, cursorOffset);
288
+ const lastNewline = beforeCursor.lastIndexOf('\n');
289
+ const currentLine = beforeCursor.slice(lastNewline + 1);
290
+ const indent = currentLine.match(/^(\s*)/)?.[1] ?? '';
291
+
292
+ // Insert newline + indent
293
+ const insertText = '\n' + indent;
294
+ range.deleteContents();
295
+ const textNode = document.createTextNode(insertText);
296
+ range.insertNode(textNode);
297
+ range.setStartAfter(textNode);
298
+ range.setEndAfter(textNode);
299
+ sel.removeAllRanges();
300
+ sel.addRange(range);
301
+ onChange(el.textContent ?? '');
302
+ return;
303
+ }
304
+
305
+ // Auto-close brackets and quotes
306
+ const closeChar = AUTO_CLOSE_PAIRS[e.key];
307
+ if (closeChar) {
308
+ const sel = window.getSelection();
309
+ if (!sel || sel.rangeCount === 0) {
310
+ return;
311
+ }
312
+ const range = sel.getRangeAt(0);
313
+
314
+ // Only auto-close if no text is selected
315
+ if (!range.collapsed) {
316
+ return;
317
+ }
318
+ e.preventDefault();
319
+ const textNode = document.createTextNode(e.key + closeChar);
320
+ range.deleteContents();
321
+ range.insertNode(textNode);
322
+ // Place cursor between the pair
323
+ range.setStart(textNode, 1);
324
+ range.setEnd(textNode, 1);
325
+ sel.removeAllRanges();
326
+ sel.addRange(range);
327
+ const el = editorRef.current;
328
+ if (el) {
329
+ onChange(el.textContent ?? '');
330
+ }
331
+ }
332
+ }, [isReadOnly, onChange]);
333
+ const handleCompositionStart = useCallback(() => {
334
+ isComposingRef.current = true;
335
+ }, []);
336
+ const handleCompositionEnd = useCallback(() => {
337
+ isComposingRef.current = false;
338
+ handleInput();
339
+ }, [handleInput]);
340
+ const sizeStyle = size === 'sm' ? styles.sizeSm : styles.sizeMd;
341
+ const gutterSizeStyle = size === 'sm' ? styles.gutterSm : styles.gutterMd;
342
+ const showPlaceholder = placeholder && value === '';
343
+ const containerStyle = maxHeight ? {
344
+ maxHeight: typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight
345
+ } : undefined;
346
+ return /*#__PURE__*/_jsx("div", {
347
+ ref: ref,
348
+ ...mergeProps(themeProps('codeeditor', {
349
+ size,
350
+ language
351
+ }), stylex.props(styles.root, focused && styles.rootFocused, xstyle), className, style),
352
+ ...props,
353
+ children: /*#__PURE__*/_jsxs("div", {
354
+ ...{
355
+ className: "x78zum5 x98rzlu xysyzu8"
356
+ },
357
+ style: containerStyle,
358
+ children: [hasLineNumbers && /*#__PURE__*/_jsx("div", {
359
+ ...stylex.props(styles.gutter, gutterSizeStyle),
360
+ "aria-hidden": "true",
361
+ children: lines.map((_, i) => /*#__PURE__*/_jsx("div", {
362
+ ...{
363
+ className: "x9m5x89 x17iicif"
364
+ },
365
+ children: i + 1
366
+ }, i))
367
+ }), /*#__PURE__*/_jsxs("div", {
368
+ style: {
369
+ position: 'relative',
370
+ flex: 1
371
+ },
372
+ children: [showPlaceholder && /*#__PURE__*/_jsx("div", {
373
+ ...stylex.props(styles.placeholder, sizeStyle),
374
+ children: placeholder
375
+ }), /*#__PURE__*/_jsx("code", {
376
+ ref: editorRef
377
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
378
+ ,
379
+ contentEditable: isReadOnly ? false : 'plaintext-only',
380
+ role: "textbox",
381
+ "aria-multiline": "true",
382
+ "aria-readonly": isReadOnly,
383
+ spellCheck: false,
384
+ onInput: handleInput,
385
+ onKeyDown: handleKeyDown,
386
+ onFocus: () => setFocused(true),
387
+ onBlur: () => setFocused(false),
388
+ onCompositionStart: handleCompositionStart,
389
+ onCompositionEnd: handleCompositionEnd,
390
+ ...stylex.props(styles.editor, sizeStyle)
391
+ })]
392
+ })]
393
+ })
394
+ });
395
+ }
396
+ CodeEditor.displayName = 'CodeEditor';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @file CodeEditor component barrel export
3
+ */
4
+ export { CodeEditor } from './CodeEditor';
5
+ export type { CodeEditorProps } from './CodeEditor';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/CodeEditor/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,YAAY,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file CodeEditor component barrel export
5
+ */
6
+
7
+ export { CodeEditor } from "./CodeEditor.js";
@@ -0,0 +1,25 @@
1
+ export interface RadialAreaProps {
2
+ /** Key identifying which dataset row to plot (matches a value in data) */
3
+ dataKey: string;
4
+ /** Fill color */
5
+ color: string;
6
+ /** Fill opacity (default: 0.2) */
7
+ opacity?: number;
8
+ /** Stroke width (default: 2) */
9
+ strokeWidth?: number;
10
+ /** Show dots at vertices */
11
+ dots?: boolean;
12
+ /** Dot radius */
13
+ dotRadius?: number;
14
+ }
15
+ /**
16
+ * Spider/radar polygon. Reads axis definitions and scales from radial context.
17
+ * Each axis value is normalized to [0,1] within its domain, then mapped to radius.
18
+ *
19
+ * @example
20
+ * ```
21
+ * <RadialArea dataKey="modelA" color={colors[0]} dots />
22
+ * ```
23
+ */
24
+ export declare function RadialArea({ dataKey, color, opacity, strokeWidth, dots, dotRadius, }: RadialAreaProps): import("react").JSX.Element | null;
25
+ //# sourceMappingURL=RadialArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadialArea.d.ts","sourceRoot":"","sources":["../../src/Radial/RadialArea.tsx"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,OAAa,EACb,WAAe,EACf,IAAY,EACZ,SAAa,GACd,EAAE,eAAe,sCA6DjB"}
@@ -0,0 +1,91 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file RadialArea.tsx
5
+ * @output Renders a spider/radar polygon for a dataset
6
+ */
7
+
8
+ import { useMemo } from 'react';
9
+ import { useRadial } from "./RadialContext.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ /**
12
+ * Spider/radar polygon. Reads axis definitions and scales from radial context.
13
+ * Each axis value is normalized to [0,1] within its domain, then mapped to radius.
14
+ *
15
+ * @example
16
+ * ```
17
+ * <RadialArea dataKey="modelA" color={colors[0]} dots />
18
+ * ```
19
+ */
20
+ export function RadialArea({
21
+ dataKey,
22
+ color,
23
+ opacity = 0.2,
24
+ strokeWidth = 2,
25
+ dots = false,
26
+ dotRadius = 4
27
+ }) {
28
+ const {
29
+ cx,
30
+ cy,
31
+ data,
32
+ axes,
33
+ angleByAxis,
34
+ radiusScale,
35
+ axisDomains
36
+ } = useRadial();
37
+ const points = useMemo(() => {
38
+ if (!axes || !angleByAxis || !radiusScale || !axisDomains) {
39
+ return [];
40
+ }
41
+
42
+ // Find the data row matching this key
43
+ // dataKey matches a value in the first non-axis field, or we use the index
44
+ const datum = data.find(d => {
45
+ // Check if any string field matches dataKey
46
+ return Object.values(d).some(v => v === dataKey);
47
+ }) ?? data[0];
48
+ if (!datum) {
49
+ return [];
50
+ }
51
+ return axes.map(key => {
52
+ const angle = angleByAxis.get(key);
53
+ const domain = axisDomains.get(key);
54
+ if (angle == null || !domain) {
55
+ return {
56
+ x: cx,
57
+ y: cy,
58
+ key
59
+ };
60
+ }
61
+ const raw = typeof datum[key] === 'number' ? datum[key] : 0;
62
+ const [min, max] = domain;
63
+ const t = max > min ? (raw - min) / (max - min) : 0;
64
+ const r = radiusScale(Math.max(0, Math.min(1, t)));
65
+ return {
66
+ x: cx + Math.cos(angle) * r,
67
+ y: cy + Math.sin(angle) * r,
68
+ key
69
+ };
70
+ });
71
+ }, [cx, cy, data, dataKey, axes, angleByAxis, radiusScale, axisDomains]);
72
+ if (points.length === 0) {
73
+ return null;
74
+ }
75
+ const pathPoints = points.map(p => `${p.x},${p.y}`).join(' ');
76
+ return /*#__PURE__*/_jsxs("g", {
77
+ children: [/*#__PURE__*/_jsx("polygon", {
78
+ points: pathPoints,
79
+ fill: color,
80
+ fillOpacity: opacity,
81
+ stroke: color,
82
+ strokeWidth: strokeWidth,
83
+ strokeLinejoin: "round"
84
+ }), dots && points.map(p => /*#__PURE__*/_jsx("circle", {
85
+ cx: p.x,
86
+ cy: p.y,
87
+ r: dotRadius,
88
+ fill: color
89
+ }, p.key))]
90
+ });
91
+ }
@@ -0,0 +1,14 @@
1
+ export interface RadialAxisProps {
2
+ /** Label offset from the outer ring in pixels (default: 16) */
3
+ labelOffset?: number;
4
+ }
5
+ /**
6
+ * Axis labels positioned at each spider chart vertex.
7
+ *
8
+ * @example
9
+ * ```
10
+ * <RadialAxis />
11
+ * ```
12
+ */
13
+ export declare function RadialAxis({ labelOffset }: RadialAxisProps): import("react").JSX.Element | null;
14
+ //# sourceMappingURL=RadialAxis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadialAxis.d.ts","sourceRoot":"","sources":["../../src/Radial/RadialAxis.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EAAC,WAAgB,EAAC,EAAE,eAAe,sCAqC7D"}
@@ -0,0 +1,55 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file RadialAxis.tsx
5
+ * @output Renders axis labels at each spider vertex
6
+ */
7
+
8
+ import { useRadial } from "./RadialContext.js";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ /**
11
+ * Axis labels positioned at each spider chart vertex.
12
+ *
13
+ * @example
14
+ * ```
15
+ * <RadialAxis />
16
+ * ```
17
+ */
18
+ export function RadialAxis({
19
+ labelOffset = 16
20
+ }) {
21
+ const {
22
+ cx,
23
+ cy,
24
+ radius,
25
+ axes,
26
+ angleByAxis
27
+ } = useRadial();
28
+ if (!axes || !angleByAxis) {
29
+ return null;
30
+ }
31
+ return /*#__PURE__*/_jsx("g", {
32
+ children: axes.map(key => {
33
+ const angle = angleByAxis.get(key);
34
+ if (angle == null) {
35
+ return null;
36
+ }
37
+ const x = cx + Math.cos(angle) * (radius + labelOffset);
38
+ const y = cy + Math.sin(angle) * (radius + labelOffset);
39
+
40
+ // Determine text anchor based on position
41
+ const isRight = Math.cos(angle) > 0.1;
42
+ const isLeft = Math.cos(angle) < -0.1;
43
+ const anchor = isRight ? 'start' : isLeft ? 'end' : 'middle';
44
+ return /*#__PURE__*/_jsx("text", {
45
+ x: x,
46
+ y: y,
47
+ textAnchor: anchor,
48
+ dominantBaseline: "central",
49
+ fill: "var(--color-text-secondary)",
50
+ fontSize: 12,
51
+ children: key
52
+ }, key);
53
+ })
54
+ });
55
+ }
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @file RadialChart.tsx
3
+ * @output Root radial chart container — spider, pie, donut
4
+ * @position Parent component; all radial marks read from its context
5
+ *
6
+ * Owns the radial coordinate space: center, radius, angle/radius scales.
7
+ * Same Tier 1 guarantee as Chart — all children map through the same context.
8
+ */
9
+ import { type ReactNode } from 'react';
10
+ export interface RadialChartProps {
11
+ /** The dataset */
12
+ data: Record<string, unknown>[];
13
+ /** Chart height in pixels. Width is responsive. */
14
+ height?: number;
15
+ /**
16
+ * Spider mode: array of axis keys (each key is a dimension).
17
+ * When provided, the chart operates in spider mode.
18
+ */
19
+ axes?: string[];
20
+ /**
21
+ * Pie/donut mode: data key containing the numeric value for each slice.
22
+ * When provided (without axes), the chart operates in pie mode.
23
+ */
24
+ valueKey?: string;
25
+ /**
26
+ * Pie/donut mode: data key for the slice label.
27
+ */
28
+ labelKey?: string;
29
+ /**
30
+ * Inner radius as a fraction of outer radius (0-1).
31
+ * 0 = full pie/spider, 0.6 = donut. Default: 0.
32
+ */
33
+ innerRadius?: number;
34
+ /**
35
+ * Padding between pie slices in radians. Default: 0.02.
36
+ */
37
+ padAngle?: number;
38
+ /** Chart contents */
39
+ /**
40
+ * Enable touch interaction mode — blocks scroll on mobile.
41
+ */
42
+ interactive?: boolean;
43
+ children: ReactNode;
44
+ }
45
+ /**
46
+ * Root radial chart container. Computes angular/radial scales and provides
47
+ * them to children via context.
48
+ *
49
+ * @example
50
+ * ```
51
+ * // Spider
52
+ * <RadialChart data={data} axes={['speed', 'handling', 'comfort']} height={400}>
53
+ * <RadialGrid rings={5} />
54
+ * <RadialArea dataKey="modelA" color={colors[0]} />
55
+ * <RadialAxis />
56
+ * </RadialChart>
57
+ *
58
+ * // Pie
59
+ * <RadialChart data={data} valueKey="revenue" labelKey="region" height={400}>
60
+ * <RadialSlice />
61
+ * </RadialChart>
62
+ *
63
+ * // Donut
64
+ * <RadialChart data={data} valueKey="revenue" labelKey="region" innerRadius={0.6} height={400}>
65
+ * <RadialSlice />
66
+ * </RadialChart>
67
+ * ```
68
+ */
69
+ export declare function RadialChart({ data, height, axes, valueKey, labelKey, innerRadius: innerRadiusFraction, padAngle, children, }: RadialChartProps): import("react").JSX.Element;
70
+ //# sourceMappingURL=RadialChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadialChart.d.ts","sourceRoot":"","sources":["../../src/Radial/RadialChart.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,MAAY,EACZ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,WAAW,EAAE,mBAAuB,EACpC,QAAe,EACf,QAAQ,GACT,EAAE,gBAAgB,+BAgIlB"}