@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
@@ -1,6 +1,6 @@
1
- import { Input } from './chunk-XTIN5545.js';
2
- import { Icon } from './chunk-OF3SGLZY.js';
3
- import './tokens-BIIUTPKN.css';
1
+ import { Input } from './chunk-XVP7IKLZ.js';
2
+ import { Icon } from './chunk-YT5NLCRC.js';
3
+ import './tokens-EF34LSWI.css';
4
4
  import './shared-NJHRNLRH.css';
5
5
  import './InputNumber-VXQIWLQC.css';
6
6
  import * as React from 'react';
@@ -1,6 +1,6 @@
1
- import './tokens-BIIUTPKN.css';
1
+ import './tokens-EF34LSWI.css';
2
2
  import './shared-NJHRNLRH.css';
3
- import './Empty-DC2LPORC.css';
3
+ import './Empty-CZTRZMZQ.css';
4
4
  import * as React from 'react';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
6
6
 
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- require('./tokens-BIIUTPKN.css');
3
+ require('./tokens-EF34LSWI.css');
4
4
  require('./shared-NJHRNLRH.css');
5
- require('./Progress-CHV7DN6Y.css');
5
+ require('./Progress-CZNXCYGW.css');
6
6
  var React = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkYB3IWIOJ_cjs = require('./chunk-YB3IWIOJ.cjs');
4
- require('./tokens-BIIUTPKN.css');
4
+ require('./tokens-EF34LSWI.css');
5
5
  require('./shared-NJHRNLRH.css');
6
- require('./ColorPicker-SDDQGHCM.css');
6
+ require('./ColorPicker-LPG6QPYF.css');
7
7
  var React = require('react');
8
8
  var reactDom = require('react-dom');
9
9
  var jsxRuntime = require('react/jsx-runtime');
@@ -1,6 +1,6 @@
1
- import './tokens-BIIUTPKN.css';
1
+ import './tokens-EF34LSWI.css';
2
2
  import './shared-NJHRNLRH.css';
3
- import './Divider-OEE4Q2KS.css';
3
+ import './Divider-RPQCVH3J.css';
4
4
  import * as React from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkTJII7BQ2_cjs = require('./chunk-TJII7BQ2.cjs');
4
- require('./tokens-BIIUTPKN.css');
3
+ var chunk6LARTGLP_cjs = require('./chunk-6LARTGLP.cjs');
4
+ require('./tokens-EF34LSWI.css');
5
5
  require('./shared-NJHRNLRH.css');
6
- require('./Message-2MZ3LFPU.css');
6
+ require('./Message-H222YGR6.css');
7
7
  var React = require('react');
8
8
  var reactDom = require('react-dom');
9
9
  var client = require('react-dom/client');
@@ -117,12 +117,12 @@ var MessageContainer = React__namespace.forwardRef(({ placement = "top-right", c
117
117
  /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: `message-container ${placement} ${className}`, ...rest, children: list.map((t) => {
118
118
  const iconName = t.type === "success" ? "check2" : t.type === "warning" || t.type === "error" ? "alert" : "info";
119
119
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `message ${t.type}`, role: "status", children: [
120
- /* @__PURE__ */ jsxRuntime.jsx(chunkTJII7BQ2_cjs.Icon, { name: iconName, size: 18, className: "message-icon" }),
120
+ /* @__PURE__ */ jsxRuntime.jsx(chunk6LARTGLP_cjs.Icon, { name: iconName, size: 18, className: "message-icon" }),
121
121
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "message-body", children: [
122
122
  t.title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "message-title", children: t.title }),
123
123
  t.content && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "message-content", children: t.content })
124
124
  ] }),
125
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "message-close", onClick: () => message.dismiss(t.key ?? t.id), "aria-label": "Dismiss", children: /* @__PURE__ */ jsxRuntime.jsx(chunkTJII7BQ2_cjs.Icon, { name: "x", size: 14 }) })
125
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "message-close", onClick: () => message.dismiss(t.key ?? t.id), "aria-label": "Dismiss", children: /* @__PURE__ */ jsxRuntime.jsx(chunk6LARTGLP_cjs.Icon, { name: "x", size: 14 }) })
126
126
  ] }, t.id);
127
127
  }) }),
128
128
  document.body
@@ -0,0 +1,526 @@
1
+ 'use strict';
2
+
3
+ require('./tokens-EF34LSWI.css');
4
+ var React = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
26
+
27
+ // src/components/Theme/Theme.tsx
28
+ var ACCENT_PRESETS = {
29
+ sky: { accent: "oklch(68% 0.14 235)", ink: "oklch(42% 0.12 235)", soft: "oklch(92% 0.04 235)", glow: "oklch(68% 0.14 235 / 0.35)" },
30
+ coral: { accent: "oklch(72% 0.16 35)", ink: "oklch(48% 0.14 35)", soft: "oklch(94% 0.04 35)", glow: "oklch(72% 0.16 35 / 0.35)" },
31
+ mint: { accent: "oklch(72% 0.13 165)", ink: "oklch(46% 0.11 165)", soft: "oklch(93% 0.04 165)", glow: "oklch(72% 0.13 165 / 0.35)" },
32
+ violet: { accent: "oklch(66% 0.16 290)", ink: "oklch(44% 0.14 290)", soft: "oklch(93% 0.04 290)", glow: "oklch(66% 0.16 290 / 0.35)" },
33
+ amber: { accent: "oklch(76% 0.14 75)", ink: "oklch(50% 0.12 75)", soft: "oklch(94% 0.05 75)", glow: "oklch(76% 0.14 75 / 0.35)" },
34
+ rose: { accent: "oklch(68% 0.17 10)", ink: "oklch(46% 0.15 10)", soft: "oklch(93% 0.04 10)", glow: "oklch(68% 0.17 10 / 0.35)" }
35
+ };
36
+ var ACCENT_PRESETS_DARK = {
37
+ sky: { soft: "oklch(35% 0.08 235)", ink: "oklch(82% 0.10 235)", glow: "oklch(68% 0.14 235 / 0.18)" },
38
+ coral: { soft: "oklch(38% 0.09 35)", ink: "oklch(84% 0.10 35)", glow: "oklch(72% 0.16 35 / 0.18)" },
39
+ mint: { soft: "oklch(36% 0.08 165)", ink: "oklch(83% 0.10 165)", glow: "oklch(72% 0.13 165 / 0.18)" },
40
+ violet: { soft: "oklch(36% 0.09 290)", ink: "oklch(82% 0.11 290)", glow: "oklch(66% 0.16 290 / 0.18)" },
41
+ amber: { soft: "oklch(38% 0.08 75)", ink: "oklch(85% 0.10 75)", glow: "oklch(76% 0.14 75 / 0.18)" },
42
+ rose: { soft: "oklch(38% 0.09 10)", ink: "oklch(84% 0.11 10)", glow: "oklch(68% 0.17 10 / 0.18)" }
43
+ };
44
+ var FONT_STACKS = {
45
+ system: '-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif',
46
+ sf: '"SF Pro Display", -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif',
47
+ serif: 'Cambria, Georgia, "Songti SC", "STSong", serif',
48
+ mono: 'ui-monospace, "SF Mono", "JetBrains Mono", Consolas, monospace'
49
+ };
50
+ var DEFAULT_CONFIG = {
51
+ mode: "light",
52
+ colorScheme: "light",
53
+ accent: "sky",
54
+ density: "comfortable",
55
+ intensity: 5,
56
+ radius: 20,
57
+ font: "sf",
58
+ tokens: {},
59
+ themes: {}
60
+ };
61
+ var isBrowser = typeof window !== "undefined" && typeof document !== "undefined";
62
+ function isThemeBaseMode(mode) {
63
+ return mode === "light" || mode === "dark";
64
+ }
65
+ function isBuiltInThemeMode(mode) {
66
+ return mode === "light" || mode === "dark" || mode === "system";
67
+ }
68
+ var TRANSIENT_THEME_MODES = /* @__PURE__ */ new Set(["__theme_panel_draft__"]);
69
+ function isTransientThemeMode(mode) {
70
+ return mode != null && TRANSIENT_THEME_MODES.has(mode);
71
+ }
72
+ function getThemePreset(themes, mode) {
73
+ if (!mode || isBuiltInThemeMode(mode)) return void 0;
74
+ return themes?.[mode];
75
+ }
76
+ function applyThemePreset(config, mode) {
77
+ const preset = getThemePreset(config.themes, mode);
78
+ if (!preset) {
79
+ return {
80
+ ...config,
81
+ mode,
82
+ colorScheme: isThemeBaseMode(mode) ? mode : config.colorScheme
83
+ };
84
+ }
85
+ return {
86
+ ...config,
87
+ mode,
88
+ colorScheme: preset.base ?? config.colorScheme ?? DEFAULT_CONFIG.colorScheme,
89
+ accent: preset.accent ?? config.accent,
90
+ density: preset.density ?? config.density,
91
+ intensity: preset.intensity ?? config.intensity,
92
+ radius: preset.radius ?? config.radius,
93
+ font: preset.font ?? config.font,
94
+ tokens: preset.tokens ? { ...preset.tokens } : config.tokens
95
+ };
96
+ }
97
+ function resolveThemeConfig(config) {
98
+ const mode = config.mode ?? DEFAULT_CONFIG.mode;
99
+ const themes = config.themes ?? DEFAULT_CONFIG.themes;
100
+ const preset = getThemePreset(themes, mode);
101
+ const presetConfig = preset ? {
102
+ ...preset.base ? { colorScheme: preset.base } : null,
103
+ ...preset.accent ? { accent: preset.accent } : null,
104
+ ...preset.density ? { density: preset.density } : null,
105
+ ...preset.intensity != null ? { intensity: preset.intensity } : null,
106
+ ...preset.radius != null ? { radius: preset.radius } : null,
107
+ ...preset.font ? { font: preset.font } : null
108
+ } : {};
109
+ const merged = {
110
+ ...DEFAULT_CONFIG,
111
+ ...presetConfig,
112
+ ...config,
113
+ mode,
114
+ themes,
115
+ tokens: {
116
+ ...preset?.tokens ?? {},
117
+ ...config.tokens ?? {}
118
+ }
119
+ };
120
+ return {
121
+ ...merged,
122
+ colorScheme: merged.colorScheme ?? preset?.base ?? DEFAULT_CONFIG.colorScheme,
123
+ accent: merged.accent ?? preset?.accent ?? DEFAULT_CONFIG.accent,
124
+ density: merged.density ?? preset?.density ?? DEFAULT_CONFIG.density,
125
+ intensity: merged.intensity ?? preset?.intensity ?? DEFAULT_CONFIG.intensity,
126
+ radius: merged.radius ?? preset?.radius ?? DEFAULT_CONFIG.radius,
127
+ font: merged.font ?? preset?.font ?? DEFAULT_CONFIG.font
128
+ };
129
+ }
130
+ function resolveThemeMode(mode) {
131
+ if (mode !== "system") return mode;
132
+ if (!isBrowser) return "light";
133
+ return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
134
+ }
135
+ function resolveThemeColorScheme(mode, themes, fallback) {
136
+ if (mode === "system") return fallback ?? resolveThemeMode(mode);
137
+ if (isThemeBaseMode(mode)) return mode;
138
+ return getThemePreset(themes, mode)?.base ?? fallback ?? DEFAULT_CONFIG.colorScheme;
139
+ }
140
+ function normalizeAccentInput(input, colorScheme) {
141
+ if (typeof input === "string" && input in ACCENT_PRESETS) {
142
+ const key = input;
143
+ const base = ACCENT_PRESETS[key];
144
+ if (colorScheme === "dark") {
145
+ return { key, palette: { ...base, ...ACCENT_PRESETS_DARK[key] } };
146
+ }
147
+ return { key, palette: base };
148
+ }
149
+ const raw = typeof input === "string" ? { accent: input } : input;
150
+ const { accent } = raw;
151
+ const ink = raw.ink ?? `color-mix(in oklch, ${accent} 65%, black)`;
152
+ const soft = raw.soft ?? (colorScheme === "dark" ? `color-mix(in oklch, ${accent} 30%, black)` : `color-mix(in oklch, ${accent} 15%, white)`);
153
+ const glow = raw.glow ?? (colorScheme === "dark" ? `color-mix(in oklch, ${accent} 18%, transparent)` : `color-mix(in oklch, ${accent} 35%, transparent)`);
154
+ return { key: "custom", palette: { accent, ink, soft, glow } };
155
+ }
156
+ function toVar(key) {
157
+ return key.startsWith("--") ? key : `--${key}`;
158
+ }
159
+ var LEGACY_SHADOW_TOKEN_ALIASES = {
160
+ "--neu-flat": "--neu-shadow-subtle",
161
+ "--neu-out-sm": "--neu-shadow-control",
162
+ "--neu-out": "--neu-shadow-panel",
163
+ "--neu-out-lg": "--neu-shadow-lift",
164
+ "--neu-in-sm": "--neu-shadow-inset",
165
+ "--neu-in": "--neu-shadow-inset-strong",
166
+ "--neu-float": "--neu-shadow-float"
167
+ };
168
+ function applyShadowTokens(target, colorScheme) {
169
+ if (colorScheme === "dark") {
170
+ target.style.setProperty("--shadow-offset", "calc(4px * var(--d) * var(--shadow-scale))");
171
+ target.style.setProperty("--shadow-blur", "calc(10px * var(--d) * var(--shadow-scale))");
172
+ target.style.setProperty("--shadow-inset-offset", "calc(3px * var(--d) * var(--shadow-scale))");
173
+ target.style.setProperty("--shadow-inset-blur", "calc(7px * var(--d) * var(--shadow-scale))");
174
+ } else {
175
+ target.style.setProperty("--shadow-offset", "calc(6px * var(--d) * var(--shadow-scale))");
176
+ target.style.setProperty("--shadow-blur", "calc(16px * var(--d) * var(--shadow-scale))");
177
+ target.style.setProperty("--shadow-inset-offset", "calc(4px * var(--d) * var(--shadow-scale))");
178
+ target.style.setProperty("--shadow-inset-blur", "calc(10px * var(--d) * var(--shadow-scale))");
179
+ }
180
+ target.style.setProperty(
181
+ "--neu-shadow-panel",
182
+ "var(--shadow-offset) var(--shadow-offset) var(--shadow-blur) var(--shadow-dark), calc(var(--shadow-offset) * -1) calc(var(--shadow-offset) * -1) var(--shadow-blur) var(--shadow-light)"
183
+ );
184
+ target.style.setProperty(
185
+ "--neu-shadow-control",
186
+ "calc(var(--shadow-offset) * 0.5) calc(var(--shadow-offset) * 0.5) calc(var(--shadow-blur) * 0.6) var(--shadow-dark), calc(var(--shadow-offset) * -0.5) calc(var(--shadow-offset) * -0.5) calc(var(--shadow-blur) * 0.6) var(--shadow-light)"
187
+ );
188
+ target.style.setProperty(
189
+ "--neu-shadow-lift",
190
+ "calc(var(--shadow-offset) * 1.6) calc(var(--shadow-offset) * 1.6) calc(var(--shadow-blur) * 1.4) var(--shadow-dark), calc(var(--shadow-offset) * -1.6) calc(var(--shadow-offset) * -1.6) calc(var(--shadow-blur) * 1.4) var(--shadow-light)"
191
+ );
192
+ target.style.setProperty(
193
+ "--neu-shadow-inset-strong",
194
+ "inset var(--shadow-inset-offset) var(--shadow-inset-offset) var(--shadow-inset-blur) var(--shadow-dark), inset calc(var(--shadow-inset-offset) * -1) calc(var(--shadow-inset-offset) * -1) var(--shadow-inset-blur) var(--shadow-light)"
195
+ );
196
+ target.style.setProperty(
197
+ "--neu-shadow-inset",
198
+ "inset calc(var(--shadow-inset-offset) * 0.6) calc(var(--shadow-inset-offset) * 0.6) calc(var(--shadow-inset-blur) * 0.6) var(--shadow-dark), inset calc(var(--shadow-inset-offset) * -0.6) calc(var(--shadow-inset-offset) * -0.6) calc(var(--shadow-inset-blur) * 0.6) var(--shadow-light)"
199
+ );
200
+ target.style.setProperty(
201
+ "--neu-shadow-subtle",
202
+ "1px 1px 2px var(--shadow-dark), -1px -1px 2px var(--shadow-light)"
203
+ );
204
+ target.style.setProperty(
205
+ "--neu-shadow-float",
206
+ "0 calc(var(--shadow-offset) * 1.8 * var(--shadow-float-scale)) calc(var(--shadow-blur) * 2.2 * var(--shadow-float-scale)) var(--shadow-dark), 0 calc(var(--shadow-offset) * 0.4 * var(--shadow-float-scale)) calc(var(--shadow-blur) * 0.7 * var(--shadow-float-scale)) var(--shadow-dark)"
207
+ );
208
+ target.style.setProperty("--neu-out", "var(--neu-shadow-panel)");
209
+ target.style.setProperty("--neu-out-sm", "var(--neu-shadow-control)");
210
+ target.style.setProperty("--neu-out-lg", "var(--neu-shadow-lift)");
211
+ target.style.setProperty("--neu-in", "var(--neu-shadow-inset-strong)");
212
+ target.style.setProperty("--neu-in-sm", "var(--neu-shadow-inset)");
213
+ target.style.setProperty("--neu-flat", "var(--neu-shadow-subtle)");
214
+ target.style.setProperty("--neu-float", "var(--neu-shadow-float)");
215
+ }
216
+ function applyTheme(target, config) {
217
+ const cfg = resolveThemeConfig(config);
218
+ resolveThemeMode(cfg.mode);
219
+ const colorScheme = resolveThemeColorScheme(cfg.mode, cfg.themes, cfg.colorScheme);
220
+ const { key, palette } = normalizeAccentInput(cfg.accent, colorScheme);
221
+ target.dataset.theme = colorScheme;
222
+ target.dataset.themeMode = cfg.mode;
223
+ target.dataset.density = cfg.density;
224
+ if (key === "custom") {
225
+ delete target.dataset.accent;
226
+ } else {
227
+ target.dataset.accent = key;
228
+ }
229
+ target.style.setProperty("--accent", palette.accent);
230
+ target.style.setProperty("--accent-ink", palette.ink);
231
+ target.style.setProperty("--accent-soft", palette.soft);
232
+ target.style.setProperty("--accent-glow", palette.glow);
233
+ const intensity = cfg.intensity ?? DEFAULT_CONFIG.intensity;
234
+ target.style.setProperty("--d", String(0.4 + intensity * 0.12));
235
+ applyShadowTokens(target, colorScheme);
236
+ const r = cfg.radius ?? DEFAULT_CONFIG.radius;
237
+ target.style.setProperty("--r-xs", `${Math.max(4, r - 16)}px`);
238
+ target.style.setProperty("--r-sm", `${Math.max(6, r - 12)}px`);
239
+ target.style.setProperty("--r-md", `${Math.max(8, r - 6)}px`);
240
+ target.style.setProperty("--r-lg", `${r}px`);
241
+ target.style.setProperty("--r-xl", `${r + 10}px`);
242
+ const font = cfg.font ?? DEFAULT_CONFIG.font;
243
+ if (typeof font === "string") {
244
+ const stack = FONT_STACKS[font] ?? font;
245
+ target.style.setProperty("--font-sans", stack);
246
+ if (font === "mono") target.style.setProperty("--font-display", FONT_STACKS.mono);
247
+ } else {
248
+ if (font.sans) target.style.setProperty("--font-sans", font.sans);
249
+ if (font.display) target.style.setProperty("--font-display", font.display);
250
+ if (font.mono) target.style.setProperty("--font-mono", font.mono);
251
+ }
252
+ if (cfg.tokens) {
253
+ const tokenVars = new Set(Object.keys(cfg.tokens).map(toVar));
254
+ for (const [k, v] of Object.entries(cfg.tokens)) {
255
+ const variable = toVar(k);
256
+ const semanticAlias = LEGACY_SHADOW_TOKEN_ALIASES[variable];
257
+ if (semanticAlias && !tokenVars.has(semanticAlias)) {
258
+ target.style.setProperty(semanticAlias, v);
259
+ }
260
+ target.style.setProperty(variable, v);
261
+ }
262
+ }
263
+ }
264
+ var ThemeCtx = React__namespace.createContext(null);
265
+ function useTheme() {
266
+ const ctx = React__namespace.useContext(ThemeCtx);
267
+ if (!ctx) {
268
+ throw new Error(
269
+ "useTheme() must be used inside <ThemeProvider>. Wrap your app (or a subtree) with <ThemeProvider>."
270
+ );
271
+ }
272
+ return ctx;
273
+ }
274
+ function useThemeOptional() {
275
+ return React__namespace.useContext(ThemeCtx);
276
+ }
277
+ function loadPersisted(key) {
278
+ if (!key || !isBrowser) return null;
279
+ try {
280
+ const raw = localStorage.getItem(key);
281
+ if (!raw) return null;
282
+ const persisted = JSON.parse(raw);
283
+ if (isTransientThemeMode(persisted.mode)) {
284
+ localStorage.removeItem(key);
285
+ return null;
286
+ }
287
+ return persisted;
288
+ } catch {
289
+ return null;
290
+ }
291
+ }
292
+ function persist(key, cfg) {
293
+ if (!key || !isBrowser) return;
294
+ if (isTransientThemeMode(cfg.mode)) return;
295
+ try {
296
+ localStorage.setItem(key, JSON.stringify(cfg));
297
+ } catch {
298
+ }
299
+ }
300
+ var ThemeProvider = (props) => {
301
+ const {
302
+ children,
303
+ target = "root",
304
+ as: Tag = "div",
305
+ className,
306
+ style,
307
+ storageKey,
308
+ onChange,
309
+ ...configProps
310
+ } = props;
311
+ const initialConfig = React__namespace.useMemo(() => {
312
+ const applyExplicitProps = (base) => ({
313
+ ...base,
314
+ ...configProps.colorScheme !== void 0 ? { colorScheme: configProps.colorScheme } : null,
315
+ ...configProps.accent !== void 0 ? { accent: configProps.accent } : null,
316
+ ...configProps.density !== void 0 ? { density: configProps.density } : null,
317
+ ...configProps.intensity != null ? { intensity: configProps.intensity } : null,
318
+ ...configProps.radius != null ? { radius: configProps.radius } : null,
319
+ ...configProps.font !== void 0 ? { font: configProps.font } : null,
320
+ ...configProps.tokens !== void 0 ? { tokens: configProps.tokens } : null,
321
+ ...configProps.themes !== void 0 ? { themes: configProps.themes } : null
322
+ });
323
+ const fromProps = {
324
+ mode: configProps.mode ?? DEFAULT_CONFIG.mode,
325
+ colorScheme: configProps.colorScheme,
326
+ accent: configProps.accent ?? DEFAULT_CONFIG.accent,
327
+ density: configProps.density ?? DEFAULT_CONFIG.density,
328
+ intensity: configProps.intensity ?? DEFAULT_CONFIG.intensity,
329
+ radius: configProps.radius ?? DEFAULT_CONFIG.radius,
330
+ font: configProps.font ?? DEFAULT_CONFIG.font,
331
+ tokens: configProps.tokens ?? {},
332
+ themes: configProps.themes ?? DEFAULT_CONFIG.themes
333
+ };
334
+ const persisted = loadPersisted(storageKey);
335
+ const seeded = applyThemePreset(fromProps, fromProps.mode ?? DEFAULT_CONFIG.mode);
336
+ const withExplicitProps = applyExplicitProps(seeded);
337
+ if (!persisted) return withExplicitProps;
338
+ let persistedForMerge = persisted;
339
+ if (configProps.themes !== void 0) {
340
+ const { themes: _persistedThemes, ...rest } = persisted;
341
+ persistedForMerge = rest;
342
+ }
343
+ const persistedMode = persistedForMerge.mode ?? withExplicitProps.mode ?? DEFAULT_CONFIG.mode;
344
+ const withPersisted = {
345
+ ...applyThemePreset({ ...withExplicitProps, mode: persistedMode }, persistedMode),
346
+ ...persistedForMerge,
347
+ ...configProps.themes !== void 0 ? { themes: configProps.themes } : null
348
+ };
349
+ const withControlledThemePreset = configProps.themes !== void 0 && !isBuiltInThemeMode(persistedMode) ? applyThemePreset(withPersisted, persistedMode) : withPersisted;
350
+ return applyExplicitProps(withControlledThemePreset);
351
+ }, []);
352
+ const [config, setConfig] = React__namespace.useState(initialConfig);
353
+ const previousPropsRef = React__namespace.useRef({
354
+ mode: configProps.mode,
355
+ colorScheme: configProps.colorScheme,
356
+ accent: configProps.accent,
357
+ density: configProps.density,
358
+ intensity: configProps.intensity,
359
+ radius: configProps.radius,
360
+ font: configProps.font,
361
+ tokens: configProps.tokens,
362
+ themes: configProps.themes
363
+ });
364
+ React__namespace.useEffect(() => {
365
+ const previous = previousPropsRef.current;
366
+ const changedProps = {};
367
+ const assignIfChanged = (key, value2) => {
368
+ if (value2 !== previous[key]) changedProps[key] = value2;
369
+ };
370
+ assignIfChanged("mode", configProps.mode);
371
+ assignIfChanged("colorScheme", configProps.colorScheme);
372
+ assignIfChanged("accent", configProps.accent);
373
+ assignIfChanged("density", configProps.density);
374
+ assignIfChanged("intensity", configProps.intensity);
375
+ assignIfChanged("radius", configProps.radius);
376
+ assignIfChanged("font", configProps.font);
377
+ assignIfChanged("tokens", configProps.tokens);
378
+ assignIfChanged("themes", configProps.themes);
379
+ previousPropsRef.current = {
380
+ mode: configProps.mode,
381
+ colorScheme: configProps.colorScheme,
382
+ accent: configProps.accent,
383
+ density: configProps.density,
384
+ intensity: configProps.intensity,
385
+ radius: configProps.radius,
386
+ font: configProps.font,
387
+ tokens: configProps.tokens,
388
+ themes: configProps.themes
389
+ };
390
+ if (Object.keys(changedProps).length === 0) return;
391
+ setConfig((c) => {
392
+ const base = {
393
+ ...c,
394
+ ...Object.prototype.hasOwnProperty.call(changedProps, "themes") ? { themes: configProps.themes ?? DEFAULT_CONFIG.themes } : null
395
+ };
396
+ const mode = Object.prototype.hasOwnProperty.call(changedProps, "mode") ? configProps.mode ?? DEFAULT_CONFIG.mode : c.mode ?? DEFAULT_CONFIG.mode;
397
+ const shouldApplyPreset = Object.prototype.hasOwnProperty.call(changedProps, "mode") || Object.prototype.hasOwnProperty.call(changedProps, "themes") && !isBuiltInThemeMode(mode);
398
+ const shouldUseProp = (key) => Object.prototype.hasOwnProperty.call(changedProps, key) || configProps[key] !== void 0;
399
+ const nextFromMode = shouldApplyPreset ? applyThemePreset(base, mode) : base;
400
+ const next = {
401
+ ...nextFromMode,
402
+ mode,
403
+ ...shouldUseProp("colorScheme") ? { colorScheme: configProps.colorScheme } : null,
404
+ ...shouldUseProp("accent") ? { accent: configProps.accent } : null,
405
+ ...shouldUseProp("density") ? { density: configProps.density } : null,
406
+ ...shouldUseProp("intensity") ? { intensity: configProps.intensity } : null,
407
+ ...shouldUseProp("radius") ? { radius: configProps.radius } : null,
408
+ ...shouldUseProp("font") ? { font: configProps.font } : null,
409
+ ...shouldUseProp("tokens") ? { tokens: configProps.tokens } : null
410
+ };
411
+ if (next.mode === c.mode && next.colorScheme === c.colorScheme && next.accent === c.accent && next.density === c.density && next.intensity === c.intensity && next.radius === c.radius && next.font === c.font && next.tokens === c.tokens && next.themes === c.themes) {
412
+ return c;
413
+ }
414
+ return next;
415
+ });
416
+ }, [
417
+ configProps.mode,
418
+ configProps.colorScheme,
419
+ configProps.accent,
420
+ configProps.density,
421
+ configProps.intensity,
422
+ configProps.radius,
423
+ configProps.font,
424
+ configProps.tokens,
425
+ configProps.themes
426
+ ]);
427
+ const [systemDark, setSystemDark] = React__namespace.useState(
428
+ () => isBrowser && window.matchMedia("(prefers-color-scheme: dark)").matches
429
+ );
430
+ React__namespace.useEffect(() => {
431
+ if (!isBrowser) return;
432
+ const mql = window.matchMedia("(prefers-color-scheme: dark)");
433
+ const handler = (e) => setSystemDark(e.matches);
434
+ mql.addEventListener?.("change", handler);
435
+ return () => mql.removeEventListener?.("change", handler);
436
+ }, []);
437
+ const effectiveConfig = React__namespace.useMemo(() => resolveThemeConfig(config), [config]);
438
+ const activeTheme = React__namespace.useMemo(
439
+ () => getThemePreset(effectiveConfig.themes, effectiveConfig.mode) ?? null,
440
+ [effectiveConfig.mode, effectiveConfig.themes]
441
+ );
442
+ const colorScheme = effectiveConfig.mode === "system" ? systemDark ? "dark" : "light" : isThemeBaseMode(effectiveConfig.mode) ? effectiveConfig.mode : effectiveConfig.colorScheme ?? activeTheme?.base ?? DEFAULT_CONFIG.colorScheme;
443
+ const resolvedMode = effectiveConfig.mode === "system" ? colorScheme : effectiveConfig.mode;
444
+ const { key: accentKey, palette: accentPalette } = React__namespace.useMemo(
445
+ () => normalizeAccentInput(effectiveConfig.accent, colorScheme),
446
+ [effectiveConfig.accent, colorScheme]
447
+ );
448
+ const scopeRef = React__namespace.useRef(null);
449
+ const appliedTokenKeysRef = React__namespace.useRef(/* @__PURE__ */ new Set());
450
+ React__namespace.useEffect(() => {
451
+ if (!isBrowser) return;
452
+ const el = target === "root" ? document.documentElement : scopeRef.current;
453
+ if (!el) return;
454
+ const nextTokenKeys = new Set(Object.keys(effectiveConfig.tokens));
455
+ for (const key of appliedTokenKeysRef.current) {
456
+ if (!nextTokenKeys.has(key)) el.style.removeProperty(toVar(key));
457
+ }
458
+ applyTheme(el, { ...effectiveConfig, colorScheme });
459
+ appliedTokenKeysRef.current = nextTokenKeys;
460
+ persist(storageKey, config);
461
+ }, [config, effectiveConfig, colorScheme, target, storageKey]);
462
+ const value = React__namespace.useMemo(() => {
463
+ const patch = (p) => setConfig((c) => ({ ...c, ...p }));
464
+ return {
465
+ mode: effectiveConfig.mode,
466
+ resolvedMode,
467
+ colorScheme,
468
+ accent: accentKey,
469
+ accentPalette,
470
+ density: effectiveConfig.density,
471
+ intensity: effectiveConfig.intensity,
472
+ radius: effectiveConfig.radius,
473
+ font: effectiveConfig.font,
474
+ tokens: effectiveConfig.tokens,
475
+ themes: effectiveConfig.themes,
476
+ activeTheme,
477
+ setMode: (m) => setConfig((c) => applyThemePreset(c, m)),
478
+ toggleMode: () => setConfig((c) => ({
479
+ ...c,
480
+ mode: c.mode === "dark" ? "light" : "dark"
481
+ })),
482
+ setAccent: (a) => patch({ accent: a }),
483
+ setDensity: (d) => patch({ density: d }),
484
+ setIntensity: (n) => patch({ intensity: n }),
485
+ setRadius: (n) => patch({ radius: n }),
486
+ setFont: (f) => patch({ font: f }),
487
+ setTokens: (t) => patch({ tokens: t }),
488
+ setThemes: (t) => patch({ themes: t }),
489
+ update: patch,
490
+ reset: () => setConfig(initialConfig)
491
+ };
492
+ }, [effectiveConfig, resolvedMode, colorScheme, accentKey, accentPalette, activeTheme, initialConfig]);
493
+ const onChangeRef = React__namespace.useRef(onChange);
494
+ onChangeRef.current = onChange;
495
+ React__namespace.useEffect(() => {
496
+ onChangeRef.current?.(value);
497
+ }, [value]);
498
+ if (target === "scope") {
499
+ const Component = Tag;
500
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeCtx.Provider, { value, children: /* @__PURE__ */ jsxRuntime.jsx(
501
+ Component,
502
+ {
503
+ ref: scopeRef,
504
+ className,
505
+ style: {
506
+ color: "var(--fg)",
507
+ fontFamily: "var(--font-sans)",
508
+ ...style
509
+ },
510
+ children
511
+ }
512
+ ) });
513
+ }
514
+ return /* @__PURE__ */ jsxRuntime.jsx(ThemeCtx.Provider, { value, children });
515
+ };
516
+
517
+ exports.ACCENT_PRESETS = ACCENT_PRESETS;
518
+ exports.ACCENT_PRESETS_DARK = ACCENT_PRESETS_DARK;
519
+ exports.FONT_STACKS = FONT_STACKS;
520
+ exports.ThemeProvider = ThemeProvider;
521
+ exports.applyTheme = applyTheme;
522
+ exports.normalizeAccentInput = normalizeAccentInput;
523
+ exports.resolveThemeColorScheme = resolveThemeColorScheme;
524
+ exports.resolveThemeMode = resolveThemeMode;
525
+ exports.useTheme = useTheme;
526
+ exports.useThemeOptional = useThemeOptional;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- require('./tokens-BIIUTPKN.css');
3
+ require('./tokens-EF34LSWI.css');
4
4
  require('./shared-NJHRNLRH.css');
5
5
  require('./Splitter-DHNOY4NC.css');
6
6
  var React = require('react');
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- require('./tokens-BIIUTPKN.css');
3
+ require('./tokens-EF34LSWI.css');
4
4
  require('./shared-NJHRNLRH.css');
5
- require('./Divider-OEE4Q2KS.css');
5
+ require('./Divider-RPQCVH3J.css');
6
6
  var React = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
@@ -1,7 +1,7 @@
1
- import { Input } from './chunk-XTIN5545.js';
2
- import './tokens-BIIUTPKN.css';
1
+ import { Input } from './chunk-XVP7IKLZ.js';
2
+ import './tokens-EF34LSWI.css';
3
3
  import './shared-NJHRNLRH.css';
4
- import './CommandPalette-T45DBMPY.css';
4
+ import './CommandPalette-RTKWNH2D.css';
5
5
  import * as React from 'react';
6
6
  import ReactDOM from 'react-dom';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -1,4 +1,4 @@
1
- import './tokens-BIIUTPKN.css';
1
+ import './tokens-EF34LSWI.css';
2
2
  import './shared-NJHRNLRH.css';
3
3
  import './Badge-DPGLV3D3.css';
4
4
  import * as React from 'react';