@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
@@ -1,57 +1,149 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
1
+ "use strict";
2
+ "use client";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {};
7
+ exports.default = void 0;
8
+ var _antd = require("antd");
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _lodash = require("lodash");
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _icons = require("@oceanbase/icons");
13
+ var _configProvider = _interopRequireDefault(require("../config-provider"));
14
+ var _typography = _interopRequireDefault(require("../typography"));
15
+ var _empty = _interopRequireDefault(require("../empty"));
16
+ var _style = _interopRequireDefault(require("./style"));
17
+ var _useDefaultPagination = _interopRequireDefault(require("./hooks/useDefaultPagination"));
18
+ var _useMergedState = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
19
+ var _enUS = _interopRequireDefault(require("../locale/en-US"));
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+ var _table = require("antd/es/table");
22
+ Object.keys(_table).forEach(function (key) {
23
+ if (key === "default" || key === "__esModule") return;
24
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
25
+ if (key in exports && exports[key] === _table[key]) return;
26
+ Object.defineProperty(exports, key, {
27
+ enumerable: true,
28
+ get: function () {
29
+ return _table[key];
30
+ }
31
+ });
32
+ });
33
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
34
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
35
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
+ /** 第一个非 hidden 的叶子列(支持 column 分组) */
37
+ function getFirstLeafColumn(cols) {
38
+ if (!cols) {
39
+ return null;
40
+ }
41
+ for (const item of cols) {
42
+ if (item.hidden) {
43
+ continue;
44
+ }
45
+ if (item.children?.length) {
46
+ const found = getFirstLeafColumn(item.children);
47
+ if (found) {
48
+ return found;
49
+ }
50
+ } else {
51
+ return item;
52
+ }
16
53
  }
17
- return to;
18
- };
19
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
54
+ return null;
55
+ }
29
56
 
30
- // src/table/index.tsx
31
- var table_exports = {};
32
- __export(table_exports, {
33
- default: () => table_default
34
- });
35
- module.exports = __toCommonJS(table_exports);
36
- var import_antd = require("antd");
37
- var import_classnames = __toESM(require("classnames"));
38
- var import_lodash = require("lodash");
39
- var import_react = __toESM(require("react"));
40
- var import_config_provider = __toESM(require("../config-provider"));
41
- var import_typography = __toESM(require("../typography"));
42
- var import_empty = __toESM(require("../empty"));
43
- var import_style = __toESM(require("./style"));
44
- var import_useDefaultPagination = __toESM(require("./hooks/useDefaultPagination"));
45
- var import_useMergedState = __toESM(require("rc-util/lib/hooks/useMergedState"));
46
- var import_en_US = __toESM(require("../locale/en-US"));
47
- __reExport(table_exports, require("antd/es/table"), module.exports);
57
+ /** 最后一个非 hidden 的叶子列 */
58
+ function getLastLeafColumn(cols) {
59
+ if (!cols) {
60
+ return null;
61
+ }
62
+ for (let i = cols.length - 1; i >= 0; i--) {
63
+ const item = cols[i];
64
+ if (item.hidden) {
65
+ continue;
66
+ }
67
+ if (item.children?.length) {
68
+ const found = getLastLeafColumn(item.children);
69
+ if (found) {
70
+ return found;
71
+ }
72
+ } else {
73
+ return item;
74
+ }
75
+ }
76
+ return null;
77
+ }
78
+
79
+ /** 叶子列数量(与 rc-table 扁平列顺序一致:深度优先跳过 hidden) */
80
+ function countLeafColumns(cols) {
81
+ if (!cols?.length) {
82
+ return 0;
83
+ }
84
+ let n = 0;
85
+ const walk = items => {
86
+ for (const item of items) {
87
+ if (item.hidden) {
88
+ continue;
89
+ }
90
+ if (item.children?.length) {
91
+ walk(item.children);
92
+ } else {
93
+ n += 1;
94
+ }
95
+ }
96
+ };
97
+ walk(cols);
98
+ return n;
99
+ }
100
+
101
+ /**
102
+ * onCell 写入 data-ob-user-col / 末列 data-ob-user-col-tail,供 Card 无横向 body padding 时纠偏 rowspan 与 :first/:last-child 不一致。
103
+ * 仅在首列或末列存在 rowspan 时由调用方注入,避免无合并表格多出 DOM 属性。
104
+ */
105
+ function injectUserColumnCellMeta(cols) {
106
+ if (!cols?.length) {
107
+ return cols;
108
+ }
109
+ const tailIdx = countLeafColumns(cols) - 1;
110
+ let leafIndex = 0;
111
+ const walk = items => items.map(item => {
112
+ if (item.hidden) {
113
+ return item;
114
+ }
115
+ if (item.children?.length) {
116
+ return {
117
+ ...item,
118
+ children: walk(item.children)
119
+ };
120
+ }
121
+ const myIndex = leafIndex;
122
+ leafIndex += 1;
123
+ const origOnCell = item.onCell;
124
+ return {
125
+ ...item,
126
+ onCell: (record, rowIndex) => {
127
+ const base = typeof origOnCell === 'function' ? origOnCell(record, rowIndex) || {} : {};
128
+ return {
129
+ ...base,
130
+ 'data-ob-user-col': String(myIndex),
131
+ ...(myIndex === tailIdx ? {
132
+ 'data-ob-user-col-tail': '1'
133
+ } : {})
134
+ };
135
+ }
136
+ };
137
+ });
138
+ return walk(cols);
139
+ }
48
140
  function Table(props, ref) {
49
- var _a, _b;
50
141
  const {
51
142
  locale: customLocale,
52
143
  size,
53
144
  bordered,
54
145
  innerBordered,
146
+ dataSource,
55
147
  columns,
56
148
  footer,
57
149
  pagination: customPagination,
@@ -64,177 +156,320 @@ function Table(props, ref) {
64
156
  collapseText,
65
157
  openText,
66
158
  expandable,
159
+ scroll,
160
+ virtual,
67
161
  hiddenCancelBtn = false,
68
162
  prefixCls: customizePrefixCls,
69
163
  className
70
164
  } = props;
71
- const extendedContext = (0, import_react.useContext)(import_config_provider.default.ExtendedConfigContext);
72
- const pagination = (0, import_useDefaultPagination.default)(customPagination);
73
- const { getPrefixCls, locale, table } = (0, import_react.useContext)(import_config_provider.default.ConfigContext);
165
+ const extendedContext = (0, _react.useContext)(_configProvider.default.ExtendedConfigContext);
166
+ const pagination = (0, _useDefaultPagination.default)(customPagination);
167
+ const {
168
+ getPrefixCls,
169
+ locale,
170
+ table
171
+ } = (0, _react.useContext)(_configProvider.default.ConfigContext);
74
172
  const {
75
173
  batchOperationBar,
76
- emptyText = /* @__PURE__ */ import_react.default.createElement(import_empty.default, { image: import_empty.default.PRESENTED_IMAGE_SIMPLE }),
174
+ emptyText = /*#__PURE__*/(0, _jsxRuntime.jsx)(_empty.default, {
175
+ image: _empty.default.PRESENTED_IMAGE_SIMPLE
176
+ }),
77
177
  ...restLocale
78
178
  } = {
79
179
  ...customLocale,
80
180
  batchOperationBar: {
81
- ...(_a = import_en_US.default.Table) == null ? void 0 : _a.batchOperationBar,
82
- ...(_b = locale == null ? void 0 : locale.Table) == null ? void 0 : _b.batchOperationBar,
83
- ...customLocale == null ? void 0 : customLocale.batchOperationBar
181
+ ..._enUS.default.Table?.batchOperationBar,
182
+ ...locale?.Table?.batchOperationBar,
183
+ ...customLocale?.batchOperationBar
84
184
  }
85
185
  };
86
- const prefixCls = getPrefixCls("table", customizePrefixCls);
87
- const { wrapSSR } = (0, import_style.default)(prefixCls);
88
- const tableCls = (0, import_classnames.default)(
89
- {
90
- [`${prefixCls}-expandable`]: !(0, import_lodash.isEmpty)(expandable),
91
- [`${prefixCls}-selectable`]: !!rowSelection,
92
- [`${prefixCls}-has-footer`]: !!footer,
93
- [`${prefixCls}-inner-bordered`]: innerBordered
94
- },
95
- className
96
- );
97
- const [openPopover, setOpenPopover] = (0, import_react.useState)(false);
98
- const [currentSelectedRowKeys, setCurrentSelectedRowKeys] = (0, import_useMergedState.default)([], {
99
- value: rowSelection == null ? void 0 : rowSelection.selectedRowKeys,
100
- defaultValue: rowSelection == null ? void 0 : rowSelection.defaultSelectedRowKeys
186
+ const prefixCls = getPrefixCls('table', customizePrefixCls);
187
+ const {
188
+ token
189
+ } = _antd.theme.useToken();
190
+ const [wrapCSSVar] = (0, _style.default)(prefixCls);
191
+ const noPagination = pagination === false || pagination === null;
192
+ const noData = dataSource?.length === 0;
193
+
194
+ /** 基于原始 columns 检测,避免依赖注入后的 onCell;needsColMeta 为真时才注入 data-* */
195
+ const {
196
+ needsColMeta,
197
+ hasFirstColumnRowSpan,
198
+ hasLastColumnRowSpan
199
+ } = _react.default.useMemo(() => {
200
+ const empty = {
201
+ needsColMeta: false,
202
+ hasFirstColumnRowSpan: false,
203
+ hasLastColumnRowSpan: false
204
+ };
205
+ if (!columns?.length || !dataSource?.length) {
206
+ return empty;
207
+ }
208
+ const firstCol = getFirstLeafColumn(columns);
209
+ const lastCol = getLastLeafColumn(columns);
210
+ const leafHasRowSpan = col => {
211
+ if (typeof col?.onCell !== 'function') {
212
+ return false;
213
+ }
214
+ for (let i = 0; i < dataSource.length; i++) {
215
+ const rs = col.onCell(dataSource[i], i)?.rowSpan;
216
+ if (rs === 0 || typeof rs === 'number' && rs > 1) {
217
+ return true;
218
+ }
219
+ }
220
+ return false;
221
+ };
222
+ const first = leafHasRowSpan(firstCol);
223
+ const last = firstCol === lastCol ? first : leafHasRowSpan(lastCol);
224
+ return {
225
+ needsColMeta: first || last,
226
+ hasFirstColumnRowSpan: first,
227
+ hasLastColumnRowSpan: last
228
+ };
229
+ }, [columns, dataSource]);
230
+ const columnsWithCellMeta = _react.default.useMemo(() => needsColMeta ? injectUserColumnCellMeta(columns) : columns, [columns, needsColMeta]);
231
+ const hasMultipleTheadRows = _react.default.useMemo(() => {
232
+ if (!columns?.length) {
233
+ return false;
234
+ }
235
+ return columns.some(col => Array.isArray(col?.children) && col.children.length > 0);
236
+ }, [columns]);
237
+
238
+ /** 包装器上只挂一个 class:has-rowspan-first | has-rowspan-last | has-rowspan-both(与 antd 一致 class 在 wrapper) */
239
+ const rowspanSuffix = _react.default.useMemo(() => {
240
+ if (!hasFirstColumnRowSpan && !hasLastColumnRowSpan) {
241
+ return null;
242
+ }
243
+ if (hasFirstColumnRowSpan && hasLastColumnRowSpan) {
244
+ return 'both';
245
+ }
246
+ if (hasFirstColumnRowSpan) {
247
+ return 'first';
248
+ }
249
+ return 'last';
250
+ }, [hasFirstColumnRowSpan, hasLastColumnRowSpan]);
251
+ const tableCls = (0, _classnames.default)({
252
+ [`${prefixCls}-expandable`]: !(0, _lodash.isEmpty)(expandable),
253
+ [`${prefixCls}-selectable`]: !!rowSelection,
254
+ [`${prefixCls}-has-footer`]: !!footer,
255
+ ...(rowspanSuffix ? {
256
+ [`${prefixCls}-has-rowspan-${rowspanSuffix}`]: true
257
+ } : {}),
258
+ [`${prefixCls}-thead-multiple-rows`]: hasMultipleTheadRows,
259
+ [`${prefixCls}-inner-bordered`]: innerBordered,
260
+ [`${prefixCls}-no-pagination`]: noPagination,
261
+ [`${prefixCls}-has-empty`]: noData,
262
+ [`${prefixCls}-virtual`]: !!virtual
263
+ }, className);
264
+ const [openPopover, setOpenPopover] = (0, _react.useState)(false);
265
+ const [currentSelectedRowKeys, setCurrentSelectedRowKeys] = (0, _useMergedState.default)([], {
266
+ value: rowSelection?.selectedRowKeys,
267
+ defaultValue: rowSelection?.defaultSelectedRowKeys
101
268
  });
102
- const [currentSelectedRows, setCurrentSelectedRows] = (0, import_react.useState)([]);
103
- const [currentSelectedInfo, setCurrentSelectedInfo] = (0, import_react.useState)({});
104
- const newColumns = columns == null ? void 0 : columns.map((item) => {
269
+ const [currentSelectedRows, setCurrentSelectedRows] = (0, _react.useState)([]);
270
+ const [currentSelectedInfo, setCurrentSelectedInfo] = (0, _react.useState)({});
271
+
272
+ // 递归处理嵌套的 columns,为所有层级的列添加排序和筛选图标
273
+ const processColumn = _react.default.useCallback(item => {
274
+ const newItem = {
275
+ ...item
276
+ };
277
+ // 自定义排序图标,根据排序状态高亮不同的图标
278
+ if (item.sorter && !item.sortIcon) {
279
+ newItem.sortIcon = ({
280
+ sortOrder
281
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
282
+ className: `${prefixCls}-column-sorter`,
283
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SwapRightOutlined, {
284
+ rotate: -90,
285
+ style: sortOrder === 'ascend' ? {
286
+ color: token.colorPrimary
287
+ } : {}
288
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SwapRightOutlined, {
289
+ rotate: 90,
290
+ style: {
291
+ ...(sortOrder === 'descend' ? {
292
+ color: token.colorPrimary
293
+ } : {}),
294
+ marginLeft: -6,
295
+ marginRight: -4
296
+ }
297
+ })]
298
+ });
299
+ }
300
+ // 自定义筛选图标
301
+ if ((item.filters || item.filterDropdown) && !item.filterIcon) {
302
+ newItem.filterIcon = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.FilterOutlined, {});
303
+ }
304
+ // 递归处理 children
305
+ if (item.children && Array.isArray(item.children)) {
306
+ newItem.children = item.children.map(child => processColumn(child));
307
+ }
308
+ return newItem;
309
+ }, [prefixCls, token.colorPrimary]);
310
+
311
+ // 找到最后一个非 hidden 的列索引
312
+ const lastVisibleColumnIndex = _react.default.useMemo(() => {
313
+ if (!columnsWithCellMeta) return -1;
314
+ for (let i = columnsWithCellMeta.length - 1; i >= 0; i--) {
315
+ if (!columnsWithCellMeta[i].hidden) {
316
+ return i;
317
+ }
318
+ }
319
+ return -1;
320
+ }, [columnsWithCellMeta]);
321
+ const newColumns = columnsWithCellMeta?.map((item, colIndex) => {
322
+ const isLastVisibleColumn = colIndex === lastVisibleColumnIndex;
323
+ let newItem = processColumn(item);
105
324
  if (item.ellipsis) {
106
- return {
107
- ...item,
325
+ newItem = {
326
+ ...newItem,
108
327
  ellipsis: item.ellipsis === true ? item.ellipsis : {
109
328
  showTitle: false,
110
329
  ...item.ellipsis
111
330
  },
112
- render: (text, record, index) => {
113
- const element = item.render ? item.render(text, record, index) : record[item.dataIndex];
114
- const elementType = element == null ? void 0 : element.type;
115
- return (elementType == null ? void 0 : elementType.__ANT_TOOLTIP) === true ? element : /* @__PURE__ */ import_react.default.createElement(
116
- import_typography.default.Text,
117
- {
118
- ellipsis: {
119
- tooltip: {
120
- placement: "topLeft",
121
- title: element
122
- }
331
+ render: (text, record, rowIndex) => {
332
+ const element = item.render ? item.render(text, record, rowIndex) : record[item.dataIndex];
333
+ const elementType = element?.type;
334
+ // 如果目标元素已经被 Tooltip 包裹,则去掉默认的 Tooltip,避免有两个 Tooltip
335
+ return elementType?.__ANT_TOOLTIP === true ? element : /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.default.Text, {
336
+ ellipsis: {
337
+ tooltip: {
338
+ placement: 'topLeft',
339
+ title: element
123
340
  }
124
341
  },
125
- /* @__PURE__ */ import_react.default.createElement("span", null, element)
126
- );
342
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
343
+ children: element
344
+ })
345
+ });
127
346
  }
128
347
  };
129
348
  }
130
- return item;
349
+ // 为最后一个可见列添加 className,用于 innerBordered 模式下正确识别视觉上的最后一列
350
+ if (isLastVisibleColumn) {
351
+ return {
352
+ ...newItem,
353
+ className: (0, _classnames.default)(newItem.className, `${prefixCls}-cell-last-column`)
354
+ };
355
+ }
356
+ return newItem;
131
357
  });
358
+ const hasEllipsisColumn = newColumns.some(item => item.ellipsis);
132
359
  const handleSelectedData = (selectedRowKeys, selectedRows, info) => {
133
360
  setCurrentSelectedRowKeys(selectedRowKeys);
134
361
  setCurrentSelectedRows(selectedRows);
135
362
  setCurrentSelectedInfo(info);
136
363
  };
137
364
  const handleOptionsCancel = () => {
138
- var _a2;
139
- (_a2 = rowSelection == null ? void 0 : rowSelection.onChange) == null ? void 0 : _a2.call(rowSelection, [], [], currentSelectedInfo);
365
+ rowSelection?.onChange?.([], [], currentSelectedInfo);
140
366
  handleSelectedData([], [], currentSelectedInfo);
141
367
  };
142
- (0, import_react.useEffect)(() => {
143
- if ((0, import_lodash.isEmpty)(currentSelectedRows) && toolSelectedContent) {
368
+ (0, _react.useEffect)(() => {
369
+ if ((0, _lodash.isEmpty)(currentSelectedRows) && toolSelectedContent) {
144
370
  setOpenPopover(false);
145
371
  }
146
372
  }, [currentSelectedRows]);
147
373
  const renderOptionsBar = (total, range) => {
148
- if ((0, import_lodash.isEmpty)(rowSelection) || (0, import_lodash.isEmpty)(currentSelectedRowKeys)) {
374
+ if ((0, _lodash.isEmpty)(rowSelection) || (0, _lodash.isEmpty)(currentSelectedRowKeys)) {
149
375
  return (
376
+ /*#__PURE__*/
150
377
  // @ts-ignore
151
- /* @__PURE__ */ import_react.default.createElement("span", null, pagination && (pagination == null ? void 0 : pagination.showTotal) && (pagination == null ? void 0 : pagination.showTotal(total, range)))
378
+ (0, _jsxRuntime.jsx)("span", {
379
+ children: pagination && pagination?.showTotal && pagination?.showTotal(total, range)
380
+ })
152
381
  );
153
382
  }
154
- return /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefixCls}-batch-operation-bar` }, /* @__PURE__ */ import_react.default.createElement(
155
- import_antd.Space,
156
- {
157
- size: 8,
158
- style: {
159
- marginRight: 24
160
- }
161
- },
162
- toolAlertRender && toolAlertRender(currentSelectedRowKeys, currentSelectedRows),
163
- !toolAlertRender && toolAlertRender !== false && /* @__PURE__ */ import_react.default.createElement("span", { className: `${prefixCls}-batch-operation-selection` }, /* @__PURE__ */ import_react.default.createElement("span", null, batchOperationBar == null ? void 0 : batchOperationBar.selected), /* @__PURE__ */ import_react.default.createElement("span", { className: `${prefixCls}-batch-operation-selection-count` }, (currentSelectedRowKeys == null ? void 0 : currentSelectedRowKeys.length) || 0), /* @__PURE__ */ import_react.default.createElement("span", null, batchOperationBar == null ? void 0 : batchOperationBar.object)),
164
- !hiddenCancelBtn && /* @__PURE__ */ import_react.default.createElement("a", { onClick: handleOptionsCancel }, cancelText ?? (batchOperationBar == null ? void 0 : batchOperationBar.cancel)),
165
- toolSelectedContent && /* @__PURE__ */ import_react.default.createElement(
166
- import_antd.Popover,
167
- {
168
- placement: "top",
169
- overlayClassName: `${prefixCls}-batch-operation-selection-popover`,
170
- content: toolSelectedContent == null ? void 0 : toolSelectedContent(currentSelectedRowKeys, currentSelectedRows),
171
- trigger: "click",
172
- open: openPopover
173
- },
174
- /* @__PURE__ */ import_react.default.createElement("a", { onClick: () => setOpenPopover(!openPopover) }, openPopover ? collapseText ?? (batchOperationBar == null ? void 0 : batchOperationBar.collapse) : openText ?? (batchOperationBar == null ? void 0 : batchOperationBar.open))
175
- )
176
- ), toolOptionsRender && /* @__PURE__ */ import_react.default.createElement(import_antd.Space, { size: 8 }, toolOptionsRender == null ? void 0 : toolOptionsRender(currentSelectedRowKeys, currentSelectedRows))), /* @__PURE__ */ import_react.default.createElement("span", null, pagination && (pagination == null ? void 0 : pagination.showTotal) && (pagination == null ? void 0 : pagination.showTotal(total, range))));
383
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
384
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
385
+ className: `${prefixCls}-batch-operation-bar`,
386
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_antd.Space, {
387
+ size: 8,
388
+ style: {
389
+ marginRight: 24
390
+ },
391
+ children: [toolAlertRender && toolAlertRender(currentSelectedRowKeys, currentSelectedRows), !toolAlertRender && toolAlertRender !== false && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
392
+ className: `${prefixCls}-batch-operation-selection`,
393
+ children: `${batchOperationBar?.selected} ${currentSelectedRowKeys?.length || 0} ${batchOperationBar?.object}`
394
+ }), !hiddenCancelBtn && /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
395
+ onClick: handleOptionsCancel,
396
+ children: cancelText ?? batchOperationBar?.cancel
397
+ }), toolSelectedContent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Popover, {
398
+ placement: "top",
399
+ overlayClassName: `${prefixCls}-batch-operation-selection-popover`,
400
+ content: toolSelectedContent?.(currentSelectedRowKeys, currentSelectedRows),
401
+ trigger: "click",
402
+ open: openPopover,
403
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
404
+ onClick: () => setOpenPopover(!openPopover),
405
+ children: openPopover ? collapseText ?? batchOperationBar?.collapse : openText ?? batchOperationBar?.open
406
+ })
407
+ })]
408
+ }), toolOptionsRender && /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Space, {
409
+ size: 8,
410
+ children: toolOptionsRender?.(currentSelectedRowKeys, currentSelectedRows)
411
+ })]
412
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
413
+ children: pagination && pagination?.showTotal && pagination?.showTotal(total, range)
414
+ })]
415
+ });
177
416
  };
178
- return wrapSSR(
179
- /* @__PURE__ */ import_react.default.createElement(
180
- import_antd.Table,
181
- {
182
- ...props,
183
- ref,
184
- prefixCls: customizePrefixCls,
185
- className: tableCls,
186
- locale: {
187
- ...restLocale,
188
- emptyText: /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefixCls}-empty-wrapper` }, typeof emptyText === "function" ? emptyText() : emptyText)
189
- },
190
- size,
191
- bordered: bordered || innerBordered,
192
- columns: newColumns,
193
- rowClassName: (...args) => {
194
- return (0, import_classnames.default)(
195
- typeof rowClassName === "function" ? rowClassName(...args) : rowClassName,
196
- {
197
- [`${prefixCls}-expand-row-by-click`]: expandable == null ? void 0 : expandable.expandRowByClick
198
- }
199
- );
200
- },
201
- expandable: expandable ? {
202
- columnWidth: !size || size === "large" ? 40 : 32,
203
- ...expandable
204
- } : void 0,
205
- rowSelection: rowSelection ? {
206
- columnWidth: table == null ? void 0 : table.selectionColumnWidth,
207
- ...rowSelection,
208
- onChange: (selectedRowKeys, selectedRows, info) => {
209
- var _a2;
210
- handleSelectedData(selectedRowKeys, selectedRows, info);
211
- (_a2 = rowSelection == null ? void 0 : rowSelection.onChange) == null ? void 0 : _a2.call(rowSelection, selectedRowKeys, selectedRows, info);
212
- }
213
- } : void 0,
214
- footer,
215
- pagination: pagination === false ? false : {
216
- ...pagination,
217
- hideOnSinglePage: toolAlertRender || toolOptionsRender || toolSelectedContent || (pagination == null ? void 0 : pagination.showSizeChanger) ? false : (pagination == null ? void 0 : pagination.hideOnSinglePage) !== void 0 ? pagination == null ? void 0 : pagination.hideOnSinglePage : extendedContext.hideOnSinglePage,
218
- showTotal: renderOptionsBar
219
- }
417
+ return wrapCSSVar( /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Table, {
418
+ ...props,
419
+ ref: ref,
420
+ prefixCls: customizePrefixCls,
421
+ className: tableCls,
422
+ locale: {
423
+ ...restLocale,
424
+ emptyText: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
425
+ className: `${prefixCls}-empty-wrapper`,
426
+ children: typeof emptyText === 'function' ? emptyText() : emptyText
427
+ })
428
+ },
429
+ size: size,
430
+ bordered: bordered || innerBordered,
431
+ dataSource: dataSource,
432
+ columns: newColumns,
433
+ rowClassName: (...args) => {
434
+ return (0, _classnames.default)(typeof rowClassName === 'function' ? rowClassName(...args) : rowClassName, {
435
+ [`${prefixCls}-expand-row-by-click`]: expandable?.expandRowByClick
436
+ });
437
+ },
438
+ expandable: expandable ? {
439
+ columnWidth: !size || size === 'large' ? 40 : 32,
440
+ ...expandable
441
+ } : undefined,
442
+ rowSelection: rowSelection ? {
443
+ columnWidth: table?.selectionColumnWidth,
444
+ ...rowSelection,
445
+ onChange: (selectedRowKeys, selectedRows, info) => {
446
+ handleSelectedData(selectedRowKeys, selectedRows, info);
447
+ rowSelection?.onChange?.(selectedRowKeys, selectedRows, info);
220
448
  }
221
- )
222
- );
449
+ } : undefined,
450
+ scroll: {
451
+ // enable auto x scroll when there is no ellipsis column
452
+ x: hasEllipsisColumn ? undefined : 'max-content',
453
+ ...scroll
454
+ },
455
+ footer: footer,
456
+ pagination: noPagination ? false : {
457
+ ...pagination,
458
+ hideOnSinglePage: toolAlertRender || toolOptionsRender || toolSelectedContent || pagination?.showSizeChanger ? false : pagination?.hideOnSinglePage !== undefined ? pagination?.hideOnSinglePage : extendedContext.hideOnSinglePage,
459
+ showTotal: renderOptionsBar
460
+ }
461
+ }));
223
462
  }
224
- var ForwardTable = import_react.default.forwardRef(Table);
225
- var table_default = Object.assign(ForwardTable, {
226
- SELECTION_COLUMN: import_antd.Table.SELECTION_COLUMN,
227
- EXPAND_COLUMN: import_antd.Table.EXPAND_COLUMN,
228
- SELECTION_ALL: import_antd.Table.SELECTION_ALL,
229
- SELECTION_INVERT: import_antd.Table.SELECTION_INVERT,
230
- SELECTION_NONE: import_antd.Table.SELECTION_NONE,
231
- Column: import_antd.Table.Column,
232
- ColumnGroup: import_antd.Table.ColumnGroup,
233
- Summary: import_antd.Table.Summary,
234
- useStyle: import_style.default,
235
- useDefaultPagination: import_useDefaultPagination.default
236
- });
237
- // Annotate the CommonJS export names for ESM import in node:
238
- 0 && (module.exports = {
239
- ...require("antd/es/table")
240
- });
463
+ const ForwardTable = /*#__PURE__*/_react.default.forwardRef(Table);
464
+ var _default = exports.default = Object.assign(ForwardTable, {
465
+ SELECTION_COLUMN: _antd.Table.SELECTION_COLUMN,
466
+ EXPAND_COLUMN: _antd.Table.EXPAND_COLUMN,
467
+ SELECTION_ALL: _antd.Table.SELECTION_ALL,
468
+ SELECTION_INVERT: _antd.Table.SELECTION_INVERT,
469
+ SELECTION_NONE: _antd.Table.SELECTION_NONE,
470
+ Column: _antd.Table.Column,
471
+ ColumnGroup: _antd.Table.ColumnGroup,
472
+ Summary: _antd.Table.Summary,
473
+ useStyle: _style.default,
474
+ useDefaultPagination: _useDefaultPagination.default
475
+ });