@tempoxyz/ds 0.2.6 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (662) hide show
  1. package/README.md +2 -0
  2. package/dist/fonts/JetBrainsMono-Bold-latin.woff2 +0 -0
  3. package/dist/fonts/JetBrainsMono-Bold-other.woff2 +0 -0
  4. package/dist/fonts/JetBrainsMono-Bold.woff2 +0 -0
  5. package/dist/fonts/JetBrainsMono-Medium-latin.woff2 +0 -0
  6. package/dist/fonts/JetBrainsMono-Medium-other.woff2 +0 -0
  7. package/dist/fonts/JetBrainsMono-Medium.woff2 +0 -0
  8. package/dist/fonts/JetBrainsMono-Regular-latin.woff2 +0 -0
  9. package/dist/fonts/JetBrainsMono-Regular-other.woff2 +0 -0
  10. package/dist/fonts/JetBrainsMono-Regular.woff2 +0 -0
  11. package/dist/fonts/JetBrainsMono-SemiBold-latin.woff2 +0 -0
  12. package/dist/fonts/JetBrainsMono-SemiBold-other.woff2 +0 -0
  13. package/dist/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
  14. package/dist/fonts/Pilat-Black-latin.woff2 +0 -0
  15. package/dist/fonts/Pilat-Black-other.woff2 +0 -0
  16. package/dist/fonts/Pilat-Black.woff2 +0 -0
  17. package/dist/fonts/Pilat-Bold-latin.woff2 +0 -0
  18. package/dist/fonts/Pilat-Bold-other.woff2 +0 -0
  19. package/dist/fonts/Pilat-Bold.woff2 +0 -0
  20. package/dist/fonts/Pilat-Book-latin.woff2 +0 -0
  21. package/dist/fonts/Pilat-Book-other.woff2 +0 -0
  22. package/dist/fonts/Pilat-Book.woff2 +0 -0
  23. package/dist/fonts/Pilat-Demi-latin.woff2 +0 -0
  24. package/dist/fonts/Pilat-Demi-other.woff2 +0 -0
  25. package/dist/fonts/Pilat-Demi.woff2 +0 -0
  26. package/dist/fonts/Pilat-Heavy-latin.woff2 +0 -0
  27. package/dist/fonts/Pilat-Heavy-other.woff2 +0 -0
  28. package/dist/fonts/Pilat-Heavy.woff2 +0 -0
  29. package/dist/fonts/Pilat-Light-latin.woff2 +0 -0
  30. package/dist/fonts/Pilat-Light-other.woff2 +0 -0
  31. package/dist/fonts/Pilat-Light.woff2 +0 -0
  32. package/dist/fonts/Pilat-Regular-latin.woff2 +0 -0
  33. package/dist/fonts/Pilat-Regular-other.woff2 +0 -0
  34. package/dist/fonts/Pilat-Regular.woff2 +0 -0
  35. package/dist/fonts/Pilat-Thin-latin.woff2 +0 -0
  36. package/dist/fonts/Pilat-Thin-other.woff2 +0 -0
  37. package/dist/fonts/Pilat-Thin.woff2 +0 -0
  38. package/dist/oxlint/rules/PreferComponent.js +6 -6
  39. package/dist/oxlint/rules/PreferComponent.js.map +1 -1
  40. package/dist/web/components/Accordion.css +1 -1
  41. package/dist/web/components/Accordion.d.ts +7 -7
  42. package/dist/web/components/Accordion.js.map +1 -1
  43. package/dist/web/components/Accordion.js.zyzz.json +1 -1
  44. package/dist/web/components/AgentLogo.css +1 -0
  45. package/dist/web/components/AgentLogo.d.ts +206 -0
  46. package/dist/web/components/AgentLogo.d.ts.map +1 -0
  47. package/dist/web/components/AgentLogo.js +86 -0
  48. package/dist/web/components/AgentLogo.js.map +1 -0
  49. package/dist/web/components/AgentLogo.js.zyzz.json +1 -0
  50. package/dist/web/components/Alert.css +1 -0
  51. package/dist/web/components/Alert.d.ts +161 -0
  52. package/dist/web/components/Alert.d.ts.map +1 -0
  53. package/dist/web/components/Alert.js +97 -0
  54. package/dist/web/components/Alert.js.map +1 -0
  55. package/dist/web/components/Alert.js.zyzz.json +1 -0
  56. package/dist/web/components/AlertDialog.d.ts +40 -28
  57. package/dist/web/components/AlertDialog.d.ts.map +1 -1
  58. package/dist/web/components/AlertDialog.js +31 -36
  59. package/dist/web/components/AlertDialog.js.map +1 -1
  60. package/dist/web/components/AlertDialog.js.zyzz.json +1 -1
  61. package/dist/web/components/Amount.css +1 -1
  62. package/dist/web/components/Amount.d.ts +5 -5
  63. package/dist/web/components/Amount.d.ts.map +1 -1
  64. package/dist/web/components/Amount.js.map +1 -1
  65. package/dist/web/components/Amount.js.zyzz.json +1 -1
  66. package/dist/web/components/AmountInput.css +1 -1
  67. package/dist/web/components/AmountInput.d.ts +20 -39
  68. package/dist/web/components/AmountInput.d.ts.map +1 -1
  69. package/dist/web/components/AmountInput.js +31 -37
  70. package/dist/web/components/AmountInput.js.map +1 -1
  71. package/dist/web/components/AmountInput.js.zyzz.json +1 -1
  72. package/dist/web/components/AppShell.css +1 -1
  73. package/dist/web/components/AppShell.d.ts +172 -28
  74. package/dist/web/components/AppShell.d.ts.map +1 -1
  75. package/dist/web/components/AppShell.js +89 -29
  76. package/dist/web/components/AppShell.js.map +1 -1
  77. package/dist/web/components/AppShell.js.zyzz.json +1 -1
  78. package/dist/web/components/AssetChip.css +1 -0
  79. package/dist/web/components/AssetChip.d.ts +38 -0
  80. package/dist/web/components/AssetChip.d.ts.map +1 -0
  81. package/dist/web/components/AssetChip.js +47 -0
  82. package/dist/web/components/AssetChip.js.map +1 -0
  83. package/dist/web/components/AssetChip.js.zyzz.json +1 -0
  84. package/dist/web/components/Autocomplete.d.ts +2 -2
  85. package/dist/web/components/Autocomplete.js +4 -4
  86. package/dist/web/components/Autocomplete.js.map +1 -1
  87. package/dist/web/components/Autocomplete.js.zyzz.json +1 -1
  88. package/dist/web/components/Avatar.css +1 -1
  89. package/dist/web/components/Avatar.d.ts +40 -115
  90. package/dist/web/components/Avatar.d.ts.map +1 -1
  91. package/dist/web/components/Avatar.js +19 -32
  92. package/dist/web/components/Avatar.js.map +1 -1
  93. package/dist/web/components/Avatar.js.zyzz.json +1 -1
  94. package/dist/web/components/Badge.css +1 -0
  95. package/dist/web/components/Badge.d.ts +134 -0
  96. package/dist/web/components/Badge.d.ts.map +1 -0
  97. package/dist/web/components/Badge.js +38 -0
  98. package/dist/web/components/Badge.js.map +1 -0
  99. package/dist/web/components/Badge.js.zyzz.json +1 -0
  100. package/dist/web/components/Banner.css +1 -1
  101. package/dist/web/components/Banner.d.ts +12 -12
  102. package/dist/web/components/Banner.d.ts.map +1 -1
  103. package/dist/web/components/Banner.js +5 -5
  104. package/dist/web/components/Banner.js.map +1 -1
  105. package/dist/web/components/Banner.js.zyzz.json +1 -1
  106. package/dist/web/components/BarChart.css +1 -0
  107. package/dist/web/components/BarChart.d.ts +155 -0
  108. package/dist/web/components/BarChart.d.ts.map +1 -0
  109. package/dist/web/components/BarChart.js +119 -0
  110. package/dist/web/components/BarChart.js.map +1 -0
  111. package/dist/web/components/BarChart.js.zyzz.json +1 -0
  112. package/dist/web/components/Breadcrumbs.css +1 -1
  113. package/dist/web/components/Breadcrumbs.d.ts +6 -6
  114. package/dist/web/components/Breadcrumbs.js.map +1 -1
  115. package/dist/web/components/Breadcrumbs.js.zyzz.json +1 -1
  116. package/dist/web/components/Button.css +1 -1
  117. package/dist/web/components/Button.d.ts +167 -32
  118. package/dist/web/components/Button.d.ts.map +1 -1
  119. package/dist/web/components/Button.js +14 -9
  120. package/dist/web/components/Button.js.map +1 -1
  121. package/dist/web/components/Button.js.zyzz.json +1 -1
  122. package/dist/web/components/ButtonGroup.css +1 -0
  123. package/dist/web/components/ButtonGroup.d.ts +56 -0
  124. package/dist/web/components/ButtonGroup.d.ts.map +1 -0
  125. package/dist/web/components/ButtonGroup.js +33 -0
  126. package/dist/web/components/ButtonGroup.js.map +1 -0
  127. package/dist/web/components/ButtonGroup.js.zyzz.json +1 -0
  128. package/dist/web/components/Calendar.css +1 -1
  129. package/dist/web/components/Calendar.d.ts.map +1 -1
  130. package/dist/web/components/Calendar.js +7 -7
  131. package/dist/web/components/Calendar.js.map +1 -1
  132. package/dist/web/components/Calendar.js.zyzz.json +1 -1
  133. package/dist/web/components/Checkbox.css +1 -1
  134. package/dist/web/components/Checkbox.d.ts +11 -11
  135. package/dist/web/components/Checkbox.d.ts.map +1 -1
  136. package/dist/web/components/Checkbox.js +4 -1
  137. package/dist/web/components/Checkbox.js.map +1 -1
  138. package/dist/web/components/Checkbox.js.zyzz.json +1 -1
  139. package/dist/web/components/CheckboxGroup.js.zyzz.json +1 -1
  140. package/dist/web/components/ChoiceGroup.css +1 -1
  141. package/dist/web/components/ChoiceGroup.d.ts +44 -16
  142. package/dist/web/components/ChoiceGroup.d.ts.map +1 -1
  143. package/dist/web/components/ChoiceGroup.js +32 -8
  144. package/dist/web/components/ChoiceGroup.js.map +1 -1
  145. package/dist/web/components/ChoiceGroup.js.zyzz.json +1 -1
  146. package/dist/web/components/Choicebox.css +1 -1
  147. package/dist/web/components/Choicebox.d.ts +9 -9
  148. package/dist/web/components/Choicebox.d.ts.map +1 -1
  149. package/dist/web/components/Choicebox.js +6 -6
  150. package/dist/web/components/Choicebox.js.map +1 -1
  151. package/dist/web/components/Choicebox.js.zyzz.json +1 -1
  152. package/dist/web/components/Combobox.css +1 -1
  153. package/dist/web/components/Combobox.d.ts +2 -2
  154. package/dist/web/components/Combobox.d.ts.map +1 -1
  155. package/dist/web/components/Combobox.js +8 -8
  156. package/dist/web/components/Combobox.js.map +1 -1
  157. package/dist/web/components/Combobox.js.zyzz.json +1 -1
  158. package/dist/web/components/Container.js.zyzz.json +1 -1
  159. package/dist/web/components/CopyButton.js +1 -1
  160. package/dist/web/components/CopyButton.js.map +1 -1
  161. package/dist/web/components/CopyButton.js.zyzz.json +1 -1
  162. package/dist/web/components/DatePicker.css +1 -1
  163. package/dist/web/components/DatePicker.d.ts +37 -56
  164. package/dist/web/components/DatePicker.d.ts.map +1 -1
  165. package/dist/web/components/DatePicker.js +7 -7
  166. package/dist/web/components/DatePicker.js.map +1 -1
  167. package/dist/web/components/DatePicker.js.zyzz.json +1 -1
  168. package/dist/web/components/Dialog.css +1 -1
  169. package/dist/web/components/Dialog.d.ts +189 -20
  170. package/dist/web/components/Dialog.d.ts.map +1 -1
  171. package/dist/web/components/Dialog.js +93 -26
  172. package/dist/web/components/Dialog.js.map +1 -1
  173. package/dist/web/components/Dialog.js.zyzz.json +1 -1
  174. package/dist/web/components/Drawer.css +1 -1
  175. package/dist/web/components/Drawer.d.ts +7 -2
  176. package/dist/web/components/Drawer.d.ts.map +1 -1
  177. package/dist/web/components/Drawer.js +12 -6
  178. package/dist/web/components/Drawer.js.map +1 -1
  179. package/dist/web/components/Drawer.js.zyzz.json +1 -1
  180. package/dist/web/components/Empty.css +1 -1
  181. package/dist/web/components/Empty.d.ts +2 -0
  182. package/dist/web/components/Empty.d.ts.map +1 -1
  183. package/dist/web/components/Empty.js +5 -3
  184. package/dist/web/components/Empty.js.map +1 -1
  185. package/dist/web/components/Empty.js.zyzz.json +1 -1
  186. package/dist/web/components/Field.css +1 -1
  187. package/dist/web/components/Field.d.ts +16 -21
  188. package/dist/web/components/Field.d.ts.map +1 -1
  189. package/dist/web/components/Field.js +38 -36
  190. package/dist/web/components/Field.js.map +1 -1
  191. package/dist/web/components/Field.js.zyzz.json +1 -1
  192. package/dist/web/components/Fieldset.css +1 -1
  193. package/dist/web/components/Fieldset.d.ts +9 -18
  194. package/dist/web/components/Fieldset.d.ts.map +1 -1
  195. package/dist/web/components/Fieldset.js +11 -14
  196. package/dist/web/components/Fieldset.js.map +1 -1
  197. package/dist/web/components/Fieldset.js.zyzz.json +1 -1
  198. package/dist/web/components/Frame.css +1 -1
  199. package/dist/web/components/Frame.d.ts +13 -19
  200. package/dist/web/components/Frame.d.ts.map +1 -1
  201. package/dist/web/components/Frame.js +8 -8
  202. package/dist/web/components/Frame.js.map +1 -1
  203. package/dist/web/components/Frame.js.zyzz.json +1 -1
  204. package/dist/web/components/Gauge.css +1 -1
  205. package/dist/web/components/Gauge.d.ts +2 -2
  206. package/dist/web/components/Gauge.d.ts.map +1 -1
  207. package/dist/web/components/Gauge.js.map +1 -1
  208. package/dist/web/components/Gauge.js.zyzz.json +1 -1
  209. package/dist/web/components/Grid.js.zyzz.json +1 -1
  210. package/dist/web/components/Hex.css +1 -1
  211. package/dist/web/components/Hex.d.ts +11 -53
  212. package/dist/web/components/Hex.d.ts.map +1 -1
  213. package/dist/web/components/Hex.js +5 -7
  214. package/dist/web/components/Hex.js.map +1 -1
  215. package/dist/web/components/Hex.js.zyzz.json +1 -1
  216. package/dist/web/components/IconTile.css +1 -0
  217. package/dist/web/components/IconTile.d.ts +62 -0
  218. package/dist/web/components/IconTile.d.ts.map +1 -0
  219. package/dist/web/components/IconTile.js +28 -0
  220. package/dist/web/components/IconTile.js.map +1 -0
  221. package/dist/web/components/IconTile.js.zyzz.json +1 -0
  222. package/dist/web/components/Identicon.css +1 -1
  223. package/dist/web/components/Identicon.d.ts +1 -8
  224. package/dist/web/components/Identicon.d.ts.map +1 -1
  225. package/dist/web/components/Identicon.js +1 -4
  226. package/dist/web/components/Identicon.js.map +1 -1
  227. package/dist/web/components/Identicon.js.zyzz.json +1 -1
  228. package/dist/web/components/Inline.js.zyzz.json +1 -1
  229. package/dist/web/components/Inset.js.zyzz.json +1 -1
  230. package/dist/web/components/Kbd.css +1 -1
  231. package/dist/web/components/Kbd.d.ts +7 -7
  232. package/dist/web/components/Kbd.js.map +1 -1
  233. package/dist/web/components/Kbd.js.zyzz.json +1 -1
  234. package/dist/web/components/ListGroup.css +1 -0
  235. package/dist/web/components/ListGroup.d.ts +530 -0
  236. package/dist/web/components/ListGroup.d.ts.map +1 -0
  237. package/dist/web/components/ListGroup.js +270 -0
  238. package/dist/web/components/ListGroup.js.map +1 -0
  239. package/dist/web/components/ListGroup.js.zyzz.json +1 -0
  240. package/dist/web/components/LoadingDots.css +1 -1
  241. package/dist/web/components/LoadingDots.d.ts.map +1 -1
  242. package/dist/web/components/LoadingDots.js +2 -2
  243. package/dist/web/components/LoadingDots.js.map +1 -1
  244. package/dist/web/components/LoadingDots.js.zyzz.json +1 -1
  245. package/dist/web/components/Menu.css +1 -1
  246. package/dist/web/components/Menu.d.ts +39 -20
  247. package/dist/web/components/Menu.d.ts.map +1 -1
  248. package/dist/web/components/Menu.js +12 -7
  249. package/dist/web/components/Menu.js.map +1 -1
  250. package/dist/web/components/Menu.js.zyzz.json +1 -1
  251. package/dist/web/components/NetworkLogo.css +1 -0
  252. package/dist/web/components/NetworkLogo.d.ts +58 -0
  253. package/dist/web/components/NetworkLogo.d.ts.map +1 -0
  254. package/dist/web/components/NetworkLogo.js +40 -0
  255. package/dist/web/components/NetworkLogo.js.map +1 -0
  256. package/dist/web/components/NetworkLogo.js.zyzz.json +1 -0
  257. package/dist/web/components/NumberField.css +1 -1
  258. package/dist/web/components/NumberField.d.ts +3 -3
  259. package/dist/web/components/NumberField.d.ts.map +1 -1
  260. package/dist/web/components/NumberField.js +5 -5
  261. package/dist/web/components/NumberField.js.map +1 -1
  262. package/dist/web/components/NumberField.js.zyzz.json +1 -1
  263. package/dist/web/components/OtpField.css +1 -1
  264. package/dist/web/components/OtpField.d.ts +8 -68
  265. package/dist/web/components/OtpField.d.ts.map +1 -1
  266. package/dist/web/components/OtpField.js +12 -9
  267. package/dist/web/components/OtpField.js.map +1 -1
  268. package/dist/web/components/OtpField.js.zyzz.json +1 -1
  269. package/dist/web/components/Pagination.css +1 -1
  270. package/dist/web/components/Pagination.d.ts +16 -14
  271. package/dist/web/components/Pagination.d.ts.map +1 -1
  272. package/dist/web/components/Pagination.js +3 -3
  273. package/dist/web/components/Pagination.js.map +1 -1
  274. package/dist/web/components/Pagination.js.zyzz.json +1 -1
  275. package/dist/web/components/Popover.css +1 -1
  276. package/dist/web/components/Popover.js.map +1 -1
  277. package/dist/web/components/Popover.js.zyzz.json +1 -1
  278. package/dist/web/components/Progress.css +1 -1
  279. package/dist/web/components/Progress.d.ts +2 -2
  280. package/dist/web/components/Progress.d.ts.map +1 -1
  281. package/dist/web/components/Progress.js +5 -5
  282. package/dist/web/components/Progress.js.map +1 -1
  283. package/dist/web/components/Progress.js.zyzz.json +1 -1
  284. package/dist/web/components/Qr.css +1 -1
  285. package/dist/web/components/Qr.d.ts +1 -1
  286. package/dist/web/components/Qr.js.map +1 -1
  287. package/dist/web/components/Qr.js.zyzz.json +1 -1
  288. package/dist/web/components/RadioGroup.css +1 -1
  289. package/dist/web/components/RadioGroup.d.ts.map +1 -1
  290. package/dist/web/components/RadioGroup.js +2 -2
  291. package/dist/web/components/RadioGroup.js.map +1 -1
  292. package/dist/web/components/RadioGroup.js.zyzz.json +1 -1
  293. package/dist/web/components/SecretValue.css +1 -1
  294. package/dist/web/components/SecretValue.d.ts +7 -7
  295. package/dist/web/components/SecretValue.js +1 -1
  296. package/dist/web/components/SecretValue.js.map +1 -1
  297. package/dist/web/components/SecretValue.js.zyzz.json +1 -1
  298. package/dist/web/components/Select.css +1 -1
  299. package/dist/web/components/Select.d.ts +64 -2
  300. package/dist/web/components/Select.d.ts.map +1 -1
  301. package/dist/web/components/Select.js +26 -9
  302. package/dist/web/components/Select.js.map +1 -1
  303. package/dist/web/components/Select.js.zyzz.json +1 -1
  304. package/dist/web/components/Separator.css +1 -1
  305. package/dist/web/components/Separator.d.ts +17 -3
  306. package/dist/web/components/Separator.d.ts.map +1 -1
  307. package/dist/web/components/Separator.js +40 -5
  308. package/dist/web/components/Separator.js.map +1 -1
  309. package/dist/web/components/Separator.js.zyzz.json +1 -1
  310. package/dist/web/components/SidebarMenu.css +1 -1
  311. package/dist/web/components/SidebarMenu.d.ts +238 -39
  312. package/dist/web/components/SidebarMenu.d.ts.map +1 -1
  313. package/dist/web/components/SidebarMenu.js +123 -20
  314. package/dist/web/components/SidebarMenu.js.map +1 -1
  315. package/dist/web/components/SidebarMenu.js.zyzz.json +1 -1
  316. package/dist/web/components/Skeleton.css +1 -1
  317. package/dist/web/components/Skeleton.d.ts +5 -3
  318. package/dist/web/components/Skeleton.d.ts.map +1 -1
  319. package/dist/web/components/Skeleton.js +1 -1
  320. package/dist/web/components/Skeleton.js.map +1 -1
  321. package/dist/web/components/Skeleton.js.zyzz.json +1 -1
  322. package/dist/web/components/Slider.css +1 -1
  323. package/dist/web/components/Slider.d.ts.map +1 -1
  324. package/dist/web/components/Slider.js +5 -5
  325. package/dist/web/components/Slider.js.map +1 -1
  326. package/dist/web/components/Slider.js.zyzz.json +1 -1
  327. package/dist/web/components/Snippet.css +1 -1
  328. package/dist/web/components/Snippet.d.ts +27 -65
  329. package/dist/web/components/Snippet.d.ts.map +1 -1
  330. package/dist/web/components/Snippet.js +47 -10
  331. package/dist/web/components/Snippet.js.map +1 -1
  332. package/dist/web/components/Snippet.js.zyzz.json +1 -1
  333. package/dist/web/components/Spinner.css +1 -1
  334. package/dist/web/components/Spinner.d.ts +25 -16
  335. package/dist/web/components/Spinner.d.ts.map +1 -1
  336. package/dist/web/components/Spinner.js +11 -6
  337. package/dist/web/components/Spinner.js.map +1 -1
  338. package/dist/web/components/Spinner.js.zyzz.json +1 -1
  339. package/dist/web/components/SplitBar.css +1 -0
  340. package/dist/web/components/SplitBar.d.ts +99 -0
  341. package/dist/web/components/SplitBar.d.ts.map +1 -0
  342. package/dist/web/components/SplitBar.js +49 -0
  343. package/dist/web/components/SplitBar.js.map +1 -0
  344. package/dist/web/components/SplitBar.js.zyzz.json +1 -0
  345. package/dist/web/components/SplitButton.css +1 -1
  346. package/dist/web/components/SplitButton.d.ts +4 -1
  347. package/dist/web/components/SplitButton.d.ts.map +1 -1
  348. package/dist/web/components/SplitButton.js +2 -2
  349. package/dist/web/components/SplitButton.js.map +1 -1
  350. package/dist/web/components/SplitButton.js.zyzz.json +1 -1
  351. package/dist/web/components/Stack.js.zyzz.json +1 -1
  352. package/dist/web/components/StatusChip.css +1 -0
  353. package/dist/web/components/StatusChip.d.ts +162 -0
  354. package/dist/web/components/StatusChip.d.ts.map +1 -0
  355. package/dist/web/components/StatusChip.js +37 -0
  356. package/dist/web/components/StatusChip.js.map +1 -0
  357. package/dist/web/components/StatusChip.js.zyzz.json +1 -0
  358. package/dist/web/components/StatusRow.css +1 -0
  359. package/dist/web/components/StatusRow.d.ts +121 -0
  360. package/dist/web/components/StatusRow.d.ts.map +1 -0
  361. package/dist/web/components/StatusRow.js +75 -0
  362. package/dist/web/components/StatusRow.js.map +1 -0
  363. package/dist/web/components/StatusRow.js.zyzz.json +1 -0
  364. package/dist/web/components/Stepper.css +1 -1
  365. package/dist/web/components/Stepper.d.ts +10 -7
  366. package/dist/web/components/Stepper.d.ts.map +1 -1
  367. package/dist/web/components/Stepper.js +5 -4
  368. package/dist/web/components/Stepper.js.map +1 -1
  369. package/dist/web/components/Stepper.js.zyzz.json +1 -1
  370. package/dist/web/components/Surface.css +1 -1
  371. package/dist/web/components/Surface.d.ts +123 -101
  372. package/dist/web/components/Surface.d.ts.map +1 -1
  373. package/dist/web/components/Surface.js +20 -10
  374. package/dist/web/components/Surface.js.map +1 -1
  375. package/dist/web/components/Surface.js.zyzz.json +1 -1
  376. package/dist/web/components/Switch.css +1 -1
  377. package/dist/web/components/Switch.d.ts +14 -18
  378. package/dist/web/components/Switch.d.ts.map +1 -1
  379. package/dist/web/components/Switch.js +13 -15
  380. package/dist/web/components/Switch.js.map +1 -1
  381. package/dist/web/components/Switch.js.zyzz.json +1 -1
  382. package/dist/web/components/Table.css +1 -1
  383. package/dist/web/components/Table.d.ts +152 -67
  384. package/dist/web/components/Table.d.ts.map +1 -1
  385. package/dist/web/components/Table.js +92 -24
  386. package/dist/web/components/Table.js.map +1 -1
  387. package/dist/web/components/Table.js.zyzz.json +1 -1
  388. package/dist/web/components/Tabs.css +1 -1
  389. package/dist/web/components/Tabs.d.ts +49 -42
  390. package/dist/web/components/Tabs.d.ts.map +1 -1
  391. package/dist/web/components/Tabs.js +45 -14
  392. package/dist/web/components/Tabs.js.map +1 -1
  393. package/dist/web/components/Tabs.js.zyzz.json +1 -1
  394. package/dist/web/components/TempoLogo.css +1 -0
  395. package/dist/web/components/TempoLogo.d.ts +47 -0
  396. package/dist/web/components/TempoLogo.d.ts.map +1 -0
  397. package/dist/web/components/TempoLogo.js +48 -0
  398. package/dist/web/components/TempoLogo.js.map +1 -0
  399. package/dist/web/components/TempoLogo.js.zyzz.json +1 -0
  400. package/dist/web/components/TextInput.css +1 -0
  401. package/dist/web/components/{Input.d.ts → TextInput.d.ts} +27 -18
  402. package/dist/web/components/TextInput.d.ts.map +1 -0
  403. package/dist/web/components/TextInput.js +138 -0
  404. package/dist/web/components/TextInput.js.map +1 -0
  405. package/dist/web/components/TextInput.js.zyzz.json +1 -0
  406. package/dist/web/components/Textarea.css +1 -1
  407. package/dist/web/components/Textarea.d.ts +29 -74
  408. package/dist/web/components/Textarea.d.ts.map +1 -1
  409. package/dist/web/components/Textarea.js +5 -12
  410. package/dist/web/components/Textarea.js.map +1 -1
  411. package/dist/web/components/Textarea.js.zyzz.json +1 -1
  412. package/dist/web/components/Toast.css +1 -1
  413. package/dist/web/components/Toast.d.ts +4 -4
  414. package/dist/web/components/Toast.d.ts.map +1 -1
  415. package/dist/web/components/Toast.js +9 -9
  416. package/dist/web/components/Toast.js.map +1 -1
  417. package/dist/web/components/Toast.js.zyzz.json +1 -1
  418. package/dist/web/components/Token.css +1 -1
  419. package/dist/web/components/Token.d.ts +32 -90
  420. package/dist/web/components/Token.d.ts.map +1 -1
  421. package/dist/web/components/Token.js +27 -89
  422. package/dist/web/components/Token.js.map +1 -1
  423. package/dist/web/components/Token.js.zyzz.json +1 -1
  424. package/dist/web/components/TokenLogo.css +1 -0
  425. package/dist/web/components/TokenLogo.d.ts +117 -0
  426. package/dist/web/components/TokenLogo.d.ts.map +1 -0
  427. package/dist/web/components/TokenLogo.js +112 -0
  428. package/dist/web/components/TokenLogo.js.map +1 -0
  429. package/dist/web/components/TokenLogo.js.zyzz.json +1 -0
  430. package/dist/web/components/Tooltip.css +1 -1
  431. package/dist/web/components/Tooltip.js.map +1 -1
  432. package/dist/web/components/Tooltip.js.zyzz.json +1 -1
  433. package/dist/web/components/VerificationCode.css +1 -0
  434. package/dist/web/components/VerificationCode.d.ts +47 -0
  435. package/dist/web/components/VerificationCode.d.ts.map +1 -0
  436. package/dist/web/components/VerificationCode.js +55 -0
  437. package/dist/web/components/VerificationCode.js.map +1 -0
  438. package/dist/web/components/VerificationCode.js.zyzz.json +1 -0
  439. package/dist/web/components/Visual.css +1 -0
  440. package/dist/web/components/Visual.d.ts +65 -0
  441. package/dist/web/components/Visual.d.ts.map +1 -0
  442. package/dist/web/components/Visual.js +51 -0
  443. package/dist/web/components/Visual.js.map +1 -0
  444. package/dist/web/components/Visual.js.zyzz.json +1 -0
  445. package/dist/web/components/internal/Field.css +1 -1
  446. package/dist/web/components/internal/Field.d.ts +41 -87
  447. package/dist/web/components/internal/Field.d.ts.map +1 -1
  448. package/dist/web/components/internal/Field.js +8 -7
  449. package/dist/web/components/internal/Field.js.map +1 -1
  450. package/dist/web/components/internal/Field.js.zyzz.json +1 -1
  451. package/dist/web/components/internal/InputGroup.css +1 -1
  452. package/dist/web/components/internal/InputGroup.d.ts +38 -99
  453. package/dist/web/components/internal/InputGroup.d.ts.map +1 -1
  454. package/dist/web/components/internal/InputGroup.js +6 -6
  455. package/dist/web/components/internal/InputGroup.js.map +1 -1
  456. package/dist/web/components/internal/InputGroup.js.zyzz.json +1 -1
  457. package/dist/web/components/internal/Listbox.css +1 -1
  458. package/dist/web/components/internal/Listbox.d.ts +8 -8
  459. package/dist/web/components/internal/Listbox.js.map +1 -1
  460. package/dist/web/components/internal/Listbox.js.zyzz.json +1 -1
  461. package/dist/web/components/internal/RowDisabled.d.ts +3 -0
  462. package/dist/web/components/internal/RowDisabled.d.ts.map +1 -0
  463. package/dist/web/components/internal/RowDisabled.js +9 -0
  464. package/dist/web/components/internal/RowDisabled.js.map +1 -0
  465. package/dist/web/components/internal/RowsSize.d.ts +2 -3
  466. package/dist/web/components/internal/RowsSize.d.ts.map +1 -1
  467. package/dist/web/components/internal/RowsSize.js +3 -3
  468. package/dist/web/components/internal/RowsSize.js.map +1 -1
  469. package/dist/web/components/internal/TabBar.d.ts +33 -0
  470. package/dist/web/components/internal/TabBar.d.ts.map +1 -0
  471. package/dist/web/components/internal/TabBar.js +30 -0
  472. package/dist/web/components/internal/TabBar.js.map +1 -0
  473. package/dist/web/components/internal/Text.d.ts +9 -0
  474. package/dist/web/components/internal/Text.d.ts.map +1 -0
  475. package/dist/web/components/internal/Text.js +35 -0
  476. package/dist/web/components/internal/Text.js.map +1 -0
  477. package/dist/web/index.d.ts +18 -6
  478. package/dist/web/index.d.ts.map +1 -1
  479. package/dist/web/index.js +18 -6
  480. package/dist/web/index.js.map +1 -1
  481. package/dist/web/index.js.zyzz.json +1 -1
  482. package/dist/web/vars.d.ts +612 -704
  483. package/dist/web/vars.d.ts.map +1 -1
  484. package/dist/web/vars.js +7 -6
  485. package/dist/web/vars.js.map +1 -1
  486. package/dist/web/vars.js.zyzz.json +1 -1
  487. package/dist/web/zyzz.config.d.ts +3041 -3506
  488. package/dist/web/zyzz.config.d.ts.map +1 -1
  489. package/dist/web/zyzz.config.js +29 -3
  490. package/dist/web/zyzz.config.js.map +1 -1
  491. package/dist/web/zyzz.config.js.zyzz.json +1 -1
  492. package/package.json +149 -5
  493. package/src/fonts/JetBrainsMono-Bold-latin.woff2 +0 -0
  494. package/src/fonts/JetBrainsMono-Bold-other.woff2 +0 -0
  495. package/src/fonts/JetBrainsMono-Bold.woff2 +0 -0
  496. package/src/fonts/JetBrainsMono-Medium-latin.woff2 +0 -0
  497. package/src/fonts/JetBrainsMono-Medium-other.woff2 +0 -0
  498. package/src/fonts/JetBrainsMono-Medium.woff2 +0 -0
  499. package/src/fonts/{Geist-OFL.txt → JetBrainsMono-OFL.txt} +4 -3
  500. package/src/fonts/JetBrainsMono-Regular-latin.woff2 +0 -0
  501. package/src/fonts/JetBrainsMono-Regular-other.woff2 +0 -0
  502. package/src/fonts/JetBrainsMono-Regular.woff2 +0 -0
  503. package/src/fonts/JetBrainsMono-SemiBold-latin.woff2 +0 -0
  504. package/src/fonts/JetBrainsMono-SemiBold-other.woff2 +0 -0
  505. package/src/fonts/JetBrainsMono-SemiBold.woff2 +0 -0
  506. package/src/fonts/Pilat-Black-latin.woff2 +0 -0
  507. package/src/fonts/Pilat-Black-other.woff2 +0 -0
  508. package/src/fonts/Pilat-Black.woff2 +0 -0
  509. package/src/fonts/Pilat-Bold-latin.woff2 +0 -0
  510. package/src/fonts/Pilat-Bold-other.woff2 +0 -0
  511. package/src/fonts/Pilat-Bold.woff2 +0 -0
  512. package/src/fonts/Pilat-Book-latin.woff2 +0 -0
  513. package/src/fonts/Pilat-Book-other.woff2 +0 -0
  514. package/src/fonts/Pilat-Book.woff2 +0 -0
  515. package/src/fonts/Pilat-Demi-latin.woff2 +0 -0
  516. package/src/fonts/Pilat-Demi-other.woff2 +0 -0
  517. package/src/fonts/Pilat-Demi.woff2 +0 -0
  518. package/src/fonts/Pilat-Heavy-latin.woff2 +0 -0
  519. package/src/fonts/Pilat-Heavy-other.woff2 +0 -0
  520. package/src/fonts/Pilat-Heavy.woff2 +0 -0
  521. package/src/fonts/Pilat-Light-latin.woff2 +0 -0
  522. package/src/fonts/Pilat-Light-other.woff2 +0 -0
  523. package/src/fonts/Pilat-Light.woff2 +0 -0
  524. package/src/fonts/Pilat-Regular-latin.woff2 +0 -0
  525. package/src/fonts/Pilat-Regular-other.woff2 +0 -0
  526. package/src/fonts/Pilat-Regular.woff2 +0 -0
  527. package/src/fonts/Pilat-Thin-latin.woff2 +0 -0
  528. package/src/fonts/Pilat-Thin-other.woff2 +0 -0
  529. package/src/fonts/Pilat-Thin.woff2 +0 -0
  530. package/src/fonts/README.md +15 -2
  531. package/src/oxlint/rules/PreferComponent.ts +6 -6
  532. package/src/web/README.md +7 -7
  533. package/src/web/components/Accordion.tsx +8 -8
  534. package/src/web/components/AgentLogo.tsx +330 -0
  535. package/src/web/components/Alert.tsx +321 -0
  536. package/src/web/components/AlertDialog.tsx +47 -111
  537. package/src/web/components/Amount.tsx +6 -6
  538. package/src/web/components/AmountInput.tsx +59 -134
  539. package/src/web/components/AppShell.tsx +367 -43
  540. package/src/web/components/AssetChip.tsx +110 -0
  541. package/src/web/components/Autocomplete.tsx +4 -4
  542. package/src/web/components/Avatar.tsx +42 -119
  543. package/src/web/components/Badge.tsx +122 -0
  544. package/src/web/components/Banner.tsx +13 -11
  545. package/src/web/components/BarChart.tsx +427 -0
  546. package/src/web/components/Breadcrumbs.tsx +7 -7
  547. package/src/web/components/Button.tsx +159 -41
  548. package/src/web/components/ButtonGroup.tsx +59 -0
  549. package/src/web/components/Calendar.tsx +15 -13
  550. package/src/web/components/Checkbox.tsx +14 -11
  551. package/src/web/components/ChoiceGroup.tsx +107 -26
  552. package/src/web/components/Choicebox.tsx +30 -28
  553. package/src/web/components/Combobox.tsx +10 -8
  554. package/src/web/components/CopyButton.tsx +1 -1
  555. package/src/web/components/DatePicker.tsx +42 -61
  556. package/src/web/components/Dialog.tsx +273 -71
  557. package/src/web/components/Drawer.tsx +45 -18
  558. package/src/web/components/Empty.tsx +13 -8
  559. package/src/web/components/Field.tsx +78 -132
  560. package/src/web/components/Fieldset.tsx +16 -37
  561. package/src/web/components/Frame.tsx +13 -20
  562. package/src/web/components/Gauge.tsx +4 -4
  563. package/src/web/components/Hex.tsx +13 -56
  564. package/src/web/components/IconTile.tsx +57 -0
  565. package/src/web/components/Identicon.tsx +1 -10
  566. package/src/web/components/Kbd.tsx +8 -8
  567. package/src/web/components/ListGroup.tsx +857 -0
  568. package/src/web/components/LoadingDots.tsx +1 -0
  569. package/src/web/components/Menu.tsx +50 -35
  570. package/src/web/components/NetworkLogo.tsx +208 -0
  571. package/src/web/components/NumberField.tsx +18 -33
  572. package/src/web/components/OtpField.tsx +51 -102
  573. package/src/web/components/Pagination.tsx +16 -14
  574. package/src/web/components/Popover.tsx +8 -8
  575. package/src/web/components/Progress.tsx +7 -5
  576. package/src/web/components/Qr.tsx +1 -1
  577. package/src/web/components/RadioGroup.tsx +9 -7
  578. package/src/web/components/SecretValue.tsx +11 -11
  579. package/src/web/components/Select.tsx +89 -26
  580. package/src/web/components/Separator.tsx +95 -7
  581. package/src/web/components/SidebarMenu.tsx +390 -53
  582. package/src/web/components/Skeleton.tsx +5 -5
  583. package/src/web/components/Slider.tsx +12 -6
  584. package/src/web/components/Snippet.tsx +134 -75
  585. package/src/web/components/Spinner.tsx +38 -12
  586. package/src/web/components/SplitBar.tsx +158 -0
  587. package/src/web/components/SplitButton.tsx +26 -17
  588. package/src/web/components/StatusChip.tsx +138 -0
  589. package/src/web/components/StatusRow.tsx +162 -0
  590. package/src/web/components/Stepper.tsx +11 -8
  591. package/src/web/components/Surface.tsx +172 -93
  592. package/src/web/components/Switch.tsx +25 -29
  593. package/src/web/components/Table.tsx +281 -70
  594. package/src/web/components/Tabs.tsx +93 -50
  595. package/src/web/components/TempoLogo.tsx +89 -0
  596. package/src/web/components/{Input.tsx → TextInput.tsx} +87 -118
  597. package/src/web/components/Textarea.tsx +33 -78
  598. package/src/web/components/Toast.tsx +24 -22
  599. package/src/web/components/Token.tsx +106 -172
  600. package/src/web/components/TokenLogo.tsx +217 -0
  601. package/src/web/components/Tooltip.tsx +3 -3
  602. package/src/web/components/VerificationCode.tsx +97 -0
  603. package/src/web/components/Visual.tsx +166 -0
  604. package/src/web/components/internal/Field.ts +63 -72
  605. package/src/web/components/internal/InputGroup.ts +44 -101
  606. package/src/web/components/internal/Listbox.ts +20 -20
  607. package/src/web/components/internal/RowDisabled.ts +9 -0
  608. package/src/web/components/internal/RowsSize.ts +3 -5
  609. package/src/web/components/internal/TabBar.ts +52 -0
  610. package/src/web/components/internal/Text.ts +39 -0
  611. package/src/web/components/visuals/Passkey.svg +21 -0
  612. package/src/web/index.ts +18 -6
  613. package/src/web/logos/Base.svg +10 -0
  614. package/src/web/logos/Ethereum.svg +16 -0
  615. package/src/web/logos/HyperEVM.svg +27 -0
  616. package/src/web/logos/Polygon.svg +15 -0
  617. package/src/web/logos/README.md +14 -0
  618. package/src/web/logos/Solana.svg +11 -0
  619. package/src/web/logos/Tempo.svg +11 -0
  620. package/src/web/vars.ts +493 -534
  621. package/src/web/zyzz.config.ts +255 -12
  622. package/dist/fonts/GeistMono-Variable.woff2 +0 -0
  623. package/dist/web/components/AlertDialog.css +0 -1
  624. package/dist/web/components/Callout.css +0 -1
  625. package/dist/web/components/Callout.d.ts +0 -161
  626. package/dist/web/components/Callout.d.ts.map +0 -1
  627. package/dist/web/components/Callout.js +0 -83
  628. package/dist/web/components/Callout.js.map +0 -1
  629. package/dist/web/components/Callout.js.zyzz.json +0 -1
  630. package/dist/web/components/IconChip.css +0 -1
  631. package/dist/web/components/IconChip.d.ts +0 -53
  632. package/dist/web/components/IconChip.d.ts.map +0 -1
  633. package/dist/web/components/IconChip.js +0 -27
  634. package/dist/web/components/IconChip.js.map +0 -1
  635. package/dist/web/components/IconChip.js.zyzz.json +0 -1
  636. package/dist/web/components/Input.css +0 -1
  637. package/dist/web/components/Input.d.ts.map +0 -1
  638. package/dist/web/components/Input.js +0 -118
  639. package/dist/web/components/Input.js.map +0 -1
  640. package/dist/web/components/Input.js.zyzz.json +0 -1
  641. package/dist/web/components/Rows.css +0 -1
  642. package/dist/web/components/Rows.d.ts +0 -484
  643. package/dist/web/components/Rows.d.ts.map +0 -1
  644. package/dist/web/components/Rows.js +0 -171
  645. package/dist/web/components/Rows.js.map +0 -1
  646. package/dist/web/components/Rows.js.zyzz.json +0 -1
  647. package/dist/web/components/Tag.css +0 -1
  648. package/dist/web/components/Tag.d.ts +0 -171
  649. package/dist/web/components/Tag.d.ts.map +0 -1
  650. package/dist/web/components/Tag.js +0 -52
  651. package/dist/web/components/Tag.js.map +0 -1
  652. package/dist/web/components/Tag.js.zyzz.json +0 -1
  653. package/dist/web/components/internal/FieldVariant.d.ts +0 -4
  654. package/dist/web/components/internal/FieldVariant.d.ts.map +0 -1
  655. package/dist/web/components/internal/FieldVariant.js +0 -4
  656. package/dist/web/components/internal/FieldVariant.js.map +0 -1
  657. package/src/fonts/GeistMono-Variable.woff2 +0 -0
  658. package/src/web/components/Callout.tsx +0 -241
  659. package/src/web/components/IconChip.tsx +0 -54
  660. package/src/web/components/Rows.tsx +0 -588
  661. package/src/web/components/Tag.tsx +0 -149
  662. package/src/web/components/internal/FieldVariant.ts +0 -6
@@ -1,588 +0,0 @@
1
- import { useRender } from '@base-ui/react/use-render'
2
- import type { ComponentPropsWithRef, ReactNode } from 'react'
3
- import { use } from 'react'
4
- import type * as zyzz from 'zyzz'
5
- import { keyframes } from 'zyzz/web'
6
- import { ChevronRight } from '../icons/ChevronRight.js'
7
- import { style, variants } from '../zyzz.config.js'
8
- import * as RowsSize from './internal/RowsSize.js'
9
-
10
- /**
11
- * A stack of divided rows for settings, details and navigation lists. `Rows` renders `Rows.Root`.
12
- * A row is a `button` when it has an `action` or `onClick`, any element passed to `render` (such as
13
- * a link), and a plain `div` otherwise.
14
- *
15
- * - Write row text that names the destination or action, since chevrons are hidden from assistive
16
- * technology.
17
- * - Set `aria-expanded` on expandable rows and mount a `Rows.Panel` right after the row while open.
18
- * - Avoid nesting buttons or links inside a pressable row.
19
- *
20
- * @example
21
- * <Rows>
22
- * <Rows.Row action="navigation" render={<a href="/activity" />}>
23
- * Activity
24
- * </Rows.Row>
25
- * </Rows>
26
- *
27
- * @see {@link https://base-ui.com/react/utils/use-render | Base UI useRender}
28
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles/list_role | MDN list role}
29
- * @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/ | WAI-ARIA APG Disclosure pattern}
30
- * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html | WCAG 2.2 Info and Relationships}
31
- * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html | WCAG 2.2 Name, Role, Value}
32
- * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html | WCAG 2.2 Target Size (Minimum)}
33
- */
34
- export function Rows(props: Rows.Props) {
35
- return <Rows.Root {...props} />
36
- }
37
-
38
- export namespace Rows {
39
- export type Props = Root.Props
40
-
41
- /** Secondary text under a `Rows.Title`, usually inside `Rows.Info`. */
42
- export function Description(props: Description.Props) {
43
- const { className, vars, ...attributes } = props
44
-
45
- return <span {...attributes} {...styles.description({ className, style: props.style, vars })} />
46
- }
47
-
48
- export namespace Description {
49
- export type Props = ComponentPropsWithRef<'span'> &
50
- zyzz.Props.Variants<typeof styles.description>
51
- }
52
-
53
- /**
54
- * A block wrapper for a run of rows. `RowGroupLoader` renders the same wrapper while loading.
55
- * Directly after an expanded row, or after a group that follows one, its dividers start at the
56
- * row text.
57
- */
58
- export function Group(props: Group.Props) {
59
- const { className, vars, ...attributes } = props
60
-
61
- return (
62
- <div
63
- {...attributes}
64
- data-group=""
65
- {...styles.group({ className, style: props.style, vars })}
66
- />
67
- )
68
- }
69
-
70
- export namespace Group {
71
- export type Props = ComponentPropsWithRef<'div'> & zyzz.Props.Variants<typeof styles.group>
72
- }
73
-
74
- /**
75
- * Groups a `Rows.Title` and `Rows.Description` beside a control, or stacks a `Rows.Label` over a
76
- * short paragraph that does not fit on one line beside it.
77
- */
78
- export function Info(props: Info.Props) {
79
- const { className, vars, ...attributes } = props
80
-
81
- return (
82
- <span
83
- {...attributes}
84
- data-info=""
85
- {...styles.info({ className, style: props.style, vars })}
86
- />
87
- )
88
- }
89
-
90
- export namespace Info {
91
- export type Props = ComponentPropsWithRef<'span'> & zyzz.Props.Variants<typeof styles.info>
92
- }
93
-
94
- /**
95
- * The key of a key-value row. It keeps its width, holds at least half the row, and pushes the
96
- * content after it to the end. The value then takes at most the other half, so a `Hex` truncates
97
- * and long text wraps.
98
- */
99
- export function Label(props: Label.Props) {
100
- const { className, vars, ...attributes } = props
101
-
102
- return (
103
- <span
104
- {...attributes}
105
- data-label=""
106
- {...styles.label({ className, style: props.style, vars })}
107
- />
108
- )
109
- }
110
-
111
- export namespace Label {
112
- export type Props = ComponentPropsWithRef<'span'> & zyzz.Props.Variants<typeof styles.label>
113
- }
114
-
115
- /**
116
- * Content revealed by an expandable row. Mount it directly after the row while open. It eases in
117
- * on mount, and the divider above it starts at the row text.
118
- */
119
- export function Panel(props: Panel.Props) {
120
- const { className, vars, ...attributes } = props
121
-
122
- return (
123
- <div
124
- {...attributes}
125
- data-divider=""
126
- data-panel=""
127
- {...styles.panel({ className, style: props.style, vars })}
128
- />
129
- )
130
- }
131
-
132
- export namespace Panel {
133
- export type Props = ComponentPropsWithRef<'div'> & zyzz.Props.Variants<typeof styles.panel>
134
- }
135
-
136
- /**
137
- * Stands in for a `Rows.Panel` while its content loads. It renders `role="status"` labelled
138
- * `Loading` (override with `aria-label`) and three pulsing bars that hold still under reduced
139
- * motion.
140
- */
141
- export function PanelLoader(props: PanelLoader.Props) {
142
- const { className, vars, ...attributes } = props
143
-
144
- return (
145
- <div
146
- aria-label="Loading"
147
- role="status"
148
- {...attributes}
149
- data-divider=""
150
- data-panel=""
151
- {...styles.panelLoader({ className, style: props.style, vars })}
152
- >
153
- <span {...styles.bar({ style: { width: '60%' } })} />
154
- <span {...styles.bar({ style: { width: '90%' } })} />
155
- <span {...styles.bar({ style: { width: '40%' } })} />
156
- </div>
157
- )
158
- }
159
-
160
- export namespace PanelLoader {
161
- export type Props = Omit<ComponentPropsWithRef<'div'>, 'children'> &
162
- zyzz.Props.Variants<typeof styles.panelLoader>
163
- }
164
-
165
- /**
166
- * `size` sets one row height for every row. A 32px control fits `small` and `medium` rows, and a
167
- * 40px control fits `large` rows, without changing that height. `inset` dividers start where the
168
- * row text does. Dividers in a `Rows.Panel` or `Rows.Group` directly after an expanded row start
169
- * there with `full` dividers too.
170
- * Inside a `Surface`, rows reach its edges. Variants default to `dividers="inset"`,
171
- * `size="medium"`.
172
- */
173
- export function Root(props: Root.Props) {
174
- const { className, dividers, size, vars, ...attributes } = props
175
-
176
- return (
177
- <RowsSize.Context value={size ?? 'medium'}>
178
- <div
179
- {...attributes}
180
- data-rows=""
181
- {...styles.root({ className, dividers, size, style: props.style, vars })}
182
- />
183
- </RowsSize.Context>
184
- )
185
- }
186
-
187
- export namespace Root {
188
- export type Props = ComponentPropsWithRef<'div'> & zyzz.Props.Variants<typeof styles.root>
189
- }
190
-
191
- /**
192
- * Renders a button when pressable, or a link or other element through `render`. `ref` and
193
- * attributes reach that element. `spacing` picks which sides keep padding and defaults to `both`.
194
- *
195
- * @example
196
- * <Rows>
197
- * <Rows.Row action="expand" aria-expanded={open} onClick={() => setOpen(!open)}>
198
- * Details
199
- * </Rows.Row>
200
- * {open && <Rows.Panel>Chain ID 4217</Rows.Panel>}
201
- * </Rows>
202
- */
203
- export function Row(props: Row.Props) {
204
- const {
205
- action = 'none',
206
- children,
207
- className,
208
- disabled,
209
- ref,
210
- render,
211
- spacing,
212
- vars,
213
- ...attributes
214
- } = props
215
- const size = use(RowsSize.Context) ?? 'medium'
216
- const button = (action !== 'none' || attributes.onClick !== undefined) && render === undefined
217
-
218
- return useRender({
219
- defaultTagName: button ? 'button' : 'div',
220
- props: {
221
- ...attributes,
222
- ...(button && { type: 'button' }),
223
- ...(disabled && (button ? { disabled: true } : { 'aria-disabled': true })),
224
- ...styles.row({ className, size, spacing, style: props.style, vars }),
225
- 'data-action': action === 'none' ? undefined : action,
226
- 'data-divider': '',
227
- children: (
228
- <>
229
- <span {...styles.content()}>{children}</span>
230
- {action === 'expand' && <ChevronRight data-indicator="" {...styles.indicator()} />}
231
- {action === 'navigation' && <ChevronRight {...styles.indicator()} />}
232
- </>
233
- ),
234
- },
235
- ref,
236
- render,
237
- })
238
- }
239
-
240
- export namespace Row {
241
- export type Props = Omit<useRender.ComponentProps<'div'>, 'children'> &
242
- Omit<zyzz.Props.Variants<typeof styles.row>, 'size'> & {
243
- /**
244
- * `expand` shows a trailing chevron that turns from right to down while `aria-expanded` is
245
- * true. `navigation` shows a trailing chevron. Either makes the row a button unless `render`
246
- * is set.
247
- * @default 'none'
248
- */
249
- action?: 'expand' | 'navigation' | 'none' | undefined
250
- children?: ReactNode | undefined
251
-
252
- /**
253
- * Sets native `disabled` on a button row and `aria-disabled` otherwise. With `render`, only
254
- * `aria-disabled` is set, so block activation of the rendered element yourself.
255
- */
256
- disabled?: boolean | undefined
257
- }
258
- }
259
-
260
- /** Primary text of a row, usually inside `Rows.Info` above a `Rows.Description`. */
261
- export function Title(props: Title.Props) {
262
- const { className, vars, ...attributes } = props
263
-
264
- return <span {...attributes} {...styles.title({ className, style: props.style, vars })} />
265
- }
266
-
267
- export namespace Title {
268
- export type Props = ComponentPropsWithRef<'span'> & zyzz.Props.Variants<typeof styles.title>
269
- }
270
-
271
- /**
272
- * Stands in for a `Rows.Group` while its rows load. It renders `role="status"` labelled `Loading`
273
- * (override with `aria-label`) and two placeholder rows at the `Rows.Root` size.
274
- */
275
- export function RowGroupLoader(props: RowGroupLoader.Props) {
276
- const { className, vars, ...attributes } = props
277
- const size = use(RowsSize.Context) ?? 'medium'
278
-
279
- return (
280
- <div
281
- aria-label="Loading"
282
- role="status"
283
- {...attributes}
284
- data-group=""
285
- {...styles.group({ className, style: props.style, vars })}
286
- >
287
- {['30%', '45%'].map((width) => (
288
- <div key={width} data-divider="" {...styles.row({ size })}>
289
- <span {...styles.content()}>
290
- <span {...styles.bar({ style: { width } })} />
291
- </span>
292
- </div>
293
- ))}
294
- </div>
295
- )
296
- }
297
-
298
- export namespace RowGroupLoader {
299
- export type Props = Omit<ComponentPropsWithRef<'div'>, 'children'> &
300
- zyzz.Props.Variants<typeof styles.group>
301
- }
302
- }
303
-
304
- const pulse = keyframes(
305
- { '0%, 100%': { opacity: 1 }, '50%': { opacity: 0.4 } },
306
- { id: 'tds/web/rows/pulse' },
307
- )
308
-
309
- namespace styles {
310
- export const bar = style(
311
- {
312
- animation: `${pulse} 1.4s ease-in-out infinite !custom`,
313
- backgroundColor: 'grayAlpha.200',
314
- borderRadius: 'full',
315
- display: 'block',
316
- height: '12',
317
- '@media (prefers-reduced-motion: reduce)': { animation: 'none !custom' },
318
- },
319
- { id: 'tds/web/rows/bar' },
320
- )
321
-
322
- export const content = style(
323
- {
324
- alignItems: 'center',
325
- columnGap: '12',
326
- display: 'flex',
327
- flexGrow: '1 !custom',
328
- minWidth: '0',
329
- textAlign: 'start',
330
- },
331
- { id: 'tds/web/rows/content' },
332
- )
333
-
334
- export const description = variants(
335
- { base: { color: 'gray.900', display: 'block', typography: 'copy.13' } },
336
- { id: 'tds/web/rows/description' },
337
- )
338
-
339
- export const info = variants(
340
- {
341
- base: {
342
- display: 'flex',
343
- flexDirection: 'column',
344
- flexGrow: '1 !custom',
345
- minWidth: '0',
346
- rowGap: '4',
347
- },
348
- },
349
- { id: 'tds/web/rows/info' },
350
- )
351
-
352
- export const group = variants({ base: { display: 'block' } }, { id: 'tds/web/rows/group' })
353
-
354
- export const indicator = style(
355
- {
356
- color: 'gray.700',
357
- flexShrink: '0 !custom',
358
- transitionDuration: '240',
359
- transitionProperty: 'transform',
360
- transitionTimingFunction: 'spring',
361
- '@media (prefers-reduced-motion: reduce)': { transitionProperty: 'none' },
362
- },
363
- { id: 'tds/web/rows/indicator' },
364
- )
365
-
366
- export const title = variants(
367
- { base: { color: 'foreground', display: 'block', typography: 'copy.14.strong' } },
368
- { id: 'tds/web/rows/title' },
369
- )
370
-
371
- export const label = variants(
372
- {
373
- base: {
374
- color: 'gray.900',
375
- flexShrink: '0 !custom',
376
- marginInlineEnd: 'auto !custom',
377
- // Holding half the row leaves the value at most the other half, however long it is.
378
- minWidth: '50% !custom',
379
- selectors: {
380
- // A `Hex` value yields the width of its leading identicon and gap back from this half.
381
- '&:has(~ [data-hex] > [data-identicon="16"]:first-child)': {
382
- minWidth: 'calc(50% - 24px) !custom',
383
- },
384
- '&:has(~ [data-hex] > [data-identicon="24"]:first-child)': {
385
- minWidth: 'calc(50% - 32px) !custom',
386
- },
387
- '&:has(~ [data-hex] > [data-identicon="32"]:first-child)': {
388
- minWidth: 'calc(50% - 40px) !custom',
389
- },
390
- '&:has(~ [data-hex] > [data-identicon="40"]:first-child)': {
391
- minWidth: 'calc(50% - 48px) !custom',
392
- },
393
- '&:has(~ [data-hex] > [data-identicon="48"]:first-child)': {
394
- minWidth: 'calc(50% - 56px) !custom',
395
- },
396
- '&:has(~ [data-hex] > [data-identicon="64"]:first-child)': {
397
- minWidth: 'calc(50% - 72px) !custom',
398
- },
399
- },
400
- },
401
- },
402
- { id: 'tds/web/rows/label' },
403
- )
404
-
405
- export const panel = variants(
406
- {
407
- base: {
408
- boxSizing: 'border-box',
409
- color: 'gray.900',
410
- padding: '16',
411
- transitionDuration: '200',
412
- transitionProperty: 'opacity, transform',
413
- transitionTimingFunction: 'snappy',
414
- typography: 'copy.14',
415
- // Consumers mount the panel when a row expands, so it eases in from its starting style.
416
- '@starting-style': { opacity: '0 !custom', transform: 'translateY(-4px) !custom' },
417
- '@media (prefers-reduced-motion: reduce)': { transitionProperty: 'opacity' },
418
- },
419
- },
420
- { id: 'tds/web/rows/panel' },
421
- )
422
-
423
- export const panelLoader = variants(
424
- {
425
- base: {
426
- boxSizing: 'border-box',
427
- display: 'flex',
428
- flexDirection: 'column',
429
- padding: '16',
430
- rowGap: '12',
431
- },
432
- },
433
- { id: 'tds/web/rows/panel-loader' },
434
- )
435
-
436
- export const root = variants(
437
- {
438
- base: {
439
- boxSizing: 'border-box',
440
- color: 'foreground',
441
- display: 'block',
442
- typography: 'label.14.strong',
443
- selectors: {
444
- '& [data-divider]': { position: 'relative' },
445
- // The faintest gray keeps dividers quiet on filled surfaces as well as on the page.
446
- '& [data-divider]::before': {
447
- backgroundColor: 'grayAlpha.100',
448
- content: '"" !custom',
449
- height: '1',
450
- insetBlockStart: '0',
451
- pointerEvents: 'none',
452
- position: 'absolute',
453
- },
454
- '& > [data-divider]:first-child::before': { display: 'none' },
455
- // A hovered row's fill would otherwise sit between two visible separators.
456
- '& :is(button, a[href], [role="button"])[data-divider]:hover:not(:disabled, [aria-disabled="true"])::before':
457
- { display: 'none' },
458
- '& :is(button, a[href], [role="button"])[data-divider]:hover:not(:disabled, [aria-disabled="true"]) + [data-divider]::before':
459
- { display: 'none' },
460
- '& :is(button, a[href], [role="button"])[data-divider]:hover:not(:disabled, [aria-disabled="true"]) + [data-group] > [data-divider]:first-child::before':
461
- { display: 'none' },
462
- },
463
- },
464
- // Inset dividers start where the row text does: 16, 20 or 24px in.
465
- compoundVariants: [
466
- {
467
- when: { dividers: 'inset', size: 'large' },
468
- style: { selectors: { '& [data-divider]::before': { insetInline: '24' } } },
469
- },
470
- {
471
- when: { dividers: 'inset', size: 'medium' },
472
- style: { selectors: { '& [data-divider]::before': { insetInline: '20' } } },
473
- },
474
- ],
475
- defaultVariants: { dividers: 'inset', size: 'medium' },
476
- variants: {
477
- dividers: {
478
- full: { selectors: { '& [data-divider]::before': { insetInline: '0' } } },
479
- inset: { selectors: { '& [data-divider]::before': { insetInline: '16' } } },
480
- none: { selectors: { '& [data-divider]::before': { display: 'none' } } },
481
- },
482
- // Panels share the rows' side padding so their text lines up. Info takes back the block
483
- // padding that small and medium rows trim for controls, so two-line text keeps its room.
484
- // Dividers in content revealed by an expanded row start at the row text, even with `full`
485
- // dividers, so the content reads as nested under the row.
486
- size: {
487
- large: {
488
- selectors: {
489
- '& :is([aria-expanded="true"] + [data-group], [aria-expanded="true"] + [data-group] + [data-group]) > [data-divider]::before':
490
- { insetInlineStart: '24' },
491
- '& [aria-expanded="true"] + [data-panel]::before': { insetInlineStart: '24' },
492
- '& [data-panel]': { paddingInline: '24' },
493
- },
494
- },
495
- medium: {
496
- selectors: {
497
- '& :is([aria-expanded="true"] + [data-group], [aria-expanded="true"] + [data-group] + [data-group]) > [data-divider]::before':
498
- { insetInlineStart: '20' },
499
- '& [aria-expanded="true"] + [data-panel]::before': { insetInlineStart: '20' },
500
- '& [data-info]': { paddingBlock: '4' },
501
- '& [data-panel]': { paddingInline: '20' },
502
- },
503
- },
504
- small: {
505
- typography: 'label.13.strong',
506
- selectors: {
507
- '& :is([aria-expanded="true"] + [data-group], [aria-expanded="true"] + [data-group] + [data-group]) > [data-divider]::before':
508
- { insetInlineStart: '16' },
509
- '& [aria-expanded="true"] + [data-panel]::before': { insetInlineStart: '16' },
510
- '& [data-info]': { paddingBlock: '2' },
511
- },
512
- },
513
- },
514
- },
515
- },
516
- { id: 'tds/web/rows/root' },
517
- )
518
-
519
- export const row = variants(
520
- {
521
- base: {
522
- alignItems: 'center',
523
- backgroundColor: 'transparent !custom',
524
- border: 'none !custom',
525
- boxSizing: 'border-box',
526
- color: 'inherit !custom',
527
- columnGap: '12',
528
- display: 'flex',
529
- font: 'inherit !custom',
530
- outlineColor: 'transparent !custom',
531
- outlineOffset: '0',
532
- outlineStyle: 'solid !custom',
533
- outlineWidth: '2',
534
- paddingBlock: '8',
535
- textAlign: 'start',
536
- textDecoration: 'none !custom',
537
- transitionDuration: '160',
538
- transitionProperty: 'background-color, opacity, outline-color, outline-offset',
539
- transitionTimingFunction: 'snappy',
540
- width: '100% !custom',
541
- selectors: {
542
- '&:is(button, a[href], [role="button"])': { cursor: 'pointer' },
543
- '&:is(button, a[href], [role="button"]):hover:not(:disabled, [aria-disabled="true"])': {
544
- backgroundColor: 'grayAlpha.100',
545
- },
546
- '&:is(button, a[href], [role="button"]):active:not(:disabled, [aria-disabled="true"])': {
547
- backgroundColor: 'grayAlpha.200',
548
- },
549
- '&:is(button, a[href], [role="button"]):focus-visible': {
550
- outlineColor: 'blue.700',
551
- outlineOffset: '-2',
552
- },
553
- '&:disabled, &[aria-disabled="true"]': { cursor: 'default', opacity: 'disabled' },
554
- '&[aria-expanded="true"] [data-indicator]': { transform: 'rotate(90deg) !custom' },
555
- },
556
- '@media (prefers-reduced-motion: reduce)': {
557
- transitionProperty: 'background-color, opacity, outline-color',
558
- },
559
- },
560
- // Side padding grows with the row: 16, 20 and 24px.
561
- compoundVariants: [
562
- { when: { size: 'large', spacing: 'both' }, style: { paddingInline: '24' } },
563
- { when: { size: 'large', spacing: 'end' }, style: { paddingInlineEnd: '24' } },
564
- { when: { size: 'large', spacing: 'start' }, style: { paddingInlineStart: '24' } },
565
- { when: { size: 'medium', spacing: 'both' }, style: { paddingInline: '20' } },
566
- { when: { size: 'medium', spacing: 'end' }, style: { paddingInlineEnd: '20' } },
567
- { when: { size: 'medium', spacing: 'start' }, style: { paddingInlineStart: '20' } },
568
- ],
569
- defaultVariants: { size: 'medium', spacing: 'both' },
570
- variants: {
571
- // 36, 40 and 56px. Block padding leaves room for a 32px control in small and medium rows and a
572
- // 40px control in large rows, so a row with a control matches the text rows beside it.
573
- size: {
574
- large: { minHeight: '56' },
575
- medium: { minHeight: '40', paddingBlock: '4' },
576
- small: { minHeight: '36', paddingBlock: '2' },
577
- },
578
- spacing: {
579
- both: { paddingInline: '16' },
580
- end: { paddingInlineEnd: '16' },
581
- none: {},
582
- start: { paddingInlineStart: '16' },
583
- },
584
- },
585
- },
586
- { id: 'tds/web/rows/row' },
587
- )
588
- }