@assistant-ui/react 0.12.24 → 0.12.26
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/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 +13 -13
- 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/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/DataRenderers.test.ts +174 -41
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerInputPluginContext.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerInputPluginContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EACL,aAAa,EACb,UAAU,EACV,MAAM,EACN,WAAW,EACX,OAAO,GAGR,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ComposerInputPluginContext.js","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerInputPluginContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EACL,aAAa,EACb,UAAU,EACV,MAAM,EACN,WAAW,EACX,OAAO,GAGR,MAAM,OAAO,CAAC;AAwCf,MAAM,kCAAkC,GACtC,aAAa,CAAqC,IAAI,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,8BAA8B,GACzC,GAAgC,EAAE;IAChC,MAAM,GAAG,GAAG,UAAU,CAAC,kCAAkC,CAAC,CAAC;IAC3D,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;IACJ,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,sCAAsC,GACjD,GAAuC,EAAE;IACvC,OAAO,UAAU,CAAC,kCAAkC,CAAC,CAAC;AACxD,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,2BAA2B,GAAgC,CAAC,EACvE,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,MAAM,CAAmC,IAAI,GAAG,EAAE,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,MAAM,CAAiC,EAAE,CAAC,CAAC;IAE/D,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,4EAA4E;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,WAAW,CAC1B,CACE,MAA2B,EAC3B,IAAyC,EACzC,EAAE;QACF,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,CAAC,CAAC;QACrC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzC,eAAe,EAAE,CAAC;QAClB,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,GAAmC,EAAE,CAAC,WAAW,CAAC,OAAO,EACzD,EAAE,CACH,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAChC,CAAC,QAAQ,EAAE,UAAU,CAAC,CACvB,CAAC;IAEF,OAAO,CACL,KAAC,kCAAkC,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YACzD,QAAQ,GACmC,CAC/C,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Primitive } from "../../utils/Primitive.js";
|
|
2
|
-
import { type ComponentRef, ComponentPropsWithoutRef } from "react";
|
|
2
|
+
import { type ComponentRef, type ComponentPropsWithoutRef } from "react";
|
|
3
3
|
export declare namespace ComposerPrimitiveRoot {
|
|
4
4
|
type Element = ComponentRef<typeof Primitive.form>;
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerRoot.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,iCAA8B;AAClD,OAAO,EACL,KAAK,YAAY,EAGjB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"ComposerRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerRoot.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,iCAA8B;AAClD,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,wBAAwB,EAC9B,MAAM,OAAO,CAAC;AAGf,yBAAiB,qBAAqB,CAAC;IACrC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1D;;;OAGG;IACH,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;CACrE;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB;;;;4GAoBhC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActionButtonElement, ActionButtonProps } from "../../utils/createActionButton.js";
|
|
1
|
+
import { type ActionButtonElement, type ActionButtonProps } from "../../utils/createActionButton.js";
|
|
2
2
|
export declare const useComposerSend: () => (() => void) | null;
|
|
3
3
|
export declare namespace ComposerPrimitiveSend {
|
|
4
4
|
type Element = ActionButtonElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComposerSend.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerSend.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"ComposerSend.d.ts","sourceRoot":"","sources":["../../../src/primitives/composer/ComposerSend.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EAEvB,0CAAuC;AAGxC,eAAO,MAAM,eAAe,2BAK3B,CAAC;AAEF,yBAAiB,qBAAqB,CAAC;IACrC,KAAY,OAAO,GAAG,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,KAAY,KAAK,GAAG,iBAAiB,CAAC,OAAO,eAAe,CAAC,CAAC;CAC/D;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB;;;;gHAGjC,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { Unstable_TriggerAdapter } from "@assistant-ui/core";
|
|
2
|
+
import { type ComponentPropsWithoutRef, type ComponentRef } from "react";
|
|
3
|
+
import { Primitive } from "../../../utils/Primitive.js";
|
|
4
|
+
import { type TriggerPopoverResourceOutput } from "./TriggerPopoverResource.js";
|
|
5
|
+
import type { TriggerBehavior } from "./triggerSelectionResource.js";
|
|
6
|
+
export declare const useTriggerPopoverScopeContext: () => TriggerPopoverResourceOutput;
|
|
7
|
+
export declare const useTriggerPopoverScopeContextOptional: () => TriggerPopoverResourceOutput | null;
|
|
8
|
+
/** Registration API exposed to behavior sub-primitives. */
|
|
9
|
+
export type TriggerBehaviorRegistration = {
|
|
10
|
+
register(behavior: TriggerBehavior): () => void;
|
|
11
|
+
};
|
|
12
|
+
/** Obtain the registration handle from the parent `<TriggerPopover>`. */
|
|
13
|
+
export declare const useTriggerBehaviorRegistration: () => TriggerBehaviorRegistration;
|
|
14
|
+
export declare namespace ComposerPrimitiveTriggerPopover {
|
|
15
|
+
type Element = ComponentRef<typeof Primitive.div>;
|
|
16
|
+
type Props = Omit<ComponentPropsWithoutRef<typeof Primitive.div>, "onSelect"> & {
|
|
17
|
+
/** The character(s) that activate this trigger (e.g. `"@"`, `"/"`). Also serves as the trigger identity within the root. */
|
|
18
|
+
readonly char: string;
|
|
19
|
+
/** Adapter providing categories and items. */
|
|
20
|
+
readonly adapter?: Unstable_TriggerAdapter | undefined;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Declares a trigger and renders its popover container. The popover only
|
|
25
|
+
* renders its DOM (and children) when the trigger character is active in the
|
|
26
|
+
* composer input and a behavior sub-primitive has been registered.
|
|
27
|
+
*
|
|
28
|
+
* A behavior is contributed by rendering exactly one of
|
|
29
|
+
* `<TriggerPopover.Directive>` or `<TriggerPopover.Action>` as a child. Without
|
|
30
|
+
* a behavior the trigger stays closed.
|
|
31
|
+
*
|
|
32
|
+
* Must be placed inside `ComposerPrimitive.Unstable_TriggerPopoverRoot`.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```tsx
|
|
36
|
+
* <ComposerPrimitive.Unstable_TriggerPopover
|
|
37
|
+
* char="@"
|
|
38
|
+
* adapter={mentionAdapter}
|
|
39
|
+
* >
|
|
40
|
+
* <ComposerPrimitive.Unstable_TriggerPopover.Directive formatter={formatter} />
|
|
41
|
+
* <ComposerPrimitive.Unstable_TriggerPopoverCategories>
|
|
42
|
+
* {(cats) => cats.map(...)}
|
|
43
|
+
* </ComposerPrimitive.Unstable_TriggerPopoverCategories>
|
|
44
|
+
* <ComposerPrimitive.Unstable_TriggerPopoverItems>
|
|
45
|
+
* {(items) => items.map(...)}
|
|
46
|
+
* </ComposerPrimitive.Unstable_TriggerPopoverItems>
|
|
47
|
+
* </ComposerPrimitive.Unstable_TriggerPopover>
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare const ComposerPrimitiveTriggerPopover: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
|
|
51
|
+
asChild?: boolean;
|
|
52
|
+
}, "ref"> & {
|
|
53
|
+
render?: import("react").ReactElement | undefined;
|
|
54
|
+
} & import("react").RefAttributes<HTMLDivElement>, "ref">, "onSelect"> & {
|
|
55
|
+
/** The character(s) that activate this trigger (e.g. `"@"`, `"/"`). Also serves as the trigger identity within the root. */
|
|
56
|
+
readonly char: string;
|
|
57
|
+
/** Adapter providing categories and items. */
|
|
58
|
+
readonly adapter?: Unstable_TriggerAdapter | undefined;
|
|
59
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
60
|
+
//# sourceMappingURL=TriggerPopover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TriggerPopover.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopover.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAUL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,oCAAiC;AAErD,OAAO,EAEL,KAAK,4BAA4B,EAClC,oCAAiC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,sCAAmC;AAMlE,eAAO,MAAM,6BAA6B,oCAOzC,CAAC;AAEF,eAAO,MAAM,qCAAqC,2CACV,CAAC;AAEzC,2DAA2D;AAC3D,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI,CAAC;CACjD,CAAC;AAKF,yEAAyE;AACzE,eAAO,MAAM,8BAA8B,mCAO1C,CAAC;AAEF,yBAAiB,+BAA+B,CAAC;IAC/C,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD,KAAY,KAAK,GAAG,IAAI,CACtB,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,EAC9C,UAAU,CACX,GAAG;QACF,4HAA4H;QAC5H,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,8CAA8C;QAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;KACxD,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,+BAA+B;;;;;IAlCxC,4HAA4H;mBAC7G,MAAM;IACrB,8CAA8C;uBAC3B,uBAAuB,GAAG,SAAS;kDAsIzD,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useAui, useAuiState } from "@assistant-ui/store";
|
|
4
|
+
import { useResource } from "@assistant-ui/tap/react";
|
|
5
|
+
import { createContext, forwardRef, useCallback, useContext, useEffect, useId, useMemo, useRef, useState, } from "react";
|
|
6
|
+
import { Primitive } from "../../../utils/Primitive.js";
|
|
7
|
+
import { useComposerInputPluginRegistryOptional } from "../ComposerInputPluginContext.js";
|
|
8
|
+
import { TriggerPopoverResource, } from "./TriggerPopoverResource.js";
|
|
9
|
+
import { useTriggerPopoverRootContext } from "./TriggerPopoverRootContext.js";
|
|
10
|
+
const TriggerPopoverScopeContext = createContext(null);
|
|
11
|
+
export const useTriggerPopoverScopeContext = () => {
|
|
12
|
+
const ctx = useContext(TriggerPopoverScopeContext);
|
|
13
|
+
if (!ctx)
|
|
14
|
+
throw new Error("useTriggerPopoverScopeContext must be used within ComposerPrimitive.TriggerPopover");
|
|
15
|
+
return ctx;
|
|
16
|
+
};
|
|
17
|
+
export const useTriggerPopoverScopeContextOptional = () => useContext(TriggerPopoverScopeContext);
|
|
18
|
+
const TriggerBehaviorRegistrationContext = createContext(null);
|
|
19
|
+
/** Obtain the registration handle from the parent `<TriggerPopover>`. */
|
|
20
|
+
export const useTriggerBehaviorRegistration = () => {
|
|
21
|
+
const ctx = useContext(TriggerBehaviorRegistrationContext);
|
|
22
|
+
if (!ctx)
|
|
23
|
+
throw new Error("TriggerPopover.Directive / TriggerPopover.Action must be rendered inside ComposerPrimitive.TriggerPopover");
|
|
24
|
+
return ctx;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Declares a trigger and renders its popover container. The popover only
|
|
28
|
+
* renders its DOM (and children) when the trigger character is active in the
|
|
29
|
+
* composer input and a behavior sub-primitive has been registered.
|
|
30
|
+
*
|
|
31
|
+
* A behavior is contributed by rendering exactly one of
|
|
32
|
+
* `<TriggerPopover.Directive>` or `<TriggerPopover.Action>` as a child. Without
|
|
33
|
+
* a behavior the trigger stays closed.
|
|
34
|
+
*
|
|
35
|
+
* Must be placed inside `ComposerPrimitive.Unstable_TriggerPopoverRoot`.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```tsx
|
|
39
|
+
* <ComposerPrimitive.Unstable_TriggerPopover
|
|
40
|
+
* char="@"
|
|
41
|
+
* adapter={mentionAdapter}
|
|
42
|
+
* >
|
|
43
|
+
* <ComposerPrimitive.Unstable_TriggerPopover.Directive formatter={formatter} />
|
|
44
|
+
* <ComposerPrimitive.Unstable_TriggerPopoverCategories>
|
|
45
|
+
* {(cats) => cats.map(...)}
|
|
46
|
+
* </ComposerPrimitive.Unstable_TriggerPopoverCategories>
|
|
47
|
+
* <ComposerPrimitive.Unstable_TriggerPopoverItems>
|
|
48
|
+
* {(items) => items.map(...)}
|
|
49
|
+
* </ComposerPrimitive.Unstable_TriggerPopoverItems>
|
|
50
|
+
* </ComposerPrimitive.Unstable_TriggerPopover>
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export const ComposerPrimitiveTriggerPopover = forwardRef(({ char, adapter, "aria-label": ariaLabel, children, ...props }, forwardedRef) => {
|
|
54
|
+
const aui = useAui();
|
|
55
|
+
const text = useAuiState((s) => s.composer.text);
|
|
56
|
+
const popoverId = useId();
|
|
57
|
+
// Track in state (for resource reactivity) + ref (dev warning on duplicate registrations).
|
|
58
|
+
const behaviorRef = useRef(null);
|
|
59
|
+
const [behavior, setBehavior] = useState(null);
|
|
60
|
+
const registrationCountRef = useRef(0);
|
|
61
|
+
const register = useCallback((next) => {
|
|
62
|
+
registrationCountRef.current += 1;
|
|
63
|
+
if (process.env.NODE_ENV !== "production" &&
|
|
64
|
+
registrationCountRef.current > 1) {
|
|
65
|
+
console.warn(`[assistant-ui] TriggerPopover "${char}" received more than one behavior child. Exactly one <TriggerPopover.Directive> or <TriggerPopover.Action> is allowed per TriggerPopover; the last registration wins.`);
|
|
66
|
+
}
|
|
67
|
+
behaviorRef.current = next;
|
|
68
|
+
setBehavior(next);
|
|
69
|
+
return () => {
|
|
70
|
+
registrationCountRef.current = Math.max(0, registrationCountRef.current - 1);
|
|
71
|
+
if (behaviorRef.current === next) {
|
|
72
|
+
behaviorRef.current = null;
|
|
73
|
+
setBehavior(null);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}, [char]);
|
|
77
|
+
const registration = useMemo(() => ({ register }), [register]);
|
|
78
|
+
const resource = useResource(TriggerPopoverResource({
|
|
79
|
+
adapter,
|
|
80
|
+
text,
|
|
81
|
+
triggerChar: char,
|
|
82
|
+
behavior: behavior ?? undefined,
|
|
83
|
+
aui,
|
|
84
|
+
popoverId,
|
|
85
|
+
}));
|
|
86
|
+
// Wrapper changes per render, but tap-stable methods inside don't.
|
|
87
|
+
const resourceRef = useRef(resource);
|
|
88
|
+
resourceRef.current = resource;
|
|
89
|
+
const root = useTriggerPopoverRootContext();
|
|
90
|
+
useEffect(() => {
|
|
91
|
+
return root.register({
|
|
92
|
+
char,
|
|
93
|
+
...(behavior ? { behavior } : {}),
|
|
94
|
+
resource: resourceRef.current,
|
|
95
|
+
});
|
|
96
|
+
}, [root, char, behavior]);
|
|
97
|
+
const pluginRegistry = useComposerInputPluginRegistryOptional();
|
|
98
|
+
useEffect(() => {
|
|
99
|
+
if (!pluginRegistry)
|
|
100
|
+
return undefined;
|
|
101
|
+
return pluginRegistry.register(resourceRef.current);
|
|
102
|
+
}, [pluginRegistry]);
|
|
103
|
+
const open = behavior !== null && resource.open;
|
|
104
|
+
return (_jsx(TriggerBehaviorRegistrationContext.Provider, { value: registration, children: _jsx(TriggerPopoverScopeContext.Provider, { value: resource, children: open ? (_jsx(Primitive.div, { role: "listbox", id: popoverId, "aria-label": ariaLabel ?? "Suggestions", "aria-activedescendant": resource.highlightedItemId, "data-state": "open", ...props, ref: forwardedRef, children: children })) : (children) }) }));
|
|
105
|
+
});
|
|
106
|
+
ComposerPrimitiveTriggerPopover.displayName =
|
|
107
|
+
"ComposerPrimitive.TriggerPopover";
|
|
108
|
+
//# sourceMappingURL=TriggerPopover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TriggerPopover.js","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Unstable_DirectiveFormatter, Unstable_TriggerItem } from "@assistant-ui/core";
|
|
2
|
+
import { type FC } from "react";
|
|
3
|
+
export declare namespace ComposerPrimitiveTriggerPopoverAction {
|
|
4
|
+
type Props = {
|
|
5
|
+
/** Defaults to `unstable_defaultDirectiveFormatter`. */
|
|
6
|
+
readonly formatter?: Unstable_DirectiveFormatter | undefined;
|
|
7
|
+
/** Fires the moment an item is selected; runs regardless of `removeOnExecute`. */
|
|
8
|
+
readonly onExecute: (item: Unstable_TriggerItem) => void;
|
|
9
|
+
/** When true, strips the trigger text after executing. Defaults to `false` (keeps audit-trail chip). */
|
|
10
|
+
readonly removeOnExecute?: boolean | undefined;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Configures a `<TriggerPopover>` to fire a handler when an item is selected,
|
|
15
|
+
* optionally leaving a directive chip behind as an audit trail. Render exactly
|
|
16
|
+
* one behavior sub-primitive per `<TriggerPopover>`.
|
|
17
|
+
*
|
|
18
|
+
* Exposed as `ComposerPrimitive.Unstable_TriggerPopover.Action`.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* <ComposerPrimitive.Unstable_TriggerPopover char="/" adapter={slashAdapter}>
|
|
23
|
+
* <ComposerPrimitive.Unstable_TriggerPopover.Action
|
|
24
|
+
* onExecute={(item) => commandHandlers[item.id]?.()}
|
|
25
|
+
* removeOnExecute={false}
|
|
26
|
+
* />
|
|
27
|
+
* </ComposerPrimitive.Unstable_TriggerPopover>
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare const ComposerPrimitiveTriggerPopoverAction: FC<ComposerPrimitiveTriggerPopoverAction.Props>;
|
|
31
|
+
//# sourceMappingURL=TriggerPopoverAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TriggerPopoverAction.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverAction.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAqB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAInD,yBAAiB,qCAAqC,CAAC;IACrD,KAAY,KAAK,GAAG;QAClB,wDAAwD;QACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;QAC7D,kFAAkF;QAClF,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;QACzD,wGAAwG;QACxG,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAChD,CAAC;CACH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,qCAAqC,EAAE,EAAE,CACpD,qCAAqC,CAAC,KAAK,CAiB5C,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { unstable_defaultDirectiveFormatter } from "@assistant-ui/core";
|
|
3
|
+
import { useEffect, useRef } from "react";
|
|
4
|
+
import { useTriggerBehaviorRegistration } from "./TriggerPopover.js";
|
|
5
|
+
/**
|
|
6
|
+
* Configures a `<TriggerPopover>` to fire a handler when an item is selected,
|
|
7
|
+
* optionally leaving a directive chip behind as an audit trail. Render exactly
|
|
8
|
+
* one behavior sub-primitive per `<TriggerPopover>`.
|
|
9
|
+
*
|
|
10
|
+
* Exposed as `ComposerPrimitive.Unstable_TriggerPopover.Action`.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* <ComposerPrimitive.Unstable_TriggerPopover char="/" adapter={slashAdapter}>
|
|
15
|
+
* <ComposerPrimitive.Unstable_TriggerPopover.Action
|
|
16
|
+
* onExecute={(item) => commandHandlers[item.id]?.()}
|
|
17
|
+
* removeOnExecute={false}
|
|
18
|
+
* />
|
|
19
|
+
* </ComposerPrimitive.Unstable_TriggerPopover>
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export const ComposerPrimitiveTriggerPopoverAction = ({ formatter, onExecute, removeOnExecute }) => {
|
|
23
|
+
const { register } = useTriggerBehaviorRegistration();
|
|
24
|
+
const onExecuteRef = useRef(onExecute);
|
|
25
|
+
onExecuteRef.current = onExecute;
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
const behavior = {
|
|
28
|
+
kind: "action",
|
|
29
|
+
formatter: formatter ?? unstable_defaultDirectiveFormatter,
|
|
30
|
+
onExecute: (item) => onExecuteRef.current(item),
|
|
31
|
+
...(removeOnExecute !== undefined ? { removeOnExecute } : {}),
|
|
32
|
+
};
|
|
33
|
+
return register(behavior);
|
|
34
|
+
}, [register, formatter, removeOnExecute]);
|
|
35
|
+
return null;
|
|
36
|
+
};
|
|
37
|
+
ComposerPrimitiveTriggerPopoverAction.displayName =
|
|
38
|
+
"ComposerPrimitive.TriggerPopoverAction";
|
|
39
|
+
//# sourceMappingURL=TriggerPopoverAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TriggerPopoverAction.js","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverAction.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAMb,OAAO,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAW,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,8BAA8B,EAAE,4BAAyB;AAclE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAE9C,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE;IAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,8BAA8B,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAoB;YAChC,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,SAAS,IAAI,kCAAkC;YAC1D,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;YAC/C,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;IAE3C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,qCAAqC,CAAC,WAAW;IAC/C,wCAAwC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverBack.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverBack.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,oCAAiC;AACrD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAE9B,MAAM,OAAO,CAAC;AAIf,yBAAiB,mCAAmC,CAAC;IACnD,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5D,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;CACvE;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC;;;;
|
|
1
|
+
{"version":3,"file":"TriggerPopoverBack.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverBack.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,oCAAiC;AACrD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAE9B,MAAM,OAAO,CAAC;AAIf,yBAAiB,mCAAmC,CAAC;IACnD,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5D,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;CACvE;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC;;;;gHAiB9C,CAAC"}
|
|
@@ -3,14 +3,14 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import { Primitive } from "../../../utils/Primitive.js";
|
|
4
4
|
import { forwardRef, } from "react";
|
|
5
5
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
|
6
|
-
import {
|
|
6
|
+
import { useTriggerPopoverScopeContext } from "./TriggerPopover.js";
|
|
7
7
|
/**
|
|
8
8
|
* A button that navigates back from category items to the category list.
|
|
9
9
|
* Only renders when a category is active (drill-down view).
|
|
10
10
|
*/
|
|
11
11
|
export const ComposerPrimitiveTriggerPopoverBack = forwardRef(({ onClick, ...props }, forwardedRef) => {
|
|
12
|
-
const { activeCategoryId, isSearchMode, goBack } =
|
|
13
|
-
if (!activeCategoryId || isSearchMode)
|
|
12
|
+
const { activeCategoryId, isSearchMode, goBack, open } = useTriggerPopoverScopeContext();
|
|
13
|
+
if (!open || !activeCategoryId || isSearchMode)
|
|
14
14
|
return null;
|
|
15
15
|
return (_jsx(Primitive.button, { type: "button", ...props, ref: forwardedRef, onClick: composeEventHandlers(onClick, goBack) }));
|
|
16
16
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverBack.js","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverBack.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,oCAAiC;AACrD,OAAO,EAGL,UAAU,GACX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TriggerPopoverBack.js","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverBack.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,oCAAiC;AACrD,OAAO,EAGL,UAAU,GACX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,4BAAyB;AAOjE;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,UAAU,CAG3D,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IACxC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,GACpD,6BAA6B,EAAE,CAAC;IAElC,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,IAAI,YAAY;QAAE,OAAO,IAAI,CAAC;IAE5D,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,IACf,IAAI,EAAC,QAAQ,KACT,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,GAC9C,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,mCAAmC,CAAC,WAAW;IAC7C,sCAAsC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverCategories.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverCategories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,oCAAiC;AACrD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"TriggerPopoverCategories.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverCategories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,oCAAiC;AACrD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE,yBAAiB,yCAAyC,CAAC;IACzD,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD,KAAY,KAAK,GAAG,IAAI,CACtB,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,EAC9C,UAAU,CACX,GAAG;QACF,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,wBAAwB,EAAE,KAAK,SAAS,CAAC;KAC1E,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,yCAAyC;;;;;cARxC,CAAC,UAAU,EAAE,SAAS,wBAAwB,EAAE,KAAK,SAAS;kDA2B1E,CAAC;AAKH,yBAAiB,2CAA2C,CAAC;IAC3D,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5D,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG;QACtE,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,2CAA2C;;;;;gBARxC,MAAM;qDA+CpB,CAAC"}
|
|
@@ -3,14 +3,14 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import { Primitive } from "../../../utils/Primitive.js";
|
|
4
4
|
import { forwardRef, useCallback, } from "react";
|
|
5
5
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
|
6
|
-
import {
|
|
6
|
+
import { useTriggerPopoverScopeContext } from "./TriggerPopover.js";
|
|
7
7
|
/**
|
|
8
8
|
* Renders the top-level category list via a render function.
|
|
9
9
|
* Only renders when no category is active and search mode is off.
|
|
10
10
|
*/
|
|
11
11
|
export const ComposerPrimitiveTriggerPopoverCategories = forwardRef(({ children, "aria-label": ariaLabel, ...props }, forwardedRef) => {
|
|
12
|
-
const { categories, activeCategoryId, isSearchMode } =
|
|
13
|
-
if (activeCategoryId || isSearchMode)
|
|
12
|
+
const { categories, activeCategoryId, isSearchMode, open } = useTriggerPopoverScopeContext();
|
|
13
|
+
if (!open || activeCategoryId || isSearchMode)
|
|
14
14
|
return null;
|
|
15
15
|
return (_jsx(Primitive.div, { role: "group", "aria-label": ariaLabel ?? "Categories", ...props, ref: forwardedRef, children: children(categories) }));
|
|
16
16
|
});
|
|
@@ -20,15 +20,17 @@ ComposerPrimitiveTriggerPopoverCategories.displayName =
|
|
|
20
20
|
* A button that selects a category and triggers drill-down navigation.
|
|
21
21
|
* Automatically receives `data-highlighted` when keyboard-navigated.
|
|
22
22
|
*/
|
|
23
|
-
export const ComposerPrimitiveTriggerPopoverCategoryItem = forwardRef(({ categoryId, onClick, ...props }, forwardedRef) => {
|
|
24
|
-
const { selectCategory, categories, highlightedIndex, activeCategoryId, isSearchMode, popoverId, } =
|
|
23
|
+
export const ComposerPrimitiveTriggerPopoverCategoryItem = forwardRef(({ categoryId, onClick, onMouseMove, ...props }, forwardedRef) => {
|
|
24
|
+
const { selectCategory, highlightIndex, categories, highlightedIndex, activeCategoryId, isSearchMode, popoverId, } = useTriggerPopoverScopeContext();
|
|
25
25
|
const handleClick = useCallback(() => {
|
|
26
26
|
selectCategory(categoryId);
|
|
27
27
|
}, [selectCategory, categoryId]);
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
const categoryIndex = categories.findIndex((c) => c.id === categoryId);
|
|
29
|
+
const isHighlighted = !activeCategoryId && !isSearchMode && categoryIndex === highlightedIndex;
|
|
30
|
+
const handleMouseMove = useCallback(() => {
|
|
31
|
+
highlightIndex(categoryIndex);
|
|
32
|
+
}, [highlightIndex, categoryIndex]);
|
|
33
|
+
return (_jsx(Primitive.button, { type: "button", role: "option", id: `${popoverId}-option-${categoryId}`, "aria-selected": isHighlighted, "data-highlighted": isHighlighted ? "" : undefined, ...props, ref: forwardedRef, onClick: composeEventHandlers(onClick, handleClick), onMouseMove: composeEventHandlers(onMouseMove, handleMouseMove) }));
|
|
32
34
|
});
|
|
33
35
|
ComposerPrimitiveTriggerPopoverCategoryItem.displayName =
|
|
34
36
|
"ComposerPrimitive.TriggerPopoverCategoryItem";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverCategories.js","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverCategories.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,oCAAiC;AACrD,OAAO,EAIL,UAAU,EACV,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TriggerPopoverCategories.js","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverCategories.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,oCAAiC;AACrD,OAAO,EAIL,UAAU,EACV,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,4BAAyB;AAajE;;;GAGG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAG,UAAU,CAGjE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAClE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,IAAI,EAAE,GACxD,6BAA6B,EAAE,CAAC;IAElC,IAAI,CAAC,IAAI,IAAI,gBAAgB,IAAI,YAAY;QAAE,OAAO,IAAI,CAAC;IAE3D,OAAO,CACL,KAAC,SAAS,CAAC,GAAG,IACZ,IAAI,EAAC,OAAO,gBACA,SAAS,IAAI,YAAY,KACjC,KAAK,EACT,GAAG,EAAE,YAAY,YAEhB,QAAQ,CAAC,UAAU,CAAC,GACP,CACjB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,yCAAyC,CAAC,WAAW;IACnD,4CAA4C,CAAC;AAS/C;;;GAGG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAG,UAAU,CAGnE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IACjE,MAAM,EACJ,cAAc,EACd,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,SAAS,GACV,GAAG,6BAA6B,EAAE,CAAC;IAEpC,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;IAEjC,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;IACvE,MAAM,aAAa,GACjB,CAAC,gBAAgB,IAAI,CAAC,YAAY,IAAI,aAAa,KAAK,gBAAgB,CAAC;IAE3E,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,cAAc,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAEpC,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,IACf,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,EACb,EAAE,EAAE,GAAG,SAAS,WAAW,UAAU,EAAE,mBACxB,aAAa,sBACV,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAC5C,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,EACnD,WAAW,EAAE,oBAAoB,CAAC,WAAW,EAAE,eAAe,CAAC,GAC/D,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,2CAA2C,CAAC,WAAW;IACrD,8CAA8C,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Unstable_DirectiveFormatter, Unstable_TriggerItem } from "@assistant-ui/core";
|
|
2
|
+
import { type FC } from "react";
|
|
3
|
+
export declare namespace ComposerPrimitiveTriggerPopoverDirective {
|
|
4
|
+
type Props = {
|
|
5
|
+
/** Defaults to `unstable_defaultDirectiveFormatter`. */
|
|
6
|
+
readonly formatter?: Unstable_DirectiveFormatter | undefined;
|
|
7
|
+
/** Fires after an item has been inserted into the composer. */
|
|
8
|
+
readonly onInserted?: ((item: Unstable_TriggerItem) => void) | undefined;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Configures a `<TriggerPopover>` to insert a directive chip when an item is
|
|
13
|
+
* selected. Render exactly one behavior sub-primitive per `<TriggerPopover>`.
|
|
14
|
+
*
|
|
15
|
+
* Exposed as `ComposerPrimitive.Unstable_TriggerPopover.Directive`.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <ComposerPrimitive.Unstable_TriggerPopover char="@" adapter={mentionAdapter}>
|
|
20
|
+
* <ComposerPrimitive.Unstable_TriggerPopover.Directive
|
|
21
|
+
* formatter={unstable_defaultDirectiveFormatter}
|
|
22
|
+
* onInserted={(item) => track("mention", item.id)}
|
|
23
|
+
* />
|
|
24
|
+
* </ComposerPrimitive.Unstable_TriggerPopover>
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare const ComposerPrimitiveTriggerPopoverDirective: FC<ComposerPrimitiveTriggerPopoverDirective.Props>;
|
|
28
|
+
//# sourceMappingURL=TriggerPopoverDirective.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TriggerPopoverDirective.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverDirective.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAqB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAInD,yBAAiB,wCAAwC,CAAC;IACxD,KAAY,KAAK,GAAG;QAClB,wDAAwD;QACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;QAC7D,+DAA+D;QAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;KAC1E,CAAC;CACH;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wCAAwC,EAAE,EAAE,CACvD,wCAAwC,CAAC,KAAK,CAgB/C,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { unstable_defaultDirectiveFormatter } from "@assistant-ui/core";
|
|
3
|
+
import { useEffect, useRef } from "react";
|
|
4
|
+
import { useTriggerBehaviorRegistration } from "./TriggerPopover.js";
|
|
5
|
+
/**
|
|
6
|
+
* Configures a `<TriggerPopover>` to insert a directive chip when an item is
|
|
7
|
+
* selected. Render exactly one behavior sub-primitive per `<TriggerPopover>`.
|
|
8
|
+
*
|
|
9
|
+
* Exposed as `ComposerPrimitive.Unstable_TriggerPopover.Directive`.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <ComposerPrimitive.Unstable_TriggerPopover char="@" adapter={mentionAdapter}>
|
|
14
|
+
* <ComposerPrimitive.Unstable_TriggerPopover.Directive
|
|
15
|
+
* formatter={unstable_defaultDirectiveFormatter}
|
|
16
|
+
* onInserted={(item) => track("mention", item.id)}
|
|
17
|
+
* />
|
|
18
|
+
* </ComposerPrimitive.Unstable_TriggerPopover>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export const ComposerPrimitiveTriggerPopoverDirective = ({ formatter, onInserted }) => {
|
|
22
|
+
const { register } = useTriggerBehaviorRegistration();
|
|
23
|
+
const onInsertedRef = useRef(onInserted);
|
|
24
|
+
onInsertedRef.current = onInserted;
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
const behavior = {
|
|
27
|
+
kind: "directive",
|
|
28
|
+
formatter: formatter ?? unstable_defaultDirectiveFormatter,
|
|
29
|
+
onInserted: (item) => onInsertedRef.current?.(item),
|
|
30
|
+
};
|
|
31
|
+
return register(behavior);
|
|
32
|
+
}, [register, formatter]);
|
|
33
|
+
return null;
|
|
34
|
+
};
|
|
35
|
+
ComposerPrimitiveTriggerPopoverDirective.displayName =
|
|
36
|
+
"ComposerPrimitive.TriggerPopoverDirective";
|
|
37
|
+
//# sourceMappingURL=TriggerPopoverDirective.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TriggerPopoverDirective.js","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverDirective.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAMb,OAAO,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAW,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,8BAA8B,EAAE,4BAAyB;AAYlE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAEjD,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE;IAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,8BAA8B,EAAE,CAAC;IACtD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IAEnC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAoB;YAChC,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,SAAS,IAAI,kCAAkC;YAC1D,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;SACpD,CAAC;QACF,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAE1B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,wCAAwC,CAAC,WAAW;IAClD,2CAA2C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverItems.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverItems.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,oCAAiC;AACrD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"TriggerPopoverItems.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverItems.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,oCAAiC;AACrD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,yBAAiB,oCAAoC,CAAC;IACpD,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD,KAAY,KAAK,GAAG,IAAI,CACtB,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,EAC9C,UAAU,CACX,GAAG;QACF,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,KAAK,SAAS,CAAC;KACjE,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,oCAAoC;;;;;cARnC,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,KAAK,SAAS;kDA2BjE,CAAC;AAKH,yBAAiB,mCAAmC,CAAC;IACnD,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5D,KAAY,KAAK,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG;QACtE,IAAI,EAAE,oBAAoB,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5B,CAAC;CACH;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC;;;;;UATtC,oBAAoB;YAClB,MAAM,GAAG,SAAS;qDAqD7B,CAAC"}
|
|
@@ -3,14 +3,14 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import { Primitive } from "../../../utils/Primitive.js";
|
|
4
4
|
import { forwardRef, useCallback, } from "react";
|
|
5
5
|
import { composeEventHandlers } from "@radix-ui/primitive";
|
|
6
|
-
import {
|
|
6
|
+
import { useTriggerPopoverScopeContext } from "./TriggerPopover.js";
|
|
7
7
|
/**
|
|
8
8
|
* Renders the list of items within a category or search results via a render function.
|
|
9
9
|
* Only renders when a category is active or search mode is on.
|
|
10
10
|
*/
|
|
11
11
|
export const ComposerPrimitiveTriggerPopoverItems = forwardRef(({ children, "aria-label": ariaLabel, ...props }, forwardedRef) => {
|
|
12
|
-
const { items, activeCategoryId, isSearchMode } =
|
|
13
|
-
if (!activeCategoryId && !isSearchMode)
|
|
12
|
+
const { items, activeCategoryId, isSearchMode, open } = useTriggerPopoverScopeContext();
|
|
13
|
+
if (!open || (!activeCategoryId && !isSearchMode))
|
|
14
14
|
return null;
|
|
15
15
|
return (_jsx(Primitive.div, { role: "group", "aria-label": ariaLabel ?? "Items", ...props, ref: forwardedRef, children: children(items) }));
|
|
16
16
|
});
|
|
@@ -20,15 +20,18 @@ ComposerPrimitiveTriggerPopoverItems.displayName =
|
|
|
20
20
|
* A button that selects a trigger item.
|
|
21
21
|
* Automatically receives `data-highlighted` when keyboard-navigated.
|
|
22
22
|
*/
|
|
23
|
-
export const ComposerPrimitiveTriggerPopoverItem = forwardRef(({ item, index: indexProp, onClick, ...props }, forwardedRef) => {
|
|
24
|
-
const { selectItem, items, highlightedIndex, activeCategoryId, isSearchMode, popoverId, } =
|
|
23
|
+
export const ComposerPrimitiveTriggerPopoverItem = forwardRef(({ item, index: indexProp, onClick, onMouseMove, ...props }, forwardedRef) => {
|
|
24
|
+
const { selectItem, highlightIndex, items, highlightedIndex, activeCategoryId, isSearchMode, popoverId, } = useTriggerPopoverScopeContext();
|
|
25
25
|
const handleClick = useCallback(() => {
|
|
26
26
|
selectItem(item);
|
|
27
27
|
}, [selectItem, item]);
|
|
28
28
|
const itemIndex = indexProp ?? items.findIndex((i) => i.id === item.id);
|
|
29
29
|
const isHighlighted = (isSearchMode || activeCategoryId !== null) &&
|
|
30
30
|
itemIndex === highlightedIndex;
|
|
31
|
-
|
|
31
|
+
const handleMouseMove = useCallback(() => {
|
|
32
|
+
highlightIndex(itemIndex);
|
|
33
|
+
}, [highlightIndex, itemIndex]);
|
|
34
|
+
return (_jsx(Primitive.button, { type: "button", role: "option", id: `${popoverId}-option-${item.id}`, "aria-selected": isHighlighted, "data-highlighted": isHighlighted ? "" : undefined, ...props, ref: forwardedRef, onClick: composeEventHandlers(onClick, handleClick), onMouseMove: composeEventHandlers(onMouseMove, handleMouseMove) }));
|
|
32
35
|
});
|
|
33
36
|
ComposerPrimitiveTriggerPopoverItem.displayName =
|
|
34
37
|
"ComposerPrimitive.TriggerPopoverItem";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverItems.js","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverItems.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,oCAAiC;AACrD,OAAO,EAIL,UAAU,EACV,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TriggerPopoverItems.js","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverItems.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,oCAAiC;AACrD,OAAO,EAIL,UAAU,EACV,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,4BAAyB;AAajE;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,UAAU,CAG5D,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAClE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,IAAI,EAAE,GACnD,6BAA6B,EAAE,CAAC;IAElC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/D,OAAO,CACL,KAAC,SAAS,CAAC,GAAG,IACZ,IAAI,EAAC,OAAO,gBACA,SAAS,IAAI,OAAO,KAC5B,KAAK,EACT,GAAG,EAAE,YAAY,YAEhB,QAAQ,CAAC,KAAK,CAAC,GACF,CACjB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,oCAAoC,CAAC,WAAW;IAC9C,uCAAuC,CAAC;AAU1C;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,UAAU,CAI3D,CACE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAC1D,YAAY,EACZ,EAAE;IACF,MAAM,EACJ,UAAU,EACV,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,SAAS,GACV,GAAG,6BAA6B,EAAE,CAAC;IAEpC,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAEvB,MAAM,SAAS,GAAG,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,MAAM,aAAa,GACjB,CAAC,YAAY,IAAI,gBAAgB,KAAK,IAAI,CAAC;QAC3C,SAAS,KAAK,gBAAgB,CAAC;IAEjC,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;IAEhC,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,IACf,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,EACb,EAAE,EAAE,GAAG,SAAS,WAAW,IAAI,CAAC,EAAE,EAAE,mBACrB,aAAa,sBACV,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAC5C,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,EACnD,WAAW,EAAE,oBAAoB,CAAC,WAAW,EAAE,eAAe,CAAC,GAC/D,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,mCAAmC,CAAC,WAAW;IAC7C,sCAAsC,CAAC"}
|
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
import type { Unstable_TriggerAdapter, Unstable_TriggerCategory, Unstable_TriggerItem
|
|
1
|
+
import type { Unstable_TriggerAdapter, Unstable_TriggerCategory, Unstable_TriggerItem } from "@assistant-ui/core";
|
|
2
2
|
import type { AssistantClient } from "@assistant-ui/store";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export type SelectItemOverride = (item: Unstable_TriggerItem) => boolean;
|
|
9
|
-
export type OnSelectBehavior = {
|
|
10
|
-
type: "insertDirective";
|
|
11
|
-
formatter: Unstable_DirectiveFormatter;
|
|
12
|
-
} | {
|
|
13
|
-
type: "action";
|
|
14
|
-
handler: (item: Unstable_TriggerItem) => void;
|
|
15
|
-
};
|
|
3
|
+
import { type SelectItemOverride, type TriggerBehavior } from "./triggerSelectionResource.js";
|
|
4
|
+
export type { SelectItemOverride, TriggerBehavior };
|
|
5
|
+
export type { TriggerPopoverKeyEvent } from "./triggerKeyboardResource.js";
|
|
6
|
+
/** @deprecated Use `TriggerBehavior`. */
|
|
7
|
+
export type OnSelectBehavior = TriggerBehavior;
|
|
16
8
|
export type TriggerPopoverResourceOutput = {
|
|
17
9
|
readonly open: boolean;
|
|
18
10
|
readonly query: string;
|
|
@@ -29,15 +21,22 @@ export type TriggerPopoverResourceOutput = {
|
|
|
29
21
|
goBack(): void;
|
|
30
22
|
selectItem(item: Unstable_TriggerItem): void;
|
|
31
23
|
close(): void;
|
|
32
|
-
|
|
24
|
+
/** Move the highlight to an entry index (e.g. from pointer hover). Out-of-range values are ignored. */
|
|
25
|
+
highlightIndex(index: number): void;
|
|
26
|
+
handleKeyDown(e: {
|
|
27
|
+
readonly key: string;
|
|
28
|
+
readonly shiftKey: boolean;
|
|
29
|
+
preventDefault(): void;
|
|
30
|
+
}): boolean;
|
|
33
31
|
setCursorPosition(pos: number): void;
|
|
34
32
|
registerSelectItemOverride(fn: SelectItemOverride): () => void;
|
|
35
33
|
};
|
|
34
|
+
/** Composes detection, navigation, keyboard, and selection sub-resources. */
|
|
36
35
|
export declare const TriggerPopoverResource: (props: {
|
|
37
36
|
adapter: Unstable_TriggerAdapter | undefined;
|
|
38
37
|
text: string;
|
|
39
38
|
triggerChar: string;
|
|
40
|
-
|
|
39
|
+
behavior: TriggerBehavior | undefined;
|
|
41
40
|
aui: AssistantClient;
|
|
42
41
|
/** Stable ID for accessible element IDs (pass React's useId() from component layer). */
|
|
43
42
|
popoverId: string;
|
|
@@ -45,7 +44,7 @@ export declare const TriggerPopoverResource: (props: {
|
|
|
45
44
|
adapter: Unstable_TriggerAdapter | undefined;
|
|
46
45
|
text: string;
|
|
47
46
|
triggerChar: string;
|
|
48
|
-
|
|
47
|
+
behavior: TriggerBehavior | undefined;
|
|
49
48
|
aui: AssistantClient;
|
|
50
49
|
/** Stable ID for accessible element IDs (pass React's useId() from component layer). */
|
|
51
50
|
popoverId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerPopoverResource.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverResource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TriggerPopoverResource.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverResource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAI3D,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,sCAAmC;AAEpC,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,qCAAkC;AAExE,yCAAyC;AACzC,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAE/C,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACzD,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/C,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,IAAI,IAAI,CAAC;IACf,UAAU,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7C,KAAK,IAAI,IAAI,CAAC;IACd,uGAAuG;IACvG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,CAAC,CAAC,EAAE;QACf,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,cAAc,IAAI,IAAI,CAAC;KACxB,GAAG,OAAO,CAAC;IAEZ,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,0BAA0B,CAAC,EAAE,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAAC;CAChE,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB;aAStB,uBAAuB,GAAG,SAAS;UACtC,MAAM;iBACC,MAAM;cACT,eAAe,GAAG,SAAS;SAChC,eAAe;IACpB,wFAAwF;eAC7E,MAAM;;aANR,uBAAuB,GAAG,SAAS;UACtC,MAAM;iBACC,MAAM;cACT,eAAe,GAAG,SAAS;SAChC,eAAe;IACpB,wFAAwF;eAC7E,MAAM;EAqEpB,CAAC"}
|