@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,12 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkL6GIV5DQ_cjs = require('./chunk-L6GIV5DQ.cjs');
4
- var chunkATUPFAPZ_cjs = require('./chunk-ATUPFAPZ.cjs');
5
- var chunkYB3IWIOJ_cjs = require('./chunk-YB3IWIOJ.cjs');
6
- var chunkQMX67CVT_cjs = require('./chunk-QMX67CVT.cjs');
7
- require('./tokens-RYJ3DFTU.css');
3
+ var chunkPJFYIXBX_cjs = require('./chunk-PJFYIXBX.cjs');
4
+ var chunkKCDOC3HS_cjs = require('./chunk-KCDOC3HS.cjs');
5
+ var chunkFJB3243S_cjs = require('./chunk-FJB3243S.cjs');
6
+ var chunkHSDMJUB6_cjs = require('./chunk-HSDMJUB6.cjs');
7
+ var chunkT4RR6NVU_cjs = require('./chunk-T4RR6NVU.cjs');
8
+ var chunk2AUXUZ3Z_cjs = require('./chunk-2AUXUZ3Z.cjs');
9
+ var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
10
+ var chunkEE5KXDRK_cjs = require('./chunk-EE5KXDRK.cjs');
11
+ require('./tokens-CEJVVA3G.css');
8
12
  require('./shared-NJHRNLRH.css');
9
- require('./Table-IWHIIGRJ.css');
13
+ require('./Table-KB6EEBDJ.css');
10
14
  var React = require('react');
11
15
  var reactDom = require('react-dom');
12
16
  var jsxRuntime = require('react/jsx-runtime');
@@ -31,6 +35,24 @@ function _interopNamespace(e) {
31
35
 
32
36
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
33
37
 
38
+ function filterTableEntries(entries, filters, columnMap) {
39
+ const activeEntries = Object.entries(filters);
40
+ if (activeEntries.length === 0) return entries;
41
+ return entries.filter(({ row }) => {
42
+ for (const [columnKey, values] of activeEntries) {
43
+ const column = columnMap.get(columnKey);
44
+ if (!column) continue;
45
+ const matches = values.some((value) => {
46
+ if (column.onFilter) return column.onFilter(value, row);
47
+ if (column.dataIndex == null) return false;
48
+ const cell = row[column.dataIndex];
49
+ return cell === value || String(cell) === String(value);
50
+ });
51
+ if (!matches) return false;
52
+ }
53
+ return true;
54
+ });
55
+ }
34
56
  var TableInner = ({
35
57
  columns,
36
58
  data,
@@ -41,6 +63,7 @@ var TableInner = ({
41
63
  sortKey,
42
64
  sortDir = "asc",
43
65
  onSort,
66
+ onChange,
44
67
  rowSelection,
45
68
  selectable,
46
69
  selected = [],
@@ -48,19 +71,29 @@ var TableInner = ({
48
71
  expandable,
49
72
  pagination,
50
73
  scroll,
74
+ tableProps,
75
+ caption,
51
76
  onRowClick,
77
+ activeRowKey,
78
+ rowClassName,
52
79
  empty = "\u6682\u65E0\u6570\u636E",
53
80
  className = "",
54
81
  style,
55
82
  ...rest
56
83
  }, ref) => {
57
- const keyOf = React__namespace.useCallback(
58
- (row, i) => {
59
- if (typeof rowKey === "function") return rowKey(row);
60
- if (rowKey) return row[rowKey];
61
- return i;
62
- },
63
- [rowKey]
84
+ const sourceEntries = React__namespace.useMemo(
85
+ () => data.map((row, sourceIndex) => {
86
+ let key;
87
+ if (typeof rowKey === "function") key = rowKey(row);
88
+ else if (rowKey) key = row[rowKey];
89
+ else key = sourceIndex;
90
+ return { row, key, sourceIndex };
91
+ }),
92
+ [data, rowKey]
93
+ );
94
+ const columnMap = React__namespace.useMemo(
95
+ () => new Map(columns.map((column) => [column.key, column])),
96
+ [columns]
64
97
  );
65
98
  const selectionMode = rowSelection ? "new" : selectable ? "legacy" : "off";
66
99
  const selectionType = rowSelection?.type ?? "checkbox";
@@ -100,47 +133,33 @@ var TableInner = ({
100
133
  }
101
134
  return out;
102
135
  }, [columns, innerFilters]);
103
- const setColumnFilter = (col, values) => {
104
- if (col.filteredValue !== void 0) return;
105
- setInnerFilters((prev) => {
106
- const next = { ...prev };
107
- if (values.length === 0) delete next[col.key];
108
- else next[col.key] = values;
109
- return next;
110
- });
111
- };
112
- const filteredData = React__namespace.useMemo(() => {
113
- const entries = Object.entries(activeFilters);
114
- if (entries.length === 0) return data;
115
- return data.filter((row) => {
116
- for (const [colKey, vals] of entries) {
117
- const col = columns.find((c) => c.key === colKey);
118
- if (!col) continue;
119
- const match = vals.some((v2) => {
120
- if (col.onFilter) return col.onFilter(v2, row);
121
- if (col.dataIndex != null) {
122
- const cell = row[col.dataIndex];
123
- return cell === v2 || String(cell) === String(v2);
124
- }
125
- return false;
126
- });
127
- if (!match) return false;
128
- }
129
- return true;
130
- });
131
- }, [data, columns, activeFilters]);
136
+ const filteredEntries = React__namespace.useMemo(
137
+ () => filterTableEntries(sourceEntries, activeFilters, columnMap),
138
+ [activeFilters, columnMap, sourceEntries]
139
+ );
140
+ const filteredData = React__namespace.useMemo(
141
+ () => filteredEntries.map(({ row }) => row),
142
+ [filteredEntries]
143
+ );
132
144
  const pagEnabled = pagination !== false && pagination !== void 0;
133
145
  const pagCfg = pagEnabled ? pagination : {};
134
146
  const [innerPage, setInnerPage] = React__namespace.useState(
135
- pagCfg.defaultCurrent ?? 1
147
+ Number.isFinite(pagCfg.defaultCurrent) ? Math.max(1, Math.trunc(pagCfg.defaultCurrent)) : 1
136
148
  );
137
149
  const [innerPageSize, setInnerPageSize] = React__namespace.useState(
138
- pagCfg.defaultPageSize ?? pagCfg.pageSize ?? 10
150
+ (() => {
151
+ const initial = pagCfg.defaultPageSize ?? pagCfg.pageSize ?? 10;
152
+ return Number.isFinite(initial) && initial > 0 ? Math.max(1, Math.trunc(initial)) : 10;
153
+ })()
139
154
  );
140
155
  const pageControlled = pagCfg.current !== void 0;
141
- const curPage = pageControlled ? pagCfg.current : innerPage;
142
- const curPageSize = pagCfg.pageSize ?? innerPageSize;
143
- const totalCount = pagCfg.total ?? filteredData.length;
156
+ const requestedPage = pageControlled ? pagCfg.current : innerPage;
157
+ const curPage = Number.isFinite(requestedPage) ? Math.max(1, Math.trunc(requestedPage)) : 1;
158
+ const requestedPageSize = pagCfg.pageSize ?? innerPageSize;
159
+ const curPageSize = Number.isFinite(requestedPageSize) && requestedPageSize > 0 ? Math.max(1, Math.trunc(requestedPageSize)) : 10;
160
+ const requestedTotal = pagCfg.total ?? filteredData.length;
161
+ const totalCount = Number.isFinite(requestedTotal) ? Math.max(0, Math.trunc(requestedTotal)) : filteredData.length;
162
+ const remotePagination = pagCfg.mode === "remote" || pagCfg.mode === void 0 && pagCfg.total !== void 0 && pageControlled;
144
163
  React__namespace.useEffect(() => {
145
164
  if (pagCfg.pageSize !== void 0 && pagCfg.pageSize !== innerPageSize) {
146
165
  setInnerPageSize(pagCfg.pageSize);
@@ -148,17 +167,44 @@ var TableInner = ({
148
167
  }, [pagCfg.pageSize]);
149
168
  React__namespace.useEffect(() => {
150
169
  if (!pagEnabled) return;
151
- const pages = Math.max(1, Math.ceil(filteredData.length / curPageSize));
170
+ const pages = Math.max(1, Math.ceil(totalCount / curPageSize));
152
171
  if (!pageControlled && curPage > pages) setInnerPage(pages);
153
- }, [filteredData.length, curPageSize, pagEnabled]);
154
- const pagedData = React__namespace.useMemo(() => {
155
- if (!pagEnabled) return filteredData;
156
- if (pagCfg.total !== void 0 && pageControlled) {
157
- return filteredData;
158
- }
172
+ }, [curPage, curPageSize, pagEnabled, pageControlled, totalCount]);
173
+ const pagedEntries = React__namespace.useMemo(() => {
174
+ if (!pagEnabled || remotePagination) return filteredEntries;
159
175
  const start = (curPage - 1) * curPageSize;
160
- return filteredData.slice(start, start + curPageSize);
161
- }, [pagEnabled, filteredData, curPage, curPageSize, pagCfg.total, pageControlled]);
176
+ return filteredEntries.slice(start, start + curPageSize);
177
+ }, [curPage, curPageSize, filteredEntries, pagEnabled, remotePagination]);
178
+ const emitChange = React__namespace.useCallback((action, overrides = {}) => {
179
+ const nextCurrent = overrides.current ?? curPage;
180
+ const nextPageSize = overrides.pageSize ?? curPageSize;
181
+ onChange?.({
182
+ action,
183
+ pagination: pagEnabled ? { current: nextCurrent, pageSize: nextPageSize, total: totalCount } : void 0,
184
+ filters: overrides.filters ?? activeFilters,
185
+ sorter: overrides.sorter ?? { key: sortKey, direction: sortKey ? sortDir : void 0 },
186
+ currentData: overrides.currentData ?? filteredData
187
+ });
188
+ }, [activeFilters, curPage, curPageSize, filteredData, onChange, pagEnabled, sortDir, sortKey, totalCount]);
189
+ const setColumnFilter = React__namespace.useCallback((column, values) => {
190
+ const nextFilters = { ...activeFilters };
191
+ if (values.length === 0) delete nextFilters[column.key];
192
+ else nextFilters[column.key] = values;
193
+ if (column.filteredValue === void 0) {
194
+ setInnerFilters((previous) => {
195
+ const next = { ...previous };
196
+ if (values.length === 0) delete next[column.key];
197
+ else next[column.key] = values;
198
+ return next;
199
+ });
200
+ }
201
+ if (pagEnabled) {
202
+ if (!pageControlled) setInnerPage(1);
203
+ pagCfg.onChange?.(1, curPageSize);
204
+ }
205
+ const nextData = filterTableEntries(sourceEntries, nextFilters, columnMap).map(({ row }) => row);
206
+ emitChange("filter", { current: 1, filters: nextFilters, currentData: nextData });
207
+ }, [activeFilters, columnMap, curPageSize, emitChange, pagCfg, pagEnabled, pageControlled, sourceEntries]);
162
208
  const skipNextPaginationChangeRef = React__namespace.useRef(false);
163
209
  const onPageChange = (p) => {
164
210
  if (skipNextPaginationChangeRef.current) {
@@ -167,34 +213,38 @@ var TableInner = ({
167
213
  }
168
214
  if (!pageControlled) setInnerPage(p);
169
215
  pagCfg.onChange?.(p, curPageSize);
216
+ emitChange("paginate", { current: p });
170
217
  };
171
218
  const onPageSizeChange = (_current, size) => {
172
219
  skipNextPaginationChangeRef.current = true;
173
220
  if (!pageControlled) setInnerPage(1);
174
221
  if (pagCfg.pageSize === void 0) setInnerPageSize(size);
175
222
  pagCfg.onChange?.(1, size);
223
+ emitChange("paginate", { current: 1, pageSize: size });
176
224
  };
177
225
  const [innerExpanded, setInnerExpanded] = React__namespace.useState(
178
226
  expandable?.defaultExpandedRowKeys ?? []
179
227
  );
180
228
  const expandControlled = expandable?.expandedRowKeys !== void 0;
181
229
  const expandedKeys = expandControlled ? expandable.expandedRowKeys : innerExpanded;
230
+ const expandedKeySet = React__namespace.useMemo(() => new Set(expandedKeys), [expandedKeys]);
231
+ const selectedKeySet = React__namespace.useMemo(() => new Set(selectedKeys), [selectedKeys]);
182
232
  const hasExpandable = !!expandable?.expandedRowRender;
183
233
  const toggleExpand = (row, k) => {
184
- const isOpen = expandedKeys.includes(k);
234
+ const isOpen = expandedKeySet.has(k);
185
235
  const next = isOpen ? expandedKeys.filter((x) => x !== k) : [...expandedKeys, k];
186
236
  if (!expandControlled) setInnerExpanded(next);
187
237
  expandable?.onExpand?.(!isOpen, row);
188
238
  };
189
239
  const v = variant ?? (striped ? "striped" : "default");
190
- const rowsToRender = pagedData;
191
- const selectableKeysOnPage = rowsToRender.map((r, i) => ({ row: r, k: keyOf(r, i) })).filter(({ row }) => {
240
+ const rowsToRender = pagedEntries;
241
+ const selectableKeysOnPage = rowsToRender.map(({ row, key }) => ({ row, k: key })).filter(({ row }) => {
192
242
  if (selectionMode !== "new") return true;
193
243
  const props = rowSelection?.getCheckboxProps?.(row);
194
244
  return !props?.disabled;
195
245
  });
196
- const allSelectedOnPage = selectionMode !== "off" && selectableKeysOnPage.length > 0 && selectableKeysOnPage.every(({ k }) => selectedKeys.includes(k));
197
- const someSelectedOnPage = selectionMode !== "off" && selectableKeysOnPage.some(({ k }) => selectedKeys.includes(k)) && !allSelectedOnPage;
246
+ const allSelectedOnPage = selectionMode !== "off" && selectableKeysOnPage.length > 0 && selectableKeysOnPage.every(({ k }) => selectedKeySet.has(k));
247
+ const someSelectedOnPage = selectionMode !== "off" && selectableKeysOnPage.some(({ k }) => selectedKeySet.has(k)) && !allSelectedOnPage;
198
248
  const toggleRow = (row, k) => {
199
249
  if (selectionMode === "new") {
200
250
  const props = rowSelection?.getCheckboxProps?.(row);
@@ -203,12 +253,13 @@ var TableInner = ({
203
253
  if (selectionType === "radio") {
204
254
  next = [k];
205
255
  } else {
206
- next = selectedKeys.includes(k) ? selectedKeys.filter((x) => x !== k) : [...selectedKeys, k];
256
+ next = selectedKeySet.has(k) ? selectedKeys.filter((x) => x !== k) : [...selectedKeys, k];
207
257
  }
208
- const nextRows = data.filter((r, i) => next.includes(keyOf(r, i)));
258
+ const nextSet = new Set(next);
259
+ const nextRows = sourceEntries.filter(({ key }) => nextSet.has(key)).map(({ row: item }) => item);
209
260
  commitSelected(next, nextRows);
210
261
  } else if (selectionMode === "legacy") {
211
- const next = selectedKeys.includes(k) ? selectedKeys.filter((x) => x !== k) : [...selectedKeys, k];
262
+ const next = selectedKeySet.has(k) ? selectedKeys.filter((x) => x !== k) : [...selectedKeys, k];
212
263
  commitSelected(next, []);
213
264
  }
214
265
  };
@@ -218,13 +269,15 @@ var TableInner = ({
218
269
  if (allSelectedOnPage) {
219
270
  const pageKeys = new Set(selectableKeysOnPage.map(({ k }) => k));
220
271
  const next = selectedKeys.filter((k) => !pageKeys.has(k));
221
- const nextRows = data.filter((r, i) => next.includes(keyOf(r, i)));
272
+ const nextSet = new Set(next);
273
+ const nextRows = sourceEntries.filter(({ key }) => nextSet.has(key)).map(({ row }) => row);
222
274
  commitSelected(next, nextRows);
223
275
  } else {
224
276
  const set = new Set(selectedKeys);
225
277
  selectableKeysOnPage.forEach(({ k }) => set.add(k));
226
278
  const next = Array.from(set);
227
- const nextRows = data.filter((r, i) => next.includes(keyOf(r, i)));
279
+ const nextSet = new Set(next);
280
+ const nextRows = sourceEntries.filter(({ key }) => nextSet.has(key)).map(({ row }) => row);
228
281
  commitSelected(next, nextRows);
229
282
  }
230
283
  };
@@ -232,6 +285,18 @@ var TableInner = ({
232
285
  const showExpandCol = hasExpandable;
233
286
  const extraColCount = (showSelCol ? 1 : 0) + (showExpandCol ? 1 : 0);
234
287
  const totalColCount = columns.length + extraColCount;
288
+ const handleSort = React__namespace.useCallback((columnKey) => {
289
+ const nextDirection = sortKey === columnKey && sortDir === "asc" ? "desc" : "asc";
290
+ onSort?.(columnKey);
291
+ if (pagEnabled) {
292
+ if (!pageControlled) setInnerPage(1);
293
+ pagCfg.onChange?.(1, curPageSize);
294
+ }
295
+ emitChange("sort", {
296
+ current: 1,
297
+ sorter: { key: columnKey, direction: nextDirection }
298
+ });
299
+ }, [curPageSize, emitChange, onSort, pagCfg, pagEnabled, pageControlled, sortDir, sortKey]);
235
300
  const wrapStyle = {};
236
301
  const innerTableStyle = {};
237
302
  let wrapClass = "table-wrap";
@@ -245,6 +310,11 @@ var TableInner = ({
245
310
  innerTableStyle.minWidth = scroll.x;
246
311
  wrapClass += " scroll-x";
247
312
  }
313
+ const {
314
+ className: nativeTableClassName = "",
315
+ style: nativeTableStyle,
316
+ ...nativeTableProps
317
+ } = tableProps ?? {};
248
318
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
249
319
  /* @__PURE__ */ jsxRuntime.jsx(
250
320
  "div",
@@ -256,19 +326,22 @@ var TableInner = ({
256
326
  children: /* @__PURE__ */ jsxRuntime.jsxs(
257
327
  "table",
258
328
  {
259
- className: `table ${v} ${hoverable ? "hoverable" : ""} ${scroll?.y != null ? "sticky-head" : ""}`,
260
- style: innerTableStyle,
329
+ ...nativeTableProps,
330
+ className: `table ${v} ${hoverable ? "hoverable" : ""} ${scroll?.y != null ? "sticky-head" : ""} ${nativeTableClassName}`,
331
+ style: { ...innerTableStyle, ...nativeTableStyle },
261
332
  children: [
333
+ caption != null && /* @__PURE__ */ jsxRuntime.jsx("caption", { children: caption }),
262
334
  /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
263
- showExpandCol && /* @__PURE__ */ jsxRuntime.jsx("th", { className: "row-expand", style: { width: 40 } }),
264
- showSelCol && /* @__PURE__ */ jsxRuntime.jsx("th", { className: "row-check", style: { width: 44 }, children: selectionType === "checkbox" && /* @__PURE__ */ jsxRuntime.jsx(
265
- chunkATUPFAPZ_cjs.Checkbox,
335
+ showExpandCol && /* @__PURE__ */ jsxRuntime.jsx("th", { scope: "col", className: "row-expand", style: { width: 40 } }),
336
+ showSelCol && /* @__PURE__ */ jsxRuntime.jsx("th", { scope: "col", className: "row-check", style: { width: 44 }, children: selectionType === "checkbox" && /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsxRuntime.jsx(
337
+ chunkKCDOC3HS_cjs.Checkbox,
266
338
  {
267
339
  checked: allSelectedOnPage,
268
340
  indeterminate: someSelectedOnPage,
269
- onChange: toggleAll
341
+ onChange: toggleAll,
342
+ label: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "table-sr-only", children: "\u9009\u62E9\u5F53\u524D\u9875" })
270
343
  }
271
- ) }),
344
+ ) }) }),
272
345
  columns.map((c) => {
273
346
  const sorted = sortKey === c.key;
274
347
  const hasFilters = !!c.filters?.length;
@@ -278,16 +351,29 @@ var TableInner = ({
278
351
  {
279
352
  className: `${c.sortable ? "sortable" : ""} ${sorted ? "sorted" : ""} ${hasFilters ? "filterable" : ""}`,
280
353
  style: { width: c.width, textAlign: c.align ?? "left" },
281
- onClick: () => c.sortable && onSort?.(c.key),
354
+ scope: "col",
355
+ "aria-sort": c.sortable ? sorted ? sortDir === "asc" ? "ascending" : "descending" : "none" : void 0,
282
356
  children: [
283
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "th-label", children: c.title }),
284
- c.sortable && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sort-ind", children: /* @__PURE__ */ jsxRuntime.jsx(
285
- chunkQMX67CVT_cjs.Icon,
357
+ c.sortable ? /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Button", children: /* @__PURE__ */ jsxRuntime.jsxs(
358
+ chunkT4RR6NVU_cjs.Button,
286
359
  {
287
- name: sorted ? sortDir === "asc" ? "chevUp" : "chevDown" : "chevDown",
288
- size: 10
360
+ type: "button",
361
+ size: "sm",
362
+ variant: "ghost",
363
+ className: "table-sort-trigger",
364
+ onClick: () => handleSort(c.key),
365
+ children: [
366
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "th-label", children: c.title }),
367
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sort-ind", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(
368
+ chunk2AUXUZ3Z_cjs.Icon,
369
+ {
370
+ name: sorted ? sortDir === "asc" ? "chevUp" : "chevDown" : "chevDown",
371
+ size: 10
372
+ }
373
+ ) })
374
+ ]
289
375
  }
290
- ) }),
376
+ ) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "th-label", children: c.title }),
291
377
  hasFilters && /* @__PURE__ */ jsxRuntime.jsx(
292
378
  ColumnFilterButton,
293
379
  {
@@ -303,20 +389,36 @@ var TableInner = ({
303
389
  );
304
390
  })
305
391
  ] }) }),
306
- /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rowsToRender.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: totalColCount, className: "table-empty", children: empty }) }) : rowsToRender.map((row, i) => {
307
- const k = keyOf(row, i);
308
- const isSel = selectedKeys.includes(k);
392
+ /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rowsToRender.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: totalColCount, className: "table-empty", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-empty-content", children: empty }) }) }) : rowsToRender.map(({ row, key: k }, i) => {
393
+ const isSel = selectedKeySet.has(k);
394
+ const isActive = activeRowKey !== void 0 && activeRowKey === k;
395
+ const resolvedRowClassName = typeof rowClassName === "function" ? rowClassName(row, i) : rowClassName;
309
396
  const selProps = rowSelection?.getCheckboxProps?.(row);
310
397
  const canExpand = hasExpandable && (expandable?.rowExpandable?.(row) ?? true);
311
- const isExpanded = canExpand && expandedKeys.includes(k);
398
+ const isExpanded = canExpand && expandedKeySet.has(k);
312
399
  const cardSurfaceTarget = showExpandCol ? "__expand" : showSelCol ? "__select" : columns[0]?.key;
313
400
  const cardRowSurface = v === "cards" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "card-row-surface", "aria-hidden": "true" }) : null;
314
401
  return /* @__PURE__ */ jsxRuntime.jsxs(React__namespace.Fragment, { children: [
315
402
  /* @__PURE__ */ jsxRuntime.jsxs(
316
403
  "tr",
317
404
  {
318
- className: `${onRowClick ? "clickable" : ""} ${isSel ? "selected" : ""}`,
405
+ className: [
406
+ onRowClick ? "clickable" : "",
407
+ isSel ? "selected" : "",
408
+ isActive ? "active-row" : "",
409
+ resolvedRowClassName
410
+ ].filter(Boolean).join(" "),
319
411
  onClick: onRowClick ? () => onRowClick(row, i) : void 0,
412
+ tabIndex: onRowClick ? 0 : void 0,
413
+ "aria-selected": selectionMode !== "off" ? isSel : void 0,
414
+ "aria-current": isActive ? "true" : void 0,
415
+ onKeyDown: onRowClick ? (event) => {
416
+ if (event.currentTarget !== event.target) return;
417
+ if (event.key === "Enter" || event.key === " ") {
418
+ event.preventDefault();
419
+ onRowClick(row, i);
420
+ }
421
+ } : void 0,
320
422
  children: [
321
423
  showExpandCol && /* @__PURE__ */ jsxRuntime.jsxs(
322
424
  "td",
@@ -339,7 +441,7 @@ var TableInner = ({
339
441
  e.stopPropagation();
340
442
  toggleExpand(row, k);
341
443
  },
342
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "chevRight", size: 12 })
444
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "chevRight", size: 12 })
343
445
  }
344
446
  )
345
447
  ]
@@ -349,10 +451,7 @@ var TableInner = ({
349
451
  "td",
350
452
  {
351
453
  className: "row-check",
352
- onClick: (e) => {
353
- e.stopPropagation();
354
- toggleRow(row, k);
355
- },
454
+ onClick: (event) => event.stopPropagation(),
356
455
  children: [
357
456
  cardSurfaceTarget === "__select" && cardRowSurface,
358
457
  selectionType === "radio" ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -361,6 +460,7 @@ var TableInner = ({
361
460
  type: "button",
362
461
  role: "radio",
363
462
  "aria-checked": isSel,
463
+ "aria-label": `\u9009\u62E9\u7B2C ${i + 1} \u884C`,
364
464
  disabled: selProps?.disabled,
365
465
  className: `radio-dot ${isSel ? "checked" : ""}`,
366
466
  onClick: (e) => {
@@ -368,14 +468,19 @@ var TableInner = ({
368
468
  toggleRow(row, k);
369
469
  }
370
470
  }
371
- ) : /* @__PURE__ */ jsxRuntime.jsx(
372
- chunkATUPFAPZ_cjs.Checkbox,
471
+ ) : /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsxRuntime.jsx(
472
+ chunkKCDOC3HS_cjs.Checkbox,
373
473
  {
374
474
  checked: isSel,
375
475
  disabled: selProps?.disabled,
376
- onChange: () => toggleRow(row, k)
476
+ onChange: () => toggleRow(row, k),
477
+ label: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "table-sr-only", children: [
478
+ "\u9009\u62E9\u7B2C ",
479
+ i + 1,
480
+ " \u884C"
481
+ ] })
377
482
  }
378
- )
483
+ ) })
379
484
  ]
380
485
  }
381
486
  ),
@@ -397,8 +502,8 @@ var TableInner = ({
397
502
  )
398
503
  }
399
504
  ),
400
- pagEnabled && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-pagination", children: /* @__PURE__ */ jsxRuntime.jsx(
401
- chunkL6GIV5DQ_cjs.Pagination,
505
+ pagEnabled && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-pagination", children: /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Pagination", children: /* @__PURE__ */ jsxRuntime.jsx(
506
+ chunkPJFYIXBX_cjs.Pagination,
402
507
  {
403
508
  total: totalCount,
404
509
  pageSize: curPageSize,
@@ -409,11 +514,16 @@ var TableInner = ({
409
514
  pageSizeOptions: pagCfg.pageSizeOptions,
410
515
  onShowSizeChange: onPageSizeChange
411
516
  }
412
- ) })
517
+ ) }) })
413
518
  ] });
414
519
  };
415
- var Table = React__namespace.forwardRef(TableInner);
416
- Table.displayName = "Table";
520
+ var TableBase = React__namespace.forwardRef(TableInner);
521
+ TableBase.displayName = "Table";
522
+ var Table = chunkNRJXZPZR_cjs.withComponentTheme(
523
+ TableBase,
524
+ "Table",
525
+ ["table", "button", "checkbox", "pagination", "select", "input"]
526
+ );
417
527
  function ColumnFilterButton({
418
528
  column,
419
529
  activeValues,
@@ -422,16 +532,32 @@ function ColumnFilterButton({
422
532
  }) {
423
533
  const [open, setOpen] = React__namespace.useState(false);
424
534
  const [draft, setDraft] = React__namespace.useState(activeValues);
425
- const panelRef = React__namespace.useRef(null);
426
- const { triggerRef, floatingStyle } = chunkYB3IWIOJ_cjs.useFloating({
535
+ const portalContainer = chunkEE5KXDRK_cjs.usePortalContainer();
536
+ const portalTheme = chunkNRJXZPZR_cjs.useComponentPortalTheme(["Table", "TablePro"]);
537
+ const panelId = React__namespace.useId();
538
+ const { triggerRef, floatingRef: panelRef, floatingStyle, zIndex: panelZIndex } = chunkFJB3243S_cjs.useFloating({
427
539
  open,
428
540
  placement: "bottom",
429
541
  panelWidth: 200,
430
542
  panelHeight: Math.min(260, (column.filters?.length ?? 0) * 32 + 80),
431
543
  alignCross: "end"
432
544
  });
545
+ const closeFromEscape = React__namespace.useCallback(() => {
546
+ setOpen(false);
547
+ window.requestAnimationFrame(() => triggerRef.current?.focus());
548
+ }, [triggerRef]);
549
+ chunkHSDMJUB6_cjs.useOverlayLayer({
550
+ open: open && portalContainer != null,
551
+ containerRef: panelRef,
552
+ ownerRef: triggerRef,
553
+ zIndex: panelZIndex,
554
+ onEscape: closeFromEscape
555
+ });
433
556
  React__namespace.useEffect(() => {
434
- if (open) setDraft(activeValues);
557
+ if (open) {
558
+ setDraft(activeValues);
559
+ window.requestAnimationFrame(() => panelRef.current?.focus());
560
+ }
435
561
  }, [open, activeValues]);
436
562
  React__namespace.useEffect(() => {
437
563
  if (!open) return;
@@ -446,45 +572,54 @@ function ColumnFilterButton({
446
572
  }, [open]);
447
573
  const toggle = (v) => setDraft((d) => d.includes(v) ? d.filter((x) => x !== v) : [...d, v]);
448
574
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
449
- /* @__PURE__ */ jsxRuntime.jsx(
450
- "button",
575
+ /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "IconButton", children: /* @__PURE__ */ jsxRuntime.jsx(
576
+ chunkT4RR6NVU_cjs.IconButton,
451
577
  {
452
578
  ref: triggerRef,
453
- type: "button",
579
+ icon: "filter",
580
+ size: "sm",
581
+ variant: "ghost",
454
582
  className: `filter-ind ${active ? "active" : ""}`,
455
- "aria-label": "Filter column",
583
+ tip: "\u7B5B\u9009\u5217",
584
+ "aria-expanded": open,
585
+ "aria-controls": open ? panelId : void 0,
586
+ "aria-haspopup": "dialog",
456
587
  onClick: (e) => {
457
588
  e.stopPropagation();
458
589
  setOpen((o) => !o);
459
- },
460
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "filter", size: 10 })
590
+ }
461
591
  }
462
- ),
463
- open && typeof document !== "undefined" && reactDom.createPortal(
592
+ ) }),
593
+ open && portalContainer && reactDom.createPortal(
464
594
  /* @__PURE__ */ jsxRuntime.jsxs(
465
595
  "div",
466
596
  {
597
+ id: panelId,
467
598
  ref: panelRef,
468
599
  className: "table-filter-panel",
469
- style: floatingStyle,
600
+ ...portalTheme.dataAttributes,
601
+ style: { ...floatingStyle, ...portalTheme.style, ...portalTheme.styles.popup },
602
+ role: "dialog",
603
+ "aria-label": "\u5217\u7B5B\u9009",
604
+ tabIndex: -1,
470
605
  onClick: (e) => e.stopPropagation(),
471
606
  children: [
472
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-filter-options", children: (column.filters ?? []).map((f) => /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "table-filter-item", children: [
473
- /* @__PURE__ */ jsxRuntime.jsx(
474
- chunkATUPFAPZ_cjs.Checkbox,
475
- {
476
- checked: draft.includes(f.value),
477
- onChange: () => toggle(f.value)
478
- }
479
- ),
480
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: f.text })
481
- ] }, String(f.value))) }),
482
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "table-filter-actions", children: [
607
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-filter-options", children: (column.filters ?? []).map((f) => /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsxRuntime.jsx(
608
+ chunkKCDOC3HS_cjs.Checkbox,
609
+ {
610
+ className: "table-filter-item",
611
+ label: f.text,
612
+ checked: draft.includes(f.value),
613
+ onChange: () => toggle(f.value)
614
+ }
615
+ ) }, String(f.value))) }),
616
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-filter-actions", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Button", children: [
483
617
  /* @__PURE__ */ jsxRuntime.jsx(
484
- "button",
618
+ chunkT4RR6NVU_cjs.Button,
485
619
  {
486
- type: "button",
487
- className: "tf-btn ghost",
620
+ size: "sm",
621
+ variant: "ghost",
622
+ className: "tf-btn",
488
623
  onClick: () => {
489
624
  setDraft([]);
490
625
  onApply([]);
@@ -494,10 +629,11 @@ function ColumnFilterButton({
494
629
  }
495
630
  ),
496
631
  /* @__PURE__ */ jsxRuntime.jsx(
497
- "button",
632
+ chunkT4RR6NVU_cjs.Button,
498
633
  {
499
- type: "button",
500
- className: "tf-btn primary",
634
+ size: "sm",
635
+ variant: "primary",
636
+ className: "tf-btn",
501
637
  onClick: () => {
502
638
  onApply(draft);
503
639
  setOpen(false);
@@ -505,11 +641,11 @@ function ColumnFilterButton({
505
641
  children: "\u786E\u5B9A"
506
642
  }
507
643
  )
508
- ] })
644
+ ] }) })
509
645
  ]
510
646
  }
511
647
  ),
512
- document.body
648
+ portalContainer
513
649
  )
514
650
  ] });
515
651
  }