@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
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/host/assistant-copy.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * What the kits call the assistant in their own words, from the host's name for it\n * (`ArbiHostConfig.assistantName`, also what people @mention). One label source: every kit phrase\n * that names the assistant is here, written once around the name, so a custom site's name shows\n * everywhere and ARBI's own text is unchanged (\"ARBI\" when the host names it nothing else).\n *\n * const copy = useAssistantCopy()\n * <Button>{copy.ask}</Button> // \"Ask ARBI\", or \"Ask Acme Assistant\"\n *\n * SDK-free: exported from `@arbidocs/react/shell` too, for presentational parts.\n */\nimport { useMemo } from 'react'\n// The record, not `useArbiHost` (`./config` names the SDK's types): this module stays SDK-free.\nimport { useHostConfigRecord } from './context'\n\n/** The assistant's name when the host names it nothing else. */\nexport const DEFAULT_ASSISTANT_NAME = 'ARBI'\n\n/** Every kit phrase that names the assistant. */\nexport interface AssistantCopy {\n /** The name itself. */\n name: string\n /** \"Ask ARBI\": a button or tab that starts a question. */\n ask: string\n /** \"Ask ARBI anything\": an empty list's call to ask. */\n askAnything: string\n /** \"Ask ARBI anything\u2026\": the chat composer's placeholder. */\n askAnythingPlaceholder: string\n /** \"Ask ARBI...\": a compact composer's placeholder. */\n askPlaceholder: string\n /** \"Ask ARBI about your documents\": the empty chat's heading. */\n askAboutDocuments: string\n /** The files bulk bar's chat tooltip. */\n askAboutSelection: string\n /** \"ARBI is asking\": the heading over a question the assistant asks. */\n isAsking: string\n /** The composer's placeholder while the assistant waits for an answer. */\n answerPlaceholder: string\n /** The empty threads list, with the composer below it. */\n emptyThreadsComposer: string\n /** The empty threads list, with a New Task button. */\n emptyThreadsNewTask: string\n /** The drafting chip's hint while the thread drafts in a document. */\n draftingHint: string\n /** The drafting chip's hint before the document is attached. */\n draftingAttachHint: string\n /** The chat's facts tab note. */\n factsInContext: (facts: string) => string\n /** \"Ask one question \u2014 ARBI answers it for each of \u2026\": the AI review's ask step. */\n reviewEach: (count: number, scope: string) => string\n /** The facts bar's note on the chat's facts budget. */\n factsBudgetHint: string\n /** An AI review cell left without an answer. */\n noAnswerHint: string\n /** The new-thread dialog's button that hands the thread to the assistant. */\n startWith: string\n /** The mail action bar's \"Reply with ARBI\". */\n replyWith: string\n /** The Word editor's comment button that @mentions the assistant. */\n include: string\n /** A reply to an email asked for outside a workspace. */\n replyNeedsWorkspace: string\n /** After an upload. */\n uploadedIndexing: string\n /** Before an upload completes. */\n afterUpload: string\n /** The built-in Deep research workflow's description and details. */\n deepResearch: { description: string; details: string }\n /** The built-in AI annotation operation's details. */\n annotate: { details: string; placeholder: string }\n}\n\nconst plural = (n: number) => (n === 1 ? '' : 's')\n\n/** The phrases for one name. `assistantCopy()` is ARBI's own text. */\nexport function assistantCopy(name: string = DEFAULT_ASSISTANT_NAME): AssistantCopy {\n return {\n name,\n ask: `Ask ${name}`,\n askAnything: `Ask ${name} anything`,\n askAnythingPlaceholder: `Ask ${name} anything\u2026`,\n askPlaceholder: `Ask ${name}...`,\n askAboutDocuments: `Ask ${name} about your documents`,\n askAboutSelection: `Ask ${name} about the selected document(s) in a new thread`,\n isAsking: `${name} is asking`,\n answerPlaceholder: `Type your answer to ${name} \u2014 or pick an option above`,\n emptyThreadsComposer: `Type below to ask ${name}, bring in people, or both.`,\n emptyThreadsNewTask: `Use New Task to ask ${name}, bring in people, or both.`,\n draftingHint: `This thread works in the document: ${name} reads what it needs and makes its edits as tracked changes you accept or reject.`,\n draftingAttachHint: `Attach the open document to this thread: its questions then edit the document as tracked changes. Until then, ${name} only answers.`,\n factsInContext: (facts) =>\n `${facts} added to this chat are always in ${name}'s context for this chat.`,\n reviewEach: (count, scope) =>\n `Ask one question \u2014 ${name} answers it for each of the ${count} ${scope} document${plural(count)}.`,\n factsBudgetHint: `Facts added to this chat are always in ${name}'s context for this chat, so they share one budget. This estimates the tokens they add (\u22484 characters per token), capped at ~2,000.`,\n noAnswerHint: `${name} finished this document without an answer for this field. The document may not say, or the request failed. Run it again to retry.`,\n startWith: `Start with ${name}`,\n replyWith: `Reply with ${name}`,\n include: `Include ${name}`,\n replyNeedsWorkspace: `Open a workspace to chat with ${name} about this email`,\n uploadedIndexing: `Files uploaded successfully. ${name} is now indexing them in the background.`,\n afterUpload: `After upload completes, ${name} will index files in the background.`,\n deepResearch: {\n description: `Send ${name} through your files and the web, and get an answer with sources`,\n details: `${name} searches your files and the web, then answers with the sources it used. You\u2019ll see the research unfold in the chat.`,\n },\n annotate: {\n details: `Ask one question \u2014 ${name} answers it for every selected file and fills a new column with the answers.`,\n placeholder: `What should ${name} read out? e.g. What currency is the penalty clause denominated in?`,\n },\n }\n}\n\n/** The host's name for its assistant (`ArbiHostConfig.assistantName`), else \"ARBI\". */\nexport function useAssistantName(): string {\n const name = useHostConfigRecord().assistantName\n return (typeof name === 'string' && name.trim()) || DEFAULT_ASSISTANT_NAME\n}\n\n/** The kit phrases for the host's assistant name. */\nexport function useAssistantCopy(): AssistantCopy {\n const name = useAssistantName()\n return useMemo(() => assistantCopy(name), [name])\n}\n"],
|
|
5
|
+
"mappings": "AAWA,SAAS,eAAe;AAExB,SAAS,2BAA2B;AAG7B,MAAM,yBAAyB;AAwDtC,MAAM,SAAS,CAAC,MAAe,MAAM,IAAI,KAAK;AAGvC,SAAS,cAAc,OAAe,wBAAuC;AAClF,SAAO;AAAA,IACL;AAAA,IACA,KAAK,OAAO,IAAI;AAAA,IAChB,aAAa,OAAO,IAAI;AAAA,IACxB,wBAAwB,OAAO,IAAI;AAAA,IACnC,gBAAgB,OAAO,IAAI;AAAA,IAC3B,mBAAmB,OAAO,IAAI;AAAA,IAC9B,mBAAmB,OAAO,IAAI;AAAA,IAC9B,UAAU,GAAG,IAAI;AAAA,IACjB,mBAAmB,uBAAuB,IAAI;AAAA,IAC9C,sBAAsB,qBAAqB,IAAI;AAAA,IAC/C,qBAAqB,uBAAuB,IAAI;AAAA,IAChD,cAAc,sCAAsC,IAAI;AAAA,IACxD,oBAAoB,iHAAiH,IAAI;AAAA,IACzI,gBAAgB,CAAC,UACf,GAAG,KAAK,qCAAqC,IAAI;AAAA,IACnD,YAAY,CAAC,OAAO,UAClB,2BAAsB,IAAI,+BAA+B,KAAK,IAAI,KAAK,YAAY,OAAO,KAAK,CAAC;AAAA,IAClG,iBAAiB,0CAA0C,IAAI;AAAA,IAC/D,cAAc,GAAG,IAAI;AAAA,IACrB,WAAW,cAAc,IAAI;AAAA,IAC7B,WAAW,cAAc,IAAI;AAAA,IAC7B,SAAS,WAAW,IAAI;AAAA,IACxB,qBAAqB,iCAAiC,IAAI;AAAA,IAC1D,kBAAkB,gCAAgC,IAAI;AAAA,IACtD,aAAa,2BAA2B,IAAI;AAAA,IAC5C,cAAc;AAAA,MACZ,aAAa,QAAQ,IAAI;AAAA,MACzB,SAAS,GAAG,IAAI;AAAA,IAClB;AAAA,IACA,UAAU;AAAA,MACR,SAAS,2BAAsB,IAAI;AAAA,MACnC,aAAa,eAAe,IAAI;AAAA,IAClC;AAAA,EACF;AACF;AAGO,SAAS,mBAA2B;AACzC,QAAM,OAAO,oBAAoB,EAAE;AACnC,SAAQ,OAAO,SAAS,YAAY,KAAK,KAAK,KAAM;AACtD;AAGO,SAAS,mBAAkC;AAChD,QAAM,OAAO,iBAAiB;AAC9B,SAAO,QAAQ,MAAM,cAAc,IAAI,GAAG,CAAC,IAAI,CAAC;AAClD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/host/config.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * What a host hands the `@arbidocs/react` hooks, as one configuration (`<ArbiHost config>`). Every\n * field is optional: without one the hooks use their own default. `@arbidocs/blocks` extends it\n * with the blocks domains (environment, billing, viewer, \u2026).\n *\n * A field whose value lives in the host's state is a hook (`use\u2026`), called by the hooks and kits\n * that need it, so the configuration itself stays one stable object for the host's life.\n */\n\nimport { useContext } from 'react'\nimport type { Arbi } from '@arbidocs/sdk/browser'\nimport type { AccountClient } from '../account/client'\nimport type { CalendarSupport } from '../calendar/support'\nimport type { MeetingChatRef } from '../calls/meeting-chat'\nimport type { ActiveCall } from '../calls/session'\nimport type { ArbiChatHost } from '../chat/host'\nimport type { DocumentsSupport } from '../documents/support'\nimport type { MailClient } from '../mail/client'\nimport type { ArbiSessionStore } from '../session/store'\nimport type { DictateContextValue } from '../ui/DictateContext'\nimport type { EntityVocabulary } from '../entities/vocabulary'\nimport type { ArbiHostConnection } from './ArbiHost'\nimport type { ArbiFeatures } from './features'\nimport { ArbiHostContext } from './context'\nimport type { DashboardsHost } from '../datasets/registry'\n\n/** The mail client, and whether mail is on for the signed-in user. */\nexport interface MailHost {\n client: MailClient\n /**\n * Whether mail reads run (signed in and entitled), and the server session the mailbox is\n * unlocked for: unlocking runs again when it changes (`null`: none yet, nothing is unlocked).\n * Absent: on, for one session.\n */\n useStatus?: () => { enabled: boolean; sessionKey: string | null }\n /**\n * The mail waiting in this device's Outbox (written offline), by status, while `enabled` (Mail\n * switched on); the offline status counts it as waiting work. Absent: no Outbox.\n */\n useOutbox?: (enabled: boolean) => ReadonlyArray<{ status: string }>\n /** The Outbox's folder, opened through `openMail({ folder })`. */\n outboxFolder?: string\n}\n\n/** The account client of the settings kits, and whether account reads run (signed in). */\nexport interface AccountHost {\n client: AccountClient\n /** Absent: always. */\n useEnabled?: () => boolean\n}\n\n/** Where the call panel goes in the host's layout. */\nexport type CallSlotMode = 'docked' | 'main'\n\n/** What the calls need from the host: navigation and layout are the host's. */\nexport interface CallsHost {\n /**\n * Show a call's meeting chat: an end-to-end chat, or a workspace meeting thread. Absent: the\n * in-call \"Open meeting chat\" does nothing.\n */\n openMeetingChat?: (ref: MeetingChatRef) => void\n /**\n * Once connected, show the call's conversation (its chat and live transcript) beside the call.\n * Absent: nothing is shown.\n */\n showConversation?: (call: ActiveCall) => void | Promise<void>\n /**\n * The element whose box the shown call fills: the right-hand dock, or (a webinar's audience) the\n * main area. The host claims its slot while `shown` and calls `onLost` when another panel takes\n * it (the call then minimises). Absent: the call floats at the right edge.\n */\n useSlot?: (mode: CallSlotMode, shown: boolean, onLost: () => void) => HTMLElement | null\n}\n\nexport interface ArbiHostConfig {\n /**\n * The SDK on the signed-in session. A host with its own login passes one on its session\n * (`new Arbi({ url, session })`); a blocks-only site gets one from `defaultHost`. A new instance (a\n * new session, a newly opened workspace) re-renders every hook.\n */\n arbi?: Arbi\n /** The session state the kits share. Absent: an in-memory one per top-level host. */\n session?: ArbiSessionStore\n /** Live processing, uploads and the host's document actions. Absent: the package's own. */\n documents?: DocumentsSupport\n /** The calendar kept on this device and account OAuth. Absent: online only, the user's connectors. */\n calendar?: CalendarSupport\n /** Absent: mail on the `arbi` session. */\n mail?: MailHost\n /** Absent: the account on the `arbi` session. */\n account?: AccountHost\n /** Absent: calls open no meeting chat from the room. */\n calls?: CallsHost\n /**\n * The parts of the product the user switches on or off, and where each switch is kept (the user's\n * settings, or this device), read with `useFeature(name)`. The call UI also follows the `calls`\n * feature, on top of the server's calls config. Absent, or a feature not listed: on.\n */\n features?: ArbiFeatures\n /** Dictation for every `dictate` field. Absent: no mic button. */\n dictate?: DictateContextValue\n /** The sign-in layer of a blocks-only site (`defaultHost` in `@arbidocs/blocks/connect`). */\n connection?: ArbiHostConnection\n /** Where the chat engine's side effects go (documents shown, mail drafts, used-up quota). */\n chat?: ArbiChatHost\n /**\n * The site's words for the entities (`{ PROJECT: 'Matter' }`), read by every kit through\n * `getEntityLabel`. Absent: the registry's (\"Project\", \"Workspace\", \"Thread\", \u2026).\n */\n vocabulary?: EntityVocabulary\n /**\n * What the site calls its assistant where people address it: the `@<name>` offered in a chat's\n * mention menu, the draft a shared thread starts with, and the name a message is routed to the\n * assistant on. Absent: \"ARBI\".\n */\n assistantName?: string\n /**\n * Charts and dashboards: more data sources (an external feed, a source relabelled in the site's\n * words) and where saved dashboards are kept. Absent: the built-in sources, saved in a database.\n */\n dashboards?: DashboardsHost\n}\n\n/** The host configuration in scope (`{}` outside an `<ArbiHost>`). */\nexport function useArbiHost(): ArbiHostConfig {\n return useContext(ArbiHostContext) as ArbiHostConfig\n}\n"],
|
|
5
|
+
"mappings": "AASA,SAAS,kBAAkB;AAc3B,SAAS,uBAAuB;AAqGzB,SAAS,cAA8B;AAC5C,SAAO,WAAW,eAAe;AACnC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
const ArbiHostContext = createContext({});
|
|
3
|
+
function useHostConfigRecord() {
|
|
4
|
+
return useContext(ArbiHostContext);
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
ArbiHostContext,
|
|
8
|
+
useHostConfigRecord
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/host/context.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * The host configuration's React context: one value for the whole tree, set by `<ArbiHost>`\n * (./ArbiHost.tsx). It is untyped here so the SDK-free slices (`/ui`, `/shell`, the blocks root)\n * can read their part (`dictate`, `environment`) without reaching the SDK's types; the typed read\n * is `useArbiHost()` (react) and `useHost()` (blocks).\n */\n\nimport { createContext, useContext } from 'react'\n\n/** The host configuration as stored: see `ArbiHostConfig`. */\nexport type HostConfigRecord = Readonly<Record<string, unknown>>\n\nexport const ArbiHostContext = createContext<HostConfigRecord>({})\n\n/** The host configuration in scope, untyped (`{}` outside an `<ArbiHost>`). */\nexport function useHostConfigRecord(): HostConfigRecord {\n return useContext(ArbiHostContext)\n}\n"],
|
|
5
|
+
"mappings": "AAOA,SAAS,eAAe,kBAAkB;AAKnC,MAAM,kBAAkB,cAAgC,CAAC,CAAC;AAG1D,SAAS,sBAAwC;AACtD,SAAO,WAAW,eAAe;AACnC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { useCallback, useMemo, useSyncExternalStore } from "react";
|
|
2
|
+
import { useUpdateUserSettings, useUserSettings } from "../account/settings.js";
|
|
3
|
+
import { useArbiHost } from "./config.js";
|
|
4
|
+
const ALWAYS_ON = { on: true, set: () => {
|
|
5
|
+
} };
|
|
6
|
+
function useUnlisted() {
|
|
7
|
+
return ALWAYS_ON;
|
|
8
|
+
}
|
|
9
|
+
function useUserSettingSwitch(source) {
|
|
10
|
+
const { userSetting, default: fallback } = source;
|
|
11
|
+
const { data } = useUserSettings();
|
|
12
|
+
const { mutate } = useUpdateUserSettings();
|
|
13
|
+
const saved = data?.[userSetting];
|
|
14
|
+
const set = useCallback((on) => mutate({ [userSetting]: on }), [mutate, userSetting]);
|
|
15
|
+
return { on: saved ?? fallback, set };
|
|
16
|
+
}
|
|
17
|
+
function useLocalSwitch(source, feature) {
|
|
18
|
+
const { local, default: fallback } = source;
|
|
19
|
+
const saved = useSyncExternalStore(local.subscribe, () => local.get(feature));
|
|
20
|
+
const set = useCallback((on) => local.set(feature, on), [local, feature]);
|
|
21
|
+
return { on: saved ?? fallback, set };
|
|
22
|
+
}
|
|
23
|
+
function useFeatureSwitch(feature) {
|
|
24
|
+
const source = useArbiHost().features?.[feature];
|
|
25
|
+
const useSource = !source ? useUnlisted : "userSetting" in source ? useUserSettingSwitch : useLocalSwitch;
|
|
26
|
+
return useSource(source, feature);
|
|
27
|
+
}
|
|
28
|
+
function useFeature(feature) {
|
|
29
|
+
return useFeatureSwitch(feature).on;
|
|
30
|
+
}
|
|
31
|
+
function useNoSettings() {
|
|
32
|
+
return { data: void 0 };
|
|
33
|
+
}
|
|
34
|
+
function useFeatureCheck() {
|
|
35
|
+
const features = useArbiHost().features;
|
|
36
|
+
const useSettings = Object.values(features ?? {}).some(
|
|
37
|
+
(source) => !!source && "userSetting" in source
|
|
38
|
+
) ? useUserSettings : useNoSettings;
|
|
39
|
+
const { data } = useSettings();
|
|
40
|
+
const locals = useMemo(() => {
|
|
41
|
+
const entries = Object.entries(features ?? {}).filter(
|
|
42
|
+
(entry) => !!entry[1] && "local" in entry[1]
|
|
43
|
+
);
|
|
44
|
+
return {
|
|
45
|
+
subscribe: (listener) => {
|
|
46
|
+
const stops = [...new Set(entries.map(([, source]) => source.local))].map(
|
|
47
|
+
(store) => store.subscribe(listener)
|
|
48
|
+
);
|
|
49
|
+
return () => stops.forEach((stop) => stop());
|
|
50
|
+
},
|
|
51
|
+
// A primitive snapshot, so an unrelated store write does not re-render.
|
|
52
|
+
snapshot: () => entries.map(([name, source]) => `${source.local.get(name)}`).join(",")
|
|
53
|
+
};
|
|
54
|
+
}, [features]);
|
|
55
|
+
useSyncExternalStore(locals.subscribe, locals.snapshot, locals.snapshot);
|
|
56
|
+
return (feature) => {
|
|
57
|
+
const source = features?.[feature];
|
|
58
|
+
if (!source) return true;
|
|
59
|
+
if ("local" in source) return source.local.get(feature) ?? source.default;
|
|
60
|
+
const saved = data?.[source.userSetting];
|
|
61
|
+
return saved ?? source.default;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function readLocalFeature(features, feature) {
|
|
65
|
+
const source = features[feature];
|
|
66
|
+
if (!source) return true;
|
|
67
|
+
if ("local" in source) return source.local.get(feature) ?? source.default;
|
|
68
|
+
return source.default;
|
|
69
|
+
}
|
|
70
|
+
function defaultStorage() {
|
|
71
|
+
try {
|
|
72
|
+
return typeof localStorage === "undefined" ? null : localStorage;
|
|
73
|
+
} catch {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function parseValues(raw) {
|
|
78
|
+
if (raw === null) return null;
|
|
79
|
+
try {
|
|
80
|
+
const parsed = JSON.parse(raw);
|
|
81
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) return {};
|
|
82
|
+
return Object.fromEntries(
|
|
83
|
+
Object.entries(parsed).filter(([, value]) => typeof value === "boolean")
|
|
84
|
+
);
|
|
85
|
+
} catch {
|
|
86
|
+
return {};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function createLocalFeatureStore({
|
|
90
|
+
key,
|
|
91
|
+
storage = defaultStorage(),
|
|
92
|
+
migrate
|
|
93
|
+
}) {
|
|
94
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
95
|
+
const read = () => {
|
|
96
|
+
try {
|
|
97
|
+
return storage?.getItem(key) ?? null;
|
|
98
|
+
} catch {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
const write = () => {
|
|
103
|
+
try {
|
|
104
|
+
storage?.setItem(key, JSON.stringify(values));
|
|
105
|
+
} catch {
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
const notify = () => listeners.forEach((listener) => listener());
|
|
109
|
+
const saved = parseValues(read());
|
|
110
|
+
let values = saved ?? {};
|
|
111
|
+
let hydrated = saved !== null || !migrate;
|
|
112
|
+
const ready = hydrated ? Promise.resolve() : migrate().catch((error) => {
|
|
113
|
+
console.warn(`[features] The saved ${key} could not be brought in`, error);
|
|
114
|
+
return null;
|
|
115
|
+
}).then((earlier) => {
|
|
116
|
+
values = { ...earlier ?? {}, ...values };
|
|
117
|
+
write();
|
|
118
|
+
hydrated = true;
|
|
119
|
+
notify();
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
get: (feature) => values[feature],
|
|
123
|
+
set(feature, on) {
|
|
124
|
+
if (values[feature] === on) return;
|
|
125
|
+
values = { ...values, [feature]: on };
|
|
126
|
+
write();
|
|
127
|
+
notify();
|
|
128
|
+
},
|
|
129
|
+
subscribe(listener) {
|
|
130
|
+
listeners.add(listener);
|
|
131
|
+
return () => listeners.delete(listener);
|
|
132
|
+
},
|
|
133
|
+
isHydrated: () => hydrated,
|
|
134
|
+
hydrated: () => ready
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
export {
|
|
138
|
+
createLocalFeatureStore,
|
|
139
|
+
readLocalFeature,
|
|
140
|
+
useFeature,
|
|
141
|
+
useFeatureCheck,
|
|
142
|
+
useFeatureSwitch
|
|
143
|
+
};
|
|
144
|
+
//# sourceMappingURL=features.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/host/features.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Features: the parts of the product a host turns on or off for the user (`<ArbiHost config={{\n * features }}>`), read anywhere with `useFeature(name)`.\n *\n * Each listed feature says where its switch is kept: a boolean field of the user's settings record\n * (`{ userSetting: 'show_skills', default: false }`, so it follows the user to every device), or\n * this device (`{ local: store, default: false }`, for a switch the server has no field for). A\n * feature the host does not list is on, so a site that lists none offers everything.\n */\n\nimport { useCallback, useMemo, useSyncExternalStore } from 'react'\nimport { useUpdateUserSettings, useUserSettings, type UserSettingsPatch } from '../account/settings'\nimport { useArbiHost } from './config'\n\n/** The features the kits ask about; a host may list its own as well. */\nexport type ArbiFeature =\n | 'workflows'\n | 'mail'\n | 'databases'\n | 'dashboards'\n | 'calls'\n | 'welcomeJourney'\n | (string & Record<never, never>)\n\n/** A boolean field of the user's settings record. */\nexport type UserSettingFlag = {\n [K in keyof UserSettingsPatch]-?: NonNullable<UserSettingsPatch[K]> extends boolean ? K : never\n}[keyof UserSettingsPatch]\n\n/** Switches kept on this device (`createLocalFeatureStore`). */\nexport interface LocalFeatureStore {\n /** The saved value; `undefined` while there is none. */\n get(feature: string): boolean | undefined\n set(feature: string, on: boolean): void\n subscribe(listener: () => void): () => void\n /** Whether the saved values have been read (an earlier build's brought in, once). */\n isHydrated(): boolean\n hydrated(): Promise<void>\n}\n\n/** Where a feature's switch is kept, and its value while none is saved. */\nexport type FeatureSource =\n | { userSetting: UserSettingFlag; default: boolean }\n | { local: LocalFeatureStore; default: boolean }\n\n/** The host's features by name. */\nexport type ArbiFeatures = Readonly<Partial<Record<ArbiFeature, FeatureSource>>>\n\n/** A feature's value and how to change it. */\nexport interface FeatureSwitch {\n on: boolean\n /** Turn it on or off (a feature the host does not list cannot be turned off). */\n set: (on: boolean) => void\n}\n\nconst ALWAYS_ON: FeatureSwitch = { on: true, set: () => {} }\n\nfunction useUnlisted(): FeatureSwitch {\n return ALWAYS_ON\n}\n\nfunction useUserSettingSwitch(source: FeatureSource): FeatureSwitch {\n const { userSetting, default: fallback } = source as Extract<\n FeatureSource,\n { userSetting: UserSettingFlag }\n >\n const { data } = useUserSettings()\n const { mutate } = useUpdateUserSettings()\n const saved = (data as Partial<Record<UserSettingFlag, boolean | null>> | undefined)?.[\n userSetting\n ]\n const set = useCallback((on: boolean) => mutate({ [userSetting]: on }), [mutate, userSetting])\n return { on: saved ?? fallback, set }\n}\n\nfunction useLocalSwitch(source: FeatureSource, feature: string): FeatureSwitch {\n const { local, default: fallback } = source as Extract<FeatureSource, { local: unknown }>\n const saved = useSyncExternalStore(local.subscribe, () => local.get(feature))\n const set = useCallback((on: boolean) => local.set(feature, on), [local, feature])\n return { on: saved ?? fallback, set }\n}\n\n/**\n * The switch of one feature. The host's configuration is one object for its life, so the hook a\n * feature's source picks is always the same one.\n */\nexport function useFeatureSwitch(feature: ArbiFeature): FeatureSwitch {\n const source = useArbiHost().features?.[feature]\n const useSource = !source\n ? useUnlisted\n : 'userSetting' in source\n ? useUserSettingSwitch\n : useLocalSwitch\n return useSource(source as FeatureSource, feature)\n}\n\n/** Whether a feature is on for the user (on when the host does not list it). */\nexport function useFeature(feature: ArbiFeature): boolean {\n return useFeatureSwitch(feature).on\n}\n\nfunction useNoSettings(): { data: undefined } {\n return { data: undefined }\n}\n\n/**\n * Whether any feature is on, for a list whose features are only known at render (a host's\n * navigation config): one hook for all of them, re-rendering when a setting or a device switch\n * changes. The same answer as `useFeature` for each.\n */\nexport function useFeatureCheck(): (feature: ArbiFeature) => boolean {\n const features = useArbiHost().features\n // Like `useFeatureSwitch`: the settings are read only for a host that keeps a feature there, and\n // its configuration is one object for its life.\n const useSettings = Object.values(features ?? {}).some(\n (source) => !!source && 'userSetting' in source\n )\n ? useUserSettings\n : useNoSettings\n const { data } = useSettings()\n const locals = useMemo(() => {\n const entries = Object.entries(features ?? {}).filter(\n (entry): entry is [string, Extract<FeatureSource, { local: LocalFeatureStore }>] =>\n !!entry[1] && 'local' in entry[1]\n )\n return {\n subscribe: (listener: () => void) => {\n const stops = [...new Set(entries.map(([, source]) => source.local))].map((store) =>\n store.subscribe(listener)\n )\n return () => stops.forEach((stop) => stop())\n },\n // A primitive snapshot, so an unrelated store write does not re-render.\n snapshot: () => entries.map(([name, source]) => `${source.local.get(name)}`).join(','),\n }\n }, [features])\n // Subscribed so a device switch re-renders; the check below reads the stores themselves.\n useSyncExternalStore(locals.subscribe, locals.snapshot, locals.snapshot)\n return (feature) => {\n const source = features?.[feature]\n if (!source) return true\n if ('local' in source) return source.local.get(feature) ?? source.default\n const saved = (data as Partial<Record<UserSettingFlag, boolean | null>> | undefined)?.[\n source.userSetting\n ]\n return saved ?? source.default\n }\n}\n\n/** A local feature's value outside React (its default while none is saved). */\nexport function readLocalFeature(features: ArbiFeatures, feature: ArbiFeature): boolean {\n const source = features[feature]\n if (!source) return true\n if ('local' in source) return source.local.get(feature) ?? source.default\n return source.default\n}\n\nexport interface LocalFeatureStoreOptions {\n /** The storage key. */\n key: string\n /** Where the values are kept. Default: `localStorage` (memory only where it cannot be used). */\n storage?: Pick<Storage, 'getItem' | 'setItem'> | null\n /**\n * Values an earlier build kept elsewhere, brought in once: on the first load that finds nothing\n * saved under `key`. The store is hydrated once they are in.\n */\n migrate?: () => Promise<Record<string, boolean> | null>\n}\n\nfunction defaultStorage(): Pick<Storage, 'getItem' | 'setItem'> | null {\n try {\n return typeof localStorage === 'undefined' ? null : localStorage\n } catch {\n return null\n }\n}\n\nfunction parseValues(raw: string | null): Record<string, boolean> | null {\n if (raw === null) return null\n try {\n const parsed: unknown = JSON.parse(raw)\n if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) return {}\n return Object.fromEntries(\n Object.entries(parsed).filter(([, value]) => typeof value === 'boolean')\n ) as Record<string, boolean>\n } catch {\n return {}\n }\n}\n\n/** Feature switches kept on this device, read synchronously once saved. */\nexport function createLocalFeatureStore({\n key,\n storage = defaultStorage(),\n migrate,\n}: LocalFeatureStoreOptions): LocalFeatureStore {\n const listeners = new Set<() => void>()\n const read = (): string | null => {\n try {\n return storage?.getItem(key) ?? null\n } catch {\n return null\n }\n }\n const write = () => {\n try {\n storage?.setItem(key, JSON.stringify(values))\n } catch {\n // Memory only: private windows, a full quota.\n }\n }\n const notify = () => listeners.forEach((listener) => listener())\n\n const saved = parseValues(read())\n let values: Record<string, boolean> = saved ?? {}\n let hydrated = saved !== null || !migrate\n const ready: Promise<void> = hydrated\n ? Promise.resolve()\n : migrate!()\n .catch((error: unknown) => {\n console.warn(`[features] The saved ${key} could not be brought in`, error)\n return null\n })\n .then((earlier) => {\n // A switch flipped while the earlier values were read wins.\n values = { ...(earlier ?? {}), ...values }\n write()\n hydrated = true\n notify()\n })\n\n return {\n get: (feature) => values[feature],\n set(feature, on) {\n if (values[feature] === on) return\n values = { ...values, [feature]: on }\n write()\n notify()\n },\n subscribe(listener) {\n listeners.add(listener)\n return () => listeners.delete(listener)\n },\n isHydrated: () => hydrated,\n hydrated: () => ready,\n }\n}\n"],
|
|
5
|
+
"mappings": "AAUA,SAAS,aAAa,SAAS,4BAA4B;AAC3D,SAAS,uBAAuB,uBAA+C;AAC/E,SAAS,mBAAmB;AA2C5B,MAAM,YAA2B,EAAE,IAAI,MAAM,KAAK,MAAM;AAAC,EAAE;AAE3D,SAAS,cAA6B;AACpC,SAAO;AACT;AAEA,SAAS,qBAAqB,QAAsC;AAClE,QAAM,EAAE,aAAa,SAAS,SAAS,IAAI;AAI3C,QAAM,EAAE,KAAK,IAAI,gBAAgB;AACjC,QAAM,EAAE,OAAO,IAAI,sBAAsB;AACzC,QAAM,QAAS,OACb,WACF;AACA,QAAM,MAAM,YAAY,CAAC,OAAgB,OAAO,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,WAAW,CAAC;AAC7F,SAAO,EAAE,IAAI,SAAS,UAAU,IAAI;AACtC;AAEA,SAAS,eAAe,QAAuB,SAAgC;AAC7E,QAAM,EAAE,OAAO,SAAS,SAAS,IAAI;AACrC,QAAM,QAAQ,qBAAqB,MAAM,WAAW,MAAM,MAAM,IAAI,OAAO,CAAC;AAC5E,QAAM,MAAM,YAAY,CAAC,OAAgB,MAAM,IAAI,SAAS,EAAE,GAAG,CAAC,OAAO,OAAO,CAAC;AACjF,SAAO,EAAE,IAAI,SAAS,UAAU,IAAI;AACtC;AAMO,SAAS,iBAAiB,SAAqC;AACpE,QAAM,SAAS,YAAY,EAAE,WAAW,OAAO;AAC/C,QAAM,YAAY,CAAC,SACf,cACA,iBAAiB,SACf,uBACA;AACN,SAAO,UAAU,QAAyB,OAAO;AACnD;AAGO,SAAS,WAAW,SAA+B;AACxD,SAAO,iBAAiB,OAAO,EAAE;AACnC;AAEA,SAAS,gBAAqC;AAC5C,SAAO,EAAE,MAAM,OAAU;AAC3B;AAOO,SAAS,kBAAqD;AACnE,QAAM,WAAW,YAAY,EAAE;AAG/B,QAAM,cAAc,OAAO,OAAO,YAAY,CAAC,CAAC,EAAE;AAAA,IAChD,CAAC,WAAW,CAAC,CAAC,UAAU,iBAAiB;AAAA,EAC3C,IACI,kBACA;AACJ,QAAM,EAAE,KAAK,IAAI,YAAY;AAC7B,QAAM,SAAS,QAAQ,MAAM;AAC3B,UAAM,UAAU,OAAO,QAAQ,YAAY,CAAC,CAAC,EAAE;AAAA,MAC7C,CAAC,UACC,CAAC,CAAC,MAAM,CAAC,KAAK,WAAW,MAAM,CAAC;AAAA,IACpC;AACA,WAAO;AAAA,MACL,WAAW,CAAC,aAAyB;AACnC,cAAM,QAAQ,CAAC,GAAG,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAC,EAAE,MAAM,MAAM,OAAO,KAAK,CAAC,CAAC,EAAE;AAAA,UAAI,CAAC,UACzE,MAAM,UAAU,QAAQ;AAAA,QAC1B;AACA,eAAO,MAAM,MAAM,QAAQ,CAAC,SAAS,KAAK,CAAC;AAAA,MAC7C;AAAA;AAAA,MAEA,UAAU,MAAM,QAAQ,IAAI,CAAC,CAAC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,KAAK,GAAG;AAAA,IACvF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,uBAAqB,OAAO,WAAW,OAAO,UAAU,OAAO,QAAQ;AACvE,SAAO,CAAC,YAAY;AAClB,UAAM,SAAS,WAAW,OAAO;AACjC,QAAI,CAAC,OAAQ,QAAO;AACpB,QAAI,WAAW,OAAQ,QAAO,OAAO,MAAM,IAAI,OAAO,KAAK,OAAO;AAClE,UAAM,QAAS,OACb,OAAO,WACT;AACA,WAAO,SAAS,OAAO;AAAA,EACzB;AACF;AAGO,SAAS,iBAAiB,UAAwB,SAA+B;AACtF,QAAM,SAAS,SAAS,OAAO;AAC/B,MAAI,CAAC,OAAQ,QAAO;AACpB,MAAI,WAAW,OAAQ,QAAO,OAAO,MAAM,IAAI,OAAO,KAAK,OAAO;AAClE,SAAO,OAAO;AAChB;AAcA,SAAS,iBAA8D;AACrE,MAAI;AACF,WAAO,OAAO,iBAAiB,cAAc,OAAO;AAAA,EACtD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,SAAS,YAAY,KAAoD;AACvE,MAAI,QAAQ,KAAM,QAAO;AACzB,MAAI;AACF,UAAM,SAAkB,KAAK,MAAM,GAAG;AACtC,QAAI,OAAO,WAAW,YAAY,WAAW,QAAQ,MAAM,QAAQ,MAAM,EAAG,QAAO,CAAC;AACpF,WAAO,OAAO;AAAA,MACZ,OAAO,QAAQ,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,OAAO,UAAU,SAAS;AAAA,IACzE;AAAA,EACF,QAAQ;AACN,WAAO,CAAC;AAAA,EACV;AACF;AAGO,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA,UAAU,eAAe;AAAA,EACzB;AACF,GAAgD;AAC9C,QAAM,YAAY,oBAAI,IAAgB;AACtC,QAAM,OAAO,MAAqB;AAChC,QAAI;AACF,aAAO,SAAS,QAAQ,GAAG,KAAK;AAAA,IAClC,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AACA,QAAM,QAAQ,MAAM;AAClB,QAAI;AACF,eAAS,QAAQ,KAAK,KAAK,UAAU,MAAM,CAAC;AAAA,IAC9C,QAAQ;AAAA,IAER;AAAA,EACF;AACA,QAAM,SAAS,MAAM,UAAU,QAAQ,CAAC,aAAa,SAAS,CAAC;AAE/D,QAAM,QAAQ,YAAY,KAAK,CAAC;AAChC,MAAI,SAAkC,SAAS,CAAC;AAChD,MAAI,WAAW,UAAU,QAAQ,CAAC;AAClC,QAAM,QAAuB,WACzB,QAAQ,QAAQ,IAChB,QAAS,EACN,MAAM,CAAC,UAAmB;AACzB,YAAQ,KAAK,wBAAwB,GAAG,4BAA4B,KAAK;AACzE,WAAO;AAAA,EACT,CAAC,EACA,KAAK,CAAC,YAAY;AAEjB,aAAS,EAAE,GAAI,WAAW,CAAC,GAAI,GAAG,OAAO;AACzC,UAAM;AACN,eAAW;AACX,WAAO;AAAA,EACT,CAAC;AAEP,SAAO;AAAA,IACL,KAAK,CAAC,YAAY,OAAO,OAAO;AAAA,IAChC,IAAI,SAAS,IAAI;AACf,UAAI,OAAO,OAAO,MAAM,GAAI;AAC5B,eAAS,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,GAAG;AACpC,YAAM;AACN,aAAO;AAAA,IACT;AAAA,IACA,UAAU,UAAU;AAClB,gBAAU,IAAI,QAAQ;AACtB,aAAO,MAAM,UAAU,OAAO,QAAQ;AAAA,IACxC;AAAA,IACA,YAAY,MAAM;AAAA,IAClB,UAAU,MAAM;AAAA,EAClB;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ArbiHost as GenericArbiHost } from "./ArbiHost.js";
|
|
2
|
+
const ArbiHost = GenericArbiHost;
|
|
3
|
+
import { mergeHostConfig } from "./merge.js";
|
|
4
|
+
import {
|
|
5
|
+
useArbiHost
|
|
6
|
+
} from "./config.js";
|
|
7
|
+
export {
|
|
8
|
+
ArbiHost,
|
|
9
|
+
mergeHostConfig,
|
|
10
|
+
useArbiHost
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/host/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { ArbiHost as GenericArbiHost, type ArbiHostProps } from './ArbiHost'\nimport type { ArbiHostConfig } from './config'\n\n/** `<ArbiHost config>` with the `@arbidocs/react` domains (see ./ArbiHost.tsx). */\nexport const ArbiHost: (props: ArbiHostProps<ArbiHostConfig>) => React.ReactElement =\n GenericArbiHost\n\nexport { type ArbiHostConnection, type ArbiHostProps } from './ArbiHost'\nexport { mergeHostConfig } from './merge'\nexport {\n useArbiHost,\n type ArbiHostConfig,\n type AccountHost,\n type CallsHost,\n type CallSlotMode,\n type MailHost,\n} from './config'\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,YAAY,uBAA2C;AAIzD,MAAM,WACX;AAGF,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,OAMK;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var OWN_SESSION_SLOT = "__ownSession";
|
|
1
|
+
const MERGED = /* @__PURE__ */ new Set(["environment"]);
|
|
2
|
+
const OWN_SESSION_SLOT = "__ownSession";
|
|
4
3
|
function defined(record) {
|
|
5
4
|
return Object.fromEntries(Object.entries(record).filter(([, value]) => value !== void 0));
|
|
6
5
|
}
|
|
@@ -12,7 +11,8 @@ function mergeHostConfig(parent, config) {
|
|
|
12
11
|
}
|
|
13
12
|
return next;
|
|
14
13
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
export {
|
|
15
|
+
OWN_SESSION_SLOT,
|
|
16
|
+
mergeHostConfig
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=merge.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/host/merge.ts"],
|
|
4
|
+
"sourcesContent": ["/** How a nested `<ArbiHost>` combines its config with the enclosing one's. */\n\nimport type { HostConfigRecord } from './context'\n\n/** Fields of a nested config merged field by field with the enclosing one, not replaced. */\nconst MERGED: ReadonlySet<string> = new Set(['environment'])\n\n/** The key under which each top-level host keeps the session store made for it when none is given. */\nexport const OWN_SESSION_SLOT = '__ownSession'\n\nfunction defined(record: object): Record<string, unknown> {\n return Object.fromEntries(Object.entries(record).filter(([, value]) => value !== undefined))\n}\n\n/** The nested config over the enclosing one: given fields replace, `environment` merges. */\nexport function mergeHostConfig(parent: HostConfigRecord, config: object): HostConfigRecord {\n const next: Record<string, unknown> = { ...parent }\n for (const [key, value] of Object.entries(defined(config))) {\n // The connection layer is mounted once, by the host that gives it.\n if (key === 'connection') continue\n next[key] =\n MERGED.has(key) && value && typeof value === 'object'\n ? { ...(parent[key] as object | undefined), ...defined(value) }\n : value\n }\n return next\n}\n"],
|
|
5
|
+
"mappings": "AAKA,MAAM,SAA8B,oBAAI,IAAI,CAAC,aAAa,CAAC;AAGpD,MAAM,mBAAmB;AAEhC,SAAS,QAAQ,QAAyC;AACxD,SAAO,OAAO,YAAY,OAAO,QAAQ,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,UAAU,MAAS,CAAC;AAC7F;AAGO,SAAS,gBAAgB,QAA0B,QAAkC;AAC1F,QAAM,OAAgC,EAAE,GAAG,OAAO;AAClD,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,QAAQ,MAAM,CAAC,GAAG;AAE1D,QAAI,QAAQ,aAAc;AAC1B,SAAK,GAAG,IACN,OAAO,IAAI,GAAG,KAAK,SAAS,OAAO,UAAU,WACzC,EAAE,GAAI,OAAO,GAAG,GAA0B,GAAG,QAAQ,KAAK,EAAE,IAC5D;AAAA,EACR;AACA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
2
|
+
import { houseTemplates } from "@arbidocs/sdk/browser";
|
|
3
|
+
import { useArbi } from "./useArbi.js";
|
|
4
|
+
import { arbiQueryKeys } from "./hooks.js";
|
|
5
|
+
function useHouseTemplateCandidates(workspaceId, enabled, staleTime = 6e4) {
|
|
6
|
+
const arbi = useArbi();
|
|
7
|
+
return useQuery({
|
|
8
|
+
queryKey: arbiQueryKeys.houseTemplateCandidates(workspaceId ?? ""),
|
|
9
|
+
enabled: enabled && !!workspaceId && arbi.hasWorkspace,
|
|
10
|
+
staleTime,
|
|
11
|
+
// Read in that workspace: the server answers for the session's open one.
|
|
12
|
+
queryFn: () => arbi.readInWorkspace(workspaceId, () => arbi.houseTemplates.candidates())
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
function useSetWorkspaceHouseTemplate() {
|
|
16
|
+
const arbi = useArbi();
|
|
17
|
+
const queryClient = useQueryClient();
|
|
18
|
+
return useMutation({
|
|
19
|
+
mutationFn: (documentId) => arbi.houseTemplates.setWorkspace(documentId),
|
|
20
|
+
onSuccess: () => queryClient.invalidateQueries({ queryKey: arbiQueryKeys.workspaces() })
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function useSetDeploymentHouseTemplate() {
|
|
24
|
+
const arbi = useArbi();
|
|
25
|
+
return useMutation({
|
|
26
|
+
mutationFn: (file) => arbi.houseTemplates.setDeployment(file)
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
const supportsHouseTemplates = houseTemplates.supportsHouseTemplates;
|
|
30
|
+
const workspaceHouseTemplateId = houseTemplates.workspaceHouseTemplateId;
|
|
31
|
+
const isDeploymentAdmin = houseTemplates.isDeploymentAdmin;
|
|
32
|
+
export {
|
|
33
|
+
isDeploymentAdmin,
|
|
34
|
+
supportsHouseTemplates,
|
|
35
|
+
useHouseTemplateCandidates,
|
|
36
|
+
useSetDeploymentHouseTemplate,
|
|
37
|
+
useSetWorkspaceHouseTemplate,
|
|
38
|
+
workspaceHouseTemplateId
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=house-template.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/house-template.ts"],
|
|
4
|
+
"sourcesContent": ["import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'\nimport { houseTemplates } from '@arbidocs/sdk/browser'\nimport { useArbi } from './useArbi'\nimport { arbiQueryKeys } from './hooks'\n\n/**\n * The documents the open workspace may use as its Word house template: live, shared Word documents\n * of the workspace and of the deployment's public workspaces. `staleTime` 0 reads the list afresh\n * whenever the query is enabled (a picker being opened).\n */\nexport function useHouseTemplateCandidates(\n workspaceId: string | null | undefined,\n enabled: boolean,\n staleTime = 60_000\n) {\n const arbi = useArbi()\n return useQuery({\n queryKey: arbiQueryKeys.houseTemplateCandidates(workspaceId ?? ''),\n enabled: enabled && !!workspaceId && arbi.hasWorkspace,\n staleTime,\n // Read in that workspace: the server answers for the session's open one.\n queryFn: () =>\n arbi.readInWorkspace(workspaceId as string, () => arbi.houseTemplates.candidates()),\n })\n}\n\n/**\n * Make a document of the open workspace its house template (`null`: the default applies again).\n * Owners only. The workspace list (which carries the template) is read again.\n */\nexport function useSetWorkspaceHouseTemplate() {\n const arbi = useArbi()\n const queryClient = useQueryClient()\n return useMutation({\n mutationFn: (documentId: string | null) => arbi.houseTemplates.setWorkspace(documentId),\n onSuccess: () => queryClient.invalidateQueries({ queryKey: arbiQueryKeys.workspaces() }),\n })\n}\n\n/**\n * Set the deployment's default house template from a .dotx/.docx (`null` clears it). Deployment\n * admins only (`isDeploymentAdmin`).\n */\nexport function useSetDeploymentHouseTemplate() {\n const arbi = useArbi()\n return useMutation({\n mutationFn: (file: Blob | null) => arbi.houseTemplates.setDeployment(file),\n })\n}\n\n/** Whether the server stores house templates (its workspaces carry the field). */\nexport const supportsHouseTemplates = houseTemplates.supportsHouseTemplates\n/** The workspace's house template document, or null. */\nexport const workspaceHouseTemplateId = houseTemplates.workspaceHouseTemplateId\n/** Whether the signed-in user may set the deployment default. */\nexport const isDeploymentAdmin = houseTemplates.isDeploymentAdmin\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,aAAa,UAAU,sBAAsB;AACtD,SAAS,sBAAsB;AAC/B,SAAS,eAAe;AACxB,SAAS,qBAAqB;AAOvB,SAAS,2BACd,aACA,SACA,YAAY,KACZ;AACA,QAAM,OAAO,QAAQ;AACrB,SAAO,SAAS;AAAA,IACd,UAAU,cAAc,wBAAwB,eAAe,EAAE;AAAA,IACjE,SAAS,WAAW,CAAC,CAAC,eAAe,KAAK;AAAA,IAC1C;AAAA;AAAA,IAEA,SAAS,MACP,KAAK,gBAAgB,aAAuB,MAAM,KAAK,eAAe,WAAW,CAAC;AAAA,EACtF,CAAC;AACH;AAMO,SAAS,+BAA+B;AAC7C,QAAM,OAAO,QAAQ;AACrB,QAAM,cAAc,eAAe;AACnC,SAAO,YAAY;AAAA,IACjB,YAAY,CAAC,eAA8B,KAAK,eAAe,aAAa,UAAU;AAAA,IACtF,WAAW,MAAM,YAAY,kBAAkB,EAAE,UAAU,cAAc,WAAW,EAAE,CAAC;AAAA,EACzF,CAAC;AACH;AAMO,SAAS,gCAAgC;AAC9C,QAAM,OAAO,QAAQ;AACrB,SAAO,YAAY;AAAA,IACjB,YAAY,CAAC,SAAsB,KAAK,eAAe,cAAc,IAAI;AAAA,EAC3E,CAAC;AACH;AAGO,MAAM,yBAAyB,eAAe;AAE9C,MAAM,2BAA2B,eAAe;AAEhD,MAAM,oBAAoB,eAAe;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
const AppleIcon = ({
|
|
3
|
+
size = 20,
|
|
4
|
+
className = "",
|
|
5
|
+
"aria-label": ariaLabel,
|
|
6
|
+
"aria-hidden": ariaHidden = true
|
|
7
|
+
}) => {
|
|
8
|
+
return /* @__PURE__ */ jsx(
|
|
9
|
+
"svg",
|
|
10
|
+
{
|
|
11
|
+
className,
|
|
12
|
+
width: size,
|
|
13
|
+
height: size,
|
|
14
|
+
viewBox: "0 0 24 24",
|
|
15
|
+
fill: "currentColor",
|
|
16
|
+
"aria-label": ariaLabel,
|
|
17
|
+
"aria-hidden": ariaHidden,
|
|
18
|
+
children: /* @__PURE__ */ jsx("path", { d: "M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z" })
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
AppleIcon
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=AppleIcon.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/icons/AppleIcon.tsx"],
|
|
4
|
+
"sourcesContent": ["/**\n * Apple Icon Component. Promoted from the ARBI app for SDK reuse.\n */\n\nimport React from 'react'\n\ninterface AppleIconProps {\n size?: number\n className?: string\n 'aria-label'?: string\n 'aria-hidden'?: boolean\n}\n\nexport const AppleIcon: React.FC<AppleIconProps> = ({\n size = 20,\n className = '',\n 'aria-label': ariaLabel,\n 'aria-hidden': ariaHidden = true,\n}) => {\n return (\n <svg\n className={className}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n aria-label={ariaLabel}\n aria-hidden={ariaHidden}\n >\n <path d=\"M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z\" />\n </svg>\n )\n}\n"],
|
|
5
|
+
"mappings": "AA6BM;AAhBC,MAAM,YAAsC,CAAC;AAAA,EAClD,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe,aAAa;AAC9B,MAAM;AACJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,cAAY;AAAA,MACZ,eAAa;AAAA,MAEb,8BAAC,UAAK,GAAE,uUAAsU;AAAA;AAAA,EAChV;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from "react";
|
|
3
|
+
const ArbiBotHeadIcon = ({ size = 24, className = "" }) => {
|
|
4
|
+
const maskId = useId();
|
|
5
|
+
return /* @__PURE__ */ jsxs(
|
|
6
|
+
"svg",
|
|
7
|
+
{
|
|
8
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
9
|
+
width: size,
|
|
10
|
+
height: size,
|
|
11
|
+
viewBox: "30 -5 190 190",
|
|
12
|
+
preserveAspectRatio: "xMidYMid meet",
|
|
13
|
+
className,
|
|
14
|
+
children: [
|
|
15
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("mask", { id: maskId, children: /* @__PURE__ */ jsxs("g", { transform: "translate(0,250) scale(0.1,-0.1)", children: [
|
|
16
|
+
/* @__PURE__ */ jsx("rect", { x: "0", y: "0", width: "2500", height: "2500", fill: "white" }),
|
|
17
|
+
/* @__PURE__ */ jsx("circle", { cx: "855", cy: "1715", r: "190", fill: "black" }),
|
|
18
|
+
/* @__PURE__ */ jsx("circle", { cx: "855", cy: "1715", r: "50", fill: "white" }),
|
|
19
|
+
/* @__PURE__ */ jsx("circle", { cx: "1665", cy: "1700", r: "190", fill: "black" }),
|
|
20
|
+
/* @__PURE__ */ jsx("circle", { cx: "1665", cy: "1700", r: "50", fill: "white" })
|
|
21
|
+
] }) }) }),
|
|
22
|
+
/* @__PURE__ */ jsxs("g", { mask: `url(#${maskId})`, children: [
|
|
23
|
+
/* @__PURE__ */ jsx(
|
|
24
|
+
"g",
|
|
25
|
+
{
|
|
26
|
+
transform: "translate(0,250) scale(0.1,-0.1)",
|
|
27
|
+
fill: "currentColor",
|
|
28
|
+
stroke: "currentColor",
|
|
29
|
+
strokeWidth: "100",
|
|
30
|
+
children: /* @__PURE__ */ jsx("path", { d: "M1038 2434 c-217 -39 -406 -154 -522 -318 -121 -170 -176 -376 -103 -384 l27 -3 0 -106 c0 -88 -3 -108 -17 -118 -15 -11 -16 -18 -5 -66 44 -188 209 -369 420 -459 l65 -28 -74 -7 c-283 -26 -444 -152 -535 -418 -70 -204 -73 -507 -5 -507 4 0 12 75 19 168 18 263 68 419 167 530 78 87 224 162 263 134 9 -6 43 -26 76 -43 224 -117 802 -95 948 38 38 34 165 -22 253 -111 117 -119 168 -268 187 -549 6 -92 15 -167 19 -167 89 0 53 415 -54 627 -88 173 -238 270 -458 295 l-99 11 75 32 c201 88 367 274 406 454 10 47 9 56 -5 66 -13 10 -16 32 -16 118 l0 106 28 3 c91 10 -12 297 -165 459 -202 214 -544 307 -895 243z m472 -84 c170 -43 323 -140 416 -264 47 -61 117 -197 128 -248 l6 -28 -65 0 c-64 0 -65 1 -78 33 -43 102 -109 136 -262 137 l-110 0 -38 -40 c-25 -27 -46 -40 -65 -41 -134 -5 -394 1 -410 10 -11 6 -30 24 -42 41 l-21 30 -112 0 c-156 -1 -219 -33 -262 -136 -14 -34 -14 -34 -80 -34 -76 0 -74 -7 -30 103 96 243 311 406 595 452 118 20 319 13 430 -15z m-561 -505 c97 -50 126 -174 61 -263 -118 -163 -380 -23 -309 165 35 93 162 143 248 98z m799 -15 c129 -96 69 -304 -92 -318 -189 -16 -265 218 -106 326 48 33 149 29 198 -8z m272 -389 c0 -23 -45 -110 -86 -168 -245 -343 -856 -408 -1231 -130 -90 67 -213 236 -213 294 0 11 132 13 765 13 457 0 765 -4 765 -9z" })
|
|
31
|
+
}
|
|
32
|
+
),
|
|
33
|
+
/* @__PURE__ */ jsxs("g", { transform: "translate(0,250) scale(0.1,-0.1)", fill: "currentColor", stroke: "none", children: [
|
|
34
|
+
/* @__PURE__ */ jsx("path", { d: "M785 1777 c-60 -60 -59 -134 1 -186 92 -82 236 9 204 128 -25 93 -138 125 -205 58z m161 -29 c7 -22 -19 -52 -40 -45 -21 7 -30 35 -17 51 19 23 48 20 57 -6z" }),
|
|
35
|
+
/* @__PURE__ */ jsx("path", { d: "M1591 1803 c-128 -67 -85 -243 60 -243 83 0 141 99 105 178 -32 69 -103 97 -165 65z m127 -59 c4 -25 -19 -47 -41 -38 -22 8 -30 34 -16 51 17 20 53 12 57 -13z" }),
|
|
36
|
+
/* @__PURE__ */ jsx("path", { d: "M843 1347 c-9 -15 9 -63 41 -108 148 -202 565 -209 730 -12 37 44 60 103 47 116 -13 13 -810 17 -818 4z" })
|
|
37
|
+
] })
|
|
38
|
+
] })
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
};
|
|
43
|
+
export {
|
|
44
|
+
ArbiBotHeadIcon
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=ArbiBotHeadIcon.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/icons/ArbiBotHeadIcon.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, { useId } from 'react'\n\ninterface ArbiBotHeadIconProps {\n size?: number\n className?: string\n}\n\nexport const ArbiBotHeadIcon: React.FC<ArbiBotHeadIconProps> = ({ size = 24, className = '' }) => {\n const maskId = useId()\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"30 -5 190 190\"\n preserveAspectRatio=\"xMidYMid meet\"\n className={className}\n >\n <defs>\n <mask id={maskId}>\n <g transform=\"translate(0,250) scale(0.1,-0.1)\">\n <rect x=\"0\" y=\"0\" width=\"2500\" height=\"2500\" fill=\"white\" />\n <circle cx=\"855\" cy=\"1715\" r=\"190\" fill=\"black\" />\n <circle cx=\"855\" cy=\"1715\" r=\"50\" fill=\"white\" />\n <circle cx=\"1665\" cy=\"1700\" r=\"190\" fill=\"black\" />\n <circle cx=\"1665\" cy=\"1700\" r=\"50\" fill=\"white\" />\n </g>\n </mask>\n </defs>\n <g mask={`url(#${maskId})`}>\n <g\n transform=\"translate(0,250) scale(0.1,-0.1)\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeWidth=\"100\"\n >\n <path d=\"M1038 2434 c-217 -39 -406 -154 -522 -318 -121 -170 -176 -376 -103 -384 l27 -3 0 -106 c0 -88 -3 -108 -17 -118 -15 -11 -16 -18 -5 -66 44 -188 209 -369 420 -459 l65 -28 -74 -7 c-283 -26 -444 -152 -535 -418 -70 -204 -73 -507 -5 -507 4 0 12 75 19 168 18 263 68 419 167 530 78 87 224 162 263 134 9 -6 43 -26 76 -43 224 -117 802 -95 948 38 38 34 165 -22 253 -111 117 -119 168 -268 187 -549 6 -92 15 -167 19 -167 89 0 53 415 -54 627 -88 173 -238 270 -458 295 l-99 11 75 32 c201 88 367 274 406 454 10 47 9 56 -5 66 -13 10 -16 32 -16 118 l0 106 28 3 c91 10 -12 297 -165 459 -202 214 -544 307 -895 243z m472 -84 c170 -43 323 -140 416 -264 47 -61 117 -197 128 -248 l6 -28 -65 0 c-64 0 -65 1 -78 33 -43 102 -109 136 -262 137 l-110 0 -38 -40 c-25 -27 -46 -40 -65 -41 -134 -5 -394 1 -410 10 -11 6 -30 24 -42 41 l-21 30 -112 0 c-156 -1 -219 -33 -262 -136 -14 -34 -14 -34 -80 -34 -76 0 -74 -7 -30 103 96 243 311 406 595 452 118 20 319 13 430 -15z m-561 -505 c97 -50 126 -174 61 -263 -118 -163 -380 -23 -309 165 35 93 162 143 248 98z m799 -15 c129 -96 69 -304 -92 -318 -189 -16 -265 218 -106 326 48 33 149 29 198 -8z m272 -389 c0 -23 -45 -110 -86 -168 -245 -343 -856 -408 -1231 -130 -90 67 -213 236 -213 294 0 11 132 13 765 13 457 0 765 -4 765 -9z\" />\n </g>\n <g transform=\"translate(0,250) scale(0.1,-0.1)\" fill=\"currentColor\" stroke=\"none\">\n <path d=\"M785 1777 c-60 -60 -59 -134 1 -186 92 -82 236 9 204 128 -25 93 -138 125 -205 58z m161 -29 c7 -22 -19 -52 -40 -45 -21 7 -30 35 -17 51 19 23 48 20 57 -6z\" />\n <path d=\"M1591 1803 c-128 -67 -85 -243 60 -243 83 0 141 99 105 178 -32 69 -103 97 -165 65z m127 -59 c4 -25 -19 -47 -41 -38 -22 8 -30 34 -16 51 17 20 53 12 57 -13z\" />\n <path d=\"M843 1347 c-9 -15 9 -63 41 -108 148 -202 565 -209 730 -12 37 44 60 103 47 116 -13 13 -810 17 -818 4z\" />\n </g>\n </g>\n </svg>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAqBU,SACE,KADF;AArBV,SAAgB,aAAa;AAOtB,MAAM,kBAAkD,CAAC,EAAE,OAAO,IAAI,YAAY,GAAG,MAAM;AAChG,QAAM,SAAS,MAAM;AAErB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAQ;AAAA,MACR,qBAAoB;AAAA,MACpB;AAAA,MAEA;AAAA,4BAAC,UACC,8BAAC,UAAK,IAAI,QACR,+BAAC,OAAE,WAAU,oCACX;AAAA,8BAAC,UAAK,GAAE,KAAI,GAAE,KAAI,OAAM,QAAO,QAAO,QAAO,MAAK,SAAQ;AAAA,UAC1D,oBAAC,YAAO,IAAG,OAAM,IAAG,QAAO,GAAE,OAAM,MAAK,SAAQ;AAAA,UAChD,oBAAC,YAAO,IAAG,OAAM,IAAG,QAAO,GAAE,MAAK,MAAK,SAAQ;AAAA,UAC/C,oBAAC,YAAO,IAAG,QAAO,IAAG,QAAO,GAAE,OAAM,MAAK,SAAQ;AAAA,UACjD,oBAAC,YAAO,IAAG,QAAO,IAAG,QAAO,GAAE,MAAK,MAAK,SAAQ;AAAA,WAClD,GACF,GACF;AAAA,QACA,qBAAC,OAAE,MAAM,QAAQ,MAAM,KACrB;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,WAAU;AAAA,cACV,MAAK;AAAA,cACL,QAAO;AAAA,cACP,aAAY;AAAA,cAEZ,8BAAC,UAAK,GAAE,itCAAgtC;AAAA;AAAA,UAC1tC;AAAA,UACA,qBAAC,OAAE,WAAU,oCAAmC,MAAK,gBAAe,QAAO,QACzE;AAAA,gCAAC,UAAK,GAAE,2JAA0J;AAAA,YAClK,oBAAC,UAAK,GAAE,6JAA4J;AAAA,YACpK,oBAAC,UAAK,GAAE,wGAAuG;AAAA,aACjH;AAAA,WACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ARBI_MARK_SRC } from "./arbi-mark.js";
|
|
3
|
+
const ArbiIcon = ({
|
|
4
|
+
size = 20,
|
|
5
|
+
className = "",
|
|
6
|
+
"aria-label": ariaLabel = "ARBI Docs",
|
|
7
|
+
"aria-hidden": ariaHidden = false
|
|
8
|
+
}) => {
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
"img",
|
|
11
|
+
{
|
|
12
|
+
src: ARBI_MARK_SRC,
|
|
13
|
+
alt: ariaLabel,
|
|
14
|
+
className: `rounded object-contain ${className}`,
|
|
15
|
+
style: { width: size, height: size },
|
|
16
|
+
"aria-label": ariaLabel,
|
|
17
|
+
"aria-hidden": ariaHidden
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
ArbiIcon
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=ArbiIcon.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/icons/ArbiIcon.tsx"],
|
|
4
|
+
"sourcesContent": ["/**\n * ARBI Icon Component. Promoted from the ARBI app for SDK reuse.\n * The ARBI mark, bundled (no host asset needed).\n */\n\nimport React from 'react'\nimport { ARBI_MARK_SRC } from './arbi-mark'\n\ninterface ArbiIconProps {\n size?: number\n className?: string\n 'aria-label'?: string\n 'aria-hidden'?: boolean\n}\n\nexport const ArbiIcon: React.FC<ArbiIconProps> = ({\n size = 20,\n className = '',\n 'aria-label': ariaLabel = 'ARBI Docs',\n 'aria-hidden': ariaHidden = false,\n}) => {\n return (\n <img\n src={ARBI_MARK_SRC}\n alt={ariaLabel}\n className={`rounded object-contain ${className}`}\n style={{ width: size, height: size }}\n aria-label={ariaLabel}\n aria-hidden={ariaHidden}\n />\n )\n}\n"],
|
|
5
|
+
"mappings": "AAsBI;AAhBJ,SAAS,qBAAqB;AASvB,MAAM,WAAoC,CAAC;AAAA,EAChD,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,cAAc,YAAY;AAAA,EAC1B,eAAe,aAAa;AAC9B,MAAM;AACJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,KAAK;AAAA,MACL,WAAW,0BAA0B,SAAS;AAAA,MAC9C,OAAO,EAAE,OAAO,MAAM,QAAQ,KAAK;AAAA,MACnC,cAAY;AAAA,MACZ,eAAa;AAAA;AAAA,EACf;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { FILE_TYPE_COLORS } from "./colors.js";
|
|
3
|
+
const AudIcon = ({ size = 16, className = "" }) => {
|
|
4
|
+
return /* @__PURE__ */ jsxs(
|
|
5
|
+
"svg",
|
|
6
|
+
{
|
|
7
|
+
width: size,
|
|
8
|
+
height: size,
|
|
9
|
+
viewBox: "0 0 24 24",
|
|
10
|
+
fill: "none",
|
|
11
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
12
|
+
className,
|
|
13
|
+
children: [
|
|
14
|
+
/* @__PURE__ */ jsx(
|
|
15
|
+
"path",
|
|
16
|
+
{
|
|
17
|
+
d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
|
|
18
|
+
fill: FILE_TYPE_COLORS.aud,
|
|
19
|
+
stroke: FILE_TYPE_COLORS.aud,
|
|
20
|
+
strokeWidth: "1",
|
|
21
|
+
strokeLinecap: "round",
|
|
22
|
+
strokeLinejoin: "round"
|
|
23
|
+
}
|
|
24
|
+
),
|
|
25
|
+
/* @__PURE__ */ jsx(
|
|
26
|
+
"path",
|
|
27
|
+
{
|
|
28
|
+
d: "M14 2v6h6",
|
|
29
|
+
fill: "none",
|
|
30
|
+
stroke: FILE_TYPE_COLORS.white,
|
|
31
|
+
strokeWidth: "1",
|
|
32
|
+
strokeLinecap: "round",
|
|
33
|
+
strokeLinejoin: "round"
|
|
34
|
+
}
|
|
35
|
+
),
|
|
36
|
+
/* @__PURE__ */ jsx(
|
|
37
|
+
"text",
|
|
38
|
+
{
|
|
39
|
+
x: "12",
|
|
40
|
+
y: "16",
|
|
41
|
+
fontSize: "6",
|
|
42
|
+
fill: "white",
|
|
43
|
+
textAnchor: "middle",
|
|
44
|
+
fontWeight: "bold",
|
|
45
|
+
fontFamily: "Arial, sans-serif",
|
|
46
|
+
children: "AUD"
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
export {
|
|
54
|
+
AudIcon
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=AudIcon.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/icons/AudIcon.tsx"],
|
|
4
|
+
"sourcesContent": ["/** Audio file icon (amber). Promoted from the ARBI app for SDK reuse. */\n\nimport React from 'react'\nimport { FILE_TYPE_COLORS } from './colors'\n\ninterface IconProps {\n size?: number\n className?: string\n}\n\nexport const AudIcon: React.FC<IconProps> = ({ size = 16, className = '' }) => {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z\"\n fill={FILE_TYPE_COLORS.aud}\n stroke={FILE_TYPE_COLORS.aud}\n strokeWidth=\"1\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M14 2v6h6\"\n fill=\"none\"\n stroke={FILE_TYPE_COLORS.white}\n strokeWidth=\"1\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <text\n x=\"12\"\n y=\"16\"\n fontSize=\"6\"\n fill=\"white\"\n textAnchor=\"middle\"\n fontWeight=\"bold\"\n fontFamily=\"Arial, sans-serif\"\n >\n AUD\n </text>\n </svg>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAYI,SAQE,KARF;AATJ,SAAS,wBAAwB;AAO1B,MAAM,UAA+B,CAAC,EAAE,OAAO,IAAI,YAAY,GAAG,MAAM;AAC7E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACN;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAM,iBAAiB;AAAA,YACvB,QAAQ,iBAAiB;AAAA,YACzB,aAAY;AAAA,YACZ,eAAc;AAAA,YACd,gBAAe;AAAA;AAAA,QACjB;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAK;AAAA,YACL,QAAQ,iBAAiB;AAAA,YACzB,aAAY;AAAA,YACZ,eAAc;AAAA,YACd,gBAAe;AAAA;AAAA,QACjB;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,GAAE;AAAA,YACF,UAAS;AAAA,YACT,MAAK;AAAA,YACL,YAAW;AAAA,YACX,YAAW;AAAA,YACX,YAAW;AAAA,YACZ;AAAA;AAAA,QAED;AAAA;AAAA;AAAA,EACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
const ClaudeIcon = ({
|
|
3
|
+
size = 16,
|
|
4
|
+
className = "",
|
|
5
|
+
"aria-label": ariaLabel = "Claude",
|
|
6
|
+
"aria-hidden": ariaHidden = true
|
|
7
|
+
}) => /* @__PURE__ */ jsx(
|
|
8
|
+
"svg",
|
|
9
|
+
{
|
|
10
|
+
className,
|
|
11
|
+
width: size,
|
|
12
|
+
height: size,
|
|
13
|
+
viewBox: "0 0 24 24",
|
|
14
|
+
"aria-label": ariaLabel,
|
|
15
|
+
"aria-hidden": ariaHidden,
|
|
16
|
+
children: /* @__PURE__ */ jsx(
|
|
17
|
+
"path",
|
|
18
|
+
{
|
|
19
|
+
fill: "#D97757",
|
|
20
|
+
d: "m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"
|
|
21
|
+
}
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
export {
|
|
26
|
+
ClaudeIcon
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=ClaudeIcon.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/icons/ClaudeIcon.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react'\n\ninterface IconProps {\n size?: number\n className?: string\n 'aria-label'?: string\n 'aria-hidden'?: boolean\n}\n\nexport const ClaudeIcon: React.FC<IconProps> = ({\n size = 16,\n className = '',\n 'aria-label': ariaLabel = 'Claude',\n 'aria-hidden': ariaHidden = true,\n}) => (\n <svg\n className={className}\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n aria-label={ariaLabel}\n aria-hidden={ariaHidden}\n >\n <path\n fill=\"#D97757\"\n d=\"m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z\"\n />\n </svg>\n)\n"],
|
|
5
|
+
"mappings": "AAuBI;AAdG,MAAM,aAAkC,CAAC;AAAA,EAC9C,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,cAAc,YAAY;AAAA,EAC1B,eAAe,aAAa;AAC9B,MACE;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAQ;AAAA,IACR,cAAY;AAAA,IACZ,eAAa;AAAA,IAEb;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,GAAE;AAAA;AAAA,IACJ;AAAA;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|