@arbidocs/blocks 0.3.184 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (598) hide show
  1. package/README.md +100 -0
  2. package/dist/agents/approvals/AuthorizeAgentParts.d.ts +79 -0
  3. package/dist/agents/approvals/ConsentPage.d.ts +76 -0
  4. package/dist/agents/approvals/ConsentParts.d.ts +37 -0
  5. package/dist/agents/approvals/index.d.ts +3 -0
  6. package/dist/agents/config/ConfigField.d.ts +43 -0
  7. package/dist/agents/config/ConfigForm.d.ts +35 -0
  8. package/dist/agents/config/TupleArrayField.d.ts +32 -0
  9. package/dist/agents/config/index.d.ts +4 -0
  10. package/dist/agents/config/schema-utils.d.ts +28 -0
  11. package/dist/agents/definitions/AgentCard.d.ts +63 -0
  12. package/dist/agents/definitions/AgentCreator.d.ts +118 -0
  13. package/dist/agents/definitions/AgentEditorParts.d.ts +63 -0
  14. package/dist/agents/definitions/AgentGallery.d.ts +29 -0
  15. package/dist/agents/definitions/index.d.ts +4 -0
  16. package/dist/agents/index.cjs +595 -0
  17. package/dist/agents/index.cjs.map +1 -0
  18. package/dist/agents/index.d.ts +7 -0
  19. package/dist/agents/index.js +14 -0
  20. package/dist/agents/index.js.map +1 -0
  21. package/dist/agents/runs/AgentBar.d.ts +103 -0
  22. package/dist/agents/runs/AgentSteps.d.ts +157 -0
  23. package/dist/agents/runs/SubagentRoster.d.ts +37 -0
  24. package/dist/agents/runs/index.d.ts +3 -0
  25. package/dist/agents/skills/SkillBrowserParts.d.ts +70 -0
  26. package/dist/agents/skills/SkillCard.d.ts +48 -0
  27. package/dist/agents/skills/SkillForms.d.ts +64 -0
  28. package/dist/agents/skills/SkillParts.d.ts +31 -0
  29. package/dist/agents/skills/SkillRow.d.ts +34 -0
  30. package/dist/agents/skills/index.d.ts +5 -0
  31. package/dist/agents/tasks/LiveRunsBanner.d.ts +26 -0
  32. package/dist/agents/tasks/RecurrenceBuilder.d.ts +36 -0
  33. package/dist/agents/tasks/TaskComposer.d.ts +108 -0
  34. package/dist/agents/tasks/TaskPlan.d.ts +78 -0
  35. package/dist/agents/tasks/TaskRowActions.d.ts +43 -0
  36. package/dist/agents/tasks/TaskRunsDialog.d.ts +45 -0
  37. package/dist/agents/tasks/TasksChrome.d.ts +36 -0
  38. package/dist/agents/tasks/UploadTaskItem.d.ts +39 -0
  39. package/dist/agents/tasks/UploadTaskList.d.ts +35 -0
  40. package/dist/agents/tasks/elapsed.d.ts +2 -0
  41. package/dist/agents/tasks/index.d.ts +13 -0
  42. package/dist/agents/tasks/rrule.d.ts +36 -0
  43. package/dist/agents/tasks/taskColumns.d.ts +68 -0
  44. package/dist/agents/tasks/taskLabels.d.ts +26 -0
  45. package/dist/agents/workflows/AgentSelect.d.ts +33 -0
  46. package/dist/agents/workflows/SchemaForm.d.ts +37 -0
  47. package/dist/agents/workflows/WorkflowConfigDialog.d.ts +73 -0
  48. package/dist/agents/workflows/WorkflowLauncher.d.ts +38 -0
  49. package/dist/agents/workflows/index.d.ts +6 -0
  50. package/dist/agents/workflows/types.d.ts +125 -0
  51. package/dist/agents/workflows/workflow.d.ts +62 -0
  52. package/dist/auth/AuthFooter.d.ts +56 -0
  53. package/dist/auth/AuthForm.d.ts +105 -0
  54. package/dist/auth/AuthLayout.d.ts +46 -0
  55. package/dist/auth/PasswordStrengthInput.d.ts +44 -0
  56. package/dist/auth/RecoveryDialogs.d.ts +90 -0
  57. package/dist/auth/SsoLoginButton.d.ts +19 -0
  58. package/dist/auth/index.cjs +123 -0
  59. package/dist/auth/index.cjs.map +1 -0
  60. package/dist/auth/index.d.ts +6 -0
  61. package/dist/auth/index.js +6 -0
  62. package/dist/auth/index.js.map +1 -0
  63. package/dist/builder/AgentsPanel.d.ts +9 -0
  64. package/dist/builder/ModuleManager.d.ts +6 -0
  65. package/dist/builder/VerticalBuilder.d.ts +32 -0
  66. package/dist/builder/agents/store.d.ts +21 -0
  67. package/dist/builder/export.d.ts +30 -0
  68. package/dist/builder/modules/registry.d.ts +11 -0
  69. package/dist/builder/modules/store.d.ts +29 -0
  70. package/dist/builder/modules/types.d.ts +29 -0
  71. package/dist/builder/types.d.ts +28 -0
  72. package/dist/chat/BranchControls.d.ts +33 -0
  73. package/dist/chat/Composer.d.ts +156 -0
  74. package/dist/chat/ContextChip.d.ts +19 -0
  75. package/dist/chat/ContextPanel.d.ts +108 -0
  76. package/dist/chat/ConversationEmpty.d.ts +53 -0
  77. package/dist/chat/ConversationLayout.d.ts +40 -0
  78. package/dist/chat/ConversationParts.d.ts +62 -0
  79. package/dist/chat/ConversationSearchView.d.ts +57 -0
  80. package/dist/chat/LabelPinRow.d.ts +30 -0
  81. package/dist/chat/Message.d.ts +189 -0
  82. package/dist/chat/MessageAlert.d.ts +25 -0
  83. package/dist/chat/MessageList.d.ts +102 -0
  84. package/dist/chat/ModelPicker.d.ts +103 -0
  85. package/dist/chat/PendingAnswerBar.d.ts +36 -0
  86. package/dist/chat/PinnedDocChip.d.ts +22 -0
  87. package/dist/chat/SlashMenu.d.ts +57 -0
  88. package/dist/chat/ThreadMap.d.ts +45 -0
  89. package/dist/chat/index.cjs +423 -0
  90. package/dist/chat/index.cjs.map +1 -0
  91. package/dist/chat/index.d.ts +21 -0
  92. package/dist/chat/index.js +6 -0
  93. package/dist/chat/index.js.map +1 -0
  94. package/dist/chat/test-id.d.ts +16 -0
  95. package/dist/chat/useStreamAnnouncement.d.ts +19 -0
  96. package/dist/chunk-223D4727.cjs +50 -0
  97. package/dist/chunk-223D4727.cjs.map +1 -0
  98. package/dist/chunk-4EZVCGRL.js +803 -0
  99. package/dist/chunk-4EZVCGRL.js.map +1 -0
  100. package/dist/chunk-54Q3RNJU.cjs +516 -0
  101. package/dist/chunk-54Q3RNJU.cjs.map +1 -0
  102. package/dist/chunk-5B4PXAKI.cjs +287 -0
  103. package/dist/chunk-5B4PXAKI.cjs.map +1 -0
  104. package/dist/chunk-5TYEJOXY.js +1762 -0
  105. package/dist/chunk-5TYEJOXY.js.map +1 -0
  106. package/dist/chunk-6ALISABK.cjs +677 -0
  107. package/dist/chunk-6ALISABK.cjs.map +1 -0
  108. package/dist/chunk-6HIPFEID.cjs +574 -0
  109. package/dist/chunk-6HIPFEID.cjs.map +1 -0
  110. package/dist/chunk-76JDDMSP.js +31 -0
  111. package/dist/chunk-76JDDMSP.js.map +1 -0
  112. package/dist/chunk-7F6CBP3Z.js +12 -0
  113. package/dist/chunk-7F6CBP3Z.js.map +1 -0
  114. package/dist/chunk-7G2LJMUG.cjs +45 -0
  115. package/dist/chunk-7G2LJMUG.cjs.map +1 -0
  116. package/dist/chunk-7G3JNSJB.cjs +1809 -0
  117. package/dist/chunk-7G3JNSJB.cjs.map +1 -0
  118. package/dist/chunk-A2YAC22G.js +93 -0
  119. package/dist/chunk-A2YAC22G.js.map +1 -0
  120. package/dist/chunk-ADOKTJHV.cjs +262 -0
  121. package/dist/chunk-ADOKTJHV.cjs.map +1 -0
  122. package/dist/chunk-AXIZ2MDV.js +751 -0
  123. package/dist/chunk-AXIZ2MDV.js.map +1 -0
  124. package/dist/chunk-AZQDNYH4.js +2865 -0
  125. package/dist/chunk-AZQDNYH4.js.map +1 -0
  126. package/dist/chunk-C54XEN5T.cjs +34 -0
  127. package/dist/chunk-C54XEN5T.cjs.map +1 -0
  128. package/dist/chunk-CQCC7LE7.js +210 -0
  129. package/dist/chunk-CQCC7LE7.js.map +1 -0
  130. package/dist/chunk-CRIKTUEU.cjs +47 -0
  131. package/dist/chunk-CRIKTUEU.cjs.map +1 -0
  132. package/dist/chunk-CTZ5745I.js +564 -0
  133. package/dist/chunk-CTZ5745I.js.map +1 -0
  134. package/dist/chunk-DPLRHEJZ.js +78 -0
  135. package/dist/chunk-DPLRHEJZ.js.map +1 -0
  136. package/dist/chunk-DVLEQURC.js +672 -0
  137. package/dist/chunk-DVLEQURC.js.map +1 -0
  138. package/dist/chunk-ELR74ME6.cjs +68 -0
  139. package/dist/chunk-ELR74ME6.cjs.map +1 -0
  140. package/dist/{chunk-DBAUZD7A.cjs → chunk-FZQJ2S6P.cjs} +244 -1123
  141. package/dist/chunk-FZQJ2S6P.cjs.map +1 -0
  142. package/dist/chunk-G3G7LZPM.cjs +205 -0
  143. package/dist/chunk-G3G7LZPM.cjs.map +1 -0
  144. package/dist/chunk-GDFWJ73C.cjs +2973 -0
  145. package/dist/chunk-GDFWJ73C.cjs.map +1 -0
  146. package/dist/chunk-ITGHMJOM.js +5528 -0
  147. package/dist/chunk-ITGHMJOM.js.map +1 -0
  148. package/dist/chunk-K4BGOPGG.js +79 -0
  149. package/dist/chunk-K4BGOPGG.js.map +1 -0
  150. package/dist/chunk-KUA3BCT2.cjs +272 -0
  151. package/dist/chunk-KUA3BCT2.cjs.map +1 -0
  152. package/dist/chunk-LGBAZD37.js +341 -0
  153. package/dist/chunk-LGBAZD37.js.map +1 -0
  154. package/dist/chunk-MHVNT4J3.cjs +15 -0
  155. package/dist/chunk-MHVNT4J3.cjs.map +1 -0
  156. package/dist/chunk-MMYCZRKT.cjs +168 -0
  157. package/dist/chunk-MMYCZRKT.cjs.map +1 -0
  158. package/dist/chunk-NBV56SGU.js +42 -0
  159. package/dist/chunk-NBV56SGU.js.map +1 -0
  160. package/dist/chunk-NPLYHR2E.js +13 -0
  161. package/dist/chunk-NPLYHR2E.js.map +1 -0
  162. package/dist/chunk-NUNKSZKU.js +203 -0
  163. package/dist/chunk-NUNKSZKU.js.map +1 -0
  164. package/dist/chunk-OB5F4577.cjs +40 -0
  165. package/dist/chunk-OB5F4577.cjs.map +1 -0
  166. package/dist/chunk-OUW6G4O2.cjs +96 -0
  167. package/dist/chunk-OUW6G4O2.cjs.map +1 -0
  168. package/dist/chunk-OVEQERPO.js +66 -0
  169. package/dist/chunk-OVEQERPO.js.map +1 -0
  170. package/dist/chunk-P6GHJSLR.js +34 -0
  171. package/dist/chunk-P6GHJSLR.js.map +1 -0
  172. package/dist/chunk-PCB2BPN3.cjs +41 -0
  173. package/dist/chunk-PCB2BPN3.cjs.map +1 -0
  174. package/dist/chunk-PPCATBOY.cjs +15 -0
  175. package/dist/chunk-PPCATBOY.cjs.map +1 -0
  176. package/dist/chunk-QN42OA5J.js +887 -0
  177. package/dist/chunk-QN42OA5J.js.map +1 -0
  178. package/dist/{chunk-FZ2S6VAZ.js → chunk-RBXZYNVB.js} +223 -1102
  179. package/dist/chunk-RBXZYNVB.js.map +1 -0
  180. package/dist/chunk-RC6VTY2H.js +47 -0
  181. package/dist/chunk-RC6VTY2H.js.map +1 -0
  182. package/dist/chunk-RFIBUWLF.cjs +232 -0
  183. package/dist/chunk-RFIBUWLF.cjs.map +1 -0
  184. package/dist/chunk-S5T7ZTX2.js +266 -0
  185. package/dist/chunk-S5T7ZTX2.js.map +1 -0
  186. package/dist/chunk-S7PSMMRG.js +38 -0
  187. package/dist/chunk-S7PSMMRG.js.map +1 -0
  188. package/dist/chunk-SCFYPAG6.cjs +18 -0
  189. package/dist/chunk-SCFYPAG6.cjs.map +1 -0
  190. package/dist/chunk-SYDHKKRZ.cjs +818 -0
  191. package/dist/chunk-SYDHKKRZ.cjs.map +1 -0
  192. package/dist/chunk-TX2ZICS7.js +139 -0
  193. package/dist/chunk-TX2ZICS7.js.map +1 -0
  194. package/dist/chunk-TYZUCAT7.js +787 -0
  195. package/dist/chunk-TYZUCAT7.js.map +1 -0
  196. package/dist/chunk-U2E3WT3J.js +45 -0
  197. package/dist/chunk-U2E3WT3J.js.map +1 -0
  198. package/dist/chunk-UBNVIIBT.js +284 -0
  199. package/dist/chunk-UBNVIIBT.js.map +1 -0
  200. package/dist/chunk-UFHMLHIR.cjs +66 -0
  201. package/dist/chunk-UFHMLHIR.cjs.map +1 -0
  202. package/dist/chunk-UJE32SST.js +39 -0
  203. package/dist/chunk-UJE32SST.js.map +1 -0
  204. package/dist/chunk-ULWRNGGE.cjs +146 -0
  205. package/dist/chunk-ULWRNGGE.cjs.map +1 -0
  206. package/dist/chunk-UTWX2X2A.js +165 -0
  207. package/dist/chunk-UTWX2X2A.js.map +1 -0
  208. package/dist/chunk-UWGIB3VQ.js +64 -0
  209. package/dist/chunk-UWGIB3VQ.js.map +1 -0
  210. package/dist/chunk-V4ISCZJ7.cjs +207 -0
  211. package/dist/chunk-V4ISCZJ7.cjs.map +1 -0
  212. package/dist/chunk-VFUWWH52.cjs +83 -0
  213. package/dist/chunk-VFUWWH52.cjs.map +1 -0
  214. package/dist/chunk-VILAPTCB.js +259 -0
  215. package/dist/chunk-VILAPTCB.js.map +1 -0
  216. package/dist/chunk-VLCY46K6.cjs +82 -0
  217. package/dist/chunk-VLCY46K6.cjs.map +1 -0
  218. package/dist/chunk-VPPX5XUF.cjs +813 -0
  219. package/dist/chunk-VPPX5XUF.cjs.map +1 -0
  220. package/dist/chunk-WJMEXTVD.cjs +122 -0
  221. package/dist/chunk-WJMEXTVD.cjs.map +1 -0
  222. package/dist/chunk-WTNMWEBC.js +504 -0
  223. package/dist/chunk-WTNMWEBC.js.map +1 -0
  224. package/dist/chunk-WW6EOVZA.js +112 -0
  225. package/dist/chunk-WW6EOVZA.js.map +1 -0
  226. package/dist/chunk-XNBAXRY7.cjs +5673 -0
  227. package/dist/chunk-XNBAXRY7.cjs.map +1 -0
  228. package/dist/chunk-XQ7PKKDY.cjs +787 -0
  229. package/dist/chunk-XQ7PKKDY.cjs.map +1 -0
  230. package/dist/chunk-XZIYRKLW.cjs +347 -0
  231. package/dist/chunk-XZIYRKLW.cjs.map +1 -0
  232. package/dist/chunk-YBXCZEWS.js +187 -0
  233. package/dist/chunk-YBXCZEWS.js.map +1 -0
  234. package/dist/chunk-YDHO4AVL.js +16 -0
  235. package/dist/chunk-YDHO4AVL.js.map +1 -0
  236. package/dist/chunk-ZORQ5M3W.cjs +934 -0
  237. package/dist/chunk-ZORQ5M3W.cjs.map +1 -0
  238. package/dist/chunk-ZW6FPIFC.cjs +36 -0
  239. package/dist/chunk-ZW6FPIFC.cjs.map +1 -0
  240. package/dist/citations/CitationEditor.d.ts +58 -0
  241. package/dist/citations/PassagePill.d.ts +49 -0
  242. package/dist/citations/QuietMarks.d.ts +81 -0
  243. package/dist/citations/index.cjs +47 -0
  244. package/dist/citations/index.cjs.map +1 -0
  245. package/dist/citations/index.d.ts +3 -0
  246. package/dist/citations/index.js +6 -0
  247. package/dist/citations/index.js.map +1 -0
  248. package/dist/collaboration/contacts/AddContactsParts.d.ts +46 -0
  249. package/dist/collaboration/contacts/index.d.ts +1 -0
  250. package/dist/collaboration/direct-messages/DirectMessages.d.ts +33 -0
  251. package/dist/collaboration/direct-messages/DmParts.d.ts +139 -0
  252. package/dist/collaboration/direct-messages/index.d.ts +2 -0
  253. package/dist/collaboration/index.cjs +141 -0
  254. package/dist/collaboration/index.cjs.map +1 -0
  255. package/dist/collaboration/index.d.ts +5 -0
  256. package/dist/collaboration/index.js +8 -0
  257. package/dist/collaboration/index.js.map +1 -0
  258. package/dist/collaboration/mail/MailFolderTree.d.ts +34 -0
  259. package/dist/collaboration/mail/index.d.ts +2 -0
  260. package/dist/collaboration/mail/mailFolders.d.ts +25 -0
  261. package/dist/collaboration/members/WorkspaceMembers.d.ts +74 -0
  262. package/dist/collaboration/members/index.d.ts +1 -0
  263. package/dist/collaboration/sharing/ShareControl.d.ts +38 -0
  264. package/dist/collaboration/sharing/index.d.ts +1 -0
  265. package/dist/components/Accordion.d.ts +12 -0
  266. package/dist/components/ActionLink.d.ts +18 -0
  267. package/dist/components/AskBar.d.ts +48 -0
  268. package/dist/components/AvatarBlock.d.ts +9 -0
  269. package/dist/components/Banner.d.ts +12 -0
  270. package/dist/components/BlockImage.d.ts +18 -0
  271. package/dist/components/CTABanner.d.ts +17 -0
  272. package/dist/components/Callout.d.ts +9 -0
  273. package/dist/components/Chart.d.ts +27 -0
  274. package/dist/components/CollectionDetail.d.ts +23 -0
  275. package/dist/components/Columns.d.ts +11 -0
  276. package/dist/components/ContactForm.d.ts +42 -0
  277. package/dist/components/Container.d.ts +11 -0
  278. package/dist/components/DataTable.d.ts +47 -0
  279. package/dist/components/DataTableBlock.d.ts +26 -0
  280. package/dist/components/EmptyState.d.ts +11 -0
  281. package/dist/components/EntityChip.d.ts +24 -0
  282. package/dist/components/EntityIdentityBar.d.ts +90 -0
  283. package/dist/components/EntityTooltip.d.ts +43 -0
  284. package/dist/components/FAQ.d.ts +14 -0
  285. package/dist/components/FeatureGrid.d.ts +18 -0
  286. package/dist/components/Footer.d.ts +25 -0
  287. package/dist/components/Gallery.d.ts +15 -0
  288. package/dist/components/Hero.d.ts +35 -0
  289. package/dist/components/ListBlock.d.ts +10 -0
  290. package/dist/components/LogoCloud.d.ts +12 -0
  291. package/dist/components/MediaText.d.ts +15 -0
  292. package/dist/components/MemberAvatarStack.d.ts +36 -0
  293. package/dist/components/MetricCard.d.ts +28 -0
  294. package/dist/components/Navbar.d.ts +39 -0
  295. package/dist/components/PageHeader.d.ts +15 -0
  296. package/dist/components/PricingTable.d.ts +19 -0
  297. package/dist/components/RichTextBlock.d.ts +10 -0
  298. package/dist/components/SectionHeading.d.ts +11 -0
  299. package/dist/components/Spacer.d.ts +7 -0
  300. package/dist/components/StatGroup.d.ts +12 -0
  301. package/dist/components/Steps.d.ts +12 -0
  302. package/dist/components/Tabs.d.ts +15 -0
  303. package/dist/components/TeamGrid.d.ts +18 -0
  304. package/dist/components/Testimonial.d.ts +9 -0
  305. package/dist/components/TestimonialGrid.d.ts +13 -0
  306. package/dist/components/ToneBadge.d.ts +18 -0
  307. package/dist/components/Toolbar.d.ts +11 -0
  308. package/dist/components/UsageMeter.d.ts +21 -0
  309. package/dist/components/VideoEmbed.d.ts +16 -0
  310. package/dist/components/assetImage.d.ts +16 -0
  311. package/dist/components/assetResolver.d.ts +57 -0
  312. package/dist/components/blockLink.d.ts +26 -0
  313. package/dist/components/tones.d.ts +14 -0
  314. package/dist/connect/index.cjs +65 -0
  315. package/dist/connect/index.cjs.map +1 -0
  316. package/dist/connect/index.d.ts +8 -0
  317. package/dist/connect/index.js +28 -0
  318. package/dist/connect/index.js.map +1 -0
  319. package/dist/connection/ArbiAppProvider.d.ts +16 -0
  320. package/dist/connection/ConnectionProvider.d.ts +50 -0
  321. package/dist/connection/ai.d.ts +99 -0
  322. package/dist/connection/types.d.ts +54 -0
  323. package/dist/connection/useImageGen.d.ts +22 -0
  324. package/dist/facts/FactComposer.d.ts +75 -0
  325. package/dist/facts/FactDateInput.d.ts +34 -0
  326. package/dist/facts/FactLabelsCell.d.ts +35 -0
  327. package/dist/facts/FactPassages.d.ts +52 -0
  328. package/dist/facts/FactRowActions.d.ts +18 -0
  329. package/dist/facts/FactSearchParts.d.ts +80 -0
  330. package/dist/facts/FactSourceGroup.d.ts +26 -0
  331. package/dist/facts/FactTimelineViews.d.ts +37 -0
  332. package/dist/facts/FactsBulkBar.d.ts +53 -0
  333. package/dist/facts/FactsEmptyState.d.ts +38 -0
  334. package/dist/facts/FactsFieldsButton.d.ts +21 -0
  335. package/dist/facts/FactsFilterInput.d.ts +46 -0
  336. package/dist/facts/FactsTable.d.ts +28 -0
  337. package/dist/facts/FactsToolbar.d.ts +53 -0
  338. package/dist/facts/FactsViewToggle.d.ts +36 -0
  339. package/dist/facts/fact-date.d.ts +22 -0
  340. package/dist/facts/fact-text.d.ts +14 -0
  341. package/dist/facts/factColumns.d.ts +88 -0
  342. package/dist/facts/index.cjs +2372 -0
  343. package/dist/facts/index.cjs.map +1 -0
  344. package/dist/facts/index.d.ts +34 -0
  345. package/dist/facts/index.js +2316 -0
  346. package/dist/facts/index.js.map +1 -0
  347. package/dist/facts/timezone.d.ts +4 -0
  348. package/dist/files/AiReviewDialog.d.ts +77 -0
  349. package/dist/files/DocStatusIcon.d.ts +12 -0
  350. package/dist/files/DocumentGrid.d.ts +27 -0
  351. package/dist/files/Explorer.d.ts +10 -0
  352. package/dist/files/ExplorerSurface.d.ts +34 -0
  353. package/dist/files/ExplorerTile.d.ts +142 -0
  354. package/dist/files/ExportParts.d.ts +114 -0
  355. package/dist/files/FieldParts.d.ts +64 -0
  356. package/dist/files/FilesPage.d.ts +20 -0
  357. package/dist/files/FilesToolbar.d.ts +59 -0
  358. package/dist/files/FolderPicker.d.ts +82 -0
  359. package/dist/files/GridView.d.ts +59 -0
  360. package/dist/files/HtmlViewerParts.d.ts +183 -0
  361. package/dist/files/MoveToFolderDialog.d.ts +32 -0
  362. package/dist/files/RedlineParts.d.ts +72 -0
  363. package/dist/files/SelectionBar.d.ts +65 -0
  364. package/dist/files/StatusPill.d.ts +23 -0
  365. package/dist/files/TagPassagePanel.d.ts +60 -0
  366. package/dist/files/UploadDropzone.d.ts +33 -0
  367. package/dist/files/UploadFooter.d.ts +59 -0
  368. package/dist/files/UploadParts.d.ts +78 -0
  369. package/dist/files/UploadSources.d.ts +77 -0
  370. package/dist/files/VersionTimeline.d.ts +60 -0
  371. package/dist/files/ViewToggle.d.ts +49 -0
  372. package/dist/files/ViewerChrome.d.ts +155 -0
  373. package/dist/files/ViewerLayout.d.ts +32 -0
  374. package/dist/files/ViewerParts.d.ts +62 -0
  375. package/dist/files/bulk/BulkActionsBar.d.ts +76 -0
  376. package/dist/files/bulk/FolderFilterButton.d.ts +35 -0
  377. package/dist/files/bulk/index.d.ts +2 -0
  378. package/dist/files/cells/DocumentNameCell.d.ts +31 -0
  379. package/dist/files/cells/FolderCell.d.ts +25 -0
  380. package/dist/files/cells/HoverIconCell.d.ts +21 -0
  381. package/dist/files/cells/LabelMultiSelect.d.ts +50 -0
  382. package/dist/files/cells/RelatedDocsCell.d.ts +22 -0
  383. package/dist/files/cells/TagColumnParts.d.ts +29 -0
  384. package/dist/files/cells/index.d.ts +6 -0
  385. package/dist/files/documentGridLayout.d.ts +31 -0
  386. package/dist/files/grid-test-ids.d.ts +18 -0
  387. package/dist/files/import/CalendarImportRow.d.ts +26 -0
  388. package/dist/files/import/ImportParts.d.ts +114 -0
  389. package/dist/files/import/TaskSection.d.ts +51 -0
  390. package/dist/files/import/UrlInputDialogView.d.ts +63 -0
  391. package/dist/files/import/VendorLogo.d.ts +15 -0
  392. package/dist/files/import/index.d.ts +5 -0
  393. package/dist/files/index.cjs +7589 -0
  394. package/dist/files/index.cjs.map +1 -0
  395. package/dist/files/index.d.ts +34 -0
  396. package/dist/files/index.js +7374 -0
  397. package/dist/files/index.js.map +1 -0
  398. package/dist/files/page/FilesAddMenu.d.ts +30 -0
  399. package/dist/files/page/FilesPageParts.d.ts +24 -0
  400. package/dist/files/page/FilesPageTitle.d.ts +24 -0
  401. package/dist/files/page/index.d.ts +3 -0
  402. package/dist/files/tags/BulkTagEditor.d.ts +136 -0
  403. package/dist/files/tags/DocTagPopover.d.ts +113 -0
  404. package/dist/files/tags/TagManager.d.ts +54 -0
  405. package/dist/files/tags/index.d.ts +3 -0
  406. package/dist/files/views/FieldsEditorParts.d.ts +151 -0
  407. package/dist/files/views/FieldsManagerParts.d.ts +17 -0
  408. package/dist/files/views/TagFormParts.d.ts +109 -0
  409. package/dist/files/views/ViewSelectorMenu.d.ts +66 -0
  410. package/dist/files/views/fieldsEditorModel.d.ts +43 -0
  411. package/dist/files/views/index.d.ts +5 -0
  412. package/dist/home/ActionMenuDialog.d.ts +26 -0
  413. package/dist/home/AddFilesFirst.d.ts +22 -0
  414. package/dist/home/CardHeaderBar.d.ts +40 -0
  415. package/dist/home/CollapsibleSection.d.ts +43 -0
  416. package/dist/home/CreateTile.d.ts +17 -0
  417. package/dist/home/DashboardParts.d.ts +32 -0
  418. package/dist/home/FactsStrip.d.ts +41 -0
  419. package/dist/home/FoldSection.d.ts +19 -0
  420. package/dist/home/GettingStartedStrip.d.ts +49 -0
  421. package/dist/home/Greeting.d.ts +18 -0
  422. package/dist/home/HomeLayout.d.ts +28 -0
  423. package/dist/home/KeyValueRow.d.ts +43 -0
  424. package/dist/home/ProjectBandParts.d.ts +70 -0
  425. package/dist/home/QuickActionDialogHeader.d.ts +21 -0
  426. package/dist/home/RecentList.d.ts +48 -0
  427. package/dist/home/ScopePicker.d.ts +65 -0
  428. package/dist/home/StartTiles.d.ts +33 -0
  429. package/dist/home/index.cjs +854 -0
  430. package/dist/home/index.cjs.map +1 -0
  431. package/dist/home/index.d.ts +37 -0
  432. package/dist/home/index.js +763 -0
  433. package/dist/home/index.js.map +1 -0
  434. package/dist/home/sections.d.ts +33 -0
  435. package/dist/index.cjs +1932 -5547
  436. package/dist/index.cjs.map +1 -1
  437. package/dist/index.d.ts +71 -1716
  438. package/dist/index.js +142 -5316
  439. package/dist/index.js.map +1 -1
  440. package/dist/lib/balanced-columns.d.ts +8 -0
  441. package/dist/lib/format.d.ts +37 -0
  442. package/dist/lib/observe-resize.d.ts +6 -0
  443. package/dist/lib/password-strength.d.ts +24 -0
  444. package/dist/lib/sidebar-mode.d.ts +46 -0
  445. package/dist/lib/testid.d.ts +7 -0
  446. package/dist/lib/use-drawer.d.ts +11 -0
  447. package/dist/lib/useControllableState.d.ts +5 -0
  448. package/dist/lib/useDismissibleCard.d.ts +15 -0
  449. package/dist/lib/useListKeyNav.d.ts +42 -0
  450. package/dist/lib/useLongPaste.d.ts +15 -0
  451. package/dist/lib/useRestoreFocus.d.ts +11 -0
  452. package/dist/lib/useScopeSelection.d.ts +34 -0
  453. package/dist/nav/types.d.ts +19 -0
  454. package/dist/provider/BlocksProvider.d.ts +20 -0
  455. package/dist/provider/TooltipScope.d.ts +9 -0
  456. package/dist/record/index.cjs +2 -4
  457. package/dist/record/index.cjs.map +1 -1
  458. package/dist/record/index.d.ts +12 -16
  459. package/dist/record/index.js +2 -4
  460. package/dist/record/index.js.map +1 -1
  461. package/dist/retrieval/HighlightText.d.ts +21 -0
  462. package/dist/retrieval/SearchEmptyState.d.ts +39 -0
  463. package/dist/retrieval/SearchGroupHeader.d.ts +21 -0
  464. package/dist/retrieval/SearchHit.d.ts +36 -0
  465. package/dist/retrieval/SearchPage.d.ts +187 -0
  466. package/dist/retrieval/SearchPagination.d.ts +21 -0
  467. package/dist/retrieval/highlight.d.ts +21 -0
  468. package/dist/retrieval/index.cjs +160 -0
  469. package/dist/retrieval/index.cjs.map +1 -0
  470. package/dist/retrieval/index.d.ts +7 -0
  471. package/dist/retrieval/index.js +7 -0
  472. package/dist/retrieval/index.js.map +1 -0
  473. package/dist/settings/AccountDialogs.d.ts +89 -0
  474. package/dist/settings/AvatarPicker.d.ts +25 -0
  475. package/dist/settings/Billing.d.ts +113 -0
  476. package/dist/settings/ConfigSwitcherBar.d.ts +46 -0
  477. package/dist/settings/ConfirmDialog.d.ts +28 -0
  478. package/dist/settings/ConnectionCard.d.ts +58 -0
  479. package/dist/settings/ConversationSettingsParts.d.ts +53 -0
  480. package/dist/settings/DocumentPicker.d.ts +57 -0
  481. package/dist/settings/EmailWorkspaceDialogView.d.ts +60 -0
  482. package/dist/settings/ErrorDialog.d.ts +36 -0
  483. package/dist/settings/FloatingPanel.d.ts +32 -0
  484. package/dist/settings/JsonTree.d.ts +24 -0
  485. package/dist/settings/LogoutDialog.d.ts +51 -0
  486. package/dist/settings/ModalBreadcrumbHeader.d.ts +32 -0
  487. package/dist/settings/ModalScaffold.d.ts +60 -0
  488. package/dist/settings/MultiSelect.d.ts +111 -0
  489. package/dist/settings/NotificationCategoryList.d.ts +26 -0
  490. package/dist/settings/PanelFrame.d.ts +47 -0
  491. package/dist/settings/PasswordChangeDialog.d.ts +64 -0
  492. package/dist/settings/PlanBadge.d.ts +14 -0
  493. package/dist/settings/PlanCard.d.ts +97 -0
  494. package/dist/settings/PremiumModelsFrame.d.ts +17 -0
  495. package/dist/settings/ProfileCard.d.ts +67 -0
  496. package/dist/settings/Projects.d.ts +108 -0
  497. package/dist/settings/QuotaMeter.d.ts +31 -0
  498. package/dist/settings/ReferralCredit.d.ts +46 -0
  499. package/dist/settings/SegmentedControl.d.ts +20 -0
  500. package/dist/settings/ServerConnectionControls.d.ts +31 -0
  501. package/dist/settings/SettingsPanel.d.ts +61 -0
  502. package/dist/settings/SettingsSwitchRow.d.ts +21 -0
  503. package/dist/settings/SubscriptionParts.d.ts +215 -0
  504. package/dist/settings/SupportPanel.d.ts +32 -0
  505. package/dist/settings/SyncDialogParts.d.ts +155 -0
  506. package/dist/settings/ThreadPreviewDialog.d.ts +18 -0
  507. package/dist/settings/TipsEditorDialog.d.ts +94 -0
  508. package/dist/settings/TriStateFilterMenu.d.ts +66 -0
  509. package/dist/settings/Usage.d.ts +102 -0
  510. package/dist/settings/WelcomeDialog.d.ts +79 -0
  511. package/dist/settings/index.cjs +5131 -0
  512. package/dist/settings/index.cjs.map +1 -0
  513. package/dist/settings/index.d.ts +38 -0
  514. package/dist/settings/index.js +4922 -0
  515. package/dist/settings/index.js.map +1 -0
  516. package/dist/shell/ActionCluster.d.ts +28 -0
  517. package/dist/shell/AskField.d.ts +71 -0
  518. package/dist/shell/InfoBar.d.ts +20 -0
  519. package/dist/shell/MobileBars.d.ts +47 -0
  520. package/dist/shell/OfflinePill.d.ts +28 -0
  521. package/dist/shell/RemoteControlPill.d.ts +23 -0
  522. package/dist/shell/Shell.d.ts +123 -0
  523. package/dist/shell/Sidebar.d.ts +104 -0
  524. package/dist/shell/SidebarBadgeRow.d.ts +29 -0
  525. package/dist/shell/SidebarRowAction.d.ts +24 -0
  526. package/dist/shell/StatusRow.d.ts +20 -0
  527. package/dist/shell/TabHeader.d.ts +70 -0
  528. package/dist/shell/TipCard.d.ts +46 -0
  529. package/dist/shell/ToolButton.d.ts +12 -0
  530. package/dist/shell/Workspace.d.ts +90 -0
  531. package/dist/shell/index.cjs +187 -0
  532. package/dist/shell/index.cjs.map +1 -0
  533. package/dist/shell/index.d.ts +20 -0
  534. package/dist/shell/index.js +10 -0
  535. package/dist/shell/index.js.map +1 -0
  536. package/dist/shell/sidebar-context.d.ts +19 -0
  537. package/dist/shell/types.d.ts +48 -0
  538. package/dist/site/index.cjs +113 -90
  539. package/dist/site/index.d.ts +59 -4
  540. package/dist/site/index.js +8 -1
  541. package/dist/studio/PageRenderer.d.ts +35 -0
  542. package/dist/studio/Section.d.ts +24 -0
  543. package/dist/studio/StudioEditor.d.ts +32 -0
  544. package/dist/studio/aiFields.d.ts +17 -0
  545. package/dist/studio/blockKit.d.ts +36 -0
  546. package/dist/studio/blocksConfig.d.ts +42 -0
  547. package/dist/studio/imageFields.d.ts +14 -0
  548. package/dist/studio/index.cjs +3353 -0
  549. package/dist/studio/index.cjs.map +1 -0
  550. package/dist/studio/index.d.ts +32 -0
  551. package/dist/studio/index.js +3297 -0
  552. package/dist/studio/index.js.map +1 -0
  553. package/dist/studio/liveData.d.ts +4 -0
  554. package/dist/studio/liveWidgetRuntime.d.ts +41 -0
  555. package/dist/studio/persistence.d.ts +38 -0
  556. package/dist/studio/publish.d.ts +39 -0
  557. package/dist/studio/siteBlocks.d.ts +14 -0
  558. package/dist/studio/types.d.ts +46 -0
  559. package/dist/studio/websiteBlocks.d.ts +4 -0
  560. package/dist/studio/widgets.d.ts +20 -0
  561. package/dist/theme/ThemeEditor.d.ts +16 -0
  562. package/dist/theme/fontPairings.d.ts +48 -0
  563. package/dist/theme/store.d.ts +53 -0
  564. package/dist/theme/tokens.d.ts +105 -0
  565. package/dist/timeline/Timeline.d.ts +27 -0
  566. package/dist/timeline/TimelineCalendar.d.ts +54 -0
  567. package/dist/timeline/TimelineGantt.d.ts +71 -0
  568. package/dist/timeline/TimelineZoomControl.d.ts +17 -0
  569. package/dist/timeline/index.cjs +50 -0
  570. package/dist/timeline/index.cjs.map +1 -0
  571. package/dist/timeline/index.d.ts +13 -0
  572. package/dist/timeline/index.js +5 -0
  573. package/dist/timeline/index.js.map +1 -0
  574. package/dist/timeline/span.d.ts +29 -0
  575. package/dist/timeline/types.d.ts +30 -0
  576. package/dist/workspaces/WorkspaceBadges.d.ts +27 -0
  577. package/dist/workspaces/WorkspaceCard.d.ts +142 -0
  578. package/dist/workspaces/WorkspaceFormParts.d.ts +98 -0
  579. package/dist/workspaces/WorkspaceGroup.d.ts +31 -0
  580. package/dist/workspaces/WorkspaceSettingsParts.d.ts +70 -0
  581. package/dist/workspaces/index.cjs +690 -0
  582. package/dist/workspaces/index.cjs.map +1 -0
  583. package/dist/workspaces/index.d.ts +9 -0
  584. package/dist/workspaces/index.js +661 -0
  585. package/dist/workspaces/index.js.map +1 -0
  586. package/package.json +164 -9
  587. package/src/blocks.css +348 -0
  588. package/src/components/grid.css +60 -107
  589. package/src/source.css +20 -0
  590. package/src/studio/studio.css +3 -3
  591. package/src/tokens.css +226 -0
  592. package/dist/chunk-DBAUZD7A.cjs.map +0 -1
  593. package/dist/chunk-FZ2S6VAZ.js.map +0 -1
  594. package/dist/index-DduoEosi.d.cts +0 -846
  595. package/dist/index-DduoEosi.d.ts +0 -846
  596. package/dist/index.d.cts +0 -1717
  597. package/dist/record/index.d.cts +0 -96
  598. package/dist/site/index.d.cts +0 -4
@@ -0,0 +1,934 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var chunkMHVNT4J3_cjs = require('./chunk-MHVNT4J3.cjs');
5
+ var lucideReact = require('lucide-react');
6
+ var ui = require('@arbidocs/react/ui');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ var react = require('react');
9
+ var TabsPrimitive = require('@radix-ui/react-tabs');
10
+
11
+ function _interopNamespace(e) {
12
+ if (e && e.__esModule) return e;
13
+ var n = Object.create(null);
14
+ if (e) {
15
+ Object.keys(e).forEach(function (k) {
16
+ if (k !== 'default') {
17
+ var d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: function () { return e[k]; }
21
+ });
22
+ }
23
+ });
24
+ }
25
+ n.default = e;
26
+ return Object.freeze(n);
27
+ }
28
+
29
+ var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
30
+
31
+ function AuthLayout({
32
+ children,
33
+ headerRight,
34
+ aside,
35
+ brand,
36
+ corner,
37
+ className,
38
+ testId = "auth-layout"
39
+ }) {
40
+ return /* @__PURE__ */ jsxRuntime.jsxs(
41
+ "div",
42
+ {
43
+ "data-slot": "auth-layout",
44
+ className: ui.cn(
45
+ "min-h-screen bg-background text-foreground",
46
+ // The hero needs height: a phone held sideways (under 32rem tall) gets the form alone.
47
+ aside && "md:grid [@media(min-height:32rem)]:md:grid-cols-2",
48
+ className
49
+ ),
50
+ "data-testid": testId,
51
+ children: [
52
+ corner,
53
+ /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "flex min-h-screen flex-col px-4 py-5 sm:px-8 md:px-12 md:py-6", children: [
54
+ brand && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-3 font-semibold text-foreground", children: brand }),
55
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto mt-10 flex w-full max-w-sm flex-col gap-5 py-8 md:mt-[14vh]", children: [
56
+ headerRight && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: headerRight }),
57
+ children
58
+ ] })
59
+ ] }),
60
+ aside && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden [@media(min-height:32rem)]:md:flex", children: aside })
61
+ ]
62
+ }
63
+ );
64
+ }
65
+ function AuthHero({
66
+ headline,
67
+ emphasis,
68
+ lead,
69
+ pillars = [],
70
+ link,
71
+ backgroundImage,
72
+ children,
73
+ className,
74
+ testId = "product-pillars"
75
+ }) {
76
+ return /* @__PURE__ */ jsxRuntime.jsxs(
77
+ "div",
78
+ {
79
+ "data-slot": "auth-hero",
80
+ className: ui.cn(
81
+ "relative flex w-full flex-col justify-center gap-6 overflow-hidden bg-hero px-12 py-16 text-white",
82
+ className
83
+ ),
84
+ "data-testid": testId,
85
+ children: [
86
+ backgroundImage && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
87
+ /* @__PURE__ */ jsxRuntime.jsx(
88
+ "div",
89
+ {
90
+ "aria-hidden": "true",
91
+ "data-slot": "auth-hero-image",
92
+ className: "absolute inset-0 bg-cover bg-center",
93
+ style: { backgroundImage: `url(${backgroundImage})` }
94
+ }
95
+ ),
96
+ /* @__PURE__ */ jsxRuntime.jsx("div", { "aria-hidden": "true", className: "absolute inset-0 bg-hero/70" })
97
+ ] }),
98
+ headline && /* @__PURE__ */ jsxRuntime.jsxs("h2", { className: "relative max-w-[18ch] text-3xl font-semibold leading-tight text-white", children: [
99
+ headline,
100
+ emphasis && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
101
+ /* @__PURE__ */ jsxRuntime.jsx("br", {}),
102
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "italic text-theme-cyan-bright", children: emphasis })
103
+ ] })
104
+ ] }),
105
+ lead && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "relative max-w-[44ch] text-base text-white/70", children: lead }),
106
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "relative flex max-w-[46ch] flex-col gap-5", children: pillars.map(({ icon: Icon, title, body }) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex gap-3", children: [
107
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "mt-0.5 h-5 w-5 shrink-0 text-theme-cyan-bright", "aria-hidden": "true" }),
108
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
109
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold leading-snug text-white", children: title }),
110
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm leading-relaxed text-white/70", children: body })
111
+ ] })
112
+ ] }, title)) }),
113
+ children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children }),
114
+ link && /* @__PURE__ */ jsxRuntime.jsxs(
115
+ "a",
116
+ {
117
+ href: link.href,
118
+ target: "_blank",
119
+ rel: "noopener noreferrer",
120
+ className: "relative inline-flex items-center gap-1 text-sm font-medium text-theme-cyan-bright transition-colors hover:text-white",
121
+ children: [
122
+ link.label,
123
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { className: "h-4 w-4" })
124
+ ]
125
+ }
126
+ )
127
+ ]
128
+ }
129
+ );
130
+ }
131
+ function AuthHeading({ title, description }) {
132
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "auth-heading", children: [
133
+ /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-2xl font-semibold tracking-tight text-foreground", children: title }),
134
+ description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1.5 text-sm text-muted-foreground", children: description })
135
+ ] });
136
+ }
137
+ function AuthLink({ className, type = "button", ...props }) {
138
+ return /* @__PURE__ */ jsxRuntime.jsx(
139
+ "button",
140
+ {
141
+ type,
142
+ "data-slot": "auth-link",
143
+ className: ui.cn(
144
+ "text-sm text-primary hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:min-h-11",
145
+ className
146
+ ),
147
+ ...props
148
+ }
149
+ );
150
+ }
151
+ var AuthFieldContext = react.createContext(null);
152
+ function joinIds(...ids) {
153
+ const joined = ids.filter(Boolean).join(" ");
154
+ return joined || void 0;
155
+ }
156
+ function AuthField({
157
+ htmlFor,
158
+ error,
159
+ errorTestId,
160
+ label,
161
+ required,
162
+ labelAction,
163
+ trailing,
164
+ className,
165
+ children
166
+ }) {
167
+ const generatedId = react.useId();
168
+ const id = htmlFor ?? generatedId;
169
+ const errorId = error ? `${id}-error` : void 0;
170
+ const context = react.useMemo(() => ({ id, errorId }), [id, errorId]);
171
+ return /* @__PURE__ */ jsxRuntime.jsx(AuthFieldContext.Provider, { value: context, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "auth-field", className, children: [
172
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-1 flex items-center justify-between", children: [
173
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { htmlFor: id, className: "block text-sm font-medium text-foreground", children: [
174
+ label,
175
+ " ",
176
+ required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: "*" })
177
+ ] }),
178
+ labelAction
179
+ ] }),
180
+ trailing ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
181
+ children,
182
+ trailing
183
+ ] }) : children,
184
+ error && /* @__PURE__ */ jsxRuntime.jsx(
185
+ "p",
186
+ {
187
+ id: errorId,
188
+ role: "alert",
189
+ className: "mt-1 text-sm text-red-text",
190
+ "data-testid": errorTestId,
191
+ children: error
192
+ }
193
+ )
194
+ ] }) });
195
+ }
196
+ function AuthInput({
197
+ className,
198
+ id,
199
+ "aria-describedby": describedBy,
200
+ "aria-invalid": invalid,
201
+ ...props
202
+ }) {
203
+ const field = react.useContext(AuthFieldContext);
204
+ return /* @__PURE__ */ jsxRuntime.jsx(
205
+ ui.Input,
206
+ {
207
+ id: id ?? field?.id,
208
+ "aria-describedby": joinIds(describedBy, field?.errorId),
209
+ "aria-invalid": invalid ?? (field?.errorId ? true : void 0),
210
+ className: ui.cn("placeholder:text-muted-foreground", className),
211
+ ...props
212
+ }
213
+ );
214
+ }
215
+ var DEFAULT_REVEALABLE_PASSWORD_INPUT_LABELS = {
216
+ hidePassword: "Hide password",
217
+ showPassword: "Show password"
218
+ };
219
+ var DEFAULT_AUTH_OFFLINE_BADGE_LABELS = {
220
+ offline: "Offline"
221
+ };
222
+ function RevealablePasswordInput({
223
+ isRevealed: controlledRevealed,
224
+ defaultRevealed = false,
225
+ onToggleReveal,
226
+ className,
227
+ labels,
228
+ toggleTestId,
229
+ ...props
230
+ }) {
231
+ const [innerRevealed, setInnerRevealed] = react.useState(defaultRevealed);
232
+ const isControlled = controlledRevealed !== void 0;
233
+ const isRevealed = isControlled ? controlledRevealed : innerRevealed;
234
+ const l = react.useMemo(() => ({ ...DEFAULT_REVEALABLE_PASSWORD_INPUT_LABELS, ...labels }), [labels]);
235
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
236
+ /* @__PURE__ */ jsxRuntime.jsx(
237
+ AuthInput,
238
+ {
239
+ type: isRevealed ? "text" : "password",
240
+ className: ui.cn("pr-10", className),
241
+ ...props
242
+ }
243
+ ),
244
+ /* @__PURE__ */ jsxRuntime.jsx(
245
+ "button",
246
+ {
247
+ type: "button",
248
+ onClick: () => {
249
+ if (!isControlled) setInnerRevealed((prev) => !prev);
250
+ onToggleReveal?.();
251
+ },
252
+ "aria-label": isRevealed ? l.hidePassword : l.showPassword,
253
+ "aria-pressed": isRevealed,
254
+ className: "absolute inset-y-0 right-0 flex w-10 items-center justify-center rounded-r-md text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring pointer-coarse:w-11",
255
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(toggleTestId, { testId: "toggle-password-visibility" }),
256
+ children: isRevealed ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.EyeOff, { className: "h-4 w-4", "aria-hidden": "true" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Eye, { className: "h-4 w-4", "aria-hidden": "true" })
257
+ }
258
+ )
259
+ ] });
260
+ }
261
+ function AuthFieldBadge({
262
+ icon,
263
+ children,
264
+ testId
265
+ }) {
266
+ return /* @__PURE__ */ jsxRuntime.jsxs(
267
+ "span",
268
+ {
269
+ className: "pointer-events-none absolute inset-y-0 right-3 flex items-center gap-1 text-xs font-medium text-green-text",
270
+ "data-testid": testId,
271
+ children: [
272
+ icon,
273
+ children
274
+ ]
275
+ }
276
+ );
277
+ }
278
+ function AuthNote({ className, ...props }) {
279
+ return /* @__PURE__ */ jsxRuntime.jsx("p", { className: ui.cn("text-center text-sm text-muted-foreground", className), ...props });
280
+ }
281
+ function AuthAlert({
282
+ children,
283
+ withIcon = false,
284
+ testId,
285
+ id
286
+ }) {
287
+ return /* @__PURE__ */ jsxRuntime.jsxs(
288
+ "div",
289
+ {
290
+ id,
291
+ role: "alert",
292
+ "data-testid": testId,
293
+ className: "flex gap-2 rounded-md bg-red-bg p-3 text-sm text-red-text",
294
+ children: [
295
+ withIcon && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "h-5 w-5 flex-shrink-0", "aria-hidden": "true" }),
296
+ /* @__PURE__ */ jsxRuntime.jsx("div", { children })
297
+ ]
298
+ }
299
+ );
300
+ }
301
+ function AuthSubmitButton({
302
+ isBusy,
303
+ testId,
304
+ children,
305
+ className,
306
+ ...props
307
+ }) {
308
+ return /* @__PURE__ */ jsxRuntime.jsxs(
309
+ ui.Button,
310
+ {
311
+ type: "submit",
312
+ className: ui.cn("w-full", className),
313
+ "aria-busy": isBusy || void 0,
314
+ "data-testid": testId,
315
+ ...props,
316
+ children: [
317
+ isBusy && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-2 h-4 w-4 animate-spin" }),
318
+ children
319
+ ]
320
+ }
321
+ );
322
+ }
323
+ function AuthDivider({ label, testId }) {
324
+ return /* @__PURE__ */ jsxRuntime.jsxs(
325
+ "div",
326
+ {
327
+ "data-slot": "auth-divider",
328
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "login-divider" }),
329
+ className: "relative",
330
+ children: [
331
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full border-t border-border" }) }),
332
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex justify-center text-xs", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-background px-2 text-muted-foreground", children: label }) })
333
+ ]
334
+ }
335
+ );
336
+ }
337
+ function AuthTabs({
338
+ value,
339
+ onChange,
340
+ tabs,
341
+ ariaLabel
342
+ }) {
343
+ return /* @__PURE__ */ jsxRuntime.jsxs(TabsPrimitive__namespace.Root, { value, onValueChange: (next) => onChange(next), children: [
344
+ /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.List, { "aria-label": ariaLabel, className: "inline-flex items-center gap-6", children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
345
+ TabsPrimitive__namespace.Trigger,
346
+ {
347
+ value: tab.value,
348
+ "data-testid": tab.testId,
349
+ className: ui.cn(
350
+ "-mb-px border-b-2 py-2 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:min-w-11 pointer-coarse:py-3",
351
+ tab.value === value ? "border-primary text-foreground" : "border-transparent text-muted-foreground hover:text-foreground"
352
+ ),
353
+ children: tab.label
354
+ },
355
+ tab.value
356
+ )) }),
357
+ tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
358
+ TabsPrimitive__namespace.Content,
359
+ {
360
+ value: tab.value,
361
+ tabIndex: -1,
362
+ "aria-hidden": "true",
363
+ className: "hidden"
364
+ },
365
+ tab.value
366
+ ))
367
+ ] });
368
+ }
369
+ function AuthOfflineBadge({
370
+ label,
371
+ title,
372
+ testId,
373
+ labels
374
+ }) {
375
+ const text = label ?? labels?.offline ?? DEFAULT_AUTH_OFFLINE_BADGE_LABELS.offline;
376
+ return /* @__PURE__ */ jsxRuntime.jsxs(
377
+ "span",
378
+ {
379
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "login-offline-indicator" }),
380
+ className: "inline-flex items-center gap-1.5 rounded-md bg-yellow-bg px-2.5 py-1.5 text-sm font-medium text-yellow-text",
381
+ title,
382
+ children: [
383
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.WifiOff, { className: "h-4 w-4 shrink-0" }),
384
+ text
385
+ ]
386
+ }
387
+ );
388
+ }
389
+ var DEFAULT_SSO_LOGIN_BUTTON_LABELS = {
390
+ loginWith: "Login with",
391
+ brandIconAlt: "ARBI Docs"
392
+ };
393
+ function SsoLoginButton({
394
+ onClick,
395
+ brandIconSrc = "/favicon.svg",
396
+ brandIconAlt,
397
+ testId,
398
+ containerTestId,
399
+ labels
400
+ }) {
401
+ const l = react.useMemo(() => ({ ...DEFAULT_SSO_LOGIN_BUTTON_LABELS, ...labels }), [labels]);
402
+ return /* @__PURE__ */ jsxRuntime.jsx(
403
+ "div",
404
+ {
405
+ "data-slot": "sso-login",
406
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(containerTestId, { testId: "sso-login-button-container" }),
407
+ className: "text-center",
408
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
409
+ ui.Button,
410
+ {
411
+ onClick,
412
+ className: "flex w-full items-center justify-center gap-3",
413
+ variant: "outline",
414
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "login-with-arbi-button" }),
415
+ children: [
416
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: l.loginWith }),
417
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 pr-1", children: [
418
+ /* @__PURE__ */ jsxRuntime.jsx(
419
+ "img",
420
+ {
421
+ src: brandIconSrc,
422
+ alt: brandIconAlt ?? l.brandIconAlt,
423
+ className: "h-5 w-5 rounded object-contain"
424
+ }
425
+ ),
426
+ /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "h-5 w-5", viewBox: "0 0 24 24", fill: "#0A66C2", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" }) }),
427
+ /* @__PURE__ */ jsxRuntime.jsxs("svg", { className: "h-5 w-5", viewBox: "0 0 24 24", "aria-hidden": "true", children: [
428
+ /* @__PURE__ */ jsxRuntime.jsx(
429
+ "path",
430
+ {
431
+ fill: "#4285F4",
432
+ d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"
433
+ }
434
+ ),
435
+ /* @__PURE__ */ jsxRuntime.jsx(
436
+ "path",
437
+ {
438
+ fill: "#34A853",
439
+ d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z"
440
+ }
441
+ ),
442
+ /* @__PURE__ */ jsxRuntime.jsx(
443
+ "path",
444
+ {
445
+ fill: "#FBBC05",
446
+ d: "M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z"
447
+ }
448
+ ),
449
+ /* @__PURE__ */ jsxRuntime.jsx(
450
+ "path",
451
+ {
452
+ fill: "#EA4335",
453
+ d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"
454
+ }
455
+ )
456
+ ] }),
457
+ /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "h-5 w-5", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z" }) })
458
+ ] })
459
+ ]
460
+ }
461
+ )
462
+ }
463
+ );
464
+ }
465
+ var DEFAULT_AUTH_CONSENT_LABELS = {
466
+ acknowledge: "I acknowledge the",
467
+ and: "and",
468
+ downloadRecoveryKey: "Download my recovery key"
469
+ };
470
+ var DEFAULT_AUTH_FOOTER_LINKS_LABELS = {
471
+ installOptions: "Install options",
472
+ install: "Install"
473
+ };
474
+ var LEGAL_LINK_CLASS = "underline transition-colors hover:text-primary";
475
+ function AuthConsent({
476
+ termsAccepted,
477
+ onTermsAcceptedChange,
478
+ saveRecoveryKey,
479
+ onSaveRecoveryKeyChange,
480
+ termsLink,
481
+ privacyLink,
482
+ noRecoveryKeyWarning,
483
+ labels,
484
+ testIds
485
+ }) {
486
+ const l = react.useMemo(() => ({ ...DEFAULT_AUTH_CONSENT_LABELS, ...labels }), [labels]);
487
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "auth-consent", className: "space-y-2", children: [
488
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2", children: [
489
+ /* @__PURE__ */ jsxRuntime.jsx(
490
+ ui.Checkbox,
491
+ {
492
+ id: "accept-terms",
493
+ checked: termsAccepted,
494
+ onCheckedChange: (checked) => onTermsAcceptedChange(checked === true),
495
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.termsCheckbox, { testId: "accept-terms-checkbox" })
496
+ }
497
+ ),
498
+ /* @__PURE__ */ jsxRuntime.jsxs(
499
+ "label",
500
+ {
501
+ htmlFor: "accept-terms",
502
+ className: "cursor-pointer text-sm leading-relaxed text-muted-foreground",
503
+ children: [
504
+ l.acknowledge,
505
+ " ",
506
+ /* @__PURE__ */ jsxRuntime.jsx(
507
+ "a",
508
+ {
509
+ href: termsLink.href,
510
+ target: "_blank",
511
+ rel: "noopener noreferrer",
512
+ className: LEGAL_LINK_CLASS,
513
+ children: termsLink.label
514
+ }
515
+ ),
516
+ " ",
517
+ l.and,
518
+ " ",
519
+ /* @__PURE__ */ jsxRuntime.jsx(
520
+ "a",
521
+ {
522
+ href: privacyLink.href,
523
+ target: "_blank",
524
+ rel: "noopener noreferrer",
525
+ className: LEGAL_LINK_CLASS,
526
+ children: privacyLink.label
527
+ }
528
+ )
529
+ ]
530
+ }
531
+ )
532
+ ] }),
533
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2", children: [
534
+ /* @__PURE__ */ jsxRuntime.jsx(
535
+ ui.Checkbox,
536
+ {
537
+ id: "save-recovery-key",
538
+ checked: saveRecoveryKey,
539
+ onCheckedChange: (checked) => onSaveRecoveryKeyChange(checked === true),
540
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.recoveryKeyCheckbox, {
541
+ testId: "save-recovery-key-checkbox"
542
+ })
543
+ }
544
+ ),
545
+ /* @__PURE__ */ jsxRuntime.jsx(
546
+ "label",
547
+ {
548
+ htmlFor: "save-recovery-key",
549
+ className: "cursor-pointer text-sm leading-relaxed text-muted-foreground",
550
+ children: l.downloadRecoveryKey
551
+ }
552
+ )
553
+ ] }),
554
+ !saveRecoveryKey && /* @__PURE__ */ jsxRuntime.jsx(
555
+ "p",
556
+ {
557
+ className: "text-sm text-red-text",
558
+ role: "alert",
559
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.noRecoveryKeyWarning, {
560
+ testId: "no-recovery-key-warning"
561
+ }),
562
+ children: noRecoveryKeyWarning
563
+ }
564
+ )
565
+ ] });
566
+ }
567
+ function AuthFooterLinks({
568
+ privacyLink,
569
+ installOptions = [],
570
+ children,
571
+ labels,
572
+ installTriggerTestId
573
+ }) {
574
+ const l = react.useMemo(() => ({ ...DEFAULT_AUTH_FOOTER_LINKS_LABELS, ...labels }), [labels]);
575
+ return /* @__PURE__ */ jsxRuntime.jsxs(
576
+ "div",
577
+ {
578
+ "data-slot": "auth-footer-links",
579
+ className: "flex items-center justify-between pt-2 text-sm text-muted-foreground",
580
+ children: [
581
+ /* @__PURE__ */ jsxRuntime.jsx(
582
+ "a",
583
+ {
584
+ href: privacyLink.href,
585
+ target: "_blank",
586
+ rel: "noopener noreferrer",
587
+ className: "inline-flex items-center transition-colors hover:text-primary pointer-coarse:min-h-11",
588
+ children: privacyLink.label
589
+ }
590
+ ),
591
+ installOptions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(ui.DropdownMenu, { children: [
592
+ /* @__PURE__ */ jsxRuntime.jsxs(
593
+ ui.DropdownMenuTrigger,
594
+ {
595
+ className: "flex items-center gap-1 rounded-md px-1.5 py-1 transition-colors hover:text-primary focus:outline-none focus-visible:ring-1 focus-visible:ring-ring pointer-coarse:min-h-11",
596
+ "aria-label": l.installOptions,
597
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(installTriggerTestId, { testId: "install-options-trigger" }),
598
+ children: [
599
+ l.install,
600
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreVertical, { size: 14 })
601
+ ]
602
+ }
603
+ ),
604
+ /* @__PURE__ */ jsxRuntime.jsx(ui.DropdownMenuContent, { align: "end", children: installOptions.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
605
+ ui.DropdownMenuItem,
606
+ {
607
+ onClick: option.onSelect,
608
+ disabled: option.disabled,
609
+ className: "gap-2",
610
+ "data-testid": option.testId,
611
+ children: [
612
+ option.icon,
613
+ option.label
614
+ ]
615
+ },
616
+ option.id
617
+ )) })
618
+ ] }),
619
+ children
620
+ ]
621
+ }
622
+ );
623
+ }
624
+ function ErrorBox({ message, id }) {
625
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { id, role: "alert", className: "rounded-md bg-red-bg p-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
626
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "h-5 w-5 flex-shrink-0 text-red-text", "aria-hidden": "true" }),
627
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-text", children: message })
628
+ ] }) });
629
+ }
630
+ var DEFAULT_RECOVERY_KEY_DIALOG_LABELS = {
631
+ title: "Save your recovery key",
632
+ verifiedDescription: "If you forget your password, this is the only way to get back into your account. Save it to your password manager so it's there when you need it.",
633
+ unverifiedDescription: "Confirm your password to continue.",
634
+ done: "Done",
635
+ currentPassword: "Current Password",
636
+ passwordPlaceholder: "Enter your password",
637
+ cancel: "Cancel",
638
+ verifying: "Verifying...",
639
+ verify: "Verify"
640
+ };
641
+ var DEFAULT_ACCOUNT_RECOVERY_DIALOG_LABELS = {
642
+ title: "Recover Your Account",
643
+ description: "Upload your recovery key to regain access to your account",
644
+ emailAddress: "Email Address",
645
+ emailPlaceholder: "Enter your email",
646
+ keyLoadedFromLink: "Recovery key loaded from link",
647
+ ssoProtectedKeyNotice: "SSO-protected key \u2014 you must be signed into the matching SSO account.",
648
+ recoveryKey: "Recovery Key",
649
+ ssoProtectedKey: "SSO Protected Key",
650
+ dropKeyHere: "Drop your recovery key here",
651
+ uploadKeyPrompt: "Click or drag to upload your recovery key (.key file)",
652
+ ssoSignInNotice: "This account signs in with single sign-on. Sign in with your identity provider to continue \u2014 you won\u2019t need your forgotten master password for that step.",
653
+ ssoSignIn: "Sign in with Auth0 to continue",
654
+ afterRecoveryNotice: "After successful recovery, you will be prompted to set a new password to secure your account.",
655
+ cancel: "Cancel",
656
+ recovering: "Recovering...",
657
+ recoverAccount: "Recover Account"
658
+ };
659
+ function RecoveryKeyDialog({
660
+ open,
661
+ onClose,
662
+ verified,
663
+ password,
664
+ onPasswordChange,
665
+ onVerify,
666
+ isVerifying,
667
+ error,
668
+ title,
669
+ verifiedDescription,
670
+ unverifiedDescription,
671
+ labels,
672
+ testId,
673
+ testIds
674
+ }) {
675
+ const verifyPasswordId = react.useId();
676
+ const l = react.useMemo(() => ({ ...DEFAULT_RECOVERY_KEY_DIALOG_LABELS, ...labels }), [labels]);
677
+ const handleSubmit = (e) => {
678
+ e.preventDefault();
679
+ onVerify();
680
+ };
681
+ return /* @__PURE__ */ jsxRuntime.jsx(ui.Dialog, { open, onOpenChange: onClose, children: /* @__PURE__ */ jsxRuntime.jsxs(
682
+ ui.DialogContent,
683
+ {
684
+ presentation: "sheet",
685
+ className: "sm:max-w-md",
686
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "download-recovery-key-dialog" }),
687
+ children: [
688
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogHeader, { children: [
689
+ /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { className: "font-heading", children: title ?? l.title }),
690
+ /* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: verified ? verifiedDescription ?? l.verifiedDescription : unverifiedDescription ?? l.unverifiedDescription })
691
+ ] }),
692
+ verified ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
693
+ verified,
694
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { onClick: onClose, children: l.done }) })
695
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, className: "space-y-4", children: [
696
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
697
+ /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: verifyPasswordId, className: "text-sm font-medium", children: l.currentPassword }),
698
+ /* @__PURE__ */ jsxRuntime.jsx(
699
+ ui.Input,
700
+ {
701
+ id: verifyPasswordId,
702
+ type: "password",
703
+ value: password,
704
+ onChange: (e) => onPasswordChange(e.target.value),
705
+ placeholder: l.passwordPlaceholder,
706
+ disabled: isVerifying,
707
+ autoComplete: "current-password",
708
+ "aria-invalid": error ? true : void 0,
709
+ "aria-describedby": error ? `${verifyPasswordId}-error` : void 0,
710
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.passwordInput, { testId: "verify-password-input" })
711
+ }
712
+ )
713
+ ] }),
714
+ error && /* @__PURE__ */ jsxRuntime.jsx(ErrorBox, { message: error, id: `${verifyPasswordId}-error` }),
715
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col-reverse sm:flex-row sm:justify-end gap-3", children: [
716
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isVerifying, children: l.cancel }),
717
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { type: "submit", disabled: isVerifying || !password, children: isVerifying ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
718
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-2 h-4 w-4 animate-spin" }),
719
+ l.verifying
720
+ ] }) : l.verify })
721
+ ] })
722
+ ] })
723
+ ]
724
+ }
725
+ ) });
726
+ }
727
+ function AccountRecoveryDialog({
728
+ open,
729
+ onClose,
730
+ email,
731
+ onEmailChange,
732
+ isKeyFromLink,
733
+ keyFileName,
734
+ isKeyEncrypted,
735
+ onKeyFile,
736
+ error,
737
+ needsSsoSignIn,
738
+ onSsoSignIn,
739
+ isProcessing,
740
+ canSubmit,
741
+ onSubmit,
742
+ labels,
743
+ testId,
744
+ testIds
745
+ }) {
746
+ const recoveryEmailId = react.useId();
747
+ const l = react.useMemo(() => ({ ...DEFAULT_ACCOUNT_RECOVERY_DIALOG_LABELS, ...labels }), [labels]);
748
+ const fileInputRef = react.useRef(null);
749
+ const [isDragActive, setIsDragActive] = react.useState(false);
750
+ const handleDragOver = (e) => {
751
+ e.preventDefault();
752
+ e.stopPropagation();
753
+ setIsDragActive(true);
754
+ };
755
+ const handleDragLeave = (e) => {
756
+ e.preventDefault();
757
+ e.stopPropagation();
758
+ setIsDragActive(false);
759
+ };
760
+ const handleDrop = (e) => {
761
+ e.preventDefault();
762
+ e.stopPropagation();
763
+ setIsDragActive(false);
764
+ const file = e.dataTransfer.files?.[0];
765
+ if (file) onKeyFile(file);
766
+ };
767
+ return /* @__PURE__ */ jsxRuntime.jsx(ui.Dialog, { open, onOpenChange: onClose, children: /* @__PURE__ */ jsxRuntime.jsxs(
768
+ ui.DialogContent,
769
+ {
770
+ presentation: "sheet",
771
+ className: "sm:max-w-md",
772
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "forgot-password-modal" }),
773
+ children: [
774
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogHeader, { children: [
775
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogTitle, { className: "flex items-center gap-2", children: [
776
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Key, { className: "h-5 w-5 text-primary" }),
777
+ l.title
778
+ ] }),
779
+ /* @__PURE__ */ jsxRuntime.jsx(ui.DialogDescription, { children: l.description })
780
+ ] }),
781
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
782
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
783
+ /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: recoveryEmailId, className: "text-sm font-medium", children: l.emailAddress }),
784
+ /* @__PURE__ */ jsxRuntime.jsx(
785
+ ui.Input,
786
+ {
787
+ id: recoveryEmailId,
788
+ type: "email",
789
+ value: email,
790
+ onChange: (e) => onEmailChange(e.target.value),
791
+ placeholder: l.emailPlaceholder,
792
+ disabled: isProcessing,
793
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.emailInput, { testId: "recovery-email-input" })
794
+ }
795
+ )
796
+ ] }),
797
+ isKeyFromLink ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-md bg-green-bg p-3", children: [
798
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
799
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Key, { className: "h-4 w-4 text-green-text" }),
800
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-green-text", children: l.keyLoadedFromLink })
801
+ ] }),
802
+ isKeyEncrypted && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 inline-flex items-center gap-1 text-sm text-primary", children: [
803
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Shield, { className: "h-3 w-3" }),
804
+ l.ssoProtectedKeyNotice
805
+ ] })
806
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
807
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium", children: l.recoveryKey }),
808
+ /* @__PURE__ */ jsxRuntime.jsxs(
809
+ "div",
810
+ {
811
+ role: "button",
812
+ tabIndex: 0,
813
+ className: ui.cn(
814
+ "cursor-pointer rounded-lg p-4 text-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
815
+ isDragActive ? "bg-accent" : "bg-muted hover:bg-muted/70"
816
+ ),
817
+ onClick: () => fileInputRef.current?.click(),
818
+ onKeyDown: (e) => {
819
+ if (e.key === "Enter" || e.key === " ") {
820
+ e.preventDefault();
821
+ fileInputRef.current?.click();
822
+ }
823
+ },
824
+ onDragOver: handleDragOver,
825
+ onDragLeave: handleDragLeave,
826
+ onDrop: handleDrop,
827
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.keyDropzone, { testId: "recovery-key-dropzone" }),
828
+ children: [
829
+ /* @__PURE__ */ jsxRuntime.jsx(
830
+ "input",
831
+ {
832
+ ref: fileInputRef,
833
+ type: "file",
834
+ accept: ".key",
835
+ onClick: (e) => e.stopPropagation(),
836
+ onChange: (e) => {
837
+ const file = e.target.files?.[0];
838
+ if (file) onKeyFile(file);
839
+ },
840
+ className: "hidden",
841
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.keyInput, { testId: "recovery-key-input" })
842
+ }
843
+ ),
844
+ keyFileName ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-1", children: [
845
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 text-sm", children: [
846
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Key, { className: "h-4 w-4 text-green-text" }),
847
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-green-text", children: keyFileName })
848
+ ] }),
849
+ isKeyEncrypted && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1 text-sm text-primary", children: [
850
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Shield, { className: "h-3 w-3" }),
851
+ l.ssoProtectedKey
852
+ ] })
853
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
854
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { className: "mx-auto h-8 w-8 text-muted-foreground" }),
855
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: isDragActive ? l.dropKeyHere : l.uploadKeyPrompt })
856
+ ] })
857
+ ]
858
+ }
859
+ )
860
+ ] }),
861
+ error && /* @__PURE__ */ jsxRuntime.jsx(ErrorBox, { message: error }),
862
+ needsSsoSignIn ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2 rounded-lg bg-muted p-3", children: [
863
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
864
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Shield, { className: "h-5 w-5 flex-shrink-0 text-primary" }),
865
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: l.ssoSignInNotice })
866
+ ] }),
867
+ /* @__PURE__ */ jsxRuntime.jsx(
868
+ ui.Button,
869
+ {
870
+ onClick: onSsoSignIn,
871
+ className: "w-full",
872
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.ssoSignIn, { testId: "recovery-sso-signin-button" }),
873
+ children: l.ssoSignIn
874
+ }
875
+ )
876
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md bg-muted p-3", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: l.afterRecoveryNotice }) })
877
+ ] }),
878
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogFooter, { className: "gap-2", children: [
879
+ /* @__PURE__ */ jsxRuntime.jsx(
880
+ ui.Button,
881
+ {
882
+ variant: "outline",
883
+ onClick: onClose,
884
+ disabled: isProcessing,
885
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.cancel, { testId: "forgot-password-cancel" }),
886
+ children: l.cancel
887
+ }
888
+ ),
889
+ !needsSsoSignIn && /* @__PURE__ */ jsxRuntime.jsx(
890
+ ui.Button,
891
+ {
892
+ onClick: onSubmit,
893
+ disabled: isProcessing || !canSubmit,
894
+ "data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.submit, { testId: "forgot-password-submit" }),
895
+ children: isProcessing ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
896
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "mr-2 h-4 w-4 animate-spin" }),
897
+ l.recovering
898
+ ] }) : l.recoverAccount
899
+ }
900
+ )
901
+ ] })
902
+ ]
903
+ }
904
+ ) });
905
+ }
906
+
907
+ exports.AccountRecoveryDialog = AccountRecoveryDialog;
908
+ exports.AuthAlert = AuthAlert;
909
+ exports.AuthConsent = AuthConsent;
910
+ exports.AuthDivider = AuthDivider;
911
+ exports.AuthField = AuthField;
912
+ exports.AuthFieldBadge = AuthFieldBadge;
913
+ exports.AuthFooterLinks = AuthFooterLinks;
914
+ exports.AuthHeading = AuthHeading;
915
+ exports.AuthHero = AuthHero;
916
+ exports.AuthInput = AuthInput;
917
+ exports.AuthLayout = AuthLayout;
918
+ exports.AuthLink = AuthLink;
919
+ exports.AuthNote = AuthNote;
920
+ exports.AuthOfflineBadge = AuthOfflineBadge;
921
+ exports.AuthSubmitButton = AuthSubmitButton;
922
+ exports.AuthTabs = AuthTabs;
923
+ exports.DEFAULT_ACCOUNT_RECOVERY_DIALOG_LABELS = DEFAULT_ACCOUNT_RECOVERY_DIALOG_LABELS;
924
+ exports.DEFAULT_AUTH_CONSENT_LABELS = DEFAULT_AUTH_CONSENT_LABELS;
925
+ exports.DEFAULT_AUTH_FOOTER_LINKS_LABELS = DEFAULT_AUTH_FOOTER_LINKS_LABELS;
926
+ exports.DEFAULT_AUTH_OFFLINE_BADGE_LABELS = DEFAULT_AUTH_OFFLINE_BADGE_LABELS;
927
+ exports.DEFAULT_RECOVERY_KEY_DIALOG_LABELS = DEFAULT_RECOVERY_KEY_DIALOG_LABELS;
928
+ exports.DEFAULT_REVEALABLE_PASSWORD_INPUT_LABELS = DEFAULT_REVEALABLE_PASSWORD_INPUT_LABELS;
929
+ exports.DEFAULT_SSO_LOGIN_BUTTON_LABELS = DEFAULT_SSO_LOGIN_BUTTON_LABELS;
930
+ exports.RecoveryKeyDialog = RecoveryKeyDialog;
931
+ exports.RevealablePasswordInput = RevealablePasswordInput;
932
+ exports.SsoLoginButton = SsoLoginButton;
933
+ //# sourceMappingURL=chunk-ZORQ5M3W.cjs.map
934
+ //# sourceMappingURL=chunk-ZORQ5M3W.cjs.map