@fangxinyan/lumina 0.5.0 → 0.6.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 (382) hide show
  1. package/dist/Accordion.cjs +3 -3
  2. package/dist/Accordion.d.cts +2 -2
  3. package/dist/Accordion.d.ts +2 -2
  4. package/dist/Accordion.js +2 -2
  5. package/dist/Alert.cjs +3 -3
  6. package/dist/Alert.d.cts +2 -2
  7. package/dist/Alert.d.ts +2 -2
  8. package/dist/Alert.js +2 -2
  9. package/dist/AppShell.cjs +5 -5
  10. package/dist/AppShell.d.cts +8 -8
  11. package/dist/AppShell.d.ts +8 -8
  12. package/dist/AppShell.js +1 -1
  13. package/dist/AutoComplete.cjs +5 -5
  14. package/dist/AutoComplete.d.cts +1 -4
  15. package/dist/AutoComplete.d.ts +1 -4
  16. package/dist/AutoComplete.js +4 -4
  17. package/dist/Avatar.cjs +2 -2
  18. package/dist/Avatar.d.cts +1 -1
  19. package/dist/Avatar.d.ts +1 -1
  20. package/dist/Avatar.js +1 -1
  21. package/dist/Button.cjs +4 -4
  22. package/dist/Button.js +2 -2
  23. package/dist/Calendar.cjs +3 -3
  24. package/dist/Calendar.d.cts +2 -2
  25. package/dist/Calendar.d.ts +2 -2
  26. package/dist/Calendar.js +2 -2
  27. package/dist/Cascader.cjs +4 -4
  28. package/dist/Cascader.d.cts +2 -2
  29. package/dist/Cascader.d.ts +2 -2
  30. package/dist/Cascader.js +3 -3
  31. package/dist/Checkbox.cjs +4 -4
  32. package/dist/Checkbox.d.cts +5 -5
  33. package/dist/Checkbox.d.ts +5 -5
  34. package/dist/Checkbox.js +2 -2
  35. package/dist/ColorPicker.cjs +3 -3
  36. package/dist/ColorPicker.d.cts +1 -3
  37. package/dist/ColorPicker.d.ts +1 -3
  38. package/dist/ColorPicker.js +2 -2
  39. package/dist/CommandPalette.cjs +4 -4
  40. package/dist/CommandPalette.d.cts +2 -2
  41. package/dist/CommandPalette.d.ts +2 -2
  42. package/dist/CommandPalette.js +3 -3
  43. package/dist/ContextMenu.cjs +2 -2
  44. package/dist/ContextMenu.d.cts +2 -2
  45. package/dist/ContextMenu.d.ts +2 -2
  46. package/dist/ContextMenu.js +1 -1
  47. package/dist/Divider.cjs +2 -2
  48. package/dist/Divider.d.cts +1 -1
  49. package/dist/Divider.d.ts +1 -1
  50. package/dist/Divider.js +1 -1
  51. package/dist/Drawer.cjs +3 -3
  52. package/dist/Drawer.d.cts +2 -2
  53. package/dist/Drawer.d.ts +2 -2
  54. package/dist/Drawer.js +2 -2
  55. package/dist/Empty.cjs +4 -4
  56. package/dist/Empty.d.cts +6 -6
  57. package/dist/Empty.d.ts +6 -6
  58. package/dist/Empty.js +1 -1
  59. package/dist/Form.cjs +4 -4
  60. package/dist/Form.d.cts +2 -2
  61. package/dist/Form.d.ts +2 -2
  62. package/dist/Form.js +1 -1
  63. package/dist/Icon.cjs +3 -3
  64. package/dist/Icon.d.cts +2 -2
  65. package/dist/Icon.d.ts +2 -2
  66. package/dist/Icon.js +1 -1
  67. package/dist/Image.cjs +4 -4
  68. package/dist/Image.d.cts +4 -4
  69. package/dist/Image.d.ts +4 -4
  70. package/dist/Image.js +2 -2
  71. package/dist/Input.cjs +4 -4
  72. package/dist/Input.js +2 -2
  73. package/dist/InputNumber.cjs +4 -4
  74. package/dist/InputNumber.d.cts +1 -5
  75. package/dist/InputNumber.d.ts +1 -5
  76. package/dist/InputNumber.js +3 -3
  77. package/dist/List.cjs +2 -2
  78. package/dist/List.d.cts +2 -2
  79. package/dist/List.d.ts +2 -2
  80. package/dist/List.js +1 -1
  81. package/dist/Modal.cjs +4 -4
  82. package/dist/Modal.d.cts +2 -2
  83. package/dist/Modal.d.ts +2 -2
  84. package/dist/Modal.js +3 -3
  85. package/dist/Pagination.cjs +6 -6
  86. package/dist/Pagination.d.cts +2 -2
  87. package/dist/Pagination.d.ts +2 -2
  88. package/dist/Pagination.js +5 -5
  89. package/dist/Popover-DVGQGWX6.css +103 -0
  90. package/dist/Popover.cjs +3 -3
  91. package/dist/Popover.d.cts +25 -3
  92. package/dist/Popover.d.ts +25 -3
  93. package/dist/Popover.js +2 -2
  94. package/dist/Progress-CHV7DN6Y.css +80 -0
  95. package/dist/Progress.cjs +2 -6
  96. package/dist/Progress.d.cts +5 -13
  97. package/dist/Progress.d.ts +5 -13
  98. package/dist/Progress.js +1 -1
  99. package/dist/Select.cjs +5 -5
  100. package/dist/Select.d.cts +6 -3
  101. package/dist/Select.d.ts +6 -3
  102. package/dist/Select.js +4 -4
  103. package/dist/Splitter.cjs +2 -2
  104. package/dist/Splitter.d.cts +2 -2
  105. package/dist/Splitter.d.ts +2 -2
  106. package/dist/Splitter.js +1 -1
  107. package/dist/StatusBar.cjs +3 -3
  108. package/dist/StatusBar.d.cts +3 -2
  109. package/dist/StatusBar.d.ts +3 -2
  110. package/dist/StatusBar.js +1 -1
  111. package/dist/Switch.cjs +2 -2
  112. package/dist/Switch.d.cts +2 -2
  113. package/dist/Switch.d.ts +2 -2
  114. package/dist/Switch.js +1 -1
  115. package/dist/Table.cjs +9 -9
  116. package/dist/Table.d.cts +4 -3
  117. package/dist/Table.d.ts +4 -3
  118. package/dist/Table.js +7 -7
  119. package/dist/Tabs.cjs +3 -3
  120. package/dist/Tabs.d.cts +5 -5
  121. package/dist/Tabs.d.ts +5 -5
  122. package/dist/Tabs.js +1 -1
  123. package/dist/Tag.cjs +4 -4
  124. package/dist/Tag.d.cts +2 -2
  125. package/dist/Tag.d.ts +2 -2
  126. package/dist/Tag.js +2 -2
  127. package/dist/Timeline-RHZAZKZ7.css +136 -0
  128. package/dist/Timeline.cjs +13 -0
  129. package/dist/Timeline.cjs.map +1 -0
  130. package/dist/Timeline.d.cts +38 -0
  131. package/dist/Timeline.d.ts +38 -0
  132. package/dist/Timeline.js +4 -0
  133. package/dist/Timeline.js.map +1 -0
  134. package/dist/{Toast-6PVSAXQ5.css → Toast-YSACW3EM.css} +2 -2
  135. package/dist/Toast.cjs +4 -4
  136. package/dist/Toast.d.cts +2 -2
  137. package/dist/Toast.d.ts +2 -2
  138. package/dist/Toast.js +2 -2
  139. package/dist/{Tooltip-ST24GY4S.css → Tooltip-DMKUPC24.css} +1 -0
  140. package/dist/Tooltip.cjs +3 -3
  141. package/dist/Tooltip.d.cts +2 -2
  142. package/dist/Tooltip.d.ts +2 -2
  143. package/dist/Tooltip.js +2 -2
  144. package/dist/Typography.cjs +7 -7
  145. package/dist/Typography.js +2 -2
  146. package/dist/{chunk-QVFEKGKI.cjs → chunk-2K5HZLXW.cjs} +6 -3
  147. package/dist/chunk-2K5HZLXW.cjs.map +1 -0
  148. package/dist/chunk-2LIX7ZHX.js +29 -0
  149. package/dist/chunk-2LIX7ZHX.js.map +1 -0
  150. package/dist/{chunk-N73JGXYZ.cjs → chunk-2TNJ7TC4.cjs} +22 -12
  151. package/dist/chunk-2TNJ7TC4.cjs.map +1 -0
  152. package/dist/chunk-3EGZ6TBF.cjs +65 -0
  153. package/dist/chunk-3EGZ6TBF.cjs.map +1 -0
  154. package/dist/{chunk-RFU5HN4E.js → chunk-3LJO33HI.js} +25 -7
  155. package/dist/chunk-3LJO33HI.js.map +1 -0
  156. package/dist/{chunk-RZ2E3XEU.cjs → chunk-3XIDJEYR.cjs} +21 -6
  157. package/dist/chunk-3XIDJEYR.cjs.map +1 -0
  158. package/dist/{chunk-UQB5OHMO.js → chunk-44AVDO3T.js} +27 -19
  159. package/dist/chunk-44AVDO3T.js.map +1 -0
  160. package/dist/chunk-474MXYO5.cjs +108 -0
  161. package/dist/chunk-474MXYO5.cjs.map +1 -0
  162. package/dist/{chunk-XCYE4OQV.js → chunk-4DNHASZU.js} +10 -8
  163. package/dist/chunk-4DNHASZU.js.map +1 -0
  164. package/dist/{chunk-OM76QWUN.js → chunk-4JHFGSNH.js} +24 -13
  165. package/dist/chunk-4JHFGSNH.js.map +1 -0
  166. package/dist/{chunk-6Z24VO3K.js → chunk-4XSP4HHZ.js} +18 -8
  167. package/dist/chunk-4XSP4HHZ.js.map +1 -0
  168. package/dist/{chunk-CTYW42GG.js → chunk-5VIOJW6M.js} +142 -129
  169. package/dist/chunk-5VIOJW6M.js.map +1 -0
  170. package/dist/{chunk-O7C6S644.js → chunk-6CAEGNCK.js} +10 -8
  171. package/dist/chunk-6CAEGNCK.js.map +1 -0
  172. package/dist/{chunk-JXHMJUVI.js → chunk-6FSOJLY6.js} +3 -3
  173. package/dist/{chunk-JXHMJUVI.js.map → chunk-6FSOJLY6.js.map} +1 -1
  174. package/dist/{chunk-LLNEDEST.cjs → chunk-6TRVGFFX.cjs} +18 -7
  175. package/dist/chunk-6TRVGFFX.cjs.map +1 -0
  176. package/dist/{chunk-7T2SLRNL.cjs → chunk-74VZZAUT.cjs} +14 -7
  177. package/dist/chunk-74VZZAUT.cjs.map +1 -0
  178. package/dist/{chunk-GR5STMOA.js → chunk-A3IJM7IX.js} +76 -50
  179. package/dist/chunk-A3IJM7IX.js.map +1 -0
  180. package/dist/{chunk-V2DIQ3RH.js → chunk-ANAQER3T.js} +21 -6
  181. package/dist/chunk-ANAQER3T.js.map +1 -0
  182. package/dist/{chunk-WZ73TWB2.cjs → chunk-AXRABZLY.cjs} +25 -7
  183. package/dist/chunk-AXRABZLY.cjs.map +1 -0
  184. package/dist/{chunk-QOGROEVD.js → chunk-BSHHQOFY.js} +27 -21
  185. package/dist/chunk-BSHHQOFY.js.map +1 -0
  186. package/dist/{chunk-JSDQVVQB.js → chunk-CVEGVB2C.js} +17 -12
  187. package/dist/chunk-CVEGVB2C.js.map +1 -0
  188. package/dist/{chunk-LXNR6TQK.js → chunk-D242UJZO.js} +14 -11
  189. package/dist/chunk-D242UJZO.js.map +1 -0
  190. package/dist/{chunk-AESLEYST.js → chunk-DB5JMXOI.js} +11 -9
  191. package/dist/chunk-DB5JMXOI.js.map +1 -0
  192. package/dist/{chunk-OWNVDXRQ.js → chunk-DCX36FYD.js} +23 -10
  193. package/dist/chunk-DCX36FYD.js.map +1 -0
  194. package/dist/{chunk-YCHUHMNP.cjs → chunk-DH4NYYJP.cjs} +46 -20
  195. package/dist/chunk-DH4NYYJP.cjs.map +1 -0
  196. package/dist/{chunk-ZFJHUOFU.js → chunk-DUNQNSVK.js} +21 -11
  197. package/dist/chunk-DUNQNSVK.js.map +1 -0
  198. package/dist/{chunk-5PREWYTB.js → chunk-E6K6GYUC.js} +21 -27
  199. package/dist/chunk-E6K6GYUC.js.map +1 -0
  200. package/dist/{chunk-IHACXMOI.js → chunk-EARCKSI7.js} +6 -3
  201. package/dist/chunk-EARCKSI7.js.map +1 -0
  202. package/dist/chunk-EHZXEZI2.cjs +78 -0
  203. package/dist/chunk-EHZXEZI2.cjs.map +1 -0
  204. package/dist/{chunk-HJIKU6MF.cjs → chunk-FBQLNAUI.cjs} +11 -9
  205. package/dist/chunk-FBQLNAUI.cjs.map +1 -0
  206. package/dist/chunk-FCIPCZAK.cjs +53 -0
  207. package/dist/chunk-FCIPCZAK.cjs.map +1 -0
  208. package/dist/{chunk-7M7NAMR5.js → chunk-FSOJHDXH.js} +18 -7
  209. package/dist/chunk-FSOJHDXH.js.map +1 -0
  210. package/dist/{chunk-BCPAY65C.cjs → chunk-HHSVGNJA.cjs} +7 -7
  211. package/dist/chunk-HHSVGNJA.cjs.map +1 -0
  212. package/dist/{chunk-WVBFQB26.cjs → chunk-HQO7EZNQ.cjs} +24 -14
  213. package/dist/chunk-HQO7EZNQ.cjs.map +1 -0
  214. package/dist/{chunk-MDQNUKCP.cjs → chunk-IL523MTN.cjs} +146 -133
  215. package/dist/chunk-IL523MTN.cjs.map +1 -0
  216. package/dist/{chunk-SMHXSEBD.cjs → chunk-JAGJQDAV.cjs} +22 -13
  217. package/dist/chunk-JAGJQDAV.cjs.map +1 -0
  218. package/dist/{chunk-RWHWEQQX.cjs → chunk-JF2WNLPF.cjs} +6 -6
  219. package/dist/{chunk-RWHWEQQX.cjs.map → chunk-JF2WNLPF.cjs.map} +1 -1
  220. package/dist/chunk-JS6U7UQS.js +86 -0
  221. package/dist/chunk-JS6U7UQS.js.map +1 -0
  222. package/dist/{chunk-TZXEZFCI.cjs → chunk-KA3XLPQJ.cjs} +34 -9
  223. package/dist/chunk-KA3XLPQJ.cjs.map +1 -0
  224. package/dist/{chunk-NS3C2ZSE.js → chunk-KWE2PXJQ.js} +8 -5
  225. package/dist/chunk-KWE2PXJQ.js.map +1 -0
  226. package/dist/{chunk-E62JFAHW.js → chunk-LSQD2GFA.js} +4 -4
  227. package/dist/chunk-LSQD2GFA.js.map +1 -0
  228. package/dist/{chunk-77TZHI76.cjs → chunk-MU4GGX6C.cjs} +14 -12
  229. package/dist/chunk-MU4GGX6C.cjs.map +1 -0
  230. package/dist/{chunk-IOWREUEP.js → chunk-MXIWTYNC.js} +17 -7
  231. package/dist/chunk-MXIWTYNC.js.map +1 -0
  232. package/dist/{chunk-5EAVXFFD.cjs → chunk-NRP3X3PE.cjs} +17 -12
  233. package/dist/chunk-NRP3X3PE.cjs.map +1 -0
  234. package/dist/{chunk-VQBZKRIB.cjs → chunk-P4CGE5C7.cjs} +19 -9
  235. package/dist/chunk-P4CGE5C7.cjs.map +1 -0
  236. package/dist/{chunk-TZLM5GF4.js → chunk-PX5ABNKV.js} +19 -10
  237. package/dist/chunk-PX5ABNKV.js.map +1 -0
  238. package/dist/{chunk-RQV7SMIZ.cjs → chunk-QCNHDDSD.cjs} +36 -13
  239. package/dist/chunk-QCNHDDSD.cjs.map +1 -0
  240. package/dist/{chunk-5N7347MI.js → chunk-QRSPBK3X.js} +8 -6
  241. package/dist/chunk-QRSPBK3X.js.map +1 -0
  242. package/dist/{chunk-6XZ362VL.js → chunk-RHZOBQON.js} +36 -15
  243. package/dist/chunk-RHZOBQON.js.map +1 -0
  244. package/dist/chunk-RNVE2LMJ.cjs +162 -0
  245. package/dist/chunk-RNVE2LMJ.cjs.map +1 -0
  246. package/dist/{chunk-TQLCIXCK.cjs → chunk-RXL26GSI.cjs} +28 -5
  247. package/dist/chunk-RXL26GSI.cjs.map +1 -0
  248. package/dist/{chunk-NN7WMXY4.cjs → chunk-S3OSBW7R.cjs} +19 -14
  249. package/dist/chunk-S3OSBW7R.cjs.map +1 -0
  250. package/dist/{chunk-33TIL25B.cjs → chunk-SREMTSVI.cjs} +47 -19
  251. package/dist/chunk-SREMTSVI.cjs.map +1 -0
  252. package/dist/{chunk-6GNFRP2H.js → chunk-SWB57EA2.js} +9 -7
  253. package/dist/chunk-SWB57EA2.js.map +1 -0
  254. package/dist/{chunk-KW7Z4IQC.js → chunk-T7ZBJJC4.js} +12 -7
  255. package/dist/chunk-T7ZBJJC4.js.map +1 -0
  256. package/dist/chunk-TC5ZL2OS.cjs +165 -0
  257. package/dist/chunk-TC5ZL2OS.cjs.map +1 -0
  258. package/dist/{chunk-XYVJ3FBQ.cjs → chunk-V24B7KWT.cjs} +12 -10
  259. package/dist/chunk-V24B7KWT.cjs.map +1 -0
  260. package/dist/{chunk-3BZ47QNV.cjs → chunk-V5KSJITO.cjs} +7 -7
  261. package/dist/{chunk-3BZ47QNV.cjs.map → chunk-V5KSJITO.cjs.map} +1 -1
  262. package/dist/{chunk-YFBHVTKN.cjs → chunk-WFFWVQK4.cjs} +7 -7
  263. package/dist/{chunk-YFBHVTKN.cjs.map → chunk-WFFWVQK4.cjs.map} +1 -1
  264. package/dist/{chunk-I7WLFADD.js → chunk-WLFMOWUY.js} +3 -3
  265. package/dist/{chunk-I7WLFADD.js.map → chunk-WLFMOWUY.js.map} +1 -1
  266. package/dist/{chunk-I2HHC6QW.js → chunk-X3QINITU.js} +17 -6
  267. package/dist/chunk-X3QINITU.js.map +1 -0
  268. package/dist/{chunk-2ENTRT7R.cjs → chunk-XMFVAYBP.cjs} +20 -9
  269. package/dist/chunk-XMFVAYBP.cjs.map +1 -0
  270. package/dist/{chunk-HXSAH4Y6.cjs → chunk-XMINE4TN.cjs} +28 -17
  271. package/dist/chunk-XMINE4TN.cjs.map +1 -0
  272. package/dist/{chunk-YZ2I7CDF.cjs → chunk-XXE5TQ7I.cjs} +9 -7
  273. package/dist/chunk-XXE5TQ7I.cjs.map +1 -0
  274. package/dist/chunk-XYGRVPUA.js +140 -0
  275. package/dist/chunk-XYGRVPUA.js.map +1 -0
  276. package/dist/chunk-Y7BZMMAV.cjs +51 -0
  277. package/dist/chunk-Y7BZMMAV.cjs.map +1 -0
  278. package/dist/{chunk-FFZLSY2N.js → chunk-YRAQRENN.js} +40 -13
  279. package/dist/chunk-YRAQRENN.js.map +1 -0
  280. package/dist/{chunk-IJA26LRY.cjs → chunk-YVSZLQTQ.cjs} +19 -9
  281. package/dist/chunk-YVSZLQTQ.cjs.map +1 -0
  282. package/dist/{chunk-OZVPJWXO.cjs → chunk-ZA36BJIY.cjs} +41 -14
  283. package/dist/chunk-ZA36BJIY.cjs.map +1 -0
  284. package/dist/{chunk-47Z4NIU4.js → chunk-ZHCQEJ2Z.js} +14 -7
  285. package/dist/chunk-ZHCQEJ2Z.js.map +1 -0
  286. package/dist/{chunk-T4PI2ZX7.cjs → chunk-ZM4P6ELG.cjs} +46 -25
  287. package/dist/chunk-ZM4P6ELG.cjs.map +1 -0
  288. package/dist/{chunk-PKXXR76Q.js → chunk-ZN6VS6SO.js} +18 -13
  289. package/dist/chunk-ZN6VS6SO.js.map +1 -0
  290. package/dist/{chunk-FXQGPHK2.js → chunk-ZPDMAMWC.js} +21 -11
  291. package/dist/chunk-ZPDMAMWC.js.map +1 -0
  292. package/dist/{chunk-WUOFJPZ4.js → chunk-ZZXNHPF3.js} +3 -3
  293. package/dist/{chunk-WUOFJPZ4.js.map → chunk-ZZXNHPF3.js.map} +1 -1
  294. package/dist/index.cjs +98 -97
  295. package/dist/index.cjs.map +1 -1
  296. package/dist/index.d.cts +3 -2
  297. package/dist/index.d.ts +3 -2
  298. package/dist/index.js +38 -37
  299. package/dist/index.js.map +1 -1
  300. package/dist/styles.css +136 -36
  301. package/docs/llms/appshell.md +36 -0
  302. package/docs/llms/popover.md +138 -6
  303. package/docs/llms/progress.md +10 -18
  304. package/docs/llms/timeline.md +140 -0
  305. package/docs/llms.md +9 -6
  306. package/package.json +80 -1
  307. package/dist/Popover-NYEKT5CQ.css +0 -10
  308. package/dist/Progress-IXRSO5TW.css +0 -63
  309. package/dist/chunk-2ENTRT7R.cjs.map +0 -1
  310. package/dist/chunk-33TIL25B.cjs.map +0 -1
  311. package/dist/chunk-3UU2PUK4.js +0 -66
  312. package/dist/chunk-3UU2PUK4.js.map +0 -1
  313. package/dist/chunk-47Z4NIU4.js.map +0 -1
  314. package/dist/chunk-5BFETKVP.cjs +0 -52
  315. package/dist/chunk-5BFETKVP.cjs.map +0 -1
  316. package/dist/chunk-5EAVXFFD.cjs.map +0 -1
  317. package/dist/chunk-5N7347MI.js.map +0 -1
  318. package/dist/chunk-5PREWYTB.js.map +0 -1
  319. package/dist/chunk-6GNFRP2H.js.map +0 -1
  320. package/dist/chunk-6XZ362VL.js.map +0 -1
  321. package/dist/chunk-6Z24VO3K.js.map +0 -1
  322. package/dist/chunk-77TZHI76.cjs.map +0 -1
  323. package/dist/chunk-7M7NAMR5.js.map +0 -1
  324. package/dist/chunk-7T2SLRNL.cjs.map +0 -1
  325. package/dist/chunk-7YQWG7HR.cjs +0 -45
  326. package/dist/chunk-7YQWG7HR.cjs.map +0 -1
  327. package/dist/chunk-AESLEYST.js.map +0 -1
  328. package/dist/chunk-BCPAY65C.cjs.map +0 -1
  329. package/dist/chunk-CTYW42GG.js.map +0 -1
  330. package/dist/chunk-E62JFAHW.js.map +0 -1
  331. package/dist/chunk-FFZLSY2N.js.map +0 -1
  332. package/dist/chunk-FXQGPHK2.js.map +0 -1
  333. package/dist/chunk-GR5STMOA.js.map +0 -1
  334. package/dist/chunk-HJIKU6MF.cjs.map +0 -1
  335. package/dist/chunk-HXSAH4Y6.cjs.map +0 -1
  336. package/dist/chunk-I2HHC6QW.js.map +0 -1
  337. package/dist/chunk-IHACXMOI.js.map +0 -1
  338. package/dist/chunk-IJA26LRY.cjs.map +0 -1
  339. package/dist/chunk-IOWREUEP.js.map +0 -1
  340. package/dist/chunk-IZDJCEMF.cjs +0 -31
  341. package/dist/chunk-IZDJCEMF.cjs.map +0 -1
  342. package/dist/chunk-JSDQVVQB.js.map +0 -1
  343. package/dist/chunk-KW7Z4IQC.js.map +0 -1
  344. package/dist/chunk-LLNEDEST.cjs.map +0 -1
  345. package/dist/chunk-LXNR6TQK.js.map +0 -1
  346. package/dist/chunk-MDQNUKCP.cjs.map +0 -1
  347. package/dist/chunk-N73JGXYZ.cjs.map +0 -1
  348. package/dist/chunk-NN7WMXY4.cjs.map +0 -1
  349. package/dist/chunk-NQQWCIE6.cjs +0 -20
  350. package/dist/chunk-NQQWCIE6.cjs.map +0 -1
  351. package/dist/chunk-NS3C2ZSE.js.map +0 -1
  352. package/dist/chunk-O2HMH5BI.cjs +0 -88
  353. package/dist/chunk-O2HMH5BI.cjs.map +0 -1
  354. package/dist/chunk-O7C6S644.js.map +0 -1
  355. package/dist/chunk-OM76QWUN.js.map +0 -1
  356. package/dist/chunk-OWNVDXRQ.js.map +0 -1
  357. package/dist/chunk-OZVPJWXO.cjs.map +0 -1
  358. package/dist/chunk-PKXXR76Q.js.map +0 -1
  359. package/dist/chunk-QOGROEVD.js.map +0 -1
  360. package/dist/chunk-QVFEKGKI.cjs.map +0 -1
  361. package/dist/chunk-RFU5HN4E.js.map +0 -1
  362. package/dist/chunk-RQV7SMIZ.cjs.map +0 -1
  363. package/dist/chunk-RZ2E3XEU.cjs.map +0 -1
  364. package/dist/chunk-SMHXSEBD.cjs.map +0 -1
  365. package/dist/chunk-T4PI2ZX7.cjs.map +0 -1
  366. package/dist/chunk-TQLCIXCK.cjs.map +0 -1
  367. package/dist/chunk-TZLM5GF4.js.map +0 -1
  368. package/dist/chunk-TZXEZFCI.cjs.map +0 -1
  369. package/dist/chunk-UQB5OHMO.js.map +0 -1
  370. package/dist/chunk-V2DIQ3RH.js.map +0 -1
  371. package/dist/chunk-VQBZKRIB.cjs.map +0 -1
  372. package/dist/chunk-WDBJVKSR.js +0 -18
  373. package/dist/chunk-WDBJVKSR.js.map +0 -1
  374. package/dist/chunk-WVBFQB26.cjs.map +0 -1
  375. package/dist/chunk-WZ73TWB2.cjs.map +0 -1
  376. package/dist/chunk-XCYE4OQV.js.map +0 -1
  377. package/dist/chunk-XUT2Z2L6.cjs +0 -119
  378. package/dist/chunk-XUT2Z2L6.cjs.map +0 -1
  379. package/dist/chunk-XYVJ3FBQ.cjs.map +0 -1
  380. package/dist/chunk-YCHUHMNP.cjs.map +0 -1
  381. package/dist/chunk-YZ2I7CDF.cjs.map +0 -1
  382. package/dist/chunk-ZFJHUOFU.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { Icon } from './chunk-QOGROEVD.js';
1
+ import { Icon } from './chunk-BSHHQOFY.js';
2
2
  import './tokens-BIIUTPKN.css';
3
3
  import './shared-NJHRNLRH.css';
4
4
  import './Calendar-LHZELUDL.css';
@@ -6,15 +6,16 @@ import * as React from 'react';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
7
 
8
8
  var WEEKDAYS = ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"];
9
- var Calendar = ({
9
+ var Calendar = React.forwardRef(({
10
10
  value,
11
11
  defaultValue,
12
12
  onChange,
13
13
  min,
14
14
  max,
15
15
  disabledDate,
16
- className = ""
17
- }) => {
16
+ className = "",
17
+ ...rest
18
+ }, ref) => {
18
19
  const [inner, setInner] = React.useState(defaultValue ?? /* @__PURE__ */ new Date());
19
20
  const isControlled = value !== void 0;
20
21
  const sel = isControlled ? value : inner;
@@ -34,7 +35,7 @@ var Calendar = ({
34
35
  if (!isControlled) setInner(next);
35
36
  onChange?.(next);
36
37
  };
37
- return /* @__PURE__ */ jsxs("div", { className: `calendar ${className}`, children: [
38
+ return /* @__PURE__ */ jsxs("div", { ref, className: `calendar ${className}`, ...rest, children: [
38
39
  /* @__PURE__ */ jsxs("div", { className: "calendar-head", children: [
39
40
  /* @__PURE__ */ jsx(
40
41
  "button",
@@ -83,8 +84,9 @@ var Calendar = ({
83
84
  })
84
85
  ] })
85
86
  ] });
86
- };
87
+ });
88
+ Calendar.displayName = "Calendar";
87
89
 
88
90
  export { Calendar };
89
- //# sourceMappingURL=chunk-XCYE4OQV.js.map
90
- //# sourceMappingURL=chunk-XCYE4OQV.js.map
91
+ //# sourceMappingURL=chunk-4DNHASZU.js.map
92
+ //# sourceMappingURL=chunk-4DNHASZU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Calendar/Calendar.tsx"],"names":[],"mappings":"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","file":"chunk-4DNHASZU.js","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Calendar.css\";\nimport * as React from \"react\";\nimport { Icon } from \"../Icon\";\n\nexport interface CalendarProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"defaultValue\" | \"onChange\"> {\n value?: Date;\n defaultValue?: Date;\n onChange?: (date: Date) => void;\n /** Min selectable date. */\n min?: Date;\n /** Max selectable date. */\n max?: Date;\n /**\n * Predicate that marks an individual cell as disabled. Disabled cells are\n * greyed out, not clickable, and do not fire `onChange`.\n * @example\n * // disable weekends\n * disabledDate={(d) => d.getDay() === 0 || d.getDay() === 6}\n */\n disabledDate?: (date: Date) => boolean;\n className?: string;\n}\n\nconst WEEKDAYS = [\"日\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\"];\n\n/** `Calendar` — month-view date picker. */\nexport const Calendar = React.forwardRef<HTMLDivElement, CalendarProps>(({\n value,\n defaultValue,\n onChange,\n min,\n max,\n disabledDate,\n className = \"\",\n ...rest\n}, ref) => {\n const [inner, setInner] = React.useState(defaultValue ?? new Date());\n const isControlled = value !== undefined;\n const sel = isControlled ? value! : inner;\n const [view, setView] = React.useState(new Date(sel.getFullYear(), sel.getMonth(), 1));\n\n const first = new Date(view.getFullYear(), view.getMonth(), 1);\n const startDay = first.getDay();\n const daysInMonth = new Date(view.getFullYear(), view.getMonth() + 1, 0).getDate();\n const cells: (number | null)[] = [];\n for (let i = 0; i < startDay; i++) cells.push(null);\n for (let d = 1; d <= daysInMonth; d++) cells.push(d);\n\n const isSame = (a: Date, b: Date) =>\n a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\n\n const pick = (d: number) => {\n const next = new Date(view.getFullYear(), view.getMonth(), d);\n if (min && next < min) return;\n if (max && next > max) return;\n if (disabledDate?.(next)) return;\n if (!isControlled) setInner(next);\n onChange?.(next);\n };\n\n return (\n <div ref={ref} className={`calendar ${className}`} {...rest}>\n <div className=\"calendar-head\">\n <button\n type=\"button\"\n className=\"btn icon sm ghost\"\n onClick={() => setView(new Date(view.getFullYear(), view.getMonth() - 1, 1))}\n aria-label=\"Previous month\"\n >\n <Icon name=\"chevLeft\" size={14} />\n </button>\n <button type=\"button\" className=\"calendar-title\">\n {view.getFullYear()} 年 {view.getMonth() + 1} 月\n </button>\n <button\n type=\"button\"\n className=\"btn icon sm ghost\"\n onClick={() => setView(new Date(view.getFullYear(), view.getMonth() + 1, 1))}\n aria-label=\"Next month\"\n >\n <Icon name=\"chevRight\" size={14} />\n </button>\n </div>\n <div className=\"calendar-grid\">\n {WEEKDAYS.map((w) => (\n <div key={w} className=\"calendar-dow\">{w}</div>\n ))}\n {cells.map((d, i) => {\n if (d === null) return <div key={i} className=\"calendar-cell out\" />;\n const date = new Date(view.getFullYear(), view.getMonth(), d);\n const disabled =\n (min && date < min) ||\n (max && date > max) ||\n (disabledDate?.(date) ?? false);\n return (\n <button\n key={i}\n type=\"button\"\n disabled={!!disabled}\n className={`calendar-cell ${isSame(date, sel) ? \"selected\" : \"\"} ${isSame(date, new Date()) ? \"today\" : \"\"} ${disabled ? \"disabled\" : \"\"}`}\n onClick={() => pick(d)}\n >\n {d}\n </button>\n );\n })}\n </div>\n </div>\n );\n});\nCalendar.displayName = \"Calendar\";\n"]}
@@ -1,4 +1,4 @@
1
- import { Icon } from './chunk-QOGROEVD.js';
1
+ import { Icon } from './chunk-BSHHQOFY.js';
2
2
  import './tokens-BIIUTPKN.css';
3
3
  import './shared-NJHRNLRH.css';
4
4
  import './Image-4MN34O6P.css';
@@ -6,7 +6,7 @@ import * as React from 'react';
6
6
  import ReactDOM from 'react-dom';
7
7
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
8
8
 
9
- var Image = ({
9
+ var Image = React.forwardRef(({
10
10
  src,
11
11
  alt,
12
12
  width = 200,
@@ -14,8 +14,10 @@ var Image = ({
14
14
  preview = true,
15
15
  hover = true,
16
16
  placeholder,
17
- className = ""
18
- }) => {
17
+ className = "",
18
+ style,
19
+ ...rest
20
+ }, ref) => {
19
21
  const [loaded, setLoaded] = React.useState(false);
20
22
  const [err, setErr] = React.useState(false);
21
23
  const [open, setOpen] = React.useState(false);
@@ -24,9 +26,11 @@ var Image = ({
24
26
  /* @__PURE__ */ jsx(
25
27
  "div",
26
28
  {
29
+ ref,
27
30
  className: `n-image ${hover ? "hover" : ""} ${canPreview ? "clickable" : ""} ${className}`,
28
- style: { width },
31
+ style: { width, ...style },
29
32
  onClick: () => canPreview && setOpen(true),
33
+ ...rest,
30
34
  children: /* @__PURE__ */ jsxs("div", { className: "n-image-frame", style: { width: "100%", height }, children: [
31
35
  !err && src && /* @__PURE__ */ jsx("img", { src, alt, onLoad: () => setLoaded(true), onError: () => setErr(true) }),
32
36
  /* @__PURE__ */ jsx("div", { className: `n-image-placeholder ${loaded && !err ? "loaded" : ""}`, children: placeholder ?? /* @__PURE__ */ jsx(Icon, { name: "image", size: 28 }) }),
@@ -57,25 +61,32 @@ var Image = ({
57
61
  document.body
58
62
  )
59
63
  ] });
60
- };
61
- var ImageGrid = ({
64
+ });
65
+ Image.displayName = "Image";
66
+ var ImageGrid = React.forwardRef(({
62
67
  images,
63
68
  columns,
64
69
  itemHeight = 130,
65
- className = ""
66
- }) => /* @__PURE__ */ jsx(
70
+ className = "",
71
+ style,
72
+ ...rest
73
+ }, ref) => /* @__PURE__ */ jsx(
67
74
  "div",
68
75
  {
76
+ ref,
69
77
  className,
70
78
  style: {
71
79
  display: "grid",
72
80
  gap: 14,
73
- gridTemplateColumns: columns ? `repeat(${columns}, 1fr)` : "repeat(auto-fill, minmax(160px, 1fr))"
81
+ gridTemplateColumns: columns ? `repeat(${columns}, 1fr)` : "repeat(auto-fill, minmax(160px, 1fr))",
82
+ ...style
74
83
  },
84
+ ...rest,
75
85
  children: images.map((img, i) => /* @__PURE__ */ jsx(Image, { src: img.src, alt: img.alt, width: "100%", height: itemHeight }, i))
76
86
  }
77
- );
87
+ ));
88
+ ImageGrid.displayName = "ImageGrid";
78
89
 
79
90
  export { Image, ImageGrid };
80
- //# sourceMappingURL=chunk-OM76QWUN.js.map
81
- //# sourceMappingURL=chunk-OM76QWUN.js.map
91
+ //# sourceMappingURL=chunk-4JHFGSNH.js.map
92
+ //# sourceMappingURL=chunk-4JHFGSNH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Image/Image.tsx"],"names":[],"mappings":"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","file":"chunk-4JHFGSNH.js","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Image.css\";\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Icon } from \"../Icon\";\n\nexport interface ImageProps extends React.HTMLAttributes<HTMLDivElement> {\n src?: string;\n alt?: string;\n width?: number | string;\n height?: number | string;\n /** Allow click-to-zoom preview overlay. */\n preview?: boolean;\n /** Hover scale-up. */\n hover?: boolean;\n /** Custom placeholder while loading or on error. */\n placeholder?: React.ReactNode;\n className?: string;\n}\n\n/** `Image` — neumorphic framed image with optional preview overlay. */\nexport const Image = React.forwardRef<HTMLDivElement, ImageProps>(({\n src,\n alt,\n width = 200,\n height = 140,\n preview = true,\n hover = true,\n placeholder,\n className = \"\",\n style,\n ...rest\n}, ref) => {\n const [loaded, setLoaded] = React.useState(false);\n const [err, setErr] = React.useState(false);\n const [open, setOpen] = React.useState(false);\n const canPreview = preview && loaded && !err;\n\n return (\n <>\n <div\n ref={ref}\n className={`n-image ${hover ? \"hover\" : \"\"} ${canPreview ? \"clickable\" : \"\"} ${className}`}\n style={{ width, ...style }}\n onClick={() => canPreview && setOpen(true)}\n {...rest}\n >\n <div className=\"n-image-frame\" style={{ width: \"100%\", height }}>\n {!err && src && (\n <img src={src} alt={alt} onLoad={() => setLoaded(true)} onError={() => setErr(true)} />\n )}\n <div className={`n-image-placeholder ${loaded && !err ? \"loaded\" : \"\"}`}>\n {placeholder ?? <Icon name=\"image\" size={28} />}\n </div>\n {canPreview && (\n <>\n <div className=\"image-hint\">\n <Icon name=\"eye\" size={14} />\n <span>点击查看</span>\n </div>\n <div className=\"image-actions\" onClick={(e) => e.stopPropagation()}>\n <button\n type=\"button\"\n className=\"ia-btn\"\n onClick={() => setOpen(true)}\n aria-label=\"预览\"\n >\n <Icon name=\"eye\" size={13} />\n </button>\n {src && (\n <a className=\"ia-btn\" href={src} download aria-label=\"下载\">\n <Icon name=\"download\" size={13} />\n </a>\n )}\n </div>\n </>\n )}\n </div>\n </div>\n {open &&\n typeof document !== \"undefined\" &&\n ReactDOM.createPortal(\n <div className=\"image-preview-overlay\" onClick={() => setOpen(false)}>\n <img src={src} alt={alt} onClick={(e) => e.stopPropagation()} />\n </div>,\n document.body\n )}\n </>\n );\n});\nImage.displayName = \"Image\";\n\nexport interface ImageGridProps extends React.HTMLAttributes<HTMLDivElement> {\n images: { src: string; alt?: string }[];\n columns?: number;\n itemHeight?: number;\n className?: string;\n}\n\n/** `ImageGrid` — auto-fit grid of `Image` items. */\nexport const ImageGrid = React.forwardRef<HTMLDivElement, ImageGridProps>(({\n images,\n columns,\n itemHeight = 130,\n className = \"\",\n style,\n ...rest\n}, ref) => (\n <div\n ref={ref}\n className={className}\n style={{\n display: \"grid\",\n gap: 14,\n gridTemplateColumns: columns\n ? `repeat(${columns}, 1fr)`\n : \"repeat(auto-fill, minmax(160px, 1fr))\",\n ...style,\n }}\n {...rest}\n >\n {images.map((img, i) => (\n <Image key={i} src={img.src} alt={img.alt} width=\"100%\" height={itemHeight} />\n ))}\n </div>\n));\nImageGrid.displayName = \"ImageGrid\";\n"]}
@@ -1,4 +1,4 @@
1
- import { Input } from './chunk-WUOFJPZ4.js';
1
+ import { Input } from './chunk-ZZXNHPF3.js';
2
2
  import './tokens-BIIUTPKN.css';
3
3
  import './shared-NJHRNLRH.css';
4
4
  import './CommandPalette-T45DBMPY.css';
@@ -17,7 +17,7 @@ var DEFAULT_FILTER = (item, q) => {
17
17
  }
18
18
  return i === needle.length;
19
19
  };
20
- var CommandPalette = ({
20
+ var CommandPalette = React.forwardRef(({
21
21
  open,
22
22
  onOpenChange,
23
23
  items,
@@ -26,12 +26,16 @@ var CommandPalette = ({
26
26
  emptyText = "\u6682\u65E0\u5339\u914D\u7ED3\u679C",
27
27
  resetOnOpen = true,
28
28
  footer,
29
- className = ""
30
- }) => {
29
+ className = "",
30
+ onMouseDown,
31
+ ...rest
32
+ }, ref) => {
31
33
  const [query, setQuery] = React.useState("");
32
34
  const [active, setActive] = React.useState(0);
33
35
  const inputRef = React.useRef(null);
34
36
  const listRef = React.useRef(null);
37
+ const panelRef = React.useRef(null);
38
+ React.useImperativeHandle(ref, () => panelRef.current, []);
35
39
  const filtered = React.useMemo(() => items.filter((it) => filter(it, query)), [items, query, filter]);
36
40
  const grouped = React.useMemo(() => {
37
41
  const order = [];
@@ -108,11 +112,16 @@ var CommandPalette = ({
108
112
  /* @__PURE__ */ jsx("div", { className: `cmdp-overlay ${className}`, onMouseDown: close, role: "presentation", children: /* @__PURE__ */ jsxs(
109
113
  "div",
110
114
  {
115
+ ref: panelRef,
111
116
  className: "cmdp-panel",
112
- onMouseDown: (e) => e.stopPropagation(),
117
+ onMouseDown: (e) => {
118
+ onMouseDown?.(e);
119
+ e.stopPropagation();
120
+ },
113
121
  role: "dialog",
114
122
  "aria-modal": true,
115
123
  "aria-label": "\u547D\u4EE4\u9762\u677F",
124
+ ...rest,
116
125
  children: [
117
126
  /* @__PURE__ */ jsx("div", { className: "cmdp-search", children: /* @__PURE__ */ jsx(
118
127
  Input,
@@ -177,8 +186,9 @@ var CommandPalette = ({
177
186
  ) }),
178
187
  document.body
179
188
  );
180
- };
189
+ });
190
+ CommandPalette.displayName = "CommandPalette";
181
191
 
182
192
  export { CommandPalette };
183
- //# sourceMappingURL=chunk-6Z24VO3K.js.map
184
- //# sourceMappingURL=chunk-6Z24VO3K.js.map
193
+ //# sourceMappingURL=chunk-4XSP4HHZ.js.map
194
+ //# sourceMappingURL=chunk-4XSP4HHZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/CommandPalette/CommandPalette.tsx"],"names":[],"mappings":"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","file":"chunk-4XSP4HHZ.js","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./CommandPalette.css\";\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Input } from \"../Input\";\n\nexport interface CommandItem {\n key: string;\n /** Displayed label; also matched against the search query by default. */\n label: string;\n /** Optional secondary line — e.g. \"Open recent\". */\n description?: React.ReactNode;\n /** Leading icon. */\n icon?: React.ReactNode;\n /** Right-aligned shortcut hint, e.g. `\"⌘P\"`. */\n shortcut?: React.ReactNode;\n /** Extra search terms beyond `label`. */\n keywords?: string[];\n /** Group heading. Items sharing a `group` appear under one heading. */\n group?: string;\n /** Ignored by default filter — still shown. */\n disabled?: boolean;\n onSelect?: () => void;\n}\n\nexport interface CommandPaletteProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"children\"> {\n open: boolean;\n onOpenChange?: (open: boolean) => void;\n items: CommandItem[];\n placeholder?: string;\n /** Custom matcher. Return true to keep the item. */\n filter?: (item: CommandItem, query: string) => boolean;\n /** Shown when no item matches the query. */\n emptyText?: React.ReactNode;\n /** Reset the query to empty whenever the palette opens. Default true. */\n resetOnOpen?: boolean;\n /** Footer node. Pass `null` to hide. */\n footer?: React.ReactNode;\n className?: string;\n}\n\nconst DEFAULT_FILTER = (item: CommandItem, q: string) => {\n if (!q) return true;\n const hay = [item.label, ...(item.keywords ?? [])].join(\" \").toLowerCase();\n const needle = q.toLowerCase();\n // Simple subsequence match — each char of needle appears in order in haystack.\n let i = 0;\n for (const ch of hay) {\n if (ch === needle[i]) i++;\n if (i === needle.length) return true;\n }\n return i === needle.length;\n};\n\n/**\n * `CommandPalette` — ⌘K-style action launcher. Search + grouped items +\n * keyboard nav. Rendered into `document.body`.\n *\n * The parent controls `open` via state — wire `Cmd/Ctrl+K` to toggle.\n *\n * @example\n * ```tsx\n * const [open, setOpen] = React.useState(false);\n * React.useEffect(() => {\n * const h = (e: KeyboardEvent) => {\n * if ((e.metaKey || e.ctrlKey) && e.key === \"k\") { e.preventDefault(); setOpen(o => !o); }\n * };\n * window.addEventListener(\"keydown\", h);\n * return () => window.removeEventListener(\"keydown\", h);\n * }, []);\n *\n * <CommandPalette\n * open={open}\n * onOpenChange={setOpen}\n * items={[\n * { key: \"new\", label: \"新建文件\", icon: <Icon name=\"plus\" size={14} />, group: \"文件\", shortcut: \"⌘N\", onSelect: () => {} },\n * ...\n * ]}\n * />\n * ```\n */\nexport const CommandPalette = React.forwardRef<HTMLDivElement, CommandPaletteProps>(({\n open,\n onOpenChange,\n items,\n placeholder = \"搜索命令…\",\n filter = DEFAULT_FILTER,\n emptyText = \"暂无匹配结果\",\n resetOnOpen = true,\n footer,\n className = \"\",\n onMouseDown,\n ...rest\n}, ref) => {\n const [query, setQuery] = React.useState(\"\");\n const [active, setActive] = React.useState(0);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const listRef = React.useRef<HTMLDivElement>(null);\n const panelRef = React.useRef<HTMLDivElement>(null);\n\n React.useImperativeHandle(ref, () => panelRef.current as HTMLDivElement, []);\n\n const filtered = React.useMemo(() => items.filter((it) => filter(it, query)), [items, query, filter]);\n\n // Group items preserving the original order of first occurrence.\n const grouped = React.useMemo(() => {\n const order: string[] = [];\n const map = new Map<string, CommandItem[]>();\n for (const it of filtered) {\n const g = it.group ?? \"\";\n if (!map.has(g)) { map.set(g, []); order.push(g); }\n map.get(g)!.push(it);\n }\n return order.map((g) => ({ group: g, items: map.get(g)! }));\n }, [filtered]);\n\n const close = React.useCallback(() => onOpenChange?.(false), [onOpenChange]);\n\n // Reset & focus on open.\n React.useEffect(() => {\n if (!open) return;\n if (resetOnOpen) setQuery(\"\");\n setActive(0);\n const id = requestAnimationFrame(() => inputRef.current?.focus());\n return () => cancelAnimationFrame(id);\n }, [open, resetOnOpen]);\n\n // Clamp active when the filtered list shrinks.\n React.useEffect(() => {\n setActive((a) => (filtered.length === 0 ? 0 : Math.min(a, filtered.length - 1)));\n }, [filtered.length]);\n\n // Scroll active item into view.\n React.useEffect(() => {\n const el = listRef.current?.querySelector<HTMLElement>(`[data-cmd-idx=\"${active}\"]`);\n el?.scrollIntoView({ block: \"nearest\" });\n }, [active, filtered]);\n\n const pick = (it: CommandItem) => {\n if (it.disabled) return;\n it.onSelect?.();\n close();\n };\n\n const onKey = (e: React.KeyboardEvent) => {\n if (e.key === \"Escape\") { e.preventDefault(); close(); return; }\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setActive((a) => {\n if (filtered.length === 0) return 0;\n for (let n = 1; n <= filtered.length; n++) {\n const i = (a + n) % filtered.length;\n if (!filtered[i].disabled) return i;\n }\n return a;\n });\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setActive((a) => {\n if (filtered.length === 0) return 0;\n for (let n = 1; n <= filtered.length; n++) {\n const i = (a - n + filtered.length) % filtered.length;\n if (!filtered[i].disabled) return i;\n }\n return a;\n });\n }\n if (e.key === \"Enter\") {\n const it = filtered[active];\n if (it) { e.preventDefault(); pick(it); }\n }\n };\n\n if (typeof document === \"undefined\" || !open) return null;\n\n // Build a flat index map so rendered list items know their position in `filtered`.\n let flatIdx = -1;\n\n return ReactDOM.createPortal(\n <div className={`cmdp-overlay ${className}`} onMouseDown={close} role=\"presentation\">\n <div\n ref={panelRef}\n className=\"cmdp-panel\"\n onMouseDown={(e) => {\n onMouseDown?.(e);\n e.stopPropagation();\n }}\n role=\"dialog\"\n aria-modal\n aria-label=\"命令面板\"\n {...rest}\n >\n <div className=\"cmdp-search\">\n <Input\n ref={inputRef}\n size=\"lg\"\n leadingIcon=\"search\"\n placeholder={placeholder}\n value={query}\n onChange={(v) => setQuery(v)}\n onKeyDown={onKey}\n suffix={<span className=\"cmdp-kbd\">esc</span>}\n />\n </div>\n\n <div ref={listRef} className=\"cmdp-list\" role=\"listbox\">\n {grouped.length === 0 ? (\n <div className=\"cmdp-empty\">{emptyText}</div>\n ) : (\n grouped.map(({ group, items: gItems }) => (\n <div key={group || \"_\"} className=\"cmdp-group\">\n {group && <div className=\"cmdp-group-head\">{group}</div>}\n {gItems.map((it) => {\n flatIdx += 1;\n const i = flatIdx;\n const isActive = i === active;\n return (\n <button\n key={it.key}\n type=\"button\"\n role=\"option\"\n aria-selected={isActive}\n data-cmd-idx={i}\n disabled={it.disabled}\n className={`cmdp-item ${isActive ? \"active\" : \"\"}`}\n onMouseEnter={() => setActive(i)}\n onClick={() => pick(it)}\n >\n <span className=\"cmdp-icon\">{it.icon}</span>\n <span className=\"cmdp-labels\">\n <span className=\"cmdp-label\">{it.label}</span>\n {it.description && <span className=\"cmdp-desc\">{it.description}</span>}\n </span>\n {it.shortcut && <span className=\"cmdp-shortcut\">{it.shortcut}</span>}\n </button>\n );\n })}\n </div>\n ))\n )}\n </div>\n\n {footer === null ? null : (\n <div className=\"cmdp-footer\">\n {footer ?? (\n <>\n <span><span className=\"cmdp-kbd\">↑</span><span className=\"cmdp-kbd\">↓</span> 切换</span>\n <span><span className=\"cmdp-kbd\">⏎</span> 执行</span>\n <span><span className=\"cmdp-kbd\">esc</span> 关闭</span>\n </>\n )}\n </div>\n )}\n </div>\n </div>,\n document.body\n );\n});\nCommandPalette.displayName = \"CommandPalette\";\n"]}
@@ -1,7 +1,7 @@
1
- import { Pagination } from './chunk-AESLEYST.js';
2
- import { Checkbox } from './chunk-PKXXR76Q.js';
3
- import { useFloating } from './chunk-V2DIQ3RH.js';
4
- import { Icon } from './chunk-QOGROEVD.js';
1
+ import { Pagination } from './chunk-DB5JMXOI.js';
2
+ import { Checkbox } from './chunk-ZN6VS6SO.js';
3
+ import { useFloating } from './chunk-ANAQER3T.js';
4
+ import { Icon } from './chunk-BSHHQOFY.js';
5
5
  import './tokens-BIIUTPKN.css';
6
6
  import './shared-NJHRNLRH.css';
7
7
  import './Table-2LPTOUIR.css';
@@ -9,7 +9,7 @@ import * as React from 'react';
9
9
  import { createPortal } from 'react-dom';
10
10
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
11
11
 
12
- function Table({
12
+ var TableInner = ({
13
13
  columns,
14
14
  data,
15
15
  rowKey,
@@ -28,8 +28,10 @@ function Table({
28
28
  scroll,
29
29
  onRowClick,
30
30
  empty = "\u6682\u65E0\u6570\u636E",
31
- className = ""
32
- }) {
31
+ className = "",
32
+ style,
33
+ ...rest
34
+ }, ref) => {
33
35
  const keyOf = React.useCallback(
34
36
  (row, i) => {
35
37
  if (typeof rowKey === "function") return rowKey(row);
@@ -211,137 +213,146 @@ function Table({
211
213
  wrapClass += " scroll-x";
212
214
  }
213
215
  return /* @__PURE__ */ jsxs(Fragment, { children: [
214
- /* @__PURE__ */ jsx("div", { className: `${wrapClass} ${className}`, style: wrapStyle, children: /* @__PURE__ */ jsxs(
215
- "table",
216
+ /* @__PURE__ */ jsx(
217
+ "div",
216
218
  {
217
- className: `table ${v} ${hoverable ? "hoverable" : ""} ${scroll?.y != null ? "sticky-head" : ""}`,
218
- style: innerTableStyle,
219
- children: [
220
- /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
221
- showExpandCol && /* @__PURE__ */ jsx("th", { className: "row-expand", style: { width: 40 } }),
222
- showSelCol && /* @__PURE__ */ jsx("th", { className: "row-check", style: { width: 44 }, children: selectionType === "checkbox" && /* @__PURE__ */ jsx(
223
- Checkbox,
224
- {
225
- checked: allSelectedOnPage,
226
- indeterminate: someSelectedOnPage,
227
- onChange: toggleAll
228
- }
229
- ) }),
230
- columns.map((c) => {
231
- const sorted = sortKey === c.key;
232
- const hasFilters = !!c.filters?.length;
233
- const filterActive = !!activeFilters[c.key]?.length;
234
- return /* @__PURE__ */ jsxs(
235
- "th",
236
- {
237
- className: `${c.sortable ? "sortable" : ""} ${sorted ? "sorted" : ""} ${hasFilters ? "filterable" : ""}`,
238
- style: { width: c.width, textAlign: c.align ?? "left" },
239
- onClick: () => c.sortable && onSort?.(c.key),
240
- children: [
241
- /* @__PURE__ */ jsx("span", { className: "th-label", children: c.title }),
242
- c.sortable && /* @__PURE__ */ jsx("span", { className: "sort-ind", children: /* @__PURE__ */ jsx(
243
- Icon,
244
- {
245
- name: sorted ? sortDir === "asc" ? "chevUp" : "chevDown" : "chevDown",
246
- size: 10
247
- }
248
- ) }),
249
- hasFilters && /* @__PURE__ */ jsx(
250
- ColumnFilterButton,
251
- {
252
- column: c,
253
- activeValues: activeFilters[c.key] ?? [],
254
- onApply: (values) => setColumnFilter(c, values),
255
- active: filterActive
256
- }
257
- )
258
- ]
259
- },
260
- c.key
261
- );
262
- })
263
- ] }) }),
264
- /* @__PURE__ */ jsx("tbody", { children: rowsToRender.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: totalColCount, className: "table-empty", children: empty }) }) : rowsToRender.map((row, i) => {
265
- const k = keyOf(row, i);
266
- const isSel = selectedKeys.includes(k);
267
- const selProps = rowSelection?.getCheckboxProps?.(row);
268
- const canExpand = hasExpandable && (expandable?.rowExpandable?.(row) ?? true);
269
- const isExpanded = canExpand && expandedKeys.includes(k);
270
- return /* @__PURE__ */ jsxs(React.Fragment, { children: [
271
- /* @__PURE__ */ jsxs(
272
- "tr",
273
- {
274
- className: `${onRowClick ? "clickable" : ""} ${isSel ? "selected" : ""}`,
275
- onClick: onRowClick ? () => onRowClick(row, i) : void 0,
276
- children: [
277
- showExpandCol && /* @__PURE__ */ jsx(
278
- "td",
279
- {
280
- className: "row-expand",
281
- onClick: (e) => {
282
- e.stopPropagation();
283
- if (canExpand) toggleExpand(row, k);
284
- },
285
- children: canExpand && /* @__PURE__ */ jsx(
286
- "button",
219
+ ref,
220
+ className: `${wrapClass} ${className}`,
221
+ style: { ...wrapStyle, ...style },
222
+ ...rest,
223
+ children: /* @__PURE__ */ jsxs(
224
+ "table",
225
+ {
226
+ className: `table ${v} ${hoverable ? "hoverable" : ""} ${scroll?.y != null ? "sticky-head" : ""}`,
227
+ style: innerTableStyle,
228
+ children: [
229
+ /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
230
+ showExpandCol && /* @__PURE__ */ jsx("th", { className: "row-expand", style: { width: 40 } }),
231
+ showSelCol && /* @__PURE__ */ jsx("th", { className: "row-check", style: { width: 44 }, children: selectionType === "checkbox" && /* @__PURE__ */ jsx(
232
+ Checkbox,
233
+ {
234
+ checked: allSelectedOnPage,
235
+ indeterminate: someSelectedOnPage,
236
+ onChange: toggleAll
237
+ }
238
+ ) }),
239
+ columns.map((c) => {
240
+ const sorted = sortKey === c.key;
241
+ const hasFilters = !!c.filters?.length;
242
+ const filterActive = !!activeFilters[c.key]?.length;
243
+ return /* @__PURE__ */ jsxs(
244
+ "th",
245
+ {
246
+ className: `${c.sortable ? "sortable" : ""} ${sorted ? "sorted" : ""} ${hasFilters ? "filterable" : ""}`,
247
+ style: { width: c.width, textAlign: c.align ?? "left" },
248
+ onClick: () => c.sortable && onSort?.(c.key),
249
+ children: [
250
+ /* @__PURE__ */ jsx("span", { className: "th-label", children: c.title }),
251
+ c.sortable && /* @__PURE__ */ jsx("span", { className: "sort-ind", children: /* @__PURE__ */ jsx(
252
+ Icon,
253
+ {
254
+ name: sorted ? sortDir === "asc" ? "chevUp" : "chevDown" : "chevDown",
255
+ size: 10
256
+ }
257
+ ) }),
258
+ hasFilters && /* @__PURE__ */ jsx(
259
+ ColumnFilterButton,
260
+ {
261
+ column: c,
262
+ activeValues: activeFilters[c.key] ?? [],
263
+ onApply: (values) => setColumnFilter(c, values),
264
+ active: filterActive
265
+ }
266
+ )
267
+ ]
268
+ },
269
+ c.key
270
+ );
271
+ })
272
+ ] }) }),
273
+ /* @__PURE__ */ jsx("tbody", { children: rowsToRender.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: totalColCount, className: "table-empty", children: empty }) }) : rowsToRender.map((row, i) => {
274
+ const k = keyOf(row, i);
275
+ const isSel = selectedKeys.includes(k);
276
+ const selProps = rowSelection?.getCheckboxProps?.(row);
277
+ const canExpand = hasExpandable && (expandable?.rowExpandable?.(row) ?? true);
278
+ const isExpanded = canExpand && expandedKeys.includes(k);
279
+ return /* @__PURE__ */ jsxs(React.Fragment, { children: [
280
+ /* @__PURE__ */ jsxs(
281
+ "tr",
282
+ {
283
+ className: `${onRowClick ? "clickable" : ""} ${isSel ? "selected" : ""}`,
284
+ onClick: onRowClick ? () => onRowClick(row, i) : void 0,
285
+ children: [
286
+ showExpandCol && /* @__PURE__ */ jsx(
287
+ "td",
287
288
  {
288
- type: "button",
289
- className: `expand-btn ${isExpanded ? "open" : ""}`,
290
- "aria-expanded": isExpanded,
291
- "aria-label": isExpanded ? "Collapse row" : "Expand row",
289
+ className: "row-expand",
292
290
  onClick: (e) => {
293
291
  e.stopPropagation();
294
- toggleExpand(row, k);
292
+ if (canExpand) toggleExpand(row, k);
295
293
  },
296
- children: /* @__PURE__ */ jsx(Icon, { name: "chevRight", size: 12 })
294
+ children: canExpand && /* @__PURE__ */ jsx(
295
+ "button",
296
+ {
297
+ type: "button",
298
+ className: `expand-btn ${isExpanded ? "open" : ""}`,
299
+ "aria-expanded": isExpanded,
300
+ "aria-label": isExpanded ? "Collapse row" : "Expand row",
301
+ onClick: (e) => {
302
+ e.stopPropagation();
303
+ toggleExpand(row, k);
304
+ },
305
+ children: /* @__PURE__ */ jsx(Icon, { name: "chevRight", size: 12 })
306
+ }
307
+ )
297
308
  }
298
- )
299
- }
300
- ),
301
- showSelCol && /* @__PURE__ */ jsx(
302
- "td",
303
- {
304
- className: "row-check",
305
- onClick: (e) => {
306
- e.stopPropagation();
307
- toggleRow(row, k);
308
- },
309
- children: selectionType === "radio" ? /* @__PURE__ */ jsx(
310
- "button",
309
+ ),
310
+ showSelCol && /* @__PURE__ */ jsx(
311
+ "td",
311
312
  {
312
- type: "button",
313
- role: "radio",
314
- "aria-checked": isSel,
315
- disabled: selProps?.disabled,
316
- className: `radio-dot ${isSel ? "checked" : ""}`,
313
+ className: "row-check",
317
314
  onClick: (e) => {
318
315
  e.stopPropagation();
319
316
  toggleRow(row, k);
320
- }
321
- }
322
- ) : /* @__PURE__ */ jsx(
323
- Checkbox,
324
- {
325
- checked: isSel,
326
- disabled: selProps?.disabled,
327
- onChange: () => toggleRow(row, k)
317
+ },
318
+ children: selectionType === "radio" ? /* @__PURE__ */ jsx(
319
+ "button",
320
+ {
321
+ type: "button",
322
+ role: "radio",
323
+ "aria-checked": isSel,
324
+ disabled: selProps?.disabled,
325
+ className: `radio-dot ${isSel ? "checked" : ""}`,
326
+ onClick: (e) => {
327
+ e.stopPropagation();
328
+ toggleRow(row, k);
329
+ }
330
+ }
331
+ ) : /* @__PURE__ */ jsx(
332
+ Checkbox,
333
+ {
334
+ checked: isSel,
335
+ disabled: selProps?.disabled,
336
+ onChange: () => toggleRow(row, k)
337
+ }
338
+ )
328
339
  }
329
- )
330
- }
331
- ),
332
- columns.map((c) => {
333
- const val = c.dataIndex ? row[c.dataIndex] : void 0;
334
- return /* @__PURE__ */ jsx("td", { style: { textAlign: c.align ?? "left" }, children: c.render ? c.render(val, row, i) : val }, c.key);
335
- })
336
- ]
337
- }
338
- ),
339
- isExpanded && expandable?.expandedRowRender && /* @__PURE__ */ jsx("tr", { className: "expanded-row", children: /* @__PURE__ */ jsx("td", { colSpan: totalColCount, children: /* @__PURE__ */ jsx("div", { className: "expanded-panel", children: expandable.expandedRowRender(row, i) }) }) })
340
- ] }, k);
341
- }) })
342
- ]
340
+ ),
341
+ columns.map((c) => {
342
+ const val = c.dataIndex ? row[c.dataIndex] : void 0;
343
+ return /* @__PURE__ */ jsx("td", { style: { textAlign: c.align ?? "left" }, children: c.render ? c.render(val, row, i) : val }, c.key);
344
+ })
345
+ ]
346
+ }
347
+ ),
348
+ isExpanded && expandable?.expandedRowRender && /* @__PURE__ */ jsx("tr", { className: "expanded-row", children: /* @__PURE__ */ jsx("td", { colSpan: totalColCount, children: /* @__PURE__ */ jsx("div", { className: "expanded-panel", children: expandable.expandedRowRender(row, i) }) }) })
349
+ ] }, k);
350
+ }) })
351
+ ]
352
+ }
353
+ )
343
354
  }
344
- ) }),
355
+ ),
345
356
  pagEnabled && /* @__PURE__ */ jsx("div", { className: "table-pagination", children: /* @__PURE__ */ jsx(
346
357
  Pagination,
347
358
  {
@@ -352,7 +363,9 @@ function Table({
352
363
  }
353
364
  ) })
354
365
  ] });
355
- }
366
+ };
367
+ var Table = React.forwardRef(TableInner);
368
+ Table.displayName = "Table";
356
369
  function ColumnFilterButton({
357
370
  column,
358
371
  activeValues,
@@ -472,5 +485,5 @@ function TablePro({
472
485
  }
473
486
 
474
487
  export { Table, TablePro };
475
- //# sourceMappingURL=chunk-CTYW42GG.js.map
476
- //# sourceMappingURL=chunk-CTYW42GG.js.map
488
+ //# sourceMappingURL=chunk-5VIOJW6M.js.map
489
+ //# sourceMappingURL=chunk-5VIOJW6M.js.map