@fangxinyan/lumina 0.6.18 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/dist/{Alert-HVPI6L4V.css → Alert-DJ3K7N7L.css} +9 -9
  2. package/dist/Alert.cjs +5 -3
  3. package/dist/Alert.d.cts +2 -2
  4. package/dist/Alert.d.ts +2 -2
  5. package/dist/Alert.js +4 -2
  6. package/dist/{AppShell-FZCD4C56.css → AppShell-OWJRJ4ZD.css} +57 -22
  7. package/dist/AppShell.cjs +8 -5
  8. package/dist/AppShell.d.cts +19 -16
  9. package/dist/AppShell.d.ts +19 -16
  10. package/dist/AppShell.js +4 -1
  11. package/dist/{AutoComplete-4YZBMW4E.css → AutoComplete-PNCYHU2T.css} +8 -8
  12. package/dist/AutoComplete.cjs +9 -6
  13. package/dist/AutoComplete.d.cts +2 -1
  14. package/dist/AutoComplete.d.ts +2 -1
  15. package/dist/AutoComplete.js +8 -5
  16. package/dist/Avatar-YBU2YZTW.css +48 -0
  17. package/dist/Avatar.cjs +4 -2
  18. package/dist/Avatar.d.cts +6 -2
  19. package/dist/Avatar.d.ts +6 -2
  20. package/dist/Avatar.js +3 -1
  21. package/dist/Badge-DBWJEV4C.css +22 -0
  22. package/dist/Badge.cjs +4 -2
  23. package/dist/Badge.d.cts +6 -2
  24. package/dist/Badge.d.ts +6 -2
  25. package/dist/Badge.js +3 -1
  26. package/dist/{Button-TUMZUQLI.css → Button-ILNZUX2N.css} +28 -21
  27. package/dist/Button.cjs +6 -4
  28. package/dist/Button.d.cts +2 -14
  29. package/dist/Button.d.ts +2 -14
  30. package/dist/Button.js +4 -2
  31. package/dist/{Calendar-I6NHCXIB.css → Calendar-QJ5HWEJQ.css} +26 -26
  32. package/dist/Calendar.cjs +5 -3
  33. package/dist/Calendar.d.cts +8 -4
  34. package/dist/Calendar.d.ts +8 -4
  35. package/dist/Calendar.js +4 -2
  36. package/dist/Card-VPMTWAWZ.css +98 -0
  37. package/dist/Card.cjs +7 -3
  38. package/dist/Card.d.cts +8 -4
  39. package/dist/Card.d.ts +8 -4
  40. package/dist/Card.js +6 -2
  41. package/dist/Cascader-YBVDK6DC.css +168 -0
  42. package/dist/Cascader.cjs +9 -6
  43. package/dist/Cascader.d.cts +21 -3
  44. package/dist/Cascader.d.ts +21 -3
  45. package/dist/Cascader.js +8 -5
  46. package/dist/Checkbox-IHFML4FV.css +50 -0
  47. package/dist/Checkbox.cjs +5 -3
  48. package/dist/Checkbox.d.cts +10 -2
  49. package/dist/Checkbox.d.ts +10 -2
  50. package/dist/Checkbox.js +4 -2
  51. package/dist/{Collapse-UNBHEPYP.css → Collapse-BTSBHBSY.css} +12 -7
  52. package/dist/Collapse.cjs +5 -3
  53. package/dist/Collapse.d.cts +2 -2
  54. package/dist/Collapse.d.ts +2 -2
  55. package/dist/Collapse.js +4 -2
  56. package/dist/{ColorPicker-LPG6QPYF.css → ColorPicker-GRZOKR5O.css} +17 -32
  57. package/dist/ColorPicker.cjs +9 -3
  58. package/dist/ColorPicker.d.cts +7 -11
  59. package/dist/ColorPicker.d.ts +7 -11
  60. package/dist/ColorPicker.js +8 -2
  61. package/dist/{CommandPalette-RTKWNH2D.css → CommandPalette-GHTX7AAA.css} +22 -23
  62. package/dist/CommandPalette.cjs +8 -5
  63. package/dist/CommandPalette.d.cts +5 -28
  64. package/dist/CommandPalette.d.ts +5 -28
  65. package/dist/CommandPalette.js +7 -4
  66. package/dist/{ContextMenu-WRR2SSWL.css → ContextMenu-NG524Y2P.css} +17 -17
  67. package/dist/ContextMenu.cjs +5 -2
  68. package/dist/ContextMenu.d.cts +2 -19
  69. package/dist/ContextMenu.d.ts +2 -19
  70. package/dist/ContextMenu.js +4 -1
  71. package/dist/{DatePicker-VDVSIARF.css → DatePicker-ZSFDXAYD.css} +4 -4
  72. package/dist/DatePicker.cjs +11 -8
  73. package/dist/DatePicker.d.cts +4 -7
  74. package/dist/DatePicker.d.ts +4 -7
  75. package/dist/DatePicker.js +10 -7
  76. package/dist/{DateTimePicker-DRX7XA74.css → DateTimePicker-EWSISVIF.css} +17 -17
  77. package/dist/DateTimePicker.cjs +11 -8
  78. package/dist/DateTimePicker.d.cts +4 -8
  79. package/dist/DateTimePicker.d.ts +4 -8
  80. package/dist/DateTimePicker.js +10 -7
  81. package/dist/{Divider-RPQCVH3J.css → Divider-OI2BXPBU.css} +10 -10
  82. package/dist/Divider.cjs +4 -2
  83. package/dist/Divider.d.cts +2 -2
  84. package/dist/Divider.d.ts +2 -2
  85. package/dist/Divider.js +3 -1
  86. package/dist/{Drawer-7KICRM4L.css → Drawer-VCXAXWV6.css} +30 -17
  87. package/dist/Drawer.cjs +6 -3
  88. package/dist/Drawer.d.cts +25 -3
  89. package/dist/Drawer.d.ts +25 -3
  90. package/dist/Drawer.js +5 -2
  91. package/dist/{Empty-CZTRZMZQ.css → Empty-U5CBLCAL.css} +5 -5
  92. package/dist/Empty.cjs +4 -2
  93. package/dist/Empty.d.cts +2 -2
  94. package/dist/Empty.d.ts +2 -2
  95. package/dist/Empty.js +3 -1
  96. package/dist/{Form-NGCQWTMZ.css → Form-DNEDZRJA.css} +7 -7
  97. package/dist/Form.cjs +7 -4
  98. package/dist/Form.d.cts +4 -3
  99. package/dist/Form.d.ts +4 -3
  100. package/dist/Form.js +4 -1
  101. package/dist/Icon-HJSUVW4O.css +12 -0
  102. package/dist/Icon.cjs +51 -49
  103. package/dist/Icon.d.cts +8 -8
  104. package/dist/Icon.d.ts +8 -8
  105. package/dist/Icon.js +3 -1
  106. package/dist/{Image-NISJRUWX.css → Image-CZJPPURT.css} +25 -23
  107. package/dist/Image.cjs +10 -7
  108. package/dist/Image.d.cts +5 -24
  109. package/dist/Image.d.ts +5 -24
  110. package/dist/Image.js +6 -3
  111. package/dist/{Input-7GDPGP3E.css → Input-ZUASNDXM.css} +15 -15
  112. package/dist/Input.cjs +7 -5
  113. package/dist/Input.d.cts +2 -1
  114. package/dist/Input.d.ts +2 -1
  115. package/dist/Input.js +5 -3
  116. package/dist/{InputNumber-VXQIWLQC.css → InputNumber-6NHBMRT4.css} +7 -7
  117. package/dist/InputNumber.cjs +7 -5
  118. package/dist/InputNumber.d.cts +2 -1
  119. package/dist/InputNumber.d.ts +2 -1
  120. package/dist/InputNumber.js +6 -4
  121. package/dist/List-6BQIFAIT.css +42 -0
  122. package/dist/List.cjs +4 -2
  123. package/dist/List.d.cts +2 -2
  124. package/dist/List.d.ts +2 -2
  125. package/dist/List.js +3 -1
  126. package/dist/{Message-H222YGR6.css → Message-OTZWQTQ5.css} +13 -13
  127. package/dist/Message.cjs +9 -6
  128. package/dist/Message.d.cts +18 -2
  129. package/dist/Message.d.ts +18 -2
  130. package/dist/Message.js +5 -2
  131. package/dist/{Modal-ZFWNFEA5.css → Modal-UI2FXNDR.css} +29 -18
  132. package/dist/Modal.cjs +7 -4
  133. package/dist/Modal.d.cts +13 -2
  134. package/dist/Modal.d.ts +13 -2
  135. package/dist/Modal.js +6 -3
  136. package/dist/Pagination-POJTWMYR.css +70 -0
  137. package/dist/Pagination.cjs +11 -8
  138. package/dist/Pagination.d.cts +2 -2
  139. package/dist/Pagination.d.ts +2 -2
  140. package/dist/Pagination.js +10 -7
  141. package/dist/{Popover-Y3LDCJPW.css → Popover-LCXLR3EU.css} +13 -14
  142. package/dist/Popover.cjs +6 -3
  143. package/dist/Popover.d.cts +3 -10
  144. package/dist/Popover.d.ts +3 -10
  145. package/dist/Popover.js +5 -2
  146. package/dist/Progress-33WE2NI7.css +90 -0
  147. package/dist/Progress.cjs +4 -2
  148. package/dist/Progress.d.cts +4 -2
  149. package/dist/Progress.d.ts +4 -2
  150. package/dist/Progress.js +3 -1
  151. package/dist/{Radio-IQKASYDF.css → Radio-RL7232MZ.css} +21 -13
  152. package/dist/Radio.cjs +5 -3
  153. package/dist/Radio.d.cts +18 -5
  154. package/dist/Radio.d.ts +18 -5
  155. package/dist/Radio.js +3 -1
  156. package/dist/{Select-YZ2NUJSX.css → Select-TU37MAHZ.css} +64 -40
  157. package/dist/Select.cjs +10 -7
  158. package/dist/Select.d.cts +28 -3
  159. package/dist/Select.d.ts +28 -3
  160. package/dist/Select.js +9 -6
  161. package/dist/{Skeleton-CVWH2VWN.css → Skeleton-FMFE3BRI.css} +9 -4
  162. package/dist/Skeleton.cjs +4 -2
  163. package/dist/Skeleton.d.cts +2 -4
  164. package/dist/Skeleton.d.ts +2 -4
  165. package/dist/Skeleton.js +3 -1
  166. package/dist/Slider-FZ5MI4X2.css +145 -0
  167. package/dist/Slider.cjs +4 -2
  168. package/dist/Slider.d.cts +6 -5
  169. package/dist/Slider.d.ts +6 -5
  170. package/dist/Slider.js +3 -1
  171. package/dist/{Spin-GONGPV4Q.css → Spin-F5YIEENO.css} +15 -9
  172. package/dist/Spin.cjs +4 -2
  173. package/dist/Spin.d.cts +2 -2
  174. package/dist/Spin.d.ts +2 -2
  175. package/dist/Spin.js +3 -1
  176. package/dist/{Splitter-DHNOY4NC.css → Splitter-IQ3PFIKK.css} +4 -4
  177. package/dist/Splitter.cjs +4 -2
  178. package/dist/Splitter.d.cts +18 -12
  179. package/dist/Splitter.d.ts +18 -12
  180. package/dist/Splitter.js +3 -1
  181. package/dist/{StatusBar-FJKEEPXU.css → StatusBar-TCGR3LXP.css} +23 -9
  182. package/dist/StatusBar.cjs +5 -3
  183. package/dist/StatusBar.d.cts +5 -17
  184. package/dist/StatusBar.d.ts +5 -17
  185. package/dist/StatusBar.js +3 -1
  186. package/dist/{Surface-UDDN3DGL.css → Surface-CTN775GD.css} +10 -10
  187. package/dist/Surface.cjs +6 -5
  188. package/dist/Surface.d.cts +10 -1
  189. package/dist/Surface.d.ts +10 -1
  190. package/dist/Surface.js +4 -3
  191. package/dist/{Switch-COAQIOMH.css → Switch-TATU3LPB.css} +16 -8
  192. package/dist/Switch.cjs +4 -2
  193. package/dist/Switch.d.cts +10 -4
  194. package/dist/Switch.d.ts +10 -4
  195. package/dist/Switch.js +3 -1
  196. package/dist/{Table-IWHIIGRJ.css → Table-KB6EEBDJ.css} +105 -53
  197. package/dist/Table.cjs +14 -10
  198. package/dist/Table.d.cts +38 -3
  199. package/dist/Table.d.ts +38 -3
  200. package/dist/Table.js +13 -9
  201. package/dist/{TablePro-3NGWERWT.css → TablePro-WYE6TXWJ.css} +5 -5
  202. package/dist/TablePro.cjs +15 -11
  203. package/dist/TablePro.d.cts +1 -0
  204. package/dist/TablePro.d.ts +1 -0
  205. package/dist/TablePro.js +14 -10
  206. package/dist/{Tabs-X5U5PCPV.css → Tabs-FB2AMBWL.css} +24 -10
  207. package/dist/Tabs.cjs +4 -2
  208. package/dist/Tabs.d.cts +8 -2
  209. package/dist/Tabs.d.ts +8 -2
  210. package/dist/Tabs.js +3 -1
  211. package/dist/Tag-5GIZLRAH.css +42 -0
  212. package/dist/Tag.cjs +5 -3
  213. package/dist/Tag.d.cts +2 -2
  214. package/dist/Tag.d.ts +2 -2
  215. package/dist/Tag.js +4 -2
  216. package/dist/{Textarea-YHWKHIFE.css → Textarea-ZGHBZNLX.css} +10 -10
  217. package/dist/Textarea.cjs +6 -4
  218. package/dist/Textarea.d.cts +2 -4
  219. package/dist/Textarea.d.ts +2 -4
  220. package/dist/Textarea.js +4 -2
  221. package/dist/Theme-CLedeJ_C.d.ts +193 -0
  222. package/dist/Theme-uQq2B0Yk.d.cts +193 -0
  223. package/dist/Theme.cjs +57 -11
  224. package/dist/Theme.d.cts +26 -145
  225. package/dist/Theme.d.ts +26 -145
  226. package/dist/Theme.js +3 -1
  227. package/dist/{ThemePanel-TEHB2JCQ.css → ThemePanel-EHNAS4RN.css} +52 -52
  228. package/dist/ThemePanel.cjs +17 -15
  229. package/dist/ThemePanel.d.cts +3 -13
  230. package/dist/ThemePanel.d.ts +3 -13
  231. package/dist/ThemePanel.js +14 -12
  232. package/dist/{TimePicker-ZBJOXH3U.css → TimePicker-WJ3FSK6A.css} +17 -17
  233. package/dist/TimePicker.cjs +10 -7
  234. package/dist/TimePicker.d.cts +2 -8
  235. package/dist/TimePicker.d.ts +2 -8
  236. package/dist/TimePicker.js +9 -6
  237. package/dist/{Timeline-CRFZ3I2W.css → Timeline-FUFO2UGY.css} +28 -13
  238. package/dist/Timeline.cjs +5 -3
  239. package/dist/Timeline.d.cts +2 -7
  240. package/dist/Timeline.d.ts +2 -7
  241. package/dist/Timeline.js +4 -2
  242. package/dist/{Tooltip-5FSPJWLX.css → Tooltip-2EUNTOTW.css} +3 -3
  243. package/dist/Tooltip.cjs +6 -3
  244. package/dist/Tooltip.d.cts +2 -2
  245. package/dist/Tooltip.d.ts +2 -2
  246. package/dist/Tooltip.js +5 -2
  247. package/dist/{Typography-32QQLD4F.css → Typography-CQ2OZXQH.css} +105 -42
  248. package/dist/Typography.cjs +11 -8
  249. package/dist/Typography.d.cts +12 -36
  250. package/dist/Typography.d.ts +12 -36
  251. package/dist/Typography.js +6 -3
  252. package/dist/chunk-2A4GYSN4.js +294 -0
  253. package/dist/{chunk-QMX67CVT.cjs → chunk-2AUXUZ3Z.cjs} +56 -31
  254. package/dist/chunk-2BIOTRQC.js +40 -0
  255. package/dist/{chunk-A6O25EP2.js → chunk-2HIN5NFM.js} +14 -6
  256. package/dist/{chunk-I7TOBKJO.js → chunk-3DKFS44V.js} +84 -23
  257. package/dist/{chunk-X5MYHDEQ.cjs → chunk-3EMWDDWK.cjs} +372 -117
  258. package/dist/chunk-3F424R5P.js +143 -0
  259. package/dist/chunk-3IZZBM56.js +269 -0
  260. package/dist/{chunk-DUFRASGO.js → chunk-3QXP2ZNP.js} +18 -23
  261. package/dist/{chunk-5QEI7GGA.cjs → chunk-434Y2JVW.cjs} +60 -27
  262. package/dist/{chunk-SOCYOUGM.js → chunk-4SKHRPDH.js} +168 -64
  263. package/dist/{chunk-R3DTXVP2.js → chunk-5AXNUX3J.js} +8 -5
  264. package/dist/chunk-5CZA33BK.cjs +229 -0
  265. package/dist/{chunk-6K5YI4ZE.js → chunk-62VV5COT.js} +16 -6
  266. package/dist/{chunk-2FOC3D6X.js → chunk-63RSKQID.js} +23 -7
  267. package/dist/chunk-6DKPJ5LV.cjs +294 -0
  268. package/dist/{chunk-OTSDPQPV.js → chunk-6RQJXSWN.js} +50 -30
  269. package/dist/{chunk-V5KUC5VH.cjs → chunk-77HU7JWK.cjs} +40 -13
  270. package/dist/chunk-7QAVPVMW.js +180 -0
  271. package/dist/chunk-7VLAHOA7.cjs +191 -0
  272. package/dist/chunk-ALAG4ZUH.js +72 -0
  273. package/dist/chunk-ARUN2DMD.js +39 -0
  274. package/dist/chunk-AUO2YYHB.js +248 -0
  275. package/dist/{chunk-6MEOLYNQ.js → chunk-AURYNA6G.js} +6 -5
  276. package/dist/chunk-BIPOXOHP.cjs +287 -0
  277. package/dist/{chunk-BVQOJKRX.js → chunk-BKW5PXEO.js} +115 -72
  278. package/dist/chunk-DRDDQCDD.js +322 -0
  279. package/dist/chunk-DU2DSERH.js +190 -0
  280. package/dist/chunk-DURKCGEM.js +496 -0
  281. package/dist/{chunk-PSQ3HNZP.cjs → chunk-E66PSVBU.cjs} +106 -19
  282. package/dist/chunk-EAUB6FEN.js +262 -0
  283. package/dist/chunk-EE5KXDRK.cjs +1223 -0
  284. package/dist/chunk-EE7IJ3MB.js +1 -0
  285. package/dist/chunk-EUTK2ZRJ.cjs +61 -0
  286. package/dist/{chunk-HSAJUEO7.cjs → chunk-F7WUCOBP.cjs} +150 -86
  287. package/dist/{chunk-YB3IWIOJ.cjs → chunk-FJB3243S.cjs} +18 -23
  288. package/dist/chunk-FKCPSVC4.cjs +188 -0
  289. package/dist/chunk-FMUHLIHB.cjs +94 -0
  290. package/dist/chunk-FY73C7JK.js +520 -0
  291. package/dist/{chunk-6EOSMK34.cjs → chunk-G5LCOBOT.cjs} +20 -1
  292. package/dist/{chunk-5ERD3W24.cjs → chunk-GFKWSDD6.cjs} +18 -8
  293. package/dist/{chunk-T2O4DTDE.cjs → chunk-GTFP7HA3.cjs} +58 -32
  294. package/dist/chunk-HQFKXTX6.js +60 -0
  295. package/dist/{chunk-V5SQOZPF.js → chunk-HQNDVNTQ.js} +38 -20
  296. package/dist/chunk-HSDMJUB6.cjs +319 -0
  297. package/dist/chunk-HVPUGYBY.js +166 -0
  298. package/dist/chunk-HYHBCHFM.cjs +167 -0
  299. package/dist/chunk-HYJSMFZA.cjs +2 -0
  300. package/dist/chunk-I4YPBAQ5.js +163 -0
  301. package/dist/chunk-IJDM2U3B.js +100 -0
  302. package/dist/chunk-J5UEQ3ZQ.js +226 -0
  303. package/dist/chunk-JBS353O4.cjs +248 -0
  304. package/dist/{chunk-IPSNC5VZ.js → chunk-JHM7MN3G.js} +15 -7
  305. package/dist/{chunk-6Q76VLCE.cjs → chunk-JKUXA3U6.cjs} +50 -30
  306. package/dist/{chunk-D7GK6H6V.js → chunk-K5HGHOG7.js} +50 -21
  307. package/dist/chunk-KATJAJUU.js +78 -0
  308. package/dist/chunk-KCDOC3HS.cjs +100 -0
  309. package/dist/{chunk-M4NJTJKV.cjs → chunk-LDX6Q6RK.cjs} +8 -5
  310. package/dist/chunk-LEDESWNL.js +83 -0
  311. package/dist/chunk-LG62MPMU.cjs +213 -0
  312. package/dist/{chunk-7NTTRKNT.js → chunk-LJVQQEME.js} +54 -28
  313. package/dist/{chunk-FDZG27IG.js → chunk-LQMOYVQF.js} +57 -32
  314. package/dist/{chunk-P2OQTJZP.cjs → chunk-MCDW3VKZ.cjs} +17 -6
  315. package/dist/{chunk-BT2RXFT4.cjs → chunk-MUZQWIMR.cjs} +121 -78
  316. package/dist/chunk-NRJXZPZR.cjs +351 -0
  317. package/dist/chunk-O6G3F5L4.js +311 -0
  318. package/dist/{chunk-3VSHGM54.js → chunk-OLYSSZHP.js} +126 -68
  319. package/dist/{chunk-A4Z7PLHV.cjs → chunk-PIJV2FHO.cjs} +135 -77
  320. package/dist/{chunk-L6GIV5DQ.cjs → chunk-PJFYIXBX.cjs} +40 -22
  321. package/dist/{chunk-NXBFEIUX.cjs → chunk-PNKNZREC.cjs} +266 -130
  322. package/dist/{chunk-FYSXJXNW.js → chunk-PQOBBASY.js} +10 -9
  323. package/dist/chunk-Q565GDVK.cjs +205 -0
  324. package/dist/{chunk-FDUQPAQE.cjs → chunk-Q5HLC56A.cjs} +122 -28
  325. package/dist/chunk-QDCPVI3S.cjs +333 -0
  326. package/dist/{chunk-ZR4IMROK.js → chunk-QDMFXRPI.js} +122 -28
  327. package/dist/chunk-QDY56GGO.js +234 -0
  328. package/dist/{chunk-4KDABJSY.cjs → chunk-QNQSNVCU.cjs} +86 -25
  329. package/dist/chunk-QYPA77OI.cjs +55 -0
  330. package/dist/{chunk-BW76ENTW.cjs → chunk-RERMZNF3.cjs} +10 -9
  331. package/dist/chunk-RMGFRAZ2.cjs +270 -0
  332. package/dist/chunk-RPO7657K.js +228 -0
  333. package/dist/chunk-RR7KWH26.cjs +122 -0
  334. package/dist/chunk-SF7BPXDJ.cjs +518 -0
  335. package/dist/chunk-STQDKMS5.cjs +288 -0
  336. package/dist/{chunk-HG6YS4I7.js → chunk-SXLRWYQQ.js} +71 -24
  337. package/dist/{chunk-SW2HMNCA.cjs → chunk-T4RR6NVU.cjs} +17 -9
  338. package/dist/{chunk-6SPMHY54.js → chunk-TSL3F2K3.js} +20 -2
  339. package/dist/{chunk-BNY2NVTL.cjs → chunk-TYZ6L7E6.cjs} +48 -28
  340. package/dist/{chunk-MOZ52KN6.js → chunk-U3SG2YT2.js} +39 -12
  341. package/dist/{chunk-POU3W5J3.cjs → chunk-U5YYOOLC.cjs} +13 -6
  342. package/dist/chunk-UE4HFGJ6.js +264 -0
  343. package/dist/chunk-ULTDRMGN.js +1175 -0
  344. package/dist/{chunk-6HF6UF73.js → chunk-UQI4R32R.js} +368 -113
  345. package/dist/{chunk-MWEHU7YO.cjs → chunk-VA3JWOAB.cjs} +172 -68
  346. package/dist/chunk-VQEMMJHC.js +33 -0
  347. package/dist/{chunk-S2ZGXBUH.cjs → chunk-VVRXNGYL.cjs} +218 -42
  348. package/dist/{chunk-JMFHL7GN.cjs → chunk-VX6MZO4K.cjs} +100 -22
  349. package/dist/{chunk-4ACCOYBY.cjs → chunk-WHBKQZU5.cjs} +24 -8
  350. package/dist/{chunk-UGAN4BBW.js → chunk-WMISXERU.js} +262 -126
  351. package/dist/{chunk-MYW7LNB2.cjs → chunk-WROF2PVG.cjs} +40 -21
  352. package/dist/{chunk-5VOUUQF5.js → chunk-Y22PTPA7.js} +145 -81
  353. package/dist/chunk-Y2MT6PI6.js +207 -0
  354. package/dist/chunk-YAYSXZZZ.cjs +82 -0
  355. package/dist/{chunk-6LN4VVX7.js → chunk-YBGMTQ2V.js} +48 -28
  356. package/dist/{chunk-TYLDISRK.js → chunk-YKHIIC7M.js} +13 -6
  357. package/dist/{chunk-3VXGZ3SJ.js → chunk-YPMQC5HX.js} +57 -24
  358. package/dist/{chunk-UWL6DRZW.cjs → chunk-YUJ7Z6N2.cjs} +74 -27
  359. package/dist/{chunk-LEMMFFEY.cjs → chunk-ZEYK37VW.cjs} +15 -7
  360. package/dist/{chunk-ES7AWMNH.cjs → chunk-ZHVR4YPB.cjs} +6 -5
  361. package/dist/{chunk-MPOO5VPW.cjs → chunk-ZYIE3BH7.cjs} +50 -21
  362. package/dist/componentThemeTypes-Jt4B5aU8.d.cts +77 -0
  363. package/dist/componentThemeTypes-Jt4B5aU8.d.ts +77 -0
  364. package/dist/index.cjs +253 -206
  365. package/dist/index.d.cts +11 -9
  366. package/dist/index.d.ts +11 -9
  367. package/dist/index.js +56 -53
  368. package/dist/styles.css +1663 -695
  369. package/dist/{tokens-RYJ3DFTU.css → tokens-CEJVVA3G.css} +10 -0
  370. package/dist/tokens.css +10 -0
  371. package/docs/llms/appshell.md +9 -6
  372. package/docs/llms/autocomplete.md +8 -2
  373. package/docs/llms/avatar.md +2 -0
  374. package/docs/llms/badge.md +2 -0
  375. package/docs/llms/calendar.md +7 -2
  376. package/docs/llms/card.md +20 -1
  377. package/docs/llms/cascader.md +27 -5
  378. package/docs/llms/checkbox.md +13 -0
  379. package/docs/llms/collapse.md +13 -5
  380. package/docs/llms/colorpicker.md +4 -3
  381. package/docs/llms/commandpalette.md +10 -2
  382. package/docs/llms/contextmenu.md +14 -2
  383. package/docs/llms/datepicker.md +7 -0
  384. package/docs/llms/datetimepicker.md +7 -0
  385. package/docs/llms/drawer.md +27 -4
  386. package/docs/llms/form.md +5 -2
  387. package/docs/llms/icon.md +25 -1
  388. package/docs/llms/image.md +3 -3
  389. package/docs/llms/list.md +11 -0
  390. package/docs/llms/message.md +31 -8
  391. package/docs/llms/modal.md +20 -8
  392. package/docs/llms/pagination.md +12 -4
  393. package/docs/llms/popover.md +11 -1
  394. package/docs/llms/progress.md +1 -0
  395. package/docs/llms/radio.md +13 -0
  396. package/docs/llms/select.md +48 -2
  397. package/docs/llms/sidebar.md +24 -0
  398. package/docs/llms/slider.md +5 -2
  399. package/docs/llms/splitter.md +17 -3
  400. package/docs/llms/switch.md +13 -0
  401. package/docs/llms/table.md +7 -8
  402. package/docs/llms/tablepro.md +23 -1
  403. package/docs/llms/tabs.md +21 -0
  404. package/docs/llms/theme.md +83 -28
  405. package/docs/llms/themepanel.md +1 -0
  406. package/docs/llms/titlebar.md +1 -0
  407. package/docs/llms/tooltip.md +7 -2
  408. package/docs/llms/typography.md +27 -3
  409. package/docs/llms/windowcontrols.md +11 -3
  410. package/docs/llms.md +2 -2
  411. package/package.json +212 -2
  412. package/dist/Avatar-TNPOHVY5.css +0 -40
  413. package/dist/Badge-DPGLV3D3.css +0 -22
  414. package/dist/Card-W3ATFUJW.css +0 -77
  415. package/dist/Cascader-ANEQUPMI.css +0 -150
  416. package/dist/Checkbox-EDNPZRIP.css +0 -42
  417. package/dist/List-LSMU5QAC.css +0 -26
  418. package/dist/Pagination-YSZSNFHG.css +0 -68
  419. package/dist/Progress-CZNXCYGW.css +0 -80
  420. package/dist/Slider-UM2IZZBH.css +0 -127
  421. package/dist/Tag-G2XWAL7A.css +0 -42
  422. package/dist/chunk-262ED6WQ.cjs +0 -88
  423. package/dist/chunk-4HJBF4GY.js +0 -218
  424. package/dist/chunk-4TTRHEGM.cjs +0 -217
  425. package/dist/chunk-5A6KSYWA.cjs +0 -67
  426. package/dist/chunk-5MOYKVB7.js +0 -192
  427. package/dist/chunk-7IO3EOHN.cjs +0 -200
  428. package/dist/chunk-7QXP6DXC.cjs +0 -129
  429. package/dist/chunk-AAPZLBHQ.js +0 -165
  430. package/dist/chunk-ARUPS7JH.js +0 -66
  431. package/dist/chunk-ATUPFAPZ.cjs +0 -76
  432. package/dist/chunk-CFZVWY5N.js +0 -178
  433. package/dist/chunk-DSLYWX4O.js +0 -25
  434. package/dist/chunk-E22OIVYP.js +0 -349
  435. package/dist/chunk-FQJY4D3T.cjs +0 -47
  436. package/dist/chunk-GNV6W4BN.js +0 -495
  437. package/dist/chunk-HBO7ZDEQ.js +0 -29
  438. package/dist/chunk-I777JTTG.js +0 -150
  439. package/dist/chunk-IOAOG5L7.js +0 -191
  440. package/dist/chunk-IOUAZYK2.cjs +0 -116
  441. package/dist/chunk-IZHH6CVY.js +0 -123
  442. package/dist/chunk-JFL2WMJZ.js +0 -106
  443. package/dist/chunk-KMPFESEV.js +0 -41
  444. package/dist/chunk-KYV75JPQ.js +0 -147
  445. package/dist/chunk-N7OQNSII.cjs +0 -145
  446. package/dist/chunk-P64NPZBG.js +0 -113
  447. package/dist/chunk-PKNRTFNE.cjs +0 -526
  448. package/dist/chunk-PU7VXDAS.js +0 -64
  449. package/dist/chunk-RFI5R42I.cjs +0 -138
  450. package/dist/chunk-RR2BKV65.js +0 -39
  451. package/dist/chunk-RSSOX4RQ.cjs +0 -240
  452. package/dist/chunk-RZEFKXL3.cjs +0 -104
  453. package/dist/chunk-S7IHWY24.js +0 -81
  454. package/dist/chunk-SOQ56ZI2.cjs +0 -49
  455. package/dist/chunk-TBNPJPYG.cjs +0 -61
  456. package/dist/chunk-TJECLLN4.js +0 -344
  457. package/dist/chunk-ULUD3FED.cjs +0 -138
  458. package/dist/chunk-UW57F3UO.cjs +0 -371
  459. package/dist/chunk-VA2I7ZAL.cjs +0 -190
  460. package/dist/chunk-VS3I5OKA.cjs +0 -214
  461. package/dist/chunk-WMGMIE2D.js +0 -113
  462. package/dist/chunk-X7XP6GEI.cjs +0 -63
  463. package/dist/chunk-XCXUGHDF.js +0 -91
  464. package/dist/chunk-YAFDVNXT.js +0 -27
  465. package/dist/chunk-ZD3L4V3H.js +0 -54
  466. package/dist/chunk-ZTCRD2FL.js +0 -45
@@ -1,14 +1,36 @@
1
- import { Pagination } from './chunk-V5SQOZPF.js';
2
- import { Checkbox } from './chunk-ZD3L4V3H.js';
3
- import { useFloating } from './chunk-DUFRASGO.js';
4
- import { Icon } from './chunk-FDZG27IG.js';
5
- import './tokens-RYJ3DFTU.css';
1
+ import { Pagination } from './chunk-HQNDVNTQ.js';
2
+ import { Checkbox } from './chunk-KATJAJUU.js';
3
+ import { useFloating } from './chunk-3QXP2ZNP.js';
4
+ import { useOverlayLayer } from './chunk-2A4GYSN4.js';
5
+ import { Button, IconButton } from './chunk-JHM7MN3G.js';
6
+ import { Icon } from './chunk-LQMOYVQF.js';
7
+ import { withComponentTheme, InternalComponentThemePart, useComponentPortalTheme } from './chunk-DRDDQCDD.js';
8
+ import { usePortalContainer } from './chunk-ULTDRMGN.js';
9
+ import './tokens-CEJVVA3G.css';
6
10
  import './shared-NJHRNLRH.css';
7
- import './Table-IWHIIGRJ.css';
11
+ import './Table-KB6EEBDJ.css';
8
12
  import * as React from 'react';
9
13
  import { createPortal } from 'react-dom';
10
14
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
11
15
 
16
+ function filterTableEntries(entries, filters, columnMap) {
17
+ const activeEntries = Object.entries(filters);
18
+ if (activeEntries.length === 0) return entries;
19
+ return entries.filter(({ row }) => {
20
+ for (const [columnKey, values] of activeEntries) {
21
+ const column = columnMap.get(columnKey);
22
+ if (!column) continue;
23
+ const matches = values.some((value) => {
24
+ if (column.onFilter) return column.onFilter(value, row);
25
+ if (column.dataIndex == null) return false;
26
+ const cell = row[column.dataIndex];
27
+ return cell === value || String(cell) === String(value);
28
+ });
29
+ if (!matches) return false;
30
+ }
31
+ return true;
32
+ });
33
+ }
12
34
  var TableInner = ({
13
35
  columns,
14
36
  data,
@@ -19,6 +41,7 @@ var TableInner = ({
19
41
  sortKey,
20
42
  sortDir = "asc",
21
43
  onSort,
44
+ onChange,
22
45
  rowSelection,
23
46
  selectable,
24
47
  selected = [],
@@ -26,19 +49,29 @@ var TableInner = ({
26
49
  expandable,
27
50
  pagination,
28
51
  scroll,
52
+ tableProps,
53
+ caption,
29
54
  onRowClick,
55
+ activeRowKey,
56
+ rowClassName,
30
57
  empty = "\u6682\u65E0\u6570\u636E",
31
58
  className = "",
32
59
  style,
33
60
  ...rest
34
61
  }, ref) => {
35
- const keyOf = React.useCallback(
36
- (row, i) => {
37
- if (typeof rowKey === "function") return rowKey(row);
38
- if (rowKey) return row[rowKey];
39
- return i;
40
- },
41
- [rowKey]
62
+ const sourceEntries = React.useMemo(
63
+ () => data.map((row, sourceIndex) => {
64
+ let key;
65
+ if (typeof rowKey === "function") key = rowKey(row);
66
+ else if (rowKey) key = row[rowKey];
67
+ else key = sourceIndex;
68
+ return { row, key, sourceIndex };
69
+ }),
70
+ [data, rowKey]
71
+ );
72
+ const columnMap = React.useMemo(
73
+ () => new Map(columns.map((column) => [column.key, column])),
74
+ [columns]
42
75
  );
43
76
  const selectionMode = rowSelection ? "new" : selectable ? "legacy" : "off";
44
77
  const selectionType = rowSelection?.type ?? "checkbox";
@@ -78,47 +111,33 @@ var TableInner = ({
78
111
  }
79
112
  return out;
80
113
  }, [columns, innerFilters]);
81
- const setColumnFilter = (col, values) => {
82
- if (col.filteredValue !== void 0) return;
83
- setInnerFilters((prev) => {
84
- const next = { ...prev };
85
- if (values.length === 0) delete next[col.key];
86
- else next[col.key] = values;
87
- return next;
88
- });
89
- };
90
- const filteredData = React.useMemo(() => {
91
- const entries = Object.entries(activeFilters);
92
- if (entries.length === 0) return data;
93
- return data.filter((row) => {
94
- for (const [colKey, vals] of entries) {
95
- const col = columns.find((c) => c.key === colKey);
96
- if (!col) continue;
97
- const match = vals.some((v2) => {
98
- if (col.onFilter) return col.onFilter(v2, row);
99
- if (col.dataIndex != null) {
100
- const cell = row[col.dataIndex];
101
- return cell === v2 || String(cell) === String(v2);
102
- }
103
- return false;
104
- });
105
- if (!match) return false;
106
- }
107
- return true;
108
- });
109
- }, [data, columns, activeFilters]);
114
+ const filteredEntries = React.useMemo(
115
+ () => filterTableEntries(sourceEntries, activeFilters, columnMap),
116
+ [activeFilters, columnMap, sourceEntries]
117
+ );
118
+ const filteredData = React.useMemo(
119
+ () => filteredEntries.map(({ row }) => row),
120
+ [filteredEntries]
121
+ );
110
122
  const pagEnabled = pagination !== false && pagination !== void 0;
111
123
  const pagCfg = pagEnabled ? pagination : {};
112
124
  const [innerPage, setInnerPage] = React.useState(
113
- pagCfg.defaultCurrent ?? 1
125
+ Number.isFinite(pagCfg.defaultCurrent) ? Math.max(1, Math.trunc(pagCfg.defaultCurrent)) : 1
114
126
  );
115
127
  const [innerPageSize, setInnerPageSize] = React.useState(
116
- pagCfg.defaultPageSize ?? pagCfg.pageSize ?? 10
128
+ (() => {
129
+ const initial = pagCfg.defaultPageSize ?? pagCfg.pageSize ?? 10;
130
+ return Number.isFinite(initial) && initial > 0 ? Math.max(1, Math.trunc(initial)) : 10;
131
+ })()
117
132
  );
118
133
  const pageControlled = pagCfg.current !== void 0;
119
- const curPage = pageControlled ? pagCfg.current : innerPage;
120
- const curPageSize = pagCfg.pageSize ?? innerPageSize;
121
- const totalCount = pagCfg.total ?? filteredData.length;
134
+ const requestedPage = pageControlled ? pagCfg.current : innerPage;
135
+ const curPage = Number.isFinite(requestedPage) ? Math.max(1, Math.trunc(requestedPage)) : 1;
136
+ const requestedPageSize = pagCfg.pageSize ?? innerPageSize;
137
+ const curPageSize = Number.isFinite(requestedPageSize) && requestedPageSize > 0 ? Math.max(1, Math.trunc(requestedPageSize)) : 10;
138
+ const requestedTotal = pagCfg.total ?? filteredData.length;
139
+ const totalCount = Number.isFinite(requestedTotal) ? Math.max(0, Math.trunc(requestedTotal)) : filteredData.length;
140
+ const remotePagination = pagCfg.mode === "remote" || pagCfg.mode === void 0 && pagCfg.total !== void 0 && pageControlled;
122
141
  React.useEffect(() => {
123
142
  if (pagCfg.pageSize !== void 0 && pagCfg.pageSize !== innerPageSize) {
124
143
  setInnerPageSize(pagCfg.pageSize);
@@ -126,17 +145,44 @@ var TableInner = ({
126
145
  }, [pagCfg.pageSize]);
127
146
  React.useEffect(() => {
128
147
  if (!pagEnabled) return;
129
- const pages = Math.max(1, Math.ceil(filteredData.length / curPageSize));
148
+ const pages = Math.max(1, Math.ceil(totalCount / curPageSize));
130
149
  if (!pageControlled && curPage > pages) setInnerPage(pages);
131
- }, [filteredData.length, curPageSize, pagEnabled]);
132
- const pagedData = React.useMemo(() => {
133
- if (!pagEnabled) return filteredData;
134
- if (pagCfg.total !== void 0 && pageControlled) {
135
- return filteredData;
136
- }
150
+ }, [curPage, curPageSize, pagEnabled, pageControlled, totalCount]);
151
+ const pagedEntries = React.useMemo(() => {
152
+ if (!pagEnabled || remotePagination) return filteredEntries;
137
153
  const start = (curPage - 1) * curPageSize;
138
- return filteredData.slice(start, start + curPageSize);
139
- }, [pagEnabled, filteredData, curPage, curPageSize, pagCfg.total, pageControlled]);
154
+ return filteredEntries.slice(start, start + curPageSize);
155
+ }, [curPage, curPageSize, filteredEntries, pagEnabled, remotePagination]);
156
+ const emitChange = React.useCallback((action, overrides = {}) => {
157
+ const nextCurrent = overrides.current ?? curPage;
158
+ const nextPageSize = overrides.pageSize ?? curPageSize;
159
+ onChange?.({
160
+ action,
161
+ pagination: pagEnabled ? { current: nextCurrent, pageSize: nextPageSize, total: totalCount } : void 0,
162
+ filters: overrides.filters ?? activeFilters,
163
+ sorter: overrides.sorter ?? { key: sortKey, direction: sortKey ? sortDir : void 0 },
164
+ currentData: overrides.currentData ?? filteredData
165
+ });
166
+ }, [activeFilters, curPage, curPageSize, filteredData, onChange, pagEnabled, sortDir, sortKey, totalCount]);
167
+ const setColumnFilter = React.useCallback((column, values) => {
168
+ const nextFilters = { ...activeFilters };
169
+ if (values.length === 0) delete nextFilters[column.key];
170
+ else nextFilters[column.key] = values;
171
+ if (column.filteredValue === void 0) {
172
+ setInnerFilters((previous) => {
173
+ const next = { ...previous };
174
+ if (values.length === 0) delete next[column.key];
175
+ else next[column.key] = values;
176
+ return next;
177
+ });
178
+ }
179
+ if (pagEnabled) {
180
+ if (!pageControlled) setInnerPage(1);
181
+ pagCfg.onChange?.(1, curPageSize);
182
+ }
183
+ const nextData = filterTableEntries(sourceEntries, nextFilters, columnMap).map(({ row }) => row);
184
+ emitChange("filter", { current: 1, filters: nextFilters, currentData: nextData });
185
+ }, [activeFilters, columnMap, curPageSize, emitChange, pagCfg, pagEnabled, pageControlled, sourceEntries]);
140
186
  const skipNextPaginationChangeRef = React.useRef(false);
141
187
  const onPageChange = (p) => {
142
188
  if (skipNextPaginationChangeRef.current) {
@@ -145,34 +191,38 @@ var TableInner = ({
145
191
  }
146
192
  if (!pageControlled) setInnerPage(p);
147
193
  pagCfg.onChange?.(p, curPageSize);
194
+ emitChange("paginate", { current: p });
148
195
  };
149
196
  const onPageSizeChange = (_current, size) => {
150
197
  skipNextPaginationChangeRef.current = true;
151
198
  if (!pageControlled) setInnerPage(1);
152
199
  if (pagCfg.pageSize === void 0) setInnerPageSize(size);
153
200
  pagCfg.onChange?.(1, size);
201
+ emitChange("paginate", { current: 1, pageSize: size });
154
202
  };
155
203
  const [innerExpanded, setInnerExpanded] = React.useState(
156
204
  expandable?.defaultExpandedRowKeys ?? []
157
205
  );
158
206
  const expandControlled = expandable?.expandedRowKeys !== void 0;
159
207
  const expandedKeys = expandControlled ? expandable.expandedRowKeys : innerExpanded;
208
+ const expandedKeySet = React.useMemo(() => new Set(expandedKeys), [expandedKeys]);
209
+ const selectedKeySet = React.useMemo(() => new Set(selectedKeys), [selectedKeys]);
160
210
  const hasExpandable = !!expandable?.expandedRowRender;
161
211
  const toggleExpand = (row, k) => {
162
- const isOpen = expandedKeys.includes(k);
212
+ const isOpen = expandedKeySet.has(k);
163
213
  const next = isOpen ? expandedKeys.filter((x) => x !== k) : [...expandedKeys, k];
164
214
  if (!expandControlled) setInnerExpanded(next);
165
215
  expandable?.onExpand?.(!isOpen, row);
166
216
  };
167
217
  const v = variant ?? (striped ? "striped" : "default");
168
- const rowsToRender = pagedData;
169
- const selectableKeysOnPage = rowsToRender.map((r, i) => ({ row: r, k: keyOf(r, i) })).filter(({ row }) => {
218
+ const rowsToRender = pagedEntries;
219
+ const selectableKeysOnPage = rowsToRender.map(({ row, key }) => ({ row, k: key })).filter(({ row }) => {
170
220
  if (selectionMode !== "new") return true;
171
221
  const props = rowSelection?.getCheckboxProps?.(row);
172
222
  return !props?.disabled;
173
223
  });
174
- const allSelectedOnPage = selectionMode !== "off" && selectableKeysOnPage.length > 0 && selectableKeysOnPage.every(({ k }) => selectedKeys.includes(k));
175
- const someSelectedOnPage = selectionMode !== "off" && selectableKeysOnPage.some(({ k }) => selectedKeys.includes(k)) && !allSelectedOnPage;
224
+ const allSelectedOnPage = selectionMode !== "off" && selectableKeysOnPage.length > 0 && selectableKeysOnPage.every(({ k }) => selectedKeySet.has(k));
225
+ const someSelectedOnPage = selectionMode !== "off" && selectableKeysOnPage.some(({ k }) => selectedKeySet.has(k)) && !allSelectedOnPage;
176
226
  const toggleRow = (row, k) => {
177
227
  if (selectionMode === "new") {
178
228
  const props = rowSelection?.getCheckboxProps?.(row);
@@ -181,12 +231,13 @@ var TableInner = ({
181
231
  if (selectionType === "radio") {
182
232
  next = [k];
183
233
  } else {
184
- next = selectedKeys.includes(k) ? selectedKeys.filter((x) => x !== k) : [...selectedKeys, k];
234
+ next = selectedKeySet.has(k) ? selectedKeys.filter((x) => x !== k) : [...selectedKeys, k];
185
235
  }
186
- const nextRows = data.filter((r, i) => next.includes(keyOf(r, i)));
236
+ const nextSet = new Set(next);
237
+ const nextRows = sourceEntries.filter(({ key }) => nextSet.has(key)).map(({ row: item }) => item);
187
238
  commitSelected(next, nextRows);
188
239
  } else if (selectionMode === "legacy") {
189
- const next = selectedKeys.includes(k) ? selectedKeys.filter((x) => x !== k) : [...selectedKeys, k];
240
+ const next = selectedKeySet.has(k) ? selectedKeys.filter((x) => x !== k) : [...selectedKeys, k];
190
241
  commitSelected(next, []);
191
242
  }
192
243
  };
@@ -196,13 +247,15 @@ var TableInner = ({
196
247
  if (allSelectedOnPage) {
197
248
  const pageKeys = new Set(selectableKeysOnPage.map(({ k }) => k));
198
249
  const next = selectedKeys.filter((k) => !pageKeys.has(k));
199
- const nextRows = data.filter((r, i) => next.includes(keyOf(r, i)));
250
+ const nextSet = new Set(next);
251
+ const nextRows = sourceEntries.filter(({ key }) => nextSet.has(key)).map(({ row }) => row);
200
252
  commitSelected(next, nextRows);
201
253
  } else {
202
254
  const set = new Set(selectedKeys);
203
255
  selectableKeysOnPage.forEach(({ k }) => set.add(k));
204
256
  const next = Array.from(set);
205
- const nextRows = data.filter((r, i) => next.includes(keyOf(r, i)));
257
+ const nextSet = new Set(next);
258
+ const nextRows = sourceEntries.filter(({ key }) => nextSet.has(key)).map(({ row }) => row);
206
259
  commitSelected(next, nextRows);
207
260
  }
208
261
  };
@@ -210,6 +263,18 @@ var TableInner = ({
210
263
  const showExpandCol = hasExpandable;
211
264
  const extraColCount = (showSelCol ? 1 : 0) + (showExpandCol ? 1 : 0);
212
265
  const totalColCount = columns.length + extraColCount;
266
+ const handleSort = React.useCallback((columnKey) => {
267
+ const nextDirection = sortKey === columnKey && sortDir === "asc" ? "desc" : "asc";
268
+ onSort?.(columnKey);
269
+ if (pagEnabled) {
270
+ if (!pageControlled) setInnerPage(1);
271
+ pagCfg.onChange?.(1, curPageSize);
272
+ }
273
+ emitChange("sort", {
274
+ current: 1,
275
+ sorter: { key: columnKey, direction: nextDirection }
276
+ });
277
+ }, [curPageSize, emitChange, onSort, pagCfg, pagEnabled, pageControlled, sortDir, sortKey]);
213
278
  const wrapStyle = {};
214
279
  const innerTableStyle = {};
215
280
  let wrapClass = "table-wrap";
@@ -223,6 +288,11 @@ var TableInner = ({
223
288
  innerTableStyle.minWidth = scroll.x;
224
289
  wrapClass += " scroll-x";
225
290
  }
291
+ const {
292
+ className: nativeTableClassName = "",
293
+ style: nativeTableStyle,
294
+ ...nativeTableProps
295
+ } = tableProps ?? {};
226
296
  return /* @__PURE__ */ jsxs(Fragment, { children: [
227
297
  /* @__PURE__ */ jsx(
228
298
  "div",
@@ -234,19 +304,22 @@ var TableInner = ({
234
304
  children: /* @__PURE__ */ jsxs(
235
305
  "table",
236
306
  {
237
- className: `table ${v} ${hoverable ? "hoverable" : ""} ${scroll?.y != null ? "sticky-head" : ""}`,
238
- style: innerTableStyle,
307
+ ...nativeTableProps,
308
+ className: `table ${v} ${hoverable ? "hoverable" : ""} ${scroll?.y != null ? "sticky-head" : ""} ${nativeTableClassName}`,
309
+ style: { ...innerTableStyle, ...nativeTableStyle },
239
310
  children: [
311
+ caption != null && /* @__PURE__ */ jsx("caption", { children: caption }),
240
312
  /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
241
- showExpandCol && /* @__PURE__ */ jsx("th", { className: "row-expand", style: { width: 40 } }),
242
- showSelCol && /* @__PURE__ */ jsx("th", { className: "row-check", style: { width: 44 }, children: selectionType === "checkbox" && /* @__PURE__ */ jsx(
313
+ showExpandCol && /* @__PURE__ */ jsx("th", { scope: "col", className: "row-expand", style: { width: 40 } }),
314
+ showSelCol && /* @__PURE__ */ jsx("th", { scope: "col", className: "row-check", style: { width: 44 }, children: selectionType === "checkbox" && /* @__PURE__ */ jsx(InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsx(
243
315
  Checkbox,
244
316
  {
245
317
  checked: allSelectedOnPage,
246
318
  indeterminate: someSelectedOnPage,
247
- onChange: toggleAll
319
+ onChange: toggleAll,
320
+ label: /* @__PURE__ */ jsx("span", { className: "table-sr-only", children: "\u9009\u62E9\u5F53\u524D\u9875" })
248
321
  }
249
- ) }),
322
+ ) }) }),
250
323
  columns.map((c) => {
251
324
  const sorted = sortKey === c.key;
252
325
  const hasFilters = !!c.filters?.length;
@@ -256,16 +329,29 @@ var TableInner = ({
256
329
  {
257
330
  className: `${c.sortable ? "sortable" : ""} ${sorted ? "sorted" : ""} ${hasFilters ? "filterable" : ""}`,
258
331
  style: { width: c.width, textAlign: c.align ?? "left" },
259
- onClick: () => c.sortable && onSort?.(c.key),
332
+ scope: "col",
333
+ "aria-sort": c.sortable ? sorted ? sortDir === "asc" ? "ascending" : "descending" : "none" : void 0,
260
334
  children: [
261
- /* @__PURE__ */ jsx("span", { className: "th-label", children: c.title }),
262
- c.sortable && /* @__PURE__ */ jsx("span", { className: "sort-ind", children: /* @__PURE__ */ jsx(
263
- Icon,
335
+ c.sortable ? /* @__PURE__ */ jsx(InternalComponentThemePart, { components: "Button", children: /* @__PURE__ */ jsxs(
336
+ Button,
264
337
  {
265
- name: sorted ? sortDir === "asc" ? "chevUp" : "chevDown" : "chevDown",
266
- size: 10
338
+ type: "button",
339
+ size: "sm",
340
+ variant: "ghost",
341
+ className: "table-sort-trigger",
342
+ onClick: () => handleSort(c.key),
343
+ children: [
344
+ /* @__PURE__ */ jsx("span", { className: "th-label", children: c.title }),
345
+ /* @__PURE__ */ jsx("span", { className: "sort-ind", "aria-hidden": "true", children: /* @__PURE__ */ jsx(
346
+ Icon,
347
+ {
348
+ name: sorted ? sortDir === "asc" ? "chevUp" : "chevDown" : "chevDown",
349
+ size: 10
350
+ }
351
+ ) })
352
+ ]
267
353
  }
268
- ) }),
354
+ ) }) : /* @__PURE__ */ jsx("span", { className: "th-label", children: c.title }),
269
355
  hasFilters && /* @__PURE__ */ jsx(
270
356
  ColumnFilterButton,
271
357
  {
@@ -281,20 +367,36 @@ var TableInner = ({
281
367
  );
282
368
  })
283
369
  ] }) }),
284
- /* @__PURE__ */ jsx("tbody", { children: rowsToRender.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: totalColCount, className: "table-empty", children: empty }) }) : rowsToRender.map((row, i) => {
285
- const k = keyOf(row, i);
286
- const isSel = selectedKeys.includes(k);
370
+ /* @__PURE__ */ jsx("tbody", { children: rowsToRender.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: totalColCount, className: "table-empty", children: /* @__PURE__ */ jsx("div", { className: "table-empty-content", children: empty }) }) }) : rowsToRender.map(({ row, key: k }, i) => {
371
+ const isSel = selectedKeySet.has(k);
372
+ const isActive = activeRowKey !== void 0 && activeRowKey === k;
373
+ const resolvedRowClassName = typeof rowClassName === "function" ? rowClassName(row, i) : rowClassName;
287
374
  const selProps = rowSelection?.getCheckboxProps?.(row);
288
375
  const canExpand = hasExpandable && (expandable?.rowExpandable?.(row) ?? true);
289
- const isExpanded = canExpand && expandedKeys.includes(k);
376
+ const isExpanded = canExpand && expandedKeySet.has(k);
290
377
  const cardSurfaceTarget = showExpandCol ? "__expand" : showSelCol ? "__select" : columns[0]?.key;
291
378
  const cardRowSurface = v === "cards" ? /* @__PURE__ */ jsx("span", { className: "card-row-surface", "aria-hidden": "true" }) : null;
292
379
  return /* @__PURE__ */ jsxs(React.Fragment, { children: [
293
380
  /* @__PURE__ */ jsxs(
294
381
  "tr",
295
382
  {
296
- className: `${onRowClick ? "clickable" : ""} ${isSel ? "selected" : ""}`,
383
+ className: [
384
+ onRowClick ? "clickable" : "",
385
+ isSel ? "selected" : "",
386
+ isActive ? "active-row" : "",
387
+ resolvedRowClassName
388
+ ].filter(Boolean).join(" "),
297
389
  onClick: onRowClick ? () => onRowClick(row, i) : void 0,
390
+ tabIndex: onRowClick ? 0 : void 0,
391
+ "aria-selected": selectionMode !== "off" ? isSel : void 0,
392
+ "aria-current": isActive ? "true" : void 0,
393
+ onKeyDown: onRowClick ? (event) => {
394
+ if (event.currentTarget !== event.target) return;
395
+ if (event.key === "Enter" || event.key === " ") {
396
+ event.preventDefault();
397
+ onRowClick(row, i);
398
+ }
399
+ } : void 0,
298
400
  children: [
299
401
  showExpandCol && /* @__PURE__ */ jsxs(
300
402
  "td",
@@ -327,10 +429,7 @@ var TableInner = ({
327
429
  "td",
328
430
  {
329
431
  className: "row-check",
330
- onClick: (e) => {
331
- e.stopPropagation();
332
- toggleRow(row, k);
333
- },
432
+ onClick: (event) => event.stopPropagation(),
334
433
  children: [
335
434
  cardSurfaceTarget === "__select" && cardRowSurface,
336
435
  selectionType === "radio" ? /* @__PURE__ */ jsx(
@@ -339,6 +438,7 @@ var TableInner = ({
339
438
  type: "button",
340
439
  role: "radio",
341
440
  "aria-checked": isSel,
441
+ "aria-label": `\u9009\u62E9\u7B2C ${i + 1} \u884C`,
342
442
  disabled: selProps?.disabled,
343
443
  className: `radio-dot ${isSel ? "checked" : ""}`,
344
444
  onClick: (e) => {
@@ -346,14 +446,19 @@ var TableInner = ({
346
446
  toggleRow(row, k);
347
447
  }
348
448
  }
349
- ) : /* @__PURE__ */ jsx(
449
+ ) : /* @__PURE__ */ jsx(InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsx(
350
450
  Checkbox,
351
451
  {
352
452
  checked: isSel,
353
453
  disabled: selProps?.disabled,
354
- onChange: () => toggleRow(row, k)
454
+ onChange: () => toggleRow(row, k),
455
+ label: /* @__PURE__ */ jsxs("span", { className: "table-sr-only", children: [
456
+ "\u9009\u62E9\u7B2C ",
457
+ i + 1,
458
+ " \u884C"
459
+ ] })
355
460
  }
356
- )
461
+ ) })
357
462
  ]
358
463
  }
359
464
  ),
@@ -375,7 +480,7 @@ var TableInner = ({
375
480
  )
376
481
  }
377
482
  ),
378
- pagEnabled && /* @__PURE__ */ jsx("div", { className: "table-pagination", children: /* @__PURE__ */ jsx(
483
+ pagEnabled && /* @__PURE__ */ jsx("div", { className: "table-pagination", children: /* @__PURE__ */ jsx(InternalComponentThemePart, { components: "Pagination", children: /* @__PURE__ */ jsx(
379
484
  Pagination,
380
485
  {
381
486
  total: totalCount,
@@ -387,11 +492,16 @@ var TableInner = ({
387
492
  pageSizeOptions: pagCfg.pageSizeOptions,
388
493
  onShowSizeChange: onPageSizeChange
389
494
  }
390
- ) })
495
+ ) }) })
391
496
  ] });
392
497
  };
393
- var Table = React.forwardRef(TableInner);
394
- Table.displayName = "Table";
498
+ var TableBase = React.forwardRef(TableInner);
499
+ TableBase.displayName = "Table";
500
+ var Table = withComponentTheme(
501
+ TableBase,
502
+ "Table",
503
+ ["table", "button", "checkbox", "pagination", "select", "input"]
504
+ );
395
505
  function ColumnFilterButton({
396
506
  column,
397
507
  activeValues,
@@ -400,16 +510,32 @@ function ColumnFilterButton({
400
510
  }) {
401
511
  const [open, setOpen] = React.useState(false);
402
512
  const [draft, setDraft] = React.useState(activeValues);
403
- const panelRef = React.useRef(null);
404
- const { triggerRef, floatingStyle } = useFloating({
513
+ const portalContainer = usePortalContainer();
514
+ const portalTheme = useComponentPortalTheme(["Table", "TablePro"]);
515
+ const panelId = React.useId();
516
+ const { triggerRef, floatingRef: panelRef, floatingStyle, zIndex: panelZIndex } = useFloating({
405
517
  open,
406
518
  placement: "bottom",
407
519
  panelWidth: 200,
408
520
  panelHeight: Math.min(260, (column.filters?.length ?? 0) * 32 + 80),
409
521
  alignCross: "end"
410
522
  });
523
+ const closeFromEscape = React.useCallback(() => {
524
+ setOpen(false);
525
+ window.requestAnimationFrame(() => triggerRef.current?.focus());
526
+ }, [triggerRef]);
527
+ useOverlayLayer({
528
+ open: open && portalContainer != null,
529
+ containerRef: panelRef,
530
+ ownerRef: triggerRef,
531
+ zIndex: panelZIndex,
532
+ onEscape: closeFromEscape
533
+ });
411
534
  React.useEffect(() => {
412
- if (open) setDraft(activeValues);
535
+ if (open) {
536
+ setDraft(activeValues);
537
+ window.requestAnimationFrame(() => panelRef.current?.focus());
538
+ }
413
539
  }, [open, activeValues]);
414
540
  React.useEffect(() => {
415
541
  if (!open) return;
@@ -424,45 +550,54 @@ function ColumnFilterButton({
424
550
  }, [open]);
425
551
  const toggle = (v) => setDraft((d) => d.includes(v) ? d.filter((x) => x !== v) : [...d, v]);
426
552
  return /* @__PURE__ */ jsxs(Fragment, { children: [
427
- /* @__PURE__ */ jsx(
428
- "button",
553
+ /* @__PURE__ */ jsx(InternalComponentThemePart, { components: "IconButton", children: /* @__PURE__ */ jsx(
554
+ IconButton,
429
555
  {
430
556
  ref: triggerRef,
431
- type: "button",
557
+ icon: "filter",
558
+ size: "sm",
559
+ variant: "ghost",
432
560
  className: `filter-ind ${active ? "active" : ""}`,
433
- "aria-label": "Filter column",
561
+ tip: "\u7B5B\u9009\u5217",
562
+ "aria-expanded": open,
563
+ "aria-controls": open ? panelId : void 0,
564
+ "aria-haspopup": "dialog",
434
565
  onClick: (e) => {
435
566
  e.stopPropagation();
436
567
  setOpen((o) => !o);
437
- },
438
- children: /* @__PURE__ */ jsx(Icon, { name: "filter", size: 10 })
568
+ }
439
569
  }
440
- ),
441
- open && typeof document !== "undefined" && createPortal(
570
+ ) }),
571
+ open && portalContainer && createPortal(
442
572
  /* @__PURE__ */ jsxs(
443
573
  "div",
444
574
  {
575
+ id: panelId,
445
576
  ref: panelRef,
446
577
  className: "table-filter-panel",
447
- style: floatingStyle,
578
+ ...portalTheme.dataAttributes,
579
+ style: { ...floatingStyle, ...portalTheme.style, ...portalTheme.styles.popup },
580
+ role: "dialog",
581
+ "aria-label": "\u5217\u7B5B\u9009",
582
+ tabIndex: -1,
448
583
  onClick: (e) => e.stopPropagation(),
449
584
  children: [
450
- /* @__PURE__ */ jsx("div", { className: "table-filter-options", children: (column.filters ?? []).map((f) => /* @__PURE__ */ jsxs("label", { className: "table-filter-item", children: [
451
- /* @__PURE__ */ jsx(
452
- Checkbox,
453
- {
454
- checked: draft.includes(f.value),
455
- onChange: () => toggle(f.value)
456
- }
457
- ),
458
- /* @__PURE__ */ jsx("span", { children: f.text })
459
- ] }, String(f.value))) }),
460
- /* @__PURE__ */ jsxs("div", { className: "table-filter-actions", children: [
585
+ /* @__PURE__ */ jsx("div", { className: "table-filter-options", children: (column.filters ?? []).map((f) => /* @__PURE__ */ jsx(InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsx(
586
+ Checkbox,
587
+ {
588
+ className: "table-filter-item",
589
+ label: f.text,
590
+ checked: draft.includes(f.value),
591
+ onChange: () => toggle(f.value)
592
+ }
593
+ ) }, String(f.value))) }),
594
+ /* @__PURE__ */ jsx("div", { className: "table-filter-actions", children: /* @__PURE__ */ jsxs(InternalComponentThemePart, { components: "Button", children: [
461
595
  /* @__PURE__ */ jsx(
462
- "button",
596
+ Button,
463
597
  {
464
- type: "button",
465
- className: "tf-btn ghost",
598
+ size: "sm",
599
+ variant: "ghost",
600
+ className: "tf-btn",
466
601
  onClick: () => {
467
602
  setDraft([]);
468
603
  onApply([]);
@@ -472,10 +607,11 @@ function ColumnFilterButton({
472
607
  }
473
608
  ),
474
609
  /* @__PURE__ */ jsx(
475
- "button",
610
+ Button,
476
611
  {
477
- type: "button",
478
- className: "tf-btn primary",
612
+ size: "sm",
613
+ variant: "primary",
614
+ className: "tf-btn",
479
615
  onClick: () => {
480
616
  onApply(draft);
481
617
  setOpen(false);
@@ -483,11 +619,11 @@ function ColumnFilterButton({
483
619
  children: "\u786E\u5B9A"
484
620
  }
485
621
  )
486
- ] })
622
+ ] }) })
487
623
  ]
488
624
  }
489
625
  ),
490
- document.body
626
+ portalContainer
491
627
  )
492
628
  ] });
493
629
  }