@fangxinyan/lumina 0.6.17 → 0.7.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 (464) 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-TDCXJISG.css → Image-CZJPPURT.css} +95 -14
  107. package/dist/Image.cjs +10 -6
  108. package/dist/Image.d.cts +23 -25
  109. package/dist/Image.d.ts +23 -25
  110. package/dist/Image.js +6 -2
  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 +24 -3
  159. package/dist/Select.d.ts +24 -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 +8 -12
  179. package/dist/Splitter.d.ts +8 -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-W4HPZ7MZ.css} +78 -53
  197. package/dist/Table.cjs +14 -10
  198. package/dist/Table.d.cts +32 -3
  199. package/dist/Table.d.ts +32 -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-A3IG6UZ6.css} +10 -10
  207. package/dist/Tabs.cjs +4 -2
  208. package/dist/Tabs.d.cts +2 -2
  209. package/dist/Tabs.d.ts +2 -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-E22OIVYP.js → chunk-3EHJ5QI3.js} +202 -69
  258. package/dist/{chunk-X5MYHDEQ.cjs → chunk-3EMWDDWK.cjs} +372 -117
  259. package/dist/chunk-3F424R5P.js +143 -0
  260. package/dist/chunk-3IZZBM56.js +269 -0
  261. package/dist/{chunk-DUFRASGO.js → chunk-3QXP2ZNP.js} +18 -23
  262. package/dist/{chunk-5QEI7GGA.cjs → chunk-434Y2JVW.cjs} +60 -27
  263. package/dist/{chunk-SOCYOUGM.js → chunk-4SKHRPDH.js} +168 -64
  264. package/dist/{chunk-L6GIV5DQ.cjs → chunk-56I6ZKGU.cjs} +40 -22
  265. package/dist/{chunk-R3DTXVP2.js → chunk-5AXNUX3J.js} +8 -5
  266. package/dist/chunk-5CZA33BK.cjs +229 -0
  267. package/dist/{chunk-6K5YI4ZE.js → chunk-62VV5COT.js} +16 -6
  268. package/dist/chunk-6DKPJ5LV.cjs +294 -0
  269. package/dist/{chunk-OTSDPQPV.js → chunk-6RQJXSWN.js} +50 -30
  270. package/dist/{chunk-V5KUC5VH.cjs → chunk-77HU7JWK.cjs} +40 -13
  271. package/dist/chunk-7QAVPVMW.js +180 -0
  272. package/dist/chunk-7VLAHOA7.cjs +191 -0
  273. package/dist/chunk-ALAG4ZUH.js +72 -0
  274. package/dist/chunk-ARUN2DMD.js +39 -0
  275. package/dist/chunk-AUO2YYHB.js +248 -0
  276. package/dist/{chunk-6MEOLYNQ.js → chunk-AURYNA6G.js} +6 -5
  277. package/dist/chunk-BIPOXOHP.cjs +287 -0
  278. package/dist/{chunk-V5SQOZPF.js → chunk-BJDQVVCG.js} +38 -20
  279. package/dist/{chunk-BVQOJKRX.js → chunk-BKW5PXEO.js} +115 -72
  280. package/dist/{chunk-UW57F3UO.cjs → chunk-D7YSY5RZ.cjs} +208 -75
  281. package/dist/chunk-DRDDQCDD.js +322 -0
  282. package/dist/chunk-DU2DSERH.js +190 -0
  283. package/dist/{chunk-PSQ3HNZP.cjs → chunk-E66PSVBU.cjs} +106 -19
  284. package/dist/{chunk-UGAN4BBW.js → chunk-EA3NZBCZ.js} +251 -125
  285. package/dist/chunk-EAUB6FEN.js +262 -0
  286. package/dist/chunk-EE5KXDRK.cjs +1223 -0
  287. package/dist/chunk-EE7IJ3MB.js +1 -0
  288. package/dist/{chunk-NXBFEIUX.cjs → chunk-ENFLP7SN.cjs} +255 -129
  289. package/dist/chunk-EUTK2ZRJ.cjs +61 -0
  290. package/dist/chunk-F7WUCOBP.cjs +828 -0
  291. package/dist/{chunk-YB3IWIOJ.cjs → chunk-FJB3243S.cjs} +18 -23
  292. package/dist/chunk-FKCPSVC4.cjs +188 -0
  293. package/dist/chunk-FMUHLIHB.cjs +94 -0
  294. package/dist/chunk-FY73C7JK.js +520 -0
  295. package/dist/{chunk-6EOSMK34.cjs → chunk-G5LCOBOT.cjs} +20 -1
  296. package/dist/{chunk-5ERD3W24.cjs → chunk-GFKWSDD6.cjs} +18 -8
  297. package/dist/{chunk-T2O4DTDE.cjs → chunk-GTFP7HA3.cjs} +58 -32
  298. package/dist/chunk-HQFKXTX6.js +60 -0
  299. package/dist/chunk-HSDMJUB6.cjs +319 -0
  300. package/dist/chunk-HVPUGYBY.js +166 -0
  301. package/dist/chunk-HYHBCHFM.cjs +167 -0
  302. package/dist/chunk-HYJSMFZA.cjs +2 -0
  303. package/dist/chunk-I4YPBAQ5.js +163 -0
  304. package/dist/{chunk-IPSNC5VZ.js → chunk-JHM7MN3G.js} +15 -7
  305. package/dist/{chunk-4ACCOYBY.cjs → chunk-JINKQT6H.cjs} +20 -8
  306. package/dist/{chunk-6Q76VLCE.cjs → chunk-JKUXA3U6.cjs} +50 -30
  307. package/dist/{chunk-D7GK6H6V.js → chunk-K5HGHOG7.js} +50 -21
  308. package/dist/chunk-KATJAJUU.js +78 -0
  309. package/dist/chunk-KCDOC3HS.cjs +100 -0
  310. package/dist/{chunk-M4NJTJKV.cjs → chunk-LDX6Q6RK.cjs} +8 -5
  311. package/dist/chunk-LEDESWNL.js +83 -0
  312. package/dist/chunk-LG62MPMU.cjs +213 -0
  313. package/dist/{chunk-7NTTRKNT.js → chunk-LJVQQEME.js} +54 -28
  314. package/dist/chunk-LOWTSOWT.js +199 -0
  315. package/dist/{chunk-FDZG27IG.js → chunk-LQMOYVQF.js} +57 -32
  316. package/dist/{chunk-P2OQTJZP.cjs → chunk-MCDW3VKZ.cjs} +17 -6
  317. package/dist/{chunk-BT2RXFT4.cjs → chunk-MUZQWIMR.cjs} +121 -78
  318. package/dist/chunk-NRJXZPZR.cjs +351 -0
  319. package/dist/chunk-O6G3F5L4.js +311 -0
  320. package/dist/{chunk-3VSHGM54.js → chunk-OLYSSZHP.js} +126 -68
  321. package/dist/{chunk-A4Z7PLHV.cjs → chunk-PIJV2FHO.cjs} +135 -77
  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-RAK6CENJ.js +83 -0
  331. package/dist/{chunk-BW76ENTW.cjs → chunk-RERMZNF3.cjs} +10 -9
  332. package/dist/chunk-RMGFRAZ2.cjs +270 -0
  333. package/dist/chunk-RPO7657K.js +228 -0
  334. package/dist/chunk-STQDKMS5.cjs +288 -0
  335. package/dist/{chunk-HG6YS4I7.js → chunk-SXLRWYQQ.js} +71 -24
  336. package/dist/{chunk-SW2HMNCA.cjs → chunk-T4RR6NVU.cjs} +17 -9
  337. package/dist/{chunk-6SPMHY54.js → chunk-TSL3F2K3.js} +20 -2
  338. package/dist/{chunk-BNY2NVTL.cjs → chunk-TYZ6L7E6.cjs} +48 -28
  339. package/dist/{chunk-MOZ52KN6.js → chunk-U3SG2YT2.js} +39 -12
  340. package/dist/{chunk-POU3W5J3.cjs → chunk-U5YYOOLC.cjs} +13 -6
  341. package/dist/chunk-U7VEPMCX.cjs +221 -0
  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-2FOC3D6X.js → chunk-WMZV7PNO.js} +19 -7
  350. package/dist/{chunk-MYW7LNB2.cjs → chunk-WROF2PVG.cjs} +40 -21
  351. package/dist/chunk-XZXY3XCL.cjs +105 -0
  352. package/dist/chunk-Y22PTPA7.js +800 -0
  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 +12 -10
  366. package/dist/index.d.ts +12 -10
  367. package/dist/index.js +56 -53
  368. package/dist/styles.css +1697 -692
  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 +20 -4
  386. package/docs/llms/form.md +5 -2
  387. package/docs/llms/icon.md +25 -1
  388. package/docs/llms/image.md +22 -1
  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 +29 -2
  397. package/docs/llms/sidebar.md +24 -0
  398. package/docs/llms/slider.md +5 -2
  399. package/docs/llms/splitter.md +5 -2
  400. package/docs/llms/switch.md +13 -0
  401. package/docs/llms/table.md +7 -8
  402. package/docs/llms/theme.md +83 -28
  403. package/docs/llms/themepanel.md +1 -0
  404. package/docs/llms/titlebar.md +1 -0
  405. package/docs/llms/tooltip.md +7 -2
  406. package/docs/llms/typography.md +27 -3
  407. package/docs/llms/windowcontrols.md +11 -3
  408. package/docs/llms.md +2 -2
  409. package/package.json +212 -2
  410. package/dist/Avatar-TNPOHVY5.css +0 -40
  411. package/dist/Badge-DPGLV3D3.css +0 -22
  412. package/dist/Card-W3ATFUJW.css +0 -77
  413. package/dist/Cascader-ANEQUPMI.css +0 -150
  414. package/dist/Checkbox-EDNPZRIP.css +0 -42
  415. package/dist/List-LSMU5QAC.css +0 -26
  416. package/dist/Pagination-YSZSNFHG.css +0 -68
  417. package/dist/Progress-CZNXCYGW.css +0 -80
  418. package/dist/Slider-UM2IZZBH.css +0 -127
  419. package/dist/Tag-G2XWAL7A.css +0 -42
  420. package/dist/chunk-262ED6WQ.cjs +0 -88
  421. package/dist/chunk-4HJBF4GY.js +0 -218
  422. package/dist/chunk-4TTRHEGM.cjs +0 -217
  423. package/dist/chunk-5A6KSYWA.cjs +0 -67
  424. package/dist/chunk-5MOYKVB7.js +0 -192
  425. package/dist/chunk-7IO3EOHN.cjs +0 -200
  426. package/dist/chunk-7QXP6DXC.cjs +0 -129
  427. package/dist/chunk-AAPZLBHQ.js +0 -165
  428. package/dist/chunk-ARUPS7JH.js +0 -66
  429. package/dist/chunk-ATUPFAPZ.cjs +0 -76
  430. package/dist/chunk-CFZVWY5N.js +0 -178
  431. package/dist/chunk-DSLYWX4O.js +0 -25
  432. package/dist/chunk-EQ4FPOQQ.js +0 -253
  433. package/dist/chunk-FQJY4D3T.cjs +0 -47
  434. package/dist/chunk-GNV6W4BN.js +0 -495
  435. package/dist/chunk-HBO7ZDEQ.js +0 -29
  436. package/dist/chunk-I777JTTG.js +0 -150
  437. package/dist/chunk-IOAOG5L7.js +0 -191
  438. package/dist/chunk-IOUAZYK2.cjs +0 -116
  439. package/dist/chunk-IZHH6CVY.js +0 -123
  440. package/dist/chunk-JFL2WMJZ.js +0 -106
  441. package/dist/chunk-KMPFESEV.js +0 -41
  442. package/dist/chunk-KYV75JPQ.js +0 -147
  443. package/dist/chunk-N7OQNSII.cjs +0 -145
  444. package/dist/chunk-P64NPZBG.js +0 -113
  445. package/dist/chunk-PKNRTFNE.cjs +0 -526
  446. package/dist/chunk-PU7VXDAS.js +0 -64
  447. package/dist/chunk-RFI5R42I.cjs +0 -138
  448. package/dist/chunk-RMFSX7DO.cjs +0 -281
  449. package/dist/chunk-RR2BKV65.js +0 -39
  450. package/dist/chunk-RSSOX4RQ.cjs +0 -240
  451. package/dist/chunk-RZEFKXL3.cjs +0 -104
  452. package/dist/chunk-S7IHWY24.js +0 -81
  453. package/dist/chunk-SOQ56ZI2.cjs +0 -49
  454. package/dist/chunk-TBNPJPYG.cjs +0 -61
  455. package/dist/chunk-TJECLLN4.js +0 -344
  456. package/dist/chunk-ULUD3FED.cjs +0 -138
  457. package/dist/chunk-VA2I7ZAL.cjs +0 -190
  458. package/dist/chunk-VS3I5OKA.cjs +0 -214
  459. package/dist/chunk-WMGMIE2D.js +0 -113
  460. package/dist/chunk-X7XP6GEI.cjs +0 -63
  461. package/dist/chunk-XCXUGHDF.js +0 -91
  462. package/dist/chunk-YAFDVNXT.js +0 -27
  463. package/dist/chunk-ZD3L4V3H.js +0 -54
  464. package/dist/chunk-ZTCRD2FL.js +0 -45
@@ -0,0 +1 @@
1
+
@@ -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 chunk56I6ZKGU_cjs = require('./chunk-56I6ZKGU.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-W4HPZ7MZ.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,27 @@ var TableInner = ({
48
71
  expandable,
49
72
  pagination,
50
73
  scroll,
74
+ tableProps,
75
+ caption,
51
76
  onRowClick,
52
77
  empty = "\u6682\u65E0\u6570\u636E",
53
78
  className = "",
54
79
  style,
55
80
  ...rest
56
81
  }, 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]
82
+ const sourceEntries = React__namespace.useMemo(
83
+ () => data.map((row, sourceIndex) => {
84
+ let key;
85
+ if (typeof rowKey === "function") key = rowKey(row);
86
+ else if (rowKey) key = row[rowKey];
87
+ else key = sourceIndex;
88
+ return { row, key, sourceIndex };
89
+ }),
90
+ [data, rowKey]
91
+ );
92
+ const columnMap = React__namespace.useMemo(
93
+ () => new Map(columns.map((column) => [column.key, column])),
94
+ [columns]
64
95
  );
65
96
  const selectionMode = rowSelection ? "new" : selectable ? "legacy" : "off";
66
97
  const selectionType = rowSelection?.type ?? "checkbox";
@@ -100,47 +131,33 @@ var TableInner = ({
100
131
  }
101
132
  return out;
102
133
  }, [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]);
134
+ const filteredEntries = React__namespace.useMemo(
135
+ () => filterTableEntries(sourceEntries, activeFilters, columnMap),
136
+ [activeFilters, columnMap, sourceEntries]
137
+ );
138
+ const filteredData = React__namespace.useMemo(
139
+ () => filteredEntries.map(({ row }) => row),
140
+ [filteredEntries]
141
+ );
132
142
  const pagEnabled = pagination !== false && pagination !== void 0;
133
143
  const pagCfg = pagEnabled ? pagination : {};
134
144
  const [innerPage, setInnerPage] = React__namespace.useState(
135
- pagCfg.defaultCurrent ?? 1
145
+ Number.isFinite(pagCfg.defaultCurrent) ? Math.max(1, Math.trunc(pagCfg.defaultCurrent)) : 1
136
146
  );
137
147
  const [innerPageSize, setInnerPageSize] = React__namespace.useState(
138
- pagCfg.defaultPageSize ?? pagCfg.pageSize ?? 10
148
+ (() => {
149
+ const initial = pagCfg.defaultPageSize ?? pagCfg.pageSize ?? 10;
150
+ return Number.isFinite(initial) && initial > 0 ? Math.max(1, Math.trunc(initial)) : 10;
151
+ })()
139
152
  );
140
153
  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;
154
+ const requestedPage = pageControlled ? pagCfg.current : innerPage;
155
+ const curPage = Number.isFinite(requestedPage) ? Math.max(1, Math.trunc(requestedPage)) : 1;
156
+ const requestedPageSize = pagCfg.pageSize ?? innerPageSize;
157
+ const curPageSize = Number.isFinite(requestedPageSize) && requestedPageSize > 0 ? Math.max(1, Math.trunc(requestedPageSize)) : 10;
158
+ const requestedTotal = pagCfg.total ?? filteredData.length;
159
+ const totalCount = Number.isFinite(requestedTotal) ? Math.max(0, Math.trunc(requestedTotal)) : filteredData.length;
160
+ const remotePagination = pagCfg.mode === "remote" || pagCfg.mode === void 0 && pagCfg.total !== void 0 && pageControlled;
144
161
  React__namespace.useEffect(() => {
145
162
  if (pagCfg.pageSize !== void 0 && pagCfg.pageSize !== innerPageSize) {
146
163
  setInnerPageSize(pagCfg.pageSize);
@@ -148,17 +165,44 @@ var TableInner = ({
148
165
  }, [pagCfg.pageSize]);
149
166
  React__namespace.useEffect(() => {
150
167
  if (!pagEnabled) return;
151
- const pages = Math.max(1, Math.ceil(filteredData.length / curPageSize));
168
+ const pages = Math.max(1, Math.ceil(totalCount / curPageSize));
152
169
  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
- }
170
+ }, [curPage, curPageSize, pagEnabled, pageControlled, totalCount]);
171
+ const pagedEntries = React__namespace.useMemo(() => {
172
+ if (!pagEnabled || remotePagination) return filteredEntries;
159
173
  const start = (curPage - 1) * curPageSize;
160
- return filteredData.slice(start, start + curPageSize);
161
- }, [pagEnabled, filteredData, curPage, curPageSize, pagCfg.total, pageControlled]);
174
+ return filteredEntries.slice(start, start + curPageSize);
175
+ }, [curPage, curPageSize, filteredEntries, pagEnabled, remotePagination]);
176
+ const emitChange = React__namespace.useCallback((action, overrides = {}) => {
177
+ const nextCurrent = overrides.current ?? curPage;
178
+ const nextPageSize = overrides.pageSize ?? curPageSize;
179
+ onChange?.({
180
+ action,
181
+ pagination: pagEnabled ? { current: nextCurrent, pageSize: nextPageSize, total: totalCount } : void 0,
182
+ filters: overrides.filters ?? activeFilters,
183
+ sorter: overrides.sorter ?? { key: sortKey, direction: sortKey ? sortDir : void 0 },
184
+ currentData: overrides.currentData ?? filteredData
185
+ });
186
+ }, [activeFilters, curPage, curPageSize, filteredData, onChange, pagEnabled, sortDir, sortKey, totalCount]);
187
+ const setColumnFilter = React__namespace.useCallback((column, values) => {
188
+ const nextFilters = { ...activeFilters };
189
+ if (values.length === 0) delete nextFilters[column.key];
190
+ else nextFilters[column.key] = values;
191
+ if (column.filteredValue === void 0) {
192
+ setInnerFilters((previous) => {
193
+ const next = { ...previous };
194
+ if (values.length === 0) delete next[column.key];
195
+ else next[column.key] = values;
196
+ return next;
197
+ });
198
+ }
199
+ if (pagEnabled) {
200
+ if (!pageControlled) setInnerPage(1);
201
+ pagCfg.onChange?.(1, curPageSize);
202
+ }
203
+ const nextData = filterTableEntries(sourceEntries, nextFilters, columnMap).map(({ row }) => row);
204
+ emitChange("filter", { current: 1, filters: nextFilters, currentData: nextData });
205
+ }, [activeFilters, columnMap, curPageSize, emitChange, pagCfg, pagEnabled, pageControlled, sourceEntries]);
162
206
  const skipNextPaginationChangeRef = React__namespace.useRef(false);
163
207
  const onPageChange = (p) => {
164
208
  if (skipNextPaginationChangeRef.current) {
@@ -167,34 +211,38 @@ var TableInner = ({
167
211
  }
168
212
  if (!pageControlled) setInnerPage(p);
169
213
  pagCfg.onChange?.(p, curPageSize);
214
+ emitChange("paginate", { current: p });
170
215
  };
171
216
  const onPageSizeChange = (_current, size) => {
172
217
  skipNextPaginationChangeRef.current = true;
173
218
  if (!pageControlled) setInnerPage(1);
174
219
  if (pagCfg.pageSize === void 0) setInnerPageSize(size);
175
220
  pagCfg.onChange?.(1, size);
221
+ emitChange("paginate", { current: 1, pageSize: size });
176
222
  };
177
223
  const [innerExpanded, setInnerExpanded] = React__namespace.useState(
178
224
  expandable?.defaultExpandedRowKeys ?? []
179
225
  );
180
226
  const expandControlled = expandable?.expandedRowKeys !== void 0;
181
227
  const expandedKeys = expandControlled ? expandable.expandedRowKeys : innerExpanded;
228
+ const expandedKeySet = React__namespace.useMemo(() => new Set(expandedKeys), [expandedKeys]);
229
+ const selectedKeySet = React__namespace.useMemo(() => new Set(selectedKeys), [selectedKeys]);
182
230
  const hasExpandable = !!expandable?.expandedRowRender;
183
231
  const toggleExpand = (row, k) => {
184
- const isOpen = expandedKeys.includes(k);
232
+ const isOpen = expandedKeySet.has(k);
185
233
  const next = isOpen ? expandedKeys.filter((x) => x !== k) : [...expandedKeys, k];
186
234
  if (!expandControlled) setInnerExpanded(next);
187
235
  expandable?.onExpand?.(!isOpen, row);
188
236
  };
189
237
  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 }) => {
238
+ const rowsToRender = pagedEntries;
239
+ const selectableKeysOnPage = rowsToRender.map(({ row, key }) => ({ row, k: key })).filter(({ row }) => {
192
240
  if (selectionMode !== "new") return true;
193
241
  const props = rowSelection?.getCheckboxProps?.(row);
194
242
  return !props?.disabled;
195
243
  });
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;
244
+ const allSelectedOnPage = selectionMode !== "off" && selectableKeysOnPage.length > 0 && selectableKeysOnPage.every(({ k }) => selectedKeySet.has(k));
245
+ const someSelectedOnPage = selectionMode !== "off" && selectableKeysOnPage.some(({ k }) => selectedKeySet.has(k)) && !allSelectedOnPage;
198
246
  const toggleRow = (row, k) => {
199
247
  if (selectionMode === "new") {
200
248
  const props = rowSelection?.getCheckboxProps?.(row);
@@ -203,12 +251,13 @@ var TableInner = ({
203
251
  if (selectionType === "radio") {
204
252
  next = [k];
205
253
  } else {
206
- next = selectedKeys.includes(k) ? selectedKeys.filter((x) => x !== k) : [...selectedKeys, k];
254
+ next = selectedKeySet.has(k) ? selectedKeys.filter((x) => x !== k) : [...selectedKeys, k];
207
255
  }
208
- const nextRows = data.filter((r, i) => next.includes(keyOf(r, i)));
256
+ const nextSet = new Set(next);
257
+ const nextRows = sourceEntries.filter(({ key }) => nextSet.has(key)).map(({ row: item }) => item);
209
258
  commitSelected(next, nextRows);
210
259
  } else if (selectionMode === "legacy") {
211
- const next = selectedKeys.includes(k) ? selectedKeys.filter((x) => x !== k) : [...selectedKeys, k];
260
+ const next = selectedKeySet.has(k) ? selectedKeys.filter((x) => x !== k) : [...selectedKeys, k];
212
261
  commitSelected(next, []);
213
262
  }
214
263
  };
@@ -218,13 +267,15 @@ var TableInner = ({
218
267
  if (allSelectedOnPage) {
219
268
  const pageKeys = new Set(selectableKeysOnPage.map(({ k }) => k));
220
269
  const next = selectedKeys.filter((k) => !pageKeys.has(k));
221
- const nextRows = data.filter((r, i) => next.includes(keyOf(r, i)));
270
+ const nextSet = new Set(next);
271
+ const nextRows = sourceEntries.filter(({ key }) => nextSet.has(key)).map(({ row }) => row);
222
272
  commitSelected(next, nextRows);
223
273
  } else {
224
274
  const set = new Set(selectedKeys);
225
275
  selectableKeysOnPage.forEach(({ k }) => set.add(k));
226
276
  const next = Array.from(set);
227
- const nextRows = data.filter((r, i) => next.includes(keyOf(r, i)));
277
+ const nextSet = new Set(next);
278
+ const nextRows = sourceEntries.filter(({ key }) => nextSet.has(key)).map(({ row }) => row);
228
279
  commitSelected(next, nextRows);
229
280
  }
230
281
  };
@@ -232,6 +283,18 @@ var TableInner = ({
232
283
  const showExpandCol = hasExpandable;
233
284
  const extraColCount = (showSelCol ? 1 : 0) + (showExpandCol ? 1 : 0);
234
285
  const totalColCount = columns.length + extraColCount;
286
+ const handleSort = React__namespace.useCallback((columnKey) => {
287
+ const nextDirection = sortKey === columnKey && sortDir === "asc" ? "desc" : "asc";
288
+ onSort?.(columnKey);
289
+ if (pagEnabled) {
290
+ if (!pageControlled) setInnerPage(1);
291
+ pagCfg.onChange?.(1, curPageSize);
292
+ }
293
+ emitChange("sort", {
294
+ current: 1,
295
+ sorter: { key: columnKey, direction: nextDirection }
296
+ });
297
+ }, [curPageSize, emitChange, onSort, pagCfg, pagEnabled, pageControlled, sortDir, sortKey]);
235
298
  const wrapStyle = {};
236
299
  const innerTableStyle = {};
237
300
  let wrapClass = "table-wrap";
@@ -245,6 +308,11 @@ var TableInner = ({
245
308
  innerTableStyle.minWidth = scroll.x;
246
309
  wrapClass += " scroll-x";
247
310
  }
311
+ const {
312
+ className: nativeTableClassName = "",
313
+ style: nativeTableStyle,
314
+ ...nativeTableProps
315
+ } = tableProps ?? {};
248
316
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
249
317
  /* @__PURE__ */ jsxRuntime.jsx(
250
318
  "div",
@@ -256,19 +324,22 @@ var TableInner = ({
256
324
  children: /* @__PURE__ */ jsxRuntime.jsxs(
257
325
  "table",
258
326
  {
259
- className: `table ${v} ${hoverable ? "hoverable" : ""} ${scroll?.y != null ? "sticky-head" : ""}`,
260
- style: innerTableStyle,
327
+ ...nativeTableProps,
328
+ className: `table ${v} ${hoverable ? "hoverable" : ""} ${scroll?.y != null ? "sticky-head" : ""} ${nativeTableClassName}`,
329
+ style: { ...innerTableStyle, ...nativeTableStyle },
261
330
  children: [
331
+ caption != null && /* @__PURE__ */ jsxRuntime.jsx("caption", { children: caption }),
262
332
  /* @__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,
333
+ showExpandCol && /* @__PURE__ */ jsxRuntime.jsx("th", { scope: "col", className: "row-expand", style: { width: 40 } }),
334
+ 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(
335
+ chunkKCDOC3HS_cjs.Checkbox,
266
336
  {
267
337
  checked: allSelectedOnPage,
268
338
  indeterminate: someSelectedOnPage,
269
- onChange: toggleAll
339
+ onChange: toggleAll,
340
+ label: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "table-sr-only", children: "\u9009\u62E9\u5F53\u524D\u9875" })
270
341
  }
271
- ) }),
342
+ ) }) }),
272
343
  columns.map((c) => {
273
344
  const sorted = sortKey === c.key;
274
345
  const hasFilters = !!c.filters?.length;
@@ -278,16 +349,29 @@ var TableInner = ({
278
349
  {
279
350
  className: `${c.sortable ? "sortable" : ""} ${sorted ? "sorted" : ""} ${hasFilters ? "filterable" : ""}`,
280
351
  style: { width: c.width, textAlign: c.align ?? "left" },
281
- onClick: () => c.sortable && onSort?.(c.key),
352
+ scope: "col",
353
+ "aria-sort": c.sortable ? sorted ? sortDir === "asc" ? "ascending" : "descending" : "none" : void 0,
282
354
  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,
355
+ c.sortable ? /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Button", children: /* @__PURE__ */ jsxRuntime.jsxs(
356
+ chunkT4RR6NVU_cjs.Button,
286
357
  {
287
- name: sorted ? sortDir === "asc" ? "chevUp" : "chevDown" : "chevDown",
288
- size: 10
358
+ type: "button",
359
+ size: "sm",
360
+ variant: "ghost",
361
+ className: "table-sort-trigger",
362
+ onClick: () => handleSort(c.key),
363
+ children: [
364
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "th-label", children: c.title }),
365
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sort-ind", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(
366
+ chunk2AUXUZ3Z_cjs.Icon,
367
+ {
368
+ name: sorted ? sortDir === "asc" ? "chevUp" : "chevDown" : "chevDown",
369
+ size: 10
370
+ }
371
+ ) })
372
+ ]
289
373
  }
290
- ) }),
374
+ ) }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "th-label", children: c.title }),
291
375
  hasFilters && /* @__PURE__ */ jsxRuntime.jsx(
292
376
  ColumnFilterButton,
293
377
  {
@@ -303,12 +387,11 @@ var TableInner = ({
303
387
  );
304
388
  })
305
389
  ] }) }),
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);
390
+ /* @__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, key: k }, i) => {
391
+ const isSel = selectedKeySet.has(k);
309
392
  const selProps = rowSelection?.getCheckboxProps?.(row);
310
393
  const canExpand = hasExpandable && (expandable?.rowExpandable?.(row) ?? true);
311
- const isExpanded = canExpand && expandedKeys.includes(k);
394
+ const isExpanded = canExpand && expandedKeySet.has(k);
312
395
  const cardSurfaceTarget = showExpandCol ? "__expand" : showSelCol ? "__select" : columns[0]?.key;
313
396
  const cardRowSurface = v === "cards" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "card-row-surface", "aria-hidden": "true" }) : null;
314
397
  return /* @__PURE__ */ jsxRuntime.jsxs(React__namespace.Fragment, { children: [
@@ -317,6 +400,15 @@ var TableInner = ({
317
400
  {
318
401
  className: `${onRowClick ? "clickable" : ""} ${isSel ? "selected" : ""}`,
319
402
  onClick: onRowClick ? () => onRowClick(row, i) : void 0,
403
+ tabIndex: onRowClick ? 0 : void 0,
404
+ "aria-selected": selectionMode !== "off" ? isSel : void 0,
405
+ onKeyDown: onRowClick ? (event) => {
406
+ if (event.currentTarget !== event.target) return;
407
+ if (event.key === "Enter" || event.key === " ") {
408
+ event.preventDefault();
409
+ onRowClick(row, i);
410
+ }
411
+ } : void 0,
320
412
  children: [
321
413
  showExpandCol && /* @__PURE__ */ jsxRuntime.jsxs(
322
414
  "td",
@@ -339,7 +431,7 @@ var TableInner = ({
339
431
  e.stopPropagation();
340
432
  toggleExpand(row, k);
341
433
  },
342
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "chevRight", size: 12 })
434
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "chevRight", size: 12 })
343
435
  }
344
436
  )
345
437
  ]
@@ -349,10 +441,7 @@ var TableInner = ({
349
441
  "td",
350
442
  {
351
443
  className: "row-check",
352
- onClick: (e) => {
353
- e.stopPropagation();
354
- toggleRow(row, k);
355
- },
444
+ onClick: (event) => event.stopPropagation(),
356
445
  children: [
357
446
  cardSurfaceTarget === "__select" && cardRowSurface,
358
447
  selectionType === "radio" ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -361,6 +450,7 @@ var TableInner = ({
361
450
  type: "button",
362
451
  role: "radio",
363
452
  "aria-checked": isSel,
453
+ "aria-label": `\u9009\u62E9\u7B2C ${i + 1} \u884C`,
364
454
  disabled: selProps?.disabled,
365
455
  className: `radio-dot ${isSel ? "checked" : ""}`,
366
456
  onClick: (e) => {
@@ -368,14 +458,19 @@ var TableInner = ({
368
458
  toggleRow(row, k);
369
459
  }
370
460
  }
371
- ) : /* @__PURE__ */ jsxRuntime.jsx(
372
- chunkATUPFAPZ_cjs.Checkbox,
461
+ ) : /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Checkbox", children: /* @__PURE__ */ jsxRuntime.jsx(
462
+ chunkKCDOC3HS_cjs.Checkbox,
373
463
  {
374
464
  checked: isSel,
375
465
  disabled: selProps?.disabled,
376
- onChange: () => toggleRow(row, k)
466
+ onChange: () => toggleRow(row, k),
467
+ label: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "table-sr-only", children: [
468
+ "\u9009\u62E9\u7B2C ",
469
+ i + 1,
470
+ " \u884C"
471
+ ] })
377
472
  }
378
- )
473
+ ) })
379
474
  ]
380
475
  }
381
476
  ),
@@ -397,8 +492,8 @@ var TableInner = ({
397
492
  )
398
493
  }
399
494
  ),
400
- pagEnabled && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-pagination", children: /* @__PURE__ */ jsxRuntime.jsx(
401
- chunkL6GIV5DQ_cjs.Pagination,
495
+ pagEnabled && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-pagination", children: /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Pagination", children: /* @__PURE__ */ jsxRuntime.jsx(
496
+ chunk56I6ZKGU_cjs.Pagination,
402
497
  {
403
498
  total: totalCount,
404
499
  pageSize: curPageSize,
@@ -409,11 +504,16 @@ var TableInner = ({
409
504
  pageSizeOptions: pagCfg.pageSizeOptions,
410
505
  onShowSizeChange: onPageSizeChange
411
506
  }
412
- ) })
507
+ ) }) })
413
508
  ] });
414
509
  };
415
- var Table = React__namespace.forwardRef(TableInner);
416
- Table.displayName = "Table";
510
+ var TableBase = React__namespace.forwardRef(TableInner);
511
+ TableBase.displayName = "Table";
512
+ var Table = chunkNRJXZPZR_cjs.withComponentTheme(
513
+ TableBase,
514
+ "Table",
515
+ ["table", "button", "checkbox", "pagination", "select", "input"]
516
+ );
417
517
  function ColumnFilterButton({
418
518
  column,
419
519
  activeValues,
@@ -422,16 +522,32 @@ function ColumnFilterButton({
422
522
  }) {
423
523
  const [open, setOpen] = React__namespace.useState(false);
424
524
  const [draft, setDraft] = React__namespace.useState(activeValues);
425
- const panelRef = React__namespace.useRef(null);
426
- const { triggerRef, floatingStyle } = chunkYB3IWIOJ_cjs.useFloating({
525
+ const portalContainer = chunkEE5KXDRK_cjs.usePortalContainer();
526
+ const portalTheme = chunkNRJXZPZR_cjs.useComponentPortalTheme(["Table", "TablePro"]);
527
+ const panelId = React__namespace.useId();
528
+ const { triggerRef, floatingRef: panelRef, floatingStyle, zIndex: panelZIndex } = chunkFJB3243S_cjs.useFloating({
427
529
  open,
428
530
  placement: "bottom",
429
531
  panelWidth: 200,
430
532
  panelHeight: Math.min(260, (column.filters?.length ?? 0) * 32 + 80),
431
533
  alignCross: "end"
432
534
  });
535
+ const closeFromEscape = React__namespace.useCallback(() => {
536
+ setOpen(false);
537
+ window.requestAnimationFrame(() => triggerRef.current?.focus());
538
+ }, [triggerRef]);
539
+ chunkHSDMJUB6_cjs.useOverlayLayer({
540
+ open: open && portalContainer != null,
541
+ containerRef: panelRef,
542
+ ownerRef: triggerRef,
543
+ zIndex: panelZIndex,
544
+ onEscape: closeFromEscape
545
+ });
433
546
  React__namespace.useEffect(() => {
434
- if (open) setDraft(activeValues);
547
+ if (open) {
548
+ setDraft(activeValues);
549
+ window.requestAnimationFrame(() => panelRef.current?.focus());
550
+ }
435
551
  }, [open, activeValues]);
436
552
  React__namespace.useEffect(() => {
437
553
  if (!open) return;
@@ -446,45 +562,54 @@ function ColumnFilterButton({
446
562
  }, [open]);
447
563
  const toggle = (v) => setDraft((d) => d.includes(v) ? d.filter((x) => x !== v) : [...d, v]);
448
564
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
449
- /* @__PURE__ */ jsxRuntime.jsx(
450
- "button",
565
+ /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "IconButton", children: /* @__PURE__ */ jsxRuntime.jsx(
566
+ chunkT4RR6NVU_cjs.IconButton,
451
567
  {
452
568
  ref: triggerRef,
453
- type: "button",
569
+ icon: "filter",
570
+ size: "sm",
571
+ variant: "ghost",
454
572
  className: `filter-ind ${active ? "active" : ""}`,
455
- "aria-label": "Filter column",
573
+ tip: "\u7B5B\u9009\u5217",
574
+ "aria-expanded": open,
575
+ "aria-controls": open ? panelId : void 0,
576
+ "aria-haspopup": "dialog",
456
577
  onClick: (e) => {
457
578
  e.stopPropagation();
458
579
  setOpen((o) => !o);
459
- },
460
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkQMX67CVT_cjs.Icon, { name: "filter", size: 10 })
580
+ }
461
581
  }
462
- ),
463
- open && typeof document !== "undefined" && reactDom.createPortal(
582
+ ) }),
583
+ open && portalContainer && reactDom.createPortal(
464
584
  /* @__PURE__ */ jsxRuntime.jsxs(
465
585
  "div",
466
586
  {
587
+ id: panelId,
467
588
  ref: panelRef,
468
589
  className: "table-filter-panel",
469
- style: floatingStyle,
590
+ ...portalTheme.dataAttributes,
591
+ style: { ...floatingStyle, ...portalTheme.style, ...portalTheme.styles.popup },
592
+ role: "dialog",
593
+ "aria-label": "\u5217\u7B5B\u9009",
594
+ tabIndex: -1,
470
595
  onClick: (e) => e.stopPropagation(),
471
596
  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: [
597
+ /* @__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(
598
+ chunkKCDOC3HS_cjs.Checkbox,
599
+ {
600
+ className: "table-filter-item",
601
+ label: f.text,
602
+ checked: draft.includes(f.value),
603
+ onChange: () => toggle(f.value)
604
+ }
605
+ ) }, String(f.value))) }),
606
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-filter-actions", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Button", children: [
483
607
  /* @__PURE__ */ jsxRuntime.jsx(
484
- "button",
608
+ chunkT4RR6NVU_cjs.Button,
485
609
  {
486
- type: "button",
487
- className: "tf-btn ghost",
610
+ size: "sm",
611
+ variant: "ghost",
612
+ className: "tf-btn",
488
613
  onClick: () => {
489
614
  setDraft([]);
490
615
  onApply([]);
@@ -494,10 +619,11 @@ function ColumnFilterButton({
494
619
  }
495
620
  ),
496
621
  /* @__PURE__ */ jsxRuntime.jsx(
497
- "button",
622
+ chunkT4RR6NVU_cjs.Button,
498
623
  {
499
- type: "button",
500
- className: "tf-btn primary",
624
+ size: "sm",
625
+ variant: "primary",
626
+ className: "tf-btn",
501
627
  onClick: () => {
502
628
  onApply(draft);
503
629
  setOpen(false);
@@ -505,11 +631,11 @@ function ColumnFilterButton({
505
631
  children: "\u786E\u5B9A"
506
632
  }
507
633
  )
508
- ] })
634
+ ] }) })
509
635
  ]
510
636
  }
511
637
  ),
512
- document.body
638
+ portalContainer
513
639
  )
514
640
  ] });
515
641
  }