@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
@@ -0,0 +1,301 @@
1
+ import * as BaseUi from '@base-ui/react/button'
2
+ import type { ComponentPropsWithRef } from 'react'
3
+ import type * as zyzz from 'zyzz'
4
+ import { style, variants } from '../zyzz.config.js'
5
+
6
+ /**
7
+ * An inline message on a tinted container, marked by an indicator in the color of its `intent`.
8
+ * The `negative` and `warning` intents render `role="alert"` and interrupt screen readers. The
9
+ * rest render `role="status"` and announce politely. Pass `role` to override either.
10
+ *
11
+ * - Use for guidance tied to nearby content. Use `Banner` for system or page-wide messages.
12
+ * - Keep the message short, with one `Alert.Action` at most, placed inside `Alert.Content`.
13
+ * - State the outcome in the text, so the meaning never depends on color alone.
14
+ *
15
+ * @example
16
+ * <Alert intent="warning">
17
+ * <Alert.Icon />
18
+ * <Alert.Content>
19
+ * <Alert.Title>New address</Alert.Title>
20
+ * Check the first and last 4 characters.
21
+ * <Alert.Action onClick={review}>Review</Alert.Action>
22
+ * </Alert.Content>
23
+ * <Alert.Dismiss onClick={() => setOpen(false)} />
24
+ * </Alert>
25
+ *
26
+ * @see {@link https://base-ui.com/react/components/button | Base UI Button}
27
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles/status_role | MDN status role}
28
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles/alert_role | MDN alert role}
29
+ * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/status-messages.html | WCAG 2.2 Status Messages}
30
+ * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/use-of-color.html | WCAG 2.2 Use of Color}
31
+ * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum.html | WCAG 2.2 Contrast (Minimum)}
32
+ */
33
+ export function Alert(props: Alert.Props) {
34
+ const { className, intent, vars, ...attributes } = props
35
+
36
+ return (
37
+ <div
38
+ // Urgent intents interrupt assistive technology, the rest announce politely.
39
+ role={intent === 'negative' || intent === 'warning' ? 'alert' : 'status'}
40
+ {...attributes}
41
+ {...styles.note({ className, intent, style: props.style, vars })}
42
+ />
43
+ )
44
+ }
45
+
46
+ export namespace Alert {
47
+ export type Props = ComponentPropsWithRef<'div'> & zyzz.Props.Variants<typeof styles.note>
48
+
49
+ /**
50
+ * A text `<button>` with a 44px tall target, in the alert's strong type. Place it inside
51
+ * `Alert.Content`, after the message. Name the action it performs, such as Review fees.
52
+ */
53
+ export function Action(props: Action.Props) {
54
+ const { className, vars, ...attributes } = props
55
+
56
+ return (
57
+ <BaseUi.Button
58
+ {...attributes}
59
+ data-alert-action=""
60
+ {...styles.action({ className, style: props.style, vars })}
61
+ />
62
+ )
63
+ }
64
+
65
+ export namespace Action {
66
+ export type Props = ComponentPropsWithRef<'button'> &
67
+ zyzz.Props.Variants<typeof styles.action> &
68
+ Pick<BaseUi.Button.Props, 'nativeButton' | 'render'>
69
+ }
70
+
71
+ /**
72
+ * Stacks the title, message, and action in a `<div>` that fills the row and can shrink, so long
73
+ * text wraps beside the indicator.
74
+ */
75
+ export function Content(props: Content.Props) {
76
+ const { className, vars, ...attributes } = props
77
+
78
+ return <div {...attributes} {...styles.content({ className, style: props.style, vars })} />
79
+ }
80
+
81
+ export namespace Content {
82
+ export type Props = ComponentPropsWithRef<'div'> & zyzz.Props.Variants<typeof styles.content>
83
+ }
84
+
85
+ /**
86
+ * A 44px icon button at the end of the row. Without children it shows a `×` glyph labelled
87
+ * `Dismiss`. It only renders the button, so remove the alert in its `onClick`.
88
+ */
89
+ export function Dismiss(props: Dismiss.Props) {
90
+ const { children, className, vars, ...attributes } = props
91
+
92
+ return (
93
+ <BaseUi.Button
94
+ aria-label="Dismiss"
95
+ {...attributes}
96
+ {...styles.dismiss({ className, style: props.style, vars })}
97
+ >
98
+ {children ?? <span aria-hidden="true">×</span>}
99
+ </BaseUi.Button>
100
+ )
101
+ }
102
+
103
+ export namespace Dismiss {
104
+ export type Props = ComponentPropsWithRef<'button'> &
105
+ zyzz.Props.Variants<typeof styles.dismiss> &
106
+ Pick<BaseUi.Button.Props, 'nativeButton' | 'render'>
107
+ }
108
+
109
+ /**
110
+ * Renders an 8px square in the color of the alert's `intent`, inside an `aria-hidden` `<span>`
111
+ * as tall as the first line. The indicator stays decorative, so the text must carry the meaning.
112
+ */
113
+ export function Icon(props: Icon.Props) {
114
+ const { className, vars, ...attributes } = props
115
+
116
+ return (
117
+ <span
118
+ aria-hidden="true"
119
+ {...attributes}
120
+ data-alert-icon=""
121
+ {...styles.icon({ className, style: props.style, vars })}
122
+ >
123
+ <span {...styles.indicator()} />
124
+ </span>
125
+ )
126
+ }
127
+
128
+ export namespace Icon {
129
+ export type Props = Omit<ComponentPropsWithRef<'span'>, 'children'> &
130
+ zyzz.Props.Variants<typeof styles.icon>
131
+ }
132
+
133
+ /** Renders the heading of the message in a `<div>`, in the strong weight of the alert's type. */
134
+ export function Title(props: Title.Props) {
135
+ return <div {...props} data-alert-title="" />
136
+ }
137
+
138
+ export namespace Title {
139
+ export type Props = ComponentPropsWithRef<'div'>
140
+ }
141
+ }
142
+
143
+ namespace styles {
144
+ export const action = style(
145
+ {
146
+ alignItems: 'center',
147
+ alignSelf: 'flex-start',
148
+ backgroundColor: 'transparent !custom',
149
+ border: 'none !custom',
150
+ borderRadius: '3xs',
151
+ color: 'content.primary',
152
+ cursor: 'pointer',
153
+ display: 'inline-flex',
154
+ flexShrink: '0 !custom',
155
+ height: '44',
156
+ outlineColor: 'transparent !custom',
157
+ outlineOffset: '0',
158
+ outlineStyle: 'solid !custom',
159
+ outlineWidth: '2',
160
+ padding: '0',
161
+ transitionDuration: '160',
162
+ transitionProperty: 'opacity, outline-color, outline-offset, scale',
163
+ transitionTimingFunction: 'snappy',
164
+ whiteSpace: 'nowrap',
165
+ selectors: {
166
+ '&:active:not([data-disabled])': { scale: 'press' },
167
+ '&:focus-visible': { outlineColor: 'border.focus', outlineOffset: '2' },
168
+ '&:hover:not([data-disabled])': { opacity: 'hover' },
169
+ '&[data-disabled]': { cursor: 'default', opacity: 'disabled' },
170
+ },
171
+ '@media (prefers-reduced-motion: reduce)': {
172
+ transitionProperty: 'opacity, outline-color',
173
+ selectors: { '&:active:not([data-disabled])': { scale: 'none !custom' } },
174
+ },
175
+ },
176
+ { id: 'tds/web/alert/action' },
177
+ )
178
+
179
+ export const content = style(
180
+ {
181
+ display: 'flex',
182
+ flex: '1 !custom',
183
+ flexDirection: 'column',
184
+ minWidth: '0',
185
+ rowGap: '4',
186
+ },
187
+ { id: 'tds/web/alert/content' },
188
+ )
189
+
190
+ export const dismiss = style(
191
+ {
192
+ alignItems: 'center',
193
+ backgroundColor: 'transparent !custom',
194
+ border: 'none !custom',
195
+ borderRadius: 'full',
196
+ color: 'content.secondary',
197
+ cornerShape: 'round',
198
+ cursor: 'pointer',
199
+ display: 'inline-flex',
200
+ flexShrink: '0 !custom',
201
+ height: '44',
202
+ justifyContent: 'center',
203
+ outlineColor: 'transparent !custom',
204
+ outlineOffset: '-2',
205
+ outlineStyle: 'solid !custom',
206
+ outlineWidth: '2',
207
+ padding: '0',
208
+ transitionDuration: '160',
209
+ transitionProperty: 'background-color, color, outline-color, scale',
210
+ transitionTimingFunction: 'snappy',
211
+ typography: 'body.b2Strong',
212
+ width: '44',
213
+ selectors: {
214
+ '&:active:not([data-disabled])': { scale: 'press' },
215
+ '&:focus-visible': { outlineColor: 'border.focus' },
216
+ '&:hover:not([data-disabled])': {
217
+ backgroundColor: 'container.regular',
218
+ color: 'content.primary',
219
+ },
220
+ '&[data-disabled]': { cursor: 'default', opacity: 'disabled' },
221
+ },
222
+ '@media (prefers-reduced-motion: reduce)': {
223
+ transitionProperty: 'background-color, color, outline-color',
224
+ selectors: { '&:active:not([data-disabled])': { scale: 'none !custom' } },
225
+ },
226
+ },
227
+ { id: 'tds/web/alert/dismiss' },
228
+ )
229
+
230
+ export const icon = style(
231
+ {
232
+ alignItems: 'center',
233
+ display: 'inline-flex',
234
+ flexShrink: '0 !custom',
235
+ justifyContent: 'center',
236
+ },
237
+ { id: 'tds/web/alert/icon' },
238
+ )
239
+
240
+ export const indicator = style(
241
+ {
242
+ backgroundColor: 'currentColor !custom',
243
+ // Platform has no 2px radius step, so the literal takes the squircle scale of the steps.
244
+ borderRadius: 'calc(0.125rem * var(--tds-corner-scale, 1)) !custom',
245
+ height: '8',
246
+ width: '8',
247
+ },
248
+ { id: 'tds/web/alert/indicator' },
249
+ )
250
+
251
+ export const note = variants(
252
+ {
253
+ base: {
254
+ alignItems: 'flex-start',
255
+ borderRadius: 'xs',
256
+ boxSizing: 'border-box',
257
+ color: 'content.primary',
258
+ columnGap: '12',
259
+ display: 'flex',
260
+ padding: '16',
261
+ typography: 'body.b3',
262
+ selectors: {
263
+ '& [data-alert-action], & [data-alert-title]': { typography: 'body.b3Strong' },
264
+ '& [data-alert-icon]': { height: '16', width: '16' },
265
+ },
266
+ },
267
+ defaultVariants: { intent: 'neutral' },
268
+ variants: {
269
+ // Text stays primary on every tint, and the indicator takes the intent color. Platform has no
270
+ // blue or violet container, so `tip` and `special` take the 8% and 16% accent alphas.
271
+ intent: {
272
+ negative: {
273
+ backgroundColor: 'container.negative',
274
+ selectors: { '& [data-alert-icon]': { color: 'content.negative' } },
275
+ },
276
+ neutral: {
277
+ backgroundColor: 'container.regular',
278
+ selectors: { '& [data-alert-icon]': { color: 'content.subtle' } },
279
+ },
280
+ positive: {
281
+ backgroundColor: 'container.positive',
282
+ selectors: { '& [data-alert-icon]': { color: 'content.positive' } },
283
+ },
284
+ special: {
285
+ backgroundColor: 'light-dark(rgb(126 89 228 / 0.08), rgb(152 119 241 / 0.16)) !custom',
286
+ selectors: { '& [data-alert-icon]': { color: 'accent.violet.background' } },
287
+ },
288
+ tip: {
289
+ backgroundColor: 'light-dark(rgb(68 113 237 / 0.08), rgb(116 152 251 / 0.16)) !custom',
290
+ selectors: { '& [data-alert-icon]': { color: 'accent.blue.background' } },
291
+ },
292
+ warning: {
293
+ backgroundColor: 'container.warning',
294
+ selectors: { '& [data-alert-icon]': { color: 'content.warning' } },
295
+ },
296
+ },
297
+ },
298
+ },
299
+ { id: 'tds/web/alert' },
300
+ )
301
+ }
@@ -1,26 +1,32 @@
1
1
  import * as BaseUi from '@base-ui/react/alert-dialog'
2
- import type { ComponentPropsWithRef } from 'react'
3
- import type * as zyzz from 'zyzz'
4
- import { style } from '../zyzz.config.js'
5
- import { styles as dialog } from './Dialog.js'
2
+ import { Dialog } from './Dialog.js'
6
3
 
7
4
  /**
8
5
  * A modal confirmation that interrupts the page until the user decides. The popup has
9
6
  * `role="alertdialog"`, traps focus, locks page scroll and closes on Escape or a `Close` part, but
10
- * never on an outside press. Focus returns to the trigger on close.
7
+ * never on an outside press. Focus returns to the trigger on close. It shares the parts and look of
8
+ * `Dialog`, at the `small` size by default.
11
9
  *
12
10
  * - Reserve it for decisions that need an explicit answer, such as destructive confirmations.
13
- * - Always include `Title` and `Description`, which name and describe the popup.
11
+ * - Always include `Title` and `Description` in a `Header`, which name and describe the popup.
14
12
  * - Label actions with specific verbs, such as `Delete key`, not `OK`.
15
13
  *
16
14
  * @example
17
15
  * <AlertDialog.Root>
18
- * <AlertDialog.Trigger render={<Button variant="negative" />}>Delete key</AlertDialog.Trigger>
16
+ * <AlertDialog.Trigger render={<Button />}>Delete key</AlertDialog.Trigger>
19
17
  * <AlertDialog.Popup>
20
- * <AlertDialog.Title>Delete this key?</AlertDialog.Title>
21
- * <AlertDialog.Description>Apps that use this key stop working.</AlertDialog.Description>
22
- * <AlertDialog.Close render={<Button variant="secondary" />}>Cancel</AlertDialog.Close>
23
- * <AlertDialog.Close render={<Button variant="negative" />}>Delete key</AlertDialog.Close>
18
+ * <AlertDialog.Header>
19
+ * <AlertDialog.Title>Delete this key?</AlertDialog.Title>
20
+ * <AlertDialog.Description>Apps that use this key stop working.</AlertDialog.Description>
21
+ * </AlertDialog.Header>
22
+ * <ButtonGroup>
23
+ * <AlertDialog.Close render={<Button size="large" variant="secondary" />}>
24
+ * Cancel
25
+ * </AlertDialog.Close>
26
+ * <AlertDialog.Close render={<Button size="large" />}>
27
+ * Delete key
28
+ * </AlertDialog.Close>
29
+ * </ButtonGroup>
24
30
  * </AlertDialog.Popup>
25
31
  * </AlertDialog.Root>
26
32
  *
@@ -31,127 +37,57 @@ import { styles as dialog } from './Dialog.js'
31
37
  * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/keyboard.html | WCAG 2.2 Keyboard}
32
38
  */
33
39
  export namespace AlertDialog {
40
+ /** Renders the content `<div>` between the header and the footer, as `Dialog.Body` does. */
41
+ export const Body = Dialog.Body
42
+
34
43
  /** Closes the dialog on click. Pass `render` to style it as a `Button`. */
35
44
  export const Close = BaseUi.AlertDialog.Close
36
45
 
46
+ /** Renders a `p` that describes the popup through `aria-describedby`. State the consequence here. */
47
+ export const Description = Dialog.Description
48
+
49
+ /** Holds the `Title` and `Description`, and lays them out as `Dialog.Header` does. */
50
+ export const Header = Dialog.Header
51
+
37
52
  /** Owns the open state. Pass `open` and `onOpenChange` to control it. The dialog is always modal. */
38
53
  export const Root = BaseUi.AlertDialog.Root
39
54
 
55
+ /** Renders an `h2` that names the popup through `aria-labelledby`. */
56
+ export const Title = Dialog.Title
57
+
40
58
  /** Opens the dialog on click. Pass `render` to style it as a `Button`. */
41
59
  export const Trigger = BaseUi.AlertDialog.Trigger
42
60
 
43
- export namespace Root {
44
- export type Props = BaseUi.AlertDialog.Root.Props
61
+ export namespace Body {
62
+ export type Props = Dialog.Body.Props
45
63
  }
46
64
 
47
- /** Renders a `p` that describes the popup through `aria-describedby`. State the consequence here. */
48
- export function Description(props: Description.Props) {
49
- const { className, vars, ...attributes } = props
65
+ export namespace Description {
66
+ export type Props = Dialog.Description.Props
67
+ }
50
68
 
51
- return (
52
- <BaseUi.AlertDialog.Description
53
- {...attributes}
54
- {...dialog.description({ className, style: props.style, vars })}
55
- />
56
- )
69
+ export namespace Header {
70
+ export type Props = Dialog.Header.Props
57
71
  }
58
72
 
59
- export namespace Description {
60
- export type Props = ComponentPropsWithRef<'p'> & zyzz.Props.Variants<typeof dialog.description>
73
+ export namespace Root {
74
+ export type Props = BaseUi.AlertDialog.Root.Props
75
+ }
76
+
77
+ export namespace Title {
78
+ export type Props = Dialog.Title.Props
61
79
  }
62
80
 
63
81
  /**
64
- * Renders the portal, scrim, viewport and popup. The popup stays centered at every width.
65
- * Opening focuses the first tabbable element. When that is a destructive action, pass the
66
- * cancel button's ref to `initialFocus`.
82
+ * Renders the portal, scrim, viewport and popup as `Dialog.Popup` does, with `size` defaulting
83
+ * to `small`. Opening focuses the first tabbable element. When that is a destructive action, pass
84
+ * the cancel button's ref to `initialFocus`.
67
85
  */
68
86
  export function Popup(props: Popup.Props) {
69
- const { className, vars, ...attributes } = props
70
-
71
- return (
72
- <BaseUi.AlertDialog.Portal>
73
- <BaseUi.AlertDialog.Backdrop {...dialog.backdrop()} />
74
- <BaseUi.AlertDialog.Viewport {...styles.viewport()}>
75
- <BaseUi.AlertDialog.Popup
76
- {...attributes}
77
- {...styles.popup({ className, style: props.style, vars })}
78
- />
79
- </BaseUi.AlertDialog.Viewport>
80
- </BaseUi.AlertDialog.Portal>
81
- )
87
+ return <Dialog.Popup {...props} size={props.size ?? 'small'} />
82
88
  }
83
89
 
84
90
  export namespace Popup {
85
- export type Props = ComponentPropsWithRef<'div'> &
86
- zyzz.Props.Variants<typeof styles.popup> &
87
- Pick<BaseUi.AlertDialog.Popup.Props, 'finalFocus' | 'initialFocus' | 'render'>
88
- }
89
-
90
- /** Renders an `h2` that names the popup through `aria-labelledby`. */
91
- export function Title(props: Title.Props) {
92
- const { className, vars, ...attributes } = props
93
-
94
- return (
95
- <BaseUi.AlertDialog.Title
96
- {...attributes}
97
- {...dialog.title({ className, style: props.style, vars })}
98
- />
99
- )
100
- }
101
-
102
- export namespace Title {
103
- export type Props = ComponentPropsWithRef<'h2'> & zyzz.Props.Variants<typeof dialog.title>
91
+ export type Props = Dialog.Popup.Props
104
92
  }
105
93
  }
106
-
107
- namespace styles {
108
- export const popup = style(
109
- {
110
- backgroundColor: 'background.raised',
111
- borderRadius: '16',
112
- boxShadow: 'modal',
113
- boxSizing: 'border-box',
114
- color: 'foreground',
115
- maxWidth: '384',
116
- outline: 'none !custom',
117
- padding: '24',
118
- transitionDuration: '280',
119
- transitionProperty: 'opacity, scale',
120
- transitionTimingFunction: 'spring',
121
- typography: 'copy.14',
122
- width: '100% !custom',
123
- selectors: {
124
- '&[data-ending-style]': {
125
- opacity: '0 !custom',
126
- scale: 'enter',
127
- transitionDuration: '180',
128
- },
129
- '&[data-starting-style]': {
130
- opacity: '0 !custom',
131
- scale: 'enter',
132
- },
133
- },
134
- '@media (prefers-reduced-motion: reduce)': {
135
- transitionProperty: 'opacity',
136
- selectors: {
137
- '&[data-ending-style], &[data-starting-style]': { scale: 'none !custom' },
138
- },
139
- },
140
- },
141
- { id: 'tds/web/alert-dialog/popup' },
142
- )
143
-
144
- export const viewport = style(
145
- {
146
- alignItems: 'center',
147
- boxSizing: 'border-box',
148
- display: 'grid',
149
- inset: '0',
150
- justifyItems: 'center',
151
- overflowY: 'auto',
152
- padding: '16',
153
- position: 'fixed',
154
- },
155
- { id: 'tds/web/alert-dialog/viewport' },
156
- )
157
- }
@@ -167,19 +167,19 @@ namespace styles {
167
167
  right: { textAlign: 'right' },
168
168
  },
169
169
  size: {
170
- lg: { typography: 'heading.32' },
171
- md: { typography: 'heading.20' },
172
- sm: { typography: 'copy.14.strong' },
173
- xl: { typography: 'heading.40' },
170
+ lg: { typography: 'heading.h1' },
171
+ md: { typography: 'heading.h3' },
172
+ sm: { typography: 'body.b2Strong' },
173
+ xl: { typography: 'display.d2' },
174
174
  },
175
175
  strikethrough: {
176
176
  false: {},
177
- true: { color: 'gray.900', textDecoration: 'line-through !custom' },
177
+ true: { color: 'content.secondary', textDecoration: 'line-through !custom' },
178
178
  },
179
179
  },
180
180
  },
181
181
  { id: 'tds/web/amount' },
182
182
  )
183
183
 
184
- export const symbol = style({ color: 'gray.900' }, { id: 'tds/web/amount/symbol' })
184
+ export const symbol = style({ color: 'content.secondary' }, { id: 'tds/web/amount/symbol' })
185
185
  }