@assistant-ui/react 0.14.18 → 0.14.20

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 (334) hide show
  1. package/dist/client/ExternalThread.d.ts +3 -2
  2. package/dist/client/ExternalThread.d.ts.map +1 -1
  3. package/dist/client/ExternalThread.js +721 -256
  4. package/dist/client/ExternalThread.js.map +1 -1
  5. package/dist/client/InMemoryThreadList.d.ts.map +1 -1
  6. package/dist/client/InMemoryThreadList.js +292 -108
  7. package/dist/client/InMemoryThreadList.js.map +1 -1
  8. package/dist/client/SingleThreadList.js +139 -53
  9. package/dist/client/SingleThreadList.js.map +1 -1
  10. package/dist/context/ReadonlyStore.js.map +1 -1
  11. package/dist/context/providers/MessageProvider.js +38 -5
  12. package/dist/context/providers/MessageProvider.js.map +1 -1
  13. package/dist/context/providers/ThreadViewportProvider.js +76 -20
  14. package/dist/context/providers/ThreadViewportProvider.js.map +1 -1
  15. package/dist/context/react/ThreadViewportContext.js.map +1 -1
  16. package/dist/context/react/utils/createContextHook.js.map +1 -1
  17. package/dist/context/react/utils/createContextStoreHook.js +17 -2
  18. package/dist/context/react/utils/createContextStoreHook.js.map +1 -1
  19. package/dist/context/react/utils/createStateHookForRuntime.js.map +1 -1
  20. package/dist/context/react/utils/ensureBinding.js.map +1 -1
  21. package/dist/context/react/utils/useRuntimeState.js +18 -2
  22. package/dist/context/react/utils/useRuntimeState.js.map +1 -1
  23. package/dist/context/stores/ThreadViewport.js.map +1 -1
  24. package/dist/devtools/DevToolsHooks.js.map +1 -1
  25. package/dist/hooks/useMessageQuote.js.map +1 -1
  26. package/dist/hooks/useMessageTiming.js +4 -1
  27. package/dist/hooks/useMessageTiming.js.map +1 -1
  28. package/dist/hooks/useToolCallElapsed.d.ts +23 -0
  29. package/dist/hooks/useToolCallElapsed.d.ts.map +1 -0
  30. package/dist/hooks/useToolCallElapsed.js +72 -0
  31. package/dist/hooks/useToolCallElapsed.js.map +1 -0
  32. package/dist/index.d.ts +4 -2
  33. package/dist/index.js +3 -1
  34. package/dist/internal.js.map +1 -1
  35. package/dist/legacy-runtime/AssistantRuntimeProvider.js +46 -10
  36. package/dist/legacy-runtime/AssistantRuntimeProvider.js.map +1 -1
  37. package/dist/legacy-runtime/cloud/auiV0.js.map +1 -1
  38. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.js +27 -6
  39. package/dist/legacy-runtime/cloud/useCloudThreadListRuntime.js.map +1 -1
  40. package/dist/legacy-runtime/hooks/AssistantContext.js +13 -2
  41. package/dist/legacy-runtime/hooks/AssistantContext.js.map +1 -1
  42. package/dist/legacy-runtime/hooks/AttachmentContext.js +9 -1
  43. package/dist/legacy-runtime/hooks/AttachmentContext.js.map +1 -1
  44. package/dist/legacy-runtime/hooks/ComposerContext.js +9 -1
  45. package/dist/legacy-runtime/hooks/ComposerContext.js.map +1 -1
  46. package/dist/legacy-runtime/hooks/MessageContext.js +12 -2
  47. package/dist/legacy-runtime/hooks/MessageContext.js.map +1 -1
  48. package/dist/legacy-runtime/hooks/MessagePartContext.js +9 -1
  49. package/dist/legacy-runtime/hooks/MessagePartContext.js.map +1 -1
  50. package/dist/legacy-runtime/hooks/ThreadContext.js +33 -5
  51. package/dist/legacy-runtime/hooks/ThreadContext.js.map +1 -1
  52. package/dist/legacy-runtime/hooks/ThreadListItemContext.js +9 -1
  53. package/dist/legacy-runtime/hooks/ThreadListItemContext.js.map +1 -1
  54. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.js +3 -3
  55. package/dist/legacy-runtime/runtime-cores/assistant-transport/commandQueue.js.map +1 -1
  56. package/dist/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.js +71 -31
  57. package/dist/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.js.map +1 -1
  58. package/dist/legacy-runtime/runtime-cores/assistant-transport/runManager.js.map +1 -1
  59. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js +24 -16
  60. package/dist/legacy-runtime/runtime-cores/assistant-transport/useAssistantTransportRuntime.js.map +1 -1
  61. package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.js +17 -12
  62. package/dist/legacy-runtime/runtime-cores/assistant-transport/useConvertedState.js.map +1 -1
  63. package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.js +17 -3
  64. package/dist/legacy-runtime/runtime-cores/assistant-transport/useLatestRef.js.map +1 -1
  65. package/dist/mcp-apps/McpAppRenderer.js +6 -6
  66. package/dist/mcp-apps/McpAppRenderer.js.map +1 -1
  67. package/dist/mcp-apps/McpAppsRemoteHost.js +3 -3
  68. package/dist/mcp-apps/McpAppsRemoteHost.js.map +1 -1
  69. package/dist/mcp-apps/app-frame.js +33 -14
  70. package/dist/mcp-apps/app-frame.js.map +1 -1
  71. package/dist/mcp-apps/bridge.js.map +1 -1
  72. package/dist/mcp-apps/types.js.map +1 -1
  73. package/dist/mcp-apps/utils.js.map +1 -1
  74. package/dist/model-context/frame/useAssistantFrameHost.js +32 -14
  75. package/dist/model-context/frame/useAssistantFrameHost.js.map +1 -1
  76. package/dist/model-context/makeAssistantVisible.js +64 -26
  77. package/dist/model-context/makeAssistantVisible.js.map +1 -1
  78. package/dist/primitives/actionBar/ActionBarCopy.js +94 -20
  79. package/dist/primitives/actionBar/ActionBarCopy.js.map +1 -1
  80. package/dist/primitives/actionBar/ActionBarEdit.js.map +1 -1
  81. package/dist/primitives/actionBar/ActionBarExportMarkdown.js +105 -37
  82. package/dist/primitives/actionBar/ActionBarExportMarkdown.js.map +1 -1
  83. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js +60 -11
  84. package/dist/primitives/actionBar/ActionBarFeedbackNegative.js.map +1 -1
  85. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js +60 -11
  86. package/dist/primitives/actionBar/ActionBarFeedbackPositive.js.map +1 -1
  87. package/dist/primitives/actionBar/ActionBarInteractionContext.js +3 -1
  88. package/dist/primitives/actionBar/ActionBarInteractionContext.js.map +1 -1
  89. package/dist/primitives/actionBar/ActionBarReload.js.map +1 -1
  90. package/dist/primitives/actionBar/ActionBarRoot.js +84 -25
  91. package/dist/primitives/actionBar/ActionBarRoot.js.map +1 -1
  92. package/dist/primitives/actionBar/ActionBarSpeak.js.map +1 -1
  93. package/dist/primitives/actionBar/ActionBarStopSpeaking.js +45 -14
  94. package/dist/primitives/actionBar/ActionBarStopSpeaking.js.map +1 -1
  95. package/dist/primitives/actionBar/useActionBarFloatStatus.js +22 -10
  96. package/dist/primitives/actionBar/useActionBarFloatStatus.js.map +1 -1
  97. package/dist/primitives/actionBar.js.map +1 -1
  98. package/dist/primitives/actionBarMore/ActionBarMoreContent.js +44 -7
  99. package/dist/primitives/actionBarMore/ActionBarMoreContent.js.map +1 -1
  100. package/dist/primitives/actionBarMore/ActionBarMoreItem.js +28 -6
  101. package/dist/primitives/actionBarMore/ActionBarMoreItem.js.map +1 -1
  102. package/dist/primitives/actionBarMore/ActionBarMoreRoot.js +103 -36
  103. package/dist/primitives/actionBarMore/ActionBarMoreRoot.js.map +1 -1
  104. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js +28 -6
  105. package/dist/primitives/actionBarMore/ActionBarMoreSeparator.js.map +1 -1
  106. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js +28 -6
  107. package/dist/primitives/actionBarMore/ActionBarMoreTrigger.js.map +1 -1
  108. package/dist/primitives/actionBarMore/scope.js.map +1 -1
  109. package/dist/primitives/actionBarMore.js.map +1 -1
  110. package/dist/primitives/assistantModal/AssistantModalAnchor.js +27 -6
  111. package/dist/primitives/assistantModal/AssistantModalAnchor.js.map +1 -1
  112. package/dist/primitives/assistantModal/AssistantModalContent.js +71 -10
  113. package/dist/primitives/assistantModal/AssistantModalContent.js.map +1 -1
  114. package/dist/primitives/assistantModal/AssistantModalRoot.js +93 -26
  115. package/dist/primitives/assistantModal/AssistantModalRoot.js.map +1 -1
  116. package/dist/primitives/assistantModal/AssistantModalTrigger.js +27 -6
  117. package/dist/primitives/assistantModal/AssistantModalTrigger.js.map +1 -1
  118. package/dist/primitives/assistantModal/scope.js.map +1 -1
  119. package/dist/primitives/assistantModal.js.map +1 -1
  120. package/dist/primitives/attachment/AttachmentName.js +13 -1
  121. package/dist/primitives/attachment/AttachmentName.js.map +1 -1
  122. package/dist/primitives/attachment/AttachmentRemove.js +11 -4
  123. package/dist/primitives/attachment/AttachmentRemove.js.map +1 -1
  124. package/dist/primitives/attachment/AttachmentRoot.js +13 -4
  125. package/dist/primitives/attachment/AttachmentRoot.js.map +1 -1
  126. package/dist/primitives/attachment/AttachmentThumb.js +20 -9
  127. package/dist/primitives/attachment/AttachmentThumb.js.map +1 -1
  128. package/dist/primitives/attachment.js.map +1 -1
  129. package/dist/primitives/branchPicker/BranchPickerCount.js +14 -2
  130. package/dist/primitives/branchPicker/BranchPickerCount.js.map +1 -1
  131. package/dist/primitives/branchPicker/BranchPickerNext.js.map +1 -1
  132. package/dist/primitives/branchPicker/BranchPickerNumber.js +14 -2
  133. package/dist/primitives/branchPicker/BranchPickerNumber.js.map +1 -1
  134. package/dist/primitives/branchPicker/BranchPickerPrevious.js.map +1 -1
  135. package/dist/primitives/branchPicker/BranchPickerRoot.js +34 -6
  136. package/dist/primitives/branchPicker/BranchPickerRoot.js.map +1 -1
  137. package/dist/primitives/branchPicker.js.map +1 -1
  138. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js +16 -5
  139. package/dist/primitives/chainOfThought/ChainOfThoughtAccordionTrigger.js.map +1 -1
  140. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js +13 -4
  141. package/dist/primitives/chainOfThought/ChainOfThoughtRoot.js.map +1 -1
  142. package/dist/primitives/chainOfThought.js.map +1 -1
  143. package/dist/primitives/composer/ComposerAddAttachment.js +37 -24
  144. package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
  145. package/dist/primitives/composer/ComposerAttachmentDropzone.js +124 -49
  146. package/dist/primitives/composer/ComposerAttachmentDropzone.js.map +1 -1
  147. package/dist/primitives/composer/ComposerCancel.js.map +1 -1
  148. package/dist/primitives/composer/ComposerDictate.js.map +1 -1
  149. package/dist/primitives/composer/ComposerDictationTranscript.js +32 -7
  150. package/dist/primitives/composer/ComposerDictationTranscript.js.map +1 -1
  151. package/dist/primitives/composer/ComposerInput.js +26 -26
  152. package/dist/primitives/composer/ComposerInput.js.map +1 -1
  153. package/dist/primitives/composer/ComposerInputPluginContext.js +71 -25
  154. package/dist/primitives/composer/ComposerInputPluginContext.js.map +1 -1
  155. package/dist/primitives/composer/ComposerQuote.js +92 -23
  156. package/dist/primitives/composer/ComposerQuote.js.map +1 -1
  157. package/dist/primitives/composer/ComposerRoot.js +45 -11
  158. package/dist/primitives/composer/ComposerRoot.js.map +1 -1
  159. package/dist/primitives/composer/ComposerSend.js +9 -2
  160. package/dist/primitives/composer/ComposerSend.js.map +1 -1
  161. package/dist/primitives/composer/ComposerStopDictation.js +15 -5
  162. package/dist/primitives/composer/ComposerStopDictation.js.map +1 -1
  163. package/dist/primitives/composer/trigger/TriggerPopover.d.ts.map +1 -1
  164. package/dist/primitives/composer/trigger/TriggerPopover.js +215 -75
  165. package/dist/primitives/composer/trigger/TriggerPopover.js.map +1 -1
  166. package/dist/primitives/composer/trigger/TriggerPopoverAction.js.map +1 -1
  167. package/dist/primitives/composer/trigger/TriggerPopoverBack.js +35 -7
  168. package/dist/primitives/composer/trigger/TriggerPopoverBack.js.map +1 -1
  169. package/dist/primitives/composer/trigger/TriggerPopoverCategories.js +134 -28
  170. package/dist/primitives/composer/trigger/TriggerPopoverCategories.js.map +1 -1
  171. package/dist/primitives/composer/trigger/TriggerPopoverDirective.js.map +1 -1
  172. package/dist/primitives/composer/trigger/TriggerPopoverItems.js +132 -28
  173. package/dist/primitives/composer/trigger/TriggerPopoverItems.js.map +1 -1
  174. package/dist/primitives/composer/trigger/TriggerPopoverResource.js +124 -52
  175. package/dist/primitives/composer/trigger/TriggerPopoverResource.js.map +1 -1
  176. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js +181 -78
  177. package/dist/primitives/composer/trigger/TriggerPopoverRootContext.js.map +1 -1
  178. package/dist/primitives/composer/trigger/detectTrigger.js.map +1 -1
  179. package/dist/primitives/composer/trigger/index.js.map +1 -1
  180. package/dist/primitives/composer/trigger/triggerDetectionResource.js +28 -14
  181. package/dist/primitives/composer/trigger/triggerDetectionResource.js.map +1 -1
  182. package/dist/primitives/composer/trigger/triggerKeyboardResource.js +115 -58
  183. package/dist/primitives/composer/trigger/triggerKeyboardResource.js.map +1 -1
  184. package/dist/primitives/composer/trigger/triggerNavigationResource.js +202 -70
  185. package/dist/primitives/composer/trigger/triggerNavigationResource.js.map +1 -1
  186. package/dist/primitives/composer/trigger/triggerSelectionResource.js +49 -13
  187. package/dist/primitives/composer/trigger/triggerSelectionResource.js.map +1 -1
  188. package/dist/primitives/composer.js.map +1 -1
  189. package/dist/primitives/dropdownMenuRenderPrimitives.js.map +1 -1
  190. package/dist/primitives/error/ErrorMessage.js +28 -6
  191. package/dist/primitives/error/ErrorMessage.js.map +1 -1
  192. package/dist/primitives/error/ErrorRoot.js +14 -5
  193. package/dist/primitives/error/ErrorRoot.js.map +1 -1
  194. package/dist/primitives/error.js.map +1 -1
  195. package/dist/primitives/message/MessageError.js +2 -1
  196. package/dist/primitives/message/MessageError.js.map +1 -1
  197. package/dist/primitives/message/MessageIf.js +50 -20
  198. package/dist/primitives/message/MessageIf.js.map +1 -1
  199. package/dist/primitives/message/MessageParts.js +41 -7
  200. package/dist/primitives/message/MessageParts.js.map +1 -1
  201. package/dist/primitives/message/MessagePartsGrouped.js +399 -94
  202. package/dist/primitives/message/MessagePartsGrouped.js.map +1 -1
  203. package/dist/primitives/message/MessageRoot.js +197 -65
  204. package/dist/primitives/message/MessageRoot.js.map +1 -1
  205. package/dist/primitives/message.js.map +1 -1
  206. package/dist/primitives/messagePart/MessagePartImage.js +15 -5
  207. package/dist/primitives/messagePart/MessagePartImage.js.map +1 -1
  208. package/dist/primitives/messagePart/MessagePartText.js +35 -7
  209. package/dist/primitives/messagePart/MessagePartText.js.map +1 -1
  210. package/dist/primitives/messagePart/useMessagePartData.js +5 -4
  211. package/dist/primitives/messagePart/useMessagePartData.js.map +1 -1
  212. package/dist/primitives/messagePart/useMessagePartFile.js +5 -4
  213. package/dist/primitives/messagePart/useMessagePartFile.js.map +1 -1
  214. package/dist/primitives/messagePart/useMessagePartImage.js +5 -4
  215. package/dist/primitives/messagePart/useMessagePartImage.js.map +1 -1
  216. package/dist/primitives/messagePart/useMessagePartReasoning.js +5 -4
  217. package/dist/primitives/messagePart/useMessagePartReasoning.js.map +1 -1
  218. package/dist/primitives/messagePart/useMessagePartSource.js +5 -4
  219. package/dist/primitives/messagePart/useMessagePartSource.js.map +1 -1
  220. package/dist/primitives/messagePart/useMessagePartText.js +5 -4
  221. package/dist/primitives/messagePart/useMessagePartText.js.map +1 -1
  222. package/dist/primitives/messagePart.js.map +1 -1
  223. package/dist/primitives/queueItem/QueueItemRemove.js +11 -4
  224. package/dist/primitives/queueItem/QueueItemRemove.js.map +1 -1
  225. package/dist/primitives/queueItem/QueueItemSteer.js +11 -4
  226. package/dist/primitives/queueItem/QueueItemSteer.js.map +1 -1
  227. package/dist/primitives/queueItem/QueueItemText.js +20 -6
  228. package/dist/primitives/queueItem/QueueItemText.js.map +1 -1
  229. package/dist/primitives/queueItem.js.map +1 -1
  230. package/dist/primitives/reasoning/useScrollLock.js +61 -43
  231. package/dist/primitives/reasoning/useScrollLock.js.map +1 -1
  232. package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js +56 -16
  233. package/dist/primitives/selectionToolbar/SelectionToolbarQuote.js.map +1 -1
  234. package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js +120 -59
  235. package/dist/primitives/selectionToolbar/SelectionToolbarRoot.js.map +1 -1
  236. package/dist/primitives/selectionToolbar.js.map +1 -1
  237. package/dist/primitives/suggestion/SuggestionDescription.js +20 -6
  238. package/dist/primitives/suggestion/SuggestionDescription.js.map +1 -1
  239. package/dist/primitives/suggestion/SuggestionTitle.js +20 -6
  240. package/dist/primitives/suggestion/SuggestionTitle.js.map +1 -1
  241. package/dist/primitives/suggestion/SuggestionTrigger.js +39 -26
  242. package/dist/primitives/suggestion/SuggestionTrigger.js.map +1 -1
  243. package/dist/primitives/suggestion.js.map +1 -1
  244. package/dist/primitives/thread/ThreadEmpty.js +6 -2
  245. package/dist/primitives/thread/ThreadEmpty.js.map +1 -1
  246. package/dist/primitives/thread/ThreadIf.js +32 -10
  247. package/dist/primitives/thread/ThreadIf.js.map +1 -1
  248. package/dist/primitives/thread/ThreadRoot.js +13 -4
  249. package/dist/primitives/thread/ThreadRoot.js.map +1 -1
  250. package/dist/primitives/thread/ThreadScrollToBottom.js +24 -6
  251. package/dist/primitives/thread/ThreadScrollToBottom.js.map +1 -1
  252. package/dist/primitives/thread/ThreadSuggestion.js +18 -6
  253. package/dist/primitives/thread/ThreadSuggestion.js.map +1 -1
  254. package/dist/primitives/thread/ThreadViewport.js +185 -47
  255. package/dist/primitives/thread/ThreadViewport.js.map +1 -1
  256. package/dist/primitives/thread/ThreadViewportFooter.js +22 -9
  257. package/dist/primitives/thread/ThreadViewportFooter.js.map +1 -1
  258. package/dist/primitives/thread/topAnchor/computeTopAnchorSlack.js.map +1 -1
  259. package/dist/primitives/thread/topAnchor/createReserveObservers.js.map +1 -1
  260. package/dist/primitives/thread/topAnchor/mountTopAnchorReserve.js.map +1 -1
  261. package/dist/primitives/thread/topAnchor/topAnchorTurn.js.map +1 -1
  262. package/dist/primitives/thread/topAnchor/topAnchorUtils.js.map +1 -1
  263. package/dist/primitives/thread/topAnchor/useTopAnchorReserve.js +19 -4
  264. package/dist/primitives/thread/topAnchor/useTopAnchorReserve.js.map +1 -1
  265. package/dist/primitives/thread/useThreadViewportAutoScroll.js +16 -16
  266. package/dist/primitives/thread/useThreadViewportAutoScroll.js.map +1 -1
  267. package/dist/primitives/thread.js.map +1 -1
  268. package/dist/primitives/threadList/ThreadListLoadMore.js.map +1 -1
  269. package/dist/primitives/threadList/ThreadListNew.js +53 -11
  270. package/dist/primitives/threadList/ThreadListNew.js.map +1 -1
  271. package/dist/primitives/threadList/ThreadListRoot.js +13 -4
  272. package/dist/primitives/threadList/ThreadListRoot.js.map +1 -1
  273. package/dist/primitives/threadList.js.map +1 -1
  274. package/dist/primitives/threadListItem/ThreadListItemArchive.js.map +1 -1
  275. package/dist/primitives/threadListItem/ThreadListItemDelete.js.map +1 -1
  276. package/dist/primitives/threadListItem/ThreadListItemRoot.js +26 -7
  277. package/dist/primitives/threadListItem/ThreadListItemRoot.js.map +1 -1
  278. package/dist/primitives/threadListItem/ThreadListItemTrigger.js.map +1 -1
  279. package/dist/primitives/threadListItem/ThreadListItemUnarchive.js.map +1 -1
  280. package/dist/primitives/threadListItem.js.map +1 -1
  281. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js +44 -7
  282. package/dist/primitives/threadListItemMore/ThreadListItemMoreContent.js.map +1 -1
  283. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js +28 -6
  284. package/dist/primitives/threadListItemMore/ThreadListItemMoreItem.js.map +1 -1
  285. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js +25 -5
  286. package/dist/primitives/threadListItemMore/ThreadListItemMoreRoot.js.map +1 -1
  287. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js +28 -6
  288. package/dist/primitives/threadListItemMore/ThreadListItemMoreSeparator.js.map +1 -1
  289. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js +28 -6
  290. package/dist/primitives/threadListItemMore/ThreadListItemMoreTrigger.js.map +1 -1
  291. package/dist/primitives/threadListItemMore/scope.js.map +1 -1
  292. package/dist/primitives/threadListItemMore.js.map +1 -1
  293. package/dist/sandbox-host/SandboxHost.js.map +1 -1
  294. package/dist/tests/remote-thread-list-test-helpers.js.map +1 -1
  295. package/dist/tests/setup.js.map +1 -1
  296. package/dist/unstable/useComposerInputHistory.js.map +1 -1
  297. package/dist/unstable/useMentionAdapter.js.map +1 -1
  298. package/dist/unstable/useMessageStallDetection.d.ts +29 -0
  299. package/dist/unstable/useMessageStallDetection.d.ts.map +1 -0
  300. package/dist/unstable/useMessageStallDetection.js +69 -0
  301. package/dist/unstable/useMessageStallDetection.js.map +1 -0
  302. package/dist/unstable/useSlashCommandAdapter.js.map +1 -1
  303. package/dist/utils/Primitive.js +57 -12
  304. package/dist/utils/Primitive.js.map +1 -1
  305. package/dist/utils/createActionButton.js +23 -7
  306. package/dist/utils/createActionButton.js.map +1 -1
  307. package/dist/utils/getSelectionMessageId.js.map +1 -1
  308. package/dist/utils/hooks/useManagedRef.js +16 -8
  309. package/dist/utils/hooks/useManagedRef.js.map +1 -1
  310. package/dist/utils/hooks/useMediaQuery.js +25 -10
  311. package/dist/utils/hooks/useMediaQuery.js.map +1 -1
  312. package/dist/utils/hooks/useOnResizeContent.js +29 -19
  313. package/dist/utils/hooks/useOnResizeContent.js.map +1 -1
  314. package/dist/utils/hooks/useOnScrollToBottom.js +20 -4
  315. package/dist/utils/hooks/useOnScrollToBottom.js.map +1 -1
  316. package/dist/utils/hooks/useSizeHandle.js +23 -15
  317. package/dist/utils/hooks/useSizeHandle.js.map +1 -1
  318. package/dist/utils/json/is-json-equal.js.map +1 -1
  319. package/dist/utils/json/is-json.js.map +1 -1
  320. package/dist/utils/smooth/SmoothContext.js +41 -11
  321. package/dist/utils/smooth/SmoothContext.js.map +1 -1
  322. package/dist/utils/smooth/useSmooth.js +5 -5
  323. package/dist/utils/smooth/useSmooth.js.map +1 -1
  324. package/dist/utils/useToolArgsFieldStatus.js +13 -5
  325. package/dist/utils/useToolArgsFieldStatus.js.map +1 -1
  326. package/package.json +9 -9
  327. package/src/client/ExternalThread.ts +81 -52
  328. package/src/client/InMemoryThreadList.ts +12 -14
  329. package/src/hooks/useToolCallElapsed.ts +52 -0
  330. package/src/index.ts +11 -0
  331. package/src/legacy-runtime/runtime-cores/assistant-transport/replayBoundaryStream.test.ts +10 -6
  332. package/src/primitives/composer/trigger/TriggerPopover.tsx +4 -5
  333. package/src/tests/toolCallTiming.test.tsx +221 -0
  334. package/src/unstable/useMessageStallDetection.ts +91 -0
@@ -1,53 +1,121 @@
1
1
  "use client";
2
2
  import { Primitive } from "../../utils/Primitive.js";
3
3
  import { useAui, useAuiState } from "@assistant-ui/store";
4
- import { forwardRef, useCallback } from "@assistant-ui/tap/react-shim";
4
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
5
+ import { forwardRef } from "@assistant-ui/tap/react-shim";
5
6
  import { jsx } from "react/jsx-runtime";
6
7
  import { composeEventHandlers } from "@radix-ui/primitive";
7
8
  //#region src/primitives/actionBar/ActionBarExportMarkdown.tsx
8
- const useActionBarExportMarkdown = ({ filename, onExport } = {}) => {
9
+ const useActionBarExportMarkdown = (t0) => {
10
+ const $ = c(6);
11
+ let t1;
12
+ if ($[0] !== t0) {
13
+ t1 = t0 === void 0 ? {} : t0;
14
+ $[0] = t0;
15
+ $[1] = t1;
16
+ } else t1 = $[1];
17
+ const { filename, onExport } = t1;
9
18
  const aui = useAui();
10
- const hasExportableContent = useAuiState((s) => {
11
- return (s.message.role !== "assistant" || s.message.status?.type !== "running") && s.message.parts.some((c) => c.type === "text" && c.text.length > 0);
12
- });
13
- const callback = useCallback(async () => {
14
- const content = aui.message().getCopyText();
15
- if (!content) return;
16
- if (onExport) {
17
- await onExport(content);
18
- return;
19
- }
20
- const blob = new Blob([content], { type: "text/markdown" });
21
- const url = URL.createObjectURL(blob);
22
- const a = document.createElement("a");
23
- a.href = url;
24
- a.download = filename ?? `message-${Date.now()}.md`;
25
- a.click();
26
- URL.revokeObjectURL(url);
27
- }, [
28
- aui,
29
- filename,
30
- onExport
31
- ]);
19
+ const hasExportableContent = useAuiState(_temp2);
20
+ let t2;
21
+ if ($[2] !== aui || $[3] !== filename || $[4] !== onExport) {
22
+ t2 = async () => {
23
+ const content = aui.message().getCopyText();
24
+ if (!content) return;
25
+ if (onExport) {
26
+ await onExport(content);
27
+ return;
28
+ }
29
+ const blob = new Blob([content], { type: "text/markdown" });
30
+ const url = URL.createObjectURL(blob);
31
+ const a = document.createElement("a");
32
+ a.href = url;
33
+ a.download = filename ?? `message-${Date.now()}.md`;
34
+ a.click();
35
+ URL.revokeObjectURL(url);
36
+ };
37
+ $[2] = aui;
38
+ $[3] = filename;
39
+ $[4] = onExport;
40
+ $[5] = t2;
41
+ } else t2 = $[5];
42
+ const callback = t2;
32
43
  if (!hasExportableContent) return null;
33
44
  return callback;
34
45
  };
35
- const ActionBarPrimitiveExportMarkdown = forwardRef(({ filename, onExport, onClick, disabled, ...props }, forwardedRef) => {
36
- const callback = useActionBarExportMarkdown({
37
- filename,
38
- onExport
39
- });
40
- return /* @__PURE__ */ jsx(Primitive.button, {
41
- type: "button",
42
- ...props,
43
- ref: forwardedRef,
44
- disabled: disabled || !callback,
45
- onClick: composeEventHandlers(onClick, () => {
46
+ const ActionBarPrimitiveExportMarkdown = forwardRef((t0, forwardedRef) => {
47
+ const $ = c(19);
48
+ let disabled;
49
+ let filename;
50
+ let onClick;
51
+ let onExport;
52
+ let props;
53
+ if ($[0] !== t0) {
54
+ ({filename, onExport, onClick, disabled, ...props} = t0);
55
+ $[0] = t0;
56
+ $[1] = disabled;
57
+ $[2] = filename;
58
+ $[3] = onClick;
59
+ $[4] = onExport;
60
+ $[5] = props;
61
+ } else {
62
+ disabled = $[1];
63
+ filename = $[2];
64
+ onClick = $[3];
65
+ onExport = $[4];
66
+ props = $[5];
67
+ }
68
+ let t1;
69
+ if ($[6] !== filename || $[7] !== onExport) {
70
+ t1 = {
71
+ filename,
72
+ onExport
73
+ };
74
+ $[6] = filename;
75
+ $[7] = onExport;
76
+ $[8] = t1;
77
+ } else t1 = $[8];
78
+ const callback = useActionBarExportMarkdown(t1);
79
+ const t2 = disabled || !callback;
80
+ let t3;
81
+ if ($[9] !== callback) {
82
+ t3 = () => {
46
83
  callback?.();
47
- })
48
- });
84
+ };
85
+ $[9] = callback;
86
+ $[10] = t3;
87
+ } else t3 = $[10];
88
+ let t4;
89
+ if ($[11] !== onClick || $[12] !== t3) {
90
+ t4 = composeEventHandlers(onClick, t3);
91
+ $[11] = onClick;
92
+ $[12] = t3;
93
+ $[13] = t4;
94
+ } else t4 = $[13];
95
+ let t5;
96
+ if ($[14] !== forwardedRef || $[15] !== props || $[16] !== t2 || $[17] !== t4) {
97
+ t5 = /* @__PURE__ */ jsx(Primitive.button, {
98
+ type: "button",
99
+ ...props,
100
+ ref: forwardedRef,
101
+ disabled: t2,
102
+ onClick: t4
103
+ });
104
+ $[14] = forwardedRef;
105
+ $[15] = props;
106
+ $[16] = t2;
107
+ $[17] = t4;
108
+ $[18] = t5;
109
+ } else t5 = $[18];
110
+ return t5;
49
111
  });
50
112
  ActionBarPrimitiveExportMarkdown.displayName = "ActionBarPrimitive.ExportMarkdown";
113
+ function _temp(c) {
114
+ return c.type === "text" && c.text.length > 0;
115
+ }
116
+ function _temp2(s) {
117
+ return (s.message.role !== "assistant" || s.message.status?.type !== "running") && s.message.parts.some(_temp);
118
+ }
51
119
  //#endregion
52
120
  export { ActionBarPrimitiveExportMarkdown };
53
121
 
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarExportMarkdown.js","names":[],"sources":["../../../src/primitives/actionBar/ActionBarExportMarkdown.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, useCallback } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useAuiState, useAui } from \"@assistant-ui/store\";\n\nconst useActionBarExportMarkdown = ({\n filename,\n onExport,\n}: {\n filename?: string | undefined;\n onExport?: ((content: string) => void | Promise<void>) | undefined;\n} = {}) => {\n const aui = useAui();\n const hasExportableContent = useAuiState((s) => {\n return (\n (s.message.role !== \"assistant\" ||\n s.message.status?.type !== \"running\") &&\n s.message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n );\n });\n\n const callback = useCallback(async () => {\n const content = aui.message().getCopyText();\n if (!content) return;\n\n if (onExport) {\n await onExport(content);\n return;\n }\n\n const blob = new Blob([content], { type: \"text/markdown\" });\n const url = URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = filename ?? `message-${Date.now()}.md`;\n a.click();\n URL.revokeObjectURL(url);\n }, [aui, filename, onExport]);\n\n if (!hasExportableContent) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveExportMarkdown {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarExportMarkdown>;\n}\n\nexport const ActionBarPrimitiveExportMarkdown = forwardRef<\n ActionBarPrimitiveExportMarkdown.Element,\n ActionBarPrimitiveExportMarkdown.Props\n>(({ filename, onExport, onClick, disabled, ...props }, forwardedRef) => {\n const callback = useActionBarExportMarkdown({ filename, onExport });\n return (\n <Primitive.button\n type=\"button\"\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveExportMarkdown.displayName =\n \"ActionBarPrimitive.ExportMarkdown\";\n"],"mappings":";;;;;;;AAQA,MAAM,8BAA8B,EAClC,UACA,aAIE,CAAC,MAAM;CACT,MAAM,MAAM,OAAO;CACnB,MAAM,uBAAuB,aAAa,MAAM;EAC9C,QACG,EAAE,QAAQ,SAAS,eAClB,EAAE,QAAQ,QAAQ,SAAS,cAC7B,EAAE,QAAQ,MAAM,MAAM,MAAM,EAAE,SAAS,UAAU,EAAE,KAAK,SAAS,CAAC;CAEtE,CAAC;CAED,MAAM,WAAW,YAAY,YAAY;EACvC,MAAM,UAAU,IAAI,QAAQ,CAAC,CAAC,YAAY;EAC1C,IAAI,CAAC,SAAS;EAEd,IAAI,UAAU;GACZ,MAAM,SAAS,OAAO;GACtB;EACF;EAEA,MAAM,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,EAAE,MAAM,gBAAgB,CAAC;EAC1D,MAAM,MAAM,IAAI,gBAAgB,IAAI;EACpC,MAAM,IAAI,SAAS,cAAc,GAAG;EACpC,EAAE,OAAO;EACT,EAAE,WAAW,YAAY,WAAW,KAAK,IAAI,EAAE;EAC/C,EAAE,MAAM;EACR,IAAI,gBAAgB,GAAG;CACzB,GAAG;EAAC;EAAK;EAAU;CAAQ,CAAC;CAE5B,IAAI,CAAC,sBAAsB,OAAO;CAClC,OAAO;AACT;AAOA,MAAa,mCAAmC,YAG7C,EAAE,UAAU,UAAU,SAAS,UAAU,GAAG,SAAS,iBAAiB;CACvE,MAAM,WAAW,2BAA2B;EAAE;EAAU;CAAS,CAAC;CAClE,OACE,oBAAC,UAAU,QAAX;EACE,MAAK;EACL,GAAI;EACJ,KAAK;EACL,UAAU,YAAY,CAAC;EACvB,SAAS,qBAAqB,eAAe;GAC3C,WAAW;EACb,CAAC;CACF,CAAA;AAEL,CAAC;AAED,iCAAiC,cAC/B"}
1
+ {"version":3,"file":"ActionBarExportMarkdown.js","names":["c","_c","forwardRef","useCallback","ActionButtonProps","composeEventHandlers","Primitive","useAuiState","useAui","useActionBarExportMarkdown","t0","$","t1","undefined","filename","onExport","aui","hasExportableContent","_temp2","t2","content","message","getCopyText","blob","Blob","type","url","URL","createObjectURL","a","document","createElement","href","download","Date","now","click","revokeObjectURL","callback","ActionBarPrimitiveExportMarkdown","Element","HTMLButtonElement","Props","forwardedRef","disabled","onClick","props","t3","t4","t5","displayName","_temp","text","length","s","role","status","parts","some"],"sources":["../../../src/primitives/actionBar/ActionBarExportMarkdown.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, useCallback } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useAuiState, useAui } from \"@assistant-ui/store\";\n\nconst useActionBarExportMarkdown = ({\n filename,\n onExport,\n}: {\n filename?: string | undefined;\n onExport?: ((content: string) => void | Promise<void>) | undefined;\n} = {}) => {\n const aui = useAui();\n const hasExportableContent = useAuiState((s) => {\n return (\n (s.message.role !== \"assistant\" ||\n s.message.status?.type !== \"running\") &&\n s.message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n );\n });\n\n const callback = useCallback(async () => {\n const content = aui.message().getCopyText();\n if (!content) return;\n\n if (onExport) {\n await onExport(content);\n return;\n }\n\n const blob = new Blob([content], { type: \"text/markdown\" });\n const url = URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = filename ?? `message-${Date.now()}.md`;\n a.click();\n URL.revokeObjectURL(url);\n }, [aui, filename, onExport]);\n\n if (!hasExportableContent) return null;\n return callback;\n};\n\nexport namespace ActionBarPrimitiveExportMarkdown {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarExportMarkdown>;\n}\n\nexport const ActionBarPrimitiveExportMarkdown = forwardRef<\n ActionBarPrimitiveExportMarkdown.Element,\n ActionBarPrimitiveExportMarkdown.Props\n>(({ filename, onExport, onClick, disabled, ...props }, forwardedRef) => {\n const callback = useActionBarExportMarkdown({ filename, onExport });\n return (\n <Primitive.button\n type=\"button\"\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveExportMarkdown.displayName =\n \"ActionBarPrimitive.ExportMarkdown\";\n"],"mappings":";;;;;;;;AAQA,MAAMS,8BAA6BC,OAAA;CAAA,MAAAC,IAAAV,EAAA,CAAA;CAAA,IAAAW;CAAA,IAAAD,EAAA,OAAAD,IAAA;EAACE,KAAAF,OAAAG,KAAAA,IAAA,CAM/B,IAN+BH;EAM9BC,EAAA,KAAAD;EAAAC,EAAA,KAAAC;CAAA,OAAAA,KAAAD,EAAA;CAN8B,MAAA,EAAAG,UAAAC,aAAAH;CAOlC,MAAAI,MAAYR,OAAO;CACnB,MAAAS,uBAA6BV,YAAYW,MAMxC;CAAE,IAAAC;CAAA,IAAAR,EAAA,OAAAK,OAAAL,EAAA,OAAAG,YAAAH,EAAA,OAAAI,UAAA;EAE0BI,KAAA,YAAA;GAC3B,MAAAC,UAAgBJ,IAAGK,QAAS,CAAC,CAAAC,YAAa;GAC1C,IAAI,CAACF,SAAO;GAEZ,IAAIL,UAAQ;IACV,MAAMA,SAASK,OAAO;IAAC;GAAA;GAIzB,MAAAG,OAAa,IAAIC,KAAK,CAACJ,OAAO,GAAG,EAAAK,MAAQ,gBAAgB,CAAC;GAC1D,MAAAC,MAAYC,IAAGC,gBAAiBL,IAAI;GACpC,MAAAM,IAAUC,SAAQC,cAAe,GAAG;GACpCF,EAACG,OAAQN;GACTG,EAACI,WAAYnB,YAAA,WAAuBoB,KAAIC,IAAK,EAAC;GAC9CN,EAACO,MAAO;GACRT,IAAGU,gBAAiBX,GAAG;EAAC;EACzBf,EAAA,KAAAK;EAAAL,EAAA,KAAAG;EAAAH,EAAA,KAAAI;EAAAJ,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAhBD,MAAA2B,WAAiBnB;CAkBjB,IAAI,CAACF,sBAAoB,OAAS;CAAK,OAChCqB;AAAQ;AAQjB,MAAaC,mCAAmCrC,YAG9CQ,IAAAiC,iBAAA;CAAA,MAAAhC,IAAAV,EAAA,EAAA;CAAA,IAAA2C;CAAA,IAAA9B;CAAA,IAAA+B;CAAA,IAAA9B;CAAA,IAAA+B;CAAA,IAAAnC,EAAA,OAAAD,IAAA;EAAC,CAAA,CAAAI,UAAAC,UAAA8B,SAAAD,aAAAE,SAAApC;EAAmDC,EAAA,KAAAD;EAAAC,EAAA,KAAAiC;EAAAjC,EAAA,KAAAG;EAAAH,EAAA,KAAAkC;EAAAlC,EAAA,KAAAI;EAAAJ,EAAA,KAAAmC;CAAA,OAAA;EAAAF,WAAAjC,EAAA;EAAAG,WAAAH,EAAA;EAAAkC,UAAAlC,EAAA;EAAAI,WAAAJ,EAAA;EAAAmC,QAAAnC,EAAA;CAAA;CAAA,IAAAC;CAAA,IAAAD,EAAA,OAAAG,YAAAH,EAAA,OAAAI,UAAA;EACRH,KAAA;GAAAE;GAAAC;EAAqB;EAACJ,EAAA,KAAAG;EAAAH,EAAA,KAAAI;EAAAJ,EAAA,KAAAC;CAAA,OAAAA,KAAAD,EAAA;CAAlE,MAAA2B,WAAiB7B,2BAA2BG,EAAsB;CAMpD,MAAAO,KAAAyB,YAAA,CAAaN;CAAQ,IAAAS;CAAA,IAAApC,EAAA,OAAA2B,UAAA;EACQS,WAAA;GACrCT,WAAW;EAAC;EACb3B,EAAA,KAAA2B;EAAA3B,EAAA,MAAAoC;CAAA,OAAAA,KAAApC,EAAA;CAAA,IAAAqC;CAAA,IAAArC,EAAA,QAAAkC,WAAAlC,EAAA,QAAAoC,IAAA;EAFQC,KAAA3C,qBAAqBwC,SAASE,EAEtC;EAACpC,EAAA,MAAAkC;EAAAlC,EAAA,MAAAoC;EAAApC,EAAA,MAAAqC;CAAA,OAAAA,KAAArC,EAAA;CAAA,IAAAsC;CAAA,IAAAtC,EAAA,QAAAgC,gBAAAhC,EAAA,QAAAmC,SAAAnC,EAAA,QAAAQ,MAAAR,EAAA,QAAAqC,IAAA;EAPJC,KAAA,oBAAA,UAAA,QAAA;GACO,MAAA;GAAQ,GACTH;GACCH,KAAAA;GACK,UAAAxB;GACD,SAAA6B;EAEP,CAAA;EACFrC,EAAA,MAAAgC;EAAAhC,EAAA,MAAAmC;EAAAnC,EAAA,MAAAQ;EAAAR,EAAA,MAAAqC;EAAArC,EAAA,MAAAsC;CAAA,OAAAA,KAAAtC,EAAA;CAAA,OARFsC;AAQE,CAEL;AAEDV,iCAAiCW,cAC/B;AA9DiC,SAAAC,MAAAnD,GAAA;CAAA,OAYDA,EAACyB,SAAU,UAAUzB,EAACoD,KAAKC,SAAU;AAAC;AAZrC,SAAAnC,OAAAoC,GAAA;CAAA,QAU5BA,EAACjC,QAAQkC,SAAU,eAClBD,EAACjC,QAAQmC,QAAa/B,SAAK,cAC7B6B,EAACjC,QAAQoC,MAAMC,KAAMP,KAA6C;AAAC"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { Primitive } from "../../utils/Primitive.js";
3
3
  import { useAuiState } from "@assistant-ui/store";
4
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
4
5
  import { useActionBarFeedbackNegative } from "@assistant-ui/core/react";
5
6
  import { forwardRef } from "@assistant-ui/tap/react-shim";
6
7
  import { jsx } from "react/jsx-runtime";
@@ -10,21 +11,69 @@ const useActionBarFeedbackNegative$1 = () => {
10
11
  const { submit } = useActionBarFeedbackNegative();
11
12
  return submit;
12
13
  };
13
- const ActionBarPrimitiveFeedbackNegative = forwardRef(({ onClick, disabled, ...props }, forwardedRef) => {
14
- const isSubmitted = useAuiState((s) => s.message.metadata.submittedFeedback?.type === "negative");
14
+ const ActionBarPrimitiveFeedbackNegative = forwardRef((t0, forwardedRef) => {
15
+ const $ = c(17);
16
+ let disabled;
17
+ let onClick;
18
+ let props;
19
+ if ($[0] !== t0) {
20
+ ({onClick, disabled, ...props} = t0);
21
+ $[0] = t0;
22
+ $[1] = disabled;
23
+ $[2] = onClick;
24
+ $[3] = props;
25
+ } else {
26
+ disabled = $[1];
27
+ onClick = $[2];
28
+ props = $[3];
29
+ }
30
+ const isSubmitted = useAuiState(_temp);
15
31
  const callback = useActionBarFeedbackNegative$1();
16
- return /* @__PURE__ */ jsx(Primitive.button, {
17
- type: "button",
18
- ...isSubmitted ? { "data-submitted": "true" } : {},
19
- ...props,
20
- ref: forwardedRef,
21
- disabled: disabled || !callback,
22
- onClick: composeEventHandlers(onClick, () => {
32
+ let t1;
33
+ if ($[4] !== isSubmitted) {
34
+ t1 = isSubmitted ? { "data-submitted": "true" } : {};
35
+ $[4] = isSubmitted;
36
+ $[5] = t1;
37
+ } else t1 = $[5];
38
+ const t2 = disabled || !callback;
39
+ let t3;
40
+ if ($[6] !== callback) {
41
+ t3 = () => {
23
42
  callback?.();
24
- })
25
- });
43
+ };
44
+ $[6] = callback;
45
+ $[7] = t3;
46
+ } else t3 = $[7];
47
+ let t4;
48
+ if ($[8] !== onClick || $[9] !== t3) {
49
+ t4 = composeEventHandlers(onClick, t3);
50
+ $[8] = onClick;
51
+ $[9] = t3;
52
+ $[10] = t4;
53
+ } else t4 = $[10];
54
+ let t5;
55
+ if ($[11] !== forwardedRef || $[12] !== props || $[13] !== t1 || $[14] !== t2 || $[15] !== t4) {
56
+ t5 = /* @__PURE__ */ jsx(Primitive.button, {
57
+ type: "button",
58
+ ...t1,
59
+ ...props,
60
+ ref: forwardedRef,
61
+ disabled: t2,
62
+ onClick: t4
63
+ });
64
+ $[11] = forwardedRef;
65
+ $[12] = props;
66
+ $[13] = t1;
67
+ $[14] = t2;
68
+ $[15] = t4;
69
+ $[16] = t5;
70
+ } else t5 = $[16];
71
+ return t5;
26
72
  });
27
73
  ActionBarPrimitiveFeedbackNegative.displayName = "ActionBarPrimitive.FeedbackNegative";
74
+ function _temp(s) {
75
+ return s.message.metadata.submittedFeedback?.type === "negative";
76
+ }
28
77
  //#endregion
29
78
  export { ActionBarPrimitiveFeedbackNegative };
30
79
 
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarFeedbackNegative.js","names":["useActionBarFeedbackNegative","useActionBarFeedbackNegativeBehavior"],"sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { useActionBarFeedbackNegative as useActionBarFeedbackNegativeBehavior } from \"@assistant-ui/core/react\";\n\nconst useActionBarFeedbackNegative = () => {\n const { submit } = useActionBarFeedbackNegativeBehavior();\n return submit;\n};\n\nexport namespace ActionBarPrimitiveFeedbackNegative {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackNegative>;\n}\n\nexport const ActionBarPrimitiveFeedbackNegative = forwardRef<\n ActionBarPrimitiveFeedbackNegative.Element,\n ActionBarPrimitiveFeedbackNegative.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useAuiState(\n (s) => s.message.metadata.submittedFeedback?.type === \"negative\",\n );\n const callback = useActionBarFeedbackNegative();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackNegative.displayName =\n \"ActionBarPrimitive.FeedbackNegative\";\n"],"mappings":";;;;;;;;AASA,MAAMA,uCAAqC;CACzC,MAAM,EAAE,WAAWC,6BAAqC;CACxD,OAAO;AACT;AAOA,MAAa,qCAAqC,YAG/C,EAAE,SAAS,UAAU,GAAG,SAAS,iBAAiB;CACnD,MAAM,cAAc,aACjB,MAAM,EAAE,QAAQ,SAAS,mBAAmB,SAAS,UACxD;CACA,MAAM,WAAWD,+BAA6B;CAC9C,OACE,oBAAC,UAAU,QAAX;EACE,MAAK;EACL,GAAK,cAAc,EAAE,kBAAkB,OAAO,IAAI,CAAC;EACnD,GAAI;EACJ,KAAK;EACL,UAAU,YAAY,CAAC;EACvB,SAAS,qBAAqB,eAAe;GAC3C,WAAW;EACb,CAAC;CACF,CAAA;AAEL,CAAC;AAED,mCAAmC,cACjC"}
1
+ {"version":3,"file":"ActionBarFeedbackNegative.js","names":["c","_c","forwardRef","ActionButtonProps","composeEventHandlers","Primitive","useAuiState","useActionBarFeedbackNegative","useActionBarFeedbackNegativeBehavior","submit","ActionBarPrimitiveFeedbackNegative","Element","HTMLButtonElement","Props","t0","forwardedRef","$","disabled","onClick","props","isSubmitted","_temp","callback","t1","t2","t3","t4","t5","displayName","s","message","metadata","submittedFeedback","type"],"sources":["../../../src/primitives/actionBar/ActionBarFeedbackNegative.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { useActionBarFeedbackNegative as useActionBarFeedbackNegativeBehavior } from \"@assistant-ui/core/react\";\n\nconst useActionBarFeedbackNegative = () => {\n const { submit } = useActionBarFeedbackNegativeBehavior();\n return submit;\n};\n\nexport namespace ActionBarPrimitiveFeedbackNegative {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackNegative>;\n}\n\nexport const ActionBarPrimitiveFeedbackNegative = forwardRef<\n ActionBarPrimitiveFeedbackNegative.Element,\n ActionBarPrimitiveFeedbackNegative.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useAuiState(\n (s) => s.message.metadata.submittedFeedback?.type === \"negative\",\n );\n const callback = useActionBarFeedbackNegative();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackNegative.displayName =\n \"ActionBarPrimitive.FeedbackNegative\";\n"],"mappings":";;;;;;;;;AASA,MAAMO,uCAA+B;CACnC,MAAA,EAAAE,WAAmBD,6BAAqC;CAAE,OACnDC;AAAM;AAQf,MAAaC,qCAAqCR,YAGhDY,IAAAC,iBAAA;CAAA,MAAAC,IAAAf,EAAA,EAAA;CAAA,IAAAgB;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAH,EAAA,OAAAF,IAAA;EAAC,CAAA,CAAAI,SAAAD,aAAAE,SAAAL;EAA+BE,EAAA,KAAAF;EAAAE,EAAA,KAAAC;EAAAD,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAA;EAAAF,WAAAD,EAAA;EAAAE,UAAAF,EAAA;EAAAG,QAAAH,EAAA;CAAA;CAChC,MAAAI,cAAoBd,YAClBe,KACF;CACA,MAAAC,WAAiBf,+BAA6B;CAAE,IAAAgB;CAAA,IAAAP,EAAA,OAAAI,aAAA;EAIvCG,KAAAH,cAAA,EAAA,kBAAkC,OAAY,IAA9C,CAA8C;EAACJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAG1C,MAAAQ,KAAAP,YAAA,CAAaK;CAAQ,IAAAG;CAAA,IAAAT,EAAA,OAAAM,UAAA;EACQG,WAAA;GACrCH,WAAW;EAAC;EACbN,EAAA,KAAAM;EAAAN,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAE,WAAAF,EAAA,OAAAS,IAAA;EAFQC,KAAAtB,qBAAqBc,SAASO,EAEtC;EAACT,EAAA,KAAAE;EAAAF,EAAA,KAAAS;EAAAT,EAAA,MAAAU;CAAA,OAAAA,KAAAV,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,QAAAD,gBAAAC,EAAA,QAAAG,SAAAH,EAAA,QAAAO,MAAAP,EAAA,QAAAQ,MAAAR,EAAA,QAAAU,IAAA;EARJC,KAAA,oBAAA,UAAA,QAAA;GACO,MAAA;GAAQ,GACRJ;GAA+C,GAChDJ;GACCJ,KAAAA;GACK,UAAAS;GACD,SAAAE;EAEP,CAAA;EACFV,EAAA,MAAAD;EAAAC,EAAA,MAAAG;EAAAH,EAAA,MAAAO;EAAAP,EAAA,MAAAQ;EAAAR,EAAA,MAAAU;EAAAV,EAAA,MAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,OATFW;AASE,CAEL;AAEDjB,mCAAmCkB,cACjC;AApBA,SAAAP,MAAAQ,GAAA;CAAA,OAESA,EAACC,QAAQC,SAASC,mBAAwBC,SAAK;AAAU"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { Primitive } from "../../utils/Primitive.js";
3
3
  import { useAuiState } from "@assistant-ui/store";
4
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
4
5
  import { useActionBarFeedbackPositive } from "@assistant-ui/core/react";
5
6
  import { forwardRef } from "@assistant-ui/tap/react-shim";
6
7
  import { jsx } from "react/jsx-runtime";
@@ -10,21 +11,69 @@ const useActionBarFeedbackPositive$1 = () => {
10
11
  const { submit } = useActionBarFeedbackPositive();
11
12
  return submit;
12
13
  };
13
- const ActionBarPrimitiveFeedbackPositive = forwardRef(({ onClick, disabled, ...props }, forwardedRef) => {
14
- const isSubmitted = useAuiState((s) => s.message.metadata.submittedFeedback?.type === "positive");
14
+ const ActionBarPrimitiveFeedbackPositive = forwardRef((t0, forwardedRef) => {
15
+ const $ = c(17);
16
+ let disabled;
17
+ let onClick;
18
+ let props;
19
+ if ($[0] !== t0) {
20
+ ({onClick, disabled, ...props} = t0);
21
+ $[0] = t0;
22
+ $[1] = disabled;
23
+ $[2] = onClick;
24
+ $[3] = props;
25
+ } else {
26
+ disabled = $[1];
27
+ onClick = $[2];
28
+ props = $[3];
29
+ }
30
+ const isSubmitted = useAuiState(_temp);
15
31
  const callback = useActionBarFeedbackPositive$1();
16
- return /* @__PURE__ */ jsx(Primitive.button, {
17
- type: "button",
18
- ...isSubmitted ? { "data-submitted": "true" } : {},
19
- ...props,
20
- ref: forwardedRef,
21
- disabled: disabled || !callback,
22
- onClick: composeEventHandlers(onClick, () => {
32
+ let t1;
33
+ if ($[4] !== isSubmitted) {
34
+ t1 = isSubmitted ? { "data-submitted": "true" } : {};
35
+ $[4] = isSubmitted;
36
+ $[5] = t1;
37
+ } else t1 = $[5];
38
+ const t2 = disabled || !callback;
39
+ let t3;
40
+ if ($[6] !== callback) {
41
+ t3 = () => {
23
42
  callback?.();
24
- })
25
- });
43
+ };
44
+ $[6] = callback;
45
+ $[7] = t3;
46
+ } else t3 = $[7];
47
+ let t4;
48
+ if ($[8] !== onClick || $[9] !== t3) {
49
+ t4 = composeEventHandlers(onClick, t3);
50
+ $[8] = onClick;
51
+ $[9] = t3;
52
+ $[10] = t4;
53
+ } else t4 = $[10];
54
+ let t5;
55
+ if ($[11] !== forwardedRef || $[12] !== props || $[13] !== t1 || $[14] !== t2 || $[15] !== t4) {
56
+ t5 = /* @__PURE__ */ jsx(Primitive.button, {
57
+ type: "button",
58
+ ...t1,
59
+ ...props,
60
+ ref: forwardedRef,
61
+ disabled: t2,
62
+ onClick: t4
63
+ });
64
+ $[11] = forwardedRef;
65
+ $[12] = props;
66
+ $[13] = t1;
67
+ $[14] = t2;
68
+ $[15] = t4;
69
+ $[16] = t5;
70
+ } else t5 = $[16];
71
+ return t5;
26
72
  });
27
73
  ActionBarPrimitiveFeedbackPositive.displayName = "ActionBarPrimitive.FeedbackPositive";
74
+ function _temp(s) {
75
+ return s.message.metadata.submittedFeedback?.type === "positive";
76
+ }
28
77
  //#endregion
29
78
  export { ActionBarPrimitiveFeedbackPositive };
30
79
 
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarFeedbackPositive.js","names":["useActionBarFeedbackPositive","useActionBarFeedbackPositiveBehavior"],"sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useActionBarFeedbackPositive as useActionBarFeedbackPositiveBehavior } from \"@assistant-ui/core/react\";\n\nconst useActionBarFeedbackPositive = () => {\n const { submit } = useActionBarFeedbackPositiveBehavior();\n return submit;\n};\n\nexport namespace ActionBarPrimitiveFeedbackPositive {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackPositive>;\n}\n\nexport const ActionBarPrimitiveFeedbackPositive = forwardRef<\n ActionBarPrimitiveFeedbackPositive.Element,\n ActionBarPrimitiveFeedbackPositive.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useAuiState(\n (s) => s.message.metadata.submittedFeedback?.type === \"positive\",\n );\n const callback = useActionBarFeedbackPositive();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackPositive.displayName =\n \"ActionBarPrimitive.FeedbackPositive\";\n"],"mappings":";;;;;;;;AASA,MAAMA,uCAAqC;CACzC,MAAM,EAAE,WAAWC,6BAAqC;CACxD,OAAO;AACT;AAOA,MAAa,qCAAqC,YAG/C,EAAE,SAAS,UAAU,GAAG,SAAS,iBAAiB;CACnD,MAAM,cAAc,aACjB,MAAM,EAAE,QAAQ,SAAS,mBAAmB,SAAS,UACxD;CACA,MAAM,WAAWD,+BAA6B;CAC9C,OACE,oBAAC,UAAU,QAAX;EACE,MAAK;EACL,GAAK,cAAc,EAAE,kBAAkB,OAAO,IAAI,CAAC;EACnD,GAAI;EACJ,KAAK;EACL,UAAU,YAAY,CAAC;EACvB,SAAS,qBAAqB,eAAe;GAC3C,WAAW;EACb,CAAC;CACF,CAAA;AAEL,CAAC;AAED,mCAAmC,cACjC"}
1
+ {"version":3,"file":"ActionBarFeedbackPositive.js","names":["c","_c","forwardRef","ActionButtonProps","composeEventHandlers","useAuiState","Primitive","useActionBarFeedbackPositive","useActionBarFeedbackPositiveBehavior","submit","ActionBarPrimitiveFeedbackPositive","Element","HTMLButtonElement","Props","t0","forwardedRef","$","disabled","onClick","props","isSubmitted","_temp","callback","t1","t2","t3","t4","t5","displayName","s","message","metadata","submittedFeedback","type"],"sources":["../../../src/primitives/actionBar/ActionBarFeedbackPositive.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef } from \"react\";\nimport type { ActionButtonProps } from \"../../utils/createActionButton\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\nimport { Primitive } from \"../../utils/Primitive\";\nimport { useActionBarFeedbackPositive as useActionBarFeedbackPositiveBehavior } from \"@assistant-ui/core/react\";\n\nconst useActionBarFeedbackPositive = () => {\n const { submit } = useActionBarFeedbackPositiveBehavior();\n return submit;\n};\n\nexport namespace ActionBarPrimitiveFeedbackPositive {\n export type Element = HTMLButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarFeedbackPositive>;\n}\n\nexport const ActionBarPrimitiveFeedbackPositive = forwardRef<\n ActionBarPrimitiveFeedbackPositive.Element,\n ActionBarPrimitiveFeedbackPositive.Props\n>(({ onClick, disabled, ...props }, forwardedRef) => {\n const isSubmitted = useAuiState(\n (s) => s.message.metadata.submittedFeedback?.type === \"positive\",\n );\n const callback = useActionBarFeedbackPositive();\n return (\n <Primitive.button\n type=\"button\"\n {...(isSubmitted ? { \"data-submitted\": \"true\" } : {})}\n {...props}\n ref={forwardedRef}\n disabled={disabled || !callback}\n onClick={composeEventHandlers(onClick, () => {\n callback?.();\n })}\n />\n );\n});\n\nActionBarPrimitiveFeedbackPositive.displayName =\n \"ActionBarPrimitive.FeedbackPositive\";\n"],"mappings":";;;;;;;;;AASA,MAAMO,uCAA+B;CACnC,MAAA,EAAAE,WAAmBD,6BAAqC;CAAE,OACnDC;AAAM;AAQf,MAAaC,qCAAqCR,YAGhDY,IAAAC,iBAAA;CAAA,MAAAC,IAAAf,EAAA,EAAA;CAAA,IAAAgB;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAH,EAAA,OAAAF,IAAA;EAAC,CAAA,CAAAI,SAAAD,aAAAE,SAAAL;EAA+BE,EAAA,KAAAF;EAAAE,EAAA,KAAAC;EAAAD,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAA;EAAAF,WAAAD,EAAA;EAAAE,UAAAF,EAAA;EAAAG,QAAAH,EAAA;CAAA;CAChC,MAAAI,cAAoBf,YAClBgB,KACF;CACA,MAAAC,WAAiBf,+BAA6B;CAAE,IAAAgB;CAAA,IAAAP,EAAA,OAAAI,aAAA;EAIvCG,KAAAH,cAAA,EAAA,kBAAkC,OAAY,IAA9C,CAA8C;EAACJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAG1C,MAAAQ,KAAAP,YAAA,CAAaK;CAAQ,IAAAG;CAAA,IAAAT,EAAA,OAAAM,UAAA;EACQG,WAAA;GACrCH,WAAW;EAAC;EACbN,EAAA,KAAAM;EAAAN,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAE,WAAAF,EAAA,OAAAS,IAAA;EAFQC,KAAAtB,qBAAqBc,SAASO,EAEtC;EAACT,EAAA,KAAAE;EAAAF,EAAA,KAAAS;EAAAT,EAAA,MAAAU;CAAA,OAAAA,KAAAV,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,QAAAD,gBAAAC,EAAA,QAAAG,SAAAH,EAAA,QAAAO,MAAAP,EAAA,QAAAQ,MAAAR,EAAA,QAAAU,IAAA;EARJC,KAAA,oBAAA,UAAA,QAAA;GACO,MAAA;GAAQ,GACRJ;GAA+C,GAChDJ;GACCJ,KAAAA;GACK,UAAAS;GACD,SAAAE;EAEP,CAAA;EACFV,EAAA,MAAAD;EAAAC,EAAA,MAAAG;EAAAH,EAAA,MAAAO;EAAAP,EAAA,MAAAQ;EAAAR,EAAA,MAAAU;EAAAV,EAAA,MAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,OATFW;AASE,CAEL;AAEDjB,mCAAmCkB,cACjC;AApBA,SAAAP,MAAAQ,GAAA;CAAA,OAESA,EAACC,QAAQC,SAASC,mBAAwBC,SAAK;AAAU"}
@@ -2,7 +2,9 @@
2
2
  import { createContext, useContext } from "@assistant-ui/tap/react-shim";
3
3
  //#region src/primitives/actionBar/ActionBarInteractionContext.ts
4
4
  const ActionBarInteractionContext = createContext(null);
5
- const useActionBarInteractionContext = () => useContext(ActionBarInteractionContext);
5
+ const useActionBarInteractionContext = () => {
6
+ return useContext(ActionBarInteractionContext);
7
+ };
6
8
  //#endregion
7
9
  export { ActionBarInteractionContext, useActionBarInteractionContext };
8
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarInteractionContext.js","names":[],"sources":["../../../src/primitives/actionBar/ActionBarInteractionContext.ts"],"sourcesContent":["\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nexport type ActionBarInteractionContextValue = {\n acquireInteractionLock: () => () => void;\n};\n\nexport const ActionBarInteractionContext =\n createContext<ActionBarInteractionContextValue | null>(null);\n\nexport const useActionBarInteractionContext = () =>\n useContext(ActionBarInteractionContext);\n"],"mappings":";;;AAQA,MAAa,8BACX,cAAuD,IAAI;AAE7D,MAAa,uCACX,WAAW,2BAA2B"}
1
+ {"version":3,"file":"ActionBarInteractionContext.js","names":["createContext","useContext","ActionBarInteractionContextValue","acquireInteractionLock","ActionBarInteractionContext","useActionBarInteractionContext"],"sources":["../../../src/primitives/actionBar/ActionBarInteractionContext.ts"],"sourcesContent":["\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nexport type ActionBarInteractionContextValue = {\n acquireInteractionLock: () => () => void;\n};\n\nexport const ActionBarInteractionContext =\n createContext<ActionBarInteractionContextValue | null>(null);\n\nexport const useActionBarInteractionContext = () =>\n useContext(ActionBarInteractionContext);\n"],"mappings":";;;AAQA,MAAaI,8BACXJ,cAAuD,IAAI;AAE7D,MAAaK,uCAAiC;CAAA,OAC5CJ,WAAWG,2BAA2B;AAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarReload.js","names":["useActionBarReload","useActionBarReloadBehavior"],"sources":["../../../src/primitives/actionBar/ActionBarReload.ts"],"sourcesContent":["\"use client\";\n\nimport {\n type ActionButtonElement,\n type ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useActionBarReload as useActionBarReloadBehavior } from \"@assistant-ui/core/react\";\n\n/**\n * Hook that provides reload functionality for action bar buttons.\n *\n * This hook returns a callback function that reloads/regenerates the current assistant message,\n * or null if reloading is not available (e.g., thread is running, disabled, or message is not from assistant).\n *\n * @returns A reload callback function, or null if reloading is disabled\n *\n * @example\n * ```tsx\n * function CustomReloadButton() {\n * const reload = useActionBarReload();\n *\n * return (\n * <button onClick={reload} disabled={!reload}>\n * {reload ? \"Reload Message\" : \"Cannot Reload\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarReload = () => {\n const { disabled, reload } = useActionBarReloadBehavior();\n if (disabled) return null;\n return reload;\n};\n\nexport namespace ActionBarPrimitiveReload {\n export type Element = ActionButtonElement;\n /**\n * Props for the ActionBarPrimitive.Reload component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarReload>;\n}\n\n/**\n * A button component that reloads/regenerates the current assistant message.\n *\n * This component automatically handles reloading the current assistant message\n * and is disabled when reloading is not available (e.g., thread is running,\n * disabled, or message is not from assistant).\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Reload>\n * Reload Message\n * </ActionBarPrimitive.Reload>\n * ```\n */\nexport const ActionBarPrimitiveReload = createActionButton(\n \"ActionBarPrimitive.Reload\",\n useActionBarReload,\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAMA,6BAA2B;CAC/B,MAAM,EAAE,UAAU,WAAWC,mBAA2B;CACxD,IAAI,UAAU,OAAO;CACrB,OAAO;AACT;;;;;;;;;;;;;;;AAyBA,MAAa,2BAA2B,mBACtC,6BACAD,oBACF"}
1
+ {"version":3,"file":"ActionBarReload.js","names":["ActionButtonElement","ActionButtonProps","createActionButton","useActionBarReload","useActionBarReloadBehavior","disabled","reload","ActionBarPrimitiveReload","Element","Props"],"sources":["../../../src/primitives/actionBar/ActionBarReload.ts"],"sourcesContent":["\"use client\";\n\nimport {\n type ActionButtonElement,\n type ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useActionBarReload as useActionBarReloadBehavior } from \"@assistant-ui/core/react\";\n\n/**\n * Hook that provides reload functionality for action bar buttons.\n *\n * This hook returns a callback function that reloads/regenerates the current assistant message,\n * or null if reloading is not available (e.g., thread is running, disabled, or message is not from assistant).\n *\n * @returns A reload callback function, or null if reloading is disabled\n *\n * @example\n * ```tsx\n * function CustomReloadButton() {\n * const reload = useActionBarReload();\n *\n * return (\n * <button onClick={reload} disabled={!reload}>\n * {reload ? \"Reload Message\" : \"Cannot Reload\"}\n * </button>\n * );\n * }\n * ```\n */\nconst useActionBarReload = () => {\n const { disabled, reload } = useActionBarReloadBehavior();\n if (disabled) return null;\n return reload;\n};\n\nexport namespace ActionBarPrimitiveReload {\n export type Element = ActionButtonElement;\n /**\n * Props for the ActionBarPrimitive.Reload component.\n * Inherits all button element props and action button functionality.\n */\n export type Props = ActionButtonProps<typeof useActionBarReload>;\n}\n\n/**\n * A button component that reloads/regenerates the current assistant message.\n *\n * This component automatically handles reloading the current assistant message\n * and is disabled when reloading is not available (e.g., thread is running,\n * disabled, or message is not from assistant).\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Reload>\n * Reload Message\n * </ActionBarPrimitive.Reload>\n * ```\n */\nexport const ActionBarPrimitiveReload = createActionButton(\n \"ActionBarPrimitive.Reload\",\n useActionBarReload,\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAMG,6BAAqB;CACzB,MAAA,EAAAE,UAAAC,WAA6BF,mBAA2B;CACxD,IAAIC,UAAQ,OAAS;CAAK,OACnBC;AAAM;;;;;;;;;;;;;;;AA0Bf,MAAaC,2BAA2BL,mBACtC,6BACAC,oBACF"}
@@ -2,7 +2,8 @@
2
2
  import { Primitive } from "../../utils/Primitive.js";
3
3
  import { useActionBarFloatStatus } from "./useActionBarFloatStatus.js";
4
4
  import { ActionBarInteractionContext } from "./ActionBarInteractionContext.js";
5
- import { forwardRef, useCallback, useMemo, useState } from "@assistant-ui/tap/react-shim";
5
+ import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
6
+ import { forwardRef, useState } from "@assistant-ui/tap/react-shim";
6
7
  import { jsx } from "react/jsx-runtime";
7
8
  //#region src/primitives/actionBar/ActionBarRoot.tsx
8
9
  /**
@@ -25,35 +26,93 @@ import { jsx } from "react/jsx-runtime";
25
26
  * </ActionBarPrimitive.Root>
26
27
  * ```
27
28
  */
28
- const ActionBarPrimitiveRoot = forwardRef(({ hideWhenRunning, autohide, autohideFloat, ...rest }, ref) => {
29
+ const ActionBarPrimitiveRoot = forwardRef((t0, ref) => {
30
+ const $ = c(18);
31
+ let autohide;
32
+ let autohideFloat;
33
+ let hideWhenRunning;
34
+ let rest;
35
+ if ($[0] !== t0) {
36
+ ({hideWhenRunning, autohide, autohideFloat, ...rest} = t0);
37
+ $[0] = t0;
38
+ $[1] = autohide;
39
+ $[2] = autohideFloat;
40
+ $[3] = hideWhenRunning;
41
+ $[4] = rest;
42
+ } else {
43
+ autohide = $[1];
44
+ autohideFloat = $[2];
45
+ hideWhenRunning = $[3];
46
+ rest = $[4];
47
+ }
29
48
  const [interactionCount, setInteractionCount] = useState(0);
30
- const acquireInteractionLock = useCallback(() => {
31
- let released = false;
32
- setInteractionCount((count) => count + 1);
33
- return () => {
34
- if (released) return;
35
- released = true;
36
- setInteractionCount((count) => Math.max(0, count - 1));
49
+ let t1;
50
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
51
+ t1 = () => {
52
+ let released = false;
53
+ setInteractionCount(_temp);
54
+ return () => {
55
+ if (released) return;
56
+ released = true;
57
+ setInteractionCount(_temp2);
58
+ };
37
59
  };
38
- }, []);
39
- const interactionContext = useMemo(() => ({ acquireInteractionLock }), [acquireInteractionLock]);
40
- const hideAndfloatStatus = useActionBarFloatStatus({
41
- hideWhenRunning,
42
- autohide,
43
- autohideFloat,
44
- forceVisible: interactionCount > 0
45
- });
60
+ $[5] = t1;
61
+ } else t1 = $[5];
62
+ const acquireInteractionLock = t1;
63
+ let t2;
64
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
65
+ t2 = { acquireInteractionLock };
66
+ $[6] = t2;
67
+ } else t2 = $[6];
68
+ const interactionContext = t2;
69
+ const t3 = interactionCount > 0;
70
+ let t4;
71
+ if ($[7] !== autohide || $[8] !== autohideFloat || $[9] !== hideWhenRunning || $[10] !== t3) {
72
+ t4 = {
73
+ hideWhenRunning,
74
+ autohide,
75
+ autohideFloat,
76
+ forceVisible: t3
77
+ };
78
+ $[7] = autohide;
79
+ $[8] = autohideFloat;
80
+ $[9] = hideWhenRunning;
81
+ $[10] = t3;
82
+ $[11] = t4;
83
+ } else t4 = $[11];
84
+ const hideAndfloatStatus = useActionBarFloatStatus(t4);
46
85
  if (hideAndfloatStatus === "hidden") return null;
47
- return /* @__PURE__ */ jsx(ActionBarInteractionContext.Provider, {
48
- value: interactionContext,
49
- children: /* @__PURE__ */ jsx(Primitive.div, {
50
- ...hideAndfloatStatus === "floating" ? { "data-floating": "true" } : null,
51
- ...rest,
52
- ref
53
- })
54
- });
86
+ let t5;
87
+ if ($[12] !== hideAndfloatStatus) {
88
+ t5 = hideAndfloatStatus === "floating" ? { "data-floating": "true" } : null;
89
+ $[12] = hideAndfloatStatus;
90
+ $[13] = t5;
91
+ } else t5 = $[13];
92
+ let t6;
93
+ if ($[14] !== ref || $[15] !== rest || $[16] !== t5) {
94
+ t6 = /* @__PURE__ */ jsx(ActionBarInteractionContext.Provider, {
95
+ value: interactionContext,
96
+ children: /* @__PURE__ */ jsx(Primitive.div, {
97
+ ...t5,
98
+ ...rest,
99
+ ref
100
+ })
101
+ });
102
+ $[14] = ref;
103
+ $[15] = rest;
104
+ $[16] = t5;
105
+ $[17] = t6;
106
+ } else t6 = $[17];
107
+ return t6;
55
108
  });
56
109
  ActionBarPrimitiveRoot.displayName = "ActionBarPrimitive.Root";
110
+ function _temp(count) {
111
+ return count + 1;
112
+ }
113
+ function _temp2(count_0) {
114
+ return Math.max(0, count_0 - 1);
115
+ }
57
116
  //#endregion
58
117
  export { ActionBarPrimitiveRoot };
59
118
 
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarRoot.js","names":[],"sources":["../../../src/primitives/actionBar/ActionBarRoot.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"../../utils/Primitive\";\nimport {\n type ComponentRef,\n forwardRef,\n type ComponentPropsWithoutRef,\n useCallback,\n useMemo,\n useState,\n} from \"react\";\nimport {\n useActionBarFloatStatus,\n HideAndFloatStatus,\n} from \"./useActionBarFloatStatus\";\nimport { ActionBarInteractionContext } from \"./ActionBarInteractionContext\";\n\ntype PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;\n\nexport namespace ActionBarPrimitiveRoot {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = PrimitiveDivProps & {\n /**\n * Whether to hide the action bar when the thread is running.\n * @default false\n */\n hideWhenRunning?: boolean | undefined;\n /**\n * Controls when the action bar should automatically hide.\n * - \"always\": Always hide unless hovered\n * - \"not-last\": Hide unless this is the last message\n * - \"never\": Never auto-hide\n * @default \"never\"\n */\n autohide?: \"always\" | \"not-last\" | \"never\" | undefined;\n /**\n * Controls floating behavior when auto-hidden.\n * - \"always\": Always float when hidden\n * - \"single-branch\": Float only for single-branch messages\n * - \"never\": Never float\n * @default \"never\"\n */\n autohideFloat?: \"always\" | \"single-branch\" | \"never\" | undefined;\n };\n}\n\n/**\n * The root container for action bar components.\n *\n * This component provides intelligent visibility and floating behavior for action bars,\n * automatically hiding and showing based on message state, hover status, and configuration.\n * It supports floating mode for better UX when space is limited.\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Root\n * hideWhenRunning={true}\n * autohide=\"not-last\"\n * autohideFloat=\"single-branch\"\n * >\n * <ActionBarPrimitive.Copy />\n * <ActionBarPrimitive.Edit />\n * <ActionBarPrimitive.Reload />\n * </ActionBarPrimitive.Root>\n * ```\n */\nexport const ActionBarPrimitiveRoot = forwardRef<\n ActionBarPrimitiveRoot.Element,\n ActionBarPrimitiveRoot.Props\n>(({ hideWhenRunning, autohide, autohideFloat, ...rest }, ref) => {\n const [interactionCount, setInteractionCount] = useState(0);\n\n const acquireInteractionLock = useCallback(() => {\n let released = false;\n\n setInteractionCount((count) => count + 1);\n\n return () => {\n if (released) return;\n released = true;\n setInteractionCount((count) => Math.max(0, count - 1));\n };\n }, []);\n\n const interactionContext = useMemo(\n () => ({ acquireInteractionLock }),\n [acquireInteractionLock],\n );\n\n const hideAndfloatStatus = useActionBarFloatStatus({\n hideWhenRunning,\n autohide,\n autohideFloat,\n forceVisible: interactionCount > 0,\n });\n\n if (hideAndfloatStatus === HideAndFloatStatus.Hidden) return null;\n\n return (\n <ActionBarInteractionContext.Provider value={interactionContext}>\n <Primitive.div\n {...(hideAndfloatStatus === HideAndFloatStatus.Floating\n ? { \"data-floating\": \"true\" }\n : null)}\n {...rest}\n ref={ref}\n />\n </ActionBarInteractionContext.Provider>\n );\n});\n\nActionBarPrimitiveRoot.displayName = \"ActionBarPrimitive.Root\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,MAAa,yBAAyB,YAGnC,EAAE,iBAAiB,UAAU,eAAe,GAAG,QAAQ,QAAQ;CAChE,MAAM,CAAC,kBAAkB,uBAAuB,SAAS,CAAC;CAE1D,MAAM,yBAAyB,kBAAkB;EAC/C,IAAI,WAAW;EAEf,qBAAqB,UAAU,QAAQ,CAAC;EAExC,aAAa;GACX,IAAI,UAAU;GACd,WAAW;GACX,qBAAqB,UAAU,KAAK,IAAI,GAAG,QAAQ,CAAC,CAAC;EACvD;CACF,GAAG,CAAC,CAAC;CAEL,MAAM,qBAAqB,eAClB,EAAE,uBAAuB,IAChC,CAAC,sBAAsB,CACzB;CAEA,MAAM,qBAAqB,wBAAwB;EACjD;EACA;EACA;EACA,cAAc,mBAAmB;CACnC,CAAC;CAED,IAAI,uBAAA,UAAkD,OAAO;CAE7D,OACE,oBAAC,4BAA4B,UAA7B;EAAsC,OAAO;YAC3C,oBAAC,UAAU,KAAX;GACE,GAAK,uBAAA,aACD,EAAE,iBAAiB,OAAO,IAC1B;GACJ,GAAI;GACC;EACN,CAAA;CACmC,CAAA;AAE1C,CAAC;AAED,uBAAuB,cAAc"}
1
+ {"version":3,"file":"ActionBarRoot.js","names":["c","_c","Primitive","ComponentRef","forwardRef","ComponentPropsWithoutRef","useCallback","useMemo","useState","useActionBarFloatStatus","HideAndFloatStatus","ActionBarInteractionContext","PrimitiveDivProps","div","ActionBarPrimitiveRoot","Element","Props","hideWhenRunning","autohide","autohideFloat","t0","ref","$","rest","interactionCount","setInteractionCount","t1","Symbol","for","released","_temp","_temp2","acquireInteractionLock","t2","interactionContext","t3","t4","forceVisible","hideAndfloatStatus","Hidden","t5","Floating","t6","displayName","count","count_0","Math","max"],"sources":["../../../src/primitives/actionBar/ActionBarRoot.tsx"],"sourcesContent":["\"use client\";\n\nimport { Primitive } from \"../../utils/Primitive\";\nimport {\n type ComponentRef,\n forwardRef,\n type ComponentPropsWithoutRef,\n useCallback,\n useMemo,\n useState,\n} from \"react\";\nimport {\n useActionBarFloatStatus,\n HideAndFloatStatus,\n} from \"./useActionBarFloatStatus\";\nimport { ActionBarInteractionContext } from \"./ActionBarInteractionContext\";\n\ntype PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;\n\nexport namespace ActionBarPrimitiveRoot {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = PrimitiveDivProps & {\n /**\n * Whether to hide the action bar when the thread is running.\n * @default false\n */\n hideWhenRunning?: boolean | undefined;\n /**\n * Controls when the action bar should automatically hide.\n * - \"always\": Always hide unless hovered\n * - \"not-last\": Hide unless this is the last message\n * - \"never\": Never auto-hide\n * @default \"never\"\n */\n autohide?: \"always\" | \"not-last\" | \"never\" | undefined;\n /**\n * Controls floating behavior when auto-hidden.\n * - \"always\": Always float when hidden\n * - \"single-branch\": Float only for single-branch messages\n * - \"never\": Never float\n * @default \"never\"\n */\n autohideFloat?: \"always\" | \"single-branch\" | \"never\" | undefined;\n };\n}\n\n/**\n * The root container for action bar components.\n *\n * This component provides intelligent visibility and floating behavior for action bars,\n * automatically hiding and showing based on message state, hover status, and configuration.\n * It supports floating mode for better UX when space is limited.\n *\n * @example\n * ```tsx\n * <ActionBarPrimitive.Root\n * hideWhenRunning={true}\n * autohide=\"not-last\"\n * autohideFloat=\"single-branch\"\n * >\n * <ActionBarPrimitive.Copy />\n * <ActionBarPrimitive.Edit />\n * <ActionBarPrimitive.Reload />\n * </ActionBarPrimitive.Root>\n * ```\n */\nexport const ActionBarPrimitiveRoot = forwardRef<\n ActionBarPrimitiveRoot.Element,\n ActionBarPrimitiveRoot.Props\n>(({ hideWhenRunning, autohide, autohideFloat, ...rest }, ref) => {\n const [interactionCount, setInteractionCount] = useState(0);\n\n const acquireInteractionLock = useCallback(() => {\n let released = false;\n\n setInteractionCount((count) => count + 1);\n\n return () => {\n if (released) return;\n released = true;\n setInteractionCount((count) => Math.max(0, count - 1));\n };\n }, []);\n\n const interactionContext = useMemo(\n () => ({ acquireInteractionLock }),\n [acquireInteractionLock],\n );\n\n const hideAndfloatStatus = useActionBarFloatStatus({\n hideWhenRunning,\n autohide,\n autohideFloat,\n forceVisible: interactionCount > 0,\n });\n\n if (hideAndfloatStatus === HideAndFloatStatus.Hidden) return null;\n\n return (\n <ActionBarInteractionContext.Provider value={interactionContext}>\n <Primitive.div\n {...(hideAndfloatStatus === HideAndFloatStatus.Floating\n ? { \"data-floating\": \"true\" }\n : null)}\n {...rest}\n ref={ref}\n />\n </ActionBarInteractionContext.Provider>\n );\n});\n\nActionBarPrimitiveRoot.displayName = \"ActionBarPrimitive.Root\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,MAAac,yBAAyBV,YAGpCgB,IAAAC,QAAA;CAAA,MAAAC,IAAArB,EAAA,EAAA;CAAA,IAAAiB;CAAA,IAAAC;CAAA,IAAAF;CAAA,IAAAM;CAAA,IAAAD,EAAA,OAAAF,IAAA;EAAC,CAAA,CAAAH,iBAAAC,UAAAC,kBAAAI,QAAAH;EAAqDE,EAAA,KAAAF;EAAAE,EAAA,KAAAJ;EAAAI,EAAA,KAAAH;EAAAG,EAAA,KAAAL;EAAAK,EAAA,KAAAC;CAAA,OAAA;EAAAL,WAAAI,EAAA;EAAAH,gBAAAG,EAAA;EAAAL,kBAAAK,EAAA;EAAAC,OAAAD,EAAA;CAAA;CACtD,MAAA,CAAAE,kBAAAC,uBAAgDjB,SAAS,CAAC;CAAE,IAAAkB;CAAA,IAAAJ,EAAA,OAAAK,OAAAC,IAAA,2BAAA,GAAA;EAEjBF,WAAA;GACzC,IAAAG,WAAe;GAEfJ,oBAAoBK,KAAoB;GAAC,aAElC;IACL,IAAID,UAAQ;IACZA,WAAWA;IACXJ,oBAAoBM,MAAiC;GAAC;EACvD;EACFT,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAVD,MAAAU,yBAA+BN;CAUxB,IAAAO;CAAA,IAAAX,EAAA,OAAAK,OAAAC,IAAA,2BAAA,GAAA;EAGEK,KAAA,EAAAD,uBAAyB;EAACV,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CADnC,MAAAY,qBACSD;CAQO,MAAAE,KAAAX,mBAAmB;CAAC,IAAAY;CAAA,IAAAd,EAAA,OAAAJ,YAAAI,EAAA,OAAAH,iBAAAG,EAAA,OAAAL,mBAAAK,EAAA,QAAAa,IAAA;EAJeC,KAAA;GAAAnB;GAAAC;GAAAC;GAAAkB,cAInCF;EAChB;EAACb,EAAA,KAAAJ;EAAAI,EAAA,KAAAH;EAAAG,EAAA,KAAAL;EAAAK,EAAA,MAAAa;EAAAb,EAAA,MAAAc;CAAA,OAAAA,KAAAd,EAAA;CALD,MAAAgB,qBAA2B7B,wBAAwB2B,EAKlD;CAED,IAAIE,uBAAAA,UAAgD,OAAS;CAAK,IAAAE;CAAA,IAAAlB,EAAA,QAAAgB,oBAAA;EAKvDE,KAAAF,uBAAAA,aAAA,EAAA,iBACkB,OAChB,IAFF;EAEGhB,EAAA,MAAAgB;EAAAhB,EAAA,MAAAkB;CAAA,OAAAA,KAAAlB,EAAA;CAAA,IAAAoB;CAAA,IAAApB,EAAA,QAAAD,OAAAC,EAAA,QAAAC,QAAAD,EAAA,QAAAkB,IAAA;EAJZE,KAAA,oBAAA,4BAAA,UAAA;GAA6CR,OAAAA;aAC3C,oBAAA,UAAA,KAAA;IAAA,GACOM;IAEG,GACJjB;IACCF;GAAG,CAAA;EAEZ,CAAA;EAAuCC,EAAA,MAAAD;EAAAC,EAAA,MAAAC;EAAAD,EAAA,MAAAkB;EAAAlB,EAAA,MAAAoB;CAAA,OAAAA,KAAApB,EAAA;CAAA,OARvCoB;AAQuC,CAE1C;AAED5B,uBAAuB6B,cAAc;AA1CnC,SAAAb,MAAAc,OAAA;CAAA,OAMiCA,QAAQ;AAAC;AAN1C,SAAAb,OAAAc,SAAA;CAAA,OAWmCC,KAAIC,IAAK,GAAGH,UAAQ,CAAC;AAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarSpeak.js","names":["useActionBarSpeak","useActionBarSpeakBehavior"],"sources":["../../../src/primitives/actionBar/ActionBarSpeak.ts"],"sourcesContent":["\"use client\";\n\nimport {\n type ActionButtonElement,\n type ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useActionBarSpeak as useActionBarSpeakBehavior } from \"@assistant-ui/core/react\";\n\nconst useActionBarSpeak = () => {\n const { disabled, speak } = useActionBarSpeakBehavior();\n if (disabled) return null;\n return speak;\n};\n\nexport namespace ActionBarPrimitiveSpeak {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarSpeak>;\n}\n\nexport const ActionBarPrimitiveSpeak = createActionButton(\n \"ActionBarPrimitive.Speak\",\n useActionBarSpeak,\n);\n"],"mappings":";;;;AASA,MAAMA,4BAA0B;CAC9B,MAAM,EAAE,UAAU,UAAUC,kBAA0B;CACtD,IAAI,UAAU,OAAO;CACrB,OAAO;AACT;AAOA,MAAa,0BAA0B,mBACrC,4BACAD,mBACF"}
1
+ {"version":3,"file":"ActionBarSpeak.js","names":["ActionButtonElement","ActionButtonProps","createActionButton","useActionBarSpeak","useActionBarSpeakBehavior","disabled","speak","ActionBarPrimitiveSpeak","Element","Props"],"sources":["../../../src/primitives/actionBar/ActionBarSpeak.ts"],"sourcesContent":["\"use client\";\n\nimport {\n type ActionButtonElement,\n type ActionButtonProps,\n createActionButton,\n} from \"../../utils/createActionButton\";\nimport { useActionBarSpeak as useActionBarSpeakBehavior } from \"@assistant-ui/core/react\";\n\nconst useActionBarSpeak = () => {\n const { disabled, speak } = useActionBarSpeakBehavior();\n if (disabled) return null;\n return speak;\n};\n\nexport namespace ActionBarPrimitiveSpeak {\n export type Element = ActionButtonElement;\n export type Props = ActionButtonProps<typeof useActionBarSpeak>;\n}\n\nexport const ActionBarPrimitiveSpeak = createActionButton(\n \"ActionBarPrimitive.Speak\",\n useActionBarSpeak,\n);\n"],"mappings":";;;;AASA,MAAMG,4BAAoB;CACxB,MAAA,EAAAE,UAAAC,UAA4BF,kBAA0B;CACtD,IAAIC,UAAQ,OAAS;CAAK,OACnBC;AAAK;AAQd,MAAaC,0BAA0BL,mBACrC,4BACAC,mBACF"}