@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,73 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type ScopeFolder, type ScopeLabel } from '../../home/ScopePicker';
3
+ import { type AgentOption, type AgentSelectLabels } from './AgentSelect';
4
+ import { type SchemaFormLabels } from './SchemaForm';
5
+ import type { OnWorkflowLaunch, WorkflowDefinition, WorkflowField, WorkflowInputs, WorkflowScope } from './types';
6
+ /** The workspace's files, as the scope picker needs them. Matching stays with the host. */
7
+ export interface WorkflowScopeSource {
8
+ folders: ScopeFolder[];
9
+ unfiledCount: number;
10
+ labels: ScopeLabel[];
11
+ totalCount: number;
12
+ /** How many files a scope selects. */
13
+ countMatching: (scope: WorkflowScope) => number;
14
+ }
15
+ export interface WorkflowConfigDialogLabels {
16
+ /** Primary button when the workflow gives no label of its own. */
17
+ start: string;
18
+ starting: string;
19
+ /** Shown instead of the form when `requiresFiles` and the workspace has none. */
20
+ addFilesReason: string;
21
+ agentLabel: string;
22
+ }
23
+ export declare const DEFAULT_WORKFLOW_CONFIG_DIALOG_LABELS: WorkflowConfigDialogLabels;
24
+ export interface WorkflowConfigDialogProps {
25
+ workflow: WorkflowDefinition;
26
+ open: boolean;
27
+ onOpenChange: (open: boolean) => void;
28
+ onLaunch: OnWorkflowLaunch;
29
+ /** Values the form opens with, over each field's default (e.g. text typed after a slash). */
30
+ initialInputs?: Partial<WorkflowInputs>;
31
+ /** Controlled inputs; omit to let the dialog hold them. */
32
+ inputs?: WorkflowInputs;
33
+ onInputsChange?: (inputs: WorkflowInputs) => void;
34
+ /** Files behind `scope` fields. Without it a scope field renders through `renderScope` or not at all. */
35
+ scopeSource?: WorkflowScopeSource;
36
+ renderScope?: (field: WorkflowField, value: WorkflowScope, onChange: (s: WorkflowScope) => void) => ReactNode;
37
+ /** Renders a `documents` field: the host owns the file list behind the pick. */
38
+ renderDocuments?: (field: WorkflowField, value: WorkflowScope, onChange: (s: WorkflowScope) => void) => ReactNode;
39
+ renderIcon?: (key: string) => ReactNode;
40
+ /** The host's own "Add" control, shown when the workflow needs files and there are none. */
41
+ addFilesAction?: ReactNode;
42
+ /** Agents the user can hand the work to. Empty/omitted hides the "Run as" row. */
43
+ agents?: AgentOption[];
44
+ agentId?: string;
45
+ onAgentChange?: (agentId: string) => void;
46
+ isLaunching?: boolean;
47
+ /** Primary button text from the current inputs and matched file count. */
48
+ submitLabel?: (ctx: {
49
+ workflow: WorkflowDefinition;
50
+ inputs: WorkflowInputs;
51
+ matchedCount: number | null;
52
+ }) => string | undefined;
53
+ /** Per-field placeholder derived from the inputs (e.g. a name taken from a description). */
54
+ fieldPlaceholder?: (field: WorkflowField, inputs: WorkflowInputs, workflow: WorkflowDefinition) => string | undefined;
55
+ /** Anything the host wants to say about the current inputs, above the footer. */
56
+ renderNotice?: (ctx: {
57
+ workflow: WorkflowDefinition;
58
+ inputs: WorkflowInputs;
59
+ }) => ReactNode;
60
+ labels?: Partial<WorkflowConfigDialogLabels>;
61
+ formLabels?: Partial<SchemaFormLabels>;
62
+ agentLabels?: Partial<AgentSelectLabels>;
63
+ /** Dialog id; fields use `<testId>-field-<name>`. Default `workflow-dialog`. */
64
+ testId?: string;
65
+ startTestId?: string;
66
+ className?: string;
67
+ }
68
+ /**
69
+ * One dialog for every workflow: the form comes from the workflow's declared inputs, scope fields
70
+ * use the shared folder/label picker, and the footer says who runs it. Launching hands
71
+ * `{workflow, inputs, scope, agentId}` to `onLaunch`; the host does the rest.
72
+ */
73
+ export declare function WorkflowConfigDialog({ workflow, open, onOpenChange, onLaunch, initialInputs, inputs: inputsProp, onInputsChange, scopeSource, renderScope, renderDocuments, renderIcon, addFilesAction, agents, agentId: agentIdProp, onAgentChange, isLaunching, submitLabel, fieldPlaceholder, renderNotice, labels, formLabels, agentLabels, testId, startTestId, className, }: WorkflowConfigDialogProps): import("react").JSX.Element;
@@ -0,0 +1,38 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type StartTile } from '../../home/StartTiles';
3
+ import { type WorkflowConfigDialogProps } from './WorkflowConfigDialog';
4
+ import type { OnWorkflowLaunch, WorkflowDefinition, WorkflowInputs } from './types';
5
+ export interface WorkflowLauncherProps extends Omit<WorkflowConfigDialogProps, 'workflow' | 'open' | 'onOpenChange' | 'onLaunch' | 'isLaunching' | 'initialInputs'> {
6
+ workflows: WorkflowDefinition[];
7
+ /** Which of `workflows` get a tile (a filtered or capped view); default all. */
8
+ tileWorkflows?: WorkflowDefinition[];
9
+ /** The host performs the launch (open a chat, scope files, send, land). */
10
+ onLaunch: OnWorkflowLaunch;
11
+ /** Render the tile band. Off when something else (the slash menu) opens the dialog. */
12
+ showTiles?: boolean;
13
+ caption?: string;
14
+ captionTestId?: string;
15
+ /** Tile ids: `<prefix>-<workflow id>` unless `tileTestId` returns one. */
16
+ tileTestId?: (workflow: WorkflowDefinition) => string | undefined;
17
+ /** A reason the workflow cannot run now (greys its tile out). */
18
+ disabledReason?: (workflow: WorkflowDefinition) => string | undefined;
19
+ /** Controlled open workflow (by id); `null` = none. Omit for uncontrolled. */
20
+ activeId?: string | null;
21
+ onActiveIdChange?: (id: string | null) => void;
22
+ /** Inputs to seed the dialog with when `activeId` opens (slash-typed text etc.). */
23
+ initialInputsFor?: (workflow: WorkflowDefinition) => Partial<WorkflowInputs> | undefined;
24
+ /** Extra content inside the tile band's section, after the tiles. */
25
+ /** Plain tiles appended to the band (tier A actions that are not workflows). */
26
+ extraTiles?: StartTile[];
27
+ /** Test id of the tile band. */
28
+ testId?: string;
29
+ className?: string;
30
+ children?: ReactNode;
31
+ }
32
+ /**
33
+ * The one place a workflow is launched from: a band of tiles plus the config dialog. Choosing a
34
+ * workflow opens the dialog, which asks what it declares; only an operation with no inputs
35
+ * launches on the click.
36
+ * Also usable headless (`showTiles={false}`) when another surface picks the workflow.
37
+ */
38
+ export declare function WorkflowLauncher({ workflows, tileWorkflows, onLaunch, showTiles, caption, captionTestId, tileTestId, disabledReason, activeId: activeIdProp, onActiveIdChange, initialInputsFor, testId, extraTiles, className, children, renderIcon, ...dialog }: WorkflowLauncherProps): import("react").JSX.Element;
@@ -0,0 +1,6 @@
1
+ export * from './types';
2
+ export { composeWorkflowPrompt, buildLaunch, defaultInputs, validateInputs, isWorkflowScope, isEmptyWorkflowScope, skillToWorkflow, promptFieldName, SKILL_PROMPT_LABEL, SKILL_PROMPT_FALLBACK_PLACEHOLDER, workflowFromFrontmatter, workflowAccepts, workflowsAccepting, workflowsForHost, inputsFromContext, type SkillLike, type WorkflowComposeContext, type WorkflowContext, } from './workflow';
3
+ export { SchemaForm, DEFAULT_SCHEMA_FORM_LABELS, type SchemaFormProps, type SchemaFormLabels, } from './SchemaForm';
4
+ export { AgentSelect, DEFAULT_AGENT_SELECT_LABELS, type AgentSelectProps, type AgentSelectLabels, type AgentOption, } from './AgentSelect';
5
+ export { WorkflowConfigDialog, DEFAULT_WORKFLOW_CONFIG_DIALOG_LABELS, type WorkflowConfigDialogProps, type WorkflowConfigDialogLabels, type WorkflowScopeSource, } from './WorkflowConfigDialog';
6
+ export { WorkflowLauncher, type WorkflowLauncherProps } from './WorkflowLauncher';
@@ -0,0 +1,125 @@
1
+ /**
2
+ * The one workflow model: a skill with a declared input schema. Everything launchable (a quick
3
+ * action, a slash skill, a task body, an agent's job) is a `WorkflowDefinition`.
4
+ *
5
+ * The shape maps 1:1 onto future SKILL.md frontmatter (`inputs:` etc., snake_case on disk; see
6
+ * `workflowFromFrontmatter`), so the backend can adopt it without a UI change. Blocks hold no
7
+ * domain wording: titles, labels and prompt text are data supplied by the host.
8
+ */
9
+ export type WorkflowFieldType = 'text' | 'longtext' | 'boolean' | 'select' | 'number' | 'date' | 'scope' | 'documents';
10
+ /**
11
+ * What a launching surface can hand a workflow without asking the user: the files it is looking at
12
+ * (`documents`), the text the user selected (`selection`), or the image on screen (`image`, a file
13
+ * id). A field binds to one with `context`; a surface offers a workflow when it can supply one of
14
+ * the kinds the workflow declares (`workflowAccepts`).
15
+ */
16
+ export type WorkflowContextKind = 'documents' | 'selection' | 'image';
17
+ /** Where the user ends up after launching. `current-chat` sends into the chat already on screen. */
18
+ export type WorkflowLanding = 'chat' | 'current-chat' | 'files';
19
+ /** Which files a run is limited to. Empty folders and labels = every file. */
20
+ export interface WorkflowScope {
21
+ /** Folder paths; `''` is the unfiled bucket. */
22
+ folders: string[];
23
+ /** Label (tag) ids. */
24
+ labels: string[];
25
+ /** Exactly these files (ids). When present it wins over folders and labels: a `documents` field or a context launch. */
26
+ documents?: string[];
27
+ }
28
+ export declare const EMPTY_WORKFLOW_SCOPE: WorkflowScope;
29
+ export type WorkflowInputValue = string | number | boolean | WorkflowScope;
30
+ export interface WorkflowFieldOption {
31
+ value: string;
32
+ label: string;
33
+ description?: string;
34
+ /** Prompt fragment substituted for `{{name}}` when chosen (falls back to the label). */
35
+ text?: string;
36
+ /** Key into the host's icon map. */
37
+ icon?: string;
38
+ }
39
+ export interface WorkflowField {
40
+ /** Key in `inputs`; also the `{{placeholder}}` in the prompt template. */
41
+ name: string;
42
+ type: WorkflowFieldType;
43
+ label: string;
44
+ description?: string;
45
+ placeholder?: string;
46
+ required?: boolean;
47
+ default?: WorkflowInputValue;
48
+ /** `select` only. */
49
+ options?: WorkflowFieldOption[];
50
+ /** `number` only. */
51
+ min?: number;
52
+ max?: number;
53
+ /** `boolean`: prompt fragments substituted for `{{name}}`. */
54
+ trueText?: string;
55
+ falseText?: string;
56
+ /** Fold behind a disclosure: advanced wording the common run does not need. */
57
+ advanced?: boolean;
58
+ /** `scope` only: which dimensions are offered. Default both. */
59
+ by?: Array<'folders' | 'labels'>;
60
+ /** `documents` only: what kind of file is offered; `max` is how many may be picked (default 1). */
61
+ accept?: 'image';
62
+ /** Prefilled by a launching surface that supplies this kind of context (see `WorkflowContextKind`). */
63
+ context?: WorkflowContextKind;
64
+ }
65
+ export type WorkflowRun =
66
+ /** Compose a message from `promptTemplate` and send it. */
67
+ {
68
+ kind: 'prompt';
69
+ promptTemplate: string;
70
+ }
71
+ /** The host performs it (bound by workflow id), e.g. create a label then generate. */
72
+ | {
73
+ kind: 'operation';
74
+ };
75
+ export interface WorkflowDefinition {
76
+ /** The skill slug. */
77
+ id: string;
78
+ title: string;
79
+ /** One line: the tile text and the task picker's hint. */
80
+ description: string;
81
+ /** Longer explanation shown in the dialog header; defaults to `description`. */
82
+ details?: string;
83
+ /** Key into the host's icon map. */
84
+ icon?: string;
85
+ /** Primary button text; defaults to the dialog's generic "Start". */
86
+ startLabel?: string;
87
+ /** Shipped with the app/deployment (pinned, not deletable, forkable into the user's own skills). */
88
+ builtin?: boolean;
89
+ /** Backed by a server skill (its slug): a task runs it as a skill rather than as a prompt. */
90
+ skill?: string;
91
+ inputs: WorkflowField[];
92
+ run: WorkflowRun;
93
+ /** Where the user ends up after launching by default; a launch may override it. */
94
+ landing: WorkflowLanding;
95
+ /** A model this run asks for (a run option the host applies, e.g. a stronger one for summaries). */
96
+ model?: string;
97
+ /** Only offered by this host (e.g. `'word'`); absent = offered everywhere. */
98
+ host?: string;
99
+ /** Needs workspace files to make sense: the dialog offers the host's add-files slot when none. */
100
+ requiresFiles?: boolean;
101
+ /** Default agent; absent = the user's own assistant. */
102
+ defaultAgentId?: string;
103
+ /** Can be the body of a task (unattended). `action` workflows are not. */
104
+ schedulable?: boolean;
105
+ /** Run options the form offers (all shown by default). */
106
+ options?: {
107
+ agent?: boolean;
108
+ };
109
+ }
110
+ /** What `onLaunch` receives. The host performs the launch (chat, scoping, send). */
111
+ export interface WorkflowLaunch {
112
+ workflow: WorkflowDefinition;
113
+ inputs: Record<string, WorkflowInputValue>;
114
+ /** The first `scope` field's value, hoisted: the host scopes documents with it. */
115
+ scope: WorkflowScope;
116
+ /** `undefined` = the user's own assistant, in this chat. */
117
+ agentId?: string;
118
+ /** Overrides `workflow.landing` for this launch (the empty chat sends in place). */
119
+ landing?: WorkflowLanding;
120
+ }
121
+ export type OnWorkflowLaunch = (launch: WorkflowLaunch) => void | Promise<void>;
122
+ export type WorkflowInputs = Record<string, WorkflowInputValue>;
123
+ /** Validation problem of one field: the dialog maps the code to a label. */
124
+ export type WorkflowFieldError = 'required' | 'min' | 'max' | 'number';
125
+ export type WorkflowErrors = Record<string, WorkflowFieldError>;
@@ -0,0 +1,62 @@
1
+ import { type WorkflowDefinition, type WorkflowErrors, type WorkflowContextKind, type WorkflowInputs, type WorkflowLaunch, type WorkflowScope } from './types';
2
+ export declare const isWorkflowScope: (value: unknown) => value is WorkflowScope;
3
+ export declare const isEmptyWorkflowScope: (scope: WorkflowScope) => boolean;
4
+ /** The inputs a fresh form starts with: each field's default, else an empty value of its type. */
5
+ export declare function defaultInputs(workflow: WorkflowDefinition): WorkflowInputs;
6
+ /** Required-field and range problems, keyed by field name. Empty object = launchable. */
7
+ export declare function validateInputs(workflow: WorkflowDefinition, inputs: WorkflowInputs): WorkflowErrors;
8
+ /**
9
+ * The field that holds what the user asks for: the first common (not folded away) free-text field.
10
+ * Text typed after a slash pre-fills it; the form puts the cursor in it when it comes first.
11
+ */
12
+ export declare function promptFieldName(workflow: WorkflowDefinition): string | undefined;
13
+ /** What the host knows that the inputs alone do not: file ids resolved to names for the wording. */
14
+ export interface WorkflowComposeContext {
15
+ documentTitles?: Record<string, string>;
16
+ }
17
+ /**
18
+ * The single place a prompt string is composed from (workflow, inputs): `{{name}}` placeholders in
19
+ * the template are replaced by each field's text. Whitespace left by empty fragments is tidied.
20
+ */
21
+ export declare function composeWorkflowPrompt(workflow: WorkflowDefinition, inputs: WorkflowInputs, ctx?: WorkflowComposeContext): string;
22
+ /** Assemble the launch the host receives: inputs, the hoisted scope and the chosen agent. */
23
+ export declare function buildLaunch(workflow: WorkflowDefinition, inputs: WorkflowInputs, agentId?: string): WorkflowLaunch;
24
+ /** What a surface hands a workflow: the files in view, the selected text, the image on screen. */
25
+ export interface WorkflowContext {
26
+ documents?: string[];
27
+ selection?: string;
28
+ /** A file id. */
29
+ image?: string;
30
+ }
31
+ /** The kinds of context a workflow declares it can be started from. */
32
+ export declare function workflowAccepts(workflow: WorkflowDefinition): WorkflowContextKind[];
33
+ /** Workflows a surface can offer: those that accept at least one kind of context it supplies. */
34
+ export declare function workflowsAccepting(workflows: WorkflowDefinition[], supplied: WorkflowContextKind[]): WorkflowDefinition[];
35
+ /** Workflows a host offers: its own plus every one that is not tied to another host. */
36
+ export declare function workflowsForHost(workflows: WorkflowDefinition[], host: string): WorkflowDefinition[];
37
+ /**
38
+ * The inputs a context pre-fills: each field bound to a kind the surface supplied. Fields it does
39
+ * not supply are left to the form's defaults, so the dialog still asks for them.
40
+ */
41
+ export declare function inputsFromContext(workflow: WorkflowDefinition, context: WorkflowContext): WorkflowInputs;
42
+ /** The slice of a skill listing row the model needs (`SkillSummaryResponse`). */
43
+ export interface SkillLike {
44
+ name: string;
45
+ slug: string;
46
+ description?: string;
47
+ arg_hint?: string;
48
+ }
49
+ /** The prompt field's label when a skill brings none of its own. */
50
+ export declare const SKILL_PROMPT_LABEL = "What should it work on?";
51
+ export declare const SKILL_PROMPT_FALLBACK_PLACEHOLDER = "Describe what you want";
52
+ /**
53
+ * A skill is run WITH a prompt, so it always gets a one-field form: a required free-text field
54
+ * (`args`) whose placeholder is the skill's `arg_hint` (brackets removed). Starting one with
55
+ * nothing is never offered; text typed after the slash pre-fills the field.
56
+ */
57
+ export declare function skillToWorkflow(skill: SkillLike): WorkflowDefinition;
58
+ /**
59
+ * Build a workflow from parsed SKILL.md frontmatter (snake_case keys) and its body (the prompt
60
+ * template). The inverse of what the backend will publish; seeded workflows use the same shape.
61
+ */
62
+ export declare function workflowFromFrontmatter(id: string, frontmatter: Record<string, unknown>, body: string): WorkflowDefinition;
@@ -0,0 +1,56 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface AuthLegalLink {
3
+ href: string;
4
+ label: string;
5
+ }
6
+ export interface AuthConsentProps {
7
+ termsAccepted: boolean;
8
+ onTermsAcceptedChange: (accepted: boolean) => void;
9
+ /** Whether to download a recovery key on signup (opt-out; unchecking shows the warning). */
10
+ saveRecoveryKey: boolean;
11
+ onSaveRecoveryKeyChange: (save: boolean) => void;
12
+ termsLink: AuthLegalLink;
13
+ privacyLink: AuthLegalLink;
14
+ /** Shown (role="alert") only when the recovery-key box is unchecked. */
15
+ noRecoveryKeyWarning: string;
16
+ labels?: Partial<AuthConsentLabels>;
17
+ /** Part ids; defaults are the current ids. */
18
+ testIds?: Partial<Record<'termsCheckbox' | 'recoveryKeyCheckbox' | 'noRecoveryKeyWarning', string>>;
19
+ }
20
+ /** Every fixed string of the sign-up consent block. */
21
+ export interface AuthConsentLabels {
22
+ /** Text before the terms link. */
23
+ acknowledge: string;
24
+ /** Text between the terms and privacy links. */
25
+ and: string;
26
+ downloadRecoveryKey: string;
27
+ }
28
+ export declare const DEFAULT_AUTH_CONSENT_LABELS: AuthConsentLabels;
29
+ /** Every fixed string of the sign-in footer. */
30
+ export interface AuthFooterLinksLabels {
31
+ installOptions: string;
32
+ install: string;
33
+ }
34
+ export declare const DEFAULT_AUTH_FOOTER_LINKS_LABELS: AuthFooterLinksLabels;
35
+ /** Sign-up consent: required terms checkbox and the opt-out "download recovery key" checkbox. */
36
+ export declare function AuthConsent({ termsAccepted, onTermsAcceptedChange, saveRecoveryKey, onSaveRecoveryKeyChange, termsLink, privacyLink, noRecoveryKeyWarning, labels, testIds, }: AuthConsentProps): import("react").JSX.Element;
37
+ export interface AuthInstallOption {
38
+ id: string;
39
+ label: ReactNode;
40
+ icon?: ReactNode;
41
+ onSelect: () => void;
42
+ disabled?: boolean;
43
+ testId?: string;
44
+ }
45
+ export interface AuthFooterLinksProps {
46
+ privacyLink: AuthLegalLink;
47
+ /** Entries of the "Install" kebab menu. Omit/empty to hide the menu. */
48
+ installOptions?: AuthInstallOption[];
49
+ /** Dialog or other overlay owned by the host, rendered inside the footer. */
50
+ children?: ReactNode;
51
+ labels?: Partial<AuthFooterLinksLabels>;
52
+ /** Install menu trigger id (default `install-options-trigger`). */
53
+ installTriggerTestId?: string;
54
+ }
55
+ /** Sign-in footer: privacy link on the left, an "Install" kebab menu on the right. */
56
+ export declare function AuthFooterLinks({ privacyLink, installOptions, children, labels, installTriggerTestId, }: AuthFooterLinksProps): import("react").JSX.Element;
@@ -0,0 +1,105 @@
1
+ import { type ComponentProps, type ReactNode } from 'react';
2
+ import { Button, Input } from '@arbidocs/react/ui';
3
+ /** Title + one-line description above an auth form. */
4
+ export declare function AuthHeading({ title, description }: {
5
+ title: ReactNode;
6
+ description?: ReactNode;
7
+ }): import("react").JSX.Element;
8
+ /** A text-style action under or beside a field ("Forgot your password?", "Clear form"). */
9
+ export declare function AuthLink({ className, type, ...props }: ComponentProps<'button'>): import("react").JSX.Element;
10
+ export interface AuthFieldProps {
11
+ /** Id of the control inside, for the label. Omit it to use a generated (`useId`) id that the
12
+ * `AuthInput` / `RevealablePasswordInput` inside picks up automatically. */
13
+ htmlFor?: string;
14
+ /** Field-level error: shown under the control, linked with `aria-describedby`, and marks the
15
+ * control `aria-invalid`. */
16
+ error?: ReactNode;
17
+ errorTestId?: string;
18
+ label: ReactNode;
19
+ required?: boolean;
20
+ /** Right-aligned action in the label row (e.g. "Clear form"). */
21
+ labelAction?: ReactNode;
22
+ /** Overlaid at the right edge of the control (e.g. a "Verified" badge). */
23
+ trailing?: ReactNode;
24
+ className?: string;
25
+ children: ReactNode;
26
+ }
27
+ /** Label (with required marker) above a control. */
28
+ export declare function AuthField({ htmlFor, error, errorTestId, label, required, labelAction, trailing, className, children, }: AuthFieldProps): import("react").JSX.Element;
29
+ /** Input styled for auth forms (faint placeholder). */
30
+ export declare function AuthInput({ className, id, 'aria-describedby': describedBy, 'aria-invalid': invalid, ...props }: ComponentProps<typeof Input>): import("react").JSX.Element;
31
+ /** Every fixed string of the revealable password input. */
32
+ export interface RevealablePasswordInputLabels {
33
+ hidePassword: string;
34
+ showPassword: string;
35
+ }
36
+ export declare const DEFAULT_REVEALABLE_PASSWORD_INPUT_LABELS: RevealablePasswordInputLabels;
37
+ /** Every fixed string of the offline badge. */
38
+ export interface AuthOfflineBadgeLabels {
39
+ offline: string;
40
+ }
41
+ export declare const DEFAULT_AUTH_OFFLINE_BADGE_LABELS: AuthOfflineBadgeLabels;
42
+ export interface RevealablePasswordInputProps extends Omit<ComponentProps<typeof Input>, 'type'> {
43
+ /** Controlled reveal state. Omit it and the input manages its own (see `defaultRevealed`). */
44
+ isRevealed?: boolean;
45
+ /** Initial state when uncontrolled. */
46
+ defaultRevealed?: boolean;
47
+ /** Called on every toggle press, controlled or not. */
48
+ onToggleReveal?: () => void;
49
+ labels?: Partial<RevealablePasswordInputLabels>;
50
+ /** Show/hide button id (default `toggle-password-visibility`); `data-testid` goes to the input. */
51
+ toggleTestId?: string;
52
+ }
53
+ /** Password input with a show/hide button inside the field. */
54
+ export declare function RevealablePasswordInput({ isRevealed: controlledRevealed, defaultRevealed, onToggleReveal, className, labels, toggleTestId, ...props }: RevealablePasswordInputProps): import("react").JSX.Element;
55
+ /** Small pill on a locked field, e.g. "Verified". */
56
+ export declare function AuthFieldBadge({ icon, children, testId, }: {
57
+ icon?: ReactNode;
58
+ children: ReactNode;
59
+ testId?: string;
60
+ }): import("react").JSX.Element;
61
+ /** Centred muted sentence under a step's primary action. */
62
+ export declare function AuthNote({ className, ...props }: ComponentProps<'p'>): import("react").JSX.Element;
63
+ /** Error / status message box for a form. */
64
+ export declare function AuthAlert({ children, withIcon, testId, id, }: {
65
+ children: ReactNode;
66
+ withIcon?: boolean;
67
+ testId?: string;
68
+ /** Lets a field point at this message with `aria-describedby`. */
69
+ id?: string;
70
+ }): import("react").JSX.Element;
71
+ export interface AuthSubmitButtonProps extends ComponentProps<typeof Button> {
72
+ /** Shows a spinner and sets `aria-busy`. */
73
+ isBusy?: boolean;
74
+ /** Shorthand for `data-testid`. */
75
+ testId?: string;
76
+ }
77
+ /** Full-width primary submit with a spinner while busy. */
78
+ export declare function AuthSubmitButton({ isBusy, testId, children, className, ...props }: AuthSubmitButtonProps): import("react").JSX.Element;
79
+ /** "or continue with" separator between the form and the SSO button. */
80
+ export declare function AuthDivider({ label, testId }: {
81
+ label: string;
82
+ testId?: string;
83
+ }): import("react").JSX.Element;
84
+ export interface AuthTabOption<T extends string> {
85
+ value: T;
86
+ label: string;
87
+ testId?: string;
88
+ }
89
+ /**
90
+ * Underline tab pair (Login / Register) above the form. Radix Tabs: one tab stop, arrow keys,
91
+ * Home and End move between tabs and select them (the form below swaps with the selection).
92
+ */
93
+ export declare function AuthTabs<T extends string>({ value, onChange, tabs, ariaLabel, }: {
94
+ value: T;
95
+ onChange: (value: T) => void;
96
+ tabs: AuthTabOption<T>[];
97
+ ariaLabel: string;
98
+ }): import("react").JSX.Element;
99
+ /** Pill shown instead of the tabs when the device is offline. */
100
+ export declare function AuthOfflineBadge({ label, title, testId, labels, }: {
101
+ label?: string;
102
+ title?: string;
103
+ testId?: string;
104
+ labels?: Partial<AuthOfflineBadgeLabels>;
105
+ }): import("react").JSX.Element;
@@ -0,0 +1,46 @@
1
+ import type { LucideIcon } from 'lucide-react';
2
+ import type { ReactNode } from 'react';
3
+ export interface AuthLayoutProps {
4
+ /** The form column content. */
5
+ children: ReactNode;
6
+ /** Sits above the form: the Login / Register tabs, or an offline badge. */
7
+ headerRight?: ReactNode;
8
+ /** Hero panel: the right half on desktop, hidden on mobile. Omit for a single centred column. */
9
+ aside?: ReactNode;
10
+ /** Brand mark shown top-left of the form column (logo + name). */
11
+ brand?: ReactNode;
12
+ /** Pinned bottom-right over the hero on desktop (e.g. a deployment indicator). */
13
+ corner?: ReactNode;
14
+ className?: string;
15
+ testId?: string;
16
+ }
17
+ /**
18
+ * Full-bleed split: a calm form column on the left, the hero (`aside`) on the right. On mobile the
19
+ * hero is hidden and the form fills the screen. With no `aside` it is a single centred column.
20
+ */
21
+ export declare function AuthLayout({ children, headerRight, aside, brand, corner, className, testId, }: AuthLayoutProps): import("react").JSX.Element;
22
+ export interface AuthHeroPillar {
23
+ icon: LucideIcon;
24
+ title: string;
25
+ body: string;
26
+ }
27
+ export interface AuthHeroProps {
28
+ /** First line of the headline. */
29
+ headline?: ReactNode;
30
+ /** Second headline line, set in italic accent. */
31
+ emphasis?: string;
32
+ lead?: ReactNode;
33
+ pillars?: AuthHeroPillar[];
34
+ link?: {
35
+ href: string;
36
+ label: string;
37
+ };
38
+ /** Cover image behind the content (any CSS `url(...)` source). A tint keeps text legible. */
39
+ backgroundImage?: string;
40
+ /** Extra content under the pillars (a quote, a logo row, a screenshot). */
41
+ children?: ReactNode;
42
+ className?: string;
43
+ testId?: string;
44
+ }
45
+ /** The value-proposition panel for {@link AuthLayout}'s `aside`: headline, lead, pillars, link. */
46
+ export declare function AuthHero({ headline, emphasis, lead, pillars, link, backgroundImage, children, className, testId, }: AuthHeroProps): import("react").JSX.Element;
@@ -0,0 +1,44 @@
1
+ /** Overridable ids of the password input; defaults are the current ids. */
2
+ export type PasswordStrengthInputTestIds = Partial<Record<'input' | 'strengthIndicator' | 'strengthBar' | 'confirmInput' | 'confirmIndicator' | 'confirmStrengthBar' | 'mismatchError' | 'requirements' | 'strengthInfoButton' | 'strengthLabel', string>>;
3
+ /** Every fixed string of the password input. `passwordLabel` / `confirmLabel` props win. */
4
+ export interface PasswordStrengthInputLabels {
5
+ password: string;
6
+ confirmPassword: string;
7
+ passwordsMatch: string;
8
+ passwordsDoNotMatch: string;
9
+ /** Accessible name of the strength button; `strength` is the meter's label. */
10
+ strengthInfo: (strength: string) => string;
11
+ /** Tooltip when the password is acceptable and there is no specific hint. */
12
+ strengthFallbackHint: string;
13
+ }
14
+ export declare const DEFAULT_PASSWORD_STRENGTH_INPUT_LABELS: PasswordStrengthInputLabels;
15
+ export interface PasswordStrengthInputProps {
16
+ labels?: Partial<PasswordStrengthInputLabels>;
17
+ password: string;
18
+ confirmPassword?: string;
19
+ onPasswordChange: (value: string) => void;
20
+ onConfirmPasswordChange?: (value: string) => void;
21
+ /** Show the confirmation field, the match indicator and the requirement line. */
22
+ showConfirmation?: boolean;
23
+ disabled?: boolean;
24
+ passwordLabel?: string;
25
+ confirmLabel?: string;
26
+ layout?: 'stacked' | 'side-by-side';
27
+ autoFocus?: boolean;
28
+ showStrengthIndicator?: boolean;
29
+ /** Shown in the requirements line while no password is entered. */
30
+ emptyStateMessage?: string;
31
+ /**
32
+ * The host's password policy: returns the first unmet requirement (as a message), or `null` when
33
+ * the password is acceptable. Kept in the host so the policy has one source of truth.
34
+ */
35
+ getUnmetRequirement: (password: string) => string | null;
36
+ /** Part ids; defaults are the current ids. */
37
+ testIds?: PasswordStrengthInputTestIds;
38
+ }
39
+ /**
40
+ * Password input with a strength meter and optional confirmation field. The match verdict only
41
+ * appears once the confirmation field loses focus, so the user is never nagged mid-keystroke, and
42
+ * the requirement line has a fixed height so typing never shifts the form.
43
+ */
44
+ export declare function PasswordStrengthInput({ password, confirmPassword, onPasswordChange, onConfirmPasswordChange, showConfirmation, disabled, passwordLabel, confirmLabel, layout, autoFocus, showStrengthIndicator, emptyStateMessage, getUnmetRequirement, labels, testIds, }: PasswordStrengthInputProps): import("react").JSX.Element;
@@ -0,0 +1,90 @@
1
+ import { type ReactNode } from 'react';
2
+ /** Every fixed string of the recovery-key dialog. `title` / description props win. */
3
+ export interface RecoveryKeyDialogLabels {
4
+ title: string;
5
+ verifiedDescription: string;
6
+ unverifiedDescription: string;
7
+ done: string;
8
+ currentPassword: string;
9
+ passwordPlaceholder: string;
10
+ cancel: string;
11
+ verifying: string;
12
+ verify: string;
13
+ }
14
+ export declare const DEFAULT_RECOVERY_KEY_DIALOG_LABELS: RecoveryKeyDialogLabels;
15
+ /** Every fixed string of the account-recovery dialog. */
16
+ export interface AccountRecoveryDialogLabels {
17
+ title: string;
18
+ description: string;
19
+ emailAddress: string;
20
+ emailPlaceholder: string;
21
+ keyLoadedFromLink: string;
22
+ ssoProtectedKeyNotice: string;
23
+ recoveryKey: string;
24
+ ssoProtectedKey: string;
25
+ dropKeyHere: string;
26
+ uploadKeyPrompt: string;
27
+ ssoSignInNotice: string;
28
+ ssoSignIn: string;
29
+ afterRecoveryNotice: string;
30
+ cancel: string;
31
+ recovering: string;
32
+ recoverAccount: string;
33
+ }
34
+ export declare const DEFAULT_ACCOUNT_RECOVERY_DIALOG_LABELS: AccountRecoveryDialogLabels;
35
+ export interface RecoveryKeyDialogProps {
36
+ labels?: Partial<RecoveryKeyDialogLabels>;
37
+ open: boolean;
38
+ onClose: () => void;
39
+ /** Content shown once the password is verified (the key download). `null` while verifying. */
40
+ verified: ReactNode | null;
41
+ password: string;
42
+ onPasswordChange: (password: string) => void;
43
+ onVerify: () => void;
44
+ isVerifying: boolean;
45
+ error: string | null;
46
+ title?: string;
47
+ verifiedDescription?: string;
48
+ unverifiedDescription?: string;
49
+ /** Dialog test id (default `download-recovery-key-dialog`). */
50
+ testId?: string;
51
+ /** Part ids; defaults are the current ids. */
52
+ testIds?: Partial<Record<'passwordInput', string>>;
53
+ }
54
+ /**
55
+ * "Save your recovery key": confirm the account password first, then reveal the key download
56
+ * (`verified`) with a Done button.
57
+ */
58
+ export declare function RecoveryKeyDialog({ open, onClose, verified, password, onPasswordChange, onVerify, isVerifying, error, title, verifiedDescription, unverifiedDescription, labels, testId, testIds, }: RecoveryKeyDialogProps): import("react").JSX.Element;
59
+ export interface AccountRecoveryDialogProps {
60
+ labels?: Partial<AccountRecoveryDialogLabels>;
61
+ open: boolean;
62
+ onClose: () => void;
63
+ email: string;
64
+ onEmailChange: (email: string) => void;
65
+ /** The key arrived in the page URL (the /recover link): show a "loaded" notice, no file picker. */
66
+ isKeyFromLink: boolean;
67
+ /** Name of the chosen key file, once one is loaded. */
68
+ keyFileName: string | null;
69
+ /** The loaded key is wrapped with the user's SSO identity. */
70
+ isKeyEncrypted: boolean;
71
+ /** A file was picked or dropped. */
72
+ onKeyFile: (file: File) => void;
73
+ error: string | null;
74
+ /** SSO sign-in is the next required step (SSO-wrapped key or SSO-linked account). */
75
+ needsSsoSignIn: boolean;
76
+ onSsoSignIn: () => void;
77
+ isProcessing: boolean;
78
+ /** Enables the submit button (email and key present). */
79
+ canSubmit: boolean;
80
+ onSubmit: () => void;
81
+ /** Dialog test id (default `forgot-password-modal`). */
82
+ testId?: string;
83
+ /** Part ids; defaults are the current ids. */
84
+ testIds?: Partial<Record<'emailInput' | 'keyDropzone' | 'keyInput' | 'ssoSignIn' | 'cancel' | 'submit', string>>;
85
+ }
86
+ /**
87
+ * Account recovery: email + recovery key (file or link) -> sign in with the key. When the account
88
+ * is SSO-linked, the SSO prompt replaces the submit button.
89
+ */
90
+ export declare function AccountRecoveryDialog({ open, onClose, email, onEmailChange, isKeyFromLink, keyFileName, isKeyEncrypted, onKeyFile, error, needsSsoSignIn, onSsoSignIn, isProcessing, canSubmit, onSubmit, labels, testId, testIds, }: AccountRecoveryDialogProps): import("react").JSX.Element;