@oceanbase/design 1.0.0-alpha.2 → 1.0.0-alpha.21

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 (630) hide show
  1. package/dist/design.min.css +1 -1
  2. package/dist/design.min.js +1 -1
  3. package/dist/reset.css +2 -1
  4. package/dist/static/Inter-Medium.ea234620.woff2 +0 -0
  5. package/dist/static/Inter-Regular.34ba43c9.woff2 +0 -0
  6. package/dist/static/Inter-SemiBold.95439fb4.woff2 +0 -0
  7. package/es/_util/document.d.ts +11 -0
  8. package/es/_util/document.js +65 -0
  9. package/es/_util/genComponentStyleHook.d.ts +21 -4
  10. package/es/_util/genComponentStyleHook.js +68 -20
  11. package/es/_util/index.d.ts +2 -0
  12. package/es/_util/index.js +28 -1
  13. package/es/_util/styleChecker.js +1 -0
  14. package/es/affix/index.js +1 -0
  15. package/es/alert/index.d.ts +2 -2
  16. package/es/alert/index.js +27 -6
  17. package/es/alert/style/index.d.ts +2 -5
  18. package/es/alert/style/index.js +162 -67
  19. package/es/anchor/index.js +1 -0
  20. package/es/app/index.d.ts +8 -0
  21. package/es/app/index.js +44 -1
  22. package/es/app/style/index.d.ts +6 -0
  23. package/es/app/style/index.js +9 -0
  24. package/es/auto-complete/index.js +1 -0
  25. package/es/avatar/index.js +1 -0
  26. package/es/badge/index.d.ts +2 -0
  27. package/es/badge/index.js +38 -14
  28. package/es/badge/style/index.d.ts +2 -5
  29. package/es/badge/style/index.js +9 -9
  30. package/es/breadcrumb/Breadcrumb.js +1 -0
  31. package/es/breadcrumb/index.js +1 -0
  32. package/es/button/index.js +19 -6
  33. package/es/button/style/index.d.ts +4 -5
  34. package/es/button/style/index.js +49 -7
  35. package/es/calendar/index.js +1 -0
  36. package/es/card/index.d.ts +10 -0
  37. package/es/card/index.js +106 -11
  38. package/es/card/style/index.d.ts +2 -5
  39. package/es/card/style/index.js +113 -31
  40. package/es/carousel/index.js +1 -0
  41. package/es/cascader/index.js +1 -0
  42. package/es/checkbox/index.js +10 -2
  43. package/es/checkbox/style/index.d.ts +2 -5
  44. package/es/checkbox/style/index.js +14 -11
  45. package/es/collapse/index.js +1 -0
  46. package/es/color-picker/index.js +1 -0
  47. package/es/config-provider/DefaultRenderEmpty.js +1 -0
  48. package/es/config-provider/context.d.ts +11 -0
  49. package/es/config-provider/context.js +2 -1
  50. package/es/config-provider/index.d.ts +9 -3
  51. package/es/config-provider/index.js +137 -41
  52. package/es/date-picker/index.js +1 -0
  53. package/es/descriptions/hooks/useItems.d.ts +3 -3
  54. package/es/descriptions/hooks/useItems.js +1 -0
  55. package/es/descriptions/index.d.ts +10 -0
  56. package/es/descriptions/index.js +63 -5
  57. package/es/descriptions/style/index.d.ts +3 -6
  58. package/es/descriptions/style/index.js +68 -9
  59. package/es/divider/index.js +1 -0
  60. package/es/drawer/index.d.ts +2 -0
  61. package/es/drawer/index.js +44 -8
  62. package/es/drawer/style/index.d.ts +2 -5
  63. package/es/drawer/style/index.js +66 -17
  64. package/es/dropdown/dropdown-button.js +27 -6
  65. package/es/dropdown/index.js +29 -3
  66. package/es/dropdown/style/index.d.ts +6 -0
  67. package/es/{_util/genStyle.js → dropdown/style/index.js} +18 -12
  68. package/es/empty/colored.js +1 -0
  69. package/es/empty/database.js +1 -0
  70. package/es/empty/default.js +1 -0
  71. package/es/empty/guide.js +1 -0
  72. package/es/empty/index.js +5 -3
  73. package/es/empty/style/index.d.ts +2 -5
  74. package/es/empty/style/index.js +11 -10
  75. package/es/filter/FilterContext.d.ts +27 -0
  76. package/es/filter/FilterContext.js +26 -0
  77. package/es/filter/components/ClearIcon.d.ts +6 -0
  78. package/es/filter/components/ClearIcon.js +26 -0
  79. package/es/filter/components/CountNumber.d.ts +8 -0
  80. package/es/filter/components/CountNumber.js +20 -0
  81. package/es/filter/components/FilterButton.d.ts +34 -0
  82. package/es/filter/components/FilterButton.js +221 -0
  83. package/es/filter/components/FilterCascader/components/CascaderOption/OptionCheckbox.d.ts +20 -0
  84. package/es/filter/components/FilterCascader/components/CascaderOption/OptionCheckbox.js +101 -0
  85. package/es/filter/components/FilterCascader/components/CascaderOption/OptionItem.d.ts +13 -0
  86. package/es/filter/components/FilterCascader/components/CascaderOption/OptionItem.js +44 -0
  87. package/es/filter/components/FilterCascader/components/FlatCascaderContent/index.d.ts +17 -0
  88. package/es/filter/components/FilterCascader/components/FlatCascaderContent/index.js +78 -0
  89. package/es/filter/components/FilterCascader/components/NormalCascaderContent.d.ts +24 -0
  90. package/es/filter/components/FilterCascader/components/NormalCascaderContent.js +279 -0
  91. package/es/filter/components/FilterCascader/constants.d.ts +7 -0
  92. package/es/filter/components/FilterCascader/constants.js +8 -0
  93. package/es/filter/components/FilterCascader/hooks/useCascaderCallbacks.d.ts +12 -0
  94. package/es/filter/components/FilterCascader/hooks/useCascaderCallbacks.js +101 -0
  95. package/es/filter/components/FilterCascader/hooks/useCascaderLabels.d.ts +9 -0
  96. package/es/filter/components/FilterCascader/hooks/useCascaderLabels.js +50 -0
  97. package/es/filter/components/FilterCascader/hooks/useNormalizedValue.d.ts +7 -0
  98. package/es/filter/components/FilterCascader/hooks/useNormalizedValue.js +53 -0
  99. package/es/filter/components/FilterCascader/index.d.ts +5 -0
  100. package/es/filter/components/FilterCascader/index.js +317 -0
  101. package/es/filter/components/FilterCascader/types.d.ts +56 -0
  102. package/es/filter/components/FilterCascader/types.js +1 -0
  103. package/es/filter/components/FilterCascader/utils/countUtils.d.ts +13 -0
  104. package/es/filter/components/FilterCascader/utils/countUtils.js +48 -0
  105. package/es/filter/components/FilterCascader/utils/pathUtils.d.ts +17 -0
  106. package/es/filter/components/FilterCascader/utils/pathUtils.js +91 -0
  107. package/es/filter/components/FilterCheckbox.d.ts +26 -0
  108. package/es/filter/components/FilterCheckbox.js +358 -0
  109. package/es/filter/components/FilterInput.d.ts +18 -0
  110. package/es/filter/components/FilterInput.js +148 -0
  111. package/es/filter/components/FilterRange.d.ts +19 -0
  112. package/es/filter/components/FilterRange.js +201 -0
  113. package/es/filter/components/FilterSelect.d.ts +23 -0
  114. package/es/filter/components/FilterSelect.js +245 -0
  115. package/es/filter/components/FilterSlot.d.ts +28 -0
  116. package/es/filter/components/FilterSlot.js +189 -0
  117. package/es/filter/components/FilterSwitch.d.ts +13 -0
  118. package/es/filter/components/FilterSwitch.js +102 -0
  119. package/es/filter/components/FilterWrap.d.ts +20 -0
  120. package/es/filter/components/FilterWrap.js +329 -0
  121. package/es/filter/components/ResponsiveFilterGroup.d.ts +27 -0
  122. package/es/filter/components/ResponsiveFilterGroup.js +477 -0
  123. package/es/filter/components/WrappedTagsDisplay.d.ts +22 -0
  124. package/es/filter/components/WrappedTagsDisplay.js +80 -0
  125. package/es/filter/hooks/index.d.ts +4 -0
  126. package/es/filter/hooks/index.js +3 -0
  127. package/es/filter/hooks/useControlledState.d.ts +9 -0
  128. package/es/filter/hooks/useControlledState.js +37 -0
  129. package/es/filter/hooks/useFilterCollapsed.d.ts +8 -0
  130. package/es/filter/hooks/useFilterCollapsed.js +15 -0
  131. package/es/filter/hooks/useFilterTooltip.d.ts +29 -0
  132. package/es/filter/hooks/useFilterTooltip.js +127 -0
  133. package/es/filter/index.d.ts +24 -0
  134. package/es/filter/index.js +27 -0
  135. package/es/filter/style/index.d.ts +15 -0
  136. package/es/filter/style/index.js +245 -0
  137. package/es/filter/type.d.ts +41 -0
  138. package/es/filter/type.js +1 -0
  139. package/es/filter/utils.d.ts +50 -0
  140. package/es/filter/utils.js +189 -0
  141. package/es/float-button/index.js +1 -0
  142. package/es/fonts/Inter-Medium.woff2 +0 -0
  143. package/es/fonts/Inter-Regular.woff2 +0 -0
  144. package/es/fonts/Inter-SemiBold.woff2 +0 -0
  145. package/es/form/FormItem.d.ts +1 -0
  146. package/es/form/FormItem.js +27 -11
  147. package/es/form/index.js +10 -2
  148. package/es/form/style/index.d.ts +2 -5
  149. package/es/form/style/index.js +21 -8
  150. package/es/grid/col.js +1 -0
  151. package/es/grid/index.js +1 -0
  152. package/es/grid/row.js +1 -0
  153. package/es/image/index.js +1 -0
  154. package/es/index.d.ts +182 -4
  155. package/es/index.js +4 -2
  156. package/es/input/Input.d.ts +2 -0
  157. package/es/input/Input.js +31 -7
  158. package/es/input/Password.js +25 -5
  159. package/es/input/Search.js +25 -5
  160. package/es/input/TextArea.js +25 -5
  161. package/es/input/index.js +1 -0
  162. package/es/input/style/index.d.ts +6 -0
  163. package/es/input/style/index.js +31 -0
  164. package/es/input-number/index.d.ts +2 -1
  165. package/es/input-number/index.js +19 -4
  166. package/es/input-number/style/index.d.ts +6 -0
  167. package/es/input-number/style/index.js +26 -0
  168. package/es/layout/index.js +1 -0
  169. package/es/list/index.js +1 -0
  170. package/es/locale/en-US.js +10 -2
  171. package/es/locale/index.d.ts +11 -0
  172. package/es/locale/index.js +1 -0
  173. package/es/locale/ja-JP.d.ts +3 -0
  174. package/es/locale/ja-JP.js +36 -0
  175. package/es/locale/zh-CN.js +10 -2
  176. package/es/locale/zh-TW.js +10 -2
  177. package/es/lottie/index.js +1 -0
  178. package/es/mentions/index.js +1 -0
  179. package/es/menu/index.js +1 -0
  180. package/es/message/index.js +1 -0
  181. package/es/modal/Modal.d.ts +3 -1
  182. package/es/modal/Modal.js +69 -14
  183. package/es/modal/Progress.js +1 -0
  184. package/es/modal/index.js +1 -0
  185. package/es/modal/style/index.d.ts +2 -5
  186. package/es/modal/style/index.js +96 -26
  187. package/es/notification/index.js +1 -0
  188. package/es/pagination/index.js +1 -0
  189. package/es/popconfirm/index.js +1 -0
  190. package/es/popover/index.js +1 -0
  191. package/es/progress/index.js +1 -0
  192. package/es/qrcode/index.js +1 -0
  193. package/es/radio/RadioButton.d.ts +8 -0
  194. package/es/radio/RadioButton.js +42 -0
  195. package/es/radio/index.d.ts +4 -0
  196. package/es/radio/index.js +12 -3
  197. package/es/radio/style/index.d.ts +2 -5
  198. package/es/radio/style/index.js +30 -10
  199. package/es/rate/index.js +1 -0
  200. package/es/result/403.js +1 -0
  201. package/es/result/404.js +1 -0
  202. package/es/result/500.js +1 -0
  203. package/es/result/Error.js +1 -0
  204. package/es/result/Processing.js +1 -0
  205. package/es/result/Success.js +1 -0
  206. package/es/result/Warning.js +1 -0
  207. package/es/result/index.d.ts +2 -2
  208. package/es/result/index.js +15 -6
  209. package/es/result/style/index.d.ts +2 -5
  210. package/es/result/style/index.js +3 -6
  211. package/es/segmented/index.d.ts +1 -0
  212. package/es/segmented/index.js +25 -9
  213. package/es/segmented/style/index.d.ts +1 -4
  214. package/es/segmented/style/index.js +4 -6
  215. package/es/select/index.js +10 -2
  216. package/es/select/style/index.d.ts +2 -5
  217. package/es/select/style/index.js +13 -8
  218. package/es/skeleton/index.js +1 -0
  219. package/es/slider/index.js +10 -2
  220. package/es/slider/style/index.d.ts +2 -5
  221. package/es/slider/style/index.js +11 -11
  222. package/es/space/index.js +10 -2
  223. package/es/space/style/index.d.ts +2 -5
  224. package/es/space/style/index.js +3 -6
  225. package/es/spin/assets/spin-gray.json +1 -1
  226. package/es/spin/assets/spin.json +1 -1
  227. package/es/spin/index.js +10 -2
  228. package/es/spin/style/index.d.ts +2 -5
  229. package/es/spin/style/index.js +26 -29
  230. package/es/static-function/index.d.ts +176 -1
  231. package/es/static-function/index.js +18 -5
  232. package/es/statistic/index.js +1 -0
  233. package/es/steps/index.js +1 -0
  234. package/es/style/global.d.ts +9 -0
  235. package/es/style/global.js +166 -0
  236. package/es/style/reset.css +2 -1
  237. package/es/switch/index.js +10 -2
  238. package/es/switch/style/index.d.ts +2 -5
  239. package/es/switch/style/index.js +7 -8
  240. package/es/table/index.d.ts +1 -4
  241. package/es/table/index.js +264 -22
  242. package/es/table/style/index.d.ts +2 -5
  243. package/es/table/style/index.js +188 -50
  244. package/es/tabs/TabPane.js +1 -0
  245. package/es/tabs/hooks/useLegacyItems.js +1 -0
  246. package/es/tabs/index.js +10 -2
  247. package/es/tabs/style/index.d.ts +2 -5
  248. package/es/tabs/style/index.js +9 -8
  249. package/es/tag/index.d.ts +1 -0
  250. package/es/tag/index.js +21 -5
  251. package/es/tag/style/index.d.ts +3 -8
  252. package/es/tag/style/index.js +50 -39
  253. package/es/theme/compact.d.ts +1 -1
  254. package/es/theme/compact.js +2 -6
  255. package/es/theme/dark.d.ts +1 -48
  256. package/es/theme/default.d.ts +65 -2
  257. package/es/theme/default.js +368 -65
  258. package/es/theme/index.d.ts +22 -57
  259. package/es/theme/index.js +13 -1
  260. package/es/theme/interface.d.ts +147 -0
  261. package/es/theme/interface.js +4 -1
  262. package/es/theme/obToken.d.ts +206 -0
  263. package/es/theme/obToken.js +255 -0
  264. package/es/theme/obTokenMeta.d.ts +24 -0
  265. package/es/theme/obTokenMeta.js +937 -0
  266. package/es/theme/style/aliyun.less +41 -41
  267. package/es/theme/style/compact.less +159 -130
  268. package/es/theme/style/dark.less +54 -54
  269. package/es/theme/style/default.less +160 -131
  270. package/es/time-picker/index.js +1 -0
  271. package/es/timeline/index.js +1 -0
  272. package/es/tooltip/MouseTooltip.js +1 -0
  273. package/es/tooltip/ReactStickyMouseTooltip.js +1 -0
  274. package/es/tooltip/index.js +5 -4
  275. package/es/tooltip/style/index.d.ts +2 -5
  276. package/es/tooltip/style/index.js +10 -13
  277. package/es/tour/index.js +1 -0
  278. package/es/transfer/index.js +1 -0
  279. package/es/tree/index.js +1 -0
  280. package/es/tree-select/index.js +10 -2
  281. package/es/tree-select/style/index.d.ts +2 -5
  282. package/es/tree-select/style/index.js +3 -6
  283. package/es/typography/Link.js +10 -2
  284. package/es/typography/Paragraph.js +10 -2
  285. package/es/typography/Text.d.ts +1 -0
  286. package/es/typography/Text.js +13 -4
  287. package/es/typography/Title.js +10 -2
  288. package/es/typography/hooks/useClassName.d.ts +1 -1
  289. package/es/typography/hooks/useClassName.js +2 -2
  290. package/es/typography/index.d.ts +12 -1
  291. package/es/typography/index.js +3 -1
  292. package/es/typography/style/index.d.ts +2 -5
  293. package/es/typography/style/index.js +37 -28
  294. package/es/upload/index.js +1 -0
  295. package/es/watermark/index.js +1 -0
  296. package/lib/_util/document.d.ts +11 -0
  297. package/lib/_util/document.js +74 -0
  298. package/lib/_util/genComponentStyleHook.d.ts +21 -4
  299. package/lib/_util/genComponentStyleHook.js +69 -57
  300. package/lib/_util/getEllipsisConfig.js +16 -39
  301. package/lib/_util/index.d.ts +2 -0
  302. package/lib/_util/index.js +51 -29
  303. package/lib/_util/styleChecker.js +32 -53
  304. package/lib/_util/type.js +4 -16
  305. package/lib/_util/useFlexGapSupport.js +11 -36
  306. package/lib/affix/index.js +15 -22
  307. package/lib/alert/index.d.ts +2 -2
  308. package/lib/alert/index.js +70 -79
  309. package/lib/alert/style/index.d.ts +2 -5
  310. package/lib/alert/style/index.js +199 -105
  311. package/lib/anchor/index.js +26 -24
  312. package/lib/app/index.d.ts +8 -0
  313. package/lib/app/index.js +49 -22
  314. package/lib/app/style/index.d.ts +6 -0
  315. package/lib/app/style/index.js +18 -0
  316. package/lib/auto-complete/index.js +15 -22
  317. package/lib/avatar/index.js +26 -24
  318. package/lib/badge/index.d.ts +2 -0
  319. package/lib/badge/index.js +108 -102
  320. package/lib/badge/style/index.d.ts +2 -5
  321. package/lib/badge/style/index.js +26 -46
  322. package/lib/breadcrumb/Breadcrumb.js +15 -22
  323. package/lib/breadcrumb/index.js +31 -32
  324. package/lib/button/index.js +56 -60
  325. package/lib/button/style/index.d.ts +4 -5
  326. package/lib/button/style/index.js +73 -35
  327. package/lib/calendar/index.js +15 -22
  328. package/lib/card/Card.js +14 -21
  329. package/lib/card/index.d.ts +10 -0
  330. package/lib/card/index.js +202 -114
  331. package/lib/card/style/index.d.ts +2 -5
  332. package/lib/card/style/index.js +219 -88
  333. package/lib/carousel/index.js +15 -22
  334. package/lib/cascader/index.js +15 -22
  335. package/lib/checkbox/index.js +52 -69
  336. package/lib/checkbox/style/index.d.ts +2 -5
  337. package/lib/checkbox/style/index.js +25 -38
  338. package/lib/collapse/index.js +15 -22
  339. package/lib/color-picker/index.js +15 -22
  340. package/lib/color-picker/interface.js +14 -21
  341. package/lib/config-provider/DefaultRenderEmpty.js +34 -48
  342. package/lib/config-provider/SizeContext.js +14 -21
  343. package/lib/config-provider/context.d.ts +11 -0
  344. package/lib/config-provider/context.js +14 -21
  345. package/lib/config-provider/index.d.ts +9 -3
  346. package/lib/config-provider/index.js +254 -135
  347. package/lib/config-provider/navigate.js +4 -16
  348. package/lib/date-picker/index.js +15 -22
  349. package/lib/descriptions/Item.js +6 -24
  350. package/lib/descriptions/hooks/useItems.d.ts +3 -3
  351. package/lib/descriptions/hooks/useItems.js +50 -72
  352. package/lib/descriptions/index.d.ts +10 -0
  353. package/lib/descriptions/index.js +104 -75
  354. package/lib/descriptions/style/index.d.ts +3 -6
  355. package/lib/descriptions/style/index.js +138 -50
  356. package/lib/divider/index.js +15 -22
  357. package/lib/drawer/index.d.ts +2 -0
  358. package/lib/drawer/index.js +140 -118
  359. package/lib/drawer/style/index.d.ts +2 -5
  360. package/lib/drawer/style/index.js +94 -52
  361. package/lib/dropdown/dropdown-button.js +34 -39
  362. package/lib/dropdown/index.js +47 -47
  363. package/lib/dropdown/style/index.d.ts +6 -0
  364. package/lib/dropdown/style/index.js +35 -0
  365. package/lib/empty/colored.js +325 -356
  366. package/lib/empty/database.js +227 -251
  367. package/lib/empty/default.js +53 -54
  368. package/lib/empty/guide.js +147 -210
  369. package/lib/empty/index.js +77 -91
  370. package/lib/empty/style/index.d.ts +2 -5
  371. package/lib/empty/style/index.js +32 -47
  372. package/lib/filter/FilterContext.d.ts +27 -0
  373. package/lib/filter/FilterContext.js +33 -0
  374. package/lib/filter/components/ClearIcon.d.ts +6 -0
  375. package/lib/filter/components/ClearIcon.js +35 -0
  376. package/lib/filter/components/CountNumber.d.ts +8 -0
  377. package/lib/filter/components/CountNumber.js +30 -0
  378. package/lib/filter/components/FilterButton.d.ts +34 -0
  379. package/lib/filter/components/FilterButton.js +194 -0
  380. package/lib/filter/components/FilterCascader/components/CascaderOption/OptionCheckbox.d.ts +20 -0
  381. package/lib/filter/components/FilterCascader/components/CascaderOption/OptionCheckbox.js +91 -0
  382. package/lib/filter/components/FilterCascader/components/CascaderOption/OptionItem.d.ts +13 -0
  383. package/lib/filter/components/FilterCascader/components/CascaderOption/OptionItem.js +51 -0
  384. package/lib/filter/components/FilterCascader/components/FlatCascaderContent/index.d.ts +17 -0
  385. package/lib/filter/components/FilterCascader/components/FlatCascaderContent/index.js +77 -0
  386. package/lib/filter/components/FilterCascader/components/NormalCascaderContent.d.ts +24 -0
  387. package/lib/filter/components/FilterCascader/components/NormalCascaderContent.js +258 -0
  388. package/lib/filter/components/FilterCascader/constants.d.ts +7 -0
  389. package/lib/filter/components/FilterCascader/constants.js +14 -0
  390. package/lib/filter/components/FilterCascader/hooks/useCascaderCallbacks.d.ts +12 -0
  391. package/lib/filter/components/FilterCascader/hooks/useCascaderCallbacks.js +81 -0
  392. package/lib/filter/components/FilterCascader/hooks/useCascaderLabels.d.ts +9 -0
  393. package/lib/filter/components/FilterCascader/hooks/useCascaderLabels.js +56 -0
  394. package/lib/filter/components/FilterCascader/hooks/useNormalizedValue.d.ts +7 -0
  395. package/lib/filter/components/FilterCascader/hooks/useNormalizedValue.js +48 -0
  396. package/lib/filter/components/FilterCascader/index.d.ts +5 -0
  397. package/lib/filter/components/FilterCascader/index.js +298 -0
  398. package/lib/filter/components/FilterCascader/types.d.ts +56 -0
  399. package/lib/filter/components/FilterCascader/types.js +5 -0
  400. package/lib/filter/components/FilterCascader/utils/countUtils.d.ts +13 -0
  401. package/lib/filter/components/FilterCascader/utils/countUtils.js +49 -0
  402. package/lib/filter/components/FilterCascader/utils/pathUtils.d.ts +17 -0
  403. package/lib/filter/components/FilterCascader/utils/pathUtils.js +56 -0
  404. package/lib/filter/components/FilterCheckbox.d.ts +26 -0
  405. package/lib/filter/components/FilterCheckbox.js +319 -0
  406. package/lib/filter/components/FilterInput.d.ts +18 -0
  407. package/lib/filter/components/FilterInput.js +134 -0
  408. package/lib/filter/components/FilterRange.d.ts +19 -0
  409. package/lib/filter/components/FilterRange.js +186 -0
  410. package/lib/filter/components/FilterSelect.d.ts +23 -0
  411. package/lib/filter/components/FilterSelect.js +221 -0
  412. package/lib/filter/components/FilterSlot.d.ts +28 -0
  413. package/lib/filter/components/FilterSlot.js +174 -0
  414. package/lib/filter/components/FilterSwitch.d.ts +13 -0
  415. package/lib/filter/components/FilterSwitch.js +91 -0
  416. package/lib/filter/components/FilterWrap.d.ts +20 -0
  417. package/lib/filter/components/FilterWrap.js +306 -0
  418. package/lib/filter/components/ResponsiveFilterGroup.d.ts +27 -0
  419. package/lib/filter/components/ResponsiveFilterGroup.js +412 -0
  420. package/lib/filter/components/WrappedTagsDisplay.d.ts +22 -0
  421. package/lib/filter/components/WrappedTagsDisplay.js +84 -0
  422. package/lib/filter/hooks/index.d.ts +4 -0
  423. package/lib/filter/hooks/index.js +26 -0
  424. package/lib/filter/hooks/useControlledState.d.ts +9 -0
  425. package/lib/filter/hooks/useControlledState.js +34 -0
  426. package/lib/filter/hooks/useFilterCollapsed.d.ts +8 -0
  427. package/lib/filter/hooks/useFilterCollapsed.js +21 -0
  428. package/lib/filter/hooks/useFilterTooltip.d.ts +29 -0
  429. package/lib/filter/hooks/useFilterTooltip.js +121 -0
  430. package/lib/filter/index.d.ts +24 -0
  431. package/lib/filter/index.js +45 -0
  432. package/lib/filter/style/index.d.ts +15 -0
  433. package/lib/filter/style/index.js +308 -0
  434. package/lib/filter/type.d.ts +41 -0
  435. package/lib/filter/type.js +5 -0
  436. package/lib/filter/utils.d.ts +50 -0
  437. package/lib/filter/utils.js +192 -0
  438. package/lib/float-button/index.js +15 -22
  439. package/lib/float-button/interface.js +14 -21
  440. package/lib/fonts/Inter-Medium.woff2 +0 -0
  441. package/lib/fonts/Inter-Regular.woff2 +0 -0
  442. package/lib/fonts/Inter-SemiBold.woff2 +0 -0
  443. package/lib/form/FormItem.d.ts +1 -0
  444. package/lib/form/FormItem.js +81 -77
  445. package/lib/form/index.js +58 -76
  446. package/lib/form/interface.js +14 -21
  447. package/lib/form/style/index.d.ts +2 -5
  448. package/lib/form/style/index.js +42 -38
  449. package/lib/grid/col.js +28 -45
  450. package/lib/grid/index.js +25 -44
  451. package/lib/grid/row.js +30 -45
  452. package/lib/image/index.js +15 -22
  453. package/lib/index.d.ts +182 -4
  454. package/lib/index.js +363 -152
  455. package/lib/input/Input.d.ts +2 -0
  456. package/lib/input/Input.js +62 -52
  457. package/lib/input/Password.js +59 -59
  458. package/lib/input/Search.js +55 -53
  459. package/lib/input/TextArea.js +59 -59
  460. package/lib/input/index.js +30 -50
  461. package/lib/input/style/index.d.ts +6 -0
  462. package/lib/input/style/index.js +55 -0
  463. package/lib/input-number/index.d.ts +2 -1
  464. package/lib/input-number/index.js +56 -61
  465. package/lib/input-number/style/index.d.ts +6 -0
  466. package/lib/input-number/style/index.js +43 -0
  467. package/lib/layout/index.js +15 -22
  468. package/lib/list/index.js +52 -59
  469. package/lib/locale/en-US.js +29 -48
  470. package/lib/locale/index.d.ts +11 -0
  471. package/lib/locale/index.js +24 -38
  472. package/lib/locale/ja-JP.d.ts +3 -0
  473. package/lib/locale/ja-JP.js +41 -0
  474. package/lib/locale/useLocale.js +6 -24
  475. package/lib/locale/zh-CN.js +29 -48
  476. package/lib/locale/zh-TW.js +29 -48
  477. package/lib/lottie/index.js +61 -80
  478. package/lib/mentions/index.js +15 -22
  479. package/lib/menu/index.js +15 -22
  480. package/lib/menu/interface.js +14 -21
  481. package/lib/message/index.js +15 -22
  482. package/lib/message/interface.js +14 -21
  483. package/lib/modal/Modal.d.ts +3 -1
  484. package/lib/modal/Modal.js +112 -70
  485. package/lib/modal/Progress.js +44 -58
  486. package/lib/modal/index.js +23 -43
  487. package/lib/modal/interface.js +14 -21
  488. package/lib/modal/style/index.d.ts +2 -5
  489. package/lib/modal/style/index.js +136 -60
  490. package/lib/notification/index.js +15 -22
  491. package/lib/notification/interface.js +14 -21
  492. package/lib/pagination/index.js +15 -22
  493. package/lib/popconfirm/index.js +15 -22
  494. package/lib/popover/index.js +15 -22
  495. package/lib/progress/index.js +26 -24
  496. package/lib/progress/progress.js +14 -21
  497. package/lib/qrcode/index.js +15 -22
  498. package/lib/qrcode/interface.js +14 -21
  499. package/lib/radio/RadioButton.d.ts +8 -0
  500. package/lib/radio/RadioButton.js +44 -0
  501. package/lib/radio/index.d.ts +4 -0
  502. package/lib/radio/index.js +54 -62
  503. package/lib/radio/interface.js +14 -21
  504. package/lib/radio/style/index.d.ts +2 -5
  505. package/lib/radio/style/index.js +60 -38
  506. package/lib/rate/index.js +15 -22
  507. package/lib/result/403.js +166 -163
  508. package/lib/result/404.js +302 -305
  509. package/lib/result/500.js +226 -292
  510. package/lib/result/Error.js +126 -133
  511. package/lib/result/Processing.js +348 -248
  512. package/lib/result/Success.js +207 -203
  513. package/lib/result/Warning.js +513 -550
  514. package/lib/result/index.d.ts +2 -2
  515. package/lib/result/index.js +65 -80
  516. package/lib/result/style/index.d.ts +2 -5
  517. package/lib/result/style/index.js +16 -39
  518. package/lib/segmented/index.d.ts +1 -0
  519. package/lib/segmented/index.js +86 -73
  520. package/lib/segmented/style/index.d.ts +1 -4
  521. package/lib/segmented/style/index.js +21 -40
  522. package/lib/select/index.js +63 -81
  523. package/lib/select/style/index.d.ts +2 -5
  524. package/lib/select/style/index.js +29 -37
  525. package/lib/skeleton/index.js +15 -22
  526. package/lib/slider/index.js +48 -58
  527. package/lib/slider/style/index.d.ts +2 -5
  528. package/lib/slider/style/index.js +23 -40
  529. package/lib/space/index.js +62 -68
  530. package/lib/space/style/index.d.ts +2 -5
  531. package/lib/space/style/index.js +17 -40
  532. package/lib/spin/assets/spin-gray.json +1 -1
  533. package/lib/spin/assets/spin.json +1 -1
  534. package/lib/spin/index.js +58 -76
  535. package/lib/spin/style/index.d.ts +2 -5
  536. package/lib/spin/style/index.js +51 -60
  537. package/lib/static-function/index.d.ts +176 -1
  538. package/lib/static-function/index.js +52 -69
  539. package/lib/statistic/index.js +15 -22
  540. package/lib/steps/index.js +15 -22
  541. package/lib/style/global.d.ts +9 -0
  542. package/lib/style/global.js +210 -0
  543. package/lib/style/reset.css +2 -1
  544. package/lib/switch/index.js +52 -60
  545. package/lib/switch/style/index.d.ts +2 -5
  546. package/lib/switch/style/index.js +17 -37
  547. package/lib/table/hooks/useDefaultPagination.js +18 -46
  548. package/lib/table/index.d.ts +1 -4
  549. package/lib/table/index.js +412 -177
  550. package/lib/table/interface.js +14 -21
  551. package/lib/table/style/index.d.ts +2 -5
  552. package/lib/table/style/index.js +313 -106
  553. package/lib/tabs/TabPane.js +7 -25
  554. package/lib/tabs/hooks/useLegacyItems.js +27 -44
  555. package/lib/tabs/index.js +107 -120
  556. package/lib/tabs/style/index.d.ts +2 -5
  557. package/lib/tabs/style/index.js +31 -41
  558. package/lib/tag/index.d.ts +1 -0
  559. package/lib/tag/index.js +81 -89
  560. package/lib/tag/style/index.d.ts +3 -8
  561. package/lib/tag/style/index.js +71 -78
  562. package/lib/theme/aliyun.js +7 -34
  563. package/lib/theme/compact.d.ts +1 -1
  564. package/lib/theme/compact.js +9 -40
  565. package/lib/theme/dark.d.ts +1 -48
  566. package/lib/theme/dark.js +9 -36
  567. package/lib/theme/default.d.ts +65 -2
  568. package/lib/theme/default.js +388 -105
  569. package/lib/theme/index.d.ts +22 -57
  570. package/lib/theme/index.js +61 -56
  571. package/lib/theme/interface.d.ts +147 -0
  572. package/lib/theme/interface.js +14 -21
  573. package/lib/theme/internal.js +14 -21
  574. package/lib/theme/obToken.d.ts +206 -0
  575. package/lib/theme/obToken.js +462 -0
  576. package/lib/theme/obTokenMeta.d.ts +24 -0
  577. package/lib/theme/obTokenMeta.js +943 -0
  578. package/lib/theme/style/aliyun.less +41 -41
  579. package/lib/theme/style/compact.less +159 -130
  580. package/lib/theme/style/dark.less +54 -54
  581. package/lib/theme/style/default.less +160 -131
  582. package/lib/theme/themes/compact/index.js +19 -39
  583. package/lib/theme/themes/dark/index.js +19 -39
  584. package/lib/theme/themes/default/index.js +19 -39
  585. package/lib/theme/themes/seed.js +24 -43
  586. package/lib/theme/util/alias.js +19 -39
  587. package/lib/theme/util/format.js +15 -35
  588. package/lib/time-picker/index.js +15 -22
  589. package/lib/timeline/index.js +15 -22
  590. package/lib/tooltip/MouseTooltip.js +66 -77
  591. package/lib/tooltip/ReactStickyMouseTooltip.js +62 -87
  592. package/lib/tooltip/hooks/useTooltipTypeList.js +28 -61
  593. package/lib/tooltip/index.js +122 -133
  594. package/lib/tooltip/style/index.d.ts +2 -5
  595. package/lib/tooltip/style/index.js +26 -50
  596. package/lib/tour/index.js +15 -22
  597. package/lib/tour/interface.js +14 -21
  598. package/lib/transfer/index.js +15 -22
  599. package/lib/transfer/interface.js +14 -21
  600. package/lib/tree/index.js +15 -22
  601. package/lib/tree-select/index.js +66 -84
  602. package/lib/tree-select/style/index.d.ts +2 -5
  603. package/lib/tree-select/style/index.js +10 -35
  604. package/lib/typography/Link.js +54 -68
  605. package/lib/typography/Paragraph.js +54 -68
  606. package/lib/typography/Text.d.ts +1 -0
  607. package/lib/typography/Text.js +55 -68
  608. package/lib/typography/Title.js +54 -68
  609. package/lib/typography/hooks/useClassName.d.ts +1 -1
  610. package/lib/typography/hooks/useClassName.js +12 -42
  611. package/lib/typography/index.d.ts +12 -1
  612. package/lib/typography/index.js +89 -58
  613. package/lib/typography/style/index.d.ts +2 -5
  614. package/lib/typography/style/index.js +57 -64
  615. package/lib/upload/index.js +15 -22
  616. package/lib/upload/interface.js +14 -21
  617. package/lib/watermark/index.js +15 -22
  618. package/package.json +11 -10
  619. package/dist/static/Inter.f6bcdfb6.woff2 +0 -0
  620. package/es/_util/genStyle.d.ts +0 -2
  621. package/es/_util/getWeakenBorderColor.d.ts +0 -1
  622. package/es/_util/getWeakenBorderColor.js +0 -4
  623. package/es/fonts/Inter.woff2 +0 -0
  624. package/es/global.css +0 -48
  625. package/lib/_util/genStyle.d.ts +0 -2
  626. package/lib/_util/genStyle.js +0 -43
  627. package/lib/_util/getWeakenBorderColor.d.ts +0 -1
  628. package/lib/_util/getWeakenBorderColor.js +0 -32
  629. package/lib/fonts/Inter.woff2 +0 -0
  630. package/lib/global.css +0 -48
@@ -0,0 +1,148 @@
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", "inputProps", "switchProps", "showSwitch"];
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, useState } from 'react';
19
+ import { Flex } from 'antd';
20
+ import Input from "../../input";
21
+ import Switch from "../../switch";
22
+ import theme from "../../theme";
23
+ import { useControlledState } from "../hooks/useControlledState";
24
+ import { useFilterContext } from "../FilterContext";
25
+ import { useFilterCollapsed } from "../hooks/useFilterCollapsed";
26
+ import { generateFilterId, wrapContent } from "../utils";
27
+ import FilterButton from "./FilterButton";
28
+ import { jsx as _jsx } from "react/jsx-runtime";
29
+ import { jsxs as _jsxs } from "react/jsx-runtime";
30
+ var FilterInput = function FilterInput(_ref) {
31
+ var value = _ref.value,
32
+ onChange = _ref.onChange,
33
+ icon = _ref.icon,
34
+ label = _ref.label,
35
+ _ref$bordered = _ref.bordered,
36
+ bordered = _ref$bordered === void 0 ? true : _ref$bordered,
37
+ inputProps = _ref.inputProps,
38
+ switchProps = _ref.switchProps,
39
+ showSwitch = _ref.showSwitch,
40
+ restProps = _objectWithoutProperties(_ref, _excluded);
41
+ var _theme$useToken = theme.useToken(),
42
+ token = _theme$useToken.token;
43
+ var isCollapsed = useFilterCollapsed();
44
+ var _useFilterContext = useFilterContext(),
45
+ updateFilterValue = _useFilterContext.updateFilterValue;
46
+ var filterId = useMemo(function () {
47
+ return generateFilterId('input', label);
48
+ }, [label]);
49
+
50
+ // 使用受控状态 hook
51
+ var _useControlledState = useControlledState(value, '', onChange),
52
+ _useControlledState2 = _slicedToArray(_useControlledState, 2),
53
+ currentValue = _useControlledState2[0],
54
+ setValue = _useControlledState2[1];
55
+ // 如果外部传入了初始值,应当默认打开 switch,使该值被上报
56
+ var _useState = useState(function () {
57
+ return value !== undefined && value !== '';
58
+ }),
59
+ _useState2 = _slicedToArray(_useState, 2),
60
+ switchValue = _useState2[0],
61
+ setSwitchValue = _useState2[1];
62
+
63
+ // 如果外部 value 后续变化并且当前 switch 未打开,则在发现非空 value 时自动打开 switch
64
+ useEffect(function () {
65
+ if (value !== undefined && value !== '' && !switchValue) {
66
+ setSwitchValue(true);
67
+ }
68
+ // 不在此处自动关闭 switch 当 value 变为空,以避免覆盖用户交互
69
+ }, [value, switchValue]);
70
+
71
+ // 当值变化时,更新 context 中的值
72
+ // 只有当 switchValue 为 true 时才注册 currentValue,否则视为空值
73
+ useEffect(function () {
74
+ if (isCollapsed && updateFilterValue) {
75
+ var valueToRegister = switchValue ? currentValue : undefined;
76
+ updateFilterValue(filterId, label, valueToRegister, undefined, 'input');
77
+ }
78
+ }, [isCollapsed, updateFilterValue, filterId, label, currentValue, switchValue]);
79
+ var handleChange = function handleChange(event) {
80
+ setValue(event.target.value);
81
+ };
82
+ var handleClear = function handleClear() {
83
+ setValue('');
84
+ setSwitchValue(false);
85
+ };
86
+
87
+ // 渲染弹框内容
88
+ var renderContent = /*#__PURE__*/_jsxs("div", {
89
+ style: {
90
+ paddingBlock: token.paddingXXS
91
+ },
92
+ children: [/*#__PURE__*/_jsxs(Flex, {
93
+ justify: "space-between",
94
+ align: "center",
95
+ children: [/*#__PURE__*/_jsx("span", {
96
+ children: label
97
+ }), showSwitch && /*#__PURE__*/_jsx(Switch, _objectSpread({
98
+ checked: switchValue,
99
+ onChange: function onChange(val) {
100
+ return setSwitchValue(val);
101
+ },
102
+ size: "small"
103
+ }, switchProps))]
104
+ }), showSwitch ?
105
+ // 有开关:根据 switchValue 决定是否显示 Input
106
+ switchValue && /*#__PURE__*/_jsx("div", {
107
+ style: {
108
+ marginTop: 8
109
+ },
110
+ children: /*#__PURE__*/_jsx(Input, _objectSpread({
111
+ value: currentValue,
112
+ onChange: handleChange
113
+ }, inputProps))
114
+ }) :
115
+ /*#__PURE__*/
116
+ // 无开关:直接显示 Input
117
+ _jsx("div", {
118
+ style: {
119
+ marginTop: 8
120
+ },
121
+ children: /*#__PURE__*/_jsx(Input, _objectSpread({
122
+ value: currentValue,
123
+ onChange: handleChange
124
+ }, inputProps))
125
+ })]
126
+ });
127
+
128
+ // 如果处于折叠模式,只渲染内容部分
129
+ if (isCollapsed) {
130
+ return renderContent;
131
+ }
132
+ var wrappedContent = wrapContent(renderContent, '8px 12px');
133
+
134
+ // 从 restProps 中排除不需要的属性,避免类型冲突
135
+ var filterButtonProps = Object.assign({}, (_objectDestructuringEmpty(restProps), restProps));
136
+ return /*#__PURE__*/_jsx(FilterButton, _objectSpread(_objectSpread({
137
+ icon: icon,
138
+ bordered: bordered,
139
+ onClear: handleClear,
140
+ content: wrappedContent,
141
+ label: label
142
+ }, filterButtonProps), {}, {
143
+ children: /*#__PURE__*/_jsx("span", {
144
+ children: label
145
+ })
146
+ }));
147
+ };
148
+ export default FilterInput;
@@ -0,0 +1,19 @@
1
+ import type { FC, ReactNode } from 'react';
2
+ import type { Dayjs } from 'dayjs';
3
+ import type { BaseFilterProps, InternalFilterProps } from '../type';
4
+ export interface RangeOption {
5
+ label: ReactNode;
6
+ value: [Dayjs, Dayjs] | null;
7
+ }
8
+ export interface FilterRangeProps extends BaseFilterProps, InternalFilterProps {
9
+ /** 当前选中值 */
10
+ value?: [Dayjs, Dayjs];
11
+ /** 值变化回调 */
12
+ onChange?: (value: [Dayjs, Dayjs]) => void;
13
+ /** 预设选项列表 */
14
+ options?: RangeOption[];
15
+ /** 是否加载中 */
16
+ loading?: boolean;
17
+ }
18
+ declare const FilterRange: FC<FilterRangeProps>;
19
+ export default FilterRange;
@@ -0,0 +1,201 @@
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 = ["icon", "label", "bordered", "value", "onChange", "options", "loading", "_isCollapsed"],
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, { useEffect, useMemo, useRef } from 'react';
19
+ import { Flex } from 'antd';
20
+ import theme from "../../theme";
21
+ import { CheckOutlined } from '@oceanbase/icons';
22
+ import dayjs from 'dayjs';
23
+ import { useControlledState } from "../hooks/useControlledState";
24
+ import { useFilterContext } from "../FilterContext";
25
+ import { useFilterCollapsed } from "../hooks/useFilterCollapsed";
26
+ import { useFilterTooltip } from "../hooks/useFilterTooltip";
27
+ import useFilterStyle, { getFilterCls } from "../style";
28
+ import { generateFilterId, getIcon, getPlaceholder, getWrappedValueStyle, wrapContent } from "../utils";
29
+ import FilterButton from "./FilterButton";
30
+ import { jsx as _jsx } from "react/jsx-runtime";
31
+ import { jsxs as _jsxs } from "react/jsx-runtime";
32
+ var defaultOptions = [{
33
+ label: 'Last 1 Days',
34
+ value: [dayjs().subtract(1, 'day'), dayjs()]
35
+ }, {
36
+ label: 'Last 3 Days',
37
+ value: [dayjs().subtract(3, 'day'), dayjs()]
38
+ }, {
39
+ label: 'Last 7 Days',
40
+ value: [dayjs().subtract(7, 'day'), dayjs()]
41
+ }, {
42
+ label: 'Last 30 Days',
43
+ value: [dayjs().subtract(30, 'day'), dayjs()]
44
+ }];
45
+ var FilterRange = function FilterRange(_ref) {
46
+ var icon = _ref.icon,
47
+ label = _ref.label,
48
+ _ref$bordered = _ref.bordered,
49
+ bordered = _ref$bordered === void 0 ? true : _ref$bordered,
50
+ value = _ref.value,
51
+ onChange = _ref.onChange,
52
+ _ref$options = _ref.options,
53
+ options = _ref$options === void 0 ? defaultOptions : _ref$options,
54
+ _ref$loading = _ref.loading,
55
+ loading = _ref$loading === void 0 ? false : _ref$loading,
56
+ _ref$_isCollapsed = _ref._isCollapsed,
57
+ _isCollapsed = _ref$_isCollapsed === void 0 ? false : _ref$_isCollapsed,
58
+ restProps = _objectWithoutProperties(_ref, _excluded);
59
+ var _useFilterStyle = useFilterStyle(),
60
+ prefixCls = _useFilterStyle.prefixCls;
61
+ var _theme$useToken = theme.useToken(),
62
+ token = _theme$useToken.token;
63
+ var isCollapsed = useFilterCollapsed(_isCollapsed);
64
+ var filterButtonRef = useRef(null);
65
+ var _useFilterContext = useFilterContext(),
66
+ updateFilterValue = _useFilterContext.updateFilterValue;
67
+ var filterId = useMemo(function () {
68
+ return generateFilterId('range', label);
69
+ }, [label]);
70
+
71
+ // 从 restProps 中排除 onOpenChange,避免类型冲突
72
+ var externalOnOpenChange = restProps.onOpenChange,
73
+ filterButtonProps = _objectWithoutProperties(restProps, _excluded2);
74
+
75
+ // 使用受控状态 hook
76
+ var _useControlledState = useControlledState(value, null, onChange),
77
+ _useControlledState2 = _slicedToArray(_useControlledState, 2),
78
+ currentValue = _useControlledState2[0],
79
+ setValue = _useControlledState2[1];
80
+
81
+ // 查找选中的选项
82
+ var selectedOption = currentValue ? options.find(function (option) {
83
+ if (!option.value || !currentValue) return false;
84
+ return option.value[0].isSame(currentValue[0], 'day') && option.value[1].isSame(currentValue[1], 'day');
85
+ }) : null;
86
+ var selectedLabel = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label;
87
+ var currentLabel = selectedLabel || label;
88
+
89
+ // 使用 Tooltip hook
90
+ var _useFilterTooltip = useFilterTooltip({
91
+ hasValue: !!currentValue,
92
+ label: label,
93
+ content: selectedLabel ? selectedLabel : null,
94
+ disabled: isCollapsed
95
+ }),
96
+ onPopoverOpenChange = _useFilterTooltip.onPopoverOpenChange,
97
+ wrapWithTooltip = _useFilterTooltip.wrapWithTooltip;
98
+
99
+ // 处理 Popover 状态变化
100
+ var handlePopoverOpenChange = function handlePopoverOpenChange(open) {
101
+ onPopoverOpenChange(open);
102
+ externalOnOpenChange === null || externalOnOpenChange === void 0 || externalOnOpenChange(open);
103
+ };
104
+
105
+ // 当值变化时,更新 context 中的值
106
+ useEffect(function () {
107
+ if (isCollapsed && updateFilterValue) {
108
+ updateFilterValue(filterId, label, currentValue, options, 'range');
109
+ }
110
+ }, [isCollapsed, updateFilterValue, filterId, label, currentValue, options]);
111
+ var handleClear = function handleClear() {
112
+ setValue(null);
113
+ };
114
+ var handleSelect = function handleSelect(optionValue) {
115
+ var _filterButtonRef$curr;
116
+ setValue(optionValue);
117
+ (_filterButtonRef$curr = filterButtonRef.current) === null || _filterButtonRef$curr === void 0 || _filterButtonRef$curr.closePopover();
118
+ };
119
+
120
+ // 渲染弹框内容
121
+ var renderContent = /*#__PURE__*/_jsx("div", {
122
+ children: options.map(function (option, index) {
123
+ var _option$value$, _option$value$2;
124
+ var optionKey = typeof option.label === 'string' || typeof option.label === 'number' ? "range-".concat(option.label) : option.value ? "range-".concat((_option$value$ = option.value[0]) === null || _option$value$ === void 0 ? void 0 : _option$value$.format('YYYY-MM-DD'), "-").concat((_option$value$2 = option.value[1]) === null || _option$value$2 === void 0 ? void 0 : _option$value$2.format('YYYY-MM-DD')) : "range-".concat(index);
125
+ var isSelected = currentValue && option.value && option.value[0].isSame(currentValue[0], 'day') && option.value[1].isSame(currentValue[1], 'day');
126
+ return /*#__PURE__*/_jsxs(Flex, {
127
+ gap: 8,
128
+ className: getFilterCls(prefixCls, 'select-option'),
129
+ onClick: function onClick() {
130
+ return handleSelect(option.value);
131
+ },
132
+ justify: "space-between",
133
+ children: [/*#__PURE__*/_jsx("span", {
134
+ children: option.label
135
+ }), /*#__PURE__*/_jsx("span", {
136
+ style: {
137
+ width: 14
138
+ },
139
+ children: isSelected && /*#__PURE__*/_jsx(CheckOutlined, {
140
+ style: {
141
+ color: token.colorPrimary
142
+ }
143
+ })
144
+ })]
145
+ }, optionKey);
146
+ })
147
+ });
148
+ var wrappedContent = wrapContent(renderContent);
149
+
150
+ // 折叠模式
151
+ if (isCollapsed) {
152
+ var hasValue = !!currentValue;
153
+ return /*#__PURE__*/_jsxs("div", {
154
+ style: {
155
+ paddingBlock: token.paddingXXS
156
+ },
157
+ children: [/*#__PURE__*/_jsx("div", {
158
+ style: {
159
+ marginBottom: 8
160
+ },
161
+ children: label
162
+ }), /*#__PURE__*/_jsx(FilterButton, _objectSpread(_objectSpread({
163
+ ref: filterButtonRef,
164
+ icon: icon || getIcon('time'),
165
+ label: label,
166
+ bordered: bordered,
167
+ onClear: handleClear,
168
+ content: wrappedContent,
169
+ loading: loading,
170
+ selected: hasValue,
171
+ onOpenChange: handlePopoverOpenChange
172
+ }, filterButtonProps), {}, {
173
+ children: /*#__PURE__*/_jsx("span", {
174
+ className: getFilterCls(prefixCls, 'text-ellipsis'),
175
+ style: getWrappedValueStyle(hasValue),
176
+ children: hasValue ? currentLabel : getPlaceholder()
177
+ })
178
+ }))]
179
+ });
180
+ }
181
+
182
+ // 正常模式
183
+ var filterButton = /*#__PURE__*/_jsx(FilterButton, _objectSpread(_objectSpread({
184
+ ref: filterButtonRef,
185
+ icon: icon || getIcon('time'),
186
+ label: label,
187
+ bordered: bordered,
188
+ onClear: handleClear,
189
+ content: wrappedContent,
190
+ loading: loading,
191
+ selected: !!currentValue,
192
+ onOpenChange: handlePopoverOpenChange
193
+ }, filterButtonProps), {}, {
194
+ children: /*#__PURE__*/_jsx("span", {
195
+ className: getFilterCls(prefixCls, 'text-ellipsis'),
196
+ children: currentLabel || label
197
+ })
198
+ }));
199
+ return wrapWithTooltip(filterButton);
200
+ };
201
+ export default FilterRange;
@@ -0,0 +1,23 @@
1
+ import type { FC, ReactNode } from 'react';
2
+ import type { BaseFilterProps, InternalFilterProps } from '../type';
3
+ export interface SelectOption {
4
+ label: ReactNode;
5
+ value: string;
6
+ disabled?: boolean;
7
+ }
8
+ export interface FilterSelectProps extends BaseFilterProps, InternalFilterProps {
9
+ /** 选项列表 */
10
+ options?: SelectOption[];
11
+ /** 当前选中值 */
12
+ value?: string;
13
+ /** 值变化回调 */
14
+ onChange?: (value: string) => void;
15
+ /** 自定义渲染选项 */
16
+ optionRender?: (option: SelectOption, info: {
17
+ index: number;
18
+ }) => ReactNode;
19
+ /** 是否显示搜索框,默认为 false */
20
+ showSearch?: boolean;
21
+ }
22
+ declare const FilterSelect: FC<FilterSelectProps>;
23
+ export default FilterSelect;
@@ -0,0 +1,245 @@
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 = ["options", "value", "onChange", "icon", "label", "bordered", "optionRender", "loading", "showSearch", "_isCollapsed"],
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, { useEffect, useMemo, useRef, useState } from 'react';
19
+ import Empty from "../../empty";
20
+ import theme from "../../theme";
21
+ import { CheckOutlined, SearchOutlined } from '@oceanbase/icons';
22
+ import { useControlledState } from "../hooks/useControlledState";
23
+ import { useFilterContext } from "../FilterContext";
24
+ import { useFilterCollapsed } from "../hooks/useFilterCollapsed";
25
+ import { useFilterTooltip } from "../hooks/useFilterTooltip";
26
+ import useFilterStyle, { getFilterCls } from "../style";
27
+ import { generateFilterId, getPlaceholder, getWrappedValueStyle, wrapContent, filterOptions } from "../utils";
28
+ import FilterButton from "./FilterButton";
29
+ import Input from "../../input";
30
+ import { Flex } from 'antd';
31
+ import { jsx as _jsx } from "react/jsx-runtime";
32
+ import { jsxs as _jsxs } from "react/jsx-runtime";
33
+ var FilterSelect = function FilterSelect(_ref) {
34
+ var _ref$options = _ref.options,
35
+ options = _ref$options === void 0 ? [] : _ref$options,
36
+ value = _ref.value,
37
+ onChange = _ref.onChange,
38
+ icon = _ref.icon,
39
+ label = _ref.label,
40
+ _ref$bordered = _ref.bordered,
41
+ bordered = _ref$bordered === void 0 ? true : _ref$bordered,
42
+ optionRender = _ref.optionRender,
43
+ _ref$loading = _ref.loading,
44
+ loading = _ref$loading === void 0 ? false : _ref$loading,
45
+ _ref$showSearch = _ref.showSearch,
46
+ showSearch = _ref$showSearch === void 0 ? false : _ref$showSearch,
47
+ _ref$_isCollapsed = _ref._isCollapsed,
48
+ _isCollapsed = _ref$_isCollapsed === void 0 ? false : _ref$_isCollapsed,
49
+ restProps = _objectWithoutProperties(_ref, _excluded);
50
+ var isCollapsed = useFilterCollapsed(_isCollapsed);
51
+ var _theme$useToken = theme.useToken(),
52
+ token = _theme$useToken.token;
53
+ var _useFilterStyle = useFilterStyle(),
54
+ prefixCls = _useFilterStyle.prefixCls;
55
+ var filterButtonRef = useRef(null);
56
+ var _useFilterContext = useFilterContext(),
57
+ updateFilterValue = _useFilterContext.updateFilterValue;
58
+ var filterId = useMemo(function () {
59
+ return generateFilterId('select', label);
60
+ }, [label]);
61
+
62
+ // 搜索关键词状态
63
+ var _useState = useState(''),
64
+ _useState2 = _slicedToArray(_useState, 2),
65
+ searchKeyword = _useState2[0],
66
+ setSearchKeyword = _useState2[1];
67
+
68
+ // 从 restProps 中排除 onOpenChange,避免类型冲突
69
+ var externalOnOpenChange = restProps.onOpenChange,
70
+ filterButtonProps = _objectWithoutProperties(restProps, _excluded2);
71
+
72
+ // 使用受控状态 hook
73
+ var _useControlledState = useControlledState(value, '', onChange),
74
+ _useControlledState2 = _slicedToArray(_useControlledState, 2),
75
+ currentValue = _useControlledState2[0],
76
+ setValue = _useControlledState2[1];
77
+
78
+ // 获取选中值的 label
79
+ var selectedOption = options.find(function (option) {
80
+ return option.value === currentValue;
81
+ });
82
+ var selectedLabel = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label;
83
+ var currentLabel = selectedLabel || label;
84
+
85
+ // 使用 Tooltip hook
86
+ var _useFilterTooltip = useFilterTooltip({
87
+ hasValue: !!currentValue,
88
+ label: label,
89
+ content: selectedLabel ? selectedLabel : null,
90
+ disabled: isCollapsed // 折叠模式下禁用 Tooltip
91
+ }),
92
+ onPopoverOpenChange = _useFilterTooltip.onPopoverOpenChange,
93
+ wrapWithTooltip = _useFilterTooltip.wrapWithTooltip;
94
+
95
+ // 处理 Popover 状态变化
96
+ var handlePopoverOpenChange = function handlePopoverOpenChange(open) {
97
+ onPopoverOpenChange(open);
98
+ externalOnOpenChange === null || externalOnOpenChange === void 0 || externalOnOpenChange(open);
99
+ // 弹窗关闭时清空搜索关键词
100
+ if (!open) {
101
+ setSearchKeyword('');
102
+ }
103
+ };
104
+
105
+ // 当值变化时,更新 context 中的值
106
+ useEffect(function () {
107
+ if (isCollapsed && updateFilterValue) {
108
+ updateFilterValue(filterId, label, currentValue, options, 'select');
109
+ }
110
+ }, [isCollapsed, updateFilterValue, filterId, label, currentValue, options]);
111
+ var handleChange = function handleChange(option) {
112
+ var _filterButtonRef$curr;
113
+ if (option.disabled) {
114
+ return;
115
+ }
116
+ setValue(option.value);
117
+ (_filterButtonRef$curr = filterButtonRef.current) === null || _filterButtonRef$curr === void 0 || _filterButtonRef$curr.closePopover();
118
+ };
119
+ var handleClear = function handleClear() {
120
+ setValue('');
121
+ };
122
+
123
+ // 根据搜索关键词过滤选项
124
+ var filteredOptions = useMemo(function () {
125
+ if (!showSearch || !searchKeyword) return options;
126
+ return filterOptions(options, searchKeyword);
127
+ }, [showSearch, searchKeyword, options]);
128
+
129
+ // 渲染弹框内容
130
+ var renderContent = /*#__PURE__*/_jsxs("div", {
131
+ children: [showSearch && /*#__PURE__*/_jsx("div", {
132
+ style: {
133
+ marginInline: 4,
134
+ marginBottom: 8
135
+ },
136
+ children: /*#__PURE__*/_jsx(Input, {
137
+ placeholder: "\u641C\u7D22",
138
+ prefix: /*#__PURE__*/_jsx(SearchOutlined, {}),
139
+ allowClear: true,
140
+ value: searchKeyword,
141
+ onChange: function onChange(e) {
142
+ return setSearchKeyword(e.target.value);
143
+ },
144
+ onClick: function onClick(e) {
145
+ return e.stopPropagation();
146
+ }
147
+ })
148
+ }), filteredOptions.length === 0 ? /*#__PURE__*/_jsx(Empty, {
149
+ image: Empty.PRESENTED_IMAGE_SIMPLE,
150
+ description: "\u65E0\u5339\u914D\u7ED3\u679C",
151
+ style: {
152
+ padding: '16px 0'
153
+ }
154
+ }) : filteredOptions.map(function (option, index) {
155
+ var isSelected = currentValue === option.value;
156
+ var isDisabled = option.disabled || false;
157
+ return /*#__PURE__*/_jsxs(Flex, {
158
+ gap: 8,
159
+ className: getFilterCls(prefixCls, 'select-option'),
160
+ onClick: function onClick() {
161
+ return handleChange(option);
162
+ },
163
+ justify: "space-between",
164
+ style: {
165
+ cursor: isDisabled ? 'not-allowed' : 'pointer',
166
+ color: isDisabled ? token.colorTextDisabled : 'inherit'
167
+ },
168
+ children: [optionRender ? /*#__PURE__*/_jsx("div", {
169
+ style: {
170
+ flex: 1
171
+ },
172
+ children: optionRender(option, {
173
+ index: index
174
+ })
175
+ }) : /*#__PURE__*/_jsx("span", {
176
+ className: getFilterCls(prefixCls, 'text-ellipsis'),
177
+ children: option.label
178
+ }), /*#__PURE__*/_jsx("span", {
179
+ style: {
180
+ width: 14,
181
+ flexShrink: 0
182
+ },
183
+ children: isSelected && /*#__PURE__*/_jsx(CheckOutlined, {
184
+ style: {
185
+ color: token.colorPrimary
186
+ }
187
+ })
188
+ })]
189
+ }, option.value);
190
+ })]
191
+ });
192
+ var wrappedContent = wrapContent(renderContent);
193
+
194
+ // 折叠模式
195
+ if (isCollapsed) {
196
+ var hasValue = !!currentValue;
197
+ return /*#__PURE__*/_jsxs("div", {
198
+ style: {
199
+ paddingBlock: token.paddingXXS
200
+ },
201
+ children: [/*#__PURE__*/_jsx("div", {
202
+ style: {
203
+ marginBottom: 8
204
+ },
205
+ children: label
206
+ }), /*#__PURE__*/_jsx(FilterButton, _objectSpread(_objectSpread({
207
+ ref: filterButtonRef,
208
+ icon: icon,
209
+ label: label,
210
+ bordered: bordered,
211
+ onClear: handleClear,
212
+ content: wrappedContent,
213
+ loading: loading,
214
+ selected: hasValue,
215
+ onOpenChange: handlePopoverOpenChange
216
+ }, filterButtonProps), {}, {
217
+ children: /*#__PURE__*/_jsx("span", {
218
+ className: getFilterCls(prefixCls, 'text-ellipsis'),
219
+ style: getWrappedValueStyle(hasValue),
220
+ children: hasValue ? currentLabel : getPlaceholder()
221
+ })
222
+ }))]
223
+ });
224
+ }
225
+
226
+ // 正常模式
227
+ var filterButton = /*#__PURE__*/_jsx(FilterButton, _objectSpread(_objectSpread({
228
+ ref: filterButtonRef,
229
+ icon: icon,
230
+ label: label,
231
+ bordered: bordered,
232
+ onClear: handleClear,
233
+ content: wrappedContent,
234
+ loading: loading,
235
+ selected: !!currentValue,
236
+ onOpenChange: handlePopoverOpenChange
237
+ }, filterButtonProps), {}, {
238
+ children: /*#__PURE__*/_jsx("span", {
239
+ className: getFilterCls(prefixCls, 'text-ellipsis'),
240
+ children: currentLabel
241
+ })
242
+ }));
243
+ return wrapWithTooltip(filterButton);
244
+ };
245
+ export default FilterSelect;