@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,48 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ 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); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ 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; }
7
+ /**
8
+ * 递归统计所有叶子节点数量(只统计没有children的节点)
9
+ */
10
+ export var countLeafNodes = function countLeafNodes(options) {
11
+ var count = 0;
12
+ options.forEach(function (opt) {
13
+ if (opt.children && opt.children.length > 0) {
14
+ count += countLeafNodes(opt.children);
15
+ } else {
16
+ count += 1;
17
+ }
18
+ });
19
+ return count;
20
+ };
21
+
22
+ /**
23
+ * 收集所有叶子节点的完整路径
24
+ */
25
+ export var collectLeafPaths = function collectLeafPaths(options, basePath) {
26
+ var paths = [];
27
+ options.forEach(function (opt) {
28
+ var optPath = [].concat(_toConsumableArray(basePath), [opt.value]);
29
+ if (opt.children && opt.children.length > 0) {
30
+ paths.push.apply(paths, _toConsumableArray(collectLeafPaths(opt.children, optPath)));
31
+ } else {
32
+ paths.push(optPath);
33
+ }
34
+ });
35
+ return paths;
36
+ };
37
+
38
+ /**
39
+ * 统计选中的子节点数量
40
+ */
41
+ export var countSelectedChildren = function countSelectedChildren(currentValue, currentPath) {
42
+ return currentValue.filter(function (selectedPath) {
43
+ if (selectedPath.length <= currentPath.length) return false;
44
+ return currentPath.every(function (val, idx) {
45
+ return selectedPath[idx] === val;
46
+ });
47
+ }).length;
48
+ };
@@ -0,0 +1,17 @@
1
+ import type { CascaderOption } from '../types';
2
+ /**
3
+ * 根据路径查找选项
4
+ */
5
+ export declare const findOptionByPath: (options: CascaderOption[], path: string[]) => CascaderOption | null;
6
+ /**
7
+ * 根据路径获取当前层级的选项列表
8
+ */
9
+ export declare const getCurrentLevelOptions: (options: CascaderOption[], path: string[]) => CascaderOption[];
10
+ /**
11
+ * 检查路径是否在选中值中
12
+ */
13
+ export declare const hasSelectedInPath: (currentValue: string[][], currentPath: string[]) => boolean;
14
+ /**
15
+ * 检查路径是否完全匹配
16
+ */
17
+ export declare const isExactMatch: (currentValue: string[][], currentPath: string[]) => boolean;
@@ -0,0 +1,91 @@
1
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
2
+ 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); }
3
+ 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; }
4
+ /**
5
+ * 根据路径查找选项
6
+ */
7
+ export var findOptionByPath = function findOptionByPath(options, path) {
8
+ if (!path || path.length === 0) return null;
9
+ var currentOptions = options;
10
+ var currentOption = null;
11
+ var _iterator = _createForOfIteratorHelper(path),
12
+ _step;
13
+ try {
14
+ var _loop = function _loop() {
15
+ var pathValue = _step.value;
16
+ var found = currentOptions.find(function (opt) {
17
+ return opt.value === pathValue;
18
+ });
19
+ if (!found) return {
20
+ v: null
21
+ };
22
+ currentOption = found;
23
+ currentOptions = found.children || [];
24
+ },
25
+ _ret;
26
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
27
+ _ret = _loop();
28
+ if (_ret) return _ret.v;
29
+ }
30
+ } catch (err) {
31
+ _iterator.e(err);
32
+ } finally {
33
+ _iterator.f();
34
+ }
35
+ return currentOption;
36
+ };
37
+
38
+ /**
39
+ * 根据路径获取当前层级的选项列表
40
+ */
41
+ export var getCurrentLevelOptions = function getCurrentLevelOptions(options, path) {
42
+ if (path.length === 0) return options;
43
+ var currentOptions = options;
44
+ var _iterator2 = _createForOfIteratorHelper(path),
45
+ _step2;
46
+ try {
47
+ var _loop2 = function _loop2() {
48
+ var pathValue = _step2.value;
49
+ var found = currentOptions.find(function (opt) {
50
+ return opt.value === pathValue;
51
+ });
52
+ if (!found || !found.children) return {
53
+ v: []
54
+ };
55
+ currentOptions = found.children;
56
+ },
57
+ _ret2;
58
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
59
+ _ret2 = _loop2();
60
+ if (_ret2) return _ret2.v;
61
+ }
62
+ } catch (err) {
63
+ _iterator2.e(err);
64
+ } finally {
65
+ _iterator2.f();
66
+ }
67
+ return currentOptions;
68
+ };
69
+
70
+ /**
71
+ * 检查路径是否在选中值中
72
+ */
73
+ export var hasSelectedInPath = function hasSelectedInPath(currentValue, currentPath) {
74
+ return currentValue.some(function (selectedPath) {
75
+ if (selectedPath.length < currentPath.length) return false;
76
+ return currentPath.every(function (val, idx) {
77
+ return selectedPath[idx] === val;
78
+ });
79
+ });
80
+ };
81
+
82
+ /**
83
+ * 检查路径是否完全匹配
84
+ */
85
+ export var isExactMatch = function isExactMatch(currentValue, currentPath) {
86
+ return currentValue.some(function (selectedPath) {
87
+ return selectedPath.length === currentPath.length && selectedPath.every(function (val, idx) {
88
+ return val === currentPath[idx];
89
+ });
90
+ });
91
+ };
@@ -0,0 +1,26 @@
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
3
+ import type { BaseFilterProps, InternalFilterProps } from '../type';
4
+ export interface CheckboxOption {
5
+ label: ReactNode;
6
+ value: string;
7
+ disabled?: boolean;
8
+ /** 状态颜色,如果提供则启用状态模式(显示重叠图标、使用 Badge 显示) */
9
+ color?: string;
10
+ }
11
+ export interface FilterCheckboxProps extends BaseFilterProps, InternalFilterProps {
12
+ /** 选项列表 */
13
+ options?: CheckboxOption[];
14
+ /** 当前选中值 */
15
+ value?: string[];
16
+ /** 值变化回调 */
17
+ onChange?: (value: string[]) => void;
18
+ /** 是否显示计数,可传入 { showTotal: true } 同时显示总数 */
19
+ count?: boolean | {
20
+ showTotal?: boolean;
21
+ };
22
+ /** 是否显示搜索框,默认为 false */
23
+ showSearch?: boolean;
24
+ }
25
+ declare const _default: React.NamedExoticComponent<FilterCheckboxProps>;
26
+ export default _default;
@@ -0,0 +1,358 @@
1
+ "use client";
2
+ var _excluded = ["options", "value", "onChange", "icon", "label", "bordered", "count", "showSearch", "_isCollapsed"],
3
+ _excluded2 = ["onOpenChange"];
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
10
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
12
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
13
+ 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); }
14
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
+ 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."); }
16
+ 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); }
17
+ 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; }
18
+ 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; } }
19
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
+ 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; }
21
+ 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; }
22
+ import React, { memo, useCallback, useEffect, useMemo, useState } from 'react';
23
+ import theme from "../../theme";
24
+ import Checkbox from "../../checkbox";
25
+ import Input from "../../input";
26
+ import Badge from "../../badge";
27
+ import { SearchOutlined } from '@oceanbase/icons';
28
+ import { useControlledState } from "../hooks/useControlledState";
29
+ import { useFilterContext } from "../FilterContext";
30
+ import { useFilterCollapsed } from "../hooks/useFilterCollapsed";
31
+ import { useFilterTooltip } from "../hooks/useFilterTooltip";
32
+ import useFilterStyle, { getFilterCls } from "../style";
33
+ import { generateFilterId, getStableOptionsKey, wrapContent, filterOptions } from "../utils";
34
+ import CountNumber from "./CountNumber";
35
+ import FilterButton from "./FilterButton";
36
+ import WrappedTagsDisplay from "./WrappedTagsDisplay";
37
+ import Empty from "../../empty";
38
+ import { jsx as _jsx } from "react/jsx-runtime";
39
+ import { jsxs as _jsxs } from "react/jsx-runtime";
40
+ var FilterCheckbox = function FilterCheckbox(_ref) {
41
+ var _count$showTotal;
42
+ var _ref$options = _ref.options,
43
+ options = _ref$options === void 0 ? [] : _ref$options,
44
+ value = _ref.value,
45
+ onChange = _ref.onChange,
46
+ icon = _ref.icon,
47
+ label = _ref.label,
48
+ _ref$bordered = _ref.bordered,
49
+ bordered = _ref$bordered === void 0 ? true : _ref$bordered,
50
+ _ref$count = _ref.count,
51
+ count = _ref$count === void 0 ? false : _ref$count,
52
+ _ref$showSearch = _ref.showSearch,
53
+ showSearch = _ref$showSearch === void 0 ? false : _ref$showSearch,
54
+ _ref$_isCollapsed = _ref._isCollapsed,
55
+ _isCollapsed = _ref$_isCollapsed === void 0 ? false : _ref$_isCollapsed,
56
+ restProps = _objectWithoutProperties(_ref, _excluded);
57
+ var isCollapsed = useFilterCollapsed(_isCollapsed);
58
+ var _useFilterStyle = useFilterStyle(),
59
+ prefixCls = _useFilterStyle.prefixCls;
60
+ var _theme$useToken = theme.useToken(),
61
+ token = _theme$useToken.token;
62
+ var _useFilterContext = useFilterContext(),
63
+ updateFilterValue = _useFilterContext.updateFilterValue;
64
+ var filterId = useMemo(function () {
65
+ return generateFilterId('checkbox', label);
66
+ }, [label]);
67
+ var stableOptionsKey = useMemo(function () {
68
+ return getStableOptionsKey(options);
69
+ }, [options]);
70
+
71
+ // 搜索关键词状态
72
+ var _useState = useState(''),
73
+ _useState2 = _slicedToArray(_useState, 2),
74
+ searchKeyword = _useState2[0],
75
+ setSearchKeyword = _useState2[1];
76
+
77
+ // 从 restProps 中排除 onOpenChange,避免类型冲突
78
+ var externalOnOpenChange = restProps.onOpenChange,
79
+ filterButtonProps = _objectWithoutProperties(restProps, _excluded2);
80
+
81
+ // 使用受控状态 hook
82
+ var _useControlledState = useControlledState(value, [], onChange),
83
+ _useControlledState2 = _slicedToArray(_useControlledState, 2),
84
+ selectedValues = _useControlledState2[0],
85
+ setSelectedValues = _useControlledState2[1];
86
+
87
+ // 解析 count 配置
88
+ var showCount = !!count;
89
+ var showTotal = _typeof(count) === 'object' ? (_count$showTotal = count.showTotal) !== null && _count$showTotal !== void 0 ? _count$showTotal : false : false;
90
+
91
+ // 获取选中值的 labels
92
+ var getSelectedTags = useCallback(function () {
93
+ return selectedValues.map(function (val) {
94
+ var option = options.find(function (opt) {
95
+ return opt.value === val;
96
+ });
97
+ return {
98
+ label: (option === null || option === void 0 ? void 0 : option.label) || val,
99
+ value: val
100
+ };
101
+ });
102
+ }, [selectedValues, options]);
103
+
104
+ // 移除某个选中的值
105
+ var handleRemoveTag = useCallback(function (val) {
106
+ var newValues = selectedValues.filter(function (v) {
107
+ return v !== val;
108
+ });
109
+ setSelectedValues(newValues);
110
+ }, [selectedValues, setSelectedValues]);
111
+
112
+ // 使用 Tooltip hook
113
+ var _useFilterTooltip = useFilterTooltip({
114
+ hasValue: selectedValues.length > 0,
115
+ label: label,
116
+ content: selectedValues.length > 0 ? getSelectedTags().map(function (i) {
117
+ return i.label;
118
+ }).join(', ') : null,
119
+ disabled: isCollapsed
120
+ }),
121
+ onPopoverOpenChange = _useFilterTooltip.onPopoverOpenChange,
122
+ wrapWithTooltip = _useFilterTooltip.wrapWithTooltip;
123
+
124
+ // 处理 Popover 状态变化
125
+ var handlePopoverOpenChange = useCallback(function (open) {
126
+ onPopoverOpenChange(open);
127
+ externalOnOpenChange === null || externalOnOpenChange === void 0 || externalOnOpenChange(open);
128
+ // 弹窗关闭时清空搜索关键词
129
+ if (!open) {
130
+ setSearchKeyword('');
131
+ }
132
+ }, [onPopoverOpenChange, externalOnOpenChange]);
133
+
134
+ // 当值变化时,更新 context 中的值
135
+ useEffect(function () {
136
+ if (isCollapsed && updateFilterValue) {
137
+ updateFilterValue(filterId, label, selectedValues, options, 'checkbox');
138
+ }
139
+ // eslint-disable-next-line react-hooks/exhaustive-deps
140
+ }, [isCollapsed, updateFilterValue, filterId, label, selectedValues, stableOptionsKey]);
141
+
142
+ // 根据搜索关键词过滤选项
143
+ var filteredOptions = useMemo(function () {
144
+ if (!showSearch || !searchKeyword) return options;
145
+ return filterOptions(options, searchKeyword);
146
+ }, [showSearch, searchKeyword, options]);
147
+ var handleChange = useCallback(function (val) {
148
+ // 当开启搜索时,需要合并未显示但已选中的选项
149
+ if (showSearch && searchKeyword) {
150
+ // 找出已选中但不在当前过滤结果中的选项值
151
+ var hiddenSelectedValues = selectedValues.filter(function (selectedVal) {
152
+ return !filteredOptions.find(function (opt) {
153
+ return opt.value === selectedVal;
154
+ });
155
+ });
156
+ // 合并:保留未显示的已选中项 + 当前操作后的选项
157
+ var mergedValues = _toConsumableArray(new Set([].concat(_toConsumableArray(hiddenSelectedValues), _toConsumableArray(val))));
158
+ setSelectedValues(mergedValues);
159
+ } else {
160
+ setSelectedValues(val);
161
+ }
162
+ }, [setSelectedValues, showSearch, searchKeyword, selectedValues, filteredOptions]);
163
+ var handleClear = useCallback(function () {
164
+ setSelectedValues([]);
165
+ }, [setSelectedValues]);
166
+
167
+ // 检测是否启用状态模式(options 中包含 color 属性)
168
+ var isStatusMode = useMemo(function () {
169
+ return options.some(function (option) {
170
+ return option.color !== undefined;
171
+ });
172
+ }, [options]);
173
+
174
+ // 渲染状态图标(重叠显示)- 仅在状态模式下使用
175
+ var renderStatusIcon = useMemo(function () {
176
+ if (!isStatusMode || options.length === 0) return null;
177
+ var iconWidth = 10;
178
+ var iconWidthUnselected = 8;
179
+ var overlapDistance = 6;
180
+
181
+ // 按颜色分组选项,并检查每种颜色是否有选中的选项
182
+ var colorGroups = [];
183
+ var colorMap = new Map();
184
+ options.forEach(function (option) {
185
+ if (option.color) {
186
+ var isSelected = selectedValues.includes(option.value);
187
+ var existing = colorMap.get(option.color);
188
+ if (existing) {
189
+ // 如果已有该颜色,更新选中状态(只要有一个选中即为选中)
190
+ if (isSelected) {
191
+ existing.hasSelected = true;
192
+ }
193
+ } else {
194
+ var group = {
195
+ color: option.color,
196
+ hasSelected: isSelected
197
+ };
198
+ colorMap.set(option.color, group);
199
+ colorGroups.push(group);
200
+ }
201
+ }
202
+ });
203
+ var containerWidth = iconWidth + (colorGroups.length - 1) * overlapDistance + 1;
204
+ return /*#__PURE__*/_jsx("div", {
205
+ style: {
206
+ position: 'relative',
207
+ width: containerWidth,
208
+ height: iconWidth + 2,
209
+ display: 'flex',
210
+ alignItems: 'center'
211
+ },
212
+ children: colorGroups.map(function (group, index) {
213
+ var isSelected = group.hasSelected;
214
+ var baseSize = isSelected ? iconWidth : iconWidthUnselected;
215
+ return isSelected ? /*#__PURE__*/_jsx("div", {
216
+ style: {
217
+ position: 'absolute',
218
+ left: index * overlapDistance,
219
+ width: baseSize,
220
+ height: baseSize,
221
+ borderRadius: '50%',
222
+ zIndex: index,
223
+ backgroundColor: group.color,
224
+ border: "1px solid ".concat(token.white)
225
+ }
226
+ }, group.color) : /*#__PURE__*/_jsx("div", {
227
+ style: {
228
+ position: 'absolute',
229
+ left: index * overlapDistance,
230
+ borderRadius: '50%',
231
+ zIndex: index,
232
+ border: "1px solid ".concat(token.white)
233
+ },
234
+ children: /*#__PURE__*/_jsx("div", {
235
+ style: {
236
+ width: baseSize,
237
+ height: baseSize,
238
+ borderRadius: '50%',
239
+ backgroundColor: token.white,
240
+ border: "1px solid ".concat(token.colorBorderSecondary)
241
+ }
242
+ })
243
+ }, group.color);
244
+ })
245
+ });
246
+ }, [isStatusMode, options, selectedValues, token]);
247
+
248
+ // 渲染弹框内容
249
+ var renderContent = useMemo(function () {
250
+ return /*#__PURE__*/_jsxs("div", {
251
+ children: [showSearch && /*#__PURE__*/_jsx("div", {
252
+ style: {
253
+ marginInline: 4,
254
+ marginBottom: 8
255
+ },
256
+ children: /*#__PURE__*/_jsx(Input, {
257
+ placeholder: "\u641C\u7D22",
258
+ prefix: /*#__PURE__*/_jsx(SearchOutlined, {}),
259
+ allowClear: true,
260
+ value: searchKeyword,
261
+ onChange: function onChange(e) {
262
+ return setSearchKeyword(e.target.value);
263
+ },
264
+ onClick: function onClick(e) {
265
+ return e.stopPropagation();
266
+ }
267
+ })
268
+ }), filteredOptions.length === 0 ? /*#__PURE__*/_jsx(Empty, {
269
+ image: Empty.PRESENTED_IMAGE_SIMPLE,
270
+ description: "\u65E0\u5339\u914D\u7ED3\u679C",
271
+ style: {
272
+ padding: '16px 0'
273
+ }
274
+ }) : /*#__PURE__*/_jsx(Checkbox.Group, {
275
+ onChange: handleChange,
276
+ style: {
277
+ flexDirection: 'column',
278
+ width: '100%'
279
+ },
280
+ value: selectedValues,
281
+ children: filteredOptions.map(function (option) {
282
+ var isDisabled = option.disabled || false;
283
+ var labelContent = isStatusMode && option.color && typeof option.label === 'string' ? /*#__PURE__*/_jsx(Badge, {
284
+ text: option.label,
285
+ color: option.color
286
+ }) : option.label;
287
+ return /*#__PURE__*/_jsx(Checkbox, {
288
+ value: option.value,
289
+ disabled: isDisabled,
290
+ className: getFilterCls(prefixCls, 'checkbox-option'),
291
+ style: {
292
+ cursor: isDisabled ? 'not-allowed' : 'pointer',
293
+ color: isDisabled ? token.colorTextDisabled : 'inherit'
294
+ },
295
+ children: labelContent
296
+ }, option.value);
297
+ })
298
+ })]
299
+ });
300
+ }, [showSearch, searchKeyword, filteredOptions, selectedValues, handleChange, prefixCls, token.colorTextDisabled, isStatusMode]);
301
+ var wrappedContent = wrapContent(renderContent);
302
+
303
+ // 状态模式下,如果没有自定义 icon,使用自动生成的状态图标
304
+ var displayIcon = icon || (isStatusMode ? renderStatusIcon : undefined);
305
+
306
+ // 折叠模式
307
+ if (isCollapsed) {
308
+ var hasValue = selectedValues.length > 0;
309
+ var selectedTags = getSelectedTags();
310
+ return /*#__PURE__*/_jsxs("div", {
311
+ style: {
312
+ paddingBlock: token.paddingXXS
313
+ },
314
+ children: [/*#__PURE__*/_jsx("div", {
315
+ style: {
316
+ marginBottom: 8
317
+ },
318
+ children: label
319
+ }), /*#__PURE__*/_jsx(FilterButton, _objectSpread(_objectSpread({
320
+ icon: displayIcon,
321
+ label: label,
322
+ bordered: bordered,
323
+ onClear: handleClear,
324
+ content: wrappedContent,
325
+ selected: hasValue,
326
+ onOpenChange: handlePopoverOpenChange
327
+ }, filterButtonProps), {}, {
328
+ style: _objectSpread(_objectSpread({}, filterButtonProps === null || filterButtonProps === void 0 ? void 0 : filterButtonProps.style), {}, {
329
+ paddingInline: token.paddingXXS
330
+ }),
331
+ children: /*#__PURE__*/_jsx(WrappedTagsDisplay, {
332
+ tags: selectedTags,
333
+ onRemove: handleRemoveTag
334
+ })
335
+ }))]
336
+ });
337
+ }
338
+
339
+ // 正常模式
340
+ var filterButton = /*#__PURE__*/_jsxs(FilterButton, _objectSpread(_objectSpread({
341
+ icon: displayIcon,
342
+ label: label,
343
+ bordered: bordered,
344
+ onClear: handleClear,
345
+ content: wrappedContent,
346
+ selected: !!selectedValues.length,
347
+ onOpenChange: handlePopoverOpenChange
348
+ }, filterButtonProps), {}, {
349
+ children: [/*#__PURE__*/_jsx("span", {
350
+ children: label
351
+ }), showCount && selectedValues.length > 0 && /*#__PURE__*/_jsx(CountNumber, {
352
+ count: selectedValues.length,
353
+ total: showTotal ? options.length : 0
354
+ })]
355
+ }));
356
+ return wrapWithTooltip(filterButton);
357
+ };
358
+ export default /*#__PURE__*/memo(FilterCheckbox);
@@ -0,0 +1,18 @@
1
+ import type { FC } from 'react';
2
+ import { type InputProps } from '../../input';
3
+ import { type SwitchProps } from '../../switch';
4
+ import type { BaseFilterProps } from '../type';
5
+ export interface FilterInputProps extends BaseFilterProps {
6
+ /** 当前值 */
7
+ value?: string;
8
+ /** 值变化回调 */
9
+ onChange?: (value: string) => void;
10
+ /** Input 组件的额外属性 */
11
+ inputProps?: InputProps;
12
+ /** Switch 组件的额外属性 */
13
+ switchProps?: SwitchProps;
14
+ /** 是否显示开关,默认为 false */
15
+ showSwitch?: boolean;
16
+ }
17
+ declare const FilterInput: FC<FilterInputProps>;
18
+ export default FilterInput;