@tempoxyz/ds 0.2.2 → 0.2.5

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 (340) hide show
  1. package/dist/mobile/components/Button.d.ts +1 -1
  2. package/dist/mobile/components/Button.js +1 -1
  3. package/dist/mobile/components/Button.js.map +1 -1
  4. package/dist/mobile/components/IconButton.d.ts +1 -1
  5. package/dist/mobile/components/IconButton.js +1 -1
  6. package/dist/mobile/components/IconButton.js.map +1 -1
  7. package/dist/mobile/components/Spinner.d.ts +3 -3
  8. package/dist/mobile/components/Spinner.d.ts.map +1 -1
  9. package/dist/mobile/components/Spinner.js +3 -3
  10. package/dist/mobile/components/Spinner.js.map +1 -1
  11. package/dist/mobile/components/Toast.d.ts +1 -1
  12. package/dist/mobile/components/Toast.d.ts.map +1 -1
  13. package/dist/mobile/components/Toast.js +1 -1
  14. package/dist/mobile/components/Toast.js.map +1 -1
  15. package/dist/mobile/components/Toggle.d.ts +2 -2
  16. package/dist/mobile/components/Toggle.js +2 -2
  17. package/dist/mobile/components/Toggle.js.map +1 -1
  18. package/dist/mobile/vars.d.ts +24 -0
  19. package/dist/mobile/vars.d.ts.map +1 -1
  20. package/dist/mobile/vars.js +12 -0
  21. package/dist/mobile/vars.js.map +1 -1
  22. package/dist/mobile/zyzz.config.d.ts +96 -0
  23. package/dist/mobile/zyzz.config.d.ts.map +1 -1
  24. package/dist/web/components/Accordion.css +1 -1
  25. package/dist/web/components/Accordion.d.ts +7 -7
  26. package/dist/web/components/Accordion.js.map +1 -1
  27. package/dist/web/components/Accordion.js.zyzz.json +1 -1
  28. package/dist/web/components/AlertDialog.css +1 -1
  29. package/dist/web/components/AlertDialog.d.ts.map +1 -1
  30. package/dist/web/components/AlertDialog.js +1 -1
  31. package/dist/web/components/AlertDialog.js.map +1 -1
  32. package/dist/web/components/AlertDialog.js.zyzz.json +1 -1
  33. package/dist/web/components/Amount.js.zyzz.json +1 -1
  34. package/dist/web/components/AmountInput.css +1 -1
  35. package/dist/web/components/AmountInput.js +1 -1
  36. package/dist/web/components/AmountInput.js.map +1 -1
  37. package/dist/web/components/AmountInput.js.zyzz.json +1 -1
  38. package/dist/web/components/AppShell.css +1 -1
  39. package/dist/web/components/AppShell.d.ts +10 -10
  40. package/dist/web/components/AppShell.js.map +1 -1
  41. package/dist/web/components/AppShell.js.zyzz.json +1 -1
  42. package/dist/web/components/Autocomplete.js.zyzz.json +1 -1
  43. package/dist/web/components/Avatar.css +1 -1
  44. package/dist/web/components/Avatar.d.ts +3 -3
  45. package/dist/web/components/Avatar.js.map +1 -1
  46. package/dist/web/components/Avatar.js.zyzz.json +1 -1
  47. package/dist/web/components/Banner.css +1 -1
  48. package/dist/web/components/Banner.js +2 -2
  49. package/dist/web/components/Banner.js.map +1 -1
  50. package/dist/web/components/Banner.js.zyzz.json +1 -1
  51. package/dist/web/components/Breadcrumbs.css +1 -1
  52. package/dist/web/components/Breadcrumbs.d.ts +4 -4
  53. package/dist/web/components/Breadcrumbs.js.map +1 -1
  54. package/dist/web/components/Breadcrumbs.js.zyzz.json +1 -1
  55. package/dist/web/components/Button.css +1 -1
  56. package/dist/web/components/Button.d.ts +12 -11
  57. package/dist/web/components/Button.d.ts.map +1 -1
  58. package/dist/web/components/Button.js +2 -2
  59. package/dist/web/components/Button.js.map +1 -1
  60. package/dist/web/components/Button.js.zyzz.json +1 -1
  61. package/dist/web/components/Calendar.css +1 -1
  62. package/dist/web/components/Calendar.js.map +1 -1
  63. package/dist/web/components/Calendar.js.zyzz.json +1 -1
  64. package/dist/web/components/Callout.css +1 -1
  65. package/dist/web/components/Callout.d.ts +6 -6
  66. package/dist/web/components/Callout.js +1 -1
  67. package/dist/web/components/Callout.js.map +1 -1
  68. package/dist/web/components/Callout.js.zyzz.json +1 -1
  69. package/dist/web/components/Checkbox.css +1 -1
  70. package/dist/web/components/Checkbox.d.ts +8 -8
  71. package/dist/web/components/Checkbox.js.map +1 -1
  72. package/dist/web/components/Checkbox.js.zyzz.json +1 -1
  73. package/dist/web/components/CheckboxGroup.js.zyzz.json +1 -1
  74. package/dist/web/components/ChoiceGroup.css +1 -1
  75. package/dist/web/components/ChoiceGroup.d.ts +2 -2
  76. package/dist/web/components/ChoiceGroup.d.ts.map +1 -1
  77. package/dist/web/components/ChoiceGroup.js +2 -2
  78. package/dist/web/components/ChoiceGroup.js.map +1 -1
  79. package/dist/web/components/ChoiceGroup.js.zyzz.json +1 -1
  80. package/dist/web/components/Choicebox.css +1 -1
  81. package/dist/web/components/Choicebox.d.ts +4 -4
  82. package/dist/web/components/Choicebox.js +1 -1
  83. package/dist/web/components/Choicebox.js.map +1 -1
  84. package/dist/web/components/Choicebox.js.zyzz.json +1 -1
  85. package/dist/web/components/Combobox.css +1 -1
  86. package/dist/web/components/Combobox.js.map +1 -1
  87. package/dist/web/components/Combobox.js.zyzz.json +1 -1
  88. package/dist/web/components/Container.js.zyzz.json +1 -1
  89. package/dist/web/components/CopyButton.js.zyzz.json +1 -1
  90. package/dist/web/components/DatePicker.css +1 -1
  91. package/dist/web/components/DatePicker.d.ts +19 -19
  92. package/dist/web/components/DatePicker.d.ts.map +1 -1
  93. package/dist/web/components/DatePicker.js +2 -2
  94. package/dist/web/components/DatePicker.js.map +1 -1
  95. package/dist/web/components/DatePicker.js.zyzz.json +1 -1
  96. package/dist/web/components/Dialog.css +1 -1
  97. package/dist/web/components/Dialog.d.ts.map +1 -1
  98. package/dist/web/components/Dialog.js +1 -1
  99. package/dist/web/components/Dialog.js.map +1 -1
  100. package/dist/web/components/Dialog.js.zyzz.json +1 -1
  101. package/dist/web/components/Drawer.css +1 -1
  102. package/dist/web/components/Drawer.js.map +1 -1
  103. package/dist/web/components/Drawer.js.zyzz.json +1 -1
  104. package/dist/web/components/Empty.js.zyzz.json +1 -1
  105. package/dist/web/components/Field.css +1 -1
  106. package/dist/web/components/Field.js.map +1 -1
  107. package/dist/web/components/Field.js.zyzz.json +1 -1
  108. package/dist/web/components/Fieldset.js.zyzz.json +1 -1
  109. package/dist/web/components/Frame.css +1 -1
  110. package/dist/web/components/Frame.d.ts +27 -10
  111. package/dist/web/components/Frame.d.ts.map +1 -1
  112. package/dist/web/components/Frame.js +12 -5
  113. package/dist/web/components/Frame.js.map +1 -1
  114. package/dist/web/components/Frame.js.zyzz.json +1 -1
  115. package/dist/web/components/Gauge.css +1 -1
  116. package/dist/web/components/Gauge.js.map +1 -1
  117. package/dist/web/components/Gauge.js.zyzz.json +1 -1
  118. package/dist/web/components/Grid.js.zyzz.json +1 -1
  119. package/dist/web/components/Hex.css +1 -1
  120. package/dist/web/components/Hex.d.ts +5 -5
  121. package/dist/web/components/Hex.js +1 -1
  122. package/dist/web/components/Hex.js.map +1 -1
  123. package/dist/web/components/Hex.js.zyzz.json +1 -1
  124. package/dist/web/components/IconChip.css +1 -1
  125. package/dist/web/components/IconChip.d.ts +1 -1
  126. package/dist/web/components/IconChip.d.ts.map +1 -1
  127. package/dist/web/components/IconChip.js.map +1 -1
  128. package/dist/web/components/IconChip.js.zyzz.json +1 -1
  129. package/dist/web/components/Identicon.js.zyzz.json +1 -1
  130. package/dist/web/components/Inline.js.zyzz.json +1 -1
  131. package/dist/web/components/Input.css +1 -1
  132. package/dist/web/components/Input.js.map +1 -1
  133. package/dist/web/components/Input.js.zyzz.json +1 -1
  134. package/dist/web/components/Inset.js.zyzz.json +1 -1
  135. package/dist/web/components/Kbd.css +1 -1
  136. package/dist/web/components/Kbd.d.ts +1 -1
  137. package/dist/web/components/Kbd.js.map +1 -1
  138. package/dist/web/components/Kbd.js.zyzz.json +1 -1
  139. package/dist/web/components/LoadingDots.css +1 -1
  140. package/dist/web/components/LoadingDots.d.ts +2 -2
  141. package/dist/web/components/LoadingDots.js.map +1 -1
  142. package/dist/web/components/LoadingDots.js.zyzz.json +1 -1
  143. package/dist/web/components/Menu.css +1 -1
  144. package/dist/web/components/Menu.d.ts +11 -11
  145. package/dist/web/components/Menu.d.ts.map +1 -1
  146. package/dist/web/components/Menu.js +1 -1
  147. package/dist/web/components/Menu.js.map +1 -1
  148. package/dist/web/components/Menu.js.zyzz.json +1 -1
  149. package/dist/web/components/NumberField.css +1 -1
  150. package/dist/web/components/NumberField.js +1 -1
  151. package/dist/web/components/NumberField.js.map +1 -1
  152. package/dist/web/components/NumberField.js.zyzz.json +1 -1
  153. package/dist/web/components/OtpField.css +1 -1
  154. package/dist/web/components/OtpField.d.ts.map +1 -1
  155. package/dist/web/components/OtpField.js +1 -1
  156. package/dist/web/components/OtpField.js.map +1 -1
  157. package/dist/web/components/OtpField.js.zyzz.json +1 -1
  158. package/dist/web/components/Pagination.css +1 -1
  159. package/dist/web/components/Pagination.d.ts +12 -12
  160. package/dist/web/components/Pagination.js +1 -1
  161. package/dist/web/components/Pagination.js.map +1 -1
  162. package/dist/web/components/Pagination.js.zyzz.json +1 -1
  163. package/dist/web/components/Popover.css +1 -1
  164. package/dist/web/components/Popover.d.ts.map +1 -1
  165. package/dist/web/components/Popover.js +1 -1
  166. package/dist/web/components/Popover.js.map +1 -1
  167. package/dist/web/components/Popover.js.zyzz.json +1 -1
  168. package/dist/web/components/Progress.css +1 -1
  169. package/dist/web/components/Progress.js.map +1 -1
  170. package/dist/web/components/Progress.js.zyzz.json +1 -1
  171. package/dist/web/components/Qr.js.zyzz.json +1 -1
  172. package/dist/web/components/RadioGroup.css +1 -1
  173. package/dist/web/components/RadioGroup.d.ts +4 -4
  174. package/dist/web/components/RadioGroup.js.map +1 -1
  175. package/dist/web/components/RadioGroup.js.zyzz.json +1 -1
  176. package/dist/web/components/Rows.css +1 -1
  177. package/dist/web/components/Rows.d.ts +20 -9
  178. package/dist/web/components/Rows.d.ts.map +1 -1
  179. package/dist/web/components/Rows.js +6 -4
  180. package/dist/web/components/Rows.js.map +1 -1
  181. package/dist/web/components/Rows.js.zyzz.json +1 -1
  182. package/dist/web/components/SecretValue.css +1 -1
  183. package/dist/web/components/SecretValue.d.ts +4 -4
  184. package/dist/web/components/SecretValue.js +1 -1
  185. package/dist/web/components/SecretValue.js.map +1 -1
  186. package/dist/web/components/SecretValue.js.zyzz.json +1 -1
  187. package/dist/web/components/Select.css +1 -1
  188. package/dist/web/components/Select.js.map +1 -1
  189. package/dist/web/components/Select.js.zyzz.json +1 -1
  190. package/dist/web/components/Separator.js.zyzz.json +1 -1
  191. package/dist/web/components/SidebarMenu.css +1 -1
  192. package/dist/web/components/SidebarMenu.d.ts +11 -11
  193. package/dist/web/components/SidebarMenu.d.ts.map +1 -1
  194. package/dist/web/components/SidebarMenu.js +1 -1
  195. package/dist/web/components/SidebarMenu.js.map +1 -1
  196. package/dist/web/components/SidebarMenu.js.zyzz.json +1 -1
  197. package/dist/web/components/Skeleton.js.zyzz.json +1 -1
  198. package/dist/web/components/Slider.css +1 -1
  199. package/dist/web/components/Slider.d.ts.map +1 -1
  200. package/dist/web/components/Slider.js.map +1 -1
  201. package/dist/web/components/Slider.js.zyzz.json +1 -1
  202. package/dist/web/components/Snippet.css +1 -1
  203. package/dist/web/components/Snippet.d.ts +4 -4
  204. package/dist/web/components/Snippet.js +1 -1
  205. package/dist/web/components/Snippet.js.map +1 -1
  206. package/dist/web/components/Snippet.js.zyzz.json +1 -1
  207. package/dist/web/components/Spinner.js.zyzz.json +1 -1
  208. package/dist/web/components/SplitButton.css +1 -1
  209. package/dist/web/components/SplitButton.d.ts.map +1 -1
  210. package/dist/web/components/SplitButton.js +1 -1
  211. package/dist/web/components/SplitButton.js.map +1 -1
  212. package/dist/web/components/SplitButton.js.zyzz.json +1 -1
  213. package/dist/web/components/Stack.js.zyzz.json +1 -1
  214. package/dist/web/components/Stepper.css +1 -1
  215. package/dist/web/components/Stepper.d.ts +1 -1
  216. package/dist/web/components/Stepper.js.map +1 -1
  217. package/dist/web/components/Stepper.js.zyzz.json +1 -1
  218. package/dist/web/components/Surface.css +1 -1
  219. package/dist/web/components/Surface.d.ts +65 -47
  220. package/dist/web/components/Surface.d.ts.map +1 -1
  221. package/dist/web/components/Surface.js +3 -3
  222. package/dist/web/components/Surface.js.map +1 -1
  223. package/dist/web/components/Surface.js.zyzz.json +1 -1
  224. package/dist/web/components/Switch.css +1 -1
  225. package/dist/web/components/Switch.d.ts +14 -14
  226. package/dist/web/components/Switch.d.ts.map +1 -1
  227. package/dist/web/components/Switch.js.map +1 -1
  228. package/dist/web/components/Switch.js.zyzz.json +1 -1
  229. package/dist/web/components/Table.css +1 -1
  230. package/dist/web/components/Table.d.ts +4 -4
  231. package/dist/web/components/Table.js.map +1 -1
  232. package/dist/web/components/Table.js.zyzz.json +1 -1
  233. package/dist/web/components/Tabs.css +1 -1
  234. package/dist/web/components/Tabs.d.ts +14 -14
  235. package/dist/web/components/Tabs.js +1 -1
  236. package/dist/web/components/Tabs.js.map +1 -1
  237. package/dist/web/components/Tabs.js.zyzz.json +1 -1
  238. package/dist/web/components/Tag.css +1 -1
  239. package/dist/web/components/Tag.d.ts +10 -10
  240. package/dist/web/components/Tag.js +1 -1
  241. package/dist/web/components/Tag.js.map +1 -1
  242. package/dist/web/components/Tag.js.zyzz.json +1 -1
  243. package/dist/web/components/Textarea.css +1 -1
  244. package/dist/web/components/Textarea.d.ts +14 -14
  245. package/dist/web/components/Textarea.js.map +1 -1
  246. package/dist/web/components/Textarea.js.zyzz.json +1 -1
  247. package/dist/web/components/Toast.css +1 -1
  248. package/dist/web/components/Toast.d.ts.map +1 -1
  249. package/dist/web/components/Toast.js +2 -2
  250. package/dist/web/components/Toast.js.map +1 -1
  251. package/dist/web/components/Toast.js.zyzz.json +1 -1
  252. package/dist/web/components/Token.js.zyzz.json +1 -1
  253. package/dist/web/components/Tooltip.css +1 -1
  254. package/dist/web/components/Tooltip.d.ts.map +1 -1
  255. package/dist/web/components/Tooltip.js +1 -1
  256. package/dist/web/components/Tooltip.js.map +1 -1
  257. package/dist/web/components/Tooltip.js.zyzz.json +1 -1
  258. package/dist/web/components/internal/Field.css +1 -1
  259. package/dist/web/components/internal/Field.d.ts +7 -7
  260. package/dist/web/components/internal/Field.js.map +1 -1
  261. package/dist/web/components/internal/Field.js.zyzz.json +1 -1
  262. package/dist/web/components/internal/InputGroup.css +1 -1
  263. package/dist/web/components/internal/InputGroup.d.ts +23 -12
  264. package/dist/web/components/internal/InputGroup.d.ts.map +1 -1
  265. package/dist/web/components/internal/InputGroup.js +1 -1
  266. package/dist/web/components/internal/InputGroup.js.map +1 -1
  267. package/dist/web/components/internal/InputGroup.js.zyzz.json +1 -1
  268. package/dist/web/components/internal/Listbox.css +1 -1
  269. package/dist/web/components/internal/Listbox.d.ts +9 -9
  270. package/dist/web/components/internal/Listbox.d.ts.map +1 -1
  271. package/dist/web/components/internal/Listbox.js +1 -1
  272. package/dist/web/components/internal/Listbox.js.map +1 -1
  273. package/dist/web/components/internal/Listbox.js.zyzz.json +1 -1
  274. package/dist/web/index.js.zyzz.json +1 -1
  275. package/dist/web/vars.d.ts +91 -0
  276. package/dist/web/vars.d.ts.map +1 -1
  277. package/dist/web/vars.js.map +1 -1
  278. package/dist/web/vars.js.zyzz.json +1 -1
  279. package/dist/web/zyzz.config.d.ts +455 -0
  280. package/dist/web/zyzz.config.d.ts.map +1 -1
  281. package/dist/web/zyzz.config.js.zyzz.json +1 -1
  282. package/package.json +1 -1
  283. package/src/mobile/components/Button.tsx +1 -1
  284. package/src/mobile/components/IconButton.tsx +1 -1
  285. package/src/mobile/components/Spinner.tsx +3 -4
  286. package/src/mobile/components/Toast.tsx +1 -2
  287. package/src/mobile/components/Toggle.tsx +2 -2
  288. package/src/mobile/vars.ts +14 -0
  289. package/src/web/components/Accordion.tsx +8 -8
  290. package/src/web/components/AlertDialog.tsx +11 -8
  291. package/src/web/components/AmountInput.tsx +12 -12
  292. package/src/web/components/AppShell.tsx +23 -23
  293. package/src/web/components/Avatar.tsx +3 -3
  294. package/src/web/components/Banner.tsx +15 -15
  295. package/src/web/components/Breadcrumbs.tsx +4 -4
  296. package/src/web/components/Button.tsx +15 -12
  297. package/src/web/components/Calendar.tsx +5 -5
  298. package/src/web/components/Callout.tsx +15 -15
  299. package/src/web/components/Checkbox.tsx +9 -9
  300. package/src/web/components/ChoiceGroup.tsx +13 -14
  301. package/src/web/components/Choicebox.tsx +21 -21
  302. package/src/web/components/Combobox.tsx +3 -3
  303. package/src/web/components/DatePicker.tsx +24 -24
  304. package/src/web/components/Dialog.tsx +26 -17
  305. package/src/web/components/Drawer.tsx +6 -6
  306. package/src/web/components/Field.tsx +9 -9
  307. package/src/web/components/Frame.tsx +30 -9
  308. package/src/web/components/Gauge.tsx +1 -1
  309. package/src/web/components/Hex.tsx +5 -5
  310. package/src/web/components/IconChip.tsx +1 -2
  311. package/src/web/components/Input.tsx +10 -10
  312. package/src/web/components/Kbd.tsx +1 -1
  313. package/src/web/components/LoadingDots.tsx +4 -4
  314. package/src/web/components/Menu.tsx +15 -12
  315. package/src/web/components/NumberField.tsx +16 -16
  316. package/src/web/components/OtpField.tsx +14 -6
  317. package/src/web/components/Pagination.tsx +12 -12
  318. package/src/web/components/Popover.tsx +14 -11
  319. package/src/web/components/Progress.tsx +2 -2
  320. package/src/web/components/RadioGroup.tsx +11 -11
  321. package/src/web/components/Rows.tsx +35 -16
  322. package/src/web/components/SecretValue.tsx +4 -4
  323. package/src/web/components/Select.tsx +1 -1
  324. package/src/web/components/SidebarMenu.tsx +14 -15
  325. package/src/web/components/Slider.tsx +6 -7
  326. package/src/web/components/Snippet.tsx +8 -8
  327. package/src/web/components/SplitButton.tsx +17 -5
  328. package/src/web/components/Stepper.tsx +1 -1
  329. package/src/web/components/Surface.tsx +56 -50
  330. package/src/web/components/Switch.tsx +21 -23
  331. package/src/web/components/Table.tsx +4 -4
  332. package/src/web/components/Tabs.tsx +14 -14
  333. package/src/web/components/Tag.tsx +12 -12
  334. package/src/web/components/Textarea.tsx +14 -14
  335. package/src/web/components/Toast.tsx +23 -20
  336. package/src/web/components/Tooltip.tsx +12 -9
  337. package/src/web/components/internal/Field.ts +19 -19
  338. package/src/web/components/internal/InputGroup.ts +22 -13
  339. package/src/web/components/internal/Listbox.ts +17 -14
  340. package/src/web/vars.ts +81 -2
@@ -162,20 +162,23 @@ namespace styles {
162
162
  // Weight overrides the typography token, so it stays after it.
163
163
  typography: 'button.12',
164
164
  outlineColor: 'transparent !custom',
165
- outlineOffset: '0px !custom',
165
+ outlineOffset: '0',
166
166
  outlineStyle: 'solid !custom',
167
- outlineWidth: '2px !custom',
168
- transitionDuration: '160ms',
169
- transitionProperty: 'background-color, outline-color, outline-offset, transform',
167
+ outlineWidth: '2',
168
+ transitionDuration: '160',
169
+ transitionProperty: 'background-color, outline-color, outline-offset, scale',
170
170
  transitionTimingFunction: 'snappy',
171
171
  selectors: {
172
- '&:active': { backgroundColor: 'grayAlpha.300', transform: 'scale(0.97) !custom' },
173
- '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2px !custom' },
172
+ '&:active': {
173
+ backgroundColor: 'grayAlpha.300',
174
+ scale: 'press',
175
+ },
176
+ '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2' },
174
177
  '&:hover': { backgroundColor: 'grayAlpha.200' },
175
178
  },
176
179
  '@media (prefers-reduced-motion: reduce)': {
177
180
  transitionProperty: 'background-color, outline-color',
178
- selectors: { '&:active': { transform: 'none !custom' } },
181
+ selectors: { '&:active': { scale: 'none !custom' } },
179
182
  },
180
183
  },
181
184
  { id: 'tds/web/toast/action' },
@@ -208,20 +211,20 @@ namespace styles {
208
211
  padding: '0',
209
212
  width: '24',
210
213
  outlineColor: 'transparent !custom',
211
- outlineOffset: '0px !custom',
214
+ outlineOffset: '0',
212
215
  outlineStyle: 'solid !custom',
213
- outlineWidth: '2px !custom',
214
- transitionDuration: '160ms',
215
- transitionProperty: 'background-color, outline-color, outline-offset, transform',
216
+ outlineWidth: '2',
217
+ transitionDuration: '160',
218
+ transitionProperty: 'background-color, outline-color, outline-offset, scale',
216
219
  transitionTimingFunction: 'snappy',
217
220
  selectors: {
218
- '&:active': { transform: 'scale(0.97) !custom' },
219
- '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2px !custom' },
221
+ '&:active': { scale: 'press' },
222
+ '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2' },
220
223
  '&:hover': { backgroundColor: 'grayAlpha.100' },
221
224
  },
222
225
  '@media (prefers-reduced-motion: reduce)': {
223
226
  transitionProperty: 'background-color, outline-color',
224
- selectors: { '&:active': { transform: 'none !custom' } },
227
+ selectors: { '&:active': { scale: 'none !custom' } },
225
228
  },
226
229
  },
227
230
  { id: 'tds/web/toast/close' },
@@ -237,7 +240,7 @@ namespace styles {
237
240
  overflow: 'hidden',
238
241
  paddingBlock: '16',
239
242
  paddingInline: '20',
240
- transitionDuration: '200ms',
243
+ transitionDuration: '200',
241
244
  transitionProperty: 'opacity',
242
245
  transitionTimingFunction: 'snappy',
243
246
  selectors: {
@@ -284,7 +287,7 @@ namespace styles {
284
287
  'translateX(var(--toast-swipe-movement-x)) translateY(calc(var(--toast-swipe-movement-y) - var(--toast-index) * 12px - (1 - max(0, calc(1 - var(--toast-index) * 0.1))) * var(--toast-frontmost-height, var(--toast-height)))) scale(max(0, calc(1 - var(--toast-index) * 0.1))) !custom',
285
288
  transformOrigin: 'bottom center !custom',
286
289
  // Height follows the frontmost toast as the stack collapses, which a transform cannot express.
287
- transitionDuration: '320ms, 320ms, 150ms',
290
+ transitionDuration: '320ms, 320ms, 150ms !custom',
288
291
  transitionProperty: 'transform, opacity, height',
289
292
  transitionTimingFunction: 'spring',
290
293
  userSelect: 'none',
@@ -292,7 +295,7 @@ namespace styles {
292
295
  selectors: {
293
296
  '&::after': {
294
297
  content: '"" !custom',
295
- height: '13px !custom',
298
+ height: '14',
296
299
  insetBlockStart: '100% !custom',
297
300
  insetInline: '0',
298
301
  position: 'absolute',
@@ -307,7 +310,7 @@ namespace styles {
307
310
  opacity: '0 !custom',
308
311
  transform: 'translateY(150%) !custom',
309
312
  },
310
- '&[data-ending-style]': { transitionDuration: '200ms, 200ms, 150ms' },
313
+ '&[data-ending-style]': { transitionDuration: '200ms, 200ms, 150ms !custom' },
311
314
  '&[data-ending-style][data-swipe-direction="down"]': {
312
315
  transform: 'translateY(calc(var(--toast-swipe-movement-y) + 150%)) !custom',
313
316
  },
@@ -321,7 +324,7 @@ namespace styles {
321
324
  transform: 'translateY(calc(var(--toast-swipe-movement-y) - 150%)) !custom',
322
325
  },
323
326
  // The toast follows the pointer without lag while swiping.
324
- '&[data-swiping]': { transitionDuration: '0ms' },
327
+ '&[data-swiping]': { transitionDuration: '0' },
325
328
  },
326
329
  '@media (prefers-reduced-motion: reduce)': { transitionProperty: 'opacity' },
327
330
  },
@@ -340,7 +343,7 @@ namespace styles {
340
343
  margin: 'auto !custom',
341
344
  maxWidth: '384',
342
345
  position: 'fixed',
343
- zIndex: '1000 !custom',
346
+ zIndex: 'toast',
344
347
  '@media (min-width: 40rem)': {
345
348
  insetInlineStart: 'auto !custom',
346
349
  margin: '0',
@@ -103,31 +103,34 @@ namespace styles {
103
103
  boxSizing: 'border-box',
104
104
  color: 'background.primary',
105
105
  maxWidth: '320',
106
- paddingBlock: '6px !custom',
106
+ paddingBlock: '6',
107
107
  paddingInline: '12',
108
108
  transformOrigin: 'var(--transform-origin) !custom',
109
- transitionDuration: '160ms',
110
- transitionProperty: 'opacity, transform',
109
+ transitionDuration: '160',
110
+ transitionProperty: 'opacity, scale',
111
111
  transitionTimingFunction: 'snappy',
112
112
  typography: 'label.13',
113
113
  selectors: {
114
114
  '&[data-ending-style]': {
115
115
  opacity: '0 !custom',
116
- transform: 'scale(0.96) !custom',
117
- transitionDuration: '100ms',
116
+ scale: 'enter',
117
+ transitionDuration: '100',
118
+ },
119
+ '&[data-instant]': { transitionDuration: '0' },
120
+ '&[data-starting-style]': {
121
+ opacity: '0 !custom',
122
+ scale: 'enter',
118
123
  },
119
- '&[data-instant]': { transitionDuration: '0ms' },
120
- '&[data-starting-style]': { opacity: '0 !custom', transform: 'scale(0.96) !custom' },
121
124
  },
122
125
  '@media (prefers-reduced-motion: reduce)': {
123
126
  transitionProperty: 'opacity',
124
127
  selectors: {
125
- '&[data-ending-style], &[data-starting-style]': { transform: 'none !custom' },
128
+ '&[data-ending-style], &[data-starting-style]': { scale: 'none !custom' },
126
129
  },
127
130
  },
128
131
  },
129
132
  { id: 'tds/web/tooltip/popup' },
130
133
  )
131
134
 
132
- export const positioner = style({ zIndex: '50 !custom' }, { id: 'tds/web/tooltip/positioner' })
135
+ export const positioner = style({ zIndex: 'popover' }, { id: 'tds/web/tooltip/positioner' })
133
136
  }
@@ -14,12 +14,12 @@ export namespace styles {
14
14
  display: 'flex',
15
15
  justifyContent: 'space-between',
16
16
  outlineColor: 'transparent !custom',
17
- outlineOffset: '2px !custom',
17
+ outlineOffset: '2',
18
18
  outlineStyle: 'solid !custom',
19
- outlineWidth: '2px !custom',
19
+ outlineWidth: '2',
20
20
  position: 'relative',
21
21
  textAlign: 'start',
22
- transitionDuration: '160ms !custom',
22
+ transitionDuration: '160',
23
23
  transitionProperty: 'background-color, border-color, opacity, outline-color !custom',
24
24
  transitionTimingFunction: 'snappy',
25
25
  width: '100% !custom',
@@ -29,19 +29,19 @@ export namespace styles {
29
29
  borderColor: 'transparent !custom',
30
30
  borderRadius: 'inherit !custom',
31
31
  borderStyle: 'solid !custom',
32
- borderWidth: '2px !custom',
32
+ borderWidth: '2',
33
33
  boxSizing: 'border-box',
34
34
  content: '"" !custom',
35
35
  inset: '0',
36
36
  pointerEvents: 'none',
37
37
  position: 'absolute',
38
- transitionDuration: '160ms !custom',
38
+ transitionDuration: '160',
39
39
  transitionProperty: 'border-color !custom',
40
40
  transitionTimingFunction: 'snappy',
41
41
  },
42
42
  '&:is(button)': { cursor: 'pointer' },
43
43
  '&:focus-visible, &:has(:focus-visible)': { outlineColor: 'blue.700' },
44
- '&[data-disabled], &:disabled': { opacity: '0.4 !custom' },
44
+ '&[data-disabled], &:disabled': { opacity: 'disabled' },
45
45
  '&:is([aria-invalid="true"], [data-invalid], :has([aria-invalid="true"]))::before': {
46
46
  borderColor: 'red.800',
47
47
  },
@@ -73,7 +73,7 @@ export namespace styles {
73
73
  large: { columnGap: '12', minHeight: '56', paddingInline: '20', typography: 'copy.16' },
74
74
  medium: { columnGap: '8', minHeight: '40', paddingInline: '16', typography: 'copy.14' },
75
75
  small: {
76
- columnGap: '6px !custom',
76
+ columnGap: '6',
77
77
  minHeight: '32',
78
78
  paddingInline: '12',
79
79
  typography: 'copy.13',
@@ -124,18 +124,18 @@ export namespace styles {
124
124
  height: '36',
125
125
  justifyContent: 'center',
126
126
  outlineColor: 'transparent !custom',
127
- outlineOffset: '2px !custom',
127
+ outlineOffset: '2',
128
128
  outlineStyle: 'solid !custom',
129
- outlineWidth: '2px !custom',
129
+ outlineWidth: '2',
130
130
  padding: '0',
131
- transitionDuration: '160ms !custom',
131
+ transitionDuration: '160',
132
132
  transitionProperty: 'background-color, color, opacity, outline-color, transform !custom',
133
133
  transitionTimingFunction: 'snappy',
134
134
  width: '36',
135
135
  selectors: {
136
136
  '&:active:not(:disabled)': {
137
137
  transform: 'scale(0.92) !custom',
138
- transitionDuration: '100ms !custom',
138
+ transitionDuration: '100',
139
139
  },
140
140
  '&:disabled': { cursor: 'default' },
141
141
  '&:focus-visible': { outlineColor: 'blue.700' },
@@ -145,23 +145,23 @@ export namespace styles {
145
145
  transform: 'scale(0.6) !custom',
146
146
  },
147
147
  '& > svg': {
148
- transitionDuration: '200ms !custom',
148
+ transitionDuration: '200',
149
149
  transitionProperty: 'transform !custom',
150
150
  transitionTimingFunction: 'spring',
151
151
  },
152
152
  '&[data-popup-open] > svg': { transform: 'rotate(180deg) !custom' },
153
153
  // Adjacent buttons touch, so their icons sit close together.
154
- '[data-size="large"] > & + &': { marginInlineStart: '-12px !custom' },
155
- '[data-size="medium"] > & + &': { marginInlineStart: '-8px !custom' },
156
- '[data-size="small"] > & + &': { marginInlineStart: '-6px !custom' },
157
- '[data-size="large"] > &:last-child': { marginInlineEnd: '-10px !custom' },
154
+ '[data-size="large"] > & + &': { marginInlineStart: '-12' },
155
+ '[data-size="medium"] > & + &': { marginInlineStart: '-8' },
156
+ '[data-size="small"] > & + &': { marginInlineStart: '-6' },
157
+ '[data-size="large"] > &:last-child': { marginInlineEnd: '-10' },
158
158
  '[data-size="large"][data-variant="outlined"] > &:last-child': {
159
- marginInlineEnd: '-14px !custom',
159
+ marginInlineEnd: '-14',
160
160
  },
161
161
  '[data-size="medium"] > &': { fontSize: '14', height: '28', width: '28' },
162
- '[data-size="medium"] > &:last-child': { marginInlineEnd: '-10px !custom' },
162
+ '[data-size="medium"] > &:last-child': { marginInlineEnd: '-10' },
163
163
  '[data-size="small"] > &': { fontSize: '12', height: '24', width: '24' },
164
- '[data-size="small"] > &:last-child': { marginInlineEnd: '-8px !custom' },
164
+ '[data-size="small"] > &:last-child': { marginInlineEnd: '-8' },
165
165
  '[data-variant="filled"]:is([data-size="large"], [data-size="medium"]) > &': {
166
166
  borderRadius: '6',
167
167
  },
@@ -93,13 +93,12 @@ export namespace styles {
93
93
  color: 'foreground',
94
94
  display: 'flex',
95
95
  outlineColor: 'transparent !custom',
96
- outlineOffset: '2px !custom',
96
+ outlineOffset: '2',
97
97
  outlineStyle: 'solid !custom',
98
- outlineWidth: '2px !custom',
98
+ outlineWidth: '2',
99
99
  position: 'relative',
100
- transitionDuration: '160ms !custom',
101
- transitionProperty:
102
- 'background-color, border-color, opacity, outline-color, transform !custom',
100
+ transitionDuration: '160',
101
+ transitionProperty: 'background-color, border-color, opacity, outline-color, scale !custom',
103
102
  transitionTimingFunction: 'snappy',
104
103
  selectors: {
105
104
  // The invalid ring fades in on an inset border, so focus changes only the outline color.
@@ -107,13 +106,13 @@ export namespace styles {
107
106
  borderColor: 'transparent !custom',
108
107
  borderRadius: 'inherit !custom',
109
108
  borderStyle: 'solid !custom',
110
- borderWidth: '2px !custom',
109
+ borderWidth: '2',
111
110
  boxSizing: 'border-box',
112
111
  content: '"" !custom',
113
112
  inset: '0',
114
113
  pointerEvents: 'none',
115
114
  position: 'absolute',
116
- transitionDuration: '160ms !custom',
115
+ transitionDuration: '160',
117
116
  transitionProperty: 'border-color !custom',
118
117
  transitionTimingFunction: 'snappy',
119
118
  },
@@ -124,15 +123,15 @@ export namespace styles {
124
123
  width: '100% !custom',
125
124
  },
126
125
  '&:is(button):active:not(:disabled, [data-disabled])': {
127
- transform: 'scale(0.98) !custom',
128
- transitionDuration: '100ms !custom',
126
+ scale: 'press',
127
+ transitionDuration: '100',
129
128
  },
130
129
  '&:hover:not(:disabled, [data-disabled], :has(input:disabled))': {
131
130
  backgroundColor: 'grayAlpha.200',
132
131
  },
133
132
  '&:disabled, &[data-disabled], &:has(input:disabled)': {
134
133
  cursor: 'default',
135
- opacity: '0.4 !custom',
134
+ opacity: 'disabled',
136
135
  },
137
136
  '&:focus-visible, &:has(input:focus-visible)': { outlineColor: 'blue.700' },
138
137
  // Success and invalid draw one ring: inset at rest, and the outline instead while focused.
@@ -185,7 +184,7 @@ export namespace styles {
185
184
  '@media (prefers-reduced-motion: reduce)': {
186
185
  transitionProperty: 'background-color, border-color, opacity, outline-color !custom',
187
186
  selectors: {
188
- '&:active': { transform: 'none !custom' },
187
+ '&:active': { scale: 'none !custom' },
189
188
  '&[data-entered]': { animation: 'none !custom' },
190
189
  },
191
190
  },
@@ -209,7 +208,7 @@ export namespace styles {
209
208
  },
210
209
  small: {
211
210
  borderRadius: '8',
212
- columnGap: '6px !custom',
211
+ columnGap: '6',
213
212
  height: '32',
214
213
  paddingInline: '12',
215
214
  typography: 'copy.13',
@@ -222,7 +221,7 @@ export namespace styles {
222
221
  borderColor: 'grayAlpha.200',
223
222
  borderRadius: '12',
224
223
  borderStyle: 'solid',
225
- borderWidth: '1px !custom',
224
+ borderWidth: '1',
226
225
  height: 'auto !custom',
227
226
  minHeight: '56',
228
227
  paddingBlock: '16',
@@ -235,6 +234,16 @@ export namespace styles {
235
234
  },
236
235
  },
237
236
  default: {},
237
+ // Fills only on hover, for a picker inside a row. As a button, it sizes to its content.
238
+ text: {
239
+ backgroundColor: 'transparent !custom',
240
+ selectors: {
241
+ '&:is(button)': { width: 'auto !custom' },
242
+ '&:hover:not(:disabled, [data-disabled], :has(input:disabled))': {
243
+ backgroundColor: 'grayAlpha.100',
244
+ },
245
+ },
246
+ },
238
247
  },
239
248
  },
240
249
  },
@@ -34,7 +34,7 @@ export namespace styles {
34
34
  flexShrink: '0 !custom',
35
35
  fontSize: '16',
36
36
  justifyContent: 'center',
37
- transitionDuration: '160ms !custom',
37
+ transitionDuration: '160',
38
38
  transitionProperty: 'opacity, transform, visibility !custom',
39
39
  transitionTimingFunction: 'snappy',
40
40
  selectors: {
@@ -55,7 +55,7 @@ export namespace styles {
55
55
  {
56
56
  alignItems: 'center',
57
57
  // Concentric with the popup: its 16px radius minus its 6px padding.
58
- borderRadius: '10px !custom',
58
+ borderRadius: '10',
59
59
  boxSizing: 'border-box',
60
60
  color: 'foreground',
61
61
  columnGap: '12',
@@ -65,13 +65,13 @@ export namespace styles {
65
65
  outline: 'none !custom',
66
66
  paddingBlock: '8',
67
67
  paddingInline: '16',
68
- transitionDuration: '120ms !custom',
68
+ transitionDuration: '120',
69
69
  transitionProperty: 'background-color, opacity !custom',
70
70
  transitionTimingFunction: 'snappy',
71
71
  typography: 'label.14.strong',
72
72
  userSelect: 'none',
73
73
  selectors: {
74
- '&[data-disabled]': { cursor: 'default', opacity: '0.4 !custom', pointerEvents: 'none' },
74
+ '&[data-disabled]': { cursor: 'default', opacity: 'disabled', pointerEvents: 'none' },
75
75
  '&[data-highlighted]': { backgroundColor: 'grayAlpha.100' },
76
76
  },
77
77
  },
@@ -86,7 +86,7 @@ export namespace styles {
86
86
  export const popup = variants(
87
87
  {
88
88
  base: {
89
- backgroundColor: 'light-dark(#fff, #1f1e1e) !custom',
89
+ backgroundColor: 'background.raised',
90
90
  borderRadius: '16',
91
91
  boxShadow: 'popover',
92
92
  boxSizing: 'border-box',
@@ -97,26 +97,29 @@ export namespace styles {
97
97
  outline: 'none !custom',
98
98
  overflowY: 'auto',
99
99
  overscrollBehavior: 'contain !custom',
100
- padding: '6px !custom',
100
+ padding: '6',
101
101
  transformOrigin: 'var(--transform-origin) !custom',
102
- transitionDuration: '240ms !custom',
103
- transitionProperty: 'opacity, transform !custom',
102
+ transitionDuration: '240',
103
+ transitionProperty: 'opacity, scale !custom',
104
104
  transitionTimingFunction: 'spring',
105
105
  typography: 'copy.14',
106
106
  selectors: {
107
107
  '&[data-ending-style]': {
108
108
  opacity: '0 !custom',
109
- transform: 'scale(0.96) !custom',
110
- transitionDuration: '150ms !custom',
109
+ scale: 'enter',
110
+ transitionDuration: '150',
111
111
  transitionTimingFunction: 'snappy',
112
112
  },
113
- '&[data-starting-style]': { opacity: '0 !custom', transform: 'scale(0.96) !custom' },
113
+ '&[data-starting-style]': {
114
+ opacity: '0 !custom',
115
+ scale: 'enter',
116
+ },
114
117
  },
115
118
  '@media (prefers-reduced-motion: reduce)': {
116
- transitionDuration: '150ms !custom',
119
+ transitionDuration: '150',
117
120
  transitionProperty: 'opacity !custom',
118
121
  selectors: {
119
- '&[data-ending-style], &[data-starting-style]': { transform: 'none !custom' },
122
+ '&[data-ending-style], &[data-starting-style]': { scale: 'none !custom' },
120
123
  },
121
124
  },
122
125
  },
@@ -143,7 +146,7 @@ export namespace styles {
143
146
  { id: 'tds/web/listbox/popup' },
144
147
  )
145
148
 
146
- export const positioner = style({ zIndex: '50 !custom' }, { id: 'tds/web/listbox/positioner' })
149
+ export const positioner = style({ zIndex: 'popover' }, { id: 'tds/web/listbox/positioner' })
147
150
 
148
151
  export const prefix = style(
149
152
  { alignItems: 'center', display: 'inline-flex', flexShrink: '0 !custom' },
package/src/web/vars.ts CHANGED
@@ -29,6 +29,10 @@ export const variables = Vars.define(
29
29
  '40': '40px',
30
30
  '64': '64px',
31
31
  },
32
+ borderWidth: {
33
+ '1': '1px',
34
+ '2': '2px',
35
+ },
32
36
  breakpoint: {
33
37
  '640': '40rem',
34
38
  '768': '48rem',
@@ -53,9 +57,19 @@ export const variables = Vars.define(
53
57
  '1000': { dark: '#fff1e8', light: '#4d2101' },
54
58
  },
55
59
  // Lifts surfaces off the near-black page in dark mode, so cards and popups stay distinct.
60
+ // `raised` fills popups and dialogs above surfaces. `indicator` fills the selected segment of a
61
+ // segmented control. `chip` matches grayAlpha 100, so it stays dim on gray fills. The status
62
+ // fills tint callouts with step 300 in light mode and step 100 in dark mode.
56
63
  background: {
64
+ chip: { dark: '#ffffff12', light: '#0000000d' },
65
+ indicator: { dark: 'rgb(255 255 255 / 0.16)', light: '#fff' },
66
+ info: { dark: '#161b29', light: '#e6eefe' },
67
+ negative: { dark: '#2a1410', light: '#ffe6e0' },
68
+ positive: { dark: '#052315', light: '#d3f8df' },
57
69
  primary: { dark: '#100f0f', light: '#f5f5f5' },
70
+ raised: { dark: '#1f1e1e', light: '#fff' },
58
71
  surface: { dark: '#1a1919', light: '#fff' },
72
+ warning: { dark: '#2d1504', light: '#ffede2' },
59
73
  },
60
74
  black: '#000',
61
75
  blue: {
@@ -218,6 +232,20 @@ export const variables = Vars.define(
218
232
  '1': 'inset 0 1px 1px rgb(0 0 0 / 0.05)',
219
233
  '4': 'inset 0 2px 4px rgb(0 0 0 / 0.05)',
220
234
  },
235
+ // `disabled` dims an unavailable control, and `hover` dims a filled control under the pointer.
236
+ opacity: {
237
+ disabled: 0.4,
238
+ hover: 0.86,
239
+ },
240
+ outlineOffset: {
241
+ '-2': '-2px',
242
+ '0': '0px',
243
+ '2': '2px',
244
+ },
245
+ outlineWidth: {
246
+ '1': '1px',
247
+ '2': '2px',
248
+ },
221
249
  perspective: {
222
250
  '100': '100px',
223
251
  '300': '300px',
@@ -227,16 +255,23 @@ export const variables = Vars.define(
227
255
  },
228
256
  // Corners top out at 16px. `full` rounds pills and circles.
229
257
  radius: {
258
+ '0': '0rem',
230
259
  '2': '0.125rem',
231
260
  '4': '0.25rem',
232
261
  '6': '0.375rem',
233
262
  '8': '0.5rem',
263
+ '10': '0.625rem',
234
264
  '12': '0.75rem',
235
265
  '16': '1rem',
236
266
  full: '9999px',
237
267
  },
238
- // Shadow keys name the largest blur radius in px. `inner`, `popover`, and `raised` keep their role
239
- // names.
268
+ // Shadow keys name the largest blur radius in px. `inner`, `modal`, `popover`, `raised`, and
269
+ // `thumb` keep their role names.
270
+ // `enter` is the start scale of a popup transition, and `press` shrinks a pressed control.
271
+ scale: {
272
+ enter: 0.96,
273
+ press: 0.98,
274
+ },
240
275
  shadow: {
241
276
  '0': '0 1px rgb(0 0 0 / 0.05)',
242
277
  '2': '0 1px 2px 0 rgb(0 0 0 / 0.05)',
@@ -246,28 +281,50 @@ export const variables = Vars.define(
246
281
  '25': '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',
247
282
  '50': '0 25px 50px -12px rgb(0 0 0 / 0.25)',
248
283
  inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',
284
+ modal: '0 32px 64px -16px rgb(0 0 0 / 0.28)',
249
285
  popover:
250
286
  '0 0 0 1px light-dark(rgb(0 0 0 / 0.06), rgb(255 255 255 / 0.08)), 0 8px 24px -4px rgb(0 0 0 / 0.12), 0 24px 48px -12px rgb(0 0 0 / 0.16)',
251
287
  raised: '0 1px 2px rgb(0 0 0 / 0.06), 0 1px 1px rgb(0 0 0 / 0.04)',
288
+ thumb:
289
+ '0 0 0 1px rgb(0 0 0 / 0.04), 0 2px 8px rgb(0 0 0 / 0.16), 0 1px 2px rgb(0 0 0 / 0.12)',
252
290
  },
253
291
  // Keys are px at the default 16px root. Values stay in rem, so the scale follows the root size.
292
+ // Negative keys pull an element into its container's padding.
254
293
  spacing: {
294
+ '-24': '-1.5rem',
295
+ '-20': '-1.25rem',
296
+ '-16': '-1rem',
297
+ '-14': '-0.875rem',
298
+ '-12': '-0.75rem',
299
+ '-10': '-0.625rem',
300
+ '-8': '-0.5rem',
301
+ '-6': '-0.375rem',
302
+ '-4': '-0.25rem',
255
303
  '0': '0rem',
256
304
  '1': '1px',
305
+ '2': '0.125rem',
257
306
  '4': '0.25rem',
307
+ '6': '0.375rem',
258
308
  '8': '0.5rem',
309
+ '10': '0.625rem',
259
310
  '12': '0.75rem',
311
+ '14': '0.875rem',
260
312
  '16': '1rem',
313
+ '18': '1.125rem',
261
314
  '20': '1.25rem',
315
+ '22': '1.375rem',
262
316
  '24': '1.5rem',
263
317
  '28': '1.75rem',
318
+ '30': '1.875rem',
264
319
  '32': '2rem',
265
320
  '36': '2.25rem',
321
+ '38': '2.375rem',
266
322
  '40': '2.5rem',
267
323
  '44': '2.75rem',
268
324
  '48': '3rem',
269
325
  '56': '3.5rem',
270
326
  '64': '4rem',
327
+ '68': '4.25rem',
271
328
  '80': '5rem',
272
329
  '96': '6rem',
273
330
  '112': '7rem',
@@ -291,6 +348,21 @@ export const variables = Vars.define(
291
348
  '4': '0px 1px 1px rgb(0 0 0 / 0.1), 0px 1px 2px rgb(0 0 0 / 0.1), 0px 2px 4px rgb(0 0 0 / 0.1)',
292
349
  '8': '0px 1px 2px rgb(0 0 0 / 0.1), 0px 3px 2px rgb(0 0 0 / 0.1), 0px 4px 8px rgb(0 0 0 / 0.1)',
293
350
  },
351
+ // Keys are durations in ms.
352
+ transitionDuration: {
353
+ '0': '0ms',
354
+ '100': '100ms',
355
+ '120': '120ms',
356
+ '140': '140ms',
357
+ '150': '150ms',
358
+ '160': '160ms',
359
+ '180': '180ms',
360
+ '200': '200ms',
361
+ '220': '220ms',
362
+ '240': '240ms',
363
+ '280': '280ms',
364
+ '320': '320ms',
365
+ },
294
366
  typography: {
295
367
  button: {
296
368
  '12': {
@@ -653,6 +725,13 @@ export const variables = Vars.define(
653
725
  },
654
726
  },
655
727
  },
728
+ // Layers from the app shell overlay up to toasts.
729
+ zIndex: {
730
+ modal: 60,
731
+ overlay: 40,
732
+ popover: 50,
733
+ toast: 1000,
734
+ },
656
735
  },
657
736
  { id: 'tds/web/variables' },
658
737
  )