@fangxinyan/lumina 0.5.1 → 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 (363) 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 +4 -4
  14. package/dist/AutoComplete.d.cts +1 -4
  15. package/dist/AutoComplete.d.ts +1 -4
  16. package/dist/AutoComplete.js +3 -3
  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 +3 -3
  28. package/dist/Cascader.d.cts +2 -2
  29. package/dist/Cascader.d.ts +2 -2
  30. package/dist/Cascader.js +2 -2
  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 +2 -2
  36. package/dist/ColorPicker.d.cts +1 -3
  37. package/dist/ColorPicker.d.ts +1 -3
  38. package/dist/ColorPicker.js +1 -1
  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 +1 -1
  65. package/dist/Icon.d.ts +1 -1
  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 +5 -5
  86. package/dist/Pagination.d.cts +2 -2
  87. package/dist/Pagination.d.ts +2 -2
  88. package/dist/Pagination.js +4 -4
  89. package/dist/Popover.cjs +2 -2
  90. package/dist/Popover.d.cts +2 -2
  91. package/dist/Popover.d.ts +2 -2
  92. package/dist/Popover.js +1 -1
  93. package/dist/Progress-CHV7DN6Y.css +80 -0
  94. package/dist/Progress.cjs +2 -6
  95. package/dist/Progress.d.cts +5 -13
  96. package/dist/Progress.d.ts +5 -13
  97. package/dist/Progress.js +1 -1
  98. package/dist/Select.cjs +4 -4
  99. package/dist/Select.d.cts +6 -3
  100. package/dist/Select.d.ts +6 -3
  101. package/dist/Select.js +3 -3
  102. package/dist/Splitter.cjs +2 -2
  103. package/dist/Splitter.d.cts +2 -2
  104. package/dist/Splitter.d.ts +2 -2
  105. package/dist/Splitter.js +1 -1
  106. package/dist/StatusBar.cjs +3 -3
  107. package/dist/StatusBar.d.cts +3 -2
  108. package/dist/StatusBar.d.ts +3 -2
  109. package/dist/StatusBar.js +1 -1
  110. package/dist/Switch.cjs +2 -2
  111. package/dist/Switch.d.cts +2 -2
  112. package/dist/Switch.d.ts +2 -2
  113. package/dist/Switch.js +1 -1
  114. package/dist/Table.cjs +8 -8
  115. package/dist/Table.d.cts +4 -3
  116. package/dist/Table.d.ts +4 -3
  117. package/dist/Table.js +6 -6
  118. package/dist/Tabs.cjs +3 -3
  119. package/dist/Tabs.d.cts +5 -5
  120. package/dist/Tabs.d.ts +5 -5
  121. package/dist/Tabs.js +1 -1
  122. package/dist/Tag.cjs +4 -4
  123. package/dist/Tag.d.cts +2 -2
  124. package/dist/Tag.d.ts +2 -2
  125. package/dist/Tag.js +2 -2
  126. package/dist/Timeline.cjs +3 -3
  127. package/dist/Timeline.js +2 -2
  128. package/dist/Toast.cjs +4 -4
  129. package/dist/Toast.d.cts +2 -2
  130. package/dist/Toast.d.ts +2 -2
  131. package/dist/Toast.js +2 -2
  132. package/dist/Tooltip.cjs +2 -2
  133. package/dist/Tooltip.d.cts +2 -2
  134. package/dist/Tooltip.d.ts +2 -2
  135. package/dist/Tooltip.js +1 -1
  136. package/dist/Typography.cjs +7 -7
  137. package/dist/Typography.js +2 -2
  138. package/dist/{chunk-QVFEKGKI.cjs → chunk-2K5HZLXW.cjs} +6 -3
  139. package/dist/chunk-2K5HZLXW.cjs.map +1 -0
  140. package/dist/chunk-2LIX7ZHX.js +29 -0
  141. package/dist/chunk-2LIX7ZHX.js.map +1 -0
  142. package/dist/{chunk-3ES5QPAF.cjs → chunk-2TNJ7TC4.cjs} +22 -12
  143. package/dist/chunk-2TNJ7TC4.cjs.map +1 -0
  144. package/dist/chunk-3EGZ6TBF.cjs +65 -0
  145. package/dist/chunk-3EGZ6TBF.cjs.map +1 -0
  146. package/dist/{chunk-RFU5HN4E.js → chunk-3LJO33HI.js} +25 -7
  147. package/dist/chunk-3LJO33HI.js.map +1 -0
  148. package/dist/{chunk-UQB5OHMO.js → chunk-44AVDO3T.js} +27 -19
  149. package/dist/chunk-44AVDO3T.js.map +1 -0
  150. package/dist/{chunk-TAYFI4RG.cjs → chunk-474MXYO5.cjs} +4 -4
  151. package/dist/{chunk-TAYFI4RG.cjs.map → chunk-474MXYO5.cjs.map} +1 -1
  152. package/dist/{chunk-TMRSI543.js → chunk-4DNHASZU.js} +10 -8
  153. package/dist/chunk-4DNHASZU.js.map +1 -0
  154. package/dist/{chunk-UXABXEWT.js → chunk-4JHFGSNH.js} +24 -13
  155. package/dist/chunk-4JHFGSNH.js.map +1 -0
  156. package/dist/{chunk-E7UQSFKF.js → chunk-4XSP4HHZ.js} +18 -8
  157. package/dist/chunk-4XSP4HHZ.js.map +1 -0
  158. package/dist/{chunk-JQZFOIX6.js → chunk-5VIOJW6M.js} +141 -128
  159. package/dist/chunk-5VIOJW6M.js.map +1 -0
  160. package/dist/{chunk-WBL7LOIH.js → chunk-6CAEGNCK.js} +10 -8
  161. package/dist/chunk-6CAEGNCK.js.map +1 -0
  162. package/dist/{chunk-JELHUUM5.js → chunk-6FSOJLY6.js} +3 -3
  163. package/dist/{chunk-JELHUUM5.js.map → chunk-6FSOJLY6.js.map} +1 -1
  164. package/dist/{chunk-2OBQOEFD.cjs → chunk-6TRVGFFX.cjs} +16 -5
  165. package/dist/chunk-6TRVGFFX.cjs.map +1 -0
  166. package/dist/{chunk-7T2SLRNL.cjs → chunk-74VZZAUT.cjs} +14 -7
  167. package/dist/chunk-74VZZAUT.cjs.map +1 -0
  168. package/dist/{chunk-GR5STMOA.js → chunk-A3IJM7IX.js} +76 -50
  169. package/dist/chunk-A3IJM7IX.js.map +1 -0
  170. package/dist/{chunk-WZ73TWB2.cjs → chunk-AXRABZLY.cjs} +25 -7
  171. package/dist/chunk-AXRABZLY.cjs.map +1 -0
  172. package/dist/{chunk-X3JG3IR6.js → chunk-BSHHQOFY.js} +23 -18
  173. package/dist/chunk-BSHHQOFY.js.map +1 -0
  174. package/dist/{chunk-JSDQVVQB.js → chunk-CVEGVB2C.js} +17 -12
  175. package/dist/chunk-CVEGVB2C.js.map +1 -0
  176. package/dist/{chunk-ILVNMES2.js → chunk-D242UJZO.js} +14 -11
  177. package/dist/chunk-D242UJZO.js.map +1 -0
  178. package/dist/{chunk-RJNGXR5Y.js → chunk-DB5JMXOI.js} +11 -9
  179. package/dist/chunk-DB5JMXOI.js.map +1 -0
  180. package/dist/{chunk-OWNVDXRQ.js → chunk-DCX36FYD.js} +23 -10
  181. package/dist/chunk-DCX36FYD.js.map +1 -0
  182. package/dist/{chunk-3KQKEE5O.cjs → chunk-DH4NYYJP.cjs} +43 -18
  183. package/dist/chunk-DH4NYYJP.cjs.map +1 -0
  184. package/dist/{chunk-P4XPESR2.js → chunk-DUNQNSVK.js} +20 -10
  185. package/dist/chunk-DUNQNSVK.js.map +1 -0
  186. package/dist/{chunk-5PREWYTB.js → chunk-E6K6GYUC.js} +21 -27
  187. package/dist/chunk-E6K6GYUC.js.map +1 -0
  188. package/dist/{chunk-IHACXMOI.js → chunk-EARCKSI7.js} +6 -3
  189. package/dist/chunk-EARCKSI7.js.map +1 -0
  190. package/dist/chunk-EHZXEZI2.cjs +78 -0
  191. package/dist/chunk-EHZXEZI2.cjs.map +1 -0
  192. package/dist/{chunk-S7RFIMA3.cjs → chunk-FBQLNAUI.cjs} +11 -9
  193. package/dist/chunk-FBQLNAUI.cjs.map +1 -0
  194. package/dist/chunk-FCIPCZAK.cjs +53 -0
  195. package/dist/chunk-FCIPCZAK.cjs.map +1 -0
  196. package/dist/{chunk-DLGFIRVW.js → chunk-FSOJHDXH.js} +7 -6
  197. package/dist/chunk-FSOJHDXH.js.map +1 -0
  198. package/dist/{chunk-2D5VCIJZ.cjs → chunk-HHSVGNJA.cjs} +7 -7
  199. package/dist/chunk-HHSVGNJA.cjs.map +1 -0
  200. package/dist/{chunk-ZSR5JSYZ.cjs → chunk-HQO7EZNQ.cjs} +23 -13
  201. package/dist/chunk-HQO7EZNQ.cjs.map +1 -0
  202. package/dist/{chunk-V6466VMN.cjs → chunk-IL523MTN.cjs} +144 -131
  203. package/dist/chunk-IL523MTN.cjs.map +1 -0
  204. package/dist/{chunk-GT45MQAK.cjs → chunk-JAGJQDAV.cjs} +22 -13
  205. package/dist/chunk-JAGJQDAV.cjs.map +1 -0
  206. package/dist/{chunk-U7TAQLPN.cjs → chunk-JF2WNLPF.cjs} +6 -6
  207. package/dist/{chunk-U7TAQLPN.cjs.map → chunk-JF2WNLPF.cjs.map} +1 -1
  208. package/dist/{chunk-S3NIRNWM.js → chunk-JS6U7UQS.js} +3 -3
  209. package/dist/{chunk-S3NIRNWM.js.map → chunk-JS6U7UQS.js.map} +1 -1
  210. package/dist/{chunk-H2QTLV5T.cjs → chunk-KA3XLPQJ.cjs} +34 -9
  211. package/dist/chunk-KA3XLPQJ.cjs.map +1 -0
  212. package/dist/{chunk-NS3C2ZSE.js → chunk-KWE2PXJQ.js} +8 -5
  213. package/dist/chunk-KWE2PXJQ.js.map +1 -0
  214. package/dist/{chunk-TGUDT3GK.js → chunk-LSQD2GFA.js} +4 -4
  215. package/dist/chunk-LSQD2GFA.js.map +1 -0
  216. package/dist/{chunk-D26YHP2Y.cjs → chunk-MU4GGX6C.cjs} +14 -12
  217. package/dist/chunk-MU4GGX6C.cjs.map +1 -0
  218. package/dist/{chunk-3YYOYDKI.js → chunk-MXIWTYNC.js} +16 -6
  219. package/dist/chunk-MXIWTYNC.js.map +1 -0
  220. package/dist/{chunk-5EAVXFFD.cjs → chunk-NRP3X3PE.cjs} +17 -12
  221. package/dist/chunk-NRP3X3PE.cjs.map +1 -0
  222. package/dist/{chunk-DF5K2BZ2.cjs → chunk-P4CGE5C7.cjs} +17 -7
  223. package/dist/chunk-P4CGE5C7.cjs.map +1 -0
  224. package/dist/{chunk-5SJJI3HL.js → chunk-PX5ABNKV.js} +19 -10
  225. package/dist/chunk-PX5ABNKV.js.map +1 -0
  226. package/dist/{chunk-WKNVNN2K.cjs → chunk-QCNHDDSD.cjs} +36 -13
  227. package/dist/chunk-QCNHDDSD.cjs.map +1 -0
  228. package/dist/{chunk-5N7347MI.js → chunk-QRSPBK3X.js} +8 -6
  229. package/dist/chunk-QRSPBK3X.js.map +1 -0
  230. package/dist/{chunk-XT7RXXOE.js → chunk-RHZOBQON.js} +35 -13
  231. package/dist/chunk-RHZOBQON.js.map +1 -0
  232. package/dist/{chunk-P2AV5BD7.cjs → chunk-RNVE2LMJ.cjs} +33 -8
  233. package/dist/chunk-RNVE2LMJ.cjs.map +1 -0
  234. package/dist/{chunk-TQLCIXCK.cjs → chunk-RXL26GSI.cjs} +28 -5
  235. package/dist/chunk-RXL26GSI.cjs.map +1 -0
  236. package/dist/{chunk-UUY7EDVJ.cjs → chunk-S3OSBW7R.cjs} +19 -14
  237. package/dist/chunk-S3OSBW7R.cjs.map +1 -0
  238. package/dist/{chunk-33TIL25B.cjs → chunk-SREMTSVI.cjs} +47 -19
  239. package/dist/chunk-SREMTSVI.cjs.map +1 -0
  240. package/dist/{chunk-6GNFRP2H.js → chunk-SWB57EA2.js} +9 -7
  241. package/dist/chunk-SWB57EA2.js.map +1 -0
  242. package/dist/{chunk-FLPHVK45.js → chunk-T7ZBJJC4.js} +12 -7
  243. package/dist/chunk-T7ZBJJC4.js.map +1 -0
  244. package/dist/chunk-TC5ZL2OS.cjs +165 -0
  245. package/dist/chunk-TC5ZL2OS.cjs.map +1 -0
  246. package/dist/{chunk-I7UJA6RM.cjs → chunk-V24B7KWT.cjs} +12 -10
  247. package/dist/chunk-V24B7KWT.cjs.map +1 -0
  248. package/dist/{chunk-BIXW4ZYW.cjs → chunk-V5KSJITO.cjs} +7 -7
  249. package/dist/{chunk-BIXW4ZYW.cjs.map → chunk-V5KSJITO.cjs.map} +1 -1
  250. package/dist/{chunk-IJIQ4H6C.cjs → chunk-WFFWVQK4.cjs} +7 -7
  251. package/dist/{chunk-IJIQ4H6C.cjs.map → chunk-WFFWVQK4.cjs.map} +1 -1
  252. package/dist/{chunk-LWN2PXW7.js → chunk-WLFMOWUY.js} +3 -3
  253. package/dist/{chunk-LWN2PXW7.js.map → chunk-WLFMOWUY.js.map} +1 -1
  254. package/dist/{chunk-N5W6XJI2.js → chunk-X3QINITU.js} +16 -5
  255. package/dist/chunk-X3QINITU.js.map +1 -0
  256. package/dist/{chunk-AJEF2ZB7.cjs → chunk-XMFVAYBP.cjs} +9 -8
  257. package/dist/chunk-XMFVAYBP.cjs.map +1 -0
  258. package/dist/{chunk-WR3FML2W.cjs → chunk-XMINE4TN.cjs} +28 -17
  259. package/dist/chunk-XMINE4TN.cjs.map +1 -0
  260. package/dist/{chunk-YZ2I7CDF.cjs → chunk-XXE5TQ7I.cjs} +9 -7
  261. package/dist/chunk-XXE5TQ7I.cjs.map +1 -0
  262. package/dist/{chunk-UEHONGPZ.js → chunk-XYGRVPUA.js} +33 -8
  263. package/dist/chunk-XYGRVPUA.js.map +1 -0
  264. package/dist/chunk-Y7BZMMAV.cjs +51 -0
  265. package/dist/chunk-Y7BZMMAV.cjs.map +1 -0
  266. package/dist/{chunk-HHPYY4LH.js → chunk-YRAQRENN.js} +38 -11
  267. package/dist/chunk-YRAQRENN.js.map +1 -0
  268. package/dist/{chunk-BPDWBY6Y.cjs → chunk-YVSZLQTQ.cjs} +19 -9
  269. package/dist/chunk-YVSZLQTQ.cjs.map +1 -0
  270. package/dist/{chunk-TCPTBLDV.cjs → chunk-ZA36BJIY.cjs} +38 -11
  271. package/dist/chunk-ZA36BJIY.cjs.map +1 -0
  272. package/dist/{chunk-47Z4NIU4.js → chunk-ZHCQEJ2Z.js} +14 -7
  273. package/dist/chunk-ZHCQEJ2Z.js.map +1 -0
  274. package/dist/{chunk-D3GZSL2B.cjs → chunk-ZM4P6ELG.cjs} +45 -23
  275. package/dist/chunk-ZM4P6ELG.cjs.map +1 -0
  276. package/dist/{chunk-4ADDAZK3.js → chunk-ZN6VS6SO.js} +18 -13
  277. package/dist/chunk-ZN6VS6SO.js.map +1 -0
  278. package/dist/{chunk-AZRJZM7W.js → chunk-ZPDMAMWC.js} +21 -11
  279. package/dist/chunk-ZPDMAMWC.js.map +1 -0
  280. package/dist/{chunk-GB5NAXBP.js → chunk-ZZXNHPF3.js} +3 -3
  281. package/dist/{chunk-GB5NAXBP.js.map → chunk-ZZXNHPF3.js.map} +1 -1
  282. package/dist/index.cjs +94 -98
  283. package/dist/index.cjs.map +1 -1
  284. package/dist/index.d.cts +2 -2
  285. package/dist/index.d.ts +2 -2
  286. package/dist/index.js +37 -37
  287. package/dist/index.js.map +1 -1
  288. package/dist/styles.css +50 -32
  289. package/docs/llms/appshell.md +36 -0
  290. package/docs/llms/progress.md +10 -18
  291. package/docs/llms.md +7 -5
  292. package/package.json +76 -1
  293. package/dist/Progress-IXRSO5TW.css +0 -63
  294. package/dist/chunk-2D5VCIJZ.cjs.map +0 -1
  295. package/dist/chunk-2OBQOEFD.cjs.map +0 -1
  296. package/dist/chunk-33TIL25B.cjs.map +0 -1
  297. package/dist/chunk-3ES5QPAF.cjs.map +0 -1
  298. package/dist/chunk-3KQKEE5O.cjs.map +0 -1
  299. package/dist/chunk-3YYOYDKI.js.map +0 -1
  300. package/dist/chunk-47Z4NIU4.js.map +0 -1
  301. package/dist/chunk-4ADDAZK3.js.map +0 -1
  302. package/dist/chunk-5BFETKVP.cjs +0 -52
  303. package/dist/chunk-5BFETKVP.cjs.map +0 -1
  304. package/dist/chunk-5EAVXFFD.cjs.map +0 -1
  305. package/dist/chunk-5N7347MI.js.map +0 -1
  306. package/dist/chunk-5PREWYTB.js.map +0 -1
  307. package/dist/chunk-5SJJI3HL.js.map +0 -1
  308. package/dist/chunk-6GNFRP2H.js.map +0 -1
  309. package/dist/chunk-7T2SLRNL.cjs.map +0 -1
  310. package/dist/chunk-7YQWG7HR.cjs +0 -45
  311. package/dist/chunk-7YQWG7HR.cjs.map +0 -1
  312. package/dist/chunk-AJEF2ZB7.cjs.map +0 -1
  313. package/dist/chunk-AZRJZM7W.js.map +0 -1
  314. package/dist/chunk-BPDWBY6Y.cjs.map +0 -1
  315. package/dist/chunk-D26YHP2Y.cjs.map +0 -1
  316. package/dist/chunk-D3GZSL2B.cjs.map +0 -1
  317. package/dist/chunk-DF5K2BZ2.cjs.map +0 -1
  318. package/dist/chunk-DLGFIRVW.js.map +0 -1
  319. package/dist/chunk-E7UQSFKF.js.map +0 -1
  320. package/dist/chunk-FLPHVK45.js.map +0 -1
  321. package/dist/chunk-GR5STMOA.js.map +0 -1
  322. package/dist/chunk-GT45MQAK.cjs.map +0 -1
  323. package/dist/chunk-H2QTLV5T.cjs.map +0 -1
  324. package/dist/chunk-HHPYY4LH.js.map +0 -1
  325. package/dist/chunk-I7UJA6RM.cjs.map +0 -1
  326. package/dist/chunk-IHACXMOI.js.map +0 -1
  327. package/dist/chunk-ILVNMES2.js.map +0 -1
  328. package/dist/chunk-IZDJCEMF.cjs +0 -31
  329. package/dist/chunk-IZDJCEMF.cjs.map +0 -1
  330. package/dist/chunk-JQZFOIX6.js.map +0 -1
  331. package/dist/chunk-JSDQVVQB.js.map +0 -1
  332. package/dist/chunk-N5W6XJI2.js.map +0 -1
  333. package/dist/chunk-NQQWCIE6.cjs +0 -20
  334. package/dist/chunk-NQQWCIE6.cjs.map +0 -1
  335. package/dist/chunk-NS3C2ZSE.js.map +0 -1
  336. package/dist/chunk-OWNVDXRQ.js.map +0 -1
  337. package/dist/chunk-P2AV5BD7.cjs.map +0 -1
  338. package/dist/chunk-P4XPESR2.js.map +0 -1
  339. package/dist/chunk-QVFEKGKI.cjs.map +0 -1
  340. package/dist/chunk-RFU5HN4E.js.map +0 -1
  341. package/dist/chunk-RJNGXR5Y.js.map +0 -1
  342. package/dist/chunk-S7RFIMA3.cjs.map +0 -1
  343. package/dist/chunk-TCPTBLDV.cjs.map +0 -1
  344. package/dist/chunk-TGUDT3GK.js.map +0 -1
  345. package/dist/chunk-TMRSI543.js.map +0 -1
  346. package/dist/chunk-TQLCIXCK.cjs.map +0 -1
  347. package/dist/chunk-UEHONGPZ.js.map +0 -1
  348. package/dist/chunk-UQB5OHMO.js.map +0 -1
  349. package/dist/chunk-UUY7EDVJ.cjs.map +0 -1
  350. package/dist/chunk-UXABXEWT.js.map +0 -1
  351. package/dist/chunk-V6466VMN.cjs.map +0 -1
  352. package/dist/chunk-WBL7LOIH.js.map +0 -1
  353. package/dist/chunk-WDBJVKSR.js +0 -18
  354. package/dist/chunk-WDBJVKSR.js.map +0 -1
  355. package/dist/chunk-WKNVNN2K.cjs.map +0 -1
  356. package/dist/chunk-WR3FML2W.cjs.map +0 -1
  357. package/dist/chunk-WZ73TWB2.cjs.map +0 -1
  358. package/dist/chunk-X3JG3IR6.js.map +0 -1
  359. package/dist/chunk-XT7RXXOE.js.map +0 -1
  360. package/dist/chunk-XUT2Z2L6.cjs +0 -119
  361. package/dist/chunk-XUT2Z2L6.cjs.map +0 -1
  362. package/dist/chunk-YZ2I7CDF.cjs.map +0 -1
  363. package/dist/chunk-ZSR5JSYZ.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Image/Image.tsx"],"names":["React","jsxs","Fragment","jsx","Icon","ReactDOM"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBO,IAAM,QAA8B,CAAC;AAAA,EAC1C,GAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA,GAAQ,GAAA;AAAA,EACR,MAAA,GAAS,GAAA;AAAA,EACT,OAAA,GAAU,IAAA;AAAA,EACV,KAAA,GAAQ,IAAA;AAAA,EACR,WAAA;AAAA,EACA,SAAA,GAAY;AACd,CAAA,KAAM;AACJ,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAUA,0BAAS,KAAK,CAAA;AAChD,EAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAUA,0BAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAUA,0BAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,UAAA,GAAa,OAAA,IAAW,MAAA,IAAU,CAAC,GAAA;AAEzC,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,CAAA,QAAA,EAAW,KAAA,GAAQ,OAAA,GAAU,EAAE,IAAI,UAAA,GAAa,WAAA,GAAc,EAAE,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA;AAAA,QACxF,KAAA,EAAO,EAAE,KAAA,EAAM;AAAA,QACf,OAAA,EAAS,MAAM,UAAA,IAAc,OAAA,CAAQ,IAAI,CAAA;AAAA,QAEzC,QAAA,kBAAAF,eAAA,CAAC,SAAI,SAAA,EAAU,eAAA,EAAgB,OAAO,EAAE,KAAA,EAAO,MAAA,EAAQ,MAAA,EAAO,EAC3D,QAAA,EAAA;AAAA,UAAA,CAAC,GAAA,IAAO,GAAA,oBACPE,cAAA,CAAC,KAAA,EAAA,EAAI,KAAU,GAAA,EAAU,MAAA,EAAQ,MAAM,SAAA,CAAU,IAAI,CAAA,EAAG,OAAA,EAAS,MAAM,MAAA,CAAO,IAAI,CAAA,EAAG,CAAA;AAAA,yCAEtF,KAAA,EAAA,EAAI,SAAA,EAAW,CAAA,oBAAA,EAAuB,MAAA,IAAU,CAAC,GAAA,GAAM,QAAA,GAAW,EAAE,CAAA,CAAA,EAClE,yCAAeA,cAAA,CAACC,sBAAA,EAAA,EAAK,MAAK,OAAA,EAAQ,IAAA,EAAM,IAAI,CAAA,EAC/C,CAAA;AAAA,UACC,8BACCH,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,4BAAAD,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,YAAA,EACb,QAAA,EAAA;AAAA,8BAAAE,cAAA,CAACC,sBAAA,EAAA,EAAK,IAAA,EAAK,KAAA,EAAM,IAAA,EAAM,EAAA,EAAI,CAAA;AAAA,8BAC3BD,cAAA,CAAC,UAAK,QAAA,EAAA,0BAAA,EAAI;AAAA,aAAA,EACZ,CAAA;AAAA,4BACAF,eAAA,CAAC,SAAI,SAAA,EAAU,eAAA,EAAgB,SAAS,CAAC,CAAA,KAAM,CAAA,CAAE,eAAA,EAAgB,EAC/D,QAAA,EAAA;AAAA,8BAAAE,cAAA;AAAA,gBAAC,QAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,QAAA;AAAA,kBACL,SAAA,EAAU,QAAA;AAAA,kBACV,OAAA,EAAS,MAAM,OAAA,CAAQ,IAAI,CAAA;AAAA,kBAC3B,YAAA,EAAW,cAAA;AAAA,kBAEX,QAAA,kBAAAA,cAAA,CAACC,sBAAA,EAAA,EAAK,IAAA,EAAK,KAAA,EAAM,MAAM,EAAA,EAAI;AAAA;AAAA,eAC7B;AAAA,cACC,uBACCD,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,QAAA,EAAS,MAAM,GAAA,EAAK,QAAA,EAAQ,IAAA,EAAC,YAAA,EAAW,gBACnD,QAAA,kBAAAA,cAAA,CAACC,sBAAA,EAAA,EAAK,MAAK,UAAA,EAAW,IAAA,EAAM,IAAI,CAAA,EAClC;AAAA,aAAA,EAEJ;AAAA,WAAA,EACF;AAAA,SAAA,EAEJ;AAAA;AAAA,KACF;AAAA,IACC,IAAA,IACC,OAAO,QAAA,KAAa,WAAA,IACpBC,yBAAA,CAAS,YAAA;AAAA,qCACN,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAwB,OAAA,EAAS,MAAM,QAAQ,KAAK,CAAA,EACjE,yCAAC,KAAA,EAAA,EAAI,GAAA,EAAU,KAAU,OAAA,EAAS,CAAC,MAAM,CAAA,CAAE,eAAA,IAAmB,CAAA,EAChE,CAAA;AAAA,MACA,QAAA,CAAS;AAAA;AACX,GAAA,EACJ,CAAA;AAEJ;AAUO,IAAM,YAAsC,CAAC;AAAA,EAClD,MAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA,GAAa,GAAA;AAAA,EACb,SAAA,GAAY;AACd,CAAA,qBACEF,cAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,SAAA;AAAA,IACA,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,MAAA;AAAA,MACT,GAAA,EAAK,EAAA;AAAA,MACL,mBAAA,EAAqB,OAAA,GACjB,CAAA,OAAA,EAAU,OAAO,CAAA,MAAA,CAAA,GACjB;AAAA,KACN;AAAA,IAEC,iBAAO,GAAA,CAAI,CAAC,KAAK,CAAA,qBAChBA,cAAA,CAAC,SAAc,GAAA,EAAK,GAAA,CAAI,GAAA,EAAK,GAAA,EAAK,IAAI,GAAA,EAAK,KAAA,EAAM,QAAO,MAAA,EAAQ,UAAA,EAAA,EAApD,CAAgE,CAC7E;AAAA;AACH","file":"chunk-WR3FML2W.cjs","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 {\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.FC<ImageProps> = ({\n src,\n alt,\n width = 200,\n height = 140,\n preview = true,\n hover = true,\n placeholder,\n className = \"\",\n}) => {\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 className={`n-image ${hover ? \"hover\" : \"\"} ${canPreview ? \"clickable\" : \"\"} ${className}`}\n style={{ width }}\n onClick={() => canPreview && setOpen(true)}\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};\n\nexport interface ImageGridProps {\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.FC<ImageGridProps> = ({\n images,\n columns,\n itemHeight = 130,\n className = \"\",\n}) => (\n <div\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 }}\n >\n {images.map((img, i) => (\n <Image key={i} src={img.src} alt={img.alt} width=\"100%\" height={itemHeight} />\n ))}\n </div>\n);\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ContextMenu/ContextMenu.tsx"],"names":["React","jsx","ReactDOM","jsxs","Fragment"],"mappings":"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","file":"chunk-WZ73TWB2.cjs","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./ContextMenu.css\";\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\n\nexport interface ContextMenuItem {\n key: string;\n /** Omit for `type: \"divider\"`. */\n label?: React.ReactNode;\n icon?: React.ReactNode;\n /** Right-aligned shortcut hint, e.g. `\"⌘C\"`. */\n shortcut?: React.ReactNode;\n disabled?: boolean;\n /** Style the item as destructive (red). */\n danger?: boolean;\n /** Render a horizontal separator; other fields are ignored. */\n type?: \"divider\";\n onSelect?: () => void;\n}\n\nexport interface ContextMenuProps {\n items: ContextMenuItem[];\n /**\n * Any content — right-click anywhere inside the trigger area opens the menu.\n * Internally wrapped in a `display: contents` span so layout is unaffected\n * regardless of whether `children` is a DOM element or a React component.\n */\n children: React.ReactNode;\n /** Skip the menu entirely — browser default context menu will be used instead. */\n disabled?: boolean;\n /** Minimum panel width in px. Default 180. */\n minWidth?: number;\n}\n\nconst ESTIMATED_ITEM_H = 32;\nconst MARGIN = 8;\n\n/**\n * `ContextMenu` — right-click menu. Wraps one child element; suppresses the\n * browser's native menu and opens a neumorphic replacement at the cursor.\n *\n * @example\n * ```tsx\n * <ContextMenu\n * items={[\n * { key: \"copy\", label: \"复制\", shortcut: \"⌘C\", onSelect: copy },\n * { key: \"cut\", label: \"剪切\", shortcut: \"⌘X\", onSelect: cut },\n * { key: \"d1\", type: \"divider\" },\n * { key: \"del\", label: \"删除\", danger: true, onSelect: del },\n * ]}\n * >\n * <div>右键点击我</div>\n * </ContextMenu>\n * ```\n */\nexport const ContextMenu: React.FC<ContextMenuProps> = ({\n items,\n children,\n disabled,\n minWidth = 180,\n}) => {\n const [open, setOpen] = React.useState(false);\n const [pos, setPos] = React.useState<{ top: number; left: number }>({ top: 0, left: 0 });\n const [active, setActive] = React.useState(-1);\n const menuRef = React.useRef<HTMLDivElement>(null);\n\n const isSelectable = React.useCallback(\n (i: ContextMenuItem) => i.type !== \"divider\" && !i.disabled,\n []\n );\n\n const close = React.useCallback(() => setOpen(false), []);\n\n const openAt = (clientX: number, clientY: number) => {\n // Estimate panel size for clamping; refined on next paint via measured rect.\n const vw = window.innerWidth;\n const vh = window.innerHeight;\n const estH = Math.min(items.length * ESTIMATED_ITEM_H + 16, vh - MARGIN * 2);\n const estW = minWidth;\n const left = Math.min(clientX, vw - estW - MARGIN);\n const top = Math.min(clientY, vh - estH - MARGIN);\n setPos({ top: Math.max(MARGIN, top), left: Math.max(MARGIN, left) });\n const firstIdx = items.findIndex(isSelectable);\n setActive(firstIdx);\n setOpen(true);\n };\n\n // Close on Esc / outside click / scroll / window blur.\n React.useEffect(() => {\n if (!open) return;\n const onKey = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") { e.stopPropagation(); close(); return; }\n if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n e.preventDefault();\n setActive((curr) => {\n const dir = e.key === \"ArrowDown\" ? 1 : -1;\n let i = curr;\n for (let n = 0; n < items.length; n++) {\n i = (i + dir + items.length) % items.length;\n if (isSelectable(items[i])) return i;\n }\n return curr;\n });\n }\n if (e.key === \"Enter\") {\n const it = items[active];\n if (it && isSelectable(it)) {\n e.preventDefault();\n it.onSelect?.();\n close();\n }\n }\n };\n const onOutside = (e: MouseEvent) => {\n if (!menuRef.current?.contains(e.target as Node)) close();\n };\n const onBlur = () => close();\n window.addEventListener(\"keydown\", onKey);\n window.addEventListener(\"mousedown\", onOutside);\n window.addEventListener(\"scroll\", close, true);\n window.addEventListener(\"resize\", close);\n window.addEventListener(\"blur\", onBlur);\n return () => {\n window.removeEventListener(\"keydown\", onKey);\n window.removeEventListener(\"mousedown\", onOutside);\n window.removeEventListener(\"scroll\", close, true);\n window.removeEventListener(\"resize\", close);\n window.removeEventListener(\"blur\", onBlur);\n };\n }, [open, items, active, close, isSelectable]);\n\n // Clamp again after mount using the real measured size.\n React.useLayoutEffect(() => {\n if (!open || !menuRef.current) return;\n const rect = menuRef.current.getBoundingClientRect();\n const vw = window.innerWidth;\n const vh = window.innerHeight;\n setPos((p) => ({\n top: Math.min(p.top, Math.max(MARGIN, vh - rect.height - MARGIN)),\n left: Math.min(p.left, Math.max(MARGIN, vw - rect.width - MARGIN)),\n }));\n }, [open]);\n\n const handleTriggerContextMenu = (e: React.MouseEvent) => {\n if (disabled || e.defaultPrevented) return;\n e.preventDefault();\n openAt(e.clientX, e.clientY);\n };\n\n // Wrap in a `display: contents` span so the handler lives on a DOM node we\n // fully control — React.cloneElement would fail to reach the DOM when\n // `children` is a React component that doesn't forward `onContextMenu`.\n const trigger = (\n <span style={{ display: \"contents\" }} onContextMenu={handleTriggerContextMenu}>\n {children}\n </span>\n );\n\n const panel =\n open && typeof document !== \"undefined\"\n ? ReactDOM.createPortal(\n <div\n ref={menuRef}\n className=\"context-menu\"\n role=\"menu\"\n style={{\n position: \"fixed\",\n top: pos.top,\n left: pos.left,\n minWidth,\n }}\n onContextMenu={(e) => e.preventDefault()}\n >\n {items.map((it, i) =>\n it.type === \"divider\" ? (\n <div key={it.key} className=\"context-menu-divider\" role=\"separator\" />\n ) : (\n <button\n key={it.key}\n type=\"button\"\n role=\"menuitem\"\n disabled={it.disabled}\n className={`context-menu-item ${active === i ? \"active\" : \"\"} ${it.danger ? \"danger\" : \"\"}`}\n onMouseEnter={() => isSelectable(it) && setActive(i)}\n onClick={() => {\n if (!isSelectable(it)) return;\n it.onSelect?.();\n close();\n }}\n >\n <span className=\"context-menu-icon\">{it.icon}</span>\n <span className=\"context-menu-label\">{it.label}</span>\n {it.shortcut && <span className=\"context-menu-shortcut\">{it.shortcut}</span>}\n </button>\n )\n )}\n </div>,\n document.body\n )\n : null;\n\n return (\n <>\n {trigger}\n {panel}\n </>\n );\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Icon/Icon.tsx"],"names":[],"mappings":"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","file":"chunk-X3JG3IR6.js","sourcesContent":["import * as React from \"react\";\n\n/**\n * Name of a built-in icon. To add your own, pass `children` (raw SVG paths) instead.\n */\nexport type IconName =\n | \"search\"\n | \"plus\"\n | \"minus\"\n | \"check\"\n | \"x\"\n | \"chevDown\"\n | \"chevRight\"\n | \"chevLeft\"\n | \"chevUp\"\n | \"arrowRight\"\n | \"settings\"\n | \"user\"\n | \"bell\"\n | \"mail\"\n | \"heart\"\n | \"star\"\n | \"home\"\n | \"folder\"\n | \"file\"\n | \"image\"\n | \"play\"\n | \"pause\"\n | \"volume\"\n | \"trash\"\n | \"edit\"\n | \"copy\"\n | \"download\"\n | \"upload\"\n | \"info\"\n | \"alert\"\n | \"check2\"\n | \"eye\"\n | \"eyeOff\"\n | \"sparkle\"\n | \"moon\"\n | \"sun\"\n | \"palette\"\n | \"layers\"\n | \"grid\"\n | \"list\"\n | \"zap\"\n | \"filter\"\n | \"mic\"\n | \"send\"\n | \"calendar\"\n | \"clock\"\n | \"menu\"\n | \"more\"\n | \"sliders\"\n | \"aim\"\n | \"swap\"\n | \"camera\"\n | \"qq\"\n | \"code\";\n\nexport interface IconProps extends Omit<React.SVGAttributes<SVGSVGElement>, \"stroke\"> {\n name: IconName;\n size?: number;\n stroke?: number;\n}\n\nconst paths: Record<IconName, React.ReactNode> = {\nsearch: <><circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"m20 20-3.5-3.5\"/></>,\n plus: <><path d=\"M12 5v14M5 12h14\"/></>,\n minus: <><path d=\"M5 12h14\"/></>,\n check: <><path d=\"m4 12 5 5L20 6\"/></>,\n x: <><path d=\"M6 6l12 12M18 6 6 18\"/></>,\n chevDown: <><path d=\"m6 9 6 6 6-6\"/></>,\n chevRight: <><path d=\"m9 6 6 6-6 6\"/></>,\n chevLeft: <><path d=\"m15 6-6 6 6 6\"/></>,\n chevUp: <><path d=\"m6 15 6-6 6 6\"/></>,\n arrowRight:<><path d=\"M5 12h14M13 6l6 6-6 6\"/></>,\n settings: <><path d=\"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/></>,\n user: <><circle cx=\"12\" cy=\"8\" r=\"4\"/><path d=\"M4 21a8 8 0 0 1 16 0\"/></>,\n bell: <><path d=\"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9\"/><path d=\"M10.3 21a1.94 1.94 0 0 0 3.4 0\"/></>,\n mail: <><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><path d=\"m3 7 9 6 9-6\"/></>,\n heart: <><path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"/></>,\n star: <><path d=\"m12 2 3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"/></>,\n home: <><path d=\"m3 10 9-7 9 7v10a2 2 0 0 1-2 2h-4v-7h-6v7H5a2 2 0 0 1-2-2z\"/></>,\n folder: <><path d=\"M3 7a2 2 0 0 1 2-2h4l2 3h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"/></>,\n file: <><path d=\"M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z\"/><path d=\"M14 3v6h6\"/></>,\n image: <><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/><circle cx=\"9\" cy=\"9\" r=\"2\"/><path d=\"m21 15-5-5L5 21\"/></>,\n play: <><path d=\"M7 5v14l11-7z\" fill=\"currentColor\" stroke=\"none\"/></>,\n pause: <><path d=\"M6 4h4v16H6zM14 4h4v16h-4z\" fill=\"currentColor\" stroke=\"none\"/></>,\n volume: <><path d=\"M11 5 6 9H3v6h3l5 4z\"/><path d=\"M17 8a5 5 0 0 1 0 8M20 5a9 9 0 0 1 0 14\"/></>,\n trash: <><path d=\"M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M5 6l1 14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-14\"/></>,\n edit: <><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"/><path d=\"M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4z\"/></>,\n copy: <><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"/><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"/></>,\n download: <><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3\"/></>,\n upload: <><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12\"/></>,\n info: <><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M12 16v-4M12 8h.01\"/></>,\n alert: <><path d=\"M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0zM12 9v4M12 17h.01\"/></>,\n check2: <><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"m9 12 2 2 4-4\"/></>,\n eye: <><path d=\"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/></>,\n eyeOff: <><path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-10-8-10-8a19 19 0 0 1 5.17-6M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 10 8 10 8a19 19 0 0 1-2.16 3.19M14.12 14.12a3 3 0 1 1-4.24-4.24M1 1l22 22\"/></>,\n sparkle: <><path d=\"M12 3v4M12 17v4M3 12h4M17 12h4M5.6 5.6l2.8 2.8M15.6 15.6l2.8 2.8M5.6 18.4l2.8-2.8M15.6 8.4l2.8-2.8\"/></>,\n moon: <><path d=\"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z\"/></>,\n sun: <><circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41\"/></>,\n palette: <><circle cx=\"13.5\" cy=\"6.5\" r=\"1\"/><circle cx=\"17.5\" cy=\"10.5\" r=\"1\"/><circle cx=\"8.5\" cy=\"7.5\" r=\"1\"/><circle cx=\"6.5\" cy=\"12.5\" r=\"1\"/><path d=\"M12 2a10 10 0 1 0 0 20 3 3 0 0 0 0-6h-1a2 2 0 0 1 0-4h4a5 5 0 0 0 5-5 10 10 0 0 0-8-5z\"/></>,\n layers: <><path d=\"m12 2 10 6-10 6L2 8z\"/><path d=\"m2 17 10 6 10-6M2 12l10 6 10-6\"/></>,\n grid: <><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\"/></>,\n list: <><path d=\"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01\"/></>,\n zap: <><path d=\"M13 2 3 14h9l-1 8 10-12h-9z\"/></>,\n filter: <><path d=\"M22 3H2l8 9.46V19l4 2v-8.54z\"/></>,\n mic: <><rect x=\"9\" y=\"2\" width=\"6\" height=\"12\" rx=\"3\"/><path d=\"M19 10v1a7 7 0 0 1-14 0v-1M12 18v4M8 22h8\"/></>,\n send: <><path d=\"m22 2-7 20-4-9-9-4zM22 2 11 13\"/></>,\n calendar: <><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"/><path d=\"M16 2v4M8 2v4M3 10h18\"/></>,\n clock: <><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M12 6v6l4 2\"/></>,\n menu: <><path d=\"M3 6h18M3 12h18M3 18h18\"/></>,\n more: <><circle cx=\"5\" cy=\"12\" r=\"1\"/><circle cx=\"12\" cy=\"12\" r=\"1\"/><circle cx=\"19\" cy=\"12\" r=\"1\"/></>,\n sliders: <><path d=\"M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6\"/></>,\n aim: <><circle cx=\"12\" cy=\"12\" r=\"10\"/><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"6\"/><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"22\"/><line x1=\"2\" y1=\"12\" x2=\"6\" y2=\"12\"/><line x1=\"18\" y1=\"12\" x2=\"22\" y2=\"12\"/><circle cx=\"12\" cy=\"12\" r=\"2\"/></>,\n swap: <><path d=\"M3 8h18M17 4l4 4-4 4M21 16H3M7 20l-4-4 4-4\"/></>,\n camera: <><path d=\"M3 7h4l2-3h6l2 3h4a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1z\"/><circle cx=\"12\" cy=\"13\" r=\"4\"/></>,\n qq: <><path d=\"M12 2c-3 0-5 2.1-5 5 0 1.3.4 2.6.9 3.6-1.8 1-3.4 3-3.4 5.9 0 .8.7 1.5 1.5 1.5 0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2 .8 0 1.5-.7 1.5-1.5 0-2.9-1.6-4.9-3.4-5.9.5-1 .9-2.3.9-3.6 0-2.9-2-5-5-5z\"/><circle cx=\"10\" cy=\"9\" r=\"0.8\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"14\" cy=\"9\" r=\"0.8\" fill=\"currentColor\" stroke=\"none\"/></>,\n code: <><path d=\"m16 18 6-6-6-6M8 6l-6 6 6 6\"/></>,\n};\n\n/**\n * `Icon` — stroked line icon set, sized in pixels, inherits `currentColor`.\n *\n * @example\n * <Icon name=\"plus\" size={18} />\n */\nexport const Icon: React.FC<IconProps> = ({ name, size = 16, stroke = 2, style, ...rest }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={stroke}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n overflow=\"visible\"\n style={style}\n {...rest}\n >\n {paths[name]}\n </svg>\n);\n\nexport const ICON_NAMES: IconName[] = [\"search\", \"plus\", \"minus\", \"check\", \"x\", \"chevDown\", \"chevRight\", \"chevLeft\", \"chevUp\", \"arrowRight\", \"settings\", \"user\", \"bell\", \"mail\", \"heart\", \"star\", \"home\", \"folder\", \"file\", \"image\", \"play\", \"pause\", \"volume\", \"trash\", \"edit\", \"copy\", \"download\", \"upload\", \"info\", \"alert\", \"check2\", \"eye\", \"eyeOff\", \"sparkle\", \"moon\", \"sun\", \"palette\", \"layers\", \"grid\", \"list\", \"zap\", \"filter\", \"mic\", \"send\", \"calendar\", \"clock\", \"menu\", \"more\", \"sliders\", \"aim\", \"swap\", \"camera\", \"qq\", \"code\"];\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Select/Select.tsx"],"names":[],"mappings":"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","file":"chunk-XT7RXXOE.js","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Select.css\";\nimport * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Icon, type IconName } from \"../Icon\";\nimport { Tag } from \"../Tag\";\nimport { useFloating } from \"../../utils/useFloating\";\n\nexport interface SelectOption<T extends string | number = string> {\n value: T;\n label: React.ReactNode;\n /** Searchable text — used by default filter when `label` isn't a string. */\n text?: string;\n /** Secondary line shown beneath the label. */\n description?: React.ReactNode;\n /** Leading icon. */\n icon?: IconName;\n disabled?: boolean;\n}\n\nexport interface SelectOptionGroup<T extends string | number = string> {\n /** Group heading. */\n label: React.ReactNode;\n options: SelectOption<T>[];\n}\n\nexport type SelectItem<T extends string | number = string> =\n | SelectOption<T>\n | SelectOptionGroup<T>;\n\nconst isGroup = <T extends string | number>(\n it: SelectItem<T>\n): it is SelectOptionGroup<T> => Array.isArray((it as SelectOptionGroup<T>).options);\n\ninterface BaseSelectProps<T extends string | number = string> {\n /** Flat or mixed (groups + options) item list. */\n options: SelectItem<T>[];\n placeholder?: string;\n disabled?: boolean;\n size?: \"sm\" | \"md\" | \"lg\";\n /** Show invalid (red) ring. */\n invalid?: boolean;\n /** Show a small × to clear the selection (single mode) or all selections (multi). */\n clearable?: boolean;\n /** Add a search input at the top of the menu. */\n searchable?: boolean;\n /** Custom filter — defaults to label/text/value substring match. */\n filterOption?: (input: string, option: SelectOption<T>) => boolean;\n /** Show spinner instead of options. */\n loading?: boolean;\n /** Custom empty content when no options match. */\n emptyContent?: React.ReactNode;\n /** Controlled open state. */\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n className?: string;\n /** Class for the popped-out menu. */\n menuClassName?: string;\n}\n\nexport interface SingleSelectProps<T extends string | number = string> extends BaseSelectProps<T> {\n multiple?: false;\n value?: T;\n defaultValue?: T;\n onChange?: (value: T) => void;\n /** Fired when user clears the selection via the × button. */\n onClear?: () => void;\n}\n\nexport interface MultiSelectProps<T extends string | number = string> extends BaseSelectProps<T> {\n multiple: true;\n value?: T[];\n defaultValue?: T[];\n onChange?: (value: T[]) => void;\n /** Max selected items shown as tags before collapsing to \"+N\". */\n maxTagCount?: number;\n}\n\nexport type SelectProps<T extends string | number = string> =\n | SingleSelectProps<T>\n | MultiSelectProps<T>;\n\nconst flatten = <T extends string | number>(items: SelectItem<T>[]): SelectOption<T>[] =>\n items.flatMap((it) => (isGroup(it) ? it.options : [it]));\n\nconst defaultFilter = <T extends string | number>(input: string, opt: SelectOption<T>): boolean => {\n const q = input.toLowerCase();\n const txt =\n opt.text ?? (typeof opt.label === \"string\" ? opt.label : String(opt.value));\n return txt.toLowerCase().includes(q);\n};\n\n/** `Select` — neumorphic dropdown. Set `multiple` for tag-style multi-select. */\nexport function Select<T extends string | number = string>(props: SingleSelectProps<T>): React.ReactElement;\nexport function Select<T extends string | number = string>(props: MultiSelectProps<T>): React.ReactElement;\nexport function Select<T extends string | number = string>(props: SelectProps<T>): React.ReactElement {\n const {\n options,\n placeholder = \"请选择…\",\n disabled,\n size = \"md\",\n invalid,\n clearable,\n searchable,\n filterOption,\n loading,\n emptyContent,\n open: openProp,\n defaultOpen,\n onOpenChange,\n className = \"\",\n menuClassName = \"\",\n } = props;\n const isMulti = props.multiple === true;\n\n const [innerSingle, setInnerSingle] = React.useState<T | undefined>(\n !isMulti ? (props as SingleSelectProps<T>).defaultValue : undefined\n );\n const [innerMulti, setInnerMulti] = React.useState<T[]>(\n isMulti ? (props as MultiSelectProps<T>).defaultValue ?? [] : []\n );\n const [innerOpen, setInnerOpen] = React.useState(defaultOpen ?? false);\n const [query, setQuery] = React.useState(\"\");\n const [activeIdx, setActiveIdx] = React.useState(-1);\n\n const searchRef = React.useRef<HTMLInputElement>(null);\n\n const openControlled = openProp !== undefined;\n const open = openControlled ? openProp! : innerOpen;\n const setOpen = (v: boolean) => {\n if (!openControlled) setInnerOpen(v);\n onOpenChange?.(v);\n if (!v) setQuery(\"\");\n };\n\n const { triggerRef: ref, floatingRef: menuRef, floatingStyle } = useFloating<HTMLDivElement, HTMLDivElement>({\n open,\n placement: \"bottom\",\n matchTriggerWidth: true,\n panelHeight: 320,\n });\n\n const singleControlled = !isMulti && (props as SingleSelectProps<T>).value !== undefined;\n const multiControlled = isMulti && (props as MultiSelectProps<T>).value !== undefined;\n\n const singleValue = singleControlled ? (props as SingleSelectProps<T>).value : innerSingle;\n const multiValue = multiControlled ? (props as MultiSelectProps<T>).value! : innerMulti;\n\n React.useEffect(() => {\n if (!open) return;\n const h = (e: MouseEvent) => {\n const t = e.target as Node;\n if (ref.current?.contains(t)) return;\n if (menuRef.current?.contains(t)) return;\n setOpen(false);\n };\n document.addEventListener(\"mousedown\", h);\n return () => document.removeEventListener(\"mousedown\", h);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n // Auto-focus search input when opened\n React.useEffect(() => {\n if (open && searchable) {\n requestAnimationFrame(() => searchRef.current?.focus());\n }\n if (!open) setActiveIdx(-1);\n }, [open, searchable]);\n\n // Filter options\n const allFlat = React.useMemo(() => flatten(options), [options]);\n const filteredFlat = React.useMemo(() => {\n if (!query.trim()) return allFlat;\n const f = filterOption ?? defaultFilter;\n return allFlat.filter((o) => f(query, o));\n }, [allFlat, query, filterOption]);\n\n // Re-bucket into groups respecting filter (for menu rendering)\n const filteredItems = React.useMemo<SelectItem<T>[]>(() => {\n if (!query.trim()) return options;\n return options\n .map((it) => {\n if (!isGroup(it)) {\n return filteredFlat.includes(it) ? it : null;\n }\n const kept = it.options.filter((o) => filteredFlat.includes(o));\n return kept.length ? { label: it.label, options: kept } : null;\n })\n .filter((x): x is SelectItem<T> => x !== null);\n }, [options, filteredFlat, query]);\n\n React.useEffect(() => {\n setActiveIdx(filteredFlat.length ? 0 : -1);\n }, [filteredFlat.length]);\n\n const pickSingle = (opt: SelectOption<T>) => {\n if (opt.disabled) return;\n if (!singleControlled) setInnerSingle(opt.value);\n (props as SingleSelectProps<T>).onChange?.(opt.value);\n setOpen(false);\n };\n\n const toggleMulti = (opt: SelectOption<T>) => {\n if (opt.disabled) return;\n const cur = multiValue ?? [];\n const next = cur.includes(opt.value) ? cur.filter((v) => v !== opt.value) : [...cur, opt.value];\n if (!multiControlled) setInnerMulti(next);\n (props as MultiSelectProps<T>).onChange?.(next);\n };\n\n const clearAll = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (isMulti) {\n if (!multiControlled) setInnerMulti([]);\n (props as MultiSelectProps<T>).onChange?.([]);\n } else {\n if (!singleControlled) setInnerSingle(undefined);\n (props as SingleSelectProps<T>).onClear?.();\n }\n };\n\n const isSelected = (val: T) =>\n isMulti ? (multiValue ?? []).includes(val) : singleValue === val;\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n if (!open) {\n if (e.key === \"Enter\" || e.key === \" \" || e.key === \"ArrowDown\") {\n e.preventDefault();\n setOpen(true);\n }\n return;\n }\n if (e.key === \"Escape\") {\n e.preventDefault();\n setOpen(false);\n return;\n }\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setActiveIdx((i) => Math.min(filteredFlat.length - 1, i + 1));\n return;\n }\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setActiveIdx((i) => Math.max(0, i - 1));\n return;\n }\n if (e.key === \"Enter\") {\n e.preventDefault();\n const opt = filteredFlat[activeIdx];\n if (opt && !opt.disabled) {\n if (isMulti) toggleMulti(opt);\n else pickSingle(opt);\n }\n return;\n }\n };\n\n const renderTrigger = () => {\n if (isMulti) {\n const selected = (multiValue ?? [])\n .map((v) => allFlat.find((o) => o.value === v))\n .filter((o): o is SelectOption<T> => !!o);\n const max = (props as MultiSelectProps<T>).maxTagCount;\n const shown = max != null ? selected.slice(0, max) : selected;\n const overflow = selected.length - shown.length;\n if (selected.length === 0) {\n return <span className=\"placeholder\">{placeholder}</span>;\n }\n return (\n <span className=\"select-tags\">\n {shown.map((o) => (\n <Tag\n key={String(o.value)}\n tone=\"accent\"\n removable={!disabled}\n onRemove={() => {\n const cur = multiValue ?? [];\n const next = cur.filter((v) => v !== o.value);\n if (!multiControlled) setInnerMulti(next);\n (props as MultiSelectProps<T>).onChange?.(next);\n }}\n onClick={(e) => e.stopPropagation()}\n >\n {o.label}\n </Tag>\n ))}\n {overflow > 0 && <Tag tone=\"neutral\">+{overflow}</Tag>}\n </span>\n );\n }\n const current = allFlat.find((o) => o.value === singleValue);\n if (!current) return <span className=\"placeholder\">{placeholder}</span>;\n return (\n <span className=\"select-value\">\n {current.icon && <Icon name={current.icon} size={14} />}\n <span>{current.label}</span>\n </span>\n );\n };\n\n const hasSelection = isMulti ? (multiValue?.length ?? 0) > 0 : singleValue !== undefined;\n const showClear = clearable && hasSelection && !disabled;\n\n // Render an option button\n let renderIdx = -1;\n const renderOption = (o: SelectOption<T>) => {\n renderIdx += 1;\n const idx = renderIdx;\n const sel = isSelected(o.value);\n const active = idx === activeIdx;\n return (\n <button\n key={String(o.value)}\n type=\"button\"\n role=\"option\"\n aria-selected={sel}\n disabled={o.disabled}\n className={`menu-item ${sel ? \"active\" : \"\"} ${active ? \"highlight\" : \"\"}`}\n onMouseEnter={() => setActiveIdx(idx)}\n onClick={() => (isMulti ? toggleMulti(o) : pickSingle(o))}\n >\n {isMulti && (\n <span className={`menu-check ${sel ? \"on\" : \"\"}`} aria-hidden>\n {sel && <Icon name=\"check\" size={11} stroke={3} />}\n </span>\n )}\n {o.icon && <Icon name={o.icon} size={14} />}\n <span className=\"menu-item-body\">\n <span className=\"menu-item-label\">{o.label}</span>\n {o.description && <span className=\"menu-item-desc\">{o.description}</span>}\n </span>\n {!isMulti && (\n <span className=\"tick\">\n <Icon name=\"check\" size={12} stroke={3} />\n </span>\n )}\n </button>\n );\n };\n\n return (\n <div\n ref={ref}\n className={`select ${size} ${isMulti ? \"multi\" : \"\"} ${open ? \"open\" : \"\"} ${disabled ? \"disabled\" : \"\"} ${invalid ? \"invalid\" : \"\"} ${className}`}\n onKeyDown={onKeyDown}\n tabIndex={disabled ? -1 : 0}\n >\n <button\n type=\"button\"\n className=\"select-trigger\"\n disabled={disabled}\n onClick={() => !disabled && setOpen(!open)}\n >\n {renderTrigger()}\n {showClear && (\n <span className=\"select-clear\" role=\"button\" aria-label=\"Clear\" onClick={clearAll}>\n <Icon name=\"x\" size={12} />\n </span>\n )}\n <Icon name=\"chevDown\" size={14} className=\"select-caret\" />\n </button>\n {open && typeof document !== \"undefined\" &&\n createPortal(\n <div\n ref={menuRef}\n className={`menu ${menuClassName}`}\n role=\"listbox\"\n aria-multiselectable={isMulti || undefined}\n style={floatingStyle}\n >\n {searchable && (\n <div className=\"menu-search\">\n <Icon name=\"search\" size={13} />\n <input\n ref={searchRef}\n type=\"text\"\n value={query}\n placeholder=\"搜索...\"\n onChange={(e) => setQuery(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === \"Escape\" || e.key === \"ArrowDown\" || e.key === \"ArrowUp\" || e.key === \"Enter\") {\n e.preventDefault();\n onKeyDown(e);\n }\n }}\n />\n </div>\n )}\n {loading ? (\n <div className=\"menu-state\">\n <span className=\"menu-state-ico\">\n <span className=\"spinner\" />\n </span>\n <span>加载中...</span>\n </div>\n ) : filteredItems.length === 0 ? (\n <div className=\"menu-state\">\n <span className=\"menu-state-ico\">\n <Icon name=\"search\" size={16} />\n </span>\n <span>{emptyContent ?? \"暂无匹配项\"}</span>\n </div>\n ) : (\n filteredItems.map((it, gi) =>\n isGroup(it) ? (\n <React.Fragment key={`g-${gi}`}>\n <div className=\"menu-group-label\">{it.label}</div>\n {it.options.map(renderOption)}\n </React.Fragment>\n ) : (\n renderOption(it)\n )\n )\n )}\n </div>,\n document.body\n )}\n </div>\n );\n}\n"]}
@@ -1,119 +0,0 @@
1
- 'use strict';
2
-
3
- require('./tokens-BIIUTPKN.css');
4
- require('./shared-NJHRNLRH.css');
5
- require('./Empty-NQ72W3D7.css');
6
- var jsxRuntime = require('react/jsx-runtime');
7
-
8
- // src/components/Empty/Empty.tsx
9
- var Empty = ({
10
- title = "\u6682\u65E0\u5185\u5BB9",
11
- description,
12
- icon,
13
- action,
14
- size = "md",
15
- variant = "default",
16
- className = ""
17
- }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `empty ${size} ${variant} ${className}`, children: [
18
- icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-ico", children: icon }),
19
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-title", children: title }),
20
- description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-desc", children: description }),
21
- action && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-action", children: action })
22
- ] });
23
- var Spinner = ({
24
- size = 20,
25
- tone = "accent",
26
- label,
27
- variant = "ring",
28
- className = ""
29
- }) => {
30
- const cls = `spinner ${variant} ${tone} ${className}`.trim();
31
- const spinner = variant === "dots" ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cls, style: { fontSize: size }, "aria-label": "Loading", children: [
32
- /* @__PURE__ */ jsxRuntime.jsx("i", {}),
33
- /* @__PURE__ */ jsxRuntime.jsx("i", {}),
34
- /* @__PURE__ */ jsxRuntime.jsx("i", {})
35
- ] }) : /* @__PURE__ */ jsxRuntime.jsx(
36
- "span",
37
- {
38
- className: cls,
39
- style: { width: size, height: size },
40
- "aria-label": "Loading"
41
- }
42
- );
43
- if (!label) return spinner;
44
- return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "spinner-wrap", children: [
45
- spinner,
46
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "spinner-label", children: label })
47
- ] });
48
- };
49
- var AVATAR_SIZE_PX = { sm: 32, md: 40, lg: 56 };
50
- var Skeleton = ({
51
- width = "100%",
52
- height = 16,
53
- circle,
54
- animation = "wave",
55
- avatar,
56
- title,
57
- paragraph,
58
- className = ""
59
- }) => {
60
- const composite = avatar != null || title != null || paragraph != null;
61
- if (!composite) {
62
- return /* @__PURE__ */ jsxRuntime.jsx(
63
- "span",
64
- {
65
- className: `skeleton ${animation} ${circle ? "circle" : ""} ${className}`.trim(),
66
- style: { width, height, borderRadius: circle ? "50%" : void 0 }
67
- }
68
- );
69
- }
70
- const avatarCfg = avatar === true ? {} : avatar === false || avatar == null ? null : avatar;
71
- const titleCfg = title === false ? null : title === true || title == null ? {} : title;
72
- const paragraphCfg = paragraph === false ? null : paragraph === true || paragraph == null ? {} : paragraph;
73
- const rows = paragraphCfg?.rows ?? 3;
74
- const rowWidths = paragraphCfg?.width ?? [];
75
- const resolveRowWidth = (idx) => {
76
- if (idx < rowWidths.length) return rowWidths[idx];
77
- if (idx === rows - 1) return "60%";
78
- return "100%";
79
- };
80
- const avatarPx = avatarCfg != null ? AVATAR_SIZE_PX[avatarCfg.size ?? "md"] : 0;
81
- const avatarShape = avatarCfg?.shape ?? "circle";
82
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `skeleton-box ${className}`.trim(), children: [
83
- avatarCfg && /* @__PURE__ */ jsxRuntime.jsx(
84
- "span",
85
- {
86
- className: `skeleton ${animation} ${avatarShape === "circle" ? "circle" : ""} skeleton-avatar`.trim(),
87
- style: {
88
- width: avatarPx,
89
- height: avatarPx,
90
- borderRadius: avatarShape === "circle" ? "50%" : void 0,
91
- flexShrink: 0
92
- }
93
- }
94
- ),
95
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "skeleton-content", children: [
96
- titleCfg && /* @__PURE__ */ jsxRuntime.jsx(
97
- "span",
98
- {
99
- className: `skeleton ${animation} skeleton-title`.trim(),
100
- style: { width: titleCfg.width ?? "38%", height: 16 }
101
- }
102
- ),
103
- paragraphCfg && Array.from({ length: rows }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
104
- "span",
105
- {
106
- className: `skeleton ${animation} skeleton-row`.trim(),
107
- style: { width: resolveRowWidth(i), height: 12 }
108
- },
109
- i
110
- ))
111
- ] })
112
- ] });
113
- };
114
-
115
- exports.Empty = Empty;
116
- exports.Skeleton = Skeleton;
117
- exports.Spinner = Spinner;
118
- //# sourceMappingURL=chunk-XUT2Z2L6.cjs.map
119
- //# sourceMappingURL=chunk-XUT2Z2L6.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Empty/Empty.tsx"],"names":["jsxs","jsx"],"mappings":"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","file":"chunk-XUT2Z2L6.cjs","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Empty.css\";\nimport * as React from \"react\";\n\nexport interface EmptyProps {\n title?: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n action?: React.ReactNode;\n size?: \"sm\" | \"md\" | \"lg\";\n /** `subtle` drops the recessed icon well — good for inline / embedded use. */\n variant?: \"default\" | \"subtle\";\n className?: string;\n}\n\n/** `Empty` — empty state placeholder. */\nexport const Empty: React.FC<EmptyProps> = ({\n title = \"暂无内容\",\n description,\n icon,\n action,\n size = \"md\",\n variant = \"default\",\n className = \"\",\n}) => (\n <div className={`empty ${size} ${variant} ${className}`}>\n {icon && <div className=\"empty-ico\">{icon}</div>}\n <div className=\"empty-title\">{title}</div>\n {description && <div className=\"empty-desc\">{description}</div>}\n {action && <div className=\"empty-action\">{action}</div>}\n </div>\n);\n\nexport interface SpinnerProps {\n size?: number;\n tone?: \"accent\" | \"success\" | \"warning\" | \"danger\" | \"current\";\n /** Text rendered next to the spinner. */\n label?: React.ReactNode;\n /** `ring` is the default border spinner; `dots` is a three-dot bounce. */\n variant?: \"ring\" | \"dots\";\n className?: string;\n}\n\n/** `Spinner` — loading indicator. */\nexport const Spinner: React.FC<SpinnerProps> = ({\n size = 20,\n tone = \"accent\",\n label,\n variant = \"ring\",\n className = \"\",\n}) => {\n const cls = `spinner ${variant} ${tone} ${className}`.trim();\n const spinner =\n variant === \"dots\" ? (\n <span className={cls} style={{ fontSize: size }} aria-label=\"Loading\">\n <i /><i /><i />\n </span>\n ) : (\n <span\n className={cls}\n style={{ width: size, height: size }}\n aria-label=\"Loading\"\n />\n );\n if (!label) return spinner;\n return (\n <span className=\"spinner-wrap\">\n {spinner}\n <span className=\"spinner-label\">{label}</span>\n </span>\n );\n};\n\nexport interface SkeletonAvatarConfig {\n shape?: \"circle\" | \"square\";\n size?: \"sm\" | \"md\" | \"lg\";\n}\n\nexport interface SkeletonTitleConfig {\n width?: number | string;\n}\n\nexport interface SkeletonParagraphConfig {\n rows?: number;\n width?: (number | string)[];\n}\n\nexport interface SkeletonProps {\n /* -------- primitive mode -------- */\n width?: number | string;\n height?: number | string;\n circle?: boolean;\n /** `wave` is a shimmer sweep; `pulse` fades opacity; `none` disables animation. */\n animation?: \"wave\" | \"pulse\" | \"none\";\n\n /* -------- composite mode -------- */\n /**\n * Render an avatar skeleton on the left. `true` gives the defaults (circle, md).\n * @example avatar\n * @example avatar={{ shape: \"square\", size: \"lg\" }}\n */\n avatar?: boolean | SkeletonAvatarConfig;\n /**\n * Render a title line skeleton. Defaults to `true` whenever the composite layout is active\n * (any of `avatar` / `paragraph` / `title` is set).\n */\n title?: boolean | SkeletonTitleConfig;\n /**\n * Render N paragraph lines. `true` gives 3 rows; passing `width` arrays lets you\n * control per-row widths (last row defaults to 60%).\n */\n paragraph?: boolean | SkeletonParagraphConfig;\n\n className?: string;\n}\n\nconst AVATAR_SIZE_PX = { sm: 32, md: 40, lg: 56 } as const;\n\n/**\n * `Skeleton` — content placeholder during loading.\n *\n * Two modes:\n * - **Primitive** (no composite prop set): renders a single block using `width` / `height` / `circle`.\n * - **Composite** (`avatar` / `title` / `paragraph`): renders the Ant-Design-style avatar + title + paragraph layout.\n *\n * @example\n * // primitive\n * <Skeleton height={14} width=\"60%\" />\n * @example\n * // composite\n * <Skeleton avatar title paragraph={{ rows: 4 }} />\n */\nexport const Skeleton: React.FC<SkeletonProps> = ({\n width = \"100%\",\n height = 16,\n circle,\n animation = \"wave\",\n avatar,\n title,\n paragraph,\n className = \"\",\n}) => {\n const composite = avatar != null || title != null || paragraph != null;\n\n if (!composite) {\n return (\n <span\n className={`skeleton ${animation} ${circle ? \"circle\" : \"\"} ${className}`.trim()}\n style={{ width, height, borderRadius: circle ? \"50%\" : undefined }}\n />\n );\n }\n\n // --- composite mode ---\n const avatarCfg: SkeletonAvatarConfig | null =\n avatar === true ? {} : avatar === false || avatar == null ? null : avatar;\n const titleCfg: SkeletonTitleConfig | null =\n title === false ? null : title === true || title == null ? {} : title;\n const paragraphCfg: SkeletonParagraphConfig | null =\n paragraph === false ? null : paragraph === true || paragraph == null ? {} : paragraph;\n\n const rows = paragraphCfg?.rows ?? 3;\n const rowWidths = paragraphCfg?.width ?? [];\n const resolveRowWidth = (idx: number): number | string => {\n if (idx < rowWidths.length) return rowWidths[idx];\n if (idx === rows - 1) return \"60%\";\n return \"100%\";\n };\n\n const avatarPx =\n avatarCfg != null ? AVATAR_SIZE_PX[avatarCfg.size ?? \"md\"] : 0;\n const avatarShape = avatarCfg?.shape ?? \"circle\";\n\n return (\n <div className={`skeleton-box ${className}`.trim()}>\n {avatarCfg && (\n <span\n className={`skeleton ${animation} ${avatarShape === \"circle\" ? \"circle\" : \"\"} skeleton-avatar`.trim()}\n style={{\n width: avatarPx,\n height: avatarPx,\n borderRadius: avatarShape === \"circle\" ? \"50%\" : undefined,\n flexShrink: 0,\n }}\n />\n )}\n <div className=\"skeleton-content\">\n {titleCfg && (\n <span\n className={`skeleton ${animation} skeleton-title`.trim()}\n style={{ width: titleCfg.width ?? \"38%\", height: 16 }}\n />\n )}\n {paragraphCfg &&\n Array.from({ length: rows }).map((_, i) => (\n <span\n key={i}\n className={`skeleton ${animation} skeleton-row`.trim()}\n style={{ width: resolveRowWidth(i), height: 12 }}\n />\n ))}\n </div>\n </div>\n );\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Switch/Switch.tsx"],"names":["React","jsxs","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBO,IAAM,SAAgC,CAAC;AAAA,EAC5C,OAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,eAAA;AAAA,EACA,iBAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ;AACF,CAAA,KAAM;AACJ,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAUA,gBAAA,CAAA,QAAA,CAAS,kBAAkB,KAAK,CAAA;AAChE,EAAA,MAAM,eAAe,OAAA,KAAY,MAAA;AACjC,EAAA,MAAM,KAAA,GAAQ,eAAe,OAAA,GAAU,KAAA;AAEvC,EAAA,MAAM,SAAS,MAAM;AACnB,IAAA,IAAI,QAAA,EAAU;AACd,IAAA,MAAM,OAAO,CAAC,KAAA;AACd,IAAA,IAAI,CAAC,YAAA,EAAc,QAAA,CAAS,IAAI,CAAA;AAChC,IAAA,QAAA,GAAW,IAAI,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,eAAA,IAAmB,IAAA,IAAQ,iBAAA,IAAqB,IAAA;AACpE,EAAA,MAAM,GAAA,GAAM;AAAA,IACV,QAAA;AAAA,IACA,KAAA,IAAS,IAAA;AAAA,IACT,SAAS,IAAA,IAAQ,IAAA;AAAA,IACjB,QAAA,IAAY,UAAA;AAAA,IACZ,WAAA,IAAe,eAAA;AAAA,IACf;AAAA,GACF,CACG,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AAEX,EAAA,uBACEC,eAAA,CAAC,OAAA,EAAA,EAAM,SAAA,EAAW,GAAA,EAChB,QAAA,EAAA;AAAA,oBAAAA,eAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,QAAA;AAAA,QACL,IAAA,EAAK,QAAA;AAAA,QACL,cAAA,EAAc,KAAA;AAAA,QACd,QAAA;AAAA,QACA,OAAA,EAAS,MAAA;AAAA,QACT,EAAA;AAAA,QACA,SAAA,EAAU,cAAA;AAAA,QAET,QAAA,EAAA;AAAA,UAAA,WAAA,oBACCA,eAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,cAAA,EACd,QAAA,EAAA;AAAA,4BAAAC,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,iBAAA,EAAmB,QAAA,EAAA,eAAA,EAAgB,CAAA;AAAA,4BACnDA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,kBAAA,EAAoB,QAAA,EAAA,iBAAA,EAAkB;AAAA,WAAA,EACxD,CAAA;AAAA,0BAEFA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA;AAAA,KACjC;AAAA,IACC,KAAA,oBAASA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,gBAAgB,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EAClD,CAAA;AAEJ","file":"chunk-YZ2I7CDF.cjs","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Switch.css\";\nimport * as React from \"react\";\n\nexport interface SwitchProps {\n checked?: boolean;\n defaultChecked?: boolean;\n onChange?: (checked: boolean) => void;\n disabled?: boolean;\n label?: React.ReactNode;\n size?: \"sm\" | \"md\";\n /** Content rendered inside the track when checked (short text or icon). */\n checkedChildren?: React.ReactNode;\n /** Content rendered inside the track when unchecked. */\n unCheckedChildren?: React.ReactNode;\n className?: string;\n id?: string;\n}\n\n/**\n * `Switch` — on/off toggle. Controlled or uncontrolled.\n */\nexport const Switch: React.FC<SwitchProps> = ({\n checked,\n defaultChecked,\n onChange,\n disabled,\n label,\n size = \"md\",\n checkedChildren,\n unCheckedChildren,\n className = \"\",\n id,\n}) => {\n const [inner, setInner] = React.useState(defaultChecked ?? false);\n const isControlled = checked !== undefined;\n const value = isControlled ? checked : inner;\n\n const toggle = () => {\n if (disabled) return;\n const next = !value;\n if (!isControlled) setInner(next);\n onChange?.(next);\n };\n\n const hasChildren = checkedChildren != null || unCheckedChildren != null;\n const cls = [\n \"switch\",\n value && \"on\",\n size !== \"md\" && size,\n disabled && \"disabled\",\n hasChildren && \"with-children\",\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <label className={cls}>\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={value}\n disabled={disabled}\n onClick={toggle}\n id={id}\n className=\"switch-track\"\n >\n {hasChildren && (\n <span className=\"switch-inner\">\n <span className=\"switch-inner-on\">{checkedChildren}</span>\n <span className=\"switch-inner-off\">{unCheckedChildren}</span>\n </span>\n )}\n <span className=\"switch-thumb\" />\n </button>\n {label && <span className=\"switch-label\">{label}</span>}\n </label>\n );\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Cascader/Cascader.tsx"],"names":["React","useFloating","jsxs","jsx","Icon","createPortal"],"mappings":"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","file":"chunk-ZSR5JSYZ.cjs","sourcesContent":["import \"../../styles/tokens.css\";\nimport \"../../styles/shared.css\";\nimport \"./Cascader.css\";\nimport * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { Icon, type IconName } from \"../Icon\";\nimport { useFloating } from \"../../utils/useFloating\";\n\nexport interface CascaderOption {\n value: string;\n label: React.ReactNode;\n icon?: IconName;\n children?: CascaderOption[];\n disabled?: boolean;\n}\n\nexport interface CascaderProps {\n options: CascaderOption[];\n value?: string[];\n defaultValue?: string[];\n onChange?: (path: string[]) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n}\n\n/** `Cascader` — multi-column hierarchical selector. */\nexport const Cascader: React.FC<CascaderProps> = ({\n options,\n value,\n defaultValue = [],\n onChange,\n placeholder = \"请选择\",\n disabled,\n className = \"\",\n}) => {\n const [inner, setInner] = React.useState<string[]>(defaultValue);\n const isControlled = value !== undefined;\n const cur = isControlled ? value! : inner;\n const [open, setOpen] = React.useState(false);\n const [path, setPath] = React.useState<string[]>(cur);\n const panelRef = React.useRef<HTMLDivElement>(null);\n\n const { triggerRef: ref, floatingStyle } = useFloating<HTMLDivElement>({\n open,\n placement: \"bottom\",\n panelWidth: 520,\n panelHeight: 260,\n });\n\n React.useEffect(() => {\n const h = (e: MouseEvent) => {\n const t = e.target as Node;\n if (ref.current?.contains(t)) return;\n if (panelRef.current?.contains(t)) return;\n setOpen(false);\n };\n document.addEventListener(\"mousedown\", h);\n return () => document.removeEventListener(\"mousedown\", h);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n if (open) setPath(cur);\n }, [open, cur]);\n\n const columns: CascaderOption[][] = [options];\n let cursor: CascaderOption[] = options;\n for (const v of path) {\n const match: CascaderOption | undefined = cursor.find((o) => o.value === v);\n if (match && match.children) {\n cursor = match.children;\n columns.push(cursor);\n } else break;\n }\n\n const pick = (depth: number, val: string, hasChildren: boolean) => {\n const np = [...path.slice(0, depth), val];\n setPath(np);\n if (!hasChildren) {\n if (!isControlled) setInner(np);\n onChange?.(np);\n setOpen(false);\n }\n };\n\n const labels: React.ReactNode[] = [];\n let list: CascaderOption[] = options;\n for (const v of cur) {\n const m: CascaderOption | undefined = list.find((o) => o.value === v);\n if (!m) break;\n labels.push(m.label);\n if (!m.children) break;\n list = m.children;\n }\n\n return (\n <div ref={ref} className={`cascader ${open ? \"open\" : \"\"} ${className}`}>\n <button\n type=\"button\"\n className={`cascader-trigger ${labels.length === 0 ? \"placeholder\" : \"\"}`}\n disabled={disabled}\n onClick={() => !disabled && setOpen((o) => !o)}\n >\n <span style={{ flex: 1 }}>\n {labels.length ? labels.map((l, i) => <span key={i}>{i > 0 && \" / \"}{l}</span>) : placeholder}\n </span>\n <span style={{ position: \"absolute\", right: 12, color: \"var(--fg-subtle)\" }}>\n <Icon name=\"chevDown\" size={14} />\n </span>\n </button>\n {open && typeof document !== \"undefined\" &&\n createPortal(\n <div ref={panelRef} className=\"cascader-panel\" style={floatingStyle}>\n {columns.map((col, depth) => (\n <div key={depth} className=\"cascader-col\">\n {col.map((o) => {\n const isActive = path[depth] === o.value;\n const hasChildren = !!(o.children && o.children.length);\n return (\n <button\n key={o.value}\n type=\"button\"\n className={`cascader-item ${isActive ? \"active\" : \"\"}`}\n disabled={o.disabled}\n onClick={() => pick(depth, o.value, hasChildren)}\n >\n {o.icon && <Icon name={o.icon} size={13} />}\n <span>{o.label}</span>\n {hasChildren && (\n <span className=\"chev\">\n <Icon name=\"chevRight\" size={12} />\n </span>\n )}\n </button>\n );\n })}\n </div>\n ))}\n </div>,\n document.body\n )}\n </div>\n );\n};\n"]}