@oceanbase/design 1.0.0-alpha.9 → 1.0.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 (585) hide show
  1. package/dist/design.min.js +1 -1
  2. package/es/_util/document.d.ts +11 -0
  3. package/es/_util/document.js +65 -0
  4. package/es/_util/genComponentStyleHook.d.ts +19 -2
  5. package/es/_util/genComponentStyleHook.js +55 -20
  6. package/es/_util/index.d.ts +2 -0
  7. package/es/_util/index.js +28 -1
  8. package/es/_util/styleChecker.js +1 -0
  9. package/es/affix/index.js +1 -0
  10. package/es/alert/index.d.ts +1 -1
  11. package/es/alert/index.js +16 -4
  12. package/es/alert/style/index.d.ts +1 -4
  13. package/es/alert/style/index.js +20 -18
  14. package/es/anchor/index.js +1 -0
  15. package/es/app/index.js +10 -2
  16. package/es/app/style/index.d.ts +1 -4
  17. package/es/app/style/index.js +3 -6
  18. package/es/auto-complete/index.js +1 -0
  19. package/es/avatar/index.js +1 -0
  20. package/es/badge/index.d.ts +2 -0
  21. package/es/badge/index.js +39 -14
  22. package/es/badge/style/index.d.ts +1 -4
  23. package/es/badge/style/index.js +9 -7
  24. package/es/breadcrumb/Breadcrumb.js +1 -0
  25. package/es/breadcrumb/index.js +1 -0
  26. package/es/button/index.js +19 -6
  27. package/es/button/style/index.d.ts +3 -4
  28. package/es/button/style/index.js +43 -9
  29. package/es/calendar/index.js +1 -0
  30. package/es/card/index.d.ts +4 -0
  31. package/es/card/index.js +36 -18
  32. package/es/card/style/index.d.ts +1 -4
  33. package/es/card/style/index.js +72 -32
  34. package/es/carousel/index.js +1 -0
  35. package/es/cascader/index.js +1 -0
  36. package/es/checkbox/index.js +10 -2
  37. package/es/checkbox/style/index.d.ts +1 -4
  38. package/es/checkbox/style/index.js +7 -8
  39. package/es/collapse/index.js +1 -0
  40. package/es/color-picker/index.js +1 -0
  41. package/es/config-provider/DefaultRenderEmpty.js +1 -0
  42. package/es/config-provider/index.d.ts +5 -0
  43. package/es/config-provider/index.js +99 -48
  44. package/es/date-picker/index.js +1 -0
  45. package/es/descriptions/hooks/useItems.d.ts +9 -9
  46. package/es/descriptions/hooks/useItems.js +1 -0
  47. package/es/descriptions/index.js +4 -2
  48. package/es/descriptions/style/index.d.ts +2 -5
  49. package/es/descriptions/style/index.js +18 -5
  50. package/es/divider/index.js +1 -0
  51. package/es/drawer/index.d.ts +2 -0
  52. package/es/drawer/index.js +38 -4
  53. package/es/drawer/style/index.d.ts +1 -4
  54. package/es/drawer/style/index.js +27 -8
  55. package/es/dropdown/dropdown-button.js +27 -6
  56. package/es/dropdown/index.js +29 -3
  57. package/es/dropdown/style/index.d.ts +6 -0
  58. package/es/dropdown/style/index.js +22 -0
  59. package/es/empty/colored.js +1 -0
  60. package/es/empty/database.js +1 -0
  61. package/es/empty/default.js +1 -0
  62. package/es/empty/guide.js +1 -0
  63. package/es/empty/index.js +4 -2
  64. package/es/empty/style/index.d.ts +1 -4
  65. package/es/empty/style/index.js +5 -6
  66. package/es/filter/FilterContext.d.ts +27 -0
  67. package/es/filter/FilterContext.js +26 -0
  68. package/es/filter/components/ClearIcon.d.ts +6 -0
  69. package/es/filter/components/ClearIcon.js +26 -0
  70. package/es/filter/components/CountNumber.d.ts +8 -0
  71. package/es/filter/components/CountNumber.js +20 -0
  72. package/es/filter/components/FilterButton.d.ts +34 -0
  73. package/es/filter/components/FilterButton.js +221 -0
  74. package/es/filter/components/FilterCascader/components/CascaderOption/OptionCheckbox.d.ts +20 -0
  75. package/es/filter/components/FilterCascader/components/CascaderOption/OptionCheckbox.js +101 -0
  76. package/es/filter/components/FilterCascader/components/CascaderOption/OptionItem.d.ts +13 -0
  77. package/es/filter/components/FilterCascader/components/CascaderOption/OptionItem.js +44 -0
  78. package/es/filter/components/FilterCascader/components/FlatCascaderContent/index.d.ts +17 -0
  79. package/es/filter/components/FilterCascader/components/FlatCascaderContent/index.js +78 -0
  80. package/es/filter/components/FilterCascader/components/NormalCascaderContent.d.ts +24 -0
  81. package/es/filter/components/FilterCascader/components/NormalCascaderContent.js +279 -0
  82. package/es/filter/components/FilterCascader/constants.d.ts +7 -0
  83. package/es/filter/components/FilterCascader/constants.js +8 -0
  84. package/es/filter/components/FilterCascader/hooks/useCascaderCallbacks.d.ts +12 -0
  85. package/es/filter/components/FilterCascader/hooks/useCascaderCallbacks.js +101 -0
  86. package/es/filter/components/FilterCascader/hooks/useCascaderLabels.d.ts +9 -0
  87. package/es/filter/components/FilterCascader/hooks/useCascaderLabels.js +50 -0
  88. package/es/filter/components/FilterCascader/hooks/useNormalizedValue.d.ts +7 -0
  89. package/es/filter/components/FilterCascader/hooks/useNormalizedValue.js +53 -0
  90. package/es/filter/components/FilterCascader/index.d.ts +5 -0
  91. package/es/filter/components/FilterCascader/index.js +317 -0
  92. package/es/filter/components/FilterCascader/types.d.ts +56 -0
  93. package/es/filter/components/FilterCascader/types.js +1 -0
  94. package/es/filter/components/FilterCascader/utils/countUtils.d.ts +13 -0
  95. package/es/filter/components/FilterCascader/utils/countUtils.js +48 -0
  96. package/es/filter/components/FilterCascader/utils/pathUtils.d.ts +17 -0
  97. package/es/filter/components/FilterCascader/utils/pathUtils.js +91 -0
  98. package/es/filter/components/FilterCheckbox.d.ts +26 -0
  99. package/es/filter/components/FilterCheckbox.js +358 -0
  100. package/es/filter/components/FilterInput.d.ts +18 -0
  101. package/es/filter/components/FilterInput.js +148 -0
  102. package/es/filter/components/FilterRange.d.ts +19 -0
  103. package/es/filter/components/FilterRange.js +201 -0
  104. package/es/filter/components/FilterSelect.d.ts +23 -0
  105. package/es/filter/components/FilterSelect.js +245 -0
  106. package/es/filter/components/FilterSlot.d.ts +28 -0
  107. package/es/filter/components/FilterSlot.js +189 -0
  108. package/es/filter/components/FilterSwitch.d.ts +13 -0
  109. package/es/filter/components/FilterSwitch.js +102 -0
  110. package/es/filter/components/FilterWrap.d.ts +20 -0
  111. package/es/filter/components/FilterWrap.js +329 -0
  112. package/es/filter/components/ResponsiveFilterGroup.d.ts +27 -0
  113. package/es/filter/components/ResponsiveFilterGroup.js +477 -0
  114. package/es/filter/components/WrappedTagsDisplay.d.ts +22 -0
  115. package/es/filter/components/WrappedTagsDisplay.js +80 -0
  116. package/es/filter/hooks/index.d.ts +4 -0
  117. package/es/filter/hooks/index.js +3 -0
  118. package/es/filter/hooks/useControlledState.d.ts +9 -0
  119. package/es/filter/hooks/useControlledState.js +37 -0
  120. package/es/filter/hooks/useFilterCollapsed.d.ts +8 -0
  121. package/es/filter/hooks/useFilterCollapsed.js +15 -0
  122. package/es/filter/hooks/useFilterTooltip.d.ts +29 -0
  123. package/es/filter/hooks/useFilterTooltip.js +127 -0
  124. package/es/filter/index.d.ts +24 -0
  125. package/es/filter/index.js +27 -0
  126. package/es/filter/style/index.d.ts +15 -0
  127. package/es/filter/style/index.js +245 -0
  128. package/es/filter/type.d.ts +41 -0
  129. package/es/filter/type.js +1 -0
  130. package/es/filter/utils.d.ts +50 -0
  131. package/es/filter/utils.js +189 -0
  132. package/es/float-button/index.js +1 -0
  133. package/es/form/FormItem.d.ts +1 -1
  134. package/es/form/FormItem.js +10 -2
  135. package/es/form/index.js +10 -2
  136. package/es/form/style/index.d.ts +1 -4
  137. package/es/form/style/index.js +6 -7
  138. package/es/grid/col.js +1 -0
  139. package/es/grid/index.js +1 -0
  140. package/es/grid/row.js +1 -0
  141. package/es/image/index.js +1 -0
  142. package/es/index.d.ts +178 -1
  143. package/es/index.js +3 -1
  144. package/es/input/Input.js +10 -2
  145. package/es/input/Password.js +10 -2
  146. package/es/input/Search.js +10 -2
  147. package/es/input/TextArea.js +10 -2
  148. package/es/input/index.js +1 -0
  149. package/es/input/style/index.d.ts +1 -4
  150. package/es/input/style/index.js +23 -9
  151. package/es/input-number/index.js +10 -2
  152. package/es/input-number/style/index.d.ts +2 -5
  153. package/es/input-number/style/index.js +14 -10
  154. package/es/layout/index.js +1 -0
  155. package/es/list/index.js +1 -0
  156. package/es/locale/en-US.js +10 -2
  157. package/es/locale/index.d.ts +11 -0
  158. package/es/locale/index.js +1 -0
  159. package/es/locale/ja-JP.js +10 -2
  160. package/es/locale/zh-CN.js +10 -2
  161. package/es/locale/zh-TW.js +10 -2
  162. package/es/lottie/index.js +1 -0
  163. package/es/mentions/index.js +1 -0
  164. package/es/menu/index.js +1 -0
  165. package/es/message/index.js +1 -0
  166. package/es/modal/Modal.d.ts +3 -1
  167. package/es/modal/Modal.js +49 -8
  168. package/es/modal/Progress.js +1 -0
  169. package/es/modal/index.js +1 -0
  170. package/es/modal/style/index.d.ts +1 -4
  171. package/es/modal/style/index.js +39 -13
  172. package/es/notification/index.js +1 -0
  173. package/es/pagination/index.js +1 -0
  174. package/es/popconfirm/index.js +1 -0
  175. package/es/popover/index.js +1 -0
  176. package/es/progress/index.js +1 -0
  177. package/es/qrcode/index.js +1 -0
  178. package/es/radio/RadioButton.d.ts +8 -0
  179. package/es/radio/RadioButton.js +42 -0
  180. package/es/radio/index.d.ts +4 -0
  181. package/es/radio/index.js +12 -3
  182. package/es/radio/style/index.d.ts +1 -4
  183. package/es/radio/style/index.js +27 -9
  184. package/es/rate/index.js +1 -0
  185. package/es/result/403.js +1 -0
  186. package/es/result/404.js +1 -0
  187. package/es/result/500.js +1 -0
  188. package/es/result/Error.js +1 -0
  189. package/es/result/Processing.js +1 -0
  190. package/es/result/Success.js +1 -0
  191. package/es/result/Warning.js +1 -0
  192. package/es/result/index.js +10 -2
  193. package/es/result/style/index.d.ts +1 -4
  194. package/es/result/style/index.js +3 -6
  195. package/es/segmented/index.js +10 -2
  196. package/es/segmented/style/index.d.ts +1 -4
  197. package/es/segmented/style/index.js +3 -6
  198. package/es/select/index.js +10 -2
  199. package/es/select/style/index.d.ts +1 -4
  200. package/es/select/style/index.js +13 -8
  201. package/es/skeleton/index.js +1 -0
  202. package/es/slider/index.js +10 -2
  203. package/es/slider/style/index.d.ts +1 -4
  204. package/es/slider/style/index.js +3 -6
  205. package/es/space/index.js +10 -2
  206. package/es/space/style/index.d.ts +1 -4
  207. package/es/space/style/index.js +3 -6
  208. package/es/spin/assets/spin-gray.json +1 -1
  209. package/es/spin/assets/spin.json +1 -1
  210. package/es/spin/index.js +10 -2
  211. package/es/spin/style/index.d.ts +1 -4
  212. package/es/spin/style/index.js +29 -30
  213. package/es/static-function/index.d.ts +176 -1
  214. package/es/static-function/index.js +5 -1
  215. package/es/statistic/index.js +1 -0
  216. package/es/steps/index.js +1 -0
  217. package/es/style/global.d.ts +1 -0
  218. package/es/style/global.js +59 -11
  219. package/es/switch/index.js +10 -2
  220. package/es/switch/style/index.d.ts +1 -4
  221. package/es/switch/style/index.js +7 -8
  222. package/es/table/index.d.ts +1 -4
  223. package/es/table/index.js +256 -22
  224. package/es/table/style/index.d.ts +1 -4
  225. package/es/table/style/index.js +166 -38
  226. package/es/tabs/TabPane.js +1 -0
  227. package/es/tabs/hooks/useLegacyItems.js +1 -0
  228. package/es/tabs/index.js +10 -2
  229. package/es/tabs/style/index.d.ts +1 -4
  230. package/es/tabs/style/index.js +6 -7
  231. package/es/tag/index.js +20 -5
  232. package/es/tag/style/index.d.ts +1 -4
  233. package/es/tag/style/index.js +43 -21
  234. package/es/theme/default.d.ts +17 -0
  235. package/es/theme/default.js +161 -27
  236. package/es/theme/index.d.ts +2 -0
  237. package/es/theme/index.js +13 -1
  238. package/es/theme/interface.d.ts +38 -0
  239. package/es/theme/obToken.d.ts +206 -0
  240. package/es/theme/obToken.js +255 -0
  241. package/es/{style/cssVariablesMeta.d.ts → theme/obTokenMeta.d.ts} +5 -5
  242. package/es/theme/obTokenMeta.js +937 -0
  243. package/es/theme/style/aliyun.less +1 -1
  244. package/es/theme/style/compact.less +65 -62
  245. package/es/theme/style/dark.less +1 -1
  246. package/es/theme/style/default.less +66 -63
  247. package/es/time-picker/index.js +1 -0
  248. package/es/timeline/index.js +1 -0
  249. package/es/tooltip/MouseTooltip.js +1 -0
  250. package/es/tooltip/ReactStickyMouseTooltip.js +1 -0
  251. package/es/tooltip/index.js +5 -4
  252. package/es/tooltip/style/index.d.ts +1 -4
  253. package/es/tooltip/style/index.js +10 -13
  254. package/es/tour/index.js +1 -0
  255. package/es/transfer/index.js +1 -0
  256. package/es/tree/index.js +1 -0
  257. package/es/tree-select/index.js +10 -2
  258. package/es/tree-select/style/index.d.ts +1 -4
  259. package/es/tree-select/style/index.js +3 -6
  260. package/es/typography/Link.js +10 -2
  261. package/es/typography/Paragraph.js +10 -2
  262. package/es/typography/Text.d.ts +1 -0
  263. package/es/typography/Text.js +13 -4
  264. package/es/typography/Title.js +10 -2
  265. package/es/typography/hooks/useClassName.d.ts +1 -1
  266. package/es/typography/hooks/useClassName.js +2 -2
  267. package/es/typography/index.d.ts +12 -1
  268. package/es/typography/index.js +3 -1
  269. package/es/typography/style/index.d.ts +2 -5
  270. package/es/typography/style/index.js +9 -8
  271. package/es/upload/index.js +1 -0
  272. package/es/watermark/index.js +1 -0
  273. package/lib/_util/document.d.ts +11 -0
  274. package/lib/_util/document.js +74 -0
  275. package/lib/_util/genComponentStyleHook.d.ts +19 -2
  276. package/lib/_util/genComponentStyleHook.js +60 -64
  277. package/lib/_util/getEllipsisConfig.js +16 -39
  278. package/lib/_util/index.d.ts +2 -0
  279. package/lib/_util/index.js +51 -29
  280. package/lib/_util/styleChecker.js +32 -53
  281. package/lib/_util/type.js +4 -16
  282. package/lib/_util/useFlexGapSupport.js +11 -36
  283. package/lib/affix/index.js +15 -22
  284. package/lib/alert/index.d.ts +1 -1
  285. package/lib/alert/index.js +65 -83
  286. package/lib/alert/style/index.d.ts +1 -4
  287. package/lib/alert/style/index.js +109 -113
  288. package/lib/anchor/index.js +26 -24
  289. package/lib/app/index.js +47 -55
  290. package/lib/app/style/index.d.ts +1 -4
  291. package/lib/app/style/index.js +14 -36
  292. package/lib/auto-complete/index.js +15 -22
  293. package/lib/avatar/index.js +26 -24
  294. package/lib/badge/index.d.ts +2 -0
  295. package/lib/badge/index.js +108 -105
  296. package/lib/badge/style/index.d.ts +1 -4
  297. package/lib/badge/style/index.js +25 -43
  298. package/lib/breadcrumb/Breadcrumb.js +15 -22
  299. package/lib/breadcrumb/index.js +31 -32
  300. package/lib/button/index.js +56 -61
  301. package/lib/button/style/index.d.ts +3 -4
  302. package/lib/button/style/index.js +69 -37
  303. package/lib/calendar/index.js +15 -22
  304. package/lib/card/Card.js +14 -21
  305. package/lib/card/index.d.ts +4 -0
  306. package/lib/card/index.js +202 -190
  307. package/lib/card/style/index.d.ts +1 -4
  308. package/lib/card/style/index.js +139 -87
  309. package/lib/carousel/index.js +15 -22
  310. package/lib/cascader/index.js +15 -22
  311. package/lib/checkbox/index.js +52 -70
  312. package/lib/checkbox/style/index.d.ts +1 -4
  313. package/lib/checkbox/style/index.js +24 -39
  314. package/lib/collapse/index.js +15 -22
  315. package/lib/color-picker/index.js +15 -22
  316. package/lib/color-picker/interface.js +14 -21
  317. package/lib/config-provider/DefaultRenderEmpty.js +34 -49
  318. package/lib/config-provider/SizeContext.js +14 -21
  319. package/lib/config-provider/context.js +14 -21
  320. package/lib/config-provider/index.d.ts +5 -0
  321. package/lib/config-provider/index.js +257 -233
  322. package/lib/config-provider/navigate.js +4 -16
  323. package/lib/date-picker/index.js +15 -22
  324. package/lib/descriptions/Item.js +6 -24
  325. package/lib/descriptions/hooks/useItems.d.ts +9 -9
  326. package/lib/descriptions/hooks/useItems.js +50 -73
  327. package/lib/descriptions/index.js +83 -102
  328. package/lib/descriptions/style/index.d.ts +2 -5
  329. package/lib/descriptions/style/index.js +69 -65
  330. package/lib/divider/index.js +15 -22
  331. package/lib/drawer/index.d.ts +2 -0
  332. package/lib/drawer/index.js +139 -128
  333. package/lib/drawer/style/index.d.ts +1 -4
  334. package/lib/drawer/style/index.js +64 -55
  335. package/lib/dropdown/dropdown-button.js +34 -29
  336. package/lib/dropdown/index.js +47 -47
  337. package/lib/dropdown/style/index.d.ts +6 -0
  338. package/lib/dropdown/style/index.js +35 -0
  339. package/lib/empty/colored.js +198 -315
  340. package/lib/empty/database.js +117 -186
  341. package/lib/empty/default.js +53 -49
  342. package/lib/empty/guide.js +145 -225
  343. package/lib/empty/index.js +77 -96
  344. package/lib/empty/style/index.d.ts +1 -4
  345. package/lib/empty/style/index.js +31 -47
  346. package/lib/filter/FilterContext.d.ts +27 -0
  347. package/lib/filter/FilterContext.js +33 -0
  348. package/lib/filter/components/ClearIcon.d.ts +6 -0
  349. package/lib/filter/components/ClearIcon.js +35 -0
  350. package/lib/filter/components/CountNumber.d.ts +8 -0
  351. package/lib/filter/components/CountNumber.js +30 -0
  352. package/lib/filter/components/FilterButton.d.ts +34 -0
  353. package/lib/filter/components/FilterButton.js +194 -0
  354. package/lib/filter/components/FilterCascader/components/CascaderOption/OptionCheckbox.d.ts +20 -0
  355. package/lib/filter/components/FilterCascader/components/CascaderOption/OptionCheckbox.js +91 -0
  356. package/lib/filter/components/FilterCascader/components/CascaderOption/OptionItem.d.ts +13 -0
  357. package/lib/filter/components/FilterCascader/components/CascaderOption/OptionItem.js +51 -0
  358. package/lib/filter/components/FilterCascader/components/FlatCascaderContent/index.d.ts +17 -0
  359. package/lib/filter/components/FilterCascader/components/FlatCascaderContent/index.js +77 -0
  360. package/lib/filter/components/FilterCascader/components/NormalCascaderContent.d.ts +24 -0
  361. package/lib/filter/components/FilterCascader/components/NormalCascaderContent.js +258 -0
  362. package/lib/filter/components/FilterCascader/constants.d.ts +7 -0
  363. package/lib/filter/components/FilterCascader/constants.js +14 -0
  364. package/lib/filter/components/FilterCascader/hooks/useCascaderCallbacks.d.ts +12 -0
  365. package/lib/filter/components/FilterCascader/hooks/useCascaderCallbacks.js +81 -0
  366. package/lib/filter/components/FilterCascader/hooks/useCascaderLabels.d.ts +9 -0
  367. package/lib/filter/components/FilterCascader/hooks/useCascaderLabels.js +56 -0
  368. package/lib/filter/components/FilterCascader/hooks/useNormalizedValue.d.ts +7 -0
  369. package/lib/filter/components/FilterCascader/hooks/useNormalizedValue.js +48 -0
  370. package/lib/filter/components/FilterCascader/index.d.ts +5 -0
  371. package/lib/filter/components/FilterCascader/index.js +298 -0
  372. package/lib/filter/components/FilterCascader/types.d.ts +56 -0
  373. package/lib/filter/components/FilterCascader/types.js +5 -0
  374. package/lib/filter/components/FilterCascader/utils/countUtils.d.ts +13 -0
  375. package/lib/filter/components/FilterCascader/utils/countUtils.js +49 -0
  376. package/lib/filter/components/FilterCascader/utils/pathUtils.d.ts +17 -0
  377. package/lib/filter/components/FilterCascader/utils/pathUtils.js +56 -0
  378. package/lib/filter/components/FilterCheckbox.d.ts +26 -0
  379. package/lib/filter/components/FilterCheckbox.js +319 -0
  380. package/lib/filter/components/FilterInput.d.ts +18 -0
  381. package/lib/filter/components/FilterInput.js +134 -0
  382. package/lib/filter/components/FilterRange.d.ts +19 -0
  383. package/lib/filter/components/FilterRange.js +186 -0
  384. package/lib/filter/components/FilterSelect.d.ts +23 -0
  385. package/lib/filter/components/FilterSelect.js +221 -0
  386. package/lib/filter/components/FilterSlot.d.ts +28 -0
  387. package/lib/filter/components/FilterSlot.js +174 -0
  388. package/lib/filter/components/FilterSwitch.d.ts +13 -0
  389. package/lib/filter/components/FilterSwitch.js +91 -0
  390. package/lib/filter/components/FilterWrap.d.ts +20 -0
  391. package/lib/filter/components/FilterWrap.js +306 -0
  392. package/lib/filter/components/ResponsiveFilterGroup.d.ts +27 -0
  393. package/lib/filter/components/ResponsiveFilterGroup.js +412 -0
  394. package/lib/filter/components/WrappedTagsDisplay.d.ts +22 -0
  395. package/lib/filter/components/WrappedTagsDisplay.js +84 -0
  396. package/lib/filter/hooks/index.d.ts +4 -0
  397. package/lib/filter/hooks/index.js +26 -0
  398. package/lib/filter/hooks/useControlledState.d.ts +9 -0
  399. package/lib/filter/hooks/useControlledState.js +34 -0
  400. package/lib/filter/hooks/useFilterCollapsed.d.ts +8 -0
  401. package/lib/filter/hooks/useFilterCollapsed.js +21 -0
  402. package/lib/filter/hooks/useFilterTooltip.d.ts +29 -0
  403. package/lib/filter/hooks/useFilterTooltip.js +121 -0
  404. package/lib/filter/index.d.ts +24 -0
  405. package/lib/filter/index.js +45 -0
  406. package/lib/filter/style/index.d.ts +15 -0
  407. package/lib/filter/style/index.js +308 -0
  408. package/lib/filter/type.d.ts +41 -0
  409. package/lib/filter/type.js +5 -0
  410. package/lib/filter/utils.d.ts +50 -0
  411. package/lib/filter/utils.js +192 -0
  412. package/lib/float-button/index.js +15 -22
  413. package/lib/float-button/interface.js +14 -21
  414. package/lib/form/FormItem.d.ts +1 -1
  415. package/lib/form/FormItem.js +78 -85
  416. package/lib/form/index.js +58 -79
  417. package/lib/form/interface.js +14 -21
  418. package/lib/form/style/index.d.ts +1 -4
  419. package/lib/form/style/index.js +20 -40
  420. package/lib/grid/col.js +28 -46
  421. package/lib/grid/index.js +25 -44
  422. package/lib/grid/row.js +30 -46
  423. package/lib/image/index.js +15 -22
  424. package/lib/index.d.ts +178 -1
  425. package/lib/index.js +363 -154
  426. package/lib/input/Input.js +64 -78
  427. package/lib/input/Password.js +59 -77
  428. package/lib/input/Search.js +59 -77
  429. package/lib/input/TextArea.js +59 -77
  430. package/lib/input/index.js +30 -50
  431. package/lib/input/style/index.d.ts +1 -4
  432. package/lib/input/style/index.js +45 -36
  433. package/lib/input-number/index.js +56 -77
  434. package/lib/input-number/style/index.d.ts +2 -5
  435. package/lib/input-number/style/index.js +30 -38
  436. package/lib/layout/index.js +15 -22
  437. package/lib/list/index.js +52 -60
  438. package/lib/locale/en-US.js +29 -48
  439. package/lib/locale/index.d.ts +11 -0
  440. package/lib/locale/index.js +24 -38
  441. package/lib/locale/ja-JP.js +29 -48
  442. package/lib/locale/useLocale.js +6 -24
  443. package/lib/locale/zh-CN.js +29 -48
  444. package/lib/locale/zh-TW.js +29 -48
  445. package/lib/lottie/index.js +61 -81
  446. package/lib/mentions/index.js +15 -22
  447. package/lib/menu/index.js +15 -22
  448. package/lib/menu/interface.js +14 -21
  449. package/lib/message/index.js +15 -22
  450. package/lib/message/interface.js +14 -21
  451. package/lib/modal/Modal.d.ts +3 -1
  452. package/lib/modal/Modal.js +99 -81
  453. package/lib/modal/Progress.js +44 -62
  454. package/lib/modal/index.js +23 -43
  455. package/lib/modal/interface.js +14 -21
  456. package/lib/modal/style/index.d.ts +1 -4
  457. package/lib/modal/style/index.js +67 -51
  458. package/lib/notification/index.js +15 -22
  459. package/lib/notification/interface.js +14 -21
  460. package/lib/pagination/index.js +15 -22
  461. package/lib/popconfirm/index.js +15 -22
  462. package/lib/popover/index.js +15 -22
  463. package/lib/progress/index.js +26 -24
  464. package/lib/progress/progress.js +14 -21
  465. package/lib/qrcode/index.js +15 -22
  466. package/lib/qrcode/interface.js +14 -21
  467. package/lib/radio/RadioButton.d.ts +8 -0
  468. package/lib/radio/RadioButton.js +44 -0
  469. package/lib/radio/index.d.ts +4 -0
  470. package/lib/radio/index.js +54 -63
  471. package/lib/radio/interface.js +14 -21
  472. package/lib/radio/style/index.d.ts +1 -4
  473. package/lib/radio/style/index.js +59 -38
  474. package/lib/rate/index.js +15 -22
  475. package/lib/result/403.js +164 -196
  476. package/lib/result/404.js +291 -355
  477. package/lib/result/500.js +156 -260
  478. package/lib/result/Error.js +126 -161
  479. package/lib/result/Processing.js +320 -253
  480. package/lib/result/Success.js +202 -262
  481. package/lib/result/Warning.js +302 -435
  482. package/lib/result/index.js +65 -81
  483. package/lib/result/style/index.d.ts +1 -4
  484. package/lib/result/style/index.js +16 -39
  485. package/lib/segmented/index.js +86 -84
  486. package/lib/segmented/style/index.d.ts +1 -4
  487. package/lib/segmented/style/index.js +20 -40
  488. package/lib/select/index.js +63 -82
  489. package/lib/select/style/index.d.ts +1 -4
  490. package/lib/select/style/index.js +29 -37
  491. package/lib/skeleton/index.js +15 -22
  492. package/lib/slider/index.js +48 -59
  493. package/lib/slider/style/index.d.ts +1 -4
  494. package/lib/slider/style/index.js +20 -41
  495. package/lib/space/index.js +62 -69
  496. package/lib/space/style/index.d.ts +1 -4
  497. package/lib/space/style/index.js +17 -40
  498. package/lib/spin/assets/spin-gray.json +1 -1
  499. package/lib/spin/assets/spin.json +1 -1
  500. package/lib/spin/index.js +58 -77
  501. package/lib/spin/style/index.d.ts +1 -4
  502. package/lib/spin/style/index.js +54 -58
  503. package/lib/static-function/index.d.ts +176 -1
  504. package/lib/static-function/index.js +51 -74
  505. package/lib/statistic/index.js +15 -22
  506. package/lib/steps/index.js +15 -22
  507. package/lib/style/global.d.ts +1 -0
  508. package/lib/style/global.js +187 -145
  509. package/lib/switch/index.js +52 -61
  510. package/lib/switch/style/index.d.ts +1 -4
  511. package/lib/switch/style/index.js +17 -37
  512. package/lib/table/hooks/useDefaultPagination.js +18 -46
  513. package/lib/table/index.d.ts +1 -4
  514. package/lib/table/index.js +413 -198
  515. package/lib/table/interface.js +14 -21
  516. package/lib/table/style/index.d.ts +1 -4
  517. package/lib/table/style/index.js +288 -94
  518. package/lib/tabs/TabPane.js +7 -25
  519. package/lib/tabs/hooks/useLegacyItems.js +27 -44
  520. package/lib/tabs/index.js +107 -125
  521. package/lib/tabs/style/index.d.ts +1 -4
  522. package/lib/tabs/style/index.js +26 -41
  523. package/lib/tag/index.js +81 -95
  524. package/lib/tag/style/index.d.ts +1 -4
  525. package/lib/tag/style/index.js +64 -64
  526. package/lib/theme/aliyun.js +7 -34
  527. package/lib/theme/compact.js +9 -36
  528. package/lib/theme/dark.js +9 -36
  529. package/lib/theme/default.d.ts +17 -0
  530. package/lib/theme/default.js +263 -229
  531. package/lib/theme/index.d.ts +2 -0
  532. package/lib/theme/index.js +61 -56
  533. package/lib/theme/interface.d.ts +38 -0
  534. package/lib/theme/interface.js +14 -21
  535. package/lib/theme/internal.js +14 -21
  536. package/lib/theme/obToken.d.ts +206 -0
  537. package/lib/theme/obToken.js +462 -0
  538. package/lib/{style/cssVariablesMeta.d.ts → theme/obTokenMeta.d.ts} +5 -5
  539. package/{es/style/cssVariablesMeta.js → lib/theme/obTokenMeta.js} +352 -383
  540. package/lib/theme/style/aliyun.less +1 -1
  541. package/lib/theme/style/compact.less +65 -62
  542. package/lib/theme/style/dark.less +1 -1
  543. package/lib/theme/style/default.less +66 -63
  544. package/lib/theme/themes/compact/index.js +19 -39
  545. package/lib/theme/themes/dark/index.js +19 -39
  546. package/lib/theme/themes/default/index.js +19 -39
  547. package/lib/theme/themes/seed.js +24 -43
  548. package/lib/theme/util/alias.js +19 -39
  549. package/lib/theme/util/format.js +15 -35
  550. package/lib/time-picker/index.js +15 -22
  551. package/lib/timeline/index.js +15 -22
  552. package/lib/tooltip/MouseTooltip.js +84 -99
  553. package/lib/tooltip/ReactStickyMouseTooltip.js +63 -89
  554. package/lib/tooltip/hooks/useTooltipTypeList.js +28 -61
  555. package/lib/tooltip/index.js +122 -137
  556. package/lib/tooltip/style/index.d.ts +1 -4
  557. package/lib/tooltip/style/index.js +26 -50
  558. package/lib/tour/index.js +15 -22
  559. package/lib/tour/interface.js +14 -21
  560. package/lib/transfer/index.js +15 -22
  561. package/lib/transfer/interface.js +14 -21
  562. package/lib/tree/index.js +15 -22
  563. package/lib/tree-select/index.js +66 -85
  564. package/lib/tree-select/style/index.d.ts +1 -4
  565. package/lib/tree-select/style/index.js +10 -35
  566. package/lib/typography/Link.js +54 -69
  567. package/lib/typography/Paragraph.js +54 -69
  568. package/lib/typography/Text.d.ts +1 -0
  569. package/lib/typography/Text.js +55 -69
  570. package/lib/typography/Title.js +54 -69
  571. package/lib/typography/hooks/useClassName.d.ts +1 -1
  572. package/lib/typography/hooks/useClassName.js +12 -42
  573. package/lib/typography/index.d.ts +12 -1
  574. package/lib/typography/index.js +89 -58
  575. package/lib/typography/style/index.d.ts +2 -5
  576. package/lib/typography/style/index.js +35 -49
  577. package/lib/upload/index.js +15 -22
  578. package/lib/upload/interface.js +14 -21
  579. package/lib/watermark/index.js +15 -22
  580. package/package.json +8 -8
  581. package/es/style/cssVariables.d.ts +0 -25
  582. package/es/style/cssVariables.js +0 -48
  583. package/lib/style/cssVariables.d.ts +0 -25
  584. package/lib/style/cssVariables.js +0 -261
  585. package/lib/style/cssVariablesMeta.js +0 -1059
@@ -0,0 +1,189 @@
1
+ "use client";
2
+ var _excluded = ["children", "dropdownRender", "value", "defaultValue", "onChange", "formatValue", "placeholder", "icon", "label", "bordered", "loading", "_isCollapsed"],
3
+ _excluded2 = ["onOpenChange"];
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
17
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
18
+ import React, { isValidElement, useCallback, useEffect, useMemo, useRef } from 'react';
19
+ import theme from "../../theme";
20
+ import { useControlledState } from "../hooks/useControlledState";
21
+ import { useFilterContext } from "../FilterContext";
22
+ import { useFilterCollapsed } from "../hooks/useFilterCollapsed";
23
+ import { useFilterTooltip } from "../hooks/useFilterTooltip";
24
+ import useFilterStyle, { getFilterCls } from "../style";
25
+ import { generateFilterId, getPlaceholder, getWrappedValueStyle, wrapContent } from "../utils";
26
+ import FilterButton from "./FilterButton";
27
+ import { jsx as _jsx } from "react/jsx-runtime";
28
+ import { jsxs as _jsxs } from "react/jsx-runtime";
29
+ import { Fragment as _Fragment } from "react/jsx-runtime";
30
+ var FilterSlot = function FilterSlot(_ref) {
31
+ var children = _ref.children,
32
+ dropdownRender = _ref.dropdownRender,
33
+ value = _ref.value,
34
+ defaultValue = _ref.defaultValue,
35
+ onChange = _ref.onChange,
36
+ formatValue = _ref.formatValue,
37
+ placeholder = _ref.placeholder,
38
+ icon = _ref.icon,
39
+ label = _ref.label,
40
+ _ref$bordered = _ref.bordered,
41
+ bordered = _ref$bordered === void 0 ? true : _ref$bordered,
42
+ _ref$loading = _ref.loading,
43
+ loading = _ref$loading === void 0 ? false : _ref$loading,
44
+ _ref$_isCollapsed = _ref._isCollapsed,
45
+ _isCollapsed = _ref$_isCollapsed === void 0 ? false : _ref$_isCollapsed,
46
+ restProps = _objectWithoutProperties(_ref, _excluded);
47
+ var isCollapsed = useFilterCollapsed(_isCollapsed);
48
+ var _theme$useToken = theme.useToken(),
49
+ token = _theme$useToken.token;
50
+ var _useFilterStyle = useFilterStyle(),
51
+ prefixCls = _useFilterStyle.prefixCls;
52
+ var filterButtonRef = useRef(null);
53
+ var _useFilterContext = useFilterContext(),
54
+ updateFilterValue = _useFilterContext.updateFilterValue;
55
+ var filterId = useMemo(function () {
56
+ return generateFilterId('slot', label);
57
+ }, [label]);
58
+ var externalOnOpenChange = restProps.onOpenChange,
59
+ filterButtonProps = _objectWithoutProperties(restProps, _excluded2);
60
+ var _useControlledState = useControlledState(value, defaultValue, onChange),
61
+ _useControlledState2 = _slicedToArray(_useControlledState, 2),
62
+ currentValue = _useControlledState2[0],
63
+ setValue = _useControlledState2[1];
64
+ var hasValue = currentValue !== undefined && currentValue !== null && currentValue !== '';
65
+ var formattedText = hasValue && formatValue ? formatValue(currentValue) : '';
66
+ var displayText = hasValue ? formattedText || String(currentValue) : '';
67
+ var currentLabel = hasValue && displayText ? displayText : label;
68
+ var isDirectRender = !dropdownRender;
69
+ var _useFilterTooltip = useFilterTooltip({
70
+ hasValue: hasValue,
71
+ label: label,
72
+ content: displayText || null,
73
+ disabled: isCollapsed || isDirectRender
74
+ }),
75
+ onPopoverOpenChange = _useFilterTooltip.onPopoverOpenChange,
76
+ wrapWithTooltip = _useFilterTooltip.wrapWithTooltip;
77
+ var handlePopoverOpenChange = function handlePopoverOpenChange(open) {
78
+ onPopoverOpenChange(open);
79
+ externalOnOpenChange === null || externalOnOpenChange === void 0 || externalOnOpenChange(open);
80
+ };
81
+ useEffect(function () {
82
+ if (isCollapsed && updateFilterValue) {
83
+ updateFilterValue(filterId, label, currentValue, [{
84
+ formattedText: formattedText
85
+ }], 'slot');
86
+ }
87
+ }, [isCollapsed, updateFilterValue, filterId, label, currentValue, formattedText]);
88
+ var handleClear = function handleClear() {
89
+ setValue(undefined);
90
+ };
91
+ var handleChildChange = useCallback(function () {
92
+ var firstArg = arguments.length <= 0 ? undefined : arguments[0];
93
+ var newValue;
94
+ if (firstArg && _typeof(firstArg) === 'object' && 'target' in firstArg && _typeof(firstArg.target) === 'object') {
95
+ newValue = 'value' in firstArg.target ? firstArg.target.value : firstArg.target.checked;
96
+ } else {
97
+ newValue = firstArg;
98
+ }
99
+ setValue(newValue);
100
+ }, [setValue]);
101
+ var injectValueProps = useCallback(function (element) {
102
+ if ( /*#__PURE__*/isValidElement(element)) {
103
+ var _childElement$props;
104
+ var childElement = element;
105
+ var originalOnChange = (_childElement$props = childElement.props) === null || _childElement$props === void 0 ? void 0 : _childElement$props.onChange;
106
+ return /*#__PURE__*/React.cloneElement(childElement, {
107
+ value: currentValue,
108
+ onChange: function onChange() {
109
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
110
+ args[_key] = arguments[_key];
111
+ }
112
+ handleChildChange.apply(void 0, args);
113
+ originalOnChange === null || originalOnChange === void 0 || originalOnChange.apply(void 0, args);
114
+ }
115
+ });
116
+ }
117
+ return element;
118
+ }, [currentValue, handleChildChange]);
119
+
120
+ // ======== 直接渲染模式(仅 children,无 dropdownRender) ========
121
+ if (isDirectRender) {
122
+ if (isCollapsed) {
123
+ return /*#__PURE__*/_jsxs("div", {
124
+ style: {
125
+ paddingBlock: token.paddingXXS
126
+ },
127
+ children: [/*#__PURE__*/_jsx("div", {
128
+ style: {
129
+ marginBottom: 8
130
+ },
131
+ children: label
132
+ }), injectValueProps(children)]
133
+ });
134
+ }
135
+ return /*#__PURE__*/_jsx(_Fragment, {
136
+ children: injectValueProps(children)
137
+ });
138
+ }
139
+
140
+ // ======== Popover 模式(设置了 dropdownRender) ========
141
+ var wrappedContent = wrapContent(injectValueProps(dropdownRender));
142
+ if (isCollapsed) {
143
+ return /*#__PURE__*/_jsxs("div", {
144
+ style: {
145
+ paddingBlock: token.paddingXXS
146
+ },
147
+ children: [/*#__PURE__*/_jsx("div", {
148
+ style: {
149
+ marginBottom: 8
150
+ },
151
+ children: label
152
+ }), /*#__PURE__*/_jsx(FilterButton, _objectSpread(_objectSpread({
153
+ ref: filterButtonRef,
154
+ icon: icon,
155
+ label: label,
156
+ bordered: bordered,
157
+ onClear: handleClear,
158
+ content: wrappedContent,
159
+ loading: loading,
160
+ selected: hasValue,
161
+ onOpenChange: handlePopoverOpenChange
162
+ }, filterButtonProps), {}, {
163
+ children: /*#__PURE__*/_jsx("span", {
164
+ className: getFilterCls(prefixCls, 'text-ellipsis'),
165
+ style: getWrappedValueStyle(hasValue),
166
+ children: hasValue ? displayText : placeholder || getPlaceholder()
167
+ })
168
+ }))]
169
+ });
170
+ }
171
+ var filterButton = /*#__PURE__*/_jsx(FilterButton, _objectSpread(_objectSpread({
172
+ ref: filterButtonRef,
173
+ icon: icon,
174
+ label: label,
175
+ bordered: bordered,
176
+ onClear: handleClear,
177
+ content: wrappedContent,
178
+ loading: loading,
179
+ selected: hasValue,
180
+ onOpenChange: handlePopoverOpenChange
181
+ }, filterButtonProps), {}, {
182
+ children: /*#__PURE__*/_jsx("span", {
183
+ className: getFilterCls(prefixCls, 'text-ellipsis'),
184
+ children: hasValue ? currentLabel : placeholder || label
185
+ })
186
+ }));
187
+ return wrapWithTooltip(filterButton);
188
+ };
189
+ export default FilterSlot;
@@ -0,0 +1,13 @@
1
+ import type { FC } from 'react';
2
+ import { type SwitchProps } from '../../switch';
3
+ import type { BaseFilterProps } from '../type';
4
+ export interface FilterSwitchProps extends BaseFilterProps {
5
+ /** 当前值 */
6
+ value?: boolean;
7
+ /** 值变化回调 */
8
+ onChange?: (value: boolean) => void;
9
+ /** Switch 组件的额外属性 */
10
+ switchProps?: SwitchProps;
11
+ }
12
+ declare const FilterSwitch: FC<FilterSwitchProps>;
13
+ export default FilterSwitch;
@@ -0,0 +1,102 @@
1
+ "use client";
2
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
+ var _excluded = ["value", "onChange", "icon", "label", "bordered", "switchProps"];
4
+ function _objectDestructuringEmpty(obj) { if (obj == null) throw new TypeError("Cannot destructure " + obj); }
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
9
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
17
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
18
+ import { useEffect, useMemo } from 'react';
19
+ import { Flex } from 'antd';
20
+ import theme from "../../theme";
21
+ import Switch from "../../switch";
22
+ import { useControlledState } from "../hooks/useControlledState";
23
+ import { useFilterContext } from "../FilterContext";
24
+ import { useFilterCollapsed } from "../hooks/useFilterCollapsed";
25
+ import { generateFilterId, wrapContent } from "../utils";
26
+ import FilterButton from "./FilterButton";
27
+ import { jsx as _jsx } from "react/jsx-runtime";
28
+ import { jsxs as _jsxs } from "react/jsx-runtime";
29
+ var FilterSwitch = function FilterSwitch(_ref) {
30
+ var value = _ref.value,
31
+ onChange = _ref.onChange,
32
+ icon = _ref.icon,
33
+ label = _ref.label,
34
+ _ref$bordered = _ref.bordered,
35
+ bordered = _ref$bordered === void 0 ? true : _ref$bordered,
36
+ switchProps = _ref.switchProps,
37
+ restProps = _objectWithoutProperties(_ref, _excluded);
38
+ var _theme$useToken = theme.useToken(),
39
+ token = _theme$useToken.token;
40
+ var isCollapsed = useFilterCollapsed();
41
+ var _useFilterContext = useFilterContext(),
42
+ updateFilterValue = _useFilterContext.updateFilterValue;
43
+ var filterId = useMemo(function () {
44
+ return generateFilterId('switch', label);
45
+ }, [label]);
46
+
47
+ // 支持从 Form.Item 通过 `valuePropName="checked"` 传入的 checked 属性
48
+ var propChecked = restProps.checked;
49
+
50
+ // 使用受控状态 hook:优先使用明确的 value,其次使用 checked(来自 Form.Item)
51
+ var _useControlledState = useControlledState(value !== undefined ? value : propChecked, false, onChange),
52
+ _useControlledState2 = _slicedToArray(_useControlledState, 2),
53
+ currentValue = _useControlledState2[0],
54
+ setValue = _useControlledState2[1];
55
+
56
+ // 当值变化时,更新 context 中的值
57
+ useEffect(function () {
58
+ if (isCollapsed && updateFilterValue) {
59
+ updateFilterValue(filterId, label, currentValue, undefined, 'switch');
60
+ }
61
+ }, [isCollapsed, updateFilterValue, filterId, label, currentValue]);
62
+ var handleClear = function handleClear() {
63
+ setValue(false);
64
+ };
65
+
66
+ // 渲染弹框内容
67
+ var renderContent = /*#__PURE__*/_jsxs(Flex, {
68
+ justify: "space-between",
69
+ align: "center",
70
+ style: {
71
+ paddingBlock: token.paddingXXS
72
+ },
73
+ children: [/*#__PURE__*/_jsx("span", {
74
+ children: label
75
+ }), /*#__PURE__*/_jsx(Switch, _objectSpread({
76
+ checked: currentValue,
77
+ onChange: setValue,
78
+ size: "small"
79
+ }, switchProps))]
80
+ });
81
+
82
+ // 如果处于折叠模式,只渲染内容部分
83
+ if (isCollapsed) {
84
+ return renderContent;
85
+ }
86
+ var wrappedContent = wrapContent(renderContent, '8px 12px');
87
+
88
+ // 从 restProps 中排除不需要的属性,避免类型冲突
89
+ var filterButtonProps = Object.assign({}, (_objectDestructuringEmpty(restProps), restProps));
90
+ return /*#__PURE__*/_jsx(FilterButton, _objectSpread(_objectSpread({
91
+ icon: icon,
92
+ label: label,
93
+ bordered: bordered,
94
+ onClear: handleClear,
95
+ content: wrappedContent
96
+ }, filterButtonProps), {}, {
97
+ children: /*#__PURE__*/_jsx("span", {
98
+ children: label
99
+ })
100
+ }));
101
+ };
102
+ export default FilterSwitch;
@@ -0,0 +1,20 @@
1
+ import type { FC, ReactNode } from 'react';
2
+ import React from 'react';
3
+ import type { BaseFilterProps } from '../type';
4
+ import type { FilterButtonRef } from './FilterButton';
5
+ export interface FilterWrapProps extends Omit<BaseFilterProps, 'label'> {
6
+ children: ReactNode;
7
+ label?: ReactNode;
8
+ /** 是否折叠模式(使用弹框包裹所有子元素),默认 false */
9
+ collapsed?: boolean;
10
+ /** 额外内容 */
11
+ extra?: ReactNode;
12
+ filterButtonRef?: React.RefObject<FilterButtonRef>;
13
+ gap?: number;
14
+ /** 是否显示计数 默认 true */
15
+ showCount?: boolean;
16
+ /** 点击清除所有按钮时的回调 */
17
+ onClearAll?: () => void;
18
+ }
19
+ declare const FilterWrap: FC<FilterWrapProps>;
20
+ export default FilterWrap;
@@ -0,0 +1,329 @@
1
+ "use client";
2
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
+ var _excluded = ["children", "label", "icon", "bordered", "collapsed", "extra", "filterButtonRef", "gap", "showCount", "onClearAll"],
4
+ _excluded2 = ["onOpenChange"];
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
9
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
17
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
18
+ import React, { Children, isValidElement, useCallback, useContext, useMemo } from 'react';
19
+ import { Flex } from 'antd';
20
+ import theme from "../../theme";
21
+ import ConfigProvider from "../../config-provider";
22
+ import enUS from "../../locale/en-US";
23
+ import { FilterProvider, useFilterContext } from "../FilterContext";
24
+ import { useFilterTooltip } from "../hooks/useFilterTooltip";
25
+ import FilterButton from "./FilterButton";
26
+ import CountNumber from "./CountNumber";
27
+ import { CloseOutlined } from '@oceanbase/icons';
28
+ import useFilterStyle, { getFilterCls } from "../style";
29
+ import { jsxs as _jsxs } from "react/jsx-runtime";
30
+ import { jsx as _jsx } from "react/jsx-runtime";
31
+ var FilterWrap = function FilterWrap(_ref) {
32
+ var children = _ref.children,
33
+ label = _ref.label,
34
+ icon = _ref.icon,
35
+ _ref$bordered = _ref.bordered,
36
+ bordered = _ref$bordered === void 0 ? true : _ref$bordered,
37
+ _ref$collapsed = _ref.collapsed,
38
+ collapsed = _ref$collapsed === void 0 ? false : _ref$collapsed,
39
+ extra = _ref.extra,
40
+ filterButtonRef = _ref.filterButtonRef,
41
+ _ref$gap = _ref.gap,
42
+ gap = _ref$gap === void 0 ? 8 : _ref$gap,
43
+ _ref$showCount = _ref.showCount,
44
+ showCount = _ref$showCount === void 0 ? true : _ref$showCount,
45
+ onClearAll = _ref.onClearAll,
46
+ restProps = _objectWithoutProperties(_ref, _excluded);
47
+ var _theme$useToken = theme.useToken(),
48
+ token = _theme$useToken.token;
49
+ var _useContext = useContext(ConfigProvider.ConfigContext),
50
+ contextLocale = _useContext.locale;
51
+ var filterLocale = (contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.Filter) || enUS.Filter;
52
+ // 始终调用 Hook,但只在折叠模式下使用 filterValues
53
+ var contextValue = useFilterContext();
54
+ var _useFilterStyle = useFilterStyle(),
55
+ prefixCls = _useFilterStyle.prefixCls;
56
+
57
+ // 如果没有传入 label,使用国际化默认值
58
+ var filterLabel = label !== null && label !== void 0 ? label : filterLocale === null || filterLocale === void 0 ? void 0 : filterLocale.filters;
59
+ // 稳定化 filterValues 的引用,避免不必要的重新计算
60
+ // 需要包含 id 和 value,这样当值改变时也会触发更新
61
+ var stableFilterValuesKey = useMemo(function () {
62
+ if (!collapsed || !contextValue.filterValues) return '';
63
+ return JSON.stringify(contextValue.filterValues.map(function (item) {
64
+ return {
65
+ id: item.id,
66
+ value: item.value
67
+ };
68
+ }));
69
+ }, [collapsed, contextValue.filterValues]);
70
+ var allFilterValues = useMemo(function () {
71
+ if (!collapsed) return [];
72
+ return contextValue.filterValues || [];
73
+ // eslint-disable-next-line react-hooks/exhaustive-deps
74
+ }, [collapsed, stableFilterValuesKey]);
75
+
76
+ // 从 children 中递归提取 label 集合,用于过滤 filterValues 只保留当前折叠项的值
77
+ // children 结构可能是 Fragment → Form.Item → Filter.Select,需要递归查找
78
+ var childLabelSet = useMemo(function () {
79
+ var labels = new Set();
80
+ var extractLabel = function extractLabel(node) {
81
+ if (! /*#__PURE__*/isValidElement(node)) return;
82
+ var props = node.props;
83
+ if (props.label !== undefined) {
84
+ labels.add(props.label);
85
+ return;
86
+ }
87
+ if (props.children) {
88
+ if ( /*#__PURE__*/isValidElement(props.children)) {
89
+ extractLabel(props.children);
90
+ } else if (Array.isArray(props.children)) {
91
+ props.children.forEach(extractLabel);
92
+ }
93
+ }
94
+ };
95
+ Children.forEach(children, extractLabel);
96
+ return labels;
97
+ }, [children]);
98
+ var filterValues = useMemo(function () {
99
+ if (childLabelSet.size === 0) return allFilterValues;
100
+ return allFilterValues.filter(function (item) {
101
+ return childLabelSet.has(item.label);
102
+ });
103
+ }, [allFilterValues, childLabelSet]);
104
+
105
+ // 格式化值用于 Tooltip 显示
106
+ var formatValueForTooltip = useCallback(function (value, options, componentName) {
107
+ if (!value) return '';
108
+ switch (componentName) {
109
+ case 'select':
110
+ {
111
+ var selectedOption = options === null || options === void 0 ? void 0 : options.find(function (opt) {
112
+ return opt.value === value;
113
+ });
114
+ return selectedOption !== null && selectedOption !== void 0 && selectedOption.label ? String(selectedOption.label) : String(value);
115
+ }
116
+ case 'range':
117
+ {
118
+ // Range 的 value 是 [Dayjs, Dayjs],需要使用 isSame 比较
119
+ var rangeValue = value;
120
+ if (!rangeValue || !Array.isArray(rangeValue) || rangeValue.length !== 2) {
121
+ return '';
122
+ }
123
+ var _selectedOption = options === null || options === void 0 ? void 0 : options.find(function (opt) {
124
+ var _optValue$, _optValue$$isSame, _optValue$2, _optValue$2$isSame;
125
+ if (!opt.value || !rangeValue) return false;
126
+ // 使用 isSame 方法比较 Dayjs 对象
127
+ var optValue = opt.value;
128
+ return ((_optValue$ = optValue[0]) === null || _optValue$ === void 0 || (_optValue$$isSame = _optValue$.isSame) === null || _optValue$$isSame === void 0 ? void 0 : _optValue$$isSame.call(_optValue$, rangeValue[0], 'day')) && ((_optValue$2 = optValue[1]) === null || _optValue$2 === void 0 || (_optValue$2$isSame = _optValue$2.isSame) === null || _optValue$2$isSame === void 0 ? void 0 : _optValue$2$isSame.call(_optValue$2, rangeValue[1], 'day'));
129
+ });
130
+ return _selectedOption !== null && _selectedOption !== void 0 && _selectedOption.label ? String(_selectedOption.label) : '';
131
+ }
132
+ case 'checkbox':
133
+ {
134
+ var selectedLabels = value.map(function (val) {
135
+ var option = options === null || options === void 0 ? void 0 : options.find(function (opt) {
136
+ return opt.value === val;
137
+ });
138
+ return option !== null && option !== void 0 && option.label ? String(option.label) : val;
139
+ }).filter(Boolean);
140
+ return selectedLabels.join(', ');
141
+ }
142
+ case 'cascader':
143
+ {
144
+ var _selectedLabels = value.map(function (valPair) {
145
+ var _parentOption$childre;
146
+ var _valPair = _slicedToArray(valPair, 2),
147
+ parentVal = _valPair[0],
148
+ childVal = _valPair[1];
149
+ var parentOption = options === null || options === void 0 ? void 0 : options.find(function (opt) {
150
+ return opt.value === parentVal;
151
+ });
152
+ var childOption = parentOption === null || parentOption === void 0 || (_parentOption$childre = parentOption.children) === null || _parentOption$childre === void 0 ? void 0 : _parentOption$childre.find(function (childOpt) {
153
+ return childOpt.value === childVal;
154
+ });
155
+ if (parentOption && childOption) {
156
+ return childOption.label ? String(childOption.label) : childVal;
157
+ }
158
+ return valPair.join('/');
159
+ });
160
+ return _selectedLabels.join(', ');
161
+ }
162
+ case 'switch':
163
+ {
164
+ return value ? filterLocale === null || filterLocale === void 0 ? void 0 : filterLocale.open : '';
165
+ }
166
+ case 'input':
167
+ {
168
+ return String(value);
169
+ }
170
+ case 'slot':
171
+ {
172
+ var _slotMeta$;
173
+ var slotMeta = options;
174
+ if (slotMeta !== null && slotMeta !== void 0 && (_slotMeta$ = slotMeta[0]) !== null && _slotMeta$ !== void 0 && _slotMeta$.formattedText) {
175
+ return slotMeta[0].formattedText;
176
+ }
177
+ return String(value);
178
+ }
179
+ default:
180
+ {
181
+ return String(value);
182
+ }
183
+ }
184
+ }, [filterLocale]);
185
+
186
+ // 生成 Tooltip 内容
187
+ var tooltipTitle = useMemo(function () {
188
+ if (!collapsed || !filterValues || filterValues.length === 0) {
189
+ return null;
190
+ }
191
+ var validItems = filterValues.map(function (item) {
192
+ var formattedValue = formatValueForTooltip(item.value, item.options, item.componentName);
193
+ if (!formattedValue) {
194
+ return null;
195
+ }
196
+ return /*#__PURE__*/_jsxs(Flex, {
197
+ gap: 4,
198
+ style: {
199
+ maxWidth: '300px'
200
+ },
201
+ children: [/*#__PURE__*/_jsxs("div", {
202
+ style: {
203
+ color: token.colorTextLabel,
204
+ whiteSpace: 'nowrap'
205
+ },
206
+ children: [item.label, ":"]
207
+ }), /*#__PURE__*/_jsx("div", {
208
+ children: formattedValue
209
+ })]
210
+ }, item.id);
211
+ }).filter(Boolean);
212
+ if (validItems.length === 0) {
213
+ return null;
214
+ }
215
+ return /*#__PURE__*/_jsx("div", {
216
+ style: {
217
+ maxWidth: 300,
218
+ padding: '0px 4px'
219
+ },
220
+ children: validItems
221
+ });
222
+ }, [filterValues, formatValueForTooltip, collapsed, token.colorTextLabel]);
223
+
224
+ // 使用 Tooltip hook
225
+ var _useFilterTooltip = useFilterTooltip({
226
+ hasValue: filterValues && filterValues.length > 0,
227
+ // label: filterLabel,
228
+ content: tooltipTitle,
229
+ disabled: !collapsed
230
+ }),
231
+ onPopoverOpenChange = _useFilterTooltip.onPopoverOpenChange,
232
+ wrapWithTooltip = _useFilterTooltip.wrapWithTooltip;
233
+
234
+ // 如果不使用折叠模式,按原来的方式渲染
235
+ if (!collapsed) {
236
+ return /*#__PURE__*/_jsx(Flex, {
237
+ gap: gap,
238
+ children: children
239
+ });
240
+ }
241
+
242
+ // 使用折叠模式
243
+ var handleClear = function handleClear() {
244
+ Children.forEach(children, function (child) {
245
+ if ( /*#__PURE__*/isValidElement(child)) {
246
+ var props = child.props;
247
+ if (props.onChange) {
248
+ props.onChange(undefined);
249
+ }
250
+ }
251
+ });
252
+ if (contextValue.clearAllFilterValues) {
253
+ contextValue.clearAllFilterValues();
254
+ }
255
+ };
256
+ var content = /*#__PURE__*/_jsx(FilterProvider, {
257
+ isCollapsed: true,
258
+ filterValues: contextValue.filterValues,
259
+ updateFilterValue: contextValue.updateFilterValue,
260
+ clearAllFilterValues: contextValue.clearAllFilterValues,
261
+ children: /*#__PURE__*/_jsx("div", {
262
+ style: {
263
+ padding: '8px 16px 16px',
264
+ maxHeight: 350,
265
+ overflowY: 'auto',
266
+ minWidth: 200,
267
+ maxWidth: 300,
268
+ fontSize: token.fontSize
269
+ },
270
+ children: /*#__PURE__*/_jsx(Flex, {
271
+ vertical: true,
272
+ gap: token.sizeXS,
273
+ children: Children.map(children, function (child, index) {
274
+ if ( /*#__PURE__*/isValidElement(child)) {
275
+ var stableKey = child.key || "filter-wrap-child-".concat(index);
276
+ return /*#__PURE__*/_jsx(React.Fragment, {
277
+ children: child
278
+ }, stableKey);
279
+ }
280
+ return child;
281
+ })
282
+ })
283
+ })
284
+ });
285
+
286
+ // 从 restProps 中排除 onOpenChange,避免类型冲突
287
+ var externalOnOpenChange = restProps.onOpenChange,
288
+ filterButtonProps = _objectWithoutProperties(restProps, _excluded2);
289
+ var filterButton = /*#__PURE__*/_jsxs(FilterButton, _objectSpread(_objectSpread({
290
+ ref: filterButtonRef,
291
+ icon: icon,
292
+ label: filterLabel,
293
+ bordered: bordered,
294
+ onClear: handleClear,
295
+ content: content,
296
+ extra: extra,
297
+ showSuffixIcon: false,
298
+ _isInWrapComponent: true,
299
+ showLabelDivider: !!restProps.footer,
300
+ onOpenChange: function onOpenChange(open) {
301
+ onPopoverOpenChange(open);
302
+ externalOnOpenChange === null || externalOnOpenChange === void 0 || externalOnOpenChange(open);
303
+ },
304
+ selected: filterValues.length > 0
305
+ }, filterButtonProps), {}, {
306
+ children: [/*#__PURE__*/_jsx("span", {
307
+ children: filterLabel
308
+ }), showCount && filterValues.length > 0 && /*#__PURE__*/_jsxs("div", {
309
+ className: getFilterCls(prefixCls, 'wrap-icon-wrapper'),
310
+ style: {
311
+ marginLeft: 0
312
+ },
313
+ children: [/*#__PURE__*/_jsx(CountNumber, {
314
+ count: filterValues.length,
315
+ className: getFilterCls(prefixCls, 'wrap-count')
316
+ }), /*#__PURE__*/_jsx("div", {
317
+ className: getFilterCls(prefixCls, 'wrap-clear-icon'),
318
+ onClick: function onClick(e) {
319
+ e.stopPropagation();
320
+ handleClear();
321
+ onClearAll === null || onClearAll === void 0 || onClearAll();
322
+ },
323
+ children: /*#__PURE__*/_jsx(CloseOutlined, {})
324
+ })]
325
+ })]
326
+ }));
327
+ return wrapWithTooltip(filterButton);
328
+ };
329
+ export default FilterWrap;