@arbidocs/react 0.5.111 → 0.5.113
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/dist/account/client.js +96 -0
- package/dist/account/client.js.map +7 -0
- package/dist/account/delete.js +70 -0
- package/dist/account/delete.js.map +7 -0
- package/dist/account/didit.js +34 -0
- package/dist/account/didit.js.map +7 -0
- package/dist/account/dismissed-tips.js +33 -0
- package/dist/account/dismissed-tips.js.map +7 -0
- package/dist/account/email.js +84 -0
- package/dist/account/email.js.map +7 -0
- package/dist/account/entitlements.js +47 -0
- package/dist/account/entitlements.js.map +7 -0
- package/dist/account/identity.js +270 -0
- package/dist/account/identity.js.map +7 -0
- package/dist/account/index.js +93 -0
- package/dist/account/index.js.map +7 -0
- package/dist/account/notifications.js +59 -0
- package/dist/account/notifications.js.map +7 -0
- package/dist/account/password.js +103 -0
- package/dist/account/password.js.map +7 -0
- package/dist/account/profile.js +116 -0
- package/dist/account/profile.js.map +7 -0
- package/dist/account/recovery.js +13 -0
- package/dist/account/recovery.js.map +7 -0
- package/dist/account/relevance.js +82 -0
- package/dist/account/relevance.js.map +7 -0
- package/dist/account/sessions.js +37 -0
- package/dist/account/sessions.js.map +7 -0
- package/dist/account/settings.js +39 -0
- package/dist/account/settings.js.map +7 -0
- package/dist/account/table-views.js +16 -0
- package/dist/account/table-views.js.map +7 -0
- package/dist/ai/AiAnswer.js +83 -0
- package/dist/ai/AiAnswer.js.map +7 -0
- package/dist/ai/AiMarkdown.js +40 -0
- package/dist/ai/AiMarkdown.js.map +7 -0
- package/dist/ai/ArtifactCanvas.js +193 -0
- package/dist/ai/ArtifactCanvas.js.map +7 -0
- package/dist/ai/CitationRenderer.js +413 -0
- package/dist/ai/CitationRenderer.js.map +7 -0
- package/dist/{chunk-WL2Y2T47.js → ai/MarkdownRenderer.js} +35 -101
- package/dist/ai/MarkdownRenderer.js.map +7 -0
- package/dist/ai/MessageArtifactCard.js +75 -0
- package/dist/ai/MessageArtifactCard.js.map +7 -0
- package/dist/ai/PassageCard.js +79 -0
- package/dist/ai/PassageCard.js.map +7 -0
- package/dist/ai/engine.js +110 -0
- package/dist/ai/engine.js.map +7 -0
- package/dist/ai/index.js +63 -0
- package/dist/ai/index.js.map +7 -0
- package/dist/ai/markdown-base-components.js +37 -0
- package/dist/ai/markdown-base-components.js.map +7 -0
- package/dist/ai/markdown-streaming-context.js +6 -0
- package/dist/ai/markdown-streaming-context.js.map +7 -0
- package/dist/{chunk-VSCU7K4V.js → ai/normalize-citations.js} +12 -19
- package/dist/ai/normalize-citations.js.map +7 -0
- package/dist/ai/redline.js +41 -0
- package/dist/ai/redline.js.map +7 -0
- package/dist/ai/split-markdown-blocks.js +40 -0
- package/dist/ai/split-markdown-blocks.js.map +7 -0
- package/dist/{chunk-UW2SGTI5.js → ai/stored-markdown.js} +41 -93
- package/dist/ai/stored-markdown.js.map +7 -0
- package/dist/annotations/AnnotationPageOverlay.js +807 -0
- package/dist/annotations/AnnotationPageOverlay.js.map +7 -0
- package/dist/annotations/AnnotationToolbar.js +398 -0
- package/dist/annotations/AnnotationToolbar.js.map +7 -0
- package/dist/annotations/FreezeDialog.js +170 -0
- package/dist/annotations/FreezeDialog.js.map +7 -0
- package/dist/annotations/ProductionDialog.js +354 -0
- package/dist/annotations/ProductionDialog.js.map +7 -0
- package/dist/annotations/controller.js +49 -0
- package/dist/annotations/controller.js.map +7 -0
- package/dist/annotations/freeze/browser.js +21 -0
- package/dist/annotations/freeze/browser.js.map +7 -0
- package/dist/annotations/freeze/bundle.js +201 -0
- package/dist/annotations/freeze/bundle.js.map +7 -0
- package/dist/annotations/freeze/coords.js +37 -0
- package/dist/annotations/freeze/coords.js.map +7 -0
- package/dist/annotations/freeze/freeze.js +261 -0
- package/dist/annotations/freeze/freeze.js.map +7 -0
- package/dist/annotations/freeze/hash.js +28 -0
- package/dist/annotations/freeze/hash.js.map +7 -0
- package/dist/annotations/freeze/index-page.js +78 -0
- package/dist/annotations/freeze/index-page.js.map +7 -0
- package/dist/annotations/freeze/index.js +28 -22
- package/dist/annotations/freeze/index.js.map +7 -1
- package/dist/annotations/freeze/raster.js +208 -0
- package/dist/annotations/freeze/raster.js.map +7 -0
- package/dist/annotations/freeze/stamp.js +117 -0
- package/dist/annotations/freeze/stamp.js.map +7 -0
- package/dist/annotations/freeze/types.js +14 -0
- package/dist/annotations/freeze/types.js.map +7 -0
- package/dist/annotations/freeze/vector.js +283 -0
- package/dist/annotations/freeze/vector.js.map +7 -0
- package/dist/annotations/geometry.js +81 -0
- package/dist/annotations/geometry.js.map +7 -0
- package/dist/annotations/index.js +125 -6
- package/dist/annotations/index.js.map +7 -1
- package/dist/annotations/merge.js +53 -0
- package/dist/annotations/merge.js.map +7 -0
- package/dist/{chunk-T3USOSVN.js → annotations/model.js} +23 -16
- package/dist/annotations/model.js.map +7 -0
- package/dist/annotations/overlay-geometry.js +41 -0
- package/dist/annotations/overlay-geometry.js.map +7 -0
- package/dist/annotations/redaction-log.js +33 -0
- package/dist/annotations/redaction-log.js.map +7 -0
- package/dist/annotations/selection-marks.js +122 -0
- package/dist/annotations/selection-marks.js.map +7 -0
- package/dist/annotations/state.js +140 -0
- package/dist/annotations/state.js.map +7 -0
- package/dist/annotations/store.js +49 -0
- package/dist/annotations/store.js.map +7 -0
- package/dist/annotations/useAnnotationLayer.js +306 -0
- package/dist/annotations/useAnnotationLayer.js.map +7 -0
- package/dist/annotations/useAnnotationShortcuts.js +31 -0
- package/dist/annotations/useAnnotationShortcuts.js.map +7 -0
- package/dist/annotations/useTextSelectionMarks.js +100 -0
- package/dist/annotations/useTextSelectionMarks.js.map +7 -0
- package/dist/artifacts/artifact-kind.js +19 -0
- package/dist/artifacts/artifact-kind.js.map +7 -0
- package/dist/artifacts/index.js +89 -571
- package/dist/artifacts/index.js.map +7 -1
- package/dist/{chunk-WUTL62MC.js → artifacts/normalize-markdown.js} +12 -14
- package/dist/artifacts/normalize-markdown.js.map +7 -0
- package/dist/artifacts/redline-core.js +12 -3
- package/dist/artifacts/redline-core.js.map +7 -1
- package/dist/{chunk-74N436VK.js → artifacts/redline-diff.js} +10 -9
- package/dist/artifacts/redline-diff.js.map +7 -0
- package/dist/artifacts/redline-engine.js +14 -0
- package/dist/artifacts/redline-engine.js.map +7 -0
- package/dist/artifacts/renderArtifactMarkdown.js +9 -0
- package/dist/artifacts/renderArtifactMarkdown.js.map +7 -0
- package/dist/artifacts/useArtifactEditSession.js +183 -0
- package/dist/artifacts/useArtifactEditSession.js.map +7 -0
- package/dist/artifacts/useArtifactSession.js +173 -0
- package/dist/artifacts/useArtifactSession.js.map +7 -0
- package/dist/artifacts/useArtifactSource.js +16 -0
- package/dist/artifacts/useArtifactSource.js.map +7 -0
- package/dist/artifacts/useArtifactText.js +78 -0
- package/dist/artifacts/useArtifactText.js.map +7 -0
- package/dist/artifacts/useRedline.js +65 -0
- package/dist/artifacts/useRedline.js.map +7 -0
- package/dist/artifacts/useStreamedArtifact.js +74 -0
- package/dist/artifacts/useStreamedArtifact.js.map +7 -0
- package/dist/artifacts/versions.js +68 -0
- package/dist/artifacts/versions.js.map +7 -0
- package/dist/billing.js +200 -0
- package/dist/billing.js.map +7 -0
- package/dist/boot-timeout.js +19 -0
- package/dist/boot-timeout.js.map +7 -0
- package/dist/calendar/accounts.js +213 -0
- package/dist/calendar/accounts.js.map +7 -0
- package/dist/calendar/hooks.js +409 -0
- package/dist/calendar/hooks.js.map +7 -0
- package/dist/calendar/index.js +31 -0
- package/dist/calendar/index.js.map +7 -0
- package/dist/calendar/keys.js +5 -0
- package/dist/calendar/keys.js.map +7 -0
- package/dist/calendar/offline/outbox.js +231 -0
- package/dist/calendar/offline/outbox.js.map +7 -0
- package/dist/calendar/offline/runtime.js +109 -0
- package/dist/calendar/offline/runtime.js.map +7 -0
- package/dist/calendar/offline/support.js +41 -0
- package/dist/calendar/offline/support.js.map +7 -0
- package/dist/calendar/support.js +34 -0
- package/dist/calendar/support.js.map +7 -0
- package/dist/calls/actions.js +226 -0
- package/dist/calls/actions.js.map +7 -0
- package/dist/calls/events.js +138 -0
- package/dist/calls/events.js.map +7 -0
- package/dist/calls/gate.js +19 -0
- package/dist/calls/gate.js.map +7 -0
- package/dist/calls/hooks.js +115 -0
- package/dist/calls/hooks.js.map +7 -0
- package/dist/calls/in-call-chat.js +132 -0
- package/dist/calls/in-call-chat.js.map +7 -0
- package/dist/calls/index.js +24 -0
- package/dist/calls/index.js.map +7 -0
- package/dist/calls/keys.js +17 -0
- package/dist/calls/keys.js.map +7 -0
- package/dist/calls/livekit/index.js +6 -958
- package/dist/calls/livekit/index.js.map +7 -1
- package/dist/calls/livekit/room.js +98 -0
- package/dist/calls/livekit/room.js.map +7 -0
- package/dist/calls/livekit/useCallRecorder.js +219 -0
- package/dist/calls/livekit/useCallRecorder.js.map +7 -0
- package/dist/calls/livekit/useCallTranscriber.js +309 -0
- package/dist/calls/livekit/useCallTranscriber.js.map +7 -0
- package/dist/calls/livekit/useHostMuteNotice.js +29 -0
- package/dist/calls/livekit/useHostMuteNotice.js.map +7 -0
- package/dist/calls/livekit/useInCallChat.js +161 -0
- package/dist/calls/livekit/useInCallChat.js.map +7 -0
- package/dist/calls/livekit/useWebinar.js +239 -0
- package/dist/calls/livekit/useWebinar.js.map +7 -0
- package/dist/calls/meeting-chat.js +149 -0
- package/dist/calls/meeting-chat.js.map +7 -0
- package/dist/calls/moderation.js +50 -0
- package/dist/calls/moderation.js.map +7 -0
- package/dist/calls/open-meeting-chat.js +29 -0
- package/dist/calls/open-meeting-chat.js.map +7 -0
- package/dist/calls/read-only.js +24 -0
- package/dist/calls/read-only.js.map +7 -0
- package/dist/calls/recording-media.js +218 -0
- package/dist/calls/recording-media.js.map +7 -0
- package/dist/calls/recording-playback.js +260 -0
- package/dist/calls/recording-playback.js.map +7 -0
- package/dist/calls/recording.js +268 -0
- package/dist/calls/recording.js.map +7 -0
- package/dist/calls/save-to-thread.js +80 -0
- package/dist/calls/save-to-thread.js.map +7 -0
- package/dist/calls/session.js +134 -0
- package/dist/calls/session.js.map +7 -0
- package/dist/calls/transcript-format.js +147 -0
- package/dist/calls/transcript-format.js.map +7 -0
- package/dist/calls/transcription.js +101 -0
- package/dist/calls/transcription.js.map +7 -0
- package/dist/calls/webinar.js +71 -0
- package/dist/calls/webinar.js.map +7 -0
- package/dist/charge-watch.js +71 -0
- package/dist/charge-watch.js.map +7 -0
- package/dist/chat/ChatBubble.js +146 -0
- package/dist/chat/ChatBubble.js.map +7 -0
- package/dist/chat/ConversationScope.js +30 -0
- package/dist/chat/ConversationScope.js.map +7 -0
- package/dist/chat/active-config.js +20 -0
- package/dist/chat/active-config.js.map +7 -0
- package/dist/chat/agent-chat-owner.js +25 -0
- package/dist/chat/agent-chat-owner.js.map +7 -0
- package/dist/chat/chat-artifacts.js +64 -0
- package/dist/chat/chat-artifacts.js.map +7 -0
- package/dist/chat/citations.js +32 -0
- package/dist/chat/citations.js.map +7 -0
- package/dist/chat/config-model.js +10 -0
- package/dist/chat/config-model.js.map +7 -0
- package/dist/chat/conversation-cache.js +676 -0
- package/dist/chat/conversation-cache.js.map +7 -0
- package/dist/chat/conversation-events.js +57 -0
- package/dist/chat/conversation-events.js.map +7 -0
- package/dist/chat/conversation-mentions.js +58 -0
- package/dist/chat/conversation-mentions.js.map +7 -0
- package/dist/chat/conversation-workspace.js +58 -0
- package/dist/chat/conversation-workspace.js.map +7 -0
- package/dist/chat/mentions.js +116 -0
- package/dist/chat/mentions.js.map +7 -0
- package/dist/chat/open-document.js +106 -0
- package/dist/chat/open-document.js.map +7 -0
- package/dist/chat/orphaned.js +44 -0
- package/dist/chat/orphaned.js.map +7 -0
- package/dist/chat/pendingFirstTurn.js +30 -0
- package/dist/chat/pendingFirstTurn.js.map +7 -0
- package/dist/chat/reply-target.js +12 -0
- package/dist/chat/reply-target.js.map +7 -0
- package/dist/chat/run-finished.js +28 -0
- package/dist/chat/run-finished.js.map +7 -0
- package/dist/chat/run-state.js +91 -0
- package/dist/chat/run-state.js.map +7 -0
- package/dist/chat/stream-handlers.js +419 -0
- package/dist/chat/stream-handlers.js.map +7 -0
- package/dist/chat/thread-binding.js +76 -0
- package/dist/chat/thread-binding.js.map +7 -0
- package/dist/chat/thread-document.js +53 -0
- package/dist/chat/thread-document.js.map +7 -0
- package/dist/chat/turn-control.js +79 -0
- package/dist/chat/turn-control.js.map +7 -0
- package/dist/chat/useAgentRunControl.js +36 -0
- package/dist/chat/useAgentRunControl.js.map +7 -0
- package/dist/chat/useAnswerAgentQuestion.js +19 -0
- package/dist/chat/useAnswerAgentQuestion.js.map +7 -0
- package/dist/chat/useAskAgain.js +32 -0
- package/dist/chat/useAskAgain.js.map +7 -0
- package/dist/chat/useAutoSendDraft.js +17 -0
- package/dist/chat/useAutoSendDraft.js.map +7 -0
- package/dist/chat/useBranchNavigation.js +97 -0
- package/dist/chat/useBranchNavigation.js.map +7 -0
- package/dist/chat/useConnectRunStream.js +169 -0
- package/dist/chat/useConnectRunStream.js.map +7 -0
- package/dist/chat/useConversation.js +431 -0
- package/dist/chat/useConversation.js.map +7 -0
- package/dist/chat/useConversationActions.js +662 -0
- package/dist/chat/useConversationActions.js.map +7 -0
- package/dist/chat/useConversationData.js +143 -0
- package/dist/chat/useConversationData.js.map +7 -0
- package/dist/chat/useConversationDocuments.js +41 -0
- package/dist/chat/useConversationDocuments.js.map +7 -0
- package/dist/chat/useConversationSettings.js +78 -0
- package/dist/chat/useConversationSettings.js.map +7 -0
- package/dist/chat/useConversationTurn.js +31 -0
- package/dist/chat/useConversationTurn.js.map +7 -0
- package/dist/chat/useConversationWorkspace.js +12 -0
- package/dist/chat/useConversationWorkspace.js.map +7 -0
- package/dist/chat/useDeleteMessage.js +15 -0
- package/dist/chat/useDeleteMessage.js.map +7 -0
- package/dist/chat/useDocumentAutoAdd.js +73 -0
- package/dist/chat/useDocumentAutoAdd.js.map +7 -0
- package/dist/chat/useMessageTimer.js +39 -0
- package/dist/chat/useMessageTimer.js.map +7 -0
- package/dist/chat/useThinkingContent.js +67 -0
- package/dist/chat/useThinkingContent.js.map +7 -0
- package/dist/chat/useThreadDocument.js +61 -0
- package/dist/chat/useThreadDocument.js.map +7 -0
- package/dist/chat/workflow-run-titles.js +50 -0
- package/dist/chat/workflow-run-titles.js.map +7 -0
- package/dist/config/config-hooks.js +209 -0
- package/dist/config/config-hooks.js.map +7 -0
- package/dist/connectivity.js +72 -0
- package/dist/connectivity.js.map +7 -0
- package/dist/connectors/hooks.js +263 -0
- package/dist/connectors/hooks.js.map +7 -0
- package/dist/connectors/index.js +28 -0
- package/dist/connectors/index.js.map +7 -0
- package/dist/contacts.js +100 -0
- package/dist/contacts.js.map +7 -0
- package/dist/conversation-list.js +65 -0
- package/dist/conversation-list.js.map +7 -0
- package/dist/databases.js +195 -0
- package/dist/databases.js.map +7 -0
- package/dist/datasets/aggregate.js +281 -0
- package/dist/datasets/aggregate.js.map +7 -0
- package/dist/datasets/index.js +122 -0
- package/dist/datasets/index.js.map +7 -0
- package/dist/datasets/members.js +27 -0
- package/dist/datasets/members.js.map +7 -0
- package/dist/datasets/panel.js +44 -0
- package/dist/datasets/panel.js.map +7 -0
- package/dist/datasets/registry.js +47 -0
- package/dist/datasets/registry.js.map +7 -0
- package/dist/datasets/rows-source.js +44 -0
- package/dist/datasets/rows-source.js.map +7 -0
- package/dist/datasets/sources/activity.js +83 -0
- package/dist/datasets/sources/activity.js.map +7 -0
- package/dist/datasets/sources/conversations.js +74 -0
- package/dist/datasets/sources/conversations.js.map +7 -0
- package/dist/datasets/sources/database.js +209 -0
- package/dist/datasets/sources/database.js.map +7 -0
- package/dist/datasets/sources/documents.js +93 -0
- package/dist/datasets/sources/documents.js.map +7 -0
- package/dist/datasets/sources/facts.js +56 -0
- package/dist/datasets/sources/facts.js.map +7 -0
- package/dist/datasets/sources/projects.js +117 -0
- package/dist/datasets/sources/projects.js.map +7 -0
- package/dist/datasets/sources/tags.js +67 -0
- package/dist/datasets/sources/tags.js.map +7 -0
- package/dist/datasets/sources/usage.js +268 -0
- package/dist/datasets/sources/usage.js.map +7 -0
- package/dist/datasets/sources/workflows.js +91 -0
- package/dist/datasets/sources/workflows.js.map +7 -0
- package/dist/datasets/sources/workspaces.js +67 -0
- package/dist/datasets/sources/workspaces.js.map +7 -0
- package/dist/datasets/store.js +194 -0
- package/dist/datasets/store.js.map +7 -0
- package/dist/datasets/types.js +14 -0
- package/dist/datasets/types.js.map +7 -0
- package/dist/directmessages/ConversationList.js +148 -0
- package/dist/directmessages/ConversationList.js.map +7 -0
- package/dist/directmessages/DateSeparator.js +8 -0
- package/dist/directmessages/DateSeparator.js.map +7 -0
- package/dist/directmessages/DmAvatar.js +29 -0
- package/dist/directmessages/DmAvatar.js.map +7 -0
- package/dist/directmessages/DmComposer.js +201 -0
- package/dist/directmessages/DmComposer.js.map +7 -0
- package/dist/directmessages/arrivals.js +29 -0
- package/dist/directmessages/arrivals.js.map +7 -0
- package/dist/directmessages/chat-cache.js +192 -0
- package/dist/directmessages/chat-cache.js.map +7 -0
- package/dist/directmessages/grouping.js +26 -0
- package/dist/directmessages/grouping.js.map +7 -0
- package/dist/directmessages/index.js +81 -0
- package/dist/directmessages/index.js.map +7 -0
- package/dist/directmessages/useChats.js +266 -0
- package/dist/directmessages/useChats.js.map +7 -0
- package/dist/directmessages/utils.js +23 -0
- package/dist/directmessages/utils.js.map +7 -0
- package/dist/document-tools/can-annotate.js +7 -0
- package/dist/document-tools/can-annotate.js.map +7 -0
- package/dist/document-tools/core.js +218 -12
- package/dist/document-tools/core.js.map +7 -1
- package/dist/document-tools/document-pdf.js +76 -0
- package/dist/document-tools/document-pdf.js.map +7 -0
- package/dist/document-tools/environment.js +136 -0
- package/dist/document-tools/environment.js.map +7 -0
- package/dist/document-tools/file-shares.js +112 -0
- package/dist/document-tools/file-shares.js.map +7 -0
- package/dist/document-tools/frozen-copy.js +27 -0
- package/dist/document-tools/frozen-copy.js.map +7 -0
- package/dist/document-tools/index.js +26 -148
- package/dist/document-tools/index.js.map +7 -1
- package/dist/document-tools/markup-download.js +51 -0
- package/dist/document-tools/markup-download.js.map +7 -0
- package/dist/document-tools/markup-store.js +138 -0
- package/dist/document-tools/markup-store.js.map +7 -0
- package/dist/document-tools/markup-transfer.js +88 -0
- package/dist/document-tools/markup-transfer.js.map +7 -0
- package/dist/document-tools/production.js +147 -0
- package/dist/document-tools/production.js.map +7 -0
- package/dist/document-tools/saved-signature.js +90 -0
- package/dist/document-tools/saved-signature.js.map +7 -0
- package/dist/document-tools/signature-requests.js +310 -0
- package/dist/document-tools/signature-requests.js.map +7 -0
- package/dist/document-tools/signing.js +127 -0
- package/dist/document-tools/signing.js.map +7 -0
- package/dist/document-tools/useDocumentBytes.js +38 -0
- package/dist/document-tools/useDocumentBytes.js.map +7 -0
- package/dist/document-tools/useDocumentMarkup.js +154 -0
- package/dist/document-tools/useDocumentMarkup.js.map +7 -0
- package/dist/document-tools/useIsOnline.js +13 -0
- package/dist/document-tools/useIsOnline.js.map +7 -0
- package/dist/document-tools/verification.js +60 -0
- package/dist/document-tools/verification.js.map +7 -0
- package/dist/documents/DocumentReview.js +220 -0
- package/dist/documents/DocumentReview.js.map +7 -0
- package/dist/documents/DraftTitleControls.js +41 -0
- package/dist/documents/DraftTitleControls.js.map +7 -0
- package/dist/documents/InlineMicButton.js +90 -0
- package/dist/documents/InlineMicButton.js.map +7 -0
- package/dist/documents/MicRecordingOverlay.js +29 -0
- package/dist/documents/MicRecordingOverlay.js.map +7 -0
- package/dist/documents/MicWaveformIndicator.js +68 -0
- package/dist/documents/MicWaveformIndicator.js.map +7 -0
- package/dist/documents/PhotoCapture.js +120 -0
- package/dist/documents/PhotoCapture.js.map +7 -0
- package/dist/documents/VideoCapture.js +129 -0
- package/dist/documents/VideoCapture.js.map +7 -0
- package/dist/documents/VoiceNoteRecorder.js +166 -0
- package/dist/documents/VoiceNoteRecorder.js.map +7 -0
- package/dist/documents/audio-segmenter.js +63 -0
- package/dist/documents/audio-segmenter.js.map +7 -0
- package/dist/documents/capture-frame.js +21 -0
- package/dist/documents/capture-frame.js.map +7 -0
- package/dist/documents/chunked-recorder.js +190 -0
- package/dist/documents/chunked-recorder.js.map +7 -0
- package/dist/documents/document-download.js +53 -0
- package/dist/documents/document-download.js.map +7 -0
- package/dist/documents/document-fields.js +109 -0
- package/dist/documents/document-fields.js.map +7 -0
- package/dist/documents/documents-cache.js +110 -0
- package/dist/documents/documents-cache.js.map +7 -0
- package/dist/documents/documents-data.js +128 -0
- package/dist/documents/documents-data.js.map +7 -0
- package/dist/documents/documents-loader.js +113 -0
- package/dist/documents/documents-loader.js.map +7 -0
- package/dist/documents/documents-writes.js +448 -0
- package/dist/documents/documents-writes.js.map +7 -0
- package/dist/documents/format-elapsed.js +10 -0
- package/dist/documents/format-elapsed.js.map +7 -0
- package/dist/documents/has-video-track.js +26 -0
- package/dist/documents/has-video-track.js.map +7 -0
- package/dist/documents/index.js +266 -0
- package/dist/documents/index.js.map +7 -0
- package/dist/documents/media-error.js +18 -0
- package/dist/documents/media-error.js.map +7 -0
- package/dist/documents/offline-documents.js +160 -0
- package/dist/documents/offline-documents.js.map +7 -0
- package/dist/documents/pending-sync.js +210 -0
- package/dist/documents/pending-sync.js.map +7 -0
- package/dist/documents/processing-live.js +122 -0
- package/dist/documents/processing-live.js.map +7 -0
- package/dist/documents/processing-order.js +59 -0
- package/dist/documents/processing-order.js.map +7 -0
- package/dist/documents/processing-settle.js +21 -0
- package/dist/documents/processing-settle.js.map +7 -0
- package/dist/documents/related-documents.js +133 -0
- package/dist/documents/related-documents.js.map +7 -0
- package/dist/documents/support.js +29 -0
- package/dist/documents/support.js.map +7 -0
- package/dist/documents/upload-files.js +169 -0
- package/dist/documents/upload-files.js.map +7 -0
- package/dist/documents/useAudioRecorder.js +315 -0
- package/dist/documents/useAudioRecorder.js.map +7 -0
- package/dist/documents/useCameraStream.js +35 -0
- package/dist/documents/useCameraStream.js.map +7 -0
- package/dist/documents/useDocumentThumbnails.js +71 -0
- package/dist/documents/useDocumentThumbnails.js.map +7 -0
- package/dist/documents/useDownloadDocuments.js +90 -0
- package/dist/documents/useDownloadDocuments.js.map +7 -0
- package/dist/documents/usePassageQuotes.js +37 -0
- package/dist/documents/usePassageQuotes.js.map +7 -0
- package/dist/documents/useUploadFiles.js +165 -0
- package/dist/documents/useUploadFiles.js.map +7 -0
- package/dist/documents/useUploadFromUrls.js +63 -0
- package/dist/documents/useUploadFromUrls.js.map +7 -0
- package/dist/documents/useVideoRecorder.js +62 -0
- package/dist/documents/useVideoRecorder.js.map +7 -0
- package/dist/entities/AgentMarkers.js +61 -0
- package/dist/entities/AgentMarkers.js.map +7 -0
- package/dist/entities/DocumentEntity.js +125 -0
- package/dist/entities/DocumentEntity.js.map +7 -0
- package/dist/entities/EntityPill.js +250 -0
- package/dist/entities/EntityPill.js.map +7 -0
- package/dist/entities/ProjectEntity.js +61 -0
- package/dist/entities/ProjectEntity.js.map +7 -0
- package/dist/entities/ShieldIcon.js +49 -0
- package/dist/entities/ShieldIcon.js.map +7 -0
- package/dist/entities/TagEntity.js +79 -0
- package/dist/entities/TagEntity.js.map +7 -0
- package/dist/entities/ThreadVisibilityIcon.js +15 -0
- package/dist/entities/ThreadVisibilityIcon.js.map +7 -0
- package/dist/entities/UserEntity.js +211 -0
- package/dist/entities/UserEntity.js.map +7 -0
- package/dist/entities/VerifiedBadge.js +19 -0
- package/dist/entities/VerifiedBadge.js.map +7 -0
- package/dist/entities/agent-avatar-colors.js +26 -0
- package/dist/entities/agent-avatar-colors.js.map +7 -0
- package/dist/entities/colors.js +64 -0
- package/dist/entities/colors.js.map +7 -0
- package/dist/entities/file-type.js +151 -0
- package/dist/entities/file-type.js.map +7 -0
- package/dist/entities/index.js +100 -0
- package/dist/entities/index.js.map +7 -0
- package/dist/entities/media-type.js +61 -0
- package/dist/entities/media-type.js.map +7 -0
- package/dist/entities/registry.js +385 -0
- package/dist/entities/registry.js.map +7 -0
- package/dist/entities/status.js +43 -0
- package/dist/entities/status.js.map +7 -0
- package/dist/entities/tag-kinds.js +23 -0
- package/dist/entities/tag-kinds.js.map +7 -0
- package/dist/entities/tag-types.js +44 -0
- package/dist/entities/tag-types.js.map +7 -0
- package/dist/entities/vocabulary.js +12 -0
- package/dist/entities/vocabulary.js.map +7 -0
- package/dist/entity-extraction.js +25 -0
- package/dist/entity-extraction.js.map +7 -0
- package/dist/facts-search.js +57 -0
- package/dist/facts-search.js.map +7 -0
- package/dist/facts.js +69 -0
- package/dist/facts.js.map +7 -0
- package/dist/hooks.js +320 -0
- package/dist/hooks.js.map +7 -0
- package/dist/host/ArbiHost.js +24 -0
- package/dist/host/ArbiHost.js.map +7 -0
- package/dist/host/assistant-copy.js +54 -0
- package/dist/host/assistant-copy.js.map +7 -0
- package/dist/host/config.js +9 -0
- package/dist/host/config.js.map +7 -0
- package/dist/host/context.js +10 -0
- package/dist/host/context.js.map +7 -0
- package/dist/host/features.js +144 -0
- package/dist/host/features.js.map +7 -0
- package/dist/host/index.js +12 -0
- package/dist/host/index.js.map +7 -0
- package/dist/{chunk-DPYBZDJB.js → host/merge.js} +7 -7
- package/dist/host/merge.js.map +7 -0
- package/dist/house-template.js +40 -0
- package/dist/house-template.js.map +7 -0
- package/dist/icons/AppleIcon.js +25 -0
- package/dist/icons/AppleIcon.js.map +7 -0
- package/dist/icons/ArbiBotHeadIcon.js +46 -0
- package/dist/icons/ArbiBotHeadIcon.js.map +7 -0
- package/dist/icons/ArbiIcon.js +24 -0
- package/dist/icons/ArbiIcon.js.map +7 -0
- package/dist/icons/AudIcon.js +56 -0
- package/dist/icons/AudIcon.js.map +7 -0
- package/dist/icons/ClaudeIcon.js +28 -0
- package/dist/icons/ClaudeIcon.js.map +7 -0
- package/dist/icons/DocIcon.js +56 -0
- package/dist/icons/DocIcon.js.map +7 -0
- package/dist/icons/EmlIcon.js +57 -0
- package/dist/icons/EmlIcon.js.map +7 -0
- package/dist/icons/FireworksIcon.js +47 -0
- package/dist/icons/FireworksIcon.js.map +7 -0
- package/dist/icons/GeminiIcon.js +37 -0
- package/dist/icons/GeminiIcon.js.map +7 -0
- package/dist/icons/GitHubIcon.js +32 -0
- package/dist/icons/GitHubIcon.js.map +7 -0
- package/dist/icons/GoogleIcon.js +53 -0
- package/dist/icons/GoogleIcon.js.map +7 -0
- package/dist/icons/HtmlIcon.js +56 -0
- package/dist/icons/HtmlIcon.js.map +7 -0
- package/dist/icons/ImgIcon.js +56 -0
- package/dist/icons/ImgIcon.js.map +7 -0
- package/dist/icons/LinkedInIcon.js +25 -0
- package/dist/icons/LinkedInIcon.js.map +7 -0
- package/dist/icons/OpenAIIcon.js +28 -0
- package/dist/icons/OpenAIIcon.js.map +7 -0
- package/dist/icons/PdfIcon.js +56 -0
- package/dist/icons/PdfIcon.js.map +7 -0
- package/dist/icons/ProviderIcon.js +42 -0
- package/dist/icons/ProviderIcon.js.map +7 -0
- package/dist/icons/TxtIcon.js +56 -0
- package/dist/icons/TxtIcon.js.map +7 -0
- package/dist/icons/VidIcon.js +56 -0
- package/dist/icons/VidIcon.js.map +7 -0
- package/dist/icons/XlsIcon.js +56 -0
- package/dist/icons/XlsIcon.js.map +7 -0
- package/dist/icons/arbi-mark.js +5 -0
- package/dist/icons/arbi-mark.js.map +7 -0
- package/dist/icons/colors.js +31 -0
- package/dist/icons/colors.js.map +7 -0
- package/dist/icons/file-type.js +105 -0
- package/dist/icons/file-type.js.map +7 -0
- package/dist/icons/index.js +55 -0
- package/dist/icons/index.js.map +7 -0
- package/dist/imagecrop/ImageCropModal.js +56 -0
- package/dist/imagecrop/ImageCropModal.js.map +7 -0
- package/dist/imagecrop/ImageCropper.js +100 -0
- package/dist/imagecrop/ImageCropper.js.map +7 -0
- package/dist/imagecrop/cropImage.js +43 -0
- package/dist/imagecrop/cropImage.js.map +7 -0
- package/dist/imagecrop/index.js +13 -0
- package/dist/imagecrop/index.js.map +7 -0
- package/dist/index.js +702 -17116
- package/dist/index.js.map +7 -1
- package/dist/{chunk-SSXFVWCT.js → lazy-chunk.js} +8 -8
- package/dist/lazy-chunk.js.map +7 -0
- package/dist/lib/collision-padding.js +13 -0
- package/dist/lib/collision-padding.js.map +7 -0
- package/dist/lib/format-friendly-date.js +55 -0
- package/dist/lib/format-friendly-date.js.map +7 -0
- package/dist/lib/format-relative-time.js +52 -0
- package/dist/lib/format-relative-time.js.map +7 -0
- package/dist/lib/markdown-to-text.js +35 -0
- package/dist/lib/markdown-to-text.js.map +7 -0
- package/dist/lib/toast-interaction.js +9 -0
- package/dist/lib/toast-interaction.js.map +7 -0
- package/dist/lib/utils.js +9 -0
- package/dist/lib/utils.js.map +7 -0
- package/dist/mail/client.js +103 -0
- package/dist/mail/client.js.map +7 -0
- package/dist/mail/document-attachment.js +38 -0
- package/dist/mail/document-attachment.js.map +7 -0
- package/dist/mail/filing.js +132 -0
- package/dist/mail/filing.js.map +7 -0
- package/dist/mail/hooks.js +393 -0
- package/dist/mail/hooks.js.map +7 -0
- package/dist/mail/index.js +120 -0
- package/dist/mail/index.js.map +7 -0
- package/dist/mail/offline/changes.js +258 -0
- package/dist/mail/offline/changes.js.map +7 -0
- package/dist/mail/offline/confirm-sign-out.js +37 -0
- package/dist/mail/offline/confirm-sign-out.js.map +7 -0
- package/dist/mail/offline/crypto.js +26 -0
- package/dist/mail/offline/crypto.js.map +7 -0
- package/dist/mail/offline/drafts.js +69 -0
- package/dist/mail/offline/drafts.js.map +7 -0
- package/dist/mail/offline/hooks.js +104 -0
- package/dist/mail/offline/hooks.js.map +7 -0
- package/dist/mail/offline/index.js +48 -0
- package/dist/mail/offline/index.js.map +7 -0
- package/dist/mail/offline/live.js +233 -0
- package/dist/mail/offline/live.js.map +7 -0
- package/dist/mail/offline/mailbox.js +191 -0
- package/dist/mail/offline/mailbox.js.map +7 -0
- package/dist/mail/offline/outbox.js +167 -0
- package/dist/mail/offline/outbox.js.map +7 -0
- package/dist/mail/offline/reads.js +159 -0
- package/dist/mail/offline/reads.js.map +7 -0
- package/dist/mail/offline/runtime.js +100 -0
- package/dist/mail/offline/runtime.js.map +7 -0
- package/dist/mail/offline/settings.js +84 -0
- package/dist/mail/offline/settings.js.map +7 -0
- package/dist/mail/offline/store.js +29 -0
- package/dist/mail/offline/store.js.map +7 -0
- package/dist/mail/offline/sync.js +251 -0
- package/dist/mail/offline/sync.js.map +7 -0
- package/dist/mail/offline/wipe.js +19 -0
- package/dist/mail/offline/wipe.js.map +7 -0
- package/dist/mail/thread-keys.js +53 -0
- package/dist/mail/thread-keys.js.map +7 -0
- package/dist/mail/threads.js +71 -0
- package/dist/mail/threads.js.map +7 -0
- package/dist/mail/useMailClient.js +42 -0
- package/dist/mail/useMailClient.js.map +7 -0
- package/dist/model-connections.js +58 -0
- package/dist/model-connections.js.map +7 -0
- package/dist/notifications/ActivityFeed.js +70 -0
- package/dist/notifications/ActivityFeed.js.map +7 -0
- package/dist/notifications/NotificationBell.js +200 -0
- package/dist/notifications/NotificationBell.js.map +7 -0
- package/dist/notifications/Toaster.js +24 -0
- package/dist/notifications/Toaster.js.map +7 -0
- package/dist/notifications/activity-types.js +65 -0
- package/dist/notifications/activity-types.js.map +7 -0
- package/dist/notifications/bell.js +24 -0
- package/dist/notifications/bell.js.map +7 -0
- package/dist/notifications/calendar-notifications.js +79 -0
- package/dist/notifications/calendar-notifications.js.map +7 -0
- package/dist/notifications/index.js +108 -0
- package/dist/notifications/index.js.map +7 -0
- package/dist/notifications/live.js +28 -0
- package/dist/notifications/live.js.map +7 -0
- package/dist/notifications/notification-types.js +127 -0
- package/dist/notifications/notification-types.js.map +7 -0
- package/dist/{chunk-BF5KW5ZI.js → notifications/notify-store.js} +24 -74
- package/dist/notifications/notify-store.js.map +7 -0
- package/dist/notifications/server-notifications.js +452 -0
- package/dist/notifications/server-notifications.js.map +7 -0
- package/dist/notifications/useNotifications.js +34 -0
- package/dist/notifications/useNotifications.js.map +7 -0
- package/dist/offline-store/network.js +11 -0
- package/dist/offline-store/network.js.map +7 -0
- package/dist/offline-store/store.js +136 -0
- package/dist/offline-store/store.js.map +7 -0
- package/dist/offline-store/wipe.js +8 -0
- package/dist/offline-store/wipe.js.map +7 -0
- package/dist/offline.js +58 -0
- package/dist/offline.js.map +7 -0
- package/dist/people.js +122 -0
- package/dist/people.js.map +7 -0
- package/dist/projects.js +30 -0
- package/dist/projects.js.map +7 -0
- package/dist/query-client.js +63 -0
- package/dist/query-client.js.map +7 -0
- package/dist/{chunk-ZM6N7YZH.js → query-keys.js} +18 -31
- package/dist/query-keys.js.map +7 -0
- package/dist/query-persist.js +66 -0
- package/dist/query-persist.js.map +7 -0
- package/dist/queued-writes.js +59 -0
- package/dist/queued-writes.js.map +7 -0
- package/dist/remote-control.js +67 -0
- package/dist/remote-control.js.map +7 -0
- package/dist/search/index.js +23 -0
- package/dist/search/index.js.map +7 -0
- package/dist/search/session.js +58 -0
- package/dist/search/session.js.map +7 -0
- package/dist/search/useSemanticSearch.js +82 -0
- package/dist/search/useSemanticSearch.js.map +7 -0
- package/dist/session/chat.js +512 -0
- package/dist/session/chat.js.map +7 -0
- package/dist/session/documents.js +196 -0
- package/dist/session/documents.js.map +7 -0
- package/dist/session/drafts.js +103 -0
- package/dist/session/drafts.js.map +7 -0
- package/dist/session/index.js +123 -0
- package/dist/session/index.js.map +7 -0
- package/dist/session/layout.js +339 -0
- package/dist/session/layout.js.map +7 -0
- package/dist/session/persist.js +106 -0
- package/dist/session/persist.js.map +7 -0
- package/dist/session/session-hooks.js +53 -0
- package/dist/session/session-hooks.js.map +7 -0
- package/dist/session/signed-in.js +36 -0
- package/dist/session/signed-in.js.map +7 -0
- package/dist/session/store.js +166 -0
- package/dist/session/store.js.map +7 -0
- package/dist/session/thread-tabs.js +121 -0
- package/dist/session/thread-tabs.js.map +7 -0
- package/dist/session/ui-state-storage.js +76 -0
- package/dist/session/ui-state-storage.js.map +7 -0
- package/dist/session/workspace.js +77 -0
- package/dist/session/workspace.js.map +7 -0
- package/dist/shell/index.js +43 -10
- package/dist/shell/index.js.map +7 -1
- package/dist/skill-pack.js +111 -0
- package/dist/skill-pack.js.map +7 -0
- package/dist/storage.js +186 -0
- package/dist/storage.js.map +7 -0
- package/dist/support/index.js +35 -0
- package/dist/support/index.js.map +7 -0
- package/dist/tags.js +204 -0
- package/dist/tags.js.map +7 -0
- package/dist/ui/DebouncedInput.js +109 -0
- package/dist/ui/DebouncedInput.js.map +7 -0
- package/dist/ui/DictateContext.js +8 -0
- package/dist/ui/DictateContext.js.map +7 -0
- package/dist/ui/IconToggle.js +79 -0
- package/dist/ui/IconToggle.js.map +7 -0
- package/dist/ui/VerifiedToggle.js +38 -0
- package/dist/ui/VerifiedToggle.js.map +7 -0
- package/dist/ui/VisibilityToggle.js +103 -0
- package/dist/ui/VisibilityToggle.js.map +7 -0
- package/dist/ui/avatar.js +40 -0
- package/dist/ui/avatar.js.map +7 -0
- package/dist/ui/badge.js +28 -0
- package/dist/ui/badge.js.map +7 -0
- package/dist/ui/button.js +48 -0
- package/dist/ui/button.js.map +7 -0
- package/dist/ui/card.js +90 -0
- package/dist/ui/card.js.map +7 -0
- package/dist/ui/checkbox.js +22 -0
- package/dist/ui/checkbox.js.map +7 -0
- package/dist/ui/collapsible.js +10 -0
- package/dist/ui/collapsible.js.map +7 -0
- package/dist/ui/command.js +103 -0
- package/dist/ui/command.js.map +7 -0
- package/dist/{chunk-YNNAJJ5Z.js → ui/dialog.js} +30 -68
- package/dist/ui/dialog.js.map +7 -0
- package/dist/{chunk-47CCGUWR.js → ui/dropdown-menu.js} +40 -45
- package/dist/ui/dropdown-menu.js.map +7 -0
- package/dist/ui/hover-card.js +36 -0
- package/dist/ui/hover-card.js.map +7 -0
- package/dist/ui/index.js +290 -10
- package/dist/ui/index.js.map +7 -1
- package/dist/ui/input.js +65 -0
- package/dist/ui/input.js.map +7 -0
- package/dist/ui/label.js +16 -0
- package/dist/ui/label.js.map +7 -0
- package/dist/ui/mark-menu.js +300 -0
- package/dist/ui/mark-menu.js.map +7 -0
- package/dist/ui/popover.js +40 -0
- package/dist/ui/popover.js.map +7 -0
- package/dist/ui/portal-container.js +17 -0
- package/dist/ui/portal-container.js.map +7 -0
- package/dist/ui/progress.js +24 -0
- package/dist/ui/progress.js.map +7 -0
- package/dist/ui/radio-group.js +29 -0
- package/dist/ui/radio-group.js.map +7 -0
- package/dist/ui/scroll-area.js +39 -0
- package/dist/ui/scroll-area.js.map +7 -0
- package/dist/ui/select.js +130 -0
- package/dist/ui/select.js.map +7 -0
- package/dist/ui/separator.js +23 -0
- package/dist/ui/separator.js.map +7 -0
- package/dist/ui/slider.js +23 -0
- package/dist/ui/slider.js.map +7 -0
- package/dist/ui/switch.js +28 -0
- package/dist/ui/switch.js.map +7 -0
- package/dist/ui/table.js +75 -0
- package/dist/ui/table.js.map +7 -0
- package/dist/ui/tabs.js +48 -0
- package/dist/ui/tabs.js.map +7 -0
- package/dist/ui/textarea.js +63 -0
- package/dist/ui/textarea.js.map +7 -0
- package/dist/ui/toggle-group.js +43 -0
- package/dist/ui/toggle-group.js.map +7 -0
- package/dist/ui/toggle.js +40 -0
- package/dist/ui/toggle.js.map +7 -0
- package/dist/ui/tooltip.js +215 -0
- package/dist/ui/tooltip.js.map +7 -0
- package/dist/usage-metered.js +8 -0
- package/dist/usage-metered.js.map +7 -0
- package/dist/useArbi.js +16 -0
- package/dist/useArbi.js.map +7 -0
- package/dist/useInstallSkillPack.js +81 -0
- package/dist/useInstallSkillPack.js.map +7 -0
- package/dist/usermenu/UserMenu.js +188 -0
- package/dist/usermenu/UserMenu.js.map +7 -0
- package/dist/usermenu/index.js +5 -0
- package/dist/usermenu/index.js.map +7 -0
- package/dist/users/index.js +15 -0
- package/dist/users/index.js.map +7 -0
- package/dist/users/user-display.js +60 -0
- package/dist/users/user-display.js.map +7 -0
- package/dist/viewers/AudioViewer.js +23 -0
- package/dist/viewers/AudioViewer.js.map +7 -0
- package/dist/viewers/DocxViewer.js +81 -0
- package/dist/viewers/DocxViewer.js.map +7 -0
- package/dist/viewers/ImageViewer.js +31 -0
- package/dist/viewers/ImageViewer.js.map +7 -0
- package/dist/viewers/PdfViewer.js +19 -3
- package/dist/viewers/PdfViewer.js.map +7 -1
- package/dist/{PdfViewerImpl-TEBYF2QI.js → viewers/PdfViewerImpl.js} +25 -19
- package/dist/viewers/PdfViewerImpl.js.map +7 -0
- package/dist/viewers/VideoViewer.js +31 -0
- package/dist/viewers/VideoViewer.js.map +7 -0
- package/dist/viewers/XlsxViewer.js +102 -0
- package/dist/viewers/XlsxViewer.js.map +7 -0
- package/dist/viewers/index.js +61 -271
- package/dist/viewers/index.js.map +7 -1
- package/dist/viewers/page-scroll.js +59 -0
- package/dist/viewers/page-scroll.js.map +7 -0
- package/dist/viewers/pdf-viewer-constants.js +9 -0
- package/dist/viewers/pdf-viewer-constants.js.map +7 -0
- package/dist/{chunk-PTOP7OHG.js → viewers/pdfjs-polyfills.js} +5 -6
- package/dist/viewers/pdfjs-polyfills.js.map +7 -0
- package/dist/viewers/selection-runs.js +38 -0
- package/dist/viewers/selection-runs.js.map +7 -0
- package/dist/viewers/usePageIntersectionObserver.js +68 -0
- package/dist/viewers/usePageIntersectionObserver.js.map +7 -0
- package/dist/viewers/useProcessedChunks.js +58 -0
- package/dist/viewers/useProcessedChunks.js.map +7 -0
- package/dist/viewers/viewer-zoom.js +163 -0
- package/dist/viewers/viewer-zoom.js.map +7 -0
- package/dist/websocket/ArbiWebSocketProvider.js +207 -0
- package/dist/websocket/ArbiWebSocketProvider.js.map +7 -0
- package/dist/websocket/context.js +14 -0
- package/dist/websocket/context.js.map +7 -0
- package/dist/websocket/hooks.js +30 -0
- package/dist/websocket/hooks.js.map +7 -0
- package/dist/websocket/index.js +22 -0
- package/dist/websocket/index.js.map +7 -0
- package/dist/websocket/live-updates.js +38 -0
- package/dist/websocket/live-updates.js.map +7 -0
- package/dist/websocket/reconnect.js +13 -0
- package/dist/websocket/reconnect.js.map +7 -0
- package/dist/websocket/store.js +58 -0
- package/dist/websocket/store.js.map +7 -0
- package/dist/workforce.js +607 -0
- package/dist/workforce.js.map +7 -0
- package/dist/workspaces/access-request.js +35 -0
- package/dist/workspaces/access-request.js.map +7 -0
- package/dist/workspaces/archive.js +59 -0
- package/dist/workspaces/archive.js.map +7 -0
- package/dist/workspaces/current.js +20 -0
- package/dist/workspaces/current.js.map +7 -0
- package/dist/workspaces/delete-workspaces.js +15 -0
- package/dist/workspaces/delete-workspaces.js.map +7 -0
- package/dist/workspaces/export-archive.js +40 -0
- package/dist/workspaces/export-archive.js.map +7 -0
- package/dist/workspaces/index.js +99 -0
- package/dist/workspaces/index.js.map +7 -0
- package/dist/workspaces/settings.js +45 -0
- package/dist/workspaces/settings.js.map +7 -0
- package/dist/workspaces/shell-workspaces.js +49 -0
- package/dist/workspaces/shell-workspaces.js.map +7 -0
- package/dist/workspaces/switch.js +234 -0
- package/dist/workspaces/switch.js.map +7 -0
- package/dist/workspaces/transfer.js +170 -0
- package/dist/workspaces/transfer.js.map +7 -0
- package/dist/workspaces/useShellWorkspaces.js +86 -0
- package/dist/workspaces/useShellWorkspaces.js.map +7 -0
- package/dist/workspaces/workspace-users.js +65 -0
- package/dist/workspaces/workspace-users.js.map +7 -0
- package/package.json +4 -4
- package/dist/PdfViewerImpl-TEBYF2QI.js.map +0 -1
- package/dist/PdfViewerImpl.d-B28hLEuj.d.cts +0 -62
- package/dist/ProductionDialog.d-CpzslFn0.d.cts +0 -51
- package/dist/annotations/freeze/index.d.cts +0 -205
- package/dist/annotations/index.d.cts +0 -360
- package/dist/artifacts/index.d.cts +0 -476
- package/dist/artifacts/redline-core.d.cts +0 -39
- package/dist/bundle-YNOX7VIL.js +0 -5
- package/dist/bundle-YNOX7VIL.js.map +0 -1
- package/dist/bundle.d-BnCSbHy2.d.cts +0 -85
- package/dist/calls/livekit/index.d.cts +0 -280
- package/dist/chunk-47CCGUWR.js.map +0 -1
- package/dist/chunk-4FL3X3LA.js +0 -2057
- package/dist/chunk-4FL3X3LA.js.map +0 -1
- package/dist/chunk-6QNBSXCE.js +0 -271
- package/dist/chunk-6QNBSXCE.js.map +0 -1
- package/dist/chunk-74N436VK.js.map +0 -1
- package/dist/chunk-APZZQZ6P.js +0 -147
- package/dist/chunk-APZZQZ6P.js.map +0 -1
- package/dist/chunk-BF5KW5ZI.js.map +0 -1
- package/dist/chunk-DPYBZDJB.js.map +0 -1
- package/dist/chunk-DZKRL5H3.js +0 -2766
- package/dist/chunk-DZKRL5H3.js.map +0 -1
- package/dist/chunk-HDCRPPBW.js +0 -75
- package/dist/chunk-HDCRPPBW.js.map +0 -1
- package/dist/chunk-L2IPPTVC.js +0 -20
- package/dist/chunk-L2IPPTVC.js.map +0 -1
- package/dist/chunk-LSU4UPS5.js +0 -1011
- package/dist/chunk-LSU4UPS5.js.map +0 -1
- package/dist/chunk-NIKPG4PW.js +0 -1128
- package/dist/chunk-NIKPG4PW.js.map +0 -1
- package/dist/chunk-NNAJLY6B.js +0 -4974
- package/dist/chunk-NNAJLY6B.js.map +0 -1
- package/dist/chunk-OYPKKHXY.js +0 -559
- package/dist/chunk-OYPKKHXY.js.map +0 -1
- package/dist/chunk-PTOP7OHG.js.map +0 -1
- package/dist/chunk-QMY2JKBI.js +0 -246
- package/dist/chunk-QMY2JKBI.js.map +0 -1
- package/dist/chunk-SN5YV6FF.js +0 -11
- package/dist/chunk-SN5YV6FF.js.map +0 -1
- package/dist/chunk-SSXFVWCT.js.map +0 -1
- package/dist/chunk-T3USOSVN.js.map +0 -1
- package/dist/chunk-T4CLW3DN.js +0 -2560
- package/dist/chunk-T4CLW3DN.js.map +0 -1
- package/dist/chunk-UW2SGTI5.js.map +0 -1
- package/dist/chunk-VSCU7K4V.js.map +0 -1
- package/dist/chunk-WL2Y2T47.js.map +0 -1
- package/dist/chunk-WUTL62MC.js.map +0 -1
- package/dist/chunk-XWPLOFDN.js +0 -644
- package/dist/chunk-XWPLOFDN.js.map +0 -1
- package/dist/chunk-Y3MTRA7D.js +0 -97
- package/dist/chunk-Y3MTRA7D.js.map +0 -1
- package/dist/chunk-YNNAJJ5Z.js.map +0 -1
- package/dist/chunk-ZM6N7YZH.js.map +0 -1
- package/dist/document-tools/core.d.cts +0 -883
- package/dist/document-tools/index.d.cts +0 -90
- package/dist/index.d-LArLnpI8.d.cts +0 -2036
- package/dist/index.d-oR5FKZpJ.d.cts +0 -579
- package/dist/index.d.cts +0 -15923
- package/dist/lazy-chunk.d-B6YDLMKI.d.cts +0 -31
- package/dist/model.d-CNtRWKVK.d.cts +0 -110
- package/dist/query-keys.d-B1Am9tIF.d.cts +0 -337
- package/dist/shell/index.d.cts +0 -6
- package/dist/store.d-GADDvC7w.d.cts +0 -35
- package/dist/stored-markdown.d-Bp18vrbr.d.cts +0 -125
- package/dist/ui/index.d.cts +0 -26
- package/dist/useAudioRecorder.d-B9rlMI_E.d.cts +0 -778
- package/dist/viewers/PdfViewer.d.cts +0 -9
- package/dist/viewers/index.d.cts +0 -262
|
@@ -1,2036 +0,0 @@
|
|
|
1
|
-
import { ClassValue } from 'clsx';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import React__default, { HTMLAttributes, ReactNode, Ref, ComponentType, CSSProperties } from 'react';
|
|
4
|
-
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
5
|
-
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
6
|
-
import { VariantProps } from 'class-variance-authority';
|
|
7
|
-
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
8
|
-
import * as lucide_react from 'lucide-react';
|
|
9
|
-
import { LucideIcon, LucideProps, StickyNote } from 'lucide-react';
|
|
10
|
-
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
11
|
-
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
12
|
-
import { DialogProps } from '@radix-ui/react-dialog';
|
|
13
|
-
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
14
|
-
import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
|
|
15
|
-
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
16
|
-
import * as ProgressPrimitive from '@radix-ui/react-progress';
|
|
17
|
-
import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
|
|
18
|
-
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
|
|
19
|
-
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
20
|
-
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
21
|
-
import * as SliderPrimitive from '@radix-ui/react-slider';
|
|
22
|
-
import * as SwitchPrimitives from '@radix-ui/react-switch';
|
|
23
|
-
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
24
|
-
import * as TogglePrimitive from '@radix-ui/react-toggle';
|
|
25
|
-
import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
|
|
26
|
-
import { Components, Options } from 'react-markdown';
|
|
27
|
-
import { Options as Options$1 } from 'rehype-sanitize';
|
|
28
|
-
import './lazy-chunk.d-B6YDLMKI.cjs';
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Identity verification types, SDK-free so presentational blocks can take an
|
|
32
|
-
* `IdentityVerificationFlow` through `@arbidocs/react/ui`. `IdentityStatus` mirrors the backend's
|
|
33
|
-
* `IdentityStatusResponse` (`GET /v1/user/identity`).
|
|
34
|
-
*/
|
|
35
|
-
type IdentityState = 'none' | 'in_progress' | 'in_review' | 'name_mismatch' | 'declined' | 'verified';
|
|
36
|
-
interface IdentityStatus {
|
|
37
|
-
enabled: boolean;
|
|
38
|
-
/** Owns a Pro project to charge the fee to (free users don't get the feature). */
|
|
39
|
-
eligible: boolean;
|
|
40
|
-
required: boolean;
|
|
41
|
-
/** The one-time fee incl. UK VAT. */
|
|
42
|
-
price_pence: number;
|
|
43
|
-
currency: string;
|
|
44
|
-
attempts_per_fee: number;
|
|
45
|
-
state: IdentityState;
|
|
46
|
-
attempts_left: number;
|
|
47
|
-
/** A fee charge waiting for the bank's 3-D Secure confirmation. */
|
|
48
|
-
pending_payment_url?: string | null;
|
|
49
|
-
/** The tick: passed a check, and the account name still matches it. */
|
|
50
|
-
verified: boolean;
|
|
51
|
-
document_country?: string | null;
|
|
52
|
-
/** Only in `name_mismatch`: the name on the document, offered as the account name. */
|
|
53
|
-
document_given_name?: string | null;
|
|
54
|
-
document_family_name?: string | null;
|
|
55
|
-
}
|
|
56
|
-
interface IdentityPurchase {
|
|
57
|
-
status: 'paid' | 'requires_action';
|
|
58
|
-
payment_url?: string | null;
|
|
59
|
-
}
|
|
60
|
-
type IdentityStep = 'pay' | 'verify' | 'result';
|
|
61
|
-
type IdentityBusy = 'pay' | 'start' | 'refresh' | 'accept' | 'remove' | null;
|
|
62
|
-
/** A refused or failed call: the backend's code (`PRO_REQUIRED`, `PAYMENT_DECLINED`, …) and text. */
|
|
63
|
-
interface IdentityProblem {
|
|
64
|
-
code?: string;
|
|
65
|
-
message: string;
|
|
66
|
-
}
|
|
67
|
-
/** The verification dialog's state and actions (`useIdentityVerificationFlow`). */
|
|
68
|
-
interface IdentityVerificationFlow {
|
|
69
|
-
status: IdentityStatus | undefined;
|
|
70
|
-
isLoading: boolean;
|
|
71
|
-
/** The fee as the UI shows it ("£5.00 incl. VAT"), once the status is known. */
|
|
72
|
-
price: string | null;
|
|
73
|
-
isOpen: boolean;
|
|
74
|
-
open: () => void;
|
|
75
|
-
close: () => void;
|
|
76
|
-
step: IdentityStep;
|
|
77
|
-
busy: IdentityBusy;
|
|
78
|
-
problem: IdentityProblem | null;
|
|
79
|
-
/** The bank wants the fee confirmed (3-D Secure) on this page; then call `recheckPayment`. */
|
|
80
|
-
paymentUrl: string | null;
|
|
81
|
-
pay: () => void;
|
|
82
|
-
recheckPayment: () => void;
|
|
83
|
-
/** Id for the element Didit renders into (render it with a height while `step === 'verify'`). */
|
|
84
|
-
verifyContainerId: string;
|
|
85
|
-
/** Attach the Didit host element; the flow mounts the SDK into it once the session is open. */
|
|
86
|
-
verifyContainerRef: (el: HTMLElement | null) => void;
|
|
87
|
-
/** Didit could not run here (blocked camera, add-in frame): offer `openInNewTab`. */
|
|
88
|
-
embedFailed: boolean;
|
|
89
|
-
openInNewTab: () => void;
|
|
90
|
-
/** Ask for the result now ("I've finished"). */
|
|
91
|
-
checkResult: () => void;
|
|
92
|
-
/** Try again after a decline (uses one of the attempts left). */
|
|
93
|
-
retry: () => void;
|
|
94
|
-
/** Take the document's name as the account name (name_mismatch). */
|
|
95
|
-
acceptName: () => void;
|
|
96
|
-
/** Keep the account name: closes without the tick (renaming later can still match). */
|
|
97
|
-
keepName: () => void;
|
|
98
|
-
remove: () => void;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Dictation for every `Input`/`Textarea` with a `dictate` prop, instead of threading a
|
|
103
|
-
* `transcribe` function through each field. A host gives it once, as the host configuration's
|
|
104
|
-
* `dictate` (`<ArbiHost config={{ dictate: { transcribe, onError } }}>`); every `dictate`-enabled
|
|
105
|
-
* field downstream then just works. Without it fields render without a mic button: dictation is a
|
|
106
|
-
* progressive enhancement, never a hard requirement.
|
|
107
|
-
*/
|
|
108
|
-
interface DictateContextValue {
|
|
109
|
-
transcribe: (blob: Blob) => Promise<string>;
|
|
110
|
-
onError?: (message: string) => void;
|
|
111
|
-
}
|
|
112
|
-
declare function useDictateContext(): DictateContextValue | null;
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* A site's own words for the entities (`ArbiHostConfig.vocabulary`): `{ PROJECT: 'Matter' }` makes
|
|
116
|
-
* every kit say "Matter", "Matters", "New matter" where the defaults say "Project". The vertical
|
|
117
|
-
* nouns live only in the site's config; the kits read them through `getEntityLabel` /
|
|
118
|
-
* `entityNoun`, at render time, so the host's vocabulary is in place before any kit renders.
|
|
119
|
-
*
|
|
120
|
-
* Dependency-free (no icons), so `<ArbiHost>` can apply it without growing its import graph.
|
|
121
|
-
*/
|
|
122
|
-
/** An entity's word: the singular ("Matter"), or each form where a derived one would be wrong. */
|
|
123
|
-
type EntityNoun = string | {
|
|
124
|
-
SINGULAR: string;
|
|
125
|
-
PLURAL?: string;
|
|
126
|
-
SHORT?: string;
|
|
127
|
-
NEW?: string;
|
|
128
|
-
};
|
|
129
|
-
/** A site's words, keyed by entity type (`PROJECT`, `WORKSPACE`, …). */
|
|
130
|
-
type EntityVocabulary = Partial<Record<string, EntityNoun>>;
|
|
131
|
-
/** Set the site's vocabulary (replacing any earlier one). `<ArbiHost>` calls it with `config.vocabulary`. */
|
|
132
|
-
declare function configureEntityVocabulary(next: EntityVocabulary): void;
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Minimal, dependency-free tooltip — a drop-in API replacement for a Radix
|
|
136
|
-
* wrapper (same exports/props: Tooltip, TooltipTrigger, TooltipContent,
|
|
137
|
-
* TooltipProvider). Promoted verbatim from the ARBI app.
|
|
138
|
-
*
|
|
139
|
-
* It attaches the trigger via a STABLE `useCallback` ref (never setStates,
|
|
140
|
-
* identity never changes), so React 19 never detach/attach-thrashes.
|
|
141
|
-
*/
|
|
142
|
-
type Side = 'top' | 'bottom' | 'left' | 'right';
|
|
143
|
-
interface TooltipProviderProps {
|
|
144
|
-
children?: React.ReactNode;
|
|
145
|
-
/** Hover delay, in ms, inherited by every Tooltip below. Default 300. */
|
|
146
|
-
delayDuration?: number;
|
|
147
|
-
skipDelayDuration?: number;
|
|
148
|
-
disableHoverableContent?: boolean;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Sets tooltip defaults for the whole tree. Mount it once, at the app root —
|
|
152
|
-
* `AppShell` in @arbidocs/blocks does this so every app gets it for free.
|
|
153
|
-
* Tooltips still render without it, at the default delay.
|
|
154
|
-
*/
|
|
155
|
-
declare const TooltipProvider: ({ children, delayDuration }: TooltipProviderProps) => React.JSX.Element;
|
|
156
|
-
interface TooltipProps {
|
|
157
|
-
children: React.ReactNode;
|
|
158
|
-
/** Overrides the provider's delay for this one tooltip. */
|
|
159
|
-
delayDuration?: number;
|
|
160
|
-
}
|
|
161
|
-
declare function Tooltip({ children, delayDuration }: TooltipProps): React.JSX.Element;
|
|
162
|
-
interface TooltipTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
163
|
-
asChild?: boolean;
|
|
164
|
-
/** Allow explanatory tooltips on controls that already have a visible label. */
|
|
165
|
-
showWithText?: boolean;
|
|
166
|
-
}
|
|
167
|
-
declare function TooltipTrigger({ asChild, showWithText, children, ...props }: TooltipTriggerProps): React.JSX.Element;
|
|
168
|
-
interface TooltipContentProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
169
|
-
side?: Side;
|
|
170
|
-
sideOffset?: number;
|
|
171
|
-
/** Minimum gap, in px, kept between the tip and the viewport edges. Default 8. */
|
|
172
|
-
collisionPadding?: number;
|
|
173
|
-
}
|
|
174
|
-
declare const TooltipContent: React.ForwardRefExoticComponent<TooltipContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
175
|
-
|
|
176
|
-
interface ColorClasses {
|
|
177
|
-
text: string;
|
|
178
|
-
bg: string;
|
|
179
|
-
}
|
|
180
|
-
interface IconToggleProps {
|
|
181
|
-
icon: LucideIcon;
|
|
182
|
-
isActive: boolean;
|
|
183
|
-
onToggle: (isActive: boolean) => void;
|
|
184
|
-
colors: ColorClasses;
|
|
185
|
-
inactiveColors?: ColorClasses;
|
|
186
|
-
fillWhenActive?: boolean;
|
|
187
|
-
disabled?: boolean;
|
|
188
|
-
/** Tooltip to show when disabled (e.g., "You cannot unshare this resource") */
|
|
189
|
-
disabledTooltip?: string;
|
|
190
|
-
showLabel?: boolean;
|
|
191
|
-
label?: string;
|
|
192
|
-
tooltipActive?: string;
|
|
193
|
-
tooltipInactive?: string;
|
|
194
|
-
tooltipMixed?: string;
|
|
195
|
-
isMixed?: boolean;
|
|
196
|
-
/** Set to false to disable tooltip (useful when nested inside another tooltip) */
|
|
197
|
-
showTooltip?: boolean;
|
|
198
|
-
'data-testid'?: string;
|
|
199
|
-
}
|
|
200
|
-
declare function IconToggle({ icon: Icon, isActive, onToggle, colors, inactiveColors, fillWhenActive, disabled, disabledTooltip, showLabel, label, tooltipActive, tooltipInactive, tooltipMixed, isMixed, showTooltip, 'data-testid': dataTestId, }: IconToggleProps): React.JSX.Element;
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* VisibilityToggle Component
|
|
204
|
-
*
|
|
205
|
-
* Toggle for private/shared visibility state, the one control every shareable thing in the app uses
|
|
206
|
-
* (documents, conversations, tags, facts, tasks). Supports single items and bulk operations. It takes
|
|
207
|
-
* the items (with a shared field) and `onToggle` because the mutation differs by context. The name the
|
|
208
|
-
* app gives a workspace (the entity registry's, or `workspaceLabel`) appears in its tooltips.
|
|
209
|
-
*/
|
|
210
|
-
interface SharedItem {
|
|
211
|
-
shared?: boolean | null;
|
|
212
|
-
is_shared?: boolean | null;
|
|
213
|
-
}
|
|
214
|
-
interface VisibilityToggleProps {
|
|
215
|
-
/** Explicit Me / Workspace selector for creation forms. */
|
|
216
|
-
presentation?: 'toggle' | 'select';
|
|
217
|
-
/** Single item or array of items with shared/is_shared field */
|
|
218
|
-
items: SharedItem | SharedItem[];
|
|
219
|
-
/** Called with true to share, false to unshare */
|
|
220
|
-
onToggle: (shouldShare: boolean) => void;
|
|
221
|
-
disabled?: boolean;
|
|
222
|
-
/** Tooltip to show when disabled (e.g., "You cannot unshare this resource") */
|
|
223
|
-
disabledTooltip?: string;
|
|
224
|
-
disablePrivate?: boolean;
|
|
225
|
-
showLabel?: boolean;
|
|
226
|
-
/** Set to false to disable tooltip (useful when nested inside another tooltip) */
|
|
227
|
-
showTooltip?: boolean;
|
|
228
|
-
tooltipActive?: string;
|
|
229
|
-
tooltipInactive?: string;
|
|
230
|
-
tooltipMixed?: string;
|
|
231
|
-
/** The visible label (when `showLabel`); defaults to "Visibility". */
|
|
232
|
-
label?: string;
|
|
233
|
-
/** What the app calls a workspace, for the default tooltips (default: the entity registry's). */
|
|
234
|
-
workspaceLabel?: string;
|
|
235
|
-
'data-testid'?: string;
|
|
236
|
-
}
|
|
237
|
-
declare function VisibilityToggle({ items, presentation, onToggle, disabled, disabledTooltip, disablePrivate, showLabel, showTooltip, tooltipActive, tooltipInactive, tooltipMixed, label, workspaceLabel, 'data-testid': dataTestId, }: VisibilityToggleProps): React.JSX.Element;
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* VerifiedToggle Component
|
|
241
|
-
*
|
|
242
|
-
* Switch-style toggle for a fact's human-verified (`confirmed`) state — the
|
|
243
|
-
* same IconToggle affordance the VisibilityToggle uses for sharing, so
|
|
244
|
-
* "Verified" reads as a toggle in the facts table rather than a radio/checkbox.
|
|
245
|
-
*/
|
|
246
|
-
interface VerifiedToggleProps {
|
|
247
|
-
verified: boolean;
|
|
248
|
-
/** Called with the desired next state (true = verify, false = unverify). */
|
|
249
|
-
onToggle: (shouldVerify: boolean) => void;
|
|
250
|
-
disabled?: boolean;
|
|
251
|
-
showLabel?: boolean;
|
|
252
|
-
/** Set to false to disable the tooltip (e.g. when nested in another tooltip). */
|
|
253
|
-
showTooltip?: boolean;
|
|
254
|
-
tooltipActive?: string;
|
|
255
|
-
tooltipInactive?: string;
|
|
256
|
-
'data-testid'?: string;
|
|
257
|
-
}
|
|
258
|
-
declare function VerifiedToggle({ verified, onToggle, disabled, showLabel, showTooltip, tooltipActive, tooltipInactive, 'data-testid': dataTestId, }: VerifiedToggleProps): React.JSX.Element;
|
|
259
|
-
|
|
260
|
-
/** A timestamp as people read it: "Today, 14:05", "Yesterday", "Aug 18" (with the year once it is not this one). */
|
|
261
|
-
/**
|
|
262
|
-
* Format a date string for friendly display with Today/Yesterday context
|
|
263
|
-
*/
|
|
264
|
-
declare function formatFriendlyDate(dateString: string, includeTime?: boolean): string;
|
|
265
|
-
/**
|
|
266
|
-
* Ultra-compact "last seen" stamp, for tight rows (the workspace switcher's recent list): the bare
|
|
267
|
-
* time for today ("11:27"), "Yesterday", then a short date ("Aug 18", with the year once it is not
|
|
268
|
-
* this one). Empty for an invalid timestamp.
|
|
269
|
-
*/
|
|
270
|
-
declare function formatCompactLastSeen(timestamp: number | string | Date, options?: {
|
|
271
|
-
now?: Date;
|
|
272
|
-
}): string;
|
|
273
|
-
|
|
274
|
-
/**
|
|
275
|
-
* markdownToPlainText
|
|
276
|
-
*
|
|
277
|
-
* Cheap, dependency-free markdown → plain-text flattener for dense UI surfaces
|
|
278
|
-
* (e.g. a single AG Grid cell) where we want a readable one-paragraph preview,
|
|
279
|
-
* NOT rendered markdown. It strips the common markers our AI summaries emit
|
|
280
|
-
* (bullets, headings, emphasis, inline code, links, blockquotes) and collapses
|
|
281
|
-
* whitespace to a single line.
|
|
282
|
-
*
|
|
283
|
-
* Deliberately regex-based and O(n): it is safe to call per visible grid cell
|
|
284
|
-
* (a valueFormatter) without the cost of a real markdown parser/renderer, so it
|
|
285
|
-
* has no per-row-count impact on large tables. For full rich rendering use the
|
|
286
|
-
* document viewer / review form, which render one document at a time.
|
|
287
|
-
*/
|
|
288
|
-
declare function markdownToPlainText(input: string | null | undefined): string;
|
|
289
|
-
/**
|
|
290
|
-
* Line-preserving variant of markdownToPlainText for copying an answer as plain
|
|
291
|
-
* text. Removes the same markup but keeps paragraph breaks and list lines, so a
|
|
292
|
-
* pasted answer keeps its shape. Tables become tab-separated rows and horizontal
|
|
293
|
-
* rules are dropped. List numbers and bullets stay because they are visible
|
|
294
|
-
* content. Link URLs are kept in parentheses so nothing is lost.
|
|
295
|
-
*/
|
|
296
|
-
declare function markdownToPlainTextBlocks(input: string | null | undefined): string;
|
|
297
|
-
|
|
298
|
-
/**
|
|
299
|
-
* DebouncedInput Component
|
|
300
|
-
*
|
|
301
|
-
* A text input that debounces onChange calls to reduce API calls.
|
|
302
|
-
* Supports both single-line Input and multi-line Textarea.
|
|
303
|
-
* Reverts to prop value on blur if local value differs (handles validation failures).
|
|
304
|
-
*/
|
|
305
|
-
interface DebouncedInputProps {
|
|
306
|
-
/** Current value */
|
|
307
|
-
value: string;
|
|
308
|
-
/** Callback when value changes (debounced) */
|
|
309
|
-
onChange: (value: string) => void;
|
|
310
|
-
/** Whether the input is disabled */
|
|
311
|
-
disabled?: boolean;
|
|
312
|
-
/** Input type (text, number, etc.) */
|
|
313
|
-
type?: string;
|
|
314
|
-
/** Whether to render as textarea */
|
|
315
|
-
multiline?: boolean;
|
|
316
|
-
/** Additional CSS classes */
|
|
317
|
-
className?: string;
|
|
318
|
-
/** Debounce delay in milliseconds */
|
|
319
|
-
debounceMs?: number;
|
|
320
|
-
/** Placeholder text */
|
|
321
|
-
placeholder?: string;
|
|
322
|
-
/** Auto-resize textarea to fit content (multiline only) */
|
|
323
|
-
autoResize?: boolean;
|
|
324
|
-
/** Min height in pixels for auto-resize (default: 28, ~1 row) */
|
|
325
|
-
minHeight?: number;
|
|
326
|
-
/** Max height in pixels for auto-resize (default: 72, ~3 rows) */
|
|
327
|
-
maxHeight?: number;
|
|
328
|
-
}
|
|
329
|
-
declare function DebouncedInput({ value, onChange, disabled, type, multiline, className, debounceMs, placeholder, autoResize, minHeight, maxHeight, }: DebouncedInputProps): React.JSX.Element;
|
|
330
|
-
|
|
331
|
-
/**
|
|
332
|
-
* Where the overlays below this point (dialogs, menus, popovers, selects) portal to. Without it they
|
|
333
|
-
* portal to the page's `<body>`. A subtree rendered into another browser window (a panel popped out
|
|
334
|
-
* to a new window) must provide that window's root: an overlay portalled to the opener's body
|
|
335
|
-
* opens in the window behind, out of sight, and the button that opened it seems to do nothing.
|
|
336
|
-
*/
|
|
337
|
-
declare function PortalContainerProvider({ container, children, }: {
|
|
338
|
-
container: HTMLElement | null;
|
|
339
|
-
children: React.ReactNode;
|
|
340
|
-
}): React.JSX.Element;
|
|
341
|
-
/** The container overlays portal to: the nearest {@link PortalContainerProvider}'s, else none. */
|
|
342
|
-
declare function usePortalContainer(): HTMLElement | undefined;
|
|
343
|
-
|
|
344
|
-
declare const Avatar: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
345
|
-
declare const AvatarImage: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarImageProps & React.RefAttributes<HTMLImageElement>, "ref"> & React.RefAttributes<HTMLImageElement>>;
|
|
346
|
-
declare const AvatarFallback: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
347
|
-
|
|
348
|
-
declare const badgeVariants: (props?: ({
|
|
349
|
-
variant?: "default" | "outline" | "accent" | "secondary" | "destructive" | null | undefined;
|
|
350
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
351
|
-
interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
352
|
-
}
|
|
353
|
-
declare function Badge({ className, variant, ...props }: BadgeProps): React.JSX.Element;
|
|
354
|
-
|
|
355
|
-
declare const buttonVariants: (props?: ({
|
|
356
|
-
variant?: "link" | "default" | "outline" | "accent" | "secondary" | "destructive" | "ghost" | null | undefined;
|
|
357
|
-
size?: "default" | "icon" | "sm" | "lg" | null | undefined;
|
|
358
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
359
|
-
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
360
|
-
asChild?: boolean;
|
|
361
|
-
}
|
|
362
|
-
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
363
|
-
|
|
364
|
-
declare const HoverCard: React.FC<HoverCardPrimitive.HoverCardProps>;
|
|
365
|
-
declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardPrimitive.HoverCardTriggerProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
366
|
-
declare const HoverCardContent: React.ForwardRefExoticComponent<Omit<HoverCardPrimitive.HoverCardContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
367
|
-
|
|
368
|
-
/**
|
|
369
|
-
* Clean-ARBI design contract rule 3: borderless by default; shadows
|
|
370
|
-
* only when an element needs to read as elevated/floating.
|
|
371
|
-
*
|
|
372
|
-
* - `flat` (default): just a rounded surface, no border, no shadow.
|
|
373
|
-
* Separation comes from background + spacing.
|
|
374
|
-
* - `outline`: adds a single border for surfaces that need a visible
|
|
375
|
-
* edge (e.g. selectable list cards, embedded panels).
|
|
376
|
-
* - `elevated`: border + a subtle shadow for cards that should lift.
|
|
377
|
-
*
|
|
378
|
-
* `min-w-0` lets a card be a grid/flex item narrower than its content (a truncated row inside
|
|
379
|
-
* must not widen the track and push the page into horizontal scroll).
|
|
380
|
-
*
|
|
381
|
-
* Self-styled consumers that pass their own border/shadow classes keep
|
|
382
|
-
* working unchanged on the default `flat` base.
|
|
383
|
-
*/
|
|
384
|
-
declare const cardVariants: (props?: ({
|
|
385
|
-
variant?: "flat" | "outline" | "elevated" | null | undefined;
|
|
386
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
387
|
-
interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
|
|
388
|
-
}
|
|
389
|
-
declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
|
|
390
|
-
declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
391
|
-
declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
392
|
-
declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
393
|
-
declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
394
|
-
declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
395
|
-
|
|
396
|
-
interface InputProps extends React.ComponentProps<'input'> {
|
|
397
|
-
/** Adds a small dictate-instead-of-type button inside the field's right
|
|
398
|
-
* edge (visible only while focused, or mid-recording) that appends
|
|
399
|
-
* transcribed speech to the field's value. Uses the host configuration's `dictate`
|
|
400
|
-
* (the host's transcribe endpoint) — with none, this is
|
|
401
|
-
* a no-op (no button renders). Not meant for password/search/numeric/code
|
|
402
|
-
* fields — opt in per field, not on by default. */
|
|
403
|
-
dictate?: boolean;
|
|
404
|
-
}
|
|
405
|
-
declare const Input: React.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
406
|
-
|
|
407
|
-
interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
|
|
408
|
-
className?: string;
|
|
409
|
-
}
|
|
410
|
-
declare const Label: React.ForwardRefExoticComponent<LabelProps & React.RefAttributes<HTMLLabelElement>>;
|
|
411
|
-
|
|
412
|
-
declare const Separator: React.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
413
|
-
|
|
414
|
-
interface TextareaProps extends React.ComponentProps<'textarea'> {
|
|
415
|
-
/** Adds a small dictate-instead-of-type button inside the field's top-right
|
|
416
|
-
* corner (visible only while focused, or mid-recording) that appends
|
|
417
|
-
* transcribed speech to the field's value. Uses the host configuration's `dictate`
|
|
418
|
-
* (the host's transcribe endpoint) — with none, this is
|
|
419
|
-
* a no-op (no button renders). */
|
|
420
|
-
dictate?: boolean;
|
|
421
|
-
}
|
|
422
|
-
declare const Textarea: React.ForwardRefExoticComponent<Omit<TextareaProps, "ref"> & React.RefAttributes<HTMLTextAreaElement>>;
|
|
423
|
-
|
|
424
|
-
declare const Collapsible: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
|
|
425
|
-
declare const CollapsibleTrigger: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
426
|
-
declare const CollapsibleContent: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
427
|
-
|
|
428
|
-
declare const Progress: React.ForwardRefExoticComponent<Omit<ProgressPrimitive.ProgressProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
429
|
-
|
|
430
|
-
declare const ScrollArea: React.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
431
|
-
declare const ScrollBar: React.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaScrollbarProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
432
|
-
|
|
433
|
-
declare const RadioGroup: React.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
434
|
-
declare const RadioGroupItem: React.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
435
|
-
|
|
436
|
-
declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
437
|
-
|
|
438
|
-
declare const Switch: React.ForwardRefExoticComponent<Omit<SwitchPrimitives.SwitchProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
439
|
-
|
|
440
|
-
declare const Tabs: React.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>>;
|
|
441
|
-
declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
442
|
-
declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
443
|
-
declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
444
|
-
|
|
445
|
-
declare const Table: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
|
|
446
|
-
declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
447
|
-
declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
448
|
-
declare const TableFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
449
|
-
declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & React.RefAttributes<HTMLTableRowElement>>;
|
|
450
|
-
interface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {
|
|
451
|
-
className?: string;
|
|
452
|
-
}
|
|
453
|
-
declare const TableHead: React.ForwardRefExoticComponent<TableHeadProps & React.RefAttributes<HTMLTableCellElement>>;
|
|
454
|
-
interface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {
|
|
455
|
-
className?: string;
|
|
456
|
-
}
|
|
457
|
-
declare const TableCell: React.ForwardRefExoticComponent<TableCellProps & React.RefAttributes<HTMLTableCellElement>>;
|
|
458
|
-
declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
|
|
459
|
-
|
|
460
|
-
interface SliderProps extends React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root> {
|
|
461
|
-
rangeClassName?: string;
|
|
462
|
-
}
|
|
463
|
-
declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLSpanElement>>;
|
|
464
|
-
|
|
465
|
-
declare const toggleVariants: (props?: ({
|
|
466
|
-
variant?: "default" | "outline" | null | undefined;
|
|
467
|
-
size?: "default" | "sm" | "lg" | null | undefined;
|
|
468
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
469
|
-
declare const Toggle: React.ForwardRefExoticComponent<Omit<TogglePrimitive.ToggleProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
|
|
470
|
-
variant?: "default" | "outline" | null | undefined;
|
|
471
|
-
size?: "default" | "sm" | "lg" | null | undefined;
|
|
472
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLButtonElement>>;
|
|
473
|
-
|
|
474
|
-
declare const ToggleGroup: React.ForwardRefExoticComponent<((Omit<ToggleGroupPrimitive.ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>, "ref"> | Omit<ToggleGroupPrimitive.ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>, "ref">) & VariantProps<(props?: ({
|
|
475
|
-
variant?: "default" | "outline" | null | undefined;
|
|
476
|
-
size?: "default" | "sm" | "lg" | null | undefined;
|
|
477
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string>) & React.RefAttributes<HTMLDivElement>>;
|
|
478
|
-
declare const ToggleGroupItem: React.ForwardRefExoticComponent<Omit<ToggleGroupPrimitive.ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
|
|
479
|
-
variant?: "default" | "outline" | null | undefined;
|
|
480
|
-
size?: "default" | "sm" | "lg" | null | undefined;
|
|
481
|
-
} & class_variance_authority_types.ClassProp) | undefined) => string> & React.RefAttributes<HTMLButtonElement>>;
|
|
482
|
-
|
|
483
|
-
declare const Dialog: React.FC<DialogPrimitive.DialogProps>;
|
|
484
|
-
declare const DialogTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
485
|
-
/** Portals to the nearest PortalContainerProvider's container (a popped-out window), else `<body>`. */
|
|
486
|
-
declare function DialogPortal({ container, ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): React.JSX.Element;
|
|
487
|
-
declare const DialogClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
488
|
-
declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
489
|
-
/**
|
|
490
|
-
* Where the dialog sits on a PHONE (< 640px). Wider screens always get a centred dialog.
|
|
491
|
-
* - `center`: centred box with a 1rem margin (small prompts and confirmations).
|
|
492
|
-
* - `sheet`: bottom sheet, full width, rounded top corners (forms and pickers).
|
|
493
|
-
* - `full`: full-height sheet that stops below the status bar (large editors, wizards).
|
|
494
|
-
*/
|
|
495
|
-
type DialogPresentation = 'center' | 'sheet' | 'full' | 'right';
|
|
496
|
-
declare const DialogContent: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
497
|
-
hideCloseButton?: boolean;
|
|
498
|
-
/** Phone presentation (see {@link DialogPresentation}). Defaults to `center`. */
|
|
499
|
-
presentation?: DialogPresentation;
|
|
500
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
501
|
-
declare const DialogHeader: {
|
|
502
|
-
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
|
|
503
|
-
displayName: string;
|
|
504
|
-
};
|
|
505
|
-
declare const DialogFooter: {
|
|
506
|
-
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
|
|
507
|
-
displayName: string;
|
|
508
|
-
};
|
|
509
|
-
declare const DialogTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
510
|
-
declare const DialogDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
511
|
-
|
|
512
|
-
declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
|
|
513
|
-
declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
514
|
-
declare const PopoverAnchor: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React.RefAttributes<HTMLDivElement>>;
|
|
515
|
-
declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
516
|
-
container?: HTMLElement | null;
|
|
517
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
518
|
-
/** Closes the popover it is in (wrap an action that should close it with `asChild`). */
|
|
519
|
-
declare const PopoverClose: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
520
|
-
|
|
521
|
-
/** One row of a mark's menu. Give it `onSelect`, or an `href` for a real link row. */
|
|
522
|
-
interface MarkMenuItem {
|
|
523
|
-
id: string;
|
|
524
|
-
label: string;
|
|
525
|
-
/** Runs when the row is chosen; the menu closes afterwards. */
|
|
526
|
-
onSelect?: () => void;
|
|
527
|
-
/** Renders the row as a link (no `onSelect` needed). */
|
|
528
|
-
href?: string;
|
|
529
|
-
/** The headline action: listed first, set a little larger, and run by a plain mouse click. */
|
|
530
|
-
primary?: boolean;
|
|
531
|
-
destructive?: boolean;
|
|
532
|
-
testId?: string;
|
|
533
|
-
}
|
|
534
|
-
interface MarkMenuProps extends Omit<HTMLAttributes<HTMLElement>, 'children' | 'onClick'> {
|
|
535
|
-
/** The element the mark itself is: a real link or an inline span. */
|
|
536
|
-
as?: 'a' | 'span';
|
|
537
|
-
href?: string;
|
|
538
|
-
/** Rows of the menu. The `primary` one (else the first) is the mark's default action. */
|
|
539
|
-
items: MarkMenuItem[];
|
|
540
|
-
/** Optional read-only content above the rows (a quoted passage, a note, a label name). */
|
|
541
|
-
preview?: ReactNode;
|
|
542
|
-
/** Accessible name of the menu. */
|
|
543
|
-
menuLabel: string;
|
|
544
|
-
/** A plain mouse click runs the primary row (default). Touch and keyboard always open the menu. */
|
|
545
|
-
shouldClickRunPrimary?: boolean;
|
|
546
|
-
/** Hover delay before the menu opens (ms). */
|
|
547
|
-
openDelay?: number;
|
|
548
|
-
closeDelay?: number;
|
|
549
|
-
testId?: string;
|
|
550
|
-
menuTestId?: string;
|
|
551
|
-
/** The mark element, for hosts that move focus back to it. */
|
|
552
|
-
triggerRef?: Ref<HTMLElement>;
|
|
553
|
-
children: ReactNode;
|
|
554
|
-
}
|
|
555
|
-
/**
|
|
556
|
-
* The ONE contextual menu of every inline mark (link, bookmark, citation, label, note).
|
|
557
|
-
*
|
|
558
|
-
* The mark stays quiet text. A compact popover opens on hover (short delay) and on keyboard focus;
|
|
559
|
-
* on touch a tap opens it instead of acting, so the primary row is one deliberate tap away. A
|
|
560
|
-
* plain mouse click runs the primary action, so existing click behaviour is unchanged.
|
|
561
|
-
* Keyboard: Enter/Space/ArrowDown open it and move into it, arrows move, Escape closes and
|
|
562
|
-
* returns focus to the mark. Rows are 44px high on coarse pointers.
|
|
563
|
-
*/
|
|
564
|
-
declare function MarkMenu({ as, href, items, preview, menuLabel, shouldClickRunPrimary, openDelay, closeDelay, testId, menuTestId, triggerRef: externalRef, className, children, onPointerDown, onPointerEnter, onPointerMove, onPointerLeave, onFocus, onBlur, onKeyDown, ...rest }: MarkMenuProps): React.JSX.Element;
|
|
565
|
-
|
|
566
|
-
declare const DropdownMenu: React.FC<DropdownMenuPrimitive.DropdownMenuProps>;
|
|
567
|
-
declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
568
|
-
declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
569
|
-
/** Portals to the nearest PortalContainerProvider's container (a popped-out window), else `<body>`. */
|
|
570
|
-
declare function DropdownMenuPortal({ container, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): React.JSX.Element;
|
|
571
|
-
declare const DropdownMenuSub: React.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
|
|
572
|
-
declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
573
|
-
declare const DropdownMenuSubTrigger: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
574
|
-
inset?: boolean;
|
|
575
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
576
|
-
declare const DropdownMenuSubContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
577
|
-
declare const DropdownMenuContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
578
|
-
declare const DropdownMenuItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
579
|
-
inset?: boolean;
|
|
580
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
581
|
-
declare const DropdownMenuCheckboxItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
582
|
-
declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
583
|
-
declare const DropdownMenuLabel: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
584
|
-
inset?: boolean;
|
|
585
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
586
|
-
declare const DropdownMenuSeparator: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
587
|
-
declare const DropdownMenuShortcut: {
|
|
588
|
-
({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
|
|
589
|
-
displayName: string;
|
|
590
|
-
};
|
|
591
|
-
|
|
592
|
-
declare const Select: React.FC<SelectPrimitive.SelectProps>;
|
|
593
|
-
declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
594
|
-
declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
|
|
595
|
-
declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
596
|
-
declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
597
|
-
declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
598
|
-
declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
599
|
-
declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
600
|
-
declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
601
|
-
declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
602
|
-
|
|
603
|
-
declare const Command: React.ForwardRefExoticComponent<Omit<{
|
|
604
|
-
children?: React.ReactNode;
|
|
605
|
-
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
606
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
607
|
-
} & {
|
|
608
|
-
asChild?: boolean;
|
|
609
|
-
}, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
610
|
-
label?: string;
|
|
611
|
-
shouldFilter?: boolean;
|
|
612
|
-
filter?: (value: string, search: string, keywords?: string[]) => number;
|
|
613
|
-
defaultValue?: string;
|
|
614
|
-
value?: string;
|
|
615
|
-
onValueChange?: (value: string) => void;
|
|
616
|
-
loop?: boolean;
|
|
617
|
-
disablePointerSelection?: boolean;
|
|
618
|
-
vimBindings?: boolean;
|
|
619
|
-
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
620
|
-
declare const CommandDialog: ({ children, ...props }: DialogProps) => React.JSX.Element;
|
|
621
|
-
declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
|
|
622
|
-
ref?: React.Ref<HTMLInputElement>;
|
|
623
|
-
} & {
|
|
624
|
-
asChild?: boolean;
|
|
625
|
-
}, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "value" | "type" | "onChange"> & {
|
|
626
|
-
value?: string;
|
|
627
|
-
onValueChange?: (search: string) => void;
|
|
628
|
-
} & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
629
|
-
declare const CommandList: React.ForwardRefExoticComponent<Omit<{
|
|
630
|
-
children?: React.ReactNode;
|
|
631
|
-
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
632
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
633
|
-
} & {
|
|
634
|
-
asChild?: boolean;
|
|
635
|
-
}, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
636
|
-
label?: string;
|
|
637
|
-
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
638
|
-
declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
|
|
639
|
-
children?: React.ReactNode;
|
|
640
|
-
} & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
641
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
642
|
-
} & {
|
|
643
|
-
asChild?: boolean;
|
|
644
|
-
}, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
645
|
-
declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
|
|
646
|
-
children?: React.ReactNode;
|
|
647
|
-
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
648
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
649
|
-
} & {
|
|
650
|
-
asChild?: boolean;
|
|
651
|
-
}, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "heading"> & {
|
|
652
|
-
heading?: React.ReactNode;
|
|
653
|
-
value?: string;
|
|
654
|
-
forceMount?: boolean;
|
|
655
|
-
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
656
|
-
declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
657
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
658
|
-
} & {
|
|
659
|
-
asChild?: boolean;
|
|
660
|
-
}, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
661
|
-
alwaysRender?: boolean;
|
|
662
|
-
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
663
|
-
declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
|
|
664
|
-
children?: React.ReactNode;
|
|
665
|
-
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
666
|
-
ref?: React.Ref<HTMLDivElement>;
|
|
667
|
-
} & {
|
|
668
|
-
asChild?: boolean;
|
|
669
|
-
}, "key" | "asChild" | keyof React.HTMLAttributes<HTMLDivElement>>, "value" | "onSelect" | "disabled"> & {
|
|
670
|
-
disabled?: boolean;
|
|
671
|
-
onSelect?: (value: string) => void;
|
|
672
|
-
value?: string;
|
|
673
|
-
keywords?: string[];
|
|
674
|
-
forceMount?: boolean;
|
|
675
|
-
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
676
|
-
declare const CommandShortcut: {
|
|
677
|
-
({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
|
|
678
|
-
displayName: string;
|
|
679
|
-
};
|
|
680
|
-
|
|
681
|
-
/** remark/rehype plugin lists, as react-markdown takes them. */
|
|
682
|
-
type PluggableList = NonNullable<Options['rehypePlugins']>;
|
|
683
|
-
/**
|
|
684
|
-
* Links. Internal hash/anchor links stay in-page; everything else opens safely in a new tab
|
|
685
|
-
* (`rel="noopener noreferrer"` prevents reverse-tabnabbing). A backend citation marker
|
|
686
|
-
* (`#cite-N`) has no popover here: the cited words stay in the surface's own colour with a quiet
|
|
687
|
-
* superscript number after them (no underline, so a cited sentence does not read as a link).
|
|
688
|
-
* Pass `renderCitation` to `MarkdownRenderer` to swap in a real source popover.
|
|
689
|
-
*/
|
|
690
|
-
declare function MarkdownLink({ href, children, ...props }: React__default.ComponentPropsWithoutRef<'a'>): React__default.JSX.Element;
|
|
691
|
-
/**
|
|
692
|
-
* Inline code, and fenced code as a `CodeBlock` (language label + copy). Exported so a host's own
|
|
693
|
-
* `code` override can handle its special cases (a diagram language, an id shown as a pill) and
|
|
694
|
-
* hand everything else back here.
|
|
695
|
-
*/
|
|
696
|
-
declare function MarkdownCode({ className, children, ...props }: React__default.ComponentPropsWithoutRef<'code'>): React__default.JSX.Element;
|
|
697
|
-
/**
|
|
698
|
-
* What survives sanitising inline HTML: GitHub's schema, plus the classes the downstream steps and
|
|
699
|
-
* renderers read (KaTeX's `math-*` placeholders, `language-*` on code), `<mark>` for search
|
|
700
|
-
* highlights, and `data-cid` on `<ins>`/`<del>` (the redline's per-change id, minted from diff
|
|
701
|
-
* positions, never from content). Scripts, event handlers, inline styles and `javascript:` URLs
|
|
702
|
-
* stay out.
|
|
703
|
-
*/
|
|
704
|
-
declare const markdownSanitizeSchema: Options$1;
|
|
705
|
-
interface MarkdownRendererProps {
|
|
706
|
-
/** Markdown content to render. */
|
|
707
|
-
children: string;
|
|
708
|
-
/** Custom component overrides merged on top of the defaults. */
|
|
709
|
-
components?: Partial<Components>;
|
|
710
|
-
/**
|
|
711
|
-
* When true, signals heavy custom components (via `MarkdownStreamingContext`)
|
|
712
|
-
* to defer their work while tokens are still arriving. Defaults to false.
|
|
713
|
-
*/
|
|
714
|
-
isStreaming?: boolean;
|
|
715
|
-
/**
|
|
716
|
-
* Renders a citation marker `[words](#cite-N)`: `children` are the cited words, `num` the N.
|
|
717
|
-
* Keep it referentially stable (`useCallback`/`useMemo`), or every block re-parses.
|
|
718
|
-
*/
|
|
719
|
-
renderCitation?: (citation: {
|
|
720
|
-
num: string;
|
|
721
|
-
children: React__default.ReactNode;
|
|
722
|
-
}) => React__default.ReactNode;
|
|
723
|
-
/** Extra classes on the wrapper (font-size, prose width, etc.). */
|
|
724
|
-
className?: string;
|
|
725
|
-
/** Overrides the `data-testid` on the wrapper (default `markdown-renderer`). */
|
|
726
|
-
testId?: string;
|
|
727
|
-
/**
|
|
728
|
-
* Inline HTML in the markdown becomes elements, sanitised (default). False keeps it as text: for
|
|
729
|
-
* content from outside the app, such as a comment in a Word file anyone could have written.
|
|
730
|
-
*/
|
|
731
|
-
allowHtml?: boolean;
|
|
732
|
-
/**
|
|
733
|
-
* Trusted rehype plugins run after sanitising, KaTeX and heading slugs (e.g. a pass that turns
|
|
734
|
-
* entity ids into elements the host's `components` render). Keep the array referentially
|
|
735
|
-
* stable (module scope), or every block re-parses.
|
|
736
|
-
*/
|
|
737
|
-
rehypePlugins?: PluggableList;
|
|
738
|
-
}
|
|
739
|
-
declare function MarkdownRendererComponent({ children, components: customComponents, renderCitation, isStreaming, className, testId, allowHtml, rehypePlugins: extraRehypePlugins, }: MarkdownRendererProps): React__default.JSX.Element;
|
|
740
|
-
/**
|
|
741
|
-
* Memoised so a stable message in a long thread doesn't re-parse when unrelated
|
|
742
|
-
* tokens arrive elsewhere; a streaming message gets a fresh `children` each flush
|
|
743
|
-
* and re-renders (only its trailing block re-parses, thanks to `MemoizedBlock`).
|
|
744
|
-
*/
|
|
745
|
-
declare const MarkdownRenderer: React__default.MemoExoticComponent<typeof MarkdownRendererComponent>;
|
|
746
|
-
|
|
747
|
-
/**
|
|
748
|
-
* Signals to `MarkdownRenderer`'s component overrides that the surrounding
|
|
749
|
-
* message is still streaming tokens. Heavy renderers can defer their work while
|
|
750
|
-
* this is true to avoid burning CPU on partially complete fences and to keep the
|
|
751
|
-
* UI responsive during long generations.
|
|
752
|
-
*
|
|
753
|
-
* Default `false` means non-streaming usages (parsed documents, static answers,
|
|
754
|
-
* DM bubbles) get the full rendering with no behaviour change.
|
|
755
|
-
*/
|
|
756
|
-
declare const MarkdownStreamingContext: React.Context<boolean>;
|
|
757
|
-
|
|
758
|
-
declare function splitMarkdownBlocks(content: string): string[];
|
|
759
|
-
|
|
760
|
-
/**
|
|
761
|
-
* Citation markup normaliser.
|
|
762
|
-
*
|
|
763
|
-
* The backend marks a cited statement as a markdown link, `[statement](#cite-N)`, and the
|
|
764
|
-
* statement can include the markdown that surrounds it: a list marker, a heading marker or the
|
|
765
|
-
* opener of a bold/italic span whose closer sits after the link. Inside link text those tokens
|
|
766
|
-
* are not parsed as block or inline syntax, so they show literally and break lists and bold:
|
|
767
|
-
*
|
|
768
|
-
* [- **Claimed quantum (by Claimant)](#cite-1):** **USD 47 million**
|
|
769
|
-
*
|
|
770
|
-
* `normalizeCitationMarkup` hoists the leading tokens out of the link text (and a trailing
|
|
771
|
-
* emphasis closer after it), so the link only wraps the words:
|
|
772
|
-
*
|
|
773
|
-
* - **[Claimed quantum (by Claimant)](#cite-1):** **USD 47 million**
|
|
774
|
-
*
|
|
775
|
-
* It is conservative: emphasis that opens and closes inside the link text is valid markdown and
|
|
776
|
-
* is left alone, an opener is only hoisted when its closer follows on the same line, and fenced
|
|
777
|
-
* code blocks are never touched. The result is idempotent.
|
|
778
|
-
*
|
|
779
|
-
* It also tidies the residue the model leaves when it cites in prose as well: a literal
|
|
780
|
-
* `(*Source: Award.pdf, p. 12*)` shows its asterisks, because `(*` does not open emphasis. It
|
|
781
|
-
* becomes the italic note `*(Source: Award.pdf, p. 12)*`.
|
|
782
|
-
*/
|
|
783
|
-
declare function normalizeCitationMarkup(markdown: string): string;
|
|
784
|
-
/**
|
|
785
|
-
* Drops an unfinished citation marker from the end of text that is still streaming (or was
|
|
786
|
-
* stopped mid-marker), so `[Change of control](#cite-` never shows as raw markup: the words appear
|
|
787
|
-
* once the marker is complete. Complete markers and everything else are left alone.
|
|
788
|
-
*/
|
|
789
|
-
declare function trimOpenCitation(markdown: string): string;
|
|
790
|
-
/**
|
|
791
|
-
* Makes the tail of text that is still streaming (or was stopped) render cleanly: a `**` opened
|
|
792
|
-
* in the last line and not yet closed (`| Valuation | **[USD 6.2 million](#cite-2)`) would show as
|
|
793
|
-
* literal asterisks until its closer arrives, because an unclosed emphasis is not emphasis. The
|
|
794
|
-
* open bold is closed at the end of the line, or removed when it has no text yet (`| **`, or a
|
|
795
|
-
* half-typed closer `**USD 6*`). Text with balanced emphasis, and every line but the last, is
|
|
796
|
-
* left alone. Apply after `trimOpenCitation`.
|
|
797
|
-
*/
|
|
798
|
-
declare function closeOpenEmphasis(markdown: string): string;
|
|
799
|
-
|
|
800
|
-
declare function AiMarkdown({ children, className, isStreaming, allowHtml, }: {
|
|
801
|
-
children: string;
|
|
802
|
-
className?: string;
|
|
803
|
-
isStreaming?: boolean;
|
|
804
|
-
/** See {@link MarkdownRenderer}: false keeps inline HTML as text. */
|
|
805
|
-
allowHtml?: boolean;
|
|
806
|
-
}): React.JSX.Element;
|
|
807
|
-
|
|
808
|
-
/**
|
|
809
|
-
* Brand-neutral presentational component overrides for react-markdown, shared by
|
|
810
|
-
* every markdown surface in the workspace (the monolith's `MarkdownRenderer` and
|
|
811
|
-
* the AI kit's `AiMarkdown`). One house style for headings, lists, tables and the
|
|
812
|
-
* inline text elements — token-based, so it themes per app.
|
|
813
|
-
*
|
|
814
|
-
* Deliberately excluded (kept per-consumer): `a` (external-link confirm vs
|
|
815
|
-
* plain), `code`/`pre` (rich CodeBlock + Mermaid vs inline), `span` (doc-entity
|
|
816
|
-
* pills), and `del`/`ins`/`mark` (general emphasis vs redline tracked-changes) —
|
|
817
|
-
* these differ by intent or carry heavy/coupled behaviour, so each renderer owns
|
|
818
|
-
* them and spreads this base underneath.
|
|
819
|
-
*/
|
|
820
|
-
declare const markdownBaseComponents: Partial<Components>;
|
|
821
|
-
|
|
822
|
-
/**
|
|
823
|
-
* PassageCard — the card ("bubble") a single retrieved passage is rendered as.
|
|
824
|
-
*
|
|
825
|
-
* One presentation shared by every surface that lists retrieval hits: the
|
|
826
|
-
* blocks search page (`SearchHit`) and the conversation search. Those had drifted into two different looks for the same object; this
|
|
827
|
-
* is the single one.
|
|
828
|
-
*
|
|
829
|
-
* The card owns the chrome only — the rounded border, the AI-accent hover /
|
|
830
|
-
* focus / selected states, the header row and the relevance dot. What goes in
|
|
831
|
-
* the header and how the snippet itself is rendered stays with the caller,
|
|
832
|
-
* because those genuinely differ: the block shows a plain-text excerpt in a
|
|
833
|
-
* narrow sidebar, the monolith renders markdown with a show-more toggle.
|
|
834
|
-
*
|
|
835
|
-
* Theming is semantic tokens only (shadcn + the AI-accent contract).
|
|
836
|
-
*/
|
|
837
|
-
|
|
838
|
-
interface PassageCardProps {
|
|
839
|
-
/** Left of the header row — the source affordance (document pill, page label). */
|
|
840
|
-
header: React__default.ReactNode;
|
|
841
|
-
/** Relevance score for the dot. Omit to hide it. */
|
|
842
|
-
score?: number | null;
|
|
843
|
-
/** Extra affordance pinned right of the dot (e.g. a hover-revealed open icon). */
|
|
844
|
-
headerRight?: React__default.ReactNode;
|
|
845
|
-
/** Marks the card as the currently open passage. */
|
|
846
|
-
active?: boolean;
|
|
847
|
-
onClick?: (e: React__default.MouseEvent) => void;
|
|
848
|
-
/** Rendered under the snippet, outside the click target's typography. */
|
|
849
|
-
footer?: React__default.ReactNode;
|
|
850
|
-
className?: string;
|
|
851
|
-
children: React__default.ReactNode;
|
|
852
|
-
'data-testid'?: string;
|
|
853
|
-
}
|
|
854
|
-
declare function PassageCard({ header, score, headerRight, active, onClick, footer, className, children, 'data-testid': testId, }: PassageCardProps): React__default.JSX.Element;
|
|
855
|
-
|
|
856
|
-
/**
|
|
857
|
-
* Maps a file name (by extension) to the matching branded file-type icon
|
|
858
|
-
* component. Single source of truth so the document grid, navigator, and the
|
|
859
|
-
* file-explorer view all show identical icons.
|
|
860
|
-
*
|
|
861
|
-
* The icon components share a `{ size?, className? }` signature, so callers can
|
|
862
|
-
* render the returned component at any size.
|
|
863
|
-
*/
|
|
864
|
-
|
|
865
|
-
type FileTypeIcon = ComponentType<{
|
|
866
|
-
size?: number;
|
|
867
|
-
className?: string;
|
|
868
|
-
}>;
|
|
869
|
-
/** Lower-cased extension (without the dot), or '' when there is none. */
|
|
870
|
-
declare function getFileExtension(fileName?: string | null): string;
|
|
871
|
-
/**
|
|
872
|
-
* Best-effort file extension (no dot) for a MIME type, or '' when unknown.
|
|
873
|
-
* Used to surface the real extension for documents stored with a display title
|
|
874
|
-
* that has none.
|
|
875
|
-
*/
|
|
876
|
-
declare function extensionFromMime(mime?: string | null): string;
|
|
877
|
-
/**
|
|
878
|
-
* Returns the icon component for a document.
|
|
879
|
-
*
|
|
880
|
-
* Resolution order: file-name extension → MIME `file_type` → fallback. This
|
|
881
|
-
* mirrors how documents are stored — many carry a display title without an
|
|
882
|
-
* extension, so the MIME type is the reliable signal.
|
|
883
|
-
*
|
|
884
|
-
* @param fileName the document file name (uses its extension)
|
|
885
|
-
* @param opts.mime the document `file_type` (MIME), used when the name has no
|
|
886
|
-
* recognised extension
|
|
887
|
-
* @param opts.defaultToPdf when true, an unresolved type falls back to the PDF
|
|
888
|
-
* icon (preserves legacy grid/navigator behaviour). Defaults to the neutral
|
|
889
|
-
* generic file icon.
|
|
890
|
-
*/
|
|
891
|
-
declare function getFileTypeIcon(fileName?: string | null, opts?: {
|
|
892
|
-
mime?: string | null;
|
|
893
|
-
defaultToPdf?: boolean;
|
|
894
|
-
}): FileTypeIcon;
|
|
895
|
-
|
|
896
|
-
/** Pick the best brand mark for a model. We prefer the *product* logo
|
|
897
|
-
* (ChatGPT swirl, Gemini sparkle, Claude burst) when the model_name
|
|
898
|
-
* signals a known product line, falling back to the LiteLLM provider
|
|
899
|
-
* string for everything else. Returns Crown as the universal fallback so
|
|
900
|
-
* Premium-tier rows always render an icon. */
|
|
901
|
-
declare function ProviderIcon({ modelName, provider, size, className, }: {
|
|
902
|
-
modelName?: string;
|
|
903
|
-
provider?: string | null;
|
|
904
|
-
size?: number;
|
|
905
|
-
className?: string;
|
|
906
|
-
}): React.JSX.Element;
|
|
907
|
-
|
|
908
|
-
/**
|
|
909
|
-
* ARBI Icon Component. Promoted from the ARBI app for SDK reuse.
|
|
910
|
-
* The ARBI mark, bundled (no host asset needed).
|
|
911
|
-
*/
|
|
912
|
-
|
|
913
|
-
interface ArbiIconProps {
|
|
914
|
-
size?: number;
|
|
915
|
-
className?: string;
|
|
916
|
-
'aria-label'?: string;
|
|
917
|
-
'aria-hidden'?: boolean;
|
|
918
|
-
}
|
|
919
|
-
declare const ArbiIcon: React__default.FC<ArbiIconProps>;
|
|
920
|
-
|
|
921
|
-
/**
|
|
922
|
-
* The ARBI mark (the same artwork as ARBI-frontend's `/favicon.svg`) as a data URI, so the kits
|
|
923
|
-
* that show ARBI's own identity (the ARBI provider of the standard models, the assistant's avatar)
|
|
924
|
-
* render it in any host, whatever that host serves at `/favicon.svg`.
|
|
925
|
-
*/
|
|
926
|
-
declare const ARBI_MARK_SRC = "data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%22500%22%20zoomAndPan=%22magnify%22%20viewBox=%220%200%20375%20374.999991%22%20height=%22500%22%20preserveAspectRatio=%22xMidYMid%20meet%22%20version=%221.0%22%3E%3Cdefs%3E%3Cg/%3E%3CclipPath%20id=%22413a615d81%22%3E%3Cpath%20d=%22M%20187.5%200%20C%2083.945312%200%200%2083.945312%200%20187.5%20C%200%20291.054688%2083.945312%20375%20187.5%20375%20C%20291.054688%20375%20375%20291.054688%20375%20187.5%20C%20375%2083.945312%20291.054688%200%20187.5%200%20Z%20M%20187.5%200%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%22b4114fb668%22%3E%3Cpath%20d=%22M%200%200%20L%20375%200%20L%20375%20375%20L%200%20375%20Z%20M%200%200%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%2202d2f74560%22%3E%3Cpath%20d=%22M%20187.5%200%20C%2083.945312%200%200%2083.945312%200%20187.5%20C%200%20291.054688%2083.945312%20375%20187.5%20375%20C%20291.054688%20375%20375%20291.054688%20375%20187.5%20C%20375%2083.945312%20291.054688%200%20187.5%200%20Z%20M%20187.5%200%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%2266f7fee432%22%3E%3Crect%20x=%220%22%20width=%22375%22%20y=%220%22%20height=%22375%22/%3E%3C/clipPath%3E%3CclipPath%20id=%2244a7358375%22%3E%3Cpath%20d=%22M%2066.527344%2066.527344%20L%20308.472656%2066.527344%20L%20308.472656%20308.472656%20L%2066.527344%20308.472656%20Z%20M%2066.527344%2066.527344%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%2206d1da3b78%22%3E%3Cpath%20d=%22M%20187.5%2066.527344%20C%20120.6875%2066.527344%2066.527344%20120.6875%2066.527344%20187.5%20C%2066.527344%20254.3125%20120.6875%20308.472656%20187.5%20308.472656%20C%20254.3125%20308.472656%20308.472656%20254.3125%20308.472656%20187.5%20C%20308.472656%20120.6875%20254.3125%2066.527344%20187.5%2066.527344%20Z%20M%20187.5%2066.527344%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%225f19be2713%22%3E%3Cpath%20d=%22M%200.527344%200.527344%20L%20242.472656%200.527344%20L%20242.472656%20242.472656%20L%200.527344%20242.472656%20Z%20M%200.527344%200.527344%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%22fde3ba0cc4%22%3E%3Cpath%20d=%22M%20121.5%200.527344%20C%2054.6875%200.527344%200.527344%2054.6875%200.527344%20121.5%20C%200.527344%20188.3125%2054.6875%20242.472656%20121.5%20242.472656%20C%20188.3125%20242.472656%20242.472656%20188.3125%20242.472656%20121.5%20C%20242.472656%2054.6875%20188.3125%200.527344%20121.5%200.527344%20Z%20M%20121.5%200.527344%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%2267bf874d33%22%3E%3Crect%20x=%220%22%20width=%22243%22%20y=%220%22%20height=%22243%22/%3E%3C/clipPath%3E%3CclipPath%20id=%2205f2bd6677%22%3E%3Cpath%20d=%22M%200%2098.171875%20L%20375%2098.171875%20L%20375%20375%20L%200%20375%20Z%20M%200%2098.171875%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%22a5274c9106%22%3E%3Cpath%20d=%22M%20187.5%2098.171875%20L%20404.023438%20508.144531%20L%20-29.023438%20508.144531%20Z%20M%20187.5%2098.171875%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%220f4217ffe3%22%3E%3Cpath%20d=%22M%200%200.171875%20L%20375%200.171875%20L%20375%20277%20L%200%20277%20Z%20M%200%200.171875%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%22ca1f5799a3%22%3E%3Cpath%20d=%22M%20187.5%200.171875%20L%20404.023438%20410.144531%20L%20-29.023438%20410.144531%20Z%20M%20187.5%200.171875%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%228bb016993a%22%3E%3Crect%20x=%220%22%20width=%22375%22%20y=%220%22%20height=%22277%22/%3E%3C/clipPath%3E%3CclipPath%20id=%2276af0040d9%22%3E%3Cpath%20d=%22M%200%20195.949219%20L%20375%20195.949219%20L%20375%20375%20L%200%20375%20Z%20M%200%20195.949219%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%221062f89594%22%3E%3Cpath%20d=%22M%200%200.949219%20L%20375%200.949219%20L%20375%20180%20L%200%20180%20Z%20M%200%200.949219%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%2217bc809498%22%3E%3Crect%20x=%220%22%20width=%22375%22%20y=%220%22%20height=%22180%22/%3E%3C/clipPath%3E%3CclipPath%20id=%22ad524f887e%22%3E%3Cpath%20d=%22M%202%2094%20L%20293%2094%20L%20293%20342%20L%202%20342%20Z%20M%202%2094%20%22%20clip-rule=%22nonzero%22/%3E%3C/clipPath%3E%3CclipPath%20id=%22ac73806eb1%22%3E%3Crect%20x=%220%22%20width=%22294%22%20y=%220%22%20height=%22342%22/%3E%3C/clipPath%3E%3C/defs%3E%3Crect%20x=%22-37.5%22%20width=%22450%22%20fill=%22%23ffffff%22%20y=%22-37.499999%22%20height=%22449.999989%22%20fill-opacity=%221%22/%3E%3Crect%20x=%22-37.5%22%20width=%22450%22%20fill=%22%23ffffff%22%20y=%22-37.499999%22%20height=%22449.999989%22%20fill-opacity=%221%22/%3E%3Cg%20clip-path=%22url(%23413a615d81)%22%3E%3Cg%20transform=%22matrix(1,%200,%200,%201,%200,%200)%22%3E%3Cg%20clip-path=%22url(%2366f7fee432)%22%3E%3Cg%20clip-path=%22url(%23b4114fb668)%22%3E%3Cg%20clip-path=%22url(%2302d2f74560)%22%3E%3Crect%20x=%22-82.5%22%20width=%22540%22%20fill=%22%2301adef%22%20height=%22539.999987%22%20y=%22-82.499998%22%20fill-opacity=%221%22/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20clip-path=%22url(%2344a7358375)%22%3E%3Cg%20clip-path=%22url(%2306d1da3b78)%22%3E%3Cg%20transform=%22matrix(1,%200,%200,%201,%2066,%2066)%22%3E%3Cg%20clip-path=%22url(%2367bf874d33)%22%3E%3Cg%20clip-path=%22url(%235f19be2713)%22%3E%3Cg%20clip-path=%22url(%23fde3ba0cc4)%22%3E%3Cpath%20fill=%22%23ffffff%22%20d=%22M%200.527344%200.527344%20L%20242.472656%200.527344%20L%20242.472656%20242.472656%20L%200.527344%20242.472656%20Z%20M%200.527344%200.527344%20%22%20fill-opacity=%221%22%20fill-rule=%22nonzero%22/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20clip-path=%22url(%2305f2bd6677)%22%3E%3Cg%20clip-path=%22url(%23a5274c9106)%22%3E%3Cg%20transform=%22matrix(1,%200,%200,%201,%200,%2098)%22%3E%3Cg%20clip-path=%22url(%238bb016993a)%22%3E%3Cg%20clip-path=%22url(%230f4217ffe3)%22%3E%3Cg%20clip-path=%22url(%23ca1f5799a3)%22%3E%3Cpath%20fill=%22%23ffffff%22%20d=%22M%20-29.023438%200.171875%20L%20403.371094%200.171875%20L%20403.371094%20410.144531%20L%20-29.023438%20410.144531%20Z%20M%20-29.023438%200.171875%20%22%20fill-opacity=%221%22%20fill-rule=%22nonzero%22/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20clip-path=%22url(%2376af0040d9)%22%3E%3Cg%20transform=%22matrix(1,%200,%200,%201,%200,%20195)%22%3E%3Cg%20clip-path=%22url(%2317bc809498)%22%3E%3Cg%20clip-path=%22url(%231062f89594)%22%3E%3Cpath%20fill=%22%23ffffff%22%20d=%22M%20-62.902344%200.949219%20L%20438.316406%200.949219%20L%20438.316406%20313.144531%20L%20-62.902344%20313.144531%20Z%20M%20-62.902344%200.949219%20%22%20fill-opacity=%221%22%20fill-rule=%22nonzero%22/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22matrix(1,%200,%200,%201,%2040,%2033)%22%3E%3Cg%20clip-path=%22url(%23ac73806eb1)%22%3E%3Cg%20clip-path=%22url(%23ad524f887e)%22%3E%3Cg%20fill=%22%23202b61%22%20fill-opacity=%221%22%3E%3Cg%20transform=%22translate(7.369923,%20344.002374)%22%3E%3Cg%3E%3Cpath%20d=%22M%20192.15625%20-48.484375%20L%2086.640625%20-48.484375%20L%2067.03125%200%20L%20-4.984375%200%20L%20105.171875%20-249.5625%20L%20174.6875%20-249.5625%20L%20285.21875%200%20L%20211.765625%200%20Z%20M%20171.484375%20-100.53125%20L%20139.390625%20-180.390625%20L%20107.3125%20-100.53125%20Z%20M%20171.484375%20-100.53125%20%22/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cpath%20stroke-linecap=%22butt%22%20transform=%22matrix(0.75,%200,%200,%200.75,%200.0000045,%20209.710181)%22%20fill=%22none%22%20stroke-linejoin=%22miter%22%20d=%22M%20-0.000006%2010.001009%20L%2088.703125%2010.001009%20%22%20stroke=%22%23202b61%22%20stroke-width=%2220%22%20stroke-opacity=%221%22%20stroke-miterlimit=%224%22/%3E%3Cpath%20stroke-linecap=%22butt%22%20transform=%22matrix(0.75,%200,%200,%200.75,%20308.473813,%20209.710181)%22%20fill=%22none%22%20stroke-linejoin=%22miter%22%20d=%22M%20-0.00154239%2010.001009%20L%2088.701588%2010.001009%20%22%20stroke=%22%23202b61%22%20stroke-width=%2220%22%20stroke-opacity=%221%22%20stroke-miterlimit=%224%22/%3E%3C/svg%3E";
|
|
927
|
-
|
|
928
|
-
/** Thread visibility uses both shape and color across entity labels and grids. */
|
|
929
|
-
declare function ThreadVisibilityIcon({ shared, className, ...props }: LucideProps & {
|
|
930
|
-
shared: boolean;
|
|
931
|
-
}): React.JSX.Element;
|
|
932
|
-
|
|
933
|
-
/**
|
|
934
|
-
* EntityPill Component
|
|
935
|
-
*
|
|
936
|
-
* Base component for pill-style entity displays. Provides consistent styling and
|
|
937
|
-
* interaction patterns. At rest it is plain icon + text (no fill, no border); the
|
|
938
|
-
* fill appears on hover, so a row of entities does not read as a row of buttons. Promoted verbatim from the ARBI app (import paths only
|
|
939
|
-
* changed to resolve within the SDK).
|
|
940
|
-
*
|
|
941
|
-
* Pattern: [Icon] [Label] [Optional: secondary text] [MoreVertical when interactive]
|
|
942
|
-
*/
|
|
943
|
-
|
|
944
|
-
/**
|
|
945
|
-
* The one size scale of the entity pills and avatars (`UserEntity`, `TagEntity`, `EntityPill`,
|
|
946
|
-
* `DocumentEntity`, the call tiles...). Each takes the steps it draws: the pill itself has two,
|
|
947
|
-
* `sm` for compact rows and `md` for a primary column or a tab header.
|
|
948
|
-
*/
|
|
949
|
-
type EntitySize = 'xs' | 'sm' | 'md' | 'lg';
|
|
950
|
-
interface EntityPillProps {
|
|
951
|
-
/** The icon element (Avatar, ShieldIcon, FileIcon, etc.) */
|
|
952
|
-
icon: React__default.ReactNode;
|
|
953
|
-
/** Primary label text */
|
|
954
|
-
label: string;
|
|
955
|
-
/** Optional secondary text (e.g., page notation "p.1") */
|
|
956
|
-
secondaryText?: React__default.ReactNode;
|
|
957
|
-
/** `sm` (default) for compact rows, `md` for a primary column or a tab header. */
|
|
958
|
-
size?: Extract<EntitySize, 'sm' | 'md'>;
|
|
959
|
-
/** Shape variant: 'pill' for rounded-full, 'rounded' for rounded-md */
|
|
960
|
-
shape?: 'pill' | 'rounded';
|
|
961
|
-
/** Additional CSS classes */
|
|
962
|
-
className?: string;
|
|
963
|
-
style?: React__default.CSSProperties;
|
|
964
|
-
/** Max width for label truncation */
|
|
965
|
-
labelMaxWidth?: string;
|
|
966
|
-
/** Extra classes on the label text (e.g. a heavier weight on a card face). */
|
|
967
|
-
labelClassName?: string;
|
|
968
|
-
/** When true, the pill fills its container width (`flex w-full`) and the main
|
|
969
|
-
* area flexes + truncates so the trailing control (⋯ menu) pins to the right
|
|
970
|
-
* edge — used by the documents table's Document column. Default: shrink-to-fit. */
|
|
971
|
-
fullWidth?: boolean;
|
|
972
|
-
/** When true, render the pill with the active/"viewing" highlight — a solid
|
|
973
|
-
* dark-navy background with light text, applied LAST so it wins over both the
|
|
974
|
-
* default background and the interactive hover. */
|
|
975
|
-
highlight?: boolean;
|
|
976
|
-
/** Click handler for main area (icon + label) - primary action */
|
|
977
|
-
onClick?: (e: React__default.MouseEvent) => void;
|
|
978
|
-
/** Click handler for icon only — when set, only the icon is clickable (not the label) */
|
|
979
|
-
onIconClick?: (e: React__default.MouseEvent) => void;
|
|
980
|
-
/** Click handler for MoreVertical - opens popover/menu. When provided, shows MoreVertical icon */
|
|
981
|
-
onMoreClick?: (e: React__default.MouseEvent) => void;
|
|
982
|
-
/** Custom trailing element (e.g. a ⋯ dropdown menu). Rendered in the same
|
|
983
|
-
* trailing zone as MoreVertical, but as-is — so it stays outside the pill's
|
|
984
|
-
* primary click area. Takes precedence over `onMoreClick`. */
|
|
985
|
-
moreContent?: React__default.ReactNode;
|
|
986
|
-
/** Link URL - makes the main area an anchor tag */
|
|
987
|
-
href?: string;
|
|
988
|
-
/** Whether the pill is disabled */
|
|
989
|
-
disabled?: boolean;
|
|
990
|
-
/** Tooltip for main area (describes primary action, e.g., "View document") */
|
|
991
|
-
tooltipContent?: React__default.ReactNode;
|
|
992
|
-
/** Test ID for testing */
|
|
993
|
-
'data-testid'?: string;
|
|
994
|
-
}
|
|
995
|
-
declare const EntityPill: React__default.ForwardRefExoticComponent<EntityPillProps & React__default.RefAttributes<HTMLElement>>;
|
|
996
|
-
|
|
997
|
-
/**
|
|
998
|
-
* DocumentEntity Component
|
|
999
|
-
*
|
|
1000
|
-
* Displays a document as a compact entity pill with file-type icon and name.
|
|
1001
|
-
* Promoted from the ARBI app and DECOUPLED from the app store/API: it renders
|
|
1002
|
-
* purely from the `doc` prop and optional `onClick`/`onIconClick` callbacks.
|
|
1003
|
-
*/
|
|
1004
|
-
|
|
1005
|
-
/** Minimal, decoupled document shape the pill needs. Structurally compatible
|
|
1006
|
-
* with the SDK's `DocResponse` (from `useDocuments`), but no dependency on it —
|
|
1007
|
-
* a consumer can pass any object with these fields. */
|
|
1008
|
-
interface DocumentLike {
|
|
1009
|
-
file_name?: string | null;
|
|
1010
|
-
folder?: string | null;
|
|
1011
|
-
doc_metadata?: {
|
|
1012
|
-
title?: string | null;
|
|
1013
|
-
} | null;
|
|
1014
|
-
}
|
|
1015
|
-
/** Title of a document: `doc_metadata.title`, falling back to `file_name`. */
|
|
1016
|
-
declare function getDocumentTitle(document: DocumentLike | null | undefined, defaultValue?: string): string;
|
|
1017
|
-
/**
|
|
1018
|
-
* Whether a document is an image (upload or AI-generated): pages and tokens are text-document
|
|
1019
|
-
* concepts, never meaningful for an image, whatever the stored value.
|
|
1020
|
-
*/
|
|
1021
|
-
declare function isImageDocument(document: {
|
|
1022
|
-
file_type?: string | null;
|
|
1023
|
-
} | null | undefined): boolean;
|
|
1024
|
-
/**
|
|
1025
|
-
* The file-type glyph for a document, by extension.
|
|
1026
|
-
*
|
|
1027
|
-
* Exported because a document is recognisable by its icon before its name — any
|
|
1028
|
-
* surface that lists documents (the entity pill here, the workspace home's
|
|
1029
|
-
* Documents card) has to draw the same PDF/image/audio/video/email glyph, or
|
|
1030
|
-
* the same file looks like two different things in two places.
|
|
1031
|
-
*/
|
|
1032
|
-
declare function getDocIcon(fileName?: string | null, iconSize?: number): React__default.ReactNode;
|
|
1033
|
-
interface DocumentEntityProps {
|
|
1034
|
-
doc: DocumentLike;
|
|
1035
|
-
/** Override the default file-type icon */
|
|
1036
|
-
icon?: React__default.ReactNode;
|
|
1037
|
-
/** `sm` (default) for inline/compact contexts, `md` for a larger pill (e.g. the documents
|
|
1038
|
-
* grid's primary name column). */
|
|
1039
|
-
size?: Extract<EntitySize, 'sm' | 'md'>;
|
|
1040
|
-
/** Override default label max width */
|
|
1041
|
-
labelMaxWidth?: string;
|
|
1042
|
-
/** Extra classes on the label text (e.g. a heavier weight on a card face). */
|
|
1043
|
-
labelClassName?: string;
|
|
1044
|
-
/** Click handler for the whole pill */
|
|
1045
|
-
onClick?: (e: React__default.MouseEvent) => void;
|
|
1046
|
-
/** Click handler for the icon only */
|
|
1047
|
-
onIconClick?: (e: React__default.MouseEvent) => void;
|
|
1048
|
-
/** When true, the file-type icon is replaced by a pinned Eye — marks the
|
|
1049
|
-
* document that is currently open/being viewed. */
|
|
1050
|
-
viewing?: boolean;
|
|
1051
|
-
/** Small overlay pinned to the icon's corner (e.g. an "available offline" pip). */
|
|
1052
|
-
iconBadge?: React__default.ReactNode;
|
|
1053
|
-
/** Small content right after the name, inside the click area (e.g. a status glyph). */
|
|
1054
|
-
status?: React__default.ReactNode;
|
|
1055
|
-
/** Trailing control rendered outside the click area (e.g. a ⋯ actions menu). */
|
|
1056
|
-
actions?: React__default.ReactNode;
|
|
1057
|
-
/** When true, the pill fills the available width and the name truncates via
|
|
1058
|
-
* CSS so the trailing ⋯ menu pins to the right edge. */
|
|
1059
|
-
fullWidth?: boolean;
|
|
1060
|
-
/** Render the WHOLE title (skip the 30-char `clampLabel` string cut) while
|
|
1061
|
-
* keeping the normal content-width layout — for callers that want the full
|
|
1062
|
-
* name to show/wrap (via a `labelClassName`) without `fullWidth`'s w-full.
|
|
1063
|
-
* `fullWidth` already implies this. */
|
|
1064
|
-
noClamp?: boolean;
|
|
1065
|
-
/** Override the default folder/title hover tooltip. */
|
|
1066
|
-
tooltipContent?: React__default.ReactNode;
|
|
1067
|
-
className?: string;
|
|
1068
|
-
/** Forwarded to the pill so a surface can address this document's chip. */
|
|
1069
|
-
'data-testid'?: string;
|
|
1070
|
-
}
|
|
1071
|
-
declare function DocumentEntity({ doc, icon, size, labelMaxWidth, labelClassName, onClick, onIconClick, viewing, iconBadge, status, actions, tooltipContent, className, fullWidth, noClamp, 'data-testid': testId, }: DocumentEntityProps): React__default.JSX.Element;
|
|
1072
|
-
|
|
1073
|
-
/**
|
|
1074
|
-
* TagEntity Component
|
|
1075
|
-
*
|
|
1076
|
-
* All tag identity displays use this component: a fully rounded, outlined label from the
|
|
1077
|
-
* shared sixteen-color entity-ID palette. Never substitute a plain-text name.
|
|
1078
|
-
* Single source of truth for tag visual appearance, promoted from the ARBI app
|
|
1079
|
-
* and DECOUPLED from the app store/API. It renders purely from the `tag` prop —
|
|
1080
|
-
* the app-only bits (creator/updater lookup, visibility toggle, live doctag
|
|
1081
|
-
* count from the query cache) are dropped; pass `doctagCount`/`shared` if you
|
|
1082
|
-
* want them shown in the built-in tooltip, or inject a fully custom `tooltipContent`.
|
|
1083
|
-
*/
|
|
1084
|
-
|
|
1085
|
-
/** Minimal, decoupled tag shape the pill needs. */
|
|
1086
|
-
interface TagLike {
|
|
1087
|
-
external_id: string;
|
|
1088
|
-
name: string;
|
|
1089
|
-
/** Field value type, shown in the tooltip; the label identity icon stays consistent. */
|
|
1090
|
-
tag_type?: {
|
|
1091
|
-
type: string;
|
|
1092
|
-
} | null;
|
|
1093
|
-
/** Optional explicit color; when omitted it's derived from `external_id`. */
|
|
1094
|
-
color?: string;
|
|
1095
|
-
/** Optional document count shown in the tooltip. */
|
|
1096
|
-
doctag_count?: number | null;
|
|
1097
|
-
/** Optional shared/private flag shown in the tooltip. */
|
|
1098
|
-
shared?: boolean | null;
|
|
1099
|
-
}
|
|
1100
|
-
interface TagEntityProps {
|
|
1101
|
-
tag: TagLike;
|
|
1102
|
-
size?: Exclude<EntitySize, 'xs'>;
|
|
1103
|
-
checked?: boolean;
|
|
1104
|
-
onCheckedChange?: (checked: boolean) => void;
|
|
1105
|
-
className?: string;
|
|
1106
|
-
/** Wrap long tag names inside a table cell while retaining the pill. */
|
|
1107
|
-
wrap?: boolean;
|
|
1108
|
-
onClick?: (e: React__default.MouseEvent) => void;
|
|
1109
|
-
/** Whether to show a tooltip (default: true) */
|
|
1110
|
-
showTooltip?: boolean;
|
|
1111
|
-
/** Injected tooltip override. When provided (and `showTooltip` is not false) it
|
|
1112
|
-
* replaces the built-in tooltip — used by the monolith to render its rich,
|
|
1113
|
-
* store-coupled tooltip (fresh count, creator/updater, visibility toggle). */
|
|
1114
|
-
tooltipContent?: React__default.ReactNode;
|
|
1115
|
-
}
|
|
1116
|
-
declare function TagEntity({ tag, size, checked, onCheckedChange, className, wrap, onClick, showTooltip, tooltipContent, }: TagEntityProps): React__default.JSX.Element;
|
|
1117
|
-
|
|
1118
|
-
/**
|
|
1119
|
-
* Tag-type presentation primitives — the brand-neutral icon and label maps that
|
|
1120
|
-
* back the shared `TagEntity` pill. Kept in their own module (not the component
|
|
1121
|
-
* file) so app-side wrappers can import them to build their own store-coupled
|
|
1122
|
-
* tooltip content without pulling in a component, and so the component file stays
|
|
1123
|
-
* fast-refresh friendly.
|
|
1124
|
-
*/
|
|
1125
|
-
|
|
1126
|
-
/**
|
|
1127
|
-
* Human-readable tag type names. "Annotation" names the whole kind (every non-label field), so
|
|
1128
|
-
* each format is called by what it is: a checkbox tag is a label, a select one a choice.
|
|
1129
|
-
*/
|
|
1130
|
-
declare const TAG_TYPE_LABELS: Record<string, string>;
|
|
1131
|
-
/** Icon mapping for tag types. */
|
|
1132
|
-
declare const TAG_TYPE_ICONS: Record<string, typeof StickyNote>;
|
|
1133
|
-
/** Resolve the icon component for a tag type, with the `text` (NotebookPen) fallback.
|
|
1134
|
-
* Annotations share the NotebookPen mark used by the AI Annotate bulk action, so
|
|
1135
|
-
* the table column and the batch bar name the same thing the same way. */
|
|
1136
|
-
declare function getTagTypeIcon(type?: string | null): typeof StickyNote;
|
|
1137
|
-
/** Resolve the human-readable label for a tag type, falling back to the raw type. */
|
|
1138
|
-
declare function getTagTypeLabel(type?: string | null): string;
|
|
1139
|
-
|
|
1140
|
-
/**
|
|
1141
|
-
* What each tag kind is called, from the entity registry (so a deployment that renames an entity —
|
|
1142
|
-
* an issue to "Point", say — renames it everywhere): `tagKindTitle('person', { plural: true })` is
|
|
1143
|
-
* "People", `tagKindNouns('label').singular` is "label".
|
|
1144
|
-
*/
|
|
1145
|
-
/** The entity-label registry entry that names each kind (the SDK's `TagKind`s). */
|
|
1146
|
-
declare const KIND_ENTITY: {
|
|
1147
|
-
readonly label: "LABEL";
|
|
1148
|
-
readonly annotation: "ANNOTATION";
|
|
1149
|
-
readonly search: "SAVED_SEARCH";
|
|
1150
|
-
readonly issue: "ISSUE";
|
|
1151
|
-
readonly person: "PERSON";
|
|
1152
|
-
readonly organisation: "ORGANISATION";
|
|
1153
|
-
};
|
|
1154
|
-
/** What a tag is: a label, annotation, search, issue, person or organisation. */
|
|
1155
|
-
type TagKind = keyof typeof KIND_ENTITY;
|
|
1156
|
-
/** A kind's name as a heading or option ("Label", "Organisation", plural "People"). */
|
|
1157
|
-
declare function tagKindTitle(kind: TagKind, { plural }?: {
|
|
1158
|
-
plural?: boolean | undefined;
|
|
1159
|
-
}): string;
|
|
1160
|
-
/** Singular / plural nouns for a kind, for running text ("New label", "2 annotations"). */
|
|
1161
|
-
declare function tagKindNouns(kind: TagKind): {
|
|
1162
|
-
singular: string;
|
|
1163
|
-
plural: string;
|
|
1164
|
-
};
|
|
1165
|
-
|
|
1166
|
-
/**
|
|
1167
|
-
* ProjectEntity Component
|
|
1168
|
-
*
|
|
1169
|
-
* Fully-rounded pill for a "project" (a.k.a. a "matter" in some consumer apps).
|
|
1170
|
-
* The viewer's relationship to the project drives a TINTED (soft-fill) colour
|
|
1171
|
-
* so the kinds read at a glance without shouting:
|
|
1172
|
-
* - your paid project → primary tint
|
|
1173
|
-
* - someone else's → secondary tint
|
|
1174
|
-
* - your free project → grey tint
|
|
1175
|
-
* "Common" keeps the neutral muted pill.
|
|
1176
|
-
*
|
|
1177
|
-
* Promoted from the ARBI app and DECOUPLED: no store/stripe deps. The icon
|
|
1178
|
-
* defaults to the `CreditCard` glyph and can be overridden via `icon`, and
|
|
1179
|
-
* the display text via `label` (falls back to `name`) so consumers can relabel
|
|
1180
|
-
* a "project" as a "matter", "case", etc.
|
|
1181
|
-
*/
|
|
1182
|
-
|
|
1183
|
-
type ProjectRelation = 'mine' | 'other' | 'common';
|
|
1184
|
-
interface ProjectEntityProps {
|
|
1185
|
-
name: string;
|
|
1186
|
-
/** Display text override (defaults to `name`) — lets a consumer relabel. */
|
|
1187
|
-
label?: string;
|
|
1188
|
-
/** Icon override (defaults to the CreditCard glyph). */
|
|
1189
|
-
icon?: React__default.ReactNode;
|
|
1190
|
-
subscription?: string;
|
|
1191
|
-
hasCollaborators?: boolean;
|
|
1192
|
-
className?: string;
|
|
1193
|
-
onClick?: (e: React__default.MouseEvent) => void;
|
|
1194
|
-
/** Viewer's relationship to the project — drives the inverted pill colour. */
|
|
1195
|
-
relation?: ProjectRelation;
|
|
1196
|
-
/** Whether the given `subscription` should be treated as paid. When omitted,
|
|
1197
|
-
* it's inferred from the `subscription` value ('active' | 'past_due' | 'dev'). */
|
|
1198
|
-
isPaid?: boolean;
|
|
1199
|
-
/** Hover tooltip. */
|
|
1200
|
-
tooltipContent?: React__default.ReactNode;
|
|
1201
|
-
}
|
|
1202
|
-
declare function ProjectEntity({ name, label, icon, subscription, hasCollaborators, className, onClick, relation, isPaid, tooltipContent, }: ProjectEntityProps): React__default.JSX.Element;
|
|
1203
|
-
|
|
1204
|
-
/**
|
|
1205
|
-
* UserEntity Component
|
|
1206
|
-
*
|
|
1207
|
-
* Single source of truth for the user pill/avatar visual, promoted from the ARBI
|
|
1208
|
-
* app and DECOUPLED from the app store/API. It renders purely from injected,
|
|
1209
|
-
* already-resolved props — the app-coupled bits (current user, WebSocket presence
|
|
1210
|
-
* status, shared-workspace / agent-owner lookups) are resolved by the app adapter
|
|
1211
|
-
* and passed in as `isMe` / `displayStatus` / `tooltipContent` / `onClick`.
|
|
1212
|
-
*
|
|
1213
|
-
* Variants:
|
|
1214
|
-
* - pill: Avatar + name in a rounded container (default)
|
|
1215
|
-
* - icon: Avatar circle with hover tooltip
|
|
1216
|
-
*
|
|
1217
|
-
* Status-dot colours use the semantic `--color-status-*` token contract (see the
|
|
1218
|
-
* consuming app's @theme); they are seeded to the app's prior palette so the dots
|
|
1219
|
-
* stay pixel-identical.
|
|
1220
|
-
*/
|
|
1221
|
-
|
|
1222
|
-
/** Presence display status - WebSocket states plus 'hidden' for when status is intentionally not shown */
|
|
1223
|
-
type PresenceDisplayStatus = 'connected' | 'connecting' | 'disconnected' | 'error' | 'hidden';
|
|
1224
|
-
interface UserEntityProps {
|
|
1225
|
-
size?: EntitySize;
|
|
1226
|
-
variant?: 'icon' | 'pill';
|
|
1227
|
-
className?: string;
|
|
1228
|
-
/** When true (default), shows tooltip on hover */
|
|
1229
|
-
showTooltip?: boolean;
|
|
1230
|
-
/** When true (default), clicking triggers the injected action. Set false to disable interaction. */
|
|
1231
|
-
interactive?: boolean;
|
|
1232
|
-
/** Two-letter initials shown in the avatar fallback (resolved by the app). */
|
|
1233
|
-
initials?: string;
|
|
1234
|
-
/** Display label — "You" for the current user, else the real name. */
|
|
1235
|
-
displayName?: string;
|
|
1236
|
-
/** Avatar image URL, if any. */
|
|
1237
|
-
picture?: string | null;
|
|
1238
|
-
/** Optional image treatment for platform logos inside the normal avatar. */
|
|
1239
|
-
avatarImageClassName?: string;
|
|
1240
|
-
/** Avatar background colour class for non-agents (e.g. 'bg-blue-500'). */
|
|
1241
|
-
colorClass?: string;
|
|
1242
|
-
/** Whether this user is an agent — drives the dashed ring + bot badge. */
|
|
1243
|
-
isAgent?: boolean;
|
|
1244
|
-
/** Verified tick (passed an ID check under this name): a badge after the name in the pill. */
|
|
1245
|
-
isVerified?: boolean;
|
|
1246
|
-
/** Inline border/text colour for agent avatars (from the app's agentAvatarColors). */
|
|
1247
|
-
agentStyle?: React__default.CSSProperties;
|
|
1248
|
-
/**
|
|
1249
|
-
* Inline avatar colours for ANY user, not only agents — e.g. the deterministic
|
|
1250
|
-
* tint the DM rows derive from the user id. Takes precedence over
|
|
1251
|
-
* `agentStyle`, which predates it and is the same mechanism under a narrower
|
|
1252
|
-
* name.
|
|
1253
|
-
*/
|
|
1254
|
-
avatarStyle?: React__default.CSSProperties;
|
|
1255
|
-
/** Whether this pill represents the current user — hides the chat icon and drives
|
|
1256
|
-
* which action `onClick` performs. */
|
|
1257
|
-
isMe?: boolean;
|
|
1258
|
-
/** Resolved presence dot state; undefined hides the dot. */
|
|
1259
|
-
displayStatus?: PresenceDisplayStatus;
|
|
1260
|
-
/** Resolved click handler (open settings for me, DM for others). */
|
|
1261
|
-
onClick?: (e: React__default.MouseEvent) => void;
|
|
1262
|
-
/** Injected rich tooltip content (built by the app adapter). */
|
|
1263
|
-
tooltipContent?: React__default.ReactNode;
|
|
1264
|
-
/** Render the empty "no user" avatar. */
|
|
1265
|
-
empty?: boolean;
|
|
1266
|
-
}
|
|
1267
|
-
declare const UserEntity: React__default.MemoExoticComponent<({ size, variant, className, showTooltip, interactive, initials, displayName, picture, avatarImageClassName, colorClass, isAgent, isVerified, agentStyle, avatarStyle, isMe, displayStatus, onClick, tooltipContent, empty, }: UserEntityProps) => React__default.JSX.Element>;
|
|
1268
|
-
|
|
1269
|
-
interface VerifiedBadgeProps {
|
|
1270
|
-
className?: string;
|
|
1271
|
-
/** Accessible name and hover text; default "Identity verified". */
|
|
1272
|
-
label?: string;
|
|
1273
|
-
}
|
|
1274
|
-
/** The verified tick: the user passed an ID check under the name shown. */
|
|
1275
|
-
declare function VerifiedBadge({ className, label }: VerifiedBadgeProps): React.JSX.Element;
|
|
1276
|
-
|
|
1277
|
-
/**
|
|
1278
|
-
* "AGENT" stamp for an `agt-` peer.
|
|
1279
|
-
*
|
|
1280
|
-
* `UserEntity` already marks agents with a dashed ring and a bot icon, but that
|
|
1281
|
-
* is a detail you have to know to read. An agent is a different KIND of
|
|
1282
|
-
* correspondent — it acts on someone's behalf, and what you send it may be
|
|
1283
|
-
* acted on rather than read — so it also gets a label you cannot miss.
|
|
1284
|
-
*/
|
|
1285
|
-
declare function AgentBadge({ className }: {
|
|
1286
|
-
className?: string;
|
|
1287
|
-
}): React.JSX.Element;
|
|
1288
|
-
/**
|
|
1289
|
-
* Presence in words rather than a coloured dot alone.
|
|
1290
|
-
*
|
|
1291
|
-
* `status` is *resolved* by the app, exactly as {@link UserEntity} expects it,
|
|
1292
|
-
* and `undefined` renders nothing at all. That default matters: a consumer that
|
|
1293
|
-
* has not wired a WebSocket provider has no presence information, and labelling
|
|
1294
|
-
* every one of its contacts "Offline" would be stating something we do not
|
|
1295
|
-
* know. Whether absence of a signal means offline is a claim only the app can
|
|
1296
|
-
* make, so the app makes it by resolving to `disconnected`.
|
|
1297
|
-
*/
|
|
1298
|
-
declare function PresenceLabel({ status, className, }: {
|
|
1299
|
-
status?: PresenceDisplayStatus;
|
|
1300
|
-
className?: string;
|
|
1301
|
-
}): React.JSX.Element | null;
|
|
1302
|
-
|
|
1303
|
-
/** A status variant is an opaque string — its valid values are defined by the
|
|
1304
|
-
* injected Badge (or the default Badge's variants). */
|
|
1305
|
-
type StatusVariant = string;
|
|
1306
|
-
/** The shape a consumer's Badge must satisfy to be injected as the pill skin. */
|
|
1307
|
-
interface StatusBadgeProps {
|
|
1308
|
-
variant?: StatusVariant;
|
|
1309
|
-
className?: string;
|
|
1310
|
-
children?: ReactNode;
|
|
1311
|
-
'data-testid'?: string;
|
|
1312
|
-
}
|
|
1313
|
-
type StatusBadgeComponent = ComponentType<StatusBadgeProps>;
|
|
1314
|
-
/** Register a firm's status→variant vocabulary (merged in place), and optionally
|
|
1315
|
-
* its fallback variant + its own Badge skin. Mirrors `configureEntityRegistry`. */
|
|
1316
|
-
declare function configureStatusRegistry(map: Record<string, StatusVariant>, opts?: {
|
|
1317
|
-
fallback?: StatusVariant;
|
|
1318
|
-
Badge?: StatusBadgeComponent;
|
|
1319
|
-
}): void;
|
|
1320
|
-
/** Resolve a status string to its variant (falls back to the registered default). */
|
|
1321
|
-
declare function getStatusVariant(status: string): StatusVariant;
|
|
1322
|
-
interface StatusPillProps {
|
|
1323
|
-
status: string;
|
|
1324
|
-
label?: string;
|
|
1325
|
-
/** Escape hatch: force a variant, skipping the registry. */
|
|
1326
|
-
variant?: StatusVariant;
|
|
1327
|
-
className?: string;
|
|
1328
|
-
testId?: string;
|
|
1329
|
-
}
|
|
1330
|
-
/** A status chip whose look comes from the injected Badge + registered vocabulary. */
|
|
1331
|
-
declare function StatusPill({ status, label, variant, className, testId }: StatusPillProps): React.JSX.Element;
|
|
1332
|
-
type Rag = 'red' | 'amber' | 'green';
|
|
1333
|
-
/** Override the RAG label copy (defaults are seeded so consumers stay identical). */
|
|
1334
|
-
declare function configureRagLabels(labels: Partial<Record<Rag, string>>): void;
|
|
1335
|
-
|
|
1336
|
-
/** An icon component usable in the registry (lucide icons + custom SVG wrappers). */
|
|
1337
|
-
type EntityIconComponent = React__default.ComponentType<React__default.SVGAttributes<SVGElement> & {
|
|
1338
|
-
size?: number | string;
|
|
1339
|
-
className?: string;
|
|
1340
|
-
}>;
|
|
1341
|
-
/**
|
|
1342
|
-
* Entity Mappings — naming conventions + icons for every entity in the app.
|
|
1343
|
-
*
|
|
1344
|
-
* `WORKSPACE.ICONS.DEFAULT` is the generic `SquareM` here; the monolith injects a
|
|
1345
|
-
* rotated variant via {@link configureEntityRegistry}. The object is mutated in
|
|
1346
|
-
* place by that helper, so existing `ENTITY_MAPPINGS` references stay live.
|
|
1347
|
-
*/
|
|
1348
|
-
declare const ENTITY_MAPPINGS: {
|
|
1349
|
-
PRODUCT: {
|
|
1350
|
-
NAMES: {
|
|
1351
|
-
SINGULAR: string;
|
|
1352
|
-
};
|
|
1353
|
-
ICONS: {
|
|
1354
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1355
|
-
};
|
|
1356
|
-
};
|
|
1357
|
-
SECTION: {
|
|
1358
|
-
NAMES: {
|
|
1359
|
-
SINGULAR: string;
|
|
1360
|
-
};
|
|
1361
|
-
ICONS: {
|
|
1362
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1363
|
-
};
|
|
1364
|
-
};
|
|
1365
|
-
WORKSPACE: {
|
|
1366
|
-
NAMES: {
|
|
1367
|
-
SINGULAR: string;
|
|
1368
|
-
PLURAL: string;
|
|
1369
|
-
};
|
|
1370
|
-
ICONS: {
|
|
1371
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1372
|
-
NEW: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1373
|
-
LIST: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1374
|
-
SETTINGS: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1375
|
-
};
|
|
1376
|
-
};
|
|
1377
|
-
CONVERSATION: {
|
|
1378
|
-
NAMES: {
|
|
1379
|
-
SINGULAR: string;
|
|
1380
|
-
PLURAL: string;
|
|
1381
|
-
NEW: string;
|
|
1382
|
-
};
|
|
1383
|
-
ICONS: {
|
|
1384
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1385
|
-
OFF: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1386
|
-
ACTIVE: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1387
|
-
NEW: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1388
|
-
LIST: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1389
|
-
};
|
|
1390
|
-
};
|
|
1391
|
-
DOCUMENT: {
|
|
1392
|
-
NAMES: {
|
|
1393
|
-
SINGULAR: string;
|
|
1394
|
-
PLURAL: string;
|
|
1395
|
-
};
|
|
1396
|
-
ICONS: {
|
|
1397
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1398
|
-
OFF: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1399
|
-
};
|
|
1400
|
-
};
|
|
1401
|
-
VIEWER: {
|
|
1402
|
-
NAMES: {
|
|
1403
|
-
SINGULAR: string;
|
|
1404
|
-
PLURAL: string;
|
|
1405
|
-
};
|
|
1406
|
-
ICONS: {
|
|
1407
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1408
|
-
OFF: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1409
|
-
};
|
|
1410
|
-
};
|
|
1411
|
-
TAG: {
|
|
1412
|
-
NAMES: {
|
|
1413
|
-
SINGULAR: string;
|
|
1414
|
-
PLURAL: string;
|
|
1415
|
-
};
|
|
1416
|
-
ICONS: {
|
|
1417
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1418
|
-
NEW: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1419
|
-
};
|
|
1420
|
-
};
|
|
1421
|
-
ANNOTATION: {
|
|
1422
|
-
NAMES: {
|
|
1423
|
-
SINGULAR: string;
|
|
1424
|
-
PLURAL: string;
|
|
1425
|
-
};
|
|
1426
|
-
ICONS: {
|
|
1427
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1428
|
-
NEW: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1429
|
-
};
|
|
1430
|
-
};
|
|
1431
|
-
ANY_TAG: {
|
|
1432
|
-
NAMES: {
|
|
1433
|
-
SINGULAR: string;
|
|
1434
|
-
PLURAL: string;
|
|
1435
|
-
};
|
|
1436
|
-
ICONS: {
|
|
1437
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1438
|
-
};
|
|
1439
|
-
};
|
|
1440
|
-
LABEL: {
|
|
1441
|
-
NAMES: {
|
|
1442
|
-
SINGULAR: string;
|
|
1443
|
-
PLURAL: string;
|
|
1444
|
-
};
|
|
1445
|
-
ICONS: {
|
|
1446
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1447
|
-
};
|
|
1448
|
-
};
|
|
1449
|
-
ISSUE: {
|
|
1450
|
-
NAMES: {
|
|
1451
|
-
SINGULAR: string;
|
|
1452
|
-
PLURAL: string;
|
|
1453
|
-
};
|
|
1454
|
-
ICONS: {
|
|
1455
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1456
|
-
};
|
|
1457
|
-
};
|
|
1458
|
-
PERSON: {
|
|
1459
|
-
NAMES: {
|
|
1460
|
-
SINGULAR: string;
|
|
1461
|
-
PLURAL: string;
|
|
1462
|
-
};
|
|
1463
|
-
ICONS: {
|
|
1464
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1465
|
-
};
|
|
1466
|
-
};
|
|
1467
|
-
ORGANISATION: {
|
|
1468
|
-
NAMES: {
|
|
1469
|
-
SINGULAR: string;
|
|
1470
|
-
PLURAL: string;
|
|
1471
|
-
};
|
|
1472
|
-
ICONS: {
|
|
1473
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1474
|
-
};
|
|
1475
|
-
};
|
|
1476
|
-
SAVED_SEARCH: {
|
|
1477
|
-
NAMES: {
|
|
1478
|
-
SINGULAR: string;
|
|
1479
|
-
PLURAL: string;
|
|
1480
|
-
};
|
|
1481
|
-
ICONS: {
|
|
1482
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1483
|
-
};
|
|
1484
|
-
};
|
|
1485
|
-
FACT: {
|
|
1486
|
-
NAMES: {
|
|
1487
|
-
SINGULAR: string;
|
|
1488
|
-
PLURAL: string;
|
|
1489
|
-
};
|
|
1490
|
-
ICONS: {
|
|
1491
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1492
|
-
NEW: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1493
|
-
};
|
|
1494
|
-
};
|
|
1495
|
-
USER: {
|
|
1496
|
-
NAMES: {
|
|
1497
|
-
SINGULAR: string;
|
|
1498
|
-
PLURAL: string;
|
|
1499
|
-
};
|
|
1500
|
-
ICONS: {
|
|
1501
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1502
|
-
NEW: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1503
|
-
SETTINGS: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1504
|
-
};
|
|
1505
|
-
};
|
|
1506
|
-
WORKSPACEUSER: {
|
|
1507
|
-
NAMES: {
|
|
1508
|
-
SINGULAR: string;
|
|
1509
|
-
PLURAL: string;
|
|
1510
|
-
};
|
|
1511
|
-
ICONS: {
|
|
1512
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1513
|
-
PLURAL: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1514
|
-
NEW: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1515
|
-
SETTINGS: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1516
|
-
};
|
|
1517
|
-
};
|
|
1518
|
-
CONTACT: {
|
|
1519
|
-
NAMES: {
|
|
1520
|
-
SINGULAR: string;
|
|
1521
|
-
PLURAL: string;
|
|
1522
|
-
};
|
|
1523
|
-
ICONS: {
|
|
1524
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1525
|
-
NEW: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1526
|
-
};
|
|
1527
|
-
};
|
|
1528
|
-
TASK: {
|
|
1529
|
-
NAMES: {
|
|
1530
|
-
SINGULAR: string;
|
|
1531
|
-
PLURAL: string;
|
|
1532
|
-
};
|
|
1533
|
-
ICONS: {
|
|
1534
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1535
|
-
};
|
|
1536
|
-
};
|
|
1537
|
-
PROJECT: {
|
|
1538
|
-
NAMES: {
|
|
1539
|
-
SINGULAR: string;
|
|
1540
|
-
PLURAL: string;
|
|
1541
|
-
};
|
|
1542
|
-
ICONS: {
|
|
1543
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1544
|
-
};
|
|
1545
|
-
};
|
|
1546
|
-
SKILL: {
|
|
1547
|
-
NAMES: {
|
|
1548
|
-
SINGULAR: string;
|
|
1549
|
-
PLURAL: string;
|
|
1550
|
-
};
|
|
1551
|
-
ICONS: {
|
|
1552
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1553
|
-
};
|
|
1554
|
-
};
|
|
1555
|
-
ACCOUNT: {
|
|
1556
|
-
NAMES: {
|
|
1557
|
-
SINGULAR: string;
|
|
1558
|
-
};
|
|
1559
|
-
ICONS: {
|
|
1560
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1561
|
-
};
|
|
1562
|
-
};
|
|
1563
|
-
NOTIFICATIONS: {
|
|
1564
|
-
NAMES: {
|
|
1565
|
-
SINGULAR: string;
|
|
1566
|
-
PLURAL: string;
|
|
1567
|
-
};
|
|
1568
|
-
ICONS: {
|
|
1569
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1570
|
-
};
|
|
1571
|
-
};
|
|
1572
|
-
MESSAGE: {
|
|
1573
|
-
NAMES: {
|
|
1574
|
-
SINGULAR: string;
|
|
1575
|
-
PLURAL: string;
|
|
1576
|
-
};
|
|
1577
|
-
ICONS: {
|
|
1578
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1579
|
-
};
|
|
1580
|
-
};
|
|
1581
|
-
NOTIFICATION: {
|
|
1582
|
-
NAMES: {
|
|
1583
|
-
SINGULAR: string;
|
|
1584
|
-
PLURAL: string;
|
|
1585
|
-
};
|
|
1586
|
-
ICONS: {
|
|
1587
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1588
|
-
};
|
|
1589
|
-
};
|
|
1590
|
-
APP: {
|
|
1591
|
-
NAMES: {
|
|
1592
|
-
SINGULAR: string;
|
|
1593
|
-
PLURAL: string;
|
|
1594
|
-
};
|
|
1595
|
-
ICONS: {
|
|
1596
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1597
|
-
HOME: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1598
|
-
LOGOUT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1599
|
-
UPLOAD: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1600
|
-
};
|
|
1601
|
-
};
|
|
1602
|
-
HELP: {
|
|
1603
|
-
NAMES: {
|
|
1604
|
-
SINGULAR: string;
|
|
1605
|
-
PLURAL: string;
|
|
1606
|
-
};
|
|
1607
|
-
ICONS: {
|
|
1608
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1609
|
-
DOCS: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1610
|
-
FAQ: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1611
|
-
ABOUT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1612
|
-
};
|
|
1613
|
-
};
|
|
1614
|
-
USERSHIELD: {
|
|
1615
|
-
NAMES: {
|
|
1616
|
-
SINGULAR: string;
|
|
1617
|
-
PLURAL: string;
|
|
1618
|
-
};
|
|
1619
|
-
ICONS: {
|
|
1620
|
-
DEFAULT: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1621
|
-
};
|
|
1622
|
-
};
|
|
1623
|
-
};
|
|
1624
|
-
/** The set of registered entity types. */
|
|
1625
|
-
type EntityType = keyof typeof ENTITY_MAPPINGS;
|
|
1626
|
-
/** Deployment override for a single entity: extra/replacement names and icons. */
|
|
1627
|
-
interface EntityRegistryOverride {
|
|
1628
|
-
NAMES?: Record<string, string>;
|
|
1629
|
-
ICONS?: Record<string, EntityIconComponent>;
|
|
1630
|
-
}
|
|
1631
|
-
/**
|
|
1632
|
-
* Layer deployment-specific names/icons onto the canonical registry — call once
|
|
1633
|
-
* at app startup. Merges in place (so live `ENTITY_MAPPINGS` refs pick it up) and
|
|
1634
|
-
* only touches the keys you pass, e.g.:
|
|
1635
|
-
*
|
|
1636
|
-
* ```ts
|
|
1637
|
-
* configureEntityRegistry({
|
|
1638
|
-
* WORKSPACE: { NAMES: { SINGULAR: 'MatterSpace' }, ICONS: { DEFAULT: RotatedSquareM } },
|
|
1639
|
-
* })
|
|
1640
|
-
* ```
|
|
1641
|
-
*/
|
|
1642
|
-
declare function configureEntityRegistry(overrides: Partial<Record<EntityType, EntityRegistryOverride>>): void;
|
|
1643
|
-
/**
|
|
1644
|
-
* Resolve the icon component for an entity type + variant, falling back to the
|
|
1645
|
-
* type's DEFAULT icon for unknown variants.
|
|
1646
|
-
*/
|
|
1647
|
-
declare const getEntityIcon: (entityType: EntityType, variant?: string) => EntityIconComponent | undefined;
|
|
1648
|
-
/** The forms of an entity's display label. */
|
|
1649
|
-
type EntityLabelForm = 'SINGULAR' | 'PLURAL' | 'SHORT' | 'NEW';
|
|
1650
|
-
/**
|
|
1651
|
-
* Display label for an entity type. `SINGULAR` (default); `PLURAL`/`SHORT`/`NEW`
|
|
1652
|
-
* fall back to derivations of the singular when not explicitly configured. The site's
|
|
1653
|
-
* vocabulary (`ArbiHostConfig.vocabulary`) wins over the registry: a site that names only the
|
|
1654
|
-
* singular gets every other form derived from it.
|
|
1655
|
-
*/
|
|
1656
|
-
declare const getEntityLabel: (entityType: EntityType, form?: EntityLabelForm) => string;
|
|
1657
|
-
/**
|
|
1658
|
-
* An entity's word inside a sentence: the label in lower case ("Rename project", "No matters
|
|
1659
|
-
* yet"). Use `getEntityLabel` where the word starts a title or stands alone.
|
|
1660
|
-
*/
|
|
1661
|
-
declare const entityNoun: (entityType: EntityType, form?: Exclude<EntityLabelForm, "NEW" | "SHORT">) => string;
|
|
1662
|
-
type EntityIconProps = {
|
|
1663
|
-
entityType: EntityType;
|
|
1664
|
-
variant?: string;
|
|
1665
|
-
className?: string;
|
|
1666
|
-
size?: number;
|
|
1667
|
-
color?: string;
|
|
1668
|
-
'data-testid'?: string;
|
|
1669
|
-
onClick?: () => void;
|
|
1670
|
-
} & React__default.SVGAttributes<SVGElement>;
|
|
1671
|
-
/**
|
|
1672
|
-
* Render an entity's icon — the recommended way to show entity glyphs so all
|
|
1673
|
-
* icon choices stay centralised.
|
|
1674
|
-
*/
|
|
1675
|
-
declare const EntityIcon: ({ entityType, variant, ...props }: EntityIconProps) => React__default.ReactElement<React__default.SVGAttributes<SVGElement> & {
|
|
1676
|
-
size?: number | string;
|
|
1677
|
-
className?: string;
|
|
1678
|
-
}, string | React__default.JSXElementConstructor<any>> | null;
|
|
1679
|
-
/** Centralised icons for private/shared visibility states. */
|
|
1680
|
-
declare const VISIBILITY_ICONS: {
|
|
1681
|
-
PRIVATE: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1682
|
-
SHARED: React__default.ForwardRefExoticComponent<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1683
|
-
};
|
|
1684
|
-
/** Render the private/shared visibility glyph. */
|
|
1685
|
-
declare const VisibilityIcon: ({ isShared, className, ...props }: {
|
|
1686
|
-
isShared: boolean;
|
|
1687
|
-
className?: string;
|
|
1688
|
-
size?: number;
|
|
1689
|
-
color?: string;
|
|
1690
|
-
"data-testid"?: string;
|
|
1691
|
-
onClick?: () => void;
|
|
1692
|
-
} & React__default.SVGAttributes<SVGElement>) => React__default.FunctionComponentElement<Omit<lucide_react.LucideProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
|
|
1693
|
-
|
|
1694
|
-
/**
|
|
1695
|
-
* Entity colour system — the single source of truth for deriving a stable colour
|
|
1696
|
-
* from an entity id (workspace/tag/doc badges) shared across every app.
|
|
1697
|
-
*
|
|
1698
|
-
* ONE base palette (16 colours, indexed by the hex char at position 5 of an
|
|
1699
|
-
* entity id) + three opacity constants that shift every variant globally. Pure,
|
|
1700
|
-
* framework-free: no React, no store, no app `@/` imports.
|
|
1701
|
-
*/
|
|
1702
|
-
/** Semantic placeholder colour for empty/pending states (gray-400). */
|
|
1703
|
-
declare const PLACEHOLDER_COLOR = "#9ca3af";
|
|
1704
|
-
/** Neutral gray for generic/unknown file types (slate-500). */
|
|
1705
|
-
declare const NEUTRAL_GRAY = "#64748b";
|
|
1706
|
-
/** Base palette — source of truth for all entity colours (hex char 0–f). */
|
|
1707
|
-
declare const BASE_COLORS: Record<string, string>;
|
|
1708
|
-
/**
|
|
1709
|
-
* Deterministic colour for an entity id. The 5th char (index 4) of the id selects
|
|
1710
|
-
* a base colour; the variant picks the opacity treatment.
|
|
1711
|
-
*/
|
|
1712
|
-
declare function getEntityColor(entityId: string, variant?: 'light' | 'medium' | 'text'): string;
|
|
1713
|
-
/** Full badge colour set for an entity id: light background + solid text + border. */
|
|
1714
|
-
declare function getEntityColorStyles(entityId: string): {
|
|
1715
|
-
backgroundColor: string;
|
|
1716
|
-
color: string;
|
|
1717
|
-
borderColor: string;
|
|
1718
|
-
};
|
|
1719
|
-
/**
|
|
1720
|
-
* Colour for a workspace id — the MEDIUM (solid) variant, for white text on top.
|
|
1721
|
-
* Returns the `--primary` token when colours are disabled or the id is invalid,
|
|
1722
|
-
* so callers always get a paintable value.
|
|
1723
|
-
*/
|
|
1724
|
-
declare const getWorkspaceColor: (workspaceId: string | undefined | null, useWorkspaceColors?: boolean) => string;
|
|
1725
|
-
|
|
1726
|
-
type ShieldIconProps = {
|
|
1727
|
-
char?: string;
|
|
1728
|
-
size?: number;
|
|
1729
|
-
className?: string;
|
|
1730
|
-
workspaceColor?: string;
|
|
1731
|
-
isSelected?: boolean;
|
|
1732
|
-
} & React__default.SVGAttributes<SVGElement>;
|
|
1733
|
-
declare const ShieldIcon: React__default.FC<ShieldIconProps>;
|
|
1734
|
-
|
|
1735
|
-
/**
|
|
1736
|
-
* Returns inline styles for agent avatar border and text color,
|
|
1737
|
-
* matching the user's assigned bg color class.
|
|
1738
|
-
*/
|
|
1739
|
-
declare function agentAvatarColors(bgColorClass: string): CSSProperties;
|
|
1740
|
-
|
|
1741
|
-
/**
|
|
1742
|
-
* Document media-type helpers.
|
|
1743
|
-
*
|
|
1744
|
-
* Single source of truth for "is this an image / video / audio file", shared by
|
|
1745
|
-
* the viewer (which renders the original bytes for media but the generated PDF
|
|
1746
|
-
* for everything else) and the offline cache (which must fetch the same bytes
|
|
1747
|
-
* the viewer would). Keeps the extension lists from drifting between the two.
|
|
1748
|
-
*/
|
|
1749
|
-
declare function isImageFile(fileName: string | null | undefined): boolean;
|
|
1750
|
-
declare function isVideoFile(fileName: string | null | undefined): boolean;
|
|
1751
|
-
declare function isAudioFile(fileName: string | null | undefined): boolean;
|
|
1752
|
-
declare function isMediaFile(fileName: string | null | undefined): boolean;
|
|
1753
|
-
/**
|
|
1754
|
-
* Whether the viewer renders the file's *original* bytes (true for media, which
|
|
1755
|
-
* we serve via `/download`) rather than the server-generated PDF preview (served
|
|
1756
|
-
* via `/view`). Drives both the viewer's endpoint choice and the offline cache.
|
|
1757
|
-
*/
|
|
1758
|
-
declare function usesOriginalBytesForViewer(fileName: string | null | undefined): boolean;
|
|
1759
|
-
/** Archives, executables and design files: no preview and no PDF version, only a download. */
|
|
1760
|
-
declare function isDownloadOnlyFile(fileName: string | null | undefined): boolean;
|
|
1761
|
-
|
|
1762
|
-
/**
|
|
1763
|
-
* Friendly file-type label.
|
|
1764
|
-
*
|
|
1765
|
-
* `Doc.file_type` is populated from two unrelated upload paths in the
|
|
1766
|
-
* backend: sometimes it's a bare extension (``"pdf"``, ``"docx"``,
|
|
1767
|
-
* ``"html"``), sometimes it's a MIME type (``"application/pdf"``,
|
|
1768
|
-
* ``"image/jpeg"``). Showing the raw value as-is gives the grid a
|
|
1769
|
-
* mix of ``PDF`` and ``APPLICATION/PDF`` in the same column.
|
|
1770
|
-
*
|
|
1771
|
-
* This util normalises both shapes to a single short, capitalised
|
|
1772
|
-
* label. The classification is keyed off the MIME subtype (or the bare
|
|
1773
|
-
* extension) so adding a new entry only ever requires touching the
|
|
1774
|
-
* tables below.
|
|
1775
|
-
*
|
|
1776
|
-
* Falls back to the file name's extension when ``file_type`` is
|
|
1777
|
-
* missing or unrecognised, and finally to ``Other`` so the cell never
|
|
1778
|
-
* renders empty.
|
|
1779
|
-
*/
|
|
1780
|
-
/**
|
|
1781
|
-
* Map a backend ``file_type`` value (extension OR MIME type) plus an
|
|
1782
|
-
* optional file name to a single short label suitable for a grid cell.
|
|
1783
|
-
*
|
|
1784
|
-
* Order:
|
|
1785
|
-
* 1. ``file_type`` looks like a MIME ("a/b") → MIME tables.
|
|
1786
|
-
* 2. ``file_type`` looks like a bare extension → extension table.
|
|
1787
|
-
* 3. ``file_name`` extension as a last-resort fallback.
|
|
1788
|
-
* 4. ``"Other"``.
|
|
1789
|
-
*/
|
|
1790
|
-
declare function friendlyFileType(fileType?: string | null, fileName?: string | null): string;
|
|
1791
|
-
|
|
1792
|
-
/** The one relative-time formatter: the notification bell, the DM kit, thread lists, webinar
|
|
1793
|
-
* panels, workspace cards, connector syncs and studio widgets all use it (no type imports, so the
|
|
1794
|
-
* SDK-free `/shell` and `/ui` entries can use it). */
|
|
1795
|
-
interface FormatRelativeTimeOptions {
|
|
1796
|
-
/** The reference instant in epoch milliseconds (default: now). */
|
|
1797
|
-
now?: number;
|
|
1798
|
-
/** `long` (default): "2 hours ago"; `short`: "2 hr. ago", for tight rows; `compact`: "2h ago",
|
|
1799
|
-
* for status lines and dense widgets. */
|
|
1800
|
-
style?: Intl.RelativeTimeFormatStyle | 'compact';
|
|
1801
|
-
}
|
|
1802
|
-
/** Relative time of an ISO timestamp, past or future: "2 hours ago", "in 3 days", "just now".
|
|
1803
|
-
* Empty for an unparseable timestamp. */
|
|
1804
|
-
declare function formatRelativeTime(iso: string, options?: FormatRelativeTimeOptions): string;
|
|
1805
|
-
|
|
1806
|
-
interface UserMenuItem {
|
|
1807
|
-
label: string;
|
|
1808
|
-
icon?: ComponentType<{
|
|
1809
|
-
className?: string;
|
|
1810
|
-
}>;
|
|
1811
|
-
onSelect: () => void;
|
|
1812
|
-
testId?: string;
|
|
1813
|
-
/** A count or short state on the right (e.g. the number of files processing). */
|
|
1814
|
-
badge?: string | number;
|
|
1815
|
-
/** A small unread dot on the icon (e.g. new messages). */
|
|
1816
|
-
dot?: boolean;
|
|
1817
|
-
/** Makes the row a labelled on/off switch (role menuitemcheckbox); selecting it flips the state. */
|
|
1818
|
-
checked?: boolean;
|
|
1819
|
-
/** Draw a divider above this row to start a new group. */
|
|
1820
|
-
separatorBefore?: boolean;
|
|
1821
|
-
}
|
|
1822
|
-
/** Connection/presence state shown as a dot on the avatar and a line under the
|
|
1823
|
-
* email — the account menu is where "am I connected" belongs. */
|
|
1824
|
-
interface UserMenuStatus {
|
|
1825
|
-
/** Short state word — "Connected", "Working offline". */
|
|
1826
|
-
label: string;
|
|
1827
|
-
tone: 'online' | 'busy' | 'offline';
|
|
1828
|
-
/** Fine print under the label (e.g. the server domain). */
|
|
1829
|
-
detail?: string;
|
|
1830
|
-
testId?: string;
|
|
1831
|
-
}
|
|
1832
|
-
interface UserMenuProps {
|
|
1833
|
-
user: {
|
|
1834
|
-
name: string;
|
|
1835
|
-
email?: string | null;
|
|
1836
|
-
picture?: string | null;
|
|
1837
|
-
};
|
|
1838
|
-
/** Optional connection status: avatar dot + a line in the dropdown header. */
|
|
1839
|
-
status?: UserMenuStatus;
|
|
1840
|
-
/** Account actions above the sign-out divider (e.g. Settings). */
|
|
1841
|
-
items?: UserMenuItem[];
|
|
1842
|
-
onLogout: () => void;
|
|
1843
|
-
logoutLabel?: string;
|
|
1844
|
-
align?: 'start' | 'center' | 'end';
|
|
1845
|
-
/** Which side of the trigger the menu opens on (a footer trigger opens upward or sideways). */
|
|
1846
|
-
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
1847
|
-
/**
|
|
1848
|
-
* `avatar` (default): avatar + chevron. `account`: a full-width account bar, avatar + display
|
|
1849
|
-
* name + chevron, for a sidebar footer.
|
|
1850
|
-
*/
|
|
1851
|
-
variant?: 'avatar' | 'account';
|
|
1852
|
-
/** `avatar` only: draw the chevron (the icon-only rail hides it). */
|
|
1853
|
-
showChevron?: boolean;
|
|
1854
|
-
classNames?: {
|
|
1855
|
-
trigger?: string;
|
|
1856
|
-
fallback?: string;
|
|
1857
|
-
};
|
|
1858
|
-
testId?: string;
|
|
1859
|
-
logoutTestId?: string;
|
|
1860
|
-
}
|
|
1861
|
-
declare function UserMenu({ user, status, items, onLogout, logoutLabel, align, side, variant, showChevron, classNames, testId, logoutTestId, }: UserMenuProps): React.JSX.Element;
|
|
1862
|
-
|
|
1863
|
-
/**
|
|
1864
|
-
* A document's fields as the lists show them: the metadata the pipeline extracts (date, type,
|
|
1865
|
-
* author, abstract), whether it can join a conversation, and its folder path in canonical form
|
|
1866
|
-
* (the form folder filters and the explorer navigate by).
|
|
1867
|
-
*/
|
|
1868
|
-
/** What these read of a document (a workspace document has them all). */
|
|
1869
|
-
interface Doc {
|
|
1870
|
-
status?: string | null;
|
|
1871
|
-
doc_metadata?: {
|
|
1872
|
-
doc_date?: string | null;
|
|
1873
|
-
doc_nature?: string | null;
|
|
1874
|
-
doc_author?: string | null;
|
|
1875
|
-
doc_subject?: string | null;
|
|
1876
|
-
} | null;
|
|
1877
|
-
}
|
|
1878
|
-
/**
|
|
1879
|
-
* Whether a document can be added to a conversation. This is the single source
|
|
1880
|
-
* of truth shared by the add flow (`useAddToConversation`) and any UI that
|
|
1881
|
-
* counts/enables an "Add" affordance — so a badge never advertises a document
|
|
1882
|
-
* that the add flow will silently refuse (e.g. a 'skipped' document).
|
|
1883
|
-
*/
|
|
1884
|
-
declare const isDocumentAddableToConversation: (document: Doc | null | undefined) => boolean;
|
|
1885
|
-
/**
|
|
1886
|
-
* Gets the date of a document from doc_metadata.
|
|
1887
|
-
* @param document Document to get date from
|
|
1888
|
-
* @returns Document date string or undefined
|
|
1889
|
-
*/
|
|
1890
|
-
declare const getDocumentDate: (document: Doc | null | undefined) => string | null | undefined;
|
|
1891
|
-
/**
|
|
1892
|
-
* Format a doc_date for display. Date-only values ("YYYY-MM-DD") are shown as-is;
|
|
1893
|
-
* full datetimes (e.g. emails, "...T14:30:00Z") are shown as "YYYY-MM-DD HH:MM"
|
|
1894
|
-
* in local time. Invalid/empty values return an empty string.
|
|
1895
|
-
*/
|
|
1896
|
-
declare const formatDocDate: (value?: string | null) => string;
|
|
1897
|
-
/**
|
|
1898
|
-
* Gets the document nature (type) from doc_metadata.
|
|
1899
|
-
* @param document Document to get nature from
|
|
1900
|
-
* @returns Document nature (e.g., email, contract, memorandum) or undefined
|
|
1901
|
-
*/
|
|
1902
|
-
declare const getDocumentNature: (document: Doc | null | undefined) => string | null | undefined;
|
|
1903
|
-
/**
|
|
1904
|
-
* Gets the document author from doc_metadata.
|
|
1905
|
-
* @param document Document to get author from
|
|
1906
|
-
* @returns Document author or undefined
|
|
1907
|
-
*/
|
|
1908
|
-
declare const getDocumentAuthor: (document: Doc | null | undefined) => string | null | undefined;
|
|
1909
|
-
/**
|
|
1910
|
-
* Gets the document subject from doc_metadata.
|
|
1911
|
-
* @param document Document to get subject from
|
|
1912
|
-
* @returns Document subject or undefined
|
|
1913
|
-
*/
|
|
1914
|
-
declare const getDocumentSubject: (document: Doc | null | undefined) => string | null | undefined;
|
|
1915
|
-
/**
|
|
1916
|
-
* Default metadata tags that are automatically applied to all documents during indexing.
|
|
1917
|
-
* These are generated by AI during document processing and cannot be disabled.
|
|
1918
|
-
* Keep in sync with backend DocTagLLMConfig.DEFAULT_METADATA_TAGS
|
|
1919
|
-
*/
|
|
1920
|
-
declare const DEFAULT_METADATA_TAGS: readonly [{
|
|
1921
|
-
readonly name: "doc_date";
|
|
1922
|
-
readonly label: "Date";
|
|
1923
|
-
}, {
|
|
1924
|
-
readonly name: "doc_nature";
|
|
1925
|
-
readonly label: "Type";
|
|
1926
|
-
}, {
|
|
1927
|
-
readonly name: "doc_author";
|
|
1928
|
-
readonly label: "Author";
|
|
1929
|
-
}, {
|
|
1930
|
-
readonly name: "doc_subject";
|
|
1931
|
-
readonly label: "Abstract";
|
|
1932
|
-
}];
|
|
1933
|
-
/**
|
|
1934
|
-
* Canonicalizes a `Doc.folder` path: trims each segment and drops empty ones,
|
|
1935
|
-
* returning null for a blank path. Drive-synced folders use provider names
|
|
1936
|
-
* verbatim, which can carry stray whitespace ("Google Drive (u)/Reports ");
|
|
1937
|
-
* the explorer navigates via trimmed segments, so folder filter IDs and
|
|
1938
|
-
* navigation keys must agree on this canonical form.
|
|
1939
|
-
*/
|
|
1940
|
-
declare const canonicalFolderPath: (folder: string | null | undefined) => string | null;
|
|
1941
|
-
/** One row of a folder picker: the folder itself plus every ancestor above it. */
|
|
1942
|
-
interface FolderTreeNode {
|
|
1943
|
-
/** Canonical path — the same form folder filter IDs are built from. */
|
|
1944
|
-
path: string;
|
|
1945
|
-
/** Last segment, for display. */
|
|
1946
|
-
label: string;
|
|
1947
|
-
/** How far down the tree, for indentation. */
|
|
1948
|
-
depth: number;
|
|
1949
|
-
/** Documents at or below this folder. */
|
|
1950
|
-
count: number;
|
|
1951
|
-
}
|
|
1952
|
-
/**
|
|
1953
|
-
* Builds the folder rows a picker shows, from the documents themselves.
|
|
1954
|
-
*
|
|
1955
|
-
* Every path here is canonical, and that is the point: a folder filter ID is
|
|
1956
|
-
* `folder:${canonicalFolderPath(doc.folder)}`, and an ID outside that set is
|
|
1957
|
-
* dropped as invalid — so a picker that emitted the raw path (" Reports / Q1 ",
|
|
1958
|
-
* or "/Inbox" with its phantom blank root) would send the view back to "All"
|
|
1959
|
-
* instead of into the folder the user clicked.
|
|
1960
|
-
*/
|
|
1961
|
-
declare const buildFolderTree: (docs: {
|
|
1962
|
-
folder?: string | null;
|
|
1963
|
-
}[]) => {
|
|
1964
|
-
nodes: FolderTreeNode[];
|
|
1965
|
-
unfiledCount: number;
|
|
1966
|
-
};
|
|
1967
|
-
/**
|
|
1968
|
-
* Formats a folder path for display: "Reports/Q1/January" → "../../January"
|
|
1969
|
-
* Shows depth via `../` prefixes and only the last segment name.
|
|
1970
|
-
* @param path Folder path string (slash-separated)
|
|
1971
|
-
* @returns Formatted display label
|
|
1972
|
-
*/
|
|
1973
|
-
declare const formatFolderLabel: (path: string | null | undefined) => string;
|
|
1974
|
-
/**
|
|
1975
|
-
* Fallback labels for standard document columns when grid isn't ready yet.
|
|
1976
|
-
* These match the headerName values in createDocumentColumns.tsx.
|
|
1977
|
-
*/
|
|
1978
|
-
declare const COLUMN_LABEL_FALLBACKS: Record<string, string>;
|
|
1979
|
-
|
|
1980
|
-
/**
|
|
1981
|
-
* User Utilities
|
|
1982
|
-
*
|
|
1983
|
-
* A person's display name, avatar colour and initials, the same in every surface.
|
|
1984
|
-
* Uses deterministic color mapping based on user ID (5th character of ID).
|
|
1985
|
-
*
|
|
1986
|
-
* NOTE: given_name and family_name are required fields.
|
|
1987
|
-
*/
|
|
1988
|
-
|
|
1989
|
-
/**
|
|
1990
|
-
* Check if a user is an agent (external_id starts with 'agt-')
|
|
1991
|
-
*/
|
|
1992
|
-
declare function isAgent(user: {
|
|
1993
|
-
external_id: string;
|
|
1994
|
-
}): boolean;
|
|
1995
|
-
/**
|
|
1996
|
-
* Generate consistent avatar color based on user ID
|
|
1997
|
-
* Uses same pattern as workspace colors - extracts 5th character for deterministic mapping
|
|
1998
|
-
*/
|
|
1999
|
-
declare function getUserAvatarColor(userId: string): string;
|
|
2000
|
-
/**
|
|
2001
|
-
* Get user initials from given_name and family_name (both required)
|
|
2002
|
-
* Returns first letter of each name, e.g. "John Doe" -> "JD"
|
|
2003
|
-
*/
|
|
2004
|
-
declare function getUserInitials(user: {
|
|
2005
|
-
given_name: string;
|
|
2006
|
-
family_name?: string | null;
|
|
2007
|
-
}): string;
|
|
2008
|
-
/**
|
|
2009
|
-
* Get user display name from given_name and family_name (both required)
|
|
2010
|
-
* Returns full name, e.g. "John Doe"
|
|
2011
|
-
*/
|
|
2012
|
-
declare function getUserDisplayName(user: {
|
|
2013
|
-
given_name: string;
|
|
2014
|
-
family_name?: string | null;
|
|
2015
|
-
}): string;
|
|
2016
|
-
/**
|
|
2017
|
-
* Create a user avatar icon element for use in toast notifications.
|
|
2018
|
-
* This is a simple React element (not a component with hooks) so it can be
|
|
2019
|
-
* used outside of React component context (e.g., in WebSocket handlers).
|
|
2020
|
-
*/
|
|
2021
|
-
declare function createUserAvatarIcon(user: {
|
|
2022
|
-
external_id: string;
|
|
2023
|
-
given_name: string;
|
|
2024
|
-
family_name?: string | null;
|
|
2025
|
-
picture?: string | null;
|
|
2026
|
-
}): React__default.ReactElement;
|
|
2027
|
-
|
|
2028
|
-
/**
|
|
2029
|
-
* Core utility: `cn()` — merge class names with Tailwind-aware conflict
|
|
2030
|
-
* resolution (clsx + tailwind-merge). Copied faithfully from the ARBI app so the
|
|
2031
|
-
* promoted "lego" components style identically in a consumer app.
|
|
2032
|
-
*/
|
|
2033
|
-
|
|
2034
|
-
declare function cn(...inputs: ClassValue[]): string;
|
|
2035
|
-
|
|
2036
|
-
export { DropdownMenuContent as $, ARBI_MARK_SRC as A, BASE_COLORS as B, COLUMN_LABEL_FALLBACKS as C, CommandItem as D, CommandList as E, CommandSeparator as F, CommandShortcut as G, DEFAULT_METADATA_TAGS as H, DebouncedInput as I, type DebouncedInputProps as J, Dialog as K, DialogClose as L, DialogContent as M, DialogDescription as N, DialogFooter as O, DialogHeader as P, DialogOverlay as Q, DialogPortal as R, type DialogPresentation as S, DialogTitle as T, DialogTrigger as U, type DictateContextValue as V, DocumentEntity as W, type DocumentEntityProps as X, type DocumentLike as Y, DropdownMenu as Z, DropdownMenuCheckboxItem as _, AgentBadge as a, type ProjectRelation as a$, DropdownMenuGroup as a0, DropdownMenuItem as a1, DropdownMenuLabel as a2, DropdownMenuPortal as a3, DropdownMenuRadioGroup as a4, DropdownMenuRadioItem as a5, DropdownMenuSeparator as a6, DropdownMenuShortcut as a7, DropdownMenuSub as a8, DropdownMenuSubContent as a9, type IdentityVerificationFlow as aA, Input as aB, type InputProps as aC, Label as aD, MarkMenu as aE, type MarkMenuItem as aF, type MarkMenuProps as aG, MarkdownCode as aH, MarkdownLink as aI, MarkdownRenderer as aJ, type MarkdownRendererProps as aK, MarkdownStreamingContext as aL, NEUTRAL_GRAY as aM, PLACEHOLDER_COLOR as aN, PassageCard as aO, type PassageCardProps as aP, Popover as aQ, PopoverAnchor as aR, PopoverClose as aS, PopoverContent as aT, PopoverTrigger as aU, PortalContainerProvider as aV, type PresenceDisplayStatus as aW, PresenceLabel as aX, Progress as aY, ProjectEntity as aZ, type ProjectEntityProps as a_, DropdownMenuSubTrigger as aa, DropdownMenuTrigger as ab, ENTITY_MAPPINGS as ac, EntityIcon as ad, type EntityIconComponent as ae, type EntityLabelForm as af, type EntityNoun as ag, EntityPill as ah, type EntityRegistryOverride as ai, type EntitySize as aj, type EntityType as ak, type EntityVocabulary as al, type FileTypeIcon as am, type FolderTreeNode as an, type FormatRelativeTimeOptions as ao, HoverCard as ap, HoverCardContent as aq, HoverCardTrigger as ar, IconToggle as as, type IconToggleProps as at, type IdentityBusy as au, type IdentityProblem as av, type IdentityPurchase as aw, type IdentityState as ax, type IdentityStatus as ay, type IdentityStep as az, AiMarkdown as b, VisibilityIcon as b$, ProviderIcon as b0, RadioGroup as b1, RadioGroupItem as b2, type Rag as b3, ScrollArea as b4, ScrollBar as b5, Select as b6, SelectContent as b7, SelectGroup as b8, SelectItem as b9, Tabs as bA, TabsContent as bB, TabsList as bC, TabsTrigger as bD, TagEntity as bE, type TagEntityProps as bF, type TagLike as bG, Textarea as bH, type TextareaProps as bI, ThreadVisibilityIcon as bJ, Toggle as bK, ToggleGroup as bL, ToggleGroupItem as bM, Tooltip as bN, TooltipContent as bO, TooltipProvider as bP, TooltipTrigger as bQ, UserEntity as bR, type UserEntityProps as bS, UserMenu as bT, type UserMenuItem as bU, type UserMenuProps as bV, type UserMenuStatus as bW, VISIBILITY_ICONS as bX, VerifiedBadge as bY, type VerifiedBadgeProps as bZ, VerifiedToggle as b_, SelectLabel as ba, SelectScrollDownButton as bb, SelectScrollUpButton as bc, SelectSeparator as bd, SelectTrigger as be, SelectValue as bf, Separator as bg, ShieldIcon as bh, type ShieldIconProps as bi, Slider as bj, type StatusBadgeComponent as bk, type StatusBadgeProps as bl, StatusPill as bm, type StatusPillProps as bn, type StatusVariant as bo, Switch as bp, TAG_TYPE_ICONS as bq, TAG_TYPE_LABELS as br, Table as bs, TableBody as bt, TableCaption as bu, TableCell as bv, TableFooter as bw, TableHead as bx, TableHeader as by, TableRow as bz, ArbiIcon as c, VisibilityToggle as c0, type VisibilityToggleProps as c1, agentAvatarColors as c2, badgeVariants as c3, buildFolderTree as c4, buttonVariants as c5, canonicalFolderPath as c6, cardVariants as c7, closeOpenEmphasis as c8, cn as c9, getTagTypeIcon as cA, getTagTypeLabel as cB, getUserAvatarColor as cC, getUserDisplayName as cD, getUserInitials as cE, getWorkspaceColor as cF, isAgent as cG, isAudioFile as cH, isDocumentAddableToConversation as cI, isDownloadOnlyFile as cJ, isImageDocument as cK, isImageFile as cL, isMediaFile as cM, isVideoFile as cN, markdownBaseComponents as cO, markdownSanitizeSchema as cP, markdownToPlainText as cQ, markdownToPlainTextBlocks as cR, normalizeCitationMarkup as cS, splitMarkdownBlocks as cT, tagKindNouns as cU, tagKindTitle as cV, toggleVariants as cW, trimOpenCitation as cX, useDictateContext as cY, usePortalContainer as cZ, usesOriginalBytesForViewer as c_, configureEntityRegistry as ca, configureEntityVocabulary as cb, configureRagLabels as cc, configureStatusRegistry as cd, createUserAvatarIcon as ce, entityNoun as cf, extensionFromMime as cg, formatCompactLastSeen as ch, formatDocDate as ci, formatFolderLabel as cj, formatFriendlyDate as ck, formatRelativeTime as cl, friendlyFileType as cm, getDocIcon as cn, getDocumentAuthor as co, getDocumentDate as cp, getDocumentNature as cq, getDocumentSubject as cr, getDocumentTitle as cs, getEntityColor as ct, getEntityColorStyles as cu, getEntityIcon as cv, getEntityLabel as cw, getFileExtension as cx, getFileTypeIcon as cy, getStatusVariant as cz, Avatar as d, AvatarFallback as e, AvatarImage as f, Badge as g, type BadgeProps as h, Button as i, type ButtonProps as j, Card as k, CardContent as l, CardDescription as m, CardFooter as n, CardHeader as o, type CardProps as p, CardTitle as q, Checkbox as r, Collapsible as s, CollapsibleContent as t, CollapsibleTrigger as u, Command as v, CommandDialog as w, CommandEmpty as x, CommandGroup as y, CommandInput as z };
|