@copilotkitnext/react 0.0.22-alpha.4 → 0.0.22-alpha.6

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 (397) hide show
  1. package/dist/index.d.mts +635 -46
  2. package/dist/index.d.ts +635 -46
  3. package/dist/index.js +325 -22
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +4286 -109
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +6 -6
  8. package/dist/chunk-32YJ5VJ4.mjs +0 -157
  9. package/dist/chunk-32YJ5VJ4.mjs.map +0 -1
  10. package/dist/chunk-36HFWACS.mjs +0 -1
  11. package/dist/chunk-36HFWACS.mjs.map +0 -1
  12. package/dist/chunk-46BZRXWT.mjs +0 -16
  13. package/dist/chunk-46BZRXWT.mjs.map +0 -1
  14. package/dist/chunk-4UDBR75C.mjs +0 -106
  15. package/dist/chunk-4UDBR75C.mjs.map +0 -1
  16. package/dist/chunk-4XJK5IVQ.mjs +0 -83
  17. package/dist/chunk-4XJK5IVQ.mjs.map +0 -1
  18. package/dist/chunk-5JNWVLQI.mjs +0 -72
  19. package/dist/chunk-5JNWVLQI.mjs.map +0 -1
  20. package/dist/chunk-5SC3CO5Q.mjs +0 -69
  21. package/dist/chunk-5SC3CO5Q.mjs.map +0 -1
  22. package/dist/chunk-6VUKDHOD.mjs +0 -1
  23. package/dist/chunk-6VUKDHOD.mjs.map +0 -1
  24. package/dist/chunk-7HM7CU5A.mjs +0 -122
  25. package/dist/chunk-7HM7CU5A.mjs.map +0 -1
  26. package/dist/chunk-AEFM73CL.mjs +0 -32
  27. package/dist/chunk-AEFM73CL.mjs.map +0 -1
  28. package/dist/chunk-AI3Z3CHN.mjs +0 -97
  29. package/dist/chunk-AI3Z3CHN.mjs.map +0 -1
  30. package/dist/chunk-AXFRCGH6.mjs +0 -107
  31. package/dist/chunk-AXFRCGH6.mjs.map +0 -1
  32. package/dist/chunk-BNT754Z2.mjs +0 -185
  33. package/dist/chunk-BNT754Z2.mjs.map +0 -1
  34. package/dist/chunk-BT6C5OPU.mjs +0 -278
  35. package/dist/chunk-BT6C5OPU.mjs.map +0 -1
  36. package/dist/chunk-CDSO65ZY.mjs +0 -157
  37. package/dist/chunk-CDSO65ZY.mjs.map +0 -1
  38. package/dist/chunk-CGLGXQAU.mjs +0 -78
  39. package/dist/chunk-CGLGXQAU.mjs.map +0 -1
  40. package/dist/chunk-DVUQO72Z.mjs +0 -1
  41. package/dist/chunk-DVUQO72Z.mjs.map +0 -1
  42. package/dist/chunk-E56GYBP3.mjs +0 -101
  43. package/dist/chunk-E56GYBP3.mjs.map +0 -1
  44. package/dist/chunk-ETWJDCGE.mjs +0 -1
  45. package/dist/chunk-ETWJDCGE.mjs.map +0 -1
  46. package/dist/chunk-FIBK3DYE.mjs +0 -26
  47. package/dist/chunk-FIBK3DYE.mjs.map +0 -1
  48. package/dist/chunk-FVURPXQK.mjs +0 -45
  49. package/dist/chunk-FVURPXQK.mjs.map +0 -1
  50. package/dist/chunk-FZR2XQKR.mjs +0 -44
  51. package/dist/chunk-FZR2XQKR.mjs.map +0 -1
  52. package/dist/chunk-GK4NXPLC.mjs +0 -60
  53. package/dist/chunk-GK4NXPLC.mjs.map +0 -1
  54. package/dist/chunk-IA4CLXDM.mjs +0 -76
  55. package/dist/chunk-IA4CLXDM.mjs.map +0 -1
  56. package/dist/chunk-IICUCI5S.mjs +0 -43
  57. package/dist/chunk-IICUCI5S.mjs.map +0 -1
  58. package/dist/chunk-JLVGSNAO.mjs +0 -311
  59. package/dist/chunk-JLVGSNAO.mjs.map +0 -1
  60. package/dist/chunk-JWOIINVV.mjs +0 -237
  61. package/dist/chunk-JWOIINVV.mjs.map +0 -1
  62. package/dist/chunk-KCVDFZJX.mjs +0 -873
  63. package/dist/chunk-KCVDFZJX.mjs.map +0 -1
  64. package/dist/chunk-KPRUSQ3K.mjs +0 -1
  65. package/dist/chunk-KPRUSQ3K.mjs.map +0 -1
  66. package/dist/chunk-MWC5OV7Z.mjs +0 -1
  67. package/dist/chunk-MWC5OV7Z.mjs.map +0 -1
  68. package/dist/chunk-N5EP5OD5.mjs +0 -1
  69. package/dist/chunk-N5EP5OD5.mjs.map +0 -1
  70. package/dist/chunk-N5HC66HU.mjs +0 -311
  71. package/dist/chunk-N5HC66HU.mjs.map +0 -1
  72. package/dist/chunk-NB2GZAKG.mjs +0 -131
  73. package/dist/chunk-NB2GZAKG.mjs.map +0 -1
  74. package/dist/chunk-NB4DFAZH.mjs +0 -185
  75. package/dist/chunk-NB4DFAZH.mjs.map +0 -1
  76. package/dist/chunk-NNAYEAP2.mjs +0 -49
  77. package/dist/chunk-NNAYEAP2.mjs.map +0 -1
  78. package/dist/chunk-NNPKBGD6.mjs +0 -37
  79. package/dist/chunk-NNPKBGD6.mjs.map +0 -1
  80. package/dist/chunk-OMPVTGXH.mjs +0 -122
  81. package/dist/chunk-OMPVTGXH.mjs.map +0 -1
  82. package/dist/chunk-R5OLAA3L.mjs +0 -135
  83. package/dist/chunk-R5OLAA3L.mjs.map +0 -1
  84. package/dist/chunk-RF2CGPHQ.mjs +0 -215
  85. package/dist/chunk-RF2CGPHQ.mjs.map +0 -1
  86. package/dist/chunk-RGD2L3Z4.mjs +0 -96
  87. package/dist/chunk-RGD2L3Z4.mjs.map +0 -1
  88. package/dist/chunk-RK5P2LG6.mjs +0 -57
  89. package/dist/chunk-RK5P2LG6.mjs.map +0 -1
  90. package/dist/chunk-RRXDJCXI.mjs +0 -60
  91. package/dist/chunk-RRXDJCXI.mjs.map +0 -1
  92. package/dist/chunk-SPDE34WC.mjs +0 -283
  93. package/dist/chunk-SPDE34WC.mjs.map +0 -1
  94. package/dist/chunk-TAUOEJH2.mjs +0 -120
  95. package/dist/chunk-TAUOEJH2.mjs.map +0 -1
  96. package/dist/chunk-TBE7ZI5G.mjs +0 -45
  97. package/dist/chunk-TBE7ZI5G.mjs.map +0 -1
  98. package/dist/chunk-UOX5D73C.mjs +0 -22
  99. package/dist/chunk-UOX5D73C.mjs.map +0 -1
  100. package/dist/chunk-US4KNAAV.mjs +0 -1
  101. package/dist/chunk-US4KNAAV.mjs.map +0 -1
  102. package/dist/chunk-UZB3CTOY.mjs +0 -873
  103. package/dist/chunk-UZB3CTOY.mjs.map +0 -1
  104. package/dist/chunk-VBI6JXPC.mjs +0 -1
  105. package/dist/chunk-VBI6JXPC.mjs.map +0 -1
  106. package/dist/chunk-VVAXSF3M.mjs +0 -61
  107. package/dist/chunk-VVAXSF3M.mjs.map +0 -1
  108. package/dist/chunk-XO4IRKSC.mjs +0 -11
  109. package/dist/chunk-XO4IRKSC.mjs.map +0 -1
  110. package/dist/chunk-XU5CEPYQ.mjs +0 -75
  111. package/dist/chunk-XU5CEPYQ.mjs.map +0 -1
  112. package/dist/chunk-YPH4BHOY.mjs +0 -39
  113. package/dist/chunk-YPH4BHOY.mjs.map +0 -1
  114. package/dist/chunk-YZUPVMHC.mjs +0 -1
  115. package/dist/chunk-YZUPVMHC.mjs.map +0 -1
  116. package/dist/components/CopilotKitInspector.d.mts +0 -13
  117. package/dist/components/CopilotKitInspector.d.ts +0 -13
  118. package/dist/components/CopilotKitInspector.js +0 -69
  119. package/dist/components/CopilotKitInspector.js.map +0 -1
  120. package/dist/components/CopilotKitInspector.mjs +0 -7
  121. package/dist/components/CopilotKitInspector.mjs.map +0 -1
  122. package/dist/components/WildcardToolCallRender.d.mts +0 -7
  123. package/dist/components/WildcardToolCallRender.d.ts +0 -7
  124. package/dist/components/WildcardToolCallRender.js +0 -106
  125. package/dist/components/WildcardToolCallRender.js.map +0 -1
  126. package/dist/components/WildcardToolCallRender.mjs +0 -8
  127. package/dist/components/WildcardToolCallRender.mjs.map +0 -1
  128. package/dist/components/chat/CopilotChat.d.mts +0 -30
  129. package/dist/components/chat/CopilotChat.d.ts +0 -30
  130. package/dist/components/chat/CopilotChat.js +0 -2934
  131. package/dist/components/chat/CopilotChat.js.map +0 -1
  132. package/dist/components/chat/CopilotChat.mjs +0 -37
  133. package/dist/components/chat/CopilotChat.mjs.map +0 -1
  134. package/dist/components/chat/CopilotChatAssistantMessage.d.mts +0 -45
  135. package/dist/components/chat/CopilotChatAssistantMessage.d.ts +0 -45
  136. package/dist/components/chat/CopilotChatAssistantMessage.js +0 -735
  137. package/dist/components/chat/CopilotChatAssistantMessage.js.map +0 -1
  138. package/dist/components/chat/CopilotChatAssistantMessage.mjs +0 -29
  139. package/dist/components/chat/CopilotChatAssistantMessage.mjs.map +0 -1
  140. package/dist/components/chat/CopilotChatAudioRecorder.d.mts +0 -11
  141. package/dist/components/chat/CopilotChatAudioRecorder.d.ts +0 -11
  142. package/dist/components/chat/CopilotChatAudioRecorder.js +0 -131
  143. package/dist/components/chat/CopilotChatAudioRecorder.js.map +0 -1
  144. package/dist/components/chat/CopilotChatAudioRecorder.mjs +0 -9
  145. package/dist/components/chat/CopilotChatAudioRecorder.mjs.map +0 -1
  146. package/dist/components/chat/CopilotChatInput.d.mts +0 -67
  147. package/dist/components/chat/CopilotChatInput.d.ts +0 -67
  148. package/dist/components/chat/CopilotChatInput.js +0 -1305
  149. package/dist/components/chat/CopilotChatInput.js.map +0 -1
  150. package/dist/components/chat/CopilotChatInput.mjs +0 -16
  151. package/dist/components/chat/CopilotChatInput.mjs.map +0 -1
  152. package/dist/components/chat/CopilotChatMessageView.d.mts +0 -29
  153. package/dist/components/chat/CopilotChatMessageView.d.ts +0 -29
  154. package/dist/components/chat/CopilotChatMessageView.js +0 -1164
  155. package/dist/components/chat/CopilotChatMessageView.js.map +0 -1
  156. package/dist/components/chat/CopilotChatMessageView.mjs +0 -31
  157. package/dist/components/chat/CopilotChatMessageView.mjs.map +0 -1
  158. package/dist/components/chat/CopilotChatSuggestionPill.d.mts +0 -11
  159. package/dist/components/chat/CopilotChatSuggestionPill.d.ts +0 -11
  160. package/dist/components/chat/CopilotChatSuggestionPill.js +0 -76
  161. package/dist/components/chat/CopilotChatSuggestionPill.js.map +0 -1
  162. package/dist/components/chat/CopilotChatSuggestionPill.mjs +0 -10
  163. package/dist/components/chat/CopilotChatSuggestionPill.mjs.map +0 -1
  164. package/dist/components/chat/CopilotChatSuggestionView.d.mts +0 -33
  165. package/dist/components/chat/CopilotChatSuggestionView.d.ts +0 -33
  166. package/dist/components/chat/CopilotChatSuggestionView.js +0 -179
  167. package/dist/components/chat/CopilotChatSuggestionView.js.map +0 -1
  168. package/dist/components/chat/CopilotChatSuggestionView.mjs +0 -12
  169. package/dist/components/chat/CopilotChatSuggestionView.mjs.map +0 -1
  170. package/dist/components/chat/CopilotChatToggleButton.d.mts +0 -14
  171. package/dist/components/chat/CopilotChatToggleButton.d.ts +0 -14
  172. package/dist/components/chat/CopilotChatToggleButton.js +0 -222
  173. package/dist/components/chat/CopilotChatToggleButton.js.map +0 -1
  174. package/dist/components/chat/CopilotChatToggleButton.mjs +0 -16
  175. package/dist/components/chat/CopilotChatToggleButton.mjs.map +0 -1
  176. package/dist/components/chat/CopilotChatToolCallsView.d.mts +0 -10
  177. package/dist/components/chat/CopilotChatToolCallsView.d.ts +0 -10
  178. package/dist/components/chat/CopilotChatToolCallsView.js +0 -264
  179. package/dist/components/chat/CopilotChatToolCallsView.js.map +0 -1
  180. package/dist/components/chat/CopilotChatToolCallsView.mjs +0 -24
  181. package/dist/components/chat/CopilotChatToolCallsView.mjs.map +0 -1
  182. package/dist/components/chat/CopilotChatUserMessage.d.mts +0 -52
  183. package/dist/components/chat/CopilotChatUserMessage.d.ts +0 -52
  184. package/dist/components/chat/CopilotChatUserMessage.js +0 -523
  185. package/dist/components/chat/CopilotChatUserMessage.js.map +0 -1
  186. package/dist/components/chat/CopilotChatUserMessage.mjs +0 -14
  187. package/dist/components/chat/CopilotChatUserMessage.mjs.map +0 -1
  188. package/dist/components/chat/CopilotChatView.d.mts +0 -54
  189. package/dist/components/chat/CopilotChatView.d.ts +0 -54
  190. package/dist/components/chat/CopilotChatView.js +0 -2640
  191. package/dist/components/chat/CopilotChatView.js.map +0 -1
  192. package/dist/components/chat/CopilotChatView.mjs +0 -38
  193. package/dist/components/chat/CopilotChatView.mjs.map +0 -1
  194. package/dist/components/chat/CopilotModalHeader.d.mts +0 -22
  195. package/dist/components/chat/CopilotModalHeader.d.ts +0 -22
  196. package/dist/components/chat/CopilotModalHeader.js +0 -186
  197. package/dist/components/chat/CopilotModalHeader.js.map +0 -1
  198. package/dist/components/chat/CopilotModalHeader.mjs +0 -12
  199. package/dist/components/chat/CopilotModalHeader.mjs.map +0 -1
  200. package/dist/components/chat/CopilotPopup.d.mts +0 -33
  201. package/dist/components/chat/CopilotPopup.d.ts +0 -33
  202. package/dist/components/chat/CopilotPopup.js +0 -3343
  203. package/dist/components/chat/CopilotPopup.js.map +0 -1
  204. package/dist/components/chat/CopilotPopup.mjs +0 -43
  205. package/dist/components/chat/CopilotPopup.mjs.map +0 -1
  206. package/dist/components/chat/CopilotPopupView.d.mts +0 -30
  207. package/dist/components/chat/CopilotPopupView.d.ts +0 -30
  208. package/dist/components/chat/CopilotPopupView.js +0 -3003
  209. package/dist/components/chat/CopilotPopupView.js.map +0 -1
  210. package/dist/components/chat/CopilotPopupView.mjs +0 -41
  211. package/dist/components/chat/CopilotPopupView.mjs.map +0 -1
  212. package/dist/components/chat/CopilotSidebar.d.mts +0 -31
  213. package/dist/components/chat/CopilotSidebar.d.ts +0 -31
  214. package/dist/components/chat/CopilotSidebar.js +0 -3266
  215. package/dist/components/chat/CopilotSidebar.js.map +0 -1
  216. package/dist/components/chat/CopilotSidebar.mjs +0 -43
  217. package/dist/components/chat/CopilotSidebar.mjs.map +0 -1
  218. package/dist/components/chat/CopilotSidebarView.d.mts +0 -28
  219. package/dist/components/chat/CopilotSidebarView.d.ts +0 -28
  220. package/dist/components/chat/CopilotSidebarView.js +0 -2941
  221. package/dist/components/chat/CopilotSidebarView.js.map +0 -1
  222. package/dist/components/chat/CopilotSidebarView.mjs +0 -41
  223. package/dist/components/chat/CopilotSidebarView.mjs.map +0 -1
  224. package/dist/components/chat/index.d.mts +0 -23
  225. package/dist/components/chat/index.d.ts +0 -23
  226. package/dist/components/chat/index.js +0 -3503
  227. package/dist/components/chat/index.js.map +0 -1
  228. package/dist/components/chat/index.mjs +0 -95
  229. package/dist/components/chat/index.mjs.map +0 -1
  230. package/dist/components/index.d.mts +0 -29
  231. package/dist/components/index.d.ts +0 -29
  232. package/dist/components/index.js +0 -3583
  233. package/dist/components/index.js.map +0 -1
  234. package/dist/components/index.mjs +0 -104
  235. package/dist/components/index.mjs.map +0 -1
  236. package/dist/components/ui/button.d.mts +0 -14
  237. package/dist/components/ui/button.d.ts +0 -14
  238. package/dist/components/ui/button.js +0 -150
  239. package/dist/components/ui/button.js.map +0 -1
  240. package/dist/components/ui/button.mjs +0 -10
  241. package/dist/components/ui/button.mjs.map +0 -1
  242. package/dist/components/ui/dropdown-menu.d.mts +0 -28
  243. package/dist/components/ui/dropdown-menu.d.ts +0 -28
  244. package/dist/components/ui/dropdown-menu.js +0 -291
  245. package/dist/components/ui/dropdown-menu.js.map +0 -1
  246. package/dist/components/ui/dropdown-menu.mjs +0 -37
  247. package/dist/components/ui/dropdown-menu.mjs.map +0 -1
  248. package/dist/components/ui/tooltip.d.mts +0 -10
  249. package/dist/components/ui/tooltip.d.ts +0 -10
  250. package/dist/components/ui/tooltip.js +0 -103
  251. package/dist/components/ui/tooltip.js.map +0 -1
  252. package/dist/components/ui/tooltip.mjs +0 -14
  253. package/dist/components/ui/tooltip.mjs.map +0 -1
  254. package/dist/hooks/index.d.mts +0 -19
  255. package/dist/hooks/index.d.ts +0 -19
  256. package/dist/hooks/index.js +0 -691
  257. package/dist/hooks/index.js.map +0 -1
  258. package/dist/hooks/index.mjs +0 -45
  259. package/dist/hooks/index.mjs.map +0 -1
  260. package/dist/hooks/use-agent-context.d.mts +0 -5
  261. package/dist/hooks/use-agent-context.d.ts +0 -5
  262. package/dist/hooks/use-agent-context.js +0 -116
  263. package/dist/hooks/use-agent-context.js.map +0 -1
  264. package/dist/hooks/use-agent-context.mjs +0 -10
  265. package/dist/hooks/use-agent-context.mjs.map +0 -1
  266. package/dist/hooks/use-agent.d.mts +0 -16
  267. package/dist/hooks/use-agent.d.ts +0 -16
  268. package/dist/hooks/use-agent.js +0 -171
  269. package/dist/hooks/use-agent.js.map +0 -1
  270. package/dist/hooks/use-agent.mjs +0 -12
  271. package/dist/hooks/use-agent.mjs.map +0 -1
  272. package/dist/hooks/use-configure-suggestions.d.mts +0 -13
  273. package/dist/hooks/use-configure-suggestions.d.ts +0 -13
  274. package/dist/hooks/use-configure-suggestions.js +0 -232
  275. package/dist/hooks/use-configure-suggestions.js.map +0 -1
  276. package/dist/hooks/use-configure-suggestions.mjs +0 -11
  277. package/dist/hooks/use-configure-suggestions.mjs.map +0 -1
  278. package/dist/hooks/use-frontend-tool.d.mts +0 -8
  279. package/dist/hooks/use-frontend-tool.d.ts +0 -8
  280. package/dist/hooks/use-frontend-tool.js +0 -137
  281. package/dist/hooks/use-frontend-tool.js.map +0 -1
  282. package/dist/hooks/use-frontend-tool.mjs +0 -10
  283. package/dist/hooks/use-frontend-tool.mjs.map +0 -1
  284. package/dist/hooks/use-human-in-the-loop.d.mts +0 -7
  285. package/dist/hooks/use-human-in-the-loop.d.ts +0 -7
  286. package/dist/hooks/use-human-in-the-loop.js +0 -206
  287. package/dist/hooks/use-human-in-the-loop.js.map +0 -1
  288. package/dist/hooks/use-human-in-the-loop.mjs +0 -11
  289. package/dist/hooks/use-human-in-the-loop.mjs.map +0 -1
  290. package/dist/hooks/use-keyboard-height.d.mts +0 -15
  291. package/dist/hooks/use-keyboard-height.d.ts +0 -15
  292. package/dist/hooks/use-keyboard-height.js +0 -68
  293. package/dist/hooks/use-keyboard-height.js.map +0 -1
  294. package/dist/hooks/use-keyboard-height.mjs +0 -7
  295. package/dist/hooks/use-keyboard-height.mjs.map +0 -1
  296. package/dist/hooks/use-render-activity-message.d.mts +0 -5
  297. package/dist/hooks/use-render-activity-message.d.ts +0 -5
  298. package/dist/hooks/use-render-activity-message.js +0 -158
  299. package/dist/hooks/use-render-activity-message.js.map +0 -1
  300. package/dist/hooks/use-render-activity-message.mjs +0 -12
  301. package/dist/hooks/use-render-activity-message.mjs.map +0 -1
  302. package/dist/hooks/use-render-custom-messages.d.mts +0 -11
  303. package/dist/hooks/use-render-custom-messages.d.ts +0 -11
  304. package/dist/hooks/use-render-custom-messages.js +0 -170
  305. package/dist/hooks/use-render-custom-messages.js.map +0 -1
  306. package/dist/hooks/use-render-custom-messages.mjs +0 -12
  307. package/dist/hooks/use-render-custom-messages.mjs.map +0 -1
  308. package/dist/hooks/use-render-tool-call.d.mts +0 -16
  309. package/dist/hooks/use-render-tool-call.d.ts +0 -16
  310. package/dist/hooks/use-render-tool-call.js +0 -208
  311. package/dist/hooks/use-render-tool-call.js.map +0 -1
  312. package/dist/hooks/use-render-tool-call.mjs +0 -11
  313. package/dist/hooks/use-render-tool-call.mjs.map +0 -1
  314. package/dist/hooks/use-suggestions.d.mts +0 -14
  315. package/dist/hooks/use-suggestions.d.ts +0 -14
  316. package/dist/hooks/use-suggestions.js +0 -176
  317. package/dist/hooks/use-suggestions.js.map +0 -1
  318. package/dist/hooks/use-suggestions.mjs +0 -11
  319. package/dist/hooks/use-suggestions.mjs.map +0 -1
  320. package/dist/lib/react-core.d.mts +0 -33
  321. package/dist/lib/react-core.d.ts +0 -33
  322. package/dist/lib/react-core.js +0 -73
  323. package/dist/lib/react-core.js.map +0 -1
  324. package/dist/lib/react-core.mjs +0 -7
  325. package/dist/lib/react-core.mjs.map +0 -1
  326. package/dist/lib/slots.d.mts +0 -16
  327. package/dist/lib/slots.d.ts +0 -16
  328. package/dist/lib/slots.js +0 -60
  329. package/dist/lib/slots.js.map +0 -1
  330. package/dist/lib/slots.mjs +0 -7
  331. package/dist/lib/slots.mjs.map +0 -1
  332. package/dist/lib/utils.d.mts +0 -5
  333. package/dist/lib/utils.d.ts +0 -5
  334. package/dist/lib/utils.js +0 -35
  335. package/dist/lib/utils.js.map +0 -1
  336. package/dist/lib/utils.mjs +0 -7
  337. package/dist/lib/utils.mjs.map +0 -1
  338. package/dist/providers/CopilotChatConfigurationProvider.d.mts +0 -43
  339. package/dist/providers/CopilotChatConfigurationProvider.d.ts +0 -43
  340. package/dist/providers/CopilotChatConfigurationProvider.js +0 -109
  341. package/dist/providers/CopilotChatConfigurationProvider.js.map +0 -1
  342. package/dist/providers/CopilotChatConfigurationProvider.mjs +0 -11
  343. package/dist/providers/CopilotChatConfigurationProvider.mjs.map +0 -1
  344. package/dist/providers/CopilotKitProvider.d.mts +0 -33
  345. package/dist/providers/CopilotKitProvider.d.ts +0 -33
  346. package/dist/providers/CopilotKitProvider.js +0 -314
  347. package/dist/providers/CopilotKitProvider.js.map +0 -1
  348. package/dist/providers/CopilotKitProvider.mjs +0 -12
  349. package/dist/providers/CopilotKitProvider.mjs.map +0 -1
  350. package/dist/providers/index.d.mts +0 -13
  351. package/dist/providers/index.d.ts +0 -13
  352. package/dist/providers/index.js +0 -396
  353. package/dist/providers/index.js.map +0 -1
  354. package/dist/providers/index.mjs +0 -18
  355. package/dist/providers/index.mjs.map +0 -1
  356. package/dist/types/defineToolCallRenderer.d.mts +0 -41
  357. package/dist/types/defineToolCallRenderer.d.ts +0 -41
  358. package/dist/types/defineToolCallRenderer.js +0 -40
  359. package/dist/types/defineToolCallRenderer.js.map +0 -1
  360. package/dist/types/defineToolCallRenderer.mjs +0 -7
  361. package/dist/types/defineToolCallRenderer.mjs.map +0 -1
  362. package/dist/types/frontend-tool.d.mts +0 -9
  363. package/dist/types/frontend-tool.d.ts +0 -9
  364. package/dist/types/frontend-tool.js +0 -19
  365. package/dist/types/frontend-tool.js.map +0 -1
  366. package/dist/types/frontend-tool.mjs +0 -2
  367. package/dist/types/frontend-tool.mjs.map +0 -1
  368. package/dist/types/human-in-the-loop.d.mts +0 -29
  369. package/dist/types/human-in-the-loop.d.ts +0 -29
  370. package/dist/types/human-in-the-loop.js +0 -19
  371. package/dist/types/human-in-the-loop.js.map +0 -1
  372. package/dist/types/human-in-the-loop.mjs +0 -2
  373. package/dist/types/human-in-the-loop.mjs.map +0 -1
  374. package/dist/types/index.d.mts +0 -11
  375. package/dist/types/index.d.ts +0 -11
  376. package/dist/types/index.js +0 -42
  377. package/dist/types/index.js.map +0 -1
  378. package/dist/types/index.mjs +0 -13
  379. package/dist/types/index.mjs.map +0 -1
  380. package/dist/types/react-activity-message-renderer.d.mts +0 -29
  381. package/dist/types/react-activity-message-renderer.d.ts +0 -29
  382. package/dist/types/react-activity-message-renderer.js +0 -19
  383. package/dist/types/react-activity-message-renderer.js.map +0 -1
  384. package/dist/types/react-activity-message-renderer.mjs +0 -2
  385. package/dist/types/react-activity-message-renderer.mjs.map +0 -1
  386. package/dist/types/react-custom-message-renderer.d.mts +0 -18
  387. package/dist/types/react-custom-message-renderer.d.ts +0 -18
  388. package/dist/types/react-custom-message-renderer.js +0 -19
  389. package/dist/types/react-custom-message-renderer.js.map +0 -1
  390. package/dist/types/react-custom-message-renderer.mjs +0 -2
  391. package/dist/types/react-custom-message-renderer.mjs.map +0 -1
  392. package/dist/types/react-tool-call-renderer.d.mts +0 -30
  393. package/dist/types/react-tool-call-renderer.d.ts +0 -30
  394. package/dist/types/react-tool-call-renderer.js +0 -19
  395. package/dist/types/react-tool-call-renderer.js.map +0 -1
  396. package/dist/types/react-tool-call-renderer.mjs +0 -2
  397. package/dist/types/react-tool-call-renderer.mjs.map +0 -1
@@ -1,122 +0,0 @@
1
- import {
2
- CopilotModalHeader
3
- } from "./chunk-E56GYBP3.mjs";
4
- import {
5
- CopilotChatToggleButton_default
6
- } from "./chunk-R5OLAA3L.mjs";
7
- import {
8
- CopilotChatView_default
9
- } from "./chunk-N5HC66HU.mjs";
10
- import {
11
- renderSlot
12
- } from "./chunk-FIBK3DYE.mjs";
13
- import {
14
- cn
15
- } from "./chunk-XO4IRKSC.mjs";
16
- import {
17
- useCopilotChatConfiguration
18
- } from "./chunk-4XJK5IVQ.mjs";
19
-
20
- // src/components/chat/CopilotSidebarView.tsx
21
- import { useEffect, useRef, useState } from "react";
22
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
23
- var DEFAULT_SIDEBAR_WIDTH = 480;
24
- var SIDEBAR_TRANSITION_MS = 260;
25
- function CopilotSidebarView({ header, width, ...props }) {
26
- const configuration = useCopilotChatConfiguration();
27
- const isSidebarOpen = configuration?.isModalOpen ?? false;
28
- const sidebarRef = useRef(null);
29
- const [sidebarWidth, setSidebarWidth] = useState(width ?? DEFAULT_SIDEBAR_WIDTH);
30
- const widthToCss = (w) => {
31
- return typeof w === "number" ? `${w}px` : w;
32
- };
33
- const widthToMargin = (w) => {
34
- if (typeof w === "number") {
35
- return `${w}px`;
36
- }
37
- return w;
38
- };
39
- useEffect(() => {
40
- if (width !== void 0) {
41
- return;
42
- }
43
- if (typeof window === "undefined") {
44
- return;
45
- }
46
- const element = sidebarRef.current;
47
- if (!element) {
48
- return;
49
- }
50
- const updateWidth = () => {
51
- const rect = element.getBoundingClientRect();
52
- if (rect.width > 0) {
53
- setSidebarWidth(rect.width);
54
- }
55
- };
56
- updateWidth();
57
- if (typeof ResizeObserver !== "undefined") {
58
- const observer = new ResizeObserver(() => updateWidth());
59
- observer.observe(element);
60
- return () => observer.disconnect();
61
- }
62
- window.addEventListener("resize", updateWidth);
63
- return () => window.removeEventListener("resize", updateWidth);
64
- }, [width]);
65
- const headerElement = renderSlot(header, CopilotModalHeader, {});
66
- return /* @__PURE__ */ jsxs(Fragment, { children: [
67
- isSidebarOpen && /* @__PURE__ */ jsx(
68
- "style",
69
- {
70
- dangerouslySetInnerHTML: {
71
- __html: `
72
- @media (min-width: 768px) {
73
- body {
74
- margin-inline-end: ${widthToMargin(sidebarWidth)};
75
- transition: margin-inline-end ${SIDEBAR_TRANSITION_MS}ms ease;
76
- }
77
- }`
78
- }
79
- }
80
- ),
81
- /* @__PURE__ */ jsx(CopilotChatToggleButton_default, {}),
82
- /* @__PURE__ */ jsx(
83
- "aside",
84
- {
85
- ref: sidebarRef,
86
- "data-copilot-sidebar": true,
87
- className: cn(
88
- "fixed right-0 top-0 z-[1200] flex",
89
- // Height with dvh fallback and safe area support
90
- "h-[100vh] h-[100dvh] max-h-screen",
91
- // Responsive width: full on mobile, custom on desktop
92
- "w-full",
93
- "border-l border-border bg-background text-foreground shadow-xl",
94
- "transition-transform duration-300 ease-out",
95
- isSidebarOpen ? "translate-x-0" : "translate-x-full pointer-events-none"
96
- ),
97
- style: {
98
- // Use CSS custom property for responsive width
99
- ["--sidebar-width"]: widthToCss(sidebarWidth),
100
- // Safe area insets for iOS
101
- paddingTop: "env(safe-area-inset-top)",
102
- paddingBottom: "env(safe-area-inset-bottom)"
103
- },
104
- "aria-hidden": !isSidebarOpen,
105
- "aria-label": "Copilot chat sidebar",
106
- role: "complementary",
107
- children: /* @__PURE__ */ jsxs("div", { className: "flex h-full w-full flex-col overflow-hidden", children: [
108
- headerElement,
109
- /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-hidden", "data-sidebar-chat": true, children: /* @__PURE__ */ jsx(CopilotChatView_default, { ...props }) })
110
- ] })
111
- }
112
- )
113
- ] });
114
- }
115
- CopilotSidebarView.displayName = "CopilotSidebarView";
116
- var CopilotSidebarView_default = CopilotSidebarView;
117
-
118
- export {
119
- CopilotSidebarView,
120
- CopilotSidebarView_default
121
- };
122
- //# sourceMappingURL=chunk-7HM7CU5A.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/chat/CopilotSidebarView.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nimport CopilotChatView, { CopilotChatViewProps } from \"./CopilotChatView\";\nimport { useCopilotChatConfiguration } from \"@/providers/CopilotChatConfigurationProvider\";\nimport CopilotChatToggleButton from \"./CopilotChatToggleButton\";\nimport { cn } from \"@/lib/utils\";\nimport { CopilotModalHeader } from \"./CopilotModalHeader\";\nimport { renderSlot, SlotValue } from \"@/lib/slots\";\n\nconst DEFAULT_SIDEBAR_WIDTH = 480;\nconst SIDEBAR_TRANSITION_MS = 260;\n\nexport type CopilotSidebarViewProps = CopilotChatViewProps & {\n header?: SlotValue<typeof CopilotModalHeader>;\n width?: number | string;\n};\n\nexport function CopilotSidebarView({ header, width, ...props }: CopilotSidebarViewProps) {\n const configuration = useCopilotChatConfiguration();\n\n const isSidebarOpen = configuration?.isModalOpen ?? false;\n\n const sidebarRef = useRef<HTMLDivElement | null>(null);\n const [sidebarWidth, setSidebarWidth] = useState<number | string>(width ?? DEFAULT_SIDEBAR_WIDTH);\n\n // Helper to convert width to CSS value\n const widthToCss = (w: number | string): string => {\n return typeof w === \"number\" ? `${w}px` : w;\n };\n\n // Helper to extract numeric value for body margin (only works with px values)\n const widthToMargin = (w: number | string): string => {\n if (typeof w === \"number\") {\n return `${w}px`;\n }\n // For string values, use as-is (assumes valid CSS unit)\n return w;\n };\n\n useEffect(() => {\n // If width is explicitly provided, don't measure\n if (width !== undefined) {\n return;\n }\n\n if (typeof window === \"undefined\") {\n return;\n }\n\n const element = sidebarRef.current;\n if (!element) {\n return;\n }\n\n const updateWidth = () => {\n const rect = element.getBoundingClientRect();\n if (rect.width > 0) {\n setSidebarWidth(rect.width);\n }\n };\n\n updateWidth();\n\n if (typeof ResizeObserver !== \"undefined\") {\n const observer = new ResizeObserver(() => updateWidth());\n observer.observe(element);\n return () => observer.disconnect();\n }\n\n window.addEventListener(\"resize\", updateWidth);\n return () => window.removeEventListener(\"resize\", updateWidth);\n }, [width]);\n\n const headerElement = renderSlot(header, CopilotModalHeader, {});\n\n return (\n <>\n {isSidebarOpen && (\n <style\n dangerouslySetInnerHTML={{\n __html: `\n @media (min-width: 768px) {\n body {\n margin-inline-end: ${widthToMargin(sidebarWidth)};\n transition: margin-inline-end ${SIDEBAR_TRANSITION_MS}ms ease;\n }\n }`,\n }}\n />\n )}\n <CopilotChatToggleButton />\n <aside\n ref={sidebarRef}\n data-copilot-sidebar\n className={cn(\n \"fixed right-0 top-0 z-[1200] flex\",\n // Height with dvh fallback and safe area support\n \"h-[100vh] h-[100dvh] max-h-screen\",\n // Responsive width: full on mobile, custom on desktop\n \"w-full\",\n \"border-l border-border bg-background text-foreground shadow-xl\",\n \"transition-transform duration-300 ease-out\",\n isSidebarOpen ? \"translate-x-0\" : \"translate-x-full pointer-events-none\",\n )}\n style={{\n // Use CSS custom property for responsive width\n [\"--sidebar-width\" as string]: widthToCss(sidebarWidth),\n // Safe area insets for iOS\n paddingTop: \"env(safe-area-inset-top)\",\n paddingBottom: \"env(safe-area-inset-bottom)\",\n } as React.CSSProperties}\n aria-hidden={!isSidebarOpen}\n aria-label=\"Copilot chat sidebar\"\n role=\"complementary\"\n >\n <div className=\"flex h-full w-full flex-col overflow-hidden\">\n {headerElement}\n <div className=\"flex-1 overflow-hidden\" data-sidebar-chat>\n <CopilotChatView {...props} />\n </div>\n </div>\n </aside>\n </>\n );\n}\n\nCopilotSidebarView.displayName = \"CopilotSidebarView\";\n\nexport default CopilotSidebarView;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,WAAW,QAAQ,gBAAgB;AA4E/C,mBAEI,KAqCA,YAvCJ;AAnEJ,IAAM,wBAAwB;AAC9B,IAAM,wBAAwB;AAOvB,SAAS,mBAAmB,EAAE,QAAQ,OAAO,GAAG,MAAM,GAA4B;AACvF,QAAM,gBAAgB,4BAA4B;AAElD,QAAM,gBAAgB,eAAe,eAAe;AAEpD,QAAM,aAAa,OAA8B,IAAI;AACrD,QAAM,CAAC,cAAc,eAAe,IAAI,SAA0B,SAAS,qBAAqB;AAGhG,QAAM,aAAa,CAAC,MAA+B;AACjD,WAAO,OAAO,MAAM,WAAW,GAAG,CAAC,OAAO;AAAA,EAC5C;AAGA,QAAM,gBAAgB,CAAC,MAA+B;AACpD,QAAI,OAAO,MAAM,UAAU;AACzB,aAAO,GAAG,CAAC;AAAA,IACb;AAEA,WAAO;AAAA,EACT;AAEA,YAAU,MAAM;AAEd,QAAI,UAAU,QAAW;AACvB;AAAA,IACF;AAEA,QAAI,OAAO,WAAW,aAAa;AACjC;AAAA,IACF;AAEA,UAAM,UAAU,WAAW;AAC3B,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AAEA,UAAM,cAAc,MAAM;AACxB,YAAM,OAAO,QAAQ,sBAAsB;AAC3C,UAAI,KAAK,QAAQ,GAAG;AAClB,wBAAgB,KAAK,KAAK;AAAA,MAC5B;AAAA,IACF;AAEA,gBAAY;AAEZ,QAAI,OAAO,mBAAmB,aAAa;AACzC,YAAM,WAAW,IAAI,eAAe,MAAM,YAAY,CAAC;AACvD,eAAS,QAAQ,OAAO;AACxB,aAAO,MAAM,SAAS,WAAW;AAAA,IACnC;AAEA,WAAO,iBAAiB,UAAU,WAAW;AAC7C,WAAO,MAAM,OAAO,oBAAoB,UAAU,WAAW;AAAA,EAC/D,GAAG,CAAC,KAAK,CAAC;AAEV,QAAM,gBAAgB,WAAW,QAAQ,oBAAoB,CAAC,CAAC;AAE/D,SACE,iCACG;AAAA,qBACC;AAAA,MAAC;AAAA;AAAA,QACC,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA,qCAGiB,cAAc,YAAY,CAAC;AAAA,gDAChB,qBAAqB;AAAA;AAAA;AAAA,QAG3D;AAAA;AAAA,IACF;AAAA,IAEF,oBAAC,mCAAwB;AAAA,IACzB;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,wBAAoB;AAAA,QACpB,WAAW;AAAA,UACT;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA,UACA;AAAA,UACA;AAAA,UACA,gBAAgB,kBAAkB;AAAA,QACpC;AAAA,QACA,OAAO;AAAA;AAAA,UAEL,CAAC,iBAA2B,GAAG,WAAW,YAAY;AAAA;AAAA,UAEtD,YAAY;AAAA,UACZ,eAAe;AAAA,QACjB;AAAA,QACA,eAAa,CAAC;AAAA,QACd,cAAW;AAAA,QACX,MAAK;AAAA,QAEL,+BAAC,SAAI,WAAU,+CACZ;AAAA;AAAA,UACD,oBAAC,SAAI,WAAU,0BAAyB,qBAAiB,MACvD,8BAAC,2BAAiB,GAAG,OAAO,GAC9B;AAAA,WACF;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;AAEA,mBAAmB,cAAc;AAEjC,IAAO,6BAAQ;","names":[]}
@@ -1,32 +0,0 @@
1
- import {
2
- useRenderToolCall
3
- } from "./chunk-AXFRCGH6.mjs";
4
-
5
- // src/components/chat/CopilotChatToolCallsView.tsx
6
- import React from "react";
7
- import { Fragment, jsx } from "react/jsx-runtime";
8
- function CopilotChatToolCallsView({
9
- message,
10
- messages = []
11
- }) {
12
- const renderToolCall = useRenderToolCall();
13
- if (!message.toolCalls || message.toolCalls.length === 0) {
14
- return null;
15
- }
16
- return /* @__PURE__ */ jsx(Fragment, { children: message.toolCalls.map((toolCall) => {
17
- const toolMessage = messages.find(
18
- (m) => m.role === "tool" && m.toolCallId === toolCall.id
19
- );
20
- return /* @__PURE__ */ jsx(React.Fragment, { children: renderToolCall({
21
- toolCall,
22
- toolMessage
23
- }) }, toolCall.id);
24
- }) });
25
- }
26
- var CopilotChatToolCallsView_default = CopilotChatToolCallsView;
27
-
28
- export {
29
- CopilotChatToolCallsView,
30
- CopilotChatToolCallsView_default
31
- };
32
- //# sourceMappingURL=chunk-AEFM73CL.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/chat/CopilotChatToolCallsView.tsx"],"sourcesContent":["import { useRenderToolCall } from \"@/hooks\";\nimport { AssistantMessage, Message, ToolMessage } from \"@ag-ui/core\";\nimport React from \"react\";\n\nexport type CopilotChatToolCallsViewProps = {\n message: AssistantMessage;\n messages?: Message[];\n};\n\nexport function CopilotChatToolCallsView({\n message,\n messages = [],\n}: CopilotChatToolCallsViewProps) {\n const renderToolCall = useRenderToolCall();\n\n if (!message.toolCalls || message.toolCalls.length === 0) {\n return null;\n }\n\n return (\n <>\n {message.toolCalls.map((toolCall) => {\n const toolMessage = messages.find(\n (m) => m.role === \"tool\" && m.toolCallId === toolCall.id\n ) as ToolMessage | undefined;\n\n return (\n <React.Fragment key={toolCall.id}>\n {renderToolCall({\n toolCall,\n toolMessage,\n })}\n </React.Fragment>\n );\n })}\n </>\n );\n}\n\nexport default CopilotChatToolCallsView;\n"],"mappings":";;;;;AAEA,OAAO,WAAW;AAkBd,mBAOM,WAPN;AAXG,SAAS,yBAAyB;AAAA,EACvC;AAAA,EACA,WAAW,CAAC;AACd,GAAkC;AAChC,QAAM,iBAAiB,kBAAkB;AAEzC,MAAI,CAAC,QAAQ,aAAa,QAAQ,UAAU,WAAW,GAAG;AACxD,WAAO;AAAA,EACT;AAEA,SACE,gCACG,kBAAQ,UAAU,IAAI,CAAC,aAAa;AACnC,UAAM,cAAc,SAAS;AAAA,MAC3B,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,eAAe,SAAS;AAAA,IACxD;AAEA,WACE,oBAAC,MAAM,UAAN,EACE,yBAAe;AAAA,MACd;AAAA,MACA;AAAA,IACF,CAAC,KAJkB,SAAS,EAK9B;AAAA,EAEJ,CAAC,GACH;AAEJ;AAEA,IAAO,mCAAQ;","names":[]}
@@ -1,97 +0,0 @@
1
- import {
2
- CopilotChatUserMessage_default
3
- } from "./chunk-BT6C5OPU.mjs";
4
- import {
5
- CopilotChatAssistantMessage_default
6
- } from "./chunk-SPDE34WC.mjs";
7
- import {
8
- renderSlot
9
- } from "./chunk-FIBK3DYE.mjs";
10
- import {
11
- useRenderActivityMessage
12
- } from "./chunk-RK5P2LG6.mjs";
13
- import {
14
- useRenderCustomMessages
15
- } from "./chunk-5SC3CO5Q.mjs";
16
-
17
- // src/components/chat/CopilotChatMessageView.tsx
18
- import { twMerge } from "tailwind-merge";
19
- import { jsx, jsxs } from "react/jsx-runtime";
20
- function CopilotChatMessageView({
21
- messages = [],
22
- assistantMessage,
23
- userMessage,
24
- cursor,
25
- isRunning = false,
26
- children,
27
- className,
28
- ...props
29
- }) {
30
- const renderCustomMessage = useRenderCustomMessages();
31
- const renderActivityMessage = useRenderActivityMessage();
32
- const messageElements = messages.flatMap((message) => {
33
- const elements = [];
34
- if (renderCustomMessage) {
35
- elements.push(
36
- renderCustomMessage({
37
- message,
38
- position: "before"
39
- })
40
- );
41
- }
42
- if (message.role === "assistant") {
43
- elements.push(
44
- renderSlot(assistantMessage, CopilotChatAssistantMessage_default, {
45
- key: message.id,
46
- message,
47
- messages,
48
- isRunning
49
- })
50
- );
51
- } else if (message.role === "user") {
52
- elements.push(
53
- renderSlot(userMessage, CopilotChatUserMessage_default, {
54
- key: message.id,
55
- message
56
- })
57
- );
58
- } else if (message.role === "activity") {
59
- const renderedActivity = renderActivityMessage(message);
60
- if (renderedActivity) {
61
- elements.push(renderedActivity);
62
- }
63
- }
64
- if (renderCustomMessage) {
65
- elements.push(
66
- renderCustomMessage({
67
- message,
68
- position: "after"
69
- })
70
- );
71
- }
72
- return elements;
73
- }).filter(Boolean);
74
- if (children) {
75
- return children({ messageElements, messages, isRunning });
76
- }
77
- return /* @__PURE__ */ jsxs("div", { className: twMerge("flex flex-col", className), ...props, children: [
78
- messageElements,
79
- isRunning && renderSlot(cursor, CopilotChatMessageView.Cursor, {})
80
- ] });
81
- }
82
- CopilotChatMessageView.Cursor = function Cursor({ className, ...props }) {
83
- return /* @__PURE__ */ jsx(
84
- "div",
85
- {
86
- className: twMerge("w-[11px] h-[11px] rounded-full bg-foreground animate-pulse-cursor ml-1", className),
87
- ...props
88
- }
89
- );
90
- };
91
- var CopilotChatMessageView_default = CopilotChatMessageView;
92
-
93
- export {
94
- CopilotChatMessageView,
95
- CopilotChatMessageView_default
96
- };
97
- //# sourceMappingURL=chunk-AI3Z3CHN.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/chat/CopilotChatMessageView.tsx"],"sourcesContent":["import { WithSlots, renderSlot } from \"@/lib/slots\";\nimport CopilotChatAssistantMessage from \"./CopilotChatAssistantMessage\";\nimport CopilotChatUserMessage from \"./CopilotChatUserMessage\";\nimport { Message } from \"@ag-ui/core\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useRenderActivityMessage, useRenderCustomMessages } from \"@/hooks\";\n\nexport type CopilotChatMessageViewProps = Omit<\n WithSlots<\n {\n assistantMessage: typeof CopilotChatAssistantMessage;\n userMessage: typeof CopilotChatUserMessage;\n cursor: typeof CopilotChatMessageView.Cursor;\n },\n {\n isRunning?: boolean;\n messages?: Message[];\n } & React.HTMLAttributes<HTMLDivElement>\n >,\n \"children\"\n> & {\n children?: (props: {\n isRunning: boolean;\n messages: Message[];\n messageElements: React.ReactElement[];\n }) => React.ReactElement;\n};\n\nexport function CopilotChatMessageView({\n messages = [],\n assistantMessage,\n userMessage,\n cursor,\n isRunning = false,\n children,\n className,\n ...props\n}: CopilotChatMessageViewProps) {\n const renderCustomMessage = useRenderCustomMessages();\n const renderActivityMessage = useRenderActivityMessage();\n\n const messageElements: React.ReactElement[] = messages\n .flatMap((message) => {\n const elements: (React.ReactElement | null | undefined)[] = [];\n\n // Render custom message before\n if (renderCustomMessage) {\n elements.push(\n renderCustomMessage({\n message,\n position: \"before\",\n }),\n );\n }\n\n // Render the main message\n if (message.role === \"assistant\") {\n elements.push(\n renderSlot(assistantMessage, CopilotChatAssistantMessage, {\n key: message.id,\n message,\n messages,\n isRunning,\n }),\n );\n } else if (message.role === \"user\") {\n elements.push(\n renderSlot(userMessage, CopilotChatUserMessage, {\n key: message.id,\n message,\n }),\n );\n } else if (message.role === \"activity\") {\n const renderedActivity = renderActivityMessage(message);\n\n if (renderedActivity) {\n elements.push(renderedActivity);\n }\n }\n\n // Render custom message after\n if (renderCustomMessage) {\n elements.push(\n renderCustomMessage({\n message,\n position: \"after\",\n }),\n );\n }\n\n return elements;\n })\n .filter(Boolean) as React.ReactElement[];\n\n if (children) {\n return children({ messageElements, messages, isRunning });\n }\n\n return (\n <div className={twMerge(\"flex flex-col\", className)} {...props}>\n {messageElements}\n {isRunning && renderSlot(cursor, CopilotChatMessageView.Cursor, {})}\n </div>\n );\n}\n\nCopilotChatMessageView.Cursor = function Cursor({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={twMerge(\"w-[11px] h-[11px] rounded-full bg-foreground animate-pulse-cursor ml-1\", className)}\n {...props}\n />\n );\n};\n\nexport default CopilotChatMessageView;\n"],"mappings":";;;;;;;;;;;;;;;;;AAIA,SAAS,eAAe;AA+FpB,SASA,KATA;AAvEG,SAAS,uBAAuB;AAAA,EACrC,WAAW,CAAC;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,QAAM,sBAAsB,wBAAwB;AACpD,QAAM,wBAAwB,yBAAyB;AAEvD,QAAM,kBAAwC,SAC3C,QAAQ,CAAC,YAAY;AACpB,UAAM,WAAsD,CAAC;AAG7D,QAAI,qBAAqB;AACvB,eAAS;AAAA,QACP,oBAAoB;AAAA,UAClB;AAAA,UACA,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACF;AAGA,QAAI,QAAQ,SAAS,aAAa;AAChC,eAAS;AAAA,QACP,WAAW,kBAAkB,qCAA6B;AAAA,UACxD,KAAK,QAAQ;AAAA,UACb;AAAA,UACA;AAAA,UACA;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,WAAW,QAAQ,SAAS,QAAQ;AAClC,eAAS;AAAA,QACP,WAAW,aAAa,gCAAwB;AAAA,UAC9C,KAAK,QAAQ;AAAA,UACb;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,WAAW,QAAQ,SAAS,YAAY;AACtC,YAAM,mBAAmB,sBAAsB,OAAO;AAEtD,UAAI,kBAAkB;AACpB,iBAAS,KAAK,gBAAgB;AAAA,MAChC;AAAA,IACF;AAGA,QAAI,qBAAqB;AACvB,eAAS;AAAA,QACP,oBAAoB;AAAA,UAClB;AAAA,UACA,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WAAO;AAAA,EACT,CAAC,EACA,OAAO,OAAO;AAEjB,MAAI,UAAU;AACZ,WAAO,SAAS,EAAE,iBAAiB,UAAU,UAAU,CAAC;AAAA,EAC1D;AAEA,SACE,qBAAC,SAAI,WAAW,QAAQ,iBAAiB,SAAS,GAAI,GAAG,OACtD;AAAA;AAAA,IACA,aAAa,WAAW,QAAQ,uBAAuB,QAAQ,CAAC,CAAC;AAAA,KACpE;AAEJ;AAEA,uBAAuB,SAAS,SAAS,OAAO,EAAE,WAAW,GAAG,MAAM,GAAyC;AAC7G,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,QAAQ,0EAA0E,SAAS;AAAA,MACrG,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,IAAO,iCAAQ;","names":[]}
@@ -1,107 +0,0 @@
1
- import {
2
- useCopilotChatConfiguration
3
- } from "./chunk-4XJK5IVQ.mjs";
4
- import {
5
- useCopilotKit
6
- } from "./chunk-RF2CGPHQ.mjs";
7
-
8
- // src/hooks/use-render-tool-call.tsx
9
- import { useCallback, useEffect, useState, useSyncExternalStore } from "react";
10
- import { ToolCallStatus } from "@copilotkitnext/core";
11
- import { DEFAULT_AGENT_ID } from "@copilotkitnext/shared";
12
- import { partialJSONParse } from "@copilotkitnext/shared";
13
- import { jsx } from "react/jsx-runtime";
14
- function useRenderToolCall() {
15
- const { copilotkit } = useCopilotKit();
16
- const config = useCopilotChatConfiguration();
17
- const agentId = config?.agentId ?? DEFAULT_AGENT_ID;
18
- const [executingToolCallIds, setExecutingToolCallIds] = useState(() => /* @__PURE__ */ new Set());
19
- const renderToolCalls = useSyncExternalStore(
20
- (callback) => {
21
- return copilotkit.subscribe({
22
- onRenderToolCallsChanged: callback
23
- });
24
- },
25
- () => copilotkit.renderToolCalls,
26
- () => copilotkit.renderToolCalls
27
- );
28
- useEffect(() => {
29
- const unsubscribe = copilotkit.subscribe({
30
- onToolExecutionStart: ({ toolCallId }) => {
31
- setExecutingToolCallIds((prev) => {
32
- if (prev.has(toolCallId)) return prev;
33
- const next = new Set(prev);
34
- next.add(toolCallId);
35
- return next;
36
- });
37
- },
38
- onToolExecutionEnd: ({ toolCallId }) => {
39
- setExecutingToolCallIds((prev) => {
40
- if (!prev.has(toolCallId)) return prev;
41
- const next = new Set(prev);
42
- next.delete(toolCallId);
43
- return next;
44
- });
45
- }
46
- });
47
- return () => unsubscribe();
48
- }, [copilotkit]);
49
- const renderToolCall = useCallback(
50
- ({
51
- toolCall,
52
- toolMessage
53
- }) => {
54
- const exactMatches = renderToolCalls.filter(
55
- (rc) => rc.name === toolCall.function.name
56
- );
57
- const renderConfig = exactMatches.find((rc) => rc.agentId === agentId) || exactMatches.find((rc) => !rc.agentId) || exactMatches[0] || renderToolCalls.find((rc) => rc.name === "*");
58
- if (!renderConfig) {
59
- return null;
60
- }
61
- const RenderComponent = renderConfig.render;
62
- const args = partialJSONParse(toolCall.function.arguments);
63
- const toolName = toolCall.function.name;
64
- if (toolMessage) {
65
- return /* @__PURE__ */ jsx(
66
- RenderComponent,
67
- {
68
- name: toolName,
69
- args,
70
- status: ToolCallStatus.Complete,
71
- result: toolMessage.content
72
- },
73
- toolCall.id
74
- );
75
- } else if (executingToolCallIds.has(toolCall.id)) {
76
- return /* @__PURE__ */ jsx(
77
- RenderComponent,
78
- {
79
- name: toolName,
80
- args,
81
- status: ToolCallStatus.Executing,
82
- result: void 0
83
- },
84
- toolCall.id
85
- );
86
- } else {
87
- return /* @__PURE__ */ jsx(
88
- RenderComponent,
89
- {
90
- name: toolName,
91
- args,
92
- status: ToolCallStatus.InProgress,
93
- result: void 0
94
- },
95
- toolCall.id
96
- );
97
- }
98
- },
99
- [renderToolCalls, executingToolCallIds, agentId]
100
- );
101
- return renderToolCall;
102
- }
103
-
104
- export {
105
- useRenderToolCall
106
- };
107
- //# sourceMappingURL=chunk-AXFRCGH6.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/use-render-tool-call.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useSyncExternalStore } from \"react\";\nimport { ToolCall, ToolMessage } from \"@ag-ui/core\";\nimport { ToolCallStatus } from \"@copilotkitnext/core\";\nimport { useCopilotKit } from \"@/providers/CopilotKitProvider\";\nimport { useCopilotChatConfiguration } from \"@/providers/CopilotChatConfigurationProvider\";\nimport { DEFAULT_AGENT_ID } from \"@copilotkitnext/shared\";\nimport { partialJSONParse } from \"@copilotkitnext/shared\";\n\nexport interface UseRenderToolCallProps {\n toolCall: ToolCall;\n toolMessage?: ToolMessage;\n}\n\n/**\n * Hook that returns a function to render tool calls based on the render functions\n * defined in CopilotKitProvider.\n *\n * @returns A function that takes a tool call and optional tool message and returns the rendered component\n */\nexport function useRenderToolCall() {\n const { copilotkit } = useCopilotKit();\n const config = useCopilotChatConfiguration();\n const agentId = config?.agentId ?? DEFAULT_AGENT_ID;\n const [executingToolCallIds, setExecutingToolCallIds] = useState<\n ReadonlySet<string>\n >(() => new Set());\n\n // Subscribe to render tool calls changes using useSyncExternalStore\n // This ensures we always have the latest value, even if subscriptions run in any order\n const renderToolCalls = useSyncExternalStore(\n (callback) => {\n return copilotkit.subscribe({\n onRenderToolCallsChanged: callback,\n });\n },\n () => copilotkit.renderToolCalls,\n () => copilotkit.renderToolCalls\n );\n\n useEffect(() => {\n const unsubscribe = copilotkit.subscribe({\n onToolExecutionStart: ({ toolCallId }) => {\n setExecutingToolCallIds((prev) => {\n if (prev.has(toolCallId)) return prev;\n const next = new Set(prev);\n next.add(toolCallId);\n return next;\n });\n },\n onToolExecutionEnd: ({ toolCallId }) => {\n setExecutingToolCallIds((prev) => {\n if (!prev.has(toolCallId)) return prev;\n const next = new Set(prev);\n next.delete(toolCallId);\n return next;\n });\n },\n });\n return () => unsubscribe();\n }, [copilotkit]);\n\n const renderToolCall = useCallback(\n ({\n toolCall,\n toolMessage,\n }: UseRenderToolCallProps): React.ReactElement | null => {\n // Find the render config for this tool call by name\n // For rendering, we show all tool calls regardless of agentId\n // The agentId scoping only affects handler execution (in core)\n // Priority order:\n // 1. Exact match by name (prefer agent-specific if multiple exist)\n // 2. Wildcard (*) renderer\n const exactMatches = renderToolCalls.filter(\n (rc) => rc.name === toolCall.function.name\n );\n\n // If multiple renderers with same name exist, prefer the one matching our agentId\n const renderConfig =\n exactMatches.find((rc) => rc.agentId === agentId) ||\n exactMatches.find((rc) => !rc.agentId) ||\n exactMatches[0] ||\n renderToolCalls.find((rc) => rc.name === \"*\");\n\n if (!renderConfig) {\n return null;\n }\n\n const RenderComponent = renderConfig.render;\n\n // Parse the arguments if they're a string\n const args = partialJSONParse(toolCall.function.arguments);\n\n // Create props based on status with proper typing\n const toolName = toolCall.function.name;\n\n if (toolMessage) {\n // Complete status with result\n return (\n <RenderComponent\n key={toolCall.id}\n name={toolName}\n args={args}\n status={ToolCallStatus.Complete}\n result={toolMessage.content}\n />\n );\n } else if (executingToolCallIds.has(toolCall.id)) {\n // Tool is currently executing\n return (\n <RenderComponent\n key={toolCall.id}\n name={toolName}\n // args should be complete when executing; but pass whatever we have\n args={args}\n status={ToolCallStatus.Executing}\n result={undefined}\n />\n );\n } else {\n // In progress status - tool call exists but hasn't completed yet\n // This remains true even after agent stops running, until we get a result\n return (\n <RenderComponent\n key={toolCall.id}\n name={toolName}\n args={args}\n status={ToolCallStatus.InProgress}\n result={undefined}\n />\n );\n }\n },\n [renderToolCalls, executingToolCallIds, agentId]\n );\n\n return renderToolCall;\n}\n"],"mappings":";;;;;;;;AAAA,SAAgB,aAAa,WAAW,UAAU,4BAA4B;AAE9E,SAAS,sBAAsB;AAG/B,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AA4FvB;AA/EH,SAAS,oBAAoB;AAClC,QAAM,EAAE,WAAW,IAAI,cAAc;AACrC,QAAM,SAAS,4BAA4B;AAC3C,QAAM,UAAU,QAAQ,WAAW;AACnC,QAAM,CAAC,sBAAsB,uBAAuB,IAAI,SAEtD,MAAM,oBAAI,IAAI,CAAC;AAIjB,QAAM,kBAAkB;AAAA,IACtB,CAAC,aAAa;AACZ,aAAO,WAAW,UAAU;AAAA,QAC1B,0BAA0B;AAAA,MAC5B,CAAC;AAAA,IACH;AAAA,IACA,MAAM,WAAW;AAAA,IACjB,MAAM,WAAW;AAAA,EACnB;AAEA,YAAU,MAAM;AACd,UAAM,cAAc,WAAW,UAAU;AAAA,MACvC,sBAAsB,CAAC,EAAE,WAAW,MAAM;AACxC,gCAAwB,CAAC,SAAS;AAChC,cAAI,KAAK,IAAI,UAAU,EAAG,QAAO;AACjC,gBAAM,OAAO,IAAI,IAAI,IAAI;AACzB,eAAK,IAAI,UAAU;AACnB,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,MACA,oBAAoB,CAAC,EAAE,WAAW,MAAM;AACtC,gCAAwB,CAAC,SAAS;AAChC,cAAI,CAAC,KAAK,IAAI,UAAU,EAAG,QAAO;AAClC,gBAAM,OAAO,IAAI,IAAI,IAAI;AACzB,eAAK,OAAO,UAAU;AACtB,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AACD,WAAO,MAAM,YAAY;AAAA,EAC3B,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,iBAAiB;AAAA,IACrB,CAAC;AAAA,MACC;AAAA,MACA;AAAA,IACF,MAAyD;AAOvD,YAAM,eAAe,gBAAgB;AAAA,QACnC,CAAC,OAAO,GAAG,SAAS,SAAS,SAAS;AAAA,MACxC;AAGA,YAAM,eACJ,aAAa,KAAK,CAAC,OAAO,GAAG,YAAY,OAAO,KAChD,aAAa,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,KACrC,aAAa,CAAC,KACd,gBAAgB,KAAK,CAAC,OAAO,GAAG,SAAS,GAAG;AAE9C,UAAI,CAAC,cAAc;AACjB,eAAO;AAAA,MACT;AAEA,YAAM,kBAAkB,aAAa;AAGrC,YAAM,OAAO,iBAAiB,SAAS,SAAS,SAAS;AAGzD,YAAM,WAAW,SAAS,SAAS;AAEnC,UAAI,aAAa;AAEf,eACE;AAAA,UAAC;AAAA;AAAA,YAEC,MAAM;AAAA,YACN;AAAA,YACA,QAAQ,eAAe;AAAA,YACvB,QAAQ,YAAY;AAAA;AAAA,UAJf,SAAS;AAAA,QAKhB;AAAA,MAEJ,WAAW,qBAAqB,IAAI,SAAS,EAAE,GAAG;AAEhD,eACE;AAAA,UAAC;AAAA;AAAA,YAEC,MAAM;AAAA,YAEN;AAAA,YACA,QAAQ,eAAe;AAAA,YACvB,QAAQ;AAAA;AAAA,UALH,SAAS;AAAA,QAMhB;AAAA,MAEJ,OAAO;AAGL,eACE;AAAA,UAAC;AAAA;AAAA,YAEC,MAAM;AAAA,YACN;AAAA,YACA,QAAQ,eAAe;AAAA,YACvB,QAAQ;AAAA;AAAA,UAJH,SAAS;AAAA,QAKhB;AAAA,MAEJ;AAAA,IACF;AAAA,IACA,CAAC,iBAAiB,sBAAsB,OAAO;AAAA,EACjD;AAEA,SAAO;AACT;","names":[]}
@@ -1,185 +0,0 @@
1
- import {
2
- CopilotModalHeader
3
- } from "./chunk-E56GYBP3.mjs";
4
- import {
5
- CopilotChatToggleButton_default
6
- } from "./chunk-R5OLAA3L.mjs";
7
- import {
8
- CopilotChatView_default
9
- } from "./chunk-N5HC66HU.mjs";
10
- import {
11
- renderSlot
12
- } from "./chunk-FIBK3DYE.mjs";
13
- import {
14
- cn
15
- } from "./chunk-XO4IRKSC.mjs";
16
- import {
17
- CopilotChatDefaultLabels,
18
- useCopilotChatConfiguration
19
- } from "./chunk-4XJK5IVQ.mjs";
20
-
21
- // src/components/chat/CopilotPopupView.tsx
22
- import { useEffect, useMemo, useRef, useState } from "react";
23
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
24
- var DEFAULT_POPUP_WIDTH = 420;
25
- var DEFAULT_POPUP_HEIGHT = 560;
26
- var dimensionToCss = (value, fallback) => {
27
- if (typeof value === "number" && Number.isFinite(value)) {
28
- return `${value}px`;
29
- }
30
- if (typeof value === "string" && value.trim().length > 0) {
31
- return value;
32
- }
33
- return `${fallback}px`;
34
- };
35
- function CopilotPopupView({
36
- header,
37
- width,
38
- height,
39
- clickOutsideToClose,
40
- className,
41
- ...restProps
42
- }) {
43
- const configuration = useCopilotChatConfiguration();
44
- const isPopupOpen = configuration?.isModalOpen ?? false;
45
- const setModalOpen = configuration?.setModalOpen;
46
- const labels = configuration?.labels ?? CopilotChatDefaultLabels;
47
- const containerRef = useRef(null);
48
- const [isRendered, setIsRendered] = useState(isPopupOpen);
49
- const [isAnimatingOut, setIsAnimatingOut] = useState(false);
50
- useEffect(() => {
51
- if (isPopupOpen) {
52
- setIsRendered(true);
53
- setIsAnimatingOut(false);
54
- return;
55
- }
56
- if (!isRendered) {
57
- return;
58
- }
59
- setIsAnimatingOut(true);
60
- const timeout = setTimeout(() => {
61
- setIsRendered(false);
62
- setIsAnimatingOut(false);
63
- }, 200);
64
- return () => clearTimeout(timeout);
65
- }, [isPopupOpen, isRendered]);
66
- useEffect(() => {
67
- if (!isPopupOpen) {
68
- return;
69
- }
70
- if (typeof window === "undefined") {
71
- return;
72
- }
73
- const handleKeyDown = (event) => {
74
- if (event.key === "Escape") {
75
- event.preventDefault();
76
- setModalOpen?.(false);
77
- }
78
- };
79
- window.addEventListener("keydown", handleKeyDown);
80
- return () => window.removeEventListener("keydown", handleKeyDown);
81
- }, [isPopupOpen, setModalOpen]);
82
- useEffect(() => {
83
- if (!isPopupOpen) {
84
- return;
85
- }
86
- const focusTimer = setTimeout(() => {
87
- containerRef.current?.focus({ preventScroll: true });
88
- }, 200);
89
- return () => clearTimeout(focusTimer);
90
- }, [isPopupOpen]);
91
- useEffect(() => {
92
- if (!isPopupOpen || !clickOutsideToClose) {
93
- return;
94
- }
95
- if (typeof document === "undefined") {
96
- return;
97
- }
98
- const handlePointerDown = (event) => {
99
- const target = event.target;
100
- if (!target) {
101
- return;
102
- }
103
- const container = containerRef.current;
104
- if (container?.contains(target)) {
105
- return;
106
- }
107
- const toggleButton = document.querySelector("[data-slot='chat-toggle-button']");
108
- if (toggleButton && toggleButton.contains(target)) {
109
- return;
110
- }
111
- setModalOpen?.(false);
112
- };
113
- document.addEventListener("pointerdown", handlePointerDown);
114
- return () => document.removeEventListener("pointerdown", handlePointerDown);
115
- }, [isPopupOpen, clickOutsideToClose, setModalOpen]);
116
- const headerElement = useMemo(() => renderSlot(header, CopilotModalHeader, {}), [header]);
117
- const resolvedWidth = dimensionToCss(width, DEFAULT_POPUP_WIDTH);
118
- const resolvedHeight = dimensionToCss(height, DEFAULT_POPUP_HEIGHT);
119
- const popupStyle = useMemo(
120
- () => ({
121
- "--copilot-popup-width": resolvedWidth,
122
- "--copilot-popup-height": resolvedHeight,
123
- "--copilot-popup-max-width": "calc(100vw - 3rem)",
124
- "--copilot-popup-max-height": "calc(100dvh - 7.5rem)",
125
- paddingTop: "env(safe-area-inset-top)",
126
- paddingBottom: "env(safe-area-inset-bottom)",
127
- paddingLeft: "env(safe-area-inset-left)",
128
- paddingRight: "env(safe-area-inset-right)"
129
- }),
130
- [resolvedHeight, resolvedWidth]
131
- );
132
- const popupAnimationClass = isPopupOpen && !isAnimatingOut ? "pointer-events-auto translate-y-0 opacity-100 md:scale-100" : "pointer-events-none translate-y-4 opacity-0 md:translate-y-5 md:scale-[0.95]";
133
- const popupContent = isRendered ? /* @__PURE__ */ jsx(
134
- "div",
135
- {
136
- className: cn(
137
- "fixed inset-0 z-[1200] flex max-w-full flex-col items-stretch",
138
- "md:inset-auto md:bottom-24 md:right-6 md:items-end md:gap-4"
139
- ),
140
- children: /* @__PURE__ */ jsxs(
141
- "div",
142
- {
143
- ref: containerRef,
144
- tabIndex: -1,
145
- role: "dialog",
146
- "aria-label": labels.modalHeaderTitle,
147
- "data-copilot-popup": true,
148
- className: cn(
149
- "relative flex h-full w-full flex-col overflow-hidden bg-background text-foreground",
150
- "origin-bottom focus:outline-none transform-gpu transition-transform transition-opacity duration-200 ease-out",
151
- "md:transition-transform md:transition-opacity",
152
- "rounded-none border border-border/0 shadow-none ring-0",
153
- "md:h-[var(--copilot-popup-height)] md:w-[var(--copilot-popup-width)]",
154
- "md:max-h-[var(--copilot-popup-max-height)] md:max-w-[var(--copilot-popup-max-width)]",
155
- "md:origin-bottom-right md:rounded-2xl md:border-border md:shadow-xl md:ring-1 md:ring-border/40",
156
- popupAnimationClass
157
- ),
158
- style: popupStyle,
159
- children: [
160
- headerElement,
161
- /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-hidden", "data-popup-chat": true, children: /* @__PURE__ */ jsx(
162
- CopilotChatView_default,
163
- {
164
- ...restProps,
165
- className: cn("h-full min-h-0", className)
166
- }
167
- ) })
168
- ]
169
- }
170
- )
171
- }
172
- ) : null;
173
- return /* @__PURE__ */ jsxs(Fragment, { children: [
174
- /* @__PURE__ */ jsx(CopilotChatToggleButton_default, {}),
175
- popupContent
176
- ] });
177
- }
178
- CopilotPopupView.displayName = "CopilotPopupView";
179
- var CopilotPopupView_default = CopilotPopupView;
180
-
181
- export {
182
- CopilotPopupView,
183
- CopilotPopupView_default
184
- };
185
- //# sourceMappingURL=chunk-BNT754Z2.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/chat/CopilotPopupView.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport CopilotChatView, { CopilotChatViewProps } from \"./CopilotChatView\";\nimport CopilotChatToggleButton from \"./CopilotChatToggleButton\";\nimport { CopilotModalHeader } from \"./CopilotModalHeader\";\nimport { cn } from \"@/lib/utils\";\nimport { renderSlot, SlotValue } from \"@/lib/slots\";\nimport {\n CopilotChatDefaultLabels,\n useCopilotChatConfiguration,\n} from \"@/providers/CopilotChatConfigurationProvider\";\n\nconst DEFAULT_POPUP_WIDTH = 420;\nconst DEFAULT_POPUP_HEIGHT = 560;\n\nexport type CopilotPopupViewProps = CopilotChatViewProps & {\n header?: SlotValue<typeof CopilotModalHeader>;\n width?: number | string;\n height?: number | string;\n clickOutsideToClose?: boolean;\n};\n\nconst dimensionToCss = (value: number | string | undefined, fallback: number): string => {\n if (typeof value === \"number\" && Number.isFinite(value)) {\n return `${value}px`;\n }\n\n if (typeof value === \"string\" && value.trim().length > 0) {\n return value;\n }\n\n return `${fallback}px`;\n};\n\nexport function CopilotPopupView({\n header,\n width,\n height,\n clickOutsideToClose,\n className,\n ...restProps\n}: CopilotPopupViewProps) {\n const configuration = useCopilotChatConfiguration();\n const isPopupOpen = configuration?.isModalOpen ?? false;\n const setModalOpen = configuration?.setModalOpen;\n const labels = configuration?.labels ?? CopilotChatDefaultLabels;\n\n const containerRef = useRef<HTMLDivElement>(null);\n const [isRendered, setIsRendered] = useState(isPopupOpen);\n const [isAnimatingOut, setIsAnimatingOut] = useState(false);\n\n useEffect(() => {\n if (isPopupOpen) {\n setIsRendered(true);\n setIsAnimatingOut(false);\n return;\n }\n\n if (!isRendered) {\n return;\n }\n\n setIsAnimatingOut(true);\n const timeout = setTimeout(() => {\n setIsRendered(false);\n setIsAnimatingOut(false);\n }, 200);\n\n return () => clearTimeout(timeout);\n }, [isPopupOpen, isRendered]);\n\n useEffect(() => {\n if (!isPopupOpen) {\n return;\n }\n\n if (typeof window === \"undefined\") {\n return;\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n setModalOpen?.(false);\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [isPopupOpen, setModalOpen]);\n\n useEffect(() => {\n if (!isPopupOpen) {\n return;\n }\n\n const focusTimer = setTimeout(() => {\n containerRef.current?.focus({ preventScroll: true });\n }, 200);\n\n return () => clearTimeout(focusTimer);\n }, [isPopupOpen]);\n\n useEffect(() => {\n if (!isPopupOpen || !clickOutsideToClose) {\n return;\n }\n\n if (typeof document === \"undefined\") {\n return;\n }\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target as Node | null;\n if (!target) {\n return;\n }\n\n const container = containerRef.current;\n if (container?.contains(target)) {\n return;\n }\n\n const toggleButton = document.querySelector(\"[data-slot='chat-toggle-button']\");\n if (toggleButton && toggleButton.contains(target)) {\n return;\n }\n\n setModalOpen?.(false);\n };\n\n document.addEventListener(\"pointerdown\", handlePointerDown);\n return () => document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [isPopupOpen, clickOutsideToClose, setModalOpen]);\n\n const headerElement = useMemo(() => renderSlot(header, CopilotModalHeader, {}), [header]);\n\n const resolvedWidth = dimensionToCss(width, DEFAULT_POPUP_WIDTH);\n const resolvedHeight = dimensionToCss(height, DEFAULT_POPUP_HEIGHT);\n\n const popupStyle = useMemo(\n () =>\n ({\n \"--copilot-popup-width\": resolvedWidth,\n \"--copilot-popup-height\": resolvedHeight,\n \"--copilot-popup-max-width\": \"calc(100vw - 3rem)\",\n \"--copilot-popup-max-height\": \"calc(100dvh - 7.5rem)\",\n paddingTop: \"env(safe-area-inset-top)\",\n paddingBottom: \"env(safe-area-inset-bottom)\",\n paddingLeft: \"env(safe-area-inset-left)\",\n paddingRight: \"env(safe-area-inset-right)\",\n }) as React.CSSProperties,\n [resolvedHeight, resolvedWidth],\n );\n\n const popupAnimationClass =\n isPopupOpen && !isAnimatingOut\n ? \"pointer-events-auto translate-y-0 opacity-100 md:scale-100\"\n : \"pointer-events-none translate-y-4 opacity-0 md:translate-y-5 md:scale-[0.95]\";\n\n const popupContent = isRendered ? (\n <div\n className={cn(\n \"fixed inset-0 z-[1200] flex max-w-full flex-col items-stretch\",\n \"md:inset-auto md:bottom-24 md:right-6 md:items-end md:gap-4\",\n )}\n >\n <div\n ref={containerRef}\n tabIndex={-1}\n role=\"dialog\"\n aria-label={labels.modalHeaderTitle}\n data-copilot-popup\n className={cn(\n \"relative flex h-full w-full flex-col overflow-hidden bg-background text-foreground\",\n \"origin-bottom focus:outline-none transform-gpu transition-transform transition-opacity duration-200 ease-out\",\n \"md:transition-transform md:transition-opacity\",\n \"rounded-none border border-border/0 shadow-none ring-0\",\n \"md:h-[var(--copilot-popup-height)] md:w-[var(--copilot-popup-width)]\",\n \"md:max-h-[var(--copilot-popup-max-height)] md:max-w-[var(--copilot-popup-max-width)]\",\n \"md:origin-bottom-right md:rounded-2xl md:border-border md:shadow-xl md:ring-1 md:ring-border/40\",\n popupAnimationClass,\n )}\n style={popupStyle}\n >\n {headerElement}\n <div className=\"flex-1 overflow-hidden\" data-popup-chat>\n <CopilotChatView\n {...restProps}\n className={cn(\"h-full min-h-0\", className)}\n />\n </div>\n </div>\n </div>\n ) : null;\n\n return (\n <>\n <CopilotChatToggleButton />\n {popupContent}\n </>\n );\n}\n\nCopilotPopupView.displayName = \"CopilotPopupView\";\n\nexport default CopilotPopupView;\n"],"mappings":"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","names":[]}