@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,35 @@
|
|
|
1
|
+
export interface ChartSeries {
|
|
2
|
+
key: string;
|
|
3
|
+
/** Legend text (defaults to `key`). */
|
|
4
|
+
label?: string;
|
|
5
|
+
/** One value per entry of `labels`. */
|
|
6
|
+
values: number[];
|
|
7
|
+
}
|
|
8
|
+
export interface ChartProps {
|
|
9
|
+
type: 'bar' | 'line' | 'pie';
|
|
10
|
+
/** Category (x) labels. For `pie` they name the slices of the first series. */
|
|
11
|
+
labels: string[];
|
|
12
|
+
series: ChartSeries[];
|
|
13
|
+
/** Accessible description of the whole chart. */
|
|
14
|
+
ariaLabel: string;
|
|
15
|
+
/** Formats values in axis ticks and slice titles. */
|
|
16
|
+
formatValue?: (value: number) => string;
|
|
17
|
+
/** Hide the legend. */
|
|
18
|
+
hideLegend?: boolean;
|
|
19
|
+
emptyLabel?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Longest category label drawn on the x axis, in characters; longer labels are cut with an
|
|
22
|
+
* ellipsis and carry the full text as a `<title>`. Default: what fits the band (about 5px a
|
|
23
|
+
* character), at least 3.
|
|
24
|
+
*/
|
|
25
|
+
maxLabelChars?: number;
|
|
26
|
+
className?: string;
|
|
27
|
+
testId?: string;
|
|
28
|
+
}
|
|
29
|
+
/** Cut `label` to `max` characters with an ellipsis (the full text stays in a `<title>`). */
|
|
30
|
+
export declare function truncateLabel(label: string, max: number): string;
|
|
31
|
+
/**
|
|
32
|
+
* Data-bound bar, line or pie chart in plain SVG. No chart library: it renders from props,
|
|
33
|
+
* is themed by tokens and carries a text alternative (`ariaLabel`, slice and bar `<title>`s).
|
|
34
|
+
*/
|
|
35
|
+
export declare function Chart({ type, labels, series, ariaLabel, formatValue, hideLegend, emptyLabel, maxLabelChars, className, testId, }: ChartProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface CollectionDetailContext<T> {
|
|
3
|
+
previous?: T;
|
|
4
|
+
next?: T;
|
|
5
|
+
}
|
|
6
|
+
export interface CollectionDetailProps<T> {
|
|
7
|
+
/** The collection, supplied by the host (CMS, files, API...). */
|
|
8
|
+
items: T[];
|
|
9
|
+
/** The slug from the host's route. Absent: the list is rendered. */
|
|
10
|
+
slug?: string;
|
|
11
|
+
getSlug: (item: T) => string;
|
|
12
|
+
renderList: (items: T[]) => ReactNode;
|
|
13
|
+
/** One item's page. `previous` / `next` are the neighbours in `items` order. */
|
|
14
|
+
renderDetail: (item: T, context: CollectionDetailContext<T>) => ReactNode;
|
|
15
|
+
/** Shown when `slug` matches nothing. */
|
|
16
|
+
renderNotFound?: (slug: string) => ReactNode;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The list-and-detail page contract for a collection (people, articles, services...). It owns
|
|
20
|
+
* only the slug lookup; the host owns the route, the data and every pixel of both views, so one
|
|
21
|
+
* route (`/things/:slug?`) serves the list and each detail page.
|
|
22
|
+
*/
|
|
23
|
+
export declare function CollectionDetail<T>({ items, slug, getSlug, renderList, renderDetail, renderNotFound, }: CollectionDetailProps<T>): import("react").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export type ColumnsCount = 2 | 3 | 4;
|
|
3
|
+
export type ColumnsGap = 'sm' | 'md' | 'lg';
|
|
4
|
+
export interface ColumnsProps {
|
|
5
|
+
count?: ColumnsCount;
|
|
6
|
+
gap?: ColumnsGap;
|
|
7
|
+
columns: ReactNode[];
|
|
8
|
+
testId?: string;
|
|
9
|
+
}
|
|
10
|
+
/** Responsive N-column row. Each column hosts a nested Puck slot. */
|
|
11
|
+
export declare function Columns({ count, gap, columns, testId }: ColumnsProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export interface ContactFieldOption {
|
|
3
|
+
value: string;
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ContactField {
|
|
7
|
+
name: string;
|
|
8
|
+
label: string;
|
|
9
|
+
type?: 'text' | 'email' | 'tel' | 'textarea' | 'select';
|
|
10
|
+
required?: boolean;
|
|
11
|
+
/** Choices for `type: 'select'`. */
|
|
12
|
+
options?: ContactFieldOption[];
|
|
13
|
+
/** Initial value (for example read from the URL query by the host). */
|
|
14
|
+
defaultValue?: string;
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ContactFormTestIds {
|
|
18
|
+
form: string;
|
|
19
|
+
success: string;
|
|
20
|
+
submit: string;
|
|
21
|
+
/** Control of the field named `name` (default `{testId}-field-{name}`). */
|
|
22
|
+
field: (name: string) => string;
|
|
23
|
+
}
|
|
24
|
+
export interface ContactFormProps {
|
|
25
|
+
fields: ContactField[];
|
|
26
|
+
submitLabel?: string;
|
|
27
|
+
/** Optional POST endpoint. When set (and no `onSubmit`), the form submits natively to it. */
|
|
28
|
+
action?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Handles the submit: receives the field values. When provided the form does not post
|
|
31
|
+
* natively; resolve to show the success state, reject to keep the form open.
|
|
32
|
+
*/
|
|
33
|
+
onSubmit?: (values: Record<string, string>) => void | Promise<void>;
|
|
34
|
+
/** Message shown after a client-side (no-action) submit. */
|
|
35
|
+
successMessage?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Replaces the success message block. The second argument returns the form to its initial
|
|
38
|
+
* state (no remount with `key` needed), e.g. for a "send another" button.
|
|
39
|
+
*/
|
|
40
|
+
renderSuccess?: (values: Record<string, string>, reset: () => void) => ReactNode;
|
|
41
|
+
/** With the default success message, adds a button with this label that resets the form. */
|
|
42
|
+
resetLabel?: string;
|
|
43
|
+
/** Called with every field's current value on each change (and not on the initial render). */
|
|
44
|
+
onValuesChange?: (values: Record<string, string>) => void;
|
|
45
|
+
/**
|
|
46
|
+
* Content between the fields and the submit button: a note that depends on a field, a consent
|
|
47
|
+
* line, a summary. A function receives the current values and re-renders on every change.
|
|
48
|
+
*/
|
|
49
|
+
footerSlot?: ReactNode | ((values: Record<string, string>) => ReactNode);
|
|
50
|
+
testId?: string;
|
|
51
|
+
testIds?: Partial<ContactFormTestIds>;
|
|
52
|
+
}
|
|
53
|
+
/** A configurable lead/contact form. Posts to `action`, hands values to `onSubmit`, or confirms. */
|
|
54
|
+
export declare function ContactForm({ fields, submitLabel, action, onSubmit, successMessage, renderSuccess, resetLabel, onValuesChange, footerSlot, testId, testIds, }: ContactFormProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export type ContainerWidth = 'narrow' | 'default' | 'wide' | 'full';
|
|
3
|
+
export type ContainerPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
4
|
+
export interface ContainerProps {
|
|
5
|
+
width?: ContainerWidth;
|
|
6
|
+
padding?: ContainerPadding;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
testId?: string;
|
|
9
|
+
}
|
|
10
|
+
/** Max-width wrapper that centres and pads a nested Puck slot. */
|
|
11
|
+
export declare function Container({ width, padding, children, testId }: ContainerProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface Column<T> {
|
|
3
|
+
key: string;
|
|
4
|
+
header: ReactNode;
|
|
5
|
+
render: (row: T) => ReactNode;
|
|
6
|
+
align?: 'left' | 'right' | 'center';
|
|
7
|
+
/** Header becomes a sort button (needs `sort` and `onSortChange` on the table). */
|
|
8
|
+
isSortable?: boolean;
|
|
9
|
+
className?: string;
|
|
10
|
+
headClassName?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface DataTableSort {
|
|
13
|
+
key: string;
|
|
14
|
+
direction: 'asc' | 'desc';
|
|
15
|
+
}
|
|
16
|
+
export interface DataTableTestIds {
|
|
17
|
+
table: string;
|
|
18
|
+
empty: string;
|
|
19
|
+
/** Test id of a row. */
|
|
20
|
+
row: (id: string) => string;
|
|
21
|
+
}
|
|
22
|
+
export interface DataTableProps<T> {
|
|
23
|
+
columns: Column<T>[];
|
|
24
|
+
rows: T[];
|
|
25
|
+
getRowId: (row: T) => string;
|
|
26
|
+
onRowClick?: (row: T) => void;
|
|
27
|
+
/** Test id area prefix, e.g. "orders" gives rows "orders-row-{id}". Default "data". */
|
|
28
|
+
area?: string;
|
|
29
|
+
/** Replaces the ids derived from `area`. */
|
|
30
|
+
testIds?: Partial<DataTableTestIds>;
|
|
31
|
+
emptyTitle?: string;
|
|
32
|
+
emptyDescription?: string;
|
|
33
|
+
/** Controlled sort state. The host sorts `rows`; the table only renders headers. */
|
|
34
|
+
sort?: DataTableSort | null;
|
|
35
|
+
onSortChange?: (sort: DataTableSort) => void;
|
|
36
|
+
/** Controlled row selection: adds a leading checkbox column when `onSelectedIdsChange` is set. */
|
|
37
|
+
selectedIds?: string[];
|
|
38
|
+
onSelectedIdsChange?: (ids: string[]) => void;
|
|
39
|
+
/** Accessible names of the selection checkboxes. */
|
|
40
|
+
selectionLabels?: {
|
|
41
|
+
selectAll: string;
|
|
42
|
+
selectRow: string;
|
|
43
|
+
};
|
|
44
|
+
className?: string;
|
|
45
|
+
}
|
|
46
|
+
/** The one true table. Column-config driven, fully test-id'd, optional navigation, sort, selection. */
|
|
47
|
+
export declare function DataTable<T>({ columns, rows, getRowId, onRowClick, area, testIds, emptyTitle, emptyDescription, sort, onSortChange, selectedIds, onSelectedIdsChange, selectionLabels, className, }: DataTableProps<T>): import("react").JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface DataTableBlockColumn {
|
|
2
|
+
/** Column heading text. */
|
|
3
|
+
header: string;
|
|
4
|
+
/** Key used to look a cell up in each row record. */
|
|
5
|
+
field: string;
|
|
6
|
+
/** Cell/heading alignment. */
|
|
7
|
+
align?: 'left' | 'right' | 'center';
|
|
8
|
+
}
|
|
9
|
+
export interface DataTableBlockProps {
|
|
10
|
+
/** Serializable column schema. */
|
|
11
|
+
columns: DataTableBlockColumn[];
|
|
12
|
+
/** One record per row; cells are looked up by each column's `field`. */
|
|
13
|
+
rows: Array<Record<string, string>>;
|
|
14
|
+
/** Optional caption rendered above the table. */
|
|
15
|
+
caption?: string;
|
|
16
|
+
/** Empty-state title shown when there are no rows. */
|
|
17
|
+
emptyText?: string;
|
|
18
|
+
/** testid area prefix; also set on the wrapper element. */
|
|
19
|
+
testId?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Renders a {@link DataTable} from a flat, serializable schema. Columns are mapped
|
|
23
|
+
* to `Column<TableRowData>[]` (header string, positional-stable key, alignment) and
|
|
24
|
+
* each cell is resolved by `field`; rows carry a synthetic id for React keys/testids.
|
|
25
|
+
*/
|
|
26
|
+
export declare function DataTableBlock({ columns, rows, caption, emptyText, testId }: DataTableBlockProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { LucideIcon } from 'lucide-react';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
/** Centered placeholder for empty lists/panels: icon + title + description + action. */
|
|
4
|
+
export declare function EmptyState({ icon: Icon, title, description, action, className, testId, }: {
|
|
5
|
+
icon?: LucideIcon;
|
|
6
|
+
title: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
action?: ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
testId?: string;
|
|
11
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { MouseEvent, ReactNode } from 'react';
|
|
2
|
+
export interface EntityChipProps {
|
|
3
|
+
/** `pill`: glyph + label in an EntityPill; `icon`: the bare glyph (tooltip shows the details). */
|
|
4
|
+
variant?: 'icon' | 'pill';
|
|
5
|
+
icon: ReactNode;
|
|
6
|
+
label: string;
|
|
7
|
+
/** Second line of the icon variant's tooltip (e.g. "Shared", a model name). */
|
|
8
|
+
detail?: ReactNode;
|
|
9
|
+
/** Tooltip of the pill variant (e.g. "Open conversation"). */
|
|
10
|
+
pillTooltip?: ReactNode;
|
|
11
|
+
/** Tooltip of the icon variant; defaults to label + detail. Set false to drop it. */
|
|
12
|
+
showTooltip?: boolean;
|
|
13
|
+
href?: string;
|
|
14
|
+
onClick?: (e: MouseEvent) => void;
|
|
15
|
+
size?: 'sm' | 'base';
|
|
16
|
+
labelMaxWidth?: string;
|
|
17
|
+
className?: string;
|
|
18
|
+
testId?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The shared shape of an entity reference (conversation, message, assistant ...): a bare glyph
|
|
22
|
+
* with a tooltip, or a pill with the label. Clickable when it has `onClick` or `href`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function EntityChip({ variant, icon, label, detail, pillTooltip, showTooltip, href, onClick, size, labelMaxWidth, className, testId, }: EntityChipProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/** Longest a name may be. Exported so a form editing the same field agrees. */
|
|
3
|
+
export declare const IDENTITY_NAME_MAX_LENGTH = 50;
|
|
4
|
+
export interface EntityIdentityField {
|
|
5
|
+
/** Row caption. Rendered with a trailing colon. */
|
|
6
|
+
label: string;
|
|
7
|
+
value: string;
|
|
8
|
+
/** Stands in for an empty value, in italics — never a blank row. */
|
|
9
|
+
placeholder: string;
|
|
10
|
+
/** Commits the edit. Not called when the value is unchanged. */
|
|
11
|
+
onSave: (next: string) => void;
|
|
12
|
+
/** A description needs line breaks; a name does not. */
|
|
13
|
+
multiline?: boolean;
|
|
14
|
+
/** Caps the input and shows a counter as it fills. Names only, by default. */
|
|
15
|
+
maxLength?: number;
|
|
16
|
+
/** Classes for the read-mode value, e.g. a larger weight for the name. */
|
|
17
|
+
valueClassName?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Content pinned to the RIGHT END of this row — e.g. the owning project
|
|
20
|
+
* beside a name, a member stack beside a status. Rows without one let their
|
|
21
|
+
* value run the full width, which is what a description wants.
|
|
22
|
+
*/
|
|
23
|
+
trailing?: ReactNode;
|
|
24
|
+
/**
|
|
25
|
+
* Content rendered immediately BEFORE the value — the entity's own mark.
|
|
26
|
+
* Sits outside the edit swap, so starting to edit the name doesn't make the
|
|
27
|
+
* icon jump or disappear.
|
|
28
|
+
*/
|
|
29
|
+
leading?: ReactNode;
|
|
30
|
+
/**
|
|
31
|
+
* Drops the caption from view for this row, leaving the value flush left.
|
|
32
|
+
* For a field whose value already says what it is — a workspace's name and
|
|
33
|
+
* description read as exactly that — the caption is a word the eye has to
|
|
34
|
+
* step over on the way in. The caption stays in the markup for screen
|
|
35
|
+
* readers, which have no such visual cue to fall back on.
|
|
36
|
+
*/
|
|
37
|
+
hideLabel?: boolean;
|
|
38
|
+
/** Row test id; the pencil and input derive `-edit` and `-input`. */
|
|
39
|
+
testId?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface EntityIdentityBarProps {
|
|
42
|
+
/** The editable text fields, in order. Usually name then description. */
|
|
43
|
+
fields: EntityIdentityField[];
|
|
44
|
+
/**
|
|
45
|
+
* Read-only rows shown after the editable ones — anything whose control the
|
|
46
|
+
* consumer owns (a project picker, an owner avatar, a status). Rendered with
|
|
47
|
+
* the same caption column so every row lines up.
|
|
48
|
+
*/
|
|
49
|
+
extraRows?: {
|
|
50
|
+
label: string;
|
|
51
|
+
content: ReactNode;
|
|
52
|
+
trailing?: ReactNode;
|
|
53
|
+
testId?: string;
|
|
54
|
+
}[];
|
|
55
|
+
/** Hides every pencil. A viewer without permission sees values, not controls. */
|
|
56
|
+
canEdit?: boolean;
|
|
57
|
+
/** Trailing controls, pinned right — e.g. a member stack, a status. */
|
|
58
|
+
actions?: ReactNode;
|
|
59
|
+
/**
|
|
60
|
+
* Controls that act on the ENTITY rather than on any one field — typically an
|
|
61
|
+
* overflow menu holding delete or leave. Sits under the field list, where a
|
|
62
|
+
* destructive action is findable but not in the path of everyday reading.
|
|
63
|
+
*/
|
|
64
|
+
footer?: ReactNode;
|
|
65
|
+
className?: string;
|
|
66
|
+
testId?: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The "what am I looking at" bar for an entity's own page.
|
|
70
|
+
*
|
|
71
|
+
* A caption column (`Name:`, `Description:`, `Project:`) and a value column. The
|
|
72
|
+
* captions are the point: a bare bold string at the top of a page reads equally
|
|
73
|
+
* as a workspace, a project, a case file or a folder, and people read it as
|
|
74
|
+
* whichever they expected. Saying which field is which costs one column and
|
|
75
|
+
* removes the ambiguity entirely.
|
|
76
|
+
*
|
|
77
|
+
* Editing happens in place. The pencil is always visible to someone who can use
|
|
78
|
+
* it rather than revealed on hover — a control you have to go hunting for is one
|
|
79
|
+
* most people never find, and hover doesn't exist on touch. Commit is on blur
|
|
80
|
+
* and on Enter (single-line fields only, so a description can hold line
|
|
81
|
+
* breaks); Escape abandons the edit.
|
|
82
|
+
*
|
|
83
|
+
* Deliberately NOT a form: no submit, no dirty state, no field-level errors.
|
|
84
|
+
* When a consumer needs visibility toggles, destructive actions or validation
|
|
85
|
+
* messages, those belong in its settings form — this bar is the identity of the
|
|
86
|
+
* thing, shown where you are working on it.
|
|
87
|
+
*
|
|
88
|
+
* Styled with SEMANTIC tokens only, so every host gets it in its own colours.
|
|
89
|
+
*/
|
|
90
|
+
export declare function EntityIdentityBar({ fields, extraRows, canEdit, actions, footer, className, testId, }: EntityIdentityBarProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Parts for the hover card of an entity pill (workspace, user, tag, ...): a header, optional
|
|
4
|
+
* stat rows, bordered sections and an action hint. The host fills them from its own data.
|
|
5
|
+
*/
|
|
6
|
+
export declare function EntityTooltip({ className, children, }: {
|
|
7
|
+
className?: string;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
}): import("react").JSX.Element;
|
|
10
|
+
export interface EntityTooltipHeaderProps {
|
|
11
|
+
/** Icon / avatar before the title. */
|
|
12
|
+
lead: ReactNode;
|
|
13
|
+
title: ReactNode;
|
|
14
|
+
subtitle?: ReactNode;
|
|
15
|
+
/** Right-hand badge. */
|
|
16
|
+
trailing?: ReactNode;
|
|
17
|
+
/** Extra glyph after the title (e.g. an agent mark). */
|
|
18
|
+
titleAccessory?: ReactNode;
|
|
19
|
+
}
|
|
20
|
+
export declare function EntityTooltipHeader({ lead, title, subtitle, trailing, titleAccessory, }: EntityTooltipHeaderProps): import("react").JSX.Element;
|
|
21
|
+
export interface EntityTooltipStat {
|
|
22
|
+
key: string;
|
|
23
|
+
icon: ReactNode;
|
|
24
|
+
label: ReactNode;
|
|
25
|
+
value: ReactNode;
|
|
26
|
+
}
|
|
27
|
+
/** Label/value rows between two rules. */
|
|
28
|
+
export declare function EntityTooltipStats({ stats }: {
|
|
29
|
+
stats: EntityTooltipStat[];
|
|
30
|
+
}): import("react").JSX.Element;
|
|
31
|
+
/** A secondary section under a rule, optionally headed by an icon + text. */
|
|
32
|
+
export declare function EntityTooltipSection({ icon, heading, children, }: {
|
|
33
|
+
icon?: ReactNode;
|
|
34
|
+
heading?: ReactNode;
|
|
35
|
+
children?: ReactNode;
|
|
36
|
+
}): import("react").JSX.Element;
|
|
37
|
+
/** Muted one-liner at the foot of the card, e.g. "Click to send message". */
|
|
38
|
+
export declare function EntityTooltipHint({ icon, children, isRuled, }: {
|
|
39
|
+
icon?: ReactNode;
|
|
40
|
+
children: ReactNode;
|
|
41
|
+
/** Draw the rule above (the hint closes a card that already has sections). */
|
|
42
|
+
isRuled?: boolean;
|
|
43
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface FaqItem {
|
|
2
|
+
question: string;
|
|
3
|
+
answer?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface FAQProps {
|
|
6
|
+
items: FaqItem[];
|
|
7
|
+
testId?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Accessible disclosure list. Built on native `<details>`/`<summary>` so it works
|
|
11
|
+
* without client state (correct in the Puck preview and static renders) and stays
|
|
12
|
+
* keyboard-accessible. Token-only styling.
|
|
13
|
+
*/
|
|
14
|
+
export declare function FAQ({ items, testId }: FAQProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { LucideIcon } from 'lucide-react';
|
|
2
|
+
import { type BlockLinkComponent } from './blockLink';
|
|
3
|
+
export interface FeatureItem {
|
|
4
|
+
icon?: LucideIcon;
|
|
5
|
+
title: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
/** When set, the card becomes a link to this destination. */
|
|
8
|
+
href?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface FeatureGridProps {
|
|
11
|
+
columns?: '2' | '3';
|
|
12
|
+
items: FeatureItem[];
|
|
13
|
+
/** Inject a router link (adapted to `href`) so linked cards navigate in-SPA. */
|
|
14
|
+
linkComponent?: BlockLinkComponent;
|
|
15
|
+
testId?: string;
|
|
16
|
+
}
|
|
17
|
+
/** Responsive grid of icon + title + description feature cards. */
|
|
18
|
+
export declare function FeatureGrid({ columns, items, linkComponent, testId }: FeatureGridProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { BlockLinkComponent } from './blockLink';
|
|
3
|
+
export interface FooterLink {
|
|
4
|
+
label: string;
|
|
5
|
+
href?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface FooterColumn {
|
|
8
|
+
heading: string;
|
|
9
|
+
links: FooterLink[];
|
|
10
|
+
}
|
|
11
|
+
export interface FooterProps {
|
|
12
|
+
columns: FooterColumn[];
|
|
13
|
+
copyright?: string;
|
|
14
|
+
/** Brand block (logo, name) above the columns. */
|
|
15
|
+
brand?: ReactNode;
|
|
16
|
+
/** Short description under the brand. */
|
|
17
|
+
blurb?: ReactNode;
|
|
18
|
+
/** Bottom row, right of the copyright: legal links, regulatory text, a language switch. */
|
|
19
|
+
legal?: ReactNode;
|
|
20
|
+
/** Router link for the column links (default: plain anchors). */
|
|
21
|
+
linkComponent?: BlockLinkComponent;
|
|
22
|
+
testId?: string;
|
|
23
|
+
}
|
|
24
|
+
/** Site footer: optional brand and blurb, link columns, and a copyright and legal row. */
|
|
25
|
+
export declare function Footer({ columns, copyright, brand, blurb, legal, linkComponent: Link, testId, }: FooterProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type BlockImageProps } from './BlockImage';
|
|
2
|
+
export interface GalleryImage {
|
|
3
|
+
src?: string;
|
|
4
|
+
alt?: string;
|
|
5
|
+
caption?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface GalleryProps {
|
|
8
|
+
images: GalleryImage[];
|
|
9
|
+
columns?: '2' | '3' | '4';
|
|
10
|
+
aspect?: BlockImageProps['aspect'];
|
|
11
|
+
rounded?: BlockImageProps['rounded'];
|
|
12
|
+
testId?: string;
|
|
13
|
+
}
|
|
14
|
+
/** A responsive image grid. Each tile previews via BlockImage with a caption. */
|
|
15
|
+
export declare function Gallery({ images, columns, aspect, rounded, testId, }: GalleryProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { BlockLinkComponent } from './blockLink';
|
|
3
|
+
export type HeroTone = 'default' | 'muted' | 'ink';
|
|
4
|
+
export type HeroAlign = 'left' | 'center';
|
|
5
|
+
export interface HeroCta {
|
|
6
|
+
label?: string;
|
|
7
|
+
href?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface HeroProps {
|
|
10
|
+
eyebrow?: ReactNode;
|
|
11
|
+
/** Text (with optional `emphasis`) or any node. */
|
|
12
|
+
title: ReactNode;
|
|
13
|
+
/** A word/phrase within a string `title` to accent (rendered in the primary colour). */
|
|
14
|
+
emphasis?: string;
|
|
15
|
+
subtitle?: ReactNode;
|
|
16
|
+
/** Small print under the buttons (a trust line, a note). */
|
|
17
|
+
caption?: ReactNode;
|
|
18
|
+
/** Router link for the CTAs (default: plain anchors). */
|
|
19
|
+
linkComponent?: BlockLinkComponent;
|
|
20
|
+
primaryCta?: HeroCta;
|
|
21
|
+
secondaryCta?: HeroCta;
|
|
22
|
+
align?: HeroAlign;
|
|
23
|
+
tone?: HeroTone;
|
|
24
|
+
/** Side visual (ignored when `backgroundImage` is set). */
|
|
25
|
+
imageUrl?: string;
|
|
26
|
+
/** Full-bleed background image URL/data-URI. Turns the hero into a cover band. */
|
|
27
|
+
backgroundImage?: string;
|
|
28
|
+
/** Darkening scrim over the background image, for legible copy. Default true. */
|
|
29
|
+
overlay?: boolean;
|
|
30
|
+
/** Override the eyebrow styling (e.g. a host brand accent). Default: token classes. */
|
|
31
|
+
eyebrowClassName?: string;
|
|
32
|
+
testId?: string;
|
|
33
|
+
}
|
|
34
|
+
/** Editorial marketing hero: eyebrow, headline, subtitle, two CTAs and a visual. */
|
|
35
|
+
export declare function Hero({ eyebrow, title, emphasis, subtitle, caption, linkComponent: Link, primaryCta, secondaryCta, align, tone, imageUrl, backgroundImage, overlay, eyebrowClassName, testId, }: HeroProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface ListItem {
|
|
2
|
+
text: string;
|
|
3
|
+
}
|
|
4
|
+
export interface ListBlockProps {
|
|
5
|
+
ordered?: boolean;
|
|
6
|
+
items: ListItem[];
|
|
7
|
+
testId?: string;
|
|
8
|
+
}
|
|
9
|
+
/** Ordered or unordered prose list. Token-clean. */
|
|
10
|
+
export declare function ListBlock({ ordered, items, testId }: ListBlockProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface LogoItem {
|
|
2
|
+
label: string;
|
|
3
|
+
}
|
|
4
|
+
export interface LogoCloudProps {
|
|
5
|
+
items: LogoItem[];
|
|
6
|
+
testId?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Text-based "logo" wall — brand names rendered as muted pill marks. Self-contained
|
|
10
|
+
* (no external images) so the palette looks complete offline.
|
|
11
|
+
*/
|
|
12
|
+
export declare function LogoCloud({ items, testId }: LogoCloudProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface MediaTextProps {
|
|
2
|
+
eyebrow?: string;
|
|
3
|
+
title: string;
|
|
4
|
+
body?: string;
|
|
5
|
+
imageUrl?: string;
|
|
6
|
+
/** Which side the media sits on (desktop). */
|
|
7
|
+
mediaSide?: 'left' | 'right';
|
|
8
|
+
cta?: {
|
|
9
|
+
label?: string;
|
|
10
|
+
href?: string;
|
|
11
|
+
};
|
|
12
|
+
testId?: string;
|
|
13
|
+
}
|
|
14
|
+
/** A split media-and-copy row: an image on one side, prose + CTA on the other. */
|
|
15
|
+
export declare function MediaText({ eyebrow, title, body, imageUrl, mediaSide, cta, testId, }: MediaTextProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** One face in the stack — source-agnostic, not a raw SDK user. */
|
|
2
|
+
export interface StackedMember {
|
|
3
|
+
name: string;
|
|
4
|
+
picture?: string | null;
|
|
5
|
+
}
|
|
6
|
+
export interface MemberAvatarStackProps {
|
|
7
|
+
members: StackedMember[];
|
|
8
|
+
/** Total, when it exceeds what's shown. Defaults to `members.length`. */
|
|
9
|
+
total?: number;
|
|
10
|
+
/** Faces before the rest collapse into a `+N`. */
|
|
11
|
+
max?: number;
|
|
12
|
+
/**
|
|
13
|
+
* The viewer isn't allowed to see who is here (e.g. row-level security hides
|
|
14
|
+
* the members of a public workspace you haven't joined). Renders an em dash
|
|
15
|
+
* rather than lying with an empty stack.
|
|
16
|
+
*/
|
|
17
|
+
hidden?: boolean;
|
|
18
|
+
/** Makes the stack a button — e.g. to expand the member list below it. */
|
|
19
|
+
onClick?: () => void;
|
|
20
|
+
/** Rotates the chevron and drives `aria-expanded` when it is a toggle. */
|
|
21
|
+
expanded?: boolean;
|
|
22
|
+
/** Ring colour behind each face; match the surface it sits on. */
|
|
23
|
+
ringClassName?: string;
|
|
24
|
+
className?: string;
|
|
25
|
+
testId?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* An overlapping stack of member faces, with the overflow collapsed to `+N`.
|
|
29
|
+
*
|
|
30
|
+
* Lives here rather than inside a card because "who is in this thing" is shown
|
|
31
|
+
* in more than one place — a workspace card, a workspace's own header — and
|
|
32
|
+
* those had drawn it twice. Given `onClick` it becomes the control that expands
|
|
33
|
+
* the full list, which is a better affordance than a button labelled "Members"
|
|
34
|
+
* beside the very faces it would reveal.
|
|
35
|
+
*/
|
|
36
|
+
export declare function MemberAvatarStack({ members, total, max, hidden, onClick, expanded, ringClassName, className, testId, }: MemberAvatarStackProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { LucideIcon } from 'lucide-react';
|
|
3
|
+
export interface MetricCardProps {
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
value: ReactNode;
|
|
6
|
+
icon?: LucideIcon;
|
|
7
|
+
hint?: ReactNode;
|
|
8
|
+
delta?: {
|
|
9
|
+
value: string;
|
|
10
|
+
direction: 'up' | 'down';
|
|
11
|
+
good?: boolean;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Icon accent as a theme colour-token key (e.g. `primary`, `success`, or the host's own brand
|
|
15
|
+
* token). Resolved to `var(--color-<accent>)` at render. `'default'` inherits `foreground`.
|
|
16
|
+
*/
|
|
17
|
+
accent?: string;
|
|
18
|
+
/** Show a placeholder instead of the value (the figure is still being fetched). */
|
|
19
|
+
isLoading?: boolean;
|
|
20
|
+
/** Makes the tile a real link (ctrl/cmd-click works). */
|
|
21
|
+
href?: string;
|
|
22
|
+
/** Click handler; with `href`, a plain click calls it instead of navigating. */
|
|
23
|
+
onSelect?: () => void;
|
|
24
|
+
className?: string;
|
|
25
|
+
testId?: string;
|
|
26
|
+
}
|
|
27
|
+
/** The one true KPI tile. Used across every dashboard and module header. */
|
|
28
|
+
export declare function MetricCard({ label, value, icon: Icon, hint, delta, accent, isLoading, href, onSelect, className, testId, }: MetricCardProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { BlockLinkComponent } from './blockLink';
|
|
3
|
+
export interface NavLink {
|
|
4
|
+
label: string;
|
|
5
|
+
href?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface NavbarTestIds {
|
|
8
|
+
/** Link `i` (default `{testId}-link-{i}`). */
|
|
9
|
+
link: (index: number) => string;
|
|
10
|
+
cta: string;
|
|
11
|
+
menuButton: string;
|
|
12
|
+
menu: string;
|
|
13
|
+
}
|
|
14
|
+
export interface NavbarProps {
|
|
15
|
+
/** Brand: text, or any node (logo + name). */
|
|
16
|
+
brand: ReactNode;
|
|
17
|
+
/** Where the brand points. Omit for a non-link brand. */
|
|
18
|
+
brandHref?: string;
|
|
19
|
+
links: NavLink[];
|
|
20
|
+
cta?: {
|
|
21
|
+
label?: string;
|
|
22
|
+
href?: string;
|
|
23
|
+
};
|
|
24
|
+
/** Replaces `cta` with any node (a button group, a user menu). */
|
|
25
|
+
ctaSlot?: ReactNode;
|
|
26
|
+
/** Router link for the brand, links and CTA (default: plain anchors). */
|
|
27
|
+
linkComponent?: BlockLinkComponent;
|
|
28
|
+
/** Replaces the default mobile menu body (the links plus the CTA). */
|
|
29
|
+
mobileMenu?: ReactNode;
|
|
30
|
+
/** Labels of the mobile menu button. */
|
|
31
|
+
labels?: {
|
|
32
|
+
openMenu: string;
|
|
33
|
+
closeMenu: string;
|
|
34
|
+
};
|
|
35
|
+
testId?: string;
|
|
36
|
+
testIds?: Partial<NavbarTestIds>;
|
|
37
|
+
}
|
|
38
|
+
/** Marketing top navigation: brand, inline links, an optional CTA and a mobile menu. */
|
|
39
|
+
export declare function Navbar({ brand, brandHref, links, cta, ctaSlot, linkComponent: Link, mobileMenu, labels, testId, testIds, }: NavbarProps): import("react").JSX.Element;
|