@tempoxyz/ds 0.2.6 → 0.3.1

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 (662) 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 +161 -0
  52. package/dist/web/components/Alert.d.ts.map +1 -0
  53. package/dist/web/components/Alert.js +97 -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 +172 -28
  74. package/dist/web/components/AppShell.d.ts.map +1 -1
  75. package/dist/web/components/AppShell.js +89 -29
  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 +167 -32
  118. package/dist/web/components/Button.d.ts.map +1 -1
  119. package/dist/web/components/Button.js +14 -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 +530 -0
  236. package/dist/web/components/ListGroup.d.ts.map +1 -0
  237. package/dist/web/components/ListGroup.js +270 -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 +26 -9
  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 +238 -39
  312. package/dist/web/components/SidebarMenu.d.ts.map +1 -1
  313. package/dist/web/components/SidebarMenu.js +123 -20
  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 +123 -101
  372. package/dist/web/components/Surface.d.ts.map +1 -1
  373. package/dist/web/components/Surface.js +20 -10
  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/components/internal/TabBar.d.ts +33 -0
  470. package/dist/web/components/internal/TabBar.d.ts.map +1 -0
  471. package/dist/web/components/internal/TabBar.js +30 -0
  472. package/dist/web/components/internal/TabBar.js.map +1 -0
  473. package/dist/web/components/internal/Text.d.ts +9 -0
  474. package/dist/web/components/internal/Text.d.ts.map +1 -0
  475. package/dist/web/components/internal/Text.js +35 -0
  476. package/dist/web/components/internal/Text.js.map +1 -0
  477. package/dist/web/index.d.ts +18 -6
  478. package/dist/web/index.d.ts.map +1 -1
  479. package/dist/web/index.js +18 -6
  480. package/dist/web/index.js.map +1 -1
  481. package/dist/web/index.js.zyzz.json +1 -1
  482. package/dist/web/vars.d.ts +612 -704
  483. package/dist/web/vars.d.ts.map +1 -1
  484. package/dist/web/vars.js +7 -6
  485. package/dist/web/vars.js.map +1 -1
  486. package/dist/web/vars.js.zyzz.json +1 -1
  487. package/dist/web/zyzz.config.d.ts +3041 -3506
  488. package/dist/web/zyzz.config.d.ts.map +1 -1
  489. package/dist/web/zyzz.config.js +29 -3
  490. package/dist/web/zyzz.config.js.map +1 -1
  491. package/dist/web/zyzz.config.js.zyzz.json +1 -1
  492. package/package.json +149 -5
  493. package/src/fonts/JetBrainsMono-Bold-latin.woff2 +0 -0
  494. package/src/fonts/JetBrainsMono-Bold-other.woff2 +0 -0
  495. package/src/fonts/JetBrainsMono-Bold.woff2 +0 -0
  496. package/src/fonts/JetBrainsMono-Medium-latin.woff2 +0 -0
  497. package/src/fonts/JetBrainsMono-Medium-other.woff2 +0 -0
  498. package/src/fonts/JetBrainsMono-Medium.woff2 +0 -0
  499. package/src/fonts/{Geist-OFL.txt → JetBrainsMono-OFL.txt} +4 -3
  500. package/src/fonts/JetBrainsMono-Regular-latin.woff2 +0 -0
  501. package/src/fonts/JetBrainsMono-Regular-other.woff2 +0 -0
  502. package/src/fonts/JetBrainsMono-Regular.woff2 +0 -0
  503. package/src/fonts/JetBrainsMono-SemiBold-latin.woff2 +0 -0
  504. package/src/fonts/JetBrainsMono-SemiBold-other.woff2 +0 -0
  505. package/src/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
  506. package/src/fonts/Pilat-Black-latin.woff2 +0 -0
  507. package/src/fonts/Pilat-Black-other.woff2 +0 -0
  508. package/src/fonts/Pilat-Black.woff2 +0 -0
  509. package/src/fonts/Pilat-Bold-latin.woff2 +0 -0
  510. package/src/fonts/Pilat-Bold-other.woff2 +0 -0
  511. package/src/fonts/Pilat-Bold.woff2 +0 -0
  512. package/src/fonts/Pilat-Book-latin.woff2 +0 -0
  513. package/src/fonts/Pilat-Book-other.woff2 +0 -0
  514. package/src/fonts/Pilat-Book.woff2 +0 -0
  515. package/src/fonts/Pilat-Demi-latin.woff2 +0 -0
  516. package/src/fonts/Pilat-Demi-other.woff2 +0 -0
  517. package/src/fonts/Pilat-Demi.woff2 +0 -0
  518. package/src/fonts/Pilat-Heavy-latin.woff2 +0 -0
  519. package/src/fonts/Pilat-Heavy-other.woff2 +0 -0
  520. package/src/fonts/Pilat-Heavy.woff2 +0 -0
  521. package/src/fonts/Pilat-Light-latin.woff2 +0 -0
  522. package/src/fonts/Pilat-Light-other.woff2 +0 -0
  523. package/src/fonts/Pilat-Light.woff2 +0 -0
  524. package/src/fonts/Pilat-Regular-latin.woff2 +0 -0
  525. package/src/fonts/Pilat-Regular-other.woff2 +0 -0
  526. package/src/fonts/Pilat-Regular.woff2 +0 -0
  527. package/src/fonts/Pilat-Thin-latin.woff2 +0 -0
  528. package/src/fonts/Pilat-Thin-other.woff2 +0 -0
  529. package/src/fonts/Pilat-Thin.woff2 +0 -0
  530. package/src/fonts/README.md +15 -2
  531. package/src/oxlint/rules/PreferComponent.ts +6 -6
  532. package/src/web/README.md +7 -7
  533. package/src/web/components/Accordion.tsx +8 -8
  534. package/src/web/components/AgentLogo.tsx +330 -0
  535. package/src/web/components/Alert.tsx +321 -0
  536. package/src/web/components/AlertDialog.tsx +47 -111
  537. package/src/web/components/Amount.tsx +6 -6
  538. package/src/web/components/AmountInput.tsx +59 -134
  539. package/src/web/components/AppShell.tsx +367 -43
  540. package/src/web/components/AssetChip.tsx +110 -0
  541. package/src/web/components/Autocomplete.tsx +4 -4
  542. package/src/web/components/Avatar.tsx +42 -119
  543. package/src/web/components/Badge.tsx +122 -0
  544. package/src/web/components/Banner.tsx +13 -11
  545. package/src/web/components/BarChart.tsx +427 -0
  546. package/src/web/components/Breadcrumbs.tsx +7 -7
  547. package/src/web/components/Button.tsx +159 -41
  548. package/src/web/components/ButtonGroup.tsx +59 -0
  549. package/src/web/components/Calendar.tsx +15 -13
  550. package/src/web/components/Checkbox.tsx +14 -11
  551. package/src/web/components/ChoiceGroup.tsx +107 -26
  552. package/src/web/components/Choicebox.tsx +30 -28
  553. package/src/web/components/Combobox.tsx +10 -8
  554. package/src/web/components/CopyButton.tsx +1 -1
  555. package/src/web/components/DatePicker.tsx +42 -61
  556. package/src/web/components/Dialog.tsx +273 -71
  557. package/src/web/components/Drawer.tsx +45 -18
  558. package/src/web/components/Empty.tsx +13 -8
  559. package/src/web/components/Field.tsx +78 -132
  560. package/src/web/components/Fieldset.tsx +16 -37
  561. package/src/web/components/Frame.tsx +13 -20
  562. package/src/web/components/Gauge.tsx +4 -4
  563. package/src/web/components/Hex.tsx +13 -56
  564. package/src/web/components/IconTile.tsx +57 -0
  565. package/src/web/components/Identicon.tsx +1 -10
  566. package/src/web/components/Kbd.tsx +8 -8
  567. package/src/web/components/ListGroup.tsx +857 -0
  568. package/src/web/components/LoadingDots.tsx +1 -0
  569. package/src/web/components/Menu.tsx +50 -35
  570. package/src/web/components/NetworkLogo.tsx +208 -0
  571. package/src/web/components/NumberField.tsx +18 -33
  572. package/src/web/components/OtpField.tsx +51 -102
  573. package/src/web/components/Pagination.tsx +16 -14
  574. package/src/web/components/Popover.tsx +8 -8
  575. package/src/web/components/Progress.tsx +7 -5
  576. package/src/web/components/Qr.tsx +1 -1
  577. package/src/web/components/RadioGroup.tsx +9 -7
  578. package/src/web/components/SecretValue.tsx +11 -11
  579. package/src/web/components/Select.tsx +89 -26
  580. package/src/web/components/Separator.tsx +95 -7
  581. package/src/web/components/SidebarMenu.tsx +390 -53
  582. package/src/web/components/Skeleton.tsx +5 -5
  583. package/src/web/components/Slider.tsx +12 -6
  584. package/src/web/components/Snippet.tsx +134 -75
  585. package/src/web/components/Spinner.tsx +38 -12
  586. package/src/web/components/SplitBar.tsx +158 -0
  587. package/src/web/components/SplitButton.tsx +26 -17
  588. package/src/web/components/StatusChip.tsx +138 -0
  589. package/src/web/components/StatusRow.tsx +162 -0
  590. package/src/web/components/Stepper.tsx +11 -8
  591. package/src/web/components/Surface.tsx +172 -93
  592. package/src/web/components/Switch.tsx +25 -29
  593. package/src/web/components/Table.tsx +281 -70
  594. package/src/web/components/Tabs.tsx +93 -50
  595. package/src/web/components/TempoLogo.tsx +89 -0
  596. package/src/web/components/{Input.tsx → TextInput.tsx} +87 -118
  597. package/src/web/components/Textarea.tsx +33 -78
  598. package/src/web/components/Toast.tsx +24 -22
  599. package/src/web/components/Token.tsx +106 -172
  600. package/src/web/components/TokenLogo.tsx +217 -0
  601. package/src/web/components/Tooltip.tsx +3 -3
  602. package/src/web/components/VerificationCode.tsx +97 -0
  603. package/src/web/components/Visual.tsx +166 -0
  604. package/src/web/components/internal/Field.ts +63 -72
  605. package/src/web/components/internal/InputGroup.ts +44 -101
  606. package/src/web/components/internal/Listbox.ts +20 -20
  607. package/src/web/components/internal/RowDisabled.ts +9 -0
  608. package/src/web/components/internal/RowsSize.ts +3 -5
  609. package/src/web/components/internal/TabBar.ts +52 -0
  610. package/src/web/components/internal/Text.ts +39 -0
  611. package/src/web/components/visuals/Passkey.svg +21 -0
  612. package/src/web/index.ts +18 -6
  613. package/src/web/logos/Base.svg +10 -0
  614. package/src/web/logos/Ethereum.svg +16 -0
  615. package/src/web/logos/HyperEVM.svg +27 -0
  616. package/src/web/logos/Polygon.svg +15 -0
  617. package/src/web/logos/README.md +14 -0
  618. package/src/web/logos/Solana.svg +11 -0
  619. package/src/web/logos/Tempo.svg +11 -0
  620. package/src/web/vars.ts +493 -534
  621. package/src/web/zyzz.config.ts +255 -12
  622. package/dist/fonts/GeistMono-Variable.woff2 +0 -0
  623. package/dist/web/components/AlertDialog.css +0 -1
  624. package/dist/web/components/Callout.css +0 -1
  625. package/dist/web/components/Callout.d.ts +0 -161
  626. package/dist/web/components/Callout.d.ts.map +0 -1
  627. package/dist/web/components/Callout.js +0 -83
  628. package/dist/web/components/Callout.js.map +0 -1
  629. package/dist/web/components/Callout.js.zyzz.json +0 -1
  630. package/dist/web/components/IconChip.css +0 -1
  631. package/dist/web/components/IconChip.d.ts +0 -53
  632. package/dist/web/components/IconChip.d.ts.map +0 -1
  633. package/dist/web/components/IconChip.js +0 -27
  634. package/dist/web/components/IconChip.js.map +0 -1
  635. package/dist/web/components/IconChip.js.zyzz.json +0 -1
  636. package/dist/web/components/Input.css +0 -1
  637. package/dist/web/components/Input.d.ts.map +0 -1
  638. package/dist/web/components/Input.js +0 -118
  639. package/dist/web/components/Input.js.map +0 -1
  640. package/dist/web/components/Input.js.zyzz.json +0 -1
  641. package/dist/web/components/Rows.css +0 -1
  642. package/dist/web/components/Rows.d.ts +0 -484
  643. package/dist/web/components/Rows.d.ts.map +0 -1
  644. package/dist/web/components/Rows.js +0 -171
  645. package/dist/web/components/Rows.js.map +0 -1
  646. package/dist/web/components/Rows.js.zyzz.json +0 -1
  647. package/dist/web/components/Tag.css +0 -1
  648. package/dist/web/components/Tag.d.ts +0 -171
  649. package/dist/web/components/Tag.d.ts.map +0 -1
  650. package/dist/web/components/Tag.js +0 -52
  651. package/dist/web/components/Tag.js.map +0 -1
  652. package/dist/web/components/Tag.js.zyzz.json +0 -1
  653. package/dist/web/components/internal/FieldVariant.d.ts +0 -4
  654. package/dist/web/components/internal/FieldVariant.d.ts.map +0 -1
  655. package/dist/web/components/internal/FieldVariant.js +0 -4
  656. package/dist/web/components/internal/FieldVariant.js.map +0 -1
  657. package/src/fonts/GeistMono-Variable.woff2 +0 -0
  658. package/src/web/components/Callout.tsx +0 -241
  659. package/src/web/components/IconChip.tsx +0 -54
  660. package/src/web/components/Rows.tsx +0 -588
  661. package/src/web/components/Tag.tsx +0 -149
  662. package/src/web/components/internal/FieldVariant.ts +0 -6
@@ -84,7 +84,10 @@ export namespace Drawer {
84
84
 
85
85
  /**
86
86
  * Renders the portal, scrim, viewport and popup. `Drawer.Root` `swipeDirection` picks the edge.
87
- * The popup scrolls when its content overflows. `ref`, `className` and `style` reach the popup.
87
+ * A `down` or `up` drawer spans the viewport width with 24px padding, and rounds the two corners
88
+ * away from its edge at radius `sm`. A `left` or `right` drawer is 440px wide and fills the
89
+ * viewport height, with 32px padding, and rounds the two corners away from its edge at radius
90
+ * `lg`. Corners on the viewport edge stay square. The popup scrolls when its content overflows. `ref`, `className` and `style` reach the popup.
88
91
  */
89
92
  export function Popup(props: Popup.Props) {
90
93
  const { children, className, closeButton = false, vars, ...attributes } = props
@@ -104,7 +107,7 @@ export namespace Drawer {
104
107
  <BaseUi.Drawer.Close
105
108
  aria-label="Close"
106
109
  render={
107
- <Button shape="icon" size="medium" variant="secondary" {...dialog.close()} />
110
+ <Button shape="icon" size="medium" variant="secondary" {...styles.close()} />
108
111
  }
109
112
  >
110
113
  <CloseIcon />
@@ -121,7 +124,8 @@ export namespace Drawer {
121
124
  zyzz.Props.Variants<typeof styles.popup> &
122
125
  Pick<BaseUi.Drawer.Popup.Props, 'finalFocus' | 'initialFocus' | 'render'> & {
123
126
  /**
124
- * Renders a top-right X button, labelled "Close", that closes the drawer.
127
+ * Renders a top-right X button, labelled "Close", that closes the drawer. The
128
+ * `Drawer.Title` then starts 8px lower, so it centers on the button.
125
129
  *
126
130
  * @default false
127
131
  */
@@ -136,6 +140,7 @@ export namespace Drawer {
136
140
  return (
137
141
  <BaseUi.Drawer.Title
138
142
  {...attributes}
143
+ data-drawer-title=""
139
144
  {...dialog.title({ className, style: props.style, vars })}
140
145
  />
141
146
  )
@@ -149,7 +154,7 @@ export namespace Drawer {
149
154
  namespace styles {
150
155
  export const backdrop = style(
151
156
  {
152
- backgroundColor: 'black',
157
+ backgroundColor: 'neutral.100',
153
158
  inset: '0',
154
159
  opacity: 'calc(0.4 * (1 - var(--drawer-swipe-progress, 0))) !custom',
155
160
  position: 'fixed',
@@ -169,17 +174,34 @@ namespace styles {
169
174
  { id: 'tds/web/drawer/backdrop' },
170
175
  )
171
176
 
177
+ // The button sits in the padding corner of the popup, which the title keeps clear.
178
+ export const close = style(
179
+ {
180
+ insetBlockStart: '24',
181
+ insetInlineEnd: '24',
182
+ position: 'absolute',
183
+ selectors: {
184
+ '[data-swipe-direction="left"] > &, [data-swipe-direction="right"] > &': {
185
+ insetBlockStart: '32',
186
+ insetInlineEnd: '32',
187
+ },
188
+ },
189
+ },
190
+ { id: 'tds/web/drawer/close' },
191
+ )
192
+
172
193
  export const content = style(
173
194
  { boxSizing: 'border-box', marginInline: 'auto !custom', maxWidth: '512' },
174
195
  { id: 'tds/web/drawer/content' },
175
196
  )
176
197
 
198
+ // The Wallet Modal shadow has no Platform equivalent, so it stays a literal, as in `Dialog`.
177
199
  export const popup = style(
178
200
  {
179
- backgroundColor: 'background.raised',
180
- boxShadow: 'modal',
201
+ backgroundColor: 'background.elevated',
202
+ boxShadow: '0 1px 2px #0000000a, 0 16px 48px -12px #00000024 !custom',
181
203
  boxSizing: 'border-box',
182
- color: 'foreground',
204
+ color: 'content.primary',
183
205
  maxHeight: '100% !custom',
184
206
  outline: 'none !custom',
185
207
  overflowY: 'auto',
@@ -189,7 +211,7 @@ namespace styles {
189
211
  transitionDuration: '320',
190
212
  transitionProperty: 'opacity, transform',
191
213
  transitionTimingFunction: 'spring',
192
- typography: 'copy.14',
214
+ typography: 'body.b2',
193
215
  willChange: 'transform',
194
216
  selectors: {
195
217
  '&[data-ending-style]': {
@@ -197,8 +219,8 @@ namespace styles {
197
219
  },
198
220
  '&[data-swipe-direction="down"]': {
199
221
  alignSelf: 'end',
200
- borderTopLeftRadius: '16',
201
- borderTopRightRadius: '16',
222
+ borderTopLeftRadius: 'sm',
223
+ borderTopRightRadius: 'sm',
202
224
  paddingBottom: 'calc(24px + env(safe-area-inset-bottom, 0px)) !custom',
203
225
  transform: 'translateY(var(--drawer-swipe-movement-y, 0px)) !custom',
204
226
  width: '100% !custom',
@@ -206,31 +228,33 @@ namespace styles {
206
228
  '&[data-swipe-direction="down"][data-ending-style], &[data-swipe-direction="down"][data-starting-style]':
207
229
  { transform: 'translateY(100%) !custom' },
208
230
  '&[data-swipe-direction="left"]': {
209
- borderBottomRightRadius: '16',
210
- borderTopRightRadius: '16',
231
+ borderBottomRightRadius: 'lg',
232
+ borderTopRightRadius: 'lg',
211
233
  height: '100% !custom',
212
234
  justifySelf: 'start',
213
235
  maxWidth: 'calc(100vw - 3rem) !custom',
236
+ padding: '32',
214
237
  transform: 'translateX(var(--drawer-swipe-movement-x, 0px)) !custom',
215
- width: '22rem !custom',
238
+ width: '27.5rem !custom',
216
239
  },
217
240
  '&[data-swipe-direction="left"][data-ending-style], &[data-swipe-direction="left"][data-starting-style]':
218
241
  { transform: 'translateX(-100%) !custom' },
219
242
  '&[data-swipe-direction="right"]': {
220
- borderBottomLeftRadius: '16',
221
- borderTopLeftRadius: '16',
243
+ borderBottomLeftRadius: 'lg',
244
+ borderTopLeftRadius: 'lg',
222
245
  height: '100% !custom',
223
246
  justifySelf: 'end',
224
247
  maxWidth: 'calc(100vw - 3rem) !custom',
248
+ padding: '32',
225
249
  transform: 'translateX(var(--drawer-swipe-movement-x, 0px)) !custom',
226
- width: '22rem !custom',
250
+ width: '27.5rem !custom',
227
251
  },
228
252
  '&[data-swipe-direction="right"][data-ending-style], &[data-swipe-direction="right"][data-starting-style]':
229
253
  { transform: 'translateX(100%) !custom' },
230
254
  '&[data-swipe-direction="up"]': {
231
255
  alignSelf: 'start',
232
- borderBottomLeftRadius: '16',
233
- borderBottomRightRadius: '16',
256
+ borderBottomLeftRadius: 'sm',
257
+ borderBottomRightRadius: 'sm',
234
258
  transform: 'translateY(var(--drawer-swipe-movement-y, 0px)) !custom',
235
259
  width: '100% !custom',
236
260
  },
@@ -238,6 +262,9 @@ namespace styles {
238
262
  { transform: 'translateY(-100%) !custom' },
239
263
  // The popup follows the pointer without lag while swiping.
240
264
  '&[data-swiping]': { transitionDuration: '0', userSelect: 'none' },
265
+ // The title keeps 16px clear of the 40px close button and centers on it, as in a dialog
266
+ // header.
267
+ '&[data-close-button] [data-drawer-title]': { paddingInlineEnd: '56', paddingTop: '8' },
241
268
  },
242
269
  '@media (prefers-reduced-motion: reduce)': {
243
270
  transitionProperty: 'opacity',
@@ -9,6 +9,8 @@ import { style } from '../zyzz.config.js'
9
9
  * - Explain why the area is empty and what to do next.
10
10
  * - Offer one primary action that resolves the empty state.
11
11
  * - `Empty.Title` renders an `h3`, so place the state under an `h2` section heading.
12
+ * - Use a `Spinner` instead of `Empty.Icon` while the region waits on another task, such as a
13
+ * checkout in another window. The icon or spinner sits 16px above the title.
12
14
  *
13
15
  * @example
14
16
  * <Empty.Root>
@@ -102,10 +104,10 @@ namespace styles {
102
104
 
103
105
  export const description = style(
104
106
  {
105
- color: 'gray.900',
107
+ color: 'content.secondary',
106
108
  margin: '0',
107
- maxWidth: '384',
108
- typography: 'copy.14',
109
+ maxWidth: '360',
110
+ typography: 'body.b2',
109
111
  },
110
112
  { id: 'tds/web/empty/description' },
111
113
  )
@@ -113,14 +115,15 @@ namespace styles {
113
115
  export const icon = style(
114
116
  {
115
117
  alignItems: 'center',
116
- backgroundColor: 'grayAlpha.100',
118
+ backgroundColor: 'container.regular',
117
119
  borderRadius: 'full',
118
- color: 'gray.900',
120
+ color: 'content.secondary',
121
+ cornerShape: 'round',
119
122
  display: 'flex',
120
123
  fontSize: '24',
121
124
  height: '48',
122
125
  justifyContent: 'center',
123
- marginBlockEnd: '8',
126
+ marginBlockEnd: '12',
124
127
  width: '48',
125
128
  },
126
129
  { id: 'tds/web/empty/icon' },
@@ -132,16 +135,18 @@ namespace styles {
132
135
  boxSizing: 'border-box',
133
136
  display: 'flex',
134
137
  flexDirection: 'column',
135
- paddingBlock: '32',
138
+ paddingBlock: '24',
136
139
  paddingInline: '16',
137
140
  rowGap: '4',
141
+ // A spinner in place of the icon leaves the same 16px above the title.
142
+ selectors: { '& > [role="progressbar"]': { marginBlockEnd: '12' } },
138
143
  textAlign: 'center',
139
144
  },
140
145
  { id: 'tds/web/empty' },
141
146
  )
142
147
 
143
148
  export const title = style(
144
- { color: 'foreground', margin: '0', typography: 'heading.16' },
149
+ { color: 'content.primary', margin: '0', typography: 'heading.h3' },
145
150
  { id: 'tds/web/empty/title' },
146
151
  )
147
152
  }
@@ -1,16 +1,11 @@
1
1
  import * as BaseUi from '@base-ui/react/field'
2
- import { type ComponentPropsWithRef, useContext, useRef, useState } from 'react'
2
+ import { type ComponentPropsWithRef, useRef, useState } from 'react'
3
3
  import type * as zyzz from 'zyzz'
4
4
  import { style } from '../zyzz.config.js'
5
- import * as FieldVariant from './internal/FieldVariant.js'
6
5
 
7
6
  /**
8
- * Labeled form field. `stacked` places the label inside the field and floats it above the value
9
- * when the control is focused or filled, and a small control takes the medium size for room.
10
- * `default` places the label above the field. The label and
11
- * row gap follow the `size` of the control inside, and an error replaces the description.
12
- * `setting` puts the label and description beside a trailing control, and `size="small"` makes
13
- * that row compact.
7
+ * Labeled form field. The label sits 12px above the control and the message 12px below it, and a
8
+ * shown error replaces the description.
14
9
  *
15
10
  * - Give every control a visible `Field.Label`. Base UI links it to the control.
16
11
  * - Base UI adds `Field.Description` and a shown `Field.Error` to the control's `aria-describedby`.
@@ -19,9 +14,9 @@ import * as FieldVariant from './internal/FieldVariant.js'
19
14
  * @example
20
15
  * <Field.Root invalid={invalid}>
21
16
  * <Field.Label>Email</Field.Label>
22
- * <Input.Group>
23
- * <Input.Control type="email" />
24
- * </Input.Group>
17
+ * <TextInput.Group>
18
+ * <TextInput.Control type="email" />
19
+ * </TextInput.Group>
25
20
  * <Field.Description>Used for receipts.</Field.Description>
26
21
  * <Field.Error match={invalid}>Enter a valid email.</Field.Error>
27
22
  * </Field.Root>
@@ -34,9 +29,7 @@ import * as FieldVariant from './internal/FieldVariant.js'
34
29
  */
35
30
  export namespace Field {
36
31
  /**
37
- * Owns validity, dirty, touched and filled state for one control and shares the variant with the
38
- * controls inside. Without `variant`, it inherits the variant of an enclosing `Fieldset` or
39
- * `Field`, falling back to `default`.
32
+ * Owns validity, dirty, touched and filled state for one control.
40
33
  *
41
34
  * When a native `form` submit finds the control invalid, such as an empty `required` input, the
42
35
  * field validates and shows `Field.Error`. Outside `onBlur` mode, it then revalidates on each
@@ -51,44 +44,36 @@ export namespace Field {
51
44
  actionsRef = actions,
52
45
  className,
53
46
  onInvalidCapture,
54
- size,
55
47
  success = false,
56
48
  validationMode,
57
- variant,
58
49
  vars,
59
50
  ...attributes
60
51
  } = props
61
- const inherited = useContext(FieldVariant.Context)
62
- const resolved = variant ?? inherited ?? 'default'
63
52
  const [submitted, setSubmitted] = useState(false)
64
53
 
65
54
  return (
66
- <FieldVariant.Context.Provider value={resolved}>
67
- <BaseUi.Field.Root
68
- {...attributes}
69
- {...styles.root({ className, style: props.style, vars })}
70
- actionsRef={actionsRef}
71
- data-field=""
72
- data-field-size={size}
73
- data-success={success || undefined}
74
- data-variant={resolved}
75
- onInvalidCapture={(event) => {
76
- onInvalidCapture?.(event)
55
+ <BaseUi.Field.Root
56
+ {...attributes}
57
+ {...styles.root({ className, style: props.style, vars })}
58
+ actionsRef={actionsRef}
59
+ data-field=""
60
+ data-success={success || undefined}
61
+ onInvalidCapture={(event) => {
62
+ onInvalidCapture?.(event)
77
63
 
78
- // Base UI runs submit validation only inside its own Form. A native form fires `invalid`
79
- // on each failing control instead, and the event does not bubble. `checkValidity()` and
80
- // `reportValidity()` fire it too, but only a submit attempt marks the form's controls
81
- // `:user-invalid` first. `invalid` targets only form controls.
82
- if (!(event.target as Element).matches(':user-invalid')) return
64
+ // Base UI runs submit validation only inside its own Form. A native form fires `invalid`
65
+ // on each failing control instead, and the event does not bubble. `checkValidity()` and
66
+ // `reportValidity()` fire it too, but only a submit attempt marks the form's controls
67
+ // `:user-invalid` first. `invalid` targets only form controls.
68
+ if (!(event.target as Element).matches(':user-invalid')) return
83
69
 
84
- actionsRef.current?.validate()
85
- setSubmitted(true)
86
- }}
87
- // Base UI's Form counts submits to revalidate `onSubmit` fields on change. A native
88
- // form has no count, so a failed submit switches the field to `onChange`.
89
- validationMode={submitted && validationMode !== 'onBlur' ? 'onChange' : validationMode}
90
- />
91
- </FieldVariant.Context.Provider>
70
+ actionsRef.current?.validate()
71
+ setSubmitted(true)
72
+ }}
73
+ // Base UI's Form counts submits to revalidate `onSubmit` fields on change. A native
74
+ // form has no count, so a failed submit switches the field to `onChange`.
75
+ validationMode={submitted && validationMode !== 'onBlur' ? 'onChange' : validationMode}
76
+ />
92
77
  )
93
78
  }
94
79
 
@@ -108,15 +93,8 @@ export namespace Field {
108
93
  | 'validationDebounceTime'
109
94
  | 'validationMode'
110
95
  > & {
111
- /**
112
- * The density of a `setting` row: `medium` (default) or `small`, which sets smaller text and
113
- * less padding. Other variants follow the size of the control inside instead.
114
- */
115
- size?: 'medium' | 'small' | undefined
116
- /** Marks the value as accepted. Controls inside take the success tint and ring. */
96
+ /** Marks the value as accepted. Text fields inside end with a check. */
117
97
  success?: boolean | undefined
118
- /** The label layout: `default`, `stacked` or `setting`. */
119
- variant?: FieldVariant.Variant | undefined
120
98
  }
121
99
  }
122
100
 
@@ -138,6 +116,27 @@ export namespace Field {
138
116
  Pick<BaseUi.Field.Label.Props, 'nativeLabel' | 'render'>
139
117
  }
140
118
 
119
+ /**
120
+ * Regular-weight text at the end of the label row, such as "Optional". Place it inside
121
+ * `Field.Label`, so it joins the control's accessible name.
122
+ */
123
+ export function SecondaryLabel(props: SecondaryLabel.Props) {
124
+ const { className, vars, ...attributes } = props
125
+
126
+ return (
127
+ <span
128
+ {...attributes}
129
+ {...styles.secondaryLabel({ className, style: props.style, vars })}
130
+ data-field-secondary=""
131
+ />
132
+ )
133
+ }
134
+
135
+ export namespace SecondaryLabel {
136
+ export type Props = ComponentPropsWithRef<'span'> &
137
+ zyzz.Props.Variants<typeof styles.secondaryLabel>
138
+ }
139
+
141
140
  /** Hint text rendered as a `p`. It fades out while a `Field.Error` is shown. */
142
141
  export function Description(props: Description.Props) {
143
142
  const { className, vars, ...attributes } = props
@@ -204,22 +203,15 @@ namespace styles {
204
203
  */
205
204
  export const description = style(
206
205
  {
207
- color: 'gray.900',
206
+ color: 'content.secondary',
208
207
  margin: '0',
209
208
  transitionDuration: '200',
210
209
  transitionProperty: 'color, filter, opacity, transform !custom',
211
210
  transitionTimingFunction: 'snappy',
212
- typography: 'label.14',
211
+ typography: 'body.b3',
213
212
  selectors: {
214
- // Matches the label's size so the label, control and description read as one rhythm.
215
- ':has(> [data-size="medium"], > * > [data-size="medium"]) > &': {
216
- typography: 'label.13',
217
- },
218
- ':has(> [data-size="small"], > * > [data-size="small"]) > &': {
219
- typography: 'label.12',
220
- },
221
213
  ':has(> [data-field-error]:not([data-ending-style])) > &': {
222
- color: 'red.900',
214
+ color: 'content.negative',
223
215
  filter: 'blur(2px) !custom',
224
216
  insetBlockEnd: '0',
225
217
  insetInline: '0',
@@ -229,8 +221,9 @@ namespace styles {
229
221
  transform: 'translateY(-4px) !custom',
230
222
  transitionDuration: '150',
231
223
  },
232
- '[data-variant="setting"] > &': { gridColumn: '1 !custom', typography: 'copy.14' },
233
- '[data-variant="setting"][data-field-size="small"] > &': { typography: 'copy.13' },
224
+ // An accepted value reads its message in the positive color, as an error does in negative.
225
+ '[data-success] > &': { color: 'content.positive' },
226
+ '[data-disabled] &': { color: 'content.subtle' },
234
227
  },
235
228
  '@media (prefers-reduced-motion: reduce)': {
236
229
  transitionProperty: 'opacity !custom',
@@ -248,20 +241,14 @@ namespace styles {
248
241
  /** Takes the description's slot, rising in from below and back out as it clears. */
249
242
  export const error = style(
250
243
  {
251
- color: 'red.900',
244
+ color: 'content.negative',
252
245
  transitionDuration: '200',
253
246
  transitionProperty: 'color, filter, opacity, transform !custom',
254
247
  transitionTimingFunction: 'snappy',
255
- typography: 'label.14',
248
+ typography: 'body.b3',
256
249
  selectors: {
257
- ':has(> [data-size="medium"], > * > [data-size="medium"]) > &': {
258
- typography: 'label.13',
259
- },
260
- ':has(> [data-size="small"], > * > [data-size="small"]) > &': {
261
- typography: 'label.12',
262
- },
263
250
  '&[data-ending-style]': {
264
- color: 'gray.900',
251
+ color: 'content.secondary',
265
252
  filter: 'blur(2px) !custom',
266
253
  insetBlockEnd: '0',
267
254
  insetInline: '0',
@@ -271,7 +258,7 @@ namespace styles {
271
258
  transitionDuration: '150',
272
259
  },
273
260
  '&[data-starting-style]': {
274
- color: 'gray.900',
261
+ color: 'content.secondary',
275
262
  filter: 'blur(2px) !custom',
276
263
  opacity: '0 !custom',
277
264
  transform: 'translateY(4px) !custom',
@@ -297,55 +284,14 @@ namespace styles {
297
284
 
298
285
  export const label = style(
299
286
  {
300
- color: 'foreground',
287
+ color: 'content.primary',
301
288
  transitionDuration: '160',
302
289
  transitionProperty: 'color, opacity !custom',
303
290
  transitionTimingFunction: 'snappy',
304
- typography: 'label.14.strong',
291
+ typography: 'body.b2Strong',
305
292
  selectors: {
306
- // Size rules come before the variant rules so setting and stacked keep their type.
307
- ':has(> [data-size="medium"], > * > [data-size="medium"]) > &': {
308
- typography: 'label.13.strong',
309
- },
310
- ':has(> [data-size="small"], > * > [data-size="small"]) > &': {
311
- typography: 'label.12.strong',
312
- },
313
- '[data-disabled] &': { opacity: 'disabled' },
314
- '[data-variant="setting"] > &': { gridColumn: '1 !custom', typography: 'copy.15.strong' },
315
- '[data-variant="setting"][data-field-size="small"] > &': {
316
- typography: 'copy.14.strong',
317
- },
318
- '[data-variant="stacked"] > &': {
319
- alignSelf: 'start !custom',
320
- color: 'gray.900',
321
- gridArea: '1 / 1',
322
- insetInlineStart: '0',
323
- marginInline: '16',
324
- pointerEvents: 'none',
325
- transform: 'translateY(10px) !custom',
326
- transformOrigin: 'left top !custom',
327
- transitionDuration: '240',
328
- transitionProperty: 'color, opacity, transform !custom',
329
- transitionTimingFunction: 'spring',
330
- typography: 'label.14',
331
- zIndex: '1 !custom',
332
- },
333
- '[data-variant="stacked"][data-filled] > &, [data-variant="stacked"][data-focused] > &': {
334
- transform: 'translateY(3px) scale(0.75) !custom',
335
- },
336
- // The resting label centers in the field, then floats into its top padding.
337
- '[data-variant="stacked"]:has(> [data-size="large"], > * > [data-size="large"]) > &': {
338
- marginInline: '20',
339
- transform: 'translateY(18px) !custom',
340
- typography: 'label.16',
341
- },
342
- ':is([data-variant="stacked"][data-filled], [data-variant="stacked"][data-focused]):has(> [data-size="large"], > * > [data-size="large"]) > &':
343
- { transform: 'translateY(8px) scale(0.75) !custom' },
344
- },
345
- '@media (prefers-reduced-motion: reduce)': {
346
- selectors: {
347
- '[data-variant="stacked"] > &': { transitionProperty: 'color, opacity !custom' },
348
- },
293
+ '&:has(> [data-field-secondary])': { columnGap: '8', display: 'flex' },
294
+ '[data-disabled] &': { color: 'content.tertiary' },
349
295
  },
350
296
  },
351
297
  { id: 'tds/web/field/label' },
@@ -358,25 +304,25 @@ namespace styles {
358
304
  display: 'grid',
359
305
  gridTemplateColumns: 'minmax(0, 1fr) !custom',
360
306
  position: 'relative',
361
- // Labels sit 8px above medium and large controls, and 6px above small ones.
362
- rowGap: '8',
307
+ rowGap: '12',
363
308
  selectors: {
364
- '&:has(> [data-size="small"], > * > [data-size="small"])': { rowGap: '6' },
365
309
  // A list of options reads as one block under its label, so it sits further away than one control.
366
- '&:has(> [role="radiogroup"], > [role="group"] [role="checkbox"])': { rowGap: '12' },
367
- '&[data-variant="setting"]': {
368
- alignContent: 'center !custom',
369
- columnGap: '16',
370
- gridTemplateColumns: 'minmax(0, 1fr) auto !custom',
371
- paddingBlock: '16',
372
- rowGap: '4',
373
- },
374
- '&[data-variant="setting"][data-field-size="small"]': {
375
- paddingBlock: '12',
376
- rowGap: '2',
377
- },
310
+ '&:has(> [role="radiogroup"], > [role="group"] [role="checkbox"])': { rowGap: '16' },
311
+ // The message of a code sits 8px below its slots, as the Code Input design places it.
312
+ '&:has(> [data-otp-field])': { rowGap: '8' },
378
313
  },
379
314
  },
380
315
  { id: 'tds/web/field' },
381
316
  )
317
+
318
+ // Text keeps 4.5:1 contrast, so it takes the secondary color rather than tertiary.
319
+ export const secondaryLabel = style(
320
+ {
321
+ color: 'content.secondary',
322
+ marginInlineStart: 'auto !custom',
323
+ typography: 'body.b2',
324
+ selectors: { '[data-disabled] &': { color: 'content.tertiary' } },
325
+ },
326
+ { id: 'tds/web/field/secondary-label' },
327
+ )
382
328
  }
@@ -2,24 +2,23 @@ import * as BaseUi from '@base-ui/react/fieldset'
2
2
  import type { ComponentPropsWithRef } from 'react'
3
3
  import type * as zyzz from 'zyzz'
4
4
  import { style } from '../zyzz.config.js'
5
- import * as FieldVariant from './internal/FieldVariant.js'
6
5
 
7
6
  /**
8
- * Groups fields under a legend and sets the `variant` that nested `Field.Root` parts inherit.
9
- * Renders a native `fieldset` named by its `Fieldset.Legend` through `aria-labelledby`.
7
+ * Groups fields under a legend. Renders a native `fieldset` named by its `Fieldset.Legend` through
8
+ * `aria-labelledby`.
10
9
  *
11
10
  * - Group related controls, such as radios, checkboxes or the parts of an address.
12
11
  * - Write the legend as the question the group answers.
13
12
  * - Avoid nesting fieldsets.
14
13
  *
15
14
  * @example
16
- * <Fieldset.Root variant="stacked">
15
+ * <Fieldset.Root>
17
16
  * <Fieldset.Legend>Recipient</Fieldset.Legend>
18
17
  * <Field.Root>
19
18
  * <Field.Label>Name</Field.Label>
20
- * <Input.Group>
21
- * <Input.Control />
22
- * </Input.Group>
19
+ * <TextInput.Group>
20
+ * <TextInput.Control />
21
+ * </TextInput.Group>
23
22
  * </Field.Root>
24
23
  * </Fieldset.Root>
25
24
  *
@@ -30,34 +29,24 @@ import * as FieldVariant from './internal/FieldVariant.js'
30
29
  */
31
30
  export namespace Fieldset {
32
31
  /**
33
- * Renders the `fieldset` and stacks its fields 12, 16 or 24px apart, following the `size` of
34
- * their controls, with 12px under the legend. Adjacent
35
- * `setting` rows touch, since their own padding spaces them. `disabled` disables the
36
- * native controls inside and every nested `Field.Root`.
32
+ * Renders the `fieldset` and stacks its fields 16px apart, with 12px under the legend.
33
+ * `disabled` disables the native controls inside and every nested `Field.Root`.
37
34
  */
38
35
  export function Root(props: Root.Props) {
39
- const { className, variant, vars, ...attributes } = props
36
+ const { className, vars, ...attributes } = props
40
37
 
41
38
  return (
42
- <FieldVariant.Context.Provider value={variant}>
43
- <BaseUi.Fieldset.Root
44
- {...attributes}
45
- {...styles.root({ className, style: props.style, vars })}
46
- />
47
- </FieldVariant.Context.Provider>
39
+ <BaseUi.Fieldset.Root
40
+ {...attributes}
41
+ {...styles.root({ className, style: props.style, vars })}
42
+ />
48
43
  )
49
44
  }
50
45
 
51
46
  export namespace Root {
52
47
  export type Props = ComponentPropsWithRef<'fieldset'> &
53
48
  zyzz.Props.Variants<typeof styles.root> &
54
- Pick<BaseUi.Fieldset.Root.Props, 'render'> & {
55
- /**
56
- * Layout that nested `Field.Root` parts inherit unless they set their own `variant`. Fields
57
- * fall back to `default` when neither sets one.
58
- */
59
- variant?: FieldVariant.Variant | undefined
60
- }
49
+ Pick<BaseUi.Fieldset.Root.Props, 'render'>
61
50
  }
62
51
 
63
52
  /**
@@ -85,7 +74,7 @@ export namespace Fieldset {
85
74
 
86
75
  namespace styles {
87
76
  export const legend = style(
88
- { color: 'foreground', typography: 'heading.16' },
77
+ { color: 'content.primary', typography: 'body.b1Strong' },
89
78
  { id: 'tds/web/fieldset/legend' },
90
79
  )
91
80
 
@@ -97,20 +86,10 @@ namespace styles {
97
86
  margin: '0',
98
87
  minWidth: '0',
99
88
  padding: '0',
100
- // Margins instead of `row-gap`, so the space can depend on which children meet.
89
+ // Margins instead of `row-gap`, so the legend can sit closer than the fields.
101
90
  selectors: {
102
- // Fields sit as far apart as their controls' size suggests: 12, 16 or 24px.
103
91
  '& > * + *': { marginBlockStart: '16' },
104
- // The size sits on a direct control, or on the control of a field. Setting rows keep 16px, and
105
- // a small stacked field renders medium. `:where` keeps the legend rule below in charge.
106
- '& > * + :where(:not([data-variant="setting"], [data-variant="stacked"])):where([data-size="small"], :has(> [data-size="small"], > * > [data-size="small"]))':
107
- { marginBlockStart: '12' },
108
- '& > * + :where(:not([data-variant="setting"])):where([data-size="large"], :has(> [data-size="large"], > * > [data-size="large"]))':
109
- { marginBlockStart: '24' },
110
92
  '& > [data-fieldset-legend] + *': { marginBlockStart: '12' },
111
- '& > :is([data-fieldset-legend], [data-variant="setting"]) + [data-variant="setting"]': {
112
- marginBlockStart: '0',
113
- },
114
93
  },
115
94
  },
116
95
  { id: 'tds/web/fieldset' },