rift-ds 1.0.0

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 (507) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +107 -0
  3. package/behaviors/focusable.d.ts +26 -0
  4. package/behaviors/focusable.js +18 -0
  5. package/behaviors/useFocusScope.d.ts +38 -0
  6. package/behaviors/useFocusScope.js +82 -0
  7. package/behaviors/useLayer.d.ts +43 -0
  8. package/behaviors/useLayer.js +55 -0
  9. package/behaviors/useMounted.d.ts +7 -0
  10. package/behaviors/useMounted.js +14 -0
  11. package/behaviors/useScrollLock.d.ts +55 -0
  12. package/behaviors/useScrollLock.js +59 -0
  13. package/bin/rift-ds.mjs +82 -0
  14. package/charts.d.ts +16 -0
  15. package/charts.js +24 -0
  16. package/components/Accordion/Accordion.css +119 -0
  17. package/components/Accordion/Accordion.d.ts +24 -0
  18. package/components/Accordion/Accordion.js +76 -0
  19. package/components/AgentPlan/AgentPlan.css +251 -0
  20. package/components/AgentPlan/AgentPlan.d.ts +41 -0
  21. package/components/AgentPlan/AgentPlan.js +100 -0
  22. package/components/AgentRail/AgentRail.css +282 -0
  23. package/components/AgentRail/AgentRail.d.ts +72 -0
  24. package/components/AgentRail/AgentRail.js +101 -0
  25. package/components/AgentStatus/AgentStatus.css +511 -0
  26. package/components/AgentStatus/AgentStatus.d.ts +41 -0
  27. package/components/AgentStatus/AgentStatus.js +86 -0
  28. package/components/AgentStatus/AgentStatusPatterns.d.ts +17 -0
  29. package/components/AgentStatus/AgentStatusPatterns.js +20 -0
  30. package/components/AiButton/AiButton.css +559 -0
  31. package/components/AiButton/AiButton.d.ts +79 -0
  32. package/components/AiButton/AiButton.js +183 -0
  33. package/components/Alert/Alert.css +261 -0
  34. package/components/Alert/Alert.d.ts +25 -0
  35. package/components/Alert/Alert.js +53 -0
  36. package/components/AlertDialog/AlertDialog.css +133 -0
  37. package/components/AlertDialog/AlertDialog.d.ts +29 -0
  38. package/components/AlertDialog/AlertDialog.js +98 -0
  39. package/components/AnchorNav/AnchorNav.css +137 -0
  40. package/components/AnchorNav/AnchorNav.d.ts +40 -0
  41. package/components/AnchorNav/AnchorNav.js +135 -0
  42. package/components/AnimatedNumber/AnimatedNumber.css +31 -0
  43. package/components/AnimatedNumber/AnimatedNumber.d.ts +36 -0
  44. package/components/AnimatedNumber/AnimatedNumber.js +55 -0
  45. package/components/AppLayout/AppLayout.css +52 -0
  46. package/components/AppLayout/AppLayout.d.ts +33 -0
  47. package/components/AppLayout/AppLayout.js +47 -0
  48. package/components/AppSidebar/AppSidebar.css +592 -0
  49. package/components/AppSidebar/AppSidebar.d.ts +90 -0
  50. package/components/AppSidebar/AppSidebar.js +295 -0
  51. package/components/Avatar/Avatar.css +133 -0
  52. package/components/Avatar/Avatar.d.ts +20 -0
  53. package/components/Avatar/Avatar.js +58 -0
  54. package/components/Avatar/demoAvatars.d.ts +18 -0
  55. package/components/Avatar/demoAvatars.js +16 -0
  56. package/components/AvatarGroup/AvatarGroup.css +61 -0
  57. package/components/AvatarGroup/AvatarGroup.d.ts +32 -0
  58. package/components/AvatarGroup/AvatarGroup.js +31 -0
  59. package/components/Badge/Badge.css +67 -0
  60. package/components/Badge/Badge.d.ts +13 -0
  61. package/components/Badge/Badge.js +15 -0
  62. package/components/Banner/Banner.css +110 -0
  63. package/components/Banner/Banner.d.ts +36 -0
  64. package/components/Banner/Banner.js +59 -0
  65. package/components/Breadcrumb/Breadcrumb.css +100 -0
  66. package/components/Breadcrumb/Breadcrumb.d.ts +25 -0
  67. package/components/Breadcrumb/Breadcrumb.js +40 -0
  68. package/components/Button/Button.css +473 -0
  69. package/components/Button/Button.d.ts +73 -0
  70. package/components/Button/Button.js +91 -0
  71. package/components/ButtonGroup/ButtonGroup.css +39 -0
  72. package/components/ButtonGroup/ButtonGroup.d.ts +13 -0
  73. package/components/ButtonGroup/ButtonGroup.js +30 -0
  74. package/components/Card/Card.css +190 -0
  75. package/components/Card/Card.d.ts +48 -0
  76. package/components/Card/Card.js +113 -0
  77. package/components/CardStack/CardStack.css +106 -0
  78. package/components/CardStack/CardStack.d.ts +44 -0
  79. package/components/CardStack/CardStack.js +140 -0
  80. package/components/Carousel/Carousel.css +121 -0
  81. package/components/Carousel/Carousel.d.ts +25 -0
  82. package/components/Carousel/Carousel.js +160 -0
  83. package/components/Chart/AreaChart.d.ts +40 -0
  84. package/components/Chart/AreaChart.js +101 -0
  85. package/components/Chart/BarChart.d.ts +36 -0
  86. package/components/Chart/BarChart.js +107 -0
  87. package/components/Chart/Chart.css +224 -0
  88. package/components/Chart/ComboChart.d.ts +40 -0
  89. package/components/Chart/ComboChart.js +142 -0
  90. package/components/Chart/LineChart.d.ts +36 -0
  91. package/components/Chart/LineChart.js +91 -0
  92. package/components/Chart/PieChart.d.ts +36 -0
  93. package/components/Chart/PieChart.js +93 -0
  94. package/components/Chart/RadarChart.d.ts +36 -0
  95. package/components/Chart/RadarChart.js +92 -0
  96. package/components/Chart/RadialChart.d.ts +43 -0
  97. package/components/Chart/RadialChart.js +114 -0
  98. package/components/Chart/ScatterChart.d.ts +38 -0
  99. package/components/Chart/ScatterChart.js +99 -0
  100. package/components/Chart/StackedBarChart.d.ts +36 -0
  101. package/components/Chart/StackedBarChart.js +98 -0
  102. package/components/Chart/Treemap.d.ts +35 -0
  103. package/components/Chart/Treemap.js +95 -0
  104. package/components/Chart/palette.d.ts +1 -0
  105. package/components/Chart/palette.js +17 -0
  106. package/components/ChatHeader/ChatHeader.css +35 -0
  107. package/components/ChatHeader/ChatHeader.d.ts +30 -0
  108. package/components/ChatHeader/ChatHeader.js +17 -0
  109. package/components/ChatMarker/ChatMarker.css +61 -0
  110. package/components/ChatMarker/ChatMarker.d.ts +22 -0
  111. package/components/ChatMarker/ChatMarker.js +18 -0
  112. package/components/ChatMessage/ChatMessage.css +326 -0
  113. package/components/ChatMessage/ChatMessage.d.ts +74 -0
  114. package/components/ChatMessage/ChatMessage.js +71 -0
  115. package/components/ChatThread/ChatThread.css +171 -0
  116. package/components/ChatThread/ChatThread.d.ts +41 -0
  117. package/components/ChatThread/ChatThread.js +175 -0
  118. package/components/Checkbox/Checkbox.css +183 -0
  119. package/components/Checkbox/Checkbox.d.ts +81 -0
  120. package/components/Checkbox/Checkbox.js +176 -0
  121. package/components/Chip/Chip.css +231 -0
  122. package/components/Chip/Chip.d.ts +27 -0
  123. package/components/Chip/Chip.js +80 -0
  124. package/components/CircularButton/CircularButton.css +263 -0
  125. package/components/CircularButton/CircularButton.d.ts +68 -0
  126. package/components/CircularButton/CircularButton.js +72 -0
  127. package/components/CodeBlock/CodeBlock.css +189 -0
  128. package/components/CodeBlock/CodeBlock.d.ts +23 -0
  129. package/components/CodeBlock/CodeBlock.js +96 -0
  130. package/components/CodeDiff/CodeDiff.css +175 -0
  131. package/components/CodeDiff/CodeDiff.d.ts +58 -0
  132. package/components/CodeDiff/CodeDiff.js +114 -0
  133. package/components/ColorPicker/ColorPicker.css +278 -0
  134. package/components/ColorPicker/ColorPicker.d.ts +50 -0
  135. package/components/ColorPicker/ColorPicker.js +349 -0
  136. package/components/ColourSwatch/ColourSwatch.css +88 -0
  137. package/components/ColourSwatch/ColourSwatch.d.ts +34 -0
  138. package/components/ColourSwatch/ColourSwatch.js +42 -0
  139. package/components/Combobox/Combobox.css +384 -0
  140. package/components/Combobox/Combobox.d.ts +93 -0
  141. package/components/Combobox/Combobox.js +331 -0
  142. package/components/CommandPalette/CommandPalette.css +342 -0
  143. package/components/CommandPalette/CommandPalette.d.ts +62 -0
  144. package/components/CommandPalette/CommandPalette.js +247 -0
  145. package/components/Composer/Composer.css +427 -0
  146. package/components/Composer/Composer.d.ts +97 -0
  147. package/components/Composer/Composer.js +146 -0
  148. package/components/ContactCard/ContactCard.css +132 -0
  149. package/components/ContactCard/ContactCard.d.ts +24 -0
  150. package/components/ContactCard/ContactCard.js +79 -0
  151. package/components/ContextMenu/ContextMenu.css +258 -0
  152. package/components/ContextMenu/ContextMenu.d.ts +26 -0
  153. package/components/ContextMenu/ContextMenu.js +387 -0
  154. package/components/ContributionGraph/ContributionGraph.css +169 -0
  155. package/components/ContributionGraph/ContributionGraph.d.ts +34 -0
  156. package/components/ContributionGraph/ContributionGraph.js +149 -0
  157. package/components/DataTable/DataTable.css +109 -0
  158. package/components/DataTable/DataTable.d.ts +81 -0
  159. package/components/DataTable/DataTable.js +236 -0
  160. package/components/DateInput/DateInput.css +127 -0
  161. package/components/DateInput/DateInput.d.ts +44 -0
  162. package/components/DateInput/DateInput.js +82 -0
  163. package/components/DatePicker/DatePicker.css +198 -0
  164. package/components/DatePicker/DatePicker.d.ts +29 -0
  165. package/components/DatePicker/DatePicker.js +196 -0
  166. package/components/Dialog/Dialog.css +178 -0
  167. package/components/Dialog/Dialog.d.ts +39 -0
  168. package/components/Dialog/Dialog.js +99 -0
  169. package/components/Divider/Divider.css +100 -0
  170. package/components/Divider/Divider.d.ts +18 -0
  171. package/components/Divider/Divider.js +31 -0
  172. package/components/DocumentChip/DocumentChip.css +190 -0
  173. package/components/DocumentChip/DocumentChip.d.ts +41 -0
  174. package/components/DocumentChip/DocumentChip.js +78 -0
  175. package/components/Drawer/Drawer.css +262 -0
  176. package/components/Drawer/Drawer.d.ts +41 -0
  177. package/components/Drawer/Drawer.js +101 -0
  178. package/components/Dropdown/Dropdown.css +288 -0
  179. package/components/Dropdown/Dropdown.d.ts +85 -0
  180. package/components/Dropdown/Dropdown.js +308 -0
  181. package/components/DropdownMenu/DropdownMenu.css +301 -0
  182. package/components/DropdownMenu/DropdownMenu.d.ts +42 -0
  183. package/components/DropdownMenu/DropdownMenu.js +371 -0
  184. package/components/EmptyState/EmptyState.css +136 -0
  185. package/components/EmptyState/EmptyState.d.ts +27 -0
  186. package/components/EmptyState/EmptyState.js +32 -0
  187. package/components/EntityCard/EntityCard.css +69 -0
  188. package/components/EntityCard/EntityCard.d.ts +19 -0
  189. package/components/EntityCard/EntityCard.js +26 -0
  190. package/components/EventCalendar/EventCalendar.css +363 -0
  191. package/components/EventCalendar/EventCalendar.d.ts +59 -0
  192. package/components/EventCalendar/EventCalendar.js +230 -0
  193. package/components/Field/Field.css +80 -0
  194. package/components/Field/Field.d.ts +57 -0
  195. package/components/Field/Field.js +70 -0
  196. package/components/Field/FieldContext.d.ts +42 -0
  197. package/components/Field/FieldContext.js +8 -0
  198. package/components/Figure/Figure.css +71 -0
  199. package/components/Figure/Figure.d.ts +17 -0
  200. package/components/Figure/Figure.js +26 -0
  201. package/components/FileInput/FileInput.css +281 -0
  202. package/components/FileInput/FileInput.d.ts +54 -0
  203. package/components/FileInput/FileInput.js +205 -0
  204. package/components/FilterBar/FilterBar.css +202 -0
  205. package/components/FilterBar/FilterBar.d.ts +55 -0
  206. package/components/FilterBar/FilterBar.js +249 -0
  207. package/components/FunnelChart/FunnelChart.css +17 -0
  208. package/components/FunnelChart/FunnelChart.d.ts +51 -0
  209. package/components/FunnelChart/FunnelChart.js +96 -0
  210. package/components/GanttChart/GanttChart.css +326 -0
  211. package/components/GanttChart/GanttChart.d.ts +82 -0
  212. package/components/GanttChart/GanttChart.js +202 -0
  213. package/components/Gauge/Gauge.css +120 -0
  214. package/components/Gauge/Gauge.d.ts +64 -0
  215. package/components/Gauge/Gauge.js +111 -0
  216. package/components/Globe/Globe.css +155 -0
  217. package/components/Globe/Globe.d.ts +103 -0
  218. package/components/Globe/Globe.js +416 -0
  219. package/components/HoverCard/HoverCard.css +125 -0
  220. package/components/HoverCard/HoverCard.d.ts +29 -0
  221. package/components/HoverCard/HoverCard.js +83 -0
  222. package/components/ImageCompare/ImageCompare.css +112 -0
  223. package/components/ImageCompare/ImageCompare.d.ts +40 -0
  224. package/components/ImageCompare/ImageCompare.js +134 -0
  225. package/components/Input/Input.css +150 -0
  226. package/components/Input/Input.d.ts +45 -0
  227. package/components/Input/Input.js +99 -0
  228. package/components/Instructions/Instructions.css +216 -0
  229. package/components/Instructions/Instructions.d.ts +29 -0
  230. package/components/Instructions/Instructions.js +32 -0
  231. package/components/InterruptCard/InterruptCard.css +164 -0
  232. package/components/InterruptCard/InterruptCard.d.ts +54 -0
  233. package/components/InterruptCard/InterruptCard.js +57 -0
  234. package/components/Kbd/Kbd.css +28 -0
  235. package/components/Kbd/Kbd.d.ts +19 -0
  236. package/components/Kbd/Kbd.js +14 -0
  237. package/components/LegendTile/LegendTile.css +60 -0
  238. package/components/LegendTile/LegendTile.d.ts +30 -0
  239. package/components/LegendTile/LegendTile.js +21 -0
  240. package/components/Lightbox/Lightbox.css +210 -0
  241. package/components/Lightbox/Lightbox.d.ts +45 -0
  242. package/components/Lightbox/Lightbox.js +109 -0
  243. package/components/LinkList/LinkList.css +71 -0
  244. package/components/LinkList/LinkList.d.ts +24 -0
  245. package/components/LinkList/LinkList.js +42 -0
  246. package/components/MapCallout/MapCallout.css +46 -0
  247. package/components/MapCallout/MapCallout.d.ts +29 -0
  248. package/components/MapCallout/MapCallout.js +17 -0
  249. package/components/MapLegend/MapLegend.css +88 -0
  250. package/components/MapLegend/MapLegend.d.ts +40 -0
  251. package/components/MapLegend/MapLegend.js +68 -0
  252. package/components/MessageActions/MessageActions.css +85 -0
  253. package/components/MessageActions/MessageActions.d.ts +38 -0
  254. package/components/MessageActions/MessageActions.js +40 -0
  255. package/components/MessageCard/MessageCard.css +163 -0
  256. package/components/MessageCard/MessageCard.d.ts +35 -0
  257. package/components/MessageCard/MessageCard.js +30 -0
  258. package/components/Meter/Meter.css +98 -0
  259. package/components/Meter/Meter.d.ts +36 -0
  260. package/components/Meter/Meter.js +48 -0
  261. package/components/ModelPicker/ModelPicker.css +243 -0
  262. package/components/ModelPicker/ModelPicker.d.ts +60 -0
  263. package/components/ModelPicker/ModelPicker.js +261 -0
  264. package/components/MotionSwatch/MotionSwatch.css +176 -0
  265. package/components/MotionSwatch/MotionSwatch.d.ts +25 -0
  266. package/components/MotionSwatch/MotionSwatch.js +74 -0
  267. package/components/Nav/Nav.css +51 -0
  268. package/components/Nav/Nav.d.ts +19 -0
  269. package/components/Nav/Nav.js +26 -0
  270. package/components/NavList/NavList.css +155 -0
  271. package/components/NavList/NavList.d.ts +56 -0
  272. package/components/NavList/NavList.js +100 -0
  273. package/components/NotificationCenter/NotificationCenter.css +279 -0
  274. package/components/NotificationCenter/NotificationCenter.d.ts +72 -0
  275. package/components/NotificationCenter/NotificationCenter.js +145 -0
  276. package/components/NumberInput/NumberInput.css +163 -0
  277. package/components/NumberInput/NumberInput.d.ts +44 -0
  278. package/components/NumberInput/NumberInput.js +147 -0
  279. package/components/Pagination/Pagination.css +126 -0
  280. package/components/Pagination/Pagination.d.ts +22 -0
  281. package/components/Pagination/Pagination.js +84 -0
  282. package/components/Panel/Panel.css +26 -0
  283. package/components/Panel/Panel.d.ts +22 -0
  284. package/components/Panel/Panel.js +19 -0
  285. package/components/PinInput/PinInput.css +92 -0
  286. package/components/PinInput/PinInput.d.ts +46 -0
  287. package/components/PinInput/PinInput.js +161 -0
  288. package/components/Popover/Popover.css +118 -0
  289. package/components/Popover/Popover.d.ts +22 -0
  290. package/components/Popover/Popover.js +113 -0
  291. package/components/ProgressBar/ProgressBar.css +60 -0
  292. package/components/ProgressBar/ProgressBar.d.ts +16 -0
  293. package/components/ProgressBar/ProgressBar.js +27 -0
  294. package/components/PromptSuggestions/PromptSuggestions.css +264 -0
  295. package/components/PromptSuggestions/PromptSuggestions.d.ts +68 -0
  296. package/components/PromptSuggestions/PromptSuggestions.js +87 -0
  297. package/components/Prose/Prose.css +269 -0
  298. package/components/Prose/Prose.d.ts +21 -0
  299. package/components/Prose/Prose.js +14 -0
  300. package/components/Quote/Quote.css +78 -0
  301. package/components/Quote/Quote.d.ts +18 -0
  302. package/components/Quote/Quote.js +26 -0
  303. package/components/RadioButton/RadioButton.css +151 -0
  304. package/components/RadioButton/RadioButton.d.ts +90 -0
  305. package/components/RadioButton/RadioButton.js +138 -0
  306. package/components/Rating/Rating.css +74 -0
  307. package/components/Rating/Rating.d.ts +41 -0
  308. package/components/Rating/Rating.js +124 -0
  309. package/components/Reasoning/Reasoning.css +291 -0
  310. package/components/Reasoning/Reasoning.d.ts +55 -0
  311. package/components/Reasoning/Reasoning.js +99 -0
  312. package/components/RichDropdown/RichDropdown.css +239 -0
  313. package/components/RichDropdown/RichDropdown.d.ts +78 -0
  314. package/components/RichDropdown/RichDropdown.js +227 -0
  315. package/components/SectionTitle/SectionTitle.css +45 -0
  316. package/components/SectionTitle/SectionTitle.d.ts +12 -0
  317. package/components/SectionTitle/SectionTitle.js +22 -0
  318. package/components/SegmentedControl/SegmentedControl.css +231 -0
  319. package/components/SegmentedControl/SegmentedControl.d.ts +44 -0
  320. package/components/SegmentedControl/SegmentedControl.js +240 -0
  321. package/components/SelectionCard/SelectionCard.css +255 -0
  322. package/components/SelectionCard/SelectionCard.d.ts +36 -0
  323. package/components/SelectionCard/SelectionCard.js +102 -0
  324. package/components/ShaderField/ShaderField.css +24 -0
  325. package/components/ShaderField/ShaderField.d.ts +68 -0
  326. package/components/ShaderField/ShaderField.js +55 -0
  327. package/components/ShaderField/field.glsl.d.ts +39 -0
  328. package/components/ShaderField/field.glsl.js +178 -0
  329. package/components/ShaderField/useShaderField.d.ts +103 -0
  330. package/components/ShaderField/useShaderField.js +410 -0
  331. package/components/Skeleton/Skeleton.css +81 -0
  332. package/components/Skeleton/Skeleton.d.ts +16 -0
  333. package/components/Skeleton/Skeleton.js +30 -0
  334. package/components/Slider/Slider.css +104 -0
  335. package/components/Slider/Slider.d.ts +48 -0
  336. package/components/Slider/Slider.js +86 -0
  337. package/components/SourceChip/SourceChip.css +111 -0
  338. package/components/SourceChip/SourceChip.d.ts +32 -0
  339. package/components/SourceChip/SourceChip.js +31 -0
  340. package/components/SourceTrail/SourceTrail.css +209 -0
  341. package/components/SourceTrail/SourceTrail.d.ts +49 -0
  342. package/components/SourceTrail/SourceTrail.js +108 -0
  343. package/components/SpacingSwatch/SpacingSwatch.css +108 -0
  344. package/components/SpacingSwatch/SpacingSwatch.d.ts +20 -0
  345. package/components/SpacingSwatch/SpacingSwatch.js +50 -0
  346. package/components/Sparkline/Sparkline.css +76 -0
  347. package/components/Sparkline/Sparkline.d.ts +51 -0
  348. package/components/Sparkline/Sparkline.js +116 -0
  349. package/components/Spinner/Spinner.css +84 -0
  350. package/components/Spinner/Spinner.d.ts +14 -0
  351. package/components/Spinner/Spinner.js +42 -0
  352. package/components/SplitButton/SplitButton.css +93 -0
  353. package/components/SplitButton/SplitButton.d.ts +43 -0
  354. package/components/SplitButton/SplitButton.js +67 -0
  355. package/components/SplitPane/SplitPane.css +106 -0
  356. package/components/SplitPane/SplitPane.d.ts +36 -0
  357. package/components/SplitPane/SplitPane.js +130 -0
  358. package/components/Stat/Stat.css +121 -0
  359. package/components/Stat/Stat.d.ts +22 -0
  360. package/components/Stat/Stat.js +36 -0
  361. package/components/StatusDot/StatusDot.css +104 -0
  362. package/components/StatusDot/StatusDot.d.ts +34 -0
  363. package/components/StatusDot/StatusDot.js +23 -0
  364. package/components/Stepper/Stepper.css +216 -0
  365. package/components/Stepper/Stepper.d.ts +41 -0
  366. package/components/Stepper/Stepper.js +61 -0
  367. package/components/StreamingText/StreamingText.css +40 -0
  368. package/components/StreamingText/StreamingText.d.ts +62 -0
  369. package/components/StreamingText/StreamingText.js +49 -0
  370. package/components/StreamingText/useStreamReveal.d.ts +70 -0
  371. package/components/StreamingText/useStreamReveal.js +121 -0
  372. package/components/Swatch/Swatch.css +52 -0
  373. package/components/Swatch/Swatch.d.ts +34 -0
  374. package/components/Swatch/Swatch.js +44 -0
  375. package/components/Table/Table.css +223 -0
  376. package/components/Table/Table.d.ts +53 -0
  377. package/components/Table/Table.js +65 -0
  378. package/components/Tabs/Tabs.css +140 -0
  379. package/components/Tabs/Tabs.d.ts +28 -0
  380. package/components/Tabs/Tabs.js +78 -0
  381. package/components/TagInput/TagInput.css +169 -0
  382. package/components/TagInput/TagInput.d.ts +43 -0
  383. package/components/TagInput/TagInput.js +137 -0
  384. package/components/Textarea/Textarea.css +109 -0
  385. package/components/Textarea/Textarea.d.ts +43 -0
  386. package/components/Textarea/Textarea.js +86 -0
  387. package/components/ThreadPanel/ThreadPanel.css +862 -0
  388. package/components/ThreadPanel/ThreadPanel.d.ts +175 -0
  389. package/components/ThreadPanel/ThreadPanel.js +466 -0
  390. package/components/ThreadTabs/ThreadTabs.css +252 -0
  391. package/components/ThreadTabs/ThreadTabs.d.ts +54 -0
  392. package/components/ThreadTabs/ThreadTabs.js +201 -0
  393. package/components/TimePicker/TimePicker.css +230 -0
  394. package/components/TimePicker/TimePicker.d.ts +46 -0
  395. package/components/TimePicker/TimePicker.js +250 -0
  396. package/components/Timeline/Timeline.css +366 -0
  397. package/components/Timeline/Timeline.d.ts +67 -0
  398. package/components/Timeline/Timeline.js +73 -0
  399. package/components/Toast/Toast.css +363 -0
  400. package/components/Toast/Toast.d.ts +63 -0
  401. package/components/Toast/Toast.js +215 -0
  402. package/components/ToggleGroup/ToggleGroup.css +110 -0
  403. package/components/ToggleGroup/ToggleGroup.d.ts +50 -0
  404. package/components/ToggleGroup/ToggleGroup.js +73 -0
  405. package/components/ToggleSwitch/ToggleSwitch.css +172 -0
  406. package/components/ToggleSwitch/ToggleSwitch.d.ts +43 -0
  407. package/components/ToggleSwitch/ToggleSwitch.js +76 -0
  408. package/components/ToolCall/ToolCall.css +234 -0
  409. package/components/ToolCall/ToolCall.d.ts +43 -0
  410. package/components/ToolCall/ToolCall.js +90 -0
  411. package/components/Toolbar/Toolbar.css +56 -0
  412. package/components/Toolbar/Toolbar.d.ts +35 -0
  413. package/components/Toolbar/Toolbar.js +62 -0
  414. package/components/Tooltip/Tooltip.css +175 -0
  415. package/components/Tooltip/Tooltip.d.ts +22 -0
  416. package/components/Tooltip/Tooltip.js +74 -0
  417. package/components/TreeView/TreeView.css +119 -0
  418. package/components/TreeView/TreeView.d.ts +45 -0
  419. package/components/TreeView/TreeView.js +232 -0
  420. package/components/TypographySwatch/TypographySwatch.css +81 -0
  421. package/components/TypographySwatch/TypographySwatch.d.ts +24 -0
  422. package/components/TypographySwatch/TypographySwatch.js +40 -0
  423. package/components/UsageCard/UsageCard.css +30 -0
  424. package/components/UsageCard/UsageCard.d.ts +48 -0
  425. package/components/UsageCard/UsageCard.js +54 -0
  426. package/components/Waveform/Waveform.css +97 -0
  427. package/components/Waveform/Waveform.d.ts +44 -0
  428. package/components/Waveform/Waveform.js +46 -0
  429. package/components/WorldMap/WorldMap.css +234 -0
  430. package/components/WorldMap/WorldMap.d.ts +113 -0
  431. package/components/WorldMap/WorldMap.js +427 -0
  432. package/components/WorldMap/land.d.ts +14 -0
  433. package/components/WorldMap/land.js +4 -0
  434. package/components/registry.d.ts +79 -0
  435. package/components/registry.js +13 -0
  436. package/components/registry.json +1153 -0
  437. package/components/registry.json.d.ts +1156 -0
  438. package/components/registry.json.js +11 -0
  439. package/fonts/MaterialSymbolsRounded-VariableFont_FILL,GRAD,opsz,wght.woff2 +0 -0
  440. package/fonts/material-symbols.css +94 -0
  441. package/fonts/presets/dm-sans-300-700-latin-ext.woff2 +0 -0
  442. package/fonts/presets/dm-sans-300-700-latin.woff2 +0 -0
  443. package/fonts/presets/fraunces-300-700-latin-ext.woff2 +0 -0
  444. package/fonts/presets/fraunces-300-700-latin.woff2 +0 -0
  445. package/fonts/presets/ibm-plex-mono-300-latin-ext.woff2 +0 -0
  446. package/fonts/presets/ibm-plex-mono-300-latin.woff2 +0 -0
  447. package/fonts/presets/ibm-plex-mono-400-latin-ext.woff2 +0 -0
  448. package/fonts/presets/ibm-plex-mono-400-latin.woff2 +0 -0
  449. package/fonts/presets/ibm-plex-mono-500-latin-ext.woff2 +0 -0
  450. package/fonts/presets/ibm-plex-mono-500-latin.woff2 +0 -0
  451. package/fonts/presets/ibm-plex-mono-600-latin-ext.woff2 +0 -0
  452. package/fonts/presets/ibm-plex-mono-600-latin.woff2 +0 -0
  453. package/fonts/presets/ibm-plex-mono-700-latin-ext.woff2 +0 -0
  454. package/fonts/presets/ibm-plex-mono-700-latin.woff2 +0 -0
  455. package/fonts/presets/ibm-plex-sans-300-700-latin-ext.woff2 +0 -0
  456. package/fonts/presets/ibm-plex-sans-300-700-latin.woff2 +0 -0
  457. package/fonts/presets/inter-300-700-latin-ext.woff2 +0 -0
  458. package/fonts/presets/inter-300-700-latin.woff2 +0 -0
  459. package/fonts/presets/inter-tight-300-900-latin-ext.woff2 +0 -0
  460. package/fonts/presets/inter-tight-300-900-latin.woff2 +0 -0
  461. package/fonts/presets/lora-400-700-latin-ext.woff2 +0 -0
  462. package/fonts/presets/lora-400-700-latin.woff2 +0 -0
  463. package/fonts/presets/montserrat-300-700-latin-ext.woff2 +0 -0
  464. package/fonts/presets/montserrat-300-700-latin.woff2 +0 -0
  465. package/fonts/presets/poppins-300-latin-ext.woff2 +0 -0
  466. package/fonts/presets/poppins-300-latin.woff2 +0 -0
  467. package/fonts/presets/poppins-400-latin-ext.woff2 +0 -0
  468. package/fonts/presets/poppins-400-latin.woff2 +0 -0
  469. package/fonts/presets/poppins-500-latin-ext.woff2 +0 -0
  470. package/fonts/presets/poppins-500-latin.woff2 +0 -0
  471. package/fonts/presets/poppins-600-latin-ext.woff2 +0 -0
  472. package/fonts/presets/poppins-600-latin.woff2 +0 -0
  473. package/fonts/presets/poppins-700-latin-ext.woff2 +0 -0
  474. package/fonts/presets/poppins-700-latin.woff2 +0 -0
  475. package/fonts/presets/source-sans-3-300-700-latin-ext.woff2 +0 -0
  476. package/fonts/presets/source-sans-3-300-700-latin.woff2 +0 -0
  477. package/fonts/presets/space-grotesk-300-700-latin-ext.woff2 +0 -0
  478. package/fonts/presets/space-grotesk-300-700-latin.woff2 +0 -0
  479. package/fonts/presets/work-sans-300-700-latin-ext.woff2 +0 -0
  480. package/fonts/presets/work-sans-300-700-latin.woff2 +0 -0
  481. package/index.d.ts +132 -0
  482. package/index.js +277 -0
  483. package/package.json +87 -0
  484. package/tokens/motion.d.ts +44 -0
  485. package/tokens/motion.js +32 -0
  486. package/tokens/presets/contrast.css +316 -0
  487. package/tokens/presets/coral.css +356 -0
  488. package/tokens/presets/forest.css +334 -0
  489. package/tokens/presets/gold.css +303 -0
  490. package/tokens/presets/mono.css +286 -0
  491. package/tokens/presets/pink.css +349 -0
  492. package/tokens/presets/presets.css +17 -0
  493. package/tokens/presets/terminal.css +378 -0
  494. package/tokens/presets/violet.css +314 -0
  495. package/tokens/presets/warm.css +320 -0
  496. package/tokens/presets/zest.css +359 -0
  497. package/tokens/registry.d.ts +22 -0
  498. package/tokens/registry.js +14 -0
  499. package/tokens/registry.json +276 -0
  500. package/tokens/registry.json.d.ts +279 -0
  501. package/tokens/registry.json.js +8 -0
  502. package/tokens/tokens-dark.css +186 -0
  503. package/tokens/tokens-light.css +276 -0
  504. package/tokens/tokens-motion.css +72 -0
  505. package/tokens/tokens-primitives.css +213 -0
  506. package/tokens/tokens-typography.css +210 -0
  507. package/tokens/tokens.css +11 -0
@@ -0,0 +1,186 @@
1
+ /* ============================================
2
+ SEMANTIC TOKENS — DARK THEME
3
+ Applied when data-theme="dark" is set
4
+ Every value chains to tokens-primitives.css
5
+ (validated by scripts/validate-token-references.mjs)
6
+ ============================================ */
7
+
8
+ [data-theme="dark"] {
9
+ /* Text */
10
+ --color-text-primary: var(--primitive-neutral-01);
11
+ --color-text-secondary: var(--primitive-neutral-03);
12
+ --color-text-tertiary: var(--primitive-neutral-04);
13
+ --color-text-inverse: var(--primitive-neutral-07);
14
+ --color-text-on-inverse: var(--primitive-neutral-09);
15
+
16
+ /* Icon */
17
+ --color-icon-primary: var(--primitive-neutral-02);
18
+ --color-icon-secondary: var(--primitive-neutral-04);
19
+
20
+ /* Background - Page */
21
+ --color-bg-page-primary: var(--primitive-neutral-10);
22
+ --color-bg-page-inverse: var(--primitive-neutral-01);
23
+
24
+ /* Background - Container */
25
+ --color-bg-container-primary: var(--primitive-neutral-09-a80);
26
+ --color-bg-container-primary-transparent: var(--primitive-neutral-09-a01);
27
+ --color-bg-container-primary-semi: var(--primitive-neutral-09-a60);
28
+ --color-bg-container-secondary: var(--primitive-neutral-07);
29
+ --color-bg-container-tertiary: var(--primitive-neutral-08);
30
+ --color-bg-container-inverse: var(--primitive-neutral-01);
31
+ --color-bg-container-border: var(--primitive-neutral-08);
32
+ --color-bg-glass: var(--primitive-neutral-09-a66);
33
+
34
+ /* Divider */
35
+ --color-divider: var(--primitive-neutral-08-a80);
36
+
37
+ /* Chat bubbles — alias the same roles as light; the underlying container
38
+ and text tokens carry the theme swap. */
39
+ --color-chat-bubble-sent-bg: var(--color-bg-container-secondary);
40
+ --color-chat-bubble-sent-text: var(--color-text-primary);
41
+ --color-chat-bubble-received-bg: var(--color-bg-container-secondary);
42
+ --color-chat-bubble-received-text: var(--color-text-primary);
43
+ /* The composer's context note — one step off the #050505 shell */
44
+ --color-chat-context-bg: var(--primitive-neutral-09);
45
+
46
+ /* Calendar surfaces — the dark values are the reason this family exists:
47
+ the container ramp's second step (#303030) glares at calendar density, so
48
+ cells rest on the semi neutral-08 (≈#1E over the calendar container) and
49
+ hover one gentle step up to the semi neutral-07 (≈#2C). The pill hover
50
+ takes the resting cell tint — a step darker than the hovered cell it sits
51
+ on — and the hover-only border ring is an obvious mid-grey that reads
52
+ against both cell states. */
53
+ --color-calendar-cell-bg: var(--primitive-neutral-08-a80);
54
+ --color-calendar-cell-bg-hover: var(--primitive-neutral-07-a80);
55
+ --color-calendar-event-bg: var(--color-bg-container-primary);
56
+ --color-calendar-event-bg-hover: var(--color-calendar-cell-bg);
57
+ --color-calendar-event-border: var(--primitive-neutral-06);
58
+
59
+ /* Overlay & controls */
60
+ --color-scrim: var(--primitive-true-black-strong);
61
+ --color-control-thumb: var(--color-action-primary-text);
62
+
63
+ /* Elevation — stronger opacity so shadows read against the #050505 floor */
64
+ --shadow-floating: 0 4px 16px rgba(0, 0, 0, 0.55);
65
+ --shadow-modal: 0 8px 32px rgba(0, 0, 0, 0.6);
66
+
67
+ /* Action - Primary. Inverted from light: the fill is the light half of
68
+ the teal ramp under a dark label, because a dark fill cannot clear 3:1
69
+ against the near-black page. Hover and active brighten rather than
70
+ deepen, so the fill walks toward the page's opposite, not into it. */
71
+ --color-action-primary-bg: var(--primitive-teal-05);
72
+ --color-action-primary-bg-hover: var(--primitive-teal-04);
73
+ --color-action-primary-bg-active: var(--primitive-teal-03);
74
+ --color-action-primary-text: var(--primitive-teal-10);
75
+ --color-action-primary-text-active: var(--primitive-teal-10);
76
+ --color-action-primary-text-secondary: var(--primitive-teal-10);
77
+ --color-action-primary-text-tertiary: var(--primitive-teal-04);
78
+ --color-action-primary-border: var(--primitive-teal-05);
79
+ --color-action-primary-border-secondary: var(--primitive-teal-06);
80
+ --color-action-primary-border-tertiary: var(--primitive-teal-04);
81
+
82
+ /* Action - Icon. The active icon sits on the hover/active fills, which
83
+ are the light half of the ramp here — so it inverts with the label. */
84
+ --color-action-icon-default: var(--primitive-neutral-01);
85
+ --color-action-icon-active: var(--primitive-teal-10);
86
+
87
+ /* Action - Passive (Secondary button) */
88
+ --color-action-passive-text: var(--primitive-neutral-01);
89
+ --color-action-passive-bg: var(--primitive-neutral-09-a01);
90
+ --color-action-passive-bg-hover: var(--primitive-neutral-08-a80);
91
+ --color-action-passive-bg-active: var(--primitive-neutral-07-a80);
92
+
93
+ /* Action - Neutral (grey filled buttons). The fill stays visible at
94
+ rest, one step above the container greys; hover and active brighten
95
+ toward the page's opposite, like the primary family. */
96
+ --color-action-neutral-bg: var(--primitive-neutral-08);
97
+ --color-action-neutral-bg-hover: var(--primitive-neutral-07);
98
+ --color-action-neutral-bg-active: var(--primitive-neutral-06);
99
+ --color-action-neutral-text: var(--primitive-neutral-01);
100
+
101
+ /* Status - Positive */
102
+ --color-status-positive-bg: var(--primitive-green-10);
103
+ --color-status-positive-border: var(--primitive-green-07);
104
+ --color-status-positive-text: var(--primitive-green-01);
105
+ --color-status-positive-icon: var(--primitive-green-07);
106
+
107
+ /* Status - Warning */
108
+ --color-status-warning-bg: var(--primitive-orange-10);
109
+ --color-status-warning-border: var(--primitive-orange-07);
110
+ --color-status-warning-text: var(--primitive-orange-01);
111
+ --color-status-warning-icon: var(--primitive-orange-07);
112
+
113
+ /* Status - Error */
114
+ --color-status-error-bg: var(--primitive-red-10);
115
+ --color-status-error-border: var(--primitive-red-07);
116
+ --color-status-error-text: var(--primitive-red-01);
117
+ --color-status-error-icon: var(--primitive-red-06);
118
+
119
+ /* Status - Info */
120
+ --color-status-info-bg: var(--primitive-blue-10);
121
+ --color-status-info-border: var(--primitive-blue-07);
122
+ --color-status-info-text: var(--primitive-blue-01);
123
+ --color-status-info-icon: var(--primitive-blue-05);
124
+
125
+ /* Status - Neutral */
126
+ --color-status-neutral-bg: var(--primitive-neutral-08);
127
+ --color-status-neutral-border: var(--primitive-neutral-06);
128
+ --color-status-neutral-text: var(--primitive-neutral-01);
129
+ --color-status-neutral-icon: var(--primitive-neutral-04);
130
+
131
+ /* The -icon step (status glyphs on plain surfaces) runs brighter here
132
+ than the light-theme inks: mid-ramp hues that hold ≥3:1 on the dark
133
+ container floor, where the near-white -text tints all read as grey. */
134
+
135
+ /* AI - The gradient accent: the same luminous stops as light. One set
136
+ works on both floors, so the AI signature never shifts hue with the
137
+ theme. */
138
+ --color-ai-gradient-start: var(--primitive-red-05);
139
+ --color-ai-gradient-mid: var(--primitive-blue-05);
140
+ --color-ai-gradient-end: var(--primitive-teal-07);
141
+ /* The AI button's solid field: deeper than the neutral-10 page floor, so
142
+ the pill reads as a cut-out of true darkness under the luminous ring. */
143
+ --color-ai-button-bg: var(--primitive-true-black);
144
+
145
+ /* Chart - Contribution heatmap ramp (level 0 = none → level 4 = most) */
146
+ --color-chart-contribution-0: var(--primitive-neutral-08);
147
+ --color-chart-contribution-1: var(--primitive-green-10);
148
+ --color-chart-contribution-2: var(--primitive-green-09);
149
+ --color-chart-contribution-3: var(--primitive-green-08);
150
+ --color-chart-contribution-4: var(--primitive-green-07);
151
+
152
+ /* Chart - Ordered series ramp for multi-series charts. Series 1 follows
153
+ the action teal (theme-split with it); 2-7 alias the core accents, so
154
+ re-theming an accent re-themes every chart that uses its slot. */
155
+ --color-chart-series-1: var(--color-action-primary-bg);
156
+ --color-chart-series-2: var(--color-core-accent-mint);
157
+ --color-chart-series-3: var(--color-core-accent-gold);
158
+ --color-chart-series-4: var(--color-core-accent-coral);
159
+ --color-chart-series-5: var(--color-core-accent-violet);
160
+ --color-chart-series-6: var(--color-core-accent-amber);
161
+ --color-chart-series-7: var(--color-core-accent-cobalt);
162
+
163
+ /* Input */
164
+ --color-input-text-primary: var(--primitive-neutral-01);
165
+ --color-input-text-placeholder: var(--primitive-neutral-04);
166
+ --color-input-text-disabled: var(--primitive-neutral-07);
167
+ --color-input-text-inverse: var(--primitive-neutral-07);
168
+ --color-input-border-primary: var(--primitive-neutral-08);
169
+ --color-input-border-hover: var(--primitive-teal-07);
170
+ --color-input-border-selected: var(--primitive-teal-06);
171
+ --color-input-border-disabled: var(--primitive-neutral-08);
172
+ --color-input-bg-primary: var(--primitive-neutral-10);
173
+ --color-input-bg-disabled: var(--primitive-neutral-09);
174
+
175
+ /* Core colours */
176
+ --color-core-ui-primary: var(--primitive-teal-05);
177
+ --color-core-ui-secondary: var(--primitive-teal-09);
178
+ --color-core-accent-coral: var(--primitive-red-07);
179
+ --color-core-accent-violet: var(--primitive-purple-07);
180
+ --color-core-accent-cobalt: var(--primitive-blue-07);
181
+ --color-core-accent-amber: var(--primitive-orange-07);
182
+ --color-core-accent-gold: var(--primitive-yellow-07);
183
+ --color-core-accent-mint: var(--primitive-green-07);
184
+ --color-trend-up: var(--primitive-green-07);
185
+ --color-trend-down: var(--primitive-red-07);
186
+ }
@@ -0,0 +1,276 @@
1
+ /* ============================================
2
+ SEMANTIC TOKENS — LIGHT THEME
3
+ These are what components use
4
+ Always reference these, never primitives
5
+ Every value chains to tokens-primitives.css
6
+ (validated by scripts/validate-token-references.mjs)
7
+ ============================================ */
8
+
9
+ [data-theme="light"], :root {
10
+ /* Text */
11
+ --color-text-primary: var(--primitive-neutral-10);
12
+ --color-text-secondary: var(--primitive-neutral-07);
13
+ --color-text-tertiary: var(--primitive-neutral-06);
14
+ --color-text-inverse: var(--primitive-neutral-04);
15
+ --color-text-on-inverse: var(--primitive-neutral-01);
16
+
17
+ /* Icon */
18
+ --color-icon-primary: var(--primitive-neutral-06);
19
+ --color-icon-secondary: var(--primitive-neutral-04);
20
+
21
+ /* Background - Page */
22
+ --color-bg-page-primary: var(--primitive-neutral-01);
23
+ --color-bg-page-inverse: var(--primitive-neutral-10);
24
+
25
+ /* Background - Container */
26
+ --color-bg-container-primary: var(--primitive-neutral-00);
27
+ --color-bg-container-primary-transparent: var(--primitive-neutral-00-a01);
28
+ /* The semi surface rides the glass-strength white, not the 60% one: light
29
+ containers should read bright white, with the ambient background only
30
+ whispering through. */
31
+ --color-bg-container-primary-semi: var(--primitive-neutral-00-a90);
32
+ --color-bg-container-secondary: var(--primitive-neutral-01);
33
+ --color-bg-container-tertiary: var(--primitive-neutral-02);
34
+ --color-bg-container-inverse: var(--primitive-neutral-09);
35
+ --color-bg-container-border: var(--primitive-neutral-02);
36
+
37
+ /* Glass: the translucent floating-surface fill (chat panel, floating
38
+ sidebar). Deliberately translucent in both themes so the page's
39
+ colours reach the surface; pair it with backdrop-filter: blur(24px). */
40
+ --color-bg-glass: var(--primitive-neutral-00-a90);
41
+
42
+ /* Divider */
43
+ --color-divider: var(--primitive-neutral-02-a80);
44
+
45
+ /* Chat bubbles — sent (the person) and received (the agent). Both alias
46
+ the container-secondary / text-primary pair today; they exist as their
47
+ own roles so chat surfaces can be re-themed later without touching the
48
+ container ramp. */
49
+ --color-chat-bubble-sent-bg: var(--color-bg-container-secondary);
50
+ --color-chat-bubble-sent-text: var(--color-text-primary);
51
+ --color-chat-bubble-received-bg: var(--color-bg-container-secondary);
52
+ --color-chat-bubble-received-text: var(--color-text-primary);
53
+ /* The composer's context note — the quietest tint per theme, the nearest
54
+ neutral to each shell that still separates from it. Its own role, not a
55
+ container alias, because it deliberately sits off the container ramp. */
56
+ --color-chat-context-bg: var(--primitive-neutral-01);
57
+
58
+ /* Calendar surfaces — EventCalendar's day cells and event pills. Their own
59
+ roles (the chat-surfaces pattern) because the container ramp's dark steps
60
+ are too far apart for calendar density: cells rest one quiet step off the
61
+ calendar container and step one gentle notch away from the pill fill on
62
+ hover (lighter in dark, darker in light). A hovered cell keeps its hover
63
+ while the pointer is on a pill, so the pill hover aliases the resting
64
+ cell tint — always one step off the hovered cell — and the hover-only
65
+ border ring is an obvious mid-grey, so the pill under the pointer is
66
+ never in doubt while resting pills stay quiet. */
67
+ --color-calendar-cell-bg: var(--primitive-neutral-01);
68
+ --color-calendar-cell-bg-hover: var(--primitive-neutral-02-a80);
69
+ --color-calendar-event-bg: var(--color-bg-container-primary);
70
+ --color-calendar-event-bg-hover: var(--color-calendar-cell-bg);
71
+ --color-calendar-event-border: var(--primitive-neutral-04);
72
+
73
+ /* Overlay & controls */
74
+ --color-scrim: var(--primitive-true-black-semi);
75
+ /* The knob on an action-coloured track (ToggleSwitch, SelectionCard's
76
+ toggle). Chained to the on-action ink rather than a fixed neutral, so
77
+ every theme's AA-held action pairing keeps the thumb legible — a
78
+ light action fill (Smoke, Volt) gets a dark thumb automatically. */
79
+ --color-control-thumb: var(--color-action-primary-text);
80
+
81
+ /* Elevation — the only shadows in the system (floating surfaces + modals) */
82
+ --shadow-floating: 0 4px 16px rgba(0, 0, 0, 0.12);
83
+ --shadow-modal: 0 8px 32px rgba(0, 0, 0, 0.2);
84
+
85
+ /* Action - Primary. The action colour is theme-dependent: one teal step
86
+ cannot clear 3:1 against both a white page and a near-black one while
87
+ also carrying a 4.5:1 label, so light takes a deep fill under a light
88
+ label and the dark theme inverts it (see tokens-dark.css). */
89
+ --color-action-primary-bg: var(--primitive-teal-08);
90
+ --color-action-primary-bg-hover: var(--primitive-teal-09);
91
+ --color-action-primary-bg-active: var(--primitive-teal-10);
92
+ --color-action-primary-text: var(--primitive-teal-02);
93
+ --color-action-primary-text-active: var(--primitive-neutral-01);
94
+ --color-action-primary-text-secondary: var(--primitive-teal-10);
95
+ --color-action-primary-text-tertiary: var(--primitive-teal-09);
96
+ --color-action-primary-border: var(--primitive-teal-10);
97
+ --color-action-primary-border-secondary: var(--primitive-teal-08);
98
+ --color-action-primary-border-tertiary: var(--primitive-teal-08);
99
+
100
+ /* Action - Icon */
101
+ --color-action-icon-default: var(--primitive-neutral-10);
102
+ --color-action-icon-active: var(--primitive-teal-02);
103
+
104
+ /* Action - Passive (Secondary button) */
105
+ --color-action-passive-text: var(--primitive-neutral-10);
106
+ --color-action-passive-bg: var(--primitive-neutral-01-a01);
107
+ --color-action-passive-bg-hover: var(--primitive-neutral-02-a80);
108
+ --color-action-passive-bg-active: var(--primitive-neutral-03-a80);
109
+
110
+ /* Action - Neutral (grey filled buttons). Unlike passive, the fill is a
111
+ solid grey step that stays visible at rest — a filled button without
112
+ the action teal's "click here" weight. Hover and active deepen in
113
+ light mode and brighten in dark, like the primary family. */
114
+ --color-action-neutral-bg: var(--primitive-neutral-02);
115
+ --color-action-neutral-bg-hover: var(--primitive-neutral-03);
116
+ --color-action-neutral-bg-active: var(--primitive-neutral-04);
117
+ --color-action-neutral-text: var(--primitive-neutral-10);
118
+
119
+ /* Core colours */
120
+ --color-core-ui-primary: var(--primitive-teal-08);
121
+ --color-core-ui-secondary: var(--primitive-teal-10);
122
+ --color-core-accent-coral: var(--primitive-red-07);
123
+ --color-core-accent-violet: var(--primitive-purple-07);
124
+ --color-core-accent-cobalt: var(--primitive-blue-07);
125
+ --color-core-accent-amber: var(--primitive-orange-07);
126
+ --color-core-accent-gold: var(--primitive-yellow-07);
127
+ --color-core-accent-mint: var(--primitive-green-07);
128
+
129
+ /* Trend: the "number went up / went down" role (Stat deltas, table
130
+ movers). Theme-split for contrast: deep status inks on light
131
+ surfaces, the mint/coral accents on dark ones. */
132
+ --color-trend-up: var(--primitive-green-10);
133
+ --color-trend-down: var(--primitive-red-10);
134
+
135
+ /* Status - Positive */
136
+ --color-status-positive-bg: var(--primitive-green-01);
137
+ --color-status-positive-border: var(--primitive-green-07);
138
+ --color-status-positive-text: var(--primitive-green-10);
139
+ --color-status-positive-icon: var(--primitive-green-08);
140
+
141
+ /* Status - Warning */
142
+ --color-status-warning-bg: var(--primitive-orange-01);
143
+ --color-status-warning-border: var(--primitive-orange-07);
144
+ --color-status-warning-text: var(--primitive-orange-10);
145
+ --color-status-warning-icon: var(--primitive-orange-08);
146
+
147
+ /* Status - Error */
148
+ --color-status-error-bg: var(--primitive-red-01);
149
+ --color-status-error-border: var(--primitive-red-07);
150
+ --color-status-error-text: var(--primitive-red-10);
151
+ --color-status-error-icon: var(--primitive-red-08);
152
+
153
+ /* Status - Info */
154
+ --color-status-info-bg: var(--primitive-blue-01);
155
+ --color-status-info-border: var(--primitive-blue-07);
156
+ --color-status-info-text: var(--primitive-blue-10);
157
+ --color-status-info-icon: var(--primitive-blue-06);
158
+
159
+ /* Status - Neutral */
160
+ --color-status-neutral-bg: var(--primitive-neutral-02);
161
+ --color-status-neutral-border: var(--primitive-neutral-07);
162
+ --color-status-neutral-text: var(--primitive-neutral-08);
163
+ --color-status-neutral-icon: var(--primitive-neutral-06);
164
+
165
+ /* The -icon step is the status glyph colour for plain surfaces (a step
166
+ indicator, a tool-call state) — -text is tuned for the tinted status
167
+ bg and washes out on a bare container, especially in dark mode. */
168
+
169
+ /* AI - The gradient accent reserved for AI entry points and surfaces.
170
+ Red → blue → teal, so the AI affordance is its own signature and the
171
+ flat action teal keeps meaning "click here". Used as gradient stops
172
+ (AiButton's ring and glow), never as fills for ordinary chrome.
173
+ One luminous set, shared with dark: the deeper inks read as a heavy
174
+ dark border on white surfaces. */
175
+ --color-ai-gradient-start: var(--primitive-red-05);
176
+ --color-ai-gradient-mid: var(--primitive-blue-05);
177
+ --color-ai-gradient-end: var(--primitive-teal-07);
178
+ /* The AI button's solid field: pushed past the page floor in the theme's
179
+ own direction — bright white here, true black in dark — so the entry
180
+ point punches out of any surface instead of frosting into it. */
181
+ --color-ai-button-bg: var(--primitive-neutral-00);
182
+
183
+ /* Chart - Contribution heatmap ramp (level 0 = none → level 4 = most) */
184
+ --color-chart-contribution-0: var(--color-bg-container-primary);
185
+ --color-chart-contribution-1: var(--primitive-green-02);
186
+ --color-chart-contribution-2: var(--primitive-green-04);
187
+ --color-chart-contribution-3: var(--primitive-green-07);
188
+ --color-chart-contribution-4: var(--primitive-green-09);
189
+
190
+ /* Chart - Ordered series ramp for multi-series charts. Series 1 follows
191
+ the action teal (theme-split with it); 2-7 alias the core accents, so
192
+ re-theming an accent re-themes every chart that uses its slot. */
193
+ --color-chart-series-1: var(--color-action-primary-bg);
194
+ --color-chart-series-2: var(--color-core-accent-mint);
195
+ --color-chart-series-3: var(--color-core-accent-gold);
196
+ --color-chart-series-4: var(--color-core-accent-coral);
197
+ --color-chart-series-5: var(--color-core-accent-violet);
198
+ --color-chart-series-6: var(--color-core-accent-amber);
199
+ --color-chart-series-7: var(--color-core-accent-cobalt);
200
+
201
+ /* Input */
202
+ --color-input-text-primary: var(--primitive-neutral-10);
203
+ --color-input-text-placeholder: var(--primitive-neutral-06);
204
+ --color-input-text-disabled: var(--primitive-neutral-04);
205
+ --color-input-text-inverse: var(--primitive-neutral-04);
206
+ --color-input-border-primary: var(--primitive-neutral-02);
207
+ --color-input-border-hover: var(--primitive-teal-06);
208
+ --color-input-border-selected: var(--primitive-teal-08);
209
+ --color-input-border-disabled: var(--primitive-neutral-03);
210
+ --color-input-bg-primary: var(--primitive-neutral-00);
211
+ --color-input-bg-disabled: var(--primitive-neutral-02);
212
+
213
+ /* Spacing (from primitives) */
214
+ --radius-050: var(--primitive-radius-050);
215
+ --radius-100: var(--primitive-radius-100);
216
+ --radius-200: var(--primitive-radius-200);
217
+ --radius-300: var(--primitive-radius-300);
218
+ --radius-400: var(--primitive-radius-400);
219
+ --radius-600: var(--primitive-radius-600);
220
+ --radius-1200: var(--primitive-radius-1200);
221
+ --radius-pill: var(--primitive-radius-pill);
222
+
223
+ --padding-050: var(--primitive-padding-050);
224
+ --padding-100: var(--primitive-padding-100);
225
+ --padding-150: var(--primitive-padding-150);
226
+ --padding-200: var(--primitive-padding-200);
227
+ --padding-300: var(--primitive-padding-300);
228
+ --padding-400: var(--primitive-padding-400);
229
+ --padding-500: var(--primitive-padding-500);
230
+ --padding-1000: var(--primitive-padding-1000);
231
+
232
+ --border-025: var(--primitive-border-025);
233
+ --border-050: var(--primitive-border-050);
234
+
235
+ /* Icon size — theme-independent, so defined here only (like radius and
236
+ padding) rather than duplicated into tokens-dark.css. Components set
237
+ `--icon-size` to one of these; .material-symbols-rounded reads it for
238
+ font-size, box size, and optical size together. */
239
+ --icon-size-500: var(--primitive-icon-500); /* 20px — compact controls */
240
+ --icon-size-600: var(--primitive-icon-600); /* 24px — default */
241
+ --icon-size-800: var(--primitive-icon-800); /* 32px — feature */
242
+ --icon-size-1200: var(--primitive-icon-1200); /* 48px — marketing */
243
+
244
+ --gap-050: var(--primitive-gap-050);
245
+ --gap-100: var(--primitive-gap-100);
246
+ --gap-200: var(--primitive-gap-200);
247
+ --gap-300: var(--primitive-gap-300);
248
+ --gap-400: var(--primitive-gap-400);
249
+ --gap-500: var(--primitive-gap-500);
250
+ --gap-1000: var(--primitive-gap-1000);
251
+
252
+ /* Section rhythm — page-level spacing between major blocks. These are
253
+ the only spacing tokens with a responsive step (see the collapse
254
+ block at the bottom of this file). */
255
+ --gap-1500: var(--primitive-gap-1500); /* 60px */
256
+ --gap-2000: var(--primitive-gap-2000); /* 80px */
257
+ --gap-3000: var(--primitive-gap-3000); /* 120px */
258
+ --padding-1500: var(--primitive-padding-1500); /* 60px */
259
+ }
260
+
261
+ /* ============================================
262
+ RESPONSIVE COLLAPSE
263
+ Section-rhythm spacing steps one notch down the primitive scale at
264
+ 768px — the token layer's only breakpoint (typography collapses at the
265
+ same threshold in tokens-typography.css). Component-level spacing
266
+ (gap/padding xl and below) never steps.
267
+ ============================================ */
268
+
269
+ @media (max-width: 768px) {
270
+ [data-theme="light"], :root {
271
+ --gap-1500: var(--primitive-gap-1000); /* 60 → 40 */
272
+ --gap-2000: var(--primitive-gap-1500); /* 80 → 60 */
273
+ --gap-3000: var(--primitive-gap-2000); /* 120 → 80 */
274
+ --padding-1500: var(--primitive-padding-1000); /* 60 → 40 */
275
+ }
276
+ }
@@ -0,0 +1,72 @@
1
+ /* ============================================
2
+ MOTION TOKENS
3
+ Durations and easing curves for transitions
4
+ and animations. Theme-agnostic (no light/dark
5
+ split) — defined once in :root, like typography.
6
+ ============================================ */
7
+
8
+ :root {
9
+ /* ============================================
10
+ DURATIONS — CORE
11
+ The day-to-day scale. Most transitions use
12
+ base; fast is for hover feedback, slow for
13
+ structural changes, slower for page reveals.
14
+ ============================================ */
15
+
16
+ --motion-duration-fast: 150ms; /* Quick feedback: hovers, icons, tooltips */
17
+ --motion-duration-base: 200ms; /* Default for color/opacity/border transitions */
18
+ --motion-duration-slow: 300ms; /* Structural: accordion, sidebar, toast enter */
19
+ --motion-duration-slower: 600ms; /* Deliberate page-entrance reveals */
20
+
21
+ /* ============================================
22
+ DURATIONS — EXTENDED
23
+ Special-purpose timings; not part of the
24
+ day-to-day scale.
25
+ ============================================ */
26
+
27
+ --motion-duration-instant: 75ms; /* Sub-threshold: takes the edge off a size change without reading as motion (Composer grow/shrink) */
28
+ --motion-duration-deliberate: 400ms; /* Carousel slide */
29
+ --motion-duration-loop-spin: 1000ms; /* Spinner rotation */
30
+ --motion-duration-loop-shimmer: 1800ms; /* Skeleton shimmer, agent label sweep */
31
+ --motion-duration-loop-matrix: 1400ms; /* Agent dot-matrix cycle (twelve slots) */
32
+
33
+ /* ============================================
34
+ EASINGS
35
+ ============================================ */
36
+
37
+ --motion-ease-standard: ease; /* General default */
38
+ --motion-ease-emphasized: cubic-bezier(0.4, 0, 0.2, 1); /* Size/layout changes */
39
+ --motion-ease-entrance: cubic-bezier(0.16, 1, 0.3, 1); /* Decelerate for enter animations */
40
+ --motion-ease-linear: linear; /* Continuous loops: spinner, progress */
41
+ --motion-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* Playful overshoot: toggle thumb */
42
+ }
43
+
44
+ /* ============================================
45
+ REDUCED MOTION
46
+ Token collapse covers token-consuming CSS;
47
+ the universal guard covers components still
48
+ on hardcoded timings.
49
+ ============================================ */
50
+
51
+ @media (prefers-reduced-motion: reduce) {
52
+ :root {
53
+ --motion-duration-fast: 0.01ms;
54
+ --motion-duration-base: 0.01ms;
55
+ --motion-duration-slow: 0.01ms;
56
+ --motion-duration-slower: 0.01ms;
57
+ --motion-duration-instant: 0.01ms;
58
+ --motion-duration-deliberate: 0.01ms;
59
+ --motion-duration-loop-spin: 0.01ms;
60
+ --motion-duration-loop-shimmer: 0.01ms;
61
+ --motion-duration-loop-matrix: 0.01ms;
62
+ }
63
+
64
+ *,
65
+ *::before,
66
+ *::after {
67
+ animation-duration: 0.01ms !important;
68
+ animation-iteration-count: 1 !important;
69
+ transition-duration: 0.01ms !important;
70
+ scroll-behavior: auto !important;
71
+ }
72
+ }