@assistant-ui/react 0.15.19 → 0.15.21
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/assistant-transport.d.ts +10 -10
- package/dist/assistant-transport.d.ts.map +1 -1
- package/dist/augmentations.d.ts +3 -4
- package/dist/augmentations.d.ts.map +1 -1
- package/dist/context/ReadonlyStore.d.ts +2 -3
- package/dist/context/ReadonlyStore.d.ts.map +1 -1
- package/dist/context/providers/MessageProvider.d.ts +1 -2
- package/dist/context/providers/MessageProvider.d.ts.map +1 -1
- package/dist/context/providers/ThreadViewportProvider.d.ts +2 -3
- package/dist/context/providers/ThreadViewportProvider.d.ts.map +1 -1
- package/dist/context/react/ThreadViewportContext.d.ts +3 -4
- package/dist/context/react/ThreadViewportContext.d.ts.map +1 -1
- package/dist/context/react/utils/createContextHook.d.ts +1 -2
- package/dist/context/react/utils/createContextHook.d.ts.map +1 -1
- package/dist/context/react/utils/createContextStoreHook.d.ts +1 -2
- package/dist/context/react/utils/createContextStoreHook.d.ts.map +1 -1
- package/dist/context/stores/ThreadViewport.d.ts +4 -5
- package/dist/context/stores/ThreadViewport.d.ts.map +1 -1
- package/dist/context/stores/ThreadViewport.js +2 -1
- package/dist/context/stores/ThreadViewport.js.map +1 -1
- package/dist/devtools/DevToolsHooks.d.ts +3 -4
- package/dist/devtools/DevToolsHooks.d.ts.map +1 -1
- package/dist/hooks/useMessageQuote.d.ts +1 -2
- package/dist/hooks/useMessageQuote.d.ts.map +1 -1
- package/dist/hooks/useMessageTiming.d.ts +1 -2
- package/dist/hooks/useMessageTiming.d.ts.map +1 -1
- package/dist/hooks/useToolCallElapsed.d.ts +1 -2
- package/dist/hooks/useToolCallElapsed.d.ts.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +2 -2
- package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts +3 -4
- package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.d.ts +2 -2
- package/dist/legacy-runtime/runtime-cores/external-store/external-message-converter.js +2 -2
- package/dist/mcp-apps/McpAppRenderer.d.ts +3 -4
- package/dist/mcp-apps/McpAppRenderer.d.ts.map +1 -1
- package/dist/mcp-apps/McpAppRenderer.js +1 -1
- package/dist/mcp-apps/McpAppsRemoteHost.d.ts +1 -2
- package/dist/mcp-apps/McpAppsRemoteHost.d.ts.map +1 -1
- package/dist/mcp-apps/app-frame.d.ts +1 -2
- package/dist/mcp-apps/app-frame.d.ts.map +1 -1
- package/dist/mcp-apps/app-frame.js +1 -1
- package/dist/mcp-apps/bridge.d.ts +4 -5
- package/dist/mcp-apps/bridge.d.ts.map +1 -1
- package/dist/mcp-apps/types.d.ts +20 -20
- package/dist/mcp-apps/types.d.ts.map +1 -1
- package/dist/mcp-apps/utils.d.ts +1 -2
- package/dist/mcp-apps/utils.d.ts.map +1 -1
- package/dist/model-context/frame/useAssistantFrameHost.d.ts +1 -2
- package/dist/model-context/frame/useAssistantFrameHost.d.ts.map +1 -1
- package/dist/model-context/frame/useAssistantFrameHost.js +20 -2
- package/dist/model-context/frame/useAssistantFrameHost.js.map +1 -1
- package/dist/model-context/makeAssistantVisible.d.ts +2 -2
- package/dist/model-context/makeAssistantVisible.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.d.ts +2 -3
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.d.ts +2 -3
- package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts +2 -3
- package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +2 -3
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +2 -3
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarInteractionContext.d.ts +3 -4
- package/dist/primitives/actionBar/ActionBarInteractionContext.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts +2 -3
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.d.ts +2 -3
- package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts +2 -3
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +2 -3
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts +4 -5
- package/dist/primitives/actionBar/useActionBarFloatStatus.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts +2 -3
- package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts +2 -3
- package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts +2 -3
- package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts +2 -3
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts +2 -3
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/scope.d.ts +2 -3
- package/dist/primitives/actionBarMore/scope.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts +2 -3
- package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts +2 -3
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.d.ts +2 -3
- package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +2 -3
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
- package/dist/primitives/assistantModal/popoverRenderPrimitives.d.ts +3 -4
- package/dist/primitives/assistantModal/popoverRenderPrimitives.d.ts.map +1 -1
- package/dist/primitives/assistantModal/scope.d.ts +2 -3
- package/dist/primitives/assistantModal/scope.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentName.d.ts +2 -3
- package/dist/primitives/attachment/AttachmentName.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentRemove.d.ts +2 -3
- package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.d.ts +2 -3
- package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.d.ts +2 -3
- package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts +2 -3
- package/dist/primitives/branchPicker/BranchPickerCount.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts +2 -3
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.d.ts +2 -3
- package/dist/primitives/branchPicker/BranchPickerNumber.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +2 -3
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +2 -3
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +2 -3
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +2 -3
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.d.ts +2 -3
- package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts +2 -3
- package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerCancel.d.ts +2 -3
- package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerCompactContext.d.ts +3 -4
- package/dist/primitives/composer/ComposerCompactContext.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerDictate.d.ts +2 -3
- package/dist/primitives/composer/ComposerDictate.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerDictationTranscript.d.ts +2 -3
- package/dist/primitives/composer/ComposerDictationTranscript.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts +2 -3
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInputPluginContext.d.ts +5 -6
- package/dist/primitives/composer/ComposerInputPluginContext.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerQuote.d.ts +6 -7
- package/dist/primitives/composer/ComposerQuote.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerRoot.d.ts +2 -3
- package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts +3 -4
- package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerStopDictation.d.ts +2 -3
- package/dist/primitives/composer/ComposerStopDictation.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopover.d.ts +6 -7
- package/dist/primitives/composer/trigger/TriggerPopover.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts +2 -3
- package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverBack.d.ts +2 -3
- package/dist/primitives/composer/trigger/TriggerPopoverBack.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts +4 -5
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts +2 -3
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts +4 -5
- package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts +4 -4
- package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts +12 -13
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/detectTrigger.d.ts +3 -4
- package/dist/primitives/composer/trigger/detectTrigger.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/index.d.ts +2 -2
- package/dist/primitives/composer/trigger/index.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/matchesTriggerItemQuery.d.ts +1 -2
- package/dist/primitives/composer/trigger/matchesTriggerItemQuery.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts +3 -4
- package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts +3 -4
- package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts +2 -3
- package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts +4 -5
- package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts.map +1 -1
- package/dist/primitives/composer/useComposerInputState.d.ts +4 -5
- package/dist/primitives/composer/useComposerInputState.d.ts.map +1 -1
- package/dist/primitives/dropdownMenuRenderPrimitives.d.ts +4 -5
- package/dist/primitives/dropdownMenuRenderPrimitives.d.ts.map +1 -1
- package/dist/primitives/error/ErrorMessage.d.ts +2 -3
- package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
- package/dist/primitives/error/ErrorRoot.d.ts +2 -3
- package/dist/primitives/error/ErrorRoot.d.ts.map +1 -1
- package/dist/primitives/message/MessageError.d.ts +1 -2
- package/dist/primitives/message/MessageError.d.ts.map +1 -1
- package/dist/primitives/message/MessageIf.d.ts +2 -3
- package/dist/primitives/message/MessageIf.d.ts.map +1 -1
- package/dist/primitives/message/MessageParts.d.ts +3 -3
- package/dist/primitives/message/MessageParts.d.ts.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.d.ts +4 -5
- package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.d.ts +2 -3
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/messagePart/MessagePartImage.d.ts +2 -3
- package/dist/primitives/messagePart/MessagePartImage.d.ts.map +1 -1
- package/dist/primitives/messagePart/MessagePartText.d.ts +3 -4
- package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartData.d.ts +1 -2
- package/dist/primitives/messagePart/useMessagePartData.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartFile.d.ts +1 -2
- package/dist/primitives/messagePart/useMessagePartFile.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartImage.d.ts +1 -2
- package/dist/primitives/messagePart/useMessagePartImage.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartReasoning.d.ts +1 -2
- package/dist/primitives/messagePart/useMessagePartReasoning.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartSource.d.ts +1 -2
- package/dist/primitives/messagePart/useMessagePartSource.d.ts.map +1 -1
- package/dist/primitives/messagePart/useMessagePartText.d.ts +1 -2
- package/dist/primitives/messagePart/useMessagePartText.d.ts.map +1 -1
- package/dist/primitives/queueItem/QueueItemRemove.d.ts +2 -3
- package/dist/primitives/queueItem/QueueItemRemove.d.ts.map +1 -1
- package/dist/primitives/queueItem/QueueItemSteer.d.ts +2 -3
- package/dist/primitives/queueItem/QueueItemSteer.d.ts.map +1 -1
- package/dist/primitives/queueItem/QueueItemText.d.ts +2 -3
- package/dist/primitives/queueItem/QueueItemText.d.ts.map +1 -1
- package/dist/primitives/reasoning/useScrollLock.d.ts +1 -2
- package/dist/primitives/reasoning/useScrollLock.d.ts.map +1 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.d.ts +2 -3
- package/dist/primitives/selectionToolbar/SelectionToolbarQuote.d.ts.map +1 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.d.ts +3 -4
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.d.ts.map +1 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js +5 -1
- package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js.map +1 -1
- package/dist/primitives/suggestion/SuggestionDescription.d.ts +2 -3
- package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -1
- package/dist/primitives/suggestion/SuggestionTitle.d.ts +2 -3
- package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -1
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts +2 -3
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadEmpty.d.ts +2 -3
- package/dist/primitives/thread/ThreadEmpty.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadIf.d.ts +2 -3
- package/dist/primitives/thread/ThreadIf.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadRoot.d.ts +2 -3
- package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts +3 -3
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts +2 -3
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadViewport.d.ts +2 -3
- package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadViewportFooter.d.ts +2 -3
- package/dist/primitives/thread/ThreadViewportFooter.d.ts.map +1 -1
- package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.d.ts +4 -5
- package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.d.ts.map +1 -1
- package/dist/primitives/thread/topAnchor/createReserveObservers.d.ts +1 -2
- package/dist/primitives/thread/topAnchor/createReserveObservers.d.ts.map +1 -1
- package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.d.ts +2 -3
- package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.d.ts.map +1 -1
- package/dist/primitives/thread/topAnchor/topAnchorTurn.d.ts +5 -6
- package/dist/primitives/thread/topAnchor/topAnchorTurn.d.ts.map +1 -1
- package/dist/primitives/thread/topAnchor/topAnchorUtils.d.ts +5 -6
- package/dist/primitives/thread/topAnchor/topAnchorUtils.d.ts.map +1 -1
- package/dist/primitives/thread/topAnchor/useTopAnchorReserve.d.ts +1 -2
- package/dist/primitives/thread/topAnchor/useTopAnchorReserve.d.ts.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts +2 -3
- package/dist/primitives/thread/useThreadViewportAutoScroll.d.ts.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.js +23 -15
- package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
- package/dist/primitives/threadList/ThreadListLoadMore.d.ts +2 -3
- package/dist/primitives/threadList/ThreadListLoadMore.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.d.ts +2 -3
- package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListRoot.d.ts +2 -3
- package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -1
- package/dist/primitives/threadListFocusGroup.d.ts +4 -4
- package/dist/primitives/threadListFocusGroup.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +2 -3
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +2 -3
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +2 -3
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +2 -3
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +2 -3
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts +2 -3
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts +2 -3
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts +4 -5
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts +2 -3
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts +2 -3
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/scope.d.ts +2 -3
- package/dist/primitives/threadListItemMore/scope.d.ts.map +1 -1
- package/dist/sandbox-host/SandboxHost.d.ts +8 -9
- package/dist/sandbox-host/SandboxHost.d.ts.map +1 -1
- package/dist/sandbox-host/SandboxHost.js +1 -1
- package/dist/tests/remote-thread-list-test-helpers.d.ts +1 -2
- package/dist/tests/remote-thread-list-test-helpers.d.ts.map +1 -1
- package/dist/unstable/useComposerInput.d.ts +5 -6
- package/dist/unstable/useComposerInput.d.ts.map +1 -1
- package/dist/unstable/useComposerInputHistory.d.ts +2 -3
- package/dist/unstable/useComposerInputHistory.d.ts.map +1 -1
- package/dist/unstable/useLiveCompletionAdapter.d.ts +2 -3
- package/dist/unstable/useLiveCompletionAdapter.d.ts.map +1 -1
- package/dist/unstable/useMentionAdapter.d.ts +7 -8
- package/dist/unstable/useMentionAdapter.d.ts.map +1 -1
- package/dist/unstable/useMessageStallDetection.d.ts +3 -4
- package/dist/unstable/useMessageStallDetection.d.ts.map +1 -1
- package/dist/unstable/useModelContextSnapshot.d.ts +3 -4
- package/dist/unstable/useModelContextSnapshot.d.ts.map +1 -1
- package/dist/unstable/useSlashCommandAdapter.d.ts +4 -5
- package/dist/unstable/useSlashCommandAdapter.d.ts.map +1 -1
- package/dist/unstable/webmcp/WebMcpRegistrationResource.d.ts +2 -3
- package/dist/unstable/webmcp/WebMcpRegistrationResource.d.ts.map +1 -1
- package/dist/unstable/webmcp/convertTools.d.ts +4 -5
- package/dist/unstable/webmcp/convertTools.d.ts.map +1 -1
- package/dist/unstable/webmcp/useWebMcpProvider.d.ts +3 -4
- package/dist/unstable/webmcp/useWebMcpProvider.d.ts.map +1 -1
- package/dist/unstable/webmcp/webmcp-host.d.ts +6 -7
- package/dist/unstable/webmcp/webmcp-host.d.ts.map +1 -1
- package/dist/utils/Primitive.d.ts +4 -4
- package/dist/utils/RequireAtLeastOne.d.ts +1 -2
- package/dist/utils/RequireAtLeastOne.d.ts.map +1 -1
- package/dist/utils/createActionButton.d.ts +3 -4
- package/dist/utils/createActionButton.d.ts.map +1 -1
- package/dist/utils/getSelectionMessageId.d.ts +1 -2
- package/dist/utils/getSelectionMessageId.d.ts.map +1 -1
- package/dist/utils/hooks/useManagedRef.d.ts +1 -2
- package/dist/utils/hooks/useManagedRef.d.ts.map +1 -1
- package/dist/utils/hooks/useMediaQuery.d.ts +1 -2
- package/dist/utils/hooks/useMediaQuery.d.ts.map +1 -1
- package/dist/utils/hooks/useOnResizeContent.d.ts +1 -2
- package/dist/utils/hooks/useOnResizeContent.d.ts.map +1 -1
- package/dist/utils/hooks/useOnScrollToBottom.d.ts +1 -2
- package/dist/utils/hooks/useOnScrollToBottom.d.ts.map +1 -1
- package/dist/utils/hooks/useSizeHandle.d.ts +1 -2
- package/dist/utils/hooks/useSizeHandle.d.ts.map +1 -1
- package/dist/utils/smooth/SmoothContext.d.ts +3 -4
- package/dist/utils/smooth/SmoothContext.d.ts.map +1 -1
- package/dist/utils/smooth/useSmooth.d.ts +2 -3
- package/dist/utils/smooth/useSmooth.d.ts.map +1 -1
- package/package.json +17 -16
- package/src/context/stores/ThreadViewport.test.ts +29 -0
- package/src/context/stores/ThreadViewport.ts +6 -3
- package/src/index.ts +5 -0
- package/src/legacy-runtime/runtime-cores/external-store/external-message-converter.ts +2 -0
- package/src/mcp-apps/McpAppRenderer.test.tsx +1 -2
- package/src/mcp-apps/app-frame.test.tsx +0 -1
- package/src/model-context/frame/useAssistantFrameHost.test.tsx +42 -0
- package/src/model-context/frame/useAssistantFrameHost.ts +25 -2
- package/src/primitives/composer/ComposerAddAttachment.test.tsx +7 -5
- package/src/primitives/composer/ComposerRoot.test.tsx +5 -3
- package/src/primitives/selectionToolbar/SelectionToolbarRoot.test.tsx +44 -0
- package/src/primitives/selectionToolbar/SelectionToolbarRoot.tsx +7 -1
- package/src/primitives/thread/useThreadViewportAutoScroll.test.tsx +95 -0
- package/src/primitives/thread/useThreadViewportAutoScroll.ts +10 -0
- package/src/tests/RemoteThreadListRuntime.reloadMainThread.test.tsx +2 -4
- package/src/tests/threadListItemIsRunning.test.tsx +3 -2
- package/src/unstable/useMentionAdapter.test.tsx +15 -21
- package/src/unstable/useModelContextSnapshot.test.tsx +3 -2
- package/src/unstable/webmcp/convertTools.test.ts +59 -37
- package/src/unstable/webmcp/useWebMcpProvider.test.tsx +12 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeTopAnchorSlack.d.ts","names":[],"sources":["../../../../src/primitives/thread/topAnchor/computeTopAnchorSlack.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"computeTopAnchorSlack.d.ts","names":[],"sources":["../../../../src/primitives/thread/topAnchor/computeTopAnchorSlack.ts"],"mappings":";YAEY;EACV,UAAU;EACV,QAAQ;EACR;EACA;;YAGU,iCAAiC;EAC3C,SAAS;;;;;;;;;;;;qBAgDE,oCAAmC,UAAA,QAAA,YAAA,iBAK7C;qBAoBU,4BAA2B,UAAA,YAAA,iBAIrC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
//#region src/primitives/thread/topAnchor/createReserveObservers.d.ts
|
|
2
|
-
declare const createReserveObservers: (onChange: () => void) => {
|
|
2
|
+
export declare const createReserveObservers: (onChange: () => void) => {
|
|
3
3
|
target: (viewport: HTMLElement, anchor: HTMLElement, target: HTMLElement) => void;
|
|
4
4
|
disconnect: () => void;
|
|
5
5
|
};
|
|
6
6
|
//#endregion
|
|
7
|
-
export { createReserveObservers };
|
|
8
7
|
//# sourceMappingURL=createReserveObservers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createReserveObservers.d.ts","names":[],"sources":["../../../../src/primitives/thread/topAnchor/createReserveObservers.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"createReserveObservers.d.ts","names":[],"sources":["../../../../src/primitives/thread/topAnchor/createReserveObservers.ts"],"mappings":";qBAEa,yBAA0B;EAkBvB,SAAA,UAAA,aAAW,QACb,aAAW,QACX"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Decoupling from the full store keeps `mountTopAnchorReserve` testable in
|
|
5
5
|
* isolation and re-usable from any consumer that can adapt to this shape.
|
|
6
6
|
*/
|
|
7
|
-
type TopAnchorStore = {
|
|
7
|
+
export type TopAnchorStore = {
|
|
8
8
|
getState(): {
|
|
9
9
|
turnAnchor: "top" | "bottom";
|
|
10
10
|
element: {
|
|
@@ -23,7 +23,6 @@ type TopAnchorStore = {
|
|
|
23
23
|
};
|
|
24
24
|
subscribe(fn: () => void): () => void;
|
|
25
25
|
};
|
|
26
|
-
declare const mountTopAnchorReserve: (store: TopAnchorStore) => () => void;
|
|
26
|
+
export declare const mountTopAnchorReserve: (store: TopAnchorStore) => () => void;
|
|
27
27
|
//#endregion
|
|
28
|
-
export { TopAnchorStore, mountTopAnchorReserve };
|
|
29
28
|
//# sourceMappingURL=mountTopAnchorReserve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mountTopAnchorReserve.d.ts","names":[],"sources":["../../../../src/primitives/thread/topAnchor/mountTopAnchorReserve.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"mountTopAnchorReserve.d.ts","names":[],"sources":["../../../../src/primitives/thread/topAnchor/mountTopAnchorReserve.ts"],"mappings":";;;;;;YAmBY;EACV;IACE;IACA;MACE,UAAU;MACV,QAAQ;MACR,QAAQ;;IAEV;MACE;MACA;;IAEF;eACW;eACA;;;EAGb,UAAU;;qBAuBC,wBAAyB,OAAO"}
|
|
@@ -3,7 +3,7 @@ type TopAnchorTurnMessage = {
|
|
|
3
3
|
readonly id: string;
|
|
4
4
|
readonly role: string;
|
|
5
5
|
};
|
|
6
|
-
type TopAnchorTurn = {
|
|
6
|
+
export type TopAnchorTurn = {
|
|
7
7
|
readonly anchorId: string;
|
|
8
8
|
readonly targetId: string;
|
|
9
9
|
};
|
|
@@ -14,16 +14,15 @@ type TopAnchorTurn = {
|
|
|
14
14
|
* target means the turn was superseded (e.g. an external store synced in a
|
|
15
15
|
* turn completed elsewhere), so the reserve must be torn down, not preserved.
|
|
16
16
|
*/
|
|
17
|
-
declare const isTopAnchorTurnValid: (turn: TopAnchorTurn | null, messages: readonly TopAnchorTurnMessage[]) => boolean;
|
|
18
|
-
declare const getActiveTopAnchorTurn: ({ isRunning, messages }: {
|
|
17
|
+
export declare const isTopAnchorTurnValid: (turn: TopAnchorTurn | null, messages: readonly TopAnchorTurnMessage[]) => boolean;
|
|
18
|
+
export declare const getActiveTopAnchorTurn: ({ isRunning, messages }: {
|
|
19
19
|
readonly isRunning: boolean;
|
|
20
20
|
readonly messages: readonly TopAnchorTurnMessage[];
|
|
21
21
|
}) => {
|
|
22
22
|
anchorId: string;
|
|
23
23
|
targetId: string;
|
|
24
24
|
} | null;
|
|
25
|
-
declare const getActiveTopAnchorAnchorId: (options: Parameters<typeof getActiveTopAnchorTurn>[0]) => string | undefined;
|
|
26
|
-
declare const getActiveTopAnchorTargetId: (options: Parameters<typeof getActiveTopAnchorTurn>[0]) => string | undefined;
|
|
25
|
+
export declare const getActiveTopAnchorAnchorId: (options: Parameters<typeof getActiveTopAnchorTurn>[0]) => string | undefined;
|
|
26
|
+
export declare const getActiveTopAnchorTargetId: (options: Parameters<typeof getActiveTopAnchorTurn>[0]) => string | undefined;
|
|
27
27
|
//#endregion
|
|
28
|
-
export { TopAnchorTurn, getActiveTopAnchorAnchorId, getActiveTopAnchorTargetId, getActiveTopAnchorTurn, isTopAnchorTurnValid };
|
|
29
28
|
//# sourceMappingURL=topAnchorTurn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topAnchorTurn.d.ts","names":[],"sources":["../../../../src/primitives/thread/topAnchor/topAnchorTurn.ts"],"mappings":";KAEK;WACM;WACA;;
|
|
1
|
+
{"version":3,"file":"topAnchorTurn.d.ts","names":[],"sources":["../../../../src/primitives/thread/topAnchor/topAnchorTurn.ts"],"mappings":";KAEK;WACM;WACA;;YAGC;WACD;WACA;;;;;;;;;qBAUE,uBACX,MAAM,sBACN,mBAAmB;qBAeR,2BAA0B,WAAA;WAI5B;WACA,mBAAmB;;;;;qBAWjB,6BACX,SAAS,kBAAkB;qBAGhB,6BACX,SAAS,kBAAkB"}
|
|
@@ -8,11 +8,10 @@
|
|
|
8
8
|
* clamp configuration as supported CSS-length strings, and this function is the
|
|
9
9
|
* single place that converts them into the pixel values the package operates on.
|
|
10
10
|
*/
|
|
11
|
-
declare const parseCssLength: (value: string, element: HTMLElement) => number;
|
|
12
|
-
declare const getAnchorId: (anchor: HTMLElement) => string | undefined;
|
|
13
|
-
declare const createReserveElement: () => HTMLDivElement;
|
|
14
|
-
declare const setReserveHeight: (reserve: HTMLElement, height: number) => boolean;
|
|
15
|
-
declare const snapScrollTop: (top: number) => number;
|
|
11
|
+
export declare const parseCssLength: (value: string, element: HTMLElement) => number;
|
|
12
|
+
export declare const getAnchorId: (anchor: HTMLElement) => string | undefined;
|
|
13
|
+
export declare const createReserveElement: () => HTMLDivElement;
|
|
14
|
+
export declare const setReserveHeight: (reserve: HTMLElement, height: number) => boolean;
|
|
15
|
+
export declare const snapScrollTop: (top: number) => number;
|
|
16
16
|
//#endregion
|
|
17
|
-
export { createReserveElement, getAnchorId, parseCssLength, setReserveHeight, snapScrollTop };
|
|
18
17
|
//# sourceMappingURL=topAnchorUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topAnchorUtils.d.ts","names":[],"sources":["../../../../src/primitives/thread/topAnchor/topAnchorUtils.ts"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"topAnchorUtils.d.ts","names":[],"sources":["../../../../src/primitives/thread/topAnchor/topAnchorUtils.ts"],"mappings":";;;;;;;;;;qBAWa,iBAAkB,eAAe,SAAS;qBAoB1C,cAAe,QAAQ;qBAEvB,4BAAoB;qBAWpB,mBAAoB,SAAS,aAAa;qBAU1C,gBAAiB"}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* `ThreadViewport` store. Call this from inside the scrollable viewport so
|
|
5
5
|
* the reserve `<div>` is appended next to the streaming assistant message.
|
|
6
6
|
*/
|
|
7
|
-
declare const useTopAnchorReserve: (enabled: boolean) => void;
|
|
7
|
+
export declare const useTopAnchorReserve: (enabled: boolean) => void;
|
|
8
8
|
//#endregion
|
|
9
|
-
export { useTopAnchorReserve };
|
|
10
9
|
//# sourceMappingURL=useTopAnchorReserve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTopAnchorReserve.d.ts","names":[],"sources":["../../../../src/primitives/thread/topAnchor/useTopAnchorReserve.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"useTopAnchorReserve.d.ts","names":[],"sources":["../../../../src/primitives/thread/topAnchor/useTopAnchorReserve.ts"],"mappings":";;;;;;qBAWa,sBAAuB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RefCallback } from "react";
|
|
2
2
|
//#region src/primitives/thread/useThreadViewportAutoScroll.d.ts
|
|
3
|
-
declare namespace useThreadViewportAutoScroll {
|
|
3
|
+
export declare namespace useThreadViewportAutoScroll {
|
|
4
4
|
type Options = {
|
|
5
5
|
/**
|
|
6
6
|
* Whether to automatically scroll to the bottom when new messages are added.
|
|
@@ -29,7 +29,6 @@ declare namespace useThreadViewportAutoScroll {
|
|
|
29
29
|
scrollToBottomOnThreadSwitch?: boolean | undefined;
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
declare const useThreadViewportAutoScroll: <TElement extends HTMLElement>({ autoScroll, scrollToBottomOnRunStart, scrollToBottomOnInitialize, scrollToBottomOnThreadSwitch }: useThreadViewportAutoScroll.Options) => RefCallback<TElement>;
|
|
32
|
+
export declare const useThreadViewportAutoScroll: <TElement extends HTMLElement>({ autoScroll, scrollToBottomOnRunStart, scrollToBottomOnInitialize, scrollToBottomOnThreadSwitch }: useThreadViewportAutoScroll.Options) => RefCallback<TElement>;
|
|
33
33
|
//#endregion
|
|
34
|
-
export { useThreadViewportAutoScroll };
|
|
35
34
|
//# sourceMappingURL=useThreadViewportAutoScroll.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useThreadViewportAutoScroll.d.ts","names":[],"sources":["../../../src/primitives/thread/useThreadViewportAutoScroll.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"useThreadViewportAutoScroll.d.ts","names":[],"sources":["../../../src/primitives/thread/useThreadViewportAutoScroll.ts"],"mappings":";;yBAgBiB;OACH;;;;;;;IAOV;;;;;;IAOA;;;;;;IAOA;;;;;;IAOA;;;qBAIS,8BAA+B,iBAAiB,eAAa,YAAA,0BAAA,4BAAA,gCAKvE,4BAA4B,YAAU,YAAY"}
|
|
@@ -23,13 +23,21 @@ const useThreadViewportAutoScroll = ({ autoScroll, scrollToBottomOnRunStart = tr
|
|
|
23
23
|
const lastObservedClientHeight = useRef(0);
|
|
24
24
|
const scrollingToBottomBehaviorRef = useRef(null);
|
|
25
25
|
const followBottomRef = useRef(autoScroll);
|
|
26
|
-
const
|
|
26
|
+
const previousAutoScrollRef = useRef(autoScroll);
|
|
27
|
+
useLayoutEffect(() => {
|
|
28
|
+
const previousAutoScroll = previousAutoScrollRef.current;
|
|
29
|
+
previousAutoScrollRef.current = autoScroll;
|
|
30
|
+
if (previousAutoScroll || !autoScroll) return;
|
|
27
31
|
const div = divRef.current;
|
|
28
|
-
|
|
32
|
+
followBottomRef.current = div !== null && isViewportAtBottom(div);
|
|
33
|
+
}, [autoScroll]);
|
|
34
|
+
const scrollToBottom = useCallback((behavior) => {
|
|
35
|
+
const div_0 = divRef.current;
|
|
36
|
+
if (!div_0) return;
|
|
29
37
|
followBottomRef.current = true;
|
|
30
38
|
scrollingToBottomBehaviorRef.current = behavior;
|
|
31
|
-
|
|
32
|
-
top:
|
|
39
|
+
div_0.scrollTo({
|
|
40
|
+
top: div_0.scrollHeight,
|
|
33
41
|
behavior
|
|
34
42
|
});
|
|
35
43
|
}, []);
|
|
@@ -52,17 +60,17 @@ const useThreadViewportAutoScroll = ({ autoScroll, scrollToBottomOnRunStart = tr
|
|
|
52
60
|
return state.turnAnchor === "top" && state.element.viewport === divRef.current && state.element.anchor !== null;
|
|
53
61
|
}, [threadViewportStore]);
|
|
54
62
|
const handleScroll = () => {
|
|
55
|
-
const
|
|
56
|
-
if (!
|
|
63
|
+
const div_1 = divRef.current;
|
|
64
|
+
if (!div_1) return;
|
|
57
65
|
const isAtBottom = threadViewportStore.getState().isAtBottom;
|
|
58
|
-
const newIsAtBottom = isViewportAtBottom(
|
|
59
|
-
if (!newIsAtBottom && lastScrollTop.current <
|
|
66
|
+
const newIsAtBottom = isViewportAtBottom(div_1);
|
|
67
|
+
if (!newIsAtBottom && lastScrollTop.current < div_1.scrollTop) {} else {
|
|
60
68
|
const userScrolledUp = isUserScrollUp({
|
|
61
69
|
scrollTop: lastScrollTop.current,
|
|
62
70
|
scrollHeight: lastScrollHeight.current
|
|
63
|
-
},
|
|
71
|
+
}, div_1);
|
|
64
72
|
if (newIsAtBottom) {
|
|
65
|
-
if (viewportOverflows(
|
|
73
|
+
if (viewportOverflows(div_1)) scrollingToBottomBehaviorRef.current = null;
|
|
66
74
|
if (autoScroll) followBottomRef.current = true;
|
|
67
75
|
} else if (userScrolledUp) {
|
|
68
76
|
cancelScheduledFrame();
|
|
@@ -71,13 +79,13 @@ const useThreadViewportAutoScroll = ({ autoScroll, scrollToBottomOnRunStart = tr
|
|
|
71
79
|
}
|
|
72
80
|
if ((newIsAtBottom || scrollingToBottomBehaviorRef.current === null) && newIsAtBottom !== isAtBottom) writableStore(threadViewportStore).setState({ isAtBottom: newIsAtBottom });
|
|
73
81
|
}
|
|
74
|
-
lastScrollTop.current =
|
|
75
|
-
lastScrollHeight.current =
|
|
82
|
+
lastScrollTop.current = div_1.scrollTop;
|
|
83
|
+
lastScrollHeight.current = div_1.scrollHeight;
|
|
76
84
|
};
|
|
77
85
|
const resizeRef = useOnResizeContent(() => {
|
|
78
|
-
const
|
|
79
|
-
if (!
|
|
80
|
-
const { scrollHeight, clientHeight } =
|
|
86
|
+
const div_2 = divRef.current;
|
|
87
|
+
if (!div_2) return;
|
|
88
|
+
const { scrollHeight, clientHeight } = div_2;
|
|
81
89
|
if (scrollHeight === lastObservedScrollHeight.current && clientHeight === lastObservedClientHeight.current) return;
|
|
82
90
|
lastObservedScrollHeight.current = scrollHeight;
|
|
83
91
|
lastObservedClientHeight.current = clientHeight;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useThreadViewportAutoScroll.js","names":["useComposedRefs","useCallback","useLayoutEffect","useRef","RefCallback","useAuiEvent","useAuiState","isUserScrollUp","isViewportAtBottom","viewportOverflows","useOnResizeContent","useOnScrollToBottom","useManagedRef","writableStore","useThreadViewportStore","useThreadViewportAutoScroll","Options","autoScroll","scrollToBottomOnRunStart","scrollToBottomOnInitialize","scrollToBottomOnThreadSwitch","HTMLElement","TElement","divRef","hasMessages","s","thread","messages","length","isRunning","initializeScrollRequestedRef","scheduledFrameRef","threadViewportStore","undefined","getState","turnAnchor","lastScrollTop","lastScrollHeight","lastObservedScrollHeight","lastObservedClientHeight","scrollingToBottomBehaviorRef","ScrollBehavior","followBottomRef","scrollToBottom","behavior","div","current","scrollTo","top","scrollHeight","cancelScheduledFrame","cancelAnimationFrame","scheduleScrollToBottom","requestAnimationFrame","hasActiveTopAnchor","state","element","viewport","anchor","handleScroll","isAtBottom","newIsAtBottom","isInFlightDownwardScroll","scrollTop","userScrolledUp","shouldUpdate","setState","resizeRef","clientHeight","scrollBehavior","scrollRef","el","cancelPendingScrollToBottom","addEventListener","removeEventListener","autoScrollRef"],"sources":["../../../src/primitives/thread/useThreadViewportAutoScroll.ts"],"sourcesContent":["\"use client\";\n\nimport { useComposedRefs } from \"radix-ui/internal\";\nimport { useCallback, useLayoutEffect, useRef, type RefCallback } from \"react\";\nimport { useAuiEvent, useAuiState } from \"@assistant-ui/store\";\nimport {\n isUserScrollUp,\n isViewportAtBottom,\n viewportOverflows,\n} from \"@assistant-ui/store/client\";\nimport { useOnResizeContent } from \"../../utils/hooks/useOnResizeContent\";\nimport { useOnScrollToBottom } from \"../../utils/hooks/useOnScrollToBottom\";\nimport { useManagedRef } from \"../../utils/hooks/useManagedRef\";\nimport { writableStore } from \"../../context/ReadonlyStore\";\nimport { useThreadViewportStore } from \"../../context/react/ThreadViewportContext\";\n\nexport namespace useThreadViewportAutoScroll {\n export type Options = {\n /**\n * Whether to automatically scroll to the bottom when new messages are added.\n * When enabled, the viewport will automatically scroll to show the latest content.\n *\n * Default false if `turnAnchor` is \"top\", otherwise defaults to true.\n */\n autoScroll?: boolean | undefined;\n\n /**\n * Whether to scroll to bottom when a new run starts.\n *\n * Defaults to true.\n */\n scrollToBottomOnRunStart?: boolean | undefined;\n\n /**\n * Whether to scroll to bottom when messages first appear in the thread.\n *\n * Defaults to true.\n */\n scrollToBottomOnInitialize?: boolean | undefined;\n\n /**\n * Whether to scroll to bottom when switching to a different thread.\n *\n * Defaults to true.\n */\n scrollToBottomOnThreadSwitch?: boolean | undefined;\n };\n}\n\nexport const useThreadViewportAutoScroll = <TElement extends HTMLElement>({\n autoScroll,\n scrollToBottomOnRunStart = true,\n scrollToBottomOnInitialize = true,\n scrollToBottomOnThreadSwitch = true,\n}: useThreadViewportAutoScroll.Options): RefCallback<TElement> => {\n const divRef = useRef<TElement>(null);\n const hasMessages = useAuiState((s) => s.thread.messages.length > 0);\n const isRunning = useAuiState((s) => s.thread.isRunning);\n const initializeScrollRequestedRef = useRef(false);\n const scheduledFrameRef = useRef<number | null>(null);\n\n const threadViewportStore = useThreadViewportStore();\n if (autoScroll === undefined) {\n autoScroll = threadViewportStore.getState().turnAnchor !== \"top\";\n }\n\n const lastScrollTop = useRef<number>(0);\n const lastScrollHeight = useRef<number>(0);\n const lastObservedScrollHeight = useRef<number>(0);\n const lastObservedClientHeight = useRef<number>(0);\n\n // Pending bottom-scroll intent. Planted by initialize/run-start/switch/button\n // triggers, cleared when handleScroll confirms we reached bottom, or when the\n // user actively scrolls up while content size is stable.\n const scrollingToBottomBehaviorRef = useRef<ScrollBehavior | null>(null);\n const followBottomRef = useRef(autoScroll);\n\n const scrollToBottom = useCallback((behavior: ScrollBehavior) => {\n const div = divRef.current;\n if (!div) return;\n\n followBottomRef.current = true;\n scrollingToBottomBehaviorRef.current = behavior;\n div.scrollTo({ top: div.scrollHeight, behavior });\n }, []);\n\n const cancelScheduledFrame = useCallback(() => {\n if (scheduledFrameRef.current === null) return;\n cancelAnimationFrame(scheduledFrameRef.current);\n scheduledFrameRef.current = null;\n }, []);\n\n const scheduleScrollToBottom = useCallback(\n (behavior: ScrollBehavior) => {\n scrollingToBottomBehaviorRef.current = behavior;\n cancelScheduledFrame();\n scheduledFrameRef.current = requestAnimationFrame(() => {\n scheduledFrameRef.current = null;\n scrollToBottom(behavior);\n });\n },\n [cancelScheduledFrame, scrollToBottom],\n );\n\n useLayoutEffect(() => () => cancelScheduledFrame(), [cancelScheduledFrame]);\n\n const hasActiveTopAnchor = useCallback(() => {\n const state = threadViewportStore.getState();\n return (\n state.turnAnchor === \"top\" &&\n state.element.viewport === divRef.current &&\n state.element.anchor !== null\n );\n }, [threadViewportStore]);\n\n const handleScroll = () => {\n const div = divRef.current;\n if (!div) return;\n\n const isAtBottom = threadViewportStore.getState().isAtBottom;\n const newIsAtBottom = isViewportAtBottom(div);\n\n const isInFlightDownwardScroll =\n !newIsAtBottom && lastScrollTop.current < div.scrollTop;\n if (isInFlightDownwardScroll) {\n // no-op: a smooth scroll-to-bottom fires many midpoint scroll events\n // before landing, don't flicker isAtBottom or clear intent mid-animation\n } else {\n const userScrolledUp = isUserScrollUp(\n {\n scrollTop: lastScrollTop.current,\n scrollHeight: lastScrollHeight.current,\n },\n div,\n );\n\n if (newIsAtBottom) {\n // newIsAtBottom is ambiguous when the viewport doesn't overflow —\n // keep intent alive until content can actually scroll\n if (viewportOverflows(div)) {\n scrollingToBottomBehaviorRef.current = null;\n }\n if (autoScroll) followBottomRef.current = true;\n } else if (userScrolledUp) {\n cancelScheduledFrame();\n scrollingToBottomBehaviorRef.current = null;\n followBottomRef.current = false;\n }\n\n const shouldUpdate =\n newIsAtBottom || scrollingToBottomBehaviorRef.current === null;\n\n if (shouldUpdate && newIsAtBottom !== isAtBottom) {\n writableStore(threadViewportStore).setState({\n isAtBottom: newIsAtBottom,\n });\n }\n }\n\n lastScrollTop.current = div.scrollTop;\n lastScrollHeight.current = div.scrollHeight;\n };\n\n const resizeRef = useOnResizeContent(() => {\n const div = divRef.current;\n if (!div) return;\n\n const { scrollHeight, clientHeight } = div;\n if (\n scrollHeight === lastObservedScrollHeight.current &&\n clientHeight === lastObservedClientHeight.current\n ) {\n return;\n }\n lastObservedScrollHeight.current = scrollHeight;\n lastObservedClientHeight.current = clientHeight;\n\n const scrollBehavior = scrollingToBottomBehaviorRef.current;\n if (scrollBehavior && hasActiveTopAnchor()) {\n // Let the top-anchor reserve own scrolling while a run starts to avoid a bottom-scroll race.\n scrollingToBottomBehaviorRef.current = null;\n } else if (scrollBehavior) {\n scrollToBottom(scrollBehavior);\n } else if (\n autoScroll &&\n !(isRunning && hasActiveTopAnchor()) &&\n followBottomRef.current\n ) {\n scrollToBottom(\"instant\");\n }\n\n handleScroll();\n });\n\n const scrollRef = useManagedRef<HTMLElement>((el) => {\n // A pointer gesture invalidates pending bottom-scroll intent; otherwise an\n // intent kept alive by a non-overflowing thread (see handleScroll) hijacks\n // the next content growth, e.g. expanding a collapsible tool call.\n const cancelPendingScrollToBottom = () => {\n scrollingToBottomBehaviorRef.current = null;\n };\n el.addEventListener(\"scroll\", handleScroll);\n el.addEventListener(\"pointerdown\", cancelPendingScrollToBottom);\n return () => {\n el.removeEventListener(\"scroll\", handleScroll);\n el.removeEventListener(\"pointerdown\", cancelPendingScrollToBottom);\n };\n });\n\n useLayoutEffect(() => {\n if (!scrollToBottomOnInitialize) return;\n if (!hasMessages) {\n initializeScrollRequestedRef.current = false;\n return;\n }\n if (initializeScrollRequestedRef.current) return;\n\n initializeScrollRequestedRef.current = true;\n // defer to an in-flight run (e.g. first message on a new thread) that\n // already planted intent — otherwise we'd downgrade its \"auto\" to \"instant\"\n if (scrollingToBottomBehaviorRef.current !== null) return;\n scheduleScrollToBottom(\"instant\");\n }, [hasMessages, scheduleScrollToBottom, scrollToBottomOnInitialize]);\n\n useOnScrollToBottom(({ behavior }) => {\n scrollToBottom(behavior);\n });\n\n useAuiEvent(\"thread.runStart\", () => {\n if (!scrollToBottomOnRunStart) return;\n if (threadViewportStore.getState().turnAnchor === \"top\") return;\n scheduleScrollToBottom(\"auto\");\n });\n\n useAuiEvent(\"threads.selectionChanged\", () => {\n if (!scrollToBottomOnThreadSwitch) return;\n scheduleScrollToBottom(\"instant\");\n });\n\n const autoScrollRef = useComposedRefs<TElement>(resizeRef, scrollRef, divRef);\n return autoScrollRef as RefCallback<TElement>;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useThreadViewportAutoScroll.js","names":["useComposedRefs","useCallback","useLayoutEffect","useRef","RefCallback","useAuiEvent","useAuiState","isUserScrollUp","isViewportAtBottom","viewportOverflows","useOnResizeContent","useOnScrollToBottom","useManagedRef","writableStore","useThreadViewportStore","useThreadViewportAutoScroll","Options","autoScroll","scrollToBottomOnRunStart","scrollToBottomOnInitialize","scrollToBottomOnThreadSwitch","HTMLElement","TElement","divRef","hasMessages","s","thread","messages","length","isRunning","initializeScrollRequestedRef","scheduledFrameRef","threadViewportStore","undefined","getState","turnAnchor","lastScrollTop","lastScrollHeight","lastObservedScrollHeight","lastObservedClientHeight","scrollingToBottomBehaviorRef","ScrollBehavior","followBottomRef","previousAutoScrollRef","previousAutoScroll","current","div","scrollToBottom","behavior","scrollTo","top","scrollHeight","cancelScheduledFrame","cancelAnimationFrame","scheduleScrollToBottom","requestAnimationFrame","hasActiveTopAnchor","state","element","viewport","anchor","handleScroll","isAtBottom","newIsAtBottom","isInFlightDownwardScroll","scrollTop","userScrolledUp","shouldUpdate","setState","resizeRef","clientHeight","scrollBehavior","scrollRef","el","cancelPendingScrollToBottom","addEventListener","removeEventListener","autoScrollRef"],"sources":["../../../src/primitives/thread/useThreadViewportAutoScroll.ts"],"sourcesContent":["\"use client\";\n\nimport { useComposedRefs } from \"radix-ui/internal\";\nimport { useCallback, useLayoutEffect, useRef, type RefCallback } from \"react\";\nimport { useAuiEvent, useAuiState } from \"@assistant-ui/store\";\nimport {\n isUserScrollUp,\n isViewportAtBottom,\n viewportOverflows,\n} from \"@assistant-ui/store/client\";\nimport { useOnResizeContent } from \"../../utils/hooks/useOnResizeContent\";\nimport { useOnScrollToBottom } from \"../../utils/hooks/useOnScrollToBottom\";\nimport { useManagedRef } from \"../../utils/hooks/useManagedRef\";\nimport { writableStore } from \"../../context/ReadonlyStore\";\nimport { useThreadViewportStore } from \"../../context/react/ThreadViewportContext\";\n\nexport namespace useThreadViewportAutoScroll {\n export type Options = {\n /**\n * Whether to automatically scroll to the bottom when new messages are added.\n * When enabled, the viewport will automatically scroll to show the latest content.\n *\n * Default false if `turnAnchor` is \"top\", otherwise defaults to true.\n */\n autoScroll?: boolean | undefined;\n\n /**\n * Whether to scroll to bottom when a new run starts.\n *\n * Defaults to true.\n */\n scrollToBottomOnRunStart?: boolean | undefined;\n\n /**\n * Whether to scroll to bottom when messages first appear in the thread.\n *\n * Defaults to true.\n */\n scrollToBottomOnInitialize?: boolean | undefined;\n\n /**\n * Whether to scroll to bottom when switching to a different thread.\n *\n * Defaults to true.\n */\n scrollToBottomOnThreadSwitch?: boolean | undefined;\n };\n}\n\nexport const useThreadViewportAutoScroll = <TElement extends HTMLElement>({\n autoScroll,\n scrollToBottomOnRunStart = true,\n scrollToBottomOnInitialize = true,\n scrollToBottomOnThreadSwitch = true,\n}: useThreadViewportAutoScroll.Options): RefCallback<TElement> => {\n const divRef = useRef<TElement>(null);\n const hasMessages = useAuiState((s) => s.thread.messages.length > 0);\n const isRunning = useAuiState((s) => s.thread.isRunning);\n const initializeScrollRequestedRef = useRef(false);\n const scheduledFrameRef = useRef<number | null>(null);\n\n const threadViewportStore = useThreadViewportStore();\n if (autoScroll === undefined) {\n autoScroll = threadViewportStore.getState().turnAnchor !== \"top\";\n }\n\n const lastScrollTop = useRef<number>(0);\n const lastScrollHeight = useRef<number>(0);\n const lastObservedScrollHeight = useRef<number>(0);\n const lastObservedClientHeight = useRef<number>(0);\n\n // Pending bottom-scroll intent. Planted by initialize/run-start/switch/button\n // triggers, cleared when handleScroll confirms we reached bottom, or when the\n // user actively scrolls up while content size is stable.\n const scrollingToBottomBehaviorRef = useRef<ScrollBehavior | null>(null);\n const followBottomRef = useRef(autoScroll);\n const previousAutoScrollRef = useRef(autoScroll);\n\n useLayoutEffect(() => {\n const previousAutoScroll = previousAutoScrollRef.current;\n previousAutoScrollRef.current = autoScroll;\n if (previousAutoScroll || !autoScroll) return;\n\n const div = divRef.current;\n followBottomRef.current = div !== null && isViewportAtBottom(div);\n }, [autoScroll]);\n\n const scrollToBottom = useCallback((behavior: ScrollBehavior) => {\n const div = divRef.current;\n if (!div) return;\n\n followBottomRef.current = true;\n scrollingToBottomBehaviorRef.current = behavior;\n div.scrollTo({ top: div.scrollHeight, behavior });\n }, []);\n\n const cancelScheduledFrame = useCallback(() => {\n if (scheduledFrameRef.current === null) return;\n cancelAnimationFrame(scheduledFrameRef.current);\n scheduledFrameRef.current = null;\n }, []);\n\n const scheduleScrollToBottom = useCallback(\n (behavior: ScrollBehavior) => {\n scrollingToBottomBehaviorRef.current = behavior;\n cancelScheduledFrame();\n scheduledFrameRef.current = requestAnimationFrame(() => {\n scheduledFrameRef.current = null;\n scrollToBottom(behavior);\n });\n },\n [cancelScheduledFrame, scrollToBottom],\n );\n\n useLayoutEffect(() => () => cancelScheduledFrame(), [cancelScheduledFrame]);\n\n const hasActiveTopAnchor = useCallback(() => {\n const state = threadViewportStore.getState();\n return (\n state.turnAnchor === \"top\" &&\n state.element.viewport === divRef.current &&\n state.element.anchor !== null\n );\n }, [threadViewportStore]);\n\n const handleScroll = () => {\n const div = divRef.current;\n if (!div) return;\n\n const isAtBottom = threadViewportStore.getState().isAtBottom;\n const newIsAtBottom = isViewportAtBottom(div);\n\n const isInFlightDownwardScroll =\n !newIsAtBottom && lastScrollTop.current < div.scrollTop;\n if (isInFlightDownwardScroll) {\n // no-op: a smooth scroll-to-bottom fires many midpoint scroll events\n // before landing, don't flicker isAtBottom or clear intent mid-animation\n } else {\n const userScrolledUp = isUserScrollUp(\n {\n scrollTop: lastScrollTop.current,\n scrollHeight: lastScrollHeight.current,\n },\n div,\n );\n\n if (newIsAtBottom) {\n // newIsAtBottom is ambiguous when the viewport doesn't overflow —\n // keep intent alive until content can actually scroll\n if (viewportOverflows(div)) {\n scrollingToBottomBehaviorRef.current = null;\n }\n if (autoScroll) followBottomRef.current = true;\n } else if (userScrolledUp) {\n cancelScheduledFrame();\n scrollingToBottomBehaviorRef.current = null;\n followBottomRef.current = false;\n }\n\n const shouldUpdate =\n newIsAtBottom || scrollingToBottomBehaviorRef.current === null;\n\n if (shouldUpdate && newIsAtBottom !== isAtBottom) {\n writableStore(threadViewportStore).setState({\n isAtBottom: newIsAtBottom,\n });\n }\n }\n\n lastScrollTop.current = div.scrollTop;\n lastScrollHeight.current = div.scrollHeight;\n };\n\n const resizeRef = useOnResizeContent(() => {\n const div = divRef.current;\n if (!div) return;\n\n const { scrollHeight, clientHeight } = div;\n if (\n scrollHeight === lastObservedScrollHeight.current &&\n clientHeight === lastObservedClientHeight.current\n ) {\n return;\n }\n lastObservedScrollHeight.current = scrollHeight;\n lastObservedClientHeight.current = clientHeight;\n\n const scrollBehavior = scrollingToBottomBehaviorRef.current;\n if (scrollBehavior && hasActiveTopAnchor()) {\n // Let the top-anchor reserve own scrolling while a run starts to avoid a bottom-scroll race.\n scrollingToBottomBehaviorRef.current = null;\n } else if (scrollBehavior) {\n scrollToBottom(scrollBehavior);\n } else if (\n autoScroll &&\n !(isRunning && hasActiveTopAnchor()) &&\n followBottomRef.current\n ) {\n scrollToBottom(\"instant\");\n }\n\n handleScroll();\n });\n\n const scrollRef = useManagedRef<HTMLElement>((el) => {\n // A pointer gesture invalidates pending bottom-scroll intent; otherwise an\n // intent kept alive by a non-overflowing thread (see handleScroll) hijacks\n // the next content growth, e.g. expanding a collapsible tool call.\n const cancelPendingScrollToBottom = () => {\n scrollingToBottomBehaviorRef.current = null;\n };\n el.addEventListener(\"scroll\", handleScroll);\n el.addEventListener(\"pointerdown\", cancelPendingScrollToBottom);\n return () => {\n el.removeEventListener(\"scroll\", handleScroll);\n el.removeEventListener(\"pointerdown\", cancelPendingScrollToBottom);\n };\n });\n\n useLayoutEffect(() => {\n if (!scrollToBottomOnInitialize) return;\n if (!hasMessages) {\n initializeScrollRequestedRef.current = false;\n return;\n }\n if (initializeScrollRequestedRef.current) return;\n\n initializeScrollRequestedRef.current = true;\n // defer to an in-flight run (e.g. first message on a new thread) that\n // already planted intent — otherwise we'd downgrade its \"auto\" to \"instant\"\n if (scrollingToBottomBehaviorRef.current !== null) return;\n scheduleScrollToBottom(\"instant\");\n }, [hasMessages, scheduleScrollToBottom, scrollToBottomOnInitialize]);\n\n useOnScrollToBottom(({ behavior }) => {\n scrollToBottom(behavior);\n });\n\n useAuiEvent(\"thread.runStart\", () => {\n if (!scrollToBottomOnRunStart) return;\n if (threadViewportStore.getState().turnAnchor === \"top\") return;\n scheduleScrollToBottom(\"auto\");\n });\n\n useAuiEvent(\"threads.selectionChanged\", () => {\n if (!scrollToBottomOnThreadSwitch) return;\n scheduleScrollToBottom(\"instant\");\n });\n\n const autoScrollRef = useComposedRefs<TElement>(resizeRef, scrollRef, divRef);\n return autoScrollRef as RefCallback<TElement>;\n};\n"],"mappings":"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"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { ActionButtonElement, ActionButtonProps } from "../../utils/createActionButton.js";
|
|
2
2
|
//#region src/primitives/threadList/ThreadListLoadMore.d.ts
|
|
3
3
|
declare const useThreadListLoadMore: () => (() => void) | null;
|
|
4
|
-
declare namespace ThreadListPrimitiveLoadMore {
|
|
4
|
+
export declare namespace ThreadListPrimitiveLoadMore {
|
|
5
5
|
type Element = ActionButtonElement;
|
|
6
6
|
type Props = ActionButtonProps<typeof useThreadListLoadMore>;
|
|
7
7
|
}
|
|
8
|
-
declare const ThreadListPrimitiveLoadMore: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
8
|
+
export declare const ThreadListPrimitiveLoadMore: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
9
9
|
asChild?: boolean;
|
|
10
10
|
}, "ref"> & {
|
|
11
11
|
render?: import("react").ReactElement | undefined;
|
|
12
12
|
} & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
13
13
|
//#endregion
|
|
14
|
-
export { ThreadListPrimitiveLoadMore };
|
|
15
14
|
//# sourceMappingURL=ThreadListLoadMore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListLoadMore.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListLoadMore.tsx"],"mappings":";;cASM;
|
|
1
|
+
{"version":3,"file":"ThreadListLoadMore.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListLoadMore.tsx"],"mappings":";;cASM;yBAMW;OACH,UAAU;OACV,QAAQ,yBAAyB;;qBAGlC,6CAA2B,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA;;;;oBAGvC,cAAA,6CAAA,cAAA"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { ActionButtonElement, ActionButtonProps } from "../../utils/createActionButton.js";
|
|
2
2
|
//#region src/primitives/threadList/ThreadListNew.d.ts
|
|
3
|
-
declare namespace ThreadListPrimitiveNew {
|
|
3
|
+
export declare namespace ThreadListPrimitiveNew {
|
|
4
4
|
type Element = ActionButtonElement;
|
|
5
5
|
type Props = ActionButtonProps<() => void>;
|
|
6
6
|
}
|
|
7
|
-
declare const ThreadListPrimitiveNew: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
7
|
+
export declare const ThreadListPrimitiveNew: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
8
8
|
asChild?: boolean;
|
|
9
9
|
}, "ref"> & {
|
|
10
10
|
render?: import("react").ReactElement | undefined;
|
|
11
11
|
} & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
12
12
|
//#endregion
|
|
13
|
-
export { ThreadListPrimitiveNew };
|
|
14
13
|
//# sourceMappingURL=ThreadListNew.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListNew.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListNew.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ThreadListNew.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListNew.tsx"],"mappings":";;yBAYiB;OACH,UAAU;OACV,QAAQ;;qBAGT,wCAAsB,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA;;;;oBAoBjC,cAAA,6CAAA,cAAA"}
|
|
@@ -2,15 +2,14 @@ import { Primitive } from "../../utils/Primitive.js";
|
|
|
2
2
|
import { ComponentPropsWithoutRef, ComponentRef } from "react";
|
|
3
3
|
//#region src/primitives/threadList/ThreadListRoot.d.ts
|
|
4
4
|
type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
|
|
5
|
-
declare namespace ThreadListPrimitiveRoot {
|
|
5
|
+
export declare namespace ThreadListPrimitiveRoot {
|
|
6
6
|
type Element = ComponentRef<typeof Primitive.div>;
|
|
7
7
|
type Props = PrimitiveDivProps;
|
|
8
8
|
}
|
|
9
|
-
declare const ThreadListPrimitiveRoot: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
|
|
9
|
+
export declare const ThreadListPrimitiveRoot: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
|
|
10
10
|
asChild?: boolean;
|
|
11
11
|
}, "ref"> & {
|
|
12
12
|
render?: import("react").ReactElement | undefined;
|
|
13
13
|
} & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
14
14
|
//#endregion
|
|
15
|
-
export { ThreadListPrimitiveRoot };
|
|
16
15
|
//# sourceMappingURL=ThreadListRoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListRoot.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListRoot.tsx"],"mappings":";;;KAUK,oBAAoB,gCAAgC,UAAU;
|
|
1
|
+
{"version":3,"file":"ThreadListRoot.d.ts","names":[],"sources":["../../../src/primitives/threadList/ThreadListRoot.tsx"],"mappings":";;;KAUK,oBAAoB,gCAAgC,UAAU;yBAElD;OACH,UAAU,oBAAoB,UAAU;OACxC,QAAQ;;qBAGT,yCAAuB,0BAAA,KAAA,qBAAA,gBAAA,kCAAA,eAAA;;;;oBAWlC,cAAA,0CAAA,cAAA"}
|
|
@@ -4,7 +4,7 @@ import { Collection } from "radix-ui/internal";
|
|
|
4
4
|
declare const useThreadListCollection: (scope: any) => () => {
|
|
5
5
|
ref: RefObject<HTMLButtonElement | null>;
|
|
6
6
|
}[];
|
|
7
|
-
declare const ThreadListCollection: {
|
|
7
|
+
export declare const ThreadListCollection: {
|
|
8
8
|
readonly Provider: React.FC<{
|
|
9
9
|
children?: React.ReactNode;
|
|
10
10
|
scope: any;
|
|
@@ -19,8 +19,8 @@ type ThreadListItemFocus = {
|
|
|
19
19
|
triggerRef: RefObject<HTMLButtonElement | null>;
|
|
20
20
|
moreRef: RefObject<HTMLButtonElement | null>;
|
|
21
21
|
};
|
|
22
|
-
declare const ThreadListItemFocusProvider: import("react").Provider<ThreadListItemFocus | null>;
|
|
23
|
-
declare const useThreadListItemFocus: () => ThreadListItemFocus | null;
|
|
22
|
+
export declare const ThreadListItemFocusProvider: import("react").Provider<ThreadListItemFocus | null>;
|
|
23
|
+
export declare const useThreadListItemFocus: () => ThreadListItemFocus | null;
|
|
24
24
|
//#endregion
|
|
25
|
-
export {
|
|
25
|
+
export { useThreadListCollection };
|
|
26
26
|
//# sourceMappingURL=threadListFocusGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threadListFocusGroup.d.ts","names":[],"sources":["../../src/primitives/threadListFocusGroup.ts"],"mappings":";;;cAKmB,0BAAuB;OAAvB,UAAA;;
|
|
1
|
+
{"version":3,"file":"threadListFocusGroup.d.ts","names":[],"sources":["../../src/primitives/threadListFocusGroup.ts"],"mappings":";;;cAKmB,0BAAuB;OAAvB,UAAA;;qBAGN;;IAKmB,WAAC,MAAA;;;;;;;;;KAF5B;EACH,YAAY,UAAU;EACtB,SAAS,UAAU;;qBAOR,6CAA2B,SAAA;qBAE3B,8BAA6B"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { ActionButtonElement, ActionButtonProps } from "../../utils/createActionButton.js";
|
|
2
2
|
//#region src/primitives/threadListItem/ThreadListItemArchive.d.ts
|
|
3
3
|
declare const useThreadListItemArchive: () => () => void;
|
|
4
|
-
declare namespace ThreadListItemPrimitiveArchive {
|
|
4
|
+
export declare namespace ThreadListItemPrimitiveArchive {
|
|
5
5
|
type Element = ActionButtonElement;
|
|
6
6
|
type Props = ActionButtonProps<typeof useThreadListItemArchive>;
|
|
7
7
|
}
|
|
8
|
-
declare const ThreadListItemPrimitiveArchive: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
8
|
+
export declare const ThreadListItemPrimitiveArchive: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
9
9
|
asChild?: boolean;
|
|
10
10
|
}, "ref"> & {
|
|
11
11
|
render?: import("react").ReactElement | undefined;
|
|
12
12
|
} & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
13
13
|
//#endregion
|
|
14
|
-
export { ThreadListItemPrimitiveArchive };
|
|
15
14
|
//# sourceMappingURL=ThreadListItemArchive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemArchive.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemArchive.ts"],"mappings":";;cASM;
|
|
1
|
+
{"version":3,"file":"ThreadListItemArchive.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemArchive.ts"],"mappings":";;cASM;yBAKW;OACH,UAAU;OACV,QAAQ,yBAAyB;;qBAGlC,gDAA8B,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA;;;;oBAG1C,cAAA,6CAAA,cAAA"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { ActionButtonElement, ActionButtonProps } from "../../utils/createActionButton.js";
|
|
2
2
|
//#region src/primitives/threadListItem/ThreadListItemDelete.d.ts
|
|
3
3
|
declare const useThreadListItemDelete: () => () => void;
|
|
4
|
-
declare namespace ThreadListItemPrimitiveDelete {
|
|
4
|
+
export declare namespace ThreadListItemPrimitiveDelete {
|
|
5
5
|
type Element = ActionButtonElement;
|
|
6
6
|
type Props = ActionButtonProps<typeof useThreadListItemDelete>;
|
|
7
7
|
}
|
|
8
|
-
declare const ThreadListItemPrimitiveDelete: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
8
|
+
export declare const ThreadListItemPrimitiveDelete: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
9
9
|
asChild?: boolean;
|
|
10
10
|
}, "ref"> & {
|
|
11
11
|
render?: import("react").ReactElement | undefined;
|
|
12
12
|
} & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
13
13
|
//#endregion
|
|
14
|
-
export { ThreadListItemPrimitiveDelete };
|
|
15
14
|
//# sourceMappingURL=ThreadListItemDelete.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemDelete.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemDelete.ts"],"mappings":";;cASM;
|
|
1
|
+
{"version":3,"file":"ThreadListItemDelete.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemDelete.ts"],"mappings":";;cASM;yBAKW;OACH,UAAU;OACV,QAAQ,yBAAyB;;qBAGlC,+CAA6B,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA;;;;oBAGzC,cAAA,6CAAA,cAAA"}
|
|
@@ -2,15 +2,14 @@ import { Primitive } from "../../utils/Primitive.js";
|
|
|
2
2
|
import { ComponentPropsWithoutRef, ComponentRef } from "react";
|
|
3
3
|
//#region src/primitives/threadListItem/ThreadListItemRoot.d.ts
|
|
4
4
|
type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
|
|
5
|
-
declare namespace ThreadListItemPrimitiveRoot {
|
|
5
|
+
export declare namespace ThreadListItemPrimitiveRoot {
|
|
6
6
|
type Element = ComponentRef<typeof Primitive.div>;
|
|
7
7
|
type Props = PrimitiveDivProps;
|
|
8
8
|
}
|
|
9
|
-
declare const ThreadListItemPrimitiveRoot: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
|
|
9
|
+
export declare const ThreadListItemPrimitiveRoot: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
|
|
10
10
|
asChild?: boolean;
|
|
11
11
|
}, "ref"> & {
|
|
12
12
|
render?: import("react").ReactElement | undefined;
|
|
13
13
|
} & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
14
14
|
//#endregion
|
|
15
|
-
export { ThreadListItemPrimitiveRoot };
|
|
16
15
|
//# sourceMappingURL=ThreadListItemRoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemRoot.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemRoot.tsx"],"mappings":";;;KAmBK,oBAAoB,gCAAgC,UAAU;
|
|
1
|
+
{"version":3,"file":"ThreadListItemRoot.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemRoot.tsx"],"mappings":";;;KAmBK,oBAAoB,gCAAgC,UAAU;yBAElD;OACH,UAAU,oBAAoB,UAAU;OACxC,QAAQ;;qBAGT,6CAA2B,0BAAA,KAAA,qBAAA,gBAAA,kCAAA,eAAA;;;;oBAsDtC,cAAA,0CAAA,cAAA"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { ActionButtonElement, ActionButtonProps } from "../../utils/createActionButton.js";
|
|
2
2
|
//#region src/primitives/threadListItem/ThreadListItemTrigger.d.ts
|
|
3
3
|
declare const useThreadListItemTrigger: () => () => void;
|
|
4
|
-
declare namespace ThreadListItemPrimitiveTrigger {
|
|
4
|
+
export declare namespace ThreadListItemPrimitiveTrigger {
|
|
5
5
|
type Element = ActionButtonElement;
|
|
6
6
|
type Props = ActionButtonProps<typeof useThreadListItemTrigger>;
|
|
7
7
|
}
|
|
8
|
-
declare const ThreadListItemPrimitiveTrigger: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
8
|
+
export declare const ThreadListItemPrimitiveTrigger: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
9
9
|
asChild?: boolean;
|
|
10
10
|
}, "ref"> & {
|
|
11
11
|
render?: import("react").ReactElement | undefined;
|
|
12
12
|
} & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
13
13
|
//#endregion
|
|
14
|
-
export { ThreadListItemPrimitiveTrigger };
|
|
15
14
|
//# sourceMappingURL=ThreadListItemTrigger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemTrigger.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemTrigger.tsx"],"mappings":";;cAeM;
|
|
1
|
+
{"version":3,"file":"ThreadListItemTrigger.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemTrigger.tsx"],"mappings":";;cAeM;yBAKW;OACH,UAAU;OACV,QAAQ,yBAAyB;;qBAQlC,gDAA8B,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA;;;;oBAYzC,cAAA,6CAAA,cAAA"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { ActionButtonElement, ActionButtonProps } from "../../utils/createActionButton.js";
|
|
2
2
|
//#region src/primitives/threadListItem/ThreadListItemUnarchive.d.ts
|
|
3
3
|
declare const useThreadListItemUnarchive: () => () => void;
|
|
4
|
-
declare namespace ThreadListItemPrimitiveUnarchive {
|
|
4
|
+
export declare namespace ThreadListItemPrimitiveUnarchive {
|
|
5
5
|
type Element = ActionButtonElement;
|
|
6
6
|
type Props = ActionButtonProps<typeof useThreadListItemUnarchive>;
|
|
7
7
|
}
|
|
8
|
-
declare const ThreadListItemPrimitiveUnarchive: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
8
|
+
export declare const ThreadListItemPrimitiveUnarchive: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
9
9
|
asChild?: boolean;
|
|
10
10
|
}, "ref"> & {
|
|
11
11
|
render?: import("react").ReactElement | undefined;
|
|
12
12
|
} & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
13
13
|
//#endregion
|
|
14
|
-
export { ThreadListItemPrimitiveUnarchive };
|
|
15
14
|
//# sourceMappingURL=ThreadListItemUnarchive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemUnarchive.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemUnarchive.ts"],"mappings":";;cASM;
|
|
1
|
+
{"version":3,"file":"ThreadListItemUnarchive.d.ts","names":[],"sources":["../../../src/primitives/threadListItem/ThreadListItemUnarchive.ts"],"mappings":";;cASM;yBAKW;OACH,UAAU;OACV,QAAQ,yBAAyB;;qBAGlC,kDAAgC,0BAAA,KAAA,qBAAA,gBAAA,qCAAA,qBAAA;;;;oBAG5C,cAAA,6CAAA,cAAA"}
|
|
@@ -2,17 +2,16 @@ import { WithRenderPropProps } from "../../utils/Primitive.js";
|
|
|
2
2
|
import { ComponentPropsWithoutRef, ComponentRef } from "react";
|
|
3
3
|
import { DropdownMenu } from "radix-ui";
|
|
4
4
|
//#region src/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts
|
|
5
|
-
declare namespace ThreadListItemMorePrimitiveContent {
|
|
5
|
+
export declare namespace ThreadListItemMorePrimitiveContent {
|
|
6
6
|
type Element = ComponentRef<typeof DropdownMenu.Content>;
|
|
7
7
|
type Props = WithRenderPropProps<typeof DropdownMenu.Content> & {
|
|
8
8
|
portalProps?: ComponentPropsWithoutRef<typeof DropdownMenu.Portal> | undefined;
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
|
-
declare const ThreadListItemMorePrimitiveContent: import("react").ForwardRefExoticComponent<Omit<DropdownMenu.DropdownMenuContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
|
|
11
|
+
export declare const ThreadListItemMorePrimitiveContent: import("react").ForwardRefExoticComponent<Omit<DropdownMenu.DropdownMenuContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
|
|
12
12
|
render?: import("react").ReactElement | undefined;
|
|
13
13
|
} & {
|
|
14
14
|
portalProps?: ComponentPropsWithoutRef<typeof DropdownMenu.Portal> | undefined;
|
|
15
15
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
16
16
|
//#endregion
|
|
17
|
-
export { ThreadListItemMorePrimitiveContent };
|
|
18
17
|
//# sourceMappingURL=ThreadListItemMoreContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemMoreContent.d.ts","names":[],"sources":["../../../src/primitives/threadListItemMore/ThreadListItemMoreContent.tsx"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"ThreadListItemMoreContent.d.ts","names":[],"sources":["../../../src/primitives/threadListItemMore/ThreadListItemMoreContent.tsx"],"mappings":";;;;yBAkBiB;OACH,UAAU,oBAAoB,aAAsB;OACpD,QAAQ,2BACX,aAAsB;IAE7B,cACI,gCAAgC,aAAsB;;;qBAKjD,oDAAkC,0BAAA,KAAA,aAAA,2CAAA,cAAA;;;EALvC,cAAA,gCAAgC,aAAsB;oBA8C7D,cAAA"}
|
|
@@ -2,13 +2,12 @@ import { WithRenderPropProps } from "../../utils/Primitive.js";
|
|
|
2
2
|
import { ComponentRef } from "react";
|
|
3
3
|
import { DropdownMenu } from "radix-ui";
|
|
4
4
|
//#region src/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts
|
|
5
|
-
declare namespace ThreadListItemMorePrimitiveItem {
|
|
5
|
+
export declare namespace ThreadListItemMorePrimitiveItem {
|
|
6
6
|
type Element = ComponentRef<typeof DropdownMenu.Item>;
|
|
7
7
|
type Props = WithRenderPropProps<typeof DropdownMenu.Item>;
|
|
8
8
|
}
|
|
9
|
-
declare const ThreadListItemMorePrimitiveItem: import("react").ForwardRefExoticComponent<Omit<DropdownMenu.DropdownMenuItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
|
|
9
|
+
export declare const ThreadListItemMorePrimitiveItem: import("react").ForwardRefExoticComponent<Omit<DropdownMenu.DropdownMenuItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
|
|
10
10
|
render?: import("react").ReactElement | undefined;
|
|
11
11
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
12
12
|
//#endregion
|
|
13
|
-
export { ThreadListItemMorePrimitiveItem };
|
|
14
13
|
//# sourceMappingURL=ThreadListItemMoreItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemMoreItem.d.ts","names":[],"sources":["../../../src/primitives/threadListItemMore/ThreadListItemMoreItem.tsx"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"ThreadListItemMoreItem.d.ts","names":[],"sources":["../../../src/primitives/threadListItemMore/ThreadListItemMoreItem.tsx"],"mappings":";;;;yBAQiB;OACH,UAAU,oBAAoB,aAAsB;OACpD,QAAQ,2BAA2B,aAAsB;;qBAG1D,iDAA+B,0BAAA,KAAA,aAAA,wCAAA,cAAA;;oBAe3C,cAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Dispatch, FC, SetStateAction } from "react";
|
|
2
2
|
import { DropdownMenu } from "radix-ui";
|
|
3
3
|
//#region src/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts
|
|
4
|
-
declare const useThreadListItemMoreSetOpen: () => Dispatch<SetStateAction<boolean>>;
|
|
5
|
-
declare const useThreadListItemMoreSharedFocusGroup: () => boolean;
|
|
6
|
-
declare namespace ThreadListItemMorePrimitiveRoot {
|
|
4
|
+
export declare const useThreadListItemMoreSetOpen: () => Dispatch<SetStateAction<boolean>>;
|
|
5
|
+
export declare const useThreadListItemMoreSharedFocusGroup: () => boolean;
|
|
6
|
+
export declare namespace ThreadListItemMorePrimitiveRoot {
|
|
7
7
|
type Props = DropdownMenu.DropdownMenuProps & {
|
|
8
8
|
/**
|
|
9
9
|
* Join the menu to the thread list's focus group: Right opens it, Left/Escape
|
|
@@ -21,7 +21,6 @@ declare namespace ThreadListItemMorePrimitiveRoot {
|
|
|
21
21
|
* {@link ThreadListItemMorePrimitiveRoot.Props.sharedFocusGroup} to fold it into
|
|
22
22
|
* the thread list's keyboard navigation instead.
|
|
23
23
|
*/
|
|
24
|
-
declare const ThreadListItemMorePrimitiveRoot: FC<ThreadListItemMorePrimitiveRoot.Props>;
|
|
24
|
+
export declare const ThreadListItemMorePrimitiveRoot: FC<ThreadListItemMorePrimitiveRoot.Props>;
|
|
25
25
|
//#endregion
|
|
26
|
-
export { ThreadListItemMorePrimitiveRoot, useThreadListItemMoreSetOpen, useThreadListItemMoreSharedFocusGroup };
|
|
27
26
|
//# sourceMappingURL=ThreadListItemMoreRoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadListItemMoreRoot.d.ts","names":[],"sources":["../../../src/primitives/threadListItemMore/ThreadListItemMoreRoot.tsx"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ThreadListItemMoreRoot.d.ts","names":[],"sources":["../../../src/primitives/threadListItemMore/ThreadListItemMoreRoot.tsx"],"mappings":";;;qBAiBa,oCAAmC,SAC9C;qBAKW;yBAGI;OACH,QAAQ,aAAsB;;;;;;;IAOxC;;;;;;;;;;qBAWS,iCAAiC,GAC5C,gCAAgC"}
|