@copilotkitnext/react 0.0.22-alpha.1 → 0.0.22-alpha.3
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/chunk-32YJ5VJ4.mjs +157 -0
- package/dist/chunk-32YJ5VJ4.mjs.map +1 -0
- package/dist/chunk-36HFWACS.mjs +1 -0
- package/dist/chunk-36HFWACS.mjs.map +1 -0
- package/dist/chunk-3TA5QBSZ.mjs +122 -0
- package/dist/chunk-3TA5QBSZ.mjs.map +1 -0
- package/dist/chunk-46BZRXWT.mjs +16 -0
- package/dist/chunk-46BZRXWT.mjs.map +1 -0
- package/dist/chunk-4UDBR75C.mjs +106 -0
- package/dist/chunk-4UDBR75C.mjs.map +1 -0
- package/dist/chunk-4XJK5IVQ.mjs +83 -0
- package/dist/chunk-4XJK5IVQ.mjs.map +1 -0
- package/dist/chunk-5AAT4Z3C.mjs +107 -0
- package/dist/chunk-5AAT4Z3C.mjs.map +1 -0
- package/dist/chunk-5JNWVLQI.mjs +72 -0
- package/dist/chunk-5JNWVLQI.mjs.map +1 -0
- package/dist/chunk-5SC3CO5Q.mjs +69 -0
- package/dist/chunk-5SC3CO5Q.mjs.map +1 -0
- package/dist/chunk-6VUKDHOD.mjs +1 -0
- package/dist/chunk-6VUKDHOD.mjs.map +1 -0
- package/dist/chunk-AEFM73CL.mjs +32 -0
- package/dist/chunk-AEFM73CL.mjs.map +1 -0
- package/dist/chunk-AI3Z3CHN.mjs +97 -0
- package/dist/chunk-AI3Z3CHN.mjs.map +1 -0
- package/dist/chunk-AXFRCGH6.mjs +107 -0
- package/dist/chunk-AXFRCGH6.mjs.map +1 -0
- package/dist/chunk-BT6C5OPU.mjs +278 -0
- package/dist/chunk-BT6C5OPU.mjs.map +1 -0
- package/dist/chunk-CGLGXQAU.mjs +78 -0
- package/dist/chunk-CGLGXQAU.mjs.map +1 -0
- package/dist/chunk-CSHBUHRW.mjs +69 -0
- package/dist/chunk-CSHBUHRW.mjs.map +1 -0
- package/dist/chunk-CZ3GI3IF.mjs +283 -0
- package/dist/chunk-CZ3GI3IF.mjs.map +1 -0
- package/dist/chunk-DVUQO72Z.mjs +1 -0
- package/dist/chunk-DVUQO72Z.mjs.map +1 -0
- package/dist/chunk-E4HD4M7R.mjs +76 -0
- package/dist/chunk-E4HD4M7R.mjs.map +1 -0
- package/dist/chunk-E56GYBP3.mjs +101 -0
- package/dist/chunk-E56GYBP3.mjs.map +1 -0
- package/dist/chunk-EJ5ZEAAN.mjs +57 -0
- package/dist/chunk-EJ5ZEAAN.mjs.map +1 -0
- package/dist/chunk-ETWJDCGE.mjs +1 -0
- package/dist/chunk-ETWJDCGE.mjs.map +1 -0
- package/dist/chunk-F43IPGPA.mjs +311 -0
- package/dist/chunk-F43IPGPA.mjs.map +1 -0
- package/dist/chunk-FIBK3DYE.mjs +26 -0
- package/dist/chunk-FIBK3DYE.mjs.map +1 -0
- package/dist/chunk-FVURPXQK.mjs +45 -0
- package/dist/chunk-FVURPXQK.mjs.map +1 -0
- package/dist/chunk-FZR2XQKR.mjs +44 -0
- package/dist/chunk-FZR2XQKR.mjs.map +1 -0
- package/dist/chunk-IA4CLXDM.mjs +76 -0
- package/dist/chunk-IA4CLXDM.mjs.map +1 -0
- package/dist/chunk-IH5VFJ4L.mjs +60 -0
- package/dist/chunk-IH5VFJ4L.mjs.map +1 -0
- package/dist/chunk-IICUCI5S.mjs +43 -0
- package/dist/chunk-IICUCI5S.mjs.map +1 -0
- package/dist/chunk-JLVGSNAO.mjs +311 -0
- package/dist/chunk-JLVGSNAO.mjs.map +1 -0
- package/dist/chunk-JWOIINVV.mjs +237 -0
- package/dist/chunk-JWOIINVV.mjs.map +1 -0
- package/dist/chunk-KCVDFZJX.mjs +873 -0
- package/dist/chunk-KCVDFZJX.mjs.map +1 -0
- package/dist/chunk-KPRUSQ3K.mjs +1 -0
- package/dist/chunk-KPRUSQ3K.mjs.map +1 -0
- package/dist/chunk-MWC5OV7Z.mjs +1 -0
- package/dist/chunk-MWC5OV7Z.mjs.map +1 -0
- package/dist/chunk-N5EP5OD5.mjs +1 -0
- package/dist/chunk-N5EP5OD5.mjs.map +1 -0
- package/dist/chunk-NASFZS3N.mjs +43 -0
- package/dist/chunk-NASFZS3N.mjs.map +1 -0
- package/dist/chunk-NB2GZAKG.mjs +131 -0
- package/dist/chunk-NB2GZAKG.mjs.map +1 -0
- package/dist/chunk-NB4DFAZH.mjs +185 -0
- package/dist/chunk-NB4DFAZH.mjs.map +1 -0
- package/dist/chunk-NNAYEAP2.mjs +49 -0
- package/dist/chunk-NNAYEAP2.mjs.map +1 -0
- package/dist/chunk-NNPKBGD6.mjs +37 -0
- package/dist/chunk-NNPKBGD6.mjs.map +1 -0
- package/dist/chunk-OMPVTGXH.mjs +122 -0
- package/dist/chunk-OMPVTGXH.mjs.map +1 -0
- package/dist/chunk-QFBM3ZT2.mjs +45 -0
- package/dist/chunk-QFBM3ZT2.mjs.map +1 -0
- package/dist/chunk-QJ6DZ645.mjs +78 -0
- package/dist/chunk-QJ6DZ645.mjs.map +1 -0
- package/dist/chunk-R5OLAA3L.mjs +135 -0
- package/dist/chunk-R5OLAA3L.mjs.map +1 -0
- package/dist/chunk-RF2CGPHQ.mjs +215 -0
- package/dist/chunk-RF2CGPHQ.mjs.map +1 -0
- package/dist/chunk-RGD2L3Z4.mjs +96 -0
- package/dist/chunk-RGD2L3Z4.mjs.map +1 -0
- package/dist/chunk-RK5P2LG6.mjs +57 -0
- package/dist/chunk-RK5P2LG6.mjs.map +1 -0
- package/dist/chunk-RRXDJCXI.mjs +60 -0
- package/dist/chunk-RRXDJCXI.mjs.map +1 -0
- package/dist/chunk-SPDE34WC.mjs +283 -0
- package/dist/chunk-SPDE34WC.mjs.map +1 -0
- package/dist/chunk-TAUOEJH2.mjs +120 -0
- package/dist/chunk-TAUOEJH2.mjs.map +1 -0
- package/dist/chunk-TKFOXPXF.mjs +157 -0
- package/dist/chunk-TKFOXPXF.mjs.map +1 -0
- package/dist/chunk-UOX5D73C.mjs +22 -0
- package/dist/chunk-UOX5D73C.mjs.map +1 -0
- package/dist/chunk-US4KNAAV.mjs +1 -0
- package/dist/chunk-US4KNAAV.mjs.map +1 -0
- package/dist/chunk-UZB3CTOY.mjs +873 -0
- package/dist/chunk-UZB3CTOY.mjs.map +1 -0
- package/dist/chunk-VBI6JXPC.mjs +1 -0
- package/dist/chunk-VBI6JXPC.mjs.map +1 -0
- package/dist/chunk-VE3SBLU7.mjs +215 -0
- package/dist/chunk-VE3SBLU7.mjs.map +1 -0
- package/dist/chunk-VUHFLJWI.mjs +185 -0
- package/dist/chunk-VUHFLJWI.mjs.map +1 -0
- package/dist/chunk-VVAXSF3M.mjs +61 -0
- package/dist/chunk-VVAXSF3M.mjs.map +1 -0
- package/dist/chunk-W5DUKRCI.mjs +97 -0
- package/dist/chunk-W5DUKRCI.mjs.map +1 -0
- package/dist/chunk-WNRDFAZ5.mjs +22 -0
- package/dist/chunk-WNRDFAZ5.mjs.map +1 -0
- package/dist/chunk-XO4IRKSC.mjs +11 -0
- package/dist/chunk-XO4IRKSC.mjs.map +1 -0
- package/dist/chunk-XU5CEPYQ.mjs +75 -0
- package/dist/chunk-XU5CEPYQ.mjs.map +1 -0
- package/dist/chunk-YPH4BHOY.mjs +39 -0
- package/dist/chunk-YPH4BHOY.mjs.map +1 -0
- package/dist/chunk-YVPPF62K.mjs +32 -0
- package/dist/chunk-YVPPF62K.mjs.map +1 -0
- package/dist/chunk-YZUPVMHC.mjs +1 -0
- package/dist/chunk-YZUPVMHC.mjs.map +1 -0
- package/dist/chunk-Z3OIGQCZ.mjs +75 -0
- package/dist/chunk-Z3OIGQCZ.mjs.map +1 -0
- package/dist/chunk-ZIDT52TM.mjs +131 -0
- package/dist/chunk-ZIDT52TM.mjs.map +1 -0
- package/dist/components/CopilotKitInspector.d.mts +13 -0
- package/dist/components/CopilotKitInspector.d.ts +13 -0
- package/dist/components/CopilotKitInspector.js +69 -0
- package/dist/components/CopilotKitInspector.js.map +1 -0
- package/dist/components/CopilotKitInspector.mjs +7 -0
- package/dist/components/CopilotKitInspector.mjs.map +1 -0
- package/dist/components/WildcardToolCallRender.d.mts +7 -0
- package/dist/components/WildcardToolCallRender.d.ts +7 -0
- package/dist/components/WildcardToolCallRender.js +106 -0
- package/dist/components/WildcardToolCallRender.js.map +1 -0
- package/dist/components/WildcardToolCallRender.mjs +8 -0
- package/dist/components/WildcardToolCallRender.mjs.map +1 -0
- package/dist/components/chat/CopilotChat.d.mts +30 -0
- package/dist/components/chat/CopilotChat.d.ts +30 -0
- package/dist/components/chat/CopilotChat.js +2934 -0
- package/dist/components/chat/CopilotChat.js.map +1 -0
- package/dist/components/chat/CopilotChat.mjs +37 -0
- package/dist/components/chat/CopilotChat.mjs.map +1 -0
- package/dist/components/chat/CopilotChatAssistantMessage.d.mts +45 -0
- package/dist/components/chat/CopilotChatAssistantMessage.d.ts +45 -0
- package/dist/components/chat/CopilotChatAssistantMessage.js +735 -0
- package/dist/components/chat/CopilotChatAssistantMessage.js.map +1 -0
- package/dist/components/chat/CopilotChatAssistantMessage.mjs +29 -0
- package/dist/components/chat/CopilotChatAssistantMessage.mjs.map +1 -0
- package/dist/components/chat/CopilotChatAudioRecorder.d.mts +11 -0
- package/dist/components/chat/CopilotChatAudioRecorder.d.ts +11 -0
- package/dist/components/chat/CopilotChatAudioRecorder.js +131 -0
- package/dist/components/chat/CopilotChatAudioRecorder.js.map +1 -0
- package/dist/components/chat/CopilotChatAudioRecorder.mjs +9 -0
- package/dist/components/chat/CopilotChatAudioRecorder.mjs.map +1 -0
- package/dist/components/chat/CopilotChatInput.d.mts +67 -0
- package/dist/components/chat/CopilotChatInput.d.ts +67 -0
- package/dist/components/chat/CopilotChatInput.js +1305 -0
- package/dist/components/chat/CopilotChatInput.js.map +1 -0
- package/dist/components/chat/CopilotChatInput.mjs +16 -0
- package/dist/components/chat/CopilotChatInput.mjs.map +1 -0
- package/dist/components/chat/CopilotChatMessageView.d.mts +29 -0
- package/dist/components/chat/CopilotChatMessageView.d.ts +29 -0
- package/dist/components/chat/CopilotChatMessageView.js +1164 -0
- package/dist/components/chat/CopilotChatMessageView.js.map +1 -0
- package/dist/components/chat/CopilotChatMessageView.mjs +31 -0
- package/dist/components/chat/CopilotChatMessageView.mjs.map +1 -0
- package/dist/components/chat/CopilotChatSuggestionPill.d.mts +11 -0
- package/dist/components/chat/CopilotChatSuggestionPill.d.ts +11 -0
- package/dist/components/chat/CopilotChatSuggestionPill.js +76 -0
- package/dist/components/chat/CopilotChatSuggestionPill.js.map +1 -0
- package/dist/components/chat/CopilotChatSuggestionPill.mjs +10 -0
- package/dist/components/chat/CopilotChatSuggestionPill.mjs.map +1 -0
- package/dist/components/chat/CopilotChatSuggestionView.d.mts +33 -0
- package/dist/components/chat/CopilotChatSuggestionView.d.ts +33 -0
- package/dist/components/chat/CopilotChatSuggestionView.js +179 -0
- package/dist/components/chat/CopilotChatSuggestionView.js.map +1 -0
- package/dist/components/chat/CopilotChatSuggestionView.mjs +12 -0
- package/dist/components/chat/CopilotChatSuggestionView.mjs.map +1 -0
- package/dist/components/chat/CopilotChatToggleButton.d.mts +14 -0
- package/dist/components/chat/CopilotChatToggleButton.d.ts +14 -0
- package/dist/components/chat/CopilotChatToggleButton.js +222 -0
- package/dist/components/chat/CopilotChatToggleButton.js.map +1 -0
- package/dist/components/chat/CopilotChatToggleButton.mjs +16 -0
- package/dist/components/chat/CopilotChatToggleButton.mjs.map +1 -0
- package/dist/components/chat/CopilotChatToolCallsView.d.mts +10 -0
- package/dist/components/chat/CopilotChatToolCallsView.d.ts +10 -0
- package/dist/components/chat/CopilotChatToolCallsView.js +264 -0
- package/dist/components/chat/CopilotChatToolCallsView.js.map +1 -0
- package/dist/components/chat/CopilotChatToolCallsView.mjs +24 -0
- package/dist/components/chat/CopilotChatToolCallsView.mjs.map +1 -0
- package/dist/components/chat/CopilotChatUserMessage.d.mts +52 -0
- package/dist/components/chat/CopilotChatUserMessage.d.ts +52 -0
- package/dist/components/chat/CopilotChatUserMessage.js +523 -0
- package/dist/components/chat/CopilotChatUserMessage.js.map +1 -0
- package/dist/components/chat/CopilotChatUserMessage.mjs +14 -0
- package/dist/components/chat/CopilotChatUserMessage.mjs.map +1 -0
- package/dist/components/chat/CopilotChatView.d.mts +54 -0
- package/dist/components/chat/CopilotChatView.d.ts +54 -0
- package/dist/components/chat/CopilotChatView.js +2640 -0
- package/dist/components/chat/CopilotChatView.js.map +1 -0
- package/dist/components/chat/CopilotChatView.mjs +38 -0
- package/dist/components/chat/CopilotChatView.mjs.map +1 -0
- package/dist/components/chat/CopilotModalHeader.d.mts +22 -0
- package/dist/components/chat/CopilotModalHeader.d.ts +22 -0
- package/dist/components/chat/CopilotModalHeader.js +186 -0
- package/dist/components/chat/CopilotModalHeader.js.map +1 -0
- package/dist/components/chat/CopilotModalHeader.mjs +12 -0
- package/dist/components/chat/CopilotModalHeader.mjs.map +1 -0
- package/dist/components/chat/CopilotPopup.d.mts +33 -0
- package/dist/components/chat/CopilotPopup.d.ts +33 -0
- package/dist/components/chat/CopilotPopup.js +3343 -0
- package/dist/components/chat/CopilotPopup.js.map +1 -0
- package/dist/components/chat/CopilotPopup.mjs +43 -0
- package/dist/components/chat/CopilotPopup.mjs.map +1 -0
- package/dist/components/chat/CopilotPopupView.d.mts +30 -0
- package/dist/components/chat/CopilotPopupView.d.ts +30 -0
- package/dist/components/chat/CopilotPopupView.js +3003 -0
- package/dist/components/chat/CopilotPopupView.js.map +1 -0
- package/dist/components/chat/CopilotPopupView.mjs +41 -0
- package/dist/components/chat/CopilotPopupView.mjs.map +1 -0
- package/dist/components/chat/CopilotSidebar.d.mts +31 -0
- package/dist/components/chat/CopilotSidebar.d.ts +31 -0
- package/dist/components/chat/CopilotSidebar.js +3266 -0
- package/dist/components/chat/CopilotSidebar.js.map +1 -0
- package/dist/components/chat/CopilotSidebar.mjs +43 -0
- package/dist/components/chat/CopilotSidebar.mjs.map +1 -0
- package/dist/components/chat/CopilotSidebarView.d.mts +28 -0
- package/dist/components/chat/CopilotSidebarView.d.ts +28 -0
- package/dist/components/chat/CopilotSidebarView.js +2941 -0
- package/dist/components/chat/CopilotSidebarView.js.map +1 -0
- package/dist/components/chat/CopilotSidebarView.mjs +41 -0
- package/dist/components/chat/CopilotSidebarView.mjs.map +1 -0
- package/dist/components/chat/index.d.mts +23 -0
- package/dist/components/chat/index.d.ts +23 -0
- package/dist/components/chat/index.js +3503 -0
- package/dist/components/chat/index.js.map +1 -0
- package/dist/components/chat/index.mjs +95 -0
- package/dist/components/chat/index.mjs.map +1 -0
- package/dist/components/index.d.mts +29 -0
- package/dist/components/index.d.ts +29 -0
- package/dist/components/index.js +3583 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index.mjs +104 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/components/ui/button.d.mts +14 -0
- package/dist/components/ui/button.d.ts +14 -0
- package/dist/components/ui/button.js +150 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/button.mjs +10 -0
- package/dist/components/ui/button.mjs.map +1 -0
- package/dist/components/ui/dropdown-menu.d.mts +28 -0
- package/dist/components/ui/dropdown-menu.d.ts +28 -0
- package/dist/components/ui/dropdown-menu.js +291 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/dropdown-menu.mjs +37 -0
- package/dist/components/ui/dropdown-menu.mjs.map +1 -0
- package/dist/components/ui/tooltip.d.mts +10 -0
- package/dist/components/ui/tooltip.d.ts +10 -0
- package/dist/components/ui/tooltip.js +103 -0
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/components/ui/tooltip.mjs +14 -0
- package/dist/components/ui/tooltip.mjs.map +1 -0
- package/dist/hooks/index.d.mts +19 -0
- package/dist/hooks/index.d.ts +19 -0
- package/dist/hooks/index.js +691 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/index.mjs +45 -0
- package/dist/hooks/index.mjs.map +1 -0
- package/dist/hooks/use-agent-context.d.mts +5 -0
- package/dist/hooks/use-agent-context.d.ts +5 -0
- package/dist/hooks/use-agent-context.js +116 -0
- package/dist/hooks/use-agent-context.js.map +1 -0
- package/dist/hooks/use-agent-context.mjs +10 -0
- package/dist/hooks/use-agent-context.mjs.map +1 -0
- package/dist/hooks/use-agent.d.mts +16 -0
- package/dist/hooks/use-agent.d.ts +16 -0
- package/dist/hooks/use-agent.js +171 -0
- package/dist/hooks/use-agent.js.map +1 -0
- package/dist/hooks/use-agent.mjs +12 -0
- package/dist/hooks/use-agent.mjs.map +1 -0
- package/dist/hooks/use-configure-suggestions.d.mts +13 -0
- package/dist/hooks/use-configure-suggestions.d.ts +13 -0
- package/dist/hooks/use-configure-suggestions.js +232 -0
- package/dist/hooks/use-configure-suggestions.js.map +1 -0
- package/dist/hooks/use-configure-suggestions.mjs +11 -0
- package/dist/hooks/use-configure-suggestions.mjs.map +1 -0
- package/dist/hooks/use-frontend-tool.d.mts +8 -0
- package/dist/hooks/use-frontend-tool.d.ts +8 -0
- package/dist/hooks/use-frontend-tool.js +137 -0
- package/dist/hooks/use-frontend-tool.js.map +1 -0
- package/dist/hooks/use-frontend-tool.mjs +10 -0
- package/dist/hooks/use-frontend-tool.mjs.map +1 -0
- package/dist/hooks/use-human-in-the-loop.d.mts +7 -0
- package/dist/hooks/use-human-in-the-loop.d.ts +7 -0
- package/dist/hooks/use-human-in-the-loop.js +206 -0
- package/dist/hooks/use-human-in-the-loop.js.map +1 -0
- package/dist/hooks/use-human-in-the-loop.mjs +11 -0
- package/dist/hooks/use-human-in-the-loop.mjs.map +1 -0
- package/dist/hooks/use-keyboard-height.d.mts +15 -0
- package/dist/hooks/use-keyboard-height.d.ts +15 -0
- package/dist/hooks/use-keyboard-height.js +68 -0
- package/dist/hooks/use-keyboard-height.js.map +1 -0
- package/dist/hooks/use-keyboard-height.mjs +7 -0
- package/dist/hooks/use-keyboard-height.mjs.map +1 -0
- package/dist/hooks/use-render-activity-message.d.mts +5 -0
- package/dist/hooks/use-render-activity-message.d.ts +5 -0
- package/dist/hooks/use-render-activity-message.js +158 -0
- package/dist/hooks/use-render-activity-message.js.map +1 -0
- package/dist/hooks/use-render-activity-message.mjs +12 -0
- package/dist/hooks/use-render-activity-message.mjs.map +1 -0
- package/dist/hooks/use-render-custom-messages.d.mts +11 -0
- package/dist/hooks/use-render-custom-messages.d.ts +11 -0
- package/dist/hooks/use-render-custom-messages.js +170 -0
- package/dist/hooks/use-render-custom-messages.js.map +1 -0
- package/dist/hooks/use-render-custom-messages.mjs +12 -0
- package/dist/hooks/use-render-custom-messages.mjs.map +1 -0
- package/dist/hooks/use-render-tool-call.d.mts +16 -0
- package/dist/hooks/use-render-tool-call.d.ts +16 -0
- package/dist/hooks/use-render-tool-call.js +208 -0
- package/dist/hooks/use-render-tool-call.js.map +1 -0
- package/dist/hooks/use-render-tool-call.mjs +11 -0
- package/dist/hooks/use-render-tool-call.mjs.map +1 -0
- package/dist/hooks/use-suggestions.d.mts +14 -0
- package/dist/hooks/use-suggestions.d.ts +14 -0
- package/dist/hooks/use-suggestions.js +176 -0
- package/dist/hooks/use-suggestions.js.map +1 -0
- package/dist/hooks/use-suggestions.mjs +11 -0
- package/dist/hooks/use-suggestions.mjs.map +1 -0
- package/dist/index.d.mts +46 -635
- package/dist/index.d.ts +46 -635
- package/dist/index.mjs +110 -3960
- package/dist/index.mjs.map +1 -1
- package/dist/lib/react-core.d.mts +33 -0
- package/dist/lib/react-core.d.ts +33 -0
- package/dist/lib/react-core.js +73 -0
- package/dist/lib/react-core.js.map +1 -0
- package/dist/lib/react-core.mjs +7 -0
- package/dist/lib/react-core.mjs.map +1 -0
- package/dist/lib/slots.d.mts +16 -0
- package/dist/lib/slots.d.ts +16 -0
- package/dist/lib/slots.js +60 -0
- package/dist/lib/slots.js.map +1 -0
- package/dist/lib/slots.mjs +7 -0
- package/dist/lib/slots.mjs.map +1 -0
- package/dist/lib/utils.d.mts +5 -0
- package/dist/lib/utils.d.ts +5 -0
- package/dist/lib/utils.js +35 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/utils.mjs +7 -0
- package/dist/lib/utils.mjs.map +1 -0
- package/dist/providers/CopilotChatConfigurationProvider.d.mts +43 -0
- package/dist/providers/CopilotChatConfigurationProvider.d.ts +43 -0
- package/dist/providers/CopilotChatConfigurationProvider.js +109 -0
- package/dist/providers/CopilotChatConfigurationProvider.js.map +1 -0
- package/dist/providers/CopilotChatConfigurationProvider.mjs +11 -0
- package/dist/providers/CopilotChatConfigurationProvider.mjs.map +1 -0
- package/dist/providers/CopilotKitProvider.d.mts +33 -0
- package/dist/providers/CopilotKitProvider.d.ts +33 -0
- package/dist/providers/CopilotKitProvider.js +314 -0
- package/dist/providers/CopilotKitProvider.js.map +1 -0
- package/dist/providers/CopilotKitProvider.mjs +12 -0
- package/dist/providers/CopilotKitProvider.mjs.map +1 -0
- package/dist/providers/index.d.mts +13 -0
- package/dist/providers/index.d.ts +13 -0
- package/dist/providers/index.js +396 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/index.mjs +18 -0
- package/dist/providers/index.mjs.map +1 -0
- package/dist/types/defineToolCallRenderer.d.mts +41 -0
- package/dist/types/defineToolCallRenderer.d.ts +41 -0
- package/dist/types/defineToolCallRenderer.js +40 -0
- package/dist/types/defineToolCallRenderer.js.map +1 -0
- package/dist/types/defineToolCallRenderer.mjs +7 -0
- package/dist/types/defineToolCallRenderer.mjs.map +1 -0
- package/dist/types/frontend-tool.d.mts +9 -0
- package/dist/types/frontend-tool.d.ts +9 -0
- package/dist/types/frontend-tool.js +19 -0
- package/dist/types/frontend-tool.js.map +1 -0
- package/dist/types/frontend-tool.mjs +2 -0
- package/dist/types/frontend-tool.mjs.map +1 -0
- package/dist/types/human-in-the-loop.d.mts +29 -0
- package/dist/types/human-in-the-loop.d.ts +29 -0
- package/dist/types/human-in-the-loop.js +19 -0
- package/dist/types/human-in-the-loop.js.map +1 -0
- package/dist/types/human-in-the-loop.mjs +2 -0
- package/dist/types/human-in-the-loop.mjs.map +1 -0
- package/dist/types/index.d.mts +11 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.js +42 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/index.mjs +13 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/types/react-activity-message-renderer.d.mts +29 -0
- package/dist/types/react-activity-message-renderer.d.ts +29 -0
- package/dist/types/react-activity-message-renderer.js +19 -0
- package/dist/types/react-activity-message-renderer.js.map +1 -0
- package/dist/types/react-activity-message-renderer.mjs +2 -0
- package/dist/types/react-activity-message-renderer.mjs.map +1 -0
- package/dist/types/react-custom-message-renderer.d.mts +18 -0
- package/dist/types/react-custom-message-renderer.d.ts +18 -0
- package/dist/types/react-custom-message-renderer.js +19 -0
- package/dist/types/react-custom-message-renderer.js.map +1 -0
- package/dist/types/react-custom-message-renderer.mjs +2 -0
- package/dist/types/react-custom-message-renderer.mjs.map +1 -0
- package/dist/types/react-tool-call-renderer.d.mts +30 -0
- package/dist/types/react-tool-call-renderer.d.ts +30 -0
- package/dist/types/react-tool-call-renderer.js +19 -0
- package/dist/types/react-tool-call-renderer.js.map +1 -0
- package/dist/types/react-tool-call-renderer.mjs +2 -0
- package/dist/types/react-tool-call-renderer.mjs.map +1 -0
- package/package.json +8 -7
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cn
|
|
3
|
+
} from "./chunk-XO4IRKSC.mjs";
|
|
4
|
+
|
|
5
|
+
// src/components/chat/CopilotChatSuggestionPill.tsx
|
|
6
|
+
import React from "react";
|
|
7
|
+
import { Loader2 } from "lucide-react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
var baseClasses = "group inline-flex h-7 sm:h-8 items-center gap-1 sm:gap-1.5 rounded-full border border-border/60 bg-background px-2.5 sm:px-3 text-[11px] sm:text-xs leading-none text-foreground transition-colors cursor-pointer hover:bg-accent/60 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:text-muted-foreground disabled:hover:bg-background disabled:hover:text-muted-foreground pointer-events-auto";
|
|
10
|
+
var labelClasses = "whitespace-nowrap font-medium leading-none";
|
|
11
|
+
var CopilotChatSuggestionPill = React.forwardRef(function CopilotChatSuggestionPill2({ className, children, icon, isLoading, type, ...props }, ref) {
|
|
12
|
+
const showIcon = !isLoading && icon;
|
|
13
|
+
return /* @__PURE__ */ jsxs(
|
|
14
|
+
"button",
|
|
15
|
+
{
|
|
16
|
+
ref,
|
|
17
|
+
"data-slot": "suggestion-pill",
|
|
18
|
+
className: cn(baseClasses, className),
|
|
19
|
+
type: type ?? "button",
|
|
20
|
+
"aria-busy": isLoading || void 0,
|
|
21
|
+
disabled: isLoading || props.disabled,
|
|
22
|
+
...props,
|
|
23
|
+
children: [
|
|
24
|
+
isLoading ? /* @__PURE__ */ jsx("span", { className: "flex h-3.5 sm:h-4 w-3.5 sm:w-4 items-center justify-center text-muted-foreground", children: /* @__PURE__ */ jsx(Loader2, { className: "h-3.5 sm:h-4 w-3.5 sm:w-4 animate-spin", "aria-hidden": "true" }) }) : showIcon && /* @__PURE__ */ jsx("span", { className: "flex h-3.5 sm:h-4 w-3.5 sm:w-4 items-center justify-center text-muted-foreground", children: icon }),
|
|
25
|
+
/* @__PURE__ */ jsx("span", { className: labelClasses, children })
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
});
|
|
30
|
+
CopilotChatSuggestionPill.displayName = "CopilotChatSuggestionPill";
|
|
31
|
+
var CopilotChatSuggestionPill_default = CopilotChatSuggestionPill;
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
CopilotChatSuggestionPill,
|
|
35
|
+
CopilotChatSuggestionPill_default
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=chunk-NNPKBGD6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/chat/CopilotChatSuggestionPill.tsx"],"sourcesContent":["import React from \"react\";\nimport { Loader2 } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface CopilotChatSuggestionPillProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** Optional icon to render on the left side when not loading. */\n icon?: React.ReactNode;\n /** Whether the pill should display a loading spinner. */\n isLoading?: boolean;\n}\n\nconst baseClasses =\n \"group inline-flex h-7 sm:h-8 items-center gap-1 sm:gap-1.5 rounded-full border border-border/60 bg-background px-2.5 sm:px-3 text-[11px] sm:text-xs leading-none text-foreground transition-colors cursor-pointer hover:bg-accent/60 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:text-muted-foreground disabled:hover:bg-background disabled:hover:text-muted-foreground pointer-events-auto\";\n\nconst labelClasses = \"whitespace-nowrap font-medium leading-none\";\n\nexport const CopilotChatSuggestionPill = React.forwardRef<\n HTMLButtonElement,\n CopilotChatSuggestionPillProps\n>(function CopilotChatSuggestionPill(\n { className, children, icon, isLoading, type, ...props },\n ref\n) {\n const showIcon = !isLoading && icon;\n\n return (\n <button\n ref={ref}\n data-slot=\"suggestion-pill\"\n className={cn(baseClasses, className)}\n type={type ?? \"button\"}\n aria-busy={isLoading || undefined}\n disabled={isLoading || props.disabled}\n {...props}\n >\n {isLoading ? (\n <span className=\"flex h-3.5 sm:h-4 w-3.5 sm:w-4 items-center justify-center text-muted-foreground\">\n <Loader2 className=\"h-3.5 sm:h-4 w-3.5 sm:w-4 animate-spin\" aria-hidden=\"true\" />\n </span>\n ) : (\n showIcon && (\n <span className=\"flex h-3.5 sm:h-4 w-3.5 sm:w-4 items-center justify-center text-muted-foreground\">{icon}</span>\n )\n )}\n <span className={labelClasses}>{children}</span>\n </button>\n );\n});\n\nCopilotChatSuggestionPill.displayName = \"CopilotChatSuggestionPill\";\n\nexport default CopilotChatSuggestionPill;\n"],"mappings":";;;;;AAAA,OAAO,WAAW;AAClB,SAAS,eAAe;AA0BpB,SAWM,KAXN;AAfJ,IAAM,cACJ;AAEF,IAAM,eAAe;AAEd,IAAM,4BAA4B,MAAM,WAG7C,SAASA,2BACT,EAAE,WAAW,UAAU,MAAM,WAAW,MAAM,GAAG,MAAM,GACvD,KACA;AACA,QAAM,WAAW,CAAC,aAAa;AAE/B,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW,GAAG,aAAa,SAAS;AAAA,MACpC,MAAM,QAAQ;AAAA,MACd,aAAW,aAAa;AAAA,MACxB,UAAU,aAAa,MAAM;AAAA,MAC5B,GAAG;AAAA,MAEH;AAAA,oBACC,oBAAC,UAAK,WAAU,oFACd,8BAAC,WAAQ,WAAU,0CAAyC,eAAY,QAAO,GACjF,IAEA,YACE,oBAAC,UAAK,WAAU,oFAAoF,gBAAK;AAAA,QAG7G,oBAAC,UAAK,WAAW,cAAe,UAAS;AAAA;AAAA;AAAA,EAC3C;AAEJ,CAAC;AAED,0BAA0B,cAAc;AAExC,IAAO,oCAAQ;","names":["CopilotChatSuggestionPill"]}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CopilotChatToggleButton_default
|
|
3
|
+
} from "./chunk-R5OLAA3L.mjs";
|
|
4
|
+
import {
|
|
5
|
+
CopilotModalHeader
|
|
6
|
+
} from "./chunk-E56GYBP3.mjs";
|
|
7
|
+
import {
|
|
8
|
+
CopilotChatView_default
|
|
9
|
+
} from "./chunk-JLVGSNAO.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-OMPVTGXH.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
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":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CopilotSidebarView
|
|
3
|
+
} from "./chunk-3TA5QBSZ.mjs";
|
|
4
|
+
import {
|
|
5
|
+
CopilotChat
|
|
6
|
+
} from "./chunk-TKFOXPXF.mjs";
|
|
7
|
+
import {
|
|
8
|
+
CopilotChatView_default
|
|
9
|
+
} from "./chunk-F43IPGPA.mjs";
|
|
10
|
+
|
|
11
|
+
// src/components/chat/CopilotSidebar.tsx
|
|
12
|
+
import { useMemo } from "react";
|
|
13
|
+
import { jsx } from "react/jsx-runtime";
|
|
14
|
+
function CopilotSidebar({ header, defaultOpen, width, ...chatProps }) {
|
|
15
|
+
const SidebarViewOverride = useMemo(() => {
|
|
16
|
+
const Component = (viewProps) => {
|
|
17
|
+
const { header: viewHeader, width: viewWidth, ...restProps } = viewProps;
|
|
18
|
+
return /* @__PURE__ */ jsx(
|
|
19
|
+
CopilotSidebarView,
|
|
20
|
+
{
|
|
21
|
+
...restProps,
|
|
22
|
+
header: header ?? viewHeader,
|
|
23
|
+
width: width ?? viewWidth
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
};
|
|
27
|
+
return Object.assign(Component, CopilotChatView_default);
|
|
28
|
+
}, [header, width]);
|
|
29
|
+
return /* @__PURE__ */ jsx(
|
|
30
|
+
CopilotChat,
|
|
31
|
+
{
|
|
32
|
+
...chatProps,
|
|
33
|
+
chatView: SidebarViewOverride,
|
|
34
|
+
isModalDefaultOpen: defaultOpen
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
CopilotSidebar.displayName = "CopilotSidebar";
|
|
39
|
+
var CopilotSidebar_default = CopilotSidebar;
|
|
40
|
+
|
|
41
|
+
export {
|
|
42
|
+
CopilotSidebar,
|
|
43
|
+
CopilotSidebar_default
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=chunk-QFBM3ZT2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/chat/CopilotSidebar.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\n\nimport { CopilotChat, CopilotChatProps } from \"./CopilotChat\";\nimport CopilotChatView, { CopilotChatViewProps } from \"./CopilotChatView\";\nimport { CopilotSidebarView, CopilotSidebarViewProps } from \"./CopilotSidebarView\";\n\nexport type CopilotSidebarProps = Omit<CopilotChatProps, \"chatView\"> & {\n header?: CopilotSidebarViewProps[\"header\"];\n defaultOpen?: boolean;\n width?: number | string;\n};\n\nexport function CopilotSidebar({ header, defaultOpen, width, ...chatProps }: CopilotSidebarProps) {\n const SidebarViewOverride = useMemo(() => {\n const Component: React.FC<CopilotChatViewProps> = (viewProps) => {\n const { header: viewHeader, width: viewWidth, ...restProps } = viewProps as CopilotSidebarViewProps;\n\n return (\n <CopilotSidebarView\n {...(restProps as CopilotSidebarViewProps)}\n header={header ?? viewHeader}\n width={width ?? viewWidth}\n />\n );\n };\n\n return Object.assign(Component, CopilotChatView);\n }, [header, width]);\n\n return (\n <CopilotChat\n {...chatProps}\n chatView={SidebarViewOverride}\n isModalDefaultOpen={defaultOpen}\n />\n );\n}\n\nCopilotSidebar.displayName = \"CopilotSidebar\";\n\nexport default CopilotSidebar;\n"],"mappings":";;;;;;;;;;;AAAA,SAAgB,eAAe;AAkBvB;AAND,SAAS,eAAe,EAAE,QAAQ,aAAa,OAAO,GAAG,UAAU,GAAwB;AAChG,QAAM,sBAAsB,QAAQ,MAAM;AACxC,UAAM,YAA4C,CAAC,cAAc;AAC/D,YAAM,EAAE,QAAQ,YAAY,OAAO,WAAW,GAAG,UAAU,IAAI;AAE/D,aACE;AAAA,QAAC;AAAA;AAAA,UACE,GAAI;AAAA,UACL,QAAQ,UAAU;AAAA,UAClB,OAAO,SAAS;AAAA;AAAA,MAClB;AAAA,IAEJ;AAEA,WAAO,OAAO,OAAO,WAAW,uBAAe;AAAA,EACjD,GAAG,CAAC,QAAQ,KAAK,CAAC;AAElB,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU;AAAA,MACV,oBAAoB;AAAA;AAAA,EACtB;AAEJ;AAEA,eAAe,cAAc;AAE7B,IAAO,yBAAQ;","names":[]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useFrontendTool
|
|
3
|
+
} from "./chunk-NASFZS3N.mjs";
|
|
4
|
+
import {
|
|
5
|
+
useCopilotKit
|
|
6
|
+
} from "./chunk-VE3SBLU7.mjs";
|
|
7
|
+
|
|
8
|
+
// src/hooks/use-human-in-the-loop.tsx
|
|
9
|
+
import { useCallback, useRef, useEffect } from "react";
|
|
10
|
+
import React from "react";
|
|
11
|
+
function useHumanInTheLoop(tool) {
|
|
12
|
+
const { copilotkit } = useCopilotKit();
|
|
13
|
+
const resolvePromiseRef = useRef(null);
|
|
14
|
+
const respond = useCallback(async (result) => {
|
|
15
|
+
if (resolvePromiseRef.current) {
|
|
16
|
+
resolvePromiseRef.current(result);
|
|
17
|
+
resolvePromiseRef.current = null;
|
|
18
|
+
}
|
|
19
|
+
}, []);
|
|
20
|
+
const handler = useCallback(async () => {
|
|
21
|
+
return new Promise((resolve) => {
|
|
22
|
+
resolvePromiseRef.current = resolve;
|
|
23
|
+
});
|
|
24
|
+
}, []);
|
|
25
|
+
const RenderComponent = useCallback(
|
|
26
|
+
(props) => {
|
|
27
|
+
const ToolComponent = tool.render;
|
|
28
|
+
if (props.status === "inProgress") {
|
|
29
|
+
const enhancedProps = {
|
|
30
|
+
...props,
|
|
31
|
+
name: tool.name,
|
|
32
|
+
description: tool.description || "",
|
|
33
|
+
respond: void 0
|
|
34
|
+
};
|
|
35
|
+
return React.createElement(ToolComponent, enhancedProps);
|
|
36
|
+
} else if (props.status === "executing") {
|
|
37
|
+
const enhancedProps = {
|
|
38
|
+
...props,
|
|
39
|
+
name: tool.name,
|
|
40
|
+
description: tool.description || "",
|
|
41
|
+
respond
|
|
42
|
+
};
|
|
43
|
+
return React.createElement(ToolComponent, enhancedProps);
|
|
44
|
+
} else if (props.status === "complete") {
|
|
45
|
+
const enhancedProps = {
|
|
46
|
+
...props,
|
|
47
|
+
name: tool.name,
|
|
48
|
+
description: tool.description || "",
|
|
49
|
+
respond: void 0
|
|
50
|
+
};
|
|
51
|
+
return React.createElement(ToolComponent, enhancedProps);
|
|
52
|
+
}
|
|
53
|
+
return React.createElement(ToolComponent, props);
|
|
54
|
+
},
|
|
55
|
+
[tool.render, tool.name, tool.description, respond]
|
|
56
|
+
);
|
|
57
|
+
const frontendTool = {
|
|
58
|
+
...tool,
|
|
59
|
+
handler,
|
|
60
|
+
render: RenderComponent
|
|
61
|
+
};
|
|
62
|
+
useFrontendTool(frontendTool);
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
return () => {
|
|
65
|
+
const keyOf = (rc) => `${rc.agentId ?? ""}:${rc.name}`;
|
|
66
|
+
const currentRenderToolCalls = copilotkit.renderToolCalls;
|
|
67
|
+
const filtered = currentRenderToolCalls.filter(
|
|
68
|
+
(rc) => keyOf(rc) !== keyOf({ name: tool.name, agentId: tool.agentId })
|
|
69
|
+
);
|
|
70
|
+
copilotkit.setRenderToolCalls(filtered);
|
|
71
|
+
};
|
|
72
|
+
}, [copilotkit, tool.name, tool.agentId]);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export {
|
|
76
|
+
useHumanInTheLoop
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=chunk-QJ6DZ645.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-human-in-the-loop.tsx"],"sourcesContent":["import { ReactToolCallRenderer } from \"@/types/react-tool-call-renderer\";\nimport { useFrontendTool } from \"./use-frontend-tool\";\nimport { ReactFrontendTool } from \"@/types/frontend-tool\";\nimport { ReactHumanInTheLoop } from \"@/types/human-in-the-loop\";\nimport { useCallback, useRef, useEffect } from \"react\";\nimport React from \"react\";\nimport { useCopilotKit } from \"@/providers/CopilotKitProvider\";\n\nexport function useHumanInTheLoop<T extends Record<string, unknown> = Record<string, unknown>>(\n tool: ReactHumanInTheLoop<T>,\n) {\n const { copilotkit } = useCopilotKit();\n const resolvePromiseRef = useRef<((result: unknown) => void) | null>(null);\n\n const respond = useCallback(async (result: unknown) => {\n if (resolvePromiseRef.current) {\n resolvePromiseRef.current(result);\n resolvePromiseRef.current = null;\n }\n }, []);\n\n const handler = useCallback(async () => {\n return new Promise((resolve) => {\n resolvePromiseRef.current = resolve;\n });\n }, []);\n\n const RenderComponent: ReactToolCallRenderer<T>[\"render\"] = useCallback(\n (props) => {\n const ToolComponent = tool.render;\n\n // Enhance props based on current status\n if (props.status === \"inProgress\") {\n const enhancedProps = {\n ...props,\n name: tool.name,\n description: tool.description || \"\",\n respond: undefined,\n };\n return React.createElement(ToolComponent, enhancedProps);\n } else if (props.status === \"executing\") {\n const enhancedProps = {\n ...props,\n name: tool.name,\n description: tool.description || \"\",\n respond,\n };\n return React.createElement(ToolComponent, enhancedProps);\n } else if (props.status === \"complete\") {\n const enhancedProps = {\n ...props,\n name: tool.name,\n description: tool.description || \"\",\n respond: undefined,\n };\n return React.createElement(ToolComponent, enhancedProps);\n }\n\n // Fallback - just render with original props\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return React.createElement(ToolComponent, props as any);\n },\n [tool.render, tool.name, tool.description, respond],\n );\n\n const frontendTool: ReactFrontendTool<T> = {\n ...tool,\n handler,\n render: RenderComponent,\n };\n\n useFrontendTool(frontendTool);\n\n // Human-in-the-loop tools should remove their renderer on unmount\n // since they can't respond to user interactions anymore\n useEffect(() => {\n return () => {\n const keyOf = (rc: ReactToolCallRenderer<any>) => `${rc.agentId ?? \"\"}:${rc.name}`;\n const currentRenderToolCalls = copilotkit.renderToolCalls as ReactToolCallRenderer<any>[];\n const filtered = currentRenderToolCalls.filter(\n (rc) => keyOf(rc) !== keyOf({ name: tool.name, agentId: tool.agentId } as any),\n );\n copilotkit.setRenderToolCalls(filtered);\n };\n }, [copilotkit, tool.name, tool.agentId]);\n}\n"],"mappings":";;;;;;;;AAIA,SAAS,aAAa,QAAQ,iBAAiB;AAC/C,OAAO,WAAW;AAGX,SAAS,kBACd,MACA;AACA,QAAM,EAAE,WAAW,IAAI,cAAc;AACrC,QAAM,oBAAoB,OAA2C,IAAI;AAEzE,QAAM,UAAU,YAAY,OAAO,WAAoB;AACrD,QAAI,kBAAkB,SAAS;AAC7B,wBAAkB,QAAQ,MAAM;AAChC,wBAAkB,UAAU;AAAA,IAC9B;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,UAAU,YAAY,YAAY;AACtC,WAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,wBAAkB,UAAU;AAAA,IAC9B,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,QAAM,kBAAsD;AAAA,IAC1D,CAAC,UAAU;AACT,YAAM,gBAAgB,KAAK;AAG3B,UAAI,MAAM,WAAW,cAAc;AACjC,cAAM,gBAAgB;AAAA,UACpB,GAAG;AAAA,UACH,MAAM,KAAK;AAAA,UACX,aAAa,KAAK,eAAe;AAAA,UACjC,SAAS;AAAA,QACX;AACA,eAAO,MAAM,cAAc,eAAe,aAAa;AAAA,MACzD,WAAW,MAAM,WAAW,aAAa;AACvC,cAAM,gBAAgB;AAAA,UACpB,GAAG;AAAA,UACH,MAAM,KAAK;AAAA,UACX,aAAa,KAAK,eAAe;AAAA,UACjC;AAAA,QACF;AACA,eAAO,MAAM,cAAc,eAAe,aAAa;AAAA,MACzD,WAAW,MAAM,WAAW,YAAY;AACtC,cAAM,gBAAgB;AAAA,UACpB,GAAG;AAAA,UACH,MAAM,KAAK;AAAA,UACX,aAAa,KAAK,eAAe;AAAA,UACjC,SAAS;AAAA,QACX;AACA,eAAO,MAAM,cAAc,eAAe,aAAa;AAAA,MACzD;AAIA,aAAO,MAAM,cAAc,eAAe,KAAY;AAAA,IACxD;AAAA,IACA,CAAC,KAAK,QAAQ,KAAK,MAAM,KAAK,aAAa,OAAO;AAAA,EACpD;AAEA,QAAM,eAAqC;AAAA,IACzC,GAAG;AAAA,IACH;AAAA,IACA,QAAQ;AAAA,EACV;AAEA,kBAAgB,YAAY;AAI5B,YAAU,MAAM;AACd,WAAO,MAAM;AACX,YAAM,QAAQ,CAAC,OAAmC,GAAG,GAAG,WAAW,EAAE,IAAI,GAAG,IAAI;AAChF,YAAM,yBAAyB,WAAW;AAC1C,YAAM,WAAW,uBAAuB;AAAA,QACtC,CAAC,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,MAAM,KAAK,MAAM,SAAS,KAAK,QAAQ,CAAQ;AAAA,MAC/E;AACA,iBAAW,mBAAmB,QAAQ;AAAA,IACxC;AAAA,EACF,GAAG,CAAC,YAAY,KAAK,MAAM,KAAK,OAAO,CAAC;AAC1C;","names":[]}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import {
|
|
2
|
+
renderSlot
|
|
3
|
+
} from "./chunk-FIBK3DYE.mjs";
|
|
4
|
+
import {
|
|
5
|
+
cn
|
|
6
|
+
} from "./chunk-XO4IRKSC.mjs";
|
|
7
|
+
import {
|
|
8
|
+
CopilotChatDefaultLabels,
|
|
9
|
+
useCopilotChatConfiguration
|
|
10
|
+
} from "./chunk-4XJK5IVQ.mjs";
|
|
11
|
+
|
|
12
|
+
// src/components/chat/CopilotChatToggleButton.tsx
|
|
13
|
+
import React, { useState } from "react";
|
|
14
|
+
import { MessageCircle, X } from "lucide-react";
|
|
15
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
16
|
+
var DefaultOpenIcon = ({
|
|
17
|
+
className,
|
|
18
|
+
...props
|
|
19
|
+
}) => /* @__PURE__ */ jsx(MessageCircle, { className: cn("h-6 w-6", className), strokeWidth: 1.75, fill: "currentColor", ...props });
|
|
20
|
+
var DefaultCloseIcon = ({
|
|
21
|
+
className,
|
|
22
|
+
...props
|
|
23
|
+
}) => /* @__PURE__ */ jsx(X, { className: cn("h-6 w-6", className), strokeWidth: 1.75, ...props });
|
|
24
|
+
DefaultOpenIcon.displayName = "CopilotChatToggleButton.OpenIcon";
|
|
25
|
+
DefaultCloseIcon.displayName = "CopilotChatToggleButton.CloseIcon";
|
|
26
|
+
var ICON_TRANSITION_STYLE = Object.freeze({
|
|
27
|
+
transition: "opacity 120ms ease-out, transform 260ms cubic-bezier(0.22, 1, 0.36, 1)"
|
|
28
|
+
});
|
|
29
|
+
var ICON_WRAPPER_BASE = "pointer-events-none absolute inset-0 flex items-center justify-center will-change-transform";
|
|
30
|
+
var BUTTON_BASE_CLASSES = cn(
|
|
31
|
+
"fixed bottom-6 right-6 z-[1100] flex h-14 w-14 items-center justify-center",
|
|
32
|
+
"rounded-full border border-primary bg-primary text-primary-foreground",
|
|
33
|
+
"shadow-sm transition-all duration-200 ease-out",
|
|
34
|
+
"hover:scale-[1.04] hover:shadow-md",
|
|
35
|
+
"cursor-pointer",
|
|
36
|
+
"active:scale-[0.96]",
|
|
37
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
38
|
+
"disabled:pointer-events-none disabled:opacity-60"
|
|
39
|
+
);
|
|
40
|
+
var CopilotChatToggleButton = React.forwardRef(function CopilotChatToggleButton2({ openIcon, closeIcon, className, ...buttonProps }, ref) {
|
|
41
|
+
const { onClick, type, disabled, ...restProps } = buttonProps;
|
|
42
|
+
const configuration = useCopilotChatConfiguration();
|
|
43
|
+
const labels = configuration?.labels ?? CopilotChatDefaultLabels;
|
|
44
|
+
const [fallbackOpen, setFallbackOpen] = useState(false);
|
|
45
|
+
const isOpen = configuration?.isModalOpen ?? fallbackOpen;
|
|
46
|
+
const setModalOpen = configuration?.setModalOpen ?? setFallbackOpen;
|
|
47
|
+
const handleClick = (event) => {
|
|
48
|
+
if (disabled) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (onClick) {
|
|
52
|
+
onClick(event);
|
|
53
|
+
}
|
|
54
|
+
if (event.defaultPrevented) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const nextOpen = !isOpen;
|
|
58
|
+
setModalOpen(nextOpen);
|
|
59
|
+
};
|
|
60
|
+
const renderedOpenIcon = renderSlot(
|
|
61
|
+
openIcon,
|
|
62
|
+
DefaultOpenIcon,
|
|
63
|
+
{
|
|
64
|
+
className: "h-6 w-6",
|
|
65
|
+
"aria-hidden": true,
|
|
66
|
+
focusable: false
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
const renderedCloseIcon = renderSlot(
|
|
70
|
+
closeIcon,
|
|
71
|
+
DefaultCloseIcon,
|
|
72
|
+
{
|
|
73
|
+
className: "h-6 w-6",
|
|
74
|
+
"aria-hidden": true,
|
|
75
|
+
focusable: false
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
const openIconElement = /* @__PURE__ */ jsx(
|
|
79
|
+
"span",
|
|
80
|
+
{
|
|
81
|
+
"aria-hidden": "true",
|
|
82
|
+
"data-slot": "chat-toggle-button-open-icon",
|
|
83
|
+
className: ICON_WRAPPER_BASE,
|
|
84
|
+
style: {
|
|
85
|
+
...ICON_TRANSITION_STYLE,
|
|
86
|
+
opacity: isOpen ? 0 : 1,
|
|
87
|
+
transform: `scale(${isOpen ? 0.75 : 1}) rotate(${isOpen ? 90 : 0}deg)`
|
|
88
|
+
},
|
|
89
|
+
children: renderedOpenIcon
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
const closeIconElement = /* @__PURE__ */ jsx(
|
|
93
|
+
"span",
|
|
94
|
+
{
|
|
95
|
+
"aria-hidden": "true",
|
|
96
|
+
"data-slot": "chat-toggle-button-close-icon",
|
|
97
|
+
className: ICON_WRAPPER_BASE,
|
|
98
|
+
style: {
|
|
99
|
+
...ICON_TRANSITION_STYLE,
|
|
100
|
+
opacity: isOpen ? 1 : 0,
|
|
101
|
+
transform: `scale(${isOpen ? 1 : 0.75}) rotate(${isOpen ? 0 : -90}deg)`
|
|
102
|
+
},
|
|
103
|
+
children: renderedCloseIcon
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
return /* @__PURE__ */ jsxs(
|
|
107
|
+
"button",
|
|
108
|
+
{
|
|
109
|
+
ref,
|
|
110
|
+
type: type ?? "button",
|
|
111
|
+
"data-slot": "chat-toggle-button",
|
|
112
|
+
"data-state": isOpen ? "open" : "closed",
|
|
113
|
+
className: cn(BUTTON_BASE_CLASSES, className),
|
|
114
|
+
"aria-label": isOpen ? labels.chatToggleCloseLabel : labels.chatToggleOpenLabel,
|
|
115
|
+
"aria-pressed": isOpen,
|
|
116
|
+
disabled,
|
|
117
|
+
onClick: handleClick,
|
|
118
|
+
...restProps,
|
|
119
|
+
children: [
|
|
120
|
+
openIconElement,
|
|
121
|
+
closeIconElement
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
});
|
|
126
|
+
CopilotChatToggleButton.displayName = "CopilotChatToggleButton";
|
|
127
|
+
var CopilotChatToggleButton_default = CopilotChatToggleButton;
|
|
128
|
+
|
|
129
|
+
export {
|
|
130
|
+
DefaultOpenIcon,
|
|
131
|
+
DefaultCloseIcon,
|
|
132
|
+
CopilotChatToggleButton,
|
|
133
|
+
CopilotChatToggleButton_default
|
|
134
|
+
};
|
|
135
|
+
//# sourceMappingURL=chunk-R5OLAA3L.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/chat/CopilotChatToggleButton.tsx"],"sourcesContent":["import React, { useState, MouseEvent } from \"react\";\nimport { MessageCircle, X } from \"lucide-react\";\n\nimport { renderSlot, SlotValue } from \"@/lib/slots\";\nimport { cn } from \"@/lib/utils\";\nimport {\n CopilotChatDefaultLabels,\n useCopilotChatConfiguration,\n} from \"@/providers/CopilotChatConfigurationProvider\";\n\nconst DefaultOpenIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({\n className,\n ...props\n}) => (\n <MessageCircle className={cn(\"h-6 w-6\", className)} strokeWidth={1.75} fill=\"currentColor\" {...props} />\n);\n\nconst DefaultCloseIcon: React.FC<React.SVGProps<SVGSVGElement>> = ({\n className,\n ...props\n}) => <X className={cn(\"h-6 w-6\", className)} strokeWidth={1.75} {...props} />;\n\nDefaultOpenIcon.displayName = \"CopilotChatToggleButton.OpenIcon\";\nDefaultCloseIcon.displayName = \"CopilotChatToggleButton.CloseIcon\";\n\nexport interface CopilotChatToggleButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"children\"> {\n /** Optional slot override for the chat (closed) icon. */\n openIcon?: SlotValue<typeof DefaultOpenIcon>;\n /** Optional slot override for the close icon. */\n closeIcon?: SlotValue<typeof DefaultCloseIcon>;\n}\n\nconst ICON_TRANSITION_STYLE: React.CSSProperties = Object.freeze({\n transition: \"opacity 120ms ease-out, transform 260ms cubic-bezier(0.22, 1, 0.36, 1)\",\n});\n\nconst ICON_WRAPPER_BASE =\n \"pointer-events-none absolute inset-0 flex items-center justify-center will-change-transform\";\n\nconst BUTTON_BASE_CLASSES = cn(\n \"fixed bottom-6 right-6 z-[1100] flex h-14 w-14 items-center justify-center\",\n \"rounded-full border border-primary bg-primary text-primary-foreground\",\n \"shadow-sm transition-all duration-200 ease-out\",\n \"hover:scale-[1.04] hover:shadow-md\",\n \"cursor-pointer\",\n \"active:scale-[0.96]\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n \"disabled:pointer-events-none disabled:opacity-60\"\n);\n\nexport const CopilotChatToggleButton = React.forwardRef<\n HTMLButtonElement,\n CopilotChatToggleButtonProps\n>(function CopilotChatToggleButton({ openIcon, closeIcon, className, ...buttonProps }, ref) {\n const { onClick, type, disabled, ...restProps } = buttonProps;\n\n const configuration = useCopilotChatConfiguration();\n const labels = configuration?.labels ?? CopilotChatDefaultLabels;\n\n const [fallbackOpen, setFallbackOpen] = useState(false);\n\n const isOpen = configuration?.isModalOpen ?? fallbackOpen;\n const setModalOpen = configuration?.setModalOpen ?? setFallbackOpen;\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n if (disabled) {\n return;\n }\n\n if (onClick) {\n onClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n const nextOpen = !isOpen;\n setModalOpen(nextOpen);\n };\n\n const renderedOpenIcon = renderSlot(\n openIcon,\n DefaultOpenIcon,\n {\n className: \"h-6 w-6\",\n \"aria-hidden\": true,\n focusable: false,\n }\n );\n\n const renderedCloseIcon = renderSlot(\n closeIcon,\n DefaultCloseIcon,\n {\n className: \"h-6 w-6\",\n \"aria-hidden\": true,\n focusable: false,\n }\n );\n\n const openIconElement = (\n <span\n aria-hidden=\"true\"\n data-slot=\"chat-toggle-button-open-icon\"\n className={ICON_WRAPPER_BASE}\n style={{\n ...ICON_TRANSITION_STYLE,\n opacity: isOpen ? 0 : 1,\n transform: `scale(${isOpen ? 0.75 : 1}) rotate(${isOpen ? 90 : 0}deg)`,\n }}\n >\n {renderedOpenIcon}\n </span>\n );\n\n const closeIconElement = (\n <span\n aria-hidden=\"true\"\n data-slot=\"chat-toggle-button-close-icon\"\n className={ICON_WRAPPER_BASE}\n style={{\n ...ICON_TRANSITION_STYLE,\n opacity: isOpen ? 1 : 0,\n transform: `scale(${isOpen ? 1 : 0.75}) rotate(${isOpen ? 0 : -90}deg)`,\n }}\n >\n {renderedCloseIcon}\n </span>\n );\n\n return (\n <button\n ref={ref}\n type={type ?? \"button\"}\n data-slot=\"chat-toggle-button\"\n data-state={isOpen ? \"open\" : \"closed\"}\n className={cn(BUTTON_BASE_CLASSES, className)}\n aria-label={isOpen ? labels.chatToggleCloseLabel : labels.chatToggleOpenLabel}\n aria-pressed={isOpen}\n disabled={disabled}\n onClick={handleClick}\n {...restProps}\n >\n {openIconElement}\n {closeIconElement}\n </button>\n );\n});\nCopilotChatToggleButton.displayName = \"CopilotChatToggleButton\";\nexport default CopilotChatToggleButton;\n\nexport {\n DefaultOpenIcon as CopilotChatToggleButtonOpenIcon,\n DefaultCloseIcon as CopilotChatToggleButtonCloseIcon,\n};\n"],"mappings":";;;;;;;;;;;;AAAA,OAAO,SAAS,gBAA4B;AAC5C,SAAS,eAAe,SAAS;AAa/B,cAuHE,YAvHF;AAJF,IAAM,kBAA2D,CAAC;AAAA,EAChE;AAAA,EACA,GAAG;AACL,MACE,oBAAC,iBAAc,WAAW,GAAG,WAAW,SAAS,GAAG,aAAa,MAAM,MAAK,gBAAgB,GAAG,OAAO;AAGxG,IAAM,mBAA4D,CAAC;AAAA,EACjE;AAAA,EACA,GAAG;AACL,MAAM,oBAAC,KAAE,WAAW,GAAG,WAAW,SAAS,GAAG,aAAa,MAAO,GAAG,OAAO;AAE5E,gBAAgB,cAAc;AAC9B,iBAAiB,cAAc;AAU/B,IAAM,wBAA6C,OAAO,OAAO;AAAA,EAC/D,YAAY;AACd,CAAC;AAED,IAAM,oBACJ;AAEF,IAAM,sBAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,0BAA0B,MAAM,WAG3C,SAASA,yBAAwB,EAAE,UAAU,WAAW,WAAW,GAAG,YAAY,GAAG,KAAK;AAC1F,QAAM,EAAE,SAAS,MAAM,UAAU,GAAG,UAAU,IAAI;AAElD,QAAM,gBAAgB,4BAA4B;AAClD,QAAM,SAAS,eAAe,UAAU;AAExC,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,KAAK;AAEtD,QAAM,SAAS,eAAe,eAAe;AAC7C,QAAM,eAAe,eAAe,gBAAgB;AAEpD,QAAM,cAAc,CAAC,UAAyC;AAC5D,QAAI,UAAU;AACZ;AAAA,IACF;AAEA,QAAI,SAAS;AACX,cAAQ,KAAK;AAAA,IACf;AAEA,QAAI,MAAM,kBAAkB;AAC1B;AAAA,IACF;AAEA,UAAM,WAAW,CAAC;AAClB,iBAAa,QAAQ;AAAA,EACvB;AAEA,QAAM,mBAAmB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW;AAAA,MACX,eAAe;AAAA,MACf,WAAW;AAAA,IACb;AAAA,EACF;AAEA,QAAM,oBAAoB;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW;AAAA,MACX,eAAe;AAAA,MACf,WAAW;AAAA,IACb;AAAA,EACF;AAEA,QAAM,kBACJ;AAAA,IAAC;AAAA;AAAA,MACC,eAAY;AAAA,MACZ,aAAU;AAAA,MACV,WAAW;AAAA,MACX,OAAO;AAAA,QACL,GAAG;AAAA,QACH,SAAS,SAAS,IAAI;AAAA,QACtB,WAAW,SAAS,SAAS,OAAO,CAAC,YAAY,SAAS,KAAK,CAAC;AAAA,MAClE;AAAA,MAEC;AAAA;AAAA,EACH;AAGF,QAAM,mBACJ;AAAA,IAAC;AAAA;AAAA,MACC,eAAY;AAAA,MACZ,aAAU;AAAA,MACV,WAAW;AAAA,MACX,OAAO;AAAA,QACL,GAAG;AAAA,QACH,SAAS,SAAS,IAAI;AAAA,QACtB,WAAW,SAAS,SAAS,IAAI,IAAI,YAAY,SAAS,IAAI,GAAG;AAAA,MACnE;AAAA,MAEC;AAAA;AAAA,EACH;AAGF,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,MAAM,QAAQ;AAAA,MACd,aAAU;AAAA,MACV,cAAY,SAAS,SAAS;AAAA,MAC9B,WAAW,GAAG,qBAAqB,SAAS;AAAA,MAC5C,cAAY,SAAS,OAAO,uBAAuB,OAAO;AAAA,MAC1D,gBAAc;AAAA,MACd;AAAA,MACA,SAAS;AAAA,MACR,GAAG;AAAA,MAEH;AAAA;AAAA,QACA;AAAA;AAAA;AAAA,EACH;AAEJ,CAAC;AACD,wBAAwB,cAAc;AACtC,IAAO,kCAAQ;","names":["CopilotChatToggleButton"]}
|