@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,28 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { ShellActionLayout } from './types';
3
+ export interface ActionClusterProps {
4
+ /**
5
+ * `bar`: one row for a page header or phone app bar (status, bell, contacts, account).
6
+ * `sidebar`: the bottom of the expanded sidebar: the bell and contacts rows stacked above the
7
+ * account row.
8
+ * `rail`: the same stack on the icon-only rail (same order, icon-only rows).
9
+ * `drawer`: the phone drawer's rows (bell and contacts only; the app bar carries the account).
10
+ */
11
+ layout?: ShellActionLayout;
12
+ /** Status pill (remote control); `bar` only. Other layouts show status in their own rows. */
13
+ status?: ReactNode;
14
+ /** Notification bell (the kit's NotificationBell, or a `Sidebar.BadgeRow`). */
15
+ bell?: ReactNode;
16
+ /** Contacts / messages entry with its own badge (a `Sidebar.BadgeRow`). */
17
+ contacts?: ReactNode;
18
+ /** Account menu (the kit's UserMenu). */
19
+ account?: ReactNode;
20
+ 'data-testid'?: string;
21
+ }
22
+ /**
23
+ * The account area: notifications, contacts and the account menu, in one of four placements. In
24
+ * the sidebar and on the rail the two badge rows are stacked above the account row in the same
25
+ * order, so nothing moves when the rail expands; the account menu holds everything else (help,
26
+ * settings, tips, processing).
27
+ */
28
+ export declare function ActionCluster({ layout, status, bell, contacts, account, 'data-testid': testId, }: ActionClusterProps): import("react").JSX.Element;
@@ -0,0 +1,71 @@
1
+ import type { InputHTMLAttributes, KeyboardEvent, ReactNode, Ref } from 'react';
2
+ /** Fixed strings of the ask field, its trigger and the expanded row. */
3
+ export interface AskFieldLabels {
4
+ /** Input placeholder (the `placeholder` prop wins). */
5
+ placeholder: string;
6
+ /** The input's accessible name. */
7
+ inputLabel: string;
8
+ search: string;
9
+ askAi: string;
10
+ /** The icon-only trigger. */
11
+ askOrSearch: string;
12
+ closeSearch: string;
13
+ }
14
+ export declare const DEFAULT_ASK_FIELD_LABELS: AskFieldLabels;
15
+ export interface AskFieldProps {
16
+ value: string;
17
+ onValueChange: (value: string) => void;
18
+ /** Enter / the arrow button: ask AI. */
19
+ onAsk: (text: string) => void;
20
+ /** The magnifier button: semantic search. */
21
+ onSearch: (text: string) => void;
22
+ /** Intercept keys first (e.g. a slash menu); call `preventDefault` to stop the default Enter-asks. */
23
+ onInputKeyDown?: (event: KeyboardEvent<HTMLInputElement>) => void;
24
+ /** Rendered just under the field at its width (a slash/autocomplete menu). */
25
+ menu?: ReactNode;
26
+ inputRef?: Ref<HTMLInputElement>;
27
+ /** Extra attributes for the input, e.g. the combobox props of `useListKeyNav` for a slash menu. */
28
+ inputProps?: InputHTMLAttributes<HTMLInputElement>;
29
+ placeholder?: string;
30
+ labels?: Partial<AskFieldLabels>;
31
+ autoFocus?: boolean;
32
+ className?: string;
33
+ /** Root id (default `workspace-ask-bar`); the input/search/submit ids are `<root>-input|search|submit`. */
34
+ 'data-testid'?: string;
35
+ }
36
+ /**
37
+ * The compact one-line ask/search field: sparkle, input, then two icon doors (Search, Ask AI).
38
+ * Text and the menu are controlled by the host, so the same field serves the sidebar, the phone
39
+ * app bar and any custom shell.
40
+ */
41
+ export declare function AskField({ value, onValueChange, onAsk, onSearch, onInputKeyDown, menu, inputRef, inputProps, placeholder, labels, autoFocus, className, 'data-testid': testIdProp, }: AskFieldProps): import("react").JSX.Element;
42
+ export interface AskTriggerProps {
43
+ /** Opens the ask field (the single-action variants) or asks AI (`split`). */
44
+ onClick: () => void;
45
+ /**
46
+ * `rail`: the icon-only sidebar's bordered tile; `appbar`: the phone app bar's bare icon;
47
+ * `split`: two icon buttons side by side, Search (`onSearch`) and Ask AI (`onClick`).
48
+ */
49
+ variant?: 'rail' | 'appbar' | 'split';
50
+ /** The Search action of the `split` variant. */
51
+ onSearch?: () => void;
52
+ labels?: Partial<Pick<AskFieldLabels, 'askOrSearch' | 'search' | 'askAi'>>;
53
+ /** Root id; the split buttons get `<root>-search` and `<root>-ask` unless overridden. */
54
+ 'data-testid'?: string;
55
+ searchTestId?: string;
56
+ askTestId?: string;
57
+ }
58
+ /** The icon that stands in for the field where there is no room for it. */
59
+ export declare function AskTrigger({ onClick, variant, onSearch, labels, 'data-testid': testId, searchTestId, askTestId, }: AskTriggerProps): import("react").JSX.Element;
60
+ export interface AskRowProps {
61
+ /** The field (an AskField). */
62
+ children: ReactNode;
63
+ onClose: () => void;
64
+ labels?: Partial<Pick<AskFieldLabels, 'closeSearch'>>;
65
+ /** Row id (default `workspace-ask-bar-expanded`). */
66
+ 'data-testid'?: string;
67
+ /** Collapse button id (default `workspace-ask-bar-collapse`). */
68
+ collapseTestId?: string;
69
+ }
70
+ /** The phone's expanded ask row: takes over the app bar so there is room to type; Escape closes. */
71
+ export declare function AskRow({ children, onClose, labels, 'data-testid': testId, collapseTestId, }: AskRowProps): import("react").JSX.Element;
@@ -0,0 +1,20 @@
1
+ import type { ReactNode } from 'react';
2
+ export type InfoBarVariant = 'info' | 'warning' | 'success' | 'hint';
3
+ export interface InfoBarProps {
4
+ message: ReactNode;
5
+ variant?: InfoBarVariant;
6
+ /** Suppress the leading variant icon (e.g. tips render their own "Tip:" label). */
7
+ hideIcon?: boolean;
8
+ /** Element pinned to the right of the bar (e.g. a reward balance). */
9
+ rightSlot?: ReactNode;
10
+ cta?: {
11
+ label: string;
12
+ onClick: () => void;
13
+ icon?: ReactNode;
14
+ };
15
+ onDismiss?: () => void;
16
+ dismissLabel?: string;
17
+ className?: string;
18
+ }
19
+ /** Full-width page banner: icon, message, optional right slot, CTA and dismiss. */
20
+ export declare function InfoBar({ message, variant, hideIcon, rightSlot, cta, onDismiss, dismissLabel, className, }: InfoBarProps): import("react").JSX.Element;
@@ -0,0 +1,47 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { NavItem } from './types';
3
+ /** Fixed strings of the phone bars. */
4
+ export interface MobileBarsLabels {
5
+ /** The menu button (the `menuLabel` prop wins). */
6
+ openNavigationMenu: string;
7
+ /** The tab bar's accessible name (the `label` prop wins). */
8
+ workspaceSections: string;
9
+ }
10
+ export declare const DEFAULT_MOBILE_BARS_LABELS: MobileBarsLabels;
11
+ export interface MobileAppBarProps {
12
+ /** Show the menu button that opens the drawer (nothing to open on a list page with no sidebar). */
13
+ showMenu?: boolean;
14
+ onMenu?: () => void;
15
+ /** Replaces the brand mark (e.g. the workspace switcher). */
16
+ title?: ReactNode;
17
+ /** Brand mark shown when there is no `title`. */
18
+ logo?: ReactNode;
19
+ /** Right-aligned controls that fit (ask, offline pill, bell, account). */
20
+ actions?: ReactNode;
21
+ menuLabel?: string;
22
+ labels?: Partial<Pick<MobileBarsLabels, 'openNavigationMenu'>>;
23
+ className?: string;
24
+ 'data-testid'?: string;
25
+ /** Menu button id (default `mobile-nav-toggle`). */
26
+ menuTestId?: string;
27
+ }
28
+ /**
29
+ * The slim phone app bar (56px): menu button, a title slot and an actions slot. The app mounts
30
+ * it only on small screens; the controls that do not fit live in the drawer.
31
+ */
32
+ export declare function MobileAppBar({ showMenu, onMenu, title, logo, actions, menuLabel, labels, className, 'data-testid': testId, menuTestId, }: MobileAppBarProps): import("react").JSX.Element;
33
+ export interface MobileTabBarProps {
34
+ /** The workspace's main areas; test ids are `{testIdPrefix}-{id}` (prefix default `mobile-tab`). */
35
+ items: NavItem[];
36
+ label?: string;
37
+ labels?: Partial<Pick<MobileBarsLabels, 'workspaceSections'>>;
38
+ testIdPrefix?: string;
39
+ className?: string;
40
+ 'data-testid'?: string;
41
+ }
42
+ /**
43
+ * Phone bottom navigation: a 64px tinted bar of the main areas. The drawer carries the same
44
+ * destinations with counts, so nothing is reachable only here. The app mounts it on small
45
+ * screens only.
46
+ */
47
+ export declare function MobileTabBar({ items, label, labels, testIdPrefix, className, 'data-testid': testId, }: MobileTabBarProps): import("react").JSX.Element;
@@ -0,0 +1,28 @@
1
+ export type OfflinePillTone = 'offline' | 'failed' | 'syncing';
2
+ /** Fixed strings of the offline pill. */
3
+ export interface OfflinePillLabels {
4
+ reconnect: string;
5
+ }
6
+ export declare const DEFAULT_OFFLINE_PILL_LABELS: OfflinePillLabels;
7
+ export interface OfflinePillProps {
8
+ tone: OfflinePillTone;
9
+ /** e.g. "Offline · 3 pending", "2 failed to sync", "Syncing 4…". */
10
+ label: string;
11
+ /** Icon-only (the collapsed rail / app bar). */
12
+ compact?: boolean;
13
+ /** Opens the pending-changes list. */
14
+ onOpen: () => void;
15
+ /** Offered beside the pill (only when not compact); pass it only while it can do something. */
16
+ onReconnect?: () => void;
17
+ labels?: Partial<OfflinePillLabels>;
18
+ /** Pill button id (default `offline-sync-status`). */
19
+ 'data-testid'?: string;
20
+ /** Reconnect button id (default `offline-reconnect-button`). */
21
+ reconnectTestId?: string;
22
+ }
23
+ /**
24
+ * Connection + sync indicator: a status pill that opens the pending-changes list, plus an
25
+ * optional Reconnect button beside it. The app renders it only when there is something to say
26
+ * (offline, or changes waiting/failing), so online-and-synced stays clean.
27
+ */
28
+ export declare function OfflinePill({ tone, label, compact, onOpen, onReconnect, labels, 'data-testid': testId, reconnectTestId, }: OfflinePillProps): import("react").JSX.Element;
@@ -0,0 +1,23 @@
1
+ /** Fixed strings of the remote-control pill. */
2
+ export interface RemoteControlPillLabels {
3
+ /** The disable button (the `disableLabel` prop wins). */
4
+ turnOffRemoteControl: string;
5
+ }
6
+ export declare const DEFAULT_REMOTE_CONTROL_PILL_LABELS: RemoteControlPillLabels;
7
+ export interface RemoteControlPillProps {
8
+ /** A run is actively driving the screen (tinted + pulsing). */
9
+ isActive: boolean;
10
+ label: string;
11
+ onDisable: () => void;
12
+ disableLabel?: string;
13
+ labels?: Partial<RemoteControlPillLabels>;
14
+ /** Root id (default `remote-control-indicator`). */
15
+ 'data-testid'?: string;
16
+ /** Disable button id (default `remote-control-indicator-disable`). */
17
+ disableTestId?: string;
18
+ }
19
+ /**
20
+ * Persistent, unobtrusive status pill shown while remote control is on or a run is executing,
21
+ * with a one-click disable. The app decides when to mount it.
22
+ */
23
+ export declare function RemoteControlPill({ isActive, label, onDisable, disableLabel: disableLabelProp, labels, 'data-testid': testId, disableTestId, }: RemoteControlPillProps): import("react").JSX.Element;
@@ -0,0 +1,123 @@
1
+ import { type MouseEventHandler, type ReactNode, type Ref } from 'react';
2
+ /** Default id of the element overlay-mode panels portal into (see `Shell.Content`). */
3
+ export declare const DEFAULT_OVERLAY_ZONE_ID = "app-overlay-zone";
4
+ /** The id of the enclosing `Shell.Content` overlay zone, for panels that portal into it. */
5
+ export declare function useOverlayZoneId(): string;
6
+ export interface ShellRootProps {
7
+ /** Full-width strip above everything (e.g. a deletion-pending banner). */
8
+ banner?: ReactNode;
9
+ /** Top chrome: a Shell.Topbar on list pages, a MobileAppBar on phones; omit for none. */
10
+ topbar?: ReactNode;
11
+ /** The Sidebar.Root (and its drawer backdrop). */
12
+ sidebar?: ReactNode;
13
+ /** Phone bottom navigation. */
14
+ tabBar?: ReactNode;
15
+ /** Right-hand column beside the content: a `Shell.Dock` (chat, inspector...). */
16
+ aside?: ReactNode;
17
+ /** Extra layers inside the body row (connection monitor, …). */
18
+ overlays?: ReactNode;
19
+ /** The Shell.Content region. */
20
+ children: ReactNode;
21
+ className?: string;
22
+ 'data-testid'?: string;
23
+ }
24
+ /**
25
+ * The application frame: banner, top chrome, then a body row holding the sidebar beside the
26
+ * content, then the phone tab bar. Every region is a slot, so a custom UI composes its own.
27
+ */
28
+ declare function ShellRoot({ banner, topbar, sidebar, tabBar, aside, overlays, children, className, 'data-testid': testId, }: ShellRootProps): import("react").JSX.Element;
29
+ export interface ShellContentProps {
30
+ children: ReactNode;
31
+ /** Scrolling element, for scroll restoration. */
32
+ scrollRef?: Ref<HTMLDivElement>;
33
+ onClick?: MouseEventHandler<HTMLDivElement>;
34
+ /**
35
+ * Overlay-mode panels portal into this id and cover the content column only. Defaults to
36
+ * `DEFAULT_OVERLAY_ZONE_ID`; descendants read it with `useOverlayZoneId()`.
37
+ */
38
+ overlayZoneId?: string;
39
+ className?: string;
40
+ }
41
+ /**
42
+ * The content column beside the sidebar. It is `relative` so overlay-mode panels (portalled into
43
+ * the overlay zone) cover this region only, leaving the sidebar and its actions interactive.
44
+ */
45
+ declare function ShellContent({ children, scrollRef, onClick, overlayZoneId, className, }: ShellContentProps): import("react").JSX.Element;
46
+ export interface ShellTopbarProps {
47
+ /** Left side: guidance / breadcrumbs, centred in the page column. */
48
+ children?: ReactNode;
49
+ /** Right side: the action cluster. */
50
+ actions?: ReactNode;
51
+ className?: string;
52
+ }
53
+ /** A minimal white header for pages with no sidebar (the workspaces list). */
54
+ declare function ShellTopbar({ children, actions, className }: ShellTopbarProps): import("react").JSX.Element;
55
+ export interface ShellDockProps {
56
+ isOpen: boolean;
57
+ /** Called with `false` by the mobile close button. */
58
+ onOpenChange?: (isOpen: boolean) => void;
59
+ /** Desktop width (CSS length or px). Default 24rem. */
60
+ width?: number | string;
61
+ /** Phone layout: the dock covers the screen instead of sitting beside the content. */
62
+ isMobile?: boolean;
63
+ /** Accessible name of the dock. */
64
+ label: string;
65
+ /** Mobile close button label. */
66
+ closeLabel?: string;
67
+ children: ReactNode;
68
+ className?: string;
69
+ 'data-testid'?: string;
70
+ }
71
+ /**
72
+ * A right-hand dock for a companion surface (chat, inspector). Controlled: the host owns
73
+ * `isOpen`, the width and the mobile breakpoint. Pass it to `Shell.Root` as `aside`.
74
+ */
75
+ declare function ShellDock({ isOpen, onOpenChange, width, isMobile, label, closeLabel, children, className, 'data-testid': testId, }: ShellDockProps): import("react").JSX.Element | null;
76
+ export declare const Shell: {
77
+ Root: typeof ShellRoot;
78
+ Content: typeof ShellContent;
79
+ Topbar: typeof ShellTopbar;
80
+ Dock: typeof ShellDock;
81
+ };
82
+ export interface PageContainerProps {
83
+ children: ReactNode;
84
+ /** Full width instead of the centred 72rem column. */
85
+ wide?: boolean;
86
+ /** Stand-alone use: at least a screen tall, instead of filling the parent. */
87
+ minScreen?: boolean;
88
+ /** Max width of the centred column (any Tailwind `max-w-*` class). Default `max-w-6xl`. */
89
+ maxWidth?: string;
90
+ /**
91
+ * Horizontal padding of the inner column (any Tailwind `px-*` classes, responsive variants
92
+ * welcome). Default `px-4 sm:px-6 lg:px-8`; pass `px-0` for a full-bleed page, or the class
93
+ * string of your own gutter. Use this prop, not `innerClassName`, to change the gutter: the
94
+ * classes are concatenated without a merge step, so a second `px-*` would not reliably win.
95
+ */
96
+ padding?: string;
97
+ /** Extra classes for the inner column. */
98
+ innerClassName?: string;
99
+ className?: string;
100
+ }
101
+ /** Default gutter of {@link PageContainer}: tight on a phone, roomier from tablet up. */
102
+ export declare const DEFAULT_PAGE_CONTAINER_PADDING = "px-4 sm:px-6 lg:px-8";
103
+ /**
104
+ * Page body wrapper: a white canvas with the standard 72rem column (or full width) and a responsive side gutter. Fills its
105
+ * parent by default so sticky headers and h-full pages keep a definite height chain.
106
+ */
107
+ export declare function PageContainer({ children, wide, minScreen, maxWidth, padding, innerClassName, className, }: PageContainerProps): import("react").JSX.Element;
108
+ /** Fixed strings of the sidebar toggle. */
109
+ export interface SidebarToggleButtonLabels {
110
+ closeSidebar: string;
111
+ openSidebar: string;
112
+ }
113
+ export declare const DEFAULT_SIDEBAR_TOGGLE_BUTTON_LABELS: SidebarToggleButtonLabels;
114
+ export interface SidebarToggleButtonProps {
115
+ /** The sidebar is open (pinned). */
116
+ isOpen: boolean;
117
+ onToggle: () => void;
118
+ labels?: Partial<SidebarToggleButtonLabels>;
119
+ 'data-testid'?: string;
120
+ }
121
+ /** Opens/closes the sidebar from a page header, so the control sits in the same spot everywhere. */
122
+ export declare function SidebarToggleButton({ isOpen, onToggle, labels, 'data-testid': testId, }: SidebarToggleButtonProps): import("react").JSX.Element;
123
+ export {};
@@ -0,0 +1,104 @@
1
+ import { type ReactNode } from 'react';
2
+ import { DEFAULT_SIDEBAR_LABELS, SidebarRowHoverContext, useSidebarContext, type SidebarLabels } from './sidebar-context';
3
+ import type { SidebarMode } from '../lib/sidebar-mode';
4
+ import type { NavItem } from './types';
5
+ export interface SidebarRootProps {
6
+ mode: SidebarMode;
7
+ /** Labels visible. Provided to every part through context. */
8
+ expanded: boolean;
9
+ /** `rail` mode: floats open to full width. */
10
+ isHovering?: boolean;
11
+ /** `collapsed` mode: revealed (peek) at full width. */
12
+ isPeeking?: boolean;
13
+ onBackdropClick?: () => void;
14
+ /** `rail` mode on touch: the floated-open rail dims the content behind it; tapping it closes. */
15
+ hasRailBackdrop?: boolean;
16
+ onMouseEnter?: () => void;
17
+ onMouseLeave?: () => void;
18
+ children: ReactNode;
19
+ className?: string;
20
+ 'aria-label'?: string;
21
+ labels?: Partial<SidebarLabels>;
22
+ /** Root id (default `sidebar`). */
23
+ 'data-testid'?: string;
24
+ /** Drawer backdrop id (default `sidebar-backdrop`). */
25
+ backdropTestId?: string;
26
+ }
27
+ declare function SidebarRoot({ mode, expanded, isHovering, isPeeking, onBackdropClick, hasRailBackdrop, onMouseEnter, onMouseLeave, children, className, 'aria-label': ariaLabelProp, labels, 'data-testid': testId, backdropTestId, }: SidebarRootProps): import("react").JSX.Element;
28
+ export interface SidebarSectionProps {
29
+ children: ReactNode;
30
+ className?: string;
31
+ 'data-testid'?: string;
32
+ }
33
+ declare function SidebarHeader({ children, className, 'data-testid': testId }: SidebarSectionProps): import("react").JSX.Element;
34
+ export interface SidebarNavProps extends Omit<SidebarSectionProps, 'children'> {
35
+ children?: ReactNode;
36
+ /** Rows as data. Children render after them. */
37
+ items?: NavItem[];
38
+ }
39
+ declare function SidebarNav({ items, children, className, 'data-testid': testId }: SidebarNavProps): import("react").JSX.Element;
40
+ export interface SidebarGroupProps extends SidebarSectionProps {
41
+ /** Group heading. Shown above the rows when expanded; a thin divider stands in on the rail. */
42
+ label?: ReactNode;
43
+ /** Accessible name when `label` is not plain text. */
44
+ ariaLabel?: string;
45
+ }
46
+ /** A labelled run of rows inside the nav (for example "Workspace", "Tools"). */
47
+ declare function SidebarGroup({ label, ariaLabel, children, className, 'data-testid': testId, }: SidebarGroupProps): import("react").JSX.Element;
48
+ /** The heading of a `Sidebar.Group` (exported for custom headings). Hidden by the group on the rail. */
49
+ declare function SidebarGroupLabel({ children, className }: {
50
+ children: ReactNode;
51
+ className?: string;
52
+ }): import("react").JSX.Element;
53
+ declare function SidebarFooter({ children, className, 'data-testid': testId }: SidebarSectionProps): import("react").JSX.Element;
54
+ export type SidebarNavItemProps = Omit<NavItem, 'id'> & {
55
+ id?: string;
56
+ className?: string;
57
+ /** Tooltip shown on the icon-only rail; defaults to the label. */
58
+ tooltip?: string;
59
+ };
60
+ /**
61
+ * One row: [icon] [label] [count] [trailing]. 36px (44px on coarse pointers). The active row is
62
+ * the selection tint, never a filled block; counts are quiet numbers, not pills.
63
+ *
64
+ * The expanded row is a div with role="button" (not a native <button>) so an interactive
65
+ * `trailing` control can be nested without producing button-in-button markup.
66
+ */
67
+ declare function SidebarNavItem({ label, icon, active, onSelect, href, count, countIcon, testId, disabled, trailing, className, tooltip, }: SidebarNavItemProps): import("react").JSX.Element;
68
+ export interface SidebarPinToggleProps {
69
+ isPinned: boolean;
70
+ onToggle: () => void;
71
+ className?: string;
72
+ /** Default `sidebar-pin-button`. */
73
+ 'data-testid'?: string;
74
+ }
75
+ /**
76
+ * Pin/unpin button, revealed while the pointer is over the sidebar. It is always visible on
77
+ * coarse pointers (no hover on touch) and revealed by keyboard focus anywhere in the sidebar. It
78
+ * is hidden with opacity and pointer-events, never display:none, so it keeps its accessible name
79
+ * and stays in the tab order.
80
+ */
81
+ declare function SidebarPinToggle({ isPinned, onToggle, className, 'data-testid': testId, }: SidebarPinToggleProps): import("react").JSX.Element;
82
+ export interface SidebarDrawerHeaderProps {
83
+ /** Brand mark. */
84
+ logo: ReactNode;
85
+ onClose: () => void;
86
+ closeLabel?: string;
87
+ /** Close button id (default `mobile-nav-close`). */
88
+ 'data-testid'?: string;
89
+ }
90
+ /** The phone drawer's header: brand mark and a 44px close button. */
91
+ declare function SidebarDrawerHeader({ logo, onClose, closeLabel: closeLabelProp, 'data-testid': testId, }: SidebarDrawerHeaderProps): import("react").JSX.Element;
92
+ export { DEFAULT_SIDEBAR_LABELS, SidebarRowHoverContext, useSidebarContext, type SidebarLabels };
93
+ export declare const Sidebar: {
94
+ Root: typeof SidebarRoot;
95
+ Header: typeof SidebarHeader;
96
+ Nav: typeof SidebarNav;
97
+ Group: typeof SidebarGroup;
98
+ GroupLabel: typeof SidebarGroupLabel;
99
+ NavItem: typeof SidebarNavItem;
100
+ Footer: typeof SidebarFooter;
101
+ PinToggle: typeof SidebarPinToggle;
102
+ BadgeRow: import("react").ForwardRefExoticComponent<import("./SidebarBadgeRow").SidebarBadgeRowProps & import("react").RefAttributes<HTMLButtonElement>>;
103
+ DrawerHeader: typeof SidebarDrawerHeader;
104
+ };
@@ -0,0 +1,29 @@
1
+ import { type ButtonHTMLAttributes, type ReactNode } from 'react';
2
+ export interface SidebarBadgeRowProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
3
+ /** Glyph (20px). */
4
+ icon: ReactNode;
5
+ /** Visible label of the expanded row; the tooltip of the icon-only rail. */
6
+ label: string;
7
+ /** Unread/pending number. Hidden at 0 or `undefined`; values above 9 read "9+". */
8
+ count?: number;
9
+ /**
10
+ * Accessible name including the count, for example "Notifications, 2 unread". Defaults to
11
+ * `label` plus the count.
12
+ */
13
+ ariaLabel?: string;
14
+ /**
15
+ * `row`: a labelled row styled like the module rows, badge at the right. `icon`: icon-only with
16
+ * the badge on the corner. Default follows the sidebar (`row` expanded, `icon` on the rail).
17
+ */
18
+ variant?: 'row' | 'icon';
19
+ /** Test id of the count badge. */
20
+ badgeTestId?: string;
21
+ }
22
+ /**
23
+ * A sidebar row that carries a badge and may open something (a panel, a popover): the
24
+ * notifications and contacts rows above the account bar. A real button that forwards its ref and
25
+ * rest props, so it can be a popover trigger (`<DropdownMenuTrigger asChild>`). The badge is
26
+ * visible in both the expanded row and the icon-only rail, and the accessible name carries the
27
+ * count in both.
28
+ */
29
+ export declare const SidebarBadgeRow: import("react").ForwardRefExoticComponent<SidebarBadgeRowProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,24 @@
1
+ import { type ReactNode } from 'react';
2
+ export type SidebarRowActionPulse = 'active' | 'success' | 'error';
3
+ export interface SidebarRowActionProps {
4
+ /** The row this control sits on is selected: the glyph takes the selection ink. */
5
+ active?: boolean;
6
+ onClick?: () => void;
7
+ /** Tooltip text and accessible label. */
8
+ label: string;
9
+ /** Reflected as aria-pressed for toggle controls. */
10
+ pressed?: boolean;
11
+ /**
12
+ * Demand attention while the row is idle: `active` pulses primary (work in progress),
13
+ * `success` pulses green (just finished), `error` is a steady red alert. A selected row wins.
14
+ */
15
+ pulse?: SidebarRowActionPulse | null;
16
+ 'data-testid'?: string;
17
+ children: ReactNode;
18
+ }
19
+ /**
20
+ * The secondary control at the right edge of a sidebar row: a small muted glyph. Always visible
21
+ * (touch has no hover); hovering or focusing the row only brightens it a tone, through
22
+ * SidebarRowHoverContext. Stops propagation so it never triggers the row's own click.
23
+ */
24
+ export declare function SidebarRowAction({ active, onClick, label, pressed, pulse, 'data-testid': testId, children, }: SidebarRowActionProps): import("react").JSX.Element;
@@ -0,0 +1,20 @@
1
+ import type { ReactNode } from 'react';
2
+ export type StatusRowTone = 'progress' | 'success' | 'error';
3
+ export interface StatusRowProps {
4
+ tone: StatusRowTone;
5
+ /** e.g. "Processing 3 files…". Always the accessible name; hidden visually when `compact`. */
6
+ label: string;
7
+ /** Opens the thing the status is about (the processing panel). */
8
+ onClick: () => void;
9
+ /** Icon-only (the collapsed rail). */
10
+ compact?: boolean;
11
+ /** Replaces the tone's default glyph. */
12
+ icon?: ReactNode;
13
+ 'data-testid'?: string;
14
+ }
15
+ /**
16
+ * A live status line for the sidebar footer: a spinner and a short sentence that opens the
17
+ * thing it reports on. The host renders it ONLY while the state is relevant (work running,
18
+ * something failed), so a quiet app shows nothing. Announced politely to screen readers.
19
+ */
20
+ export declare function StatusRow({ tone, label, onClick, compact, icon, 'data-testid': testId, }: StatusRowProps): import("react").JSX.Element;
@@ -0,0 +1,70 @@
1
+ import { type ReactNode } from 'react';
2
+ /** Fixed strings of the tab row. */
3
+ export interface TabHeaderLabels {
4
+ /** A tab's close button (a tab's own `closeTooltip` wins). */
5
+ closeTab: string;
6
+ }
7
+ export declare const DEFAULT_TAB_HEADER_LABELS: TabHeaderLabels;
8
+ export interface Tab {
9
+ id: string;
10
+ label: string | ReactNode;
11
+ testId?: string;
12
+ icon?: ReactNode;
13
+ /**
14
+ * An entity pill (conversation, workspace, …) shown in place of the icon + label. The app
15
+ * renders it, so the block stays free of entity components.
16
+ */
17
+ pill?: ReactNode;
18
+ count?: number;
19
+ /** Where the count sits relative to the label. Defaults to 'trailing'. */
20
+ countPlacement?: 'leading' | 'trailing';
21
+ /** Glyph INSIDE the count, in front of the number, so icon and count read as one object. */
22
+ countIcon?: ReactNode;
23
+ badge?: string | ReactNode;
24
+ disabled?: boolean;
25
+ tooltip?: string;
26
+ actions?: ReactNode;
27
+ /** Hover handlers from actions (e.g. a filter dropdown), attached to the whole tab wrapper. */
28
+ actionsHoverHandlers?: {
29
+ onMouseEnter: () => void;
30
+ onMouseLeave: () => void;
31
+ };
32
+ isProcessing?: boolean;
33
+ isVariable?: boolean;
34
+ onClose?: () => void;
35
+ closeTooltip?: string;
36
+ hasActiveFilters?: boolean;
37
+ /** Extra classes for the tab button. */
38
+ tabClassName?: string;
39
+ }
40
+ export interface TabHeaderProps {
41
+ tabs: Tab[];
42
+ activeTabId: string;
43
+ onTabChange: (tabId: string) => void;
44
+ /** Pinned to the far left before the tabs (e.g. the sidebar toggle). */
45
+ leading?: ReactNode;
46
+ leftContent?: ReactNode;
47
+ afterTabs?: ReactNode | ((isCompact: boolean) => ReactNode);
48
+ centerContent?: ReactNode | ((isCompact: boolean) => ReactNode);
49
+ /** Pinned to the true horizontal center of the row, independent of left/right widths. */
50
+ absoluteCenterContent?: ReactNode;
51
+ rightContent?: ReactNode | ((isCompact: boolean) => ReactNode);
52
+ className?: string;
53
+ /** Header width below which tabs collapse to icons. */
54
+ compactBreakpoint?: number;
55
+ labels?: Partial<TabHeaderLabels>;
56
+ /**
57
+ * `chips` renders every tab as a soft chip (for rows of closable items), `underline` as a plain
58
+ * underline tab. Default: chips when any tab can be closed, underline otherwise.
59
+ */
60
+ variant?: 'underline' | 'chips';
61
+ /** Root id (default `tab-header`). */
62
+ testId?: string;
63
+ /**
64
+ * Per-tab ids; defaults are the current ids. A tab's own id is `Tab.testId`, else `<tab id>-tab`
65
+ * (structural).
66
+ */
67
+ testIds?: Partial<Record<'count' | 'closeButton', string>>;
68
+ }
69
+ /** Underline tab row with leading / center / right slots; collapses to icons when narrow. */
70
+ export declare function TabHeader({ tabs, activeTabId, onTabChange, leading, leftContent, afterTabs, centerContent, absoluteCenterContent, rightContent, className, compactBreakpoint, labels, variant, testId, testIds, }: TabHeaderProps): import("react").JSX.Element;
@@ -0,0 +1,46 @@
1
+ import type { ReactNode } from 'react';
2
+ /** Fixed strings of the tip card. */
3
+ export interface TipCardLabels {
4
+ /** Default CTA text (the `ctaLabel` prop wins). */
5
+ showMe: string;
6
+ previousTip: string;
7
+ nextTip: string;
8
+ editTip: string;
9
+ /** The card's heading and accessible name. */
10
+ tip: string;
11
+ /** The dismiss button: it turns tips off (they come back from the account menu). */
12
+ hideTips: string;
13
+ /** "1 of 3". */
14
+ position: (index: number, count: number) => string;
15
+ }
16
+ export declare const DEFAULT_TIP_CARD_LABELS: TipCardLabels;
17
+ export interface TipCardProps {
18
+ /** The tip text: one sentence. */
19
+ message: ReactNode;
20
+ /** Which tip is showing (0-based) out of `count`; the pager appears when `count` > 1. */
21
+ index?: number;
22
+ count?: number;
23
+ onPrev?: () => void;
24
+ onNext?: () => void;
25
+ /** The single primary action; omit when the tip has none. */
26
+ ctaLabel?: string;
27
+ onCta?: () => void;
28
+ /** Turns tips off. The card is dismissible so it never becomes permanent furniture. */
29
+ onDismiss?: () => void;
30
+ /** Dev-only edit affordance: the host passes it only in development builds. */
31
+ onEdit?: () => void;
32
+ /** Hover pauses the host's tip rotation (desktop enhancement). */
33
+ onHoverChange?: (hovered: boolean) => void;
34
+ labels?: Partial<TipCardLabels>;
35
+ className?: string;
36
+ /** Card id (default `tip-row`). */
37
+ testId?: string;
38
+ /** Control ids; defaults are the current ids. */
39
+ testIds?: Partial<Record<'prev' | 'next' | 'cta' | 'edit' | 'dismiss', string>>;
40
+ }
41
+ /**
42
+ * The Smart Tips card: a compact muted tile. Header (bulb, "Tip", dismiss), one sentence, then
43
+ * ONE primary action with a quiet "n of m" pager. It is shown only while tips are on and a tip
44
+ * applies; the host owns which tip is current, rotation and the on/off preference.
45
+ */
46
+ export declare function TipCard({ message, index, count, onPrev, onNext, ctaLabel, onCta, onDismiss, onEdit, onHoverChange, labels, className, testId, testIds, }: TipCardProps): import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface ToolButtonProps {
3
+ onClick: () => void;
4
+ /** Accessible name and native tooltip. */
5
+ label: string;
6
+ /** The panel/page this opens is showing. */
7
+ active?: boolean;
8
+ 'data-testid'?: string;
9
+ children: ReactNode;
10
+ }
11
+ /** An icon button for a topbar or toolbar: 36px (44px coarse), selection tint while active. */
12
+ export declare function ToolButton({ onClick, label, active, 'data-testid': testId, children, }: ToolButtonProps): import("react").JSX.Element;