@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,15 @@
1
+ import { useFilterContext } from "../FilterContext";
2
+
3
+ /**
4
+ * 判断 Filter 组件是否处于折叠模式
5
+ * 支持通过 context 或 prop 来判断
6
+ * @param isCollapsedProp 通过 prop 传入的 _isCollapsed 值
7
+ * @returns 是否处于折叠模式
8
+ */
9
+ export function useFilterCollapsed() {
10
+ var isCollapsedProp = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
11
+ var _useFilterContext = useFilterContext(),
12
+ isCollapsedFromContext = _useFilterContext.isCollapsed;
13
+ return isCollapsedFromContext || isCollapsedProp;
14
+ }
15
+ export default useFilterCollapsed;
@@ -0,0 +1,29 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface UseFilterTooltipOptions {
3
+ /** 是否有选中的值 */
4
+ hasValue: boolean;
5
+ /** Tooltip 显示的内容 */
6
+ label?: ReactNode;
7
+ content: ReactNode;
8
+ /** 是否禁用 Tooltip,默认 false */
9
+ disabled?: boolean;
10
+ /** Popover 关闭后的延迟时间(毫秒),用于防止 Tooltip 立即显示,默认 100 */
11
+ closeDelay?: number;
12
+ }
13
+ export interface UseFilterTooltipReturn {
14
+ /** Popover 状态变化时调用,用于同步状态 */
15
+ onPopoverOpenChange: (open: boolean) => void;
16
+ /** 用 Tooltip 包裹 children */
17
+ wrapWithTooltip: (children: ReactNode) => ReactNode;
18
+ }
19
+ /**
20
+ * 用于管理 Filter 组件的 Tooltip 显示逻辑
21
+ *
22
+ * 功能:
23
+ * 1. 在有选中值时,hover 显示 Tooltip
24
+ * 2. 当 Popover 打开时,自动关闭 Tooltip
25
+ * 3. 当 Popover 关闭后,需要鼠标移出再移入才会显示 Tooltip
26
+ * 4. 没有值时不显示 Tooltip
27
+ */
28
+ export declare function useFilterTooltip({ hasValue, label, content, disabled, closeDelay, }: UseFilterTooltipOptions): UseFilterTooltipReturn;
29
+ export default useFilterTooltip;
@@ -0,0 +1,127 @@
1
+ "use client";
2
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
+ 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."); }
4
+ 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); }
5
+ 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; }
6
+ 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; } }
7
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
9
+ import { Flex } from 'antd';
10
+ import theme from "../../theme";
11
+ import Tooltip from "../../tooltip";
12
+ import { jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ /**
15
+ * 用于管理 Filter 组件的 Tooltip 显示逻辑
16
+ *
17
+ * 功能:
18
+ * 1. 在有选中值时,hover 显示 Tooltip
19
+ * 2. 当 Popover 打开时,自动关闭 Tooltip
20
+ * 3. 当 Popover 关闭后,需要鼠标移出再移入才会显示 Tooltip
21
+ * 4. 没有值时不显示 Tooltip
22
+ */
23
+ export function useFilterTooltip(_ref) {
24
+ var hasValue = _ref.hasValue,
25
+ label = _ref.label,
26
+ content = _ref.content,
27
+ _ref$disabled = _ref.disabled,
28
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
29
+ _ref$closeDelay = _ref.closeDelay,
30
+ closeDelay = _ref$closeDelay === void 0 ? 100 : _ref$closeDelay;
31
+ var _theme$useToken = theme.useToken(),
32
+ token = _theme$useToken.token;
33
+ // Tooltip 是否可见
34
+ var _useState = useState(false),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ tooltipVisible = _useState2[0],
37
+ setTooltipVisible = _useState2[1];
38
+ // Popover 是否打开
39
+ var _useState3 = useState(false),
40
+ _useState4 = _slicedToArray(_useState3, 2),
41
+ isPopoverOpen = _useState4[0],
42
+ setIsPopoverOpen = _useState4[1];
43
+ // 标记 Popover 是否刚刚关闭
44
+ var justClosedRef = useRef(false);
45
+ // 标记 Popover 是否曾经打开过,用于区分初始状态和关闭状态
46
+ var hasEverOpenedRef = useRef(false);
47
+
48
+ // Popover 状态变化时处理
49
+ useEffect(function () {
50
+ if (isPopoverOpen) {
51
+ // Popover 打开时,记录已打开过,并关闭 Tooltip
52
+ hasEverOpenedRef.current = true;
53
+ setTooltipVisible(false);
54
+ justClosedRef.current = false;
55
+ } else if (hasEverOpenedRef.current) {
56
+ // 只有在 Popover 曾经打开过的情况下,才执行关闭逻辑
57
+ // 避免初始化时触发这个逻辑
58
+ justClosedRef.current = true;
59
+ setTooltipVisible(false);
60
+ var timer = setTimeout(function () {
61
+ justClosedRef.current = false;
62
+ }, closeDelay);
63
+ return function () {
64
+ return clearTimeout(timer);
65
+ };
66
+ }
67
+ }, [isPopoverOpen, closeDelay]);
68
+
69
+ // 当没有值时,关闭 Tooltip
70
+ useEffect(function () {
71
+ if (!hasValue) {
72
+ setTooltipVisible(false);
73
+ }
74
+ }, [hasValue]);
75
+
76
+ // Popover 状态变化时调用
77
+ var onPopoverOpenChange = useCallback(function (open) {
78
+ setIsPopoverOpen(open);
79
+ }, []);
80
+
81
+ // Tooltip 状态变化时调用
82
+ var handleTooltipOpenChange = useCallback(function (open) {
83
+ // 如果禁用或没有值,不显示
84
+ if (disabled || !hasValue) {
85
+ setTooltipVisible(false);
86
+ return;
87
+ }
88
+
89
+ // 如果 Popover 打开或刚刚关闭,不显示
90
+ if (isPopoverOpen || justClosedRef.current) {
91
+ setTooltipVisible(false);
92
+ return;
93
+ }
94
+ setTooltipVisible(open);
95
+ }, [disabled, hasValue, isPopoverOpen]);
96
+
97
+ // 用 Tooltip 包裹 children
98
+ var wrapWithTooltip = useCallback(function (children) {
99
+ if (disabled) {
100
+ return children;
101
+ }
102
+ return /*#__PURE__*/_jsx(Tooltip, {
103
+ mouseEnterDelay: 0.8,
104
+ title: hasValue ? /*#__PURE__*/_jsxs(Flex, {
105
+ gap: 4,
106
+ children: [label && /*#__PURE__*/_jsxs("div", {
107
+ style: {
108
+ color: token.colorTextLabel,
109
+ whiteSpace: 'nowrap'
110
+ },
111
+ children: [label, ": "]
112
+ }), /*#__PURE__*/_jsx(Flex, {
113
+ wrap: "wrap",
114
+ children: content
115
+ })]
116
+ }) : null,
117
+ open: tooltipVisible,
118
+ onOpenChange: handleTooltipOpenChange,
119
+ children: children
120
+ });
121
+ }, [disabled, hasValue, label, content, tooltipVisible, handleTooltipOpenChange, token]);
122
+ return {
123
+ onPopoverOpenChange: onPopoverOpenChange,
124
+ wrapWithTooltip: wrapWithTooltip
125
+ };
126
+ }
127
+ export default useFilterTooltip;
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ export { FilterProvider, useFilterContext } from './FilterContext';
3
+ export type { BaseFilterProps, InternalFilterProps } from './type';
4
+ export type { FilterSelectProps, SelectOption } from './components/FilterSelect';
5
+ export type { FilterCheckboxProps, CheckboxOption } from './components/FilterCheckbox';
6
+ export type { FilterCascaderProps, CascaderOption } from './components/FilterCascader';
7
+ export type { FilterSwitchProps } from './components/FilterSwitch';
8
+ export type { FilterRangeProps, RangeOption } from './components/FilterRange';
9
+ export type { FilterInputProps } from './components/FilterInput';
10
+ export type { FilterSlotProps } from './components/FilterSlot';
11
+ export type { FilterWrapProps } from './components/FilterWrap';
12
+ export type { ResponsiveFilterGroupProps } from './components/ResponsiveFilterGroup';
13
+ declare const Filter: {
14
+ Select: import("react").FC<import("./components/FilterSelect").FilterSelectProps>;
15
+ Checkbox: import("react").NamedExoticComponent<import("./components/FilterCheckbox").FilterCheckboxProps>;
16
+ Range: import("react").FC<import("./components/FilterRange").FilterRangeProps>;
17
+ Wrap: import("react").FC<import("./components/FilterWrap").FilterWrapProps>;
18
+ Cascader: import("react").FC<import("./components/FilterCascader/types").FilterCascaderProps>;
19
+ Switch: import("react").FC<import("./components/FilterSwitch").FilterSwitchProps>;
20
+ Input: import("react").FC<import("./components/FilterInput").FilterInputProps>;
21
+ Slot: import("react").FC<import("./components/FilterSlot").FilterSlotProps>;
22
+ ResponsiveGroup: import("react").FC<import("./components/ResponsiveFilterGroup").ResponsiveFilterGroupProps>;
23
+ };
24
+ export default Filter;
@@ -0,0 +1,27 @@
1
+ "use client";
2
+ import Cascader from "./components/FilterCascader/index";
3
+ import Checkbox from "./components/FilterCheckbox";
4
+ import Range from "./components/FilterRange";
5
+ import Input from "./components/FilterInput";
6
+ import Select from "./components/FilterSelect";
7
+ import Slot from "./components/FilterSlot";
8
+ import Switch from "./components/FilterSwitch";
9
+ import Wrap from "./components/FilterWrap";
10
+ import ResponsiveGroup from "./components/ResponsiveFilterGroup";
11
+ export { FilterProvider, useFilterContext } from "./FilterContext";
12
+ function markAsFilterComponent(component) {
13
+ component.__isFilterComponent = true;
14
+ return component;
15
+ }
16
+ var Filter = {
17
+ Select: markAsFilterComponent(Select),
18
+ Checkbox: markAsFilterComponent(Checkbox),
19
+ Range: markAsFilterComponent(Range),
20
+ Wrap: markAsFilterComponent(Wrap),
21
+ Cascader: markAsFilterComponent(Cascader),
22
+ Switch: markAsFilterComponent(Switch),
23
+ Input: markAsFilterComponent(Input),
24
+ Slot: markAsFilterComponent(Slot),
25
+ ResponsiveGroup: ResponsiveGroup
26
+ };
27
+ export default Filter;
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import type { GlobalToken } from '../../theme/interface';
3
+ export interface FilterToken extends GlobalToken {
4
+ antCls: string;
5
+ componentCls: string;
6
+ iconCls: string;
7
+ prefixCls: string;
8
+ }
9
+ export interface UseFilterStyleResult {
10
+ wrapSSR: (node: React.ReactElement) => React.ReactElement;
11
+ hashId: string;
12
+ prefixCls: string;
13
+ }
14
+ export default function useFilterStyle(prefixCls?: string): UseFilterStyleResult;
15
+ export declare const getFilterCls: (prefixCls: string, className: string) => string;
@@ -0,0 +1,245 @@
1
+ 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); }
2
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ 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); }
7
+ import { useContext } from 'react';
8
+ import { unit, useStyleRegister } from '@ant-design/cssinjs';
9
+ import themeConfig from "../../theme";
10
+ import ConfigProvider from "../../config-provider";
11
+ var genSelectOptionStyle = function genSelectOptionStyle(token) {
12
+ var componentCls = token.componentCls;
13
+ return _defineProperty({}, "".concat(componentCls, "-select-option"), _defineProperty(_defineProperty({
14
+ paddingBlock: token.paddingXXS,
15
+ paddingInline: token.paddingXS,
16
+ cursor: 'pointer',
17
+ borderRadius: token.borderRadius,
18
+ transition: "background-color ".concat(token.motionDurationMid, " ease-in-out"),
19
+ '&:hover': _defineProperty(_defineProperty({
20
+ backgroundColor: token.colorBgTextHover
21
+ }, "".concat(componentCls, "-arrow-icon"), {
22
+ opacity: 0,
23
+ visibility: 'hidden'
24
+ }), "".concat(componentCls, "-clear-icon"), {
25
+ opacity: 1,
26
+ visibility: 'visible'
27
+ })
28
+ }, "&".concat(componentCls, "-has-selected"), {
29
+ backgroundColor: token.colorBgTextHover
30
+ }), "&".concat(componentCls, "-flat-active"), {
31
+ backgroundColor: token.colorBgTextHover,
32
+ '&:hover': {
33
+ backgroundColor: token.colorBgTextHover
34
+ }
35
+ }));
36
+ };
37
+ var genCheckboxOptionStyle = function genCheckboxOptionStyle(token) {
38
+ var antCls = token.antCls,
39
+ componentCls = token.componentCls;
40
+ return _defineProperty({}, "".concat(componentCls, "-checkbox-option"), _defineProperty({
41
+ paddingBlock: token.paddingXXS,
42
+ paddingInline: token.paddingXS,
43
+ cursor: 'pointer',
44
+ borderRadius: token.borderRadius,
45
+ '&:hover': {
46
+ backgroundColor: token.colorBgTextHover
47
+ }
48
+ }, "&".concat(antCls, "-checkbox-wrapper-disabled"), {
49
+ cursor: 'not-allowed',
50
+ color: token.colorTextDisabled,
51
+ '&:hover': {
52
+ backgroundColor: 'transparent'
53
+ }
54
+ }));
55
+ };
56
+ var genSwitchOptionStyle = function genSwitchOptionStyle(token) {
57
+ var componentCls = token.componentCls;
58
+ return _defineProperty({}, "".concat(componentCls, "-switch-option"), {
59
+ cursor: 'default'
60
+ });
61
+ };
62
+
63
+ // 通用图标样式
64
+ var genIconStyle = function genIconStyle(token) {
65
+ var componentCls = token.componentCls;
66
+
67
+ // 基础计数样式(复用)
68
+ var baseCountStyle = {
69
+ opacity: 1,
70
+ fontSize: token.fontSizeSM,
71
+ color: token.colorIcon,
72
+ borderRadius: 8,
73
+ width: '18px',
74
+ height: '18px',
75
+ display: 'flex',
76
+ alignItems: 'center',
77
+ justifyContent: 'center'
78
+ };
79
+
80
+ // 基础清除图标样式(复用)
81
+ var baseClearIconStyle = {
82
+ opacity: 0,
83
+ cursor: 'pointer',
84
+ visibility: 'hidden',
85
+ position: 'absolute',
86
+ color: token.colorIcon,
87
+ fontSize: token.fontSizeSM,
88
+ transform: 'translateY(-50%)',
89
+ transition: "opacity ".concat(token.motionDurationMid, " ease-in-out, visibility ").concat(token.motionDurationMid, " ease-in-out")
90
+ };
91
+
92
+ // 基础图标容器样式(复用)
93
+ var baseIconWrapperStyle = {
94
+ position: 'relative',
95
+ display: 'inline-flex',
96
+ justifyContent: 'center',
97
+ alignItems: 'center',
98
+ marginLeft: token.paddingXS,
99
+ color: token.colorIcon
100
+ };
101
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(componentCls, "-button-prefix-icon"), {
102
+ marginRight: token.paddingXXS,
103
+ color: token.colorIcon
104
+ }), "".concat(componentCls, "-icon-wrapper"), _objectSpread({}, baseIconWrapperStyle)), "".concat(componentCls, "-count"), _objectSpread(_objectSpread({}, baseCountStyle), {}, {
105
+ backgroundColor: 'var(--ob-color-border-container)',
106
+ padding: '0px 2px'
107
+ })), "".concat(componentCls, "-arrow-icon"), {
108
+ opacity: 1,
109
+ fontSize: token.fontSizeSM,
110
+ color: token.colorIcon,
111
+ visibility: 'visible',
112
+ transition: "opacity ".concat(token.motionDurationMid, " ease-in-out, visibility ").concat(token.motionDurationMid, " ease-in-out")
113
+ }), "".concat(componentCls, "-clear-icon"), _objectSpread(_objectSpread({}, baseClearIconStyle), {}, {
114
+ left: 0,
115
+ top: '60%'
116
+ })), "".concat(componentCls, "-wrap-icon-wrapper"), _objectSpread(_objectSpread({}, baseIconWrapperStyle), {}, {
117
+ '&:hover': _defineProperty(_defineProperty({}, "".concat(componentCls, "-wrap-count"), {
118
+ opacity: 0,
119
+ visibility: 'hidden'
120
+ }), "".concat(componentCls, "-wrap-clear-icon"), {
121
+ opacity: 1,
122
+ visibility: 'visible'
123
+ })
124
+ })), "".concat(componentCls, "-wrap-count"), _objectSpread(_objectSpread({}, baseCountStyle), {}, {
125
+ backgroundColor: 'var(--ob-color-border-container)',
126
+ visibility: 'visible',
127
+ transition: "opacity ".concat(token.motionDurationMid, " ease-in-out, visibility ").concat(token.motionDurationMid, " ease-in-out")
128
+ })), "".concat(componentCls, "-wrap-clear-icon"), _objectSpread(_objectSpread(_objectSpread({}, baseClearIconStyle), baseCountStyle), {}, {
129
+ opacity: 0,
130
+ cursor: 'pointer',
131
+ visibility: 'hidden',
132
+ position: 'absolute',
133
+ left: 0,
134
+ top: '50%'
135
+ }));
136
+ };
137
+ var genFilterButtonStyle = function genFilterButtonStyle(token) {
138
+ var componentCls = token.componentCls;
139
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(componentCls, "-button-wrapper"), {
140
+ display: 'inline-block'
141
+ }), "".concat(componentCls, "-button"), {
142
+ height: token.controlHeight,
143
+ paddingBlock: token.paddingXXS,
144
+ paddingInline: token.paddingSM,
145
+ borderRadius: token.borderRadius,
146
+ backgroundColor: token.white,
147
+ cursor: 'pointer',
148
+ display: 'flex',
149
+ gap: token.paddingXS,
150
+ alignItems: 'center',
151
+ justifyContent: 'right',
152
+ color: token.colorText,
153
+ whiteSpace: 'nowrap',
154
+ maxWidth: '268px',
155
+ '&:hover': _defineProperty(_defineProperty({}, "".concat(componentCls, "-arrow-icon"), {
156
+ opacity: 0,
157
+ visibility: 'hidden'
158
+ }), "".concat(componentCls, "-clear-icon"), {
159
+ opacity: 1,
160
+ visibility: 'visible'
161
+ })
162
+ }), "".concat(componentCls, "-button-label-wrapper"), {
163
+ width: '100%',
164
+ paddingBlock: token.paddingXS,
165
+ paddingInline: token.paddingSM,
166
+ borderBottom: "1px solid ".concat(token.colorFillSecondary),
167
+ color: token.colorTextSecondary,
168
+ whiteSpace: 'nowrap',
169
+ overflow: 'hidden',
170
+ textOverflow: 'ellipsis'
171
+ }), "".concat(componentCls, "-button-label-wrapper-no-border"), {
172
+ borderBottom: 'none',
173
+ padding: "".concat(unit(token.paddingXS), " ").concat(unit(token.paddingSM), " 0px")
174
+ }), "".concat(componentCls, "-border"), {
175
+ border: "".concat(token.lineWidth, "px solid ").concat(token.colorBorder),
176
+ transition: "background-color ".concat(token.motionDurationSlow, " ease-in-out, border-color ").concat(token.motionDurationSlow, " ease-in-out"),
177
+ '&:hover, &:active, &:focus, &:focus-within': {
178
+ borderColor: token.colorTextTertiary
179
+ }
180
+ }), "".concat(componentCls, "-active"), {
181
+ borderColor: token.colorBorder,
182
+ color: token.colorTextLabel
183
+ }), "".concat(componentCls, "-disabled"), {
184
+ backgroundColor: token.colorBgContainerDisabled,
185
+ borderColor: token.colorBorder,
186
+ color: token.colorTextQuaternary,
187
+ cursor: 'not-allowed',
188
+ '&:hover, &:active, &:focus, &:focus-within': _defineProperty(_defineProperty({
189
+ borderColor: token.colorBorder
190
+ }, "".concat(componentCls, "-arrow-icon"), {
191
+ opacity: 1,
192
+ visibility: 'visible'
193
+ }), "".concat(componentCls, "-clear-icon"), {
194
+ opacity: 0,
195
+ visibility: 'hidden'
196
+ })
197
+ }), "".concat(componentCls, "-selected"), {
198
+ backgroundColor: 'var(--ob-color-bg-hover)'
199
+ });
200
+ };
201
+ var genFilterTextEllipsisStyle = function genFilterTextEllipsisStyle(token) {
202
+ var componentCls = token.componentCls;
203
+ return _defineProperty({}, "".concat(componentCls, "-text-ellipsis"), {
204
+ overflow: 'hidden',
205
+ textOverflow: 'ellipsis',
206
+ whiteSpace: 'nowrap'
207
+ });
208
+ };
209
+ var genFilterStyle = function genFilterStyle(token) {
210
+ return [genIconStyle(token), genSelectOptionStyle(token), genCheckboxOptionStyle(token), genSwitchOptionStyle(token), genFilterButtonStyle(token), genFilterTextEllipsisStyle(token)];
211
+ };
212
+ export default function useFilterStyle() {
213
+ var prefixCls = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ant-filter';
214
+ var _themeConfig$useToken = themeConfig.useToken(),
215
+ theme = _themeConfig$useToken.theme,
216
+ token = _themeConfig$useToken.token;
217
+ var _useContext = useContext(ConfigProvider.ConfigContext),
218
+ getPrefixCls = _useContext.getPrefixCls,
219
+ iconPrefixCls = _useContext.iconPrefixCls;
220
+ var filterToken = _objectSpread(_objectSpread({}, token), {}, {
221
+ antCls: getPrefixCls(),
222
+ componentCls: ".".concat(prefixCls),
223
+ iconCls: ".".concat(iconPrefixCls),
224
+ prefixCls: prefixCls
225
+ });
226
+ var wrapSSR = useStyleRegister({
227
+ theme: theme,
228
+ token: token,
229
+ path: ['filter', prefixCls],
230
+ hashId: '',
231
+ order: -900
232
+ }, function () {
233
+ return genFilterStyle(filterToken);
234
+ });
235
+ return {
236
+ wrapSSR: wrapSSR,
237
+ hashId: '',
238
+ prefixCls: prefixCls
239
+ };
240
+ }
241
+
242
+ // 导出样式类名生成器,方便组件使用
243
+ export var getFilterCls = function getFilterCls(prefixCls, className) {
244
+ return "".concat(prefixCls, "-").concat(className);
245
+ };
@@ -0,0 +1,41 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { PopoverProps } from 'antd';
3
+ export interface BaseFilterProps extends Omit<PopoverProps, 'title' | 'content' | 'children'> {
4
+ /** 前缀图标 */
5
+ icon?: ReactNode;
6
+ /** 筛选器标签 */
7
+ label?: ReactNode;
8
+ /** 是否禁用 */
9
+ disabled?: boolean;
10
+ /** 是否显示边框,默认 true */
11
+ bordered?: boolean;
12
+ /** 底部操作区域 */
13
+ footer?: ReactNode;
14
+ /** 额外内容,显示在筛选器弹框的标签旁边 */
15
+ extra?: ReactNode;
16
+ /** 是否加载中 */
17
+ loading?: boolean;
18
+ /** 是否可以被 ResponsiveGroup 收集到折叠容器中,默认为 true */
19
+ collapsible?: boolean;
20
+ /** 是否始终折叠到"更多"按钮中,无论容器宽度是否充足,默认为 false */
21
+ alwaysCollapse?: boolean;
22
+ /** 是否显示后缀图标区域(包括下拉箭头和清除图标),默认 true */
23
+ showSuffixIcon?: boolean;
24
+ /** 是否显示清除按钮,默认 true */
25
+ allowClear?: boolean;
26
+ }
27
+ /** 内部属性,用于标记组件是否在折叠模式中 */
28
+ export interface InternalFilterProps {
29
+ /** @internal 是否处于折叠模式 */
30
+ _isCollapsed?: boolean;
31
+ /**
32
+ * @internal
33
+ * 是否为 Wrap 组件透传,默认 false
34
+ */
35
+ _isInWrapComponent?: boolean;
36
+ /**
37
+ * @internal
38
+ * 是否为扁平化模式,默认 false
39
+ */
40
+ _isFlat?: boolean;
41
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,50 @@
1
+ import type { CSSProperties, ReactNode } from 'react';
2
+ export declare const getIcon: (icon?: 'time' | 'filter') => import("@emotion/react/jsx-runtime").JSX.Element;
3
+ /**
4
+ * 生成稳定的 filterId
5
+ * 基于 componentName 和 label 生成,确保 label 变化时 ID 也会更新
6
+ */
7
+ export declare const generateFilterId: (componentName: string, label: ReactNode, fallbackIndex?: number) => string;
8
+ /**
9
+ * 获取 Filter 组件的占位符文案
10
+ */
11
+ export declare const getPlaceholder: () => string;
12
+ /**
13
+ * Wrapped 模式下显示值的样式
14
+ */
15
+ export declare const wrappedValueStyle: CSSProperties;
16
+ /**
17
+ * 获取 Wrapped 模式下显示值的样式(包含颜色)
18
+ * @param hasValue 是否有值
19
+ */
20
+ export declare const getWrappedValueStyle: (hasValue: boolean) => CSSProperties;
21
+ /**
22
+ * 包装 Filter 内容的容器
23
+ * @param content 内容
24
+ * @param padding 内边距,默认为 8
25
+ * @param maxHeight 最大高度,默认为 300
26
+ */
27
+ export declare const wrapContent: (content: ReactNode, padding?: number | string, maxHeight?: number) => ReactNode;
28
+ /**
29
+ * 深度比较两个数组是否相等(用于 options 比较)
30
+ */
31
+ export declare const areArraysEqual: (a: unknown[] | undefined, b: unknown[] | undefined) => boolean;
32
+ /**
33
+ * 稳定化 options 数组的引用(使用 JSON.stringify 作为 key)
34
+ * 这是一个普通函数,不是 Hook
35
+ */
36
+ export declare const getStableOptionsKey: (options: unknown[] | undefined) => string;
37
+ /**
38
+ * 将 ReactNode 转换为可搜索的字符串
39
+ * 用于搜索功能中的文本匹配
40
+ */
41
+ export declare const normalizeLabel: (label: ReactNode) => string;
42
+ /**
43
+ * 根据关键词过滤选项列表
44
+ * @param options 选项列表
45
+ * @param keyword 搜索关键词
46
+ * @returns 过滤后的选项列表
47
+ */
48
+ export declare const filterOptions: <T extends {
49
+ label?: ReactNode;
50
+ }>(options: T[], keyword: string) => T[];