@fangxinyan/lumina 0.6.18 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) 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 +24 -3
  159. package/dist/Select.d.ts +24 -3
  160. package/dist/Select.js +9 -6
  161. package/dist/{Skeleton-CVWH2VWN.css → Skeleton-FMFE3BRI.css} +9 -4
  162. package/dist/Skeleton.cjs +4 -2
  163. package/dist/Skeleton.d.cts +2 -4
  164. package/dist/Skeleton.d.ts +2 -4
  165. package/dist/Skeleton.js +3 -1
  166. package/dist/Slider-FZ5MI4X2.css +145 -0
  167. package/dist/Slider.cjs +4 -2
  168. package/dist/Slider.d.cts +6 -5
  169. package/dist/Slider.d.ts +6 -5
  170. package/dist/Slider.js +3 -1
  171. package/dist/{Spin-GONGPV4Q.css → Spin-F5YIEENO.css} +15 -9
  172. package/dist/Spin.cjs +4 -2
  173. package/dist/Spin.d.cts +2 -2
  174. package/dist/Spin.d.ts +2 -2
  175. package/dist/Spin.js +3 -1
  176. package/dist/{Splitter-DHNOY4NC.css → Splitter-IQ3PFIKK.css} +4 -4
  177. package/dist/Splitter.cjs +4 -2
  178. package/dist/Splitter.d.cts +8 -12
  179. package/dist/Splitter.d.ts +8 -12
  180. package/dist/Splitter.js +3 -1
  181. package/dist/{StatusBar-FJKEEPXU.css → StatusBar-TCGR3LXP.css} +23 -9
  182. package/dist/StatusBar.cjs +5 -3
  183. package/dist/StatusBar.d.cts +5 -17
  184. package/dist/StatusBar.d.ts +5 -17
  185. package/dist/StatusBar.js +3 -1
  186. package/dist/{Surface-UDDN3DGL.css → Surface-CTN775GD.css} +10 -10
  187. package/dist/Surface.cjs +6 -5
  188. package/dist/Surface.d.cts +10 -1
  189. package/dist/Surface.d.ts +10 -1
  190. package/dist/Surface.js +4 -3
  191. package/dist/{Switch-COAQIOMH.css → Switch-TATU3LPB.css} +16 -8
  192. package/dist/Switch.cjs +4 -2
  193. package/dist/Switch.d.cts +10 -4
  194. package/dist/Switch.d.ts +10 -4
  195. package/dist/Switch.js +3 -1
  196. package/dist/{Table-IWHIIGRJ.css → Table-W4HPZ7MZ.css} +78 -53
  197. package/dist/Table.cjs +14 -10
  198. package/dist/Table.d.cts +32 -3
  199. package/dist/Table.d.ts +32 -3
  200. package/dist/Table.js +13 -9
  201. package/dist/{TablePro-3NGWERWT.css → TablePro-WYE6TXWJ.css} +5 -5
  202. package/dist/TablePro.cjs +15 -11
  203. package/dist/TablePro.d.cts +1 -0
  204. package/dist/TablePro.d.ts +1 -0
  205. package/dist/TablePro.js +14 -10
  206. package/dist/{Tabs-X5U5PCPV.css → Tabs-A3IG6UZ6.css} +10 -10
  207. package/dist/Tabs.cjs +4 -2
  208. package/dist/Tabs.d.cts +2 -2
  209. package/dist/Tabs.d.ts +2 -2
  210. package/dist/Tabs.js +3 -1
  211. package/dist/Tag-5GIZLRAH.css +42 -0
  212. package/dist/Tag.cjs +5 -3
  213. package/dist/Tag.d.cts +2 -2
  214. package/dist/Tag.d.ts +2 -2
  215. package/dist/Tag.js +4 -2
  216. package/dist/{Textarea-YHWKHIFE.css → Textarea-ZGHBZNLX.css} +10 -10
  217. package/dist/Textarea.cjs +6 -4
  218. package/dist/Textarea.d.cts +2 -4
  219. package/dist/Textarea.d.ts +2 -4
  220. package/dist/Textarea.js +4 -2
  221. package/dist/Theme-CLedeJ_C.d.ts +193 -0
  222. package/dist/Theme-uQq2B0Yk.d.cts +193 -0
  223. package/dist/Theme.cjs +57 -11
  224. package/dist/Theme.d.cts +26 -145
  225. package/dist/Theme.d.ts +26 -145
  226. package/dist/Theme.js +3 -1
  227. package/dist/{ThemePanel-TEHB2JCQ.css → ThemePanel-EHNAS4RN.css} +52 -52
  228. package/dist/ThemePanel.cjs +17 -15
  229. package/dist/ThemePanel.d.cts +3 -13
  230. package/dist/ThemePanel.d.ts +3 -13
  231. package/dist/ThemePanel.js +14 -12
  232. package/dist/{TimePicker-ZBJOXH3U.css → TimePicker-WJ3FSK6A.css} +17 -17
  233. package/dist/TimePicker.cjs +10 -7
  234. package/dist/TimePicker.d.cts +2 -8
  235. package/dist/TimePicker.d.ts +2 -8
  236. package/dist/TimePicker.js +9 -6
  237. package/dist/{Timeline-CRFZ3I2W.css → Timeline-FUFO2UGY.css} +28 -13
  238. package/dist/Timeline.cjs +5 -3
  239. package/dist/Timeline.d.cts +2 -7
  240. package/dist/Timeline.d.ts +2 -7
  241. package/dist/Timeline.js +4 -2
  242. package/dist/{Tooltip-5FSPJWLX.css → Tooltip-2EUNTOTW.css} +3 -3
  243. package/dist/Tooltip.cjs +6 -3
  244. package/dist/Tooltip.d.cts +2 -2
  245. package/dist/Tooltip.d.ts +2 -2
  246. package/dist/Tooltip.js +5 -2
  247. package/dist/{Typography-32QQLD4F.css → Typography-CQ2OZXQH.css} +105 -42
  248. package/dist/Typography.cjs +11 -8
  249. package/dist/Typography.d.cts +12 -36
  250. package/dist/Typography.d.ts +12 -36
  251. package/dist/Typography.js +6 -3
  252. package/dist/chunk-2A4GYSN4.js +294 -0
  253. package/dist/{chunk-QMX67CVT.cjs → chunk-2AUXUZ3Z.cjs} +56 -31
  254. package/dist/chunk-2BIOTRQC.js +40 -0
  255. package/dist/{chunk-A6O25EP2.js → chunk-2HIN5NFM.js} +14 -6
  256. package/dist/{chunk-I7TOBKJO.js → chunk-3DKFS44V.js} +84 -23
  257. package/dist/{chunk-E22OIVYP.js → chunk-3EHJ5QI3.js} +202 -69
  258. package/dist/{chunk-X5MYHDEQ.cjs → chunk-3EMWDDWK.cjs} +372 -117
  259. package/dist/chunk-3F424R5P.js +143 -0
  260. package/dist/chunk-3IZZBM56.js +269 -0
  261. package/dist/{chunk-DUFRASGO.js → chunk-3QXP2ZNP.js} +18 -23
  262. package/dist/{chunk-5QEI7GGA.cjs → chunk-434Y2JVW.cjs} +60 -27
  263. package/dist/{chunk-SOCYOUGM.js → chunk-4SKHRPDH.js} +168 -64
  264. package/dist/{chunk-L6GIV5DQ.cjs → chunk-56I6ZKGU.cjs} +40 -22
  265. package/dist/{chunk-R3DTXVP2.js → chunk-5AXNUX3J.js} +8 -5
  266. package/dist/chunk-5CZA33BK.cjs +229 -0
  267. package/dist/{chunk-6K5YI4ZE.js → chunk-62VV5COT.js} +16 -6
  268. package/dist/chunk-6DKPJ5LV.cjs +294 -0
  269. package/dist/{chunk-OTSDPQPV.js → chunk-6RQJXSWN.js} +50 -30
  270. package/dist/{chunk-V5KUC5VH.cjs → chunk-77HU7JWK.cjs} +40 -13
  271. package/dist/chunk-7QAVPVMW.js +180 -0
  272. package/dist/chunk-7VLAHOA7.cjs +191 -0
  273. package/dist/chunk-ALAG4ZUH.js +72 -0
  274. package/dist/chunk-ARUN2DMD.js +39 -0
  275. package/dist/chunk-AUO2YYHB.js +248 -0
  276. package/dist/{chunk-6MEOLYNQ.js → chunk-AURYNA6G.js} +6 -5
  277. package/dist/chunk-BIPOXOHP.cjs +287 -0
  278. package/dist/{chunk-V5SQOZPF.js → chunk-BJDQVVCG.js} +38 -20
  279. package/dist/{chunk-BVQOJKRX.js → chunk-BKW5PXEO.js} +115 -72
  280. package/dist/{chunk-UW57F3UO.cjs → chunk-D7YSY5RZ.cjs} +208 -75
  281. package/dist/chunk-DRDDQCDD.js +322 -0
  282. package/dist/chunk-DU2DSERH.js +190 -0
  283. package/dist/{chunk-PSQ3HNZP.cjs → chunk-E66PSVBU.cjs} +106 -19
  284. package/dist/{chunk-UGAN4BBW.js → chunk-EA3NZBCZ.js} +251 -125
  285. package/dist/chunk-EAUB6FEN.js +262 -0
  286. package/dist/chunk-EE5KXDRK.cjs +1223 -0
  287. package/dist/chunk-EE7IJ3MB.js +1 -0
  288. package/dist/{chunk-NXBFEIUX.cjs → chunk-ENFLP7SN.cjs} +255 -129
  289. package/dist/chunk-EUTK2ZRJ.cjs +61 -0
  290. package/dist/{chunk-HSAJUEO7.cjs → chunk-F7WUCOBP.cjs} +150 -86
  291. package/dist/{chunk-YB3IWIOJ.cjs → chunk-FJB3243S.cjs} +18 -23
  292. package/dist/chunk-FKCPSVC4.cjs +188 -0
  293. package/dist/chunk-FMUHLIHB.cjs +94 -0
  294. package/dist/chunk-FY73C7JK.js +520 -0
  295. package/dist/{chunk-6EOSMK34.cjs → chunk-G5LCOBOT.cjs} +20 -1
  296. package/dist/{chunk-5ERD3W24.cjs → chunk-GFKWSDD6.cjs} +18 -8
  297. package/dist/{chunk-T2O4DTDE.cjs → chunk-GTFP7HA3.cjs} +58 -32
  298. package/dist/chunk-HQFKXTX6.js +60 -0
  299. package/dist/chunk-HSDMJUB6.cjs +319 -0
  300. package/dist/chunk-HVPUGYBY.js +166 -0
  301. package/dist/chunk-HYHBCHFM.cjs +167 -0
  302. package/dist/chunk-HYJSMFZA.cjs +2 -0
  303. package/dist/chunk-I4YPBAQ5.js +163 -0
  304. package/dist/{chunk-IPSNC5VZ.js → chunk-JHM7MN3G.js} +15 -7
  305. package/dist/{chunk-4ACCOYBY.cjs → chunk-JINKQT6H.cjs} +20 -8
  306. package/dist/{chunk-6Q76VLCE.cjs → chunk-JKUXA3U6.cjs} +50 -30
  307. package/dist/{chunk-D7GK6H6V.js → chunk-K5HGHOG7.js} +50 -21
  308. package/dist/chunk-KATJAJUU.js +78 -0
  309. package/dist/chunk-KCDOC3HS.cjs +100 -0
  310. package/dist/{chunk-M4NJTJKV.cjs → chunk-LDX6Q6RK.cjs} +8 -5
  311. package/dist/chunk-LEDESWNL.js +83 -0
  312. package/dist/chunk-LG62MPMU.cjs +213 -0
  313. package/dist/{chunk-7NTTRKNT.js → chunk-LJVQQEME.js} +54 -28
  314. package/dist/chunk-LOWTSOWT.js +199 -0
  315. package/dist/{chunk-FDZG27IG.js → chunk-LQMOYVQF.js} +57 -32
  316. package/dist/{chunk-P2OQTJZP.cjs → chunk-MCDW3VKZ.cjs} +17 -6
  317. package/dist/{chunk-BT2RXFT4.cjs → chunk-MUZQWIMR.cjs} +121 -78
  318. package/dist/chunk-NRJXZPZR.cjs +351 -0
  319. package/dist/chunk-O6G3F5L4.js +311 -0
  320. package/dist/{chunk-3VSHGM54.js → chunk-OLYSSZHP.js} +126 -68
  321. package/dist/{chunk-A4Z7PLHV.cjs → chunk-PIJV2FHO.cjs} +135 -77
  322. package/dist/{chunk-FYSXJXNW.js → chunk-PQOBBASY.js} +10 -9
  323. package/dist/chunk-Q565GDVK.cjs +205 -0
  324. package/dist/{chunk-FDUQPAQE.cjs → chunk-Q5HLC56A.cjs} +122 -28
  325. package/dist/chunk-QDCPVI3S.cjs +333 -0
  326. package/dist/{chunk-ZR4IMROK.js → chunk-QDMFXRPI.js} +122 -28
  327. package/dist/chunk-QDY56GGO.js +234 -0
  328. package/dist/{chunk-4KDABJSY.cjs → chunk-QNQSNVCU.cjs} +86 -25
  329. package/dist/chunk-QYPA77OI.cjs +55 -0
  330. package/dist/chunk-RAK6CENJ.js +83 -0
  331. package/dist/{chunk-BW76ENTW.cjs → chunk-RERMZNF3.cjs} +10 -9
  332. package/dist/chunk-RMGFRAZ2.cjs +270 -0
  333. package/dist/chunk-RPO7657K.js +228 -0
  334. package/dist/chunk-STQDKMS5.cjs +288 -0
  335. package/dist/{chunk-HG6YS4I7.js → chunk-SXLRWYQQ.js} +71 -24
  336. package/dist/{chunk-SW2HMNCA.cjs → chunk-T4RR6NVU.cjs} +17 -9
  337. package/dist/{chunk-6SPMHY54.js → chunk-TSL3F2K3.js} +20 -2
  338. package/dist/{chunk-BNY2NVTL.cjs → chunk-TYZ6L7E6.cjs} +48 -28
  339. package/dist/{chunk-MOZ52KN6.js → chunk-U3SG2YT2.js} +39 -12
  340. package/dist/{chunk-POU3W5J3.cjs → chunk-U5YYOOLC.cjs} +13 -6
  341. package/dist/chunk-U7VEPMCX.cjs +221 -0
  342. package/dist/chunk-UE4HFGJ6.js +264 -0
  343. package/dist/chunk-ULTDRMGN.js +1175 -0
  344. package/dist/{chunk-6HF6UF73.js → chunk-UQI4R32R.js} +368 -113
  345. package/dist/{chunk-MWEHU7YO.cjs → chunk-VA3JWOAB.cjs} +172 -68
  346. package/dist/chunk-VQEMMJHC.js +33 -0
  347. package/dist/{chunk-S2ZGXBUH.cjs → chunk-VVRXNGYL.cjs} +218 -42
  348. package/dist/{chunk-JMFHL7GN.cjs → chunk-VX6MZO4K.cjs} +100 -22
  349. package/dist/{chunk-2FOC3D6X.js → chunk-WMZV7PNO.js} +19 -7
  350. package/dist/{chunk-MYW7LNB2.cjs → chunk-WROF2PVG.cjs} +40 -21
  351. package/dist/chunk-XZXY3XCL.cjs +105 -0
  352. package/dist/{chunk-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 +1628 -701
  369. package/dist/{tokens-RYJ3DFTU.css → tokens-CEJVVA3G.css} +10 -0
  370. package/dist/tokens.css +10 -0
  371. package/docs/llms/appshell.md +9 -6
  372. package/docs/llms/autocomplete.md +8 -2
  373. package/docs/llms/avatar.md +2 -0
  374. package/docs/llms/badge.md +2 -0
  375. package/docs/llms/calendar.md +7 -2
  376. package/docs/llms/card.md +20 -1
  377. package/docs/llms/cascader.md +27 -5
  378. package/docs/llms/checkbox.md +13 -0
  379. package/docs/llms/collapse.md +13 -5
  380. package/docs/llms/colorpicker.md +4 -3
  381. package/docs/llms/commandpalette.md +10 -2
  382. package/docs/llms/contextmenu.md +14 -2
  383. package/docs/llms/datepicker.md +7 -0
  384. package/docs/llms/datetimepicker.md +7 -0
  385. package/docs/llms/drawer.md +20 -4
  386. package/docs/llms/form.md +5 -2
  387. package/docs/llms/icon.md +25 -1
  388. package/docs/llms/image.md +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 +29 -2
  397. package/docs/llms/sidebar.md +24 -0
  398. package/docs/llms/slider.md +5 -2
  399. package/docs/llms/splitter.md +5 -2
  400. package/docs/llms/switch.md +13 -0
  401. package/docs/llms/table.md +7 -8
  402. package/docs/llms/theme.md +83 -28
  403. package/docs/llms/themepanel.md +1 -0
  404. package/docs/llms/titlebar.md +1 -0
  405. package/docs/llms/tooltip.md +7 -2
  406. package/docs/llms/typography.md +27 -3
  407. package/docs/llms/windowcontrols.md +11 -3
  408. package/docs/llms.md +2 -2
  409. package/package.json +212 -2
  410. package/dist/Avatar-TNPOHVY5.css +0 -40
  411. package/dist/Badge-DPGLV3D3.css +0 -22
  412. package/dist/Card-W3ATFUJW.css +0 -77
  413. package/dist/Cascader-ANEQUPMI.css +0 -150
  414. package/dist/Checkbox-EDNPZRIP.css +0 -42
  415. package/dist/List-LSMU5QAC.css +0 -26
  416. package/dist/Pagination-YSZSNFHG.css +0 -68
  417. package/dist/Progress-CZNXCYGW.css +0 -80
  418. package/dist/Slider-UM2IZZBH.css +0 -127
  419. package/dist/Tag-G2XWAL7A.css +0 -42
  420. package/dist/chunk-262ED6WQ.cjs +0 -88
  421. package/dist/chunk-4HJBF4GY.js +0 -218
  422. package/dist/chunk-4TTRHEGM.cjs +0 -217
  423. package/dist/chunk-5A6KSYWA.cjs +0 -67
  424. package/dist/chunk-5MOYKVB7.js +0 -192
  425. package/dist/chunk-7IO3EOHN.cjs +0 -200
  426. package/dist/chunk-7QXP6DXC.cjs +0 -129
  427. package/dist/chunk-AAPZLBHQ.js +0 -165
  428. package/dist/chunk-ARUPS7JH.js +0 -66
  429. package/dist/chunk-ATUPFAPZ.cjs +0 -76
  430. package/dist/chunk-CFZVWY5N.js +0 -178
  431. package/dist/chunk-DSLYWX4O.js +0 -25
  432. package/dist/chunk-FQJY4D3T.cjs +0 -47
  433. package/dist/chunk-GNV6W4BN.js +0 -495
  434. package/dist/chunk-HBO7ZDEQ.js +0 -29
  435. package/dist/chunk-I777JTTG.js +0 -150
  436. package/dist/chunk-IOAOG5L7.js +0 -191
  437. package/dist/chunk-IOUAZYK2.cjs +0 -116
  438. package/dist/chunk-IZHH6CVY.js +0 -123
  439. package/dist/chunk-JFL2WMJZ.js +0 -106
  440. package/dist/chunk-KMPFESEV.js +0 -41
  441. package/dist/chunk-KYV75JPQ.js +0 -147
  442. package/dist/chunk-N7OQNSII.cjs +0 -145
  443. package/dist/chunk-P64NPZBG.js +0 -113
  444. package/dist/chunk-PKNRTFNE.cjs +0 -526
  445. package/dist/chunk-PU7VXDAS.js +0 -64
  446. package/dist/chunk-RFI5R42I.cjs +0 -138
  447. package/dist/chunk-RR2BKV65.js +0 -39
  448. package/dist/chunk-RSSOX4RQ.cjs +0 -240
  449. package/dist/chunk-RZEFKXL3.cjs +0 -104
  450. package/dist/chunk-S7IHWY24.js +0 -81
  451. package/dist/chunk-SOQ56ZI2.cjs +0 -49
  452. package/dist/chunk-TBNPJPYG.cjs +0 -61
  453. package/dist/chunk-TJECLLN4.js +0 -344
  454. package/dist/chunk-ULUD3FED.cjs +0 -138
  455. package/dist/chunk-VA2I7ZAL.cjs +0 -190
  456. package/dist/chunk-VS3I5OKA.cjs +0 -214
  457. package/dist/chunk-WMGMIE2D.js +0 -113
  458. package/dist/chunk-X7XP6GEI.cjs +0 -63
  459. package/dist/chunk-XCXUGHDF.js +0 -91
  460. package/dist/chunk-YAFDVNXT.js +0 -27
  461. package/dist/chunk-ZD3L4V3H.js +0 -54
  462. 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 chunkD7YSY5RZ_cjs = require('./chunk-D7YSY5RZ.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 chunkD7YSY5RZ_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,14 @@ 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;
55
77
  /** Controlled open state. */
56
78
  open?: boolean;
57
79
  defaultOpen?: boolean;
@@ -87,7 +109,6 @@ type SelectComponent = {
87
109
  <T extends string | number = string>(props: SingleSelectProps<T> & React.RefAttributes<HTMLDivElement>): React.ReactElement;
88
110
  <T extends string | number = string>(props: MultiSelectProps<T> & React.RefAttributes<HTMLDivElement>): React.ReactElement;
89
111
  };
90
- /** `Select` — neumorphic dropdown. Set `multiple` for tag-style multi-select. */
91
112
  declare const Select: SelectComponent;
92
113
 
93
- export { type MultiSelectProps, Select, type SelectFilterOption, type SelectItem, type SelectMultiChangeHandler, type SelectOption, type SelectOptionGroup, type SelectProps, type SelectSingleChangeHandler, type SingleSelectProps };
114
+ export { type MultiSelectProps, Select, type SelectFilterOption, type SelectItem, type SelectMultiChangeHandler, type SelectOption, type SelectOptionGroup, type SelectOptionRenderInfo, type SelectProps, type SelectSelectedRenderInfo, type SelectSingleChangeHandler, type SingleSelectProps };