@hkyhy/marsun-components-core 0.1.52 → 0.1.53

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 (309) hide show
  1. package/README.md +23 -15
  2. package/dist/agent-hub.d.ts +11 -0
  3. package/dist/agent-hub.js +144 -0
  4. package/dist/agent-hub.js.map +1 -0
  5. package/dist/components/AgentHub/Chat/Action/CreateButton.js +3 -3
  6. package/dist/components/AgentHub/Chat/Action/ManageActionButtons.js +4 -4
  7. package/dist/components/AgentHub/Chat/Action/SessionActionButtons.js +4 -4
  8. package/dist/components/AgentHub/Chat/Detail/ChatFollowUpSuggestions/index.js +29 -27
  9. package/dist/components/AgentHub/Chat/Detail/ChatFollowUpSuggestions/index.js.map +1 -1
  10. package/dist/components/AgentHub/Chat/Detail/ChatInput/index.js +19 -18
  11. package/dist/components/AgentHub/Chat/Detail/ChatInput/index.js.map +1 -1
  12. package/dist/components/AgentHub/Chat/Detail/CitationPanel/index.js +18 -17
  13. package/dist/components/AgentHub/Chat/Detail/CitationPanel/index.js.map +1 -1
  14. package/dist/components/AgentHub/Chat/Detail/MessageActions/index.js +23 -19
  15. package/dist/components/AgentHub/Chat/Detail/MessageActions/index.js.map +1 -1
  16. package/dist/components/AgentHub/Chat/Detail/MessageItem/index.js +23 -21
  17. package/dist/components/AgentHub/Chat/Detail/MessageItem/index.js.map +1 -1
  18. package/dist/components/AgentHub/Chat/List/ChatCard/index.js +7 -7
  19. package/dist/components/AgentHub/Chat/List/SessionSidebar/index.js +19 -17
  20. package/dist/components/AgentHub/Chat/List/SessionSidebar/index.js.map +1 -1
  21. package/dist/components/AgentHub/KnowledgeBase/Action/CreateButton.js +3 -3
  22. package/dist/components/AgentHub/KnowledgeBase/Action/ManageActionButtons.js +1 -1
  23. package/dist/components/AgentHub/KnowledgeBase/Detail/DocumentTable/index.js +16 -15
  24. package/dist/components/AgentHub/KnowledgeBase/Detail/DocumentTable/index.js.map +1 -1
  25. package/dist/components/AgentHub/KnowledgeBase/Detail/ParseStatusTag/index.js +7 -7
  26. package/dist/components/AgentHub/KnowledgeBase/List/KnowledgeCard/index.js +8 -8
  27. package/dist/components/AgentHub/Report/Detail/ReportHtmlPreview/index.js +1 -1
  28. package/dist/components/Auth/UserProfileCard/UserProfileCard.js +7 -7
  29. package/dist/components/File/FileItem/index.js +22 -20
  30. package/dist/components/File/FileItem/index.js.map +1 -1
  31. package/dist/components/File/FilePreview/index.js +11 -11
  32. package/dist/components/File/fileDisplay.js +41 -36
  33. package/dist/components/File/fileDisplay.js.map +1 -1
  34. package/dist/components/Filter/CommonFilter/index.js +20 -18
  35. package/dist/components/Filter/CommonFilter/index.js.map +1 -1
  36. package/dist/components/Filter/FilterSelect/index.js +90 -89
  37. package/dist/components/Filter/FilterSelect/index.js.map +1 -1
  38. package/dist/components/Filter/FilterTreeSelect/index.js +51 -48
  39. package/dist/components/Filter/FilterTreeSelect/index.js.map +1 -1
  40. package/dist/components/Filter/FilterTrigger/index.js +13 -11
  41. package/dist/components/Filter/FilterTrigger/index.js.map +1 -1
  42. package/dist/components/Form/PersonOptionRow/index.js +4 -4
  43. package/dist/components/Icons/ArrowLeft.d.ts +1 -0
  44. package/dist/components/Icons/ArrowLeft.js +7 -0
  45. package/dist/components/Icons/ArrowLeft.js.map +1 -0
  46. package/dist/components/Icons/ArrowLeftRight.d.ts +1 -0
  47. package/dist/components/Icons/ArrowLeftRight.js +7 -0
  48. package/dist/components/Icons/ArrowLeftRight.js.map +1 -0
  49. package/dist/components/Icons/BarChart3.d.ts +1 -0
  50. package/dist/components/Icons/BarChart3.js +7 -0
  51. package/dist/components/Icons/BarChart3.js.map +1 -0
  52. package/dist/components/Icons/Bell.d.ts +1 -0
  53. package/dist/components/Icons/Bell.js +7 -0
  54. package/dist/components/Icons/Bell.js.map +1 -0
  55. package/dist/components/Icons/BookOpen.d.ts +1 -0
  56. package/dist/components/Icons/BookOpen.js +7 -0
  57. package/dist/components/Icons/BookOpen.js.map +1 -0
  58. package/dist/components/Icons/Bot.d.ts +1 -0
  59. package/dist/components/Icons/Bot.js +7 -0
  60. package/dist/components/Icons/Bot.js.map +1 -0
  61. package/dist/components/Icons/Check.d.ts +1 -0
  62. package/dist/components/Icons/Check.js +7 -0
  63. package/dist/components/Icons/Check.js.map +1 -0
  64. package/dist/components/Icons/ChevronDown.d.ts +1 -0
  65. package/dist/components/Icons/ChevronDown.js +7 -0
  66. package/dist/components/Icons/ChevronDown.js.map +1 -0
  67. package/dist/components/Icons/ChevronLeft.d.ts +1 -0
  68. package/dist/components/Icons/ChevronLeft.js +7 -0
  69. package/dist/components/Icons/ChevronLeft.js.map +1 -0
  70. package/dist/components/Icons/ChevronRight.d.ts +1 -0
  71. package/dist/components/Icons/ChevronRight.js +7 -0
  72. package/dist/components/Icons/ChevronRight.js.map +1 -0
  73. package/dist/components/Icons/ChevronUp.d.ts +1 -0
  74. package/dist/components/Icons/ChevronUp.js +7 -0
  75. package/dist/components/Icons/ChevronUp.js.map +1 -0
  76. package/dist/components/Icons/CircleAlert.d.ts +1 -0
  77. package/dist/components/Icons/CircleAlert.js +7 -0
  78. package/dist/components/Icons/CircleAlert.js.map +1 -0
  79. package/dist/components/Icons/CircleCheck.d.ts +1 -0
  80. package/dist/components/Icons/CircleCheck.js +7 -0
  81. package/dist/components/Icons/CircleCheck.js.map +1 -0
  82. package/dist/components/Icons/CircleHelp.d.ts +1 -0
  83. package/dist/components/Icons/CircleHelp.js +7 -0
  84. package/dist/components/Icons/CircleHelp.js.map +1 -0
  85. package/dist/components/Icons/CirclePlay.d.ts +1 -0
  86. package/dist/components/Icons/CirclePlay.js +7 -0
  87. package/dist/components/Icons/CirclePlay.js.map +1 -0
  88. package/dist/components/Icons/CircleX.d.ts +1 -0
  89. package/dist/components/Icons/CircleX.js +7 -0
  90. package/dist/components/Icons/CircleX.js.map +1 -0
  91. package/dist/components/Icons/ClipboardCheck.d.ts +1 -0
  92. package/dist/components/Icons/ClipboardCheck.js +7 -0
  93. package/dist/components/Icons/ClipboardCheck.js.map +1 -0
  94. package/dist/components/Icons/Clock.d.ts +1 -0
  95. package/dist/components/Icons/Clock.js +7 -0
  96. package/dist/components/Icons/Clock.js.map +1 -0
  97. package/dist/components/Icons/CloudDownload.d.ts +1 -0
  98. package/dist/components/Icons/CloudDownload.js +7 -0
  99. package/dist/components/Icons/CloudDownload.js.map +1 -0
  100. package/dist/components/Icons/CloudUpload.d.ts +1 -0
  101. package/dist/components/Icons/CloudUpload.js +7 -0
  102. package/dist/components/Icons/CloudUpload.js.map +1 -0
  103. package/dist/components/Icons/Code.d.ts +1 -0
  104. package/dist/components/Icons/Code.js +7 -0
  105. package/dist/components/Icons/Code.js.map +1 -0
  106. package/dist/components/Icons/Copy.d.ts +1 -0
  107. package/dist/components/Icons/Copy.js +7 -0
  108. package/dist/components/Icons/Copy.js.map +1 -0
  109. package/dist/components/Icons/Crown.d.ts +1 -0
  110. package/dist/components/Icons/Crown.js +7 -0
  111. package/dist/components/Icons/Crown.js.map +1 -0
  112. package/dist/components/Icons/Database.d.ts +1 -0
  113. package/dist/components/Icons/Database.js +7 -0
  114. package/dist/components/Icons/Database.js.map +1 -0
  115. package/dist/components/Icons/Download.d.ts +1 -0
  116. package/dist/components/Icons/Download.js +7 -0
  117. package/dist/components/Icons/Download.js.map +1 -0
  118. package/dist/components/Icons/Eye.d.ts +1 -0
  119. package/dist/components/Icons/Eye.js +7 -0
  120. package/dist/components/Icons/Eye.js.map +1 -0
  121. package/dist/components/Icons/EyeOff.d.ts +1 -0
  122. package/dist/components/Icons/EyeOff.js +7 -0
  123. package/dist/components/Icons/EyeOff.js.map +1 -0
  124. package/dist/components/Icons/File.d.ts +1 -0
  125. package/dist/components/Icons/File.js +7 -0
  126. package/dist/components/Icons/File.js.map +1 -0
  127. package/dist/components/Icons/FileArchive.d.ts +1 -0
  128. package/dist/components/Icons/FileArchive.js +7 -0
  129. package/dist/components/Icons/FileArchive.js.map +1 -0
  130. package/dist/components/Icons/FileImage.d.ts +1 -0
  131. package/dist/components/Icons/FileImage.js +7 -0
  132. package/dist/components/Icons/FileImage.js.map +1 -0
  133. package/dist/components/Icons/FileSpreadsheet.d.ts +1 -0
  134. package/dist/components/Icons/FileSpreadsheet.js +7 -0
  135. package/dist/components/Icons/FileSpreadsheet.js.map +1 -0
  136. package/dist/components/Icons/FileText.d.ts +1 -0
  137. package/dist/components/Icons/FileText.js +7 -0
  138. package/dist/components/Icons/FileText.js.map +1 -0
  139. package/dist/components/Icons/Flag.d.ts +1 -0
  140. package/dist/components/Icons/Flag.js +7 -0
  141. package/dist/components/Icons/Flag.js.map +1 -0
  142. package/dist/components/Icons/Flame.d.ts +1 -0
  143. package/dist/components/Icons/Flame.js +7 -0
  144. package/dist/components/Icons/Flame.js.map +1 -0
  145. package/dist/components/Icons/Folder.d.ts +1 -0
  146. package/dist/components/Icons/Folder.js +7 -0
  147. package/dist/components/Icons/Folder.js.map +1 -0
  148. package/dist/components/Icons/FolderOpen.d.ts +1 -0
  149. package/dist/components/Icons/FolderOpen.js +7 -0
  150. package/dist/components/Icons/FolderOpen.js.map +1 -0
  151. package/dist/components/Icons/Hash.d.ts +1 -0
  152. package/dist/components/Icons/Hash.js +7 -0
  153. package/dist/components/Icons/Hash.js.map +1 -0
  154. package/dist/components/Icons/House.d.ts +1 -0
  155. package/dist/components/Icons/House.js +7 -0
  156. package/dist/components/Icons/House.js.map +1 -0
  157. package/dist/components/Icons/Import.d.ts +1 -0
  158. package/dist/components/Icons/Import.js +7 -0
  159. package/dist/components/Icons/Import.js.map +1 -0
  160. package/dist/components/Icons/Inbox.d.ts +1 -0
  161. package/dist/components/Icons/Inbox.js +7 -0
  162. package/dist/components/Icons/Inbox.js.map +1 -0
  163. package/dist/components/Icons/Info.d.ts +1 -0
  164. package/dist/components/Icons/Info.js +7 -0
  165. package/dist/components/Icons/Info.js.map +1 -0
  166. package/dist/components/Icons/LayoutDashboard.d.ts +1 -0
  167. package/dist/components/Icons/LayoutDashboard.js +7 -0
  168. package/dist/components/Icons/LayoutDashboard.js.map +1 -0
  169. package/dist/components/Icons/LayoutGrid.d.ts +1 -0
  170. package/dist/components/Icons/LayoutGrid.js +7 -0
  171. package/dist/components/Icons/LayoutGrid.js.map +1 -0
  172. package/dist/components/Icons/ListTodo.d.ts +1 -0
  173. package/dist/components/Icons/ListTodo.js +7 -0
  174. package/dist/components/Icons/ListTodo.js.map +1 -0
  175. package/dist/components/Icons/Loader2.d.ts +1 -0
  176. package/dist/components/Icons/Loader2.js +7 -0
  177. package/dist/components/Icons/Loader2.js.map +1 -0
  178. package/dist/components/Icons/Lock.d.ts +1 -0
  179. package/dist/components/Icons/Lock.js +7 -0
  180. package/dist/components/Icons/Lock.js.map +1 -0
  181. package/dist/components/Icons/LogOut.d.ts +1 -0
  182. package/dist/components/Icons/LogOut.js +7 -0
  183. package/dist/components/Icons/LogOut.js.map +1 -0
  184. package/dist/components/Icons/Maximize2.d.ts +1 -0
  185. package/dist/components/Icons/Maximize2.js +7 -0
  186. package/dist/components/Icons/Maximize2.js.map +1 -0
  187. package/dist/components/Icons/MessageCircle.d.ts +1 -0
  188. package/dist/components/Icons/MessageCircle.js +7 -0
  189. package/dist/components/Icons/MessageCircle.js.map +1 -0
  190. package/dist/components/Icons/MessageSquare.d.ts +1 -0
  191. package/dist/components/Icons/MessageSquare.js +7 -0
  192. package/dist/components/Icons/MessageSquare.js.map +1 -0
  193. package/dist/components/Icons/Minimize2.d.ts +1 -0
  194. package/dist/components/Icons/Minimize2.js +7 -0
  195. package/dist/components/Icons/Minimize2.js.map +1 -0
  196. package/dist/components/Icons/PanelLeftClose.d.ts +1 -0
  197. package/dist/components/Icons/PanelLeftClose.js +7 -0
  198. package/dist/components/Icons/PanelLeftClose.js.map +1 -0
  199. package/dist/components/Icons/PanelLeftOpen.d.ts +1 -0
  200. package/dist/components/Icons/PanelLeftOpen.js +7 -0
  201. package/dist/components/Icons/PanelLeftOpen.js.map +1 -0
  202. package/dist/components/Icons/Pause.d.ts +1 -0
  203. package/dist/components/Icons/Pause.js +7 -0
  204. package/dist/components/Icons/Pause.js.map +1 -0
  205. package/dist/components/Icons/Pencil.d.ts +1 -0
  206. package/dist/components/Icons/Pencil.js +7 -0
  207. package/dist/components/Icons/Pencil.js.map +1 -0
  208. package/dist/components/Icons/Plus.d.ts +1 -0
  209. package/dist/components/Icons/Plus.js +7 -0
  210. package/dist/components/Icons/Plus.js.map +1 -0
  211. package/dist/components/Icons/Presentation.d.ts +1 -0
  212. package/dist/components/Icons/Presentation.js +7 -0
  213. package/dist/components/Icons/Presentation.js.map +1 -0
  214. package/dist/components/Icons/RefreshCw.d.ts +1 -0
  215. package/dist/components/Icons/RefreshCw.js +7 -0
  216. package/dist/components/Icons/RefreshCw.js.map +1 -0
  217. package/dist/components/Icons/RotateCw.d.ts +1 -0
  218. package/dist/components/Icons/RotateCw.js +7 -0
  219. package/dist/components/Icons/RotateCw.js.map +1 -0
  220. package/dist/components/Icons/Send.d.ts +1 -0
  221. package/dist/components/Icons/Send.js +7 -0
  222. package/dist/components/Icons/Send.js.map +1 -0
  223. package/dist/components/Icons/Settings.d.ts +1 -0
  224. package/dist/components/Icons/Settings.js +7 -0
  225. package/dist/components/Icons/Settings.js.map +1 -0
  226. package/dist/components/Icons/Shield.d.ts +1 -0
  227. package/dist/components/Icons/Shield.js +7 -0
  228. package/dist/components/Icons/Shield.js.map +1 -0
  229. package/dist/components/Icons/ShieldCheck.d.ts +1 -0
  230. package/dist/components/Icons/ShieldCheck.js +7 -0
  231. package/dist/components/Icons/ShieldCheck.js.map +1 -0
  232. package/dist/components/Icons/SlidersHorizontal.d.ts +1 -0
  233. package/dist/components/Icons/SlidersHorizontal.js +7 -0
  234. package/dist/components/Icons/SlidersHorizontal.js.map +1 -0
  235. package/dist/components/Icons/Square.d.ts +1 -0
  236. package/dist/components/Icons/Square.js +7 -0
  237. package/dist/components/Icons/Square.js.map +1 -0
  238. package/dist/components/Icons/Star.d.ts +1 -0
  239. package/dist/components/Icons/Star.js +7 -0
  240. package/dist/components/Icons/Star.js.map +1 -0
  241. package/dist/components/Icons/ThumbsDown.d.ts +1 -0
  242. package/dist/components/Icons/ThumbsDown.js +7 -0
  243. package/dist/components/Icons/ThumbsDown.js.map +1 -0
  244. package/dist/components/Icons/ThumbsUp.d.ts +1 -0
  245. package/dist/components/Icons/ThumbsUp.js +7 -0
  246. package/dist/components/Icons/ThumbsUp.js.map +1 -0
  247. package/dist/components/Icons/Trash2.d.ts +1 -0
  248. package/dist/components/Icons/Trash2.js +7 -0
  249. package/dist/components/Icons/Trash2.js.map +1 -0
  250. package/dist/components/Icons/Trophy.d.ts +1 -0
  251. package/dist/components/Icons/Trophy.js +7 -0
  252. package/dist/components/Icons/Trophy.js.map +1 -0
  253. package/dist/components/Icons/Undo2.d.ts +1 -0
  254. package/dist/components/Icons/Undo2.js +7 -0
  255. package/dist/components/Icons/Undo2.js.map +1 -0
  256. package/dist/components/Icons/Upload.d.ts +1 -0
  257. package/dist/components/Icons/Upload.js +7 -0
  258. package/dist/components/Icons/Upload.js.map +1 -0
  259. package/dist/components/Icons/User.d.ts +1 -0
  260. package/dist/components/Icons/User.js +7 -0
  261. package/dist/components/Icons/User.js.map +1 -0
  262. package/dist/components/Icons/UserPlus.d.ts +1 -0
  263. package/dist/components/Icons/UserPlus.js +7 -0
  264. package/dist/components/Icons/UserPlus.js.map +1 -0
  265. package/dist/components/Icons/UserRoundCog.d.ts +1 -0
  266. package/dist/components/Icons/UserRoundCog.js +7 -0
  267. package/dist/components/Icons/UserRoundCog.js.map +1 -0
  268. package/dist/components/Icons/Users.d.ts +1 -0
  269. package/dist/components/Icons/Users.js +7 -0
  270. package/dist/components/Icons/Users.js.map +1 -0
  271. package/dist/components/Icons/X.d.ts +1 -0
  272. package/dist/components/Icons/X.js +7 -0
  273. package/dist/components/Icons/X.js.map +1 -0
  274. package/dist/components/Icons/createIcon.d.ts +9 -0
  275. package/dist/components/Icons/createIcon.js +32 -0
  276. package/dist/components/Icons/createIcon.js.map +1 -0
  277. package/dist/components/Icons/index.d.ts +80 -90
  278. package/dist/components/Icons/registry.d.ts +6 -0
  279. package/dist/components/Icons/registry.js +239 -0
  280. package/dist/components/Icons/registry.js.map +1 -0
  281. package/dist/components/InteractiveBlock/InteractiveBlock.js +6 -6
  282. package/dist/components/Layout/AgentAppShell/AgentAppShell.js +24 -23
  283. package/dist/components/Layout/AgentAppShell/AgentAppShell.js.map +1 -1
  284. package/dist/components/Layout/PageHeaderLayout/index.js +7 -7
  285. package/dist/components/Modal/Modal/index.js +8 -8
  286. package/dist/components/Modal/StepModal/index.js +9 -9
  287. package/dist/components/OrgTree/OrgTree.js +41 -39
  288. package/dist/components/OrgTree/OrgTree.js.map +1 -1
  289. package/dist/components/StateBar/StateBar.js +4 -4
  290. package/dist/components/Table/ColumnConfigPanel.js +13 -10
  291. package/dist/components/Table/ColumnConfigPanel.js.map +1 -1
  292. package/dist/components/Table/Table.js +7 -7
  293. package/dist/components/Tour/AppTour/index.js +10 -10
  294. package/dist/components/Upload/index.js +76 -72
  295. package/dist/components/Upload/index.js.map +1 -1
  296. package/dist/file.d.ts +5 -0
  297. package/dist/file.js +24 -0
  298. package/dist/file.js.map +1 -0
  299. package/dist/index.d.ts +3 -1
  300. package/dist/index.js +615 -537
  301. package/dist/index.js.map +1 -1
  302. package/dist/llm.d.ts +5 -0
  303. package/dist/llm.js +8 -0
  304. package/dist/llm.js.map +1 -0
  305. package/dist/marsun-components-core.css +1 -1
  306. package/dist/styles/global.css +1 -1
  307. package/package.json +15 -5
  308. package/dist/components/Icons/index.js +0 -268
  309. package/dist/components/Icons/index.js.map +0 -1
@@ -1,11 +1,13 @@
1
1
  import { jsxs as r, jsx as i } from "react/jsx-runtime";
2
- import { Plus as y, Undo2 as g, Trash2 as S } from "../../../../Icons/index.js";
3
- import { Typography as T, Tooltip as c, Button as x, Spin as E, Empty as l, Popconfirm as P } from "antd";
2
+ import { Typography as y, Tooltip as c, Button as g, Spin as S, Empty as l, Popconfirm as T } from "antd";
4
3
  import e from "classnames";
5
- import { getSessionDisplayName as C, formatSessionTime as _ } from "../../utils/sessionMessages.js";
4
+ import { getSessionDisplayName as x, formatSessionTime as E } from "../../utils/sessionMessages.js";
6
5
  import s from "./style.module.scss.js";
7
- import j from "../../../../VirtualScrollbar/VirtualScrollbar/index.js";
8
- const { Text: z } = T, G = ({
6
+ import { Plus as P } from "../../../../Icons/Plus.js";
7
+ import C from "../../../../VirtualScrollbar/VirtualScrollbar/index.js";
8
+ import { Undo2 as _ } from "../../../../Icons/Undo2.js";
9
+ import { Trash2 as j } from "../../../../Icons/Trash2.js";
10
+ const { Text: z } = y, U = ({
9
11
  title: t,
10
12
  sessions: d,
11
13
  activeSessionId: m,
@@ -13,8 +15,8 @@ const { Text: z } = T, G = ({
13
15
  disabled: a = !1,
14
16
  onSelect: u,
15
17
  onCreateSession: N,
16
- onClearSession: h,
17
- onDeleteSession: f
18
+ onClearSession: f,
19
+ onDeleteSession: h
18
20
  }) => /* @__PURE__ */ r("div", { className: e("session-sidebar-status", s["session-sidebar-status"]), children: [
19
21
  /* @__PURE__ */ r("div", { className: e("session-sidebar-info", s["session-sidebar-info"]), children: [
20
22
  /* @__PURE__ */ i(
@@ -27,11 +29,11 @@ const { Text: z } = T, G = ({
27
29
  }
28
30
  ),
29
31
  /* @__PURE__ */ i(c, { title: "新会话", children: /* @__PURE__ */ i(
30
- x,
32
+ g,
31
33
  {
32
34
  type: "text",
33
35
  size: "small",
34
- icon: /* @__PURE__ */ i(y, {}),
36
+ icon: /* @__PURE__ */ i(P, {}),
35
37
  disabled: a,
36
38
  onClick: N,
37
39
  "aria-label": "新会话",
@@ -40,11 +42,11 @@ const { Text: z } = T, G = ({
40
42
  ) })
41
43
  ] }),
42
44
  /* @__PURE__ */ i(
43
- j,
45
+ C,
44
46
  {
45
47
  wrapperClassName: e("session-sidebar-media", s["session-sidebar-media"]),
46
48
  className: e("session-sidebar-figure", s["session-sidebar-figure"]),
47
- children: p ? /* @__PURE__ */ i("div", { className: e("session-sidebar-caption", s["session-sidebar-caption"]), children: /* @__PURE__ */ i(E, { size: "small" }) }) : d.length === 0 ? /* @__PURE__ */ i("div", { className: e("session-sidebar-divider", s["session-sidebar-divider"]), children: /* @__PURE__ */ i(
49
+ children: p ? /* @__PURE__ */ i("div", { className: e("session-sidebar-caption", s["session-sidebar-caption"]), children: /* @__PURE__ */ i(S, { size: "small" }) }) : d.length === 0 ? /* @__PURE__ */ i("div", { className: e("session-sidebar-divider", s["session-sidebar-divider"]), children: /* @__PURE__ */ i(
48
50
  l,
49
51
  {
50
52
  image: l.PRESENTED_IMAGE_SIMPLE,
@@ -52,7 +54,7 @@ const { Text: z } = T, G = ({
52
54
  className: e("session-sidebar-block1", s["session-sidebar-block1"])
53
55
  }
54
56
  ) }) : /* @__PURE__ */ i("div", { className: e("session-sidebar-block2", s["session-sidebar-block2"]), children: d.map((n) => {
55
- const o = n.id === m, b = C(n), k = _(n.update_time ?? n.create_time) || "刚刚";
57
+ const o = n.id === m, b = x(n), k = E(n.update_time ?? n.create_time) || "刚刚";
56
58
  return /* @__PURE__ */ r(
57
59
  "div",
58
60
  {
@@ -95,7 +97,7 @@ const { Text: z } = T, G = ({
95
97
  {
96
98
  className: e("session-sidebar-block4", s["session-sidebar-block4"]),
97
99
  children: /* @__PURE__ */ i(
98
- P,
100
+ T,
99
101
  {
100
102
  title: o ? "确定清空当前会话内容吗?" : "确定删除该会话吗?",
101
103
  description: o ? "清空后当前对话记录将无法恢复。" : "删除后该会话记录将无法恢复。",
@@ -103,7 +105,7 @@ const { Text: z } = T, G = ({
103
105
  cancelText: "取消",
104
106
  okButtonProps: { danger: !0 },
105
107
  disabled: a,
106
- onConfirm: () => o ? h(n.id) : f(n.id),
108
+ onConfirm: () => o ? f(n.id) : h(n.id),
107
109
  children: /* @__PURE__ */ i(c, { title: o ? "清空" : "删除", children: /* @__PURE__ */ i(
108
110
  "button",
109
111
  {
@@ -120,7 +122,7 @@ const { Text: z } = T, G = ({
120
122
  a && s["session-sidebar-session-action-btn-disabled"]
121
123
  ),
122
124
  children: o ? /* @__PURE__ */ i(
123
- g,
125
+ _,
124
126
  {
125
127
  className: e(
126
128
  "session-sidebar-block5",
@@ -128,7 +130,7 @@ const { Text: z } = T, G = ({
128
130
  )
129
131
  }
130
132
  ) : /* @__PURE__ */ i(
131
- S,
133
+ j,
132
134
  {
133
135
  className: e(
134
136
  "session-sidebar-block5",
@@ -151,6 +153,6 @@ const { Text: z } = T, G = ({
151
153
  )
152
154
  ] });
153
155
  export {
154
- G as default
156
+ U as default
155
157
  };
156
158
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/AgentHub/Chat/List/SessionSidebar/index.tsx"],"sourcesContent":["import { VirtualScrollbar } from '@/components/VirtualScrollbar';\nimport { Plus, Trash2, Undo2 } from '@/components/Icons';\nimport type { ChatSession } from '@/components/AgentHub/types';\nimport { Button, Empty, Popconfirm, Spin, Tooltip, Typography } from 'antd';\nimport classNames from 'classnames';\nimport React from 'react';\nimport { formatSessionTime, getSessionDisplayName } from '../../utils/sessionMessages';\nimport styles from './style.module.scss';\n\nconst { Text } = Typography;\n\nexport interface SessionSidebarProps {\n title: string;\n sessions: ChatSession[];\n activeSessionId?: string;\n loading?: boolean;\n disabled?: boolean;\n onSelect: (sessionId: string) => void;\n onCreateSession: () => void;\n onClearSession: (sessionId: string) => void;\n onDeleteSession: (sessionId: string) => void;\n}\n\nconst SessionSidebar: React.FC<SessionSidebarProps> = ({\n title,\n sessions,\n activeSessionId,\n loading = false,\n disabled = false,\n onSelect,\n onCreateSession,\n onClearSession,\n onDeleteSession,\n}) => (\n <div className={classNames('session-sidebar-status', styles['session-sidebar-status'])}>\n <div className={classNames('session-sidebar-info', styles['session-sidebar-info'])}>\n <Text\n strong\n className={classNames('session-sidebar-detail', styles['session-sidebar-detail'])}\n title={title}\n >\n {title}\n </Text>\n <Tooltip title=\"新会话\">\n <Button\n type=\"text\"\n size=\"small\"\n icon={<Plus />}\n disabled={disabled}\n onClick={onCreateSession}\n aria-label=\"新会话\"\n className={classNames('session-sidebar-summary', styles['session-sidebar-summary'])}\n />\n </Tooltip>\n </div>\n\n <VirtualScrollbar\n wrapperClassName={classNames('session-sidebar-media', styles['session-sidebar-media'])}\n className={classNames('session-sidebar-figure', styles['session-sidebar-figure'])}\n >\n {loading ? (\n <div className={classNames('session-sidebar-caption', styles['session-sidebar-caption'])}>\n <Spin size=\"small\" />\n </div>\n ) : sessions.length === 0 ? (\n <div className={classNames('session-sidebar-divider', styles['session-sidebar-divider'])}>\n <Empty\n image={Empty.PRESENTED_IMAGE_SIMPLE}\n description=\"暂无历史对话\"\n className={classNames('session-sidebar-block1', styles['session-sidebar-block1'])}\n />\n </div>\n ) : (\n <div className={classNames('session-sidebar-block2', styles['session-sidebar-block2'])}>\n {sessions.map((session) => {\n const active = session.id === activeSessionId;\n const displayName = getSessionDisplayName(session);\n const timeLabel =\n formatSessionTime(session.update_time ?? session.create_time) || '刚刚';\n\n return (\n <div\n key={session.id}\n className={classNames(\n 'session-sidebar-session-item',\n styles['session-sidebar-session-item'],\n active && 'session-sidebar-session-item-active',\n active && styles['session-sidebar-session-item-active'],\n disabled && 'session-sidebar-session-item-disabled',\n disabled && styles['session-sidebar-session-item-disabled'],\n )}\n >\n <button\n type=\"button\"\n disabled={disabled}\n onClick={() => onSelect(session.id)}\n title={displayName}\n className={classNames(\n 'session-sidebar-session-button',\n styles['session-sidebar-session-button'],\n active && 'session-sidebar-session-button-active',\n active && styles['session-sidebar-session-button-active'],\n disabled && 'session-sidebar-session-button-disabled',\n disabled && styles['session-sidebar-session-button-disabled'],\n )}\n >\n {displayName}\n </button>\n\n <span\n className={classNames('session-sidebar-block3', styles['session-sidebar-block3'])}\n >\n {timeLabel}\n </span>\n\n <div\n className={classNames('session-sidebar-block4', styles['session-sidebar-block4'])}\n >\n <Popconfirm\n title={active ? '确定清空当前会话内容吗?' : '确定删除该会话吗?'}\n description={\n active ? '清空后当前对话记录将无法恢复。' : '删除后该会话记录将无法恢复。'\n }\n okText={active ? '清空' : '删除'}\n cancelText=\"取消\"\n okButtonProps={{ danger: true }}\n disabled={disabled}\n onConfirm={() =>\n active ? onClearSession(session.id) : onDeleteSession(session.id)\n }\n >\n <Tooltip title={active ? '清空' : '删除'}>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={(e) => e.stopPropagation()}\n aria-label={active ? '清空' : '删除'}\n className={classNames(\n 'session-sidebar-session-action-btn',\n styles['session-sidebar-session-action-btn'],\n active && 'session-sidebar-session-action-btn-active',\n active && styles['session-sidebar-session-action-btn-active'],\n disabled && 'session-sidebar-session-action-btn-disabled',\n disabled && styles['session-sidebar-session-action-btn-disabled'],\n )}\n >\n {active ? (\n <Undo2\n className={classNames(\n 'session-sidebar-block5',\n styles['session-sidebar-block5'],\n )}\n />\n ) : (\n <Trash2\n className={classNames(\n 'session-sidebar-block5',\n styles['session-sidebar-block5'],\n )}\n />\n )}\n </button>\n </Tooltip>\n </Popconfirm>\n </div>\n </div>\n );\n })}\n </div>\n )}\n </VirtualScrollbar>\n </div>\n);\n\nexport default SessionSidebar;\n"],"names":["Text","Typography","SessionSidebar","title","sessions","activeSessionId","loading","disabled","onSelect","onCreateSession","onClearSession","onDeleteSession","jsxs","classNames","styles","jsx","Tooltip","Button","Plus","VirtualScrollbar","Spin","Empty","session","active","displayName","getSessionDisplayName","timeLabel","formatSessionTime","Popconfirm","e","Undo2","Trash2"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/AgentHub/Chat/List/SessionSidebar/index.tsx"],"sourcesContent":["import { VirtualScrollbar } from '@/components/VirtualScrollbar';\nimport { Plus, Trash2, Undo2 } from '@/components/Icons';\nimport type { ChatSession } from '@/components/AgentHub/types';\nimport { Button, Empty, Popconfirm, Spin, Tooltip, Typography } from 'antd';\nimport classNames from 'classnames';\nimport React from 'react';\nimport { formatSessionTime, getSessionDisplayName } from '../../utils/sessionMessages';\nimport styles from './style.module.scss';\n\nconst { Text } = Typography;\n\nexport interface SessionSidebarProps {\n title: string;\n sessions: ChatSession[];\n activeSessionId?: string;\n loading?: boolean;\n disabled?: boolean;\n onSelect: (sessionId: string) => void;\n onCreateSession: () => void;\n onClearSession: (sessionId: string) => void;\n onDeleteSession: (sessionId: string) => void;\n}\n\nconst SessionSidebar: React.FC<SessionSidebarProps> = ({\n title,\n sessions,\n activeSessionId,\n loading = false,\n disabled = false,\n onSelect,\n onCreateSession,\n onClearSession,\n onDeleteSession,\n}) => (\n <div className={classNames('session-sidebar-status', styles['session-sidebar-status'])}>\n <div className={classNames('session-sidebar-info', styles['session-sidebar-info'])}>\n <Text\n strong\n className={classNames('session-sidebar-detail', styles['session-sidebar-detail'])}\n title={title}\n >\n {title}\n </Text>\n <Tooltip title=\"新会话\">\n <Button\n type=\"text\"\n size=\"small\"\n icon={<Plus />}\n disabled={disabled}\n onClick={onCreateSession}\n aria-label=\"新会话\"\n className={classNames('session-sidebar-summary', styles['session-sidebar-summary'])}\n />\n </Tooltip>\n </div>\n\n <VirtualScrollbar\n wrapperClassName={classNames('session-sidebar-media', styles['session-sidebar-media'])}\n className={classNames('session-sidebar-figure', styles['session-sidebar-figure'])}\n >\n {loading ? (\n <div className={classNames('session-sidebar-caption', styles['session-sidebar-caption'])}>\n <Spin size=\"small\" />\n </div>\n ) : sessions.length === 0 ? (\n <div className={classNames('session-sidebar-divider', styles['session-sidebar-divider'])}>\n <Empty\n image={Empty.PRESENTED_IMAGE_SIMPLE}\n description=\"暂无历史对话\"\n className={classNames('session-sidebar-block1', styles['session-sidebar-block1'])}\n />\n </div>\n ) : (\n <div className={classNames('session-sidebar-block2', styles['session-sidebar-block2'])}>\n {sessions.map((session) => {\n const active = session.id === activeSessionId;\n const displayName = getSessionDisplayName(session);\n const timeLabel =\n formatSessionTime(session.update_time ?? session.create_time) || '刚刚';\n\n return (\n <div\n key={session.id}\n className={classNames(\n 'session-sidebar-session-item',\n styles['session-sidebar-session-item'],\n active && 'session-sidebar-session-item-active',\n active && styles['session-sidebar-session-item-active'],\n disabled && 'session-sidebar-session-item-disabled',\n disabled && styles['session-sidebar-session-item-disabled'],\n )}\n >\n <button\n type=\"button\"\n disabled={disabled}\n onClick={() => onSelect(session.id)}\n title={displayName}\n className={classNames(\n 'session-sidebar-session-button',\n styles['session-sidebar-session-button'],\n active && 'session-sidebar-session-button-active',\n active && styles['session-sidebar-session-button-active'],\n disabled && 'session-sidebar-session-button-disabled',\n disabled && styles['session-sidebar-session-button-disabled'],\n )}\n >\n {displayName}\n </button>\n\n <span\n className={classNames('session-sidebar-block3', styles['session-sidebar-block3'])}\n >\n {timeLabel}\n </span>\n\n <div\n className={classNames('session-sidebar-block4', styles['session-sidebar-block4'])}\n >\n <Popconfirm\n title={active ? '确定清空当前会话内容吗?' : '确定删除该会话吗?'}\n description={\n active ? '清空后当前对话记录将无法恢复。' : '删除后该会话记录将无法恢复。'\n }\n okText={active ? '清空' : '删除'}\n cancelText=\"取消\"\n okButtonProps={{ danger: true }}\n disabled={disabled}\n onConfirm={() =>\n active ? onClearSession(session.id) : onDeleteSession(session.id)\n }\n >\n <Tooltip title={active ? '清空' : '删除'}>\n <button\n type=\"button\"\n disabled={disabled}\n onClick={(e) => e.stopPropagation()}\n aria-label={active ? '清空' : '删除'}\n className={classNames(\n 'session-sidebar-session-action-btn',\n styles['session-sidebar-session-action-btn'],\n active && 'session-sidebar-session-action-btn-active',\n active && styles['session-sidebar-session-action-btn-active'],\n disabled && 'session-sidebar-session-action-btn-disabled',\n disabled && styles['session-sidebar-session-action-btn-disabled'],\n )}\n >\n {active ? (\n <Undo2\n className={classNames(\n 'session-sidebar-block5',\n styles['session-sidebar-block5'],\n )}\n />\n ) : (\n <Trash2\n className={classNames(\n 'session-sidebar-block5',\n styles['session-sidebar-block5'],\n )}\n />\n )}\n </button>\n </Tooltip>\n </Popconfirm>\n </div>\n </div>\n );\n })}\n </div>\n )}\n </VirtualScrollbar>\n </div>\n);\n\nexport default SessionSidebar;\n"],"names":["Text","Typography","SessionSidebar","title","sessions","activeSessionId","loading","disabled","onSelect","onCreateSession","onClearSession","onDeleteSession","jsxs","classNames","styles","jsx","Tooltip","Button","Plus","VirtualScrollbar","Spin","Empty","session","active","displayName","getSessionDisplayName","timeLabel","formatSessionTime","Popconfirm","e","Undo2","Trash2"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
- import { Plus as r } from "../../../Icons/index.js";
3
- import { Button as m } from "antd";
4
- const n = ({ onClick: o }) => /* @__PURE__ */ t(m, { type: "primary", icon: /* @__PURE__ */ t(r, {}), onClick: o, children: "新建知识库" });
2
+ import { Button as r } from "antd";
3
+ import { Plus as m } from "../../../Icons/Plus.js";
4
+ const n = ({ onClick: o }) => /* @__PURE__ */ t(r, { type: "primary", icon: /* @__PURE__ */ t(m, {}), onClick: o, children: "新建知识库" });
5
5
  export {
6
6
  n as default
7
7
  };
@@ -1,6 +1,6 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
2
  import r from "@kne/button-group";
3
- import { Plus as i } from "../../../Icons/index.js";
3
+ import { Plus as i } from "../../../Icons/Plus.js";
4
4
  const s = ({ onCreateClick: t }) => /* @__PURE__ */ o(
5
5
  r,
6
6
  {
@@ -1,11 +1,12 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import h from "@kne/button-group";
3
- import { CirclePlay as p, Square as f } from "../../../../Icons/index.js";
4
- import { Table as y, Empty as x, Typography as g } from "antd";
5
- import w from "../ParseStatusTag/index.js";
6
- import N from "./style.module.scss.js";
7
- import T from "classnames";
8
- const { Text: i } = g, I = (t) => t ? t < 1024 ? `${t} B` : t < 1024 * 1024 ? `${(t / 1024).toFixed(1)} KB` : `${(t / 1024 / 1024).toFixed(1)} MB` : "-", C = (t) => t ? (typeof t == "number" ? new Date(t) : new Date(t)).toLocaleDateString("zh-CN", { year: "numeric", month: "2-digit", day: "2-digit" }) : "-", F = ({
2
+ import p from "@kne/button-group";
3
+ import { Table as h, Empty as f, Typography as y } from "antd";
4
+ import x from "../ParseStatusTag/index.js";
5
+ import g from "./style.module.scss.js";
6
+ import w from "classnames";
7
+ import { CirclePlay as N } from "../../../../Icons/CirclePlay.js";
8
+ import { Square as T } from "../../../../Icons/Square.js";
9
+ const { Text: i } = y, I = (t) => t ? t < 1024 ? `${t} B` : t < 1024 * 1024 ? `${(t / 1024).toFixed(1)} KB` : `${(t / 1024 / 1024).toFixed(1)} MB` : "-", C = (t) => t ? (typeof t == "number" ? new Date(t) : new Date(t)).toLocaleDateString("zh-CN", { year: "numeric", month: "2-digit", day: "2-digit" }) : "-", K = ({
9
10
  data: t,
10
11
  loading: o,
11
12
  total: a,
@@ -16,7 +17,7 @@ const { Text: i } = g, I = (t) => t ? t < 1024 ? `${t} B` : t < 1024 * 1024 ? `$
16
17
  onStopParse: s,
17
18
  onDelete: u
18
19
  }) => /* @__PURE__ */ r(
19
- y,
20
+ h,
20
21
  {
21
22
  rowKey: "id",
22
23
  columns: [
@@ -24,7 +25,7 @@ const { Text: i } = g, I = (t) => t ? t < 1024 ? `${t} B` : t < 1024 * 1024 ? `$
24
25
  title: "文档名称",
25
26
  dataIndex: "name",
26
27
  ellipsis: !0,
27
- render: (e) => /* @__PURE__ */ r(i, { className: T("document-table-root", N["document-table-root"]), ellipsis: { tooltip: e }, children: e })
28
+ render: (e) => /* @__PURE__ */ r(i, { className: w("document-table-root", g["document-table-root"]), ellipsis: { tooltip: e }, children: e })
28
29
  },
29
30
  {
30
31
  title: "类型",
@@ -42,7 +43,7 @@ const { Text: i } = g, I = (t) => t ? t < 1024 ? `${t} B` : t < 1024 * 1024 ? `$
42
43
  title: "解析状态",
43
44
  dataIndex: "run",
44
45
  width: 110,
45
- render: (e) => /* @__PURE__ */ r(w, { status: e })
46
+ render: (e) => /* @__PURE__ */ r(x, { status: e })
46
47
  },
47
48
  {
48
49
  title: "分块数",
@@ -62,19 +63,19 @@ const { Text: i } = g, I = (t) => t ? t < 1024 ? `${t} B` : t < 1024 * 1024 ? `$
62
63
  width: 140,
63
64
  fixed: "right",
64
65
  render: (e, n) => /* @__PURE__ */ r(
65
- h,
66
+ p,
66
67
  {
67
68
  moreType: "link",
68
69
  list: [
69
70
  {
70
71
  children: "解析",
71
- icon: /* @__PURE__ */ r(p, {}),
72
+ icon: /* @__PURE__ */ r(N, {}),
72
73
  hidden: n.run === "RUNNING",
73
74
  onClick: () => m(n)
74
75
  },
75
76
  {
76
77
  children: "停止",
77
- icon: /* @__PURE__ */ r(f, {}),
78
+ icon: /* @__PURE__ */ r(T, {}),
78
79
  hidden: n.run !== "RUNNING",
79
80
  onClick: () => s(n)
80
81
  },
@@ -93,7 +94,7 @@ const { Text: i } = g, I = (t) => t ? t < 1024 ? `${t} B` : t < 1024 * 1024 ? `$
93
94
  dataSource: t,
94
95
  loading: o,
95
96
  scroll: { x: "max-content" },
96
- locale: { emptyText: /* @__PURE__ */ r(x, { description: "暂无文档" }) },
97
+ locale: { emptyText: /* @__PURE__ */ r(f, { description: "暂无文档" }) },
97
98
  pagination: {
98
99
  current: d,
99
100
  pageSize: l,
@@ -105,6 +106,6 @@ const { Text: i } = g, I = (t) => t ? t < 1024 ? `${t} B` : t < 1024 * 1024 ? `$
105
106
  }
106
107
  );
107
108
  export {
108
- F as default
109
+ K as default
109
110
  };
110
111
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/AgentHub/KnowledgeBase/Detail/DocumentTable/index.tsx"],"sourcesContent":["import type { KBDocument } from '@/components/AgentHub/types';\nimport ButtonGroup from '@kne/button-group';\nimport { CirclePlay, Square } from '@/components/Icons';\nimport { Empty, Table, Typography } from 'antd';\nimport type { ColumnsType } from 'antd/es/table';\nimport React from 'react';\nimport ParseStatusTag from '../ParseStatusTag';\nimport styles from './style.module.scss';\nimport classNames from 'classnames';\n\nconst { Text } = Typography;\n\nconst formatSize = (bytes?: number) => {\n if (!bytes) return '-';\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n return `${(bytes / 1024 / 1024).toFixed(1)} MB`;\n};\n\nconst formatTime = (ts?: string | number) => {\n if (!ts) return '-';\n const d = typeof ts === 'number' ? new Date(ts) : new Date(ts);\n return d.toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' });\n};\n\nexport interface DocumentTableProps {\n datasetId: string;\n data: KBDocument[];\n loading: boolean;\n total: number;\n page: number;\n pageSize: number;\n onPageChange: (page: number, pageSize: number) => void;\n onParse: (doc: KBDocument) => void;\n onStopParse: (doc: KBDocument) => void;\n onDelete: (doc: KBDocument) => void;\n}\n\nconst DocumentTable: React.FC<DocumentTableProps> = ({\n data,\n loading,\n total,\n page,\n pageSize,\n onPageChange,\n onParse,\n onStopParse,\n onDelete,\n}) => {\n const columns: ColumnsType<KBDocument> = [\n {\n title: '文档名称',\n dataIndex: 'name',\n ellipsis: true,\n render: (name: string) => (\n <Text className={classNames('document-table-root', styles['document-table-root'])} ellipsis={{ tooltip: name }}>\n {name}\n </Text>\n ),\n },\n {\n title: '类型',\n dataIndex: 'type',\n width: 80,\n render: (type?: string) => <Text type=\"secondary\">{type ?? '-'}</Text>,\n },\n {\n title: '大小',\n dataIndex: 'size',\n width: 100,\n render: (size?: number) => <Text type=\"secondary\">{formatSize(size)}</Text>,\n },\n {\n title: '解析状态',\n dataIndex: 'run',\n width: 110,\n render: (run?: string) => <ParseStatusTag status={run} />,\n },\n {\n title: '分块数',\n dataIndex: 'chunk_count',\n width: 80,\n render: (count?: number) => <Text type=\"secondary\">{count ?? 0}</Text>,\n },\n {\n title: '上传时间',\n dataIndex: 'create_time',\n width: 120,\n render: (t?: string | number) => <Text type=\"secondary\">{formatTime(t)}</Text>,\n },\n {\n title: '操作',\n key: 'actions',\n width: 140,\n fixed: 'right',\n render: (_, record) => (\n <ButtonGroup\n moreType=\"link\"\n list={[\n {\n children: '解析',\n icon: <CirclePlay />,\n hidden: record.run === 'RUNNING',\n onClick: () => onParse(record),\n },\n {\n children: '停止',\n icon: <Square />,\n hidden: record.run !== 'RUNNING',\n onClick: () => onStopParse(record),\n },\n {\n children: '删除',\n danger: true,\n message: `确认删除文档「${record.name}」?`,\n isDelete: true,\n onClick: () => onDelete(record),\n },\n ]}\n />\n ),\n },\n ];\n\n return (\n <Table<KBDocument>\n rowKey=\"id\"\n columns={columns}\n dataSource={data}\n loading={loading}\n scroll={{ x: 'max-content' }}\n locale={{ emptyText: <Empty description=\"暂无文档\" /> }}\n pagination={{\n current: page,\n pageSize,\n total,\n showSizeChanger: true,\n showTotal: (t) => `共 ${t} 篇文档`,\n onChange: onPageChange,\n }}\n />\n );\n};\n\nexport default DocumentTable;\n"],"names":["Text","Typography","formatSize","bytes","formatTime","ts","DocumentTable","data","loading","total","page","pageSize","onPageChange","onParse","onStopParse","onDelete","jsx","Table","name","classNames","styles","type","size","run","ParseStatusTag","count","t","_","record","ButtonGroup","CirclePlay","Square","Empty"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/AgentHub/KnowledgeBase/Detail/DocumentTable/index.tsx"],"sourcesContent":["import type { KBDocument } from '@/components/AgentHub/types';\nimport ButtonGroup from '@kne/button-group';\nimport { CirclePlay, Square } from '@/components/Icons';\nimport { Empty, Table, Typography } from 'antd';\nimport type { ColumnsType } from 'antd/es/table';\nimport React from 'react';\nimport ParseStatusTag from '../ParseStatusTag';\nimport styles from './style.module.scss';\nimport classNames from 'classnames';\n\nconst { Text } = Typography;\n\nconst formatSize = (bytes?: number) => {\n if (!bytes) return '-';\n if (bytes < 1024) return `${bytes} B`;\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;\n return `${(bytes / 1024 / 1024).toFixed(1)} MB`;\n};\n\nconst formatTime = (ts?: string | number) => {\n if (!ts) return '-';\n const d = typeof ts === 'number' ? new Date(ts) : new Date(ts);\n return d.toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' });\n};\n\nexport interface DocumentTableProps {\n datasetId: string;\n data: KBDocument[];\n loading: boolean;\n total: number;\n page: number;\n pageSize: number;\n onPageChange: (page: number, pageSize: number) => void;\n onParse: (doc: KBDocument) => void;\n onStopParse: (doc: KBDocument) => void;\n onDelete: (doc: KBDocument) => void;\n}\n\nconst DocumentTable: React.FC<DocumentTableProps> = ({\n data,\n loading,\n total,\n page,\n pageSize,\n onPageChange,\n onParse,\n onStopParse,\n onDelete,\n}) => {\n const columns: ColumnsType<KBDocument> = [\n {\n title: '文档名称',\n dataIndex: 'name',\n ellipsis: true,\n render: (name: string) => (\n <Text className={classNames('document-table-root', styles['document-table-root'])} ellipsis={{ tooltip: name }}>\n {name}\n </Text>\n ),\n },\n {\n title: '类型',\n dataIndex: 'type',\n width: 80,\n render: (type?: string) => <Text type=\"secondary\">{type ?? '-'}</Text>,\n },\n {\n title: '大小',\n dataIndex: 'size',\n width: 100,\n render: (size?: number) => <Text type=\"secondary\">{formatSize(size)}</Text>,\n },\n {\n title: '解析状态',\n dataIndex: 'run',\n width: 110,\n render: (run?: string) => <ParseStatusTag status={run} />,\n },\n {\n title: '分块数',\n dataIndex: 'chunk_count',\n width: 80,\n render: (count?: number) => <Text type=\"secondary\">{count ?? 0}</Text>,\n },\n {\n title: '上传时间',\n dataIndex: 'create_time',\n width: 120,\n render: (t?: string | number) => <Text type=\"secondary\">{formatTime(t)}</Text>,\n },\n {\n title: '操作',\n key: 'actions',\n width: 140,\n fixed: 'right',\n render: (_, record) => (\n <ButtonGroup\n moreType=\"link\"\n list={[\n {\n children: '解析',\n icon: <CirclePlay />,\n hidden: record.run === 'RUNNING',\n onClick: () => onParse(record),\n },\n {\n children: '停止',\n icon: <Square />,\n hidden: record.run !== 'RUNNING',\n onClick: () => onStopParse(record),\n },\n {\n children: '删除',\n danger: true,\n message: `确认删除文档「${record.name}」?`,\n isDelete: true,\n onClick: () => onDelete(record),\n },\n ]}\n />\n ),\n },\n ];\n\n return (\n <Table<KBDocument>\n rowKey=\"id\"\n columns={columns}\n dataSource={data}\n loading={loading}\n scroll={{ x: 'max-content' }}\n locale={{ emptyText: <Empty description=\"暂无文档\" /> }}\n pagination={{\n current: page,\n pageSize,\n total,\n showSizeChanger: true,\n showTotal: (t) => `共 ${t} 篇文档`,\n onChange: onPageChange,\n }}\n />\n );\n};\n\nexport default DocumentTable;\n"],"names":["Text","Typography","formatSize","bytes","formatTime","ts","DocumentTable","data","loading","total","page","pageSize","onPageChange","onParse","onStopParse","onDelete","jsx","Table","name","classNames","styles","type","size","run","ParseStatusTag","count","t","_","record","ButtonGroup","CirclePlay","Square","Empty"],"mappings":";;;;;;;;AAUA,MAAM,EAAE,MAAAA,MAASC,GAEXC,IAAa,CAACC,MACbA,IACDA,IAAQ,OAAa,GAAGA,CAAK,OAC7BA,IAAQ,OAAO,OAAa,IAAIA,IAAQ,MAAM,QAAQ,CAAC,CAAC,QACrD,IAAIA,IAAQ,OAAO,MAAM,QAAQ,CAAC,CAAC,QAHvB,KAMfC,IAAa,CAACC,MACbA,KACK,OAAOA,KAAO,WAAW,IAAI,KAAKA,CAAE,IAAI,IAAI,KAAKA,CAAE,GACpD,mBAAmB,SAAS,EAAE,MAAM,WAAW,OAAO,WAAW,KAAK,WAAW,IAF1E,KAkBZC,IAA8C,CAAC;AAAA,EACnD,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AACF,MA6EI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,QAAO;AAAA,IACP,SA9EqC;AAAA,MACvC;AAAA,QACE,OAAO;AAAA,QACP,WAAW;AAAA,QACX,UAAU;AAAA,QACV,QAAQ,CAACC,MACP,gBAAAF,EAAChB,GAAA,EAAK,WAAWmB,EAAW,uBAAuBC,EAAO,qBAAqB,CAAC,GAAG,UAAU,EAAE,SAASF,EAAA,GACrG,UAAAA,EAAA,CACH;AAAA,MAAA;AAAA,MAGJ;AAAA,QACE,OAAO;AAAA,QACP,WAAW;AAAA,QACX,OAAO;AAAA,QACP,QAAQ,CAACG,MAAkB,gBAAAL,EAAChB,KAAK,MAAK,aAAa,eAAQ,IAAA,CAAI;AAAA,MAAA;AAAA,MAEjE;AAAA,QACE,OAAO;AAAA,QACP,WAAW;AAAA,QACX,OAAO;AAAA,QACP,QAAQ,CAACsB,MAAkB,gBAAAN,EAAChB,KAAK,MAAK,aAAa,UAAAE,EAAWoB,CAAI,EAAA,CAAE;AAAA,MAAA;AAAA,MAEtE;AAAA,QACE,OAAO;AAAA,QACP,WAAW;AAAA,QACX,OAAO;AAAA,QACP,QAAQ,CAACC,MAAiB,gBAAAP,EAACQ,GAAA,EAAe,QAAQD,EAAA,CAAK;AAAA,MAAA;AAAA,MAEzD;AAAA,QACE,OAAO;AAAA,QACP,WAAW;AAAA,QACX,OAAO;AAAA,QACP,QAAQ,CAACE,MAAmB,gBAAAT,EAAChB,KAAK,MAAK,aAAa,eAAS,EAAA,CAAE;AAAA,MAAA;AAAA,MAEjE;AAAA,QACE,OAAO;AAAA,QACP,WAAW;AAAA,QACX,OAAO;AAAA,QACP,QAAQ,CAAC0B,MAAwB,gBAAAV,EAAChB,KAAK,MAAK,aAAa,UAAAI,EAAWsB,CAAC,EAAA,CAAE;AAAA,MAAA;AAAA,MAEzE;AAAA,QACE,OAAO;AAAA,QACP,KAAK;AAAA,QACL,OAAO;AAAA,QACP,OAAO;AAAA,QACP,QAAQ,CAACC,GAAGC,MACV,gBAAAZ;AAAA,UAACa;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,MAAM;AAAA,cACJ;AAAA,gBACE,UAAU;AAAA,gBACV,wBAAOC,GAAA,EAAW;AAAA,gBAClB,QAAQF,EAAO,QAAQ;AAAA,gBACvB,SAAS,MAAMf,EAAQe,CAAM;AAAA,cAAA;AAAA,cAE/B;AAAA,gBACE,UAAU;AAAA,gBACV,wBAAOG,GAAA,EAAO;AAAA,gBACd,QAAQH,EAAO,QAAQ;AAAA,gBACvB,SAAS,MAAMd,EAAYc,CAAM;AAAA,cAAA;AAAA,cAEnC;AAAA,gBACE,UAAU;AAAA,gBACV,QAAQ;AAAA,gBACR,SAAS,UAAUA,EAAO,IAAI;AAAA,gBAC9B,UAAU;AAAA,gBACV,SAAS,MAAMb,EAASa,CAAM;AAAA,cAAA;AAAA,YAChC;AAAA,UACF;AAAA,QAAA;AAAA,MACF;AAAA,IAEJ;AAAA,IAOE,YAAYrB;AAAA,IACZ,SAAAC;AAAA,IACA,QAAQ,EAAE,GAAG,cAAA;AAAA,IACb,QAAQ,EAAE,6BAAYwB,GAAA,EAAM,aAAY,QAAO,EAAA;AAAA,IAC/C,YAAY;AAAA,MACV,SAAStB;AAAA,MACT,UAAAC;AAAA,MACA,OAAAF;AAAA,MACA,iBAAiB;AAAA,MACjB,WAAW,CAACiB,MAAM,KAAKA,CAAC;AAAA,MACxB,UAAUd;AAAA,IAAA;AAAA,EACZ;AAAA;"}
@@ -1,14 +1,14 @@
1
1
  import { jsxs as a, jsx as o } from "react/jsx-runtime";
2
- import { Loader2 as i } from "../../../../Icons/index.js";
3
- import { Spin as m } from "antd";
4
- import e from "./style.module.scss.js";
5
- import n from "classnames";
2
+ import { Spin as i } from "antd";
3
+ import m from "./style.module.scss.js";
4
+ import e from "classnames";
6
5
  import { PARSE_STATUS_CONFIG as t } from "../../constants/types.js";
7
- import c from "../../../../Tag/SemanticTag.js";
6
+ import n from "../../../../Tag/SemanticTag.js";
7
+ import { Loader2 as c } from "../../../../Icons/Loader2.js";
8
8
  const N = ({ status: s }) => {
9
9
  const r = t[s ?? "UNSTART"] ?? t.UNSTART;
10
- return /* @__PURE__ */ a(c, { color: r.color, children: [
11
- r.spinning && /* @__PURE__ */ o(m, { indicator: /* @__PURE__ */ o(i, {}), size: "small", className: n("parse-status-tag-container", e["parse-status-tag-container"]) }),
10
+ return /* @__PURE__ */ a(n, { color: r.color, children: [
11
+ r.spinning && /* @__PURE__ */ o(i, { indicator: /* @__PURE__ */ o(c, {}), size: "small", className: e("parse-status-tag-container", m["parse-status-tag-container"]) }),
12
12
  r.label
13
13
  ] });
14
14
  };
@@ -1,11 +1,11 @@
1
1
  import { jsxs as o, jsx as r } from "react/jsx-runtime";
2
- import { LayoutGrid as y } from "../../../../Icons/index.js";
3
- import _ from "@kne/button-group";
4
- import { Tooltip as f, Typography as C, Progress as b } from "antd";
2
+ import y from "@kne/button-group";
3
+ import { Tooltip as _, Typography as f, Progress as C } from "antd";
5
4
  import l from "./style.module.scss.js";
6
5
  import e from "classnames";
6
+ import { LayoutGrid as b } from "../../../../Icons/LayoutGrid.js";
7
7
  import x, { SEMANTIC_COLORS as T } from "../../../../Tag/SemanticTag.js";
8
- const { Text: c, Paragraph: P } = C, I = ({
8
+ const { Text: c, Paragraph: P } = f, I = ({
9
9
  dataset: n,
10
10
  onView: s,
11
11
  onUpload: w,
@@ -23,9 +23,9 @@ const { Text: c, Paragraph: P } = C, I = ({
23
23
  /* @__PURE__ */ r("div", { className: e("bg-primary", e("knowledge-card-inner", l["knowledge-card-inner"])) }),
24
24
  /* @__PURE__ */ o("div", { className: e("knowledge-card-header", l["knowledge-card-header"]), children: [
25
25
  /* @__PURE__ */ o("div", { className: e("knowledge-card-body", l["knowledge-card-body"]), children: [
26
- /* @__PURE__ */ r("div", { className: e("knowledge-card-footer", l["knowledge-card-footer"]), children: /* @__PURE__ */ r(y, { className: e("text-primary", e("knowledge-card-row", l["knowledge-card-row"])) }) }),
26
+ /* @__PURE__ */ r("div", { className: e("knowledge-card-footer", l["knowledge-card-footer"]), children: /* @__PURE__ */ r(b, { className: e("text-primary", e("knowledge-card-row", l["knowledge-card-row"])) }) }),
27
27
  /* @__PURE__ */ o("div", { className: e("knowledge-card-col", l["knowledge-card-col"]), children: [
28
- /* @__PURE__ */ r(f, { title: n.name, children: /* @__PURE__ */ r(
28
+ /* @__PURE__ */ r(_, { title: n.name, children: /* @__PURE__ */ r(
29
29
  c,
30
30
  {
31
31
  strong: !0,
@@ -62,7 +62,7 @@ const { Text: c, Paragraph: P } = C, I = ({
62
62
  ] })
63
63
  ] }),
64
64
  /* @__PURE__ */ r(
65
- b,
65
+ C,
66
66
  {
67
67
  percent: d,
68
68
  size: "small",
@@ -78,7 +78,7 @@ const { Text: c, Paragraph: P } = C, I = ({
78
78
  className: e("knowledge-card-title", l["knowledge-card-title"]),
79
79
  onClick: (v) => v.stopPropagation(),
80
80
  children: /* @__PURE__ */ r(
81
- _,
81
+ y,
82
82
  {
83
83
  moreType: "link",
84
84
  showLength: 1,
@@ -1,8 +1,8 @@
1
1
  import { jsxs as n, jsx as r } from "react/jsx-runtime";
2
- import { RefreshCw as f } from "../../../../Icons/index.js";
3
2
  import i from "classnames";
4
3
  import { Button as p } from "antd";
5
4
  import s from "./style.module.scss.js";
5
+ import { RefreshCw as f } from "../../../../Icons/RefreshCw.js";
6
6
  import v from "../../../../Empty/Empty.js";
7
7
  const b = ({
8
8
  html: e,
@@ -1,9 +1,9 @@
1
1
  import { jsx as e, jsxs as a } from "react/jsx-runtime";
2
- import { LogOut as k } from "../../Icons/index.js";
3
- import { Avatar as x, Dropdown as y } from "antd";
2
+ import { Avatar as k, Dropdown as x } from "antd";
4
3
  import t from "classnames";
5
- import { useMemo as C } from "react";
4
+ import { useMemo as y } from "react";
6
5
  import r from "./style.module.scss.js";
6
+ import { LogOut as C } from "../../Icons/LogOut.js";
7
7
  const D = ({
8
8
  name: l,
9
9
  nameMeta: s,
@@ -15,12 +15,12 @@ const D = ({
15
15
  extra: m,
16
16
  className: N
17
17
  }) => {
18
- const v = (h || l).trim().charAt(0).toUpperCase() || "U", o = s && s.trim() && s.trim() !== l.trim() ? s.trim() : void 0, g = o ? `${l} ${o}` : l, f = C(() => n || (p ? [
18
+ const v = (h || l).trim().charAt(0).toUpperCase() || "U", o = s && s.trim() && s.trim() !== l.trim() ? s.trim() : void 0, g = o ? `${l} ${o}` : l, f = y(() => n || (p ? [
19
19
  {
20
20
  key: "logout",
21
21
  danger: !0,
22
22
  label: "退出登录",
23
- icon: /* @__PURE__ */ e(k, { size: 14 }),
23
+ icon: /* @__PURE__ */ e(C, { size: 14 }),
24
24
  onClick: p
25
25
  }
26
26
  ] : []), [n, p]), d = /* @__PURE__ */ a(
@@ -33,7 +33,7 @@ const D = ({
33
33
  ),
34
34
  "aria-label": "用户菜单",
35
35
  children: [
36
- /* @__PURE__ */ e(x, { className: r["user-profile-avatar"], size: i ? 32 : 40, children: v }),
36
+ /* @__PURE__ */ e(k, { className: r["user-profile-avatar"], size: i ? 32 : 40, children: v }),
37
37
  i ? null : /* @__PURE__ */ a("div", { className: r["user-profile-meta"], children: [
38
38
  /* @__PURE__ */ a("div", { className: r["user-profile-name"], title: g, children: [
39
39
  /* @__PURE__ */ e("span", { className: r["user-profile-name-text"], children: l }),
@@ -43,7 +43,7 @@ const D = ({
43
43
  ] })
44
44
  ]
45
45
  }
46
- ), w = f && f.length > 0 ? /* @__PURE__ */ e(y, { menu: { items: f }, trigger: ["click"], placement: "topLeft", children: d }) : d;
46
+ ), w = f && f.length > 0 ? /* @__PURE__ */ e(x, { menu: { items: f }, trigger: ["click"], placement: "topLeft", children: d }) : d;
47
47
  return /* @__PURE__ */ e(
48
48
  "div",
49
49
  {
@@ -1,14 +1,16 @@
1
1
  import { jsxs as o, Fragment as C, jsx as i } from "react/jsx-runtime";
2
- import { Eye as T, Download as z, Trash2 as x } from "../../Icons/index.js";
3
- import { formatFileSize as b } from "../../../utils/format.js";
4
- import { Tooltip as I, Button as P } from "antd";
5
- import { useState as j } from "react";
6
- import A from "../FilePreviewModal/index.js";
7
- import { normalizeFileDisplayItem as O, getFileTypeName as S, getFileIcon as B } from "../fileDisplay.js";
2
+ import { formatFileSize as T } from "../../../utils/format.js";
3
+ import { Tooltip as z, Button as x } from "antd";
4
+ import { useState as b } from "react";
5
+ import I from "../FilePreviewModal/index.js";
6
+ import { normalizeFileDisplayItem as P, getFileTypeName as j, getFileIcon as A } from "../fileDisplay.js";
8
7
  import l from "./style.module.scss.js";
9
8
  import t from "classnames";
10
- import D from "../../Tag/FileTags.js";
11
- const Q = ({
9
+ import O from "../../Tag/FileTags.js";
10
+ import { Eye as S } from "../../Icons/Eye.js";
11
+ import { Download as B } from "../../Icons/Download.js";
12
+ import { Trash2 as D } from "../../Icons/Trash2.js";
13
+ const V = ({
12
14
  file: p,
13
15
  status: a,
14
16
  showDownload: d = !0,
@@ -19,7 +21,7 @@ const Q = ({
19
21
  onDelete: s,
20
22
  onPreview: c
21
23
  }) => {
22
- const [N, f] = j(!1), e = O(p), y = () => {
24
+ const [N, f] = b(!1), e = P(p), y = () => {
23
25
  if (n) {
24
26
  n(e);
25
27
  return;
@@ -30,25 +32,25 @@ const Q = ({
30
32
  }, r = [];
31
33
  u && r.push({
32
34
  key: "preview",
33
- icon: /* @__PURE__ */ i(T, {}),
35
+ icon: /* @__PURE__ */ i(S, {}),
34
36
  tooltip: "预览",
35
37
  onClick: () => g()
36
38
  }), d && r.push({
37
39
  key: "download",
38
- icon: /* @__PURE__ */ i(z, {}),
40
+ icon: /* @__PURE__ */ i(B, {}),
39
41
  tooltip: "下载",
40
42
  onClick: () => y()
41
43
  }), h && s && r.push({
42
44
  key: "delete",
43
- icon: /* @__PURE__ */ i(x, {}),
45
+ icon: /* @__PURE__ */ i(D, {}),
44
46
  tooltip: "删除",
45
47
  onClick: () => s(e)
46
48
  });
47
- const v = [...r, ...w ?? []], k = S(e.name, e.mimeType);
49
+ const v = [...r, ...w ?? []], k = j(e.name, e.mimeType);
48
50
  return /* @__PURE__ */ o(C, { children: [
49
51
  /* @__PURE__ */ i("div", { className: t("file-item-root", l["file-item-root"]), children: /* @__PURE__ */ o("div", { className: t("file-item-container", l["file-item-container"]), children: [
50
52
  /* @__PURE__ */ o("div", { className: t("file-item-wrapper", l["file-item-wrapper"]), children: [
51
- /* @__PURE__ */ i("span", { className: t("file-item-inner", l["file-item-inner"]), children: B(e.name, e.mimeType) }),
53
+ /* @__PURE__ */ i("span", { className: t("file-item-inner", l["file-item-inner"]), children: A(e.name, e.mimeType) }),
52
54
  /* @__PURE__ */ o("div", { className: t("file-item-header", l["file-item-header"]), children: [
53
55
  /* @__PURE__ */ o("div", { className: t("file-item-body", l["file-item-body"]), children: [
54
56
  /* @__PURE__ */ i(
@@ -60,10 +62,10 @@ const Q = ({
60
62
  }
61
63
  ),
62
64
  /* @__PURE__ */ i("span", { className: t("file-item-row", l["file-item-row"]), children: k }),
63
- e.size != null && /* @__PURE__ */ i("span", { className: t("file-item-row", l["file-item-row"]), children: b(e.size) })
65
+ e.size != null && /* @__PURE__ */ i("span", { className: t("file-item-row", l["file-item-row"]), children: T(e.size) })
64
66
  ] }),
65
67
  e.tags && e.tags.length > 0 && /* @__PURE__ */ i(
66
- D,
68
+ O,
67
69
  {
68
70
  tags: e.tags,
69
71
  className: t("file-item-col", l["file-item-col"])
@@ -73,8 +75,8 @@ const Q = ({
73
75
  ] }),
74
76
  /* @__PURE__ */ o("div", { className: t("file-item-wrap", l["file-item-wrap"]), children: [
75
77
  a && /* @__PURE__ */ i("span", { className: t("file-item-panel", l["file-item-panel"]), children: a }),
76
- /* @__PURE__ */ i("div", { className: t("file-item-action-group", l["file-item-action-group"]), children: v.map((m) => /* @__PURE__ */ i(I, { title: m.tooltip, children: /* @__PURE__ */ i(
77
- P,
78
+ /* @__PURE__ */ i("div", { className: t("file-item-action-group", l["file-item-action-group"]), children: v.map((m) => /* @__PURE__ */ i(z, { title: m.tooltip, children: /* @__PURE__ */ i(
79
+ x,
78
80
  {
79
81
  type: "text",
80
82
  size: "small",
@@ -87,7 +89,7 @@ const Q = ({
87
89
  ] })
88
90
  ] }) }),
89
91
  /* @__PURE__ */ i(
90
- A,
92
+ I,
91
93
  {
92
94
  open: N,
93
95
  file: e,
@@ -99,6 +101,6 @@ const Q = ({
99
101
  ] });
100
102
  };
101
103
  export {
102
- Q as FileItem
104
+ V as FileItem
103
105
  };
104
106
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/File/FileItem/index.tsx"],"sourcesContent":["import { FileTags } from '@/components/Tag';\nimport { Trash2, Download, Eye } from '@/components/Icons';\nimport { formatFileSize } from '@/utils/format';\nimport { Button, Tooltip } from 'antd';\nimport React, { useState } from 'react';\nimport FilePreviewModal from '../FilePreviewModal';\nimport { getFileIcon, getFileTypeName, normalizeFileDisplayItem } from '../fileDisplay';\nimport type { FileDisplayItem } from '../types';\nimport styles from './style.module.scss';\nimport classNames from 'classnames';\n\nexport interface FileItemAction {\n key: string;\n icon: React.ReactNode;\n tooltip: string;\n onClick: (file: FileDisplayItem) => void;\n}\n\nexport interface FileItemProps {\n file: FileDisplayItem;\n status?: React.ReactNode;\n showDownload?: boolean;\n showDelete?: boolean;\n showPreview?: boolean;\n actions?: FileItemAction[];\n onDownload?: (file: FileDisplayItem) => void;\n onDelete?: (file: FileDisplayItem) => void;\n onPreview?: (file: FileDisplayItem) => void;\n}\n\nconst FileItem: React.FC<FileItemProps> = ({\n file,\n status,\n showDownload = true,\n showDelete = false,\n showPreview = true,\n actions,\n onDownload,\n onDelete,\n onPreview,\n}) => {\n const [previewOpen, setPreviewOpen] = useState(false);\n const resolvedFile = normalizeFileDisplayItem(file);\n\n const handleDownload = () => {\n if (onDownload) {\n onDownload(resolvedFile);\n return;\n }\n if (resolvedFile.url) window.open(resolvedFile.url, '_blank');\n };\n\n const handlePreview = () => {\n if (onPreview) onPreview(resolvedFile);\n else setPreviewOpen(true);\n };\n\n const defaultActions: FileItemAction[] = [];\n if (showPreview) {\n defaultActions.push({\n key: 'preview',\n icon: <Eye />,\n tooltip: '预览',\n onClick: () => handlePreview(),\n });\n }\n if (showDownload) {\n defaultActions.push({\n key: 'download',\n icon: <Download />,\n tooltip: '下载',\n onClick: () => handleDownload(),\n });\n }\n if (showDelete && onDelete) {\n defaultActions.push({\n key: 'delete',\n icon: <Trash2 />,\n tooltip: '删除',\n onClick: () => onDelete(resolvedFile),\n });\n }\n\n const allActions = [...defaultActions, ...(actions ?? [])];\n const typeName = getFileTypeName(resolvedFile.name, resolvedFile.mimeType);\n\n return (\n <>\n <div className={classNames('file-item-root', styles['file-item-root'])}>\n <div className={classNames('file-item-container', styles['file-item-container'])}>\n <div className={classNames('file-item-wrapper', styles['file-item-wrapper'])}>\n <span className={classNames('file-item-inner', styles['file-item-inner'])}>\n {getFileIcon(resolvedFile.name, resolvedFile.mimeType)}\n </span>\n <div className={classNames('file-item-header', styles['file-item-header'])}>\n <div className={classNames('file-item-body', styles['file-item-body'])}>\n <span\n className={classNames('file-item-footer', styles['file-item-footer'])}\n title={resolvedFile.name}\n >\n {resolvedFile.name}\n </span>\n <span className={classNames('file-item-row', styles['file-item-row'])}>\n {typeName}\n </span>\n {resolvedFile.size != null && (\n <span className={classNames('file-item-row', styles['file-item-row'])}>\n {formatFileSize(resolvedFile.size)}\n </span>\n )}\n </div>\n {resolvedFile.tags && resolvedFile.tags.length > 0 && (\n <FileTags\n tags={resolvedFile.tags}\n className={classNames('file-item-col', styles['file-item-col'])}\n />\n )}\n </div>\n </div>\n\n <div className={classNames('file-item-wrap', styles['file-item-wrap'])}>\n {status && (\n <span className={classNames('file-item-panel', styles['file-item-panel'])}>\n {status}\n </span>\n )}\n <div className={classNames('file-item-action-group', styles['file-item-action-group'])}>\n {allActions.map((action) => (\n <Tooltip key={action.key} title={action.tooltip}>\n <Button\n type=\"text\"\n size=\"small\"\n icon={action.icon}\n onClick={(e) => {\n e.stopPropagation();\n action.onClick(resolvedFile);\n }}\n />\n </Tooltip>\n ))}\n </div>\n </div>\n </div>\n </div>\n <FilePreviewModal\n open={previewOpen}\n file={resolvedFile}\n url={resolvedFile.url}\n downloadUrl={resolvedFile.url}\n onClose={() => setPreviewOpen(false)}\n />\n </>\n );\n};\n\nexport { FileItem };\nexport default FileItem;\n"],"names":["FileItem","file","status","showDownload","showDelete","showPreview","actions","onDownload","onDelete","onPreview","previewOpen","setPreviewOpen","useState","resolvedFile","normalizeFileDisplayItem","handleDownload","handlePreview","defaultActions","Eye","Download","Trash2","allActions","typeName","getFileTypeName","jsxs","Fragment","jsx","classNames","styles","getFileIcon","formatFileSize","FileTags","action","Tooltip","Button","e","FilePreviewModal"],"mappings":";;;;;;;;;;AA8BA,MAAMA,IAAoC,CAAC;AAAA,EACzC,MAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,YAAAC,IAAa;AAAA,EACb,aAAAC,IAAc;AAAA,EACd,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9CC,IAAeC,EAAyBb,CAAI,GAE5Cc,IAAiB,MAAM;AAC3B,QAAIR,GAAY;AACd,MAAAA,EAAWM,CAAY;AACvB;AAAA,IACF;AACA,IAAIA,EAAa,OAAK,OAAO,KAAKA,EAAa,KAAK,QAAQ;AAAA,EAC9D,GAEMG,IAAgB,MAAM;AAC1B,IAAIP,MAAqBI,CAAY,MACjB,EAAI;AAAA,EAC1B,GAEMI,IAAmC,CAAA;AACzC,EAAIZ,KACFY,EAAe,KAAK;AAAA,IAClB,KAAK;AAAA,IACL,wBAAOC,GAAA,EAAI;AAAA,IACX,SAAS;AAAA,IACT,SAAS,MAAMF,EAAA;AAAA,EAAc,CAC9B,GAECb,KACFc,EAAe,KAAK;AAAA,IAClB,KAAK;AAAA,IACL,wBAAOE,GAAA,EAAS;AAAA,IAChB,SAAS;AAAA,IACT,SAAS,MAAMJ,EAAA;AAAA,EAAe,CAC/B,GAECX,KAAcI,KAChBS,EAAe,KAAK;AAAA,IAClB,KAAK;AAAA,IACL,wBAAOG,GAAA,EAAO;AAAA,IACd,SAAS;AAAA,IACT,SAAS,MAAMZ,EAASK,CAAY;AAAA,EAAA,CACrC;AAGH,QAAMQ,IAAa,CAAC,GAAGJ,GAAgB,GAAIX,KAAW,CAAA,CAAG,GACnDgB,IAAWC,EAAgBV,EAAa,MAAMA,EAAa,QAAQ;AAEzE,SACE,gBAAAW,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC,EAAC,SAAI,WAAWC,EAAW,kBAAkBC,EAAO,gBAAgB,CAAC,GACnE,UAAA,gBAAAJ,EAAC,OAAA,EAAI,WAAWG,EAAW,uBAAuBC,EAAO,qBAAqB,CAAC,GAC7E,UAAA;AAAA,MAAA,gBAAAJ,EAAC,SAAI,WAAWG,EAAW,qBAAqBC,EAAO,mBAAmB,CAAC,GACzE,UAAA;AAAA,QAAA,gBAAAF,EAAC,QAAA,EAAK,WAAWC,EAAW,mBAAmBC,EAAO,iBAAiB,CAAC,GACrE,UAAAC,EAAYhB,EAAa,MAAMA,EAAa,QAAQ,GACvD;AAAA,QACA,gBAAAW,EAAC,SAAI,WAAWG,EAAW,oBAAoBC,EAAO,kBAAkB,CAAC,GACvE,UAAA;AAAA,UAAA,gBAAAJ,EAAC,SAAI,WAAWG,EAAW,kBAAkBC,EAAO,gBAAgB,CAAC,GACnE,UAAA;AAAA,YAAA,gBAAAF;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAWC,EAAW,oBAAoBC,EAAO,kBAAkB,CAAC;AAAA,gBACpE,OAAOf,EAAa;AAAA,gBAEnB,UAAAA,EAAa;AAAA,cAAA;AAAA,YAAA;AAAA,YAEhB,gBAAAa,EAAC,UAAK,WAAWC,EAAW,iBAAiBC,EAAO,eAAe,CAAC,GACjE,UAAAN,EAAA,CACH;AAAA,YACCT,EAAa,QAAQ,QACpB,gBAAAa,EAAC,UAAK,WAAWC,EAAW,iBAAiBC,EAAO,eAAe,CAAC,GACjE,UAAAE,EAAejB,EAAa,IAAI,EAAA,CACnC;AAAA,UAAA,GAEJ;AAAA,UACCA,EAAa,QAAQA,EAAa,KAAK,SAAS,KAC/C,gBAAAa;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAMlB,EAAa;AAAA,cACnB,WAAWc,EAAW,iBAAiBC,EAAO,eAAe,CAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QAChE,EAAA,CAEJ;AAAA,MAAA,GACF;AAAA,MAEA,gBAAAJ,EAAC,SAAI,WAAWG,EAAW,kBAAkBC,EAAO,gBAAgB,CAAC,GAClE,UAAA;AAAA,QAAA1B,KACC,gBAAAwB,EAAC,UAAK,WAAWC,EAAW,mBAAmBC,EAAO,iBAAiB,CAAC,GACrE,UAAA1B,EAAA,CACH;AAAA,0BAED,OAAA,EAAI,WAAWyB,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC,GAClF,UAAAP,EAAW,IAAI,CAACW,wBACdC,GAAA,EAAyB,OAAOD,EAAO,SACtC,UAAA,gBAAAN;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,MAAK;AAAA,YACL,MAAMF,EAAO;AAAA,YACb,SAAS,CAACG,MAAM;AACd,cAAAA,EAAE,gBAAA,GACFH,EAAO,QAAQnB,CAAY;AAAA,YAC7B;AAAA,UAAA;AAAA,QAAA,KARUmB,EAAO,GAUrB,CACD,EAAA,CACH;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,IACA,gBAAAN;AAAA,MAACU;AAAA,MAAA;AAAA,QACC,MAAM1B;AAAA,QACN,MAAMG;AAAA,QACN,KAAKA,EAAa;AAAA,QAClB,aAAaA,EAAa;AAAA,QAC1B,SAAS,MAAMF,EAAe,EAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACrC,GACF;AAEJ;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/File/FileItem/index.tsx"],"sourcesContent":["import { FileTags } from '@/components/Tag';\nimport { Trash2, Download, Eye } from '@/components/Icons';\nimport { formatFileSize } from '@/utils/format';\nimport { Button, Tooltip } from 'antd';\nimport React, { useState } from 'react';\nimport FilePreviewModal from '../FilePreviewModal';\nimport { getFileIcon, getFileTypeName, normalizeFileDisplayItem } from '../fileDisplay';\nimport type { FileDisplayItem } from '../types';\nimport styles from './style.module.scss';\nimport classNames from 'classnames';\n\nexport interface FileItemAction {\n key: string;\n icon: React.ReactNode;\n tooltip: string;\n onClick: (file: FileDisplayItem) => void;\n}\n\nexport interface FileItemProps {\n file: FileDisplayItem;\n status?: React.ReactNode;\n showDownload?: boolean;\n showDelete?: boolean;\n showPreview?: boolean;\n actions?: FileItemAction[];\n onDownload?: (file: FileDisplayItem) => void;\n onDelete?: (file: FileDisplayItem) => void;\n onPreview?: (file: FileDisplayItem) => void;\n}\n\nconst FileItem: React.FC<FileItemProps> = ({\n file,\n status,\n showDownload = true,\n showDelete = false,\n showPreview = true,\n actions,\n onDownload,\n onDelete,\n onPreview,\n}) => {\n const [previewOpen, setPreviewOpen] = useState(false);\n const resolvedFile = normalizeFileDisplayItem(file);\n\n const handleDownload = () => {\n if (onDownload) {\n onDownload(resolvedFile);\n return;\n }\n if (resolvedFile.url) window.open(resolvedFile.url, '_blank');\n };\n\n const handlePreview = () => {\n if (onPreview) onPreview(resolvedFile);\n else setPreviewOpen(true);\n };\n\n const defaultActions: FileItemAction[] = [];\n if (showPreview) {\n defaultActions.push({\n key: 'preview',\n icon: <Eye />,\n tooltip: '预览',\n onClick: () => handlePreview(),\n });\n }\n if (showDownload) {\n defaultActions.push({\n key: 'download',\n icon: <Download />,\n tooltip: '下载',\n onClick: () => handleDownload(),\n });\n }\n if (showDelete && onDelete) {\n defaultActions.push({\n key: 'delete',\n icon: <Trash2 />,\n tooltip: '删除',\n onClick: () => onDelete(resolvedFile),\n });\n }\n\n const allActions = [...defaultActions, ...(actions ?? [])];\n const typeName = getFileTypeName(resolvedFile.name, resolvedFile.mimeType);\n\n return (\n <>\n <div className={classNames('file-item-root', styles['file-item-root'])}>\n <div className={classNames('file-item-container', styles['file-item-container'])}>\n <div className={classNames('file-item-wrapper', styles['file-item-wrapper'])}>\n <span className={classNames('file-item-inner', styles['file-item-inner'])}>\n {getFileIcon(resolvedFile.name, resolvedFile.mimeType)}\n </span>\n <div className={classNames('file-item-header', styles['file-item-header'])}>\n <div className={classNames('file-item-body', styles['file-item-body'])}>\n <span\n className={classNames('file-item-footer', styles['file-item-footer'])}\n title={resolvedFile.name}\n >\n {resolvedFile.name}\n </span>\n <span className={classNames('file-item-row', styles['file-item-row'])}>\n {typeName}\n </span>\n {resolvedFile.size != null && (\n <span className={classNames('file-item-row', styles['file-item-row'])}>\n {formatFileSize(resolvedFile.size)}\n </span>\n )}\n </div>\n {resolvedFile.tags && resolvedFile.tags.length > 0 && (\n <FileTags\n tags={resolvedFile.tags}\n className={classNames('file-item-col', styles['file-item-col'])}\n />\n )}\n </div>\n </div>\n\n <div className={classNames('file-item-wrap', styles['file-item-wrap'])}>\n {status && (\n <span className={classNames('file-item-panel', styles['file-item-panel'])}>\n {status}\n </span>\n )}\n <div className={classNames('file-item-action-group', styles['file-item-action-group'])}>\n {allActions.map((action) => (\n <Tooltip key={action.key} title={action.tooltip}>\n <Button\n type=\"text\"\n size=\"small\"\n icon={action.icon}\n onClick={(e) => {\n e.stopPropagation();\n action.onClick(resolvedFile);\n }}\n />\n </Tooltip>\n ))}\n </div>\n </div>\n </div>\n </div>\n <FilePreviewModal\n open={previewOpen}\n file={resolvedFile}\n url={resolvedFile.url}\n downloadUrl={resolvedFile.url}\n onClose={() => setPreviewOpen(false)}\n />\n </>\n );\n};\n\nexport { FileItem };\nexport default FileItem;\n"],"names":["FileItem","file","status","showDownload","showDelete","showPreview","actions","onDownload","onDelete","onPreview","previewOpen","setPreviewOpen","useState","resolvedFile","normalizeFileDisplayItem","handleDownload","handlePreview","defaultActions","Eye","Download","Trash2","allActions","typeName","getFileTypeName","jsxs","Fragment","jsx","classNames","styles","getFileIcon","formatFileSize","FileTags","action","Tooltip","Button","e","FilePreviewModal"],"mappings":"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"}