@ai-group/chat-sdk 0.2.5 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/README.md +93 -214
  2. package/dist/cjs/assets/arrow-down.png +0 -0
  3. package/dist/cjs/assets/arrow-up.png +0 -0
  4. package/dist/cjs/assets/chatKnowledge.png +0 -0
  5. package/dist/cjs/assets/completed-black.png +0 -0
  6. package/dist/cjs/assets/completed.png +0 -0
  7. package/dist/cjs/assets/document-black.png +0 -0
  8. package/dist/cjs/assets/document.png +0 -0
  9. package/dist/cjs/assets/document.svg +16 -0
  10. package/dist/cjs/assets/empty.png +0 -0
  11. package/dist/cjs/assets/group.png +0 -0
  12. package/dist/cjs/assets/qa-black.png +0 -0
  13. package/dist/cjs/assets/qa.png +0 -0
  14. package/dist/cjs/assets/skillNo-black.png +0 -0
  15. package/dist/cjs/assets/skillNo.png +0 -0
  16. package/dist/cjs/assets/tools-black.png +0 -0
  17. package/dist/cjs/assets/tools.png +0 -0
  18. package/dist/cjs/assets/user.png +0 -0
  19. package/dist/cjs/client/base.d.ts +9 -0
  20. package/dist/cjs/client/base.js +18 -0
  21. package/dist/cjs/client/base.js.map +7 -0
  22. package/dist/cjs/client/restClient.d.ts +0 -0
  23. package/dist/cjs/client/restClient.js +1 -0
  24. package/dist/cjs/client/restClient.js.map +7 -0
  25. package/dist/cjs/client/wsClient.d.ts +0 -0
  26. package/dist/cjs/client/wsClient.js +1 -0
  27. package/dist/cjs/client/wsClient.js.map +7 -0
  28. package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.d.ts +10 -0
  29. package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js +484 -0
  30. package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js.map +7 -0
  31. package/dist/cjs/components/XAiChatbot/index.d.ts +12 -0
  32. package/dist/cjs/components/XAiChatbot/index.js +365 -0
  33. package/dist/cjs/components/XAiChatbot/index.js.map +7 -0
  34. package/dist/cjs/components/XAiChatbot/styles.d.ts +72 -0
  35. package/dist/cjs/components/XAiChatbot/styles.js +426 -0
  36. package/dist/cjs/components/XAiChatbot/styles.js.map +7 -0
  37. package/dist/cjs/components/XAiProvider/XAiProvider.stories.d.ts +7 -0
  38. package/dist/cjs/components/XAiProvider/XAiProvider.stories.js +127 -0
  39. package/dist/cjs/components/XAiProvider/XAiProvider.stories.js.map +7 -0
  40. package/dist/cjs/components/XAiProvider/index.d.ts +4 -0
  41. package/dist/cjs/components/XAiProvider/index.js +115 -0
  42. package/dist/cjs/components/XAiProvider/index.js.map +7 -0
  43. package/dist/cjs/components/XAiSDK.d.ts +10 -0
  44. package/dist/cjs/components/XAiSDK.js +53 -0
  45. package/dist/cjs/components/XAiSDK.js.map +7 -0
  46. package/dist/cjs/components/XAiWebSDKWrapper.d.ts +9 -0
  47. package/dist/cjs/components/XAiWebSDKWrapper.js +70 -0
  48. package/dist/cjs/components/XAiWebSDKWrapper.js.map +7 -0
  49. package/dist/cjs/context/AiProviderContext.d.ts +12 -0
  50. package/dist/cjs/context/AiProviderContext.js +74 -0
  51. package/dist/cjs/context/AiProviderContext.js.map +7 -0
  52. package/dist/cjs/context/ThemeContext.d.ts +20 -0
  53. package/dist/cjs/context/ThemeContext.js +37 -0
  54. package/dist/cjs/context/ThemeContext.js.map +7 -0
  55. package/dist/cjs/hooks/useAgentGenerator.d.ts +72 -0
  56. package/dist/cjs/hooks/useAgentGenerator.js +487 -0
  57. package/dist/cjs/hooks/useAgentGenerator.js.map +7 -0
  58. package/dist/cjs/hooks/useEventStreamRequest.d.ts +30 -0
  59. package/dist/cjs/hooks/useEventStreamRequest.js +188 -0
  60. package/dist/cjs/hooks/useEventStreamRequest.js.map +7 -0
  61. package/dist/cjs/hooks/useProviderContext.d.ts +33 -0
  62. package/dist/cjs/hooks/useProviderContext.js +105 -0
  63. package/dist/cjs/hooks/useProviderContext.js.map +7 -0
  64. package/dist/cjs/hooks/useXAiSDK.d.ts +14 -0
  65. package/dist/cjs/hooks/useXAiSDK.js +75 -0
  66. package/dist/cjs/hooks/useXAiSDK.js.map +7 -0
  67. package/dist/cjs/index.d.ts +9 -0
  68. package/dist/cjs/index.js +61 -0
  69. package/dist/cjs/index.js.map +7 -0
  70. package/dist/cjs/services/api.d.ts +69 -0
  71. package/dist/cjs/services/api.js +49 -0
  72. package/dist/cjs/services/api.js.map +7 -0
  73. package/dist/cjs/styles/common.d.ts +64 -0
  74. package/dist/cjs/styles/common.js +144 -0
  75. package/dist/cjs/styles/common.js.map +7 -0
  76. package/dist/cjs/styles/markdown.d.ts +3 -0
  77. package/dist/cjs/styles/markdown.js +193 -0
  78. package/dist/cjs/styles/markdown.js.map +7 -0
  79. package/dist/cjs/types/XAiChatbot.d.ts +159 -0
  80. package/dist/cjs/types/XAiChatbot.js +18 -0
  81. package/dist/cjs/types/XAiChatbot.js.map +7 -0
  82. package/dist/cjs/types/XAiMessage.d.ts +121 -0
  83. package/dist/cjs/types/XAiMessage.js +55 -0
  84. package/dist/cjs/types/XAiMessage.js.map +7 -0
  85. package/dist/cjs/types/XAiProvider.d.ts +46 -0
  86. package/dist/cjs/types/XAiProvider.js +50 -0
  87. package/dist/cjs/types/XAiProvider.js.map +7 -0
  88. package/dist/cjs/types/index.d.ts +3 -0
  89. package/dist/cjs/types/index.js +28 -0
  90. package/dist/cjs/types/index.js.map +7 -0
  91. package/dist/cjs/types/mdx.d.ts +18 -0
  92. package/dist/cjs/utils/chat.d.ts +34 -0
  93. package/dist/cjs/utils/chat.js +1 -0
  94. package/dist/cjs/utils/chat.js.map +7 -0
  95. package/dist/cjs/utils/index.d.ts +2 -0
  96. package/dist/cjs/utils/index.js +49 -0
  97. package/dist/cjs/utils/index.js.map +7 -0
  98. package/dist/cjs/utils/providerManager.d.ts +22 -0
  99. package/dist/cjs/utils/providerManager.js +73 -0
  100. package/dist/cjs/utils/providerManager.js.map +7 -0
  101. package/dist/cjs/utils/request.d.ts +78 -0
  102. package/dist/cjs/utils/request.example.d.ts +39 -0
  103. package/dist/cjs/utils/request.example.js +211 -0
  104. package/dist/cjs/utils/request.example.js.map +7 -0
  105. package/dist/cjs/utils/request.js +231 -0
  106. package/dist/cjs/utils/request.js.map +7 -0
  107. package/dist/cjs/utils/umdEntry.d.ts +14 -0
  108. package/dist/cjs/utils/umdEntry.js +97 -0
  109. package/dist/cjs/utils/umdEntry.js.map +7 -0
  110. package/dist/esm/assets/user.png +0 -0
  111. package/dist/esm/client/base.d.ts +9 -0
  112. package/dist/esm/client/restClient.d.ts +0 -0
  113. package/dist/esm/client/wsClient.d.ts +0 -0
  114. package/dist/esm/components/XAiChatbot/XAiChatbot.stories.d.ts +10 -0
  115. package/dist/esm/components/XAiChatbot/index.d.ts +12 -0
  116. package/dist/esm/components/XAiChatbot/index.js +17 -11
  117. package/dist/esm/components/XAiChatbot/index.js.map +1 -1
  118. package/dist/esm/components/XAiChatbot/styles.d.ts +72 -0
  119. package/dist/esm/components/XAiChatbot/styles.js +37 -38
  120. package/dist/esm/components/XAiChatbot/styles.js.map +1 -1
  121. package/dist/esm/components/XAiProvider/XAiProvider.stories.d.ts +7 -0
  122. package/dist/esm/components/XAiProvider/index.d.ts +4 -0
  123. package/dist/esm/components/XAiProvider/index.js +8 -1
  124. package/dist/esm/components/XAiProvider/index.js.map +1 -1
  125. package/dist/esm/components/XAiSDK.d.ts +10 -0
  126. package/dist/esm/components/XAiWebSDKWrapper.d.ts +9 -0
  127. package/dist/esm/components/XAiWebSDKWrapper.js +4 -1
  128. package/dist/esm/components/XAiWebSDKWrapper.js.map +1 -1
  129. package/dist/esm/context/AiProviderContext.d.ts +12 -0
  130. package/dist/esm/context/ThemeContext.d.ts +20 -0
  131. package/dist/esm/hooks/useAgentGenerator.d.ts +72 -0
  132. package/dist/esm/hooks/useAgentGenerator.js +113 -39
  133. package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
  134. package/dist/esm/hooks/useEventStreamRequest.d.ts +30 -0
  135. package/dist/esm/hooks/useProviderContext.d.ts +33 -0
  136. package/dist/esm/hooks/useXAiSDK.d.ts +14 -0
  137. package/dist/esm/index.d.ts +9 -0
  138. package/dist/esm/services/api.d.ts +69 -0
  139. package/dist/esm/services/api.js.map +1 -1
  140. package/dist/esm/styles/common.d.ts +64 -0
  141. package/dist/esm/styles/markdown.d.ts +3 -0
  142. package/dist/esm/types/XAiChatbot.d.ts +159 -0
  143. package/dist/esm/types/XAiMessage.d.ts +121 -0
  144. package/dist/esm/types/XAiProvider.d.ts +46 -0
  145. package/dist/esm/types/XAiProvider.js +7 -0
  146. package/dist/esm/types/XAiProvider.js.map +1 -1
  147. package/dist/esm/types/index.d.ts +3 -0
  148. package/dist/esm/utils/chat.d.ts +34 -0
  149. package/dist/esm/utils/index.d.ts +2 -0
  150. package/dist/esm/utils/providerManager.d.ts +22 -0
  151. package/dist/esm/utils/request.d.ts +78 -0
  152. package/dist/esm/utils/request.example.d.ts +39 -0
  153. package/dist/esm/utils/umdEntry.d.ts +14 -0
  154. package/dist/esm/utils/umdEntry.js +22 -18
  155. package/dist/esm/utils/umdEntry.js.map +1 -1
  156. package/dist/umd/chat-sdk.min.js +1 -1
  157. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37;
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38;
3
3
  import React from 'react';
4
4
  import { css } from '@emotion/css';
5
5
  import { css as globalCss, Global } from '@emotion/react';
@@ -16,47 +16,46 @@ export var useStyles = withBasicStyles(function () {
16
16
  // 静态样式
17
17
  wrapper: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n max-height: 812px;\n min-height: 300px;\n width: 100%;\n height: 100%;\n min-width: 375px;\n background-color: #fff;\n // border: 1px solid rgba(80,96,122,.15);\n border-radius: 12px;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,\n Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n "]))),
18
18
  navbar: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 12px 16px;\n border-bottom: 1px solid ", ";\n background-color: #fff;\n "])), borderGray),
19
- avatar: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 40px;\n height: 40px;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 12px;\n border: 1px solid ", ";\n "])), borderGray),
20
- title: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n font-weight: 600;\n font-size: 16px;\n color: ", ";\n "])), darkGray),
21
- subtitle: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n font-size: 12px;\n color: ", ";\n margin-top: 2px;\n "])), lightGray),
22
- messageContainer: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n background-color: #fff;\n display: flex;\n flex-direction: column;\n gap: 10px;\n min-height: 0;\n position: relative;\n "]))),
23
- emptyWrapper: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: '#222';\n userSelect: none;\n "]))),
24
- emptyImg: css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n width: 60px;\n height: 60px;\n margin-bottom: 16px;\n "]))),
25
- message: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n max-width: 70%;\n padding: 10px 14px;\n border-radius: 20px;\n background-color: ", ";\n color: ", ";\n font-size: 14px;\n line-height: 1.4;\n word-break: break-word;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n "])), lightBlue, darkGray),
26
- messageRight: css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n align-self: flex-end;\n background-color: ", ";\n color: white;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 20px;\n border-top-left-radius: 20px;\n border-top-right-radius: 20px;\n "])), primaryBlue),
27
- quickReplies: css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n display: flex;\n gap: 8px;\n padding: 10px 16px;\n border-top: 1px solid ", ";\n background-color: #fff;\n overflow-x: auto;\n "])), borderGray),
28
- replyItem: css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n padding: 6px 12px;\n font-size: 13px;\n border: 1px solid ", ";\n border-radius: 20px;\n background-color: #fff;\n color: ", ";\n cursor: pointer;\n white-space: nowrap;\n user-select: none;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: ", ";\n color: #fff;\n }\n "])), primaryBlue, primaryBlue, primaryBlue),
29
- highlight: css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n background-color: ", ";\n color: white;\n border-color: ", ";\n "])), primaryBlue, primaryBlue),
30
- inputBar: css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 10px 16px;\n border-top: 1px solid ", ";\n background-color: #fff;\n "])), borderGray),
31
- input: css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n flex: 1;\n padding: 8px 12px;\n border: 1px solid ", ";\n border-radius: 20px;\n font-size: 14px;\n outline: none;\n \n &:focus {\n border-color: ", ";\n box-shadow: 0 0 3px ", ";\n }\n "])), borderGray, primaryBlue, primaryBlue),
32
- sendWrapper: css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n flex: 1;\n "]))),
33
- stopButton: css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n width: 23px !important;\n height: 23px !important;\n padding: 0 !important;\n min-width: 23px !important;\n min-height: 23px !important;\n display: flex;\n align-items: center;\n justify-content: center;\n "]))),
34
- sendButton: css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n width: 23px !important;\n height: 23px !important;\n padding: 0 !important;\n min-width: 23px !important;\n min-height: 23px !important;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ", ";\n border: none;\n border-radius: 20px;\n color: white;\n font-weight: 600;\n cursor: pointer;\n transition: background-color 0.2s ease;\n box-sizing: border-box;\n &:hover {\n background-color: #005ecb;\n }\n &:disabled {\n background-color: ", ";\n cursor: not-allowed;\n }\n "])), primaryBlue, lightBlue),
35
- uploadBtn: css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n margin-left: 8px;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background-color: ", ";\n color: white;\n font-weight: 700;\n font-size: 22px;\n line-height: 32px;\n text-align: center;\n cursor: pointer;\n border: none;\n user-select: none;\n &:hover {\n background-color: #005ecb;\n }\n "])), primaryBlue),
36
- clearBtn: css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border: 1px solid rgb(228, 231, 236);\n border-radius: 12px;\n width: 45px;\n height: 45px;\n box-sizing: border-box;\n "]))),
37
- chatFooter: css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n gap: 8px;\n position: relatative;\n z-index: 10;\n padding: 0 20px 10px 20px;\n "]))),
38
- // todo 后续增加safe-bottom
39
-
40
- flexCenterGap2: css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n "]))),
41
- iconHuihuarenqun: css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n font-family: \"iconfont\";\n font-size: 16px;\n font-weight: 300;\n padding: 3px;\n border-radius: 6px;\n color: #181B25;\n cursor: pointer;\n &:hover {\n background: #E1E4EA;\n color: #7F56D9;\n }\n "]))),
42
- popoverFooter: css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n display: flex;\n gap: 8px;\n justify-content: end;\n "]))),
43
- divider: css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n width: 1px;\n height: 15px;\n margin-left: 3px;\n margin-right: 3px;\n background: #D0D5DD;\n "]))),
44
- flexCenterGap4: css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 4px;\n color: #7F56D9;\n cursor: pointer;\n &:hover {\n opacity: 0.8;\n }\n "]))),
45
- iconZengjiaDisabled: css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["\n font-family: \"iconfont\";\n font-size: 25px;\n font-weight: 300;\n color: #D0D5DD;\n cursor: not-allowed;\n "]))),
46
- iconZengjiaNormal: css(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["\n font-family: \"iconfont\";\n font-size: 25px;\n font-weight: 300;\n color: #98A2B3;\n cursor: pointer;\n &:hover {\n color: #7F56D9;\n }\n "]))),
47
- actionHeaderWrapper: css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral(["\n margin-bottom: 12px;\n "]))),
48
- actionHeaderItem: css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n height: 40px;\n box-sizing: border-box;\n padding: 10px 16px;\n margin-bottom: 8px;\n background: #f7fafd;\n cursor: pointer;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.03);\n "]))),
49
- actionHeaderIcon: css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral(["\n height: 14px;\n "]))),
50
- actionHeaderText: css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 14px;\n color: #3961F2;\n margin-left: 10px;\n margin-right: 6px;\n "]))),
51
- actionHeaderDetail: css(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral(["\n background: #F3F5FA;\n border-radius: 8px;\n overflow: hidden;\n "]))),
52
- actionDetailTitle: css(_templateObject34 || (_templateObject34 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 0 16px;\n box-sizing: border-box;\n background: #EDEFF5;\n height: 32px;\n margin-bottom: 12px;\n cursor: pointer;\n "]))),
53
- actionHeaderDetailItem: css(_templateObject35 || (_templateObject35 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n padding: 0 16px;\n margin-bottom: 12px;\n color: #949494;\n "]))),
54
- actionHeaderCost: css(_templateObject36 || (_templateObject36 = _taggedTemplateLiteral(["\n margin-left: auto;\n color: #888;\n font-size: 12px;\n min-width: 32px;\n text-align: right;\n "])))
19
+ userAvatar: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 32px;\n width: 32px;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 12px;\n "]))),
20
+ avatar: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: 40px;\n height: 40px;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 12px;\n border: 1px solid ", ";\n "])), borderGray),
21
+ title: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n font-weight: 600;\n font-size: 16px;\n color: ", ";\n "])), darkGray),
22
+ subtitle: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n font-size: 12px;\n color: ", ";\n margin-top: 2px;\n "])), lightGray),
23
+ messageContainer: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n background-color: #fff;\n display: flex;\n flex-direction: column;\n gap: 10px;\n min-height: 0;\n position: relative;\n "]))),
24
+ emptyWrapper: css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: '#222';\n userSelect: none;\n "]))),
25
+ emptyImg: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n width: 60px;\n height: 60px;\n margin-bottom: 16px;\n "]))),
26
+ message: css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n max-width: 70%;\n padding: 10px 14px;\n border-radius: 20px;\n background-color: ", ";\n color: ", ";\n font-size: 14px;\n line-height: 1.4;\n word-break: break-word;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n "])), lightBlue, darkGray),
27
+ messageRight: css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n align-self: flex-end;\n background-color: ", ";\n color: white;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 20px;\n border-top-left-radius: 20px;\n border-top-right-radius: 20px;\n "])), primaryBlue),
28
+ quickReplies: css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n display: flex;\n gap: 8px;\n padding: 10px 16px;\n border-top: 1px solid ", ";\n background-color: #fff;\n overflow-x: auto;\n "])), borderGray),
29
+ replyItem: css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n padding: 6px 12px;\n font-size: 13px;\n border: 1px solid ", ";\n border-radius: 20px;\n background-color: #fff;\n color: ", ";\n cursor: pointer;\n white-space: nowrap;\n user-select: none;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: ", ";\n color: #fff;\n }\n "])), primaryBlue, primaryBlue, primaryBlue),
30
+ highlight: css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n background-color: ", ";\n color: white;\n border-color: ", ";\n "])), primaryBlue, primaryBlue),
31
+ inputBar: css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 10px 16px;\n border-top: 1px solid ", ";\n background-color: #fff;\n "])), borderGray),
32
+ input: css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n flex: 1;\n padding: 8px 12px;\n border: 1px solid ", ";\n border-radius: 20px;\n font-size: 14px;\n outline: none;\n \n &:focus {\n border-color: ", ";\n box-shadow: 0 0 3px ", ";\n }\n "])), borderGray, primaryBlue, primaryBlue),
33
+ sendWrapper: css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n flex: 1;\n border-radius: 26px;\n "]))),
34
+ stopButton: css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n width: 23px !important;\n height: 23px !important;\n padding: 0 !important;\n min-width: 23px !important;\n min-height: 23px !important;\n display: flex;\n align-items: center;\n justify-content: center;\n "]))),
35
+ sendButton: css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n width: 23px !important;\n height: 23px !important;\n padding: 0 !important;\n min-width: 23px !important;\n min-height: 23px !important;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ", ";\n border: none;\n border-radius: 20px;\n color: white;\n font-weight: 600;\n cursor: pointer;\n transition: background-color 0.2s ease;\n box-sizing: border-box;\n &:hover {\n background-color: #005ecb;\n }\n &:disabled {\n background-color: ", ";\n cursor: not-allowed;\n }\n "])), primaryBlue, lightBlue),
36
+ uploadBtn: css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n margin-left: 8px;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background-color: ", ";\n color: white;\n font-weight: 700;\n font-size: 22px;\n line-height: 32px;\n text-align: center;\n cursor: pointer;\n border: none;\n user-select: none;\n &:hover {\n background-color: #005ecb;\n }\n "])), primaryBlue),
37
+ clearBtn: css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border: 1px solid rgb(228, 231, 236);\n border-radius: 12px;\n width: 45px;\n height: 45px;\n box-sizing: border-box;\n "]))),
38
+ chatFooter: css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n gap: 8px;\n position: relatative;\n z-index: 10;\n padding: 0 20px 10px 20px;\n "]))),
39
+ flexCenterGap2: css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n "]))),
40
+ iconHuihuarenqun: css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n font-family: \"iconfont\";\n font-size: 16px;\n font-weight: 300;\n padding: 3px;\n border-radius: 6px;\n color: #181B25;\n cursor: pointer;\n &:hover {\n background: #E1E4EA;\n color: #7F56D9;\n }\n "]))),
41
+ popoverFooter: css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n display: flex;\n gap: 8px;\n justify-content: end;\n "]))),
42
+ divider: css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["\n width: 1px;\n height: 15px;\n margin-left: 3px;\n margin-right: 3px;\n background: #D0D5DD;\n "]))),
43
+ flexCenterGap4: css(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 4px;\n color: #7F56D9;\n cursor: pointer;\n &:hover {\n opacity: 0.8;\n }\n "]))),
44
+ iconZengjiaDisabled: css(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["\n font-family: \"iconfont\";\n font-size: 25px;\n font-weight: 300;\n color: #D0D5DD;\n cursor: not-allowed;\n "]))),
45
+ iconZengjiaNormal: css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral(["\n font-family: \"iconfont\";\n font-size: 25px;\n font-weight: 300;\n color: #98A2B3;\n cursor: pointer;\n &:hover {\n color: #7F56D9;\n }\n "]))),
46
+ actionHeaderWrapper: css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral(["\n margin-bottom: 12px;\n "]))),
47
+ actionHeaderItem: css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n height: 40px;\n box-sizing: border-box;\n padding: 10px 16px;\n margin-bottom: 8px;\n background: #f7fafd;\n cursor: pointer;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.03);\n "]))),
48
+ actionHeaderIcon: css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral(["\n height: 14px;\n "]))),
49
+ actionHeaderText: css(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 14px;\n color: #3961F2;\n margin-left: 10px;\n margin-right: 6px;\n "]))),
50
+ actionHeaderDetail: css(_templateObject34 || (_templateObject34 = _taggedTemplateLiteral(["\n background: #F3F5FA;\n border-radius: 8px;\n overflow: hidden;\n "]))),
51
+ actionDetailTitle: css(_templateObject35 || (_templateObject35 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 0 16px;\n box-sizing: border-box;\n background: #EDEFF5;\n height: 32px;\n margin-bottom: 12px;\n cursor: pointer;\n "]))),
52
+ actionHeaderDetailItem: css(_templateObject36 || (_templateObject36 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n padding: 0 16px;\n margin-bottom: 12px;\n color: #949494;\n "]))),
53
+ actionHeaderCost: css(_templateObject37 || (_templateObject37 = _taggedTemplateLiteral(["\n margin-left: auto;\n color: #888;\n font-size: 12px;\n min-width: 32px;\n text-align: right;\n "])))
55
54
  };
56
55
  });
57
56
  export var GlobalStyle = function GlobalStyle() {
58
57
  return /*#__PURE__*/_jsx(Global, {
59
- styles: globalCss(_templateObject37 || (_templateObject37 = _taggedTemplateLiteral(["\n .ant-bubble-footer {\n display: flex;\n align-items: center;\n min-width: 0,\n max-width: 600,\n /* \u4F60\u60F3\u8986\u76D6\u7684\u5176\u4ED6\u6837\u5F0F */\n }\n\n .ant-sender {\n box-shadow: none !important;\n }\n\n .ant-prompts-item {\n padding-block: 8px !important;\n }\n "])))
58
+ styles: globalCss(_templateObject38 || (_templateObject38 = _taggedTemplateLiteral(["\n .ant-bubble-footer {\n display: flex;\n align-items: center;\n min-width: 0,\n max-width: 600,\n /* \u4F60\u60F3\u8986\u76D6\u7684\u5176\u4ED6\u6837\u5F0F */\n }\n\n .ant-avatar {\n background-color: transparent;\n }\n\n .ant-sender-actions-list {\n margin-left: -40px;\n }\n\n .ant-sender {\n box-shadow: none !important;\n }\n\n .ant-prompts-item {\n padding-block: 8px !important;\n }\n\n /* \u7528\u6237\u6D88\u606F\u6C14\u6CE1\u80CC\u666F\u8272 */\n .ant-bubble .user-content {\n background-color: #D8E0FD;\n }\n\n /* \u52A9\u624B\u6D88\u606F\u6C14\u6CE1\u80CC\u666F\u8272 */\n .ant-bubble .assistant-content {\n background-color: #F3F5FA;\n }\n "])))
60
59
  });
61
60
  };
62
61
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","css","globalCss","Global","withBasicStyles","jsx","_jsx","primaryBlue","lightBlue","darkGray","lightGray","borderGray","useStyles","wrapper","_templateObject","_taggedTemplateLiteral","navbar","_templateObject2","avatar","_templateObject3","title","_templateObject4","subtitle","_templateObject5","messageContainer","_templateObject6","emptyWrapper","_templateObject7","emptyImg","_templateObject8","message","_templateObject9","messageRight","_templateObject10","quickReplies","_templateObject11","replyItem","_templateObject12","highlight","_templateObject13","inputBar","_templateObject14","input","_templateObject15","sendWrapper","_templateObject16","stopButton","_templateObject17","sendButton","_templateObject18","uploadBtn","_templateObject19","clearBtn","_templateObject20","chatFooter","_templateObject21","flexCenterGap2","_templateObject22","iconHuihuarenqun","_templateObject23","popoverFooter","_templateObject24","divider","_templateObject25","flexCenterGap4","_templateObject26","iconZengjiaDisabled","_templateObject27","iconZengjiaNormal","_templateObject28","actionHeaderWrapper","_templateObject29","actionHeaderItem","_templateObject30","actionHeaderIcon","_templateObject31","actionHeaderText","_templateObject32","actionHeaderDetail","_templateObject33","actionDetailTitle","_templateObject34","actionHeaderDetailItem","_templateObject35","actionHeaderCost","_templateObject36","GlobalStyle","styles","_templateObject37"],"sources":["../../../../src/components/XAiChatbot/styles.tsx"],"sourcesContent":["import React from 'react';\nimport { css } 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\nexport const useStyles = withBasicStyles(() => ({\n // 静态样式\n wrapper: css`\n display: flex;\n flex-direction: column;\n max-height: 812px;\n min-height: 300px;\n width: 100%;\n height: 100%;\n min-width: 375px;\n background-color: #fff;\n // border: 1px solid rgba(80,96,122,.15);\n border-radius: 12px;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,\n Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n `,\n\n navbar: css`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 12px 16px;\n border-bottom: 1px solid ${borderGray};\n background-color: #fff;\n `,\n\n avatar: css`\n width: 40px;\n height: 40px;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 12px;\n border: 1px solid ${borderGray};\n `,\n\n title: css`\n font-weight: 600;\n font-size: 16px;\n color: ${darkGray};\n `,\n\n subtitle: css`\n font-size: 12px;\n color: ${lightGray};\n margin-top: 2px;\n `,\n\n messageContainer: css`\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n background-color: #fff;\n display: flex;\n flex-direction: column;\n gap: 10px;\n min-height: 0;\n position: relative;\n `,\n\n emptyWrapper: css`\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: '#222';\n userSelect: none;\n `,\n\n emptyImg: css`\n width: 60px;\n height: 60px;\n margin-bottom: 16px;\n `,\n\n message: css`\n max-width: 70%;\n padding: 10px 14px;\n border-radius: 20px;\n background-color: ${lightBlue};\n color: ${darkGray};\n font-size: 14px;\n line-height: 1.4;\n word-break: break-word;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n `,\n\n messageRight: css`\n align-self: flex-end;\n background-color: ${primaryBlue};\n color: white;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 20px;\n border-top-left-radius: 20px;\n border-top-right-radius: 20px;\n `,\n\n quickReplies: css`\n display: flex;\n gap: 8px;\n padding: 10px 16px;\n border-top: 1px solid ${borderGray};\n background-color: #fff;\n overflow-x: auto;\n `,\n\n replyItem: css`\n padding: 6px 12px;\n font-size: 13px;\n border: 1px solid ${primaryBlue};\n border-radius: 20px;\n background-color: #fff;\n color: ${primaryBlue};\n cursor: pointer;\n white-space: nowrap;\n user-select: none;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: ${primaryBlue};\n color: #fff;\n }\n `,\n\n highlight: css`\n background-color: ${primaryBlue};\n color: white;\n border-color: ${primaryBlue};\n `,\n\n inputBar: css`\n display: flex;\n align-items: center;\n padding: 10px 16px;\n border-top: 1px solid ${borderGray};\n background-color: #fff;\n `,\n\n input: css`\n flex: 1;\n padding: 8px 12px;\n border: 1px solid ${borderGray};\n border-radius: 20px;\n font-size: 14px;\n outline: none;\n \n &:focus {\n border-color: ${primaryBlue};\n box-shadow: 0 0 3px ${primaryBlue};\n }\n `,\n\n sendWrapper: css`\n flex: 1;\n `,\n\n stopButton: css`\n width: 23px !important;\n height: 23px !important;\n padding: 0 !important;\n min-width: 23px !important;\n min-height: 23px !important;\n display: flex;\n align-items: center;\n justify-content: center;\n `,\n\n sendButton: css`\n width: 23px !important;\n height: 23px !important;\n padding: 0 !important;\n min-width: 23px !important;\n min-height: 23px !important;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ${primaryBlue};\n border: none;\n border-radius: 20px;\n color: white;\n font-weight: 600;\n cursor: pointer;\n transition: background-color 0.2s ease;\n box-sizing: border-box;\n &:hover {\n background-color: #005ecb;\n }\n &:disabled {\n background-color: ${lightBlue};\n cursor: not-allowed;\n }\n `,\n\n uploadBtn: css`\n margin-left: 8px;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background-color: ${primaryBlue};\n color: white;\n font-weight: 700;\n font-size: 22px;\n line-height: 32px;\n text-align: center;\n cursor: pointer;\n border: none;\n user-select: none;\n &:hover {\n background-color: #005ecb;\n }\n `,\n\n clearBtn: css`\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border: 1px solid rgb(228, 231, 236);\n border-radius: 12px;\n width: 45px;\n height: 45px;\n box-sizing: border-box;\n `,\n\n chatFooter: css`\n gap: 8px;\n position: relatative;\n z-index: 10;\n padding: 0 20px 10px 20px;\n `, // todo 后续增加safe-bottom\n\n flexCenterGap2: css`\n display: flex;\n align-items: center;\n gap: 8px;\n `,\n\n iconHuihuarenqun: css`\n font-family: \"iconfont\";\n font-size: 16px;\n font-weight: 300;\n padding: 3px;\n border-radius: 6px;\n color: #181B25;\n cursor: pointer;\n &:hover {\n background: #E1E4EA;\n color: #7F56D9;\n }\n `,\n\n popoverFooter: css`\n display: flex;\n gap: 8px;\n justify-content: end;\n `,\n\n divider: css`\n width: 1px;\n height: 15px;\n margin-left: 3px;\n margin-right: 3px;\n background: #D0D5DD;\n `,\n\n flexCenterGap4: css`\n display: flex;\n align-items: center;\n gap: 4px;\n color: #7F56D9;\n cursor: pointer;\n &:hover {\n opacity: 0.8;\n }\n `,\n\n iconZengjiaDisabled: css`\n font-family: \"iconfont\";\n font-size: 25px;\n font-weight: 300;\n color: #D0D5DD;\n cursor: not-allowed;\n `,\n\n iconZengjiaNormal: css`\n font-family: \"iconfont\";\n font-size: 25px;\n font-weight: 300;\n color: #98A2B3;\n cursor: pointer;\n &:hover {\n color: #7F56D9;\n }\n `,\n actionHeaderWrapper: css`\n margin-bottom: 12px;\n `,\n actionHeaderItem: css`\n display: flex;\n align-items: center;\n height: 40px;\n box-sizing: border-box;\n padding: 10px 16px;\n margin-bottom: 8px;\n background: #f7fafd;\n cursor: pointer;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.03);\n `,\n actionHeaderIcon: css`\n height: 14px;\n `,\n actionHeaderText: css`\n font-weight: 400;\n font-size: 14px;\n color: #3961F2;\n margin-left: 10px;\n margin-right: 6px;\n `,\n actionHeaderDetail: css`\n background: #F3F5FA;\n border-radius: 8px;\n overflow: hidden;\n `,\n actionDetailTitle: css`\n display: flex;\n align-items: center;\n padding: 0 16px;\n box-sizing: border-box;\n background: #EDEFF5;\n height: 32px;\n margin-bottom: 12px;\n cursor: pointer;\n `,\n actionHeaderDetailItem: css`\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n padding: 0 16px;\n margin-bottom: 12px;\n color: #949494;\n `,\n actionHeaderCost: css`\n margin-left: auto;\n color: #888;\n font-size: 12px;\n min-width: 32px;\n text-align: right;\n `,\n}));\n\nexport const GlobalStyle: React.FC = () => (\n <Global\n styles={globalCss`\n .ant-bubble-footer {\n display: flex;\n align-items: center;\n min-width: 0,\n max-width: 600,\n /* 你想覆盖的其他样式 */\n }\n\n .ant-sender {\n box-shadow: none !important;\n }\n\n .ant-prompts-item {\n padding-block: 8px !important;\n }\n `}\n />\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","css","globalCss","Global","withBasicStyles","jsx","_jsx","primaryBlue","lightBlue","darkGray","lightGray","borderGray","useStyles","wrapper","_templateObject","_taggedTemplateLiteral","navbar","_templateObject2","userAvatar","_templateObject3","avatar","_templateObject4","title","_templateObject5","subtitle","_templateObject6","messageContainer","_templateObject7","emptyWrapper","_templateObject8","emptyImg","_templateObject9","message","_templateObject10","messageRight","_templateObject11","quickReplies","_templateObject12","replyItem","_templateObject13","highlight","_templateObject14","inputBar","_templateObject15","input","_templateObject16","sendWrapper","_templateObject17","stopButton","_templateObject18","sendButton","_templateObject19","uploadBtn","_templateObject20","clearBtn","_templateObject21","chatFooter","_templateObject22","flexCenterGap2","_templateObject23","iconHuihuarenqun","_templateObject24","popoverFooter","_templateObject25","divider","_templateObject26","flexCenterGap4","_templateObject27","iconZengjiaDisabled","_templateObject28","iconZengjiaNormal","_templateObject29","actionHeaderWrapper","_templateObject30","actionHeaderItem","_templateObject31","actionHeaderIcon","_templateObject32","actionHeaderText","_templateObject33","actionHeaderDetail","_templateObject34","actionDetailTitle","_templateObject35","actionHeaderDetailItem","_templateObject36","actionHeaderCost","_templateObject37","GlobalStyle","styles","_templateObject38"],"sources":["../../../../src/components/XAiChatbot/styles.tsx"],"sourcesContent":["import React from 'react';\nimport { css } 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\nexport const useStyles = withBasicStyles(() => ({\n // 静态样式\n wrapper: css`\n display: flex;\n flex-direction: column;\n max-height: 812px;\n min-height: 300px;\n width: 100%;\n height: 100%;\n min-width: 375px;\n background-color: #fff;\n // border: 1px solid rgba(80,96,122,.15);\n border-radius: 12px;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,\n Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n `,\n\n navbar: css`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 12px 16px;\n border-bottom: 1px solid ${borderGray};\n background-color: #fff;\n `,\n\n userAvatar: css`\n display: flex;\n align-items: center;\n justify-content: center;\n height: 32px;\n width: 32px;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 12px;\n `,\n\n avatar: css`\n width: 40px;\n height: 40px;\n border-radius: 50%;\n object-fit: cover;\n margin-right: 12px;\n border: 1px solid ${borderGray};\n `,\n\n title: css`\n font-weight: 600;\n font-size: 16px;\n color: ${darkGray};\n `,\n\n subtitle: css`\n font-size: 12px;\n color: ${lightGray};\n margin-top: 2px;\n `,\n\n messageContainer: css`\n flex: 1;\n overflow-y: auto;\n padding: 16px;\n background-color: #fff;\n display: flex;\n flex-direction: column;\n gap: 10px;\n min-height: 0;\n position: relative;\n `,\n\n emptyWrapper: css`\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: '#222';\n userSelect: none;\n `,\n\n emptyImg: css`\n width: 60px;\n height: 60px;\n margin-bottom: 16px;\n `,\n\n message: css`\n max-width: 70%;\n padding: 10px 14px;\n border-radius: 20px;\n background-color: ${lightBlue};\n color: ${darkGray};\n font-size: 14px;\n line-height: 1.4;\n word-break: break-word;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n `,\n\n messageRight: css`\n align-self: flex-end;\n background-color: ${primaryBlue};\n color: white;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 20px;\n border-top-left-radius: 20px;\n border-top-right-radius: 20px;\n `,\n\n quickReplies: css`\n display: flex;\n gap: 8px;\n padding: 10px 16px;\n border-top: 1px solid ${borderGray};\n background-color: #fff;\n overflow-x: auto;\n `,\n\n replyItem: css`\n padding: 6px 12px;\n font-size: 13px;\n border: 1px solid ${primaryBlue};\n border-radius: 20px;\n background-color: #fff;\n color: ${primaryBlue};\n cursor: pointer;\n white-space: nowrap;\n user-select: none;\n transition: all 0.2s ease;\n \n &:hover {\n background-color: ${primaryBlue};\n color: #fff;\n }\n `,\n\n highlight: css`\n background-color: ${primaryBlue};\n color: white;\n border-color: ${primaryBlue};\n `,\n\n inputBar: css`\n display: flex;\n align-items: center;\n padding: 10px 16px;\n border-top: 1px solid ${borderGray};\n background-color: #fff;\n `,\n\n input: css`\n flex: 1;\n padding: 8px 12px;\n border: 1px solid ${borderGray};\n border-radius: 20px;\n font-size: 14px;\n outline: none;\n \n &:focus {\n border-color: ${primaryBlue};\n box-shadow: 0 0 3px ${primaryBlue};\n }\n `,\n\n sendWrapper: css`\n flex: 1;\n border-radius: 26px;\n `,\n\n stopButton: css`\n width: 23px !important;\n height: 23px !important;\n padding: 0 !important;\n min-width: 23px !important;\n min-height: 23px !important;\n display: flex;\n align-items: center;\n justify-content: center;\n `,\n\n sendButton: css`\n width: 23px !important;\n height: 23px !important;\n padding: 0 !important;\n min-width: 23px !important;\n min-height: 23px !important;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ${primaryBlue};\n border: none;\n border-radius: 20px;\n color: white;\n font-weight: 600;\n cursor: pointer;\n transition: background-color 0.2s ease;\n box-sizing: border-box;\n &:hover {\n background-color: #005ecb;\n }\n &:disabled {\n background-color: ${lightBlue};\n cursor: not-allowed;\n }\n `,\n\n uploadBtn: css`\n margin-left: 8px;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background-color: ${primaryBlue};\n color: white;\n font-weight: 700;\n font-size: 22px;\n line-height: 32px;\n text-align: center;\n cursor: pointer;\n border: none;\n user-select: none;\n &:hover {\n background-color: #005ecb;\n }\n `,\n\n clearBtn: css`\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n border: 1px solid rgb(228, 231, 236);\n border-radius: 12px;\n width: 45px;\n height: 45px;\n box-sizing: border-box;\n `,\n\n chatFooter: css`\n gap: 8px;\n position: relatative;\n z-index: 10;\n padding: 0 20px 10px 20px;\n `,\n\n flexCenterGap2: css`\n display: flex;\n align-items: center;\n gap: 8px;\n `,\n\n iconHuihuarenqun: css`\n font-family: \"iconfont\";\n font-size: 16px;\n font-weight: 300;\n padding: 3px;\n border-radius: 6px;\n color: #181B25;\n cursor: pointer;\n &:hover {\n background: #E1E4EA;\n color: #7F56D9;\n }\n `,\n\n popoverFooter: css`\n display: flex;\n gap: 8px;\n justify-content: end;\n `,\n\n divider: css`\n width: 1px;\n height: 15px;\n margin-left: 3px;\n margin-right: 3px;\n background: #D0D5DD;\n `,\n\n flexCenterGap4: css`\n display: flex;\n align-items: center;\n gap: 4px;\n color: #7F56D9;\n cursor: pointer;\n &:hover {\n opacity: 0.8;\n }\n `,\n\n iconZengjiaDisabled: css`\n font-family: \"iconfont\";\n font-size: 25px;\n font-weight: 300;\n color: #D0D5DD;\n cursor: not-allowed;\n `,\n\n iconZengjiaNormal: css`\n font-family: \"iconfont\";\n font-size: 25px;\n font-weight: 300;\n color: #98A2B3;\n cursor: pointer;\n &:hover {\n color: #7F56D9;\n }\n `,\n actionHeaderWrapper: css`\n margin-bottom: 12px;\n `,\n actionHeaderItem: css`\n display: flex;\n align-items: center;\n height: 40px;\n box-sizing: border-box;\n padding: 10px 16px;\n margin-bottom: 8px;\n background: #f7fafd;\n cursor: pointer;\n border-radius: 8px;\n box-shadow: 0 1px 3px rgba(0,0,0,0.03);\n `,\n actionHeaderIcon: css`\n height: 14px;\n `,\n actionHeaderText: css`\n font-weight: 400;\n font-size: 14px;\n color: #3961F2;\n margin-left: 10px;\n margin-right: 6px;\n `,\n actionHeaderDetail: css`\n background: #F3F5FA;\n border-radius: 8px;\n overflow: hidden;\n `,\n actionDetailTitle: css`\n display: flex;\n align-items: center;\n padding: 0 16px;\n box-sizing: border-box;\n background: #EDEFF5;\n height: 32px;\n margin-bottom: 12px;\n cursor: pointer;\n `,\n actionHeaderDetailItem: css`\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n padding: 0 16px;\n margin-bottom: 12px;\n color: #949494;\n `,\n actionHeaderCost: css`\n margin-left: auto;\n color: #888;\n font-size: 12px;\n min-width: 32px;\n text-align: right;\n `,\n}));\n\nexport const GlobalStyle: React.FC = () => (\n <Global\n styles={globalCss`\n .ant-bubble-footer {\n display: flex;\n align-items: center;\n min-width: 0,\n max-width: 600,\n /* 你想覆盖的其他样式 */\n }\n\n .ant-avatar {\n background-color: transparent;\n }\n\n .ant-sender-actions-list {\n margin-left: -40px;\n }\n\n .ant-sender {\n box-shadow: none !important;\n }\n\n .ant-prompts-item {\n padding-block: 8px !important;\n }\n\n /* 用户消息气泡背景色 */\n .ant-bubble .user-content {\n background-color: #D8E0FD;\n }\n\n /* 助手消息气泡背景色 */\n .ant-bubble .assistant-content {\n background-color: #F3F5FA;\n }\n `}\n />\n);\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+ import XAiProvider from './index';
3
+ declare const meta: Meta<typeof XAiProvider>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ export declare const WithProvider: Story;
7
+ export declare const MultipleProviders: Story;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { XAiProviderProps } from "../../types/XAiProvider";
3
+ declare const XAiProvider: React.FC<XAiProviderProps>;
4
+ export default XAiProvider;
@@ -4,6 +4,7 @@ import copy from 'copy-to-clipboard';
4
4
  import { XProvider } from '@ant-design/x';
5
5
  import { XAiContext } from "../../context/AiProviderContext";
6
6
  import useAgentGenerator from "../../hooks/useAgentGenerator";
7
+ import userIcon from "../../assets/user.png";
7
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
8
9
  import { jsx as _jsx } from "react/jsx-runtime";
9
10
  var XAiProvider = function XAiProvider(_ref) {
@@ -12,12 +13,16 @@ var XAiProvider = function XAiProvider(_ref) {
12
13
  config = _ref.config,
13
14
  _ref$providerId = _ref.providerId,
14
15
  providerId = _ref$providerId === void 0 ? 'defaultId' : _ref$providerId,
16
+ onSuccess = _ref.onSuccess,
17
+ onError = _ref.onError,
15
18
  children = _ref.children;
16
19
  // 使用 useAgentGenerator Hook 管理消息状态
17
20
  var _useAgentGenerator = useAgentGenerator({
18
21
  url: url,
19
22
  token: token,
20
- config: config
23
+ config: config,
24
+ onError: onError,
25
+ onSuccess: onSuccess
21
26
  }),
22
27
  appInfo = _useAgentGenerator.appInfo,
23
28
  chat = _useAgentGenerator.chat,
@@ -105,6 +110,8 @@ var XAiProvider = function XAiProvider(_ref) {
105
110
  return /*#__PURE__*/_jsx(XProvider, {
106
111
  children: /*#__PURE__*/_jsx(XAiContext.Provider, {
107
112
  value: {
113
+ avatar: icon,
114
+ userAvatar: userIcon,
108
115
  emptyStateImage: icon,
109
116
  emptyStateText: appName,
110
117
  providerId: providerId,
@@ -1 +1 @@
1
- {"version":3,"names":["React","message","Divider","copy","XProvider","XAiContext","useAgentGenerator","jsxs","_jsxs","jsx","_jsx","XAiProvider","_ref","url","token","config","_ref$providerId","providerId","children","_useAgentGenerator","appInfo","chat","stopChat","reChat","messages","loading","setMessages","_ref2","appName","icon","handleSendMessage","_type","content","handleClearMessage","handleActions","index","actionData","_ref3","id","_content$text","text","success","prev","filter","item","handleSuggestMessageClick","_item","m","ToolTip","messageData","finalResult","think","find","actionName","_ref4","extra","cost","tokenCount","style","display","alignItems","fontSize","color","flex","paddingRight","undefined","type","Provider","value","emptyStateImage","emptyStateText","error","messageTooltip","onSend","onClear","onStop","onSuggestMessageClick","onMessagesActionsCallback","isInProvider"],"sources":["../../../../src/components/XAiProvider/index.tsx"],"sourcesContent":["import React from 'react';\nimport { message, Divider } from 'antd';\nimport copy from 'copy-to-clipboard';\nimport { XProvider } from '@ant-design/x';\nimport { XAiContext } from '@/context/AiProviderContext';\nimport { XAiProviderProps } from '@/types/XAiProvider';\nimport useAgentGenerator from '@/hooks/useAgentGenerator';\n\nconst XAiProvider: React.FC<XAiProviderProps> = ({\n url,\n token,\n config,\n providerId = 'defaultId',\n children,\n}: XAiProviderProps) => {\n // 使用 useAgentGenerator Hook 管理消息状态\n const { appInfo, chat, stopChat, reChat, messages, loading, setMessages } = useAgentGenerator({ url, token, config });\n\n const { appName, icon } = appInfo || {};\n\n // 发送消息\n const handleSendMessage = (_type: string, content: string) => {\n chat(content);\n };\n\n // 清空消息\n const handleClearMessage = () => {\n stopChat();\n setMessages([]);\n };\n\n // 工具栏按钮点击\n const handleActions = (index: number, actionData: any) => {\n const { content, id } = actionData || {};\n const { text = '' } = content;\n switch (index) {\n case 0:\n reChat();\n break;\n case 1:\n copy(text);\n message.success('复制成功');\n break;\n case 2:\n setMessages((prev: any[]) => prev.filter((item: any) => item.id !== id));\n message.success('删除成功');\n break;\n }\n };\n\n // 建议消息点击\n const handleSuggestMessageClick = (_item: any, id: string) => {\n setMessages((prev: any[]) => prev.filter((m: any) => m.id !== id));\n };\n\n const ToolTip = (messageData: any) => {\n const finalResult = (messageData?.think || []).find((item: any) => item.actionName === 'FINISHED');\n if (!finalResult) return null;\n const { cost, token: tokenCount } = finalResult.extra || {};\n if (!cost && !token) return null;\n return (\n <div style={{ display: 'flex', alignItems: 'center', fontSize: '12px', color: '#949494', flex: 1, paddingRight: '40px' }}>\n { (cost !== undefined && cost !== null) && <div>{cost}s</div> }\n { tokenCount && <Divider type=\"vertical\" /> }\n { tokenCount && <div>{ tokenCount } tokens</div> }\n </div>\n );\n };\n\n return (\n <XProvider>\n <XAiContext.Provider value={{\n emptyStateImage: icon,\n emptyStateText: appName,\n providerId,\n token,\n messages,\n loading,\n error: null,\n messageTooltip: ToolTip,\n onSend: handleSendMessage,\n onClear: handleClearMessage,\n onStop: stopChat,\n onSuggestMessageClick: handleSuggestMessageClick,\n onMessagesActionsCallback: handleActions,\n isInProvider: true,\n }}\n >\n {children}\n </XAiContext.Provider>\n </XProvider>\n );\n};\n\nexport default XAiProvider;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","message","Divider","copy","XProvider","XAiContext","useAgentGenerator","userIcon","jsxs","_jsxs","jsx","_jsx","XAiProvider","_ref","url","token","config","_ref$providerId","providerId","onSuccess","onError","children","_useAgentGenerator","appInfo","chat","stopChat","reChat","messages","loading","setMessages","_ref2","appName","icon","handleSendMessage","_type","content","handleClearMessage","handleActions","index","actionData","_ref3","id","_content$text","text","success","prev","filter","item","handleSuggestMessageClick","_item","m","ToolTip","messageData","finalResult","think","find","actionName","_ref4","extra","cost","tokenCount","style","display","alignItems","fontSize","color","flex","paddingRight","undefined","type","Provider","value","avatar","userAvatar","emptyStateImage","emptyStateText","error","messageTooltip","onSend","onClear","onStop","onSuggestMessageClick","onMessagesActionsCallback","isInProvider"],"sources":["../../../../src/components/XAiProvider/index.tsx"],"sourcesContent":["import React from 'react';\nimport { message, Divider } from 'antd';\nimport copy from 'copy-to-clipboard';\nimport { XProvider } from '@ant-design/x';\nimport { XAiContext } from '@/context/AiProviderContext';\nimport { XAiProviderProps } from '@/types/XAiProvider';\nimport useAgentGenerator from '@/hooks/useAgentGenerator';\nimport userIcon from '@/assets/user.png';\n\nconst XAiProvider: React.FC<XAiProviderProps> = ({\n url,\n token,\n config,\n providerId = 'defaultId',\n onSuccess,\n onError,\n children,\n}: XAiProviderProps) => {\n // 使用 useAgentGenerator Hook 管理消息状态\n const { appInfo, chat, stopChat, reChat, messages, loading, setMessages } = useAgentGenerator({ url, token, config, onError, onSuccess });\n\n const { appName, icon } = appInfo || {};\n\n // 发送消息\n const handleSendMessage = (_type: string, content: string) => {\n chat(content);\n };\n\n // 清空消息\n const handleClearMessage = () => {\n stopChat();\n setMessages([]);\n };\n\n // 工具栏按钮点击\n const handleActions = (index: number, actionData: any) => {\n const { content, id } = actionData || {};\n const { text = '' } = content;\n switch (index) {\n case 0:\n reChat();\n break;\n case 1:\n copy(text);\n message.success('复制成功');\n break;\n case 2:\n setMessages((prev: any[]) => prev.filter((item: any) => item.id !== id));\n message.success('删除成功');\n break;\n }\n };\n\n // 建议消息点击\n const handleSuggestMessageClick = (_item: any, id: string) => {\n setMessages((prev: any[]) => prev.filter((m: any) => m.id !== id));\n };\n\n const ToolTip = (messageData: any) => {\n const finalResult = (messageData?.think || []).find((item: any) => item.actionName === 'FINISHED');\n if (!finalResult) return null;\n const { cost, token: tokenCount } = finalResult.extra || {};\n if (!cost && !token) return null;\n return (\n <div style={{ display: 'flex', alignItems: 'center', fontSize: '12px', color: '#949494', flex: 1, paddingRight: '40px' }}>\n { (cost !== undefined && cost !== null) && <div>{cost}s</div> }\n { tokenCount && <Divider type=\"vertical\" /> }\n { tokenCount && <div>{ tokenCount } tokens</div> }\n </div>\n );\n };\n\n return (\n <XProvider>\n <XAiContext.Provider value={{\n avatar: icon,\n userAvatar: userIcon,\n emptyStateImage: icon,\n emptyStateText: appName,\n providerId,\n token,\n messages,\n loading,\n error: null,\n messageTooltip: ToolTip,\n onSend: handleSendMessage,\n onClear: handleClearMessage,\n onStop: stopChat,\n onSuggestMessageClick: handleSuggestMessageClick,\n onMessagesActionsCallback: handleActions,\n isInProvider: true,\n }}\n >\n {children}\n </XAiContext.Provider>\n </XProvider>\n );\n};\n\nexport default XAiProvider;\n"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { XAiProviderProps } from "../types/XAiProvider";
3
+ export interface XAiSDKProps extends XAiProviderProps {
4
+ width?: string | number;
5
+ height?: string | number;
6
+ className?: string;
7
+ style?: React.CSSProperties;
8
+ }
9
+ declare const XAiSDK: React.FC<XAiSDKProps>;
10
+ export default XAiSDK;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { XAiSDKProps } from "../types/XAiProvider";
3
+ import XAiWebSDK from "../utils/umdEntry";
4
+ export interface XAiWebSDKWrapperProps extends XAiSDKProps {
5
+ onInit?: (sdk: XAiWebSDK) => void;
6
+ onDestroy?: () => void;
7
+ }
8
+ declare const XAiWebSDKWrapper: React.FC<XAiWebSDKWrapperProps>;
9
+ export default XAiWebSDKWrapper;
@@ -1,3 +1,4 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
1
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
3
  var _excluded = ["onInit", "onDestroy"];
3
4
  import React, { useEffect, useRef } from 'react';
@@ -12,7 +13,9 @@ var XAiWebSDKWrapper = function XAiWebSDKWrapper(_ref) {
12
13
  useEffect(function () {
13
14
  if (containerRef.current && !sdkRef.current) {
14
15
  // 创建 SDK 实例
15
- sdkRef.current = XAiWebSDK.initChatbot(containerRef.current, sdkProps);
16
+ sdkRef.current = XAiWebSDK.initChatbot(_objectSpread(_objectSpread({}, sdkProps), {}, {
17
+ componentProps: _objectSpread({}, sdkProps.componentProps || {})
18
+ }));
16
19
 
17
20
  // 调用初始化回调
18
21
  if (onInit && sdkRef.current) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","XAiWebSDK","jsx","_jsx","XAiWebSDKWrapper","_ref","onInit","onDestroy","sdkProps","_objectWithoutProperties","_excluded","sdkRef","containerRef","current","initChatbot","unmount","ref"],"sources":["../../../src/components/XAiWebSDKWrapper.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { XAiSDKProps } from '@/types/XAiProvider';\nimport XAiWebSDK from '@/utils/umdEntry';\n\nexport interface XAiWebSDKWrapperProps extends XAiSDKProps {\n onInit?: (sdk: XAiWebSDK) => void;\n onDestroy?: () => void;\n}\n\nconst XAiWebSDKWrapper: React.FC<XAiWebSDKWrapperProps> = ({\n onInit,\n onDestroy,\n ...sdkProps\n}) => {\n const sdkRef = useRef<XAiWebSDK | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (containerRef.current && !sdkRef.current) {\n // 创建 SDK 实例\n sdkRef.current = XAiWebSDK.initChatbot(containerRef.current, sdkProps);\n\n // 调用初始化回调\n if (onInit && sdkRef.current) {\n onInit(sdkRef.current);\n }\n }\n\n // 清理函数\n return () => {\n if (sdkRef.current) {\n sdkRef.current.unmount();\n sdkRef.current = null;\n\n // 调用销毁回调\n if (onDestroy) {\n onDestroy();\n }\n }\n };\n }, []); // 只在组件挂载时初始化\n\n return <div ref={containerRef} />;\n};\n\nexport default XAiWebSDKWrapper;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEhD,OAAOC,SAAS;AAAyB,SAAAC,GAAA,IAAAC,IAAA;AAOzC,IAAMC,gBAAiD,GAAG,SAApDA,gBAAiDA,CAAAC,IAAA,EAIjD;EAAA,IAHJC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACNC,QAAQ,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEX,IAAMC,MAAM,GAAGX,MAAM,CAAmB,IAAI,CAAC;EAC7C,IAAMY,YAAY,GAAGZ,MAAM,CAAiB,IAAI,CAAC;EAEjDD,SAAS,CAAC,YAAM;IACd,IAAIa,YAAY,CAACC,OAAO,IAAI,CAACF,MAAM,CAACE,OAAO,EAAE;MAC3C;MACAF,MAAM,CAACE,OAAO,GAAGZ,SAAS,CAACa,WAAW,CAACF,YAAY,CAACC,OAAO,EAAEL,QAAQ,CAAC;;MAEtE;MACA,IAAIF,MAAM,IAAIK,MAAM,CAACE,OAAO,EAAE;QAC5BP,MAAM,CAACK,MAAM,CAACE,OAAO,CAAC;MACxB;IACF;;IAEA;IACA,OAAO,YAAM;MACX,IAAIF,MAAM,CAACE,OAAO,EAAE;QAClBF,MAAM,CAACE,OAAO,CAACE,OAAO,CAAC,CAAC;QACxBJ,MAAM,CAACE,OAAO,GAAG,IAAI;;QAErB;QACA,IAAIN,SAAS,EAAE;UACbA,SAAS,CAAC,CAAC;QACb;MACF;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;;EAER,oBAAOJ,IAAA;IAAKa,GAAG,EAAEJ;EAAa,CAAE,CAAC;AACnC,CAAC;AAED,eAAeR,gBAAgB"}
1
+ {"version":3,"names":["React","useEffect","useRef","XAiWebSDK","jsx","_jsx","XAiWebSDKWrapper","_ref","onInit","onDestroy","sdkProps","_objectWithoutProperties","_excluded","sdkRef","containerRef","current","initChatbot","_objectSpread","componentProps","unmount","ref"],"sources":["../../../src/components/XAiWebSDKWrapper.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { XAiSDKProps } from '@/types/XAiProvider';\nimport XAiWebSDK from '@/utils/umdEntry';\n\nexport interface XAiWebSDKWrapperProps extends XAiSDKProps {\n onInit?: (sdk: XAiWebSDK) => void;\n onDestroy?: () => void;\n}\n\nconst XAiWebSDKWrapper: React.FC<XAiWebSDKWrapperProps> = ({\n onInit,\n onDestroy,\n ...sdkProps\n}) => {\n const sdkRef = useRef<XAiWebSDK | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (containerRef.current && !sdkRef.current) {\n // 创建 SDK 实例\n sdkRef.current = XAiWebSDK.initChatbot({\n ...sdkProps,\n componentProps: {\n ...(sdkProps.componentProps || {}),\n // 保证容器 id 唯一或传递其它样式\n },\n });\n\n // 调用初始化回调\n if (onInit && sdkRef.current) {\n onInit(sdkRef.current);\n }\n }\n\n // 清理函数\n return () => {\n if (sdkRef.current) {\n sdkRef.current.unmount();\n sdkRef.current = null;\n\n // 调用销毁回调\n if (onDestroy) {\n onDestroy();\n }\n }\n };\n }, []); // 只在组件挂载时初始化\n\n return <div ref={containerRef} />;\n};\n\nexport default XAiWebSDKWrapper;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEhD,OAAOC,SAAS;AAAyB,SAAAC,GAAA,IAAAC,IAAA;AAOzC,IAAMC,gBAAiD,GAAG,SAApDA,gBAAiDA,CAAAC,IAAA,EAIjD;EAAA,IAHJC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACNC,QAAQ,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEX,IAAMC,MAAM,GAAGX,MAAM,CAAmB,IAAI,CAAC;EAC7C,IAAMY,YAAY,GAAGZ,MAAM,CAAiB,IAAI,CAAC;EAEjDD,SAAS,CAAC,YAAM;IACd,IAAIa,YAAY,CAACC,OAAO,IAAI,CAACF,MAAM,CAACE,OAAO,EAAE;MAC3C;MACAF,MAAM,CAACE,OAAO,GAAGZ,SAAS,CAACa,WAAW,CAAAC,aAAA,CAAAA,aAAA,KACjCP,QAAQ;QACXQ,cAAc,EAAAD,aAAA,KACRP,QAAQ,CAACQ,cAAc,IAAI,CAAC,CAAC;MAElC,EACF,CAAC;;MAEF;MACA,IAAIV,MAAM,IAAIK,MAAM,CAACE,OAAO,EAAE;QAC5BP,MAAM,CAACK,MAAM,CAACE,OAAO,CAAC;MACxB;IACF;;IAEA;IACA,OAAO,YAAM;MACX,IAAIF,MAAM,CAACE,OAAO,EAAE;QAClBF,MAAM,CAACE,OAAO,CAACI,OAAO,CAAC,CAAC;QACxBN,MAAM,CAACE,OAAO,GAAG,IAAI;;QAErB;QACA,IAAIN,SAAS,EAAE;UACbA,SAAS,CAAC,CAAC;QACb;MACF;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;;EAER,oBAAOJ,IAAA;IAAKe,GAAG,EAAEN;EAAa,CAAE,CAAC;AACnC,CAAC;AAED,eAAeR,gBAAgB"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import type { XAiChatbotProps } from "../types/XAiChatbot";
3
+ export interface XAiContextType extends XAiChatbotProps {
4
+ providerId?: string;
5
+ token: string;
6
+ error: string | null;
7
+ isInProvider?: boolean;
8
+ }
9
+ declare const XAiContext: React.Context<XAiContextType>;
10
+ export { XAiContext };
11
+ export declare const useXAi: () => XAiContextType | undefined;
12
+ export declare const useXAiProviders: () => string[];
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ export interface XThemeConfig {
3
+ mode?: 'light' | 'dark';
4
+ primaryColor?: string;
5
+ bubble?: {
6
+ className?: string;
7
+ style?: React.CSSProperties;
8
+ classNames?: Record<string, string>;
9
+ styles?: Record<string, React.CSSProperties>;
10
+ };
11
+ sender?: {
12
+ className?: string;
13
+ style?: React.CSSProperties;
14
+ classNames?: Record<string, string>;
15
+ styles?: Record<string, React.CSSProperties>;
16
+ };
17
+ }
18
+ export declare const ThemeContext: React.Context<XThemeConfig>;
19
+ export declare const useTheme: () => XThemeConfig;
20
+ export declare const ThemeProvider: React.Provider<XThemeConfig>;
@@ -0,0 +1,72 @@
1
+ /// <reference types="react" />
2
+ import { Messages } from "../types/XAiMessage";
3
+ import { Error } from "../types/XAiProvider";
4
+ export type ContentType = 'TEXT' | 'IMAGE' | 'FILE';
5
+ export interface ImageUrl {
6
+ url: string;
7
+ name: string;
8
+ }
9
+ export interface FileUrl {
10
+ url: string;
11
+ fileName: string;
12
+ suffix: string;
13
+ }
14
+ export interface Content {
15
+ text?: string;
16
+ imageUrl?: ImageUrl;
17
+ fileUrl?: FileUrl;
18
+ }
19
+ export interface ContentDef {
20
+ description: string;
21
+ contentType: ContentType;
22
+ content: Content;
23
+ }
24
+ export type Contents = ContentDef[];
25
+ export declare enum ActionType {
26
+ recallKnowledgeStart = "RECALL_KNOWLEDGE_START",// 知识库召回开始
27
+ recallKnowledgeEnd = "RECALL_KNOWLEDGE_END",// 知识库召回结束
28
+ invokeToolStart = "INVOKE_AGENT_TOOL_START",// 开始调用工具
29
+ invokeToolEnd = "INVOKE_AGENT_TOOL_END",// 调用工具完成
30
+ suggest = "FOLLOW_UP",// 用户提示
31
+ response = "RESPONSE",// 响应
32
+ finish = "FINISHED"
33
+ }
34
+ export declare enum ProcessStatus {
35
+ start = "START",
36
+ end = "END"
37
+ }
38
+ export declare enum ActionAvailability {
39
+ disabled = "disabled",// 不可用
40
+ enabled = "enabled",// 可用
41
+ remote = "remote"
42
+ }
43
+ export type ThinkStep = any;
44
+ /**
45
+ * 工具/动作定义
46
+ */
47
+ export interface Action {
48
+ name: string;
49
+ description: string;
50
+ jsonSchema: string;
51
+ available?: ActionAvailability;
52
+ error?: Error;
53
+ }
54
+ export interface UseAgentGeneratorProps {
55
+ url: string;
56
+ token: string;
57
+ config: any;
58
+ onError?: (error: Error) => void;
59
+ onSuccess?: (appInfo: any) => void;
60
+ }
61
+ declare const useAgentGenerator: ({ url, token, config, onError, onSuccess, }: UseAgentGeneratorProps) => {
62
+ appInfo: any;
63
+ messages: Messages[];
64
+ loading: boolean;
65
+ content: any;
66
+ reChat: () => void;
67
+ chat: (content: any) => Promise<void>;
68
+ setMessage: (messageType: string, content: any) => Promise<void>;
69
+ setMessages: import("react").Dispatch<import("react").SetStateAction<Messages[]>>;
70
+ stopChat: () => void;
71
+ };
72
+ export default useAgentGenerator;