@hanzo/ui 8.29.45 → 8.30.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (954) hide show
  1. package/dist/agents/Attachments.cjs +13 -3
  2. package/dist/agents/Attachments.d.ts +1 -1
  3. package/dist/agents/Attachments.d.ts.map +1 -1
  4. package/dist/agents/Attachments.js +13 -3
  5. package/dist/agents/Attachments.js.map +1 -1
  6. package/dist/agents/Board.cjs +9 -5
  7. package/dist/agents/Board.d.ts.map +1 -1
  8. package/dist/agents/Board.js +9 -5
  9. package/dist/agents/Board.js.map +1 -1
  10. package/dist/agents/ChannelMembers.cjs +66 -1
  11. package/dist/agents/ChannelMembers.d.ts.map +1 -1
  12. package/dist/agents/ChannelMembers.js +66 -1
  13. package/dist/agents/ChannelMembers.js.map +1 -1
  14. package/dist/agents/ChannelNotes.cjs +38 -2
  15. package/dist/agents/ChannelNotes.d.ts.map +1 -1
  16. package/dist/agents/ChannelNotes.js +38 -2
  17. package/dist/agents/ChannelNotes.js.map +1 -1
  18. package/dist/agents/Choice.cjs +7 -4
  19. package/dist/agents/Choice.d.ts.map +1 -1
  20. package/dist/agents/Choice.js +7 -4
  21. package/dist/agents/Choice.js.map +1 -1
  22. package/dist/agents/Console.cjs +15 -8
  23. package/dist/agents/Console.d.ts +1 -1
  24. package/dist/agents/Console.d.ts.map +1 -1
  25. package/dist/agents/Console.js +15 -8
  26. package/dist/agents/Console.js.map +1 -1
  27. package/dist/agents/DiffViewer.cjs +52 -4
  28. package/dist/agents/DiffViewer.d.ts.map +1 -1
  29. package/dist/agents/DiffViewer.js +52 -4
  30. package/dist/agents/DiffViewer.js.map +1 -1
  31. package/dist/agents/DirectoryModal.cjs +37 -15
  32. package/dist/agents/DirectoryModal.d.ts.map +1 -1
  33. package/dist/agents/DirectoryModal.js +37 -15
  34. package/dist/agents/DirectoryModal.js.map +1 -1
  35. package/dist/agents/DriveViewer.cjs +19 -4
  36. package/dist/agents/DriveViewer.d.ts.map +1 -1
  37. package/dist/agents/DriveViewer.js +20 -5
  38. package/dist/agents/DriveViewer.js.map +1 -1
  39. package/dist/agents/Feedback.cjs +10 -2
  40. package/dist/agents/Feedback.d.ts.map +1 -1
  41. package/dist/agents/Feedback.js +10 -2
  42. package/dist/agents/Feedback.js.map +1 -1
  43. package/dist/agents/FileTabs.cjs +17 -10
  44. package/dist/agents/FileTabs.d.ts.map +1 -1
  45. package/dist/agents/FileTabs.js +17 -10
  46. package/dist/agents/FileTabs.js.map +1 -1
  47. package/dist/agents/FileTree.cjs +9 -6
  48. package/dist/agents/FileTree.d.ts.map +1 -1
  49. package/dist/agents/FileTree.js +9 -6
  50. package/dist/agents/FileTree.js.map +1 -1
  51. package/dist/agents/LiveVoiceCall.cjs +66 -16
  52. package/dist/agents/LiveVoiceCall.d.ts.map +1 -1
  53. package/dist/agents/LiveVoiceCall.js +66 -16
  54. package/dist/agents/LiveVoiceCall.js.map +1 -1
  55. package/dist/agents/MCPHub.cjs +48 -3
  56. package/dist/agents/MCPHub.d.ts.map +1 -1
  57. package/dist/agents/MCPHub.js +48 -3
  58. package/dist/agents/MCPHub.js.map +1 -1
  59. package/dist/agents/Pane.cjs +15 -9
  60. package/dist/agents/Pane.d.ts +1 -1
  61. package/dist/agents/Pane.d.ts.map +1 -1
  62. package/dist/agents/Pane.js +15 -9
  63. package/dist/agents/Pane.js.map +1 -1
  64. package/dist/agents/PreviewFrame.cjs +6 -4
  65. package/dist/agents/PreviewFrame.d.ts.map +1 -1
  66. package/dist/agents/PreviewFrame.js +6 -4
  67. package/dist/agents/PreviewFrame.js.map +1 -1
  68. package/dist/agents/Progress.cjs +4 -2
  69. package/dist/agents/Progress.d.ts.map +1 -1
  70. package/dist/agents/Progress.js +4 -2
  71. package/dist/agents/Progress.js.map +1 -1
  72. package/dist/agents/Screen.cjs +18 -10
  73. package/dist/agents/Screen.d.ts.map +1 -1
  74. package/dist/agents/Screen.js +18 -10
  75. package/dist/agents/Screen.js.map +1 -1
  76. package/dist/agents/ShortcutsSheet.cjs +66 -11
  77. package/dist/agents/ShortcutsSheet.d.ts.map +1 -1
  78. package/dist/agents/ShortcutsSheet.js +66 -11
  79. package/dist/agents/ShortcutsSheet.js.map +1 -1
  80. package/dist/agents/Steer.cjs +7 -4
  81. package/dist/agents/Steer.d.ts.map +1 -1
  82. package/dist/agents/Steer.js +7 -4
  83. package/dist/agents/Steer.js.map +1 -1
  84. package/dist/agents/Suggestions.cjs +5 -2
  85. package/dist/agents/Suggestions.d.ts +1 -1
  86. package/dist/agents/Suggestions.d.ts.map +1 -1
  87. package/dist/agents/Suggestions.js +5 -2
  88. package/dist/agents/Suggestions.js.map +1 -1
  89. package/dist/agents/SwarmBar.cjs +9 -2
  90. package/dist/agents/SwarmBar.d.ts.map +1 -1
  91. package/dist/agents/SwarmBar.js +9 -2
  92. package/dist/agents/SwarmBar.js.map +1 -1
  93. package/dist/agents/TerminalViewer.cjs +74 -6
  94. package/dist/agents/TerminalViewer.d.ts.map +1 -1
  95. package/dist/agents/TerminalViewer.js +74 -6
  96. package/dist/agents/TerminalViewer.js.map +1 -1
  97. package/dist/agents/Transcript.cjs +3 -1
  98. package/dist/agents/Transcript.d.ts.map +1 -1
  99. package/dist/agents/Transcript.js +3 -1
  100. package/dist/agents/Transcript.js.map +1 -1
  101. package/dist/agents/Workspace.cjs +15 -10
  102. package/dist/agents/Workspace.d.ts.map +1 -1
  103. package/dist/agents/Workspace.js +15 -10
  104. package/dist/agents/Workspace.js.map +1 -1
  105. package/dist/auth/SignIn.cjs +17 -8
  106. package/dist/auth/SignIn.d.ts.map +1 -1
  107. package/dist/auth/SignIn.js +15 -6
  108. package/dist/auth/SignIn.js.map +1 -1
  109. package/dist/backdrop/scene.cjs +4 -28
  110. package/dist/backdrop/scene.d.ts +2 -1
  111. package/dist/backdrop/scene.d.ts.map +1 -1
  112. package/dist/backdrop/scene.js +4 -28
  113. package/dist/backdrop/scene.js.map +1 -1
  114. package/dist/backends/gui/advanced-chart.cjs +3 -1
  115. package/dist/backends/gui/advanced-chart.d.ts.map +1 -1
  116. package/dist/backends/gui/advanced-chart.js +3 -1
  117. package/dist/backends/gui/advanced-chart.js.map +1 -1
  118. package/dist/backends/gui/alert.cjs +4 -2
  119. package/dist/backends/gui/alert.d.ts.map +1 -1
  120. package/dist/backends/gui/alert.js +4 -2
  121. package/dist/backends/gui/alert.js.map +1 -1
  122. package/dist/backends/gui/animated-testimonials.cjs +3 -1
  123. package/dist/backends/gui/animated-testimonials.d.ts.map +1 -1
  124. package/dist/backends/gui/animated-testimonials.js +3 -1
  125. package/dist/backends/gui/animated-testimonials.js.map +1 -1
  126. package/dist/backends/gui/announcement.cjs +4 -2
  127. package/dist/backends/gui/announcement.d.ts +0 -13
  128. package/dist/backends/gui/announcement.d.ts.map +1 -1
  129. package/dist/backends/gui/announcement.js +4 -2
  130. package/dist/backends/gui/announcement.js.map +1 -1
  131. package/dist/backends/gui/apple-cards-carousel.cjs +31 -12
  132. package/dist/backends/gui/apple-cards-carousel.d.ts +1 -1
  133. package/dist/backends/gui/apple-cards-carousel.d.ts.map +1 -1
  134. package/dist/backends/gui/apple-cards-carousel.js +31 -12
  135. package/dist/backends/gui/apple-cards-carousel.js.map +1 -1
  136. package/dist/backends/gui/apple-hello-effect.cjs +5 -2
  137. package/dist/backends/gui/apple-hello-effect.d.ts.map +1 -1
  138. package/dist/backends/gui/apple-hello-effect.js +5 -2
  139. package/dist/backends/gui/apple-hello-effect.js.map +1 -1
  140. package/dist/backends/gui/banner.cjs +7 -4
  141. package/dist/backends/gui/banner.d.ts +0 -30
  142. package/dist/backends/gui/banner.d.ts.map +1 -1
  143. package/dist/backends/gui/banner.js +7 -4
  144. package/dist/backends/gui/banner.js.map +1 -1
  145. package/dist/backends/gui/breadcrumb.cjs +5 -1
  146. package/dist/backends/gui/breadcrumb.d.ts +1 -1
  147. package/dist/backends/gui/breadcrumb.d.ts.map +1 -1
  148. package/dist/backends/gui/breadcrumb.js +5 -1
  149. package/dist/backends/gui/breadcrumb.js.map +1 -1
  150. package/dist/backends/gui/calendar.cjs +10 -21
  151. package/dist/backends/gui/calendar.d.ts.map +1 -1
  152. package/dist/backends/gui/calendar.js +10 -21
  153. package/dist/backends/gui/calendar.js.map +1 -1
  154. package/dist/backends/gui/carousel.cjs +25 -7
  155. package/dist/backends/gui/carousel.d.ts.map +1 -1
  156. package/dist/backends/gui/carousel.js +25 -7
  157. package/dist/backends/gui/carousel.js.map +1 -1
  158. package/dist/backends/gui/code-block.cjs +37 -16
  159. package/dist/backends/gui/code-block.d.ts.map +1 -1
  160. package/dist/backends/gui/code-block.js +37 -16
  161. package/dist/backends/gui/code-block.js.map +1 -1
  162. package/dist/backends/gui/code-editor.cjs +92 -75
  163. package/dist/backends/gui/code-editor.d.ts +2 -2
  164. package/dist/backends/gui/code-editor.d.ts.map +1 -1
  165. package/dist/backends/gui/code-editor.js +94 -77
  166. package/dist/backends/gui/code-editor.js.map +1 -1
  167. package/dist/backends/gui/code-tabs.cjs +3 -1
  168. package/dist/backends/gui/code-tabs.d.ts.map +1 -1
  169. package/dist/backends/gui/code-tabs.js +3 -1
  170. package/dist/backends/gui/code-tabs.js.map +1 -1
  171. package/dist/backends/gui/combobox.cjs +7 -4
  172. package/dist/backends/gui/combobox.d.ts.map +1 -1
  173. package/dist/backends/gui/combobox.js +7 -4
  174. package/dist/backends/gui/combobox.js.map +1 -1
  175. package/dist/backends/gui/command.cjs +6 -2
  176. package/dist/backends/gui/command.d.ts.map +1 -1
  177. package/dist/backends/gui/command.js +6 -2
  178. package/dist/backends/gui/command.js.map +1 -1
  179. package/dist/backends/gui/company-profile.cjs +3 -1
  180. package/dist/backends/gui/company-profile.d.ts.map +1 -1
  181. package/dist/backends/gui/company-profile.js +3 -1
  182. package/dist/backends/gui/company-profile.js.map +1 -1
  183. package/dist/backends/gui/country-select.cjs +4 -1
  184. package/dist/backends/gui/country-select.d.ts +1 -1
  185. package/dist/backends/gui/country-select.d.ts.map +1 -1
  186. package/dist/backends/gui/country-select.js +4 -1
  187. package/dist/backends/gui/country-select.js.map +1 -1
  188. package/dist/backends/gui/credit-card.cjs +4 -2
  189. package/dist/backends/gui/credit-card.d.ts.map +1 -1
  190. package/dist/backends/gui/credit-card.js +4 -2
  191. package/dist/backends/gui/credit-card.js.map +1 -1
  192. package/dist/backends/gui/crypto-market.cjs +5 -3
  193. package/dist/backends/gui/crypto-market.d.ts.map +1 -1
  194. package/dist/backends/gui/crypto-market.js +5 -3
  195. package/dist/backends/gui/crypto-market.js.map +1 -1
  196. package/dist/backends/gui/crypto-screener.cjs +3 -1
  197. package/dist/backends/gui/crypto-screener.d.ts.map +1 -1
  198. package/dist/backends/gui/crypto-screener.js +3 -1
  199. package/dist/backends/gui/crypto-screener.js.map +1 -1
  200. package/dist/backends/gui/currency-picker.cjs +6 -3
  201. package/dist/backends/gui/currency-picker.d.ts +1 -1
  202. package/dist/backends/gui/currency-picker.d.ts.map +1 -1
  203. package/dist/backends/gui/currency-picker.js +6 -3
  204. package/dist/backends/gui/currency-picker.js.map +1 -1
  205. package/dist/backends/gui/data-table.cjs +46 -17
  206. package/dist/backends/gui/data-table.d.ts.map +1 -1
  207. package/dist/backends/gui/data-table.js +47 -18
  208. package/dist/backends/gui/data-table.js.map +1 -1
  209. package/dist/backends/gui/date-picker.cjs +8 -17
  210. package/dist/backends/gui/date-picker.d.ts.map +1 -1
  211. package/dist/backends/gui/date-picker.js +8 -17
  212. package/dist/backends/gui/date-picker.js.map +1 -1
  213. package/dist/backends/gui/desktop-spotlight.cjs +7 -3
  214. package/dist/backends/gui/desktop-spotlight.d.ts +1 -1
  215. package/dist/backends/gui/desktop-spotlight.d.ts.map +1 -1
  216. package/dist/backends/gui/desktop-spotlight.js +7 -3
  217. package/dist/backends/gui/desktop-spotlight.js.map +1 -1
  218. package/dist/backends/gui/desktop-window.cjs +7 -5
  219. package/dist/backends/gui/desktop-window.d.ts +1 -1
  220. package/dist/backends/gui/desktop-window.d.ts.map +1 -1
  221. package/dist/backends/gui/desktop-window.js +7 -5
  222. package/dist/backends/gui/desktop-window.js.map +1 -1
  223. package/dist/backends/gui/dialog-stack.cjs +4 -2
  224. package/dist/backends/gui/dialog-stack.d.ts +1 -1
  225. package/dist/backends/gui/dialog-stack.d.ts.map +1 -1
  226. package/dist/backends/gui/dialog-stack.js +4 -2
  227. package/dist/backends/gui/dialog-stack.js.map +1 -1
  228. package/dist/backends/gui/dialog.cjs +18 -7
  229. package/dist/backends/gui/dialog.d.ts +2 -2
  230. package/dist/backends/gui/dialog.d.ts.map +1 -1
  231. package/dist/backends/gui/dialog.js +19 -8
  232. package/dist/backends/gui/dialog.js.map +1 -1
  233. package/dist/backends/gui/drawer.cjs +12 -7
  234. package/dist/backends/gui/drawer.d.ts +1 -1
  235. package/dist/backends/gui/drawer.d.ts.map +1 -1
  236. package/dist/backends/gui/drawer.js +12 -7
  237. package/dist/backends/gui/drawer.js.map +1 -1
  238. package/dist/backends/gui/dropdown-menu.cjs +84 -59
  239. package/dist/backends/gui/dropdown-menu.d.ts +13 -13
  240. package/dist/backends/gui/dropdown-menu.d.ts.map +1 -1
  241. package/dist/backends/gui/dropdown-menu.js +87 -62
  242. package/dist/backends/gui/dropdown-menu.js.map +1 -1
  243. package/dist/backends/gui/dropzone.cjs +6 -4
  244. package/dist/backends/gui/dropzone.d.ts.map +1 -1
  245. package/dist/backends/gui/dropzone.js +6 -4
  246. package/dist/backends/gui/dropzone.js.map +1 -1
  247. package/dist/backends/gui/editor.cjs +4 -2
  248. package/dist/backends/gui/editor.d.ts.map +1 -1
  249. package/dist/backends/gui/editor.js +4 -2
  250. package/dist/backends/gui/editor.js.map +1 -1
  251. package/dist/backends/gui/financials.cjs +3 -1
  252. package/dist/backends/gui/financials.d.ts.map +1 -1
  253. package/dist/backends/gui/financials.js +3 -1
  254. package/dist/backends/gui/financials.js.map +1 -1
  255. package/dist/backends/gui/forex-screener.cjs +3 -1
  256. package/dist/backends/gui/forex-screener.d.ts.map +1 -1
  257. package/dist/backends/gui/forex-screener.js +3 -1
  258. package/dist/backends/gui/forex-screener.js.map +1 -1
  259. package/dist/backends/gui/gantt.cjs +16 -2
  260. package/dist/backends/gui/gantt.d.ts.map +1 -1
  261. package/dist/backends/gui/gantt.js +16 -2
  262. package/dist/backends/gui/gantt.js.map +1 -1
  263. package/dist/backends/gui/icon-picker.cjs +7 -3
  264. package/dist/backends/gui/icon-picker.d.ts +1 -1
  265. package/dist/backends/gui/icon-picker.d.ts.map +1 -1
  266. package/dist/backends/gui/icon-picker.js +7 -3
  267. package/dist/backends/gui/icon-picker.js.map +1 -1
  268. package/dist/backends/gui/image-crop.cjs +5 -3
  269. package/dist/backends/gui/image-crop.d.ts.map +1 -1
  270. package/dist/backends/gui/image-crop.js +5 -3
  271. package/dist/backends/gui/image-crop.js.map +1 -1
  272. package/dist/backends/gui/image-input.cjs +7 -3
  273. package/dist/backends/gui/image-input.d.ts +1 -1
  274. package/dist/backends/gui/image-input.d.ts.map +1 -1
  275. package/dist/backends/gui/image-input.js +7 -3
  276. package/dist/backends/gui/image-input.js.map +1 -1
  277. package/dist/backends/gui/input.cjs +10 -5
  278. package/dist/backends/gui/input.d.ts +1 -1
  279. package/dist/backends/gui/input.d.ts.map +1 -1
  280. package/dist/backends/gui/input.js +10 -5
  281. package/dist/backends/gui/input.js.map +1 -1
  282. package/dist/backends/gui/json-tree.cjs +51 -24
  283. package/dist/backends/gui/json-tree.d.ts +1 -1
  284. package/dist/backends/gui/json-tree.d.ts.map +1 -1
  285. package/dist/backends/gui/json-tree.js +51 -24
  286. package/dist/backends/gui/json-tree.js.map +1 -1
  287. package/dist/backends/gui/kanban.cjs +65 -15
  288. package/dist/backends/gui/kanban.d.ts.map +1 -1
  289. package/dist/backends/gui/kanban.js +67 -17
  290. package/dist/backends/gui/kanban.js.map +1 -1
  291. package/dist/backends/gui/limelight-nav.cjs +3 -1
  292. package/dist/backends/gui/limelight-nav.d.ts.map +1 -1
  293. package/dist/backends/gui/limelight-nav.js +3 -1
  294. package/dist/backends/gui/limelight-nav.js.map +1 -1
  295. package/dist/backends/gui/message-dock.cjs +5 -3
  296. package/dist/backends/gui/message-dock.d.ts.map +1 -1
  297. package/dist/backends/gui/message-dock.js +6 -4
  298. package/dist/backends/gui/message-dock.js.map +1 -1
  299. package/dist/backends/gui/nav-items.cjs +8 -4
  300. package/dist/backends/gui/nav-items.d.ts.map +1 -1
  301. package/dist/backends/gui/nav-items.js +8 -4
  302. package/dist/backends/gui/nav-items.js.map +1 -1
  303. package/dist/backends/gui/navigation-bar.cjs +16 -5
  304. package/dist/backends/gui/navigation-bar.d.ts.map +1 -1
  305. package/dist/backends/gui/navigation-bar.js +16 -5
  306. package/dist/backends/gui/navigation-bar.js.map +1 -1
  307. package/dist/backends/gui/navigation-menu.cjs +17 -5
  308. package/dist/backends/gui/navigation-menu.d.ts.map +1 -1
  309. package/dist/backends/gui/navigation-menu.js +17 -5
  310. package/dist/backends/gui/navigation-menu.js.map +1 -1
  311. package/dist/backends/gui/news-timeline.cjs +3 -1
  312. package/dist/backends/gui/news-timeline.d.ts.map +1 -1
  313. package/dist/backends/gui/news-timeline.js +3 -1
  314. package/dist/backends/gui/news-timeline.js.map +1 -1
  315. package/dist/backends/gui/number-field.cjs +24 -5
  316. package/dist/backends/gui/number-field.d.ts.map +1 -1
  317. package/dist/backends/gui/number-field.js +24 -5
  318. package/dist/backends/gui/number-field.js.map +1 -1
  319. package/dist/backends/gui/order-entry.cjs +3 -1
  320. package/dist/backends/gui/order-entry.d.ts.map +1 -1
  321. package/dist/backends/gui/order-entry.js +3 -1
  322. package/dist/backends/gui/order-entry.js.map +1 -1
  323. package/dist/backends/gui/orders-history.cjs +23 -5
  324. package/dist/backends/gui/orders-history.d.ts.map +1 -1
  325. package/dist/backends/gui/orders-history.js +23 -5
  326. package/dist/backends/gui/orders-history.js.map +1 -1
  327. package/dist/backends/gui/overflowing-list.cjs +4 -2
  328. package/dist/backends/gui/overflowing-list.d.ts.map +1 -1
  329. package/dist/backends/gui/overflowing-list.js +4 -2
  330. package/dist/backends/gui/overflowing-list.js.map +1 -1
  331. package/dist/backends/gui/pagination.cjs +32 -7
  332. package/dist/backends/gui/pagination.d.ts +0 -12
  333. package/dist/backends/gui/pagination.d.ts.map +1 -1
  334. package/dist/backends/gui/pagination.js +32 -7
  335. package/dist/backends/gui/pagination.js.map +1 -1
  336. package/dist/backends/gui/phone-country-picker.cjs +6 -3
  337. package/dist/backends/gui/phone-country-picker.d.ts +1 -1
  338. package/dist/backends/gui/phone-country-picker.d.ts.map +1 -1
  339. package/dist/backends/gui/phone-country-picker.js +6 -3
  340. package/dist/backends/gui/phone-country-picker.js.map +1 -1
  341. package/dist/backends/gui/pill.cjs +4 -2
  342. package/dist/backends/gui/pill.d.ts.map +1 -1
  343. package/dist/backends/gui/pill.js +5 -3
  344. package/dist/backends/gui/pill.js.map +1 -1
  345. package/dist/backends/gui/pin-list.cjs +3 -1
  346. package/dist/backends/gui/pin-list.d.ts.map +1 -1
  347. package/dist/backends/gui/pin-list.js +3 -1
  348. package/dist/backends/gui/pin-list.js.map +1 -1
  349. package/dist/backends/gui/positions-list.cjs +7 -4
  350. package/dist/backends/gui/positions-list.d.ts.map +1 -1
  351. package/dist/backends/gui/positions-list.js +7 -4
  352. package/dist/backends/gui/positions-list.js.map +1 -1
  353. package/dist/backends/gui/relative-time.cjs +51 -43
  354. package/dist/backends/gui/relative-time.d.ts +7 -0
  355. package/dist/backends/gui/relative-time.d.ts.map +1 -1
  356. package/dist/backends/gui/relative-time.js +51 -43
  357. package/dist/backends/gui/relative-time.js.map +1 -1
  358. package/dist/backends/gui/safari.cjs +7 -4
  359. package/dist/backends/gui/safari.d.ts.map +1 -1
  360. package/dist/backends/gui/safari.js +7 -4
  361. package/dist/backends/gui/safari.js.map +1 -1
  362. package/dist/backends/gui/search-list.cjs +5 -2
  363. package/dist/backends/gui/search-list.d.ts.map +1 -1
  364. package/dist/backends/gui/search-list.js +5 -2
  365. package/dist/backends/gui/search-list.js.map +1 -1
  366. package/dist/backends/gui/select.cjs +8 -2
  367. package/dist/backends/gui/select.d.ts +7 -0
  368. package/dist/backends/gui/select.d.ts.map +1 -1
  369. package/dist/backends/gui/select.js +8 -2
  370. package/dist/backends/gui/select.js.map +1 -1
  371. package/dist/backends/gui/shortcut.cjs +4 -1
  372. package/dist/backends/gui/shortcut.d.ts +1 -1
  373. package/dist/backends/gui/shortcut.d.ts.map +1 -1
  374. package/dist/backends/gui/shortcut.js +4 -1
  375. package/dist/backends/gui/shortcut.js.map +1 -1
  376. package/dist/backends/gui/snippet.cjs +37 -15
  377. package/dist/backends/gui/snippet.d.ts.map +1 -1
  378. package/dist/backends/gui/snippet.js +37 -15
  379. package/dist/backends/gui/snippet.js.map +1 -1
  380. package/dist/backends/gui/stars-scrolling-wheel.cjs +4 -1
  381. package/dist/backends/gui/stars-scrolling-wheel.d.ts +1 -1
  382. package/dist/backends/gui/stars-scrolling-wheel.d.ts.map +1 -1
  383. package/dist/backends/gui/stars-scrolling-wheel.js +4 -1
  384. package/dist/backends/gui/stars-scrolling-wheel.js.map +1 -1
  385. package/dist/backends/gui/stepper.cjs +4 -2
  386. package/dist/backends/gui/stepper.d.ts.map +1 -1
  387. package/dist/backends/gui/stepper.js +4 -2
  388. package/dist/backends/gui/stepper.js.map +1 -1
  389. package/dist/backends/gui/stock-screener.cjs +3 -1
  390. package/dist/backends/gui/stock-screener.d.ts.map +1 -1
  391. package/dist/backends/gui/stock-screener.js +3 -1
  392. package/dist/backends/gui/stock-screener.js.map +1 -1
  393. package/dist/backends/gui/symbol-info.cjs +3 -1
  394. package/dist/backends/gui/symbol-info.d.ts.map +1 -1
  395. package/dist/backends/gui/symbol-info.js +3 -1
  396. package/dist/backends/gui/symbol-info.js.map +1 -1
  397. package/dist/backends/gui/tags.cjs +3 -1
  398. package/dist/backends/gui/tags.d.ts.map +1 -1
  399. package/dist/backends/gui/tags.js +3 -1
  400. package/dist/backends/gui/tags.js.map +1 -1
  401. package/dist/backends/gui/technical-analysis.cjs +3 -1
  402. package/dist/backends/gui/technical-analysis.d.ts.map +1 -1
  403. package/dist/backends/gui/technical-analysis.js +3 -1
  404. package/dist/backends/gui/technical-analysis.js.map +1 -1
  405. package/dist/backends/gui/terminal.cjs +16 -7
  406. package/dist/backends/gui/terminal.d.ts.map +1 -1
  407. package/dist/backends/gui/terminal.js +17 -8
  408. package/dist/backends/gui/terminal.js.map +1 -1
  409. package/dist/backends/gui/toaster.cjs +19 -6
  410. package/dist/backends/gui/toaster.d.ts.map +1 -1
  411. package/dist/backends/gui/toaster.js +20 -7
  412. package/dist/backends/gui/toaster.js.map +1 -1
  413. package/dist/backends/gui/video-player.cjs +6 -14
  414. package/dist/backends/gui/video-player.d.ts.map +1 -1
  415. package/dist/backends/gui/video-player.js +6 -14
  416. package/dist/backends/gui/video-player.js.map +1 -1
  417. package/dist/backends/gui/video.cjs +4 -2
  418. package/dist/backends/gui/video.d.ts.map +1 -1
  419. package/dist/backends/gui/video.js +4 -2
  420. package/dist/backends/gui/video.js.map +1 -1
  421. package/dist/catalog/Shelf.cjs +6 -3
  422. package/dist/catalog/Shelf.d.ts.map +1 -1
  423. package/dist/catalog/Shelf.js +6 -3
  424. package/dist/catalog/Shelf.js.map +1 -1
  425. package/dist/catalog/Tile.cjs +4 -1
  426. package/dist/catalog/Tile.d.ts +1 -1
  427. package/dist/catalog/Tile.d.ts.map +1 -1
  428. package/dist/catalog/Tile.js +4 -1
  429. package/dist/catalog/Tile.js.map +1 -1
  430. package/dist/chat/Chat.cjs +6 -4
  431. package/dist/chat/Chat.d.ts.map +1 -1
  432. package/dist/chat/Chat.js +3 -1
  433. package/dist/chat/Chat.js.map +1 -1
  434. package/dist/chat/Composer.cjs +19 -15
  435. package/dist/chat/Composer.d.ts +2 -2
  436. package/dist/chat/Composer.d.ts.map +1 -1
  437. package/dist/chat/Composer.js +10 -6
  438. package/dist/chat/Composer.js.map +1 -1
  439. package/dist/chat/Dial.cjs +110 -0
  440. package/dist/chat/Dial.d.ts +13 -0
  441. package/dist/chat/Dial.d.ts.map +1 -0
  442. package/dist/chat/Dial.js +108 -0
  443. package/dist/chat/Dial.js.map +1 -0
  444. package/dist/chat/Dictation.cjs +22 -15
  445. package/dist/chat/Dictation.d.ts.map +1 -1
  446. package/dist/chat/Dictation.js +13 -6
  447. package/dist/chat/Dictation.js.map +1 -1
  448. package/dist/chat/EmptyPrompt.cjs +7 -4
  449. package/dist/chat/EmptyPrompt.d.ts +2 -2
  450. package/dist/chat/EmptyPrompt.d.ts.map +1 -1
  451. package/dist/chat/EmptyPrompt.js +7 -4
  452. package/dist/chat/EmptyPrompt.js.map +1 -1
  453. package/dist/chat/Failure.cjs +4 -13
  454. package/dist/chat/Failure.d.ts +2 -1
  455. package/dist/chat/Failure.d.ts.map +1 -1
  456. package/dist/chat/Failure.js +4 -13
  457. package/dist/chat/Failure.js.map +1 -1
  458. package/dist/chat/Families.cjs +14 -7
  459. package/dist/chat/Families.d.ts.map +1 -1
  460. package/dist/chat/Families.js +11 -4
  461. package/dist/chat/Families.js.map +1 -1
  462. package/dist/chat/Header.cjs +9 -5
  463. package/dist/chat/Header.d.ts +2 -0
  464. package/dist/chat/Header.d.ts.map +1 -1
  465. package/dist/chat/Header.js +9 -5
  466. package/dist/chat/Header.js.map +1 -1
  467. package/dist/chat/Home.cjs +4 -2
  468. package/dist/chat/Home.d.ts.map +1 -1
  469. package/dist/chat/Home.js +4 -2
  470. package/dist/chat/Home.js.map +1 -1
  471. package/dist/chat/Inspector.cjs +4 -2
  472. package/dist/chat/Inspector.d.ts +0 -24
  473. package/dist/chat/Inspector.d.ts.map +1 -1
  474. package/dist/chat/Inspector.js +4 -2
  475. package/dist/chat/Inspector.js.map +1 -1
  476. package/dist/chat/Mention.cjs +13 -2
  477. package/dist/chat/Mention.d.ts.map +1 -1
  478. package/dist/chat/Mention.js +13 -2
  479. package/dist/chat/Mention.js.map +1 -1
  480. package/dist/chat/Plus.cjs +46 -31
  481. package/dist/chat/Plus.d.ts +12 -0
  482. package/dist/chat/Plus.d.ts.map +1 -1
  483. package/dist/chat/Plus.js +47 -32
  484. package/dist/chat/Plus.js.map +1 -1
  485. package/dist/chat/Preview.cjs +3 -1
  486. package/dist/chat/Preview.d.ts.map +1 -1
  487. package/dist/chat/Preview.js +3 -1
  488. package/dist/chat/Preview.js.map +1 -1
  489. package/dist/chat/SessionRail.cjs +34 -18
  490. package/dist/chat/SessionRail.d.ts +2 -2
  491. package/dist/chat/SessionRail.d.ts.map +1 -1
  492. package/dist/chat/SessionRail.js +25 -9
  493. package/dist/chat/SessionRail.js.map +1 -1
  494. package/dist/chat/Sidebar.cjs +10 -6
  495. package/dist/chat/Sidebar.d.ts +1 -0
  496. package/dist/chat/Sidebar.d.ts.map +1 -1
  497. package/dist/chat/Sidebar.js +8 -4
  498. package/dist/chat/Sidebar.js.map +1 -1
  499. package/dist/chat/Sources.cjs +4 -2
  500. package/dist/chat/Sources.d.ts.map +1 -1
  501. package/dist/chat/Sources.js +4 -2
  502. package/dist/chat/Sources.js.map +1 -1
  503. package/dist/chat/Tune.cjs +5 -1
  504. package/dist/chat/Tune.d.ts +11 -1
  505. package/dist/chat/Tune.d.ts.map +1 -1
  506. package/dist/chat/Tune.js +5 -1
  507. package/dist/chat/Tune.js.map +1 -1
  508. package/dist/chat/ways.cjs +7 -2
  509. package/dist/chat/ways.d.ts +7 -2
  510. package/dist/chat/ways.d.ts.map +1 -1
  511. package/dist/chat/ways.js +7 -2
  512. package/dist/chat/ways.js.map +1 -1
  513. package/dist/consent/Consent.cjs +65 -31
  514. package/dist/consent/Consent.d.ts.map +1 -1
  515. package/dist/consent/Consent.js +65 -31
  516. package/dist/consent/Consent.js.map +1 -1
  517. package/dist/core/english.cjs +4 -0
  518. package/dist/core/english.d.ts +18 -0
  519. package/dist/core/english.d.ts.map +1 -0
  520. package/dist/core/english.js +2 -0
  521. package/dist/core/english.js.map +1 -0
  522. package/dist/corner/Corner.cjs +35 -27
  523. package/dist/corner/Corner.d.ts +5 -2
  524. package/dist/corner/Corner.d.ts.map +1 -1
  525. package/dist/corner/Corner.js +17 -9
  526. package/dist/corner/Corner.js.map +1 -1
  527. package/dist/corner/index.cjs +2 -2
  528. package/dist/corner/index.d.ts +1 -1
  529. package/dist/corner/index.d.ts.map +1 -1
  530. package/dist/corner/index.js +1 -1
  531. package/dist/corner/index.js.map +1 -1
  532. package/dist/corner/logic.cjs +31 -27
  533. package/dist/corner/logic.d.ts +9 -7
  534. package/dist/corner/logic.d.ts.map +1 -1
  535. package/dist/corner/logic.js +27 -23
  536. package/dist/corner/logic.js.map +1 -1
  537. package/dist/framework/CollectionBuilder.cjs +7 -5
  538. package/dist/framework/CollectionBuilder.d.ts.map +1 -1
  539. package/dist/framework/CollectionBuilder.js +7 -5
  540. package/dist/framework/CollectionBuilder.js.map +1 -1
  541. package/dist/framework/CollectionsBrowser.cjs +10 -8
  542. package/dist/framework/CollectionsBrowser.d.ts.map +1 -1
  543. package/dist/framework/CollectionsBrowser.js +10 -8
  544. package/dist/framework/CollectionsBrowser.js.map +1 -1
  545. package/dist/framework/DocTypeDetail.cjs +9 -7
  546. package/dist/framework/DocTypeDetail.d.ts.map +1 -1
  547. package/dist/framework/DocTypeDetail.js +9 -7
  548. package/dist/framework/DocTypeDetail.js.map +1 -1
  549. package/dist/framework/DocTypeRecords.cjs +4 -2
  550. package/dist/framework/DocTypeRecords.d.ts.map +1 -1
  551. package/dist/framework/DocTypeRecords.js +4 -2
  552. package/dist/framework/DocTypeRecords.js.map +1 -1
  553. package/dist/framework/MediaGrid.cjs +12 -5
  554. package/dist/framework/MediaGrid.d.ts.map +1 -1
  555. package/dist/framework/MediaGrid.js +12 -5
  556. package/dist/framework/MediaGrid.js.map +1 -1
  557. package/dist/framework/RecordCards.cjs +17 -13
  558. package/dist/framework/RecordCards.d.ts +1 -1
  559. package/dist/framework/RecordCards.d.ts.map +1 -1
  560. package/dist/framework/RecordCards.js +17 -13
  561. package/dist/framework/RecordCards.js.map +1 -1
  562. package/dist/framework/builder-logic.cjs +41 -26
  563. package/dist/framework/builder-logic.d.ts +8 -16
  564. package/dist/framework/builder-logic.d.ts.map +1 -1
  565. package/dist/framework/builder-logic.js +41 -26
  566. package/dist/framework/builder-logic.js.map +1 -1
  567. package/dist/framework/fields.cjs +3 -2
  568. package/dist/framework/fields.d.ts +2 -1
  569. package/dist/framework/fields.d.ts.map +1 -1
  570. package/dist/framework/fields.js +3 -2
  571. package/dist/framework/fields.js.map +1 -1
  572. package/dist/gallery.html +12 -61
  573. package/dist/glass.css +10 -59
  574. package/dist/i18n/catalogs/ar.json +261 -0
  575. package/dist/i18n/catalogs/de-DE.json +261 -0
  576. package/dist/i18n/catalogs/es-ES.json +261 -0
  577. package/dist/i18n/catalogs/fr-FR.json +261 -0
  578. package/dist/i18n/catalogs/hi-IN.json +261 -0
  579. package/dist/i18n/catalogs/id-ID.json +261 -0
  580. package/dist/i18n/catalogs/it-IT.json +261 -0
  581. package/dist/i18n/catalogs/ja-JP.json +261 -0
  582. package/dist/i18n/catalogs/ko-KR.json +261 -0
  583. package/dist/i18n/catalogs/pt-BR.json +261 -0
  584. package/dist/i18n/catalogs/ru.json +261 -0
  585. package/dist/i18n/catalogs/th.json +261 -0
  586. package/dist/i18n/catalogs/tr.json +261 -0
  587. package/dist/i18n/catalogs/vi.json +261 -0
  588. package/dist/i18n/catalogs/zh-Hans.json +261 -0
  589. package/dist/i18n/catalogs/zh-Hant.json +261 -0
  590. package/dist/i18n/catalogs.cjs +44 -0
  591. package/dist/i18n/catalogs.d.ts +14 -0
  592. package/dist/i18n/catalogs.d.ts.map +1 -0
  593. package/dist/i18n/catalogs.js +38 -0
  594. package/dist/i18n/catalogs.js.map +1 -0
  595. package/dist/i18n/index.cjs +30 -0
  596. package/dist/i18n/index.d.ts +14 -0
  597. package/dist/i18n/index.d.ts.map +1 -0
  598. package/dist/i18n/index.js +14 -0
  599. package/dist/i18n/index.js.map +1 -0
  600. package/dist/i18n/locales.cjs +70 -0
  601. package/dist/i18n/locales.d.ts +17 -0
  602. package/dist/i18n/locales.d.ts.map +1 -0
  603. package/dist/i18n/locales.js +64 -0
  604. package/dist/i18n/locales.js.map +1 -0
  605. package/dist/i18n/provider.cjs +48 -0
  606. package/dist/i18n/provider.d.ts +31 -0
  607. package/dist/i18n/provider.d.ts.map +1 -0
  608. package/dist/i18n/provider.js +46 -0
  609. package/dist/i18n/provider.js.map +1 -0
  610. package/dist/i18n/react.cjs +81 -0
  611. package/dist/i18n/react.d.ts +48 -0
  612. package/dist/i18n/react.d.ts.map +1 -0
  613. package/dist/i18n/react.js +74 -0
  614. package/dist/i18n/react.js.map +1 -0
  615. package/dist/i18n/source.cjs +275 -0
  616. package/dist/i18n/source.d.ts +15 -0
  617. package/dist/i18n/source.d.ts.map +1 -0
  618. package/dist/i18n/source.js +273 -0
  619. package/dist/i18n/source.js.map +1 -0
  620. package/dist/index.cjs +10 -1
  621. package/dist/index.d.ts +9 -8
  622. package/dist/index.d.ts.map +1 -1
  623. package/dist/index.js +8 -7
  624. package/dist/index.js.map +1 -1
  625. package/dist/index.node.cjs +10 -1
  626. package/dist/index.node.js +8 -7
  627. package/dist/marketing/ClosingCta.cjs +7 -2
  628. package/dist/marketing/ClosingCta.d.ts +2 -1
  629. package/dist/marketing/ClosingCta.d.ts.map +1 -1
  630. package/dist/marketing/ClosingCta.js +7 -2
  631. package/dist/marketing/ClosingCta.js.map +1 -1
  632. package/dist/marketing/Faq.cjs +5 -1
  633. package/dist/marketing/Faq.d.ts +1 -0
  634. package/dist/marketing/Faq.d.ts.map +1 -1
  635. package/dist/marketing/Faq.js +5 -1
  636. package/dist/marketing/Faq.js.map +1 -1
  637. package/dist/marketing/Footer.cjs +66 -31
  638. package/dist/marketing/Footer.d.ts +16 -4
  639. package/dist/marketing/Footer.d.ts.map +1 -1
  640. package/dist/marketing/Footer.js +65 -31
  641. package/dist/marketing/Footer.js.map +1 -1
  642. package/dist/marketing/PageLoading.cjs +5 -1
  643. package/dist/marketing/PageLoading.d.ts +1 -1
  644. package/dist/marketing/PageLoading.d.ts.map +1 -1
  645. package/dist/marketing/PageLoading.js +5 -1
  646. package/dist/marketing/PageLoading.js.map +1 -1
  647. package/dist/marketing/Plans.cjs +26 -10
  648. package/dist/marketing/Plans.d.ts +2 -1
  649. package/dist/marketing/Plans.d.ts.map +1 -1
  650. package/dist/marketing/Plans.js +26 -10
  651. package/dist/marketing/Plans.js.map +1 -1
  652. package/dist/marketing/blocks.cjs +5 -1
  653. package/dist/marketing/blocks.d.ts.map +1 -1
  654. package/dist/marketing/blocks.js +5 -1
  655. package/dist/marketing/blocks.js.map +1 -1
  656. package/dist/marketing/index.cjs +3 -2
  657. package/dist/marketing/index.d.ts +1 -1
  658. package/dist/marketing/index.d.ts.map +1 -1
  659. package/dist/marketing/index.js +1 -1
  660. package/dist/marketing/index.js.map +1 -1
  661. package/dist/marketing/pager.cjs +9 -4
  662. package/dist/marketing/pager.d.ts +1 -1
  663. package/dist/marketing/pager.d.ts.map +1 -1
  664. package/dist/marketing/pager.js +9 -4
  665. package/dist/marketing/pager.js.map +1 -1
  666. package/dist/masthead/Masthead.cjs +108 -20
  667. package/dist/masthead/Masthead.d.ts +1 -1
  668. package/dist/masthead/Masthead.d.ts.map +1 -1
  669. package/dist/masthead/Masthead.js +109 -21
  670. package/dist/masthead/Masthead.js.map +1 -1
  671. package/dist/masthead/nav.cjs +275 -247
  672. package/dist/masthead/nav.d.ts +7 -0
  673. package/dist/masthead/nav.d.ts.map +1 -1
  674. package/dist/masthead/nav.js +274 -246
  675. package/dist/masthead/nav.js.map +1 -1
  676. package/dist/models/ModelPicker.cjs +22 -16
  677. package/dist/models/ModelPicker.d.ts +14 -2
  678. package/dist/models/ModelPicker.d.ts.map +1 -1
  679. package/dist/models/ModelPicker.js +11 -5
  680. package/dist/models/ModelPicker.js.map +1 -1
  681. package/dist/models/ModelPickerMenu.cjs +65 -25
  682. package/dist/models/ModelPickerMenu.d.ts +6 -0
  683. package/dist/models/ModelPickerMenu.d.ts.map +1 -1
  684. package/dist/models/ModelPickerMenu.js +68 -28
  685. package/dist/models/ModelPickerMenu.js.map +1 -1
  686. package/dist/models/catalog.cjs +109 -29
  687. package/dist/models/catalog.d.ts +37 -21
  688. package/dist/models/catalog.d.ts.map +1 -1
  689. package/dist/models/catalog.js +105 -28
  690. package/dist/models/catalog.js.map +1 -1
  691. package/dist/models/picker.logic.cjs +38 -6
  692. package/dist/models/picker.logic.d.ts +26 -5
  693. package/dist/models/picker.logic.d.ts.map +1 -1
  694. package/dist/models/picker.logic.js +37 -6
  695. package/dist/models/picker.logic.js.map +1 -1
  696. package/dist/models/research.cjs +8 -1
  697. package/dist/models/research.d.ts +0 -5
  698. package/dist/models/research.d.ts.map +1 -1
  699. package/dist/models/research.js +8 -1
  700. package/dist/models/research.js.map +1 -1
  701. package/dist/onboarding/ChatOnboarding.cjs +15 -10
  702. package/dist/onboarding/ChatOnboarding.d.ts +3 -1
  703. package/dist/onboarding/ChatOnboarding.d.ts.map +1 -1
  704. package/dist/onboarding/ChatOnboarding.js +15 -10
  705. package/dist/onboarding/ChatOnboarding.js.map +1 -1
  706. package/dist/onboarding/Checkout.cjs +115 -32
  707. package/dist/onboarding/Checkout.d.ts +3 -0
  708. package/dist/onboarding/Checkout.d.ts.map +1 -1
  709. package/dist/onboarding/Checkout.js +116 -33
  710. package/dist/onboarding/Checkout.js.map +1 -1
  711. package/dist/onboarding/Onboarding.cjs +11 -9
  712. package/dist/onboarding/Onboarding.d.ts.map +1 -1
  713. package/dist/onboarding/Onboarding.js +11 -9
  714. package/dist/onboarding/Onboarding.js.map +1 -1
  715. package/dist/onboarding/account.cjs +8 -2
  716. package/dist/onboarding/account.d.ts.map +1 -1
  717. package/dist/onboarding/account.js +8 -2
  718. package/dist/onboarding/account.js.map +1 -1
  719. package/dist/onboarding/api.cjs +8 -2
  720. package/dist/onboarding/api.d.ts +5 -0
  721. package/dist/onboarding/api.d.ts.map +1 -1
  722. package/dist/onboarding/api.js +8 -2
  723. package/dist/onboarding/api.js.map +1 -1
  724. package/dist/onboarding/frame.cjs +6 -3
  725. package/dist/onboarding/frame.d.ts.map +1 -1
  726. package/dist/onboarding/frame.js +6 -3
  727. package/dist/onboarding/frame.js.map +1 -1
  728. package/dist/onboarding/hooks.cjs +2 -1
  729. package/dist/onboarding/hooks.d.ts.map +1 -1
  730. package/dist/onboarding/hooks.js +2 -1
  731. package/dist/onboarding/hooks.js.map +1 -1
  732. package/dist/onboarding/roles.cjs +149 -144
  733. package/dist/onboarding/roles.d.ts +4 -5
  734. package/dist/onboarding/roles.d.ts.map +1 -1
  735. package/dist/onboarding/roles.js +149 -144
  736. package/dist/onboarding/roles.js.map +1 -1
  737. package/dist/onboarding/screens.cjs +35 -14
  738. package/dist/onboarding/screens.d.ts.map +1 -1
  739. package/dist/onboarding/screens.js +36 -15
  740. package/dist/onboarding/screens.js.map +1 -1
  741. package/dist/product/AppHeader.cjs +8 -6
  742. package/dist/product/AppHeader.d.ts +1 -1
  743. package/dist/product/AppHeader.d.ts.map +1 -1
  744. package/dist/product/AppHeader.js +8 -6
  745. package/dist/product/AppHeader.js.map +1 -1
  746. package/dist/product/BackendState.cjs +16 -13
  747. package/dist/product/BackendState.d.ts.map +1 -1
  748. package/dist/product/BackendState.js +16 -13
  749. package/dist/product/BackendState.js.map +1 -1
  750. package/dist/product/BranchSelect.cjs +13 -4
  751. package/dist/product/BranchSelect.d.ts.map +1 -1
  752. package/dist/product/BranchSelect.js +13 -4
  753. package/dist/product/BranchSelect.js.map +1 -1
  754. package/dist/product/ChipSelect.cjs +12 -7
  755. package/dist/product/ChipSelect.d.ts +1 -1
  756. package/dist/product/ChipSelect.d.ts.map +1 -1
  757. package/dist/product/ChipSelect.js +12 -7
  758. package/dist/product/ChipSelect.js.map +1 -1
  759. package/dist/product/ComboBox.cjs +13 -6
  760. package/dist/product/ComboBox.d.ts.map +1 -1
  761. package/dist/product/ComboBox.js +13 -6
  762. package/dist/product/ComboBox.js.map +1 -1
  763. package/dist/product/CommandMenu.cjs +27 -8
  764. package/dist/product/CommandMenu.d.ts +1 -1
  765. package/dist/product/CommandMenu.d.ts.map +1 -1
  766. package/dist/product/CommandMenu.js +27 -8
  767. package/dist/product/CommandMenu.js.map +1 -1
  768. package/dist/product/CommerceResource.cjs +3 -1
  769. package/dist/product/CommerceResource.d.ts.map +1 -1
  770. package/dist/product/CommerceResource.js +3 -1
  771. package/dist/product/CommerceResource.js.map +1 -1
  772. package/dist/product/ConfirmDelete.cjs +5 -3
  773. package/dist/product/ConfirmDelete.d.ts.map +1 -1
  774. package/dist/product/ConfirmDelete.js +5 -3
  775. package/dist/product/ConfirmDelete.js.map +1 -1
  776. package/dist/product/ConnectionBadge.cjs +3 -1
  777. package/dist/product/ConnectionBadge.d.ts.map +1 -1
  778. package/dist/product/ConnectionBadge.js +3 -1
  779. package/dist/product/ConnectionBadge.js.map +1 -1
  780. package/dist/product/CopyButton.cjs +4 -2
  781. package/dist/product/CopyButton.d.ts.map +1 -1
  782. package/dist/product/CopyButton.js +4 -2
  783. package/dist/product/CopyButton.js.map +1 -1
  784. package/dist/product/DataTable.cjs +5 -3
  785. package/dist/product/DataTable.d.ts.map +1 -1
  786. package/dist/product/DataTable.js +5 -3
  787. package/dist/product/DataTable.js.map +1 -1
  788. package/dist/product/DetailPane.cjs +21 -13
  789. package/dist/product/DetailPane.d.ts.map +1 -1
  790. package/dist/product/DetailPane.js +23 -15
  791. package/dist/product/DetailPane.js.map +1 -1
  792. package/dist/product/DialogTemplate.cjs +4 -2
  793. package/dist/product/DialogTemplate.d.ts.map +1 -1
  794. package/dist/product/DialogTemplate.js +4 -2
  795. package/dist/product/DialogTemplate.js.map +1 -1
  796. package/dist/product/Donut.cjs +4 -2
  797. package/dist/product/Donut.d.ts.map +1 -1
  798. package/dist/product/Donut.js +4 -2
  799. package/dist/product/Donut.js.map +1 -1
  800. package/dist/product/Field.cjs +4 -1
  801. package/dist/product/Field.d.ts +1 -1
  802. package/dist/product/Field.d.ts.map +1 -1
  803. package/dist/product/Field.js +4 -1
  804. package/dist/product/Field.js.map +1 -1
  805. package/dist/product/LimitedBanner.cjs +3 -1
  806. package/dist/product/LimitedBanner.d.ts.map +1 -1
  807. package/dist/product/LimitedBanner.js +3 -1
  808. package/dist/product/LimitedBanner.js.map +1 -1
  809. package/dist/product/MenuRow.cjs +2 -2
  810. package/dist/product/MenuRow.js +2 -2
  811. package/dist/product/MenuRow.js.map +1 -1
  812. package/dist/product/Metric.cjs +5 -2
  813. package/dist/product/Metric.d.ts.map +1 -1
  814. package/dist/product/Metric.js +5 -2
  815. package/dist/product/Metric.js.map +1 -1
  816. package/dist/product/OrgSwitcher.cjs +19 -9
  817. package/dist/product/OrgSwitcher.d.ts +1 -1
  818. package/dist/product/OrgSwitcher.d.ts.map +1 -1
  819. package/dist/product/OrgSwitcher.js +19 -9
  820. package/dist/product/OrgSwitcher.js.map +1 -1
  821. package/dist/product/Pagination.cjs +4 -2
  822. package/dist/product/Pagination.d.ts.map +1 -1
  823. package/dist/product/Pagination.js +4 -2
  824. package/dist/product/Pagination.js.map +1 -1
  825. package/dist/product/Palette.cjs +7 -2
  826. package/dist/product/Palette.d.ts +1 -1
  827. package/dist/product/Palette.d.ts.map +1 -1
  828. package/dist/product/Palette.js +8 -3
  829. package/dist/product/Palette.js.map +1 -1
  830. package/dist/product/PlanUsage.cjs +28 -15
  831. package/dist/product/PlanUsage.d.ts +4 -4
  832. package/dist/product/PlanUsage.d.ts.map +1 -1
  833. package/dist/product/PlanUsage.js +28 -15
  834. package/dist/product/PlanUsage.js.map +1 -1
  835. package/dist/product/ProjectThumb.cjs +3 -1
  836. package/dist/product/ProjectThumb.d.ts.map +1 -1
  837. package/dist/product/ProjectThumb.js +3 -1
  838. package/dist/product/ProjectThumb.js.map +1 -1
  839. package/dist/product/RepoSelect.cjs +7 -4
  840. package/dist/product/RepoSelect.d.ts +1 -1
  841. package/dist/product/RepoSelect.d.ts.map +1 -1
  842. package/dist/product/RepoSelect.js +7 -4
  843. package/dist/product/RepoSelect.js.map +1 -1
  844. package/dist/product/SecretInput.cjs +3 -1
  845. package/dist/product/SecretInput.d.ts.map +1 -1
  846. package/dist/product/SecretInput.js +3 -1
  847. package/dist/product/SecretInput.js.map +1 -1
  848. package/dist/product/SelectMenu.cjs +4 -1
  849. package/dist/product/SelectMenu.d.ts +1 -1
  850. package/dist/product/SelectMenu.d.ts.map +1 -1
  851. package/dist/product/SelectMenu.js +4 -1
  852. package/dist/product/SelectMenu.js.map +1 -1
  853. package/dist/product/SiteNav.cjs +9 -5
  854. package/dist/product/SiteNav.d.ts.map +1 -1
  855. package/dist/product/SiteNav.js +9 -5
  856. package/dist/product/SiteNav.js.map +1 -1
  857. package/dist/product/SlideOver.cjs +11 -11
  858. package/dist/product/SlideOver.d.ts +1 -1
  859. package/dist/product/SlideOver.d.ts.map +1 -1
  860. package/dist/product/SlideOver.js +11 -11
  861. package/dist/product/SlideOver.js.map +1 -1
  862. package/dist/product/StatusTag.cjs +4 -1
  863. package/dist/product/StatusTag.d.ts.map +1 -1
  864. package/dist/product/StatusTag.js +4 -1
  865. package/dist/product/StatusTag.js.map +1 -1
  866. package/dist/product/ThemeToggle.cjs +3 -1
  867. package/dist/product/ThemeToggle.d.ts.map +1 -1
  868. package/dist/product/ThemeToggle.js +3 -1
  869. package/dist/product/ThemeToggle.js.map +1 -1
  870. package/dist/product/Toast.cjs +25 -4
  871. package/dist/product/Toast.d.ts.map +1 -1
  872. package/dist/product/Toast.js +25 -4
  873. package/dist/product/Toast.js.map +1 -1
  874. package/dist/product/UsageMeter.cjs +10 -6
  875. package/dist/product/UsageMeter.d.ts.map +1 -1
  876. package/dist/product/UsageMeter.js +11 -7
  877. package/dist/product/UsageMeter.js.map +1 -1
  878. package/dist/product/UserMenu.cjs +5 -3
  879. package/dist/product/UserMenu.d.ts.map +1 -1
  880. package/dist/product/UserMenu.js +5 -3
  881. package/dist/product/UserMenu.js.map +1 -1
  882. package/dist/product/Workbench.cjs +5 -3
  883. package/dist/product/Workbench.d.ts.map +1 -1
  884. package/dist/product/Workbench.js +5 -3
  885. package/dist/product/Workbench.js.map +1 -1
  886. package/dist/product/account.cjs +4 -2
  887. package/dist/product/account.d.ts.map +1 -1
  888. package/dist/product/account.js +4 -2
  889. package/dist/product/account.js.map +1 -1
  890. package/dist/product/limits.cjs +61 -24
  891. package/dist/product/limits.d.ts +4 -3
  892. package/dist/product/limits.d.ts.map +1 -1
  893. package/dist/product/limits.js +61 -24
  894. package/dist/product/limits.js.map +1 -1
  895. package/dist/product/match.cjs +2 -1
  896. package/dist/product/match.d.ts +1 -1
  897. package/dist/product/match.d.ts.map +1 -1
  898. package/dist/product/match.js +2 -1
  899. package/dist/product/match.js.map +1 -1
  900. package/dist/product/social/CampaignCard.cjs +3 -1
  901. package/dist/product/social/CampaignCard.d.ts.map +1 -1
  902. package/dist/product/social/CampaignCard.js +3 -1
  903. package/dist/product/social/CampaignCard.js.map +1 -1
  904. package/dist/product/social/PostAgenda.cjs +3 -1
  905. package/dist/product/social/PostAgenda.d.ts.map +1 -1
  906. package/dist/product/social/PostAgenda.js +3 -1
  907. package/dist/product/social/PostAgenda.js.map +1 -1
  908. package/dist/product/social/PostCard.cjs +3 -1
  909. package/dist/product/social/PostCard.d.ts.map +1 -1
  910. package/dist/product/social/PostCard.js +3 -1
  911. package/dist/product/social/PostCard.js.map +1 -1
  912. package/dist/product/social/PostComposer.cjs +12 -6
  913. package/dist/product/social/PostComposer.d.ts.map +1 -1
  914. package/dist/product/social/PostComposer.js +12 -6
  915. package/dist/product/social/PostComposer.js.map +1 -1
  916. package/dist/product/social/ProviderReadinessList.cjs +3 -1
  917. package/dist/product/social/ProviderReadinessList.d.ts.map +1 -1
  918. package/dist/product/social/ProviderReadinessList.js +3 -1
  919. package/dist/product/social/ProviderReadinessList.js.map +1 -1
  920. package/dist/product/social/SocialResource.cjs +25 -16
  921. package/dist/product/social/SocialResource.d.ts.map +1 -1
  922. package/dist/product/social/SocialResource.js +26 -17
  923. package/dist/product/social/SocialResource.js.map +1 -1
  924. package/dist/product/social/SocialSummaryBar.cjs +6 -4
  925. package/dist/product/social/SocialSummaryBar.d.ts.map +1 -1
  926. package/dist/product/social/SocialSummaryBar.js +6 -4
  927. package/dist/product/social/SocialSummaryBar.js.map +1 -1
  928. package/dist/product/social/ViewToggle.cjs +6 -3
  929. package/dist/product/social/ViewToggle.d.ts.map +1 -1
  930. package/dist/product/social/ViewToggle.js +6 -3
  931. package/dist/product/social/ViewToggle.js.map +1 -1
  932. package/dist/product/useLimits.cjs +4 -2
  933. package/dist/product/useLimits.d.ts.map +1 -1
  934. package/dist/product/useLimits.js +4 -2
  935. package/dist/product/useLimits.js.map +1 -1
  936. package/dist/root.cjs +6 -4
  937. package/dist/root.d.ts +52 -2
  938. package/dist/root.d.ts.map +1 -1
  939. package/dist/root.js +6 -4
  940. package/dist/root.js.map +1 -1
  941. package/dist/root.node.cjs +6 -4
  942. package/dist/root.node.js +6 -4
  943. package/dist/settings/Section.cjs +4 -2
  944. package/dist/settings/Section.d.ts.map +1 -1
  945. package/dist/settings/Section.js +4 -2
  946. package/dist/settings/Section.js.map +1 -1
  947. package/dist/settings/Settings.cjs +4 -1
  948. package/dist/settings/Settings.d.ts +1 -1
  949. package/dist/settings/Settings.d.ts.map +1 -1
  950. package/dist/settings/Settings.js +4 -1
  951. package/dist/settings/Settings.js.map +1 -1
  952. package/dist/styles.css +10 -59
  953. package/dist/theme.css +10 -59
  954. package/package.json +11 -2
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.ChatOnboarding = ChatOnboarding;
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const react_1 = require("react");
7
+ const react_2 = require("@hanzo/i18n/react");
7
8
  const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
8
9
  const button_1 = require("../backends/gui/button.cjs");
9
10
  const field_1 = require("../backends/gui/field.cjs");
@@ -13,9 +14,9 @@ const select_1 = require("../backends/gui/select.cjs");
13
14
  const switch_1 = require("../backends/gui/switch.cjs");
14
15
  const api_1 = require("./api.cjs");
15
16
  const frame_1 = require("./frame.cjs");
16
- const screens_1 = require("./screens.cjs");
17
17
  const hooks_1 = require("./hooks.cjs");
18
18
  const roles_1 = require("./roles.cjs");
19
+ const screens_1 = require("./screens.cjs");
19
20
  const state_1 = require("./state.cjs");
20
21
  const ICONS = {
21
22
  binoculars: lucide_icons_2_1.Binoculars,
@@ -37,6 +38,7 @@ const ICONS = {
37
38
  slides: lucide_icons_2_1.Presentation,
38
39
  };
39
40
  function ChatOnboarding({ site = 'Hanzo', api = api_1.API, track, onDone, privacyPath = '/settings/privacy', safeguards = false }) {
41
+ const { t } = (0, react_2.useI18n)();
40
42
  const session = (0, hooks_1.useSession)(api);
41
43
  const [role, setRole] = (0, react_1.useState)('');
42
44
  const [name, setName] = (0, react_1.useState)('');
@@ -55,13 +57,13 @@ function ChatOnboarding({ site = 'Hanzo', api = api_1.API, track, onDone, privac
55
57
  if (!at || at === 'done')
56
58
  return (0, jsx_runtime_1.jsx)(frame_1.Page, { site: site, title: "", busy: true });
57
59
  if (at === 'notice') {
58
- return ((0, jsx_runtime_1.jsxs)(frame_1.Page, { site: site, title: "Before your first chat", lede: "A few things to know, plus one setting to review", center: true, width: 512, children: [(0, jsx_runtime_1.jsxs)(frame_1.Panel, { label: "Before your first chat", children: [(0, jsx_runtime_1.jsxs)(Row, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.EyeOff, { size: 20 }), children: [(0, jsx_runtime_1.jsx)("b", { children: "Ad-free chats:" }), " We won\u2019t show you ads or let advertisers influence what ", site, " says."] }), safeguards ? ((0, jsx_runtime_1.jsxs)(Row, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.HeartHandshake, { size: 20 }), children: [(0, jsx_runtime_1.jsx)("b", { children: "Built to help, not harm:" }), " Automated safeguards protect your chats from violent, abusive, or deceptive content."] })) : null, (0, jsx_runtime_1.jsxs)(Row, { icon: (0, jsx_runtime_1.jsx)(switch_1.Switch, { checked: train, onCheckedChange: setTrain, "aria-label": "Help improve our AI models" }), children: [(0, jsx_runtime_1.jsx)("b", { children: "Help improve our AI models:" }), " Allow the use of your chats and coding sessions to train and improve Zen models. Change anytime in privacy settings.", ' ', (0, jsx_runtime_1.jsx)(layout_1.Anchor, { href: privacyPath, color: "$ink", textDecorationLine: "underline", children: "Learn more" })] })] }), (0, jsx_runtime_1.jsx)(screens_1.Primary, { disabled: busy, onClick: async () => {
60
+ return ((0, jsx_runtime_1.jsxs)(frame_1.Page, { site: site, title: t('Before your first chat'), lede: t('A few things to know, plus one setting to review'), center: true, width: 512, children: [(0, jsx_runtime_1.jsxs)(frame_1.Panel, { label: t('Before your first chat'), children: [(0, jsx_runtime_1.jsxs)(Row, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.EyeOff, { size: 20 }), children: [(0, jsx_runtime_1.jsx)("b", { children: t('Ad-free chats:') }), ` ${t('We won’t show you ads or let advertisers influence what {site} says.', { site })}`] }), safeguards ? ((0, jsx_runtime_1.jsxs)(Row, { icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.HeartHandshake, { size: 20 }), children: [(0, jsx_runtime_1.jsx)("b", { children: t('Built to help, not harm:') }), ` ${t('Automated safeguards protect your chats from violent, abusive, or deceptive content.')}`] })) : null, (0, jsx_runtime_1.jsxs)(Row, { icon: (0, jsx_runtime_1.jsx)(switch_1.Switch, { checked: train, onCheckedChange: setTrain, "aria-label": t('Help improve our AI models') }), children: [(0, jsx_runtime_1.jsx)("b", { children: t('Help improve our AI models:') }), ` ${t('Allow the use of your chats and coding sessions to train and improve Zen models.')} ${t('Change anytime in privacy settings.')} `, (0, jsx_runtime_1.jsx)(layout_1.Anchor, { href: privacyPath, color: "$ink", textDecorationLine: "underline", children: t('Learn more') })] })] }), (0, jsx_runtime_1.jsx)(screens_1.Primary, { disabled: busy, onClick: async () => {
59
61
  setBusy(true);
60
62
  await session.setTrain(train).catch(() => undefined);
61
63
  track?.('first_chat_notice_accepted', { train_opt_in: train });
62
64
  await session.save({ notice: true });
63
65
  setBusy(false);
64
- }, children: "Continue" })] }));
66
+ }, children: t('Continue') })] }));
65
67
  }
66
68
  if (at === 'name') {
67
69
  const submit = async (e) => {
@@ -77,30 +79,33 @@ function ChatOnboarding({ site = 'Hanzo', api = api_1.API, track, onDone, privac
77
79
  setBusy(false);
78
80
  }
79
81
  };
80
- return ((0, jsx_runtime_1.jsx)(frame_1.Page, { site: site, title: "What\u2019s your name?", lede: `So ${site} knows what to call you.`, center: true, children: (0, jsx_runtime_1.jsxs)(layout_1.YStack, { render: (0, jsx_runtime_1.jsx)("form", { onSubmit: submit, noValidate: true }), gap: "$4", items: "stretch", children: [(0, jsx_runtime_1.jsx)(field_1.Field, { gap: "$2", children: (0, jsx_runtime_1.jsx)(input_1.Input, { name: "name", autoComplete: "name", "aria-label": "Your name", value: name, onChangeText: setName, placeholder: "Your name", height: 48, autoFocus: true }) }), (0, jsx_runtime_1.jsx)(screens_1.Primary, { type: "submit", disabled: !name.trim() || busy, children: "Continue" })] }) }));
82
+ return ((0, jsx_runtime_1.jsx)(frame_1.Page, { site: site, title: t('What’s your name?'), lede: t('So {site} knows what to call you.', { site }), center: true, children: (0, jsx_runtime_1.jsxs)(layout_1.YStack, { render: (0, jsx_runtime_1.jsx)("form", { onSubmit: submit, noValidate: true }), gap: "$4", items: "stretch", children: [(0, jsx_runtime_1.jsx)(field_1.Field, { gap: "$2", children: (0, jsx_runtime_1.jsx)(input_1.Input, { name: "name", autoComplete: "name", "aria-label": t('Your name'), value: name, onChangeText: setName, placeholder: t('Your name'), height: 48, autoFocus: true }) }), (0, jsx_runtime_1.jsx)(screens_1.Primary, { type: "submit", disabled: !name.trim() || busy, children: t('Continue') })] }) }));
81
83
  }
82
84
  const chosen = roles_1.ROLES.find((r) => r.role === role);
83
85
  const pick = async (prompt) => {
84
86
  if (busy || !chosen)
85
87
  return;
86
88
  setBusy(true);
87
- track?.('usage_selected', { use: session.progress.use ?? 'personal', role: chosen.role });
89
+ track?.('usage_selected', {
90
+ use: session.progress.use ?? 'personal',
91
+ role: chosen.role,
92
+ });
88
93
  await session.save({ role: chosen.role });
89
94
  onDone({ prompt, role: chosen.role });
90
95
  };
91
- return ((0, jsx_runtime_1.jsxs)(frame_1.Page, { site: site, title: roles_1.ROLES_TITLE, lede: roles_1.ROLES_SUBTITLE, center: true, width: 450, children: [(0, jsx_runtime_1.jsxs)(select_1.Select, { value: role, onValueChange: (v) => {
96
+ return ((0, jsx_runtime_1.jsxs)(frame_1.Page, { site: site, title: t(roles_1.ROLES_TITLE), lede: t(roles_1.ROLES_SUBTITLE), center: true, width: 450, children: [(0, jsx_runtime_1.jsxs)(select_1.Select, { value: role, onValueChange: (v) => {
92
97
  setRole(v);
93
98
  track?.('role_selected', { role: v });
94
- }, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { "aria-label": "Your role", height: 48, children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: roles_1.ROLES_PLACEHOLDER }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { children: roles_1.ROLES.map((r) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: r.role, children: r.role }, r.role))) })] }), chosen ? ((0, jsx_runtime_1.jsxs)(layout_1.YStack, { gap: "$3", children: [chosen.prompts.map((p) => {
99
+ }, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { "aria-label": t('Your role'), height: 48, children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: t(roles_1.ROLES_PLACEHOLDER) }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { children: roles_1.ROLES.map((r) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: r.role, children: t(r.role) }, r.role))) })] }), chosen ? ((0, jsx_runtime_1.jsxs)(layout_1.YStack, { gap: "$3", children: [chosen.prompts.map((p) => {
95
100
  const Icon = ICONS[p.icon];
96
101
  return ((0, jsx_runtime_1.jsxs)(button_1.Button, { type: "button", variant: "secondary", disabled: busy, minH: 68, px: "$5", rounded: "$3", justify: "flex-start", gap: "$4", onClick: () => {
97
102
  track?.('starter_prompt_used', { role: chosen.role, prompt: p.label });
98
- void pick(p.prompt);
99
- }, children: [(0, jsx_runtime_1.jsx)(Icon, { size: 20 }), p.label] }, p.label));
103
+ void pick(t(p.prompt));
104
+ }, children: [(0, jsx_runtime_1.jsx)(Icon, { size: 20 }), t(p.label)] }, p.label));
100
105
  }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", variant: "link", size: "lg", disabled: busy, self: "center", onClick: () => {
101
106
  track?.('own_topic_chosen', { role: chosen.role });
102
107
  void pick(undefined);
103
- }, children: roles_1.OWN_TOPIC })] })) : null] }));
108
+ }, children: t(roles_1.OWN_TOPIC) })] })) : null] }));
104
109
  }
105
110
  /** One line of the notice: a mark or a switch, then the words. */
106
111
  function Row({ icon, children }) {
@@ -6,7 +6,9 @@ import { type Track } from './hooks.js';
6
6
  * IAM user, so nobody sees a step twice.
7
7
  *
8
8
  * `onDone` receives what the person chose to open the chat with: a starter's full
9
- * prompt, or nothing for an empty chat.
9
+ * prompt, or nothing for an empty chat. Its words are the reader's language
10
+ * (@hanzo/i18n `t`); a starter's prompt is the one in the words pressed, while
11
+ * the role it saves and the events it sends stay in English.
10
12
  */
11
13
  export interface ChatOnboardingProps {
12
14
  site?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatOnboarding.d.ts","sourceRoot":"","sources":["../../src/onboarding/ChatOnboarding.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAIhD;;;;;;;;GAQG;AAEH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC3D,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iGAAiG;IACjG,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAsBD,wBAAgB,cAAc,CAAC,EAAE,IAAc,EAAE,GAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAiC,EAAE,UAAkB,EAAE,EAAE,mBAAmB,+BAuJtJ"}
1
+ {"version":3,"file":"ChatOnboarding.d.ts","sourceRoot":"","sources":["../../src/onboarding/ChatOnboarding.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAKhD;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC3D,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iGAAiG;IACjG,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAsBD,wBAAgB,cAAc,CAAC,EAAE,IAAc,EAAE,GAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAiC,EAAE,UAAkB,EAAE,EAAE,mBAAmB,+BA8JtJ"}
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useEffect, useRef, useState } from 'react';
4
+ import { useI18n } from '@hanzo/i18n/react';
4
5
  import { Binoculars, Calendar, ChartLine, Clock, Code, Dna, EyeOff, FileText, Gavel, GraduationCap, HeartHandshake, LayoutGrid, Library, Lightbulb, MessageSquare, Palette, Pencil, Presentation, User } from '@hanzogui/lucide-icons-2';
5
6
  import { Button } from '../backends/gui/button.js';
6
7
  import { Field } from '../backends/gui/field.js';
@@ -10,9 +11,9 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '.
10
11
  import { Switch } from '../backends/gui/switch.js';
11
12
  import { API } from './api.js';
12
13
  import { Page, Panel } from './frame.js';
13
- import { Primary } from './screens.js';
14
14
  import { useSession } from './hooks.js';
15
15
  import { OWN_TOPIC, ROLES, ROLES_PLACEHOLDER, ROLES_SUBTITLE, ROLES_TITLE } from './roles.js';
16
+ import { Primary } from './screens.js';
16
17
  import { chatStep } from './state.js';
17
18
  const ICONS = {
18
19
  binoculars: Binoculars,
@@ -34,6 +35,7 @@ const ICONS = {
34
35
  slides: Presentation,
35
36
  };
36
37
  export function ChatOnboarding({ site = 'Hanzo', api = API, track, onDone, privacyPath = '/settings/privacy', safeguards = false }) {
38
+ const { t } = useI18n();
37
39
  const session = useSession(api);
38
40
  const [role, setRole] = useState('');
39
41
  const [name, setName] = useState('');
@@ -52,13 +54,13 @@ export function ChatOnboarding({ site = 'Hanzo', api = API, track, onDone, priva
52
54
  if (!at || at === 'done')
53
55
  return _jsx(Page, { site: site, title: "", busy: true });
54
56
  if (at === 'notice') {
55
- return (_jsxs(Page, { site: site, title: "Before your first chat", lede: "A few things to know, plus one setting to review", center: true, width: 512, children: [_jsxs(Panel, { label: "Before your first chat", children: [_jsxs(Row, { icon: _jsx(EyeOff, { size: 20 }), children: [_jsx("b", { children: "Ad-free chats:" }), " We won\u2019t show you ads or let advertisers influence what ", site, " says."] }), safeguards ? (_jsxs(Row, { icon: _jsx(HeartHandshake, { size: 20 }), children: [_jsx("b", { children: "Built to help, not harm:" }), " Automated safeguards protect your chats from violent, abusive, or deceptive content."] })) : null, _jsxs(Row, { icon: _jsx(Switch, { checked: train, onCheckedChange: setTrain, "aria-label": "Help improve our AI models" }), children: [_jsx("b", { children: "Help improve our AI models:" }), " Allow the use of your chats and coding sessions to train and improve Zen models. Change anytime in privacy settings.", ' ', _jsx(Anchor, { href: privacyPath, color: "$ink", textDecorationLine: "underline", children: "Learn more" })] })] }), _jsx(Primary, { disabled: busy, onClick: async () => {
57
+ return (_jsxs(Page, { site: site, title: t('Before your first chat'), lede: t('A few things to know, plus one setting to review'), center: true, width: 512, children: [_jsxs(Panel, { label: t('Before your first chat'), children: [_jsxs(Row, { icon: _jsx(EyeOff, { size: 20 }), children: [_jsx("b", { children: t('Ad-free chats:') }), ` ${t('We won’t show you ads or let advertisers influence what {site} says.', { site })}`] }), safeguards ? (_jsxs(Row, { icon: _jsx(HeartHandshake, { size: 20 }), children: [_jsx("b", { children: t('Built to help, not harm:') }), ` ${t('Automated safeguards protect your chats from violent, abusive, or deceptive content.')}`] })) : null, _jsxs(Row, { icon: _jsx(Switch, { checked: train, onCheckedChange: setTrain, "aria-label": t('Help improve our AI models') }), children: [_jsx("b", { children: t('Help improve our AI models:') }), ` ${t('Allow the use of your chats and coding sessions to train and improve Zen models.')} ${t('Change anytime in privacy settings.')} `, _jsx(Anchor, { href: privacyPath, color: "$ink", textDecorationLine: "underline", children: t('Learn more') })] })] }), _jsx(Primary, { disabled: busy, onClick: async () => {
56
58
  setBusy(true);
57
59
  await session.setTrain(train).catch(() => undefined);
58
60
  track?.('first_chat_notice_accepted', { train_opt_in: train });
59
61
  await session.save({ notice: true });
60
62
  setBusy(false);
61
- }, children: "Continue" })] }));
63
+ }, children: t('Continue') })] }));
62
64
  }
63
65
  if (at === 'name') {
64
66
  const submit = async (e) => {
@@ -74,30 +76,33 @@ export function ChatOnboarding({ site = 'Hanzo', api = API, track, onDone, priva
74
76
  setBusy(false);
75
77
  }
76
78
  };
77
- return (_jsx(Page, { site: site, title: "What\u2019s your name?", lede: `So ${site} knows what to call you.`, center: true, children: _jsxs(YStack, { render: _jsx("form", { onSubmit: submit, noValidate: true }), gap: "$4", items: "stretch", children: [_jsx(Field, { gap: "$2", children: _jsx(Input, { name: "name", autoComplete: "name", "aria-label": "Your name", value: name, onChangeText: setName, placeholder: "Your name", height: 48, autoFocus: true }) }), _jsx(Primary, { type: "submit", disabled: !name.trim() || busy, children: "Continue" })] }) }));
79
+ return (_jsx(Page, { site: site, title: t('What’s your name?'), lede: t('So {site} knows what to call you.', { site }), center: true, children: _jsxs(YStack, { render: _jsx("form", { onSubmit: submit, noValidate: true }), gap: "$4", items: "stretch", children: [_jsx(Field, { gap: "$2", children: _jsx(Input, { name: "name", autoComplete: "name", "aria-label": t('Your name'), value: name, onChangeText: setName, placeholder: t('Your name'), height: 48, autoFocus: true }) }), _jsx(Primary, { type: "submit", disabled: !name.trim() || busy, children: t('Continue') })] }) }));
78
80
  }
79
81
  const chosen = ROLES.find((r) => r.role === role);
80
82
  const pick = async (prompt) => {
81
83
  if (busy || !chosen)
82
84
  return;
83
85
  setBusy(true);
84
- track?.('usage_selected', { use: session.progress.use ?? 'personal', role: chosen.role });
86
+ track?.('usage_selected', {
87
+ use: session.progress.use ?? 'personal',
88
+ role: chosen.role,
89
+ });
85
90
  await session.save({ role: chosen.role });
86
91
  onDone({ prompt, role: chosen.role });
87
92
  };
88
- return (_jsxs(Page, { site: site, title: ROLES_TITLE, lede: ROLES_SUBTITLE, center: true, width: 450, children: [_jsxs(Select, { value: role, onValueChange: (v) => {
93
+ return (_jsxs(Page, { site: site, title: t(ROLES_TITLE), lede: t(ROLES_SUBTITLE), center: true, width: 450, children: [_jsxs(Select, { value: role, onValueChange: (v) => {
89
94
  setRole(v);
90
95
  track?.('role_selected', { role: v });
91
- }, children: [_jsx(SelectTrigger, { "aria-label": "Your role", height: 48, children: _jsx(SelectValue, { placeholder: ROLES_PLACEHOLDER }) }), _jsx(SelectContent, { children: ROLES.map((r) => (_jsx(SelectItem, { value: r.role, children: r.role }, r.role))) })] }), chosen ? (_jsxs(YStack, { gap: "$3", children: [chosen.prompts.map((p) => {
96
+ }, children: [_jsx(SelectTrigger, { "aria-label": t('Your role'), height: 48, children: _jsx(SelectValue, { placeholder: t(ROLES_PLACEHOLDER) }) }), _jsx(SelectContent, { children: ROLES.map((r) => (_jsx(SelectItem, { value: r.role, children: t(r.role) }, r.role))) })] }), chosen ? (_jsxs(YStack, { gap: "$3", children: [chosen.prompts.map((p) => {
92
97
  const Icon = ICONS[p.icon];
93
98
  return (_jsxs(Button, { type: "button", variant: "secondary", disabled: busy, minH: 68, px: "$5", rounded: "$3", justify: "flex-start", gap: "$4", onClick: () => {
94
99
  track?.('starter_prompt_used', { role: chosen.role, prompt: p.label });
95
- void pick(p.prompt);
96
- }, children: [_jsx(Icon, { size: 20 }), p.label] }, p.label));
100
+ void pick(t(p.prompt));
101
+ }, children: [_jsx(Icon, { size: 20 }), t(p.label)] }, p.label));
97
102
  }), _jsx(Button, { type: "button", variant: "link", size: "lg", disabled: busy, self: "center", onClick: () => {
98
103
  track?.('own_topic_chosen', { role: chosen.role });
99
104
  void pick(undefined);
100
- }, children: OWN_TOPIC })] })) : null] }));
105
+ }, children: t(OWN_TOPIC) })] })) : null] }));
101
106
  }
102
107
  /** One line of the notice: a mark or a switch, then the words. */
103
108
  function Row({ icon, children }) {
@@ -1 +1 @@
1
- {"version":3,"file":"ChatOnboarding.js","sourceRoot":"","sources":["../../src/onboarding/ChatOnboarding.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatOnboarding.js","sourceRoot":"","sources":["../../src/onboarding/ChatOnboarding.tsx"],"names":[],"mappings":"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"}
@@ -5,24 +5,25 @@ exports.Checkout = Checkout;
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const react_1 = require("react");
7
7
  const event_1 = require("@hanzo/event");
8
+ const i18n_1 = require("@hanzo/i18n");
9
+ const react_2 = require("@hanzo/i18n/react");
8
10
  const pay_1 = require("@hanzo/pay");
9
11
  const web_1 = require("@hanzo/pay/web");
12
+ const session_1 = require("../auth/session.cjs");
10
13
  const checkbox_1 = require("../backends/gui/checkbox.cjs");
14
+ const choice_1 = require("../backends/gui/choice.cjs");
11
15
  const field_1 = require("../backends/gui/field.cjs");
12
16
  const input_1 = require("../backends/gui/input.cjs");
13
17
  const layout_1 = require("../backends/gui/layout.cjs");
14
18
  const select_1 = require("../backends/gui/select.cjs");
15
- const session_1 = require("../auth/session.cjs");
16
19
  const api_1 = require("./api.cjs");
17
20
  const attempt_1 = require("./attempt.cjs");
18
21
  const catalog_1 = require("./catalog.cjs");
19
22
  const frame_1 = require("./frame.cjs");
20
- const screens_1 = require("./screens.cjs");
21
- const choice_1 = require("../backends/gui/choice.cjs");
22
- const layout_2 = require("../backends/gui/layout.cjs");
23
23
  const plans_1 = require("./plans.cjs");
24
+ const screens_1 = require("./screens.cjs");
24
25
  const COUNTRIES = [
25
- ['US', 'United States'], ['CA', 'Canada'], ['GB', 'United Kingdom'], ['AU', 'Australia'], ['DE', 'Germany'], ['FR', 'France'], ['ES', 'Spain'], ['IT', 'Italy'], ['NL', 'Netherlands'], ['SE', 'Sweden'], ['IE', 'Ireland'], ['CH', 'Switzerland'], ['JP', 'Japan'], ['SG', 'Singapore'], ['IN', 'India'], ['BR', 'Brazil'], ['MX', 'Mexico'], ['NZ', 'New Zealand'], ['ZA', 'South Africa'], ['AE', 'United Arab Emirates'],
26
+ ['US', (0, i18n_1.phrase)('United States')], ['CA', (0, i18n_1.phrase)('Canada')], ['GB', (0, i18n_1.phrase)('United Kingdom')], ['AU', (0, i18n_1.phrase)('Australia')], ['DE', (0, i18n_1.phrase)('Germany')], ['FR', (0, i18n_1.phrase)('France')], ['ES', (0, i18n_1.phrase)('Spain')], ['IT', (0, i18n_1.phrase)('Italy')], ['NL', (0, i18n_1.phrase)('Netherlands')], ['SE', (0, i18n_1.phrase)('Sweden')], ['IE', (0, i18n_1.phrase)('Ireland')], ['CH', (0, i18n_1.phrase)('Switzerland')], ['JP', (0, i18n_1.phrase)('Japan')], ['SG', (0, i18n_1.phrase)('Singapore')], ['IN', (0, i18n_1.phrase)('India')], ['BR', (0, i18n_1.phrase)('Brazil')], ['MX', (0, i18n_1.phrase)('Mexico')], ['NZ', (0, i18n_1.phrase)('New Zealand')], ['ZA', (0, i18n_1.phrase)('South Africa')], ['AE', (0, i18n_1.phrase)('United Arab Emirates')],
26
27
  ];
27
28
  const renews = (interval) => {
28
29
  const d = new Date();
@@ -30,17 +31,23 @@ const renews = (interval) => {
30
31
  d.setFullYear(d.getFullYear() + 1);
31
32
  else
32
33
  d.setMonth(d.getMonth() + 1);
33
- return d.toLocaleDateString('en-US', { year: 'numeric', month: 'numeric', day: 'numeric' });
34
+ return d.toLocaleDateString('en-US', {
35
+ year: 'numeric',
36
+ month: 'numeric',
37
+ day: 'numeric',
38
+ });
34
39
  };
35
40
  function Checkout(props) {
41
+ const { t } = (0, react_2.useI18n)();
36
42
  const loaded = (0, catalog_1.useCatalog)(props.api ?? api_1.API);
37
43
  if (loaded === null)
38
44
  return (0, jsx_runtime_1.jsx)(frame_1.Page, { site: props.site ?? 'Hanzo', title: "", busy: true });
39
45
  if (!loaded)
40
- return (0, jsx_runtime_1.jsx)(frame_1.Page, { site: props.site ?? 'Hanzo', title: "Plans could not be loaded just now", lede: "That is ours to fix. Reload to try again.", center: true });
46
+ return (0, jsx_runtime_1.jsx)(frame_1.Page, { site: props.site ?? 'Hanzo', title: t('Plans could not be loaded just now'), lede: `${t('That is ours to fix.')} ${t('Reload to try again.')}`, center: true });
41
47
  return (0, jsx_runtime_1.jsx)(CheckoutForm, { ...props });
42
48
  }
43
49
  function CheckoutForm({ site = 'Hanzo', api = api_1.API, org, token: propToken, plan, seats = 1, interval, setInterval, setPlan, track, termsPath = '/terms', back, onPaid }) {
50
+ const { t } = (0, react_2.useI18n)();
44
51
  const o = (0, plans_1.offer)(plan);
45
52
  const l = (0, react_1.useMemo)(() => (0, plans_1.lines)(plan, interval, seats), [plan, interval, seats]);
46
53
  const activeOrg = org || (0, session_1.currentOrg)() || undefined;
@@ -52,7 +59,12 @@ function CheckoutForm({ site = 'Hanzo', api = api_1.API, org, token: propToken,
52
59
  const [busy, setBusy] = (0, react_1.useState)(false);
53
60
  const [wrong, setWrong] = (0, react_1.useState)(null);
54
61
  const [agree, setAgree] = (0, react_1.useState)(true);
55
- const [form, setForm] = (0, react_1.useState)({ name: '', country: 'US', address: '', invoice: '' });
62
+ const [form, setForm] = (0, react_1.useState)({
63
+ name: '',
64
+ country: 'US',
65
+ address: '',
66
+ invoice: '',
67
+ });
56
68
  const card = (0, react_1.useRef)(null);
57
69
  const started = (0, react_1.useRef)(false);
58
70
  // The billing form is shown with a total: checkout has started.
@@ -60,8 +72,22 @@ function CheckoutForm({ site = 'Hanzo', api = api_1.API, org, token: propToken,
60
72
  if (started.current)
61
73
  return;
62
74
  started.current = true;
63
- track?.('plan_selected', { plan, interval, seats: l.seats, value: l.subtotal, currency: 'USD', items: [(0, plans_1.item)(plan, interval, seats)] });
64
- track?.('checkout_started', { plan, interval, seats: l.seats, value: l.subtotal, currency: 'USD', items: [(0, plans_1.item)(plan, interval, seats)] });
75
+ track?.('plan_selected', {
76
+ plan,
77
+ interval,
78
+ seats: l.seats,
79
+ value: l.subtotal,
80
+ currency: 'USD',
81
+ items: [(0, plans_1.item)(plan, interval, seats)],
82
+ });
83
+ track?.('checkout_started', {
84
+ plan,
85
+ interval,
86
+ seats: l.seats,
87
+ value: l.subtotal,
88
+ currency: 'USD',
89
+ items: [(0, plans_1.item)(plan, interval, seats)],
90
+ });
65
91
  // Once per mount.
66
92
  // eslint-disable-next-line react-hooks/exhaustive-deps
67
93
  }, []);
@@ -69,7 +95,7 @@ function CheckoutForm({ site = 'Hanzo', api = api_1.API, org, token: propToken,
69
95
  let live = true;
70
96
  (0, api_1.call)(api, '/v1/billing/settings', { headers: scope }, token)
71
97
  .then((s) => live && setSettings(s))
72
- .catch((e) => live && setWrong(e instanceof Error ? e.message : 'Payments are not available right now.'));
98
+ .catch((e) => live && setWrong(e instanceof Error ? e.message : t('Payments are not available right now.')));
73
99
  return () => {
74
100
  live = false;
75
101
  };
@@ -99,7 +125,7 @@ function CheckoutForm({ site = 'Hanzo', api = api_1.API, org, token: propToken,
99
125
  }
100
126
  catch (e) {
101
127
  if (!cancelled)
102
- setWrong(e instanceof Error ? e.message : 'The card form did not load.');
128
+ setWrong(e instanceof Error ? e.message : t('The card form did not load.'));
103
129
  }
104
130
  })();
105
131
  return () => {
@@ -112,7 +138,14 @@ function CheckoutForm({ site = 'Hanzo', api = api_1.API, org, token: propToken,
112
138
  };
113
139
  }, [settings]);
114
140
  const fail = (0, react_1.useCallback)((reason, say) => {
115
- track?.('checkout_failed', { reason, plan, interval, seats: l.seats, value: l.subtotal, currency: 'USD' });
141
+ track?.('checkout_failed', {
142
+ reason,
143
+ plan,
144
+ interval,
145
+ seats: l.seats,
146
+ value: l.subtotal,
147
+ currency: 'USD',
148
+ });
116
149
  setWrong(say);
117
150
  setBusy(false);
118
151
  }, [track, plan, interval, l.seats, l.subtotal]);
@@ -122,11 +155,11 @@ function CheckoutForm({ site = 'Hanzo', api = api_1.API, org, token: propToken,
122
155
  if (busy || !ready || !card.current)
123
156
  return;
124
157
  if (!agree) {
125
- setWrong('Please agree to recurring charges to continue.');
158
+ setWrong(t('Please agree to recurring charges to continue.'));
126
159
  return;
127
160
  }
128
161
  if (!form.name.trim() || !form.address.trim()) {
129
- setWrong('Enter your full name and address.');
162
+ setWrong(t('Enter your full name and address.'));
130
163
  return;
131
164
  }
132
165
  setBusy(true);
@@ -142,7 +175,7 @@ function CheckoutForm({ site = 'Hanzo', api = api_1.API, org, token: propToken,
142
175
  const cents = Math.round((0, plans_1.period)(plan, interval) * 100);
143
176
  const listed = interval === 'annual' ? row?.annualTotal : row?.price;
144
177
  if (!row || listed !== cents) {
145
- fail('catalog', 'This plan’s price is being updated, so we have not charged you. Please try again shortly.');
178
+ fail('catalog', `${t('This plan’s price is being updated, so we have not charged you.')} ${t('Please try again shortly.')}`);
146
179
  return;
147
180
  }
148
181
  let result = await card.current.tokenize();
@@ -152,36 +185,86 @@ function CheckoutForm({ site = 'Hanzo', api = api_1.API, org, token: propToken,
152
185
  }
153
186
  if (result.status !== 'OK' || !result.token) {
154
187
  (0, attempt_1.settle)(sale);
155
- fail('card', result.errors?.[0]?.message ?? 'The card could not be read. Check the details and try again.');
188
+ fail('card', result.errors?.[0]?.message ?? `${t('The card could not be read.')} ${t('Check the details and try again.')}`);
156
189
  return;
157
190
  }
158
- track?.('payment_info_added', { plan, interval, seats: l.seats, value: l.subtotal, currency: 'USD', items: [(0, plans_1.item)(plan, interval, seats)] });
191
+ track?.('payment_info_added', {
192
+ plan,
193
+ interval,
194
+ seats: l.seats,
195
+ value: l.subtotal,
196
+ currency: 'USD',
197
+ items: [(0, plans_1.item)(plan, interval, seats)],
198
+ });
159
199
  const paid = await (0, api_1.call)(api, '/v1/billing/subscribe/card', {
160
200
  method: 'POST',
161
201
  headers: { ...scope, 'X-Idempotency-Key': (0, attempt_1.keyFor)(sale) },
162
202
  // The visitor's choice rides the sale: cloud sends the sale to an ad platform only under it.
163
- body: JSON.stringify({ sourceId: result.token, planId: plans_1.SLUG[plan], quantity: l.seats, consent: (0, event_1.renderConsent)((0, event_1.readConsent)()), ...(interval === 'annual' ? { interval: 'year' } : {}) }),
203
+ body: JSON.stringify({
204
+ sourceId: result.token,
205
+ planId: plans_1.SLUG[plan],
206
+ quantity: l.seats,
207
+ consent: (0, event_1.renderConsent)((0, event_1.readConsent)()),
208
+ ...(interval === 'annual' ? { interval: 'year' } : {}),
209
+ }),
164
210
  }, token);
165
211
  (0, attempt_1.settle)(sale);
166
- track?.('order_completed', { ...(paid.eventId ? { event_id: paid.eventId } : {}), order_id: paid.invoiceId || paid.subscriptionId, plan, interval, seats: l.seats, value: l.subtotal, currency: 'USD', items: [(0, plans_1.item)(plan, interval, seats)] });
212
+ track?.('order_completed', {
213
+ ...(paid.eventId ? { event_id: paid.eventId } : {}),
214
+ order_id: paid.invoiceId || paid.subscriptionId,
215
+ plan,
216
+ interval,
217
+ seats: l.seats,
218
+ value: l.subtotal,
219
+ currency: 'USD',
220
+ items: [(0, plans_1.item)(plan, interval, seats)],
221
+ });
167
222
  onPaid({ orderId: paid.invoiceId || paid.subscriptionId });
168
223
  }
169
224
  catch (err) {
170
225
  (0, attempt_1.settle)(sale);
171
- fail('declined', err instanceof Error ? err.message : 'We could not confirm the payment. Check Billing before you try again.');
226
+ fail('declined', err instanceof Error ? err.message : `${t('We could not confirm the payment.')} ${t('Check Billing before you try again.')}`);
172
227
  }
173
228
  }
174
- const per = interval === 'annual' ? 'year' : 'month';
175
- const label = o.category === 'team' ? `${l.seats} ${o.name.toLowerCase()}s` : o.name;
176
- const every = interval === 'annual' ? 'yearly' : 'monthly';
177
- return ((0, jsx_runtime_1.jsx)(frame_1.Page, { site: site, title: "Configure your plan", back: back, width: 1000, start: true, children: (0, jsx_runtime_1.jsxs)(layout_1.XStack, { render: (0, jsx_runtime_1.jsx)("form", { onSubmit: submit, noValidate: true }), flexWrap: "wrap", gap: "$7", items: "flex-start", width: "100%", children: [(0, jsx_runtime_1.jsxs)(layout_1.YStack, { flex: 1, flexBasis: 360, minW: 0, gap: "$4", children: [setPlan && plan.startsWith('max') ? ((0, jsx_runtime_1.jsxs)(layout_1.YStack, { gap: "$3", width: "100%", children: [(0, jsx_runtime_1.jsxs)(layout_1.XStack, { justify: "space-between", items: "center", width: "100%", children: [(0, jsx_runtime_1.jsx)(layout_1.Heading, { render: "h2", size: "$4", fontWeight: "600", color: "$ink", m: 0, children: "Plan" }), (0, jsx_runtime_1.jsx)(frame_1.IntervalToggle, { interval: interval, onChange: (i) => {
178
- track?.('plan_changed', { from: interval, to: i, field: 'interval', plan });
229
+ const annual = interval === 'annual';
230
+ const team = o.category === 'team';
231
+ const label = team ? (plan === 'team_premium' ? t('{n} premium seats', { n: l.seats }) : t('{n} standard seats', { n: l.seats })) : o.name;
232
+ const charged = (0, plans_1.usd)(l.subtotal);
233
+ const seat = (0, plans_1.usd)((0, plans_1.unit)(plan, interval));
234
+ const terms = ((0, jsx_runtime_1.jsx)(layout_1.Anchor, { href: termsPath, color: "$ink", textDecorationLine: "underline", children: t('terms') }));
235
+ return ((0, jsx_runtime_1.jsx)(frame_1.Page, { site: site, title: t('Configure your plan'), back: back, width: 1000, start: true, children: (0, jsx_runtime_1.jsxs)(layout_1.XStack, { render: (0, jsx_runtime_1.jsx)("form", { onSubmit: submit, noValidate: true }), flexWrap: "wrap", gap: "$7", items: "flex-start", width: "100%", children: [(0, jsx_runtime_1.jsxs)(layout_1.YStack, { flex: 1, flexBasis: 360, minW: 0, gap: "$4", children: [setPlan && plan.startsWith('max') ? ((0, jsx_runtime_1.jsxs)(layout_1.YStack, { gap: "$3", width: "100%", children: [(0, jsx_runtime_1.jsxs)(layout_1.XStack, { justify: "space-between", items: "center", width: "100%", children: [(0, jsx_runtime_1.jsx)(layout_1.Heading, { render: "h2", size: "$4", fontWeight: "600", color: "$ink", m: 0, children: t('Plan') }), (0, jsx_runtime_1.jsx)(frame_1.IntervalToggle, { interval: interval, onChange: (i) => {
236
+ track?.('plan_changed', {
237
+ from: interval,
238
+ to: i,
239
+ field: 'interval',
240
+ plan,
241
+ });
179
242
  setInterval(i);
180
- }, name: o.name, save: (0, plans_1.saving)(plan) })] }), (0, jsx_runtime_1.jsx)(choice_1.ChoiceGroup, { label: "Plan", flexWrap: "wrap", children: ['max_5x', 'max_20x'].map((t) => ((0, jsx_runtime_1.jsxs)(choice_1.ChoiceCard, { selected: plan === t, onSelect: () => {
181
- track?.('plan_changed', { from: plan, to: t, field: 'plan' });
182
- setPlan(t);
183
- }, flex: 1, flexBasis: 200, children: [(0, jsx_runtime_1.jsxs)(layout_1.XStack, { justify: "space-between", items: "center", width: "100%", children: [(0, jsx_runtime_1.jsx)(layout_2.SizableText, { size: "$3", fontWeight: "600", color: "$ink", children: (0, plans_1.offer)(t).name }), (0, jsx_runtime_1.jsx)(choice_1.RadioCircle, { selected: plan === t })] }), (0, jsx_runtime_1.jsx)(layout_2.SizableText, { size: "$2", color: "$ink", children: `${(0, plans_1.money)((0, plans_1.unit)(t, interval))}/month${interval === 'annual' ? ' · billed yearly' : ''}` })] }, t))) })] })) : ((0, jsx_runtime_1.jsx)(screens_1.IntervalChoice, { save: (0, plans_1.saving)(plan), interval: interval, setInterval: (i) => {
184
- track?.('plan_changed', { from: interval, to: i, field: 'interval', plan });
243
+ }, name: o.name, save: (0, plans_1.saving)(plan) })] }), (0, jsx_runtime_1.jsx)(choice_1.ChoiceGroup, { label: t('Plan'), flexWrap: "wrap", children: ['max_5x', 'max_20x'].map((tier) => ((0, jsx_runtime_1.jsxs)(choice_1.ChoiceCard, { selected: plan === tier, onSelect: () => {
244
+ track?.('plan_changed', { from: plan, to: tier, field: 'plan' });
245
+ setPlan(tier);
246
+ }, flex: 1, flexBasis: 200, children: [(0, jsx_runtime_1.jsxs)(layout_1.XStack, { justify: "space-between", items: "center", width: "100%", children: [(0, jsx_runtime_1.jsx)(layout_1.SizableText, { size: "$3", fontWeight: "600", color: "$ink", children: (0, plans_1.offer)(tier).name }), (0, jsx_runtime_1.jsx)(choice_1.RadioCircle, { selected: plan === tier })] }), (0, jsx_runtime_1.jsx)(layout_1.SizableText, { size: "$2", color: "$ink", children: annual ? t('{price}/month · billed yearly', { price: (0, plans_1.money)((0, plans_1.unit)(tier, interval)) }) : t('{price}/month', { price: (0, plans_1.money)((0, plans_1.unit)(tier, interval)) }) })] }, tier))) })] })) : ((0, jsx_runtime_1.jsx)(screens_1.IntervalChoice, { save: (0, plans_1.saving)(plan), interval: interval, setInterval: (i) => {
247
+ track?.('plan_changed', {
248
+ from: interval,
249
+ to: i,
250
+ field: 'interval',
251
+ plan,
252
+ });
185
253
  setInterval(i);
186
- }, price: (i) => `${(0, plans_1.usd)((0, plans_1.lines)(plan, i, seats).subtotal)} / ${i === 'annual' ? 'year' : 'month'}${i === 'annual' ? ' · billed yearly' : ''}` })), (0, jsx_runtime_1.jsx)(layout_1.Heading, { render: "h2", size: "$4", fontWeight: "600", color: "$ink", mt: "$4", m: 0, children: "Billing information" }), (0, jsx_runtime_1.jsxs)(field_1.Field, { gap: "$2", children: [(0, jsx_runtime_1.jsx)(field_1.FieldLabel, { htmlFor: "hanzo-bill-name", children: "Full name" }), (0, jsx_runtime_1.jsx)(input_1.Input, { id: "hanzo-bill-name", name: "name", autoComplete: "name", value: form.name, onChangeText: (v) => setForm((f) => ({ ...f, name: v })) })] }), (0, jsx_runtime_1.jsxs)(field_1.Field, { gap: "$2", children: [(0, jsx_runtime_1.jsx)(field_1.FieldLabel, { htmlFor: "hanzo-bill-country", children: "Country or region" }), (0, jsx_runtime_1.jsxs)(select_1.Select, { value: form.country, onValueChange: (v) => setForm((f) => ({ ...f, country: v })), children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { id: "hanzo-bill-country", "aria-label": "Country or region", children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, {}) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { children: COUNTRIES.map(([c, n]) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: c, children: n }, c))) })] })] }), (0, jsx_runtime_1.jsxs)(field_1.Field, { gap: "$2", children: [(0, jsx_runtime_1.jsx)(field_1.FieldLabel, { htmlFor: "hanzo-bill-address", children: "Address" }), (0, jsx_runtime_1.jsx)(input_1.Input, { id: "hanzo-bill-address", name: "address", autoComplete: "street-address", value: form.address, onChangeText: (v) => setForm((f) => ({ ...f, address: v })) })] }), (0, jsx_runtime_1.jsxs)(field_1.Field, { gap: "$2", children: [(0, jsx_runtime_1.jsx)(field_1.FieldLabel, { htmlFor: "hanzo-bill-invoice", children: "Use a different name on invoices (optional)" }), (0, jsx_runtime_1.jsx)(input_1.Input, { id: "hanzo-bill-invoice", name: "invoice", value: form.invoice, onChangeText: (v) => setForm((f) => ({ ...f, invoice: v })) })] }), (0, jsx_runtime_1.jsx)(layout_1.Heading, { render: "h2", size: "$4", fontWeight: "600", color: "$ink", mt: "$4", m: 0, children: "Payment method" }), (0, jsx_runtime_1.jsx)(layout_1.YStack, { id: "hanzo-square", "aria-label": "Card details", minH: 90 }), !ready && !wrong ? ((0, jsx_runtime_1.jsx)(layout_1.Paragraph, { size: "$1", color: "$quiet", m: 0, children: "Loading the card form\u2026" })) : null] }), (0, jsx_runtime_1.jsx)(layout_1.YStack, { flex: 1, flexBasis: 360, minW: 0, children: (0, jsx_runtime_1.jsxs)(frame_1.Panel, { label: "Order summary", children: [(0, jsx_runtime_1.jsx)(layout_1.Heading, { render: "h2", size: "$5", fontWeight: "600", color: "$ink", m: 0, children: o.category === 'team' ? 'Team plan' : `${o.name} plan` }), (0, jsx_runtime_1.jsx)(frame_1.Line, { muted: true, label: `${label} ${interval === 'annual' ? 'annual' : 'monthly'}`, value: (0, plans_1.usd)(l.subtotal) }), (0, jsx_runtime_1.jsx)(frame_1.Line, { muted: true, label: "Subtotal", value: (0, plans_1.usd)(l.subtotal) }), (0, jsx_runtime_1.jsx)(frame_1.Line, { muted: true, label: "Tax", value: "Calculated at payment" }), (0, jsx_runtime_1.jsx)(frame_1.Line, { strong: true, label: "Total due today", value: (0, plans_1.usd)(l.subtotal) }), (0, jsx_runtime_1.jsxs)(layout_1.Paragraph, { size: "$2", color: "$ink", m: 0, p: "$3", borderWidth: 1, borderColor: "$borderColor", rounded: "$3", children: ["Your subscription will auto-renew on ", renews(interval), ". You will be charged ", (0, plans_1.usd)(l.subtotal), "/", per, o.category === 'team' ? ` (${l.seats} seats × ${(0, plans_1.usd)((0, plans_1.unit)(plan, interval))}/seat/month${interval === 'annual' ? ', billed yearly' : ''})` : '', ". Cancel any time in Settings \u2192 Billing."] }), (0, jsx_runtime_1.jsxs)(layout_1.XStack, { items: "flex-start", gap: "$3", children: [(0, jsx_runtime_1.jsx)(checkbox_1.Checkbox, { id: "hanzo-consent", checked: agree, onCheckedChange: (v) => setAgree(v === true), mt: "$1", "aria-label": "Agree to recurring charges" }), (0, jsx_runtime_1.jsxs)(layout_1.Paragraph, { render: "label", htmlFor: "hanzo-consent", size: "$2", color: "$ink", flex: 1, m: 0, children: ["You agree that ", site, " will charge your card in the amount above now and on a recurring ", every, " basis until you cancel in accordance with our", ' ', (0, jsx_runtime_1.jsx)(layout_1.Anchor, { href: termsPath, color: "$ink", textDecorationLine: "underline", children: "terms" }), ". You can cancel at any time in your account settings."] })] }), wrong ? (0, jsx_runtime_1.jsx)(field_1.FieldError, { children: wrong }) : null, (0, jsx_runtime_1.jsx)(screens_1.Primary, { type: "button", disabled: !ready || busy, onClick: () => void submit(), onPress: () => void submit(), children: busy ? 'One moment…' : 'Subscribe' })] }) })] }) }));
254
+ }, price: (i) => {
255
+ const price = (0, plans_1.usd)((0, plans_1.lines)(plan, i, seats).subtotal);
256
+ return i === 'annual' ? t('{price} / year · billed yearly', { price }) : t('{price} / month', { price });
257
+ } })), (0, jsx_runtime_1.jsx)(layout_1.Heading, { render: "h2", size: "$4", fontWeight: "600", color: "$ink", mt: "$4", m: 0, children: t('Billing information') }), (0, jsx_runtime_1.jsxs)(field_1.Field, { gap: "$2", children: [(0, jsx_runtime_1.jsx)(field_1.FieldLabel, { htmlFor: "hanzo-bill-name", children: t('Full name') }), (0, jsx_runtime_1.jsx)(input_1.Input, { id: "hanzo-bill-name", name: "name", autoComplete: "name", value: form.name, onChangeText: (v) => setForm((f) => ({ ...f, name: v })) })] }), (0, jsx_runtime_1.jsxs)(field_1.Field, { gap: "$2", children: [(0, jsx_runtime_1.jsx)(field_1.FieldLabel, { htmlFor: "hanzo-bill-country", children: t('Country or region') }), (0, jsx_runtime_1.jsxs)(select_1.Select, { value: form.country, onValueChange: (v) => setForm((f) => ({ ...f, country: v })), children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { id: "hanzo-bill-country", "aria-label": t('Country or region'), children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, {}) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { children: COUNTRIES.map(([c, n]) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: c, children: t(n) }, c))) })] })] }), (0, jsx_runtime_1.jsxs)(field_1.Field, { gap: "$2", children: [(0, jsx_runtime_1.jsx)(field_1.FieldLabel, { htmlFor: "hanzo-bill-address", children: t('Address') }), (0, jsx_runtime_1.jsx)(input_1.Input, { id: "hanzo-bill-address", name: "address", autoComplete: "street-address", value: form.address, onChangeText: (v) => setForm((f) => ({ ...f, address: v })) })] }), (0, jsx_runtime_1.jsxs)(field_1.Field, { gap: "$2", children: [(0, jsx_runtime_1.jsx)(field_1.FieldLabel, { htmlFor: "hanzo-bill-invoice", children: t('Use a different name on invoices (optional)') }), (0, jsx_runtime_1.jsx)(input_1.Input, { id: "hanzo-bill-invoice", name: "invoice", value: form.invoice, onChangeText: (v) => setForm((f) => ({ ...f, invoice: v })) })] }), (0, jsx_runtime_1.jsx)(layout_1.Heading, { render: "h2", size: "$4", fontWeight: "600", color: "$ink", mt: "$4", m: 0, children: t('Payment method') }), (0, jsx_runtime_1.jsx)(layout_1.YStack, { id: "hanzo-square", "aria-label": t('Card details'), minH: 90 }), !ready && !wrong ? ((0, jsx_runtime_1.jsx)(layout_1.Paragraph, { size: "$1", color: "$quiet", m: 0, children: t('Loading the card form…') })) : null] }), (0, jsx_runtime_1.jsx)(layout_1.YStack, { flex: 1, flexBasis: 360, minW: 0, children: (0, jsx_runtime_1.jsxs)(frame_1.Panel, { label: t('Order summary'), children: [(0, jsx_runtime_1.jsx)(layout_1.Heading, { render: "h2", size: "$5", fontWeight: "600", color: "$ink", m: 0, children: team ? t('Team plan') : t('{plan} plan', { plan: o.name }) }), (0, jsx_runtime_1.jsx)(frame_1.Line, { muted: true, label: annual ? t('{item} annual', { item: label }) : t('{item} monthly', { item: label }), value: charged }), (0, jsx_runtime_1.jsx)(frame_1.Line, { muted: true, label: t('Subtotal'), value: charged }), (0, jsx_runtime_1.jsx)(frame_1.Line, { muted: true, label: t('Tax'), value: t('Calculated at payment') }), (0, jsx_runtime_1.jsx)(frame_1.Line, { strong: true, label: t('Total due today'), value: charged }), (0, jsx_runtime_1.jsx)(layout_1.Paragraph, { size: "$2", color: "$ink", m: 0, p: "$3", borderWidth: 1, borderColor: "$borderColor", rounded: "$3", children: [
258
+ t('Your subscription will auto-renew on {date}.', { date: renews(interval) }),
259
+ team
260
+ ? annual
261
+ ? t('You will be charged {price}/year ({n} seats × {seat}/seat/month, billed yearly).', { price: charged, n: l.seats, seat })
262
+ : t('You will be charged {price}/month ({n} seats × {seat}/seat/month).', { price: charged, n: l.seats, seat })
263
+ : annual
264
+ ? t('You will be charged {price}/year.', { price: charged })
265
+ : t('You will be charged {price}/month.', { price: charged }),
266
+ t('Cancel any time in Settings → Billing.'),
267
+ ].join(' ') }), (0, jsx_runtime_1.jsxs)(layout_1.XStack, { items: "flex-start", gap: "$3", children: [(0, jsx_runtime_1.jsx)(checkbox_1.Checkbox, { id: "hanzo-consent", checked: agree, onCheckedChange: (v) => setAgree(v === true), mt: "$1", "aria-label": t('Agree to recurring charges') }), (0, jsx_runtime_1.jsxs)(layout_1.Paragraph, { render: "label", htmlFor: "hanzo-consent", size: "$2", color: "$ink", flex: 1, m: 0, children: [annual
268
+ ? t('You agree that {site} will charge your card in the amount above now and on a recurring yearly basis until you cancel in accordance with our {terms}.', { site, terms })
269
+ : t('You agree that {site} will charge your card in the amount above now and on a recurring monthly basis until you cancel in accordance with our {terms}.', { site, terms }), ` ${t('You can cancel at any time in your account settings.')}`] })] }), wrong ? (0, jsx_runtime_1.jsx)(field_1.FieldError, { children: t(wrong) }) : null, (0, jsx_runtime_1.jsx)(screens_1.Primary, { type: "button", disabled: !ready || busy, onClick: () => void submit(), onPress: () => void submit(), children: busy ? t('One moment…') : t('Subscribe') })] }) })] }) }));
187
270
  }
@@ -9,6 +9,9 @@ import { type Interval, type PlanId } from './plans.js';
9
9
  * Before it charges, it reads the catalog and refuses if the catalog's price is
10
10
  * not the one on screen, so a person is never billed a different amount than the
11
11
  * one they agreed to.
12
+ *
13
+ * Its words are the reader's language (@hanzo/i18n `t`); amounts and the renewal
14
+ * date are formatted as before, and the events it sends stay in English.
12
15
  */
13
16
  export interface CheckoutProps {
14
17
  site?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.d.ts","sourceRoot":"","sources":["../../src/onboarding/Checkout.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGpC,OAAO,EAA8D,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAEhH;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;IAClC,8FAA8F;IAC9F,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB,MAAM,EAAE,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACzC;AAyBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,+BAK5C"}
1
+ {"version":3,"file":"Checkout.d.ts","sourceRoot":"","sources":["../../src/onboarding/Checkout.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAA8D,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAGhH;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;IAClC,8FAA8F;IAC9F,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB,MAAM,EAAE,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACzC;AA6BD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,+BAM5C"}