@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,16 +1,19 @@
1
1
  import { jsxs as H, jsx as f } from "react/jsx-runtime";
2
- import { ChevronDown as Te, ChevronRight as ye, Check as ze, X as Pe } from "../../Icons/index.js";
3
- import { useFetchData as Re } from "../../../hooks/useFetchData.js";
4
- import { Input as Ae, Spin as je, Checkbox as Ue, Space as Ve } from "antd";
2
+ import { useFetchData as Te } from "../../../hooks/useFetchData.js";
3
+ import { Input as ye, Spin as ze, Checkbox as Pe, Space as Re } from "antd";
5
4
  import R from "classnames";
6
5
  import { useRef as oe, useState as A, useEffect as W, useMemo as E, useCallback as X } from "react";
7
- import Be from "../FilterPopover/index.js";
6
+ import Ae from "../FilterPopover/index.js";
8
7
  import { resolveFilterVisible as ae } from "../types.js";
9
- import { useFilterFieldBridge as He, useFilterRegister as We } from "../useFilterState.js";
8
+ import { useFilterFieldBridge as je, useFilterRegister as Ue } from "../useFilterState.js";
10
9
  import g from "./style.module.scss.js";
11
- import { useMarsunFetch as Xe } from "../../../provider/context.js";
12
- import $e from "../../Empty/Empty.js";
13
- const { Search: qe } = Ae;
10
+ import { useMarsunFetch as Ve } from "../../../provider/context.js";
11
+ import Be from "../../Empty/Empty.js";
12
+ import { ChevronDown as He } from "../../Icons/ChevronDown.js";
13
+ import { ChevronRight as We } from "../../Icons/ChevronRight.js";
14
+ import { Check as Xe } from "../../Icons/Check.js";
15
+ import { X as $e } from "../../Icons/X.js";
16
+ const { Search: qe } = ye;
14
17
  function fe(u, v = 0, p = null) {
15
18
  var N;
16
19
  const d = [];
@@ -46,7 +49,7 @@ function Ge(u, v) {
46
49
  };
47
50
  return d(u), p;
48
51
  }
49
- const rt = ({
52
+ const nt = ({
50
53
  filterKey: u,
51
54
  label: v,
52
55
  treeData: p,
@@ -72,7 +75,7 @@ const rt = ({
72
75
  }) => {
73
76
  const z = oe(a);
74
77
  z.current = a;
75
- const ve = me ?? (C ? 460 : void 0), { resolvedLabel: j, values: xe, depsKey: we } = He({
78
+ const ve = me ?? (C ? 460 : void 0), { resolvedLabel: j, values: xe, depsKey: we } = je({
76
79
  filterKey: u,
77
80
  value: h,
78
81
  label: v,
@@ -82,7 +85,7 @@ const rt = ({
82
85
  var e;
83
86
  return (e = z.current) == null ? void 0 : e.call(z, n ? [] : void 0);
84
87
  }
85
- }), G = Xe(), te = p != null || !b && !!d, { data: be, loading: Me } = Re({
88
+ }), G = Ve(), te = p != null || !b && !!d, { data: be, loading: Me } = Te({
86
89
  data: p,
87
90
  fetchUrl: te && !b ? d : void 0,
88
91
  fetchOptions: N,
@@ -108,13 +111,13 @@ const rt = ({
108
111
  e = !0;
109
112
  };
110
113
  }, [we, F, p, b]);
111
- const M = p ?? (b ? Se : be ?? []), ce = ge || Me || Le, [ke, V] = A(!1), [x, w] = A(
114
+ const M = p ?? (b ? Se : be ?? []), ie = ge || Me || Le, [ke, V] = A(!1), [x, w] = A(
112
115
  h ?? (n ? [] : void 0)
113
- ), [Q, ie] = A(/* @__PURE__ */ new Set()), [T, Y] = A(""), U = We(), Z = { filterKey: u, label: j, value: h };
116
+ ), [Q, ce] = A(/* @__PURE__ */ new Set()), [T, Y] = A(""), U = Ue(), Z = { filterKey: u, label: j, value: h };
114
117
  W(() => {
115
118
  w(h ?? (n ? [] : void 0)), h == null && Y("");
116
119
  }, [h, n]), W(() => {
117
- M.length && ie(new Set(de(M)));
120
+ M.length && ce(new Set(de(M)));
118
121
  }, [M]);
119
122
  const B = E(
120
123
  () => Ge(M, ee),
@@ -165,11 +168,11 @@ const rt = ({
165
168
  var r;
166
169
  for (const s of o)
167
170
  if ((r = s.children) != null && r.length) {
168
- const c = [], l = (i) => {
171
+ const i = [], l = (c) => {
169
172
  var k;
170
- c.push(i.id), (k = i.children) == null || k.forEach(l);
173
+ i.push(c.id), (k = c.children) == null || k.forEach(l);
171
174
  };
172
- s.children.forEach(l), e.set(s.id, c), t(s.children);
175
+ s.children.forEach(l), e.set(s.id, i), t(s.children);
173
176
  }
174
177
  };
175
178
  return t(S), e;
@@ -178,7 +181,7 @@ const rt = ({
178
181
  var r;
179
182
  for (const s of o)
180
183
  if ((r = s.children) != null && r.length) {
181
- for (const c of s.children) e.set(c.id, s.id);
184
+ for (const i of s.children) e.set(i.id, s.id);
182
185
  t(s.children);
183
186
  }
184
187
  };
@@ -188,20 +191,20 @@ const rt = ({
188
191
  var r;
189
192
  for (const s of o) {
190
193
  if (!((r = s.children) != null && r.length)) continue;
191
- const c = [], l = (i) => {
194
+ const i = [], l = (c) => {
192
195
  var k;
193
- if (!((k = i.children) != null && k.length)) {
194
- c.push(i.id);
196
+ if (!((k = c.children) != null && k.length)) {
197
+ i.push(c.id);
195
198
  return;
196
199
  }
197
- i.children.forEach(l);
200
+ c.children.forEach(l);
198
201
  };
199
- s.children.forEach(l), e.set(s.id, c), t(s.children);
202
+ s.children.forEach(l), e.set(s.id, i), t(s.children);
200
203
  }
201
204
  };
202
205
  return t(S), e;
203
206
  }, [S]), I = X((e) => {
204
- ie((t) => {
207
+ ce((t) => {
205
208
  const o = new Set(t);
206
209
  return o.has(e) ? o.delete(e) : o.add(e), o;
207
210
  });
@@ -221,7 +224,7 @@ const rt = ({
221
224
  if (L && (r != null && r.length)) {
222
225
  if (r.every((l) => t.includes(l))) {
223
226
  const l = new Set(r);
224
- w(t.filter((i) => !l.has(i)));
227
+ w(t.filter((c) => !l.has(c)));
225
228
  } else
226
229
  w([.../* @__PURE__ */ new Set([...t, ...r])]);
227
230
  return;
@@ -229,17 +232,17 @@ const rt = ({
229
232
  if (o)
230
233
  if (t.includes(e)) {
231
234
  const l = /* @__PURE__ */ new Set([e, ...o]);
232
- w(t.filter((i) => !l.has(i)));
235
+ w(t.filter((c) => !l.has(c)));
233
236
  } else
234
237
  w([.../* @__PURE__ */ new Set([...t, e, ...o])]);
235
238
  else if (t.includes(e)) {
236
- const c = t.filter((l) => l !== e);
239
+ const i = t.filter((l) => l !== e);
237
240
  w(
238
- s && c.includes(s) ? c.filter((l) => l !== s) : c
241
+ s && i.includes(s) ? i.filter((l) => l !== s) : i
239
242
  );
240
243
  } else {
241
- const c = [...t, e];
242
- s && !L && (K.get(s) || []).every((i) => c.includes(i)) ? w([.../* @__PURE__ */ new Set([...c, s])]) : w(c);
244
+ const i = [...t, e];
245
+ s && !L && (K.get(s) || []).every((c) => i.includes(c)) ? w([.../* @__PURE__ */ new Set([...i, s])]) : w(i);
243
246
  }
244
247
  },
245
248
  [x, K, le, L, D]
@@ -248,11 +251,11 @@ const rt = ({
248
251
  [Q, y, T]
249
252
  );
250
253
  return ae({ display: q, hidden: $ }, Z) ? /* @__PURE__ */ H(
251
- Be,
254
+ Ae,
252
255
  {
253
256
  label: j,
254
257
  active: he || (n ? (x == null ? void 0 : x.length) > 0 : !!h),
255
- loading: ce,
258
+ loading: ie,
256
259
  open: ke,
257
260
  onOpenChange: V,
258
261
  width: ve,
@@ -290,28 +293,28 @@ const rt = ({
290
293
  "div",
291
294
  {
292
295
  className: R("filter-tree-select-options", g["filter-tree-select-options"]),
293
- children: ce ? /* @__PURE__ */ f(
296
+ children: ie ? /* @__PURE__ */ f(
294
297
  "div",
295
298
  {
296
299
  className: R(
297
300
  "filter-tree-select-loading",
298
301
  g["filter-tree-select-loading"]
299
302
  ),
300
- children: /* @__PURE__ */ f(je, { size: "small" })
303
+ children: /* @__PURE__ */ f(ze, { size: "small" })
301
304
  }
302
305
  ) : ne.length === 0 ? /* @__PURE__ */ f(
303
306
  "div",
304
307
  {
305
308
  className: R("filter-tree-select-empty", g["filter-tree-select-empty"]),
306
- children: /* @__PURE__ */ f($e, { iconType: "simple", description: "暂无数据" })
309
+ children: /* @__PURE__ */ f(Be, { iconType: "simple", description: "暂无数据" })
307
310
  }
308
311
  ) : ne.map((e) => {
309
312
  if (!Fe(e)) return null;
310
313
  const t = !P.get(e.id), o = Q.has(e.id), r = !n && x === e.id, s = n ? x || [] : [];
311
- let c = n && s.includes(e.id), l = !1;
314
+ let i = n && s.includes(e.id), l = !1;
312
315
  if (n && L && !t) {
313
- const i = D.get(e.id) || [], k = i.filter((Ee) => s.includes(Ee)).length;
314
- c = i.length > 0 && k === i.length, l = k > 0 && k < i.length;
316
+ const c = D.get(e.id) || [], k = c.filter((Ee) => s.includes(Ee)).length;
317
+ i = c.length > 0 && k === c.length, l = k > 0 && k < c.length;
315
318
  }
316
319
  return /* @__PURE__ */ H(
317
320
  "div",
@@ -328,23 +331,23 @@ const rt = ({
328
331
  "span",
329
332
  {
330
333
  className: g["filter-tree-select-expand-icon"],
331
- onClick: (i) => {
332
- i.stopPropagation(), I(e.id);
334
+ onClick: (c) => {
335
+ c.stopPropagation(), I(e.id);
333
336
  },
334
- children: o || y && T ? /* @__PURE__ */ f(Te, { style: { fontSize: 10 } }) : /* @__PURE__ */ f(ye, { style: { fontSize: 10 } })
337
+ children: o || y && T ? /* @__PURE__ */ f(He, { style: { fontSize: 10 } }) : /* @__PURE__ */ f(We, { style: { fontSize: 10 } })
335
338
  }
336
339
  ),
337
340
  n && /* @__PURE__ */ f(
338
- Ue,
341
+ Pe,
339
342
  {
340
- checked: c,
343
+ checked: i,
341
344
  indeterminate: l,
342
- onClick: (i) => i.stopPropagation(),
345
+ onClick: (c) => c.stopPropagation(),
343
346
  onChange: () => O(e.id)
344
347
  }
345
348
  ),
346
349
  /* @__PURE__ */ f("span", { className: g["filter-tree-select-node-label"], children: e.name }),
347
- !n && r && /* @__PURE__ */ f(ze, { className: g["filter-tree-select-option-check"] })
350
+ !n && r && /* @__PURE__ */ f(Xe, { className: g["filter-tree-select-option-check"] })
348
351
  ]
349
352
  },
350
353
  e.id
@@ -354,7 +357,7 @@ const rt = ({
354
357
  ),
355
358
  n && (L ? (x || []).some((e) => !P.get(e)) : (x || []).length > 0) && /* @__PURE__ */ H("div", { className: g["filter-tree-select-selected-bar"], children: [
356
359
  /* @__PURE__ */ f("div", { className: g["filter-tree-select-selected-label"], children: "已选:" }),
357
- /* @__PURE__ */ f(Ve, { size: [4, 4], wrap: !0, children: (x || []).filter((e) => !(L && P.get(e))).map((e) => /* @__PURE__ */ H(
360
+ /* @__PURE__ */ f(Re, { size: [4, 4], wrap: !0, children: (x || []).filter((e) => !(L && P.get(e))).map((e) => /* @__PURE__ */ H(
358
361
  "span",
359
362
  {
360
363
  className: g["filter-tree-select-selected-tag"],
@@ -363,7 +366,7 @@ const rt = ({
363
366
  },
364
367
  children: [
365
368
  B.get(e) ?? e,
366
- /* @__PURE__ */ f(Pe, { className: g["filter-tree-select-selected-remove"] })
369
+ /* @__PURE__ */ f($e, { className: g["filter-tree-select-selected-remove"] })
367
370
  ]
368
371
  },
369
372
  e
@@ -374,6 +377,6 @@ const rt = ({
374
377
  ) : null;
375
378
  };
376
379
  export {
377
- rt as default
380
+ nt as default
378
381
  };
379
382
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterTreeSelect/index.tsx"],"sourcesContent":["import { Check, ChevronDown, ChevronRight, X } from '@/components/Icons';\nimport { Empty } from '@/components/Empty';\nimport { useMarsunFetch } from '@/provider';\nimport { useFetchData } from '@/hooks/useFetchData';\nimport { Checkbox, Input, Space, Spin } from 'antd';\nimport classNames from 'classnames';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport FilterPopover from '../FilterPopover';\nimport type { BaseFilterProps, FilterLoadDataContext } from '../types';\nimport { resolveFilterVisible } from '../types';\nimport { useFilterFieldBridge, useFilterRegister } from '../useFilterState';\nimport styles from './style.module.scss';\n\nconst { Search } = Input;\n\nexport interface TreeFilterNode {\n id: string;\n name: string;\n children?: TreeFilterNode[];\n}\n\nexport interface FilterTreeSelectProps extends BaseFilterProps {\n treeData?: TreeFilterNode[];\n fetchUrl?: string;\n fetchOptions?: RequestInit;\n transformData?: (raw: unknown) => TreeFilterNode[];\n /**\n * 按依赖值动态拉取树数据(优先于 fetchUrl;若同时传 treeData 则仍以 treeData 为准)。\n */\n loadData?: (ctx: FilterLoadDataContext) => Promise<TreeFilterNode[]>;\n enabled?: boolean;\n value?: string | string[] | undefined;\n onChange?: (value: string | string[] | undefined) => void;\n showSearch?: boolean;\n multiple?: boolean;\n /**\n * 仅叶子写入最终值。\n * - 单选:点父节点只展开\n * - 多选:点父节点 / 勾选框 = 全选或取消其下全部叶子;父勾选框支持半选\n */\n leafOnly?: boolean;\n /** 自定义节点展示标签(默认 name) */\n getNodeLabel?: (node: TreeFilterNode) => string;\n /**\n * 面板内嵌从属条件(与 search 同层:search 下方、树列表上方)。\n * 用于「属性筛服务本树」等场景;禁止再嵌 Filter*(双重 Popover)。\n */\n panelExtra?: React.ReactNode;\n /** 面板宽度;有 panelExtra 时默认 460 */\n panelWidth?: number;\n /**\n * 选项加载中:Filter Item(Trigger)显示 Loader2 spin;\n * 面板列表区显示 Spin,不渲染空态。\n * 与内部 fetchUrl / loadData loading 取或。\n */\n loading?: boolean;\n}\n\ninterface FlatNode {\n id: string;\n name: string;\n depth: number;\n parentId: string | null;\n}\n\nfunction flattenTree(\n nodes: TreeFilterNode[],\n depth = 0,\n parentId: string | null = null,\n): FlatNode[] {\n const result: FlatNode[] = [];\n for (const node of nodes) {\n result.push({ id: node.id, name: node.name, depth, parentId });\n if (node.children?.length) {\n result.push(...flattenTree(node.children, depth + 1, node.id));\n }\n }\n return result;\n}\n\nfunction filterByKeyword(nodes: TreeFilterNode[], keyword: string): TreeFilterNode[] {\n if (!keyword) return nodes;\n const lower = keyword.toLowerCase();\n function matchTree(items: TreeFilterNode[]): TreeFilterNode[] {\n const result: TreeFilterNode[] = [];\n for (const item of items) {\n const children = item.children?.length ? matchTree(item.children) : [];\n const selfMatch = item.name.toLowerCase().includes(lower);\n if (selfMatch || children.length > 0) {\n result.push({ ...item, children: children.length > 0 ? children : undefined });\n }\n }\n return result;\n }\n return matchTree(nodes);\n}\n\nfunction collectExpandableIds(nodes: TreeFilterNode[]): string[] {\n const ids: string[] = [];\n for (const node of nodes) {\n if (node.children?.length) {\n ids.push(node.id);\n ids.push(...collectExpandableIds(node.children));\n }\n }\n return ids;\n}\n\nfunction buildLabelMap(\n nodes: TreeFilterNode[],\n getLabel: (n: TreeFilterNode) => string,\n): Map<string, string> {\n const map = new Map<string, string>();\n const walk = (items: TreeFilterNode[]) => {\n for (const n of items) {\n map.set(n.id, getLabel(n));\n if (n.children) walk(n.children);\n }\n };\n walk(nodes);\n return map;\n}\n\nconst FilterTreeSelect: React.FC<FilterTreeSelectProps> = ({\n filterKey,\n label,\n treeData: propsTreeData,\n fetchUrl,\n fetchOptions,\n transformData,\n loadData,\n enabled = true,\n value,\n onChange,\n showSearch = false,\n multiple = false,\n leafOnly = false,\n active,\n hidden,\n display,\n dependsOn,\n clearOnDepsChange = true,\n getNodeLabel = (n) => n.name,\n panelExtra,\n panelWidth,\n loading: loadingProp = false,\n}) => {\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const resolvedPanelWidth = panelWidth ?? (panelExtra ? 460 : undefined);\n\n const { resolvedLabel, values, depsKey } = useFilterFieldBridge({\n filterKey,\n value,\n label,\n dependsOn,\n clearOnDepsChange,\n onDepsClear: () => onChangeRef.current?.(multiple ? [] : undefined),\n });\n\n const fetchCtx = useMarsunFetch();\n const useStaticOrUrl = propsTreeData != null || (!loadData && !!fetchUrl);\n const { data: fetchedTree, loading: fetchLoading } = useFetchData<TreeFilterNode[]>({\n data: propsTreeData,\n fetchUrl: useStaticOrUrl && !loadData ? fetchUrl : undefined,\n fetchOptions,\n transformData,\n enabled: enabled && useStaticOrUrl && !loadData,\n baseUrl: fetchCtx.baseUrl,\n defaultHeaders: fetchCtx.headers,\n timeoutMs: fetchCtx.timeoutMs,\n });\n\n const [loadedTree, setLoadedTree] = useState<TreeFilterNode[]>([]);\n const [loadDataLoading, setLoadDataLoading] = useState(false);\n const loadDataRef = useRef(loadData);\n loadDataRef.current = loadData;\n\n useEffect(() => {\n if (!loadDataRef.current || propsTreeData != null || !enabled) return;\n let cancelled = false;\n setLoadDataLoading(true);\n (async () => {\n try {\n const next = await loadDataRef.current!({ values });\n if (!cancelled) setLoadedTree(next ?? []);\n } catch {\n if (!cancelled) setLoadedTree([]);\n } finally {\n if (!cancelled) setLoadDataLoading(false);\n }\n })();\n return () => {\n cancelled = true;\n };\n // values 已由 depsKey 覆盖;避免无 dependsOn 时随 values 全表抖动\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [depsKey, enabled, propsTreeData, loadData]);\n\n const sourceTree = propsTreeData ?? (loadData ? loadedTree : (fetchedTree ?? []));\n const optionsLoading = loadingProp || fetchLoading || loadDataLoading;\n\n const [open, setOpen] = useState(false);\n const [localValue, setLocalValue] = useState<string | string[] | undefined>(\n value ?? (multiple ? [] : undefined),\n );\n const [expandedKeys, setExpandedKeys] = useState<Set<string>>(new Set());\n const [searchText, setSearchText] = useState('');\n\n const registerFn = useFilterRegister();\n const visibilityCtx = { filterKey, label: resolvedLabel, value };\n\n useEffect(() => {\n setLocalValue(value ?? (multiple ? [] : undefined));\n if (value === undefined || value === null) setSearchText('');\n }, [value, multiple]);\n\n useEffect(() => {\n if (sourceTree.length) {\n setExpandedKeys(new Set(collectExpandableIds(sourceTree)));\n }\n }, [sourceTree]);\n\n const labelMap = useMemo(\n () => buildLabelMap(sourceTree, getNodeLabel),\n [sourceTree, getNodeLabel],\n );\n\n const confirmedValueLabel = useMemo(() => {\n if (!sourceTree.length || value == null) return '';\n if (multiple) {\n const arr = value as string[];\n return arr.length > 0 ? arr.map((v) => labelMap.get(v) ?? v).join('、') : '';\n }\n return labelMap.get(value as string) ?? '';\n }, [sourceTree, value, multiple, labelMap]);\n\n useEffect(() => {\n if (!registerFn) return;\n if (!resolveFilterVisible({ display, hidden }, visibilityCtx)) {\n registerFn.unregister(filterKey);\n return;\n }\n if (confirmedValueLabel) {\n registerFn.register(filterKey, {\n label: resolvedLabel,\n valueLabel: confirmedValueLabel,\n onRemove: () => onChange?.(multiple ? [] : undefined),\n });\n } else {\n registerFn.unregister(filterKey);\n }\n }, [\n confirmedValueLabel,\n filterKey,\n resolvedLabel,\n display,\n hidden,\n registerFn,\n onChange,\n multiple,\n visibilityCtx,\n ]);\n\n const filteredTree = useMemo(\n () => (showSearch && searchText ? filterByKeyword(sourceTree, searchText) : sourceTree),\n [showSearch, searchText, sourceTree],\n );\n\n const flatNodes = useMemo(() => flattenTree(filteredTree), [filteredTree]);\n\n const hasChildrenMap = useMemo(() => {\n const map = new Map<string, boolean>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n map.set(n.id, !!n.children?.length);\n if (n.children) walk(n.children);\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const childrenMap = useMemo(() => {\n const map = new Map<string, string[]>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n if (n.children?.length) {\n const childIds: string[] = [];\n const collectAll = (node: TreeFilterNode) => {\n childIds.push(node.id);\n node.children?.forEach(collectAll);\n };\n n.children.forEach(collectAll);\n map.set(n.id, childIds);\n walk(n.children);\n }\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const parentMap = useMemo(() => {\n const map = new Map<string, string>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n if (n.children?.length) {\n for (const child of n.children) map.set(child.id, n.id);\n walk(n.children);\n }\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const leafDescendantsMap = useMemo(() => {\n const map = new Map<string, string[]>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n if (!n.children?.length) continue;\n const leaves: string[] = [];\n const collectLeaves = (node: TreeFilterNode) => {\n if (!node.children?.length) {\n leaves.push(node.id);\n return;\n }\n node.children.forEach(collectLeaves);\n };\n n.children.forEach(collectLeaves);\n map.set(n.id, leaves);\n walk(n.children);\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const toggleExpand = useCallback((nodeId: string) => {\n setExpandedKeys((prev) => {\n const next = new Set(prev);\n if (next.has(nodeId)) next.delete(nodeId);\n else next.add(nodeId);\n return next;\n });\n }, []);\n\n const handleSingleSelect = useCallback(\n (nodeId: string) => {\n if (leafOnly && hasChildrenMap.get(nodeId)) {\n toggleExpand(nodeId);\n return;\n }\n const next = localValue === nodeId ? undefined : nodeId;\n setLocalValue(next);\n onChange?.(next);\n setOpen(false);\n },\n [localValue, onChange, leafOnly, hasChildrenMap, toggleExpand],\n );\n\n const handleToggleMulti = useCallback(\n (nodeId: string) => {\n const arr = ((localValue as string[]) || []).slice();\n const childIds = childrenMap.get(nodeId);\n const leafIds = leafDescendantsMap.get(nodeId);\n const parentId = parentMap.get(nodeId);\n\n // leafOnly:点父节点 = 全选/取消其下全部叶子(值里不写入父 id)\n if (leafOnly && leafIds?.length) {\n const allLeavesSelected = leafIds.every((id) => arr.includes(id));\n if (allLeavesSelected) {\n const remove = new Set(leafIds);\n setLocalValue(arr.filter((v) => !remove.has(v)));\n } else {\n setLocalValue([...new Set([...arr, ...leafIds])]);\n }\n return;\n }\n\n if (childIds) {\n const isChecked = arr.includes(nodeId);\n if (isChecked) {\n const removeSet = new Set([nodeId, ...childIds]);\n setLocalValue(arr.filter((v) => !removeSet.has(v)));\n } else {\n setLocalValue([...new Set([...arr, nodeId, ...childIds])]);\n }\n } else if (arr.includes(nodeId)) {\n const next = arr.filter((v) => v !== nodeId);\n setLocalValue(\n parentId && next.includes(parentId) ? next.filter((v) => v !== parentId) : next,\n );\n } else {\n const next = [...arr, nodeId];\n if (parentId && !leafOnly) {\n const siblingIds = childrenMap.get(parentId) || [];\n if (siblingIds.every((id) => next.includes(id))) {\n setLocalValue([...new Set([...next, parentId])]);\n } else {\n setLocalValue(next);\n }\n } else {\n setLocalValue(next);\n }\n }\n },\n [localValue, childrenMap, parentMap, leafOnly, leafDescendantsMap],\n );\n\n const isVisible = useCallback(\n (node: FlatNode) => {\n if (node.parentId === null) return true;\n if (showSearch && searchText) return true;\n return expandedKeys.has(node.parentId);\n },\n [expandedKeys, showSearch, searchText],\n );\n\n if (!resolveFilterVisible({ display, hidden }, visibilityCtx)) return null;\n\n return (\n <FilterPopover\n label={resolvedLabel}\n active={active || (multiple ? (localValue as string[])?.length > 0 : !!value)}\n loading={optionsLoading}\n open={open}\n onOpenChange={setOpen}\n width={resolvedPanelWidth}\n onConfirm={\n multiple\n ? () => {\n let next = localValue;\n if (leafOnly && Array.isArray(next)) {\n next = next.filter((id) => !hasChildrenMap.get(id));\n }\n onChange?.(next);\n setOpen(false);\n }\n : undefined\n }\n onReset={() => {\n const next = multiple ? [] : undefined;\n setLocalValue(next);\n setSearchText('');\n onChange?.(next);\n setOpen(false);\n }}\n >\n {showSearch && (\n <Search\n placeholder={`搜索${resolvedLabel}`}\n allowClear\n size=\"middle\"\n className={classNames('filter-tree-select-search', styles['filter-tree-select-search'])}\n value={searchText}\n onChange={(e) => setSearchText(e.target.value)}\n />\n )}\n {panelExtra ? (\n <div\n className={classNames(\n 'filter-tree-select-panel-extra',\n styles['filter-tree-select-panel-extra'],\n )}\n >\n {panelExtra}\n </div>\n ) : null}\n <div\n className={classNames('filter-tree-select-options', styles['filter-tree-select-options'])}\n >\n {optionsLoading ? (\n <div\n className={classNames(\n 'filter-tree-select-loading',\n styles['filter-tree-select-loading'],\n )}\n >\n <Spin size=\"small\" />\n </div>\n ) : flatNodes.length === 0 ? (\n <div\n className={classNames('filter-tree-select-empty', styles['filter-tree-select-empty'])}\n >\n <Empty iconType=\"simple\" description=\"暂无数据\" />\n </div>\n ) : (\n flatNodes.map((node) => {\n if (!isVisible(node)) return null;\n const isLeaf = !hasChildrenMap.get(node.id);\n const isExpanded = expandedKeys.has(node.id);\n const isSingleSelected = !multiple && localValue === node.id;\n const selectedArr = multiple ? (localValue as string[]) || [] : [];\n let isMultiChecked = multiple && selectedArr.includes(node.id);\n let isIndeterminate = false;\n if (multiple && leafOnly && !isLeaf) {\n const leaves = leafDescendantsMap.get(node.id) || [];\n const selectedLeafCount = leaves.filter((id) => selectedArr.includes(id)).length;\n isMultiChecked = leaves.length > 0 && selectedLeafCount === leaves.length;\n isIndeterminate = selectedLeafCount > 0 && selectedLeafCount < leaves.length;\n }\n return (\n <div\n key={node.id}\n className={classNames(\n 'filter-tree-select-option',\n styles['filter-tree-select-option'],\n isSingleSelected && styles['filter-tree-select-option-selected'],\n )}\n style={{ paddingLeft: 8 + node.depth * 20 }}\n onClick={() =>\n multiple ? handleToggleMulti(node.id) : handleSingleSelect(node.id)\n }\n >\n {!isLeaf ? (\n <span\n className={styles['filter-tree-select-expand-icon']}\n onClick={(e) => {\n e.stopPropagation();\n toggleExpand(node.id);\n }}\n >\n {isExpanded || (showSearch && !!searchText) ? (\n <ChevronDown style={{ fontSize: 10 }} />\n ) : (\n <ChevronRight style={{ fontSize: 10 }} />\n )}\n </span>\n ) : (\n <span className={styles['filter-tree-select-expand-placeholder']} />\n )}\n {multiple && (\n <Checkbox\n checked={isMultiChecked}\n indeterminate={isIndeterminate}\n onClick={(e) => e.stopPropagation()}\n onChange={() => handleToggleMulti(node.id)}\n />\n )}\n <span className={styles['filter-tree-select-node-label']}>{node.name}</span>\n {!multiple && isSingleSelected && (\n <Check className={styles['filter-tree-select-option-check']} />\n )}\n </div>\n );\n })\n )}\n </div>\n {multiple &&\n (leafOnly\n ? ((localValue as string[]) || []).some((id) => !hasChildrenMap.get(id))\n : ((localValue as string[]) || []).length > 0) && (\n <div className={styles['filter-tree-select-selected-bar']}>\n <div className={styles['filter-tree-select-selected-label']}>已选:</div>\n <Space size={[4, 4]} wrap>\n {((localValue as string[]) || [])\n .filter((v) => !(leafOnly && hasChildrenMap.get(v)))\n .map((v) => (\n <span\n key={v}\n className={styles['filter-tree-select-selected-tag']}\n onClick={(e) => {\n e.stopPropagation();\n handleToggleMulti(v);\n }}\n >\n {labelMap.get(v) ?? v}\n <X className={styles['filter-tree-select-selected-remove']} />\n </span>\n ))}\n </Space>\n </div>\n )}\n </FilterPopover>\n );\n};\n\nexport default FilterTreeSelect;\n"],"names":["Search","Input","flattenTree","nodes","depth","parentId","result","node","_a","filterByKeyword","keyword","lower","matchTree","items","item","children","collectExpandableIds","ids","buildLabelMap","getLabel","map","walk","n","FilterTreeSelect","filterKey","label","propsTreeData","fetchUrl","fetchOptions","transformData","loadData","enabled","value","onChange","showSearch","multiple","leafOnly","active","hidden","display","dependsOn","clearOnDepsChange","getNodeLabel","panelExtra","panelWidth","loadingProp","onChangeRef","useRef","resolvedPanelWidth","resolvedLabel","values","depsKey","useFilterFieldBridge","fetchCtx","useMarsunFetch","useStaticOrUrl","fetchedTree","fetchLoading","useFetchData","loadedTree","setLoadedTree","useState","loadDataLoading","setLoadDataLoading","loadDataRef","useEffect","cancelled","next","sourceTree","optionsLoading","open","setOpen","localValue","setLocalValue","expandedKeys","setExpandedKeys","searchText","setSearchText","registerFn","useFilterRegister","visibilityCtx","labelMap","useMemo","confirmedValueLabel","arr","v","resolveFilterVisible","filteredTree","flatNodes","hasChildrenMap","childrenMap","childIds","collectAll","parentMap","child","leafDescendantsMap","leaves","collectLeaves","toggleExpand","useCallback","nodeId","prev","handleSingleSelect","handleToggleMulti","leafIds","id","remove","removeSet","isVisible","jsxs","FilterPopover","jsx","classNames","styles","Spin","Empty","isLeaf","isExpanded","isSingleSelected","selectedArr","isMultiChecked","isIndeterminate","selectedLeafCount","e","ChevronDown","ChevronRight","Checkbox","Check","Space","X"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterTreeSelect/index.tsx"],"sourcesContent":["import { Check, ChevronDown, ChevronRight, X } from '@/components/Icons';\nimport { Empty } from '@/components/Empty';\nimport { useMarsunFetch } from '@/provider';\nimport { useFetchData } from '@/hooks/useFetchData';\nimport { Checkbox, Input, Space, Spin } from 'antd';\nimport classNames from 'classnames';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport FilterPopover from '../FilterPopover';\nimport type { BaseFilterProps, FilterLoadDataContext } from '../types';\nimport { resolveFilterVisible } from '../types';\nimport { useFilterFieldBridge, useFilterRegister } from '../useFilterState';\nimport styles from './style.module.scss';\n\nconst { Search } = Input;\n\nexport interface TreeFilterNode {\n id: string;\n name: string;\n children?: TreeFilterNode[];\n}\n\nexport interface FilterTreeSelectProps extends BaseFilterProps {\n treeData?: TreeFilterNode[];\n fetchUrl?: string;\n fetchOptions?: RequestInit;\n transformData?: (raw: unknown) => TreeFilterNode[];\n /**\n * 按依赖值动态拉取树数据(优先于 fetchUrl;若同时传 treeData 则仍以 treeData 为准)。\n */\n loadData?: (ctx: FilterLoadDataContext) => Promise<TreeFilterNode[]>;\n enabled?: boolean;\n value?: string | string[] | undefined;\n onChange?: (value: string | string[] | undefined) => void;\n showSearch?: boolean;\n multiple?: boolean;\n /**\n * 仅叶子写入最终值。\n * - 单选:点父节点只展开\n * - 多选:点父节点 / 勾选框 = 全选或取消其下全部叶子;父勾选框支持半选\n */\n leafOnly?: boolean;\n /** 自定义节点展示标签(默认 name) */\n getNodeLabel?: (node: TreeFilterNode) => string;\n /**\n * 面板内嵌从属条件(与 search 同层:search 下方、树列表上方)。\n * 用于「属性筛服务本树」等场景;禁止再嵌 Filter*(双重 Popover)。\n */\n panelExtra?: React.ReactNode;\n /** 面板宽度;有 panelExtra 时默认 460 */\n panelWidth?: number;\n /**\n * 选项加载中:Filter Item(Trigger)显示 Loader2 spin;\n * 面板列表区显示 Spin,不渲染空态。\n * 与内部 fetchUrl / loadData loading 取或。\n */\n loading?: boolean;\n}\n\ninterface FlatNode {\n id: string;\n name: string;\n depth: number;\n parentId: string | null;\n}\n\nfunction flattenTree(\n nodes: TreeFilterNode[],\n depth = 0,\n parentId: string | null = null,\n): FlatNode[] {\n const result: FlatNode[] = [];\n for (const node of nodes) {\n result.push({ id: node.id, name: node.name, depth, parentId });\n if (node.children?.length) {\n result.push(...flattenTree(node.children, depth + 1, node.id));\n }\n }\n return result;\n}\n\nfunction filterByKeyword(nodes: TreeFilterNode[], keyword: string): TreeFilterNode[] {\n if (!keyword) return nodes;\n const lower = keyword.toLowerCase();\n function matchTree(items: TreeFilterNode[]): TreeFilterNode[] {\n const result: TreeFilterNode[] = [];\n for (const item of items) {\n const children = item.children?.length ? matchTree(item.children) : [];\n const selfMatch = item.name.toLowerCase().includes(lower);\n if (selfMatch || children.length > 0) {\n result.push({ ...item, children: children.length > 0 ? children : undefined });\n }\n }\n return result;\n }\n return matchTree(nodes);\n}\n\nfunction collectExpandableIds(nodes: TreeFilterNode[]): string[] {\n const ids: string[] = [];\n for (const node of nodes) {\n if (node.children?.length) {\n ids.push(node.id);\n ids.push(...collectExpandableIds(node.children));\n }\n }\n return ids;\n}\n\nfunction buildLabelMap(\n nodes: TreeFilterNode[],\n getLabel: (n: TreeFilterNode) => string,\n): Map<string, string> {\n const map = new Map<string, string>();\n const walk = (items: TreeFilterNode[]) => {\n for (const n of items) {\n map.set(n.id, getLabel(n));\n if (n.children) walk(n.children);\n }\n };\n walk(nodes);\n return map;\n}\n\nconst FilterTreeSelect: React.FC<FilterTreeSelectProps> = ({\n filterKey,\n label,\n treeData: propsTreeData,\n fetchUrl,\n fetchOptions,\n transformData,\n loadData,\n enabled = true,\n value,\n onChange,\n showSearch = false,\n multiple = false,\n leafOnly = false,\n active,\n hidden,\n display,\n dependsOn,\n clearOnDepsChange = true,\n getNodeLabel = (n) => n.name,\n panelExtra,\n panelWidth,\n loading: loadingProp = false,\n}) => {\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const resolvedPanelWidth = panelWidth ?? (panelExtra ? 460 : undefined);\n\n const { resolvedLabel, values, depsKey } = useFilterFieldBridge({\n filterKey,\n value,\n label,\n dependsOn,\n clearOnDepsChange,\n onDepsClear: () => onChangeRef.current?.(multiple ? [] : undefined),\n });\n\n const fetchCtx = useMarsunFetch();\n const useStaticOrUrl = propsTreeData != null || (!loadData && !!fetchUrl);\n const { data: fetchedTree, loading: fetchLoading } = useFetchData<TreeFilterNode[]>({\n data: propsTreeData,\n fetchUrl: useStaticOrUrl && !loadData ? fetchUrl : undefined,\n fetchOptions,\n transformData,\n enabled: enabled && useStaticOrUrl && !loadData,\n baseUrl: fetchCtx.baseUrl,\n defaultHeaders: fetchCtx.headers,\n timeoutMs: fetchCtx.timeoutMs,\n });\n\n const [loadedTree, setLoadedTree] = useState<TreeFilterNode[]>([]);\n const [loadDataLoading, setLoadDataLoading] = useState(false);\n const loadDataRef = useRef(loadData);\n loadDataRef.current = loadData;\n\n useEffect(() => {\n if (!loadDataRef.current || propsTreeData != null || !enabled) return;\n let cancelled = false;\n setLoadDataLoading(true);\n (async () => {\n try {\n const next = await loadDataRef.current!({ values });\n if (!cancelled) setLoadedTree(next ?? []);\n } catch {\n if (!cancelled) setLoadedTree([]);\n } finally {\n if (!cancelled) setLoadDataLoading(false);\n }\n })();\n return () => {\n cancelled = true;\n };\n // values 已由 depsKey 覆盖;避免无 dependsOn 时随 values 全表抖动\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [depsKey, enabled, propsTreeData, loadData]);\n\n const sourceTree = propsTreeData ?? (loadData ? loadedTree : (fetchedTree ?? []));\n const optionsLoading = loadingProp || fetchLoading || loadDataLoading;\n\n const [open, setOpen] = useState(false);\n const [localValue, setLocalValue] = useState<string | string[] | undefined>(\n value ?? (multiple ? [] : undefined),\n );\n const [expandedKeys, setExpandedKeys] = useState<Set<string>>(new Set());\n const [searchText, setSearchText] = useState('');\n\n const registerFn = useFilterRegister();\n const visibilityCtx = { filterKey, label: resolvedLabel, value };\n\n useEffect(() => {\n setLocalValue(value ?? (multiple ? [] : undefined));\n if (value === undefined || value === null) setSearchText('');\n }, [value, multiple]);\n\n useEffect(() => {\n if (sourceTree.length) {\n setExpandedKeys(new Set(collectExpandableIds(sourceTree)));\n }\n }, [sourceTree]);\n\n const labelMap = useMemo(\n () => buildLabelMap(sourceTree, getNodeLabel),\n [sourceTree, getNodeLabel],\n );\n\n const confirmedValueLabel = useMemo(() => {\n if (!sourceTree.length || value == null) return '';\n if (multiple) {\n const arr = value as string[];\n return arr.length > 0 ? arr.map((v) => labelMap.get(v) ?? v).join('、') : '';\n }\n return labelMap.get(value as string) ?? '';\n }, [sourceTree, value, multiple, labelMap]);\n\n useEffect(() => {\n if (!registerFn) return;\n if (!resolveFilterVisible({ display, hidden }, visibilityCtx)) {\n registerFn.unregister(filterKey);\n return;\n }\n if (confirmedValueLabel) {\n registerFn.register(filterKey, {\n label: resolvedLabel,\n valueLabel: confirmedValueLabel,\n onRemove: () => onChange?.(multiple ? [] : undefined),\n });\n } else {\n registerFn.unregister(filterKey);\n }\n }, [\n confirmedValueLabel,\n filterKey,\n resolvedLabel,\n display,\n hidden,\n registerFn,\n onChange,\n multiple,\n visibilityCtx,\n ]);\n\n const filteredTree = useMemo(\n () => (showSearch && searchText ? filterByKeyword(sourceTree, searchText) : sourceTree),\n [showSearch, searchText, sourceTree],\n );\n\n const flatNodes = useMemo(() => flattenTree(filteredTree), [filteredTree]);\n\n const hasChildrenMap = useMemo(() => {\n const map = new Map<string, boolean>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n map.set(n.id, !!n.children?.length);\n if (n.children) walk(n.children);\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const childrenMap = useMemo(() => {\n const map = new Map<string, string[]>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n if (n.children?.length) {\n const childIds: string[] = [];\n const collectAll = (node: TreeFilterNode) => {\n childIds.push(node.id);\n node.children?.forEach(collectAll);\n };\n n.children.forEach(collectAll);\n map.set(n.id, childIds);\n walk(n.children);\n }\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const parentMap = useMemo(() => {\n const map = new Map<string, string>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n if (n.children?.length) {\n for (const child of n.children) map.set(child.id, n.id);\n walk(n.children);\n }\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const leafDescendantsMap = useMemo(() => {\n const map = new Map<string, string[]>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n if (!n.children?.length) continue;\n const leaves: string[] = [];\n const collectLeaves = (node: TreeFilterNode) => {\n if (!node.children?.length) {\n leaves.push(node.id);\n return;\n }\n node.children.forEach(collectLeaves);\n };\n n.children.forEach(collectLeaves);\n map.set(n.id, leaves);\n walk(n.children);\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const toggleExpand = useCallback((nodeId: string) => {\n setExpandedKeys((prev) => {\n const next = new Set(prev);\n if (next.has(nodeId)) next.delete(nodeId);\n else next.add(nodeId);\n return next;\n });\n }, []);\n\n const handleSingleSelect = useCallback(\n (nodeId: string) => {\n if (leafOnly && hasChildrenMap.get(nodeId)) {\n toggleExpand(nodeId);\n return;\n }\n const next = localValue === nodeId ? undefined : nodeId;\n setLocalValue(next);\n onChange?.(next);\n setOpen(false);\n },\n [localValue, onChange, leafOnly, hasChildrenMap, toggleExpand],\n );\n\n const handleToggleMulti = useCallback(\n (nodeId: string) => {\n const arr = ((localValue as string[]) || []).slice();\n const childIds = childrenMap.get(nodeId);\n const leafIds = leafDescendantsMap.get(nodeId);\n const parentId = parentMap.get(nodeId);\n\n // leafOnly:点父节点 = 全选/取消其下全部叶子(值里不写入父 id)\n if (leafOnly && leafIds?.length) {\n const allLeavesSelected = leafIds.every((id) => arr.includes(id));\n if (allLeavesSelected) {\n const remove = new Set(leafIds);\n setLocalValue(arr.filter((v) => !remove.has(v)));\n } else {\n setLocalValue([...new Set([...arr, ...leafIds])]);\n }\n return;\n }\n\n if (childIds) {\n const isChecked = arr.includes(nodeId);\n if (isChecked) {\n const removeSet = new Set([nodeId, ...childIds]);\n setLocalValue(arr.filter((v) => !removeSet.has(v)));\n } else {\n setLocalValue([...new Set([...arr, nodeId, ...childIds])]);\n }\n } else if (arr.includes(nodeId)) {\n const next = arr.filter((v) => v !== nodeId);\n setLocalValue(\n parentId && next.includes(parentId) ? next.filter((v) => v !== parentId) : next,\n );\n } else {\n const next = [...arr, nodeId];\n if (parentId && !leafOnly) {\n const siblingIds = childrenMap.get(parentId) || [];\n if (siblingIds.every((id) => next.includes(id))) {\n setLocalValue([...new Set([...next, parentId])]);\n } else {\n setLocalValue(next);\n }\n } else {\n setLocalValue(next);\n }\n }\n },\n [localValue, childrenMap, parentMap, leafOnly, leafDescendantsMap],\n );\n\n const isVisible = useCallback(\n (node: FlatNode) => {\n if (node.parentId === null) return true;\n if (showSearch && searchText) return true;\n return expandedKeys.has(node.parentId);\n },\n [expandedKeys, showSearch, searchText],\n );\n\n if (!resolveFilterVisible({ display, hidden }, visibilityCtx)) return null;\n\n return (\n <FilterPopover\n label={resolvedLabel}\n active={active || (multiple ? (localValue as string[])?.length > 0 : !!value)}\n loading={optionsLoading}\n open={open}\n onOpenChange={setOpen}\n width={resolvedPanelWidth}\n onConfirm={\n multiple\n ? () => {\n let next = localValue;\n if (leafOnly && Array.isArray(next)) {\n next = next.filter((id) => !hasChildrenMap.get(id));\n }\n onChange?.(next);\n setOpen(false);\n }\n : undefined\n }\n onReset={() => {\n const next = multiple ? [] : undefined;\n setLocalValue(next);\n setSearchText('');\n onChange?.(next);\n setOpen(false);\n }}\n >\n {showSearch && (\n <Search\n placeholder={`搜索${resolvedLabel}`}\n allowClear\n size=\"middle\"\n className={classNames('filter-tree-select-search', styles['filter-tree-select-search'])}\n value={searchText}\n onChange={(e) => setSearchText(e.target.value)}\n />\n )}\n {panelExtra ? (\n <div\n className={classNames(\n 'filter-tree-select-panel-extra',\n styles['filter-tree-select-panel-extra'],\n )}\n >\n {panelExtra}\n </div>\n ) : null}\n <div\n className={classNames('filter-tree-select-options', styles['filter-tree-select-options'])}\n >\n {optionsLoading ? (\n <div\n className={classNames(\n 'filter-tree-select-loading',\n styles['filter-tree-select-loading'],\n )}\n >\n <Spin size=\"small\" />\n </div>\n ) : flatNodes.length === 0 ? (\n <div\n className={classNames('filter-tree-select-empty', styles['filter-tree-select-empty'])}\n >\n <Empty iconType=\"simple\" description=\"暂无数据\" />\n </div>\n ) : (\n flatNodes.map((node) => {\n if (!isVisible(node)) return null;\n const isLeaf = !hasChildrenMap.get(node.id);\n const isExpanded = expandedKeys.has(node.id);\n const isSingleSelected = !multiple && localValue === node.id;\n const selectedArr = multiple ? (localValue as string[]) || [] : [];\n let isMultiChecked = multiple && selectedArr.includes(node.id);\n let isIndeterminate = false;\n if (multiple && leafOnly && !isLeaf) {\n const leaves = leafDescendantsMap.get(node.id) || [];\n const selectedLeafCount = leaves.filter((id) => selectedArr.includes(id)).length;\n isMultiChecked = leaves.length > 0 && selectedLeafCount === leaves.length;\n isIndeterminate = selectedLeafCount > 0 && selectedLeafCount < leaves.length;\n }\n return (\n <div\n key={node.id}\n className={classNames(\n 'filter-tree-select-option',\n styles['filter-tree-select-option'],\n isSingleSelected && styles['filter-tree-select-option-selected'],\n )}\n style={{ paddingLeft: 8 + node.depth * 20 }}\n onClick={() =>\n multiple ? handleToggleMulti(node.id) : handleSingleSelect(node.id)\n }\n >\n {!isLeaf ? (\n <span\n className={styles['filter-tree-select-expand-icon']}\n onClick={(e) => {\n e.stopPropagation();\n toggleExpand(node.id);\n }}\n >\n {isExpanded || (showSearch && !!searchText) ? (\n <ChevronDown style={{ fontSize: 10 }} />\n ) : (\n <ChevronRight style={{ fontSize: 10 }} />\n )}\n </span>\n ) : (\n <span className={styles['filter-tree-select-expand-placeholder']} />\n )}\n {multiple && (\n <Checkbox\n checked={isMultiChecked}\n indeterminate={isIndeterminate}\n onClick={(e) => e.stopPropagation()}\n onChange={() => handleToggleMulti(node.id)}\n />\n )}\n <span className={styles['filter-tree-select-node-label']}>{node.name}</span>\n {!multiple && isSingleSelected && (\n <Check className={styles['filter-tree-select-option-check']} />\n )}\n </div>\n );\n })\n )}\n </div>\n {multiple &&\n (leafOnly\n ? ((localValue as string[]) || []).some((id) => !hasChildrenMap.get(id))\n : ((localValue as string[]) || []).length > 0) && (\n <div className={styles['filter-tree-select-selected-bar']}>\n <div className={styles['filter-tree-select-selected-label']}>已选:</div>\n <Space size={[4, 4]} wrap>\n {((localValue as string[]) || [])\n .filter((v) => !(leafOnly && hasChildrenMap.get(v)))\n .map((v) => (\n <span\n key={v}\n className={styles['filter-tree-select-selected-tag']}\n onClick={(e) => {\n e.stopPropagation();\n handleToggleMulti(v);\n }}\n >\n {labelMap.get(v) ?? v}\n <X className={styles['filter-tree-select-selected-remove']} />\n </span>\n ))}\n </Space>\n </div>\n )}\n </FilterPopover>\n );\n};\n\nexport default FilterTreeSelect;\n"],"names":["Search","Input","flattenTree","nodes","depth","parentId","result","node","_a","filterByKeyword","keyword","lower","matchTree","items","item","children","collectExpandableIds","ids","buildLabelMap","getLabel","map","walk","n","FilterTreeSelect","filterKey","label","propsTreeData","fetchUrl","fetchOptions","transformData","loadData","enabled","value","onChange","showSearch","multiple","leafOnly","active","hidden","display","dependsOn","clearOnDepsChange","getNodeLabel","panelExtra","panelWidth","loadingProp","onChangeRef","useRef","resolvedPanelWidth","resolvedLabel","values","depsKey","useFilterFieldBridge","fetchCtx","useMarsunFetch","useStaticOrUrl","fetchedTree","fetchLoading","useFetchData","loadedTree","setLoadedTree","useState","loadDataLoading","setLoadDataLoading","loadDataRef","useEffect","cancelled","next","sourceTree","optionsLoading","open","setOpen","localValue","setLocalValue","expandedKeys","setExpandedKeys","searchText","setSearchText","registerFn","useFilterRegister","visibilityCtx","labelMap","useMemo","confirmedValueLabel","arr","v","resolveFilterVisible","filteredTree","flatNodes","hasChildrenMap","childrenMap","childIds","collectAll","parentMap","child","leafDescendantsMap","leaves","collectLeaves","toggleExpand","useCallback","nodeId","prev","handleSingleSelect","handleToggleMulti","leafIds","id","remove","removeSet","isVisible","jsxs","FilterPopover","jsx","classNames","styles","Spin","Empty","isLeaf","isExpanded","isSingleSelected","selectedArr","isMultiChecked","isIndeterminate","selectedLeafCount","e","ChevronDown","ChevronRight","Checkbox","Check","Space","X"],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { jsx as i, jsxs as h } from "react/jsx-runtime";
2
- import { ChevronUp as s, ChevronDown as f, Loader2 as p } from "../../Icons/index.js";
3
2
  import e from "classnames";
4
3
  import r from "./style.module.scss.js";
5
- const y = ({
4
+ import { ChevronUp as f } from "../../Icons/ChevronUp.js";
5
+ import { ChevronDown as s } from "../../Icons/ChevronDown.js";
6
+ import { Loader2 as p } from "../../Icons/Loader2.js";
7
+ const C = ({
6
8
  label: l,
7
9
  active: o,
8
10
  onClick: a,
@@ -10,25 +12,25 @@ const y = ({
10
12
  loading: g = !1,
11
13
  pill: c = !1,
12
14
  className: n = "",
13
- children: v
15
+ children: m
14
16
  }) => {
15
- const m = t !== void 0 ? t ? /* @__PURE__ */ i(
16
- s,
17
+ const v = t !== void 0 ? t ? /* @__PURE__ */ i(
18
+ f,
17
19
  {
18
20
  className: e("filter-trigger-chevron", r["filter-trigger-chevron"])
19
21
  }
20
22
  ) : /* @__PURE__ */ i(
21
- f,
23
+ s,
22
24
  {
23
25
  className: e("filter-trigger-chevron", r["filter-trigger-chevron"])
24
26
  }
25
27
  ) : o ? /* @__PURE__ */ i(
26
- s,
28
+ f,
27
29
  {
28
30
  className: e("filter-trigger-chevron", r["filter-trigger-chevron"])
29
31
  }
30
32
  ) : /* @__PURE__ */ i(
31
- f,
33
+ s,
32
34
  {
33
35
  className: e("filter-trigger-chevron", r["filter-trigger-chevron"])
34
36
  }
@@ -48,7 +50,7 @@ const y = ({
48
50
  onClick: a,
49
51
  "aria-busy": g || void 0,
50
52
  children: [
51
- v ?? (typeof l == "function" ? null : l),
53
+ m ?? (typeof l == "function" ? null : l),
52
54
  g ? /* @__PURE__ */ i(
53
55
  p,
54
56
  {
@@ -56,12 +58,12 @@ const y = ({
56
58
  size: 12,
57
59
  className: e("filter-trigger-loader", r["filter-trigger-loader"])
58
60
  }
59
- ) : m
61
+ ) : v
60
62
  ]
61
63
  }
62
64
  );
63
65
  };
64
66
  export {
65
- y as default
67
+ C as default
66
68
  };
67
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterTrigger/index.tsx"],"sourcesContent":["import { ChevronDown, ChevronUp, Loader2 } from '@/components/Icons';\nimport classNames from 'classnames';\nimport React from 'react';\nimport type { BaseFilterProps } from '../types';\nimport styles from './style.module.scss';\n\ninterface FilterTriggerProps extends Omit<BaseFilterProps, 'filterKey'> {\n onClick?: (e: React.MouseEvent) => void;\n open?: boolean;\n /** 选项加载中:右侧用 Loader2 spin 替换 chevron */\n loading?: boolean;\n /** 移动端 pill 外形 */\n pill?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * 筛选触发按钮\n * 未选中:灰色文字 + 下箭头\n * 已选:主题色文字 + 浅底 + 上箭头\n * 打开(open):visited 实心主色 + 白字(对齐 ReactFilter)\n * loading:右侧 Loader2 spin(替换 chevron)\n */\nconst FilterTrigger: React.FC<FilterTriggerProps> = ({\n label,\n active,\n onClick,\n open,\n loading = false,\n pill = false,\n className = '',\n children,\n}) => {\n const chevron =\n open !== undefined ? (\n open ? (\n <ChevronUp\n className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])}\n />\n ) : (\n <ChevronDown\n className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])}\n />\n )\n ) : !active ? (\n <ChevronDown\n className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])}\n />\n ) : (\n <ChevronUp\n className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])}\n />\n );\n\n return (\n <span\n className={classNames(\n 'filter-trigger-root',\n styles['filter-trigger-root'],\n active\n ? ['filter-trigger-active', styles['filter-trigger-active']]\n : ['filter-trigger-inactive', styles['filter-trigger-inactive']],\n open && ['filter-trigger-visited', styles['filter-trigger-visited']],\n pill && ['filter-trigger-pill', styles['filter-trigger-pill']],\n loading && 'filter-trigger-loading',\n className,\n )}\n onClick={onClick}\n aria-busy={loading || undefined}\n >\n {children ?? (typeof label === 'function' ? null : label)}\n {loading ? (\n <Loader2\n spin\n size={12}\n className={classNames('filter-trigger-loader', styles['filter-trigger-loader'])}\n />\n ) : (\n chevron\n )}\n </span>\n );\n};\n\nexport default FilterTrigger;\nexport type { FilterTriggerProps };\n"],"names":["FilterTrigger","label","active","onClick","open","loading","pill","className","children","chevron","jsx","ChevronUp","classNames","styles","ChevronDown","jsxs","Loader2"],"mappings":";;;;AAwBA,MAAMA,IAA8C,CAAC;AAAA,EACnD,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,UAAAC;AACF,MAAM;AACJ,QAAMC,IACJL,MAAS,SACPA,IACE,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC;AAAA,IAAA;AAAA,EAAA,IAGlF,gBAAAH;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,WAAWF,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC;AAAA,IAAA;AAAA,EAAA,IAGjFX,IAKH,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC;AAAA,IAAA;AAAA,EAAA,IALlF,gBAAAH;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,WAAWF,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC;AAAA,IAAA;AAAA,EAAA;AAQtF,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWH;AAAA,QACT;AAAA,QACAC,EAAO,qBAAqB;AAAA,QAC5BX,IACI,CAAC,yBAAyBW,EAAO,uBAAuB,CAAC,IACzD,CAAC,2BAA2BA,EAAO,yBAAyB,CAAC;AAAA,QACjET,KAAQ,CAAC,0BAA0BS,EAAO,wBAAwB,CAAC;AAAA,QACnEP,KAAQ,CAAC,uBAAuBO,EAAO,qBAAqB,CAAC;AAAA,QAC7DR,KAAW;AAAA,QACXE;AAAA,MAAA;AAAA,MAEF,SAAAJ;AAAA,MACA,aAAWE,KAAW;AAAA,MAErB,UAAA;AAAA,QAAAG,MAAa,OAAOP,KAAU,aAAa,OAAOA;AAAA,QAClDI,IACC,gBAAAK;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,MAAI;AAAA,YACJ,MAAM;AAAA,YACN,WAAWJ,EAAW,yBAAyBC,EAAO,uBAAuB,CAAC;AAAA,UAAA;AAAA,QAAA,IAGhFJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterTrigger/index.tsx"],"sourcesContent":["import { ChevronDown, ChevronUp, Loader2 } from '@/components/Icons';\nimport classNames from 'classnames';\nimport React from 'react';\nimport type { BaseFilterProps } from '../types';\nimport styles from './style.module.scss';\n\ninterface FilterTriggerProps extends Omit<BaseFilterProps, 'filterKey'> {\n onClick?: (e: React.MouseEvent) => void;\n open?: boolean;\n /** 选项加载中:右侧用 Loader2 spin 替换 chevron */\n loading?: boolean;\n /** 移动端 pill 外形 */\n pill?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * 筛选触发按钮\n * 未选中:灰色文字 + 下箭头\n * 已选:主题色文字 + 浅底 + 上箭头\n * 打开(open):visited 实心主色 + 白字(对齐 ReactFilter)\n * loading:右侧 Loader2 spin(替换 chevron)\n */\nconst FilterTrigger: React.FC<FilterTriggerProps> = ({\n label,\n active,\n onClick,\n open,\n loading = false,\n pill = false,\n className = '',\n children,\n}) => {\n const chevron =\n open !== undefined ? (\n open ? (\n <ChevronUp\n className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])}\n />\n ) : (\n <ChevronDown\n className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])}\n />\n )\n ) : !active ? (\n <ChevronDown\n className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])}\n />\n ) : (\n <ChevronUp\n className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])}\n />\n );\n\n return (\n <span\n className={classNames(\n 'filter-trigger-root',\n styles['filter-trigger-root'],\n active\n ? ['filter-trigger-active', styles['filter-trigger-active']]\n : ['filter-trigger-inactive', styles['filter-trigger-inactive']],\n open && ['filter-trigger-visited', styles['filter-trigger-visited']],\n pill && ['filter-trigger-pill', styles['filter-trigger-pill']],\n loading && 'filter-trigger-loading',\n className,\n )}\n onClick={onClick}\n aria-busy={loading || undefined}\n >\n {children ?? (typeof label === 'function' ? null : label)}\n {loading ? (\n <Loader2\n spin\n size={12}\n className={classNames('filter-trigger-loader', styles['filter-trigger-loader'])}\n />\n ) : (\n chevron\n )}\n </span>\n );\n};\n\nexport default FilterTrigger;\nexport type { FilterTriggerProps };\n"],"names":["FilterTrigger","label","active","onClick","open","loading","pill","className","children","chevron","jsx","ChevronUp","classNames","styles","ChevronDown","jsxs","Loader2"],"mappings":";;;;;;AAwBA,MAAMA,IAA8C,CAAC;AAAA,EACnD,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,WAAAC,IAAY;AAAA,EACZ,UAAAC;AACF,MAAM;AACJ,QAAMC,IACJL,MAAS,SACPA,IACE,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC;AAAA,IAAA;AAAA,EAAA,IAGlF,gBAAAH;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,WAAWF,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC;AAAA,IAAA;AAAA,EAAA,IAGjFX,IAKH,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC;AAAA,IAAA;AAAA,EAAA,IALlF,gBAAAH;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,WAAWF,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC;AAAA,IAAA;AAAA,EAAA;AAQtF,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWH;AAAA,QACT;AAAA,QACAC,EAAO,qBAAqB;AAAA,QAC5BX,IACI,CAAC,yBAAyBW,EAAO,uBAAuB,CAAC,IACzD,CAAC,2BAA2BA,EAAO,yBAAyB,CAAC;AAAA,QACjET,KAAQ,CAAC,0BAA0BS,EAAO,wBAAwB,CAAC;AAAA,QACnEP,KAAQ,CAAC,uBAAuBO,EAAO,qBAAqB,CAAC;AAAA,QAC7DR,KAAW;AAAA,QACXE;AAAA,MAAA;AAAA,MAEF,SAAAJ;AAAA,MACA,aAAWE,KAAW;AAAA,MAErB,UAAA;AAAA,QAAAG,MAAa,OAAOP,KAAU,aAAa,OAAOA;AAAA,QAClDI,IACC,gBAAAK;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,MAAI;AAAA,YACJ,MAAM;AAAA,YACN,WAAWJ,EAAW,yBAAyBC,EAAO,uBAAuB,CAAC;AAAA,UAAA;AAAA,QAAA,IAGhFJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -1,8 +1,8 @@
1
1
  import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
- import { Info as w } from "../../Icons/index.js";
3
- import { Popover as h } from "antd";
2
+ import { Popover as w } from "antd";
4
3
  import r from "./style.module.scss.js";
5
4
  import n from "classnames";
5
+ import { Info as h } from "../../Icons/Info.js";
6
6
  const P = ({ option: a, className: l }) => {
7
7
  const { label: t, departmentName: i, email: c, phone: m, employeeId: s } = a, d = /* @__PURE__ */ o("div", { className: n("person-option-row-root", r["person-option-row-root"]), children: [
8
8
  s ? /* @__PURE__ */ o("div", { children: [
@@ -21,8 +21,8 @@ const P = ({ option: a, className: l }) => {
21
21
  return /* @__PURE__ */ o("div", { className: n("person-option-row-person-row", r["person-option-row-person-row"], l), children: [
22
22
  /* @__PURE__ */ e("span", { className: n("person-option-row-container", r["person-option-row-container"]), children: t }),
23
23
  i ? /* @__PURE__ */ e("span", { className: n("person-option-row-wrapper", r["person-option-row-wrapper"]), children: i }) : null,
24
- /* @__PURE__ */ e(h, { content: d, title: t, trigger: "hover", placement: "right", children: /* @__PURE__ */ e(
25
- w,
24
+ /* @__PURE__ */ e(w, { content: d, title: t, trigger: "hover", placement: "right", children: /* @__PURE__ */ e(
25
+ h,
26
26
  {
27
27
  className: n("person-option-row-inner", r["person-option-row-inner"]),
28
28
  onMouseDown: (p) => p.stopPropagation(),
@@ -0,0 +1 @@
1
+ export declare const ArrowLeft: import('react').ForwardRefExoticComponent<Omit<import('./createIcon').IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
@@ -0,0 +1,7 @@
1
+ import { ArrowLeft as r } from "lucide-react";
2
+ import { createIcon as o } from "./createIcon.js";
3
+ const f = o(r);
4
+ export {
5
+ f as ArrowLeft
6
+ };
7
+ //# sourceMappingURL=ArrowLeft.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrowLeft.js","sources":["../../../src/components/Icons/ArrowLeft.tsx"],"sourcesContent":["import { ArrowLeft as LucideArrowLeft } from 'lucide-react';\nimport { createIcon } from './createIcon';\n\nexport const ArrowLeft = createIcon(LucideArrowLeft);\n"],"names":["ArrowLeft","createIcon","LucideArrowLeft"],"mappings":";;AAGO,MAAMA,IAAYC,EAAWC,CAAe;"}
@@ -0,0 +1 @@
1
+ export declare const ArrowLeftRight: import('react').ForwardRefExoticComponent<Omit<import('./createIcon').IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
@@ -0,0 +1,7 @@
1
+ import { ArrowLeftRight as r } from "lucide-react";
2
+ import { createIcon as t } from "./createIcon.js";
3
+ const f = t(r);
4
+ export {
5
+ f as ArrowLeftRight
6
+ };
7
+ //# sourceMappingURL=ArrowLeftRight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrowLeftRight.js","sources":["../../../src/components/Icons/ArrowLeftRight.tsx"],"sourcesContent":["import { ArrowLeftRight as LucideArrowLeftRight } from 'lucide-react';\nimport { createIcon } from './createIcon';\n\nexport const ArrowLeftRight = createIcon(LucideArrowLeftRight);\n"],"names":["ArrowLeftRight","createIcon","LucideArrowLeftRight"],"mappings":";;AAGO,MAAMA,IAAiBC,EAAWC,CAAoB;"}
@@ -0,0 +1 @@
1
+ export declare const BarChart3: import('react').ForwardRefExoticComponent<Omit<import('./createIcon').IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
@@ -0,0 +1,7 @@
1
+ import { BarChart3 as r } from "lucide-react";
2
+ import { createIcon as a } from "./createIcon.js";
3
+ const m = a(r);
4
+ export {
5
+ m as BarChart3
6
+ };
7
+ //# sourceMappingURL=BarChart3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChart3.js","sources":["../../../src/components/Icons/BarChart3.tsx"],"sourcesContent":["import { BarChart3 as LucideBarChart3 } from 'lucide-react';\nimport { createIcon } from './createIcon';\n\nexport const BarChart3 = createIcon(LucideBarChart3);\n"],"names":["BarChart3","createIcon","LucideBarChart3"],"mappings":";;AAGO,MAAMA,IAAYC,EAAWC,CAAe;"}
@@ -0,0 +1 @@
1
+ export declare const Bell: import('react').ForwardRefExoticComponent<Omit<import('./createIcon').IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
@@ -0,0 +1,7 @@
1
+ import { Bell as o } from "lucide-react";
2
+ import { createIcon as e } from "./createIcon.js";
3
+ const t = e(o);
4
+ export {
5
+ t as Bell
6
+ };
7
+ //# sourceMappingURL=Bell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bell.js","sources":["../../../src/components/Icons/Bell.tsx"],"sourcesContent":["import { Bell as LucideBell } from 'lucide-react';\nimport { createIcon } from './createIcon';\n\nexport const Bell = createIcon(LucideBell);\n"],"names":["Bell","createIcon","LucideBell"],"mappings":";;AAGO,MAAMA,IAAOC,EAAWC,CAAU;"}
@@ -0,0 +1 @@
1
+ export declare const BookOpen: import('react').ForwardRefExoticComponent<Omit<import('./createIcon').IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
@@ -0,0 +1,7 @@
1
+ import { BookOpen as o } from "lucide-react";
2
+ import { createIcon as e } from "./createIcon.js";
3
+ const n = e(o);
4
+ export {
5
+ n as BookOpen
6
+ };
7
+ //# sourceMappingURL=BookOpen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BookOpen.js","sources":["../../../src/components/Icons/BookOpen.tsx"],"sourcesContent":["import { BookOpen as LucideBookOpen } from 'lucide-react';\nimport { createIcon } from './createIcon';\n\nexport const BookOpen = createIcon(LucideBookOpen);\n"],"names":["BookOpen","createIcon","LucideBookOpen"],"mappings":";;AAGO,MAAMA,IAAWC,EAAWC,CAAc;"}
@@ -0,0 +1 @@
1
+ export declare const Bot: import('react').ForwardRefExoticComponent<Omit<import('./createIcon').IconProps, "ref"> & import('react').RefAttributes<SVGSVGElement>>;