@assistant-ui/react 0.12.25 → 0.12.27
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/augmentations.d.ts.map +1 -1
- package/dist/client/InMemoryThreadList.d.ts.map +1 -1
- package/dist/client/InMemoryThreadList.js +1 -0
- package/dist/client/InMemoryThreadList.js.map +1 -1
- package/dist/client/SingleThreadList.d.ts.map +1 -1
- package/dist/client/SingleThreadList.js +1 -0
- package/dist/client/SingleThreadList.js.map +1 -1
- package/dist/context/providers/MessageProvider.d.ts +1 -1
- package/dist/context/providers/MessageProvider.d.ts.map +1 -1
- package/dist/context/react/ThreadViewportContext.d.ts +3 -3
- package/dist/context/react/ThreadViewportContext.d.ts.map +1 -1
- package/dist/context/react/utils/createContextHook.d.ts +1 -1
- package/dist/context/react/utils/createContextHook.d.ts.map +1 -1
- package/dist/context/react/utils/createContextHook.js.map +1 -1
- package/dist/context/react/utils/createContextStoreHook.d.ts +1 -1
- package/dist/context/react/utils/createContextStoreHook.d.ts.map +1 -1
- package/dist/context/react/utils/createStateHookForRuntime.d.ts +1 -1
- package/dist/context/react/utils/createStateHookForRuntime.d.ts.map +1 -1
- package/dist/context/react/utils/createStateHookForRuntime.js +1 -0
- package/dist/context/react/utils/createStateHookForRuntime.js.map +1 -1
- package/dist/devtools/DevToolsHooks.d.ts +1 -1
- package/dist/devtools/DevToolsHooks.d.ts.map +1 -1
- package/dist/devtools/DevToolsHooks.js +4 -0
- package/dist/devtools/DevToolsHooks.js.map +1 -1
- package/dist/index.d.ts +3 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -32
- package/dist/index.js.map +1 -1
- package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts +3 -3
- package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts.map +1 -1
- package/dist/legacy-runtime/AssistantRuntimeProvider.js.map +1 -1
- package/dist/legacy-runtime/cloud/auiV0.d.ts +3 -3
- package/dist/legacy-runtime/cloud/auiV0.d.ts.map +1 -1
- package/dist/legacy-runtime/cloud/auiV0.js.map +1 -1
- package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.d.ts +1 -1
- package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/AssistantContext.d.ts +1 -1
- package/dist/legacy-runtime/hooks/AssistantContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/AttachmentContext.d.ts +1 -1
- package/dist/legacy-runtime/hooks/AttachmentContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/ComposerContext.d.ts +1 -1
- package/dist/legacy-runtime/hooks/ComposerContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/MessageContext.d.ts +1 -1
- package/dist/legacy-runtime/hooks/MessageContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/MessagePartContext.d.ts +1 -1
- package/dist/legacy-runtime/hooks/MessagePartContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/ThreadContext.d.ts +1 -1
- package/dist/legacy-runtime/hooks/ThreadContext.d.ts.map +1 -1
- package/dist/legacy-runtime/hooks/ThreadListItemContext.d.ts +1 -1
- package/dist/legacy-runtime/hooks/ThreadListItemContext.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.d.ts +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts +2 -2
- package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts +3 -3
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js +14 -1
- package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js.map +1 -1
- package/dist/model-context/frame/useAssistantFrameHost.d.ts +1 -1
- package/dist/model-context/frame/useAssistantFrameHost.d.ts.map +1 -1
- package/dist/model-context/frame/useAssistantFrameHost.js.map +1 -1
- package/dist/model-context/makeAssistantVisible.d.ts +1 -1
- package/dist/model-context/makeAssistantVisible.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.d.ts +1 -1
- package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.d.ts +1 -1
- package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts +1 -1
- package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +1 -1
- package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts +1 -1
- package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.d.ts +1 -1
- package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts +1 -1
- package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +1 -1
- package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts +5 -2
- package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreContent.js +3 -2
- package/dist/primitives/actionBarMore/ActionBarMoreContent.js.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts +7 -4
- package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreItem.js +2 -2
- package/dist/primitives/actionBarMore/ActionBarMoreItem.js.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreRoot.js.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts +7 -4
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js +2 -2
- package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts +7 -4
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts.map +1 -1
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js +2 -2
- package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts +1 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.js +1 -1
- package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js +1 -1
- package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.d.ts +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.js +1 -1
- package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
- package/dist/primitives/attachment/AttachmentRemove.d.ts +1 -1
- package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.d.ts +1 -1
- package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentRoot.js +1 -1
- package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.d.ts +1 -1
- package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
- package/dist/primitives/attachment/AttachmentThumb.js +1 -1
- package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts +1 -1
- package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +1 -1
- package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.js +1 -1
- package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js +1 -1
- package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.d.ts +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts +1 -1
- package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerAttachmentDropzone.js +3 -2
- package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
- package/dist/primitives/composer/ComposerCancel.d.ts +1 -1
- package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerDictationTranscript.d.ts +1 -1
- package/dist/primitives/composer/ComposerDictationTranscript.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerDictationTranscript.js +1 -1
- package/dist/primitives/composer/ComposerDictationTranscript.js.map +1 -1
- package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInput.js +28 -0
- package/dist/primitives/composer/ComposerInput.js.map +1 -1
- package/dist/primitives/composer/ComposerInputPluginContext.d.ts +11 -3
- package/dist/primitives/composer/ComposerInputPluginContext.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerInputPluginContext.js +13 -9
- package/dist/primitives/composer/ComposerInputPluginContext.js.map +1 -1
- package/dist/primitives/composer/ComposerRoot.d.ts +1 -1
- package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts +1 -1
- package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopover.d.ts +60 -0
- package/dist/primitives/composer/trigger/TriggerPopover.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopover.js +108 -0
- package/dist/primitives/composer/trigger/TriggerPopover.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts +31 -0
- package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverAction.js +39 -0
- package/dist/primitives/composer/trigger/TriggerPopoverAction.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverBack.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverBack.js +3 -3
- package/dist/primitives/composer/trigger/TriggerPopoverBack.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.js +11 -9
- package/dist/primitives/composer/trigger/TriggerPopoverCategories.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts +28 -0
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.js +37 -0
- package/dist/primitives/composer/trigger/TriggerPopoverDirective.js.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverItems.js +9 -6
- package/dist/primitives/composer/trigger/TriggerPopoverItems.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts +16 -17
- package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverResource.js +53 -248
- package/dist/primitives/composer/trigger/TriggerPopoverResource.js.map +1 -1
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts +60 -0
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js +117 -0
- package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js.map +1 -0
- package/dist/primitives/composer/trigger/detectTrigger.js +1 -1
- package/dist/primitives/composer/trigger/detectTrigger.js.map +1 -1
- package/dist/primitives/composer/trigger/index.d.ts +16 -3
- package/dist/primitives/composer/trigger/index.d.ts.map +1 -1
- package/dist/primitives/composer/trigger/index.js +9 -2
- package/dist/primitives/composer/trigger/index.js.map +1 -1
- package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts +22 -0
- package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/triggerDetectionResource.js +17 -0
- package/dist/primitives/composer/trigger/triggerDetectionResource.js.map +1 -0
- package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts +45 -0
- package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/triggerKeyboardResource.js +94 -0
- package/dist/primitives/composer/trigger/triggerKeyboardResource.js.map +1 -0
- package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts +31 -0
- package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/triggerNavigationResource.js +94 -0
- package/dist/primitives/composer/trigger/triggerNavigationResource.js.map +1 -0
- package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts +42 -0
- package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts.map +1 -0
- package/dist/primitives/composer/trigger/triggerSelectionResource.js +62 -0
- package/dist/primitives/composer/trigger/triggerSelectionResource.js.map +1 -0
- package/dist/primitives/composer.d.ts +8 -13
- package/dist/primitives/composer.d.ts.map +1 -1
- package/dist/primitives/composer.js +7 -17
- package/dist/primitives/composer.js.map +1 -1
- package/dist/primitives/dropdownMenuRenderPrimitives.d.ts +14 -0
- package/dist/primitives/dropdownMenuRenderPrimitives.d.ts.map +1 -0
- package/dist/primitives/dropdownMenuRenderPrimitives.js +7 -0
- package/dist/primitives/dropdownMenuRenderPrimitives.js.map +1 -0
- package/dist/primitives/error/ErrorMessage.d.ts +1 -1
- package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
- package/dist/primitives/error/ErrorMessage.js +1 -1
- package/dist/primitives/error/ErrorMessage.js.map +1 -1
- package/dist/primitives/error/ErrorRoot.d.ts +1 -1
- package/dist/primitives/error/ErrorRoot.d.ts.map +1 -1
- package/dist/primitives/error/ErrorRoot.js +1 -1
- package/dist/primitives/error/ErrorRoot.js.map +1 -1
- package/dist/primitives/message/MessageError.d.ts +1 -1
- package/dist/primitives/message/MessageError.d.ts.map +1 -1
- package/dist/primitives/message/MessageIf.js +1 -1
- package/dist/primitives/message/MessageIf.js.map +1 -1
- package/dist/primitives/message/MessagePartsGrouped.d.ts +1 -1
- package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
- package/dist/primitives/message/MessageRoot.d.ts +1 -1
- package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
- package/dist/primitives/messagePart/MessagePartImage.d.ts +1 -1
- package/dist/primitives/messagePart/MessagePartImage.d.ts.map +1 -1
- package/dist/primitives/messagePart/MessagePartImage.js +2 -1
- package/dist/primitives/messagePart/MessagePartImage.js.map +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.d.ts +1 -1
- package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
- package/dist/primitives/messagePart/MessagePartText.d.ts +2 -2
- package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -1
- package/dist/primitives/queueItem/QueueItemRemove.d.ts +1 -1
- package/dist/primitives/queueItem/QueueItemRemove.d.ts.map +1 -1
- package/dist/primitives/queueItem/QueueItemSteer.d.ts +1 -1
- package/dist/primitives/queueItem/QueueItemSteer.d.ts.map +1 -1
- package/dist/primitives/suggestion/SuggestionDescription.d.ts +1 -1
- package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -1
- package/dist/primitives/suggestion/SuggestionDescription.js +1 -1
- package/dist/primitives/suggestion/SuggestionDescription.js.map +1 -1
- package/dist/primitives/suggestion/SuggestionTitle.d.ts +1 -1
- package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -1
- package/dist/primitives/suggestion/SuggestionTitle.js +1 -1
- package/dist/primitives/suggestion/SuggestionTitle.js.map +1 -1
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts +1 -1
- package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadRoot.d.ts +1 -1
- package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadRoot.js +1 -1
- package/dist/primitives/thread/ThreadRoot.js.map +1 -1
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts +1 -1
- package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts +1 -1
- package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadSuggestion.js +0 -2
- package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
- package/dist/primitives/thread/ThreadViewport.d.ts +1 -1
- package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
- package/dist/primitives/thread/ThreadViewportFooter.d.ts +1 -1
- package/dist/primitives/thread/ThreadViewportFooter.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListNew.d.ts +1 -1
- package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListRoot.d.ts +1 -1
- package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -1
- package/dist/primitives/threadList/ThreadListRoot.js +1 -1
- package/dist/primitives/threadList/ThreadListRoot.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +1 -1
- package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +1 -1
- package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.js +1 -1
- package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +1 -1
- package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +1 -1
- package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts +5 -2
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js +3 -2
- package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts +7 -4
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js +2 -2
- package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts +7 -4
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js +2 -2
- package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts +7 -4
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts.map +1 -1
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js +2 -2
- package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js.map +1 -1
- package/dist/unstable/useMentionAdapter.d.ts +80 -0
- package/dist/unstable/useMentionAdapter.d.ts.map +1 -0
- package/dist/unstable/useMentionAdapter.js +129 -0
- package/dist/unstable/useMentionAdapter.js.map +1 -0
- package/dist/unstable/useSlashCommandAdapter.d.ts +32 -17
- package/dist/unstable/useSlashCommandAdapter.d.ts.map +1 -1
- package/dist/unstable/useSlashCommandAdapter.js +56 -32
- package/dist/unstable/useSlashCommandAdapter.js.map +1 -1
- package/dist/utils/Primitive.d.ts +6 -4
- package/dist/utils/Primitive.d.ts.map +1 -1
- package/dist/utils/Primitive.js +15 -8
- package/dist/utils/Primitive.js.map +1 -1
- package/dist/utils/createActionButton.d.ts +1 -1
- package/dist/utils/createActionButton.d.ts.map +1 -1
- package/dist/utils/hooks/useManagedRef.d.ts +1 -1
- package/dist/utils/hooks/useManagedRef.d.ts.map +1 -1
- package/dist/utils/hooks/useManagedRef.js.map +1 -1
- package/dist/utils/json/is-json.d.ts +1 -1
- package/dist/utils/json/is-json.d.ts.map +1 -1
- package/dist/utils/smooth/SmoothContext.d.ts +2 -2
- package/dist/utils/smooth/SmoothContext.d.ts.map +1 -1
- package/dist/utils/smooth/SmoothContext.js.map +1 -1
- package/package.json +10 -10
- package/src/augmentations.ts +2 -0
- package/src/client/InMemoryThreadList.ts +1 -0
- package/src/client/SingleThreadList.ts +1 -0
- package/src/context/providers/MessageProvider.tsx +1 -1
- package/src/context/providers/ThreadViewportProvider.tsx +1 -1
- package/src/context/react/ThreadViewportContext.ts +3 -3
- package/src/context/react/utils/createContextHook.ts +1 -1
- package/src/context/react/utils/createContextStoreHook.ts +2 -2
- package/src/context/react/utils/createStateHookForRuntime.ts +2 -1
- package/src/devtools/DevToolsHooks.ts +5 -1
- package/src/index.ts +27 -56
- package/src/legacy-runtime/AssistantRuntimeProvider.tsx +3 -3
- package/src/legacy-runtime/cloud/auiV0.ts +6 -3
- package/src/legacy-runtime/cloud/useCloudThreadListRuntime.ts +1 -1
- package/src/legacy-runtime/hooks/AssistantContext.ts +1 -1
- package/src/legacy-runtime/hooks/AttachmentContext.ts +1 -1
- package/src/legacy-runtime/hooks/ComposerContext.ts +1 -1
- package/src/legacy-runtime/hooks/MessageContext.ts +1 -1
- package/src/legacy-runtime/hooks/MessagePartContext.ts +1 -1
- package/src/legacy-runtime/hooks/ThreadContext.ts +1 -1
- package/src/legacy-runtime/hooks/ThreadListItemContext.ts +1 -1
- package/src/legacy-runtime/runtime-cores/assistant-transport/commandQueue.ts +1 -1
- package/src/legacy-runtime/runtime-cores/assistant-transport/types.ts +2 -2
- package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.ts +20 -4
- package/src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.test.ts +8 -2
- package/src/model-context/frame/useAssistantFrameHost.ts +1 -1
- package/src/model-context/makeAssistantVisible.tsx +3 -3
- package/src/primitives/actionBar/ActionBarCopy.tsx +1 -1
- package/src/primitives/actionBar/ActionBarEdit.ts +2 -2
- package/src/primitives/actionBar/ActionBarExportMarkdown.tsx +1 -1
- package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +1 -1
- package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +1 -1
- package/src/primitives/actionBar/ActionBarReload.ts +2 -2
- package/src/primitives/actionBar/ActionBarRoot.tsx +1 -1
- package/src/primitives/actionBar/ActionBarSpeak.ts +2 -2
- package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +1 -1
- package/src/primitives/actionBarMore/ActionBarMoreContent.tsx +10 -4
- package/src/primitives/actionBarMore/ActionBarMoreItem.tsx +7 -7
- package/src/primitives/actionBarMore/ActionBarMoreRoot.tsx +2 -2
- package/src/primitives/actionBarMore/ActionBarMoreSeparator.tsx +7 -5
- package/src/primitives/actionBarMore/ActionBarMoreTrigger.tsx +7 -7
- package/src/primitives/assistantModal/AssistantModalAnchor.tsx +6 -2
- package/src/primitives/assistantModal/AssistantModalContent.tsx +6 -2
- package/src/primitives/assistantModal/AssistantModalRoot.tsx +2 -2
- package/src/primitives/assistantModal/AssistantModalTrigger.tsx +6 -2
- package/src/primitives/attachment/AttachmentRemove.ts +2 -2
- package/src/primitives/attachment/AttachmentRoot.tsx +5 -1
- package/src/primitives/attachment/AttachmentThumb.tsx +5 -1
- package/src/primitives/branchPicker/BranchPickerNext.ts +2 -2
- package/src/primitives/branchPicker/BranchPickerPrevious.ts +2 -2
- package/src/primitives/branchPicker/BranchPickerRoot.tsx +5 -1
- package/src/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.ts +2 -2
- package/src/primitives/chainOfThought/ChainOfThoughtRoot.tsx +5 -1
- package/src/primitives/composer/ComposerAddAttachment.ts +2 -2
- package/src/primitives/composer/ComposerAttachmentDropzone.test.tsx +125 -0
- package/src/primitives/composer/ComposerAttachmentDropzone.tsx +11 -8
- package/src/primitives/composer/ComposerCancel.ts +2 -2
- package/src/primitives/composer/ComposerDictationTranscript.tsx +5 -1
- package/src/primitives/composer/ComposerInput.tsx +33 -1
- package/src/primitives/composer/ComposerInputPluginContext.tsx +37 -24
- package/src/primitives/composer/ComposerRoot.tsx +1 -1
- package/src/primitives/composer/ComposerSend.ts +2 -2
- package/src/primitives/composer/trigger/TriggerPopover.tsx +207 -0
- package/src/primitives/composer/trigger/TriggerPopoverAction.tsx +61 -0
- package/src/primitives/composer/trigger/TriggerPopoverBack.tsx +4 -3
- package/src/primitives/composer/trigger/TriggerPopoverCategories.tsx +14 -17
- package/src/primitives/composer/trigger/TriggerPopoverDirective.tsx +57 -0
- package/src/primitives/composer/trigger/TriggerPopoverItems.tsx +44 -40
- package/src/primitives/composer/trigger/TriggerPopoverResource.ts +76 -315
- package/src/primitives/composer/trigger/TriggerPopoverRootContext.tsx +212 -0
- package/src/primitives/composer/trigger/detectTrigger.test.ts +36 -0
- package/src/primitives/composer/trigger/detectTrigger.ts +1 -1
- package/src/primitives/composer/trigger/index.ts +21 -5
- package/src/primitives/composer/trigger/triggerDetectionResource.ts +43 -0
- package/src/primitives/composer/trigger/triggerKeyboardResource.ts +151 -0
- package/src/primitives/composer/trigger/triggerNavigationResource.ts +145 -0
- package/src/primitives/composer/trigger/triggerSelectionResource.ts +122 -0
- package/src/primitives/composer.ts +8 -18
- package/src/primitives/dropdownMenuRenderPrimitives.test.tsx +64 -0
- package/src/primitives/dropdownMenuRenderPrimitives.ts +15 -0
- package/src/primitives/error/ErrorMessage.tsx +5 -1
- package/src/primitives/error/ErrorRoot.tsx +5 -1
- package/src/primitives/message/MessageError.ts +1 -1
- package/src/primitives/message/MessageIf.ts +1 -1
- package/src/primitives/message/MessagePartsGrouped.tsx +1 -1
- package/src/primitives/message/MessageRoot.tsx +1 -1
- package/src/primitives/messagePart/MessagePartImage.tsx +6 -1
- package/src/primitives/messagePart/MessagePartInProgress.ts +1 -1
- package/src/primitives/messagePart/MessagePartText.tsx +3 -3
- package/src/primitives/queueItem/QueueItemRemove.ts +2 -2
- package/src/primitives/queueItem/QueueItemSteer.ts +2 -2
- package/src/primitives/suggestion/SuggestionDescription.tsx +5 -1
- package/src/primitives/suggestion/SuggestionTitle.tsx +5 -1
- package/src/primitives/suggestion/SuggestionTrigger.ts +2 -2
- package/src/primitives/thread/ThreadRoot.tsx +5 -1
- package/src/primitives/thread/ThreadScrollToBottom.ts +2 -2
- package/src/primitives/thread/ThreadSuggestion.ts +2 -4
- package/src/primitives/thread/ThreadViewport.tsx +1 -1
- package/src/primitives/thread/ThreadViewportFooter.tsx +1 -1
- package/src/primitives/threadList/ThreadListNew.tsx +1 -1
- package/src/primitives/threadList/ThreadListRoot.tsx +5 -1
- package/src/primitives/threadListItem/ThreadListItemArchive.ts +2 -2
- package/src/primitives/threadListItem/ThreadListItemDelete.ts +2 -2
- package/src/primitives/threadListItem/ThreadListItemRoot.tsx +5 -1
- package/src/primitives/threadListItem/ThreadListItemTrigger.ts +2 -2
- package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +2 -2
- package/src/primitives/threadListItemMore/ThreadListItemMoreContent.tsx +10 -4
- package/src/primitives/threadListItemMore/ThreadListItemMoreItem.tsx +7 -7
- package/src/primitives/threadListItemMore/ThreadListItemMoreRoot.tsx +2 -2
- package/src/primitives/threadListItemMore/ThreadListItemMoreSeparator.tsx +7 -5
- package/src/primitives/threadListItemMore/ThreadListItemMoreTrigger.tsx +7 -7
- package/src/tests/BaseComposerRuntimeCore.test.ts +143 -0
- package/src/tests/DataRenderers.test.ts +174 -41
- package/src/tests/MessageParts.loading.test.tsx +104 -0
- package/src/tests/RemoteThreadListRuntime.deferredProvider.test.tsx +79 -0
- package/src/unstable/useMentionAdapter.ts +220 -0
- package/src/unstable/useSlashCommandAdapter.ts +79 -50
- package/src/utils/Primitive.test.tsx +7 -1
- package/src/utils/Primitive.tsx +49 -16
- package/src/utils/createActionButton.tsx +3 -3
- package/src/utils/hooks/useManagedRef.ts +2 -2
- package/src/utils/json/is-json.ts +1 -1
- package/src/utils/smooth/SmoothContext.tsx +5 -5
- package/dist/primitives/composer/mention/ComposerMentionContext.d.ts +0 -25
- package/dist/primitives/composer/mention/ComposerMentionContext.d.ts.map +0 -1
- package/dist/primitives/composer/mention/ComposerMentionContext.js +0 -74
- package/dist/primitives/composer/mention/ComposerMentionContext.js.map +0 -1
- package/dist/primitives/composer/mention/index.d.ts +0 -6
- package/dist/primitives/composer/mention/index.d.ts.map +0 -1
- package/dist/primitives/composer/mention/index.js +0 -8
- package/dist/primitives/composer/mention/index.js.map +0 -1
- package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.d.ts +0 -36
- package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.d.ts.map +0 -1
- package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.js +0 -36
- package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.js.map +0 -1
- package/dist/primitives/composer/slash-command/index.d.ts +0 -2
- package/dist/primitives/composer/slash-command/index.d.ts.map +0 -1
- package/dist/primitives/composer/slash-command/index.js +0 -2
- package/dist/primitives/composer/slash-command/index.js.map +0 -1
- package/dist/primitives/composer/trigger/TriggerPopoverContext.d.ts +0 -37
- package/dist/primitives/composer/trigger/TriggerPopoverContext.d.ts.map +0 -1
- package/dist/primitives/composer/trigger/TriggerPopoverContext.js +0 -70
- package/dist/primitives/composer/trigger/TriggerPopoverContext.js.map +0 -1
- package/dist/primitives/composer/trigger/TriggerPopoverPopover.d.ts +0 -26
- package/dist/primitives/composer/trigger/TriggerPopoverPopover.d.ts.map +0 -1
- package/dist/primitives/composer/trigger/TriggerPopoverPopover.js +0 -28
- package/dist/primitives/composer/trigger/TriggerPopoverPopover.js.map +0 -1
- package/dist/unstable/useToolMentionAdapter.d.ts +0 -42
- package/dist/unstable/useToolMentionAdapter.d.ts.map +0 -1
- package/dist/unstable/useToolMentionAdapter.js +0 -65
- package/dist/unstable/useToolMentionAdapter.js.map +0 -1
- package/src/primitives/composer/mention/ComposerMentionContext.tsx +0 -175
- package/src/primitives/composer/mention/index.ts +0 -19
- package/src/primitives/composer/slash-command/ComposerSlashCommandRoot.tsx +0 -76
- package/src/primitives/composer/slash-command/index.ts +0 -1
- package/src/primitives/composer/trigger/TriggerPopoverContext.tsx +0 -129
- package/src/primitives/composer/trigger/TriggerPopoverPopover.tsx +0 -51
- package/src/unstable/useToolMentionAdapter.ts +0 -114
|
@@ -1,83 +1,112 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { useMemo } from "react";
|
|
3
|
+
import { useMemo, useRef } from "react";
|
|
4
4
|
import type {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Unstable_TriggerCategory,
|
|
5
|
+
Unstable_TriggerAdapter,
|
|
6
|
+
Unstable_TriggerItem,
|
|
8
7
|
} from "@assistant-ui/core";
|
|
8
|
+
import type { Unstable_IconComponent } from "./useMentionAdapter";
|
|
9
9
|
|
|
10
|
-
export type
|
|
11
|
-
|
|
12
|
-
readonly name: string;
|
|
13
|
-
/** Display label (e.g. "/summarize"). */
|
|
10
|
+
export type Unstable_SlashCommand = {
|
|
11
|
+
readonly id: string;
|
|
14
12
|
readonly label?: string | undefined;
|
|
15
|
-
/** Short description shown in the popover. */
|
|
16
13
|
readonly description?: string | undefined;
|
|
17
|
-
/** Icon identifier. */
|
|
18
14
|
readonly icon?: string | undefined;
|
|
19
|
-
|
|
20
|
-
readonly execute?: (() => void) | undefined;
|
|
15
|
+
readonly execute: () => void;
|
|
21
16
|
};
|
|
22
17
|
|
|
23
18
|
export type Unstable_UseSlashCommandAdapterOptions = {
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
readonly commands: readonly Unstable_SlashCommand[];
|
|
20
|
+
/** Strip the trigger text from the composer after executing. @default false */
|
|
21
|
+
readonly removeOnExecute?: boolean | undefined;
|
|
22
|
+
/** Maps `metadata.icon` / `category.id` string keys to React components. */
|
|
23
|
+
readonly iconMap?: Record<string, Unstable_IconComponent>;
|
|
24
|
+
/** Fallback icon when no entry in `iconMap` matches. */
|
|
25
|
+
readonly fallbackIcon?: Unstable_IconComponent;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export type Unstable_SlashCommandAction = {
|
|
29
|
+
readonly onExecute: (item: Unstable_TriggerItem) => void;
|
|
30
|
+
readonly removeOnExecute?: boolean | undefined;
|
|
26
31
|
};
|
|
27
32
|
|
|
28
33
|
/**
|
|
29
|
-
* @deprecated
|
|
34
|
+
* @deprecated Under active development and may change without notice.
|
|
30
35
|
*
|
|
31
|
-
*
|
|
36
|
+
* Bundles slash command definitions (with inline `execute` callbacks) into
|
|
37
|
+
* `{adapter, action}` that plug directly into `ComposerTriggerPopover`.
|
|
38
|
+
* `execute` stays in the hook closure and is never attached to the returned
|
|
39
|
+
* `TriggerItem`, keeping items serializable.
|
|
32
40
|
*
|
|
33
41
|
* @example
|
|
34
42
|
* ```tsx
|
|
35
|
-
* const
|
|
43
|
+
* const slash = unstable_useSlashCommandAdapter({
|
|
36
44
|
* commands: [
|
|
37
|
-
* {
|
|
38
|
-
* {
|
|
45
|
+
* { id: "summarize", execute: () => runSummarize(), icon: "FileText" },
|
|
46
|
+
* { id: "translate", execute: () => runTranslate(), icon: "Languages" },
|
|
39
47
|
* ],
|
|
40
48
|
* });
|
|
49
|
+
*
|
|
50
|
+
* <ComposerTriggerPopover char="/" {...slash} />
|
|
41
51
|
* ```
|
|
42
52
|
*/
|
|
43
53
|
export function unstable_useSlashCommandAdapter(
|
|
44
54
|
options: Unstable_UseSlashCommandAdapterOptions,
|
|
45
|
-
):
|
|
46
|
-
|
|
55
|
+
): {
|
|
56
|
+
adapter: Unstable_TriggerAdapter;
|
|
57
|
+
action: Unstable_SlashCommandAction;
|
|
58
|
+
iconMap?: Record<string, Unstable_IconComponent>;
|
|
59
|
+
fallbackIcon?: Unstable_IconComponent;
|
|
60
|
+
} {
|
|
61
|
+
const { commands, removeOnExecute } = options;
|
|
47
62
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
commands.map((cmd) => ({
|
|
52
|
-
id: cmd.name,
|
|
53
|
-
type: "command",
|
|
54
|
-
label: cmd.label ?? `/${cmd.name}`,
|
|
55
|
-
description: cmd.description,
|
|
56
|
-
icon: cmd.icon,
|
|
57
|
-
execute: cmd.execute,
|
|
58
|
-
}));
|
|
63
|
+
// biome-ignore lint/correctness/useHookAtTopLevel: `unstable_` prefix not recognized as hook
|
|
64
|
+
const commandsRef = useRef(commands);
|
|
65
|
+
commandsRef.current = commands;
|
|
59
66
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
67
|
+
// biome-ignore lint/correctness/useHookAtTopLevel: `unstable_` prefix not recognized as hook
|
|
68
|
+
return useMemo(() => {
|
|
69
|
+
const adapter: Unstable_TriggerAdapter = {
|
|
70
|
+
categories: () => [],
|
|
71
|
+
categoryItems: () => [],
|
|
72
|
+
search: (query: string) => {
|
|
73
|
+
const lower = query.toLowerCase();
|
|
74
|
+
return commandsRef.current
|
|
75
|
+
.filter((c) => matchesQuery(c, lower))
|
|
76
|
+
.map(toItem);
|
|
64
77
|
},
|
|
78
|
+
};
|
|
65
79
|
|
|
66
|
-
|
|
67
|
-
|
|
80
|
+
const action: Unstable_SlashCommandAction = {
|
|
81
|
+
onExecute: (item) => {
|
|
82
|
+
commandsRef.current.find((c) => c.id === item.id)?.execute();
|
|
68
83
|
},
|
|
84
|
+
...(removeOnExecute !== undefined ? { removeOnExecute } : {}),
|
|
85
|
+
};
|
|
69
86
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
(item) =>
|
|
76
|
-
item.id.toLowerCase().includes(lower) ||
|
|
77
|
-
item.label.toLowerCase().includes(lower) ||
|
|
78
|
-
item.description?.toLowerCase().includes(lower),
|
|
79
|
-
);
|
|
80
|
-
},
|
|
87
|
+
return {
|
|
88
|
+
adapter,
|
|
89
|
+
action,
|
|
90
|
+
...(options.iconMap ? { iconMap: options.iconMap } : {}),
|
|
91
|
+
...(options.fallbackIcon ? { fallbackIcon: options.fallbackIcon } : {}),
|
|
81
92
|
};
|
|
82
|
-
}, [
|
|
93
|
+
}, [removeOnExecute, options.iconMap, options.fallbackIcon]);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function toItem(cmd: Unstable_SlashCommand): Unstable_TriggerItem {
|
|
97
|
+
return {
|
|
98
|
+
id: cmd.id,
|
|
99
|
+
type: "command",
|
|
100
|
+
label: cmd.label ?? `/${cmd.id}`,
|
|
101
|
+
...(cmd.description !== undefined ? { description: cmd.description } : {}),
|
|
102
|
+
...(cmd.icon !== undefined ? { metadata: { icon: cmd.icon } } : {}),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function matchesQuery(cmd: Unstable_SlashCommand, lower: string): boolean {
|
|
107
|
+
if (!lower) return true;
|
|
108
|
+
if (cmd.id.toLowerCase().includes(lower)) return true;
|
|
109
|
+
if (cmd.label?.toLowerCase().includes(lower)) return true;
|
|
110
|
+
if (cmd.description?.toLowerCase().includes(lower)) return true;
|
|
111
|
+
return false;
|
|
83
112
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
2
|
import { renderToStaticMarkup } from "react-dom/server";
|
|
3
|
-
import { Primitive } from "./Primitive";
|
|
3
|
+
import { Primitive, withRenderProp } from "./Primitive";
|
|
4
4
|
|
|
5
5
|
const ALL_NODES = [
|
|
6
6
|
"a",
|
|
@@ -70,6 +70,12 @@ describe("Primitive", () => {
|
|
|
70
70
|
});
|
|
71
71
|
|
|
72
72
|
describe("render prop edge cases", () => {
|
|
73
|
+
it("preserves a useful displayName on wrapped components", () => {
|
|
74
|
+
const Wrapped = withRenderProp(Primitive.div);
|
|
75
|
+
|
|
76
|
+
expect(Wrapped.displayName).toBe("Primitive.div");
|
|
77
|
+
});
|
|
78
|
+
|
|
73
79
|
it("uses render element's own children as fallback", () => {
|
|
74
80
|
const html = renderToStaticMarkup(
|
|
75
81
|
<Primitive.span render={<em>Fallback</em>} />,
|
package/src/utils/Primitive.tsx
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
type ComponentPropsWithoutRef,
|
|
3
3
|
type ComponentRef,
|
|
4
|
+
type ElementType,
|
|
4
5
|
type ForwardRefExoticComponent,
|
|
6
|
+
type PropsWithoutRef,
|
|
5
7
|
type ReactElement,
|
|
6
8
|
type ReactNode,
|
|
7
9
|
type RefAttributes,
|
|
@@ -43,43 +45,74 @@ const NODES = [
|
|
|
43
45
|
] as const;
|
|
44
46
|
type PrimitiveNode = (typeof NODES)[number];
|
|
45
47
|
|
|
46
|
-
type
|
|
48
|
+
type WithRenderPropProps<T extends ElementType> =
|
|
49
|
+
ComponentPropsWithoutRef<T> & {
|
|
50
|
+
render?: ReactElement | undefined;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
type PrimitiveProps<E extends PrimitiveNode> = WithRenderPropProps<
|
|
47
54
|
(typeof RadixPrimitive)[E]
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
55
|
+
>;
|
|
56
|
+
|
|
57
|
+
type WithRenderPropRuntimeProps<T extends ElementType> =
|
|
58
|
+
WithRenderPropProps<T> & {
|
|
59
|
+
asChild?: boolean | undefined;
|
|
60
|
+
children?: ReactNode | undefined;
|
|
61
|
+
};
|
|
51
62
|
|
|
52
63
|
type PrimitiveRef<E extends PrimitiveNode> = ComponentRef<
|
|
53
64
|
(typeof RadixPrimitive)[E]
|
|
54
65
|
>;
|
|
55
66
|
|
|
56
|
-
function
|
|
57
|
-
const
|
|
67
|
+
function withRenderProp<T extends ElementType>(Component: T) {
|
|
68
|
+
const Wrapped = forwardRef<ComponentRef<T>, WithRenderPropRuntimeProps<T>>(
|
|
69
|
+
(
|
|
70
|
+
{
|
|
71
|
+
render,
|
|
72
|
+
asChild,
|
|
73
|
+
children,
|
|
74
|
+
...rest
|
|
75
|
+
}: PropsWithoutRef<WithRenderPropRuntimeProps<T>>,
|
|
76
|
+
ref,
|
|
77
|
+
) => {
|
|
78
|
+
const Comp = Component as any;
|
|
58
79
|
|
|
59
|
-
const Component = forwardRef<PrimitiveRef<E>, PrimitiveProps<E>>(
|
|
60
|
-
({ render, asChild, children, ...props }, ref) => {
|
|
61
80
|
if (render && isValidElement(render)) {
|
|
62
|
-
// render={<Comp p />} + children
|
|
63
|
-
// → asChild + <Comp p>{children}</Comp>
|
|
64
81
|
const renderChildren =
|
|
65
82
|
children !== undefined
|
|
66
83
|
? children
|
|
67
84
|
: ((render.props as Record<string, unknown>).children as ReactNode);
|
|
85
|
+
|
|
68
86
|
return (
|
|
69
|
-
<
|
|
87
|
+
<Comp {...(rest as any)} asChild ref={ref}>
|
|
70
88
|
{cloneElement(render, undefined, renderChildren)}
|
|
71
|
-
</
|
|
89
|
+
</Comp>
|
|
72
90
|
);
|
|
73
91
|
}
|
|
74
92
|
|
|
75
93
|
return (
|
|
76
|
-
<
|
|
94
|
+
<Comp {...(rest as any)} asChild={asChild} ref={ref}>
|
|
77
95
|
{children}
|
|
78
|
-
</
|
|
96
|
+
</Comp>
|
|
79
97
|
);
|
|
80
98
|
},
|
|
81
99
|
);
|
|
82
100
|
|
|
101
|
+
const componentName =
|
|
102
|
+
typeof Component === "string"
|
|
103
|
+
? Component
|
|
104
|
+
: (Component.displayName ?? Component.name ?? "Component");
|
|
105
|
+
Wrapped.displayName = componentName;
|
|
106
|
+
|
|
107
|
+
return Wrapped as ForwardRefExoticComponent<
|
|
108
|
+
WithRenderPropProps<T> & RefAttributes<ComponentRef<T>>
|
|
109
|
+
>;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function createPrimitive<E extends PrimitiveNode>(node: E) {
|
|
113
|
+
const RadixComp = RadixPrimitive[node];
|
|
114
|
+
const Component = withRenderProp(RadixComp);
|
|
115
|
+
|
|
83
116
|
Component.displayName = `Primitive.${node}`;
|
|
84
117
|
return Component as ForwardRefExoticComponent<
|
|
85
118
|
PrimitiveProps<E> & RefAttributes<PrimitiveRef<E>>
|
|
@@ -96,5 +129,5 @@ const Primitive = NODES.reduce(
|
|
|
96
129
|
},
|
|
97
130
|
);
|
|
98
131
|
|
|
99
|
-
export { Primitive };
|
|
100
|
-
export type { PrimitiveProps };
|
|
132
|
+
export { Primitive, withRenderProp };
|
|
133
|
+
export type { PrimitiveProps, WithRenderPropProps };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
|
-
ComponentRef,
|
|
2
|
+
type ComponentRef,
|
|
3
3
|
forwardRef,
|
|
4
|
-
ComponentPropsWithoutRef,
|
|
5
|
-
MouseEventHandler,
|
|
4
|
+
type ComponentPropsWithoutRef,
|
|
5
|
+
type MouseEventHandler,
|
|
6
6
|
} from "react";
|
|
7
7
|
import { Primitive } from "./Primitive";
|
|
8
8
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useCallback, useRef } from "react";
|
|
2
2
|
|
|
3
3
|
export const useManagedRef = <TNode>(
|
|
4
|
-
callback: (node: TNode) => (() => void) |
|
|
4
|
+
callback: (node: TNode) => (() => void) | undefined,
|
|
5
5
|
) => {
|
|
6
|
-
const cleanupRef = useRef<(() => void) |
|
|
6
|
+
const cleanupRef = useRef<(() => void) | undefined>(undefined);
|
|
7
7
|
|
|
8
8
|
const ref = useCallback(
|
|
9
9
|
(el: TNode | null) => {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
ComponentType,
|
|
4
|
+
type ComponentType,
|
|
5
5
|
createContext,
|
|
6
|
-
FC,
|
|
6
|
+
type FC,
|
|
7
7
|
forwardRef,
|
|
8
|
-
PropsWithChildren,
|
|
8
|
+
type PropsWithChildren,
|
|
9
9
|
useContext,
|
|
10
10
|
useState,
|
|
11
11
|
} from "react";
|
|
12
|
-
import { ReadonlyStore } from "../../context/ReadonlyStore";
|
|
13
|
-
import { create, UseBoundStore } from "zustand";
|
|
12
|
+
import type { ReadonlyStore } from "../../context/ReadonlyStore";
|
|
13
|
+
import { create, type UseBoundStore } from "zustand";
|
|
14
14
|
import type {
|
|
15
15
|
MessagePartStatus,
|
|
16
16
|
ToolCallMessagePartStatus,
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { type ReactNode, type FC } from "react";
|
|
2
|
-
import type { Unstable_MentionAdapter, Unstable_DirectiveFormatter } from "@assistant-ui/core";
|
|
3
|
-
import type { TriggerPopoverResourceOutput, SelectItemOverride } from "../trigger/TriggerPopoverResource.js";
|
|
4
|
-
type MentionResourceOutput = TriggerPopoverResourceOutput & {
|
|
5
|
-
readonly formatter: Unstable_DirectiveFormatter;
|
|
6
|
-
};
|
|
7
|
-
export declare const useMentionContext: () => MentionResourceOutput;
|
|
8
|
-
export declare const useMentionContextOptional: () => MentionResourceOutput | null;
|
|
9
|
-
type MentionInternalContextValue = {
|
|
10
|
-
registerSelectItemOverride(fn: SelectItemOverride): () => void;
|
|
11
|
-
};
|
|
12
|
-
export declare const useMentionInternalContext: () => MentionInternalContextValue | null;
|
|
13
|
-
export declare namespace ComposerPrimitiveMentionRoot {
|
|
14
|
-
type Props = {
|
|
15
|
-
children: ReactNode;
|
|
16
|
-
adapter?: Unstable_MentionAdapter | undefined;
|
|
17
|
-
/** Character(s) that trigger the mention popover. @default "@" */
|
|
18
|
-
trigger?: string | undefined;
|
|
19
|
-
/** Custom formatter for serializing/parsing mention directives. */
|
|
20
|
-
formatter?: Unstable_DirectiveFormatter | undefined;
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
export declare const ComposerPrimitiveMentionRoot: FC<ComposerPrimitiveMentionRoot.Props>;
|
|
24
|
-
export {};
|
|
25
|
-
//# sourceMappingURL=ComposerMentionContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerMentionContext.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/mention/ComposerMentionContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EACV,4BAA4B,EAC5B,kBAAkB,EAEnB,6CAA0C;AAE3C,KAAK,qBAAqB,GAAG,4BAA4B,GAAG;IAC1D,QAAQ,CAAC,SAAS,EAAE,2BAA2B,CAAC;CACjD,CAAC;AAQF,eAAO,MAAM,iBAAiB,6BAO7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,oCAErC,CAAC;AAMF,KAAK,2BAA2B,GAAG;IACjC,0BAA0B,CAAC,EAAE,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAAC;CAChE,CAAC;AAKF,eAAO,MAAM,yBAAyB,0CAErC,CAAC;AAMF,yBAAiB,4BAA4B,CAAC;IAC5C,KAAY,KAAK,GAAG;QAClB,QAAQ,EAAE,SAAS,CAAC;QACpB,OAAO,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;QAC9C,kEAAkE;QAClE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,mEAAmE;QACnE,SAAS,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;KACrD,CAAC;CACH;AAED,eAAO,MAAM,4BAA4B,EAAE,EAAE,CAC3C,4BAA4B,CAAC,KAAK,CA4DnC,CAAC"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { createContext, useContext, useState, useCallback, useMemo, useEffect, } from "react";
|
|
4
|
-
import { useAui } from "@assistant-ui/store";
|
|
5
|
-
import { unstable_defaultDirectiveFormatter } from "@assistant-ui/core";
|
|
6
|
-
import { ComposerPrimitiveTriggerPopoverRoot } from "../trigger/TriggerPopoverContext.js";
|
|
7
|
-
// =============================================================================
|
|
8
|
-
// Context — public (provides formatter on top of TriggerPopoverContext)
|
|
9
|
-
// =============================================================================
|
|
10
|
-
const MentionContext = createContext(null);
|
|
11
|
-
export const useMentionContext = () => {
|
|
12
|
-
const ctx = useContext(MentionContext);
|
|
13
|
-
if (!ctx)
|
|
14
|
-
throw new Error("useMentionContext must be used within ComposerPrimitive.MentionRoot");
|
|
15
|
-
return ctx;
|
|
16
|
-
};
|
|
17
|
-
export const useMentionContextOptional = () => {
|
|
18
|
-
return useContext(MentionContext);
|
|
19
|
-
};
|
|
20
|
-
const MentionInternalContext = createContext(null);
|
|
21
|
-
export const useMentionInternalContext = () => {
|
|
22
|
-
return useContext(MentionInternalContext);
|
|
23
|
-
};
|
|
24
|
-
export const ComposerPrimitiveMentionRoot = ({ children, adapter: adapterProp, trigger: triggerChar = "@", formatter: formatterProp, }) => {
|
|
25
|
-
const aui = useAui();
|
|
26
|
-
const formatter = formatterProp ?? unstable_defaultDirectiveFormatter;
|
|
27
|
-
// ---------------------------------------------------------------------------
|
|
28
|
-
// Runtime adapter (subscribe to state changes instead of useAuiState to avoid
|
|
29
|
-
// infinite loop — getModelContext() returns a new object on every call)
|
|
30
|
-
// ---------------------------------------------------------------------------
|
|
31
|
-
const getRuntimeAdapter = useCallback(() => {
|
|
32
|
-
try {
|
|
33
|
-
const runtime = aui.composer().__internal_getRuntime?.();
|
|
34
|
-
return runtime?._core?.getState()?.getMentionAdapter?.();
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
return undefined;
|
|
38
|
-
}
|
|
39
|
-
}, [aui]);
|
|
40
|
-
const [runtimeAdapter, setRuntimeAdapter] = useState(getRuntimeAdapter);
|
|
41
|
-
useEffect(() => {
|
|
42
|
-
return aui.subscribe(() => {
|
|
43
|
-
setRuntimeAdapter((prev) => {
|
|
44
|
-
const next = getRuntimeAdapter();
|
|
45
|
-
return prev === next ? prev : next;
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}, [aui, getRuntimeAdapter]);
|
|
49
|
-
const adapter = adapterProp ?? runtimeAdapter;
|
|
50
|
-
// ---------------------------------------------------------------------------
|
|
51
|
-
// onSelect behavior for mentions: insert directive text
|
|
52
|
-
// ---------------------------------------------------------------------------
|
|
53
|
-
const onSelect = useMemo(() => ({ type: "insertDirective", formatter }), [formatter]);
|
|
54
|
-
// ---------------------------------------------------------------------------
|
|
55
|
-
// MentionContext — provides formatter + delegates state to TriggerPopoverContext
|
|
56
|
-
// We use useAuiState to read trigger popover state via the inner context.
|
|
57
|
-
// For backward compat, MentionContext wraps TriggerPopoverContext output.
|
|
58
|
-
// ---------------------------------------------------------------------------
|
|
59
|
-
return (_jsx(ComposerPrimitiveTriggerPopoverRoot, { adapter: adapter, trigger: triggerChar, onSelect: onSelect, children: _jsx(MentionContextBridge, { formatter: formatter, children: children }) }));
|
|
60
|
-
};
|
|
61
|
-
ComposerPrimitiveMentionRoot.displayName = "ComposerPrimitive.MentionRoot";
|
|
62
|
-
// =============================================================================
|
|
63
|
-
// Bridge — reads TriggerPopoverContext, wraps it as MentionContext
|
|
64
|
-
// =============================================================================
|
|
65
|
-
import { useTriggerPopoverContext } from "../trigger/TriggerPopoverContext.js";
|
|
66
|
-
const MentionContextBridge = ({ formatter, children }) => {
|
|
67
|
-
const triggerCtx = useTriggerPopoverContext();
|
|
68
|
-
const mentionValue = useMemo(() => ({ ...triggerCtx, formatter }), [triggerCtx, formatter]);
|
|
69
|
-
const internalContextValue = useMemo(() => ({
|
|
70
|
-
registerSelectItemOverride: triggerCtx.registerSelectItemOverride,
|
|
71
|
-
}), [triggerCtx.registerSelectItemOverride]);
|
|
72
|
-
return (_jsx(MentionContext.Provider, { value: mentionValue, children: _jsx(MentionInternalContext.Provider, { value: internalContextValue, children: children }) }));
|
|
73
|
-
};
|
|
74
|
-
//# sourceMappingURL=ComposerMentionContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerMentionContext.js","sourceRoot":"","sources":["../../../../src/primitives/composer/mention/ComposerMentionContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { ComposerPrimitiveMentionRoot, useMentionContext, useMentionContextOptional, useMentionInternalContext, } from "./ComposerMentionContext.js";
|
|
2
|
-
export { ComposerPrimitiveTriggerPopoverPopover as ComposerPrimitiveMentionPopover } from "../trigger/TriggerPopoverPopover.js";
|
|
3
|
-
export { ComposerPrimitiveTriggerPopoverCategories as ComposerPrimitiveMentionCategories, ComposerPrimitiveTriggerPopoverCategoryItem as ComposerPrimitiveMentionCategoryItem, } from "../trigger/TriggerPopoverCategories.js";
|
|
4
|
-
export { ComposerPrimitiveTriggerPopoverItems as ComposerPrimitiveMentionItems, ComposerPrimitiveTriggerPopoverItem as ComposerPrimitiveMentionItem, } from "../trigger/TriggerPopoverItems.js";
|
|
5
|
-
export { ComposerPrimitiveTriggerPopoverBack as ComposerPrimitiveMentionBack } from "../trigger/TriggerPopoverBack.js";
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/mention/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,GAC1B,oCAAiC;AAIlC,OAAO,EAAE,sCAAsC,IAAI,+BAA+B,EAAE,4CAAyC;AAC7H,OAAO,EACL,yCAAyC,IAAI,kCAAkC,EAC/E,2CAA2C,IAAI,oCAAoC,GACpF,+CAA4C;AAC7C,OAAO,EACL,oCAAoC,IAAI,6BAA6B,EACrE,mCAAmC,IAAI,4BAA4B,GACpE,0CAAuC;AACxC,OAAO,EAAE,mCAAmC,IAAI,4BAA4B,EAAE,yCAAsC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { ComposerPrimitiveMentionRoot, useMentionContext, useMentionContextOptional, useMentionInternalContext, } from "./ComposerMentionContext.js";
|
|
2
|
-
// UI primitives — re-exported from the shared trigger popover implementation.
|
|
3
|
-
// MentionRoot internally renders TriggerPopoverRoot, so these work within it.
|
|
4
|
-
export { ComposerPrimitiveTriggerPopoverPopover as ComposerPrimitiveMentionPopover } from "../trigger/TriggerPopoverPopover.js";
|
|
5
|
-
export { ComposerPrimitiveTriggerPopoverCategories as ComposerPrimitiveMentionCategories, ComposerPrimitiveTriggerPopoverCategoryItem as ComposerPrimitiveMentionCategoryItem, } from "../trigger/TriggerPopoverCategories.js";
|
|
6
|
-
export { ComposerPrimitiveTriggerPopoverItems as ComposerPrimitiveMentionItems, ComposerPrimitiveTriggerPopoverItem as ComposerPrimitiveMentionItem, } from "../trigger/TriggerPopoverItems.js";
|
|
7
|
-
export { ComposerPrimitiveTriggerPopoverBack as ComposerPrimitiveMentionBack } from "../trigger/TriggerPopoverBack.js";
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/primitives/composer/mention/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,GAC1B,oCAAiC;AAElC,8EAA8E;AAC9E,8EAA8E;AAC9E,OAAO,EAAE,sCAAsC,IAAI,+BAA+B,EAAE,4CAAyC;AAC7H,OAAO,EACL,yCAAyC,IAAI,kCAAkC,EAC/E,2CAA2C,IAAI,oCAAoC,GACpF,+CAA4C;AAC7C,OAAO,EACL,oCAAoC,IAAI,6BAA6B,EACrE,mCAAmC,IAAI,4BAA4B,GACpE,0CAAuC;AACxC,OAAO,EAAE,mCAAmC,IAAI,4BAA4B,EAAE,yCAAsC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { type ReactNode, type FC } from "react";
|
|
2
|
-
import type { Unstable_SlashCommandAdapter, Unstable_SlashCommandItem } from "@assistant-ui/core";
|
|
3
|
-
export declare namespace ComposerPrimitiveSlashCommandRoot {
|
|
4
|
-
type Props = {
|
|
5
|
-
children: ReactNode;
|
|
6
|
-
/** The adapter providing slash command categories and items. */
|
|
7
|
-
adapter: Unstable_SlashCommandAdapter;
|
|
8
|
-
/** Character(s) that trigger the popover. @default "/" */
|
|
9
|
-
trigger?: string | undefined;
|
|
10
|
-
/** Callback when a slash command is selected. */
|
|
11
|
-
onSelect?: ((item: Unstable_SlashCommandItem) => void) | undefined;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Convenience wrapper around `TriggerPopoverRoot` pre-configured for `/` slash commands.
|
|
16
|
-
* When a user selects a command, the `/command` text is removed from the composer
|
|
17
|
-
* and the item's `execute` callback (if any) and `onSelect` prop are called.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```tsx
|
|
21
|
-
* <ComposerPrimitive.Unstable_SlashCommandRoot adapter={slashAdapter}>
|
|
22
|
-
* <ComposerPrimitive.Input />
|
|
23
|
-
* <ComposerPrimitive.Unstable_TriggerPopoverPopover>
|
|
24
|
-
* <ComposerPrimitive.Unstable_TriggerPopoverItems>
|
|
25
|
-
* {(items) => items.map(item => (
|
|
26
|
-
* <ComposerPrimitive.Unstable_TriggerPopoverItem key={item.id} item={item}>
|
|
27
|
-
* {item.label}
|
|
28
|
-
* </ComposerPrimitive.Unstable_TriggerPopoverItem>
|
|
29
|
-
* ))}
|
|
30
|
-
* </ComposerPrimitive.Unstable_TriggerPopoverItems>
|
|
31
|
-
* </ComposerPrimitive.Unstable_TriggerPopoverPopover>
|
|
32
|
-
* </ComposerPrimitive.Unstable_SlashCommandRoot>
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
export declare const ComposerPrimitiveSlashCommandRoot: FC<ComposerPrimitiveSlashCommandRoot.Props>;
|
|
36
|
-
//# sourceMappingURL=ComposerSlashCommandRoot.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerSlashCommandRoot.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/slash-command/ComposerSlashCommandRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,EAAE,EAAwB,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,EACV,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAQ5B,yBAAiB,iCAAiC,CAAC;IACjD,KAAY,KAAK,GAAG;QAClB,QAAQ,EAAE,SAAS,CAAC;QACpB,gEAAgE;QAChE,OAAO,EAAE,4BAA4B,CAAC;QACtC,0DAA0D;QAC1D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,iDAAiD;QACjD,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,yBAAyB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;KACpE,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iCAAiC,EAAE,EAAE,CAChD,iCAAiC,CAAC,KAAK,CAwBxC,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useCallback, useMemo } from "react";
|
|
4
|
-
import { ComposerPrimitiveTriggerPopoverRoot } from "../trigger/TriggerPopoverContext.js";
|
|
5
|
-
/**
|
|
6
|
-
* Convenience wrapper around `TriggerPopoverRoot` pre-configured for `/` slash commands.
|
|
7
|
-
* When a user selects a command, the `/command` text is removed from the composer
|
|
8
|
-
* and the item's `execute` callback (if any) and `onSelect` prop are called.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```tsx
|
|
12
|
-
* <ComposerPrimitive.Unstable_SlashCommandRoot adapter={slashAdapter}>
|
|
13
|
-
* <ComposerPrimitive.Input />
|
|
14
|
-
* <ComposerPrimitive.Unstable_TriggerPopoverPopover>
|
|
15
|
-
* <ComposerPrimitive.Unstable_TriggerPopoverItems>
|
|
16
|
-
* {(items) => items.map(item => (
|
|
17
|
-
* <ComposerPrimitive.Unstable_TriggerPopoverItem key={item.id} item={item}>
|
|
18
|
-
* {item.label}
|
|
19
|
-
* </ComposerPrimitive.Unstable_TriggerPopoverItem>
|
|
20
|
-
* ))}
|
|
21
|
-
* </ComposerPrimitive.Unstable_TriggerPopoverItems>
|
|
22
|
-
* </ComposerPrimitive.Unstable_TriggerPopoverPopover>
|
|
23
|
-
* </ComposerPrimitive.Unstable_SlashCommandRoot>
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export const ComposerPrimitiveSlashCommandRoot = ({ children, adapter, trigger = "/", onSelect: onSelectProp }) => {
|
|
27
|
-
const handler = useCallback((item) => {
|
|
28
|
-
item.execute?.();
|
|
29
|
-
onSelectProp?.(item);
|
|
30
|
-
}, [onSelectProp]);
|
|
31
|
-
const onSelect = useMemo(() => ({ type: "action", handler }), [handler]);
|
|
32
|
-
return (_jsx(ComposerPrimitiveTriggerPopoverRoot, { adapter: adapter, trigger: trigger, onSelect: onSelect, children: children }));
|
|
33
|
-
};
|
|
34
|
-
ComposerPrimitiveSlashCommandRoot.displayName =
|
|
35
|
-
"ComposerPrimitive.SlashCommandRoot";
|
|
36
|
-
//# sourceMappingURL=ComposerSlashCommandRoot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerSlashCommandRoot.js","sourceRoot":"","sources":["../../../../src/primitives/composer/slash-command/ComposerSlashCommandRoot.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAA2B,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAKtE,OAAO,EAAE,mCAAmC,EAAE,4CAAyC;AAmBvF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAE1C,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;IACnE,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,IAA+B,EAAE,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACnC,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,CACL,KAAC,mCAAmC,IAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,YAEjB,QAAQ,GAC2B,CACvC,CAAC;AACJ,CAAC,CAAC;AAEF,iCAAiC,CAAC,WAAW;IAC3C,oCAAoC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/slash-command/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,sCAAmC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/primitives/composer/slash-command/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,sCAAmC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { type ReactNode, type FC } from "react";
|
|
2
|
-
import type { Unstable_TriggerAdapter } from "@assistant-ui/core";
|
|
3
|
-
import { type TriggerPopoverResourceOutput, type OnSelectBehavior } from "./TriggerPopoverResource.js";
|
|
4
|
-
export declare const useTriggerPopoverContext: () => TriggerPopoverResourceOutput;
|
|
5
|
-
export declare const useTriggerPopoverContextOptional: () => TriggerPopoverResourceOutput | null;
|
|
6
|
-
export declare namespace ComposerPrimitiveTriggerPopoverRoot {
|
|
7
|
-
type Props = {
|
|
8
|
-
children: ReactNode;
|
|
9
|
-
/** The adapter providing categories and items. */
|
|
10
|
-
adapter: Unstable_TriggerAdapter;
|
|
11
|
-
/** Character(s) that trigger the popover. @default "@" */
|
|
12
|
-
trigger?: string | undefined;
|
|
13
|
-
/** What happens when an item is selected. */
|
|
14
|
-
onSelect: OnSelectBehavior;
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Provider that wraps the composer with trigger detection, keyboard navigation,
|
|
19
|
-
* and popover state. Supports any trigger character (`@`, `/`, `:`, etc.).
|
|
20
|
-
* Multiple trigger roots can coexist around the same input.
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* ```tsx
|
|
24
|
-
* <ComposerPrimitive.Unstable_TriggerPopoverRoot
|
|
25
|
-
* trigger="/"
|
|
26
|
-
* adapter={slashAdapter}
|
|
27
|
-
* onSelect={{ type: "action", handler: (item) => console.log(item) }}
|
|
28
|
-
* >
|
|
29
|
-
* <ComposerPrimitive.Input />
|
|
30
|
-
* <ComposerPrimitive.Unstable_TriggerPopoverPopover>
|
|
31
|
-
* ...
|
|
32
|
-
* </ComposerPrimitive.Unstable_TriggerPopoverPopover>
|
|
33
|
-
* </ComposerPrimitive.Unstable_TriggerPopoverRoot>
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export declare const ComposerPrimitiveTriggerPopoverRoot: FC<ComposerPrimitiveTriggerPopoverRoot.Props>;
|
|
37
|
-
//# sourceMappingURL=TriggerPopoverContext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverContext.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,EACtB,oCAAiC;AAalC,eAAO,MAAM,wBAAwB,oCAOpC,CAAC;AAEF,eAAO,MAAM,gCAAgC,2CAE5C,CAAC;AAMF,yBAAiB,mCAAmC,CAAC;IACnD,KAAY,KAAK,GAAG;QAClB,QAAQ,EAAE,SAAS,CAAC;QACpB,kDAAkD;QAClD,OAAO,EAAE,uBAAuB,CAAC;QACjC,0DAA0D;QAC1D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,6CAA6C;QAC7C,QAAQ,EAAE,gBAAgB,CAAC;KAC5B,CAAC;CACH;AAmCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mCAAmC,EAAE,EAAE,CAClD,mCAAmC,CAAC,KAAK,CAa1C,CAAC"}
|