@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.
- package/README.md +2 -1
- package/dist/{Alert-JJ7GB3UU.css → Alert-HVPI6L4V.css} +9 -2
- package/dist/Alert.cjs +3 -3
- package/dist/Alert.d.cts +3 -2
- package/dist/Alert.d.ts +3 -2
- package/dist/Alert.js +2 -2
- package/dist/{AppShell-RCALXUCZ.css → AppShell-FZCD4C56.css} +4 -4
- package/dist/AppShell.cjs +5 -5
- package/dist/AppShell.js +1 -1
- package/dist/{AutoComplete-P5KZMZO5.css → AutoComplete-4YZBMW4E.css} +2 -2
- package/dist/AutoComplete.cjs +5 -5
- package/dist/AutoComplete.js +4 -4
- package/dist/{Avatar-R5A4AFKZ.css → Avatar-TNPOHVY5.css} +1 -1
- package/dist/Avatar.cjs +2 -2
- package/dist/Avatar.js +1 -1
- package/dist/Badge.cjs +2 -2
- package/dist/Badge.d.cts +1 -0
- package/dist/Badge.d.ts +1 -0
- package/dist/Badge.js +1 -1
- package/dist/Button-TUMZUQLI.css +118 -0
- package/dist/Button.cjs +3 -3
- package/dist/Button.d.cts +6 -5
- package/dist/Button.d.ts +6 -5
- package/dist/Button.js +2 -2
- package/dist/{Calendar-LHZELUDL.css → Calendar-RUTPKREW.css} +4 -4
- package/dist/Calendar.cjs +3 -3
- package/dist/Calendar.js +2 -2
- package/dist/{Card-6RMVIHWX.css → Card-MA6SV7D5.css} +6 -6
- package/dist/Card.cjs +2 -2
- package/dist/Card.js +1 -1
- package/dist/{Cascader-C2DFSMKJ.css → Cascader-ANEQUPMI.css} +21 -8
- package/dist/Cascader.cjs +5 -5
- package/dist/Cascader.d.cts +4 -2
- package/dist/Cascader.d.ts +4 -2
- package/dist/Cascader.js +4 -4
- package/dist/{Checkbox-U5EUDSYS.css → Checkbox-EDNPZRIP.css} +3 -3
- package/dist/Checkbox.cjs +3 -3
- package/dist/Checkbox.js +2 -2
- package/dist/{Collapse-66U5YJFY.css → Collapse-UNBHEPYP.css} +2 -2
- package/dist/Collapse.cjs +3 -3
- package/dist/Collapse.js +2 -2
- package/dist/{ColorPicker-SDDQGHCM.css → ColorPicker-LPG6QPYF.css} +7 -7
- package/dist/ColorPicker.cjs +2 -2
- package/dist/ColorPicker.js +1 -1
- package/dist/{CommandPalette-T45DBMPY.css → CommandPalette-RTKWNH2D.css} +3 -3
- package/dist/CommandPalette.cjs +5 -5
- package/dist/CommandPalette.js +4 -4
- package/dist/{ContextMenu-FKW6CQW4.css → ContextMenu-WRR2SSWL.css} +3 -3
- package/dist/ContextMenu.cjs +2 -2
- package/dist/ContextMenu.js +1 -1
- package/dist/{Divider-OEE4Q2KS.css → Divider-RPQCVH3J.css} +2 -2
- package/dist/Divider.cjs +2 -2
- package/dist/Divider.js +1 -1
- package/dist/{Drawer-IPGB4CXH.css → Drawer-7N3URAJ6.css} +8 -5
- package/dist/Drawer.cjs +3 -3
- package/dist/Drawer.js +2 -2
- package/dist/{Empty-DC2LPORC.css → Empty-CZTRZMZQ.css} +1 -1
- package/dist/Empty.cjs +2 -2
- package/dist/Empty.js +1 -1
- package/dist/{Form-5GRVZNDO.css → Form-NGCQWTMZ.css} +1 -1
- package/dist/Form.cjs +4 -4
- package/dist/Form.js +1 -1
- package/dist/Icon.cjs +55 -47
- package/dist/Icon.d.cts +9 -1
- package/dist/Icon.d.ts +9 -1
- package/dist/Icon.js +1 -1
- package/dist/{Image-4MN34O6P.css → Image-SGSRTHQX.css} +81 -3
- package/dist/Image.cjs +12 -4
- package/dist/Image.d.cts +79 -6
- package/dist/Image.d.ts +79 -6
- package/dist/Image.js +2 -2
- package/dist/{Input-3G4ONWNU.css → Input-7GDPGP3E.css} +22 -12
- package/dist/Input.cjs +5 -5
- package/dist/Input.d.cts +4 -3
- package/dist/Input.d.ts +4 -3
- package/dist/Input.js +3 -3
- package/dist/InputNumber.cjs +5 -5
- package/dist/InputNumber.js +4 -4
- package/dist/{List-W5BW4D2P.css → List-LSMU5QAC.css} +3 -3
- package/dist/List.cjs +2 -2
- package/dist/List.js +1 -1
- package/dist/{Message-2MZ3LFPU.css → Message-H222YGR6.css} +1 -1
- package/dist/Message.cjs +6 -6
- package/dist/Message.js +2 -2
- package/dist/{Modal-2QNDW4SO.css → Modal-MCFDYVUQ.css} +3 -3
- package/dist/Modal.cjs +4 -4
- package/dist/Modal.d.cts +1 -0
- package/dist/Modal.d.ts +1 -0
- package/dist/Modal.js +3 -3
- package/dist/{Pagination-YIRYJUXP.css → Pagination-YSZSNFHG.css} +5 -5
- package/dist/Pagination.cjs +7 -7
- package/dist/Pagination.js +6 -6
- package/dist/{Popover-DVGQGWX6.css → Popover-Y3LDCJPW.css} +1 -1
- package/dist/Popover.cjs +2 -2
- package/dist/Popover.js +1 -1
- package/dist/{Progress-CHV7DN6Y.css → Progress-CZNXCYGW.css} +1 -1
- package/dist/Progress.cjs +2 -2
- package/dist/Progress.js +1 -1
- package/dist/{Radio-GVFDPAZM.css → Radio-IQKASYDF.css} +4 -4
- package/dist/Radio.cjs +3 -3
- package/dist/Radio.js +1 -1
- package/dist/{Select-JVBQAZBG.css → Select-YZ2NUJSX.css} +44 -19
- package/dist/Select.cjs +6 -6
- package/dist/Select.d.cts +4 -3
- package/dist/Select.d.ts +4 -3
- package/dist/Select.js +5 -5
- package/dist/Skeleton.cjs +2 -2
- package/dist/Skeleton.js +1 -1
- package/dist/{Slider-3JKA5EW6.css → Slider-UM2IZZBH.css} +7 -7
- package/dist/Slider.cjs +2 -2
- package/dist/Slider.js +1 -1
- package/dist/{Spin-3GJNMSIH.css → Spin-GONGPV4Q.css} +1 -1
- package/dist/Spin.cjs +2 -2
- package/dist/Spin.js +1 -1
- package/dist/Splitter.cjs +2 -2
- package/dist/Splitter.js +1 -1
- package/dist/{StatusBar-CDS2GPSI.css → StatusBar-FJKEEPXU.css} +3 -7
- package/dist/StatusBar.cjs +3 -3
- package/dist/StatusBar.js +1 -1
- package/dist/Surface-UDDN3DGL.css +42 -0
- package/dist/Surface.cjs +16 -0
- package/dist/Surface.d.cts +60 -0
- package/dist/Surface.d.ts +60 -0
- package/dist/Surface.js +3 -0
- package/dist/{Switch-36KJNDXM.css → Switch-COAQIOMH.css} +8 -5
- package/dist/Switch.cjs +2 -2
- package/dist/Switch.js +1 -1
- package/dist/{Table-ATJJQLKU.css → Table-IYJTPY6J.css} +16 -16
- package/dist/Table.cjs +9 -9
- package/dist/Table.js +8 -8
- package/dist/{TablePro-3XVHYLSL.css → TablePro-JRSBPXB5.css} +1 -1
- package/dist/TablePro.cjs +10 -10
- package/dist/TablePro.js +9 -9
- package/dist/{Tabs-BLSNI2T5.css → Tabs-X5U5PCPV.css} +2 -2
- package/dist/Tabs.cjs +2 -2
- package/dist/Tabs.js +1 -1
- package/dist/{Tag-LB3OOJAO.css → Tag-G2XWAL7A.css} +15 -2
- package/dist/Tag.cjs +3 -3
- package/dist/Tag.d.cts +4 -3
- package/dist/Tag.d.ts +4 -3
- package/dist/Tag.js +2 -2
- package/dist/{Textarea-YNET7IBH.css → Textarea-YHWKHIFE.css} +3 -3
- package/dist/Textarea.cjs +4 -4
- package/dist/Textarea.js +2 -2
- package/dist/Theme.cjs +14 -10
- package/dist/Theme.d.cts +34 -7
- package/dist/Theme.d.ts +34 -7
- package/dist/Theme.js +1 -1
- package/dist/ThemePanel-76LB3YA5.css +509 -0
- package/dist/ThemePanel.cjs +29 -0
- package/dist/ThemePanel.d.cts +80 -0
- package/dist/ThemePanel.d.ts +80 -0
- package/dist/ThemePanel.js +12 -0
- package/dist/{Timeline-3ZHOHPXT.css → Timeline-ZIM7QFQC.css} +1 -1
- package/dist/Timeline.cjs +3 -3
- package/dist/Timeline.js +2 -2
- package/dist/{Tooltip-DMKUPC24.css → Tooltip-WI23DSRQ.css} +1 -1
- package/dist/Tooltip.cjs +2 -2
- package/dist/Tooltip.js +1 -1
- package/dist/{Typography-NKPWTJCV.css → Typography-GQNIJ4XD.css} +5 -5
- package/dist/Typography.cjs +7 -7
- package/dist/Typography.d.cts +1 -0
- package/dist/Typography.d.ts +1 -0
- package/dist/Typography.js +2 -2
- package/dist/chunk-2NT5QKEX.js +243 -0
- package/dist/{chunk-6BWELOCT.js → chunk-2SCXQ7QS.js} +2 -2
- package/dist/{chunk-5WAXZJG5.cjs → chunk-2ZADGBUN.cjs} +6 -6
- package/dist/{chunk-7NGMQIST.js → chunk-2ZFJTMEF.js} +4 -4
- package/dist/{chunk-UMDGS4BP.js → chunk-3YP7CBJT.js} +5 -5
- package/dist/{chunk-UUHFKIWP.cjs → chunk-4UKM4KAC.cjs} +2 -2
- package/dist/{chunk-WGZ2KJTZ.js → chunk-56PHETWO.js} +3 -3
- package/dist/{chunk-MQV2XN4B.cjs → chunk-5JPAUQ5H.cjs} +7 -7
- package/dist/{chunk-OQBDU5I2.cjs → chunk-5NFSDFBB.cjs} +4 -4
- package/dist/{chunk-SKMP2A5O.cjs → chunk-66GXZQKL.cjs} +4 -4
- package/dist/{chunk-TZJH5HBT.cjs → chunk-66T76GII.cjs} +6 -6
- package/dist/chunk-6EOSMK34.cjs +194 -0
- package/dist/{chunk-WNM5RVXR.cjs → chunk-6GQPF3EI.cjs} +2 -2
- package/dist/{chunk-TJII7BQ2.cjs → chunk-6LARTGLP.cjs} +11 -1
- package/dist/chunk-6SPMHY54.js +191 -0
- package/dist/{chunk-YLIQ37KY.cjs → chunk-6XVLERA3.cjs} +2 -2
- package/dist/{chunk-WKKSAGYH.js → chunk-7D76MI37.js} +8 -8
- package/dist/chunk-7NZ2A4MA.js +495 -0
- package/dist/{chunk-KLEKKZ73.js → chunk-7ZNGHWVS.js} +1 -1
- package/dist/{chunk-4WTU5P3O.cjs → chunk-ACQSRMLF.cjs} +5 -5
- package/dist/{chunk-FFZ6OMZI.js → chunk-AJH2O4WC.js} +3 -3
- package/dist/{chunk-CXWEOAVU.js → chunk-BCFCSVGJ.js} +3 -3
- package/dist/{chunk-NTS5L4NQ.cjs → chunk-BJ6WUVEG.cjs} +4 -4
- package/dist/{chunk-S3VXH5L4.cjs → chunk-C24W6PTJ.cjs} +2 -2
- package/dist/{chunk-GMN74OEY.cjs → chunk-CBKJXKVI.cjs} +2 -2
- package/dist/{chunk-33NCTOEB.js → chunk-CEZ2DR4R.js} +3 -3
- package/dist/{chunk-JD7A6VM3.js → chunk-CNGKJYGZ.js} +6 -6
- package/dist/{chunk-TEG7NJHS.cjs → chunk-D5PCIVID.cjs} +4 -4
- package/dist/{chunk-K2KYM7LW.cjs → chunk-D64IPDUE.cjs} +4 -4
- package/dist/chunk-DYHNOYRC.cjs +271 -0
- package/dist/{chunk-CUXV6QNN.cjs → chunk-DYSGXQUK.cjs} +7 -7
- package/dist/{chunk-3YJU3D5S.cjs → chunk-F3LHLYX6.cjs} +2 -2
- package/dist/{chunk-HPFQXYKG.cjs → chunk-GBKUGKIY.cjs} +11 -11
- package/dist/{chunk-MUXP7ASL.js → chunk-GUZ2DNDC.js} +3 -3
- package/dist/{chunk-K6F25JXT.js → chunk-GZCU6HXD.js} +2 -2
- package/dist/{chunk-USQ43DJ5.js → chunk-HFUHQUPQ.js} +2 -2
- package/dist/{chunk-7JN6FJ55.js → chunk-HU7T64Y3.js} +2 -2
- package/dist/{chunk-OYMJVU66.cjs → chunk-IDJCFYPP.cjs} +16 -16
- package/dist/{chunk-KD4YYIIO.cjs → chunk-IHK2FRTS.cjs} +2 -2
- package/dist/{chunk-Q5SZIU7Z.cjs → chunk-JFQ53MO4.cjs} +1 -1
- package/dist/{chunk-7PQJCLIR.js → chunk-KMG7OMOS.js} +2 -2
- package/dist/{chunk-MT7UWY6T.cjs → chunk-L27C5O4W.cjs} +4 -4
- package/dist/chunk-LFTCK2VM.cjs +1194 -0
- package/dist/{chunk-EJBHR2P5.js → chunk-LI4XJTEA.js} +3 -3
- package/dist/{chunk-45VJGBGN.js → chunk-LQLOOUS3.js} +2 -2
- package/dist/{chunk-PL6DRFUO.cjs → chunk-MOMLQP7B.cjs} +2 -2
- package/dist/{chunk-OF7JIYBY.cjs → chunk-MYHBC3HA.cjs} +2 -2
- package/dist/{chunk-LKK2AA7W.js → chunk-MYRLCN6V.js} +2 -2
- package/dist/{chunk-6ACKL3WH.cjs → chunk-N2BTMKF2.cjs} +5 -5
- package/dist/chunk-N2COYOXE.cjs +526 -0
- package/dist/{chunk-2TL37AP5.cjs → chunk-N3OLFKV5.cjs} +1 -1
- package/dist/{chunk-5JSDQ6QQ.cjs → chunk-NDO22RER.cjs} +2 -2
- package/dist/{chunk-XD3JGL5O.js → chunk-NE7IUGMK.js} +3 -3
- package/dist/{chunk-F6RYCBQG.js → chunk-NFXHIO3G.js} +1 -1
- package/dist/chunk-NJCHFXGC.js +1170 -0
- package/dist/chunk-NT6CJYI3.cjs +129 -0
- package/dist/chunk-O43DOE7V.js +106 -0
- package/dist/{chunk-GNEZD7KE.cjs → chunk-O4BOBOYV.cjs} +2 -2
- package/dist/{chunk-3AS5B7MQ.cjs → chunk-OGPDCBPD.cjs} +12 -12
- package/dist/{chunk-6YQTMI55.js → chunk-OHFZ7L4T.js} +2 -2
- package/dist/{chunk-CEJ7VBR6.js → chunk-OHIFKN4E.js} +4 -4
- package/dist/{chunk-46VXFTEC.js → chunk-OQU3TJCF.js} +3 -3
- package/dist/{chunk-5TKC6IEN.js → chunk-PEJLXJQD.js} +1 -1
- package/dist/{chunk-HWFM4MAT.js → chunk-PKHITACT.js} +2 -2
- package/dist/{chunk-CHMCL7AV.js → chunk-PNZJFLMY.js} +3 -3
- package/dist/{chunk-XRR3CYQL.js → chunk-QP7RXZES.js} +2 -2
- package/dist/{chunk-QGHYQCF3.cjs → chunk-QY76WTO5.cjs} +9 -9
- package/dist/{chunk-EIY7KEJ3.cjs → chunk-R74TZKJS.cjs} +4 -4
- package/dist/{chunk-GNEZQMKH.js → chunk-REMJWNAT.js} +5 -5
- package/dist/{chunk-SWBWZIL4.cjs → chunk-S6OKX4H7.cjs} +2 -2
- package/dist/{chunk-EC4WGEAJ.js → chunk-SABWUELE.js} +2 -2
- package/dist/{chunk-QKQHZIF3.cjs → chunk-SG42F5VB.cjs} +2 -2
- package/dist/{chunk-5C2AI2SD.js → chunk-SQIWPU6V.js} +2 -2
- package/dist/{chunk-ZIP7F4UF.cjs → chunk-SYWTT5TY.cjs} +5 -5
- package/dist/{chunk-OBEKX4VR.js → chunk-TVUBGXWA.js} +2 -2
- package/dist/{chunk-7PNJI5UE.cjs → chunk-U2H4DRMV.cjs} +2 -2
- package/dist/{chunk-6LZ54NPO.cjs → chunk-VAXWWJJP.cjs} +34 -24
- package/dist/{chunk-DQTSTJ6O.js → chunk-VNNQYJLT.js} +4 -4
- package/dist/{chunk-KGSADAOD.cjs → chunk-VSUMJX6Z.cjs} +2 -2
- package/dist/{chunk-ON4DEDMI.js → chunk-W5CJC7S7.js} +3 -3
- package/dist/{chunk-AXZ7ELMA.js → chunk-WEJKY3DF.js} +2 -2
- package/dist/{chunk-EQEJTN3V.js → chunk-WXWFMWWF.js} +3 -3
- package/dist/{chunk-TEEFR2FD.js → chunk-XHQGMMH7.js} +2 -2
- package/dist/{chunk-XTIN5545.js → chunk-XVP7IKLZ.js} +32 -22
- package/dist/{chunk-ELNT3CFO.js → chunk-Y5F7ZTBH.js} +2 -2
- package/dist/{chunk-QCILPZWP.js → chunk-YJEXAO2I.js} +2 -2
- package/dist/{chunk-7ABFUIOB.cjs → chunk-YNCDTKAE.cjs} +2 -2
- package/dist/{chunk-35ZGBAA3.cjs → chunk-YSCIMHOI.cjs} +6 -6
- package/dist/{chunk-AWXCSX6J.js → chunk-YSXD344H.js} +5 -5
- package/dist/{chunk-OF3SGLZY.js → chunk-YT5NLCRC.js} +10 -2
- package/dist/{chunk-HZSIUOCN.cjs → chunk-YUKXNWVE.cjs} +1 -1
- package/dist/{chunk-65FIH5A3.js → chunk-YVTLHTG6.js} +2 -2
- package/dist/{chunk-GENABQYA.cjs → chunk-Z4PZ2ZHI.cjs} +2 -2
- package/dist/{chunk-FBVVRTX2.cjs → chunk-ZPKHGKVL.cjs} +4 -4
- package/dist/{chunk-FJNWUELL.js → chunk-ZPP7LTHP.js} +3 -3
- package/dist/{chunk-IZOHYJUQ.cjs → chunk-ZWCDB5PP.cjs} +2 -2
- package/dist/index.cjs +226 -183
- package/dist/index.d.cts +7 -5
- package/dist/index.d.ts +7 -5
- package/dist/index.js +49 -46
- package/dist/styles.css +873 -200
- package/dist/{tokens-BIIUTPKN.css → tokens-EF34LSWI.css} +42 -17
- package/dist/tokens.css +42 -17
- package/docs/llms/alert.md +4 -3
- package/docs/llms/button.md +4 -3
- package/docs/llms/cascader.md +3 -0
- package/docs/llms/image.md +72 -1
- package/docs/llms/input.md +3 -2
- package/docs/llms/select.md +2 -2
- package/docs/llms/surface.md +90 -0
- package/docs/llms/tag.md +3 -2
- package/docs/llms/theme.md +65 -6
- package/docs/llms/themepanel.md +128 -0
- package/docs/llms.md +6 -4
- package/package.json +16 -1
- package/dist/Button-SDQD25AG.css +0 -98
- package/dist/chunk-B2KEZQ6S.cjs +0 -116
- package/dist/chunk-NN25YMOL.js +0 -251
- package/dist/chunk-PH3YECMF.js +0 -90
- package/dist/chunk-RF2EY5JS.cjs +0 -281
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
.table-wrap {
|
|
3
3
|
border-radius: var(--r-lg);
|
|
4
4
|
background: var(--bg);
|
|
5
|
-
box-shadow: var(--neu-
|
|
5
|
+
box-shadow: var(--neu-shadow-inset);
|
|
6
6
|
overflow: auto;
|
|
7
7
|
}
|
|
8
8
|
/* When scroll=y is on, the wrap itself becomes the scroll region. */
|
|
@@ -40,13 +40,13 @@
|
|
|
40
40
|
width: 16px; height: 16px;
|
|
41
41
|
border-radius: 6px;
|
|
42
42
|
background: var(--bg);
|
|
43
|
-
box-shadow: var(--neu-
|
|
43
|
+
box-shadow: var(--neu-shadow-subtle);
|
|
44
44
|
align-items: center; justify-content: center;
|
|
45
45
|
margin-left: 6px;
|
|
46
46
|
color: var(--fg-subtle);
|
|
47
47
|
vertical-align: middle;
|
|
48
48
|
}
|
|
49
|
-
.table th.sorted .sort-ind { color: var(--accent); box-shadow: var(--neu-
|
|
49
|
+
.table th.sorted .sort-ind { color: var(--accent); box-shadow: var(--neu-shadow-inset); }
|
|
50
50
|
.table td {
|
|
51
51
|
padding: 12px 18px;
|
|
52
52
|
border-bottom: 1px solid var(--divider);
|
|
@@ -109,14 +109,14 @@
|
|
|
109
109
|
border: none;
|
|
110
110
|
border-radius: var(--r-sm);
|
|
111
111
|
background: var(--bg);
|
|
112
|
-
box-shadow: var(--neu-
|
|
112
|
+
box-shadow: var(--neu-shadow-subtle);
|
|
113
113
|
color: var(--fg-subtle);
|
|
114
114
|
display: inline-flex; align-items: center; justify-content: center;
|
|
115
115
|
cursor: pointer;
|
|
116
116
|
transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
|
|
117
117
|
}
|
|
118
|
-
.expand-btn:hover { color: var(--accent-ink); box-shadow: var(--neu-
|
|
119
|
-
.expand-btn.open { transform: rotate(90deg); color: var(--accent-ink); box-shadow: var(--neu-
|
|
118
|
+
.expand-btn:hover { color: var(--accent-ink); box-shadow: var(--neu-shadow-control); }
|
|
119
|
+
.expand-btn.open { transform: rotate(90deg); color: var(--accent-ink); box-shadow: var(--neu-shadow-inset); }
|
|
120
120
|
|
|
121
121
|
/* Expanded row panel */
|
|
122
122
|
.table tbody tr.expanded-row td {
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
padding: 14px 16px;
|
|
129
129
|
border-radius: var(--r-md);
|
|
130
130
|
background: var(--bg);
|
|
131
|
-
box-shadow: var(--neu-
|
|
131
|
+
box-shadow: var(--neu-shadow-inset);
|
|
132
132
|
color: var(--fg);
|
|
133
133
|
font-size: 13px;
|
|
134
134
|
}
|
|
@@ -140,14 +140,14 @@
|
|
|
140
140
|
border: none;
|
|
141
141
|
padding: 0;
|
|
142
142
|
background: var(--bg);
|
|
143
|
-
box-shadow: var(--neu-
|
|
143
|
+
box-shadow: var(--neu-shadow-inset);
|
|
144
144
|
display: inline-flex; align-items: center; justify-content: center;
|
|
145
145
|
cursor: pointer;
|
|
146
146
|
transition: box-shadow var(--dur-fast) var(--ease);
|
|
147
147
|
}
|
|
148
148
|
.table .row-check .radio-dot:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
149
149
|
.table .row-check .radio-dot.checked {
|
|
150
|
-
box-shadow: var(--neu-
|
|
150
|
+
box-shadow: var(--neu-shadow-control);
|
|
151
151
|
}
|
|
152
152
|
.table .row-check .radio-dot.checked::after {
|
|
153
153
|
content: "";
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
width: 18px; height: 18px;
|
|
163
163
|
border-radius: 5px;
|
|
164
164
|
background: var(--bg);
|
|
165
|
-
box-shadow: var(--neu-
|
|
165
|
+
box-shadow: var(--neu-shadow-subtle);
|
|
166
166
|
color: var(--fg-subtle);
|
|
167
167
|
align-items: center; justify-content: center;
|
|
168
168
|
margin-left: 6px;
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
.table th.filterable .filter-ind:hover { color: var(--fg); }
|
|
176
176
|
.table th.filterable .filter-ind.active {
|
|
177
177
|
color: var(--accent-ink);
|
|
178
|
-
box-shadow: var(--neu-
|
|
178
|
+
box-shadow: var(--neu-shadow-inset);
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
/* Filter popover panel (portaled to body) */
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
max-width: 260px;
|
|
186
186
|
background: var(--bg);
|
|
187
187
|
border-radius: var(--r-md);
|
|
188
|
-
box-shadow: var(--neu-float);
|
|
188
|
+
box-shadow: var(--neu-shadow-float);
|
|
189
189
|
padding: 10px;
|
|
190
190
|
animation: menuIn var(--dur) var(--ease);
|
|
191
191
|
}
|
|
@@ -224,17 +224,17 @@
|
|
|
224
224
|
padding: 6px 12px;
|
|
225
225
|
border-radius: var(--r-sm);
|
|
226
226
|
background: var(--bg);
|
|
227
|
-
box-shadow: var(--neu-
|
|
227
|
+
box-shadow: var(--neu-shadow-control);
|
|
228
228
|
font-size: 12px;
|
|
229
229
|
font-family: inherit;
|
|
230
230
|
color: var(--fg);
|
|
231
231
|
cursor: pointer;
|
|
232
232
|
transition: box-shadow var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
|
|
233
233
|
}
|
|
234
|
-
.table-filter-actions .tf-btn:hover { box-shadow: var(--neu-
|
|
234
|
+
.table-filter-actions .tf-btn:hover { box-shadow: var(--neu-shadow-inset); }
|
|
235
235
|
.table-filter-actions .tf-btn.primary { color: var(--accent-ink); font-weight: 600; }
|
|
236
|
-
.table-filter-actions .tf-btn.ghost { color: var(--fg-muted); box-shadow: var(--neu-
|
|
237
|
-
.table-filter-actions .tf-btn.ghost:hover { box-shadow: var(--neu-
|
|
236
|
+
.table-filter-actions .tf-btn.ghost { color: var(--fg-muted); box-shadow: var(--neu-shadow-subtle); }
|
|
237
|
+
.table-filter-actions .tf-btn.ghost:hover { box-shadow: var(--neu-shadow-inset); }
|
|
238
238
|
|
|
239
239
|
/* Built-in pagination bar */
|
|
240
240
|
.table-pagination {
|
package/dist/Table.cjs
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
5
|
-
require('./chunk-
|
|
6
|
-
require('./chunk-
|
|
7
|
-
require('./chunk-
|
|
3
|
+
var chunkOGPDCBPD_cjs = require('./chunk-OGPDCBPD.cjs');
|
|
4
|
+
require('./chunk-DYSGXQUK.cjs');
|
|
5
|
+
require('./chunk-IDJCFYPP.cjs');
|
|
6
|
+
require('./chunk-SYWTT5TY.cjs');
|
|
7
|
+
require('./chunk-ZPKHGKVL.cjs');
|
|
8
8
|
require('./chunk-YB3IWIOJ.cjs');
|
|
9
|
-
require('./chunk-
|
|
10
|
-
require('./chunk-
|
|
11
|
-
require('./chunk-
|
|
9
|
+
require('./chunk-VAXWWJJP.cjs');
|
|
10
|
+
require('./chunk-5NFSDFBB.cjs');
|
|
11
|
+
require('./chunk-6LARTGLP.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
Object.defineProperty(exports, "Table", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkOGPDCBPD_cjs.Table; }
|
|
18
18
|
});
|
package/dist/Table.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { Table } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
1
|
+
export { Table } from './chunk-YSXD344H.js';
|
|
2
|
+
import './chunk-2ZFJTMEF.js';
|
|
3
|
+
import './chunk-7D76MI37.js';
|
|
4
|
+
import './chunk-VNNQYJLT.js';
|
|
5
|
+
import './chunk-WXWFMWWF.js';
|
|
6
6
|
import './chunk-DUFRASGO.js';
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
7
|
+
import './chunk-XVP7IKLZ.js';
|
|
8
|
+
import './chunk-56PHETWO.js';
|
|
9
|
+
import './chunk-YT5NLCRC.js';
|
package/dist/TablePro.cjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
5
|
-
require('./chunk-
|
|
6
|
-
require('./chunk-
|
|
7
|
-
require('./chunk-
|
|
8
|
-
require('./chunk-
|
|
3
|
+
var chunkD64IPDUE_cjs = require('./chunk-D64IPDUE.cjs');
|
|
4
|
+
require('./chunk-OGPDCBPD.cjs');
|
|
5
|
+
require('./chunk-DYSGXQUK.cjs');
|
|
6
|
+
require('./chunk-IDJCFYPP.cjs');
|
|
7
|
+
require('./chunk-SYWTT5TY.cjs');
|
|
8
|
+
require('./chunk-ZPKHGKVL.cjs');
|
|
9
9
|
require('./chunk-YB3IWIOJ.cjs');
|
|
10
|
-
require('./chunk-
|
|
11
|
-
require('./chunk-
|
|
12
|
-
require('./chunk-
|
|
10
|
+
require('./chunk-VAXWWJJP.cjs');
|
|
11
|
+
require('./chunk-5NFSDFBB.cjs');
|
|
12
|
+
require('./chunk-6LARTGLP.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
Object.defineProperty(exports, "TablePro", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkD64IPDUE_cjs.TablePro; }
|
|
19
19
|
});
|
package/dist/TablePro.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { TablePro } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
1
|
+
export { TablePro } from './chunk-GUZ2DNDC.js';
|
|
2
|
+
import './chunk-YSXD344H.js';
|
|
3
|
+
import './chunk-2ZFJTMEF.js';
|
|
4
|
+
import './chunk-7D76MI37.js';
|
|
5
|
+
import './chunk-VNNQYJLT.js';
|
|
6
|
+
import './chunk-WXWFMWWF.js';
|
|
7
7
|
import './chunk-DUFRASGO.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
8
|
+
import './chunk-XVP7IKLZ.js';
|
|
9
|
+
import './chunk-56PHETWO.js';
|
|
10
|
+
import './chunk-YT5NLCRC.js';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
padding: 5px;
|
|
6
6
|
border-radius: var(--r-md);
|
|
7
7
|
background: var(--bg);
|
|
8
|
-
box-shadow: var(--neu-
|
|
8
|
+
box-shadow: var(--neu-shadow-inset);
|
|
9
9
|
gap: 2px;
|
|
10
10
|
align-self: flex-start;
|
|
11
11
|
}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
.tabs-nav .tab.active {
|
|
29
29
|
color: var(--accent-ink);
|
|
30
30
|
background: var(--bg);
|
|
31
|
-
box-shadow: var(--neu-
|
|
31
|
+
box-shadow: var(--neu-shadow-control);
|
|
32
32
|
font-weight: 600;
|
|
33
33
|
}
|
|
34
34
|
.tabs-nav .tab[disabled] { opacity: 0.4; cursor: not-allowed; }
|
package/dist/Tabs.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
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
|
|
9
|
+
get: function () { return chunkIHK2FRTS_cjs.Tabs; }
|
|
10
10
|
});
|
package/dist/Tabs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { Tabs } from './chunk-
|
|
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-
|
|
12
|
+
box-shadow: var(--neu-shadow-subtle);
|
|
13
13
|
color: var(--fg-muted);
|
|
14
14
|
}
|
|
15
15
|
.tag.accent { color: var(--accent-ink); }
|
|
@@ -24,6 +24,19 @@
|
|
|
24
24
|
.tag.solid.danger { background: var(--danger); color: var(--bg); box-shadow: 0 2px 6px color-mix(in oklch, var(--danger) 35%, transparent); }
|
|
25
25
|
.tag.borderless { background: transparent; box-shadow: none; }
|
|
26
26
|
.tag .dot { width: 6px; height: 6px; border-radius: 999px; background: currentColor; }
|
|
27
|
-
.tag .tag-ico {
|
|
27
|
+
.tag .tag-ico {
|
|
28
|
+
color: currentColor;
|
|
29
|
+
display: inline-flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
justify-content: center;
|
|
32
|
+
line-height: 0;
|
|
33
|
+
flex-shrink: 0;
|
|
34
|
+
}
|
|
35
|
+
.tag .tag-ico img {
|
|
36
|
+
display: block;
|
|
37
|
+
width: 1em;
|
|
38
|
+
height: 1em;
|
|
39
|
+
object-fit: contain;
|
|
40
|
+
}
|
|
28
41
|
.tag .x { cursor: pointer; color: var(--fg-subtle); margin-left: 2px; display: inline-flex; }
|
|
29
42
|
.tag .x:hover { color: var(--fg); }
|
package/dist/Tag.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
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
|
|
10
|
+
get: function () { return chunkSYWTT5TY_cjs.Tag; }
|
|
11
11
|
});
|
package/dist/Tag.d.cts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { IconSlot } from './Icon.cjs';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
3
4
|
|
|
4
5
|
type TagTone = "neutral" | "accent" | "info" | "success" | "warning" | "danger";
|
|
5
6
|
interface TagProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
@@ -7,8 +8,8 @@ interface TagProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
|
7
8
|
solid?: boolean;
|
|
8
9
|
/** Render a leading colored dot. */
|
|
9
10
|
dot?: boolean;
|
|
10
|
-
/** Leading icon
|
|
11
|
-
icon?:
|
|
11
|
+
/** Leading icon. Accepts a built-in icon name or custom React node. */
|
|
12
|
+
icon?: IconSlot;
|
|
12
13
|
/** Show a close button. */
|
|
13
14
|
removable?: boolean;
|
|
14
15
|
onRemove?: () => void;
|
package/dist/Tag.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { IconSlot } from './Icon.js';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
3
4
|
|
|
4
5
|
type TagTone = "neutral" | "accent" | "info" | "success" | "warning" | "danger";
|
|
5
6
|
interface TagProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
@@ -7,8 +8,8 @@ interface TagProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
|
7
8
|
solid?: boolean;
|
|
8
9
|
/** Render a leading colored dot. */
|
|
9
10
|
dot?: boolean;
|
|
10
|
-
/** Leading icon
|
|
11
|
-
icon?:
|
|
11
|
+
/** Leading icon. Accepts a built-in icon name or custom React node. */
|
|
12
|
+
icon?: IconSlot;
|
|
12
13
|
/** Show a close button. */
|
|
13
14
|
removable?: boolean;
|
|
14
15
|
onRemove?: () => void;
|
package/dist/Tag.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { Tag } from './chunk-
|
|
2
|
-
import './chunk-
|
|
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-
|
|
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-
|
|
53
|
-
.textarea.invalid { box-shadow: var(--neu-
|
|
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
|
|
4
|
-
require('./chunk-
|
|
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
|
|
10
|
+
get: function () { return chunk5NFSDFBB_cjs.TextArea; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "Textarea", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunk5NFSDFBB_cjs.Textarea; }
|
|
15
15
|
});
|
package/dist/Textarea.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { TextArea, Textarea } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { TextArea, Textarea } from './chunk-56PHETWO.js';
|
|
2
|
+
import './chunk-YT5NLCRC.js';
|
package/dist/Theme.cjs
CHANGED
|
@@ -1,42 +1,46 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
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
|
|
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
|
|
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
|
|
17
|
+
get: function () { return chunkN2COYOXE_cjs.FONT_STACKS; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "ThemeProvider", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkN2COYOXE_cjs.ThemeProvider; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "applyTheme", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkN2COYOXE_cjs.applyTheme; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "normalizeAccentInput", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkN2COYOXE_cjs.normalizeAccentInput; }
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, "resolveThemeColorScheme", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () { return chunkN2COYOXE_cjs.resolveThemeColorScheme; }
|
|
30
34
|
});
|
|
31
35
|
Object.defineProperty(exports, "resolveThemeMode", {
|
|
32
36
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunkN2COYOXE_cjs.resolveThemeMode; }
|
|
34
38
|
});
|
|
35
39
|
Object.defineProperty(exports, "useTheme", {
|
|
36
40
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkN2COYOXE_cjs.useTheme; }
|
|
38
42
|
});
|
|
39
43
|
Object.defineProperty(exports, "useThemeOptional", {
|
|
40
44
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkN2COYOXE_cjs.useThemeOptional; }
|
|
42
46
|
});
|
package/dist/Theme.d.cts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
type
|
|
4
|
-
type
|
|
3
|
+
type ThemeBaseMode = "light" | "dark";
|
|
4
|
+
type BuiltInThemeMode = ThemeBaseMode | "system";
|
|
5
|
+
type ThemeMode = BuiltInThemeMode | (string & {});
|
|
6
|
+
type ResolvedThemeMode = ThemeBaseMode | (string & {});
|
|
5
7
|
type AccentKey = "sky" | "coral" | "mint" | "violet" | "amber" | "rose";
|
|
6
8
|
type DensityMode = "compact" | "comfortable" | "spacious";
|
|
7
9
|
type FontKey = "system" | "sf" | "serif" | "mono";
|
|
@@ -30,8 +32,25 @@ type FontConfig = FontKey | string | {
|
|
|
30
32
|
/** Arbitrary CSS variable overrides. Keys may be either a short name
|
|
31
33
|
* (e.g. `"bg"` → `--bg`) or a full var name (e.g. `"--bg"`). */
|
|
32
34
|
type ThemeTokens = Record<string, string>;
|
|
35
|
+
/** Named custom theme mode. `base` keeps dark/light specific component rules. */
|
|
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;
|
|
41
|
+
base?: ThemeBaseMode;
|
|
42
|
+
accent?: AccentKey | CustomAccentInput;
|
|
43
|
+
density?: DensityMode;
|
|
44
|
+
intensity?: number;
|
|
45
|
+
radius?: number;
|
|
46
|
+
font?: FontConfig;
|
|
47
|
+
tokens?: ThemeTokens;
|
|
48
|
+
}
|
|
49
|
+
type ThemePresets = Record<string, ThemePreset>;
|
|
33
50
|
interface ThemeConfig {
|
|
34
51
|
mode?: ThemeMode;
|
|
52
|
+
/** Base light/dark color scheme used by custom modes. */
|
|
53
|
+
colorScheme?: ThemeBaseMode;
|
|
35
54
|
accent?: AccentKey | CustomAccentInput;
|
|
36
55
|
density?: DensityMode;
|
|
37
56
|
/** Shadow strength, 1..10. Maps to `--d` (0.4..1.6). */
|
|
@@ -40,12 +59,16 @@ interface ThemeConfig {
|
|
|
40
59
|
radius?: number;
|
|
41
60
|
font?: FontConfig;
|
|
42
61
|
tokens?: ThemeTokens;
|
|
62
|
+
/** Custom named modes addressable through `mode` / `setMode`. */
|
|
63
|
+
themes?: ThemePresets;
|
|
43
64
|
}
|
|
44
65
|
interface ThemeValue {
|
|
45
66
|
/** Requested mode ("system" is preserved here). */
|
|
46
67
|
mode: ThemeMode;
|
|
47
|
-
/** Resolved concrete mode ("system" → "light" | "dark"
|
|
68
|
+
/** Resolved concrete mode ("system" → "light" | "dark"; custom modes keep their name). */
|
|
48
69
|
resolvedMode: ResolvedThemeMode;
|
|
70
|
+
/** The light/dark base currently used for component-specific selectors. */
|
|
71
|
+
colorScheme: ThemeBaseMode;
|
|
49
72
|
/** Accent key or "custom" if a palette was supplied. */
|
|
50
73
|
accent: AccentKey | "custom";
|
|
51
74
|
/** Resolved palette currently in effect. */
|
|
@@ -55,6 +78,8 @@ interface ThemeValue {
|
|
|
55
78
|
radius: number;
|
|
56
79
|
font: FontConfig;
|
|
57
80
|
tokens: ThemeTokens;
|
|
81
|
+
themes: ThemePresets;
|
|
82
|
+
activeTheme: ThemePreset | null;
|
|
58
83
|
setMode: (m: ThemeMode) => void;
|
|
59
84
|
toggleMode: () => void;
|
|
60
85
|
setAccent: (a: AccentKey | CustomAccentInput) => void;
|
|
@@ -63,6 +88,7 @@ interface ThemeValue {
|
|
|
63
88
|
setRadius: (n: number) => void;
|
|
64
89
|
setFont: (f: FontConfig) => void;
|
|
65
90
|
setTokens: (t: ThemeTokens) => void;
|
|
91
|
+
setThemes: (t: ThemePresets) => void;
|
|
66
92
|
/** Shallow-merge a partial config. */
|
|
67
93
|
update: (cfg: Partial<ThemeConfig>) => void;
|
|
68
94
|
/** Reset to the initial props. */
|
|
@@ -75,10 +101,11 @@ declare const ACCENT_PRESETS: Record<AccentKey, AccentPalette>;
|
|
|
75
101
|
declare const ACCENT_PRESETS_DARK: Record<AccentKey, Pick<AccentPalette, "ink" | "soft" | "glow">>;
|
|
76
102
|
/** Built-in font family stacks. */
|
|
77
103
|
declare const FONT_STACKS: Record<FontKey, string>;
|
|
78
|
-
/** Resolve "system" mode against `prefers-color-scheme
|
|
104
|
+
/** Resolve "system" mode against `prefers-color-scheme`; custom modes keep their name. */
|
|
79
105
|
declare function resolveThemeMode(mode: ThemeMode): ResolvedThemeMode;
|
|
106
|
+
declare function resolveThemeColorScheme(mode: ThemeMode, themes?: ThemePresets, fallback?: ThemeBaseMode): ThemeBaseMode;
|
|
80
107
|
/** Fill missing slots of a custom accent via color-mix. */
|
|
81
|
-
declare function normalizeAccentInput(input: AccentKey | CustomAccentInput,
|
|
108
|
+
declare function normalizeAccentInput(input: AccentKey | CustomAccentInput, colorScheme: ThemeBaseMode): {
|
|
82
109
|
key: AccentKey | "custom";
|
|
83
110
|
palette: AccentPalette;
|
|
84
111
|
};
|
|
@@ -100,7 +127,7 @@ interface ThemeProviderProps extends ThemeConfig {
|
|
|
100
127
|
as?: keyof JSX.IntrinsicElements;
|
|
101
128
|
className?: string;
|
|
102
129
|
style?: React.CSSProperties;
|
|
103
|
-
/** If set, theme state
|
|
130
|
+
/** If set, theme state and custom named themes are persisted to localStorage under this key. */
|
|
104
131
|
storageKey?: string;
|
|
105
132
|
/** Called whenever the resolved theme value changes. */
|
|
106
133
|
onChange?: (value: ThemeValue) => void;
|
|
@@ -124,4 +151,4 @@ interface ThemeProviderProps extends ThemeConfig {
|
|
|
124
151
|
*/
|
|
125
152
|
declare const ThemeProvider: React.FC<ThemeProviderProps>;
|
|
126
153
|
|
|
127
|
-
export { ACCENT_PRESETS, ACCENT_PRESETS_DARK, type AccentKey, type AccentPalette, type CustomAccentInput, type DensityMode, FONT_STACKS, type FontConfig, type FontKey, type ResolvedThemeMode, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, type ThemeTokens, type ThemeValue, applyTheme, normalizeAccentInput, resolveThemeMode, useTheme, useThemeOptional };
|
|
154
|
+
export { ACCENT_PRESETS, ACCENT_PRESETS_DARK, type AccentKey, type AccentPalette, type BuiltInThemeMode, type CustomAccentInput, type DensityMode, FONT_STACKS, type FontConfig, type FontKey, type ResolvedThemeMode, type ThemeBaseMode, type ThemeConfig, type ThemeMode, type ThemePreset, type ThemePresets, ThemeProvider, type ThemeProviderProps, type ThemeTokens, type ThemeValue, applyTheme, normalizeAccentInput, resolveThemeColorScheme, resolveThemeMode, useTheme, useThemeOptional };
|