@fangxinyan/lumina 0.6.0 → 0.6.2

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 (460) hide show
  1. package/dist/Alert.cjs +3 -5
  2. package/dist/Alert.js +2 -4
  3. package/dist/AppShell.cjs +5 -7
  4. package/dist/AppShell.js +1 -3
  5. package/dist/AutoComplete.cjs +6 -7
  6. package/dist/AutoComplete.d.cts +1 -1
  7. package/dist/AutoComplete.d.ts +1 -1
  8. package/dist/AutoComplete.js +5 -6
  9. package/dist/Avatar.cjs +2 -4
  10. package/dist/Avatar.js +1 -3
  11. package/dist/Badge-DPGLV3D3.css +22 -0
  12. package/dist/Badge.cjs +10 -0
  13. package/dist/Badge.d.cts +18 -0
  14. package/dist/Badge.d.ts +18 -0
  15. package/dist/Badge.js +1 -0
  16. package/dist/Button.cjs +3 -9
  17. package/dist/Button.d.cts +5 -10
  18. package/dist/Button.d.ts +5 -10
  19. package/dist/Button.js +2 -4
  20. package/dist/Calendar.cjs +3 -5
  21. package/dist/Calendar.js +2 -4
  22. package/dist/{Card-RG7ECXL2.css → Card-6RMVIHWX.css} +7 -13
  23. package/dist/Card.cjs +2 -8
  24. package/dist/Card.d.cts +7 -11
  25. package/dist/Card.d.ts +7 -11
  26. package/dist/Card.js +1 -3
  27. package/dist/{Cascader-VSYEKQCG.css → Cascader-C2DFSMKJ.css} +64 -0
  28. package/dist/Cascader.cjs +6 -6
  29. package/dist/Cascader.d.cts +18 -2
  30. package/dist/Cascader.d.ts +18 -2
  31. package/dist/Cascader.js +5 -5
  32. package/dist/{Checkbox-SKJATVSN.css → Checkbox-U5EUDSYS.css} +5 -35
  33. package/dist/Checkbox.cjs +3 -9
  34. package/dist/Checkbox.d.cts +1 -18
  35. package/dist/Checkbox.d.ts +1 -18
  36. package/dist/Checkbox.js +2 -4
  37. package/dist/Collapse-66U5YJFY.css +53 -0
  38. package/dist/Collapse.cjs +11 -0
  39. package/dist/Collapse.d.cts +32 -0
  40. package/dist/Collapse.d.ts +32 -0
  41. package/dist/Collapse.js +2 -0
  42. package/dist/ColorPicker.cjs +3 -5
  43. package/dist/ColorPicker.js +2 -4
  44. package/dist/CommandPalette.cjs +5 -6
  45. package/dist/CommandPalette.js +4 -5
  46. package/dist/ContextMenu.cjs +2 -4
  47. package/dist/ContextMenu.js +1 -3
  48. package/dist/Divider.cjs +2 -4
  49. package/dist/Divider.js +1 -3
  50. package/dist/Drawer.cjs +3 -5
  51. package/dist/Drawer.js +2 -4
  52. package/dist/Empty-DC2LPORC.css +28 -0
  53. package/dist/Empty.cjs +2 -12
  54. package/dist/Empty.d.cts +1 -62
  55. package/dist/Empty.d.ts +1 -62
  56. package/dist/Empty.js +1 -3
  57. package/dist/Form.cjs +4 -6
  58. package/dist/Form.d.cts +1 -1
  59. package/dist/Form.d.ts +1 -1
  60. package/dist/Form.js +1 -3
  61. package/dist/Icon.cjs +179 -5
  62. package/dist/Icon.d.cts +96 -3
  63. package/dist/Icon.d.ts +96 -3
  64. package/dist/Icon.js +1 -3
  65. package/dist/Image.cjs +4 -6
  66. package/dist/Image.js +2 -4
  67. package/dist/{Input-33CAH4O6.css → Input-3G4ONWNU.css} +15 -42
  68. package/dist/Input.cjs +6 -7
  69. package/dist/Input.d.cts +19 -23
  70. package/dist/Input.d.ts +19 -23
  71. package/dist/Input.js +3 -4
  72. package/dist/InputNumber.cjs +5 -6
  73. package/dist/InputNumber.d.cts +1 -1
  74. package/dist/InputNumber.d.ts +1 -1
  75. package/dist/InputNumber.js +4 -5
  76. package/dist/List.cjs +2 -4
  77. package/dist/List.js +1 -3
  78. package/dist/Message-2MZ3LFPU.css +45 -0
  79. package/dist/Message.cjs +23 -0
  80. package/dist/Message.d.cts +54 -0
  81. package/dist/Message.d.ts +54 -0
  82. package/dist/Message.js +2 -0
  83. package/dist/{Modal-XSDMU4XJ.css → Modal-2QNDW4SO.css} +27 -0
  84. package/dist/Modal.cjs +4 -6
  85. package/dist/Modal.d.cts +28 -4
  86. package/dist/Modal.d.ts +28 -4
  87. package/dist/Modal.js +3 -5
  88. package/dist/Pagination.cjs +8 -8
  89. package/dist/Pagination.js +7 -7
  90. package/dist/Popover.cjs +3 -5
  91. package/dist/Popover.d.cts +11 -3
  92. package/dist/Popover.d.ts +11 -3
  93. package/dist/Popover.js +2 -4
  94. package/dist/Progress.cjs +2 -4
  95. package/dist/Progress.js +1 -3
  96. package/dist/Radio-GVFDPAZM.css +97 -0
  97. package/dist/Radio.cjs +14 -0
  98. package/dist/Radio.d.cts +36 -0
  99. package/dist/Radio.d.ts +36 -0
  100. package/dist/Radio.js +1 -0
  101. package/dist/{Select-J3CCVFJ7.css → Select-JVBQAZBG.css} +7 -23
  102. package/dist/Select.cjs +7 -7
  103. package/dist/Select.d.cts +25 -4
  104. package/dist/Select.d.ts +25 -4
  105. package/dist/Select.js +6 -6
  106. package/dist/Skeleton-CVWH2VWN.css +40 -0
  107. package/dist/Skeleton.cjs +10 -0
  108. package/dist/Skeleton.d.cts +30 -0
  109. package/dist/Skeleton.d.ts +30 -0
  110. package/dist/Skeleton.js +1 -0
  111. package/dist/Slider.cjs +2 -4
  112. package/dist/Slider.js +1 -3
  113. package/dist/Spin-3GJNMSIH.css +94 -0
  114. package/dist/Spin.cjs +10 -0
  115. package/dist/Spin.d.cts +20 -0
  116. package/dist/Spin.d.ts +20 -0
  117. package/dist/Spin.js +1 -0
  118. package/dist/Splitter.cjs +2 -4
  119. package/dist/Splitter.js +1 -3
  120. package/dist/StatusBar.cjs +3 -5
  121. package/dist/StatusBar.js +1 -3
  122. package/dist/Switch.cjs +2 -4
  123. package/dist/Switch.js +1 -3
  124. package/dist/{Table-2LPTOUIR.css → Table-ATJJQLKU.css} +0 -53
  125. package/dist/Table.cjs +10 -14
  126. package/dist/Table.d.cts +2 -21
  127. package/dist/Table.d.ts +2 -21
  128. package/dist/Table.js +9 -9
  129. package/dist/TablePro-3XVHYLSL.css +45 -0
  130. package/dist/TablePro.cjs +19 -0
  131. package/dist/TablePro.d.cts +21 -0
  132. package/dist/TablePro.d.ts +21 -0
  133. package/dist/TablePro.js +10 -0
  134. package/dist/{Tabs-RHK6XAFF.css → Tabs-BLSNI2T5.css} +0 -34
  135. package/dist/Tabs.cjs +2 -8
  136. package/dist/Tabs.d.cts +1 -16
  137. package/dist/Tabs.d.ts +1 -16
  138. package/dist/Tabs.js +1 -3
  139. package/dist/Tag-LB3OOJAO.css +29 -0
  140. package/dist/Tag.cjs +3 -9
  141. package/dist/Tag.d.cts +1 -11
  142. package/dist/Tag.d.ts +1 -11
  143. package/dist/Tag.js +2 -4
  144. package/dist/Textarea-YNET7IBH.css +54 -0
  145. package/dist/Textarea.cjs +15 -0
  146. package/dist/Textarea.d.cts +25 -0
  147. package/dist/Textarea.d.ts +25 -0
  148. package/dist/Textarea.js +2 -0
  149. package/dist/Theme.cjs +10 -12
  150. package/dist/Theme.js +1 -3
  151. package/dist/{Timeline-RHZAZKZ7.css → Timeline-3ZHOHPXT.css} +2 -2
  152. package/dist/Timeline.cjs +3 -5
  153. package/dist/Timeline.d.cts +1 -1
  154. package/dist/Timeline.d.ts +1 -1
  155. package/dist/Timeline.js +2 -4
  156. package/dist/Tooltip.cjs +3 -5
  157. package/dist/Tooltip.d.cts +17 -4
  158. package/dist/Tooltip.d.ts +17 -4
  159. package/dist/Tooltip.js +2 -4
  160. package/dist/Typography.cjs +7 -9
  161. package/dist/Typography.js +2 -4
  162. package/dist/{chunk-74VZZAUT.cjs → chunk-2TL37AP5.cjs} +0 -2
  163. package/dist/{chunk-4DNHASZU.js → chunk-33NCTOEB.js} +1 -3
  164. package/dist/{chunk-KA3XLPQJ.cjs → chunk-35ZGBAA3.cjs} +3 -5
  165. package/dist/{chunk-IL523MTN.cjs → chunk-3AS5B7MQ.cjs} +13 -34
  166. package/dist/{chunk-ZA36BJIY.cjs → chunk-3YJU3D5S.cjs} +30 -9
  167. package/dist/chunk-45VJGBGN.js +25 -0
  168. package/dist/{chunk-JS6U7UQS.js → chunk-46VXFTEC.js} +3 -5
  169. package/dist/{chunk-V24B7KWT.cjs → chunk-4WTU5P3O.cjs} +3 -5
  170. package/dist/{chunk-3LJO33HI.js → chunk-5C2AI2SD.js} +0 -2
  171. package/dist/{chunk-FCIPCZAK.cjs → chunk-5JSDQ6QQ.cjs} +0 -2
  172. package/dist/{chunk-A3IJM7IX.js → chunk-5TKC6IEN.js} +4 -57
  173. package/dist/{chunk-JF2WNLPF.cjs → chunk-5WAXZJG5.cjs} +12 -21
  174. package/dist/{chunk-E6K6GYUC.js → chunk-65FIH5A3.js} +0 -2
  175. package/dist/chunk-6ACKL3WH.cjs +138 -0
  176. package/dist/{chunk-DCX36FYD.js → chunk-6BWELOCT.js} +0 -2
  177. package/dist/{chunk-WFFWVQK4.cjs → chunk-6LZ54NPO.cjs} +70 -76
  178. package/dist/{chunk-2LIX7ZHX.js → chunk-6YQTMI55.js} +0 -2
  179. package/dist/{chunk-SREMTSVI.cjs → chunk-7ABFUIOB.cjs} +0 -2
  180. package/dist/{chunk-2TZ2R7L2.js → chunk-7JN6FJ55.js} +0 -2
  181. package/dist/{chunk-DB5JMXOI.js → chunk-7NGMQIST.js} +2 -4
  182. package/dist/{chunk-Y7BZMMAV.cjs → chunk-7PNJI5UE.cjs} +0 -2
  183. package/dist/{chunk-KWE2PXJQ.js → chunk-7PQJCLIR.js} +0 -2
  184. package/dist/{chunk-5VIOJW6M.js → chunk-AWXCSX6J.js} +6 -26
  185. package/dist/chunk-AXZ7ELMA.js +41 -0
  186. package/dist/{chunk-XMINE4TN.cjs → chunk-B2KEZQ6S.cjs} +5 -7
  187. package/dist/chunk-CEJ7VBR6.js +283 -0
  188. package/dist/{chunk-ZPDMAMWC.js → chunk-CHMCL7AV.js} +1 -3
  189. package/dist/{chunk-MU4GGX6C.cjs → chunk-CUXV6QNN.cjs} +5 -7
  190. package/dist/{chunk-WLFMOWUY.js → chunk-CXWEOAVU.js} +1 -3
  191. package/dist/{chunk-D242UJZO.js → chunk-DQTSTJ6O.js} +3 -20
  192. package/dist/{chunk-ANAQER3T.js → chunk-DUFRASGO.js} +0 -2
  193. package/dist/{chunk-EARCKSI7.js → chunk-EC4WGEAJ.js} +0 -2
  194. package/dist/chunk-EIY7KEJ3.cjs +132 -0
  195. package/dist/{chunk-LSQD2GFA.js → chunk-EJBHR2P5.js} +3 -5
  196. package/dist/chunk-ELNT3CFO.js +64 -0
  197. package/dist/{chunk-ZN6VS6SO.js → chunk-EQEJTN3V.js} +3 -45
  198. package/dist/chunk-F6RYCBQG.js +25 -0
  199. package/dist/{chunk-S3OSBW7R.cjs → chunk-FBVVRTX2.cjs} +3 -46
  200. package/dist/chunk-FFZ6OMZI.js +110 -0
  201. package/dist/{chunk-MXIWTYNC.js → chunk-FJNWUELL.js} +3 -5
  202. package/dist/chunk-GENABQYA.cjs +47 -0
  203. package/dist/chunk-GMN74OEY.cjs +63 -0
  204. package/dist/{chunk-AXRABZLY.cjs → chunk-GNEZD7KE.cjs} +0 -2
  205. package/dist/chunk-GNEZQMKH.js +218 -0
  206. package/dist/{chunk-JAGJQDAV.cjs → chunk-HPFQXYKG.cjs} +159 -10
  207. package/dist/{chunk-XYGRVPUA.js → chunk-HWFM4MAT.js} +19 -9
  208. package/dist/{chunk-TC5ZL2OS.cjs → chunk-HZSIUOCN.cjs} +2 -57
  209. package/dist/{chunk-N6ZLZUBF.cjs → chunk-IZOHYJUQ.cjs} +0 -2
  210. package/dist/{chunk-6FSOJLY6.js → chunk-JD7A6VM3.js} +11 -19
  211. package/dist/chunk-K2KYM7LW.cjs +28 -0
  212. package/dist/{chunk-X3QINITU.js → chunk-K6F25JXT.js} +1 -3
  213. package/dist/{chunk-NRP3X3PE.cjs → chunk-KD4YYIIO.cjs} +1 -34
  214. package/dist/chunk-KGSADAOD.cjs +170 -0
  215. package/dist/{chunk-ZHCQEJ2Z.js → chunk-KLEKKZ73.js} +0 -2
  216. package/dist/{chunk-QRSPBK3X.js → chunk-LKK2AA7W.js} +0 -2
  217. package/dist/{chunk-V5KSJITO.cjs → chunk-MQV2XN4B.cjs} +5 -7
  218. package/dist/{chunk-2TNJ7TC4.cjs → chunk-MT7UWY6T.cjs} +2 -4
  219. package/dist/chunk-MUXP7ASL.js +26 -0
  220. package/dist/{chunk-W6I67HQQ.js → chunk-NN25YMOL.js} +0 -2
  221. package/dist/{chunk-474MXYO5.cjs → chunk-NTS5L4NQ.cjs} +3 -5
  222. package/dist/{chunk-CVEGVB2C.js → chunk-OBEKX4VR.js} +2 -34
  223. package/dist/chunk-OF3SGLZY.js +385 -0
  224. package/dist/{chunk-6TRVGFFX.cjs → chunk-OF7JIYBY.cjs} +2 -4
  225. package/dist/chunk-ON4DEDMI.js +113 -0
  226. package/dist/chunk-OQBDU5I2.cjs +104 -0
  227. package/dist/{chunk-ZM4P6ELG.cjs → chunk-OYMJVU66.cjs} +50 -41
  228. package/dist/{chunk-4JHFGSNH.js → chunk-PH3YECMF.js} +1 -3
  229. package/dist/{chunk-3EGZ6TBF.cjs → chunk-PL6DRFUO.cjs} +0 -2
  230. package/dist/chunk-Q5SZIU7Z.cjs +47 -0
  231. package/dist/{chunk-SWB57EA2.js → chunk-QCILPZWP.js} +0 -2
  232. package/dist/chunk-QGHYQCF3.cjs +240 -0
  233. package/dist/chunk-QKQHZIF3.cjs +86 -0
  234. package/dist/{chunk-Q7CDWNM6.cjs → chunk-RF2EY5JS.cjs} +0 -2
  235. package/dist/{chunk-2K5HZLXW.cjs → chunk-S3VXH5L4.cjs} +0 -2
  236. package/dist/{chunk-P4CGE5C7.cjs → chunk-SKMP2A5O.cjs} +5 -7
  237. package/dist/{chunk-RXL26GSI.cjs → chunk-SWBWZIL4.cjs} +0 -2
  238. package/dist/{chunk-YRAQRENN.js → chunk-TEEFR2FD.js} +29 -8
  239. package/dist/{chunk-YVSZLQTQ.cjs → chunk-TEG7NJHS.cjs} +3 -5
  240. package/dist/{chunk-DH4NYYJP.cjs → chunk-TJII7BQ2.cjs} +263 -4
  241. package/dist/{chunk-HHSVGNJA.cjs → chunk-TZJH5HBT.cjs} +6 -8
  242. package/dist/{chunk-T7ZBJJC4.js → chunk-UMDGS4BP.js} +1 -3
  243. package/dist/chunk-USQ43DJ5.js +147 -0
  244. package/dist/{chunk-RNVE2LMJ.cjs → chunk-UUHFKIWP.cjs} +20 -10
  245. package/dist/chunk-WGZ2KJTZ.js +81 -0
  246. package/dist/{chunk-RHZOBQON.js → chunk-WKKSAGYH.js} +40 -31
  247. package/dist/{chunk-XXE5TQ7I.cjs → chunk-WNM5RVXR.cjs} +0 -2
  248. package/dist/{chunk-4XSP4HHZ.js → chunk-XD3JGL5O.js} +2 -4
  249. package/dist/{chunk-44AVDO3T.js → chunk-XRR3CYQL.js} +0 -2
  250. package/dist/{chunk-ZZXNHPF3.js → chunk-XTIN5545.js} +68 -74
  251. package/dist/{chunk-3XIDJEYR.cjs → chunk-YB3IWIOJ.cjs} +0 -2
  252. package/dist/{chunk-EHZXEZI2.cjs → chunk-YLIQ37KY.cjs} +0 -2
  253. package/dist/{chunk-QCNHDDSD.cjs → chunk-ZIP7F4UF.cjs} +4 -22
  254. package/dist/index.cjs +346 -158
  255. package/dist/index.d.cts +23 -17
  256. package/dist/index.d.ts +23 -17
  257. package/dist/index.js +47 -43
  258. package/dist/styles.css +313 -192
  259. package/docs/llms/badge.md +3 -3
  260. package/docs/llms/button.md +7 -38
  261. package/docs/llms/card.md +6 -12
  262. package/docs/llms/cascader.md +19 -0
  263. package/docs/llms/{accordion.md → collapse.md} +13 -11
  264. package/docs/llms/drawer.md +1 -1
  265. package/docs/llms/form.md +1 -1
  266. package/docs/llms/input.md +25 -16
  267. package/docs/llms/message.md +63 -0
  268. package/docs/llms/modal.md +30 -0
  269. package/docs/llms/popover.md +18 -1
  270. package/docs/llms/radio.md +37 -1
  271. package/docs/llms/select.md +20 -0
  272. package/docs/llms/spin.md +59 -0
  273. package/docs/llms/table.md +3 -3
  274. package/docs/llms/tooltip.md +16 -3
  275. package/docs/llms.md +5 -5
  276. package/package.json +19 -53
  277. package/dist/Accordion-REMDCQUD.css +0 -44
  278. package/dist/Accordion.cjs +0 -13
  279. package/dist/Accordion.cjs.map +0 -1
  280. package/dist/Accordion.d.cts +0 -33
  281. package/dist/Accordion.d.ts +0 -33
  282. package/dist/Accordion.js +0 -4
  283. package/dist/Accordion.js.map +0 -1
  284. package/dist/Alert.cjs.map +0 -1
  285. package/dist/Alert.js.map +0 -1
  286. package/dist/AppShell.cjs.map +0 -1
  287. package/dist/AppShell.js.map +0 -1
  288. package/dist/AutoComplete.cjs.map +0 -1
  289. package/dist/AutoComplete.js.map +0 -1
  290. package/dist/Avatar.cjs.map +0 -1
  291. package/dist/Avatar.js.map +0 -1
  292. package/dist/Button.cjs.map +0 -1
  293. package/dist/Button.js.map +0 -1
  294. package/dist/Calendar.cjs.map +0 -1
  295. package/dist/Calendar.js.map +0 -1
  296. package/dist/Card.cjs.map +0 -1
  297. package/dist/Card.js.map +0 -1
  298. package/dist/Cascader.cjs.map +0 -1
  299. package/dist/Cascader.js.map +0 -1
  300. package/dist/Checkbox.cjs.map +0 -1
  301. package/dist/Checkbox.js.map +0 -1
  302. package/dist/ColorPicker.cjs.map +0 -1
  303. package/dist/ColorPicker.js.map +0 -1
  304. package/dist/CommandPalette.cjs.map +0 -1
  305. package/dist/CommandPalette.js.map +0 -1
  306. package/dist/ContextMenu.cjs.map +0 -1
  307. package/dist/ContextMenu.js.map +0 -1
  308. package/dist/Divider.cjs.map +0 -1
  309. package/dist/Divider.js.map +0 -1
  310. package/dist/Drawer.cjs.map +0 -1
  311. package/dist/Drawer.js.map +0 -1
  312. package/dist/Empty-NQ72W3D7.css +0 -160
  313. package/dist/Empty.cjs.map +0 -1
  314. package/dist/Empty.js.map +0 -1
  315. package/dist/Form.cjs.map +0 -1
  316. package/dist/Form.js.map +0 -1
  317. package/dist/Icon.cjs.map +0 -1
  318. package/dist/Icon.js.map +0 -1
  319. package/dist/Image.cjs.map +0 -1
  320. package/dist/Image.js.map +0 -1
  321. package/dist/Input.cjs.map +0 -1
  322. package/dist/Input.js.map +0 -1
  323. package/dist/InputNumber.cjs.map +0 -1
  324. package/dist/InputNumber.js.map +0 -1
  325. package/dist/List.cjs.map +0 -1
  326. package/dist/List.js.map +0 -1
  327. package/dist/Modal.cjs.map +0 -1
  328. package/dist/Modal.js.map +0 -1
  329. package/dist/Pagination.cjs.map +0 -1
  330. package/dist/Pagination.js.map +0 -1
  331. package/dist/Popover.cjs.map +0 -1
  332. package/dist/Popover.js.map +0 -1
  333. package/dist/Progress.cjs.map +0 -1
  334. package/dist/Progress.js.map +0 -1
  335. package/dist/Select.cjs.map +0 -1
  336. package/dist/Select.js.map +0 -1
  337. package/dist/Slider.cjs.map +0 -1
  338. package/dist/Slider.js.map +0 -1
  339. package/dist/Splitter.cjs.map +0 -1
  340. package/dist/Splitter.js.map +0 -1
  341. package/dist/StatusBar.cjs.map +0 -1
  342. package/dist/StatusBar.js.map +0 -1
  343. package/dist/Switch.cjs.map +0 -1
  344. package/dist/Switch.js.map +0 -1
  345. package/dist/Table.cjs.map +0 -1
  346. package/dist/Table.js.map +0 -1
  347. package/dist/Tabs.cjs.map +0 -1
  348. package/dist/Tabs.js.map +0 -1
  349. package/dist/Tag-FGDY3W7E.css +0 -51
  350. package/dist/Tag.cjs.map +0 -1
  351. package/dist/Tag.js.map +0 -1
  352. package/dist/Theme.cjs.map +0 -1
  353. package/dist/Theme.js.map +0 -1
  354. package/dist/Timeline.cjs.map +0 -1
  355. package/dist/Timeline.js.map +0 -1
  356. package/dist/Toast-YSACW3EM.css +0 -45
  357. package/dist/Toast.cjs +0 -17
  358. package/dist/Toast.cjs.map +0 -1
  359. package/dist/Toast.d.cts +0 -26
  360. package/dist/Toast.d.ts +0 -26
  361. package/dist/Toast.js +0 -4
  362. package/dist/Toast.js.map +0 -1
  363. package/dist/Tooltip.cjs.map +0 -1
  364. package/dist/Tooltip.js.map +0 -1
  365. package/dist/Typography.cjs.map +0 -1
  366. package/dist/Typography.js.map +0 -1
  367. package/dist/chunk-2K5HZLXW.cjs.map +0 -1
  368. package/dist/chunk-2LIX7ZHX.js.map +0 -1
  369. package/dist/chunk-2TNJ7TC4.cjs.map +0 -1
  370. package/dist/chunk-2TZ2R7L2.js.map +0 -1
  371. package/dist/chunk-3EGZ6TBF.cjs.map +0 -1
  372. package/dist/chunk-3LJO33HI.js.map +0 -1
  373. package/dist/chunk-3XIDJEYR.cjs.map +0 -1
  374. package/dist/chunk-44AVDO3T.js.map +0 -1
  375. package/dist/chunk-474MXYO5.cjs.map +0 -1
  376. package/dist/chunk-4DNHASZU.js.map +0 -1
  377. package/dist/chunk-4JHFGSNH.js.map +0 -1
  378. package/dist/chunk-4SCDDSXY.js +0 -41
  379. package/dist/chunk-4SCDDSXY.js.map +0 -1
  380. package/dist/chunk-4XSP4HHZ.js.map +0 -1
  381. package/dist/chunk-5VIOJW6M.js.map +0 -1
  382. package/dist/chunk-6CAEGNCK.js +0 -101
  383. package/dist/chunk-6CAEGNCK.js.map +0 -1
  384. package/dist/chunk-6FSOJLY6.js.map +0 -1
  385. package/dist/chunk-6TRVGFFX.cjs.map +0 -1
  386. package/dist/chunk-74VZZAUT.cjs.map +0 -1
  387. package/dist/chunk-A3IJM7IX.js.map +0 -1
  388. package/dist/chunk-ANAQER3T.js.map +0 -1
  389. package/dist/chunk-AXRABZLY.cjs.map +0 -1
  390. package/dist/chunk-BSHHQOFY.js +0 -170
  391. package/dist/chunk-BSHHQOFY.js.map +0 -1
  392. package/dist/chunk-CVEGVB2C.js.map +0 -1
  393. package/dist/chunk-D242UJZO.js.map +0 -1
  394. package/dist/chunk-DB5JMXOI.js.map +0 -1
  395. package/dist/chunk-DCX36FYD.js.map +0 -1
  396. package/dist/chunk-DH4NYYJP.cjs.map +0 -1
  397. package/dist/chunk-DUNQNSVK.js +0 -125
  398. package/dist/chunk-DUNQNSVK.js.map +0 -1
  399. package/dist/chunk-E6K6GYUC.js.map +0 -1
  400. package/dist/chunk-EARCKSI7.js.map +0 -1
  401. package/dist/chunk-EHZXEZI2.cjs.map +0 -1
  402. package/dist/chunk-FBQLNAUI.cjs +0 -123
  403. package/dist/chunk-FBQLNAUI.cjs.map +0 -1
  404. package/dist/chunk-FCIPCZAK.cjs.map +0 -1
  405. package/dist/chunk-FSOJHDXH.js +0 -76
  406. package/dist/chunk-FSOJHDXH.js.map +0 -1
  407. package/dist/chunk-HHSVGNJA.cjs.map +0 -1
  408. package/dist/chunk-HQO7EZNQ.cjs +0 -147
  409. package/dist/chunk-HQO7EZNQ.cjs.map +0 -1
  410. package/dist/chunk-IL523MTN.cjs.map +0 -1
  411. package/dist/chunk-JAGJQDAV.cjs.map +0 -1
  412. package/dist/chunk-JF2WNLPF.cjs.map +0 -1
  413. package/dist/chunk-JS6U7UQS.js.map +0 -1
  414. package/dist/chunk-KA3XLPQJ.cjs.map +0 -1
  415. package/dist/chunk-KWE2PXJQ.js.map +0 -1
  416. package/dist/chunk-LSQD2GFA.js.map +0 -1
  417. package/dist/chunk-MU4GGX6C.cjs.map +0 -1
  418. package/dist/chunk-MUFMJPRT.cjs +0 -64
  419. package/dist/chunk-MUFMJPRT.cjs.map +0 -1
  420. package/dist/chunk-MXIWTYNC.js.map +0 -1
  421. package/dist/chunk-N6ZLZUBF.cjs.map +0 -1
  422. package/dist/chunk-NRP3X3PE.cjs.map +0 -1
  423. package/dist/chunk-P4CGE5C7.cjs.map +0 -1
  424. package/dist/chunk-PX5ABNKV.js +0 -134
  425. package/dist/chunk-PX5ABNKV.js.map +0 -1
  426. package/dist/chunk-Q7CDWNM6.cjs.map +0 -1
  427. package/dist/chunk-QCNHDDSD.cjs.map +0 -1
  428. package/dist/chunk-QRSPBK3X.js.map +0 -1
  429. package/dist/chunk-RHZOBQON.js.map +0 -1
  430. package/dist/chunk-RNVE2LMJ.cjs.map +0 -1
  431. package/dist/chunk-RXL26GSI.cjs.map +0 -1
  432. package/dist/chunk-S3OSBW7R.cjs.map +0 -1
  433. package/dist/chunk-SREMTSVI.cjs.map +0 -1
  434. package/dist/chunk-SWB57EA2.js.map +0 -1
  435. package/dist/chunk-T7ZBJJC4.js.map +0 -1
  436. package/dist/chunk-TC5ZL2OS.cjs.map +0 -1
  437. package/dist/chunk-V24B7KWT.cjs.map +0 -1
  438. package/dist/chunk-V5KSJITO.cjs.map +0 -1
  439. package/dist/chunk-W6I67HQQ.js.map +0 -1
  440. package/dist/chunk-WFFWVQK4.cjs.map +0 -1
  441. package/dist/chunk-WLFMOWUY.js.map +0 -1
  442. package/dist/chunk-X3QINITU.js.map +0 -1
  443. package/dist/chunk-XMFVAYBP.cjs +0 -102
  444. package/dist/chunk-XMFVAYBP.cjs.map +0 -1
  445. package/dist/chunk-XMINE4TN.cjs.map +0 -1
  446. package/dist/chunk-XXE5TQ7I.cjs.map +0 -1
  447. package/dist/chunk-XYGRVPUA.js.map +0 -1
  448. package/dist/chunk-Y7BZMMAV.cjs.map +0 -1
  449. package/dist/chunk-YRAQRENN.js.map +0 -1
  450. package/dist/chunk-YVSZLQTQ.cjs.map +0 -1
  451. package/dist/chunk-ZA36BJIY.cjs.map +0 -1
  452. package/dist/chunk-ZHCQEJ2Z.js.map +0 -1
  453. package/dist/chunk-ZM4P6ELG.cjs.map +0 -1
  454. package/dist/chunk-ZN6VS6SO.js.map +0 -1
  455. package/dist/chunk-ZPDMAMWC.js.map +0 -1
  456. package/dist/chunk-ZZXNHPF3.js.map +0 -1
  457. package/dist/index.cjs.map +0 -1
  458. package/dist/index.js.map +0 -1
  459. package/docs/llms/spinner.md +0 -58
  460. package/docs/llms/toast.md +0 -51
@@ -0,0 +1,64 @@
1
+ import './tokens-BIIUTPKN.css';
2
+ import './shared-NJHRNLRH.css';
3
+ import './Spin-3GJNMSIH.css';
4
+ import * as React from 'react';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+
7
+ // src/components/Spin/Spin.tsx
8
+ var SIZE_PX = {
9
+ small: 14,
10
+ default: 20,
11
+ large: 32
12
+ };
13
+ var resolveSize = (size) => typeof size === "number" ? size : SIZE_PX[size];
14
+ var Spin = React.forwardRef(({
15
+ size = "default",
16
+ tone = "accent",
17
+ tip,
18
+ label,
19
+ variant = "ring",
20
+ spinning = true,
21
+ className = "",
22
+ style,
23
+ ...rest
24
+ }, ref) => {
25
+ const text = label ?? tip;
26
+ const px = resolveSize(size);
27
+ const indicatorClass = `spin ${variant} ${tone}`;
28
+ const rootClass = text ? `spin-wrap ${className}`.trim() : `${indicatorClass} ${className}`.trim();
29
+ const indicatorStyle = variant === "dots" ? { fontSize: px } : { width: px, height: px };
30
+ if (!spinning && !text) return null;
31
+ const renderIndicator = (extraProps = {}) => {
32
+ if (!spinning) return null;
33
+ const {
34
+ className: extraClassName,
35
+ style: extraStyle,
36
+ ...indicatorRest
37
+ } = extraProps;
38
+ const finalClassName = extraClassName ?? indicatorClass;
39
+ const finalStyle = { ...indicatorStyle, ...extraStyle };
40
+ if (variant === "dots") {
41
+ return /* @__PURE__ */ jsxs("span", { className: finalClassName, style: finalStyle, "aria-label": "Loading", ...indicatorRest, children: [
42
+ /* @__PURE__ */ jsx("i", {}),
43
+ /* @__PURE__ */ jsx("i", {}),
44
+ /* @__PURE__ */ jsx("i", {})
45
+ ] });
46
+ }
47
+ return /* @__PURE__ */ jsx("span", { className: finalClassName, style: finalStyle, "aria-label": "Loading", ...indicatorRest });
48
+ };
49
+ if (!text) {
50
+ return renderIndicator({
51
+ ref,
52
+ className: rootClass,
53
+ style: { ...indicatorStyle, ...style },
54
+ ...rest
55
+ });
56
+ }
57
+ return /* @__PURE__ */ jsxs("span", { ref, className: rootClass, style, ...rest, children: [
58
+ renderIndicator(),
59
+ /* @__PURE__ */ jsx("span", { className: "spin-label", children: text })
60
+ ] });
61
+ });
62
+ Spin.displayName = "Spin";
63
+
64
+ export { Spin };
@@ -1,7 +1,7 @@
1
- import { Icon } from './chunk-BSHHQOFY.js';
1
+ import { Icon } from './chunk-OF3SGLZY.js';
2
2
  import './tokens-BIIUTPKN.css';
3
3
  import './shared-NJHRNLRH.css';
4
- import './Checkbox-SKJATVSN.css';
4
+ import './Checkbox-U5EUDSYS.css';
5
5
  import * as React from 'react';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
7
 
@@ -50,47 +50,5 @@ var Checkbox = React.forwardRef(({
50
50
  ] });
51
51
  });
52
52
  Checkbox.displayName = "Checkbox";
53
- var RadioGroupInner = ({
54
- options,
55
- value,
56
- defaultValue,
57
- onChange,
58
- direction = "vertical",
59
- className = "",
60
- ...rest
61
- }, ref) => {
62
- const [inner, setInner] = React.useState(defaultValue);
63
- const isControlled = value !== void 0;
64
- const current = isControlled ? value : inner;
65
- const pick = (v) => {
66
- if (!isControlled) setInner(v);
67
- onChange?.(v);
68
- };
69
- return /* @__PURE__ */ jsx("div", { ref, className: `radio-group ${direction} ${className}`, ...rest, children: options.map((opt) => /* @__PURE__ */ jsxs(
70
- "label",
71
- {
72
- className: `radio ${current === opt.value ? "checked" : ""} ${opt.disabled ? "disabled" : ""}`,
73
- children: [
74
- /* @__PURE__ */ jsx(
75
- "button",
76
- {
77
- type: "button",
78
- role: "radio",
79
- "aria-checked": current === opt.value,
80
- disabled: opt.disabled,
81
- onClick: () => pick(opt.value),
82
- className: "radio-dot"
83
- }
84
- ),
85
- /* @__PURE__ */ jsx("span", { className: "radio-label", children: opt.label })
86
- ]
87
- },
88
- String(opt.value)
89
- )) });
90
- };
91
- var RadioGroup = React.forwardRef(RadioGroupInner);
92
- RadioGroup.displayName = "RadioGroup";
93
53
 
94
- export { Checkbox, RadioGroup };
95
- //# sourceMappingURL=chunk-ZN6VS6SO.js.map
96
- //# sourceMappingURL=chunk-ZN6VS6SO.js.map
54
+ export { Checkbox };
@@ -0,0 +1,25 @@
1
+ import './tokens-BIIUTPKN.css';
2
+ import './shared-NJHRNLRH.css';
3
+ import './Badge-DPGLV3D3.css';
4
+ import * as React from 'react';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+
7
+ // src/components/Badge/Badge.tsx
8
+ var Badge = React.forwardRef(({
9
+ count,
10
+ max = 99,
11
+ dot,
12
+ tone = "danger",
13
+ children,
14
+ className = "",
15
+ ...rest
16
+ }, ref) => {
17
+ const show = dot || typeof count === "number" && count > 0;
18
+ return /* @__PURE__ */ jsxs("span", { ref, className: `badge-wrap ${className}`, ...rest, children: [
19
+ children,
20
+ show && /* @__PURE__ */ jsx("span", { className: `badge ${tone} ${dot ? "dot" : ""}`, children: !dot && (count > max ? `${max}+` : count) })
21
+ ] });
22
+ });
23
+ Badge.displayName = "Badge";
24
+
25
+ export { Badge };
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkDH4NYYJP_cjs = require('./chunk-DH4NYYJP.cjs');
3
+ var chunkTJII7BQ2_cjs = require('./chunk-TJII7BQ2.cjs');
4
4
  require('./tokens-BIIUTPKN.css');
5
5
  require('./shared-NJHRNLRH.css');
6
- require('./Checkbox-SKJATVSN.css');
6
+ require('./Checkbox-U5EUDSYS.css');
7
7
  var React = require('react');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
 
@@ -65,55 +65,12 @@ var Checkbox = React__namespace.forwardRef(({
65
65
  onClick: toggle,
66
66
  id,
67
67
  className: "checkbox-box",
68
- children: indeterminate ? /* @__PURE__ */ jsxRuntime.jsx(chunkDH4NYYJP_cjs.Icon, { name: "minus", size: 11 }) : value ? /* @__PURE__ */ jsxRuntime.jsx(chunkDH4NYYJP_cjs.Icon, { name: "check", size: 11 }) : null
68
+ children: indeterminate ? /* @__PURE__ */ jsxRuntime.jsx(chunkTJII7BQ2_cjs.Icon, { name: "minus", size: 11 }) : value ? /* @__PURE__ */ jsxRuntime.jsx(chunkTJII7BQ2_cjs.Icon, { name: "check", size: 11 }) : null
69
69
  }
70
70
  ),
71
71
  label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "checkbox-label", children: label })
72
72
  ] });
73
73
  });
74
74
  Checkbox.displayName = "Checkbox";
75
- var RadioGroupInner = ({
76
- options,
77
- value,
78
- defaultValue,
79
- onChange,
80
- direction = "vertical",
81
- className = "",
82
- ...rest
83
- }, ref) => {
84
- const [inner, setInner] = React__namespace.useState(defaultValue);
85
- const isControlled = value !== void 0;
86
- const current = isControlled ? value : inner;
87
- const pick = (v) => {
88
- if (!isControlled) setInner(v);
89
- onChange?.(v);
90
- };
91
- return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: `radio-group ${direction} ${className}`, ...rest, children: options.map((opt) => /* @__PURE__ */ jsxRuntime.jsxs(
92
- "label",
93
- {
94
- className: `radio ${current === opt.value ? "checked" : ""} ${opt.disabled ? "disabled" : ""}`,
95
- children: [
96
- /* @__PURE__ */ jsxRuntime.jsx(
97
- "button",
98
- {
99
- type: "button",
100
- role: "radio",
101
- "aria-checked": current === opt.value,
102
- disabled: opt.disabled,
103
- onClick: () => pick(opt.value),
104
- className: "radio-dot"
105
- }
106
- ),
107
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "radio-label", children: opt.label })
108
- ]
109
- },
110
- String(opt.value)
111
- )) });
112
- };
113
- var RadioGroup = React__namespace.forwardRef(RadioGroupInner);
114
- RadioGroup.displayName = "RadioGroup";
115
75
 
116
76
  exports.Checkbox = Checkbox;
117
- exports.RadioGroup = RadioGroup;
118
- //# sourceMappingURL=chunk-S3OSBW7R.cjs.map
119
- //# sourceMappingURL=chunk-S3OSBW7R.cjs.map
@@ -0,0 +1,110 @@
1
+ import { Icon } from './chunk-OF3SGLZY.js';
2
+ import './tokens-BIIUTPKN.css';
3
+ import './shared-NJHRNLRH.css';
4
+ import './Collapse-66U5YJFY.css';
5
+ import * as React from 'react';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
7
+
8
+ var CollapsePanel = ({ open, children }) => {
9
+ const innerRef = React.useRef(null);
10
+ const [h, setH] = React.useState(0);
11
+ const [animated, setAnimated] = React.useState(false);
12
+ React.useLayoutEffect(() => {
13
+ const el = innerRef.current;
14
+ if (!el) return;
15
+ setH(el.scrollHeight);
16
+ const ro = new ResizeObserver(() => setH(el.scrollHeight));
17
+ ro.observe(el);
18
+ return () => ro.disconnect();
19
+ }, []);
20
+ React.useEffect(() => {
21
+ const id = requestAnimationFrame(() => setAnimated(true));
22
+ return () => cancelAnimationFrame(id);
23
+ }, []);
24
+ return /* @__PURE__ */ jsx(
25
+ "div",
26
+ {
27
+ className: "collapse-body",
28
+ style: { maxHeight: open ? h : 0, transition: animated ? void 0 : "none" },
29
+ "aria-hidden": !open,
30
+ children: /* @__PURE__ */ jsx("div", { ref: innerRef, className: "collapse-body-inner", children })
31
+ }
32
+ );
33
+ };
34
+ var normalizeKeys = (value) => value == null ? [] : Array.isArray(value) ? value : [value];
35
+ var Collapse = React.forwardRef(({
36
+ items,
37
+ accordion = false,
38
+ multiple = true,
39
+ collapsible = "header",
40
+ activeKey,
41
+ defaultActiveKey,
42
+ onChange,
43
+ ghost = false,
44
+ size = "middle",
45
+ className = "",
46
+ ...rest
47
+ }, ref) => {
48
+ const [inner, setInner] = React.useState(() => normalizeKeys(defaultActiveKey));
49
+ const isControlled = activeKey !== void 0;
50
+ const keys = isControlled ? normalizeKeys(activeKey) : inner;
51
+ const singleOpen = accordion || !multiple;
52
+ const toggle = (k, itemDisabled) => {
53
+ if (collapsible === "disabled" || itemDisabled) return;
54
+ const next = keys.includes(k) ? keys.filter((x) => x !== k) : singleOpen ? [k] : [...keys, k];
55
+ if (!isControlled) setInner(next);
56
+ onChange?.(next);
57
+ };
58
+ return /* @__PURE__ */ jsx(
59
+ "div",
60
+ {
61
+ ref,
62
+ className: `collapse ${ghost ? "ghost" : ""} ${size} ${className}`,
63
+ ...rest,
64
+ children: items.map((it) => {
65
+ const open = keys.includes(it.key);
66
+ const isDisabled = it.disabled || collapsible === "disabled";
67
+ const headerClickable = collapsible === "header" && !isDisabled;
68
+ return /* @__PURE__ */ jsxs(
69
+ "div",
70
+ {
71
+ className: `collapse-item ${open ? "open" : ""} ${isDisabled ? "disabled" : ""} ${collapsible === "icon" ? "icon-only" : ""}`,
72
+ children: [
73
+ /* @__PURE__ */ jsxs(
74
+ "button",
75
+ {
76
+ type: "button",
77
+ className: "collapse-head",
78
+ disabled: isDisabled,
79
+ onClick: () => headerClickable && toggle(it.key, it.disabled),
80
+ "aria-expanded": open,
81
+ children: [
82
+ /* @__PURE__ */ jsx("span", { children: it.label }),
83
+ /* @__PURE__ */ jsx(
84
+ "span",
85
+ {
86
+ className: `collapse-chev${collapsible === "icon" ? " clickable" : ""}`,
87
+ onClick: (e) => {
88
+ if (collapsible === "icon" && !isDisabled) {
89
+ e.stopPropagation();
90
+ toggle(it.key, it.disabled);
91
+ }
92
+ },
93
+ children: /* @__PURE__ */ jsx(Icon, { name: "chevDown", size: 16 })
94
+ }
95
+ )
96
+ ]
97
+ }
98
+ ),
99
+ /* @__PURE__ */ jsx(CollapsePanel, { open, children: it.children })
100
+ ]
101
+ },
102
+ it.key
103
+ );
104
+ })
105
+ }
106
+ );
107
+ });
108
+ Collapse.displayName = "Collapse";
109
+
110
+ export { Collapse };
@@ -1,5 +1,5 @@
1
- import { useFloating } from './chunk-ANAQER3T.js';
2
- import { Input } from './chunk-ZZXNHPF3.js';
1
+ import { useFloating } from './chunk-DUFRASGO.js';
2
+ import { Input } from './chunk-XTIN5545.js';
3
3
  import './tokens-BIIUTPKN.css';
4
4
  import './shared-NJHRNLRH.css';
5
5
  import './AutoComplete-P5KZMZO5.css';
@@ -158,7 +158,7 @@ var AutoComplete = React.forwardRef(
158
158
  disabled,
159
159
  allowClear,
160
160
  autoFocus,
161
- onChange: handleInput,
161
+ onValueChange: handleInput,
162
162
  onFocus: (event) => {
163
163
  onFocus?.(event);
164
164
  if (!disabled) setOpen(true);
@@ -176,5 +176,3 @@ var AutoComplete = React.forwardRef(
176
176
  AutoComplete.displayName = "AutoComplete";
177
177
 
178
178
  export { AutoComplete };
179
- //# sourceMappingURL=chunk-MXIWTYNC.js.map
180
- //# sourceMappingURL=chunk-MXIWTYNC.js.map
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ require('./tokens-BIIUTPKN.css');
4
+ require('./shared-NJHRNLRH.css');
5
+ require('./Empty-DC2LPORC.css');
6
+ var React = require('react');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
+
29
+ // src/components/Empty/Empty.tsx
30
+ var Empty = React__namespace.forwardRef(({
31
+ title = "\u6682\u65E0\u5185\u5BB9",
32
+ description,
33
+ icon,
34
+ action,
35
+ size = "md",
36
+ variant = "default",
37
+ className = "",
38
+ ...rest
39
+ }, ref) => /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: `empty ${size} ${variant} ${className}`, ...rest, children: [
40
+ icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-ico", children: icon }),
41
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-title", children: title }),
42
+ description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-desc", children: description }),
43
+ action && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-action", children: action })
44
+ ] }));
45
+ Empty.displayName = "Empty";
46
+
47
+ exports.Empty = Empty;
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ require('./tokens-BIIUTPKN.css');
4
+ require('./shared-NJHRNLRH.css');
5
+ require('./Card-6RMVIHWX.css');
6
+ var React = require('react');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
+
29
+ // src/components/Card/Card.tsx
30
+ var Card = React__namespace.forwardRef(
31
+ ({
32
+ variant = "raised",
33
+ padding = "md",
34
+ hoverable,
35
+ title,
36
+ description,
37
+ actions,
38
+ className = "",
39
+ children,
40
+ ...rest
41
+ }, ref) => {
42
+ const cls = [
43
+ "card",
44
+ variant,
45
+ padding !== "md" && `pad-${padding}`,
46
+ hoverable && "hoverable",
47
+ className
48
+ ].filter(Boolean).join(" ");
49
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: cls, ...rest, children: [
50
+ (title || description || actions) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "card-head", children: [
51
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "card-titles", children: [
52
+ title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "card-title", children: title }),
53
+ description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "card-desc", children: description })
54
+ ] }),
55
+ actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "card-actions", children: actions })
56
+ ] }),
57
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "card-body", children })
58
+ ] });
59
+ }
60
+ );
61
+ Card.displayName = "Card";
62
+
63
+ exports.Card = Card;
@@ -188,5 +188,3 @@ var ContextMenu = React__namespace.forwardRef(({
188
188
  ContextMenu.displayName = "ContextMenu";
189
189
 
190
190
  exports.ContextMenu = ContextMenu;
191
- //# sourceMappingURL=chunk-AXRABZLY.cjs.map
192
- //# sourceMappingURL=chunk-AXRABZLY.cjs.map
@@ -0,0 +1,218 @@
1
+ import { useFloating } from './chunk-DUFRASGO.js';
2
+ import { Input } from './chunk-XTIN5545.js';
3
+ import { Icon } from './chunk-OF3SGLZY.js';
4
+ import './tokens-BIIUTPKN.css';
5
+ import './shared-NJHRNLRH.css';
6
+ import './Cascader-C2DFSMKJ.css';
7
+ import * as React from 'react';
8
+ import { createPortal } from 'react-dom';
9
+ import { jsxs, jsx } from 'react/jsx-runtime';
10
+
11
+ var collectPaths = (options, prefix = []) => options.flatMap((option) => {
12
+ const next = [...prefix, option];
13
+ if (option.children?.length) return collectPaths(option.children, next);
14
+ return [next];
15
+ });
16
+ var defaultSearchFilter = (inputValue, path) => {
17
+ const q = inputValue.trim().toLowerCase();
18
+ if (!q) return true;
19
+ return path.map((option) => String(option.label ?? option.value)).join(" / ").toLowerCase().includes(q);
20
+ };
21
+ var Cascader = React.forwardRef(({
22
+ options,
23
+ value,
24
+ defaultValue = [],
25
+ onChange,
26
+ placeholder = "\u8BF7\u9009\u62E9",
27
+ disabled,
28
+ allowClear,
29
+ onClear,
30
+ changeOnSelect,
31
+ showSearch,
32
+ popupClassName = "",
33
+ dropdownClassName = "",
34
+ className = "",
35
+ ...rest
36
+ }, ref) => {
37
+ const [inner, setInner] = React.useState(defaultValue);
38
+ const isControlled = value !== void 0;
39
+ const cur = isControlled ? value : inner;
40
+ const [open, setOpen] = React.useState(false);
41
+ const [path, setPath] = React.useState(cur);
42
+ const [query, setQuery] = React.useState("");
43
+ const panelRef = React.useRef(null);
44
+ const searchRef = React.useRef(null);
45
+ const searchConfig = typeof showSearch === "object" ? showSearch : {};
46
+ const searchable = !!showSearch;
47
+ const { triggerRef, floatingStyle } = useFloating({
48
+ open,
49
+ placement: "bottom",
50
+ panelWidth: 520,
51
+ panelHeight: 260
52
+ });
53
+ const setTriggerRef = React.useCallback(
54
+ (node) => {
55
+ triggerRef.current = node;
56
+ if (typeof ref === "function") ref(node);
57
+ else if (ref) ref.current = node;
58
+ },
59
+ [ref, triggerRef]
60
+ );
61
+ React.useEffect(() => {
62
+ const h = (e) => {
63
+ const t = e.target;
64
+ if (triggerRef.current?.contains(t)) return;
65
+ if (panelRef.current?.contains(t)) return;
66
+ setOpen(false);
67
+ };
68
+ document.addEventListener("mousedown", h);
69
+ return () => document.removeEventListener("mousedown", h);
70
+ }, []);
71
+ React.useEffect(() => {
72
+ if (open) setPath(cur);
73
+ if (!open) setQuery("");
74
+ }, [open, cur]);
75
+ React.useEffect(() => {
76
+ if (!open || !searchable) return;
77
+ requestAnimationFrame(() => searchRef.current?.focus());
78
+ }, [open, searchable]);
79
+ const columns = [options];
80
+ let cursor = options;
81
+ for (const v of path) {
82
+ const match = cursor.find((o) => o.value === v);
83
+ if (match && match.children) {
84
+ cursor = match.children;
85
+ columns.push(cursor);
86
+ } else break;
87
+ }
88
+ const selectedOptionsForPath = (nextPath) => {
89
+ const selected = [];
90
+ let list2 = options;
91
+ for (const item of nextPath) {
92
+ const match = list2.find((option) => option.value === item);
93
+ if (!match) break;
94
+ selected.push(match);
95
+ list2 = match.children ?? [];
96
+ }
97
+ return selected;
98
+ };
99
+ const commit = (nextPath, closeAfterSelect) => {
100
+ if (!isControlled) setInner(nextPath);
101
+ onChange?.(nextPath, selectedOptionsForPath(nextPath));
102
+ if (closeAfterSelect) setOpen(false);
103
+ };
104
+ const pick = (depth, val, hasChildren) => {
105
+ const np = [...path.slice(0, depth), val];
106
+ setPath(np);
107
+ if (!hasChildren || changeOnSelect) commit(np, !hasChildren);
108
+ };
109
+ const clear = (e) => {
110
+ e.stopPropagation();
111
+ if (disabled) return;
112
+ setPath([]);
113
+ if (!isControlled) setInner([]);
114
+ onChange?.([], []);
115
+ onClear?.();
116
+ };
117
+ const labels = [];
118
+ let list = options;
119
+ for (const v of cur) {
120
+ const m = list.find((o) => o.value === v);
121
+ if (!m) break;
122
+ labels.push(m.label);
123
+ if (!m.children) break;
124
+ list = m.children;
125
+ }
126
+ const allPaths = React.useMemo(() => collectPaths(options), [options]);
127
+ const matchedPaths = React.useMemo(() => {
128
+ if (!query.trim()) return [];
129
+ const filter = searchConfig.filter ?? defaultSearchFilter;
130
+ const result = allPaths.filter((itemPath) => filter(query, itemPath));
131
+ const limit = searchConfig.limit === false ? result.length : searchConfig.limit ?? 50;
132
+ return result.slice(0, limit);
133
+ }, [allPaths, query, searchConfig.filter, searchConfig.limit]);
134
+ const panelClassName = [
135
+ "cascader-panel",
136
+ searchable && "with-search",
137
+ popupClassName,
138
+ dropdownClassName
139
+ ].filter(Boolean).join(" ");
140
+ return /* @__PURE__ */ jsxs("div", { ref: setTriggerRef, className: `cascader ${open ? "open" : ""} ${className}`, ...rest, children: [
141
+ /* @__PURE__ */ jsxs(
142
+ "button",
143
+ {
144
+ type: "button",
145
+ className: `cascader-trigger ${labels.length === 0 ? "placeholder" : ""}`,
146
+ disabled,
147
+ onClick: () => !disabled && setOpen((o) => !o),
148
+ children: [
149
+ /* @__PURE__ */ jsx("span", { style: { flex: 1 }, children: labels.length ? labels.map((l, i) => /* @__PURE__ */ jsxs("span", { children: [
150
+ i > 0 && " / ",
151
+ l
152
+ ] }, i)) : placeholder }),
153
+ !!allowClear && labels.length > 0 && !disabled && /* @__PURE__ */ jsx(
154
+ "span",
155
+ {
156
+ className: "cascader-clear",
157
+ role: "button",
158
+ "aria-label": "Clear",
159
+ onClick: clear,
160
+ children: /* @__PURE__ */ jsx(Icon, { name: "x", size: 12 })
161
+ }
162
+ ),
163
+ /* @__PURE__ */ jsx("span", { style: { position: "absolute", right: 12, color: "var(--fg-subtle)" }, children: /* @__PURE__ */ jsx(Icon, { name: "chevDown", size: 14 }) })
164
+ ]
165
+ }
166
+ ),
167
+ open && typeof document !== "undefined" && createPortal(
168
+ /* @__PURE__ */ jsxs("div", { ref: panelRef, className: panelClassName, style: floatingStyle, children: [
169
+ searchable && /* @__PURE__ */ jsx("div", { className: "cascader-search", children: /* @__PURE__ */ jsx(
170
+ Input,
171
+ {
172
+ ref: searchRef,
173
+ size: "sm",
174
+ leadingIcon: "search",
175
+ value: query,
176
+ onValueChange: setQuery,
177
+ placeholder: "\u641C\u7D22..."
178
+ }
179
+ ) }),
180
+ searchable && query.trim() ? /* @__PURE__ */ jsx("div", { className: "cascader-search-list", children: matchedPaths.length === 0 ? /* @__PURE__ */ jsx("div", { className: "cascader-empty", children: "\u6682\u65E0\u5339\u914D\u9879" }) : matchedPaths.map((itemPath) => /* @__PURE__ */ jsx(
181
+ "button",
182
+ {
183
+ type: "button",
184
+ className: "cascader-search-item",
185
+ onClick: () => commit(itemPath.map((item) => item.value), true),
186
+ children: searchConfig.render ? searchConfig.render(query, itemPath) : itemPath.map((item) => item.label).map((label, index) => /* @__PURE__ */ jsxs(React.Fragment, { children: [
187
+ index > 0 && /* @__PURE__ */ jsx("span", { className: "cascader-path-sep", children: "/" }),
188
+ /* @__PURE__ */ jsx("span", { children: label })
189
+ ] }, index))
190
+ },
191
+ itemPath.map((item) => item.value).join("__")
192
+ )) }) : /* @__PURE__ */ jsx("div", { className: "cascader-columns", children: columns.map((col, depth) => /* @__PURE__ */ jsx("div", { className: "cascader-col", children: col.map((o) => {
193
+ const isActive = path[depth] === o.value;
194
+ const hasChildren = !!(o.children && o.children.length);
195
+ return /* @__PURE__ */ jsxs(
196
+ "button",
197
+ {
198
+ type: "button",
199
+ className: `cascader-item ${isActive ? "active" : ""}`,
200
+ disabled: o.disabled,
201
+ onClick: () => pick(depth, o.value, hasChildren),
202
+ children: [
203
+ o.icon && /* @__PURE__ */ jsx(Icon, { name: o.icon, size: 13 }),
204
+ /* @__PURE__ */ jsx("span", { children: o.label }),
205
+ hasChildren && /* @__PURE__ */ jsx("span", { className: "chev", children: /* @__PURE__ */ jsx(Icon, { name: "chevRight", size: 12 }) })
206
+ ]
207
+ },
208
+ o.value
209
+ );
210
+ }) }, depth)) })
211
+ ] }),
212
+ document.body
213
+ )
214
+ ] });
215
+ });
216
+ Cascader.displayName = "Cascader";
217
+
218
+ export { Cascader };