@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.
Files changed (485) hide show
  1. package/dist/augmentations.d.ts.map +1 -1
  2. package/dist/client/InMemoryThreadList.d.ts.map +1 -1
  3. package/dist/client/InMemoryThreadList.js +1 -0
  4. package/dist/client/InMemoryThreadList.js.map +1 -1
  5. package/dist/client/SingleThreadList.d.ts.map +1 -1
  6. package/dist/client/SingleThreadList.js +1 -0
  7. package/dist/client/SingleThreadList.js.map +1 -1
  8. package/dist/context/providers/MessageProvider.d.ts +1 -1
  9. package/dist/context/providers/MessageProvider.d.ts.map +1 -1
  10. package/dist/context/react/ThreadViewportContext.d.ts +3 -3
  11. package/dist/context/react/ThreadViewportContext.d.ts.map +1 -1
  12. package/dist/context/react/utils/createContextHook.d.ts +1 -1
  13. package/dist/context/react/utils/createContextHook.d.ts.map +1 -1
  14. package/dist/context/react/utils/createContextHook.js.map +1 -1
  15. package/dist/context/react/utils/createContextStoreHook.d.ts +1 -1
  16. package/dist/context/react/utils/createContextStoreHook.d.ts.map +1 -1
  17. package/dist/context/react/utils/createStateHookForRuntime.d.ts +1 -1
  18. package/dist/context/react/utils/createStateHookForRuntime.d.ts.map +1 -1
  19. package/dist/context/react/utils/createStateHookForRuntime.js +1 -0
  20. package/dist/context/react/utils/createStateHookForRuntime.js.map +1 -1
  21. package/dist/devtools/DevToolsHooks.d.ts +1 -1
  22. package/dist/devtools/DevToolsHooks.d.ts.map +1 -1
  23. package/dist/devtools/DevToolsHooks.js +4 -0
  24. package/dist/devtools/DevToolsHooks.js.map +1 -1
  25. package/dist/index.d.ts +3 -5
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +6 -32
  28. package/dist/index.js.map +1 -1
  29. package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts +3 -3
  30. package/dist/legacy-runtime/AssistantRuntimeProvider.d.ts.map +1 -1
  31. package/dist/legacy-runtime/AssistantRuntimeProvider.js.map +1 -1
  32. package/dist/legacy-runtime/cloud/auiV0.d.ts +3 -3
  33. package/dist/legacy-runtime/cloud/auiV0.d.ts.map +1 -1
  34. package/dist/legacy-runtime/cloud/auiV0.js.map +1 -1
  35. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.d.ts +1 -1
  36. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.d.ts.map +1 -1
  37. package/dist/legacy-runtime/hooks/AssistantContext.d.ts +1 -1
  38. package/dist/legacy-runtime/hooks/AssistantContext.d.ts.map +1 -1
  39. package/dist/legacy-runtime/hooks/AttachmentContext.d.ts +1 -1
  40. package/dist/legacy-runtime/hooks/AttachmentContext.d.ts.map +1 -1
  41. package/dist/legacy-runtime/hooks/ComposerContext.d.ts +1 -1
  42. package/dist/legacy-runtime/hooks/ComposerContext.d.ts.map +1 -1
  43. package/dist/legacy-runtime/hooks/MessageContext.d.ts +1 -1
  44. package/dist/legacy-runtime/hooks/MessageContext.d.ts.map +1 -1
  45. package/dist/legacy-runtime/hooks/MessagePartContext.d.ts +1 -1
  46. package/dist/legacy-runtime/hooks/MessagePartContext.d.ts.map +1 -1
  47. package/dist/legacy-runtime/hooks/ThreadContext.d.ts +1 -1
  48. package/dist/legacy-runtime/hooks/ThreadContext.d.ts.map +1 -1
  49. package/dist/legacy-runtime/hooks/ThreadListItemContext.d.ts +1 -1
  50. package/dist/legacy-runtime/hooks/ThreadListItemContext.d.ts.map +1 -1
  51. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.d.ts +1 -1
  52. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.d.ts.map +1 -1
  53. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts +2 -2
  54. package/dist/legacy-runtime/runtime-cores/assistant-transport/types.d.ts.map +1 -1
  55. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts +3 -3
  56. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.d.ts.map +1 -1
  57. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js +14 -1
  58. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js.map +1 -1
  59. package/dist/model-context/frame/useAssistantFrameHost.d.ts +1 -1
  60. package/dist/model-context/frame/useAssistantFrameHost.d.ts.map +1 -1
  61. package/dist/model-context/frame/useAssistantFrameHost.js.map +1 -1
  62. package/dist/model-context/makeAssistantVisible.d.ts +1 -1
  63. package/dist/model-context/makeAssistantVisible.d.ts.map +1 -1
  64. package/dist/primitives/actionBar/ActionBarCopy.d.ts +1 -1
  65. package/dist/primitives/actionBar/ActionBarCopy.d.ts.map +1 -1
  66. package/dist/primitives/actionBar/ActionBarEdit.d.ts +1 -1
  67. package/dist/primitives/actionBar/ActionBarEdit.d.ts.map +1 -1
  68. package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts +1 -1
  69. package/dist/primitives/actionBar/ActionBarExportMarkdown.d.ts.map +1 -1
  70. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts +1 -1
  71. package/dist/primitives/actionBar/ActionBarFeedbackNegative.d.ts.map +1 -1
  72. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts +1 -1
  73. package/dist/primitives/actionBar/ActionBarFeedbackPositive.d.ts.map +1 -1
  74. package/dist/primitives/actionBar/ActionBarReload.d.ts +1 -1
  75. package/dist/primitives/actionBar/ActionBarReload.d.ts.map +1 -1
  76. package/dist/primitives/actionBar/ActionBarRoot.d.ts +1 -1
  77. package/dist/primitives/actionBar/ActionBarRoot.d.ts.map +1 -1
  78. package/dist/primitives/actionBar/ActionBarSpeak.d.ts +1 -1
  79. package/dist/primitives/actionBar/ActionBarSpeak.d.ts.map +1 -1
  80. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts +1 -1
  81. package/dist/primitives/actionBar/ActionBarStopSpeaking.d.ts.map +1 -1
  82. package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts +5 -2
  83. package/dist/primitives/actionBarMore/ActionBarMoreContent.d.ts.map +1 -1
  84. package/dist/primitives/actionBarMore/ActionBarMoreContent.js +3 -2
  85. package/dist/primitives/actionBarMore/ActionBarMoreContent.js.map +1 -1
  86. package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts +7 -4
  87. package/dist/primitives/actionBarMore/ActionBarMoreItem.d.ts.map +1 -1
  88. package/dist/primitives/actionBarMore/ActionBarMoreItem.js +2 -2
  89. package/dist/primitives/actionBarMore/ActionBarMoreItem.js.map +1 -1
  90. package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts +1 -1
  91. package/dist/primitives/actionBarMore/ActionBarMoreRoot.d.ts.map +1 -1
  92. package/dist/primitives/actionBarMore/ActionBarMoreRoot.js.map +1 -1
  93. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts +7 -4
  94. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.d.ts.map +1 -1
  95. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js +2 -2
  96. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js.map +1 -1
  97. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts +7 -4
  98. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.d.ts.map +1 -1
  99. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js +2 -2
  100. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js.map +1 -1
  101. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts +1 -1
  102. package/dist/primitives/assistantModal/AssistantModalAnchor.d.ts.map +1 -1
  103. package/dist/primitives/assistantModal/AssistantModalAnchor.js +1 -1
  104. package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
  105. package/dist/primitives/assistantModal/AssistantModalContent.d.ts +1 -1
  106. package/dist/primitives/assistantModal/AssistantModalContent.d.ts.map +1 -1
  107. package/dist/primitives/assistantModal/AssistantModalContent.js +1 -1
  108. package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
  109. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts +1 -1
  110. package/dist/primitives/assistantModal/AssistantModalRoot.d.ts.map +1 -1
  111. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  112. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts +1 -1
  113. package/dist/primitives/assistantModal/AssistantModalTrigger.d.ts.map +1 -1
  114. package/dist/primitives/assistantModal/AssistantModalTrigger.js +1 -1
  115. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  116. package/dist/primitives/attachment/AttachmentRemove.d.ts +1 -1
  117. package/dist/primitives/attachment/AttachmentRemove.d.ts.map +1 -1
  118. package/dist/primitives/attachment/AttachmentRoot.d.ts +1 -1
  119. package/dist/primitives/attachment/AttachmentRoot.d.ts.map +1 -1
  120. package/dist/primitives/attachment/AttachmentRoot.js +1 -1
  121. package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
  122. package/dist/primitives/attachment/AttachmentThumb.d.ts +1 -1
  123. package/dist/primitives/attachment/AttachmentThumb.d.ts.map +1 -1
  124. package/dist/primitives/attachment/AttachmentThumb.js +1 -1
  125. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
  126. package/dist/primitives/branchPicker/BranchPickerNext.d.ts +1 -1
  127. package/dist/primitives/branchPicker/BranchPickerNext.d.ts.map +1 -1
  128. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts +1 -1
  129. package/dist/primitives/branchPicker/BranchPickerPrevious.d.ts.map +1 -1
  130. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts +1 -1
  131. package/dist/primitives/branchPicker/BranchPickerRoot.d.ts.map +1 -1
  132. package/dist/primitives/branchPicker/BranchPickerRoot.js +1 -1
  133. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  134. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts +1 -1
  135. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.d.ts.map +1 -1
  136. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts +1 -1
  137. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.d.ts.map +1 -1
  138. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js +1 -1
  139. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js.map +1 -1
  140. package/dist/primitives/composer/ComposerAddAttachment.d.ts +1 -1
  141. package/dist/primitives/composer/ComposerAddAttachment.d.ts.map +1 -1
  142. package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts +1 -1
  143. package/dist/primitives/composer/ComposerAttachmentDropzone.d.ts.map +1 -1
  144. package/dist/primitives/composer/ComposerAttachmentDropzone.js +3 -2
  145. package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
  146. package/dist/primitives/composer/ComposerCancel.d.ts +1 -1
  147. package/dist/primitives/composer/ComposerCancel.d.ts.map +1 -1
  148. package/dist/primitives/composer/ComposerDictationTranscript.d.ts +1 -1
  149. package/dist/primitives/composer/ComposerDictationTranscript.d.ts.map +1 -1
  150. package/dist/primitives/composer/ComposerDictationTranscript.js +1 -1
  151. package/dist/primitives/composer/ComposerDictationTranscript.js.map +1 -1
  152. package/dist/primitives/composer/ComposerInput.d.ts.map +1 -1
  153. package/dist/primitives/composer/ComposerInput.js +28 -0
  154. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  155. package/dist/primitives/composer/ComposerInputPluginContext.d.ts +11 -3
  156. package/dist/primitives/composer/ComposerInputPluginContext.d.ts.map +1 -1
  157. package/dist/primitives/composer/ComposerInputPluginContext.js +13 -9
  158. package/dist/primitives/composer/ComposerInputPluginContext.js.map +1 -1
  159. package/dist/primitives/composer/ComposerRoot.d.ts +1 -1
  160. package/dist/primitives/composer/ComposerRoot.d.ts.map +1 -1
  161. package/dist/primitives/composer/ComposerSend.d.ts +1 -1
  162. package/dist/primitives/composer/ComposerSend.d.ts.map +1 -1
  163. package/dist/primitives/composer/trigger/TriggerPopover.d.ts +60 -0
  164. package/dist/primitives/composer/trigger/TriggerPopover.d.ts.map +1 -0
  165. package/dist/primitives/composer/trigger/TriggerPopover.js +108 -0
  166. package/dist/primitives/composer/trigger/TriggerPopover.js.map +1 -0
  167. package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts +31 -0
  168. package/dist/primitives/composer/trigger/TriggerPopoverAction.d.ts.map +1 -0
  169. package/dist/primitives/composer/trigger/TriggerPopoverAction.js +39 -0
  170. package/dist/primitives/composer/trigger/TriggerPopoverAction.js.map +1 -0
  171. package/dist/primitives/composer/trigger/TriggerPopoverBack.d.ts.map +1 -1
  172. package/dist/primitives/composer/trigger/TriggerPopoverBack.js +3 -3
  173. package/dist/primitives/composer/trigger/TriggerPopoverBack.js.map +1 -1
  174. package/dist/primitives/composer/trigger/TriggerPopoverCategories.d.ts.map +1 -1
  175. package/dist/primitives/composer/trigger/TriggerPopoverCategories.js +11 -9
  176. package/dist/primitives/composer/trigger/TriggerPopoverCategories.js.map +1 -1
  177. package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts +28 -0
  178. package/dist/primitives/composer/trigger/TriggerPopoverDirective.d.ts.map +1 -0
  179. package/dist/primitives/composer/trigger/TriggerPopoverDirective.js +37 -0
  180. package/dist/primitives/composer/trigger/TriggerPopoverDirective.js.map +1 -0
  181. package/dist/primitives/composer/trigger/TriggerPopoverItems.d.ts.map +1 -1
  182. package/dist/primitives/composer/trigger/TriggerPopoverItems.js +9 -6
  183. package/dist/primitives/composer/trigger/TriggerPopoverItems.js.map +1 -1
  184. package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts +16 -17
  185. package/dist/primitives/composer/trigger/TriggerPopoverResource.d.ts.map +1 -1
  186. package/dist/primitives/composer/trigger/TriggerPopoverResource.js +53 -248
  187. package/dist/primitives/composer/trigger/TriggerPopoverResource.js.map +1 -1
  188. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts +60 -0
  189. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.d.ts.map +1 -0
  190. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js +117 -0
  191. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js.map +1 -0
  192. package/dist/primitives/composer/trigger/detectTrigger.js +1 -1
  193. package/dist/primitives/composer/trigger/detectTrigger.js.map +1 -1
  194. package/dist/primitives/composer/trigger/index.d.ts +16 -3
  195. package/dist/primitives/composer/trigger/index.d.ts.map +1 -1
  196. package/dist/primitives/composer/trigger/index.js +9 -2
  197. package/dist/primitives/composer/trigger/index.js.map +1 -1
  198. package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts +22 -0
  199. package/dist/primitives/composer/trigger/triggerDetectionResource.d.ts.map +1 -0
  200. package/dist/primitives/composer/trigger/triggerDetectionResource.js +17 -0
  201. package/dist/primitives/composer/trigger/triggerDetectionResource.js.map +1 -0
  202. package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts +45 -0
  203. package/dist/primitives/composer/trigger/triggerKeyboardResource.d.ts.map +1 -0
  204. package/dist/primitives/composer/trigger/triggerKeyboardResource.js +94 -0
  205. package/dist/primitives/composer/trigger/triggerKeyboardResource.js.map +1 -0
  206. package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts +31 -0
  207. package/dist/primitives/composer/trigger/triggerNavigationResource.d.ts.map +1 -0
  208. package/dist/primitives/composer/trigger/triggerNavigationResource.js +94 -0
  209. package/dist/primitives/composer/trigger/triggerNavigationResource.js.map +1 -0
  210. package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts +42 -0
  211. package/dist/primitives/composer/trigger/triggerSelectionResource.d.ts.map +1 -0
  212. package/dist/primitives/composer/trigger/triggerSelectionResource.js +62 -0
  213. package/dist/primitives/composer/trigger/triggerSelectionResource.js.map +1 -0
  214. package/dist/primitives/composer.d.ts +8 -13
  215. package/dist/primitives/composer.d.ts.map +1 -1
  216. package/dist/primitives/composer.js +7 -17
  217. package/dist/primitives/composer.js.map +1 -1
  218. package/dist/primitives/dropdownMenuRenderPrimitives.d.ts +14 -0
  219. package/dist/primitives/dropdownMenuRenderPrimitives.d.ts.map +1 -0
  220. package/dist/primitives/dropdownMenuRenderPrimitives.js +7 -0
  221. package/dist/primitives/dropdownMenuRenderPrimitives.js.map +1 -0
  222. package/dist/primitives/error/ErrorMessage.d.ts +1 -1
  223. package/dist/primitives/error/ErrorMessage.d.ts.map +1 -1
  224. package/dist/primitives/error/ErrorMessage.js +1 -1
  225. package/dist/primitives/error/ErrorMessage.js.map +1 -1
  226. package/dist/primitives/error/ErrorRoot.d.ts +1 -1
  227. package/dist/primitives/error/ErrorRoot.d.ts.map +1 -1
  228. package/dist/primitives/error/ErrorRoot.js +1 -1
  229. package/dist/primitives/error/ErrorRoot.js.map +1 -1
  230. package/dist/primitives/message/MessageError.d.ts +1 -1
  231. package/dist/primitives/message/MessageError.d.ts.map +1 -1
  232. package/dist/primitives/message/MessagePartsGrouped.d.ts +1 -1
  233. package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
  234. package/dist/primitives/message/MessageRoot.d.ts +1 -1
  235. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  236. package/dist/primitives/messagePart/MessagePartImage.d.ts +1 -1
  237. package/dist/primitives/messagePart/MessagePartImage.d.ts.map +1 -1
  238. package/dist/primitives/messagePart/MessagePartImage.js +2 -1
  239. package/dist/primitives/messagePart/MessagePartImage.js.map +1 -1
  240. package/dist/primitives/messagePart/MessagePartInProgress.d.ts +1 -1
  241. package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
  242. package/dist/primitives/messagePart/MessagePartText.d.ts +2 -2
  243. package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -1
  244. package/dist/primitives/queueItem/QueueItemRemove.d.ts +1 -1
  245. package/dist/primitives/queueItem/QueueItemRemove.d.ts.map +1 -1
  246. package/dist/primitives/queueItem/QueueItemSteer.d.ts +1 -1
  247. package/dist/primitives/queueItem/QueueItemSteer.d.ts.map +1 -1
  248. package/dist/primitives/suggestion/SuggestionDescription.d.ts +1 -1
  249. package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -1
  250. package/dist/primitives/suggestion/SuggestionDescription.js +1 -1
  251. package/dist/primitives/suggestion/SuggestionDescription.js.map +1 -1
  252. package/dist/primitives/suggestion/SuggestionTitle.d.ts +1 -1
  253. package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -1
  254. package/dist/primitives/suggestion/SuggestionTitle.js +1 -1
  255. package/dist/primitives/suggestion/SuggestionTitle.js.map +1 -1
  256. package/dist/primitives/suggestion/SuggestionTrigger.d.ts +1 -1
  257. package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
  258. package/dist/primitives/thread/ThreadRoot.d.ts +1 -1
  259. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  260. package/dist/primitives/thread/ThreadRoot.js +1 -1
  261. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  262. package/dist/primitives/thread/ThreadScrollToBottom.d.ts +1 -1
  263. package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -1
  264. package/dist/primitives/thread/ThreadSuggestion.d.ts +1 -1
  265. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  266. package/dist/primitives/thread/ThreadSuggestion.js +0 -2
  267. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  268. package/dist/primitives/thread/ThreadViewport.d.ts +1 -1
  269. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
  270. package/dist/primitives/thread/ThreadViewportFooter.d.ts +1 -1
  271. package/dist/primitives/thread/ThreadViewportFooter.d.ts.map +1 -1
  272. package/dist/primitives/threadList/ThreadListNew.d.ts +1 -1
  273. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  274. package/dist/primitives/threadList/ThreadListRoot.d.ts +1 -1
  275. package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -1
  276. package/dist/primitives/threadList/ThreadListRoot.js +1 -1
  277. package/dist/primitives/threadList/ThreadListRoot.js.map +1 -1
  278. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +1 -1
  279. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
  280. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +1 -1
  281. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
  282. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +1 -1
  283. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
  284. package/dist/primitives/threadListItem/ThreadListItemRoot.js +1 -1
  285. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
  286. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +1 -1
  287. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
  288. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +1 -1
  289. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
  290. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts +5 -2
  291. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts.map +1 -1
  292. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js +3 -2
  293. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js.map +1 -1
  294. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts +7 -4
  295. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts.map +1 -1
  296. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js +2 -2
  297. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js.map +1 -1
  298. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts +1 -1
  299. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts.map +1 -1
  300. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js.map +1 -1
  301. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts +7 -4
  302. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts.map +1 -1
  303. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js +2 -2
  304. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js.map +1 -1
  305. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts +7 -4
  306. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts.map +1 -1
  307. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js +2 -2
  308. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js.map +1 -1
  309. package/dist/unstable/useMentionAdapter.d.ts +80 -0
  310. package/dist/unstable/useMentionAdapter.d.ts.map +1 -0
  311. package/dist/unstable/useMentionAdapter.js +129 -0
  312. package/dist/unstable/useMentionAdapter.js.map +1 -0
  313. package/dist/unstable/useSlashCommandAdapter.d.ts +32 -17
  314. package/dist/unstable/useSlashCommandAdapter.d.ts.map +1 -1
  315. package/dist/unstable/useSlashCommandAdapter.js +56 -32
  316. package/dist/unstable/useSlashCommandAdapter.js.map +1 -1
  317. package/dist/utils/Primitive.d.ts +6 -4
  318. package/dist/utils/Primitive.d.ts.map +1 -1
  319. package/dist/utils/Primitive.js +15 -8
  320. package/dist/utils/Primitive.js.map +1 -1
  321. package/dist/utils/createActionButton.d.ts +1 -1
  322. package/dist/utils/createActionButton.d.ts.map +1 -1
  323. package/dist/utils/hooks/useManagedRef.d.ts +1 -1
  324. package/dist/utils/hooks/useManagedRef.d.ts.map +1 -1
  325. package/dist/utils/hooks/useManagedRef.js.map +1 -1
  326. package/dist/utils/json/is-json.d.ts +1 -1
  327. package/dist/utils/json/is-json.d.ts.map +1 -1
  328. package/dist/utils/smooth/SmoothContext.d.ts +2 -2
  329. package/dist/utils/smooth/SmoothContext.d.ts.map +1 -1
  330. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  331. package/package.json +13 -13
  332. package/src/augmentations.ts +2 -0
  333. package/src/client/InMemoryThreadList.ts +1 -0
  334. package/src/client/SingleThreadList.ts +1 -0
  335. package/src/context/providers/MessageProvider.tsx +1 -1
  336. package/src/context/providers/ThreadViewportProvider.tsx +1 -1
  337. package/src/context/react/ThreadViewportContext.ts +3 -3
  338. package/src/context/react/utils/createContextHook.ts +1 -1
  339. package/src/context/react/utils/createContextStoreHook.ts +2 -2
  340. package/src/context/react/utils/createStateHookForRuntime.ts +2 -1
  341. package/src/devtools/DevToolsHooks.ts +5 -1
  342. package/src/index.ts +27 -56
  343. package/src/legacy-runtime/AssistantRuntimeProvider.tsx +3 -3
  344. package/src/legacy-runtime/cloud/auiV0.ts +6 -3
  345. package/src/legacy-runtime/cloud/useCloudThreadListRuntime.ts +1 -1
  346. package/src/legacy-runtime/hooks/AssistantContext.ts +1 -1
  347. package/src/legacy-runtime/hooks/AttachmentContext.ts +1 -1
  348. package/src/legacy-runtime/hooks/ComposerContext.ts +1 -1
  349. package/src/legacy-runtime/hooks/MessageContext.ts +1 -1
  350. package/src/legacy-runtime/hooks/MessagePartContext.ts +1 -1
  351. package/src/legacy-runtime/hooks/ThreadContext.ts +1 -1
  352. package/src/legacy-runtime/hooks/ThreadListItemContext.ts +1 -1
  353. package/src/legacy-runtime/runtime-cores/assistant-transport/commandQueue.ts +1 -1
  354. package/src/legacy-runtime/runtime-cores/assistant-transport/types.ts +2 -2
  355. package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.ts +20 -4
  356. package/src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.test.ts +8 -2
  357. package/src/model-context/frame/useAssistantFrameHost.ts +1 -1
  358. package/src/model-context/makeAssistantVisible.tsx +3 -3
  359. package/src/primitives/actionBar/ActionBarCopy.tsx +1 -1
  360. package/src/primitives/actionBar/ActionBarEdit.ts +2 -2
  361. package/src/primitives/actionBar/ActionBarExportMarkdown.tsx +1 -1
  362. package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +1 -1
  363. package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +1 -1
  364. package/src/primitives/actionBar/ActionBarReload.ts +2 -2
  365. package/src/primitives/actionBar/ActionBarRoot.tsx +1 -1
  366. package/src/primitives/actionBar/ActionBarSpeak.ts +2 -2
  367. package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +1 -1
  368. package/src/primitives/actionBarMore/ActionBarMoreContent.tsx +10 -4
  369. package/src/primitives/actionBarMore/ActionBarMoreItem.tsx +7 -7
  370. package/src/primitives/actionBarMore/ActionBarMoreRoot.tsx +2 -2
  371. package/src/primitives/actionBarMore/ActionBarMoreSeparator.tsx +7 -5
  372. package/src/primitives/actionBarMore/ActionBarMoreTrigger.tsx +7 -7
  373. package/src/primitives/assistantModal/AssistantModalAnchor.tsx +6 -2
  374. package/src/primitives/assistantModal/AssistantModalContent.tsx +6 -2
  375. package/src/primitives/assistantModal/AssistantModalRoot.tsx +2 -2
  376. package/src/primitives/assistantModal/AssistantModalTrigger.tsx +6 -2
  377. package/src/primitives/attachment/AttachmentRemove.ts +2 -2
  378. package/src/primitives/attachment/AttachmentRoot.tsx +5 -1
  379. package/src/primitives/attachment/AttachmentThumb.tsx +5 -1
  380. package/src/primitives/branchPicker/BranchPickerNext.ts +2 -2
  381. package/src/primitives/branchPicker/BranchPickerPrevious.ts +2 -2
  382. package/src/primitives/branchPicker/BranchPickerRoot.tsx +5 -1
  383. package/src/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.ts +2 -2
  384. package/src/primitives/chainOfThought/ChainOfThoughtRoot.tsx +5 -1
  385. package/src/primitives/composer/ComposerAddAttachment.ts +2 -2
  386. package/src/primitives/composer/ComposerAttachmentDropzone.test.tsx +125 -0
  387. package/src/primitives/composer/ComposerAttachmentDropzone.tsx +11 -8
  388. package/src/primitives/composer/ComposerCancel.ts +2 -2
  389. package/src/primitives/composer/ComposerDictationTranscript.tsx +5 -1
  390. package/src/primitives/composer/ComposerInput.tsx +33 -1
  391. package/src/primitives/composer/ComposerInputPluginContext.tsx +37 -24
  392. package/src/primitives/composer/ComposerRoot.tsx +1 -1
  393. package/src/primitives/composer/ComposerSend.ts +2 -2
  394. package/src/primitives/composer/trigger/TriggerPopover.tsx +207 -0
  395. package/src/primitives/composer/trigger/TriggerPopoverAction.tsx +61 -0
  396. package/src/primitives/composer/trigger/TriggerPopoverBack.tsx +4 -3
  397. package/src/primitives/composer/trigger/TriggerPopoverCategories.tsx +14 -17
  398. package/src/primitives/composer/trigger/TriggerPopoverDirective.tsx +57 -0
  399. package/src/primitives/composer/trigger/TriggerPopoverItems.tsx +44 -40
  400. package/src/primitives/composer/trigger/TriggerPopoverResource.ts +76 -315
  401. package/src/primitives/composer/trigger/TriggerPopoverRootContext.tsx +212 -0
  402. package/src/primitives/composer/trigger/detectTrigger.test.ts +36 -0
  403. package/src/primitives/composer/trigger/detectTrigger.ts +1 -1
  404. package/src/primitives/composer/trigger/index.ts +21 -5
  405. package/src/primitives/composer/trigger/triggerDetectionResource.ts +43 -0
  406. package/src/primitives/composer/trigger/triggerKeyboardResource.ts +151 -0
  407. package/src/primitives/composer/trigger/triggerNavigationResource.ts +145 -0
  408. package/src/primitives/composer/trigger/triggerSelectionResource.ts +122 -0
  409. package/src/primitives/composer.ts +8 -18
  410. package/src/primitives/dropdownMenuRenderPrimitives.test.tsx +64 -0
  411. package/src/primitives/dropdownMenuRenderPrimitives.ts +15 -0
  412. package/src/primitives/error/ErrorMessage.tsx +5 -1
  413. package/src/primitives/error/ErrorRoot.tsx +5 -1
  414. package/src/primitives/message/MessageError.ts +1 -1
  415. package/src/primitives/message/MessagePartsGrouped.tsx +1 -1
  416. package/src/primitives/message/MessageRoot.tsx +1 -1
  417. package/src/primitives/messagePart/MessagePartImage.tsx +6 -1
  418. package/src/primitives/messagePart/MessagePartInProgress.ts +1 -1
  419. package/src/primitives/messagePart/MessagePartText.tsx +3 -3
  420. package/src/primitives/queueItem/QueueItemRemove.ts +2 -2
  421. package/src/primitives/queueItem/QueueItemSteer.ts +2 -2
  422. package/src/primitives/suggestion/SuggestionDescription.tsx +5 -1
  423. package/src/primitives/suggestion/SuggestionTitle.tsx +5 -1
  424. package/src/primitives/suggestion/SuggestionTrigger.ts +2 -2
  425. package/src/primitives/thread/ThreadRoot.tsx +5 -1
  426. package/src/primitives/thread/ThreadScrollToBottom.ts +2 -2
  427. package/src/primitives/thread/ThreadSuggestion.ts +2 -4
  428. package/src/primitives/thread/ThreadViewport.tsx +1 -1
  429. package/src/primitives/thread/ThreadViewportFooter.tsx +1 -1
  430. package/src/primitives/threadList/ThreadListNew.tsx +1 -1
  431. package/src/primitives/threadList/ThreadListRoot.tsx +5 -1
  432. package/src/primitives/threadListItem/ThreadListItemArchive.ts +2 -2
  433. package/src/primitives/threadListItem/ThreadListItemDelete.ts +2 -2
  434. package/src/primitives/threadListItem/ThreadListItemRoot.tsx +5 -1
  435. package/src/primitives/threadListItem/ThreadListItemTrigger.ts +2 -2
  436. package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +2 -2
  437. package/src/primitives/threadListItemMore/ThreadListItemMoreContent.tsx +10 -4
  438. package/src/primitives/threadListItemMore/ThreadListItemMoreItem.tsx +7 -7
  439. package/src/primitives/threadListItemMore/ThreadListItemMoreRoot.tsx +2 -2
  440. package/src/primitives/threadListItemMore/ThreadListItemMoreSeparator.tsx +7 -5
  441. package/src/primitives/threadListItemMore/ThreadListItemMoreTrigger.tsx +7 -7
  442. package/src/tests/DataRenderers.test.ts +174 -41
  443. package/src/unstable/useMentionAdapter.ts +220 -0
  444. package/src/unstable/useSlashCommandAdapter.ts +79 -50
  445. package/src/utils/Primitive.test.tsx +7 -1
  446. package/src/utils/Primitive.tsx +49 -16
  447. package/src/utils/createActionButton.tsx +3 -3
  448. package/src/utils/hooks/useManagedRef.ts +2 -2
  449. package/src/utils/json/is-json.ts +1 -1
  450. package/src/utils/smooth/SmoothContext.tsx +5 -5
  451. package/dist/primitives/composer/mention/ComposerMentionContext.d.ts +0 -25
  452. package/dist/primitives/composer/mention/ComposerMentionContext.d.ts.map +0 -1
  453. package/dist/primitives/composer/mention/ComposerMentionContext.js +0 -74
  454. package/dist/primitives/composer/mention/ComposerMentionContext.js.map +0 -1
  455. package/dist/primitives/composer/mention/index.d.ts +0 -6
  456. package/dist/primitives/composer/mention/index.d.ts.map +0 -1
  457. package/dist/primitives/composer/mention/index.js +0 -8
  458. package/dist/primitives/composer/mention/index.js.map +0 -1
  459. package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.d.ts +0 -36
  460. package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.d.ts.map +0 -1
  461. package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.js +0 -36
  462. package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.js.map +0 -1
  463. package/dist/primitives/composer/slash-command/index.d.ts +0 -2
  464. package/dist/primitives/composer/slash-command/index.d.ts.map +0 -1
  465. package/dist/primitives/composer/slash-command/index.js +0 -2
  466. package/dist/primitives/composer/slash-command/index.js.map +0 -1
  467. package/dist/primitives/composer/trigger/TriggerPopoverContext.d.ts +0 -37
  468. package/dist/primitives/composer/trigger/TriggerPopoverContext.d.ts.map +0 -1
  469. package/dist/primitives/composer/trigger/TriggerPopoverContext.js +0 -70
  470. package/dist/primitives/composer/trigger/TriggerPopoverContext.js.map +0 -1
  471. package/dist/primitives/composer/trigger/TriggerPopoverPopover.d.ts +0 -26
  472. package/dist/primitives/composer/trigger/TriggerPopoverPopover.d.ts.map +0 -1
  473. package/dist/primitives/composer/trigger/TriggerPopoverPopover.js +0 -28
  474. package/dist/primitives/composer/trigger/TriggerPopoverPopover.js.map +0 -1
  475. package/dist/unstable/useToolMentionAdapter.d.ts +0 -42
  476. package/dist/unstable/useToolMentionAdapter.d.ts.map +0 -1
  477. package/dist/unstable/useToolMentionAdapter.js +0 -65
  478. package/dist/unstable/useToolMentionAdapter.js.map +0 -1
  479. package/src/primitives/composer/mention/ComposerMentionContext.tsx +0 -175
  480. package/src/primitives/composer/mention/index.ts +0 -19
  481. package/src/primitives/composer/slash-command/ComposerSlashCommandRoot.tsx +0 -76
  482. package/src/primitives/composer/slash-command/index.ts +0 -1
  483. package/src/primitives/composer/trigger/TriggerPopoverContext.tsx +0 -129
  484. package/src/primitives/composer/trigger/TriggerPopoverPopover.tsx +0 -51
  485. package/src/unstable/useToolMentionAdapter.ts +0 -114
@@ -9,13 +9,9 @@ import {
9
9
  useCallback,
10
10
  } from "react";
11
11
  import { composeEventHandlers } from "@radix-ui/primitive";
12
- import { useTriggerPopoverContext } from "./TriggerPopoverContext";
12
+ import { useTriggerPopoverScopeContext } from "./TriggerPopover";
13
13
  import type { Unstable_TriggerCategory } from "@assistant-ui/core";
14
14
 
15
- // =============================================================================
16
- // TriggerPopoverCategories — Renders the list of categories
17
- // =============================================================================
18
-
19
15
  export namespace ComposerPrimitiveTriggerPopoverCategories {
20
16
  export type Element = ComponentRef<typeof Primitive.div>;
21
17
  export type Props = Omit<
@@ -34,10 +30,10 @@ export const ComposerPrimitiveTriggerPopoverCategories = forwardRef<
34
30
  ComposerPrimitiveTriggerPopoverCategories.Element,
35
31
  ComposerPrimitiveTriggerPopoverCategories.Props
36
32
  >(({ children, "aria-label": ariaLabel, ...props }, forwardedRef) => {
37
- const { categories, activeCategoryId, isSearchMode } =
38
- useTriggerPopoverContext();
33
+ const { categories, activeCategoryId, isSearchMode, open } =
34
+ useTriggerPopoverScopeContext();
39
35
 
40
- if (activeCategoryId || isSearchMode) return null;
36
+ if (!open || activeCategoryId || isSearchMode) return null;
41
37
 
42
38
  return (
43
39
  <Primitive.div
@@ -54,10 +50,6 @@ export const ComposerPrimitiveTriggerPopoverCategories = forwardRef<
54
50
  ComposerPrimitiveTriggerPopoverCategories.displayName =
55
51
  "ComposerPrimitive.TriggerPopoverCategories";
56
52
 
57
- // =============================================================================
58
- // TriggerPopoverCategoryItem — A single category row
59
- // =============================================================================
60
-
61
53
  export namespace ComposerPrimitiveTriggerPopoverCategoryItem {
62
54
  export type Element = ComponentRef<typeof Primitive.button>;
63
55
  export type Props = ComponentPropsWithoutRef<typeof Primitive.button> & {
@@ -72,24 +64,28 @@ export namespace ComposerPrimitiveTriggerPopoverCategoryItem {
72
64
  export const ComposerPrimitiveTriggerPopoverCategoryItem = forwardRef<
73
65
  ComposerPrimitiveTriggerPopoverCategoryItem.Element,
74
66
  ComposerPrimitiveTriggerPopoverCategoryItem.Props
75
- >(({ categoryId, onClick, ...props }, forwardedRef) => {
67
+ >(({ categoryId, onClick, onMouseMove, ...props }, forwardedRef) => {
76
68
  const {
77
69
  selectCategory,
70
+ highlightIndex,
78
71
  categories,
79
72
  highlightedIndex,
80
73
  activeCategoryId,
81
74
  isSearchMode,
82
75
  popoverId,
83
- } = useTriggerPopoverContext();
76
+ } = useTriggerPopoverScopeContext();
84
77
 
85
78
  const handleClick = useCallback(() => {
86
79
  selectCategory(categoryId);
87
80
  }, [selectCategory, categoryId]);
88
81
 
82
+ const categoryIndex = categories.findIndex((c) => c.id === categoryId);
89
83
  const isHighlighted =
90
- !activeCategoryId &&
91
- !isSearchMode &&
92
- categories.findIndex((c) => c.id === categoryId) === highlightedIndex;
84
+ !activeCategoryId && !isSearchMode && categoryIndex === highlightedIndex;
85
+
86
+ const handleMouseMove = useCallback(() => {
87
+ highlightIndex(categoryIndex);
88
+ }, [highlightIndex, categoryIndex]);
93
89
 
94
90
  return (
95
91
  <Primitive.button
@@ -101,6 +97,7 @@ export const ComposerPrimitiveTriggerPopoverCategoryItem = forwardRef<
101
97
  {...props}
102
98
  ref={forwardedRef}
103
99
  onClick={composeEventHandlers(onClick, handleClick)}
100
+ onMouseMove={composeEventHandlers(onMouseMove, handleMouseMove)}
104
101
  />
105
102
  );
106
103
  });
@@ -0,0 +1,57 @@
1
+ "use client";
2
+
3
+ import type {
4
+ Unstable_DirectiveFormatter,
5
+ Unstable_TriggerItem,
6
+ } from "@assistant-ui/core";
7
+ import { unstable_defaultDirectiveFormatter } from "@assistant-ui/core";
8
+ import { useEffect, useRef, type FC } from "react";
9
+ import { useTriggerBehaviorRegistration } from "./TriggerPopover";
10
+ import type { TriggerBehavior } from "./triggerSelectionResource";
11
+
12
+ export namespace ComposerPrimitiveTriggerPopoverDirective {
13
+ export type Props = {
14
+ /** Defaults to `unstable_defaultDirectiveFormatter`. */
15
+ readonly formatter?: Unstable_DirectiveFormatter | undefined;
16
+ /** Fires after an item has been inserted into the composer. */
17
+ readonly onInserted?: ((item: Unstable_TriggerItem) => void) | undefined;
18
+ };
19
+ }
20
+
21
+ /**
22
+ * Configures a `<TriggerPopover>` to insert a directive chip when an item is
23
+ * selected. Render exactly one behavior sub-primitive per `<TriggerPopover>`.
24
+ *
25
+ * Exposed as `ComposerPrimitive.Unstable_TriggerPopover.Directive`.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * <ComposerPrimitive.Unstable_TriggerPopover char="@" adapter={mentionAdapter}>
30
+ * <ComposerPrimitive.Unstable_TriggerPopover.Directive
31
+ * formatter={unstable_defaultDirectiveFormatter}
32
+ * onInserted={(item) => track("mention", item.id)}
33
+ * />
34
+ * </ComposerPrimitive.Unstable_TriggerPopover>
35
+ * ```
36
+ */
37
+ export const ComposerPrimitiveTriggerPopoverDirective: FC<
38
+ ComposerPrimitiveTriggerPopoverDirective.Props
39
+ > = ({ formatter, onInserted }) => {
40
+ const { register } = useTriggerBehaviorRegistration();
41
+ const onInsertedRef = useRef(onInserted);
42
+ onInsertedRef.current = onInserted;
43
+
44
+ useEffect(() => {
45
+ const behavior: TriggerBehavior = {
46
+ kind: "directive",
47
+ formatter: formatter ?? unstable_defaultDirectiveFormatter,
48
+ onInserted: (item) => onInsertedRef.current?.(item),
49
+ };
50
+ return register(behavior);
51
+ }, [register, formatter]);
52
+
53
+ return null;
54
+ };
55
+
56
+ ComposerPrimitiveTriggerPopoverDirective.displayName =
57
+ "ComposerPrimitive.TriggerPopoverDirective";
@@ -9,13 +9,9 @@ import {
9
9
  useCallback,
10
10
  } from "react";
11
11
  import { composeEventHandlers } from "@radix-ui/primitive";
12
- import { useTriggerPopoverContext } from "./TriggerPopoverContext";
12
+ import { useTriggerPopoverScopeContext } from "./TriggerPopover";
13
13
  import type { Unstable_TriggerItem } from "@assistant-ui/core";
14
14
 
15
- // =============================================================================
16
- // TriggerPopoverItems — Renders the list of items within a category
17
- // =============================================================================
18
-
19
15
  export namespace ComposerPrimitiveTriggerPopoverItems {
20
16
  export type Element = ComponentRef<typeof Primitive.div>;
21
17
  export type Props = Omit<
@@ -34,9 +30,10 @@ export const ComposerPrimitiveTriggerPopoverItems = forwardRef<
34
30
  ComposerPrimitiveTriggerPopoverItems.Element,
35
31
  ComposerPrimitiveTriggerPopoverItems.Props
36
32
  >(({ children, "aria-label": ariaLabel, ...props }, forwardedRef) => {
37
- const { items, activeCategoryId, isSearchMode } = useTriggerPopoverContext();
33
+ const { items, activeCategoryId, isSearchMode, open } =
34
+ useTriggerPopoverScopeContext();
38
35
 
39
- if (!activeCategoryId && !isSearchMode) return null;
36
+ if (!open || (!activeCategoryId && !isSearchMode)) return null;
40
37
 
41
38
  return (
42
39
  <Primitive.div
@@ -53,10 +50,6 @@ export const ComposerPrimitiveTriggerPopoverItems = forwardRef<
53
50
  ComposerPrimitiveTriggerPopoverItems.displayName =
54
51
  "ComposerPrimitive.TriggerPopoverItems";
55
52
 
56
- // =============================================================================
57
- // TriggerPopoverItem — A single selectable item
58
- // =============================================================================
59
-
60
53
  export namespace ComposerPrimitiveTriggerPopoverItem {
61
54
  export type Element = ComponentRef<typeof Primitive.button>;
62
55
  export type Props = ComponentPropsWithoutRef<typeof Primitive.button> & {
@@ -72,38 +65,49 @@ export namespace ComposerPrimitiveTriggerPopoverItem {
72
65
  export const ComposerPrimitiveTriggerPopoverItem = forwardRef<
73
66
  ComposerPrimitiveTriggerPopoverItem.Element,
74
67
  ComposerPrimitiveTriggerPopoverItem.Props
75
- >(({ item, index: indexProp, onClick, ...props }, forwardedRef) => {
76
- const {
77
- selectItem,
78
- items,
79
- highlightedIndex,
80
- activeCategoryId,
81
- isSearchMode,
82
- popoverId,
83
- } = useTriggerPopoverContext();
68
+ >(
69
+ (
70
+ { item, index: indexProp, onClick, onMouseMove, ...props },
71
+ forwardedRef,
72
+ ) => {
73
+ const {
74
+ selectItem,
75
+ highlightIndex,
76
+ items,
77
+ highlightedIndex,
78
+ activeCategoryId,
79
+ isSearchMode,
80
+ popoverId,
81
+ } = useTriggerPopoverScopeContext();
84
82
 
85
- const handleClick = useCallback(() => {
86
- selectItem(item);
87
- }, [selectItem, item]);
83
+ const handleClick = useCallback(() => {
84
+ selectItem(item);
85
+ }, [selectItem, item]);
88
86
 
89
- const itemIndex = indexProp ?? items.findIndex((i) => i.id === item.id);
90
- const isHighlighted =
91
- (isSearchMode || activeCategoryId !== null) &&
92
- itemIndex === highlightedIndex;
87
+ const itemIndex = indexProp ?? items.findIndex((i) => i.id === item.id);
88
+ const isHighlighted =
89
+ (isSearchMode || activeCategoryId !== null) &&
90
+ itemIndex === highlightedIndex;
93
91
 
94
- return (
95
- <Primitive.button
96
- type="button"
97
- role="option"
98
- id={`${popoverId}-option-${item.id}`}
99
- aria-selected={isHighlighted}
100
- data-highlighted={isHighlighted ? "" : undefined}
101
- {...props}
102
- ref={forwardedRef}
103
- onClick={composeEventHandlers(onClick, handleClick)}
104
- />
105
- );
106
- });
92
+ const handleMouseMove = useCallback(() => {
93
+ highlightIndex(itemIndex);
94
+ }, [highlightIndex, itemIndex]);
95
+
96
+ return (
97
+ <Primitive.button
98
+ type="button"
99
+ role="option"
100
+ id={`${popoverId}-option-${item.id}`}
101
+ aria-selected={isHighlighted}
102
+ data-highlighted={isHighlighted ? "" : undefined}
103
+ {...props}
104
+ ref={forwardedRef}
105
+ onClick={composeEventHandlers(onClick, handleClick)}
106
+ onMouseMove={composeEventHandlers(onMouseMove, handleMouseMove)}
107
+ />
108
+ );
109
+ },
110
+ );
107
111
 
108
112
  ComposerPrimitiveTriggerPopoverItem.displayName =
109
113
  "ComposerPrimitive.TriggerPopoverItem";