@tempoxyz/ds 0.2.5 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (735) hide show
  1. package/README.md +2 -0
  2. package/dist/fonts/Inter-cyrillic-ext.woff2 +0 -0
  3. package/dist/fonts/Inter-cyrillic.woff2 +0 -0
  4. package/dist/fonts/Inter-greek-ext.woff2 +0 -0
  5. package/dist/fonts/Inter-greek.woff2 +0 -0
  6. package/dist/fonts/Inter-latin-ext.woff2 +0 -0
  7. package/dist/fonts/Inter-latin.woff2 +0 -0
  8. package/dist/fonts/Inter-symbols.woff2 +0 -0
  9. package/dist/fonts/Inter-vietnamese.woff2 +0 -0
  10. package/dist/fonts/JetBrainsMono-Bold-latin.woff2 +0 -0
  11. package/dist/fonts/JetBrainsMono-Bold-other.woff2 +0 -0
  12. package/dist/fonts/JetBrainsMono-Bold.woff2 +0 -0
  13. package/dist/fonts/JetBrainsMono-Medium-latin.woff2 +0 -0
  14. package/dist/fonts/JetBrainsMono-Medium-other.woff2 +0 -0
  15. package/dist/fonts/JetBrainsMono-Medium.woff2 +0 -0
  16. package/dist/fonts/JetBrainsMono-Regular-latin.woff2 +0 -0
  17. package/dist/fonts/JetBrainsMono-Regular-other.woff2 +0 -0
  18. package/dist/fonts/JetBrainsMono-Regular.woff2 +0 -0
  19. package/dist/fonts/JetBrainsMono-SemiBold-latin.woff2 +0 -0
  20. package/dist/fonts/JetBrainsMono-SemiBold-other.woff2 +0 -0
  21. package/dist/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
  22. package/dist/fonts/Pilat-Black-latin.woff2 +0 -0
  23. package/dist/fonts/Pilat-Black-other.woff2 +0 -0
  24. package/dist/fonts/Pilat-Black.woff2 +0 -0
  25. package/dist/fonts/Pilat-Bold-latin.woff2 +0 -0
  26. package/dist/fonts/Pilat-Bold-other.woff2 +0 -0
  27. package/dist/fonts/Pilat-Bold.woff2 +0 -0
  28. package/dist/fonts/Pilat-Book-latin.woff2 +0 -0
  29. package/dist/fonts/Pilat-Book-other.woff2 +0 -0
  30. package/dist/fonts/Pilat-Book.woff2 +0 -0
  31. package/dist/fonts/Pilat-Demi-latin.woff2 +0 -0
  32. package/dist/fonts/Pilat-Demi-other.woff2 +0 -0
  33. package/dist/fonts/Pilat-Demi.woff2 +0 -0
  34. package/dist/fonts/Pilat-Heavy-latin.woff2 +0 -0
  35. package/dist/fonts/Pilat-Heavy-other.woff2 +0 -0
  36. package/dist/fonts/Pilat-Heavy.woff2 +0 -0
  37. package/dist/fonts/Pilat-Light-latin.woff2 +0 -0
  38. package/dist/fonts/Pilat-Light-other.woff2 +0 -0
  39. package/dist/fonts/Pilat-Light.woff2 +0 -0
  40. package/dist/fonts/Pilat-Regular-latin.woff2 +0 -0
  41. package/dist/fonts/Pilat-Regular-other.woff2 +0 -0
  42. package/dist/fonts/Pilat-Regular.woff2 +0 -0
  43. package/dist/fonts/Pilat-Thin-latin.woff2 +0 -0
  44. package/dist/fonts/Pilat-Thin-other.woff2 +0 -0
  45. package/dist/fonts/Pilat-Thin.woff2 +0 -0
  46. package/dist/mobile/Haptics.d.ts +39 -0
  47. package/dist/mobile/Haptics.d.ts.map +1 -0
  48. package/dist/mobile/Haptics.js +51 -0
  49. package/dist/mobile/Haptics.js.map +1 -0
  50. package/dist/mobile/components/Button.d.ts.map +1 -1
  51. package/dist/mobile/components/Button.js +3 -3
  52. package/dist/mobile/components/Button.js.map +1 -1
  53. package/dist/mobile/components/IconButton.d.ts.map +1 -1
  54. package/dist/mobile/components/IconButton.js +3 -3
  55. package/dist/mobile/components/IconButton.js.map +1 -1
  56. package/dist/mobile/components/Spinner.js +1 -1
  57. package/dist/mobile/components/Spinner.js.map +1 -1
  58. package/dist/mobile/components/TextButton.d.ts.map +1 -1
  59. package/dist/mobile/components/TextButton.js +3 -3
  60. package/dist/mobile/components/TextButton.js.map +1 -1
  61. package/dist/mobile/components/TextInput.js +1 -1
  62. package/dist/mobile/components/TextInput.js.map +1 -1
  63. package/dist/mobile/components/Toast.js +1 -1
  64. package/dist/mobile/components/Toast.js.map +1 -1
  65. package/dist/mobile/components/Toggle.d.ts.map +1 -1
  66. package/dist/mobile/components/Toggle.js +2 -2
  67. package/dist/mobile/components/Toggle.js.map +1 -1
  68. package/dist/mobile/index.d.ts +2 -0
  69. package/dist/mobile/index.d.ts.map +1 -1
  70. package/dist/mobile/index.js +2 -0
  71. package/dist/mobile/index.js.map +1 -1
  72. package/dist/mobile/useColor.d.ts +23 -0
  73. package/dist/mobile/useColor.d.ts.map +1 -0
  74. package/dist/mobile/useColor.js +29 -0
  75. package/dist/mobile/useColor.js.map +1 -0
  76. package/dist/oxlint/rules/PreferComponent.js +6 -6
  77. package/dist/oxlint/rules/PreferComponent.js.map +1 -1
  78. package/dist/web/components/Accordion.css +1 -1
  79. package/dist/web/components/Accordion.d.ts +7 -7
  80. package/dist/web/components/Accordion.js +8 -8
  81. package/dist/web/components/Accordion.js.map +1 -1
  82. package/dist/web/components/Accordion.js.zyzz.json +1 -1
  83. package/dist/web/components/AgentLogo.css +1 -0
  84. package/dist/web/components/AgentLogo.d.ts +206 -0
  85. package/dist/web/components/AgentLogo.d.ts.map +1 -0
  86. package/dist/web/components/AgentLogo.js +86 -0
  87. package/dist/web/components/AgentLogo.js.map +1 -0
  88. package/dist/web/components/AgentLogo.js.zyzz.json +1 -0
  89. package/dist/web/components/Alert.css +1 -0
  90. package/dist/web/components/Alert.d.ts +156 -0
  91. package/dist/web/components/Alert.d.ts.map +1 -0
  92. package/dist/web/components/Alert.js +92 -0
  93. package/dist/web/components/Alert.js.map +1 -0
  94. package/dist/web/components/Alert.js.zyzz.json +1 -0
  95. package/dist/web/components/AlertDialog.d.ts +40 -28
  96. package/dist/web/components/AlertDialog.d.ts.map +1 -1
  97. package/dist/web/components/AlertDialog.js +31 -36
  98. package/dist/web/components/AlertDialog.js.map +1 -1
  99. package/dist/web/components/AlertDialog.js.zyzz.json +1 -1
  100. package/dist/web/components/Amount.css +1 -1
  101. package/dist/web/components/Amount.d.ts +5 -5
  102. package/dist/web/components/Amount.d.ts.map +1 -1
  103. package/dist/web/components/Amount.js +3 -3
  104. package/dist/web/components/Amount.js.map +1 -1
  105. package/dist/web/components/Amount.js.zyzz.json +1 -1
  106. package/dist/web/components/AmountInput.css +1 -1
  107. package/dist/web/components/AmountInput.d.ts +20 -39
  108. package/dist/web/components/AmountInput.d.ts.map +1 -1
  109. package/dist/web/components/AmountInput.js +32 -38
  110. package/dist/web/components/AmountInput.js.map +1 -1
  111. package/dist/web/components/AmountInput.js.zyzz.json +1 -1
  112. package/dist/web/components/AppShell.css +1 -1
  113. package/dist/web/components/AppShell.d.ts +65 -29
  114. package/dist/web/components/AppShell.d.ts.map +1 -1
  115. package/dist/web/components/AppShell.js +33 -21
  116. package/dist/web/components/AppShell.js.map +1 -1
  117. package/dist/web/components/AppShell.js.zyzz.json +1 -1
  118. package/dist/web/components/AssetChip.css +1 -0
  119. package/dist/web/components/AssetChip.d.ts +38 -0
  120. package/dist/web/components/AssetChip.d.ts.map +1 -0
  121. package/dist/web/components/AssetChip.js +47 -0
  122. package/dist/web/components/AssetChip.js.map +1 -0
  123. package/dist/web/components/AssetChip.js.zyzz.json +1 -0
  124. package/dist/web/components/Autocomplete.d.ts +2 -2
  125. package/dist/web/components/Autocomplete.js +4 -4
  126. package/dist/web/components/Autocomplete.js.map +1 -1
  127. package/dist/web/components/Autocomplete.js.zyzz.json +1 -1
  128. package/dist/web/components/Avatar.css +1 -1
  129. package/dist/web/components/Avatar.d.ts +40 -115
  130. package/dist/web/components/Avatar.d.ts.map +1 -1
  131. package/dist/web/components/Avatar.js +19 -34
  132. package/dist/web/components/Avatar.js.map +1 -1
  133. package/dist/web/components/Avatar.js.zyzz.json +1 -1
  134. package/dist/web/components/Badge.css +1 -0
  135. package/dist/web/components/Badge.d.ts +134 -0
  136. package/dist/web/components/Badge.d.ts.map +1 -0
  137. package/dist/web/components/Badge.js +38 -0
  138. package/dist/web/components/Badge.js.map +1 -0
  139. package/dist/web/components/Badge.js.zyzz.json +1 -0
  140. package/dist/web/components/Banner.css +1 -1
  141. package/dist/web/components/Banner.d.ts +12 -12
  142. package/dist/web/components/Banner.d.ts.map +1 -1
  143. package/dist/web/components/Banner.js +6 -6
  144. package/dist/web/components/Banner.js.map +1 -1
  145. package/dist/web/components/Banner.js.zyzz.json +1 -1
  146. package/dist/web/components/BarChart.css +1 -0
  147. package/dist/web/components/BarChart.d.ts +155 -0
  148. package/dist/web/components/BarChart.d.ts.map +1 -0
  149. package/dist/web/components/BarChart.js +119 -0
  150. package/dist/web/components/BarChart.js.map +1 -0
  151. package/dist/web/components/BarChart.js.zyzz.json +1 -0
  152. package/dist/web/components/Breadcrumbs.css +1 -1
  153. package/dist/web/components/Breadcrumbs.d.ts +6 -6
  154. package/dist/web/components/Breadcrumbs.js +6 -6
  155. package/dist/web/components/Breadcrumbs.js.map +1 -1
  156. package/dist/web/components/Breadcrumbs.js.zyzz.json +1 -1
  157. package/dist/web/components/Button.css +1 -1
  158. package/dist/web/components/Button.d.ts +166 -35
  159. package/dist/web/components/Button.d.ts.map +1 -1
  160. package/dist/web/components/Button.js +14 -10
  161. package/dist/web/components/Button.js.map +1 -1
  162. package/dist/web/components/Button.js.zyzz.json +1 -1
  163. package/dist/web/components/ButtonGroup.css +1 -0
  164. package/dist/web/components/ButtonGroup.d.ts +56 -0
  165. package/dist/web/components/ButtonGroup.d.ts.map +1 -0
  166. package/dist/web/components/ButtonGroup.js +33 -0
  167. package/dist/web/components/ButtonGroup.js.map +1 -0
  168. package/dist/web/components/ButtonGroup.js.zyzz.json +1 -0
  169. package/dist/web/components/Calendar.css +1 -1
  170. package/dist/web/components/Calendar.d.ts.map +1 -1
  171. package/dist/web/components/Calendar.js +8 -8
  172. package/dist/web/components/Calendar.js.map +1 -1
  173. package/dist/web/components/Calendar.js.zyzz.json +1 -1
  174. package/dist/web/components/Checkbox.css +1 -1
  175. package/dist/web/components/Checkbox.d.ts +11 -11
  176. package/dist/web/components/Checkbox.d.ts.map +1 -1
  177. package/dist/web/components/Checkbox.js +9 -6
  178. package/dist/web/components/Checkbox.js.map +1 -1
  179. package/dist/web/components/Checkbox.js.zyzz.json +1 -1
  180. package/dist/web/components/CheckboxGroup.css +1 -1
  181. package/dist/web/components/CheckboxGroup.js +1 -1
  182. package/dist/web/components/CheckboxGroup.js.zyzz.json +1 -1
  183. package/dist/web/components/ChoiceGroup.css +1 -1
  184. package/dist/web/components/ChoiceGroup.d.ts +44 -16
  185. package/dist/web/components/ChoiceGroup.d.ts.map +1 -1
  186. package/dist/web/components/ChoiceGroup.js +33 -9
  187. package/dist/web/components/ChoiceGroup.js.map +1 -1
  188. package/dist/web/components/ChoiceGroup.js.zyzz.json +1 -1
  189. package/dist/web/components/Choicebox.css +1 -1
  190. package/dist/web/components/Choicebox.d.ts +9 -9
  191. package/dist/web/components/Choicebox.d.ts.map +1 -1
  192. package/dist/web/components/Choicebox.js +11 -11
  193. package/dist/web/components/Choicebox.js.map +1 -1
  194. package/dist/web/components/Choicebox.js.zyzz.json +1 -1
  195. package/dist/web/components/Combobox.css +1 -1
  196. package/dist/web/components/Combobox.d.ts +2 -2
  197. package/dist/web/components/Combobox.d.ts.map +1 -1
  198. package/dist/web/components/Combobox.js +8 -8
  199. package/dist/web/components/Combobox.js.map +1 -1
  200. package/dist/web/components/Combobox.js.zyzz.json +1 -1
  201. package/dist/web/components/Container.css +1 -1
  202. package/dist/web/components/Container.js +1 -3
  203. package/dist/web/components/Container.js.zyzz.json +1 -1
  204. package/dist/web/components/CopyButton.css +1 -1
  205. package/dist/web/components/CopyButton.js +4 -4
  206. package/dist/web/components/CopyButton.js.map +1 -1
  207. package/dist/web/components/CopyButton.js.zyzz.json +1 -1
  208. package/dist/web/components/DatePicker.css +1 -1
  209. package/dist/web/components/DatePicker.d.ts +37 -56
  210. package/dist/web/components/DatePicker.d.ts.map +1 -1
  211. package/dist/web/components/DatePicker.js +8 -8
  212. package/dist/web/components/DatePicker.js.map +1 -1
  213. package/dist/web/components/DatePicker.js.zyzz.json +1 -1
  214. package/dist/web/components/Dialog.css +1 -1
  215. package/dist/web/components/Dialog.d.ts +189 -20
  216. package/dist/web/components/Dialog.d.ts.map +1 -1
  217. package/dist/web/components/Dialog.js +94 -27
  218. package/dist/web/components/Dialog.js.map +1 -1
  219. package/dist/web/components/Dialog.js.zyzz.json +1 -1
  220. package/dist/web/components/Drawer.css +1 -1
  221. package/dist/web/components/Drawer.d.ts +7 -2
  222. package/dist/web/components/Drawer.d.ts.map +1 -1
  223. package/dist/web/components/Drawer.js +13 -7
  224. package/dist/web/components/Drawer.js.map +1 -1
  225. package/dist/web/components/Drawer.js.zyzz.json +1 -1
  226. package/dist/web/components/Empty.css +1 -1
  227. package/dist/web/components/Empty.d.ts +2 -0
  228. package/dist/web/components/Empty.d.ts.map +1 -1
  229. package/dist/web/components/Empty.js +7 -5
  230. package/dist/web/components/Empty.js.map +1 -1
  231. package/dist/web/components/Empty.js.zyzz.json +1 -1
  232. package/dist/web/components/Field.css +1 -1
  233. package/dist/web/components/Field.d.ts +16 -21
  234. package/dist/web/components/Field.d.ts.map +1 -1
  235. package/dist/web/components/Field.js +38 -36
  236. package/dist/web/components/Field.js.map +1 -1
  237. package/dist/web/components/Field.js.zyzz.json +1 -1
  238. package/dist/web/components/Fieldset.css +1 -1
  239. package/dist/web/components/Fieldset.d.ts +9 -18
  240. package/dist/web/components/Fieldset.d.ts.map +1 -1
  241. package/dist/web/components/Fieldset.js +12 -15
  242. package/dist/web/components/Fieldset.js.map +1 -1
  243. package/dist/web/components/Fieldset.js.zyzz.json +1 -1
  244. package/dist/web/components/Frame.css +1 -1
  245. package/dist/web/components/Frame.d.ts +13 -19
  246. package/dist/web/components/Frame.d.ts.map +1 -1
  247. package/dist/web/components/Frame.js +9 -11
  248. package/dist/web/components/Frame.js.map +1 -1
  249. package/dist/web/components/Frame.js.zyzz.json +1 -1
  250. package/dist/web/components/Gauge.css +1 -1
  251. package/dist/web/components/Gauge.d.ts +2 -2
  252. package/dist/web/components/Gauge.d.ts.map +1 -1
  253. package/dist/web/components/Gauge.js +6 -6
  254. package/dist/web/components/Gauge.js.map +1 -1
  255. package/dist/web/components/Gauge.js.zyzz.json +1 -1
  256. package/dist/web/components/Grid.css +1 -1
  257. package/dist/web/components/Grid.js +1 -3
  258. package/dist/web/components/Grid.js.zyzz.json +1 -1
  259. package/dist/web/components/Hex.css +1 -1
  260. package/dist/web/components/Hex.d.ts +10 -10
  261. package/dist/web/components/Hex.js +6 -6
  262. package/dist/web/components/Hex.js.map +1 -1
  263. package/dist/web/components/Hex.js.zyzz.json +1 -1
  264. package/dist/web/components/IconTile.css +1 -0
  265. package/dist/web/components/IconTile.d.ts +62 -0
  266. package/dist/web/components/IconTile.d.ts.map +1 -0
  267. package/dist/web/components/IconTile.js +28 -0
  268. package/dist/web/components/IconTile.js.map +1 -0
  269. package/dist/web/components/IconTile.js.zyzz.json +1 -0
  270. package/dist/web/components/Identicon.css +1 -1
  271. package/dist/web/components/Identicon.d.ts +1 -0
  272. package/dist/web/components/Identicon.d.ts.map +1 -1
  273. package/dist/web/components/Identicon.js +1 -3
  274. package/dist/web/components/Identicon.js.map +1 -1
  275. package/dist/web/components/Identicon.js.zyzz.json +1 -1
  276. package/dist/web/components/Inline.css +1 -1
  277. package/dist/web/components/Inline.js +1 -3
  278. package/dist/web/components/Inline.js.zyzz.json +1 -1
  279. package/dist/web/components/Inset.css +1 -1
  280. package/dist/web/components/Inset.js +1 -3
  281. package/dist/web/components/Inset.js.zyzz.json +1 -1
  282. package/dist/web/components/Kbd.css +1 -1
  283. package/dist/web/components/Kbd.d.ts +7 -7
  284. package/dist/web/components/Kbd.js +3 -3
  285. package/dist/web/components/Kbd.js.map +1 -1
  286. package/dist/web/components/Kbd.js.zyzz.json +1 -1
  287. package/dist/web/components/ListGroup.css +1 -0
  288. package/dist/web/components/ListGroup.d.ts +483 -0
  289. package/dist/web/components/ListGroup.d.ts.map +1 -0
  290. package/dist/web/components/ListGroup.js +266 -0
  291. package/dist/web/components/ListGroup.js.map +1 -0
  292. package/dist/web/components/ListGroup.js.zyzz.json +1 -0
  293. package/dist/web/components/LoadingDots.css +1 -1
  294. package/dist/web/components/LoadingDots.d.ts.map +1 -1
  295. package/dist/web/components/LoadingDots.js +3 -3
  296. package/dist/web/components/LoadingDots.js.map +1 -1
  297. package/dist/web/components/LoadingDots.js.zyzz.json +1 -1
  298. package/dist/web/components/Menu.css +1 -1
  299. package/dist/web/components/Menu.d.ts +39 -20
  300. package/dist/web/components/Menu.d.ts.map +1 -1
  301. package/dist/web/components/Menu.js +15 -10
  302. package/dist/web/components/Menu.js.map +1 -1
  303. package/dist/web/components/Menu.js.zyzz.json +1 -1
  304. package/dist/web/components/NetworkLogo.css +1 -0
  305. package/dist/web/components/NetworkLogo.d.ts +58 -0
  306. package/dist/web/components/NetworkLogo.d.ts.map +1 -0
  307. package/dist/web/components/NetworkLogo.js +40 -0
  308. package/dist/web/components/NetworkLogo.js.map +1 -0
  309. package/dist/web/components/NetworkLogo.js.zyzz.json +1 -0
  310. package/dist/web/components/NumberField.css +1 -1
  311. package/dist/web/components/NumberField.d.ts +3 -3
  312. package/dist/web/components/NumberField.d.ts.map +1 -1
  313. package/dist/web/components/NumberField.js +8 -8
  314. package/dist/web/components/NumberField.js.map +1 -1
  315. package/dist/web/components/NumberField.js.zyzz.json +1 -1
  316. package/dist/web/components/OtpField.css +1 -1
  317. package/dist/web/components/OtpField.d.ts +8 -68
  318. package/dist/web/components/OtpField.d.ts.map +1 -1
  319. package/dist/web/components/OtpField.js +13 -10
  320. package/dist/web/components/OtpField.js.map +1 -1
  321. package/dist/web/components/OtpField.js.zyzz.json +1 -1
  322. package/dist/web/components/Pagination.css +1 -1
  323. package/dist/web/components/Pagination.d.ts +16 -14
  324. package/dist/web/components/Pagination.d.ts.map +1 -1
  325. package/dist/web/components/Pagination.js +6 -6
  326. package/dist/web/components/Pagination.js.map +1 -1
  327. package/dist/web/components/Pagination.js.zyzz.json +1 -1
  328. package/dist/web/components/Popover.css +1 -1
  329. package/dist/web/components/Popover.js +5 -5
  330. package/dist/web/components/Popover.js.map +1 -1
  331. package/dist/web/components/Popover.js.zyzz.json +1 -1
  332. package/dist/web/components/Progress.css +1 -1
  333. package/dist/web/components/Progress.d.ts +2 -2
  334. package/dist/web/components/Progress.d.ts.map +1 -1
  335. package/dist/web/components/Progress.js +6 -6
  336. package/dist/web/components/Progress.js.map +1 -1
  337. package/dist/web/components/Progress.js.zyzz.json +1 -1
  338. package/dist/web/components/Qr.css +1 -1
  339. package/dist/web/components/Qr.d.ts +1 -1
  340. package/dist/web/components/Qr.js +1 -3
  341. package/dist/web/components/Qr.js.map +1 -1
  342. package/dist/web/components/Qr.js.zyzz.json +1 -1
  343. package/dist/web/components/RadioGroup.css +1 -1
  344. package/dist/web/components/RadioGroup.d.ts.map +1 -1
  345. package/dist/web/components/RadioGroup.js +4 -4
  346. package/dist/web/components/RadioGroup.js.map +1 -1
  347. package/dist/web/components/RadioGroup.js.zyzz.json +1 -1
  348. package/dist/web/components/SecretValue.css +1 -1
  349. package/dist/web/components/SecretValue.d.ts +7 -7
  350. package/dist/web/components/SecretValue.js +4 -4
  351. package/dist/web/components/SecretValue.js.map +1 -1
  352. package/dist/web/components/SecretValue.js.zyzz.json +1 -1
  353. package/dist/web/components/Select.css +1 -1
  354. package/dist/web/components/Select.d.ts +64 -2
  355. package/dist/web/components/Select.d.ts.map +1 -1
  356. package/dist/web/components/Select.js +24 -7
  357. package/dist/web/components/Select.js.map +1 -1
  358. package/dist/web/components/Select.js.zyzz.json +1 -1
  359. package/dist/web/components/Separator.css +1 -1
  360. package/dist/web/components/Separator.d.ts +17 -3
  361. package/dist/web/components/Separator.d.ts.map +1 -1
  362. package/dist/web/components/Separator.js +40 -5
  363. package/dist/web/components/Separator.js.map +1 -1
  364. package/dist/web/components/Separator.js.zyzz.json +1 -1
  365. package/dist/web/components/SidebarMenu.css +1 -1
  366. package/dist/web/components/SidebarMenu.d.ts +186 -39
  367. package/dist/web/components/SidebarMenu.d.ts.map +1 -1
  368. package/dist/web/components/SidebarMenu.js +91 -19
  369. package/dist/web/components/SidebarMenu.js.map +1 -1
  370. package/dist/web/components/SidebarMenu.js.zyzz.json +1 -1
  371. package/dist/web/components/Skeleton.css +1 -1
  372. package/dist/web/components/Skeleton.d.ts +5 -3
  373. package/dist/web/components/Skeleton.d.ts.map +1 -1
  374. package/dist/web/components/Skeleton.js +1 -3
  375. package/dist/web/components/Skeleton.js.map +1 -1
  376. package/dist/web/components/Skeleton.js.zyzz.json +1 -1
  377. package/dist/web/components/Slider.css +1 -1
  378. package/dist/web/components/Slider.d.ts.map +1 -1
  379. package/dist/web/components/Slider.js +6 -6
  380. package/dist/web/components/Slider.js.map +1 -1
  381. package/dist/web/components/Slider.js.zyzz.json +1 -1
  382. package/dist/web/components/Snippet.css +1 -1
  383. package/dist/web/components/Snippet.d.ts +27 -65
  384. package/dist/web/components/Snippet.d.ts.map +1 -1
  385. package/dist/web/components/Snippet.js +48 -11
  386. package/dist/web/components/Snippet.js.map +1 -1
  387. package/dist/web/components/Snippet.js.zyzz.json +1 -1
  388. package/dist/web/components/Spinner.css +1 -1
  389. package/dist/web/components/Spinner.d.ts +25 -16
  390. package/dist/web/components/Spinner.d.ts.map +1 -1
  391. package/dist/web/components/Spinner.js +13 -8
  392. package/dist/web/components/Spinner.js.map +1 -1
  393. package/dist/web/components/Spinner.js.zyzz.json +1 -1
  394. package/dist/web/components/SplitBar.css +1 -0
  395. package/dist/web/components/SplitBar.d.ts +99 -0
  396. package/dist/web/components/SplitBar.d.ts.map +1 -0
  397. package/dist/web/components/SplitBar.js +49 -0
  398. package/dist/web/components/SplitBar.js.map +1 -0
  399. package/dist/web/components/SplitBar.js.zyzz.json +1 -0
  400. package/dist/web/components/SplitButton.css +1 -1
  401. package/dist/web/components/SplitButton.d.ts +4 -1
  402. package/dist/web/components/SplitButton.d.ts.map +1 -1
  403. package/dist/web/components/SplitButton.js +2 -2
  404. package/dist/web/components/SplitButton.js.map +1 -1
  405. package/dist/web/components/SplitButton.js.zyzz.json +1 -1
  406. package/dist/web/components/Stack.css +1 -1
  407. package/dist/web/components/Stack.js +1 -3
  408. package/dist/web/components/Stack.js.zyzz.json +1 -1
  409. package/dist/web/components/StatusChip.css +1 -0
  410. package/dist/web/components/StatusChip.d.ts +162 -0
  411. package/dist/web/components/StatusChip.d.ts.map +1 -0
  412. package/dist/web/components/StatusChip.js +37 -0
  413. package/dist/web/components/StatusChip.js.map +1 -0
  414. package/dist/web/components/StatusChip.js.zyzz.json +1 -0
  415. package/dist/web/components/StatusRow.css +1 -0
  416. package/dist/web/components/StatusRow.d.ts +121 -0
  417. package/dist/web/components/StatusRow.d.ts.map +1 -0
  418. package/dist/web/components/StatusRow.js +75 -0
  419. package/dist/web/components/StatusRow.js.map +1 -0
  420. package/dist/web/components/StatusRow.js.zyzz.json +1 -0
  421. package/dist/web/components/Stepper.css +1 -1
  422. package/dist/web/components/Stepper.d.ts +10 -7
  423. package/dist/web/components/Stepper.d.ts.map +1 -1
  424. package/dist/web/components/Stepper.js +7 -6
  425. package/dist/web/components/Stepper.js.map +1 -1
  426. package/dist/web/components/Stepper.js.zyzz.json +1 -1
  427. package/dist/web/components/Surface.css +1 -1
  428. package/dist/web/components/Surface.d.ts +56 -119
  429. package/dist/web/components/Surface.d.ts.map +1 -1
  430. package/dist/web/components/Surface.js +19 -14
  431. package/dist/web/components/Surface.js.map +1 -1
  432. package/dist/web/components/Surface.js.zyzz.json +1 -1
  433. package/dist/web/components/Switch.css +1 -1
  434. package/dist/web/components/Switch.d.ts +14 -18
  435. package/dist/web/components/Switch.d.ts.map +1 -1
  436. package/dist/web/components/Switch.js +14 -16
  437. package/dist/web/components/Switch.js.map +1 -1
  438. package/dist/web/components/Switch.js.zyzz.json +1 -1
  439. package/dist/web/components/Table.css +1 -1
  440. package/dist/web/components/Table.d.ts +152 -67
  441. package/dist/web/components/Table.d.ts.map +1 -1
  442. package/dist/web/components/Table.js +91 -25
  443. package/dist/web/components/Table.js.map +1 -1
  444. package/dist/web/components/Table.js.zyzz.json +1 -1
  445. package/dist/web/components/Tabs.css +1 -1
  446. package/dist/web/components/Tabs.d.ts +49 -42
  447. package/dist/web/components/Tabs.d.ts.map +1 -1
  448. package/dist/web/components/Tabs.js +44 -15
  449. package/dist/web/components/Tabs.js.map +1 -1
  450. package/dist/web/components/Tabs.js.zyzz.json +1 -1
  451. package/dist/web/components/TempoLogo.css +1 -0
  452. package/dist/web/components/TempoLogo.d.ts +47 -0
  453. package/dist/web/components/TempoLogo.d.ts.map +1 -0
  454. package/dist/web/components/TempoLogo.js +48 -0
  455. package/dist/web/components/TempoLogo.js.map +1 -0
  456. package/dist/web/components/TempoLogo.js.zyzz.json +1 -0
  457. package/dist/web/components/TextInput.css +1 -0
  458. package/dist/web/components/{Input.d.ts → TextInput.d.ts} +27 -18
  459. package/dist/web/components/TextInput.d.ts.map +1 -0
  460. package/dist/web/components/TextInput.js +138 -0
  461. package/dist/web/components/TextInput.js.map +1 -0
  462. package/dist/web/components/TextInput.js.zyzz.json +1 -0
  463. package/dist/web/components/Textarea.css +1 -1
  464. package/dist/web/components/Textarea.d.ts +29 -74
  465. package/dist/web/components/Textarea.d.ts.map +1 -1
  466. package/dist/web/components/Textarea.js +5 -14
  467. package/dist/web/components/Textarea.js.map +1 -1
  468. package/dist/web/components/Textarea.js.zyzz.json +1 -1
  469. package/dist/web/components/Toast.css +1 -1
  470. package/dist/web/components/Toast.d.ts +4 -4
  471. package/dist/web/components/Toast.d.ts.map +1 -1
  472. package/dist/web/components/Toast.js +10 -10
  473. package/dist/web/components/Toast.js.map +1 -1
  474. package/dist/web/components/Toast.js.zyzz.json +1 -1
  475. package/dist/web/components/Token.css +1 -1
  476. package/dist/web/components/Token.d.ts +32 -90
  477. package/dist/web/components/Token.d.ts.map +1 -1
  478. package/dist/web/components/Token.js +26 -90
  479. package/dist/web/components/Token.js.map +1 -1
  480. package/dist/web/components/Token.js.zyzz.json +1 -1
  481. package/dist/web/components/TokenLogo.css +1 -0
  482. package/dist/web/components/TokenLogo.d.ts +117 -0
  483. package/dist/web/components/TokenLogo.d.ts.map +1 -0
  484. package/dist/web/components/TokenLogo.js +112 -0
  485. package/dist/web/components/TokenLogo.js.map +1 -0
  486. package/dist/web/components/TokenLogo.js.zyzz.json +1 -0
  487. package/dist/web/components/Tooltip.css +1 -1
  488. package/dist/web/components/Tooltip.js +2 -2
  489. package/dist/web/components/Tooltip.js.map +1 -1
  490. package/dist/web/components/Tooltip.js.zyzz.json +1 -1
  491. package/dist/web/components/VerificationCode.css +1 -0
  492. package/dist/web/components/VerificationCode.d.ts +47 -0
  493. package/dist/web/components/VerificationCode.d.ts.map +1 -0
  494. package/dist/web/components/VerificationCode.js +55 -0
  495. package/dist/web/components/VerificationCode.js.map +1 -0
  496. package/dist/web/components/VerificationCode.js.zyzz.json +1 -0
  497. package/dist/web/components/Visual.css +1 -0
  498. package/dist/web/components/Visual.d.ts +65 -0
  499. package/dist/web/components/Visual.d.ts.map +1 -0
  500. package/dist/web/components/Visual.js +51 -0
  501. package/dist/web/components/Visual.js.map +1 -0
  502. package/dist/web/components/Visual.js.zyzz.json +1 -0
  503. package/dist/web/components/internal/Field.css +1 -1
  504. package/dist/web/components/internal/Field.d.ts +41 -87
  505. package/dist/web/components/internal/Field.d.ts.map +1 -1
  506. package/dist/web/components/internal/Field.js +9 -8
  507. package/dist/web/components/internal/Field.js.map +1 -1
  508. package/dist/web/components/internal/Field.js.zyzz.json +1 -1
  509. package/dist/web/components/internal/InputGroup.css +1 -1
  510. package/dist/web/components/internal/InputGroup.d.ts +38 -99
  511. package/dist/web/components/internal/InputGroup.d.ts.map +1 -1
  512. package/dist/web/components/internal/InputGroup.js +6 -8
  513. package/dist/web/components/internal/InputGroup.js.map +1 -1
  514. package/dist/web/components/internal/InputGroup.js.zyzz.json +1 -1
  515. package/dist/web/components/internal/Listbox.css +1 -1
  516. package/dist/web/components/internal/Listbox.d.ts +8 -8
  517. package/dist/web/components/internal/Listbox.js +13 -13
  518. package/dist/web/components/internal/Listbox.js.map +1 -1
  519. package/dist/web/components/internal/Listbox.js.zyzz.json +1 -1
  520. package/dist/web/components/internal/RowDisabled.d.ts +3 -0
  521. package/dist/web/components/internal/RowDisabled.d.ts.map +1 -0
  522. package/dist/web/components/internal/RowDisabled.js +9 -0
  523. package/dist/web/components/internal/RowDisabled.js.map +1 -0
  524. package/dist/web/components/internal/RowsSize.d.ts +2 -3
  525. package/dist/web/components/internal/RowsSize.d.ts.map +1 -1
  526. package/dist/web/components/internal/RowsSize.js +3 -3
  527. package/dist/web/components/internal/RowsSize.js.map +1 -1
  528. package/dist/web/index.d.ts +18 -6
  529. package/dist/web/index.d.ts.map +1 -1
  530. package/dist/web/index.js +18 -6
  531. package/dist/web/index.js.map +1 -1
  532. package/dist/web/index.js.zyzz.json +1 -1
  533. package/dist/web/vars.d.ts +591 -699
  534. package/dist/web/vars.d.ts.map +1 -1
  535. package/dist/web/vars.js +7 -6
  536. package/dist/web/vars.js.map +1 -1
  537. package/dist/web/vars.js.zyzz.json +1 -1
  538. package/dist/web/zyzz.config.d.ts +2935 -3480
  539. package/dist/web/zyzz.config.d.ts.map +1 -1
  540. package/dist/web/zyzz.config.js +39 -3
  541. package/dist/web/zyzz.config.js.map +1 -1
  542. package/dist/web/zyzz.config.js.zyzz.json +1 -1
  543. package/package.json +180 -4
  544. package/src/fonts/Inter-cyrillic-ext.woff2 +0 -0
  545. package/src/fonts/Inter-cyrillic.woff2 +0 -0
  546. package/src/fonts/Inter-greek-ext.woff2 +0 -0
  547. package/src/fonts/Inter-greek.woff2 +0 -0
  548. package/src/fonts/Inter-latin-ext.woff2 +0 -0
  549. package/src/fonts/Inter-latin.woff2 +0 -0
  550. package/src/fonts/Inter-symbols.woff2 +0 -0
  551. package/src/fonts/Inter-vietnamese.woff2 +0 -0
  552. package/src/fonts/JetBrainsMono-Bold-latin.woff2 +0 -0
  553. package/src/fonts/JetBrainsMono-Bold-other.woff2 +0 -0
  554. package/src/fonts/JetBrainsMono-Bold.woff2 +0 -0
  555. package/src/fonts/JetBrainsMono-Medium-latin.woff2 +0 -0
  556. package/src/fonts/JetBrainsMono-Medium-other.woff2 +0 -0
  557. package/src/fonts/JetBrainsMono-Medium.woff2 +0 -0
  558. package/src/fonts/{Geist-OFL.txt → JetBrainsMono-OFL.txt} +4 -3
  559. package/src/fonts/JetBrainsMono-Regular-latin.woff2 +0 -0
  560. package/src/fonts/JetBrainsMono-Regular-other.woff2 +0 -0
  561. package/src/fonts/JetBrainsMono-Regular.woff2 +0 -0
  562. package/src/fonts/JetBrainsMono-SemiBold-latin.woff2 +0 -0
  563. package/src/fonts/JetBrainsMono-SemiBold-other.woff2 +0 -0
  564. package/src/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
  565. package/src/fonts/Pilat-Black-latin.woff2 +0 -0
  566. package/src/fonts/Pilat-Black-other.woff2 +0 -0
  567. package/src/fonts/Pilat-Black.woff2 +0 -0
  568. package/src/fonts/Pilat-Bold-latin.woff2 +0 -0
  569. package/src/fonts/Pilat-Bold-other.woff2 +0 -0
  570. package/src/fonts/Pilat-Bold.woff2 +0 -0
  571. package/src/fonts/Pilat-Book-latin.woff2 +0 -0
  572. package/src/fonts/Pilat-Book-other.woff2 +0 -0
  573. package/src/fonts/Pilat-Book.woff2 +0 -0
  574. package/src/fonts/Pilat-Demi-latin.woff2 +0 -0
  575. package/src/fonts/Pilat-Demi-other.woff2 +0 -0
  576. package/src/fonts/Pilat-Demi.woff2 +0 -0
  577. package/src/fonts/Pilat-Heavy-latin.woff2 +0 -0
  578. package/src/fonts/Pilat-Heavy-other.woff2 +0 -0
  579. package/src/fonts/Pilat-Heavy.woff2 +0 -0
  580. package/src/fonts/Pilat-Light-latin.woff2 +0 -0
  581. package/src/fonts/Pilat-Light-other.woff2 +0 -0
  582. package/src/fonts/Pilat-Light.woff2 +0 -0
  583. package/src/fonts/Pilat-Regular-latin.woff2 +0 -0
  584. package/src/fonts/Pilat-Regular-other.woff2 +0 -0
  585. package/src/fonts/Pilat-Regular.woff2 +0 -0
  586. package/src/fonts/Pilat-Thin-latin.woff2 +0 -0
  587. package/src/fonts/Pilat-Thin-other.woff2 +0 -0
  588. package/src/fonts/Pilat-Thin.woff2 +0 -0
  589. package/src/fonts/README.md +22 -1
  590. package/src/mobile/Haptics.ts +55 -0
  591. package/src/mobile/README.md +97 -1
  592. package/src/mobile/components/Button.tsx +3 -3
  593. package/src/mobile/components/IconButton.tsx +3 -3
  594. package/src/mobile/components/Spinner.tsx +1 -1
  595. package/src/mobile/components/TextButton.tsx +3 -3
  596. package/src/mobile/components/TextInput.tsx +1 -1
  597. package/src/mobile/components/Toast.tsx +1 -1
  598. package/src/mobile/components/Toggle.tsx +2 -2
  599. package/src/mobile/index.ts +2 -0
  600. package/src/mobile/useColor.ts +31 -0
  601. package/src/oxlint/rules/PreferComponent.ts +6 -6
  602. package/src/web/README.md +7 -7
  603. package/src/web/components/Accordion.tsx +8 -8
  604. package/src/web/components/AgentLogo.tsx +330 -0
  605. package/src/web/components/Alert.tsx +301 -0
  606. package/src/web/components/AlertDialog.tsx +47 -111
  607. package/src/web/components/Amount.tsx +6 -6
  608. package/src/web/components/AmountInput.tsx +59 -134
  609. package/src/web/components/AppShell.tsx +95 -36
  610. package/src/web/components/AssetChip.tsx +110 -0
  611. package/src/web/components/Autocomplete.tsx +4 -4
  612. package/src/web/components/Avatar.tsx +42 -119
  613. package/src/web/components/Badge.tsx +120 -0
  614. package/src/web/components/Banner.tsx +13 -11
  615. package/src/web/components/BarChart.tsx +427 -0
  616. package/src/web/components/Breadcrumbs.tsx +7 -7
  617. package/src/web/components/Button.tsx +156 -42
  618. package/src/web/components/ButtonGroup.tsx +59 -0
  619. package/src/web/components/Calendar.tsx +15 -13
  620. package/src/web/components/Checkbox.tsx +14 -11
  621. package/src/web/components/ChoiceGroup.tsx +107 -26
  622. package/src/web/components/Choicebox.tsx +30 -28
  623. package/src/web/components/Combobox.tsx +10 -8
  624. package/src/web/components/CopyButton.tsx +1 -1
  625. package/src/web/components/DatePicker.tsx +42 -61
  626. package/src/web/components/Dialog.tsx +267 -71
  627. package/src/web/components/Drawer.tsx +45 -18
  628. package/src/web/components/Empty.tsx +13 -8
  629. package/src/web/components/Field.tsx +78 -132
  630. package/src/web/components/Fieldset.tsx +16 -37
  631. package/src/web/components/Frame.tsx +13 -20
  632. package/src/web/components/Gauge.tsx +4 -4
  633. package/src/web/components/Hex.tsx +11 -11
  634. package/src/web/components/IconTile.tsx +57 -0
  635. package/src/web/components/Identicon.tsx +6 -1
  636. package/src/web/components/Kbd.tsx +8 -8
  637. package/src/web/components/ListGroup.tsx +776 -0
  638. package/src/web/components/LoadingDots.tsx +1 -0
  639. package/src/web/components/Menu.tsx +50 -35
  640. package/src/web/components/NetworkLogo.tsx +208 -0
  641. package/src/web/components/NumberField.tsx +18 -33
  642. package/src/web/components/OtpField.tsx +51 -102
  643. package/src/web/components/Pagination.tsx +16 -14
  644. package/src/web/components/Popover.tsx +8 -8
  645. package/src/web/components/Progress.tsx +7 -5
  646. package/src/web/components/Qr.tsx +1 -1
  647. package/src/web/components/RadioGroup.tsx +9 -7
  648. package/src/web/components/SecretValue.tsx +11 -11
  649. package/src/web/components/Select.tsx +87 -26
  650. package/src/web/components/Separator.tsx +95 -7
  651. package/src/web/components/SidebarMenu.tsx +294 -51
  652. package/src/web/components/Skeleton.tsx +5 -5
  653. package/src/web/components/Slider.tsx +12 -6
  654. package/src/web/components/Snippet.tsx +134 -75
  655. package/src/web/components/Spinner.tsx +38 -12
  656. package/src/web/components/SplitBar.tsx +158 -0
  657. package/src/web/components/SplitButton.tsx +26 -17
  658. package/src/web/components/StatusChip.tsx +138 -0
  659. package/src/web/components/StatusRow.tsx +162 -0
  660. package/src/web/components/Stepper.tsx +11 -8
  661. package/src/web/components/Surface.tsx +70 -95
  662. package/src/web/components/Switch.tsx +25 -29
  663. package/src/web/components/Table.tsx +281 -70
  664. package/src/web/components/Tabs.tsx +93 -50
  665. package/src/web/components/TempoLogo.tsx +89 -0
  666. package/src/web/components/{Input.tsx → TextInput.tsx} +87 -118
  667. package/src/web/components/Textarea.tsx +33 -78
  668. package/src/web/components/Toast.tsx +24 -22
  669. package/src/web/components/Token.tsx +106 -172
  670. package/src/web/components/TokenLogo.tsx +217 -0
  671. package/src/web/components/Tooltip.tsx +3 -3
  672. package/src/web/components/VerificationCode.tsx +97 -0
  673. package/src/web/components/Visual.tsx +166 -0
  674. package/src/web/components/internal/Field.ts +63 -72
  675. package/src/web/components/internal/InputGroup.ts +44 -101
  676. package/src/web/components/internal/Listbox.ts +20 -20
  677. package/src/web/components/internal/RowDisabled.ts +9 -0
  678. package/src/web/components/internal/RowsSize.ts +3 -5
  679. package/src/web/components/visuals/Passkey.svg +21 -0
  680. package/src/web/index.ts +18 -6
  681. package/src/web/logos/Base.svg +10 -0
  682. package/src/web/logos/Ethereum.svg +16 -0
  683. package/src/web/logos/HyperEVM.svg +27 -0
  684. package/src/web/logos/Polygon.svg +15 -0
  685. package/src/web/logos/README.md +14 -0
  686. package/src/web/logos/Solana.svg +11 -0
  687. package/src/web/logos/Tempo.svg +11 -0
  688. package/src/web/vars.ts +481 -526
  689. package/src/web/zyzz.config.ts +326 -12
  690. package/dist/fonts/GeistMono-Variable.woff2 +0 -0
  691. package/dist/mobile/internal/useColor.d.ts +0 -4
  692. package/dist/mobile/internal/useColor.d.ts.map +0 -1
  693. package/dist/mobile/internal/useColor.js +0 -12
  694. package/dist/mobile/internal/useColor.js.map +0 -1
  695. package/dist/web/components/AlertDialog.css +0 -1
  696. package/dist/web/components/Callout.css +0 -1
  697. package/dist/web/components/Callout.d.ts +0 -161
  698. package/dist/web/components/Callout.d.ts.map +0 -1
  699. package/dist/web/components/Callout.js +0 -83
  700. package/dist/web/components/Callout.js.map +0 -1
  701. package/dist/web/components/Callout.js.zyzz.json +0 -1
  702. package/dist/web/components/IconChip.css +0 -1
  703. package/dist/web/components/IconChip.d.ts +0 -53
  704. package/dist/web/components/IconChip.d.ts.map +0 -1
  705. package/dist/web/components/IconChip.js +0 -29
  706. package/dist/web/components/IconChip.js.map +0 -1
  707. package/dist/web/components/IconChip.js.zyzz.json +0 -1
  708. package/dist/web/components/Input.css +0 -1
  709. package/dist/web/components/Input.d.ts.map +0 -1
  710. package/dist/web/components/Input.js +0 -118
  711. package/dist/web/components/Input.js.map +0 -1
  712. package/dist/web/components/Input.js.zyzz.json +0 -1
  713. package/dist/web/components/Rows.css +0 -1
  714. package/dist/web/components/Rows.d.ts +0 -432
  715. package/dist/web/components/Rows.d.ts.map +0 -1
  716. package/dist/web/components/Rows.js +0 -160
  717. package/dist/web/components/Rows.js.map +0 -1
  718. package/dist/web/components/Rows.js.zyzz.json +0 -1
  719. package/dist/web/components/Tag.css +0 -1
  720. package/dist/web/components/Tag.d.ts +0 -171
  721. package/dist/web/components/Tag.d.ts.map +0 -1
  722. package/dist/web/components/Tag.js +0 -52
  723. package/dist/web/components/Tag.js.map +0 -1
  724. package/dist/web/components/Tag.js.zyzz.json +0 -1
  725. package/dist/web/components/internal/FieldVariant.d.ts +0 -4
  726. package/dist/web/components/internal/FieldVariant.d.ts.map +0 -1
  727. package/dist/web/components/internal/FieldVariant.js +0 -4
  728. package/dist/web/components/internal/FieldVariant.js.map +0 -1
  729. package/src/fonts/GeistMono-Variable.woff2 +0 -0
  730. package/src/mobile/internal/useColor.ts +0 -13
  731. package/src/web/components/Callout.tsx +0 -241
  732. package/src/web/components/IconChip.tsx +0 -54
  733. package/src/web/components/Rows.tsx +0 -529
  734. package/src/web/components/Tag.tsx +0 -149
  735. package/src/web/components/internal/FieldVariant.ts +0 -6
@@ -1,7 +1,7 @@
1
- import * as Haptics from 'expo-haptics'
2
1
  import type { ComponentPropsWithRef } from 'react'
3
2
  import { Pressable, View } from 'react-native'
4
3
  import type * as zyzz from 'zyzz'
4
+ import * as Haptics from '../Haptics.js'
5
5
  import { variables as core } from '../primitives.js'
6
6
  import { style, variants } from '../zyzz.config.js'
7
7
 
@@ -33,7 +33,7 @@ export function Toggle(props: Toggle.Props) {
33
33
  {...pressableProps}
34
34
  disabled={disabled}
35
35
  onPress={(event) => {
36
- void Haptics.selectionAsync()
36
+ Haptics.select()
37
37
  props.onPress?.(event)
38
38
  onValueChange?.(value !== true)
39
39
  }}
@@ -2,6 +2,7 @@ export { Avatar } from './components/Avatar.js'
2
2
  export { Badge } from './components/Badge.js'
3
3
  export { Button } from './components/Button.js'
4
4
  export { CodeInput } from './components/CodeInput.js'
5
+ export * as Haptics from './Haptics.js'
5
6
  export { IconButton } from './components/IconButton.js'
6
7
  export { Skeleton } from './components/Skeleton.js'
7
8
  export { Spinner } from './components/Spinner.js'
@@ -9,5 +10,6 @@ export { TextButton } from './components/TextButton.js'
9
10
  export { TextInput } from './components/TextInput.js'
10
11
  export { Toast } from './components/Toast.js'
11
12
  export { Toggle } from './components/Toggle.js'
13
+ export { useColor } from './useColor.js'
12
14
  export { inverse, variables } from './vars.js'
13
15
  export { Provider, style, variants, vars } from './zyzz.config.js'
@@ -0,0 +1,31 @@
1
+ /** Resolves a compiled style's color for native props that take a color instead of a style. @module */
2
+ import type { ColorValue } from 'react-native'
3
+ import { useStyles } from 'zyzz/react-native'
4
+
5
+ /**
6
+ * Returns the `color` of a compiled style, resolved against the nearest `Provider`. Use it for
7
+ * props that take a color value instead of a style, such as SVG and icon fills, `ActivityIndicator`
8
+ * and `RefreshControl` tints, and `TextInput` placeholder colors.
9
+ *
10
+ * On iOS, a `system` color scheme resolves to a dynamic color object that switches with the device
11
+ * appearance, so pass the value through rather than reading it as a string.
12
+ *
13
+ * @throws {Error} If the style sets no `color`.
14
+ *
15
+ * @example
16
+ * namespace styles {
17
+ * export const icon = style({ color: 'content.secondary' })
18
+ * }
19
+ *
20
+ * function CopyIcon() {
21
+ * return <Copy color={useColor(styles.icon().style)} />
22
+ * }
23
+ */
24
+ export function useColor(
25
+ style: Readonly<Record<string, string | number | undefined>> | undefined,
26
+ ): ColorValue {
27
+ const color: unknown = useStyles().style(style).color
28
+ if (typeof color === 'string') return color
29
+ if (color && typeof color === 'object') return color as ColorValue
30
+ throw new Error('Expected a compiled style with a color')
31
+ }
@@ -21,17 +21,17 @@ const inputs: Record<string, string> = {
21
21
  button: 'Button',
22
22
  checkbox: 'Checkbox',
23
23
  date: 'DatePicker',
24
- email: 'Input',
24
+ email: 'TextInput',
25
25
  number: 'NumberField',
26
- password: 'Input',
26
+ password: 'TextInput',
27
27
  radio: 'RadioGroup',
28
28
  range: 'Slider',
29
29
  reset: 'Button',
30
- search: 'Input',
30
+ search: 'TextInput',
31
31
  submit: 'Button',
32
- tel: 'Input',
33
- text: 'Input',
34
- url: 'Input',
32
+ tel: 'TextInput',
33
+ text: 'TextInput',
34
+ url: 'TextInput',
35
35
  }
36
36
 
37
37
  /**
package/src/web/README.md CHANGED
@@ -1,17 +1,17 @@
1
1
  # Web
2
2
 
3
- Use `@tempoxyz/ds` with a Zyzz plugin for product interfaces. Web variables start from a copy of [Zyzz's default variables](https://zyzz.style/vars), and typography sets, with Inter as the sans face.
3
+ Use `@tempoxyz/ds` with a Zyzz plugin for product interfaces. Web variables pair a scale of raw colors and sizes with tokens named for their role.
4
4
 
5
5
  ```tsx
6
6
  import { style } from '@tempoxyz/ds'
7
7
 
8
8
  namespace styles {
9
9
  export const panel = style({
10
- backgroundColor: 'background.surface',
11
- borderRadius: '8',
12
- color: 'foreground',
10
+ backgroundColor: 'background.elevated',
11
+ borderRadius: 'xs',
12
+ color: 'content.primary',
13
13
  padding: '24',
14
- typography: 'copy.14',
14
+ typography: 'body.b2',
15
15
  })
16
16
  }
17
17
 
@@ -35,9 +35,9 @@ export default defineConfig({
35
35
 
36
36
  ## Variables
37
37
 
38
- Tokens use Zyzz's default names, such as `foreground`, `background.primary`, `gray.400`, and typography sets such as `heading.32` and `copy.14`. Size scales name each step by its size in pixels, so spacing `'24'` is `1.5rem` and radius `'8'` is `0.5rem`. Shadow keys name the largest blur radius, such as `'6'`. Weight, tracking, and leading come from the typography sets. Light and dark values follow the inherited `color-scheme`. [`vars.ts`](./vars.ts) lists every value.
38
+ The scales hold the `neutral` and `accent` colors, such as `neutral.shade.040` and `accent.blue.background`, and the `spacing` steps, so spacing `'24'` is `1.5rem`. Tokens named for their role derive from them, such as `content.primary`, `container.regular`, `line.primary`, `radius.xs`, and `borderWidth.thin`. Light and dark values follow the inherited `color-scheme`. [`vars.ts`](./vars.ts) lists every value.
39
39
 
40
- Typography sets keep Zyzz's sizes, weights, and line heights, set in Inter with tracking from Inter's dynamic metrics. Mono sets keep Geist Mono. The plugin emits the bundled Inter and Geist Mono faces.
40
+ Typography sets bundle a family, size, weight, tracking, and leading, such as `body.b2`, `heading.h1`, and `mono.m1`. The plugin emits the bundled Inter, Pilat, and JetBrains Mono faces, so only the HB Set display face falls back, to Pilat.
41
41
 
42
42
  An app that needs tokens of its own extends `variables` in its own Zyzz config, and applies that config's `vars()` class beside the library's.
43
43
 
@@ -133,7 +133,7 @@ export namespace Accordion {
133
133
 
134
134
  namespace styles {
135
135
  export const content = style(
136
- { color: 'gray.900', paddingBottom: '16', typography: 'copy.14' },
136
+ { color: 'content.secondary', paddingBottom: '16', typography: 'body.b2' },
137
137
  { id: 'tds/web/accordion/content' },
138
138
  )
139
139
 
@@ -157,7 +157,7 @@ namespace styles {
157
157
  {
158
158
  base: {
159
159
  borderBottom: '1px solid !custom',
160
- borderColor: 'grayAlpha.200',
160
+ borderColor: 'line.secondary',
161
161
  },
162
162
  },
163
163
  { id: 'tds/web/accordion/item' },
@@ -197,7 +197,7 @@ namespace styles {
197
197
  '& [data-accordion-trigger]': {
198
198
  minHeight: '56',
199
199
  paddingBlock: '12',
200
- typography: 'button.16',
200
+ typography: 'body.b1Strong',
201
201
  },
202
202
  },
203
203
  },
@@ -207,7 +207,7 @@ namespace styles {
207
207
  '& [data-accordion-trigger]': {
208
208
  minHeight: '32',
209
209
  paddingBlock: '4',
210
- typography: 'button.12',
210
+ typography: 'body.b3Strong',
211
211
  },
212
212
  },
213
213
  },
@@ -223,9 +223,9 @@ namespace styles {
223
223
  alignItems: 'center',
224
224
  backgroundColor: 'transparent !custom',
225
225
  border: 'none !custom',
226
- borderRadius: '8',
226
+ borderRadius: '2xs',
227
227
  boxSizing: 'border-box',
228
- color: 'foreground',
228
+ color: 'content.primary',
229
229
  columnGap: '16',
230
230
  cursor: 'pointer',
231
231
  display: 'flex',
@@ -242,10 +242,10 @@ namespace styles {
242
242
  transitionProperty: 'opacity, outline-color, outline-offset',
243
243
  transitionTimingFunction: 'snappy',
244
244
  // Weight overrides the typography token, so it stays after it.
245
- typography: 'button.14',
245
+ typography: 'body.b2Strong',
246
246
  width: '100% !custom',
247
247
  selectors: {
248
- '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2' },
248
+ '&:focus-visible': { outlineColor: 'border.focus', outlineOffset: '2' },
249
249
  '&[data-disabled]': { cursor: 'default', opacity: 'disabled' },
250
250
  },
251
251
  '@media (prefers-reduced-motion: reduce)': { transitionProperty: 'opacity, outline-color' },
@@ -0,0 +1,330 @@
1
+ import { type ComponentPropsWithRef, type ReactNode, useId } from 'react'
2
+ import type * as zyzz from 'zyzz'
3
+ import { variants } from '../zyzz.config.js'
4
+
5
+ // The Agent Logo marks from the TDPS page of Web-Wallet, with each clip and gradient ID suffixed
6
+ // per instance. A brand tile fills with the agent's color and draws its white mark in
7
+ // `currentColor`. An outlined tile draws the mark in its own colors, or in `currentColor` for a
8
+ // black mark.
9
+ const agents = {
10
+ amp: {
11
+ frame: 'outlined',
12
+ mark: (id) => (
13
+ <>
14
+ <g clipPath={`url(#clip0_670_2873-${id})`}>
15
+ <path
16
+ d="M9.42887 14.4874L7.51824 14.9999L6.20762 10.1105L2.62137 13.6968L1.21449 12.2899L4.78824 8.71554L-0.0673828 7.41429L0.445117 5.50366L7.50387 7.42866L9.42887 14.4874Z"
17
+ fill="#F34E3F"
18
+ />
19
+ <path
20
+ d="M12.1909 11.7262L10.2803 12.2387L8.67781 6.25556L2.69531 4.65306L3.20719 2.74243L10.2666 4.66681L12.1916 11.7262H12.1909Z"
21
+ fill="#F34E3F"
22
+ />
23
+ <path
24
+ d="M14.9331 8.98375L13.0225 9.49625L11.4194 3.51375L5.4375 1.91062L5.95 0L13.0094 1.925L14.9331 8.98375Z"
25
+ fill="#F34E3F"
26
+ />
27
+ </g>
28
+ <defs>
29
+ <clipPath id={`clip0_670_2873-${id}`}>
30
+ <rect fill="white" height="15" width="15" />
31
+ </clipPath>
32
+ </defs>
33
+ </>
34
+ ),
35
+ viewBox: '0 0 15 15',
36
+ },
37
+ claude: {
38
+ frame: 'brand',
39
+ mark: () => (
40
+ <path
41
+ d="M3.45602 8.92288L5.75096 7.6361L5.78936 7.52395L5.75096 7.46197H5.63872L5.25476 7.43836L3.94336 7.40294L2.80623 7.35572L1.70455 7.29669L1.42691 7.23767L1.16699 6.89531L1.19357 6.72413L1.42691 6.56771L1.76066 6.59722L2.49906 6.6474L3.60665 6.72413L4.41003 6.77135L5.60033 6.89531H5.78936L5.81594 6.81857L5.75096 6.77135L5.70075 6.72413L4.55476 5.94793L3.31425 5.12745L2.66446 4.65524L2.31298 4.41618L2.13577 4.19188L2.05898 3.70195L2.37796 3.35074L2.80623 3.38026L2.91552 3.40977L3.34969 3.74327L4.27712 4.46045L5.48809 5.35176L5.6653 5.49932L5.73619 5.44915L5.74505 5.41373L5.6653 5.28092L5.00665 4.09153L4.3037 2.88148L3.99062 2.37975L3.90792 2.07871C3.87838 1.95476 3.85771 1.85146 3.85771 1.72455L4.221 1.23168L4.42184 1.16675L4.90623 1.23168L5.11003 1.40876L5.4113 2.09642L5.89864 3.17957L6.65476 4.65229L6.87628 5.08909L6.99442 5.49342L7.03872 5.61738H7.11552V5.54654L7.17754 4.71722L7.29273 3.699L7.40497 2.3886L7.44336 2.01969L7.62649 1.57699L7.98978 1.33793L8.27332 1.47369L8.50666 1.80719L8.47417 2.02264L8.33535 2.9228L8.06362 4.33354L7.8864 5.27797H7.98978L8.10792 5.15992L8.5864 4.52538L9.38978 3.52192L9.74421 3.12349L10.1577 2.68374L10.4235 2.47419H10.9256L11.2948 3.02314L11.1294 3.5898L10.6126 4.245L10.1843 4.79985L9.56995 5.62623L9.18598 6.28733L9.22142 6.34046L9.31298 6.3316L10.7012 6.03647L11.4514 5.90071L12.3463 5.74724L12.751 5.93612L12.7953 6.12796L12.6358 6.52049L11.6788 6.7566L10.5564 6.9809L8.88471 7.37638L8.86404 7.39113L8.88767 7.42065L9.64083 7.49148L9.96277 7.50919H10.7514L12.2193 7.61839L12.6033 7.8722L12.8337 8.1821L12.7953 8.4182L12.2045 8.71924L11.4071 8.53035L9.54632 8.08765L8.90834 7.92828H8.81974V7.9814L9.35138 8.50084L10.3261 9.38034L11.5459 10.5137L11.6079 10.794L11.4514 11.0154L11.286 10.9918L10.2138 10.1861L9.80033 9.82304L8.86404 9.03503H8.80201V9.11767L9.01763 9.43347L10.1577 11.1452L10.2168 11.6706L10.1341 11.8418L9.83872 11.9451L9.51383 11.886L8.84632 10.9505L8.15813 9.89683L7.60286 8.9524L7.53493 8.99076L7.20708 12.5176L7.05349 12.6977L6.69906 12.8334L6.4037 12.6091L6.24716 12.2461L6.4037 11.5289L6.59273 10.5933L6.74632 9.84961L6.88514 8.92584L6.96784 8.6189L6.96193 8.59824L6.894 8.60709L6.19695 9.56333L5.13661 10.9947L4.29779 11.8919L4.09695 11.9716L3.74843 11.7916L3.78092 11.4699L3.97585 11.1836L5.13661 9.70794L5.83661 8.79302L6.28851 8.26473L6.28556 8.188H6.25898L3.17543 10.189L2.62606 10.2598L2.38978 10.0385L2.41931 9.67548L2.53155 9.55742L3.45898 8.91993L3.45602 8.92288Z"
42
+ fill="currentColor"
43
+ />
44
+ ),
45
+ viewBox: '0 0 14 14',
46
+ },
47
+ cli: {
48
+ frame: 'brand',
49
+ mark: () => (
50
+ <>
51
+ <path
52
+ d="M2.1875 2.77083C2.1875 2.44867 2.44867 2.1875 2.77083 2.1875H11.2292C11.5513 2.1875 11.8125 2.44867 11.8125 2.77083V11.2292C11.8125 11.5513 11.5513 11.8125 11.2292 11.8125H2.77083C2.44867 11.8125 2.1875 11.5513 2.1875 11.2292V2.77083Z"
53
+ stroke="currentColor"
54
+ strokeLinecap="round"
55
+ strokeLinejoin="round"
56
+ strokeWidth="0.875"
57
+ />
58
+ <path
59
+ d="M4.22949 4.52075L5.25033 5.54159L4.22949 6.56242"
60
+ stroke="currentColor"
61
+ strokeLinecap="round"
62
+ strokeLinejoin="round"
63
+ strokeWidth="0.875"
64
+ />
65
+ </>
66
+ ),
67
+ viewBox: '0 0 14 14',
68
+ },
69
+ codex: {
70
+ frame: 'codex',
71
+ mark: (id) => (
72
+ <>
73
+ <path
74
+ d="M7.17552 2.64735C7.74755 2.412 8.3703 2.32697 8.98448 2.40035C9.77615 2.49139 10.4815 2.82785 11.1006 3.40973C11.1085 3.41764 11.1196 3.42319 11.1299 3.42635C11.1411 3.4291 11.1528 3.4291 11.1639 3.42635C11.9688 3.21851 12.8207 3.29542 13.5754 3.64406L13.6126 3.66148L13.7044 3.7066C14.4943 4.10696 15.1104 4.78249 15.4366 5.60581C15.602 6.00956 15.6844 6.42994 15.6859 6.86852C15.6978 7.1947 15.6621 7.52087 15.5799 7.83673C15.5758 7.85267 15.5759 7.86939 15.58 7.88531C15.5842 7.90123 15.5923 7.91584 15.6036 7.92777C16.0739 8.40831 16.3858 8.98069 16.5401 9.64569C16.7689 10.7738 16.5346 11.7911 15.8379 12.6968L15.7303 12.8282C15.2689 13.3563 14.6633 13.7383 13.9878 13.927C13.9732 13.9313 13.9597 13.939 13.9486 13.9495C13.9374 13.9599 13.9289 13.9728 13.9237 13.9872C13.7725 14.4234 13.6205 14.7971 13.3379 15.1699C12.6254 16.1096 11.5788 16.6314 10.4 16.625C9.46027 16.6203 8.62744 16.2767 7.90069 15.5943C7.88975 15.584 7.87629 15.5769 7.86169 15.5735C7.84709 15.5702 7.83186 15.5708 7.81756 15.5753C7.5104 15.6742 7.20006 15.6885 6.8644 15.6845C6.32976 15.6802 5.80314 15.5541 5.3246 15.3156C4.82334 15.0672 4.38692 14.7053 4.05002 14.2587C3.92969 14.0988 3.81015 13.9484 3.72227 13.7703C3.60231 13.5258 3.50428 13.2712 3.42935 13.0095C3.27118 12.4138 3.26737 11.7877 3.41827 11.1902C3.42323 11.176 3.42486 11.1608 3.42302 11.1459C3.42031 11.1312 3.41279 11.1178 3.40165 11.1079C3.03595 10.7377 2.75644 10.2914 2.58306 9.80085C2.46776 9.49866 2.4007 9.18021 2.38435 8.85719C2.35559 8.43173 2.39325 8.00439 2.49598 7.59052C2.76277 6.71019 3.2734 6.01906 4.02627 5.51794C4.1941 5.40631 4.35323 5.31923 4.50206 5.25669C4.67227 5.18623 4.84248 5.12685 5.01348 5.07698C5.0257 5.07319 5.03679 5.06643 5.04577 5.05732C5.05475 5.0482 5.06133 5.037 5.06494 5.02473C5.19478 4.55847 5.41807 4.12348 5.72123 3.74619C6.10339 3.2609 6.6043 2.88243 7.17552 2.64735ZM9.9321 11.0113C9.80345 11.0185 9.68244 11.0747 9.59391 11.1684C9.50539 11.262 9.45606 11.386 9.45606 11.5148C9.45606 11.6437 9.50539 11.7676 9.59391 11.8613C9.68244 11.9549 9.80345 12.0111 9.9321 12.0183H12.8106C12.8791 12.0222 12.9477 12.012 13.0121 11.9884C13.0765 11.9648 13.1355 11.9284 13.1853 11.8812C13.2352 11.8341 13.2749 11.7773 13.302 11.7143C13.3291 11.6513 13.3431 11.5834 13.3431 11.5148C13.3431 11.4462 13.3291 11.3783 13.302 11.3153C13.2749 11.2523 13.2352 11.1955 13.1853 11.1484C13.1355 11.1012 13.0765 11.0648 13.0121 11.0412C12.9477 11.0176 12.8791 11.0075 12.8106 11.0113H9.9321ZM6.69894 7.3071C6.63043 7.19552 6.5212 7.11495 6.39436 7.08245C6.26752 7.04995 6.13301 7.06806 6.01928 7.13294C5.90555 7.19783 5.82152 7.30441 5.78495 7.43014C5.74839 7.55586 5.76216 7.69089 5.82335 7.80664L6.83035 9.56731L5.8281 11.2583C5.79437 11.3152 5.77217 11.3782 5.76279 11.4437C5.7534 11.5092 5.75701 11.5759 5.7734 11.64C5.7898 11.7041 5.81865 11.7644 5.85833 11.8173C5.89801 11.8703 5.94773 11.9149 6.00465 11.9486C6.06157 11.9824 6.12457 12.0046 6.19007 12.014C6.25557 12.0233 6.32227 12.0197 6.38637 12.0033C6.45048 11.987 6.51073 11.9581 6.56368 11.9184C6.61663 11.8787 6.66124 11.829 6.69498 11.7721L7.84606 9.82856C7.89145 9.75199 7.91572 9.66476 7.91642 9.57576C7.91711 9.48676 7.8942 9.39916 7.85002 9.32189L6.69894 7.3071Z"
75
+ fill={`url(#paint0_linear_670_2842-${id})`}
76
+ />
77
+ <defs>
78
+ <linearGradient
79
+ gradientUnits="userSpaceOnUse"
80
+ id={`paint0_linear_670_2842-${id}`}
81
+ x1="9.49985"
82
+ x2="9.49985"
83
+ y1="2.37502"
84
+ y2="16.625"
85
+ >
86
+ <stop stopColor="#B1A7FF" />
87
+ <stop offset="0.5" stopColor="#7A9DFF" />
88
+ <stop offset="1" stopColor="#3941FF" />
89
+ </linearGradient>
90
+ </defs>
91
+ </>
92
+ ),
93
+ viewBox: '0 0 19 19',
94
+ },
95
+ cursor: {
96
+ frame: 'brand',
97
+ mark: () => (
98
+ <path
99
+ d="M12.16 3.77448L7.25599 0.943203C7.09852 0.852266 6.90421 0.852266 6.74674 0.943203L1.84301 3.77448C1.71064 3.85091 1.62891 3.99225 1.62891 4.14536V9.85465C1.62891 10.0075 1.71064 10.1491 1.84301 10.2255L6.74697 13.0568C6.90445 13.1477 7.09876 13.1477 7.25623 13.0568L12.1602 10.2255C12.2926 10.1491 12.3743 10.0077 12.3743 9.85465V4.14536C12.3743 3.99249 12.2926 3.85091 12.1602 3.77448H12.16ZM11.8519 4.3742L7.11786 12.5738C7.08586 12.6291 7.00138 12.6065 7.00138 12.5425V7.17347C7.00138 7.06619 6.94404 6.96695 6.85103 6.91308L2.20147 4.2287C2.14622 4.19671 2.16878 4.1122 2.23278 4.1122H11.7009C11.8354 4.1122 11.9194 4.25794 11.8521 4.37444H11.8519V4.3742Z"
100
+ fill="currentColor"
101
+ />
102
+ ),
103
+ viewBox: '0 0 14 14',
104
+ },
105
+ gemini: {
106
+ frame: 'outlined',
107
+ mark: (id) => {
108
+ const d =
109
+ 'M12.8851 6.77177C11.8469 6.32977 10.9028 5.6931 10.1039 4.89614C8.99131 3.78135 8.19757 2.38895 7.80514 0.863643C7.78792 0.795897 7.74861 0.735822 7.69343 0.692913C7.63825 0.650005 7.57035 0.626709 7.50045 0.626709C7.43055 0.626709 7.36264 0.650005 7.30746 0.692913C7.25228 0.735822 7.21298 0.795897 7.19576 0.863643C6.80249 2.38876 6.00862 3.78099 4.89639 4.89614C4.09741 5.69301 3.15335 6.32966 2.11514 6.77177C1.70889 6.94677 1.29139 7.08739 0.863886 7.19552C0.795725 7.21227 0.735148 7.25138 0.691842 7.30662C0.648535 7.36186 0.625 7.43002 0.625 7.50021C0.625 7.57039 0.648535 7.63856 0.691842 7.69379C0.735148 7.74903 0.795725 7.78815 0.863886 7.80489C1.29139 7.91239 1.70764 8.05302 2.11514 8.22802C3.15341 8.67002 4.09749 9.30668 4.89639 10.1036C6.00926 11.2186 6.80322 12.6112 7.19576 14.1368C7.21251 14.2049 7.25163 14.2655 7.30686 14.3088C7.3621 14.3521 7.43026 14.3757 7.50045 14.3757C7.57064 14.3757 7.6388 14.3521 7.69403 14.3088C7.74927 14.2655 7.78839 14.2049 7.80514 14.1368C7.91264 13.7086 8.05326 13.2924 8.22826 12.8849C8.67024 11.8466 9.3069 10.9025 10.1039 10.1036C11.2189 8.99102 12.6115 8.19728 14.137 7.80489C14.2048 7.78767 14.2648 7.74837 14.3077 7.69319C14.3506 7.63801 14.3739 7.5701 14.3739 7.50021C14.3739 7.43031 14.3506 7.3624 14.3077 7.30722C14.2648 7.25204 14.2048 7.21274 14.137 7.19552C13.7091 7.08786 13.2905 6.94616 12.8851 6.77177Z'
110
+
111
+ return (
112
+ <>
113
+ <path d={d} fill="#3186FF" />
114
+ <path d={d} fill={`url(#paint0_linear_670_2851-${id})`} />
115
+ <path d={d} fill={`url(#paint1_linear_670_2851-${id})`} />
116
+ <path d={d} fill={`url(#paint2_linear_670_2851-${id})`} />
117
+ <defs>
118
+ <linearGradient
119
+ gradientUnits="userSpaceOnUse"
120
+ id={`paint0_linear_670_2851-${id}`}
121
+ x1="4.37514"
122
+ x2="6.87514"
123
+ y1="9.68739"
124
+ y2="7.49989"
125
+ >
126
+ <stop stopColor="#08B962" />
127
+ <stop offset="1" stopColor="#08B962" stopOpacity="0" />
128
+ </linearGradient>
129
+ <linearGradient
130
+ gradientUnits="userSpaceOnUse"
131
+ id={`paint1_linear_670_2851-${id}`}
132
+ x1="5.00014"
133
+ x2="7.18764"
134
+ y1="3.43739"
135
+ y2="6.87489"
136
+ >
137
+ <stop stopColor="#F94543" />
138
+ <stop offset="1" stopColor="#F94543" stopOpacity="0" />
139
+ </linearGradient>
140
+ <linearGradient
141
+ gradientUnits="userSpaceOnUse"
142
+ id={`paint2_linear_670_2851-${id}`}
143
+ x1="2.18764"
144
+ x2="10.9376"
145
+ y1="8.43739"
146
+ y2="7.49989"
147
+ >
148
+ <stop stopColor="#FABC12" />
149
+ <stop offset="0.46" stopColor="#FABC12" stopOpacity="0" />
150
+ </linearGradient>
151
+ </defs>
152
+ </>
153
+ )
154
+ },
155
+ viewBox: '0 0 15 15',
156
+ },
157
+ muse: {
158
+ frame: 'brand',
159
+ mark: () => (
160
+ <path
161
+ clipRule="evenodd"
162
+ d="M12.3962 7.00008C8.64905 7.00008 7.00033 8.64881 7.00033 12.3959C7.00033 8.64881 5.3516 7.00008 1.60449 7.00008C5.3516 7.00008 7.00033 5.35135 7.00033 1.60425C7.00033 5.35135 8.64905 7.00008 12.3962 7.00008Z"
163
+ fillRule="evenodd"
164
+ stroke="currentColor"
165
+ strokeLinejoin="round"
166
+ strokeWidth="0.875"
167
+ />
168
+ ),
169
+ viewBox: '0 0 14 14',
170
+ },
171
+ opencode: {
172
+ frame: 'outlined',
173
+ // Figma draws the mark black, which would vanish on the dark elevated tile.
174
+ mark: () => (
175
+ <path
176
+ clipRule="evenodd"
177
+ d="M10 3.75H5V11.25H10V3.75ZM12.5 13.75H2.5V1.25H12.5V13.75Z"
178
+ fill="currentColor"
179
+ fillRule="evenodd"
180
+ />
181
+ ),
182
+ viewBox: '0 0 15 15',
183
+ },
184
+ } satisfies Record<
185
+ string,
186
+ { frame: 'brand' | 'codex' | 'outlined'; mark: (id: string) => ReactNode; viewBox: string }
187
+ >
188
+
189
+ /**
190
+ * The logo of an AI agent that works with a wallet, such as Claude or Codex: its mark on a 24 or
191
+ * 28px rounded tile, rendered as a `span`. It is hidden from assistive technology unless it has an
192
+ * `aria-label` or `aria-labelledby`.
193
+ *
194
+ * - Show the agent's name beside the logo, since many people know agents by name alone.
195
+ * - Use the 24px size in rows and the 28px size where the agent leads a section.
196
+ * - Use `Avatar` for a person and `TokenLogo` for a token.
197
+ *
198
+ * @example
199
+ * <AgentLogo agent="claude" />
200
+ * <AgentLogo agent="codex" aria-label="Codex" size="28" />
201
+ *
202
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles/img_role | MDN img role}
203
+ * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html | WCAG 2.2 Non-text Content}
204
+ */
205
+ export function AgentLogo(props: AgentLogo.Props) {
206
+ const { agent, className, size, vars, ...attributes } = props
207
+ const id = useId()
208
+ const labelled = props['aria-label'] || props['aria-labelledby']
209
+ const entry = agents[agent]
210
+
211
+ return (
212
+ <span
213
+ aria-hidden={labelled ? undefined : true}
214
+ role={labelled ? 'img' : undefined}
215
+ {...attributes}
216
+ data-agent={agent}
217
+ {...styles.tile({ className, frame: entry.frame, size, style: props.style, vars })}
218
+ >
219
+ <svg
220
+ aria-hidden="true"
221
+ fill="none"
222
+ viewBox={entry.viewBox}
223
+ xmlns="http://www.w3.org/2000/svg"
224
+ {...styles.mark({ frame: entry.frame, size })}
225
+ >
226
+ {entry.mark(id)}
227
+ </svg>
228
+ </span>
229
+ )
230
+ }
231
+
232
+ export namespace AgentLogo {
233
+ export type Props = Omit<ComponentPropsWithRef<'span'>, 'children'> &
234
+ Omit<zyzz.Props.Variants<typeof styles.tile>, 'frame'> & {
235
+ /** Agent whose logo renders. */
236
+ agent: keyof typeof agents
237
+ }
238
+ }
239
+
240
+ namespace styles {
241
+ // The tiles stay concentric with their marks: a 6px corner at 24px and a 7px corner at 28px, which
242
+ // no radius token sets.
243
+ export const tile = variants(
244
+ {
245
+ base: {
246
+ alignItems: 'center',
247
+ boxSizing: 'border-box',
248
+ display: 'inline-flex',
249
+ flexShrink: '0 !custom',
250
+ justifyContent: 'center',
251
+ verticalAlign: 'middle',
252
+ },
253
+ defaultVariants: { frame: 'brand', size: '24' },
254
+ variants: {
255
+ frame: {
256
+ brand: {
257
+ color: 'neutral.000',
258
+ selectors: {
259
+ '&[data-agent="claude"]': { backgroundColor: '#d97757 !custom' },
260
+ '&[data-agent="cli"]': { backgroundColor: '#0a0a0a !custom' },
261
+ '&[data-agent="cursor"]': { backgroundColor: '#1f1f1f !custom' },
262
+ '&[data-agent="muse"]': { backgroundColor: '#7c5cff !custom' },
263
+ },
264
+ },
265
+ codex: {
266
+ backgroundColor: 'background.elevated',
267
+ border: '1px solid !custom',
268
+ borderColor: 'line.secondary',
269
+ color: 'content.primary',
270
+ },
271
+ outlined: {
272
+ backgroundColor: 'background.elevated',
273
+ border: '1px solid !custom',
274
+ borderColor: 'line.secondary',
275
+ color: 'content.primary',
276
+ },
277
+ },
278
+ size: {
279
+ '24': {
280
+ borderRadius: 'calc(0.375rem * var(--tds-corner-scale, 1)) !custom',
281
+ height: '24',
282
+ width: '24',
283
+ },
284
+ '28': {
285
+ borderRadius: 'calc(0.4375rem * var(--tds-corner-scale, 1)) !custom',
286
+ height: '28',
287
+ width: '28',
288
+ },
289
+ },
290
+ },
291
+ },
292
+ { id: 'tds/web/agent-logo' },
293
+ )
294
+
295
+ // Brand marks fill 14 or 16px, the Codex mark 19 or 22px, and the other outlined marks 15 or 17px.
296
+ export const mark = variants(
297
+ {
298
+ base: { display: 'block', flexShrink: '0 !custom' },
299
+ compoundVariants: [
300
+ {
301
+ when: { frame: 'brand', size: '24' },
302
+ style: { height: '14px !custom', width: '14px !custom' },
303
+ },
304
+ { when: { frame: 'brand', size: '28' }, style: { height: '16', width: '16' } },
305
+ {
306
+ when: { frame: 'codex', size: '24' },
307
+ style: { height: '19px !custom', width: '19px !custom' },
308
+ },
309
+ {
310
+ when: { frame: 'codex', size: '28' },
311
+ style: { height: '22px !custom', width: '22px !custom' },
312
+ },
313
+ {
314
+ when: { frame: 'outlined', size: '24' },
315
+ style: { height: '15px !custom', width: '15px !custom' },
316
+ },
317
+ {
318
+ when: { frame: 'outlined', size: '28' },
319
+ style: { height: '17px !custom', width: '17px !custom' },
320
+ },
321
+ ],
322
+ defaultVariants: { frame: 'brand', size: '24' },
323
+ variants: {
324
+ frame: { brand: {}, codex: {}, outlined: {} },
325
+ size: { '24': {}, '28': {} },
326
+ },
327
+ },
328
+ { id: 'tds/web/agent-logo/mark' },
329
+ )
330
+ }