@arbidocs/blocks 0.3.185 → 0.4.1
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.
- package/README.md +122 -0
- package/dist/agents/approvals/AuthorizeAgentParts.d.ts +79 -0
- package/dist/agents/approvals/ConsentPage.d.ts +76 -0
- package/dist/agents/approvals/ConsentParts.d.ts +37 -0
- package/dist/agents/approvals/index.d.ts +3 -0
- package/dist/agents/config/ConfigField.d.ts +43 -0
- package/dist/agents/config/ConfigForm.d.ts +35 -0
- package/dist/agents/config/TupleArrayField.d.ts +32 -0
- package/dist/agents/config/index.d.ts +4 -0
- package/dist/agents/config/schema-utils.d.ts +28 -0
- package/dist/agents/definitions/AgentCard.d.ts +63 -0
- package/dist/agents/definitions/AgentCreator.d.ts +118 -0
- package/dist/agents/definitions/AgentEditorParts.d.ts +63 -0
- package/dist/agents/definitions/AgentGallery.d.ts +29 -0
- package/dist/agents/definitions/index.d.ts +4 -0
- package/dist/agents/index.cjs +595 -0
- package/dist/agents/index.cjs.map +1 -0
- package/dist/agents/index.d.ts +7 -0
- package/dist/agents/index.js +14 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/runs/AgentBar.d.ts +103 -0
- package/dist/agents/runs/AgentSteps.d.ts +157 -0
- package/dist/agents/runs/SubagentRoster.d.ts +37 -0
- package/dist/agents/runs/index.d.ts +3 -0
- package/dist/agents/skills/SkillBrowserParts.d.ts +70 -0
- package/dist/agents/skills/SkillCard.d.ts +48 -0
- package/dist/agents/skills/SkillForms.d.ts +64 -0
- package/dist/agents/skills/SkillParts.d.ts +31 -0
- package/dist/agents/skills/SkillRow.d.ts +34 -0
- package/dist/agents/skills/index.d.ts +5 -0
- package/dist/agents/tasks/LiveRunsBanner.d.ts +26 -0
- package/dist/agents/tasks/RecurrenceBuilder.d.ts +36 -0
- package/dist/agents/tasks/TaskComposer.d.ts +108 -0
- package/dist/agents/tasks/TaskPlan.d.ts +78 -0
- package/dist/agents/tasks/TaskRowActions.d.ts +43 -0
- package/dist/agents/tasks/TaskRunsDialog.d.ts +45 -0
- package/dist/agents/tasks/TasksChrome.d.ts +36 -0
- package/dist/agents/tasks/UploadTaskItem.d.ts +39 -0
- package/dist/agents/tasks/UploadTaskList.d.ts +35 -0
- package/dist/agents/tasks/elapsed.d.ts +2 -0
- package/dist/agents/tasks/index.d.ts +13 -0
- package/dist/agents/tasks/rrule.d.ts +36 -0
- package/dist/agents/tasks/taskColumns.d.ts +68 -0
- package/dist/agents/tasks/taskLabels.d.ts +26 -0
- package/dist/agents/workflows/AgentSelect.d.ts +33 -0
- package/dist/agents/workflows/SchemaForm.d.ts +37 -0
- package/dist/agents/workflows/WorkflowConfigDialog.d.ts +73 -0
- package/dist/agents/workflows/WorkflowLauncher.d.ts +38 -0
- package/dist/agents/workflows/index.d.ts +6 -0
- package/dist/agents/workflows/types.d.ts +125 -0
- package/dist/agents/workflows/workflow.d.ts +62 -0
- package/dist/auth/AuthFooter.d.ts +56 -0
- package/dist/auth/AuthForm.d.ts +105 -0
- package/dist/auth/AuthLayout.d.ts +46 -0
- package/dist/auth/PasswordStrengthInput.d.ts +44 -0
- package/dist/auth/RecoveryDialogs.d.ts +90 -0
- package/dist/auth/SsoLoginButton.d.ts +19 -0
- package/dist/auth/index.cjs +123 -0
- package/dist/auth/index.cjs.map +1 -0
- package/dist/auth/index.d.ts +6 -0
- package/dist/auth/index.js +6 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/builder/AgentsPanel.d.ts +9 -0
- package/dist/builder/ModuleManager.d.ts +6 -0
- package/dist/builder/VerticalBuilder.d.ts +32 -0
- package/dist/builder/agents/store.d.ts +21 -0
- package/dist/builder/export.d.ts +30 -0
- package/dist/builder/modules/registry.d.ts +11 -0
- package/dist/builder/modules/store.d.ts +29 -0
- package/dist/builder/modules/types.d.ts +29 -0
- package/dist/builder/types.d.ts +28 -0
- package/dist/chat/BranchControls.d.ts +33 -0
- package/dist/chat/Composer.d.ts +156 -0
- package/dist/chat/ContextChip.d.ts +19 -0
- package/dist/chat/ContextPanel.d.ts +108 -0
- package/dist/chat/ConversationEmpty.d.ts +53 -0
- package/dist/chat/ConversationLayout.d.ts +40 -0
- package/dist/chat/ConversationParts.d.ts +62 -0
- package/dist/chat/ConversationSearchView.d.ts +57 -0
- package/dist/chat/LabelPinRow.d.ts +30 -0
- package/dist/chat/Message.d.ts +189 -0
- package/dist/chat/MessageAlert.d.ts +25 -0
- package/dist/chat/MessageList.d.ts +102 -0
- package/dist/chat/ModelPicker.d.ts +103 -0
- package/dist/chat/PendingAnswerBar.d.ts +36 -0
- package/dist/chat/PinnedDocChip.d.ts +22 -0
- package/dist/chat/SlashMenu.d.ts +57 -0
- package/dist/chat/ThreadMap.d.ts +45 -0
- package/dist/chat/index.cjs +423 -0
- package/dist/chat/index.cjs.map +1 -0
- package/dist/chat/index.d.ts +21 -0
- package/dist/chat/index.js +6 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/test-id.d.ts +16 -0
- package/dist/chat/useStreamAnnouncement.d.ts +19 -0
- package/dist/chunk-223D4727.cjs +50 -0
- package/dist/chunk-223D4727.cjs.map +1 -0
- package/dist/chunk-2K33YGM6.cjs +1846 -0
- package/dist/chunk-2K33YGM6.cjs.map +1 -0
- package/dist/chunk-2ORA62OF.js +266 -0
- package/dist/chunk-2ORA62OF.js.map +1 -0
- package/dist/chunk-4EZVCGRL.js +803 -0
- package/dist/chunk-4EZVCGRL.js.map +1 -0
- package/dist/chunk-54Q3RNJU.cjs +516 -0
- package/dist/chunk-54Q3RNJU.cjs.map +1 -0
- package/dist/chunk-5B4PXAKI.cjs +287 -0
- package/dist/chunk-5B4PXAKI.cjs.map +1 -0
- package/dist/chunk-6HIPFEID.cjs +574 -0
- package/dist/chunk-6HIPFEID.cjs.map +1 -0
- package/dist/{chunk-FZ2S6VAZ.js → chunk-6P6AEQJB.js} +413 -1132
- package/dist/chunk-6P6AEQJB.js.map +1 -0
- package/dist/chunk-76JDDMSP.js +31 -0
- package/dist/chunk-76JDDMSP.js.map +1 -0
- package/dist/chunk-7F6CBP3Z.js +12 -0
- package/dist/chunk-7F6CBP3Z.js.map +1 -0
- package/dist/chunk-7G2LJMUG.cjs +45 -0
- package/dist/chunk-7G2LJMUG.cjs.map +1 -0
- package/dist/chunk-7PEELPMA.js +1799 -0
- package/dist/chunk-7PEELPMA.js.map +1 -0
- package/dist/chunk-A2YAC22G.js +93 -0
- package/dist/chunk-A2YAC22G.js.map +1 -0
- package/dist/chunk-ADOKTJHV.cjs +262 -0
- package/dist/chunk-ADOKTJHV.cjs.map +1 -0
- package/dist/chunk-AE5FHFZ5.cjs +272 -0
- package/dist/chunk-AE5FHFZ5.cjs.map +1 -0
- package/dist/chunk-AXIZ2MDV.js +751 -0
- package/dist/chunk-AXIZ2MDV.js.map +1 -0
- package/dist/chunk-AZQDNYH4.js +2865 -0
- package/dist/chunk-AZQDNYH4.js.map +1 -0
- package/dist/chunk-C54XEN5T.cjs +34 -0
- package/dist/chunk-C54XEN5T.cjs.map +1 -0
- package/dist/chunk-CQCC7LE7.js +210 -0
- package/dist/chunk-CQCC7LE7.js.map +1 -0
- package/dist/chunk-CRIKTUEU.cjs +47 -0
- package/dist/chunk-CRIKTUEU.cjs.map +1 -0
- package/dist/chunk-CTZ5745I.js +564 -0
- package/dist/chunk-CTZ5745I.js.map +1 -0
- package/dist/chunk-DPLRHEJZ.js +78 -0
- package/dist/chunk-DPLRHEJZ.js.map +1 -0
- package/dist/{chunk-DBAUZD7A.cjs → chunk-DREI7EQ2.cjs} +437 -1152
- package/dist/chunk-DREI7EQ2.cjs.map +1 -0
- package/dist/chunk-ELR74ME6.cjs +68 -0
- package/dist/chunk-ELR74ME6.cjs.map +1 -0
- package/dist/chunk-G3G7LZPM.cjs +205 -0
- package/dist/chunk-G3G7LZPM.cjs.map +1 -0
- package/dist/chunk-GDFWJ73C.cjs +2973 -0
- package/dist/chunk-GDFWJ73C.cjs.map +1 -0
- package/dist/chunk-ITGHMJOM.js +5528 -0
- package/dist/chunk-ITGHMJOM.js.map +1 -0
- package/dist/chunk-J2BGSWXM.cjs +990 -0
- package/dist/chunk-J2BGSWXM.cjs.map +1 -0
- package/dist/chunk-K4BGOPGG.js +79 -0
- package/dist/chunk-K4BGOPGG.js.map +1 -0
- package/dist/chunk-LGBAZD37.js +341 -0
- package/dist/chunk-LGBAZD37.js.map +1 -0
- package/dist/chunk-LRUCMZK6.cjs +680 -0
- package/dist/chunk-LRUCMZK6.cjs.map +1 -0
- package/dist/chunk-MHVNT4J3.cjs +15 -0
- package/dist/chunk-MHVNT4J3.cjs.map +1 -0
- package/dist/chunk-NBV56SGU.js +42 -0
- package/dist/chunk-NBV56SGU.js.map +1 -0
- package/dist/chunk-NPLYHR2E.js +13 -0
- package/dist/chunk-NPLYHR2E.js.map +1 -0
- package/dist/chunk-NUNKSZKU.js +203 -0
- package/dist/chunk-NUNKSZKU.js.map +1 -0
- package/dist/chunk-OB5F4577.cjs +40 -0
- package/dist/chunk-OB5F4577.cjs.map +1 -0
- package/dist/chunk-OBLSURHV.js +973 -0
- package/dist/chunk-OBLSURHV.js.map +1 -0
- package/dist/chunk-OUW6G4O2.cjs +96 -0
- package/dist/chunk-OUW6G4O2.cjs.map +1 -0
- package/dist/chunk-OVEQERPO.js +66 -0
- package/dist/chunk-OVEQERPO.js.map +1 -0
- package/dist/chunk-P6GHJSLR.js +34 -0
- package/dist/chunk-P6GHJSLR.js.map +1 -0
- package/dist/chunk-PCB2BPN3.cjs +41 -0
- package/dist/chunk-PCB2BPN3.cjs.map +1 -0
- package/dist/chunk-PPCATBOY.cjs +15 -0
- package/dist/chunk-PPCATBOY.cjs.map +1 -0
- package/dist/chunk-QN42OA5J.js +887 -0
- package/dist/chunk-QN42OA5J.js.map +1 -0
- package/dist/chunk-QXEJXIP4.js +675 -0
- package/dist/chunk-QXEJXIP4.js.map +1 -0
- package/dist/chunk-RC6VTY2H.js +47 -0
- package/dist/chunk-RC6VTY2H.js.map +1 -0
- package/dist/chunk-RFIBUWLF.cjs +232 -0
- package/dist/chunk-RFIBUWLF.cjs.map +1 -0
- package/dist/chunk-S7PSMMRG.js +38 -0
- package/dist/chunk-S7PSMMRG.js.map +1 -0
- package/dist/chunk-SCFYPAG6.cjs +18 -0
- package/dist/chunk-SCFYPAG6.cjs.map +1 -0
- package/dist/chunk-SYDHKKRZ.cjs +818 -0
- package/dist/chunk-SYDHKKRZ.cjs.map +1 -0
- package/dist/chunk-TX2ZICS7.js +139 -0
- package/dist/chunk-TX2ZICS7.js.map +1 -0
- package/dist/chunk-TYZUCAT7.js +787 -0
- package/dist/chunk-TYZUCAT7.js.map +1 -0
- package/dist/chunk-U2E3WT3J.js +45 -0
- package/dist/chunk-U2E3WT3J.js.map +1 -0
- package/dist/chunk-UBNVIIBT.js +284 -0
- package/dist/chunk-UBNVIIBT.js.map +1 -0
- package/dist/chunk-UFHMLHIR.cjs +66 -0
- package/dist/chunk-UFHMLHIR.cjs.map +1 -0
- package/dist/chunk-UJE32SST.js +39 -0
- package/dist/chunk-UJE32SST.js.map +1 -0
- package/dist/chunk-ULWRNGGE.cjs +146 -0
- package/dist/chunk-ULWRNGGE.cjs.map +1 -0
- package/dist/chunk-UWGIB3VQ.js +64 -0
- package/dist/chunk-UWGIB3VQ.js.map +1 -0
- package/dist/chunk-V4ISCZJ7.cjs +207 -0
- package/dist/chunk-V4ISCZJ7.cjs.map +1 -0
- package/dist/chunk-VFUWWH52.cjs +83 -0
- package/dist/chunk-VFUWWH52.cjs.map +1 -0
- package/dist/chunk-VILAPTCB.js +259 -0
- package/dist/chunk-VILAPTCB.js.map +1 -0
- package/dist/chunk-VLCY46K6.cjs +82 -0
- package/dist/chunk-VLCY46K6.cjs.map +1 -0
- package/dist/chunk-VPPX5XUF.cjs +813 -0
- package/dist/chunk-VPPX5XUF.cjs.map +1 -0
- package/dist/chunk-WJMEXTVD.cjs +122 -0
- package/dist/chunk-WJMEXTVD.cjs.map +1 -0
- package/dist/chunk-WTNMWEBC.js +504 -0
- package/dist/chunk-WTNMWEBC.js.map +1 -0
- package/dist/chunk-WW6EOVZA.js +112 -0
- package/dist/chunk-WW6EOVZA.js.map +1 -0
- package/dist/chunk-XNBAXRY7.cjs +5673 -0
- package/dist/chunk-XNBAXRY7.cjs.map +1 -0
- package/dist/chunk-XQ7PKKDY.cjs +787 -0
- package/dist/chunk-XQ7PKKDY.cjs.map +1 -0
- package/dist/chunk-XZIYRKLW.cjs +347 -0
- package/dist/chunk-XZIYRKLW.cjs.map +1 -0
- package/dist/chunk-YBXCZEWS.js +187 -0
- package/dist/chunk-YBXCZEWS.js.map +1 -0
- package/dist/chunk-YDHO4AVL.js +16 -0
- package/dist/chunk-YDHO4AVL.js.map +1 -0
- package/dist/chunk-ZORQ5M3W.cjs +934 -0
- package/dist/chunk-ZORQ5M3W.cjs.map +1 -0
- package/dist/chunk-ZW6FPIFC.cjs +36 -0
- package/dist/chunk-ZW6FPIFC.cjs.map +1 -0
- package/dist/citations/CitationEditor.d.ts +58 -0
- package/dist/citations/PassagePill.d.ts +49 -0
- package/dist/citations/QuietMarks.d.ts +81 -0
- package/dist/citations/index.cjs +47 -0
- package/dist/citations/index.cjs.map +1 -0
- package/dist/citations/index.d.ts +3 -0
- package/dist/citations/index.js +6 -0
- package/dist/citations/index.js.map +1 -0
- package/dist/collaboration/contacts/AddContactsParts.d.ts +46 -0
- package/dist/collaboration/contacts/index.d.ts +1 -0
- package/dist/collaboration/direct-messages/DirectMessages.d.ts +33 -0
- package/dist/collaboration/direct-messages/DmParts.d.ts +139 -0
- package/dist/collaboration/direct-messages/index.d.ts +2 -0
- package/dist/collaboration/index.cjs +141 -0
- package/dist/collaboration/index.cjs.map +1 -0
- package/dist/collaboration/index.d.ts +5 -0
- package/dist/collaboration/index.js +8 -0
- package/dist/collaboration/index.js.map +1 -0
- package/dist/collaboration/mail/MailFolderTree.d.ts +34 -0
- package/dist/collaboration/mail/index.d.ts +2 -0
- package/dist/collaboration/mail/mailFolders.d.ts +25 -0
- package/dist/collaboration/members/WorkspaceMembers.d.ts +74 -0
- package/dist/collaboration/members/index.d.ts +1 -0
- package/dist/collaboration/sharing/ShareControl.d.ts +38 -0
- package/dist/collaboration/sharing/index.d.ts +1 -0
- package/dist/components/Accordion.d.ts +12 -0
- package/dist/components/ActionLink.d.ts +18 -0
- package/dist/components/AskBar.d.ts +48 -0
- package/dist/components/AvatarBlock.d.ts +9 -0
- package/dist/components/Banner.d.ts +12 -0
- package/dist/components/BlockImage.d.ts +18 -0
- package/dist/components/CTABanner.d.ts +17 -0
- package/dist/components/Callout.d.ts +9 -0
- package/dist/components/Chart.d.ts +35 -0
- package/dist/components/CollectionDetail.d.ts +23 -0
- package/dist/components/Columns.d.ts +11 -0
- package/dist/components/ContactForm.d.ts +54 -0
- package/dist/components/Container.d.ts +11 -0
- package/dist/components/DataTable.d.ts +47 -0
- package/dist/components/DataTableBlock.d.ts +26 -0
- package/dist/components/EmptyState.d.ts +11 -0
- package/dist/components/EntityChip.d.ts +24 -0
- package/dist/components/EntityIdentityBar.d.ts +90 -0
- package/dist/components/EntityTooltip.d.ts +43 -0
- package/dist/components/FAQ.d.ts +14 -0
- package/dist/components/FeatureGrid.d.ts +18 -0
- package/dist/components/Footer.d.ts +25 -0
- package/dist/components/Gallery.d.ts +15 -0
- package/dist/components/Hero.d.ts +35 -0
- package/dist/components/ListBlock.d.ts +10 -0
- package/dist/components/LogoCloud.d.ts +12 -0
- package/dist/components/MediaText.d.ts +15 -0
- package/dist/components/MemberAvatarStack.d.ts +36 -0
- package/dist/components/MetricCard.d.ts +28 -0
- package/dist/components/Navbar.d.ts +39 -0
- package/dist/components/PageHeader.d.ts +15 -0
- package/dist/components/PricingTable.d.ts +19 -0
- package/dist/components/RichTextBlock.d.ts +10 -0
- package/dist/components/SectionHeading.d.ts +11 -0
- package/dist/components/Spacer.d.ts +7 -0
- package/dist/components/StatGroup.d.ts +12 -0
- package/dist/components/Steps.d.ts +12 -0
- package/dist/components/Tabs.d.ts +15 -0
- package/dist/components/TeamGrid.d.ts +30 -0
- package/dist/components/Testimonial.d.ts +9 -0
- package/dist/components/TestimonialGrid.d.ts +13 -0
- package/dist/components/ToneBadge.d.ts +18 -0
- package/dist/components/Toolbar.d.ts +11 -0
- package/dist/components/UsageMeter.d.ts +21 -0
- package/dist/components/VideoEmbed.d.ts +16 -0
- package/dist/components/assetImage.d.ts +16 -0
- package/dist/components/assetResolver.d.ts +57 -0
- package/dist/components/blockLink.d.ts +26 -0
- package/dist/components/editorial/ArticleList.d.ts +32 -0
- package/dist/components/editorial/Bands.d.ts +29 -0
- package/dist/components/editorial/EditorialHeading.d.ts +17 -0
- package/dist/components/editorial/EditorialHero.d.ts +46 -0
- package/dist/components/editorial/EditorialSection.d.ts +47 -0
- package/dist/components/editorial/Eyebrow.d.ts +14 -0
- package/dist/components/editorial/PanelGrid.d.ts +45 -0
- package/dist/components/editorial/ProfileCard.d.ts +27 -0
- package/dist/components/editorial/PullQuote.d.ts +17 -0
- package/dist/components/editorial/Reveal.d.ts +15 -0
- package/dist/components/editorial/index.d.ts +12 -0
- package/dist/components/editorial/lists.d.ts +42 -0
- package/dist/components/editorial/tone.d.ts +33 -0
- package/dist/components/tones.d.ts +14 -0
- package/dist/connect/index.cjs +65 -0
- package/dist/connect/index.cjs.map +1 -0
- package/dist/connect/index.d.ts +8 -0
- package/dist/connect/index.js +28 -0
- package/dist/connect/index.js.map +1 -0
- package/dist/connection/ArbiAppProvider.d.ts +16 -0
- package/dist/connection/ConnectionProvider.d.ts +50 -0
- package/dist/connection/ai.d.ts +99 -0
- package/dist/connection/types.d.ts +54 -0
- package/dist/connection/useImageGen.d.ts +22 -0
- package/dist/facts/FactComposer.d.ts +75 -0
- package/dist/facts/FactDateInput.d.ts +34 -0
- package/dist/facts/FactLabelsCell.d.ts +35 -0
- package/dist/facts/FactPassages.d.ts +52 -0
- package/dist/facts/FactRowActions.d.ts +18 -0
- package/dist/facts/FactSearchParts.d.ts +80 -0
- package/dist/facts/FactSourceGroup.d.ts +26 -0
- package/dist/facts/FactTimelineViews.d.ts +37 -0
- package/dist/facts/FactsBulkBar.d.ts +53 -0
- package/dist/facts/FactsEmptyState.d.ts +38 -0
- package/dist/facts/FactsFieldsButton.d.ts +21 -0
- package/dist/facts/FactsFilterInput.d.ts +46 -0
- package/dist/facts/FactsTable.d.ts +28 -0
- package/dist/facts/FactsToolbar.d.ts +53 -0
- package/dist/facts/FactsViewToggle.d.ts +38 -0
- package/dist/facts/fact-date.d.ts +22 -0
- package/dist/facts/fact-row.d.ts +32 -0
- package/dist/facts/fact-text.d.ts +14 -0
- package/dist/facts/factColumns.d.ts +88 -0
- package/dist/facts/index.cjs +2401 -0
- package/dist/facts/index.cjs.map +1 -0
- package/dist/facts/index.d.ts +35 -0
- package/dist/facts/index.js +2343 -0
- package/dist/facts/index.js.map +1 -0
- package/dist/facts/timezone.d.ts +4 -0
- package/dist/files/AiReviewDialog.d.ts +77 -0
- package/dist/files/DocStatusIcon.d.ts +12 -0
- package/dist/files/DocumentGrid.d.ts +27 -0
- package/dist/files/Explorer.d.ts +10 -0
- package/dist/files/ExplorerSurface.d.ts +34 -0
- package/dist/files/ExplorerTile.d.ts +142 -0
- package/dist/files/ExportParts.d.ts +114 -0
- package/dist/files/FieldParts.d.ts +64 -0
- package/dist/files/FilesPage.d.ts +20 -0
- package/dist/files/FilesToolbar.d.ts +59 -0
- package/dist/files/FolderPicker.d.ts +82 -0
- package/dist/files/GridView.d.ts +59 -0
- package/dist/files/HtmlViewerParts.d.ts +183 -0
- package/dist/files/MoveToFolderDialog.d.ts +32 -0
- package/dist/files/RedlineParts.d.ts +72 -0
- package/dist/files/SelectionBar.d.ts +65 -0
- package/dist/files/StatusPill.d.ts +23 -0
- package/dist/files/TagPassagePanel.d.ts +60 -0
- package/dist/files/UploadDropzone.d.ts +33 -0
- package/dist/files/UploadFooter.d.ts +59 -0
- package/dist/files/UploadParts.d.ts +78 -0
- package/dist/files/UploadSources.d.ts +77 -0
- package/dist/files/VersionTimeline.d.ts +60 -0
- package/dist/files/ViewToggle.d.ts +53 -0
- package/dist/files/ViewerChrome.d.ts +152 -0
- package/dist/files/ViewerLayout.d.ts +32 -0
- package/dist/files/ViewerParts.d.ts +62 -0
- package/dist/files/bulk/BulkActionsBar.d.ts +76 -0
- package/dist/files/bulk/FolderFilterButton.d.ts +35 -0
- package/dist/files/bulk/index.d.ts +2 -0
- package/dist/files/cells/DocumentNameCell.d.ts +31 -0
- package/dist/files/cells/FolderCell.d.ts +25 -0
- package/dist/files/cells/HoverIconCell.d.ts +21 -0
- package/dist/files/cells/LabelMultiSelect.d.ts +50 -0
- package/dist/files/cells/RelatedDocsCell.d.ts +22 -0
- package/dist/files/cells/TagColumnParts.d.ts +29 -0
- package/dist/files/cells/index.d.ts +6 -0
- package/dist/files/documentGridLayout.d.ts +31 -0
- package/dist/files/grid-test-ids.d.ts +18 -0
- package/dist/files/import/CalendarImportRow.d.ts +26 -0
- package/dist/files/import/ImportParts.d.ts +114 -0
- package/dist/files/import/TaskSection.d.ts +51 -0
- package/dist/files/import/UrlInputDialogView.d.ts +63 -0
- package/dist/files/import/VendorLogo.d.ts +15 -0
- package/dist/files/import/index.d.ts +5 -0
- package/dist/files/index.cjs +7555 -0
- package/dist/files/index.cjs.map +1 -0
- package/dist/files/index.d.ts +34 -0
- package/dist/files/index.js +7340 -0
- package/dist/files/index.js.map +1 -0
- package/dist/files/page/FilesAddMenu.d.ts +30 -0
- package/dist/files/page/FilesPageParts.d.ts +24 -0
- package/dist/files/page/FilesPageTitle.d.ts +24 -0
- package/dist/files/page/index.d.ts +3 -0
- package/dist/files/tags/BulkTagEditor.d.ts +136 -0
- package/dist/files/tags/DocTagPopover.d.ts +113 -0
- package/dist/files/tags/TagManager.d.ts +54 -0
- package/dist/files/tags/index.d.ts +3 -0
- package/dist/files/views/FieldsEditorParts.d.ts +151 -0
- package/dist/files/views/FieldsManagerParts.d.ts +17 -0
- package/dist/files/views/TagFormParts.d.ts +109 -0
- package/dist/files/views/ViewSelectorMenu.d.ts +66 -0
- package/dist/files/views/fieldsEditorModel.d.ts +43 -0
- package/dist/files/views/index.d.ts +5 -0
- package/dist/home/ActionMenuDialog.d.ts +26 -0
- package/dist/home/AddFilesFirst.d.ts +22 -0
- package/dist/home/CardHeaderBar.d.ts +40 -0
- package/dist/home/CollapsibleSection.d.ts +43 -0
- package/dist/home/CreateTile.d.ts +17 -0
- package/dist/home/DashboardParts.d.ts +32 -0
- package/dist/home/FactsStrip.d.ts +41 -0
- package/dist/home/FoldSection.d.ts +19 -0
- package/dist/home/GettingStartedStrip.d.ts +49 -0
- package/dist/home/Greeting.d.ts +18 -0
- package/dist/home/HomeLayout.d.ts +28 -0
- package/dist/home/KeyValueRow.d.ts +43 -0
- package/dist/home/ProjectBandParts.d.ts +70 -0
- package/dist/home/QuickActionDialogHeader.d.ts +21 -0
- package/dist/home/RecentList.d.ts +48 -0
- package/dist/home/ScopePicker.d.ts +65 -0
- package/dist/home/StartTiles.d.ts +33 -0
- package/dist/home/index.cjs +854 -0
- package/dist/home/index.cjs.map +1 -0
- package/dist/home/index.d.ts +37 -0
- package/dist/home/index.js +763 -0
- package/dist/home/index.js.map +1 -0
- package/dist/home/sections.d.ts +33 -0
- package/dist/index.cjs +1992 -5547
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +72 -1716
- package/dist/index.js +142 -5316
- package/dist/index.js.map +1 -1
- package/dist/lib/balanced-columns.d.ts +8 -0
- package/dist/lib/format.d.ts +37 -0
- package/dist/lib/observe-resize.d.ts +6 -0
- package/dist/lib/password-strength.d.ts +24 -0
- package/dist/lib/sidebar-mode.d.ts +46 -0
- package/dist/lib/testid.d.ts +7 -0
- package/dist/lib/use-drawer.d.ts +11 -0
- package/dist/lib/useControllableState.d.ts +5 -0
- package/dist/lib/useDismissibleCard.d.ts +15 -0
- package/dist/lib/useListKeyNav.d.ts +42 -0
- package/dist/lib/useLongPaste.d.ts +15 -0
- package/dist/lib/useRestoreFocus.d.ts +11 -0
- package/dist/lib/useScopeSelection.d.ts +34 -0
- package/dist/nav/types.d.ts +19 -0
- package/dist/provider/BlocksProvider.d.ts +20 -0
- package/dist/provider/TooltipScope.d.ts +9 -0
- package/dist/record/index.cjs +2 -4
- package/dist/record/index.cjs.map +1 -1
- package/dist/record/index.d.ts +12 -16
- package/dist/record/index.js +2 -4
- package/dist/record/index.js.map +1 -1
- package/dist/retrieval/HighlightText.d.ts +21 -0
- package/dist/retrieval/SearchEmptyState.d.ts +39 -0
- package/dist/retrieval/SearchGroupHeader.d.ts +21 -0
- package/dist/retrieval/SearchHit.d.ts +36 -0
- package/dist/retrieval/SearchPage.d.ts +187 -0
- package/dist/retrieval/SearchPagination.d.ts +21 -0
- package/dist/retrieval/highlight.d.ts +21 -0
- package/dist/retrieval/index.cjs +160 -0
- package/dist/retrieval/index.cjs.map +1 -0
- package/dist/retrieval/index.d.ts +7 -0
- package/dist/retrieval/index.js +7 -0
- package/dist/retrieval/index.js.map +1 -0
- package/dist/settings/AccountDialogs.d.ts +89 -0
- package/dist/settings/AvatarPicker.d.ts +25 -0
- package/dist/settings/Billing.d.ts +113 -0
- package/dist/settings/ConfigSwitcherBar.d.ts +46 -0
- package/dist/settings/ConfirmDialog.d.ts +28 -0
- package/dist/settings/ConnectionCard.d.ts +58 -0
- package/dist/settings/ConversationSettingsParts.d.ts +53 -0
- package/dist/settings/DocumentPicker.d.ts +57 -0
- package/dist/settings/EmailWorkspaceDialogView.d.ts +60 -0
- package/dist/settings/ErrorDialog.d.ts +36 -0
- package/dist/settings/FloatingPanel.d.ts +32 -0
- package/dist/settings/JsonTree.d.ts +24 -0
- package/dist/settings/LogoutDialog.d.ts +51 -0
- package/dist/settings/ModalBreadcrumbHeader.d.ts +32 -0
- package/dist/settings/ModalScaffold.d.ts +60 -0
- package/dist/settings/MultiSelect.d.ts +111 -0
- package/dist/settings/NotificationCategoryList.d.ts +26 -0
- package/dist/settings/PanelFrame.d.ts +47 -0
- package/dist/settings/PasswordChangeDialog.d.ts +64 -0
- package/dist/settings/PlanBadge.d.ts +14 -0
- package/dist/settings/PlanCard.d.ts +97 -0
- package/dist/settings/PremiumModelsFrame.d.ts +17 -0
- package/dist/settings/ProfileCard.d.ts +67 -0
- package/dist/settings/Projects.d.ts +108 -0
- package/dist/settings/QuotaMeter.d.ts +31 -0
- package/dist/settings/ReferralCredit.d.ts +46 -0
- package/dist/settings/SegmentedControl.d.ts +20 -0
- package/dist/settings/ServerConnectionControls.d.ts +31 -0
- package/dist/settings/SettingsPanel.d.ts +61 -0
- package/dist/settings/SettingsSwitchRow.d.ts +21 -0
- package/dist/settings/SubscriptionParts.d.ts +215 -0
- package/dist/settings/SupportPanel.d.ts +32 -0
- package/dist/settings/SyncDialogParts.d.ts +155 -0
- package/dist/settings/ThreadPreviewDialog.d.ts +18 -0
- package/dist/settings/TipsEditorDialog.d.ts +94 -0
- package/dist/settings/TriStateFilterMenu.d.ts +66 -0
- package/dist/settings/Usage.d.ts +102 -0
- package/dist/settings/WelcomeDialog.d.ts +79 -0
- package/dist/settings/index.cjs +5131 -0
- package/dist/settings/index.cjs.map +1 -0
- package/dist/settings/index.d.ts +38 -0
- package/dist/settings/index.js +4922 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/shell/ActionCluster.d.ts +33 -0
- package/dist/shell/AskField.d.ts +76 -0
- package/dist/shell/InfoBar.d.ts +20 -0
- package/dist/shell/MobileBars.d.ts +47 -0
- package/dist/shell/OfflinePill.d.ts +28 -0
- package/dist/shell/RemoteControlPill.d.ts +23 -0
- package/dist/shell/Shell.d.ts +123 -0
- package/dist/shell/Sidebar.d.ts +104 -0
- package/dist/shell/SidebarBadgeRow.d.ts +29 -0
- package/dist/shell/SidebarRowAction.d.ts +24 -0
- package/dist/shell/StatusRow.d.ts +20 -0
- package/dist/shell/TabHeader.d.ts +70 -0
- package/dist/shell/TipCard.d.ts +46 -0
- package/dist/shell/ToolButton.d.ts +12 -0
- package/dist/shell/Workspace.d.ts +90 -0
- package/dist/shell/index.cjs +187 -0
- package/dist/shell/index.cjs.map +1 -0
- package/dist/shell/index.d.ts +20 -0
- package/dist/shell/index.js +10 -0
- package/dist/shell/index.js.map +1 -0
- package/dist/shell/sidebar-context.d.ts +19 -0
- package/dist/shell/types.d.ts +48 -0
- package/dist/site/index.cjs +173 -90
- package/dist/site/index.d.ts +60 -4
- package/dist/site/index.js +8 -1
- package/dist/studio/PageRenderer.d.ts +35 -0
- package/dist/studio/Section.d.ts +24 -0
- package/dist/studio/StudioEditor.d.ts +32 -0
- package/dist/studio/aiFields.d.ts +17 -0
- package/dist/studio/blockKit.d.ts +36 -0
- package/dist/studio/blocksConfig.d.ts +42 -0
- package/dist/studio/imageFields.d.ts +14 -0
- package/dist/studio/index.cjs +3353 -0
- package/dist/studio/index.cjs.map +1 -0
- package/dist/studio/index.d.ts +32 -0
- package/dist/studio/index.js +3297 -0
- package/dist/studio/index.js.map +1 -0
- package/dist/studio/liveData.d.ts +4 -0
- package/dist/studio/liveWidgetRuntime.d.ts +41 -0
- package/dist/studio/persistence.d.ts +38 -0
- package/dist/studio/publish.d.ts +39 -0
- package/dist/studio/siteBlocks.d.ts +14 -0
- package/dist/studio/types.d.ts +46 -0
- package/dist/studio/websiteBlocks.d.ts +4 -0
- package/dist/studio/widgets.d.ts +20 -0
- package/dist/theme/ThemeEditor.d.ts +16 -0
- package/dist/theme/fontPairings.d.ts +48 -0
- package/dist/theme/store.d.ts +53 -0
- package/dist/theme/tokens.d.ts +105 -0
- package/dist/timeline/Timeline.d.ts +27 -0
- package/dist/timeline/TimelineCalendar.d.ts +54 -0
- package/dist/timeline/TimelineGantt.d.ts +71 -0
- package/dist/timeline/TimelineZoomControl.d.ts +17 -0
- package/dist/timeline/index.cjs +50 -0
- package/dist/timeline/index.cjs.map +1 -0
- package/dist/timeline/index.d.ts +13 -0
- package/dist/timeline/index.js +5 -0
- package/dist/timeline/index.js.map +1 -0
- package/dist/timeline/span.d.ts +29 -0
- package/dist/timeline/types.d.ts +30 -0
- package/dist/workspaces/WorkspaceBadges.d.ts +27 -0
- package/dist/workspaces/WorkspaceCard.d.ts +142 -0
- package/dist/workspaces/WorkspaceFormParts.d.ts +98 -0
- package/dist/workspaces/WorkspaceGroup.d.ts +31 -0
- package/dist/workspaces/WorkspaceSettingsParts.d.ts +70 -0
- package/dist/workspaces/index.cjs +690 -0
- package/dist/workspaces/index.cjs.map +1 -0
- package/dist/workspaces/index.d.ts +9 -0
- package/dist/workspaces/index.js +661 -0
- package/dist/workspaces/index.js.map +1 -0
- package/package.json +154 -9
- package/src/blocks.css +365 -0
- package/src/components/grid.css +60 -107
- package/src/source.css +20 -0
- package/src/studio/studio.css +3 -3
- package/src/tokens.css +226 -0
- package/dist/chunk-DBAUZD7A.cjs.map +0 -1
- package/dist/chunk-FZ2S6VAZ.js.map +0 -1
- package/dist/index-DduoEosi.d.cts +0 -846
- package/dist/index-DduoEosi.d.ts +0 -846
- package/dist/index.d.cts +0 -1717
- package/dist/record/index.d.cts +0 -96
- package/dist/site/index.d.cts +0 -4
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { type MouseEventHandler, type ReactNode } from 'react';
|
|
2
|
+
import { type ButtonProps } from '@arbidocs/react/ui';
|
|
3
|
+
/**
|
|
4
|
+
* Parts of the composer's "in this chat" panels (files, facts): a card that opens upward from the
|
|
5
|
+
* composer, a grouped pick list, and below it the labels, search and bulk actions.
|
|
6
|
+
*/
|
|
7
|
+
/** The card itself: width follows the chat input (`--chat-input-width`), bounded on small screens. */
|
|
8
|
+
export declare const ContextPanelContent: import("react").ForwardRefExoticComponent<Omit<Omit<import("@radix-ui/react-hover-card").HoverCardContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export interface ContextPickerGroup {
|
|
10
|
+
key: string;
|
|
11
|
+
heading: string;
|
|
12
|
+
/** Id of the heading element. */
|
|
13
|
+
testId?: string;
|
|
14
|
+
/** Shown after the heading as `(n)`. */
|
|
15
|
+
count: number;
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
export interface ContextPickerListProps {
|
|
19
|
+
groups: ContextPickerGroup[];
|
|
20
|
+
/** Shown instead of the groups when every group is empty. */
|
|
21
|
+
emptyText: string;
|
|
22
|
+
testId: string;
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Two (or more) headed groups, e.g. "In this conversation" then "In this workspace". Each heading
|
|
27
|
+
* pins to the top of the scroller and is pushed out by the next one; the second parks below the
|
|
28
|
+
* first (32px = a heading's own height), so both stay visible however far down you scroll.
|
|
29
|
+
*/
|
|
30
|
+
export declare function ContextPickerList({ groups, emptyText, testId, className, }: ContextPickerListProps): import("react").JSX.Element;
|
|
31
|
+
export interface ContextPickerRowProps {
|
|
32
|
+
isSelected: boolean;
|
|
33
|
+
onToggle: () => void;
|
|
34
|
+
testId?: string;
|
|
35
|
+
children: ReactNode;
|
|
36
|
+
}
|
|
37
|
+
/** A whole-row toggle (e.g. a fact): check glyph then clamped text. */
|
|
38
|
+
export declare function ContextPickerRow({ isSelected, onToggle, testId, children, }: ContextPickerRowProps): import("react").JSX.Element;
|
|
39
|
+
export interface ContextCheckRowProps {
|
|
40
|
+
isSelected: boolean;
|
|
41
|
+
/** The check toggle: accessible name (e.g. "Add to conversation"), handler and test id. */
|
|
42
|
+
toggle: {
|
|
43
|
+
label: string;
|
|
44
|
+
onToggle: () => void;
|
|
45
|
+
testId?: string;
|
|
46
|
+
};
|
|
47
|
+
/** Status glyph between the toggle and the content. */
|
|
48
|
+
status?: ReactNode;
|
|
49
|
+
testId?: string;
|
|
50
|
+
/** The row's content (e.g. a document pill that opens the document). */
|
|
51
|
+
children: ReactNode;
|
|
52
|
+
}
|
|
53
|
+
/** A row with its own check toggle plus a content slot (e.g. a document, which opens on click). */
|
|
54
|
+
export declare function ContextCheckRow({ isSelected, toggle, status, testId, children, }: ContextCheckRowProps): import("react").JSX.Element;
|
|
55
|
+
export interface ContextSelectListProps {
|
|
56
|
+
children: ReactNode;
|
|
57
|
+
}
|
|
58
|
+
/** Compact single-select list (e.g. choose the document to pin). */
|
|
59
|
+
export declare function ContextSelectList({ children }: ContextSelectListProps): import("react").JSX.Element;
|
|
60
|
+
export interface ContextSelectRowProps {
|
|
61
|
+
isSelected: boolean;
|
|
62
|
+
onSelect: MouseEventHandler<HTMLButtonElement>;
|
|
63
|
+
status?: ReactNode;
|
|
64
|
+
title: string;
|
|
65
|
+
testId?: string;
|
|
66
|
+
}
|
|
67
|
+
export declare function ContextSelectRow({ isSelected, onSelect, status, title, testId, }: ContextSelectRowProps): import("react").JSX.Element;
|
|
68
|
+
export interface ContextPanelFooterProps {
|
|
69
|
+
/** Label shortcut chips (host-supplied row). */
|
|
70
|
+
labels?: ReactNode;
|
|
71
|
+
/** The search box. */
|
|
72
|
+
search: ReactNode;
|
|
73
|
+
/** Icon + title of the panel; omit when tabs already name it. */
|
|
74
|
+
title?: ReactNode;
|
|
75
|
+
/** The action buttons, right aligned. */
|
|
76
|
+
actions: ReactNode;
|
|
77
|
+
}
|
|
78
|
+
/** Everything below the list: the panel opens upward, so its controls sit nearest the button. */
|
|
79
|
+
export declare function ContextPanelFooter({ labels, search, title, actions }: ContextPanelFooterProps): import("react").JSX.Element;
|
|
80
|
+
export declare const ContextSearchInput: import("react").ForwardRefExoticComponent<Omit<Omit<import("@arbidocs/react").InputProps, "ref"> & import("react").RefAttributes<HTMLInputElement>, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
|
|
81
|
+
export interface ContextActionButtonProps extends Omit<ButtonProps, 'size'> {
|
|
82
|
+
icon?: ReactNode;
|
|
83
|
+
/** Badge after the label; hidden at 0 / undefined. */
|
|
84
|
+
count?: number;
|
|
85
|
+
/** Put the icon after the label (bulk Add / Remove) rather than before it. */
|
|
86
|
+
isIconTrailing?: boolean;
|
|
87
|
+
}
|
|
88
|
+
/** Compact action of the panel footer (stops click propagation so the card stays open). */
|
|
89
|
+
export declare const ContextActionButton: import("react").ForwardRefExoticComponent<ContextActionButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
90
|
+
export interface ContextTab {
|
|
91
|
+
value: string;
|
|
92
|
+
/** Visible tab name, e.g. "Documents". */
|
|
93
|
+
label: string;
|
|
94
|
+
/** Count shown in the tab label. */
|
|
95
|
+
count: number;
|
|
96
|
+
testId?: string;
|
|
97
|
+
content: ReactNode;
|
|
98
|
+
}
|
|
99
|
+
export interface ContextPanelTabsProps {
|
|
100
|
+
tabs: ContextTab[];
|
|
101
|
+
value: string;
|
|
102
|
+
onValueChange: (value: string) => void;
|
|
103
|
+
testId?: string;
|
|
104
|
+
/** Extra classes for the tab strip (e.g. leave room for a sheet's close button). */
|
|
105
|
+
listClassName?: string;
|
|
106
|
+
}
|
|
107
|
+
/** The panel's tab strip (Radix tabs: roving tabindex, arrow keys) and the active tab's content. */
|
|
108
|
+
export declare function ContextPanelTabs({ tabs, value, onValueChange, testId, listClassName, }: ContextPanelTabsProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface ConversationShortcut {
|
|
3
|
+
/** Short button label. */
|
|
4
|
+
label: string;
|
|
5
|
+
/** Full prompt the host drops into the composer. */
|
|
6
|
+
prompt: string;
|
|
7
|
+
}
|
|
8
|
+
/** Every fixed string of the empty state. Pass a partial `labels` to translate or reword. */
|
|
9
|
+
export interface ConversationEmptyLabels {
|
|
10
|
+
title: string;
|
|
11
|
+
description: string;
|
|
12
|
+
dropDocuments: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const DEFAULT_CONVERSATION_EMPTY_LABELS: ConversationEmptyLabels;
|
|
15
|
+
export interface ConversationEmptyProps {
|
|
16
|
+
/** Does the workspace have documents to ask about? Picks the layout. */
|
|
17
|
+
hasDocuments: boolean;
|
|
18
|
+
/** Starter questions (has-documents state). */
|
|
19
|
+
prompts: ReadonlyArray<string>;
|
|
20
|
+
/** Featured action-shaped shortcut that leads the row. */
|
|
21
|
+
shortcut?: ConversationShortcut;
|
|
22
|
+
/** Drop a prompt into the composer. */
|
|
23
|
+
onUsePrompt: (text: string) => void;
|
|
24
|
+
/** Add documents: dropped files, or no argument to open the picker. */
|
|
25
|
+
onAddDocuments: (files?: File[]) => void;
|
|
26
|
+
/** Rendered instead of the starters when there are no documents (upload box, alt sources). */
|
|
27
|
+
noDocuments: ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* Extra content under the starters (the host's list of things to start). It lives INSIDE the
|
|
30
|
+
* empty state's own scroll area, never in the composer dock: the composer stays anchored at the
|
|
31
|
+
* bottom whatever the length, and a long list scrolls here, above it.
|
|
32
|
+
*/
|
|
33
|
+
below?: ReactNode;
|
|
34
|
+
/** Heading; wins over `labels.title`. */
|
|
35
|
+
title?: string;
|
|
36
|
+
/** Sub-heading; wins over `labels.description`. */
|
|
37
|
+
description?: string;
|
|
38
|
+
className?: string;
|
|
39
|
+
labels?: Partial<ConversationEmptyLabels>;
|
|
40
|
+
/** Per-part test ids; defaults are the current ids. */
|
|
41
|
+
testIds?: Partial<{
|
|
42
|
+
root: string;
|
|
43
|
+
upload: string;
|
|
44
|
+
shortcut: string;
|
|
45
|
+
prompt: string;
|
|
46
|
+
}>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Empty state of a brand-new conversation. With no documents the first job is adding one, so
|
|
50
|
+
* the host's upload box leads. With documents it is a one-line framing, a few clickable starter
|
|
51
|
+
* prompts that prefill the composer, and a quiet "add more" row.
|
|
52
|
+
*/
|
|
53
|
+
export declare function ConversationEmpty({ hasDocuments, prompts, shortcut, onUsePrompt, onAddDocuments, noDocuments, below, title, description, className, labels, testIds, }: ConversationEmptyProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
/** Every fixed string of the conversation layout. Pass a partial `labels` to reword. */
|
|
3
|
+
export interface ConversationLayoutLabels {
|
|
4
|
+
loadingMessages: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const DEFAULT_CONVERSATION_LAYOUT_LABELS: ConversationLayoutLabels;
|
|
7
|
+
/**
|
|
8
|
+
* Page frame of a conversation. The chat scroll surface belongs to the HOST (the outer
|
|
9
|
+
* `[data-scroll-container]`), so this column must GROW with its content, not stay
|
|
10
|
+
* viewport-capped: the sticky header and the sticky composer dock need a containing block that
|
|
11
|
+
* spans the whole thread, otherwise `position: sticky` is clamped to one screen and both unpin.
|
|
12
|
+
*
|
|
13
|
+
* Do NOT put `overflow: clip/hidden`, `transform`, `filter`, `will-change` or `contain` on
|
|
14
|
+
* {@link ConversationBody}: `overflow: clip` collapses the scrollHeight so the thread cannot
|
|
15
|
+
* scroll, and a transform creates a containing block that breaks the dock's `bottom: 0`.
|
|
16
|
+
*/
|
|
17
|
+
export declare function ConversationRoot({ className, children, testId, ...rest }: HTMLAttributes<HTMLDivElement> & {
|
|
18
|
+
testId?: string;
|
|
19
|
+
}): import("react").JSX.Element;
|
|
20
|
+
/** Sticky strip at the top (tabs and their actions). */
|
|
21
|
+
export declare function ConversationHeader({ className, children, ...rest }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
22
|
+
/** Grows (never shrinks) to the thread's full height so the sticky dock spans the scroll range. */
|
|
23
|
+
export declare function ConversationBody({ className, children, ...rest }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
24
|
+
/** The thread (or its empty / loading state). `relative` so absolutely-filled states fit. */
|
|
25
|
+
export declare function ConversationMain({ className, children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
|
|
26
|
+
/** Centered status while the thread loads. */
|
|
27
|
+
export declare function ConversationLoading({ children, labels, className, testId, }: {
|
|
28
|
+
/** Text; wins over `labels.loadingMessages`. */
|
|
29
|
+
children?: ReactNode;
|
|
30
|
+
labels?: Partial<ConversationLayoutLabels>;
|
|
31
|
+
className?: string;
|
|
32
|
+
testId?: string;
|
|
33
|
+
}): import("react").JSX.Element;
|
|
34
|
+
export declare const Conversation: {
|
|
35
|
+
Root: typeof ConversationRoot;
|
|
36
|
+
Header: typeof ConversationHeader;
|
|
37
|
+
Body: typeof ConversationBody;
|
|
38
|
+
Main: typeof ConversationMain;
|
|
39
|
+
Loading: typeof ConversationLoading;
|
|
40
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/** Right side of the conversation tab strip. */
|
|
3
|
+
export declare function ConversationHeaderActions({ children, className, }: {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
}): import("react").JSX.Element;
|
|
7
|
+
/** Every fixed string of the conversation parts. Pass a partial `labels` to a part to reword. */
|
|
8
|
+
export interface ConversationPartsLabels {
|
|
9
|
+
/** "New Chat": `entityLabel` is the host's noun. */
|
|
10
|
+
newEntity: (entityLabel: string) => string;
|
|
11
|
+
newPaChatTitle: string;
|
|
12
|
+
newPaChat: string;
|
|
13
|
+
paModeTitle: string;
|
|
14
|
+
pa: string;
|
|
15
|
+
}
|
|
16
|
+
export declare const DEFAULT_CONVERSATION_PARTS_LABELS: ConversationPartsLabels;
|
|
17
|
+
export interface NewChatButtonProps {
|
|
18
|
+
/** Entity label, e.g. "Chat": names the button ("New Chat"). */
|
|
19
|
+
entityLabel: string;
|
|
20
|
+
/** Narrow header: icon only. */
|
|
21
|
+
isCompact: boolean;
|
|
22
|
+
onClick: () => void;
|
|
23
|
+
labels?: Partial<ConversationPartsLabels>;
|
|
24
|
+
testId?: string;
|
|
25
|
+
}
|
|
26
|
+
/** "+ New Chat". */
|
|
27
|
+
export declare function NewChatButton({ entityLabel, isCompact, onClick, labels, testId, }: NewChatButtonProps): import("react").JSX.Element;
|
|
28
|
+
/** Starts a Personal Assistant conversation (experimental). */
|
|
29
|
+
export declare function NewPaChatButton({ isCompact, onClick, labels, testId, }: {
|
|
30
|
+
isCompact: boolean;
|
|
31
|
+
onClick: () => void;
|
|
32
|
+
labels?: Partial<ConversationPartsLabels>;
|
|
33
|
+
testId?: string;
|
|
34
|
+
}): import("react").JSX.Element;
|
|
35
|
+
/** Left of the composer toolbar: borderless, muted buttons (files, facts). */
|
|
36
|
+
export declare function ComposerAccessories({ children, className, }: {
|
|
37
|
+
children: ReactNode;
|
|
38
|
+
className?: string;
|
|
39
|
+
}): import("react").JSX.Element;
|
|
40
|
+
/** Right of the composer toolbar: tools (settings, mic) around the send button. */
|
|
41
|
+
export declare function ComposerTools({ children, className, }: {
|
|
42
|
+
children: ReactNode;
|
|
43
|
+
className?: string;
|
|
44
|
+
}): import("react").JSX.Element;
|
|
45
|
+
/** Personal Assistant mode marker in place of the accessories. */
|
|
46
|
+
export declare function PaModeBadge({ icon, labels, testId, }: {
|
|
47
|
+
icon: ReactNode;
|
|
48
|
+
labels?: Partial<ConversationPartsLabels>;
|
|
49
|
+
testId?: string;
|
|
50
|
+
}): import("react").JSX.Element;
|
|
51
|
+
/** Icon-only gear for the conversation's settings (developers). */
|
|
52
|
+
export declare function ConversationSettingsButton({ label, onClick, testId, }: {
|
|
53
|
+
/** e.g. "Chat Settings". */
|
|
54
|
+
label: string;
|
|
55
|
+
onClick: () => void;
|
|
56
|
+
testId?: string;
|
|
57
|
+
}): import("react").JSX.Element;
|
|
58
|
+
/** The history (list) view area when no chat tab is active. */
|
|
59
|
+
export declare function ConversationHistoryPane({ children, className, }: {
|
|
60
|
+
children: ReactNode;
|
|
61
|
+
className?: string;
|
|
62
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type ComponentType, type ReactNode } from 'react';
|
|
2
|
+
/** One matching message of a conversation. */
|
|
3
|
+
export interface ConversationSearchMatch {
|
|
4
|
+
id: string;
|
|
5
|
+
role: string;
|
|
6
|
+
score: number;
|
|
7
|
+
snippet: string;
|
|
8
|
+
}
|
|
9
|
+
/** A conversation with the messages that matched the query. */
|
|
10
|
+
export interface ConversationSearchGroup {
|
|
11
|
+
id: string;
|
|
12
|
+
title?: string | null;
|
|
13
|
+
matches: ConversationSearchMatch[];
|
|
14
|
+
}
|
|
15
|
+
/** Every fixed string of the conversation search. */
|
|
16
|
+
export interface ConversationSearchLabels {
|
|
17
|
+
placeholder: string;
|
|
18
|
+
search: string;
|
|
19
|
+
searching: string;
|
|
20
|
+
matched: (count: number, query: string) => string;
|
|
21
|
+
matchCount: (count: number) => string;
|
|
22
|
+
untitled: string;
|
|
23
|
+
you: string;
|
|
24
|
+
assistant: string;
|
|
25
|
+
clear: string;
|
|
26
|
+
noResults: (query: string) => string;
|
|
27
|
+
reindexHint: ReactNode;
|
|
28
|
+
backToList: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const DEFAULT_CONVERSATION_SEARCH_LABELS: ConversationSearchLabels;
|
|
31
|
+
export interface ConversationSearchViewProps {
|
|
32
|
+
query: string;
|
|
33
|
+
onQueryChange: (query: string) => void;
|
|
34
|
+
/** Enter (without Shift) or the submit button. */
|
|
35
|
+
onSubmit: () => void;
|
|
36
|
+
canSubmit: boolean;
|
|
37
|
+
isSearching: boolean;
|
|
38
|
+
/** The query the shown results answer; empty while no search has run. */
|
|
39
|
+
submittedQuery: string;
|
|
40
|
+
/** Results of `submittedQuery`. */
|
|
41
|
+
groups: ConversationSearchGroup[];
|
|
42
|
+
onOpenConversation: (conversationId: string, messageId?: string) => void;
|
|
43
|
+
/** Back to the idle body. */
|
|
44
|
+
onClear: () => void;
|
|
45
|
+
/** Shown beneath the bar until a search is run (e.g. the history list). */
|
|
46
|
+
children?: ReactNode;
|
|
47
|
+
/** Wraps the results area (e.g. an error boundary). */
|
|
48
|
+
ResultsBoundary?: ComponentType<{
|
|
49
|
+
children: ReactNode;
|
|
50
|
+
}>;
|
|
51
|
+
labels?: Partial<ConversationSearchLabels>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Search across past conversations: a search bar, then either the idle body (history list) or
|
|
55
|
+
* the matches grouped by conversation. Opening a group or a hit is the host's navigation.
|
|
56
|
+
*/
|
|
57
|
+
export declare function ConversationSearchView({ query, onQueryChange, onSubmit, canSubmit, isSearching, submittedQuery, groups, onOpenConversation, onClear, children, ResultsBoundary, labels, }: ConversationSearchViewProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface PinnableLabel {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
/** The label's own colour (any CSS colour): the same hue everywhere the label appears. */
|
|
5
|
+
color: string;
|
|
6
|
+
/** Ids of the items carrying this label. */
|
|
7
|
+
itemIds: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface LabelPinRowLabels {
|
|
10
|
+
remove: (count: number, name: string) => string;
|
|
11
|
+
add: (count: number, name: string) => string;
|
|
12
|
+
}
|
|
13
|
+
export declare const DEFAULT_LABEL_PIN_ROW_LABELS: LabelPinRowLabels;
|
|
14
|
+
export interface LabelPinRowProps {
|
|
15
|
+
labels: PinnableLabel[];
|
|
16
|
+
/** Ids currently in the conversation. */
|
|
17
|
+
selectedIds: string[];
|
|
18
|
+
/** Add every id (already de-duplicated against the chat). */
|
|
19
|
+
onAdd: (ids: string[]) => void;
|
|
20
|
+
/** Remove every id. */
|
|
21
|
+
onRemove: (ids: string[]) => void;
|
|
22
|
+
testId?: string;
|
|
23
|
+
copy?: Partial<LabelPinRowLabels>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Label shortcuts inside the in-chat panels: one chip per label in use; clicking it pins
|
|
27
|
+
* everything carrying that label. A chip whose items are ALL in the chat reads as active and
|
|
28
|
+
* clicking it takes them back out, so a label is a toggle rather than a one-way add.
|
|
29
|
+
*/
|
|
30
|
+
export declare function LabelPinRow({ labels, selectedIds, onAdd, onRemove, testId, copy, }: LabelPinRowProps): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { type ButtonHTMLAttributes, type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
export type MessageRole = 'user' | 'assistant';
|
|
3
|
+
export type MessageTone = 'default' | 'error' | 'subagent';
|
|
4
|
+
/** Every fixed string of the message parts. Pass a partial `labels` to a part to translate or reword. */
|
|
5
|
+
export interface MessageLabels {
|
|
6
|
+
subagentBadge: string;
|
|
7
|
+
hideSteps: string;
|
|
8
|
+
showSteps: string;
|
|
9
|
+
/** "3 steps" / "1 step". */
|
|
10
|
+
stepCount: (count: number) => string;
|
|
11
|
+
/** Tooltip of a source chip. */
|
|
12
|
+
openSource: (num: string, title: string) => string;
|
|
13
|
+
/** Accessible name of a source chip. */
|
|
14
|
+
openSourceAria: (num: string, title: string, page?: number | null) => string;
|
|
15
|
+
page: (page: number) => string;
|
|
16
|
+
/** Several cited pages of one file: "pp. 1, 3". */
|
|
17
|
+
pages: (pages: ReadonlyArray<number>) => string;
|
|
18
|
+
moreActionsTitle: string;
|
|
19
|
+
moreActionsAria: string;
|
|
20
|
+
}
|
|
21
|
+
export declare const DEFAULT_MESSAGE_LABELS: MessageLabels;
|
|
22
|
+
export interface MessageRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
23
|
+
role: MessageRole;
|
|
24
|
+
/** Drives the default `data-testid` (`message-<id>`). */
|
|
25
|
+
messageId: string;
|
|
26
|
+
/** `error` = red wash (failed / orphaned), `subagent` = muted wash (ARBI's own delegate task). */
|
|
27
|
+
tone?: MessageTone;
|
|
28
|
+
/** Overrides the default test id. A `data-testid` in the rest props still wins over both. */
|
|
29
|
+
testId?: string;
|
|
30
|
+
}
|
|
31
|
+
/** One message row: centred column, role + id as data attributes for scroll/deep-link lookups. */
|
|
32
|
+
export declare function MessageRoot({ role, messageId, tone, testId, className, children, ...rest }: MessageRootProps): import("react").JSX.Element;
|
|
33
|
+
export interface MessageContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
34
|
+
role: MessageRole;
|
|
35
|
+
messageId: string;
|
|
36
|
+
/** Overrides the default test id. A `data-testid` in the rest props still wins over both. */
|
|
37
|
+
testId?: string;
|
|
38
|
+
}
|
|
39
|
+
/** Column that holds the bubble and (for the user) the footer under it, right-aligned. */
|
|
40
|
+
export declare function MessageContent({ role, messageId, testId, className, children, ...rest }: MessageContentProps): import("react").JSX.Element;
|
|
41
|
+
export interface MessageBubbleProps extends HTMLAttributes<HTMLDivElement> {
|
|
42
|
+
role: MessageRole;
|
|
43
|
+
messageId: string;
|
|
44
|
+
/** The message is open in the composer for editing / branching. */
|
|
45
|
+
isEditing?: boolean;
|
|
46
|
+
/** The user prompt is accepted by the backend but not yet running. */
|
|
47
|
+
isQueued?: boolean;
|
|
48
|
+
/** Overrides the default test id. A `data-testid` in the rest props still wins over both. */
|
|
49
|
+
testId?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The message surface. The user's prompt is a tonal (`bg-muted`) rounded block that shrinks to
|
|
53
|
+
* its text; the assistant answer is full-width ink on the canvas, indented under its byline.
|
|
54
|
+
*/
|
|
55
|
+
export declare const MessageBubble: import("react").ForwardRefExoticComponent<MessageBubbleProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
56
|
+
export interface MessageBylineProps {
|
|
57
|
+
messageId: string;
|
|
58
|
+
/** Who answered: the host's model pill / entity chip. */
|
|
59
|
+
identity?: ReactNode;
|
|
60
|
+
/** Already-formatted time. */
|
|
61
|
+
timeLabel: string;
|
|
62
|
+
/** False while the answer is still streaming: the status cell is hidden. */
|
|
63
|
+
isSettled: boolean;
|
|
64
|
+
isFailed?: boolean;
|
|
65
|
+
/** "Answered in 3.2s" / "Complete" / "Response failed". */
|
|
66
|
+
statusLabel: string;
|
|
67
|
+
className?: string;
|
|
68
|
+
/** Test id of the byline row. */
|
|
69
|
+
testId?: string;
|
|
70
|
+
/** Test id of the status cell. */
|
|
71
|
+
statusTestId?: string;
|
|
72
|
+
}
|
|
73
|
+
/** AI avatar disc, identity, time and settled status above an assistant answer. */
|
|
74
|
+
export declare function MessageByline({ messageId, identity, timeLabel, isSettled, isFailed, statusLabel, className, testId, statusTestId, }: MessageBylineProps): import("react").JSX.Element;
|
|
75
|
+
/** Marks a `role: user` message that ARBI wrote itself to hand a task to a delegate. */
|
|
76
|
+
export declare function MessageSubagentBadge({ messageId, children, labels, className, testId, }: {
|
|
77
|
+
messageId: string;
|
|
78
|
+
/** Badge text; wins over `labels.subagentBadge`. */
|
|
79
|
+
children?: ReactNode;
|
|
80
|
+
labels?: Partial<MessageLabels>;
|
|
81
|
+
className?: string;
|
|
82
|
+
testId?: string;
|
|
83
|
+
}): import("react").JSX.Element;
|
|
84
|
+
/** The rendered text (markdown) of a message. */
|
|
85
|
+
export declare function MessageBody({ messageId, className, children, testId, }: {
|
|
86
|
+
messageId: string;
|
|
87
|
+
className?: string;
|
|
88
|
+
children: ReactNode;
|
|
89
|
+
testId?: string;
|
|
90
|
+
}): import("react").JSX.Element;
|
|
91
|
+
/** Prose the model has moved on from while the turn streams: dimmed, never the live answer. */
|
|
92
|
+
export declare function MessageNarration({ messageId, children, className, testId, }: {
|
|
93
|
+
messageId: string;
|
|
94
|
+
children: ReactNode;
|
|
95
|
+
className?: string;
|
|
96
|
+
testId?: string;
|
|
97
|
+
}): import("react").JSX.Element;
|
|
98
|
+
export interface SourceChipProps {
|
|
99
|
+
/** Citation number as the answer shows it. */
|
|
100
|
+
num: string;
|
|
101
|
+
title: string;
|
|
102
|
+
page?: number | null;
|
|
103
|
+
/** Several pages of the same file (merged chip); wins over `page`. */
|
|
104
|
+
pages?: ReadonlyArray<number>;
|
|
105
|
+
onOpen: () => void;
|
|
106
|
+
className?: string;
|
|
107
|
+
labels?: Partial<MessageLabels>;
|
|
108
|
+
/** Overrides the default `source-chip-<num>` test id. */
|
|
109
|
+
testId?: string;
|
|
110
|
+
}
|
|
111
|
+
/** One cited source: AI-tinted number, file name, page. A tap opens the passage. */
|
|
112
|
+
export declare function SourceChip({ num, title, page, pages, onOpen, className, labels, testId, }: SourceChipProps): import("react").JSX.Element;
|
|
113
|
+
export interface SourceView {
|
|
114
|
+
num: string;
|
|
115
|
+
title: string;
|
|
116
|
+
page?: number | null;
|
|
117
|
+
}
|
|
118
|
+
export interface MessageSourcesProps {
|
|
119
|
+
messageId: string;
|
|
120
|
+
sources: ReadonlyArray<SourceView>;
|
|
121
|
+
onOpenSource: (num: string) => void;
|
|
122
|
+
className?: string;
|
|
123
|
+
labels?: Partial<MessageLabels>;
|
|
124
|
+
testId?: string;
|
|
125
|
+
}
|
|
126
|
+
/** Row of {@link SourceChip}s under an answer; renders nothing when there are none. */
|
|
127
|
+
export declare function MessageSources({ messageId, sources, onOpenSource, className, labels, testId, }: MessageSourcesProps): import("react").JSX.Element | null;
|
|
128
|
+
export interface MessageStepsView {
|
|
129
|
+
count: number;
|
|
130
|
+
open: boolean;
|
|
131
|
+
onOpenChange: (open: boolean) => void;
|
|
132
|
+
/** The steps trace, rendered in a popover that opens upward from the footer. */
|
|
133
|
+
panel: ReactNode;
|
|
134
|
+
}
|
|
135
|
+
export interface MessageFooterProps {
|
|
136
|
+
role: MessageRole;
|
|
137
|
+
/** Left side: author pill + time for the user. The assistant's steps toggle is added for you. */
|
|
138
|
+
leading?: ReactNode;
|
|
139
|
+
/** Right side: branch control and action buttons. */
|
|
140
|
+
actions?: ReactNode;
|
|
141
|
+
/** Assistant only: the "N steps" disclosure. */
|
|
142
|
+
steps?: MessageStepsView;
|
|
143
|
+
className?: string;
|
|
144
|
+
labels?: Partial<MessageLabels>;
|
|
145
|
+
/** Test id of the steps toggle. */
|
|
146
|
+
stepsToggleTestId?: string;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Footer row of a settled message. The whole row anchors the steps popover so the trace is as
|
|
150
|
+
* wide as the card.
|
|
151
|
+
*/
|
|
152
|
+
export declare function MessageFooter({ role, leading, actions, steps, className, labels, stepsToggleTestId, }: MessageFooterProps): import("react").JSX.Element;
|
|
153
|
+
export interface MessageActionButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
154
|
+
/** Success tint (copied, saved). */
|
|
155
|
+
isDone?: boolean;
|
|
156
|
+
}
|
|
157
|
+
/** 32px (44px on touch) icon button used in the message footer. */
|
|
158
|
+
export declare const MessageActionButton: import("react").ForwardRefExoticComponent<MessageActionButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
159
|
+
export interface MessageActionMenuItem {
|
|
160
|
+
id: string;
|
|
161
|
+
label: string;
|
|
162
|
+
icon?: ReactNode;
|
|
163
|
+
onSelect: () => void;
|
|
164
|
+
testId?: string;
|
|
165
|
+
tone?: 'default' | 'danger';
|
|
166
|
+
}
|
|
167
|
+
export interface MessageActionMenuProps {
|
|
168
|
+
items: ReadonlyArray<MessageActionMenuItem>;
|
|
169
|
+
testId?: string;
|
|
170
|
+
/** Trigger `aria-label`; wins over `labels.moreActionsAria`. */
|
|
171
|
+
label?: string;
|
|
172
|
+
labels?: Partial<MessageLabels>;
|
|
173
|
+
className?: string;
|
|
174
|
+
}
|
|
175
|
+
/** Overflow ("...") menu: tap-friendly, every secondary action is reachable here. */
|
|
176
|
+
export declare function MessageActionMenu({ items, testId, label, labels, className, }: MessageActionMenuProps): import("react").JSX.Element;
|
|
177
|
+
export declare const Message: {
|
|
178
|
+
Root: typeof MessageRoot;
|
|
179
|
+
Content: typeof MessageContent;
|
|
180
|
+
Bubble: import("react").ForwardRefExoticComponent<MessageBubbleProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
181
|
+
Byline: typeof MessageByline;
|
|
182
|
+
SubagentBadge: typeof MessageSubagentBadge;
|
|
183
|
+
Body: typeof MessageBody;
|
|
184
|
+
Narration: typeof MessageNarration;
|
|
185
|
+
Sources: typeof MessageSources;
|
|
186
|
+
Footer: typeof MessageFooter;
|
|
187
|
+
ActionButton: import("react").ForwardRefExoticComponent<MessageActionButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
188
|
+
ActionMenu: typeof MessageActionMenu;
|
|
189
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/** Every fixed string of the alert. Pass a partial `labels` to translate or reword. */
|
|
3
|
+
export interface MessageAlertLabels {
|
|
4
|
+
retrying: string;
|
|
5
|
+
/** Name of the retry button rendered for `onActivate`. */
|
|
6
|
+
retry: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const DEFAULT_MESSAGE_ALERT_LABELS: MessageAlertLabels;
|
|
9
|
+
export interface MessageAlertProps {
|
|
10
|
+
title: string;
|
|
11
|
+
description: string;
|
|
12
|
+
/** A retry is in flight: shows a spinner and the busy title. */
|
|
13
|
+
isBusy?: boolean;
|
|
14
|
+
/** Title while busy; wins over `labels.retrying`. */
|
|
15
|
+
busyTitle?: string;
|
|
16
|
+
labels?: Partial<MessageAlertLabels>;
|
|
17
|
+
/** Adds a Retry button (a real, keyboard-operable one) that runs this. */
|
|
18
|
+
onActivate?: () => void;
|
|
19
|
+
/** Explicit buttons under the text (e.g. a Retry button). */
|
|
20
|
+
actions?: ReactNode;
|
|
21
|
+
className?: string;
|
|
22
|
+
testId?: string;
|
|
23
|
+
}
|
|
24
|
+
/** Tinted alert above the composer: a send that failed, or an answer that never arrived. */
|
|
25
|
+
export declare function MessageAlert({ title, description, isBusy, busyTitle, labels, onActivate, actions, className, testId, }: MessageAlertProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Presentational shell of a (virtualised) message thread. The host owns the virtualiser and the
|
|
4
|
+
* scroll element; these parts only lay the rows out, so any list engine can drive them:
|
|
5
|
+
*
|
|
6
|
+
* <MessageList.Root>
|
|
7
|
+
* <MessageList.Banner onBack=... />
|
|
8
|
+
* <MessageList.Rows totalSize={virtualizer.getTotalSize()}>
|
|
9
|
+
* <MessageList.Row index start messageId measureRef> ... </MessageList.Row>
|
|
10
|
+
* </MessageList.Rows>
|
|
11
|
+
* <MessageList.Tail />
|
|
12
|
+
* </MessageList.Root>
|
|
13
|
+
*/
|
|
14
|
+
/** Every fixed string of the message list. Pass a partial `labels` to translate or reword. */
|
|
15
|
+
export interface MessageListLabels {
|
|
16
|
+
messageList: string;
|
|
17
|
+
startConversation: string;
|
|
18
|
+
backToConversation: string;
|
|
19
|
+
conversationMessages: string;
|
|
20
|
+
/** Spoken once when a reply starts. */
|
|
21
|
+
responding: string;
|
|
22
|
+
/** Spoken when a reply is complete; receives the (truncated) plain text of the answer. */
|
|
23
|
+
responseComplete: (text: string) => string;
|
|
24
|
+
}
|
|
25
|
+
export declare const DEFAULT_MESSAGE_LIST_LABELS: MessageListLabels;
|
|
26
|
+
export interface MessageListRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
27
|
+
/** A reply is streaming: `aria-busy` tells assistive tech to hold back until it settles. */
|
|
28
|
+
isBusy?: boolean;
|
|
29
|
+
labels?: Partial<MessageListLabels>;
|
|
30
|
+
/** Test id of the list. A `data-testid` in the rest props still wins. */
|
|
31
|
+
testId?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A `log` landmark (the conversation transcript). Its own live announcements are switched off on
|
|
35
|
+
* purpose: tokens streaming into a live region would be read out one fragment at a time. Pair it
|
|
36
|
+
* with {@link MessageListStatus}, which announces "responding" once and the finished answer once.
|
|
37
|
+
* An `aria-label` in the rest props wins over `labels.messageList`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function MessageListRoot({ className, children, isBusy, labels, testId, ...rest }: MessageListRootProps): import("react").JSX.Element;
|
|
40
|
+
export interface MessageListStatusProps {
|
|
41
|
+
/** What to announce; change it to announce again. Build it with `useStreamAnnouncement`. */
|
|
42
|
+
message: string;
|
|
43
|
+
testId?: string;
|
|
44
|
+
}
|
|
45
|
+
/** Visually hidden polite live region. Mount it before the first announcement. */
|
|
46
|
+
export declare function MessageListStatus({ message, testId, }: MessageListStatusProps): import("react").JSX.Element;
|
|
47
|
+
/** Shown while the list has nothing to render. */
|
|
48
|
+
export declare function MessageListEmpty({ children, labels, className, testId, }: {
|
|
49
|
+
/** Text; wins over `labels.startConversation`. */
|
|
50
|
+
children?: ReactNode;
|
|
51
|
+
labels?: Partial<MessageListLabels>;
|
|
52
|
+
className?: string;
|
|
53
|
+
testId?: string;
|
|
54
|
+
}): import("react").JSX.Element;
|
|
55
|
+
export interface MessageListBannerProps {
|
|
56
|
+
onBack: () => void;
|
|
57
|
+
/** Text; wins over `labels.backToConversation`. */
|
|
58
|
+
children?: ReactNode;
|
|
59
|
+
labels?: Partial<MessageListLabels>;
|
|
60
|
+
className?: string;
|
|
61
|
+
testId?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Sticky way back out of a delegated (sub-agent) thread: pinned so the only sign you are not in
|
|
65
|
+
* the real conversation does not scroll away.
|
|
66
|
+
*/
|
|
67
|
+
export declare function MessageListBanner({ onBack, children, labels, className, testId, }: MessageListBannerProps): import("react").JSX.Element;
|
|
68
|
+
export interface MessageListRowsProps extends HTMLAttributes<HTMLDivElement> {
|
|
69
|
+
/** Total scroll height reported by the virtualiser. */
|
|
70
|
+
totalSize: number;
|
|
71
|
+
labels?: Partial<MessageListLabels>;
|
|
72
|
+
}
|
|
73
|
+
/** Height spacer the virtualised rows are absolutely positioned inside. */
|
|
74
|
+
export declare function MessageListRows({ totalSize, className, children, labels, ...rest }: MessageListRowsProps): import("react").JSX.Element;
|
|
75
|
+
export interface MessageListRowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'style'> {
|
|
76
|
+
index: number;
|
|
77
|
+
/** Offset of the row from the top, in px. */
|
|
78
|
+
start: number;
|
|
79
|
+
/** Exposed as `data-message-id` for scroll-to-message and deep links. */
|
|
80
|
+
messageId?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Total messages in the thread. A virtualised list mounts only a window of rows, so without it
|
|
83
|
+
* a screen reader counts the mounted rows; with it each row says "n of N".
|
|
84
|
+
*/
|
|
85
|
+
setSize?: number;
|
|
86
|
+
}
|
|
87
|
+
/** One absolutely positioned row. Pass the virtualiser's `measureElement` as `ref`. */
|
|
88
|
+
export declare const MessageListRow: import("react").ForwardRefExoticComponent<MessageListRowProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
89
|
+
/**
|
|
90
|
+
* Breathing room so the last message clears the sticky composer. Fixed (not
|
|
91
|
+
* viewport-proportional) so it never balloons into dead space on tall screens; smaller on phones.
|
|
92
|
+
*/
|
|
93
|
+
export declare function MessageListTail(): import("react").JSX.Element;
|
|
94
|
+
export declare const MessageList: {
|
|
95
|
+
Root: typeof MessageListRoot;
|
|
96
|
+
Empty: typeof MessageListEmpty;
|
|
97
|
+
Banner: typeof MessageListBanner;
|
|
98
|
+
Status: typeof MessageListStatus;
|
|
99
|
+
Rows: typeof MessageListRows;
|
|
100
|
+
Row: import("react").ForwardRefExoticComponent<MessageListRowProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
101
|
+
Tail: typeof MessageListTail;
|
|
102
|
+
};
|