@assistant-ui/react 0.12.25 → 0.12.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) 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/MessageIf.js +1 -1
  233. package/dist/primitives/message/MessageIf.js.map +1 -1
  234. package/dist/primitives/message/MessagePartsGrouped.d.ts +1 -1
  235. package/dist/primitives/message/MessagePartsGrouped.d.ts.map +1 -1
  236. package/dist/primitives/message/MessageRoot.d.ts +1 -1
  237. package/dist/primitives/message/MessageRoot.d.ts.map +1 -1
  238. package/dist/primitives/messagePart/MessagePartImage.d.ts +1 -1
  239. package/dist/primitives/messagePart/MessagePartImage.d.ts.map +1 -1
  240. package/dist/primitives/messagePart/MessagePartImage.js +2 -1
  241. package/dist/primitives/messagePart/MessagePartImage.js.map +1 -1
  242. package/dist/primitives/messagePart/MessagePartInProgress.d.ts +1 -1
  243. package/dist/primitives/messagePart/MessagePartInProgress.d.ts.map +1 -1
  244. package/dist/primitives/messagePart/MessagePartText.d.ts +2 -2
  245. package/dist/primitives/messagePart/MessagePartText.d.ts.map +1 -1
  246. package/dist/primitives/queueItem/QueueItemRemove.d.ts +1 -1
  247. package/dist/primitives/queueItem/QueueItemRemove.d.ts.map +1 -1
  248. package/dist/primitives/queueItem/QueueItemSteer.d.ts +1 -1
  249. package/dist/primitives/queueItem/QueueItemSteer.d.ts.map +1 -1
  250. package/dist/primitives/suggestion/SuggestionDescription.d.ts +1 -1
  251. package/dist/primitives/suggestion/SuggestionDescription.d.ts.map +1 -1
  252. package/dist/primitives/suggestion/SuggestionDescription.js +1 -1
  253. package/dist/primitives/suggestion/SuggestionDescription.js.map +1 -1
  254. package/dist/primitives/suggestion/SuggestionTitle.d.ts +1 -1
  255. package/dist/primitives/suggestion/SuggestionTitle.d.ts.map +1 -1
  256. package/dist/primitives/suggestion/SuggestionTitle.js +1 -1
  257. package/dist/primitives/suggestion/SuggestionTitle.js.map +1 -1
  258. package/dist/primitives/suggestion/SuggestionTrigger.d.ts +1 -1
  259. package/dist/primitives/suggestion/SuggestionTrigger.d.ts.map +1 -1
  260. package/dist/primitives/thread/ThreadRoot.d.ts +1 -1
  261. package/dist/primitives/thread/ThreadRoot.d.ts.map +1 -1
  262. package/dist/primitives/thread/ThreadRoot.js +1 -1
  263. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  264. package/dist/primitives/thread/ThreadScrollToBottom.d.ts +1 -1
  265. package/dist/primitives/thread/ThreadScrollToBottom.d.ts.map +1 -1
  266. package/dist/primitives/thread/ThreadSuggestion.d.ts +1 -1
  267. package/dist/primitives/thread/ThreadSuggestion.d.ts.map +1 -1
  268. package/dist/primitives/thread/ThreadSuggestion.js +0 -2
  269. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  270. package/dist/primitives/thread/ThreadViewport.d.ts +1 -1
  271. package/dist/primitives/thread/ThreadViewport.d.ts.map +1 -1
  272. package/dist/primitives/thread/ThreadViewportFooter.d.ts +1 -1
  273. package/dist/primitives/thread/ThreadViewportFooter.d.ts.map +1 -1
  274. package/dist/primitives/threadList/ThreadListNew.d.ts +1 -1
  275. package/dist/primitives/threadList/ThreadListNew.d.ts.map +1 -1
  276. package/dist/primitives/threadList/ThreadListRoot.d.ts +1 -1
  277. package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -1
  278. package/dist/primitives/threadList/ThreadListRoot.js +1 -1
  279. package/dist/primitives/threadList/ThreadListRoot.js.map +1 -1
  280. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts +1 -1
  281. package/dist/primitives/threadListItem/ThreadListItemArchive.d.ts.map +1 -1
  282. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts +1 -1
  283. package/dist/primitives/threadListItem/ThreadListItemDelete.d.ts.map +1 -1
  284. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts +1 -1
  285. package/dist/primitives/threadListItem/ThreadListItemRoot.d.ts.map +1 -1
  286. package/dist/primitives/threadListItem/ThreadListItemRoot.js +1 -1
  287. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
  288. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts +1 -1
  289. package/dist/primitives/threadListItem/ThreadListItemTrigger.d.ts.map +1 -1
  290. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts +1 -1
  291. package/dist/primitives/threadListItem/ThreadListItemUnarchive.d.ts.map +1 -1
  292. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts +5 -2
  293. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.d.ts.map +1 -1
  294. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js +3 -2
  295. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js.map +1 -1
  296. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts +7 -4
  297. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.d.ts.map +1 -1
  298. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js +2 -2
  299. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js.map +1 -1
  300. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts +1 -1
  301. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.d.ts.map +1 -1
  302. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js.map +1 -1
  303. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts +7 -4
  304. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.d.ts.map +1 -1
  305. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js +2 -2
  306. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js.map +1 -1
  307. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts +7 -4
  308. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.d.ts.map +1 -1
  309. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js +2 -2
  310. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js.map +1 -1
  311. package/dist/unstable/useMentionAdapter.d.ts +80 -0
  312. package/dist/unstable/useMentionAdapter.d.ts.map +1 -0
  313. package/dist/unstable/useMentionAdapter.js +129 -0
  314. package/dist/unstable/useMentionAdapter.js.map +1 -0
  315. package/dist/unstable/useSlashCommandAdapter.d.ts +32 -17
  316. package/dist/unstable/useSlashCommandAdapter.d.ts.map +1 -1
  317. package/dist/unstable/useSlashCommandAdapter.js +56 -32
  318. package/dist/unstable/useSlashCommandAdapter.js.map +1 -1
  319. package/dist/utils/Primitive.d.ts +6 -4
  320. package/dist/utils/Primitive.d.ts.map +1 -1
  321. package/dist/utils/Primitive.js +15 -8
  322. package/dist/utils/Primitive.js.map +1 -1
  323. package/dist/utils/createActionButton.d.ts +1 -1
  324. package/dist/utils/createActionButton.d.ts.map +1 -1
  325. package/dist/utils/hooks/useManagedRef.d.ts +1 -1
  326. package/dist/utils/hooks/useManagedRef.d.ts.map +1 -1
  327. package/dist/utils/hooks/useManagedRef.js.map +1 -1
  328. package/dist/utils/json/is-json.d.ts +1 -1
  329. package/dist/utils/json/is-json.d.ts.map +1 -1
  330. package/dist/utils/smooth/SmoothContext.d.ts +2 -2
  331. package/dist/utils/smooth/SmoothContext.d.ts.map +1 -1
  332. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  333. package/package.json +10 -10
  334. package/src/augmentations.ts +2 -0
  335. package/src/client/InMemoryThreadList.ts +1 -0
  336. package/src/client/SingleThreadList.ts +1 -0
  337. package/src/context/providers/MessageProvider.tsx +1 -1
  338. package/src/context/providers/ThreadViewportProvider.tsx +1 -1
  339. package/src/context/react/ThreadViewportContext.ts +3 -3
  340. package/src/context/react/utils/createContextHook.ts +1 -1
  341. package/src/context/react/utils/createContextStoreHook.ts +2 -2
  342. package/src/context/react/utils/createStateHookForRuntime.ts +2 -1
  343. package/src/devtools/DevToolsHooks.ts +5 -1
  344. package/src/index.ts +27 -56
  345. package/src/legacy-runtime/AssistantRuntimeProvider.tsx +3 -3
  346. package/src/legacy-runtime/cloud/auiV0.ts +6 -3
  347. package/src/legacy-runtime/cloud/useCloudThreadListRuntime.ts +1 -1
  348. package/src/legacy-runtime/hooks/AssistantContext.ts +1 -1
  349. package/src/legacy-runtime/hooks/AttachmentContext.ts +1 -1
  350. package/src/legacy-runtime/hooks/ComposerContext.ts +1 -1
  351. package/src/legacy-runtime/hooks/MessageContext.ts +1 -1
  352. package/src/legacy-runtime/hooks/MessagePartContext.ts +1 -1
  353. package/src/legacy-runtime/hooks/ThreadContext.ts +1 -1
  354. package/src/legacy-runtime/hooks/ThreadListItemContext.ts +1 -1
  355. package/src/legacy-runtime/runtime-cores/assistant-transport/commandQueue.ts +1 -1
  356. package/src/legacy-runtime/runtime-cores/assistant-transport/types.ts +2 -2
  357. package/src/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.ts +20 -4
  358. package/src/legacy-runtime/runtime-cores/assistant-transport/useToolInvocations.test.ts +8 -2
  359. package/src/model-context/frame/useAssistantFrameHost.ts +1 -1
  360. package/src/model-context/makeAssistantVisible.tsx +3 -3
  361. package/src/primitives/actionBar/ActionBarCopy.tsx +1 -1
  362. package/src/primitives/actionBar/ActionBarEdit.ts +2 -2
  363. package/src/primitives/actionBar/ActionBarExportMarkdown.tsx +1 -1
  364. package/src/primitives/actionBar/ActionBarFeedbackNegative.tsx +1 -1
  365. package/src/primitives/actionBar/ActionBarFeedbackPositive.tsx +1 -1
  366. package/src/primitives/actionBar/ActionBarReload.ts +2 -2
  367. package/src/primitives/actionBar/ActionBarRoot.tsx +1 -1
  368. package/src/primitives/actionBar/ActionBarSpeak.ts +2 -2
  369. package/src/primitives/actionBar/ActionBarStopSpeaking.tsx +1 -1
  370. package/src/primitives/actionBarMore/ActionBarMoreContent.tsx +10 -4
  371. package/src/primitives/actionBarMore/ActionBarMoreItem.tsx +7 -7
  372. package/src/primitives/actionBarMore/ActionBarMoreRoot.tsx +2 -2
  373. package/src/primitives/actionBarMore/ActionBarMoreSeparator.tsx +7 -5
  374. package/src/primitives/actionBarMore/ActionBarMoreTrigger.tsx +7 -7
  375. package/src/primitives/assistantModal/AssistantModalAnchor.tsx +6 -2
  376. package/src/primitives/assistantModal/AssistantModalContent.tsx +6 -2
  377. package/src/primitives/assistantModal/AssistantModalRoot.tsx +2 -2
  378. package/src/primitives/assistantModal/AssistantModalTrigger.tsx +6 -2
  379. package/src/primitives/attachment/AttachmentRemove.ts +2 -2
  380. package/src/primitives/attachment/AttachmentRoot.tsx +5 -1
  381. package/src/primitives/attachment/AttachmentThumb.tsx +5 -1
  382. package/src/primitives/branchPicker/BranchPickerNext.ts +2 -2
  383. package/src/primitives/branchPicker/BranchPickerPrevious.ts +2 -2
  384. package/src/primitives/branchPicker/BranchPickerRoot.tsx +5 -1
  385. package/src/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.ts +2 -2
  386. package/src/primitives/chainOfThought/ChainOfThoughtRoot.tsx +5 -1
  387. package/src/primitives/composer/ComposerAddAttachment.ts +2 -2
  388. package/src/primitives/composer/ComposerAttachmentDropzone.test.tsx +125 -0
  389. package/src/primitives/composer/ComposerAttachmentDropzone.tsx +11 -8
  390. package/src/primitives/composer/ComposerCancel.ts +2 -2
  391. package/src/primitives/composer/ComposerDictationTranscript.tsx +5 -1
  392. package/src/primitives/composer/ComposerInput.tsx +33 -1
  393. package/src/primitives/composer/ComposerInputPluginContext.tsx +37 -24
  394. package/src/primitives/composer/ComposerRoot.tsx +1 -1
  395. package/src/primitives/composer/ComposerSend.ts +2 -2
  396. package/src/primitives/composer/trigger/TriggerPopover.tsx +207 -0
  397. package/src/primitives/composer/trigger/TriggerPopoverAction.tsx +61 -0
  398. package/src/primitives/composer/trigger/TriggerPopoverBack.tsx +4 -3
  399. package/src/primitives/composer/trigger/TriggerPopoverCategories.tsx +14 -17
  400. package/src/primitives/composer/trigger/TriggerPopoverDirective.tsx +57 -0
  401. package/src/primitives/composer/trigger/TriggerPopoverItems.tsx +44 -40
  402. package/src/primitives/composer/trigger/TriggerPopoverResource.ts +76 -315
  403. package/src/primitives/composer/trigger/TriggerPopoverRootContext.tsx +212 -0
  404. package/src/primitives/composer/trigger/detectTrigger.test.ts +36 -0
  405. package/src/primitives/composer/trigger/detectTrigger.ts +1 -1
  406. package/src/primitives/composer/trigger/index.ts +21 -5
  407. package/src/primitives/composer/trigger/triggerDetectionResource.ts +43 -0
  408. package/src/primitives/composer/trigger/triggerKeyboardResource.ts +151 -0
  409. package/src/primitives/composer/trigger/triggerNavigationResource.ts +145 -0
  410. package/src/primitives/composer/trigger/triggerSelectionResource.ts +122 -0
  411. package/src/primitives/composer.ts +8 -18
  412. package/src/primitives/dropdownMenuRenderPrimitives.test.tsx +64 -0
  413. package/src/primitives/dropdownMenuRenderPrimitives.ts +15 -0
  414. package/src/primitives/error/ErrorMessage.tsx +5 -1
  415. package/src/primitives/error/ErrorRoot.tsx +5 -1
  416. package/src/primitives/message/MessageError.ts +1 -1
  417. package/src/primitives/message/MessageIf.ts +1 -1
  418. package/src/primitives/message/MessagePartsGrouped.tsx +1 -1
  419. package/src/primitives/message/MessageRoot.tsx +1 -1
  420. package/src/primitives/messagePart/MessagePartImage.tsx +6 -1
  421. package/src/primitives/messagePart/MessagePartInProgress.ts +1 -1
  422. package/src/primitives/messagePart/MessagePartText.tsx +3 -3
  423. package/src/primitives/queueItem/QueueItemRemove.ts +2 -2
  424. package/src/primitives/queueItem/QueueItemSteer.ts +2 -2
  425. package/src/primitives/suggestion/SuggestionDescription.tsx +5 -1
  426. package/src/primitives/suggestion/SuggestionTitle.tsx +5 -1
  427. package/src/primitives/suggestion/SuggestionTrigger.ts +2 -2
  428. package/src/primitives/thread/ThreadRoot.tsx +5 -1
  429. package/src/primitives/thread/ThreadScrollToBottom.ts +2 -2
  430. package/src/primitives/thread/ThreadSuggestion.ts +2 -4
  431. package/src/primitives/thread/ThreadViewport.tsx +1 -1
  432. package/src/primitives/thread/ThreadViewportFooter.tsx +1 -1
  433. package/src/primitives/threadList/ThreadListNew.tsx +1 -1
  434. package/src/primitives/threadList/ThreadListRoot.tsx +5 -1
  435. package/src/primitives/threadListItem/ThreadListItemArchive.ts +2 -2
  436. package/src/primitives/threadListItem/ThreadListItemDelete.ts +2 -2
  437. package/src/primitives/threadListItem/ThreadListItemRoot.tsx +5 -1
  438. package/src/primitives/threadListItem/ThreadListItemTrigger.ts +2 -2
  439. package/src/primitives/threadListItem/ThreadListItemUnarchive.ts +2 -2
  440. package/src/primitives/threadListItemMore/ThreadListItemMoreContent.tsx +10 -4
  441. package/src/primitives/threadListItemMore/ThreadListItemMoreItem.tsx +7 -7
  442. package/src/primitives/threadListItemMore/ThreadListItemMoreRoot.tsx +2 -2
  443. package/src/primitives/threadListItemMore/ThreadListItemMoreSeparator.tsx +7 -5
  444. package/src/primitives/threadListItemMore/ThreadListItemMoreTrigger.tsx +7 -7
  445. package/src/tests/BaseComposerRuntimeCore.test.ts +143 -0
  446. package/src/tests/DataRenderers.test.ts +174 -41
  447. package/src/tests/MessageParts.loading.test.tsx +104 -0
  448. package/src/tests/RemoteThreadListRuntime.deferredProvider.test.tsx +79 -0
  449. package/src/unstable/useMentionAdapter.ts +220 -0
  450. package/src/unstable/useSlashCommandAdapter.ts +79 -50
  451. package/src/utils/Primitive.test.tsx +7 -1
  452. package/src/utils/Primitive.tsx +49 -16
  453. package/src/utils/createActionButton.tsx +3 -3
  454. package/src/utils/hooks/useManagedRef.ts +2 -2
  455. package/src/utils/json/is-json.ts +1 -1
  456. package/src/utils/smooth/SmoothContext.tsx +5 -5
  457. package/dist/primitives/composer/mention/ComposerMentionContext.d.ts +0 -25
  458. package/dist/primitives/composer/mention/ComposerMentionContext.d.ts.map +0 -1
  459. package/dist/primitives/composer/mention/ComposerMentionContext.js +0 -74
  460. package/dist/primitives/composer/mention/ComposerMentionContext.js.map +0 -1
  461. package/dist/primitives/composer/mention/index.d.ts +0 -6
  462. package/dist/primitives/composer/mention/index.d.ts.map +0 -1
  463. package/dist/primitives/composer/mention/index.js +0 -8
  464. package/dist/primitives/composer/mention/index.js.map +0 -1
  465. package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.d.ts +0 -36
  466. package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.d.ts.map +0 -1
  467. package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.js +0 -36
  468. package/dist/primitives/composer/slash-command/ComposerSlashCommandRoot.js.map +0 -1
  469. package/dist/primitives/composer/slash-command/index.d.ts +0 -2
  470. package/dist/primitives/composer/slash-command/index.d.ts.map +0 -1
  471. package/dist/primitives/composer/slash-command/index.js +0 -2
  472. package/dist/primitives/composer/slash-command/index.js.map +0 -1
  473. package/dist/primitives/composer/trigger/TriggerPopoverContext.d.ts +0 -37
  474. package/dist/primitives/composer/trigger/TriggerPopoverContext.d.ts.map +0 -1
  475. package/dist/primitives/composer/trigger/TriggerPopoverContext.js +0 -70
  476. package/dist/primitives/composer/trigger/TriggerPopoverContext.js.map +0 -1
  477. package/dist/primitives/composer/trigger/TriggerPopoverPopover.d.ts +0 -26
  478. package/dist/primitives/composer/trigger/TriggerPopoverPopover.d.ts.map +0 -1
  479. package/dist/primitives/composer/trigger/TriggerPopoverPopover.js +0 -28
  480. package/dist/primitives/composer/trigger/TriggerPopoverPopover.js.map +0 -1
  481. package/dist/unstable/useToolMentionAdapter.d.ts +0 -42
  482. package/dist/unstable/useToolMentionAdapter.d.ts.map +0 -1
  483. package/dist/unstable/useToolMentionAdapter.js +0 -65
  484. package/dist/unstable/useToolMentionAdapter.js.map +0 -1
  485. package/src/primitives/composer/mention/ComposerMentionContext.tsx +0 -175
  486. package/src/primitives/composer/mention/index.ts +0 -19
  487. package/src/primitives/composer/slash-command/ComposerSlashCommandRoot.tsx +0 -76
  488. package/src/primitives/composer/slash-command/index.ts +0 -1
  489. package/src/primitives/composer/trigger/TriggerPopoverContext.tsx +0 -129
  490. package/src/primitives/composer/trigger/TriggerPopoverPopover.tsx +0 -51
  491. package/src/unstable/useToolMentionAdapter.ts +0 -114
@@ -1,83 +1,112 @@
1
1
  "use client";
2
2
 
3
- import { useMemo } from "react";
3
+ import { useMemo, useRef } from "react";
4
4
  import type {
5
- Unstable_SlashCommandAdapter,
6
- Unstable_SlashCommandItem,
7
- Unstable_TriggerCategory,
5
+ Unstable_TriggerAdapter,
6
+ Unstable_TriggerItem,
8
7
  } from "@assistant-ui/core";
8
+ import type { Unstable_IconComponent } from "./useMentionAdapter";
9
9
 
10
- export type Unstable_SlashCommandDefinition = {
11
- /** Unique command name (e.g. "summarize"). */
12
- readonly name: string;
13
- /** Display label (e.g. "/summarize"). */
10
+ export type Unstable_SlashCommand = {
11
+ readonly id: string;
14
12
  readonly label?: string | undefined;
15
- /** Short description shown in the popover. */
16
13
  readonly description?: string | undefined;
17
- /** Icon identifier. */
18
14
  readonly icon?: string | undefined;
19
- /** Action to execute when the command is selected. */
20
- readonly execute?: (() => void) | undefined;
15
+ readonly execute: () => void;
21
16
  };
22
17
 
23
18
  export type Unstable_UseSlashCommandAdapterOptions = {
24
- /** List of available slash commands. */
25
- commands: readonly Unstable_SlashCommandDefinition[];
19
+ readonly commands: readonly Unstable_SlashCommand[];
20
+ /** Strip the trigger text from the composer after executing. @default false */
21
+ readonly removeOnExecute?: boolean | undefined;
22
+ /** Maps `metadata.icon` / `category.id` string keys to React components. */
23
+ readonly iconMap?: Record<string, Unstable_IconComponent>;
24
+ /** Fallback icon when no entry in `iconMap` matches. */
25
+ readonly fallbackIcon?: Unstable_IconComponent;
26
+ };
27
+
28
+ export type Unstable_SlashCommandAction = {
29
+ readonly onExecute: (item: Unstable_TriggerItem) => void;
30
+ readonly removeOnExecute?: boolean | undefined;
26
31
  };
27
32
 
28
33
  /**
29
- * @deprecated This API is still under active development and might change without notice.
34
+ * @deprecated Under active development and may change without notice.
30
35
  *
31
- * Creates a SlashCommandAdapter from a list of command definitions.
36
+ * Bundles slash command definitions (with inline `execute` callbacks) into
37
+ * `{adapter, action}` that plug directly into `ComposerTriggerPopover`.
38
+ * `execute` stays in the hook closure and is never attached to the returned
39
+ * `TriggerItem`, keeping items serializable.
32
40
  *
33
41
  * @example
34
42
  * ```tsx
35
- * const slashAdapter = unstable_useSlashCommandAdapter({
43
+ * const slash = unstable_useSlashCommandAdapter({
36
44
  * commands: [
37
- * { name: "summarize", description: "Summarize the conversation", execute: () => {} },
38
- * { name: "translate", description: "Translate text", execute: () => {} },
45
+ * { id: "summarize", execute: () => runSummarize(), icon: "FileText" },
46
+ * { id: "translate", execute: () => runTranslate(), icon: "Languages" },
39
47
  * ],
40
48
  * });
49
+ *
50
+ * <ComposerTriggerPopover char="/" {...slash} />
41
51
  * ```
42
52
  */
43
53
  export function unstable_useSlashCommandAdapter(
44
54
  options: Unstable_UseSlashCommandAdapterOptions,
45
- ): Unstable_SlashCommandAdapter {
46
- const { commands } = options;
55
+ ): {
56
+ adapter: Unstable_TriggerAdapter;
57
+ action: Unstable_SlashCommandAction;
58
+ iconMap?: Record<string, Unstable_IconComponent>;
59
+ fallbackIcon?: Unstable_IconComponent;
60
+ } {
61
+ const { commands, removeOnExecute } = options;
47
62
 
48
- return useMemo<Unstable_SlashCommandAdapter>(() => {
49
- // Build items lazily at call time so execute callbacks are always fresh
50
- const getItems = (): Unstable_SlashCommandItem[] =>
51
- commands.map((cmd) => ({
52
- id: cmd.name,
53
- type: "command",
54
- label: cmd.label ?? `/${cmd.name}`,
55
- description: cmd.description,
56
- icon: cmd.icon,
57
- execute: cmd.execute,
58
- }));
63
+ // biome-ignore lint/correctness/useHookAtTopLevel: `unstable_` prefix not recognized as hook
64
+ const commandsRef = useRef(commands);
65
+ commandsRef.current = commands;
59
66
 
60
- return {
61
- // No categories — slash commands show items directly via search mode
62
- categories(): Unstable_TriggerCategory[] {
63
- return [];
67
+ // biome-ignore lint/correctness/useHookAtTopLevel: `unstable_` prefix not recognized as hook
68
+ return useMemo(() => {
69
+ const adapter: Unstable_TriggerAdapter = {
70
+ categories: () => [],
71
+ categoryItems: () => [],
72
+ search: (query: string) => {
73
+ const lower = query.toLowerCase();
74
+ return commandsRef.current
75
+ .filter((c) => matchesQuery(c, lower))
76
+ .map(toItem);
64
77
  },
78
+ };
65
79
 
66
- categoryItems(): Unstable_SlashCommandItem[] {
67
- return [];
80
+ const action: Unstable_SlashCommandAction = {
81
+ onExecute: (item) => {
82
+ commandsRef.current.find((c) => c.id === item.id)?.execute();
68
83
  },
84
+ ...(removeOnExecute !== undefined ? { removeOnExecute } : {}),
85
+ };
69
86
 
70
- search(query: string): Unstable_SlashCommandItem[] {
71
- const items = getItems();
72
- if (!query) return items;
73
- const lower = query.toLowerCase();
74
- return items.filter(
75
- (item) =>
76
- item.id.toLowerCase().includes(lower) ||
77
- item.label.toLowerCase().includes(lower) ||
78
- item.description?.toLowerCase().includes(lower),
79
- );
80
- },
87
+ return {
88
+ adapter,
89
+ action,
90
+ ...(options.iconMap ? { iconMap: options.iconMap } : {}),
91
+ ...(options.fallbackIcon ? { fallbackIcon: options.fallbackIcon } : {}),
81
92
  };
82
- }, [commands]);
93
+ }, [removeOnExecute, options.iconMap, options.fallbackIcon]);
94
+ }
95
+
96
+ function toItem(cmd: Unstable_SlashCommand): Unstable_TriggerItem {
97
+ return {
98
+ id: cmd.id,
99
+ type: "command",
100
+ label: cmd.label ?? `/${cmd.id}`,
101
+ ...(cmd.description !== undefined ? { description: cmd.description } : {}),
102
+ ...(cmd.icon !== undefined ? { metadata: { icon: cmd.icon } } : {}),
103
+ };
104
+ }
105
+
106
+ function matchesQuery(cmd: Unstable_SlashCommand, lower: string): boolean {
107
+ if (!lower) return true;
108
+ if (cmd.id.toLowerCase().includes(lower)) return true;
109
+ if (cmd.label?.toLowerCase().includes(lower)) return true;
110
+ if (cmd.description?.toLowerCase().includes(lower)) return true;
111
+ return false;
83
112
  }
@@ -1,6 +1,6 @@
1
1
  import { describe, expect, it } from "vitest";
2
2
  import { renderToStaticMarkup } from "react-dom/server";
3
- import { Primitive } from "./Primitive";
3
+ import { Primitive, withRenderProp } from "./Primitive";
4
4
 
5
5
  const ALL_NODES = [
6
6
  "a",
@@ -70,6 +70,12 @@ describe("Primitive", () => {
70
70
  });
71
71
 
72
72
  describe("render prop edge cases", () => {
73
+ it("preserves a useful displayName on wrapped components", () => {
74
+ const Wrapped = withRenderProp(Primitive.div);
75
+
76
+ expect(Wrapped.displayName).toBe("Primitive.div");
77
+ });
78
+
73
79
  it("uses render element's own children as fallback", () => {
74
80
  const html = renderToStaticMarkup(
75
81
  <Primitive.span render={<em>Fallback</em>} />,
@@ -1,7 +1,9 @@
1
1
  import {
2
2
  type ComponentPropsWithoutRef,
3
3
  type ComponentRef,
4
+ type ElementType,
4
5
  type ForwardRefExoticComponent,
6
+ type PropsWithoutRef,
5
7
  type ReactElement,
6
8
  type ReactNode,
7
9
  type RefAttributes,
@@ -43,43 +45,74 @@ const NODES = [
43
45
  ] as const;
44
46
  type PrimitiveNode = (typeof NODES)[number];
45
47
 
46
- type PrimitiveProps<E extends PrimitiveNode> = ComponentPropsWithoutRef<
48
+ type WithRenderPropProps<T extends ElementType> =
49
+ ComponentPropsWithoutRef<T> & {
50
+ render?: ReactElement | undefined;
51
+ };
52
+
53
+ type PrimitiveProps<E extends PrimitiveNode> = WithRenderPropProps<
47
54
  (typeof RadixPrimitive)[E]
48
- > & {
49
- render?: ReactElement | undefined;
50
- };
55
+ >;
56
+
57
+ type WithRenderPropRuntimeProps<T extends ElementType> =
58
+ WithRenderPropProps<T> & {
59
+ asChild?: boolean | undefined;
60
+ children?: ReactNode | undefined;
61
+ };
51
62
 
52
63
  type PrimitiveRef<E extends PrimitiveNode> = ComponentRef<
53
64
  (typeof RadixPrimitive)[E]
54
65
  >;
55
66
 
56
- function createPrimitive<E extends PrimitiveNode>(node: E) {
57
- const RadixComp = RadixPrimitive[node];
67
+ function withRenderProp<T extends ElementType>(Component: T) {
68
+ const Wrapped = forwardRef<ComponentRef<T>, WithRenderPropRuntimeProps<T>>(
69
+ (
70
+ {
71
+ render,
72
+ asChild,
73
+ children,
74
+ ...rest
75
+ }: PropsWithoutRef<WithRenderPropRuntimeProps<T>>,
76
+ ref,
77
+ ) => {
78
+ const Comp = Component as any;
58
79
 
59
- const Component = forwardRef<PrimitiveRef<E>, PrimitiveProps<E>>(
60
- ({ render, asChild, children, ...props }, ref) => {
61
80
  if (render && isValidElement(render)) {
62
- // render={<Comp p />} + children
63
- // → asChild + <Comp p>{children}</Comp>
64
81
  const renderChildren =
65
82
  children !== undefined
66
83
  ? children
67
84
  : ((render.props as Record<string, unknown>).children as ReactNode);
85
+
68
86
  return (
69
- <RadixComp asChild {...(props as any)} ref={ref}>
87
+ <Comp {...(rest as any)} asChild ref={ref}>
70
88
  {cloneElement(render, undefined, renderChildren)}
71
- </RadixComp>
89
+ </Comp>
72
90
  );
73
91
  }
74
92
 
75
93
  return (
76
- <RadixComp asChild={asChild} {...(props as any)} ref={ref}>
94
+ <Comp {...(rest as any)} asChild={asChild} ref={ref}>
77
95
  {children}
78
- </RadixComp>
96
+ </Comp>
79
97
  );
80
98
  },
81
99
  );
82
100
 
101
+ const componentName =
102
+ typeof Component === "string"
103
+ ? Component
104
+ : (Component.displayName ?? Component.name ?? "Component");
105
+ Wrapped.displayName = componentName;
106
+
107
+ return Wrapped as ForwardRefExoticComponent<
108
+ WithRenderPropProps<T> & RefAttributes<ComponentRef<T>>
109
+ >;
110
+ }
111
+
112
+ function createPrimitive<E extends PrimitiveNode>(node: E) {
113
+ const RadixComp = RadixPrimitive[node];
114
+ const Component = withRenderProp(RadixComp);
115
+
83
116
  Component.displayName = `Primitive.${node}`;
84
117
  return Component as ForwardRefExoticComponent<
85
118
  PrimitiveProps<E> & RefAttributes<PrimitiveRef<E>>
@@ -96,5 +129,5 @@ const Primitive = NODES.reduce(
96
129
  },
97
130
  );
98
131
 
99
- export { Primitive };
100
- export type { PrimitiveProps };
132
+ export { Primitive, withRenderProp };
133
+ export type { PrimitiveProps, WithRenderPropProps };
@@ -1,8 +1,8 @@
1
1
  import {
2
- ComponentRef,
2
+ type ComponentRef,
3
3
  forwardRef,
4
- ComponentPropsWithoutRef,
5
- MouseEventHandler,
4
+ type ComponentPropsWithoutRef,
5
+ type MouseEventHandler,
6
6
  } from "react";
7
7
  import { Primitive } from "./Primitive";
8
8
  import { composeEventHandlers } from "@radix-ui/primitive";
@@ -1,9 +1,9 @@
1
1
  import { useCallback, useRef } from "react";
2
2
 
3
3
  export const useManagedRef = <TNode>(
4
- callback: (node: TNode) => (() => void) | void,
4
+ callback: (node: TNode) => (() => void) | undefined,
5
5
  ) => {
6
- const cleanupRef = useRef<(() => void) | void>(undefined);
6
+ const cleanupRef = useRef<(() => void) | undefined>(undefined);
7
7
 
8
8
  const ref = useCallback(
9
9
  (el: TNode | null) => {
@@ -1,4 +1,4 @@
1
- import {
1
+ import type {
2
2
  ReadonlyJSONArray,
3
3
  ReadonlyJSONObject,
4
4
  ReadonlyJSONValue,
@@ -1,16 +1,16 @@
1
1
  "use client";
2
2
 
3
3
  import {
4
- ComponentType,
4
+ type ComponentType,
5
5
  createContext,
6
- FC,
6
+ type FC,
7
7
  forwardRef,
8
- PropsWithChildren,
8
+ type PropsWithChildren,
9
9
  useContext,
10
10
  useState,
11
11
  } from "react";
12
- import { ReadonlyStore } from "../../context/ReadonlyStore";
13
- import { create, UseBoundStore } from "zustand";
12
+ import type { ReadonlyStore } from "../../context/ReadonlyStore";
13
+ import { create, type UseBoundStore } from "zustand";
14
14
  import type {
15
15
  MessagePartStatus,
16
16
  ToolCallMessagePartStatus,
@@ -1,25 +0,0 @@
1
- import { type ReactNode, type FC } from "react";
2
- import type { Unstable_MentionAdapter, Unstable_DirectiveFormatter } from "@assistant-ui/core";
3
- import type { TriggerPopoverResourceOutput, SelectItemOverride } from "../trigger/TriggerPopoverResource.js";
4
- type MentionResourceOutput = TriggerPopoverResourceOutput & {
5
- readonly formatter: Unstable_DirectiveFormatter;
6
- };
7
- export declare const useMentionContext: () => MentionResourceOutput;
8
- export declare const useMentionContextOptional: () => MentionResourceOutput | null;
9
- type MentionInternalContextValue = {
10
- registerSelectItemOverride(fn: SelectItemOverride): () => void;
11
- };
12
- export declare const useMentionInternalContext: () => MentionInternalContextValue | null;
13
- export declare namespace ComposerPrimitiveMentionRoot {
14
- type Props = {
15
- children: ReactNode;
16
- adapter?: Unstable_MentionAdapter | undefined;
17
- /** Character(s) that trigger the mention popover. @default "@" */
18
- trigger?: string | undefined;
19
- /** Custom formatter for serializing/parsing mention directives. */
20
- formatter?: Unstable_DirectiveFormatter | undefined;
21
- };
22
- }
23
- export declare const ComposerPrimitiveMentionRoot: FC<ComposerPrimitiveMentionRoot.Props>;
24
- export {};
25
- //# sourceMappingURL=ComposerMentionContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComposerMentionContext.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/mention/ComposerMentionContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EACV,4BAA4B,EAC5B,kBAAkB,EAEnB,6CAA0C;AAE3C,KAAK,qBAAqB,GAAG,4BAA4B,GAAG;IAC1D,QAAQ,CAAC,SAAS,EAAE,2BAA2B,CAAC;CACjD,CAAC;AAQF,eAAO,MAAM,iBAAiB,6BAO7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,oCAErC,CAAC;AAMF,KAAK,2BAA2B,GAAG;IACjC,0BAA0B,CAAC,EAAE,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAAC;CAChE,CAAC;AAKF,eAAO,MAAM,yBAAyB,0CAErC,CAAC;AAMF,yBAAiB,4BAA4B,CAAC;IAC5C,KAAY,KAAK,GAAG;QAClB,QAAQ,EAAE,SAAS,CAAC;QACpB,OAAO,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;QAC9C,kEAAkE;QAClE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,mEAAmE;QACnE,SAAS,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;KACrD,CAAC;CACH;AAED,eAAO,MAAM,4BAA4B,EAAE,EAAE,CAC3C,4BAA4B,CAAC,KAAK,CA4DnC,CAAC"}
@@ -1,74 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { createContext, useContext, useState, useCallback, useMemo, useEffect, } from "react";
4
- import { useAui } from "@assistant-ui/store";
5
- import { unstable_defaultDirectiveFormatter } from "@assistant-ui/core";
6
- import { ComposerPrimitiveTriggerPopoverRoot } from "../trigger/TriggerPopoverContext.js";
7
- // =============================================================================
8
- // Context — public (provides formatter on top of TriggerPopoverContext)
9
- // =============================================================================
10
- const MentionContext = createContext(null);
11
- export const useMentionContext = () => {
12
- const ctx = useContext(MentionContext);
13
- if (!ctx)
14
- throw new Error("useMentionContext must be used within ComposerPrimitive.MentionRoot");
15
- return ctx;
16
- };
17
- export const useMentionContextOptional = () => {
18
- return useContext(MentionContext);
19
- };
20
- const MentionInternalContext = createContext(null);
21
- export const useMentionInternalContext = () => {
22
- return useContext(MentionInternalContext);
23
- };
24
- export const ComposerPrimitiveMentionRoot = ({ children, adapter: adapterProp, trigger: triggerChar = "@", formatter: formatterProp, }) => {
25
- const aui = useAui();
26
- const formatter = formatterProp ?? unstable_defaultDirectiveFormatter;
27
- // ---------------------------------------------------------------------------
28
- // Runtime adapter (subscribe to state changes instead of useAuiState to avoid
29
- // infinite loop — getModelContext() returns a new object on every call)
30
- // ---------------------------------------------------------------------------
31
- const getRuntimeAdapter = useCallback(() => {
32
- try {
33
- const runtime = aui.composer().__internal_getRuntime?.();
34
- return runtime?._core?.getState()?.getMentionAdapter?.();
35
- }
36
- catch {
37
- return undefined;
38
- }
39
- }, [aui]);
40
- const [runtimeAdapter, setRuntimeAdapter] = useState(getRuntimeAdapter);
41
- useEffect(() => {
42
- return aui.subscribe(() => {
43
- setRuntimeAdapter((prev) => {
44
- const next = getRuntimeAdapter();
45
- return prev === next ? prev : next;
46
- });
47
- });
48
- }, [aui, getRuntimeAdapter]);
49
- const adapter = adapterProp ?? runtimeAdapter;
50
- // ---------------------------------------------------------------------------
51
- // onSelect behavior for mentions: insert directive text
52
- // ---------------------------------------------------------------------------
53
- const onSelect = useMemo(() => ({ type: "insertDirective", formatter }), [formatter]);
54
- // ---------------------------------------------------------------------------
55
- // MentionContext — provides formatter + delegates state to TriggerPopoverContext
56
- // We use useAuiState to read trigger popover state via the inner context.
57
- // For backward compat, MentionContext wraps TriggerPopoverContext output.
58
- // ---------------------------------------------------------------------------
59
- return (_jsx(ComposerPrimitiveTriggerPopoverRoot, { adapter: adapter, trigger: triggerChar, onSelect: onSelect, children: _jsx(MentionContextBridge, { formatter: formatter, children: children }) }));
60
- };
61
- ComposerPrimitiveMentionRoot.displayName = "ComposerPrimitive.MentionRoot";
62
- // =============================================================================
63
- // Bridge — reads TriggerPopoverContext, wraps it as MentionContext
64
- // =============================================================================
65
- import { useTriggerPopoverContext } from "../trigger/TriggerPopoverContext.js";
66
- const MentionContextBridge = ({ formatter, children }) => {
67
- const triggerCtx = useTriggerPopoverContext();
68
- const mentionValue = useMemo(() => ({ ...triggerCtx, formatter }), [triggerCtx, formatter]);
69
- const internalContextValue = useMemo(() => ({
70
- registerSelectItemOverride: triggerCtx.registerSelectItemOverride,
71
- }), [triggerCtx.registerSelectItemOverride]);
72
- return (_jsx(MentionContext.Provider, { value: mentionValue, children: _jsx(MentionInternalContext.Provider, { value: internalContextValue, children: children }) }));
73
- };
74
- //# sourceMappingURL=ComposerMentionContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComposerMentionContext.js","sourceRoot":"","sources":["../../../../src/primitives/composer/mention/ComposerMentionContext.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export { ComposerPrimitiveMentionRoot, useMentionContext, useMentionContextOptional, useMentionInternalContext, } from "./ComposerMentionContext.js";
2
- export { ComposerPrimitiveTriggerPopoverPopover as ComposerPrimitiveMentionPopover } from "../trigger/TriggerPopoverPopover.js";
3
- export { ComposerPrimitiveTriggerPopoverCategories as ComposerPrimitiveMentionCategories, ComposerPrimitiveTriggerPopoverCategoryItem as ComposerPrimitiveMentionCategoryItem, } from "../trigger/TriggerPopoverCategories.js";
4
- export { ComposerPrimitiveTriggerPopoverItems as ComposerPrimitiveMentionItems, ComposerPrimitiveTriggerPopoverItem as ComposerPrimitiveMentionItem, } from "../trigger/TriggerPopoverItems.js";
5
- export { ComposerPrimitiveTriggerPopoverBack as ComposerPrimitiveMentionBack } from "../trigger/TriggerPopoverBack.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/mention/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,GAC1B,oCAAiC;AAIlC,OAAO,EAAE,sCAAsC,IAAI,+BAA+B,EAAE,4CAAyC;AAC7H,OAAO,EACL,yCAAyC,IAAI,kCAAkC,EAC/E,2CAA2C,IAAI,oCAAoC,GACpF,+CAA4C;AAC7C,OAAO,EACL,oCAAoC,IAAI,6BAA6B,EACrE,mCAAmC,IAAI,4BAA4B,GACpE,0CAAuC;AACxC,OAAO,EAAE,mCAAmC,IAAI,4BAA4B,EAAE,yCAAsC"}
@@ -1,8 +0,0 @@
1
- export { ComposerPrimitiveMentionRoot, useMentionContext, useMentionContextOptional, useMentionInternalContext, } from "./ComposerMentionContext.js";
2
- // UI primitives — re-exported from the shared trigger popover implementation.
3
- // MentionRoot internally renders TriggerPopoverRoot, so these work within it.
4
- export { ComposerPrimitiveTriggerPopoverPopover as ComposerPrimitiveMentionPopover } from "../trigger/TriggerPopoverPopover.js";
5
- export { ComposerPrimitiveTriggerPopoverCategories as ComposerPrimitiveMentionCategories, ComposerPrimitiveTriggerPopoverCategoryItem as ComposerPrimitiveMentionCategoryItem, } from "../trigger/TriggerPopoverCategories.js";
6
- export { ComposerPrimitiveTriggerPopoverItems as ComposerPrimitiveMentionItems, ComposerPrimitiveTriggerPopoverItem as ComposerPrimitiveMentionItem, } from "../trigger/TriggerPopoverItems.js";
7
- export { ComposerPrimitiveTriggerPopoverBack as ComposerPrimitiveMentionBack } from "../trigger/TriggerPopoverBack.js";
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/primitives/composer/mention/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,GAC1B,oCAAiC;AAElC,8EAA8E;AAC9E,8EAA8E;AAC9E,OAAO,EAAE,sCAAsC,IAAI,+BAA+B,EAAE,4CAAyC;AAC7H,OAAO,EACL,yCAAyC,IAAI,kCAAkC,EAC/E,2CAA2C,IAAI,oCAAoC,GACpF,+CAA4C;AAC7C,OAAO,EACL,oCAAoC,IAAI,6BAA6B,EACrE,mCAAmC,IAAI,4BAA4B,GACpE,0CAAuC;AACxC,OAAO,EAAE,mCAAmC,IAAI,4BAA4B,EAAE,yCAAsC"}
@@ -1,36 +0,0 @@
1
- import { type ReactNode, type FC } from "react";
2
- import type { Unstable_SlashCommandAdapter, Unstable_SlashCommandItem } from "@assistant-ui/core";
3
- export declare namespace ComposerPrimitiveSlashCommandRoot {
4
- type Props = {
5
- children: ReactNode;
6
- /** The adapter providing slash command categories and items. */
7
- adapter: Unstable_SlashCommandAdapter;
8
- /** Character(s) that trigger the popover. @default "/" */
9
- trigger?: string | undefined;
10
- /** Callback when a slash command is selected. */
11
- onSelect?: ((item: Unstable_SlashCommandItem) => void) | undefined;
12
- };
13
- }
14
- /**
15
- * Convenience wrapper around `TriggerPopoverRoot` pre-configured for `/` slash commands.
16
- * When a user selects a command, the `/command` text is removed from the composer
17
- * and the item's `execute` callback (if any) and `onSelect` prop are called.
18
- *
19
- * @example
20
- * ```tsx
21
- * <ComposerPrimitive.Unstable_SlashCommandRoot adapter={slashAdapter}>
22
- * <ComposerPrimitive.Input />
23
- * <ComposerPrimitive.Unstable_TriggerPopoverPopover>
24
- * <ComposerPrimitive.Unstable_TriggerPopoverItems>
25
- * {(items) => items.map(item => (
26
- * <ComposerPrimitive.Unstable_TriggerPopoverItem key={item.id} item={item}>
27
- * {item.label}
28
- * </ComposerPrimitive.Unstable_TriggerPopoverItem>
29
- * ))}
30
- * </ComposerPrimitive.Unstable_TriggerPopoverItems>
31
- * </ComposerPrimitive.Unstable_TriggerPopoverPopover>
32
- * </ComposerPrimitive.Unstable_SlashCommandRoot>
33
- * ```
34
- */
35
- export declare const ComposerPrimitiveSlashCommandRoot: FC<ComposerPrimitiveSlashCommandRoot.Props>;
36
- //# sourceMappingURL=ComposerSlashCommandRoot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComposerSlashCommandRoot.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/slash-command/ComposerSlashCommandRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,EAAE,EAAwB,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,EACV,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAQ5B,yBAAiB,iCAAiC,CAAC;IACjD,KAAY,KAAK,GAAG;QAClB,QAAQ,EAAE,SAAS,CAAC;QACpB,gEAAgE;QAChE,OAAO,EAAE,4BAA4B,CAAC;QACtC,0DAA0D;QAC1D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,iDAAiD;QACjD,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,yBAAyB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;KACpE,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iCAAiC,EAAE,EAAE,CAChD,iCAAiC,CAAC,KAAK,CAwBxC,CAAC"}
@@ -1,36 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useCallback, useMemo } from "react";
4
- import { ComposerPrimitiveTriggerPopoverRoot } from "../trigger/TriggerPopoverContext.js";
5
- /**
6
- * Convenience wrapper around `TriggerPopoverRoot` pre-configured for `/` slash commands.
7
- * When a user selects a command, the `/command` text is removed from the composer
8
- * and the item's `execute` callback (if any) and `onSelect` prop are called.
9
- *
10
- * @example
11
- * ```tsx
12
- * <ComposerPrimitive.Unstable_SlashCommandRoot adapter={slashAdapter}>
13
- * <ComposerPrimitive.Input />
14
- * <ComposerPrimitive.Unstable_TriggerPopoverPopover>
15
- * <ComposerPrimitive.Unstable_TriggerPopoverItems>
16
- * {(items) => items.map(item => (
17
- * <ComposerPrimitive.Unstable_TriggerPopoverItem key={item.id} item={item}>
18
- * {item.label}
19
- * </ComposerPrimitive.Unstable_TriggerPopoverItem>
20
- * ))}
21
- * </ComposerPrimitive.Unstable_TriggerPopoverItems>
22
- * </ComposerPrimitive.Unstable_TriggerPopoverPopover>
23
- * </ComposerPrimitive.Unstable_SlashCommandRoot>
24
- * ```
25
- */
26
- export const ComposerPrimitiveSlashCommandRoot = ({ children, adapter, trigger = "/", onSelect: onSelectProp }) => {
27
- const handler = useCallback((item) => {
28
- item.execute?.();
29
- onSelectProp?.(item);
30
- }, [onSelectProp]);
31
- const onSelect = useMemo(() => ({ type: "action", handler }), [handler]);
32
- return (_jsx(ComposerPrimitiveTriggerPopoverRoot, { adapter: adapter, trigger: trigger, onSelect: onSelect, children: children }));
33
- };
34
- ComposerPrimitiveSlashCommandRoot.displayName =
35
- "ComposerPrimitive.SlashCommandRoot";
36
- //# sourceMappingURL=ComposerSlashCommandRoot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComposerSlashCommandRoot.js","sourceRoot":"","sources":["../../../../src/primitives/composer/slash-command/ComposerSlashCommandRoot.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAA2B,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAKtE,OAAO,EAAE,mCAAmC,EAAE,4CAAyC;AAmBvF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAE1C,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;IACnE,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,IAA+B,EAAE,EAAE;QAClC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACnC,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,CACL,KAAC,mCAAmC,IAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,YAEjB,QAAQ,GAC2B,CACvC,CAAC;AACJ,CAAC,CAAC;AAEF,iCAAiC,CAAC,WAAW;IAC3C,oCAAoC,CAAC"}
@@ -1,2 +0,0 @@
1
- export { ComposerPrimitiveSlashCommandRoot } from "./ComposerSlashCommandRoot.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/slash-command/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,sCAAmC"}
@@ -1,2 +0,0 @@
1
- export { ComposerPrimitiveSlashCommandRoot } from "./ComposerSlashCommandRoot.js";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/primitives/composer/slash-command/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,sCAAmC"}
@@ -1,37 +0,0 @@
1
- import { type ReactNode, type FC } from "react";
2
- import type { Unstable_TriggerAdapter } from "@assistant-ui/core";
3
- import { type TriggerPopoverResourceOutput, type OnSelectBehavior } from "./TriggerPopoverResource.js";
4
- export declare const useTriggerPopoverContext: () => TriggerPopoverResourceOutput;
5
- export declare const useTriggerPopoverContextOptional: () => TriggerPopoverResourceOutput | null;
6
- export declare namespace ComposerPrimitiveTriggerPopoverRoot {
7
- type Props = {
8
- children: ReactNode;
9
- /** The adapter providing categories and items. */
10
- adapter: Unstable_TriggerAdapter;
11
- /** Character(s) that trigger the popover. @default "@" */
12
- trigger?: string | undefined;
13
- /** What happens when an item is selected. */
14
- onSelect: OnSelectBehavior;
15
- };
16
- }
17
- /**
18
- * Provider that wraps the composer with trigger detection, keyboard navigation,
19
- * and popover state. Supports any trigger character (`@`, `/`, `:`, etc.).
20
- * Multiple trigger roots can coexist around the same input.
21
- *
22
- * @example
23
- * ```tsx
24
- * <ComposerPrimitive.Unstable_TriggerPopoverRoot
25
- * trigger="/"
26
- * adapter={slashAdapter}
27
- * onSelect={{ type: "action", handler: (item) => console.log(item) }}
28
- * >
29
- * <ComposerPrimitive.Input />
30
- * <ComposerPrimitive.Unstable_TriggerPopoverPopover>
31
- * ...
32
- * </ComposerPrimitive.Unstable_TriggerPopoverPopover>
33
- * </ComposerPrimitive.Unstable_TriggerPopoverRoot>
34
- * ```
35
- */
36
- export declare const ComposerPrimitiveTriggerPopoverRoot: FC<ComposerPrimitiveTriggerPopoverRoot.Props>;
37
- //# sourceMappingURL=TriggerPopoverContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TriggerPopoverContext.d.ts","sourceRoot":"","sources":["../../../../src/primitives/composer/trigger/TriggerPopoverContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,EACtB,oCAAiC;AAalC,eAAO,MAAM,wBAAwB,oCAOpC,CAAC;AAEF,eAAO,MAAM,gCAAgC,2CAE5C,CAAC;AAMF,yBAAiB,mCAAmC,CAAC;IACnD,KAAY,KAAK,GAAG;QAClB,QAAQ,EAAE,SAAS,CAAC;QACpB,kDAAkD;QAClD,OAAO,EAAE,uBAAuB,CAAC;QACjC,0DAA0D;QAC1D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,6CAA6C;QAC7C,QAAQ,EAAE,gBAAgB,CAAC;KAC5B,CAAC;CACH;AAmCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mCAAmC,EAAE,EAAE,CAClD,mCAAmC,CAAC,KAAK,CAa1C,CAAC"}