@ai-group/chat-sdk 2.1.13 → 3.0.1-alpha.2
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/cjs/components/XAdkChatbot/XAdkChatbot.stories.d.ts +9 -2
- package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js +564 -10
- package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.d.ts +12 -0
- package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.js +92 -0
- package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.js.map +7 -0
- package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.d.ts +44 -0
- package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.js +137 -0
- package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.js.map +7 -0
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +1 -1
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +41 -5
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +1 -0
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js +14 -3
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/index.d.ts +11 -1
- package/dist/cjs/components/XAdkChatbot/index.js +294 -108
- package/dist/cjs/components/XAdkChatbot/index.js.map +3 -3
- package/dist/cjs/components/XAdkChatbot/styles.d.ts +10 -0
- package/dist/cjs/components/XAdkChatbot/styles.js +67 -3
- package/dist/cjs/components/XAdkChatbot/styles.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.d.ts +10 -0
- package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js +394 -0
- package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
- package/dist/cjs/components/XAdkProvider/compound/Chatbot.js +64 -0
- package/dist/cjs/components/XAdkProvider/compound/Chatbot.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.d.ts +26 -0
- package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js +199 -0
- package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
- package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js +117 -0
- package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
- package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js +64 -0
- package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/Header.d.ts +25 -0
- package/dist/cjs/components/XAdkProvider/compound/Header.js +70 -0
- package/dist/cjs/components/XAdkProvider/compound/Header.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/Messages.d.ts +17 -0
- package/dist/cjs/components/XAdkProvider/compound/Messages.js +70 -0
- package/dist/cjs/components/XAdkProvider/compound/Messages.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/Sender.d.ts +27 -0
- package/dist/cjs/components/XAdkProvider/compound/Sender.js +55 -0
- package/dist/cjs/components/XAdkProvider/compound/Sender.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
- package/dist/cjs/components/XAdkProvider/compound/Sidebar.js +151 -0
- package/dist/cjs/components/XAdkProvider/compound/Sidebar.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/Welcome.d.ts +6 -0
- package/dist/cjs/components/XAdkProvider/compound/Welcome.js +60 -0
- package/dist/cjs/components/XAdkProvider/compound/Welcome.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/index.d.ts +17 -0
- package/dist/cjs/components/XAdkProvider/compound/index.js +55 -0
- package/dist/cjs/components/XAdkProvider/compound/index.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/styles.d.ts +36 -0
- package/dist/cjs/components/XAdkProvider/compound/styles.js +49 -0
- package/dist/cjs/components/XAdkProvider/compound/styles.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/context/ChatActionContext.d.ts +30 -0
- package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js +40 -0
- package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/context/ChatStateContext.d.ts +35 -0
- package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js +42 -0
- package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/context/SessionContext.d.ts +29 -0
- package/dist/cjs/components/XAdkProvider/context/SessionContext.js +40 -0
- package/dist/cjs/components/XAdkProvider/context/SessionContext.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/context/index.d.ts +7 -0
- package/dist/cjs/components/XAdkProvider/context/index.js +28 -0
- package/dist/cjs/components/XAdkProvider/context/index.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/index.d.ts +55 -0
- package/dist/cjs/components/XAdkProvider/index.js +221 -0
- package/dist/cjs/components/XAdkProvider/index.js.map +7 -0
- package/dist/cjs/components/{XAdkWebProvider → XAdkProvider}/styles.js +2 -1
- package/dist/cjs/components/XAdkProvider/styles.js.map +7 -0
- package/dist/cjs/components/XAdkSender/FileGallery.d.ts +8 -0
- package/dist/cjs/components/XAdkSender/FileGallery.js +381 -0
- package/dist/cjs/components/XAdkSender/FileGallery.js.map +7 -0
- package/dist/cjs/components/XAdkSender/index.js +95 -81
- package/dist/cjs/components/XAdkSender/index.js.map +3 -3
- package/dist/cjs/components/XAdkSender/styles.d.ts +0 -9
- package/dist/cjs/components/XAdkSender/styles.js +21 -150
- package/dist/cjs/components/XAdkSender/styles.js.map +2 -2
- package/dist/cjs/components/XAiConversations/index.js +1 -1
- package/dist/cjs/components/XAiConversations/index.js.map +2 -2
- package/dist/cjs/components/XAiConversations/styles.js +5 -0
- package/dist/cjs/components/XAiConversations/styles.js.map +2 -2
- package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +6 -0
- package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js +180 -0
- package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +7 -0
- package/dist/cjs/components/XAiThoughtChain/index.d.ts +4 -0
- package/dist/cjs/components/XAiThoughtChain/index.js +155 -0
- package/dist/cjs/components/XAiThoughtChain/index.js.map +7 -0
- package/dist/cjs/components/XAiThoughtChain/styles.d.ts +60 -0
- package/dist/cjs/components/XAiThoughtChain/styles.js +195 -0
- package/dist/cjs/components/XAiThoughtChain/styles.js.map +7 -0
- package/dist/cjs/hooks/useADKChat.d.ts +9 -3
- package/dist/cjs/hooks/useADKChat.js +246 -182
- package/dist/cjs/hooks/useADKChat.js.map +2 -2
- package/dist/cjs/index.d.ts +25 -9
- package/dist/cjs/index.js +37 -0
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/styles/common.js +1 -1
- package/dist/cjs/styles/common.js.map +2 -2
- package/dist/cjs/types/ChatHook.d.ts +81 -0
- package/dist/cjs/types/ChatHook.js +18 -0
- package/dist/cjs/types/ChatHook.js.map +7 -0
- package/dist/cjs/types/XAdkChatbot.d.ts +80 -15
- package/dist/cjs/types/XAdkChatbot.js.map +1 -1
- package/dist/cjs/types/XAdkProvider.d.ts +10 -27
- package/dist/cjs/types/XAdkProvider.js.map +2 -2
- package/dist/cjs/types/XAdkSender.d.ts +18 -0
- package/dist/cjs/types/XAdkSender.js.map +1 -1
- package/dist/cjs/types/XAiConversations.d.ts +4 -2
- package/dist/cjs/types/XAiConversations.js.map +1 -1
- package/dist/cjs/types/XAiThoughtChain.d.ts +25 -0
- package/dist/cjs/types/XAiThoughtChain.js +18 -0
- package/dist/cjs/types/XAiThoughtChain.js.map +7 -0
- package/dist/cjs/types/index.d.ts +9 -8
- package/dist/cjs/types/index.js +2 -0
- package/dist/cjs/types/index.js.map +2 -2
- package/dist/cjs/utils/index.d.ts +2 -0
- package/dist/cjs/utils/index.js +11 -1
- package/dist/cjs/utils/index.js.map +2 -2
- package/dist/cjs/utils/parseAgentMessage.d.ts +81 -0
- package/dist/cjs/utils/parseAgentMessage.js +180 -0
- package/dist/cjs/utils/parseAgentMessage.js.map +7 -0
- package/dist/cjs/utils/umdEntry.d.ts +91 -0
- package/dist/cjs/utils/umdEntry.js +108 -6
- package/dist/cjs/utils/umdEntry.js.map +3 -3
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.d.ts +9 -2
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js +485 -8
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/components/FileGallery/index.d.ts +12 -0
- package/dist/esm/components/XAdkChatbot/components/FileGallery/index.js +104 -0
- package/dist/esm/components/XAdkChatbot/components/FileGallery/index.js.map +1 -0
- package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.d.ts +44 -0
- package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.js +20 -0
- package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.js.map +1 -0
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +1 -1
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +17 -15
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +1 -0
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js +7 -6
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/index.d.ts +11 -1
- package/dist/esm/components/XAdkChatbot/index.js +392 -174
- package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/styles.d.ts +10 -0
- package/dist/esm/components/XAdkChatbot/styles.js +23 -12
- package/dist/esm/components/XAdkChatbot/styles.js.map +1 -1
- package/dist/esm/components/XAdkProvider/XAdkProvider.stories.d.ts +10 -0
- package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js +338 -0
- package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
- package/dist/esm/components/XAdkProvider/compound/Chatbot.js +47 -0
- package/dist/esm/components/XAdkProvider/compound/Chatbot.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/DefaultLayout.d.ts +26 -0
- package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js +142 -0
- package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
- package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js +122 -0
- package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
- package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js +34 -0
- package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/Header.d.ts +25 -0
- package/dist/esm/components/XAdkProvider/compound/Header.js +79 -0
- package/dist/esm/components/XAdkProvider/compound/Header.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/Messages.d.ts +17 -0
- package/dist/esm/components/XAdkProvider/compound/Messages.js +53 -0
- package/dist/esm/components/XAdkProvider/compound/Messages.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/Sender.d.ts +27 -0
- package/dist/esm/components/XAdkProvider/compound/Sender.js +41 -0
- package/dist/esm/components/XAdkProvider/compound/Sender.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
- package/dist/esm/components/XAdkProvider/compound/Sidebar.js +142 -0
- package/dist/esm/components/XAdkProvider/compound/Sidebar.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/Welcome.d.ts +6 -0
- package/dist/esm/components/XAdkProvider/compound/Welcome.js +36 -0
- package/dist/esm/components/XAdkProvider/compound/Welcome.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/index.d.ts +17 -0
- package/dist/esm/components/XAdkProvider/compound/index.js +13 -0
- package/dist/esm/components/XAdkProvider/compound/index.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/styles.d.ts +36 -0
- package/dist/esm/components/XAdkProvider/compound/styles.js +10 -0
- package/dist/esm/components/XAdkProvider/compound/styles.js.map +1 -0
- package/dist/esm/components/XAdkProvider/context/ChatActionContext.d.ts +30 -0
- package/dist/esm/components/XAdkProvider/context/ChatActionContext.js +23 -0
- package/dist/esm/components/XAdkProvider/context/ChatActionContext.js.map +1 -0
- package/dist/esm/components/XAdkProvider/context/ChatStateContext.d.ts +35 -0
- package/dist/esm/components/XAdkProvider/context/ChatStateContext.js +23 -0
- package/dist/esm/components/XAdkProvider/context/ChatStateContext.js.map +1 -0
- package/dist/esm/components/XAdkProvider/context/SessionContext.d.ts +29 -0
- package/dist/esm/components/XAdkProvider/context/SessionContext.js +22 -0
- package/dist/esm/components/XAdkProvider/context/SessionContext.js.map +1 -0
- package/dist/esm/components/XAdkProvider/context/index.d.ts +7 -0
- package/dist/esm/components/XAdkProvider/context/index.js +9 -0
- package/dist/esm/components/XAdkProvider/context/index.js.map +1 -0
- package/dist/esm/components/XAdkProvider/index.d.ts +55 -0
- package/dist/esm/components/XAdkProvider/index.js +220 -0
- package/dist/esm/components/XAdkProvider/index.js.map +1 -0
- package/dist/esm/components/{XAdkWebProvider → XAdkProvider}/styles.js +2 -2
- package/dist/esm/components/XAdkProvider/styles.js.map +1 -0
- package/dist/esm/components/XAdkSender/FileGallery.d.ts +8 -0
- package/dist/esm/components/XAdkSender/FileGallery.js +236 -0
- package/dist/esm/components/XAdkSender/FileGallery.js.map +1 -0
- package/dist/esm/components/XAdkSender/index.js +92 -109
- package/dist/esm/components/XAdkSender/index.js.map +1 -1
- package/dist/esm/components/XAdkSender/styles.d.ts +0 -9
- package/dist/esm/components/XAdkSender/styles.js +14 -31
- package/dist/esm/components/XAdkSender/styles.js.map +1 -1
- package/dist/esm/components/XAiConversations/index.js +1 -1
- package/dist/esm/components/XAiConversations/index.js.map +1 -1
- package/dist/esm/components/XAiConversations/styles.js +2 -2
- package/dist/esm/components/XAiConversations/styles.js.map +1 -1
- package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +6 -0
- package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js +159 -0
- package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +1 -0
- package/dist/esm/components/XAiThoughtChain/index.d.ts +4 -0
- package/dist/esm/components/XAiThoughtChain/index.js +180 -0
- package/dist/esm/components/XAiThoughtChain/index.js.map +1 -0
- package/dist/esm/components/XAiThoughtChain/styles.d.ts +60 -0
- package/dist/esm/components/XAiThoughtChain/styles.js +40 -0
- package/dist/esm/components/XAiThoughtChain/styles.js.map +1 -0
- package/dist/esm/hooks/useADKChat.d.ts +9 -3
- package/dist/esm/hooks/useADKChat.js +75 -54
- package/dist/esm/hooks/useADKChat.js.map +1 -1
- package/dist/esm/index.d.ts +25 -9
- package/dist/esm/index.js +28 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/styles/common.js +11 -11
- package/dist/esm/styles/common.js.map +1 -1
- package/dist/esm/types/ChatHook.d.ts +81 -0
- package/dist/esm/types/ChatHook.js +2 -0
- package/dist/esm/types/ChatHook.js.map +1 -0
- package/dist/esm/types/XAdkChatbot.d.ts +80 -15
- package/dist/esm/types/XAdkChatbot.js.map +1 -1
- package/dist/esm/types/XAdkProvider.d.ts +10 -27
- package/dist/esm/types/XAdkProvider.js.map +1 -1
- package/dist/esm/types/XAdkSender.d.ts +18 -0
- package/dist/esm/types/XAdkSender.js.map +1 -1
- package/dist/esm/types/XAiConversations.d.ts +4 -2
- package/dist/esm/types/XAiConversations.js.map +1 -1
- package/dist/esm/types/XAiThoughtChain.d.ts +25 -0
- package/dist/esm/types/XAiThoughtChain.js +2 -0
- package/dist/esm/types/XAiThoughtChain.js.map +1 -0
- package/dist/esm/types/index.d.ts +9 -8
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/utils/index.d.ts +2 -0
- package/dist/esm/utils/index.js +7 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/parseAgentMessage.d.ts +81 -0
- package/dist/esm/utils/parseAgentMessage.js +286 -0
- package/dist/esm/utils/parseAgentMessage.js.map +1 -0
- package/dist/esm/utils/umdEntry.d.ts +91 -0
- package/dist/esm/utils/umdEntry.js +154 -16
- package/dist/esm/utils/umdEntry.js.map +1 -1
- package/dist/umd/chat-sdk.min.css +1 -1
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +20 -11
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +0 -7
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +0 -160
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +0 -7
- package/dist/cjs/components/XAdkWebProvider/index.d.ts +0 -4
- package/dist/cjs/components/XAdkWebProvider/index.js +0 -372
- package/dist/cjs/components/XAdkWebProvider/index.js.map +0 -7
- package/dist/cjs/components/XAdkWebProvider/styles.js.map +0 -7
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +0 -7
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +0 -158
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +0 -1
- package/dist/esm/components/XAdkWebProvider/index.d.ts +0 -4
- package/dist/esm/components/XAdkWebProvider/index.js +0 -480
- package/dist/esm/components/XAdkWebProvider/index.js.map +0 -1
- package/dist/esm/components/XAdkWebProvider/styles.js.map +0 -1
- /package/dist/cjs/components/{XAdkWebProvider → XAdkProvider}/styles.d.ts +0 -0
- /package/dist/esm/components/{XAdkWebProvider → XAdkProvider}/styles.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["css","withBasicStyles","useStyles","container","_templateObject","_taggedTemplateLiteral","
|
|
1
|
+
{"version":3,"names":["css","withBasicStyles","useStyles","container","_templateObject","_taggedTemplateLiteral","mainArea","_templateObject2","senderWrap","_templateObject3","inputAndButtons","_templateObject4","textAreaWrapper","_templateObject5","textArea","_templateObject6","buttonGroup","_templateObject7","iconButton","_templateObject8","clearButton","_templateObject9","uploadButton","_templateObject10","sendButton","_templateObject11","tip","_templateObject12"],"sources":["../../../../src/components/XAdkSender/styles.tsx"],"sourcesContent":["import { css } from \"@emotion/css\";\nimport { withBasicStyles } from \"@/styles/common\";\n\nexport const useStyles = withBasicStyles(() => ({\n // 容器样式 - 最外层边框\n container: css`\n background: #fff;\n position: relative;\n overflow: hidden;\n padding: 10px 15px;\n overflow: visible;\n border: 2px solid transparent;\n transition: all 0.3s ease;\n\n &.drag-over {\n border: 2px dashed #000;\n background: rgba(0, 0, 0, 0.02);\n }\n `,\n\n\n // 主内容区域\n mainArea: css`\n //\n `,\n\n // 发送区域\n senderWrap: css`\n display: flex;\n align-items: center;\n gap: 12px;\n background: var(--yb-input-bg-color);\n border: 0.5px solid var(--widget-line, rgba(0, 0, 0, 0.08));\n border-radius: 20px;\n box-sizing: border-box;\n caret-color: var(--yb-input-caret-color);\n flex: auto;\n font-size: 14px;\n gap: 6px;\n line-height: 22px;\n padding: 7px 12px 7px 7px;\n position: relative;\n transition-duration: 0.2s;\n transition-property:\n color, background-color, border-color, text-decoration-color, fill,\n stroke, box-shadow;\n transition-timing-function: linear;\n box-shadow: 0 6px 30px 0 rgba(0, 0, 0, 0.08);\n `,\n\n // 输入框和按钮容器\n inputAndButtons: css`\n flex: 1;\n display: flex;\n align-items: flex-end;\n gap: 8px;\n `,\n\n // 文本输入框容器\n textAreaWrapper: css`\n flex: 1;\n display: flex;\n align-items: center;\n background: #fff;\n padding: 0 16px;\n min-height: 44px;\n\n /* 移除所有蓝色效果 */\n &:focus-within {\n border-color: #d9d9d9;\n box-shadow: none;\n }\n\n .ant-input:disabled {\n background: transparent !important;\n }\n\n &::placeholder {\n color: #bfbfbf;\n }\n `,\n\n // 文本输入框\n textArea: css`\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n line-height: 1.5;\n padding: 12px 0;\n outline: none;\n color: #262626;\n `,\n\n // 按钮组\n buttonGroup: css`\n display: flex;\n gap: 8px;\n align-items: center;\n height: 44px;\n `,\n\n // 按钮统一样式\n iconButton: css`\n width: 36px;\n height: 36px;\n min-width: 36px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n\n &:hover {\n transform: translateY(-1px);\n }\n\n &:active {\n transform: translateY(0);\n }\n `,\n\n // 清空按钮\n clearButton: css`\n border: 1px solid #f0f0f0;\n background: #fff;\n color: #8c8c8c;\n\n &:hover {\n border-color: #d9d9d9;\n color: #262626;\n background: #fafafa;\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n `,\n\n // 上传按钮\n uploadButton: css`\n border: 1px solid #f0f0f0;\n background: #fff;\n\n &:hover {\n //\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n border-color: #f0f0f0;\n background: #fafafa;\n }\n `,\n\n // 发送按钮\n sendButton: css`\n background: #000;\n border: none;\n color: #fff;\n\n &:hover:not(:disabled) {\n background: #333; /* 悬停状态 */\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: #cccccc;\n color: #fff;\n }\n\n &.stop {\n //\n\n &:hover:not(:disabled) {\n //\n }\n\n &:disabled {\n background: #cccccc; /* 禁用状态也保持淡灰色 */\n }\n }\n `,\n\n // 底部提示\n tip: css`\n margin: 12px 0;\n text-align: center;\n font-size: 12px;\n color: #8c8c8c;\n `,\n}));\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,cAAc;AAClC,SAASC,eAAe;AAExB,OAAO,IAAMC,SAAS,GAAGD,eAAe,CAAC;EAAA,OAAO;IAC9C;IACAE,SAAS,EAAEH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,sBAAA,4SAab;IAGD;IACAC,QAAQ,EAAEN,GAAG,CAAAO,gBAAA,KAAAA,gBAAA,GAAAF,sBAAA,oBAEZ;IAED;IACAG,UAAU,EAAER,GAAG,CAAAS,gBAAA,KAAAA,gBAAA,GAAAJ,sBAAA,gqBAqBd;IAED;IACAK,eAAe,EAAEV,GAAG,CAAAW,gBAAA,KAAAA,gBAAA,GAAAN,sBAAA,yFAKnB;IAED;IACAO,eAAe,EAAEZ,GAAG,CAAAa,gBAAA,KAAAA,gBAAA,GAAAR,sBAAA,maAqBnB;IAED;IACAS,QAAQ,EAAEd,GAAG,CAAAe,gBAAA,KAAAA,gBAAA,GAAAV,sBAAA,uLASZ;IAED;IACAW,WAAW,EAAEhB,GAAG,CAAAiB,gBAAA,KAAAA,gBAAA,GAAAZ,sBAAA,4FAKf;IAED;IACAa,UAAU,EAAElB,GAAG,CAAAmB,gBAAA,KAAAA,gBAAA,GAAAd,sBAAA,kUAiBd;IAED;IACAe,WAAW,EAAEpB,GAAG,CAAAqB,gBAAA,KAAAA,gBAAA,GAAAhB,sBAAA,6QAef;IAED;IACAiB,YAAY,EAAEtB,GAAG,CAAAuB,iBAAA,KAAAA,iBAAA,GAAAlB,sBAAA,2OAchB;IAED;IACAmB,UAAU,EAAExB,GAAG,CAAAyB,iBAAA,KAAAA,iBAAA,GAAApB,sBAAA,2fA2Bd;IAED;IACAqB,GAAG,EAAE1B,GAAG,CAAA2B,iBAAA,KAAAA,iBAAA,GAAAtB,sBAAA;EAMV,CAAC;AAAA,CAAC,CAAC"}
|
|
@@ -54,7 +54,7 @@ var XAiConversations = function XAiConversations(props) {
|
|
|
54
54
|
};
|
|
55
55
|
return /*#__PURE__*/_jsxs("div", {
|
|
56
56
|
className: styles.conversationsWrapper,
|
|
57
|
-
children: [/*#__PURE__*/_jsx(GlobalStyle, {}),
|
|
57
|
+
children: [/*#__PURE__*/_jsx(GlobalStyle, {}), !listVisible && /*#__PURE__*/_jsxs("div", {
|
|
58
58
|
className: styles.capWrapper,
|
|
59
59
|
children: [/*#__PURE__*/_jsx("img", {
|
|
60
60
|
alt: "logo",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","Conversations","RedoOutlined","Spin","Divider","InfiniteScroll","clsx","useChatbotContext","logo","AddChatIcon","flashOpen","SESSION_PAGE_SIZE","useStyles","GlobalStyle","jsx","_jsx","jsxs","_jsxs","XAiConversations","props","styles","_useChatbotContext","mergedProps","_mergedProps$isNarrow","isNarrow","sessionList","style","onActiveChange","onNewChat","loadMoreSessions","activeKey","menu","_useState","_useState2","_slicedToArray","listVisible","setListVisible","_useState3","_useState4","animateDirection","setAnimateDirection","handleSwitchTab","key","handleNewChat","handleShowList","handleCloseList","setTimeout","className","conversationsWrapper","children","capWrapper","alt","src","w","h","capShape","capIcon","onClick","text","display","nWrapper","fWrapper","slideIn","slideOut","fheaderWrapper","addChatBtn","mr","tipTitle","scrollList","dataLength","length","next","hasMore","loader","textAlign","indicator","spin","size","endMessage","plain","textColor","overflow","paddingBottom","v","items","_objectSpread","width","borderRadius","mask"],"sources":["../../../../src/components/XAiConversations/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Conversations } from '@ant-design/x';\nimport { RedoOutlined } from '@ant-design/icons';\nimport { Spin, Divider } from 'antd';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport clsx from 'clsx';\nimport { useChatbotContext } from '@/hooks/useProviderContext';\nimport { type XAiConversationsProps } from '@/types/XAiConversations';\nimport logo from '@/assets/logo.png';\nimport AddChatIcon from '@/assets/svg/AddChatIcon';\nimport flashOpen from '@/assets/flash-open.svg?url';\nimport { SESSION_PAGE_SIZE } from '@/constants';\nimport { useStyles, GlobalStyle } from './styles';\n\nconst XAiConversations: React.FC<XAiConversationsProps> = (props) => {\n const styles = useStyles();\n const { mergedProps } = useChatbotContext(props);\n const {\n isNarrow = false,\n sessionList,\n style,\n onActiveChange,\n onNewChat,\n loadMoreSessions,\n activeKey,\n menu,\n } = mergedProps;\n\n const [listVisible, setListVisible] = useState(false);\n const [animateDirection, setAnimateDirection] = useState<'in' | 'out' | null>(null);\n\n const handleSwitchTab = (key: string) => {\n onActiveChange?.(key);\n };\n\n const handleNewChat = () => {\n onNewChat?.();\n };\n\n const handleShowList = () => {\n setListVisible(true);\n setAnimateDirection('in');\n };\n\n const handleCloseList = () => {\n setAnimateDirection('out');\n setTimeout(() => {\n setListVisible(false);\n setAnimateDirection(null);\n }, 300);\n };\n\n return (\n <div className={styles.conversationsWrapper}>\n <GlobalStyle />\n {/** 顶部操作栏 */}\n {\n (!listVisible || isNarrow) && (\n <div className={styles.capWrapper}>\n <img alt=\"logo\" src={logo} className={clsx(styles.w(32), styles.h(29))} />\n <div className={styles.capShape}>\n <div className={styles.capIcon}>\n <img src={flashOpen} alt=\"\" onClick={handleShowList} />\n </div>\n <div className={styles.capIcon}>\n <AddChatIcon className={clsx(styles.w(17), styles.text('#343434'))} onClick={handleNewChat} />\n </div>\n </div>\n </div>\n )\n }\n\n {/* 会话列表 */}\n <div\n style={{ display: listVisible ? 'block' : 'none' }}\n className={clsx(\n isNarrow ? styles.nWrapper : styles.fWrapper,\n animateDirection === 'in' && styles.slideIn,\n animateDirection === 'out' && styles.slideOut,\n )}\n >\n {/* 固定头部 */}\n <div className={styles.fheaderWrapper}>\n <img alt=\"logo\" src={logo} className={clsx(styles.w(32), styles.h(29))} />\n <div className={styles.capIcon}>\n <img src={flashOpen} alt=\"\" onClick={handleCloseList} />\n </div>\n </div>\n <div className={styles.addChatBtn} onClick={handleNewChat}>\n <AddChatIcon className={clsx(styles.w(17), styles.mr(10))} />\n 开启新对话\n </div>\n <div className={styles.tipTitle}>历史对话</div>\n\n {/* 滚动区域 */}\n <div className={styles.scrollList}>\n <InfiniteScroll\n dataLength={sessionList.length}\n next={loadMoreSessions}\n hasMore={false}\n loader={(\n <div style={{ textAlign: 'center' }}>\n <Spin indicator={<RedoOutlined spin />} size=\"small\" />\n </div>\n )}\n endMessage={sessionList.length === SESSION_PAGE_SIZE && <Divider plain><span className={styles.textColor('#949494')}>只展示前 50 条数据</span></Divider>}\n style={{ overflow: 'hidden', paddingBottom: '5px' }}\n >\n <Conversations\n activeKey={activeKey}\n onActiveChange={(v) => handleSwitchTab(v)}\n items={sessionList}\n menu={menu}\n style={{\n width: 256,\n borderRadius: '6px',\n ...style,\n }}\n />\n </InfiniteScroll>\n </div>\n </div>\n\n {/* 遮罩层 - 仅在窄屏且列表可见时显示 */}\n {isNarrow && listVisible && (\n <div className={styles.mask} onClick={handleCloseList} />\n )}\n </div>\n );\n};\n\nexport default XAiConversations;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useState","Conversations","RedoOutlined","Spin","Divider","InfiniteScroll","clsx","useChatbotContext","logo","AddChatIcon","flashOpen","SESSION_PAGE_SIZE","useStyles","GlobalStyle","jsx","_jsx","jsxs","_jsxs","XAiConversations","props","styles","_useChatbotContext","mergedProps","_mergedProps$isNarrow","isNarrow","sessionList","style","onActiveChange","onNewChat","loadMoreSessions","activeKey","menu","_useState","_useState2","_slicedToArray","listVisible","setListVisible","_useState3","_useState4","animateDirection","setAnimateDirection","handleSwitchTab","key","handleNewChat","handleShowList","handleCloseList","setTimeout","className","conversationsWrapper","children","capWrapper","alt","src","w","h","capShape","capIcon","onClick","text","display","nWrapper","fWrapper","slideIn","slideOut","fheaderWrapper","addChatBtn","mr","tipTitle","scrollList","dataLength","length","next","hasMore","loader","textAlign","indicator","spin","size","endMessage","plain","textColor","overflow","paddingBottom","v","items","_objectSpread","width","borderRadius","mask"],"sources":["../../../../src/components/XAiConversations/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Conversations } from '@ant-design/x';\nimport { RedoOutlined } from '@ant-design/icons';\nimport { Spin, Divider } from 'antd';\nimport InfiniteScroll from 'react-infinite-scroll-component';\nimport clsx from 'clsx';\nimport { useChatbotContext } from '@/hooks/useProviderContext';\nimport { type XAiConversationsProps } from '@/types/XAiConversations';\nimport logo from '@/assets/logo.png';\nimport AddChatIcon from '@/assets/svg/AddChatIcon';\nimport flashOpen from '@/assets/flash-open.svg?url';\nimport { SESSION_PAGE_SIZE } from '@/constants';\nimport { useStyles, GlobalStyle } from './styles';\n\nconst XAiConversations: React.FC<XAiConversationsProps> = (props) => {\n const styles = useStyles();\n const { mergedProps } = useChatbotContext(props);\n const {\n isNarrow = false,\n sessionList,\n style,\n onActiveChange,\n onNewChat,\n loadMoreSessions,\n activeKey,\n menu,\n } = mergedProps;\n\n const [listVisible, setListVisible] = useState(false);\n const [animateDirection, setAnimateDirection] = useState<'in' | 'out' | null>(null);\n\n const handleSwitchTab = (key: string) => {\n onActiveChange?.(key);\n };\n\n const handleNewChat = () => {\n onNewChat?.();\n };\n\n const handleShowList = () => {\n setListVisible(true);\n setAnimateDirection('in');\n };\n\n const handleCloseList = () => {\n setAnimateDirection('out');\n setTimeout(() => {\n setListVisible(false);\n setAnimateDirection(null);\n }, 300);\n };\n\n return (\n <div className={styles.conversationsWrapper}>\n <GlobalStyle />\n {/** 顶部操作栏 */}\n {\n !listVisible && (\n <div className={styles.capWrapper}>\n <img alt=\"logo\" src={logo} className={clsx(styles.w(32), styles.h(29))} />\n <div className={styles.capShape}>\n <div className={styles.capIcon}>\n <img src={flashOpen} alt=\"\" onClick={handleShowList} />\n </div>\n <div className={styles.capIcon}>\n <AddChatIcon className={clsx(styles.w(17), styles.text('#343434'))} onClick={handleNewChat} />\n </div>\n </div>\n </div>\n )\n }\n\n {/* 会话列表 */}\n <div\n style={{ display: listVisible ? 'block' : 'none' }}\n className={clsx(\n isNarrow ? styles.nWrapper : styles.fWrapper,\n animateDirection === 'in' && styles.slideIn,\n animateDirection === 'out' && styles.slideOut,\n )}\n >\n {/* 固定头部 */}\n <div className={styles.fheaderWrapper}>\n <img alt=\"logo\" src={logo} className={clsx(styles.w(32), styles.h(29))} />\n <div className={styles.capIcon}>\n <img src={flashOpen} alt=\"\" onClick={handleCloseList} />\n </div>\n </div>\n <div className={styles.addChatBtn} onClick={handleNewChat}>\n <AddChatIcon className={clsx(styles.w(17), styles.mr(10))} />\n 开启新对话\n </div>\n <div className={styles.tipTitle}>历史对话</div>\n\n {/* 滚动区域 */}\n <div className={styles.scrollList}>\n <InfiniteScroll\n dataLength={sessionList.length}\n next={loadMoreSessions}\n hasMore={false}\n loader={(\n <div style={{ textAlign: 'center' }}>\n <Spin indicator={<RedoOutlined spin />} size=\"small\" />\n </div>\n )}\n endMessage={sessionList.length === SESSION_PAGE_SIZE && <Divider plain><span className={styles.textColor('#949494')}>只展示前 50 条数据</span></Divider>}\n style={{ overflow: 'hidden', paddingBottom: '5px' }}\n >\n <Conversations\n activeKey={activeKey}\n onActiveChange={(v) => handleSwitchTab(v)}\n items={sessionList}\n menu={menu}\n style={{\n width: 256,\n borderRadius: '6px',\n ...style,\n }}\n />\n </InfiniteScroll>\n </div>\n </div>\n\n {/* 遮罩层 - 仅在窄屏且列表可见时显示 */}\n {isNarrow && listVisible && (\n <div className={styles.mask} onClick={handleCloseList} />\n )}\n </div>\n );\n};\n\nexport default XAiConversations;\n"],"mappings":"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"}
|
|
@@ -16,13 +16,13 @@ var slideOutRight = keyframes(_templateObject2 || (_templateObject2 = _taggedTem
|
|
|
16
16
|
export var useStyles = withBasicStyles(function () {
|
|
17
17
|
return {
|
|
18
18
|
// 静态样式
|
|
19
|
-
conversationsWrapper: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n overflow: hidden;\n "]))),
|
|
19
|
+
conversationsWrapper: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n overflow: hidden;\n display: flex;\n flex-direction: column;\n height: 100%;\n "]))),
|
|
20
20
|
capWrapper: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n padding: 12px 16px;\n display: flex;\n align-items: center;\n "]))),
|
|
21
21
|
capShape: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n height: 40px;\n margin-left: 16px;\n background: #FFFFFF;\n box-shadow: 0px 4px 16px 0px rgba(127,135,166,0.08);\n border-radius: 24px;\n border: 1px solid #E7E7E7;\n box-sizing: border-box;\n transition: box-shadow 0.2s, border-color 0.2s;\n cursor: pointer;\n /* &:hover {\n box-shadow: 0px 4px 24px 0px rgba(127,135,166,0.16);\n border-color: ", ";\n } */\n "])), primaryBlue),
|
|
22
22
|
capIcon: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n img {\n width: 17px;\n }\n\n &:hover {\n background: #F2F2F2;\n border-radius: 50%;\n }\n "]))),
|
|
23
23
|
addChatBtn: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n width: 256px;\n height: 40px;\n margin: 17px auto 24px;\n background: #FFFFFF;\n border-radius: 20px;\n border: 1px solid #E7E7E7;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: #343434;\n\n &:hover {\n color: #3961F2;\n }\n\n &:active {\n color: #0A3BEE;\n }\n "]))),
|
|
24
24
|
tipTitle: css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n font-size: 12px;\n color: #949494;\n padding-left: 24px;\n "]))),
|
|
25
|
-
fWrapper: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n background: #F8FBFF;\n padding: 16px 0 13px;\n width: 280px;\n height: 100%;\n box-sizing: border-box;\n position: relative;\n "]))),
|
|
25
|
+
fWrapper: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n background: #F8FBFF;\n padding: 16px 0 13px;\n width: 280px;\n height: 100%;\n box-sizing: border-box;\n position: relative;\n flex-shrink: 0;\n border-right: 1px solid #f0f0f0;\n "]))),
|
|
26
26
|
nWrapper: css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n width: 280px;\n height: 100%;\n z-index: 1000;\n transition: left 0.3s ease;\n background: #F8FBFF;\n padding: 16px 0 13px;\n box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);\n "]))),
|
|
27
27
|
mask: css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.15);\n z-index: 999;\n cursor: pointer;\n "]))),
|
|
28
28
|
fheaderWrapper: css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 11px 0 16px;\n "]))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","css","keyframes","globalCss","Global","withBasicStyles","jsx","_jsx","primaryBlue","lightBlue","darkGray","lightGray","borderGray","slideInRight","_templateObject","_taggedTemplateLiteral","slideOutRight","_templateObject2","useStyles","conversationsWrapper","_templateObject3","capWrapper","_templateObject4","capShape","_templateObject5","capIcon","_templateObject6","addChatBtn","_templateObject7","tipTitle","_templateObject8","fWrapper","_templateObject9","nWrapper","_templateObject10","mask","_templateObject11","fheaderWrapper","_templateObject12","scrollList","_templateObject13","slideIn","_templateObject14","slideOut","_templateObject15","GlobalStyle","styles","_templateObject16"],"sources":["../../../../src/components/XAiConversations/styles.tsx"],"sourcesContent":["import React from 'react';\nimport { css, keyframes } from '@emotion/css';\nimport { css as globalCss, Global } from '@emotion/react';\nimport { withBasicStyles } from '@/styles/common';\n\nconst primaryBlue = '#0078FF'; // 主蓝色\nconst lightBlue = '#E6F0FF'; // 浅蓝色气泡背景\nconst darkGray = '#333'; // 深灰色文本\nconst lightGray = '#888'; // 浅灰文本\nconst borderGray = '#ddd'; // 边框灰色\n\nconst slideInRight = keyframes`\n from { transform: translateX(-100%); opacity: 0; }\n to { transform: translateX(0); opacity: 1; }\n`;\n\nconst slideOutRight = keyframes`\n from { transform: translateX(0); opacity: 1; }\n to { transform: translateX(-100%); opacity: 0; }\n`;\n\nexport const useStyles = withBasicStyles(() => ({\n // 静态样式\n conversationsWrapper: css`\n overflow: hidden;\n `,\n\n capWrapper: css`\n padding: 12px 16px;\n display: flex;\n align-items: center;\n `,\n\n capShape: css`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n height: 40px;\n margin-left: 16px;\n background: #FFFFFF;\n box-shadow: 0px 4px 16px 0px rgba(127,135,166,0.08);\n border-radius: 24px;\n border: 1px solid #E7E7E7;\n box-sizing: border-box;\n transition: box-shadow 0.2s, border-color 0.2s;\n cursor: pointer;\n /* &:hover {\n box-shadow: 0px 4px 24px 0px rgba(127,135,166,0.16);\n border-color: ${primaryBlue};\n } */\n `,\n\n capIcon: css`\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n img {\n width: 17px;\n }\n\n &:hover {\n background: #F2F2F2;\n border-radius: 50%;\n }\n `,\n\n addChatBtn: css`\n width: 256px;\n height: 40px;\n margin: 17px auto 24px;\n background: #FFFFFF;\n border-radius: 20px;\n border: 1px solid #E7E7E7;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: #343434;\n\n &:hover {\n color: #3961F2;\n }\n\n &:active {\n color: #0A3BEE;\n }\n `,\n\n tipTitle: css`\n font-size: 12px;\n color: #949494;\n padding-left: 24px;\n `,\n\n fWrapper: css`\n background: #F8FBFF;\n padding: 16px 0 13px;\n width: 280px;\n height: 100%;\n box-sizing: border-box;\n position: relative;\n `,\n\n nWrapper: css`\n position: absolute;\n top: 0;\n left: 0;\n width: 280px;\n height: 100%;\n z-index: 1000;\n transition: left 0.3s ease;\n background: #F8FBFF;\n padding: 16px 0 13px;\n box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);\n `,\n\n mask: css`\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.15);\n z-index: 999;\n cursor: pointer;\n `,\n\n fheaderWrapper: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 11px 0 16px;\n `,\n\n scrollList: css`\n max-height: calc(100vh - 120px); /* 120px为头部高度,可根据实际调整 */\n padding-bottom: 15px;\n overflow-y: auto;\n\n /* 隐藏滚动条(Chrome, Edge, Safari) */\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n background: transparent;\n }\n\n /* 隐藏滚动条(Firefox) */\n scrollbar-width: none;\n\n /* 隐藏滚动条(IE/Edge) */\n -ms-overflow-style: none;\n `,\n\n slideIn: css`\n animation: ${slideInRight} 0.3s forwards;\n `,\n slideOut: css`\n animation: ${slideOutRight} 0.3s forwards;\n `,\n\n}));\n\nexport const GlobalStyle: React.FC = () => (\n <Global\n styles={globalCss`\n .ant-conversations .ant-conversations-item-active {\n background: rgba(57,97,242,0.08);\n }\n\n .ant-conversations .ant-conversations-item-active .ant-conversations-label {\n color: #3961F2;\n }\n `}\n />\n);\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,EAAEC,SAAS,QAAQ,cAAc;AAC7C,SAASD,GAAG,IAAIE,SAAS,EAAEC,MAAM,QAAQ,gBAAgB;AACzD,SAASC,eAAe;AAA0B,SAAAC,GAAA,IAAAC,IAAA;AAElD,IAAMC,WAAW,GAAG,SAAS,CAAC,CAAC;AAC/B,IAAMC,SAAS,GAAG,SAAS,CAAC,CAAG;AAC/B,IAAMC,QAAQ,GAAG,MAAM,CAAC,CAAQ;AAChC,IAAMC,SAAS,GAAG,MAAM,CAAC,CAAO;AAChC,IAAMC,UAAU,GAAG,MAAM,CAAC,CAAM;;AAEhC,IAAMC,YAAY,GAAGX,SAAS,CAAAY,eAAA,KAAAA,eAAA,GAAAC,sBAAA,gHAG7B;AAED,IAAMC,aAAa,GAAGd,SAAS,CAAAe,gBAAA,KAAAA,gBAAA,GAAAF,sBAAA,gHAG9B;AAED,OAAO,IAAMG,SAAS,GAAGb,eAAe,CAAC;EAAA,OAAO;IAC9C;IACAc,oBAAoB,EAAElB,GAAG,CAAAmB,gBAAA,KAAAA,gBAAA,GAAAL,sBAAA,
|
|
1
|
+
{"version":3,"names":["React","css","keyframes","globalCss","Global","withBasicStyles","jsx","_jsx","primaryBlue","lightBlue","darkGray","lightGray","borderGray","slideInRight","_templateObject","_taggedTemplateLiteral","slideOutRight","_templateObject2","useStyles","conversationsWrapper","_templateObject3","capWrapper","_templateObject4","capShape","_templateObject5","capIcon","_templateObject6","addChatBtn","_templateObject7","tipTitle","_templateObject8","fWrapper","_templateObject9","nWrapper","_templateObject10","mask","_templateObject11","fheaderWrapper","_templateObject12","scrollList","_templateObject13","slideIn","_templateObject14","slideOut","_templateObject15","GlobalStyle","styles","_templateObject16"],"sources":["../../../../src/components/XAiConversations/styles.tsx"],"sourcesContent":["import React from 'react';\nimport { css, keyframes } from '@emotion/css';\nimport { css as globalCss, Global } from '@emotion/react';\nimport { withBasicStyles } from '@/styles/common';\n\nconst primaryBlue = '#0078FF'; // 主蓝色\nconst lightBlue = '#E6F0FF'; // 浅蓝色气泡背景\nconst darkGray = '#333'; // 深灰色文本\nconst lightGray = '#888'; // 浅灰文本\nconst borderGray = '#ddd'; // 边框灰色\n\nconst slideInRight = keyframes`\n from { transform: translateX(-100%); opacity: 0; }\n to { transform: translateX(0); opacity: 1; }\n`;\n\nconst slideOutRight = keyframes`\n from { transform: translateX(0); opacity: 1; }\n to { transform: translateX(-100%); opacity: 0; }\n`;\n\nexport const useStyles = withBasicStyles(() => ({\n // 静态样式\n conversationsWrapper: css`\n overflow: hidden;\n display: flex;\n flex-direction: column;\n height: 100%;\n `,\n\n capWrapper: css`\n padding: 12px 16px;\n display: flex;\n align-items: center;\n `,\n\n capShape: css`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n height: 40px;\n margin-left: 16px;\n background: #FFFFFF;\n box-shadow: 0px 4px 16px 0px rgba(127,135,166,0.08);\n border-radius: 24px;\n border: 1px solid #E7E7E7;\n box-sizing: border-box;\n transition: box-shadow 0.2s, border-color 0.2s;\n cursor: pointer;\n /* &:hover {\n box-shadow: 0px 4px 24px 0px rgba(127,135,166,0.16);\n border-color: ${primaryBlue};\n } */\n `,\n\n capIcon: css`\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n\n img {\n width: 17px;\n }\n\n &:hover {\n background: #F2F2F2;\n border-radius: 50%;\n }\n `,\n\n addChatBtn: css`\n width: 256px;\n height: 40px;\n margin: 17px auto 24px;\n background: #FFFFFF;\n border-radius: 20px;\n border: 1px solid #E7E7E7;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: #343434;\n\n &:hover {\n color: #3961F2;\n }\n\n &:active {\n color: #0A3BEE;\n }\n `,\n\n tipTitle: css`\n font-size: 12px;\n color: #949494;\n padding-left: 24px;\n `,\n\n fWrapper: css`\n background: #F8FBFF;\n padding: 16px 0 13px;\n width: 280px;\n height: 100%;\n box-sizing: border-box;\n position: relative;\n flex-shrink: 0;\n border-right: 1px solid #f0f0f0;\n `,\n\n nWrapper: css`\n position: absolute;\n top: 0;\n left: 0;\n width: 280px;\n height: 100%;\n z-index: 1000;\n transition: left 0.3s ease;\n background: #F8FBFF;\n padding: 16px 0 13px;\n box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);\n `,\n\n mask: css`\n position: absolute;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background: rgba(0, 0, 0, 0.15);\n z-index: 999;\n cursor: pointer;\n `,\n\n fheaderWrapper: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 11px 0 16px;\n `,\n\n scrollList: css`\n max-height: calc(100vh - 120px); /* 120px为头部高度,可根据实际调整 */\n padding-bottom: 15px;\n overflow-y: auto;\n\n /* 隐藏滚动条(Chrome, Edge, Safari) */\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n background: transparent;\n }\n\n /* 隐藏滚动条(Firefox) */\n scrollbar-width: none;\n\n /* 隐藏滚动条(IE/Edge) */\n -ms-overflow-style: none;\n `,\n\n slideIn: css`\n animation: ${slideInRight} 0.3s forwards;\n `,\n slideOut: css`\n animation: ${slideOutRight} 0.3s forwards;\n `,\n\n}));\n\nexport const GlobalStyle: React.FC = () => (\n <Global\n styles={globalCss`\n .ant-conversations .ant-conversations-item-active {\n background: rgba(57,97,242,0.08);\n }\n\n .ant-conversations .ant-conversations-item-active .ant-conversations-label {\n color: #3961F2;\n }\n `}\n />\n);\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,EAAEC,SAAS,QAAQ,cAAc;AAC7C,SAASD,GAAG,IAAIE,SAAS,EAAEC,MAAM,QAAQ,gBAAgB;AACzD,SAASC,eAAe;AAA0B,SAAAC,GAAA,IAAAC,IAAA;AAElD,IAAMC,WAAW,GAAG,SAAS,CAAC,CAAC;AAC/B,IAAMC,SAAS,GAAG,SAAS,CAAC,CAAG;AAC/B,IAAMC,QAAQ,GAAG,MAAM,CAAC,CAAQ;AAChC,IAAMC,SAAS,GAAG,MAAM,CAAC,CAAO;AAChC,IAAMC,UAAU,GAAG,MAAM,CAAC,CAAM;;AAEhC,IAAMC,YAAY,GAAGX,SAAS,CAAAY,eAAA,KAAAA,eAAA,GAAAC,sBAAA,gHAG7B;AAED,IAAMC,aAAa,GAAGd,SAAS,CAAAe,gBAAA,KAAAA,gBAAA,GAAAF,sBAAA,gHAG9B;AAED,OAAO,IAAMG,SAAS,GAAGb,eAAe,CAAC;EAAA,OAAO;IAC9C;IACAc,oBAAoB,EAAElB,GAAG,CAAAmB,gBAAA,KAAAA,gBAAA,GAAAL,sBAAA,uGAKxB;IAEDM,UAAU,EAAEpB,GAAG,CAAAqB,gBAAA,KAAAA,gBAAA,GAAAP,sBAAA,mFAId;IAEDQ,QAAQ,EAAEtB,GAAG,CAAAuB,gBAAA,KAAAA,gBAAA,GAAAT,sBAAA,+fAgBOP,WAAW,CAE9B;IAEDiB,OAAO,EAAExB,GAAG,CAAAyB,gBAAA,KAAAA,gBAAA,GAAAX,sBAAA,0QAgBX;IAEDY,UAAU,EAAE1B,GAAG,CAAA2B,gBAAA,KAAAA,gBAAA,GAAAb,sBAAA,sZAqBd;IAEDc,QAAQ,EAAE5B,GAAG,CAAA6B,gBAAA,KAAAA,gBAAA,GAAAf,sBAAA,gFAIZ;IAEDgB,QAAQ,EAAE9B,GAAG,CAAA+B,gBAAA,KAAAA,gBAAA,GAAAjB,sBAAA,wNASZ;IAEDkB,QAAQ,EAAEhC,GAAG,CAAAiC,iBAAA,KAAAA,iBAAA,GAAAnB,sBAAA,+PAWZ;IAEDoB,IAAI,EAAElC,GAAG,CAAAmC,iBAAA,KAAAA,iBAAA,GAAArB,sBAAA,sLASR;IAEDsB,cAAc,EAAEpC,GAAG,CAAAqC,iBAAA,KAAAA,iBAAA,GAAAvB,sBAAA,4HAKlB;IAEDwB,UAAU,EAAEtC,GAAG,CAAAuC,iBAAA,KAAAA,iBAAA,GAAAzB,sBAAA,+jBAkBd;IAED0B,OAAO,EAAExC,GAAG,CAAAyC,iBAAA,KAAAA,iBAAA,GAAA3B,sBAAA,iDACGF,YAAY,CAC1B;IACD8B,QAAQ,EAAE1C,GAAG,CAAA2C,iBAAA,KAAAA,iBAAA,GAAA7B,sBAAA,iDACEC,aAAa;EAG9B,CAAC;AAAA,CAAC,CAAC;AAEH,OAAO,IAAM6B,WAAqB,GAAG,SAAxBA,WAAqBA,CAAA;EAAA,oBAChCtC,IAAA,CAACH,MAAM;IACL0C,MAAM,EAAE3C,SAAS,CAAA4C,iBAAA,KAAAA,iBAAA,GAAAhC,sBAAA;EAQf,CACH,CAAC;AAAA,CACH"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
|
+
import { useState, useEffect } from "react";
|
|
5
|
+
import XAiThoughtChain from ".";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
var meta = {
|
|
8
|
+
title: "AI组件/XAiThoughtChain 思维链",
|
|
9
|
+
component: XAiThoughtChain,
|
|
10
|
+
parameters: {},
|
|
11
|
+
tags: ["autodocs"],
|
|
12
|
+
argTypes: {}
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
// 基础用法
|
|
16
|
+
var BasicUsageStory = function BasicUsageStory() {
|
|
17
|
+
var _useState = useState([]),
|
|
18
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
19
|
+
items = _useState2[0],
|
|
20
|
+
setItems = _useState2[1];
|
|
21
|
+
var _useState3 = useState(true),
|
|
22
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
23
|
+
loading = _useState4[0],
|
|
24
|
+
setLoading = _useState4[1];
|
|
25
|
+
var steps = [{
|
|
26
|
+
type: "text",
|
|
27
|
+
key: "planning",
|
|
28
|
+
title: "任务规划",
|
|
29
|
+
content: "\n为了规划审核路线,我需要明确以下几个步骤:\n1. 确认审核的具体内容或目标(例如:OCR审核、批注生成等)。\n2. 根据审核内容,选择合适的工具(例如:`OCR审核1`、`生成批注pdf1`)。\n3. 提供必要的输入参数(例如:文件链接、日期、流水号等)。\n4. 执行工具并获取结果。\n\n由于用户未提供具体的审核内容或目标,我需要进一步澄清。\n\n"
|
|
30
|
+
}, {
|
|
31
|
+
type: "text",
|
|
32
|
+
key: "reasoning",
|
|
33
|
+
title: "推理分析",
|
|
34
|
+
content: "\n用户没有提供具体的审核内容或目标,因此无法直接调用工具。我需要请求用户提供更多信息,例如:\n- 审核的文件类型(图片、PDF等)。\n- 审核的具体任务(OCR识别、批注生成等)。\n- 是否有现成的文件链接或其他输入参数。\n\n"
|
|
35
|
+
},
|
|
36
|
+
// 待执行工具
|
|
37
|
+
// {
|
|
38
|
+
// type: "tool",
|
|
39
|
+
// msg: {
|
|
40
|
+
// id: "040c3341-759f-43cb-8f51-d33f8d16063c",
|
|
41
|
+
// author: "aaa111",
|
|
42
|
+
// invocationId: "e-b8f96c1d-5432-42cf-8cff-c04745538504",
|
|
43
|
+
// eventId: "2029398995837837312",
|
|
44
|
+
// timestamp: 1772681399674,
|
|
45
|
+
// role: "bot",
|
|
46
|
+
// functionCall: {
|
|
47
|
+
// id: "adk-a30a7fb0-4413-4251-8229-b48e6f9c0b32",
|
|
48
|
+
// args: {
|
|
49
|
+
// originalFunctionCall: {
|
|
50
|
+
// id: "call_8c999d1ae7f34f98ad2666",
|
|
51
|
+
// args: {
|
|
52
|
+
// size: "1024*1024",
|
|
53
|
+
// prompt: "一只猫在草地上,卡通风格",
|
|
54
|
+
// n: 1,
|
|
55
|
+
// },
|
|
56
|
+
// name: "bailian_image_gen",
|
|
57
|
+
// },
|
|
58
|
+
// toolConfirmation: {
|
|
59
|
+
// hint: "Please approve or reject the tool call vdjxxwbgpwlfs() by responding with a FunctionResponse with an expected ToolConfirmation payload.",
|
|
60
|
+
// confirmed: false,
|
|
61
|
+
// },
|
|
62
|
+
// },
|
|
63
|
+
// name: "adk_request_confirmation",
|
|
64
|
+
// },
|
|
65
|
+
// },
|
|
66
|
+
// },
|
|
67
|
+
// 确认执行
|
|
68
|
+
{
|
|
69
|
+
type: "tool",
|
|
70
|
+
msg: {
|
|
71
|
+
id: "99f7dff6-3780-4712-829f-4670707e76cc",
|
|
72
|
+
author: "aaa111",
|
|
73
|
+
invocationId: "e-fe701a0d-9fa2-4b82-b338-751c2ab31619",
|
|
74
|
+
eventId: "2029431631083794432",
|
|
75
|
+
timestamp: 1772689180523,
|
|
76
|
+
role: "bot",
|
|
77
|
+
functionCall: {
|
|
78
|
+
id: "call_ed77f343b5614de096ce35",
|
|
79
|
+
args: {
|
|
80
|
+
size: "1024*1024",
|
|
81
|
+
prompt: "一只可爱的小猫"
|
|
82
|
+
},
|
|
83
|
+
name: "bailian_image_gen"
|
|
84
|
+
},
|
|
85
|
+
functionResponse: {
|
|
86
|
+
id: "call_ed77f343b5614de096ce35",
|
|
87
|
+
name: "bailian_image_gen",
|
|
88
|
+
response: {
|
|
89
|
+
error: "This tool call requires confirmation, please approve or reject."
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}];
|
|
94
|
+
useEffect(function () {
|
|
95
|
+
var stepIndex = 0;
|
|
96
|
+
var charIndex = 0;
|
|
97
|
+
var currentContent = "";
|
|
98
|
+
|
|
99
|
+
// 先插入第一个空 step
|
|
100
|
+
setItems([_objectSpread(_objectSpread({}, steps[0]), {}, {
|
|
101
|
+
content: ""
|
|
102
|
+
})]);
|
|
103
|
+
var timer = setInterval(function () {
|
|
104
|
+
var currentStep = steps[stepIndex];
|
|
105
|
+
if (!currentStep) {
|
|
106
|
+
clearInterval(timer);
|
|
107
|
+
setLoading(false);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (charIndex < currentStep.content.length) {
|
|
111
|
+
currentContent += currentStep.content[charIndex];
|
|
112
|
+
charIndex++;
|
|
113
|
+
setItems(function (prev) {
|
|
114
|
+
var newItems = _toConsumableArray(prev);
|
|
115
|
+
newItems[stepIndex] = _objectSpread(_objectSpread({}, currentStep), {}, {
|
|
116
|
+
content: currentContent
|
|
117
|
+
});
|
|
118
|
+
return newItems;
|
|
119
|
+
});
|
|
120
|
+
} else {
|
|
121
|
+
// 当前 step 打完
|
|
122
|
+
stepIndex++;
|
|
123
|
+
charIndex = 0;
|
|
124
|
+
currentContent = "";
|
|
125
|
+
if (stepIndex < steps.length) {
|
|
126
|
+
setItems(function (prev) {
|
|
127
|
+
return [].concat(_toConsumableArray(prev), [_objectSpread(_objectSpread({}, steps[stepIndex]), {}, {
|
|
128
|
+
content: ""
|
|
129
|
+
})]);
|
|
130
|
+
});
|
|
131
|
+
} else {
|
|
132
|
+
clearInterval(timer);
|
|
133
|
+
setLoading(false);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}, 20); // 20ms 一个字符
|
|
137
|
+
|
|
138
|
+
return function () {
|
|
139
|
+
return clearInterval(timer);
|
|
140
|
+
};
|
|
141
|
+
}, []);
|
|
142
|
+
return /*#__PURE__*/_jsx("div", {
|
|
143
|
+
style: {
|
|
144
|
+
width: 440,
|
|
145
|
+
border: "1px solid #eee",
|
|
146
|
+
padding: 20
|
|
147
|
+
},
|
|
148
|
+
children: /*#__PURE__*/_jsx(XAiThoughtChain, {
|
|
149
|
+
loading: loading,
|
|
150
|
+
items: items,
|
|
151
|
+
defaultOpen: true
|
|
152
|
+
})
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
export var 基础用法 = {
|
|
156
|
+
render: BasicUsageStory,
|
|
157
|
+
args: {}
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=XAiThoughtChain.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","useEffect","XAiThoughtChain","jsx","_jsx","meta","title","component","parameters","tags","argTypes","BasicUsageStory","_useState","_useState2","_slicedToArray","items","setItems","_useState3","_useState4","loading","setLoading","steps","type","key","content","msg","id","author","invocationId","eventId","timestamp","role","functionCall","args","size","prompt","name","functionResponse","response","error","stepIndex","charIndex","currentContent","_objectSpread","timer","setInterval","currentStep","clearInterval","length","prev","newItems","_toConsumableArray","concat","style","width","border","padding","children","defaultOpen","基础用法","render"],"sources":["../../../../src/components/XAiThoughtChain/XAiThoughtChain.stories.tsx"],"sourcesContent":["import { useState, useEffect } from \"react\";\nimport type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport XAiThoughtChain from \".\";\n\nconst meta: Meta<typeof XAiThoughtChain> = {\n title: \"AI组件/XAiThoughtChain 思维链\",\n component: XAiThoughtChain,\n parameters: {},\n tags: [\"autodocs\"],\n argTypes: {},\n};\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n// 基础用法\nconst BasicUsageStory = () => {\n const [items, setItems] = useState<any[]>([]);\n const [loading, setLoading] = useState(true);\n\n const steps = [\n {\n type: \"text\",\n key: \"planning\",\n title: \"任务规划\",\n content:\n \"\\n为了规划审核路线,我需要明确以下几个步骤:\\n1. 确认审核的具体内容或目标(例如:OCR审核、批注生成等)。\\n2. 根据审核内容,选择合适的工具(例如:`OCR审核1`、`生成批注pdf1`)。\\n3. 提供必要的输入参数(例如:文件链接、日期、流水号等)。\\n4. 执行工具并获取结果。\\n\\n由于用户未提供具体的审核内容或目标,我需要进一步澄清。\\n\\n\",\n },\n {\n type: \"text\",\n key: \"reasoning\",\n title: \"推理分析\",\n content:\n \"\\n用户没有提供具体的审核内容或目标,因此无法直接调用工具。我需要请求用户提供更多信息,例如:\\n- 审核的文件类型(图片、PDF等)。\\n- 审核的具体任务(OCR识别、批注生成等)。\\n- 是否有现成的文件链接或其他输入参数。\\n\\n\",\n },\n // 待执行工具\n // {\n // type: \"tool\",\n // msg: {\n // id: \"040c3341-759f-43cb-8f51-d33f8d16063c\",\n // author: \"aaa111\",\n // invocationId: \"e-b8f96c1d-5432-42cf-8cff-c04745538504\",\n // eventId: \"2029398995837837312\",\n // timestamp: 1772681399674,\n // role: \"bot\",\n // functionCall: {\n // id: \"adk-a30a7fb0-4413-4251-8229-b48e6f9c0b32\",\n // args: {\n // originalFunctionCall: {\n // id: \"call_8c999d1ae7f34f98ad2666\",\n // args: {\n // size: \"1024*1024\",\n // prompt: \"一只猫在草地上,卡通风格\",\n // n: 1,\n // },\n // name: \"bailian_image_gen\",\n // },\n // toolConfirmation: {\n // hint: \"Please approve or reject the tool call vdjxxwbgpwlfs() by responding with a FunctionResponse with an expected ToolConfirmation payload.\",\n // confirmed: false,\n // },\n // },\n // name: \"adk_request_confirmation\",\n // },\n // },\n // },\n // 确认执行\n {\n type: \"tool\",\n msg: {\n id: \"99f7dff6-3780-4712-829f-4670707e76cc\",\n author: \"aaa111\",\n invocationId: \"e-fe701a0d-9fa2-4b82-b338-751c2ab31619\",\n eventId: \"2029431631083794432\",\n timestamp: 1772689180523,\n role: \"bot\",\n functionCall: {\n id: \"call_ed77f343b5614de096ce35\",\n args: {\n size: \"1024*1024\",\n prompt: \"一只可爱的小猫\",\n },\n name: \"bailian_image_gen\",\n },\n functionResponse: {\n id: \"call_ed77f343b5614de096ce35\",\n name: \"bailian_image_gen\",\n response: {\n error:\n \"This tool call requires confirmation, please approve or reject.\",\n },\n },\n },\n },\n ];\n\n useEffect(() => {\n let stepIndex = 0;\n let charIndex = 0;\n let currentContent = \"\";\n\n // 先插入第一个空 step\n setItems([\n {\n ...steps[0],\n content: \"\",\n },\n ]);\n\n const timer = setInterval(() => {\n const currentStep = steps[stepIndex];\n\n if (!currentStep) {\n clearInterval(timer);\n setLoading(false);\n return;\n }\n\n if (charIndex < currentStep.content!.length) {\n currentContent += currentStep.content![charIndex];\n charIndex++;\n\n setItems((prev) => {\n const newItems = [...prev];\n newItems[stepIndex] = {\n ...currentStep,\n content: currentContent,\n };\n return newItems;\n });\n } else {\n // 当前 step 打完\n stepIndex++;\n charIndex = 0;\n currentContent = \"\";\n\n if (stepIndex < steps.length) {\n setItems((prev) => [\n ...prev,\n {\n ...steps[stepIndex],\n content: \"\",\n },\n ]);\n } else {\n clearInterval(timer);\n setLoading(false);\n }\n }\n }, 20); // 20ms 一个字符\n\n return () => clearInterval(timer);\n }, []);\n\n return (\n <div style={{ width: 440, border: \"1px solid #eee\", padding: 20 }}>\n <XAiThoughtChain loading={loading} items={items} defaultOpen />\n </div>\n );\n};\n\nexport const 基础用法: Story = {\n render: BasicUsageStory,\n args: {},\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import React, { useState, useEffect } from "react";
|
|
3
|
+
import { CheckCircleFilled, SyncOutlined, ThunderboltOutlined, PartitionOutlined, CaretRightOutlined, RightOutlined, DownOutlined } from "@ant-design/icons";
|
|
4
|
+
import MarkdownRender from "../XAdkChatbot/components/MarkdownRender";
|
|
5
|
+
import FunctionCallRender from "../XAdkChatbot/components/FunctionCallRender";
|
|
6
|
+
import { useStyles } from "./styles";
|
|
7
|
+
import { cleanProcessText } from "../../utils";
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
var TimelineItem = function TimelineItem(_ref) {
|
|
11
|
+
var icon = _ref.icon,
|
|
12
|
+
title = _ref.title,
|
|
13
|
+
children = _ref.children,
|
|
14
|
+
_ref$collapsible = _ref.collapsible,
|
|
15
|
+
collapsible = _ref$collapsible === void 0 ? true : _ref$collapsible,
|
|
16
|
+
_ref$defaultOpen = _ref.defaultOpen,
|
|
17
|
+
defaultOpen = _ref$defaultOpen === void 0 ? true : _ref$defaultOpen;
|
|
18
|
+
var _useState = useState(defaultOpen),
|
|
19
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
20
|
+
isOpen = _useState2[0],
|
|
21
|
+
setIsOpen = _useState2[1];
|
|
22
|
+
var styles = useStyles();
|
|
23
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
24
|
+
className: styles.timelineItem,
|
|
25
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
26
|
+
className: styles.timelineLeft,
|
|
27
|
+
children: [icon, /*#__PURE__*/_jsx("div", {
|
|
28
|
+
className: styles.timelineConnector
|
|
29
|
+
})]
|
|
30
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
31
|
+
className: styles.timelineRight,
|
|
32
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
33
|
+
className: styles.collapsibleHeader,
|
|
34
|
+
onClick: function onClick() {
|
|
35
|
+
return collapsible ? setIsOpen(!isOpen) : undefined;
|
|
36
|
+
},
|
|
37
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
38
|
+
children: title
|
|
39
|
+
}), collapsible && /*#__PURE__*/_jsx("span", {
|
|
40
|
+
className: styles.arrowIcon,
|
|
41
|
+
children: isOpen ? /*#__PURE__*/_jsx(DownOutlined, {}) : /*#__PURE__*/_jsx(RightOutlined, {})
|
|
42
|
+
})]
|
|
43
|
+
}), isOpen && /*#__PURE__*/_jsx("div", {
|
|
44
|
+
className: styles.stepContent,
|
|
45
|
+
children: children
|
|
46
|
+
})]
|
|
47
|
+
})]
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
var TimelineTextItem = function TimelineTextItem(_ref2) {
|
|
51
|
+
var item = _ref2.item;
|
|
52
|
+
return /*#__PURE__*/_jsx(TimelineItem, {
|
|
53
|
+
icon: /*#__PURE__*/_jsx("span", {
|
|
54
|
+
className: useStyles().timelineIcon,
|
|
55
|
+
children: /*#__PURE__*/_jsx(PartitionOutlined, {})
|
|
56
|
+
}),
|
|
57
|
+
title: /*#__PURE__*/_jsx("span", {
|
|
58
|
+
className: useStyles().titleText,
|
|
59
|
+
children: item.title
|
|
60
|
+
}),
|
|
61
|
+
children: /*#__PURE__*/_jsx(MarkdownRender, {
|
|
62
|
+
text: cleanProcessText(item.content)
|
|
63
|
+
})
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
var TimelineToolItem = function TimelineToolItem(_ref3) {
|
|
67
|
+
var _msg$functionCall, _msg$functionCall2, _msg$functionResponse, _msg$functionResponse2;
|
|
68
|
+
var msg = _ref3.msg,
|
|
69
|
+
collapsible = _ref3.collapsible,
|
|
70
|
+
onConfirm = _ref3.onConfirm,
|
|
71
|
+
showFnCallDetail = _ref3.showFnCallDetail;
|
|
72
|
+
var styles = useStyles();
|
|
73
|
+
var needsConfirm = msg.functionCall && !msg.functionResponse;
|
|
74
|
+
var isDone = !!msg.functionResponse;
|
|
75
|
+
var toolName = ((_msg$functionCall = msg.functionCall) === null || _msg$functionCall === void 0 || (_msg$functionCall = _msg$functionCall.args) === null || _msg$functionCall === void 0 ? void 0 : _msg$functionCall.componentName) || ((_msg$functionCall2 = msg.functionCall) === null || _msg$functionCall2 === void 0 ? void 0 : _msg$functionCall2.name) || "组件执行";
|
|
76
|
+
var statusInfo = ((_msg$functionResponse = msg.functionResponse) === null || _msg$functionResponse === void 0 || (_msg$functionResponse = _msg$functionResponse.response) === null || _msg$functionResponse === void 0 ? void 0 : _msg$functionResponse.processData) || ((_msg$functionResponse2 = msg.functionResponse) === null || _msg$functionResponse2 === void 0 || (_msg$functionResponse2 = _msg$functionResponse2.response) === null || _msg$functionResponse2 === void 0 ? void 0 : _msg$functionResponse2.output);
|
|
77
|
+
var titleNode = /*#__PURE__*/_jsxs("div", {
|
|
78
|
+
className: styles.toolTitleGroup,
|
|
79
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
80
|
+
className: styles.toolName,
|
|
81
|
+
children: toolName
|
|
82
|
+
}), isDone && /*#__PURE__*/_jsx("span", {
|
|
83
|
+
className: styles.toolStatusTag,
|
|
84
|
+
children: "\u6267\u884C\u6210\u529F"
|
|
85
|
+
})]
|
|
86
|
+
});
|
|
87
|
+
return /*#__PURE__*/_jsxs(TimelineItem, {
|
|
88
|
+
icon: /*#__PURE__*/_jsx("span", {
|
|
89
|
+
className: styles.timelineIconTool,
|
|
90
|
+
children: /*#__PURE__*/_jsx(ThunderboltOutlined, {})
|
|
91
|
+
}),
|
|
92
|
+
title: titleNode,
|
|
93
|
+
collapsible: collapsible,
|
|
94
|
+
defaultOpen: needsConfirm,
|
|
95
|
+
children: [statusInfo && typeof statusInfo === "string" && /*#__PURE__*/_jsx("div", {
|
|
96
|
+
className: styles.statusInfo,
|
|
97
|
+
children: statusInfo
|
|
98
|
+
}), /*#__PURE__*/_jsx(FunctionCallRender, {
|
|
99
|
+
msg: msg,
|
|
100
|
+
showDetail: showFnCallDetail,
|
|
101
|
+
onConfirm: onConfirm
|
|
102
|
+
})]
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
var XAiThoughtChain = function XAiThoughtChain(_ref4) {
|
|
106
|
+
var _ref4$defaultOpen = _ref4.defaultOpen,
|
|
107
|
+
defaultOpen = _ref4$defaultOpen === void 0 ? false : _ref4$defaultOpen,
|
|
108
|
+
_ref4$showFnCallDetai = _ref4.showFnCallDetail,
|
|
109
|
+
showFnCallDetail = _ref4$showFnCallDetai === void 0 ? false : _ref4$showFnCallDetai,
|
|
110
|
+
_ref4$title = _ref4.title,
|
|
111
|
+
title = _ref4$title === void 0 ? "思维链已完成" : _ref4$title,
|
|
112
|
+
_ref4$items = _ref4.items,
|
|
113
|
+
items = _ref4$items === void 0 ? [] : _ref4$items,
|
|
114
|
+
loading = _ref4.loading,
|
|
115
|
+
onConfirm = _ref4.onConfirm;
|
|
116
|
+
var styles = useStyles();
|
|
117
|
+
var _useState3 = useState(defaultOpen),
|
|
118
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
119
|
+
isOpen = _useState4[0],
|
|
120
|
+
setIsOpen = _useState4[1];
|
|
121
|
+
useEffect(function () {
|
|
122
|
+
if (loading) Promise.resolve().then(function () {
|
|
123
|
+
return setIsOpen(true);
|
|
124
|
+
});
|
|
125
|
+
}, [loading]);
|
|
126
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
127
|
+
className: styles.thoughtChainBlock,
|
|
128
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
129
|
+
className: styles.thoughtHeader,
|
|
130
|
+
onClick: function onClick() {
|
|
131
|
+
return setIsOpen(!isOpen);
|
|
132
|
+
},
|
|
133
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
134
|
+
className: styles.headerLeft,
|
|
135
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
136
|
+
className: "".concat(styles.caret, " ").concat(isOpen ? "open" : ""),
|
|
137
|
+
children: /*#__PURE__*/_jsx(CaretRightOutlined, {})
|
|
138
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
139
|
+
className: styles.statusIcon,
|
|
140
|
+
children: loading ? /*#__PURE__*/_jsx(SyncOutlined, {
|
|
141
|
+
spin: true,
|
|
142
|
+
style: {
|
|
143
|
+
color: "#1677ff"
|
|
144
|
+
}
|
|
145
|
+
}) : /*#__PURE__*/_jsx(CheckCircleFilled, {
|
|
146
|
+
style: {
|
|
147
|
+
color: "#52c41a"
|
|
148
|
+
}
|
|
149
|
+
})
|
|
150
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
151
|
+
className: styles.headerTitle,
|
|
152
|
+
children: loading ? "深度思考与执行中..." : title
|
|
153
|
+
})]
|
|
154
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
155
|
+
className: styles.headerRight,
|
|
156
|
+
children: items.length > 0 && /*#__PURE__*/_jsxs("span", {
|
|
157
|
+
className: styles.stepCount,
|
|
158
|
+
children: [items.length, " \u4E2A\u6B65\u9AA4"]
|
|
159
|
+
})
|
|
160
|
+
})]
|
|
161
|
+
}), isOpen && /*#__PURE__*/_jsx("div", {
|
|
162
|
+
className: styles.thinkingBody,
|
|
163
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
164
|
+
className: styles.timeline,
|
|
165
|
+
children: items.map(function (item, i) {
|
|
166
|
+
return item.type === "text" ? /*#__PURE__*/_jsx(TimelineTextItem, {
|
|
167
|
+
item: item
|
|
168
|
+
}, item.key || i) : /*#__PURE__*/_jsx(TimelineToolItem, {
|
|
169
|
+
msg: item.msg,
|
|
170
|
+
collapsible: item.collapsible,
|
|
171
|
+
showFnCallDetail: showFnCallDetail,
|
|
172
|
+
onConfirm: onConfirm
|
|
173
|
+
}, "tool-".concat(item.key || i));
|
|
174
|
+
})
|
|
175
|
+
})
|
|
176
|
+
})]
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
export default XAiThoughtChain;
|
|
180
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","CheckCircleFilled","SyncOutlined","ThunderboltOutlined","PartitionOutlined","CaretRightOutlined","RightOutlined","DownOutlined","MarkdownRender","FunctionCallRender","useStyles","cleanProcessText","jsx","_jsx","jsxs","_jsxs","TimelineItem","_ref","icon","title","children","_ref$collapsible","collapsible","_ref$defaultOpen","defaultOpen","_useState","_useState2","_slicedToArray","isOpen","setIsOpen","styles","className","timelineItem","timelineLeft","timelineConnector","timelineRight","collapsibleHeader","onClick","undefined","arrowIcon","stepContent","TimelineTextItem","_ref2","item","timelineIcon","titleText","text","content","TimelineToolItem","_ref3","_msg$functionCall","_msg$functionCall2","_msg$functionResponse","_msg$functionResponse2","msg","onConfirm","showFnCallDetail","needsConfirm","functionCall","functionResponse","isDone","toolName","args","componentName","name","statusInfo","response","processData","output","titleNode","toolTitleGroup","toolStatusTag","timelineIconTool","showDetail","XAiThoughtChain","_ref4","_ref4$defaultOpen","_ref4$showFnCallDetai","_ref4$title","_ref4$items","items","loading","_useState3","_useState4","Promise","resolve","then","thoughtChainBlock","thoughtHeader","headerLeft","concat","caret","statusIcon","spin","style","color","headerTitle","headerRight","length","stepCount","thinkingBody","timeline","map","i","type","key"],"sources":["../../../../src/components/XAiThoughtChain/index.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport {\n CheckCircleFilled,\n SyncOutlined,\n ThunderboltOutlined,\n PartitionOutlined,\n CaretRightOutlined,\n RightOutlined,\n DownOutlined,\n} from \"@ant-design/icons\";\nimport MarkdownRender from \"@/components/XAdkChatbot/components/MarkdownRender\";\nimport FunctionCallRender from \"@/components/XAdkChatbot/components/FunctionCallRender\";\nimport { useStyles } from \"./styles\";\nimport {\n XAiThoughtChainProps,\n ThoughtChainItemType,\n TimelineItemProps,\n FunctionCall,\n IMessage,\n} from \"@/types\";\nimport { cleanProcessText } from \"@/utils\";\n\nconst TimelineItem = ({\n icon,\n title,\n children,\n collapsible = true,\n defaultOpen = true,\n}: TimelineItemProps) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const styles = useStyles();\n\n return (\n <div className={styles.timelineItem}>\n <div className={styles.timelineLeft}>\n {icon}\n <div className={styles.timelineConnector} />\n </div>\n <div className={styles.timelineRight}>\n <div\n className={styles.collapsibleHeader}\n onClick={() => (collapsible ? setIsOpen(!isOpen) : undefined)}\n >\n <div>{title}</div>\n {collapsible && (\n <span className={styles.arrowIcon}>\n {isOpen ? <DownOutlined /> : <RightOutlined />}\n </span>\n )}\n </div>\n\n {isOpen && <div className={styles.stepContent}>{children}</div>}\n </div>\n </div>\n );\n};\n\nconst TimelineTextItem: React.FC<{\n item: ThoughtChainItemType;\n}> = ({ item }) => {\n return (\n <TimelineItem\n icon={\n <span className={useStyles().timelineIcon}>\n <PartitionOutlined />\n </span>\n }\n title={<span className={useStyles().titleText}>{item.title}</span>}\n >\n <MarkdownRender text={cleanProcessText(item.content)} />\n </TimelineItem>\n );\n};\n\nconst TimelineToolItem: React.FC<{\n msg: IMessage;\n collapsible?: boolean;\n showFnCallDetail: boolean;\n onConfirm?: (fnCall: FunctionCall, confirmed: boolean) => void;\n}> = ({ msg, collapsible, onConfirm, showFnCallDetail }) => {\n const styles = useStyles();\n const needsConfirm = msg.functionCall && !msg.functionResponse;\n const isDone = !!msg.functionResponse;\n\n const toolName =\n msg.functionCall?.args?.componentName ||\n msg.functionCall?.name ||\n \"组件执行\";\n\n const statusInfo =\n msg.functionResponse?.response?.processData ||\n msg.functionResponse?.response?.output;\n\n const titleNode = (\n <div className={styles.toolTitleGroup}>\n <span className={styles.toolName}>{toolName}</span>\n {isDone && <span className={styles.toolStatusTag}>执行成功</span>}\n </div>\n );\n\n return (\n <TimelineItem\n icon={\n <span className={styles.timelineIconTool}>\n <ThunderboltOutlined />\n </span>\n }\n title={titleNode}\n collapsible={collapsible}\n defaultOpen={needsConfirm}\n >\n {statusInfo && typeof statusInfo === \"string\" && (\n <div className={styles.statusInfo}>{statusInfo}</div>\n )}\n <FunctionCallRender\n msg={msg}\n showDetail={showFnCallDetail}\n onConfirm={onConfirm}\n />\n </TimelineItem>\n );\n};\n\nconst XAiThoughtChain: React.FC<XAiThoughtChainProps> = ({\n defaultOpen = false,\n showFnCallDetail = false,\n title = \"思维链已完成\",\n items = [],\n loading,\n onConfirm,\n}) => {\n const styles = useStyles();\n const [isOpen, setIsOpen] = useState(defaultOpen);\n useEffect(() => {\n if (loading) Promise.resolve().then(() => setIsOpen(true));\n }, [loading]);\n return (\n <div className={styles.thoughtChainBlock}>\n <div className={styles.thoughtHeader} onClick={() => setIsOpen(!isOpen)}>\n <div className={styles.headerLeft}>\n <div className={`${styles.caret} ${isOpen ? \"open\" : \"\"}`}>\n <CaretRightOutlined />\n </div>\n <div className={styles.statusIcon}>\n {loading ? (\n <SyncOutlined spin style={{ color: \"#1677ff\" }} />\n ) : (\n <CheckCircleFilled style={{ color: \"#52c41a\" }} />\n )}\n </div>\n <span className={styles.headerTitle}>\n {loading ? \"深度思考与执行中...\" : title}\n </span>\n </div>\n <div className={styles.headerRight}>\n {items.length > 0 && (\n <span className={styles.stepCount}>{items.length} 个步骤</span>\n )}\n </div>\n </div>\n {isOpen && (\n <div className={styles.thinkingBody}>\n <div className={styles.timeline}>\n {items.map((item, i) =>\n item.type === \"text\" ? (\n <TimelineTextItem key={item.key || i} item={item} />\n ) : (\n <TimelineToolItem\n key={`tool-${item.key || i}`}\n msg={item.msg!}\n collapsible={item.collapsible}\n showFnCallDetail={showFnCallDetail}\n onConfirm={onConfirm}\n />\n ),\n )}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default XAiThoughtChain;\n"],"mappings":"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"}
|