@ai-group/chat-sdk 2.1.14 → 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.
Files changed (239) hide show
  1. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.d.ts +9 -2
  2. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js +564 -10
  3. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js.map +2 -2
  4. package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.d.ts +12 -0
  5. package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.js +92 -0
  6. package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.js.map +7 -0
  7. package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.d.ts +44 -0
  8. package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.js +137 -0
  9. package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.js.map +7 -0
  10. package/dist/cjs/components/XAdkChatbot/index.d.ts +10 -0
  11. package/dist/cjs/components/XAdkChatbot/index.js +292 -123
  12. package/dist/cjs/components/XAdkChatbot/index.js.map +3 -3
  13. package/dist/cjs/components/XAdkChatbot/styles.d.ts +10 -0
  14. package/dist/cjs/components/XAdkChatbot/styles.js +67 -3
  15. package/dist/cjs/components/XAdkChatbot/styles.js.map +2 -2
  16. package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.d.ts +10 -0
  17. package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js +394 -0
  18. package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js.map +7 -0
  19. package/dist/cjs/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
  20. package/dist/cjs/components/XAdkProvider/compound/Chatbot.js +64 -0
  21. package/dist/cjs/components/XAdkProvider/compound/Chatbot.js.map +7 -0
  22. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.d.ts +26 -0
  23. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js +199 -0
  24. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js.map +7 -0
  25. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
  26. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js +117 -0
  27. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js.map +7 -0
  28. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
  29. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js +64 -0
  30. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js.map +7 -0
  31. package/dist/cjs/components/XAdkProvider/compound/Header.d.ts +25 -0
  32. package/dist/cjs/components/XAdkProvider/compound/Header.js +70 -0
  33. package/dist/cjs/components/XAdkProvider/compound/Header.js.map +7 -0
  34. package/dist/cjs/components/XAdkProvider/compound/Messages.d.ts +17 -0
  35. package/dist/cjs/components/XAdkProvider/compound/Messages.js +70 -0
  36. package/dist/cjs/components/XAdkProvider/compound/Messages.js.map +7 -0
  37. package/dist/cjs/components/XAdkProvider/compound/Sender.d.ts +27 -0
  38. package/dist/cjs/components/XAdkProvider/compound/Sender.js +55 -0
  39. package/dist/cjs/components/XAdkProvider/compound/Sender.js.map +7 -0
  40. package/dist/cjs/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
  41. package/dist/cjs/components/XAdkProvider/compound/Sidebar.js +151 -0
  42. package/dist/cjs/components/XAdkProvider/compound/Sidebar.js.map +7 -0
  43. package/dist/cjs/components/XAdkProvider/compound/Welcome.d.ts +6 -0
  44. package/dist/cjs/components/XAdkProvider/compound/Welcome.js +60 -0
  45. package/dist/cjs/components/XAdkProvider/compound/Welcome.js.map +7 -0
  46. package/dist/cjs/components/XAdkProvider/compound/index.d.ts +17 -0
  47. package/dist/cjs/components/XAdkProvider/compound/index.js +55 -0
  48. package/dist/cjs/components/XAdkProvider/compound/index.js.map +7 -0
  49. package/dist/cjs/components/XAdkProvider/compound/styles.d.ts +36 -0
  50. package/dist/cjs/components/XAdkProvider/compound/styles.js +49 -0
  51. package/dist/cjs/components/XAdkProvider/compound/styles.js.map +7 -0
  52. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.d.ts +30 -0
  53. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js +40 -0
  54. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js.map +7 -0
  55. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.d.ts +35 -0
  56. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js +42 -0
  57. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js.map +7 -0
  58. package/dist/cjs/components/XAdkProvider/context/SessionContext.d.ts +29 -0
  59. package/dist/cjs/components/XAdkProvider/context/SessionContext.js +40 -0
  60. package/dist/cjs/components/XAdkProvider/context/SessionContext.js.map +7 -0
  61. package/dist/cjs/components/XAdkProvider/context/index.d.ts +7 -0
  62. package/dist/cjs/components/XAdkProvider/context/index.js +28 -0
  63. package/dist/cjs/components/XAdkProvider/context/index.js.map +7 -0
  64. package/dist/cjs/components/XAdkProvider/index.d.ts +55 -0
  65. package/dist/cjs/components/XAdkProvider/index.js +221 -0
  66. package/dist/cjs/components/XAdkProvider/index.js.map +7 -0
  67. package/dist/cjs/components/{XAdkWebProvider → XAdkProvider}/styles.js +2 -1
  68. package/dist/cjs/components/XAdkProvider/styles.js.map +7 -0
  69. package/dist/cjs/components/XAdkSender/FileGallery.d.ts +8 -0
  70. package/dist/cjs/components/XAdkSender/FileGallery.js +381 -0
  71. package/dist/cjs/components/XAdkSender/FileGallery.js.map +7 -0
  72. package/dist/cjs/components/XAdkSender/index.js +95 -81
  73. package/dist/cjs/components/XAdkSender/index.js.map +3 -3
  74. package/dist/cjs/components/XAdkSender/styles.d.ts +0 -9
  75. package/dist/cjs/components/XAdkSender/styles.js +21 -150
  76. package/dist/cjs/components/XAdkSender/styles.js.map +2 -2
  77. package/dist/cjs/components/XAiConversations/index.js +1 -1
  78. package/dist/cjs/components/XAiConversations/index.js.map +2 -2
  79. package/dist/cjs/components/XAiConversations/styles.js +5 -0
  80. package/dist/cjs/components/XAiConversations/styles.js.map +2 -2
  81. package/dist/cjs/hooks/useADKChat.d.ts +7 -1
  82. package/dist/cjs/hooks/useADKChat.js +20 -4
  83. package/dist/cjs/hooks/useADKChat.js.map +2 -2
  84. package/dist/cjs/index.d.ts +25 -9
  85. package/dist/cjs/index.js +37 -0
  86. package/dist/cjs/index.js.map +3 -3
  87. package/dist/cjs/styles/common.js +1 -1
  88. package/dist/cjs/styles/common.js.map +2 -2
  89. package/dist/cjs/types/ChatHook.d.ts +81 -0
  90. package/dist/cjs/types/ChatHook.js +18 -0
  91. package/dist/cjs/types/ChatHook.js.map +7 -0
  92. package/dist/cjs/types/XAdkChatbot.d.ts +80 -15
  93. package/dist/cjs/types/XAdkChatbot.js.map +1 -1
  94. package/dist/cjs/types/XAdkProvider.d.ts +10 -27
  95. package/dist/cjs/types/XAdkProvider.js.map +2 -2
  96. package/dist/cjs/types/XAdkSender.d.ts +18 -0
  97. package/dist/cjs/types/XAdkSender.js.map +1 -1
  98. package/dist/cjs/types/XAiConversations.d.ts +4 -2
  99. package/dist/cjs/types/XAiConversations.js.map +1 -1
  100. package/dist/cjs/types/XAiThoughtChain.d.ts +1 -1
  101. package/dist/cjs/types/XAiThoughtChain.js.map +1 -1
  102. package/dist/cjs/utils/index.d.ts +1 -0
  103. package/dist/cjs/utils/index.js +4 -1
  104. package/dist/cjs/utils/index.js.map +2 -2
  105. package/dist/cjs/utils/parseAgentMessage.d.ts +81 -0
  106. package/dist/cjs/utils/parseAgentMessage.js +180 -0
  107. package/dist/cjs/utils/parseAgentMessage.js.map +7 -0
  108. package/dist/cjs/utils/umdEntry.d.ts +91 -0
  109. package/dist/cjs/utils/umdEntry.js +108 -6
  110. package/dist/cjs/utils/umdEntry.js.map +3 -3
  111. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.d.ts +9 -2
  112. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js +485 -8
  113. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js.map +1 -1
  114. package/dist/esm/components/XAdkChatbot/components/FileGallery/index.d.ts +12 -0
  115. package/dist/esm/components/XAdkChatbot/components/FileGallery/index.js +104 -0
  116. package/dist/esm/components/XAdkChatbot/components/FileGallery/index.js.map +1 -0
  117. package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.d.ts +44 -0
  118. package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.js +20 -0
  119. package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.js.map +1 -0
  120. package/dist/esm/components/XAdkChatbot/index.d.ts +10 -0
  121. package/dist/esm/components/XAdkChatbot/index.js +388 -172
  122. package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
  123. package/dist/esm/components/XAdkChatbot/styles.d.ts +10 -0
  124. package/dist/esm/components/XAdkChatbot/styles.js +23 -12
  125. package/dist/esm/components/XAdkChatbot/styles.js.map +1 -1
  126. package/dist/esm/components/XAdkProvider/XAdkProvider.stories.d.ts +10 -0
  127. package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js +338 -0
  128. package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js.map +1 -0
  129. package/dist/esm/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
  130. package/dist/esm/components/XAdkProvider/compound/Chatbot.js +47 -0
  131. package/dist/esm/components/XAdkProvider/compound/Chatbot.js.map +1 -0
  132. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.d.ts +26 -0
  133. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js +142 -0
  134. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js.map +1 -0
  135. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
  136. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js +122 -0
  137. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js.map +1 -0
  138. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
  139. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js +34 -0
  140. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js.map +1 -0
  141. package/dist/esm/components/XAdkProvider/compound/Header.d.ts +25 -0
  142. package/dist/esm/components/XAdkProvider/compound/Header.js +79 -0
  143. package/dist/esm/components/XAdkProvider/compound/Header.js.map +1 -0
  144. package/dist/esm/components/XAdkProvider/compound/Messages.d.ts +17 -0
  145. package/dist/esm/components/XAdkProvider/compound/Messages.js +53 -0
  146. package/dist/esm/components/XAdkProvider/compound/Messages.js.map +1 -0
  147. package/dist/esm/components/XAdkProvider/compound/Sender.d.ts +27 -0
  148. package/dist/esm/components/XAdkProvider/compound/Sender.js +41 -0
  149. package/dist/esm/components/XAdkProvider/compound/Sender.js.map +1 -0
  150. package/dist/esm/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
  151. package/dist/esm/components/XAdkProvider/compound/Sidebar.js +142 -0
  152. package/dist/esm/components/XAdkProvider/compound/Sidebar.js.map +1 -0
  153. package/dist/esm/components/XAdkProvider/compound/Welcome.d.ts +6 -0
  154. package/dist/esm/components/XAdkProvider/compound/Welcome.js +36 -0
  155. package/dist/esm/components/XAdkProvider/compound/Welcome.js.map +1 -0
  156. package/dist/esm/components/XAdkProvider/compound/index.d.ts +17 -0
  157. package/dist/esm/components/XAdkProvider/compound/index.js +13 -0
  158. package/dist/esm/components/XAdkProvider/compound/index.js.map +1 -0
  159. package/dist/esm/components/XAdkProvider/compound/styles.d.ts +36 -0
  160. package/dist/esm/components/XAdkProvider/compound/styles.js +10 -0
  161. package/dist/esm/components/XAdkProvider/compound/styles.js.map +1 -0
  162. package/dist/esm/components/XAdkProvider/context/ChatActionContext.d.ts +30 -0
  163. package/dist/esm/components/XAdkProvider/context/ChatActionContext.js +23 -0
  164. package/dist/esm/components/XAdkProvider/context/ChatActionContext.js.map +1 -0
  165. package/dist/esm/components/XAdkProvider/context/ChatStateContext.d.ts +35 -0
  166. package/dist/esm/components/XAdkProvider/context/ChatStateContext.js +23 -0
  167. package/dist/esm/components/XAdkProvider/context/ChatStateContext.js.map +1 -0
  168. package/dist/esm/components/XAdkProvider/context/SessionContext.d.ts +29 -0
  169. package/dist/esm/components/XAdkProvider/context/SessionContext.js +22 -0
  170. package/dist/esm/components/XAdkProvider/context/SessionContext.js.map +1 -0
  171. package/dist/esm/components/XAdkProvider/context/index.d.ts +7 -0
  172. package/dist/esm/components/XAdkProvider/context/index.js +9 -0
  173. package/dist/esm/components/XAdkProvider/context/index.js.map +1 -0
  174. package/dist/esm/components/XAdkProvider/index.d.ts +55 -0
  175. package/dist/esm/components/XAdkProvider/index.js +220 -0
  176. package/dist/esm/components/XAdkProvider/index.js.map +1 -0
  177. package/dist/esm/components/{XAdkWebProvider → XAdkProvider}/styles.js +2 -2
  178. package/dist/esm/components/XAdkProvider/styles.js.map +1 -0
  179. package/dist/esm/components/XAdkSender/FileGallery.d.ts +8 -0
  180. package/dist/esm/components/XAdkSender/FileGallery.js +236 -0
  181. package/dist/esm/components/XAdkSender/FileGallery.js.map +1 -0
  182. package/dist/esm/components/XAdkSender/index.js +92 -109
  183. package/dist/esm/components/XAdkSender/index.js.map +1 -1
  184. package/dist/esm/components/XAdkSender/styles.d.ts +0 -9
  185. package/dist/esm/components/XAdkSender/styles.js +14 -31
  186. package/dist/esm/components/XAdkSender/styles.js.map +1 -1
  187. package/dist/esm/components/XAiConversations/index.js +1 -1
  188. package/dist/esm/components/XAiConversations/index.js.map +1 -1
  189. package/dist/esm/components/XAiConversations/styles.js +2 -2
  190. package/dist/esm/components/XAiConversations/styles.js.map +1 -1
  191. package/dist/esm/hooks/useADKChat.d.ts +7 -1
  192. package/dist/esm/hooks/useADKChat.js +31 -12
  193. package/dist/esm/hooks/useADKChat.js.map +1 -1
  194. package/dist/esm/index.d.ts +25 -9
  195. package/dist/esm/index.js +28 -2
  196. package/dist/esm/index.js.map +1 -1
  197. package/dist/esm/styles/common.js +11 -11
  198. package/dist/esm/styles/common.js.map +1 -1
  199. package/dist/esm/types/ChatHook.d.ts +81 -0
  200. package/dist/esm/types/ChatHook.js +2 -0
  201. package/dist/esm/types/ChatHook.js.map +1 -0
  202. package/dist/esm/types/XAdkChatbot.d.ts +80 -15
  203. package/dist/esm/types/XAdkChatbot.js.map +1 -1
  204. package/dist/esm/types/XAdkProvider.d.ts +10 -27
  205. package/dist/esm/types/XAdkProvider.js.map +1 -1
  206. package/dist/esm/types/XAdkSender.d.ts +18 -0
  207. package/dist/esm/types/XAdkSender.js.map +1 -1
  208. package/dist/esm/types/XAiConversations.d.ts +4 -2
  209. package/dist/esm/types/XAiConversations.js.map +1 -1
  210. package/dist/esm/types/XAiThoughtChain.d.ts +1 -1
  211. package/dist/esm/types/XAiThoughtChain.js.map +1 -1
  212. package/dist/esm/utils/index.d.ts +1 -0
  213. package/dist/esm/utils/index.js +3 -0
  214. package/dist/esm/utils/index.js.map +1 -1
  215. package/dist/esm/utils/parseAgentMessage.d.ts +81 -0
  216. package/dist/esm/utils/parseAgentMessage.js +286 -0
  217. package/dist/esm/utils/parseAgentMessage.js.map +1 -0
  218. package/dist/esm/utils/umdEntry.d.ts +91 -0
  219. package/dist/esm/utils/umdEntry.js +154 -16
  220. package/dist/esm/utils/umdEntry.js.map +1 -1
  221. package/dist/umd/chat-sdk.min.css +1 -1
  222. package/dist/umd/chat-sdk.min.js +1 -1
  223. package/package.json +20 -11
  224. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +0 -7
  225. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +0 -177
  226. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +0 -7
  227. package/dist/cjs/components/XAdkWebProvider/index.d.ts +0 -4
  228. package/dist/cjs/components/XAdkWebProvider/index.js +0 -372
  229. package/dist/cjs/components/XAdkWebProvider/index.js.map +0 -7
  230. package/dist/cjs/components/XAdkWebProvider/styles.js.map +0 -7
  231. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +0 -7
  232. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +0 -163
  233. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +0 -1
  234. package/dist/esm/components/XAdkWebProvider/index.d.ts +0 -4
  235. package/dist/esm/components/XAdkWebProvider/index.js +0 -480
  236. package/dist/esm/components/XAdkWebProvider/index.js.map +0 -1
  237. package/dist/esm/components/XAdkWebProvider/styles.js.map +0 -1
  238. /package/dist/cjs/components/{XAdkWebProvider → XAdkProvider}/styles.d.ts +0 -0
  239. /package/dist/esm/components/{XAdkWebProvider → XAdkProvider}/styles.d.ts +0 -0
@@ -0,0 +1,92 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/XAdkChatbot/components/FileGallery/index.tsx
20
+ var FileGallery_exports = {};
21
+ __export(FileGallery_exports, {
22
+ default: () => FileGallery_default
23
+ });
24
+ module.exports = __toCommonJS(FileGallery_exports);
25
+ var import_antd = require("antd");
26
+ var import_styles = require("./styles");
27
+ var import_jsx_runtime = require("react/jsx-runtime");
28
+ var getFileName = (file) => {
29
+ return file.displayName || "";
30
+ };
31
+ var getFileUrl = (file) => {
32
+ return file.fileUri || "";
33
+ };
34
+ var isImage = (file) => {
35
+ if (!file)
36
+ return false;
37
+ const mimeType = file.mimeType;
38
+ const name = getFileName(file);
39
+ const url = getFileUrl(file);
40
+ if (mimeType == null ? void 0 : mimeType.startsWith("image/"))
41
+ return true;
42
+ if (name == null ? void 0 : name.match(/\.(jpg|jpeg|png|gif|webp|bmp|svg)$/i))
43
+ return true;
44
+ if (url == null ? void 0 : url.match(/\.(jpg|jpeg|png|gif|webp|bmp|svg)(\?.*)?$/i))
45
+ return true;
46
+ return false;
47
+ };
48
+ var FileGallery = ({ files, align = "left" }) => {
49
+ const styles = (0, import_styles.useStyles)();
50
+ if (!files || files.length === 0)
51
+ return null;
52
+ const imageFiles = files.filter(isImage);
53
+ const otherFiles = files.filter((f) => !isImage(f));
54
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
55
+ "div",
56
+ {
57
+ className: `${styles.fileGalleryWrapper} ${align === "right" ? "alignRight" : ""}`,
58
+ children: [
59
+ imageFiles.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: styles.imageGrid, "data-count": imageFiles.length, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_antd.Image.PreviewGroup, { children: imageFiles.map((file, index) => {
60
+ const src = getFileUrl(file);
61
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: styles.imageItem, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
62
+ import_antd.Image,
63
+ {
64
+ src,
65
+ className: styles.img,
66
+ width: "100%",
67
+ height: "100%",
68
+ alt: getFileName(file),
69
+ fallback: "https://via.placeholder.com/150?text=Load+Error",
70
+ style: { objectFit: "cover" }
71
+ }
72
+ ) }, index);
73
+ }) }) }),
74
+ otherFiles.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: styles.fileList, children: otherFiles.map((file, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: styles.fileItem, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
75
+ "a",
76
+ {
77
+ href: getFileUrl(file),
78
+ target: "_blank",
79
+ rel: "noopener noreferrer",
80
+ className: styles.fileLink,
81
+ children: [
82
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: styles.fileIcon, children: "📄" }),
83
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: styles.fileName, children: getFileName(file) })
84
+ ]
85
+ }
86
+ ) }, i)) })
87
+ ]
88
+ }
89
+ );
90
+ };
91
+ var FileGallery_default = FileGallery;
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/XAdkChatbot/components/FileGallery/index.tsx"],
4
+ "sourcesContent": ["import React from \"react\";\nimport { Image } from \"antd\";\nimport { useStyles } from \"./styles\";\nimport type { FileData } from \"@/types\";\n\nexport interface FileGalleryProps {\n files?: FileData[];\n align?: \"left\" | \"right\";\n}\n\n/**\n * 获取文件名\n */\nconst getFileName = (file: FileData): string => {\n return file.displayName || \"\";\n};\n\n/**\n * 获取文件 URL\n */\nconst getFileUrl = (file: FileData): string => {\n return file.fileUri || \"\";\n};\n\n/**\n * 判断是否为图片\n */\nconst isImage = (file: FileData): boolean => {\n if (!file) return false;\n\n const mimeType = file.mimeType;\n const name = getFileName(file);\n const url = getFileUrl(file);\n\n // 1. 根据 MIME 类型判断\n if (mimeType?.startsWith(\"image/\")) return true;\n\n // 2. 根据后缀名判断\n if (name?.match(/\\.(jpg|jpeg|png|gif|webp|bmp|svg)$/i)) return true;\n\n // 3. 根据 URL 后缀判断 (兜底)\n if (url?.match(/\\.(jpg|jpeg|png|gif|webp|bmp|svg)(\\?.*)?$/i)) return true;\n\n return false;\n};\n\n/**\n * 文件展示画廊组件\n * 支持图片九宫格 + 文件列表双模式\n */\nconst FileGallery: React.FC<FileGalleryProps> = ({ files, align = \"left\" }) => {\n const styles = useStyles();\n\n if (!files || files.length === 0) return null;\n\n // 分类:图片 vs 其他文件\n const imageFiles = files.filter(isImage);\n const otherFiles = files.filter((f) => !isImage(f));\n\n return (\n <div\n className={`${styles.fileGalleryWrapper} ${align === \"right\" ? \"alignRight\" : \"\"}`}\n >\n {/* 1. 图片区域:九宫格 */}\n {imageFiles.length > 0 && (\n <div className={styles.imageGrid} data-count={imageFiles.length}>\n <Image.PreviewGroup>\n {imageFiles.map((file, index) => {\n const src = getFileUrl(file);\n return (\n <div key={index} className={styles.imageItem}>\n <Image\n src={src}\n className={styles.img}\n width=\"100%\"\n height=\"100%\"\n alt={getFileName(file)}\n fallback=\"https://via.placeholder.com/150?text=Load+Error\"\n style={{ objectFit: \"cover\" }}\n />\n </div>\n );\n })}\n </Image.PreviewGroup>\n </div>\n )}\n\n {/* 2. 非图片文件:列表展示 */}\n {otherFiles.length > 0 && (\n <div className={styles.fileList}>\n {otherFiles.map((file, i) => (\n <div key={i} className={styles.fileItem}>\n <a\n href={getFileUrl(file)}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={styles.fileLink}\n >\n <span className={styles.fileIcon}>📄</span>\n <span className={styles.fileName}>{getFileName(file)}</span>\n </a>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n};\n\nexport default FileGallery;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,kBAAsB;AACtB,oBAA0B;AAqER;AA1DlB,IAAM,cAAc,CAAC,SAA2B;AAC9C,SAAO,KAAK,eAAe;AAC7B;AAKA,IAAM,aAAa,CAAC,SAA2B;AAC7C,SAAO,KAAK,WAAW;AACzB;AAKA,IAAM,UAAU,CAAC,SAA4B;AAC3C,MAAI,CAAC;AAAM,WAAO;AAElB,QAAM,WAAW,KAAK;AACtB,QAAM,OAAO,YAAY,IAAI;AAC7B,QAAM,MAAM,WAAW,IAAI;AAG3B,MAAI,qCAAU,WAAW;AAAW,WAAO;AAG3C,MAAI,6BAAM,MAAM;AAAwC,WAAO;AAG/D,MAAI,2BAAK,MAAM;AAA+C,WAAO;AAErE,SAAO;AACT;AAMA,IAAM,cAA0C,CAAC,EAAE,OAAO,QAAQ,OAAO,MAAM;AAC7E,QAAM,aAAS,yBAAU;AAEzB,MAAI,CAAC,SAAS,MAAM,WAAW;AAAG,WAAO;AAGzC,QAAM,aAAa,MAAM,OAAO,OAAO;AACvC,QAAM,aAAa,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAElD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,OAAO,sBAAsB,UAAU,UAAU,eAAe;AAAA,MAG7E;AAAA,mBAAW,SAAS,KACnB,4CAAC,SAAI,WAAW,OAAO,WAAW,cAAY,WAAW,QACvD,sDAAC,kBAAM,cAAN,EACE,qBAAW,IAAI,CAAC,MAAM,UAAU;AAC/B,gBAAM,MAAM,WAAW,IAAI;AAC3B,iBACE,4CAAC,SAAgB,WAAW,OAAO,WACjC;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,WAAW,OAAO;AAAA,cAClB,OAAM;AAAA,cACN,QAAO;AAAA,cACP,KAAK,YAAY,IAAI;AAAA,cACrB,UAAS;AAAA,cACT,OAAO,EAAE,WAAW,QAAQ;AAAA;AAAA,UAC9B,KATQ,KAUV;AAAA,QAEJ,CAAC,GACH,GACF;AAAA,QAID,WAAW,SAAS,KACnB,4CAAC,SAAI,WAAW,OAAO,UACpB,qBAAW,IAAI,CAAC,MAAM,MACrB,4CAAC,SAAY,WAAW,OAAO,UAC7B;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,WAAW,IAAI;AAAA,YACrB,QAAO;AAAA,YACP,KAAI;AAAA,YACJ,WAAW,OAAO;AAAA,YAElB;AAAA,0DAAC,UAAK,WAAW,OAAO,UAAU,gBAAE;AAAA,cACpC,4CAAC,UAAK,WAAW,OAAO,UAAW,sBAAY,IAAI,GAAE;AAAA;AAAA;AAAA,QACvD,KATQ,CAUV,CACD,GACH;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,IAAO,sBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,44 @@
1
+ export declare const useStyles: () => {
2
+ fileGalleryWrapper: string;
3
+ imageGrid: string;
4
+ imageItem: string;
5
+ img: string;
6
+ fileList: string;
7
+ fileItem: string;
8
+ fileLink: string;
9
+ fileIcon: string;
10
+ fileName: string;
11
+ } & {
12
+ w: (width: string | number) => string;
13
+ h: (height: string | number) => string;
14
+ p: (padding: string) => string;
15
+ pb: (padding: string | number) => string;
16
+ pt: (padding: string | number) => string;
17
+ pl: (padding: string | number) => string;
18
+ pr: (padding: string | number) => string;
19
+ m: (margin: string) => string;
20
+ mb: (margin: string | number) => string;
21
+ mt: (margin: string | number) => string;
22
+ ml: (margin: string | number) => string;
23
+ mr: (margin: string | number) => string;
24
+ text: (size: string | number) => string;
25
+ weight: (size: number) => string;
26
+ textColor: (c: string) => string;
27
+ bg: (c: string) => string;
28
+ rs: (radius: string | number) => string;
29
+ gap: (g: string | number) => string;
30
+ flex: string;
31
+ flexCenter: string;
32
+ flexBetween: string;
33
+ flexColumn: string;
34
+ flex1: string;
35
+ cursor: (type: string) => string;
36
+ border: (color: string, width?: string) => string;
37
+ boxShadow: (shadow: string) => string;
38
+ transition: (property?: string, duration?: string) => string;
39
+ overflow: (type: string) => string;
40
+ position: (type: string) => string;
41
+ zIndex: (index: number) => string;
42
+ flexCenterGap2: string;
43
+ flexCenterGap4: string;
44
+ };
@@ -0,0 +1,137 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/XAdkChatbot/components/FileGallery/styles.tsx
20
+ var styles_exports = {};
21
+ __export(styles_exports, {
22
+ useStyles: () => useStyles
23
+ });
24
+ module.exports = __toCommonJS(styles_exports);
25
+ var import_css = require("@emotion/css");
26
+ var import_common = require("../../../../styles/common");
27
+ var useStyles = (0, import_common.withBasicStyles)(() => ({
28
+ fileGalleryWrapper: import_css.css`
29
+ margin: 8px 0;
30
+
31
+ &.alignRight {
32
+ display: flex;
33
+ flex-direction: column;
34
+ align-items: flex-end;
35
+ }
36
+ `,
37
+ // 九宫格布局
38
+ imageGrid: import_css.css`
39
+ display: grid;
40
+ gap: 8px;
41
+ max-width: 400px;
42
+ margin-bottom: 8px;
43
+
44
+ /* 1张图片:单列 */
45
+ &[data-count="1"] {
46
+ grid-template-columns: 1fr;
47
+ max-width: 300px;
48
+ }
49
+
50
+ /* 2-4张图片:两列 */
51
+ &[data-count="2"],
52
+ &[data-count="3"],
53
+ &[data-count="4"] {
54
+ grid-template-columns: repeat(2, 1fr);
55
+ }
56
+
57
+ /* 5-9张图片:三列 */
58
+ &[data-count="5"],
59
+ &[data-count="6"],
60
+ &[data-count="7"],
61
+ &[data-count="8"],
62
+ &[data-count="9"] {
63
+ grid-template-columns: repeat(3, 1fr);
64
+ max-width: 400px;
65
+ }
66
+ `,
67
+ imageItem: import_css.css`
68
+ position: relative;
69
+ width: 100%;
70
+ padding-top: 100%; /* 1:1 比例 */
71
+ overflow: hidden;
72
+ border-radius: 8px;
73
+ background: #ffffff;
74
+ border: 1px solid #d9d9d9;
75
+
76
+ .ant-image {
77
+ position: absolute;
78
+ top: 0;
79
+ left: 0;
80
+ width: 100%;
81
+ height: 100%;
82
+ }
83
+ `,
84
+ img: import_css.css`
85
+ object-fit: cover;
86
+ cursor: pointer;
87
+ transition: transform 0.2s;
88
+
89
+ &:hover {
90
+ transform: scale(1.05);
91
+ }
92
+ `,
93
+ // 文件列表
94
+ fileList: import_css.css`
95
+ display: flex;
96
+ flex-direction: column;
97
+ gap: 8px;
98
+ max-width: 400px;
99
+ `,
100
+ fileItem: import_css.css`
101
+ background: #ffffff;
102
+ border: 1px solid #d9d9d9;
103
+ border-radius: 8px;
104
+ padding: 12px;
105
+ transition: all 0.2s;
106
+
107
+ &:hover {
108
+ border-color: #1890ff;
109
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
110
+ }
111
+ `,
112
+ fileLink: import_css.css`
113
+ display: flex;
114
+ align-items: center;
115
+ gap: 8px;
116
+ color: rgba(0, 0, 0, 0.85);
117
+ text-decoration: none;
118
+
119
+ &:hover {
120
+ color: #1890ff;
121
+ }
122
+ `,
123
+ fileIcon: import_css.css`
124
+ font-size: 20px;
125
+ `,
126
+ fileName: import_css.css`
127
+ flex: 1;
128
+ overflow: hidden;
129
+ text-overflow: ellipsis;
130
+ white-space: nowrap;
131
+ `
132
+ }));
133
+ // Annotate the CommonJS export names for ESM import in node:
134
+ 0 && (module.exports = {
135
+ useStyles
136
+ });
137
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/XAdkChatbot/components/FileGallery/styles.tsx"],
4
+ "sourcesContent": ["import { css } from \"@emotion/css\";\nimport { withBasicStyles } from \"@/styles/common\";\n\nexport const useStyles = withBasicStyles(() => ({\n fileGalleryWrapper: css`\n margin: 8px 0;\n\n &.alignRight {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n }\n `,\n\n // 九宫格布局\n imageGrid: css`\n display: grid;\n gap: 8px;\n max-width: 400px;\n margin-bottom: 8px;\n\n /* 1张图片:单列 */\n &[data-count=\"1\"] {\n grid-template-columns: 1fr;\n max-width: 300px;\n }\n\n /* 2-4张图片:两列 */\n &[data-count=\"2\"],\n &[data-count=\"3\"],\n &[data-count=\"4\"] {\n grid-template-columns: repeat(2, 1fr);\n }\n\n /* 5-9张图片:三列 */\n &[data-count=\"5\"],\n &[data-count=\"6\"],\n &[data-count=\"7\"],\n &[data-count=\"8\"],\n &[data-count=\"9\"] {\n grid-template-columns: repeat(3, 1fr);\n max-width: 400px;\n }\n `,\n\n imageItem: css`\n position: relative;\n width: 100%;\n padding-top: 100%; /* 1:1 比例 */\n overflow: hidden;\n border-radius: 8px;\n background: #ffffff;\n border: 1px solid #d9d9d9;\n\n .ant-image {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n `,\n\n img: css`\n object-fit: cover;\n cursor: pointer;\n transition: transform 0.2s;\n\n &:hover {\n transform: scale(1.05);\n }\n `,\n\n // 文件列表\n fileList: css`\n display: flex;\n flex-direction: column;\n gap: 8px;\n max-width: 400px;\n `,\n\n fileItem: css`\n background: #ffffff;\n border: 1px solid #d9d9d9;\n border-radius: 8px;\n padding: 12px;\n transition: all 0.2s;\n\n &:hover {\n border-color: #1890ff;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n }\n `,\n\n fileLink: css`\n display: flex;\n align-items: center;\n gap: 8px;\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n\n &:hover {\n color: #1890ff;\n }\n `,\n\n fileIcon: css`\n font-size: 20px;\n `,\n\n fileName: css`\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n}));\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAoB;AACpB,oBAAgC;AAEzB,IAAM,gBAAY,+BAAgB,OAAO;AAAA,EAC9C,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWpB,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA8BX,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBX,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWL,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOV,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaV,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYV,UAAU;AAAA;AAAA;AAAA,EAIV,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAMZ,EAAE;",
6
+ "names": []
7
+ }
@@ -1,4 +1,14 @@
1
1
  import React from "react";
2
2
  import type { XAdkChatbotProps } from "../../types";
3
+ /**
4
+ * XAdkChatbot - 增强版聊天组件
5
+ *
6
+ * 新增功能:
7
+ * - ✅ 自动消息分组 (enableGrouping)
8
+ * - ✅ 自动解析思维链 (enableProcessParsing)
9
+ * - ✅ 文件展示 (FileGallery)
10
+ * - ✅ 操作栏 (重试/复制/日志)
11
+ * - ✅ 欢迎页面 (agentName/agentIcon/description)
12
+ */
3
13
  declare const XAdkChatbot: React.FC<XAdkChatbotProps>;
4
14
  export default XAdkChatbot;