@fangxinyan/lumina 0.6.18 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/dist/{Alert-HVPI6L4V.css → Alert-DJ3K7N7L.css} +9 -9
  2. package/dist/Alert.cjs +5 -3
  3. package/dist/Alert.d.cts +2 -2
  4. package/dist/Alert.d.ts +2 -2
  5. package/dist/Alert.js +4 -2
  6. package/dist/{AppShell-FZCD4C56.css → AppShell-OWJRJ4ZD.css} +57 -22
  7. package/dist/AppShell.cjs +8 -5
  8. package/dist/AppShell.d.cts +19 -16
  9. package/dist/AppShell.d.ts +19 -16
  10. package/dist/AppShell.js +4 -1
  11. package/dist/{AutoComplete-4YZBMW4E.css → AutoComplete-PNCYHU2T.css} +8 -8
  12. package/dist/AutoComplete.cjs +9 -6
  13. package/dist/AutoComplete.d.cts +2 -1
  14. package/dist/AutoComplete.d.ts +2 -1
  15. package/dist/AutoComplete.js +8 -5
  16. package/dist/Avatar-YBU2YZTW.css +48 -0
  17. package/dist/Avatar.cjs +4 -2
  18. package/dist/Avatar.d.cts +6 -2
  19. package/dist/Avatar.d.ts +6 -2
  20. package/dist/Avatar.js +3 -1
  21. package/dist/Badge-DBWJEV4C.css +22 -0
  22. package/dist/Badge.cjs +4 -2
  23. package/dist/Badge.d.cts +6 -2
  24. package/dist/Badge.d.ts +6 -2
  25. package/dist/Badge.js +3 -1
  26. package/dist/{Button-TUMZUQLI.css → Button-ILNZUX2N.css} +28 -21
  27. package/dist/Button.cjs +6 -4
  28. package/dist/Button.d.cts +2 -14
  29. package/dist/Button.d.ts +2 -14
  30. package/dist/Button.js +4 -2
  31. package/dist/{Calendar-I6NHCXIB.css → Calendar-QJ5HWEJQ.css} +26 -26
  32. package/dist/Calendar.cjs +5 -3
  33. package/dist/Calendar.d.cts +8 -4
  34. package/dist/Calendar.d.ts +8 -4
  35. package/dist/Calendar.js +4 -2
  36. package/dist/Card-VPMTWAWZ.css +98 -0
  37. package/dist/Card.cjs +7 -3
  38. package/dist/Card.d.cts +8 -4
  39. package/dist/Card.d.ts +8 -4
  40. package/dist/Card.js +6 -2
  41. package/dist/Cascader-YBVDK6DC.css +168 -0
  42. package/dist/Cascader.cjs +9 -6
  43. package/dist/Cascader.d.cts +21 -3
  44. package/dist/Cascader.d.ts +21 -3
  45. package/dist/Cascader.js +8 -5
  46. package/dist/Checkbox-IHFML4FV.css +50 -0
  47. package/dist/Checkbox.cjs +5 -3
  48. package/dist/Checkbox.d.cts +10 -2
  49. package/dist/Checkbox.d.ts +10 -2
  50. package/dist/Checkbox.js +4 -2
  51. package/dist/{Collapse-UNBHEPYP.css → Collapse-BTSBHBSY.css} +12 -7
  52. package/dist/Collapse.cjs +5 -3
  53. package/dist/Collapse.d.cts +2 -2
  54. package/dist/Collapse.d.ts +2 -2
  55. package/dist/Collapse.js +4 -2
  56. package/dist/{ColorPicker-LPG6QPYF.css → ColorPicker-GRZOKR5O.css} +17 -32
  57. package/dist/ColorPicker.cjs +9 -3
  58. package/dist/ColorPicker.d.cts +7 -11
  59. package/dist/ColorPicker.d.ts +7 -11
  60. package/dist/ColorPicker.js +8 -2
  61. package/dist/{CommandPalette-RTKWNH2D.css → CommandPalette-GHTX7AAA.css} +22 -23
  62. package/dist/CommandPalette.cjs +8 -5
  63. package/dist/CommandPalette.d.cts +5 -28
  64. package/dist/CommandPalette.d.ts +5 -28
  65. package/dist/CommandPalette.js +7 -4
  66. package/dist/{ContextMenu-WRR2SSWL.css → ContextMenu-NG524Y2P.css} +17 -17
  67. package/dist/ContextMenu.cjs +5 -2
  68. package/dist/ContextMenu.d.cts +2 -19
  69. package/dist/ContextMenu.d.ts +2 -19
  70. package/dist/ContextMenu.js +4 -1
  71. package/dist/{DatePicker-VDVSIARF.css → DatePicker-ZSFDXAYD.css} +4 -4
  72. package/dist/DatePicker.cjs +11 -8
  73. package/dist/DatePicker.d.cts +4 -7
  74. package/dist/DatePicker.d.ts +4 -7
  75. package/dist/DatePicker.js +10 -7
  76. package/dist/{DateTimePicker-DRX7XA74.css → DateTimePicker-EWSISVIF.css} +17 -17
  77. package/dist/DateTimePicker.cjs +11 -8
  78. package/dist/DateTimePicker.d.cts +4 -8
  79. package/dist/DateTimePicker.d.ts +4 -8
  80. package/dist/DateTimePicker.js +10 -7
  81. package/dist/{Divider-RPQCVH3J.css → Divider-OI2BXPBU.css} +10 -10
  82. package/dist/Divider.cjs +4 -2
  83. package/dist/Divider.d.cts +2 -2
  84. package/dist/Divider.d.ts +2 -2
  85. package/dist/Divider.js +3 -1
  86. package/dist/{Drawer-7KICRM4L.css → Drawer-VCXAXWV6.css} +30 -17
  87. package/dist/Drawer.cjs +6 -3
  88. package/dist/Drawer.d.cts +25 -3
  89. package/dist/Drawer.d.ts +25 -3
  90. package/dist/Drawer.js +5 -2
  91. package/dist/{Empty-CZTRZMZQ.css → Empty-U5CBLCAL.css} +5 -5
  92. package/dist/Empty.cjs +4 -2
  93. package/dist/Empty.d.cts +2 -2
  94. package/dist/Empty.d.ts +2 -2
  95. package/dist/Empty.js +3 -1
  96. package/dist/{Form-NGCQWTMZ.css → Form-DNEDZRJA.css} +7 -7
  97. package/dist/Form.cjs +7 -4
  98. package/dist/Form.d.cts +4 -3
  99. package/dist/Form.d.ts +4 -3
  100. package/dist/Form.js +4 -1
  101. package/dist/Icon-HJSUVW4O.css +12 -0
  102. package/dist/Icon.cjs +51 -49
  103. package/dist/Icon.d.cts +8 -8
  104. package/dist/Icon.d.ts +8 -8
  105. package/dist/Icon.js +3 -1
  106. package/dist/{Image-NISJRUWX.css → Image-CZJPPURT.css} +25 -23
  107. package/dist/Image.cjs +10 -7
  108. package/dist/Image.d.cts +5 -24
  109. package/dist/Image.d.ts +5 -24
  110. package/dist/Image.js +6 -3
  111. package/dist/{Input-7GDPGP3E.css → Input-ZUASNDXM.css} +15 -15
  112. package/dist/Input.cjs +7 -5
  113. package/dist/Input.d.cts +2 -1
  114. package/dist/Input.d.ts +2 -1
  115. package/dist/Input.js +5 -3
  116. package/dist/{InputNumber-VXQIWLQC.css → InputNumber-6NHBMRT4.css} +7 -7
  117. package/dist/InputNumber.cjs +7 -5
  118. package/dist/InputNumber.d.cts +2 -1
  119. package/dist/InputNumber.d.ts +2 -1
  120. package/dist/InputNumber.js +6 -4
  121. package/dist/List-6BQIFAIT.css +42 -0
  122. package/dist/List.cjs +4 -2
  123. package/dist/List.d.cts +2 -2
  124. package/dist/List.d.ts +2 -2
  125. package/dist/List.js +3 -1
  126. package/dist/{Message-H222YGR6.css → Message-OTZWQTQ5.css} +13 -13
  127. package/dist/Message.cjs +9 -6
  128. package/dist/Message.d.cts +18 -2
  129. package/dist/Message.d.ts +18 -2
  130. package/dist/Message.js +5 -2
  131. package/dist/{Modal-ZFWNFEA5.css → Modal-UI2FXNDR.css} +29 -18
  132. package/dist/Modal.cjs +7 -4
  133. package/dist/Modal.d.cts +13 -2
  134. package/dist/Modal.d.ts +13 -2
  135. package/dist/Modal.js +6 -3
  136. package/dist/Pagination-POJTWMYR.css +70 -0
  137. package/dist/Pagination.cjs +11 -8
  138. package/dist/Pagination.d.cts +2 -2
  139. package/dist/Pagination.d.ts +2 -2
  140. package/dist/Pagination.js +10 -7
  141. package/dist/{Popover-Y3LDCJPW.css → Popover-LCXLR3EU.css} +13 -14
  142. package/dist/Popover.cjs +6 -3
  143. package/dist/Popover.d.cts +3 -10
  144. package/dist/Popover.d.ts +3 -10
  145. package/dist/Popover.js +5 -2
  146. package/dist/Progress-33WE2NI7.css +90 -0
  147. package/dist/Progress.cjs +4 -2
  148. package/dist/Progress.d.cts +4 -2
  149. package/dist/Progress.d.ts +4 -2
  150. package/dist/Progress.js +3 -1
  151. package/dist/{Radio-IQKASYDF.css → Radio-RL7232MZ.css} +21 -13
  152. package/dist/Radio.cjs +5 -3
  153. package/dist/Radio.d.cts +18 -5
  154. package/dist/Radio.d.ts +18 -5
  155. package/dist/Radio.js +3 -1
  156. package/dist/{Select-YZ2NUJSX.css → Select-TU37MAHZ.css} +64 -40
  157. package/dist/Select.cjs +10 -7
  158. package/dist/Select.d.cts +28 -3
  159. package/dist/Select.d.ts +28 -3
  160. package/dist/Select.js +9 -6
  161. package/dist/{Skeleton-CVWH2VWN.css → Skeleton-FMFE3BRI.css} +9 -4
  162. package/dist/Skeleton.cjs +4 -2
  163. package/dist/Skeleton.d.cts +2 -4
  164. package/dist/Skeleton.d.ts +2 -4
  165. package/dist/Skeleton.js +3 -1
  166. package/dist/Slider-FZ5MI4X2.css +145 -0
  167. package/dist/Slider.cjs +4 -2
  168. package/dist/Slider.d.cts +6 -5
  169. package/dist/Slider.d.ts +6 -5
  170. package/dist/Slider.js +3 -1
  171. package/dist/{Spin-GONGPV4Q.css → Spin-F5YIEENO.css} +15 -9
  172. package/dist/Spin.cjs +4 -2
  173. package/dist/Spin.d.cts +2 -2
  174. package/dist/Spin.d.ts +2 -2
  175. package/dist/Spin.js +3 -1
  176. package/dist/{Splitter-DHNOY4NC.css → Splitter-IQ3PFIKK.css} +4 -4
  177. package/dist/Splitter.cjs +4 -2
  178. package/dist/Splitter.d.cts +18 -12
  179. package/dist/Splitter.d.ts +18 -12
  180. package/dist/Splitter.js +3 -1
  181. package/dist/{StatusBar-FJKEEPXU.css → StatusBar-TCGR3LXP.css} +23 -9
  182. package/dist/StatusBar.cjs +5 -3
  183. package/dist/StatusBar.d.cts +5 -17
  184. package/dist/StatusBar.d.ts +5 -17
  185. package/dist/StatusBar.js +3 -1
  186. package/dist/{Surface-UDDN3DGL.css → Surface-CTN775GD.css} +10 -10
  187. package/dist/Surface.cjs +6 -5
  188. package/dist/Surface.d.cts +10 -1
  189. package/dist/Surface.d.ts +10 -1
  190. package/dist/Surface.js +4 -3
  191. package/dist/{Switch-COAQIOMH.css → Switch-TATU3LPB.css} +16 -8
  192. package/dist/Switch.cjs +4 -2
  193. package/dist/Switch.d.cts +10 -4
  194. package/dist/Switch.d.ts +10 -4
  195. package/dist/Switch.js +3 -1
  196. package/dist/{Table-IWHIIGRJ.css → Table-KB6EEBDJ.css} +105 -53
  197. package/dist/Table.cjs +14 -10
  198. package/dist/Table.d.cts +38 -3
  199. package/dist/Table.d.ts +38 -3
  200. package/dist/Table.js +13 -9
  201. package/dist/{TablePro-3NGWERWT.css → TablePro-WYE6TXWJ.css} +5 -5
  202. package/dist/TablePro.cjs +15 -11
  203. package/dist/TablePro.d.cts +1 -0
  204. package/dist/TablePro.d.ts +1 -0
  205. package/dist/TablePro.js +14 -10
  206. package/dist/{Tabs-X5U5PCPV.css → Tabs-FB2AMBWL.css} +24 -10
  207. package/dist/Tabs.cjs +4 -2
  208. package/dist/Tabs.d.cts +8 -2
  209. package/dist/Tabs.d.ts +8 -2
  210. package/dist/Tabs.js +3 -1
  211. package/dist/Tag-5GIZLRAH.css +42 -0
  212. package/dist/Tag.cjs +5 -3
  213. package/dist/Tag.d.cts +2 -2
  214. package/dist/Tag.d.ts +2 -2
  215. package/dist/Tag.js +4 -2
  216. package/dist/{Textarea-YHWKHIFE.css → Textarea-ZGHBZNLX.css} +10 -10
  217. package/dist/Textarea.cjs +6 -4
  218. package/dist/Textarea.d.cts +2 -4
  219. package/dist/Textarea.d.ts +2 -4
  220. package/dist/Textarea.js +4 -2
  221. package/dist/Theme-CLedeJ_C.d.ts +193 -0
  222. package/dist/Theme-uQq2B0Yk.d.cts +193 -0
  223. package/dist/Theme.cjs +57 -11
  224. package/dist/Theme.d.cts +26 -145
  225. package/dist/Theme.d.ts +26 -145
  226. package/dist/Theme.js +3 -1
  227. package/dist/{ThemePanel-TEHB2JCQ.css → ThemePanel-EHNAS4RN.css} +52 -52
  228. package/dist/ThemePanel.cjs +17 -15
  229. package/dist/ThemePanel.d.cts +3 -13
  230. package/dist/ThemePanel.d.ts +3 -13
  231. package/dist/ThemePanel.js +14 -12
  232. package/dist/{TimePicker-ZBJOXH3U.css → TimePicker-WJ3FSK6A.css} +17 -17
  233. package/dist/TimePicker.cjs +10 -7
  234. package/dist/TimePicker.d.cts +2 -8
  235. package/dist/TimePicker.d.ts +2 -8
  236. package/dist/TimePicker.js +9 -6
  237. package/dist/{Timeline-CRFZ3I2W.css → Timeline-FUFO2UGY.css} +28 -13
  238. package/dist/Timeline.cjs +5 -3
  239. package/dist/Timeline.d.cts +2 -7
  240. package/dist/Timeline.d.ts +2 -7
  241. package/dist/Timeline.js +4 -2
  242. package/dist/{Tooltip-5FSPJWLX.css → Tooltip-2EUNTOTW.css} +3 -3
  243. package/dist/Tooltip.cjs +6 -3
  244. package/dist/Tooltip.d.cts +2 -2
  245. package/dist/Tooltip.d.ts +2 -2
  246. package/dist/Tooltip.js +5 -2
  247. package/dist/{Typography-32QQLD4F.css → Typography-CQ2OZXQH.css} +105 -42
  248. package/dist/Typography.cjs +11 -8
  249. package/dist/Typography.d.cts +12 -36
  250. package/dist/Typography.d.ts +12 -36
  251. package/dist/Typography.js +6 -3
  252. package/dist/chunk-2A4GYSN4.js +294 -0
  253. package/dist/{chunk-QMX67CVT.cjs → chunk-2AUXUZ3Z.cjs} +56 -31
  254. package/dist/chunk-2BIOTRQC.js +40 -0
  255. package/dist/{chunk-A6O25EP2.js → chunk-2HIN5NFM.js} +14 -6
  256. package/dist/{chunk-I7TOBKJO.js → chunk-3DKFS44V.js} +84 -23
  257. package/dist/{chunk-X5MYHDEQ.cjs → chunk-3EMWDDWK.cjs} +372 -117
  258. package/dist/chunk-3F424R5P.js +143 -0
  259. package/dist/chunk-3IZZBM56.js +269 -0
  260. package/dist/{chunk-DUFRASGO.js → chunk-3QXP2ZNP.js} +18 -23
  261. package/dist/{chunk-5QEI7GGA.cjs → chunk-434Y2JVW.cjs} +60 -27
  262. package/dist/{chunk-SOCYOUGM.js → chunk-4SKHRPDH.js} +168 -64
  263. package/dist/{chunk-R3DTXVP2.js → chunk-5AXNUX3J.js} +8 -5
  264. package/dist/chunk-5CZA33BK.cjs +229 -0
  265. package/dist/{chunk-6K5YI4ZE.js → chunk-62VV5COT.js} +16 -6
  266. package/dist/{chunk-2FOC3D6X.js → chunk-63RSKQID.js} +23 -7
  267. package/dist/chunk-6DKPJ5LV.cjs +294 -0
  268. package/dist/{chunk-OTSDPQPV.js → chunk-6RQJXSWN.js} +50 -30
  269. package/dist/{chunk-V5KUC5VH.cjs → chunk-77HU7JWK.cjs} +40 -13
  270. package/dist/chunk-7QAVPVMW.js +180 -0
  271. package/dist/chunk-7VLAHOA7.cjs +191 -0
  272. package/dist/chunk-ALAG4ZUH.js +72 -0
  273. package/dist/chunk-ARUN2DMD.js +39 -0
  274. package/dist/chunk-AUO2YYHB.js +248 -0
  275. package/dist/{chunk-6MEOLYNQ.js → chunk-AURYNA6G.js} +6 -5
  276. package/dist/chunk-BIPOXOHP.cjs +287 -0
  277. package/dist/{chunk-BVQOJKRX.js → chunk-BKW5PXEO.js} +115 -72
  278. package/dist/chunk-DRDDQCDD.js +322 -0
  279. package/dist/chunk-DU2DSERH.js +190 -0
  280. package/dist/chunk-DURKCGEM.js +496 -0
  281. package/dist/{chunk-PSQ3HNZP.cjs → chunk-E66PSVBU.cjs} +106 -19
  282. package/dist/chunk-EAUB6FEN.js +262 -0
  283. package/dist/chunk-EE5KXDRK.cjs +1223 -0
  284. package/dist/chunk-EE7IJ3MB.js +1 -0
  285. package/dist/chunk-EUTK2ZRJ.cjs +61 -0
  286. package/dist/{chunk-HSAJUEO7.cjs → chunk-F7WUCOBP.cjs} +150 -86
  287. package/dist/{chunk-YB3IWIOJ.cjs → chunk-FJB3243S.cjs} +18 -23
  288. package/dist/chunk-FKCPSVC4.cjs +188 -0
  289. package/dist/chunk-FMUHLIHB.cjs +94 -0
  290. package/dist/chunk-FY73C7JK.js +520 -0
  291. package/dist/{chunk-6EOSMK34.cjs → chunk-G5LCOBOT.cjs} +20 -1
  292. package/dist/{chunk-5ERD3W24.cjs → chunk-GFKWSDD6.cjs} +18 -8
  293. package/dist/{chunk-T2O4DTDE.cjs → chunk-GTFP7HA3.cjs} +58 -32
  294. package/dist/chunk-HQFKXTX6.js +60 -0
  295. package/dist/{chunk-V5SQOZPF.js → chunk-HQNDVNTQ.js} +38 -20
  296. package/dist/chunk-HSDMJUB6.cjs +319 -0
  297. package/dist/chunk-HVPUGYBY.js +166 -0
  298. package/dist/chunk-HYHBCHFM.cjs +167 -0
  299. package/dist/chunk-HYJSMFZA.cjs +2 -0
  300. package/dist/chunk-I4YPBAQ5.js +163 -0
  301. package/dist/chunk-IJDM2U3B.js +100 -0
  302. package/dist/chunk-J5UEQ3ZQ.js +226 -0
  303. package/dist/chunk-JBS353O4.cjs +248 -0
  304. package/dist/{chunk-IPSNC5VZ.js → chunk-JHM7MN3G.js} +15 -7
  305. package/dist/{chunk-6Q76VLCE.cjs → chunk-JKUXA3U6.cjs} +50 -30
  306. package/dist/{chunk-D7GK6H6V.js → chunk-K5HGHOG7.js} +50 -21
  307. package/dist/chunk-KATJAJUU.js +78 -0
  308. package/dist/chunk-KCDOC3HS.cjs +100 -0
  309. package/dist/{chunk-M4NJTJKV.cjs → chunk-LDX6Q6RK.cjs} +8 -5
  310. package/dist/chunk-LEDESWNL.js +83 -0
  311. package/dist/chunk-LG62MPMU.cjs +213 -0
  312. package/dist/{chunk-7NTTRKNT.js → chunk-LJVQQEME.js} +54 -28
  313. package/dist/{chunk-FDZG27IG.js → chunk-LQMOYVQF.js} +57 -32
  314. package/dist/{chunk-P2OQTJZP.cjs → chunk-MCDW3VKZ.cjs} +17 -6
  315. package/dist/{chunk-BT2RXFT4.cjs → chunk-MUZQWIMR.cjs} +121 -78
  316. package/dist/chunk-NRJXZPZR.cjs +351 -0
  317. package/dist/chunk-O6G3F5L4.js +311 -0
  318. package/dist/{chunk-3VSHGM54.js → chunk-OLYSSZHP.js} +126 -68
  319. package/dist/{chunk-A4Z7PLHV.cjs → chunk-PIJV2FHO.cjs} +135 -77
  320. package/dist/{chunk-L6GIV5DQ.cjs → chunk-PJFYIXBX.cjs} +40 -22
  321. package/dist/{chunk-NXBFEIUX.cjs → chunk-PNKNZREC.cjs} +266 -130
  322. package/dist/{chunk-FYSXJXNW.js → chunk-PQOBBASY.js} +10 -9
  323. package/dist/chunk-Q565GDVK.cjs +205 -0
  324. package/dist/{chunk-FDUQPAQE.cjs → chunk-Q5HLC56A.cjs} +122 -28
  325. package/dist/chunk-QDCPVI3S.cjs +333 -0
  326. package/dist/{chunk-ZR4IMROK.js → chunk-QDMFXRPI.js} +122 -28
  327. package/dist/chunk-QDY56GGO.js +234 -0
  328. package/dist/{chunk-4KDABJSY.cjs → chunk-QNQSNVCU.cjs} +86 -25
  329. package/dist/chunk-QYPA77OI.cjs +55 -0
  330. package/dist/{chunk-BW76ENTW.cjs → chunk-RERMZNF3.cjs} +10 -9
  331. package/dist/chunk-RMGFRAZ2.cjs +270 -0
  332. package/dist/chunk-RPO7657K.js +228 -0
  333. package/dist/chunk-RR7KWH26.cjs +122 -0
  334. package/dist/chunk-SF7BPXDJ.cjs +518 -0
  335. package/dist/chunk-STQDKMS5.cjs +288 -0
  336. package/dist/{chunk-HG6YS4I7.js → chunk-SXLRWYQQ.js} +71 -24
  337. package/dist/{chunk-SW2HMNCA.cjs → chunk-T4RR6NVU.cjs} +17 -9
  338. package/dist/{chunk-6SPMHY54.js → chunk-TSL3F2K3.js} +20 -2
  339. package/dist/{chunk-BNY2NVTL.cjs → chunk-TYZ6L7E6.cjs} +48 -28
  340. package/dist/{chunk-MOZ52KN6.js → chunk-U3SG2YT2.js} +39 -12
  341. package/dist/{chunk-POU3W5J3.cjs → chunk-U5YYOOLC.cjs} +13 -6
  342. package/dist/chunk-UE4HFGJ6.js +264 -0
  343. package/dist/chunk-ULTDRMGN.js +1175 -0
  344. package/dist/{chunk-6HF6UF73.js → chunk-UQI4R32R.js} +368 -113
  345. package/dist/{chunk-MWEHU7YO.cjs → chunk-VA3JWOAB.cjs} +172 -68
  346. package/dist/chunk-VQEMMJHC.js +33 -0
  347. package/dist/{chunk-S2ZGXBUH.cjs → chunk-VVRXNGYL.cjs} +218 -42
  348. package/dist/{chunk-JMFHL7GN.cjs → chunk-VX6MZO4K.cjs} +100 -22
  349. package/dist/{chunk-4ACCOYBY.cjs → chunk-WHBKQZU5.cjs} +24 -8
  350. package/dist/{chunk-UGAN4BBW.js → chunk-WMISXERU.js} +262 -126
  351. package/dist/{chunk-MYW7LNB2.cjs → chunk-WROF2PVG.cjs} +40 -21
  352. package/dist/{chunk-5VOUUQF5.js → chunk-Y22PTPA7.js} +145 -81
  353. package/dist/chunk-Y2MT6PI6.js +207 -0
  354. package/dist/chunk-YAYSXZZZ.cjs +82 -0
  355. package/dist/{chunk-6LN4VVX7.js → chunk-YBGMTQ2V.js} +48 -28
  356. package/dist/{chunk-TYLDISRK.js → chunk-YKHIIC7M.js} +13 -6
  357. package/dist/{chunk-3VXGZ3SJ.js → chunk-YPMQC5HX.js} +57 -24
  358. package/dist/{chunk-UWL6DRZW.cjs → chunk-YUJ7Z6N2.cjs} +74 -27
  359. package/dist/{chunk-LEMMFFEY.cjs → chunk-ZEYK37VW.cjs} +15 -7
  360. package/dist/{chunk-ES7AWMNH.cjs → chunk-ZHVR4YPB.cjs} +6 -5
  361. package/dist/{chunk-MPOO5VPW.cjs → chunk-ZYIE3BH7.cjs} +50 -21
  362. package/dist/componentThemeTypes-Jt4B5aU8.d.cts +77 -0
  363. package/dist/componentThemeTypes-Jt4B5aU8.d.ts +77 -0
  364. package/dist/index.cjs +253 -206
  365. package/dist/index.d.cts +11 -9
  366. package/dist/index.d.ts +11 -9
  367. package/dist/index.js +56 -53
  368. package/dist/styles.css +1663 -695
  369. package/dist/{tokens-RYJ3DFTU.css → tokens-CEJVVA3G.css} +10 -0
  370. package/dist/tokens.css +10 -0
  371. package/docs/llms/appshell.md +9 -6
  372. package/docs/llms/autocomplete.md +8 -2
  373. package/docs/llms/avatar.md +2 -0
  374. package/docs/llms/badge.md +2 -0
  375. package/docs/llms/calendar.md +7 -2
  376. package/docs/llms/card.md +20 -1
  377. package/docs/llms/cascader.md +27 -5
  378. package/docs/llms/checkbox.md +13 -0
  379. package/docs/llms/collapse.md +13 -5
  380. package/docs/llms/colorpicker.md +4 -3
  381. package/docs/llms/commandpalette.md +10 -2
  382. package/docs/llms/contextmenu.md +14 -2
  383. package/docs/llms/datepicker.md +7 -0
  384. package/docs/llms/datetimepicker.md +7 -0
  385. package/docs/llms/drawer.md +27 -4
  386. package/docs/llms/form.md +5 -2
  387. package/docs/llms/icon.md +25 -1
  388. package/docs/llms/image.md +3 -3
  389. package/docs/llms/list.md +11 -0
  390. package/docs/llms/message.md +31 -8
  391. package/docs/llms/modal.md +20 -8
  392. package/docs/llms/pagination.md +12 -4
  393. package/docs/llms/popover.md +11 -1
  394. package/docs/llms/progress.md +1 -0
  395. package/docs/llms/radio.md +13 -0
  396. package/docs/llms/select.md +48 -2
  397. package/docs/llms/sidebar.md +24 -0
  398. package/docs/llms/slider.md +5 -2
  399. package/docs/llms/splitter.md +17 -3
  400. package/docs/llms/switch.md +13 -0
  401. package/docs/llms/table.md +7 -8
  402. package/docs/llms/tablepro.md +23 -1
  403. package/docs/llms/tabs.md +21 -0
  404. package/docs/llms/theme.md +83 -28
  405. package/docs/llms/themepanel.md +1 -0
  406. package/docs/llms/titlebar.md +1 -0
  407. package/docs/llms/tooltip.md +7 -2
  408. package/docs/llms/typography.md +27 -3
  409. package/docs/llms/windowcontrols.md +11 -3
  410. package/docs/llms.md +2 -2
  411. package/package.json +212 -2
  412. package/dist/Avatar-TNPOHVY5.css +0 -40
  413. package/dist/Badge-DPGLV3D3.css +0 -22
  414. package/dist/Card-W3ATFUJW.css +0 -77
  415. package/dist/Cascader-ANEQUPMI.css +0 -150
  416. package/dist/Checkbox-EDNPZRIP.css +0 -42
  417. package/dist/List-LSMU5QAC.css +0 -26
  418. package/dist/Pagination-YSZSNFHG.css +0 -68
  419. package/dist/Progress-CZNXCYGW.css +0 -80
  420. package/dist/Slider-UM2IZZBH.css +0 -127
  421. package/dist/Tag-G2XWAL7A.css +0 -42
  422. package/dist/chunk-262ED6WQ.cjs +0 -88
  423. package/dist/chunk-4HJBF4GY.js +0 -218
  424. package/dist/chunk-4TTRHEGM.cjs +0 -217
  425. package/dist/chunk-5A6KSYWA.cjs +0 -67
  426. package/dist/chunk-5MOYKVB7.js +0 -192
  427. package/dist/chunk-7IO3EOHN.cjs +0 -200
  428. package/dist/chunk-7QXP6DXC.cjs +0 -129
  429. package/dist/chunk-AAPZLBHQ.js +0 -165
  430. package/dist/chunk-ARUPS7JH.js +0 -66
  431. package/dist/chunk-ATUPFAPZ.cjs +0 -76
  432. package/dist/chunk-CFZVWY5N.js +0 -178
  433. package/dist/chunk-DSLYWX4O.js +0 -25
  434. package/dist/chunk-E22OIVYP.js +0 -349
  435. package/dist/chunk-FQJY4D3T.cjs +0 -47
  436. package/dist/chunk-GNV6W4BN.js +0 -495
  437. package/dist/chunk-HBO7ZDEQ.js +0 -29
  438. package/dist/chunk-I777JTTG.js +0 -150
  439. package/dist/chunk-IOAOG5L7.js +0 -191
  440. package/dist/chunk-IOUAZYK2.cjs +0 -116
  441. package/dist/chunk-IZHH6CVY.js +0 -123
  442. package/dist/chunk-JFL2WMJZ.js +0 -106
  443. package/dist/chunk-KMPFESEV.js +0 -41
  444. package/dist/chunk-KYV75JPQ.js +0 -147
  445. package/dist/chunk-N7OQNSII.cjs +0 -145
  446. package/dist/chunk-P64NPZBG.js +0 -113
  447. package/dist/chunk-PKNRTFNE.cjs +0 -526
  448. package/dist/chunk-PU7VXDAS.js +0 -64
  449. package/dist/chunk-RFI5R42I.cjs +0 -138
  450. package/dist/chunk-RR2BKV65.js +0 -39
  451. package/dist/chunk-RSSOX4RQ.cjs +0 -240
  452. package/dist/chunk-RZEFKXL3.cjs +0 -104
  453. package/dist/chunk-S7IHWY24.js +0 -81
  454. package/dist/chunk-SOQ56ZI2.cjs +0 -49
  455. package/dist/chunk-TBNPJPYG.cjs +0 -61
  456. package/dist/chunk-TJECLLN4.js +0 -344
  457. package/dist/chunk-ULUD3FED.cjs +0 -138
  458. package/dist/chunk-UW57F3UO.cjs +0 -371
  459. package/dist/chunk-VA2I7ZAL.cjs +0 -190
  460. package/dist/chunk-VS3I5OKA.cjs +0 -214
  461. package/dist/chunk-WMGMIE2D.js +0 -113
  462. package/dist/chunk-X7XP6GEI.cjs +0 -63
  463. package/dist/chunk-XCXUGHDF.js +0 -91
  464. package/dist/chunk-YAFDVNXT.js +0 -27
  465. package/dist/chunk-ZD3L4V3H.js +0 -54
  466. package/dist/chunk-ZTCRD2FL.js +0 -45
package/dist/Progress.cjs CHANGED
@@ -1,10 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkX7XP6GEI_cjs = require('./chunk-X7XP6GEI.cjs');
3
+ var chunkYAYSXZZZ_cjs = require('./chunk-YAYSXZZZ.cjs');
4
+ require('./chunk-NRJXZPZR.cjs');
5
+ require('./chunk-EE5KXDRK.cjs');
4
6
 
5
7
 
6
8
 
7
9
  Object.defineProperty(exports, "Progress", {
8
10
  enumerable: true,
9
- get: function () { return chunkX7XP6GEI_cjs.Progress; }
11
+ get: function () { return chunkYAYSXZZZ_cjs.Progress; }
10
12
  });
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
+ import { f as ComponentThemeProps } from './componentThemeTypes-Jt4B5aU8.cjs';
2
3
 
3
- interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ interface ProgressProps extends React.HTMLAttributes<HTMLDivElement>, ComponentThemeProps {
4
5
  /** 0–100 */
5
6
  value: number;
6
7
  max?: number;
@@ -10,9 +11,10 @@ interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {
10
11
  /** Custom fill color. Overrides `tone`. */
11
12
  color?: string;
12
13
  size?: "sm" | "md" | "lg";
14
+ /** 不确定进度;隐藏具体数值并显示循环动画。 */
15
+ indeterminate?: boolean;
13
16
  className?: string;
14
17
  }
15
- /** `Progress` — horizontal progress bar with neumorphic track. */
16
18
  declare const Progress: React.ForwardRefExoticComponent<ProgressProps & React.RefAttributes<HTMLDivElement>>;
17
19
 
18
20
  export { Progress, type ProgressProps };
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
+ import { f as ComponentThemeProps } from './componentThemeTypes-Jt4B5aU8.js';
2
3
 
3
- interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ interface ProgressProps extends React.HTMLAttributes<HTMLDivElement>, ComponentThemeProps {
4
5
  /** 0–100 */
5
6
  value: number;
6
7
  max?: number;
@@ -10,9 +11,10 @@ interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {
10
11
  /** Custom fill color. Overrides `tone`. */
11
12
  color?: string;
12
13
  size?: "sm" | "md" | "lg";
14
+ /** 不确定进度;隐藏具体数值并显示循环动画。 */
15
+ indeterminate?: boolean;
13
16
  className?: string;
14
17
  }
15
- /** `Progress` — horizontal progress bar with neumorphic track. */
16
18
  declare const Progress: React.ForwardRefExoticComponent<ProgressProps & React.RefAttributes<HTMLDivElement>>;
17
19
 
18
20
  export { Progress, type ProgressProps };
package/dist/Progress.js CHANGED
@@ -1 +1,3 @@
1
- export { Progress } from './chunk-KMPFESEV.js';
1
+ export { Progress } from './chunk-HQFKXTX6.js';
2
+ import './chunk-DRDDQCDD.js';
3
+ import './chunk-ULTDRMGN.js';
@@ -6,25 +6,33 @@
6
6
  cursor: pointer;
7
7
  user-select: none;
8
8
  font-size: 13px;
9
- color: var(--fg);
9
+ color: var(--lmn-radio-fg, var(--fg));
10
10
  }
11
11
  .radio.disabled { opacity: 0.5; cursor: not-allowed; }
12
+ .radio-native {
13
+ position: absolute;
14
+ width: 1px;
15
+ height: 1px;
16
+ opacity: 0;
17
+ pointer-events: none;
18
+ }
19
+ .radio:focus-within .radio-dot { outline: 2px solid var(--lmn-radio-accent, var(--accent)); outline-offset: 2px; }
12
20
 
13
21
  .radio-dot {
14
22
  width: 20px; height: 20px;
15
23
  border: none;
16
24
  padding: 0;
17
25
  border-radius: 999px;
18
- background: var(--bg);
19
- box-shadow: var(--neu-shadow-inset);
26
+ background: var(--lmn-radio-bg, var(--bg));
27
+ box-shadow: var(--lmn-radio-neu-shadow-inset, var(--neu-shadow-inset));
20
28
  cursor: inherit;
21
29
  position: relative;
22
30
  flex-shrink: 0;
23
31
  transition: all var(--dur) var(--ease);
24
32
  }
25
33
  .radio.checked .radio-dot {
26
- background: var(--accent);
27
- box-shadow: var(--neu-shadow-control), 0 2px 8px var(--accent-glow);
34
+ background: var(--lmn-radio-accent, var(--accent));
35
+ box-shadow: var(--lmn-radio-neu-shadow-control, var(--neu-shadow-control)), 0 2px 8px var(--lmn-radio-accent-glow, var(--accent-glow));
28
36
  }
29
37
  .radio.checked .radio-dot::after {
30
38
  content: "";
@@ -33,7 +41,7 @@
33
41
  transform: translate(-50%, -50%);
34
42
  width: 8px; height: 8px;
35
43
  border-radius: 999px;
36
- background: var(--bg);
44
+ background: var(--lmn-radio-bg, var(--bg));
37
45
  }
38
46
 
39
47
  .radio-group { display: flex; gap: 14px; }
@@ -45,8 +53,8 @@
45
53
  display: inline-flex;
46
54
  padding: 4px;
47
55
  border-radius: var(--r-md);
48
- background: var(--bg);
49
- box-shadow: var(--neu-shadow-inset);
56
+ background: var(--lmn-radio-bg, var(--bg));
57
+ box-shadow: var(--lmn-radio-neu-shadow-inset, var(--neu-shadow-inset));
50
58
  gap: 2px;
51
59
  flex-wrap: nowrap;
52
60
  }
@@ -57,15 +65,15 @@
57
65
  height: 32px;
58
66
  padding: 6px 14px;
59
67
  border-radius: calc(var(--r-md) - 4px);
60
- color: var(--fg-muted);
68
+ color: var(--lmn-radio-fg-muted, var(--fg-muted));
61
69
  font-size: 12px;
62
70
  gap: 6px;
63
71
  transition: all var(--dur-fast) var(--ease);
64
72
  }
65
73
 
66
- .radio-group.segmented .radio:hover { color: var(--fg); }
74
+ .radio-group.segmented .radio:hover { color: var(--lmn-radio-fg, var(--fg)); }
67
75
  .radio-group.segmented .radio.checked {
68
- color: var(--accent-ink);
76
+ color: var(--lmn-radio-accent-ink, var(--accent-ink));
69
77
  font-weight: 600;
70
78
  }
71
79
  .radio-group.segmented .radio-dot { display: none; }
@@ -80,8 +88,8 @@
80
88
  bottom: 4px;
81
89
  left: 0;
82
90
  border-radius: calc(var(--r-md) - 4px);
83
- background: var(--bg);
84
- box-shadow: var(--neu-shadow-control);
91
+ background: var(--lmn-radio-bg, var(--bg));
92
+ box-shadow: var(--lmn-radio-neu-shadow-control, var(--neu-shadow-control));
85
93
  pointer-events: none;
86
94
  transition:
87
95
  transform var(--dur-slow) var(--ease),
package/dist/Radio.cjs CHANGED
@@ -1,14 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkPSQ3HNZP_cjs = require('./chunk-PSQ3HNZP.cjs');
3
+ var chunkE66PSVBU_cjs = require('./chunk-E66PSVBU.cjs');
4
+ require('./chunk-NRJXZPZR.cjs');
5
+ require('./chunk-EE5KXDRK.cjs');
4
6
 
5
7
 
6
8
 
7
9
  Object.defineProperty(exports, "Radio", {
8
10
  enumerable: true,
9
- get: function () { return chunkPSQ3HNZP_cjs.Radio; }
11
+ get: function () { return chunkE66PSVBU_cjs.Radio; }
10
12
  });
11
13
  Object.defineProperty(exports, "RadioGroup", {
12
14
  enumerable: true,
13
- get: function () { return chunkPSQ3HNZP_cjs.RadioGroup; }
15
+ get: function () { return chunkE66PSVBU_cjs.RadioGroup; }
14
16
  });
package/dist/Radio.d.cts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
+ import { f as ComponentThemeProps } from './componentThemeTypes-Jt4B5aU8.cjs';
2
3
 
3
- interface RadioProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "onChange" | "children" | "id"> {
4
+ interface RadioProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "onChange" | "children" | "id">, ComponentThemeProps {
4
5
  checked?: boolean;
5
6
  defaultChecked?: boolean;
6
7
  onChange?: (checked: boolean) => void;
@@ -8,28 +9,40 @@ interface RadioProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "
8
9
  label?: React.ReactNode;
9
10
  className?: string;
10
11
  id?: string;
12
+ /** 原生单选分组名;同一文档中同名非受控 Radio 会保持互斥。 */
13
+ name?: string;
14
+ /** 提交原生表单时使用的字段值。 */
15
+ value?: string | number;
16
+ /** 是否要求该单选分组至少选中一项。 */
17
+ required?: boolean;
18
+ /** 关联的原生 form 元素 id。 */
19
+ form?: string;
11
20
  }
12
- declare const RadioRoot: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLLabelElement>>;
21
+ declare const ThemedRadio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLLabelElement>>;
13
22
  interface RadioOption<T extends string | number = string> {
14
23
  value: T;
15
24
  label: React.ReactNode;
16
25
  disabled?: boolean;
17
26
  }
18
- interface RadioGroupProps<T extends string | number = string> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
27
+ interface RadioGroupProps<T extends string | number = string> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue">, ComponentThemeProps {
19
28
  options: RadioOption<T>[];
20
29
  value?: T;
21
30
  defaultValue?: T;
22
31
  onChange?: (value: T) => void;
32
+ /** 原生单选分组名;省略时自动生成稳定名称。 */
23
33
  name?: string;
34
+ /** 是否要求该组选中一项。 */
35
+ required?: boolean;
36
+ /** 关联的原生 form 元素 id。 */
37
+ form?: string;
24
38
  direction?: "vertical" | "horizontal";
25
39
  variant?: "default" | "segmented";
26
40
  size?: "sm" | "md" | "lg";
27
41
  className?: string;
28
42
  }
29
43
  type RadioGroupComponent = <T extends string | number = string>(props: RadioGroupProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
30
- /** `RadioGroup` — mutually exclusive options. */
31
44
  declare const RadioGroup: RadioGroupComponent;
32
- declare const Radio: typeof RadioRoot & {
45
+ declare const Radio: typeof ThemedRadio & {
33
46
  Group: typeof RadioGroup;
34
47
  };
35
48
 
package/dist/Radio.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
+ import { f as ComponentThemeProps } from './componentThemeTypes-Jt4B5aU8.js';
2
3
 
3
- interface RadioProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "onChange" | "children" | "id"> {
4
+ interface RadioProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "onChange" | "children" | "id">, ComponentThemeProps {
4
5
  checked?: boolean;
5
6
  defaultChecked?: boolean;
6
7
  onChange?: (checked: boolean) => void;
@@ -8,28 +9,40 @@ interface RadioProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "
8
9
  label?: React.ReactNode;
9
10
  className?: string;
10
11
  id?: string;
12
+ /** 原生单选分组名;同一文档中同名非受控 Radio 会保持互斥。 */
13
+ name?: string;
14
+ /** 提交原生表单时使用的字段值。 */
15
+ value?: string | number;
16
+ /** 是否要求该单选分组至少选中一项。 */
17
+ required?: boolean;
18
+ /** 关联的原生 form 元素 id。 */
19
+ form?: string;
11
20
  }
12
- declare const RadioRoot: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLLabelElement>>;
21
+ declare const ThemedRadio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLLabelElement>>;
13
22
  interface RadioOption<T extends string | number = string> {
14
23
  value: T;
15
24
  label: React.ReactNode;
16
25
  disabled?: boolean;
17
26
  }
18
- interface RadioGroupProps<T extends string | number = string> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
27
+ interface RadioGroupProps<T extends string | number = string> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue">, ComponentThemeProps {
19
28
  options: RadioOption<T>[];
20
29
  value?: T;
21
30
  defaultValue?: T;
22
31
  onChange?: (value: T) => void;
32
+ /** 原生单选分组名;省略时自动生成稳定名称。 */
23
33
  name?: string;
34
+ /** 是否要求该组选中一项。 */
35
+ required?: boolean;
36
+ /** 关联的原生 form 元素 id。 */
37
+ form?: string;
24
38
  direction?: "vertical" | "horizontal";
25
39
  variant?: "default" | "segmented";
26
40
  size?: "sm" | "md" | "lg";
27
41
  className?: string;
28
42
  }
29
43
  type RadioGroupComponent = <T extends string | number = string>(props: RadioGroupProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
30
- /** `RadioGroup` — mutually exclusive options. */
31
44
  declare const RadioGroup: RadioGroupComponent;
32
- declare const Radio: typeof RadioRoot & {
45
+ declare const Radio: typeof ThemedRadio & {
33
46
  Group: typeof RadioGroup;
34
47
  };
35
48
 
package/dist/Radio.js CHANGED
@@ -1 +1,3 @@
1
- export { Radio, RadioGroup } from './chunk-KYV75JPQ.js';
1
+ export { Radio, RadioGroup } from './chunk-QDY56GGO.js';
2
+ import './chunk-DRDDQCDD.js';
3
+ import './chunk-ULTDRMGN.js';
@@ -13,14 +13,14 @@
13
13
  padding: 0 36px 0 var(--ctrl-pad-x);
14
14
  border: none;
15
15
  border-radius: var(--r-md);
16
- background: var(--bg);
17
- box-shadow: var(--neu-shadow-control);
16
+ background: var(--lmn-select-bg, var(--bg));
17
+ box-shadow: var(--lmn-select-neu-shadow-control, var(--neu-shadow-control));
18
18
  display: inline-flex;
19
19
  align-items: center;
20
20
  gap: 8px;
21
21
  font-size: var(--fs-md);
22
22
  font-family: inherit;
23
- color: var(--fg);
23
+ color: var(--lmn-select-fg, var(--fg));
24
24
  cursor: pointer;
25
25
  transition: all var(--dur-fast) var(--ease);
26
26
  position: relative;
@@ -64,25 +64,25 @@
64
64
  height: 18px;
65
65
  }
66
66
  .select.invalid .select-trigger {
67
- box-shadow: var(--neu-shadow-control), 0 0 0 2px color-mix(in oklch, var(--danger) 30%, transparent);
67
+ box-shadow: var(--lmn-select-neu-shadow-control, var(--neu-shadow-control)), 0 0 0 2px color-mix(in oklch, var(--lmn-select-danger, var(--danger)) 30%, transparent);
68
68
  }
69
69
  .select.invalid.open .select-trigger {
70
- box-shadow: var(--neu-shadow-inset), 0 0 0 2px color-mix(in oklch, var(--danger) 30%, transparent);
70
+ box-shadow: var(--lmn-select-neu-shadow-inset, var(--neu-shadow-inset)), 0 0 0 2px color-mix(in oklch, var(--lmn-select-danger, var(--danger)) 30%, transparent);
71
71
  }
72
72
  .select.sm .select-trigger { height: var(--ctrl-h-sm); padding: 0 32px 0 var(--ctrl-pad-x-sm); font-size: var(--fs-sm); border-radius: var(--r-sm); }
73
73
  .select.lg .select-trigger { height: var(--field-h-lg); padding: 0 36px 0 var(--ctrl-pad-x); font-size: var(--fs-lg); border-radius: var(--r-lg); }
74
- .select-trigger:hover { color: var(--accent-ink); }
75
- .select.open .select-trigger { box-shadow: var(--neu-shadow-inset); color: var(--accent-ink); }
76
- .select-trigger .placeholder { color: var(--fg-subtle); }
74
+ .select-trigger:hover { color: var(--lmn-select-accent-ink, var(--accent-ink)); }
75
+ .select.open .select-trigger { box-shadow: var(--lmn-select-neu-shadow-inset, var(--neu-shadow-inset)); color: var(--lmn-select-accent-ink, var(--accent-ink)); }
76
+ .select-trigger .placeholder { color: var(--lmn-select-fg-subtle, var(--fg-subtle)); }
77
77
  .select-caret {
78
78
  position: absolute;
79
79
  right: 12px; top: 50%;
80
80
  transform: translateY(-50%);
81
- color: var(--fg-subtle);
81
+ color: var(--lmn-select-fg-subtle, var(--fg-subtle));
82
82
  transition: transform var(--dur) var(--ease);
83
83
  flex-shrink: 0;
84
84
  }
85
- .select.open .select-caret { transform: translateY(-50%) rotate(180deg); color: var(--accent); }
85
+ .select.open .select-caret { transform: translateY(-50%) rotate(180deg); color: var(--lmn-select-accent, var(--accent)); }
86
86
 
87
87
  /* Multi-select trigger: variable height, tags inside, vertically centered */
88
88
  .select.multi .select-trigger {
@@ -120,26 +120,29 @@
120
120
  width: 20px;
121
121
  height: 20px;
122
122
  border-radius: 999px;
123
- background: var(--bg);
124
- box-shadow: var(--neu-shadow-control);
123
+ background: var(--lmn-select-bg, var(--bg));
124
+ border: none;
125
+ padding: 0;
126
+ font: inherit;
127
+ box-shadow: var(--lmn-select-neu-shadow-control, var(--neu-shadow-control));
125
128
  display: inline-grid;
126
129
  place-items: center;
127
130
  cursor: pointer;
128
- color: var(--fg-subtle);
131
+ color: var(--lmn-select-fg-subtle, var(--fg-subtle));
129
132
  opacity: 0;
130
133
  transition: all var(--dur-fast) var(--ease);
131
134
  z-index: 1;
132
135
  }
133
136
  .select:hover .select-clear { opacity: 1; }
134
- .select-clear:hover { color: var(--accent-ink); box-shadow: var(--neu-shadow-inset); }
137
+ .select-clear:hover { color: var(--lmn-select-accent-ink, var(--accent-ink)); box-shadow: var(--lmn-select-neu-shadow-inset, var(--neu-shadow-inset)); }
135
138
 
136
139
  /* Multi-select menu: leading checkbox per item */
137
140
  .menu-check {
138
141
  width: 16px;
139
142
  height: 16px;
140
143
  border-radius: 5px;
141
- background: var(--bg);
142
- box-shadow: var(--neu-shadow-inset);
144
+ background: var(--lmn-select-bg, var(--bg));
145
+ box-shadow: var(--lmn-select-neu-shadow-inset, var(--neu-shadow-inset));
143
146
  display: inline-grid;
144
147
  place-items: center;
145
148
  flex-shrink: 0;
@@ -147,8 +150,8 @@
147
150
  transition: all var(--dur-fast) var(--ease);
148
151
  }
149
152
  .menu-check.on {
150
- background: var(--accent);
151
- box-shadow: var(--neu-shadow-control), 0 1px 4px var(--accent-glow);
153
+ background: var(--lmn-select-accent, var(--accent));
154
+ box-shadow: var(--lmn-select-neu-shadow-control, var(--neu-shadow-control)), 0 1px 4px var(--lmn-select-accent-glow, var(--accent-glow));
152
155
  }
153
156
 
154
157
  /* Menu search — flush with menu, single subtle separator (no nested frame) */
@@ -156,7 +159,7 @@
156
159
  display: block;
157
160
  padding: 4px 2px 8px;
158
161
  margin: -2px -2px 4px;
159
- border-bottom: 1px solid var(--divider);
162
+ border-bottom: 1px solid var(--lmn-select-divider, var(--divider));
160
163
  }
161
164
  .menu-search .input-wrap { width: 100%; }
162
165
 
@@ -169,28 +172,39 @@
169
172
  gap: 10px;
170
173
  padding: 26px 12px;
171
174
  font-size: var(--fs-sm);
172
- color: var(--fg-muted);
175
+ color: var(--lmn-select-fg-muted, var(--fg-muted));
173
176
  }
174
177
  .menu-state .menu-state-ico {
175
178
  width: 40px;
176
179
  height: 40px;
177
180
  border-radius: var(--r-md);
178
- background: var(--bg);
179
- box-shadow: var(--neu-shadow-inset);
181
+ background: var(--lmn-select-bg, var(--bg));
182
+ box-shadow: var(--lmn-select-neu-shadow-inset, var(--neu-shadow-inset));
180
183
  display: grid;
181
184
  place-items: center;
182
- color: var(--fg-subtle);
185
+ color: var(--lmn-select-fg-subtle, var(--fg-subtle));
183
186
  }
184
187
  .menu-state .menu-state-ico .spinner {
185
188
  width: 16px;
186
189
  height: 16px;
187
190
  display: inline-block;
188
191
  border-radius: 999px;
189
- border: 2px solid var(--accent);
190
- border-color: var(--accent);
192
+ border: 2px solid var(--lmn-select-accent, var(--accent));
193
+ border-color: var(--lmn-select-accent, var(--accent));
191
194
  border-right-color: transparent;
192
195
  animation: spin 0.8s linear infinite;
193
196
  }
197
+ .select-value-custom {
198
+ overflow: hidden;
199
+ }
200
+ .select-value-custom > * {
201
+ min-width: 0;
202
+ max-width: 100%;
203
+ }
204
+
205
+ @media (prefers-reduced-motion: reduce) {
206
+ .menu-state .menu-state-ico .spinner { animation: none; }
207
+ }
194
208
 
195
209
  /* Option body — supports description line under label */
196
210
  .menu-item-body {
@@ -201,6 +215,11 @@
201
215
  min-width: 0;
202
216
  text-align: left;
203
217
  }
218
+ .menu-item-custom {
219
+ flex: 1;
220
+ min-width: 0;
221
+ text-align: left;
222
+ }
204
223
  .menu-item-label {
205
224
  white-space: nowrap;
206
225
  overflow: hidden;
@@ -208,18 +227,18 @@
208
227
  }
209
228
  .menu-item-desc {
210
229
  font-size: var(--fs-xs);
211
- color: var(--fg-subtle);
230
+ color: var(--lmn-select-fg-subtle, var(--fg-subtle));
212
231
  white-space: nowrap;
213
232
  overflow: hidden;
214
233
  text-overflow: ellipsis;
215
234
  }
216
- .menu-item.active .menu-item-desc { color: color-mix(in oklch, var(--accent-ink) 70%, var(--fg-subtle)); }
235
+ .menu-item.active .menu-item-desc { color: color-mix(in oklch, var(--lmn-select-accent-ink, var(--accent-ink)) 70%, var(--lmn-select-fg-subtle, var(--fg-subtle))); }
217
236
 
218
237
  /* Keyboard / hover highlight — soft raised pill */
219
238
  .menu-item.highlight:not([disabled]) {
220
- background: var(--bg);
221
- box-shadow: var(--neu-shadow-control);
222
- color: var(--accent-ink);
239
+ background: var(--lmn-select-bg, var(--bg));
240
+ box-shadow: var(--lmn-select-neu-shadow-control, var(--neu-shadow-control));
241
+ color: var(--lmn-select-accent-ink, var(--accent-ink));
223
242
  }
224
243
  .menu-item[disabled] {
225
244
  opacity: 0.45;
@@ -227,14 +246,19 @@
227
246
  }
228
247
 
229
248
  .menu {
230
- background: var(--bg);
249
+ background: var(--lmn-select-bg, var(--bg));
231
250
  border-radius: var(--r-md);
232
- box-shadow: var(--neu-shadow-float);
251
+ box-shadow: var(--lmn-select-neu-shadow-float, var(--neu-shadow-float));
233
252
  padding: 6px;
234
253
  min-width: 180px;
254
+ max-width: calc(100vw - 16px);
235
255
  z-index: 1000;
236
256
  animation: menuIn var(--dur) var(--ease);
237
- max-height: 260px;
257
+ overflow: hidden;
258
+ }
259
+ .menu-options {
260
+ display: flex;
261
+ flex-direction: column;
238
262
  overflow-y: auto;
239
263
  }
240
264
  .menu-item {
@@ -242,7 +266,7 @@
242
266
  border-radius: var(--r-sm);
243
267
  font-size: var(--fs-md);
244
268
  cursor: pointer;
245
- color: var(--fg);
269
+ color: var(--lmn-select-fg, var(--fg));
246
270
  display: flex;
247
271
  align-items: center;
248
272
  gap: 10px;
@@ -253,17 +277,17 @@
253
277
  width: 100%;
254
278
  text-align: left;
255
279
  }
256
- .menu-item:hover { background: var(--bg); box-shadow: var(--neu-shadow-subtle); color: var(--accent-ink); }
257
- .menu-item.active { color: var(--accent-ink); font-weight: 500; }
258
- .menu-item .tick { margin-left: auto; color: var(--accent); opacity: 0; }
280
+ .menu-item:hover { background: var(--lmn-select-bg, var(--bg)); box-shadow: var(--lmn-select-neu-shadow-subtle, var(--neu-shadow-subtle)); color: var(--lmn-select-accent-ink, var(--accent-ink)); }
281
+ .menu-item.active { color: var(--lmn-select-accent-ink, var(--accent-ink)); font-weight: 500; }
282
+ .menu-item .tick { margin-left: auto; color: var(--lmn-select-accent, var(--accent)); opacity: 0; }
259
283
  .menu-item.active .tick { opacity: 1; }
260
- .menu-item.danger { color: var(--danger); }
261
- .menu-separator { height: 1px; background: var(--divider); margin: 6px 4px; }
284
+ .menu-item.danger { color: var(--lmn-select-danger, var(--danger)); }
285
+ .menu-separator { height: 1px; background: var(--lmn-select-divider, var(--divider)); margin: 6px 4px; }
262
286
  .menu-group-label {
263
287
  font-size: 10px;
264
288
  font-weight: 600;
265
289
  text-transform: uppercase;
266
290
  letter-spacing: 0.08em;
267
- color: var(--fg-subtle);
291
+ color: var(--lmn-select-fg-subtle, var(--fg-subtle));
268
292
  padding: 8px 12px 4px;
269
293
  }
package/dist/Select.cjs CHANGED
@@ -1,15 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var chunkUW57F3UO_cjs = require('./chunk-UW57F3UO.cjs');
4
- require('./chunk-5ERD3W24.cjs');
5
- require('./chunk-YB3IWIOJ.cjs');
6
- require('./chunk-VS3I5OKA.cjs');
7
- require('./chunk-RZEFKXL3.cjs');
8
- require('./chunk-QMX67CVT.cjs');
3
+ var chunkSF7BPXDJ_cjs = require('./chunk-SF7BPXDJ.cjs');
4
+ require('./chunk-GFKWSDD6.cjs');
5
+ require('./chunk-FJB3243S.cjs');
6
+ require('./chunk-STQDKMS5.cjs');
7
+ require('./chunk-HYHBCHFM.cjs');
8
+ require('./chunk-HSDMJUB6.cjs');
9
+ require('./chunk-2AUXUZ3Z.cjs');
10
+ require('./chunk-NRJXZPZR.cjs');
11
+ require('./chunk-EE5KXDRK.cjs');
9
12
 
10
13
 
11
14
 
12
15
  Object.defineProperty(exports, "Select", {
13
16
  enumerable: true,
14
- get: function () { return chunkUW57F3UO_cjs.Select; }
17
+ get: function () { return chunkSF7BPXDJ_cjs.Select; }
15
18
  });
package/dist/Select.d.cts CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { IconSlot } from './Icon.cjs';
3
+ import { f as ComponentThemeProps } from './componentThemeTypes-Jt4B5aU8.cjs';
3
4
  import 'react/jsx-runtime';
4
5
 
5
6
  interface SelectOption<T extends string | number = string> {
@@ -7,6 +8,8 @@ interface SelectOption<T extends string | number = string> {
7
8
  label: React.ReactNode;
8
9
  /** Searchable text — used by default filter when `label` isn't a string. */
9
10
  text?: string;
11
+ /** 复杂标签或 optionRender 使用的独立可访问名称。 */
12
+ ariaLabel?: string;
10
13
  /** Secondary line shown beneath the label. */
11
14
  description?: React.ReactNode;
12
15
  /** Leading icon. Accepts a built-in icon name or custom React node. */
@@ -20,13 +23,24 @@ interface SelectOptionGroup<T extends string | number = string> {
20
23
  }
21
24
  type SelectItem<T extends string | number = string> = SelectOption<T> | SelectOptionGroup<T>;
22
25
  type SelectFilterOption<T extends string | number = string> = boolean | ((input: string, option: SelectOption<T>) => boolean);
26
+ /** 自定义选项内容渲染时可用的状态。 */
27
+ interface SelectOptionRenderInfo {
28
+ index: number;
29
+ selected: boolean;
30
+ active: boolean;
31
+ }
32
+ /** 自定义已选内容渲染时可用的状态。 */
33
+ interface SelectSelectedRenderInfo<T extends string | number = string> {
34
+ value: T;
35
+ multiple: boolean;
36
+ }
23
37
  type SelectSingleChangeHandler<T extends string | number = string> = {
24
38
  bivarianceHack(value: any): void;
25
39
  }["bivarianceHack"];
26
40
  type SelectMultiChangeHandler<T extends string | number = string> = {
27
41
  bivarianceHack(value: T[]): void;
28
42
  }["bivarianceHack"];
29
- interface BaseSelectProps<T extends string | number = string> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
43
+ interface BaseSelectProps<T extends string | number = string> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue">, ComponentThemeProps {
30
44
  /** Flat or mixed (groups + options) item list. */
31
45
  options: SelectItem<T>[];
32
46
  placeholder?: string;
@@ -52,6 +66,16 @@ interface BaseSelectProps<T extends string | number = string> extends Omit<React
52
66
  loading?: boolean;
53
67
  /** Custom empty content when no options match. */
54
68
  emptyContent?: React.ReactNode;
69
+ /** 自定义菜单内的完整选项内容;选择标记仍由 Select 负责。 */
70
+ optionRender?: (option: SelectOption<T>, info: SelectOptionRenderInfo) => React.ReactNode;
71
+ /** 自定义触发器中的紧凑已选内容,避免复用复杂的 option 内容。 */
72
+ selectedRender?: (option: SelectOption<T>, info: SelectSelectedRenderInfo<T>) => React.ReactNode;
73
+ /** 菜单选项滚动区域的最大高度。 */
74
+ listHeight?: number;
75
+ /** Portal 菜单的额外内联样式,可覆盖宽度或高度。 */
76
+ popupStyle?: React.CSSProperties;
77
+ /** 按当前选择动态禁用候选项;静态 disabled 仍然优先。 */
78
+ getOptionDisabled?: (option: SelectOption<T>, selectedValues: readonly T[]) => boolean;
55
79
  /** Controlled open state. */
56
80
  open?: boolean;
57
81
  defaultOpen?: boolean;
@@ -81,13 +105,14 @@ interface MultiSelectProps<T extends string | number = string> extends BaseSelec
81
105
  onClear?: () => void;
82
106
  /** Max selected items shown as tags before collapsing to "+N". */
83
107
  maxTagCount?: number;
108
+ /** 多选允许的最大选择数;达到上限后禁用尚未选中的候选项。 */
109
+ maxCount?: number;
84
110
  }
85
111
  type SelectProps<T extends string | number = string> = SingleSelectProps<T> | MultiSelectProps<T>;
86
112
  type SelectComponent = {
87
113
  <T extends string | number = string>(props: SingleSelectProps<T> & React.RefAttributes<HTMLDivElement>): React.ReactElement;
88
114
  <T extends string | number = string>(props: MultiSelectProps<T> & React.RefAttributes<HTMLDivElement>): React.ReactElement;
89
115
  };
90
- /** `Select` — neumorphic dropdown. Set `multiple` for tag-style multi-select. */
91
116
  declare const Select: SelectComponent;
92
117
 
93
- export { type MultiSelectProps, Select, type SelectFilterOption, type SelectItem, type SelectMultiChangeHandler, type SelectOption, type SelectOptionGroup, type SelectProps, type SelectSingleChangeHandler, type SingleSelectProps };
118
+ export { type MultiSelectProps, Select, type SelectFilterOption, type SelectItem, type SelectMultiChangeHandler, type SelectOption, type SelectOptionGroup, type SelectOptionRenderInfo, type SelectProps, type SelectSelectedRenderInfo, type SelectSingleChangeHandler, type SingleSelectProps };