@hanzo/ui 8.29.44 → 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 (955) 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 +13 -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 +13 -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 +5 -3
  806. package/dist/product/LimitedBanner.d.ts +10 -1
  807. package/dist/product/LimitedBanner.d.ts.map +1 -1
  808. package/dist/product/LimitedBanner.js +5 -3
  809. package/dist/product/LimitedBanner.js.map +1 -1
  810. package/dist/product/MenuRow.cjs +2 -2
  811. package/dist/product/MenuRow.js +2 -2
  812. package/dist/product/MenuRow.js.map +1 -1
  813. package/dist/product/Metric.cjs +5 -2
  814. package/dist/product/Metric.d.ts.map +1 -1
  815. package/dist/product/Metric.js +5 -2
  816. package/dist/product/Metric.js.map +1 -1
  817. package/dist/product/OrgSwitcher.cjs +19 -9
  818. package/dist/product/OrgSwitcher.d.ts +1 -1
  819. package/dist/product/OrgSwitcher.d.ts.map +1 -1
  820. package/dist/product/OrgSwitcher.js +19 -9
  821. package/dist/product/OrgSwitcher.js.map +1 -1
  822. package/dist/product/Pagination.cjs +4 -2
  823. package/dist/product/Pagination.d.ts.map +1 -1
  824. package/dist/product/Pagination.js +4 -2
  825. package/dist/product/Pagination.js.map +1 -1
  826. package/dist/product/Palette.cjs +7 -2
  827. package/dist/product/Palette.d.ts +1 -1
  828. package/dist/product/Palette.d.ts.map +1 -1
  829. package/dist/product/Palette.js +8 -3
  830. package/dist/product/Palette.js.map +1 -1
  831. package/dist/product/PlanUsage.cjs +28 -15
  832. package/dist/product/PlanUsage.d.ts +4 -4
  833. package/dist/product/PlanUsage.d.ts.map +1 -1
  834. package/dist/product/PlanUsage.js +28 -15
  835. package/dist/product/PlanUsage.js.map +1 -1
  836. package/dist/product/ProjectThumb.cjs +3 -1
  837. package/dist/product/ProjectThumb.d.ts.map +1 -1
  838. package/dist/product/ProjectThumb.js +3 -1
  839. package/dist/product/ProjectThumb.js.map +1 -1
  840. package/dist/product/RepoSelect.cjs +7 -4
  841. package/dist/product/RepoSelect.d.ts +1 -1
  842. package/dist/product/RepoSelect.d.ts.map +1 -1
  843. package/dist/product/RepoSelect.js +7 -4
  844. package/dist/product/RepoSelect.js.map +1 -1
  845. package/dist/product/SecretInput.cjs +3 -1
  846. package/dist/product/SecretInput.d.ts.map +1 -1
  847. package/dist/product/SecretInput.js +3 -1
  848. package/dist/product/SecretInput.js.map +1 -1
  849. package/dist/product/SelectMenu.cjs +4 -1
  850. package/dist/product/SelectMenu.d.ts +1 -1
  851. package/dist/product/SelectMenu.d.ts.map +1 -1
  852. package/dist/product/SelectMenu.js +4 -1
  853. package/dist/product/SelectMenu.js.map +1 -1
  854. package/dist/product/SiteNav.cjs +9 -5
  855. package/dist/product/SiteNav.d.ts.map +1 -1
  856. package/dist/product/SiteNav.js +9 -5
  857. package/dist/product/SiteNav.js.map +1 -1
  858. package/dist/product/SlideOver.cjs +11 -11
  859. package/dist/product/SlideOver.d.ts +1 -1
  860. package/dist/product/SlideOver.d.ts.map +1 -1
  861. package/dist/product/SlideOver.js +11 -11
  862. package/dist/product/SlideOver.js.map +1 -1
  863. package/dist/product/StatusTag.cjs +4 -1
  864. package/dist/product/StatusTag.d.ts.map +1 -1
  865. package/dist/product/StatusTag.js +4 -1
  866. package/dist/product/StatusTag.js.map +1 -1
  867. package/dist/product/ThemeToggle.cjs +3 -1
  868. package/dist/product/ThemeToggle.d.ts.map +1 -1
  869. package/dist/product/ThemeToggle.js +3 -1
  870. package/dist/product/ThemeToggle.js.map +1 -1
  871. package/dist/product/Toast.cjs +25 -4
  872. package/dist/product/Toast.d.ts.map +1 -1
  873. package/dist/product/Toast.js +25 -4
  874. package/dist/product/Toast.js.map +1 -1
  875. package/dist/product/UsageMeter.cjs +10 -6
  876. package/dist/product/UsageMeter.d.ts.map +1 -1
  877. package/dist/product/UsageMeter.js +11 -7
  878. package/dist/product/UsageMeter.js.map +1 -1
  879. package/dist/product/UserMenu.cjs +5 -3
  880. package/dist/product/UserMenu.d.ts.map +1 -1
  881. package/dist/product/UserMenu.js +5 -3
  882. package/dist/product/UserMenu.js.map +1 -1
  883. package/dist/product/Workbench.cjs +5 -3
  884. package/dist/product/Workbench.d.ts.map +1 -1
  885. package/dist/product/Workbench.js +5 -3
  886. package/dist/product/Workbench.js.map +1 -1
  887. package/dist/product/account.cjs +4 -2
  888. package/dist/product/account.d.ts.map +1 -1
  889. package/dist/product/account.js +4 -2
  890. package/dist/product/account.js.map +1 -1
  891. package/dist/product/limits.cjs +79 -32
  892. package/dist/product/limits.d.ts +7 -5
  893. package/dist/product/limits.d.ts.map +1 -1
  894. package/dist/product/limits.js +79 -32
  895. package/dist/product/limits.js.map +1 -1
  896. package/dist/product/match.cjs +2 -1
  897. package/dist/product/match.d.ts +1 -1
  898. package/dist/product/match.d.ts.map +1 -1
  899. package/dist/product/match.js +2 -1
  900. package/dist/product/match.js.map +1 -1
  901. package/dist/product/social/CampaignCard.cjs +3 -1
  902. package/dist/product/social/CampaignCard.d.ts.map +1 -1
  903. package/dist/product/social/CampaignCard.js +3 -1
  904. package/dist/product/social/CampaignCard.js.map +1 -1
  905. package/dist/product/social/PostAgenda.cjs +3 -1
  906. package/dist/product/social/PostAgenda.d.ts.map +1 -1
  907. package/dist/product/social/PostAgenda.js +3 -1
  908. package/dist/product/social/PostAgenda.js.map +1 -1
  909. package/dist/product/social/PostCard.cjs +3 -1
  910. package/dist/product/social/PostCard.d.ts.map +1 -1
  911. package/dist/product/social/PostCard.js +3 -1
  912. package/dist/product/social/PostCard.js.map +1 -1
  913. package/dist/product/social/PostComposer.cjs +12 -6
  914. package/dist/product/social/PostComposer.d.ts.map +1 -1
  915. package/dist/product/social/PostComposer.js +12 -6
  916. package/dist/product/social/PostComposer.js.map +1 -1
  917. package/dist/product/social/ProviderReadinessList.cjs +3 -1
  918. package/dist/product/social/ProviderReadinessList.d.ts.map +1 -1
  919. package/dist/product/social/ProviderReadinessList.js +3 -1
  920. package/dist/product/social/ProviderReadinessList.js.map +1 -1
  921. package/dist/product/social/SocialResource.cjs +25 -16
  922. package/dist/product/social/SocialResource.d.ts.map +1 -1
  923. package/dist/product/social/SocialResource.js +26 -17
  924. package/dist/product/social/SocialResource.js.map +1 -1
  925. package/dist/product/social/SocialSummaryBar.cjs +6 -4
  926. package/dist/product/social/SocialSummaryBar.d.ts.map +1 -1
  927. package/dist/product/social/SocialSummaryBar.js +6 -4
  928. package/dist/product/social/SocialSummaryBar.js.map +1 -1
  929. package/dist/product/social/ViewToggle.cjs +6 -3
  930. package/dist/product/social/ViewToggle.d.ts.map +1 -1
  931. package/dist/product/social/ViewToggle.js +6 -3
  932. package/dist/product/social/ViewToggle.js.map +1 -1
  933. package/dist/product/useLimits.cjs +4 -2
  934. package/dist/product/useLimits.d.ts.map +1 -1
  935. package/dist/product/useLimits.js +4 -2
  936. package/dist/product/useLimits.js.map +1 -1
  937. package/dist/root.cjs +6 -4
  938. package/dist/root.d.ts +52 -2
  939. package/dist/root.d.ts.map +1 -1
  940. package/dist/root.js +6 -4
  941. package/dist/root.js.map +1 -1
  942. package/dist/root.node.cjs +6 -4
  943. package/dist/root.node.js +6 -4
  944. package/dist/settings/Section.cjs +4 -2
  945. package/dist/settings/Section.d.ts.map +1 -1
  946. package/dist/settings/Section.js +4 -2
  947. package/dist/settings/Section.js.map +1 -1
  948. package/dist/settings/Settings.cjs +4 -1
  949. package/dist/settings/Settings.d.ts +1 -1
  950. package/dist/settings/Settings.d.ts.map +1 -1
  951. package/dist/settings/Settings.js +4 -1
  952. package/dist/settings/Settings.js.map +1 -1
  953. package/dist/styles.css +10 -59
  954. package/dist/theme.css +10 -59
  955. package/package.json +11 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Mention.js","sourceRoot":"","sources":["../../src/chat/Mention.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mention.js","sourceRoot":"","sources":["../../src/chat/Mention.tsx"],"names":[],"mappings":"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"}
@@ -4,18 +4,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Plus = Plus;
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  /**
7
- * The composer's `+`: files, then what the conversation works with — agents,
8
- * skills, connectors, a design system, plugins, a device — then the Research
9
- * and Memory switches. A row is drawn only when the surface hands it a shelf:
10
- * a shelf is what is there (`rows`), what picking one does, and the ways to
11
- * make, manage and find more. A row with nothing behind it is not drawn.
12
- *
13
- * On a laptop each shelf opens beside the menu; on a phone it is a page of the
14
- * same menu, with Back.
15
- *
16
- * The menu's own words are the reader's language (@hanzo/i18n `t`); what a
17
- * shelf holds — its rows, its links, its search and empty words — is the
18
- * surface's, drawn as given.
7
+ * The composer's `+`: rich creation & attachment tools (Add photos & files,
8
+ * Add from library, Create image, Add browser tabs, Web search, Deep research,
9
+ * Sketch, Thinking), followed by what the conversation works with — agents,
10
+ * skills, connectors, a design system, plugins, a device — and Memory.
19
11
  */
20
12
  const gui_1 = require("@hanzo/gui");
21
13
  const i18n_1 = require("@hanzo/i18n");
@@ -24,23 +16,18 @@ const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
24
16
  const gui_2 = require("../backends/gui/index.cjs");
25
17
  const react_2 = require("react");
26
18
  const look_1 = require("./look.cjs");
27
- const ICON = 16;
28
- /**
29
- * The shelves, in the menu's order, with their names and marks, and the three
30
- * sentences a shelf says of itself: its search's name, while it reads, and
31
- * when it holds nothing. Whole sentences, so a language puts the noun where it goes.
32
- */
19
+ const ICON = 18;
33
20
  const SHELVES = [
34
- { key: 'agents', label: (0, i18n_1.phrase)('Agents'), search: (0, i18n_1.phrase)('Search agents'), reading: (0, i18n_1.phrase)('Reading agents'), none: (0, i18n_1.phrase)('No agents yet'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Bot, { size: ICON }) },
35
- { key: 'skills', label: (0, i18n_1.phrase)('Skills'), search: (0, i18n_1.phrase)('Search skills'), reading: (0, i18n_1.phrase)('Reading skills'), none: (0, i18n_1.phrase)('No skills yet'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ScrollText, { size: ICON }) },
36
- { key: 'connectors', label: (0, i18n_1.phrase)('Connectors'), search: (0, i18n_1.phrase)('Search connectors'), reading: (0, i18n_1.phrase)('Reading connectors'), none: (0, i18n_1.phrase)('No connectors yet'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Blocks, { size: ICON }) },
37
- { key: 'design', label: (0, i18n_1.phrase)('Design system'), search: (0, i18n_1.phrase)('Search design system'), reading: (0, i18n_1.phrase)('Reading design system'), none: (0, i18n_1.phrase)('No design system yet'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Palette, { size: ICON }) },
38
- { key: 'plugins', label: (0, i18n_1.phrase)('Plugins'), search: (0, i18n_1.phrase)('Search plugins'), reading: (0, i18n_1.phrase)('Reading plugins'), none: (0, i18n_1.phrase)('No plugins yet'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Plug, { size: ICON }) },
39
- { key: 'devices', label: (0, i18n_1.phrase)('Devices'), search: (0, i18n_1.phrase)('Search devices'), reading: (0, i18n_1.phrase)('Reading devices'), none: (0, i18n_1.phrase)('No devices yet'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Monitor, { size: ICON }) },
21
+ { key: 'agents', label: (0, i18n_1.phrase)('Agents'), note: (0, i18n_1.phrase)('Bring specialized agents into this chat'), search: (0, i18n_1.phrase)('Search agents'), reading: (0, i18n_1.phrase)('Reading agents'), none: (0, i18n_1.phrase)('No agents yet'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Bot, { size: ICON }) },
22
+ { key: 'skills', label: (0, i18n_1.phrase)('Skills'), note: (0, i18n_1.phrase)('Use workspace skills and workflows'), search: (0, i18n_1.phrase)('Search skills'), reading: (0, i18n_1.phrase)('Reading skills'), none: (0, i18n_1.phrase)('No skills yet'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ScrollText, { size: ICON }) },
23
+ { key: 'connectors', label: (0, i18n_1.phrase)('Connectors'), note: (0, i18n_1.phrase)('Sync connected knowledge sources'), search: (0, i18n_1.phrase)('Search connectors'), reading: (0, i18n_1.phrase)('Reading connectors'), none: (0, i18n_1.phrase)('No connectors yet'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Blocks, { size: ICON }) },
24
+ { key: 'design', label: (0, i18n_1.phrase)('Design system'), note: (0, i18n_1.phrase)('Apply brand tokens and UI components'), search: (0, i18n_1.phrase)('Search design system'), reading: (0, i18n_1.phrase)('Reading design system'), none: (0, i18n_1.phrase)('No design system yet'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Palette, { size: ICON }) },
25
+ { key: 'plugins', label: (0, i18n_1.phrase)('Plugins'), note: (0, i18n_1.phrase)('Connect external tools and APIs'), search: (0, i18n_1.phrase)('Search plugins'), reading: (0, i18n_1.phrase)('Reading plugins'), none: (0, i18n_1.phrase)('No plugins yet'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Plug, { size: ICON }) },
26
+ { key: 'devices', label: (0, i18n_1.phrase)('Devices'), note: (0, i18n_1.phrase)('Run on a connected machine'), search: (0, i18n_1.phrase)('Search devices'), reading: (0, i18n_1.phrase)('Reading devices'), none: (0, i18n_1.phrase)('No devices yet'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Monitor, { size: ICON }) },
40
27
  ];
41
28
  /** A row's anatomy: its mark, its label, a dim note, and a check when it is on. */
42
29
  function Line({ icon, label, note, on, tail }) {
43
- return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { flex: 1, minW: 0, items: "center", gap: 10, children: [icon ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { width: ICON, height: ICON, items: "center", justify: "center", shrink: 0, "aria-hidden": true, children: icon })) : null, (0, jsx_runtime_1.jsx)(gui_1.SizableText, { fontSize: 14, color: "$ink", numberOfLines: 1, shrink: 0, children: label }), note ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { fontSize: 13, color: "$hint", numberOfLines: 1, flex: 1, minW: 0, children: note })) : ((0, jsx_runtime_1.jsx)(gui_1.XStack, { flex: 1 })), tail, on ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: ICON, color: "var(--primary)", "aria-hidden": true }) : null] }));
30
+ return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { flex: 1, minW: 0, items: "center", gap: 10, py: 1, children: [icon ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { width: 20, height: 20, items: "center", justify: "center", shrink: 0, "aria-hidden": true, children: icon })) : null, (0, jsx_runtime_1.jsx)(gui_1.SizableText, { fontSize: 14, fontWeight: "500", color: "$ink", numberOfLines: 1, shrink: 0, children: label }), note ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { fontSize: 13, color: "$hint", numberOfLines: 1, flex: 1, minW: 0, children: note })) : ((0, jsx_runtime_1.jsx)(gui_1.XStack, { flex: 1 })), tail, on ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 16, color: "var(--primary)", "aria-hidden": true }) : null] }));
44
31
  }
45
32
  /** A shelf's rows, its status, then its ways to more. */
46
33
  function Contents({ shelf, words, close }) {
@@ -49,7 +36,7 @@ function Contents({ shelf, words, close }) {
49
36
  const needle = q.trim().toLowerCase();
50
37
  const rows = needle ? shelf.rows.filter((r) => `${r.label} ${r.note ?? ''}`.toLowerCase().includes(needle)) : shelf.rows;
51
38
  const links = [shelf.create, shelf.manage, shelf.browse].filter((l) => Boolean(l));
52
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [shelf.search ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSearch, { value: q, onValueChange: setQ, placeholder: shelf.search, "aria-label": t(words.search) }) : null, shelf.loading && !shelf.rows.length ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuLoading, { children: t(words.reading) }) : null, shelf.error ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuEmpty, { children: shelf.error }) : null, !shelf.loading && !shelf.error && !rows.length ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuEmpty, { children: needle ? t('Nothing matches') : (shelf.empty ?? t(words.none)) }) : null, rows.map((r) => ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { preventCloseOnSelect: true, onSelect: () => shelf.pick(r.id), "aria-checked": r.on ?? false, "data-slot": "plus-row", children: (0, jsx_runtime_1.jsx)(Line, { icon: r.icon, label: r.label, note: r.note, on: r.on }) }, r.id))), links.length ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSeparator, {}) : null, links.map((l, i) => ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { onSelect: () => {
39
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [shelf.search ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSearch, { value: q, onValueChange: setQ, placeholder: shelf.search, "aria-label": t(words.search) }) : null, shelf.loading && !shelf.rows.length ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuLoading, { children: t(words.reading) }) : null, shelf.error ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuEmpty, { children: shelf.error }) : null, !shelf.loading && !shelf.error && !rows.length ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuEmpty, { children: needle ? t('Nothing matches') : (shelf.empty ?? t(words.none)) }) : null, rows.map((r) => ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { preventCloseOnSelect: true, onSelect: () => shelf.pick(r.id), "aria-checked": r.on ?? false, "data-slot": "plus-row", children: (0, jsx_runtime_1.jsx)(Line, { icon: r.icon, label: r.label, note: r.note, on: r.on }) }, r.id))), links.length ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSeparator, {}) : null, links.map((l) => ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { onSelect: () => {
53
40
  close();
54
41
  l.onPress();
55
42
  }, children: (0, jsx_runtime_1.jsx)(Line, { icon: l === shelf.manage ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Briefcase, { size: ICON }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Plus, { size: ICON }), label: l.label }) }, l.label)))] }));
@@ -60,17 +47,45 @@ function Plus(p) {
60
47
  const media = (0, gui_1.useMedia)();
61
48
  const wide = media.sm;
62
49
  const [open, setOpen] = (0, react_2.useState)(false);
63
- // The shelf open beside the menu.
64
50
  const [sub, setSub] = (0, react_2.useState)(null);
65
51
  const close = () => setOpen(false);
66
52
  const shelves = (0, react_2.useMemo)(() => SHELVES.filter((s) => p[s.key]), [p]);
67
53
  const switches = [
68
- p.research ? { key: 'research', label: t('Research'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Telescope, { size: ICON }), s: p.research } : null,
69
- p.memory ? { key: 'memory', label: t('Memory'), icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Brain, { size: ICON }), s: p.memory } : null,
54
+ p.research
55
+ ? {
56
+ key: 'research',
57
+ label: t('Research'),
58
+ icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Telescope, { size: ICON }),
59
+ s: p.research,
60
+ }
61
+ : null,
62
+ p.memory
63
+ ? {
64
+ key: 'memory',
65
+ label: t('Memory'),
66
+ icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Brain, { size: ICON }),
67
+ s: p.memory,
68
+ }
69
+ : null,
70
70
  ].filter((x) => x !== null);
71
71
  const main = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [p.upload ? ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { "data-slot": "plus-upload", onSelect: () => {
72
72
  close();
73
73
  p.upload?.();
74
- }, children: (0, jsx_runtime_1.jsx)(Line, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Paperclip, { size: ICON }), label: t('Upload or add files'), tail: (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuShortcut, { "data-i18n-ltr": true, children: "Ctrl+U" }) }) })) : null, p.upload && shelves.length ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSeparator, {}) : null, shelves.map((s) => wide ? ((0, jsx_runtime_1.jsxs)(gui_2.DropdownMenuSub, { open: sub === s.key, onOpenChange: (o) => setSub(o ? s.key : sub === s.key ? null : sub), children: [(0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSubTrigger, { "data-slot": `plus-${s.key}`, onPress: () => setSub(s.key), children: (0, jsx_runtime_1.jsx)(Line, { icon: s.icon, label: t(s.label) }) }), sub === s.key ? ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSubContent, { minW: 200, maxW: 340, maxH: 420, pointerEvents: "auto", style: { overflowY: "auto" }, children: (0, jsx_runtime_1.jsx)(Contents, { shelf: p[s.key], words: s, close: close }) })) : null] }, s.key)) : ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { page: s.key, "data-slot": `plus-${s.key}`, children: (0, jsx_runtime_1.jsx)(Line, { icon: s.icon, label: t(s.label) }) }, s.key))), switches.length && (p.upload || shelves.length) ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSeparator, {}) : null, switches.map((w) => ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { preventCloseOnSelect: true, onSelect: () => w.s.set(!w.s.on), role: 'menuitemcheckbox', "aria-checked": w.s.on, "data-slot": `plus-${w.key}`, children: (0, jsx_runtime_1.jsx)(Line, { icon: w.icon, label: w.label, on: w.s.on }) }, w.key)))] }));
75
- return ((0, jsx_runtime_1.jsxs)(gui_2.DropdownMenu, { open: open, onOpenChange: setOpen, ...(wide ? null : { defaultPage: 'main' }), children: [(0, jsx_runtime_1.jsx)(gui_2.DropdownMenuTrigger, { asChild: true, disabled: p.disabled, children: (0, jsx_runtime_1.jsx)(gui_1.XStack, { render: "button", "data-slot": "plus", "aria-label": t('Add files, agents, skills and more'), width: p.size ?? 36, height: p.size ?? 36, rounded: 999, items: "center", justify: "center", shrink: 0, cursor: p.disabled ? 'default' : 'pointer', opacity: p.disabled ? 0.4 : 1, ...look_1.GHOST, ...(open ? { bg: '$hover', color: '$ink' } : null), focusVisibleStyle: look_1.RING, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Plus, { size: look_1.GLYPH, strokeWidth: look_1.STROKE, color: "currentColor" }) }) }), (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuContent, { align: "start", minW: 240, "data-slot": "plus-menu", children: wide ? (main) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(gui_2.DropdownMenuPage, { id: "main", children: main }), shelves.map((s) => ((0, jsx_runtime_1.jsxs)(gui_2.DropdownMenuPage, { id: s.key, children: [(0, jsx_runtime_1.jsx)(gui_2.DropdownMenuBack, { children: t(s.label) }), (0, jsx_runtime_1.jsx)(Contents, { shelf: p[s.key], words: s, close: close })] }, s.key)))] })) })] }));
74
+ }, children: (0, jsx_runtime_1.jsx)(Line, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Paperclip, { size: ICON }), label: t('Add photos & files'), note: t('Upload from computer'), tail: (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuShortcut, { "data-i18n-ltr": true, children: "Ctrl+U" }) }) })) : null, p.library ? ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { "data-slot": "plus-library", onSelect: () => {
75
+ close();
76
+ p.library?.();
77
+ }, children: (0, jsx_runtime_1.jsx)(Line, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Folder, { size: ICON }), label: t('Add from library'), note: t('Browse and search your files') }) })) : null, p.createImage ? ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { "data-slot": "plus-create-image", onSelect: () => {
78
+ close();
79
+ p.createImage?.();
80
+ }, children: (0, jsx_runtime_1.jsx)(Line, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Image, { size: ICON, color: "var(--primary)" }), label: t('Create image'), note: t('Visualize anything') }) })) : null, p.browserTabs ? ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { "data-slot": "plus-browser-tabs", onSelect: () => {
81
+ close();
82
+ p.browserTabs?.();
83
+ }, children: (0, jsx_runtime_1.jsx)(Line, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.AppWindow, { size: ICON, color: "var(--primary)" }), label: t('Add browser tabs'), note: t('Ask about your open tabs') }) })) : null, p.webSearch ? ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { "data-slot": "plus-web-search", onSelect: () => {
84
+ close();
85
+ p.webSearch?.();
86
+ }, children: (0, jsx_runtime_1.jsx)(Line, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Globe, { size: ICON, color: "var(--primary)" }), label: t('Web search'), note: t('Find real-time news and info') }) })) : null, p.research ? ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { preventCloseOnSelect: true, onSelect: () => p.research.set(!p.research.on), role: "menuitemcheckbox", "aria-checked": p.research.on, "data-slot": "plus-research", children: (0, jsx_runtime_1.jsx)(Line, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Telescope, { size: ICON, color: "var(--primary)" }), label: t('Deep research'), note: t('Get a detailed report'), on: p.research.on }) })) : null, p.sketch ? ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { "data-slot": "plus-sketch", onSelect: () => {
87
+ close();
88
+ p.sketch?.();
89
+ }, children: (0, jsx_runtime_1.jsx)(Line, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.PenTool, { size: ICON, color: "var(--primary)" }), label: t('Sketch'), note: t('Draw and attach an image') }) })) : null, p.thinking ? ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { preventCloseOnSelect: true, onSelect: () => p.thinking.set(!p.thinking.on), role: "menuitemcheckbox", "aria-checked": p.thinking.on, "data-slot": "plus-thinking", children: (0, jsx_runtime_1.jsx)(Line, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Brain, { size: ICON }), label: t('Thinking'), note: t('For detailed answers'), on: p.thinking.on }) })) : null, shelves.length ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSeparator, {}) : null, shelves.map((s) => wide ? ((0, jsx_runtime_1.jsxs)(gui_2.DropdownMenuSub, { open: sub === s.key, onOpenChange: (o) => setSub(o ? s.key : sub === s.key ? null : sub), children: [(0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSubTrigger, { "data-slot": `plus-${s.key}`, onPress: () => setSub(s.key), children: (0, jsx_runtime_1.jsx)(Line, { icon: s.icon, label: t(s.label), note: t(s.note) }) }), sub === s.key ? ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSubContent, { minW: 240, maxW: 360, maxH: 420, pointerEvents: "auto", style: { overflowY: 'auto' }, children: (0, jsx_runtime_1.jsx)(Contents, { shelf: p[s.key], words: s, close: close }) })) : null] }, s.key)) : ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { page: s.key, "data-slot": `plus-${s.key}`, children: (0, jsx_runtime_1.jsx)(Line, { icon: s.icon, label: t(s.label), note: t(s.note) }) }, s.key))), p.memory ? (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuSeparator, {}) : null, p.memory ? ((0, jsx_runtime_1.jsx)(gui_2.DropdownMenuItem, { preventCloseOnSelect: true, onSelect: () => p.memory.set(!p.memory.on), role: "menuitemcheckbox", "aria-checked": p.memory.on, "data-slot": "plus-memory", children: (0, jsx_runtime_1.jsx)(Line, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Brain, { size: ICON }), label: t('Memory'), note: t('Remember context across chats'), on: p.memory.on }) })) : null] }));
90
+ return ((0, jsx_runtime_1.jsxs)(gui_2.DropdownMenu, { open: open, onOpenChange: setOpen, ...(wide ? null : { defaultPage: 'main' }), children: [(0, jsx_runtime_1.jsx)(gui_2.DropdownMenuTrigger, { asChild: true, disabled: p.disabled, children: (0, jsx_runtime_1.jsx)(gui_1.XStack, { render: "button", "data-slot": "plus", "aria-label": t('Add files, agents, skills and more'), width: p.size ?? 36, height: p.size ?? 36, rounded: 999, items: "center", justify: "center", shrink: 0, cursor: p.disabled ? 'default' : 'pointer', opacity: p.disabled ? 0.4 : 1, ...look_1.GHOST, ...(open ? { bg: '$hover', color: '$ink' } : null), focusVisibleStyle: look_1.RING, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Plus, { size: look_1.GLYPH, strokeWidth: look_1.STROKE, color: "currentColor" }) }) }), (0, jsx_runtime_1.jsx)(gui_2.DropdownMenuContent, { align: "start", minW: 360, maxW: 440, "data-slot": "plus-menu", children: wide ? (main) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(gui_2.DropdownMenuPage, { id: "main", children: main }), shelves.map((s) => ((0, jsx_runtime_1.jsxs)(gui_2.DropdownMenuPage, { id: s.key, children: [(0, jsx_runtime_1.jsx)(gui_2.DropdownMenuBack, { children: t(s.label) }), (0, jsx_runtime_1.jsx)(Contents, { shelf: p[s.key], words: s, close: close })] }, s.key)))] })) })] }));
76
91
  }
@@ -32,6 +32,18 @@ export interface Switch {
32
32
  export interface PlusProps {
33
33
  /** Upload or add files (Ctrl+U). */
34
34
  upload?: () => void;
35
+ /** Add from library. */
36
+ library?: () => void;
37
+ /** Create an image. */
38
+ createImage?: () => void;
39
+ /** Add or ask about browser tabs. */
40
+ browserTabs?: () => void;
41
+ /** Search the web. */
42
+ webSearch?: () => void;
43
+ /** Draw and attach a sketch. */
44
+ sketch?: () => void;
45
+ /** Toggle extended thinking. */
46
+ thinking?: Switch;
35
47
  agents?: Shelf;
36
48
  skills?: Shelf;
37
49
  connectors?: Shelf;
@@ -1 +1 @@
1
- {"version":3,"file":"Plus.d.ts","sourceRoot":"","sources":["../../src/chat/Plus.tsx"],"names":[],"mappings":"AAiDA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIzD,6EAA6E;AAC7E,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,OAAO,CAAA;CACb;AAED,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,MAAM,CAAC,EAAE,IAAI,CAAA;CACd;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,OAAO,CAAA;IACX,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAiFD,4BAA4B;AAC5B,wBAAgB,IAAI,CAAC,CAAC,EAAE,SAAS,+BA+FhC"}
1
+ {"version":3,"file":"Plus.d.ts","sourceRoot":"","sources":["../../src/chat/Plus.tsx"],"names":[],"mappings":"AA8CA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIzD,6EAA6E;AAC7E,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,OAAO,CAAA;CACb;AAED,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,MAAM,CAAC,EAAE,IAAI,CAAA;IACb,MAAM,CAAC,EAAE,IAAI,CAAA;CACd;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,OAAO,CAAA;IACX,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,OAAO,CAAC,EAAE,KAAK,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AA4ED,4BAA4B;AAC5B,wBAAgB,IAAI,CAAC,CAAC,EAAE,SAAS,+BA8LhC"}
package/dist/chat/Plus.js CHANGED
@@ -1,43 +1,30 @@
1
1
  'use client';
2
2
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  /**
4
- * The composer's `+`: files, then what the conversation works with — agents,
5
- * skills, connectors, a design system, plugins, a device — then the Research
6
- * and Memory switches. A row is drawn only when the surface hands it a shelf:
7
- * a shelf is what is there (`rows`), what picking one does, and the ways to
8
- * make, manage and find more. A row with nothing behind it is not drawn.
9
- *
10
- * On a laptop each shelf opens beside the menu; on a phone it is a page of the
11
- * same menu, with Back.
12
- *
13
- * The menu's own words are the reader's language (@hanzo/i18n `t`); what a
14
- * shelf holds — its rows, its links, its search and empty words — is the
15
- * surface's, drawn as given.
4
+ * The composer's `+`: rich creation & attachment tools (Add photos & files,
5
+ * Add from library, Create image, Add browser tabs, Web search, Deep research,
6
+ * Sketch, Thinking), followed by what the conversation works with — agents,
7
+ * skills, connectors, a design system, plugins, a device — and Memory.
16
8
  */
17
9
  import { SizableText, useMedia, XStack } from '@hanzo/gui';
18
10
  import { phrase } from '@hanzo/i18n';
19
11
  import { useI18n } from '@hanzo/i18n/react';
20
- import { Blocks, Bot, Briefcase, Brain, Monitor, Palette, Paperclip, Plug, Plus as PlusIcon, ScrollText, Telescope, Check, } from '@hanzogui/lucide-icons-2';
12
+ import { AppWindow, Blocks, Bot, Briefcase, Brain, Check, Folder, Globe, Image as ImageIcon, Monitor, Palette, Paperclip, PenTool, Plug, Plus as PlusIcon, ScrollText, Telescope, } from '@hanzogui/lucide-icons-2';
21
13
  import { DropdownMenu, DropdownMenuBack, DropdownMenuContent, DropdownMenuEmpty, DropdownMenuItem, DropdownMenuLoading, DropdownMenuPage, DropdownMenuSearch, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from '../backends/gui/index.js';
22
14
  import { useMemo, useState } from 'react';
23
15
  import { GHOST, GLYPH, RING, STROKE } from './look.js';
24
- const ICON = 16;
25
- /**
26
- * The shelves, in the menu's order, with their names and marks, and the three
27
- * sentences a shelf says of itself: its search's name, while it reads, and
28
- * when it holds nothing. Whole sentences, so a language puts the noun where it goes.
29
- */
16
+ const ICON = 18;
30
17
  const SHELVES = [
31
- { key: 'agents', label: phrase('Agents'), search: phrase('Search agents'), reading: phrase('Reading agents'), none: phrase('No agents yet'), icon: _jsx(Bot, { size: ICON }) },
32
- { key: 'skills', label: phrase('Skills'), search: phrase('Search skills'), reading: phrase('Reading skills'), none: phrase('No skills yet'), icon: _jsx(ScrollText, { size: ICON }) },
33
- { key: 'connectors', label: phrase('Connectors'), search: phrase('Search connectors'), reading: phrase('Reading connectors'), none: phrase('No connectors yet'), icon: _jsx(Blocks, { size: ICON }) },
34
- { key: 'design', label: phrase('Design system'), search: phrase('Search design system'), reading: phrase('Reading design system'), none: phrase('No design system yet'), icon: _jsx(Palette, { size: ICON }) },
35
- { key: 'plugins', label: phrase('Plugins'), search: phrase('Search plugins'), reading: phrase('Reading plugins'), none: phrase('No plugins yet'), icon: _jsx(Plug, { size: ICON }) },
36
- { key: 'devices', label: phrase('Devices'), search: phrase('Search devices'), reading: phrase('Reading devices'), none: phrase('No devices yet'), icon: _jsx(Monitor, { size: ICON }) },
18
+ { key: 'agents', label: phrase('Agents'), note: phrase('Bring specialized agents into this chat'), search: phrase('Search agents'), reading: phrase('Reading agents'), none: phrase('No agents yet'), icon: _jsx(Bot, { size: ICON }) },
19
+ { key: 'skills', label: phrase('Skills'), note: phrase('Use workspace skills and workflows'), search: phrase('Search skills'), reading: phrase('Reading skills'), none: phrase('No skills yet'), icon: _jsx(ScrollText, { size: ICON }) },
20
+ { key: 'connectors', label: phrase('Connectors'), note: phrase('Sync connected knowledge sources'), search: phrase('Search connectors'), reading: phrase('Reading connectors'), none: phrase('No connectors yet'), icon: _jsx(Blocks, { size: ICON }) },
21
+ { key: 'design', label: phrase('Design system'), note: phrase('Apply brand tokens and UI components'), search: phrase('Search design system'), reading: phrase('Reading design system'), none: phrase('No design system yet'), icon: _jsx(Palette, { size: ICON }) },
22
+ { key: 'plugins', label: phrase('Plugins'), note: phrase('Connect external tools and APIs'), search: phrase('Search plugins'), reading: phrase('Reading plugins'), none: phrase('No plugins yet'), icon: _jsx(Plug, { size: ICON }) },
23
+ { key: 'devices', label: phrase('Devices'), note: phrase('Run on a connected machine'), search: phrase('Search devices'), reading: phrase('Reading devices'), none: phrase('No devices yet'), icon: _jsx(Monitor, { size: ICON }) },
37
24
  ];
38
25
  /** A row's anatomy: its mark, its label, a dim note, and a check when it is on. */
39
26
  function Line({ icon, label, note, on, tail }) {
40
- return (_jsxs(XStack, { flex: 1, minW: 0, items: "center", gap: 10, children: [icon ? (_jsx(XStack, { width: ICON, height: ICON, items: "center", justify: "center", shrink: 0, "aria-hidden": true, children: icon })) : null, _jsx(SizableText, { fontSize: 14, color: "$ink", numberOfLines: 1, shrink: 0, children: label }), note ? (_jsx(SizableText, { fontSize: 13, color: "$hint", numberOfLines: 1, flex: 1, minW: 0, children: note })) : (_jsx(XStack, { flex: 1 })), tail, on ? _jsx(Check, { size: ICON, color: "var(--primary)", "aria-hidden": true }) : null] }));
27
+ return (_jsxs(XStack, { flex: 1, minW: 0, items: "center", gap: 10, py: 1, children: [icon ? (_jsx(XStack, { width: 20, height: 20, items: "center", justify: "center", shrink: 0, "aria-hidden": true, children: icon })) : null, _jsx(SizableText, { fontSize: 14, fontWeight: "500", color: "$ink", numberOfLines: 1, shrink: 0, children: label }), note ? (_jsx(SizableText, { fontSize: 13, color: "$hint", numberOfLines: 1, flex: 1, minW: 0, children: note })) : (_jsx(XStack, { flex: 1 })), tail, on ? _jsx(Check, { size: 16, color: "var(--primary)", "aria-hidden": true }) : null] }));
41
28
  }
42
29
  /** A shelf's rows, its status, then its ways to more. */
43
30
  function Contents({ shelf, words, close }) {
@@ -46,7 +33,7 @@ function Contents({ shelf, words, close }) {
46
33
  const needle = q.trim().toLowerCase();
47
34
  const rows = needle ? shelf.rows.filter((r) => `${r.label} ${r.note ?? ''}`.toLowerCase().includes(needle)) : shelf.rows;
48
35
  const links = [shelf.create, shelf.manage, shelf.browse].filter((l) => Boolean(l));
49
- return (_jsxs(_Fragment, { children: [shelf.search ? _jsx(DropdownMenuSearch, { value: q, onValueChange: setQ, placeholder: shelf.search, "aria-label": t(words.search) }) : null, shelf.loading && !shelf.rows.length ? _jsx(DropdownMenuLoading, { children: t(words.reading) }) : null, shelf.error ? _jsx(DropdownMenuEmpty, { children: shelf.error }) : null, !shelf.loading && !shelf.error && !rows.length ? _jsx(DropdownMenuEmpty, { children: needle ? t('Nothing matches') : (shelf.empty ?? t(words.none)) }) : null, rows.map((r) => (_jsx(DropdownMenuItem, { preventCloseOnSelect: true, onSelect: () => shelf.pick(r.id), "aria-checked": r.on ?? false, "data-slot": "plus-row", children: _jsx(Line, { icon: r.icon, label: r.label, note: r.note, on: r.on }) }, r.id))), links.length ? _jsx(DropdownMenuSeparator, {}) : null, links.map((l, i) => (_jsx(DropdownMenuItem, { onSelect: () => {
36
+ return (_jsxs(_Fragment, { children: [shelf.search ? _jsx(DropdownMenuSearch, { value: q, onValueChange: setQ, placeholder: shelf.search, "aria-label": t(words.search) }) : null, shelf.loading && !shelf.rows.length ? _jsx(DropdownMenuLoading, { children: t(words.reading) }) : null, shelf.error ? _jsx(DropdownMenuEmpty, { children: shelf.error }) : null, !shelf.loading && !shelf.error && !rows.length ? _jsx(DropdownMenuEmpty, { children: needle ? t('Nothing matches') : (shelf.empty ?? t(words.none)) }) : null, rows.map((r) => (_jsx(DropdownMenuItem, { preventCloseOnSelect: true, onSelect: () => shelf.pick(r.id), "aria-checked": r.on ?? false, "data-slot": "plus-row", children: _jsx(Line, { icon: r.icon, label: r.label, note: r.note, on: r.on }) }, r.id))), links.length ? _jsx(DropdownMenuSeparator, {}) : null, links.map((l) => (_jsx(DropdownMenuItem, { onSelect: () => {
50
37
  close();
51
38
  l.onPress();
52
39
  }, children: _jsx(Line, { icon: l === shelf.manage ? _jsx(Briefcase, { size: ICON }) : _jsx(PlusIcon, { size: ICON }), label: l.label }) }, l.label)))] }));
@@ -57,18 +44,46 @@ export function Plus(p) {
57
44
  const media = useMedia();
58
45
  const wide = media.sm;
59
46
  const [open, setOpen] = useState(false);
60
- // The shelf open beside the menu.
61
47
  const [sub, setSub] = useState(null);
62
48
  const close = () => setOpen(false);
63
49
  const shelves = useMemo(() => SHELVES.filter((s) => p[s.key]), [p]);
64
50
  const switches = [
65
- p.research ? { key: 'research', label: t('Research'), icon: _jsx(Telescope, { size: ICON }), s: p.research } : null,
66
- p.memory ? { key: 'memory', label: t('Memory'), icon: _jsx(Brain, { size: ICON }), s: p.memory } : null,
51
+ p.research
52
+ ? {
53
+ key: 'research',
54
+ label: t('Research'),
55
+ icon: _jsx(Telescope, { size: ICON }),
56
+ s: p.research,
57
+ }
58
+ : null,
59
+ p.memory
60
+ ? {
61
+ key: 'memory',
62
+ label: t('Memory'),
63
+ icon: _jsx(Brain, { size: ICON }),
64
+ s: p.memory,
65
+ }
66
+ : null,
67
67
  ].filter((x) => x !== null);
68
68
  const main = (_jsxs(_Fragment, { children: [p.upload ? (_jsx(DropdownMenuItem, { "data-slot": "plus-upload", onSelect: () => {
69
69
  close();
70
70
  p.upload?.();
71
- }, children: _jsx(Line, { icon: _jsx(Paperclip, { size: ICON }), label: t('Upload or add files'), tail: _jsx(DropdownMenuShortcut, { "data-i18n-ltr": true, children: "Ctrl+U" }) }) })) : null, p.upload && shelves.length ? _jsx(DropdownMenuSeparator, {}) : null, shelves.map((s) => wide ? (_jsxs(DropdownMenuSub, { open: sub === s.key, onOpenChange: (o) => setSub(o ? s.key : sub === s.key ? null : sub), children: [_jsx(DropdownMenuSubTrigger, { "data-slot": `plus-${s.key}`, onPress: () => setSub(s.key), children: _jsx(Line, { icon: s.icon, label: t(s.label) }) }), sub === s.key ? (_jsx(DropdownMenuSubContent, { minW: 200, maxW: 340, maxH: 420, pointerEvents: "auto", style: { overflowY: "auto" }, children: _jsx(Contents, { shelf: p[s.key], words: s, close: close }) })) : null] }, s.key)) : (_jsx(DropdownMenuItem, { page: s.key, "data-slot": `plus-${s.key}`, children: _jsx(Line, { icon: s.icon, label: t(s.label) }) }, s.key))), switches.length && (p.upload || shelves.length) ? _jsx(DropdownMenuSeparator, {}) : null, switches.map((w) => (_jsx(DropdownMenuItem, { preventCloseOnSelect: true, onSelect: () => w.s.set(!w.s.on), role: 'menuitemcheckbox', "aria-checked": w.s.on, "data-slot": `plus-${w.key}`, children: _jsx(Line, { icon: w.icon, label: w.label, on: w.s.on }) }, w.key)))] }));
72
- return (_jsxs(DropdownMenu, { open: open, onOpenChange: setOpen, ...(wide ? null : { defaultPage: 'main' }), children: [_jsx(DropdownMenuTrigger, { asChild: true, disabled: p.disabled, children: _jsx(XStack, { render: "button", "data-slot": "plus", "aria-label": t('Add files, agents, skills and more'), width: p.size ?? 36, height: p.size ?? 36, rounded: 999, items: "center", justify: "center", shrink: 0, cursor: p.disabled ? 'default' : 'pointer', opacity: p.disabled ? 0.4 : 1, ...GHOST, ...(open ? { bg: '$hover', color: '$ink' } : null), focusVisibleStyle: RING, children: _jsx(PlusIcon, { size: GLYPH, strokeWidth: STROKE, color: "currentColor" }) }) }), _jsx(DropdownMenuContent, { align: "start", minW: 240, "data-slot": "plus-menu", children: wide ? (main) : (_jsxs(_Fragment, { children: [_jsx(DropdownMenuPage, { id: "main", children: main }), shelves.map((s) => (_jsxs(DropdownMenuPage, { id: s.key, children: [_jsx(DropdownMenuBack, { children: t(s.label) }), _jsx(Contents, { shelf: p[s.key], words: s, close: close })] }, s.key)))] })) })] }));
71
+ }, children: _jsx(Line, { icon: _jsx(Paperclip, { size: ICON }), label: t('Add photos & files'), note: t('Upload from computer'), tail: _jsx(DropdownMenuShortcut, { "data-i18n-ltr": true, children: "Ctrl+U" }) }) })) : null, p.library ? (_jsx(DropdownMenuItem, { "data-slot": "plus-library", onSelect: () => {
72
+ close();
73
+ p.library?.();
74
+ }, children: _jsx(Line, { icon: _jsx(Folder, { size: ICON }), label: t('Add from library'), note: t('Browse and search your files') }) })) : null, p.createImage ? (_jsx(DropdownMenuItem, { "data-slot": "plus-create-image", onSelect: () => {
75
+ close();
76
+ p.createImage?.();
77
+ }, children: _jsx(Line, { icon: _jsx(ImageIcon, { size: ICON, color: "var(--primary)" }), label: t('Create image'), note: t('Visualize anything') }) })) : null, p.browserTabs ? (_jsx(DropdownMenuItem, { "data-slot": "plus-browser-tabs", onSelect: () => {
78
+ close();
79
+ p.browserTabs?.();
80
+ }, children: _jsx(Line, { icon: _jsx(AppWindow, { size: ICON, color: "var(--primary)" }), label: t('Add browser tabs'), note: t('Ask about your open tabs') }) })) : null, p.webSearch ? (_jsx(DropdownMenuItem, { "data-slot": "plus-web-search", onSelect: () => {
81
+ close();
82
+ p.webSearch?.();
83
+ }, children: _jsx(Line, { icon: _jsx(Globe, { size: ICON, color: "var(--primary)" }), label: t('Web search'), note: t('Find real-time news and info') }) })) : null, p.research ? (_jsx(DropdownMenuItem, { preventCloseOnSelect: true, onSelect: () => p.research.set(!p.research.on), role: "menuitemcheckbox", "aria-checked": p.research.on, "data-slot": "plus-research", children: _jsx(Line, { icon: _jsx(Telescope, { size: ICON, color: "var(--primary)" }), label: t('Deep research'), note: t('Get a detailed report'), on: p.research.on }) })) : null, p.sketch ? (_jsx(DropdownMenuItem, { "data-slot": "plus-sketch", onSelect: () => {
84
+ close();
85
+ p.sketch?.();
86
+ }, children: _jsx(Line, { icon: _jsx(PenTool, { size: ICON, color: "var(--primary)" }), label: t('Sketch'), note: t('Draw and attach an image') }) })) : null, p.thinking ? (_jsx(DropdownMenuItem, { preventCloseOnSelect: true, onSelect: () => p.thinking.set(!p.thinking.on), role: "menuitemcheckbox", "aria-checked": p.thinking.on, "data-slot": "plus-thinking", children: _jsx(Line, { icon: _jsx(Brain, { size: ICON }), label: t('Thinking'), note: t('For detailed answers'), on: p.thinking.on }) })) : null, shelves.length ? _jsx(DropdownMenuSeparator, {}) : null, shelves.map((s) => wide ? (_jsxs(DropdownMenuSub, { open: sub === s.key, onOpenChange: (o) => setSub(o ? s.key : sub === s.key ? null : sub), children: [_jsx(DropdownMenuSubTrigger, { "data-slot": `plus-${s.key}`, onPress: () => setSub(s.key), children: _jsx(Line, { icon: s.icon, label: t(s.label), note: t(s.note) }) }), sub === s.key ? (_jsx(DropdownMenuSubContent, { minW: 240, maxW: 360, maxH: 420, pointerEvents: "auto", style: { overflowY: 'auto' }, children: _jsx(Contents, { shelf: p[s.key], words: s, close: close }) })) : null] }, s.key)) : (_jsx(DropdownMenuItem, { page: s.key, "data-slot": `plus-${s.key}`, children: _jsx(Line, { icon: s.icon, label: t(s.label), note: t(s.note) }) }, s.key))), p.memory ? _jsx(DropdownMenuSeparator, {}) : null, p.memory ? (_jsx(DropdownMenuItem, { preventCloseOnSelect: true, onSelect: () => p.memory.set(!p.memory.on), role: "menuitemcheckbox", "aria-checked": p.memory.on, "data-slot": "plus-memory", children: _jsx(Line, { icon: _jsx(Brain, { size: ICON }), label: t('Memory'), note: t('Remember context across chats'), on: p.memory.on }) })) : null] }));
87
+ return (_jsxs(DropdownMenu, { open: open, onOpenChange: setOpen, ...(wide ? null : { defaultPage: 'main' }), children: [_jsx(DropdownMenuTrigger, { asChild: true, disabled: p.disabled, children: _jsx(XStack, { render: "button", "data-slot": "plus", "aria-label": t('Add files, agents, skills and more'), width: p.size ?? 36, height: p.size ?? 36, rounded: 999, items: "center", justify: "center", shrink: 0, cursor: p.disabled ? 'default' : 'pointer', opacity: p.disabled ? 0.4 : 1, ...GHOST, ...(open ? { bg: '$hover', color: '$ink' } : null), focusVisibleStyle: RING, children: _jsx(PlusIcon, { size: GLYPH, strokeWidth: STROKE, color: "currentColor" }) }) }), _jsx(DropdownMenuContent, { align: "start", minW: 360, maxW: 440, "data-slot": "plus-menu", children: wide ? (main) : (_jsxs(_Fragment, { children: [_jsx(DropdownMenuPage, { id: "main", children: main }), shelves.map((s) => (_jsxs(DropdownMenuPage, { id: s.key, children: [_jsx(DropdownMenuBack, { children: t(s.label) }), _jsx(Contents, { shelf: p[s.key], words: s, close: close })] }, s.key)))] })) })] }));
73
88
  }
74
89
  //# sourceMappingURL=Plus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plus.js","sourceRoot":"","sources":["../../src/chat/Plus.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Plus.js","sourceRoot":"","sources":["../../src/chat/Plus.tsx"],"names":[],"mappings":"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"}
@@ -28,9 +28,11 @@ const jsx_runtime_1 = require("react/jsx-runtime");
28
28
  * and gets `ArtifactCard`, which is where that decision already lived.
29
29
  */
30
30
  const gui_1 = require("@hanzo/gui");
31
+ const react_1 = require("@hanzo/i18n/react");
31
32
  const slot_1 = require("../backends/gui/slot.cjs");
32
33
  function Preview({ markup, title, height = 320, ...props }) {
33
- const named = title ?? 'Preview';
34
+ const { t } = (0, react_1.useI18n)();
35
+ const named = title ?? t('Preview');
34
36
  return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('preview'), width: "100%", maxW: 720, rounded: "$4", overflow: "hidden", borderWidth: 1, borderColor: "$borderColor", bg: "$panel", ...props, children: [title ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { items: "center", gap: "$2", px: "$3", py: "$2", borderBottomWidth: 1, borderColor: "$borderColor", children: (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: "$soft", numberOfLines: 1, children: title }) })) : null, (0, jsx_runtime_1.jsx)("iframe", { title: named, srcDoc: markup, sandbox: "", referrerPolicy: "no-referrer", style: {
35
37
  display: 'block',
36
38
  width: '100%',
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.d.ts","sourceRoot":"","sources":["../../src/chat/Preview.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAuB,MAAM,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAI3C,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,CAAC;IACnF,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAA;IACd,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAY,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,+BAiD9E"}
1
+ {"version":3,"file":"Preview.d.ts","sourceRoot":"","sources":["../../src/chat/Preview.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAuB,MAAM,EAAE,MAAM,YAAY,CAAA;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAI3C,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,CAAC;IACnF,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAA;IACd,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAY,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,+BAkD9E"}
@@ -25,9 +25,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
25
  * and gets `ArtifactCard`, which is where that decision already lived.
26
26
  */
27
27
  import { SizableText, XStack, YStack } from '@hanzo/gui';
28
+ import { useI18n } from '@hanzo/i18n/react';
28
29
  import { slot } from '../backends/gui/slot.js';
29
30
  export function Preview({ markup, title, height = 320, ...props }) {
30
- const named = title ?? 'Preview';
31
+ const { t } = useI18n();
32
+ const named = title ?? t('Preview');
31
33
  return (_jsxs(YStack, { ...slot('preview'), width: "100%", maxW: 720, rounded: "$4", overflow: "hidden", borderWidth: 1, borderColor: "$borderColor", bg: "$panel", ...props, children: [title ? (_jsx(XStack, { items: "center", gap: "$2", px: "$3", py: "$2", borderBottomWidth: 1, borderColor: "$borderColor", children: _jsx(SizableText, { size: "$1", color: "$soft", numberOfLines: 1, children: title }) })) : null, _jsx("iframe", { title: named, srcDoc: markup, sandbox: "", referrerPolicy: "no-referrer", style: {
32
34
  display: 'block',
33
35
  width: '100%',
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.js","sourceRoot":"","sources":["../../src/chat/Preview.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGxD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAW3C,MAAM,UAAU,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,EAAgB;IAC7E,MAAM,KAAK,GAAG,KAAK,IAAI,SAAS,CAAA;IAChC,OAAO,CACL,MAAC,MAAM,OACD,IAAI,CAAC,SAAS,CAAC,EACnB,KAAK,EAAC,MAAM,EACZ,IAAI,EAAE,GAAG,EACT,OAAO,EAAC,IAAI,EACZ,QAAQ,EAAC,QAAQ,EACjB,WAAW,EAAE,CAAC,EACd,WAAW,EAAC,cAAc,EAC1B,EAAE,EAAC,QAAQ,KACP,KAAK,aAER,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,MAAM,IACL,KAAK,EAAC,QAAQ,EACd,GAAG,EAAC,IAAI,EACR,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,iBAAiB,EAAE,CAAC,EACpB,WAAW,EAAC,cAAc,YAE1B,KAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAC,aAAa,EAAE,CAAC,YAClD,KAAK,GACM,GACP,CACV,CAAC,CAAC,CAAC,IAAI,EAMR,iBACE,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAC,EAAE,EACV,cAAc,EAAC,aAAa,EAC5B,KAAK,EAAE;oBACL,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE,MAAM;oBACb,MAAM;oBACN,MAAM,EAAE,CAAC;oBACT,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,OAAO;iBACrB,GACD,IACK,CACV,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"Preview.js","sourceRoot":"","sources":["../../src/chat/Preview.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAG3C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAW3C,MAAM,UAAU,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,EAAgB;IAC7E,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAA;IACvB,MAAM,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,CAAA;IACnC,OAAO,CACL,MAAC,MAAM,OACD,IAAI,CAAC,SAAS,CAAC,EACnB,KAAK,EAAC,MAAM,EACZ,IAAI,EAAE,GAAG,EACT,OAAO,EAAC,IAAI,EACZ,QAAQ,EAAC,QAAQ,EACjB,WAAW,EAAE,CAAC,EACd,WAAW,EAAC,cAAc,EAC1B,EAAE,EAAC,QAAQ,KACP,KAAK,aAER,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,MAAM,IACL,KAAK,EAAC,QAAQ,EACd,GAAG,EAAC,IAAI,EACR,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,iBAAiB,EAAE,CAAC,EACpB,WAAW,EAAC,cAAc,YAE1B,KAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAC,aAAa,EAAE,CAAC,YAClD,KAAK,GACM,GACP,CACV,CAAC,CAAC,CAAC,IAAI,EAMR,iBACE,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAC,EAAE,EACV,cAAc,EAAC,aAAa,EAC5B,KAAK,EAAE;oBACL,OAAO,EAAE,OAAO;oBAChB,KAAK,EAAE,MAAM;oBACb,MAAM;oBACN,MAAM,EAAE,CAAC;oBACT,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,OAAO;iBACrB,GACD,IACK,CACV,CAAA;AACH,CAAC"}
@@ -44,7 +44,8 @@ const jsx_runtime_1 = require("react/jsx-runtime");
44
44
  */
45
45
  const gui_1 = require("@hanzo/gui");
46
46
  const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
47
- const react_1 = require("react");
47
+ const react_1 = require("@hanzo/i18n/react");
48
+ const react_2 = require("react");
48
49
  const button_1 = require("../backends/gui/button.cjs");
49
50
  const popover_1 = require("../backends/gui/popover.cjs");
50
51
  const press_1 = require("../backends/gui/press.cjs");
@@ -87,12 +88,13 @@ const hasMenu = (a) => Boolean(a.onSignOut || a.groups?.some((g) => (Array.isArr
87
88
  * menu it opens, anchored to the row itself.
88
89
  */
89
90
  function Who({ account, rail }) {
90
- const [open, setOpen] = (0, react_1.useState)(false);
91
+ const [open, setOpen] = (0, react_2.useState)(false);
91
92
  // The row, so closing the menu can hand focus back to it: the popover's own
92
93
  // return goes through a trigger ref that an `asChild` stack never fills.
93
- const row = (0, react_1.useRef)(null);
94
+ const row = (0, react_2.useRef)(null);
94
95
  const menu = hasMenu(account);
95
96
  const acts = menu || Boolean(account.onPress);
97
+ const { t } = (0, react_1.useI18n)();
96
98
  const said = account.sub ? `${account.name} · ${account.sub}` : account.name;
97
99
  const face = ((0, jsx_runtime_1.jsx)(gui_1.XStack, { width: 24, height: 24, rounded: 9999, items: "center", justify: "center", bg: "$raised", overflow: "hidden", shrink: 0, "aria-hidden": true, children: account.avatar ?? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", fontWeight: "600", color: "$ink", children: account.name.charAt(0).toUpperCase() })) }));
98
100
  const look = {
@@ -111,11 +113,11 @@ function Who({ account, rail }) {
111
113
  };
112
114
  const body = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [face, rail ? null : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(gui_1.YStack, { flex: 1, minW: 0, children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$3", numberOfLines: 1, color: "$ink", children: account.name }), account.sub ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('rail-account-sub'), size: "$1", numberOfLines: 1, color: "$soft", children: account.sub })) : null] }), acts ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronDown, { size: 14, color: "$soft" }) : null] }))] }));
113
115
  if (!menu)
114
- return account.onPress ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...look, ...(0, press_1.press)(account.onPress), "aria-label": `Account: ${said}`, children: body })) : ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...look, children: body }));
116
+ return account.onPress ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...look, ...(0, press_1.press)(account.onPress), "aria-label": t('Account: {name}', { name: said }), children: body })) : ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...look, children: body }));
115
117
  return ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: open, onOpenChange: setOpen,
116
118
  // Above the row on the open rail, where the row spans the column; beside
117
119
  // it on the collapsed rail, where above would cover the rail's icons.
118
- placement: rail ? 'right-end' : 'top-start', allowFlip: true, stayInFrame: true, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(gui_1.XStack, { ref: row, ...look, role: "button", tabIndex: 0, "aria-label": `Account: ${said}`, "aria-haspopup": "menu", "aria-expanded": open,
120
+ placement: rail ? 'right-end' : 'top-start', allowFlip: true, stayInFrame: true, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(gui_1.XStack, { ref: row, ...look, role: "button", tabIndex: 0, "aria-label": t('Account: {name}', { name: said }), "aria-haspopup": "menu", "aria-expanded": open,
119
121
  // The trigger opens on a press; the keyboard is this row's own (gui
120
122
  // does not activate role="button" on Enter).
121
123
  onKeyDown: (e) => {
@@ -123,7 +125,7 @@ function Who({ account, rail }) {
123
125
  return;
124
126
  e.preventDefault?.();
125
127
  setOpen(!open);
126
- }, children: body }) }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { ...(0, slot_1.slot)('rail-menu'), role: "menu", "aria-label": "Account", sideOffset: 6,
128
+ }, children: body }) }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { ...(0, slot_1.slot)('rail-menu'), role: "menu", "aria-label": t('Account'), sideOffset: 6,
127
129
  // A menu's rows run its full width; gui's popper centres children.
128
130
  // 260 fits a 390 phone's drawer, and the popper keeps it in frame.
129
131
  items: "stretch", width: 260, p: "$1", rounded: "$3", elevation: "$2", onCloseAutoFocus: (e) => {
@@ -132,15 +134,22 @@ function Who({ account, rail }) {
132
134
  }, children: (0, jsx_runtime_1.jsx)(account_1.Account, { name: account.name, email: account.email, groups: account.groups, onSignOut: account.onSignOut, signOutLabel: account.signOutLabel, onDone: () => setOpen(false), component: "SessionRail" }) })] }));
133
135
  }
134
136
  /** The rail's contents — the same tree in the column and in the drawer. */
135
- function Contents({ brand, onBrand, onSearch, searchLabel = 'Search', onNew, newLabel = 'New', fresh = false, links = [], more = [], moreLabel = 'More', recents, recentsLabel = 'Recents', active = null, onOpen, onSort, sortLabel = 'Sort and filter', empty, notice, account, collapsed = false, onCollapse, mark, rail, }) {
136
- const [unfolded, setUnfolded] = (0, react_1.useState)(false);
137
- const id = (0, react_1.useId)();
137
+ function Contents({ brand, onBrand, onSearch, searchLabel: searchLabelGiven, onNew, newLabel: newLabelGiven, fresh = false, links = [], more = [], moreLabel: moreLabelGiven, recents, recentsLabel: recentsLabelGiven, active = null, onOpen, onSort, sortLabel: sortLabelGiven, empty, notice, account, collapsed = false, onCollapse, mark, rail, }) {
138
+ const { t } = (0, react_1.useI18n)();
139
+ // A host's own words are drawn as given; what it leaves out, in the reader's language.
140
+ const searchLabel = searchLabelGiven ?? t('Search');
141
+ const newLabel = newLabelGiven ?? t('New');
142
+ const moreLabel = moreLabelGiven ?? t('More');
143
+ const recentsLabel = recentsLabelGiven ?? t('Recents');
144
+ const sortLabel = sortLabelGiven ?? t('Sort and filter');
145
+ const [unfolded, setUnfolded] = (0, react_2.useState)(false);
146
+ const id = (0, react_2.useId)();
138
147
  const moreId = `${id}-more`;
139
148
  const headId = `${id}-recents`;
140
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [rail ? ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { items: "center", gap: "$1", pb: "$1", children: [(0, jsx_runtime_1.jsx)(Sidebar_1.SidebarIconButton, { label: "Expand sidebar", width: 36, height: 36, onPress: () => onCollapse?.(false), children: mark ?? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.PanelLeft, { ...dir_1.mirror, size: 16 }) }), onSearch ? ((0, jsx_runtime_1.jsx)(Item, { label: searchLabel, icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Search, { size: 16 }), onPress: onSearch, rail: true, data: "rail-search" })) : null] })) : brand || onSearch ? ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('rail-head'), gap: "$2.5", pt: 2, pb: "$4", shrink: 0, children: [brand ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { px: "$2.5", children: (0, jsx_runtime_1.jsx)(Brand, { brand: brand, onPress: onBrand ?? onNew }) })) : null, onSearch ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('rail-search'), ...(0, press_1.press)(onSearch), "aria-label": searchLabel, items: "center", gap: "$2", px: "$2.5", height: 34, rounded: "$3", borderWidth: 1, borderColor: "$borderColor", bg: "$panel", cursor: "pointer", hoverStyle: { bg: '$hover' }, focusVisibleStyle: press_1.RING, children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.Search, { size: 15, color: "$soft" }), (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$soft", children: searchLabel })] })) : null] })) : null, (0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('rail-nav'), gap: "$0", role: "list", children: [onNew ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { role: "listitem", children: (0, jsx_runtime_1.jsx)(Item, { label: newLabel, icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Plus, { size: 16 }), onPress: onNew, active: fresh, rail: rail, data: "rail-new" }) })) : null, links.map((link) => ((0, jsx_runtime_1.jsx)(gui_1.YStack, { role: "listitem", children: (0, jsx_runtime_1.jsx)(Item, { label: link.label, icon: link.icon, onPress: link.onPress, active: link.active, rail: rail }) }, link.id))), more.length ? ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { role: "listitem", children: [(0, jsx_runtime_1.jsx)(Item, { label: moreLabel, icon: unfolded ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronUp, { size: 16 }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronDown, { size: 16 }), onPress: () => setUnfolded((v) => !v), rail: rail, quiet: true, expanded: unfolded, controls: moreId, data: "rail-more" }), unfolded ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { id: moreId, role: "list", gap: "$0", children: more.map((link) => ((0, jsx_runtime_1.jsx)(gui_1.YStack, { role: "listitem", children: (0, jsx_runtime_1.jsx)(Item, { label: link.label, icon: link.icon, onPress: link.onPress, active: link.active, rail: rail }) }, link.id))) })) : null] })) : null] }), rail ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { flex: 1 })) : ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('rail-recents'), flex: 1, minH: 0, mt: "$5", children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", justify: "space-between", height: 28, paddingInlineStart: "$2", paddingInlineEnd: "$1", shrink: 0, children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { id: headId, size: "$2", color: "$soft", children: recentsLabel }), onSort ? ((0, jsx_runtime_1.jsx)(Sidebar_1.SidebarIconButton, { label: sortLabel, onPress: onSort, width: 24, height: 24, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ArrowDownUp, { size: 14 }) })) : null] }), (0, jsx_runtime_1.jsx)(gui_1.ScrollView, { flex: 1, showsVerticalScrollIndicator: false, children: recents.length === 0 ? (empty ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { px: "$2", py: "$2", children: typeof empty === 'string' ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$soft", children: empty })) : (empty) })) : null) : ((0, jsx_runtime_1.jsx)(gui_1.YStack, { role: "list", "aria-labelledby": headId, gap: 1, children: recents.map((s) => {
149
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [rail ? ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { items: "center", gap: "$1", pb: "$1", children: [(0, jsx_runtime_1.jsx)(Sidebar_1.SidebarIconButton, { label: t('Expand sidebar'), width: 36, height: 36, onPress: () => onCollapse?.(false), children: mark ?? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.PanelLeft, { ...dir_1.mirror, size: 16 }) }), onSearch ? ((0, jsx_runtime_1.jsx)(Item, { label: searchLabel, icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Search, { size: 16 }), onPress: onSearch, rail: true, data: "rail-search" })) : null] })) : brand || onSearch ? ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('rail-head'), gap: "$2.5", pt: 2, pb: "$4", shrink: 0, children: [brand ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { px: "$2.5", children: (0, jsx_runtime_1.jsx)(Brand, { brand: brand, onPress: onBrand ?? onNew }) })) : null, onSearch ? ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('rail-search'), ...(0, press_1.press)(onSearch), "aria-label": searchLabel, items: "center", gap: "$2", px: "$2.5", height: 34, rounded: "$3", borderWidth: 1, borderColor: "$borderColor", bg: "$panel", cursor: "pointer", hoverStyle: { bg: '$hover' }, focusVisibleStyle: press_1.RING, children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.Search, { size: 15, color: "$soft" }), (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$soft", children: searchLabel })] })) : null] })) : null, (0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('rail-nav'), gap: "$0", role: "list", children: [onNew ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { role: "listitem", children: (0, jsx_runtime_1.jsx)(Item, { label: newLabel, icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Plus, { size: 16 }), onPress: onNew, active: fresh, rail: rail, data: "rail-new" }) })) : null, links.map((link) => ((0, jsx_runtime_1.jsx)(gui_1.YStack, { role: "listitem", children: (0, jsx_runtime_1.jsx)(Item, { label: link.label, icon: link.icon, onPress: link.onPress, active: link.active, rail: rail }) }, link.id))), more.length ? ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { role: "listitem", children: [(0, jsx_runtime_1.jsx)(Item, { label: moreLabel, icon: unfolded ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronUp, { size: 16 }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronDown, { size: 16 }), onPress: () => setUnfolded((v) => !v), rail: rail, quiet: true, expanded: unfolded, controls: moreId, data: "rail-more" }), unfolded ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { id: moreId, role: "list", gap: "$0", children: more.map((link) => ((0, jsx_runtime_1.jsx)(gui_1.YStack, { role: "listitem", children: (0, jsx_runtime_1.jsx)(Item, { label: link.label, icon: link.icon, onPress: link.onPress, active: link.active, rail: rail }) }, link.id))) })) : null] })) : null] }), rail ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { flex: 1 })) : ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('rail-recents'), flex: 1, minH: 0, mt: "$5", children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", justify: "space-between", height: 28, paddingInlineStart: "$2", paddingInlineEnd: "$1", shrink: 0, children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { id: headId, size: "$2", color: "$soft", children: recentsLabel }), onSort ? ((0, jsx_runtime_1.jsx)(Sidebar_1.SidebarIconButton, { label: sortLabel, onPress: onSort, width: 24, height: 24, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ArrowDownUp, { size: 14 }) })) : null] }), (0, jsx_runtime_1.jsx)(gui_1.ScrollView, { flex: 1, showsVerticalScrollIndicator: false, children: recents.length === 0 ? (empty ? ((0, jsx_runtime_1.jsx)(gui_1.YStack, { px: "$2", py: "$2", children: typeof empty === 'string' ? ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", color: "$soft", children: empty })) : (empty) })) : null) : ((0, jsx_runtime_1.jsx)(gui_1.YStack, { role: "list", "aria-labelledby": headId, gap: 1, children: recents.map((s) => {
141
150
  const on = s.id === active;
142
151
  return ((0, jsx_runtime_1.jsx)(gui_1.YStack, { role: "listitem", children: (0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('rail-session'), ...(0, press_1.press)(() => onOpen(s.id)), ...ROW, items: "center", cursor: "pointer", "aria-current": on ? 'page' : undefined, bg: on ? '$raised' : undefined, hoverStyle: { bg: on ? '$raised' : '$hover' }, pressStyle: { bg: '$raised' }, focusVisibleStyle: press_1.RING, children: [(0, jsx_runtime_1.jsx)(Lead, { children: (0, jsx_runtime_1.jsx)(StatusDot, { status: s.status }) }), (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$3", numberOfLines: 1, flex: 1, minW: 0, color: on ? '$ink' : '$quiet', children: s.title })] }) }, s.id));
143
- }) })) })] })), notice && !rail ? (0, jsx_runtime_1.jsx)(gui_1.YStack, { pt: "$2", children: notice }) : null, (0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('rail-foot'), items: "center", gap: "$1", pt: "$2", mt: "$1", borderTopWidth: 1, borderColor: "$borderColor", flexDirection: rail ? 'column' : 'row', children: [account ? (0, jsx_runtime_1.jsx)(Who, { account: account, rail: rail }) : (0, jsx_runtime_1.jsx)(gui_1.XStack, { flex: 1 }), onCollapse && !rail ? ((0, jsx_runtime_1.jsx)(Sidebar_1.SidebarIconButton, { label: "Collapse sidebar", onPress: () => onCollapse(!collapsed), children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.PanelLeft, { ...dir_1.mirror, size: 16 }) })) : null] })] }));
152
+ }) })) })] })), notice && !rail ? (0, jsx_runtime_1.jsx)(gui_1.YStack, { pt: "$2", children: notice }) : null, (0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('rail-foot'), items: "center", gap: "$1", pt: "$2", mt: "$1", borderTopWidth: 1, borderColor: "$borderColor", flexDirection: rail ? 'column' : 'row', children: [account ? (0, jsx_runtime_1.jsx)(Who, { account: account, rail: rail }) : (0, jsx_runtime_1.jsx)(gui_1.XStack, { flex: 1 }), onCollapse && !rail ? ((0, jsx_runtime_1.jsx)(Sidebar_1.SidebarIconButton, { label: t('Collapse sidebar'), onPress: () => onCollapse(!collapsed), children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.PanelLeft, { ...dir_1.mirror, size: 16 }) })) : null] })] }));
144
153
  }
145
154
  /** `run`, then close the drawer — or nothing, when there is nothing to run. */
146
155
  const closing = (close) => (run) => run ? (...args) => (close(), run(...args)) : undefined;
@@ -148,7 +157,9 @@ function SessionRail(props) {
148
157
  const {
149
158
  // Everything the contents read is named here, so none of it reaches the
150
159
  // column as a stray DOM attribute through `rest`.
151
- brand, onBrand, onSearch, searchLabel, onNew, newLabel, fresh, links, more, moreLabel, recents, recentsLabel, active, onOpen, onSort, sortLabel, empty, notice, account, collapsed = false, onCollapse, mark, open = false, onOpenChange, label = 'Sessions', width = WIDTH, ...rest } = props;
160
+ brand, onBrand, onSearch, searchLabel, onNew, newLabel, fresh, links, more, moreLabel, recents, recentsLabel, active, onOpen, onSort, sortLabel, empty, notice, account, collapsed = false, onCollapse, mark, open = false, onOpenChange, label: named, width = WIDTH, ...rest } = props;
161
+ const { t } = (0, react_1.useI18n)();
162
+ const label = named ?? t('Sessions');
152
163
  const rail = collapsed;
153
164
  // Where focus was when the drawer opened — the phone bar's menu button — and
154
165
  // where it goes back to when the drawer closes, by Escape or by a choice. A
@@ -161,8 +172,8 @@ function SessionRail(props) {
161
172
  // `onOpenAutoFocus` included, which then never fires because focus is already
162
173
  // inside) the opener is gone. jsdom's `<dialog>` moves nothing, which is why
163
174
  // the unit suite could not see this and the consumer suite asserts it.
164
- const back = (0, react_1.useRef)(null);
165
- const was = (0, react_1.useRef)(false);
175
+ const back = (0, react_2.useRef)(null);
176
+ const was = (0, react_2.useRef)(false);
166
177
  if (open && !was.current && typeof document !== 'undefined')
167
178
  back.current = document.activeElement;
168
179
  was.current = open;
@@ -170,7 +181,7 @@ function SessionRail(props) {
170
181
  // dialog can also report its own dismissal while it unmounts in that same
171
182
  // turn; the host hears one `onOpenChange(false)`. The latch lets go after the
172
183
  // turn, so a host that keeps the drawer open still hears the next choice.
173
- const closed = (0, react_1.useRef)(false);
184
+ const closed = (0, react_2.useRef)(false);
174
185
  const close = () => {
175
186
  if (closed.current)
176
187
  return;
@@ -208,8 +219,10 @@ function SessionRail(props) {
208
219
  * ("Try Hanzo in Slack"), its one action, and a way to put it away. Pass it as
209
220
  * `SessionRail notice`; the host decides when it shows and remembers a dismissal.
210
221
  */
211
- function RailNotice({ icon, title, action, onAction, onDismiss, dismissLabel = 'Dismiss', ...rest }) {
212
- const id = (0, react_1.useId)();
222
+ function RailNotice({ icon, title, action, onAction, onDismiss, dismissLabel: dismissGiven, ...rest }) {
223
+ const { t } = (0, react_1.useI18n)();
224
+ const dismissLabel = dismissGiven ?? t('Dismiss');
225
+ const id = (0, react_2.useId)();
213
226
  return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('rail-notice'), items: "center", gap: "$2.5", px: "$3", py: "$2.5", rounded: "$3", borderWidth: 1, borderColor: "$borderColor", bg: "$panel", ...rest, children: [icon ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { shrink: 0, "aria-hidden": true, children: icon })) : null, (0, jsx_runtime_1.jsxs)(gui_1.YStack, { flex: 1, minW: 0, gap: "$0.5", children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { id: `${id}-title`, size: "$2", color: "$ink", numberOfLines: 1, children: title }), action && onAction ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('rail-notice-action'), ...(0, press_1.press)(onAction), "aria-describedby": `${id}-title`, self: "flex-start", cursor: "pointer", rounded: "$1", focusVisibleStyle: press_1.RING, children: (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", color: "$soft", textDecorationLine: "underline", children: action }) })) : null] }), onDismiss ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ...(0, slot_1.slot)('rail-notice-dismiss'), ...(0, press_1.press)(onDismiss), ...(0, slot_1.tip)(dismissLabel), "aria-label": dismissLabel, p: "$1", rounded: "$2", cursor: "pointer", hoverStyle: { bg: '$hover' }, focusVisibleStyle: press_1.RING, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.X, { size: 14 }) })) : null] }));
214
227
  }
215
228
  /**
@@ -218,6 +231,9 @@ function RailNotice({ icon, title, action, onAction, onDismiss, dismissLabel = '
218
231
  * `md`, where there is no rail; from `md` up it draws nothing and the rail's own
219
232
  * head carries the same three. Place it at the top of the pane, in flow.
220
233
  */
221
- function RailBar({ onMenu, menuLabel = 'Open menu', brand, onBrand, onSearch, searchLabel = 'Search', ...rest }) {
234
+ function RailBar({ onMenu, menuLabel: menuGiven, brand, onBrand, onSearch, searchLabel: searchGiven, ...rest }) {
235
+ const { t } = (0, react_1.useI18n)();
236
+ const menuLabel = menuGiven ?? t('Open menu');
237
+ const searchLabel = searchGiven ?? t('Search');
222
238
  return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('rail-bar'), height: 44, px: "$2", gap: "$2", items: "center", shrink: 0, $md: { display: 'none' }, ...rest, children: [(0, jsx_runtime_1.jsx)(button_1.Button, { variant: "ghost", size: "icon-sm", onPress: onMenu, "aria-label": menuLabel, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Menu, { size: 18 }) }), brand ? (0, jsx_runtime_1.jsx)(Brand, { brand: brand, onPress: onBrand }) : null, (0, jsx_runtime_1.jsx)(gui_1.XStack, { flex: 1 }), onSearch ? ((0, jsx_runtime_1.jsx)(button_1.Button, { variant: "ghost", size: "icon-sm", onPress: onSearch, "aria-label": searchLabel, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Search, { size: 18 }) })) : null] }));
223
239
  }