@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 +1 @@
1
- {"version":3,"file":"ColumnConfigPanel.js","sources":["../../../src/components/Table/ColumnConfigPanel.tsx"],"sourcesContent":["import { useCallback, useMemo, useState, type DragEvent, type FC, type ReactNode } from 'react';\nimport { Button, Checkbox, Collapse, Empty, Input, Popover, Space, Tooltip } from 'antd';\nimport { ChevronDown, ChevronRight, Settings, Undo2 } from '../Icons';\nimport type { ColumnConfigPanelItem, TableColumnConfigItem } from './columnConfigTypes';\nimport { mergePanelWithConfig, panelItemsToConfig, splitVisibleHidden } from './columnConfigUtils';\nimport styles from './columnConfig.module.scss';\n\ntype ColumnConfigPanelProps = {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n defaultItems: ColumnConfigPanelItem[];\n savedConfig: TableColumnConfigItem[] | null;\n onConfirm: (items: TableColumnConfigItem[]) => void | Promise<void>;\n children: ReactNode;\n};\n\nfunction flattenSearch(items: ColumnConfigPanelItem[], q: string): boolean {\n if (!q) return true;\n const lower = q.toLowerCase();\n return items.some(\n (it) =>\n it.label.toLowerCase().includes(lower) ||\n it.id.toLowerCase().includes(lower) ||\n (it.children ? flattenSearch(it.children, q) : false),\n );\n}\n\nconst DragList: FC<{\n items: ColumnConfigPanelItem[];\n search: string;\n onChange: (next: ColumnConfigPanelItem[]) => void;\n onToggle: (id: string, hidden: boolean) => void;\n depth?: number;\n collapsedIds: Set<string>;\n onToggleCollapse: (id: string) => void;\n}> = ({ items, search, onChange, onToggle, depth = 0, collapsedIds, onToggleCollapse }) => {\n const [dragIndex, setDragIndex] = useState<number | null>(null);\n const searching = Boolean(search.trim());\n\n const filtered = useMemo(() => {\n if (!search.trim()) return items.map((it, i) => ({ it, i }));\n return items.map((it, i) => ({ it, i })).filter(({ it }) => flattenSearch([it], search.trim()));\n }, [items, search]);\n\n const onDragStart = (e: DragEvent, index: number) => {\n setDragIndex(index);\n e.dataTransfer.effectAllowed = 'move';\n e.dataTransfer.setData('text/plain', String(index));\n };\n\n const onDrop = (e: DragEvent, toIndex: number) => {\n e.preventDefault();\n const from = dragIndex ?? Number(e.dataTransfer.getData('text/plain'));\n setDragIndex(null);\n if (!Number.isFinite(from) || from === toIndex) return;\n const next = [...items];\n const [moved] = next.splice(from, 1);\n if (!moved) return;\n next.splice(toIndex, 0, moved);\n onChange(next);\n };\n\n if (!filtered.length) {\n return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description=\"暂无数据\" />;\n }\n\n return (\n <ul className={styles.list} style={{ paddingLeft: depth ? 12 : 0 }}>\n {filtered.map(({ it, i }) => {\n const hasChildren = Boolean(it.children?.length);\n const expanded = searching || !collapsedIds.has(it.id);\n return (\n <li key={it.id} className={styles.listItem}>\n <div\n className={styles.row}\n draggable={!searching}\n onDragStart={(e) => onDragStart(e, i)}\n onDragOver={(e) => e.preventDefault()}\n onDrop={(e) => onDrop(e, i)}\n >\n {hasChildren ? (\n <button\n type=\"button\"\n className={styles.foldBtn}\n aria-label={expanded ? '折叠' : '展开'}\n aria-expanded={expanded}\n onClick={(e) => {\n e.stopPropagation();\n onToggleCollapse(it.id);\n }}\n >\n {expanded ? <ChevronDown size={14} /> : <ChevronRight size={14} />}\n </button>\n ) : (\n <span className={styles.foldSpacer} aria-hidden />\n )}\n <span className={styles.grip} aria-hidden>\n ⠿\n </span>\n <Checkbox checked={!it.hidden} onChange={(e) => onToggle(it.id, !e.target.checked)}>\n <span className={styles.label}>{it.label || it.id}</span>\n </Checkbox>\n </div>\n {hasChildren && expanded ? (\n <DragList\n items={it.children!}\n search={search}\n depth={depth + 1}\n collapsedIds={collapsedIds}\n onToggleCollapse={onToggleCollapse}\n onChange={(childNext) => {\n const next = items.map((x) =>\n x.id === it.id ? { ...x, children: childNext } : x,\n );\n onChange(next);\n }}\n onToggle={onToggle}\n />\n ) : null}\n </li>\n );\n })}\n </ul>\n );\n};\n\nfunction toggleInTree(\n items: ColumnConfigPanelItem[],\n id: string,\n hidden: boolean,\n): ColumnConfigPanelItem[] {\n return items.map((it) => {\n if (it.id === id) {\n const children = it.children?.map((c) => setHiddenDeep(c, hidden));\n return { ...it, hidden, children };\n }\n if (it.children) {\n const children = toggleInTree(it.children, id, hidden);\n const allHidden = children.every((c) => c.hidden);\n return {\n ...it,\n children,\n hidden: allHidden ? true : !hidden && it.id !== id ? false : it.hidden,\n };\n }\n return it;\n });\n}\n\nfunction setHiddenDeep(item: ColumnConfigPanelItem, hidden: boolean): ColumnConfigPanelItem {\n return {\n ...item,\n hidden,\n children: item.children?.map((c) => setHiddenDeep(c, hidden)),\n };\n}\n\n/** 将显隐两区合并回完整顺序:visible 在前,hidden 在后(保持各自内部拖拽序) */\nfunction mergeSections(\n visible: ColumnConfigPanelItem[],\n hidden: ColumnConfigPanelItem[],\n): ColumnConfigPanelItem[] {\n return [...visible, ...hidden];\n}\n\nexport const ColumnConfigPopover: FC<ColumnConfigPanelProps> = ({\n open,\n onOpenChange,\n defaultItems,\n savedConfig,\n onConfirm,\n children,\n}) => {\n const [draft, setDraft] = useState<ColumnConfigPanelItem[]>([]);\n const [searchVisible, setSearchVisible] = useState('');\n const [searchHidden, setSearchHidden] = useState('');\n const [saving, setSaving] = useState(false);\n const [collapsedIds, setCollapsedIds] = useState<Set<string>>(() => new Set());\n\n const syncDraft = useCallback(() => {\n setDraft(mergePanelWithConfig(defaultItems, savedConfig));\n setSearchVisible('');\n setSearchHidden('');\n setCollapsedIds(new Set());\n }, [defaultItems, savedConfig]);\n\n const handleOpenChange = (next: boolean) => {\n if (next) syncDraft();\n onOpenChange(next);\n };\n\n const { visible, hidden } = useMemo(() => splitVisibleHidden(draft), [draft]);\n /** 仅顶层 hidden,供可见区拖拽后 merge,避免把「摘出的二/三级扁平项」写回成顶层 */\n const topLevelHidden = useMemo(() => draft.filter((d) => d.hidden), [draft]);\n\n const setVisibleList = (list: ColumnConfigPanelItem[]) => {\n setDraft(mergeSections(list, topLevelHidden));\n };\n const setHiddenList = (list: ColumnConfigPanelItem[]) => {\n const topIds = new Set(topLevelHidden.map((d) => d.id));\n const newTopHidden = list.filter((i) => topIds.has(i.id));\n setDraft(\n mergeSections(\n draft.filter((d) => !d.hidden),\n newTopHidden,\n ),\n );\n };\n\n const onToggle = (id: string, nextHidden: boolean) => {\n setDraft((prev) => toggleInTree(prev, id, nextHidden));\n };\n\n const onToggleCollapse = useCallback((id: string) => {\n setCollapsedIds((prev) => {\n const next = new Set(prev);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n return next;\n });\n }, []);\n\n const onReset = () => {\n setDraft(defaultItems.map((d) => ({ ...d, children: d.children?.map((c) => ({ ...c })) })));\n setCollapsedIds(new Set());\n };\n\n const onOk = async () => {\n setSaving(true);\n try {\n await onConfirm(panelItemsToConfig(draft));\n onOpenChange(false);\n } finally {\n setSaving(false);\n }\n };\n\n const content = (\n <div className={styles.panel} data-ui=\"table-column-config\">\n <div className={styles.header}>\n <span className={styles.title}>编辑表格</span>\n <Tooltip title=\"恢复默认\">\n <button type=\"button\" className={styles.resetBtn} onClick={onReset} aria-label=\"恢复默认\">\n <Undo2 size={16} />\n </button>\n </Tooltip>\n </div>\n <Collapse\n className={styles.collapse}\n defaultActiveKey={['visible', 'hidden']}\n ghost\n items={[\n {\n key: 'visible',\n label: '显示的信息',\n children: (\n <>\n <Input\n allowClear\n size=\"small\"\n className={styles.search}\n placeholder=\"搜索\"\n value={searchVisible}\n onChange={(e) => setSearchVisible(e.target.value)}\n />\n <DragList\n items={visible}\n search={searchVisible}\n onChange={setVisibleList}\n onToggle={onToggle}\n collapsedIds={collapsedIds}\n onToggleCollapse={onToggleCollapse}\n />\n </>\n ),\n },\n {\n key: 'hidden',\n label: '隐藏的信息',\n children: (\n <>\n <Input\n allowClear\n size=\"small\"\n className={styles.search}\n placeholder=\"搜索\"\n value={searchHidden}\n onChange={(e) => setSearchHidden(e.target.value)}\n />\n <DragList\n items={hidden}\n search={searchHidden}\n onChange={setHiddenList}\n onToggle={onToggle}\n collapsedIds={collapsedIds}\n onToggleCollapse={onToggleCollapse}\n />\n </>\n ),\n },\n ]}\n />\n <div className={styles.footer}>\n <Space>\n <Button size=\"small\" onClick={() => onOpenChange(false)}>\n 取消\n </Button>\n <Button type=\"primary\" size=\"small\" loading={saving} onClick={() => void onOk()}>\n 确定\n </Button>\n </Space>\n </div>\n </div>\n );\n\n return (\n <Popover\n trigger=\"click\"\n placement=\"bottomRight\"\n open={open}\n onOpenChange={handleOpenChange}\n content={content}\n overlayClassName={styles.overlay}\n arrow={false}\n >\n {children}\n </Popover>\n );\n};\n\nexport function ColumnConfigTrigger({\n open,\n onOpenChange,\n defaultItems,\n savedConfig,\n onConfirm,\n}: Omit<ColumnConfigPanelProps, 'children'>) {\n return (\n <ColumnConfigPopover\n open={open}\n onOpenChange={onOpenChange}\n defaultItems={defaultItems}\n savedConfig={savedConfig}\n onConfirm={onConfirm}\n >\n <button\n type=\"button\"\n className={styles.gearBtn}\n aria-label=\"编辑表格\"\n onClick={(e) => e.stopPropagation()}\n >\n <Settings size={14} />\n </button>\n </ColumnConfigPopover>\n );\n}\n"],"names":["flattenSearch","items","q","lower","it","DragList","search","onChange","onToggle","depth","collapsedIds","onToggleCollapse","dragIndex","setDragIndex","useState","searching","filtered","useMemo","i","onDragStart","e","index","onDrop","toIndex","from","next","moved","styles","hasChildren","_a","expanded","jsxs","jsx","ChevronDown","ChevronRight","Checkbox","childNext","x","Empty","toggleInTree","id","hidden","children","setHiddenDeep","allHidden","c","item","mergeSections","visible","ColumnConfigPopover","open","onOpenChange","defaultItems","savedConfig","onConfirm","draft","setDraft","searchVisible","setSearchVisible","searchHidden","setSearchHidden","saving","setSaving","setCollapsedIds","syncDraft","useCallback","mergePanelWithConfig","handleOpenChange","splitVisibleHidden","topLevelHidden","d","setVisibleList","list","setHiddenList","topIds","newTopHidden","nextHidden","prev","onReset","onOk","panelItemsToConfig","content","Tooltip","Undo2","Collapse","Fragment","Input","Space","Button","Popover","ColumnConfigTrigger","Settings"],"mappings":"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"}
1
+ {"version":3,"file":"ColumnConfigPanel.js","sources":["../../../src/components/Table/ColumnConfigPanel.tsx"],"sourcesContent":["import { useCallback, useMemo, useState, type DragEvent, type FC, type ReactNode } from 'react';\nimport { Button, Checkbox, Collapse, Empty, Input, Popover, Space, Tooltip } from 'antd';\nimport { ChevronDown, ChevronRight, Settings, Undo2 } from '../Icons';\nimport type { ColumnConfigPanelItem, TableColumnConfigItem } from './columnConfigTypes';\nimport { mergePanelWithConfig, panelItemsToConfig, splitVisibleHidden } from './columnConfigUtils';\nimport styles from './columnConfig.module.scss';\n\ntype ColumnConfigPanelProps = {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n defaultItems: ColumnConfigPanelItem[];\n savedConfig: TableColumnConfigItem[] | null;\n onConfirm: (items: TableColumnConfigItem[]) => void | Promise<void>;\n children: ReactNode;\n};\n\nfunction flattenSearch(items: ColumnConfigPanelItem[], q: string): boolean {\n if (!q) return true;\n const lower = q.toLowerCase();\n return items.some(\n (it) =>\n it.label.toLowerCase().includes(lower) ||\n it.id.toLowerCase().includes(lower) ||\n (it.children ? flattenSearch(it.children, q) : false),\n );\n}\n\nconst DragList: FC<{\n items: ColumnConfigPanelItem[];\n search: string;\n onChange: (next: ColumnConfigPanelItem[]) => void;\n onToggle: (id: string, hidden: boolean) => void;\n depth?: number;\n collapsedIds: Set<string>;\n onToggleCollapse: (id: string) => void;\n}> = ({ items, search, onChange, onToggle, depth = 0, collapsedIds, onToggleCollapse }) => {\n const [dragIndex, setDragIndex] = useState<number | null>(null);\n const searching = Boolean(search.trim());\n\n const filtered = useMemo(() => {\n if (!search.trim()) return items.map((it, i) => ({ it, i }));\n return items.map((it, i) => ({ it, i })).filter(({ it }) => flattenSearch([it], search.trim()));\n }, [items, search]);\n\n const onDragStart = (e: DragEvent, index: number) => {\n setDragIndex(index);\n e.dataTransfer.effectAllowed = 'move';\n e.dataTransfer.setData('text/plain', String(index));\n };\n\n const onDrop = (e: DragEvent, toIndex: number) => {\n e.preventDefault();\n const from = dragIndex ?? Number(e.dataTransfer.getData('text/plain'));\n setDragIndex(null);\n if (!Number.isFinite(from) || from === toIndex) return;\n const next = [...items];\n const [moved] = next.splice(from, 1);\n if (!moved) return;\n next.splice(toIndex, 0, moved);\n onChange(next);\n };\n\n if (!filtered.length) {\n return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description=\"暂无数据\" />;\n }\n\n return (\n <ul className={styles.list} style={{ paddingLeft: depth ? 12 : 0 }}>\n {filtered.map(({ it, i }) => {\n const hasChildren = Boolean(it.children?.length);\n const expanded = searching || !collapsedIds.has(it.id);\n return (\n <li key={it.id} className={styles.listItem}>\n <div\n className={styles.row}\n draggable={!searching}\n onDragStart={(e) => onDragStart(e, i)}\n onDragOver={(e) => e.preventDefault()}\n onDrop={(e) => onDrop(e, i)}\n >\n {hasChildren ? (\n <button\n type=\"button\"\n className={styles.foldBtn}\n aria-label={expanded ? '折叠' : '展开'}\n aria-expanded={expanded}\n onClick={(e) => {\n e.stopPropagation();\n onToggleCollapse(it.id);\n }}\n >\n {expanded ? <ChevronDown size={14} /> : <ChevronRight size={14} />}\n </button>\n ) : (\n <span className={styles.foldSpacer} aria-hidden />\n )}\n <span className={styles.grip} aria-hidden>\n ⠿\n </span>\n <Checkbox checked={!it.hidden} onChange={(e) => onToggle(it.id, !e.target.checked)}>\n <span className={styles.label}>{it.label || it.id}</span>\n </Checkbox>\n </div>\n {hasChildren && expanded ? (\n <DragList\n items={it.children!}\n search={search}\n depth={depth + 1}\n collapsedIds={collapsedIds}\n onToggleCollapse={onToggleCollapse}\n onChange={(childNext) => {\n const next = items.map((x) =>\n x.id === it.id ? { ...x, children: childNext } : x,\n );\n onChange(next);\n }}\n onToggle={onToggle}\n />\n ) : null}\n </li>\n );\n })}\n </ul>\n );\n};\n\nfunction toggleInTree(\n items: ColumnConfigPanelItem[],\n id: string,\n hidden: boolean,\n): ColumnConfigPanelItem[] {\n return items.map((it) => {\n if (it.id === id) {\n const children = it.children?.map((c) => setHiddenDeep(c, hidden));\n return { ...it, hidden, children };\n }\n if (it.children) {\n const children = toggleInTree(it.children, id, hidden);\n const allHidden = children.every((c) => c.hidden);\n return {\n ...it,\n children,\n hidden: allHidden ? true : !hidden && it.id !== id ? false : it.hidden,\n };\n }\n return it;\n });\n}\n\nfunction setHiddenDeep(item: ColumnConfigPanelItem, hidden: boolean): ColumnConfigPanelItem {\n return {\n ...item,\n hidden,\n children: item.children?.map((c) => setHiddenDeep(c, hidden)),\n };\n}\n\n/** 将显隐两区合并回完整顺序:visible 在前,hidden 在后(保持各自内部拖拽序) */\nfunction mergeSections(\n visible: ColumnConfigPanelItem[],\n hidden: ColumnConfigPanelItem[],\n): ColumnConfigPanelItem[] {\n return [...visible, ...hidden];\n}\n\nexport const ColumnConfigPopover: FC<ColumnConfigPanelProps> = ({\n open,\n onOpenChange,\n defaultItems,\n savedConfig,\n onConfirm,\n children,\n}) => {\n const [draft, setDraft] = useState<ColumnConfigPanelItem[]>([]);\n const [searchVisible, setSearchVisible] = useState('');\n const [searchHidden, setSearchHidden] = useState('');\n const [saving, setSaving] = useState(false);\n const [collapsedIds, setCollapsedIds] = useState<Set<string>>(() => new Set());\n\n const syncDraft = useCallback(() => {\n setDraft(mergePanelWithConfig(defaultItems, savedConfig));\n setSearchVisible('');\n setSearchHidden('');\n setCollapsedIds(new Set());\n }, [defaultItems, savedConfig]);\n\n const handleOpenChange = (next: boolean) => {\n if (next) syncDraft();\n onOpenChange(next);\n };\n\n const { visible, hidden } = useMemo(() => splitVisibleHidden(draft), [draft]);\n /** 仅顶层 hidden,供可见区拖拽后 merge,避免把「摘出的二/三级扁平项」写回成顶层 */\n const topLevelHidden = useMemo(() => draft.filter((d) => d.hidden), [draft]);\n\n const setVisibleList = (list: ColumnConfigPanelItem[]) => {\n setDraft(mergeSections(list, topLevelHidden));\n };\n const setHiddenList = (list: ColumnConfigPanelItem[]) => {\n const topIds = new Set(topLevelHidden.map((d) => d.id));\n const newTopHidden = list.filter((i) => topIds.has(i.id));\n setDraft(\n mergeSections(\n draft.filter((d) => !d.hidden),\n newTopHidden,\n ),\n );\n };\n\n const onToggle = (id: string, nextHidden: boolean) => {\n setDraft((prev) => toggleInTree(prev, id, nextHidden));\n };\n\n const onToggleCollapse = useCallback((id: string) => {\n setCollapsedIds((prev) => {\n const next = new Set(prev);\n if (next.has(id)) next.delete(id);\n else next.add(id);\n return next;\n });\n }, []);\n\n const onReset = () => {\n setDraft(defaultItems.map((d) => ({ ...d, children: d.children?.map((c) => ({ ...c })) })));\n setCollapsedIds(new Set());\n };\n\n const onOk = async () => {\n setSaving(true);\n try {\n await onConfirm(panelItemsToConfig(draft));\n onOpenChange(false);\n } finally {\n setSaving(false);\n }\n };\n\n const content = (\n <div className={styles.panel} data-ui=\"table-column-config\">\n <div className={styles.header}>\n <span className={styles.title}>编辑表格</span>\n <Tooltip title=\"恢复默认\">\n <button type=\"button\" className={styles.resetBtn} onClick={onReset} aria-label=\"恢复默认\">\n <Undo2 size={16} />\n </button>\n </Tooltip>\n </div>\n <Collapse\n className={styles.collapse}\n defaultActiveKey={['visible', 'hidden']}\n ghost\n items={[\n {\n key: 'visible',\n label: '显示的信息',\n children: (\n <>\n <Input\n allowClear\n size=\"small\"\n className={styles.search}\n placeholder=\"搜索\"\n value={searchVisible}\n onChange={(e) => setSearchVisible(e.target.value)}\n />\n <DragList\n items={visible}\n search={searchVisible}\n onChange={setVisibleList}\n onToggle={onToggle}\n collapsedIds={collapsedIds}\n onToggleCollapse={onToggleCollapse}\n />\n </>\n ),\n },\n {\n key: 'hidden',\n label: '隐藏的信息',\n children: (\n <>\n <Input\n allowClear\n size=\"small\"\n className={styles.search}\n placeholder=\"搜索\"\n value={searchHidden}\n onChange={(e) => setSearchHidden(e.target.value)}\n />\n <DragList\n items={hidden}\n search={searchHidden}\n onChange={setHiddenList}\n onToggle={onToggle}\n collapsedIds={collapsedIds}\n onToggleCollapse={onToggleCollapse}\n />\n </>\n ),\n },\n ]}\n />\n <div className={styles.footer}>\n <Space>\n <Button size=\"small\" onClick={() => onOpenChange(false)}>\n 取消\n </Button>\n <Button type=\"primary\" size=\"small\" loading={saving} onClick={() => void onOk()}>\n 确定\n </Button>\n </Space>\n </div>\n </div>\n );\n\n return (\n <Popover\n trigger=\"click\"\n placement=\"bottomRight\"\n open={open}\n onOpenChange={handleOpenChange}\n content={content}\n overlayClassName={styles.overlay}\n arrow={false}\n >\n {children}\n </Popover>\n );\n};\n\nexport function ColumnConfigTrigger({\n open,\n onOpenChange,\n defaultItems,\n savedConfig,\n onConfirm,\n}: Omit<ColumnConfigPanelProps, 'children'>) {\n return (\n <ColumnConfigPopover\n open={open}\n onOpenChange={onOpenChange}\n defaultItems={defaultItems}\n savedConfig={savedConfig}\n onConfirm={onConfirm}\n >\n <button\n type=\"button\"\n className={styles.gearBtn}\n aria-label=\"编辑表格\"\n onClick={(e) => e.stopPropagation()}\n >\n <Settings size={14} />\n </button>\n </ColumnConfigPopover>\n );\n}\n"],"names":["flattenSearch","items","q","lower","it","DragList","search","onChange","onToggle","depth","collapsedIds","onToggleCollapse","dragIndex","setDragIndex","useState","searching","filtered","useMemo","i","onDragStart","e","index","onDrop","toIndex","from","next","moved","styles","hasChildren","_a","expanded","jsxs","jsx","ChevronDown","ChevronRight","Checkbox","childNext","x","Empty","toggleInTree","id","hidden","children","setHiddenDeep","allHidden","c","item","mergeSections","visible","ColumnConfigPopover","open","onOpenChange","defaultItems","savedConfig","onConfirm","draft","setDraft","searchVisible","setSearchVisible","searchHidden","setSearchHidden","saving","setSaving","setCollapsedIds","syncDraft","useCallback","mergePanelWithConfig","handleOpenChange","splitVisibleHidden","topLevelHidden","d","setVisibleList","list","setHiddenList","topIds","newTopHidden","nextHidden","prev","onReset","onOk","panelItemsToConfig","content","Tooltip","Undo2","Collapse","Fragment","Input","Space","Button","Popover","ColumnConfigTrigger","Settings"],"mappings":"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"}
@@ -2,15 +2,15 @@ import { jsxs as j, jsx as f } from "react/jsx-runtime";
2
2
  import { useRef as zt, useState as U, useEffect as ot, useMemo as S, useCallback as E } from "react";
3
3
  import { Space as Ft, Button as dt, Tooltip as pt, Table as kt } from "antd";
4
4
  import M from "classnames";
5
- import { Eye as ht } from "../Icons/index.js";
6
5
  import { ColumnConfigTrigger as Ct } from "./ColumnConfigPanel.js";
7
- import { applyColumnConfig as Dt, columnsToPanelItems as $t, columnsToConfig as jt, hideColumnAtPath as Bt, COLUMN_CONFIG_COL_KEY as Gt, isInternalColumnKey as yt, shortChildId as Pt } from "./columnConfigUtils.js";
6
+ import { applyColumnConfig as Dt, columnsToPanelItems as $t, columnsToConfig as jt, hideColumnAtPath as Bt, COLUMN_CONFIG_COL_KEY as Gt, isInternalColumnKey as ht, shortChildId as Pt } from "./columnConfigUtils.js";
8
7
  import { FLEX_SPACER_COL_KEY as fe } from "./columnConfigUtils.js";
9
8
  import { emptyTablePrefs as Ut } from "./tablePrefsTypes.js";
10
9
  import { normalizeHiddenRowKeys as Q, mergeTablePrefs as mt, applyHiddenRows as Mt } from "./tablePrefsUtils.js";
11
10
  import { parseTablePrefs as he, serializeTablePrefs as ye } from "./tablePrefsUtils.js";
12
11
  import o from "./style.module.scss.js";
13
12
  import ft from "./columnConfig.module.scss.js";
13
+ import { Eye as yt } from "../Icons/Eye.js";
14
14
  import Xt from "../Empty/Empty.js";
15
15
  const Yt = { x: "max-content" }, T = 40, qt = 64;
16
16
  function Zt(e) {
@@ -22,7 +22,7 @@ function gt(e) {
22
22
  let a = 0;
23
23
  for (const s of e) {
24
24
  const L = s.key != null ? String(s.key) : "";
25
- if (L && yt(L)) continue;
25
+ if (L && ht(L)) continue;
26
26
  if ((i = s.children) != null && i.length) {
27
27
  a += gt(s.children);
28
28
  continue;
@@ -49,7 +49,7 @@ function Lt(e, a, i, s = [], L = 0, l) {
49
49
  return e.map((r, d) => {
50
50
  var O, x;
51
51
  const b = Jt(r, d);
52
- if (yt(b)) return r;
52
+ if (ht(b)) return r;
53
53
  const A = i ? Pt(i, b) : b, N = [...s, A], _ = r.onHeaderCell;
54
54
  let p = l;
55
55
  L === 0 && (p = (O = r.children) != null && O.length ? k++ : void 0);
@@ -64,7 +64,7 @@ function Lt(e, a, i, s = [], L = 0, l) {
64
64
  onClick: (H) => {
65
65
  H.stopPropagation(), a(N);
66
66
  },
67
- children: /* @__PURE__ */ f(ht, { size: 12 })
67
+ children: /* @__PURE__ */ f(yt, { size: 12 })
68
68
  }
69
69
  ) })
70
70
  ] }), c = (H) => {
@@ -293,7 +293,7 @@ function oe({
293
293
  onClick: (Nt) => {
294
294
  Nt.stopPropagation(), rt(ct);
295
295
  },
296
- children: /* @__PURE__ */ f(ht, { size: 14 })
296
+ children: /* @__PURE__ */ f(yt, { size: 14 })
297
297
  }
298
298
  ) })
299
299
  ] });
@@ -339,7 +339,7 @@ export {
339
339
  oe as default,
340
340
  Ut as emptyTablePrefs,
341
341
  Bt as hideColumnAtPath,
342
- yt as isInternalColumnKey,
342
+ ht as isInternalColumnKey,
343
343
  mt as mergeTablePrefs,
344
344
  Q as normalizeHiddenRowKeys,
345
345
  he as parseTablePrefs,
@@ -1,12 +1,12 @@
1
1
  import { jsxs as s, Fragment as p, jsx as r } from "react/jsx-runtime";
2
- import { CircleHelp as u } from "../../Icons/index.js";
3
- import { Button as a, Tour as f } from "antd";
4
- import d from "classnames";
5
- import h, { useState as x } from "react";
6
- import C from "./style.module.scss.js";
2
+ import { Button as u, Tour as a } from "antd";
3
+ import f from "classnames";
4
+ import d, { useState as h } from "react";
5
+ import x from "./style.module.scss.js";
6
+ import { CircleHelp as C } from "../../Icons/CircleHelp.js";
7
7
  const R = ({ steps: l, storageKey: t, autoOpen: n = !0 }) => {
8
- const [c, e] = x(!1);
9
- h.useEffect(() => {
8
+ const [c, e] = h(!1);
9
+ d.useEffect(() => {
10
10
  if (!n || !t) return;
11
11
  if (!localStorage.getItem(t)) {
12
12
  const o = setTimeout(() => e(!0), 800);
@@ -17,15 +17,15 @@ const R = ({ steps: l, storageKey: t, autoOpen: n = !0 }) => {
17
17
  e(!1), t && localStorage.setItem(t, "true");
18
18
  };
19
19
  return l.length ? /* @__PURE__ */ s(p, { children: [
20
- /* @__PURE__ */ r(a, { type: "text", icon: /* @__PURE__ */ r(u, {}), onClick: () => e(!0), title: "导览" }),
20
+ /* @__PURE__ */ r(u, { type: "text", icon: /* @__PURE__ */ r(C, {}), onClick: () => e(!0), title: "导览" }),
21
21
  /* @__PURE__ */ r(
22
- f,
22
+ a,
23
23
  {
24
24
  open: c,
25
25
  onClose: i,
26
26
  onFinish: i,
27
27
  steps: l,
28
- indicatorsRender: (m, o) => /* @__PURE__ */ s("span", { className: d("app-tour-root", C["app-tour-root"]), children: [
28
+ indicatorsRender: (m, o) => /* @__PURE__ */ s("span", { className: f("app-tour-root", x["app-tour-root"]), children: [
29
29
  m + 1,
30
30
  " / ",
31
31
  o
@@ -1,97 +1,101 @@
1
- import { jsx as t, jsxs as b } from "react/jsx-runtime";
2
- import { Plus as re, Inbox as te, Upload as le, File as oe, Trash2 as ae } from "../Icons/index.js";
3
- import { message as y, Upload as U, Image as ie, Button as B, Typography as J } from "antd";
1
+ import { jsx as e, jsxs as b } from "react/jsx-runtime";
2
+ import { message as y, Upload as U, Image as tr, Button as B, Typography as J } from "antd";
4
3
  import p from "react";
5
4
  import a from "./style.module.scss.js";
6
5
  import o from "classnames";
7
- import ue, { SEMANTIC_COLORS as se } from "../Tag/SemanticTag.js";
6
+ import { Plus as er } from "../Icons/Plus.js";
7
+ import { Inbox as lr } from "../Icons/Inbox.js";
8
+ import { Upload as or } from "../Icons/Upload.js";
9
+ import { File as ar } from "../Icons/File.js";
10
+ import ir, { SEMANTIC_COLORS as ur } from "../Tag/SemanticTag.js";
11
+ import { Trash2 as sr } from "../Icons/Trash2.js";
8
12
  const _ = (l) => l < 1024 * 1024 ? `${(l / 1024).toFixed(0)}KB` : l < 1024 ** 3 ? `${(l / 1024 / 1024).toFixed(0)}M` : `${(l / 1024 ** 3).toFixed(1)}G`;
9
- function ne(l, u, s) {
10
- const r = [];
13
+ function nr(l, u, s) {
14
+ const t = [];
11
15
  if (l) {
12
16
  const f = l.split(",").map((g) => g.trim().replace(/^\./, "")).filter(Boolean);
13
- f.length && r.push(`支持扩展名${f.join(",")}`);
17
+ f.length && t.push(`支持扩展名${f.join(",")}`);
14
18
  }
15
- return u && r.push(`单个文件大小不超过${_(u)}`), s && r.push(`最多上传${s}个附件`), r.length ? /* @__PURE__ */ t(J.Text, { type: "secondary", className: o("upload-item", a["upload-item"]), children: r.join(",") }) : null;
19
+ return u && t.push(`单个文件大小不超过${_(u)}`), s && t.push(`最多上传${s}个附件`), t.length ? /* @__PURE__ */ e(J.Text, { type: "secondary", className: o("upload-item", a["upload-item"]), children: t.join(",") }) : null;
16
20
  }
17
- function de(l) {
21
+ function dr(l) {
18
22
  const u = l.lastIndexOf(".");
19
23
  return u >= 0 ? l.slice(u + 1).toUpperCase() : "";
20
24
  }
21
- function pe(l) {
25
+ function pr(l) {
22
26
  return l.url ? l.url : l.thumbUrl ? l.thumbUrl : l.originFileObj ? URL.createObjectURL(l.originFileObj) : "";
23
27
  }
24
- const V = ({ fileList: l, onRemove: u, onPreview: s }) => l.length ? /* @__PURE__ */ t("div", { className: o("upload-link", a["upload-link"]), children: l.map((r) => {
28
+ const V = ({ fileList: l, onRemove: u, onPreview: s }) => l.length ? /* @__PURE__ */ e("div", { className: o("upload-link", a["upload-link"]), children: l.map((t) => {
25
29
  var g, w, N;
26
- const f = !!(r.url || r.thumbUrl || (w = (g = r.originFileObj) == null ? void 0 : g.type) != null && w.startsWith("image/"));
30
+ const f = !!(t.url || t.thumbUrl || (w = (g = t.originFileObj) == null ? void 0 : g.type) != null && w.startsWith("image/"));
27
31
  return /* @__PURE__ */ b(
28
32
  "div",
29
33
  {
30
34
  className: o(
31
35
  o("upload-file-row", a["upload-file-row"]),
32
- r.status === "error" && o("upload-file-row-error", a["upload-file-row-error"])
36
+ t.status === "error" && o("upload-file-row-error", a["upload-file-row-error"])
33
37
  ),
34
38
  children: [
35
39
  /* @__PURE__ */ b("div", { className: o("upload-label", a["upload-label"]), children: [
36
- r.thumbUrl || r.url && ((N = r.type) != null && N.startsWith("image/")) ? /* @__PURE__ */ t(
40
+ t.thumbUrl || t.url && ((N = t.type) != null && N.startsWith("image/")) ? /* @__PURE__ */ e(
37
41
  "button",
38
42
  {
39
43
  type: "button",
40
44
  className: o("upload-thumb-btn", a["upload-thumb-btn"]),
41
- onClick: () => s == null ? void 0 : s(r),
45
+ onClick: () => s == null ? void 0 : s(t),
42
46
  title: "预览",
43
- children: /* @__PURE__ */ t(
47
+ children: /* @__PURE__ */ e(
44
48
  "img",
45
49
  {
46
50
  className: o("upload-thumb", a["upload-thumb"]),
47
- src: r.thumbUrl || r.url,
48
- alt: r.name
51
+ src: t.thumbUrl || t.url,
52
+ alt: t.name
49
53
  }
50
54
  )
51
55
  }
52
- ) : /* @__PURE__ */ t(oe, { className: o("upload-value", a["upload-value"]) }),
53
- /* @__PURE__ */ t("span", { className: o("upload-meta", a["upload-meta"]), children: r.name }),
54
- /* @__PURE__ */ t(
55
- ue,
56
+ ) : /* @__PURE__ */ e(ar, { className: o("upload-value", a["upload-value"]) }),
57
+ /* @__PURE__ */ e("span", { className: o("upload-meta", a["upload-meta"]), children: t.name }),
58
+ /* @__PURE__ */ e(
59
+ ir,
56
60
  {
57
- color: se.INFO,
61
+ color: ur.INFO,
58
62
  className: o("upload-icon", a["upload-icon"]),
59
- children: de(r.name)
63
+ children: dr(t.name)
60
64
  }
61
65
  ),
62
- r.size ? /* @__PURE__ */ t(
66
+ t.size ? /* @__PURE__ */ e(
63
67
  J.Text,
64
68
  {
65
69
  type: "secondary",
66
70
  className: o("upload-title", a["upload-title"]),
67
- children: _(r.size)
71
+ children: _(t.size)
68
72
  }
69
73
  ) : null
70
74
  ] }),
71
75
  /* @__PURE__ */ b("div", { className: o("upload-row-actions", a["upload-row-actions"]), children: [
72
- f && s ? /* @__PURE__ */ t(B, { type: "link", size: "small", onClick: () => s(r), children: "预览" }) : null,
73
- /* @__PURE__ */ t(
76
+ f && s ? /* @__PURE__ */ e(B, { type: "link", size: "small", onClick: () => s(t), children: "预览" }) : null,
77
+ /* @__PURE__ */ e(
74
78
  B,
75
79
  {
76
80
  type: "text",
77
81
  danger: !0,
78
82
  size: "small",
79
- icon: /* @__PURE__ */ t(ae, {}),
80
- onClick: () => u(r.uid),
83
+ icon: /* @__PURE__ */ e(sr, {}),
84
+ onClick: () => u(t.uid),
81
85
  className: o("upload-desc", a["upload-desc"])
82
86
  }
83
87
  )
84
88
  ] })
85
89
  ]
86
90
  },
87
- r.uid
91
+ t.uid
88
92
  );
89
- }) }) : null, ce = p.forwardRef(
93
+ }) }) : null, cr = p.forwardRef(
90
94
  ({
91
95
  value: l,
92
96
  onChange: u,
93
97
  className: s,
94
- variant: r,
98
+ variant: t,
95
99
  listType: f = "text",
96
100
  size: g,
97
101
  children: w,
@@ -112,27 +116,27 @@ const V = ({ fileList: l, onRemove: u, onPreview: s }) => l.length ? /* @__PURE_
112
116
  url: "",
113
117
  title: ""
114
118
  }), k = p.useRef([]), n = l ?? Y, m = p.useCallback(
115
- (e) => {
116
- const i = typeof e == "function" ? e(n) : e;
119
+ (r) => {
120
+ const i = typeof r == "function" ? r(n) : r;
117
121
  u == null || u(i), Z(i), c == null || c(i);
118
122
  },
119
123
  [n, u, c]
120
124
  ), C = G ?? 500 * 1024 * 1024, A = Q ?? 3, $ = p.useCallback(
121
- (e) => j && !j(e) ? (y.error("无权限上传此文件"), U.LIST_IGNORE) : e.size > C ? (y.error(`文件超出 ${_(C)} 限制`), U.LIST_IGNORE) : !0,
125
+ (r) => j && !j(r) ? (y.error("无权限上传此文件"), U.LIST_IGNORE) : r.size > C ? (y.error(`文件超出 ${_(C)} 限制`), U.LIST_IGNORE) : !0,
122
126
  [C, j]
123
127
  ), D = p.useCallback(async () => {
124
128
  if (!(!L || !n.length)) {
125
129
  P(!0);
126
130
  try {
127
- const e = [...n], i = [];
128
- for (; e.length; ) {
129
- const d = e.shift();
131
+ const r = [...n], i = [];
132
+ for (; r.length; ) {
133
+ const d = r.shift();
130
134
  if (!(d != null && d.originFileObj)) continue;
131
- const ee = d.originFileObj;
135
+ const rr = d.originFileObj;
132
136
  i.push(
133
137
  new Promise((H) => {
134
138
  L({
135
- file: ee,
139
+ file: rr,
136
140
  onSuccess: (K) => {
137
141
  m(
138
142
  (T) => T.map(
@@ -159,22 +163,22 @@ const V = ({ fileList: l, onRemove: u, onPreview: s }) => l.length ? /* @__PURE_
159
163
  D,
160
164
  M
161
165
  ]);
162
- const E = p.useCallback((e) => {
163
- const i = pe(e);
166
+ const E = p.useCallback((r) => {
167
+ const i = pr(r);
164
168
  if (!i) {
165
169
  y.warning("暂无法预览该文件");
166
170
  return;
167
171
  }
168
- i.startsWith("blob:") && k.current.push(i), W({ open: !0, url: i, title: e.name || "预览" });
172
+ i.startsWith("blob:") && k.current.push(i), W({ open: !0, url: i, title: r.name || "预览" });
169
173
  }, []);
170
174
  p.useEffect(
171
175
  () => () => {
172
- k.current.forEach((e) => URL.revokeObjectURL(e)), k.current = [];
176
+ k.current.forEach((r) => URL.revokeObjectURL(r)), k.current = [];
173
177
  },
174
178
  []
175
179
  );
176
- const v = (N == null ? void 0 : N()) ?? ne(R, G, x), S = !x || n.length < x, z = /* @__PURE__ */ t(
177
- ie,
180
+ const v = (N == null ? void 0 : N()) ?? nr(R, G, x), S = !x || n.length < x, z = /* @__PURE__ */ e(
181
+ tr,
178
182
  {
179
183
  alt: F.title,
180
184
  style: { display: "none" },
@@ -182,7 +186,7 @@ const V = ({ fileList: l, onRemove: u, onPreview: s }) => l.length ? /* @__PURE_
182
186
  preview: {
183
187
  visible: F.open,
184
188
  src: F.url,
185
- onVisibleChange: (e) => W((i) => ({ ...i, open: e }))
189
+ onVisibleChange: (r) => W((i) => ({ ...i, open: r }))
186
190
  }
187
191
  }
188
192
  );
@@ -191,27 +195,27 @@ const V = ({ fileList: l, onRemove: u, onPreview: s }) => l.length ? /* @__PURE_
191
195
  {
192
196
  className: o("upload-picture-root", a["upload-picture-root"], s),
193
197
  children: [
194
- /* @__PURE__ */ t(
198
+ /* @__PURE__ */ e(
195
199
  U,
196
200
  {
197
201
  listType: "picture-card",
198
202
  fileList: n,
199
203
  beforeUpload: $,
200
- onChange: (e) => m(e.fileList),
204
+ onChange: (r) => m(r.fileList),
201
205
  onPreview: E,
202
206
  multiple: I,
203
207
  directory: O,
204
208
  accept: R,
205
209
  showUploadList: { showPreviewIcon: !0, showRemoveIcon: !0 },
206
- customRequest: ({ onSuccess: e }) => e == null ? void 0 : e({}),
210
+ customRequest: ({ onSuccess: r }) => r == null ? void 0 : r({}),
207
211
  className: o("upload-picture-card", a["upload-picture-card"]),
208
212
  children: S ? /* @__PURE__ */ b(
209
213
  "div",
210
214
  {
211
215
  className: o("upload-picture-trigger", a["upload-picture-trigger"]),
212
216
  children: [
213
- /* @__PURE__ */ t(re, { size: 20 }),
214
- /* @__PURE__ */ t(
217
+ /* @__PURE__ */ e(er, { size: 20 }),
218
+ /* @__PURE__ */ e(
215
219
  "div",
216
220
  {
217
221
  className: o(
@@ -226,67 +230,67 @@ const V = ({ fileList: l, onRemove: u, onPreview: s }) => l.length ? /* @__PURE_
226
230
  ) : null
227
231
  }
228
232
  ),
229
- v ? /* @__PURE__ */ t("div", { className: o("upload-list", a["upload-list"]), children: v }) : null,
233
+ v ? /* @__PURE__ */ e("div", { className: o("upload-list", a["upload-list"]), children: v }) : null,
230
234
  z
231
235
  ]
232
236
  }
233
- ) : r === "panel" ? /* @__PURE__ */ b("div", { className: s, children: [
237
+ ) : t === "panel" ? /* @__PURE__ */ b("div", { className: s, children: [
234
238
  /* @__PURE__ */ b(
235
239
  U.Dragger,
236
240
  {
237
241
  fileList: n,
238
242
  beforeUpload: $,
239
- onChange: (e) => m(e.fileList),
243
+ onChange: (r) => m(r.fileList),
240
244
  multiple: I,
241
245
  directory: O,
242
246
  accept: R,
243
247
  showUploadList: !1,
244
- customRequest: ({ onSuccess: e }) => e == null ? void 0 : e({}),
248
+ customRequest: ({ onSuccess: r }) => r == null ? void 0 : r({}),
245
249
  children: [
246
- /* @__PURE__ */ t("p", { className: o("upload-drag-icon", a["upload-drag-icon"]), children: /* @__PURE__ */ t(te, {}) }),
247
- /* @__PURE__ */ t("p", { className: "ant-upload-text", children: "点击或拖拽文件到此区域上传" }),
248
- /* @__PURE__ */ t("p", { children: v })
250
+ /* @__PURE__ */ e("p", { className: o("upload-drag-icon", a["upload-drag-icon"]), children: /* @__PURE__ */ e(lr, {}) }),
251
+ /* @__PURE__ */ e("p", { className: "ant-upload-text", children: "点击或拖拽文件到此区域上传" }),
252
+ /* @__PURE__ */ e("p", { children: v })
249
253
  ]
250
254
  }
251
255
  ),
252
- q && /* @__PURE__ */ t(
256
+ q && /* @__PURE__ */ e(
253
257
  V,
254
258
  {
255
259
  fileList: n,
256
- onRemove: (e) => m((i) => i.filter((d) => d.uid !== e)),
260
+ onRemove: (r) => m((i) => i.filter((d) => d.uid !== r)),
257
261
  onPreview: E
258
262
  }
259
263
  ),
260
264
  z
261
265
  ] }) : /* @__PURE__ */ b("div", { className: s, children: [
262
- /* @__PURE__ */ t(
266
+ /* @__PURE__ */ e(
263
267
  U,
264
268
  {
265
269
  fileList: n,
266
270
  beforeUpload: $,
267
- onChange: (e) => m(e.fileList),
271
+ onChange: (r) => m(r.fileList),
268
272
  multiple: I,
269
273
  directory: O,
270
274
  accept: R,
271
275
  showUploadList: !1,
272
- customRequest: ({ onSuccess: e }) => e == null ? void 0 : e({}),
273
- children: w ?? /* @__PURE__ */ t(
276
+ customRequest: ({ onSuccess: r }) => r == null ? void 0 : r({}),
277
+ children: w ?? /* @__PURE__ */ e(
274
278
  B,
275
279
  {
276
280
  size: g,
277
- icon: /* @__PURE__ */ t(le, {}),
281
+ icon: /* @__PURE__ */ e(or, {}),
278
282
  className: o("upload-toolbar", a["upload-toolbar"]),
279
283
  children: "点击上传"
280
284
  }
281
285
  )
282
286
  }
283
287
  ),
284
- /* @__PURE__ */ t("div", { className: o("upload-list", a["upload-list"]), children: v }),
285
- q && /* @__PURE__ */ t(
288
+ /* @__PURE__ */ e("div", { className: o("upload-list", a["upload-list"]), children: v }),
289
+ q && /* @__PURE__ */ e(
286
290
  V,
287
291
  {
288
292
  fileList: n,
289
- onRemove: (e) => m((i) => i.filter((d) => d.uid !== e)),
293
+ onRemove: (r) => m((i) => i.filter((d) => d.uid !== r)),
290
294
  onPreview: E
291
295
  }
292
296
  ),
@@ -294,8 +298,8 @@ const V = ({ fileList: l, onRemove: u, onPreview: s }) => l.length ? /* @__PURE_
294
298
  ] });
295
299
  }
296
300
  );
297
- ce.displayName = "CommonUpload";
301
+ cr.displayName = "CommonUpload";
298
302
  export {
299
- ce as default
303
+ cr as default
300
304
  };
301
305
  //# sourceMappingURL=index.js.map