@tempoxyz/ds 0.2.6 → 0.3.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 (652) hide show
  1. package/README.md +2 -0
  2. package/dist/fonts/JetBrainsMono-Bold-latin.woff2 +0 -0
  3. package/dist/fonts/JetBrainsMono-Bold-other.woff2 +0 -0
  4. package/dist/fonts/JetBrainsMono-Bold.woff2 +0 -0
  5. package/dist/fonts/JetBrainsMono-Medium-latin.woff2 +0 -0
  6. package/dist/fonts/JetBrainsMono-Medium-other.woff2 +0 -0
  7. package/dist/fonts/JetBrainsMono-Medium.woff2 +0 -0
  8. package/dist/fonts/JetBrainsMono-Regular-latin.woff2 +0 -0
  9. package/dist/fonts/JetBrainsMono-Regular-other.woff2 +0 -0
  10. package/dist/fonts/JetBrainsMono-Regular.woff2 +0 -0
  11. package/dist/fonts/JetBrainsMono-SemiBold-latin.woff2 +0 -0
  12. package/dist/fonts/JetBrainsMono-SemiBold-other.woff2 +0 -0
  13. package/dist/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
  14. package/dist/fonts/Pilat-Black-latin.woff2 +0 -0
  15. package/dist/fonts/Pilat-Black-other.woff2 +0 -0
  16. package/dist/fonts/Pilat-Black.woff2 +0 -0
  17. package/dist/fonts/Pilat-Bold-latin.woff2 +0 -0
  18. package/dist/fonts/Pilat-Bold-other.woff2 +0 -0
  19. package/dist/fonts/Pilat-Bold.woff2 +0 -0
  20. package/dist/fonts/Pilat-Book-latin.woff2 +0 -0
  21. package/dist/fonts/Pilat-Book-other.woff2 +0 -0
  22. package/dist/fonts/Pilat-Book.woff2 +0 -0
  23. package/dist/fonts/Pilat-Demi-latin.woff2 +0 -0
  24. package/dist/fonts/Pilat-Demi-other.woff2 +0 -0
  25. package/dist/fonts/Pilat-Demi.woff2 +0 -0
  26. package/dist/fonts/Pilat-Heavy-latin.woff2 +0 -0
  27. package/dist/fonts/Pilat-Heavy-other.woff2 +0 -0
  28. package/dist/fonts/Pilat-Heavy.woff2 +0 -0
  29. package/dist/fonts/Pilat-Light-latin.woff2 +0 -0
  30. package/dist/fonts/Pilat-Light-other.woff2 +0 -0
  31. package/dist/fonts/Pilat-Light.woff2 +0 -0
  32. package/dist/fonts/Pilat-Regular-latin.woff2 +0 -0
  33. package/dist/fonts/Pilat-Regular-other.woff2 +0 -0
  34. package/dist/fonts/Pilat-Regular.woff2 +0 -0
  35. package/dist/fonts/Pilat-Thin-latin.woff2 +0 -0
  36. package/dist/fonts/Pilat-Thin-other.woff2 +0 -0
  37. package/dist/fonts/Pilat-Thin.woff2 +0 -0
  38. package/dist/oxlint/rules/PreferComponent.js +6 -6
  39. package/dist/oxlint/rules/PreferComponent.js.map +1 -1
  40. package/dist/web/components/Accordion.css +1 -1
  41. package/dist/web/components/Accordion.d.ts +7 -7
  42. package/dist/web/components/Accordion.js.map +1 -1
  43. package/dist/web/components/Accordion.js.zyzz.json +1 -1
  44. package/dist/web/components/AgentLogo.css +1 -0
  45. package/dist/web/components/AgentLogo.d.ts +206 -0
  46. package/dist/web/components/AgentLogo.d.ts.map +1 -0
  47. package/dist/web/components/AgentLogo.js +86 -0
  48. package/dist/web/components/AgentLogo.js.map +1 -0
  49. package/dist/web/components/AgentLogo.js.zyzz.json +1 -0
  50. package/dist/web/components/Alert.css +1 -0
  51. package/dist/web/components/Alert.d.ts +156 -0
  52. package/dist/web/components/Alert.d.ts.map +1 -0
  53. package/dist/web/components/Alert.js +92 -0
  54. package/dist/web/components/Alert.js.map +1 -0
  55. package/dist/web/components/Alert.js.zyzz.json +1 -0
  56. package/dist/web/components/AlertDialog.d.ts +40 -28
  57. package/dist/web/components/AlertDialog.d.ts.map +1 -1
  58. package/dist/web/components/AlertDialog.js +31 -36
  59. package/dist/web/components/AlertDialog.js.map +1 -1
  60. package/dist/web/components/AlertDialog.js.zyzz.json +1 -1
  61. package/dist/web/components/Amount.css +1 -1
  62. package/dist/web/components/Amount.d.ts +5 -5
  63. package/dist/web/components/Amount.d.ts.map +1 -1
  64. package/dist/web/components/Amount.js.map +1 -1
  65. package/dist/web/components/Amount.js.zyzz.json +1 -1
  66. package/dist/web/components/AmountInput.css +1 -1
  67. package/dist/web/components/AmountInput.d.ts +20 -39
  68. package/dist/web/components/AmountInput.d.ts.map +1 -1
  69. package/dist/web/components/AmountInput.js +31 -37
  70. package/dist/web/components/AmountInput.js.map +1 -1
  71. package/dist/web/components/AmountInput.js.zyzz.json +1 -1
  72. package/dist/web/components/AppShell.css +1 -1
  73. package/dist/web/components/AppShell.d.ts +65 -29
  74. package/dist/web/components/AppShell.d.ts.map +1 -1
  75. package/dist/web/components/AppShell.js +31 -19
  76. package/dist/web/components/AppShell.js.map +1 -1
  77. package/dist/web/components/AppShell.js.zyzz.json +1 -1
  78. package/dist/web/components/AssetChip.css +1 -0
  79. package/dist/web/components/AssetChip.d.ts +38 -0
  80. package/dist/web/components/AssetChip.d.ts.map +1 -0
  81. package/dist/web/components/AssetChip.js +47 -0
  82. package/dist/web/components/AssetChip.js.map +1 -0
  83. package/dist/web/components/AssetChip.js.zyzz.json +1 -0
  84. package/dist/web/components/Autocomplete.d.ts +2 -2
  85. package/dist/web/components/Autocomplete.js +4 -4
  86. package/dist/web/components/Autocomplete.js.map +1 -1
  87. package/dist/web/components/Autocomplete.js.zyzz.json +1 -1
  88. package/dist/web/components/Avatar.css +1 -1
  89. package/dist/web/components/Avatar.d.ts +40 -115
  90. package/dist/web/components/Avatar.d.ts.map +1 -1
  91. package/dist/web/components/Avatar.js +19 -32
  92. package/dist/web/components/Avatar.js.map +1 -1
  93. package/dist/web/components/Avatar.js.zyzz.json +1 -1
  94. package/dist/web/components/Badge.css +1 -0
  95. package/dist/web/components/Badge.d.ts +134 -0
  96. package/dist/web/components/Badge.d.ts.map +1 -0
  97. package/dist/web/components/Badge.js +38 -0
  98. package/dist/web/components/Badge.js.map +1 -0
  99. package/dist/web/components/Badge.js.zyzz.json +1 -0
  100. package/dist/web/components/Banner.css +1 -1
  101. package/dist/web/components/Banner.d.ts +12 -12
  102. package/dist/web/components/Banner.d.ts.map +1 -1
  103. package/dist/web/components/Banner.js +5 -5
  104. package/dist/web/components/Banner.js.map +1 -1
  105. package/dist/web/components/Banner.js.zyzz.json +1 -1
  106. package/dist/web/components/BarChart.css +1 -0
  107. package/dist/web/components/BarChart.d.ts +155 -0
  108. package/dist/web/components/BarChart.d.ts.map +1 -0
  109. package/dist/web/components/BarChart.js +119 -0
  110. package/dist/web/components/BarChart.js.map +1 -0
  111. package/dist/web/components/BarChart.js.zyzz.json +1 -0
  112. package/dist/web/components/Breadcrumbs.css +1 -1
  113. package/dist/web/components/Breadcrumbs.d.ts +6 -6
  114. package/dist/web/components/Breadcrumbs.js.map +1 -1
  115. package/dist/web/components/Breadcrumbs.js.zyzz.json +1 -1
  116. package/dist/web/components/Button.css +1 -1
  117. package/dist/web/components/Button.d.ts +166 -35
  118. package/dist/web/components/Button.d.ts.map +1 -1
  119. package/dist/web/components/Button.js +13 -9
  120. package/dist/web/components/Button.js.map +1 -1
  121. package/dist/web/components/Button.js.zyzz.json +1 -1
  122. package/dist/web/components/ButtonGroup.css +1 -0
  123. package/dist/web/components/ButtonGroup.d.ts +56 -0
  124. package/dist/web/components/ButtonGroup.d.ts.map +1 -0
  125. package/dist/web/components/ButtonGroup.js +33 -0
  126. package/dist/web/components/ButtonGroup.js.map +1 -0
  127. package/dist/web/components/ButtonGroup.js.zyzz.json +1 -0
  128. package/dist/web/components/Calendar.css +1 -1
  129. package/dist/web/components/Calendar.d.ts.map +1 -1
  130. package/dist/web/components/Calendar.js +7 -7
  131. package/dist/web/components/Calendar.js.map +1 -1
  132. package/dist/web/components/Calendar.js.zyzz.json +1 -1
  133. package/dist/web/components/Checkbox.css +1 -1
  134. package/dist/web/components/Checkbox.d.ts +11 -11
  135. package/dist/web/components/Checkbox.d.ts.map +1 -1
  136. package/dist/web/components/Checkbox.js +4 -1
  137. package/dist/web/components/Checkbox.js.map +1 -1
  138. package/dist/web/components/Checkbox.js.zyzz.json +1 -1
  139. package/dist/web/components/CheckboxGroup.js.zyzz.json +1 -1
  140. package/dist/web/components/ChoiceGroup.css +1 -1
  141. package/dist/web/components/ChoiceGroup.d.ts +44 -16
  142. package/dist/web/components/ChoiceGroup.d.ts.map +1 -1
  143. package/dist/web/components/ChoiceGroup.js +32 -8
  144. package/dist/web/components/ChoiceGroup.js.map +1 -1
  145. package/dist/web/components/ChoiceGroup.js.zyzz.json +1 -1
  146. package/dist/web/components/Choicebox.css +1 -1
  147. package/dist/web/components/Choicebox.d.ts +9 -9
  148. package/dist/web/components/Choicebox.d.ts.map +1 -1
  149. package/dist/web/components/Choicebox.js +6 -6
  150. package/dist/web/components/Choicebox.js.map +1 -1
  151. package/dist/web/components/Choicebox.js.zyzz.json +1 -1
  152. package/dist/web/components/Combobox.css +1 -1
  153. package/dist/web/components/Combobox.d.ts +2 -2
  154. package/dist/web/components/Combobox.d.ts.map +1 -1
  155. package/dist/web/components/Combobox.js +8 -8
  156. package/dist/web/components/Combobox.js.map +1 -1
  157. package/dist/web/components/Combobox.js.zyzz.json +1 -1
  158. package/dist/web/components/Container.js.zyzz.json +1 -1
  159. package/dist/web/components/CopyButton.js +1 -1
  160. package/dist/web/components/CopyButton.js.map +1 -1
  161. package/dist/web/components/CopyButton.js.zyzz.json +1 -1
  162. package/dist/web/components/DatePicker.css +1 -1
  163. package/dist/web/components/DatePicker.d.ts +37 -56
  164. package/dist/web/components/DatePicker.d.ts.map +1 -1
  165. package/dist/web/components/DatePicker.js +7 -7
  166. package/dist/web/components/DatePicker.js.map +1 -1
  167. package/dist/web/components/DatePicker.js.zyzz.json +1 -1
  168. package/dist/web/components/Dialog.css +1 -1
  169. package/dist/web/components/Dialog.d.ts +189 -20
  170. package/dist/web/components/Dialog.d.ts.map +1 -1
  171. package/dist/web/components/Dialog.js +93 -26
  172. package/dist/web/components/Dialog.js.map +1 -1
  173. package/dist/web/components/Dialog.js.zyzz.json +1 -1
  174. package/dist/web/components/Drawer.css +1 -1
  175. package/dist/web/components/Drawer.d.ts +7 -2
  176. package/dist/web/components/Drawer.d.ts.map +1 -1
  177. package/dist/web/components/Drawer.js +12 -6
  178. package/dist/web/components/Drawer.js.map +1 -1
  179. package/dist/web/components/Drawer.js.zyzz.json +1 -1
  180. package/dist/web/components/Empty.css +1 -1
  181. package/dist/web/components/Empty.d.ts +2 -0
  182. package/dist/web/components/Empty.d.ts.map +1 -1
  183. package/dist/web/components/Empty.js +5 -3
  184. package/dist/web/components/Empty.js.map +1 -1
  185. package/dist/web/components/Empty.js.zyzz.json +1 -1
  186. package/dist/web/components/Field.css +1 -1
  187. package/dist/web/components/Field.d.ts +16 -21
  188. package/dist/web/components/Field.d.ts.map +1 -1
  189. package/dist/web/components/Field.js +38 -36
  190. package/dist/web/components/Field.js.map +1 -1
  191. package/dist/web/components/Field.js.zyzz.json +1 -1
  192. package/dist/web/components/Fieldset.css +1 -1
  193. package/dist/web/components/Fieldset.d.ts +9 -18
  194. package/dist/web/components/Fieldset.d.ts.map +1 -1
  195. package/dist/web/components/Fieldset.js +11 -14
  196. package/dist/web/components/Fieldset.js.map +1 -1
  197. package/dist/web/components/Fieldset.js.zyzz.json +1 -1
  198. package/dist/web/components/Frame.css +1 -1
  199. package/dist/web/components/Frame.d.ts +13 -19
  200. package/dist/web/components/Frame.d.ts.map +1 -1
  201. package/dist/web/components/Frame.js +8 -8
  202. package/dist/web/components/Frame.js.map +1 -1
  203. package/dist/web/components/Frame.js.zyzz.json +1 -1
  204. package/dist/web/components/Gauge.css +1 -1
  205. package/dist/web/components/Gauge.d.ts +2 -2
  206. package/dist/web/components/Gauge.d.ts.map +1 -1
  207. package/dist/web/components/Gauge.js.map +1 -1
  208. package/dist/web/components/Gauge.js.zyzz.json +1 -1
  209. package/dist/web/components/Grid.js.zyzz.json +1 -1
  210. package/dist/web/components/Hex.css +1 -1
  211. package/dist/web/components/Hex.d.ts +11 -53
  212. package/dist/web/components/Hex.d.ts.map +1 -1
  213. package/dist/web/components/Hex.js +5 -7
  214. package/dist/web/components/Hex.js.map +1 -1
  215. package/dist/web/components/Hex.js.zyzz.json +1 -1
  216. package/dist/web/components/IconTile.css +1 -0
  217. package/dist/web/components/IconTile.d.ts +62 -0
  218. package/dist/web/components/IconTile.d.ts.map +1 -0
  219. package/dist/web/components/IconTile.js +28 -0
  220. package/dist/web/components/IconTile.js.map +1 -0
  221. package/dist/web/components/IconTile.js.zyzz.json +1 -0
  222. package/dist/web/components/Identicon.css +1 -1
  223. package/dist/web/components/Identicon.d.ts +1 -8
  224. package/dist/web/components/Identicon.d.ts.map +1 -1
  225. package/dist/web/components/Identicon.js +1 -4
  226. package/dist/web/components/Identicon.js.map +1 -1
  227. package/dist/web/components/Identicon.js.zyzz.json +1 -1
  228. package/dist/web/components/Inline.js.zyzz.json +1 -1
  229. package/dist/web/components/Inset.js.zyzz.json +1 -1
  230. package/dist/web/components/Kbd.css +1 -1
  231. package/dist/web/components/Kbd.d.ts +7 -7
  232. package/dist/web/components/Kbd.js.map +1 -1
  233. package/dist/web/components/Kbd.js.zyzz.json +1 -1
  234. package/dist/web/components/ListGroup.css +1 -0
  235. package/dist/web/components/ListGroup.d.ts +483 -0
  236. package/dist/web/components/ListGroup.d.ts.map +1 -0
  237. package/dist/web/components/ListGroup.js +266 -0
  238. package/dist/web/components/ListGroup.js.map +1 -0
  239. package/dist/web/components/ListGroup.js.zyzz.json +1 -0
  240. package/dist/web/components/LoadingDots.css +1 -1
  241. package/dist/web/components/LoadingDots.d.ts.map +1 -1
  242. package/dist/web/components/LoadingDots.js +2 -2
  243. package/dist/web/components/LoadingDots.js.map +1 -1
  244. package/dist/web/components/LoadingDots.js.zyzz.json +1 -1
  245. package/dist/web/components/Menu.css +1 -1
  246. package/dist/web/components/Menu.d.ts +39 -20
  247. package/dist/web/components/Menu.d.ts.map +1 -1
  248. package/dist/web/components/Menu.js +12 -7
  249. package/dist/web/components/Menu.js.map +1 -1
  250. package/dist/web/components/Menu.js.zyzz.json +1 -1
  251. package/dist/web/components/NetworkLogo.css +1 -0
  252. package/dist/web/components/NetworkLogo.d.ts +58 -0
  253. package/dist/web/components/NetworkLogo.d.ts.map +1 -0
  254. package/dist/web/components/NetworkLogo.js +40 -0
  255. package/dist/web/components/NetworkLogo.js.map +1 -0
  256. package/dist/web/components/NetworkLogo.js.zyzz.json +1 -0
  257. package/dist/web/components/NumberField.css +1 -1
  258. package/dist/web/components/NumberField.d.ts +3 -3
  259. package/dist/web/components/NumberField.d.ts.map +1 -1
  260. package/dist/web/components/NumberField.js +5 -5
  261. package/dist/web/components/NumberField.js.map +1 -1
  262. package/dist/web/components/NumberField.js.zyzz.json +1 -1
  263. package/dist/web/components/OtpField.css +1 -1
  264. package/dist/web/components/OtpField.d.ts +8 -68
  265. package/dist/web/components/OtpField.d.ts.map +1 -1
  266. package/dist/web/components/OtpField.js +12 -9
  267. package/dist/web/components/OtpField.js.map +1 -1
  268. package/dist/web/components/OtpField.js.zyzz.json +1 -1
  269. package/dist/web/components/Pagination.css +1 -1
  270. package/dist/web/components/Pagination.d.ts +16 -14
  271. package/dist/web/components/Pagination.d.ts.map +1 -1
  272. package/dist/web/components/Pagination.js +3 -3
  273. package/dist/web/components/Pagination.js.map +1 -1
  274. package/dist/web/components/Pagination.js.zyzz.json +1 -1
  275. package/dist/web/components/Popover.css +1 -1
  276. package/dist/web/components/Popover.js.map +1 -1
  277. package/dist/web/components/Popover.js.zyzz.json +1 -1
  278. package/dist/web/components/Progress.css +1 -1
  279. package/dist/web/components/Progress.d.ts +2 -2
  280. package/dist/web/components/Progress.d.ts.map +1 -1
  281. package/dist/web/components/Progress.js +5 -5
  282. package/dist/web/components/Progress.js.map +1 -1
  283. package/dist/web/components/Progress.js.zyzz.json +1 -1
  284. package/dist/web/components/Qr.css +1 -1
  285. package/dist/web/components/Qr.d.ts +1 -1
  286. package/dist/web/components/Qr.js.map +1 -1
  287. package/dist/web/components/Qr.js.zyzz.json +1 -1
  288. package/dist/web/components/RadioGroup.css +1 -1
  289. package/dist/web/components/RadioGroup.d.ts.map +1 -1
  290. package/dist/web/components/RadioGroup.js +2 -2
  291. package/dist/web/components/RadioGroup.js.map +1 -1
  292. package/dist/web/components/RadioGroup.js.zyzz.json +1 -1
  293. package/dist/web/components/SecretValue.css +1 -1
  294. package/dist/web/components/SecretValue.d.ts +7 -7
  295. package/dist/web/components/SecretValue.js +1 -1
  296. package/dist/web/components/SecretValue.js.map +1 -1
  297. package/dist/web/components/SecretValue.js.zyzz.json +1 -1
  298. package/dist/web/components/Select.css +1 -1
  299. package/dist/web/components/Select.d.ts +64 -2
  300. package/dist/web/components/Select.d.ts.map +1 -1
  301. package/dist/web/components/Select.js +24 -7
  302. package/dist/web/components/Select.js.map +1 -1
  303. package/dist/web/components/Select.js.zyzz.json +1 -1
  304. package/dist/web/components/Separator.css +1 -1
  305. package/dist/web/components/Separator.d.ts +17 -3
  306. package/dist/web/components/Separator.d.ts.map +1 -1
  307. package/dist/web/components/Separator.js +40 -5
  308. package/dist/web/components/Separator.js.map +1 -1
  309. package/dist/web/components/Separator.js.zyzz.json +1 -1
  310. package/dist/web/components/SidebarMenu.css +1 -1
  311. package/dist/web/components/SidebarMenu.d.ts +186 -39
  312. package/dist/web/components/SidebarMenu.d.ts.map +1 -1
  313. package/dist/web/components/SidebarMenu.js +90 -18
  314. package/dist/web/components/SidebarMenu.js.map +1 -1
  315. package/dist/web/components/SidebarMenu.js.zyzz.json +1 -1
  316. package/dist/web/components/Skeleton.css +1 -1
  317. package/dist/web/components/Skeleton.d.ts +5 -3
  318. package/dist/web/components/Skeleton.d.ts.map +1 -1
  319. package/dist/web/components/Skeleton.js +1 -1
  320. package/dist/web/components/Skeleton.js.map +1 -1
  321. package/dist/web/components/Skeleton.js.zyzz.json +1 -1
  322. package/dist/web/components/Slider.css +1 -1
  323. package/dist/web/components/Slider.d.ts.map +1 -1
  324. package/dist/web/components/Slider.js +5 -5
  325. package/dist/web/components/Slider.js.map +1 -1
  326. package/dist/web/components/Slider.js.zyzz.json +1 -1
  327. package/dist/web/components/Snippet.css +1 -1
  328. package/dist/web/components/Snippet.d.ts +27 -65
  329. package/dist/web/components/Snippet.d.ts.map +1 -1
  330. package/dist/web/components/Snippet.js +47 -10
  331. package/dist/web/components/Snippet.js.map +1 -1
  332. package/dist/web/components/Snippet.js.zyzz.json +1 -1
  333. package/dist/web/components/Spinner.css +1 -1
  334. package/dist/web/components/Spinner.d.ts +25 -16
  335. package/dist/web/components/Spinner.d.ts.map +1 -1
  336. package/dist/web/components/Spinner.js +11 -6
  337. package/dist/web/components/Spinner.js.map +1 -1
  338. package/dist/web/components/Spinner.js.zyzz.json +1 -1
  339. package/dist/web/components/SplitBar.css +1 -0
  340. package/dist/web/components/SplitBar.d.ts +99 -0
  341. package/dist/web/components/SplitBar.d.ts.map +1 -0
  342. package/dist/web/components/SplitBar.js +49 -0
  343. package/dist/web/components/SplitBar.js.map +1 -0
  344. package/dist/web/components/SplitBar.js.zyzz.json +1 -0
  345. package/dist/web/components/SplitButton.css +1 -1
  346. package/dist/web/components/SplitButton.d.ts +4 -1
  347. package/dist/web/components/SplitButton.d.ts.map +1 -1
  348. package/dist/web/components/SplitButton.js +2 -2
  349. package/dist/web/components/SplitButton.js.map +1 -1
  350. package/dist/web/components/SplitButton.js.zyzz.json +1 -1
  351. package/dist/web/components/Stack.js.zyzz.json +1 -1
  352. package/dist/web/components/StatusChip.css +1 -0
  353. package/dist/web/components/StatusChip.d.ts +162 -0
  354. package/dist/web/components/StatusChip.d.ts.map +1 -0
  355. package/dist/web/components/StatusChip.js +37 -0
  356. package/dist/web/components/StatusChip.js.map +1 -0
  357. package/dist/web/components/StatusChip.js.zyzz.json +1 -0
  358. package/dist/web/components/StatusRow.css +1 -0
  359. package/dist/web/components/StatusRow.d.ts +121 -0
  360. package/dist/web/components/StatusRow.d.ts.map +1 -0
  361. package/dist/web/components/StatusRow.js +75 -0
  362. package/dist/web/components/StatusRow.js.map +1 -0
  363. package/dist/web/components/StatusRow.js.zyzz.json +1 -0
  364. package/dist/web/components/Stepper.css +1 -1
  365. package/dist/web/components/Stepper.d.ts +10 -7
  366. package/dist/web/components/Stepper.d.ts.map +1 -1
  367. package/dist/web/components/Stepper.js +5 -4
  368. package/dist/web/components/Stepper.js.map +1 -1
  369. package/dist/web/components/Stepper.js.zyzz.json +1 -1
  370. package/dist/web/components/Surface.css +1 -1
  371. package/dist/web/components/Surface.d.ts +56 -119
  372. package/dist/web/components/Surface.d.ts.map +1 -1
  373. package/dist/web/components/Surface.js +16 -9
  374. package/dist/web/components/Surface.js.map +1 -1
  375. package/dist/web/components/Surface.js.zyzz.json +1 -1
  376. package/dist/web/components/Switch.css +1 -1
  377. package/dist/web/components/Switch.d.ts +14 -18
  378. package/dist/web/components/Switch.d.ts.map +1 -1
  379. package/dist/web/components/Switch.js +13 -15
  380. package/dist/web/components/Switch.js.map +1 -1
  381. package/dist/web/components/Switch.js.zyzz.json +1 -1
  382. package/dist/web/components/Table.css +1 -1
  383. package/dist/web/components/Table.d.ts +152 -67
  384. package/dist/web/components/Table.d.ts.map +1 -1
  385. package/dist/web/components/Table.js +92 -24
  386. package/dist/web/components/Table.js.map +1 -1
  387. package/dist/web/components/Table.js.zyzz.json +1 -1
  388. package/dist/web/components/Tabs.css +1 -1
  389. package/dist/web/components/Tabs.d.ts +49 -42
  390. package/dist/web/components/Tabs.d.ts.map +1 -1
  391. package/dist/web/components/Tabs.js +45 -14
  392. package/dist/web/components/Tabs.js.map +1 -1
  393. package/dist/web/components/Tabs.js.zyzz.json +1 -1
  394. package/dist/web/components/TempoLogo.css +1 -0
  395. package/dist/web/components/TempoLogo.d.ts +47 -0
  396. package/dist/web/components/TempoLogo.d.ts.map +1 -0
  397. package/dist/web/components/TempoLogo.js +48 -0
  398. package/dist/web/components/TempoLogo.js.map +1 -0
  399. package/dist/web/components/TempoLogo.js.zyzz.json +1 -0
  400. package/dist/web/components/TextInput.css +1 -0
  401. package/dist/web/components/{Input.d.ts → TextInput.d.ts} +27 -18
  402. package/dist/web/components/TextInput.d.ts.map +1 -0
  403. package/dist/web/components/TextInput.js +138 -0
  404. package/dist/web/components/TextInput.js.map +1 -0
  405. package/dist/web/components/TextInput.js.zyzz.json +1 -0
  406. package/dist/web/components/Textarea.css +1 -1
  407. package/dist/web/components/Textarea.d.ts +29 -74
  408. package/dist/web/components/Textarea.d.ts.map +1 -1
  409. package/dist/web/components/Textarea.js +5 -12
  410. package/dist/web/components/Textarea.js.map +1 -1
  411. package/dist/web/components/Textarea.js.zyzz.json +1 -1
  412. package/dist/web/components/Toast.css +1 -1
  413. package/dist/web/components/Toast.d.ts +4 -4
  414. package/dist/web/components/Toast.d.ts.map +1 -1
  415. package/dist/web/components/Toast.js +9 -9
  416. package/dist/web/components/Toast.js.map +1 -1
  417. package/dist/web/components/Toast.js.zyzz.json +1 -1
  418. package/dist/web/components/Token.css +1 -1
  419. package/dist/web/components/Token.d.ts +32 -90
  420. package/dist/web/components/Token.d.ts.map +1 -1
  421. package/dist/web/components/Token.js +27 -89
  422. package/dist/web/components/Token.js.map +1 -1
  423. package/dist/web/components/Token.js.zyzz.json +1 -1
  424. package/dist/web/components/TokenLogo.css +1 -0
  425. package/dist/web/components/TokenLogo.d.ts +117 -0
  426. package/dist/web/components/TokenLogo.d.ts.map +1 -0
  427. package/dist/web/components/TokenLogo.js +112 -0
  428. package/dist/web/components/TokenLogo.js.map +1 -0
  429. package/dist/web/components/TokenLogo.js.zyzz.json +1 -0
  430. package/dist/web/components/Tooltip.css +1 -1
  431. package/dist/web/components/Tooltip.js.map +1 -1
  432. package/dist/web/components/Tooltip.js.zyzz.json +1 -1
  433. package/dist/web/components/VerificationCode.css +1 -0
  434. package/dist/web/components/VerificationCode.d.ts +47 -0
  435. package/dist/web/components/VerificationCode.d.ts.map +1 -0
  436. package/dist/web/components/VerificationCode.js +55 -0
  437. package/dist/web/components/VerificationCode.js.map +1 -0
  438. package/dist/web/components/VerificationCode.js.zyzz.json +1 -0
  439. package/dist/web/components/Visual.css +1 -0
  440. package/dist/web/components/Visual.d.ts +65 -0
  441. package/dist/web/components/Visual.d.ts.map +1 -0
  442. package/dist/web/components/Visual.js +51 -0
  443. package/dist/web/components/Visual.js.map +1 -0
  444. package/dist/web/components/Visual.js.zyzz.json +1 -0
  445. package/dist/web/components/internal/Field.css +1 -1
  446. package/dist/web/components/internal/Field.d.ts +41 -87
  447. package/dist/web/components/internal/Field.d.ts.map +1 -1
  448. package/dist/web/components/internal/Field.js +8 -7
  449. package/dist/web/components/internal/Field.js.map +1 -1
  450. package/dist/web/components/internal/Field.js.zyzz.json +1 -1
  451. package/dist/web/components/internal/InputGroup.css +1 -1
  452. package/dist/web/components/internal/InputGroup.d.ts +38 -99
  453. package/dist/web/components/internal/InputGroup.d.ts.map +1 -1
  454. package/dist/web/components/internal/InputGroup.js +6 -6
  455. package/dist/web/components/internal/InputGroup.js.map +1 -1
  456. package/dist/web/components/internal/InputGroup.js.zyzz.json +1 -1
  457. package/dist/web/components/internal/Listbox.css +1 -1
  458. package/dist/web/components/internal/Listbox.d.ts +8 -8
  459. package/dist/web/components/internal/Listbox.js.map +1 -1
  460. package/dist/web/components/internal/Listbox.js.zyzz.json +1 -1
  461. package/dist/web/components/internal/RowDisabled.d.ts +3 -0
  462. package/dist/web/components/internal/RowDisabled.d.ts.map +1 -0
  463. package/dist/web/components/internal/RowDisabled.js +9 -0
  464. package/dist/web/components/internal/RowDisabled.js.map +1 -0
  465. package/dist/web/components/internal/RowsSize.d.ts +2 -3
  466. package/dist/web/components/internal/RowsSize.d.ts.map +1 -1
  467. package/dist/web/components/internal/RowsSize.js +3 -3
  468. package/dist/web/components/internal/RowsSize.js.map +1 -1
  469. package/dist/web/index.d.ts +18 -6
  470. package/dist/web/index.d.ts.map +1 -1
  471. package/dist/web/index.js +18 -6
  472. package/dist/web/index.js.map +1 -1
  473. package/dist/web/index.js.zyzz.json +1 -1
  474. package/dist/web/vars.d.ts +591 -706
  475. package/dist/web/vars.d.ts.map +1 -1
  476. package/dist/web/vars.js +7 -6
  477. package/dist/web/vars.js.map +1 -1
  478. package/dist/web/vars.js.zyzz.json +1 -1
  479. package/dist/web/zyzz.config.d.ts +2933 -3513
  480. package/dist/web/zyzz.config.d.ts.map +1 -1
  481. package/dist/web/zyzz.config.js +29 -3
  482. package/dist/web/zyzz.config.js.map +1 -1
  483. package/dist/web/zyzz.config.js.zyzz.json +1 -1
  484. package/package.json +149 -5
  485. package/src/fonts/JetBrainsMono-Bold-latin.woff2 +0 -0
  486. package/src/fonts/JetBrainsMono-Bold-other.woff2 +0 -0
  487. package/src/fonts/JetBrainsMono-Bold.woff2 +0 -0
  488. package/src/fonts/JetBrainsMono-Medium-latin.woff2 +0 -0
  489. package/src/fonts/JetBrainsMono-Medium-other.woff2 +0 -0
  490. package/src/fonts/JetBrainsMono-Medium.woff2 +0 -0
  491. package/src/fonts/{Geist-OFL.txt → JetBrainsMono-OFL.txt} +4 -3
  492. package/src/fonts/JetBrainsMono-Regular-latin.woff2 +0 -0
  493. package/src/fonts/JetBrainsMono-Regular-other.woff2 +0 -0
  494. package/src/fonts/JetBrainsMono-Regular.woff2 +0 -0
  495. package/src/fonts/JetBrainsMono-SemiBold-latin.woff2 +0 -0
  496. package/src/fonts/JetBrainsMono-SemiBold-other.woff2 +0 -0
  497. package/src/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
  498. package/src/fonts/Pilat-Black-latin.woff2 +0 -0
  499. package/src/fonts/Pilat-Black-other.woff2 +0 -0
  500. package/src/fonts/Pilat-Black.woff2 +0 -0
  501. package/src/fonts/Pilat-Bold-latin.woff2 +0 -0
  502. package/src/fonts/Pilat-Bold-other.woff2 +0 -0
  503. package/src/fonts/Pilat-Bold.woff2 +0 -0
  504. package/src/fonts/Pilat-Book-latin.woff2 +0 -0
  505. package/src/fonts/Pilat-Book-other.woff2 +0 -0
  506. package/src/fonts/Pilat-Book.woff2 +0 -0
  507. package/src/fonts/Pilat-Demi-latin.woff2 +0 -0
  508. package/src/fonts/Pilat-Demi-other.woff2 +0 -0
  509. package/src/fonts/Pilat-Demi.woff2 +0 -0
  510. package/src/fonts/Pilat-Heavy-latin.woff2 +0 -0
  511. package/src/fonts/Pilat-Heavy-other.woff2 +0 -0
  512. package/src/fonts/Pilat-Heavy.woff2 +0 -0
  513. package/src/fonts/Pilat-Light-latin.woff2 +0 -0
  514. package/src/fonts/Pilat-Light-other.woff2 +0 -0
  515. package/src/fonts/Pilat-Light.woff2 +0 -0
  516. package/src/fonts/Pilat-Regular-latin.woff2 +0 -0
  517. package/src/fonts/Pilat-Regular-other.woff2 +0 -0
  518. package/src/fonts/Pilat-Regular.woff2 +0 -0
  519. package/src/fonts/Pilat-Thin-latin.woff2 +0 -0
  520. package/src/fonts/Pilat-Thin-other.woff2 +0 -0
  521. package/src/fonts/Pilat-Thin.woff2 +0 -0
  522. package/src/fonts/README.md +15 -2
  523. package/src/oxlint/rules/PreferComponent.ts +6 -6
  524. package/src/web/README.md +7 -7
  525. package/src/web/components/Accordion.tsx +8 -8
  526. package/src/web/components/AgentLogo.tsx +330 -0
  527. package/src/web/components/Alert.tsx +301 -0
  528. package/src/web/components/AlertDialog.tsx +47 -111
  529. package/src/web/components/Amount.tsx +6 -6
  530. package/src/web/components/AmountInput.tsx +59 -134
  531. package/src/web/components/AppShell.tsx +95 -36
  532. package/src/web/components/AssetChip.tsx +110 -0
  533. package/src/web/components/Autocomplete.tsx +4 -4
  534. package/src/web/components/Avatar.tsx +42 -119
  535. package/src/web/components/Badge.tsx +120 -0
  536. package/src/web/components/Banner.tsx +13 -11
  537. package/src/web/components/BarChart.tsx +427 -0
  538. package/src/web/components/Breadcrumbs.tsx +7 -7
  539. package/src/web/components/Button.tsx +156 -42
  540. package/src/web/components/ButtonGroup.tsx +59 -0
  541. package/src/web/components/Calendar.tsx +15 -13
  542. package/src/web/components/Checkbox.tsx +14 -11
  543. package/src/web/components/ChoiceGroup.tsx +107 -26
  544. package/src/web/components/Choicebox.tsx +30 -28
  545. package/src/web/components/Combobox.tsx +10 -8
  546. package/src/web/components/CopyButton.tsx +1 -1
  547. package/src/web/components/DatePicker.tsx +42 -61
  548. package/src/web/components/Dialog.tsx +267 -71
  549. package/src/web/components/Drawer.tsx +45 -18
  550. package/src/web/components/Empty.tsx +13 -8
  551. package/src/web/components/Field.tsx +78 -132
  552. package/src/web/components/Fieldset.tsx +16 -37
  553. package/src/web/components/Frame.tsx +13 -20
  554. package/src/web/components/Gauge.tsx +4 -4
  555. package/src/web/components/Hex.tsx +13 -56
  556. package/src/web/components/IconTile.tsx +57 -0
  557. package/src/web/components/Identicon.tsx +1 -10
  558. package/src/web/components/Kbd.tsx +8 -8
  559. package/src/web/components/ListGroup.tsx +776 -0
  560. package/src/web/components/LoadingDots.tsx +1 -0
  561. package/src/web/components/Menu.tsx +50 -35
  562. package/src/web/components/NetworkLogo.tsx +208 -0
  563. package/src/web/components/NumberField.tsx +18 -33
  564. package/src/web/components/OtpField.tsx +51 -102
  565. package/src/web/components/Pagination.tsx +16 -14
  566. package/src/web/components/Popover.tsx +8 -8
  567. package/src/web/components/Progress.tsx +7 -5
  568. package/src/web/components/Qr.tsx +1 -1
  569. package/src/web/components/RadioGroup.tsx +9 -7
  570. package/src/web/components/SecretValue.tsx +11 -11
  571. package/src/web/components/Select.tsx +87 -26
  572. package/src/web/components/Separator.tsx +95 -7
  573. package/src/web/components/SidebarMenu.tsx +294 -51
  574. package/src/web/components/Skeleton.tsx +5 -5
  575. package/src/web/components/Slider.tsx +12 -6
  576. package/src/web/components/Snippet.tsx +134 -75
  577. package/src/web/components/Spinner.tsx +38 -12
  578. package/src/web/components/SplitBar.tsx +158 -0
  579. package/src/web/components/SplitButton.tsx +26 -17
  580. package/src/web/components/StatusChip.tsx +138 -0
  581. package/src/web/components/StatusRow.tsx +162 -0
  582. package/src/web/components/Stepper.tsx +11 -8
  583. package/src/web/components/Surface.tsx +70 -95
  584. package/src/web/components/Switch.tsx +25 -29
  585. package/src/web/components/Table.tsx +281 -70
  586. package/src/web/components/Tabs.tsx +93 -50
  587. package/src/web/components/TempoLogo.tsx +89 -0
  588. package/src/web/components/{Input.tsx → TextInput.tsx} +87 -118
  589. package/src/web/components/Textarea.tsx +33 -78
  590. package/src/web/components/Toast.tsx +24 -22
  591. package/src/web/components/Token.tsx +106 -172
  592. package/src/web/components/TokenLogo.tsx +217 -0
  593. package/src/web/components/Tooltip.tsx +3 -3
  594. package/src/web/components/VerificationCode.tsx +97 -0
  595. package/src/web/components/Visual.tsx +166 -0
  596. package/src/web/components/internal/Field.ts +63 -72
  597. package/src/web/components/internal/InputGroup.ts +44 -101
  598. package/src/web/components/internal/Listbox.ts +20 -20
  599. package/src/web/components/internal/RowDisabled.ts +9 -0
  600. package/src/web/components/internal/RowsSize.ts +3 -5
  601. package/src/web/components/visuals/Passkey.svg +21 -0
  602. package/src/web/index.ts +18 -6
  603. package/src/web/logos/Base.svg +10 -0
  604. package/src/web/logos/Ethereum.svg +16 -0
  605. package/src/web/logos/HyperEVM.svg +27 -0
  606. package/src/web/logos/Polygon.svg +15 -0
  607. package/src/web/logos/README.md +14 -0
  608. package/src/web/logos/Solana.svg +11 -0
  609. package/src/web/logos/Tempo.svg +11 -0
  610. package/src/web/vars.ts +480 -534
  611. package/src/web/zyzz.config.ts +255 -12
  612. package/dist/fonts/GeistMono-Variable.woff2 +0 -0
  613. package/dist/web/components/AlertDialog.css +0 -1
  614. package/dist/web/components/Callout.css +0 -1
  615. package/dist/web/components/Callout.d.ts +0 -161
  616. package/dist/web/components/Callout.d.ts.map +0 -1
  617. package/dist/web/components/Callout.js +0 -83
  618. package/dist/web/components/Callout.js.map +0 -1
  619. package/dist/web/components/Callout.js.zyzz.json +0 -1
  620. package/dist/web/components/IconChip.css +0 -1
  621. package/dist/web/components/IconChip.d.ts +0 -53
  622. package/dist/web/components/IconChip.d.ts.map +0 -1
  623. package/dist/web/components/IconChip.js +0 -27
  624. package/dist/web/components/IconChip.js.map +0 -1
  625. package/dist/web/components/IconChip.js.zyzz.json +0 -1
  626. package/dist/web/components/Input.css +0 -1
  627. package/dist/web/components/Input.d.ts.map +0 -1
  628. package/dist/web/components/Input.js +0 -118
  629. package/dist/web/components/Input.js.map +0 -1
  630. package/dist/web/components/Input.js.zyzz.json +0 -1
  631. package/dist/web/components/Rows.css +0 -1
  632. package/dist/web/components/Rows.d.ts +0 -484
  633. package/dist/web/components/Rows.d.ts.map +0 -1
  634. package/dist/web/components/Rows.js +0 -171
  635. package/dist/web/components/Rows.js.map +0 -1
  636. package/dist/web/components/Rows.js.zyzz.json +0 -1
  637. package/dist/web/components/Tag.css +0 -1
  638. package/dist/web/components/Tag.d.ts +0 -171
  639. package/dist/web/components/Tag.d.ts.map +0 -1
  640. package/dist/web/components/Tag.js +0 -52
  641. package/dist/web/components/Tag.js.map +0 -1
  642. package/dist/web/components/Tag.js.zyzz.json +0 -1
  643. package/dist/web/components/internal/FieldVariant.d.ts +0 -4
  644. package/dist/web/components/internal/FieldVariant.d.ts.map +0 -1
  645. package/dist/web/components/internal/FieldVariant.js +0 -4
  646. package/dist/web/components/internal/FieldVariant.js.map +0 -1
  647. package/src/fonts/GeistMono-Variable.woff2 +0 -0
  648. package/src/web/components/Callout.tsx +0 -241
  649. package/src/web/components/IconChip.tsx +0 -54
  650. package/src/web/components/Rows.tsx +0 -588
  651. package/src/web/components/Tag.tsx +0 -149
  652. package/src/web/components/internal/FieldVariant.ts +0 -6
@@ -1,7 +1,14 @@
1
1
  import { LabelableProvider } from '@base-ui/react/internals/labelable-provider'
2
2
  import * as BaseUi from '@base-ui/react/radio'
3
3
  import * as BaseUiGroup from '@base-ui/react/radio-group'
4
- import { type ComponentPropsWithRef, useCallback, useLayoutEffect, useRef } from 'react'
4
+ import {
5
+ Children,
6
+ type ComponentPropsWithRef,
7
+ type ReactNode,
8
+ useCallback,
9
+ useLayoutEffect,
10
+ useRef,
11
+ } from 'react'
5
12
  import type * as zyzz from 'zyzz'
6
13
  import { style, variants, vars } from '../zyzz.config.js'
7
14
 
@@ -30,10 +37,12 @@ import { style, variants, vars } from '../zyzz.config.js'
30
37
  export namespace ChoiceGroup {
31
38
  /**
32
39
  * One option, rendered as a `span` with `role="radio"` and a hidden native input beside it. Its
33
- * text content is its accessible name.
40
+ * text content is its accessible name. A checked item sets its label in the strong weight, and
41
+ * every item reserves the width of that weight for the text in its children, so a change of
42
+ * selection never shifts the row. Text that an element child renders reserves no width.
34
43
  */
35
44
  export function Item<value>(props: Item.Props<value>) {
36
- const { className, vars, ...attributes } = props
45
+ const { children, className, vars, ...attributes } = props
37
46
 
38
47
  // Scopes the label so the item keeps its text as its name inside a `Field.Root`, like `Field.Item`.
39
48
  return (
@@ -41,7 +50,9 @@ export namespace ChoiceGroup {
41
50
  <BaseUi.Radio.Root
42
51
  {...attributes}
43
52
  {...styles.item({ className, style: props.style, vars })}
44
- />
53
+ >
54
+ <span {...styles.label()}>{runs(children)}</span>
55
+ </BaseUi.Radio.Root>
45
56
  </LabelableProvider>
46
57
  )
47
58
  }
@@ -167,11 +178,41 @@ export namespace ChoiceGroup {
167
178
  }
168
179
  }
169
180
 
181
+ /**
182
+ * Pairs each run of text in `children` with a hidden copy that reserves the width of the strong
183
+ * weight. Elements render once, so text inside an element reserves no width.
184
+ */
185
+ function runs(children: ReactNode) {
186
+ return Children.toArray(children)
187
+ .reduce<ReactNode[]>((nodes, child) => {
188
+ const last = nodes.at(-1)
189
+ const text = typeof child === 'number' ? String(child) : child
190
+
191
+ // Adjacent text, such as `Activity {count}`, renders as one flex item, so it stays one run.
192
+ if (typeof text === 'string' && typeof last === 'string')
193
+ return [...nodes.slice(0, -1), last + text]
194
+ return [...nodes, text]
195
+ }, [])
196
+ .map((node, index) =>
197
+ typeof node === 'string' ? (
198
+ <span key={index} {...styles.text()}>
199
+ {node}
200
+ <span aria-hidden="true" data-reserve="" {...styles.reserve()}>
201
+ {node}
202
+ </span>
203
+ </span>
204
+ ) : (
205
+ node
206
+ ),
207
+ )
208
+ }
209
+
170
210
  namespace styles {
171
211
  export const icon = style(
172
212
  {
173
213
  alignItems: 'center',
174
214
  borderRadius: 'full',
215
+ cornerShape: 'round',
175
216
  display: 'inline-flex',
176
217
  flexShrink: '0 !custom',
177
218
  height: '24',
@@ -186,12 +227,11 @@ namespace styles {
186
227
  {
187
228
  alignItems: 'center',
188
229
  backgroundColor: 'transparent !custom',
189
- borderRadius: 'full',
190
230
  boxSizing: 'border-box',
191
- color: 'gray.900',
192
- columnGap: '8',
231
+ color: 'content.secondary',
193
232
  cursor: 'pointer',
194
233
  display: 'inline-flex',
234
+ flexDirection: 'column',
195
235
  flexShrink: '0 !custom',
196
236
  justifyContent: 'center',
197
237
  outlineColor: 'transparent !custom',
@@ -207,9 +247,14 @@ namespace styles {
207
247
  zIndex: '1 !custom',
208
248
  selectors: {
209
249
  '&:active:not([data-disabled])': { scale: 'press' },
210
- '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2' },
211
- '&:hover:not([data-disabled])': { color: 'foreground' },
212
- '&[data-checked]': { color: 'foreground' },
250
+ // The ring sits inside the item, so it clears the neighboring items and the track edge.
251
+ '&:focus-visible': { outlineColor: 'border.focus', outlineOffset: '-2px !custom' },
252
+ '&:hover:not([data-disabled])': { color: 'content.primary' },
253
+ // The pill fills a checked item, so only an unchecked item takes the hover fill.
254
+ '&:hover:not([data-checked], [data-disabled])': {
255
+ backgroundColor: 'action.tertiary.fill.hover',
256
+ },
257
+ '&[data-checked]': { color: 'content.primary' },
213
258
  '&[data-disabled]': { cursor: 'default', opacity: 'disabled' },
214
259
  },
215
260
  '@media (prefers-reduced-motion: reduce)': {
@@ -220,10 +265,15 @@ namespace styles {
220
265
  { id: 'tds/web/choice-group/item' },
221
266
  )
222
267
 
268
+ export const label = style(
269
+ { alignItems: 'center', columnGap: '8', display: 'inline-flex' },
270
+ { id: 'tds/web/choice-group/label' },
271
+ )
272
+
223
273
  export const pill = style(
224
274
  {
225
- backgroundColor: 'background.indicator',
226
- boxShadow: 'raised',
275
+ backgroundColor: 'background.elevated',
276
+ boxShadow: 'small',
227
277
  boxSizing: 'border-box',
228
278
  insetBlock: '4',
229
279
  insetInlineStart: '0',
@@ -243,40 +293,59 @@ namespace styles {
243
293
  { id: 'tds/web/choice-group/pill' },
244
294
  )
245
295
 
296
+ // The hidden copy of a run of label text holds the strong weight of its size, so the item keeps
297
+ // the width that the checked label takes.
298
+ export const reserve = style(
299
+ { height: '0', overflow: 'hidden', visibility: 'hidden' },
300
+ { id: 'tds/web/choice-group/reserve' },
301
+ )
302
+
246
303
  export const root = variants(
247
304
  {
248
305
  base: { boxSizing: 'border-box', display: 'inline-flex', position: 'relative' },
249
306
  // The default track matches Tabs: items and the pill sit 4px in, so their radius is the
250
- // track's minus 4px. Chips fill the track height and take the Choicebox tile radius.
307
+ // track's minus 4px. The small track insets them by 2px instead. Chips fill the track
308
+ // height and take the Choicebox tile radius.
251
309
  compoundVariants: [
252
310
  {
253
311
  when: { size: 'large', variant: 'default' },
254
- style: { borderRadius: '16', selectors: { '& > *': { borderRadius: '12' } } },
312
+ style: { borderRadius: 'sm', selectors: { '& > *': { borderRadius: 'xs' } } },
255
313
  },
256
314
  {
257
315
  when: { size: 'medium', variant: 'default' },
258
- style: { borderRadius: '12', selectors: { '& > *': { borderRadius: '8' } } },
316
+ style: { borderRadius: 'xs', selectors: { '& > *': { borderRadius: '2xs' } } },
259
317
  },
260
318
  {
261
319
  when: { size: 'small', variant: 'default' },
262
- style: { borderRadius: '8', selectors: { '& > *': { borderRadius: '4' } } },
320
+ style: {
321
+ // A 10px radius, between the radius steps, keeps the 2xs items concentric 2px in.
322
+ borderRadius: 'calc(0.625rem * var(--tds-corner-scale, 1)) !custom',
323
+ columnGap: '2',
324
+ padding: '2',
325
+ selectors: {
326
+ '& > *': { borderRadius: '2xs' },
327
+ // The pill, which is the only `span` child hidden from assistive technology.
328
+ '& > span[aria-hidden="true"]': { insetBlock: '2' },
329
+ },
330
+ },
263
331
  },
264
332
  {
265
333
  when: { size: 'large', variant: 'chips' },
266
- style: { selectors: { '& > [role="radio"]': { borderRadius: '16', height: '56' } } },
334
+ style: { selectors: { '& > [role="radio"]': { borderRadius: 'sm', height: '56' } } },
267
335
  },
268
336
  {
269
337
  when: { size: 'medium', variant: 'chips' },
270
- style: { selectors: { '& > [role="radio"]': { borderRadius: '12', height: '40' } } },
338
+ style: { selectors: { '& > [role="radio"]': { borderRadius: 'xs', height: '40' } } },
271
339
  },
272
340
  {
273
341
  when: { size: 'small', variant: 'chips' },
274
- style: { selectors: { '& > [role="radio"]': { borderRadius: '8', height: '32' } } },
342
+ style: { selectors: { '& > [role="radio"]': { borderRadius: '2xs', height: '32' } } },
275
343
  },
276
344
  ],
277
345
  defaultVariants: { size: 'medium', variant: 'default' },
278
346
  variants: {
279
- // The shared control scale: 32, 40 and 56px tracks with items inset by 4px.
347
+ // The shared control scale: 32, 40 and 56px tracks with 28, 32 and 48px items. Labels
348
+ // take the strong weight only while their item is checked.
280
349
  size: {
281
350
  large: {
282
351
  height: '56',
@@ -284,8 +353,10 @@ namespace styles {
284
353
  '& > [role="radio"]': {
285
354
  height: '48',
286
355
  paddingInline: '20',
287
- typography: 'button.16',
356
+ typography: 'body.b1',
288
357
  },
358
+ '& > [role="radio"][data-checked]': { typography: 'body.b1Strong' },
359
+ '& > [role="radio"] [data-reserve]': { typography: 'body.b1Strong' },
289
360
  },
290
361
  },
291
362
  medium: {
@@ -294,18 +365,22 @@ namespace styles {
294
365
  '& > [role="radio"]': {
295
366
  height: '32',
296
367
  paddingInline: '16',
297
- typography: 'button.14',
368
+ typography: 'body.b2',
298
369
  },
370
+ '& > [role="radio"][data-checked]': { typography: 'body.b2Strong' },
371
+ '& > [role="radio"] [data-reserve]': { typography: 'body.b2Strong' },
299
372
  },
300
373
  },
301
374
  small: {
302
375
  height: '32',
303
376
  selectors: {
304
377
  '& > [role="radio"]': {
305
- height: '24',
378
+ height: '28',
306
379
  paddingInline: '12',
307
- typography: 'button.12',
380
+ typography: 'body.b3',
308
381
  },
382
+ '& > [role="radio"][data-checked]': { typography: 'body.b3Strong' },
383
+ '& > [role="radio"] [data-reserve]': { typography: 'body.b3Strong' },
309
384
  },
310
385
  },
311
386
  },
@@ -322,14 +397,20 @@ namespace styles {
322
397
  selectors: {
323
398
  '&::-webkit-scrollbar': { display: 'none !custom' },
324
399
  '& > [role="radio"]': { paddingInline: '12' },
325
- '& > [role="radio"][data-checked]': { backgroundColor: 'grayAlpha.100' },
400
+ '& > [role="radio"][data-checked]': { backgroundColor: 'container.regular' },
326
401
  },
327
402
  },
328
403
  // Hugs its items in a `Field.Root` grid instead of stretching the track past them.
329
- default: { backgroundColor: 'grayAlpha.100', justifySelf: 'start', padding: '4' },
404
+ default: { backgroundColor: 'container.regular', justifySelf: 'start', padding: '4' },
330
405
  },
331
406
  },
332
407
  },
333
408
  { id: 'tds/web/choice-group' },
334
409
  )
410
+
411
+ // Stacks a run of label text over its reserve, so the run takes the wider of the two widths.
412
+ export const text = style(
413
+ { alignItems: 'center', display: 'inline-flex', flexDirection: 'column' },
414
+ { id: 'tds/web/choice-group/text' },
415
+ )
335
416
  }
@@ -330,11 +330,11 @@ namespace styles {
330
330
  {
331
331
  alignItems: 'center',
332
332
  backgroundColor: 'transparent !custom',
333
- borderColor: 'grayAlpha.500',
333
+ borderColor: 'line.primary',
334
334
  borderStyle: 'solid',
335
335
  borderWidth: '1.5px !custom',
336
336
  boxSizing: 'border-box',
337
- color: 'background.surface',
337
+ color: 'background.elevated',
338
338
  display: 'inline-flex',
339
339
  flexShrink: '0 !custom',
340
340
  height: '20',
@@ -345,9 +345,9 @@ namespace styles {
345
345
  transitionTimingFunction: 'snappy',
346
346
  width: '20',
347
347
  selectors: {
348
- '&[data-checked]': { backgroundColor: 'foreground', borderColor: 'foreground' },
348
+ '&[data-checked]': { backgroundColor: 'content.primary', borderColor: 'content.primary' },
349
349
  },
350
- borderRadius: '6',
350
+ borderRadius: '2xs',
351
351
  },
352
352
  { id: 'tds/web/choicebox/checkbox' },
353
353
  )
@@ -377,14 +377,15 @@ namespace styles {
377
377
  )
378
378
 
379
379
  export const description = style(
380
- { color: 'gray.900', typography: 'copy.14' },
380
+ { color: 'content.secondary', typography: 'body.b2' },
381
381
  { id: 'tds/web/choicebox/description' },
382
382
  )
383
383
 
384
384
  export const dot = style(
385
385
  {
386
- backgroundColor: 'background.surface',
386
+ backgroundColor: 'background.elevated',
387
387
  borderRadius: 'full',
388
+ cornerShape: 'round',
388
389
  height: '8',
389
390
  width: '8',
390
391
  transitionDuration: '200',
@@ -410,7 +411,7 @@ namespace styles {
410
411
  {
411
412
  base: {
412
413
  alignItems: 'center',
413
- color: 'foreground',
414
+ color: 'content.primary',
414
415
  display: 'inline-flex',
415
416
  fontSize: '20',
416
417
  gridColumn: '1 !custom',
@@ -431,12 +432,12 @@ namespace styles {
431
432
  size: {
432
433
  large: {
433
434
  selectors: {
434
- '& > :is(label, button)': { borderRadius: '16', columnGap: '20', padding: '24' },
435
+ '& > :is(label, button)': { borderRadius: 'sm', columnGap: '20', padding: '24' },
435
436
  '& [data-choicebox-icon]': { fontSize: '24', marginInlineEnd: '24' },
436
- '& [data-choicebox-title]': { typography: 'copy.18.strong' },
437
- '& [data-choicebox-description]': { typography: 'copy.15' },
437
+ '& [data-choicebox-title]': { typography: 'body.b1Strong' },
438
+ '& [data-choicebox-description]': { typography: 'body.b1' },
438
439
  '& :is([role="checkbox"], [role="radio"])': { height: '24', width: '24' },
439
- '& [role="checkbox"]': { borderRadius: '8' },
440
+ '& [role="checkbox"]': { borderRadius: '2xs' },
440
441
  '& [role="radio"] > span': { height: '10', width: '10' },
441
442
  },
442
443
  },
@@ -444,15 +445,15 @@ namespace styles {
444
445
  small: {
445
446
  selectors: {
446
447
  '& > :is(label, button)': {
447
- borderRadius: '8',
448
+ borderRadius: '2xs',
448
449
  columnGap: '12',
449
450
  padding: '12',
450
451
  },
451
452
  '& [data-choicebox-icon]': { fontSize: '16', marginInlineEnd: '12' },
452
- '& [data-choicebox-title]': { typography: 'label.14.strong' },
453
- '& [data-choicebox-description]': { typography: 'copy.13' },
453
+ '& [data-choicebox-title]': { typography: 'body.b2Strong' },
454
+ '& [data-choicebox-description]': { typography: 'body.b3' },
454
455
  '& :is([role="checkbox"], [role="radio"])': { height: '16', width: '16' },
455
- '& [role="checkbox"]': { borderRadius: '4' },
456
+ '& [role="checkbox"]': { borderRadius: '3xs' },
456
457
  '& [role="radio"] > span': { height: '6', width: '6' },
457
458
  },
458
459
  },
@@ -466,11 +467,12 @@ namespace styles {
466
467
  {
467
468
  alignItems: 'center',
468
469
  backgroundColor: 'transparent !custom',
469
- borderColor: 'grayAlpha.500',
470
+ borderColor: 'line.primary',
470
471
  borderStyle: 'solid',
471
472
  borderWidth: '1.5px !custom',
472
473
  boxSizing: 'border-box',
473
- color: 'background.surface',
474
+ color: 'background.elevated',
475
+ cornerShape: 'round',
474
476
  display: 'inline-flex',
475
477
  flexShrink: '0 !custom',
476
478
  height: '20',
@@ -481,7 +483,7 @@ namespace styles {
481
483
  transitionTimingFunction: 'snappy',
482
484
  width: '20',
483
485
  selectors: {
484
- '&[data-checked]': { backgroundColor: 'foreground', borderColor: 'foreground' },
486
+ '&[data-checked]': { backgroundColor: 'content.primary', borderColor: 'content.primary' },
485
487
  },
486
488
  borderRadius: 'full',
487
489
  },
@@ -491,15 +493,15 @@ namespace styles {
491
493
  export const tile = style(
492
494
  {
493
495
  alignItems: 'flex-start',
494
- backgroundColor: 'background.surface',
495
- borderRadius: '12',
496
+ backgroundColor: 'background.elevated',
497
+ borderRadius: 'xs',
496
498
  boxSizing: 'border-box',
497
- color: 'foreground',
499
+ color: 'content.primary',
498
500
  columnGap: '16',
499
501
  cursor: 'pointer',
500
502
  display: 'flex',
501
503
  // The resting outline draws the tile edge inside the box, so it never shifts the content.
502
- outlineColor: 'grayAlpha.200',
504
+ outlineColor: 'line.secondary',
503
505
  outlineOffset: '-1px !custom',
504
506
  outlineStyle: 'solid !custom',
505
507
  outlineWidth: '1',
@@ -512,20 +514,20 @@ namespace styles {
512
514
  '&:active:not(:has([data-disabled]))': { scale: 'press' },
513
515
  '&:hover:not(:disabled, :focus-visible, :has([data-checked], [data-disabled], :focus-visible))':
514
516
  {
515
- outlineColor: 'grayAlpha.400',
517
+ outlineColor: 'line.secondary',
516
518
  },
517
519
  '&:has(:focus-visible)': {
518
- outlineColor: 'blue.700',
520
+ outlineColor: 'border.focus',
519
521
  outlineOffset: '2',
520
522
  outlineWidth: '2',
521
523
  },
522
524
  '&:has([data-checked])': {
523
- outlineColor: 'foreground',
525
+ outlineColor: 'content.primary',
524
526
  outlineOffset: '-2',
525
527
  outlineWidth: '2',
526
528
  },
527
529
  '&:has([data-checked]):has(:focus-visible)': {
528
- outlineColor: 'blue.700',
530
+ outlineColor: 'border.focus',
529
531
  outlineOffset: '2',
530
532
  },
531
533
  '&:has([data-disabled])': { cursor: 'default', opacity: 'disabled' },
@@ -537,7 +539,7 @@ namespace styles {
537
539
  width: '100% !custom',
538
540
  },
539
541
  '&:is(button):focus-visible': {
540
- outlineColor: 'blue.700',
542
+ outlineColor: 'border.focus',
541
543
  outlineOffset: '2',
542
544
  outlineWidth: '2',
543
545
  },
@@ -552,5 +554,5 @@ namespace styles {
552
554
  { id: 'tds/web/choicebox/tile' },
553
555
  )
554
556
 
555
- export const title = style({ typography: 'label.16.strong' }, { id: 'tds/web/choicebox/title' })
557
+ export const title = style({ typography: 'body.b1Strong' }, { id: 'tds/web/choicebox/title' })
556
558
  }
@@ -215,16 +215,16 @@ export namespace Combobox {
215
215
  }
216
216
 
217
217
  /**
218
- * Renders the field frame around the input and its actions. `size` sets 32, 40 or 56px heights.
219
- * `invalid` only styles the frame, so also set `aria-invalid` on the input to expose the state.
218
+ * Renders the 48px field frame around the input and its actions. `invalid` only fills the frame
219
+ * red, so also set `aria-invalid` on the input to expose the state.
220
220
  */
221
221
  export function InputGroup(props: InputGroup.Props) {
222
- const { className, invalid, size, variant, vars, ...attributes } = props
222
+ const { className, invalid, variant, vars, ...attributes } = props
223
223
 
224
224
  return (
225
225
  <BaseUi.Combobox.InputGroup
226
226
  {...attributes}
227
- {...Field.styles.field({ className, size, style: props.style, variant, vars })}
227
+ {...Field.styles.field({ className, style: props.style, variant, vars })}
228
228
  data-invalid={invalid || undefined}
229
229
  />
230
230
  )
@@ -454,10 +454,11 @@ namespace styles {
454
454
  export const chip = style(
455
455
  {
456
456
  alignItems: 'center',
457
- backgroundColor: 'grayAlpha.200',
457
+ backgroundColor: 'container.strong',
458
458
  borderRadius: 'full',
459
459
  boxSizing: 'border-box',
460
460
  columnGap: '4',
461
+ cornerShape: 'round',
461
462
  display: 'inline-flex',
462
463
  height: '32',
463
464
  outline: 'none !custom',
@@ -466,10 +467,10 @@ namespace styles {
466
467
  transitionDuration: '120',
467
468
  transitionProperty: 'background-color, color, opacity !custom',
468
469
  transitionTimingFunction: 'snappy',
469
- typography: 'copy.14',
470
+ typography: 'body.b2',
470
471
  selectors: {
471
472
  '&:focus-within, &[data-highlighted]': {
472
- backgroundColor: 'foreground',
473
+ backgroundColor: 'content.primary',
473
474
  color: 'background.primary',
474
475
  },
475
476
  '&[data-disabled]': { opacity: 'disabled' },
@@ -485,6 +486,7 @@ namespace styles {
485
486
  border: 'none !custom',
486
487
  borderRadius: 'full',
487
488
  color: 'inherit !custom',
489
+ cornerShape: 'round',
488
490
  cursor: 'pointer',
489
491
  display: 'inline-flex',
490
492
  fontSize: '12',
@@ -525,7 +527,7 @@ namespace styles {
525
527
  export const prefix = style(
526
528
  {
527
529
  alignItems: 'center',
528
- color: 'gray.900',
530
+ color: 'content.secondary',
529
531
  display: 'inline-flex',
530
532
  flexShrink: '0 !custom',
531
533
  },
@@ -32,7 +32,7 @@ export function CopyButton(props: CopyButton.Props) {
32
32
  size = 'small',
33
33
  title,
34
34
  value,
35
- variant = 'text',
35
+ variant = 'tertiary',
36
36
  ...attributes
37
37
  } = props
38
38
  const own = useCopy(value)