@aloudata/aloudata-design 3.1.7 → 3.2.0-beta.0

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 (820) hide show
  1. package/README.md +43 -1
  2. package/dist/AMenu/index.d.ts +1 -1
  3. package/dist/AMenu/index.js +71 -41
  4. package/dist/AMenu/index.js.map +1 -1
  5. package/dist/AMenu.js +2 -0
  6. package/dist/AProgress/index.d.ts +1 -1
  7. package/dist/AProgress/index.js +201 -68
  8. package/dist/AProgress/index.js.map +1 -1
  9. package/dist/AProgress.js +2 -0
  10. package/dist/Alert/index.d.ts +1 -1
  11. package/dist/Alert/index.js +108 -41
  12. package/dist/Alert/index.js.map +1 -1
  13. package/dist/Alert.js +2 -0
  14. package/dist/App/index.js +67 -9
  15. package/dist/App/index.js.map +1 -1
  16. package/dist/App.js +2 -0
  17. package/dist/Avatar/component/Avatar/helper.d.ts +2 -2
  18. package/dist/Avatar/component/Avatar/helper.js.map +1 -1
  19. package/dist/Avatar/component/Avatar/index.d.ts +1 -1
  20. package/dist/Avatar/component/Avatar/index.js +164 -59
  21. package/dist/Avatar/component/Avatar/index.js.map +1 -1
  22. package/dist/Avatar/component/Avatar/type.d.ts +0 -1
  23. package/dist/Avatar/component/Avatar/type.js.map +1 -1
  24. package/dist/Avatar/component/Avatar.js +2 -0
  25. package/dist/Avatar/index.d.ts +1 -1
  26. package/dist/Avatar/index.js +103 -30
  27. package/dist/Avatar/index.js.map +1 -1
  28. package/dist/Avatar.js +2 -0
  29. package/dist/Badge/index.d.ts +1 -1
  30. package/dist/Badge/index.js +153 -34
  31. package/dist/Badge/index.js.map +1 -1
  32. package/dist/Badge.js +2 -0
  33. package/dist/Breadcrumb/index.d.ts +1 -1
  34. package/dist/Breadcrumb/index.js +81 -28
  35. package/dist/Breadcrumb/index.js.map +1 -1
  36. package/dist/Breadcrumb.js +2 -0
  37. package/dist/Button/index.d.ts +3 -2
  38. package/dist/Button/index.js +238 -57
  39. package/dist/Button/index.js.map +1 -1
  40. package/dist/Button.js +2 -0
  41. package/dist/Card/index.d.ts +3 -3
  42. package/dist/Card/index.js +180 -54
  43. package/dist/Card/index.js.map +1 -1
  44. package/dist/Card.js +2 -0
  45. package/dist/Carousel/index.js +232 -92
  46. package/dist/Carousel/index.js.map +1 -1
  47. package/dist/Carousel.js +2 -0
  48. package/dist/Checkbox/component/CheckboxGroup/index.d.ts +1 -1
  49. package/dist/Checkbox/component/CheckboxGroup.js +2 -0
  50. package/dist/Checkbox/index.d.ts +3 -2
  51. package/dist/Checkbox/index.js +311 -107
  52. package/dist/Checkbox/index.js.map +1 -1
  53. package/dist/Checkbox/type.d.ts +0 -1
  54. package/dist/Checkbox.js +2 -0
  55. package/dist/Col/index.d.ts +1 -1
  56. package/dist/Col/index.js +106 -43
  57. package/dist/Col/index.js.map +1 -1
  58. package/dist/Col.js +2 -0
  59. package/dist/Collapse/index.d.ts +1 -1
  60. package/dist/Collapse/index.js +439 -159
  61. package/dist/Collapse/index.js.map +1 -1
  62. package/dist/Collapse.js +2 -0
  63. package/dist/ColorPicker/ComplexColorPicker/ColorAlphaInput.d.ts +1 -1
  64. package/dist/ColorPicker/ComplexColorPicker/ColorAlphaInput.js +68 -19
  65. package/dist/ColorPicker/ComplexColorPicker/ColorAlphaInput.js.map +1 -1
  66. package/dist/ColorPicker/ComplexColorPicker/ColorHexInput.d.ts +1 -1
  67. package/dist/ColorPicker/ComplexColorPicker/ColorHexInput.js +52 -17
  68. package/dist/ColorPicker/ComplexColorPicker/ColorHexInput.js.map +1 -1
  69. package/dist/ColorPicker/ComplexColorPicker/ColorHsbInput.d.ts +1 -1
  70. package/dist/ColorPicker/ComplexColorPicker/ColorHsbInput.js +159 -44
  71. package/dist/ColorPicker/ComplexColorPicker/ColorHsbInput.js.map +1 -1
  72. package/dist/ColorPicker/ComplexColorPicker/ColorInput.d.ts +2 -2
  73. package/dist/ColorPicker/ComplexColorPicker/ColorInput.js +130 -48
  74. package/dist/ColorPicker/ComplexColorPicker/ColorInput.js.map +1 -1
  75. package/dist/ColorPicker/ComplexColorPicker/ColorRgbInput.d.ts +1 -1
  76. package/dist/ColorPicker/ComplexColorPicker/ColorRgbInput.js +147 -41
  77. package/dist/ColorPicker/ComplexColorPicker/ColorRgbInput.js.map +1 -1
  78. package/dist/ColorPicker/ComplexColorPicker/ColorSteppers.d.ts +1 -1
  79. package/dist/ColorPicker/ComplexColorPicker/ColorSteppers.js +56 -14
  80. package/dist/ColorPicker/ComplexColorPicker/ColorSteppers.js.map +1 -1
  81. package/dist/ColorPicker/ComplexColorPicker/index.d.ts +3 -2
  82. package/dist/ColorPicker/ComplexColorPicker/index.js +113 -50
  83. package/dist/ColorPicker/ComplexColorPicker/index.js.map +1 -1
  84. package/dist/ColorPicker/ComplexColorPicker.js +2 -0
  85. package/dist/ColorPicker/color.js.map +1 -1
  86. package/dist/ColorPicker/constant.js.map +1 -1
  87. package/dist/ColorPicker/hooks/useColor.d.ts +2 -2
  88. package/dist/ColorPicker/hooks/useColor.js +37 -10
  89. package/dist/ColorPicker/hooks/useColor.js.map +1 -1
  90. package/dist/ColorPicker/index.d.ts +1 -1
  91. package/dist/ColorPicker/index.js +341 -117
  92. package/dist/ColorPicker/index.js.map +1 -1
  93. package/dist/ColorPicker/interface.d.ts +3 -3
  94. package/dist/ColorPicker/interface.js.map +1 -1
  95. package/dist/ColorPicker/util.js.map +1 -1
  96. package/dist/ColorPicker.js +2 -0
  97. package/dist/ConfigProvider/DisabledContext.d.ts +0 -1
  98. package/dist/ConfigProvider/DisabledContext.js.map +1 -1
  99. package/dist/ConfigProvider/getUserList.d.ts +1 -1
  100. package/dist/ConfigProvider/getUserList.js +1 -0
  101. package/dist/ConfigProvider/getUserList.js.map +1 -1
  102. package/dist/ConfigProvider/hooks/useGetUserList.d.ts +10 -10
  103. package/dist/ConfigProvider/hooks/useGetUserList.js +25 -10
  104. package/dist/ConfigProvider/hooks/useGetUserList.js.map +1 -1
  105. package/dist/ConfigProvider/index.d.ts +4 -4
  106. package/dist/ConfigProvider/index.js +101 -37
  107. package/dist/ConfigProvider/index.js.map +1 -1
  108. package/dist/ConfigProvider/sizeContext.js +16 -4
  109. package/dist/ConfigProvider/sizeContext.js.map +1 -1
  110. package/dist/ConfigProvider.js +2 -0
  111. package/dist/DataPreviewTable/components/Body/Cell.d.ts +2 -2
  112. package/dist/DataPreviewTable/components/Body/Cell.js +95 -32
  113. package/dist/DataPreviewTable/components/Body/Cell.js.map +1 -1
  114. package/dist/DataPreviewTable/components/Body/Error.d.ts +1 -1
  115. package/dist/DataPreviewTable/components/Body/Error.js.map +1 -1
  116. package/dist/DataPreviewTable/components/Body/index.d.ts +2 -2
  117. package/dist/DataPreviewTable/components/Body/index.js +76 -40
  118. package/dist/DataPreviewTable/components/Body/index.js.map +1 -1
  119. package/dist/DataPreviewTable/components/Body.js +2 -0
  120. package/dist/DataPreviewTable/components/DragBar/Mask.d.ts +2 -1
  121. package/dist/DataPreviewTable/components/DragBar/Mask.js +43 -22
  122. package/dist/DataPreviewTable/components/DragBar/Mask.js.map +1 -1
  123. package/dist/DataPreviewTable/components/DragBar/index.d.ts +1 -1
  124. package/dist/DataPreviewTable/components/DragBar/index.js +79 -29
  125. package/dist/DataPreviewTable/components/DragBar/index.js.map +1 -1
  126. package/dist/DataPreviewTable/components/DragBar.js +2 -0
  127. package/dist/DataPreviewTable/components/Header/index.d.ts +3 -2
  128. package/dist/DataPreviewTable/components/Header/index.js +60 -12
  129. package/dist/DataPreviewTable/components/Header/index.js.map +1 -1
  130. package/dist/DataPreviewTable/components/Header.js +2 -0
  131. package/dist/DataPreviewTable/constant.js.map +1 -1
  132. package/dist/DataPreviewTable/hooks/useDirection.d.ts +2 -2
  133. package/dist/DataPreviewTable/hooks/useDirection.js +253 -148
  134. package/dist/DataPreviewTable/hooks/useDirection.js.map +1 -1
  135. package/dist/DataPreviewTable/index.d.ts +1 -1
  136. package/dist/DataPreviewTable/index.js +3 -3
  137. package/dist/DataPreviewTable/index.js.map +1 -1
  138. package/dist/DataPreviewTable/interface.js.map +1 -1
  139. package/dist/DataPreviewTable/utils/findRange.js.map +1 -1
  140. package/dist/DataPreviewTable/utils/getColumnRange.d.ts +2 -2
  141. package/dist/DataPreviewTable/utils/getColumnRange.js.map +1 -1
  142. package/dist/DataPreviewTable/utils/getRowRange.d.ts +2 -2
  143. package/dist/DataPreviewTable/utils/getRowRange.js.map +1 -1
  144. package/dist/DataPreviewTable/utils/getTableLayout.d.ts +1 -1
  145. package/dist/DataPreviewTable/utils/getTableLayout.js.map +1 -1
  146. package/dist/DataPreviewTable.js +2 -0
  147. package/dist/DatePicker/index.d.ts +4 -3
  148. package/dist/DatePicker/index.js +350 -86
  149. package/dist/DatePicker/index.js.map +1 -1
  150. package/dist/DatePicker.js +2 -0
  151. package/dist/Divider/index.d.ts +2 -1
  152. package/dist/Divider/index.js +44 -8
  153. package/dist/Divider/index.js.map +1 -1
  154. package/dist/Divider.js +2 -0
  155. package/dist/DoubleCircleIcon/index.d.ts +2 -2
  156. package/dist/DoubleCircleIcon.js +2 -0
  157. package/dist/Drawer/index.d.ts +1 -1
  158. package/dist/Drawer/index.js +336 -122
  159. package/dist/Drawer/index.js.map +1 -1
  160. package/dist/Drawer.js +2 -0
  161. package/dist/Dropdown/index.d.ts +2 -2
  162. package/dist/Dropdown/index.js +23 -23
  163. package/dist/Dropdown/index.js.map +1 -1
  164. package/dist/Dropdown.js +2 -0
  165. package/dist/Empty/image/Data.d.ts +2 -1
  166. package/dist/Empty/image/Data.js +297 -234
  167. package/dist/Empty/image/Data.js.map +1 -1
  168. package/dist/Empty/image/Search.d.ts +2 -1
  169. package/dist/Empty/image/Search.js +14 -7
  170. package/dist/Empty/image/Search.js.map +1 -1
  171. package/dist/Empty/image/SearchSmall.d.ts +2 -1
  172. package/dist/Empty/image/SearchSmall.js +35 -23
  173. package/dist/Empty/image/SearchSmall.js.map +1 -1
  174. package/dist/Empty/image/User.d.ts +2 -1
  175. package/dist/Empty/image/User.js +277 -224
  176. package/dist/Empty/image/User.js.map +1 -1
  177. package/dist/Empty/image/WorkBook.d.ts +2 -1
  178. package/dist/Empty/image/WorkBook.js +254 -206
  179. package/dist/Empty/image/WorkBook.js.map +1 -1
  180. package/dist/Empty/index.js.map +1 -1
  181. package/dist/Empty.js +2 -0
  182. package/dist/Form/FormItemContext.d.ts +0 -1
  183. package/dist/Form/FormItemContext.js.map +1 -1
  184. package/dist/Form/hooks/useFormItemStatus.d.ts +1 -1
  185. package/dist/Form/index.d.ts +35 -19
  186. package/dist/Form/index.js +635 -186
  187. package/dist/Form/index.js.map +1 -1
  188. package/dist/Form.js +2 -0
  189. package/dist/HighlightText/index.d.ts +1 -1
  190. package/dist/HighlightText/index.js +83 -13
  191. package/dist/HighlightText/index.js.map +1 -1
  192. package/dist/HighlightText.js +2 -0
  193. package/dist/Icon/components/AlertTriangleDuotone.d.ts +1 -1
  194. package/dist/Icon/components/AlertTriangleDuotone.js +81 -20
  195. package/dist/Icon/components/AlertTriangleDuotone.js.map +1 -1
  196. package/dist/Icon/components/AlertTriangleLine.d.ts +1 -1
  197. package/dist/Icon/components/AlertTriangleLine.js +81 -20
  198. package/dist/Icon/components/AlertTriangleLine.js.map +1 -1
  199. package/dist/Icon/components/ArrowDownFill.d.ts +1 -1
  200. package/dist/Icon/components/ArrowDownFill.js +81 -20
  201. package/dist/Icon/components/ArrowDownFill.js.map +1 -1
  202. package/dist/Icon/components/ArrowDownLightLine.d.ts +1 -1
  203. package/dist/Icon/components/ArrowDownLightLine.js +81 -20
  204. package/dist/Icon/components/ArrowDownLightLine.js.map +1 -1
  205. package/dist/Icon/components/ArrowDownRightFill.d.ts +1 -1
  206. package/dist/Icon/components/ArrowDownRightFill.js +81 -20
  207. package/dist/Icon/components/ArrowDownRightFill.js.map +1 -1
  208. package/dist/Icon/components/ArrowRightLightLine.d.ts +1 -1
  209. package/dist/Icon/components/ArrowRightLightLine.js +81 -20
  210. package/dist/Icon/components/ArrowRightLightLine.js.map +1 -1
  211. package/dist/Icon/components/AttentionCircleFill.d.ts +1 -1
  212. package/dist/Icon/components/AttentionCircleFill.js +81 -20
  213. package/dist/Icon/components/AttentionCircleFill.js.map +1 -1
  214. package/dist/Icon/components/AttentionTriangleFill.d.ts +1 -1
  215. package/dist/Icon/components/AttentionTriangleFill.js +81 -20
  216. package/dist/Icon/components/AttentionTriangleFill.js.map +1 -1
  217. package/dist/Icon/components/AttentionTriangleLightLine.d.ts +1 -1
  218. package/dist/Icon/components/AttentionTriangleLightLine.js +81 -20
  219. package/dist/Icon/components/AttentionTriangleLightLine.js.map +1 -1
  220. package/dist/Icon/components/CancelCircleDuotone.d.ts +1 -1
  221. package/dist/Icon/components/CancelCircleDuotone.js +92 -23
  222. package/dist/Icon/components/CancelCircleDuotone.js.map +1 -1
  223. package/dist/Icon/components/CancelledCircleFill.d.ts +1 -1
  224. package/dist/Icon/components/CancelledCircleFill.js +81 -20
  225. package/dist/Icon/components/CancelledCircleFill.js.map +1 -1
  226. package/dist/Icon/components/CheckCircleDuotone.d.ts +1 -1
  227. package/dist/Icon/components/CheckCircleDuotone.js +92 -23
  228. package/dist/Icon/components/CheckCircleDuotone.js.map +1 -1
  229. package/dist/Icon/components/CheckCircleFill.d.ts +1 -1
  230. package/dist/Icon/components/CheckCircleFill.js +81 -20
  231. package/dist/Icon/components/CheckCircleFill.js.map +1 -1
  232. package/dist/Icon/components/CheckCircleLightLine.d.ts +1 -1
  233. package/dist/Icon/components/CheckCircleLightLine.js +97 -25
  234. package/dist/Icon/components/CheckCircleLightLine.js.map +1 -1
  235. package/dist/Icon/components/CheckLightLine.d.ts +1 -1
  236. package/dist/Icon/components/CheckLightLine.js +81 -20
  237. package/dist/Icon/components/CheckLightLine.js.map +1 -1
  238. package/dist/Icon/components/ChevronDownLine.d.ts +1 -1
  239. package/dist/Icon/components/ChevronDownLine.js +81 -20
  240. package/dist/Icon/components/ChevronDownLine.js.map +1 -1
  241. package/dist/Icon/components/ChevronLeftLine.d.ts +1 -1
  242. package/dist/Icon/components/ChevronLeftLine.js +81 -20
  243. package/dist/Icon/components/ChevronLeftLine.js.map +1 -1
  244. package/dist/Icon/components/ChevronRightLine.d.ts +1 -1
  245. package/dist/Icon/components/ChevronRightLine.js +81 -20
  246. package/dist/Icon/components/ChevronRightLine.js.map +1 -1
  247. package/dist/Icon/components/CircleLightLine.d.ts +1 -1
  248. package/dist/Icon/components/CircleLightLine.js +97 -25
  249. package/dist/Icon/components/CircleLightLine.js.map +1 -1
  250. package/dist/Icon/components/CloseCircleFill.d.ts +1 -1
  251. package/dist/Icon/components/CloseCircleFill.js +81 -20
  252. package/dist/Icon/components/CloseCircleFill.js.map +1 -1
  253. package/dist/Icon/components/CloseCircleLightLine.d.ts +1 -1
  254. package/dist/Icon/components/CloseCircleLightLine.js +81 -20
  255. package/dist/Icon/components/CloseCircleLightLine.js.map +1 -1
  256. package/dist/Icon/components/CloseCircleRightFill.d.ts +1 -1
  257. package/dist/Icon/components/CloseCircleRightFill.js +81 -20
  258. package/dist/Icon/components/CloseCircleRightFill.js.map +1 -1
  259. package/dist/Icon/components/CloseLLine.d.ts +1 -1
  260. package/dist/Icon/components/CloseLLine.js +81 -20
  261. package/dist/Icon/components/CloseLLine.js.map +1 -1
  262. package/dist/Icon/components/CloseLightLine.d.ts +1 -1
  263. package/dist/Icon/components/CloseLightLine.js +81 -20
  264. package/dist/Icon/components/CloseLightLine.js.map +1 -1
  265. package/dist/Icon/components/CloseMLine.d.ts +1 -1
  266. package/dist/Icon/components/CloseMLine.js +81 -20
  267. package/dist/Icon/components/CloseMLine.js.map +1 -1
  268. package/dist/Icon/components/DangerFill.d.ts +1 -1
  269. package/dist/Icon/components/DangerFill.js +81 -20
  270. package/dist/Icon/components/DangerFill.js.map +1 -1
  271. package/dist/Icon/components/DragLightLine.d.ts +1 -1
  272. package/dist/Icon/components/DragLightLine.js +81 -20
  273. package/dist/Icon/components/DragLightLine.js.map +1 -1
  274. package/dist/Icon/components/DragLine.d.ts +1 -1
  275. package/dist/Icon/components/DragLine.js +81 -20
  276. package/dist/Icon/components/DragLine.js.map +1 -1
  277. package/dist/Icon/components/Ellipsis.d.ts +1 -1
  278. package/dist/Icon/components/Ellipsis.js +81 -20
  279. package/dist/Icon/components/Ellipsis.js.map +1 -1
  280. package/dist/Icon/components/EyeOffLine.d.ts +1 -1
  281. package/dist/Icon/components/EyeOffLine.js +81 -20
  282. package/dist/Icon/components/EyeOffLine.js.map +1 -1
  283. package/dist/Icon/components/EyeOnLine.d.ts +1 -1
  284. package/dist/Icon/components/EyeOnLine.js +107 -31
  285. package/dist/Icon/components/EyeOnLine.js.map +1 -1
  286. package/dist/Icon/components/FoldDownFill.d.ts +1 -1
  287. package/dist/Icon/components/FoldDownFill.js +87 -21
  288. package/dist/Icon/components/FoldDownFill.js.map +1 -1
  289. package/dist/Icon/components/FoldUpFill.d.ts +1 -1
  290. package/dist/Icon/components/FoldUpFill.js +87 -21
  291. package/dist/Icon/components/FoldUpFill.js.map +1 -1
  292. package/dist/Icon/components/InProgressFill.d.ts +1 -1
  293. package/dist/Icon/components/InProgressFill.js +77 -19
  294. package/dist/Icon/components/InProgressFill.js.map +1 -1
  295. package/dist/Icon/components/InfoCircleDuotone.d.ts +1 -1
  296. package/dist/Icon/components/InfoCircleDuotone.js +81 -20
  297. package/dist/Icon/components/InfoCircleDuotone.js.map +1 -1
  298. package/dist/Icon/components/InfoCircleLine.d.ts +1 -1
  299. package/dist/Icon/components/InfoCircleLine.js +81 -20
  300. package/dist/Icon/components/InfoCircleLine.js.map +1 -1
  301. package/dist/Icon/components/InformationCircleFill.d.ts +1 -1
  302. package/dist/Icon/components/InformationCircleFill.js +81 -20
  303. package/dist/Icon/components/InformationCircleFill.js.map +1 -1
  304. package/dist/Icon/components/InformationCircleLightLine.d.ts +1 -1
  305. package/dist/Icon/components/InformationCircleLightLine.js +97 -25
  306. package/dist/Icon/components/InformationCircleLightLine.js.map +1 -1
  307. package/dist/Icon/components/Loading2Line.d.ts +1 -1
  308. package/dist/Icon/components/Loading2Line.js +81 -20
  309. package/dist/Icon/components/Loading2Line.js.map +1 -1
  310. package/dist/Icon/components/LoadingDuotone.d.ts +1 -1
  311. package/dist/Icon/components/LoadingDuotone.js +96 -24
  312. package/dist/Icon/components/LoadingDuotone.js.map +1 -1
  313. package/dist/Icon/components/LoadingLine.d.ts +1 -1
  314. package/dist/Icon/components/LoadingLine.js +81 -20
  315. package/dist/Icon/components/LoadingLine.js.map +1 -1
  316. package/dist/Icon/components/MoreVerticalLine.d.ts +1 -1
  317. package/dist/Icon/components/MoreVerticalLine.js +81 -20
  318. package/dist/Icon/components/MoreVerticalLine.js.map +1 -1
  319. package/dist/Icon/components/SearchLine.d.ts +1 -1
  320. package/dist/Icon/components/SearchLine.js +81 -20
  321. package/dist/Icon/components/SearchLine.js.map +1 -1
  322. package/dist/Icon/components/SignLightLine.d.ts +1 -1
  323. package/dist/Icon/components/SignLightLine.js +81 -20
  324. package/dist/Icon/components/SignLightLine.js.map +1 -1
  325. package/dist/Icon/components/SortAscendingOrderColor.d.ts +1 -1
  326. package/dist/Icon/components/SortAscendingOrderColor.js +88 -22
  327. package/dist/Icon/components/SortAscendingOrderColor.js.map +1 -1
  328. package/dist/Icon/components/SortColor.d.ts +1 -1
  329. package/dist/Icon/components/SortColor.js +81 -20
  330. package/dist/Icon/components/SortColor.js.map +1 -1
  331. package/dist/Icon/components/SortDescendingOrderColor.d.ts +1 -1
  332. package/dist/Icon/components/SortDescendingOrderColor.js +88 -22
  333. package/dist/Icon/components/SortDescendingOrderColor.js.map +1 -1
  334. package/dist/Icon/components/TimesLightLine.d.ts +1 -1
  335. package/dist/Icon/components/TimesLightLine.js +81 -20
  336. package/dist/Icon/components/TimesLightLine.js.map +1 -1
  337. package/dist/Icon/components/TrashLightLine.d.ts +1 -1
  338. package/dist/Icon/components/TrashLightLine.js +97 -25
  339. package/dist/Icon/components/TrashLightLine.js.map +1 -1
  340. package/dist/Icon/components/TriangleLightLine.d.ts +1 -1
  341. package/dist/Icon/components/TriangleLightLine.js +81 -20
  342. package/dist/Icon/components/TriangleLightLine.js.map +1 -1
  343. package/dist/Icon/components/User.d.ts +1 -1
  344. package/dist/Icon/components/User.js +85 -21
  345. package/dist/Icon/components/User.js.map +1 -1
  346. package/dist/Icon/components/UserGroup.d.ts +1 -1
  347. package/dist/Icon/components/UserGroup.js +85 -21
  348. package/dist/Icon/components/UserGroup.js.map +1 -1
  349. package/dist/Icon.d.ts +0 -1
  350. package/dist/Icon.js +1 -0
  351. package/dist/IconButton/index.d.ts +6 -5
  352. package/dist/IconButton/index.js +303 -73
  353. package/dist/IconButton/index.js.map +1 -1
  354. package/dist/IconButton.js +2 -0
  355. package/dist/Input/components/Input/index.d.ts +1 -1
  356. package/dist/Input/components/Input/index.js +407 -108
  357. package/dist/Input/components/Input/index.js.map +1 -1
  358. package/dist/Input/components/Input.js +2 -0
  359. package/dist/Input/components/Password/index.d.ts +1 -1
  360. package/dist/Input/components/Password/index.js +71 -10
  361. package/dist/Input/components/Password/index.js.map +1 -1
  362. package/dist/Input/components/Password.js +2 -0
  363. package/dist/Input/components/TextArea/index.d.ts +2 -2
  364. package/dist/Input/components/TextArea/index.js +323 -67
  365. package/dist/Input/components/TextArea/index.js.map +1 -1
  366. package/dist/Input/components/TextArea.js +2 -0
  367. package/dist/Input/index.js.map +1 -1
  368. package/dist/Input/privateSemanticOwner.d.ts +2 -2
  369. package/dist/Input.js +2 -0
  370. package/dist/InputNumber/index.d.ts +2 -1
  371. package/dist/InputNumber/index.js +13 -13
  372. package/dist/InputNumber/index.js.map +1 -1
  373. package/dist/InputNumber/type.d.ts +0 -1
  374. package/dist/InputNumber.js +2 -0
  375. package/dist/InputSearch/index.d.ts +1 -1
  376. package/dist/InputSearch/index.js +213 -78
  377. package/dist/InputSearch/index.js.map +1 -1
  378. package/dist/InputSearch.js +2 -0
  379. package/dist/Layout/index.js +115 -28
  380. package/dist/Layout/index.js.map +1 -1
  381. package/dist/Layout.js +2 -0
  382. package/dist/List/Item.js +105 -21
  383. package/dist/List/Item.js.map +1 -1
  384. package/dist/List/index.d.ts +2 -2
  385. package/dist/List/index.js +11 -11
  386. package/dist/List/index.js.map +1 -1
  387. package/dist/List.js +2 -0
  388. package/dist/LogicTree/DisplayLogicTree.d.ts +1 -1
  389. package/dist/LogicTree/DisplayLogicTree.js +17 -6
  390. package/dist/LogicTree/DisplayLogicTree.js.map +1 -1
  391. package/dist/LogicTree/components/DisplayLogicItem/index.d.ts +2 -2
  392. package/dist/LogicTree/components/DisplayLogicItem/index.js +124 -38
  393. package/dist/LogicTree/components/DisplayLogicItem/index.js.map +1 -1
  394. package/dist/LogicTree/components/DisplayLogicItem.d.ts +0 -1
  395. package/dist/LogicTree/components/DisplayLogicItem.js +1 -0
  396. package/dist/LogicTree/components/LogicItem/index.d.ts +4 -3
  397. package/dist/LogicTree/components/LogicItem/index.js +60 -58
  398. package/dist/LogicTree/components/LogicItem/index.js.map +1 -1
  399. package/dist/LogicTree/components/LogicItem.js +2 -0
  400. package/dist/LogicTree/helper.js.map +1 -1
  401. package/dist/LogicTree/index.d.ts +1 -1
  402. package/dist/LogicTree/index.js +205 -66
  403. package/dist/LogicTree/index.js.map +1 -1
  404. package/dist/LogicTree/type.js.map +1 -1
  405. package/dist/LogicTree.js +2 -0
  406. package/dist/MemberPicker/components/MemberSelection.d.ts +2 -2
  407. package/dist/MemberPicker/components/MemberSelection.js +4 -4
  408. package/dist/MemberPicker/components/MemberSelection.js.map +1 -1
  409. package/dist/MemberPicker/components/MultipleOption.d.ts +4 -3
  410. package/dist/MemberPicker/components/MultipleOption.js +178 -44
  411. package/dist/MemberPicker/components/MultipleOption.js.map +1 -1
  412. package/dist/MemberPicker/components/NickLabel.d.ts +1 -1
  413. package/dist/MemberPicker/components/NickLabel.js +66 -17
  414. package/dist/MemberPicker/components/NickLabel.js.map +1 -1
  415. package/dist/MemberPicker/components/Panel.d.ts +4 -4
  416. package/dist/MemberPicker/components/Panel.js +198 -108
  417. package/dist/MemberPicker/components/Panel.js.map +1 -1
  418. package/dist/MemberPicker/components/PanelWrapper.d.ts +4 -4
  419. package/dist/MemberPicker/components/PanelWrapper.js +190 -76
  420. package/dist/MemberPicker/components/PanelWrapper.js.map +1 -1
  421. package/dist/MemberPicker/components/SearchFeedback.d.ts +2 -1
  422. package/dist/MemberPicker/components/SearchFeedback.js +63 -14
  423. package/dist/MemberPicker/components/SearchFeedback.js.map +1 -1
  424. package/dist/MemberPicker/components/SelectedMemberTags.d.ts +4 -4
  425. package/dist/MemberPicker/components/SelectedMemberTags.js +148 -64
  426. package/dist/MemberPicker/components/SelectedMemberTags.js.map +1 -1
  427. package/dist/MemberPicker/components/SelectorFooter.d.ts +2 -2
  428. package/dist/MemberPicker/components/SelectorFooter.js +42 -22
  429. package/dist/MemberPicker/components/SelectorFooter.js.map +1 -1
  430. package/dist/MemberPicker/components/SingleOption.d.ts +4 -3
  431. package/dist/MemberPicker/components/SingleOption.js +157 -38
  432. package/dist/MemberPicker/components/SingleOption.js.map +1 -1
  433. package/dist/MemberPicker/components/UserGroupSelection.d.ts +2 -2
  434. package/dist/MemberPicker/components/UserGroupSelection.js +331 -158
  435. package/dist/MemberPicker/components/UserGroupSelection.js.map +1 -1
  436. package/dist/MemberPicker/dialog/DialogColumns.d.ts +1 -1
  437. package/dist/MemberPicker/dialog/DialogColumns.js +106 -46
  438. package/dist/MemberPicker/dialog/DialogColumns.js.map +1 -1
  439. package/dist/MemberPicker/dialog/DialogContent.d.ts +1 -1
  440. package/dist/MemberPicker/dialog/DialogContent.js +242 -78
  441. package/dist/MemberPicker/dialog/DialogContent.js.map +1 -1
  442. package/dist/MemberPicker/dialog/MemberOption.d.ts +2 -2
  443. package/dist/MemberPicker/dialog/MemberOption.js +247 -79
  444. package/dist/MemberPicker/dialog/MemberOption.js.map +1 -1
  445. package/dist/MemberPicker/dialog/MemberPickerDialog.d.ts +3 -3
  446. package/dist/MemberPicker/dialog/MemberPickerDialog.js +9 -1
  447. package/dist/MemberPicker/dialog/MemberPickerDialog.js.map +1 -1
  448. package/dist/MemberPicker/dialog/SelectedMemberPanel.d.ts +3 -3
  449. package/dist/MemberPicker/dialog/SelectedMemberPanel.js +52 -12
  450. package/dist/MemberPicker/dialog/SelectedMemberPanel.js.map +1 -1
  451. package/dist/MemberPicker/dialog/UserCandidatePanel.d.ts +2 -2
  452. package/dist/MemberPicker/dialog/UserCandidatePanel.js +12 -12
  453. package/dist/MemberPicker/dialog/UserCandidatePanel.js.map +1 -1
  454. package/dist/MemberPicker/dialog/UserGroupCandidatePanel.d.ts +2 -2
  455. package/dist/MemberPicker/dialog/UserGroupCandidatePanel.js +283 -105
  456. package/dist/MemberPicker/dialog/UserGroupCandidatePanel.js.map +1 -1
  457. package/dist/MemberPicker/dialog/helper.d.ts +1 -1
  458. package/dist/MemberPicker/dialog/helper.js.map +1 -1
  459. package/dist/MemberPicker/dialog/types.d.ts +2 -2
  460. package/dist/MemberPicker/dialog/types.js.map +1 -1
  461. package/dist/MemberPicker/dialog/useDialogLocale.d.ts +1 -1
  462. package/dist/MemberPicker/dialog/useDialogLocale.js +9 -1
  463. package/dist/MemberPicker/dialog/useDialogLocale.js.map +1 -1
  464. package/dist/MemberPicker/dialog/useMemberPickerDraft.d.ts +2 -2
  465. package/dist/MemberPicker/dialog/useMemberPickerDraft.js +9 -9
  466. package/dist/MemberPicker/dialog/useMemberPickerDraft.js.map +1 -1
  467. package/dist/MemberPicker/dialog/useUserGroupCandidates.d.ts +1 -1
  468. package/dist/MemberPicker/dialog/useUserGroupCandidates.js +107 -107
  469. package/dist/MemberPicker/dialog/useUserGroupCandidates.js.map +1 -1
  470. package/dist/MemberPicker/index.js +43 -43
  471. package/dist/MemberPicker/index.js.map +1 -1
  472. package/dist/MemberPicker/interface.d.ts +4 -4
  473. package/dist/MemberPicker/interface.js.map +1 -1
  474. package/dist/MemberPicker/tests/mockPort.d.ts +2 -2
  475. package/dist/MemberPicker/useMemberSearch.d.ts +1 -1
  476. package/dist/MemberPicker/useMemberSearch.js +81 -40
  477. package/dist/MemberPicker/useMemberSearch.js.map +1 -1
  478. package/dist/MemberPicker/utils/getUsersWithUserId.d.ts +2 -2
  479. package/dist/MemberPicker/utils/getUsersWithUserId.js.map +1 -1
  480. package/dist/MemberPicker/utils/index.d.ts +4 -3
  481. package/dist/MemberPicker/utils/index.js.map +1 -1
  482. package/dist/MemberPicker/utils.d.ts +0 -1
  483. package/dist/MemberPicker/utils.js +1 -0
  484. package/dist/MemberPicker.js +2 -0
  485. package/dist/Menu/index.d.ts +1 -1
  486. package/dist/Menu/index.js +236 -87
  487. package/dist/Menu/index.js.map +1 -1
  488. package/dist/Menu.js +2 -0
  489. package/dist/Modal/index.d.ts +2 -2
  490. package/dist/Modal/index.js +151 -89
  491. package/dist/Modal/index.js.map +1 -1
  492. package/dist/Modal.js +2 -0
  493. package/dist/OverflowCount/index.d.ts +2 -2
  494. package/dist/OverflowCount/index.js +173 -77
  495. package/dist/OverflowCount/index.js.map +1 -1
  496. package/dist/OverflowCount.js +2 -0
  497. package/dist/Pagination/PageSizeChanger.js +77 -22
  498. package/dist/Pagination/PageSizeChanger.js.map +1 -1
  499. package/dist/Pagination/index.d.ts +2 -1
  500. package/dist/Pagination/index.js +7 -7
  501. package/dist/Pagination/index.js.map +1 -1
  502. package/dist/Pagination/types.d.ts +0 -1
  503. package/dist/Pagination.js +2 -0
  504. package/dist/Popconfirm/index.d.ts +2 -2
  505. package/dist/Popconfirm/index.js +7 -7
  506. package/dist/Popconfirm/index.js.map +1 -1
  507. package/dist/Popconfirm.js +2 -0
  508. package/dist/Popover/index.d.ts +1 -1
  509. package/dist/Popover/index.js +1 -1
  510. package/dist/Popover/index.js.map +1 -1
  511. package/dist/Popover.js +2 -0
  512. package/dist/Progress/index.js +91 -28
  513. package/dist/Progress/index.js.map +1 -1
  514. package/dist/Progress.js +2 -0
  515. package/dist/Radio/components/Group/index.d.ts +2 -2
  516. package/dist/Radio/components/Group/index.js.map +1 -1
  517. package/dist/Radio/components/Group.js +2 -0
  518. package/dist/Radio/components/Radio/index.d.ts +3 -2
  519. package/dist/Radio/components/Radio/index.js +112 -46
  520. package/dist/Radio/components/Radio/index.js.map +1 -1
  521. package/dist/Radio/components/Radio.js +2 -0
  522. package/dist/Radio/index.js.map +1 -1
  523. package/dist/Radio.js +2 -0
  524. package/dist/RenameInput/index.d.ts +2 -2
  525. package/dist/RenameInput/index.js +248 -75
  526. package/dist/RenameInput/index.js.map +1 -1
  527. package/dist/RenameInput.js +2 -0
  528. package/dist/Result/index.d.ts +7 -7
  529. package/dist/Result/index.js +172 -60
  530. package/dist/Result/index.js.map +1 -1
  531. package/dist/Result/noFound.js +37 -11
  532. package/dist/Result/noFound.js.map +1 -1
  533. package/dist/Result/serverError.js +37 -11
  534. package/dist/Result/serverError.js.map +1 -1
  535. package/dist/Result/unauthorized.js +38 -11
  536. package/dist/Result/unauthorized.js.map +1 -1
  537. package/dist/Result.js +2 -0
  538. package/dist/Row/index.d.ts +1 -1
  539. package/dist/Row/index.js +86 -20
  540. package/dist/Row/index.js.map +1 -1
  541. package/dist/Row.js +2 -0
  542. package/dist/ScrollArea/index.d.ts +1 -1
  543. package/dist/ScrollArea/index.js +144 -32
  544. package/dist/ScrollArea/index.js.map +1 -1
  545. package/dist/ScrollArea.js +2 -0
  546. package/dist/Select/BaseSelect.d.ts +2 -2
  547. package/dist/Select/BaseSelect.js +49 -37
  548. package/dist/Select/BaseSelect.js.map +1 -1
  549. package/dist/Select/SelectTrigger.d.ts +2 -2
  550. package/dist/Select/SelectTrigger.js.map +1 -1
  551. package/dist/Select/Selector/FixedOverflow.d.ts +1 -1
  552. package/dist/Select/Selector/FixedOverflow.js +213 -84
  553. package/dist/Select/Selector/FixedOverflow.js.map +1 -1
  554. package/dist/Select/Selector/MultipleResponsiveSelectedSection.d.ts +4 -4
  555. package/dist/Select/Selector/MultipleResponsiveSelectedSection.js +90 -29
  556. package/dist/Select/Selector/MultipleResponsiveSelectedSection.js.map +1 -1
  557. package/dist/Select/Selector/MultipleSelector.d.ts +5 -5
  558. package/dist/Select/Selector/MultipleSelector.js +241 -82
  559. package/dist/Select/Selector/MultipleSelector.js.map +1 -1
  560. package/dist/Select/Selector/index.d.ts +5 -5
  561. package/dist/Select/Selector/index.js +64 -13
  562. package/dist/Select/Selector/index.js.map +1 -1
  563. package/dist/Select/Selector.js +2 -0
  564. package/dist/Select/components/OptionCollection.d.ts +3 -2
  565. package/dist/Select/components/OptionCollection.js +131 -40
  566. package/dist/Select/components/OptionCollection.js.map +1 -1
  567. package/dist/Select/components/PopupContent.d.ts +2 -2
  568. package/dist/Select/components/PopupContent.js +41 -11
  569. package/dist/Select/components/PopupContent.js.map +1 -1
  570. package/dist/Select/components/SearchBox.d.ts +1 -1
  571. package/dist/Select/components/SearchBox.js +32 -11
  572. package/dist/Select/components/SearchBox.js.map +1 -1
  573. package/dist/Select/components/Suffix.d.ts +2 -2
  574. package/dist/Select/components/Suffix.js +96 -32
  575. package/dist/Select/components/Suffix.js.map +1 -1
  576. package/dist/Select/hooks/useCache.d.ts +1 -1
  577. package/dist/Select/hooks/useCache.js.map +1 -1
  578. package/dist/Select/hooks/useDisplayMenu.d.ts +1 -1
  579. package/dist/Select/hooks/useDisplayMenu.js.map +1 -1
  580. package/dist/Select/hooks/useOptions.d.ts +1 -1
  581. package/dist/Select/hooks/useOptions.js +34 -15
  582. package/dist/Select/hooks/useOptions.js.map +1 -1
  583. package/dist/Select/index.js +348 -167
  584. package/dist/Select/index.js.map +1 -1
  585. package/dist/Select/interface.d.ts +2 -2
  586. package/dist/Select/utils/commonUtil.d.ts +1 -1
  587. package/dist/Select/utils/commonUtil.js.map +1 -1
  588. package/dist/Select/utils/getWidthStyle.js.map +1 -1
  589. package/dist/Select/utils/valueUtil.d.ts +2 -2
  590. package/dist/Select/utils/valueUtil.js +1 -1
  591. package/dist/Select/utils/valueUtil.js.map +1 -1
  592. package/dist/Select.js +2 -0
  593. package/dist/Skeleton/index.d.ts +2 -2
  594. package/dist/Skeleton/index.js +255 -58
  595. package/dist/Skeleton/index.js.map +1 -1
  596. package/dist/Skeleton.js +2 -0
  597. package/dist/Slider/index.d.ts +1 -1
  598. package/dist/Slider/index.js +257 -57
  599. package/dist/Slider/index.js.map +1 -1
  600. package/dist/Slider.js +2 -0
  601. package/dist/Space/CompactContext.d.ts +2 -2
  602. package/dist/Space/CompactContext.js +1 -1
  603. package/dist/Space/CompactContext.js.map +1 -1
  604. package/dist/Space/index.d.ts +3 -3
  605. package/dist/Space/index.js +162 -30
  606. package/dist/Space/index.js.map +1 -1
  607. package/dist/Space.js +2 -0
  608. package/dist/Spin/CustomIcon/index.d.ts +2 -2
  609. package/dist/Spin/CustomIcon/index.js +95 -12
  610. package/dist/Spin/CustomIcon/index.js.map +1 -1
  611. package/dist/Spin/CustomIcon.js +2 -0
  612. package/dist/Spin/index.d.ts +1 -1
  613. package/dist/Spin/index.js +156 -51
  614. package/dist/Spin/index.js.map +1 -1
  615. package/dist/Spin.js +2 -0
  616. package/dist/StatusLight/index.d.ts +1 -1
  617. package/dist/StatusLight/index.js +118 -45
  618. package/dist/StatusLight/index.js.map +1 -1
  619. package/dist/StatusLight.js +2 -0
  620. package/dist/Steps/components/CustomDot/index.d.ts +1 -1
  621. package/dist/Steps/components/CustomDot/index.js.map +1 -1
  622. package/dist/Steps/components/CustomDot.d.ts +0 -1
  623. package/dist/Steps/components/CustomDot.js +1 -0
  624. package/dist/Steps/components/ProcessIcon/index.d.ts +2 -1
  625. package/dist/Steps/components/ProcessIcon/index.js +177 -46
  626. package/dist/Steps/components/ProcessIcon/index.js.map +1 -1
  627. package/dist/Steps/components/ProcessIcon.d.ts +0 -1
  628. package/dist/Steps/components/ProcessIcon.js +1 -0
  629. package/dist/Steps/components/Step/index.d.ts +2 -2
  630. package/dist/Steps/components/Step/index.js +46 -17
  631. package/dist/Steps/components/Step/index.js.map +1 -1
  632. package/dist/Steps/components/Step.d.ts +0 -1
  633. package/dist/Steps/components/Step.js +1 -0
  634. package/dist/Steps/index.d.ts +3 -3
  635. package/dist/Steps/index.js +160 -105
  636. package/dist/Steps/index.js.map +1 -1
  637. package/dist/Steps.js +2 -0
  638. package/dist/Switch/index.js +159 -49
  639. package/dist/Switch/index.js.map +1 -1
  640. package/dist/Switch/test.d.ts +0 -1
  641. package/dist/Switch/test.js +1 -0
  642. package/dist/Switch.js +2 -0
  643. package/dist/Table/components/Cell.d.ts +2 -1
  644. package/dist/Table/components/Cell.js +29 -6
  645. package/dist/Table/components/Cell.js.map +1 -1
  646. package/dist/Table/components/DndWrapper.js +11 -2
  647. package/dist/Table/components/DndWrapper.js.map +1 -1
  648. package/dist/Table/components/ErrorBoundary.js.map +1 -1
  649. package/dist/Table/components/ExpandCell.d.ts +3 -3
  650. package/dist/Table/components/ExpandCell.js +139 -43
  651. package/dist/Table/components/ExpandCell.js.map +1 -1
  652. package/dist/Table/components/Footer/index.d.ts +5 -4
  653. package/dist/Table/components/Footer/index.js +130 -61
  654. package/dist/Table/components/Footer/index.js.map +1 -1
  655. package/dist/Table/components/Footer.js +2 -0
  656. package/dist/Table/components/Header.d.ts +2 -1
  657. package/dist/Table/components/Header.js.map +1 -1
  658. package/dist/Table/helper.d.ts +13 -13
  659. package/dist/Table/helper.js.map +1 -1
  660. package/dist/Table/hooks/useExpandable.d.ts +2 -2
  661. package/dist/Table/hooks/useExpandable.js +178 -64
  662. package/dist/Table/hooks/useExpandable.js.map +1 -1
  663. package/dist/Table/hooks/useFixed.js.map +1 -1
  664. package/dist/Table/hooks/useRowDnd.d.ts +1 -1
  665. package/dist/Table/hooks/useRowDnd.js +5 -5
  666. package/dist/Table/hooks/useRowDnd.js.map +1 -1
  667. package/dist/Table/hooks/useRowSelection.d.ts +1 -1
  668. package/dist/Table/hooks/useRowSelection.js +307 -129
  669. package/dist/Table/hooks/useRowSelection.js.map +1 -1
  670. package/dist/Table/hooks/useScroll.d.ts +3 -3
  671. package/dist/Table/hooks/useScroll.js +92 -45
  672. package/dist/Table/hooks/useScroll.js.map +1 -1
  673. package/dist/Table/index.d.ts +2 -2
  674. package/dist/Table/index.js +78 -78
  675. package/dist/Table/index.js.map +1 -1
  676. package/dist/Table/tests/helper.d.ts +1 -1
  677. package/dist/Table/types.d.ts +2 -2
  678. package/dist/Table.js +2 -0
  679. package/dist/Tabs/TabPane.d.ts +2 -2
  680. package/dist/Tabs/TabPane.js +13 -4
  681. package/dist/Tabs/TabPane.js.map +1 -1
  682. package/dist/Tabs/index.d.ts +2 -2
  683. package/dist/Tabs/index.js +677 -252
  684. package/dist/Tabs/index.js.map +1 -1
  685. package/dist/Tabs.js +2 -0
  686. package/dist/Tag/index.d.ts +1 -1
  687. package/dist/Tag/index.js +243 -77
  688. package/dist/Tag/index.js.map +1 -1
  689. package/dist/Tag.js +2 -0
  690. package/dist/TextLink/index.d.ts +1 -1
  691. package/dist/TextLink/index.js +60 -8
  692. package/dist/TextLink/index.js.map +1 -1
  693. package/dist/TextLink.js +2 -0
  694. package/dist/Tooltip/index.d.ts +1 -1
  695. package/dist/Tooltip/index.js +31 -10
  696. package/dist/Tooltip/index.js.map +1 -1
  697. package/dist/Tooltip.js +2 -0
  698. package/dist/Tour/index.d.ts +1 -1
  699. package/dist/Tour/index.js +234 -76
  700. package/dist/Tour/index.js.map +1 -1
  701. package/dist/Tour.js +2 -0
  702. package/dist/Tree/DirectoryTree.d.ts +1 -1
  703. package/dist/Tree/DirectoryTree.js +6 -6
  704. package/dist/Tree/DirectoryTree.js.map +1 -1
  705. package/dist/Tree/Tree.d.ts +1 -1
  706. package/dist/Tree/Tree2.js +24 -24
  707. package/dist/Tree/Tree2.js.map +1 -1
  708. package/dist/Tree/index.d.ts +2 -2
  709. package/dist/Tree/index.js.map +1 -1
  710. package/dist/Tree/utils/composeAllowDrop.d.ts +1 -1
  711. package/dist/Tree/utils/composeAllowDrop.js.map +1 -1
  712. package/dist/Tree/utils/dictUtil.d.ts +1 -1
  713. package/dist/Tree/utils/dictUtil.js.map +1 -1
  714. package/dist/Tree/utils/dropIndicator.d.ts +2 -1
  715. package/dist/Tree/utils/dropIndicator.js.map +1 -1
  716. package/dist/Tree/utils/iconUtil.d.ts +1 -1
  717. package/dist/Tree/utils/iconUtil.js +82 -24
  718. package/dist/Tree/utils/iconUtil.js.map +1 -1
  719. package/dist/Tree.js +2 -0
  720. package/dist/Typography/index.js +75 -27
  721. package/dist/Typography/index.js.map +1 -1
  722. package/dist/Typography.js +2 -0
  723. package/dist/Upload/index.d.ts +4 -4
  724. package/dist/Upload/index.js +278 -133
  725. package/dist/Upload/index.js.map +1 -1
  726. package/dist/Upload.js +2 -0
  727. package/dist/User/index.d.ts +1 -1
  728. package/dist/User/index.js +79 -12
  729. package/dist/User/index.js.map +1 -1
  730. package/dist/User.js +2 -0
  731. package/dist/Watermark/index.d.ts +1 -1
  732. package/dist/Watermark/index.js +108 -47
  733. package/dist/Watermark/index.js.map +1 -1
  734. package/dist/Watermark.js +2 -0
  735. package/dist/_utils/dialogAccessibility.js +98 -54
  736. package/dist/_utils/dialogAccessibility.js.map +1 -1
  737. package/dist/_utils/floatingLayer.d.ts +1 -1
  738. package/dist/_utils/floatingLayer.js +41 -14
  739. package/dist/_utils/floatingLayer.js.map +1 -1
  740. package/dist/_utils/formControlSemanticOwner.js.map +1 -1
  741. package/dist/_utils/getUniqId.js.map +1 -1
  742. package/dist/_utils/hooks/useControlledState.d.ts +1 -1
  743. package/dist/_utils/hooks/useId.js +1 -1
  744. package/dist/_utils/hooks/useId.js.map +1 -1
  745. package/dist/_utils/motion.js.map +1 -1
  746. package/dist/_utils/overlayCoordinator.d.ts +1 -1
  747. package/dist/_utils/overlayCoordinator.js +23 -7
  748. package/dist/_utils/overlayCoordinator.js.map +1 -1
  749. package/dist/_utils/prefixCls.d.ts +3 -1
  750. package/dist/_utils/prefixCls.js.map +1 -1
  751. package/dist/_utils/reactNode.d.ts +3 -3
  752. package/dist/_utils/reactNode.js +3 -1
  753. package/dist/_utils/reactNode.js.map +1 -1
  754. package/dist/_utils/statusUtils.d.ts +1 -1
  755. package/dist/_utils/weakRefFallback.js.map +1 -1
  756. package/dist/governance/semantic.d.ts +1 -1
  757. package/dist/index.d.ts +1 -1
  758. package/dist/index.js +1 -1
  759. package/dist/lib/utils.js.map +1 -1
  760. package/dist/locale/default.d.ts +1 -2
  761. package/dist/locale/default.js.map +1 -1
  762. package/dist/locale/en_US.d.ts +1 -1
  763. package/dist/locale/en_US.js +1 -1
  764. package/dist/locale/en_US.js.map +1 -1
  765. package/dist/locale/zh_CN.d.ts +1 -1
  766. package/dist/locale/zh_CN.js +2 -2
  767. package/dist/locale/zh_CN.js.map +1 -1
  768. package/dist/message/index.js.map +1 -1
  769. package/dist/message.js +2 -0
  770. package/dist/notification/index.js.map +1 -1
  771. package/dist/notification.js +2 -0
  772. package/dist/theme/contract/baselineResolvedTokenValueManifest.d.ts +1 -1
  773. package/dist/theme/contract/controlStateColorArtifact.d.ts +1 -1
  774. package/dist/theme/contract/focusRingArtifact.d.ts +1 -1
  775. package/dist/theme/contract/shadowGeneratorSpecification.d.ts +1 -1
  776. package/dist/theme/contract/tokenCssBridge.d.ts +1 -1
  777. package/dist/theme/contract/tokenOutputContract.d.ts +1 -1
  778. package/dist/theme/contract/tokenOutputContract.js.map +1 -1
  779. package/dist/theme/generator/baselineTokenValueDelivery.d.ts +1 -1
  780. package/dist/theme/generator/generatorDiff.d.ts +1 -1
  781. package/dist/theme/generator/minimalAcceptedColorValues.d.ts +1 -1
  782. package/dist/theme/generator/neutralSourceResolver.d.ts +2 -2
  783. package/dist/theme/generator/neutralSourceValues.d.ts +3 -3
  784. package/dist/theme/governance/migrationMappingRegistry.js.map +1 -1
  785. package/dist/theme/governance/reviewGate.js.map +1 -1
  786. package/dist/theme/governance/semanticGovernanceContract.d.ts +1 -1
  787. package/dist/theme/governance/semanticGovernanceContract.js.map +1 -1
  788. package/dist/theme/governance/validateMigrationMapping.js.map +1 -1
  789. package/dist/theme/neutralSourceContract.js.map +1 -1
  790. package/dist/theme/runtime/colorValueMode/generated/darkBaselineDeclarations.d.ts +1 -1
  791. package/dist/theme/runtime/colorValueMode/generated/darkBaselineDeclarations.js.map +1 -1
  792. package/dist/theme/runtime/colorValueMode/generated/slateDarkDeclarations.d.ts +1 -1
  793. package/dist/theme/runtime/colorValueMode/generated/slateLightDeclarations.d.ts +1 -1
  794. package/dist/theme/runtime/colorValueMode/generated/stoneDarkDeclarations.d.ts +1 -1
  795. package/dist/theme/runtime/colorValueMode/generated/stoneLightDeclarations.d.ts +1 -1
  796. package/dist/theme/runtime/colorValueMode/generated/v3BaselineDeclarations.d.ts +1 -1
  797. package/dist/theme/runtime/colorValueMode/generated/v3BaselineDeclarations.js.map +1 -1
  798. package/dist/theme/runtime/colorValueMode/index.js.map +1 -1
  799. package/dist/theme/runtime/colorValueMode/legacyNeutralCompatibility.d.ts +1 -1
  800. package/dist/theme/runtime/colorValueMode/legacyNeutralCompatibility.js.map +1 -1
  801. package/dist/theme/runtime/colorValueMode/registry.d.ts +1 -1
  802. package/dist/theme/runtime/colorValueMode/registry.js.map +1 -1
  803. package/dist/theme/runtime/colorValueMode.d.ts +0 -1
  804. package/dist/theme/runtime/colorValueMode.js +1 -0
  805. package/dist/theme/runtime/createTheme.js.map +1 -1
  806. package/dist/theme/runtime/defaultTheme.js.map +1 -1
  807. package/dist/theme/runtime/initAldTheme.js.map +1 -1
  808. package/dist/theme/runtime/integrationController.d.ts +1 -1
  809. package/dist/theme/runtime/neutralSource/index.d.ts +2 -2
  810. package/dist/theme/runtime/neutralSource/index.js.map +1 -1
  811. package/dist/theme/runtime/neutralSource.d.ts +0 -1
  812. package/dist/theme/runtime/neutralSource.js +1 -0
  813. package/dist/theme/runtime/runtimeAdapter.d.ts +1 -1
  814. package/dist/theme/runtime/themeToCssVars.js.map +1 -1
  815. package/dist/theme/runtime/tokenMap.js.map +1 -1
  816. package/dist/theme/typography.d.ts +0 -1
  817. package/dist/theme/typography.js +1 -0
  818. package/dist/theme.d.ts +0 -1
  819. package/dist/theme.js +1 -0
  820. package/package.json +53 -25
@@ -1 +1 @@
1
- {"version":3,"file":"useUserGroupCandidates.js","names":[],"sources":["../../../src/MemberPicker/dialog/useUserGroupCandidates.ts"],"sourcesContent":["import useDialogLocale from './useDialogLocale';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport ConfigProvider from '../../ConfigProvider';\nimport type {\n IUserGroup,\n MemberGroupPageRequest,\n MemberGroupPage,\n} from '../../ConfigProvider/getUserList';\nimport { hasMoreGroupPages, mergeGroupPages } from './helper';\nimport {\n ROOT_GROUP_CACHE_KEY,\n type IGroupLevelCache,\n type IGroupSearchState,\n} from './types';\n\nconst GROUP_PAGE_SIZE = 100;\nconst SEARCH_DEBOUNCE_MS = 300;\nconst ROOT_BREADCRUMB_INDEX = -1;\n\nconst createEmptyLevel = (parentGroupId?: string): IGroupLevelCache => ({\n parentGroupId,\n items: [],\n pageNumber: 0,\n hasMore: false,\n scrollTop: 0,\n loadingMore: false,\n loadMoreError: false,\n});\n\nconst createEmptySearchState = (keyword = ''): IGroupSearchState => ({\n keyword,\n items: [],\n pageNumber: 0,\n hasMore: false,\n loading: false,\n loadingMore: false,\n error: false,\n loadMoreError: false,\n});\n\nconst getLevelKey = (parentGroupId?: string): string =>\n parentGroupId ?? ROOT_GROUP_CACHE_KEY;\n\nexport interface IUserGroupCandidatesResult {\n breadcrumbPath: IUserGroup[];\n items: IUserGroup[];\n keyword: string;\n pathWarningCode?: string | null;\n truncated?: boolean;\n loading: boolean;\n loadingMore: boolean;\n error: boolean;\n loadMoreError: boolean;\n hasMore: boolean;\n /** 当前层已保存的滚动位置,供候选面板在层级切换后恢复。 */\n scrollTop: number;\n setKeyword: (keyword: string) => void;\n enterGroup: (group: IUserGroup, scrollTop: number) => void;\n returnToBreadcrumb: (index: number, scrollTop: number) => void;\n loadMore: () => void;\n retry: () => void;\n retryLoadMore: () => void;\n updateScrollTop: (scrollTop: number) => void;\n}\n\n/**\n * 管理受限用户组树与跨层搜索。\n *\n * 树层级缓存和搜索结果分别持有;所有异步响应都受版本号保护,关闭弹窗、\n * 换词、清空或切换层级后,旧响应只能结束自身,不能覆盖当前界面。\n */\nexport function useUserGroupCandidates(): IUserGroupCandidatesResult {\n const t = useDialogLocale();\n const {\n getMemberPickerGroupPage,\n getNextLevelGroup,\n getNextLevelGroupWithMeta,\n } = ConfigProvider.useGetUserList();\n const queryUserGroupsPage = useCallback(\n async (request: MemberGroupPageRequest): Promise<MemberGroupPage> => {\n if (getMemberPickerGroupPage) return getMemberPickerGroupPage(request);\n const params = {\n parentGroupId: request.parentGroupId,\n keyword: request.keyword ?? '',\n };\n if (getNextLevelGroupWithMeta) {\n const result = await getNextLevelGroupWithMeta(params);\n // 旧接口没有页码能力:保留截断提示,不反复获取同一页。\n return {\n data: result.items,\n pageNumber: request.pager.pageNumber,\n hasMore: false,\n pathWarningCode: result.pathWarningCode,\n truncated: result.hasMore,\n };\n }\n if (getNextLevelGroup)\n return {\n data: await getNextLevelGroup(params),\n pageNumber: request.pager.pageNumber,\n hasMore: false,\n };\n throw new Error(t.MemberPickerDialog.missingGroupSource);\n },\n [\n getMemberPickerGroupPage,\n getNextLevelGroup,\n getNextLevelGroupWithMeta,\n t.MemberPickerDialog.missingGroupSource,\n ],\n );\n const [breadcrumbPath, setBreadcrumbPath] = useState<IUserGroup[]>([]);\n const breadcrumbPathRef = useRef<IUserGroup[]>([]);\n const [levelsByParent, setLevelsByParent] = useState<\n Map<string, IGroupLevelCache>\n >(new Map());\n const levelsByParentRef = useRef(levelsByParent);\n const activeParentGroupIdRef = useRef<string>();\n const [treeLoading, setTreeLoading] = useState(true);\n const [treeError, setTreeError] = useState(false);\n const [keyword, setKeywordState] = useState('');\n const keywordRef = useRef('');\n const [searchState, setSearchState] = useState<IGroupSearchState>(() =>\n createEmptySearchState(),\n );\n const searchStateRef = useRef(searchState);\n const requestVersionRef = useRef(0);\n const mountedRef = useRef(true);\n const searchEffectInitializedRef = useRef(false);\n\n const updateLevels = useCallback(\n (\n updater: (\n levels: Map<string, IGroupLevelCache>,\n ) => Map<string, IGroupLevelCache>,\n ) => {\n setLevelsByParent((currentLevels) => {\n const nextLevels = updater(currentLevels);\n levelsByParentRef.current = nextLevels;\n return nextLevels;\n });\n },\n [],\n );\n\n // 切层或转搜索会废弃当前请求,同时释放缓存层的分页锁,返回该层仍可继续加载。\n const cancelTreePagination = useCallback(() => {\n updateLevels(\n (levels) =>\n new Map(\n Array.from(levels, ([key, level]) => [\n key,\n level.loadingMore ? { ...level, loadingMore: false } : level,\n ]),\n ),\n );\n }, [updateLevels]);\n\n const updateSearchState = useCallback(\n (updater: (state: IGroupSearchState) => IGroupSearchState) => {\n setSearchState((currentState) => {\n const nextState = updater(currentState);\n searchStateRef.current = nextState;\n return nextState;\n });\n },\n [],\n );\n\n const isCurrentRequest = useCallback(\n (version: number): boolean =>\n mountedRef.current && requestVersionRef.current === version,\n [],\n );\n\n const loadTreeFirstPage = useCallback(\n (parentGroupId?: string) => {\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n setTreeLoading(true);\n setTreeError(false);\n queryUserGroupsPage({\n parentGroupId,\n keyword: undefined,\n pager: { pageNumber: 1, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateLevels((currentLevels) => {\n const key = getLevelKey(parentGroupId);\n const previousLevel = currentLevels.get(key);\n return new Map(currentLevels).set(key, {\n parentGroupId,\n items: [...page.data],\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: page.pathWarningCode,\n truncated: page.truncated,\n scrollTop: previousLevel?.scrollTop ?? 0,\n loadingMore: false,\n loadMoreError: false,\n });\n });\n setTreeLoading(false);\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n setTreeLoading(false);\n setTreeError(true);\n });\n },\n [isCurrentRequest, queryUserGroupsPage, updateLevels],\n );\n\n useEffect(() => {\n mountedRef.current = true;\n loadTreeFirstPage();\n return () => {\n mountedRef.current = false;\n requestVersionRef.current += 1;\n };\n }, [loadTreeFirstPage]);\n\n useEffect(() => {\n if (!searchEffectInitializedRef.current) {\n searchEffectInitializedRef.current = true;\n return undefined;\n }\n\n const normalizedKeyword = keyword.trim();\n cancelTreePagination();\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n if (!normalizedKeyword) {\n updateSearchState(() => createEmptySearchState(keyword));\n const activeKey = getLevelKey(activeParentGroupIdRef.current);\n if (!levelsByParentRef.current.has(activeKey)) {\n loadTreeFirstPage(activeParentGroupIdRef.current);\n } else {\n setTreeLoading(false);\n setTreeError(false);\n }\n return undefined;\n }\n\n updateSearchState(() => ({\n ...createEmptySearchState(normalizedKeyword),\n loading: true,\n }));\n const timer = window.setTimeout(() => {\n queryUserGroupsPage({\n parentGroupId: undefined,\n keyword: normalizedKeyword,\n pager: { pageNumber: 1, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((currentState) => ({\n ...currentState,\n keyword: normalizedKeyword,\n items: [...page.data],\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: page.pathWarningCode,\n truncated: page.truncated,\n loading: false,\n error: false,\n }));\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((currentState) => ({\n ...currentState,\n loading: false,\n error: true,\n }));\n });\n }, SEARCH_DEBOUNCE_MS);\n\n return () => window.clearTimeout(timer);\n }, [\n cancelTreePagination,\n isCurrentRequest,\n keyword,\n loadTreeFirstPage,\n queryUserGroupsPage,\n updateSearchState,\n ]);\n\n const updateCurrentLevel = useCallback(\n (updater: (level: IGroupLevelCache) => IGroupLevelCache) => {\n const parentGroupId = activeParentGroupIdRef.current;\n const key = getLevelKey(parentGroupId);\n updateLevels((currentLevels) => {\n const level = currentLevels.get(key) ?? createEmptyLevel(parentGroupId);\n return new Map(currentLevels).set(key, updater(level));\n });\n },\n [updateLevels],\n );\n\n const updateScrollTop = useCallback(\n (scrollTop: number) => {\n updateCurrentLevel((level) => ({ ...level, scrollTop }));\n },\n [updateCurrentLevel],\n );\n\n const enterGroup = useCallback(\n (group: IUserGroup, scrollTop: number) => {\n updateScrollTop(scrollTop);\n cancelTreePagination();\n const nextBreadcrumbPath = [...breadcrumbPathRef.current, group];\n breadcrumbPathRef.current = nextBreadcrumbPath;\n setBreadcrumbPath(nextBreadcrumbPath);\n activeParentGroupIdRef.current = group.groupId;\n const nextKey = getLevelKey(group.groupId);\n requestVersionRef.current += 1;\n if (levelsByParentRef.current.has(nextKey)) {\n setTreeLoading(false);\n setTreeError(false);\n return;\n }\n loadTreeFirstPage(group.groupId);\n },\n [cancelTreePagination, loadTreeFirstPage, updateScrollTop],\n );\n\n const returnToBreadcrumb = useCallback(\n (index: number, scrollTop: number) => {\n updateScrollTop(scrollTop);\n cancelTreePagination();\n const currentPath = breadcrumbPathRef.current;\n const nextPath =\n index === ROOT_BREADCRUMB_INDEX ? [] : currentPath.slice(0, index + 1);\n const parentGroupId = nextPath[nextPath.length - 1]?.groupId;\n breadcrumbPathRef.current = nextPath;\n setBreadcrumbPath(nextPath);\n activeParentGroupIdRef.current = parentGroupId;\n requestVersionRef.current += 1;\n const targetKey = getLevelKey(parentGroupId);\n if (levelsByParentRef.current.has(targetKey)) {\n setTreeLoading(false);\n setTreeError(false);\n return;\n }\n loadTreeFirstPage(parentGroupId);\n },\n [cancelTreePagination, loadTreeFirstPage, updateScrollTop],\n );\n\n const loadTreeMore = useCallback(() => {\n const parentGroupId = activeParentGroupIdRef.current;\n const key = getLevelKey(parentGroupId);\n const level = levelsByParentRef.current.get(key);\n if (!level || !level.hasMore || level.loadingMore) {\n return;\n }\n const nextPageNumber = level.pageNumber + 1;\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n updateCurrentLevel((currentLevel) => ({\n ...currentLevel,\n loadingMore: true,\n loadMoreError: false,\n }));\n queryUserGroupsPage({\n parentGroupId,\n keyword: undefined,\n pager: { pageNumber: nextPageNumber, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateCurrentLevel((currentLevel) => ({\n ...currentLevel,\n items: mergeGroupPages(currentLevel.items, page.data),\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: currentLevel.pathWarningCode || page.pathWarningCode,\n truncated: currentLevel.truncated || page.truncated,\n loadingMore: false,\n loadMoreError: false,\n }));\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateCurrentLevel((currentLevel) => ({\n ...currentLevel,\n loadingMore: false,\n loadMoreError: true,\n }));\n });\n }, [isCurrentRequest, queryUserGroupsPage, updateCurrentLevel]);\n\n const loadSearchMore = useCallback(() => {\n const currentSearch = searchStateRef.current;\n const normalizedKeyword = keywordRef.current.trim();\n if (\n !normalizedKeyword ||\n currentSearch.loading ||\n !currentSearch.hasMore ||\n currentSearch.loadingMore\n ) {\n return;\n }\n const nextPageNumber = currentSearch.pageNumber + 1;\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n updateSearchState((state) => ({\n ...state,\n loadingMore: true,\n loadMoreError: false,\n }));\n queryUserGroupsPage({\n parentGroupId: undefined,\n keyword: normalizedKeyword,\n pager: { pageNumber: nextPageNumber, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((state) => ({\n ...state,\n items: mergeGroupPages(state.items, page.data),\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: state.pathWarningCode || page.pathWarningCode,\n truncated: state.truncated || page.truncated,\n loadingMore: false,\n loadMoreError: false,\n }));\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((state) => ({\n ...state,\n loadingMore: false,\n loadMoreError: true,\n }));\n });\n }, [isCurrentRequest, queryUserGroupsPage, updateSearchState]);\n\n const setKeyword = useCallback((nextKeyword: string) => {\n keywordRef.current = nextKeyword;\n setKeywordState(nextKeyword);\n }, []);\n\n const isSearching = keyword.trim().length > 0;\n const loadMore = useCallback(() => {\n if (keywordRef.current.trim()) {\n loadSearchMore();\n return;\n }\n loadTreeMore();\n }, [loadSearchMore, loadTreeMore]);\n\n const retry = useCallback(() => {\n const normalizedKeyword = keywordRef.current.trim();\n if (normalizedKeyword) {\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n updateSearchState((state) => ({\n ...state,\n loading: true,\n loadingMore: false,\n loadMoreError: false,\n hasMore: false,\n error: false,\n }));\n queryUserGroupsPage({\n parentGroupId: undefined,\n keyword: normalizedKeyword,\n pager: { pageNumber: 1, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((state) => ({\n ...state,\n items: [...page.data],\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: page.pathWarningCode,\n truncated: page.truncated,\n loading: false,\n error: false,\n }));\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((state) => ({\n ...state,\n loading: false,\n error: true,\n }));\n });\n return;\n }\n loadTreeFirstPage(activeParentGroupIdRef.current);\n }, [\n isCurrentRequest,\n loadTreeFirstPage,\n queryUserGroupsPage,\n updateSearchState,\n ]);\n\n const currentLevel = useMemo(\n () => levelsByParent.get(getLevelKey(activeParentGroupIdRef.current)),\n [levelsByParent],\n );\n\n return {\n breadcrumbPath,\n pathWarningCode: isSearching\n ? searchState.pathWarningCode\n : currentLevel?.pathWarningCode,\n truncated: isSearching ? searchState.truncated : currentLevel?.truncated,\n items: isSearching ? searchState.items : currentLevel?.items ?? [],\n keyword,\n loading: isSearching ? searchState.loading : treeLoading,\n loadingMore: isSearching\n ? searchState.loadingMore\n : currentLevel?.loadingMore ?? false,\n error: isSearching ? searchState.error : treeError,\n loadMoreError: isSearching\n ? searchState.loadMoreError\n : currentLevel?.loadMoreError ?? false,\n hasMore: isSearching ? searchState.hasMore : currentLevel?.hasMore ?? false,\n scrollTop: currentLevel?.scrollTop ?? 0,\n setKeyword,\n enterGroup,\n returnToBreadcrumb,\n loadMore,\n retry,\n retryLoadMore: loadMore,\n updateScrollTop,\n };\n}\n"],"mappings":";;;;;;AAeA,IAAM,kBAAkB;AACxB,IAAM,qBAAqB;AAC3B,IAAM,wBAAwB;AAE9B,IAAM,oBAAoB,mBAA8C;CACtE;CACA,OAAO,EAAE;CACT,YAAY;CACZ,SAAS;CACT,WAAW;CACX,aAAa;CACb,eAAe;CAChB;AAED,IAAM,0BAA0B,UAAU,QAA2B;CACnE;CACA,OAAO,EAAE;CACT,YAAY;CACZ,SAAS;CACT,SAAS;CACT,aAAa;CACb,OAAO;CACP,eAAe;CAChB;AAED,IAAM,eAAe,kBACnB,iBAAA;;;;;;;AA8BF,SAAgB,yBAAqD;CACnE,MAAM,IAAI,iBAAiB;CAC3B,MAAM,EACJ,0BACA,mBACA,8BACE,wBAAe,gBAAgB;CACnC,MAAM,sBAAsB,YAC1B,OAAO,YAA8D;AACnE,MAAI,yBAA0B,QAAO,yBAAyB,QAAQ;EACtE,MAAM,SAAS;GACb,eAAe,QAAQ;GACvB,SAAS,QAAQ,WAAW;GAC7B;AACD,MAAI,2BAA2B;GAC7B,MAAM,SAAS,MAAM,0BAA0B,OAAO;AAEtD,UAAO;IACL,MAAM,OAAO;IACb,YAAY,QAAQ,MAAM;IAC1B,SAAS;IACT,iBAAiB,OAAO;IACxB,WAAW,OAAO;IACnB;;AAEH,MAAI,kBACF,QAAO;GACL,MAAM,MAAM,kBAAkB,OAAO;GACrC,YAAY,QAAQ,MAAM;GAC1B,SAAS;GACV;AACH,QAAM,IAAI,MAAM,EAAE,mBAAmB,mBAAmB;IAE1D;EACE;EACA;EACA;EACA,EAAE,mBAAmB;EACtB,CACF;CACD,MAAM,CAAC,gBAAgB,qBAAqB,SAAuB,EAAE,CAAC;CACtE,MAAM,oBAAoB,OAAqB,EAAE,CAAC;CAClD,MAAM,CAAC,gBAAgB,qBAAqB,yBAE1C,IAAI,KAAK,CAAC;CACZ,MAAM,oBAAoB,OAAO,eAAe;CAChD,MAAM,yBAAyB,QAAgB;CAC/C,MAAM,CAAC,aAAa,kBAAkB,SAAS,KAAK;CACpD,MAAM,CAAC,WAAW,gBAAgB,SAAS,MAAM;CACjD,MAAM,CAAC,SAAS,mBAAmB,SAAS,GAAG;CAC/C,MAAM,aAAa,OAAO,GAAG;CAC7B,MAAM,CAAC,aAAa,kBAAkB,eACpC,wBAAwB,CACzB;CACD,MAAM,iBAAiB,OAAO,YAAY;CAC1C,MAAM,oBAAoB,OAAO,EAAE;CACnC,MAAM,aAAa,OAAO,KAAK;CAC/B,MAAM,6BAA6B,OAAO,MAAM;CAEhD,MAAM,eAAe,aAEjB,YAGG;AACH,qBAAmB,kBAAkB;GACnC,MAAM,aAAa,QAAQ,cAAc;AACzC,qBAAkB,UAAU;AAC5B,UAAO;IACP;IAEJ,EAAE,CACH;CAGD,MAAM,uBAAuB,kBAAkB;AAC7C,gBACG,WACC,IAAI,IACF,MAAM,KAAK,SAAS,CAAC,KAAK,WAAW,CACnC,KACA,MAAM,cAAc;GAAE,GAAG;GAAO,aAAa;GAAO,GAAG,MACxD,CAAC,CACH,CACJ;IACA,CAAC,aAAa,CAAC;CAElB,MAAM,oBAAoB,aACvB,YAA6D;AAC5D,kBAAgB,iBAAiB;GAC/B,MAAM,YAAY,QAAQ,aAAa;AACvC,kBAAe,UAAU;AACzB,UAAO;IACP;IAEJ,EAAE,CACH;CAED,MAAM,mBAAmB,aACtB,YACC,WAAW,WAAW,kBAAkB,YAAY,SACtD,EAAE,CACH;CAED,MAAM,oBAAoB,aACvB,kBAA2B;EAC1B,MAAM,UAAU,kBAAkB,UAAU;AAC5C,oBAAkB,UAAU;AAC5B,iBAAe,KAAK;AACpB,eAAa,MAAM;AACnB,sBAAoB;GAClB;GACA,SAAS;GACT,OAAO;IAAE,YAAY;IAAG,UAAU;IAAiB;GACpD,CAAC,CACC,MAAM,SAAS;AACd,OAAI,CAAC,iBAAiB,QAAQ,CAC5B;AAEF,iBAAc,kBAAkB;IAC9B,MAAM,MAAM,YAAY,cAAc;IACtC,MAAM,gBAAgB,cAAc,IAAI,IAAI;AAC5C,WAAO,IAAI,IAAI,cAAc,CAAC,IAAI,KAAK;KACrC;KACA,OAAO,CAAC,GAAG,KAAK,KAAK;KACrB,YAAY,KAAK;KACjB,SAAS,kBAAkB,KAAK;KAChC,iBAAiB,KAAK;KACtB,WAAW,KAAK;KAChB,WAAW,eAAe,aAAa;KACvC,aAAa;KACb,eAAe;KAChB,CAAC;KACF;AACF,kBAAe,MAAM;IACrB,CACD,YAAY;AACX,OAAI,CAAC,iBAAiB,QAAQ,CAC5B;AAEF,kBAAe,MAAM;AACrB,gBAAa,KAAK;IAClB;IAEN;EAAC;EAAkB;EAAqB;EAAa,CACtD;AAED,iBAAgB;AACd,aAAW,UAAU;AACrB,qBAAmB;AACnB,eAAa;AACX,cAAW,UAAU;AACrB,qBAAkB,WAAW;;IAE9B,CAAC,kBAAkB,CAAC;AAEvB,iBAAgB;AACd,MAAI,CAAC,2BAA2B,SAAS;AACvC,8BAA2B,UAAU;AACrC;;EAGF,MAAM,oBAAoB,QAAQ,MAAM;AACxC,wBAAsB;EACtB,MAAM,UAAU,kBAAkB,UAAU;AAC5C,oBAAkB,UAAU;AAC5B,MAAI,CAAC,mBAAmB;AACtB,2BAAwB,uBAAuB,QAAQ,CAAC;GACxD,MAAM,YAAY,YAAY,uBAAuB,QAAQ;AAC7D,OAAI,CAAC,kBAAkB,QAAQ,IAAI,UAAU,CAC3C,mBAAkB,uBAAuB,QAAQ;QAC5C;AACL,mBAAe,MAAM;AACrB,iBAAa,MAAM;;AAErB;;AAGF,2BAAyB;GACvB,GAAG,uBAAuB,kBAAkB;GAC5C,SAAS;GACV,EAAE;EACH,MAAM,QAAQ,OAAO,iBAAiB;AACpC,uBAAoB;IAClB,eAAe;IACf,SAAS;IACT,OAAO;KAAE,YAAY;KAAG,UAAU;KAAiB;IACpD,CAAC,CACC,MAAM,SAAS;AACd,QAAI,CAAC,iBAAiB,QAAQ,CAC5B;AAEF,uBAAmB,kBAAkB;KACnC,GAAG;KACH,SAAS;KACT,OAAO,CAAC,GAAG,KAAK,KAAK;KACrB,YAAY,KAAK;KACjB,SAAS,kBAAkB,KAAK;KAChC,iBAAiB,KAAK;KACtB,WAAW,KAAK;KAChB,SAAS;KACT,OAAO;KACR,EAAE;KACH,CACD,YAAY;AACX,QAAI,CAAC,iBAAiB,QAAQ,CAC5B;AAEF,uBAAmB,kBAAkB;KACnC,GAAG;KACH,SAAS;KACT,OAAO;KACR,EAAE;KACH;KACH,mBAAmB;AAEtB,eAAa,OAAO,aAAa,MAAM;IACtC;EACD;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,qBAAqB,aACxB,YAA2D;EAC1D,MAAM,gBAAgB,uBAAuB;EAC7C,MAAM,MAAM,YAAY,cAAc;AACtC,gBAAc,kBAAkB;GAC9B,MAAM,QAAQ,cAAc,IAAI,IAAI,IAAI,iBAAiB,cAAc;AACvE,UAAO,IAAI,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,MAAM,CAAC;IACtD;IAEJ,CAAC,aAAa,CACf;CAED,MAAM,kBAAkB,aACrB,cAAsB;AACrB,sBAAoB,WAAW;GAAE,GAAG;GAAO;GAAW,EAAE;IAE1D,CAAC,mBAAmB,CACrB;CAED,MAAM,aAAa,aAChB,OAAmB,cAAsB;AACxC,kBAAgB,UAAU;AAC1B,wBAAsB;EACtB,MAAM,qBAAqB,CAAC,GAAG,kBAAkB,SAAS,MAAM;AAChE,oBAAkB,UAAU;AAC5B,oBAAkB,mBAAmB;AACrC,yBAAuB,UAAU,MAAM;EACvC,MAAM,UAAU,YAAY,MAAM,QAAQ;AAC1C,oBAAkB,WAAW;AAC7B,MAAI,kBAAkB,QAAQ,IAAI,QAAQ,EAAE;AAC1C,kBAAe,MAAM;AACrB,gBAAa,MAAM;AACnB;;AAEF,oBAAkB,MAAM,QAAQ;IAElC;EAAC;EAAsB;EAAmB;EAAgB,CAC3D;CAED,MAAM,qBAAqB,aACxB,OAAe,cAAsB;AACpC,kBAAgB,UAAU;AAC1B,wBAAsB;EACtB,MAAM,cAAc,kBAAkB;EACtC,MAAM,WACJ,UAAU,wBAAwB,EAAE,GAAG,YAAY,MAAM,GAAG,QAAQ,EAAE;EACxE,MAAM,gBAAgB,SAAS,SAAS,SAAS,IAAI;AACrD,oBAAkB,UAAU;AAC5B,oBAAkB,SAAS;AAC3B,yBAAuB,UAAU;AACjC,oBAAkB,WAAW;EAC7B,MAAM,YAAY,YAAY,cAAc;AAC5C,MAAI,kBAAkB,QAAQ,IAAI,UAAU,EAAE;AAC5C,kBAAe,MAAM;AACrB,gBAAa,MAAM;AACnB;;AAEF,oBAAkB,cAAc;IAElC;EAAC;EAAsB;EAAmB;EAAgB,CAC3D;CAED,MAAM,eAAe,kBAAkB;EACrC,MAAM,gBAAgB,uBAAuB;EAC7C,MAAM,MAAM,YAAY,cAAc;EACtC,MAAM,QAAQ,kBAAkB,QAAQ,IAAI,IAAI;AAChD,MAAI,CAAC,SAAS,CAAC,MAAM,WAAW,MAAM,YACpC;EAEF,MAAM,iBAAiB,MAAM,aAAa;EAC1C,MAAM,UAAU,kBAAkB,UAAU;AAC5C,oBAAkB,UAAU;AAC5B,sBAAoB,kBAAkB;GACpC,GAAG;GACH,aAAa;GACb,eAAe;GAChB,EAAE;AACH,sBAAoB;GAClB;GACA,SAAS;GACT,OAAO;IAAE,YAAY;IAAgB,UAAU;IAAiB;GACjE,CAAC,CACC,MAAM,SAAS;AACd,OAAI,CAAC,iBAAiB,QAAQ,CAC5B;AAEF,uBAAoB,kBAAkB;IACpC,GAAG;IACH,OAAO,gBAAgB,aAAa,OAAO,KAAK,KAAK;IACrD,YAAY,KAAK;IACjB,SAAS,kBAAkB,KAAK;IAChC,iBAAiB,aAAa,mBAAmB,KAAK;IACtD,WAAW,aAAa,aAAa,KAAK;IAC1C,aAAa;IACb,eAAe;IAChB,EAAE;IACH,CACD,YAAY;AACX,OAAI,CAAC,iBAAiB,QAAQ,CAC5B;AAEF,uBAAoB,kBAAkB;IACpC,GAAG;IACH,aAAa;IACb,eAAe;IAChB,EAAE;IACH;IACH;EAAC;EAAkB;EAAqB;EAAmB,CAAC;CAE/D,MAAM,iBAAiB,kBAAkB;EACvC,MAAM,gBAAgB,eAAe;EACrC,MAAM,oBAAoB,WAAW,QAAQ,MAAM;AACnD,MACE,CAAC,qBACD,cAAc,WACd,CAAC,cAAc,WACf,cAAc,YAEd;EAEF,MAAM,iBAAiB,cAAc,aAAa;EAClD,MAAM,UAAU,kBAAkB,UAAU;AAC5C,oBAAkB,UAAU;AAC5B,qBAAmB,WAAW;GAC5B,GAAG;GACH,aAAa;GACb,eAAe;GAChB,EAAE;AACH,sBAAoB;GAClB,eAAe;GACf,SAAS;GACT,OAAO;IAAE,YAAY;IAAgB,UAAU;IAAiB;GACjE,CAAC,CACC,MAAM,SAAS;AACd,OAAI,CAAC,iBAAiB,QAAQ,CAC5B;AAEF,sBAAmB,WAAW;IAC5B,GAAG;IACH,OAAO,gBAAgB,MAAM,OAAO,KAAK,KAAK;IAC9C,YAAY,KAAK;IACjB,SAAS,kBAAkB,KAAK;IAChC,iBAAiB,MAAM,mBAAmB,KAAK;IAC/C,WAAW,MAAM,aAAa,KAAK;IACnC,aAAa;IACb,eAAe;IAChB,EAAE;IACH,CACD,YAAY;AACX,OAAI,CAAC,iBAAiB,QAAQ,CAC5B;AAEF,sBAAmB,WAAW;IAC5B,GAAG;IACH,aAAa;IACb,eAAe;IAChB,EAAE;IACH;IACH;EAAC;EAAkB;EAAqB;EAAkB,CAAC;CAE9D,MAAM,aAAa,aAAa,gBAAwB;AACtD,aAAW,UAAU;AACrB,kBAAgB,YAAY;IAC3B,EAAE,CAAC;CAEN,MAAM,cAAc,QAAQ,MAAM,CAAC,SAAS;CAC5C,MAAM,WAAW,kBAAkB;AACjC,MAAI,WAAW,QAAQ,MAAM,EAAE;AAC7B,mBAAgB;AAChB;;AAEF,gBAAc;IACb,CAAC,gBAAgB,aAAa,CAAC;CAElC,MAAM,QAAQ,kBAAkB;EAC9B,MAAM,oBAAoB,WAAW,QAAQ,MAAM;AACnD,MAAI,mBAAmB;GACrB,MAAM,UAAU,kBAAkB,UAAU;AAC5C,qBAAkB,UAAU;AAC5B,sBAAmB,WAAW;IAC5B,GAAG;IACH,SAAS;IACT,aAAa;IACb,eAAe;IACf,SAAS;IACT,OAAO;IACR,EAAE;AACH,uBAAoB;IAClB,eAAe;IACf,SAAS;IACT,OAAO;KAAE,YAAY;KAAG,UAAU;KAAiB;IACpD,CAAC,CACC,MAAM,SAAS;AACd,QAAI,CAAC,iBAAiB,QAAQ,CAC5B;AAEF,uBAAmB,WAAW;KAC5B,GAAG;KACH,OAAO,CAAC,GAAG,KAAK,KAAK;KACrB,YAAY,KAAK;KACjB,SAAS,kBAAkB,KAAK;KAChC,iBAAiB,KAAK;KACtB,WAAW,KAAK;KAChB,SAAS;KACT,OAAO;KACR,EAAE;KACH,CACD,YAAY;AACX,QAAI,CAAC,iBAAiB,QAAQ,CAC5B;AAEF,uBAAmB,WAAW;KAC5B,GAAG;KACH,SAAS;KACT,OAAO;KACR,EAAE;KACH;AACJ;;AAEF,oBAAkB,uBAAuB,QAAQ;IAChD;EACD;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,eAAe,cACb,eAAe,IAAI,YAAY,uBAAuB,QAAQ,CAAC,EACrE,CAAC,eAAe,CACjB;AAED,QAAO;EACL;EACA,iBAAiB,cACb,YAAY,kBACZ,cAAc;EAClB,WAAW,cAAc,YAAY,YAAY,cAAc;EAC/D,OAAO,cAAc,YAAY,QAAQ,cAAc,SAAS,EAAE;EAClE;EACA,SAAS,cAAc,YAAY,UAAU;EAC7C,aAAa,cACT,YAAY,cACZ,cAAc,eAAe;EACjC,OAAO,cAAc,YAAY,QAAQ;EACzC,eAAe,cACX,YAAY,gBACZ,cAAc,iBAAiB;EACnC,SAAS,cAAc,YAAY,UAAU,cAAc,WAAW;EACtE,WAAW,cAAc,aAAa;EACtC;EACA;EACA;EACA;EACA;EACA,eAAe;EACf;EACD"}
1
+ {"version":3,"file":"useUserGroupCandidates.js","names":["useDialogLocale","useCallback","useEffect","useMemo","useRef","useState","ConfigProvider","IUserGroup","MemberGroupPageRequest","MemberGroupPage","hasMoreGroupPages","mergeGroupPages","ROOT_GROUP_CACHE_KEY","IGroupLevelCache","IGroupSearchState","GROUP_PAGE_SIZE","SEARCH_DEBOUNCE_MS","ROOT_BREADCRUMB_INDEX","createEmptyLevel","parentGroupId","items","pageNumber","hasMore","scrollTop","loadingMore","loadMoreError","createEmptySearchState","keyword","loading","error","getLevelKey","IUserGroupCandidatesResult","breadcrumbPath","pathWarningCode","truncated","setKeyword","enterGroup","group","returnToBreadcrumb","index","loadMore","retry","retryLoadMore","updateScrollTop","useUserGroupCandidates","t","getMemberPickerGroupPage","getNextLevelGroup","getNextLevelGroupWithMeta","useGetUserList","queryUserGroupsPage","request","Promise","params","result","data","pager","Error","MemberPickerDialog","missingGroupSource","setBreadcrumbPath","breadcrumbPathRef","levelsByParent","setLevelsByParent","Map","levelsByParentRef","activeParentGroupIdRef","undefined","treeLoading","setTreeLoading","treeError","setTreeError","setKeywordState","keywordRef","searchState","setSearchState","searchStateRef","requestVersionRef","mountedRef","searchEffectInitializedRef","updateLevels","updater","levels","currentLevels","nextLevels","current","cancelTreePagination","Array","from","key","level","updateSearchState","state","currentState","nextState","isCurrentRequest","version","loadTreeFirstPage","pageSize","then","page","previousLevel","get","set","catch","normalizedKeyword","trim","activeKey","has","timer","window","setTimeout","clearTimeout","updateCurrentLevel","nextBreadcrumbPath","groupId","nextKey","currentPath","nextPath","slice","length","targetKey","loadTreeMore","nextPageNumber","currentLevel","loadSearchMore","currentSearch","nextKeyword","isSearching"],"sources":["../../../src/MemberPicker/dialog/useUserGroupCandidates.ts"],"sourcesContent":["import useDialogLocale from './useDialogLocale';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport ConfigProvider from '../../ConfigProvider';\nimport type {\n IUserGroup,\n MemberGroupPageRequest,\n MemberGroupPage,\n} from '../../ConfigProvider/getUserList';\nimport { hasMoreGroupPages, mergeGroupPages } from './helper';\nimport {\n ROOT_GROUP_CACHE_KEY,\n type IGroupLevelCache,\n type IGroupSearchState,\n} from './types';\n\nconst GROUP_PAGE_SIZE = 100;\nconst SEARCH_DEBOUNCE_MS = 300;\nconst ROOT_BREADCRUMB_INDEX = -1;\n\nconst createEmptyLevel = (parentGroupId?: string): IGroupLevelCache => ({\n parentGroupId,\n items: [],\n pageNumber: 0,\n hasMore: false,\n scrollTop: 0,\n loadingMore: false,\n loadMoreError: false,\n});\n\nconst createEmptySearchState = (keyword = ''): IGroupSearchState => ({\n keyword,\n items: [],\n pageNumber: 0,\n hasMore: false,\n loading: false,\n loadingMore: false,\n error: false,\n loadMoreError: false,\n});\n\nconst getLevelKey = (parentGroupId?: string): string =>\n parentGroupId ?? ROOT_GROUP_CACHE_KEY;\n\nexport interface IUserGroupCandidatesResult {\n breadcrumbPath: IUserGroup[];\n items: IUserGroup[];\n keyword: string;\n pathWarningCode?: string | null;\n truncated?: boolean;\n loading: boolean;\n loadingMore: boolean;\n error: boolean;\n loadMoreError: boolean;\n hasMore: boolean;\n /** 当前层已保存的滚动位置,供候选面板在层级切换后恢复。 */\n scrollTop: number;\n setKeyword: (keyword: string) => void;\n enterGroup: (group: IUserGroup, scrollTop: number) => void;\n returnToBreadcrumb: (index: number, scrollTop: number) => void;\n loadMore: () => void;\n retry: () => void;\n retryLoadMore: () => void;\n updateScrollTop: (scrollTop: number) => void;\n}\n\n/**\n * 管理受限用户组树与跨层搜索。\n *\n * 树层级缓存和搜索结果分别持有;所有异步响应都受版本号保护,关闭弹窗、\n * 换词、清空或切换层级后,旧响应只能结束自身,不能覆盖当前界面。\n */\nexport function useUserGroupCandidates(): IUserGroupCandidatesResult {\n const t = useDialogLocale();\n const {\n getMemberPickerGroupPage,\n getNextLevelGroup,\n getNextLevelGroupWithMeta,\n } = ConfigProvider.useGetUserList();\n const queryUserGroupsPage = useCallback(\n async (request: MemberGroupPageRequest): Promise<MemberGroupPage> => {\n if (getMemberPickerGroupPage) return getMemberPickerGroupPage(request);\n const params = {\n parentGroupId: request.parentGroupId,\n keyword: request.keyword ?? '',\n };\n if (getNextLevelGroupWithMeta) {\n const result = await getNextLevelGroupWithMeta(params);\n // 旧接口没有页码能力:保留截断提示,不反复获取同一页。\n return {\n data: result.items,\n pageNumber: request.pager.pageNumber,\n hasMore: false,\n pathWarningCode: result.pathWarningCode,\n truncated: result.hasMore,\n };\n }\n if (getNextLevelGroup)\n return {\n data: await getNextLevelGroup(params),\n pageNumber: request.pager.pageNumber,\n hasMore: false,\n };\n throw new Error(t.MemberPickerDialog.missingGroupSource);\n },\n [\n getMemberPickerGroupPage,\n getNextLevelGroup,\n getNextLevelGroupWithMeta,\n t.MemberPickerDialog.missingGroupSource,\n ],\n );\n const [breadcrumbPath, setBreadcrumbPath] = useState<IUserGroup[]>([]);\n const breadcrumbPathRef = useRef<IUserGroup[]>([]);\n const [levelsByParent, setLevelsByParent] = useState<\n Map<string, IGroupLevelCache>\n >(new Map());\n const levelsByParentRef = useRef(levelsByParent);\n const activeParentGroupIdRef = useRef<string | undefined>(undefined);\n const [treeLoading, setTreeLoading] = useState(true);\n const [treeError, setTreeError] = useState(false);\n const [keyword, setKeywordState] = useState('');\n const keywordRef = useRef('');\n const [searchState, setSearchState] = useState<IGroupSearchState>(() =>\n createEmptySearchState(),\n );\n const searchStateRef = useRef(searchState);\n const requestVersionRef = useRef(0);\n const mountedRef = useRef(true);\n const searchEffectInitializedRef = useRef(false);\n\n const updateLevels = useCallback(\n (\n updater: (\n levels: Map<string, IGroupLevelCache>,\n ) => Map<string, IGroupLevelCache>,\n ) => {\n setLevelsByParent((currentLevels) => {\n const nextLevels = updater(currentLevels);\n levelsByParentRef.current = nextLevels;\n return nextLevels;\n });\n },\n [],\n );\n\n // 切层或转搜索会废弃当前请求,同时释放缓存层的分页锁,返回该层仍可继续加载。\n const cancelTreePagination = useCallback(() => {\n updateLevels(\n (levels) =>\n new Map(\n Array.from(levels, ([key, level]) => [\n key,\n level.loadingMore ? { ...level, loadingMore: false } : level,\n ]),\n ),\n );\n }, [updateLevels]);\n\n const updateSearchState = useCallback(\n (updater: (state: IGroupSearchState) => IGroupSearchState) => {\n setSearchState((currentState) => {\n const nextState = updater(currentState);\n searchStateRef.current = nextState;\n return nextState;\n });\n },\n [],\n );\n\n const isCurrentRequest = useCallback(\n (version: number): boolean =>\n mountedRef.current && requestVersionRef.current === version,\n [],\n );\n\n const loadTreeFirstPage = useCallback(\n (parentGroupId?: string) => {\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n setTreeLoading(true);\n setTreeError(false);\n queryUserGroupsPage({\n parentGroupId,\n keyword: undefined,\n pager: { pageNumber: 1, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateLevels((currentLevels) => {\n const key = getLevelKey(parentGroupId);\n const previousLevel = currentLevels.get(key);\n return new Map(currentLevels).set(key, {\n parentGroupId,\n items: [...page.data],\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: page.pathWarningCode,\n truncated: page.truncated,\n scrollTop: previousLevel?.scrollTop ?? 0,\n loadingMore: false,\n loadMoreError: false,\n });\n });\n setTreeLoading(false);\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n setTreeLoading(false);\n setTreeError(true);\n });\n },\n [isCurrentRequest, queryUserGroupsPage, updateLevels],\n );\n\n useEffect(() => {\n mountedRef.current = true;\n loadTreeFirstPage();\n return () => {\n mountedRef.current = false;\n requestVersionRef.current += 1;\n };\n }, [loadTreeFirstPage]);\n\n useEffect(() => {\n if (!searchEffectInitializedRef.current) {\n searchEffectInitializedRef.current = true;\n return undefined;\n }\n\n const normalizedKeyword = keyword.trim();\n cancelTreePagination();\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n if (!normalizedKeyword) {\n updateSearchState(() => createEmptySearchState(keyword));\n const activeKey = getLevelKey(activeParentGroupIdRef.current);\n if (!levelsByParentRef.current.has(activeKey)) {\n loadTreeFirstPage(activeParentGroupIdRef.current);\n } else {\n setTreeLoading(false);\n setTreeError(false);\n }\n return undefined;\n }\n\n updateSearchState(() => ({\n ...createEmptySearchState(normalizedKeyword),\n loading: true,\n }));\n const timer = window.setTimeout(() => {\n queryUserGroupsPage({\n parentGroupId: undefined,\n keyword: normalizedKeyword,\n pager: { pageNumber: 1, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((currentState) => ({\n ...currentState,\n keyword: normalizedKeyword,\n items: [...page.data],\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: page.pathWarningCode,\n truncated: page.truncated,\n loading: false,\n error: false,\n }));\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((currentState) => ({\n ...currentState,\n loading: false,\n error: true,\n }));\n });\n }, SEARCH_DEBOUNCE_MS);\n\n return () => window.clearTimeout(timer);\n }, [\n cancelTreePagination,\n isCurrentRequest,\n keyword,\n loadTreeFirstPage,\n queryUserGroupsPage,\n updateSearchState,\n ]);\n\n const updateCurrentLevel = useCallback(\n (updater: (level: IGroupLevelCache) => IGroupLevelCache) => {\n const parentGroupId = activeParentGroupIdRef.current;\n const key = getLevelKey(parentGroupId);\n updateLevels((currentLevels) => {\n const level = currentLevels.get(key) ?? createEmptyLevel(parentGroupId);\n return new Map(currentLevels).set(key, updater(level));\n });\n },\n [updateLevels],\n );\n\n const updateScrollTop = useCallback(\n (scrollTop: number) => {\n updateCurrentLevel((level) => ({ ...level, scrollTop }));\n },\n [updateCurrentLevel],\n );\n\n const enterGroup = useCallback(\n (group: IUserGroup, scrollTop: number) => {\n updateScrollTop(scrollTop);\n cancelTreePagination();\n const nextBreadcrumbPath = [...breadcrumbPathRef.current, group];\n breadcrumbPathRef.current = nextBreadcrumbPath;\n setBreadcrumbPath(nextBreadcrumbPath);\n activeParentGroupIdRef.current = group.groupId;\n const nextKey = getLevelKey(group.groupId);\n requestVersionRef.current += 1;\n if (levelsByParentRef.current.has(nextKey)) {\n setTreeLoading(false);\n setTreeError(false);\n return;\n }\n loadTreeFirstPage(group.groupId);\n },\n [cancelTreePagination, loadTreeFirstPage, updateScrollTop],\n );\n\n const returnToBreadcrumb = useCallback(\n (index: number, scrollTop: number) => {\n updateScrollTop(scrollTop);\n cancelTreePagination();\n const currentPath = breadcrumbPathRef.current;\n const nextPath =\n index === ROOT_BREADCRUMB_INDEX ? [] : currentPath.slice(0, index + 1);\n const parentGroupId = nextPath[nextPath.length - 1]?.groupId;\n breadcrumbPathRef.current = nextPath;\n setBreadcrumbPath(nextPath);\n activeParentGroupIdRef.current = parentGroupId;\n requestVersionRef.current += 1;\n const targetKey = getLevelKey(parentGroupId);\n if (levelsByParentRef.current.has(targetKey)) {\n setTreeLoading(false);\n setTreeError(false);\n return;\n }\n loadTreeFirstPage(parentGroupId);\n },\n [cancelTreePagination, loadTreeFirstPage, updateScrollTop],\n );\n\n const loadTreeMore = useCallback(() => {\n const parentGroupId = activeParentGroupIdRef.current;\n const key = getLevelKey(parentGroupId);\n const level = levelsByParentRef.current.get(key);\n if (!level || !level.hasMore || level.loadingMore) {\n return;\n }\n const nextPageNumber = level.pageNumber + 1;\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n updateCurrentLevel((currentLevel) => ({\n ...currentLevel,\n loadingMore: true,\n loadMoreError: false,\n }));\n queryUserGroupsPage({\n parentGroupId,\n keyword: undefined,\n pager: { pageNumber: nextPageNumber, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateCurrentLevel((currentLevel) => ({\n ...currentLevel,\n items: mergeGroupPages(currentLevel.items, page.data),\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: currentLevel.pathWarningCode || page.pathWarningCode,\n truncated: currentLevel.truncated || page.truncated,\n loadingMore: false,\n loadMoreError: false,\n }));\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateCurrentLevel((currentLevel) => ({\n ...currentLevel,\n loadingMore: false,\n loadMoreError: true,\n }));\n });\n }, [isCurrentRequest, queryUserGroupsPage, updateCurrentLevel]);\n\n const loadSearchMore = useCallback(() => {\n const currentSearch = searchStateRef.current;\n const normalizedKeyword = keywordRef.current.trim();\n if (\n !normalizedKeyword ||\n currentSearch.loading ||\n !currentSearch.hasMore ||\n currentSearch.loadingMore\n ) {\n return;\n }\n const nextPageNumber = currentSearch.pageNumber + 1;\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n updateSearchState((state) => ({\n ...state,\n loadingMore: true,\n loadMoreError: false,\n }));\n queryUserGroupsPage({\n parentGroupId: undefined,\n keyword: normalizedKeyword,\n pager: { pageNumber: nextPageNumber, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((state) => ({\n ...state,\n items: mergeGroupPages(state.items, page.data),\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: state.pathWarningCode || page.pathWarningCode,\n truncated: state.truncated || page.truncated,\n loadingMore: false,\n loadMoreError: false,\n }));\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((state) => ({\n ...state,\n loadingMore: false,\n loadMoreError: true,\n }));\n });\n }, [isCurrentRequest, queryUserGroupsPage, updateSearchState]);\n\n const setKeyword = useCallback((nextKeyword: string) => {\n keywordRef.current = nextKeyword;\n setKeywordState(nextKeyword);\n }, []);\n\n const isSearching = keyword.trim().length > 0;\n const loadMore = useCallback(() => {\n if (keywordRef.current.trim()) {\n loadSearchMore();\n return;\n }\n loadTreeMore();\n }, [loadSearchMore, loadTreeMore]);\n\n const retry = useCallback(() => {\n const normalizedKeyword = keywordRef.current.trim();\n if (normalizedKeyword) {\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n updateSearchState((state) => ({\n ...state,\n loading: true,\n loadingMore: false,\n loadMoreError: false,\n hasMore: false,\n error: false,\n }));\n queryUserGroupsPage({\n parentGroupId: undefined,\n keyword: normalizedKeyword,\n pager: { pageNumber: 1, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((state) => ({\n ...state,\n items: [...page.data],\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: page.pathWarningCode,\n truncated: page.truncated,\n loading: false,\n error: false,\n }));\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((state) => ({\n ...state,\n loading: false,\n error: true,\n }));\n });\n return;\n }\n loadTreeFirstPage(activeParentGroupIdRef.current);\n }, [\n isCurrentRequest,\n loadTreeFirstPage,\n queryUserGroupsPage,\n updateSearchState,\n ]);\n\n const currentLevel = useMemo(\n () => levelsByParent.get(getLevelKey(activeParentGroupIdRef.current)),\n [levelsByParent],\n );\n\n return {\n breadcrumbPath,\n pathWarningCode: isSearching\n ? searchState.pathWarningCode\n : currentLevel?.pathWarningCode,\n truncated: isSearching ? searchState.truncated : currentLevel?.truncated,\n items: isSearching ? searchState.items : currentLevel?.items ?? [],\n keyword,\n loading: isSearching ? searchState.loading : treeLoading,\n loadingMore: isSearching\n ? searchState.loadingMore\n : currentLevel?.loadingMore ?? false,\n error: isSearching ? searchState.error : treeError,\n loadMoreError: isSearching\n ? searchState.loadMoreError\n : currentLevel?.loadMoreError ?? false,\n hasMore: isSearching ? searchState.hasMore : currentLevel?.hasMore ?? false,\n scrollTop: currentLevel?.scrollTop ?? 0,\n setKeyword,\n enterGroup,\n returnToBreadcrumb,\n loadMore,\n retry,\n retryLoadMore: loadMore,\n updateScrollTop,\n };\n}\n"],"mappings":"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"}
@@ -52,7 +52,7 @@ var Component = (props) => {
52
52
  ]);
53
53
  const queryByIds = useMemo(() => {
54
54
  if (getUsersByIds) return getUsersByIds;
55
- return (_params = {}) => Promise.reject({ message: t.MemberPicker.pleaseConfigGetUserByIdsMethod });
55
+ return (_params_0 = {}) => Promise.reject({ message: t.MemberPicker.pleaseConfigGetUserByIdsMethod });
56
56
  }, [getUsersByIds, t.MemberPicker.pleaseConfigGetUserByIdsMethod]);
57
57
  const { result: searchResult, loading, failed, retry } = useMemberSearch(queryByKeywords, searchString, dropdownOpen && !usesGroupQuery && !usesDialog);
58
58
  const searchUserList = searchResult.items;
@@ -63,8 +63,8 @@ var Component = (props) => {
63
63
  return _.uniqBy(totalUsers, (data) => {
64
64
  if (data.type === EUserType.USER) return data.userId;
65
65
  return data.groupId;
66
- }).filter((item) => {
67
- if (filterItem) return filterItem(item);
66
+ }).filter((item_0) => {
67
+ if (filterItem) return filterItem(item_0);
68
68
  return true;
69
69
  });
70
70
  }, [
@@ -87,17 +87,17 @@ var Component = (props) => {
87
87
  if (!Array.isArray(value)) param = [value];
88
88
  else param = value;
89
89
  queryByIds(param).then((result) => {
90
- const valueNotInResult = param.filter((item) => {
91
- if (item.type === EUserType.USER) return result.filter(isUser).every((user) => user.userId !== item.userId);
92
- return result.filter(isUserGroup).every((user) => user.groupId !== item.groupId);
93
- }).map((item) => {
94
- if (item.type === EUserType.USER) return {
90
+ const valueNotInResult = param.filter((item_1) => {
91
+ if (item_1.type === EUserType.USER) return result.filter(isUser).every((user) => user.userId !== item_1.userId);
92
+ return result.filter(isUserGroup).every((user_0) => user_0.groupId !== item_1.groupId);
93
+ }).map((item_2) => {
94
+ if (item_2.type === EUserType.USER) return {
95
95
  type: EUserType.USER,
96
- userId: item.userId
96
+ userId: item_2.userId
97
97
  };
98
98
  return {
99
99
  type: EUserType.USER_GROUP,
100
- groupId: item.groupId
100
+ groupId: item_2.groupId
101
101
  };
102
102
  });
103
103
  setSelectedUserList([...result, ...valueNotInResult]);
@@ -141,10 +141,10 @@ var Component = (props) => {
141
141
  };
142
142
  }
143
143
  }, [triggerRef, dropdownContentWidth]);
144
- const onDropdownOpenChange = useCallback((open) => {
144
+ const onDropdownOpenChange = useCallback((open_0) => {
145
145
  if (isDisabled) return;
146
- if (!usesDialog || typeof props.open !== "boolean") setDropdownOpen(open);
147
- onOpenChange?.(open);
146
+ if (!usesDialog || typeof props.open !== "boolean") setDropdownOpen(open_0);
147
+ onOpenChange?.(open_0);
148
148
  }, [
149
149
  isDisabled,
150
150
  usesDialog,
@@ -195,34 +195,34 @@ var Component = (props) => {
195
195
  "aria-activedescendant": selectOpen ? activeMemberId : void 0,
196
196
  size,
197
197
  className: cn("ald-member-picker-select", className),
198
- value: selectedUserList.map((item) => {
199
- if (item.type === EUserType.USER_GROUP) return item.groupId;
200
- else return item.userId;
198
+ value: selectedUserList.map((item_3) => {
199
+ if (item_3.type === EUserType.USER_GROUP) return item_3.groupId;
200
+ else return item_3.userId;
201
201
  }),
202
- onChange: (value) => {
203
- if (_.isEmpty(value)) {
202
+ onChange: (value_0) => {
203
+ if (_.isEmpty(value_0)) {
204
204
  setSelectedUserList([]);
205
205
  if (multiple) onChange?.([]);
206
206
  else onChange?.();
207
207
  } else {
208
- const valueList = Array.isArray(value) ? value : [value];
208
+ const valueList = Array.isArray(value_0) ? value_0 : [value_0];
209
209
  if (multiple) {
210
- const users = valueList.map((item) => {
211
- return totalUserList.find((user) => {
212
- if (user.type === EUserType.USER) return user.userId === item;
213
- return user.groupId === item;
210
+ const users_0 = valueList.map((item_4) => {
211
+ return totalUserList.find((user_1) => {
212
+ if (user_1.type === EUserType.USER) return user_1.userId === item_4;
213
+ return user_1.groupId === item_4;
214
214
  });
215
215
  }).filter(Boolean);
216
- setSelectedUserList(users);
217
- onChange?.(users);
216
+ setSelectedUserList(users_0);
217
+ onChange?.(users_0);
218
218
  } else {
219
- const user = totalUserList.find((user) => {
220
- if (user.type === EUserType.USER) return user.userId === value;
221
- return user.groupId === value;
219
+ const user_4 = totalUserList.find((user_3) => {
220
+ if (user_3.type === EUserType.USER) return user_3.userId === value_0;
221
+ return user_3.groupId === value_0;
222
222
  });
223
- if (user) {
224
- setSelectedUserList([user]);
225
- onChange?.(user);
223
+ if (user_4) {
224
+ setSelectedUserList([user_4]);
225
+ onChange?.(user_4);
226
226
  } else {
227
227
  setSelectedUserList([]);
228
228
  onChange?.();
@@ -240,30 +240,30 @@ var Component = (props) => {
240
240
  },
241
241
  popupClassName: cn("ald-member-picker-popup", allowOverlap && "ald-member-picker-popup-adaptive", props.popupClassName),
242
242
  mode,
243
- options: selectedUserList.map((item) => {
244
- if (item.type === EUserType.USER_GROUP) return {
245
- label: item.name || item.groupId,
246
- value: item.groupId,
243
+ options: selectedUserList.map((item_5) => {
244
+ if (item_5.type === EUserType.USER_GROUP) return {
245
+ label: item_5.name || item_5.groupId,
246
+ value: item_5.groupId,
247
247
  tag: /* @__PURE__ */ jsxs("div", {
248
248
  className: "ald-member-picker-tag",
249
249
  children: [/* @__PURE__ */ jsx(Avatar, {
250
250
  type: "team",
251
251
  size: 20,
252
- children: item.name || item.groupId
253
- }), item.name || item.groupId]
252
+ children: item_5.name || item_5.groupId
253
+ }), item_5.name || item_5.groupId]
254
254
  })
255
255
  };
256
256
  return {
257
- label: item.nickname || item.name || item.userId,
258
- value: item.userId,
257
+ label: item_5.nickname || item_5.name || item_5.userId,
258
+ value: item_5.userId,
259
259
  tag: /* @__PURE__ */ jsxs("div", {
260
260
  className: "ald-member-picker-tag",
261
261
  children: [/* @__PURE__ */ jsx(Avatar, {
262
262
  size: 20,
263
- src: item.photo,
264
- type: item.type === EUserType.USER ? "user" : "team",
265
- children: item.nickname || item.name || item.userId
266
- }), item.nickname || item.name || item.userId]
263
+ src: item_5.photo,
264
+ type: item_5.type === EUserType.USER ? "user" : "team",
265
+ children: item_5.nickname || item_5.name || item_5.userId
266
+ }), item_5.nickname || item_5.name || item_5.userId]
267
267
  })
268
268
  };
269
269
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/MemberPicker/index.tsx"],"sourcesContent":["import MemberPickerDialog from './dialog/MemberPickerDialog';\nimport DisabledContext from '../ConfigProvider/DisabledContext';\nimport useMemberSearch from './useMemberSearch';\nimport SearchFeedback from './components/SearchFeedback';\nimport { usePrevious } from 'ahooks';\nimport { cn } from '../lib/utils';\nimport _ from 'lodash';\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport Avatar from '../Avatar';\nimport ConfigProvider from '../ConfigProvider';\nimport './member-picker.css';\nimport {\n EUserType,\n IUser,\n IUserGroup,\n TUser,\n} from '../ConfigProvider/getUserList';\nimport { LocaleContext, getTranslator } from '../locale/default';\nimport Panel from './components/Panel';\nimport MemberPanel from './components/PanelWrapper';\nimport {\n EMemberPicker,\n IMemberPickerProps,\n TUserGroupValue,\n TUserValue,\n} from './interface';\nimport { getId } from './utils';\nimport { isUser, isUserGroup } from './utils/getUsersWithUserId';\nimport Select from '../Select';\nimport { Mode } from '../Select/BaseSelect';\n\nconst DEFAULT_MULTIPLE_DROPDOWN_WIDTH = 480;\n\nconst Component: React.FC<IMemberPickerProps> = (props) => {\n const { locale } = useContext(LocaleContext);\n const t = getTranslator(locale);\n\n const {\n value,\n type = EMemberPicker.USER,\n onChange,\n multiple,\n dropdownWidth,\n open,\n onOpenChange,\n placeholder = t.MemberPicker.select,\n className,\n allowClear,\n disabled,\n onClear,\n size,\n prefix: propPrefix,\n lockedIds = [],\n footer,\n onCancel,\n filterItem,\n mode: propsMode,\n renderItem,\n renderSelectedTag,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n ...restProps\n } = props;\n const allowOverlap = props.allowOverlap ?? false;\n const {\n getUsersByIds,\n getUsersByKeywords,\n getUsersByKeywordsWithMeta,\n getNextLevelGroup,\n getNextLevelGroupWithMeta,\n } = ConfigProvider.useGetUserList();\n const inheritedDisabled = useContext(DisabledContext);\n const isDisabled = disabled ?? inheritedDisabled;\n // 呈现方式由选择模式唯一决定,多选使用弹窗,单选保持浮窗。\n const usesDialog = !!multiple;\n const usesGroupQuery =\n (type === EMemberPicker.GROUP ||\n (!getUsersByKeywords && !getUsersByKeywordsWithMeta)) &&\n !!(getNextLevelGroup || getNextLevelGroupWithMeta);\n const [selectedUserList, setSelectedUserList] = useState<TUser>([]);\n const prevValue = usePrevious(value);\n const [searchString, setSearchString] = useState<string>('');\n const [dropdownContentWidth, setDropdownContentWidth] =\n useState(dropdownWidth);\n const selectOwnerRef = useRef<HTMLDivElement>(null);\n // 单选默认浮窗跟触发器等宽(true),调用方传 dropdownWidth 时用具体数字;\n // 多选默认 480,单条记录只有 头像+nickname 时触发器太窄装不下选中标签,故固定值。\n const panelWidth: number | boolean =\n dropdownWidth ?? (multiple ? DEFAULT_MULTIPLE_DROPDOWN_WIDTH : true);\n\n const triggerRef = useRef<HTMLDivElement>(null);\n const onSearchValueChange = useCallback((v: string) => {\n setSearchString(v);\n }, []);\n const [dropdownOpen, setDropdownOpen] = useState<boolean>(!!open);\n const queryByKeywords = useMemo(() => {\n if (getUsersByKeywordsWithMeta) return getUsersByKeywordsWithMeta;\n if (getUsersByKeywords) {\n return getUsersByKeywords;\n }\n\n return (_params = {}) =>\n Promise.reject({\n message: t.MemberPicker.pleaseConfigGetUserByKeywordsMethod,\n });\n }, [\n getUsersByKeywords,\n getUsersByKeywordsWithMeta,\n t.MemberPicker.pleaseConfigGetUserByKeywordsMethod,\n ]);\n const queryByIds = useMemo(() => {\n if (getUsersByIds) {\n return getUsersByIds;\n }\n\n return (_params = {}) =>\n Promise.reject({\n message: t.MemberPicker.pleaseConfigGetUserByIdsMethod,\n });\n }, [getUsersByIds, t.MemberPicker.pleaseConfigGetUserByIdsMethod]);\n const {\n result: searchResult,\n loading,\n failed,\n retry,\n } = useMemberSearch<IUser | IUserGroup>(\n queryByKeywords,\n searchString,\n dropdownOpen && !usesGroupQuery && !usesDialog,\n );\n const searchUserList = searchResult.items;\n\n const totalUserList: TUser = useMemo(() => {\n const totalUsers = searchUserList.concat(\n selectedUserList.filter((item) => {\n const name =\n (item.type === EUserType.USER ? item.nickname : item.name) || '';\n\n return name.toUpperCase().includes(searchString.trim().toUpperCase());\n }),\n );\n\n return _.uniqBy(totalUsers, (data: IUser | IUserGroup) => {\n if (data.type === EUserType.USER) return data.userId;\n\n return data.groupId;\n }).filter((item) => {\n if (filterItem) {\n return filterItem(item);\n }\n\n return true;\n });\n }, [filterItem, searchString, searchUserList, selectedUserList]);\n\n useEffect(() => {\n if (_.isEqual(value, prevValue)) {\n return;\n }\n if (Array.isArray(value) && (isUser(value[0]) || isUserGroup(value[0]))) {\n setSelectedUserList(value as TUser);\n } else if (isUser(value) || isUserGroup(value)) {\n setSelectedUserList([value]);\n } else {\n let param: Array<TUserValue | TUserGroupValue> = [];\n if (!value) return;\n if (Array.isArray(value) && value.length === 0) {\n setSelectedUserList([]);\n\n return;\n }\n if (!Array.isArray(value)) {\n param = [value];\n } else {\n param = value;\n }\n queryByIds(param).then((result) => {\n // 如果用户已被删除,则需要展示出id\n const valueNotInResult: TUser = param\n .filter((item) => {\n if (item.type === EUserType.USER) {\n return result\n .filter(isUser)\n .every((user) => user.userId !== item.userId);\n }\n\n return result\n .filter(isUserGroup)\n .every((user) => user.groupId !== item.groupId);\n })\n .map((item) => {\n if (item.type === EUserType.USER) {\n return {\n type: EUserType.USER,\n userId: item.userId,\n } as IUser;\n }\n\n return {\n type: EUserType.USER_GROUP,\n groupId: item.groupId,\n } as IUserGroup;\n });\n\n setSelectedUserList([...result, ...valueNotInResult]);\n });\n }\n }, [value, queryByIds, prevValue]);\n\n const onSelectedChange = useCallback(\n (users: TUser) => {\n if (multiple) {\n setSelectedUserList(users);\n onChange?.(users);\n } else {\n setSelectedUserList(users);\n onChange?.(users[0]);\n }\n setDropdownOpen(false);\n },\n [multiple, onChange, setDropdownOpen],\n );\n\n useEffect(() => {\n if (typeof open === 'boolean') {\n setDropdownOpen(open);\n }\n }, [open]);\n\n useEffect(() => {\n if (!dropdownContentWidth) {\n const resizeEle = triggerRef.current;\n if (!resizeEle) return;\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { width } = entry.contentRect;\n setDropdownContentWidth(width);\n }\n });\n resizeObserver.observe(resizeEle);\n\n return () => {\n resizeObserver.unobserve(resizeEle);\n };\n }\n }, [triggerRef, dropdownContentWidth]);\n const onDropdownOpenChange = useCallback(\n (open: boolean) => {\n if (isDisabled) return;\n if (!usesDialog || typeof props.open !== 'boolean') setDropdownOpen(open);\n onOpenChange?.(open);\n },\n [isDisabled, usesDialog, props.open, onOpenChange],\n );\n const mode = useMemo(() => {\n if (multiple === true) {\n if (typeof propsMode === 'object')\n return {\n ...(propsMode || {}),\n type: 'multiple',\n responsive: _.isNil(propsMode.responsive)\n ? true\n : propsMode.responsive,\n } as Mode;\n return {\n type: 'multiple',\n responsive: true,\n } as Mode;\n }\n\n return multiple ? (multiple as Mode) : propsMode;\n }, [multiple, propsMode]);\n\n const selectOpen = typeof open === 'boolean' ? open : dropdownOpen;\n const listboxId = `ald-member-picker-listbox-${React.useId().replace(\n /:/g,\n '',\n )}`;\n const activeMember = totalUserList[0];\n const activeMemberId = activeMember\n ? `ald-member-picker-option-${getId(activeMember)}`\n : undefined;\n\n useEffect(() => {\n const owner = selectOwnerRef.current?.querySelector<HTMLElement>(\n '[role=\"combobox\"], input',\n );\n if (!owner) return;\n owner.setAttribute('aria-controls', listboxId);\n if (selectOpen && activeMemberId) {\n owner.setAttribute('aria-activedescendant', activeMemberId);\n } else {\n owner.removeAttribute('aria-activedescendant');\n }\n }, [activeMemberId, listboxId, selectOpen]);\n\n return (\n <div ref={selectOwnerRef} style={{ display: 'contents' }}>\n <Select\n prefix={propPrefix}\n {...restProps}\n data-testid={dataTestId}\n aria-label={ariaLabel}\n showSearch={!usesDialog}\n searchValue={searchString}\n onSearch={onSearchValueChange}\n aria-controls={listboxId}\n aria-activedescendant={selectOpen ? activeMemberId : undefined}\n size={size}\n className={cn('ald-member-picker-select', className)}\n value={selectedUserList.map((item) => {\n if (item.type === EUserType.USER_GROUP) {\n return item.groupId;\n } else {\n return item.userId;\n }\n })}\n onChange={(value) => {\n if (_.isEmpty(value)) {\n setSelectedUserList([]);\n if (multiple) {\n onChange?.([]);\n } else {\n onChange?.();\n }\n } else {\n const valueList = Array.isArray(value) ? value : [value];\n if (multiple) {\n const users = valueList\n .map((item) => {\n const user = totalUserList.find((user) => {\n if (user.type === EUserType.USER) {\n return user.userId === item;\n }\n\n return user.groupId === item;\n });\n\n return user;\n })\n .filter(Boolean) as TUser;\n setSelectedUserList(users);\n onChange?.(users);\n } else {\n const user = totalUserList.find((user) => {\n if (user.type === EUserType.USER) {\n return user.userId === value;\n }\n\n return user.groupId === value;\n });\n if (user) {\n setSelectedUserList([user]);\n onChange?.(user);\n } else {\n setSelectedUserList([]);\n onChange?.();\n }\n }\n }\n }}\n disabled={isDisabled}\n allowClear={allowClear}\n onClear={() => {\n setSelectedUserList([]);\n if (multiple) {\n onChange?.([]);\n } else {\n onChange?.();\n }\n onClear?.();\n }}\n popupClassName={cn(\n 'ald-member-picker-popup',\n allowOverlap && 'ald-member-picker-popup-adaptive',\n props.popupClassName,\n )}\n mode={mode}\n options={selectedUserList.map((item) => {\n if (item.type === EUserType.USER_GROUP)\n return {\n label: item.name || item.groupId,\n value: item.groupId,\n tag: (\n <div className={'ald-member-picker-tag'}>\n <Avatar type=\"team\" size={20}>\n {item.name || item.groupId}\n </Avatar>\n {item.name || item.groupId}\n </div>\n ),\n };\n\n return {\n label: item.nickname || item.name || item.userId,\n value: item.userId,\n tag: (\n <div className={'ald-member-picker-tag'}>\n <Avatar\n size={20}\n src={item.photo}\n type={item.type === EUserType.USER ? 'user' : 'team'}\n >\n {item.nickname || item.name || item.userId}\n </Avatar>\n {item.nickname || item.name || item.userId}\n </div>\n ),\n };\n })}\n optionLabelProp={multiple ? 'label' : 'tag'}\n open={usesDialog ? false : selectOpen}\n onOpenChange={onDropdownOpenChange}\n popupMatchSelectWidth={panelWidth}\n allowOverlap={allowOverlap}\n placeholder={placeholder}\n dropdownRender={() => {\n return (\n <div\n ref={triggerRef}\n id={listboxId}\n role=\"group\"\n aria-label=\"Member selection results\"\n className={cn({\n 'ald-member-picker-popup-body': allowOverlap,\n })}\n >\n <Panel\n active={dropdownOpen}\n searchFailed={failed}\n useProvidedGroupSearch={\n type === EMemberPicker.BOTH && !usesGroupQuery\n }\n searchFeedback={\n !usesGroupQuery && (\n <SearchFeedback\n failed={failed}\n hasMore={searchResult.hasMore}\n pathWarningCode={searchResult.pathWarningCode}\n retry={retry}\n />\n )\n }\n type={type}\n footer={footer}\n value={selectedUserList}\n dataList={totalUserList}\n lockedIds={lockedIds}\n multiple={!!multiple}\n loading={loading}\n dropdownWidth={dropdownContentWidth}\n onSearchValueChange={onSearchValueChange}\n onChange={onSelectedChange}\n onCancel={() => {\n onCancel?.();\n setDropdownOpen(false);\n }}\n renderItem={renderItem}\n renderSelectedTag={renderSelectedTag}\n searchValue={searchString}\n ></Panel>\n </div>\n );\n }}\n ></Select>\n {usesDialog && !isDisabled && (\n <MemberPickerDialog\n open={selectOpen}\n value={value ?? selectedUserList}\n type={type}\n lockedIds={lockedIds}\n filterItem={filterItem}\n renderItem={renderItem}\n renderSelectedTag={renderSelectedTag}\n onChange={(members) => {\n setSelectedUserList(members);\n if (props.multiple) props.onChange?.(members);\n }}\n footer={footer}\n onCancel={onCancel}\n onClose={() => onDropdownOpenChange(false)}\n />\n )}\n </div>\n );\n};\n\nconst MemberSelector = Component as React.FC<IMemberPickerProps> & {\n MemberPanel: typeof MemberPanel;\n Dialog: typeof MemberPickerDialog;\n};\n\nMemberSelector.MemberPanel = MemberPanel;\nMemberSelector.Dialog = MemberPickerDialog;\nexport default MemberSelector;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["MemberPickerDialog","DisabledContext","useMemberSearch","SearchFeedback","usePrevious","cn","_","React","useCallback","useContext","useEffect","useMemo","useRef","useState","Avatar","ConfigProvider","EUserType","IUser","IUserGroup","TUser","LocaleContext","getTranslator","Panel","MemberPanel","EMemberPicker","IMemberPickerProps","TUserGroupValue","TUserValue","getId","isUser","isUserGroup","Select","Mode","DEFAULT_MULTIPLE_DROPDOWN_WIDTH","Component","FC","props","locale","t","value","type","USER","onChange","multiple","dropdownWidth","open","onOpenChange","placeholder","MemberPicker","select","className","allowClear","disabled","onClear","size","prefix","propPrefix","lockedIds","footer","onCancel","filterItem","mode","propsMode","renderItem","renderSelectedTag","dataTestId","ariaLabel","restProps","allowOverlap","getUsersByIds","getUsersByKeywords","getUsersByKeywordsWithMeta","getNextLevelGroup","getNextLevelGroupWithMeta","useGetUserList","inheritedDisabled","isDisabled","usesDialog","usesGroupQuery","GROUP","selectedUserList","setSelectedUserList","prevValue","searchString","setSearchString","dropdownContentWidth","setDropdownContentWidth","selectOwnerRef","HTMLDivElement","panelWidth","triggerRef","onSearchValueChange","v","dropdownOpen","setDropdownOpen","queryByKeywords","_params","Promise","reject","message","pleaseConfigGetUserByKeywordsMethod","queryByIds","pleaseConfigGetUserByIdsMethod","result","searchResult","loading","failed","retry","searchUserList","items","totalUserList","totalUsers","concat","filter","item","name","nickname","toUpperCase","includes","trim","uniqBy","data","userId","groupId","isEqual","Array","isArray","param","length","then","valueNotInResult","every","user","map","USER_GROUP","onSelectedChange","users","resizeEle","current","resizeObserver","ResizeObserver","entries","entry","width","contentRect","observe","unobserve","onDropdownOpenChange","responsive","isNil","selectOpen","listboxId","useId","replace","activeMember","activeMemberId","undefined","owner","querySelector","HTMLElement","setAttribute","removeAttribute","display","isEmpty","valueList","find","Boolean","popupClassName","label","tag","photo","BOTH","hasMore","pathWarningCode","members","MemberSelector","Dialog"],"sources":["../../src/MemberPicker/index.tsx"],"sourcesContent":["import MemberPickerDialog from './dialog/MemberPickerDialog';\nimport DisabledContext from '../ConfigProvider/DisabledContext';\nimport useMemberSearch from './useMemberSearch';\nimport SearchFeedback from './components/SearchFeedback';\nimport { usePrevious } from 'ahooks';\nimport { cn } from '../lib/utils';\nimport _ from 'lodash';\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport Avatar from '../Avatar';\nimport ConfigProvider from '../ConfigProvider';\nimport './member-picker.css';\nimport {\n EUserType,\n IUser,\n IUserGroup,\n TUser,\n} from '../ConfigProvider/getUserList';\nimport { LocaleContext, getTranslator } from '../locale/default';\nimport Panel from './components/Panel';\nimport MemberPanel from './components/PanelWrapper';\nimport {\n EMemberPicker,\n IMemberPickerProps,\n TUserGroupValue,\n TUserValue,\n} from './interface';\nimport { getId } from './utils';\nimport { isUser, isUserGroup } from './utils/getUsersWithUserId';\nimport Select from '../Select';\nimport { Mode } from '../Select/BaseSelect';\n\nconst DEFAULT_MULTIPLE_DROPDOWN_WIDTH = 480;\n\nconst Component: React.FC<IMemberPickerProps> = (props) => {\n const { locale } = useContext(LocaleContext);\n const t = getTranslator(locale);\n\n const {\n value,\n type = EMemberPicker.USER,\n onChange,\n multiple,\n dropdownWidth,\n open,\n onOpenChange,\n placeholder = t.MemberPicker.select,\n className,\n allowClear,\n disabled,\n onClear,\n size,\n prefix: propPrefix,\n lockedIds = [],\n footer,\n onCancel,\n filterItem,\n mode: propsMode,\n renderItem,\n renderSelectedTag,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n ...restProps\n } = props;\n const allowOverlap = props.allowOverlap ?? false;\n const {\n getUsersByIds,\n getUsersByKeywords,\n getUsersByKeywordsWithMeta,\n getNextLevelGroup,\n getNextLevelGroupWithMeta,\n } = ConfigProvider.useGetUserList();\n const inheritedDisabled = useContext(DisabledContext);\n const isDisabled = disabled ?? inheritedDisabled;\n // 呈现方式由选择模式唯一决定,多选使用弹窗,单选保持浮窗。\n const usesDialog = !!multiple;\n const usesGroupQuery =\n (type === EMemberPicker.GROUP ||\n (!getUsersByKeywords && !getUsersByKeywordsWithMeta)) &&\n !!(getNextLevelGroup || getNextLevelGroupWithMeta);\n const [selectedUserList, setSelectedUserList] = useState<TUser>([]);\n const prevValue = usePrevious(value);\n const [searchString, setSearchString] = useState<string>('');\n const [dropdownContentWidth, setDropdownContentWidth] =\n useState(dropdownWidth);\n const selectOwnerRef = useRef<HTMLDivElement>(null);\n // 单选默认浮窗跟触发器等宽(true),调用方传 dropdownWidth 时用具体数字;\n // 多选默认 480,单条记录只有 头像+nickname 时触发器太窄装不下选中标签,故固定值。\n const panelWidth: number | boolean =\n dropdownWidth ?? (multiple ? DEFAULT_MULTIPLE_DROPDOWN_WIDTH : true);\n\n const triggerRef = useRef<HTMLDivElement>(null);\n const onSearchValueChange = useCallback((v: string) => {\n setSearchString(v);\n }, []);\n const [dropdownOpen, setDropdownOpen] = useState<boolean>(!!open);\n const queryByKeywords = useMemo(() => {\n if (getUsersByKeywordsWithMeta) return getUsersByKeywordsWithMeta;\n if (getUsersByKeywords) {\n return getUsersByKeywords;\n }\n\n return (_params = {}) =>\n Promise.reject({\n message: t.MemberPicker.pleaseConfigGetUserByKeywordsMethod,\n });\n }, [\n getUsersByKeywords,\n getUsersByKeywordsWithMeta,\n t.MemberPicker.pleaseConfigGetUserByKeywordsMethod,\n ]);\n const queryByIds = useMemo(() => {\n if (getUsersByIds) {\n return getUsersByIds;\n }\n\n return (_params = {}) =>\n Promise.reject({\n message: t.MemberPicker.pleaseConfigGetUserByIdsMethod,\n });\n }, [getUsersByIds, t.MemberPicker.pleaseConfigGetUserByIdsMethod]);\n const {\n result: searchResult,\n loading,\n failed,\n retry,\n } = useMemberSearch<IUser | IUserGroup>(\n queryByKeywords,\n searchString,\n dropdownOpen && !usesGroupQuery && !usesDialog,\n );\n const searchUserList = searchResult.items;\n\n const totalUserList: TUser = useMemo(() => {\n const totalUsers = searchUserList.concat(\n selectedUserList.filter((item) => {\n const name =\n (item.type === EUserType.USER ? item.nickname : item.name) || '';\n\n return name.toUpperCase().includes(searchString.trim().toUpperCase());\n }),\n );\n\n return _.uniqBy(totalUsers, (data: IUser | IUserGroup) => {\n if (data.type === EUserType.USER) return data.userId;\n\n return data.groupId;\n }).filter((item) => {\n if (filterItem) {\n return filterItem(item);\n }\n\n return true;\n });\n }, [filterItem, searchString, searchUserList, selectedUserList]);\n\n useEffect(() => {\n if (_.isEqual(value, prevValue)) {\n return;\n }\n if (Array.isArray(value) && (isUser(value[0]) || isUserGroup(value[0]))) {\n setSelectedUserList(value as TUser);\n } else if (isUser(value) || isUserGroup(value)) {\n setSelectedUserList([value]);\n } else {\n let param: Array<TUserValue | TUserGroupValue> = [];\n if (!value) return;\n if (Array.isArray(value) && value.length === 0) {\n setSelectedUserList([]);\n\n return;\n }\n if (!Array.isArray(value)) {\n param = [value];\n } else {\n param = value;\n }\n queryByIds(param).then((result) => {\n // 如果用户已被删除,则需要展示出id\n const valueNotInResult: TUser = param\n .filter((item) => {\n if (item.type === EUserType.USER) {\n return result\n .filter(isUser)\n .every((user) => user.userId !== item.userId);\n }\n\n return result\n .filter(isUserGroup)\n .every((user) => user.groupId !== item.groupId);\n })\n .map((item) => {\n if (item.type === EUserType.USER) {\n return {\n type: EUserType.USER,\n userId: item.userId,\n } as IUser;\n }\n\n return {\n type: EUserType.USER_GROUP,\n groupId: item.groupId,\n } as IUserGroup;\n });\n\n setSelectedUserList([...result, ...valueNotInResult]);\n });\n }\n }, [value, queryByIds, prevValue]);\n\n const onSelectedChange = useCallback(\n (users: TUser) => {\n if (multiple) {\n setSelectedUserList(users);\n onChange?.(users);\n } else {\n setSelectedUserList(users);\n onChange?.(users[0]);\n }\n setDropdownOpen(false);\n },\n [multiple, onChange, setDropdownOpen],\n );\n\n useEffect(() => {\n if (typeof open === 'boolean') {\n setDropdownOpen(open);\n }\n }, [open]);\n\n useEffect(() => {\n if (!dropdownContentWidth) {\n const resizeEle = triggerRef.current;\n if (!resizeEle) return;\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { width } = entry.contentRect;\n setDropdownContentWidth(width);\n }\n });\n resizeObserver.observe(resizeEle);\n\n return () => {\n resizeObserver.unobserve(resizeEle);\n };\n }\n }, [triggerRef, dropdownContentWidth]);\n const onDropdownOpenChange = useCallback(\n (open: boolean) => {\n if (isDisabled) return;\n if (!usesDialog || typeof props.open !== 'boolean') setDropdownOpen(open);\n onOpenChange?.(open);\n },\n [isDisabled, usesDialog, props.open, onOpenChange],\n );\n const mode = useMemo(() => {\n if (multiple === true) {\n if (typeof propsMode === 'object')\n return {\n ...(propsMode || {}),\n type: 'multiple',\n responsive: _.isNil(propsMode.responsive)\n ? true\n : propsMode.responsive,\n } as Mode;\n return {\n type: 'multiple',\n responsive: true,\n } as Mode;\n }\n\n return multiple ? (multiple as Mode) : propsMode;\n }, [multiple, propsMode]);\n\n const selectOpen = typeof open === 'boolean' ? open : dropdownOpen;\n const listboxId = `ald-member-picker-listbox-${React.useId().replace(\n /:/g,\n '',\n )}`;\n const activeMember = totalUserList[0];\n const activeMemberId = activeMember\n ? `ald-member-picker-option-${getId(activeMember)}`\n : undefined;\n\n useEffect(() => {\n const owner = selectOwnerRef.current?.querySelector<HTMLElement>(\n '[role=\"combobox\"], input',\n );\n if (!owner) return;\n owner.setAttribute('aria-controls', listboxId);\n if (selectOpen && activeMemberId) {\n owner.setAttribute('aria-activedescendant', activeMemberId);\n } else {\n owner.removeAttribute('aria-activedescendant');\n }\n }, [activeMemberId, listboxId, selectOpen]);\n\n return (\n <div ref={selectOwnerRef} style={{ display: 'contents' }}>\n <Select\n prefix={propPrefix}\n {...restProps}\n data-testid={dataTestId}\n aria-label={ariaLabel}\n showSearch={!usesDialog}\n searchValue={searchString}\n onSearch={onSearchValueChange}\n aria-controls={listboxId}\n aria-activedescendant={selectOpen ? activeMemberId : undefined}\n size={size}\n className={cn('ald-member-picker-select', className)}\n value={selectedUserList.map((item) => {\n if (item.type === EUserType.USER_GROUP) {\n return item.groupId;\n } else {\n return item.userId;\n }\n })}\n onChange={(value) => {\n if (_.isEmpty(value)) {\n setSelectedUserList([]);\n if (multiple) {\n onChange?.([]);\n } else {\n onChange?.();\n }\n } else {\n const valueList = Array.isArray(value) ? value : [value];\n if (multiple) {\n const users = valueList\n .map((item) => {\n const user = totalUserList.find((user) => {\n if (user.type === EUserType.USER) {\n return user.userId === item;\n }\n\n return user.groupId === item;\n });\n\n return user;\n })\n .filter(Boolean) as TUser;\n setSelectedUserList(users);\n onChange?.(users);\n } else {\n const user = totalUserList.find((user) => {\n if (user.type === EUserType.USER) {\n return user.userId === value;\n }\n\n return user.groupId === value;\n });\n if (user) {\n setSelectedUserList([user]);\n onChange?.(user);\n } else {\n setSelectedUserList([]);\n onChange?.();\n }\n }\n }\n }}\n disabled={isDisabled}\n allowClear={allowClear}\n onClear={() => {\n setSelectedUserList([]);\n if (multiple) {\n onChange?.([]);\n } else {\n onChange?.();\n }\n onClear?.();\n }}\n popupClassName={cn(\n 'ald-member-picker-popup',\n allowOverlap && 'ald-member-picker-popup-adaptive',\n props.popupClassName,\n )}\n mode={mode}\n options={selectedUserList.map((item) => {\n if (item.type === EUserType.USER_GROUP)\n return {\n label: item.name || item.groupId,\n value: item.groupId,\n tag: (\n <div className={'ald-member-picker-tag'}>\n <Avatar type=\"team\" size={20}>\n {item.name || item.groupId}\n </Avatar>\n {item.name || item.groupId}\n </div>\n ),\n };\n\n return {\n label: item.nickname || item.name || item.userId,\n value: item.userId,\n tag: (\n <div className={'ald-member-picker-tag'}>\n <Avatar\n size={20}\n src={item.photo}\n type={item.type === EUserType.USER ? 'user' : 'team'}\n >\n {item.nickname || item.name || item.userId}\n </Avatar>\n {item.nickname || item.name || item.userId}\n </div>\n ),\n };\n })}\n optionLabelProp={multiple ? 'label' : 'tag'}\n open={usesDialog ? false : selectOpen}\n onOpenChange={onDropdownOpenChange}\n popupMatchSelectWidth={panelWidth}\n allowOverlap={allowOverlap}\n placeholder={placeholder}\n dropdownRender={() => {\n return (\n <div\n ref={triggerRef}\n id={listboxId}\n role=\"group\"\n aria-label=\"Member selection results\"\n className={cn({\n 'ald-member-picker-popup-body': allowOverlap,\n })}\n >\n <Panel\n active={dropdownOpen}\n searchFailed={failed}\n useProvidedGroupSearch={\n type === EMemberPicker.BOTH && !usesGroupQuery\n }\n searchFeedback={\n !usesGroupQuery && (\n <SearchFeedback\n failed={failed}\n hasMore={searchResult.hasMore}\n pathWarningCode={searchResult.pathWarningCode}\n retry={retry}\n />\n )\n }\n type={type}\n footer={footer}\n value={selectedUserList}\n dataList={totalUserList}\n lockedIds={lockedIds}\n multiple={!!multiple}\n loading={loading}\n dropdownWidth={dropdownContentWidth}\n onSearchValueChange={onSearchValueChange}\n onChange={onSelectedChange}\n onCancel={() => {\n onCancel?.();\n setDropdownOpen(false);\n }}\n renderItem={renderItem}\n renderSelectedTag={renderSelectedTag}\n searchValue={searchString}\n ></Panel>\n </div>\n );\n }}\n ></Select>\n {usesDialog && !isDisabled && (\n <MemberPickerDialog\n open={selectOpen}\n value={value ?? selectedUserList}\n type={type}\n lockedIds={lockedIds}\n filterItem={filterItem}\n renderItem={renderItem}\n renderSelectedTag={renderSelectedTag}\n onChange={(members) => {\n setSelectedUserList(members);\n if (props.multiple) props.onChange?.(members);\n }}\n footer={footer}\n onCancel={onCancel}\n onClose={() => onDropdownOpenChange(false)}\n />\n )}\n </div>\n );\n};\n\nconst MemberSelector = Component as React.FC<IMemberPickerProps> & {\n MemberPanel: typeof MemberPanel;\n Dialog: typeof MemberPickerDialog;\n};\n\nMemberSelector.MemberPanel = MemberPanel;\nMemberSelector.Dialog = MemberPickerDialog;\nexport default MemberSelector;\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { ReactNode } from 'react';
2
- import { IUser, IUserGroup, TUser } from '../ConfigProvider/getUserList';
3
- import { ISelectProps } from '../Select/interface';
4
- import { RequiredProperties } from '../_utils/type';
5
- import { Mode } from '../Select/BaseSelect';
2
+ import { IUser, IUserGroup, TUser } from '../ConfigProvider/getUserList.js';
3
+ import { ISelectProps } from '../Select/interface.js';
4
+ import { RequiredProperties } from '../_utils/type.js';
5
+ import { Mode } from '../Select/BaseSelect.js';
6
6
  export type TUserValue = RequiredProperties<IUser, 'type' | 'userId'>;
7
7
  export type TUserGroupValue = RequiredProperties<IUserGroup, 'type' | 'groupId'>;
8
8
  export type TMemberPickerValue = TUserValue | TUserGroupValue | Array<TUserValue | TUserGroupValue>;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","names":[],"sources":["../../src/MemberPicker/interface.ts"],"sourcesContent":["import { ReactNode } from 'react';\nimport { IUser, IUserGroup, TUser } from '../ConfigProvider/getUserList';\nimport { ISelectProps } from '../Select/interface';\nimport { RequiredProperties } from '../_utils/type';\nimport { Mode } from '../Select/BaseSelect';\n\nexport type TUserValue = RequiredProperties<IUser, 'type' | 'userId'>;\nexport type TUserGroupValue = RequiredProperties<\n IUserGroup,\n 'type' | 'groupId'\n>;\n\nexport type TMemberPickerValue =\n | TUserValue\n | TUserGroupValue\n | Array<TUserValue | TUserGroupValue>;\n\nexport enum EMemberPicker {\n GROUP = 'GROUP',\n USER = 'USER',\n BOTH = 'BOTH',\n}\n\nexport interface IBaseMemberSelectorProps extends Omit<ISelectProps, 'type'> {\n value?: TMemberPickerValue;\n dropdownWidth?: number;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n type?: EMemberPicker;\n lockedIds?: Array<TUserValue | TUserGroupValue>;\n footer?: ReactNode;\n onCancel?: () => void;\n filterItem?: (item: IUser | IUserGroup) => boolean;\n renderItem?: (\n item: IUser | IUserGroup,\n context: {\n isSelected: boolean;\n disabled: boolean;\n onClick: () => void;\n onNextLevel?: () => void;\n originNode: ReactNode;\n },\n ) => ReactNode;\n renderSelectedTag?: (\n user: IUser | IUserGroup,\n originNode: ReactNode,\n ) => ReactNode;\n}\n\nexport interface IMultipleMemberSelectorProps extends IBaseMemberSelectorProps {\n multiple: true | Mode;\n onChange?(v: TUser): void;\n}\n\nexport interface ISingleMemberSelectorProps extends IBaseMemberSelectorProps {\n multiple?: false;\n onChange?(v?: IUser | IUserGroup): void;\n}\n\nexport type IMemberPickerProps =\n | IMultipleMemberSelectorProps\n | ISingleMemberSelectorProps;\n\nexport type { IUser };\n"],"mappings":";AAiBA,IAAY,gBAAL,yBAAA,eAAA;AACL,eAAA,WAAA;AACA,eAAA,UAAA;AACA,eAAA,UAAA;;KACD"}
1
+ {"version":3,"file":"interface.js","names":["ReactNode","IUser","IUserGroup","TUser","ISelectProps","RequiredProperties","Mode","TUserValue","TUserGroupValue","TMemberPickerValue","Array","EMemberPicker","GROUP","USER","BOTH","IBaseMemberSelectorProps","Omit","value","dropdownWidth","open","onOpenChange","type","lockedIds","footer","onCancel","filterItem","item","renderItem","context","isSelected","disabled","onClick","onNextLevel","originNode","renderSelectedTag","user","IMultipleMemberSelectorProps","multiple","onChange","v","ISingleMemberSelectorProps","IMemberPickerProps"],"sources":["../../src/MemberPicker/interface.ts"],"sourcesContent":["import { ReactNode } from 'react';\nimport { IUser, IUserGroup, TUser } from '../ConfigProvider/getUserList';\nimport { ISelectProps } from '../Select/interface';\nimport { RequiredProperties } from '../_utils/type';\nimport { Mode } from '../Select/BaseSelect';\n\nexport type TUserValue = RequiredProperties<IUser, 'type' | 'userId'>;\nexport type TUserGroupValue = RequiredProperties<\n IUserGroup,\n 'type' | 'groupId'\n>;\n\nexport type TMemberPickerValue =\n | TUserValue\n | TUserGroupValue\n | Array<TUserValue | TUserGroupValue>;\n\nexport enum EMemberPicker {\n GROUP = 'GROUP',\n USER = 'USER',\n BOTH = 'BOTH',\n}\n\nexport interface IBaseMemberSelectorProps extends Omit<ISelectProps, 'type'> {\n value?: TMemberPickerValue;\n dropdownWidth?: number;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n type?: EMemberPicker;\n lockedIds?: Array<TUserValue | TUserGroupValue>;\n footer?: ReactNode;\n onCancel?: () => void;\n filterItem?: (item: IUser | IUserGroup) => boolean;\n renderItem?: (\n item: IUser | IUserGroup,\n context: {\n isSelected: boolean;\n disabled: boolean;\n onClick: () => void;\n onNextLevel?: () => void;\n originNode: ReactNode;\n },\n ) => ReactNode;\n renderSelectedTag?: (\n user: IUser | IUserGroup,\n originNode: ReactNode,\n ) => ReactNode;\n}\n\nexport interface IMultipleMemberSelectorProps extends IBaseMemberSelectorProps {\n multiple: true | Mode;\n onChange?(v: TUser): void;\n}\n\nexport interface ISingleMemberSelectorProps extends IBaseMemberSelectorProps {\n multiple?: false;\n onChange?(v?: IUser | IUserGroup): void;\n}\n\nexport type IMemberPickerProps =\n | IMultipleMemberSelectorProps\n | ISingleMemberSelectorProps;\n\nexport type { IUser };\n"],"mappings":";AAiBA,IAAYW,gBAAL,yBAAA,eAAA;AACLC,eAAAA,WAAAA;AACAC,eAAAA,UAAAA;AACAC,eAAAA,UAAAA;;KACF"}
@@ -1,5 +1,5 @@
1
- import { IUser, TUser } from '../../ConfigProvider/getUserList';
2
- import { TUserGroupValue, TUserValue } from '../interface';
1
+ import { IUser, TUser } from '../../ConfigProvider/getUserList.js';
2
+ import { TUserGroupValue, TUserValue } from '../interface.js';
3
3
  export declare function genUserListByKeywords(keywords: string): TUser;
4
4
  export declare function genUserListByIds(ids: string[]): IUser[];
5
5
  export declare const getUserByIds: (ids: Array<TUserValue | TUserGroupValue>) => Promise<IUser[]>;
@@ -1,4 +1,4 @@
1
- import { MemberSearchResult } from '../ConfigProvider/getUserList';
1
+ import { MemberSearchResult } from '../ConfigProvider/getUserList.js';
2
2
  /** 搜索状态只属于当前组件和当前请求;关闭、换关键字后拒绝旧响应回写。 */
3
3
  export default function useMemberSearch<T>(query: (keyword: string) => Promise<T[] | MemberSearchResult<T>>, keyword: string, enabled?: boolean): {
4
4
  result: MemberSearchResult<T>;
@@ -1,49 +1,90 @@
1
- import { useCallback, useEffect, useState } from "react";
1
+ import { c } from "react-compiler-runtime";
2
+ import { useEffect, useState } from "react";
2
3
  //#region src/MemberPicker/useMemberSearch.ts
3
4
  /** 搜索状态只属于当前组件和当前请求;关闭、换关键字后拒绝旧响应回写。 */
4
- function useMemberSearch(query, keyword, enabled = true) {
5
- const [result, setResult] = useState({ items: [] });
5
+ function useMemberSearch(query, keyword, t0) {
6
+ const $ = c(15);
7
+ const enabled = t0 === void 0 ? true : t0;
8
+ let t1;
9
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
10
+ t1 = { items: [] };
11
+ $[0] = t1;
12
+ } else t1 = $[0];
13
+ const [result, setResult] = useState(t1);
6
14
  const [loading, setLoading] = useState(false);
7
15
  const [failed, setFailed] = useState(false);
8
16
  const [revision, setRevision] = useState(0);
9
- const retry = useCallback(() => setRevision((value) => value + 1), []);
10
- useEffect(() => {
11
- if (!enabled) {
12
- setLoading(false);
13
- return;
14
- }
15
- let active = true;
16
- setLoading(true);
17
- setResult({ items: [] });
18
- setFailed(false);
19
- const timer = setTimeout(() => {
20
- query(keyword).then((response) => {
21
- if (active) setResult(Array.isArray(response) ? { items: response } : response);
22
- }).catch(() => {
23
- if (active) {
24
- setFailed(true);
25
- setResult({ items: [] });
26
- }
27
- }).finally(() => {
28
- if (active) setLoading(false);
29
- });
30
- }, keyword ? 300 : 0);
31
- return () => {
32
- active = false;
33
- clearTimeout(timer);
17
+ let t2;
18
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
19
+ t2 = () => setRevision(_temp);
20
+ $[1] = t2;
21
+ } else t2 = $[1];
22
+ const retry = t2;
23
+ let t3;
24
+ if ($[2] !== enabled || $[3] !== keyword || $[4] !== query) {
25
+ t3 = () => {
26
+ if (!enabled) {
27
+ setLoading(false);
28
+ return;
29
+ }
30
+ let active = true;
31
+ setLoading(true);
32
+ setResult({ items: [] });
33
+ setFailed(false);
34
+ const timer = setTimeout(() => {
35
+ query(keyword).then((response) => {
36
+ if (active) setResult(Array.isArray(response) ? { items: response } : response);
37
+ }).catch(() => {
38
+ if (active) {
39
+ setFailed(true);
40
+ setResult({ items: [] });
41
+ }
42
+ }).finally(() => {
43
+ if (active) setLoading(false);
44
+ });
45
+ }, keyword ? 300 : 0);
46
+ return () => {
47
+ active = false;
48
+ clearTimeout(timer);
49
+ };
34
50
  };
35
- }, [
36
- query,
37
- keyword,
38
- enabled,
39
- revision
40
- ]);
41
- return {
42
- result,
43
- loading,
44
- failed,
45
- retry
46
- };
51
+ $[2] = enabled;
52
+ $[3] = keyword;
53
+ $[4] = query;
54
+ $[5] = t3;
55
+ } else t3 = $[5];
56
+ let t4;
57
+ if ($[6] !== enabled || $[7] !== keyword || $[8] !== query || $[9] !== revision) {
58
+ t4 = [
59
+ query,
60
+ keyword,
61
+ enabled,
62
+ revision
63
+ ];
64
+ $[6] = enabled;
65
+ $[7] = keyword;
66
+ $[8] = query;
67
+ $[9] = revision;
68
+ $[10] = t4;
69
+ } else t4 = $[10];
70
+ useEffect(t3, t4);
71
+ let t5;
72
+ if ($[11] !== failed || $[12] !== loading || $[13] !== result) {
73
+ t5 = {
74
+ result,
75
+ loading,
76
+ failed,
77
+ retry
78
+ };
79
+ $[11] = failed;
80
+ $[12] = loading;
81
+ $[13] = result;
82
+ $[14] = t5;
83
+ } else t5 = $[14];
84
+ return t5;
85
+ }
86
+ function _temp(value) {
87
+ return value + 1;
47
88
  }
48
89
  //#endregion
49
90
  export { useMemberSearch as default };
@@ -1 +1 @@
1
- {"version":3,"file":"useMemberSearch.js","names":[],"sources":["../../src/MemberPicker/useMemberSearch.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { MemberSearchResult } from '../ConfigProvider/getUserList';\n\n/** 搜索状态只属于当前组件和当前请求;关闭、换关键字后拒绝旧响应回写。 */\nexport default function useMemberSearch<T>(\n query: (keyword: string) => Promise<T[] | MemberSearchResult<T>>,\n keyword: string,\n enabled = true,\n) {\n const [result, setResult] = useState<MemberSearchResult<T>>({ items: [] });\n const [loading, setLoading] = useState(false);\n const [failed, setFailed] = useState(false);\n const [revision, setRevision] = useState(0);\n const retry = useCallback(() => setRevision((value) => value + 1), []);\n useEffect(() => {\n if (!enabled) {\n setLoading(false);\n return;\n }\n let active = true;\n setLoading(true);\n setResult({ items: [] });\n setFailed(false);\n const timer = setTimeout(\n () => {\n query(keyword)\n .then((response) => {\n if (active) {\n setResult(\n Array.isArray(response) ? { items: response } : response,\n );\n }\n })\n .catch(() => {\n if (active) {\n setFailed(true);\n setResult({ items: [] });\n }\n })\n .finally(() => {\n if (active) setLoading(false);\n });\n },\n keyword ? 300 : 0,\n );\n return () => {\n active = false;\n clearTimeout(timer);\n };\n }, [query, keyword, enabled, revision]);\n return { result, loading, failed, retry };\n}\n"],"mappings":";;;AAIA,SAAwB,gBACtB,OACA,SACA,UAAU,MACV;CACA,MAAM,CAAC,QAAQ,aAAa,SAAgC,EAAE,OAAO,EAAE,EAAE,CAAC;CAC1E,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,CAAC,QAAQ,aAAa,SAAS,MAAM;CAC3C,MAAM,CAAC,UAAU,eAAe,SAAS,EAAE;CAC3C,MAAM,QAAQ,kBAAkB,aAAa,UAAU,QAAQ,EAAE,EAAE,EAAE,CAAC;AACtE,iBAAgB;AACd,MAAI,CAAC,SAAS;AACZ,cAAW,MAAM;AACjB;;EAEF,IAAI,SAAS;AACb,aAAW,KAAK;AAChB,YAAU,EAAE,OAAO,EAAE,EAAE,CAAC;AACxB,YAAU,MAAM;EAChB,MAAM,QAAQ,iBACN;AACJ,SAAM,QAAQ,CACX,MAAM,aAAa;AAClB,QAAI,OACF,WACE,MAAM,QAAQ,SAAS,GAAG,EAAE,OAAO,UAAU,GAAG,SACjD;KAEH,CACD,YAAY;AACX,QAAI,QAAQ;AACV,eAAU,KAAK;AACf,eAAU,EAAE,OAAO,EAAE,EAAE,CAAC;;KAE1B,CACD,cAAc;AACb,QAAI,OAAQ,YAAW,MAAM;KAC7B;KAEN,UAAU,MAAM,EACjB;AACD,eAAa;AACX,YAAS;AACT,gBAAa,MAAM;;IAEpB;EAAC;EAAO;EAAS;EAAS;EAAS,CAAC;AACvC,QAAO;EAAE;EAAQ;EAAS;EAAQ;EAAO"}
1
+ {"version":3,"file":"useMemberSearch.js","names":["useCallback","useEffect","useState","MemberSearchResult","useMemberSearch","query","keyword","t0","$","_c","enabled","undefined","t1","Symbol","for","items","result","setResult","loading","setLoading","failed","setFailed","revision","setRevision","t2","_temp","retry","t3","active","timer","setTimeout","then","response","Array","isArray","catch","finally","clearTimeout","t4","t5","value"],"sources":["../../src/MemberPicker/useMemberSearch.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { MemberSearchResult } from '../ConfigProvider/getUserList';\n\n/** 搜索状态只属于当前组件和当前请求;关闭、换关键字后拒绝旧响应回写。 */\nexport default function useMemberSearch<T>(\n query: (keyword: string) => Promise<T[] | MemberSearchResult<T>>,\n keyword: string,\n enabled = true,\n) {\n const [result, setResult] = useState<MemberSearchResult<T>>({ items: [] });\n const [loading, setLoading] = useState(false);\n const [failed, setFailed] = useState(false);\n const [revision, setRevision] = useState(0);\n const retry = useCallback(() => setRevision((value) => value + 1), []);\n useEffect(() => {\n if (!enabled) {\n setLoading(false);\n return;\n }\n let active = true;\n setLoading(true);\n setResult({ items: [] });\n setFailed(false);\n const timer = setTimeout(\n () => {\n query(keyword)\n .then((response) => {\n if (active) {\n setResult(\n Array.isArray(response) ? { items: response } : response,\n );\n }\n })\n .catch(() => {\n if (active) {\n setFailed(true);\n setResult({ items: [] });\n }\n })\n .finally(() => {\n if (active) setLoading(false);\n });\n },\n keyword ? 300 : 0,\n );\n return () => {\n active = false;\n clearTimeout(timer);\n };\n }, [query, keyword, enabled, revision]);\n return { result, loading, failed, retry };\n}\n"],"mappings":";;;;AAIA,SAAeI,gBAAAC,OAAAC,SAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAGb,MAAAC,UAAAH,OAAAI,SAAA,OAAAJ;CAAc,IAAAK;AAAA,KAAAJ,EAAA,OAAAK,OAAAC,IAAA,4BAAA,EAAA;AAE8CF,OAAA,EAAAG,OAAS,EAAA,EAAI;AAAAP,IAAA,KAAAI;OAAAA,MAAAJ,EAAA;CAAzE,MAAA,CAAAQ,QAAAC,aAA4Bf,SAAgCU,GAAc;CAC1E,MAAA,CAAAM,SAAAC,cAA8BjB,SAAS,MAAM;CAC7C,MAAA,CAAAkB,QAAAC,aAA4BnB,SAAS,MAAM;CAC3C,MAAA,CAAAoB,UAAAC,eAAgCrB,SAAS,EAAE;CAAC,IAAAsB;AAAA,KAAAhB,EAAA,OAAAK,OAAAC,IAAA,4BAAA,EAAA;AAClBU,aAAMD,YAAYE,MAAqB;AAAAjB,IAAA,KAAAgB;OAAAA,MAAAhB,EAAA;CAAjE,MAAAkB,QAAcF;CAAyD,IAAAG;AAAA,KAAAnB,EAAA,OAAAE,WAAAF,EAAA,OAAAF,WAAAE,EAAA,OAAAH,OAAA;AAC7DsB,aAAA;AACR,OAAI,CAACjB,SAAO;AACVS,eAAW,MAAM;AAAA;;GAGnB,IAAAS,SAAa;AACbT,cAAW,KAAK;AAChBF,aAAU,EAAAF,OAAS,EAAA,EAAI,CAAC;AACxBM,aAAU,MAAM;GAChB,MAAAQ,QAAcC,iBACZ;AACEzB,UAAMC,QAAQ,CAAAyB,MACNC,aAAA;AACJ,SAAIJ,OACFX,WACEgB,MAAKC,QAASF,SAA0C,GAAxD,EAAAjB,OAAmCiB,UAAqB,GAAxDA,SACD;MAEH,CAAAG,YACK;AACL,SAAIP,QAAM;AACRP,gBAAU,KAAK;AACfJ,gBAAU,EAAAF,OAAS,EAAA,EAAI,CAAC;;MAE1B,CAAAqB,cACO;AACP,SAAIR,OAAQT,YAAW,MAAM;MAC7B;MAENb,UAAA,MAAA,EACD;AAAC,gBACK;AACLsB,aAASA;AACTS,iBAAaR,MAAM;;;AAEtBrB,IAAA,KAAAE;AAAAF,IAAA,KAAAF;AAAAE,IAAA,KAAAH;AAAAG,IAAA,KAAAmB;OAAAA,MAAAnB,EAAA;CAAA,IAAA8B;AAAA,KAAA9B,EAAA,OAAAE,WAAAF,EAAA,OAAAF,WAAAE,EAAA,OAAAH,SAAAG,EAAA,OAAAc,UAAA;AAAEgB,OAAA;GAACjC;GAAOC;GAASI;GAASY;GAAS;AAAAd,IAAA,KAAAE;AAAAF,IAAA,KAAAF;AAAAE,IAAA,KAAAH;AAAAG,IAAA,KAAAc;AAAAd,IAAA,MAAA8B;OAAAA,MAAA9B,EAAA;AAnCtCP,WAAU0B,IAmCPW,GAAoC;CAAA,IAAAC;AAAA,KAAA/B,EAAA,QAAAY,UAAAZ,EAAA,QAAAU,WAAAV,EAAA,QAAAQ,QAAA;AAChCuB,OAAA;GAAAvB;GAAAE;GAAAE;GAAAM;GAAkC;AAAAlB,IAAA,MAAAY;AAAAZ,IAAA,MAAAU;AAAAV,IAAA,MAAAQ;AAAAR,IAAA,MAAA+B;OAAAA,MAAA/B,EAAA;AAAA,QAAlC+B;;AA9CM,SAAAd,MAAAe,OAAA;AAAA,QAS0CA,QAAQ"}
@@ -1,5 +1,5 @@
1
- import { IUserGroup } from '../../ConfigProvider/getUserList';
2
- import { IUser } from '../interface';
1
+ import { IUserGroup } from '../../ConfigProvider/getUserList.js';
2
+ import { IUser } from '../interface.js';
3
3
  export declare function isUser(value: any): value is IUser;
4
4
  export declare function isUserGroup(value: any): value is IUserGroup;
5
5
  declare function getUsersWithUserId(obj: any): IUser[];