@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":"BaseSelect.js","names":[],"sources":["../../src/Select/BaseSelect.tsx"],"sourcesContent":["import './ald-select.css';\nimport * as React from 'react';\nimport useMergedState from 'rc-util/es/hooks/useMergedState';\nimport { cn } from '../lib/utils';\nimport prefixCls from '../_utils/prefixCls';\n\n/** Align config type (locally defined to avoid rc-trigger dependency) */\nexport interface AlignType {\n points?: string[];\n offset?: (number | string)[];\n targetOffset?: (number | string)[];\n overflow?: { adjustX?: boolean; adjustY?: boolean };\n _experimental?: Record<string, any>;\n}\nimport SelectTrigger, { RefTriggerProps } from './SelectTrigger';\nimport Selector from './Selector';\nimport _ from 'lodash';\nimport { useContext, useRef, useState } from 'react';\nimport { FormItemInputContext } from '../Form/FormItemContext';\nimport getWidthStyle from './utils/getWidthStyle';\nimport Suffix from './components/Suffix';\nimport { PlacementType } from '../Dropdown';\nimport {\n BaseSelectRef,\n DisplayValueType,\n ISelectProps,\n LabelInValueType,\n SelectMenuProps,\n} from './interface';\nimport SizeContext from '../ConfigProvider/sizeContext';\nimport { ConfigContext } from '../ConfigProvider';\nimport { useCompactItemContext } from '../Space/CompactContext';\nimport { MenuInfo } from '../Menu';\nimport { toString } from './utils/commonUtil';\nimport OptionCollection, {\n SelectOptionCollection,\n} from './components/OptionCollection';\n\nexport type RenderNode = React.ReactNode | ((props: any) => React.ReactNode);\n\nexport type RenderDOMFunc = (props: any) => HTMLElement;\n\nexport type Mode =\n | 'multiple'\n | {\n type: 'multiple';\n responsive?: boolean;\n maxRows?: number;\n showSelectedSection?: boolean;\n };\n\nexport type RawValueType = string | number;\n\nfunction splitAriaProps(props: Record<string, any>) {\n return Object.keys(props).reduce<{\n ariaProps: Record<string, any>;\n restProps: Record<string, any>;\n }>(\n (result, key) => {\n if (key.startsWith('aria-')) {\n result.ariaProps[key] = props[key];\n } else {\n result.restProps[key] = props[key];\n }\n return result;\n },\n { ariaProps: {}, restProps: {} },\n );\n}\n\nexport type CustomTagProps = {\n label: React.ReactNode;\n value: any;\n disabled: boolean;\n onClose: (event?: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n closable: boolean;\n};\nexport interface BaseSelectPrivateProps {\n // >>> MISC\n omitDomProps?: string[];\n\n // >>> Value\n displayValues: LabelInValueType[];\n onDisplayValuesChange: (\n values: LabelInValueType[],\n info: {\n type: 'add' | 'remove' | 'clear';\n values: LabelInValueType[];\n },\n ) => void;\n\n // >>> Active\n /** Current dropdown list active item string value */\n activeValue?: string;\n /** Link search input with target element */\n activeDescendantId?: string;\n onActiveValueChange?: (value: string | null) => void;\n}\n\nexport type BaseSelectPropsWithoutPrivate = Omit<\n BaseSelectProps,\n keyof BaseSelectPrivateProps\n>;\n\nexport interface BaseSelectProps\n extends BaseSelectPrivateProps,\n ISelectProps,\n React.AriaAttributes {\n className?: string;\n style?: React.CSSProperties;\n notFoundContent?: React.ReactNode;\n onClear?: () => void;\n innerSearchValue?: string;\n setInnerSearchValue?: (value: string) => void;\n displayMenu?: SelectMenuProps;\n optionCollection?: SelectOptionCollection;\n // >>> Open\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n onOptionSelect?: (val: RawValueType) => void;\n onCollectionOptionSelect?: (val: RawValueType) => void;\n\n // >>> Icons\n allowClear?: boolean;\n showArrow?: boolean;\n suffixIcon?: React.ReactNode;\n\n // >>> Dropdown\n dropdownAlign?: AlignType;\n placement?: PlacementType;\n getPopupContainer?: () => HTMLElement;\n\n // >>> Focus\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n\n // >>> Rest Events\n onKeyUp?: React.KeyboardEventHandler<HTMLDivElement>;\n onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;\n onMouseDown?: React.MouseEventHandler<HTMLDivElement>;\n onPopupScroll?: React.UIEventHandler<HTMLDivElement>;\n onInputKeyDown?: React.KeyboardEventHandler<\n HTMLInputElement | HTMLTextAreaElement\n >;\n onMouseEnter?: React.MouseEventHandler<HTMLDivElement>;\n onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n}\n\nexport function isMultiple(mode?: Mode) {\n return !!mode;\n}\nexport function isResponsive(mode?: Mode) {\n return mode === 'multiple' || (typeof mode === 'object' && mode?.responsive);\n}\nexport function isShowSelectedSection(mode?: Mode) {\n if (!mode || mode === 'multiple') {\n return false;\n }\n\n return (\n typeof mode === 'object' && mode.showSelectedSection && mode.responsive\n );\n}\nconst BaseSelect = React.forwardRef(\n (props: BaseSelectProps, ref: React.Ref<BaseSelectRef>) => {\n const {\n id,\n className,\n // Value\n displayValues,\n onDisplayValuesChange,\n displayMenu,\n optionCollection,\n notFoundContent,\n onClear,\n width,\n mode,\n status: customStatus,\n onOptionSelect,\n onCollectionOptionSelect,\n onClick,\n size: customSize,\n borderLess = false,\n // Status\n disabled,\n placeholder,\n loading = false,\n\n // Open\n open,\n defaultOpen,\n onOpenChange,\n showSearch,\n innerSearchValue,\n setInnerSearchValue,\n onInputKeyDown,\n // Icons\n allowClear,\n showArrow = true,\n prefix,\n suffixIcon,\n dropdownRender,\n overlayStyle,\n dropdownStyle,\n popupMatchSelectWidth = true,\n placement,\n popupClassName,\n allowOverlap,\n style,\n 'data-testid': dataTestid,\n 'aria-label': ariaLabel,\n ...restProps\n // Rest Props\n } = props;\n const { ariaProps, restProps: passthroughProps } = React.useMemo(\n () => splitAriaProps(restProps),\n [restProps],\n );\n const triggerAriaProps = React.useMemo<React.AriaAttributes>(\n () => ({\n ...ariaProps,\n 'aria-label': ariaLabel,\n }),\n [ariaLabel, ariaProps],\n );\n const setClassNames = prefixCls('select');\n const selectRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const widthStyle = getWidthStyle(width);\n const dropdownRef = useRef<RefTriggerProps>(null);\n const [matchedPopupWidth, setMatchedPopupWidth] = useState<\n number | undefined\n >();\n const isResponsiveMode = isResponsive(mode);\n const isMultipleMode = isMultiple(mode);\n /** Used for component focused management */\n const contentSize = useContext(SizeContext);\n const { direction } = React.useContext(ConfigContext);\n // ===================== Compact Item =====================\n const { compactSize, compactItemClassnames } = useCompactItemContext(\n 'ald-select',\n direction,\n );\n const size = compactSize || customSize || contentSize || 'middle';\n const {\n status: contextStatus,\n // hasFeedback,\n // isFormItemInput,\n // feedbackIcon,\n } = useContext(FormItemInputContext);\n\n const mergedStatus =\n customStatus === null ? undefined : customStatus || contextStatus;\n\n // =========================== Imperative ===========================\n React.useImperativeHandle(ref, () => ({\n // The trigger is the Select focus owner. Keeping this as a real DOM\n // focus target makes keyboard focus, the Focus State Layer, and the\n // public imperative API describe the same element.\n focus: () => {\n if (showSearch && optionCollection) {\n searchInputRef.current?.focus();\n } else {\n triggerRef.current?.focus();\n }\n },\n blur: () => {\n if (showSearch && optionCollection) {\n searchInputRef.current?.blur();\n } else {\n triggerRef.current?.blur();\n }\n },\n open: () => onToggleOpen(true),\n close: () => {\n console.log('ref close');\n onToggleOpen(false);\n },\n }));\n const [isHover, setIsHover] = useState(false);\n const [activeOptionKey, setActiveOptionKey] = useState<string>();\n const [composingSearchValue, setComposingSearchValue] = useState<\n string | undefined\n >();\n const isComposingSearchRef = useRef(false);\n const isSearchableCollection = !!optionCollection && !!showSearch;\n const ownerAriaProps = React.useMemo(\n () => ({\n ...triggerAriaProps,\n 'aria-busy': loading || triggerAriaProps['aria-busy'] || undefined,\n 'aria-invalid':\n triggerAriaProps['aria-invalid'] ??\n (mergedStatus === 'error' ? true : undefined),\n }),\n [loading, mergedStatus, triggerAriaProps],\n );\n // ============================== Open ==============================\n const [innerOpen, setInnerOpen] = useMergedState<boolean>(false, {\n defaultValue: defaultOpen,\n value: open,\n });\n const mergedOpen = innerOpen;\n const shouldMatchPopupWidth =\n !!popupMatchSelectWidth && typeof popupMatchSelectWidth !== 'number';\n const updateMatchedPopupWidth = React.useCallback(() => {\n if (!shouldMatchPopupWidth) {\n return;\n }\n\n const nextWidth = selectRef.current?.getBoundingClientRect().width;\n if (nextWidth !== undefined) {\n setMatchedPopupWidth((currentWidth) =>\n currentWidth === nextWidth ? currentWidth : nextWidth,\n );\n }\n }, [shouldMatchPopupWidth]);\n const onToggleOpen = React.useCallback(\n (newOpen?: boolean) => {\n const nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n if (nextOpen) {\n updateMatchedPopupWidth();\n }\n if (!nextOpen) {\n setShowResponsiveSelectedSection(false);\n }\n if (mergedOpen !== nextOpen && !disabled) {\n setInnerOpen(nextOpen);\n onOpenChange?.(nextOpen);\n }\n },\n [\n mergedOpen,\n disabled,\n setInnerOpen,\n onOpenChange,\n updateMatchedPopupWidth,\n ],\n );\n const getInitialActiveOptionKey = React.useCallback(\n (position: 'first' | 'last') => {\n if (!optionCollection) {\n return undefined;\n }\n\n if (position === 'last') {\n return optionCollection.enabledOptions[\n optionCollection.enabledOptions.length - 1\n ]?.key;\n }\n\n const selected = optionCollection.options.find(\n (option) =>\n !option.disabled &&\n displayValues.some(\n (value) => toString(value.value) === toString(option.value),\n ),\n );\n return selected?.key ?? optionCollection.enabledOptions[0]?.key;\n },\n [displayValues, optionCollection],\n );\n React.useEffect(() => {\n if (!optionCollection || !mergedOpen) {\n setActiveOptionKey(undefined);\n return;\n }\n\n setActiveOptionKey((current) =>\n optionCollection.enabledOptions.some((option) => option.key === current)\n ? current\n : getInitialActiveOptionKey('first'),\n );\n }, [getInitialActiveOptionKey, mergedOpen, optionCollection]);\n React.useLayoutEffect(() => {\n if (!mergedOpen || !shouldMatchPopupWidth) {\n return;\n }\n\n const element = selectRef.current;\n if (!element) {\n return;\n }\n\n const updateMatchedWidth = () => {\n const nextWidth = element.getBoundingClientRect().width;\n setMatchedPopupWidth((currentWidth) =>\n currentWidth === nextWidth ? currentWidth : nextWidth,\n );\n };\n\n updateMatchedWidth();\n\n if (typeof ResizeObserver === 'undefined') {\n window.addEventListener('resize', updateMatchedWidth);\n return () => {\n window.removeEventListener('resize', updateMatchedWidth);\n };\n }\n\n let resizeAnimationFrame: number | undefined;\n const scheduleMatchedWidthUpdate = () => {\n if (resizeAnimationFrame !== undefined) {\n cancelAnimationFrame(resizeAnimationFrame);\n }\n resizeAnimationFrame = requestAnimationFrame(updateMatchedWidth);\n };\n\n const observer = new ResizeObserver(scheduleMatchedWidthUpdate);\n observer.observe(element);\n\n return () => {\n if (resizeAnimationFrame !== undefined) {\n cancelAnimationFrame(resizeAnimationFrame);\n }\n observer.disconnect();\n };\n }, [mergedOpen, shouldMatchPopupWidth]);\n const [showResponsiveSelectedSection, setShowResponsiveSelectedSection] =\n useState(false);\n // 多选 responsive 进入 -1 收纳态(仅\"首 tag + +N\")时为 true,\n // width:auto 下据此给根节点加 overflow-collapsed 钳住 min-width 链,\n // 抵抗父 flex 行因 intrinsic 低估造成的假压缩(详见 ald-select.css 对应段)\n const [overflowCollapsed, setOverflowCollapsed] = useState(false);\n\n // ============================ Selector ============================\n const onSelectorRemove = (val: DisplayValueType) => {\n const newValues = displayValues.filter(\n (item) => toString(item.value) !== toString(val.value),\n );\n\n onDisplayValuesChange(newValues, {\n type: 'remove',\n values: [\n {\n label: val.label,\n value: val.value as RawValueType,\n },\n ],\n });\n };\n\n const mergedClassName = cn(\n setClassNames('beta-ald-select', size, {\n // Popup visibility is not focus. The trigger's :focus-visible state\n // owns the Focus State Layer in ald-select.css.\n open: mergedOpen,\n // Retain the legacy hook for consumers that style the open state.\n // It no longer represents trigger focus.\n active: mergedOpen,\n borderless: borderLess,\n disabled: disabled,\n loading: loading,\n [`${mergedStatus}`]: !!mergedStatus,\n 'multiple-responsive': isResponsiveMode,\n 'multiple-default': isMultipleMode && !isResponsiveMode,\n // 仅 width:auto 生效:固定宽度下 -1 收纳态的收缩省略是预期行为,\n // 钳 min-width 反而会把固定宽撑破\n 'overflow-collapsed':\n overflowCollapsed && width === 'auto' && !_.isEmpty(displayValues),\n }),\n 'tw-text-typography-body-dense',\n className,\n compactItemClassnames,\n );\n const showMenu = React.useMemo(() => {\n if (!displayMenu) {\n return undefined;\n }\n\n return {\n ...displayMenu,\n onClick: (info: MenuInfo) => {\n displayMenu?.onClick?.(info);\n if (isMultipleMode) {\n // 多选默认选中后不收起下拉:Dropdown 在 menu.onClick 之后读\n // info.keepOpen 决定是否 onChangeOpen(false),不设则每次点击都被\n // 当成关闭信号。用 ?? 保留用户在自己的 onClick 里显式设 false 的能力\n info.keepOpen = info.keepOpen ?? true;\n } else if (displayMenu) {\n onToggleOpen(false);\n }\n setIsHover(false);\n onOptionSelect?.(info.key);\n },\n };\n }, [displayMenu, isMultipleMode, onToggleOpen, onOptionSelect]);\n const onSelectClick = React.useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n onClick?.(e);\n },\n [disabled, onClick],\n );\n React.useEffect(() => {\n const element = selectRef.current;\n if (element) {\n const handleMouseOver = () => setIsHover(true);\n const handleMouseOut = () => setIsHover(false);\n\n element.addEventListener('mouseover', handleMouseOver);\n element.addEventListener('mouseout', handleMouseOut);\n\n return () => {\n element.removeEventListener('mouseover', handleMouseOver);\n element.removeEventListener('mouseout', handleMouseOut);\n };\n }\n }, []);\n const mergedPopupMatchSelectWidth =\n shouldMatchPopupWidth && matchedPopupWidth !== undefined\n ? matchedPopupWidth\n : popupMatchSelectWidth;\n const activeOptionId = optionCollection?.options.find(\n (option) => option.key === activeOptionKey,\n )?.id;\n const moveActiveOption = React.useCallback(\n (direction: 1 | -1) => {\n if (!optionCollection || optionCollection.enabledOptions.length === 0) {\n return;\n }\n\n const currentIndex = optionCollection.enabledOptions.findIndex(\n (option) => option.key === activeOptionKey,\n );\n const nextIndex =\n currentIndex === -1\n ? direction === 1\n ? 0\n : optionCollection.enabledOptions.length - 1\n : (currentIndex +\n direction +\n optionCollection.enabledOptions.length) %\n optionCollection.enabledOptions.length;\n setActiveOptionKey(optionCollection.enabledOptions[nextIndex].key);\n },\n [activeOptionKey, optionCollection],\n );\n const typeaheadRef = useRef({ value: '', timestamp: 0 });\n const onCollectionKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (!optionCollection || disabled) {\n return;\n }\n\n const openCollection = (position: 'first' | 'last') => {\n event.preventDefault();\n setActiveOptionKey(getInitialActiveOptionKey(position));\n onToggleOpen(true);\n };\n\n if (!mergedOpen) {\n if (event.key === 'ArrowDown') {\n openCollection('first');\n } else if (event.key === 'ArrowUp') {\n openCollection('last');\n } else if (event.key === 'Enter' || event.key === ' ') {\n openCollection('first');\n }\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n moveActiveOption(1);\n return;\n }\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n moveActiveOption(-1);\n return;\n }\n if (event.key === 'Home') {\n event.preventDefault();\n setActiveOptionKey(optionCollection.enabledOptions[0]?.key);\n return;\n }\n if (event.key === 'End') {\n event.preventDefault();\n setActiveOptionKey(\n optionCollection.enabledOptions[\n optionCollection.enabledOptions.length - 1\n ]?.key,\n );\n return;\n }\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n const activeOption = optionCollection.options.find(\n (option) => option.key === activeOptionKey,\n );\n if (activeOption && !activeOption.disabled) {\n if (!isMultipleMode) {\n onToggleOpen(false);\n }\n onCollectionOptionSelect?.(activeOption.value);\n }\n return;\n }\n if (event.key === 'Escape') {\n event.preventDefault();\n onToggleOpen(false);\n if (isSearchableCollection) {\n searchInputRef.current?.focus();\n } else {\n triggerRef.current?.focus();\n }\n return;\n }\n if (event.key === 'Tab') {\n onToggleOpen(false);\n return;\n }\n if (\n event.key.length === 1 &&\n !event.altKey &&\n !event.ctrlKey &&\n !event.metaKey\n ) {\n const now = Date.now();\n const query =\n now - typeaheadRef.current.timestamp > 500\n ? event.key\n : `${typeaheadRef.current.value}${event.key}`;\n typeaheadRef.current = { value: query, timestamp: now };\n const normalizedQuery = query.toLocaleLowerCase();\n const activeIndex = optionCollection.enabledOptions.findIndex(\n (option) => option.key === activeOptionKey,\n );\n const orderedOptions = [\n ...optionCollection.enabledOptions.slice(activeIndex + 1),\n ...optionCollection.enabledOptions.slice(0, activeIndex + 1),\n ];\n const match = orderedOptions.find((option) =>\n String(option.label ?? option.value)\n .toLocaleLowerCase()\n .startsWith(normalizedQuery),\n );\n if (match) {\n event.preventDefault();\n setActiveOptionKey(match.key);\n }\n }\n },\n [\n activeOptionKey,\n disabled,\n getInitialActiveOptionKey,\n mergedOpen,\n moveActiveOption,\n onCollectionOptionSelect,\n onToggleOpen,\n optionCollection,\n isSearchableCollection,\n ],\n );\n const onSearchInputKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n onInputKeyDown?.(event);\n if (event.defaultPrevented) {\n return;\n }\n\n if (\n event.key === ' ' ||\n (event.key.length === 1 &&\n !event.altKey &&\n !event.ctrlKey &&\n !event.metaKey)\n ) {\n return;\n }\n\n onCollectionKeyDown(event);\n },\n [onCollectionKeyDown, onInputKeyDown],\n );\n const onSearchInputChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const nextValue = event.target.value;\n if (isComposingSearchRef.current) {\n setComposingSearchValue(nextValue);\n return;\n }\n setInnerSearchValue?.(nextValue);\n },\n [setInnerSearchValue],\n );\n const searchInputValue = composingSearchValue ?? innerSearchValue ?? '';\n const collectionContent = optionCollection ? (\n <OptionCollection\n collection={optionCollection}\n selectedValues={displayValues.map((item) => item.value as RawValueType)}\n activeOptionKey={activeOptionKey}\n multiple={isMultipleMode}\n loading={loading}\n listHeight={props.listHeight ?? 256}\n notFoundContent={notFoundContent}\n onSelect={(value) => {\n if (!isMultipleMode) {\n onToggleOpen(false);\n }\n onCollectionOptionSelect?.(value);\n }}\n />\n ) : undefined;\n return (\n <div\n className={mergedClassName}\n style={{\n ...widthStyle,\n // width:auto 且无选中值时锁 shrink:Chromium 对该子树给父 flex 行的\n // intrinsic 宽度贡献恒少约 14px,父行按低估值布局后回头压缩根节点,\n // placeholder 右侧会被裁;有选中值时必须保持可压缩,rc-overflow\n // 才能在父行变窄时把放不下的 tag 收纳成 \"+N\"\n ...(width === 'auto' && _.isEmpty(displayValues)\n ? { flexShrink: 0 }\n : {}),\n ...style,\n }}\n ref={selectRef}\n id={id}\n onClick={onSelectClick}\n data-testid={dataTestid}\n aria-label={ariaLabel}\n >\n <SelectTrigger\n {...passthroughProps}\n open={!!mergedOpen}\n notFoundContent={notFoundContent}\n menu={showMenu}\n collection={collectionContent}\n ref={dropdownRef}\n showSearch={showSearch}\n searchValue={innerSearchValue}\n setInnerSearchValue={setInnerSearchValue}\n popupMatchSelectWidth={mergedPopupMatchSelectWidth}\n overlayClassName={popupClassName}\n // @ts-ignore\n dropdownRender={dropdownRender}\n overlayStyle={overlayStyle || dropdownStyle}\n placement={placement}\n allowOverlap={allowOverlap}\n onOpenChange={(open) => {\n if (isResponsiveMode) {\n if (\n !mergedOpen &&\n !showResponsiveSelectedSection &&\n displayValues.length > 0 &&\n isShowSelectedSection(mode)\n ) {\n setShowResponsiveSelectedSection(true);\n } else {\n onToggleOpen(open);\n }\n } else {\n onToggleOpen(open);\n }\n }}\n >\n {/* antd 兼容:保留 ant-* class,消费方 CSS 可能依赖该选择器 */}\n <div\n {...(!isSearchableCollection ? ownerAriaProps : {})}\n ref={triggerRef}\n tabIndex={isSearchableCollection || disabled ? undefined : 0}\n role={isSearchableCollection ? undefined : 'combobox'}\n aria-disabled={\n isSearchableCollection ? undefined : disabled || undefined\n }\n aria-expanded={isSearchableCollection ? undefined : mergedOpen}\n aria-haspopup={\n isSearchableCollection\n ? undefined\n : optionCollection\n ? 'listbox'\n : undefined\n }\n aria-controls={\n isSearchableCollection\n ? undefined\n : mergedOpen && optionCollection\n ? optionCollection.listboxId\n : undefined\n }\n aria-activedescendant={\n isSearchableCollection\n ? undefined\n : mergedOpen && optionCollection\n ? activeOptionId\n : undefined\n }\n onKeyDown={\n isSearchableCollection\n ? undefined\n : optionCollection\n ? onCollectionKeyDown\n : undefined\n }\n className={cn(setClassNames('trigger'), 'ant-select-selector')}\n >\n {prefix && <div className={setClassNames('prefix')}>{prefix}</div>}\n {isSearchableCollection ? (\n <input\n {...ownerAriaProps}\n ref={searchInputRef}\n type=\"text\"\n role=\"combobox\"\n className={setClassNames('search-input')}\n value={searchInputValue}\n disabled={disabled}\n placeholder={\n typeof placeholder === 'string' ? placeholder : undefined\n }\n aria-disabled={disabled || undefined}\n aria-expanded={mergedOpen}\n aria-haspopup=\"listbox\"\n aria-controls={\n mergedOpen ? optionCollection?.listboxId : undefined\n }\n aria-activedescendant={mergedOpen ? activeOptionId : undefined}\n onFocus={() => onToggleOpen(true)}\n onChange={onSearchInputChange}\n onCompositionStart={() => {\n isComposingSearchRef.current = true;\n }}\n onCompositionEnd={(event) => {\n isComposingSearchRef.current = false;\n setComposingSearchValue(undefined);\n setInnerSearchValue?.(event.currentTarget.value);\n }}\n onKeyDown={onSearchInputKeyDown}\n />\n ) : (\n <>\n {_.isEmpty(displayValues) && (\n <div\n className={cn(\n setClassNames('placeholder'),\n 'ant-select-selection-placeholder',\n )}\n >\n {placeholder}\n </div>\n )}\n {!_.isEmpty(displayValues) && (\n <Selector\n {...passthroughProps}\n suffixIcon={suffixIcon}\n size={size}\n disabled={disabled}\n mode={mode}\n dropdownRef={dropdownRef}\n displayValues={displayValues}\n onToggleOpen={onToggleOpen}\n onRemove={onSelectorRemove}\n showResponsiveSelectedSection={\n showResponsiveSelectedSection\n }\n onOverflowCollapsedChange={setOverflowCollapsed}\n ></Selector>\n )}\n </>\n )}\n </div>\n </SelectTrigger>\n <Suffix\n showArrow={showArrow}\n allowClear={allowClear}\n disabled={disabled}\n loading={loading}\n isHover={isHover}\n onClear={() => {\n onToggleOpen(false);\n\n onDisplayValuesChange([], {\n type: 'clear',\n values: displayValues,\n });\n onClear?.();\n }}\n isActive={innerOpen}\n icon={suffixIcon}\n displayValues={displayValues}\n ></Suffix>\n </div>\n );\n },\n);\n\nexport default BaseSelect;\n"],"mappings":"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"}
1
+ {"version":3,"file":"BaseSelect.js","names":["React","useMergedState","cn","prefixCls","AlignType","points","offset","targetOffset","overflow","adjustX","adjustY","_experimental","Record","SelectTrigger","RefTriggerProps","Selector","_","useContext","useRef","useState","FormItemInputContext","getWidthStyle","Suffix","PlacementType","BaseSelectRef","DisplayValueType","ISelectProps","LabelInValueType","SelectMenuProps","SizeContext","ConfigContext","useCompactItemContext","MenuInfo","toString","OptionCollection","SelectOptionCollection","RenderNode","ReactNode","props","RenderDOMFunc","HTMLElement","Mode","type","responsive","maxRows","showSelectedSection","RawValueType","splitAriaProps","Object","keys","reduce","ariaProps","restProps","result","key","startsWith","CustomTagProps","label","value","disabled","onClose","event","MouseEvent","closable","BaseSelectPrivateProps","omitDomProps","displayValues","onDisplayValuesChange","values","info","activeValue","activeDescendantId","onActiveValueChange","BaseSelectPropsWithoutPrivate","Omit","BaseSelectProps","AriaAttributes","className","style","CSSProperties","notFoundContent","onClear","innerSearchValue","setInnerSearchValue","displayMenu","optionCollection","open","defaultOpen","onOpenChange","onOptionSelect","val","onCollectionOptionSelect","allowClear","showArrow","suffixIcon","dropdownAlign","placement","getPopupContainer","onBlur","FocusEventHandler","onFocus","onKeyUp","KeyboardEventHandler","HTMLDivElement","onKeyDown","onMouseDown","MouseEventHandler","onPopupScroll","UIEventHandler","onInputKeyDown","HTMLInputElement","HTMLTextAreaElement","onMouseEnter","onMouseLeave","onClick","isMultiple","mode","isResponsive","isShowSelectedSection","BaseSelect","forwardRef","ref","Ref","id","width","status","customStatus","size","customSize","borderLess","placeholder","loading","showSearch","prefix","dropdownRender","overlayStyle","dropdownStyle","popupMatchSelectWidth","popupClassName","allowOverlap","dataTestid","ariaLabel","passthroughProps","useMemo","triggerAriaProps","setClassNames","selectRef","triggerRef","searchInputRef","widthStyle","dropdownRef","matchedPopupWidth","setMatchedPopupWidth","isResponsiveMode","isMultipleMode","contentSize","direction","compactSize","compactItemClassnames","contextStatus","mergedStatus","undefined","useImperativeHandle","focus","current","blur","onToggleOpen","close","console","log","isHover","setIsHover","activeOptionKey","setActiveOptionKey","showActiveOption","setShowActiveOption","composingSearchValue","setComposingSearchValue","isComposingSearchRef","isSearchableCollection","ownerAriaProps","innerOpen","setInnerOpen","defaultValue","mergedOpen","shouldMatchPopupWidth","updateMatchedPopupWidth","useCallback","nextWidth","getBoundingClientRect","currentWidth","newOpen","nextOpen","setShowResponsiveSelectedSection","getInitialActiveOptionKey","position","enabledOptions","length","selected","options","find","option","some","useEffect","useLayoutEffect","element","updateMatchedWidth","ResizeObserver","window","addEventListener","removeEventListener","resizeAnimationFrame","scheduleMatchedWidthUpdate","cancelAnimationFrame","requestAnimationFrame","observer","observe","disconnect","showResponsiveSelectedSection","overflowCollapsed","setOverflowCollapsed","onSelectorRemove","newValues","filter","item","mergedClassName","active","borderless","isEmpty","showMenu","keepOpen","onSelectClick","e","handleMouseOver","handleMouseOut","mergedPopupMatchSelectWidth","activeOptionId","moveActiveOption","currentIndex","findIndex","nextIndex","typeaheadRef","timestamp","onCollectionKeyDown","KeyboardEvent","openCollection","preventDefault","activeOption","altKey","ctrlKey","metaKey","now","Date","query","normalizedQuery","toLocaleLowerCase","activeIndex","orderedOptions","slice","match","String","onSearchInputKeyDown","defaultPrevented","onSearchInputChange","ChangeEvent","nextValue","target","searchInputValue","collectionContent","map","listHeight","flexShrink","listboxId","currentTarget"],"sources":["../../src/Select/BaseSelect.tsx"],"sourcesContent":["import './ald-select.css';\nimport * as React from 'react';\nimport useMergedState from 'rc-util/es/hooks/useMergedState';\nimport { cn } from '../lib/utils';\nimport prefixCls from '../_utils/prefixCls';\n\n/** Align config type (locally defined to avoid rc-trigger dependency) */\nexport interface AlignType {\n points?: string[];\n offset?: (number | string)[];\n targetOffset?: (number | string)[];\n overflow?: { adjustX?: boolean; adjustY?: boolean };\n _experimental?: Record<string, any>;\n}\nimport SelectTrigger, { RefTriggerProps } from './SelectTrigger';\nimport Selector from './Selector';\nimport _ from 'lodash';\nimport { useContext, useRef, useState } from 'react';\nimport { FormItemInputContext } from '../Form/FormItemContext';\nimport getWidthStyle from './utils/getWidthStyle';\nimport Suffix from './components/Suffix';\nimport { PlacementType } from '../Dropdown';\nimport {\n BaseSelectRef,\n DisplayValueType,\n ISelectProps,\n LabelInValueType,\n SelectMenuProps,\n} from './interface';\nimport SizeContext from '../ConfigProvider/sizeContext';\nimport { ConfigContext } from '../ConfigProvider';\nimport { useCompactItemContext } from '../Space/CompactContext';\nimport { MenuInfo } from '../Menu';\nimport { toString } from './utils/commonUtil';\nimport OptionCollection, {\n SelectOptionCollection,\n} from './components/OptionCollection';\n\nexport type RenderNode = React.ReactNode | ((props: any) => React.ReactNode);\n\nexport type RenderDOMFunc = (props: any) => HTMLElement;\n\nexport type Mode =\n | 'multiple'\n | {\n type: 'multiple';\n responsive?: boolean;\n maxRows?: number;\n showSelectedSection?: boolean;\n };\n\nexport type RawValueType = string | number;\n\nfunction splitAriaProps(props: Record<string, any>) {\n return Object.keys(props).reduce<{\n ariaProps: Record<string, any>;\n restProps: Record<string, any>;\n }>(\n (result, key) => {\n if (key.startsWith('aria-')) {\n result.ariaProps[key] = props[key];\n } else {\n result.restProps[key] = props[key];\n }\n return result;\n },\n { ariaProps: {}, restProps: {} },\n );\n}\n\nexport type CustomTagProps = {\n label: React.ReactNode;\n value: any;\n disabled: boolean;\n onClose: (event?: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n closable: boolean;\n};\nexport interface BaseSelectPrivateProps {\n // >>> MISC\n omitDomProps?: string[];\n\n // >>> Value\n displayValues: LabelInValueType[];\n onDisplayValuesChange: (\n values: LabelInValueType[],\n info: {\n type: 'add' | 'remove' | 'clear';\n values: LabelInValueType[];\n },\n ) => void;\n\n // >>> Active\n /** Current dropdown list active item string value */\n activeValue?: string;\n /** Link search input with target element */\n activeDescendantId?: string;\n onActiveValueChange?: (value: string | null) => void;\n}\n\nexport type BaseSelectPropsWithoutPrivate = Omit<\n BaseSelectProps,\n keyof BaseSelectPrivateProps\n>;\n\nexport interface BaseSelectProps\n extends BaseSelectPrivateProps,\n ISelectProps,\n React.AriaAttributes {\n className?: string;\n style?: React.CSSProperties;\n notFoundContent?: React.ReactNode;\n onClear?: () => void;\n innerSearchValue?: string;\n setInnerSearchValue?: (value: string) => void;\n displayMenu?: SelectMenuProps;\n optionCollection?: SelectOptionCollection;\n // >>> Open\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n onOptionSelect?: (val: RawValueType) => void;\n onCollectionOptionSelect?: (val: RawValueType) => void;\n\n // >>> Icons\n allowClear?: boolean;\n showArrow?: boolean;\n suffixIcon?: React.ReactNode;\n\n // >>> Dropdown\n dropdownAlign?: AlignType;\n placement?: PlacementType;\n getPopupContainer?: () => HTMLElement;\n\n // >>> Focus\n onBlur?: React.FocusEventHandler<HTMLElement>;\n onFocus?: React.FocusEventHandler<HTMLElement>;\n\n // >>> Rest Events\n onKeyUp?: React.KeyboardEventHandler<HTMLDivElement>;\n onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;\n onMouseDown?: React.MouseEventHandler<HTMLDivElement>;\n onPopupScroll?: React.UIEventHandler<HTMLDivElement>;\n onInputKeyDown?: React.KeyboardEventHandler<\n HTMLInputElement | HTMLTextAreaElement\n >;\n onMouseEnter?: React.MouseEventHandler<HTMLDivElement>;\n onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n}\n\nexport function isMultiple(mode?: Mode) {\n return !!mode;\n}\nexport function isResponsive(mode?: Mode) {\n return mode === 'multiple' || (typeof mode === 'object' && mode?.responsive);\n}\nexport function isShowSelectedSection(mode?: Mode) {\n if (!mode || mode === 'multiple') {\n return false;\n }\n\n return (\n typeof mode === 'object' && mode.showSelectedSection && mode.responsive\n );\n}\nconst BaseSelect = React.forwardRef(\n (props: BaseSelectProps, ref: React.Ref<BaseSelectRef>) => {\n const {\n id,\n className,\n // Value\n displayValues,\n onDisplayValuesChange,\n displayMenu,\n optionCollection,\n notFoundContent,\n onClear,\n width,\n mode,\n status: customStatus,\n onOptionSelect,\n onCollectionOptionSelect,\n onClick,\n size: customSize,\n borderLess = false,\n // Status\n disabled,\n placeholder,\n loading = false,\n\n // Open\n open,\n defaultOpen,\n onOpenChange,\n showSearch,\n innerSearchValue,\n setInnerSearchValue,\n onInputKeyDown,\n // Icons\n allowClear,\n showArrow = true,\n prefix,\n suffixIcon,\n dropdownRender,\n overlayStyle,\n dropdownStyle,\n popupMatchSelectWidth = true,\n placement,\n popupClassName,\n allowOverlap,\n style,\n 'data-testid': dataTestid,\n 'aria-label': ariaLabel,\n ...restProps\n // Rest Props\n } = props;\n const { ariaProps, restProps: passthroughProps } = React.useMemo(\n () => splitAriaProps(restProps),\n [restProps],\n );\n const triggerAriaProps = React.useMemo<React.AriaAttributes>(\n () => ({\n ...ariaProps,\n 'aria-label': ariaLabel,\n }),\n [ariaLabel, ariaProps],\n );\n const setClassNames = prefixCls('select');\n const selectRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const widthStyle = getWidthStyle(width);\n const dropdownRef = useRef<RefTriggerProps>(null);\n const [matchedPopupWidth, setMatchedPopupWidth] = useState<\n number | undefined\n >();\n const isResponsiveMode = isResponsive(mode);\n const isMultipleMode = isMultiple(mode);\n /** Used for component focused management */\n const contentSize = useContext(SizeContext);\n const { direction } = React.useContext(ConfigContext);\n // ===================== Compact Item =====================\n const { compactSize, compactItemClassnames } = useCompactItemContext(\n 'ald-select',\n direction,\n );\n const size = compactSize || customSize || contentSize || 'middle';\n const {\n status: contextStatus,\n // hasFeedback,\n // isFormItemInput,\n // feedbackIcon,\n } = useContext(FormItemInputContext);\n\n const mergedStatus =\n customStatus === null ? undefined : customStatus || contextStatus;\n\n // =========================== Imperative ===========================\n React.useImperativeHandle(ref, () => ({\n // The trigger is the Select focus owner. Keeping this as a real DOM\n // focus target makes keyboard focus, the Focus State Layer, and the\n // public imperative API describe the same element.\n focus: () => {\n if (showSearch && optionCollection) {\n searchInputRef.current?.focus();\n } else {\n triggerRef.current?.focus();\n }\n },\n blur: () => {\n if (showSearch && optionCollection) {\n searchInputRef.current?.blur();\n } else {\n triggerRef.current?.blur();\n }\n },\n open: () => onToggleOpen(true),\n close: () => {\n console.log('ref close');\n onToggleOpen(false);\n },\n }));\n const [isHover, setIsHover] = useState(false);\n const [activeOptionKey, setActiveOptionKey] = useState<string>();\n const [showActiveOption, setShowActiveOption] = useState(false);\n const [composingSearchValue, setComposingSearchValue] = useState<\n string | undefined\n >();\n const isComposingSearchRef = useRef(false);\n const isSearchableCollection = !!optionCollection && !!showSearch;\n const ownerAriaProps = React.useMemo(\n () => ({\n ...triggerAriaProps,\n 'aria-busy': loading || triggerAriaProps['aria-busy'] || undefined,\n 'aria-invalid':\n triggerAriaProps['aria-invalid'] ??\n (mergedStatus === 'error' ? true : undefined),\n }),\n [loading, mergedStatus, triggerAriaProps],\n );\n // ============================== Open ==============================\n const [innerOpen, setInnerOpen] = useMergedState<boolean>(false, {\n defaultValue: defaultOpen,\n value: open,\n });\n const mergedOpen = innerOpen;\n const shouldMatchPopupWidth =\n !!popupMatchSelectWidth && typeof popupMatchSelectWidth !== 'number';\n const updateMatchedPopupWidth = React.useCallback(() => {\n if (!shouldMatchPopupWidth) {\n return;\n }\n\n const nextWidth = selectRef.current?.getBoundingClientRect().width;\n if (nextWidth !== undefined) {\n setMatchedPopupWidth((currentWidth) =>\n currentWidth === nextWidth ? currentWidth : nextWidth,\n );\n }\n }, [shouldMatchPopupWidth]);\n const onToggleOpen = React.useCallback(\n (newOpen?: boolean) => {\n const nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n if (nextOpen) {\n updateMatchedPopupWidth();\n }\n if (!nextOpen) {\n setShowResponsiveSelectedSection(false);\n setShowActiveOption(false);\n }\n if (mergedOpen !== nextOpen && !disabled) {\n setInnerOpen(nextOpen);\n onOpenChange?.(nextOpen);\n }\n },\n [\n mergedOpen,\n disabled,\n setInnerOpen,\n onOpenChange,\n updateMatchedPopupWidth,\n ],\n );\n const getInitialActiveOptionKey = React.useCallback(\n (position: 'first' | 'last') => {\n if (!optionCollection) {\n return undefined;\n }\n\n if (position === 'last') {\n return optionCollection.enabledOptions[\n optionCollection.enabledOptions.length - 1\n ]?.key;\n }\n\n const selected = optionCollection.options.find(\n (option) =>\n !option.disabled &&\n displayValues.some(\n (value) => toString(value.value) === toString(option.value),\n ),\n );\n return selected?.key ?? optionCollection.enabledOptions[0]?.key;\n },\n [displayValues, optionCollection],\n );\n React.useEffect(() => {\n if (!optionCollection || !mergedOpen) {\n setActiveOptionKey(undefined);\n return;\n }\n\n setActiveOptionKey((current) =>\n optionCollection.enabledOptions.some((option) => option.key === current)\n ? current\n : getInitialActiveOptionKey('first'),\n );\n }, [getInitialActiveOptionKey, mergedOpen, optionCollection]);\n React.useLayoutEffect(() => {\n if (!mergedOpen || !shouldMatchPopupWidth) {\n return;\n }\n\n const element = selectRef.current;\n if (!element) {\n return;\n }\n\n const updateMatchedWidth = () => {\n const nextWidth = element.getBoundingClientRect().width;\n setMatchedPopupWidth((currentWidth) =>\n currentWidth === nextWidth ? currentWidth : nextWidth,\n );\n };\n\n updateMatchedWidth();\n\n if (typeof ResizeObserver === 'undefined') {\n window.addEventListener('resize', updateMatchedWidth);\n return () => {\n window.removeEventListener('resize', updateMatchedWidth);\n };\n }\n\n let resizeAnimationFrame: number | undefined;\n const scheduleMatchedWidthUpdate = () => {\n if (resizeAnimationFrame !== undefined) {\n cancelAnimationFrame(resizeAnimationFrame);\n }\n resizeAnimationFrame = requestAnimationFrame(updateMatchedWidth);\n };\n\n const observer = new ResizeObserver(scheduleMatchedWidthUpdate);\n observer.observe(element);\n\n return () => {\n if (resizeAnimationFrame !== undefined) {\n cancelAnimationFrame(resizeAnimationFrame);\n }\n observer.disconnect();\n };\n }, [mergedOpen, shouldMatchPopupWidth]);\n const [showResponsiveSelectedSection, setShowResponsiveSelectedSection] =\n useState(false);\n // 多选 responsive 进入 -1 收纳态(仅\"首 tag + +N\")时为 true,\n // width:auto 下据此给根节点加 overflow-collapsed 钳住 min-width 链,\n // 抵抗父 flex 行因 intrinsic 低估造成的假压缩(详见 ald-select.css 对应段)\n const [overflowCollapsed, setOverflowCollapsed] = useState(false);\n\n // ============================ Selector ============================\n const onSelectorRemove = (val: DisplayValueType) => {\n const newValues = displayValues.filter(\n (item) => toString(item.value) !== toString(val.value),\n );\n\n onDisplayValuesChange(newValues, {\n type: 'remove',\n values: [\n {\n label: val.label,\n value: val.value as RawValueType,\n },\n ],\n });\n };\n\n const mergedClassName = cn(\n setClassNames('beta-ald-select', size, {\n // Popup visibility is not focus. The trigger's :focus-visible state\n // owns the Focus State Layer in ald-select.css.\n open: mergedOpen,\n // Retain the legacy hook for consumers that style the open state.\n // It no longer represents trigger focus.\n active: mergedOpen,\n borderless: borderLess,\n disabled: disabled,\n loading: loading,\n [`${mergedStatus}`]: !!mergedStatus,\n 'multiple-responsive': isResponsiveMode,\n 'multiple-default': isMultipleMode && !isResponsiveMode,\n // 仅 width:auto 生效:固定宽度下 -1 收纳态的收缩省略是预期行为,\n // 钳 min-width 反而会把固定宽撑破\n 'overflow-collapsed':\n overflowCollapsed && width === 'auto' && !_.isEmpty(displayValues),\n }),\n 'tw-text-typography-body-dense',\n className,\n compactItemClassnames,\n );\n const showMenu = React.useMemo(() => {\n if (!displayMenu) {\n return undefined;\n }\n\n return {\n ...displayMenu,\n onClick: (info: MenuInfo) => {\n displayMenu?.onClick?.(info);\n if (isMultipleMode) {\n // 多选默认选中后不收起下拉:Dropdown 在 menu.onClick 之后读\n // info.keepOpen 决定是否 onChangeOpen(false),不设则每次点击都被\n // 当成关闭信号。用 ?? 保留用户在自己的 onClick 里显式设 false 的能力\n info.keepOpen = info.keepOpen ?? true;\n } else if (displayMenu) {\n onToggleOpen(false);\n }\n setIsHover(false);\n onOptionSelect?.(info.key);\n },\n };\n }, [displayMenu, isMultipleMode, onToggleOpen, onOptionSelect]);\n const onSelectClick = React.useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) {\n return;\n }\n onClick?.(e);\n },\n [disabled, onClick],\n );\n React.useEffect(() => {\n const element = selectRef.current;\n if (element) {\n const handleMouseOver = () => setIsHover(true);\n const handleMouseOut = () => setIsHover(false);\n\n element.addEventListener('mouseover', handleMouseOver);\n element.addEventListener('mouseout', handleMouseOut);\n\n return () => {\n element.removeEventListener('mouseover', handleMouseOver);\n element.removeEventListener('mouseout', handleMouseOut);\n };\n }\n }, []);\n const mergedPopupMatchSelectWidth =\n shouldMatchPopupWidth && matchedPopupWidth !== undefined\n ? matchedPopupWidth\n : popupMatchSelectWidth;\n const activeOptionId = optionCollection?.options.find(\n (option) => option.key === activeOptionKey,\n )?.id;\n const moveActiveOption = React.useCallback(\n (direction: 1 | -1) => {\n if (!optionCollection || optionCollection.enabledOptions.length === 0) {\n return;\n }\n\n const currentIndex = optionCollection.enabledOptions.findIndex(\n (option) => option.key === activeOptionKey,\n );\n const nextIndex =\n currentIndex === -1\n ? direction === 1\n ? 0\n : optionCollection.enabledOptions.length - 1\n : (currentIndex +\n direction +\n optionCollection.enabledOptions.length) %\n optionCollection.enabledOptions.length;\n setActiveOptionKey(optionCollection.enabledOptions[nextIndex].key);\n },\n [activeOptionKey, optionCollection],\n );\n const typeaheadRef = useRef({ value: '', timestamp: 0 });\n const onCollectionKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLElement>) => {\n if (!optionCollection || disabled) {\n return;\n }\n\n const openCollection = (position: 'first' | 'last') => {\n event.preventDefault();\n setActiveOptionKey(getInitialActiveOptionKey(position));\n setShowActiveOption(true);\n onToggleOpen(true);\n };\n\n if (!mergedOpen) {\n if (event.key === 'ArrowDown') {\n openCollection('first');\n } else if (event.key === 'ArrowUp') {\n openCollection('last');\n } else if (event.key === 'Enter' || event.key === ' ') {\n openCollection('first');\n }\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n setShowActiveOption(true);\n moveActiveOption(1);\n return;\n }\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n setShowActiveOption(true);\n moveActiveOption(-1);\n return;\n }\n if (event.key === 'Home') {\n event.preventDefault();\n setShowActiveOption(true);\n setActiveOptionKey(optionCollection.enabledOptions[0]?.key);\n return;\n }\n if (event.key === 'End') {\n event.preventDefault();\n setShowActiveOption(true);\n setActiveOptionKey(\n optionCollection.enabledOptions[\n optionCollection.enabledOptions.length - 1\n ]?.key,\n );\n return;\n }\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n const activeOption = optionCollection.options.find(\n (option) => option.key === activeOptionKey,\n );\n if (activeOption && !activeOption.disabled) {\n if (!isMultipleMode) {\n onToggleOpen(false);\n }\n onCollectionOptionSelect?.(activeOption.value);\n }\n return;\n }\n if (event.key === 'Escape') {\n event.preventDefault();\n onToggleOpen(false);\n if (isSearchableCollection) {\n searchInputRef.current?.focus();\n } else {\n triggerRef.current?.focus();\n }\n return;\n }\n if (event.key === 'Tab') {\n onToggleOpen(false);\n return;\n }\n if (\n event.key.length === 1 &&\n !event.altKey &&\n !event.ctrlKey &&\n !event.metaKey\n ) {\n const now = Date.now();\n const query =\n now - typeaheadRef.current.timestamp > 500\n ? event.key\n : `${typeaheadRef.current.value}${event.key}`;\n typeaheadRef.current = { value: query, timestamp: now };\n const normalizedQuery = query.toLocaleLowerCase();\n const activeIndex = optionCollection.enabledOptions.findIndex(\n (option) => option.key === activeOptionKey,\n );\n const orderedOptions = [\n ...optionCollection.enabledOptions.slice(activeIndex + 1),\n ...optionCollection.enabledOptions.slice(0, activeIndex + 1),\n ];\n const match = orderedOptions.find((option) =>\n String(option.label ?? option.value)\n .toLocaleLowerCase()\n .startsWith(normalizedQuery),\n );\n if (match) {\n event.preventDefault();\n setShowActiveOption(true);\n setActiveOptionKey(match.key);\n }\n }\n },\n [\n activeOptionKey,\n disabled,\n getInitialActiveOptionKey,\n mergedOpen,\n moveActiveOption,\n onCollectionOptionSelect,\n onToggleOpen,\n optionCollection,\n isSearchableCollection,\n ],\n );\n const onSearchInputKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n onInputKeyDown?.(event);\n if (event.defaultPrevented) {\n return;\n }\n\n if (\n event.key === ' ' ||\n (event.key.length === 1 &&\n !event.altKey &&\n !event.ctrlKey &&\n !event.metaKey)\n ) {\n return;\n }\n\n onCollectionKeyDown(event);\n },\n [onCollectionKeyDown, onInputKeyDown],\n );\n const onSearchInputChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const nextValue = event.target.value;\n if (isComposingSearchRef.current) {\n setComposingSearchValue(nextValue);\n return;\n }\n setInnerSearchValue?.(nextValue);\n },\n [setInnerSearchValue],\n );\n const searchInputValue = composingSearchValue ?? innerSearchValue ?? '';\n const collectionContent = optionCollection ? (\n <OptionCollection\n collection={optionCollection}\n selectedValues={displayValues.map((item) => item.value as RawValueType)}\n activeOptionKey={showActiveOption ? activeOptionKey : undefined}\n multiple={isMultipleMode}\n loading={loading}\n listHeight={props.listHeight ?? 256}\n notFoundContent={notFoundContent}\n onSelect={(value) => {\n if (!isMultipleMode) {\n onToggleOpen(false);\n }\n onCollectionOptionSelect?.(value);\n }}\n onPointerMove={() => setShowActiveOption(false)}\n />\n ) : undefined;\n return (\n <div\n className={mergedClassName}\n style={{\n ...widthStyle,\n // width:auto 且无选中值时锁 shrink:Chromium 对该子树给父 flex 行的\n // intrinsic 宽度贡献恒少约 14px,父行按低估值布局后回头压缩根节点,\n // placeholder 右侧会被裁;有选中值时必须保持可压缩,rc-overflow\n // 才能在父行变窄时把放不下的 tag 收纳成 \"+N\"\n ...(width === 'auto' && _.isEmpty(displayValues)\n ? { flexShrink: 0 }\n : {}),\n ...style,\n }}\n ref={selectRef}\n id={id}\n onClick={onSelectClick}\n data-testid={dataTestid}\n aria-label={ariaLabel}\n >\n <SelectTrigger\n {...passthroughProps}\n open={!!mergedOpen}\n notFoundContent={notFoundContent}\n menu={showMenu}\n collection={collectionContent}\n ref={dropdownRef}\n showSearch={showSearch}\n searchValue={innerSearchValue}\n setInnerSearchValue={setInnerSearchValue}\n popupMatchSelectWidth={mergedPopupMatchSelectWidth}\n overlayClassName={popupClassName}\n // @ts-ignore\n dropdownRender={dropdownRender}\n overlayStyle={overlayStyle || dropdownStyle}\n placement={placement}\n allowOverlap={allowOverlap}\n onOpenChange={(open) => {\n setShowActiveOption(false);\n if (isResponsiveMode) {\n if (\n !mergedOpen &&\n !showResponsiveSelectedSection &&\n displayValues.length > 0 &&\n isShowSelectedSection(mode)\n ) {\n setShowResponsiveSelectedSection(true);\n } else {\n onToggleOpen(open);\n }\n } else {\n onToggleOpen(open);\n }\n }}\n >\n {/* antd 兼容:保留 ant-* class,消费方 CSS 可能依赖该选择器 */}\n <div\n {...(!isSearchableCollection ? ownerAriaProps : {})}\n ref={triggerRef}\n tabIndex={isSearchableCollection || disabled ? undefined : 0}\n role={isSearchableCollection ? undefined : 'combobox'}\n aria-disabled={\n isSearchableCollection ? undefined : disabled || undefined\n }\n aria-expanded={isSearchableCollection ? undefined : mergedOpen}\n aria-haspopup={\n isSearchableCollection\n ? undefined\n : optionCollection\n ? 'listbox'\n : undefined\n }\n aria-controls={\n isSearchableCollection\n ? undefined\n : mergedOpen && optionCollection\n ? optionCollection.listboxId\n : undefined\n }\n aria-activedescendant={\n isSearchableCollection\n ? undefined\n : mergedOpen && optionCollection\n ? activeOptionId\n : undefined\n }\n onKeyDown={\n isSearchableCollection\n ? undefined\n : optionCollection\n ? onCollectionKeyDown\n : undefined\n }\n className={cn(setClassNames('trigger'), 'ant-select-selector')}\n >\n {prefix && <div className={setClassNames('prefix')}>{prefix}</div>}\n {isSearchableCollection ? (\n <input\n {...ownerAriaProps}\n ref={searchInputRef}\n type=\"text\"\n role=\"combobox\"\n className={setClassNames('search-input')}\n value={searchInputValue}\n disabled={disabled}\n placeholder={\n typeof placeholder === 'string' ? placeholder : undefined\n }\n aria-disabled={disabled || undefined}\n aria-expanded={mergedOpen}\n aria-haspopup=\"listbox\"\n aria-controls={\n mergedOpen ? optionCollection?.listboxId : undefined\n }\n aria-activedescendant={mergedOpen ? activeOptionId : undefined}\n onFocus={() => onToggleOpen(true)}\n onChange={onSearchInputChange}\n onCompositionStart={() => {\n isComposingSearchRef.current = true;\n }}\n onCompositionEnd={(event) => {\n isComposingSearchRef.current = false;\n setComposingSearchValue(undefined);\n setInnerSearchValue?.(event.currentTarget.value);\n }}\n onKeyDown={onSearchInputKeyDown}\n />\n ) : (\n <>\n {_.isEmpty(displayValues) && (\n <div\n className={cn(\n setClassNames('placeholder'),\n 'ant-select-selection-placeholder',\n )}\n >\n {placeholder}\n </div>\n )}\n {!_.isEmpty(displayValues) && (\n <Selector\n {...passthroughProps}\n suffixIcon={suffixIcon}\n size={size}\n disabled={disabled}\n mode={mode}\n dropdownRef={dropdownRef}\n displayValues={displayValues}\n onToggleOpen={onToggleOpen}\n onRemove={onSelectorRemove}\n showResponsiveSelectedSection={\n showResponsiveSelectedSection\n }\n onOverflowCollapsedChange={setOverflowCollapsed}\n ></Selector>\n )}\n </>\n )}\n </div>\n </SelectTrigger>\n <Suffix\n showArrow={showArrow}\n allowClear={allowClear}\n disabled={disabled}\n loading={loading}\n isHover={isHover}\n onClear={() => {\n onToggleOpen(false);\n\n onDisplayValuesChange([], {\n type: 'clear',\n values: displayValues,\n });\n onClear?.();\n }}\n isActive={innerOpen}\n icon={suffixIcon}\n displayValues={displayValues}\n ></Suffix>\n </div>\n );\n },\n);\n\nexport default BaseSelect;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAqDA,SAAS+C,eAAeT,OAA4B;AAClD,QAAOU,OAAOC,KAAKX,MAAM,CAACY,QAIvBG,QAAQC,QAAQ;AACf,MAAIA,IAAIC,WAAW,QAAQ,CACzBF,QAAOF,UAAUG,OAAOhB,MAAMgB;MAE9BD,QAAOD,UAAUE,OAAOhB,MAAMgB;AAEhC,SAAOD;IAET;EAAEF,WAAW,EAAE;EAAEC,WAAW,EAAC;EAC/B,CAAC;;AAmFH,SAAgB+D,WAAWC,MAAa;AACtC,QAAO,CAAC,CAACA;;AAEX,SAAgBC,aAAaD,MAAa;AACxC,QAAOA,SAAS,cAAe,OAAOA,SAAS,YAAYA,MAAMzE;;AAEnE,SAAgB2E,sBAAsBF,MAAa;AACjD,KAAI,CAACA,QAAQA,SAAS,WACpB,QAAO;AAGT,QACE,OAAOA,SAAS,YAAYA,KAAKvE,uBAAuBuE,KAAKzE;;AAGjE,IAAM4E,aAAavH,QAAMwH,YACtBlF,OAAwBmF,QAAkC;CACzD,MAAM,EACJE,IACA9C,WAEAX,eACAC,uBACAiB,aACAC,kBACAL,iBACAC,SACA2C,OACAR,MACAS,QAAQC,cACRrC,gBACAE,0BACAuB,SACAa,MAAMC,YACNC,aAAa,OAEbtE,UACAuE,aACAC,UAAU,OAGV7C,MACAC,aACAC,cACA4C,YACAlD,kBACAC,qBACA0B,gBAEAjB,YACAC,YAAY,MACZwC,QACAvC,YACAwC,gBACAC,cACAC,eACAC,wBAAwB,MACxBzC,WACA0C,gBACAC,cACA7D,OACA,eAAe8D,YACf,cAAcC,WACd,GAAGzF,cAEDd;CACJ,MAAM,EAAEa,WAAWC,WAAW0F,qBAAqB9I,QAAM+I,cACjDhG,eAAeK,UAAU,EAC/B,CAACA,UACH,CAAC;CACD,MAAM4F,mBAAmBhJ,QAAM+I,eACtB;EACL,GAAG5F;EACH,cAAc0F;EACf,GACD,CAACA,WAAW1F,UACd,CAAC;CACD,MAAM8F,gBAAgB9I,UAAU,SAAS;CACzC,MAAM+I,YAAYhI,OAAuB,KAAK;CAC9C,MAAMiI,aAAajI,OAAuB,KAAK;CAC/C,MAAMkI,iBAAiBlI,OAAyB,KAAK;CACrD,MAAMmI,aAAahI,cAAcuG,MAAM;CACvC,MAAM0B,cAAcpI,OAAwB,KAAK;CACjD,MAAM,CAACqI,mBAAmBC,wBAAwBrI,UAE/C;CACH,MAAMsI,mBAAmBpC,aAAaD,KAAK;CAC3C,MAAMsC,iBAAiBvC,WAAWC,KAAK;;CAEvC,MAAMuC,cAAc1I,WAAWY,YAAY;CAC3C,MAAM,EAAE+H,cAAc5J,QAAMiB,WAAWa,cAAc;CAErD,MAAM,EAAE+H,aAAaC,0BAA0B/H,sBAC7C,cACA6H,UACD;CACD,MAAM7B,OAAO8B,eAAe7B,cAAc2B,eAAe;CACzD,MAAM,EACJ9B,QAAQkC,kBAIN9I,WAAWG,qBAAqB;CAEpC,MAAM4I,eACJlC,iBAAiB,OAAOmC,SAAYnC,gBAAgBiC;AAGtD/J,SAAMkK,oBAAoBzC,YAAY;EAIpC0C,aAAa;AACX,OAAI/B,cAAc/C,iBAChB+D,gBAAegB,SAASD,OAAO;OAE/BhB,YAAWiB,SAASD,OAAO;;EAG/BE,YAAY;AACV,OAAIjC,cAAc/C,iBAChB+D,gBAAegB,SAASC,MAAM;OAE9BlB,YAAWiB,SAASC,MAAM;;EAG9B/E,YAAYgF,aAAa,KAAK;EAC9BC,aAAa;AACXC,WAAQC,IAAI,YAAY;AACxBH,gBAAa,MAAM;;EAEtB,EAAE;CACH,MAAM,CAACI,SAASC,cAAcxJ,SAAS,MAAM;CAC7C,MAAM,CAACyJ,iBAAiBC,sBAAsB1J,UAAkB;CAChE,MAAM,CAAC2J,kBAAkBC,uBAAuB5J,SAAS,MAAM;CAC/D,MAAM,CAAC6J,sBAAsBC,2BAA2B9J,UAErD;CACH,MAAM+J,uBAAuBhK,OAAO,MAAM;CAC1C,MAAMiK,yBAAyB,CAAC,CAAC9F,oBAAoB,CAAC,CAAC+C;CACvD,MAAMgD,iBAAiBpL,QAAM+I,eACpB;EACL,GAAGC;EACH,aAAab,WAAWa,iBAAiB,gBAAgBiB;EACzD,gBACEjB,iBAAiB,oBAChBgB,iBAAiB,UAAU,OAAOC;EACtC,GACD;EAAC9B;EAAS6B;EAAchB;EAC1B,CAAC;CAED,MAAM,CAACqC,WAAWC,gBAAgBrL,eAAwB,OAAO;EAC/DsL,cAAchG;EACd7B,OAAO4B;EACR,CAAC;CACF,MAAMkG,aAAaH;CACnB,MAAMI,wBACJ,CAAC,CAAChD,yBAAyB,OAAOA,0BAA0B;CAC9D,MAAMiD,0BAA0B1L,QAAM2L,kBAAkB;AACtD,MAAI,CAACF,sBACH;EAGF,MAAMG,YAAY1C,UAAUkB,SAASyB,uBAAuB,CAACjE;AAC7D,MAAIgE,cAAc3B,OAChBT,uBAAsBsC,iBACpBA,iBAAiBF,YAAYE,eAAeF,UAC7C;IAEF,CAACH,sBAAsB,CAAC;CAC3B,MAAMnB,eAAetK,QAAM2L,aACxBI,YAAsB;EACrB,MAAMC,WAAWD,YAAY9B,SAAY8B,UAAU,CAACP;AACpD,MAAIQ,SACFN,0BAAyB;AAE3B,MAAI,CAACM,UAAU;AACbC,oCAAiC,MAAM;AACvClB,uBAAoB,MAAM;;AAE5B,MAAIS,eAAeQ,YAAY,CAACrI,UAAU;AACxC2H,gBAAaU,SAAS;AACtBxG,kBAAewG,SAAS;;IAG5B;EACER;EACA7H;EACA2H;EACA9F;EACAkG;EAEJ,CAAC;CACD,MAAMQ,4BAA4BlM,QAAM2L,aACrCQ,aAA+B;AAC9B,MAAI,CAAC9G,iBACH;AAGF,MAAI8G,aAAa,OACf,QAAO9G,iBAAiB+G,eACtB/G,iBAAiB+G,eAAeC,SAAS,IACxC/I;AAUL,SAPiB+B,iBAAiBkH,QAAQC,MACvCC,WACC,CAACA,OAAO9I,YACRO,cAAcwI,MACXhJ,UAAUzB,SAASyB,MAAMA,MAAM,KAAKzB,SAASwK,OAAO/I,MACvD,CACJ,CAAC,EACgBJ,OAAO+B,iBAAiB+G,eAAe,IAAI9I;IAE9D,CAACY,eAAemB,iBAClB,CAAC;AACDrF,SAAM2M,gBAAgB;AACpB,MAAI,CAACtH,oBAAoB,CAACmG,YAAY;AACpCX,sBAAmBZ,OAAU;AAC7B;;AAGFY,sBAAoBT,YAClB/E,iBAAiB+G,eAAeM,MAAMD,aAAWA,SAAOnJ,QAAQ8G,QAAQ,GACpEA,UACA8B,0BAA0B,QAChC,CAAC;IACA;EAACA;EAA2BV;EAAYnG;EAAiB,CAAC;AAC7DrF,SAAM4M,sBAAsB;AAC1B,MAAI,CAACpB,cAAc,CAACC,sBAClB;EAGF,MAAMoB,UAAU3D,UAAUkB;AAC1B,MAAI,CAACyC,QACH;EAGF,MAAMC,2BAA2B;GAC/B,MAAMlB,cAAYiB,QAAQhB,uBAAuB,CAACjE;AAClD4B,yBAAsBsC,mBACpBA,mBAAiBF,cAAYE,iBAAeF,YAC7C;;AAGHkB,sBAAoB;AAEpB,MAAI,OAAOC,mBAAmB,aAAa;AACzCC,UAAOC,iBAAiB,UAAUH,mBAAmB;AACrD,gBAAa;AACXE,WAAOE,oBAAoB,UAAUJ,mBAAmB;;;EAI5D,IAAIK;EACJ,MAAMC,mCAAmC;AACvC,OAAID,yBAAyBlD,OAC3BoD,sBAAqBF,qBAAqB;AAE5CA,0BAAuBG,sBAAsBR,mBAAmB;;EAGlE,MAAMS,WAAW,IAAIR,eAAeK,2BAA2B;AAC/DG,WAASC,QAAQX,QAAQ;AAEzB,eAAa;AACX,OAAIM,yBAAyBlD,OAC3BoD,sBAAqBF,qBAAqB;AAE5CI,YAASE,YAAY;;IAEtB,CAACjC,YAAYC,sBAAsB,CAAC;CACvC,MAAM,CAACiC,+BAA+BzB,oCACpC9K,SAAS,MAAM;CAIjB,MAAM,CAACwM,mBAAmBC,wBAAwBzM,SAAS,MAAM;CAGjE,MAAM0M,oBAAoBnI,QAA0B;AAKlDvB,wBAJkBD,cAAc6J,QAC7BC,SAAS/L,SAAS+L,KAAKtK,MAAM,KAAKzB,SAASyD,IAAIhC,MAClD,CAAC,EAEgC;GAC/BhB,MAAM;GACN0B,QAAQ,CACN;IACEX,OAAOiC,IAAIjC;IACXC,OAAOgC,IAAIhC;IACZ,CAAA;GAEJ,CAAC;;CAGJ,MAAMuK,kBAAkB/N,GACtB+I,cAAc,mBAAmBlB,MAAM;EAGrCzC,MAAMkG;EAGN0C,QAAQ1C;EACR2C,YAAYlG;EACFtE;EACDwE;GACR,GAAG6B,iBAAiB,CAAC,CAACA;EACvB,uBAAuBP;EACvB,oBAAoBC,kBAAkB,CAACD;EAGvC,sBACEkE,qBAAqB/F,UAAU,UAAU,CAAC5G,EAAEoN,QAAQlK,cAAa;EACpE,CAAC,EACF,iCACAW,WACAiF,sBACD;CACD,MAAMuE,WAAWrO,QAAM+I,cAAc;AACnC,MAAI,CAAC3D,YACH;AAGF,SAAO;GACL,GAAGA;GACH8B,UAAU7C,SAAmB;AAC3Be,iBAAa8B,UAAU7C,KAAK;AAC5B,QAAIqF,eAIFrF,MAAKiK,WAAWjK,KAAKiK,YAAY;aACxBlJ,YACTkF,cAAa,MAAM;AAErBK,eAAW,MAAM;AACjBlF,qBAAiBpB,KAAKf,IAAI;;GAE7B;IACA;EAAC8B;EAAasE;EAAgBY;EAAc7E;EAAe,CAAC;CAC/D,MAAM8I,gBAAgBvO,QAAM2L,aACzB6C,MAAwC;AACvC,MAAI7K,SACF;AAEFuD,YAAUsH,EAAE;IAEd,CAAC7K,UAAUuD,QACb,CAAC;AACDlH,SAAM2M,gBAAgB;EACpB,MAAME,YAAU3D,UAAUkB;AAC1B,MAAIyC,WAAS;GACX,MAAM4B,wBAAwB9D,WAAW,KAAK;GAC9C,MAAM+D,uBAAuB/D,WAAW,MAAM;AAE9CkC,aAAQI,iBAAiB,aAAawB,gBAAgB;AACtD5B,aAAQI,iBAAiB,YAAYyB,eAAe;AAEpD,gBAAa;AACX7B,cAAQK,oBAAoB,aAAauB,gBAAgB;AACzD5B,cAAQK,oBAAoB,YAAYwB,eAAe;;;IAG1D,EAAE,CAAC;CACN,MAAMC,8BACJlD,yBAAyBlC,sBAAsBU,SAC3CV,oBACAd;CACN,MAAMmG,iBAAiBvJ,kBAAkBkH,QAAQC,MAC9CC,aAAWA,SAAOnJ,QAAQsH,gBAC5B,EAAEjD;CACH,MAAMkH,mBAAmB7O,QAAM2L,aAC5B/B,gBAAsB;AACrB,MAAI,CAACvE,oBAAoBA,iBAAiB+G,eAAeC,WAAW,EAClE;EAGF,MAAMyC,eAAezJ,iBAAiB+G,eAAe2C,WAClDtC,aAAWA,SAAOnJ,QAAQsH,gBAC5B;EACD,MAAMoE,YACJF,iBAAiB,KACblF,gBAAc,IACZ,IACAvE,iBAAiB+G,eAAeC,SAAS,KAC1CyC,eACClF,cACAvE,iBAAiB+G,eAAeC,UAClChH,iBAAiB+G,eAAeC;AACtCxB,qBAAmBxF,iBAAiB+G,eAAe4C,WAAW1L,IAAI;IAEpE,CAACsH,iBAAiBvF,iBACpB,CAAC;CACD,MAAM4J,eAAe/N,OAAO;EAAEwC,OAAO;EAAIwL,WAAW;EAAG,CAAC;CACxD,MAAMC,sBAAsBnP,QAAM2L,aAC/B9H,UAA4C;AAC3C,MAAI,CAACwB,oBAAoB1B,SACvB;EAGF,MAAM0L,kBAAkBlD,eAA+B;AACrDtI,SAAMyL,gBAAgB;AACtBzE,sBAAmBqB,0BAA0BC,WAAS,CAAC;AACvDpB,uBAAoB,KAAK;AACzBT,gBAAa,KAAK;;AAGpB,MAAI,CAACkB,YAAY;AACf,OAAI3H,MAAMP,QAAQ,YAChB+L,gBAAe,QAAQ;YACdxL,MAAMP,QAAQ,UACvB+L,gBAAe,OAAO;YACbxL,MAAMP,QAAQ,WAAWO,MAAMP,QAAQ,IAChD+L,gBAAe,QAAQ;AAEzB;;AAGF,MAAIxL,MAAMP,QAAQ,aAAa;AAC7BO,SAAMyL,gBAAgB;AACtBvE,uBAAoB,KAAK;AACzB8D,oBAAiB,EAAE;AACnB;;AAEF,MAAIhL,MAAMP,QAAQ,WAAW;AAC3BO,SAAMyL,gBAAgB;AACtBvE,uBAAoB,KAAK;AACzB8D,oBAAiB,GAAG;AACpB;;AAEF,MAAIhL,MAAMP,QAAQ,QAAQ;AACxBO,SAAMyL,gBAAgB;AACtBvE,uBAAoB,KAAK;AACzBF,sBAAmBxF,iBAAiB+G,eAAe,IAAI9I,IAAI;AAC3D;;AAEF,MAAIO,MAAMP,QAAQ,OAAO;AACvBO,SAAMyL,gBAAgB;AACtBvE,uBAAoB,KAAK;AACzBF,sBACExF,iBAAiB+G,eACf/G,iBAAiB+G,eAAeC,SAAS,IACxC/I,IACJ;AACD;;AAEF,MAAIO,MAAMP,QAAQ,WAAWO,MAAMP,QAAQ,KAAK;AAC9CO,SAAMyL,gBAAgB;GACtB,MAAMC,eAAelK,iBAAiBkH,QAAQC,MAC3CC,aAAWA,SAAOnJ,QAAQsH,gBAC5B;AACD,OAAI2E,gBAAgB,CAACA,aAAa5L,UAAU;AAC1C,QAAI,CAAC+F,eACHY,cAAa,MAAM;AAErB3E,+BAA2B4J,aAAa7L,MAAM;;AAEhD;;AAEF,MAAIG,MAAMP,QAAQ,UAAU;AAC1BO,SAAMyL,gBAAgB;AACtBhF,gBAAa,MAAM;AACnB,OAAIa,uBACF/B,gBAAegB,SAASD,OAAO;OAE/BhB,YAAWiB,SAASD,OAAO;AAE7B;;AAEF,MAAItG,MAAMP,QAAQ,OAAO;AACvBgH,gBAAa,MAAM;AACnB;;AAEF,MACEzG,MAAMP,IAAI+I,WAAW,KACrB,CAACxI,MAAM2L,UACP,CAAC3L,MAAM4L,WACP,CAAC5L,MAAM6L,SACP;GACA,MAAMC,MAAMC,KAAKD,KAAK;GACtB,MAAME,QACJF,MAAMV,aAAa7E,QAAQ8E,YAAY,MACnCrL,MAAMP,MACN,GAAG2L,aAAa7E,QAAQ1G,QAAQG,MAAMP;AAC5C2L,gBAAa7E,UAAU;IAAE1G,OAAOmM;IAAOX,WAAWS;IAAK;GACvD,MAAMG,kBAAkBD,MAAME,mBAAmB;GACjD,MAAMC,cAAc3K,iBAAiB+G,eAAe2C,WACjDtC,aAAWA,SAAOnJ,QAAQsH,gBAC5B;GAKD,MAAMuF,QAJiB,CACrB,GAAG9K,iBAAiB+G,eAAe8D,MAAMF,cAAc,EAAE,EACzD,GAAG3K,iBAAiB+G,eAAe8D,MAAM,GAAGF,cAAc,EAAE,CAC7D,CAC4BxD,MAAMC,aACjC2D,OAAO3D,SAAOhJ,SAASgJ,SAAO/I,MAAM,CACjCqM,mBAAmB,CACnBxM,WAAWuM,gBAChB,CAAC;AACD,OAAIK,OAAO;AACTtM,UAAMyL,gBAAgB;AACtBvE,wBAAoB,KAAK;AACzBF,uBAAmBsF,MAAM7M,IAAI;;;IAInC;EACEsH;EACAjH;EACAuI;EACAV;EACAqD;EACAlJ;EACA2E;EACAjF;EACA8F;EAEJ,CAAC;CACD,MAAMkF,uBAAuBrQ,QAAM2L,aAChC9H,YAAiD;AAChDgD,mBAAiBhD,QAAM;AACvB,MAAIA,QAAMyM,iBACR;AAGF,MACEzM,QAAMP,QAAQ,OACbO,QAAMP,IAAI+I,WAAW,KACpB,CAACxI,QAAM2L,UACP,CAAC3L,QAAM4L,WACP,CAAC5L,QAAM6L,QAET;AAGFP,sBAAoBtL,QAAM;IAE5B,CAACsL,qBAAqBtI,eACxB,CAAC;CACD,MAAM0J,sBAAsBvQ,QAAM2L,aAC/B9H,YAA+C;EAC9C,MAAM4M,YAAY5M,QAAM6M,OAAOhN;AAC/B,MAAIwH,qBAAqBd,SAAS;AAChCa,2BAAwBwF,UAAU;AAClC;;AAEFtL,wBAAsBsL,UAAU;IAElC,CAACtL,oBACH,CAAC;CACD,MAAMwL,mBAAmB3F,wBAAwB9F,oBAAoB;CACrE,MAAM0L,oBAAoBvL,mBACxB,oBAAC,kBAAD;EACE,YAAYA;EACZ,gBAAgBnB,cAAc2M,KAAK7C,WAASA,OAAKtK,MAAsB;EACvE,iBAAiBoH,mBAAmBF,kBAAkBX;EACtD,UAAUP;EACDvB;EACT,YAAY7F,MAAMwO,cAAc;EACf9L;EACjB,WAAWtB,YAAU;AACnB,OAAI,CAACgG,eACHY,cAAa,MAAM;AAErB3E,8BAA2BjC,QAAM;;EAEnC,qBAAqBqH,oBAAoB,MAAM;EAC/C,CAAA,GACAd;AACJ,QACE,qBAAC,OAAD;EACE,WAAWgE;EACX,OAAO;GACL,GAAG5E;GAKH,GAAIzB,UAAU,UAAU5G,EAAEoN,QAAQlK,cAAc,GAC5C,EAAE6M,YAAY,GAAG,GACjB,EAAE;GACN,GAAGjM;GACJ;EACD,KAAKoE;EACDvB;EACJ,SAAS4G;EACT,eAAa3F;EACb,cAAYC;YAjBd,CAmBE,oBAAC,kBAAD;GACE,GAAIC;GACJ,MAAM,CAAC,CAAC0C;GACSxG;GACjB,MAAMqJ;GACN,YAAYuC;GACZ,KAAKtH;GACOlB;GACZ,aAAalD;GACQC;GACrB,uBAAuBwJ;GACvB,kBAAkBjG;GAEFJ;GAChB,cAAcC,gBAAgBC;GACnBxC;GACG2C;GACd,eAAerD,WAAS;AACtByF,wBAAoB,MAAM;AAC1B,QAAItB,iBACF,KACE,CAAC+B,cACD,CAACkC,iCACDxJ,cAAcmI,SAAS,KACvB/E,sBAAsBF,KAAK,CAE3B6E,kCAAiC,KAAK;QAEtC3B,cAAahF,OAAK;QAGpBgF,cAAahF,OAAK;;aAKtB,qBAAC,OAAD;IACE,GAAK,CAAC6F,yBAAyBC,iBAAiB,EAAG;IACnD,KAAKjC;IACL,UAAUgC,0BAA0BxH,WAAWsG,SAAY;IAC3D,MAAMkB,yBAAyBlB,SAAY;IAC3C,iBACEkB,yBAAyBlB,SAAYtG,YAAYsG;IAEnD,iBAAekB,yBAAyBlB,SAAYuB;IACpD,iBACEL,yBACIlB,SACA5E,mBACA,YACA4E;IAEN,iBACEkB,yBACIlB,SACAuB,cAAcnG,mBACdA,iBAAiB2L,YACjB/G;IAEN,yBACEkB,yBACIlB,SACAuB,cAAcnG,mBACduJ,iBACA3E;IAEN,WACEkB,yBACIlB,SACA5E,mBACA8J,sBACAlF;IAEN,WAAW/J,GAAG+I,cAAc,UAAU,EAAE,sBAAsB;cArChE,CAuCGZ,UAAU,oBAAC,OAAD;KAAK,WAAWY,cAAc,SAAS;eAAGZ;KAAa,CAAA,EACjE8C,yBACC,oBAAC,SAAD;KACE,GAAIC;KACJ,KAAKhC;KACL,MAAK;KACL,MAAK;KACL,WAAWH,cAAc,eAAe;KACxC,OAAO0H;KACGhN;KACV,aACE,OAAOuE,gBAAgB,WAAWA,cAAc+B;KAElD,iBAAetG,YAAYsG;KAC3B,iBAAeuB;KACf,iBAAc;KACd,iBACEA,aAAanG,kBAAkB2L,YAAY/G;KAE7C,yBAAuBuB,aAAaoD,iBAAiB3E;KACrD,eAAeK,aAAa,KAAK;KACjC,UAAUiG;KACV,0BAA0B;AACxBrF,2BAAqBd,UAAU;;KAEjC,mBAAmBvG,YAAU;AAC3BqH,2BAAqBd,UAAU;AAC/Ba,8BAAwBhB,OAAU;AAClC9E,4BAAsBtB,QAAMoN,cAAcvN,MAAM;;KAElD,WAAW2M;KACX,CAAA,GAEF,qBAAA,UAAA,EAAA,UAAA,CACGrP,EAAEoN,QAAQlK,cAAc,IACvB,oBAAC,OAAD;KACE,WAAWhE,GACT+I,cAAc,cAAc,EAC5B,mCACD;eAEAf;KAEJ,CAAA,EACA,CAAClH,EAAEoN,QAAQlK,cAAc,IACxB,oBAAC,UAAD;KACE,GAAI4E;KACQhD;KACNiC;KACIpE;KACJyD;KACOkC;KACEpF;KACDoG;KACd,UAAUuD;KAERH;KAEF,2BAA2BE;KAE9B,CAAA,CAEJ,EAAA,CAAA,CACE;;GACQ,CAAA,EACf,oBAAC,QAAD;GACa/H;GACCD;GACFjC;GACDwE;GACAuC;GACT,eAAe;AACbJ,iBAAa,MAAM;AAEnBnG,0BAAsB,EAAE,EAAE;KACxBzB,MAAM;KACN0B,QAAQF;KACT,CAAC;AACFe,eAAW;;GAEb,UAAUoG;GACV,MAAMvF;GACS5B;GACR,CAAA,CACL;;EAGX"}
@@ -1,6 +1,6 @@
1
1
  import { default as React } from 'react';
2
- import { ScrollTo } from 'rc-virtual-list/es/List';
3
- import { IDropdownProps } from '../Dropdown';
2
+ import { ScrollTo } from 'rc-virtual-list/es/List.js';
3
+ import { IDropdownProps } from '../Dropdown.js';
4
4
  import { DefaultOptionType as SelectOptionType } from './interface.js';
5
5
  export interface RefTriggerProps {
6
6
  getPopupElement: () => HTMLDivElement | null;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTrigger.js","names":[],"sources":["../../src/Select/SelectTrigger.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport type { ScrollTo } from 'rc-virtual-list/es/List';\nimport Dropdown from '../Dropdown';\nimport { cn } from '../lib/utils';\nimport { IDropdownProps } from '../Dropdown';\nimport { DefaultOptionType as SelectOptionType } from './interface';\nimport SearchBox from './components/SearchBox';\nimport PopupContent from './components/PopupContent';\nimport Empty from '../Empty';\n\nexport interface RefTriggerProps {\n getPopupElement: () => HTMLDivElement | null;\n}\nexport interface RefSelectorProps {\n focus: (options?: FocusOptions) => void;\n blur: () => void;\n scrollTo?: ScrollTo;\n}\nexport interface SelectTriggerProps extends IDropdownProps {\n open: boolean;\n notFoundContent?: React.ReactNode;\n popupMatchSelectWidth?: boolean | number;\n showSearch?: boolean;\n searchValue?: string;\n setInnerSearchValue?: (value: string) => void;\n filterOption?: (inputValue: string, option: SelectOptionType) => boolean;\n /** Private Select-owned popup collection for the flat standard path. */\n collection?: React.ReactNode;\n}\n\nconst RefSelectTrigger = React.forwardRef<RefTriggerProps, SelectTriggerProps>(\n (props, ref) => {\n const {\n // prefixCls,\n overlayStyle,\n disabled,\n open,\n children,\n dropdownRender,\n getPopupContainer,\n onOpenChange,\n showSearch,\n searchValue,\n setInnerSearchValue,\n menu: menuProps,\n collection,\n overlayClassName,\n placement = 'bottom-start',\n popupMatchSelectWidth,\n notFoundContent = <Empty size=\"small\" />,\n ...restProps\n } = props;\n\n // ======================= Ref =======================\n const popupRef = React.useRef<HTMLDivElement>(null);\n React.useImperativeHandle(ref, () => ({\n getPopupElement: () => popupRef.current,\n }));\n\n const customDropdownRender = useCallback(\n (menu: React.ReactNode) => {\n return (\n <div className=\"beta-ald-select-popup\" ref={popupRef}>\n {!collection && (\n <SearchBox\n showSearch={showSearch}\n value={searchValue}\n onChange={(value) => {\n setInnerSearchValue?.(value);\n }}\n />\n )}\n {collection || (\n <PopupContent\n content={menu}\n notFoundContent={notFoundContent}\n dropdownRender={dropdownRender}\n menuProps={menuProps}\n />\n )}\n </div>\n );\n },\n [\n dropdownRender,\n collection,\n menuProps,\n notFoundContent,\n searchValue,\n setInnerSearchValue,\n showSearch,\n ],\n );\n\n return (\n <Dropdown\n {...restProps}\n disabled={disabled}\n open={open}\n // Dropdown still receives the existing menu input to preserve its\n // trigger lifecycle. For the private collection path, its rendered\n // Menu node is ignored by customDropdownRender above.\n menu={collection ? undefined : menuProps}\n placement={placement}\n popupMatchTriggerWidth={popupMatchSelectWidth}\n overlayStyle={overlayStyle}\n overlayClassName={cn(\n 'beta-ald-select-popup-container',\n overlayClassName,\n )}\n autoUpdatePos\n dropdownRender={customDropdownRender}\n getPopupContainer={getPopupContainer}\n onOpenChange={(o) => {\n onOpenChange?.(o);\n }}\n >\n {collection ? (\n <span style={{ display: 'flex', flex: '1 1 auto', minWidth: 0 }}>\n {children}\n </span>\n ) : (\n children\n )}\n </Dropdown>\n );\n },\n);\n\nRefSelectTrigger.displayName = 'SelectTrigger';\n\nexport default RefSelectTrigger;\n"],"mappings":";;;;;;;;AA8BA,IAAM,mBAAmB,MAAM,YAC5B,OAAO,QAAQ;CACd,MAAM,EAEJ,cACA,UACA,MACA,UACA,gBACA,mBACA,cACA,YACA,aACA,qBACA,MAAM,WACN,YACA,kBACA,YAAY,gBACZ,uBACA,kBAAkB,oBAAC,OAAD,EAAO,MAAK,SAAU,CAAA,EACxC,GAAG,cACD;CAGJ,MAAM,WAAW,MAAM,OAAuB,KAAK;AACnD,OAAM,oBAAoB,YAAY,EACpC,uBAAuB,SAAS,SACjC,EAAE;CAEH,MAAM,uBAAuB,aAC1B,SAA0B;AACzB,SACE,qBAAC,OAAD;GAAK,WAAU;GAAwB,KAAK;aAA5C,CACG,CAAC,cACA,oBAAC,mBAAD;IACc;IACZ,OAAO;IACP,WAAW,UAAU;AACnB,2BAAsB,MAAM;;IAE9B,CAAA,EAEH,cACC,oBAAC,cAAD;IACE,SAAS;IACQ;IACD;IACL;IACX,CAAA,CAEA;;IAGV;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAED,QACE,oBAAC,UAAD;EACE,GAAI;EACM;EACJ;EAIN,MAAM,aAAa,SAAY;EACpB;EACX,wBAAwB;EACV;EACd,kBAAkB,GAChB,mCACA,iBACD;EACD,eAAA;EACA,gBAAgB;EACG;EACnB,eAAe,MAAM;AACnB,kBAAe,EAAE;;YAGlB,aACC,oBAAC,QAAD;GAAM,OAAO;IAAE,SAAS;IAAQ,MAAM;IAAY,UAAU;IAAG;GAC5D;GACI,CAAA,GAEP;EAEO,CAAA;EAGhB;AAED,iBAAiB,cAAc"}
1
+ {"version":3,"file":"SelectTrigger.js","names":["React","useCallback","ScrollTo","Dropdown","cn","IDropdownProps","DefaultOptionType","SelectOptionType","SearchBox","PopupContent","Empty","RefTriggerProps","getPopupElement","HTMLDivElement","RefSelectorProps","focus","options","FocusOptions","blur","scrollTo","SelectTriggerProps","open","notFoundContent","ReactNode","popupMatchSelectWidth","showSearch","searchValue","setInnerSearchValue","value","filterOption","inputValue","option","collection","RefSelectTrigger","forwardRef","props","ref","overlayStyle","disabled","children","dropdownRender","getPopupContainer","onOpenChange","menu","menuProps","overlayClassName","placement","restProps","popupRef","useRef","useImperativeHandle","current","customDropdownRender","undefined","o","display","flex","minWidth","displayName"],"sources":["../../src/Select/SelectTrigger.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport type { ScrollTo } from 'rc-virtual-list/es/List';\nimport Dropdown from '../Dropdown';\nimport { cn } from '../lib/utils';\nimport { IDropdownProps } from '../Dropdown';\nimport { DefaultOptionType as SelectOptionType } from './interface';\nimport SearchBox from './components/SearchBox';\nimport PopupContent from './components/PopupContent';\nimport Empty from '../Empty';\n\nexport interface RefTriggerProps {\n getPopupElement: () => HTMLDivElement | null;\n}\nexport interface RefSelectorProps {\n focus: (options?: FocusOptions) => void;\n blur: () => void;\n scrollTo?: ScrollTo;\n}\nexport interface SelectTriggerProps extends IDropdownProps {\n open: boolean;\n notFoundContent?: React.ReactNode;\n popupMatchSelectWidth?: boolean | number;\n showSearch?: boolean;\n searchValue?: string;\n setInnerSearchValue?: (value: string) => void;\n filterOption?: (inputValue: string, option: SelectOptionType) => boolean;\n /** Private Select-owned popup collection for the flat standard path. */\n collection?: React.ReactNode;\n}\n\nconst RefSelectTrigger = React.forwardRef<RefTriggerProps, SelectTriggerProps>(\n (props, ref) => {\n const {\n // prefixCls,\n overlayStyle,\n disabled,\n open,\n children,\n dropdownRender,\n getPopupContainer,\n onOpenChange,\n showSearch,\n searchValue,\n setInnerSearchValue,\n menu: menuProps,\n collection,\n overlayClassName,\n placement = 'bottom-start',\n popupMatchSelectWidth,\n notFoundContent = <Empty size=\"small\" />,\n ...restProps\n } = props;\n\n // ======================= Ref =======================\n const popupRef = React.useRef<HTMLDivElement>(null);\n React.useImperativeHandle(ref, () => ({\n getPopupElement: () => popupRef.current,\n }));\n\n const customDropdownRender = useCallback(\n (menu: React.ReactNode) => {\n return (\n <div className=\"beta-ald-select-popup\" ref={popupRef}>\n {!collection && (\n <SearchBox\n showSearch={showSearch}\n value={searchValue}\n onChange={(value) => {\n setInnerSearchValue?.(value);\n }}\n />\n )}\n {collection || (\n <PopupContent\n content={menu}\n notFoundContent={notFoundContent}\n dropdownRender={dropdownRender}\n menuProps={menuProps}\n />\n )}\n </div>\n );\n },\n [\n dropdownRender,\n collection,\n menuProps,\n notFoundContent,\n searchValue,\n setInnerSearchValue,\n showSearch,\n ],\n );\n\n return (\n <Dropdown\n {...restProps}\n disabled={disabled}\n open={open}\n // Dropdown still receives the existing menu input to preserve its\n // trigger lifecycle. For the private collection path, its rendered\n // Menu node is ignored by customDropdownRender above.\n menu={collection ? undefined : menuProps}\n placement={placement}\n popupMatchTriggerWidth={popupMatchSelectWidth}\n overlayStyle={overlayStyle}\n overlayClassName={cn(\n 'beta-ald-select-popup-container',\n overlayClassName,\n )}\n autoUpdatePos\n dropdownRender={customDropdownRender}\n getPopupContainer={getPopupContainer}\n onOpenChange={(o) => {\n onOpenChange?.(o);\n }}\n >\n {collection ? (\n <span style={{ display: 'flex', flex: '1 1 auto', minWidth: 0 }}>\n {children}\n </span>\n ) : (\n children\n )}\n </Dropdown>\n );\n },\n);\n\nRefSelectTrigger.displayName = 'SelectTrigger';\n\nexport default RefSelectTrigger;\n"],"mappings":";;;;;;;;AA8BA,IAAMiC,mBAAmBjC,MAAMkC,YAC5BC,OAAOC,QAAQ;CACd,MAAM,EAEJC,cACAC,UACAjB,MACAkB,UACAC,gBACAC,mBACAC,cACAjB,YACAC,aACAC,qBACAgB,MAAMC,WACNZ,YACAa,kBACAC,YAAY,gBACZtB,uBACAF,kBAAkB,oBAAC,OAAD,EAAO,MAAK,SAAU,CAAA,EACxC,GAAGyB,cACDZ;CAGJ,MAAMa,WAAWhD,MAAMiD,OAAuB,KAAK;AACnDjD,OAAMkD,oBAAoBd,YAAY,EACpCxB,uBAAuBoC,SAASG,SACjC,EAAE;CAEH,MAAMC,uBAAuBnD,aAC1B0C,SAA0B;AACzB,SACE,qBAAC,OAAD;GAAK,WAAU;GAAwB,KAAKK;aAA5C,CACG,CAAChB,cACA,oBAAC,mBAAD;IACcP;IACZ,OAAOC;IACP,WAAWE,UAAU;AACnBD,2BAAsBC,MAAM;;IAGjC,CAAA,EACAI,cACC,oBAAC,cAAD;IACE,SAASW;IACQrB;IACDkB;IACLI;IAEd,CAAA,CACG;;IAGV;EACEJ;EACAR;EACAY;EACAtB;EACAI;EACAC;EACAF;EAEJ,CAAC;AAED,QACE,oBAAC,UAAD;EACE,GAAIsB;EACMT;EACJjB;EAIN,MAAMW,aAAaqB,SAAYT;EACpBE;EACX,wBAAwBtB;EACVa;EACd,kBAAkBjC,GAChB,mCACAyC,iBACD;EACD,eAAA;EACA,gBAAgBO;EACGX;EACnB,eAAea,MAAM;AACnBZ,kBAAeY,EAAE;;YAGlBtB,aACC,oBAAC,QAAD;GAAM,OAAO;IAAEuB,SAAS;IAAQC,MAAM;IAAYC,UAAU;IAAG;GAC5DlB;GACI,CAAA,GAEPA;EAEO,CAAA;EAGhB;AAEDN,iBAAiByB,cAAc"}
@@ -12,6 +12,6 @@ export interface FixedOverflowProps<T> {
12
12
  onVisibleChange?: (count: number) => void;
13
13
  }
14
14
  declare const FixedOverflow: <T>(props: FixedOverflowProps<T> & {
15
- ref?: React.Ref<HTMLDivElement> | undefined;
15
+ ref?: React.Ref<HTMLDivElement>;
16
16
  }) => React.ReactElement;
17
17
  export default FixedOverflow;
@@ -1,7 +1,8 @@
1
- import { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from "react";
1
+ import { c } from "react-compiler-runtime";
2
+ import { forwardRef, useEffect, useRef, useState } from "react";
2
3
  import { jsx, jsxs } from "react/jsx-runtime";
3
4
  import ResizeObserver from "rc-resize-observer";
4
- import useLayoutEffect$1 from "rc-util/es/hooks/useLayoutEffect";
5
+ import useLayoutEffect$1 from "rc-util/es/hooks/useLayoutEffect.js";
5
6
  import cn from "classnames";
6
7
  //#region src/Select/Selector/FixedOverflow.tsx
7
8
  function InternalItem(props) {
@@ -35,10 +36,13 @@ function InternalItem(props) {
35
36
  var ITEM_WIDTH = 10;
36
37
  var REST_KEY = "__OVERFLOW_REST__";
37
38
  function OverflowInner(props, ref) {
38
- const { prefixCls = "rc-overflow", data, renderItem, itemKey, renderRest, gap = 0, className, onVisibleChange } = props;
39
+ const $ = c(54);
40
+ const { prefixCls: t0, data, renderItem, itemKey, renderRest, gap: t1, className, onVisibleChange } = props;
41
+ const prefixCls = t0 === void 0 ? "rc-overflow" : t0;
42
+ const gap = t1 === void 0 ? 0 : t1;
39
43
  const [containerWidth, setContainerWidth] = useState(null);
40
44
  const mergedContainerWidth = containerWidth || 0;
41
- const [itemWidths, setItemWidths] = useState(() => /* @__PURE__ */ new Map());
45
+ const [itemWidths, setItemWidths] = useState(_temp);
42
46
  const [prevRestWidth, setPrevRestWidth] = useState(0);
43
47
  const [restWidth, setRestWidth] = useState(0);
44
48
  const [displayCount, setDisplayCount] = useState(null);
@@ -46,95 +50,220 @@ function OverflowInner(props, ref) {
46
50
  const mergedDisplayCount = displayCount || 0;
47
51
  const itemPrefixCls = `${prefixCls}-item`;
48
52
  const mergedRestWidth = Math.max(prevRestWidth, restWidth);
49
- const getKey = useCallback((item, index) => {
50
- if (item == null) return index;
51
- return itemKey(item) ?? index;
52
- }, [itemKey]);
53
- const mergedData = useMemo(() => {
54
- if (!data.length) return data;
55
- return data.slice(0, Math.min(data.length, mergedContainerWidth / ITEM_WIDTH));
56
- }, [data, mergedContainerWidth]);
57
- const omittedItems = useMemo(() => data.slice(mergedDisplayCount + 1), [data, mergedDisplayCount]);
58
- const updateDisplayCount = (count, notReady) => {
59
- if (!notReady) {
60
- setRestReady(count < data.length - 1);
61
- onVisibleChange?.(count);
53
+ let t2;
54
+ if ($[0] !== itemKey) {
55
+ t2 = (item, index) => {
56
+ if (item == null) return index;
57
+ return itemKey(item) ?? index;
58
+ };
59
+ $[0] = itemKey;
60
+ $[1] = t2;
61
+ } else t2 = $[1];
62
+ const getKey = t2;
63
+ let t3;
64
+ bb0: {
65
+ if (!data.length) {
66
+ t3 = data;
67
+ break bb0;
62
68
  }
63
- if (displayCount !== count) setDisplayCount(count);
64
- };
65
- const registerSize = useCallback((key, width) => {
66
- setItemWidths((origin) => {
67
- const clone = new Map(origin);
68
- if (width === null) clone.delete(key);
69
- else clone.set(key, width);
70
- return clone;
71
- });
72
- }, []);
73
- const registerRestSize = useCallback((_key, width) => {
74
- if (width === null) return;
75
- setRestWidth((prev) => {
76
- setPrevRestWidth(prev);
77
- return width;
78
- });
79
- }, []);
80
- const onOverflowResize = (_, element) => {
81
- setContainerWidth(element.clientWidth);
82
- };
83
- useLayoutEffect$1(() => {
84
- if (!mergedContainerWidth || !mergedData) return;
85
- const len = mergedData.length;
86
- const lastIndex = len - 1;
87
- if (!len) {
88
- updateDisplayCount(0);
89
- return;
90
- }
91
- let totalWidth = 0;
92
- const getItemWidth = (index) => itemWidths.get(getKey(mergedData[index], index));
93
- for (let i = 0; i < len; i += 1) {
94
- const currentItemWidth = getItemWidth(i);
95
- if (currentItemWidth === void 0) {
96
- updateDisplayCount(i - 1, true);
97
- return;
69
+ let t4;
70
+ if ($[2] !== data || $[3] !== mergedContainerWidth) {
71
+ t4 = data.slice(0, Math.min(data.length, mergedContainerWidth / ITEM_WIDTH));
72
+ $[2] = data;
73
+ $[3] = mergedContainerWidth;
74
+ $[4] = t4;
75
+ } else t4 = $[4];
76
+ t3 = t4;
77
+ }
78
+ const mergedData = t3;
79
+ let t4;
80
+ if ($[5] !== data || $[6] !== mergedDisplayCount) {
81
+ t4 = data.slice(mergedDisplayCount + 1);
82
+ $[5] = data;
83
+ $[6] = mergedDisplayCount;
84
+ $[7] = t4;
85
+ } else t4 = $[7];
86
+ const omittedItems = t4;
87
+ let t5;
88
+ if ($[8] !== data.length || $[9] !== displayCount || $[10] !== onVisibleChange) {
89
+ t5 = (count, notReady) => {
90
+ if (!notReady) {
91
+ setRestReady(count < data.length - 1);
92
+ onVisibleChange?.(count);
98
93
  }
99
- totalWidth += currentItemWidth;
100
- if (lastIndex === 0 && totalWidth <= mergedContainerWidth || i === lastIndex - 1 && totalWidth + (getItemWidth(lastIndex) ?? 0) + lastIndex * gap <= mergedContainerWidth) {
101
- updateDisplayCount(lastIndex);
94
+ if (displayCount !== count) setDisplayCount(count);
95
+ };
96
+ $[8] = data.length;
97
+ $[9] = displayCount;
98
+ $[10] = onVisibleChange;
99
+ $[11] = t5;
100
+ } else t5 = $[11];
101
+ const updateDisplayCount = t5;
102
+ let t6;
103
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
104
+ t6 = (key, width) => {
105
+ setItemWidths((origin) => {
106
+ const clone = new Map(origin);
107
+ if (width === null) clone.delete(key);
108
+ else clone.set(key, width);
109
+ return clone;
110
+ });
111
+ };
112
+ $[12] = t6;
113
+ } else t6 = $[12];
114
+ const registerSize = t6;
115
+ let t7;
116
+ if ($[13] === Symbol.for("react.memo_cache_sentinel")) {
117
+ t7 = (_key, width_0) => {
118
+ if (width_0 === null) return;
119
+ setRestWidth((prev) => {
120
+ setPrevRestWidth(prev);
121
+ return width_0;
122
+ });
123
+ };
124
+ $[13] = t7;
125
+ } else t7 = $[13];
126
+ const registerRestSize = t7;
127
+ let t8;
128
+ if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
129
+ t8 = (_, element) => {
130
+ setContainerWidth(element.clientWidth);
131
+ };
132
+ $[14] = t8;
133
+ } else t8 = $[14];
134
+ const onOverflowResize = t8;
135
+ let t9;
136
+ if ($[15] !== gap || $[16] !== getKey || $[17] !== itemWidths || $[18] !== mergedContainerWidth || $[19] !== mergedData || $[20] !== mergedRestWidth || $[21] !== updateDisplayCount) {
137
+ t9 = () => {
138
+ if (!mergedContainerWidth || !mergedData) return;
139
+ const len = mergedData.length;
140
+ const lastIndex = len - 1;
141
+ if (!len) {
142
+ updateDisplayCount(0);
102
143
  return;
103
144
  }
104
- if (totalWidth + mergedRestWidth + (i + 1) * gap > mergedContainerWidth) {
105
- updateDisplayCount(i - 1);
106
- return;
145
+ let totalWidth = 0;
146
+ const getItemWidth = (index_0) => itemWidths.get(getKey(mergedData[index_0], index_0));
147
+ for (let i = 0; i < len; i = i + 1) {
148
+ const currentItemWidth = getItemWidth(i);
149
+ if (currentItemWidth === void 0) {
150
+ updateDisplayCount(i - 1, true);
151
+ return;
152
+ }
153
+ totalWidth = totalWidth + currentItemWidth;
154
+ if (lastIndex === 0 && totalWidth <= mergedContainerWidth || i === lastIndex - 1 && totalWidth + (getItemWidth(lastIndex) ?? 0) + lastIndex * gap <= mergedContainerWidth) {
155
+ updateDisplayCount(lastIndex);
156
+ return;
157
+ }
158
+ if (totalWidth + mergedRestWidth + (i + 1) * gap > mergedContainerWidth) {
159
+ updateDisplayCount(i - 1);
160
+ return;
161
+ }
107
162
  }
108
- }
109
- });
163
+ };
164
+ $[15] = gap;
165
+ $[16] = getKey;
166
+ $[17] = itemWidths;
167
+ $[18] = mergedContainerWidth;
168
+ $[19] = mergedData;
169
+ $[20] = mergedRestWidth;
170
+ $[21] = updateDisplayCount;
171
+ $[22] = t9;
172
+ } else t9 = $[22];
173
+ useLayoutEffect$1(t9);
110
174
  const displayRest = restReady && !!omittedItems.length;
111
- return /* @__PURE__ */ jsx(ResizeObserver, {
112
- onResize: onOverflowResize,
113
- disabled: !data.length,
114
- children: /* @__PURE__ */ jsxs("div", {
115
- className: cn(prefixCls, className),
116
- ref,
117
- children: [mergedData.map((item, index) => {
118
- const key = getKey(item, index);
175
+ const t10 = !data.length;
176
+ let t11;
177
+ if ($[23] !== className || $[24] !== prefixCls) {
178
+ t11 = cn(prefixCls, className);
179
+ $[23] = className;
180
+ $[24] = prefixCls;
181
+ $[25] = t11;
182
+ } else t11 = $[25];
183
+ let t12;
184
+ if ($[26] !== getKey || $[27] !== itemPrefixCls || $[28] !== mergedData || $[29] !== mergedDisplayCount || $[30] !== renderItem) {
185
+ let t13;
186
+ if ($[32] !== getKey || $[33] !== itemPrefixCls || $[34] !== mergedDisplayCount || $[35] !== renderItem) {
187
+ t13 = (item_0, index_1) => {
188
+ const key_0 = getKey(item_0, index_1);
119
189
  return /* @__PURE__ */ jsx(InternalItem, {
120
190
  prefixCls: itemPrefixCls,
121
- display: index <= mergedDisplayCount,
122
- order: index,
123
- itemKey: key,
191
+ display: index_1 <= mergedDisplayCount,
192
+ order: index_1,
193
+ itemKey: key_0,
124
194
  registerSize,
125
- children: renderItem(item, { index })
126
- }, key);
127
- }), /* @__PURE__ */ jsx(InternalItem, {
128
- prefixCls: itemPrefixCls,
129
- display: displayRest,
130
- order: displayRest ? mergedDisplayCount : Number.MAX_SAFE_INTEGER,
131
- itemKey: REST_KEY,
132
- registerSize: registerRestSize,
133
- className: `${itemPrefixCls}-rest`,
134
- children: renderRest(omittedItems)
135
- })]
136
- })
137
- });
195
+ children: renderItem(item_0, { index: index_1 })
196
+ }, key_0);
197
+ };
198
+ $[32] = getKey;
199
+ $[33] = itemPrefixCls;
200
+ $[34] = mergedDisplayCount;
201
+ $[35] = renderItem;
202
+ $[36] = t13;
203
+ } else t13 = $[36];
204
+ t12 = mergedData.map(t13);
205
+ $[26] = getKey;
206
+ $[27] = itemPrefixCls;
207
+ $[28] = mergedData;
208
+ $[29] = mergedDisplayCount;
209
+ $[30] = renderItem;
210
+ $[31] = t12;
211
+ } else t12 = $[31];
212
+ const t13 = displayRest ? mergedDisplayCount : Number.MAX_SAFE_INTEGER;
213
+ const t14 = `${itemPrefixCls}-rest`;
214
+ let t15;
215
+ if ($[37] !== omittedItems || $[38] !== renderRest) {
216
+ t15 = renderRest(omittedItems);
217
+ $[37] = omittedItems;
218
+ $[38] = renderRest;
219
+ $[39] = t15;
220
+ } else t15 = $[39];
221
+ let t16;
222
+ if ($[40] !== displayRest || $[41] !== itemPrefixCls || $[42] !== t13 || $[43] !== t14 || $[44] !== t15) {
223
+ t16 = /* @__PURE__ */ jsx(InternalItem, {
224
+ prefixCls: itemPrefixCls,
225
+ display: displayRest,
226
+ order: t13,
227
+ itemKey: REST_KEY,
228
+ registerSize: registerRestSize,
229
+ className: t14,
230
+ children: t15
231
+ });
232
+ $[40] = displayRest;
233
+ $[41] = itemPrefixCls;
234
+ $[42] = t13;
235
+ $[43] = t14;
236
+ $[44] = t15;
237
+ $[45] = t16;
238
+ } else t16 = $[45];
239
+ let t17;
240
+ if ($[46] !== ref || $[47] !== t11 || $[48] !== t12 || $[49] !== t16) {
241
+ t17 = /* @__PURE__ */ jsxs("div", {
242
+ className: t11,
243
+ ref,
244
+ children: [t12, t16]
245
+ });
246
+ $[46] = ref;
247
+ $[47] = t11;
248
+ $[48] = t12;
249
+ $[49] = t16;
250
+ $[50] = t17;
251
+ } else t17 = $[50];
252
+ let t18;
253
+ if ($[51] !== t10 || $[52] !== t17) {
254
+ t18 = /* @__PURE__ */ jsx(ResizeObserver, {
255
+ onResize: onOverflowResize,
256
+ disabled: t10,
257
+ children: t17
258
+ });
259
+ $[51] = t10;
260
+ $[52] = t17;
261
+ $[53] = t18;
262
+ } else t18 = $[53];
263
+ return t18;
264
+ }
265
+ function _temp() {
266
+ return /* @__PURE__ */ new Map();
138
267
  }
139
268
  var FixedOverflow = forwardRef(OverflowInner);
140
269
  //#endregion