@fangxinyan/lumina 0.6.3 → 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 (249) hide show
  1. package/dist/{Alert-QBKIDY5H.css → Alert-HVPI6L4V.css} +2 -2
  2. package/dist/Alert.cjs +3 -3
  3. package/dist/Alert.js +2 -2
  4. package/dist/{AppShell-RCALXUCZ.css → AppShell-FZCD4C56.css} +4 -4
  5. package/dist/AppShell.cjs +5 -5
  6. package/dist/AppShell.js +1 -1
  7. package/dist/{AutoComplete-P5KZMZO5.css → AutoComplete-4YZBMW4E.css} +2 -2
  8. package/dist/AutoComplete.cjs +5 -5
  9. package/dist/AutoComplete.js +4 -4
  10. package/dist/{Avatar-R5A4AFKZ.css → Avatar-TNPOHVY5.css} +1 -1
  11. package/dist/Avatar.cjs +2 -2
  12. package/dist/Avatar.js +1 -1
  13. package/dist/Badge.cjs +2 -2
  14. package/dist/Badge.js +1 -1
  15. package/dist/{Button-4Z3Q6KII.css → Button-TUMZUQLI.css} +11 -11
  16. package/dist/Button.cjs +3 -3
  17. package/dist/Button.js +2 -2
  18. package/dist/{Calendar-LHZELUDL.css → Calendar-RUTPKREW.css} +4 -4
  19. package/dist/Calendar.cjs +3 -3
  20. package/dist/Calendar.js +2 -2
  21. package/dist/{Card-6RMVIHWX.css → Card-MA6SV7D5.css} +6 -6
  22. package/dist/Card.cjs +2 -2
  23. package/dist/Card.js +1 -1
  24. package/dist/{Cascader-3BLLA7EN.css → Cascader-ANEQUPMI.css} +8 -8
  25. package/dist/Cascader.cjs +5 -5
  26. package/dist/Cascader.js +4 -4
  27. package/dist/{Checkbox-U5EUDSYS.css → Checkbox-EDNPZRIP.css} +3 -3
  28. package/dist/Checkbox.cjs +3 -3
  29. package/dist/Checkbox.js +2 -2
  30. package/dist/{Collapse-66U5YJFY.css → Collapse-UNBHEPYP.css} +2 -2
  31. package/dist/Collapse.cjs +3 -3
  32. package/dist/Collapse.js +2 -2
  33. package/dist/{ColorPicker-SDDQGHCM.css → ColorPicker-LPG6QPYF.css} +7 -7
  34. package/dist/ColorPicker.cjs +2 -2
  35. package/dist/ColorPicker.js +1 -1
  36. package/dist/{CommandPalette-T45DBMPY.css → CommandPalette-RTKWNH2D.css} +3 -3
  37. package/dist/CommandPalette.cjs +5 -5
  38. package/dist/CommandPalette.js +4 -4
  39. package/dist/{ContextMenu-FKW6CQW4.css → ContextMenu-WRR2SSWL.css} +3 -3
  40. package/dist/ContextMenu.cjs +2 -2
  41. package/dist/ContextMenu.js +1 -1
  42. package/dist/{Divider-OEE4Q2KS.css → Divider-RPQCVH3J.css} +2 -2
  43. package/dist/Divider.cjs +2 -2
  44. package/dist/Divider.js +1 -1
  45. package/dist/{Drawer-IPGB4CXH.css → Drawer-7N3URAJ6.css} +8 -5
  46. package/dist/Drawer.cjs +3 -3
  47. package/dist/Drawer.js +2 -2
  48. package/dist/{Empty-DC2LPORC.css → Empty-CZTRZMZQ.css} +1 -1
  49. package/dist/Empty.cjs +2 -2
  50. package/dist/Empty.js +1 -1
  51. package/dist/{Form-5GRVZNDO.css → Form-NGCQWTMZ.css} +1 -1
  52. package/dist/Form.cjs +4 -4
  53. package/dist/Form.js +1 -1
  54. package/dist/Icon.cjs +49 -49
  55. package/dist/Icon.js +1 -1
  56. package/dist/{Image-MRYQCRQ5.css → Image-SGSRTHQX.css} +5 -5
  57. package/dist/Image.cjs +6 -6
  58. package/dist/Image.js +2 -2
  59. package/dist/{Input-HUBJ55OH.css → Input-7GDPGP3E.css} +12 -12
  60. package/dist/Input.cjs +5 -5
  61. package/dist/Input.js +3 -3
  62. package/dist/InputNumber.cjs +5 -5
  63. package/dist/InputNumber.js +4 -4
  64. package/dist/{List-W5BW4D2P.css → List-LSMU5QAC.css} +3 -3
  65. package/dist/List.cjs +2 -2
  66. package/dist/List.js +1 -1
  67. package/dist/{Message-2MZ3LFPU.css → Message-H222YGR6.css} +1 -1
  68. package/dist/Message.cjs +6 -6
  69. package/dist/Message.js +2 -2
  70. package/dist/{Modal-2QNDW4SO.css → Modal-MCFDYVUQ.css} +3 -3
  71. package/dist/Modal.cjs +4 -4
  72. package/dist/Modal.js +3 -3
  73. package/dist/{Pagination-YIRYJUXP.css → Pagination-YSZSNFHG.css} +5 -5
  74. package/dist/Pagination.cjs +7 -7
  75. package/dist/Pagination.js +6 -6
  76. package/dist/{Popover-DVGQGWX6.css → Popover-Y3LDCJPW.css} +1 -1
  77. package/dist/Popover.cjs +2 -2
  78. package/dist/Popover.js +1 -1
  79. package/dist/{Progress-CHV7DN6Y.css → Progress-CZNXCYGW.css} +1 -1
  80. package/dist/Progress.cjs +2 -2
  81. package/dist/Progress.js +1 -1
  82. package/dist/{Radio-GVFDPAZM.css → Radio-IQKASYDF.css} +4 -4
  83. package/dist/Radio.cjs +3 -3
  84. package/dist/Radio.js +1 -1
  85. package/dist/{Select-Z5VYPEEY.css → Select-YZ2NUJSX.css} +18 -18
  86. package/dist/Select.cjs +6 -6
  87. package/dist/Select.js +5 -5
  88. package/dist/Skeleton.cjs +2 -2
  89. package/dist/Skeleton.js +1 -1
  90. package/dist/{Slider-3JKA5EW6.css → Slider-UM2IZZBH.css} +7 -7
  91. package/dist/Slider.cjs +2 -2
  92. package/dist/Slider.js +1 -1
  93. package/dist/{Spin-3GJNMSIH.css → Spin-GONGPV4Q.css} +1 -1
  94. package/dist/Spin.cjs +2 -2
  95. package/dist/Spin.js +1 -1
  96. package/dist/Splitter.cjs +2 -2
  97. package/dist/Splitter.js +1 -1
  98. package/dist/{StatusBar-CDS2GPSI.css → StatusBar-FJKEEPXU.css} +3 -7
  99. package/dist/StatusBar.cjs +3 -3
  100. package/dist/StatusBar.js +1 -1
  101. package/dist/Surface-UDDN3DGL.css +42 -0
  102. package/dist/Surface.cjs +16 -0
  103. package/dist/Surface.d.cts +60 -0
  104. package/dist/Surface.d.ts +60 -0
  105. package/dist/Surface.js +3 -0
  106. package/dist/{Switch-36KJNDXM.css → Switch-COAQIOMH.css} +8 -5
  107. package/dist/Switch.cjs +2 -2
  108. package/dist/Switch.js +1 -1
  109. package/dist/{Table-ATJJQLKU.css → Table-IYJTPY6J.css} +16 -16
  110. package/dist/Table.cjs +9 -9
  111. package/dist/Table.js +8 -8
  112. package/dist/{TablePro-3XVHYLSL.css → TablePro-JRSBPXB5.css} +1 -1
  113. package/dist/TablePro.cjs +10 -10
  114. package/dist/TablePro.js +9 -9
  115. package/dist/{Tabs-BLSNI2T5.css → Tabs-X5U5PCPV.css} +2 -2
  116. package/dist/Tabs.cjs +2 -2
  117. package/dist/Tabs.js +1 -1
  118. package/dist/{Tag-HDYCDPFS.css → Tag-G2XWAL7A.css} +1 -1
  119. package/dist/Tag.cjs +3 -3
  120. package/dist/Tag.js +2 -2
  121. package/dist/{Textarea-YNET7IBH.css → Textarea-YHWKHIFE.css} +3 -3
  122. package/dist/Textarea.cjs +4 -4
  123. package/dist/Textarea.js +2 -2
  124. package/dist/Theme.cjs +11 -11
  125. package/dist/Theme.d.cts +5 -1
  126. package/dist/Theme.d.ts +5 -1
  127. package/dist/Theme.js +1 -1
  128. package/dist/ThemePanel-76LB3YA5.css +509 -0
  129. package/dist/ThemePanel.cjs +29 -0
  130. package/dist/ThemePanel.d.cts +80 -0
  131. package/dist/ThemePanel.d.ts +80 -0
  132. package/dist/ThemePanel.js +12 -0
  133. package/dist/{Timeline-3ZHOHPXT.css → Timeline-ZIM7QFQC.css} +1 -1
  134. package/dist/Timeline.cjs +3 -3
  135. package/dist/Timeline.js +2 -2
  136. package/dist/{Tooltip-DMKUPC24.css → Tooltip-WI23DSRQ.css} +1 -1
  137. package/dist/Tooltip.cjs +2 -2
  138. package/dist/Tooltip.js +1 -1
  139. package/dist/{Typography-NKPWTJCV.css → Typography-GQNIJ4XD.css} +5 -5
  140. package/dist/Typography.cjs +7 -7
  141. package/dist/Typography.js +2 -2
  142. package/dist/{chunk-DWAN57G4.js → chunk-2NT5QKEX.js} +3 -3
  143. package/dist/{chunk-6BWELOCT.js → chunk-2SCXQ7QS.js} +2 -2
  144. package/dist/{chunk-TP567B3L.cjs → chunk-2ZADGBUN.cjs} +5 -5
  145. package/dist/{chunk-CETNCRZ4.js → chunk-2ZFJTMEF.js} +4 -4
  146. package/dist/{chunk-I5WTQ5Y3.js → chunk-3YP7CBJT.js} +3 -3
  147. package/dist/{chunk-UUHFKIWP.cjs → chunk-4UKM4KAC.cjs} +2 -2
  148. package/dist/{chunk-HLFH5HWR.js → chunk-56PHETWO.js} +3 -3
  149. package/dist/{chunk-R2TEDH2F.cjs → chunk-5JPAUQ5H.cjs} +7 -7
  150. package/dist/{chunk-MPVCYU2K.cjs → chunk-5NFSDFBB.cjs} +4 -4
  151. package/dist/{chunk-P6P4DGLF.cjs → chunk-66GXZQKL.cjs} +4 -4
  152. package/dist/{chunk-QP3VCSRY.cjs → chunk-66T76GII.cjs} +6 -6
  153. package/dist/chunk-6EOSMK34.cjs +194 -0
  154. package/dist/{chunk-WNM5RVXR.cjs → chunk-6GQPF3EI.cjs} +2 -2
  155. package/dist/{chunk-V272XR3F.cjs → chunk-6LARTGLP.cjs} +1 -1
  156. package/dist/chunk-6SPMHY54.js +191 -0
  157. package/dist/{chunk-YLIQ37KY.cjs → chunk-6XVLERA3.cjs} +2 -2
  158. package/dist/{chunk-FBYUZOZP.js → chunk-7D76MI37.js} +5 -5
  159. package/dist/{chunk-J5ZGYQZK.js → chunk-7NZ2A4MA.js} +155 -29
  160. package/dist/{chunk-KLEKKZ73.js → chunk-7ZNGHWVS.js} +1 -1
  161. package/dist/{chunk-7AG524YZ.cjs → chunk-ACQSRMLF.cjs} +5 -5
  162. package/dist/{chunk-JVUVOR6S.js → chunk-AJH2O4WC.js} +3 -3
  163. package/dist/{chunk-ET6DYQVZ.js → chunk-BCFCSVGJ.js} +3 -3
  164. package/dist/{chunk-NTS5L4NQ.cjs → chunk-BJ6WUVEG.cjs} +4 -4
  165. package/dist/{chunk-S3VXH5L4.cjs → chunk-C24W6PTJ.cjs} +2 -2
  166. package/dist/{chunk-GMN74OEY.cjs → chunk-CBKJXKVI.cjs} +2 -2
  167. package/dist/{chunk-FWPBORRB.js → chunk-CEZ2DR4R.js} +3 -3
  168. package/dist/{chunk-SQGPSMSK.js → chunk-CNGKJYGZ.js} +3 -3
  169. package/dist/{chunk-PULGVK2I.cjs → chunk-D5PCIVID.cjs} +4 -4
  170. package/dist/{chunk-DG5VQ6BO.cjs → chunk-D64IPDUE.cjs} +4 -4
  171. package/dist/{chunk-VFFIE2VO.cjs → chunk-DYHNOYRC.cjs} +7 -7
  172. package/dist/{chunk-P6EZG2R7.cjs → chunk-DYSGXQUK.cjs} +7 -7
  173. package/dist/{chunk-3YJU3D5S.cjs → chunk-F3LHLYX6.cjs} +2 -2
  174. package/dist/{chunk-H4LGWZMH.cjs → chunk-GBKUGKIY.cjs} +11 -11
  175. package/dist/{chunk-J2HZTJO6.js → chunk-GUZ2DNDC.js} +3 -3
  176. package/dist/{chunk-K6F25JXT.js → chunk-GZCU6HXD.js} +2 -2
  177. package/dist/{chunk-USQ43DJ5.js → chunk-HFUHQUPQ.js} +2 -2
  178. package/dist/{chunk-7JN6FJ55.js → chunk-HU7T64Y3.js} +2 -2
  179. package/dist/{chunk-X5GCOMC3.cjs → chunk-IDJCFYPP.cjs} +15 -15
  180. package/dist/{chunk-KD4YYIIO.cjs → chunk-IHK2FRTS.cjs} +2 -2
  181. package/dist/{chunk-Q5SZIU7Z.cjs → chunk-JFQ53MO4.cjs} +1 -1
  182. package/dist/{chunk-7PQJCLIR.js → chunk-KMG7OMOS.js} +2 -2
  183. package/dist/{chunk-2HQCUBA7.cjs → chunk-L27C5O4W.cjs} +4 -4
  184. package/dist/chunk-LFTCK2VM.cjs +1194 -0
  185. package/dist/{chunk-BVQ77VRY.js → chunk-LI4XJTEA.js} +3 -3
  186. package/dist/{chunk-45VJGBGN.js → chunk-LQLOOUS3.js} +2 -2
  187. package/dist/{chunk-PL6DRFUO.cjs → chunk-MOMLQP7B.cjs} +2 -2
  188. package/dist/{chunk-OF7JIYBY.cjs → chunk-MYHBC3HA.cjs} +2 -2
  189. package/dist/{chunk-LKK2AA7W.js → chunk-MYRLCN6V.js} +2 -2
  190. package/dist/{chunk-ZKE73UQF.cjs → chunk-N2BTMKF2.cjs} +5 -5
  191. package/dist/{chunk-6ZXQJRAT.cjs → chunk-N2COYOXE.cjs} +155 -29
  192. package/dist/{chunk-2TL37AP5.cjs → chunk-N3OLFKV5.cjs} +1 -1
  193. package/dist/{chunk-5JSDQ6QQ.cjs → chunk-NDO22RER.cjs} +2 -2
  194. package/dist/{chunk-ME5BZ2WA.js → chunk-NE7IUGMK.js} +3 -3
  195. package/dist/{chunk-F6RYCBQG.js → chunk-NFXHIO3G.js} +1 -1
  196. package/dist/chunk-NJCHFXGC.js +1170 -0
  197. package/dist/chunk-NT6CJYI3.cjs +129 -0
  198. package/dist/chunk-O43DOE7V.js +106 -0
  199. package/dist/{chunk-GNEZD7KE.cjs → chunk-O4BOBOYV.cjs} +2 -2
  200. package/dist/{chunk-XSN4TLN5.cjs → chunk-OGPDCBPD.cjs} +12 -12
  201. package/dist/{chunk-6YQTMI55.js → chunk-OHFZ7L4T.js} +2 -2
  202. package/dist/{chunk-7IYKKLV3.js → chunk-OHIFKN4E.js} +4 -4
  203. package/dist/{chunk-46VXFTEC.js → chunk-OQU3TJCF.js} +3 -3
  204. package/dist/{chunk-5TKC6IEN.js → chunk-PEJLXJQD.js} +1 -1
  205. package/dist/{chunk-HWFM4MAT.js → chunk-PKHITACT.js} +2 -2
  206. package/dist/{chunk-JCEHZ336.js → chunk-PNZJFLMY.js} +3 -3
  207. package/dist/{chunk-XRR3CYQL.js → chunk-QP7RXZES.js} +2 -2
  208. package/dist/{chunk-5MN3PMF4.cjs → chunk-QY76WTO5.cjs} +9 -9
  209. package/dist/{chunk-FGW5GJ22.cjs → chunk-R74TZKJS.cjs} +4 -4
  210. package/dist/{chunk-TGL5BGMR.js → chunk-REMJWNAT.js} +4 -4
  211. package/dist/{chunk-SWBWZIL4.cjs → chunk-S6OKX4H7.cjs} +2 -2
  212. package/dist/{chunk-EC4WGEAJ.js → chunk-SABWUELE.js} +2 -2
  213. package/dist/{chunk-QKQHZIF3.cjs → chunk-SG42F5VB.cjs} +2 -2
  214. package/dist/{chunk-5C2AI2SD.js → chunk-SQIWPU6V.js} +2 -2
  215. package/dist/{chunk-5DKRY67M.cjs → chunk-SYWTT5TY.cjs} +5 -5
  216. package/dist/{chunk-OBEKX4VR.js → chunk-TVUBGXWA.js} +2 -2
  217. package/dist/{chunk-7PNJI5UE.cjs → chunk-U2H4DRMV.cjs} +2 -2
  218. package/dist/{chunk-HKF2V5MM.cjs → chunk-VAXWWJJP.cjs} +9 -9
  219. package/dist/{chunk-5H5YP2TB.js → chunk-VNNQYJLT.js} +3 -3
  220. package/dist/{chunk-KGSADAOD.cjs → chunk-VSUMJX6Z.cjs} +2 -2
  221. package/dist/{chunk-K5IGFBDR.js → chunk-W5CJC7S7.js} +3 -3
  222. package/dist/{chunk-AXZ7ELMA.js → chunk-WEJKY3DF.js} +2 -2
  223. package/dist/{chunk-GIZU3H6H.js → chunk-WXWFMWWF.js} +3 -3
  224. package/dist/{chunk-TEEFR2FD.js → chunk-XHQGMMH7.js} +2 -2
  225. package/dist/{chunk-UKS23N3L.js → chunk-XVP7IKLZ.js} +4 -4
  226. package/dist/{chunk-ELNT3CFO.js → chunk-Y5F7ZTBH.js} +2 -2
  227. package/dist/{chunk-QCILPZWP.js → chunk-YJEXAO2I.js} +2 -2
  228. package/dist/{chunk-7ABFUIOB.cjs → chunk-YNCDTKAE.cjs} +2 -2
  229. package/dist/{chunk-K7FV7W6U.cjs → chunk-YSCIMHOI.cjs} +5 -5
  230. package/dist/{chunk-BPOOVO5T.js → chunk-YSXD344H.js} +5 -5
  231. package/dist/{chunk-47VG2P34.js → chunk-YT5NLCRC.js} +1 -1
  232. package/dist/{chunk-HZSIUOCN.cjs → chunk-YUKXNWVE.cjs} +1 -1
  233. package/dist/{chunk-65FIH5A3.js → chunk-YVTLHTG6.js} +2 -2
  234. package/dist/{chunk-GENABQYA.cjs → chunk-Z4PZ2ZHI.cjs} +2 -2
  235. package/dist/{chunk-6HMTV6P4.cjs → chunk-ZPKHGKVL.cjs} +4 -4
  236. package/dist/{chunk-AAGF7K3L.js → chunk-ZPP7LTHP.js} +3 -3
  237. package/dist/{chunk-IZOHYJUQ.cjs → chunk-ZWCDB5PP.cjs} +2 -2
  238. package/dist/index.cjs +214 -191
  239. package/dist/index.d.cts +3 -1
  240. package/dist/index.d.ts +3 -1
  241. package/dist/index.js +49 -46
  242. package/dist/styles.css +677 -168
  243. package/dist/{tokens-BIIUTPKN.css → tokens-EF34LSWI.css} +42 -17
  244. package/dist/tokens.css +42 -17
  245. package/docs/llms/surface.md +90 -0
  246. package/docs/llms/theme.md +24 -2
  247. package/docs/llms/themepanel.md +128 -0
  248. package/docs/llms.md +3 -1
  249. package/package.json +1 -1
package/dist/Tabs.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkKD4YYIIO_cjs = require('./chunk-KD4YYIIO.cjs');
3
+ var chunkIHK2FRTS_cjs = require('./chunk-IHK2FRTS.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "Tabs", {
8
8
  enumerable: true,
9
- get: function () { return chunkKD4YYIIO_cjs.Tabs; }
9
+ get: function () { return chunkIHK2FRTS_cjs.Tabs; }
10
10
  });
package/dist/Tabs.js CHANGED
@@ -1 +1 @@
1
- export { Tabs } from './chunk-OBEKX4VR.js';
1
+ export { Tabs } from './chunk-TVUBGXWA.js';
@@ -9,7 +9,7 @@
9
9
  font-size: 11px;
10
10
  font-weight: 500;
11
11
  background: var(--bg);
12
- box-shadow: var(--neu-flat);
12
+ box-shadow: var(--neu-shadow-subtle);
13
13
  color: var(--fg-muted);
14
14
  }
15
15
  .tag.accent { color: var(--accent-ink); }
package/dist/Tag.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunk5DKRY67M_cjs = require('./chunk-5DKRY67M.cjs');
4
- require('./chunk-V272XR3F.cjs');
3
+ var chunkSYWTT5TY_cjs = require('./chunk-SYWTT5TY.cjs');
4
+ require('./chunk-6LARTGLP.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Tag", {
9
9
  enumerable: true,
10
- get: function () { return chunk5DKRY67M_cjs.Tag; }
10
+ get: function () { return chunkSYWTT5TY_cjs.Tag; }
11
11
  });
package/dist/Tag.js CHANGED
@@ -1,2 +1,2 @@
1
- export { Tag } from './chunk-5H5YP2TB.js';
2
- import './chunk-47VG2P34.js';
1
+ export { Tag } from './chunk-VNNQYJLT.js';
2
+ import './chunk-YT5NLCRC.js';
@@ -40,7 +40,7 @@
40
40
  border: none;
41
41
  border-radius: var(--r-md);
42
42
  background: var(--bg);
43
- box-shadow: var(--neu-in-sm);
43
+ box-shadow: var(--neu-shadow-inset);
44
44
  color: var(--fg);
45
45
  font-size: 13px;
46
46
  font-family: inherit;
@@ -49,6 +49,6 @@
49
49
  outline: none;
50
50
  transition: box-shadow var(--dur) var(--ease);
51
51
  }
52
- .textarea:focus { box-shadow: var(--neu-in-sm), 0 0 0 2px var(--accent-glow); }
53
- .textarea.invalid { box-shadow: var(--neu-in-sm), 0 0 0 2px color-mix(in oklch, var(--danger) 30%, transparent); }
52
+ .textarea:focus { box-shadow: var(--neu-shadow-inset), 0 0 0 2px var(--accent-glow); }
53
+ .textarea.invalid { box-shadow: var(--neu-shadow-inset), 0 0 0 2px color-mix(in oklch, var(--danger) 30%, transparent); }
54
54
  .textarea::placeholder { color: var(--fg-subtle); }
package/dist/Textarea.cjs CHANGED
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var chunkMPVCYU2K_cjs = require('./chunk-MPVCYU2K.cjs');
4
- require('./chunk-V272XR3F.cjs');
3
+ var chunk5NFSDFBB_cjs = require('./chunk-5NFSDFBB.cjs');
4
+ require('./chunk-6LARTGLP.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "TextArea", {
9
9
  enumerable: true,
10
- get: function () { return chunkMPVCYU2K_cjs.TextArea; }
10
+ get: function () { return chunk5NFSDFBB_cjs.TextArea; }
11
11
  });
12
12
  Object.defineProperty(exports, "Textarea", {
13
13
  enumerable: true,
14
- get: function () { return chunkMPVCYU2K_cjs.Textarea; }
14
+ get: function () { return chunk5NFSDFBB_cjs.Textarea; }
15
15
  });
package/dist/Textarea.js CHANGED
@@ -1,2 +1,2 @@
1
- export { TextArea, Textarea } from './chunk-HLFH5HWR.js';
2
- import './chunk-47VG2P34.js';
1
+ export { TextArea, Textarea } from './chunk-56PHETWO.js';
2
+ import './chunk-YT5NLCRC.js';
package/dist/Theme.cjs CHANGED
@@ -1,46 +1,46 @@
1
1
  'use strict';
2
2
 
3
- var chunk6ZXQJRAT_cjs = require('./chunk-6ZXQJRAT.cjs');
3
+ var chunkN2COYOXE_cjs = require('./chunk-N2COYOXE.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "ACCENT_PRESETS", {
8
8
  enumerable: true,
9
- get: function () { return chunk6ZXQJRAT_cjs.ACCENT_PRESETS; }
9
+ get: function () { return chunkN2COYOXE_cjs.ACCENT_PRESETS; }
10
10
  });
11
11
  Object.defineProperty(exports, "ACCENT_PRESETS_DARK", {
12
12
  enumerable: true,
13
- get: function () { return chunk6ZXQJRAT_cjs.ACCENT_PRESETS_DARK; }
13
+ get: function () { return chunkN2COYOXE_cjs.ACCENT_PRESETS_DARK; }
14
14
  });
15
15
  Object.defineProperty(exports, "FONT_STACKS", {
16
16
  enumerable: true,
17
- get: function () { return chunk6ZXQJRAT_cjs.FONT_STACKS; }
17
+ get: function () { return chunkN2COYOXE_cjs.FONT_STACKS; }
18
18
  });
19
19
  Object.defineProperty(exports, "ThemeProvider", {
20
20
  enumerable: true,
21
- get: function () { return chunk6ZXQJRAT_cjs.ThemeProvider; }
21
+ get: function () { return chunkN2COYOXE_cjs.ThemeProvider; }
22
22
  });
23
23
  Object.defineProperty(exports, "applyTheme", {
24
24
  enumerable: true,
25
- get: function () { return chunk6ZXQJRAT_cjs.applyTheme; }
25
+ get: function () { return chunkN2COYOXE_cjs.applyTheme; }
26
26
  });
27
27
  Object.defineProperty(exports, "normalizeAccentInput", {
28
28
  enumerable: true,
29
- get: function () { return chunk6ZXQJRAT_cjs.normalizeAccentInput; }
29
+ get: function () { return chunkN2COYOXE_cjs.normalizeAccentInput; }
30
30
  });
31
31
  Object.defineProperty(exports, "resolveThemeColorScheme", {
32
32
  enumerable: true,
33
- get: function () { return chunk6ZXQJRAT_cjs.resolveThemeColorScheme; }
33
+ get: function () { return chunkN2COYOXE_cjs.resolveThemeColorScheme; }
34
34
  });
35
35
  Object.defineProperty(exports, "resolveThemeMode", {
36
36
  enumerable: true,
37
- get: function () { return chunk6ZXQJRAT_cjs.resolveThemeMode; }
37
+ get: function () { return chunkN2COYOXE_cjs.resolveThemeMode; }
38
38
  });
39
39
  Object.defineProperty(exports, "useTheme", {
40
40
  enumerable: true,
41
- get: function () { return chunk6ZXQJRAT_cjs.useTheme; }
41
+ get: function () { return chunkN2COYOXE_cjs.useTheme; }
42
42
  });
43
43
  Object.defineProperty(exports, "useThemeOptional", {
44
44
  enumerable: true,
45
- get: function () { return chunk6ZXQJRAT_cjs.useThemeOptional; }
45
+ get: function () { return chunkN2COYOXE_cjs.useThemeOptional; }
46
46
  });
package/dist/Theme.d.cts CHANGED
@@ -34,6 +34,10 @@ type FontConfig = FontKey | string | {
34
34
  type ThemeTokens = Record<string, string>;
35
35
  /** Named custom theme mode. `base` keeps dark/light specific component rules. */
36
36
  interface ThemePreset {
37
+ /** Optional display name used by ThemePanel or other theme pickers. */
38
+ label?: string;
39
+ /** Optional helper text used by ThemePanel or other theme pickers. */
40
+ description?: string;
37
41
  base?: ThemeBaseMode;
38
42
  accent?: AccentKey | CustomAccentInput;
39
43
  density?: DensityMode;
@@ -123,7 +127,7 @@ interface ThemeProviderProps extends ThemeConfig {
123
127
  as?: keyof JSX.IntrinsicElements;
124
128
  className?: string;
125
129
  style?: React.CSSProperties;
126
- /** If set, theme state is persisted to localStorage under this key. */
130
+ /** If set, theme state and custom named themes are persisted to localStorage under this key. */
127
131
  storageKey?: string;
128
132
  /** Called whenever the resolved theme value changes. */
129
133
  onChange?: (value: ThemeValue) => void;
package/dist/Theme.d.ts CHANGED
@@ -34,6 +34,10 @@ type FontConfig = FontKey | string | {
34
34
  type ThemeTokens = Record<string, string>;
35
35
  /** Named custom theme mode. `base` keeps dark/light specific component rules. */
36
36
  interface ThemePreset {
37
+ /** Optional display name used by ThemePanel or other theme pickers. */
38
+ label?: string;
39
+ /** Optional helper text used by ThemePanel or other theme pickers. */
40
+ description?: string;
37
41
  base?: ThemeBaseMode;
38
42
  accent?: AccentKey | CustomAccentInput;
39
43
  density?: DensityMode;
@@ -123,7 +127,7 @@ interface ThemeProviderProps extends ThemeConfig {
123
127
  as?: keyof JSX.IntrinsicElements;
124
128
  className?: string;
125
129
  style?: React.CSSProperties;
126
- /** If set, theme state is persisted to localStorage under this key. */
130
+ /** If set, theme state and custom named themes are persisted to localStorage under this key. */
127
131
  storageKey?: string;
128
132
  /** Called whenever the resolved theme value changes. */
129
133
  onChange?: (value: ThemeValue) => void;
package/dist/Theme.js CHANGED
@@ -1 +1 @@
1
- export { ACCENT_PRESETS, ACCENT_PRESETS_DARK, FONT_STACKS, ThemeProvider, applyTheme, normalizeAccentInput, resolveThemeColorScheme, resolveThemeMode, useTheme, useThemeOptional } from './chunk-J5ZGYQZK.js';
1
+ export { ACCENT_PRESETS, ACCENT_PRESETS_DARK, FONT_STACKS, ThemeProvider, applyTheme, normalizeAccentInput, resolveThemeColorScheme, resolveThemeMode, useTheme, useThemeOptional } from './chunk-7NZ2A4MA.js';
@@ -0,0 +1,509 @@
1
+ /* ============ ThemePanel ============ */
2
+ .theme-panel {
3
+ width: min(100%, 340px);
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: var(--gap-3);
7
+ box-sizing: border-box;
8
+ padding: var(--gap-4);
9
+ border-radius: var(--r-xl);
10
+ color: var(--fg);
11
+ background: var(--bg);
12
+ box-shadow: var(--neu-shadow-lift);
13
+ }
14
+
15
+ .theme-panel.compact {
16
+ width: min(100%, 300px);
17
+ gap: var(--gap-2);
18
+ padding: var(--gap-3);
19
+ }
20
+
21
+ .theme-panel-head {
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: 4px;
25
+ }
26
+
27
+ .theme-panel-title {
28
+ display: inline-flex;
29
+ align-items: center;
30
+ gap: 8px;
31
+ min-width: 0;
32
+ color: var(--fg);
33
+ font-size: 14px;
34
+ font-weight: 700;
35
+ }
36
+
37
+ .theme-panel-title svg {
38
+ flex: 0 0 auto;
39
+ color: var(--accent);
40
+ }
41
+
42
+ .theme-panel-title span {
43
+ min-width: 0;
44
+ overflow: hidden;
45
+ text-overflow: ellipsis;
46
+ white-space: nowrap;
47
+ }
48
+
49
+ .theme-panel-desc {
50
+ font-size: 12px;
51
+ color: var(--fg-muted);
52
+ }
53
+
54
+ .theme-panel-row {
55
+ display: flex;
56
+ flex-direction: column;
57
+ gap: 8px;
58
+ padding-top: var(--gap-3);
59
+ border-top: 1px solid var(--divider);
60
+ }
61
+
62
+ .theme-panel-head + .theme-panel-row,
63
+ .theme-panel-row:first-child {
64
+ border-top: none;
65
+ padding-top: 0;
66
+ }
67
+
68
+ .theme-panel-label {
69
+ display: flex;
70
+ align-items: center;
71
+ justify-content: space-between;
72
+ gap: 10px;
73
+ font-size: 12px;
74
+ font-weight: 600;
75
+ color: var(--fg);
76
+ }
77
+
78
+ .theme-panel-label > span:last-child:not(:first-child) {
79
+ min-width: 0;
80
+ max-width: 54%;
81
+ overflow: hidden;
82
+ text-overflow: ellipsis;
83
+ white-space: nowrap;
84
+ padding: 2px 8px;
85
+ border-radius: var(--r-pill);
86
+ color: var(--accent-ink);
87
+ background: var(--bg);
88
+ box-shadow: var(--neu-shadow-inset);
89
+ font-family: var(--font-mono);
90
+ font-size: 11px;
91
+ font-weight: 500;
92
+ }
93
+
94
+ .theme-panel-presets {
95
+ display: grid;
96
+ grid-template-columns: repeat(2, minmax(0, 1fr));
97
+ gap: var(--gap-2);
98
+ }
99
+
100
+ .theme-panel-preset-shell {
101
+ position: relative;
102
+ min-width: 0;
103
+ }
104
+
105
+ .theme-panel .theme-panel-preset.btn {
106
+ min-width: 0;
107
+ width: 100%;
108
+ height: auto;
109
+ min-height: 74px;
110
+ justify-content: stretch;
111
+ align-items: stretch;
112
+ flex-direction: column;
113
+ gap: 8px;
114
+ padding: 9px;
115
+ color: var(--fg-muted);
116
+ background: var(--bg);
117
+ box-shadow: var(--neu-shadow-control);
118
+ text-align: left;
119
+ white-space: normal;
120
+ transition:
121
+ color var(--dur-fast) var(--ease),
122
+ box-shadow var(--dur-fast) var(--ease),
123
+ transform var(--dur-fast) var(--ease);
124
+ }
125
+
126
+ .theme-panel .theme-panel-preset.btn:hover {
127
+ color: var(--fg);
128
+ box-shadow: var(--neu-shadow-panel);
129
+ transform: translateY(-1px);
130
+ }
131
+
132
+ .theme-panel .theme-panel-preset.btn.active {
133
+ color: var(--accent-ink);
134
+ box-shadow: var(--neu-shadow-inset), 0 0 0 1px var(--accent-glow);
135
+ transform: none;
136
+ }
137
+
138
+ .theme-panel .theme-panel-preset.btn.active:hover {
139
+ color: var(--accent-ink);
140
+ box-shadow: var(--neu-shadow-inset), 0 0 0 1px var(--accent-glow);
141
+ }
142
+
143
+ .theme-panel .theme-panel-preset-shell.deletable .theme-panel-preset.btn {
144
+ padding-right: 28px;
145
+ }
146
+
147
+ .theme-panel .theme-panel-preset-delete.btn {
148
+ position: absolute;
149
+ top: 6px;
150
+ right: 6px;
151
+ width: 22px;
152
+ height: 22px;
153
+ min-width: 22px;
154
+ padding: 0;
155
+ color: var(--fg-subtle);
156
+ background: var(--bg);
157
+ box-shadow: var(--neu-shadow-control);
158
+ opacity: 0;
159
+ transform: scale(0.92);
160
+ }
161
+
162
+ .theme-panel-preset-shell:hover .theme-panel-preset-delete.btn,
163
+ .theme-panel-preset-shell:focus-within .theme-panel-preset-delete.btn {
164
+ opacity: 1;
165
+ transform: scale(1);
166
+ }
167
+
168
+ .theme-panel .theme-panel-preset-delete.btn:hover {
169
+ box-shadow: var(--neu-shadow-inset);
170
+ }
171
+
172
+ .theme-panel-preset-ink {
173
+ display: grid;
174
+ grid-template-columns: 1fr 1fr 0.7fr;
175
+ gap: 4px;
176
+ width: 100%;
177
+ }
178
+
179
+ .theme-panel-preset-ink span {
180
+ height: 18px;
181
+ min-width: 0;
182
+ border-radius: var(--r-pill);
183
+ box-shadow: inset 0 0 0 1px var(--divider);
184
+ }
185
+
186
+ .theme-panel-preset-copy {
187
+ display: flex;
188
+ flex-direction: column;
189
+ gap: 2px;
190
+ min-width: 0;
191
+ width: 100%;
192
+ }
193
+
194
+ .theme-panel-preset-copy > span {
195
+ min-width: 0;
196
+ overflow: hidden;
197
+ text-overflow: ellipsis;
198
+ white-space: nowrap;
199
+ color: inherit;
200
+ font-size: 12px;
201
+ font-weight: 700;
202
+ }
203
+
204
+ .theme-panel-preset-copy small {
205
+ min-width: 0;
206
+ overflow: hidden;
207
+ text-overflow: ellipsis;
208
+ white-space: nowrap;
209
+ color: var(--fg-subtle);
210
+ font-size: 10px;
211
+ font-weight: 500;
212
+ }
213
+
214
+ .theme-panel-swatches {
215
+ display: flex;
216
+ align-items: center;
217
+ flex-wrap: wrap;
218
+ gap: 8px;
219
+ }
220
+
221
+ .theme-panel .theme-panel-swatch.btn {
222
+ width: 28px;
223
+ height: 28px;
224
+ min-width: 28px;
225
+ padding: 0;
226
+ border-radius: var(--r-pill);
227
+ box-shadow: var(--neu-shadow-subtle);
228
+ }
229
+
230
+ .theme-panel-swatch.active {
231
+ box-shadow: var(--neu-shadow-inset), 0 0 0 2px var(--accent-glow);
232
+ }
233
+
234
+ .theme-panel .radio-group.segmented {
235
+ width: 100%;
236
+ }
237
+
238
+ .theme-panel .btn.block {
239
+ margin-top: var(--gap-1);
240
+ }
241
+
242
+ .theme-panel-create {
243
+ display: flex;
244
+ flex-direction: column;
245
+ gap: 10px;
246
+ padding: 10px;
247
+ border-radius: var(--r-md);
248
+ background: var(--bg);
249
+ box-shadow: var(--neu-shadow-inset);
250
+ }
251
+
252
+ .theme-panel-create-head {
253
+ display: flex;
254
+ align-items: center;
255
+ justify-content: space-between;
256
+ gap: 10px;
257
+ }
258
+
259
+ .theme-panel-create-head > div {
260
+ min-width: 0;
261
+ display: flex;
262
+ flex-direction: column;
263
+ gap: 2px;
264
+ }
265
+
266
+ .theme-panel-create-head span {
267
+ color: var(--fg);
268
+ font-size: 12px;
269
+ font-weight: 700;
270
+ }
271
+
272
+ .theme-panel-create-head small {
273
+ min-width: 0;
274
+ color: var(--fg-subtle);
275
+ font-family: var(--font-mono);
276
+ font-size: 10px;
277
+ overflow: hidden;
278
+ text-overflow: ellipsis;
279
+ white-space: nowrap;
280
+ }
281
+
282
+ .theme-panel-create-field {
283
+ min-width: 0;
284
+ display: flex;
285
+ flex-direction: column;
286
+ gap: 6px;
287
+ color: var(--fg-subtle);
288
+ font-family: var(--font-mono);
289
+ font-size: 10px;
290
+ }
291
+
292
+ .theme-panel-create-field .radio-group.segmented {
293
+ width: 100%;
294
+ }
295
+
296
+ .theme-panel-create-mode.radio-group.segmented {
297
+ width: 100%;
298
+ }
299
+
300
+ .theme-panel-create-grid {
301
+ display: grid;
302
+ grid-template-columns: repeat(2, minmax(0, 1fr));
303
+ gap: 8px;
304
+ }
305
+
306
+ .theme-panel-create-grid .cp-trigger,
307
+ .theme-panel-create-grid .cp-custom-trigger {
308
+ width: 100%;
309
+ }
310
+
311
+ .theme-panel-create-sliders {
312
+ display: flex;
313
+ flex-direction: column;
314
+ gap: 8px;
315
+ padding: 2px 0;
316
+ }
317
+
318
+ .theme-panel-shadow {
319
+ gap: 7px;
320
+ }
321
+
322
+ .theme-panel-create-preview {
323
+ min-height: 36px;
324
+ display: flex;
325
+ align-items: center;
326
+ justify-content: space-between;
327
+ gap: 10px;
328
+ padding: 7px 9px;
329
+ border-radius: var(--preview-radius, var(--r-md));
330
+ color: var(--preview-fg, var(--fg));
331
+ background: var(--preview-bg, var(--bg));
332
+ box-shadow:
333
+ calc(var(--shadow-offset) * 0.45 * var(--preview-shadow-scale, 1)) calc(var(--shadow-offset) * 0.45 * var(--preview-shadow-scale, 1)) calc(var(--shadow-blur) * 0.55 * var(--preview-shadow-scale, 1)) var(--preview-shadow-dark, var(--shadow-dark)),
334
+ calc(var(--shadow-offset) * -0.45 * var(--preview-shadow-scale, 1)) calc(var(--shadow-offset) * -0.45 * var(--preview-shadow-scale, 1)) calc(var(--shadow-blur) * 0.55 * var(--preview-shadow-scale, 1)) var(--preview-shadow-light, var(--shadow-light));
335
+ font-family: var(--preview-font, var(--font-sans));
336
+ font-size: 12px;
337
+ font-weight: 700;
338
+ }
339
+
340
+ .theme-panel-create-preview-label {
341
+ min-width: 0;
342
+ display: inline-flex;
343
+ align-items: center;
344
+ gap: 7px;
345
+ color: inherit;
346
+ }
347
+
348
+ .theme-panel-create-preview-label > span {
349
+ min-width: 0;
350
+ overflow: hidden;
351
+ text-overflow: ellipsis;
352
+ white-space: nowrap;
353
+ }
354
+
355
+ .theme-panel-create-preview i {
356
+ flex: 0 0 auto;
357
+ width: 20px;
358
+ height: 20px;
359
+ border-radius: var(--r-pill);
360
+ background: var(--preview-accent, var(--accent));
361
+ box-shadow:
362
+ inset 1px 1px 2px color-mix(in oklch, var(--preview-accent, var(--accent)) 50%, white),
363
+ 0 0 0 4px var(--preview-accent-glow, var(--accent-glow));
364
+ }
365
+
366
+ .theme-panel-create-actions {
367
+ display: grid;
368
+ grid-template-columns: 0.85fr 1fr;
369
+ gap: 8px;
370
+ }
371
+
372
+ .theme-panel-advanced {
373
+ display: flex;
374
+ flex-direction: column;
375
+ gap: 12px;
376
+ padding-top: 2px;
377
+ }
378
+
379
+ .theme-panel-advanced-section {
380
+ display: flex;
381
+ flex-direction: column;
382
+ gap: 8px;
383
+ padding-top: 10px;
384
+ border-top: 1px solid var(--divider);
385
+ }
386
+
387
+ .theme-panel-advanced-section.compact {
388
+ padding-top: 0;
389
+ border-top: none;
390
+ }
391
+
392
+ .theme-panel-advanced-title {
393
+ display: flex;
394
+ align-items: baseline;
395
+ justify-content: space-between;
396
+ gap: 8px;
397
+ }
398
+
399
+ .theme-panel-advanced-title span {
400
+ min-width: 0;
401
+ color: var(--fg);
402
+ font-size: 11px;
403
+ font-weight: 700;
404
+ }
405
+
406
+ .theme-panel-advanced-title small {
407
+ min-width: 0;
408
+ color: var(--fg-subtle);
409
+ font-family: var(--font-mono);
410
+ font-size: 9px;
411
+ overflow: hidden;
412
+ text-overflow: ellipsis;
413
+ white-space: nowrap;
414
+ }
415
+
416
+ .theme-panel-token-grid {
417
+ display: flex;
418
+ flex-direction: column;
419
+ gap: 7px;
420
+ }
421
+
422
+ .theme-panel-token-field {
423
+ min-width: 0;
424
+ display: grid;
425
+ grid-template-columns: 88px minmax(0, 1fr);
426
+ gap: 8px;
427
+ align-items: center;
428
+ }
429
+
430
+ .theme-panel-token-label {
431
+ min-width: 0;
432
+ display: flex;
433
+ flex-direction: column;
434
+ gap: 2px;
435
+ }
436
+
437
+ .theme-panel-token-label span {
438
+ color: var(--fg-muted);
439
+ font-size: 10px;
440
+ font-weight: 650;
441
+ white-space: nowrap;
442
+ }
443
+
444
+ .theme-panel-token-label code {
445
+ color: var(--fg-subtle);
446
+ font-family: var(--font-mono);
447
+ font-size: 9px;
448
+ overflow: hidden;
449
+ text-overflow: ellipsis;
450
+ white-space: nowrap;
451
+ }
452
+
453
+ .theme-panel-token-input {
454
+ min-width: 0;
455
+ display: grid;
456
+ grid-template-columns: 24px minmax(0, 1fr);
457
+ gap: 7px;
458
+ align-items: center;
459
+ }
460
+
461
+ .theme-panel-token-field.scale {
462
+ align-items: start;
463
+ }
464
+
465
+ .theme-panel-token-scale {
466
+ min-width: 0;
467
+ display: grid;
468
+ grid-template-columns: 64px minmax(0, 1fr);
469
+ gap: 7px;
470
+ align-items: center;
471
+ }
472
+
473
+ .theme-panel-token-picker {
474
+ width: 24px;
475
+ height: 24px;
476
+ }
477
+
478
+ .theme-panel-token-picker .cp-custom-trigger {
479
+ width: 24px;
480
+ height: 24px;
481
+ display: block;
482
+ border-radius: 7px;
483
+ }
484
+
485
+ .theme-panel-token-swatch {
486
+ display: block;
487
+ width: 24px;
488
+ height: 24px;
489
+ border-radius: 7px;
490
+ box-shadow: var(--neu-shadow-inset), inset 0 0 0 1px var(--border);
491
+ transition:
492
+ box-shadow var(--dur-fast) var(--ease),
493
+ transform var(--dur-fast) var(--ease);
494
+ }
495
+
496
+ .theme-panel-token-picker .cp-custom-trigger:hover .theme-panel-token-swatch {
497
+ box-shadow: var(--neu-shadow-control), inset 0 0 0 1px var(--border);
498
+ transform: translateY(-1px);
499
+ }
500
+
501
+ .theme-panel-token-input .input-wrap,
502
+ .theme-panel-create-field .input-wrap {
503
+ min-width: 0;
504
+ }
505
+
506
+ .theme-panel-token-input .input {
507
+ font-family: var(--font-mono);
508
+ font-size: 11px;
509
+ }