@tempoxyz/ds 0.2.2 → 0.2.4

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 (336) 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.js.map +1 -1
  127. package/dist/web/components/IconChip.js.zyzz.json +1 -1
  128. package/dist/web/components/Identicon.js.zyzz.json +1 -1
  129. package/dist/web/components/Inline.js.zyzz.json +1 -1
  130. package/dist/web/components/Input.css +1 -1
  131. package/dist/web/components/Input.js.map +1 -1
  132. package/dist/web/components/Input.js.zyzz.json +1 -1
  133. package/dist/web/components/Inset.js.zyzz.json +1 -1
  134. package/dist/web/components/Kbd.css +1 -1
  135. package/dist/web/components/Kbd.d.ts +1 -1
  136. package/dist/web/components/Kbd.js.map +1 -1
  137. package/dist/web/components/Kbd.js.zyzz.json +1 -1
  138. package/dist/web/components/LoadingDots.css +1 -1
  139. package/dist/web/components/LoadingDots.d.ts +2 -2
  140. package/dist/web/components/LoadingDots.js.map +1 -1
  141. package/dist/web/components/LoadingDots.js.zyzz.json +1 -1
  142. package/dist/web/components/Menu.css +1 -1
  143. package/dist/web/components/Menu.d.ts +11 -11
  144. package/dist/web/components/Menu.d.ts.map +1 -1
  145. package/dist/web/components/Menu.js +1 -1
  146. package/dist/web/components/Menu.js.map +1 -1
  147. package/dist/web/components/Menu.js.zyzz.json +1 -1
  148. package/dist/web/components/NumberField.css +1 -1
  149. package/dist/web/components/NumberField.js +1 -1
  150. package/dist/web/components/NumberField.js.map +1 -1
  151. package/dist/web/components/NumberField.js.zyzz.json +1 -1
  152. package/dist/web/components/OtpField.css +1 -1
  153. package/dist/web/components/OtpField.d.ts.map +1 -1
  154. package/dist/web/components/OtpField.js +1 -1
  155. package/dist/web/components/OtpField.js.map +1 -1
  156. package/dist/web/components/OtpField.js.zyzz.json +1 -1
  157. package/dist/web/components/Pagination.css +1 -1
  158. package/dist/web/components/Pagination.d.ts +12 -12
  159. package/dist/web/components/Pagination.js +1 -1
  160. package/dist/web/components/Pagination.js.map +1 -1
  161. package/dist/web/components/Pagination.js.zyzz.json +1 -1
  162. package/dist/web/components/Popover.css +1 -1
  163. package/dist/web/components/Popover.d.ts.map +1 -1
  164. package/dist/web/components/Popover.js +1 -1
  165. package/dist/web/components/Popover.js.map +1 -1
  166. package/dist/web/components/Popover.js.zyzz.json +1 -1
  167. package/dist/web/components/Progress.css +1 -1
  168. package/dist/web/components/Progress.js.map +1 -1
  169. package/dist/web/components/Progress.js.zyzz.json +1 -1
  170. package/dist/web/components/Qr.js.zyzz.json +1 -1
  171. package/dist/web/components/RadioGroup.css +1 -1
  172. package/dist/web/components/RadioGroup.d.ts +4 -4
  173. package/dist/web/components/RadioGroup.js.map +1 -1
  174. package/dist/web/components/RadioGroup.js.zyzz.json +1 -1
  175. package/dist/web/components/Rows.css +1 -1
  176. package/dist/web/components/Rows.d.ts +6 -6
  177. package/dist/web/components/Rows.js.map +1 -1
  178. package/dist/web/components/Rows.js.zyzz.json +1 -1
  179. package/dist/web/components/SecretValue.css +1 -1
  180. package/dist/web/components/SecretValue.d.ts +4 -4
  181. package/dist/web/components/SecretValue.js +1 -1
  182. package/dist/web/components/SecretValue.js.map +1 -1
  183. package/dist/web/components/SecretValue.js.zyzz.json +1 -1
  184. package/dist/web/components/Select.css +1 -1
  185. package/dist/web/components/Select.js.map +1 -1
  186. package/dist/web/components/Select.js.zyzz.json +1 -1
  187. package/dist/web/components/Separator.js.zyzz.json +1 -1
  188. package/dist/web/components/SidebarMenu.css +1 -1
  189. package/dist/web/components/SidebarMenu.d.ts +11 -11
  190. package/dist/web/components/SidebarMenu.d.ts.map +1 -1
  191. package/dist/web/components/SidebarMenu.js +1 -1
  192. package/dist/web/components/SidebarMenu.js.map +1 -1
  193. package/dist/web/components/SidebarMenu.js.zyzz.json +1 -1
  194. package/dist/web/components/Skeleton.js.zyzz.json +1 -1
  195. package/dist/web/components/Slider.css +1 -1
  196. package/dist/web/components/Slider.d.ts.map +1 -1
  197. package/dist/web/components/Slider.js.map +1 -1
  198. package/dist/web/components/Slider.js.zyzz.json +1 -1
  199. package/dist/web/components/Snippet.css +1 -1
  200. package/dist/web/components/Snippet.d.ts +4 -4
  201. package/dist/web/components/Snippet.js +1 -1
  202. package/dist/web/components/Snippet.js.map +1 -1
  203. package/dist/web/components/Snippet.js.zyzz.json +1 -1
  204. package/dist/web/components/Spinner.js.zyzz.json +1 -1
  205. package/dist/web/components/SplitButton.css +1 -1
  206. package/dist/web/components/SplitButton.d.ts.map +1 -1
  207. package/dist/web/components/SplitButton.js +1 -1
  208. package/dist/web/components/SplitButton.js.map +1 -1
  209. package/dist/web/components/SplitButton.js.zyzz.json +1 -1
  210. package/dist/web/components/Stack.js.zyzz.json +1 -1
  211. package/dist/web/components/Stepper.css +1 -1
  212. package/dist/web/components/Stepper.d.ts +1 -1
  213. package/dist/web/components/Stepper.js.map +1 -1
  214. package/dist/web/components/Stepper.js.zyzz.json +1 -1
  215. package/dist/web/components/Surface.css +1 -1
  216. package/dist/web/components/Surface.d.ts +46 -46
  217. package/dist/web/components/Surface.js +2 -2
  218. package/dist/web/components/Surface.js.map +1 -1
  219. package/dist/web/components/Surface.js.zyzz.json +1 -1
  220. package/dist/web/components/Switch.css +1 -1
  221. package/dist/web/components/Switch.d.ts +14 -14
  222. package/dist/web/components/Switch.d.ts.map +1 -1
  223. package/dist/web/components/Switch.js.map +1 -1
  224. package/dist/web/components/Switch.js.zyzz.json +1 -1
  225. package/dist/web/components/Table.css +1 -1
  226. package/dist/web/components/Table.d.ts +4 -4
  227. package/dist/web/components/Table.js.map +1 -1
  228. package/dist/web/components/Table.js.zyzz.json +1 -1
  229. package/dist/web/components/Tabs.css +1 -1
  230. package/dist/web/components/Tabs.d.ts +14 -14
  231. package/dist/web/components/Tabs.js +1 -1
  232. package/dist/web/components/Tabs.js.map +1 -1
  233. package/dist/web/components/Tabs.js.zyzz.json +1 -1
  234. package/dist/web/components/Tag.css +1 -1
  235. package/dist/web/components/Tag.d.ts +10 -10
  236. package/dist/web/components/Tag.js +1 -1
  237. package/dist/web/components/Tag.js.map +1 -1
  238. package/dist/web/components/Tag.js.zyzz.json +1 -1
  239. package/dist/web/components/Textarea.css +1 -1
  240. package/dist/web/components/Textarea.d.ts +14 -14
  241. package/dist/web/components/Textarea.js.map +1 -1
  242. package/dist/web/components/Textarea.js.zyzz.json +1 -1
  243. package/dist/web/components/Toast.css +1 -1
  244. package/dist/web/components/Toast.d.ts.map +1 -1
  245. package/dist/web/components/Toast.js +2 -2
  246. package/dist/web/components/Toast.js.map +1 -1
  247. package/dist/web/components/Toast.js.zyzz.json +1 -1
  248. package/dist/web/components/Token.js.zyzz.json +1 -1
  249. package/dist/web/components/Tooltip.css +1 -1
  250. package/dist/web/components/Tooltip.d.ts.map +1 -1
  251. package/dist/web/components/Tooltip.js +1 -1
  252. package/dist/web/components/Tooltip.js.map +1 -1
  253. package/dist/web/components/Tooltip.js.zyzz.json +1 -1
  254. package/dist/web/components/internal/Field.css +1 -1
  255. package/dist/web/components/internal/Field.d.ts +7 -7
  256. package/dist/web/components/internal/Field.js.map +1 -1
  257. package/dist/web/components/internal/Field.js.zyzz.json +1 -1
  258. package/dist/web/components/internal/InputGroup.css +1 -1
  259. package/dist/web/components/internal/InputGroup.d.ts +12 -12
  260. package/dist/web/components/internal/InputGroup.d.ts.map +1 -1
  261. package/dist/web/components/internal/InputGroup.js +1 -1
  262. package/dist/web/components/internal/InputGroup.js.map +1 -1
  263. package/dist/web/components/internal/InputGroup.js.zyzz.json +1 -1
  264. package/dist/web/components/internal/Listbox.css +1 -1
  265. package/dist/web/components/internal/Listbox.d.ts +9 -9
  266. package/dist/web/components/internal/Listbox.d.ts.map +1 -1
  267. package/dist/web/components/internal/Listbox.js +1 -1
  268. package/dist/web/components/internal/Listbox.js.map +1 -1
  269. package/dist/web/components/internal/Listbox.js.zyzz.json +1 -1
  270. package/dist/web/index.js.zyzz.json +1 -1
  271. package/dist/web/vars.d.ts +91 -0
  272. package/dist/web/vars.d.ts.map +1 -1
  273. package/dist/web/vars.js.map +1 -1
  274. package/dist/web/vars.js.zyzz.json +1 -1
  275. package/dist/web/zyzz.config.d.ts +455 -0
  276. package/dist/web/zyzz.config.d.ts.map +1 -1
  277. package/dist/web/zyzz.config.js.zyzz.json +1 -1
  278. package/package.json +1 -1
  279. package/src/mobile/components/Button.tsx +1 -1
  280. package/src/mobile/components/IconButton.tsx +1 -1
  281. package/src/mobile/components/Spinner.tsx +3 -4
  282. package/src/mobile/components/Toast.tsx +1 -2
  283. package/src/mobile/components/Toggle.tsx +2 -2
  284. package/src/mobile/vars.ts +14 -0
  285. package/src/web/components/Accordion.tsx +8 -8
  286. package/src/web/components/AlertDialog.tsx +11 -8
  287. package/src/web/components/AmountInput.tsx +12 -12
  288. package/src/web/components/AppShell.tsx +23 -23
  289. package/src/web/components/Avatar.tsx +3 -3
  290. package/src/web/components/Banner.tsx +15 -15
  291. package/src/web/components/Breadcrumbs.tsx +4 -4
  292. package/src/web/components/Button.tsx +15 -12
  293. package/src/web/components/Calendar.tsx +5 -5
  294. package/src/web/components/Callout.tsx +15 -15
  295. package/src/web/components/Checkbox.tsx +9 -9
  296. package/src/web/components/ChoiceGroup.tsx +13 -14
  297. package/src/web/components/Choicebox.tsx +21 -21
  298. package/src/web/components/Combobox.tsx +3 -3
  299. package/src/web/components/DatePicker.tsx +24 -24
  300. package/src/web/components/Dialog.tsx +26 -17
  301. package/src/web/components/Drawer.tsx +6 -6
  302. package/src/web/components/Field.tsx +9 -9
  303. package/src/web/components/Frame.tsx +30 -9
  304. package/src/web/components/Gauge.tsx +1 -1
  305. package/src/web/components/Hex.tsx +5 -5
  306. package/src/web/components/IconChip.tsx +1 -1
  307. package/src/web/components/Input.tsx +10 -10
  308. package/src/web/components/Kbd.tsx +1 -1
  309. package/src/web/components/LoadingDots.tsx +4 -4
  310. package/src/web/components/Menu.tsx +15 -12
  311. package/src/web/components/NumberField.tsx +16 -16
  312. package/src/web/components/OtpField.tsx +14 -6
  313. package/src/web/components/Pagination.tsx +12 -12
  314. package/src/web/components/Popover.tsx +14 -11
  315. package/src/web/components/Progress.tsx +2 -2
  316. package/src/web/components/RadioGroup.tsx +11 -11
  317. package/src/web/components/Rows.tsx +7 -7
  318. package/src/web/components/SecretValue.tsx +4 -4
  319. package/src/web/components/Select.tsx +1 -1
  320. package/src/web/components/SidebarMenu.tsx +14 -15
  321. package/src/web/components/Slider.tsx +6 -7
  322. package/src/web/components/Snippet.tsx +8 -8
  323. package/src/web/components/SplitButton.tsx +17 -5
  324. package/src/web/components/Stepper.tsx +1 -1
  325. package/src/web/components/Surface.tsx +47 -47
  326. package/src/web/components/Switch.tsx +21 -23
  327. package/src/web/components/Table.tsx +4 -4
  328. package/src/web/components/Tabs.tsx +14 -14
  329. package/src/web/components/Tag.tsx +12 -12
  330. package/src/web/components/Textarea.tsx +14 -14
  331. package/src/web/components/Toast.tsx +23 -20
  332. package/src/web/components/Tooltip.tsx +12 -9
  333. package/src/web/components/internal/Field.ts +19 -19
  334. package/src/web/components/internal/InputGroup.ts +12 -13
  335. package/src/web/components/internal/Listbox.ts +17 -14
  336. package/src/web/vars.ts +81 -2
@@ -206,7 +206,7 @@ namespace styles {
206
206
  {
207
207
  color: 'gray.900',
208
208
  margin: '0',
209
- transitionDuration: '200ms !custom',
209
+ transitionDuration: '200',
210
210
  transitionProperty: 'color, filter, opacity, transform !custom',
211
211
  transitionTimingFunction: 'snappy',
212
212
  typography: 'label.14',
@@ -227,7 +227,7 @@ namespace styles {
227
227
  pointerEvents: 'none',
228
228
  position: 'absolute',
229
229
  transform: 'translateY(-4px) !custom',
230
- transitionDuration: '150ms !custom',
230
+ transitionDuration: '150',
231
231
  },
232
232
  '[data-variant="setting"] > &': { gridColumn: '1 !custom', typography: 'copy.14' },
233
233
  '[data-variant="setting"][data-field-size="small"] > &': { typography: 'copy.13' },
@@ -249,7 +249,7 @@ namespace styles {
249
249
  export const error = style(
250
250
  {
251
251
  color: 'red.900',
252
- transitionDuration: '200ms !custom',
252
+ transitionDuration: '200',
253
253
  transitionProperty: 'color, filter, opacity, transform !custom',
254
254
  transitionTimingFunction: 'snappy',
255
255
  typography: 'label.14',
@@ -268,7 +268,7 @@ namespace styles {
268
268
  opacity: '0 !custom',
269
269
  position: 'absolute',
270
270
  transform: 'translateY(4px) !custom',
271
- transitionDuration: '150ms !custom',
271
+ transitionDuration: '150',
272
272
  },
273
273
  '&[data-starting-style]': {
274
274
  color: 'gray.900',
@@ -298,7 +298,7 @@ namespace styles {
298
298
  export const label = style(
299
299
  {
300
300
  color: 'foreground',
301
- transitionDuration: '160ms !custom',
301
+ transitionDuration: '160',
302
302
  transitionProperty: 'color, opacity !custom',
303
303
  transitionTimingFunction: 'snappy',
304
304
  typography: 'label.14.strong',
@@ -310,7 +310,7 @@ namespace styles {
310
310
  ':has(> [data-size="small"], > * > [data-size="small"]) > &': {
311
311
  typography: 'label.12.strong',
312
312
  },
313
- '[data-disabled] &': { opacity: '0.4 !custom' },
313
+ '[data-disabled] &': { opacity: 'disabled' },
314
314
  '[data-variant="setting"] > &': { gridColumn: '1 !custom', typography: 'copy.15.strong' },
315
315
  '[data-variant="setting"][data-field-size="small"] > &': {
316
316
  typography: 'copy.14.strong',
@@ -324,7 +324,7 @@ namespace styles {
324
324
  pointerEvents: 'none',
325
325
  transform: 'translateY(10px) !custom',
326
326
  transformOrigin: 'left top !custom',
327
- transitionDuration: '240ms !custom',
327
+ transitionDuration: '240',
328
328
  transitionProperty: 'color, opacity, transform !custom',
329
329
  transitionTimingFunction: 'spring',
330
330
  typography: 'label.14',
@@ -361,7 +361,7 @@ namespace styles {
361
361
  // Labels sit 8px above medium and large controls, and 6px above small ones.
362
362
  rowGap: '8',
363
363
  selectors: {
364
- '&:has(> [data-size="small"], > * > [data-size="small"])': { rowGap: '6px !custom' },
364
+ '&:has(> [data-size="small"], > * > [data-size="small"])': { rowGap: '6' },
365
365
  // A list of options reads as one block under its label, so it sits further away than one control.
366
366
  '&:has(> [role="radiogroup"], > [role="group"] [role="checkbox"])': { rowGap: '12' },
367
367
  '&[data-variant="setting"]': {
@@ -373,7 +373,7 @@ namespace styles {
373
373
  },
374
374
  '&[data-variant="setting"][data-field-size="small"]': {
375
375
  paddingBlock: '12',
376
- rowGap: '2px !custom',
376
+ rowGap: '2',
377
377
  },
378
378
  },
379
379
  },
@@ -33,7 +33,11 @@ export function Frame(props: Frame.Props) {
33
33
  export namespace Frame {
34
34
  export type Props = Root.Props
35
35
 
36
- /** A row of action buttons aligned to the end. */
36
+ /**
37
+ * A row of action buttons that share its width equally. Each action stays at least as wide as
38
+ * its label, and a `shape="icon"` button keeps its own size. If you stack the actions in a column,
39
+ * set `flex-basis: auto` on them so each keeps its height.
40
+ */
37
41
  export function Actions(props: Actions.Props) {
38
42
  const { className, vars, ...attributes } = props
39
43
 
@@ -44,7 +48,10 @@ export namespace Frame {
44
48
  export type Props = ComponentPropsWithRef<'div'> & zyzz.Props.Variants<typeof styles.actions>
45
49
  }
46
50
 
47
- /** The main content area. It grows to fill the frame and scrolls when its content overflows. */
51
+ /**
52
+ * The main content area. It grows to fill the frame and never scrolls, so the container that holds
53
+ * the frame handles overflow. A direct child `Rows` renders as a filled, rounded well.
54
+ */
48
55
  export function Body(props: Body.Props) {
49
56
  const { className, vars, ...attributes } = props
50
57
 
@@ -173,7 +180,15 @@ export namespace Frame {
173
180
  namespace styles {
174
181
  export const actions = variants(
175
182
  {
176
- base: { columnGap: '8', display: 'flex', justifyContent: 'flex-end' },
183
+ base: {
184
+ columnGap: '12',
185
+ display: 'flex',
186
+ selectors: {
187
+ // Actions keep at least their content width, icon buttons stay circles, and `:where` keeps
188
+ // the rule at single-class specificity so a caller can restore content-sized actions.
189
+ '& > :where(:not([data-shape="icon"]))': { flexBasis: '0', flexGrow: '1 !custom' },
190
+ },
191
+ },
177
192
  },
178
193
  { id: 'tds/web/frame/actions' },
179
194
  )
@@ -183,9 +198,15 @@ namespace styles {
183
198
  base: {
184
199
  color: 'gray.900',
185
200
  flexGrow: '1 !custom',
186
- minHeight: '0',
187
- overflowY: 'auto',
188
201
  typography: 'copy.14',
202
+ selectors: {
203
+ // The well clips its rows so their hover fills follow its corners.
204
+ '& > [data-rows]': {
205
+ backgroundColor: 'grayAlpha.100',
206
+ borderRadius: '12',
207
+ overflow: 'hidden',
208
+ },
209
+ },
189
210
  },
190
211
  },
191
212
  { id: 'tds/web/frame/body' },
@@ -206,18 +227,18 @@ namespace styles {
206
227
  height: '32',
207
228
  justifyContent: 'center',
208
229
  outlineColor: 'transparent !custom',
209
- outlineOffset: '0px !custom',
230
+ outlineOffset: '0',
210
231
  outlineStyle: 'solid !custom',
211
- outlineWidth: '2px !custom',
232
+ outlineWidth: '2',
212
233
  padding: '0',
213
- transitionDuration: '160ms',
234
+ transitionDuration: '160',
214
235
  transitionProperty: 'background-color, outline-color, outline-offset, transform',
215
236
  transitionTimingFunction: 'snappy',
216
237
  width: '32',
217
238
  selectors: {
218
239
  '&:hover': { backgroundColor: 'grayAlpha.200' },
219
240
  '&:active': { backgroundColor: 'grayAlpha.300', transform: 'scale(0.96) !custom' },
220
- '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2px !custom' },
241
+ '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2' },
221
242
  },
222
243
  '@media (prefers-reduced-motion: reduce)': {
223
244
  transitionProperty: 'background-color, outline-color',
@@ -112,7 +112,7 @@ namespace styles {
112
112
  export const arc = style(
113
113
  {
114
114
  stroke: 'currentColor !custom',
115
- transitionDuration: '240ms',
115
+ transitionDuration: '240',
116
116
  transitionProperty: 'stroke-dasharray',
117
117
  transitionTimingFunction: 'spring',
118
118
  '@media (prefers-reduced-motion: reduce)': { transitionProperty: 'none' },
@@ -287,7 +287,7 @@ namespace styles {
287
287
  style: {
288
288
  borderRadius: '12',
289
289
  height: '40',
290
- paddingInlineEnd: '10px !custom',
290
+ paddingInlineEnd: '10',
291
291
  paddingInlineStart: '16',
292
292
  selectors: {
293
293
  '& [data-hex-copy]': {
@@ -325,8 +325,8 @@ namespace styles {
325
325
  columnGap: '12',
326
326
  display: 'flex',
327
327
  justifyContent: 'space-between',
328
- transitionDuration: '160ms !custom',
329
- transitionProperty: 'background-color, transform !custom',
328
+ transitionDuration: '160',
329
+ transitionProperty: 'background-color, scale !custom',
330
330
  transitionTimingFunction: 'snappy',
331
331
  selectors: {
332
332
  '& [data-stretch]::after': {
@@ -339,12 +339,12 @@ namespace styles {
339
339
  '&:has([data-stretch]:hover)': { backgroundColor: 'gray.200' },
340
340
  '&:has([data-stretch]:active)': {
341
341
  backgroundColor: 'gray.300',
342
- transform: 'scale(0.98) !custom',
342
+ scale: 'press',
343
343
  },
344
344
  },
345
345
  '@media (prefers-reduced-motion: reduce)': {
346
346
  transitionProperty: 'background-color !custom',
347
- selectors: { '&:has([data-stretch]:active)': { transform: 'none !custom' } },
347
+ selectors: { '&:has([data-stretch]:active)': { scale: 'none !custom' } },
348
348
  },
349
349
  },
350
350
  inline: {},
@@ -33,7 +33,7 @@ namespace styles {
33
33
  base: {
34
34
  alignItems: 'center',
35
35
  // grayAlpha 100 in light mode and 300 in dark, where 100 reads as black.
36
- backgroundColor: 'light-dark(#0000000d, #ffffff21) !custom',
36
+ backgroundColor: 'background.chip',
37
37
  borderRadius: '12',
38
38
  boxSizing: 'border-box',
39
39
  color: 'foreground',
@@ -194,21 +194,21 @@ namespace styles {
194
194
  justifyContent: 'center',
195
195
  opacity: '0 !custom',
196
196
  outlineColor: 'transparent !custom',
197
- outlineOffset: '2px !custom',
197
+ outlineOffset: '2',
198
198
  outlineStyle: 'solid !custom',
199
- outlineWidth: '2px !custom',
199
+ outlineWidth: '2',
200
200
  padding: '0',
201
201
  pointerEvents: 'none',
202
202
  position: 'relative',
203
203
  transform: 'scale(0.6) !custom',
204
- transitionDuration: '160ms !custom',
204
+ transitionDuration: '160',
205
205
  transitionProperty: 'background-color, opacity, outline-color, transform, visibility !custom',
206
206
  transitionTimingFunction: 'snappy',
207
207
  visibility: 'hidden',
208
208
  width: '24',
209
209
  selectors: {
210
- '&::after': { content: '"" !custom', inset: '-8px !custom', position: 'absolute' },
211
- '&:active': { transform: 'scale(0.9) !custom', transitionDuration: '100ms !custom' },
210
+ '&::after': { content: '"" !custom', inset: '-8', position: 'absolute' },
211
+ '&:active': { transform: 'scale(0.9) !custom', transitionDuration: '100' },
212
212
  '&:focus-visible': { outlineColor: 'blue.700' },
213
213
  '&:hover': { backgroundColor: 'grayAlpha.300' },
214
214
  '[data-filled] &': {
@@ -218,11 +218,11 @@ namespace styles {
218
218
  visibility: 'visible',
219
219
  },
220
220
  '[data-filled] &:active': { transform: 'scale(0.9) !custom' },
221
- '[data-size="large"] > &:last-child': { marginInlineEnd: '-4px !custom' },
221
+ '[data-size="large"] > &:last-child': { marginInlineEnd: '-4' },
222
222
  '[data-size="medium"] > &': { fontSize: '12', height: '20', width: '20' },
223
- '[data-size="medium"] > &:last-child': { marginInlineEnd: '-6px !custom' },
223
+ '[data-size="medium"] > &:last-child': { marginInlineEnd: '-6' },
224
224
  '[data-size="small"] > &': { fontSize: '12', height: '16', width: '16' },
225
- '[data-size="small"] > &:last-child': { marginInlineEnd: '-4px !custom' },
225
+ '[data-size="small"] > &:last-child': { marginInlineEnd: '-4' },
226
226
  // A small stacked field takes the medium size, so Clear takes the medium size too.
227
227
  '[data-variant="stacked"] > [data-size="small"] > &': {
228
228
  fontSize: '12',
@@ -230,7 +230,7 @@ namespace styles {
230
230
  width: '20',
231
231
  },
232
232
  '[data-variant="stacked"] > [data-size="small"] > &:last-child': {
233
- marginInlineEnd: '-6px !custom',
233
+ marginInlineEnd: '-6',
234
234
  },
235
235
  },
236
236
  '@media (forced-colors: active)': {
@@ -263,7 +263,7 @@ namespace styles {
263
263
  '&::-webkit-search-cancel-button': { appearance: 'none !custom', display: 'none' },
264
264
  '&::placeholder': {
265
265
  color: 'grayAlpha.900',
266
- transitionDuration: '160ms !custom',
266
+ transitionDuration: '160',
267
267
  transitionProperty: 'opacity !custom',
268
268
  transitionTimingFunction: 'snappy',
269
269
  },
@@ -151,7 +151,7 @@ namespace styles {
151
151
  medium: {
152
152
  height: '24',
153
153
  minWidth: '24',
154
- paddingInline: '6px !custom',
154
+ paddingInline: '6',
155
155
  typography: 'label.12',
156
156
  },
157
157
  small: { height: '20', minWidth: '20', paddingInline: '4', typography: 'label.12' },
@@ -60,8 +60,8 @@ namespace styles {
60
60
  selectors: {
61
61
  '&:nth-child(2)': { animationDelay: '160ms !custom' },
62
62
  '&:nth-child(3)': { animationDelay: '320ms !custom' },
63
- '[data-size="large"] &': { height: '6px !custom', width: '6px !custom' },
64
- '[data-size="small"] &': { height: '3px !custom', width: '3px !custom' },
63
+ '[data-size="large"] &': { height: '6', width: '6' },
64
+ '[data-size="small"] &': { height: '2', width: '2' },
65
65
  },
66
66
  '@media (prefers-reduced-motion: reduce)': {
67
67
  animation: 'none !custom',
@@ -77,9 +77,9 @@ namespace styles {
77
77
  defaultVariants: { size: 'medium' },
78
78
  variants: {
79
79
  size: {
80
- large: { columnGap: '6px !custom' },
80
+ large: { columnGap: '6' },
81
81
  medium: { columnGap: '4' },
82
- small: { columnGap: '3px !custom' },
82
+ small: { columnGap: '2' },
83
83
  },
84
84
  },
85
85
  },
@@ -319,7 +319,7 @@ export namespace styles {
319
319
  base: {
320
320
  alignItems: 'center',
321
321
  // Concentric with the popup: its 16px radius minus its 6px padding.
322
- borderRadius: '10px !custom',
322
+ borderRadius: '10',
323
323
  boxSizing: 'border-box',
324
324
  color: 'foreground',
325
325
  columnGap: '8',
@@ -329,13 +329,13 @@ export namespace styles {
329
329
  outline: 'none !custom',
330
330
  paddingInline: '12',
331
331
  textDecoration: 'none !custom',
332
- transitionDuration: '120ms',
332
+ transitionDuration: '120',
333
333
  transitionProperty: 'background-color, color, opacity',
334
334
  transitionTimingFunction: 'snappy',
335
335
  typography: 'label.14.strong',
336
336
  userSelect: 'none',
337
337
  selectors: {
338
- '&[data-disabled]': { opacity: '0.4 !custom', pointerEvents: 'none' },
338
+ '&[data-disabled]': { opacity: 'disabled', pointerEvents: 'none' },
339
339
  '&[data-highlighted]': { backgroundColor: 'grayAlpha.100' },
340
340
  '&[data-popup-open]': { backgroundColor: 'grayAlpha.100' },
341
341
  },
@@ -355,7 +355,7 @@ export namespace styles {
355
355
  export const popup = variants(
356
356
  {
357
357
  base: {
358
- backgroundColor: 'light-dark(#fff, #1f1e1e) !custom',
358
+ backgroundColor: 'background.raised',
359
359
  borderRadius: '16',
360
360
  boxShadow: 'popover',
361
361
  boxSizing: 'border-box',
@@ -364,24 +364,27 @@ export namespace styles {
364
364
  minWidth: '224',
365
365
  outline: 'none !custom',
366
366
  overflowY: 'auto',
367
- padding: '6px !custom',
367
+ padding: '6',
368
368
  transformOrigin: 'var(--transform-origin) !custom',
369
- transitionDuration: '200ms',
370
- transitionProperty: 'opacity, transform',
369
+ transitionDuration: '200',
370
+ transitionProperty: 'opacity, scale',
371
371
  transitionTimingFunction: 'snappy',
372
372
  typography: 'copy.14',
373
373
  selectors: {
374
374
  '&[data-ending-style]': {
375
375
  opacity: '0 !custom',
376
- transform: 'scale(0.96) !custom',
377
- transitionDuration: '140ms',
376
+ scale: 'enter',
377
+ transitionDuration: '140',
378
+ },
379
+ '&[data-starting-style]': {
380
+ opacity: '0 !custom',
381
+ scale: 'enter',
378
382
  },
379
- '&[data-starting-style]': { opacity: '0 !custom', transform: 'scale(0.96) !custom' },
380
383
  },
381
384
  '@media (prefers-reduced-motion: reduce)': {
382
385
  transitionProperty: 'opacity',
383
386
  selectors: {
384
- '&[data-ending-style], &[data-starting-style]': { transform: 'none !custom' },
387
+ '&[data-ending-style], &[data-starting-style]': { scale: 'none !custom' },
385
388
  },
386
389
  },
387
390
  },
@@ -410,7 +413,7 @@ export namespace styles {
410
413
  { id: 'tds/web/menu/popup' },
411
414
  )
412
415
 
413
- export const positioner = style({ zIndex: '50 !custom' }, { id: 'tds/web/menu/positioner' })
416
+ export const positioner = style({ zIndex: 'popover' }, { id: 'tds/web/menu/positioner' })
414
417
 
415
418
  export const separator = style(
416
419
  {
@@ -248,37 +248,37 @@ namespace styles {
248
248
  height: '36',
249
249
  justifyContent: 'center',
250
250
  outlineColor: 'transparent !custom',
251
- outlineOffset: '2px !custom',
251
+ outlineOffset: '2',
252
252
  outlineStyle: 'solid !custom',
253
- outlineWidth: '2px !custom',
253
+ outlineWidth: '2',
254
254
  padding: '0',
255
- transitionDuration: '160ms !custom',
256
- transitionProperty: 'background-color, opacity, outline-color, transform !custom',
255
+ transitionDuration: '160',
256
+ transitionProperty: 'background-color, opacity, outline-color, scale !custom',
257
257
  transitionTimingFunction: 'snappy',
258
258
  width: '36',
259
259
  selectors: {
260
260
  '&:active:not(:disabled)': {
261
261
  backgroundColor: 'grayAlpha.400',
262
- transform: 'scale(0.94) !custom',
263
- transitionDuration: '100ms !custom',
262
+ scale: 'press',
263
+ transitionDuration: '100',
264
264
  },
265
- '&:disabled': { cursor: 'default', opacity: '0.4 !custom' },
265
+ '&:disabled': { cursor: 'default', opacity: 'disabled' },
266
266
  '&:focus-visible': { outlineColor: 'blue.700' },
267
267
  '&:hover:not(:disabled)': { backgroundColor: 'grayAlpha.300' },
268
- '[data-size="large"] > &:first-child': { marginInlineStart: '-10px !custom' },
269
- '[data-size="large"] > &:last-child': { marginInlineEnd: '-10px !custom' },
268
+ '[data-size="large"] > &:first-child': { marginInlineStart: '-10' },
269
+ '[data-size="large"] > &:last-child': { marginInlineEnd: '-10' },
270
270
  '[data-size="large"][data-variant="outlined"] > &:first-child': {
271
- marginInlineStart: '-14px !custom',
271
+ marginInlineStart: '-14',
272
272
  },
273
273
  '[data-size="large"][data-variant="outlined"] > &:last-child': {
274
- marginInlineEnd: '-14px !custom',
274
+ marginInlineEnd: '-14',
275
275
  },
276
276
  '[data-size="medium"] > &': { fontSize: '14', height: '28', width: '28' },
277
- '[data-size="medium"] > &:first-child': { marginInlineStart: '-10px !custom' },
278
- '[data-size="medium"] > &:last-child': { marginInlineEnd: '-10px !custom' },
277
+ '[data-size="medium"] > &:first-child': { marginInlineStart: '-10' },
278
+ '[data-size="medium"] > &:last-child': { marginInlineEnd: '-10' },
279
279
  '[data-size="small"] > &': { fontSize: '12', height: '24', width: '24' },
280
- '[data-size="small"] > &:first-child': { marginInlineStart: '-8px !custom' },
281
- '[data-size="small"] > &:last-child': { marginInlineEnd: '-8px !custom' },
280
+ '[data-size="small"] > &:first-child': { marginInlineStart: '-8' },
281
+ '[data-size="small"] > &:last-child': { marginInlineEnd: '-8' },
282
282
  '[data-variant="filled"]:is([data-size="large"], [data-size="medium"]) > &': {
283
283
  borderRadius: '6',
284
284
  },
@@ -290,7 +290,7 @@ namespace styles {
290
290
  },
291
291
  '@media (prefers-reduced-motion: reduce)': {
292
292
  transitionProperty: 'background-color, opacity, outline-color !custom',
293
- selectors: { '&:active:not(:disabled)': { transform: 'none !custom' } },
293
+ selectors: { '&:active:not(:disabled)': { scale: 'none !custom' } },
294
294
  },
295
295
  },
296
296
  { id: 'tds/web/number-field/stepper' },
@@ -138,25 +138,27 @@ namespace styles {
138
138
  boxSizing: 'border-box',
139
139
  caretColor: 'blue.700',
140
140
  color: 'foreground',
141
- // Every state keeps this stroke width. Focus differs by color and its offset ring.
141
+ // Every state keeps this stroke width. Invalid and success rings sit inside the slot, so
142
+ // adjacent rings keep the full gap between slots. Focus differs by color and its offset ring.
142
143
  outlineColor: 'transparent !custom',
143
- outlineOffset: '0px !custom',
144
+ outlineOffset: '0',
144
145
  outlineStyle: 'solid !custom',
145
- outlineWidth: '2px !custom',
146
+ outlineWidth: '2',
146
147
  padding: '0',
147
148
  textAlign: 'center',
148
- transitionDuration: '200ms',
149
+ transitionDuration: '200',
149
150
  transitionProperty: 'background-color, color, opacity, outline-color, outline-offset, scale',
150
151
  transitionTimingFunction: 'overshoot',
151
152
  selectors: {
152
- '&:disabled': { opacity: '0.4 !custom' },
153
+ '&:disabled': { opacity: 'disabled' },
153
154
  '&:focus': { scale: '1.06 !custom' },
154
- '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2px !custom' },
155
+ '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2' },
155
156
  '&:hover:not(:disabled)': { backgroundColor: 'grayAlpha.200' },
156
157
  '&[data-invalid], [data-invalid] &': {
157
158
  caretColor: 'red.900',
158
159
  color: 'red.900',
159
160
  outlineColor: 'red.800',
161
+ outlineOffset: '-2px !custom',
160
162
  },
161
163
  '[data-success] &': {
162
164
  animation: `${pop} 320ms ${vars.ease.overshoot} both !custom`,
@@ -165,10 +167,16 @@ namespace styles {
165
167
  caretColor: 'green.900',
166
168
  color: 'green.900',
167
169
  outlineColor: 'green.700',
170
+ outlineOffset: '-2px !custom',
168
171
  },
169
172
  '[data-success] &:hover:not(:disabled)': {
170
173
  backgroundColor: 'light-dark(rgb(19 169 99 / 0.18), rgb(19 169 99 / 0.24)) !custom',
171
174
  },
175
+ // Keyboard focus keeps its offset ring on an invalid or successful slot.
176
+ '&[data-invalid]:focus-visible, [data-invalid] &:focus-visible, [data-success] &:focus-visible':
177
+ {
178
+ outlineOffset: '2px !custom',
179
+ },
172
180
  // Delays follow the `animation` shorthand above, which would otherwise reset them.
173
181
  '[data-success] &:nth-child(2)': { animationDelay: '40ms !custom' },
174
182
  '[data-success] &:nth-child(3)': { animationDelay: '80ms !custom' },
@@ -202,19 +202,19 @@ namespace styles {
202
202
  justifyContent: 'center',
203
203
  minWidth: '40',
204
204
  outlineColor: 'transparent !custom',
205
- outlineOffset: '0px !custom',
205
+ outlineOffset: '0',
206
206
  outlineStyle: 'solid !custom',
207
- outlineWidth: '2px !custom',
207
+ outlineWidth: '2',
208
208
  paddingInline: '12',
209
209
  textDecoration: 'none !custom',
210
- transitionDuration: '160ms',
210
+ transitionDuration: '160',
211
211
  transitionProperty: 'background-color, color, outline-color, outline-offset, transform',
212
212
  transitionTimingFunction: 'snappy',
213
213
  // Weight overrides the typography token, so it stays after it.
214
214
  typography: 'button.14',
215
215
  selectors: {
216
216
  '&:active:is(a)': { transform: 'scale(0.96) !custom' },
217
- '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2px !custom' },
217
+ '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2' },
218
218
  '&:hover:is(a)': { backgroundColor: 'grayAlpha.100' },
219
219
  '&[data-ellipsis]': { color: 'gray.900', cursor: 'default' },
220
220
  },
@@ -285,25 +285,25 @@ namespace styles {
285
285
  display: 'inline-flex',
286
286
  height: '40',
287
287
  outlineColor: 'transparent !custom',
288
- outlineOffset: '0px !custom',
288
+ outlineOffset: '0',
289
289
  outlineStyle: 'solid !custom',
290
- outlineWidth: '2px !custom',
290
+ outlineWidth: '2',
291
291
  paddingInline: '16',
292
292
  textDecoration: 'none !custom',
293
- transitionDuration: '160ms',
294
- transitionProperty: 'background-color, opacity, outline-color, outline-offset, transform',
293
+ transitionDuration: '160',
294
+ transitionProperty: 'background-color, opacity, outline-color, outline-offset, scale',
295
295
  transitionTimingFunction: 'snappy',
296
296
  // Weight overrides the typography token, so it stays after it.
297
297
  typography: 'button.14',
298
298
  selectors: {
299
- '&:active:not([aria-disabled])': { transform: 'scale(0.98) !custom' },
300
- '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2px !custom' },
299
+ '&:active:not([aria-disabled])': { scale: 'press' },
300
+ '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2' },
301
301
  '&:hover:not([aria-disabled])': { backgroundColor: 'grayAlpha.200' },
302
- '&[aria-disabled]': { cursor: 'default', opacity: '0.4 !custom' },
302
+ '&[aria-disabled]': { cursor: 'default', opacity: 'disabled' },
303
303
  },
304
304
  '@media (prefers-reduced-motion: reduce)': {
305
305
  transitionProperty: 'background-color, opacity, outline-color',
306
- selectors: { '&:active:not([aria-disabled])': { transform: 'none !custom' } },
306
+ selectors: { '&:active:not([aria-disabled])': { scale: 'none !custom' } },
307
307
  },
308
308
  },
309
309
  },
@@ -154,12 +154,12 @@ export namespace Popover {
154
154
  namespace styles {
155
155
  export const arrow = style(
156
156
  {
157
- color: 'light-dark(#fff, #1f1e1e) !custom',
157
+ color: 'background.raised',
158
158
  display: 'flex',
159
159
  selectors: {
160
160
  '&[data-side="bottom"]': { top: '-10px !custom' },
161
- '&[data-side="left"]': { right: '-15px !custom', rotate: '90deg !custom' },
162
- '&[data-side="right"]': { left: '-15px !custom', rotate: '-90deg !custom' },
161
+ '&[data-side="left"]': { right: '-14px !custom', rotate: '90deg !custom' },
162
+ '&[data-side="right"]': { left: '-14px !custom', rotate: '-90deg !custom' },
163
163
  '&[data-side="top"]': { bottom: '-10px !custom', rotate: '180deg !custom' },
164
164
  },
165
165
  },
@@ -173,7 +173,7 @@ namespace styles {
173
173
 
174
174
  export const popup = style(
175
175
  {
176
- backgroundColor: 'light-dark(#fff, #1f1e1e) !custom',
176
+ backgroundColor: 'background.raised',
177
177
  borderRadius: '16',
178
178
  boxShadow: 'popover',
179
179
  boxSizing: 'border-box',
@@ -182,30 +182,33 @@ namespace styles {
182
182
  outline: 'none !custom',
183
183
  padding: '24',
184
184
  transformOrigin: 'var(--transform-origin) !custom',
185
- transitionDuration: '200ms',
186
- transitionProperty: 'opacity, transform',
185
+ transitionDuration: '200',
186
+ transitionProperty: 'opacity, scale',
187
187
  transitionTimingFunction: 'snappy',
188
188
  typography: 'copy.14',
189
189
  width: 'max-content !custom',
190
190
  selectors: {
191
191
  '&[data-ending-style]': {
192
192
  opacity: '0 !custom',
193
- transform: 'scale(0.96) !custom',
194
- transitionDuration: '140ms',
193
+ scale: 'enter',
194
+ transitionDuration: '140',
195
+ },
196
+ '&[data-starting-style]': {
197
+ opacity: '0 !custom',
198
+ scale: 'enter',
195
199
  },
196
- '&[data-starting-style]': { opacity: '0 !custom', transform: 'scale(0.96) !custom' },
197
200
  },
198
201
  '@media (prefers-reduced-motion: reduce)': {
199
202
  transitionProperty: 'opacity',
200
203
  selectors: {
201
- '&[data-ending-style], &[data-starting-style]': { transform: 'none !custom' },
204
+ '&[data-ending-style], &[data-starting-style]': { scale: 'none !custom' },
202
205
  },
203
206
  },
204
207
  },
205
208
  { id: 'tds/web/popover/popup' },
206
209
  )
207
210
 
208
- export const positioner = style({ zIndex: '50 !custom' }, { id: 'tds/web/popover/positioner' })
211
+ export const positioner = style({ zIndex: 'popover' }, { id: 'tds/web/popover/positioner' })
209
212
 
210
213
  export const title = style(
211
214
  {
@@ -137,7 +137,7 @@ namespace styles {
137
137
  borderRadius: 'full',
138
138
  height: '100% !custom',
139
139
  // Base UI sets the width inline, and scaling it would distort the rounded ends.
140
- transitionDuration: '240ms',
140
+ transitionDuration: '240',
141
141
  transitionProperty: 'width',
142
142
  transitionTimingFunction: 'spring',
143
143
 
@@ -153,7 +153,7 @@ namespace styles {
153
153
  selectors: {
154
154
  '&[data-indeterminate]': {
155
155
  animation: 'none !custom',
156
- opacity: '0.4 !custom',
156
+ opacity: 'disabled',
157
157
  width: '100% !custom',
158
158
  },
159
159
  },