@fangxinyan/lumina 0.6.18 → 0.7.0
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/dist/{Alert-HVPI6L4V.css → Alert-DJ3K7N7L.css} +9 -9
- package/dist/Alert.cjs +5 -3
- package/dist/Alert.d.cts +2 -2
- package/dist/Alert.d.ts +2 -2
- package/dist/Alert.js +4 -2
- package/dist/{AppShell-FZCD4C56.css → AppShell-OWJRJ4ZD.css} +57 -22
- package/dist/AppShell.cjs +8 -5
- package/dist/AppShell.d.cts +19 -16
- package/dist/AppShell.d.ts +19 -16
- package/dist/AppShell.js +4 -1
- package/dist/{AutoComplete-4YZBMW4E.css → AutoComplete-PNCYHU2T.css} +8 -8
- package/dist/AutoComplete.cjs +9 -6
- package/dist/AutoComplete.d.cts +2 -1
- package/dist/AutoComplete.d.ts +2 -1
- package/dist/AutoComplete.js +8 -5
- package/dist/Avatar-YBU2YZTW.css +48 -0
- package/dist/Avatar.cjs +4 -2
- package/dist/Avatar.d.cts +6 -2
- package/dist/Avatar.d.ts +6 -2
- package/dist/Avatar.js +3 -1
- package/dist/Badge-DBWJEV4C.css +22 -0
- package/dist/Badge.cjs +4 -2
- package/dist/Badge.d.cts +6 -2
- package/dist/Badge.d.ts +6 -2
- package/dist/Badge.js +3 -1
- package/dist/{Button-TUMZUQLI.css → Button-ILNZUX2N.css} +28 -21
- package/dist/Button.cjs +6 -4
- package/dist/Button.d.cts +2 -14
- package/dist/Button.d.ts +2 -14
- package/dist/Button.js +4 -2
- package/dist/{Calendar-I6NHCXIB.css → Calendar-QJ5HWEJQ.css} +26 -26
- package/dist/Calendar.cjs +5 -3
- package/dist/Calendar.d.cts +8 -4
- package/dist/Calendar.d.ts +8 -4
- package/dist/Calendar.js +4 -2
- package/dist/Card-VPMTWAWZ.css +98 -0
- package/dist/Card.cjs +7 -3
- package/dist/Card.d.cts +8 -4
- package/dist/Card.d.ts +8 -4
- package/dist/Card.js +6 -2
- package/dist/Cascader-YBVDK6DC.css +168 -0
- package/dist/Cascader.cjs +9 -6
- package/dist/Cascader.d.cts +21 -3
- package/dist/Cascader.d.ts +21 -3
- package/dist/Cascader.js +8 -5
- package/dist/Checkbox-IHFML4FV.css +50 -0
- package/dist/Checkbox.cjs +5 -3
- package/dist/Checkbox.d.cts +10 -2
- package/dist/Checkbox.d.ts +10 -2
- package/dist/Checkbox.js +4 -2
- package/dist/{Collapse-UNBHEPYP.css → Collapse-BTSBHBSY.css} +12 -7
- package/dist/Collapse.cjs +5 -3
- package/dist/Collapse.d.cts +2 -2
- package/dist/Collapse.d.ts +2 -2
- package/dist/Collapse.js +4 -2
- package/dist/{ColorPicker-LPG6QPYF.css → ColorPicker-GRZOKR5O.css} +17 -32
- package/dist/ColorPicker.cjs +9 -3
- package/dist/ColorPicker.d.cts +7 -11
- package/dist/ColorPicker.d.ts +7 -11
- package/dist/ColorPicker.js +8 -2
- package/dist/{CommandPalette-RTKWNH2D.css → CommandPalette-GHTX7AAA.css} +22 -23
- package/dist/CommandPalette.cjs +8 -5
- package/dist/CommandPalette.d.cts +5 -28
- package/dist/CommandPalette.d.ts +5 -28
- package/dist/CommandPalette.js +7 -4
- package/dist/{ContextMenu-WRR2SSWL.css → ContextMenu-NG524Y2P.css} +17 -17
- package/dist/ContextMenu.cjs +5 -2
- package/dist/ContextMenu.d.cts +2 -19
- package/dist/ContextMenu.d.ts +2 -19
- package/dist/ContextMenu.js +4 -1
- package/dist/{DatePicker-VDVSIARF.css → DatePicker-ZSFDXAYD.css} +4 -4
- package/dist/DatePicker.cjs +11 -8
- package/dist/DatePicker.d.cts +4 -7
- package/dist/DatePicker.d.ts +4 -7
- package/dist/DatePicker.js +10 -7
- package/dist/{DateTimePicker-DRX7XA74.css → DateTimePicker-EWSISVIF.css} +17 -17
- package/dist/DateTimePicker.cjs +11 -8
- package/dist/DateTimePicker.d.cts +4 -8
- package/dist/DateTimePicker.d.ts +4 -8
- package/dist/DateTimePicker.js +10 -7
- package/dist/{Divider-RPQCVH3J.css → Divider-OI2BXPBU.css} +10 -10
- package/dist/Divider.cjs +4 -2
- package/dist/Divider.d.cts +2 -2
- package/dist/Divider.d.ts +2 -2
- package/dist/Divider.js +3 -1
- package/dist/{Drawer-7KICRM4L.css → Drawer-VCXAXWV6.css} +30 -17
- package/dist/Drawer.cjs +6 -3
- package/dist/Drawer.d.cts +25 -3
- package/dist/Drawer.d.ts +25 -3
- package/dist/Drawer.js +5 -2
- package/dist/{Empty-CZTRZMZQ.css → Empty-U5CBLCAL.css} +5 -5
- package/dist/Empty.cjs +4 -2
- package/dist/Empty.d.cts +2 -2
- package/dist/Empty.d.ts +2 -2
- package/dist/Empty.js +3 -1
- package/dist/{Form-NGCQWTMZ.css → Form-DNEDZRJA.css} +7 -7
- package/dist/Form.cjs +7 -4
- package/dist/Form.d.cts +4 -3
- package/dist/Form.d.ts +4 -3
- package/dist/Form.js +4 -1
- package/dist/Icon-HJSUVW4O.css +12 -0
- package/dist/Icon.cjs +51 -49
- package/dist/Icon.d.cts +8 -8
- package/dist/Icon.d.ts +8 -8
- package/dist/Icon.js +3 -1
- package/dist/{Image-NISJRUWX.css → Image-CZJPPURT.css} +25 -23
- package/dist/Image.cjs +10 -7
- package/dist/Image.d.cts +5 -24
- package/dist/Image.d.ts +5 -24
- package/dist/Image.js +6 -3
- package/dist/{Input-7GDPGP3E.css → Input-ZUASNDXM.css} +15 -15
- package/dist/Input.cjs +7 -5
- package/dist/Input.d.cts +2 -1
- package/dist/Input.d.ts +2 -1
- package/dist/Input.js +5 -3
- package/dist/{InputNumber-VXQIWLQC.css → InputNumber-6NHBMRT4.css} +7 -7
- package/dist/InputNumber.cjs +7 -5
- package/dist/InputNumber.d.cts +2 -1
- package/dist/InputNumber.d.ts +2 -1
- package/dist/InputNumber.js +6 -4
- package/dist/List-6BQIFAIT.css +42 -0
- package/dist/List.cjs +4 -2
- package/dist/List.d.cts +2 -2
- package/dist/List.d.ts +2 -2
- package/dist/List.js +3 -1
- package/dist/{Message-H222YGR6.css → Message-OTZWQTQ5.css} +13 -13
- package/dist/Message.cjs +9 -6
- package/dist/Message.d.cts +18 -2
- package/dist/Message.d.ts +18 -2
- package/dist/Message.js +5 -2
- package/dist/{Modal-ZFWNFEA5.css → Modal-UI2FXNDR.css} +29 -18
- package/dist/Modal.cjs +7 -4
- package/dist/Modal.d.cts +13 -2
- package/dist/Modal.d.ts +13 -2
- package/dist/Modal.js +6 -3
- package/dist/Pagination-POJTWMYR.css +70 -0
- package/dist/Pagination.cjs +11 -8
- package/dist/Pagination.d.cts +2 -2
- package/dist/Pagination.d.ts +2 -2
- package/dist/Pagination.js +10 -7
- package/dist/{Popover-Y3LDCJPW.css → Popover-LCXLR3EU.css} +13 -14
- package/dist/Popover.cjs +6 -3
- package/dist/Popover.d.cts +3 -10
- package/dist/Popover.d.ts +3 -10
- package/dist/Popover.js +5 -2
- package/dist/Progress-33WE2NI7.css +90 -0
- package/dist/Progress.cjs +4 -2
- package/dist/Progress.d.cts +4 -2
- package/dist/Progress.d.ts +4 -2
- package/dist/Progress.js +3 -1
- package/dist/{Radio-IQKASYDF.css → Radio-RL7232MZ.css} +21 -13
- package/dist/Radio.cjs +5 -3
- package/dist/Radio.d.cts +18 -5
- package/dist/Radio.d.ts +18 -5
- package/dist/Radio.js +3 -1
- package/dist/{Select-YZ2NUJSX.css → Select-TU37MAHZ.css} +64 -40
- package/dist/Select.cjs +10 -7
- package/dist/Select.d.cts +24 -3
- package/dist/Select.d.ts +24 -3
- package/dist/Select.js +9 -6
- package/dist/{Skeleton-CVWH2VWN.css → Skeleton-FMFE3BRI.css} +9 -4
- package/dist/Skeleton.cjs +4 -2
- package/dist/Skeleton.d.cts +2 -4
- package/dist/Skeleton.d.ts +2 -4
- package/dist/Skeleton.js +3 -1
- package/dist/Slider-FZ5MI4X2.css +145 -0
- package/dist/Slider.cjs +4 -2
- package/dist/Slider.d.cts +6 -5
- package/dist/Slider.d.ts +6 -5
- package/dist/Slider.js +3 -1
- package/dist/{Spin-GONGPV4Q.css → Spin-F5YIEENO.css} +15 -9
- package/dist/Spin.cjs +4 -2
- package/dist/Spin.d.cts +2 -2
- package/dist/Spin.d.ts +2 -2
- package/dist/Spin.js +3 -1
- package/dist/{Splitter-DHNOY4NC.css → Splitter-IQ3PFIKK.css} +4 -4
- package/dist/Splitter.cjs +4 -2
- package/dist/Splitter.d.cts +8 -12
- package/dist/Splitter.d.ts +8 -12
- package/dist/Splitter.js +3 -1
- package/dist/{StatusBar-FJKEEPXU.css → StatusBar-TCGR3LXP.css} +23 -9
- package/dist/StatusBar.cjs +5 -3
- package/dist/StatusBar.d.cts +5 -17
- package/dist/StatusBar.d.ts +5 -17
- package/dist/StatusBar.js +3 -1
- package/dist/{Surface-UDDN3DGL.css → Surface-CTN775GD.css} +10 -10
- package/dist/Surface.cjs +6 -5
- package/dist/Surface.d.cts +10 -1
- package/dist/Surface.d.ts +10 -1
- package/dist/Surface.js +4 -3
- package/dist/{Switch-COAQIOMH.css → Switch-TATU3LPB.css} +16 -8
- package/dist/Switch.cjs +4 -2
- package/dist/Switch.d.cts +10 -4
- package/dist/Switch.d.ts +10 -4
- package/dist/Switch.js +3 -1
- package/dist/{Table-IWHIIGRJ.css → Table-W4HPZ7MZ.css} +78 -53
- package/dist/Table.cjs +14 -10
- package/dist/Table.d.cts +32 -3
- package/dist/Table.d.ts +32 -3
- package/dist/Table.js +13 -9
- package/dist/{TablePro-3NGWERWT.css → TablePro-WYE6TXWJ.css} +5 -5
- package/dist/TablePro.cjs +15 -11
- package/dist/TablePro.d.cts +1 -0
- package/dist/TablePro.d.ts +1 -0
- package/dist/TablePro.js +14 -10
- package/dist/{Tabs-X5U5PCPV.css → Tabs-A3IG6UZ6.css} +10 -10
- package/dist/Tabs.cjs +4 -2
- package/dist/Tabs.d.cts +2 -2
- package/dist/Tabs.d.ts +2 -2
- package/dist/Tabs.js +3 -1
- package/dist/Tag-5GIZLRAH.css +42 -0
- package/dist/Tag.cjs +5 -3
- package/dist/Tag.d.cts +2 -2
- package/dist/Tag.d.ts +2 -2
- package/dist/Tag.js +4 -2
- package/dist/{Textarea-YHWKHIFE.css → Textarea-ZGHBZNLX.css} +10 -10
- package/dist/Textarea.cjs +6 -4
- package/dist/Textarea.d.cts +2 -4
- package/dist/Textarea.d.ts +2 -4
- package/dist/Textarea.js +4 -2
- package/dist/Theme-CLedeJ_C.d.ts +193 -0
- package/dist/Theme-uQq2B0Yk.d.cts +193 -0
- package/dist/Theme.cjs +57 -11
- package/dist/Theme.d.cts +26 -145
- package/dist/Theme.d.ts +26 -145
- package/dist/Theme.js +3 -1
- package/dist/{ThemePanel-TEHB2JCQ.css → ThemePanel-EHNAS4RN.css} +52 -52
- package/dist/ThemePanel.cjs +17 -15
- package/dist/ThemePanel.d.cts +3 -13
- package/dist/ThemePanel.d.ts +3 -13
- package/dist/ThemePanel.js +14 -12
- package/dist/{TimePicker-ZBJOXH3U.css → TimePicker-WJ3FSK6A.css} +17 -17
- package/dist/TimePicker.cjs +10 -7
- package/dist/TimePicker.d.cts +2 -8
- package/dist/TimePicker.d.ts +2 -8
- package/dist/TimePicker.js +9 -6
- package/dist/{Timeline-CRFZ3I2W.css → Timeline-FUFO2UGY.css} +28 -13
- package/dist/Timeline.cjs +5 -3
- package/dist/Timeline.d.cts +2 -7
- package/dist/Timeline.d.ts +2 -7
- package/dist/Timeline.js +4 -2
- package/dist/{Tooltip-5FSPJWLX.css → Tooltip-2EUNTOTW.css} +3 -3
- package/dist/Tooltip.cjs +6 -3
- package/dist/Tooltip.d.cts +2 -2
- package/dist/Tooltip.d.ts +2 -2
- package/dist/Tooltip.js +5 -2
- package/dist/{Typography-32QQLD4F.css → Typography-CQ2OZXQH.css} +105 -42
- package/dist/Typography.cjs +11 -8
- package/dist/Typography.d.cts +12 -36
- package/dist/Typography.d.ts +12 -36
- package/dist/Typography.js +6 -3
- package/dist/chunk-2A4GYSN4.js +294 -0
- package/dist/{chunk-QMX67CVT.cjs → chunk-2AUXUZ3Z.cjs} +56 -31
- package/dist/chunk-2BIOTRQC.js +40 -0
- package/dist/{chunk-A6O25EP2.js → chunk-2HIN5NFM.js} +14 -6
- package/dist/{chunk-I7TOBKJO.js → chunk-3DKFS44V.js} +84 -23
- package/dist/{chunk-E22OIVYP.js → chunk-3EHJ5QI3.js} +202 -69
- package/dist/{chunk-X5MYHDEQ.cjs → chunk-3EMWDDWK.cjs} +372 -117
- package/dist/chunk-3F424R5P.js +143 -0
- package/dist/chunk-3IZZBM56.js +269 -0
- package/dist/{chunk-DUFRASGO.js → chunk-3QXP2ZNP.js} +18 -23
- package/dist/{chunk-5QEI7GGA.cjs → chunk-434Y2JVW.cjs} +60 -27
- package/dist/{chunk-SOCYOUGM.js → chunk-4SKHRPDH.js} +168 -64
- package/dist/{chunk-L6GIV5DQ.cjs → chunk-56I6ZKGU.cjs} +40 -22
- package/dist/{chunk-R3DTXVP2.js → chunk-5AXNUX3J.js} +8 -5
- package/dist/chunk-5CZA33BK.cjs +229 -0
- package/dist/{chunk-6K5YI4ZE.js → chunk-62VV5COT.js} +16 -6
- package/dist/chunk-6DKPJ5LV.cjs +294 -0
- package/dist/{chunk-OTSDPQPV.js → chunk-6RQJXSWN.js} +50 -30
- package/dist/{chunk-V5KUC5VH.cjs → chunk-77HU7JWK.cjs} +40 -13
- package/dist/chunk-7QAVPVMW.js +180 -0
- package/dist/chunk-7VLAHOA7.cjs +191 -0
- package/dist/chunk-ALAG4ZUH.js +72 -0
- package/dist/chunk-ARUN2DMD.js +39 -0
- package/dist/chunk-AUO2YYHB.js +248 -0
- package/dist/{chunk-6MEOLYNQ.js → chunk-AURYNA6G.js} +6 -5
- package/dist/chunk-BIPOXOHP.cjs +287 -0
- package/dist/{chunk-V5SQOZPF.js → chunk-BJDQVVCG.js} +38 -20
- package/dist/{chunk-BVQOJKRX.js → chunk-BKW5PXEO.js} +115 -72
- package/dist/{chunk-UW57F3UO.cjs → chunk-D7YSY5RZ.cjs} +208 -75
- package/dist/chunk-DRDDQCDD.js +322 -0
- package/dist/chunk-DU2DSERH.js +190 -0
- package/dist/{chunk-PSQ3HNZP.cjs → chunk-E66PSVBU.cjs} +106 -19
- package/dist/{chunk-UGAN4BBW.js → chunk-EA3NZBCZ.js} +251 -125
- package/dist/chunk-EAUB6FEN.js +262 -0
- package/dist/chunk-EE5KXDRK.cjs +1223 -0
- package/dist/chunk-EE7IJ3MB.js +1 -0
- package/dist/{chunk-NXBFEIUX.cjs → chunk-ENFLP7SN.cjs} +255 -129
- package/dist/chunk-EUTK2ZRJ.cjs +61 -0
- package/dist/{chunk-HSAJUEO7.cjs → chunk-F7WUCOBP.cjs} +150 -86
- package/dist/{chunk-YB3IWIOJ.cjs → chunk-FJB3243S.cjs} +18 -23
- package/dist/chunk-FKCPSVC4.cjs +188 -0
- package/dist/chunk-FMUHLIHB.cjs +94 -0
- package/dist/chunk-FY73C7JK.js +520 -0
- package/dist/{chunk-6EOSMK34.cjs → chunk-G5LCOBOT.cjs} +20 -1
- package/dist/{chunk-5ERD3W24.cjs → chunk-GFKWSDD6.cjs} +18 -8
- package/dist/{chunk-T2O4DTDE.cjs → chunk-GTFP7HA3.cjs} +58 -32
- package/dist/chunk-HQFKXTX6.js +60 -0
- package/dist/chunk-HSDMJUB6.cjs +319 -0
- package/dist/chunk-HVPUGYBY.js +166 -0
- package/dist/chunk-HYHBCHFM.cjs +167 -0
- package/dist/chunk-HYJSMFZA.cjs +2 -0
- package/dist/chunk-I4YPBAQ5.js +163 -0
- package/dist/{chunk-IPSNC5VZ.js → chunk-JHM7MN3G.js} +15 -7
- package/dist/{chunk-4ACCOYBY.cjs → chunk-JINKQT6H.cjs} +20 -8
- package/dist/{chunk-6Q76VLCE.cjs → chunk-JKUXA3U6.cjs} +50 -30
- package/dist/{chunk-D7GK6H6V.js → chunk-K5HGHOG7.js} +50 -21
- package/dist/chunk-KATJAJUU.js +78 -0
- package/dist/chunk-KCDOC3HS.cjs +100 -0
- package/dist/{chunk-M4NJTJKV.cjs → chunk-LDX6Q6RK.cjs} +8 -5
- package/dist/chunk-LEDESWNL.js +83 -0
- package/dist/chunk-LG62MPMU.cjs +213 -0
- package/dist/{chunk-7NTTRKNT.js → chunk-LJVQQEME.js} +54 -28
- package/dist/chunk-LOWTSOWT.js +199 -0
- package/dist/{chunk-FDZG27IG.js → chunk-LQMOYVQF.js} +57 -32
- package/dist/{chunk-P2OQTJZP.cjs → chunk-MCDW3VKZ.cjs} +17 -6
- package/dist/{chunk-BT2RXFT4.cjs → chunk-MUZQWIMR.cjs} +121 -78
- package/dist/chunk-NRJXZPZR.cjs +351 -0
- package/dist/chunk-O6G3F5L4.js +311 -0
- package/dist/{chunk-3VSHGM54.js → chunk-OLYSSZHP.js} +126 -68
- package/dist/{chunk-A4Z7PLHV.cjs → chunk-PIJV2FHO.cjs} +135 -77
- package/dist/{chunk-FYSXJXNW.js → chunk-PQOBBASY.js} +10 -9
- package/dist/chunk-Q565GDVK.cjs +205 -0
- package/dist/{chunk-FDUQPAQE.cjs → chunk-Q5HLC56A.cjs} +122 -28
- package/dist/chunk-QDCPVI3S.cjs +333 -0
- package/dist/{chunk-ZR4IMROK.js → chunk-QDMFXRPI.js} +122 -28
- package/dist/chunk-QDY56GGO.js +234 -0
- package/dist/{chunk-4KDABJSY.cjs → chunk-QNQSNVCU.cjs} +86 -25
- package/dist/chunk-QYPA77OI.cjs +55 -0
- package/dist/chunk-RAK6CENJ.js +83 -0
- package/dist/{chunk-BW76ENTW.cjs → chunk-RERMZNF3.cjs} +10 -9
- package/dist/chunk-RMGFRAZ2.cjs +270 -0
- package/dist/chunk-RPO7657K.js +228 -0
- package/dist/chunk-STQDKMS5.cjs +288 -0
- package/dist/{chunk-HG6YS4I7.js → chunk-SXLRWYQQ.js} +71 -24
- package/dist/{chunk-SW2HMNCA.cjs → chunk-T4RR6NVU.cjs} +17 -9
- package/dist/{chunk-6SPMHY54.js → chunk-TSL3F2K3.js} +20 -2
- package/dist/{chunk-BNY2NVTL.cjs → chunk-TYZ6L7E6.cjs} +48 -28
- package/dist/{chunk-MOZ52KN6.js → chunk-U3SG2YT2.js} +39 -12
- package/dist/{chunk-POU3W5J3.cjs → chunk-U5YYOOLC.cjs} +13 -6
- package/dist/chunk-U7VEPMCX.cjs +221 -0
- package/dist/chunk-UE4HFGJ6.js +264 -0
- package/dist/chunk-ULTDRMGN.js +1175 -0
- package/dist/{chunk-6HF6UF73.js → chunk-UQI4R32R.js} +368 -113
- package/dist/{chunk-MWEHU7YO.cjs → chunk-VA3JWOAB.cjs} +172 -68
- package/dist/chunk-VQEMMJHC.js +33 -0
- package/dist/{chunk-S2ZGXBUH.cjs → chunk-VVRXNGYL.cjs} +218 -42
- package/dist/{chunk-JMFHL7GN.cjs → chunk-VX6MZO4K.cjs} +100 -22
- package/dist/{chunk-2FOC3D6X.js → chunk-WMZV7PNO.js} +19 -7
- package/dist/{chunk-MYW7LNB2.cjs → chunk-WROF2PVG.cjs} +40 -21
- package/dist/chunk-XZXY3XCL.cjs +105 -0
- package/dist/{chunk-5VOUUQF5.js → chunk-Y22PTPA7.js} +145 -81
- package/dist/chunk-Y2MT6PI6.js +207 -0
- package/dist/chunk-YAYSXZZZ.cjs +82 -0
- package/dist/{chunk-6LN4VVX7.js → chunk-YBGMTQ2V.js} +48 -28
- package/dist/{chunk-TYLDISRK.js → chunk-YKHIIC7M.js} +13 -6
- package/dist/{chunk-3VXGZ3SJ.js → chunk-YPMQC5HX.js} +57 -24
- package/dist/{chunk-UWL6DRZW.cjs → chunk-YUJ7Z6N2.cjs} +74 -27
- package/dist/{chunk-LEMMFFEY.cjs → chunk-ZEYK37VW.cjs} +15 -7
- package/dist/{chunk-ES7AWMNH.cjs → chunk-ZHVR4YPB.cjs} +6 -5
- package/dist/{chunk-MPOO5VPW.cjs → chunk-ZYIE3BH7.cjs} +50 -21
- package/dist/componentThemeTypes-Jt4B5aU8.d.cts +77 -0
- package/dist/componentThemeTypes-Jt4B5aU8.d.ts +77 -0
- package/dist/index.cjs +253 -206
- package/dist/index.d.cts +11 -9
- package/dist/index.d.ts +11 -9
- package/dist/index.js +56 -53
- package/dist/styles.css +1628 -701
- package/dist/{tokens-RYJ3DFTU.css → tokens-CEJVVA3G.css} +10 -0
- package/dist/tokens.css +10 -0
- package/docs/llms/appshell.md +9 -6
- package/docs/llms/autocomplete.md +8 -2
- package/docs/llms/avatar.md +2 -0
- package/docs/llms/badge.md +2 -0
- package/docs/llms/calendar.md +7 -2
- package/docs/llms/card.md +20 -1
- package/docs/llms/cascader.md +27 -5
- package/docs/llms/checkbox.md +13 -0
- package/docs/llms/collapse.md +13 -5
- package/docs/llms/colorpicker.md +4 -3
- package/docs/llms/commandpalette.md +10 -2
- package/docs/llms/contextmenu.md +14 -2
- package/docs/llms/datepicker.md +7 -0
- package/docs/llms/datetimepicker.md +7 -0
- package/docs/llms/drawer.md +20 -4
- package/docs/llms/form.md +5 -2
- package/docs/llms/icon.md +25 -1
- package/docs/llms/image.md +3 -3
- package/docs/llms/list.md +11 -0
- package/docs/llms/message.md +31 -8
- package/docs/llms/modal.md +20 -8
- package/docs/llms/pagination.md +12 -4
- package/docs/llms/popover.md +11 -1
- package/docs/llms/progress.md +1 -0
- package/docs/llms/radio.md +13 -0
- package/docs/llms/select.md +29 -2
- package/docs/llms/sidebar.md +24 -0
- package/docs/llms/slider.md +5 -2
- package/docs/llms/splitter.md +5 -2
- package/docs/llms/switch.md +13 -0
- package/docs/llms/table.md +7 -8
- package/docs/llms/theme.md +83 -28
- package/docs/llms/themepanel.md +1 -0
- package/docs/llms/titlebar.md +1 -0
- package/docs/llms/tooltip.md +7 -2
- package/docs/llms/typography.md +27 -3
- package/docs/llms/windowcontrols.md +11 -3
- package/docs/llms.md +2 -2
- package/package.json +212 -2
- package/dist/Avatar-TNPOHVY5.css +0 -40
- package/dist/Badge-DPGLV3D3.css +0 -22
- package/dist/Card-W3ATFUJW.css +0 -77
- package/dist/Cascader-ANEQUPMI.css +0 -150
- package/dist/Checkbox-EDNPZRIP.css +0 -42
- package/dist/List-LSMU5QAC.css +0 -26
- package/dist/Pagination-YSZSNFHG.css +0 -68
- package/dist/Progress-CZNXCYGW.css +0 -80
- package/dist/Slider-UM2IZZBH.css +0 -127
- package/dist/Tag-G2XWAL7A.css +0 -42
- package/dist/chunk-262ED6WQ.cjs +0 -88
- package/dist/chunk-4HJBF4GY.js +0 -218
- package/dist/chunk-4TTRHEGM.cjs +0 -217
- package/dist/chunk-5A6KSYWA.cjs +0 -67
- package/dist/chunk-5MOYKVB7.js +0 -192
- package/dist/chunk-7IO3EOHN.cjs +0 -200
- package/dist/chunk-7QXP6DXC.cjs +0 -129
- package/dist/chunk-AAPZLBHQ.js +0 -165
- package/dist/chunk-ARUPS7JH.js +0 -66
- package/dist/chunk-ATUPFAPZ.cjs +0 -76
- package/dist/chunk-CFZVWY5N.js +0 -178
- package/dist/chunk-DSLYWX4O.js +0 -25
- package/dist/chunk-FQJY4D3T.cjs +0 -47
- package/dist/chunk-GNV6W4BN.js +0 -495
- package/dist/chunk-HBO7ZDEQ.js +0 -29
- package/dist/chunk-I777JTTG.js +0 -150
- package/dist/chunk-IOAOG5L7.js +0 -191
- package/dist/chunk-IOUAZYK2.cjs +0 -116
- package/dist/chunk-IZHH6CVY.js +0 -123
- package/dist/chunk-JFL2WMJZ.js +0 -106
- package/dist/chunk-KMPFESEV.js +0 -41
- package/dist/chunk-KYV75JPQ.js +0 -147
- package/dist/chunk-N7OQNSII.cjs +0 -145
- package/dist/chunk-P64NPZBG.js +0 -113
- package/dist/chunk-PKNRTFNE.cjs +0 -526
- package/dist/chunk-PU7VXDAS.js +0 -64
- package/dist/chunk-RFI5R42I.cjs +0 -138
- package/dist/chunk-RR2BKV65.js +0 -39
- package/dist/chunk-RSSOX4RQ.cjs +0 -240
- package/dist/chunk-RZEFKXL3.cjs +0 -104
- package/dist/chunk-S7IHWY24.js +0 -81
- package/dist/chunk-SOQ56ZI2.cjs +0 -49
- package/dist/chunk-TBNPJPYG.cjs +0 -61
- package/dist/chunk-TJECLLN4.js +0 -344
- package/dist/chunk-ULUD3FED.cjs +0 -138
- package/dist/chunk-VA2I7ZAL.cjs +0 -190
- package/dist/chunk-VS3I5OKA.cjs +0 -214
- package/dist/chunk-WMGMIE2D.js +0 -113
- package/dist/chunk-X7XP6GEI.cjs +0 -63
- package/dist/chunk-XCXUGHDF.js +0 -91
- package/dist/chunk-YAFDVNXT.js +0 -27
- package/dist/chunk-ZD3L4V3H.js +0 -54
- package/dist/chunk-ZTCRD2FL.js +0 -45
package/dist/Typography.d.cts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { IconName } from './Icon.cjs';
|
|
3
|
+
import { f as ComponentThemeProps } from './componentThemeTypes-Jt4B5aU8.cjs';
|
|
3
4
|
import 'react/jsx-runtime';
|
|
4
5
|
|
|
5
6
|
type TypographyType = "secondary" | "success" | "warning" | "danger";
|
|
@@ -7,12 +8,14 @@ interface CopyableConfig {
|
|
|
7
8
|
/** Text to copy. Defaults to the rendered children string. */
|
|
8
9
|
text?: string;
|
|
9
10
|
/** Fired after a successful copy. */
|
|
10
|
-
onCopy?: (event: React.MouseEvent<
|
|
11
|
+
onCopy?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
12
|
+
/** 复制失败时触发,接收浏览器抛出的错误。 */
|
|
13
|
+
onCopyError?: (error: unknown) => void;
|
|
11
14
|
/** Custom icons `[default, copied]`. */
|
|
12
15
|
icon?: [React.ReactNode, React.ReactNode];
|
|
13
16
|
/** Custom tooltip text `[default, copied]`. Pass `false` to disable. */
|
|
14
17
|
tooltips?: [React.ReactNode, React.ReactNode] | false;
|
|
15
|
-
/**
|
|
18
|
+
/** 写入剪贴板时使用的文本格式。 */
|
|
16
19
|
format?: "text/plain" | "text/html";
|
|
17
20
|
}
|
|
18
21
|
interface EditableConfig {
|
|
@@ -41,7 +44,7 @@ interface EditableConfig {
|
|
|
41
44
|
icon?: React.ReactNode;
|
|
42
45
|
/** Tooltip text on the trigger icon. Pass `false` to disable. */
|
|
43
46
|
tooltip?: React.ReactNode | false;
|
|
44
|
-
/**
|
|
47
|
+
/** 单行编辑器的确认按钮内容;默认使用勾选图标,传入 `null` 可隐藏。 */
|
|
45
48
|
enterIcon?: React.ReactNode;
|
|
46
49
|
}
|
|
47
50
|
interface EllipsisConfig {
|
|
@@ -58,7 +61,7 @@ interface EllipsisConfig {
|
|
|
58
61
|
/** Optional suffix that should always remain visible (e.g. an em-dash author). */
|
|
59
62
|
suffix?: string;
|
|
60
63
|
}
|
|
61
|
-
interface BaseTypographyProps {
|
|
64
|
+
interface BaseTypographyProps extends ComponentThemeProps {
|
|
62
65
|
/** Semantic color. */
|
|
63
66
|
type?: TypographyType;
|
|
64
67
|
/** Render disabled (muted + not selectable). */
|
|
@@ -90,38 +93,18 @@ interface BaseTypographyProps {
|
|
|
90
93
|
children?: React.ReactNode;
|
|
91
94
|
}
|
|
92
95
|
type TitleLevel = 1 | 2 | 3 | 4 | 5;
|
|
93
|
-
interface TitleProps extends BaseTypographyProps {
|
|
96
|
+
interface TitleProps extends BaseTypographyProps, Omit<React.HTMLAttributes<HTMLHeadingElement>, keyof BaseTypographyProps> {
|
|
94
97
|
/** Heading level — 1..5. Defaults to 1. */
|
|
95
98
|
level?: TitleLevel;
|
|
96
99
|
}
|
|
97
|
-
/**
|
|
98
|
-
* `Typography.Title` — semantic heading.
|
|
99
|
-
*
|
|
100
|
-
* @example
|
|
101
|
-
* <Title level={2} copyable>章节标题</Title>
|
|
102
|
-
*/
|
|
103
100
|
declare const Title: React.ForwardRefExoticComponent<TitleProps & React.RefAttributes<HTMLElement>>;
|
|
104
|
-
interface TextProps extends BaseTypographyProps {
|
|
101
|
+
interface TextProps extends BaseTypographyProps, Omit<React.HTMLAttributes<HTMLElement>, keyof BaseTypographyProps> {
|
|
105
102
|
/** Force the rendered tag (default `<span>`). */
|
|
106
103
|
as?: keyof JSX.IntrinsicElements;
|
|
107
104
|
}
|
|
108
|
-
/**
|
|
109
|
-
* `Typography.Text` — inline text with semantic / decorative variants.
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* <Text type="success" strong>成功</Text>
|
|
113
|
-
* <Text code>npm install</Text>
|
|
114
|
-
* <Text copyable>可复制内容</Text>
|
|
115
|
-
*/
|
|
116
105
|
declare const Text: React.ForwardRefExoticComponent<TextProps & React.RefAttributes<HTMLElement>>;
|
|
117
|
-
interface ParagraphProps extends BaseTypographyProps {
|
|
106
|
+
interface ParagraphProps extends BaseTypographyProps, Omit<React.HTMLAttributes<HTMLParagraphElement>, keyof BaseTypographyProps> {
|
|
118
107
|
}
|
|
119
|
-
/**
|
|
120
|
-
* `Typography.Paragraph` — block paragraph with the same decorations as `Text`.
|
|
121
|
-
*
|
|
122
|
-
* @example
|
|
123
|
-
* <Paragraph ellipsis={{ rows: 3, expandable: true }}>{long}</Paragraph>
|
|
124
|
-
*/
|
|
125
108
|
declare const Paragraph: React.ForwardRefExoticComponent<ParagraphProps & React.RefAttributes<HTMLParagraphElement>>;
|
|
126
109
|
interface LinkProps extends BaseTypographyProps, Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof BaseTypographyProps | "type"> {
|
|
127
110
|
href?: string;
|
|
@@ -130,18 +113,11 @@ interface LinkProps extends BaseTypographyProps, Omit<React.AnchorHTMLAttributes
|
|
|
130
113
|
/** Override the external icon. */
|
|
131
114
|
externalIcon?: IconName;
|
|
132
115
|
}
|
|
133
|
-
/**
|
|
134
|
-
* `Typography.Link` — styled `<a>` that participates in the same decoration
|
|
135
|
-
* system as `Text`. Adds a small `arrow` for `external` links.
|
|
136
|
-
*
|
|
137
|
-
* @example
|
|
138
|
-
* <Link href="https://example.com" external>外部链接</Link>
|
|
139
|
-
*/
|
|
140
116
|
declare const Link: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
141
|
-
interface TypographyProps extends React.HTMLAttributes<
|
|
117
|
+
interface TypographyProps extends React.HTMLAttributes<HTMLElement>, ComponentThemeProps {
|
|
142
118
|
children?: React.ReactNode;
|
|
143
119
|
}
|
|
144
|
-
interface TypographyComponent extends React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<
|
|
120
|
+
interface TypographyComponent extends React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLElement>> {
|
|
145
121
|
Title: typeof Title;
|
|
146
122
|
Text: typeof Text;
|
|
147
123
|
Paragraph: typeof Paragraph;
|
package/dist/Typography.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { IconName } from './Icon.js';
|
|
3
|
+
import { f as ComponentThemeProps } from './componentThemeTypes-Jt4B5aU8.js';
|
|
3
4
|
import 'react/jsx-runtime';
|
|
4
5
|
|
|
5
6
|
type TypographyType = "secondary" | "success" | "warning" | "danger";
|
|
@@ -7,12 +8,14 @@ interface CopyableConfig {
|
|
|
7
8
|
/** Text to copy. Defaults to the rendered children string. */
|
|
8
9
|
text?: string;
|
|
9
10
|
/** Fired after a successful copy. */
|
|
10
|
-
onCopy?: (event: React.MouseEvent<
|
|
11
|
+
onCopy?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
12
|
+
/** 复制失败时触发,接收浏览器抛出的错误。 */
|
|
13
|
+
onCopyError?: (error: unknown) => void;
|
|
11
14
|
/** Custom icons `[default, copied]`. */
|
|
12
15
|
icon?: [React.ReactNode, React.ReactNode];
|
|
13
16
|
/** Custom tooltip text `[default, copied]`. Pass `false` to disable. */
|
|
14
17
|
tooltips?: [React.ReactNode, React.ReactNode] | false;
|
|
15
|
-
/**
|
|
18
|
+
/** 写入剪贴板时使用的文本格式。 */
|
|
16
19
|
format?: "text/plain" | "text/html";
|
|
17
20
|
}
|
|
18
21
|
interface EditableConfig {
|
|
@@ -41,7 +44,7 @@ interface EditableConfig {
|
|
|
41
44
|
icon?: React.ReactNode;
|
|
42
45
|
/** Tooltip text on the trigger icon. Pass `false` to disable. */
|
|
43
46
|
tooltip?: React.ReactNode | false;
|
|
44
|
-
/**
|
|
47
|
+
/** 单行编辑器的确认按钮内容;默认使用勾选图标,传入 `null` 可隐藏。 */
|
|
45
48
|
enterIcon?: React.ReactNode;
|
|
46
49
|
}
|
|
47
50
|
interface EllipsisConfig {
|
|
@@ -58,7 +61,7 @@ interface EllipsisConfig {
|
|
|
58
61
|
/** Optional suffix that should always remain visible (e.g. an em-dash author). */
|
|
59
62
|
suffix?: string;
|
|
60
63
|
}
|
|
61
|
-
interface BaseTypographyProps {
|
|
64
|
+
interface BaseTypographyProps extends ComponentThemeProps {
|
|
62
65
|
/** Semantic color. */
|
|
63
66
|
type?: TypographyType;
|
|
64
67
|
/** Render disabled (muted + not selectable). */
|
|
@@ -90,38 +93,18 @@ interface BaseTypographyProps {
|
|
|
90
93
|
children?: React.ReactNode;
|
|
91
94
|
}
|
|
92
95
|
type TitleLevel = 1 | 2 | 3 | 4 | 5;
|
|
93
|
-
interface TitleProps extends BaseTypographyProps {
|
|
96
|
+
interface TitleProps extends BaseTypographyProps, Omit<React.HTMLAttributes<HTMLHeadingElement>, keyof BaseTypographyProps> {
|
|
94
97
|
/** Heading level — 1..5. Defaults to 1. */
|
|
95
98
|
level?: TitleLevel;
|
|
96
99
|
}
|
|
97
|
-
/**
|
|
98
|
-
* `Typography.Title` — semantic heading.
|
|
99
|
-
*
|
|
100
|
-
* @example
|
|
101
|
-
* <Title level={2} copyable>章节标题</Title>
|
|
102
|
-
*/
|
|
103
100
|
declare const Title: React.ForwardRefExoticComponent<TitleProps & React.RefAttributes<HTMLElement>>;
|
|
104
|
-
interface TextProps extends BaseTypographyProps {
|
|
101
|
+
interface TextProps extends BaseTypographyProps, Omit<React.HTMLAttributes<HTMLElement>, keyof BaseTypographyProps> {
|
|
105
102
|
/** Force the rendered tag (default `<span>`). */
|
|
106
103
|
as?: keyof JSX.IntrinsicElements;
|
|
107
104
|
}
|
|
108
|
-
/**
|
|
109
|
-
* `Typography.Text` — inline text with semantic / decorative variants.
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* <Text type="success" strong>成功</Text>
|
|
113
|
-
* <Text code>npm install</Text>
|
|
114
|
-
* <Text copyable>可复制内容</Text>
|
|
115
|
-
*/
|
|
116
105
|
declare const Text: React.ForwardRefExoticComponent<TextProps & React.RefAttributes<HTMLElement>>;
|
|
117
|
-
interface ParagraphProps extends BaseTypographyProps {
|
|
106
|
+
interface ParagraphProps extends BaseTypographyProps, Omit<React.HTMLAttributes<HTMLParagraphElement>, keyof BaseTypographyProps> {
|
|
118
107
|
}
|
|
119
|
-
/**
|
|
120
|
-
* `Typography.Paragraph` — block paragraph with the same decorations as `Text`.
|
|
121
|
-
*
|
|
122
|
-
* @example
|
|
123
|
-
* <Paragraph ellipsis={{ rows: 3, expandable: true }}>{long}</Paragraph>
|
|
124
|
-
*/
|
|
125
108
|
declare const Paragraph: React.ForwardRefExoticComponent<ParagraphProps & React.RefAttributes<HTMLParagraphElement>>;
|
|
126
109
|
interface LinkProps extends BaseTypographyProps, Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof BaseTypographyProps | "type"> {
|
|
127
110
|
href?: string;
|
|
@@ -130,18 +113,11 @@ interface LinkProps extends BaseTypographyProps, Omit<React.AnchorHTMLAttributes
|
|
|
130
113
|
/** Override the external icon. */
|
|
131
114
|
externalIcon?: IconName;
|
|
132
115
|
}
|
|
133
|
-
/**
|
|
134
|
-
* `Typography.Link` — styled `<a>` that participates in the same decoration
|
|
135
|
-
* system as `Text`. Adds a small `arrow` for `external` links.
|
|
136
|
-
*
|
|
137
|
-
* @example
|
|
138
|
-
* <Link href="https://example.com" external>外部链接</Link>
|
|
139
|
-
*/
|
|
140
116
|
declare const Link: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
141
|
-
interface TypographyProps extends React.HTMLAttributes<
|
|
117
|
+
interface TypographyProps extends React.HTMLAttributes<HTMLElement>, ComponentThemeProps {
|
|
142
118
|
children?: React.ReactNode;
|
|
143
119
|
}
|
|
144
|
-
interface TypographyComponent extends React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<
|
|
120
|
+
interface TypographyComponent extends React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLElement>> {
|
|
145
121
|
Title: typeof Title;
|
|
146
122
|
Text: typeof Text;
|
|
147
123
|
Paragraph: typeof Paragraph;
|
package/dist/Typography.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
export { Link, Paragraph, Text, Title, Typography } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { Link, Paragraph, Text, Title, Typography } from './chunk-UQI4R32R.js';
|
|
2
|
+
import './chunk-3QXP2ZNP.js';
|
|
3
|
+
import './chunk-2A4GYSN4.js';
|
|
4
|
+
import './chunk-LQMOYVQF.js';
|
|
5
|
+
import './chunk-DRDDQCDD.js';
|
|
6
|
+
import './chunk-ULTDRMGN.js';
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
// src/utils/overlayStack.ts
|
|
4
|
+
var FOCUSABLE_SELECTOR = [
|
|
5
|
+
"a[href]",
|
|
6
|
+
"button:not([disabled])",
|
|
7
|
+
"input:not([disabled])",
|
|
8
|
+
"select:not([disabled])",
|
|
9
|
+
"textarea:not([disabled])",
|
|
10
|
+
"[tabindex]:not([tabindex='-1'])",
|
|
11
|
+
"[contenteditable='true']"
|
|
12
|
+
].join(",");
|
|
13
|
+
var layers = [];
|
|
14
|
+
var listeningDocuments = /* @__PURE__ */ new Map();
|
|
15
|
+
var scrollLocks = /* @__PURE__ */ new Map();
|
|
16
|
+
var nextOverlayZIndex = 1e3;
|
|
17
|
+
var nextLayerOrder = 0;
|
|
18
|
+
var OverlayZIndexContext = React.createContext(void 0);
|
|
19
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
|
|
20
|
+
function OverlayZIndexProvider({ zIndex, children }) {
|
|
21
|
+
return React.createElement(OverlayZIndexContext.Provider, { value: zIndex }, children);
|
|
22
|
+
}
|
|
23
|
+
function useOverlayZIndex(open, explicitZIndex) {
|
|
24
|
+
const parentZIndex = React.useContext(OverlayZIndexContext);
|
|
25
|
+
const allocatedZIndexRef = React.useRef();
|
|
26
|
+
const wasOpenRef = React.useRef(false);
|
|
27
|
+
const hasValidExplicitZIndex = explicitZIndex != null && Number.isFinite(explicitZIndex);
|
|
28
|
+
if (hasValidExplicitZIndex) {
|
|
29
|
+
if (open) nextOverlayZIndex = Math.max(nextOverlayZIndex, explicitZIndex);
|
|
30
|
+
wasOpenRef.current = open;
|
|
31
|
+
return explicitZIndex;
|
|
32
|
+
}
|
|
33
|
+
if (!open) {
|
|
34
|
+
wasOpenRef.current = false;
|
|
35
|
+
return allocatedZIndexRef.current ?? Math.max(nextOverlayZIndex, parentZIndex ?? 0);
|
|
36
|
+
}
|
|
37
|
+
const floor = parentZIndex ?? 0;
|
|
38
|
+
if (!wasOpenRef.current || allocatedZIndexRef.current == null || allocatedZIndexRef.current <= floor) {
|
|
39
|
+
nextOverlayZIndex = Math.max(nextOverlayZIndex, floor) + 10;
|
|
40
|
+
allocatedZIndexRef.current = nextOverlayZIndex;
|
|
41
|
+
}
|
|
42
|
+
wasOpenRef.current = true;
|
|
43
|
+
return allocatedZIndexRef.current;
|
|
44
|
+
}
|
|
45
|
+
function isElementVisibleForFocus(element, container) {
|
|
46
|
+
const view = element.ownerDocument.defaultView;
|
|
47
|
+
if (!view) return true;
|
|
48
|
+
const elementStyle = view.getComputedStyle(element);
|
|
49
|
+
if (elementStyle.visibility === "hidden" || elementStyle.visibility === "collapse") return false;
|
|
50
|
+
let current = element;
|
|
51
|
+
while (current) {
|
|
52
|
+
const style = view.getComputedStyle(current);
|
|
53
|
+
if (style.display === "none" || style.contentVisibility === "hidden") return false;
|
|
54
|
+
if (current === container) break;
|
|
55
|
+
current = current.parentElement;
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
function getFocusableElements(container) {
|
|
60
|
+
return Array.from(container.querySelectorAll(FOCUSABLE_SELECTOR)).filter(
|
|
61
|
+
(element) => element.tabIndex >= 0 && element.getAttribute("aria-hidden") !== "true" && !element.hasAttribute("hidden") && !element.closest("[hidden],[inert]") && isElementVisibleForFocus(element, container)
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
function getLayerZIndex(layer) {
|
|
65
|
+
if (layer.zIndex != null && Number.isFinite(layer.zIndex)) return layer.zIndex;
|
|
66
|
+
const container = layer.containerRef.current;
|
|
67
|
+
if (!container) return 0;
|
|
68
|
+
const inlineValue = container.style.zIndex.trim();
|
|
69
|
+
const computedValue = inlineValue || container.ownerDocument.defaultView?.getComputedStyle(container).zIndex || "";
|
|
70
|
+
const parsed = Number.parseFloat(computedValue);
|
|
71
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
72
|
+
}
|
|
73
|
+
function isOwnedBy(child, parent, documentLayers, visited = /* @__PURE__ */ new Set()) {
|
|
74
|
+
if (child === parent || visited.has(child.id)) return false;
|
|
75
|
+
visited.add(child.id);
|
|
76
|
+
const owner = child.ownerRef?.current;
|
|
77
|
+
const parentContainer = parent.containerRef.current;
|
|
78
|
+
if (!owner || !parentContainer) return false;
|
|
79
|
+
if (parentContainer.contains(owner)) return true;
|
|
80
|
+
return documentLayers.some(
|
|
81
|
+
(candidate) => candidate !== child && candidate !== parent && candidate.containerRef.current?.contains(owner) && isOwnedBy(candidate, parent, documentLayers, visited)
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
function isLayerOwnedByElement(layer, owner, documentLayers, visited = /* @__PURE__ */ new Set()) {
|
|
85
|
+
if (visited.has(layer.id)) return false;
|
|
86
|
+
visited.add(layer.id);
|
|
87
|
+
const layerOwner = layer.ownerRef?.current;
|
|
88
|
+
if (!layerOwner) return false;
|
|
89
|
+
if (layerOwner === owner || owner.contains(layerOwner)) return true;
|
|
90
|
+
return documentLayers.some((candidate) => {
|
|
91
|
+
if (candidate === layer || !candidate.containerRef.current?.contains(layerOwner)) return false;
|
|
92
|
+
return isLayerOwnedByElement(candidate, owner, documentLayers, visited);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
function isTargetWithinOverlayScope(owner, target) {
|
|
96
|
+
const NodeConstructor = owner.ownerDocument.defaultView?.Node;
|
|
97
|
+
if (!target || !NodeConstructor || !(target instanceof NodeConstructor)) return false;
|
|
98
|
+
if (owner.contains(target)) return true;
|
|
99
|
+
const documentLayers = layers.filter((layer) => layer.document === owner.ownerDocument);
|
|
100
|
+
return documentLayers.some(
|
|
101
|
+
(layer) => !!layer.containerRef.current?.contains(target) && isLayerOwnedByElement(layer, owner, documentLayers)
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
function orderDocumentLayers(documentLayers) {
|
|
105
|
+
return [...documentLayers].sort((left, right) => {
|
|
106
|
+
if (isOwnedBy(right, left, documentLayers)) return -1;
|
|
107
|
+
if (isOwnedBy(left, right, documentLayers)) return 1;
|
|
108
|
+
const zIndexDelta = getLayerZIndex(left) - getLayerZIndex(right);
|
|
109
|
+
return zIndexDelta || left.order - right.order;
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function createFocusScope(trappingLayer, documentLayers) {
|
|
113
|
+
const container = trappingLayer.containerRef.current;
|
|
114
|
+
if (!container) return null;
|
|
115
|
+
const containers = [container];
|
|
116
|
+
const focusable = getFocusableElements(container);
|
|
117
|
+
const ownedLayers = orderDocumentLayers(documentLayers).filter((layer) => isOwnedBy(layer, trappingLayer, documentLayers));
|
|
118
|
+
ownedLayers.forEach((layer) => {
|
|
119
|
+
const childContainer = layer.containerRef.current;
|
|
120
|
+
if (!childContainer) return;
|
|
121
|
+
containers.push(childContainer);
|
|
122
|
+
const childFocusable = getFocusableElements(childContainer);
|
|
123
|
+
if (childFocusable.length === 0) return;
|
|
124
|
+
const owner = layer.ownerRef?.current;
|
|
125
|
+
const ownerIndex = owner ? focusable.findIndex((element) => element === owner || owner.contains(element) || element.contains(owner)) : -1;
|
|
126
|
+
focusable.splice(ownerIndex >= 0 ? ownerIndex + 1 : focusable.length, 0, ...childFocusable);
|
|
127
|
+
});
|
|
128
|
+
return { containers, focusable: [...new Set(focusable)] };
|
|
129
|
+
}
|
|
130
|
+
function trapTabKey(event, scope) {
|
|
131
|
+
const { containers, focusable } = scope;
|
|
132
|
+
const container = containers[0];
|
|
133
|
+
if (focusable.length === 0) {
|
|
134
|
+
event.preventDefault();
|
|
135
|
+
container.focus();
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
const active = container.ownerDocument.activeElement;
|
|
139
|
+
const activeInsideScope = containers.some((scopeContainer) => scopeContainer.contains(active));
|
|
140
|
+
const activeIndex = focusable.indexOf(active);
|
|
141
|
+
if (!activeInsideScope || activeIndex < 0) {
|
|
142
|
+
event.preventDefault();
|
|
143
|
+
(event.shiftKey ? focusable[focusable.length - 1] : focusable[0]).focus();
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const direction = event.shiftKey ? -1 : 1;
|
|
147
|
+
const nextIndex = (activeIndex + direction + focusable.length) % focusable.length;
|
|
148
|
+
event.preventDefault();
|
|
149
|
+
focusable[nextIndex].focus();
|
|
150
|
+
}
|
|
151
|
+
function handleDocumentKeyDown(event) {
|
|
152
|
+
const documentLayers = layers.filter((layer) => layer.document === event.currentTarget);
|
|
153
|
+
const orderedLayers = orderDocumentLayers(documentLayers);
|
|
154
|
+
const top = orderedLayers[orderedLayers.length - 1];
|
|
155
|
+
if (!top) return;
|
|
156
|
+
if (event.key === "Escape" && top.onEscape) {
|
|
157
|
+
event.preventDefault();
|
|
158
|
+
event.stopPropagation();
|
|
159
|
+
top.onEscape();
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (event.key === "Tab") {
|
|
163
|
+
const active = top.document.activeElement;
|
|
164
|
+
const trappingLayer = [...orderedLayers].reverse().find((layer) => {
|
|
165
|
+
if (!layer.trapFocus) return false;
|
|
166
|
+
const scope2 = createFocusScope(layer, documentLayers);
|
|
167
|
+
if (!scope2) return false;
|
|
168
|
+
const ownsTop = layer === top || isOwnedBy(top, layer, documentLayers);
|
|
169
|
+
const containsActive = scope2.containers.some((container) => container.contains(active));
|
|
170
|
+
return ownsTop || containsActive;
|
|
171
|
+
});
|
|
172
|
+
const scope = trappingLayer ? createFocusScope(trappingLayer, documentLayers) : null;
|
|
173
|
+
if (scope) trapTabKey(event, scope);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function retainDocumentListener(doc) {
|
|
177
|
+
const count = listeningDocuments.get(doc) ?? 0;
|
|
178
|
+
if (count === 0) doc.addEventListener("keydown", handleDocumentKeyDown, true);
|
|
179
|
+
listeningDocuments.set(doc, count + 1);
|
|
180
|
+
}
|
|
181
|
+
function releaseDocumentListener(doc) {
|
|
182
|
+
const count = listeningDocuments.get(doc) ?? 0;
|
|
183
|
+
if (count <= 1) {
|
|
184
|
+
doc.removeEventListener("keydown", handleDocumentKeyDown, true);
|
|
185
|
+
listeningDocuments.delete(doc);
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
listeningDocuments.set(doc, count - 1);
|
|
189
|
+
}
|
|
190
|
+
function lockDocumentScroll(doc) {
|
|
191
|
+
const existing = scrollLocks.get(doc);
|
|
192
|
+
if (existing) {
|
|
193
|
+
existing.count += 1;
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
const body = doc.body;
|
|
197
|
+
const scrollbarWidth = Math.max(0, doc.defaultView.innerWidth - doc.documentElement.clientWidth);
|
|
198
|
+
const computedPadding = Number.parseFloat(doc.defaultView.getComputedStyle(body).paddingRight) || 0;
|
|
199
|
+
scrollLocks.set(doc, {
|
|
200
|
+
count: 1,
|
|
201
|
+
overflow: body.style.overflow,
|
|
202
|
+
paddingRight: body.style.paddingRight
|
|
203
|
+
});
|
|
204
|
+
body.style.overflow = "hidden";
|
|
205
|
+
if (scrollbarWidth > 0) body.style.paddingRight = `${computedPadding + scrollbarWidth}px`;
|
|
206
|
+
}
|
|
207
|
+
function unlockDocumentScroll(doc) {
|
|
208
|
+
const state = scrollLocks.get(doc);
|
|
209
|
+
if (!state) return;
|
|
210
|
+
state.count -= 1;
|
|
211
|
+
if (state.count > 0) return;
|
|
212
|
+
doc.body.style.overflow = state.overflow;
|
|
213
|
+
doc.body.style.paddingRight = state.paddingRight;
|
|
214
|
+
scrollLocks.delete(doc);
|
|
215
|
+
}
|
|
216
|
+
function useOverlayLayer({
|
|
217
|
+
open,
|
|
218
|
+
containerRef,
|
|
219
|
+
ownerRef,
|
|
220
|
+
zIndex,
|
|
221
|
+
onEscape,
|
|
222
|
+
escapeEnabled = true,
|
|
223
|
+
trapFocus = false,
|
|
224
|
+
autoFocus = false,
|
|
225
|
+
restoreFocus = false,
|
|
226
|
+
lockScroll = false,
|
|
227
|
+
initialFocusRef
|
|
228
|
+
}) {
|
|
229
|
+
const idRef = React.useRef(/* @__PURE__ */ Symbol("lumina-overlay"));
|
|
230
|
+
const entryRef = React.useRef(null);
|
|
231
|
+
const previousFocusRef = React.useRef(null);
|
|
232
|
+
const restoreFocusRef = React.useRef(restoreFocus);
|
|
233
|
+
restoreFocusRef.current = restoreFocus;
|
|
234
|
+
if (entryRef.current) {
|
|
235
|
+
entryRef.current.containerRef = containerRef;
|
|
236
|
+
entryRef.current.ownerRef = ownerRef;
|
|
237
|
+
entryRef.current.zIndex = zIndex;
|
|
238
|
+
entryRef.current.onEscape = escapeEnabled ? onEscape : void 0;
|
|
239
|
+
entryRef.current.trapFocus = trapFocus;
|
|
240
|
+
}
|
|
241
|
+
useIsomorphicLayoutEffect(() => {
|
|
242
|
+
if (!open || typeof document === "undefined") return;
|
|
243
|
+
const container = containerRef.current;
|
|
244
|
+
const doc = container?.ownerDocument ?? document;
|
|
245
|
+
previousFocusRef.current = doc.activeElement;
|
|
246
|
+
const entry = {
|
|
247
|
+
id: idRef.current,
|
|
248
|
+
containerRef,
|
|
249
|
+
ownerRef,
|
|
250
|
+
zIndex,
|
|
251
|
+
onEscape: escapeEnabled ? onEscape : void 0,
|
|
252
|
+
trapFocus,
|
|
253
|
+
document: doc,
|
|
254
|
+
order: ++nextLayerOrder
|
|
255
|
+
};
|
|
256
|
+
entryRef.current = entry;
|
|
257
|
+
layers.push(entry);
|
|
258
|
+
retainDocumentListener(doc);
|
|
259
|
+
const frame = autoFocus ? doc.defaultView?.requestAnimationFrame(() => {
|
|
260
|
+
const currentContainer = containerRef.current;
|
|
261
|
+
if (!currentContainer) return;
|
|
262
|
+
const target = initialFocusRef?.current ?? getFocusableElements(currentContainer)[0] ?? currentContainer;
|
|
263
|
+
target?.focus();
|
|
264
|
+
}) : void 0;
|
|
265
|
+
return () => {
|
|
266
|
+
if (frame != null) doc.defaultView?.cancelAnimationFrame(frame);
|
|
267
|
+
const index = layers.findIndex((layer) => layer.id === entry.id);
|
|
268
|
+
if (index >= 0) layers.splice(index, 1);
|
|
269
|
+
releaseDocumentListener(doc);
|
|
270
|
+
const currentEntry = entryRef.current ?? entry;
|
|
271
|
+
entryRef.current = null;
|
|
272
|
+
if (restoreFocusRef.current) {
|
|
273
|
+
const previous = previousFocusRef.current;
|
|
274
|
+
const owner = currentEntry.ownerRef?.current;
|
|
275
|
+
const ownerTarget = owner ? owner.tabIndex >= 0 ? owner : getFocusableElements(owner)[0] : void 0;
|
|
276
|
+
const closingContainer = currentEntry.containerRef.current ?? container;
|
|
277
|
+
doc.defaultView?.requestAnimationFrame(() => {
|
|
278
|
+
const active = doc.activeElement;
|
|
279
|
+
const focusWasReleased = active == null || active === doc.body || active === doc.documentElement || !active.isConnected || closingContainer?.contains(active);
|
|
280
|
+
const target = ownerTarget?.isConnected ? ownerTarget : previous;
|
|
281
|
+
if (target?.isConnected && focusWasReleased) target.focus();
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
};
|
|
285
|
+
}, [open]);
|
|
286
|
+
useIsomorphicLayoutEffect(() => {
|
|
287
|
+
if (!open || !lockScroll || typeof document === "undefined") return;
|
|
288
|
+
const doc = containerRef.current?.ownerDocument ?? document;
|
|
289
|
+
lockDocumentScroll(doc);
|
|
290
|
+
return () => unlockDocumentScroll(doc);
|
|
291
|
+
}, [open, lockScroll, containerRef]);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
export { OverlayZIndexProvider, isTargetWithinOverlayScope, useOverlayLayer, useOverlayZIndex };
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('./
|
|
3
|
+
var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
|
|
4
|
+
require('./tokens-CEJVVA3G.css');
|
|
4
5
|
require('./shared-NJHRNLRH.css');
|
|
6
|
+
require('./Icon-HJSUVW4O.css');
|
|
5
7
|
var React = require('react');
|
|
6
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
9
|
|
|
@@ -25,7 +27,6 @@ function _interopNamespace(e) {
|
|
|
25
27
|
|
|
26
28
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
27
29
|
|
|
28
|
-
// src/components/Icon/Icon.tsx
|
|
29
30
|
var paths = {
|
|
30
31
|
search: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
31
32
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "7" }),
|
|
@@ -186,11 +187,11 @@ var paths = {
|
|
|
186
187
|
] }),
|
|
187
188
|
checkCircleFilled: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
188
189
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
|
|
189
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "m7.8 12.2 2.7 2.7 5.8-6", stroke: "var(--bg)", strokeWidth: "2.2", fill: "none" })
|
|
190
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "m7.8 12.2 2.7 2.7 5.8-6", stroke: "var(--lmn-icon-bg, var(--bg))", strokeWidth: "2.2", fill: "none" })
|
|
190
191
|
] }),
|
|
191
192
|
clockCircleFilled: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
192
193
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: "currentColor", stroke: "none" }),
|
|
193
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 6.5v5.7l3.6 2.1", stroke: "var(--bg)", strokeWidth: "2.1", fill: "none" })
|
|
194
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 6.5v5.7l3.6 2.1", stroke: "var(--lmn-icon-bg, var(--bg))", strokeWidth: "2.1", fill: "none" })
|
|
194
195
|
] }),
|
|
195
196
|
closeCircle: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
196
197
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10" }),
|
|
@@ -256,27 +257,50 @@ var paths = {
|
|
|
256
257
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "4", cy: "18", r: "1", fill: "currentColor", stroke: "none" })
|
|
257
258
|
] })
|
|
258
259
|
};
|
|
259
|
-
var
|
|
260
|
-
({
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
260
|
+
var IconBase = React__namespace.forwardRef(
|
|
261
|
+
({
|
|
262
|
+
name,
|
|
263
|
+
size = 16,
|
|
264
|
+
stroke = 2,
|
|
265
|
+
title,
|
|
266
|
+
style,
|
|
267
|
+
role,
|
|
268
|
+
"aria-label": ariaLabel,
|
|
269
|
+
"aria-labelledby": ariaLabelledBy,
|
|
270
|
+
focusable,
|
|
271
|
+
...rest
|
|
272
|
+
}, ref) => {
|
|
273
|
+
const semantic = !!(title || ariaLabel || ariaLabelledBy || role);
|
|
274
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
275
|
+
"svg",
|
|
276
|
+
{
|
|
277
|
+
ref,
|
|
278
|
+
width: size,
|
|
279
|
+
height: size,
|
|
280
|
+
viewBox: "0 0 24 24",
|
|
281
|
+
fill: "none",
|
|
282
|
+
stroke: "currentColor",
|
|
283
|
+
strokeWidth: stroke,
|
|
284
|
+
strokeLinecap: "round",
|
|
285
|
+
strokeLinejoin: "round",
|
|
286
|
+
overflow: "visible",
|
|
287
|
+
style,
|
|
288
|
+
role: semantic ? role ?? "img" : void 0,
|
|
289
|
+
"aria-label": ariaLabel,
|
|
290
|
+
"aria-labelledby": ariaLabelledBy,
|
|
291
|
+
"aria-hidden": semantic ? void 0 : true,
|
|
292
|
+
focusable: focusable ?? "false",
|
|
293
|
+
...rest,
|
|
294
|
+
children: [
|
|
295
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("title", { children: title }),
|
|
296
|
+
paths[name]
|
|
297
|
+
]
|
|
298
|
+
}
|
|
299
|
+
);
|
|
300
|
+
}
|
|
278
301
|
);
|
|
279
|
-
|
|
302
|
+
IconBase.displayName = "Icon";
|
|
303
|
+
var Icon = chunkNRJXZPZR_cjs.withComponentTheme(IconBase, "Icon", "icon");
|
|
280
304
|
var isIconName = (value) => typeof value === "string" && Object.prototype.hasOwnProperty.call(paths, value);
|
|
281
305
|
var renderIconSlot = (icon, { size = 14, className } = {}) => {
|
|
282
306
|
if (icon == null || icon === false) return null;
|
|
@@ -333,7 +357,7 @@ var NAMED_ICON_MAP = {
|
|
|
333
357
|
var resolveIconName = (name, fallback = "appstore") => NAMED_ICON_MAP[name] ?? fallback;
|
|
334
358
|
var createNamedIcon = (displayName, defaultSpin = false) => {
|
|
335
359
|
const iconName = NAMED_ICON_MAP[displayName];
|
|
336
|
-
const
|
|
360
|
+
const NamedIconBase = React__namespace.forwardRef(
|
|
337
361
|
({ spin, rotate, size = "1em", className = "", style, ...rest }, ref) => {
|
|
338
362
|
const shouldSpin = spin ?? defaultSpin;
|
|
339
363
|
const transform = rotate ? `${style?.transform ? `${style.transform} ` : ""}rotate(${rotate}deg)` : style?.transform;
|
|
@@ -343,7 +367,7 @@ var createNamedIcon = (displayName, defaultSpin = false) => {
|
|
|
343
367
|
ref,
|
|
344
368
|
role: "img",
|
|
345
369
|
"aria-label": displayName,
|
|
346
|
-
className,
|
|
370
|
+
className: `named-icon ${shouldSpin ? "spinning" : ""} ${className}`.trim(),
|
|
347
371
|
style: {
|
|
348
372
|
display: "inline-flex",
|
|
349
373
|
alignItems: "center",
|
|
@@ -355,19 +379,20 @@ var createNamedIcon = (displayName, defaultSpin = false) => {
|
|
|
355
379
|
},
|
|
356
380
|
...rest,
|
|
357
381
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
358
|
-
|
|
382
|
+
IconBase,
|
|
359
383
|
{
|
|
360
384
|
name: iconName,
|
|
361
|
-
size
|
|
362
|
-
style: shouldSpin ? { animation: "spin 0.9s linear infinite" } : void 0
|
|
385
|
+
size
|
|
363
386
|
}
|
|
364
387
|
)
|
|
365
388
|
}
|
|
366
389
|
);
|
|
367
390
|
}
|
|
368
391
|
);
|
|
369
|
-
|
|
370
|
-
|
|
392
|
+
NamedIconBase.displayName = displayName;
|
|
393
|
+
const NamedIcon = chunkNRJXZPZR_cjs.withComponentTheme(NamedIconBase, "Icon", "icon");
|
|
394
|
+
NamedIcon.displayName = displayName;
|
|
395
|
+
return NamedIcon;
|
|
371
396
|
};
|
|
372
397
|
var AimOutlined = createNamedIcon("AimOutlined");
|
|
373
398
|
var AppstoreOutlined = createNamedIcon("AppstoreOutlined");
|