@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,53 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file tokens.stylex.ts
5
+ * @input Astryx design token system
6
+ * @output CSS custom properties for SVG icon rendering
7
+ * @position Token definitions consumed by SVGIcon and variation presets
8
+ *
9
+ * Two-layer system (primary/secondary) with per-role rendering (fill vs stroke).
10
+ * Bold mode uses mask-based gap subtraction controlled by --icon-gap tokens.
11
+ */
12
+
13
+ import * as stylex from '@stylexjs/stylex';
14
+
15
+ export const iconVars = stylex.defineVars({
16
+ // Primary layer — fill-role elements
17
+ '--icon-layer-primary-fill': 'none',
18
+ '--icon-layer-primary-stroke': 'currentColor',
19
+ '--icon-layer-primary-opacity': '1',
20
+
21
+ // Primary layer — stroke-role elements (lines that never become fills)
22
+ '--icon-layer-primary-stroke-role-fill': 'none',
23
+ '--icon-layer-primary-stroke-role-stroke': 'currentColor',
24
+ '--icon-layer-primary-stroke-role-opacity': '1',
25
+ '--icon-layer-primary-stroke-role-width': '1.5',
26
+
27
+ // Secondary layer — fill-role elements
28
+ '--icon-layer-secondary-fill': 'none',
29
+ '--icon-layer-secondary-stroke': 'currentColor',
30
+ '--icon-layer-secondary-opacity': '1',
31
+
32
+ // Secondary layer — stroke-role elements
33
+ '--icon-layer-secondary-stroke-role-fill': 'none',
34
+ '--icon-layer-secondary-stroke-role-stroke': 'currentColor',
35
+ '--icon-layer-secondary-stroke-role-opacity': '1',
36
+ '--icon-layer-secondary-stroke-role-width': '1.5',
37
+
38
+ // QoL adjustments
39
+ '--icon-size': '24px',
40
+ '--icon-stroke-width': '1.5',
41
+ '--icon-stroke-linecap': 'round',
42
+ '--icon-stroke-linejoin': 'round',
43
+ '--icon-padding': '0px',
44
+ '--icon-inline-offset': '0px',
45
+ '--icon-block-offset': '0px',
46
+
47
+ // Bold mode adjustments
48
+ '--icon-bold-stroke-boost': '0.5',
49
+
50
+ // Bold mode mask gaps
51
+ '--icon-gap': '0.75',
52
+ '--icon-gap-linejoin': 'round',
53
+ });
@@ -0,0 +1,122 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file variations.stylex.ts
5
+ * @input Icon token vars
6
+ * @output StyleX styles for each icon variation preset
7
+ * @position Consumed by SVGIcon to apply variation-specific token overrides
8
+ *
9
+ * Each variation sets tokens for both fill-role and stroke-role elements
10
+ * per the path role system. Stroke-role elements (lines, detail strokes)
11
+ * never become fills — they stay as strokes across all variations.
12
+ */
13
+
14
+ import * as stylex from '@stylexjs/stylex';
15
+ import {iconVars} from './tokens.stylex';
16
+
17
+ export const variations = stylex.create({
18
+ linear: {
19
+ // Fill-role: stroked outlines
20
+ [iconVars['--icon-layer-primary-fill']]: 'none',
21
+ [iconVars['--icon-layer-primary-stroke']]: 'currentColor',
22
+ [iconVars['--icon-layer-primary-opacity']]: '1',
23
+ [iconVars['--icon-layer-primary-stroke-role-fill']]: 'none',
24
+ [iconVars['--icon-layer-primary-stroke-role-stroke']]: 'currentColor',
25
+ [iconVars['--icon-layer-primary-stroke-role-opacity']]: '1',
26
+ // Secondary
27
+ [iconVars['--icon-layer-secondary-fill']]: 'none',
28
+ [iconVars['--icon-layer-secondary-stroke']]: 'currentColor',
29
+ [iconVars['--icon-layer-secondary-opacity']]: '1',
30
+ [iconVars['--icon-layer-secondary-stroke-role-fill']]: 'none',
31
+ [iconVars['--icon-layer-secondary-stroke-role-stroke']]: 'currentColor',
32
+ [iconVars['--icon-layer-secondary-stroke-role-opacity']]: '1',
33
+ },
34
+ bold: {
35
+ // Fill-role: solid filled (mask handles overlaps)
36
+ [iconVars['--icon-layer-primary-fill']]: 'currentColor',
37
+ [iconVars['--icon-layer-primary-stroke']]: 'none',
38
+ [iconVars['--icon-layer-primary-opacity']]: '1',
39
+ // Stroke-role: stays stroked, thicker for visual weight
40
+ [iconVars['--icon-layer-primary-stroke-role-fill']]: 'none',
41
+ [iconVars['--icon-layer-primary-stroke-role-stroke']]: 'currentColor',
42
+ [iconVars['--icon-layer-primary-stroke-role-opacity']]: '1',
43
+ [iconVars['--icon-layer-primary-stroke-role-width']]: '2',
44
+ // Secondary
45
+ [iconVars['--icon-layer-secondary-fill']]: 'currentColor',
46
+ [iconVars['--icon-layer-secondary-stroke']]: 'none',
47
+ [iconVars['--icon-layer-secondary-opacity']]: '1',
48
+ [iconVars['--icon-layer-secondary-stroke-role-fill']]: 'none',
49
+ [iconVars['--icon-layer-secondary-stroke-role-stroke']]: 'currentColor',
50
+ [iconVars['--icon-layer-secondary-stroke-role-opacity']]: '1',
51
+ [iconVars['--icon-layer-secondary-stroke-role-width']]: '2.5',
52
+ },
53
+ twotone: {
54
+ // Fill-role: stroked, full opacity
55
+ [iconVars['--icon-layer-primary-fill']]: 'none',
56
+ [iconVars['--icon-layer-primary-stroke']]: 'currentColor',
57
+ [iconVars['--icon-layer-primary-opacity']]: '1',
58
+ // Stroke-role: stroked, reduced opacity
59
+ [iconVars['--icon-layer-primary-stroke-role-fill']]: 'none',
60
+ [iconVars['--icon-layer-primary-stroke-role-stroke']]: 'currentColor',
61
+ [iconVars['--icon-layer-primary-stroke-role-opacity']]: '0.4',
62
+ // Secondary: reduced opacity
63
+ [iconVars['--icon-layer-secondary-fill']]: 'none',
64
+ [iconVars['--icon-layer-secondary-stroke']]: 'currentColor',
65
+ [iconVars['--icon-layer-secondary-opacity']]: '0.4',
66
+ [iconVars['--icon-layer-secondary-stroke-role-fill']]: 'none',
67
+ [iconVars['--icon-layer-secondary-stroke-role-stroke']]: 'currentColor',
68
+ [iconVars['--icon-layer-secondary-stroke-role-opacity']]: '0.4',
69
+ },
70
+ bulk: {
71
+ // Fill-role: solid filled
72
+ [iconVars['--icon-layer-primary-fill']]: 'currentColor',
73
+ [iconVars['--icon-layer-primary-stroke']]: 'none',
74
+ [iconVars['--icon-layer-primary-opacity']]: '1',
75
+ // Stroke-role: reduced opacity
76
+ [iconVars['--icon-layer-primary-stroke-role-fill']]: 'none',
77
+ [iconVars['--icon-layer-primary-stroke-role-stroke']]: 'currentColor',
78
+ [iconVars['--icon-layer-primary-stroke-role-opacity']]: '0.4',
79
+ // Secondary: filled at reduced opacity
80
+ [iconVars['--icon-layer-secondary-fill']]: 'currentColor',
81
+ [iconVars['--icon-layer-secondary-stroke']]: 'none',
82
+ [iconVars['--icon-layer-secondary-opacity']]: '0.4',
83
+ [iconVars['--icon-layer-secondary-stroke-role-fill']]: 'none',
84
+ [iconVars['--icon-layer-secondary-stroke-role-stroke']]: 'currentColor',
85
+ [iconVars['--icon-layer-secondary-stroke-role-opacity']]: '0.4',
86
+ },
87
+ broken: {
88
+ [iconVars['--icon-layer-primary-fill']]: 'none',
89
+ [iconVars['--icon-layer-primary-stroke']]: 'currentColor',
90
+ [iconVars['--icon-layer-primary-opacity']]: '1',
91
+ [iconVars['--icon-layer-primary-stroke-role-fill']]: 'none',
92
+ [iconVars['--icon-layer-primary-stroke-role-stroke']]: 'currentColor',
93
+ [iconVars['--icon-layer-primary-stroke-role-opacity']]: '1',
94
+ // Secondary hidden
95
+ [iconVars['--icon-layer-secondary-fill']]: 'none',
96
+ [iconVars['--icon-layer-secondary-stroke']]: 'currentColor',
97
+ [iconVars['--icon-layer-secondary-opacity']]: '0',
98
+ [iconVars['--icon-layer-secondary-stroke-role-fill']]: 'none',
99
+ [iconVars['--icon-layer-secondary-stroke-role-stroke']]: 'currentColor',
100
+ [iconVars['--icon-layer-secondary-stroke-role-opacity']]: '0',
101
+ },
102
+ });
103
+
104
+ /** Optical size compensation — thicker strokes at smaller sizes */
105
+ export const opticalSize = stylex.create({
106
+ xsm: {
107
+ [iconVars['--icon-stroke-width']]: '2',
108
+ [iconVars['--icon-size']]: '12px',
109
+ },
110
+ sm: {
111
+ [iconVars['--icon-stroke-width']]: '1.75',
112
+ [iconVars['--icon-size']]: '16px',
113
+ },
114
+ md: {
115
+ [iconVars['--icon-stroke-width']]: '1.5',
116
+ [iconVars['--icon-size']]: '20px',
117
+ },
118
+ lg: {
119
+ [iconVars['--icon-stroke-width']]: '1.5',
120
+ [iconVars['--icon-size']]: '24px',
121
+ },
122
+ });
@@ -0,0 +1,191 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file xif-examples.ts
5
+ * @description Example icons demonstrating XIF spec features
6
+ *
7
+ * Each example showcases a different capability:
8
+ * - Simple stroke-only (check)
9
+ * - Two-layer with bold knockout (home)
10
+ * - Composable with slots (file, shield)
11
+ * - Animated (bell)
12
+ * - Personality override (star)
13
+ * - Bold geometry override (bell-override)
14
+ */
15
+
16
+ import type {XIFIcon} from './xif-types';
17
+
18
+ // =============================================================================
19
+ // Simple stroke-only
20
+ // =============================================================================
21
+
22
+ export const xifCheck: XIFIcon = {
23
+ name: 'check',
24
+ paths: [{type: 'path', attrs: {d: 'M5 13l4 4L19 7'}, role: 'stroke'}],
25
+ tags: ['action', 'confirm'],
26
+ };
27
+
28
+ // =============================================================================
29
+ // Two-layer with bold knockout
30
+ // =============================================================================
31
+
32
+ export const xifHome: XIFIcon = {
33
+ name: 'home',
34
+ paths: [
35
+ {
36
+ type: 'path',
37
+ attrs: {
38
+ d: 'M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z',
39
+ },
40
+ role: 'fill',
41
+ layer: 'primary',
42
+ },
43
+ {
44
+ type: 'path',
45
+ attrs: {d: 'M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'},
46
+ role: 'fill',
47
+ layer: 'secondary',
48
+ },
49
+ ],
50
+ tags: ['navigation'],
51
+ };
52
+
53
+ // =============================================================================
54
+ // Composable icon with slot
55
+ // =============================================================================
56
+
57
+ export const xifFile: XIFIcon = {
58
+ name: 'file',
59
+ paths: [
60
+ {
61
+ type: 'path',
62
+ attrs: {
63
+ d: 'M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z',
64
+ },
65
+ role: 'fill',
66
+ layer: 'primary',
67
+ },
68
+ {
69
+ type: 'path',
70
+ attrs: {d: 'M14 2v4a2 2 0 0 0 2 2h4'},
71
+ role: 'stroke',
72
+ layer: 'secondary',
73
+ },
74
+ ],
75
+ slots: [{name: 'badge', position: {x: 0.5, y: 0.65}, size: 0.35}],
76
+ tags: ['file', 'document'],
77
+ };
78
+
79
+ export const xifShield: XIFIcon = {
80
+ name: 'shield',
81
+ paths: [
82
+ {
83
+ type: 'path',
84
+ attrs: {
85
+ d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',
86
+ },
87
+ role: 'fill',
88
+ layer: 'primary',
89
+ },
90
+ ],
91
+ slots: [{name: 'badge', position: 'center', size: 0.42}],
92
+ tags: ['security', 'protection'],
93
+ };
94
+
95
+ // =============================================================================
96
+ // Animated icon
97
+ // =============================================================================
98
+
99
+ export const xifBell: XIFIcon = {
100
+ name: 'bell',
101
+ paths: [
102
+ {
103
+ type: 'path',
104
+ attrs: {d: 'M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'},
105
+ role: 'fill',
106
+ layer: 'primary',
107
+ animate: {type: 'scale', sequence: 1},
108
+ },
109
+ {
110
+ type: 'path',
111
+ attrs: {d: 'M10.3 21a1.94 1.94 0 0 0 3.4 0'},
112
+ role: 'stroke',
113
+ layer: 'secondary',
114
+ animate: {type: 'draw', sequence: 2},
115
+ },
116
+ ],
117
+ tags: ['notification', 'alert'],
118
+ };
119
+
120
+ // =============================================================================
121
+ // Personality override — star keeps sharp points
122
+ // =============================================================================
123
+
124
+ export const xifStar: XIFIcon = {
125
+ name: 'star',
126
+ paths: [
127
+ {
128
+ type: 'path',
129
+ attrs: {
130
+ d: 'M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z',
131
+ },
132
+ role: 'fill',
133
+ layer: 'primary',
134
+ personality: {cornerRounding: 0},
135
+ },
136
+ ],
137
+ tags: ['rating', 'favorite'],
138
+ };
139
+
140
+ // =============================================================================
141
+ // Bold geometry override
142
+ // =============================================================================
143
+
144
+ export const xifBellOverride: XIFIcon = {
145
+ name: 'bell-override',
146
+ paths: [
147
+ {
148
+ type: 'path',
149
+ attrs: {d: 'M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'},
150
+ role: 'fill',
151
+ layer: 'primary',
152
+ },
153
+ {
154
+ type: 'path',
155
+ attrs: {d: 'M10.3 21a1.94 1.94 0 0 0 3.4 0'},
156
+ role: 'stroke',
157
+ layer: 'secondary',
158
+ },
159
+ ],
160
+ overrides: {
161
+ bold: [
162
+ {
163
+ type: 'path',
164
+ attrs: {d: 'M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'},
165
+ role: 'fill',
166
+ layer: 'primary',
167
+ },
168
+ {
169
+ type: 'path',
170
+ attrs: {d: 'M10.3 21a1.94 1.94 0 0 0 3.4 0'},
171
+ role: 'fill',
172
+ layer: 'secondary',
173
+ },
174
+ ],
175
+ },
176
+ tags: ['notification'],
177
+ };
178
+
179
+ // =============================================================================
180
+ // All examples
181
+ // =============================================================================
182
+
183
+ export const xifExamples: XIFIcon[] = [
184
+ xifCheck,
185
+ xifHome,
186
+ xifFile,
187
+ xifShield,
188
+ xifBell,
189
+ xifStar,
190
+ xifBellOverride,
191
+ ];
@@ -0,0 +1,181 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file xif-types.ts
5
+ * @description Astryx Icon Format (XIF) type definitions — v0.1.0 draft
6
+ *
7
+ * Icons are pure structure — zero visual values. The theme resolves
8
+ * all visual properties (color, weight, rounding, timing).
9
+ *
10
+ * This file defines the SOURCE format types. The resolved/build output
11
+ * uses a simpler pre-computed format (see theme build pipeline).
12
+ */
13
+
14
+ // =============================================================================
15
+ // Personality
16
+ // =============================================================================
17
+
18
+ /**
19
+ * Percentile adjustment parameters for shape personality.
20
+ * All values 0-1. 0 = artist's original. 1 = maximum shift.
21
+ * Adjustments are RELATIVE — they preserve the artist's hierarchy
22
+ * of sharp vs soft, straight vs curved.
23
+ */
24
+ export interface XIFPersonality {
25
+ /**
26
+ * Shift corners toward rounded.
27
+ * A sharp 90° corner shifts more than an already-gentle 150° corner.
28
+ * Formula: adjustedR = baseR + (maxR - baseR) × cornerRounding
29
+ */
30
+ cornerRounding?: number;
31
+
32
+ /**
33
+ * Shift straight segments toward curved.
34
+ * A straight line gains a bow; an existing curve barely changes.
35
+ * Formula: adjusted = original + (1 - original) × segmentCurvature
36
+ */
37
+ segmentCurvature?: number;
38
+
39
+ /**
40
+ * How tightly curves hug their control points.
41
+ * 0 = loose (curves balloon). 0.5 = neutral. 1 = tight (near-straight).
42
+ */
43
+ tension?: number;
44
+ }
45
+
46
+ // =============================================================================
47
+ // Animation
48
+ // =============================================================================
49
+
50
+ /**
51
+ * Animation intent for a path element.
52
+ * Declares WHAT animates and in WHAT ORDER — not timing or easing.
53
+ * The theme resolves all visual animation properties.
54
+ */
55
+ export interface XIFAnimate {
56
+ /**
57
+ * Semantic animation type.
58
+ * - draw: stroke reveals along path (dasharray/dashoffset)
59
+ * - fade: opacity entrance
60
+ * - scale: grow from center
61
+ * - rotate: continuous spin (loaders)
62
+ * - morph: interpolate between variation states
63
+ */
64
+ type: 'draw' | 'fade' | 'scale' | 'rotate' | 'morph';
65
+
66
+ /**
67
+ * Stagger order. Lower numbers animate first.
68
+ * Paths with the same sequence animate simultaneously.
69
+ */
70
+ sequence?: number;
71
+ }
72
+
73
+ // =============================================================================
74
+ // Slots (Composition)
75
+ // =============================================================================
76
+
77
+ /**
78
+ * A named position where a sub-icon can be injected.
79
+ * The theme resolves position/size to actual viewBox coordinates.
80
+ */
81
+ export interface XIFSlot {
82
+ /** Slot identifier — used in component props */
83
+ name: string;
84
+
85
+ /** Semantic position. Theme resolves to coordinates. */
86
+ position:
87
+ | 'center'
88
+ | 'top-left'
89
+ | 'top-right'
90
+ | 'bottom-left'
91
+ | 'bottom-right'
92
+ | {x: number; y: number}; // normalized 0-1 relative to viewBox
93
+
94
+ /**
95
+ * Size of the injected icon relative to parent.
96
+ * 'content' = auto-sized by theme. number = fraction of parent.
97
+ */
98
+ size?: 'content' | number;
99
+ }
100
+
101
+ // =============================================================================
102
+ // Path Entry
103
+ // =============================================================================
104
+
105
+ /**
106
+ * A single shape element within an icon.
107
+ * Contains geometry + semantic metadata. Zero visual values.
108
+ */
109
+ export interface XIFPath {
110
+ /** SVG element type. Default: 'path' */
111
+ type?:
112
+ | 'path'
113
+ | 'circle'
114
+ | 'rect'
115
+ | 'line'
116
+ | 'polyline'
117
+ | 'ellipse'
118
+ | 'polygon';
119
+
120
+ /** SVG geometry attributes (d, cx, cy, r, x, y, width, height, etc.) */
121
+ attrs: Record<string, string | number>;
122
+
123
+ /**
124
+ * Rendering behavior across variations.
125
+ * - 'fill': Closed shape — stroked in linear, filled in bold.
126
+ * - 'stroke': Line/detail — always rendered as a stroke.
127
+ * Default: 'fill'
128
+ */
129
+ role?: 'fill' | 'stroke';
130
+
131
+ /**
132
+ * Visual hierarchy for twotone/bulk and bold knockouts.
133
+ * - 'primary': Full opacity. In bold, rendered as solid fill.
134
+ * - 'secondary': Reduced opacity in twotone/bulk. Knocked out in bold.
135
+ * Default: 'primary'
136
+ */
137
+ layer?: 'primary' | 'secondary';
138
+
139
+ /** Per-path personality overrides (shift from theme/icon defaults) */
140
+ personality?: XIFPersonality;
141
+
142
+ /** Animation intent */
143
+ animate?: XIFAnimate;
144
+ }
145
+
146
+ // =============================================================================
147
+ // Icon Definition
148
+ // =============================================================================
149
+
150
+ /**
151
+ * Root type for an Astryx Icon Format definition.
152
+ * Pure structure — no visual values.
153
+ */
154
+ export interface XIFIcon {
155
+ /** Unique identifier */
156
+ name: string;
157
+
158
+ /** ViewBox dimensions. Default: '0 0 24 24' */
159
+ viewBox?: string;
160
+
161
+ /** Shape elements that compose the icon */
162
+ paths: XIFPath[];
163
+
164
+ /**
165
+ * Per-variation geometry overrides.
166
+ * Rendered in DOM alongside default paths; CSS toggles visibility.
167
+ */
168
+ overrides?: {
169
+ bold?: XIFPath[];
170
+ broken?: XIFPath[];
171
+ };
172
+
173
+ /** Named slots for sub-icon composition */
174
+ slots?: XIFSlot[];
175
+
176
+ /** Icon-level personality overrides */
177
+ personality?: XIFPersonality;
178
+
179
+ /** Tags for search and categorization */
180
+ tags?: string[];
181
+ }
@@ -0,0 +1,16 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /** @type {import('../../core/src/docs-types').ComponentDoc} */
4
+
5
+ export const docs = {
6
+ name: 'SankeyChart',
7
+ displayName: 'Sankey Chart',
8
+ group: 'Sankey',
9
+ category: 'Data Visualization',
10
+
11
+ usage: {
12
+ description: '',
13
+ },
14
+
15
+ props: [],
16
+ };