@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.
- package/dist/index.d.mts +635 -46
- package/dist/index.d.ts +635 -46
- package/dist/index.js +325 -22
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4286 -109
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -6
- package/dist/chunk-32YJ5VJ4.mjs +0 -157
- package/dist/chunk-32YJ5VJ4.mjs.map +0 -1
- package/dist/chunk-36HFWACS.mjs +0 -1
- package/dist/chunk-36HFWACS.mjs.map +0 -1
- package/dist/chunk-46BZRXWT.mjs +0 -16
- package/dist/chunk-46BZRXWT.mjs.map +0 -1
- package/dist/chunk-4UDBR75C.mjs +0 -106
- package/dist/chunk-4UDBR75C.mjs.map +0 -1
- package/dist/chunk-4XJK5IVQ.mjs +0 -83
- package/dist/chunk-4XJK5IVQ.mjs.map +0 -1
- package/dist/chunk-5JNWVLQI.mjs +0 -72
- package/dist/chunk-5JNWVLQI.mjs.map +0 -1
- package/dist/chunk-5SC3CO5Q.mjs +0 -69
- package/dist/chunk-5SC3CO5Q.mjs.map +0 -1
- package/dist/chunk-6VUKDHOD.mjs +0 -1
- package/dist/chunk-6VUKDHOD.mjs.map +0 -1
- package/dist/chunk-7HM7CU5A.mjs +0 -122
- package/dist/chunk-7HM7CU5A.mjs.map +0 -1
- package/dist/chunk-AEFM73CL.mjs +0 -32
- package/dist/chunk-AEFM73CL.mjs.map +0 -1
- package/dist/chunk-AI3Z3CHN.mjs +0 -97
- package/dist/chunk-AI3Z3CHN.mjs.map +0 -1
- package/dist/chunk-AXFRCGH6.mjs +0 -107
- package/dist/chunk-AXFRCGH6.mjs.map +0 -1
- package/dist/chunk-BNT754Z2.mjs +0 -185
- package/dist/chunk-BNT754Z2.mjs.map +0 -1
- package/dist/chunk-BT6C5OPU.mjs +0 -278
- package/dist/chunk-BT6C5OPU.mjs.map +0 -1
- package/dist/chunk-CDSO65ZY.mjs +0 -157
- package/dist/chunk-CDSO65ZY.mjs.map +0 -1
- package/dist/chunk-CGLGXQAU.mjs +0 -78
- package/dist/chunk-CGLGXQAU.mjs.map +0 -1
- package/dist/chunk-DVUQO72Z.mjs +0 -1
- package/dist/chunk-DVUQO72Z.mjs.map +0 -1
- package/dist/chunk-E56GYBP3.mjs +0 -101
- package/dist/chunk-E56GYBP3.mjs.map +0 -1
- package/dist/chunk-ETWJDCGE.mjs +0 -1
- package/dist/chunk-ETWJDCGE.mjs.map +0 -1
- package/dist/chunk-FIBK3DYE.mjs +0 -26
- package/dist/chunk-FIBK3DYE.mjs.map +0 -1
- package/dist/chunk-FVURPXQK.mjs +0 -45
- package/dist/chunk-FVURPXQK.mjs.map +0 -1
- package/dist/chunk-FZR2XQKR.mjs +0 -44
- package/dist/chunk-FZR2XQKR.mjs.map +0 -1
- package/dist/chunk-GK4NXPLC.mjs +0 -60
- package/dist/chunk-GK4NXPLC.mjs.map +0 -1
- package/dist/chunk-IA4CLXDM.mjs +0 -76
- package/dist/chunk-IA4CLXDM.mjs.map +0 -1
- package/dist/chunk-IICUCI5S.mjs +0 -43
- package/dist/chunk-IICUCI5S.mjs.map +0 -1
- package/dist/chunk-JLVGSNAO.mjs +0 -311
- package/dist/chunk-JLVGSNAO.mjs.map +0 -1
- package/dist/chunk-JWOIINVV.mjs +0 -237
- package/dist/chunk-JWOIINVV.mjs.map +0 -1
- package/dist/chunk-KCVDFZJX.mjs +0 -873
- package/dist/chunk-KCVDFZJX.mjs.map +0 -1
- package/dist/chunk-KPRUSQ3K.mjs +0 -1
- package/dist/chunk-KPRUSQ3K.mjs.map +0 -1
- package/dist/chunk-MWC5OV7Z.mjs +0 -1
- package/dist/chunk-MWC5OV7Z.mjs.map +0 -1
- package/dist/chunk-N5EP5OD5.mjs +0 -1
- package/dist/chunk-N5EP5OD5.mjs.map +0 -1
- package/dist/chunk-N5HC66HU.mjs +0 -311
- package/dist/chunk-N5HC66HU.mjs.map +0 -1
- package/dist/chunk-NB2GZAKG.mjs +0 -131
- package/dist/chunk-NB2GZAKG.mjs.map +0 -1
- package/dist/chunk-NB4DFAZH.mjs +0 -185
- package/dist/chunk-NB4DFAZH.mjs.map +0 -1
- package/dist/chunk-NNAYEAP2.mjs +0 -49
- package/dist/chunk-NNAYEAP2.mjs.map +0 -1
- package/dist/chunk-NNPKBGD6.mjs +0 -37
- package/dist/chunk-NNPKBGD6.mjs.map +0 -1
- package/dist/chunk-OMPVTGXH.mjs +0 -122
- package/dist/chunk-OMPVTGXH.mjs.map +0 -1
- package/dist/chunk-R5OLAA3L.mjs +0 -135
- package/dist/chunk-R5OLAA3L.mjs.map +0 -1
- package/dist/chunk-RF2CGPHQ.mjs +0 -215
- package/dist/chunk-RF2CGPHQ.mjs.map +0 -1
- package/dist/chunk-RGD2L3Z4.mjs +0 -96
- package/dist/chunk-RGD2L3Z4.mjs.map +0 -1
- package/dist/chunk-RK5P2LG6.mjs +0 -57
- package/dist/chunk-RK5P2LG6.mjs.map +0 -1
- package/dist/chunk-RRXDJCXI.mjs +0 -60
- package/dist/chunk-RRXDJCXI.mjs.map +0 -1
- package/dist/chunk-SPDE34WC.mjs +0 -283
- package/dist/chunk-SPDE34WC.mjs.map +0 -1
- package/dist/chunk-TAUOEJH2.mjs +0 -120
- package/dist/chunk-TAUOEJH2.mjs.map +0 -1
- package/dist/chunk-TBE7ZI5G.mjs +0 -45
- package/dist/chunk-TBE7ZI5G.mjs.map +0 -1
- package/dist/chunk-UOX5D73C.mjs +0 -22
- package/dist/chunk-UOX5D73C.mjs.map +0 -1
- package/dist/chunk-US4KNAAV.mjs +0 -1
- package/dist/chunk-US4KNAAV.mjs.map +0 -1
- package/dist/chunk-UZB3CTOY.mjs +0 -873
- package/dist/chunk-UZB3CTOY.mjs.map +0 -1
- package/dist/chunk-VBI6JXPC.mjs +0 -1
- package/dist/chunk-VBI6JXPC.mjs.map +0 -1
- package/dist/chunk-VVAXSF3M.mjs +0 -61
- package/dist/chunk-VVAXSF3M.mjs.map +0 -1
- package/dist/chunk-XO4IRKSC.mjs +0 -11
- package/dist/chunk-XO4IRKSC.mjs.map +0 -1
- package/dist/chunk-XU5CEPYQ.mjs +0 -75
- package/dist/chunk-XU5CEPYQ.mjs.map +0 -1
- package/dist/chunk-YPH4BHOY.mjs +0 -39
- package/dist/chunk-YPH4BHOY.mjs.map +0 -1
- package/dist/chunk-YZUPVMHC.mjs +0 -1
- package/dist/chunk-YZUPVMHC.mjs.map +0 -1
- package/dist/components/CopilotKitInspector.d.mts +0 -13
- package/dist/components/CopilotKitInspector.d.ts +0 -13
- package/dist/components/CopilotKitInspector.js +0 -69
- package/dist/components/CopilotKitInspector.js.map +0 -1
- package/dist/components/CopilotKitInspector.mjs +0 -7
- package/dist/components/CopilotKitInspector.mjs.map +0 -1
- package/dist/components/WildcardToolCallRender.d.mts +0 -7
- package/dist/components/WildcardToolCallRender.d.ts +0 -7
- package/dist/components/WildcardToolCallRender.js +0 -106
- package/dist/components/WildcardToolCallRender.js.map +0 -1
- package/dist/components/WildcardToolCallRender.mjs +0 -8
- package/dist/components/WildcardToolCallRender.mjs.map +0 -1
- package/dist/components/chat/CopilotChat.d.mts +0 -30
- package/dist/components/chat/CopilotChat.d.ts +0 -30
- package/dist/components/chat/CopilotChat.js +0 -2934
- package/dist/components/chat/CopilotChat.js.map +0 -1
- package/dist/components/chat/CopilotChat.mjs +0 -37
- package/dist/components/chat/CopilotChat.mjs.map +0 -1
- package/dist/components/chat/CopilotChatAssistantMessage.d.mts +0 -45
- package/dist/components/chat/CopilotChatAssistantMessage.d.ts +0 -45
- package/dist/components/chat/CopilotChatAssistantMessage.js +0 -735
- package/dist/components/chat/CopilotChatAssistantMessage.js.map +0 -1
- package/dist/components/chat/CopilotChatAssistantMessage.mjs +0 -29
- package/dist/components/chat/CopilotChatAssistantMessage.mjs.map +0 -1
- package/dist/components/chat/CopilotChatAudioRecorder.d.mts +0 -11
- package/dist/components/chat/CopilotChatAudioRecorder.d.ts +0 -11
- package/dist/components/chat/CopilotChatAudioRecorder.js +0 -131
- package/dist/components/chat/CopilotChatAudioRecorder.js.map +0 -1
- package/dist/components/chat/CopilotChatAudioRecorder.mjs +0 -9
- package/dist/components/chat/CopilotChatAudioRecorder.mjs.map +0 -1
- package/dist/components/chat/CopilotChatInput.d.mts +0 -67
- package/dist/components/chat/CopilotChatInput.d.ts +0 -67
- package/dist/components/chat/CopilotChatInput.js +0 -1305
- package/dist/components/chat/CopilotChatInput.js.map +0 -1
- package/dist/components/chat/CopilotChatInput.mjs +0 -16
- package/dist/components/chat/CopilotChatInput.mjs.map +0 -1
- package/dist/components/chat/CopilotChatMessageView.d.mts +0 -29
- package/dist/components/chat/CopilotChatMessageView.d.ts +0 -29
- package/dist/components/chat/CopilotChatMessageView.js +0 -1164
- package/dist/components/chat/CopilotChatMessageView.js.map +0 -1
- package/dist/components/chat/CopilotChatMessageView.mjs +0 -31
- package/dist/components/chat/CopilotChatMessageView.mjs.map +0 -1
- package/dist/components/chat/CopilotChatSuggestionPill.d.mts +0 -11
- package/dist/components/chat/CopilotChatSuggestionPill.d.ts +0 -11
- package/dist/components/chat/CopilotChatSuggestionPill.js +0 -76
- package/dist/components/chat/CopilotChatSuggestionPill.js.map +0 -1
- package/dist/components/chat/CopilotChatSuggestionPill.mjs +0 -10
- package/dist/components/chat/CopilotChatSuggestionPill.mjs.map +0 -1
- package/dist/components/chat/CopilotChatSuggestionView.d.mts +0 -33
- package/dist/components/chat/CopilotChatSuggestionView.d.ts +0 -33
- package/dist/components/chat/CopilotChatSuggestionView.js +0 -179
- package/dist/components/chat/CopilotChatSuggestionView.js.map +0 -1
- package/dist/components/chat/CopilotChatSuggestionView.mjs +0 -12
- package/dist/components/chat/CopilotChatSuggestionView.mjs.map +0 -1
- package/dist/components/chat/CopilotChatToggleButton.d.mts +0 -14
- package/dist/components/chat/CopilotChatToggleButton.d.ts +0 -14
- package/dist/components/chat/CopilotChatToggleButton.js +0 -222
- package/dist/components/chat/CopilotChatToggleButton.js.map +0 -1
- package/dist/components/chat/CopilotChatToggleButton.mjs +0 -16
- package/dist/components/chat/CopilotChatToggleButton.mjs.map +0 -1
- package/dist/components/chat/CopilotChatToolCallsView.d.mts +0 -10
- package/dist/components/chat/CopilotChatToolCallsView.d.ts +0 -10
- package/dist/components/chat/CopilotChatToolCallsView.js +0 -264
- package/dist/components/chat/CopilotChatToolCallsView.js.map +0 -1
- package/dist/components/chat/CopilotChatToolCallsView.mjs +0 -24
- package/dist/components/chat/CopilotChatToolCallsView.mjs.map +0 -1
- package/dist/components/chat/CopilotChatUserMessage.d.mts +0 -52
- package/dist/components/chat/CopilotChatUserMessage.d.ts +0 -52
- package/dist/components/chat/CopilotChatUserMessage.js +0 -523
- package/dist/components/chat/CopilotChatUserMessage.js.map +0 -1
- package/dist/components/chat/CopilotChatUserMessage.mjs +0 -14
- package/dist/components/chat/CopilotChatUserMessage.mjs.map +0 -1
- package/dist/components/chat/CopilotChatView.d.mts +0 -54
- package/dist/components/chat/CopilotChatView.d.ts +0 -54
- package/dist/components/chat/CopilotChatView.js +0 -2640
- package/dist/components/chat/CopilotChatView.js.map +0 -1
- package/dist/components/chat/CopilotChatView.mjs +0 -38
- package/dist/components/chat/CopilotChatView.mjs.map +0 -1
- package/dist/components/chat/CopilotModalHeader.d.mts +0 -22
- package/dist/components/chat/CopilotModalHeader.d.ts +0 -22
- package/dist/components/chat/CopilotModalHeader.js +0 -186
- package/dist/components/chat/CopilotModalHeader.js.map +0 -1
- package/dist/components/chat/CopilotModalHeader.mjs +0 -12
- package/dist/components/chat/CopilotModalHeader.mjs.map +0 -1
- package/dist/components/chat/CopilotPopup.d.mts +0 -33
- package/dist/components/chat/CopilotPopup.d.ts +0 -33
- package/dist/components/chat/CopilotPopup.js +0 -3343
- package/dist/components/chat/CopilotPopup.js.map +0 -1
- package/dist/components/chat/CopilotPopup.mjs +0 -43
- package/dist/components/chat/CopilotPopup.mjs.map +0 -1
- package/dist/components/chat/CopilotPopupView.d.mts +0 -30
- package/dist/components/chat/CopilotPopupView.d.ts +0 -30
- package/dist/components/chat/CopilotPopupView.js +0 -3003
- package/dist/components/chat/CopilotPopupView.js.map +0 -1
- package/dist/components/chat/CopilotPopupView.mjs +0 -41
- package/dist/components/chat/CopilotPopupView.mjs.map +0 -1
- package/dist/components/chat/CopilotSidebar.d.mts +0 -31
- package/dist/components/chat/CopilotSidebar.d.ts +0 -31
- package/dist/components/chat/CopilotSidebar.js +0 -3266
- package/dist/components/chat/CopilotSidebar.js.map +0 -1
- package/dist/components/chat/CopilotSidebar.mjs +0 -43
- package/dist/components/chat/CopilotSidebar.mjs.map +0 -1
- package/dist/components/chat/CopilotSidebarView.d.mts +0 -28
- package/dist/components/chat/CopilotSidebarView.d.ts +0 -28
- package/dist/components/chat/CopilotSidebarView.js +0 -2941
- package/dist/components/chat/CopilotSidebarView.js.map +0 -1
- package/dist/components/chat/CopilotSidebarView.mjs +0 -41
- package/dist/components/chat/CopilotSidebarView.mjs.map +0 -1
- package/dist/components/chat/index.d.mts +0 -23
- package/dist/components/chat/index.d.ts +0 -23
- package/dist/components/chat/index.js +0 -3503
- package/dist/components/chat/index.js.map +0 -1
- package/dist/components/chat/index.mjs +0 -95
- package/dist/components/chat/index.mjs.map +0 -1
- package/dist/components/index.d.mts +0 -29
- package/dist/components/index.d.ts +0 -29
- package/dist/components/index.js +0 -3583
- package/dist/components/index.js.map +0 -1
- package/dist/components/index.mjs +0 -104
- package/dist/components/index.mjs.map +0 -1
- package/dist/components/ui/button.d.mts +0 -14
- package/dist/components/ui/button.d.ts +0 -14
- package/dist/components/ui/button.js +0 -150
- package/dist/components/ui/button.js.map +0 -1
- package/dist/components/ui/button.mjs +0 -10
- package/dist/components/ui/button.mjs.map +0 -1
- package/dist/components/ui/dropdown-menu.d.mts +0 -28
- package/dist/components/ui/dropdown-menu.d.ts +0 -28
- package/dist/components/ui/dropdown-menu.js +0 -291
- package/dist/components/ui/dropdown-menu.js.map +0 -1
- package/dist/components/ui/dropdown-menu.mjs +0 -37
- package/dist/components/ui/dropdown-menu.mjs.map +0 -1
- package/dist/components/ui/tooltip.d.mts +0 -10
- package/dist/components/ui/tooltip.d.ts +0 -10
- package/dist/components/ui/tooltip.js +0 -103
- package/dist/components/ui/tooltip.js.map +0 -1
- package/dist/components/ui/tooltip.mjs +0 -14
- package/dist/components/ui/tooltip.mjs.map +0 -1
- package/dist/hooks/index.d.mts +0 -19
- package/dist/hooks/index.d.ts +0 -19
- package/dist/hooks/index.js +0 -691
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/index.mjs +0 -45
- package/dist/hooks/index.mjs.map +0 -1
- package/dist/hooks/use-agent-context.d.mts +0 -5
- package/dist/hooks/use-agent-context.d.ts +0 -5
- package/dist/hooks/use-agent-context.js +0 -116
- package/dist/hooks/use-agent-context.js.map +0 -1
- package/dist/hooks/use-agent-context.mjs +0 -10
- package/dist/hooks/use-agent-context.mjs.map +0 -1
- package/dist/hooks/use-agent.d.mts +0 -16
- package/dist/hooks/use-agent.d.ts +0 -16
- package/dist/hooks/use-agent.js +0 -171
- package/dist/hooks/use-agent.js.map +0 -1
- package/dist/hooks/use-agent.mjs +0 -12
- package/dist/hooks/use-agent.mjs.map +0 -1
- package/dist/hooks/use-configure-suggestions.d.mts +0 -13
- package/dist/hooks/use-configure-suggestions.d.ts +0 -13
- package/dist/hooks/use-configure-suggestions.js +0 -232
- package/dist/hooks/use-configure-suggestions.js.map +0 -1
- package/dist/hooks/use-configure-suggestions.mjs +0 -11
- package/dist/hooks/use-configure-suggestions.mjs.map +0 -1
- package/dist/hooks/use-frontend-tool.d.mts +0 -8
- package/dist/hooks/use-frontend-tool.d.ts +0 -8
- package/dist/hooks/use-frontend-tool.js +0 -137
- package/dist/hooks/use-frontend-tool.js.map +0 -1
- package/dist/hooks/use-frontend-tool.mjs +0 -10
- package/dist/hooks/use-frontend-tool.mjs.map +0 -1
- package/dist/hooks/use-human-in-the-loop.d.mts +0 -7
- package/dist/hooks/use-human-in-the-loop.d.ts +0 -7
- package/dist/hooks/use-human-in-the-loop.js +0 -206
- package/dist/hooks/use-human-in-the-loop.js.map +0 -1
- package/dist/hooks/use-human-in-the-loop.mjs +0 -11
- package/dist/hooks/use-human-in-the-loop.mjs.map +0 -1
- package/dist/hooks/use-keyboard-height.d.mts +0 -15
- package/dist/hooks/use-keyboard-height.d.ts +0 -15
- package/dist/hooks/use-keyboard-height.js +0 -68
- package/dist/hooks/use-keyboard-height.js.map +0 -1
- package/dist/hooks/use-keyboard-height.mjs +0 -7
- package/dist/hooks/use-keyboard-height.mjs.map +0 -1
- package/dist/hooks/use-render-activity-message.d.mts +0 -5
- package/dist/hooks/use-render-activity-message.d.ts +0 -5
- package/dist/hooks/use-render-activity-message.js +0 -158
- package/dist/hooks/use-render-activity-message.js.map +0 -1
- package/dist/hooks/use-render-activity-message.mjs +0 -12
- package/dist/hooks/use-render-activity-message.mjs.map +0 -1
- package/dist/hooks/use-render-custom-messages.d.mts +0 -11
- package/dist/hooks/use-render-custom-messages.d.ts +0 -11
- package/dist/hooks/use-render-custom-messages.js +0 -170
- package/dist/hooks/use-render-custom-messages.js.map +0 -1
- package/dist/hooks/use-render-custom-messages.mjs +0 -12
- package/dist/hooks/use-render-custom-messages.mjs.map +0 -1
- package/dist/hooks/use-render-tool-call.d.mts +0 -16
- package/dist/hooks/use-render-tool-call.d.ts +0 -16
- package/dist/hooks/use-render-tool-call.js +0 -208
- package/dist/hooks/use-render-tool-call.js.map +0 -1
- package/dist/hooks/use-render-tool-call.mjs +0 -11
- package/dist/hooks/use-render-tool-call.mjs.map +0 -1
- package/dist/hooks/use-suggestions.d.mts +0 -14
- package/dist/hooks/use-suggestions.d.ts +0 -14
- package/dist/hooks/use-suggestions.js +0 -176
- package/dist/hooks/use-suggestions.js.map +0 -1
- package/dist/hooks/use-suggestions.mjs +0 -11
- package/dist/hooks/use-suggestions.mjs.map +0 -1
- package/dist/lib/react-core.d.mts +0 -33
- package/dist/lib/react-core.d.ts +0 -33
- package/dist/lib/react-core.js +0 -73
- package/dist/lib/react-core.js.map +0 -1
- package/dist/lib/react-core.mjs +0 -7
- package/dist/lib/react-core.mjs.map +0 -1
- package/dist/lib/slots.d.mts +0 -16
- package/dist/lib/slots.d.ts +0 -16
- package/dist/lib/slots.js +0 -60
- package/dist/lib/slots.js.map +0 -1
- package/dist/lib/slots.mjs +0 -7
- package/dist/lib/slots.mjs.map +0 -1
- package/dist/lib/utils.d.mts +0 -5
- package/dist/lib/utils.d.ts +0 -5
- package/dist/lib/utils.js +0 -35
- package/dist/lib/utils.js.map +0 -1
- package/dist/lib/utils.mjs +0 -7
- package/dist/lib/utils.mjs.map +0 -1
- package/dist/providers/CopilotChatConfigurationProvider.d.mts +0 -43
- package/dist/providers/CopilotChatConfigurationProvider.d.ts +0 -43
- package/dist/providers/CopilotChatConfigurationProvider.js +0 -109
- package/dist/providers/CopilotChatConfigurationProvider.js.map +0 -1
- package/dist/providers/CopilotChatConfigurationProvider.mjs +0 -11
- package/dist/providers/CopilotChatConfigurationProvider.mjs.map +0 -1
- package/dist/providers/CopilotKitProvider.d.mts +0 -33
- package/dist/providers/CopilotKitProvider.d.ts +0 -33
- package/dist/providers/CopilotKitProvider.js +0 -314
- package/dist/providers/CopilotKitProvider.js.map +0 -1
- package/dist/providers/CopilotKitProvider.mjs +0 -12
- package/dist/providers/CopilotKitProvider.mjs.map +0 -1
- package/dist/providers/index.d.mts +0 -13
- package/dist/providers/index.d.ts +0 -13
- package/dist/providers/index.js +0 -396
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/index.mjs +0 -18
- package/dist/providers/index.mjs.map +0 -1
- package/dist/types/defineToolCallRenderer.d.mts +0 -41
- package/dist/types/defineToolCallRenderer.d.ts +0 -41
- package/dist/types/defineToolCallRenderer.js +0 -40
- package/dist/types/defineToolCallRenderer.js.map +0 -1
- package/dist/types/defineToolCallRenderer.mjs +0 -7
- package/dist/types/defineToolCallRenderer.mjs.map +0 -1
- package/dist/types/frontend-tool.d.mts +0 -9
- package/dist/types/frontend-tool.d.ts +0 -9
- package/dist/types/frontend-tool.js +0 -19
- package/dist/types/frontend-tool.js.map +0 -1
- package/dist/types/frontend-tool.mjs +0 -2
- package/dist/types/frontend-tool.mjs.map +0 -1
- package/dist/types/human-in-the-loop.d.mts +0 -29
- package/dist/types/human-in-the-loop.d.ts +0 -29
- package/dist/types/human-in-the-loop.js +0 -19
- package/dist/types/human-in-the-loop.js.map +0 -1
- package/dist/types/human-in-the-loop.mjs +0 -2
- package/dist/types/human-in-the-loop.mjs.map +0 -1
- package/dist/types/index.d.mts +0 -11
- package/dist/types/index.d.ts +0 -11
- package/dist/types/index.js +0 -42
- package/dist/types/index.js.map +0 -1
- package/dist/types/index.mjs +0 -13
- package/dist/types/index.mjs.map +0 -1
- package/dist/types/react-activity-message-renderer.d.mts +0 -29
- package/dist/types/react-activity-message-renderer.d.ts +0 -29
- package/dist/types/react-activity-message-renderer.js +0 -19
- package/dist/types/react-activity-message-renderer.js.map +0 -1
- package/dist/types/react-activity-message-renderer.mjs +0 -2
- package/dist/types/react-activity-message-renderer.mjs.map +0 -1
- package/dist/types/react-custom-message-renderer.d.mts +0 -18
- package/dist/types/react-custom-message-renderer.d.ts +0 -18
- package/dist/types/react-custom-message-renderer.js +0 -19
- package/dist/types/react-custom-message-renderer.js.map +0 -1
- package/dist/types/react-custom-message-renderer.mjs +0 -2
- package/dist/types/react-custom-message-renderer.mjs.map +0 -1
- package/dist/types/react-tool-call-renderer.d.mts +0 -30
- package/dist/types/react-tool-call-renderer.d.ts +0 -30
- package/dist/types/react-tool-call-renderer.js +0 -19
- package/dist/types/react-tool-call-renderer.js.map +0 -1
- package/dist/types/react-tool-call-renderer.mjs +0 -2
- package/dist/types/react-tool-call-renderer.mjs.map +0 -1
package/dist/chunk-7HM7CU5A.mjs
DELETED
|
@@ -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":[]}
|
package/dist/chunk-AEFM73CL.mjs
DELETED
|
@@ -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":[]}
|
package/dist/chunk-AI3Z3CHN.mjs
DELETED
|
@@ -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":[]}
|
package/dist/chunk-AXFRCGH6.mjs
DELETED
|
@@ -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":[]}
|
package/dist/chunk-BNT754Z2.mjs
DELETED
|
@@ -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":[]}
|