@tempoxyz/ds 0.2.6 → 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 (652) hide show
  1. package/README.md +2 -0
  2. package/dist/fonts/JetBrainsMono-Bold-latin.woff2 +0 -0
  3. package/dist/fonts/JetBrainsMono-Bold-other.woff2 +0 -0
  4. package/dist/fonts/JetBrainsMono-Bold.woff2 +0 -0
  5. package/dist/fonts/JetBrainsMono-Medium-latin.woff2 +0 -0
  6. package/dist/fonts/JetBrainsMono-Medium-other.woff2 +0 -0
  7. package/dist/fonts/JetBrainsMono-Medium.woff2 +0 -0
  8. package/dist/fonts/JetBrainsMono-Regular-latin.woff2 +0 -0
  9. package/dist/fonts/JetBrainsMono-Regular-other.woff2 +0 -0
  10. package/dist/fonts/JetBrainsMono-Regular.woff2 +0 -0
  11. package/dist/fonts/JetBrainsMono-SemiBold-latin.woff2 +0 -0
  12. package/dist/fonts/JetBrainsMono-SemiBold-other.woff2 +0 -0
  13. package/dist/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
  14. package/dist/fonts/Pilat-Black-latin.woff2 +0 -0
  15. package/dist/fonts/Pilat-Black-other.woff2 +0 -0
  16. package/dist/fonts/Pilat-Black.woff2 +0 -0
  17. package/dist/fonts/Pilat-Bold-latin.woff2 +0 -0
  18. package/dist/fonts/Pilat-Bold-other.woff2 +0 -0
  19. package/dist/fonts/Pilat-Bold.woff2 +0 -0
  20. package/dist/fonts/Pilat-Book-latin.woff2 +0 -0
  21. package/dist/fonts/Pilat-Book-other.woff2 +0 -0
  22. package/dist/fonts/Pilat-Book.woff2 +0 -0
  23. package/dist/fonts/Pilat-Demi-latin.woff2 +0 -0
  24. package/dist/fonts/Pilat-Demi-other.woff2 +0 -0
  25. package/dist/fonts/Pilat-Demi.woff2 +0 -0
  26. package/dist/fonts/Pilat-Heavy-latin.woff2 +0 -0
  27. package/dist/fonts/Pilat-Heavy-other.woff2 +0 -0
  28. package/dist/fonts/Pilat-Heavy.woff2 +0 -0
  29. package/dist/fonts/Pilat-Light-latin.woff2 +0 -0
  30. package/dist/fonts/Pilat-Light-other.woff2 +0 -0
  31. package/dist/fonts/Pilat-Light.woff2 +0 -0
  32. package/dist/fonts/Pilat-Regular-latin.woff2 +0 -0
  33. package/dist/fonts/Pilat-Regular-other.woff2 +0 -0
  34. package/dist/fonts/Pilat-Regular.woff2 +0 -0
  35. package/dist/fonts/Pilat-Thin-latin.woff2 +0 -0
  36. package/dist/fonts/Pilat-Thin-other.woff2 +0 -0
  37. package/dist/fonts/Pilat-Thin.woff2 +0 -0
  38. package/dist/oxlint/rules/PreferComponent.js +6 -6
  39. package/dist/oxlint/rules/PreferComponent.js.map +1 -1
  40. package/dist/web/components/Accordion.css +1 -1
  41. package/dist/web/components/Accordion.d.ts +7 -7
  42. package/dist/web/components/Accordion.js.map +1 -1
  43. package/dist/web/components/Accordion.js.zyzz.json +1 -1
  44. package/dist/web/components/AgentLogo.css +1 -0
  45. package/dist/web/components/AgentLogo.d.ts +206 -0
  46. package/dist/web/components/AgentLogo.d.ts.map +1 -0
  47. package/dist/web/components/AgentLogo.js +86 -0
  48. package/dist/web/components/AgentLogo.js.map +1 -0
  49. package/dist/web/components/AgentLogo.js.zyzz.json +1 -0
  50. package/dist/web/components/Alert.css +1 -0
  51. package/dist/web/components/Alert.d.ts +156 -0
  52. package/dist/web/components/Alert.d.ts.map +1 -0
  53. package/dist/web/components/Alert.js +92 -0
  54. package/dist/web/components/Alert.js.map +1 -0
  55. package/dist/web/components/Alert.js.zyzz.json +1 -0
  56. package/dist/web/components/AlertDialog.d.ts +40 -28
  57. package/dist/web/components/AlertDialog.d.ts.map +1 -1
  58. package/dist/web/components/AlertDialog.js +31 -36
  59. package/dist/web/components/AlertDialog.js.map +1 -1
  60. package/dist/web/components/AlertDialog.js.zyzz.json +1 -1
  61. package/dist/web/components/Amount.css +1 -1
  62. package/dist/web/components/Amount.d.ts +5 -5
  63. package/dist/web/components/Amount.d.ts.map +1 -1
  64. package/dist/web/components/Amount.js.map +1 -1
  65. package/dist/web/components/Amount.js.zyzz.json +1 -1
  66. package/dist/web/components/AmountInput.css +1 -1
  67. package/dist/web/components/AmountInput.d.ts +20 -39
  68. package/dist/web/components/AmountInput.d.ts.map +1 -1
  69. package/dist/web/components/AmountInput.js +31 -37
  70. package/dist/web/components/AmountInput.js.map +1 -1
  71. package/dist/web/components/AmountInput.js.zyzz.json +1 -1
  72. package/dist/web/components/AppShell.css +1 -1
  73. package/dist/web/components/AppShell.d.ts +65 -29
  74. package/dist/web/components/AppShell.d.ts.map +1 -1
  75. package/dist/web/components/AppShell.js +31 -19
  76. package/dist/web/components/AppShell.js.map +1 -1
  77. package/dist/web/components/AppShell.js.zyzz.json +1 -1
  78. package/dist/web/components/AssetChip.css +1 -0
  79. package/dist/web/components/AssetChip.d.ts +38 -0
  80. package/dist/web/components/AssetChip.d.ts.map +1 -0
  81. package/dist/web/components/AssetChip.js +47 -0
  82. package/dist/web/components/AssetChip.js.map +1 -0
  83. package/dist/web/components/AssetChip.js.zyzz.json +1 -0
  84. package/dist/web/components/Autocomplete.d.ts +2 -2
  85. package/dist/web/components/Autocomplete.js +4 -4
  86. package/dist/web/components/Autocomplete.js.map +1 -1
  87. package/dist/web/components/Autocomplete.js.zyzz.json +1 -1
  88. package/dist/web/components/Avatar.css +1 -1
  89. package/dist/web/components/Avatar.d.ts +40 -115
  90. package/dist/web/components/Avatar.d.ts.map +1 -1
  91. package/dist/web/components/Avatar.js +19 -32
  92. package/dist/web/components/Avatar.js.map +1 -1
  93. package/dist/web/components/Avatar.js.zyzz.json +1 -1
  94. package/dist/web/components/Badge.css +1 -0
  95. package/dist/web/components/Badge.d.ts +134 -0
  96. package/dist/web/components/Badge.d.ts.map +1 -0
  97. package/dist/web/components/Badge.js +38 -0
  98. package/dist/web/components/Badge.js.map +1 -0
  99. package/dist/web/components/Badge.js.zyzz.json +1 -0
  100. package/dist/web/components/Banner.css +1 -1
  101. package/dist/web/components/Banner.d.ts +12 -12
  102. package/dist/web/components/Banner.d.ts.map +1 -1
  103. package/dist/web/components/Banner.js +5 -5
  104. package/dist/web/components/Banner.js.map +1 -1
  105. package/dist/web/components/Banner.js.zyzz.json +1 -1
  106. package/dist/web/components/BarChart.css +1 -0
  107. package/dist/web/components/BarChart.d.ts +155 -0
  108. package/dist/web/components/BarChart.d.ts.map +1 -0
  109. package/dist/web/components/BarChart.js +119 -0
  110. package/dist/web/components/BarChart.js.map +1 -0
  111. package/dist/web/components/BarChart.js.zyzz.json +1 -0
  112. package/dist/web/components/Breadcrumbs.css +1 -1
  113. package/dist/web/components/Breadcrumbs.d.ts +6 -6
  114. package/dist/web/components/Breadcrumbs.js.map +1 -1
  115. package/dist/web/components/Breadcrumbs.js.zyzz.json +1 -1
  116. package/dist/web/components/Button.css +1 -1
  117. package/dist/web/components/Button.d.ts +166 -35
  118. package/dist/web/components/Button.d.ts.map +1 -1
  119. package/dist/web/components/Button.js +13 -9
  120. package/dist/web/components/Button.js.map +1 -1
  121. package/dist/web/components/Button.js.zyzz.json +1 -1
  122. package/dist/web/components/ButtonGroup.css +1 -0
  123. package/dist/web/components/ButtonGroup.d.ts +56 -0
  124. package/dist/web/components/ButtonGroup.d.ts.map +1 -0
  125. package/dist/web/components/ButtonGroup.js +33 -0
  126. package/dist/web/components/ButtonGroup.js.map +1 -0
  127. package/dist/web/components/ButtonGroup.js.zyzz.json +1 -0
  128. package/dist/web/components/Calendar.css +1 -1
  129. package/dist/web/components/Calendar.d.ts.map +1 -1
  130. package/dist/web/components/Calendar.js +7 -7
  131. package/dist/web/components/Calendar.js.map +1 -1
  132. package/dist/web/components/Calendar.js.zyzz.json +1 -1
  133. package/dist/web/components/Checkbox.css +1 -1
  134. package/dist/web/components/Checkbox.d.ts +11 -11
  135. package/dist/web/components/Checkbox.d.ts.map +1 -1
  136. package/dist/web/components/Checkbox.js +4 -1
  137. package/dist/web/components/Checkbox.js.map +1 -1
  138. package/dist/web/components/Checkbox.js.zyzz.json +1 -1
  139. package/dist/web/components/CheckboxGroup.js.zyzz.json +1 -1
  140. package/dist/web/components/ChoiceGroup.css +1 -1
  141. package/dist/web/components/ChoiceGroup.d.ts +44 -16
  142. package/dist/web/components/ChoiceGroup.d.ts.map +1 -1
  143. package/dist/web/components/ChoiceGroup.js +32 -8
  144. package/dist/web/components/ChoiceGroup.js.map +1 -1
  145. package/dist/web/components/ChoiceGroup.js.zyzz.json +1 -1
  146. package/dist/web/components/Choicebox.css +1 -1
  147. package/dist/web/components/Choicebox.d.ts +9 -9
  148. package/dist/web/components/Choicebox.d.ts.map +1 -1
  149. package/dist/web/components/Choicebox.js +6 -6
  150. package/dist/web/components/Choicebox.js.map +1 -1
  151. package/dist/web/components/Choicebox.js.zyzz.json +1 -1
  152. package/dist/web/components/Combobox.css +1 -1
  153. package/dist/web/components/Combobox.d.ts +2 -2
  154. package/dist/web/components/Combobox.d.ts.map +1 -1
  155. package/dist/web/components/Combobox.js +8 -8
  156. package/dist/web/components/Combobox.js.map +1 -1
  157. package/dist/web/components/Combobox.js.zyzz.json +1 -1
  158. package/dist/web/components/Container.js.zyzz.json +1 -1
  159. package/dist/web/components/CopyButton.js +1 -1
  160. package/dist/web/components/CopyButton.js.map +1 -1
  161. package/dist/web/components/CopyButton.js.zyzz.json +1 -1
  162. package/dist/web/components/DatePicker.css +1 -1
  163. package/dist/web/components/DatePicker.d.ts +37 -56
  164. package/dist/web/components/DatePicker.d.ts.map +1 -1
  165. package/dist/web/components/DatePicker.js +7 -7
  166. package/dist/web/components/DatePicker.js.map +1 -1
  167. package/dist/web/components/DatePicker.js.zyzz.json +1 -1
  168. package/dist/web/components/Dialog.css +1 -1
  169. package/dist/web/components/Dialog.d.ts +189 -20
  170. package/dist/web/components/Dialog.d.ts.map +1 -1
  171. package/dist/web/components/Dialog.js +93 -26
  172. package/dist/web/components/Dialog.js.map +1 -1
  173. package/dist/web/components/Dialog.js.zyzz.json +1 -1
  174. package/dist/web/components/Drawer.css +1 -1
  175. package/dist/web/components/Drawer.d.ts +7 -2
  176. package/dist/web/components/Drawer.d.ts.map +1 -1
  177. package/dist/web/components/Drawer.js +12 -6
  178. package/dist/web/components/Drawer.js.map +1 -1
  179. package/dist/web/components/Drawer.js.zyzz.json +1 -1
  180. package/dist/web/components/Empty.css +1 -1
  181. package/dist/web/components/Empty.d.ts +2 -0
  182. package/dist/web/components/Empty.d.ts.map +1 -1
  183. package/dist/web/components/Empty.js +5 -3
  184. package/dist/web/components/Empty.js.map +1 -1
  185. package/dist/web/components/Empty.js.zyzz.json +1 -1
  186. package/dist/web/components/Field.css +1 -1
  187. package/dist/web/components/Field.d.ts +16 -21
  188. package/dist/web/components/Field.d.ts.map +1 -1
  189. package/dist/web/components/Field.js +38 -36
  190. package/dist/web/components/Field.js.map +1 -1
  191. package/dist/web/components/Field.js.zyzz.json +1 -1
  192. package/dist/web/components/Fieldset.css +1 -1
  193. package/dist/web/components/Fieldset.d.ts +9 -18
  194. package/dist/web/components/Fieldset.d.ts.map +1 -1
  195. package/dist/web/components/Fieldset.js +11 -14
  196. package/dist/web/components/Fieldset.js.map +1 -1
  197. package/dist/web/components/Fieldset.js.zyzz.json +1 -1
  198. package/dist/web/components/Frame.css +1 -1
  199. package/dist/web/components/Frame.d.ts +13 -19
  200. package/dist/web/components/Frame.d.ts.map +1 -1
  201. package/dist/web/components/Frame.js +8 -8
  202. package/dist/web/components/Frame.js.map +1 -1
  203. package/dist/web/components/Frame.js.zyzz.json +1 -1
  204. package/dist/web/components/Gauge.css +1 -1
  205. package/dist/web/components/Gauge.d.ts +2 -2
  206. package/dist/web/components/Gauge.d.ts.map +1 -1
  207. package/dist/web/components/Gauge.js.map +1 -1
  208. package/dist/web/components/Gauge.js.zyzz.json +1 -1
  209. package/dist/web/components/Grid.js.zyzz.json +1 -1
  210. package/dist/web/components/Hex.css +1 -1
  211. package/dist/web/components/Hex.d.ts +11 -53
  212. package/dist/web/components/Hex.d.ts.map +1 -1
  213. package/dist/web/components/Hex.js +5 -7
  214. package/dist/web/components/Hex.js.map +1 -1
  215. package/dist/web/components/Hex.js.zyzz.json +1 -1
  216. package/dist/web/components/IconTile.css +1 -0
  217. package/dist/web/components/IconTile.d.ts +62 -0
  218. package/dist/web/components/IconTile.d.ts.map +1 -0
  219. package/dist/web/components/IconTile.js +28 -0
  220. package/dist/web/components/IconTile.js.map +1 -0
  221. package/dist/web/components/IconTile.js.zyzz.json +1 -0
  222. package/dist/web/components/Identicon.css +1 -1
  223. package/dist/web/components/Identicon.d.ts +1 -8
  224. package/dist/web/components/Identicon.d.ts.map +1 -1
  225. package/dist/web/components/Identicon.js +1 -4
  226. package/dist/web/components/Identicon.js.map +1 -1
  227. package/dist/web/components/Identicon.js.zyzz.json +1 -1
  228. package/dist/web/components/Inline.js.zyzz.json +1 -1
  229. package/dist/web/components/Inset.js.zyzz.json +1 -1
  230. package/dist/web/components/Kbd.css +1 -1
  231. package/dist/web/components/Kbd.d.ts +7 -7
  232. package/dist/web/components/Kbd.js.map +1 -1
  233. package/dist/web/components/Kbd.js.zyzz.json +1 -1
  234. package/dist/web/components/ListGroup.css +1 -0
  235. package/dist/web/components/ListGroup.d.ts +483 -0
  236. package/dist/web/components/ListGroup.d.ts.map +1 -0
  237. package/dist/web/components/ListGroup.js +266 -0
  238. package/dist/web/components/ListGroup.js.map +1 -0
  239. package/dist/web/components/ListGroup.js.zyzz.json +1 -0
  240. package/dist/web/components/LoadingDots.css +1 -1
  241. package/dist/web/components/LoadingDots.d.ts.map +1 -1
  242. package/dist/web/components/LoadingDots.js +2 -2
  243. package/dist/web/components/LoadingDots.js.map +1 -1
  244. package/dist/web/components/LoadingDots.js.zyzz.json +1 -1
  245. package/dist/web/components/Menu.css +1 -1
  246. package/dist/web/components/Menu.d.ts +39 -20
  247. package/dist/web/components/Menu.d.ts.map +1 -1
  248. package/dist/web/components/Menu.js +12 -7
  249. package/dist/web/components/Menu.js.map +1 -1
  250. package/dist/web/components/Menu.js.zyzz.json +1 -1
  251. package/dist/web/components/NetworkLogo.css +1 -0
  252. package/dist/web/components/NetworkLogo.d.ts +58 -0
  253. package/dist/web/components/NetworkLogo.d.ts.map +1 -0
  254. package/dist/web/components/NetworkLogo.js +40 -0
  255. package/dist/web/components/NetworkLogo.js.map +1 -0
  256. package/dist/web/components/NetworkLogo.js.zyzz.json +1 -0
  257. package/dist/web/components/NumberField.css +1 -1
  258. package/dist/web/components/NumberField.d.ts +3 -3
  259. package/dist/web/components/NumberField.d.ts.map +1 -1
  260. package/dist/web/components/NumberField.js +5 -5
  261. package/dist/web/components/NumberField.js.map +1 -1
  262. package/dist/web/components/NumberField.js.zyzz.json +1 -1
  263. package/dist/web/components/OtpField.css +1 -1
  264. package/dist/web/components/OtpField.d.ts +8 -68
  265. package/dist/web/components/OtpField.d.ts.map +1 -1
  266. package/dist/web/components/OtpField.js +12 -9
  267. package/dist/web/components/OtpField.js.map +1 -1
  268. package/dist/web/components/OtpField.js.zyzz.json +1 -1
  269. package/dist/web/components/Pagination.css +1 -1
  270. package/dist/web/components/Pagination.d.ts +16 -14
  271. package/dist/web/components/Pagination.d.ts.map +1 -1
  272. package/dist/web/components/Pagination.js +3 -3
  273. package/dist/web/components/Pagination.js.map +1 -1
  274. package/dist/web/components/Pagination.js.zyzz.json +1 -1
  275. package/dist/web/components/Popover.css +1 -1
  276. package/dist/web/components/Popover.js.map +1 -1
  277. package/dist/web/components/Popover.js.zyzz.json +1 -1
  278. package/dist/web/components/Progress.css +1 -1
  279. package/dist/web/components/Progress.d.ts +2 -2
  280. package/dist/web/components/Progress.d.ts.map +1 -1
  281. package/dist/web/components/Progress.js +5 -5
  282. package/dist/web/components/Progress.js.map +1 -1
  283. package/dist/web/components/Progress.js.zyzz.json +1 -1
  284. package/dist/web/components/Qr.css +1 -1
  285. package/dist/web/components/Qr.d.ts +1 -1
  286. package/dist/web/components/Qr.js.map +1 -1
  287. package/dist/web/components/Qr.js.zyzz.json +1 -1
  288. package/dist/web/components/RadioGroup.css +1 -1
  289. package/dist/web/components/RadioGroup.d.ts.map +1 -1
  290. package/dist/web/components/RadioGroup.js +2 -2
  291. package/dist/web/components/RadioGroup.js.map +1 -1
  292. package/dist/web/components/RadioGroup.js.zyzz.json +1 -1
  293. package/dist/web/components/SecretValue.css +1 -1
  294. package/dist/web/components/SecretValue.d.ts +7 -7
  295. package/dist/web/components/SecretValue.js +1 -1
  296. package/dist/web/components/SecretValue.js.map +1 -1
  297. package/dist/web/components/SecretValue.js.zyzz.json +1 -1
  298. package/dist/web/components/Select.css +1 -1
  299. package/dist/web/components/Select.d.ts +64 -2
  300. package/dist/web/components/Select.d.ts.map +1 -1
  301. package/dist/web/components/Select.js +24 -7
  302. package/dist/web/components/Select.js.map +1 -1
  303. package/dist/web/components/Select.js.zyzz.json +1 -1
  304. package/dist/web/components/Separator.css +1 -1
  305. package/dist/web/components/Separator.d.ts +17 -3
  306. package/dist/web/components/Separator.d.ts.map +1 -1
  307. package/dist/web/components/Separator.js +40 -5
  308. package/dist/web/components/Separator.js.map +1 -1
  309. package/dist/web/components/Separator.js.zyzz.json +1 -1
  310. package/dist/web/components/SidebarMenu.css +1 -1
  311. package/dist/web/components/SidebarMenu.d.ts +186 -39
  312. package/dist/web/components/SidebarMenu.d.ts.map +1 -1
  313. package/dist/web/components/SidebarMenu.js +90 -18
  314. package/dist/web/components/SidebarMenu.js.map +1 -1
  315. package/dist/web/components/SidebarMenu.js.zyzz.json +1 -1
  316. package/dist/web/components/Skeleton.css +1 -1
  317. package/dist/web/components/Skeleton.d.ts +5 -3
  318. package/dist/web/components/Skeleton.d.ts.map +1 -1
  319. package/dist/web/components/Skeleton.js +1 -1
  320. package/dist/web/components/Skeleton.js.map +1 -1
  321. package/dist/web/components/Skeleton.js.zyzz.json +1 -1
  322. package/dist/web/components/Slider.css +1 -1
  323. package/dist/web/components/Slider.d.ts.map +1 -1
  324. package/dist/web/components/Slider.js +5 -5
  325. package/dist/web/components/Slider.js.map +1 -1
  326. package/dist/web/components/Slider.js.zyzz.json +1 -1
  327. package/dist/web/components/Snippet.css +1 -1
  328. package/dist/web/components/Snippet.d.ts +27 -65
  329. package/dist/web/components/Snippet.d.ts.map +1 -1
  330. package/dist/web/components/Snippet.js +47 -10
  331. package/dist/web/components/Snippet.js.map +1 -1
  332. package/dist/web/components/Snippet.js.zyzz.json +1 -1
  333. package/dist/web/components/Spinner.css +1 -1
  334. package/dist/web/components/Spinner.d.ts +25 -16
  335. package/dist/web/components/Spinner.d.ts.map +1 -1
  336. package/dist/web/components/Spinner.js +11 -6
  337. package/dist/web/components/Spinner.js.map +1 -1
  338. package/dist/web/components/Spinner.js.zyzz.json +1 -1
  339. package/dist/web/components/SplitBar.css +1 -0
  340. package/dist/web/components/SplitBar.d.ts +99 -0
  341. package/dist/web/components/SplitBar.d.ts.map +1 -0
  342. package/dist/web/components/SplitBar.js +49 -0
  343. package/dist/web/components/SplitBar.js.map +1 -0
  344. package/dist/web/components/SplitBar.js.zyzz.json +1 -0
  345. package/dist/web/components/SplitButton.css +1 -1
  346. package/dist/web/components/SplitButton.d.ts +4 -1
  347. package/dist/web/components/SplitButton.d.ts.map +1 -1
  348. package/dist/web/components/SplitButton.js +2 -2
  349. package/dist/web/components/SplitButton.js.map +1 -1
  350. package/dist/web/components/SplitButton.js.zyzz.json +1 -1
  351. package/dist/web/components/Stack.js.zyzz.json +1 -1
  352. package/dist/web/components/StatusChip.css +1 -0
  353. package/dist/web/components/StatusChip.d.ts +162 -0
  354. package/dist/web/components/StatusChip.d.ts.map +1 -0
  355. package/dist/web/components/StatusChip.js +37 -0
  356. package/dist/web/components/StatusChip.js.map +1 -0
  357. package/dist/web/components/StatusChip.js.zyzz.json +1 -0
  358. package/dist/web/components/StatusRow.css +1 -0
  359. package/dist/web/components/StatusRow.d.ts +121 -0
  360. package/dist/web/components/StatusRow.d.ts.map +1 -0
  361. package/dist/web/components/StatusRow.js +75 -0
  362. package/dist/web/components/StatusRow.js.map +1 -0
  363. package/dist/web/components/StatusRow.js.zyzz.json +1 -0
  364. package/dist/web/components/Stepper.css +1 -1
  365. package/dist/web/components/Stepper.d.ts +10 -7
  366. package/dist/web/components/Stepper.d.ts.map +1 -1
  367. package/dist/web/components/Stepper.js +5 -4
  368. package/dist/web/components/Stepper.js.map +1 -1
  369. package/dist/web/components/Stepper.js.zyzz.json +1 -1
  370. package/dist/web/components/Surface.css +1 -1
  371. package/dist/web/components/Surface.d.ts +56 -119
  372. package/dist/web/components/Surface.d.ts.map +1 -1
  373. package/dist/web/components/Surface.js +16 -9
  374. package/dist/web/components/Surface.js.map +1 -1
  375. package/dist/web/components/Surface.js.zyzz.json +1 -1
  376. package/dist/web/components/Switch.css +1 -1
  377. package/dist/web/components/Switch.d.ts +14 -18
  378. package/dist/web/components/Switch.d.ts.map +1 -1
  379. package/dist/web/components/Switch.js +13 -15
  380. package/dist/web/components/Switch.js.map +1 -1
  381. package/dist/web/components/Switch.js.zyzz.json +1 -1
  382. package/dist/web/components/Table.css +1 -1
  383. package/dist/web/components/Table.d.ts +152 -67
  384. package/dist/web/components/Table.d.ts.map +1 -1
  385. package/dist/web/components/Table.js +92 -24
  386. package/dist/web/components/Table.js.map +1 -1
  387. package/dist/web/components/Table.js.zyzz.json +1 -1
  388. package/dist/web/components/Tabs.css +1 -1
  389. package/dist/web/components/Tabs.d.ts +49 -42
  390. package/dist/web/components/Tabs.d.ts.map +1 -1
  391. package/dist/web/components/Tabs.js +45 -14
  392. package/dist/web/components/Tabs.js.map +1 -1
  393. package/dist/web/components/Tabs.js.zyzz.json +1 -1
  394. package/dist/web/components/TempoLogo.css +1 -0
  395. package/dist/web/components/TempoLogo.d.ts +47 -0
  396. package/dist/web/components/TempoLogo.d.ts.map +1 -0
  397. package/dist/web/components/TempoLogo.js +48 -0
  398. package/dist/web/components/TempoLogo.js.map +1 -0
  399. package/dist/web/components/TempoLogo.js.zyzz.json +1 -0
  400. package/dist/web/components/TextInput.css +1 -0
  401. package/dist/web/components/{Input.d.ts → TextInput.d.ts} +27 -18
  402. package/dist/web/components/TextInput.d.ts.map +1 -0
  403. package/dist/web/components/TextInput.js +138 -0
  404. package/dist/web/components/TextInput.js.map +1 -0
  405. package/dist/web/components/TextInput.js.zyzz.json +1 -0
  406. package/dist/web/components/Textarea.css +1 -1
  407. package/dist/web/components/Textarea.d.ts +29 -74
  408. package/dist/web/components/Textarea.d.ts.map +1 -1
  409. package/dist/web/components/Textarea.js +5 -12
  410. package/dist/web/components/Textarea.js.map +1 -1
  411. package/dist/web/components/Textarea.js.zyzz.json +1 -1
  412. package/dist/web/components/Toast.css +1 -1
  413. package/dist/web/components/Toast.d.ts +4 -4
  414. package/dist/web/components/Toast.d.ts.map +1 -1
  415. package/dist/web/components/Toast.js +9 -9
  416. package/dist/web/components/Toast.js.map +1 -1
  417. package/dist/web/components/Toast.js.zyzz.json +1 -1
  418. package/dist/web/components/Token.css +1 -1
  419. package/dist/web/components/Token.d.ts +32 -90
  420. package/dist/web/components/Token.d.ts.map +1 -1
  421. package/dist/web/components/Token.js +27 -89
  422. package/dist/web/components/Token.js.map +1 -1
  423. package/dist/web/components/Token.js.zyzz.json +1 -1
  424. package/dist/web/components/TokenLogo.css +1 -0
  425. package/dist/web/components/TokenLogo.d.ts +117 -0
  426. package/dist/web/components/TokenLogo.d.ts.map +1 -0
  427. package/dist/web/components/TokenLogo.js +112 -0
  428. package/dist/web/components/TokenLogo.js.map +1 -0
  429. package/dist/web/components/TokenLogo.js.zyzz.json +1 -0
  430. package/dist/web/components/Tooltip.css +1 -1
  431. package/dist/web/components/Tooltip.js.map +1 -1
  432. package/dist/web/components/Tooltip.js.zyzz.json +1 -1
  433. package/dist/web/components/VerificationCode.css +1 -0
  434. package/dist/web/components/VerificationCode.d.ts +47 -0
  435. package/dist/web/components/VerificationCode.d.ts.map +1 -0
  436. package/dist/web/components/VerificationCode.js +55 -0
  437. package/dist/web/components/VerificationCode.js.map +1 -0
  438. package/dist/web/components/VerificationCode.js.zyzz.json +1 -0
  439. package/dist/web/components/Visual.css +1 -0
  440. package/dist/web/components/Visual.d.ts +65 -0
  441. package/dist/web/components/Visual.d.ts.map +1 -0
  442. package/dist/web/components/Visual.js +51 -0
  443. package/dist/web/components/Visual.js.map +1 -0
  444. package/dist/web/components/Visual.js.zyzz.json +1 -0
  445. package/dist/web/components/internal/Field.css +1 -1
  446. package/dist/web/components/internal/Field.d.ts +41 -87
  447. package/dist/web/components/internal/Field.d.ts.map +1 -1
  448. package/dist/web/components/internal/Field.js +8 -7
  449. package/dist/web/components/internal/Field.js.map +1 -1
  450. package/dist/web/components/internal/Field.js.zyzz.json +1 -1
  451. package/dist/web/components/internal/InputGroup.css +1 -1
  452. package/dist/web/components/internal/InputGroup.d.ts +38 -99
  453. package/dist/web/components/internal/InputGroup.d.ts.map +1 -1
  454. package/dist/web/components/internal/InputGroup.js +6 -6
  455. package/dist/web/components/internal/InputGroup.js.map +1 -1
  456. package/dist/web/components/internal/InputGroup.js.zyzz.json +1 -1
  457. package/dist/web/components/internal/Listbox.css +1 -1
  458. package/dist/web/components/internal/Listbox.d.ts +8 -8
  459. package/dist/web/components/internal/Listbox.js.map +1 -1
  460. package/dist/web/components/internal/Listbox.js.zyzz.json +1 -1
  461. package/dist/web/components/internal/RowDisabled.d.ts +3 -0
  462. package/dist/web/components/internal/RowDisabled.d.ts.map +1 -0
  463. package/dist/web/components/internal/RowDisabled.js +9 -0
  464. package/dist/web/components/internal/RowDisabled.js.map +1 -0
  465. package/dist/web/components/internal/RowsSize.d.ts +2 -3
  466. package/dist/web/components/internal/RowsSize.d.ts.map +1 -1
  467. package/dist/web/components/internal/RowsSize.js +3 -3
  468. package/dist/web/components/internal/RowsSize.js.map +1 -1
  469. package/dist/web/index.d.ts +18 -6
  470. package/dist/web/index.d.ts.map +1 -1
  471. package/dist/web/index.js +18 -6
  472. package/dist/web/index.js.map +1 -1
  473. package/dist/web/index.js.zyzz.json +1 -1
  474. package/dist/web/vars.d.ts +591 -706
  475. package/dist/web/vars.d.ts.map +1 -1
  476. package/dist/web/vars.js +7 -6
  477. package/dist/web/vars.js.map +1 -1
  478. package/dist/web/vars.js.zyzz.json +1 -1
  479. package/dist/web/zyzz.config.d.ts +2933 -3513
  480. package/dist/web/zyzz.config.d.ts.map +1 -1
  481. package/dist/web/zyzz.config.js +29 -3
  482. package/dist/web/zyzz.config.js.map +1 -1
  483. package/dist/web/zyzz.config.js.zyzz.json +1 -1
  484. package/package.json +149 -5
  485. package/src/fonts/JetBrainsMono-Bold-latin.woff2 +0 -0
  486. package/src/fonts/JetBrainsMono-Bold-other.woff2 +0 -0
  487. package/src/fonts/JetBrainsMono-Bold.woff2 +0 -0
  488. package/src/fonts/JetBrainsMono-Medium-latin.woff2 +0 -0
  489. package/src/fonts/JetBrainsMono-Medium-other.woff2 +0 -0
  490. package/src/fonts/JetBrainsMono-Medium.woff2 +0 -0
  491. package/src/fonts/{Geist-OFL.txt → JetBrainsMono-OFL.txt} +4 -3
  492. package/src/fonts/JetBrainsMono-Regular-latin.woff2 +0 -0
  493. package/src/fonts/JetBrainsMono-Regular-other.woff2 +0 -0
  494. package/src/fonts/JetBrainsMono-Regular.woff2 +0 -0
  495. package/src/fonts/JetBrainsMono-SemiBold-latin.woff2 +0 -0
  496. package/src/fonts/JetBrainsMono-SemiBold-other.woff2 +0 -0
  497. package/src/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
  498. package/src/fonts/Pilat-Black-latin.woff2 +0 -0
  499. package/src/fonts/Pilat-Black-other.woff2 +0 -0
  500. package/src/fonts/Pilat-Black.woff2 +0 -0
  501. package/src/fonts/Pilat-Bold-latin.woff2 +0 -0
  502. package/src/fonts/Pilat-Bold-other.woff2 +0 -0
  503. package/src/fonts/Pilat-Bold.woff2 +0 -0
  504. package/src/fonts/Pilat-Book-latin.woff2 +0 -0
  505. package/src/fonts/Pilat-Book-other.woff2 +0 -0
  506. package/src/fonts/Pilat-Book.woff2 +0 -0
  507. package/src/fonts/Pilat-Demi-latin.woff2 +0 -0
  508. package/src/fonts/Pilat-Demi-other.woff2 +0 -0
  509. package/src/fonts/Pilat-Demi.woff2 +0 -0
  510. package/src/fonts/Pilat-Heavy-latin.woff2 +0 -0
  511. package/src/fonts/Pilat-Heavy-other.woff2 +0 -0
  512. package/src/fonts/Pilat-Heavy.woff2 +0 -0
  513. package/src/fonts/Pilat-Light-latin.woff2 +0 -0
  514. package/src/fonts/Pilat-Light-other.woff2 +0 -0
  515. package/src/fonts/Pilat-Light.woff2 +0 -0
  516. package/src/fonts/Pilat-Regular-latin.woff2 +0 -0
  517. package/src/fonts/Pilat-Regular-other.woff2 +0 -0
  518. package/src/fonts/Pilat-Regular.woff2 +0 -0
  519. package/src/fonts/Pilat-Thin-latin.woff2 +0 -0
  520. package/src/fonts/Pilat-Thin-other.woff2 +0 -0
  521. package/src/fonts/Pilat-Thin.woff2 +0 -0
  522. package/src/fonts/README.md +15 -2
  523. package/src/oxlint/rules/PreferComponent.ts +6 -6
  524. package/src/web/README.md +7 -7
  525. package/src/web/components/Accordion.tsx +8 -8
  526. package/src/web/components/AgentLogo.tsx +330 -0
  527. package/src/web/components/Alert.tsx +301 -0
  528. package/src/web/components/AlertDialog.tsx +47 -111
  529. package/src/web/components/Amount.tsx +6 -6
  530. package/src/web/components/AmountInput.tsx +59 -134
  531. package/src/web/components/AppShell.tsx +95 -36
  532. package/src/web/components/AssetChip.tsx +110 -0
  533. package/src/web/components/Autocomplete.tsx +4 -4
  534. package/src/web/components/Avatar.tsx +42 -119
  535. package/src/web/components/Badge.tsx +120 -0
  536. package/src/web/components/Banner.tsx +13 -11
  537. package/src/web/components/BarChart.tsx +427 -0
  538. package/src/web/components/Breadcrumbs.tsx +7 -7
  539. package/src/web/components/Button.tsx +156 -42
  540. package/src/web/components/ButtonGroup.tsx +59 -0
  541. package/src/web/components/Calendar.tsx +15 -13
  542. package/src/web/components/Checkbox.tsx +14 -11
  543. package/src/web/components/ChoiceGroup.tsx +107 -26
  544. package/src/web/components/Choicebox.tsx +30 -28
  545. package/src/web/components/Combobox.tsx +10 -8
  546. package/src/web/components/CopyButton.tsx +1 -1
  547. package/src/web/components/DatePicker.tsx +42 -61
  548. package/src/web/components/Dialog.tsx +267 -71
  549. package/src/web/components/Drawer.tsx +45 -18
  550. package/src/web/components/Empty.tsx +13 -8
  551. package/src/web/components/Field.tsx +78 -132
  552. package/src/web/components/Fieldset.tsx +16 -37
  553. package/src/web/components/Frame.tsx +13 -20
  554. package/src/web/components/Gauge.tsx +4 -4
  555. package/src/web/components/Hex.tsx +13 -56
  556. package/src/web/components/IconTile.tsx +57 -0
  557. package/src/web/components/Identicon.tsx +1 -10
  558. package/src/web/components/Kbd.tsx +8 -8
  559. package/src/web/components/ListGroup.tsx +776 -0
  560. package/src/web/components/LoadingDots.tsx +1 -0
  561. package/src/web/components/Menu.tsx +50 -35
  562. package/src/web/components/NetworkLogo.tsx +208 -0
  563. package/src/web/components/NumberField.tsx +18 -33
  564. package/src/web/components/OtpField.tsx +51 -102
  565. package/src/web/components/Pagination.tsx +16 -14
  566. package/src/web/components/Popover.tsx +8 -8
  567. package/src/web/components/Progress.tsx +7 -5
  568. package/src/web/components/Qr.tsx +1 -1
  569. package/src/web/components/RadioGroup.tsx +9 -7
  570. package/src/web/components/SecretValue.tsx +11 -11
  571. package/src/web/components/Select.tsx +87 -26
  572. package/src/web/components/Separator.tsx +95 -7
  573. package/src/web/components/SidebarMenu.tsx +294 -51
  574. package/src/web/components/Skeleton.tsx +5 -5
  575. package/src/web/components/Slider.tsx +12 -6
  576. package/src/web/components/Snippet.tsx +134 -75
  577. package/src/web/components/Spinner.tsx +38 -12
  578. package/src/web/components/SplitBar.tsx +158 -0
  579. package/src/web/components/SplitButton.tsx +26 -17
  580. package/src/web/components/StatusChip.tsx +138 -0
  581. package/src/web/components/StatusRow.tsx +162 -0
  582. package/src/web/components/Stepper.tsx +11 -8
  583. package/src/web/components/Surface.tsx +70 -95
  584. package/src/web/components/Switch.tsx +25 -29
  585. package/src/web/components/Table.tsx +281 -70
  586. package/src/web/components/Tabs.tsx +93 -50
  587. package/src/web/components/TempoLogo.tsx +89 -0
  588. package/src/web/components/{Input.tsx → TextInput.tsx} +87 -118
  589. package/src/web/components/Textarea.tsx +33 -78
  590. package/src/web/components/Toast.tsx +24 -22
  591. package/src/web/components/Token.tsx +106 -172
  592. package/src/web/components/TokenLogo.tsx +217 -0
  593. package/src/web/components/Tooltip.tsx +3 -3
  594. package/src/web/components/VerificationCode.tsx +97 -0
  595. package/src/web/components/Visual.tsx +166 -0
  596. package/src/web/components/internal/Field.ts +63 -72
  597. package/src/web/components/internal/InputGroup.ts +44 -101
  598. package/src/web/components/internal/Listbox.ts +20 -20
  599. package/src/web/components/internal/RowDisabled.ts +9 -0
  600. package/src/web/components/internal/RowsSize.ts +3 -5
  601. package/src/web/components/visuals/Passkey.svg +21 -0
  602. package/src/web/index.ts +18 -6
  603. package/src/web/logos/Base.svg +10 -0
  604. package/src/web/logos/Ethereum.svg +16 -0
  605. package/src/web/logos/HyperEVM.svg +27 -0
  606. package/src/web/logos/Polygon.svg +15 -0
  607. package/src/web/logos/README.md +14 -0
  608. package/src/web/logos/Solana.svg +11 -0
  609. package/src/web/logos/Tempo.svg +11 -0
  610. package/src/web/vars.ts +480 -534
  611. package/src/web/zyzz.config.ts +255 -12
  612. package/dist/fonts/GeistMono-Variable.woff2 +0 -0
  613. package/dist/web/components/AlertDialog.css +0 -1
  614. package/dist/web/components/Callout.css +0 -1
  615. package/dist/web/components/Callout.d.ts +0 -161
  616. package/dist/web/components/Callout.d.ts.map +0 -1
  617. package/dist/web/components/Callout.js +0 -83
  618. package/dist/web/components/Callout.js.map +0 -1
  619. package/dist/web/components/Callout.js.zyzz.json +0 -1
  620. package/dist/web/components/IconChip.css +0 -1
  621. package/dist/web/components/IconChip.d.ts +0 -53
  622. package/dist/web/components/IconChip.d.ts.map +0 -1
  623. package/dist/web/components/IconChip.js +0 -27
  624. package/dist/web/components/IconChip.js.map +0 -1
  625. package/dist/web/components/IconChip.js.zyzz.json +0 -1
  626. package/dist/web/components/Input.css +0 -1
  627. package/dist/web/components/Input.d.ts.map +0 -1
  628. package/dist/web/components/Input.js +0 -118
  629. package/dist/web/components/Input.js.map +0 -1
  630. package/dist/web/components/Input.js.zyzz.json +0 -1
  631. package/dist/web/components/Rows.css +0 -1
  632. package/dist/web/components/Rows.d.ts +0 -484
  633. package/dist/web/components/Rows.d.ts.map +0 -1
  634. package/dist/web/components/Rows.js +0 -171
  635. package/dist/web/components/Rows.js.map +0 -1
  636. package/dist/web/components/Rows.js.zyzz.json +0 -1
  637. package/dist/web/components/Tag.css +0 -1
  638. package/dist/web/components/Tag.d.ts +0 -171
  639. package/dist/web/components/Tag.d.ts.map +0 -1
  640. package/dist/web/components/Tag.js +0 -52
  641. package/dist/web/components/Tag.js.map +0 -1
  642. package/dist/web/components/Tag.js.zyzz.json +0 -1
  643. package/dist/web/components/internal/FieldVariant.d.ts +0 -4
  644. package/dist/web/components/internal/FieldVariant.d.ts.map +0 -1
  645. package/dist/web/components/internal/FieldVariant.js +0 -4
  646. package/dist/web/components/internal/FieldVariant.js.map +0 -1
  647. package/src/fonts/GeistMono-Variable.woff2 +0 -0
  648. package/src/web/components/Callout.tsx +0 -241
  649. package/src/web/components/IconChip.tsx +0 -54
  650. package/src/web/components/Rows.tsx +0 -588
  651. package/src/web/components/Tag.tsx +0 -149
  652. package/src/web/components/internal/FieldVariant.ts +0 -6
@@ -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
  }
@@ -1,13 +1,12 @@
1
- import { type ComponentPropsWithRef, useState } from 'react'
1
+ import { useState } from 'react'
2
2
  import { TextMorph } from 'torph/react'
3
- import type * as zyzz from 'zyzz'
4
3
  import { style } from '../zyzz.config.js'
5
- import { Input } from './Input.js'
4
+ import { TextInput } from './TextInput.js'
6
5
  import * as AmountContext from './internal/AmountContext.js'
7
6
 
8
7
  /**
9
- * Decimal amount entry. The value is a raw string with a dot separator and no grouping
10
- * separators, and input that is not a non-negative decimal is rejected.
8
+ * The amount card: a filled surface with heading-size digits. The value is a raw string with a dot
9
+ * separator and no grouping separators, and input that is not a non-negative decimal is rejected.
11
10
  *
12
11
  * The text around a comma decides whether it groups thousands or separates decimals:
13
12
  *
@@ -25,17 +24,20 @@ import * as AmountContext from './internal/AmountContext.js'
25
24
  * `Control` is a text input with `inputMode="decimal"`, so mobile keyboards show digits without
26
25
  * the scroll and spinner behavior of `type="number"`.
27
26
  *
28
- * - Give the field a visible label, such as `Field.Label`. Show the unit with `Prefix` or
29
- * `Suffix`.
30
- * - Explain an invalid amount with text, such as `Field.Error`, not only the red ring.
31
- * - Wire `Max` to set the value yourself, and name what it fills when the label is ambiguous.
27
+ * - Inside a `Field.Root`, put the `Field.Label` and `Field.Description` in the root. They take
28
+ * their own rows above and below the amount.
29
+ * - Name the token beside the digits with a `Token`, which opens a token picker.
30
+ * - Explain an invalid amount with text, such as `Field.Error`, not only the red fill.
32
31
  *
33
32
  * @example
34
- * <AmountInput.Root onValueChange={setValue} value={value}>
35
- * <AmountInput.Prefix>$</AmountInput.Prefix>
36
- * <AmountInput.Control aria-label="Amount" placeholder="0.00" />
37
- * <AmountInput.Max onClick={() => setValue(balance)} />
38
- * </AmountInput.Root>
33
+ * <Field.Root>
34
+ * <AmountInput.Root onValueChange={setValue} value={value}>
35
+ * <Field.Label>You send</Field.Label>
36
+ * <AmountInput.Control placeholder="0.00" />
37
+ * <Token symbol="pathUSD" />
38
+ * <Field.Description>Balance 2,480.32</Field.Description>
39
+ * </AmountInput.Root>
40
+ * </Field.Root>
39
41
  *
40
42
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/text | MDN input type text}
41
43
  * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/inputmode | MDN inputmode attribute}
@@ -45,12 +47,12 @@ import * as AmountContext from './internal/AmountContext.js'
45
47
  */
46
48
  export namespace AmountInput {
47
49
  /**
48
- * Owns the amount and renders an `Input.Group`, so `size`, `variant` and `invalid` apply here.
49
- * Pass `value` and `onValueChange` to control it. A rejected keystroke leaves the value
50
- * unchanged and does not call `onValueChange`.
50
+ * Owns the amount and renders the card as a `TextInput.Group`, so `invalid` applies here. Pass
51
+ * `value` and `onValueChange` to control it. A rejected keystroke leaves the value unchanged and
52
+ * does not call `onValueChange`.
51
53
  */
52
54
  export function Root(props: Root.Props) {
53
- const { defaultValue = '', onValueChange, value: controlled, ...attributes } = props
55
+ const { className, defaultValue = '', onValueChange, value: controlled, ...attributes } = props
54
56
  const [uncontrolled, setUncontrolled] = useState(defaultValue)
55
57
  const value = controlled ?? uncontrolled
56
58
 
@@ -64,13 +66,16 @@ export namespace AmountInput {
64
66
  },
65
67
  }}
66
68
  >
67
- <Input.Group {...attributes} />
69
+ <TextInput.Group {...attributes} {...styles.root({ className, style: props.style })} />
68
70
  </AmountContext.Context.Provider>
69
71
  )
70
72
  }
71
73
 
72
74
  export namespace Root {
73
- export type Props = Omit<Input.Group.Props, 'defaultValue' | 'onChange'> & {
75
+ export type Props = Omit<
76
+ TextInput.Group.Props,
77
+ 'defaultValue' | 'onChange' | 'success' | 'variant'
78
+ > & {
74
79
  /** @default '' */
75
80
  defaultValue?: string | undefined
76
81
  onValueChange?: ((value: string) => void) | undefined
@@ -82,14 +87,14 @@ export namespace AmountInput {
82
87
  export function Control(props: Control.Props) {
83
88
  const amount = AmountContext.use()
84
89
  const [typed, setTyped] = useState<{ caret: number | null; text: string; value: string }>()
85
- // Typed edits morph at the caret. Other changes, such as Max, roll digits by place value.
90
+ // Typed edits morph at the caret. Values the app sets roll digits by place value.
86
91
  const edit = typed?.value === amount.value ? typed : undefined
87
92
  const caret = edit?.caret ?? undefined
88
93
  const text = edit?.text ?? amount.value
89
94
 
90
95
  return (
91
96
  <span {...styles.control()}>
92
- <Input.Control
97
+ <TextInput.Control
93
98
  autoComplete="off"
94
99
  inputMode="decimal"
95
100
  {...props}
@@ -116,39 +121,10 @@ export namespace AmountInput {
116
121
 
117
122
  export namespace Control {
118
123
  export type Props = Omit<
119
- Input.Control.Props,
124
+ TextInput.Control.Props,
120
125
  'defaultValue' | 'onChange' | 'onValueChange' | 'type' | 'value'
121
126
  >
122
127
  }
123
-
124
- /**
125
- * Shortcut for the largest allowed amount. Hidden while the field is invalid. It renders a
126
- * `type="button"` labelled "Max" by default and does not change the value itself, so set the
127
- * amount from `onClick`.
128
- */
129
- export function Max(props: Max.Props) {
130
- const { children, className, vars, ...attributes } = props
131
-
132
- return (
133
- <button
134
- type="button"
135
- {...attributes}
136
- {...styles.max({ className, style: props.style, vars })}
137
- >
138
- {children ?? 'Max'}
139
- </button>
140
- )
141
- }
142
-
143
- export namespace Max {
144
- export type Props = ComponentPropsWithRef<'button'> & zyzz.Props.Variants<typeof styles.max>
145
- }
146
-
147
- /** Leading adornment, such as a currency symbol. Same component as `Input.Prefix`. */
148
- export const Prefix = Input.Prefix
149
-
150
- /** Trailing adornment, such as a token code. Same component as `Input.Suffix`. */
151
- export const Suffix = Input.Suffix
152
128
  }
153
129
 
154
130
  /** Returns the raw decimal for typed text, or `undefined` when it is not a non-negative decimal. */
@@ -181,108 +157,57 @@ namespace styles {
181
157
  { id: 'tds/web/amount-input/control' },
182
158
  )
183
159
 
160
+ // The placeholder takes the subtle color, lighter than the tertiary placeholder of a text field.
184
161
  export const input = style(
185
162
  {
186
163
  gridArea: '1 / 1 !custom',
187
164
  WebkitTextFillColor: 'transparent !custom',
188
165
  width: '100% !custom',
189
- selectors: { '&::placeholder': { WebkitTextFillColor: 'currentColor !custom' } },
190
- },
191
- { id: 'tds/web/amount-input/input' },
192
- )
193
-
194
- export const max = style(
195
- {
196
- backgroundColor: 'grayAlpha.200',
197
- border: 'none !custom',
198
- color: 'foreground',
199
- cursor: 'pointer',
200
- flexShrink: '0 !custom',
201
- outlineColor: 'transparent !custom',
202
- outlineOffset: '0',
203
- outlineStyle: 'solid !custom',
204
- outlineWidth: '2',
205
- position: 'relative',
206
- transitionDuration: '160',
207
- transitionProperty: 'background-color, outline-color, outline-offset, scale',
208
- transitionTimingFunction: 'snappy',
209
166
  selectors: {
210
- // Each field size insets Max equally from the end and the top, with a concentric radius.
211
- '[data-size="large"] > &': {
212
- borderRadius: '8',
213
- height: '40',
214
- marginInlineEnd: '-12',
215
- paddingInline: '16',
216
- typography: 'button.14',
217
- },
218
- '[data-size="medium"] > &': {
219
- borderRadius: '6',
220
- height: '28',
221
- marginInlineEnd: '-10',
222
- paddingInline: '12',
223
- typography: 'button.12',
224
- },
225
- '[data-size="small"] > &': {
226
- borderRadius: '4',
227
- height: '24',
228
- marginInlineEnd: '-8',
229
- paddingInline: '8',
230
- typography: 'button.12',
231
- },
232
- // A small stacked field takes the medium size, so Max takes the medium inset.
233
- '[data-variant="stacked"] > [data-size="small"] > &': {
234
- borderRadius: '6',
235
- height: '28',
236
- marginInlineEnd: '-10',
237
- paddingInline: '12',
238
- typography: 'button.12',
239
- },
240
- // A card group keeps its padding, so Max sits on the content edge.
241
- '[data-variant="card"] > &': {
242
- borderRadius: '8',
243
- height: '32',
244
- marginInlineEnd: '0',
245
- paddingInline: '12',
246
- typography: 'button.12',
247
- },
248
- '&::after': { content: '"" !custom', inset: '-4', position: 'absolute' },
249
- '&:active': { scale: 'press' },
250
- '&:focus-visible': { outlineColor: 'blue.700', outlineOffset: '2' },
251
- '&:hover': { backgroundColor: 'grayAlpha.300' },
252
- '[data-invalid] &': { display: 'none' },
253
- },
254
- '@media (prefers-reduced-motion: reduce)': {
255
- transitionProperty: 'background-color, outline-color',
256
- selectors: { '&:active': { scale: 'none !custom' } },
167
+ '&::placeholder': { color: 'content.subtle', WebkitTextFillColor: 'currentColor !custom' },
257
168
  },
258
169
  },
259
- { id: 'tds/web/amount-input/max' },
170
+ { id: 'tds/web/amount-input/input' },
260
171
  )
261
172
 
262
- // Mirrors the typography of `Input.Control` so the morphing text sits over the transparent input text.
173
+ // Inherits the root's type, as `TextInput.Control` does, so the morphing text covers the input text.
263
174
  export const morph = style(
264
175
  {
265
- color: 'foreground',
176
+ color: 'content.primary',
266
177
  font: 'inherit !custom',
267
178
  gridArea: '1 / 1 !custom',
268
179
  overflow: 'hidden',
269
180
  pointerEvents: 'none !custom',
270
181
  whiteSpace: 'pre',
182
+ selectors: { ':has(> input:disabled) > &': { color: 'content.subtle' } },
183
+ },
184
+ { id: 'tds/web/amount-input/morph' },
185
+ )
186
+
187
+ /**
188
+ * Overrides the 48px field of `TextInput.Group`, whose rules load first. It wraps onto rows, so a
189
+ * `Field.Label` and `Field.Description` inside take their own lines.
190
+ */
191
+ export const root = style(
192
+ {
193
+ borderRadius: 'sm',
194
+ flexWrap: 'wrap',
195
+ height: 'auto !custom',
196
+ paddingBlock: '16',
197
+ paddingInline: '20',
198
+ rowGap: '8',
199
+ typography: 'heading.h1',
271
200
  selectors: {
272
- '[data-variant="card"] > &': {
273
- typography: 'heading.24',
274
- },
275
- '[data-variant="card"][data-size="small"] &': {
276
- typography: 'heading.20',
201
+ '& > label': {
202
+ color: 'content.secondary',
203
+ flexBasis: '100% !custom',
204
+ typography: 'body.b3',
277
205
  },
278
- '[data-variant="card"][data-size="large"] &': {
279
- typography: 'heading.32',
280
- },
281
- // The value sits below the floating label, which needs more room in a large field.
282
- '[data-variant="stacked"] &': { paddingTop: '12' },
283
- '[data-variant="stacked"] [data-size="large"] &': { paddingTop: '16' },
206
+ '& > :is(p, [data-field-error])': { flexBasis: '100% !custom' },
207
+ // A `Field.Description`, such as the balance, takes the tertiary color.
208
+ '& > p': { color: 'content.tertiary' },
284
209
  },
285
210
  },
286
- { id: 'tds/web/amount-input/morph' },
211
+ { id: 'tds/web/amount-input' },
287
212
  )
288
213
  }