@assistant-ui/react 0.10.1 → 0.10.3
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/api/AssistantRuntime.js +5 -4
- package/dist/api/AssistantRuntime.js.map +1 -1
- package/dist/api/AttachmentRuntime.js +11 -10
- package/dist/api/AttachmentRuntime.js.map +1 -1
- package/dist/api/ComposerRuntime.js +16 -15
- package/dist/api/ComposerRuntime.js.map +1 -1
- package/dist/api/ContentPartRuntime.js +3 -2
- package/dist/api/ContentPartRuntime.js.map +1 -1
- package/dist/api/MessageRuntime.js +14 -13
- package/dist/api/MessageRuntime.js.map +1 -1
- package/dist/api/ThreadListItemRuntime.js +3 -2
- package/dist/api/ThreadListItemRuntime.js.map +1 -1
- package/dist/api/ThreadListRuntime.js +11 -10
- package/dist/api/ThreadListRuntime.js.map +1 -1
- package/dist/api/ThreadRuntime.js +14 -13
- package/dist/api/ThreadRuntime.js.map +1 -1
- package/dist/api/subscribable/BaseSubject.js +3 -2
- package/dist/api/subscribable/BaseSubject.js.map +1 -1
- package/dist/api/subscribable/EventSubscriptionSubject.js +4 -3
- package/dist/api/subscribable/EventSubscriptionSubject.js.map +1 -1
- package/dist/api/subscribable/LazyMemoizeSubject.js +5 -4
- package/dist/api/subscribable/LazyMemoizeSubject.js.map +1 -1
- package/dist/api/subscribable/NestedSubscriptionSubject.js +4 -3
- package/dist/api/subscribable/NestedSubscriptionSubject.js.map +1 -1
- package/dist/api/subscribable/SKIP_UPDATE.js +2 -1
- package/dist/api/subscribable/SKIP_UPDATE.js.map +1 -1
- package/dist/api/subscribable/ShallowMemoizeSubject.js +6 -5
- package/dist/api/subscribable/ShallowMemoizeSubject.js.map +1 -1
- package/dist/api/subscribable/shallowEqual.js +1 -0
- package/dist/api/subscribable/shallowEqual.js.map +1 -1
- package/dist/cloud/AssistantCloud.js +7 -6
- package/dist/cloud/AssistantCloud.js.map +1 -1
- package/dist/cloud/AssistantCloudAPI.js +6 -5
- package/dist/cloud/AssistantCloudAPI.js.map +1 -1
- package/dist/cloud/AssistantCloudAuthStrategy.js +9 -8
- package/dist/cloud/AssistantCloudAuthStrategy.js.map +1 -1
- package/dist/cloud/AssistantCloudAuthTokens.js +3 -2
- package/dist/cloud/AssistantCloudAuthTokens.js.map +1 -1
- package/dist/cloud/AssistantCloudRuns.js +3 -2
- package/dist/cloud/AssistantCloudRuns.js.map +1 -1
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js +6 -5
- package/dist/cloud/AssistantCloudThreadHistoryAdapter.js.map +1 -1
- package/dist/cloud/AssistantCloudThreadMessages.js +3 -2
- package/dist/cloud/AssistantCloudThreadMessages.js.map +1 -1
- package/dist/cloud/AssistantCloudThreads.js +4 -3
- package/dist/cloud/AssistantCloudThreads.js.map +1 -1
- package/dist/cloud/auiV0.js +5 -4
- package/dist/cloud/auiV0.js.map +1 -1
- package/dist/cloud/index.js +3 -2
- package/dist/cloud/index.js.map +1 -1
- package/dist/cloud/useCloudThreadListRuntime.js +5 -3
- package/dist/cloud/useCloudThreadListRuntime.js.map +1 -1
- package/dist/context/ReadonlyStore.js +2 -1
- package/dist/context/ReadonlyStore.js.map +1 -1
- package/dist/context/index.js +4 -3
- package/dist/context/index.js.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.js +13 -11
- package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
- package/dist/context/providers/AttachmentRuntimeProvider.js +8 -6
- package/dist/context/providers/AttachmentRuntimeProvider.js.map +1 -1
- package/dist/context/providers/ContentPartRuntimeProvider.js +8 -6
- package/dist/context/providers/ContentPartRuntimeProvider.js.map +1 -1
- package/dist/context/providers/MessageRuntimeProvider.js +10 -8
- package/dist/context/providers/MessageRuntimeProvider.js.map +1 -1
- package/dist/context/providers/TextContentPartProvider.js +10 -8
- package/dist/context/providers/TextContentPartProvider.js.map +1 -1
- package/dist/context/providers/ThreadListItemRuntimeProvider.js +8 -6
- package/dist/context/providers/ThreadListItemRuntimeProvider.js.map +1 -1
- package/dist/context/providers/ThreadRuntimeProvider.js +10 -8
- package/dist/context/providers/ThreadRuntimeProvider.js.map +1 -1
- package/dist/context/providers/ThreadViewportProvider.js +8 -6
- package/dist/context/providers/ThreadViewportProvider.js.map +1 -1
- package/dist/context/providers/index.js +3 -2
- package/dist/context/providers/index.js.map +1 -1
- package/dist/context/react/AssistantContext.js +10 -8
- package/dist/context/react/AssistantContext.js.map +1 -1
- package/dist/context/react/AttachmentContext.js +10 -8
- package/dist/context/react/AttachmentContext.js.map +1 -1
- package/dist/context/react/ComposerContext.js +6 -4
- package/dist/context/react/ComposerContext.js.map +1 -1
- package/dist/context/react/ContentPartContext.js +7 -5
- package/dist/context/react/ContentPartContext.js.map +1 -1
- package/dist/context/react/MessageContext.js +11 -9
- package/dist/context/react/MessageContext.js.map +1 -1
- package/dist/context/react/ThreadContext.js +9 -7
- package/dist/context/react/ThreadContext.js.map +1 -1
- package/dist/context/react/ThreadListItemContext.js +7 -5
- package/dist/context/react/ThreadListItemContext.js.map +1 -1
- package/dist/context/react/ThreadViewportContext.js +7 -5
- package/dist/context/react/ThreadViewportContext.js.map +1 -1
- package/dist/context/react/index.js +11 -9
- package/dist/context/react/index.js.map +1 -1
- package/dist/context/react/utils/createContextHook.js +2 -0
- package/dist/context/react/utils/createContextHook.js.map +1 -1
- package/dist/context/react/utils/createContextStoreHook.js +1 -0
- package/dist/context/react/utils/createContextStoreHook.js.map +1 -1
- package/dist/context/react/utils/createStateHookForRuntime.js +2 -1
- package/dist/context/react/utils/createStateHookForRuntime.js.map +1 -1
- package/dist/context/react/utils/ensureBinding.js +2 -21
- package/dist/context/react/utils/ensureBinding.js.map +1 -1
- package/dist/context/react/utils/useRuntimeState.js +3 -2
- package/dist/context/react/utils/useRuntimeState.js.map +1 -1
- package/dist/context/stores/AssistantToolUIs.js +2 -1
- package/dist/context/stores/AssistantToolUIs.js.map +1 -1
- package/dist/context/stores/MessageUtils.js +2 -1
- package/dist/context/stores/MessageUtils.js.map +1 -1
- package/dist/context/stores/ThreadViewport.js +3 -1
- package/dist/context/stores/ThreadViewport.js.map +1 -1
- package/dist/index.js +9 -8
- package/dist/index.js.map +1 -1
- package/dist/internal.js +12 -11
- package/dist/internal.js.map +1 -1
- package/dist/model-context/ModelContextTypes.js +2 -1
- package/dist/model-context/ModelContextTypes.js.map +1 -1
- package/dist/model-context/index.js +10 -9
- package/dist/model-context/index.js.map +1 -1
- package/dist/model-context/makeAssistantTool.js +4 -2
- package/dist/model-context/makeAssistantTool.js.map +1 -1
- package/dist/model-context/makeAssistantToolUI.js +4 -2
- package/dist/model-context/makeAssistantToolUI.js.map +1 -1
- package/dist/model-context/makeAssistantVisible.js +9 -7
- package/dist/model-context/makeAssistantVisible.js.map +1 -1
- package/dist/model-context/tool.d.ts +1 -10
- package/dist/model-context/tool.d.ts.map +1 -1
- package/dist/model-context/tool.js +1 -0
- package/dist/model-context/tool.js.map +1 -1
- package/dist/model-context/useAssistantInstructions.js +5 -3
- package/dist/model-context/useAssistantInstructions.js.map +1 -1
- package/dist/model-context/useAssistantTool.d.ts +0 -1
- package/dist/model-context/useAssistantTool.d.ts.map +1 -1
- package/dist/model-context/useAssistantTool.js +5 -4
- package/dist/model-context/useAssistantTool.js.map +1 -1
- package/dist/model-context/useAssistantToolUI.js +4 -2
- package/dist/model-context/useAssistantToolUI.js.map +1 -1
- package/dist/model-context/useInlineRender.js +3 -1
- package/dist/model-context/useInlineRender.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.js +8 -6
- package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.js +6 -4
- package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +7 -5
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +6 -4
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.js +8 -6
- package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.js +5 -3
- package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.js +6 -4
- package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js +6 -4
- package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
- package/dist/primitives/actionBar/index.js +9 -8
- package/dist/primitives/actionBar/index.js.map +1 -1
- package/dist/primitives/actionBar/useActionBarFloatStatus.js +6 -4
- package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.js +5 -3
- package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js +5 -3
- package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.js +7 -5
- package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.js +4 -3
- package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
- package/dist/primitives/assistantModal/index.js +5 -4
- package/dist/primitives/assistantModal/index.js.map +1 -1
- package/dist/primitives/assistantModal/scope.js +2 -1
- package/dist/primitives/assistantModal/scope.js.map +1 -1
- package/dist/primitives/attachment/AttachmentName.js +4 -2
- package/dist/primitives/attachment/AttachmentName.js.map +1 -1
- package/dist/primitives/attachment/AttachmentRemove.js +6 -4
- package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.js +3 -2
- package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.js +5 -3
- package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
- package/dist/primitives/attachment/index.js +5 -4
- package/dist/primitives/attachment/index.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerCount.js +5 -3
- package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.js +6 -4
- package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNumber.js +5 -3
- package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.js +6 -4
- package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.js +4 -3
- package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
- package/dist/primitives/branchPicker/index.js +6 -5
- package/dist/primitives/branchPicker/index.js.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.js +6 -4
- package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
- package/dist/primitives/composer/ComposerAttachments.js +11 -9
- package/dist/primitives/composer/ComposerAttachments.js.map +1 -1
- package/dist/primitives/composer/ComposerCancel.js +6 -4
- package/dist/primitives/composer/ComposerCancel.js.map +1 -1
- package/dist/primitives/composer/ComposerIf.js +5 -3
- package/dist/primitives/composer/ComposerIf.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +8 -6
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerRoot.js +5 -3
- package/dist/primitives/composer/ComposerRoot.js.map +1 -1
- package/dist/primitives/composer/ComposerSend.js +8 -6
- package/dist/primitives/composer/ComposerSend.js.map +1 -1
- package/dist/primitives/composer/index.js +8 -7
- package/dist/primitives/composer/index.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartImage.js +5 -3
- package/dist/primitives/contentPart/ContentPartImage.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartInProgress.js +4 -2
- package/dist/primitives/contentPart/ContentPartInProgress.js.map +1 -1
- package/dist/primitives/contentPart/ContentPartText.js +6 -4
- package/dist/primitives/contentPart/ContentPartText.js.map +1 -1
- package/dist/primitives/contentPart/index.js +4 -3
- package/dist/primitives/contentPart/index.js.map +1 -1
- package/dist/primitives/contentPart/useContentPartFile.js +4 -2
- package/dist/primitives/contentPart/useContentPartFile.js.map +1 -1
- package/dist/primitives/contentPart/useContentPartImage.js +4 -2
- package/dist/primitives/contentPart/useContentPartImage.js.map +1 -1
- package/dist/primitives/contentPart/useContentPartReasoning.js +4 -2
- package/dist/primitives/contentPart/useContentPartReasoning.js.map +1 -1
- package/dist/primitives/contentPart/useContentPartSource.js +4 -2
- package/dist/primitives/contentPart/useContentPartSource.js.map +1 -1
- package/dist/primitives/contentPart/useContentPartText.js +4 -2
- package/dist/primitives/contentPart/useContentPartText.js.map +1 -1
- package/dist/primitives/index.js +17 -16
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/message/MessageAttachments.js +11 -9
- package/dist/primitives/message/MessageAttachments.js.map +1 -1
- package/dist/primitives/message/MessageContent.js +19 -17
- package/dist/primitives/message/MessageContent.js.map +1 -1
- package/dist/primitives/message/MessageIf.js +6 -4
- package/dist/primitives/message/MessageIf.js.map +1 -1
- package/dist/primitives/message/MessageRoot.js +7 -5
- package/dist/primitives/message/MessageRoot.js.map +1 -1
- package/dist/primitives/message/index.js +5 -4
- package/dist/primitives/message/index.js.map +1 -1
- package/dist/primitives/thread/ThreadEmpty.js +4 -2
- package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
- package/dist/primitives/thread/ThreadIf.js +5 -3
- package/dist/primitives/thread/ThreadIf.js.map +1 -1
- package/dist/primitives/thread/ThreadMessages.js +14 -12
- package/dist/primitives/thread/ThreadMessages.js.map +1 -1
- package/dist/primitives/thread/ThreadRoot.js +3 -2
- package/dist/primitives/thread/ThreadRoot.js.map +1 -1
- package/dist/primitives/thread/ThreadScrollToBottom.js +6 -4
- package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.js +7 -5
- package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
- package/dist/primitives/thread/ThreadViewport.js +7 -5
- package/dist/primitives/thread/ThreadViewport.js.map +1 -1
- package/dist/primitives/thread/index.js +8 -7
- package/dist/primitives/thread/index.js.map +1 -1
- package/dist/primitives/thread/useThreadViewportAutoScroll.js +9 -7
- package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.js +8 -6
- package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.js +6 -4
- package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
- package/dist/primitives/threadList/ThreadListRoot.js +3 -2
- package/dist/primitives/threadList/ThreadListRoot.js.map +1 -1
- package/dist/primitives/threadList/index.js +4 -3
- package/dist/primitives/threadList/index.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.js +6 -4
- package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.js +6 -4
- package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.js +5 -3
- package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTitle.js +4 -2
- package/dist/primitives/threadListItem/ThreadListItemTitle.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js +6 -4
- package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js +6 -4
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
- package/dist/primitives/threadListItem/index.js +7 -6
- package/dist/primitives/threadListItem/index.js.map +1 -1
- package/dist/runtimes/adapters/RuntimeAdapterProvider.js +5 -4
- package/dist/runtimes/adapters/RuntimeAdapterProvider.js.map +1 -1
- package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.js +3 -2
- package/dist/runtimes/adapters/attachment/CompositeAttachmentAdapter.js.map +1 -1
- package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.js +4 -3
- package/dist/runtimes/adapters/attachment/SimpleImageAttachmentAdapter.js.map +1 -1
- package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.js +4 -3
- package/dist/runtimes/adapters/attachment/SimpleTextAttachmentAdapter.js.map +1 -1
- package/dist/runtimes/adapters/attachment/index.js +4 -3
- package/dist/runtimes/adapters/attachment/index.js.map +1 -1
- package/dist/runtimes/adapters/index.js +5 -4
- package/dist/runtimes/adapters/index.js.map +1 -1
- package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.js +3 -2
- package/dist/runtimes/adapters/speech/WebSpeechSynthesisAdapter.js.map +1 -1
- package/dist/runtimes/adapters/speech/index.js +2 -1
- package/dist/runtimes/adapters/speech/index.js.map +1 -1
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js +5 -4
- package/dist/runtimes/composer/BaseComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js +5 -4
- package/dist/runtimes/composer/DefaultEditComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js +4 -3
- package/dist/runtimes/composer/DefaultThreadComposerRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseAssistantRuntimeCore.js +4 -3
- package/dist/runtimes/core/BaseAssistantRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js +7 -6
- package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js +7 -6
- package/dist/runtimes/external-store/ExternalStoreRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js +8 -7
- package/dist/runtimes/external-store/ExternalStoreThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js +11 -10
- package/dist/runtimes/external-store/ExternalStoreThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageConverter.js +3 -2
- package/dist/runtimes/external-store/ThreadMessageConverter.js.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.js +3 -2
- package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
- package/dist/runtimes/external-store/auto-status.js +5 -4
- package/dist/runtimes/external-store/auto-status.js.map +1 -1
- package/dist/runtimes/external-store/createMessageConverter.js +6 -4
- package/dist/runtimes/external-store/createMessageConverter.js.map +1 -1
- package/dist/runtimes/external-store/external-message-converter.js +11 -9
- package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
- package/dist/runtimes/external-store/getExternalStoreMessage.js +6 -5
- package/dist/runtimes/external-store/getExternalStoreMessage.js.map +1 -1
- package/dist/runtimes/external-store/index.js +5 -4
- package/dist/runtimes/external-store/index.js.map +1 -1
- package/dist/runtimes/external-store/useExternalStoreRuntime.js +6 -4
- package/dist/runtimes/external-store/useExternalStoreRuntime.js.map +1 -1
- package/dist/runtimes/index.js +7 -6
- package/dist/runtimes/index.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeCore.js +7 -6
- package/dist/runtimes/local/LocalRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.js +2 -1
- package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js +5 -4
- package/dist/runtimes/local/LocalThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +6 -5
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/index.js +2 -1
- package/dist/runtimes/local/index.js.map +1 -1
- package/dist/runtimes/local/shouldContinue.js +2 -1
- package/dist/runtimes/local/shouldContinue.js.map +1 -1
- package/dist/runtimes/local/useLocalRuntime.js +9 -7
- package/dist/runtimes/local/useLocalRuntime.js.map +1 -1
- package/dist/runtimes/remote-thread-list/BaseSubscribable.js +3 -2
- package/dist/runtimes/remote-thread-list/BaseSubscribable.js.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js +3 -2
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
- package/dist/runtimes/remote-thread-list/OptimisticState.js +5 -4
- package/dist/runtimes/remote-thread-list/OptimisticState.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js +9 -7
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js +13 -11
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/cloud.js +9 -8
- package/dist/runtimes/remote-thread-list/adapter/cloud.js.map +1 -1
- package/dist/runtimes/remote-thread-list/adapter/in-memory.js +3 -2
- package/dist/runtimes/remote-thread-list/adapter/in-memory.js.map +1 -1
- package/dist/runtimes/remote-thread-list/index.js +3 -2
- package/dist/runtimes/remote-thread-list/index.js.map +1 -1
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js +8 -6
- package/dist/runtimes/remote-thread-list/useRemoteThreadListRuntime.js.map +1 -1
- package/dist/runtimes/utils/MessageRepository.js +10 -9
- package/dist/runtimes/utils/MessageRepository.js.map +1 -1
- package/dist/tests/setup.js +2971 -3
- package/dist/tests/setup.js.map +1 -1
- package/dist/utils/CompositeContextProvider.js +4 -3
- package/dist/utils/CompositeContextProvider.js.map +1 -1
- package/dist/utils/combined/createCombinedStore.js +3 -1
- package/dist/utils/combined/createCombinedStore.js.map +1 -1
- package/dist/utils/combined/useCombinedStore.js +4 -2
- package/dist/utils/combined/useCombinedStore.js.map +1 -1
- package/dist/utils/createActionButton.js +3 -2
- package/dist/utils/createActionButton.js.map +1 -1
- package/dist/utils/getThreadMessageText.js +2 -1
- package/dist/utils/getThreadMessageText.js.map +1 -1
- package/dist/utils/hooks/useManagedRef.js +2 -1
- package/dist/utils/hooks/useManagedRef.js.map +1 -1
- package/dist/utils/hooks/useOnResizeContent.js +3 -2
- package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
- package/dist/utils/hooks/useOnScrollToBottom.js +4 -2
- package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -1
- package/dist/utils/idUtils.js +5 -4
- package/dist/utils/idUtils.js.map +1 -1
- package/dist/utils/json/is-json.js +1 -0
- package/dist/utils/json/is-json.js.map +1 -1
- package/dist/utils/smooth/SmoothContext.js +10 -8
- package/dist/utils/smooth/SmoothContext.js.map +1 -1
- package/dist/utils/smooth/index.js +4 -2
- package/dist/utils/smooth/index.js.map +1 -1
- package/dist/utils/smooth/useSmooth.js +9 -7
- package/dist/utils/smooth/useSmooth.js.map +1 -1
- package/dist/utils/useToolArgsFieldStatus.js +4 -3
- package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
- package/package.json +4 -4
- package/src/model-context/tool.ts +3 -16
- package/src/model-context/useAssistantTool.tsx +1 -4
@@ -1,13 +1,15 @@
|
|
1
1
|
"use client";
|
2
|
+
|
3
|
+
// src/primitives/branchPicker/BranchPickerNext.tsx
|
2
4
|
import {
|
3
5
|
createActionButton
|
4
|
-
} from "../../utils/createActionButton";
|
6
|
+
} from "../../utils/createActionButton.js";
|
5
7
|
import { useCallback } from "react";
|
6
8
|
import {
|
7
9
|
useMessage,
|
8
10
|
useMessageRuntime
|
9
|
-
} from "../../context/react/MessageContext";
|
10
|
-
|
11
|
+
} from "../../context/react/MessageContext.js";
|
12
|
+
var useBranchPickerNext = () => {
|
11
13
|
const messageRuntime = useMessageRuntime();
|
12
14
|
const disabled = useMessage((m) => m.branchNumber >= m.branchCount);
|
13
15
|
const callback = useCallback(() => {
|
@@ -16,7 +18,7 @@ const useBranchPickerNext = () => {
|
|
16
18
|
if (disabled) return null;
|
17
19
|
return callback;
|
18
20
|
};
|
19
|
-
|
21
|
+
var BranchPickerPrimitiveNext = createActionButton(
|
20
22
|
"BranchPickerPrimitive.Next",
|
21
23
|
useBranchPickerNext
|
22
24
|
);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/branchPicker/BranchPickerNext.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport {\n useMessage,\n useMessageRuntime,\n} from \"../../context/react/MessageContext\";\n\nconst useBranchPickerNext = () => {\n const messageRuntime = useMessageRuntime();\n const disabled = useMessage((m) => m.branchNumber >= m.branchCount);\n\n const callback = useCallback(() => {\n messageRuntime.switchToBranch({ position: \"next\" });\n }, [messageRuntime]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace BranchPickerPrimitiveNext {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useBranchPickerNext>;\n}\n\nexport const BranchPickerPrimitiveNext = createActionButton(\n \"BranchPickerPrimitive.Next\",\n useBranchPickerNext,\n);\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/branchPicker/BranchPickerNext.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport {\n useMessage,\n useMessageRuntime,\n} from \"../../context/react/MessageContext\";\n\nconst useBranchPickerNext = () => {\n const messageRuntime = useMessageRuntime();\n const disabled = useMessage((m) => m.branchNumber >= m.branchCount);\n\n const callback = useCallback(() => {\n messageRuntime.switchToBranch({ position: \"next\" });\n }, [messageRuntime]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace BranchPickerPrimitiveNext {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useBranchPickerNext>;\n}\n\nexport const BranchPickerPrimitiveNext = createActionButton(\n \"BranchPickerPrimitive.Next\",\n useBranchPickerNext,\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,IAAM,sBAAsB,MAAM;AAChC,QAAM,iBAAiB,kBAAkB;AACzC,QAAM,WAAW,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW;AAElE,QAAM,WAAW,YAAY,MAAM;AACjC,mBAAe,eAAe,EAAE,UAAU,OAAO,CAAC;AAAA,EACpD,GAAG,CAAC,cAAc,CAAC;AAEnB,MAAI,SAAU,QAAO;AACrB,SAAO;AACT;AAOO,IAAM,4BAA4B;AAAA,EACvC;AAAA,EACA;AACF;","names":[]}
|
@@ -1,11 +1,13 @@
|
|
1
1
|
"use client";
|
2
|
+
|
3
|
+
// src/primitives/branchPicker/BranchPickerNumber.tsx
|
4
|
+
import { useMessage } from "../../context/react/MessageContext.js";
|
2
5
|
import { Fragment, jsx } from "react/jsx-runtime";
|
3
|
-
|
4
|
-
const useBranchPickerNumber = () => {
|
6
|
+
var useBranchPickerNumber = () => {
|
5
7
|
const branchNumber = useMessage((s) => s.branchNumber);
|
6
8
|
return branchNumber;
|
7
9
|
};
|
8
|
-
|
10
|
+
var BranchPickerPrimitiveNumber = () => {
|
9
11
|
const branchNumber = useBranchPickerNumber();
|
10
12
|
return /* @__PURE__ */ jsx(Fragment, { children: branchNumber });
|
11
13
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/branchPicker/BranchPickerNumber.tsx"],"sourcesContent":["\"use client\";\n\nimport type { FC } from \"react\";\nimport { useMessage } from \"../../context/react/MessageContext\";\n\nconst useBranchPickerNumber = () => {\n const branchNumber = useMessage((s) => s.branchNumber);\n return branchNumber;\n};\n\nexport namespace BranchPickerPrimitiveNumber {\n export type Props = Record<string, never>;\n}\n\nexport const BranchPickerPrimitiveNumber: FC<\n BranchPickerPrimitiveNumber.Props\n> = () => {\n const branchNumber = useBranchPickerNumber();\n return <>{branchNumber}</>;\n};\n\nBranchPickerPrimitiveNumber.displayName = \"BranchPickerPrimitive.Number\";\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/branchPicker/BranchPickerNumber.tsx"],"sourcesContent":["\"use client\";\n\nimport type { FC } from \"react\";\nimport { useMessage } from \"../../context/react/MessageContext\";\n\nconst useBranchPickerNumber = () => {\n const branchNumber = useMessage((s) => s.branchNumber);\n return branchNumber;\n};\n\nexport namespace BranchPickerPrimitiveNumber {\n export type Props = Record<string, never>;\n}\n\nexport const BranchPickerPrimitiveNumber: FC<\n BranchPickerPrimitiveNumber.Props\n> = () => {\n const branchNumber = useBranchPickerNumber();\n return <>{branchNumber}</>;\n};\n\nBranchPickerPrimitiveNumber.displayName = \"BranchPickerPrimitive.Number\";\n"],"mappings":";;;AAGA,SAAS,kBAAkB;AAelB;AAbT,IAAM,wBAAwB,MAAM;AAClC,QAAM,eAAe,WAAW,CAAC,MAAM,EAAE,YAAY;AACrD,SAAO;AACT;AAMO,IAAM,8BAET,MAAM;AACR,QAAM,eAAe,sBAAsB;AAC3C,SAAO,gCAAG,wBAAa;AACzB;AAEA,4BAA4B,cAAc;","names":[]}
|
@@ -1,13 +1,15 @@
|
|
1
1
|
"use client";
|
2
|
+
|
3
|
+
// src/primitives/branchPicker/BranchPickerPrevious.tsx
|
2
4
|
import {
|
3
5
|
createActionButton
|
4
|
-
} from "../../utils/createActionButton";
|
6
|
+
} from "../../utils/createActionButton.js";
|
5
7
|
import { useCallback } from "react";
|
6
8
|
import {
|
7
9
|
useMessage,
|
8
10
|
useMessageRuntime
|
9
|
-
} from "../../context/react/MessageContext";
|
10
|
-
|
11
|
+
} from "../../context/react/MessageContext.js";
|
12
|
+
var useBranchPickerPrevious = () => {
|
11
13
|
const messageRuntime = useMessageRuntime();
|
12
14
|
const disabled = useMessage((m) => m.branchNumber <= 1);
|
13
15
|
const callback = useCallback(() => {
|
@@ -16,7 +18,7 @@ const useBranchPickerPrevious = () => {
|
|
16
18
|
if (disabled) return null;
|
17
19
|
return callback;
|
18
20
|
};
|
19
|
-
|
21
|
+
var BranchPickerPrimitivePrevious = createActionButton(
|
20
22
|
"BranchPickerPrimitive.Previous",
|
21
23
|
useBranchPickerPrevious
|
22
24
|
);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/branchPicker/BranchPickerPrevious.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport {\n useMessage,\n useMessageRuntime,\n} from \"../../context/react/MessageContext\";\n\nconst useBranchPickerPrevious = () => {\n const messageRuntime = useMessageRuntime();\n const disabled = useMessage((m) => m.branchNumber <= 1);\n\n const callback = useCallback(() => {\n messageRuntime.switchToBranch({ position: \"previous\" });\n }, [messageRuntime]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace BranchPickerPrimitivePrevious {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useBranchPickerPrevious>;\n}\n\nexport const BranchPickerPrimitivePrevious = createActionButton(\n \"BranchPickerPrimitive.Previous\",\n useBranchPickerPrevious,\n);\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/branchPicker/BranchPickerPrevious.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport {\n useMessage,\n useMessageRuntime,\n} from \"../../context/react/MessageContext\";\n\nconst useBranchPickerPrevious = () => {\n const messageRuntime = useMessageRuntime();\n const disabled = useMessage((m) => m.branchNumber <= 1);\n\n const callback = useCallback(() => {\n messageRuntime.switchToBranch({ position: \"previous\" });\n }, [messageRuntime]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace BranchPickerPrimitivePrevious {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useBranchPickerPrevious>;\n}\n\nexport const BranchPickerPrimitivePrevious = createActionButton(\n \"BranchPickerPrimitive.Previous\",\n useBranchPickerPrevious,\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,IAAM,0BAA0B,MAAM;AACpC,QAAM,iBAAiB,kBAAkB;AACzC,QAAM,WAAW,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAEtD,QAAM,WAAW,YAAY,MAAM;AACjC,mBAAe,eAAe,EAAE,UAAU,WAAW,CAAC;AAAA,EACxD,GAAG,CAAC,cAAc,CAAC;AAEnB,MAAI,SAAU,QAAO;AACrB,SAAO;AACT;AAOO,IAAM,gCAAgC;AAAA,EAC3C;AAAA,EACA;AACF;","names":[]}
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
// src/primitives/branchPicker/BranchPickerRoot.tsx
|
2
2
|
import { Primitive } from "@radix-ui/react-primitive";
|
3
3
|
import { forwardRef } from "react";
|
4
|
-
import { If } from "../message";
|
5
|
-
|
4
|
+
import { If } from "../message/index.js";
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
6
|
+
var BranchPickerPrimitiveRoot = forwardRef(({ hideWhenSingleBranch, ...rest }, ref) => {
|
6
7
|
return /* @__PURE__ */ jsx(If, { hasBranches: hideWhenSingleBranch ? true : void 0, children: /* @__PURE__ */ jsx(Primitive.div, { ...rest, ref }) });
|
7
8
|
});
|
8
9
|
BranchPickerPrimitiveRoot.displayName = "BranchPickerPrimitive.Root";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/branchPicker/BranchPickerRoot.tsx"],"sourcesContent":["import { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ComponentRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { If } from \"../message\";\n\nexport namespace BranchPickerPrimitiveRoot {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> & {\n hideWhenSingleBranch?: boolean | undefined;\n };\n}\n\nexport const BranchPickerPrimitiveRoot = forwardRef<\n BranchPickerPrimitiveRoot.Element,\n BranchPickerPrimitiveRoot.Props\n>(({ hideWhenSingleBranch, ...rest }, ref) => {\n return (\n <If hasBranches={hideWhenSingleBranch ? true : undefined}>\n <Primitive.div {...rest} ref={ref} />\n </If>\n );\n});\n\nBranchPickerPrimitiveRoot.displayName = \"BranchPickerPrimitive.Root\";\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/branchPicker/BranchPickerRoot.tsx"],"sourcesContent":["import { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ComponentRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { If } from \"../message\";\n\nexport namespace BranchPickerPrimitiveRoot {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> & {\n hideWhenSingleBranch?: boolean | undefined;\n };\n}\n\nexport const BranchPickerPrimitiveRoot = forwardRef<\n BranchPickerPrimitiveRoot.Element,\n BranchPickerPrimitiveRoot.Props\n>(({ hideWhenSingleBranch, ...rest }, ref) => {\n return (\n <If hasBranches={hideWhenSingleBranch ? true : undefined}>\n <Primitive.div {...rest} ref={ref} />\n </If>\n );\n});\n\nBranchPickerPrimitiveRoot.displayName = \"BranchPickerPrimitive.Root\";\n"],"mappings":";AAAA,SAAS,iBAAiB;AAC1B,SAA4B,kBAA4C;AACxE,SAAS,UAAU;AAeb;AANC,IAAM,4BAA4B,WAGvC,CAAC,EAAE,sBAAsB,GAAG,KAAK,GAAG,QAAQ;AAC5C,SACE,oBAAC,MAAG,aAAa,uBAAuB,OAAO,QAC7C,8BAAC,UAAU,KAAV,EAAe,GAAG,MAAM,KAAU,GACrC;AAEJ,CAAC;AAED,0BAA0B,cAAc;","names":[]}
|
@@ -1,8 +1,9 @@
|
|
1
|
-
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import {
|
1
|
+
// src/primitives/branchPicker/index.ts
|
2
|
+
import { BranchPickerPrimitiveNext } from "./BranchPickerNext.js";
|
3
|
+
import { BranchPickerPrimitivePrevious } from "./BranchPickerPrevious.js";
|
4
|
+
import { BranchPickerPrimitiveCount } from "./BranchPickerCount.js";
|
5
|
+
import { BranchPickerPrimitiveNumber } from "./BranchPickerNumber.js";
|
6
|
+
import { BranchPickerPrimitiveRoot } from "./BranchPickerRoot.js";
|
6
7
|
export {
|
7
8
|
BranchPickerPrimitiveCount as Count,
|
8
9
|
BranchPickerPrimitiveNext as Next,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/branchPicker/index.ts"],"sourcesContent":["export { BranchPickerPrimitiveNext as Next } from \"./BranchPickerNext\";\nexport { BranchPickerPrimitivePrevious as Previous } from \"./BranchPickerPrevious\";\nexport { BranchPickerPrimitiveCount as Count } from \"./BranchPickerCount\";\nexport { BranchPickerPrimitiveNumber as Number } from \"./BranchPickerNumber\";\nexport { BranchPickerPrimitiveRoot as Root } from \"./BranchPickerRoot\";\n"],"mappings":"AAAA,SAAsC,iCAAY;AAClD,SAA0C,qCAAgB;AAC1D,SAAuC,kCAAa;AACpD,SAAwC,mCAAc;AACtD,SAAsC,iCAAY;","names":[]}
|
1
|
+
{"version":3,"sources":["../../../src/primitives/branchPicker/index.ts"],"sourcesContent":["export { BranchPickerPrimitiveNext as Next } from \"./BranchPickerNext\";\nexport { BranchPickerPrimitivePrevious as Previous } from \"./BranchPickerPrevious\";\nexport { BranchPickerPrimitiveCount as Count } from \"./BranchPickerCount\";\nexport { BranchPickerPrimitiveNumber as Number } from \"./BranchPickerNumber\";\nexport { BranchPickerPrimitiveRoot as Root } from \"./BranchPickerRoot\";\n"],"mappings":";AAAA,SAAsC,iCAAY;AAClD,SAA0C,qCAAgB;AAC1D,SAAuC,kCAAa;AACpD,SAAwC,mCAAc;AACtD,SAAsC,iCAAY;","names":[]}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
"use client";
|
2
|
+
|
3
|
+
// src/primitives/composer/ComposerAddAttachment.tsx
|
2
4
|
import {
|
3
5
|
createActionButton
|
4
|
-
} from "../../utils/createActionButton";
|
6
|
+
} from "../../utils/createActionButton.js";
|
5
7
|
import { useCallback } from "react";
|
6
|
-
import { useComposer, useComposerRuntime } from "../../context";
|
7
|
-
|
8
|
+
import { useComposer, useComposerRuntime } from "../../context/index.js";
|
9
|
+
var useComposerAddAttachment = ({
|
8
10
|
multiple = true
|
9
11
|
} = {}) => {
|
10
12
|
const disabled = useComposer((c) => !c.isEditing);
|
@@ -29,7 +31,7 @@ const useComposerAddAttachment = ({
|
|
29
31
|
if (disabled) return null;
|
30
32
|
return callback;
|
31
33
|
};
|
32
|
-
|
34
|
+
var ComposerPrimitiveAddAttachment = createActionButton(
|
33
35
|
"ComposerPrimitive.AddAttachment",
|
34
36
|
useComposerAddAttachment,
|
35
37
|
["multiple"]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/composer/ComposerAddAttachment.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport { useComposer, useComposerRuntime } from \"../../context\";\n\nconst useComposerAddAttachment = ({\n multiple = true,\n}: {\n /** allow selecting multiple files */\n multiple?: boolean | undefined;\n} = {}) => {\n const disabled = useComposer((c) => !c.isEditing);\n\n const composerRuntime = useComposerRuntime();\n const callback = useCallback(() => {\n const input = document.createElement(\"input\");\n input.type = \"file\";\n input.multiple = multiple;\n\n const attachmentAccept = composerRuntime.getAttachmentAccept();\n if (attachmentAccept !== \"*\") {\n input.accept = attachmentAccept;\n }\n\n input.onchange = (e) => {\n const fileList = (e.target as HTMLInputElement).files;\n if (!fileList) return;\n for (const file of fileList) {\n composerRuntime.addAttachment(file);\n }\n };\n\n input.click();\n }, [composerRuntime, multiple]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace ComposerPrimitiveAddAttachment {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useComposerAddAttachment>;\n}\n\nexport const ComposerPrimitiveAddAttachment = createActionButton(\n \"ComposerPrimitive.AddAttachment\",\n useComposerAddAttachment,\n [\"multiple\"],\n);\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/composer/ComposerAddAttachment.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport { useComposer, useComposerRuntime } from \"../../context\";\n\nconst useComposerAddAttachment = ({\n multiple = true,\n}: {\n /** allow selecting multiple files */\n multiple?: boolean | undefined;\n} = {}) => {\n const disabled = useComposer((c) => !c.isEditing);\n\n const composerRuntime = useComposerRuntime();\n const callback = useCallback(() => {\n const input = document.createElement(\"input\");\n input.type = \"file\";\n input.multiple = multiple;\n\n const attachmentAccept = composerRuntime.getAttachmentAccept();\n if (attachmentAccept !== \"*\") {\n input.accept = attachmentAccept;\n }\n\n input.onchange = (e) => {\n const fileList = (e.target as HTMLInputElement).files;\n if (!fileList) return;\n for (const file of fileList) {\n composerRuntime.addAttachment(file);\n }\n };\n\n input.click();\n }, [composerRuntime, multiple]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace ComposerPrimitiveAddAttachment {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useComposerAddAttachment>;\n}\n\nexport const ComposerPrimitiveAddAttachment = createActionButton(\n \"ComposerPrimitive.AddAttachment\",\n useComposerAddAttachment,\n [\"multiple\"],\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B,SAAS,aAAa,0BAA0B;AAEhD,IAAM,2BAA2B,CAAC;AAAA,EAChC,WAAW;AACb,IAGI,CAAC,MAAM;AACT,QAAM,WAAW,YAAY,CAAC,MAAM,CAAC,EAAE,SAAS;AAEhD,QAAM,kBAAkB,mBAAmB;AAC3C,QAAM,WAAW,YAAY,MAAM;AACjC,UAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,UAAM,OAAO;AACb,UAAM,WAAW;AAEjB,UAAM,mBAAmB,gBAAgB,oBAAoB;AAC7D,QAAI,qBAAqB,KAAK;AAC5B,YAAM,SAAS;AAAA,IACjB;AAEA,UAAM,WAAW,CAAC,MAAM;AACtB,YAAM,WAAY,EAAE,OAA4B;AAChD,UAAI,CAAC,SAAU;AACf,iBAAW,QAAQ,UAAU;AAC3B,wBAAgB,cAAc,IAAI;AAAA,MACpC;AAAA,IACF;AAEA,UAAM,MAAM;AAAA,EACd,GAAG,CAAC,iBAAiB,QAAQ,CAAC;AAE9B,MAAI,SAAU,QAAO;AACrB,SAAO;AACT;AAOO,IAAM,iCAAiC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,CAAC,UAAU;AACb;","names":[]}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
"use client";
|
2
|
-
|
2
|
+
|
3
|
+
// src/primitives/composer/ComposerAttachments.tsx
|
3
4
|
import { memo, useMemo } from "react";
|
4
|
-
import { useComposer, useComposerRuntime } from "../../context";
|
5
|
-
import { useThreadComposerAttachment } from "../../context/react/AttachmentContext";
|
6
|
-
import { AttachmentRuntimeProvider } from "../../context/providers/AttachmentRuntimeProvider";
|
7
|
-
|
5
|
+
import { useComposer, useComposerRuntime } from "../../context/index.js";
|
6
|
+
import { useThreadComposerAttachment } from "../../context/react/AttachmentContext.js";
|
7
|
+
import { AttachmentRuntimeProvider } from "../../context/providers/AttachmentRuntimeProvider.js";
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
9
|
+
var getComponent = (components, attachment) => {
|
8
10
|
const type = attachment.type;
|
9
11
|
switch (type) {
|
10
12
|
case "image":
|
@@ -18,14 +20,14 @@ const getComponent = (components, attachment) => {
|
|
18
20
|
throw new Error(`Unknown attachment type: ${_exhaustiveCheck}`);
|
19
21
|
}
|
20
22
|
};
|
21
|
-
|
23
|
+
var AttachmentComponent = ({ components }) => {
|
22
24
|
const Component = useThreadComposerAttachment(
|
23
25
|
(a) => getComponent(components, a)
|
24
26
|
);
|
25
27
|
if (!Component) return null;
|
26
28
|
return /* @__PURE__ */ jsx(Component, {});
|
27
29
|
};
|
28
|
-
|
30
|
+
var ComposerAttachmentImpl = ({ components, attachmentIndex }) => {
|
29
31
|
const composerRuntime = useComposerRuntime();
|
30
32
|
const runtime = useMemo(
|
31
33
|
() => composerRuntime.getAttachmentByIndex(attachmentIndex),
|
@@ -33,11 +35,11 @@ const ComposerAttachmentImpl = ({ components, attachmentIndex }) => {
|
|
33
35
|
);
|
34
36
|
return /* @__PURE__ */ jsx(AttachmentRuntimeProvider, { runtime, children: /* @__PURE__ */ jsx(AttachmentComponent, { components }) });
|
35
37
|
};
|
36
|
-
|
38
|
+
var ComposerAttachment = memo(
|
37
39
|
ComposerAttachmentImpl,
|
38
40
|
(prev, next) => prev.attachmentIndex === next.attachmentIndex && prev.components?.Image === next.components?.Image && prev.components?.Document === next.components?.Document && prev.components?.File === next.components?.File && prev.components?.Attachment === next.components?.Attachment
|
39
41
|
);
|
40
|
-
|
42
|
+
var ComposerPrimitiveAttachments = ({ components }) => {
|
41
43
|
const attachmentsCount = useComposer((s) => s.attachments.length);
|
42
44
|
return Array.from({ length: attachmentsCount }, (_, index) => /* @__PURE__ */ jsx(
|
43
45
|
ComposerAttachment,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/composer/ComposerAttachments.tsx"],"sourcesContent":["\"use client\";\n\nimport { ComponentType, type FC, memo, useMemo } from \"react\";\nimport { Attachment } from \"../../types\";\nimport { useComposer, useComposerRuntime } from \"../../context\";\nimport { useThreadComposerAttachment } from \"../../context/react/AttachmentContext\";\nimport { AttachmentRuntimeProvider } from \"../../context/providers/AttachmentRuntimeProvider\";\n\nexport namespace ComposerPrimitiveAttachments {\n export type Props = {\n components:\n | {\n Image?: ComponentType | undefined;\n Document?: ComponentType | undefined;\n File?: ComponentType | undefined;\n Attachment?: ComponentType | undefined;\n }\n | undefined;\n };\n}\n\nconst getComponent = (\n components: ComposerPrimitiveAttachments.Props[\"components\"],\n attachment: Attachment,\n) => {\n const type = attachment.type;\n switch (type) {\n case \"image\":\n return components?.Image ?? components?.Attachment;\n case \"document\":\n return components?.Document ?? components?.Attachment;\n case \"file\":\n return components?.File ?? components?.Attachment;\n default:\n const _exhaustiveCheck: never = type;\n throw new Error(`Unknown attachment type: ${_exhaustiveCheck}`);\n }\n};\n\nconst AttachmentComponent: FC<{\n components: ComposerPrimitiveAttachments.Props[\"components\"];\n}> = ({ components }) => {\n const Component = useThreadComposerAttachment((a) =>\n getComponent(components, a),\n );\n\n if (!Component) return null;\n return <Component />;\n};\n\nconst ComposerAttachmentImpl: FC<\n ComposerPrimitiveAttachments.Props & { attachmentIndex: number }\n> = ({ components, attachmentIndex }) => {\n const composerRuntime = useComposerRuntime();\n const runtime = useMemo(\n () => composerRuntime.getAttachmentByIndex(attachmentIndex),\n [composerRuntime, attachmentIndex],\n );\n\n return (\n <AttachmentRuntimeProvider runtime={runtime}>\n <AttachmentComponent components={components} />\n </AttachmentRuntimeProvider>\n );\n};\n\nconst ComposerAttachment = memo(\n ComposerAttachmentImpl,\n (prev, next) =>\n prev.attachmentIndex === next.attachmentIndex &&\n prev.components?.Image === next.components?.Image &&\n prev.components?.Document === next.components?.Document &&\n prev.components?.File === next.components?.File &&\n prev.components?.Attachment === next.components?.Attachment,\n);\n\nexport const ComposerPrimitiveAttachments: FC<\n ComposerPrimitiveAttachments.Props\n> = ({ components }) => {\n const attachmentsCount = useComposer((s) => s.attachments.length);\n\n return Array.from({ length: attachmentsCount }, (_, index) => (\n <ComposerAttachment\n key={index}\n attachmentIndex={index}\n components={components}\n />\n ));\n};\n\nComposerPrimitiveAttachments.displayName = \"ComposerPrimitive.Attachments\";\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/composer/ComposerAttachments.tsx"],"sourcesContent":["\"use client\";\n\nimport { ComponentType, type FC, memo, useMemo } from \"react\";\nimport { Attachment } from \"../../types\";\nimport { useComposer, useComposerRuntime } from \"../../context\";\nimport { useThreadComposerAttachment } from \"../../context/react/AttachmentContext\";\nimport { AttachmentRuntimeProvider } from \"../../context/providers/AttachmentRuntimeProvider\";\n\nexport namespace ComposerPrimitiveAttachments {\n export type Props = {\n components:\n | {\n Image?: ComponentType | undefined;\n Document?: ComponentType | undefined;\n File?: ComponentType | undefined;\n Attachment?: ComponentType | undefined;\n }\n | undefined;\n };\n}\n\nconst getComponent = (\n components: ComposerPrimitiveAttachments.Props[\"components\"],\n attachment: Attachment,\n) => {\n const type = attachment.type;\n switch (type) {\n case \"image\":\n return components?.Image ?? components?.Attachment;\n case \"document\":\n return components?.Document ?? components?.Attachment;\n case \"file\":\n return components?.File ?? components?.Attachment;\n default:\n const _exhaustiveCheck: never = type;\n throw new Error(`Unknown attachment type: ${_exhaustiveCheck}`);\n }\n};\n\nconst AttachmentComponent: FC<{\n components: ComposerPrimitiveAttachments.Props[\"components\"];\n}> = ({ components }) => {\n const Component = useThreadComposerAttachment((a) =>\n getComponent(components, a),\n );\n\n if (!Component) return null;\n return <Component />;\n};\n\nconst ComposerAttachmentImpl: FC<\n ComposerPrimitiveAttachments.Props & { attachmentIndex: number }\n> = ({ components, attachmentIndex }) => {\n const composerRuntime = useComposerRuntime();\n const runtime = useMemo(\n () => composerRuntime.getAttachmentByIndex(attachmentIndex),\n [composerRuntime, attachmentIndex],\n );\n\n return (\n <AttachmentRuntimeProvider runtime={runtime}>\n <AttachmentComponent components={components} />\n </AttachmentRuntimeProvider>\n );\n};\n\nconst ComposerAttachment = memo(\n ComposerAttachmentImpl,\n (prev, next) =>\n prev.attachmentIndex === next.attachmentIndex &&\n prev.components?.Image === next.components?.Image &&\n prev.components?.Document === next.components?.Document &&\n prev.components?.File === next.components?.File &&\n prev.components?.Attachment === next.components?.Attachment,\n);\n\nexport const ComposerPrimitiveAttachments: FC<\n ComposerPrimitiveAttachments.Props\n> = ({ components }) => {\n const attachmentsCount = useComposer((s) => s.attachments.length);\n\n return Array.from({ length: attachmentsCount }, (_, index) => (\n <ComposerAttachment\n key={index}\n attachmentIndex={index}\n components={components}\n />\n ));\n};\n\nComposerPrimitiveAttachments.displayName = \"ComposerPrimitive.Attachments\";\n"],"mappings":";;;AAEA,SAAiC,MAAM,eAAe;AAEtD,SAAS,aAAa,0BAA0B;AAChD,SAAS,mCAAmC;AAC5C,SAAS,iCAAiC;AAyCjC;AA1BT,IAAM,eAAe,CACnB,YACA,eACG;AACH,QAAM,OAAO,WAAW;AACxB,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO,YAAY,SAAS,YAAY;AAAA,IAC1C,KAAK;AACH,aAAO,YAAY,YAAY,YAAY;AAAA,IAC7C,KAAK;AACH,aAAO,YAAY,QAAQ,YAAY;AAAA,IACzC;AACE,YAAM,mBAA0B;AAChC,YAAM,IAAI,MAAM,4BAA4B,gBAAgB,EAAE;AAAA,EAClE;AACF;AAEA,IAAM,sBAED,CAAC,EAAE,WAAW,MAAM;AACvB,QAAM,YAAY;AAAA,IAA4B,CAAC,MAC7C,aAAa,YAAY,CAAC;AAAA,EAC5B;AAEA,MAAI,CAAC,UAAW,QAAO;AACvB,SAAO,oBAAC,aAAU;AACpB;AAEA,IAAM,yBAEF,CAAC,EAAE,YAAY,gBAAgB,MAAM;AACvC,QAAM,kBAAkB,mBAAmB;AAC3C,QAAM,UAAU;AAAA,IACd,MAAM,gBAAgB,qBAAqB,eAAe;AAAA,IAC1D,CAAC,iBAAiB,eAAe;AAAA,EACnC;AAEA,SACE,oBAAC,6BAA0B,SACzB,8BAAC,uBAAoB,YAAwB,GAC/C;AAEJ;AAEA,IAAM,qBAAqB;AAAA,EACzB;AAAA,EACA,CAAC,MAAM,SACL,KAAK,oBAAoB,KAAK,mBAC9B,KAAK,YAAY,UAAU,KAAK,YAAY,SAC5C,KAAK,YAAY,aAAa,KAAK,YAAY,YAC/C,KAAK,YAAY,SAAS,KAAK,YAAY,QAC3C,KAAK,YAAY,eAAe,KAAK,YAAY;AACrD;AAEO,IAAM,+BAET,CAAC,EAAE,WAAW,MAAM;AACtB,QAAM,mBAAmB,YAAY,CAAC,MAAM,EAAE,YAAY,MAAM;AAEhE,SAAO,MAAM,KAAK,EAAE,QAAQ,iBAAiB,GAAG,CAAC,GAAG,UAClD;AAAA,IAAC;AAAA;AAAA,MAEC,iBAAiB;AAAA,MACjB;AAAA;AAAA,IAFK;AAAA,EAGP,CACD;AACH;AAEA,6BAA6B,cAAc;","names":[]}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
"use client";
|
2
|
+
|
3
|
+
// src/primitives/composer/ComposerCancel.tsx
|
2
4
|
import {
|
3
5
|
createActionButton
|
4
|
-
} from "../../utils/createActionButton";
|
6
|
+
} from "../../utils/createActionButton.js";
|
5
7
|
import { useCallback } from "react";
|
6
|
-
import { useComposer, useComposerRuntime } from "../../context";
|
7
|
-
|
8
|
+
import { useComposer, useComposerRuntime } from "../../context/index.js";
|
9
|
+
var useComposerCancel = () => {
|
8
10
|
const composerRuntime = useComposerRuntime();
|
9
11
|
const disabled = useComposer((c) => !c.canCancel);
|
10
12
|
const callback = useCallback(() => {
|
@@ -13,7 +15,7 @@ const useComposerCancel = () => {
|
|
13
15
|
if (disabled) return null;
|
14
16
|
return callback;
|
15
17
|
};
|
16
|
-
|
18
|
+
var ComposerPrimitiveCancel = createActionButton(
|
17
19
|
"ComposerPrimitive.Cancel",
|
18
20
|
useComposerCancel
|
19
21
|
);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/composer/ComposerCancel.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport { useComposer, useComposerRuntime } from \"../../context\";\n\nconst useComposerCancel = () => {\n const composerRuntime = useComposerRuntime();\n const disabled = useComposer((c) => !c.canCancel);\n\n const callback = useCallback(() => {\n composerRuntime.cancel();\n }, [composerRuntime]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace ComposerPrimitiveCancel {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useComposerCancel>;\n}\n\nexport const ComposerPrimitiveCancel = createActionButton(\n \"ComposerPrimitive.Cancel\",\n useComposerCancel,\n);\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/composer/ComposerCancel.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport { useComposer, useComposerRuntime } from \"../../context\";\n\nconst useComposerCancel = () => {\n const composerRuntime = useComposerRuntime();\n const disabled = useComposer((c) => !c.canCancel);\n\n const callback = useCallback(() => {\n composerRuntime.cancel();\n }, [composerRuntime]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace ComposerPrimitiveCancel {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useComposerCancel>;\n}\n\nexport const ComposerPrimitiveCancel = createActionButton(\n \"ComposerPrimitive.Cancel\",\n useComposerCancel,\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B,SAAS,aAAa,0BAA0B;AAEhD,IAAM,oBAAoB,MAAM;AAC9B,QAAM,kBAAkB,mBAAmB;AAC3C,QAAM,WAAW,YAAY,CAAC,MAAM,CAAC,EAAE,SAAS;AAEhD,QAAM,WAAW,YAAY,MAAM;AACjC,oBAAgB,OAAO;AAAA,EACzB,GAAG,CAAC,eAAe,CAAC;AAEpB,MAAI,SAAU,QAAO;AACrB,SAAO;AACT;AAOO,IAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AACF;","names":[]}
|
@@ -1,13 +1,15 @@
|
|
1
1
|
"use client";
|
2
|
-
|
3
|
-
|
2
|
+
|
3
|
+
// src/primitives/composer/ComposerIf.tsx
|
4
|
+
import { useComposer } from "../../context/react/ComposerContext.js";
|
5
|
+
var useComposerIf = (props) => {
|
4
6
|
return useComposer((composer) => {
|
5
7
|
if (props.editing === true && !composer.isEditing) return false;
|
6
8
|
if (props.editing === false && composer.isEditing) return false;
|
7
9
|
return true;
|
8
10
|
});
|
9
11
|
};
|
10
|
-
|
12
|
+
var ComposerPrimitiveIf = ({
|
11
13
|
children,
|
12
14
|
...query
|
13
15
|
}) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/composer/ComposerIf.tsx"],"sourcesContent":["\"use client\";\n\nimport type { FC, PropsWithChildren } from \"react\";\nimport { useComposer } from \"../../context/react/ComposerContext\";\nimport type { RequireAtLeastOne } from \"../../utils/RequireAtLeastOne\";\n\ntype ComposerIfFilters = {\n editing: boolean | undefined;\n};\n\nexport type UseComposerIfProps = RequireAtLeastOne<ComposerIfFilters>;\n\nconst useComposerIf = (props: UseComposerIfProps) => {\n return useComposer((composer) => {\n if (props.editing === true && !composer.isEditing) return false;\n if (props.editing === false && composer.isEditing) return false;\n\n return true;\n });\n};\n\nexport namespace ComposerPrimitiveIf {\n export type Props = PropsWithChildren<UseComposerIfProps>;\n}\n\nexport const ComposerPrimitiveIf: FC<ComposerPrimitiveIf.Props> = ({\n children,\n ...query\n}) => {\n const result = useComposerIf(query);\n return result ? children : null;\n};\n\nComposerPrimitiveIf.displayName = \"ComposerPrimitive.If\";\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/composer/ComposerIf.tsx"],"sourcesContent":["\"use client\";\n\nimport type { FC, PropsWithChildren } from \"react\";\nimport { useComposer } from \"../../context/react/ComposerContext\";\nimport type { RequireAtLeastOne } from \"../../utils/RequireAtLeastOne\";\n\ntype ComposerIfFilters = {\n editing: boolean | undefined;\n};\n\nexport type UseComposerIfProps = RequireAtLeastOne<ComposerIfFilters>;\n\nconst useComposerIf = (props: UseComposerIfProps) => {\n return useComposer((composer) => {\n if (props.editing === true && !composer.isEditing) return false;\n if (props.editing === false && composer.isEditing) return false;\n\n return true;\n });\n};\n\nexport namespace ComposerPrimitiveIf {\n export type Props = PropsWithChildren<UseComposerIfProps>;\n}\n\nexport const ComposerPrimitiveIf: FC<ComposerPrimitiveIf.Props> = ({\n children,\n ...query\n}) => {\n const result = useComposerIf(query);\n return result ? children : null;\n};\n\nComposerPrimitiveIf.displayName = \"ComposerPrimitive.If\";\n"],"mappings":";;;AAGA,SAAS,mBAAmB;AAS5B,IAAM,gBAAgB,CAAC,UAA8B;AACnD,SAAO,YAAY,CAAC,aAAa;AAC/B,QAAI,MAAM,YAAY,QAAQ,CAAC,SAAS,UAAW,QAAO;AAC1D,QAAI,MAAM,YAAY,SAAS,SAAS,UAAW,QAAO;AAE1D,WAAO;AAAA,EACT,CAAC;AACH;AAMO,IAAM,sBAAqD,CAAC;AAAA,EACjE;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,SAAS,cAAc,KAAK;AAClC,SAAO,SAAS,WAAW;AAC7B;AAEA,oBAAoB,cAAc;","names":[]}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
"use client";
|
2
|
-
|
2
|
+
|
3
|
+
// src/primitives/composer/ComposerInput.tsx
|
3
4
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
4
5
|
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
5
6
|
import { Slot } from "@radix-ui/react-slot";
|
@@ -13,12 +14,13 @@ import TextareaAutosize from "react-textarea-autosize";
|
|
13
14
|
import {
|
14
15
|
useComposer,
|
15
16
|
useComposerRuntime
|
16
|
-
} from "../../context/react/ComposerContext";
|
17
|
-
import { useThread, useThreadRuntime } from "../../context/react/ThreadContext";
|
17
|
+
} from "../../context/react/ComposerContext.js";
|
18
|
+
import { useThread, useThreadRuntime } from "../../context/react/ThreadContext.js";
|
18
19
|
import { useEscapeKeydown } from "@radix-ui/react-use-escape-keydown";
|
19
|
-
import { useOnScrollToBottom } from "../../utils/hooks/useOnScrollToBottom";
|
20
|
-
import { useThreadListItemRuntime } from "../../context/react/ThreadListItemContext";
|
21
|
-
|
20
|
+
import { useOnScrollToBottom } from "../../utils/hooks/useOnScrollToBottom.js";
|
21
|
+
import { useThreadListItemRuntime } from "../../context/react/ThreadListItemContext.js";
|
22
|
+
import { jsx } from "react/jsx-runtime";
|
23
|
+
var ComposerPrimitiveInput = forwardRef(
|
22
24
|
({
|
23
25
|
autoFocus = false,
|
24
26
|
asChild,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/composer/ComposerInput.tsx"],"sourcesContent":["\"use client\";\n\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n type KeyboardEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport TextareaAutosize, {\n type TextareaAutosizeProps,\n} from \"react-textarea-autosize\";\nimport {\n useComposer,\n useComposerRuntime,\n} from \"../../context/react/ComposerContext\";\nimport { useThread, useThreadRuntime } from \"../../context/react/ThreadContext\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { useOnScrollToBottom } from \"../../utils/hooks/useOnScrollToBottom\";\nimport { useThreadListItemRuntime } from \"../../context/react/ThreadListItemContext\";\n\nexport namespace ComposerPrimitiveInput {\n export type Element = HTMLTextAreaElement;\n export type Props = TextareaAutosizeProps & {\n asChild?: boolean | undefined;\n submitOnEnter?: boolean | undefined;\n cancelOnEscape?: boolean | undefined;\n unstable_focusOnRunStart?: boolean | undefined;\n unstable_focusOnScrollToBottom?: boolean | undefined;\n unstable_focusOnThreadSwitched?: boolean | undefined;\n };\n}\n\nexport const ComposerPrimitiveInput = forwardRef<\n ComposerPrimitiveInput.Element,\n ComposerPrimitiveInput.Props\n>(\n (\n {\n autoFocus = false,\n asChild,\n disabled: disabledProp,\n onChange,\n onKeyDown,\n submitOnEnter = true,\n cancelOnEscape = true,\n unstable_focusOnRunStart = true,\n unstable_focusOnScrollToBottom = true,\n unstable_focusOnThreadSwitched = true,\n ...rest\n },\n forwardedRef,\n ) => {\n const threadListItemRuntime = useThreadListItemRuntime();\n const threadRuntime = useThreadRuntime();\n const composerRuntime = useComposerRuntime();\n\n const value = useComposer((c) => {\n if (!c.isEditing) return \"\";\n return c.text;\n });\n\n const Component = asChild ? Slot : TextareaAutosize;\n\n const isDisabled = useThread((t) => t.isDisabled) ?? disabledProp ?? false;\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const ref = useComposedRefs(forwardedRef, textareaRef);\n\n useEscapeKeydown((e) => {\n if (!cancelOnEscape) return;\n\n if (composerRuntime.getState().canCancel) {\n composerRuntime.cancel();\n e.preventDefault();\n }\n });\n\n const handleKeyPress = (e: KeyboardEvent) => {\n if (isDisabled || !submitOnEnter) return;\n\n // ignore IME composition events\n if (e.nativeEvent.isComposing) return;\n\n if (e.key === \"Enter\" && e.shiftKey === false) {\n const { isRunning } = threadRuntime.getState();\n\n if (!isRunning) {\n e.preventDefault();\n\n textareaRef.current?.closest(\"form\")?.requestSubmit();\n }\n }\n };\n\n const autoFocusEnabled = autoFocus && !isDisabled;\n const focus = useCallback(() => {\n const textarea = textareaRef.current;\n if (!textarea || !autoFocusEnabled) return;\n\n textarea.focus({ preventScroll: true });\n textarea.setSelectionRange(textarea.value.length, textarea.value.length);\n }, [autoFocusEnabled]);\n\n useEffect(() => focus(), [focus]);\n\n useOnScrollToBottom(() => {\n if (composerRuntime.type === \"thread\" && unstable_focusOnScrollToBottom) {\n focus();\n }\n });\n\n useEffect(() => {\n if (composerRuntime.type !== \"thread\" || !unstable_focusOnRunStart)\n return undefined;\n\n return threadRuntime.unstable_on(\"run-start\", focus);\n }, [unstable_focusOnRunStart, focus, composerRuntime, threadRuntime]);\n\n useEffect(() => {\n if (composerRuntime.type !== \"thread\" || !unstable_focusOnThreadSwitched)\n return undefined;\n\n return threadListItemRuntime.unstable_on(\"switched-to\", focus);\n }, [\n unstable_focusOnThreadSwitched,\n focus,\n composerRuntime,\n threadListItemRuntime,\n ]);\n\n return (\n <Component\n name=\"input\"\n value={value}\n {...rest}\n ref={ref}\n disabled={isDisabled}\n onChange={composeEventHandlers(onChange, (e) => {\n if (!composerRuntime.getState().isEditing) return;\n return composerRuntime.setText(e.target.value);\n })}\n onKeyDown={composeEventHandlers(onKeyDown, handleKeyPress)}\n />\n );\n },\n);\n\nComposerPrimitiveInput.displayName = \"ComposerPrimitive.Input\";\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/composer/ComposerInput.tsx"],"sourcesContent":["\"use client\";\n\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n type KeyboardEvent,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport TextareaAutosize, {\n type TextareaAutosizeProps,\n} from \"react-textarea-autosize\";\nimport {\n useComposer,\n useComposerRuntime,\n} from \"../../context/react/ComposerContext\";\nimport { useThread, useThreadRuntime } from \"../../context/react/ThreadContext\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { useOnScrollToBottom } from \"../../utils/hooks/useOnScrollToBottom\";\nimport { useThreadListItemRuntime } from \"../../context/react/ThreadListItemContext\";\n\nexport namespace ComposerPrimitiveInput {\n export type Element = HTMLTextAreaElement;\n export type Props = TextareaAutosizeProps & {\n asChild?: boolean | undefined;\n submitOnEnter?: boolean | undefined;\n cancelOnEscape?: boolean | undefined;\n unstable_focusOnRunStart?: boolean | undefined;\n unstable_focusOnScrollToBottom?: boolean | undefined;\n unstable_focusOnThreadSwitched?: boolean | undefined;\n };\n}\n\nexport const ComposerPrimitiveInput = forwardRef<\n ComposerPrimitiveInput.Element,\n ComposerPrimitiveInput.Props\n>(\n (\n {\n autoFocus = false,\n asChild,\n disabled: disabledProp,\n onChange,\n onKeyDown,\n submitOnEnter = true,\n cancelOnEscape = true,\n unstable_focusOnRunStart = true,\n unstable_focusOnScrollToBottom = true,\n unstable_focusOnThreadSwitched = true,\n ...rest\n },\n forwardedRef,\n ) => {\n const threadListItemRuntime = useThreadListItemRuntime();\n const threadRuntime = useThreadRuntime();\n const composerRuntime = useComposerRuntime();\n\n const value = useComposer((c) => {\n if (!c.isEditing) return \"\";\n return c.text;\n });\n\n const Component = asChild ? Slot : TextareaAutosize;\n\n const isDisabled = useThread((t) => t.isDisabled) ?? disabledProp ?? false;\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const ref = useComposedRefs(forwardedRef, textareaRef);\n\n useEscapeKeydown((e) => {\n if (!cancelOnEscape) return;\n\n if (composerRuntime.getState().canCancel) {\n composerRuntime.cancel();\n e.preventDefault();\n }\n });\n\n const handleKeyPress = (e: KeyboardEvent) => {\n if (isDisabled || !submitOnEnter) return;\n\n // ignore IME composition events\n if (e.nativeEvent.isComposing) return;\n\n if (e.key === \"Enter\" && e.shiftKey === false) {\n const { isRunning } = threadRuntime.getState();\n\n if (!isRunning) {\n e.preventDefault();\n\n textareaRef.current?.closest(\"form\")?.requestSubmit();\n }\n }\n };\n\n const autoFocusEnabled = autoFocus && !isDisabled;\n const focus = useCallback(() => {\n const textarea = textareaRef.current;\n if (!textarea || !autoFocusEnabled) return;\n\n textarea.focus({ preventScroll: true });\n textarea.setSelectionRange(textarea.value.length, textarea.value.length);\n }, [autoFocusEnabled]);\n\n useEffect(() => focus(), [focus]);\n\n useOnScrollToBottom(() => {\n if (composerRuntime.type === \"thread\" && unstable_focusOnScrollToBottom) {\n focus();\n }\n });\n\n useEffect(() => {\n if (composerRuntime.type !== \"thread\" || !unstable_focusOnRunStart)\n return undefined;\n\n return threadRuntime.unstable_on(\"run-start\", focus);\n }, [unstable_focusOnRunStart, focus, composerRuntime, threadRuntime]);\n\n useEffect(() => {\n if (composerRuntime.type !== \"thread\" || !unstable_focusOnThreadSwitched)\n return undefined;\n\n return threadListItemRuntime.unstable_on(\"switched-to\", focus);\n }, [\n unstable_focusOnThreadSwitched,\n focus,\n composerRuntime,\n threadListItemRuntime,\n ]);\n\n return (\n <Component\n name=\"input\"\n value={value}\n {...rest}\n ref={ref}\n disabled={isDisabled}\n onChange={composeEventHandlers(onChange, (e) => {\n if (!composerRuntime.getState().isEditing) return;\n return composerRuntime.setText(e.target.value);\n })}\n onKeyDown={composeEventHandlers(onKeyDown, handleKeyPress)}\n />\n );\n },\n);\n\nComposerPrimitiveInput.displayName = \"ComposerPrimitive.Input\";\n"],"mappings":";;;AAEA,SAAS,4BAA4B;AACrC,SAAS,uBAAuB;AAChC,SAAS,YAAY;AACrB;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,OAAO,sBAEA;AACP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,WAAW,wBAAwB;AAC5C,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAAS,gCAAgC;AAgHnC;AAlGC,IAAM,yBAAyB;AAAA,EAIpC,CACE;AAAA,IACE,YAAY;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,2BAA2B;AAAA,IAC3B,iCAAiC;AAAA,IACjC,iCAAiC;AAAA,IACjC,GAAG;AAAA,EACL,GACA,iBACG;AACH,UAAM,wBAAwB,yBAAyB;AACvD,UAAM,gBAAgB,iBAAiB;AACvC,UAAM,kBAAkB,mBAAmB;AAE3C,UAAM,QAAQ,YAAY,CAAC,MAAM;AAC/B,UAAI,CAAC,EAAE,UAAW,QAAO;AACzB,aAAO,EAAE;AAAA,IACX,CAAC;AAED,UAAM,YAAY,UAAU,OAAO;AAEnC,UAAM,aAAa,UAAU,CAAC,MAAM,EAAE,UAAU,KAAK,gBAAgB;AACrE,UAAM,cAAc,OAA4B,IAAI;AACpD,UAAM,MAAM,gBAAgB,cAAc,WAAW;AAErD,qBAAiB,CAAC,MAAM;AACtB,UAAI,CAAC,eAAgB;AAErB,UAAI,gBAAgB,SAAS,EAAE,WAAW;AACxC,wBAAgB,OAAO;AACvB,UAAE,eAAe;AAAA,MACnB;AAAA,IACF,CAAC;AAED,UAAM,iBAAiB,CAAC,MAAqB;AAC3C,UAAI,cAAc,CAAC,cAAe;AAGlC,UAAI,EAAE,YAAY,YAAa;AAE/B,UAAI,EAAE,QAAQ,WAAW,EAAE,aAAa,OAAO;AAC7C,cAAM,EAAE,UAAU,IAAI,cAAc,SAAS;AAE7C,YAAI,CAAC,WAAW;AACd,YAAE,eAAe;AAEjB,sBAAY,SAAS,QAAQ,MAAM,GAAG,cAAc;AAAA,QACtD;AAAA,MACF;AAAA,IACF;AAEA,UAAM,mBAAmB,aAAa,CAAC;AACvC,UAAM,QAAQ,YAAY,MAAM;AAC9B,YAAM,WAAW,YAAY;AAC7B,UAAI,CAAC,YAAY,CAAC,iBAAkB;AAEpC,eAAS,MAAM,EAAE,eAAe,KAAK,CAAC;AACtC,eAAS,kBAAkB,SAAS,MAAM,QAAQ,SAAS,MAAM,MAAM;AAAA,IACzE,GAAG,CAAC,gBAAgB,CAAC;AAErB,cAAU,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC;AAEhC,wBAAoB,MAAM;AACxB,UAAI,gBAAgB,SAAS,YAAY,gCAAgC;AACvE,cAAM;AAAA,MACR;AAAA,IACF,CAAC;AAED,cAAU,MAAM;AACd,UAAI,gBAAgB,SAAS,YAAY,CAAC;AACxC,eAAO;AAET,aAAO,cAAc,YAAY,aAAa,KAAK;AAAA,IACrD,GAAG,CAAC,0BAA0B,OAAO,iBAAiB,aAAa,CAAC;AAEpE,cAAU,MAAM;AACd,UAAI,gBAAgB,SAAS,YAAY,CAAC;AACxC,eAAO;AAET,aAAO,sBAAsB,YAAY,eAAe,KAAK;AAAA,IAC/D,GAAG;AAAA,MACD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL;AAAA,QACC,GAAG;AAAA,QACJ;AAAA,QACA,UAAU;AAAA,QACV,UAAU,qBAAqB,UAAU,CAAC,MAAM;AAC9C,cAAI,CAAC,gBAAgB,SAAS,EAAE,UAAW;AAC3C,iBAAO,gBAAgB,QAAQ,EAAE,OAAO,KAAK;AAAA,QAC/C,CAAC;AAAA,QACD,WAAW,qBAAqB,WAAW,cAAc;AAAA;AAAA,IAC3D;AAAA,EAEJ;AACF;AAEA,uBAAuB,cAAc;","names":[]}
|
@@ -1,12 +1,14 @@
|
|
1
1
|
"use client";
|
2
|
-
|
2
|
+
|
3
|
+
// src/primitives/composer/ComposerRoot.tsx
|
3
4
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
4
5
|
import { Primitive } from "@radix-ui/react-primitive";
|
5
6
|
import {
|
6
7
|
forwardRef
|
7
8
|
} from "react";
|
8
|
-
import { useComposerSend } from "./ComposerSend";
|
9
|
-
|
9
|
+
import { useComposerSend } from "./ComposerSend.js";
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
11
|
+
var ComposerPrimitiveRoot = forwardRef(({ onSubmit, ...rest }, forwardedRef) => {
|
10
12
|
const send = useComposerSend();
|
11
13
|
const handleSubmit = (e) => {
|
12
14
|
e.preventDefault();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/composer/ComposerRoot.tsx"],"sourcesContent":["\"use client\";\n\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport {\n type ComponentRef,\n type FormEvent,\n forwardRef,\n ComponentPropsWithoutRef,\n} from \"react\";\nimport { useComposerSend } from \"./ComposerSend\";\n\nexport namespace ComposerPrimitiveRoot {\n export type Element = ComponentRef<typeof Primitive.form>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.form>;\n}\n\nexport const ComposerPrimitiveRoot = forwardRef<\n ComposerPrimitiveRoot.Element,\n ComposerPrimitiveRoot.Props\n>(({ onSubmit, ...rest }, forwardedRef) => {\n const send = useComposerSend();\n\n const handleSubmit = (e: FormEvent) => {\n e.preventDefault();\n\n if (!send) return;\n send();\n };\n\n return (\n <Primitive.form\n {...rest}\n ref={forwardedRef}\n onSubmit={composeEventHandlers(onSubmit, handleSubmit)}\n />\n );\n});\n\nComposerPrimitiveRoot.displayName = \"ComposerPrimitive.Root\";\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/composer/ComposerRoot.tsx"],"sourcesContent":["\"use client\";\n\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport {\n type ComponentRef,\n type FormEvent,\n forwardRef,\n ComponentPropsWithoutRef,\n} from \"react\";\nimport { useComposerSend } from \"./ComposerSend\";\n\nexport namespace ComposerPrimitiveRoot {\n export type Element = ComponentRef<typeof Primitive.form>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.form>;\n}\n\nexport const ComposerPrimitiveRoot = forwardRef<\n ComposerPrimitiveRoot.Element,\n ComposerPrimitiveRoot.Props\n>(({ onSubmit, ...rest }, forwardedRef) => {\n const send = useComposerSend();\n\n const handleSubmit = (e: FormEvent) => {\n e.preventDefault();\n\n if (!send) return;\n send();\n };\n\n return (\n <Primitive.form\n {...rest}\n ref={forwardedRef}\n onSubmit={composeEventHandlers(onSubmit, handleSubmit)}\n />\n );\n});\n\nComposerPrimitiveRoot.displayName = \"ComposerPrimitive.Root\";\n"],"mappings":";;;AAEA,SAAS,4BAA4B;AACrC,SAAS,iBAAiB;AAC1B;AAAA,EAGE;AAAA,OAEK;AACP,SAAS,uBAAuB;AAqB5B;AAdG,IAAM,wBAAwB,WAGnC,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,iBAAiB;AACzC,QAAM,OAAO,gBAAgB;AAE7B,QAAM,eAAe,CAAC,MAAiB;AACrC,MAAE,eAAe;AAEjB,QAAI,CAAC,KAAM;AACX,SAAK;AAAA,EACP;AAEA,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,UAAU,qBAAqB,UAAU,YAAY;AAAA;AAAA,EACvD;AAEJ,CAAC;AAED,sBAAsB,cAAc;","names":[]}
|
@@ -1,12 +1,14 @@
|
|
1
1
|
"use client";
|
2
|
+
|
3
|
+
// src/primitives/composer/ComposerSend.tsx
|
2
4
|
import {
|
3
5
|
createActionButton
|
4
|
-
} from "../../utils/createActionButton";
|
6
|
+
} from "../../utils/createActionButton.js";
|
5
7
|
import { useCallback } from "react";
|
6
|
-
import { useCombinedStore } from "../../utils/combined/useCombinedStore";
|
7
|
-
import { useThreadRuntime } from "../../context/react/ThreadContext";
|
8
|
-
import { useComposerRuntime } from "../../context";
|
9
|
-
|
8
|
+
import { useCombinedStore } from "../../utils/combined/useCombinedStore.js";
|
9
|
+
import { useThreadRuntime } from "../../context/react/ThreadContext.js";
|
10
|
+
import { useComposerRuntime } from "../../context/index.js";
|
11
|
+
var useComposerSend = () => {
|
10
12
|
const composerRuntime = useComposerRuntime();
|
11
13
|
const threadRuntime = useThreadRuntime();
|
12
14
|
const disabled = useCombinedStore(
|
@@ -19,7 +21,7 @@ const useComposerSend = () => {
|
|
19
21
|
if (disabled) return null;
|
20
22
|
return callback;
|
21
23
|
};
|
22
|
-
|
24
|
+
var ComposerPrimitiveSend = createActionButton(
|
23
25
|
"ComposerPrimitive.Send",
|
24
26
|
useComposerSend
|
25
27
|
);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/composer/ComposerSend.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport { useCombinedStore } from \"../../utils/combined/useCombinedStore\";\nimport { useThreadRuntime } from \"../../context/react/ThreadContext\";\nimport { useComposerRuntime } from \"../../context\";\n\nexport const useComposerSend = () => {\n const composerRuntime = useComposerRuntime();\n const threadRuntime = useThreadRuntime();\n\n const disabled = useCombinedStore(\n [threadRuntime, composerRuntime],\n (t, c) => t.isRunning || !c.isEditing || c.isEmpty,\n );\n\n const callback = useCallback(() => {\n composerRuntime.send();\n }, [composerRuntime]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace ComposerPrimitiveSend {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useComposerSend>;\n}\n\nexport const ComposerPrimitiveSend = createActionButton(\n \"ComposerPrimitive.Send\",\n useComposerSend,\n);\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/composer/ComposerSend.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n ActionButtonElement,\n ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useCallback } from \"react\";\nimport { useCombinedStore } from \"../../utils/combined/useCombinedStore\";\nimport { useThreadRuntime } from \"../../context/react/ThreadContext\";\nimport { useComposerRuntime } from \"../../context\";\n\nexport const useComposerSend = () => {\n const composerRuntime = useComposerRuntime();\n const threadRuntime = useThreadRuntime();\n\n const disabled = useCombinedStore(\n [threadRuntime, composerRuntime],\n (t, c) => t.isRunning || !c.isEditing || c.isEmpty,\n );\n\n const callback = useCallback(() => {\n composerRuntime.send();\n }, [composerRuntime]);\n\n if (disabled) return null;\n return callback;\n};\n\nexport namespace ComposerPrimitiveSend {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useComposerSend>;\n}\n\nexport const ComposerPrimitiveSend = createActionButton(\n \"ComposerPrimitive.Send\",\n useComposerSend,\n);\n"],"mappings":";;;AAEA;AAAA,EAGE;AAAA,OACK;AACP,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AAE5B,IAAM,kBAAkB,MAAM;AACnC,QAAM,kBAAkB,mBAAmB;AAC3C,QAAM,gBAAgB,iBAAiB;AAEvC,QAAM,WAAW;AAAA,IACf,CAAC,eAAe,eAAe;AAAA,IAC/B,CAAC,GAAG,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa,EAAE;AAAA,EAC7C;AAEA,QAAM,WAAW,YAAY,MAAM;AACjC,oBAAgB,KAAK;AAAA,EACvB,GAAG,CAAC,eAAe,CAAC;AAEpB,MAAI,SAAU,QAAO;AACrB,SAAO;AACT;AAOO,IAAM,wBAAwB;AAAA,EACnC;AAAA,EACA;AACF;","names":[]}
|
@@ -1,10 +1,11 @@
|
|
1
|
-
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
import {
|
7
|
-
import {
|
1
|
+
// src/primitives/composer/index.ts
|
2
|
+
import { ComposerPrimitiveRoot } from "./ComposerRoot.js";
|
3
|
+
import { ComposerPrimitiveInput } from "./ComposerInput.js";
|
4
|
+
import { ComposerPrimitiveSend } from "./ComposerSend.js";
|
5
|
+
import { ComposerPrimitiveCancel } from "./ComposerCancel.js";
|
6
|
+
import { ComposerPrimitiveAddAttachment } from "./ComposerAddAttachment.js";
|
7
|
+
import { ComposerPrimitiveAttachments } from "./ComposerAttachments.js";
|
8
|
+
import { ComposerPrimitiveIf } from "./ComposerIf.js";
|
8
9
|
export {
|
9
10
|
ComposerPrimitiveAddAttachment as AddAttachment,
|
10
11
|
ComposerPrimitiveAttachments as Attachments,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/composer/index.ts"],"sourcesContent":["export { ComposerPrimitiveRoot as Root } from \"./ComposerRoot\";\nexport { ComposerPrimitiveInput as Input } from \"./ComposerInput\";\nexport { ComposerPrimitiveSend as Send } from \"./ComposerSend\";\nexport { ComposerPrimitiveCancel as Cancel } from \"./ComposerCancel\";\nexport { ComposerPrimitiveAddAttachment as AddAttachment } from \"./ComposerAddAttachment\";\nexport { ComposerPrimitiveAttachments as Attachments } from \"./ComposerAttachments\";\nexport { ComposerPrimitiveIf as If } from \"./ComposerIf\";\n"],"mappings":"AAAA,SAAkC,6BAAY;AAC9C,SAAmC,8BAAa;AAChD,SAAkC,6BAAY;AAC9C,SAAoC,+BAAc;AAClD,SAA2C,sCAAqB;AAChE,SAAyC,oCAAmB;AAC5D,SAAgC,2BAAU;","names":[]}
|
1
|
+
{"version":3,"sources":["../../../src/primitives/composer/index.ts"],"sourcesContent":["export { ComposerPrimitiveRoot as Root } from \"./ComposerRoot\";\nexport { ComposerPrimitiveInput as Input } from \"./ComposerInput\";\nexport { ComposerPrimitiveSend as Send } from \"./ComposerSend\";\nexport { ComposerPrimitiveCancel as Cancel } from \"./ComposerCancel\";\nexport { ComposerPrimitiveAddAttachment as AddAttachment } from \"./ComposerAddAttachment\";\nexport { ComposerPrimitiveAttachments as Attachments } from \"./ComposerAttachments\";\nexport { ComposerPrimitiveIf as If } from \"./ComposerIf\";\n"],"mappings":";AAAA,SAAkC,6BAAY;AAC9C,SAAmC,8BAAa;AAChD,SAAkC,6BAAY;AAC9C,SAAoC,+BAAc;AAClD,SAA2C,sCAAqB;AAChE,SAAyC,oCAAmB;AAC5D,SAAgC,2BAAU;","names":[]}
|
@@ -1,9 +1,11 @@
|
|
1
1
|
"use client";
|
2
|
-
|
2
|
+
|
3
|
+
// src/primitives/contentPart/ContentPartImage.tsx
|
3
4
|
import { Primitive } from "@radix-ui/react-primitive";
|
4
5
|
import { forwardRef } from "react";
|
5
|
-
import { useContentPartImage } from "./useContentPartImage";
|
6
|
-
|
6
|
+
import { useContentPartImage } from "./useContentPartImage.js";
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
8
|
+
var ContentPartPrimitiveImage = forwardRef((props, forwardedRef) => {
|
7
9
|
const { image } = useContentPartImage();
|
8
10
|
return /* @__PURE__ */ jsx(Primitive.img, { src: image, ...props, ref: forwardedRef });
|
9
11
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/contentPart/ContentPartImage.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ComponentRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { useContentPartImage } from \"./useContentPartImage\";\n\nexport namespace ContentPartPrimitiveImage {\n export type Element = ComponentRef<typeof Primitive.img>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.img>;\n}\n\nexport const ContentPartPrimitiveImage = forwardRef<\n ContentPartPrimitiveImage.Element,\n ContentPartPrimitiveImage.Props\n>((props, forwardedRef) => {\n const { image } = useContentPartImage();\n return <Primitive.img src={image} {...props} ref={forwardedRef} />;\n});\n\nContentPartPrimitiveImage.displayName = \"ContentPartPrimitive.Image\";\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/contentPart/ContentPartImage.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { type ComponentRef, forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { useContentPartImage } from \"./useContentPartImage\";\n\nexport namespace ContentPartPrimitiveImage {\n export type Element = ComponentRef<typeof Primitive.img>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.img>;\n}\n\nexport const ContentPartPrimitiveImage = forwardRef<\n ContentPartPrimitiveImage.Element,\n ContentPartPrimitiveImage.Props\n>((props, forwardedRef) => {\n const { image } = useContentPartImage();\n return <Primitive.img src={image} {...props} ref={forwardedRef} />;\n});\n\nContentPartPrimitiveImage.displayName = \"ContentPartPrimitive.Image\";\n"],"mappings":";;;AAEA,SAAS,iBAAiB;AAC1B,SAA4B,kBAA4C;AACxE,SAAS,2BAA2B;AAY3B;AALF,IAAM,4BAA4B,WAGvC,CAAC,OAAO,iBAAiB;AACzB,QAAM,EAAE,MAAM,IAAI,oBAAoB;AACtC,SAAO,oBAAC,UAAU,KAAV,EAAc,KAAK,OAAQ,GAAG,OAAO,KAAK,cAAc;AAClE,CAAC;AAED,0BAA0B,cAAc;","names":[]}
|
@@ -1,6 +1,8 @@
|
|
1
1
|
"use client";
|
2
|
-
|
3
|
-
|
2
|
+
|
3
|
+
// src/primitives/contentPart/ContentPartInProgress.tsx
|
4
|
+
import { useContentPart } from "../../context/index.js";
|
5
|
+
var ContentPartPrimitiveInProgress = ({ children }) => {
|
4
6
|
const isInProgress = useContentPart((c) => c.status.type === "running");
|
5
7
|
return isInProgress ? children : null;
|
6
8
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/contentPart/ContentPartInProgress.tsx"],"sourcesContent":["\"use client\";\n\nimport { FC, PropsWithChildren } from \"react\";\nimport { useContentPart } from \"../../context\";\n\nexport namespace ContentPartPrimitiveInProgress {\n export type Props = PropsWithChildren;\n}\n\n// TODO should this be renamed to IsRunning?\nexport const ContentPartPrimitiveInProgress: FC<\n ContentPartPrimitiveInProgress.Props\n> = ({ children }) => {\n const isInProgress = useContentPart((c) => c.status.type === \"running\");\n\n return isInProgress ? children : null;\n};\n\nContentPartPrimitiveInProgress.displayName = \"ContentPartPrimitive.InProgress\";\n"],"mappings":"
|
1
|
+
{"version":3,"sources":["../../../src/primitives/contentPart/ContentPartInProgress.tsx"],"sourcesContent":["\"use client\";\n\nimport { FC, PropsWithChildren } from \"react\";\nimport { useContentPart } from \"../../context\";\n\nexport namespace ContentPartPrimitiveInProgress {\n export type Props = PropsWithChildren;\n}\n\n// TODO should this be renamed to IsRunning?\nexport const ContentPartPrimitiveInProgress: FC<\n ContentPartPrimitiveInProgress.Props\n> = ({ children }) => {\n const isInProgress = useContentPart((c) => c.status.type === \"running\");\n\n return isInProgress ? children : null;\n};\n\nContentPartPrimitiveInProgress.displayName = \"ContentPartPrimitive.InProgress\";\n"],"mappings":";;;AAGA,SAAS,sBAAsB;AAOxB,IAAM,iCAET,CAAC,EAAE,SAAS,MAAM;AACpB,QAAM,eAAe,eAAe,CAAC,MAAM,EAAE,OAAO,SAAS,SAAS;AAEtE,SAAO,eAAe,WAAW;AACnC;AAEA,+BAA+B,cAAc;","names":[]}
|
@@ -1,11 +1,13 @@
|
|
1
1
|
"use client";
|
2
|
-
|
2
|
+
|
3
|
+
// src/primitives/contentPart/ContentPartText.tsx
|
3
4
|
import {
|
4
5
|
forwardRef
|
5
6
|
} from "react";
|
6
|
-
import { useContentPartText } from "./useContentPartText";
|
7
|
-
import { useSmooth } from "../../utils/smooth/useSmooth";
|
8
|
-
|
7
|
+
import { useContentPartText } from "./useContentPartText.js";
|
8
|
+
import { useSmooth } from "../../utils/smooth/useSmooth.js";
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
10
|
+
var ContentPartPrimitiveText = forwardRef(({ smooth = true, component: Component = "span", ...rest }, forwardedRef) => {
|
9
11
|
const { text, status } = useSmooth(useContentPartText(), smooth);
|
10
12
|
return /* @__PURE__ */ jsx(Component, { "data-status": status.type, ...rest, ref: forwardedRef, children: text });
|
11
13
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/contentPart/ContentPartText.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport {\n type ComponentRef,\n forwardRef,\n ComponentPropsWithoutRef,\n ElementType,\n} from \"react\";\nimport { useContentPartText } from \"./useContentPartText\";\nimport { useSmooth } from \"../../utils/smooth/useSmooth\";\n\nexport namespace ContentPartPrimitiveText {\n export type Element = ComponentRef<typeof Primitive.span>;\n export type Props = Omit<\n ComponentPropsWithoutRef<typeof Primitive.span>,\n \"children\" | \"asChild\"\n > & {\n smooth?: boolean;\n component?: ElementType;\n };\n}\n\nexport const ContentPartPrimitiveText = forwardRef<\n ContentPartPrimitiveText.Element,\n ContentPartPrimitiveText.Props\n>(({ smooth = true, component: Component = \"span\", ...rest }, forwardedRef) => {\n const { text, status } = useSmooth(useContentPartText(), smooth);\n\n return (\n <Component data-status={status.type} {...rest} ref={forwardedRef}>\n {text}\n </Component>\n );\n});\n\nContentPartPrimitiveText.displayName = \"ContentPartPrimitive.Text\";\n"],"mappings":";
|
1
|
+
{"version":3,"sources":["../../../src/primitives/contentPart/ContentPartText.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport {\n type ComponentRef,\n forwardRef,\n ComponentPropsWithoutRef,\n ElementType,\n} from \"react\";\nimport { useContentPartText } from \"./useContentPartText\";\nimport { useSmooth } from \"../../utils/smooth/useSmooth\";\n\nexport namespace ContentPartPrimitiveText {\n export type Element = ComponentRef<typeof Primitive.span>;\n export type Props = Omit<\n ComponentPropsWithoutRef<typeof Primitive.span>,\n \"children\" | \"asChild\"\n > & {\n smooth?: boolean;\n component?: ElementType;\n };\n}\n\nexport const ContentPartPrimitiveText = forwardRef<\n ContentPartPrimitiveText.Element,\n ContentPartPrimitiveText.Props\n>(({ smooth = true, component: Component = \"span\", ...rest }, forwardedRef) => {\n const { text, status } = useSmooth(useContentPartText(), smooth);\n\n return (\n <Component data-status={status.type} {...rest} ref={forwardedRef}>\n {text}\n </Component>\n );\n});\n\nContentPartPrimitiveText.displayName = \"ContentPartPrimitive.Text\";\n"],"mappings":";;;AAGA;AAAA,EAEE;AAAA,OAGK;AACP,SAAS,0BAA0B;AACnC,SAAS,iBAAiB;AAoBtB;AAPG,IAAM,2BAA2B,WAGtC,CAAC,EAAE,SAAS,MAAM,WAAW,YAAY,QAAQ,GAAG,KAAK,GAAG,iBAAiB;AAC7E,QAAM,EAAE,MAAM,OAAO,IAAI,UAAU,mBAAmB,GAAG,MAAM;AAE/D,SACE,oBAAC,aAAU,eAAa,OAAO,MAAO,GAAG,MAAM,KAAK,cACjD,gBACH;AAEJ,CAAC;AAED,yBAAyB,cAAc;","names":[]}
|
@@ -1,6 +1,7 @@
|
|
1
|
-
|
2
|
-
import {
|
3
|
-
import {
|
1
|
+
// src/primitives/contentPart/index.ts
|
2
|
+
import { ContentPartPrimitiveText } from "./ContentPartText.js";
|
3
|
+
import { ContentPartPrimitiveImage } from "./ContentPartImage.js";
|
4
|
+
import { ContentPartPrimitiveInProgress } from "./ContentPartInProgress.js";
|
4
5
|
export {
|
5
6
|
ContentPartPrimitiveImage as Image,
|
6
7
|
ContentPartPrimitiveInProgress as InProgress,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/contentPart/index.ts"],"sourcesContent":["export { ContentPartPrimitiveText as Text } from \"./ContentPartText\";\nexport { ContentPartPrimitiveImage as Image } from \"./ContentPartImage\";\nexport { ContentPartPrimitiveInProgress as InProgress } from \"./ContentPartInProgress\";\n"],"mappings":"AAAA,SAAqC,gCAAY;AACjD,SAAsC,iCAAa;AACnD,SAA2C,sCAAkB;","names":[]}
|
1
|
+
{"version":3,"sources":["../../../src/primitives/contentPart/index.ts"],"sourcesContent":["export { ContentPartPrimitiveText as Text } from \"./ContentPartText\";\nexport { ContentPartPrimitiveImage as Image } from \"./ContentPartImage\";\nexport { ContentPartPrimitiveInProgress as InProgress } from \"./ContentPartInProgress\";\n"],"mappings":";AAAA,SAAqC,gCAAY;AACjD,SAAsC,iCAAa;AACnD,SAA2C,sCAAkB;","names":[]}
|