@fangxinyan/lumina 0.10.0 → 0.10.1
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 -2
- package/dist/Alert-DJ3K7N7L.css +53 -0
- package/dist/Alert.cjs +5 -5
- package/dist/Alert.d.cts +1 -1
- package/dist/Alert.d.ts +1 -1
- package/dist/Alert.js +4 -4
- package/dist/AppShell-OWJRJ4ZD.css +197 -0
- package/dist/AppShell.cjs +8 -8
- package/dist/AppShell.d.cts +1 -1
- package/dist/AppShell.d.ts +1 -1
- package/dist/AppShell.js +4 -4
- package/dist/AutoComplete-PNCYHU2T.css +54 -0
- package/dist/AutoComplete.cjs +9 -10
- package/dist/AutoComplete.d.cts +1 -3
- package/dist/AutoComplete.d.ts +1 -3
- package/dist/AutoComplete.js +8 -9
- package/dist/{Avatar-3QACN2BC.css → Avatar-YBU2YZTW.css} +2 -2
- package/dist/Avatar.cjs +4 -4
- package/dist/Avatar.d.cts +1 -1
- package/dist/Avatar.d.ts +1 -1
- package/dist/Avatar.js +3 -3
- package/dist/{Badge-QQ4ANPQC.css → Badge-DBWJEV4C.css} +9 -9
- package/dist/Badge.cjs +4 -4
- package/dist/Badge.d.cts +1 -1
- package/dist/Badge.d.ts +1 -1
- package/dist/Badge.js +3 -3
- package/dist/Button-ILNZUX2N.css +125 -0
- package/dist/Button.cjs +6 -6
- package/dist/Button.d.cts +3 -5
- package/dist/Button.d.ts +3 -5
- package/dist/Button.js +4 -4
- package/dist/{Calendar-TDLACWMI.css → Calendar-QJ5HWEJQ.css} +18 -23
- package/dist/Calendar.cjs +5 -5
- package/dist/Calendar.d.cts +1 -1
- package/dist/Calendar.d.ts +1 -1
- package/dist/Calendar.js +4 -4
- package/dist/{Card-IVSREXOT.css → Card-VPMTWAWZ.css} +15 -13
- package/dist/Card.cjs +7 -8
- package/dist/Card.d.cts +1 -1
- package/dist/Card.d.ts +1 -1
- package/dist/Card.js +6 -7
- package/dist/Cascader-YBVDK6DC.css +168 -0
- package/dist/Cascader.cjs +9 -10
- package/dist/Cascader.d.cts +1 -5
- package/dist/Cascader.d.ts +1 -5
- package/dist/Cascader.js +8 -9
- package/dist/{Checkbox-72TYCE4F.css → Checkbox-YQ43GFUI.css} +10 -20
- package/dist/Checkbox.cjs +5 -5
- package/dist/Checkbox.d.cts +1 -3
- package/dist/Checkbox.d.ts +1 -3
- package/dist/Checkbox.js +4 -4
- package/dist/Collapse-BTSBHBSY.css +58 -0
- package/dist/Collapse.cjs +5 -6
- package/dist/Collapse.d.cts +2 -3
- package/dist/Collapse.d.ts +2 -3
- package/dist/Collapse.js +4 -5
- package/dist/{ColorPicker-4YOX3753.css → ColorPicker-GRZOKR5O.css} +25 -42
- package/dist/ColorPicker.cjs +9 -10
- package/dist/ColorPicker.d.cts +1 -3
- package/dist/ColorPicker.d.ts +1 -3
- package/dist/ColorPicker.js +8 -9
- package/dist/CommandPalette-GHTX7AAA.css +138 -0
- package/dist/CommandPalette.cjs +8 -9
- package/dist/CommandPalette.d.cts +1 -1
- package/dist/CommandPalette.d.ts +1 -1
- package/dist/CommandPalette.js +7 -8
- package/dist/{ContextMenu-QYBADTI6.css → ContextMenu-NG524Y2P.css} +10 -13
- package/dist/ContextMenu.cjs +5 -6
- package/dist/ContextMenu.d.cts +1 -1
- package/dist/ContextMenu.d.ts +1 -1
- package/dist/ContextMenu.js +4 -5
- package/dist/DatePicker-ZSFDXAYD.css +60 -0
- package/dist/DatePicker.cjs +12 -13
- package/dist/DatePicker.d.cts +1 -1
- package/dist/DatePicker.d.ts +1 -1
- package/dist/DatePicker.js +11 -12
- package/dist/{DateTimePicker-IA2TW3IB.css → DateTimePicker-EWSISVIF.css} +23 -25
- package/dist/DateTimePicker.cjs +12 -13
- package/dist/DateTimePicker.d.cts +1 -1
- package/dist/DateTimePicker.d.ts +1 -1
- package/dist/DateTimePicker.js +11 -12
- package/dist/{Divider-TNXPEHPI.css → Divider-OI2BXPBU.css} +7 -7
- package/dist/Divider.cjs +4 -4
- package/dist/Divider.d.cts +1 -1
- package/dist/Divider.d.ts +1 -1
- package/dist/Divider.js +3 -3
- package/dist/{Drawer-D4MHWACH.css → Drawer-VCXAXWV6.css} +15 -18
- package/dist/Drawer.cjs +6 -7
- package/dist/Drawer.d.cts +1 -1
- package/dist/Drawer.d.ts +1 -1
- package/dist/Drawer.js +5 -6
- package/dist/Empty-U5CBLCAL.css +28 -0
- package/dist/Empty.cjs +4 -4
- package/dist/Empty.d.cts +1 -1
- package/dist/Empty.d.ts +1 -1
- package/dist/Empty.js +3 -3
- package/dist/Form-DNEDZRJA.css +67 -0
- package/dist/Form.cjs +7 -7
- package/dist/Form.d.cts +1 -1
- package/dist/Form.d.ts +1 -1
- package/dist/Form.js +4 -4
- package/dist/Icon.cjs +51 -51
- package/dist/Icon.d.cts +1 -1
- package/dist/Icon.d.ts +1 -1
- package/dist/Icon.js +3 -3
- package/dist/{Image-ALIDKO4K.css → Image-CZJPPURT.css} +21 -25
- package/dist/Image.cjs +10 -11
- package/dist/Image.d.cts +1 -1
- package/dist/Image.d.ts +1 -1
- package/dist/Image.js +6 -7
- package/dist/{Input-NNDCHL7X.css → Input-ZUASNDXM.css} +8 -16
- package/dist/Input.cjs +7 -7
- package/dist/Input.d.cts +1 -1
- package/dist/Input.d.ts +1 -1
- package/dist/Input.js +5 -5
- package/dist/InputNumber-6NHBMRT4.css +40 -0
- package/dist/InputNumber.cjs +7 -7
- package/dist/InputNumber.d.cts +1 -1
- package/dist/InputNumber.d.ts +1 -1
- package/dist/InputNumber.js +6 -6
- package/dist/List-6BQIFAIT.css +42 -0
- package/dist/List.cjs +4 -4
- package/dist/List.d.cts +1 -1
- package/dist/List.d.ts +1 -1
- package/dist/List.js +3 -3
- package/dist/{Message-P7M3U2CL.css → Message-OTZWQTQ5.css} +8 -10
- package/dist/Message.cjs +9 -11
- package/dist/Message.d.cts +2 -8
- package/dist/Message.d.ts +2 -8
- package/dist/Message.js +5 -7
- package/dist/{Modal-3H5IMH2N.css → Modal-KLLX3Z2M.css} +16 -19
- package/dist/Modal.cjs +7 -8
- package/dist/Modal.d.cts +1 -1
- package/dist/Modal.d.ts +1 -1
- package/dist/Modal.js +6 -7
- package/dist/Pagination-POJTWMYR.css +70 -0
- package/dist/Pagination.cjs +11 -12
- package/dist/Pagination.d.cts +1 -3
- package/dist/Pagination.d.ts +1 -3
- package/dist/Pagination.js +10 -11
- package/dist/{Popover-JUA7DO7M.css → Popover-LCXLR3EU.css} +12 -12
- package/dist/Popover.cjs +6 -7
- package/dist/Popover.d.cts +1 -1
- package/dist/Popover.d.ts +1 -1
- package/dist/Popover.js +5 -6
- package/dist/{Progress-7O2BLYY5.css → Progress-33WE2NI7.css} +12 -4
- package/dist/Progress.cjs +4 -4
- package/dist/Progress.d.cts +1 -1
- package/dist/Progress.d.ts +1 -1
- package/dist/Progress.js +3 -3
- package/dist/Radio-RL7232MZ.css +105 -0
- package/dist/Radio.cjs +5 -6
- package/dist/Radio.d.cts +1 -5
- package/dist/Radio.d.ts +1 -5
- package/dist/Radio.js +3 -4
- package/dist/{Select-GFR5PIRY.css → Select-M3HCB3PW.css} +35 -44
- package/dist/Select.cjs +8 -9
- package/dist/Select.d.cts +1 -1
- package/dist/Select.d.ts +1 -1
- package/dist/Select.js +7 -8
- package/dist/{Skeleton-GDYN55I7.css → Skeleton-FMFE3BRI.css} +4 -4
- package/dist/Skeleton.cjs +4 -4
- package/dist/Skeleton.d.cts +1 -1
- package/dist/Skeleton.d.ts +1 -1
- package/dist/Skeleton.js +3 -3
- package/dist/{Slider-7VKECCZL.css → Slider-FZ5MI4X2.css} +21 -31
- package/dist/Slider.cjs +4 -4
- package/dist/Slider.d.cts +1 -5
- package/dist/Slider.d.ts +1 -5
- package/dist/Slider.js +3 -3
- package/dist/{Spin-F7YQJI7T.css → Spin-F5YIEENO.css} +6 -5
- package/dist/Spin.cjs +4 -5
- package/dist/Spin.d.cts +2 -3
- package/dist/Spin.d.ts +2 -3
- package/dist/Spin.js +3 -4
- package/dist/{Splitter-P2U6VO2N.css → Splitter-IQ3PFIKK.css} +2 -2
- package/dist/Splitter.cjs +4 -4
- package/dist/Splitter.d.cts +1 -1
- package/dist/Splitter.d.ts +1 -1
- package/dist/Splitter.js +3 -3
- package/dist/{StatusBar-YKD6Z4ER.css → StatusBar-TCGR3LXP.css} +6 -8
- package/dist/StatusBar.cjs +5 -5
- package/dist/StatusBar.d.cts +1 -1
- package/dist/StatusBar.d.ts +1 -1
- package/dist/StatusBar.js +3 -3
- package/dist/Surface-CTN775GD.css +42 -0
- package/dist/Surface.cjs +6 -7
- package/dist/Surface.d.cts +2 -2
- package/dist/Surface.d.ts +2 -2
- package/dist/Surface.js +4 -5
- package/dist/{Switch-3XFRLEDG.css → Switch-3JV3LCPX.css} +14 -18
- package/dist/Switch.cjs +4 -4
- package/dist/Switch.d.cts +2 -3
- package/dist/Switch.d.ts +2 -3
- package/dist/Switch.js +3 -3
- package/dist/{Table-BZ2LZIOR.css → Table-KB6EEBDJ.css} +33 -32
- package/dist/Table.cjs +14 -15
- package/dist/Table.d.cts +1 -1
- package/dist/Table.d.ts +1 -1
- package/dist/Table.js +13 -14
- package/dist/TablePro-WYE6TXWJ.css +45 -0
- package/dist/TablePro.cjs +15 -16
- package/dist/TablePro.d.cts +1 -1
- package/dist/TablePro.d.ts +1 -1
- package/dist/TablePro.js +14 -15
- package/dist/Tabs-FB2AMBWL.css +82 -0
- package/dist/Tabs.cjs +4 -5
- package/dist/Tabs.d.cts +1 -3
- package/dist/Tabs.d.ts +1 -3
- package/dist/Tabs.js +3 -4
- package/dist/Tag-5GIZLRAH.css +42 -0
- package/dist/Tag.cjs +5 -5
- package/dist/Tag.d.cts +1 -3
- package/dist/Tag.d.ts +1 -3
- package/dist/Tag.js +4 -4
- package/dist/Textarea-ZGHBZNLX.css +54 -0
- package/dist/Textarea.cjs +6 -6
- package/dist/Textarea.d.cts +1 -3
- package/dist/Textarea.d.ts +1 -3
- package/dist/Textarea.js +4 -4
- package/dist/Theme-BJa0Nb3w.d.cts +193 -0
- package/dist/Theme-DTtq_WWg.d.ts +193 -0
- package/dist/Theme.cjs +41 -42
- package/dist/Theme.d.cts +6 -110
- package/dist/Theme.d.ts +6 -110
- package/dist/Theme.js +2 -3
- package/dist/{ThemePanel-QHQKWSJ3.css → ThemePanel-EHNAS4RN.css} +75 -94
- package/dist/ThemePanel.cjs +17 -21
- package/dist/ThemePanel.d.cts +3 -17
- package/dist/ThemePanel.d.ts +3 -17
- package/dist/ThemePanel.js +14 -18
- package/dist/{TimePicker-DQO4WD2F.css → TimePicker-WJ3FSK6A.css} +14 -16
- package/dist/TimePicker.cjs +11 -12
- package/dist/TimePicker.d.cts +1 -1
- package/dist/TimePicker.d.ts +1 -1
- package/dist/TimePicker.js +10 -11
- package/dist/{Timeline-LXDF5X3C.css → Timeline-FUFO2UGY.css} +6 -9
- package/dist/Timeline.cjs +5 -6
- package/dist/Timeline.d.cts +1 -1
- package/dist/Timeline.d.ts +1 -1
- package/dist/Timeline.js +4 -5
- package/dist/{Tooltip-UQSCPNVZ.css → Tooltip-2EUNTOTW.css} +3 -3
- package/dist/Tooltip.cjs +6 -7
- package/dist/Tooltip.d.cts +1 -1
- package/dist/Tooltip.d.ts +1 -1
- package/dist/Tooltip.js +5 -6
- package/dist/{Typography-EVL7RTYP.css → Typography-CQ2OZXQH.css} +36 -41
- package/dist/Typography.cjs +11 -13
- package/dist/Typography.d.cts +1 -10
- package/dist/Typography.d.ts +1 -10
- package/dist/Typography.js +6 -8
- package/dist/{chunk-OEZIQWDQ.js → chunk-2BM65ITV.js} +3 -3
- package/dist/{chunk-MRYMT5PD.js → chunk-2NXLVPF4.js} +5 -5
- package/dist/{chunk-5PHL7D6E.cjs → chunk-2XDLXAZT.cjs} +8 -8
- package/dist/{chunk-TGZ7LQAP.cjs → chunk-33YRXHVK.cjs} +10 -13
- package/dist/{chunk-ORUSW4TE.js → chunk-427CDZDU.js} +4 -4
- package/dist/{chunk-HQ2B4DBK.js → chunk-4JANYBXO.js} +5 -23
- package/dist/{chunk-GNA6TVXK.js → chunk-4K6PQCWU.js} +8 -8
- package/dist/{chunk-2HK5KZRE.cjs → chunk-4LYJRFD2.cjs} +5 -5
- package/dist/{chunk-VJSMHRLZ.cjs → chunk-4MZW2KBN.cjs} +15 -15
- package/dist/{chunk-TXX73BPI.cjs → chunk-53I3PWRH.cjs} +5 -5
- package/dist/{chunk-OQLDPYZ2.js → chunk-563SQXH7.js} +5 -5
- package/dist/{chunk-CZIQSGYL.js → chunk-5HLNFDV4.js} +3 -7
- package/dist/{chunk-X5OPHL6U.cjs → chunk-5OQB5UUT.cjs} +21 -21
- package/dist/{chunk-YAE6D2RV.js → chunk-5PDEOGFV.js} +8 -11
- package/dist/{chunk-WQ5GH6XV.cjs → chunk-5PGRAEGA.cjs} +22 -24
- package/dist/{chunk-XOQ2M3A3.js → chunk-5VLANZAJ.js} +5 -5
- package/dist/{chunk-IZ2QVS4E.cjs → chunk-6A5KEWVU.cjs} +2 -2
- package/dist/{chunk-JEEWG5EB.js → chunk-6EHKQDMX.js} +12 -13
- package/dist/{chunk-VNMDLKWD.js → chunk-6OVWY63D.js} +4 -4
- package/dist/{chunk-WZZXJEED.cjs → chunk-6WEXRX7K.cjs} +9 -9
- package/dist/{chunk-CZYCRH6J.cjs → chunk-73IEJLSD.cjs} +23 -23
- package/dist/{chunk-SLVWSAXY.cjs → chunk-757JNNLH.cjs} +17 -18
- package/dist/{chunk-E3DMS43P.cjs → chunk-76CTKBXD.cjs} +5 -5
- package/dist/{chunk-AZTRNDG4.js → chunk-7NKNQRK6.js} +6 -6
- package/dist/{chunk-3EHPEKZP.js → chunk-7QKSXVN3.js} +6 -6
- package/dist/{chunk-Z4SCQG7W.cjs → chunk-ADPXWCTK.cjs} +11 -11
- package/dist/{chunk-5OBJUNBW.js → chunk-AEMDX4S7.js} +9 -15
- package/dist/{chunk-HGJS2WO6.cjs → chunk-AEY76EAH.cjs} +6 -24
- package/dist/{chunk-6TNAP326.js → chunk-AXZNZ2IH.js} +6 -9
- package/dist/{chunk-JAFA5KEI.cjs → chunk-BCQIVYL6.cjs} +12 -12
- package/dist/{chunk-JPGLAM3A.cjs → chunk-BM2J5QAE.cjs} +31 -34
- package/dist/{chunk-CQRXTUXB.cjs → chunk-BN44QG2B.cjs} +3 -9
- package/dist/{chunk-NI7A7QUH.js → chunk-BOBT7JUB.js} +4 -4
- package/dist/{chunk-C3BTIUQY.js → chunk-BZB45GGK.js} +3 -9
- package/dist/{chunk-D7Z4GBVQ.cjs → chunk-CLJLBFNU.cjs} +6 -6
- package/dist/{chunk-XTYD55Y5.cjs → chunk-CNV7R2OZ.cjs} +10 -13
- package/dist/{chunk-YLKG4J5D.js → chunk-CPVUDSIY.js} +453 -167
- package/dist/{chunk-BE7GQLRY.js → chunk-D2N7OXMK.js} +65 -44
- package/dist/{chunk-EKLVHLYC.cjs → chunk-D5HLHN5N.cjs} +33 -33
- package/dist/{chunk-YHWPHTSP.cjs → chunk-ELKGV3NA.cjs} +2 -2
- package/dist/{chunk-QSOKXTXC.js → chunk-G4E5QA2M.js} +11 -14
- package/dist/chunk-G5LCOBOT.cjs +213 -0
- package/dist/{chunk-X6CSD3JA.js → chunk-G62HAXAL.js} +11 -11
- package/dist/{chunk-3AC6LQ34.cjs → chunk-GFGMGJ5A.cjs} +15 -17
- package/dist/{chunk-AD465OWY.js → chunk-HAIWLYLR.js} +6 -6
- package/dist/{chunk-JREPEP6P.cjs → chunk-HPNZDAXF.cjs} +23 -23
- package/dist/{chunk-4UNW4HOZ.cjs → chunk-I4GJZLJU.cjs} +489 -183
- package/dist/{chunk-GJSJKN4W.cjs → chunk-IM47JR57.cjs} +16 -19
- package/dist/{chunk-W6NQP6YF.js → chunk-ISK2RW7F.js} +4 -4
- package/dist/{chunk-6DDP3GHQ.js → chunk-J7D5CQDK.js} +4 -4
- package/dist/{chunk-EOFLJIZ4.cjs → chunk-JNDATLOY.cjs} +8 -8
- package/dist/{chunk-DN5WQSYM.js → chunk-K4P45V67.js} +9 -12
- package/dist/{chunk-J7UCRWCY.js → chunk-KFCWDFBW.js} +4 -4
- package/dist/{chunk-7IRYSX25.js → chunk-KJG44Z5J.js} +7 -7
- package/dist/{chunk-YL4SRXVJ.cjs → chunk-KPBZKHCS.cjs} +8 -10
- package/dist/{chunk-M5ORQL4N.js → chunk-L2NEYHYG.js} +5 -10
- package/dist/{chunk-TWXJY4TK.cjs → chunk-L6ELDWUX.cjs} +16 -19
- package/dist/{chunk-NG6AJHGR.js → chunk-LACXN5CI.js} +4 -4
- package/dist/{chunk-P6GYDVL4.cjs → chunk-LDZCDOMW.cjs} +301 -448
- package/dist/{chunk-TTWITEH5.cjs → chunk-LQKP7MEA.cjs} +12 -12
- package/dist/{chunk-EGOXQN5F.cjs → chunk-M3JYP3V4.cjs} +9 -9
- package/dist/{chunk-W2NCWVG5.cjs → chunk-M4GXFACD.cjs} +14 -14
- package/dist/{chunk-HO6ZBKWB.js → chunk-MAXOCM5I.js} +285 -432
- package/dist/{chunk-ECYV5ZDY.js → chunk-MFJHI472.js} +4 -4
- package/dist/{chunk-24555WPW.cjs → chunk-MV56FOAD.cjs} +5 -5
- package/dist/{chunk-GQT5E6RE.cjs → chunk-NALBGFHY.cjs} +16 -22
- package/dist/{chunk-3VUHXQFC.js → chunk-NKIXCDZC.js} +1 -1
- package/dist/{chunk-HL6IWNUL.js → chunk-O6PRE6MZ.js} +5 -5
- package/dist/{chunk-UXIM7NAJ.cjs → chunk-OA3O5S7X.cjs} +15 -15
- package/dist/{chunk-QSCHWNUU.cjs → chunk-OBNGHJ3N.cjs} +5 -5
- package/dist/{chunk-WMQIS6G5.js → chunk-OGMI3TO5.js} +5 -7
- package/dist/{chunk-NQUGUASZ.js → chunk-PK5ZMOW6.js} +5 -5
- package/dist/{chunk-ACBUFOC3.cjs → chunk-PYCAGTO7.cjs} +5 -5
- package/dist/{chunk-O6DHJPOW.js → chunk-QS4GORDY.js} +8 -8
- package/dist/{chunk-OM5O22NE.js → chunk-QSLXUNLM.js} +6 -8
- package/dist/{chunk-GKQNEQRO.cjs → chunk-QTMI4ZA4.cjs} +68 -47
- package/dist/{chunk-Y3R4XBSR.cjs → chunk-QV4SPR4Z.cjs} +9 -9
- package/dist/{chunk-FPI7NOQN.js → chunk-QVDW32F2.js} +156 -159
- package/dist/{chunk-2AHMN7Z2.cjs → chunk-RA5BULQ3.cjs} +5 -5
- package/dist/{chunk-2X22QR5F.js → chunk-ROCX6JDG.js} +11 -11
- package/dist/{chunk-4CHFT3VR.cjs → chunk-RXITGNPX.cjs} +7 -7
- package/dist/{chunk-NBKSN7LC.js → chunk-RYF5ADJW.js} +5 -5
- package/dist/{chunk-YDKCNKFS.js → chunk-S6KPLYLT.js} +11 -11
- package/dist/{chunk-M5QRDAE3.js → chunk-SW3KEFIA.js} +1 -1
- package/dist/chunk-TSL3F2K3.js +209 -0
- package/dist/{chunk-FCDHQK4U.cjs → chunk-TTRU4TLQ.cjs} +6 -11
- package/dist/{chunk-M6XA5PNZ.js → chunk-TUXF2G2O.js} +6 -8
- package/dist/{chunk-ZJELU7TX.js → chunk-TY5LOU3A.js} +5 -5
- package/dist/{chunk-6CFAS76H.cjs → chunk-U5B2JLNE.cjs} +11 -11
- package/dist/{chunk-7ZB7ALMV.js → chunk-U7V2FOIM.js} +5 -5
- package/dist/{chunk-VEUTCEEL.js → chunk-UNUFUTFQ.js} +11 -13
- package/dist/{chunk-AV3SVSXD.cjs → chunk-UOXJH4AR.cjs} +170 -173
- package/dist/{chunk-GQ6IGKVD.cjs → chunk-UQF7E32V.cjs} +6 -6
- package/dist/{chunk-PF2I44TX.cjs → chunk-V6BLBIY6.cjs} +19 -23
- package/dist/{chunk-32R7PPSV.cjs → chunk-VDVKY2IX.cjs} +5 -5
- package/dist/{chunk-HFFSMOXE.js → chunk-VLQ6XIAL.js} +4 -4
- package/dist/{chunk-BIBFFJSB.cjs → chunk-VNP5WB6M.cjs} +8 -10
- package/dist/{chunk-XLVRDHX3.js → chunk-VSIBZ7VH.js} +11 -11
- package/dist/{chunk-COG36SO7.js → chunk-WOE73NDO.js} +7 -7
- package/dist/{chunk-UAE7XTB4.js → chunk-XFJTJVWD.js} +7 -10
- package/dist/{chunk-WMWMFXAV.cjs → chunk-XPFAAATJ.cjs} +27 -27
- package/dist/{chunk-FHILASME.js → chunk-XX7YYKIJ.js} +5 -5
- package/dist/{chunk-E3HM4MNF.js → chunk-XXCKQSWD.js} +9 -9
- package/dist/{chunk-S44UDZNG.js → chunk-Y3WFWA52.js} +5 -10
- package/dist/{chunk-2CQISUYV.cjs → chunk-YU4LBDBD.cjs} +8 -8
- package/dist/{chunk-TBO6HEIU.cjs → chunk-Z6AG7O4B.cjs} +5 -5
- package/dist/{chunk-R3ASWI6V.cjs → chunk-ZBRFGD3I.cjs} +6 -11
- package/dist/{chunk-DN6Y6AG4.cjs → chunk-ZCAYS4KR.cjs} +10 -10
- package/dist/{chunk-NZAF5OWH.cjs → chunk-ZNSTIRSE.cjs} +24 -24
- package/dist/{chunk-WV7WTIKR.js → chunk-ZP4ROQEZ.js} +10 -10
- package/dist/{componentThemeTypes-C-gl7vaO.d.cts → componentThemeTypes-C7lS3Hi8.d.cts} +3 -29
- package/dist/{componentThemeTypes-C-gl7vaO.d.ts → componentThemeTypes-C7lS3Hi8.d.ts} +3 -29
- package/dist/index.cjs +216 -224
- package/dist/index.d.cts +5 -6
- package/dist/index.d.ts +5 -6
- package/dist/index.js +56 -60
- package/dist/{shared-Q2QS5MED.css → shared-NJHRNLRH.css} +0 -1
- package/dist/styles.css +903 -1090
- package/dist/{tokens-MSB3Q56J.css → tokens-223RYVVS.css} +115 -215
- package/dist/tokens.css +115 -215
- package/docs/llms/autocomplete.md +0 -9
- package/docs/llms/button.md +4 -13
- package/docs/llms/cascader.md +0 -10
- package/docs/llms/checkbox.md +0 -9
- package/docs/llms/collapse.md +1 -9
- package/docs/llms/colorpicker.md +0 -7
- package/docs/llms/image.md +1 -1
- package/docs/llms/input.md +2 -2
- package/docs/llms/message.md +1 -10
- package/docs/llms/pagination.md +0 -9
- package/docs/llms/radio.md +0 -7
- package/docs/llms/select.md +1 -1
- package/docs/llms/slider.md +0 -10
- package/docs/llms/spin.md +2 -10
- package/docs/llms/switch.md +1 -9
- package/docs/llms/tabs.md +0 -9
- package/docs/llms/tag.md +0 -9
- package/docs/llms/textarea.md +2 -11
- package/docs/llms/theme.md +1 -40
- package/docs/llms/themepanel.md +1 -22
- package/docs/llms/typography.md +3 -4
- package/docs/llms.md +1 -2
- package/package.json +3 -9
- package/dist/Alert-A45U55ZL.css +0 -55
- package/dist/AppShell-IEHTB55N.css +0 -200
- package/dist/AutoComplete-NYGMSOEZ.css +0 -57
- package/dist/Button-BJUDR53E.css +0 -144
- package/dist/Cascader-DALZDUQP.css +0 -187
- package/dist/Collapse-YVWXW4BC.css +0 -62
- package/dist/CommandPalette-XQACFYDH.css +0 -141
- package/dist/DatePicker-LFTIWBEI.css +0 -64
- package/dist/Empty-S5CKXL3R.css +0 -28
- package/dist/Form-HAMBMHRL.css +0 -67
- package/dist/InputNumber-EVZWU4DN.css +0 -42
- package/dist/List-7PXNNSHX.css +0 -45
- package/dist/Pagination-UK5O3EVJ.css +0 -81
- package/dist/Radio-VCN2WNCK.css +0 -55
- package/dist/Segmented-7PFYTBJJ.css +0 -45
- package/dist/Segmented.cjs +0 -13
- package/dist/Segmented.d.cts +0 -32
- package/dist/Segmented.d.ts +0 -32
- package/dist/Segmented.js +0 -4
- package/dist/Surface-QG3SL4KT.css +0 -42
- package/dist/TablePro-QLGCL7T6.css +0 -45
- package/dist/Tabs-DPT2IZEB.css +0 -95
- package/dist/Tag-YCIQXQPC.css +0 -50
- package/dist/Textarea-WG6PUYR3.css +0 -63
- package/dist/base.css +0 -5
- package/dist/chunk-42CAR7IJ.cjs +0 -158
- package/dist/chunk-AWEBG3K6.js +0 -11
- package/dist/chunk-CZTVGHBA.cjs +0 -15
- package/dist/chunk-I25VT4TM.js +0 -136
- package/dist/chunk-IPJ2DKM5.cjs +0 -584
- package/dist/chunk-MLZIK3RB.js +0 -536
- package/dist/chunk-SLJ3APXL.js +0 -13
- package/dist/chunk-SVIBVURD.cjs +0 -13
- package/dist/chunk-VTHUU5AU.js +0 -16
- package/dist/chunk-VZIIKFK6.cjs +0 -39
- package/dist/themeConfigTypes-39m4Gb8P.d.ts +0 -110
- package/dist/themeConfigTypes-C9dwG8Nf.d.cts +0 -110
- package/dist/utilities.css +0 -7
- package/docs/llms/segmented.md +0 -48
package/docs/llms/select.md
CHANGED
|
@@ -218,7 +218,7 @@ loading 时显示 spinner,emptyContent 自定义空态。
|
|
|
218
218
|
| listHeight | `number` | `260` | 菜单选项滚动区域最大高度 |
|
|
219
219
|
| popupStyle | `CSSProperties` | — | Portal 菜单内联样式,可覆盖宽度或高度 |
|
|
220
220
|
| size | `"sm" | "md" | "lg"` | `"md"` | 尺寸 |
|
|
221
|
-
| invalid | `boolean` | `false` |
|
|
221
|
+
| invalid | `boolean` | `false` | 错误态 |
|
|
222
222
|
| disabled | `boolean` | `false` | 禁用 |
|
|
223
223
|
|
|
224
224
|
|
package/docs/llms/slider.md
CHANGED
|
@@ -10,14 +10,6 @@ import { Slider } from "@fangxinyan/lumina";
|
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
12
12
|
|
|
13
|
-
### 统一尺寸与状态
|
|
14
|
-
|
|
15
|
-
统一尺寸与主题变量,实例样式仍优先。
|
|
16
|
-
|
|
17
|
-
```tsx
|
|
18
|
-
<Slider size="sm" defaultValue={30} ariaLabel="小号" /><Slider size="md" invalid defaultValue={50} ariaLabel="校验错误" />
|
|
19
|
-
```
|
|
20
|
-
|
|
21
13
|
### 基础用法
|
|
22
14
|
|
|
23
15
|
```tsx
|
|
@@ -77,8 +69,6 @@ marks 配合 colors 可直观表达冷暖等语义。
|
|
|
77
69
|
|
|
78
70
|
| Prop | 类型 | 默认 | 说明 |
|
|
79
71
|
| --- | --- | --- | --- |
|
|
80
|
-
| invalid | `boolean` | `false` | 显示校验错误并向实际交互控件输出 aria-invalid;显式 aria-invalid 优先 |
|
|
81
|
-
| size | `"sm" | "md" | "lg"` | `"md"` | 统一尺寸阶梯 |
|
|
82
72
|
| value / defaultValue | `number | [number, number]` | — | 受控/初始;range 模式下为 [number, number] |
|
|
83
73
|
| onChange | `(value) => void` | — | 变更回调,range 模式返回元组 |
|
|
84
74
|
| min / max / step | `number` | — | 区间与步进;非法边界或非正步长会安全归一化 |
|
package/docs/llms/spin.md
CHANGED
|
@@ -10,19 +10,11 @@ import { Spin } from "@fangxinyan/lumina";
|
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
12
12
|
|
|
13
|
-
### 统一尺寸与状态
|
|
14
|
-
|
|
15
|
-
统一尺寸与主题变量,实例样式仍优先。
|
|
16
|
-
|
|
17
|
-
```tsx
|
|
18
|
-
<Spin size="sm"/><Spin size="md"/><Spin size="lg"/>
|
|
19
|
-
```
|
|
20
|
-
|
|
21
13
|
### 基础
|
|
22
14
|
|
|
23
15
|
```tsx
|
|
24
16
|
<Spin />
|
|
25
|
-
<Spin size="
|
|
17
|
+
<Spin size="large" />
|
|
26
18
|
<Spin size={40} />
|
|
27
19
|
```
|
|
28
20
|
|
|
@@ -56,7 +48,7 @@ import { Spin } from "@fangxinyan/lumina";
|
|
|
56
48
|
|
|
57
49
|
| Prop | 类型 | 默认 | 说明 |
|
|
58
50
|
| --- | --- | --- | --- |
|
|
59
|
-
| size | `"
|
|
51
|
+
| size | `"small" | "default" | "large" | number` | `"default"` | 尺寸 |
|
|
60
52
|
| tone | `"accent" | "success" | "warning" | "danger" | "current"` | `"accent"` | 色调 |
|
|
61
53
|
| variant | `"ring" | "dots"` | `"ring"` | 样式 |
|
|
62
54
|
| tip / label | `ReactNode` | — | 文案 |
|
package/docs/llms/switch.md
CHANGED
|
@@ -10,14 +10,6 @@ import { Switch } from "@fangxinyan/lumina";
|
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
12
12
|
|
|
13
|
-
### 统一尺寸与状态
|
|
14
|
-
|
|
15
|
-
统一尺寸与主题变量,实例样式仍优先。
|
|
16
|
-
|
|
17
|
-
```tsx
|
|
18
|
-
<Switch size="sm" label="SM"/><Switch size="md" label="MD"/><Switch size="lg" label="LG"/>
|
|
19
|
-
```
|
|
20
|
-
|
|
21
13
|
### 基础用法
|
|
22
14
|
|
|
23
15
|
```tsx
|
|
@@ -87,7 +79,7 @@ checkedChildren / unCheckedChildren 在轨道内显示简短文字(如 ON/OFF)
|
|
|
87
79
|
| label | `ReactNode` | — | 右侧文案 |
|
|
88
80
|
| checkedChildren | `ReactNode` | — | 轨道内选中状态文本/图标 |
|
|
89
81
|
| unCheckedChildren | `ReactNode` | — | 轨道内未选中状态文本/图标 |
|
|
90
|
-
| size | `"sm" | "md"
|
|
82
|
+
| size | `"sm" | "md"` | `"md"` | 尺寸 |
|
|
91
83
|
| name / value | `string` | — | 原生表单字段名与开启时提交的值 |
|
|
92
84
|
| required / form | `boolean / string` | — | 原生必填约束与关联 form id |
|
|
93
85
|
| invalid | `boolean` | `false` | 错误态,可由 Form.Item 自动注入 |
|
package/docs/llms/tabs.md
CHANGED
|
@@ -10,14 +10,6 @@ import { Tabs } from "@fangxinyan/lumina";
|
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
12
12
|
|
|
13
|
-
### 统一尺寸与状态
|
|
14
|
-
|
|
15
|
-
统一尺寸与主题变量,实例样式仍优先。
|
|
16
|
-
|
|
17
|
-
```tsx
|
|
18
|
-
<Tabs size="sm" variant="segmented" items={[{key:"a",label:"小号"},{key:"b",label:"更多"}]} /><Tabs size="md" items={[{key:"a",label:"中号"},{key:"b",label:"更多"}]} />
|
|
19
|
-
```
|
|
20
|
-
|
|
21
13
|
### 基础
|
|
22
14
|
|
|
23
15
|
```tsx
|
|
@@ -65,7 +57,6 @@ centered 让标签条在容器中水平居中。
|
|
|
65
57
|
|
|
66
58
|
| Prop | 类型 | 默认 | 说明 |
|
|
67
59
|
| --- | --- | --- | --- |
|
|
68
|
-
| size | `"sm" | "md" | "lg"` | `"md"` | 统一尺寸阶梯 |
|
|
69
60
|
| items \* | `TabItem[]` | — | 标签数据 |
|
|
70
61
|
| activeKey / defaultActiveKey | `string` | — | 受控/初始激活 |
|
|
71
62
|
| onChange | `(key: string) => void` | — | 切换 |
|
package/docs/llms/tag.md
CHANGED
|
@@ -10,14 +10,6 @@ import { Tag } from "@fangxinyan/lumina";
|
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
12
12
|
|
|
13
|
-
### 统一尺寸与状态
|
|
14
|
-
|
|
15
|
-
统一尺寸与主题变量,实例样式仍优先。
|
|
16
|
-
|
|
17
|
-
```tsx
|
|
18
|
-
<Tag size="xs">XS</Tag><Tag size="sm">SM</Tag><Tag size="md">MD</Tag>
|
|
19
|
-
```
|
|
20
|
-
|
|
21
13
|
### 语气
|
|
22
14
|
|
|
23
15
|
```tsx
|
|
@@ -73,7 +65,6 @@ removable + onRemove 实现关闭按钮。
|
|
|
73
65
|
|
|
74
66
|
| Prop | 类型 | 默认 | 说明 |
|
|
75
67
|
| --- | --- | --- | --- |
|
|
76
|
-
| size | `"xs" | "sm" | "md" | "lg"` | `"xs"` | 统一尺寸阶梯 |
|
|
77
68
|
| tone | `"neutral" | "accent" | "info" | "success" | "warning" | "danger"` | `"neutral"` | 色调 |
|
|
78
69
|
| solid | `boolean` | `false` | 实心填充 |
|
|
79
70
|
| dot | `boolean` | `false` | 前置圆点 |
|
package/docs/llms/textarea.md
CHANGED
|
@@ -10,14 +10,6 @@ import { Textarea, TextArea, Input } from "@fangxinyan/lumina";
|
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
12
12
|
|
|
13
|
-
### 统一尺寸与状态
|
|
14
|
-
|
|
15
|
-
统一尺寸与主题变量,实例样式仍优先。
|
|
16
|
-
|
|
17
|
-
```tsx
|
|
18
|
-
<Textarea size="sm" placeholder="小号" rows={2} /><Textarea size="md" placeholder="中号" rows={2} />
|
|
19
|
-
```
|
|
20
|
-
|
|
21
13
|
### 基础用法
|
|
22
14
|
|
|
23
15
|
Textarea 直接暴露原生 textarea ref 和常用原生属性。
|
|
@@ -50,7 +42,7 @@ allowClear、maxLength、showCount 可组合使用,适合受限文本输入。
|
|
|
50
42
|
|
|
51
43
|
### 错误与禁用
|
|
52
44
|
|
|
53
|
-
invalid
|
|
45
|
+
invalid 只负责视觉状态;错误文案通常交给 Field 或 Form.Item 展示。
|
|
54
46
|
|
|
55
47
|
```tsx
|
|
56
48
|
<Textarea invalid defaultValue="太短" />
|
|
@@ -75,14 +67,13 @@ invalid 同时设置错误样式与 aria-invalid;错误文案由 Field 或 For
|
|
|
75
67
|
|
|
76
68
|
| Prop | 类型 | 默认 | 说明 |
|
|
77
69
|
| --- | --- | --- | --- |
|
|
78
|
-
| size | `"sm" | "md" | "lg"` | `"md"` | 字号和内边距档位,不覆盖 rows |
|
|
79
70
|
| value / defaultValue | `string` | — | 受控值 / 初值 |
|
|
80
71
|
| onChange | `(event) => void` | — | 变更回调,传入 React 原生事件 |
|
|
81
72
|
| onValueChange | `(value: string, event) => void` | — | 值回调便捷写法 |
|
|
82
73
|
| allowClear | `boolean` | `false` | 右上角显示清除按钮 |
|
|
83
74
|
| maxLength | `number` | — | 最大字符数,透传至原生 textarea |
|
|
84
75
|
| showCount | `boolean` | `false` | 显示字数统计;有 maxLength 时显示 N / max |
|
|
85
|
-
| invalid | `boolean` | `false` |
|
|
76
|
+
| invalid | `boolean` | `false` | 错误态 |
|
|
86
77
|
| disabled | `boolean` | `false` | 禁用 |
|
|
87
78
|
| rows | `number` | — | 文本域可见行数,透传至原生 textarea |
|
|
88
79
|
| className / style / id / data-* / aria-* | `native attrs` | — | 透传至原生 textarea |
|
package/docs/llms/theme.md
CHANGED
|
@@ -10,14 +10,6 @@ import { ThemeProvider, useTheme, applyTheme, LUMINA_THEME_PRESETS, cloneLuminaT
|
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
12
12
|
|
|
13
|
-
### 静态嵌套深色
|
|
14
|
-
|
|
15
|
-
只设置 data-theme 也会在当前作用域重新计算阴影与禁用颜色;muted 用于辅助信息,subtle 仅用于占位和弱提示。
|
|
16
|
-
|
|
17
|
-
```tsx
|
|
18
|
-
<div data-theme="dark" style={{padding:"var(--gap-6)",background:"var(--bg)",borderRadius:"var(--r-md)"}}><Row><Button>深色按钮</Button><Input placeholder="深色输入"/></Row></div>
|
|
19
|
-
```
|
|
20
|
-
|
|
21
13
|
### 基础用法
|
|
22
14
|
|
|
23
15
|
用 ThemeProvider 包住应用,所有 lumina 组件自动生效。
|
|
@@ -121,22 +113,6 @@ t.setTokens({
|
|
|
121
113
|
});
|
|
122
114
|
```
|
|
123
115
|
|
|
124
|
-
### 通用间距与内边距
|
|
125
|
-
|
|
126
|
-
库内留白 = 原有尺寸 × spacing-scale × 分类倍率,默认倍率均为 1;不改变控件高度、字号和阴影。组件精确长度覆盖倍率结果,实例 style 优先。阴影安全区独立配置,定位、隐藏节点和图形几何不参与留白缩放。
|
|
127
|
-
|
|
128
|
-
```tsx
|
|
129
|
-
<ThemeProvider target="scope"
|
|
130
|
-
tokens={{ "spacing-scale": "0.8", "padding-scale": "0.75", "gap-scale": "0.75" }}
|
|
131
|
-
components={{ Button: { tokens: { paddingX: "10px", paddingY: "2px", gap: "4px" } } }}>
|
|
132
|
-
<Card title="可配置留白" bodyLayout="stack">
|
|
133
|
-
<Input placeholder="输入框继承全局留白倍率" />
|
|
134
|
-
<Button icon="check">按钮使用类型配置</Button>
|
|
135
|
-
<Button theme={{ tokens: { paddingX: "24px" } }}>实例单独覆盖</Button>
|
|
136
|
-
</Card>
|
|
137
|
-
</ThemeProvider>
|
|
138
|
-
```
|
|
139
|
-
|
|
140
116
|
### 预设强调色
|
|
141
117
|
|
|
142
118
|
内置 6 种拟态强调色,点击切换。
|
|
@@ -250,7 +226,7 @@ applyTheme(document.documentElement, {
|
|
|
250
226
|
| intensity | `number` | `5` | 阴影强度;ThemePanel 默认调节范围 0-20 |
|
|
251
227
|
| radius | `number` | `20` | 圆角基准 px |
|
|
252
228
|
| font | `FontConfig` | `"sf"` | 字体预设或 CSS 栈 |
|
|
253
|
-
| tokens | `
|
|
229
|
+
| tokens | `Record<string, string>` | — | 任意 CSS 变量覆写;推荐用语义阴影 token 和 shadow-scale(0.2-3) / shadow-float-scale(0.2-4) 控制阴影系统 |
|
|
254
230
|
| themes | `Record<string, ThemePreset>` | — | 命名自定义模式 preset |
|
|
255
231
|
| LUMINA_THEME_PRESETS | `Record<BuiltInLuminaThemePresetKey, ThemePreset>` | — | 可复用的 light/dark/porcelain/graphite/ember/assistant 内置预设 |
|
|
256
232
|
| cloneLuminaThemePreset / pickLuminaThemePresets | `function` | — | 克隆单个或挑选多个内置主题,避免修改共享预设 |
|
|
@@ -284,21 +260,6 @@ applyTheme(document.documentElement, {
|
|
|
284
260
|
| reset() | `() => void` | — | 重置到初始 props |
|
|
285
261
|
|
|
286
262
|
|
|
287
|
-
**间距配置 ThemeSpacingTokens**
|
|
288
|
-
|
|
289
|
-
| Prop | 类型 | 默认 | 说明 |
|
|
290
|
-
| --- | --- | --- | --- |
|
|
291
|
-
| spacing-scale | `string` | `1` | 整体留白倍率;与 padding-scale / gap-scale / margin-scale 相乘,0 表示收起可缩放留白 |
|
|
292
|
-
| padding-scale / gap-scale / margin-scale | `string` | `1` | 分别控制内边距、flex/grid 间隔、内容外间距;支持全局 tokens 和组件短 tokens |
|
|
293
|
-
| ctrl-pad-x / ctrl-pad-x-sm / ctrl-pad-x-lg | `CSS length` | `18px / 12px / 24px` | 普通、小型、大型控件的水平内边距基值,按当前密度回退;继续参与倍率计算 |
|
|
294
|
-
| ctrl-pad-y | `CSS length` | `0px` | 按钮垂直内边距基值;不会改变 size / density 决定的高度,图标按钮保持方形 |
|
|
295
|
-
| overlay-body-padding | `CSS length` | — | Modal / Drawer 正文安全区的精确长度;独立于倍率,未设置时保留拟态阴影所需空间 |
|
|
296
|
-
| 组件 tokens.padding / paddingX / paddingY | `CSS padding / length` | — | 根表面精确内边距,覆盖倍率结果;Button、Input、Card、Surface、Select、Modal 等支持;完整 padding 优先于轴向值 |
|
|
297
|
-
| 组件 tokens.itemPadding / itemPaddingX / itemPaddingY | `CSS padding / length` | — | Table、Tabs、Select、List 等内部内容项的精确内边距 |
|
|
298
|
-
| 组件 tokens.gap / itemGap / bodyPadding | `CSS length` | — | 主内容间隔;Form 的标签与控件间隔;Modal / Drawer 的正文安全区。使用对应组件支持的插槽 |
|
|
299
|
-
| 作用范围 | `-` | — | 库内布局响应倍率,业务自行设置的 style / gap / padding 不自动缩放;保留箭头预留空间、滑块刻度、图形几何与隐藏节点。self 主题仅作用于当前组件,subtree 主题继续向后代及 Portal 传递 |
|
|
300
|
-
|
|
301
|
-
|
|
302
263
|
**组件 theme 与定向覆盖**
|
|
303
264
|
|
|
304
265
|
| Prop | 类型 | 默认 | 说明 |
|
package/docs/llms/themepanel.md
CHANGED
|
@@ -10,27 +10,6 @@ import { ThemeProvider, ThemePanel, THEME_PANEL_DEFAULT_PRESET_OPTIONS, THEME_PA
|
|
|
10
10
|
|
|
11
11
|
## 示例
|
|
12
12
|
|
|
13
|
-
### 间距与内边距管理
|
|
14
|
-
|
|
15
|
-
支持整体留白、内边距、内容间隔、外间距四种倍率;可选择按钮、表格等组件精调长度。数字失焦后转为 px,清空恢复默认。间距配置可随主题保存,刷新预览仍保留。
|
|
16
|
-
|
|
17
|
-
```tsx
|
|
18
|
-
<ThemeProvider target="scope" storageKey="app:spacing">
|
|
19
|
-
<ThemePanel sections={["spacing", "advanced"]} />
|
|
20
|
-
<Card title="任务设置" bodyLayout="stack">
|
|
21
|
-
<Form>
|
|
22
|
-
<Form.Item label="任务名称"><Input defaultValue="同步任务" /></Form.Item>
|
|
23
|
-
<Form.Item label="执行方式">
|
|
24
|
-
<Select defaultValue="auto" options={[{ value: "auto", label: "自动执行" }, { value: "manual", label: "手动执行" }]} />
|
|
25
|
-
</Form.Item>
|
|
26
|
-
</Form>
|
|
27
|
-
<Button icon="check">保存设置</Button>
|
|
28
|
-
<Button theme={{ tokens: { paddingX: "24px", gap: "12px" } }}>独立内边距</Button>
|
|
29
|
-
<Table rowKey="id" columns={[{ key: "name", dataIndex: "name", title: "任务" }]} data={[{ id: 1, name: "同步配置" }]} />
|
|
30
|
-
</Card>
|
|
31
|
-
</ThemeProvider>
|
|
32
|
-
```
|
|
33
|
-
|
|
34
13
|
### 完整面板
|
|
35
14
|
|
|
36
15
|
默认包含浅色、深色、瓷白、助手、助手暗五个主题卡片,并提供简洁/深度两档新建主题入口;高级调整区可编辑当前主题的 token、palette 和自定义字体,默认主题另存时可填写新主题名和副标题,非默认主题可直接改名、修改副标题后保存。
|
|
@@ -100,7 +79,7 @@ const [themes, setThemes] = React.useState<ThemePresets>({});
|
|
|
100
79
|
| --- | --- | --- | --- |
|
|
101
80
|
| title | `ReactNode` | `"主题"` | 面板标题;传 null 可隐藏标题文本 |
|
|
102
81
|
| description | `ReactNode` | `"快速调整当前 Lumina 主题"` | 面板副标题 |
|
|
103
|
-
| sections | `ThemePanelSection[]` | — |
|
|
82
|
+
| sections | `ThemePanelSection[]` | — | 展示的控制区及顺序;advanced 区提供完整 token / palette 编辑,shadow 区同时控制 intensity / shadow-scale / shadow-float-scale |
|
|
104
83
|
| modeOptions | `ThemePanelModeOption[]` | — | 模式切换项 |
|
|
105
84
|
| presetOptions | `ThemePanelPresetOption[]` | — | 命名主题预设卡片;不传时使用浅色/深色/瓷白/助手/助手暗 + theme.themes,也可完全由业务侧控制 |
|
|
106
85
|
| defaultCustomAccent | `string` | `"#845ef7"` | 自定义强调色初始值 |
|
package/docs/llms/typography.md
CHANGED
|
@@ -16,7 +16,7 @@ import { Typography, Title, Text, Paragraph, Link } from "@fangxinyan/lumina";
|
|
|
16
16
|
<Typography>
|
|
17
17
|
<Typography.Title level={2}>Lumina 排版</Typography.Title>
|
|
18
18
|
<Typography.Paragraph>...</Typography.Paragraph>
|
|
19
|
-
<Typography.Text
|
|
19
|
+
<Typography.Text type="secondary">次要文字</Typography.Text>
|
|
20
20
|
<Typography.Link href="..." external>外部链接</Typography.Link>
|
|
21
21
|
</Typography>
|
|
22
22
|
```
|
|
@@ -30,7 +30,7 @@ import { Typography, Title, Text, Paragraph, Link } from "@fangxinyan/lumina";
|
|
|
30
30
|
### 语义色
|
|
31
31
|
|
|
32
32
|
```tsx
|
|
33
|
-
<Typography.Text
|
|
33
|
+
<Typography.Text type="success">...</Typography.Text>
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
### 文字修饰
|
|
@@ -76,7 +76,6 @@ import { Typography, Title, Text, Paragraph, Link } from "@fangxinyan/lumina";
|
|
|
76
76
|
|
|
77
77
|
| Prop | 类型 | 默认 | 说明 |
|
|
78
78
|
| --- | --- | --- | --- |
|
|
79
|
-
| type | `TypographyType` | — | 已弃用的 tone 别名;两者同时传入时 tone 优先 |
|
|
80
79
|
| level | `1 | 2 | 3 | 4 | 5` | `1` | 标题级别 |
|
|
81
80
|
|
|
82
81
|
|
|
@@ -84,7 +83,7 @@ import { Typography, Title, Text, Paragraph, Link } from "@fangxinyan/lumina";
|
|
|
84
83
|
|
|
85
84
|
| Prop | 类型 | 默认 | 说明 |
|
|
86
85
|
| --- | --- | --- | --- |
|
|
87
|
-
|
|
|
86
|
+
| type | `"secondary" | "success" | "warning" | "danger"` | — | 语义色 |
|
|
88
87
|
| disabled | `boolean` | `false` | 禁用态 |
|
|
89
88
|
| mark / code / keyboard / underline / delete / strong / italic | `boolean` | `false` | 文字修饰 |
|
|
90
89
|
| copyable | `boolean | CopyableConfig` | — | 显示复制按钮 |
|
package/docs/llms.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> 拟态风格的 React 18 组件库,目标是 Electron 桌面应用。**写给 AI 编程助手**的按需文档 —— 每个组件单独一个 `.md`,避免一次性读取全部。示例源自 playground 的 demo,可直接复制运行。
|
|
4
4
|
|
|
5
5
|
- **包名**: `@fangxinyan/lumina`
|
|
6
|
-
- **版本**: `0.10.
|
|
6
|
+
- **版本**: `0.10.1`
|
|
7
7
|
- **React 最低版本**: 18
|
|
8
8
|
- **环境**: 带打包器的 React 工程(Vite / Next.js / Webpack / Remix / Electron + Vite 等)
|
|
9
9
|
- **零运行时依赖**: 只依赖 `react` / `react-dom` (peer deps)
|
|
@@ -63,7 +63,6 @@
|
|
|
63
63
|
- [Slider 滑块](./llms/slider.md) — 在连续数值区间内取值。
|
|
64
64
|
- [Select 下拉选择](./llms/select.md) — 下拉选择,支持单/多选、搜索、分组、加载态。
|
|
65
65
|
- [AutoComplete 自动补全](./llms/autocomplete.md) — 输入时展示建议下拉,不限定必须从候选中选。
|
|
66
|
-
- [Segmented 分段选择](./llms/segmented.md) — 统一的互斥选择控件。
|
|
67
66
|
- [Cascader 级联选择](./llms/cascader.md) — 层级关联数据集合中的多级选择。
|
|
68
67
|
- [DatePicker 日期选择](./llms/datepicker.md) — 输入框触发的日期选择器,复用 Calendar 并支持范围、禁用日期和格式化。
|
|
69
68
|
- [DateTimePicker 日期时间选择](./llms/datetimepicker.md) — 输入框触发的日期时间选择器,把 Calendar 与时分秒列组合在同一个浮层内。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fangxinyan/lumina",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"description": "Lumina — Neumorphic component library for Electron & React apps",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -336,8 +336,7 @@
|
|
|
336
336
|
"types": "./dist/*.d.ts",
|
|
337
337
|
"import": "./dist/*.js",
|
|
338
338
|
"require": "./dist/*.cjs"
|
|
339
|
-
}
|
|
340
|
-
"./utilities": "./dist/utilities.css"
|
|
339
|
+
}
|
|
341
340
|
},
|
|
342
341
|
"files": [
|
|
343
342
|
"dist",
|
|
@@ -358,12 +357,7 @@
|
|
|
358
357
|
"test:unit": "vitest run --root . --environment jsdom",
|
|
359
358
|
"gen:docs": "node scripts/gen-llms-doc.mjs",
|
|
360
359
|
"verify:public-api": "node scripts/verify-public-api.mjs",
|
|
361
|
-
"prepublishOnly": "npm run
|
|
362
|
-
"gen:tokens": "node scripts/gen-tokens.mjs",
|
|
363
|
-
"verify:tokens": "node scripts/gen-tokens.mjs --check",
|
|
364
|
-
"predev": "npm run gen:tokens",
|
|
365
|
-
"prebuild": "npm run gen:tokens",
|
|
366
|
-
"prebuild:lib": "npm run gen:tokens"
|
|
360
|
+
"prepublishOnly": "npm run typecheck && npm run test:unit && npm run gen:docs && npm run build:lib && npm run verify:public-api"
|
|
367
361
|
},
|
|
368
362
|
"peerDependencies": {
|
|
369
363
|
"react": ">=18",
|
package/dist/Alert-A45U55ZL.css
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/* ============ Alert ============ */
|
|
2
|
-
.alert {
|
|
3
|
-
display: flex;
|
|
4
|
-
gap: var(--lmn-alert-gap, calc(12px * var(--lmn-alert-spacing-scale, var(--spacing-scale)) * var(--lmn-alert-gap-scale, var(--gap-scale))));
|
|
5
|
-
align-items: flex-start;
|
|
6
|
-
padding: var(--lmn-alert-padding, var(--lmn-alert-padding-y, calc(14px * var(--lmn-alert-spacing-scale, var(--spacing-scale)) * var(--lmn-alert-padding-scale, var(--padding-scale)))) var(--lmn-alert-padding-x, calc(16px * var(--lmn-alert-spacing-scale, var(--spacing-scale)) * var(--lmn-alert-padding-scale, var(--padding-scale)))));
|
|
7
|
-
border-radius: var(--r-md);
|
|
8
|
-
background: var(--lmn-alert-bg, var(--bg));
|
|
9
|
-
box-shadow: var(--lmn-alert-neu-shadow-inset, var(--neu-shadow-inset));
|
|
10
|
-
position: relative;
|
|
11
|
-
}
|
|
12
|
-
.alert-ico {
|
|
13
|
-
width: 20px; height: 20px;
|
|
14
|
-
display: grid; place-items: center;
|
|
15
|
-
flex-shrink: 0;
|
|
16
|
-
margin-top: calc(1px * var(--lmn-alert-spacing-scale, var(--spacing-scale)) * var(--lmn-alert-margin-scale, var(--margin-scale)));
|
|
17
|
-
line-height: 0;
|
|
18
|
-
}
|
|
19
|
-
.alert-ico img {
|
|
20
|
-
display: block;
|
|
21
|
-
width: 16px;
|
|
22
|
-
height: 16px;
|
|
23
|
-
object-fit: contain;
|
|
24
|
-
}
|
|
25
|
-
.alert.info .alert-ico { color: var(--lmn-alert-info, var(--info)); }
|
|
26
|
-
.alert.success .alert-ico { color: var(--lmn-alert-success, var(--success)); }
|
|
27
|
-
.alert.warning .alert-ico { color: var(--lmn-alert-warning, var(--warning)); }
|
|
28
|
-
.alert.danger .alert-ico { color: var(--lmn-alert-danger, var(--danger)); }
|
|
29
|
-
.alert-body { flex: 1; min-width: 0; }
|
|
30
|
-
.alert-title { font-size: var(--fs-md); font-weight: 600; margin-bottom: calc(3px * var(--lmn-alert-spacing-scale, var(--spacing-scale)) * var(--lmn-alert-margin-scale, var(--margin-scale))); line-height: 1.4; }
|
|
31
|
-
.alert-desc { font-size: var(--fs-sm); color: var(--lmn-alert-fg-muted, var(--fg-muted)); line-height: 1.55; }
|
|
32
|
-
.alert.no-title { align-items: center; }
|
|
33
|
-
.alert.no-title .alert-ico { margin-top: 0; }
|
|
34
|
-
.alert.no-icon { gap: 0; }
|
|
35
|
-
|
|
36
|
-
.alert-action {
|
|
37
|
-
display: flex;
|
|
38
|
-
align-items: center;
|
|
39
|
-
gap: calc(6px * var(--lmn-alert-spacing-scale, var(--spacing-scale)) * var(--lmn-alert-gap-scale, var(--gap-scale)));
|
|
40
|
-
flex-shrink: 0;
|
|
41
|
-
margin-left: calc(4px * var(--lmn-alert-spacing-scale, var(--spacing-scale)) * var(--lmn-alert-margin-scale, var(--margin-scale)));
|
|
42
|
-
}
|
|
43
|
-
.alert:has(.alert-close) .alert-action { margin-right: calc(26px * var(--lmn-alert-spacing-scale, var(--spacing-scale)) * var(--lmn-alert-margin-scale, var(--margin-scale))); }
|
|
44
|
-
|
|
45
|
-
.alert-close {
|
|
46
|
-
position: absolute; top: 10px; right: 10px;
|
|
47
|
-
width: 22px; height: 22px; border-radius: var(--r-xs);
|
|
48
|
-
display: grid; place-items: center;
|
|
49
|
-
color: var(--lmn-alert-fg-subtle, var(--fg-subtle));
|
|
50
|
-
cursor: pointer;
|
|
51
|
-
border: none; background: transparent;
|
|
52
|
-
}
|
|
53
|
-
.alert-close:hover { color: var(--lmn-alert-fg, var(--fg)); background: var(--lmn-alert-bg, var(--bg)); box-shadow: var(--lmn-alert-neu-shadow-subtle, var(--neu-shadow-subtle)); }
|
|
54
|
-
|
|
55
|
-
.alert-close:focus-visible { outline: 2px solid var(--lmn-alert-accent, var(--accent)); outline-offset: 2px; }
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
/* ============ TitleBar (Electron) ============ */
|
|
2
|
-
.titlebar {
|
|
3
|
-
display: flex;
|
|
4
|
-
align-items: center;
|
|
5
|
-
gap: var(--lmn-app-shell-gap, calc(var(--gap-3) * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-gap-scale, var(--gap-scale))));
|
|
6
|
-
padding: var(--lmn-app-shell-padding, var(--lmn-app-shell-padding-y, 0) var(--lmn-app-shell-padding-x, calc(var(--gap-3) * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale)))));
|
|
7
|
-
height: 40px;
|
|
8
|
-
background: var(--lmn-app-shell-bg, var(--bg));
|
|
9
|
-
-webkit-app-region: drag;
|
|
10
|
-
user-select: none;
|
|
11
|
-
border-bottom: 1px solid var(--lmn-app-shell-divider, var(--divider));
|
|
12
|
-
position: relative;
|
|
13
|
-
z-index: 5;
|
|
14
|
-
overflow: visible;
|
|
15
|
-
}
|
|
16
|
-
.titlebar.windows { padding-right: 0; }
|
|
17
|
-
.titlebar.no-drag { -webkit-app-region: no-drag; }
|
|
18
|
-
.titlebar-title {
|
|
19
|
-
display: inline-flex;
|
|
20
|
-
align-items: center;
|
|
21
|
-
gap: calc(10px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-gap-scale, var(--gap-scale)));
|
|
22
|
-
font-weight: 500;
|
|
23
|
-
font-size: var(--fs-md);
|
|
24
|
-
flex-shrink: 0;
|
|
25
|
-
min-width: 0;
|
|
26
|
-
}
|
|
27
|
-
.titlebar-center {
|
|
28
|
-
position: absolute; left: 50%; transform: translateX(-50%);
|
|
29
|
-
display: inline-flex; align-items: center; gap: calc(8px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-gap-scale, var(--gap-scale)));
|
|
30
|
-
-webkit-app-region: no-drag;
|
|
31
|
-
}
|
|
32
|
-
.titlebar-actions {
|
|
33
|
-
margin-left: auto;
|
|
34
|
-
display: inline-flex; align-items: center; gap: calc(6px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-gap-scale, var(--gap-scale)));
|
|
35
|
-
-webkit-app-region: no-drag;
|
|
36
|
-
flex-shrink: 0;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/* macOS traffic lights */
|
|
40
|
-
.win-controls { flex-shrink: 0; }
|
|
41
|
-
.win-controls.mac { display: inline-flex; gap: calc(8px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-gap-scale, var(--gap-scale))); -webkit-app-region: no-drag; }
|
|
42
|
-
.win-controls.mac .win-btn {
|
|
43
|
-
width: 13px; height: 13px;
|
|
44
|
-
border: none; padding: 0;
|
|
45
|
-
border-radius: var(--r-pill);
|
|
46
|
-
background: var(--lmn-app-shell-bg, var(--bg));
|
|
47
|
-
box-shadow: var(--lmn-app-shell-neu-shadow-subtle, var(--neu-shadow-subtle));
|
|
48
|
-
position: relative;
|
|
49
|
-
cursor: pointer;
|
|
50
|
-
transition: transform var(--dur-fast) var(--ease);
|
|
51
|
-
}
|
|
52
|
-
.win-controls.mac .win-btn::after {
|
|
53
|
-
content: "";
|
|
54
|
-
position: absolute; inset: 2px;
|
|
55
|
-
border-radius: var(--r-pill);
|
|
56
|
-
background: var(--dot, var(--lmn-app-shell-fg-subtle, var(--fg-subtle)));
|
|
57
|
-
}
|
|
58
|
-
.win-controls.mac .win-btn.close { --dot: #ff5f57; }
|
|
59
|
-
.win-controls.mac .win-btn.minimize { --dot: #febc2e; }
|
|
60
|
-
.win-controls.mac .win-btn.maximize { --dot: #28c840; }
|
|
61
|
-
.win-controls.mac .win-btn:hover { transform: scale(1.08); }
|
|
62
|
-
.win-controls .win-btn:disabled {
|
|
63
|
-
cursor: default;
|
|
64
|
-
pointer-events: none;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/* Windows controls */
|
|
68
|
-
.win-controls.windows {
|
|
69
|
-
display: inline-flex;
|
|
70
|
-
-webkit-app-region: no-drag;
|
|
71
|
-
margin-left: calc(8px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-margin-scale, var(--margin-scale)));
|
|
72
|
-
flex-shrink: 0;
|
|
73
|
-
}
|
|
74
|
-
.win-controls.windows .win-btn {
|
|
75
|
-
width: 38px;
|
|
76
|
-
height: 28px;
|
|
77
|
-
border: 0;
|
|
78
|
-
padding: 0;
|
|
79
|
-
border-radius: var(--r-xs);
|
|
80
|
-
background: transparent;
|
|
81
|
-
color: var(--lmn-app-shell-fg-muted, var(--fg-muted));
|
|
82
|
-
display: inline-grid;
|
|
83
|
-
place-items: center;
|
|
84
|
-
cursor: pointer;
|
|
85
|
-
transition: box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
|
|
86
|
-
margin: 0 calc(1px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-margin-scale, var(--margin-scale)));
|
|
87
|
-
flex-shrink: 0;
|
|
88
|
-
overflow: visible;
|
|
89
|
-
}
|
|
90
|
-
.win-controls.windows .win-btn svg { display: block; flex-shrink: 0; }
|
|
91
|
-
.win-controls.windows .win-btn:hover { background: var(--lmn-app-shell-bg, var(--bg)); box-shadow: var(--lmn-app-shell-neu-shadow-inset, var(--neu-shadow-inset)); color: var(--lmn-app-shell-fg, var(--fg)); }
|
|
92
|
-
.win-controls.windows .win-btn.close:hover {
|
|
93
|
-
background: var(--lmn-app-shell-danger, var(--danger));
|
|
94
|
-
color: var(--on-accent);
|
|
95
|
-
box-shadow: 2px 2px 4px color-mix(in oklch, var(--lmn-app-shell-danger, var(--danger)) 30%, var(--lmn-app-shell-shadow-dark, var(--shadow-dark)));
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/* ============ Sidebar ============ */
|
|
99
|
-
.sidebar {
|
|
100
|
-
display: flex;
|
|
101
|
-
flex-direction: column;
|
|
102
|
-
width: 220px;
|
|
103
|
-
padding: var(--lmn-app-shell-padding, var(--lmn-app-shell-padding-y, calc(12px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale)))) var(--lmn-app-shell-padding-x, calc(12px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale)))));
|
|
104
|
-
background: var(--lmn-app-shell-bg, var(--bg));
|
|
105
|
-
border-right: 1px solid var(--lmn-app-shell-divider, var(--divider));
|
|
106
|
-
flex-shrink: 0;
|
|
107
|
-
overflow-y: auto;
|
|
108
|
-
gap: var(--lmn-app-shell-gap, calc(4px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-gap-scale, var(--gap-scale))));
|
|
109
|
-
}
|
|
110
|
-
.sidebar.collapsed { width: 64px; }
|
|
111
|
-
.sidebar-header { padding: calc(4px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale))) calc(8px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale))) calc(12px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale))); border-bottom: 1px solid var(--lmn-app-shell-divider, var(--divider)); margin-bottom: calc(8px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-margin-scale, var(--margin-scale))); }
|
|
112
|
-
.sidebar-footer { margin-top: auto; padding-top: calc(12px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale))); border-top: 1px solid var(--lmn-app-shell-divider, var(--divider)); }
|
|
113
|
-
.sidebar-nav { display: flex; flex-direction: column; gap: calc(2px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-gap-scale, var(--gap-scale))); }
|
|
114
|
-
.sidebar-children { display: flex; flex-direction: column; gap: calc(2px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-gap-scale, var(--gap-scale))); }
|
|
115
|
-
.sidebar-item {
|
|
116
|
-
display: flex; align-items: center; gap: var(--lmn-app-shell-gap, calc(10px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-gap-scale, var(--gap-scale))));
|
|
117
|
-
padding: var(--lmn-app-shell-item-padding, var(--lmn-app-shell-item-padding-y, calc(10px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale)))) var(--lmn-app-shell-item-padding-x, calc(12px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale)))) var(--lmn-app-shell-item-padding-y, calc(10px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale)))) var(--lmn-app-shell-item-padding-x, calc(calc(12px + var(--sidebar-indent, 0px)) * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale)))));
|
|
118
|
-
border: none;
|
|
119
|
-
border-radius: var(--r-sm);
|
|
120
|
-
background: transparent;
|
|
121
|
-
color: var(--lmn-app-shell-fg-muted, var(--fg-muted));
|
|
122
|
-
font-size: var(--fs-md);
|
|
123
|
-
font-family: inherit;
|
|
124
|
-
text-align: left;
|
|
125
|
-
cursor: pointer;
|
|
126
|
-
width: 100%;
|
|
127
|
-
transition: box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
|
|
128
|
-
}
|
|
129
|
-
.sidebar-item:hover { color: var(--lmn-app-shell-fg, var(--fg)); background: var(--lmn-app-shell-bg, var(--bg)); box-shadow: var(--lmn-app-shell-neu-shadow-subtle, var(--neu-shadow-subtle)); }
|
|
130
|
-
.sidebar-item.active {
|
|
131
|
-
color: var(--lmn-app-shell-accent-ink, var(--accent-ink));
|
|
132
|
-
background: var(--lmn-app-shell-bg, var(--bg));
|
|
133
|
-
box-shadow: var(--lmn-app-shell-neu-shadow-inset, var(--neu-shadow-inset));
|
|
134
|
-
font-weight: 500;
|
|
135
|
-
}
|
|
136
|
-
.sidebar-icon { display: inline-flex; flex-shrink: 0; }
|
|
137
|
-
.sidebar-label { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
138
|
-
.sidebar-badge {
|
|
139
|
-
font-size: var(--fs-xs);
|
|
140
|
-
padding: calc(1px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale))) calc(7px * var(--lmn-app-shell-spacing-scale, var(--spacing-scale)) * var(--lmn-app-shell-padding-scale, var(--padding-scale)));
|
|
141
|
-
border-radius: var(--r-pill);
|
|
142
|
-
background: var(--lmn-app-shell-accent, var(--accent));
|
|
143
|
-
color: var(--on-accent);
|
|
144
|
-
font-weight: 600;
|
|
145
|
-
}
|
|
146
|
-
.sidebar-expand {
|
|
147
|
-
display: inline-flex;
|
|
148
|
-
flex-shrink: 0;
|
|
149
|
-
color: var(--lmn-app-shell-fg-subtle, var(--fg-subtle));
|
|
150
|
-
transition: transform var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
|
|
151
|
-
}
|
|
152
|
-
.sidebar-expand.open {
|
|
153
|
-
color: var(--lmn-app-shell-accent, var(--accent));
|
|
154
|
-
transform: rotate(180deg);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/* ============ AppShell ============ */
|
|
158
|
-
.app-shell {
|
|
159
|
-
display: flex;
|
|
160
|
-
flex-direction: column;
|
|
161
|
-
width: 100%;
|
|
162
|
-
height: 100vh;
|
|
163
|
-
height: 100dvh;
|
|
164
|
-
background: var(--lmn-app-shell-bg, var(--bg));
|
|
165
|
-
color: var(--lmn-app-shell-fg, var(--fg));
|
|
166
|
-
overflow: hidden;
|
|
167
|
-
position: relative;
|
|
168
|
-
}
|
|
169
|
-
.app-shell-body {
|
|
170
|
-
flex: 1;
|
|
171
|
-
display: flex;
|
|
172
|
-
min-height: 0;
|
|
173
|
-
}
|
|
174
|
-
.app-shell-main {
|
|
175
|
-
flex: 1;
|
|
176
|
-
min-width: 0;
|
|
177
|
-
overflow: auto;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
@media (max-width: 720px) {
|
|
181
|
-
.titlebar-center {
|
|
182
|
-
position: static;
|
|
183
|
-
flex: 1;
|
|
184
|
-
min-width: 0;
|
|
185
|
-
justify-content: center;
|
|
186
|
-
overflow: hidden;
|
|
187
|
-
transform: none;
|
|
188
|
-
}
|
|
189
|
-
.titlebar-title,
|
|
190
|
-
.titlebar-center,
|
|
191
|
-
.titlebar-actions {
|
|
192
|
-
max-width: 34%;
|
|
193
|
-
}
|
|
194
|
-
.sidebar:not(.collapsed) { width: 180px; }
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
/* 组件自己的键盘轮廓不依赖全局阴影规则,也不覆盖错误态阴影。 */
|
|
198
|
-
.win-btn:focus-visible,
|
|
199
|
-
.sidebar-item:focus-visible,
|
|
200
|
-
.sidebar-group-head:focus-visible { outline: 2px solid var(--lmn-app-shell-accent, var(--accent)); outline-offset: 2px; }
|