@hanzo/ui 8.29.45 → 8.30.3

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 (954) hide show
  1. package/dist/agents/Attachments.cjs +13 -3
  2. package/dist/agents/Attachments.d.ts +1 -1
  3. package/dist/agents/Attachments.d.ts.map +1 -1
  4. package/dist/agents/Attachments.js +13 -3
  5. package/dist/agents/Attachments.js.map +1 -1
  6. package/dist/agents/Board.cjs +9 -5
  7. package/dist/agents/Board.d.ts.map +1 -1
  8. package/dist/agents/Board.js +9 -5
  9. package/dist/agents/Board.js.map +1 -1
  10. package/dist/agents/ChannelMembers.cjs +66 -1
  11. package/dist/agents/ChannelMembers.d.ts.map +1 -1
  12. package/dist/agents/ChannelMembers.js +66 -1
  13. package/dist/agents/ChannelMembers.js.map +1 -1
  14. package/dist/agents/ChannelNotes.cjs +38 -2
  15. package/dist/agents/ChannelNotes.d.ts.map +1 -1
  16. package/dist/agents/ChannelNotes.js +38 -2
  17. package/dist/agents/ChannelNotes.js.map +1 -1
  18. package/dist/agents/Choice.cjs +7 -4
  19. package/dist/agents/Choice.d.ts.map +1 -1
  20. package/dist/agents/Choice.js +7 -4
  21. package/dist/agents/Choice.js.map +1 -1
  22. package/dist/agents/Console.cjs +15 -8
  23. package/dist/agents/Console.d.ts +1 -1
  24. package/dist/agents/Console.d.ts.map +1 -1
  25. package/dist/agents/Console.js +15 -8
  26. package/dist/agents/Console.js.map +1 -1
  27. package/dist/agents/DiffViewer.cjs +52 -4
  28. package/dist/agents/DiffViewer.d.ts.map +1 -1
  29. package/dist/agents/DiffViewer.js +52 -4
  30. package/dist/agents/DiffViewer.js.map +1 -1
  31. package/dist/agents/DirectoryModal.cjs +37 -15
  32. package/dist/agents/DirectoryModal.d.ts.map +1 -1
  33. package/dist/agents/DirectoryModal.js +37 -15
  34. package/dist/agents/DirectoryModal.js.map +1 -1
  35. package/dist/agents/DriveViewer.cjs +19 -4
  36. package/dist/agents/DriveViewer.d.ts.map +1 -1
  37. package/dist/agents/DriveViewer.js +20 -5
  38. package/dist/agents/DriveViewer.js.map +1 -1
  39. package/dist/agents/Feedback.cjs +10 -2
  40. package/dist/agents/Feedback.d.ts.map +1 -1
  41. package/dist/agents/Feedback.js +10 -2
  42. package/dist/agents/Feedback.js.map +1 -1
  43. package/dist/agents/FileTabs.cjs +17 -10
  44. package/dist/agents/FileTabs.d.ts.map +1 -1
  45. package/dist/agents/FileTabs.js +17 -10
  46. package/dist/agents/FileTabs.js.map +1 -1
  47. package/dist/agents/FileTree.cjs +9 -6
  48. package/dist/agents/FileTree.d.ts.map +1 -1
  49. package/dist/agents/FileTree.js +9 -6
  50. package/dist/agents/FileTree.js.map +1 -1
  51. package/dist/agents/LiveVoiceCall.cjs +66 -16
  52. package/dist/agents/LiveVoiceCall.d.ts.map +1 -1
  53. package/dist/agents/LiveVoiceCall.js +66 -16
  54. package/dist/agents/LiveVoiceCall.js.map +1 -1
  55. package/dist/agents/MCPHub.cjs +48 -3
  56. package/dist/agents/MCPHub.d.ts.map +1 -1
  57. package/dist/agents/MCPHub.js +48 -3
  58. package/dist/agents/MCPHub.js.map +1 -1
  59. package/dist/agents/Pane.cjs +15 -9
  60. package/dist/agents/Pane.d.ts +1 -1
  61. package/dist/agents/Pane.d.ts.map +1 -1
  62. package/dist/agents/Pane.js +15 -9
  63. package/dist/agents/Pane.js.map +1 -1
  64. package/dist/agents/PreviewFrame.cjs +6 -4
  65. package/dist/agents/PreviewFrame.d.ts.map +1 -1
  66. package/dist/agents/PreviewFrame.js +6 -4
  67. package/dist/agents/PreviewFrame.js.map +1 -1
  68. package/dist/agents/Progress.cjs +4 -2
  69. package/dist/agents/Progress.d.ts.map +1 -1
  70. package/dist/agents/Progress.js +4 -2
  71. package/dist/agents/Progress.js.map +1 -1
  72. package/dist/agents/Screen.cjs +18 -10
  73. package/dist/agents/Screen.d.ts.map +1 -1
  74. package/dist/agents/Screen.js +18 -10
  75. package/dist/agents/Screen.js.map +1 -1
  76. package/dist/agents/ShortcutsSheet.cjs +66 -11
  77. package/dist/agents/ShortcutsSheet.d.ts.map +1 -1
  78. package/dist/agents/ShortcutsSheet.js +66 -11
  79. package/dist/agents/ShortcutsSheet.js.map +1 -1
  80. package/dist/agents/Steer.cjs +7 -4
  81. package/dist/agents/Steer.d.ts.map +1 -1
  82. package/dist/agents/Steer.js +7 -4
  83. package/dist/agents/Steer.js.map +1 -1
  84. package/dist/agents/Suggestions.cjs +5 -2
  85. package/dist/agents/Suggestions.d.ts +1 -1
  86. package/dist/agents/Suggestions.d.ts.map +1 -1
  87. package/dist/agents/Suggestions.js +5 -2
  88. package/dist/agents/Suggestions.js.map +1 -1
  89. package/dist/agents/SwarmBar.cjs +9 -2
  90. package/dist/agents/SwarmBar.d.ts.map +1 -1
  91. package/dist/agents/SwarmBar.js +9 -2
  92. package/dist/agents/SwarmBar.js.map +1 -1
  93. package/dist/agents/TerminalViewer.cjs +74 -6
  94. package/dist/agents/TerminalViewer.d.ts.map +1 -1
  95. package/dist/agents/TerminalViewer.js +74 -6
  96. package/dist/agents/TerminalViewer.js.map +1 -1
  97. package/dist/agents/Transcript.cjs +3 -1
  98. package/dist/agents/Transcript.d.ts.map +1 -1
  99. package/dist/agents/Transcript.js +3 -1
  100. package/dist/agents/Transcript.js.map +1 -1
  101. package/dist/agents/Workspace.cjs +15 -10
  102. package/dist/agents/Workspace.d.ts.map +1 -1
  103. package/dist/agents/Workspace.js +15 -10
  104. package/dist/agents/Workspace.js.map +1 -1
  105. package/dist/auth/SignIn.cjs +17 -8
  106. package/dist/auth/SignIn.d.ts.map +1 -1
  107. package/dist/auth/SignIn.js +15 -6
  108. package/dist/auth/SignIn.js.map +1 -1
  109. package/dist/backdrop/scene.cjs +4 -28
  110. package/dist/backdrop/scene.d.ts +2 -1
  111. package/dist/backdrop/scene.d.ts.map +1 -1
  112. package/dist/backdrop/scene.js +4 -28
  113. package/dist/backdrop/scene.js.map +1 -1
  114. package/dist/backends/gui/advanced-chart.cjs +3 -1
  115. package/dist/backends/gui/advanced-chart.d.ts.map +1 -1
  116. package/dist/backends/gui/advanced-chart.js +3 -1
  117. package/dist/backends/gui/advanced-chart.js.map +1 -1
  118. package/dist/backends/gui/alert.cjs +4 -2
  119. package/dist/backends/gui/alert.d.ts.map +1 -1
  120. package/dist/backends/gui/alert.js +4 -2
  121. package/dist/backends/gui/alert.js.map +1 -1
  122. package/dist/backends/gui/animated-testimonials.cjs +3 -1
  123. package/dist/backends/gui/animated-testimonials.d.ts.map +1 -1
  124. package/dist/backends/gui/animated-testimonials.js +3 -1
  125. package/dist/backends/gui/animated-testimonials.js.map +1 -1
  126. package/dist/backends/gui/announcement.cjs +4 -2
  127. package/dist/backends/gui/announcement.d.ts +0 -13
  128. package/dist/backends/gui/announcement.d.ts.map +1 -1
  129. package/dist/backends/gui/announcement.js +4 -2
  130. package/dist/backends/gui/announcement.js.map +1 -1
  131. package/dist/backends/gui/apple-cards-carousel.cjs +31 -12
  132. package/dist/backends/gui/apple-cards-carousel.d.ts +1 -1
  133. package/dist/backends/gui/apple-cards-carousel.d.ts.map +1 -1
  134. package/dist/backends/gui/apple-cards-carousel.js +31 -12
  135. package/dist/backends/gui/apple-cards-carousel.js.map +1 -1
  136. package/dist/backends/gui/apple-hello-effect.cjs +5 -2
  137. package/dist/backends/gui/apple-hello-effect.d.ts.map +1 -1
  138. package/dist/backends/gui/apple-hello-effect.js +5 -2
  139. package/dist/backends/gui/apple-hello-effect.js.map +1 -1
  140. package/dist/backends/gui/banner.cjs +7 -4
  141. package/dist/backends/gui/banner.d.ts +0 -30
  142. package/dist/backends/gui/banner.d.ts.map +1 -1
  143. package/dist/backends/gui/banner.js +7 -4
  144. package/dist/backends/gui/banner.js.map +1 -1
  145. package/dist/backends/gui/breadcrumb.cjs +5 -1
  146. package/dist/backends/gui/breadcrumb.d.ts +1 -1
  147. package/dist/backends/gui/breadcrumb.d.ts.map +1 -1
  148. package/dist/backends/gui/breadcrumb.js +5 -1
  149. package/dist/backends/gui/breadcrumb.js.map +1 -1
  150. package/dist/backends/gui/calendar.cjs +10 -21
  151. package/dist/backends/gui/calendar.d.ts.map +1 -1
  152. package/dist/backends/gui/calendar.js +10 -21
  153. package/dist/backends/gui/calendar.js.map +1 -1
  154. package/dist/backends/gui/carousel.cjs +25 -7
  155. package/dist/backends/gui/carousel.d.ts.map +1 -1
  156. package/dist/backends/gui/carousel.js +25 -7
  157. package/dist/backends/gui/carousel.js.map +1 -1
  158. package/dist/backends/gui/code-block.cjs +37 -16
  159. package/dist/backends/gui/code-block.d.ts.map +1 -1
  160. package/dist/backends/gui/code-block.js +37 -16
  161. package/dist/backends/gui/code-block.js.map +1 -1
  162. package/dist/backends/gui/code-editor.cjs +92 -75
  163. package/dist/backends/gui/code-editor.d.ts +2 -2
  164. package/dist/backends/gui/code-editor.d.ts.map +1 -1
  165. package/dist/backends/gui/code-editor.js +94 -77
  166. package/dist/backends/gui/code-editor.js.map +1 -1
  167. package/dist/backends/gui/code-tabs.cjs +3 -1
  168. package/dist/backends/gui/code-tabs.d.ts.map +1 -1
  169. package/dist/backends/gui/code-tabs.js +3 -1
  170. package/dist/backends/gui/code-tabs.js.map +1 -1
  171. package/dist/backends/gui/combobox.cjs +7 -4
  172. package/dist/backends/gui/combobox.d.ts.map +1 -1
  173. package/dist/backends/gui/combobox.js +7 -4
  174. package/dist/backends/gui/combobox.js.map +1 -1
  175. package/dist/backends/gui/command.cjs +6 -2
  176. package/dist/backends/gui/command.d.ts.map +1 -1
  177. package/dist/backends/gui/command.js +6 -2
  178. package/dist/backends/gui/command.js.map +1 -1
  179. package/dist/backends/gui/company-profile.cjs +3 -1
  180. package/dist/backends/gui/company-profile.d.ts.map +1 -1
  181. package/dist/backends/gui/company-profile.js +3 -1
  182. package/dist/backends/gui/company-profile.js.map +1 -1
  183. package/dist/backends/gui/country-select.cjs +4 -1
  184. package/dist/backends/gui/country-select.d.ts +1 -1
  185. package/dist/backends/gui/country-select.d.ts.map +1 -1
  186. package/dist/backends/gui/country-select.js +4 -1
  187. package/dist/backends/gui/country-select.js.map +1 -1
  188. package/dist/backends/gui/credit-card.cjs +4 -2
  189. package/dist/backends/gui/credit-card.d.ts.map +1 -1
  190. package/dist/backends/gui/credit-card.js +4 -2
  191. package/dist/backends/gui/credit-card.js.map +1 -1
  192. package/dist/backends/gui/crypto-market.cjs +5 -3
  193. package/dist/backends/gui/crypto-market.d.ts.map +1 -1
  194. package/dist/backends/gui/crypto-market.js +5 -3
  195. package/dist/backends/gui/crypto-market.js.map +1 -1
  196. package/dist/backends/gui/crypto-screener.cjs +3 -1
  197. package/dist/backends/gui/crypto-screener.d.ts.map +1 -1
  198. package/dist/backends/gui/crypto-screener.js +3 -1
  199. package/dist/backends/gui/crypto-screener.js.map +1 -1
  200. package/dist/backends/gui/currency-picker.cjs +6 -3
  201. package/dist/backends/gui/currency-picker.d.ts +1 -1
  202. package/dist/backends/gui/currency-picker.d.ts.map +1 -1
  203. package/dist/backends/gui/currency-picker.js +6 -3
  204. package/dist/backends/gui/currency-picker.js.map +1 -1
  205. package/dist/backends/gui/data-table.cjs +46 -17
  206. package/dist/backends/gui/data-table.d.ts.map +1 -1
  207. package/dist/backends/gui/data-table.js +47 -18
  208. package/dist/backends/gui/data-table.js.map +1 -1
  209. package/dist/backends/gui/date-picker.cjs +8 -17
  210. package/dist/backends/gui/date-picker.d.ts.map +1 -1
  211. package/dist/backends/gui/date-picker.js +8 -17
  212. package/dist/backends/gui/date-picker.js.map +1 -1
  213. package/dist/backends/gui/desktop-spotlight.cjs +7 -3
  214. package/dist/backends/gui/desktop-spotlight.d.ts +1 -1
  215. package/dist/backends/gui/desktop-spotlight.d.ts.map +1 -1
  216. package/dist/backends/gui/desktop-spotlight.js +7 -3
  217. package/dist/backends/gui/desktop-spotlight.js.map +1 -1
  218. package/dist/backends/gui/desktop-window.cjs +7 -5
  219. package/dist/backends/gui/desktop-window.d.ts +1 -1
  220. package/dist/backends/gui/desktop-window.d.ts.map +1 -1
  221. package/dist/backends/gui/desktop-window.js +7 -5
  222. package/dist/backends/gui/desktop-window.js.map +1 -1
  223. package/dist/backends/gui/dialog-stack.cjs +4 -2
  224. package/dist/backends/gui/dialog-stack.d.ts +1 -1
  225. package/dist/backends/gui/dialog-stack.d.ts.map +1 -1
  226. package/dist/backends/gui/dialog-stack.js +4 -2
  227. package/dist/backends/gui/dialog-stack.js.map +1 -1
  228. package/dist/backends/gui/dialog.cjs +18 -7
  229. package/dist/backends/gui/dialog.d.ts +2 -2
  230. package/dist/backends/gui/dialog.d.ts.map +1 -1
  231. package/dist/backends/gui/dialog.js +19 -8
  232. package/dist/backends/gui/dialog.js.map +1 -1
  233. package/dist/backends/gui/drawer.cjs +12 -7
  234. package/dist/backends/gui/drawer.d.ts +1 -1
  235. package/dist/backends/gui/drawer.d.ts.map +1 -1
  236. package/dist/backends/gui/drawer.js +12 -7
  237. package/dist/backends/gui/drawer.js.map +1 -1
  238. package/dist/backends/gui/dropdown-menu.cjs +84 -59
  239. package/dist/backends/gui/dropdown-menu.d.ts +13 -13
  240. package/dist/backends/gui/dropdown-menu.d.ts.map +1 -1
  241. package/dist/backends/gui/dropdown-menu.js +87 -62
  242. package/dist/backends/gui/dropdown-menu.js.map +1 -1
  243. package/dist/backends/gui/dropzone.cjs +6 -4
  244. package/dist/backends/gui/dropzone.d.ts.map +1 -1
  245. package/dist/backends/gui/dropzone.js +6 -4
  246. package/dist/backends/gui/dropzone.js.map +1 -1
  247. package/dist/backends/gui/editor.cjs +4 -2
  248. package/dist/backends/gui/editor.d.ts.map +1 -1
  249. package/dist/backends/gui/editor.js +4 -2
  250. package/dist/backends/gui/editor.js.map +1 -1
  251. package/dist/backends/gui/financials.cjs +3 -1
  252. package/dist/backends/gui/financials.d.ts.map +1 -1
  253. package/dist/backends/gui/financials.js +3 -1
  254. package/dist/backends/gui/financials.js.map +1 -1
  255. package/dist/backends/gui/forex-screener.cjs +3 -1
  256. package/dist/backends/gui/forex-screener.d.ts.map +1 -1
  257. package/dist/backends/gui/forex-screener.js +3 -1
  258. package/dist/backends/gui/forex-screener.js.map +1 -1
  259. package/dist/backends/gui/gantt.cjs +16 -2
  260. package/dist/backends/gui/gantt.d.ts.map +1 -1
  261. package/dist/backends/gui/gantt.js +16 -2
  262. package/dist/backends/gui/gantt.js.map +1 -1
  263. package/dist/backends/gui/icon-picker.cjs +7 -3
  264. package/dist/backends/gui/icon-picker.d.ts +1 -1
  265. package/dist/backends/gui/icon-picker.d.ts.map +1 -1
  266. package/dist/backends/gui/icon-picker.js +7 -3
  267. package/dist/backends/gui/icon-picker.js.map +1 -1
  268. package/dist/backends/gui/image-crop.cjs +5 -3
  269. package/dist/backends/gui/image-crop.d.ts.map +1 -1
  270. package/dist/backends/gui/image-crop.js +5 -3
  271. package/dist/backends/gui/image-crop.js.map +1 -1
  272. package/dist/backends/gui/image-input.cjs +7 -3
  273. package/dist/backends/gui/image-input.d.ts +1 -1
  274. package/dist/backends/gui/image-input.d.ts.map +1 -1
  275. package/dist/backends/gui/image-input.js +7 -3
  276. package/dist/backends/gui/image-input.js.map +1 -1
  277. package/dist/backends/gui/input.cjs +10 -5
  278. package/dist/backends/gui/input.d.ts +1 -1
  279. package/dist/backends/gui/input.d.ts.map +1 -1
  280. package/dist/backends/gui/input.js +10 -5
  281. package/dist/backends/gui/input.js.map +1 -1
  282. package/dist/backends/gui/json-tree.cjs +51 -24
  283. package/dist/backends/gui/json-tree.d.ts +1 -1
  284. package/dist/backends/gui/json-tree.d.ts.map +1 -1
  285. package/dist/backends/gui/json-tree.js +51 -24
  286. package/dist/backends/gui/json-tree.js.map +1 -1
  287. package/dist/backends/gui/kanban.cjs +65 -15
  288. package/dist/backends/gui/kanban.d.ts.map +1 -1
  289. package/dist/backends/gui/kanban.js +67 -17
  290. package/dist/backends/gui/kanban.js.map +1 -1
  291. package/dist/backends/gui/limelight-nav.cjs +3 -1
  292. package/dist/backends/gui/limelight-nav.d.ts.map +1 -1
  293. package/dist/backends/gui/limelight-nav.js +3 -1
  294. package/dist/backends/gui/limelight-nav.js.map +1 -1
  295. package/dist/backends/gui/message-dock.cjs +5 -3
  296. package/dist/backends/gui/message-dock.d.ts.map +1 -1
  297. package/dist/backends/gui/message-dock.js +6 -4
  298. package/dist/backends/gui/message-dock.js.map +1 -1
  299. package/dist/backends/gui/nav-items.cjs +8 -4
  300. package/dist/backends/gui/nav-items.d.ts.map +1 -1
  301. package/dist/backends/gui/nav-items.js +8 -4
  302. package/dist/backends/gui/nav-items.js.map +1 -1
  303. package/dist/backends/gui/navigation-bar.cjs +16 -5
  304. package/dist/backends/gui/navigation-bar.d.ts.map +1 -1
  305. package/dist/backends/gui/navigation-bar.js +16 -5
  306. package/dist/backends/gui/navigation-bar.js.map +1 -1
  307. package/dist/backends/gui/navigation-menu.cjs +17 -5
  308. package/dist/backends/gui/navigation-menu.d.ts.map +1 -1
  309. package/dist/backends/gui/navigation-menu.js +17 -5
  310. package/dist/backends/gui/navigation-menu.js.map +1 -1
  311. package/dist/backends/gui/news-timeline.cjs +3 -1
  312. package/dist/backends/gui/news-timeline.d.ts.map +1 -1
  313. package/dist/backends/gui/news-timeline.js +3 -1
  314. package/dist/backends/gui/news-timeline.js.map +1 -1
  315. package/dist/backends/gui/number-field.cjs +24 -5
  316. package/dist/backends/gui/number-field.d.ts.map +1 -1
  317. package/dist/backends/gui/number-field.js +24 -5
  318. package/dist/backends/gui/number-field.js.map +1 -1
  319. package/dist/backends/gui/order-entry.cjs +3 -1
  320. package/dist/backends/gui/order-entry.d.ts.map +1 -1
  321. package/dist/backends/gui/order-entry.js +3 -1
  322. package/dist/backends/gui/order-entry.js.map +1 -1
  323. package/dist/backends/gui/orders-history.cjs +23 -5
  324. package/dist/backends/gui/orders-history.d.ts.map +1 -1
  325. package/dist/backends/gui/orders-history.js +23 -5
  326. package/dist/backends/gui/orders-history.js.map +1 -1
  327. package/dist/backends/gui/overflowing-list.cjs +4 -2
  328. package/dist/backends/gui/overflowing-list.d.ts.map +1 -1
  329. package/dist/backends/gui/overflowing-list.js +4 -2
  330. package/dist/backends/gui/overflowing-list.js.map +1 -1
  331. package/dist/backends/gui/pagination.cjs +32 -7
  332. package/dist/backends/gui/pagination.d.ts +0 -12
  333. package/dist/backends/gui/pagination.d.ts.map +1 -1
  334. package/dist/backends/gui/pagination.js +32 -7
  335. package/dist/backends/gui/pagination.js.map +1 -1
  336. package/dist/backends/gui/phone-country-picker.cjs +6 -3
  337. package/dist/backends/gui/phone-country-picker.d.ts +1 -1
  338. package/dist/backends/gui/phone-country-picker.d.ts.map +1 -1
  339. package/dist/backends/gui/phone-country-picker.js +6 -3
  340. package/dist/backends/gui/phone-country-picker.js.map +1 -1
  341. package/dist/backends/gui/pill.cjs +4 -2
  342. package/dist/backends/gui/pill.d.ts.map +1 -1
  343. package/dist/backends/gui/pill.js +5 -3
  344. package/dist/backends/gui/pill.js.map +1 -1
  345. package/dist/backends/gui/pin-list.cjs +3 -1
  346. package/dist/backends/gui/pin-list.d.ts.map +1 -1
  347. package/dist/backends/gui/pin-list.js +3 -1
  348. package/dist/backends/gui/pin-list.js.map +1 -1
  349. package/dist/backends/gui/positions-list.cjs +7 -4
  350. package/dist/backends/gui/positions-list.d.ts.map +1 -1
  351. package/dist/backends/gui/positions-list.js +7 -4
  352. package/dist/backends/gui/positions-list.js.map +1 -1
  353. package/dist/backends/gui/relative-time.cjs +51 -43
  354. package/dist/backends/gui/relative-time.d.ts +7 -0
  355. package/dist/backends/gui/relative-time.d.ts.map +1 -1
  356. package/dist/backends/gui/relative-time.js +51 -43
  357. package/dist/backends/gui/relative-time.js.map +1 -1
  358. package/dist/backends/gui/safari.cjs +7 -4
  359. package/dist/backends/gui/safari.d.ts.map +1 -1
  360. package/dist/backends/gui/safari.js +7 -4
  361. package/dist/backends/gui/safari.js.map +1 -1
  362. package/dist/backends/gui/search-list.cjs +5 -2
  363. package/dist/backends/gui/search-list.d.ts.map +1 -1
  364. package/dist/backends/gui/search-list.js +5 -2
  365. package/dist/backends/gui/search-list.js.map +1 -1
  366. package/dist/backends/gui/select.cjs +8 -2
  367. package/dist/backends/gui/select.d.ts +7 -0
  368. package/dist/backends/gui/select.d.ts.map +1 -1
  369. package/dist/backends/gui/select.js +8 -2
  370. package/dist/backends/gui/select.js.map +1 -1
  371. package/dist/backends/gui/shortcut.cjs +4 -1
  372. package/dist/backends/gui/shortcut.d.ts +1 -1
  373. package/dist/backends/gui/shortcut.d.ts.map +1 -1
  374. package/dist/backends/gui/shortcut.js +4 -1
  375. package/dist/backends/gui/shortcut.js.map +1 -1
  376. package/dist/backends/gui/snippet.cjs +37 -15
  377. package/dist/backends/gui/snippet.d.ts.map +1 -1
  378. package/dist/backends/gui/snippet.js +37 -15
  379. package/dist/backends/gui/snippet.js.map +1 -1
  380. package/dist/backends/gui/stars-scrolling-wheel.cjs +4 -1
  381. package/dist/backends/gui/stars-scrolling-wheel.d.ts +1 -1
  382. package/dist/backends/gui/stars-scrolling-wheel.d.ts.map +1 -1
  383. package/dist/backends/gui/stars-scrolling-wheel.js +4 -1
  384. package/dist/backends/gui/stars-scrolling-wheel.js.map +1 -1
  385. package/dist/backends/gui/stepper.cjs +4 -2
  386. package/dist/backends/gui/stepper.d.ts.map +1 -1
  387. package/dist/backends/gui/stepper.js +4 -2
  388. package/dist/backends/gui/stepper.js.map +1 -1
  389. package/dist/backends/gui/stock-screener.cjs +3 -1
  390. package/dist/backends/gui/stock-screener.d.ts.map +1 -1
  391. package/dist/backends/gui/stock-screener.js +3 -1
  392. package/dist/backends/gui/stock-screener.js.map +1 -1
  393. package/dist/backends/gui/symbol-info.cjs +3 -1
  394. package/dist/backends/gui/symbol-info.d.ts.map +1 -1
  395. package/dist/backends/gui/symbol-info.js +3 -1
  396. package/dist/backends/gui/symbol-info.js.map +1 -1
  397. package/dist/backends/gui/tags.cjs +3 -1
  398. package/dist/backends/gui/tags.d.ts.map +1 -1
  399. package/dist/backends/gui/tags.js +3 -1
  400. package/dist/backends/gui/tags.js.map +1 -1
  401. package/dist/backends/gui/technical-analysis.cjs +3 -1
  402. package/dist/backends/gui/technical-analysis.d.ts.map +1 -1
  403. package/dist/backends/gui/technical-analysis.js +3 -1
  404. package/dist/backends/gui/technical-analysis.js.map +1 -1
  405. package/dist/backends/gui/terminal.cjs +16 -7
  406. package/dist/backends/gui/terminal.d.ts.map +1 -1
  407. package/dist/backends/gui/terminal.js +17 -8
  408. package/dist/backends/gui/terminal.js.map +1 -1
  409. package/dist/backends/gui/toaster.cjs +19 -6
  410. package/dist/backends/gui/toaster.d.ts.map +1 -1
  411. package/dist/backends/gui/toaster.js +20 -7
  412. package/dist/backends/gui/toaster.js.map +1 -1
  413. package/dist/backends/gui/video-player.cjs +6 -14
  414. package/dist/backends/gui/video-player.d.ts.map +1 -1
  415. package/dist/backends/gui/video-player.js +6 -14
  416. package/dist/backends/gui/video-player.js.map +1 -1
  417. package/dist/backends/gui/video.cjs +4 -2
  418. package/dist/backends/gui/video.d.ts.map +1 -1
  419. package/dist/backends/gui/video.js +4 -2
  420. package/dist/backends/gui/video.js.map +1 -1
  421. package/dist/catalog/Shelf.cjs +6 -3
  422. package/dist/catalog/Shelf.d.ts.map +1 -1
  423. package/dist/catalog/Shelf.js +6 -3
  424. package/dist/catalog/Shelf.js.map +1 -1
  425. package/dist/catalog/Tile.cjs +4 -1
  426. package/dist/catalog/Tile.d.ts +1 -1
  427. package/dist/catalog/Tile.d.ts.map +1 -1
  428. package/dist/catalog/Tile.js +4 -1
  429. package/dist/catalog/Tile.js.map +1 -1
  430. package/dist/chat/Chat.cjs +6 -4
  431. package/dist/chat/Chat.d.ts.map +1 -1
  432. package/dist/chat/Chat.js +3 -1
  433. package/dist/chat/Chat.js.map +1 -1
  434. package/dist/chat/Composer.cjs +19 -15
  435. package/dist/chat/Composer.d.ts +2 -2
  436. package/dist/chat/Composer.d.ts.map +1 -1
  437. package/dist/chat/Composer.js +10 -6
  438. package/dist/chat/Composer.js.map +1 -1
  439. package/dist/chat/Dial.cjs +110 -0
  440. package/dist/chat/Dial.d.ts +13 -0
  441. package/dist/chat/Dial.d.ts.map +1 -0
  442. package/dist/chat/Dial.js +108 -0
  443. package/dist/chat/Dial.js.map +1 -0
  444. package/dist/chat/Dictation.cjs +22 -15
  445. package/dist/chat/Dictation.d.ts.map +1 -1
  446. package/dist/chat/Dictation.js +13 -6
  447. package/dist/chat/Dictation.js.map +1 -1
  448. package/dist/chat/EmptyPrompt.cjs +7 -4
  449. package/dist/chat/EmptyPrompt.d.ts +2 -2
  450. package/dist/chat/EmptyPrompt.d.ts.map +1 -1
  451. package/dist/chat/EmptyPrompt.js +7 -4
  452. package/dist/chat/EmptyPrompt.js.map +1 -1
  453. package/dist/chat/Failure.cjs +4 -13
  454. package/dist/chat/Failure.d.ts +2 -1
  455. package/dist/chat/Failure.d.ts.map +1 -1
  456. package/dist/chat/Failure.js +4 -13
  457. package/dist/chat/Failure.js.map +1 -1
  458. package/dist/chat/Families.cjs +14 -7
  459. package/dist/chat/Families.d.ts.map +1 -1
  460. package/dist/chat/Families.js +11 -4
  461. package/dist/chat/Families.js.map +1 -1
  462. package/dist/chat/Header.cjs +9 -5
  463. package/dist/chat/Header.d.ts +2 -0
  464. package/dist/chat/Header.d.ts.map +1 -1
  465. package/dist/chat/Header.js +9 -5
  466. package/dist/chat/Header.js.map +1 -1
  467. package/dist/chat/Home.cjs +4 -2
  468. package/dist/chat/Home.d.ts.map +1 -1
  469. package/dist/chat/Home.js +4 -2
  470. package/dist/chat/Home.js.map +1 -1
  471. package/dist/chat/Inspector.cjs +4 -2
  472. package/dist/chat/Inspector.d.ts +0 -24
  473. package/dist/chat/Inspector.d.ts.map +1 -1
  474. package/dist/chat/Inspector.js +4 -2
  475. package/dist/chat/Inspector.js.map +1 -1
  476. package/dist/chat/Mention.cjs +13 -2
  477. package/dist/chat/Mention.d.ts.map +1 -1
  478. package/dist/chat/Mention.js +13 -2
  479. package/dist/chat/Mention.js.map +1 -1
  480. package/dist/chat/Plus.cjs +46 -31
  481. package/dist/chat/Plus.d.ts +12 -0
  482. package/dist/chat/Plus.d.ts.map +1 -1
  483. package/dist/chat/Plus.js +47 -32
  484. package/dist/chat/Plus.js.map +1 -1
  485. package/dist/chat/Preview.cjs +3 -1
  486. package/dist/chat/Preview.d.ts.map +1 -1
  487. package/dist/chat/Preview.js +3 -1
  488. package/dist/chat/Preview.js.map +1 -1
  489. package/dist/chat/SessionRail.cjs +34 -18
  490. package/dist/chat/SessionRail.d.ts +2 -2
  491. package/dist/chat/SessionRail.d.ts.map +1 -1
  492. package/dist/chat/SessionRail.js +25 -9
  493. package/dist/chat/SessionRail.js.map +1 -1
  494. package/dist/chat/Sidebar.cjs +10 -6
  495. package/dist/chat/Sidebar.d.ts +1 -0
  496. package/dist/chat/Sidebar.d.ts.map +1 -1
  497. package/dist/chat/Sidebar.js +8 -4
  498. package/dist/chat/Sidebar.js.map +1 -1
  499. package/dist/chat/Sources.cjs +4 -2
  500. package/dist/chat/Sources.d.ts.map +1 -1
  501. package/dist/chat/Sources.js +4 -2
  502. package/dist/chat/Sources.js.map +1 -1
  503. package/dist/chat/Tune.cjs +5 -1
  504. package/dist/chat/Tune.d.ts +11 -1
  505. package/dist/chat/Tune.d.ts.map +1 -1
  506. package/dist/chat/Tune.js +5 -1
  507. package/dist/chat/Tune.js.map +1 -1
  508. package/dist/chat/ways.cjs +7 -2
  509. package/dist/chat/ways.d.ts +7 -2
  510. package/dist/chat/ways.d.ts.map +1 -1
  511. package/dist/chat/ways.js +7 -2
  512. package/dist/chat/ways.js.map +1 -1
  513. package/dist/consent/Consent.cjs +65 -31
  514. package/dist/consent/Consent.d.ts.map +1 -1
  515. package/dist/consent/Consent.js +65 -31
  516. package/dist/consent/Consent.js.map +1 -1
  517. package/dist/core/english.cjs +4 -0
  518. package/dist/core/english.d.ts +18 -0
  519. package/dist/core/english.d.ts.map +1 -0
  520. package/dist/core/english.js +2 -0
  521. package/dist/core/english.js.map +1 -0
  522. package/dist/corner/Corner.cjs +35 -27
  523. package/dist/corner/Corner.d.ts +5 -2
  524. package/dist/corner/Corner.d.ts.map +1 -1
  525. package/dist/corner/Corner.js +17 -9
  526. package/dist/corner/Corner.js.map +1 -1
  527. package/dist/corner/index.cjs +2 -2
  528. package/dist/corner/index.d.ts +1 -1
  529. package/dist/corner/index.d.ts.map +1 -1
  530. package/dist/corner/index.js +1 -1
  531. package/dist/corner/index.js.map +1 -1
  532. package/dist/corner/logic.cjs +31 -27
  533. package/dist/corner/logic.d.ts +9 -7
  534. package/dist/corner/logic.d.ts.map +1 -1
  535. package/dist/corner/logic.js +27 -23
  536. package/dist/corner/logic.js.map +1 -1
  537. package/dist/framework/CollectionBuilder.cjs +7 -5
  538. package/dist/framework/CollectionBuilder.d.ts.map +1 -1
  539. package/dist/framework/CollectionBuilder.js +7 -5
  540. package/dist/framework/CollectionBuilder.js.map +1 -1
  541. package/dist/framework/CollectionsBrowser.cjs +10 -8
  542. package/dist/framework/CollectionsBrowser.d.ts.map +1 -1
  543. package/dist/framework/CollectionsBrowser.js +10 -8
  544. package/dist/framework/CollectionsBrowser.js.map +1 -1
  545. package/dist/framework/DocTypeDetail.cjs +9 -7
  546. package/dist/framework/DocTypeDetail.d.ts.map +1 -1
  547. package/dist/framework/DocTypeDetail.js +9 -7
  548. package/dist/framework/DocTypeDetail.js.map +1 -1
  549. package/dist/framework/DocTypeRecords.cjs +4 -2
  550. package/dist/framework/DocTypeRecords.d.ts.map +1 -1
  551. package/dist/framework/DocTypeRecords.js +4 -2
  552. package/dist/framework/DocTypeRecords.js.map +1 -1
  553. package/dist/framework/MediaGrid.cjs +12 -5
  554. package/dist/framework/MediaGrid.d.ts.map +1 -1
  555. package/dist/framework/MediaGrid.js +12 -5
  556. package/dist/framework/MediaGrid.js.map +1 -1
  557. package/dist/framework/RecordCards.cjs +17 -13
  558. package/dist/framework/RecordCards.d.ts +1 -1
  559. package/dist/framework/RecordCards.d.ts.map +1 -1
  560. package/dist/framework/RecordCards.js +17 -13
  561. package/dist/framework/RecordCards.js.map +1 -1
  562. package/dist/framework/builder-logic.cjs +41 -26
  563. package/dist/framework/builder-logic.d.ts +8 -16
  564. package/dist/framework/builder-logic.d.ts.map +1 -1
  565. package/dist/framework/builder-logic.js +41 -26
  566. package/dist/framework/builder-logic.js.map +1 -1
  567. package/dist/framework/fields.cjs +3 -2
  568. package/dist/framework/fields.d.ts +2 -1
  569. package/dist/framework/fields.d.ts.map +1 -1
  570. package/dist/framework/fields.js +3 -2
  571. package/dist/framework/fields.js.map +1 -1
  572. package/dist/gallery.html +12 -61
  573. package/dist/glass.css +10 -59
  574. package/dist/i18n/catalogs/ar.json +261 -0
  575. package/dist/i18n/catalogs/de-DE.json +261 -0
  576. package/dist/i18n/catalogs/es-ES.json +261 -0
  577. package/dist/i18n/catalogs/fr-FR.json +261 -0
  578. package/dist/i18n/catalogs/hi-IN.json +261 -0
  579. package/dist/i18n/catalogs/id-ID.json +261 -0
  580. package/dist/i18n/catalogs/it-IT.json +261 -0
  581. package/dist/i18n/catalogs/ja-JP.json +261 -0
  582. package/dist/i18n/catalogs/ko-KR.json +261 -0
  583. package/dist/i18n/catalogs/pt-BR.json +261 -0
  584. package/dist/i18n/catalogs/ru.json +261 -0
  585. package/dist/i18n/catalogs/th.json +261 -0
  586. package/dist/i18n/catalogs/tr.json +261 -0
  587. package/dist/i18n/catalogs/vi.json +261 -0
  588. package/dist/i18n/catalogs/zh-Hans.json +261 -0
  589. package/dist/i18n/catalogs/zh-Hant.json +261 -0
  590. package/dist/i18n/catalogs.cjs +44 -0
  591. package/dist/i18n/catalogs.d.ts +14 -0
  592. package/dist/i18n/catalogs.d.ts.map +1 -0
  593. package/dist/i18n/catalogs.js +38 -0
  594. package/dist/i18n/catalogs.js.map +1 -0
  595. package/dist/i18n/index.cjs +30 -0
  596. package/dist/i18n/index.d.ts +14 -0
  597. package/dist/i18n/index.d.ts.map +1 -0
  598. package/dist/i18n/index.js +14 -0
  599. package/dist/i18n/index.js.map +1 -0
  600. package/dist/i18n/locales.cjs +70 -0
  601. package/dist/i18n/locales.d.ts +17 -0
  602. package/dist/i18n/locales.d.ts.map +1 -0
  603. package/dist/i18n/locales.js +64 -0
  604. package/dist/i18n/locales.js.map +1 -0
  605. package/dist/i18n/provider.cjs +48 -0
  606. package/dist/i18n/provider.d.ts +31 -0
  607. package/dist/i18n/provider.d.ts.map +1 -0
  608. package/dist/i18n/provider.js +46 -0
  609. package/dist/i18n/provider.js.map +1 -0
  610. package/dist/i18n/react.cjs +81 -0
  611. package/dist/i18n/react.d.ts +48 -0
  612. package/dist/i18n/react.d.ts.map +1 -0
  613. package/dist/i18n/react.js +74 -0
  614. package/dist/i18n/react.js.map +1 -0
  615. package/dist/i18n/source.cjs +275 -0
  616. package/dist/i18n/source.d.ts +15 -0
  617. package/dist/i18n/source.d.ts.map +1 -0
  618. package/dist/i18n/source.js +273 -0
  619. package/dist/i18n/source.js.map +1 -0
  620. package/dist/index.cjs +10 -1
  621. package/dist/index.d.ts +9 -8
  622. package/dist/index.d.ts.map +1 -1
  623. package/dist/index.js +8 -7
  624. package/dist/index.js.map +1 -1
  625. package/dist/index.node.cjs +10 -1
  626. package/dist/index.node.js +8 -7
  627. package/dist/marketing/ClosingCta.cjs +7 -2
  628. package/dist/marketing/ClosingCta.d.ts +2 -1
  629. package/dist/marketing/ClosingCta.d.ts.map +1 -1
  630. package/dist/marketing/ClosingCta.js +7 -2
  631. package/dist/marketing/ClosingCta.js.map +1 -1
  632. package/dist/marketing/Faq.cjs +5 -1
  633. package/dist/marketing/Faq.d.ts +1 -0
  634. package/dist/marketing/Faq.d.ts.map +1 -1
  635. package/dist/marketing/Faq.js +5 -1
  636. package/dist/marketing/Faq.js.map +1 -1
  637. package/dist/marketing/Footer.cjs +66 -31
  638. package/dist/marketing/Footer.d.ts +16 -4
  639. package/dist/marketing/Footer.d.ts.map +1 -1
  640. package/dist/marketing/Footer.js +65 -31
  641. package/dist/marketing/Footer.js.map +1 -1
  642. package/dist/marketing/PageLoading.cjs +5 -1
  643. package/dist/marketing/PageLoading.d.ts +1 -1
  644. package/dist/marketing/PageLoading.d.ts.map +1 -1
  645. package/dist/marketing/PageLoading.js +5 -1
  646. package/dist/marketing/PageLoading.js.map +1 -1
  647. package/dist/marketing/Plans.cjs +26 -10
  648. package/dist/marketing/Plans.d.ts +2 -1
  649. package/dist/marketing/Plans.d.ts.map +1 -1
  650. package/dist/marketing/Plans.js +26 -10
  651. package/dist/marketing/Plans.js.map +1 -1
  652. package/dist/marketing/blocks.cjs +5 -1
  653. package/dist/marketing/blocks.d.ts.map +1 -1
  654. package/dist/marketing/blocks.js +5 -1
  655. package/dist/marketing/blocks.js.map +1 -1
  656. package/dist/marketing/index.cjs +3 -2
  657. package/dist/marketing/index.d.ts +1 -1
  658. package/dist/marketing/index.d.ts.map +1 -1
  659. package/dist/marketing/index.js +1 -1
  660. package/dist/marketing/index.js.map +1 -1
  661. package/dist/marketing/pager.cjs +9 -4
  662. package/dist/marketing/pager.d.ts +1 -1
  663. package/dist/marketing/pager.d.ts.map +1 -1
  664. package/dist/marketing/pager.js +9 -4
  665. package/dist/marketing/pager.js.map +1 -1
  666. package/dist/masthead/Masthead.cjs +108 -20
  667. package/dist/masthead/Masthead.d.ts +1 -1
  668. package/dist/masthead/Masthead.d.ts.map +1 -1
  669. package/dist/masthead/Masthead.js +109 -21
  670. package/dist/masthead/Masthead.js.map +1 -1
  671. package/dist/masthead/nav.cjs +275 -247
  672. package/dist/masthead/nav.d.ts +7 -0
  673. package/dist/masthead/nav.d.ts.map +1 -1
  674. package/dist/masthead/nav.js +274 -246
  675. package/dist/masthead/nav.js.map +1 -1
  676. package/dist/models/ModelPicker.cjs +22 -16
  677. package/dist/models/ModelPicker.d.ts +14 -2
  678. package/dist/models/ModelPicker.d.ts.map +1 -1
  679. package/dist/models/ModelPicker.js +11 -5
  680. package/dist/models/ModelPicker.js.map +1 -1
  681. package/dist/models/ModelPickerMenu.cjs +65 -25
  682. package/dist/models/ModelPickerMenu.d.ts +6 -0
  683. package/dist/models/ModelPickerMenu.d.ts.map +1 -1
  684. package/dist/models/ModelPickerMenu.js +68 -28
  685. package/dist/models/ModelPickerMenu.js.map +1 -1
  686. package/dist/models/catalog.cjs +109 -29
  687. package/dist/models/catalog.d.ts +37 -21
  688. package/dist/models/catalog.d.ts.map +1 -1
  689. package/dist/models/catalog.js +105 -28
  690. package/dist/models/catalog.js.map +1 -1
  691. package/dist/models/picker.logic.cjs +38 -6
  692. package/dist/models/picker.logic.d.ts +26 -5
  693. package/dist/models/picker.logic.d.ts.map +1 -1
  694. package/dist/models/picker.logic.js +37 -6
  695. package/dist/models/picker.logic.js.map +1 -1
  696. package/dist/models/research.cjs +8 -1
  697. package/dist/models/research.d.ts +0 -5
  698. package/dist/models/research.d.ts.map +1 -1
  699. package/dist/models/research.js +8 -1
  700. package/dist/models/research.js.map +1 -1
  701. package/dist/onboarding/ChatOnboarding.cjs +15 -10
  702. package/dist/onboarding/ChatOnboarding.d.ts +3 -1
  703. package/dist/onboarding/ChatOnboarding.d.ts.map +1 -1
  704. package/dist/onboarding/ChatOnboarding.js +15 -10
  705. package/dist/onboarding/ChatOnboarding.js.map +1 -1
  706. package/dist/onboarding/Checkout.cjs +115 -32
  707. package/dist/onboarding/Checkout.d.ts +3 -0
  708. package/dist/onboarding/Checkout.d.ts.map +1 -1
  709. package/dist/onboarding/Checkout.js +116 -33
  710. package/dist/onboarding/Checkout.js.map +1 -1
  711. package/dist/onboarding/Onboarding.cjs +11 -9
  712. package/dist/onboarding/Onboarding.d.ts.map +1 -1
  713. package/dist/onboarding/Onboarding.js +11 -9
  714. package/dist/onboarding/Onboarding.js.map +1 -1
  715. package/dist/onboarding/account.cjs +8 -2
  716. package/dist/onboarding/account.d.ts.map +1 -1
  717. package/dist/onboarding/account.js +8 -2
  718. package/dist/onboarding/account.js.map +1 -1
  719. package/dist/onboarding/api.cjs +8 -2
  720. package/dist/onboarding/api.d.ts +5 -0
  721. package/dist/onboarding/api.d.ts.map +1 -1
  722. package/dist/onboarding/api.js +8 -2
  723. package/dist/onboarding/api.js.map +1 -1
  724. package/dist/onboarding/frame.cjs +6 -3
  725. package/dist/onboarding/frame.d.ts.map +1 -1
  726. package/dist/onboarding/frame.js +6 -3
  727. package/dist/onboarding/frame.js.map +1 -1
  728. package/dist/onboarding/hooks.cjs +2 -1
  729. package/dist/onboarding/hooks.d.ts.map +1 -1
  730. package/dist/onboarding/hooks.js +2 -1
  731. package/dist/onboarding/hooks.js.map +1 -1
  732. package/dist/onboarding/roles.cjs +149 -144
  733. package/dist/onboarding/roles.d.ts +4 -5
  734. package/dist/onboarding/roles.d.ts.map +1 -1
  735. package/dist/onboarding/roles.js +149 -144
  736. package/dist/onboarding/roles.js.map +1 -1
  737. package/dist/onboarding/screens.cjs +35 -14
  738. package/dist/onboarding/screens.d.ts.map +1 -1
  739. package/dist/onboarding/screens.js +36 -15
  740. package/dist/onboarding/screens.js.map +1 -1
  741. package/dist/product/AppHeader.cjs +8 -6
  742. package/dist/product/AppHeader.d.ts +1 -1
  743. package/dist/product/AppHeader.d.ts.map +1 -1
  744. package/dist/product/AppHeader.js +8 -6
  745. package/dist/product/AppHeader.js.map +1 -1
  746. package/dist/product/BackendState.cjs +16 -13
  747. package/dist/product/BackendState.d.ts.map +1 -1
  748. package/dist/product/BackendState.js +16 -13
  749. package/dist/product/BackendState.js.map +1 -1
  750. package/dist/product/BranchSelect.cjs +13 -4
  751. package/dist/product/BranchSelect.d.ts.map +1 -1
  752. package/dist/product/BranchSelect.js +13 -4
  753. package/dist/product/BranchSelect.js.map +1 -1
  754. package/dist/product/ChipSelect.cjs +12 -7
  755. package/dist/product/ChipSelect.d.ts +1 -1
  756. package/dist/product/ChipSelect.d.ts.map +1 -1
  757. package/dist/product/ChipSelect.js +12 -7
  758. package/dist/product/ChipSelect.js.map +1 -1
  759. package/dist/product/ComboBox.cjs +13 -6
  760. package/dist/product/ComboBox.d.ts.map +1 -1
  761. package/dist/product/ComboBox.js +13 -6
  762. package/dist/product/ComboBox.js.map +1 -1
  763. package/dist/product/CommandMenu.cjs +27 -8
  764. package/dist/product/CommandMenu.d.ts +1 -1
  765. package/dist/product/CommandMenu.d.ts.map +1 -1
  766. package/dist/product/CommandMenu.js +27 -8
  767. package/dist/product/CommandMenu.js.map +1 -1
  768. package/dist/product/CommerceResource.cjs +3 -1
  769. package/dist/product/CommerceResource.d.ts.map +1 -1
  770. package/dist/product/CommerceResource.js +3 -1
  771. package/dist/product/CommerceResource.js.map +1 -1
  772. package/dist/product/ConfirmDelete.cjs +5 -3
  773. package/dist/product/ConfirmDelete.d.ts.map +1 -1
  774. package/dist/product/ConfirmDelete.js +5 -3
  775. package/dist/product/ConfirmDelete.js.map +1 -1
  776. package/dist/product/ConnectionBadge.cjs +3 -1
  777. package/dist/product/ConnectionBadge.d.ts.map +1 -1
  778. package/dist/product/ConnectionBadge.js +3 -1
  779. package/dist/product/ConnectionBadge.js.map +1 -1
  780. package/dist/product/CopyButton.cjs +4 -2
  781. package/dist/product/CopyButton.d.ts.map +1 -1
  782. package/dist/product/CopyButton.js +4 -2
  783. package/dist/product/CopyButton.js.map +1 -1
  784. package/dist/product/DataTable.cjs +5 -3
  785. package/dist/product/DataTable.d.ts.map +1 -1
  786. package/dist/product/DataTable.js +5 -3
  787. package/dist/product/DataTable.js.map +1 -1
  788. package/dist/product/DetailPane.cjs +21 -13
  789. package/dist/product/DetailPane.d.ts.map +1 -1
  790. package/dist/product/DetailPane.js +23 -15
  791. package/dist/product/DetailPane.js.map +1 -1
  792. package/dist/product/DialogTemplate.cjs +4 -2
  793. package/dist/product/DialogTemplate.d.ts.map +1 -1
  794. package/dist/product/DialogTemplate.js +4 -2
  795. package/dist/product/DialogTemplate.js.map +1 -1
  796. package/dist/product/Donut.cjs +4 -2
  797. package/dist/product/Donut.d.ts.map +1 -1
  798. package/dist/product/Donut.js +4 -2
  799. package/dist/product/Donut.js.map +1 -1
  800. package/dist/product/Field.cjs +4 -1
  801. package/dist/product/Field.d.ts +1 -1
  802. package/dist/product/Field.d.ts.map +1 -1
  803. package/dist/product/Field.js +4 -1
  804. package/dist/product/Field.js.map +1 -1
  805. package/dist/product/LimitedBanner.cjs +3 -1
  806. package/dist/product/LimitedBanner.d.ts.map +1 -1
  807. package/dist/product/LimitedBanner.js +3 -1
  808. package/dist/product/LimitedBanner.js.map +1 -1
  809. package/dist/product/MenuRow.cjs +2 -2
  810. package/dist/product/MenuRow.js +2 -2
  811. package/dist/product/MenuRow.js.map +1 -1
  812. package/dist/product/Metric.cjs +5 -2
  813. package/dist/product/Metric.d.ts.map +1 -1
  814. package/dist/product/Metric.js +5 -2
  815. package/dist/product/Metric.js.map +1 -1
  816. package/dist/product/OrgSwitcher.cjs +19 -9
  817. package/dist/product/OrgSwitcher.d.ts +1 -1
  818. package/dist/product/OrgSwitcher.d.ts.map +1 -1
  819. package/dist/product/OrgSwitcher.js +19 -9
  820. package/dist/product/OrgSwitcher.js.map +1 -1
  821. package/dist/product/Pagination.cjs +4 -2
  822. package/dist/product/Pagination.d.ts.map +1 -1
  823. package/dist/product/Pagination.js +4 -2
  824. package/dist/product/Pagination.js.map +1 -1
  825. package/dist/product/Palette.cjs +7 -2
  826. package/dist/product/Palette.d.ts +1 -1
  827. package/dist/product/Palette.d.ts.map +1 -1
  828. package/dist/product/Palette.js +8 -3
  829. package/dist/product/Palette.js.map +1 -1
  830. package/dist/product/PlanUsage.cjs +28 -15
  831. package/dist/product/PlanUsage.d.ts +4 -4
  832. package/dist/product/PlanUsage.d.ts.map +1 -1
  833. package/dist/product/PlanUsage.js +28 -15
  834. package/dist/product/PlanUsage.js.map +1 -1
  835. package/dist/product/ProjectThumb.cjs +3 -1
  836. package/dist/product/ProjectThumb.d.ts.map +1 -1
  837. package/dist/product/ProjectThumb.js +3 -1
  838. package/dist/product/ProjectThumb.js.map +1 -1
  839. package/dist/product/RepoSelect.cjs +7 -4
  840. package/dist/product/RepoSelect.d.ts +1 -1
  841. package/dist/product/RepoSelect.d.ts.map +1 -1
  842. package/dist/product/RepoSelect.js +7 -4
  843. package/dist/product/RepoSelect.js.map +1 -1
  844. package/dist/product/SecretInput.cjs +3 -1
  845. package/dist/product/SecretInput.d.ts.map +1 -1
  846. package/dist/product/SecretInput.js +3 -1
  847. package/dist/product/SecretInput.js.map +1 -1
  848. package/dist/product/SelectMenu.cjs +4 -1
  849. package/dist/product/SelectMenu.d.ts +1 -1
  850. package/dist/product/SelectMenu.d.ts.map +1 -1
  851. package/dist/product/SelectMenu.js +4 -1
  852. package/dist/product/SelectMenu.js.map +1 -1
  853. package/dist/product/SiteNav.cjs +9 -5
  854. package/dist/product/SiteNav.d.ts.map +1 -1
  855. package/dist/product/SiteNav.js +9 -5
  856. package/dist/product/SiteNav.js.map +1 -1
  857. package/dist/product/SlideOver.cjs +11 -11
  858. package/dist/product/SlideOver.d.ts +1 -1
  859. package/dist/product/SlideOver.d.ts.map +1 -1
  860. package/dist/product/SlideOver.js +11 -11
  861. package/dist/product/SlideOver.js.map +1 -1
  862. package/dist/product/StatusTag.cjs +4 -1
  863. package/dist/product/StatusTag.d.ts.map +1 -1
  864. package/dist/product/StatusTag.js +4 -1
  865. package/dist/product/StatusTag.js.map +1 -1
  866. package/dist/product/ThemeToggle.cjs +3 -1
  867. package/dist/product/ThemeToggle.d.ts.map +1 -1
  868. package/dist/product/ThemeToggle.js +3 -1
  869. package/dist/product/ThemeToggle.js.map +1 -1
  870. package/dist/product/Toast.cjs +25 -4
  871. package/dist/product/Toast.d.ts.map +1 -1
  872. package/dist/product/Toast.js +25 -4
  873. package/dist/product/Toast.js.map +1 -1
  874. package/dist/product/UsageMeter.cjs +10 -6
  875. package/dist/product/UsageMeter.d.ts.map +1 -1
  876. package/dist/product/UsageMeter.js +11 -7
  877. package/dist/product/UsageMeter.js.map +1 -1
  878. package/dist/product/UserMenu.cjs +5 -3
  879. package/dist/product/UserMenu.d.ts.map +1 -1
  880. package/dist/product/UserMenu.js +5 -3
  881. package/dist/product/UserMenu.js.map +1 -1
  882. package/dist/product/Workbench.cjs +5 -3
  883. package/dist/product/Workbench.d.ts.map +1 -1
  884. package/dist/product/Workbench.js +5 -3
  885. package/dist/product/Workbench.js.map +1 -1
  886. package/dist/product/account.cjs +4 -2
  887. package/dist/product/account.d.ts.map +1 -1
  888. package/dist/product/account.js +4 -2
  889. package/dist/product/account.js.map +1 -1
  890. package/dist/product/limits.cjs +61 -24
  891. package/dist/product/limits.d.ts +4 -3
  892. package/dist/product/limits.d.ts.map +1 -1
  893. package/dist/product/limits.js +61 -24
  894. package/dist/product/limits.js.map +1 -1
  895. package/dist/product/match.cjs +2 -1
  896. package/dist/product/match.d.ts +1 -1
  897. package/dist/product/match.d.ts.map +1 -1
  898. package/dist/product/match.js +2 -1
  899. package/dist/product/match.js.map +1 -1
  900. package/dist/product/social/CampaignCard.cjs +3 -1
  901. package/dist/product/social/CampaignCard.d.ts.map +1 -1
  902. package/dist/product/social/CampaignCard.js +3 -1
  903. package/dist/product/social/CampaignCard.js.map +1 -1
  904. package/dist/product/social/PostAgenda.cjs +3 -1
  905. package/dist/product/social/PostAgenda.d.ts.map +1 -1
  906. package/dist/product/social/PostAgenda.js +3 -1
  907. package/dist/product/social/PostAgenda.js.map +1 -1
  908. package/dist/product/social/PostCard.cjs +3 -1
  909. package/dist/product/social/PostCard.d.ts.map +1 -1
  910. package/dist/product/social/PostCard.js +3 -1
  911. package/dist/product/social/PostCard.js.map +1 -1
  912. package/dist/product/social/PostComposer.cjs +12 -6
  913. package/dist/product/social/PostComposer.d.ts.map +1 -1
  914. package/dist/product/social/PostComposer.js +12 -6
  915. package/dist/product/social/PostComposer.js.map +1 -1
  916. package/dist/product/social/ProviderReadinessList.cjs +3 -1
  917. package/dist/product/social/ProviderReadinessList.d.ts.map +1 -1
  918. package/dist/product/social/ProviderReadinessList.js +3 -1
  919. package/dist/product/social/ProviderReadinessList.js.map +1 -1
  920. package/dist/product/social/SocialResource.cjs +25 -16
  921. package/dist/product/social/SocialResource.d.ts.map +1 -1
  922. package/dist/product/social/SocialResource.js +26 -17
  923. package/dist/product/social/SocialResource.js.map +1 -1
  924. package/dist/product/social/SocialSummaryBar.cjs +6 -4
  925. package/dist/product/social/SocialSummaryBar.d.ts.map +1 -1
  926. package/dist/product/social/SocialSummaryBar.js +6 -4
  927. package/dist/product/social/SocialSummaryBar.js.map +1 -1
  928. package/dist/product/social/ViewToggle.cjs +6 -3
  929. package/dist/product/social/ViewToggle.d.ts.map +1 -1
  930. package/dist/product/social/ViewToggle.js +6 -3
  931. package/dist/product/social/ViewToggle.js.map +1 -1
  932. package/dist/product/useLimits.cjs +4 -2
  933. package/dist/product/useLimits.d.ts.map +1 -1
  934. package/dist/product/useLimits.js +4 -2
  935. package/dist/product/useLimits.js.map +1 -1
  936. package/dist/root.cjs +6 -4
  937. package/dist/root.d.ts +52 -2
  938. package/dist/root.d.ts.map +1 -1
  939. package/dist/root.js +6 -4
  940. package/dist/root.js.map +1 -1
  941. package/dist/root.node.cjs +6 -4
  942. package/dist/root.node.js +6 -4
  943. package/dist/settings/Section.cjs +4 -2
  944. package/dist/settings/Section.d.ts.map +1 -1
  945. package/dist/settings/Section.js +4 -2
  946. package/dist/settings/Section.js.map +1 -1
  947. package/dist/settings/Settings.cjs +4 -1
  948. package/dist/settings/Settings.d.ts +1 -1
  949. package/dist/settings/Settings.d.ts.map +1 -1
  950. package/dist/settings/Settings.js +4 -1
  951. package/dist/settings/Settings.js.map +1 -1
  952. package/dist/styles.css +10 -59
  953. package/dist/theme.css +10 -59
  954. package/package.json +11 -2
@@ -10,6 +10,8 @@ const jsx_runtime_1 = require("react/jsx-runtime");
10
10
  * ever drawn. A class with a short window carries it as a second, slimmer bar.
11
11
  */
12
12
  const gui_1 = require("@hanzo/gui");
13
+ const i18n_1 = require("@hanzo/i18n");
14
+ const react_1 = require("@hanzo/i18n/react");
13
15
  const progress_1 = require("../backends/gui/progress.cjs");
14
16
  const slot_1 = require("../backends/gui/slot.cjs");
15
17
  const limits_1 = require("./limits.cjs");
@@ -18,29 +20,31 @@ exports.STATE_COLOR = { ok: '$good', near: '$yellow10', limited: '$bad' };
18
20
  /** What a class row says under its bar about who pays now. */
19
21
  function caption(c) {
20
22
  if (c.paying === 'credits')
21
- return 'Paying from credits';
23
+ return (0, i18n_1.phrase)('Paying from credits');
22
24
  if (c.state === 'limited' && (c.paying === 'none' || c.paying === 'free'))
23
- return 'Paused';
25
+ return (0, i18n_1.phrase)('Paused');
24
26
  if (c.state === 'near')
25
- return 'Almost used';
27
+ return (0, i18n_1.phrase)('Almost used');
26
28
  return '';
27
29
  }
28
30
  function Session({ label, w, now }) {
29
31
  const resets = (0, limits_1.when)(w.resets_at, now);
30
- return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2", minW: 0, "data-state": w.state, ...(0, slot_1.slot)('usage-meter-window'), children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$1", color: "$soft", shrink: 0, children: "Session" }), (0, jsx_runtime_1.jsx)(progress_1.Progress, { value: w.percent, height: 4, flex: 1, minW: 0, indicatorColor: exports.STATE_COLOR[w.state], "aria-label": `${label} session: ${w.percent}% used` }), (0, jsx_runtime_1.jsxs)(gui_1.Text, { fontSize: "$1", color: "$soft", shrink: 0, fontVariant: ['tabular-nums'], children: [w.percent, "%", resets ? ` · Resets ${resets}` : ''] })] }));
32
+ const { t } = (0, react_1.useI18n)();
33
+ return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2", minW: 0, "data-state": w.state, ...(0, slot_1.slot)('usage-meter-window'), children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$1", color: "$soft", shrink: 0, children: t('Session') }), (0, jsx_runtime_1.jsx)(progress_1.Progress, { value: w.percent, height: 4, flex: 1, minW: 0, indicatorColor: exports.STATE_COLOR[w.state], "aria-label": t('{label} session: {percent}% used', { label, percent: w.percent }) }), (0, jsx_runtime_1.jsxs)(gui_1.Text, { fontSize: "$1", color: "$soft", shrink: 0, fontVariant: ['tabular-nums'], children: [w.percent, "%", resets ? ` · ${t('Resets {until}', { until: resets })}` : ''] })] }));
31
34
  }
32
35
  function UsageMeter({ limits, classes = limits_1.CLASSES, size = 'md', now }) {
33
36
  const rows = classes.flatMap((c) => {
34
37
  const k = limits.classes[c];
35
38
  return k ? [{ c, k }] : [];
36
39
  });
40
+ const { t } = (0, react_1.useI18n)();
37
41
  if (!rows.length)
38
42
  return null;
39
43
  const sm = size === 'sm';
40
44
  return ((0, jsx_runtime_1.jsx)(gui_1.YStack, { gap: sm ? '$2.5' : '$5', width: "100%", minW: 0, ...(0, slot_1.slot)('usage-meter'), children: rows.map(({ c, k }) => {
41
- const label = limits_1.CLASS_LABEL[c];
45
+ const label = (0, limits_1.classesLabel)([c], t);
42
46
  const resets = (0, limits_1.when)(k.resets_at, now);
43
47
  const note = caption(k);
44
- return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: sm ? '$1.5' : '$2', minW: 0, "data-class": c, "data-state": k.state, ...(0, slot_1.slot)('usage-meter-row'), children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { justify: "space-between", items: "baseline", gap: "$3", minW: 0, children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: sm ? '$2' : '$3', color: "$ink", fontWeight: "500", numberOfLines: 1, children: label }), (0, jsx_runtime_1.jsxs)(gui_1.Text, { fontSize: sm ? '$2' : '$3', color: "$ink", fontVariant: ['tabular-nums'], shrink: 0, children: [k.percent, "% used"] })] }), (0, jsx_runtime_1.jsx)(progress_1.Progress, { value: k.percent, height: sm ? 4 : 8, minW: 0, indicatorColor: exports.STATE_COLOR[k.state], "aria-label": `${label}: ${k.percent}% used` }), resets || note ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { justify: "space-between", gap: "$3", flexWrap: "wrap", minW: 0, children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: sm ? '$1' : '$2', color: "$soft", children: resets ? `Resets ${resets}` : '' }), note ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: sm ? '$1' : '$2', color: k.state === 'limited' ? '$bad' : '$soft', children: note })) : null] })) : null, k.window ? (0, jsx_runtime_1.jsx)(Session, { label: label, w: k.window, now: now }) : null] }, c));
48
+ return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: sm ? '$1.5' : '$2', minW: 0, "data-class": c, "data-state": k.state, ...(0, slot_1.slot)('usage-meter-row'), children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { justify: "space-between", items: "baseline", gap: "$3", minW: 0, children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: sm ? '$2' : '$3', color: "$ink", fontWeight: "500", numberOfLines: 1, children: label }), (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: sm ? '$2' : '$3', color: "$ink", fontVariant: ['tabular-nums'], shrink: 0, children: t('{percent}% used', { percent: k.percent }) })] }), (0, jsx_runtime_1.jsx)(progress_1.Progress, { value: k.percent, height: sm ? 4 : 8, minW: 0, indicatorColor: exports.STATE_COLOR[k.state], "aria-label": t('{label}: {percent}% used', { label, percent: k.percent }) }), resets || note ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { justify: "space-between", gap: "$3", flexWrap: "wrap", minW: 0, children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: sm ? '$1' : '$2', color: "$soft", children: resets ? t('Resets {until}', { until: resets }) : '' }), note ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: sm ? '$1' : '$2', color: k.state === 'limited' ? '$bad' : '$soft', children: t(note) })) : null] })) : null, k.window ? (0, jsx_runtime_1.jsx)(Session, { label: label, w: k.window, now: now }) : null] }, c));
45
49
  }) }));
46
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UsageMeter.d.ts","sourceRoot":"","sources":["../../src/product/UsageMeter.tsx"],"names":[],"mappings":"AAUA,OAAO,EAA+C,KAAK,UAAU,EAAqC,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAEvI,oDAAoD;AACpD,eAAO,MAAM,WAAW;iBAAS,OAAO;mBAAQ,WAAW;sBAAW,MAAM;CAAgD,CAAA;AAgC5H,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,iFAAiF;IACjF,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAA;IAC/B,mDAAmD;IACnD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAClB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAiB,EAAE,IAAW,EAAE,GAAG,EAAE,EAAE,eAAe,sCAgD1F"}
1
+ {"version":3,"file":"UsageMeter.d.ts","sourceRoot":"","sources":["../../src/product/UsageMeter.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAgD,KAAK,UAAU,EAAqC,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAExI,oDAAoD;AACpD,eAAO,MAAM,WAAW;iBAAS,OAAO;mBAAQ,WAAW;sBAAW,MAAM;CAAgD,CAAA;AAiC5H,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,iFAAiF;IACjF,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAA;IAC/B,mDAAmD;IACnD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAClB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAiB,EAAE,IAAW,EAAE,GAAG,EAAE,EAAE,eAAe,sCAiD1F"}
@@ -6,38 +6,42 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
6
  * ever drawn. A class with a short window carries it as a second, slimmer bar.
7
7
  */
8
8
  import { Text, XStack, YStack } from '@hanzo/gui';
9
+ import { phrase } from '@hanzo/i18n';
10
+ import { useI18n } from '@hanzo/i18n/react';
9
11
  import { Progress } from '../backends/gui/progress.js';
10
12
  import { slot } from '../backends/gui/slot.js';
11
- import { CLASSES, CLASS_LABEL, when } from './limits.js';
13
+ import { CLASSES, classesLabel, when } from './limits.js';
12
14
  /** The status rung each state paints its bar in. */
13
15
  export const STATE_COLOR = { ok: '$good', near: '$yellow10', limited: '$bad' };
14
16
  /** What a class row says under its bar about who pays now. */
15
17
  function caption(c) {
16
18
  if (c.paying === 'credits')
17
- return 'Paying from credits';
19
+ return phrase('Paying from credits');
18
20
  if (c.state === 'limited' && (c.paying === 'none' || c.paying === 'free'))
19
- return 'Paused';
21
+ return phrase('Paused');
20
22
  if (c.state === 'near')
21
- return 'Almost used';
23
+ return phrase('Almost used');
22
24
  return '';
23
25
  }
24
26
  function Session({ label, w, now }) {
25
27
  const resets = when(w.resets_at, now);
26
- return (_jsxs(XStack, { items: "center", gap: "$2", minW: 0, "data-state": w.state, ...slot('usage-meter-window'), children: [_jsx(Text, { fontSize: "$1", color: "$soft", shrink: 0, children: "Session" }), _jsx(Progress, { value: w.percent, height: 4, flex: 1, minW: 0, indicatorColor: STATE_COLOR[w.state], "aria-label": `${label} session: ${w.percent}% used` }), _jsxs(Text, { fontSize: "$1", color: "$soft", shrink: 0, fontVariant: ['tabular-nums'], children: [w.percent, "%", resets ? ` · Resets ${resets}` : ''] })] }));
28
+ const { t } = useI18n();
29
+ return (_jsxs(XStack, { items: "center", gap: "$2", minW: 0, "data-state": w.state, ...slot('usage-meter-window'), children: [_jsx(Text, { fontSize: "$1", color: "$soft", shrink: 0, children: t('Session') }), _jsx(Progress, { value: w.percent, height: 4, flex: 1, minW: 0, indicatorColor: STATE_COLOR[w.state], "aria-label": t('{label} session: {percent}% used', { label, percent: w.percent }) }), _jsxs(Text, { fontSize: "$1", color: "$soft", shrink: 0, fontVariant: ['tabular-nums'], children: [w.percent, "%", resets ? ` · ${t('Resets {until}', { until: resets })}` : ''] })] }));
27
30
  }
28
31
  export function UsageMeter({ limits, classes = CLASSES, size = 'md', now }) {
29
32
  const rows = classes.flatMap((c) => {
30
33
  const k = limits.classes[c];
31
34
  return k ? [{ c, k }] : [];
32
35
  });
36
+ const { t } = useI18n();
33
37
  if (!rows.length)
34
38
  return null;
35
39
  const sm = size === 'sm';
36
40
  return (_jsx(YStack, { gap: sm ? '$2.5' : '$5', width: "100%", minW: 0, ...slot('usage-meter'), children: rows.map(({ c, k }) => {
37
- const label = CLASS_LABEL[c];
41
+ const label = classesLabel([c], t);
38
42
  const resets = when(k.resets_at, now);
39
43
  const note = caption(k);
40
- return (_jsxs(YStack, { gap: sm ? '$1.5' : '$2', minW: 0, "data-class": c, "data-state": k.state, ...slot('usage-meter-row'), children: [_jsxs(XStack, { justify: "space-between", items: "baseline", gap: "$3", minW: 0, children: [_jsx(Text, { fontSize: sm ? '$2' : '$3', color: "$ink", fontWeight: "500", numberOfLines: 1, children: label }), _jsxs(Text, { fontSize: sm ? '$2' : '$3', color: "$ink", fontVariant: ['tabular-nums'], shrink: 0, children: [k.percent, "% used"] })] }), _jsx(Progress, { value: k.percent, height: sm ? 4 : 8, minW: 0, indicatorColor: STATE_COLOR[k.state], "aria-label": `${label}: ${k.percent}% used` }), resets || note ? (_jsxs(XStack, { justify: "space-between", gap: "$3", flexWrap: "wrap", minW: 0, children: [_jsx(Text, { fontSize: sm ? '$1' : '$2', color: "$soft", children: resets ? `Resets ${resets}` : '' }), note ? (_jsx(Text, { fontSize: sm ? '$1' : '$2', color: k.state === 'limited' ? '$bad' : '$soft', children: note })) : null] })) : null, k.window ? _jsx(Session, { label: label, w: k.window, now: now }) : null] }, c));
44
+ return (_jsxs(YStack, { gap: sm ? '$1.5' : '$2', minW: 0, "data-class": c, "data-state": k.state, ...slot('usage-meter-row'), children: [_jsxs(XStack, { justify: "space-between", items: "baseline", gap: "$3", minW: 0, children: [_jsx(Text, { fontSize: sm ? '$2' : '$3', color: "$ink", fontWeight: "500", numberOfLines: 1, children: label }), _jsx(Text, { fontSize: sm ? '$2' : '$3', color: "$ink", fontVariant: ['tabular-nums'], shrink: 0, children: t('{percent}% used', { percent: k.percent }) })] }), _jsx(Progress, { value: k.percent, height: sm ? 4 : 8, minW: 0, indicatorColor: STATE_COLOR[k.state], "aria-label": t('{label}: {percent}% used', { label, percent: k.percent }) }), resets || note ? (_jsxs(XStack, { justify: "space-between", gap: "$3", flexWrap: "wrap", minW: 0, children: [_jsx(Text, { fontSize: sm ? '$1' : '$2', color: "$soft", children: resets ? t('Resets {until}', { until: resets }) : '' }), note ? (_jsx(Text, { fontSize: sm ? '$1' : '$2', color: k.state === 'limited' ? '$bad' : '$soft', children: t(note) })) : null] })) : null, k.window ? _jsx(Session, { label: label, w: k.window, now: now }) : null] }, c));
41
45
  }) }));
42
46
  }
43
47
  //# sourceMappingURL=UsageMeter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UsageMeter.js","sourceRoot":"","sources":["../../src/product/UsageMeter.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;GAIG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAoF,MAAM,UAAU,CAAA;AAEvI,oDAAoD;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAgD,CAAA;AAE5H,8DAA8D;AAC9D,SAAS,OAAO,CAAC,CAAa;IAC5B,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,qBAAqB,CAAA;IACxD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAA;IAC1F,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,aAAa,CAAA;IAC5C,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAmD;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;IACrC,OAAO,CACL,MAAC,MAAM,IAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAE,CAAC,gBAAc,CAAC,CAAC,KAAK,KAAM,IAAI,CAAC,oBAAoB,CAAC,aAC1F,KAAC,IAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAC,MAAM,EAAE,CAAC,wBAEpC,EACP,KAAC,QAAQ,IACP,KAAK,EAAE,CAAC,CAAC,OAAO,EAChB,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,CAAC,EACP,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,gBACxB,GAAG,KAAK,aAAa,CAAC,CAAC,OAAO,QAAQ,GAClD,EACF,MAAC,IAAI,IAAC,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,cAAc,CAAC,aACvE,CAAC,CAAC,OAAO,OAAG,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAC3C,IACA,CACV,CAAA;AACH,CAAC;AAYD,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,EAAmB;IACzF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACjC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC3B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5B,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC7B,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAA;IACxB,OAAO,CACL,KAAC,MAAM,IAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,IAAI,EAAE,CAAC,KAAM,IAAI,CAAC,aAAa,CAAC,YAC3E,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YACrC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACvB,OAAO,CACL,MAAC,MAAM,IAAS,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,gBAAc,CAAC,gBAAc,CAAC,CAAC,KAAK,KAAM,IAAI,CAAC,iBAAiB,CAAC,aAC/G,MAAC,MAAM,IAAC,OAAO,EAAC,eAAe,EAAC,KAAK,EAAC,UAAU,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAE,CAAC,aAC/D,KAAC,IAAI,IAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,UAAU,EAAC,KAAK,EAAC,aAAa,EAAE,CAAC,YAC7E,KAAK,GACD,EACP,MAAC,IAAI,IAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,WAAW,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,aACpF,CAAC,CAAC,OAAO,cACL,IACA,EACT,KAAC,QAAQ,IACP,KAAK,EAAE,CAAC,CAAC,OAAO,EAChB,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAClB,IAAI,EAAE,CAAC,EACP,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,gBACxB,GAAG,KAAK,KAAK,CAAC,CAAC,OAAO,QAAQ,GAC1C,EACD,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAChB,MAAC,MAAM,IAAC,OAAO,EAAC,eAAe,EAAC,GAAG,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,IAAI,EAAE,CAAC,aAC9D,KAAC,IAAI,IAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,OAAO,YAC5C,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAC5B,EACN,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,IAAI,IAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAC9E,IAAI,GACA,CACR,CAAC,CAAC,CAAC,IAAI,IACD,CACV,CAAC,CAAC,CAAC,IAAI,EACP,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC,CAAC,CAAC,IAAI,KA5BxD,CAAC,CA6BL,CACV,CAAA;QACH,CAAC,CAAC,GACK,CACV,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"UsageMeter.js","sourceRoot":"","sources":["../../src/product/UsageMeter.tsx"],"names":[],"mappings":"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"}
@@ -27,18 +27,20 @@ const react_1 = require("react");
27
27
  const sx_1 = require("../sx.cjs");
28
28
  const gui_1 = require("@hanzo/gui");
29
29
  const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
30
+ const react_2 = require("@hanzo/i18n/react");
30
31
  const account_1 = require("./account.cjs");
31
32
  const instrument_1 = require("./instrument.cjs");
32
33
  const name_1 = require("./name.cjs");
33
34
  Object.defineProperty(exports, "displayName", { enumerable: true, get: function () { return name_1.displayName; } });
34
35
  const OrgMark_1 = require("./OrgMark.cjs");
35
36
  const ThemeToggle_1 = require("./ThemeToggle.cjs");
36
- function UserMenu({ name, email, avatar, groups = [], theme, onSignOut, signOutLabel = 'Sign out', children, label = true, height = 44, direction = 'down', align = 'end', aria, testId, className, style, }) {
37
+ function UserMenu({ name, email, avatar, groups = [], theme, onSignOut, signOutLabel, children, label = true, height = 44, direction = 'down', align = 'end', aria, testId, className, style, }) {
37
38
  const [open, setOpen] = (0, react_1.useState)(false);
38
39
  // Closing hands focus back to the trigger. The popover's own return goes
39
40
  // through a trigger ref that an `asChild` stack never fills, so it is ours.
40
41
  const trigger = (0, react_1.useRef)(null);
41
42
  const track = (0, instrument_1.useEmit)();
43
+ const { t } = (0, react_2.useI18n)();
42
44
  const shown = (0, name_1.displayName)(name, email);
43
45
  const close = () => setOpen(false);
44
46
  return ((0, jsx_runtime_1.jsxs)(gui_1.Popover, { open: open, onOpenChange: (next) => {
@@ -49,7 +51,7 @@ function UserMenu({ name, email, avatar, groups = [], theme, onSignOut, signOutL
49
51
  // `OrgSwitcher`. This is the control it bites: at the foot of a desktop
50
52
  // rail it opens upward, and the SAME mount near the top of a phone's
51
53
  // account sheet has nowhere to go upward at all.
52
- allowFlip: true, stayInFrame: true, children: [(0, jsx_runtime_1.jsx)(gui_1.Popover.Trigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(gui_1.XStack, { ref: trigger, cursor: "pointer", items: "center", gap: "$2.5", height: height, px: "$2", rounded: "$3", minW: 0, hoverStyle: { bg: '$edge' }, role: "button", tabIndex: 0, "data-testid": testId, "aria-label": aria ?? (shown ? `${shown} · account` : 'Account'), "aria-haspopup": "menu", "aria-expanded": open,
54
+ allowFlip: true, stayInFrame: true, children: [(0, jsx_runtime_1.jsx)(gui_1.Popover.Trigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(gui_1.XStack, { ref: trigger, cursor: "pointer", items: "center", gap: "$2.5", height: height, px: "$2", rounded: "$3", minW: 0, hoverStyle: { bg: '$edge' }, role: "button", tabIndex: 0, "data-testid": testId, "aria-label": aria ?? (shown ? t('{name} · account', { name: shown }) : t('Account')), "aria-haspopup": "menu", "aria-expanded": open,
53
55
  // gui opens a stack-drawn trigger on a press only; Enter and Space are
54
56
  // the trigger's own (see backends/gui/press.ts).
55
57
  onKeyDown: (e) => {
@@ -57,7 +59,7 @@ function UserMenu({ name, email, avatar, groups = [], theme, onSignOut, signOutL
57
59
  return;
58
60
  e.preventDefault?.();
59
61
  setOpen(!open);
60
- }, children: [avatar || shown ? ((0, jsx_runtime_1.jsx)(OrgMark_1.OrgMark, { org: { name: shown || 'Account', logo: avatar }, size: 30 })) : ((0, jsx_runtime_1.jsx)(lucide_icons_2_1.UserRound, { size: 18 })), label && shown ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", fontWeight: "600", color: "$ink", numberOfLines: 1, maxW: 160, children: shown })) : null, label && shown ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronsUpDown, { size: 16, color: "$faint" }) : null] }) }), (0, jsx_runtime_1.jsx)(gui_1.Popover.Content, { role: "menu",
62
+ }, children: [avatar || shown ? ((0, jsx_runtime_1.jsx)(OrgMark_1.OrgMark, { org: { name: shown || t('Account'), logo: avatar }, size: 30 })) : ((0, jsx_runtime_1.jsx)(lucide_icons_2_1.UserRound, { size: 18 })), label && shown ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$3", fontWeight: "600", color: "$ink", numberOfLines: 1, maxW: 160, children: shown })) : null, label && shown ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronsUpDown, { size: 16, color: "$faint" }) : null] }) }), (0, jsx_runtime_1.jsx)(gui_1.Popover.Content, { role: "menu",
61
63
  /* A menu sheet's rows run its full width. gui's PopperContent centres
62
64
  its children, so each row is only as wide as its own text until the
63
65
  class that stretches it lands a frame later: the sheet flashes a
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenu.d.ts","sourceRoot":"","sources":["../../src/product/UserMenu.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAoB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK5E,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAMpC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;gFAC4E;IAC5E,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB;iFAC6E;IAC7E,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,oEAAoE;IACpE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB;4EACwE;IACxE,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACvB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,CAAA;AAKD,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,MAAW,EACX,KAAK,EACL,SAAS,EACT,YAAyB,EACzB,QAAQ,EACR,KAAY,EACZ,MAAW,EACX,SAAkB,EAClB,KAAa,EACb,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,aAAa,+BAoHf"}
1
+ {"version":3,"file":"UserMenu.d.ts","sourceRoot":"","sources":["../../src/product/UserMenu.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAoB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAM5E,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAMpC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;gFAC4E;IAC5E,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB;iFAC6E;IAC7E,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,oEAAoE;IACpE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB;4EACwE;IACxE,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACvB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,CAAA;AAKD,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,MAAW,EACX,KAAK,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,KAAY,EACZ,MAAW,EACX,SAAkB,EAClB,KAAa,EACb,IAAI,EACJ,MAAM,EACN,SAAS,EACT,KAAK,GACN,EAAE,aAAa,+BAqHf"}
@@ -23,6 +23,7 @@ import { useRef, useState } from 'react';
23
23
  import { sx } from '../sx.js';
24
24
  import { Popover, Text, XStack } from '@hanzo/gui';
25
25
  import { ChevronsUpDown, UserRound } from '@hanzogui/lucide-icons-2';
26
+ import { useI18n } from '@hanzo/i18n/react';
26
27
  import { Account } from './account.js';
27
28
  import { useEmit } from './instrument.js';
28
29
  import { displayName } from './name.js';
@@ -32,12 +33,13 @@ import { ThemeToggle } from './ThemeToggle.js';
32
33
  // reachable without a gui runtime via `@hanzo/ui/product/pure`. Re-exported
33
34
  // here because it was published from this module.
34
35
  export { displayName };
35
- export function UserMenu({ name, email, avatar, groups = [], theme, onSignOut, signOutLabel = 'Sign out', children, label = true, height = 44, direction = 'down', align = 'end', aria, testId, className, style, }) {
36
+ export function UserMenu({ name, email, avatar, groups = [], theme, onSignOut, signOutLabel, children, label = true, height = 44, direction = 'down', align = 'end', aria, testId, className, style, }) {
36
37
  const [open, setOpen] = useState(false);
37
38
  // Closing hands focus back to the trigger. The popover's own return goes
38
39
  // through a trigger ref that an `asChild` stack never fills, so it is ours.
39
40
  const trigger = useRef(null);
40
41
  const track = useEmit();
42
+ const { t } = useI18n();
41
43
  const shown = displayName(name, email);
42
44
  const close = () => setOpen(false);
43
45
  return (_jsxs(Popover, { open: open, onOpenChange: (next) => {
@@ -48,7 +50,7 @@ export function UserMenu({ name, email, avatar, groups = [], theme, onSignOut, s
48
50
  // `OrgSwitcher`. This is the control it bites: at the foot of a desktop
49
51
  // rail it opens upward, and the SAME mount near the top of a phone's
50
52
  // account sheet has nowhere to go upward at all.
51
- allowFlip: true, stayInFrame: true, children: [_jsx(Popover.Trigger, { asChild: true, children: _jsxs(XStack, { ref: trigger, cursor: "pointer", items: "center", gap: "$2.5", height: height, px: "$2", rounded: "$3", minW: 0, hoverStyle: { bg: '$edge' }, role: "button", tabIndex: 0, "data-testid": testId, "aria-label": aria ?? (shown ? `${shown} · account` : 'Account'), "aria-haspopup": "menu", "aria-expanded": open,
53
+ allowFlip: true, stayInFrame: true, children: [_jsx(Popover.Trigger, { asChild: true, children: _jsxs(XStack, { ref: trigger, cursor: "pointer", items: "center", gap: "$2.5", height: height, px: "$2", rounded: "$3", minW: 0, hoverStyle: { bg: '$edge' }, role: "button", tabIndex: 0, "data-testid": testId, "aria-label": aria ?? (shown ? t('{name} · account', { name: shown }) : t('Account')), "aria-haspopup": "menu", "aria-expanded": open,
52
54
  // gui opens a stack-drawn trigger on a press only; Enter and Space are
53
55
  // the trigger's own (see backends/gui/press.ts).
54
56
  onKeyDown: (e) => {
@@ -56,7 +58,7 @@ export function UserMenu({ name, email, avatar, groups = [], theme, onSignOut, s
56
58
  return;
57
59
  e.preventDefault?.();
58
60
  setOpen(!open);
59
- }, children: [avatar || shown ? (_jsx(OrgMark, { org: { name: shown || 'Account', logo: avatar }, size: 30 })) : (_jsx(UserRound, { size: 18 })), label && shown ? (_jsx(Text, { fontSize: "$3", fontWeight: "600", color: "$ink", numberOfLines: 1, maxW: 160, children: shown })) : null, label && shown ? _jsx(ChevronsUpDown, { size: 16, color: "$faint" }) : null] }) }), _jsx(Popover.Content, { role: "menu",
61
+ }, children: [avatar || shown ? (_jsx(OrgMark, { org: { name: shown || t('Account'), logo: avatar }, size: 30 })) : (_jsx(UserRound, { size: 18 })), label && shown ? (_jsx(Text, { fontSize: "$3", fontWeight: "600", color: "$ink", numberOfLines: 1, maxW: 160, children: shown })) : null, label && shown ? _jsx(ChevronsUpDown, { size: 16, color: "$faint" }) : null] }) }), _jsx(Popover.Content, { role: "menu",
60
62
  /* A menu sheet's rows run its full width. gui's PopperContent centres
61
63
  its children, so each row is only as wide as its own text until the
62
64
  class that stretches it lands a frame later: the sheet flashes a
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenu.js","sourceRoot":"","sources":["../../src/product/UserMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserMenu.js","sourceRoot":"","sources":["../../src/product/UserMenu.tsx"],"names":[],"mappings":"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"}
@@ -31,11 +31,13 @@ const jsx_runtime_1 = require("react/jsx-runtime");
31
31
  */
32
32
  const react_1 = require("react");
33
33
  const gui_1 = require("@hanzo/gui");
34
+ const react_2 = require("@hanzo/i18n/react");
34
35
  const glass_1 = require("../glass.cjs");
35
36
  const DEFAULT_SIZE = { left: 260, right: 380, bottom: 220 };
36
37
  /** The edge facing the center carries the drag handle. */
37
38
  const HANDLE_FIRST = { left: false, right: true, bottom: true };
38
39
  function Dock({ side, tabs, activeId, defaultActiveId, onActivate, onClose, actions, size, onResize, minSize = 160, maxSize = 900, }) {
40
+ const { t } = (0, react_2.useI18n)();
39
41
  const [active, setActive] = (0, gui_1.useControllableState)({
40
42
  prop: activeId,
41
43
  defaultProp: defaultActiveId ?? tabs[0]?.id,
@@ -71,15 +73,15 @@ function Dock({ side, tabs, activeId, defaultActiveId, onActivate, onClose, acti
71
73
  const current = tabs.find((t) => t.id === active) ?? tabs[0];
72
74
  // The seam between two sheets, and where the dock is resized.
73
75
  const seam = ((0, jsx_runtime_1.jsx)(gui_1.YStack, { onPointerDown: onDown, onPointerMove: onMove, cursor: horizontal ? 'col-resize' : 'row-resize', width: horizontal ? 5 : undefined, height: horizontal ? undefined : 5, hoverStyle: { bg: '$rim' } }));
74
- const dock = ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { overflow: "hidden", ...(0, glass_1.sheet)(1), ...(horizontal ? { width: extent } : { height: extent }), children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$1", px: "$2", pt: "$1.5", children: [tabs.map((t) => {
75
- const on = t.id === current.id;
76
+ const dock = ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { overflow: "hidden", ...(0, glass_1.sheet)(1), ...(horizontal ? { width: extent } : { height: extent }), children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$1", px: "$2", pt: "$1.5", children: [tabs.map((tab) => {
77
+ const on = tab.id === current.id;
76
78
  return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$1.5", px: "$2.5", py: "$1.5", cursor: "pointer",
77
79
  // The active tab is a raised sheet whose bottom corners stay
78
80
  // square, so it reads as continuous with the pane beneath it —
79
81
  // which is why both stand on rung 2 rather than merely looking
80
82
  // similar. An inactive tab is not a sheet at all; it is the
81
83
  // dock's own surface showing through.
82
- rounded: "$3", ...(on ? (0, glass_1.sheet)(2) : { backgroundColor: 'transparent' }), hoverStyle: { bg: on ? undefined : '$panel' }, children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { onPress: () => setActive(t.id), children: (0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$1.5", children: [t.icon, (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", numberOfLines: 1, opacity: on ? 1 : 0.7, children: t.title })] }) }), t.closable === false ? null : ((0, jsx_runtime_1.jsx)(gui_1.Button, { size: "$1", chromeless: true, circular: true, "aria-label": `Close ${t.title}`, onPress: () => onClose?.(t.id), children: "\u00D7" }))] }, t.id));
84
+ rounded: "$3", ...(on ? (0, glass_1.sheet)(2) : { backgroundColor: 'transparent' }), hoverStyle: { bg: on ? undefined : '$panel' }, children: [(0, jsx_runtime_1.jsx)(gui_1.YStack, { onPress: () => setActive(tab.id), children: (0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$1.5", children: [tab.icon, (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", numberOfLines: 1, opacity: on ? 1 : 0.7, children: tab.title })] }) }), tab.closable === false ? null : ((0, jsx_runtime_1.jsx)(gui_1.Button, { size: "$1", chromeless: true, circular: true, "aria-label": t('Close {title}', { title: tab.title }), onPress: () => onClose?.(tab.id), children: "\u00D7" }))] }, tab.id));
83
85
  }), actions] }), (0, jsx_runtime_1.jsx)(gui_1.Separator, { opacity: 0.4 }), (0, jsx_runtime_1.jsx)(gui_1.YStack, { flex: 1, overflow: "hidden", ...(0, glass_1.sheet)(2), children: current.content })] }));
84
86
  // Named rather than an array: a list of children needs keys, and two siblings
85
87
  // that are not a list should not have to invent identities to sit beside
@@ -1 +1 @@
1
- {"version":3,"file":"Workbench.d.ts","sourceRoot":"","sources":["../../src/product/Workbench.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK3D,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE9C,MAAM,MAAM,GAAG,GAAG;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,SAAS,CAAA;IAClB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,yEAAyE;IACzE,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAOD,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,eAAe,EACf,UAAU,EACV,OAAO,EACP,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAa,EACb,OAAa,GACd,EAAE,SAAS,sCA8HX;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC9B,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAChC,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,cAAc,+BAa1E"}
1
+ {"version":3,"file":"Workbench.d.ts","sourceRoot":"","sources":["../../src/product/Workbench.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAM3D,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE9C,MAAM,MAAM,GAAG,GAAG;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,SAAS,CAAA;IAClB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,yEAAyE;IACzE,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAOD,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,eAAe,EACf,UAAU,EACV,OAAO,EACP,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,OAAa,EACb,OAAa,GACd,EAAE,SAAS,sCA+HX;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC9B,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAChC,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,CAAA;CACpB,CAAA;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,cAAc,+BAa1E"}
@@ -27,11 +27,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
27
27
  */
28
28
  import { useCallback, useRef } from 'react';
29
29
  import { Button, Separator, Text, XStack, YStack, useControllableState } from '@hanzo/gui';
30
+ import { useI18n } from '@hanzo/i18n/react';
30
31
  import { sheet } from '../glass.js';
31
32
  const DEFAULT_SIZE = { left: 260, right: 380, bottom: 220 };
32
33
  /** The edge facing the center carries the drag handle. */
33
34
  const HANDLE_FIRST = { left: false, right: true, bottom: true };
34
35
  export function Dock({ side, tabs, activeId, defaultActiveId, onActivate, onClose, actions, size, onResize, minSize = 160, maxSize = 900, }) {
36
+ const { t } = useI18n();
35
37
  const [active, setActive] = useControllableState({
36
38
  prop: activeId,
37
39
  defaultProp: defaultActiveId ?? tabs[0]?.id,
@@ -67,15 +69,15 @@ export function Dock({ side, tabs, activeId, defaultActiveId, onActivate, onClos
67
69
  const current = tabs.find((t) => t.id === active) ?? tabs[0];
68
70
  // The seam between two sheets, and where the dock is resized.
69
71
  const seam = (_jsx(YStack, { onPointerDown: onDown, onPointerMove: onMove, cursor: horizontal ? 'col-resize' : 'row-resize', width: horizontal ? 5 : undefined, height: horizontal ? undefined : 5, hoverStyle: { bg: '$rim' } }));
70
- const dock = (_jsxs(YStack, { overflow: "hidden", ...sheet(1), ...(horizontal ? { width: extent } : { height: extent }), children: [_jsxs(XStack, { items: "center", gap: "$1", px: "$2", pt: "$1.5", children: [tabs.map((t) => {
71
- const on = t.id === current.id;
72
+ const dock = (_jsxs(YStack, { overflow: "hidden", ...sheet(1), ...(horizontal ? { width: extent } : { height: extent }), children: [_jsxs(XStack, { items: "center", gap: "$1", px: "$2", pt: "$1.5", children: [tabs.map((tab) => {
73
+ const on = tab.id === current.id;
72
74
  return (_jsxs(XStack, { items: "center", gap: "$1.5", px: "$2.5", py: "$1.5", cursor: "pointer",
73
75
  // The active tab is a raised sheet whose bottom corners stay
74
76
  // square, so it reads as continuous with the pane beneath it —
75
77
  // which is why both stand on rung 2 rather than merely looking
76
78
  // similar. An inactive tab is not a sheet at all; it is the
77
79
  // dock's own surface showing through.
78
- rounded: "$3", ...(on ? sheet(2) : { backgroundColor: 'transparent' }), hoverStyle: { bg: on ? undefined : '$panel' }, children: [_jsx(YStack, { onPress: () => setActive(t.id), children: _jsxs(XStack, { items: "center", gap: "$1.5", children: [t.icon, _jsx(Text, { fontSize: "$2", numberOfLines: 1, opacity: on ? 1 : 0.7, children: t.title })] }) }), t.closable === false ? null : (_jsx(Button, { size: "$1", chromeless: true, circular: true, "aria-label": `Close ${t.title}`, onPress: () => onClose?.(t.id), children: "\u00D7" }))] }, t.id));
80
+ rounded: "$3", ...(on ? sheet(2) : { backgroundColor: 'transparent' }), hoverStyle: { bg: on ? undefined : '$panel' }, children: [_jsx(YStack, { onPress: () => setActive(tab.id), children: _jsxs(XStack, { items: "center", gap: "$1.5", children: [tab.icon, _jsx(Text, { fontSize: "$2", numberOfLines: 1, opacity: on ? 1 : 0.7, children: tab.title })] }) }), tab.closable === false ? null : (_jsx(Button, { size: "$1", chromeless: true, circular: true, "aria-label": t('Close {title}', { title: tab.title }), onPress: () => onClose?.(tab.id), children: "\u00D7" }))] }, tab.id));
79
81
  }), actions] }), _jsx(Separator, { opacity: 0.4 }), _jsx(YStack, { flex: 1, overflow: "hidden", ...sheet(2), children: current.content })] }));
80
82
  // Named rather than an array: a list of children needs keys, and two siblings
81
83
  // that are not a list should not have to invent identities to sit beside
@@ -1 +1 @@
1
- {"version":3,"file":"Workbench.js","sourceRoot":"","sources":["../../src/product/Workbench.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Workbench.js","sourceRoot":"","sources":["../../src/product/Workbench.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ exports.Account = Account;
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const gui_1 = require("@hanzo/gui");
7
7
  const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
8
+ const react_1 = require("@hanzo/i18n/react");
8
9
  const instrument_1 = require("./instrument.cjs");
9
10
  const roving_1 = require("./menu/roving.cjs");
10
11
  const MenuRow_1 = require("./MenuRow.cjs");
@@ -22,7 +23,8 @@ function Row({ item, onDone, component }) {
22
23
  }
23
24
  /** A rule between groups — never above the first thing in the menu. */
24
25
  const Rule = () => (0, jsx_runtime_1.jsx)(gui_1.Separator, { borderColor: "$borderColor", my: "$1" });
25
- function Account({ name, email, groups = [], theme, onSignOut, signOutLabel = 'Sign out', onDone, component }) {
26
+ function Account({ name, email, groups = [], theme, onSignOut, signOutLabel, onDone, component }) {
27
+ const { t } = (0, react_1.useI18n)();
26
28
  const shown = (0, name_1.displayName)(name, email);
27
29
  const filled = groups.filter((g) => itemsOf(g).length > 0);
28
30
  return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$1", onKeyDown: (e) => (0, roving_1.menuKeyDown)(e), children: [shown || email ? ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$0.5", px: "$2", py: "$1.5", children: [shown ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$2", fontWeight: "700", color: "$ink", numberOfLines: 1, children: shown })) : null, email && email !== shown ? ((0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$1", color: "$soft", numberOfLines: 1, children: email })) : null] })) : null, filled.map((group, i) => {
@@ -34,5 +36,5 @@ function Account({ name, email, groups = [], theme, onSignOut, signOutLabel = 'S
34
36
  const choice = items.every((it) => it.active !== undefined);
35
37
  const rows = items.map((item) => (0, jsx_runtime_1.jsx)(Row, { item: item, onDone: onDone, component: component }, item.id));
36
38
  return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { gap: "$1", children: [i > 0 || shown || email ? (0, jsx_runtime_1.jsx)(Rule, {}) : null, label ? (0, jsx_runtime_1.jsx)(MenuRow_1.MenuLabel, { children: label }) : null, choice ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { role: "group", "aria-label": label, gap: "$1", children: rows })) : (rows)] }, i));
37
- }), theme != null ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Rule, {}), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2.5", px: "$2", py: "$1", rounded: "$3", children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { flex: 1, fontSize: "$2", color: "$ink", children: "Theme" }), theme] })] })) : null, onSignOut ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Rule, {}), (0, jsx_runtime_1.jsx)(Row, { item: { id: 'sign-out', label: signOutLabel, icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.LogOut, { ...dir_1.mirror, size: 16 }), onPress: onSignOut }, onDone: onDone, component: component })] })) : null] }));
39
+ }), theme != null ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Rule, {}), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", gap: "$2.5", px: "$2", py: "$1", rounded: "$3", children: [(0, jsx_runtime_1.jsx)(gui_1.Text, { flex: 1, fontSize: "$2", color: "$ink", children: t('Theme') }), theme] })] })) : null, onSignOut ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Rule, {}), (0, jsx_runtime_1.jsx)(Row, { item: { id: 'sign-out', label: signOutLabel ?? t('Sign out'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.LogOut, { ...dir_1.mirror, size: 16 }), onPress: onSignOut }, onDone: onDone, component: component })] })) : null] }));
38
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/product/account.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AAUrD,+EAA+E;AAC/E,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,2EAA2E;AAC3E,MAAM,MAAM,aAAa,GAAG,YAAY,EAAE,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,CAAA;AAKtF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,uFAAuF;IACvF,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAsBD,wBAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAW,EAAE,KAAK,EAAE,SAAS,EAAE,YAAyB,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,YAAY,+BAuEjI"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/product/account.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AAWrD,+EAA+E;AAC/E,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,2EAA2E;AAC3E,MAAM,MAAM,aAAa,GAAG,YAAY,EAAE,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,CAAA;AAKtF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,uFAAuF;IACvF,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAsBD,wBAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAW,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,YAAY,+BAwEpH"}
@@ -2,6 +2,7 @@
2
2
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Separator, Text, XStack, YStack } from '@hanzo/gui';
4
4
  import { LogOut } from '@hanzogui/lucide-icons-2';
5
+ import { useI18n } from '@hanzo/i18n/react';
5
6
  import { useEmit } from './instrument.js';
6
7
  import { menuKeyDown } from './menu/roving.js';
7
8
  import { MenuLabel, MenuRow } from './MenuRow.js';
@@ -19,7 +20,8 @@ function Row({ item, onDone, component }) {
19
20
  }
20
21
  /** A rule between groups — never above the first thing in the menu. */
21
22
  const Rule = () => _jsx(Separator, { borderColor: "$borderColor", my: "$1" });
22
- export function Account({ name, email, groups = [], theme, onSignOut, signOutLabel = 'Sign out', onDone, component }) {
23
+ export function Account({ name, email, groups = [], theme, onSignOut, signOutLabel, onDone, component }) {
24
+ const { t } = useI18n();
23
25
  const shown = displayName(name, email);
24
26
  const filled = groups.filter((g) => itemsOf(g).length > 0);
25
27
  return (_jsxs(YStack, { gap: "$1", onKeyDown: (e) => menuKeyDown(e), children: [shown || email ? (_jsxs(YStack, { gap: "$0.5", px: "$2", py: "$1.5", children: [shown ? (_jsx(Text, { fontSize: "$2", fontWeight: "700", color: "$ink", numberOfLines: 1, children: shown })) : null, email && email !== shown ? (_jsx(Text, { fontSize: "$1", color: "$soft", numberOfLines: 1, children: email })) : null] })) : null, filled.map((group, i) => {
@@ -31,6 +33,6 @@ export function Account({ name, email, groups = [], theme, onSignOut, signOutLab
31
33
  const choice = items.every((it) => it.active !== undefined);
32
34
  const rows = items.map((item) => _jsx(Row, { item: item, onDone: onDone, component: component }, item.id));
33
35
  return (_jsxs(YStack, { gap: "$1", children: [i > 0 || shown || email ? _jsx(Rule, {}) : null, label ? _jsx(MenuLabel, { children: label }) : null, choice ? (_jsx(YStack, { role: "group", "aria-label": label, gap: "$1", children: rows })) : (rows)] }, i));
34
- }), theme != null ? (_jsxs(_Fragment, { children: [_jsx(Rule, {}), _jsxs(XStack, { items: "center", gap: "$2.5", px: "$2", py: "$1", rounded: "$3", children: [_jsx(Text, { flex: 1, fontSize: "$2", color: "$ink", children: "Theme" }), theme] })] })) : null, onSignOut ? (_jsxs(_Fragment, { children: [_jsx(Rule, {}), _jsx(Row, { item: { id: 'sign-out', label: signOutLabel, icon: _jsx(LogOut, { ...mirror, size: 16 }), onPress: onSignOut }, onDone: onDone, component: component })] })) : null] }));
36
+ }), theme != null ? (_jsxs(_Fragment, { children: [_jsx(Rule, {}), _jsxs(XStack, { items: "center", gap: "$2.5", px: "$2", py: "$1", rounded: "$3", children: [_jsx(Text, { flex: 1, fontSize: "$2", color: "$ink", children: t('Theme') }), theme] })] })) : null, onSignOut ? (_jsxs(_Fragment, { children: [_jsx(Rule, {}), _jsx(Row, { item: { id: 'sign-out', label: signOutLabel ?? t('Sign out'), icon: _jsx(LogOut, { ...mirror, size: 16 }), onPress: onSignOut }, onDone: onDone, component: component })] })) : null] }));
35
37
  }
36
38
  //# sourceMappingURL=account.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/product/account.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/product/account.tsx"],"names":[],"mappings":"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"}