@fangxinyan/lumina 0.6.2 → 0.6.4

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 (284) hide show
  1. package/README.md +2 -1
  2. package/dist/{Alert-JJ7GB3UU.css → Alert-HVPI6L4V.css} +9 -2
  3. package/dist/Alert.cjs +3 -3
  4. package/dist/Alert.d.cts +3 -2
  5. package/dist/Alert.d.ts +3 -2
  6. package/dist/Alert.js +2 -2
  7. package/dist/{AppShell-RCALXUCZ.css → AppShell-FZCD4C56.css} +4 -4
  8. package/dist/AppShell.cjs +5 -5
  9. package/dist/AppShell.js +1 -1
  10. package/dist/{AutoComplete-P5KZMZO5.css → AutoComplete-4YZBMW4E.css} +2 -2
  11. package/dist/AutoComplete.cjs +5 -5
  12. package/dist/AutoComplete.js +4 -4
  13. package/dist/{Avatar-R5A4AFKZ.css → Avatar-TNPOHVY5.css} +1 -1
  14. package/dist/Avatar.cjs +2 -2
  15. package/dist/Avatar.js +1 -1
  16. package/dist/Badge.cjs +2 -2
  17. package/dist/Badge.d.cts +1 -0
  18. package/dist/Badge.d.ts +1 -0
  19. package/dist/Badge.js +1 -1
  20. package/dist/Button-TUMZUQLI.css +118 -0
  21. package/dist/Button.cjs +3 -3
  22. package/dist/Button.d.cts +6 -5
  23. package/dist/Button.d.ts +6 -5
  24. package/dist/Button.js +2 -2
  25. package/dist/{Calendar-LHZELUDL.css → Calendar-RUTPKREW.css} +4 -4
  26. package/dist/Calendar.cjs +3 -3
  27. package/dist/Calendar.js +2 -2
  28. package/dist/{Card-6RMVIHWX.css → Card-MA6SV7D5.css} +6 -6
  29. package/dist/Card.cjs +2 -2
  30. package/dist/Card.js +1 -1
  31. package/dist/{Cascader-C2DFSMKJ.css → Cascader-ANEQUPMI.css} +21 -8
  32. package/dist/Cascader.cjs +5 -5
  33. package/dist/Cascader.d.cts +4 -2
  34. package/dist/Cascader.d.ts +4 -2
  35. package/dist/Cascader.js +4 -4
  36. package/dist/{Checkbox-U5EUDSYS.css → Checkbox-EDNPZRIP.css} +3 -3
  37. package/dist/Checkbox.cjs +3 -3
  38. package/dist/Checkbox.js +2 -2
  39. package/dist/{Collapse-66U5YJFY.css → Collapse-UNBHEPYP.css} +2 -2
  40. package/dist/Collapse.cjs +3 -3
  41. package/dist/Collapse.js +2 -2
  42. package/dist/{ColorPicker-SDDQGHCM.css → ColorPicker-LPG6QPYF.css} +7 -7
  43. package/dist/ColorPicker.cjs +2 -2
  44. package/dist/ColorPicker.js +1 -1
  45. package/dist/{CommandPalette-T45DBMPY.css → CommandPalette-RTKWNH2D.css} +3 -3
  46. package/dist/CommandPalette.cjs +5 -5
  47. package/dist/CommandPalette.js +4 -4
  48. package/dist/{ContextMenu-FKW6CQW4.css → ContextMenu-WRR2SSWL.css} +3 -3
  49. package/dist/ContextMenu.cjs +2 -2
  50. package/dist/ContextMenu.js +1 -1
  51. package/dist/{Divider-OEE4Q2KS.css → Divider-RPQCVH3J.css} +2 -2
  52. package/dist/Divider.cjs +2 -2
  53. package/dist/Divider.js +1 -1
  54. package/dist/{Drawer-IPGB4CXH.css → Drawer-7N3URAJ6.css} +8 -5
  55. package/dist/Drawer.cjs +3 -3
  56. package/dist/Drawer.js +2 -2
  57. package/dist/{Empty-DC2LPORC.css → Empty-CZTRZMZQ.css} +1 -1
  58. package/dist/Empty.cjs +2 -2
  59. package/dist/Empty.js +1 -1
  60. package/dist/{Form-5GRVZNDO.css → Form-NGCQWTMZ.css} +1 -1
  61. package/dist/Form.cjs +4 -4
  62. package/dist/Form.js +1 -1
  63. package/dist/Icon.cjs +55 -47
  64. package/dist/Icon.d.cts +9 -1
  65. package/dist/Icon.d.ts +9 -1
  66. package/dist/Icon.js +1 -1
  67. package/dist/{Image-4MN34O6P.css → Image-SGSRTHQX.css} +81 -3
  68. package/dist/Image.cjs +12 -4
  69. package/dist/Image.d.cts +79 -6
  70. package/dist/Image.d.ts +79 -6
  71. package/dist/Image.js +2 -2
  72. package/dist/{Input-3G4ONWNU.css → Input-7GDPGP3E.css} +22 -12
  73. package/dist/Input.cjs +5 -5
  74. package/dist/Input.d.cts +4 -3
  75. package/dist/Input.d.ts +4 -3
  76. package/dist/Input.js +3 -3
  77. package/dist/InputNumber.cjs +5 -5
  78. package/dist/InputNumber.js +4 -4
  79. package/dist/{List-W5BW4D2P.css → List-LSMU5QAC.css} +3 -3
  80. package/dist/List.cjs +2 -2
  81. package/dist/List.js +1 -1
  82. package/dist/{Message-2MZ3LFPU.css → Message-H222YGR6.css} +1 -1
  83. package/dist/Message.cjs +6 -6
  84. package/dist/Message.js +2 -2
  85. package/dist/{Modal-2QNDW4SO.css → Modal-MCFDYVUQ.css} +3 -3
  86. package/dist/Modal.cjs +4 -4
  87. package/dist/Modal.d.cts +1 -0
  88. package/dist/Modal.d.ts +1 -0
  89. package/dist/Modal.js +3 -3
  90. package/dist/{Pagination-YIRYJUXP.css → Pagination-YSZSNFHG.css} +5 -5
  91. package/dist/Pagination.cjs +7 -7
  92. package/dist/Pagination.js +6 -6
  93. package/dist/{Popover-DVGQGWX6.css → Popover-Y3LDCJPW.css} +1 -1
  94. package/dist/Popover.cjs +2 -2
  95. package/dist/Popover.js +1 -1
  96. package/dist/{Progress-CHV7DN6Y.css → Progress-CZNXCYGW.css} +1 -1
  97. package/dist/Progress.cjs +2 -2
  98. package/dist/Progress.js +1 -1
  99. package/dist/{Radio-GVFDPAZM.css → Radio-IQKASYDF.css} +4 -4
  100. package/dist/Radio.cjs +3 -3
  101. package/dist/Radio.js +1 -1
  102. package/dist/{Select-JVBQAZBG.css → Select-YZ2NUJSX.css} +44 -19
  103. package/dist/Select.cjs +6 -6
  104. package/dist/Select.d.cts +4 -3
  105. package/dist/Select.d.ts +4 -3
  106. package/dist/Select.js +5 -5
  107. package/dist/Skeleton.cjs +2 -2
  108. package/dist/Skeleton.js +1 -1
  109. package/dist/{Slider-3JKA5EW6.css → Slider-UM2IZZBH.css} +7 -7
  110. package/dist/Slider.cjs +2 -2
  111. package/dist/Slider.js +1 -1
  112. package/dist/{Spin-3GJNMSIH.css → Spin-GONGPV4Q.css} +1 -1
  113. package/dist/Spin.cjs +2 -2
  114. package/dist/Spin.js +1 -1
  115. package/dist/Splitter.cjs +2 -2
  116. package/dist/Splitter.js +1 -1
  117. package/dist/{StatusBar-CDS2GPSI.css → StatusBar-FJKEEPXU.css} +3 -7
  118. package/dist/StatusBar.cjs +3 -3
  119. package/dist/StatusBar.js +1 -1
  120. package/dist/Surface-UDDN3DGL.css +42 -0
  121. package/dist/Surface.cjs +16 -0
  122. package/dist/Surface.d.cts +60 -0
  123. package/dist/Surface.d.ts +60 -0
  124. package/dist/Surface.js +3 -0
  125. package/dist/{Switch-36KJNDXM.css → Switch-COAQIOMH.css} +8 -5
  126. package/dist/Switch.cjs +2 -2
  127. package/dist/Switch.js +1 -1
  128. package/dist/{Table-ATJJQLKU.css → Table-IYJTPY6J.css} +16 -16
  129. package/dist/Table.cjs +9 -9
  130. package/dist/Table.js +8 -8
  131. package/dist/{TablePro-3XVHYLSL.css → TablePro-JRSBPXB5.css} +1 -1
  132. package/dist/TablePro.cjs +10 -10
  133. package/dist/TablePro.js +9 -9
  134. package/dist/{Tabs-BLSNI2T5.css → Tabs-X5U5PCPV.css} +2 -2
  135. package/dist/Tabs.cjs +2 -2
  136. package/dist/Tabs.js +1 -1
  137. package/dist/{Tag-LB3OOJAO.css → Tag-G2XWAL7A.css} +15 -2
  138. package/dist/Tag.cjs +3 -3
  139. package/dist/Tag.d.cts +4 -3
  140. package/dist/Tag.d.ts +4 -3
  141. package/dist/Tag.js +2 -2
  142. package/dist/{Textarea-YNET7IBH.css → Textarea-YHWKHIFE.css} +3 -3
  143. package/dist/Textarea.cjs +4 -4
  144. package/dist/Textarea.js +2 -2
  145. package/dist/Theme.cjs +14 -10
  146. package/dist/Theme.d.cts +34 -7
  147. package/dist/Theme.d.ts +34 -7
  148. package/dist/Theme.js +1 -1
  149. package/dist/ThemePanel-76LB3YA5.css +509 -0
  150. package/dist/ThemePanel.cjs +29 -0
  151. package/dist/ThemePanel.d.cts +80 -0
  152. package/dist/ThemePanel.d.ts +80 -0
  153. package/dist/ThemePanel.js +12 -0
  154. package/dist/{Timeline-3ZHOHPXT.css → Timeline-ZIM7QFQC.css} +1 -1
  155. package/dist/Timeline.cjs +3 -3
  156. package/dist/Timeline.js +2 -2
  157. package/dist/{Tooltip-DMKUPC24.css → Tooltip-WI23DSRQ.css} +1 -1
  158. package/dist/Tooltip.cjs +2 -2
  159. package/dist/Tooltip.js +1 -1
  160. package/dist/{Typography-NKPWTJCV.css → Typography-GQNIJ4XD.css} +5 -5
  161. package/dist/Typography.cjs +7 -7
  162. package/dist/Typography.d.cts +1 -0
  163. package/dist/Typography.d.ts +1 -0
  164. package/dist/Typography.js +2 -2
  165. package/dist/chunk-2NT5QKEX.js +243 -0
  166. package/dist/{chunk-6BWELOCT.js → chunk-2SCXQ7QS.js} +2 -2
  167. package/dist/{chunk-5WAXZJG5.cjs → chunk-2ZADGBUN.cjs} +6 -6
  168. package/dist/{chunk-7NGMQIST.js → chunk-2ZFJTMEF.js} +4 -4
  169. package/dist/{chunk-UMDGS4BP.js → chunk-3YP7CBJT.js} +5 -5
  170. package/dist/{chunk-UUHFKIWP.cjs → chunk-4UKM4KAC.cjs} +2 -2
  171. package/dist/{chunk-WGZ2KJTZ.js → chunk-56PHETWO.js} +3 -3
  172. package/dist/{chunk-MQV2XN4B.cjs → chunk-5JPAUQ5H.cjs} +7 -7
  173. package/dist/{chunk-OQBDU5I2.cjs → chunk-5NFSDFBB.cjs} +4 -4
  174. package/dist/{chunk-SKMP2A5O.cjs → chunk-66GXZQKL.cjs} +4 -4
  175. package/dist/{chunk-TZJH5HBT.cjs → chunk-66T76GII.cjs} +6 -6
  176. package/dist/chunk-6EOSMK34.cjs +194 -0
  177. package/dist/{chunk-WNM5RVXR.cjs → chunk-6GQPF3EI.cjs} +2 -2
  178. package/dist/{chunk-TJII7BQ2.cjs → chunk-6LARTGLP.cjs} +11 -1
  179. package/dist/chunk-6SPMHY54.js +191 -0
  180. package/dist/{chunk-YLIQ37KY.cjs → chunk-6XVLERA3.cjs} +2 -2
  181. package/dist/{chunk-WKKSAGYH.js → chunk-7D76MI37.js} +8 -8
  182. package/dist/chunk-7NZ2A4MA.js +495 -0
  183. package/dist/{chunk-KLEKKZ73.js → chunk-7ZNGHWVS.js} +1 -1
  184. package/dist/{chunk-4WTU5P3O.cjs → chunk-ACQSRMLF.cjs} +5 -5
  185. package/dist/{chunk-FFZ6OMZI.js → chunk-AJH2O4WC.js} +3 -3
  186. package/dist/{chunk-CXWEOAVU.js → chunk-BCFCSVGJ.js} +3 -3
  187. package/dist/{chunk-NTS5L4NQ.cjs → chunk-BJ6WUVEG.cjs} +4 -4
  188. package/dist/{chunk-S3VXH5L4.cjs → chunk-C24W6PTJ.cjs} +2 -2
  189. package/dist/{chunk-GMN74OEY.cjs → chunk-CBKJXKVI.cjs} +2 -2
  190. package/dist/{chunk-33NCTOEB.js → chunk-CEZ2DR4R.js} +3 -3
  191. package/dist/{chunk-JD7A6VM3.js → chunk-CNGKJYGZ.js} +6 -6
  192. package/dist/{chunk-TEG7NJHS.cjs → chunk-D5PCIVID.cjs} +4 -4
  193. package/dist/{chunk-K2KYM7LW.cjs → chunk-D64IPDUE.cjs} +4 -4
  194. package/dist/chunk-DYHNOYRC.cjs +271 -0
  195. package/dist/{chunk-CUXV6QNN.cjs → chunk-DYSGXQUK.cjs} +7 -7
  196. package/dist/{chunk-3YJU3D5S.cjs → chunk-F3LHLYX6.cjs} +2 -2
  197. package/dist/{chunk-HPFQXYKG.cjs → chunk-GBKUGKIY.cjs} +11 -11
  198. package/dist/{chunk-MUXP7ASL.js → chunk-GUZ2DNDC.js} +3 -3
  199. package/dist/{chunk-K6F25JXT.js → chunk-GZCU6HXD.js} +2 -2
  200. package/dist/{chunk-USQ43DJ5.js → chunk-HFUHQUPQ.js} +2 -2
  201. package/dist/{chunk-7JN6FJ55.js → chunk-HU7T64Y3.js} +2 -2
  202. package/dist/{chunk-OYMJVU66.cjs → chunk-IDJCFYPP.cjs} +16 -16
  203. package/dist/{chunk-KD4YYIIO.cjs → chunk-IHK2FRTS.cjs} +2 -2
  204. package/dist/{chunk-Q5SZIU7Z.cjs → chunk-JFQ53MO4.cjs} +1 -1
  205. package/dist/{chunk-7PQJCLIR.js → chunk-KMG7OMOS.js} +2 -2
  206. package/dist/{chunk-MT7UWY6T.cjs → chunk-L27C5O4W.cjs} +4 -4
  207. package/dist/chunk-LFTCK2VM.cjs +1194 -0
  208. package/dist/{chunk-EJBHR2P5.js → chunk-LI4XJTEA.js} +3 -3
  209. package/dist/{chunk-45VJGBGN.js → chunk-LQLOOUS3.js} +2 -2
  210. package/dist/{chunk-PL6DRFUO.cjs → chunk-MOMLQP7B.cjs} +2 -2
  211. package/dist/{chunk-OF7JIYBY.cjs → chunk-MYHBC3HA.cjs} +2 -2
  212. package/dist/{chunk-LKK2AA7W.js → chunk-MYRLCN6V.js} +2 -2
  213. package/dist/{chunk-6ACKL3WH.cjs → chunk-N2BTMKF2.cjs} +5 -5
  214. package/dist/chunk-N2COYOXE.cjs +526 -0
  215. package/dist/{chunk-2TL37AP5.cjs → chunk-N3OLFKV5.cjs} +1 -1
  216. package/dist/{chunk-5JSDQ6QQ.cjs → chunk-NDO22RER.cjs} +2 -2
  217. package/dist/{chunk-XD3JGL5O.js → chunk-NE7IUGMK.js} +3 -3
  218. package/dist/{chunk-F6RYCBQG.js → chunk-NFXHIO3G.js} +1 -1
  219. package/dist/chunk-NJCHFXGC.js +1170 -0
  220. package/dist/chunk-NT6CJYI3.cjs +129 -0
  221. package/dist/chunk-O43DOE7V.js +106 -0
  222. package/dist/{chunk-GNEZD7KE.cjs → chunk-O4BOBOYV.cjs} +2 -2
  223. package/dist/{chunk-3AS5B7MQ.cjs → chunk-OGPDCBPD.cjs} +12 -12
  224. package/dist/{chunk-6YQTMI55.js → chunk-OHFZ7L4T.js} +2 -2
  225. package/dist/{chunk-CEJ7VBR6.js → chunk-OHIFKN4E.js} +4 -4
  226. package/dist/{chunk-46VXFTEC.js → chunk-OQU3TJCF.js} +3 -3
  227. package/dist/{chunk-5TKC6IEN.js → chunk-PEJLXJQD.js} +1 -1
  228. package/dist/{chunk-HWFM4MAT.js → chunk-PKHITACT.js} +2 -2
  229. package/dist/{chunk-CHMCL7AV.js → chunk-PNZJFLMY.js} +3 -3
  230. package/dist/{chunk-XRR3CYQL.js → chunk-QP7RXZES.js} +2 -2
  231. package/dist/{chunk-QGHYQCF3.cjs → chunk-QY76WTO5.cjs} +9 -9
  232. package/dist/{chunk-EIY7KEJ3.cjs → chunk-R74TZKJS.cjs} +4 -4
  233. package/dist/{chunk-GNEZQMKH.js → chunk-REMJWNAT.js} +5 -5
  234. package/dist/{chunk-SWBWZIL4.cjs → chunk-S6OKX4H7.cjs} +2 -2
  235. package/dist/{chunk-EC4WGEAJ.js → chunk-SABWUELE.js} +2 -2
  236. package/dist/{chunk-QKQHZIF3.cjs → chunk-SG42F5VB.cjs} +2 -2
  237. package/dist/{chunk-5C2AI2SD.js → chunk-SQIWPU6V.js} +2 -2
  238. package/dist/{chunk-ZIP7F4UF.cjs → chunk-SYWTT5TY.cjs} +5 -5
  239. package/dist/{chunk-OBEKX4VR.js → chunk-TVUBGXWA.js} +2 -2
  240. package/dist/{chunk-7PNJI5UE.cjs → chunk-U2H4DRMV.cjs} +2 -2
  241. package/dist/{chunk-6LZ54NPO.cjs → chunk-VAXWWJJP.cjs} +34 -24
  242. package/dist/{chunk-DQTSTJ6O.js → chunk-VNNQYJLT.js} +4 -4
  243. package/dist/{chunk-KGSADAOD.cjs → chunk-VSUMJX6Z.cjs} +2 -2
  244. package/dist/{chunk-ON4DEDMI.js → chunk-W5CJC7S7.js} +3 -3
  245. package/dist/{chunk-AXZ7ELMA.js → chunk-WEJKY3DF.js} +2 -2
  246. package/dist/{chunk-EQEJTN3V.js → chunk-WXWFMWWF.js} +3 -3
  247. package/dist/{chunk-TEEFR2FD.js → chunk-XHQGMMH7.js} +2 -2
  248. package/dist/{chunk-XTIN5545.js → chunk-XVP7IKLZ.js} +32 -22
  249. package/dist/{chunk-ELNT3CFO.js → chunk-Y5F7ZTBH.js} +2 -2
  250. package/dist/{chunk-QCILPZWP.js → chunk-YJEXAO2I.js} +2 -2
  251. package/dist/{chunk-7ABFUIOB.cjs → chunk-YNCDTKAE.cjs} +2 -2
  252. package/dist/{chunk-35ZGBAA3.cjs → chunk-YSCIMHOI.cjs} +6 -6
  253. package/dist/{chunk-AWXCSX6J.js → chunk-YSXD344H.js} +5 -5
  254. package/dist/{chunk-OF3SGLZY.js → chunk-YT5NLCRC.js} +10 -2
  255. package/dist/{chunk-HZSIUOCN.cjs → chunk-YUKXNWVE.cjs} +1 -1
  256. package/dist/{chunk-65FIH5A3.js → chunk-YVTLHTG6.js} +2 -2
  257. package/dist/{chunk-GENABQYA.cjs → chunk-Z4PZ2ZHI.cjs} +2 -2
  258. package/dist/{chunk-FBVVRTX2.cjs → chunk-ZPKHGKVL.cjs} +4 -4
  259. package/dist/{chunk-FJNWUELL.js → chunk-ZPP7LTHP.js} +3 -3
  260. package/dist/{chunk-IZOHYJUQ.cjs → chunk-ZWCDB5PP.cjs} +2 -2
  261. package/dist/index.cjs +226 -183
  262. package/dist/index.d.cts +7 -5
  263. package/dist/index.d.ts +7 -5
  264. package/dist/index.js +49 -46
  265. package/dist/styles.css +873 -200
  266. package/dist/{tokens-BIIUTPKN.css → tokens-EF34LSWI.css} +42 -17
  267. package/dist/tokens.css +42 -17
  268. package/docs/llms/alert.md +4 -3
  269. package/docs/llms/button.md +4 -3
  270. package/docs/llms/cascader.md +3 -0
  271. package/docs/llms/image.md +72 -1
  272. package/docs/llms/input.md +3 -2
  273. package/docs/llms/select.md +2 -2
  274. package/docs/llms/surface.md +90 -0
  275. package/docs/llms/tag.md +3 -2
  276. package/docs/llms/theme.md +65 -6
  277. package/docs/llms/themepanel.md +128 -0
  278. package/docs/llms.md +6 -4
  279. package/package.json +16 -1
  280. package/dist/Button-SDQD25AG.css +0 -98
  281. package/dist/chunk-B2KEZQ6S.cjs +0 -116
  282. package/dist/chunk-NN25YMOL.js +0 -251
  283. package/dist/chunk-PH3YECMF.js +0 -90
  284. package/dist/chunk-RF2EY5JS.cjs +0 -281
package/README.md CHANGED
@@ -92,10 +92,11 @@ package/
92
92
  所有设计令牌都在 `:root` 上定义,可以通过 `data-*` 属性切换主题:
93
93
 
94
94
  ```html
95
- <html data-theme="dark" data-accent="sky" data-density="compact">
95
+ <html data-theme="dark" data-theme-mode="graphite" data-accent="sky" data-density="compact">
96
96
  ```
97
97
 
98
98
  - `data-theme`: `light` | `dark`
99
+ - `data-theme-mode`: 当前模式名,例如 `light` / `dark` / `system` / 自定义模式名
99
100
  - `data-accent`: `rose` | `sky` | `coral` | `mint` | `violet` | `amber`
100
101
  - `data-density`: `compact` | `comfortable` | `spacious`
101
102
 
@@ -6,7 +6,7 @@
6
6
  padding: 14px 16px;
7
7
  border-radius: var(--r-md);
8
8
  background: var(--bg);
9
- box-shadow: var(--neu-in-sm);
9
+ box-shadow: var(--neu-shadow-inset);
10
10
  position: relative;
11
11
  }
12
12
  .alert-ico {
@@ -14,6 +14,13 @@
14
14
  display: grid; place-items: center;
15
15
  flex-shrink: 0;
16
16
  margin-top: 1px;
17
+ line-height: 0;
18
+ }
19
+ .alert-ico img {
20
+ display: block;
21
+ width: 16px;
22
+ height: 16px;
23
+ object-fit: contain;
17
24
  }
18
25
  .alert.info .alert-ico { color: var(--info); }
19
26
  .alert.success .alert-ico { color: var(--success); }
@@ -43,4 +50,4 @@
43
50
  cursor: pointer;
44
51
  border: none; background: transparent;
45
52
  }
46
- .alert-close:hover { color: var(--fg); background: var(--bg); box-shadow: var(--neu-flat); }
53
+ .alert-close:hover { color: var(--fg); background: var(--bg); box-shadow: var(--neu-shadow-subtle); }
package/dist/Alert.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunk35ZGBAA3_cjs = require('./chunk-35ZGBAA3.cjs');
4
- require('./chunk-TJII7BQ2.cjs');
3
+ var chunkYSCIMHOI_cjs = require('./chunk-YSCIMHOI.cjs');
4
+ require('./chunk-6LARTGLP.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Alert", {
9
9
  enumerable: true,
10
- get: function () { return chunk35ZGBAA3_cjs.Alert; }
10
+ get: function () { return chunkYSCIMHOI_cjs.Alert; }
11
11
  });
package/dist/Alert.d.cts CHANGED
@@ -1,12 +1,13 @@
1
1
  import * as React from 'react';
2
- import { IconName } from './Icon.cjs';
2
+ import { IconSlot } from './Icon.cjs';
3
+ import 'react/jsx-runtime';
3
4
 
4
5
  type AlertTone = "info" | "success" | "warning" | "danger";
5
6
  interface AlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title" | "children"> {
6
7
  tone?: AlertTone;
7
8
  title?: React.ReactNode;
8
9
  children?: React.ReactNode;
9
- icon?: IconName;
10
+ icon?: IconSlot;
10
11
  /** Controls the leading semantic icon. Defaults to `true`. */
11
12
  showIcon?: boolean;
12
13
  closable?: boolean;
package/dist/Alert.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import * as React from 'react';
2
- import { IconName } from './Icon.js';
2
+ import { IconSlot } from './Icon.js';
3
+ import 'react/jsx-runtime';
3
4
 
4
5
  type AlertTone = "info" | "success" | "warning" | "danger";
5
6
  interface AlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title" | "children"> {
6
7
  tone?: AlertTone;
7
8
  title?: React.ReactNode;
8
9
  children?: React.ReactNode;
9
- icon?: IconName;
10
+ icon?: IconSlot;
10
11
  /** Controls the leading semantic icon. Defaults to `true`. */
11
12
  showIcon?: boolean;
12
13
  closable?: boolean;
package/dist/Alert.js CHANGED
@@ -1,2 +1,2 @@
1
- export { Alert } from './chunk-UMDGS4BP.js';
2
- import './chunk-OF3SGLZY.js';
1
+ export { Alert } from './chunk-3YP7CBJT.js';
2
+ import './chunk-YT5NLCRC.js';
@@ -43,7 +43,7 @@
43
43
  border: none; padding: 0;
44
44
  border-radius: 999px;
45
45
  background: var(--bg);
46
- box-shadow: var(--neu-flat);
46
+ box-shadow: var(--neu-shadow-subtle);
47
47
  position: relative;
48
48
  cursor: pointer;
49
49
  transition: transform var(--dur-fast) var(--ease);
@@ -84,7 +84,7 @@
84
84
  overflow: visible;
85
85
  }
86
86
  .win-controls.windows .win-btn svg { display: block; flex-shrink: 0; }
87
- .win-controls.windows .win-btn:hover { background: var(--bg); box-shadow: var(--neu-in-sm); color: var(--fg); }
87
+ .win-controls.windows .win-btn:hover { background: var(--bg); box-shadow: var(--neu-shadow-inset); color: var(--fg); }
88
88
  .win-controls.windows .win-btn.close:hover {
89
89
  background: var(--danger);
90
90
  color: white;
@@ -121,11 +121,11 @@
121
121
  width: 100%;
122
122
  transition: all var(--dur-fast) var(--ease);
123
123
  }
124
- .sidebar-item:hover { color: var(--fg); background: var(--bg); box-shadow: var(--neu-flat); }
124
+ .sidebar-item:hover { color: var(--fg); background: var(--bg); box-shadow: var(--neu-shadow-subtle); }
125
125
  .sidebar-item.active {
126
126
  color: var(--accent-ink);
127
127
  background: var(--bg);
128
- box-shadow: var(--neu-in-sm);
128
+ box-shadow: var(--neu-shadow-inset);
129
129
  font-weight: 500;
130
130
  }
131
131
  .sidebar-icon { display: inline-flex; flex-shrink: 0; }
package/dist/AppShell.cjs CHANGED
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var chunk7ABFUIOB_cjs = require('./chunk-7ABFUIOB.cjs');
3
+ var chunkYNCDTKAE_cjs = require('./chunk-YNCDTKAE.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "AppShell", {
8
8
  enumerable: true,
9
- get: function () { return chunk7ABFUIOB_cjs.AppShell; }
9
+ get: function () { return chunkYNCDTKAE_cjs.AppShell; }
10
10
  });
11
11
  Object.defineProperty(exports, "Sidebar", {
12
12
  enumerable: true,
13
- get: function () { return chunk7ABFUIOB_cjs.Sidebar; }
13
+ get: function () { return chunkYNCDTKAE_cjs.Sidebar; }
14
14
  });
15
15
  Object.defineProperty(exports, "TitleBar", {
16
16
  enumerable: true,
17
- get: function () { return chunk7ABFUIOB_cjs.TitleBar; }
17
+ get: function () { return chunkYNCDTKAE_cjs.TitleBar; }
18
18
  });
19
19
  Object.defineProperty(exports, "WindowControls", {
20
20
  enumerable: true,
21
- get: function () { return chunk7ABFUIOB_cjs.WindowControls; }
21
+ get: function () { return chunkYNCDTKAE_cjs.WindowControls; }
22
22
  });
package/dist/AppShell.js CHANGED
@@ -1 +1 @@
1
- export { AppShell, Sidebar, TitleBar, WindowControls } from './chunk-XRR3CYQL.js';
1
+ export { AppShell, Sidebar, TitleBar, WindowControls } from './chunk-QP7RXZES.js';
@@ -9,7 +9,7 @@
9
9
  z-index: 1500;
10
10
  background: var(--bg);
11
11
  border-radius: var(--r-md);
12
- box-shadow: var(--neu-float);
12
+ box-shadow: var(--neu-shadow-float);
13
13
  padding: 6px;
14
14
  max-height: 280px;
15
15
  overflow-y: auto;
@@ -43,7 +43,7 @@
43
43
  .autocomplete-item.active:not(:disabled) {
44
44
  background: var(--bg);
45
45
  color: var(--accent-ink);
46
- box-shadow: var(--neu-in-sm);
46
+ box-shadow: var(--neu-shadow-inset);
47
47
  }
48
48
 
49
49
  .autocomplete-empty {
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var chunkSKMP2A5O_cjs = require('./chunk-SKMP2A5O.cjs');
3
+ var chunk66GXZQKL_cjs = require('./chunk-66GXZQKL.cjs');
4
4
  require('./chunk-YB3IWIOJ.cjs');
5
- require('./chunk-6LZ54NPO.cjs');
6
- require('./chunk-OQBDU5I2.cjs');
7
- require('./chunk-TJII7BQ2.cjs');
5
+ require('./chunk-VAXWWJJP.cjs');
6
+ require('./chunk-5NFSDFBB.cjs');
7
+ require('./chunk-6LARTGLP.cjs');
8
8
 
9
9
 
10
10
 
11
11
  Object.defineProperty(exports, "AutoComplete", {
12
12
  enumerable: true,
13
- get: function () { return chunkSKMP2A5O_cjs.AutoComplete; }
13
+ get: function () { return chunk66GXZQKL_cjs.AutoComplete; }
14
14
  });
@@ -1,5 +1,5 @@
1
- export { AutoComplete } from './chunk-FJNWUELL.js';
1
+ export { AutoComplete } from './chunk-ZPP7LTHP.js';
2
2
  import './chunk-DUFRASGO.js';
3
- import './chunk-XTIN5545.js';
4
- import './chunk-WGZ2KJTZ.js';
5
- import './chunk-OF3SGLZY.js';
3
+ import './chunk-XVP7IKLZ.js';
4
+ import './chunk-56PHETWO.js';
5
+ import './chunk-YT5NLCRC.js';
@@ -4,7 +4,7 @@
4
4
  width: var(--size); height: var(--size);
5
5
  border-radius: 999px;
6
6
  background: var(--bg);
7
- box-shadow: var(--neu-out-sm);
7
+ box-shadow: var(--neu-shadow-control);
8
8
  display: grid; place-items: center;
9
9
  overflow: hidden;
10
10
  color: var(--accent-ink);
package/dist/Avatar.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkSWBWZIL4_cjs = require('./chunk-SWBWZIL4.cjs');
3
+ var chunkS6OKX4H7_cjs = require('./chunk-S6OKX4H7.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "Avatar", {
8
8
  enumerable: true,
9
- get: function () { return chunkSWBWZIL4_cjs.Avatar; }
9
+ get: function () { return chunkS6OKX4H7_cjs.Avatar; }
10
10
  });
package/dist/Avatar.js CHANGED
@@ -1 +1 @@
1
- export { Avatar } from './chunk-7PQJCLIR.js';
1
+ export { Avatar } from './chunk-KMG7OMOS.js';
package/dist/Badge.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkQ5SZIU7Z_cjs = require('./chunk-Q5SZIU7Z.cjs');
3
+ var chunkJFQ53MO4_cjs = require('./chunk-JFQ53MO4.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "Badge", {
8
8
  enumerable: true,
9
- get: function () { return chunkQ5SZIU7Z_cjs.Badge; }
9
+ get: function () { return chunkJFQ53MO4_cjs.Badge; }
10
10
  });
package/dist/Badge.d.cts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { TagTone } from './Tag.cjs';
3
3
  import './Icon.cjs';
4
+ import 'react/jsx-runtime';
4
5
 
5
6
  interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
6
7
  /** Numeric count — renders as "max+" if greater than `max`. */
package/dist/Badge.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { TagTone } from './Tag.js';
3
3
  import './Icon.js';
4
+ import 'react/jsx-runtime';
4
5
 
5
6
  interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
6
7
  /** Numeric count — renders as "max+" if greater than `max`. */
package/dist/Badge.js CHANGED
@@ -1 +1 @@
1
- export { Badge } from './chunk-F6RYCBQG.js';
1
+ export { Badge } from './chunk-NFXHIO3G.js';
@@ -0,0 +1,118 @@
1
+ /* ============ Button ============ */
2
+ .btn {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ gap: 8px;
7
+ height: var(--ctrl-h);
8
+ padding: 0 var(--ctrl-pad-x);
9
+ border: 1px solid transparent;
10
+ border-radius: var(--r-md);
11
+ font-size: var(--fs-md);
12
+ font-weight: 500;
13
+ font-family: inherit;
14
+ color: var(--fg);
15
+ background: var(--bg);
16
+ box-shadow: var(--neu-shadow-control);
17
+ cursor: pointer;
18
+ user-select: none;
19
+ white-space: nowrap;
20
+ flex-shrink: 0;
21
+ transition:
22
+ background var(--dur-fast) var(--ease),
23
+ box-shadow var(--dur-fast) var(--ease),
24
+ color var(--dur-fast) var(--ease);
25
+ }
26
+ .btn > svg,
27
+ .btn-icon-slot {
28
+ flex-shrink: 0;
29
+ }
30
+ .btn-icon-slot {
31
+ display: inline-flex;
32
+ align-items: center;
33
+ justify-content: center;
34
+ line-height: 0;
35
+ }
36
+ .btn-icon-slot img {
37
+ display: block;
38
+ max-width: 1.25em;
39
+ max-height: 1.25em;
40
+ object-fit: contain;
41
+ }
42
+ .btn.icon {
43
+ flex-shrink: 0;
44
+ overflow: visible;
45
+ }
46
+
47
+ .btn.primary {
48
+ color: var(--accent-ink);
49
+ background: color-mix(in oklch, var(--accent-soft) 62%, var(--bg));
50
+ font-weight: 600;
51
+ }
52
+
53
+ .btn.ghost {
54
+ background: transparent;
55
+ box-shadow: none;
56
+ color: var(--fg-muted);
57
+ }
58
+
59
+ .btn.danger { color: var(--danger); }
60
+
61
+ .btn:hover {
62
+ box-shadow: var(--neu-shadow-panel);
63
+ }
64
+ .btn.ghost:hover {
65
+ background: var(--bg);
66
+ border-color: transparent;
67
+ box-shadow: var(--neu-shadow-subtle);
68
+ color: var(--fg);
69
+ }
70
+ .btn.danger:hover {
71
+ color: var(--danger);
72
+ }
73
+ .btn:active,
74
+ .btn.pressed {
75
+ box-shadow: var(--neu-shadow-inset-strong);
76
+ }
77
+ .btn.ghost:active,
78
+ .btn.ghost.pressed {
79
+ background: var(--bg);
80
+ color: var(--fg);
81
+ }
82
+ .btn.danger:active,
83
+ .btn.danger.pressed {
84
+ color: var(--danger);
85
+ }
86
+
87
+ .btn.icon { width: var(--ctrl-h); padding: 0; }
88
+ .btn.sm { height: var(--ctrl-h-sm); padding: 0 var(--ctrl-pad-x-sm); font-size: var(--fs-sm); border-radius: var(--r-sm); }
89
+ .btn.sm.icon { width: var(--ctrl-h-sm); padding: 0; }
90
+ .btn.lg { height: var(--ctrl-h-lg); padding: 0 var(--ctrl-pad-x-lg); font-size: var(--fs-xl); border-radius: var(--r-lg); }
91
+ .btn.lg.icon { width: var(--ctrl-h-lg); padding: 0; }
92
+
93
+ .btn.block { width: 100%; flex-shrink: 1; }
94
+
95
+ .btn[disabled], .btn.disabled, .btn:disabled {
96
+ color: var(--fg-subtle);
97
+ cursor: not-allowed;
98
+ border-color: transparent;
99
+ box-shadow: var(--neu-shadow-subtle);
100
+ transform: none;
101
+ }
102
+ .btn[disabled]:hover, .btn:disabled:hover, .btn.disabled:hover {
103
+ color: var(--fg-subtle);
104
+ background: var(--bg);
105
+ border-color: transparent;
106
+ box-shadow: var(--neu-shadow-subtle);
107
+ transform: none;
108
+ }
109
+
110
+ .btn.loading { cursor: wait; }
111
+ .btn .spinner {
112
+ width: 14px; height: 14px;
113
+ border-radius: 999px;
114
+ border: 2px solid currentColor;
115
+ border-right-color: transparent;
116
+ animation: spin 0.8s linear infinite;
117
+ display: inline-block;
118
+ }
package/dist/Button.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunk5WAXZJG5_cjs = require('./chunk-5WAXZJG5.cjs');
4
- require('./chunk-TJII7BQ2.cjs');
3
+ var chunk2ZADGBUN_cjs = require('./chunk-2ZADGBUN.cjs');
4
+ require('./chunk-6LARTGLP.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Button", {
9
9
  enumerable: true,
10
- get: function () { return chunk5WAXZJG5_cjs.Button; }
10
+ get: function () { return chunk2ZADGBUN_cjs.Button; }
11
11
  });
package/dist/Button.d.cts CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- import { IconName } from './Icon.cjs';
2
+ import { IconSlot } from './Icon.cjs';
3
+ import 'react/jsx-runtime';
3
4
 
4
5
  type ButtonVariant = "default" | "primary" | "ghost" | "danger";
5
6
  type ButtonSize = "sm" | "md" | "lg";
@@ -8,10 +9,10 @@ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
8
9
  variant?: ButtonVariant;
9
10
  /** Control height preset. */
10
11
  size?: ButtonSize;
11
- /** Leading icon. */
12
- icon?: IconName;
13
- /** Trailing icon. */
14
- trailingIcon?: IconName;
12
+ /** Leading icon. Accepts a built-in icon name or custom React node. */
13
+ icon?: IconSlot;
14
+ /** Trailing icon. Accepts a built-in icon name or custom React node. */
15
+ trailingIcon?: IconSlot;
15
16
  /** Render as a square icon-only button. Automatically enabled when `icon` is set and no children are provided. */
16
17
  iconOnly?: boolean;
17
18
  /** Native tooltip/title for compact icon-only buttons. */
package/dist/Button.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- import { IconName } from './Icon.js';
2
+ import { IconSlot } from './Icon.js';
3
+ import 'react/jsx-runtime';
3
4
 
4
5
  type ButtonVariant = "default" | "primary" | "ghost" | "danger";
5
6
  type ButtonSize = "sm" | "md" | "lg";
@@ -8,10 +9,10 @@ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
8
9
  variant?: ButtonVariant;
9
10
  /** Control height preset. */
10
11
  size?: ButtonSize;
11
- /** Leading icon. */
12
- icon?: IconName;
13
- /** Trailing icon. */
14
- trailingIcon?: IconName;
12
+ /** Leading icon. Accepts a built-in icon name or custom React node. */
13
+ icon?: IconSlot;
14
+ /** Trailing icon. Accepts a built-in icon name or custom React node. */
15
+ trailingIcon?: IconSlot;
15
16
  /** Render as a square icon-only button. Automatically enabled when `icon` is set and no children are provided. */
16
17
  iconOnly?: boolean;
17
18
  /** Native tooltip/title for compact icon-only buttons. */
package/dist/Button.js CHANGED
@@ -1,2 +1,2 @@
1
- export { Button } from './chunk-JD7A6VM3.js';
2
- import './chunk-OF3SGLZY.js';
1
+ export { Button } from './chunk-CNGKJYGZ.js';
2
+ import './chunk-YT5NLCRC.js';
@@ -3,7 +3,7 @@
3
3
  background: var(--bg);
4
4
  border-radius: var(--r-lg);
5
5
  padding: var(--gap-4);
6
- box-shadow: var(--neu-out);
6
+ box-shadow: var(--neu-shadow-panel);
7
7
  width: 320px;
8
8
  }
9
9
  .calendar-head {
@@ -18,7 +18,7 @@
18
18
  font-family: inherit;
19
19
  transition: all var(--dur-fast) var(--ease);
20
20
  }
21
- .calendar-title:hover { background: var(--bg); box-shadow: var(--neu-flat); }
21
+ .calendar-title:hover { background: var(--bg); box-shadow: var(--neu-shadow-subtle); }
22
22
  .calendar-grid {
23
23
  display: grid;
24
24
  grid-template-columns: repeat(7, 1fr);
@@ -47,7 +47,7 @@
47
47
  transition: all var(--dur-fast) var(--ease);
48
48
  }
49
49
  .calendar-cell.out { color: var(--fg-subtle); opacity: 0.5; }
50
- .calendar-cell:hover { background: var(--bg); box-shadow: var(--neu-flat); }
50
+ .calendar-cell:hover { background: var(--bg); box-shadow: var(--neu-shadow-subtle); }
51
51
  .calendar-cell.today { font-weight: 700; color: var(--accent-ink); }
52
52
  .calendar-cell.today::after {
53
53
  content: ""; position: absolute; bottom: 4px; left: 50%;
@@ -57,7 +57,7 @@
57
57
  }
58
58
  .calendar-cell.selected {
59
59
  background: var(--bg);
60
- box-shadow: var(--neu-in-sm);
60
+ box-shadow: var(--neu-shadow-inset);
61
61
  color: var(--accent-ink);
62
62
  font-weight: 600;
63
63
  }
package/dist/Calendar.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunk4WTU5P3O_cjs = require('./chunk-4WTU5P3O.cjs');
4
- require('./chunk-TJII7BQ2.cjs');
3
+ var chunkACQSRMLF_cjs = require('./chunk-ACQSRMLF.cjs');
4
+ require('./chunk-6LARTGLP.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Calendar", {
9
9
  enumerable: true,
10
- get: function () { return chunk4WTU5P3O_cjs.Calendar; }
10
+ get: function () { return chunkACQSRMLF_cjs.Calendar; }
11
11
  });
package/dist/Calendar.js CHANGED
@@ -1,2 +1,2 @@
1
- export { Calendar } from './chunk-33NCTOEB.js';
2
- import './chunk-OF3SGLZY.js';
1
+ export { Calendar } from './chunk-CEZ2DR4R.js';
2
+ import './chunk-YT5NLCRC.js';
@@ -2,11 +2,11 @@
2
2
  .card {
3
3
  background: var(--bg);
4
4
  border-radius: var(--r-lg);
5
- box-shadow: var(--neu-out);
5
+ box-shadow: var(--neu-shadow-panel);
6
6
  padding: var(--gap-5);
7
7
  }
8
- .card.flat { box-shadow: var(--neu-flat); }
9
- .card.sunken { box-shadow: var(--neu-in); }
8
+ .card.flat { box-shadow: var(--neu-shadow-subtle); }
9
+ .card.sunken { box-shadow: var(--neu-shadow-inset-strong); }
10
10
  .card.pad-none { padding: 0; }
11
11
  .card.pad-sm { padding: var(--gap-3); }
12
12
  .card.pad-lg { padding: var(--gap-6); }
@@ -17,10 +17,10 @@
17
17
  }
18
18
  .card.hoverable:hover {
19
19
  transform: translateY(-3px);
20
- box-shadow: var(--neu-out-lg);
20
+ box-shadow: var(--neu-shadow-lift);
21
21
  }
22
- .card.hoverable.flat:hover { box-shadow: var(--neu-out-sm); }
23
- .card.hoverable.sunken:hover { box-shadow: var(--neu-out); }
22
+ .card.hoverable.flat:hover { box-shadow: var(--neu-shadow-control); }
23
+ .card.hoverable.sunken:hover { box-shadow: var(--neu-shadow-panel); }
24
24
 
25
25
  .card-head {
26
26
  display: flex; align-items: flex-start; justify-content: space-between;
package/dist/Card.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkGMN74OEY_cjs = require('./chunk-GMN74OEY.cjs');
3
+ var chunkCBKJXKVI_cjs = require('./chunk-CBKJXKVI.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "Card", {
8
8
  enumerable: true,
9
- get: function () { return chunkGMN74OEY_cjs.Card; }
9
+ get: function () { return chunkCBKJXKVI_cjs.Card; }
10
10
  });
package/dist/Card.js CHANGED
@@ -1 +1 @@
1
- export { Card } from './chunk-AXZ7ELMA.js';
1
+ export { Card } from './chunk-WEJKY3DF.js';
@@ -11,7 +11,7 @@
11
11
  padding: 0 36px 0 var(--ctrl-pad-x);
12
12
  border-radius: var(--r-md);
13
13
  background: var(--bg);
14
- box-shadow: var(--neu-out-sm);
14
+ box-shadow: var(--neu-shadow-control);
15
15
  display: inline-flex;
16
16
  align-items: center;
17
17
  font-size: 13px;
@@ -23,7 +23,7 @@
23
23
  text-align: left;
24
24
  }
25
25
  .cascader-trigger.placeholder { color: var(--fg-subtle); }
26
- .cascader.open .cascader-trigger { box-shadow: var(--neu-in-sm); color: var(--accent-ink); }
26
+ .cascader.open .cascader-trigger { box-shadow: var(--neu-shadow-inset); color: var(--accent-ink); }
27
27
  .cascader-clear {
28
28
  position: absolute;
29
29
  right: 30px;
@@ -33,7 +33,7 @@
33
33
  height: 20px;
34
34
  border-radius: 999px;
35
35
  background: var(--bg);
36
- box-shadow: var(--neu-out-sm);
36
+ box-shadow: var(--neu-shadow-control);
37
37
  display: inline-grid;
38
38
  place-items: center;
39
39
  color: var(--fg-subtle);
@@ -41,13 +41,13 @@
41
41
  transition: all var(--dur-fast) var(--ease);
42
42
  }
43
43
  .cascader:hover .cascader-clear { opacity: 1; }
44
- .cascader-clear:hover { color: var(--accent-ink); box-shadow: var(--neu-in-sm); }
44
+ .cascader-clear:hover { color: var(--accent-ink); box-shadow: var(--neu-shadow-inset); }
45
45
  .cascader-panel {
46
46
  z-index: 1000;
47
47
  display: flex;
48
48
  background: var(--bg);
49
49
  border-radius: var(--r-md);
50
- box-shadow: var(--neu-float);
50
+ box-shadow: var(--neu-shadow-float);
51
51
  padding: 6px;
52
52
  animation: menuIn var(--dur) var(--ease);
53
53
  gap: 4px;
@@ -88,7 +88,7 @@
88
88
  }
89
89
  .cascader-search-item:hover {
90
90
  background: var(--bg);
91
- box-shadow: var(--neu-flat);
91
+ box-shadow: var(--neu-shadow-subtle);
92
92
  color: var(--accent-ink);
93
93
  }
94
94
  .cascader-path-sep { color: var(--fg-subtle); }
@@ -126,10 +126,23 @@
126
126
  width: 100%;
127
127
  text-align: left;
128
128
  }
129
- .cascader-item:hover { background: var(--bg); box-shadow: var(--neu-flat); color: var(--accent-ink); }
129
+ .cascader-icon {
130
+ display: inline-flex;
131
+ align-items: center;
132
+ justify-content: center;
133
+ line-height: 0;
134
+ flex-shrink: 0;
135
+ }
136
+ .cascader-icon img {
137
+ display: block;
138
+ width: 15px;
139
+ height: 15px;
140
+ object-fit: contain;
141
+ }
142
+ .cascader-item:hover { background: var(--bg); box-shadow: var(--neu-shadow-subtle); color: var(--accent-ink); }
130
143
  .cascader-item.active {
131
144
  background: var(--bg);
132
- box-shadow: var(--neu-in-sm);
145
+ box-shadow: var(--neu-shadow-inset);
133
146
  color: var(--accent-ink);
134
147
  font-weight: 500;
135
148
  }