react-public-components 1.2.2 → 1.2.3
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/ActivityLog/index.cjs +2 -2
- package/dist/ActivityLog/index.js +1 -1
- package/dist/AudioPlayer/index.cjs +3 -3
- package/dist/AudioPlayer/index.js +2 -2
- package/dist/CascadeDrawer/index.cjs +2 -2
- package/dist/CascadeDrawer/index.d.ts +1 -1
- package/dist/CascadeDrawer/index.js +1 -1
- package/dist/CodeSnippet/index.cjs +2 -2
- package/dist/CodeSnippet/index.css +79 -11
- package/dist/CodeSnippet/index.css.map +1 -1
- package/dist/CodeSnippet/index.d.ts +10 -1
- package/dist/CodeSnippet/index.js +1 -1
- package/dist/CollapseBox/index.cjs +3 -3
- package/dist/CollapseBox/index.js +2 -2
- package/dist/ColorPicker/index.cjs +5 -5
- package/dist/ColorPicker/index.js +2 -2
- package/dist/ContextMenu/index.cjs +3 -3
- package/dist/ContextMenu/index.js +2 -2
- package/dist/CopyButton/index.cjs +3 -3
- package/dist/CopyButton/index.js +2 -2
- package/dist/CountUp/index.cjs +2 -2
- package/dist/CountUp/index.js +1 -1
- package/dist/CronPicker/index.cjs +4 -4
- package/dist/CronPicker/index.js +3 -3
- package/dist/DebounceSelect/index.cjs +3 -3
- package/dist/DebounceSelect/index.d.ts +1 -1
- package/dist/DebounceSelect/index.js +2 -2
- package/dist/DiffViewer/index.cjs +2 -2
- package/dist/DiffViewer/index.js +1 -1
- package/dist/DisabledBox/index.cjs +3 -3
- package/dist/DisabledBox/index.d.ts +11 -3
- package/dist/DisabledBox/index.js +2 -2
- package/dist/EnvBadge/index.cjs +2 -2
- package/dist/EnvBadge/index.js +1 -1
- package/dist/FilePreviewer/index.cjs +4 -4
- package/dist/FilePreviewer/index.js +2 -2
- package/dist/Fullscreen/index.cjs +3 -3
- package/dist/Fullscreen/index.js +2 -2
- package/dist/GuidedTour/index.cjs +3 -3
- package/dist/GuidedTour/index.js +2 -2
- package/dist/ImageCropper/index.cjs +3 -3
- package/dist/ImageCropper/index.js +2 -2
- package/dist/InfiniteScrollList/index.cjs +3 -3
- package/dist/InfiniteScrollList/index.js +2 -2
- package/dist/JsonDiffViewer/index.cjs +2 -2
- package/dist/JsonDiffViewer/index.js +1 -1
- package/dist/JsonEditor/index.cjs +4 -4
- package/dist/JsonEditor/index.d.ts +1 -1
- package/dist/JsonEditor/index.js +3 -3
- package/dist/JsonTree/index.cjs +2 -2
- package/dist/JsonTree/index.d.ts +1 -1
- package/dist/JsonTree/index.js +1 -1
- package/dist/KanbanBoard/index.cjs +2 -2
- package/dist/KanbanBoard/index.js +1 -1
- package/dist/KeyValEditor/index.cjs +3 -3
- package/dist/KeyValEditor/index.js +2 -2
- package/dist/Marquee/index.cjs +2 -2
- package/dist/Marquee/index.js +1 -1
- package/dist/MetricCard/index.cjs +3 -3
- package/dist/MetricCard/index.js +2 -2
- package/dist/NumericRangeInput/index.cjs +2 -2
- package/dist/NumericRangeInput/index.js +1 -1
- package/dist/PasswordStrength/index.cjs +4 -4
- package/dist/PasswordStrength/index.js +2 -2
- package/dist/PdfViewer/index.cjs +3 -3
- package/dist/PdfViewer/index.js +2 -2
- package/dist/QrCodeCard/index.cjs +3 -3
- package/dist/QrCodeCard/index.js +2 -2
- package/dist/QuickDateRange/index.cjs +2 -2
- package/dist/QuickDateRange/index.js +1 -1
- package/dist/ScrollTracker/index.cjs +4 -4
- package/dist/ScrollTracker/index.js +1 -1
- package/dist/SegmentedProgress/index.cjs +2 -2
- package/dist/SegmentedProgress/index.js +1 -1
- package/dist/SensitiveMask/index.cjs +5 -5
- package/dist/SensitiveMask/index.js +3 -3
- package/dist/Splitter/index.cjs +3 -3
- package/dist/Splitter/index.js +2 -2
- package/dist/StatusTimeline/index.cjs +2 -2
- package/dist/StatusTimeline/index.js +1 -1
- package/dist/TagInput/index.cjs +3 -3
- package/dist/TagInput/index.js +2 -2
- package/dist/TextEllipsis/index.cjs +4 -4
- package/dist/TextEllipsis/index.js +3 -3
- package/dist/TreeFilterPanel/index.cjs +2 -2
- package/dist/TreeFilterPanel/index.js +1 -1
- package/dist/TreeTransfer/index.cjs +3 -3
- package/dist/TreeTransfer/index.js +2 -2
- package/dist/TrendIndicator/index.cjs +2 -2
- package/dist/TrendIndicator/index.js +1 -1
- package/dist/VideoPlayer/index.cjs +3 -3
- package/dist/VideoPlayer/index.js +2 -2
- package/dist/VirtualList/index.cjs +2 -2
- package/dist/VirtualList/index.js +1 -1
- package/dist/Watermark/index.cjs +2 -2
- package/dist/Watermark/index.js +1 -1
- package/dist/{chunk-FRGH3Q75.cjs → chunk-2DIU347W.cjs} +4 -4
- package/dist/{chunk-FRGH3Q75.cjs.map → chunk-2DIU347W.cjs.map} +1 -1
- package/dist/{chunk-DATPWEQK.cjs → chunk-2MDYHFLH.cjs} +4 -4
- package/dist/{chunk-DATPWEQK.cjs.map → chunk-2MDYHFLH.cjs.map} +1 -1
- package/dist/{chunk-I3HBI52O.js → chunk-2O2A5XYF.js} +3 -11
- package/dist/chunk-2O2A5XYF.js.map +1 -0
- package/dist/{chunk-KUW2ZR2A.cjs → chunk-2UCTE6YN.cjs} +65 -72
- package/dist/chunk-2UCTE6YN.cjs.map +1 -0
- package/dist/{chunk-VTANPKPT.js → chunk-3R3NOO4K.js} +2 -2
- package/dist/chunk-3R3NOO4K.js.map +1 -0
- package/dist/{chunk-AVSFSS7S.cjs → chunk-3UNZXPOT.cjs} +63 -61
- package/dist/chunk-3UNZXPOT.cjs.map +1 -0
- package/dist/{chunk-QI7XQDFZ.cjs → chunk-4BDO5TJH.cjs} +77 -85
- package/dist/chunk-4BDO5TJH.cjs.map +1 -0
- package/dist/{chunk-7JLQOQJZ.cjs → chunk-4OXVTRYV.cjs} +7 -7
- package/dist/{chunk-7JLQOQJZ.cjs.map → chunk-4OXVTRYV.cjs.map} +1 -1
- package/dist/{chunk-UT5UXO44.js → chunk-56TD4LDC.js} +3 -3
- package/dist/chunk-56TD4LDC.js.map +1 -0
- package/dist/{chunk-PBPGBVQQ.cjs → chunk-5E36FGRP.cjs} +2 -2
- package/dist/chunk-5E36FGRP.cjs.map +1 -0
- package/dist/{chunk-PVKBGP6Q.js → chunk-5GLC2HU6.js} +2 -2
- package/dist/{chunk-PVKBGP6Q.js.map → chunk-5GLC2HU6.js.map} +1 -1
- package/dist/{chunk-QKSCFVN2.js → chunk-5HIRDMZH.js} +2 -2
- package/dist/chunk-5HIRDMZH.js.map +1 -0
- package/dist/{chunk-7AKHSOSZ.js → chunk-5R2YXBXM.js} +3 -11
- package/dist/chunk-5R2YXBXM.js.map +1 -0
- package/dist/{chunk-F42Z33L7.cjs → chunk-5V4UAS6I.cjs} +2 -2
- package/dist/chunk-5V4UAS6I.cjs.map +1 -0
- package/dist/{chunk-FWRVCH7T.js → chunk-5VSEUDVY.js} +14 -6
- package/dist/chunk-5VSEUDVY.js.map +1 -0
- package/dist/{chunk-VPHHGQWP.js → chunk-64LBDDZU.js} +3 -3
- package/dist/{chunk-VPHHGQWP.js.map → chunk-64LBDDZU.js.map} +1 -1
- package/dist/{chunk-DNRZCHZG.js → chunk-6FVAQECF.js} +4 -11
- package/dist/chunk-6FVAQECF.js.map +1 -0
- package/dist/{chunk-5G3XVLJF.js → chunk-6IXVUD2M.js} +3 -3
- package/dist/{chunk-5G3XVLJF.js.map → chunk-6IXVUD2M.js.map} +1 -1
- package/dist/{chunk-HTA5EG6X.cjs → chunk-6UKUAYN3.cjs} +5 -5
- package/dist/{chunk-HTA5EG6X.cjs.map → chunk-6UKUAYN3.cjs.map} +1 -1
- package/dist/{chunk-WWL4VEPH.js → chunk-6UTLBY6Y.js} +2 -2
- package/dist/chunk-6UTLBY6Y.js.map +1 -0
- package/dist/{chunk-4MRZVLM6.cjs → chunk-7SIUSULP.cjs} +2 -2
- package/dist/{chunk-4MRZVLM6.cjs.map → chunk-7SIUSULP.cjs.map} +1 -1
- package/dist/{chunk-KBBLTGIU.js → chunk-AFR7V4A4.js} +13 -5
- package/dist/chunk-AFR7V4A4.js.map +1 -0
- package/dist/{chunk-G564WB32.cjs → chunk-AMCCRVHG.cjs} +2 -2
- package/dist/chunk-AMCCRVHG.cjs.map +1 -0
- package/dist/{chunk-PIIJVF5D.cjs → chunk-B7NN6SZD.cjs} +5 -5
- package/dist/chunk-B7NN6SZD.cjs.map +1 -0
- package/dist/{chunk-OYRX4AY6.js → chunk-BFQV5MYD.js} +2 -2
- package/dist/chunk-BFQV5MYD.js.map +1 -0
- package/dist/{chunk-AXHJC7FV.js → chunk-BRHXKRG6.js} +3 -11
- package/dist/chunk-BRHXKRG6.js.map +1 -0
- package/dist/{chunk-IECISUOZ.js → chunk-BZXMWKD2.js} +61 -59
- package/dist/chunk-BZXMWKD2.js.map +1 -0
- package/dist/{chunk-BXFP7EAW.cjs → chunk-CPQLXDBR.cjs} +2 -2
- package/dist/{chunk-BXFP7EAW.cjs.map → chunk-CPQLXDBR.cjs.map} +1 -1
- package/dist/{chunk-62NPVN7T.js → chunk-CT66HLZ5.js} +3 -3
- package/dist/{chunk-62NPVN7T.js.map → chunk-CT66HLZ5.js.map} +1 -1
- package/dist/{chunk-XMBTKO5I.cjs → chunk-DJQEBDEP.cjs} +3 -11
- package/dist/chunk-DJQEBDEP.cjs.map +1 -0
- package/dist/{chunk-LBEGRYTP.js → chunk-EGZSSZBX.js} +77 -85
- package/dist/chunk-EGZSSZBX.js.map +1 -0
- package/dist/{chunk-YJESCN4Y.cjs → chunk-EOGYWPX7.cjs} +14 -6
- package/dist/chunk-EOGYWPX7.cjs.map +1 -0
- package/dist/{chunk-5GCEQDBM.cjs → chunk-EPYD35KB.cjs} +2 -2
- package/dist/chunk-EPYD35KB.cjs.map +1 -0
- package/dist/{chunk-ZSK74QFN.cjs → chunk-EUOBMHFF.cjs} +3 -7
- package/dist/chunk-EUOBMHFF.cjs.map +1 -0
- package/dist/{chunk-4IBF4R3H.cjs → chunk-GMZSBGSL.cjs} +2 -2
- package/dist/{chunk-4IBF4R3H.cjs.map → chunk-GMZSBGSL.cjs.map} +1 -1
- package/dist/{chunk-L7ULSFW6.cjs → chunk-GV2RRQ2S.cjs} +18 -8
- package/dist/chunk-GV2RRQ2S.cjs.map +1 -0
- package/dist/{chunk-YPVRTMX6.js → chunk-HFPWBZID.js} +4 -6
- package/dist/chunk-HFPWBZID.js.map +1 -0
- package/dist/{chunk-HQ65GEM7.js → chunk-HUXPCMNP.js} +3 -3
- package/dist/{chunk-HQ65GEM7.js.map → chunk-HUXPCMNP.js.map} +1 -1
- package/dist/{chunk-PMNTOEXC.js → chunk-HZERTFL6.js} +2 -2
- package/dist/chunk-HZERTFL6.js.map +1 -0
- package/dist/{chunk-DKTB6PKI.js → chunk-IBI6AT5Z.js} +3 -10
- package/dist/chunk-IBI6AT5Z.js.map +1 -0
- package/dist/{chunk-2ORGQ2IY.js → chunk-IBOCJ2ZS.js} +4 -10
- package/dist/chunk-IBOCJ2ZS.js.map +1 -0
- package/dist/{chunk-4VGH44DT.js → chunk-IBYFOFSS.js} +14 -4
- package/dist/chunk-IBYFOFSS.js.map +1 -0
- package/dist/{chunk-TGSKTHTV.js → chunk-ISUXPTLV.js} +28 -18
- package/dist/chunk-ISUXPTLV.js.map +1 -0
- package/dist/{chunk-5WHBZH44.cjs → chunk-JAW7Q2YC.cjs} +5 -5
- package/dist/chunk-JAW7Q2YC.cjs.map +1 -0
- package/dist/{chunk-XB3BT6BU.js → chunk-JECYRODB.js} +3 -3
- package/dist/{chunk-XB3BT6BU.js.map → chunk-JECYRODB.js.map} +1 -1
- package/dist/{chunk-4DUMEO5E.cjs → chunk-JEDW76LI.cjs} +5 -5
- package/dist/chunk-JEDW76LI.cjs.map +1 -0
- package/dist/{chunk-W6BUNUQM.cjs → chunk-KGZNVN7P.cjs} +3 -10
- package/dist/chunk-KGZNVN7P.cjs.map +1 -0
- package/dist/{chunk-4YPT2HUD.cjs → chunk-KXZM322K.cjs} +16 -7
- package/dist/chunk-KXZM322K.cjs.map +1 -0
- package/dist/{chunk-R7CRWOHG.js → chunk-L7X3RVEY.js} +2 -2
- package/dist/{chunk-R7CRWOHG.js.map → chunk-L7X3RVEY.js.map} +1 -1
- package/dist/{chunk-XO6PBAAM.cjs → chunk-LFXMUCEO.cjs} +2 -2
- package/dist/chunk-LFXMUCEO.cjs.map +1 -0
- package/dist/{chunk-AIIXJB34.js → chunk-LLWK5VKA.js} +3 -3
- package/dist/{chunk-AIIXJB34.js.map → chunk-LLWK5VKA.js.map} +1 -1
- package/dist/{chunk-Q4QF6UYX.cjs → chunk-MBOWSS4B.cjs} +28 -18
- package/dist/chunk-MBOWSS4B.cjs.map +1 -0
- package/dist/{chunk-5MQCVYVD.js → chunk-MC3NERDH.js} +16 -6
- package/dist/chunk-MC3NERDH.js.map +1 -0
- package/dist/{chunk-7JRGQL63.js → chunk-MGUNFP6P.js} +13 -4
- package/dist/chunk-MGUNFP6P.js.map +1 -0
- package/dist/{chunk-N7IQ6LYD.cjs → chunk-MGYDOC76.cjs} +15 -5
- package/dist/chunk-MGYDOC76.cjs.map +1 -0
- package/dist/{chunk-WBN5SAY5.js → chunk-MLYM5LAX.js} +2 -2
- package/dist/{chunk-WBN5SAY5.js.map → chunk-MLYM5LAX.js.map} +1 -1
- package/dist/{chunk-4GQ3X7MG.cjs → chunk-MNY5P5EG.cjs} +18 -27
- package/dist/chunk-MNY5P5EG.cjs.map +1 -0
- package/dist/{chunk-RTAQSOVE.cjs → chunk-MY4M7HVW.cjs} +5 -5
- package/dist/{chunk-RTAQSOVE.cjs.map → chunk-MY4M7HVW.cjs.map} +1 -1
- package/dist/{chunk-EIFN6XMU.cjs → chunk-NJIYP6SC.cjs} +11 -5
- package/dist/chunk-NJIYP6SC.cjs.map +1 -0
- package/dist/{chunk-XYJMP23P.cjs → chunk-NUTVJGVT.cjs} +4 -10
- package/dist/chunk-NUTVJGVT.cjs.map +1 -0
- package/dist/{chunk-X7EE5DXL.js → chunk-O2YTJPG4.js} +2 -2
- package/dist/{chunk-X7EE5DXL.js.map → chunk-O2YTJPG4.js.map} +1 -1
- package/dist/{chunk-OJEZ3TKT.js → chunk-OBK6XTUY.js} +2 -2
- package/dist/chunk-OBK6XTUY.js.map +1 -0
- package/dist/{chunk-DFHFXKR5.cjs → chunk-OCN7L2ID.cjs} +5 -12
- package/dist/chunk-OCN7L2ID.cjs.map +1 -0
- package/dist/{chunk-6OKTK3AQ.cjs → chunk-ODNGFJVN.cjs} +3 -11
- package/dist/chunk-ODNGFJVN.cjs.map +1 -0
- package/dist/{chunk-IUR7SPDA.js → chunk-OKCQZO5E.js} +85 -92
- package/dist/chunk-OKCQZO5E.js.map +1 -0
- package/dist/{chunk-GZCNFM6C.js → chunk-PJB7ADK6.js} +8 -17
- package/dist/chunk-PJB7ADK6.js.map +1 -0
- package/dist/{chunk-ZAHKA2V2.js → chunk-PUJJHD22.js} +3 -3
- package/dist/chunk-PUJJHD22.js.map +1 -0
- package/dist/{chunk-U2TTRBES.js → chunk-PUTAVQJZ.js} +3 -3
- package/dist/{chunk-U2TTRBES.js.map → chunk-PUTAVQJZ.js.map} +1 -1
- package/dist/{chunk-NMYXVZQP.cjs → chunk-QNSEJGF6.cjs} +2 -2
- package/dist/chunk-QNSEJGF6.cjs.map +1 -0
- package/dist/{chunk-H5VPBP7U.js → chunk-QZZGBUW4.js} +10 -4
- package/dist/chunk-QZZGBUW4.js.map +1 -0
- package/dist/{chunk-2ARM7X7A.js → chunk-RAF7I4A5.js} +2 -2
- package/dist/chunk-RAF7I4A5.js.map +1 -0
- package/dist/{chunk-SMVAHIBN.cjs → chunk-UCG7ZVK5.cjs} +2 -2
- package/dist/chunk-UCG7ZVK5.cjs.map +1 -0
- package/dist/{chunk-ELI3LL3K.cjs → chunk-V4O325BX.cjs} +14 -6
- package/dist/chunk-V4O325BX.cjs.map +1 -0
- package/dist/{chunk-Z5LFRNNJ.js → chunk-V7IUSCQS.js} +3 -3
- package/dist/{chunk-Z5LFRNNJ.js.map → chunk-V7IUSCQS.js.map} +1 -1
- package/dist/{chunk-AJIIY2QT.cjs → chunk-VF5P7XMC.cjs} +2 -2
- package/dist/chunk-VF5P7XMC.cjs.map +1 -0
- package/dist/{chunk-K5FWY6HB.cjs → chunk-VS2YVJOB.cjs} +5 -5
- package/dist/{chunk-K5FWY6HB.cjs.map → chunk-VS2YVJOB.cjs.map} +1 -1
- package/dist/{chunk-ZGWBLJ6U.cjs → chunk-WDHU3BSM.cjs} +2 -2
- package/dist/{chunk-ZGWBLJ6U.cjs.map → chunk-WDHU3BSM.cjs.map} +1 -1
- package/dist/{chunk-NCNDJTOK.js → chunk-WEGDIRDB.js} +2 -2
- package/dist/chunk-WEGDIRDB.js.map +1 -0
- package/dist/{chunk-NFC2C2TD.js → chunk-WEOMKZC6.js} +65 -72
- package/dist/chunk-WEOMKZC6.js.map +1 -0
- package/dist/{chunk-EJNMH7ND.js → chunk-WN557PFJ.js} +2 -2
- package/dist/chunk-WN557PFJ.js.map +1 -0
- package/dist/{chunk-FBOTWA6O.cjs → chunk-WWXBH57R.cjs} +5 -7
- package/dist/chunk-WWXBH57R.cjs.map +1 -0
- package/dist/{chunk-ZQBEQK2I.cjs → chunk-WZRUBHS3.cjs} +5 -5
- package/dist/{chunk-ZQBEQK2I.cjs.map → chunk-WZRUBHS3.cjs.map} +1 -1
- package/dist/{chunk-X4MEHYWV.js → chunk-XOMV26WS.js} +3 -3
- package/dist/chunk-XOMV26WS.js.map +1 -0
- package/dist/{chunk-5NI6HK5V.js → chunk-XWXFENGT.js} +3 -3
- package/dist/{chunk-5NI6HK5V.js.map → chunk-XWXFENGT.js.map} +1 -1
- package/dist/{chunk-JD4TEUIV.js → chunk-YFHKH6HL.js} +3 -7
- package/dist/chunk-YFHKH6HL.js.map +1 -0
- package/dist/{chunk-GCMI5JGQ.cjs → chunk-ZKM664KC.cjs} +2 -2
- package/dist/chunk-ZKM664KC.cjs.map +1 -0
- package/dist/{chunk-C5B5Y4S2.cjs → chunk-ZLWY7QS2.cjs} +4 -4
- package/dist/{chunk-C5B5Y4S2.cjs.map → chunk-ZLWY7QS2.cjs.map} +1 -1
- package/dist/{chunk-R77VVMV5.cjs → chunk-ZNFW6L3E.cjs} +87 -94
- package/dist/chunk-ZNFW6L3E.cjs.map +1 -0
- package/dist/{chunk-RWZSTG6Q.cjs → chunk-ZUW3XLZQ.cjs} +4 -4
- package/dist/{chunk-RWZSTG6Q.cjs.map → chunk-ZUW3XLZQ.cjs.map} +1 -1
- package/dist/{chunk-24ND5WB7.cjs → chunk-ZVSN7ADO.cjs} +3 -11
- package/dist/chunk-ZVSN7ADO.cjs.map +1 -0
- package/dist/index.cjs +95 -95
- package/dist/index.css +79 -11
- package/dist/index.css.map +1 -1
- package/dist/index.js +45 -45
- package/dist/src/icons.d.ts +11 -11
- package/dist/src/index.d.ts +1 -1
- package/package.json +1 -1
- package/dist/chunk-24ND5WB7.cjs.map +0 -1
- package/dist/chunk-2ARM7X7A.js.map +0 -1
- package/dist/chunk-2ORGQ2IY.js.map +0 -1
- package/dist/chunk-4DUMEO5E.cjs.map +0 -1
- package/dist/chunk-4GQ3X7MG.cjs.map +0 -1
- package/dist/chunk-4VGH44DT.js.map +0 -1
- package/dist/chunk-4YPT2HUD.cjs.map +0 -1
- package/dist/chunk-5GCEQDBM.cjs.map +0 -1
- package/dist/chunk-5MQCVYVD.js.map +0 -1
- package/dist/chunk-5WHBZH44.cjs.map +0 -1
- package/dist/chunk-6OKTK3AQ.cjs.map +0 -1
- package/dist/chunk-7AKHSOSZ.js.map +0 -1
- package/dist/chunk-7JRGQL63.js.map +0 -1
- package/dist/chunk-AJIIY2QT.cjs.map +0 -1
- package/dist/chunk-AVSFSS7S.cjs.map +0 -1
- package/dist/chunk-AXHJC7FV.js.map +0 -1
- package/dist/chunk-DFHFXKR5.cjs.map +0 -1
- package/dist/chunk-DKTB6PKI.js.map +0 -1
- package/dist/chunk-DNRZCHZG.js.map +0 -1
- package/dist/chunk-EIFN6XMU.cjs.map +0 -1
- package/dist/chunk-EJNMH7ND.js.map +0 -1
- package/dist/chunk-ELI3LL3K.cjs.map +0 -1
- package/dist/chunk-F42Z33L7.cjs.map +0 -1
- package/dist/chunk-FBOTWA6O.cjs.map +0 -1
- package/dist/chunk-FWRVCH7T.js.map +0 -1
- package/dist/chunk-G564WB32.cjs.map +0 -1
- package/dist/chunk-GCMI5JGQ.cjs.map +0 -1
- package/dist/chunk-GZCNFM6C.js.map +0 -1
- package/dist/chunk-H5VPBP7U.js.map +0 -1
- package/dist/chunk-I3HBI52O.js.map +0 -1
- package/dist/chunk-IECISUOZ.js.map +0 -1
- package/dist/chunk-IUR7SPDA.js.map +0 -1
- package/dist/chunk-JD4TEUIV.js.map +0 -1
- package/dist/chunk-KBBLTGIU.js.map +0 -1
- package/dist/chunk-KUW2ZR2A.cjs.map +0 -1
- package/dist/chunk-L7ULSFW6.cjs.map +0 -1
- package/dist/chunk-LBEGRYTP.js.map +0 -1
- package/dist/chunk-N7IQ6LYD.cjs.map +0 -1
- package/dist/chunk-NCNDJTOK.js.map +0 -1
- package/dist/chunk-NFC2C2TD.js.map +0 -1
- package/dist/chunk-NMYXVZQP.cjs.map +0 -1
- package/dist/chunk-OJEZ3TKT.js.map +0 -1
- package/dist/chunk-OYRX4AY6.js.map +0 -1
- package/dist/chunk-PBPGBVQQ.cjs.map +0 -1
- package/dist/chunk-PIIJVF5D.cjs.map +0 -1
- package/dist/chunk-PMNTOEXC.js.map +0 -1
- package/dist/chunk-Q4QF6UYX.cjs.map +0 -1
- package/dist/chunk-QI7XQDFZ.cjs.map +0 -1
- package/dist/chunk-QKSCFVN2.js.map +0 -1
- package/dist/chunk-R77VVMV5.cjs.map +0 -1
- package/dist/chunk-SMVAHIBN.cjs.map +0 -1
- package/dist/chunk-TGSKTHTV.js.map +0 -1
- package/dist/chunk-UT5UXO44.js.map +0 -1
- package/dist/chunk-VTANPKPT.js.map +0 -1
- package/dist/chunk-W6BUNUQM.cjs.map +0 -1
- package/dist/chunk-WWL4VEPH.js.map +0 -1
- package/dist/chunk-X4MEHYWV.js.map +0 -1
- package/dist/chunk-XMBTKO5I.cjs.map +0 -1
- package/dist/chunk-XO6PBAAM.cjs.map +0 -1
- package/dist/chunk-XYJMP23P.cjs.map +0 -1
- package/dist/chunk-YJESCN4Y.cjs.map +0 -1
- package/dist/chunk-YPVRTMX6.js.map +0 -1
- package/dist/chunk-ZAHKA2V2.js.map +0 -1
- package/dist/chunk-ZSK74QFN.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../Splitter/index.tsx"],"names":["useRef","useState","useMemo","React","useCallback","useEffect","LeftOutlined","RightOutlined","UpOutlined","DownOutlined","jsx","jsxs"],"mappings":"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","file":"chunk-HTA5EG6X.cjs","sourcesContent":["import { DownOutlined, LeftOutlined, RightOutlined, UpOutlined } from '../src/icons';\nimport type {\n\tCSSProperties,\n\tReactElement,\n\tReactNode,\n\tPointerEvent as ReactPointerEvent,\n} from 'react';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nexport type SplitterSize = number | `${number}%`;\nexport type SplitterOrientation = 'horizontal' | 'vertical';\n\nexport type SplitterCollapsible =\n\t| boolean\n\t| {\n\t\t\tstart?: boolean;\n\t\t\tend?: boolean;\n\t\t\tshowCollapsibleIcon?: boolean | 'auto';\n\t };\n\n/**\n * Splitter.Panel 子面板组件属性\n */\nexport type SplitterPanelProps = {\n\t/** 面板内容节点 */\n\tchildren?: ReactNode;\n\t/** 面板自定义类名 */\n\tclassName?: string;\n\t/**\n\t * 折叠配置:\n\t * - `boolean`: 是否允许两端折叠\n\t * - `Object`: `{ start?: boolean; end?: boolean; showCollapsibleIcon?: boolean | 'auto' }`\n\t */\n\tcollapsible?: SplitterCollapsible;\n\t/** 面板初始默认尺寸(支持数字 px 或百分比字符串如 '40%') */\n\tdefaultSize?: SplitterSize;\n\t/** 折叠/隐藏时是否销毁面板内容节点(可覆盖 Splitter 根容器上的 destroyOnHidden 属性) */\n\tdestroyOnHidden?: boolean;\n\t/** 面板最大允许尺寸限制 */\n\tmax?: SplitterSize;\n\t/** 面板最小允许尺寸限制 */\n\tmin?: SplitterSize;\n\t/** 是否允许通过分隔条拖拽调整大小(默认 true) */\n\tresizable?: boolean;\n\t/** 面板受控尺寸 */\n\tsize?: SplitterSize;\n\t/** 面板自定义 CSS 样式 */\n\tstyle?: CSSProperties;\n};\n\nexport type SplitterSemanticDOM = 'root' | 'panel' | 'dragger';\n/** 语义化 DOM 结构标识 */\nexport type SemanticDOM = SplitterSemanticDOM;\n\nexport type SplitterStyles =\n\t| Partial<Record<SplitterSemanticDOM, CSSProperties>>\n\t| ((info: { props: SplitterProps }) => Partial<Record<SplitterSemanticDOM, CSSProperties>>);\n\nexport type SplitterClassNames =\n\t| Partial<Record<SplitterSemanticDOM, string>>\n\t| ((info: { props: SplitterProps }) => Partial<Record<SplitterSemanticDOM, string>>);\n\n/**\n * Splitter 根容器组件属性\n */\nexport type SplitterProps = {\n\t/** 面板集合(建议传入 Splitter.Panel) */\n\tchildren?: ReactNode;\n\t/** 容器根节点自定义类名 */\n\tclassName?: string;\n\t/** 用于自定义组件内部各语义化结构(root、panel、dragger)的 class,支持对象或函数 */\n\tclassNames?: SplitterClassNames;\n\t/** 折叠/隐藏时是否销毁面板内容节点(默认 false,保留组件状态) */\n\tdestroyOnHidden?: boolean;\n\t/** 拖拽分隔条的宽度/高度(单位 px,默认 4) */\n\tdraggerSize?: number;\n\t/** 是否在拖拽结束时才更新视图(默认 false) */\n\tlazy?: boolean;\n\t/** 面板展开或折叠状态改变时的回调 */\n\tonCollapse?: (collapsed: boolean[], sizes: number[]) => void;\n\t/** 拖拽过程中的实时尺寸变化回调 */\n\tonResize?: (sizes: number[]) => void;\n\t/** 拖拽结束、重置尺寸或折叠完成时的回调 */\n\tonResizeEnd?: (sizes: number[]) => void;\n\t/** 开始拖拽分隔条时的回调 */\n\tonResizeStart?: (sizes: number[]) => void;\n\t/** 双击拖拽条回调 */\n\tonDraggerDoubleClick?: (index: number) => void;\n\t/** 分屏方向:'horizontal'(水平分屏)| 'vertical'(垂直分屏),默认 'horizontal' */\n\torientation?: SplitterOrientation;\n\t/** 容器根节点自定义 CSS 样式 */\n\tstyle?: CSSProperties;\n\t/** 容器根节点及各语义化结构(root、panel、dragger)自定义 CSS 样式,支持对象或函数 */\n\tstyles?: SplitterStyles;\n\t/** 是否垂直分屏(orientation=\"vertical\" 的简写形式) 排列方向,与 orientation 同时存在,以 orientation 优先 */\n\tvertical?: boolean;\n\t/** 自定义拖拽手柄图标/节点 */\n\tdraggerIcon?: ReactNode;\n};\n\nexport interface ResolvedCollapsible {\n\tstart: boolean;\n\tend: boolean;\n\tshowCollapsibleIcon: boolean | 'auto';\n}\n\nconst getCollapsibleConfig = (collapsible?: SplitterCollapsible): ResolvedCollapsible => {\n\tif (!collapsible) {\n\t\treturn { start: false, end: false, showCollapsibleIcon: 'auto' };\n\t}\n\tif (typeof collapsible === 'boolean') {\n\t\treturn {\n\t\t\tstart: collapsible,\n\t\t\tend: collapsible,\n\t\t\tshowCollapsibleIcon: collapsible ? true : 'auto',\n\t\t};\n\t}\n\treturn {\n\t\tstart: collapsible.start ?? false,\n\t\tend: collapsible.end ?? false,\n\t\tshowCollapsibleIcon: collapsible.showCollapsibleIcon ?? true,\n\t};\n};\n\ntype SplitterComponent = React.FC<SplitterProps> & {\n\tPanel: React.FC<SplitterPanelProps>;\n};\n\nconst DEFAULT_DRAGGER_SIZE = 4;\nconst MIN_DRAG_SIZE = 40; // 手动拖拽调整大小时的默认最小限制 (px)\n\nconst SplitterPanel: React.FC<SplitterPanelProps> = ({ children }) => <>{children}</>;\n\nconst isPercentSize = (value: SplitterSize): value is `${number}%` =>\n\ttypeof value === 'string' && value.endsWith('%');\n\nconst parseSize = (value: SplitterSize | undefined, total: number, fallback: number) => {\n\tif (value === undefined) {\n\t\treturn fallback;\n\t}\n\n\tif (isPercentSize(value)) {\n\t\treturn (Number.parseFloat(value) / 100) * total;\n\t}\n\n\treturn Number(value);\n};\n\nconst roundSizes = (sizes: number[]) => sizes.map((size) => Math.round(size));\n\nconst getPointerPosition = (\n\tevent: PointerEvent | ReactPointerEvent,\n\torientation: SplitterOrientation,\n) => (orientation === 'horizontal' ? event.clientX : event.clientY);\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\nconst resolveSemanticStyles = (\n\tstyles: SplitterStyles | undefined,\n\tinfoProps: SplitterProps,\n): Partial<Record<SplitterSemanticDOM, CSSProperties>> => {\n\tif (!styles) {\n\t\treturn {};\n\t}\n\n\tconst resolved = typeof styles === 'function' ? styles({ props: infoProps }) : styles;\n\treturn resolved || {};\n};\n\nconst resolveSemanticClassNames = (\n\tclassNames: SplitterClassNames | undefined,\n\tinfoProps: SplitterProps,\n): Partial<Record<SplitterSemanticDOM, string>> => {\n\tif (!classNames) {\n\t\treturn {};\n\t}\n\n\tconst resolved = typeof classNames === 'function' ? classNames({ props: infoProps }) : classNames;\n\treturn resolved || {};\n};\n\nconst CustomSplitter: SplitterComponent = (props) => {\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\tclassNames,\n\t\tdestroyOnHidden = false,\n\t\tdraggerIcon,\n\t\tdraggerSize = DEFAULT_DRAGGER_SIZE,\n\t\tlazy = false,\n\t\tonResize,\n\t\tonResizeEnd,\n\t\tonResizeStart,\n\t\tonCollapse,\n\t\tonDraggerDoubleClick,\n\t\torientation,\n\t\tstyle,\n\t\tstyles,\n\t\tvertical = false,\n\t} = props;\n\tconst resolvedOrientation = orientation ?? (vertical ? 'vertical' : 'horizontal');\n\tconst rootRef = useRef<HTMLDivElement>(null);\n\tconst sizesRef = useRef<number[]>([]);\n\tconst [containerSize, setContainerSize] = useState(0);\n\tconst [draggingIndex, setDraggingIndex] = useState<number | null>(null);\n\tconst [hoveredIndex, setHoveredIndex] = useState<number | null>(null);\n\tconst [hoveredCollapsePanelIndex, setHoveredCollapsePanelIndex] = useState<number | null>(null);\n\tconst [sizes, setSizes] = useState<number[]>([]);\n\n\tconst semanticStyles = useMemo(() => resolveSemanticStyles(styles, props), [styles, props]);\n\tconst semanticClassNames = useMemo(\n\t\t() => resolveSemanticClassNames(classNames, props),\n\t\t[classNames, props],\n\t);\n\n\tconst panels = useMemo(\n\t\t() =>\n\t\t\tReact.Children.toArray(children).filter(\n\t\t\t\tReact.isValidElement,\n\t\t\t) as ReactElement<SplitterPanelProps>[],\n\t\t[children],\n\t);\n\n\tconst trackSize = Math.max(0, containerSize - Math.max(0, panels.length - 1) * draggerSize);\n\n\tconst getPanelMin = useCallback(\n\t\t(index: number) => parseSize(panels[index]?.props.min, trackSize, 0),\n\t\t[panels, trackSize],\n\t);\n\n\tconst getPanelMax = useCallback(\n\t\t(index: number) => parseSize(panels[index]?.props.max, trackSize, trackSize),\n\t\t[panels, trackSize],\n\t);\n\n\tconst normalizeToTrack = useCallback(\n\t\t(nextSizes: number[]) => {\n\t\t\tif (!trackSize || !nextSizes.length) {\n\t\t\t\treturn nextSizes;\n\t\t\t}\n\n\t\t\tconst normalized = [...nextSizes];\n\t\t\tconst diff = trackSize - normalized.reduce((sum, size) => sum + size, 0);\n\t\t\tconst flexibleIndex = normalized.findIndex((size) => size > 0);\n\t\t\tif (flexibleIndex !== -1) {\n\t\t\t\tnormalized[flexibleIndex] += diff;\n\t\t\t}\n\n\t\t\treturn normalized.map((size, index) => {\n\t\t\t\t// 折叠状态(size <= 1)保持为 0,不受 min 限制干扰\n\t\t\t\tif (size <= 1) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\t// 拖拽过程从 0 拖出时,允许在 0 到 min 之间平滑过渡,不被强行跳变到 min\n\t\t\t\tif (size < getPanelMin(index)) {\n\t\t\t\t\treturn size;\n\t\t\t\t}\n\t\t\t\treturn clamp(size, getPanelMin(index), getPanelMax(index));\n\t\t\t});\n\t\t},\n\t\t[getPanelMax, getPanelMin, trackSize],\n\t);\n\n\tconst buildInitialSizes = useCallback(\n\t\t(previous?: number[]) => {\n\t\t\tif (!trackSize || !panels.length) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tif (previous?.length === panels.length) {\n\t\t\t\tconst previousTotal = previous.reduce((sum, size) => sum + size, 0);\n\t\t\t\tif (previousTotal > 0) {\n\t\t\t\t\treturn normalizeToTrack(previous.map((size) => (size / previousTotal) * trackSize));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst explicitSizes = panels.map((panel) =>\n\t\t\t\tparseSize(panel.props.size ?? panel.props.defaultSize, trackSize, -1),\n\t\t\t);\n\t\t\tconst usedSize = explicitSizes\n\t\t\t\t.filter((size) => size >= 0)\n\t\t\t\t.reduce((sum, size) => sum + size, 0);\n\t\t\tconst unsetCount = explicitSizes.filter((size) => size < 0).length;\n\t\t\tconst fallbackSize = unsetCount ? Math.max(0, (trackSize - usedSize) / unsetCount) : 0;\n\n\t\t\treturn normalizeToTrack(\n\t\t\t\texplicitSizes.map((size, index) =>\n\t\t\t\t\tclamp(size >= 0 ? size : fallbackSize, getPanelMin(index), getPanelMax(index)),\n\t\t\t\t),\n\t\t\t);\n\t\t},\n\t\t[getPanelMax, getPanelMin, normalizeToTrack, panels, trackSize],\n\t);\n\n\tconst updateSizes = useCallback(\n\t\t(nextSizes: number[], notify = true) => {\n\t\t\tconst normalized = normalizeToTrack(nextSizes);\n\t\t\tsetSizes(normalized);\n\t\t\tsizesRef.current = normalized;\n\t\t\tif (notify) {\n\t\t\t\tonResize?.(roundSizes(normalized));\n\t\t\t}\n\t\t},\n\t\t[normalizeToTrack, onResize],\n\t);\n\n\tuseEffect(() => {\n\t\tconst node = rootRef.current;\n\t\tif (!node) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst syncSize = () => {\n\t\t\tsetContainerSize(resolvedOrientation === 'horizontal' ? node.clientWidth : node.clientHeight);\n\t\t};\n\t\tsyncSize();\n\n\t\tconst observer = new ResizeObserver(syncSize);\n\t\tobserver.observe(node);\n\t\treturn () => observer.disconnect();\n\t}, [resolvedOrientation]);\n\n\tuseEffect(() => {\n\t\tsetSizes((previous) => {\n\t\t\tconst nextSizes = buildInitialSizes(previous);\n\t\t\tsizesRef.current = nextSizes;\n\t\t\treturn nextSizes;\n\t\t});\n\t}, [buildInitialSizes]);\n\n\tconst getResizedPair = useCallback(\n\t\t(sourceSizes: number[], index: number, delta: number) => {\n\t\t\tconst nextSizes = [...sourceSizes];\n\t\t\tconst isLeftCollapsed = sourceSizes[index] <= 1;\n\t\t\tconst isRightCollapsed = sourceSizes[index + 1] <= 1;\n\n\t\t\tconst leftMin = isLeftCollapsed ? 0 : getPanelMin(index);\n\t\t\tconst rightMin = isRightCollapsed ? 0 : getPanelMin(index + 1);\n\t\t\tconst leftMax = getPanelMax(index);\n\t\t\tconst rightMax = getPanelMax(index + 1);\n\n\t\t\tconst minDelta = Math.max(leftMin - sourceSizes[index], sourceSizes[index + 1] - rightMax);\n\t\t\tconst maxDelta = Math.min(leftMax - sourceSizes[index], sourceSizes[index + 1] - rightMin);\n\t\t\tconst safeDelta = clamp(delta, minDelta, maxDelta);\n\n\t\t\tnextSizes[index] = sourceSizes[index] + safeDelta;\n\t\t\tnextSizes[index + 1] = sourceSizes[index + 1] - safeDelta;\n\t\t\treturn normalizeToTrack(nextSizes);\n\t\t},\n\t\t[getPanelMax, getPanelMin, normalizeToTrack],\n\t);\n\n\tconst getInitialLockedIndex = useCallback(\n\t\t(sourceSizes: number[], startIndex: number, delta: number) => {\n\t\t\tif (sourceSizes[startIndex] <= 1 && delta < 0 && startIndex > 0) {\n\t\t\t\treturn startIndex - 1;\n\t\t\t}\n\t\t\tif (sourceSizes[startIndex + 1] <= 1 && delta > 0 && startIndex < sourceSizes.length - 2) {\n\t\t\t\treturn startIndex + 1;\n\t\t\t}\n\t\t\treturn startIndex;\n\t\t},\n\t\t[],\n\t);\n\n\tconst resizePair = useCallback(\n\t\t(index: number, delta: number, notify = true) => {\n\t\t\tconst targetIndex = getInitialLockedIndex(sizesRef.current, index, delta);\n\t\t\tupdateSizes(getResizedPair(sizesRef.current, targetIndex, delta), notify);\n\t\t},\n\t\t[getInitialLockedIndex, getResizedPair, updateSizes],\n\t);\n\n\tconst startResize = (index: number, event: ReactPointerEvent<HTMLDivElement>) => {\n\t\tif (panels[index].props.resizable === false || panels[index + 1].props.resizable === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst startPosition = getPointerPosition(event, resolvedOrientation);\n\t\tconst startSizes = [...sizesRef.current];\n\t\tlet latestSizes = startSizes;\n\t\tlet lockedIndex: number | null = null;\n\n\t\tsetDraggingIndex(index);\n\t\tonResizeStart?.(roundSizes(startSizes));\n\n\t\tconst handlePointerMove = (moveEvent: PointerEvent) => {\n\t\t\tconst delta = getPointerPosition(moveEvent, resolvedOrientation) - startPosition;\n\t\t\tif (delta === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (lockedIndex === null) {\n\t\t\t\tlockedIndex = getInitialLockedIndex(startSizes, index, delta);\n\t\t\t}\n\n\t\t\tlatestSizes = getResizedPair(startSizes, lockedIndex, delta);\n\t\t\tif (!lazy) {\n\t\t\t\tupdateSizes(latestSizes, true);\n\t\t\t}\n\t\t};\n\n\t\tconst handlePointerUp = () => {\n\t\t\tdocument.removeEventListener('pointermove', handlePointerMove);\n\t\t\tdocument.removeEventListener('pointerup', handlePointerUp);\n\t\t\tsetDraggingIndex(null);\n\t\t\tif (lazy) {\n\t\t\t\tupdateSizes(latestSizes, true);\n\t\t\t}\n\t\t\tconst currentSizes = roundSizes(sizesRef.current);\n\t\t\tconst currentCollapsed = sizesRef.current.map((size) => size <= 1);\n\t\t\tconst startCollapsed = startSizes.map((size) => size <= 1);\n\t\t\tif (currentCollapsed.some((c, i) => c !== startCollapsed[i])) {\n\t\t\t\tonCollapse?.(currentCollapsed, currentSizes);\n\t\t\t}\n\t\t\tonResizeEnd?.(currentSizes);\n\t\t};\n\n\t\tdocument.addEventListener('pointermove', handlePointerMove);\n\t\tdocument.addEventListener('pointerup', handlePointerUp);\n\t};\n\n\tconst toggleCollapse = (index: number, neighborIndex: number) => {\n\t\tconst nextSizes = [...sizesRef.current];\n\n\t\tif (nextSizes[index] > 1) {\n\t\t\tnextSizes[neighborIndex] += nextSizes[index];\n\t\t\tnextSizes[index] = 0;\n\t\t} else {\n\t\t\tconst initialSizes = buildInitialSizes();\n\t\t\tconst initialSize =\n\t\t\t\tinitialSizes[index] ??\n\t\t\t\tparseSize(panels[index].props.defaultSize, trackSize, trackSize / panels.length);\n\t\t\tconst restoredSize = clamp(initialSize, getPanelMin(index), getPanelMax(index));\n\t\t\tnextSizes[index] = restoredSize;\n\t\t\tnextSizes[neighborIndex] = Math.max(0, nextSizes[neighborIndex] - nextSizes[index]);\n\t\t}\n\n\t\tupdateSizes(nextSizes);\n\t\tconst currentSizes = roundSizes(sizesRef.current);\n\t\tconst currentCollapsed = sizesRef.current.map((size) => size <= 1);\n\t\tonCollapse?.(currentCollapsed, currentSizes);\n\t\tonResizeEnd?.(currentSizes);\n\t};\n\n\tconst resetSizes = () => {\n\t\tconst previousCollapsed = sizesRef.current.map((size) => size <= 1);\n\t\tconst nextSizes = buildInitialSizes();\n\t\tupdateSizes(nextSizes);\n\t\tconst currentSizes = roundSizes(sizesRef.current);\n\t\tconst currentCollapsed = sizesRef.current.map((size) => size <= 1);\n\t\tif (currentCollapsed.some((c, i) => c !== previousCollapsed[i])) {\n\t\t\tonCollapse?.(currentCollapsed, currentSizes);\n\t\t}\n\t\tonResizeEnd?.(currentSizes);\n\t};\n\n\tconst rootStyle: CSSProperties = {\n\t\tborder: '1px solid #f0f0f0',\n\t\tborderRadius: 8,\n\t\tboxSizing: 'border-box',\n\t\tdisplay: 'flex',\n\t\tflexDirection: resolvedOrientation === 'horizontal' ? 'row' : 'column',\n\t\theight: '100%',\n\t\tminHeight: 0,\n\t\toverflow: 'hidden',\n\t\tposition: 'relative',\n\t\twidth: '100%',\n\t\t...semanticStyles.root,\n\t\t...style,\n\t};\n\n\tconst renderCollapseButton = (\n\t\tdraggerIndex: number,\n\t\tpanelIndex: number,\n\t\tdirection: 'start' | 'end',\n\t) => {\n\t\tconst panel = panels[panelIndex];\n\t\tconst config = getCollapsibleConfig(panel?.props.collapsible);\n\t\tconst isAllowed = direction === 'start' ? config.start : config.end;\n\n\t\tif (!isAllowed || config.showCollapsibleIcon === false) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst neighborIndex = direction === 'start' ? panelIndex + 1 : panelIndex - 1;\n\t\tconst isCollapsed = (sizes[panelIndex] ?? 0) <= 1;\n\t\tconst isNeighborCollapsed = (sizes[neighborIndex] ?? 0) <= 1;\n\n\t\t// 自己折叠后隐藏;对侧面板折叠后也隐藏(避免与展开按钮重复/语义冲突)\n\t\tif (isCollapsed || isNeighborCollapsed) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// 展开时箭头指向面板将被折叠到的方向\n\t\tconst Icon =\n\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t? direction === 'start'\n\t\t\t\t\t? LeftOutlined\n\t\t\t\t\t: RightOutlined\n\t\t\t\t: direction === 'start'\n\t\t\t\t\t? UpOutlined\n\t\t\t\t\t: DownOutlined;\n\n\t\tconst isHorizontal = resolvedOrientation === 'horizontal';\n\t\tconst isAlwaysShow = config.showCollapsibleIcon === true;\n\t\tconst isHoveredOrDragging = hoveredIndex === draggerIndex || draggingIndex === draggerIndex;\n\t\tconst opacity = isAlwaysShow || isHoveredOrDragging ? 1 : 0;\n\t\tconst pointerEvents = isAlwaysShow || isHoveredOrDragging ? 'auto' : 'none';\n\n\t\tconst buttonTitle =\n\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t? direction === 'start'\n\t\t\t\t\t? '折叠左侧面板'\n\t\t\t\t\t: '折叠右侧面板'\n\t\t\t\t: direction === 'start'\n\t\t\t\t\t? '折叠上方面板'\n\t\t\t\t\t: '折叠下方面板';\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\taria-label={buttonTitle}\n\t\t\t\ttitle={buttonTitle}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\ttoggleCollapse(panelIndex, neighborIndex);\n\t\t\t\t}}\n\t\t\t\tonDoubleClick={(event) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}}\n\t\t\t\tstyle={{\n\t\t\t\t\talignItems: 'center',\n\t\t\t\t\tbackground: '#fff',\n\t\t\t\t\tborder: '1px solid #d9d9d9',\n\t\t\t\t\tborderRadius: 3,\n\t\t\t\t\tcolor: '#595959',\n\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\theight: isHorizontal ? 40 : 14,\n\t\t\t\t\twidth: isHorizontal ? 14 : 40,\n\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\tpadding: 0,\n\t\t\t\t\tfontSize: 10,\n\t\t\t\t\tboxShadow: '0 1px 2px rgba(0, 0, 0, 0.05)',\n\t\t\t\t\ttransition: 'all 0.2s ease',\n\t\t\t\t\topacity,\n\t\t\t\t\tpointerEvents,\n\t\t\t\t}}\n\t\t\t\ttype=\"button\"\n\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\te.currentTarget.style.background = '#e5e7eb';\n\t\t\t\t\te.currentTarget.style.color = '#1f2937';\n\t\t\t\t\tsetHoveredCollapsePanelIndex(panelIndex);\n\t\t\t\t}}\n\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\te.currentTarget.style.background = '#fff';\n\t\t\t\t\te.currentTarget.style.color = '#595959';\n\t\t\t\t\tsetHoveredCollapsePanelIndex(null);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Icon />\n\t\t\t</button>\n\t\t);\n\t};\n\n\tconst rootClassName = [className, semanticClassNames.root].filter(Boolean).join(' ') || undefined;\n\n\treturn (\n\t\t<div className={rootClassName} ref={rootRef} style={rootStyle}>\n\t\t\t{panels.map((panel, index) => {\n\t\t\t\tconst isHidden = sizes[index] <= 1;\n\t\t\t\tconst isLeftOrTopCollapsed = (sizes[index] ?? 0) <= 1;\n\t\t\t\tconst isRightOrBottomCollapsed = (sizes[index + 1] ?? 0) <= 1;\n\t\t\t\tconst isAnyCollapsed = isLeftOrTopCollapsed || isRightOrBottomCollapsed;\n\t\t\t\tconst panelDestroyOnHidden = panel.props.destroyOnHidden ?? destroyOnHidden;\n\t\t\t\tconst shouldRenderContent = !isHidden || !panelDestroyOnHidden;\n\n\t\t\t\treturn (\n\t\t\t\t\t<React.Fragment key={index}>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t[semanticClassNames.panel, panel.props.className].filter(Boolean).join(' ') ||\n\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tbackground: index % 2 ? '#fff' : '#fafafa',\n\t\t\t\t\t\t\t\tboxSizing: 'border-box',\n\t\t\t\t\t\t\t\tflex: `0 0 ${sizes[index] ?? 0}px`,\n\t\t\t\t\t\t\t\tminHeight: 0,\n\t\t\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\tboxShadow:\n\t\t\t\t\t\t\t\t\thoveredCollapsePanelIndex === index ? 'inset 0 0 0 2px #1677ff' : undefined,\n\t\t\t\t\t\t\t\ttransition:\n\t\t\t\t\t\t\t\t\tdraggingIndex === null ? 'box-shadow 0.2s ease, flex-basis 0.2s ease' : undefined,\n\t\t\t\t\t\t\t\t...semanticStyles.panel,\n\t\t\t\t\t\t\t\t...panel.props.style,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{shouldRenderContent && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tboxSizing: 'border-box',\n\t\t\t\t\t\t\t\t\t\tdisplay: isHidden ? 'none' : 'block',\n\t\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t\t\toverflowX: 'hidden',\n\t\t\t\t\t\t\t\t\t\toverflowY: 'auto',\n\t\t\t\t\t\t\t\t\t\tpadding: (sizes[index] ?? 0) < 32 ? 0 : 16,\n\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{panel.props.children}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{index < panels.length - 1 && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\taria-orientation={resolvedOrientation}\n\t\t\t\t\t\t\t\tclassName={semanticClassNames.dragger}\n\t\t\t\t\t\t\t\tonDoubleClick={() => {\n\t\t\t\t\t\t\t\t\tonDraggerDoubleClick?.(index);\n\t\t\t\t\t\t\t\t\tresetSizes();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\t\t\tconst step = event.shiftKey ? 40 : 10;\n\t\t\t\t\t\t\t\t\tconst directionMap =\n\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t? { ArrowLeft: -step, ArrowRight: step }\n\t\t\t\t\t\t\t\t\t\t\t: { ArrowUp: -step, ArrowDown: step };\n\t\t\t\t\t\t\t\t\tconst delta = directionMap[event.key as keyof typeof directionMap];\n\t\t\t\t\t\t\t\t\tif (delta !== undefined) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tresizePair(index, delta);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonPointerDown={(event) => startResize(index, event)}\n\t\t\t\t\t\t\t\tonPointerEnter={() => setHoveredIndex(index)}\n\t\t\t\t\t\t\t\tonPointerLeave={() => setHoveredIndex(null)}\n\t\t\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t\t\t\ttitle=\"拖动调整大小,双击重置\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\thoveredIndex === index || draggingIndex === index ? '#e6f4ff' : '#f5f5f5',\n\t\t\t\t\t\t\t\t\tboxSizing: 'border-box',\n\t\t\t\t\t\t\t\t\tcursor: resolvedOrientation === 'horizontal' ? 'col-resize' : 'row-resize',\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\tflex: `0 0 ${draggerSize}px`,\n\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\tmarginLeft:\n\t\t\t\t\t\t\t\t\t\tindex > 0 && (sizes[index] ?? 0) <= 1 && resolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t? -draggerSize\n\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\tmarginTop:\n\t\t\t\t\t\t\t\t\t\tindex > 0 && (sizes[index] ?? 0) <= 1 && resolvedOrientation === 'vertical'\n\t\t\t\t\t\t\t\t\t\t\t? -draggerSize\n\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\toutline: 'none',\n\t\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\t\tuserSelect: 'none',\n\t\t\t\t\t\t\t\t\tzIndex: isAnyCollapsed ? 2 : 1,\n\t\t\t\t\t\t\t\t\t...semanticStyles.dragger,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* 呈现拖拽指示线/图标 */}\n\t\t\t\t\t\t\t\t{draggerIcon ? (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\t\t\thoveredIndex === index || draggingIndex === index ? '#1677ff' : '#8c8c8c',\n\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\t\t\tpointerEvents: 'none',\n\t\t\t\t\t\t\t\t\t\t\ttransition: 'color 0.2s ease',\n\t\t\t\t\t\t\t\t\t\t\tuserSelect: 'none',\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{draggerIcon}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\thoveredIndex === index || draggingIndex === index ? '#1677ff' : '#d9d9d9',\n\t\t\t\t\t\t\t\t\t\t\tborderRadius: 2,\n\t\t\t\t\t\t\t\t\t\t\theight: resolvedOrientation === 'horizontal' ? 40 : 2,\n\t\t\t\t\t\t\t\t\t\t\ttransition: 'background 0.2s ease',\n\t\t\t\t\t\t\t\t\t\t\twidth: resolvedOrientation === 'horizontal' ? 2 : 40,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* 未折叠状态下呈现折叠按钮 */}\n\t\t\t\t\t\t\t\t{!isAnyCollapsed && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\t\t\ttop: '50%',\n\t\t\t\t\t\t\t\t\t\t\tleft: '50%',\n\t\t\t\t\t\t\t\t\t\t\ttransform: 'translate(-50%, -50%)',\n\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\tflexDirection: resolvedOrientation === 'horizontal' ? 'row' : 'column',\n\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\t\t\tgap: 2,\n\t\t\t\t\t\t\t\t\t\t\tzIndex: 5,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'flex-end',\n\t\t\t\t\t\t\t\t\t\t\t\tminHeight: resolvedOrientation === 'horizontal' ? undefined : 14,\n\t\t\t\t\t\t\t\t\t\t\t\tminWidth: resolvedOrientation === 'horizontal' ? 14 : undefined,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{renderCollapseButton(index, index, 'start')}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'flex-start',\n\t\t\t\t\t\t\t\t\t\t\t\tminHeight: resolvedOrientation === 'horizontal' ? undefined : 14,\n\t\t\t\t\t\t\t\t\t\t\t\tminWidth: resolvedOrientation === 'horizontal' ? 14 : undefined,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{renderCollapseButton(index, index + 1, 'end')}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* 折叠状态下呈现展开按钮(必须包含 collapsible 允许方可渲染) */}\n\t\t\t\t\t\t\t\t{isAnyCollapsed && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\t\t\ttop:\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? '50%'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isLeftOrTopCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\tbottom:\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isRightOrBottomCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? isLeftOrTopCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t: '50%',\n\t\t\t\t\t\t\t\t\t\t\tright:\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? isRightOrBottomCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t\t\tpointerEvents: 'auto',\n\t\t\t\t\t\t\t\t\t\t\tzIndex: 5,\n\t\t\t\t\t\t\t\t\t\t\ttransform:\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `translate(${isLeftOrTopCollapsed ? '4px' : '-4px'}, -50%)`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: `translate(-50%, ${isLeftOrTopCollapsed ? '4px' : '-4px'})`,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{(() => {\n\t\t\t\t\t\t\t\t\t\t\tconst isStart = isLeftOrTopCollapsed;\n\t\t\t\t\t\t\t\t\t\t\tconst targetIndex = isStart ? index : index + 1;\n\t\t\t\t\t\t\t\t\t\t\tconst targetPanel = panels[targetIndex];\n\t\t\t\t\t\t\t\t\t\t\tconst config = getCollapsibleConfig(targetPanel?.props.collapsible);\n\t\t\t\t\t\t\t\t\t\t\tconst isAllowed = isStart ? config.start : config.end;\n\n\t\t\t\t\t\t\t\t\t\t\tif (!isAllowed || config.showCollapsibleIcon === false) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tconst ExpandIcon =\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? isLeftOrTopCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? RightOutlined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: LeftOutlined\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isLeftOrTopCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? DownOutlined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: UpOutlined;\n\n\t\t\t\t\t\t\t\t\t\t\tconst neighborIndex = isLeftOrTopCollapsed ? index + 1 : index;\n\t\t\t\t\t\t\t\t\t\t\tconst isHorizontal = resolvedOrientation === 'horizontal';\n\n\t\t\t\t\t\t\t\t\t\t\tconst expandTitle =\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? isLeftOrTopCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? '展开左侧面板'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: '展开右侧面板'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isLeftOrTopCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? '展开上方面板'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: '展开下方面板';\n\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-label={expandTitle}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={expandTitle}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleCollapse(targetIndex, neighborIndex);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonDoubleClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackground: '#f3f4f6',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tborder: '1px solid #e5e7eb',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: 3,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: '#595959',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\theight: isHorizontal ? 40 : 14,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: isHorizontal ? 14 : 40,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 10,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tboxShadow: '0 1px 3px rgba(0, 0, 0, 0.08)',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease',\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style.background = '#e5e7eb';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style.color = '#1f2937';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetHoveredCollapsePanelIndex(targetIndex);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style.background = '#f3f4f6';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style.color = '#595959';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetHoveredCollapsePanelIndex(null);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ExpandIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})()}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\nCustomSplitter.Panel = SplitterPanel;\n\nexport default CustomSplitter;\n"]}
|
|
1
|
+
{"version":3,"sources":["../Splitter/index.tsx"],"names":["useRef","useState","useMemo","React","useCallback","useEffect","LeftOutlined","RightOutlined","UpOutlined","DownOutlined","jsx","jsxs"],"mappings":"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","file":"chunk-6UKUAYN3.cjs","sourcesContent":["import { DownOutlined, LeftOutlined, RightOutlined, UpOutlined } from '../src/icons';\nimport type {\n\tCSSProperties,\n\tReactElement,\n\tReactNode,\n\tPointerEvent as ReactPointerEvent,\n} from 'react';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nexport type SplitterSize = number | `${number}%`;\nexport type SplitterOrientation = 'horizontal' | 'vertical';\n\nexport type SplitterCollapsible =\n\t| boolean\n\t| {\n\t\t\tstart?: boolean;\n\t\t\tend?: boolean;\n\t\t\tshowCollapsibleIcon?: boolean | 'auto';\n\t };\n\n/**\n * Splitter.Panel 子面板组件属性\n */\nexport type SplitterPanelProps = {\n\t/** 面板内容节点 */\n\tchildren?: ReactNode;\n\t/** 面板自定义类名 */\n\tclassName?: string;\n\t/**\n\t * 折叠配置:\n\t * - `boolean`: 是否允许两端折叠\n\t * - `Object`: `{ start?: boolean; end?: boolean; showCollapsibleIcon?: boolean | 'auto' }`\n\t */\n\tcollapsible?: SplitterCollapsible;\n\t/** 面板初始默认尺寸(支持数字 px 或百分比字符串如 '40%') */\n\tdefaultSize?: SplitterSize;\n\t/** 折叠/隐藏时是否销毁面板内容节点(可覆盖 Splitter 根容器上的 destroyOnHidden 属性) */\n\tdestroyOnHidden?: boolean;\n\t/** 面板最大允许尺寸限制 */\n\tmax?: SplitterSize;\n\t/** 面板最小允许尺寸限制 */\n\tmin?: SplitterSize;\n\t/** 是否允许通过分隔条拖拽调整大小(默认 true) */\n\tresizable?: boolean;\n\t/** 面板受控尺寸 */\n\tsize?: SplitterSize;\n\t/** 面板自定义 CSS 样式 */\n\tstyle?: CSSProperties;\n};\n\nexport type SplitterSemanticDOM = 'root' | 'panel' | 'dragger';\n/** 语义化 DOM 结构标识 */\nexport type SemanticDOM = SplitterSemanticDOM;\n\nexport type SplitterStyles =\n\t| Partial<Record<SplitterSemanticDOM, CSSProperties>>\n\t| ((info: { props: SplitterProps }) => Partial<Record<SplitterSemanticDOM, CSSProperties>>);\n\nexport type SplitterClassNames =\n\t| Partial<Record<SplitterSemanticDOM, string>>\n\t| ((info: { props: SplitterProps }) => Partial<Record<SplitterSemanticDOM, string>>);\n\n/**\n * Splitter 根容器组件属性\n */\nexport type SplitterProps = {\n\t/** 面板集合(建议传入 Splitter.Panel) */\n\tchildren?: ReactNode;\n\t/** 容器根节点自定义类名 */\n\tclassName?: string;\n\t/** 用于自定义组件内部各语义化结构(root、panel、dragger)的 class,支持对象或函数 */\n\tclassNames?: SplitterClassNames;\n\t/** 折叠/隐藏时是否销毁面板内容节点(默认 false,保留组件状态) */\n\tdestroyOnHidden?: boolean;\n\t/** 拖拽分隔条的宽度/高度(单位 px,默认 4) */\n\tdraggerSize?: number;\n\t/** 是否在拖拽结束时才更新视图(默认 false) */\n\tlazy?: boolean;\n\t/** 面板展开或折叠状态改变时的回调 */\n\tonCollapse?: (collapsed: boolean[], sizes: number[]) => void;\n\t/** 拖拽过程中的实时尺寸变化回调 */\n\tonResize?: (sizes: number[]) => void;\n\t/** 拖拽结束、重置尺寸或折叠完成时的回调 */\n\tonResizeEnd?: (sizes: number[]) => void;\n\t/** 开始拖拽分隔条时的回调 */\n\tonResizeStart?: (sizes: number[]) => void;\n\t/** 双击拖拽条回调 */\n\tonDraggerDoubleClick?: (index: number) => void;\n\t/** 分屏方向:'horizontal'(水平分屏)| 'vertical'(垂直分屏),默认 'horizontal' */\n\torientation?: SplitterOrientation;\n\t/** 容器根节点自定义 CSS 样式 */\n\tstyle?: CSSProperties;\n\t/** 容器根节点及各语义化结构(root、panel、dragger)自定义 CSS 样式,支持对象或函数 */\n\tstyles?: SplitterStyles;\n\t/** 是否垂直分屏(orientation=\"vertical\" 的简写形式) 排列方向,与 orientation 同时存在,以 orientation 优先 */\n\tvertical?: boolean;\n\t/** 自定义拖拽手柄图标/节点 */\n\tdraggerIcon?: ReactNode;\n};\n\nexport interface ResolvedCollapsible {\n\tstart: boolean;\n\tend: boolean;\n\tshowCollapsibleIcon: boolean | 'auto';\n}\n\nconst getCollapsibleConfig = (collapsible?: SplitterCollapsible): ResolvedCollapsible => {\n\tif (!collapsible) {\n\t\treturn { start: false, end: false, showCollapsibleIcon: 'auto' };\n\t}\n\tif (typeof collapsible === 'boolean') {\n\t\treturn {\n\t\t\tstart: collapsible,\n\t\t\tend: collapsible,\n\t\t\tshowCollapsibleIcon: collapsible ? true : 'auto',\n\t\t};\n\t}\n\treturn {\n\t\tstart: collapsible.start ?? false,\n\t\tend: collapsible.end ?? false,\n\t\tshowCollapsibleIcon: collapsible.showCollapsibleIcon ?? true,\n\t};\n};\n\ntype SplitterComponent = React.FC<SplitterProps> & {\n\tPanel: React.FC<SplitterPanelProps>;\n};\n\nconst DEFAULT_DRAGGER_SIZE = 4;\nconst MIN_DRAG_SIZE = 40; // 手动拖拽调整大小时的默认最小限制 (px)\n\nconst SplitterPanel: React.FC<SplitterPanelProps> = ({ children }) => <>{children}</>;\n\nconst isPercentSize = (value: SplitterSize): value is `${number}%` =>\n\ttypeof value === 'string' && value.endsWith('%');\n\nconst parseSize = (value: SplitterSize | undefined, total: number, fallback: number) => {\n\tif (value === undefined) {\n\t\treturn fallback;\n\t}\n\n\tif (isPercentSize(value)) {\n\t\treturn (Number.parseFloat(value) / 100) * total;\n\t}\n\n\treturn Number(value);\n};\n\nconst roundSizes = (sizes: number[]) => sizes.map((size) => Math.round(size));\n\nconst getPointerPosition = (\n\tevent: PointerEvent | ReactPointerEvent,\n\torientation: SplitterOrientation,\n) => (orientation === 'horizontal' ? event.clientX : event.clientY);\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\nconst resolveSemanticStyles = (\n\tstyles: SplitterStyles | undefined,\n\tinfoProps: SplitterProps,\n): Partial<Record<SplitterSemanticDOM, CSSProperties>> => {\n\tif (!styles) {\n\t\treturn {};\n\t}\n\n\tconst resolved = typeof styles === 'function' ? styles({ props: infoProps }) : styles;\n\treturn resolved || {};\n};\n\nconst resolveSemanticClassNames = (\n\tclassNames: SplitterClassNames | undefined,\n\tinfoProps: SplitterProps,\n): Partial<Record<SplitterSemanticDOM, string>> => {\n\tif (!classNames) {\n\t\treturn {};\n\t}\n\n\tconst resolved = typeof classNames === 'function' ? classNames({ props: infoProps }) : classNames;\n\treturn resolved || {};\n};\n\nconst CustomSplitter: SplitterComponent = (props) => {\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\tclassNames,\n\t\tdestroyOnHidden = false,\n\t\tdraggerIcon,\n\t\tdraggerSize = DEFAULT_DRAGGER_SIZE,\n\t\tlazy = false,\n\t\tonResize,\n\t\tonResizeEnd,\n\t\tonResizeStart,\n\t\tonCollapse,\n\t\tonDraggerDoubleClick,\n\t\torientation,\n\t\tstyle,\n\t\tstyles,\n\t\tvertical = false,\n\t} = props;\n\tconst resolvedOrientation = orientation ?? (vertical ? 'vertical' : 'horizontal');\n\tconst rootRef = useRef<HTMLDivElement>(null);\n\tconst sizesRef = useRef<number[]>([]);\n\tconst [containerSize, setContainerSize] = useState(0);\n\tconst [draggingIndex, setDraggingIndex] = useState<number | null>(null);\n\tconst [hoveredIndex, setHoveredIndex] = useState<number | null>(null);\n\tconst [hoveredCollapsePanelIndex, setHoveredCollapsePanelIndex] = useState<number | null>(null);\n\tconst [sizes, setSizes] = useState<number[]>([]);\n\n\tconst semanticStyles = useMemo(() => resolveSemanticStyles(styles, props), [styles, props]);\n\tconst semanticClassNames = useMemo(\n\t\t() => resolveSemanticClassNames(classNames, props),\n\t\t[classNames, props],\n\t);\n\n\tconst panels = useMemo(\n\t\t() =>\n\t\t\tReact.Children.toArray(children).filter(\n\t\t\t\tReact.isValidElement,\n\t\t\t) as ReactElement<SplitterPanelProps>[],\n\t\t[children],\n\t);\n\n\tconst trackSize = Math.max(0, containerSize - Math.max(0, panels.length - 1) * draggerSize);\n\n\tconst getPanelMin = useCallback(\n\t\t(index: number) => parseSize(panels[index]?.props.min, trackSize, 0),\n\t\t[panels, trackSize],\n\t);\n\n\tconst getPanelMax = useCallback(\n\t\t(index: number) => parseSize(panels[index]?.props.max, trackSize, trackSize),\n\t\t[panels, trackSize],\n\t);\n\n\tconst normalizeToTrack = useCallback(\n\t\t(nextSizes: number[]) => {\n\t\t\tif (!trackSize || !nextSizes.length) {\n\t\t\t\treturn nextSizes;\n\t\t\t}\n\n\t\t\tconst normalized = [...nextSizes];\n\t\t\tconst diff = trackSize - normalized.reduce((sum, size) => sum + size, 0);\n\t\t\tconst flexibleIndex = normalized.findIndex((size) => size > 0);\n\t\t\tif (flexibleIndex !== -1) {\n\t\t\t\tnormalized[flexibleIndex] += diff;\n\t\t\t}\n\n\t\t\treturn normalized.map((size, index) => {\n\t\t\t\t// 折叠状态(size <= 1)保持为 0,不受 min 限制干扰\n\t\t\t\tif (size <= 1) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\t// 拖拽过程从 0 拖出时,允许在 0 到 min 之间平滑过渡,不被强行跳变到 min\n\t\t\t\tif (size < getPanelMin(index)) {\n\t\t\t\t\treturn size;\n\t\t\t\t}\n\t\t\t\treturn clamp(size, getPanelMin(index), getPanelMax(index));\n\t\t\t});\n\t\t},\n\t\t[getPanelMax, getPanelMin, trackSize],\n\t);\n\n\tconst buildInitialSizes = useCallback(\n\t\t(previous?: number[]) => {\n\t\t\tif (!trackSize || !panels.length) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tif (previous?.length === panels.length) {\n\t\t\t\tconst previousTotal = previous.reduce((sum, size) => sum + size, 0);\n\t\t\t\tif (previousTotal > 0) {\n\t\t\t\t\treturn normalizeToTrack(previous.map((size) => (size / previousTotal) * trackSize));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst explicitSizes = panels.map((panel) =>\n\t\t\t\tparseSize(panel.props.size ?? panel.props.defaultSize, trackSize, -1),\n\t\t\t);\n\t\t\tconst usedSize = explicitSizes\n\t\t\t\t.filter((size) => size >= 0)\n\t\t\t\t.reduce((sum, size) => sum + size, 0);\n\t\t\tconst unsetCount = explicitSizes.filter((size) => size < 0).length;\n\t\t\tconst fallbackSize = unsetCount ? Math.max(0, (trackSize - usedSize) / unsetCount) : 0;\n\n\t\t\treturn normalizeToTrack(\n\t\t\t\texplicitSizes.map((size, index) =>\n\t\t\t\t\tclamp(size >= 0 ? size : fallbackSize, getPanelMin(index), getPanelMax(index)),\n\t\t\t\t),\n\t\t\t);\n\t\t},\n\t\t[getPanelMax, getPanelMin, normalizeToTrack, panels, trackSize],\n\t);\n\n\tconst updateSizes = useCallback(\n\t\t(nextSizes: number[], notify = true) => {\n\t\t\tconst normalized = normalizeToTrack(nextSizes);\n\t\t\tsetSizes(normalized);\n\t\t\tsizesRef.current = normalized;\n\t\t\tif (notify) {\n\t\t\t\tonResize?.(roundSizes(normalized));\n\t\t\t}\n\t\t},\n\t\t[normalizeToTrack, onResize],\n\t);\n\n\tuseEffect(() => {\n\t\tconst node = rootRef.current;\n\t\tif (!node) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst syncSize = () => {\n\t\t\tsetContainerSize(resolvedOrientation === 'horizontal' ? node.clientWidth : node.clientHeight);\n\t\t};\n\t\tsyncSize();\n\n\t\tconst observer = new ResizeObserver(syncSize);\n\t\tobserver.observe(node);\n\t\treturn () => observer.disconnect();\n\t}, [resolvedOrientation]);\n\n\tuseEffect(() => {\n\t\tsetSizes((previous) => {\n\t\t\tconst nextSizes = buildInitialSizes(previous);\n\t\t\tsizesRef.current = nextSizes;\n\t\t\treturn nextSizes;\n\t\t});\n\t}, [buildInitialSizes]);\n\n\tconst getResizedPair = useCallback(\n\t\t(sourceSizes: number[], index: number, delta: number) => {\n\t\t\tconst nextSizes = [...sourceSizes];\n\t\t\tconst isLeftCollapsed = sourceSizes[index] <= 1;\n\t\t\tconst isRightCollapsed = sourceSizes[index + 1] <= 1;\n\n\t\t\tconst leftMin = isLeftCollapsed ? 0 : getPanelMin(index);\n\t\t\tconst rightMin = isRightCollapsed ? 0 : getPanelMin(index + 1);\n\t\t\tconst leftMax = getPanelMax(index);\n\t\t\tconst rightMax = getPanelMax(index + 1);\n\n\t\t\tconst minDelta = Math.max(leftMin - sourceSizes[index], sourceSizes[index + 1] - rightMax);\n\t\t\tconst maxDelta = Math.min(leftMax - sourceSizes[index], sourceSizes[index + 1] - rightMin);\n\t\t\tconst safeDelta = clamp(delta, minDelta, maxDelta);\n\n\t\t\tnextSizes[index] = sourceSizes[index] + safeDelta;\n\t\t\tnextSizes[index + 1] = sourceSizes[index + 1] - safeDelta;\n\t\t\treturn normalizeToTrack(nextSizes);\n\t\t},\n\t\t[getPanelMax, getPanelMin, normalizeToTrack],\n\t);\n\n\tconst getInitialLockedIndex = useCallback(\n\t\t(sourceSizes: number[], startIndex: number, delta: number) => {\n\t\t\tif (sourceSizes[startIndex] <= 1 && delta < 0 && startIndex > 0) {\n\t\t\t\treturn startIndex - 1;\n\t\t\t}\n\t\t\tif (sourceSizes[startIndex + 1] <= 1 && delta > 0 && startIndex < sourceSizes.length - 2) {\n\t\t\t\treturn startIndex + 1;\n\t\t\t}\n\t\t\treturn startIndex;\n\t\t},\n\t\t[],\n\t);\n\n\tconst resizePair = useCallback(\n\t\t(index: number, delta: number, notify = true) => {\n\t\t\tconst targetIndex = getInitialLockedIndex(sizesRef.current, index, delta);\n\t\t\tupdateSizes(getResizedPair(sizesRef.current, targetIndex, delta), notify);\n\t\t},\n\t\t[getInitialLockedIndex, getResizedPair, updateSizes],\n\t);\n\n\tconst startResize = (index: number, event: ReactPointerEvent<HTMLDivElement>) => {\n\t\tif (panels[index].props.resizable === false || panels[index + 1].props.resizable === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tconst startPosition = getPointerPosition(event, resolvedOrientation);\n\t\tconst startSizes = [...sizesRef.current];\n\t\tlet latestSizes = startSizes;\n\t\tlet lockedIndex: number | null = null;\n\n\t\tsetDraggingIndex(index);\n\t\tonResizeStart?.(roundSizes(startSizes));\n\n\t\tconst handlePointerMove = (moveEvent: PointerEvent) => {\n\t\t\tconst delta = getPointerPosition(moveEvent, resolvedOrientation) - startPosition;\n\t\t\tif (delta === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (lockedIndex === null) {\n\t\t\t\tlockedIndex = getInitialLockedIndex(startSizes, index, delta);\n\t\t\t}\n\n\t\t\tlatestSizes = getResizedPair(startSizes, lockedIndex, delta);\n\t\t\tif (!lazy) {\n\t\t\t\tupdateSizes(latestSizes, true);\n\t\t\t}\n\t\t};\n\n\t\tconst handlePointerUp = () => {\n\t\t\tdocument.removeEventListener('pointermove', handlePointerMove);\n\t\t\tdocument.removeEventListener('pointerup', handlePointerUp);\n\t\t\tsetDraggingIndex(null);\n\t\t\tif (lazy) {\n\t\t\t\tupdateSizes(latestSizes, true);\n\t\t\t}\n\t\t\tconst currentSizes = roundSizes(sizesRef.current);\n\t\t\tconst currentCollapsed = sizesRef.current.map((size) => size <= 1);\n\t\t\tconst startCollapsed = startSizes.map((size) => size <= 1);\n\t\t\tif (currentCollapsed.some((c, i) => c !== startCollapsed[i])) {\n\t\t\t\tonCollapse?.(currentCollapsed, currentSizes);\n\t\t\t}\n\t\t\tonResizeEnd?.(currentSizes);\n\t\t};\n\n\t\tdocument.addEventListener('pointermove', handlePointerMove);\n\t\tdocument.addEventListener('pointerup', handlePointerUp);\n\t};\n\n\tconst toggleCollapse = (index: number, neighborIndex: number) => {\n\t\tconst nextSizes = [...sizesRef.current];\n\n\t\tif (nextSizes[index] > 1) {\n\t\t\tnextSizes[neighborIndex] += nextSizes[index];\n\t\t\tnextSizes[index] = 0;\n\t\t} else {\n\t\t\tconst initialSizes = buildInitialSizes();\n\t\t\tconst initialSize =\n\t\t\t\tinitialSizes[index] ??\n\t\t\t\tparseSize(panels[index].props.defaultSize, trackSize, trackSize / panels.length);\n\t\t\tconst restoredSize = clamp(initialSize, getPanelMin(index), getPanelMax(index));\n\t\t\tnextSizes[index] = restoredSize;\n\t\t\tnextSizes[neighborIndex] = Math.max(0, nextSizes[neighborIndex] - nextSizes[index]);\n\t\t}\n\n\t\tupdateSizes(nextSizes);\n\t\tconst currentSizes = roundSizes(sizesRef.current);\n\t\tconst currentCollapsed = sizesRef.current.map((size) => size <= 1);\n\t\tonCollapse?.(currentCollapsed, currentSizes);\n\t\tonResizeEnd?.(currentSizes);\n\t};\n\n\tconst resetSizes = () => {\n\t\tconst previousCollapsed = sizesRef.current.map((size) => size <= 1);\n\t\tconst nextSizes = buildInitialSizes();\n\t\tupdateSizes(nextSizes);\n\t\tconst currentSizes = roundSizes(sizesRef.current);\n\t\tconst currentCollapsed = sizesRef.current.map((size) => size <= 1);\n\t\tif (currentCollapsed.some((c, i) => c !== previousCollapsed[i])) {\n\t\t\tonCollapse?.(currentCollapsed, currentSizes);\n\t\t}\n\t\tonResizeEnd?.(currentSizes);\n\t};\n\n\tconst rootStyle: CSSProperties = {\n\t\tborder: '1px solid #f0f0f0',\n\t\tborderRadius: 8,\n\t\tboxSizing: 'border-box',\n\t\tdisplay: 'flex',\n\t\tflexDirection: resolvedOrientation === 'horizontal' ? 'row' : 'column',\n\t\theight: '100%',\n\t\tminHeight: 0,\n\t\toverflow: 'hidden',\n\t\tposition: 'relative',\n\t\twidth: '100%',\n\t\t...semanticStyles.root,\n\t\t...style,\n\t};\n\n\tconst renderCollapseButton = (\n\t\tdraggerIndex: number,\n\t\tpanelIndex: number,\n\t\tdirection: 'start' | 'end',\n\t) => {\n\t\tconst panel = panels[panelIndex];\n\t\tconst config = getCollapsibleConfig(panel?.props.collapsible);\n\t\tconst isAllowed = direction === 'start' ? config.start : config.end;\n\n\t\tif (!isAllowed || config.showCollapsibleIcon === false) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst neighborIndex = direction === 'start' ? panelIndex + 1 : panelIndex - 1;\n\t\tconst isCollapsed = (sizes[panelIndex] ?? 0) <= 1;\n\t\tconst isNeighborCollapsed = (sizes[neighborIndex] ?? 0) <= 1;\n\n\t\t// 自己折叠后隐藏;对侧面板折叠后也隐藏(避免与展开按钮重复/语义冲突)\n\t\tif (isCollapsed || isNeighborCollapsed) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// 展开时箭头指向面板将被折叠到的方向\n\t\tconst Icon =\n\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t? direction === 'start'\n\t\t\t\t\t? LeftOutlined\n\t\t\t\t\t: RightOutlined\n\t\t\t\t: direction === 'start'\n\t\t\t\t\t? UpOutlined\n\t\t\t\t\t: DownOutlined;\n\n\t\tconst isHorizontal = resolvedOrientation === 'horizontal';\n\t\tconst isAlwaysShow = config.showCollapsibleIcon === true;\n\t\tconst isHoveredOrDragging = hoveredIndex === draggerIndex || draggingIndex === draggerIndex;\n\t\tconst opacity = isAlwaysShow || isHoveredOrDragging ? 1 : 0;\n\t\tconst pointerEvents = isAlwaysShow || isHoveredOrDragging ? 'auto' : 'none';\n\n\t\tconst buttonTitle =\n\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t? direction === 'start'\n\t\t\t\t\t? '折叠左侧面板'\n\t\t\t\t\t: '折叠右侧面板'\n\t\t\t\t: direction === 'start'\n\t\t\t\t\t? '折叠上方面板'\n\t\t\t\t\t: '折叠下方面板';\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\taria-label={buttonTitle}\n\t\t\t\ttitle={buttonTitle}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\ttoggleCollapse(panelIndex, neighborIndex);\n\t\t\t\t}}\n\t\t\t\tonDoubleClick={(event) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}}\n\t\t\t\tstyle={{\n\t\t\t\t\talignItems: 'center',\n\t\t\t\t\tbackground: '#fff',\n\t\t\t\t\tborder: '1px solid #d9d9d9',\n\t\t\t\t\tborderRadius: 3,\n\t\t\t\t\tcolor: '#595959',\n\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\theight: isHorizontal ? 40 : 14,\n\t\t\t\t\twidth: isHorizontal ? 14 : 40,\n\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\tpadding: 0,\n\t\t\t\t\tfontSize: 10,\n\t\t\t\t\tboxShadow: '0 1px 2px rgba(0, 0, 0, 0.05)',\n\t\t\t\t\ttransition: 'all 0.2s ease',\n\t\t\t\t\topacity,\n\t\t\t\t\tpointerEvents,\n\t\t\t\t}}\n\t\t\t\ttype=\"button\"\n\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\te.currentTarget.style.background = '#e5e7eb';\n\t\t\t\t\te.currentTarget.style.color = '#1f2937';\n\t\t\t\t\tsetHoveredCollapsePanelIndex(panelIndex);\n\t\t\t\t}}\n\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\te.currentTarget.style.background = '#fff';\n\t\t\t\t\te.currentTarget.style.color = '#595959';\n\t\t\t\t\tsetHoveredCollapsePanelIndex(null);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Icon />\n\t\t\t</button>\n\t\t);\n\t};\n\n\tconst rootClassName = [className, semanticClassNames.root].filter(Boolean).join(' ') || undefined;\n\n\treturn (\n\t\t<div className={rootClassName} ref={rootRef} style={rootStyle}>\n\t\t\t{panels.map((panel, index) => {\n\t\t\t\tconst isHidden = sizes[index] <= 1;\n\t\t\t\tconst isLeftOrTopCollapsed = (sizes[index] ?? 0) <= 1;\n\t\t\t\tconst isRightOrBottomCollapsed = (sizes[index + 1] ?? 0) <= 1;\n\t\t\t\tconst isAnyCollapsed = isLeftOrTopCollapsed || isRightOrBottomCollapsed;\n\t\t\t\tconst panelDestroyOnHidden = panel.props.destroyOnHidden ?? destroyOnHidden;\n\t\t\t\tconst shouldRenderContent = !isHidden || !panelDestroyOnHidden;\n\n\t\t\t\treturn (\n\t\t\t\t\t<React.Fragment key={index}>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t[semanticClassNames.panel, panel.props.className].filter(Boolean).join(' ') ||\n\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tbackground: index % 2 ? '#fff' : '#fafafa',\n\t\t\t\t\t\t\t\tboxSizing: 'border-box',\n\t\t\t\t\t\t\t\tflex: `0 0 ${sizes[index] ?? 0}px`,\n\t\t\t\t\t\t\t\tminHeight: 0,\n\t\t\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\tboxShadow:\n\t\t\t\t\t\t\t\t\thoveredCollapsePanelIndex === index ? 'inset 0 0 0 2px #1677ff' : undefined,\n\t\t\t\t\t\t\t\ttransition:\n\t\t\t\t\t\t\t\t\tdraggingIndex === null ? 'box-shadow 0.2s ease, flex-basis 0.2s ease' : undefined,\n\t\t\t\t\t\t\t\t...semanticStyles.panel,\n\t\t\t\t\t\t\t\t...panel.props.style,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{shouldRenderContent && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tboxSizing: 'border-box',\n\t\t\t\t\t\t\t\t\t\tdisplay: isHidden ? 'none' : 'block',\n\t\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t\t\toverflowX: 'hidden',\n\t\t\t\t\t\t\t\t\t\toverflowY: 'auto',\n\t\t\t\t\t\t\t\t\t\tpadding: (sizes[index] ?? 0) < 32 ? 0 : 16,\n\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{panel.props.children}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{index < panels.length - 1 && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\taria-orientation={resolvedOrientation}\n\t\t\t\t\t\t\t\tclassName={semanticClassNames.dragger}\n\t\t\t\t\t\t\t\tonDoubleClick={() => {\n\t\t\t\t\t\t\t\t\tonDraggerDoubleClick?.(index);\n\t\t\t\t\t\t\t\t\tresetSizes();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\t\t\tconst step = event.shiftKey ? 40 : 10;\n\t\t\t\t\t\t\t\t\tconst directionMap =\n\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t? { ArrowLeft: -step, ArrowRight: step }\n\t\t\t\t\t\t\t\t\t\t\t: { ArrowUp: -step, ArrowDown: step };\n\t\t\t\t\t\t\t\t\tconst delta = directionMap[event.key as keyof typeof directionMap];\n\t\t\t\t\t\t\t\t\tif (delta !== undefined) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tresizePair(index, delta);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonPointerDown={(event) => startResize(index, event)}\n\t\t\t\t\t\t\t\tonPointerEnter={() => setHoveredIndex(index)}\n\t\t\t\t\t\t\t\tonPointerLeave={() => setHoveredIndex(null)}\n\t\t\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t\t\t\ttitle=\"拖动调整大小,双击重置\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\thoveredIndex === index || draggingIndex === index ? '#e6f4ff' : '#f5f5f5',\n\t\t\t\t\t\t\t\t\tboxSizing: 'border-box',\n\t\t\t\t\t\t\t\t\tcursor: resolvedOrientation === 'horizontal' ? 'col-resize' : 'row-resize',\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\tflex: `0 0 ${draggerSize}px`,\n\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\tmarginLeft:\n\t\t\t\t\t\t\t\t\t\tindex > 0 && (sizes[index] ?? 0) <= 1 && resolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t? -draggerSize\n\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\tmarginTop:\n\t\t\t\t\t\t\t\t\t\tindex > 0 && (sizes[index] ?? 0) <= 1 && resolvedOrientation === 'vertical'\n\t\t\t\t\t\t\t\t\t\t\t? -draggerSize\n\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\toutline: 'none',\n\t\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\t\tuserSelect: 'none',\n\t\t\t\t\t\t\t\t\tzIndex: isAnyCollapsed ? 2 : 1,\n\t\t\t\t\t\t\t\t\t...semanticStyles.dragger,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* 呈现拖拽指示线/图标 */}\n\t\t\t\t\t\t\t\t{draggerIcon ? (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\t\t\thoveredIndex === index || draggingIndex === index ? '#1677ff' : '#8c8c8c',\n\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\t\t\tpointerEvents: 'none',\n\t\t\t\t\t\t\t\t\t\t\ttransition: 'color 0.2s ease',\n\t\t\t\t\t\t\t\t\t\t\tuserSelect: 'none',\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{draggerIcon}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\thoveredIndex === index || draggingIndex === index ? '#1677ff' : '#d9d9d9',\n\t\t\t\t\t\t\t\t\t\t\tborderRadius: 2,\n\t\t\t\t\t\t\t\t\t\t\theight: resolvedOrientation === 'horizontal' ? 40 : 2,\n\t\t\t\t\t\t\t\t\t\t\ttransition: 'background 0.2s ease',\n\t\t\t\t\t\t\t\t\t\t\twidth: resolvedOrientation === 'horizontal' ? 2 : 40,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* 未折叠状态下呈现折叠按钮 */}\n\t\t\t\t\t\t\t\t{!isAnyCollapsed && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\t\t\ttop: '50%',\n\t\t\t\t\t\t\t\t\t\t\tleft: '50%',\n\t\t\t\t\t\t\t\t\t\t\ttransform: 'translate(-50%, -50%)',\n\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\tflexDirection: resolvedOrientation === 'horizontal' ? 'row' : 'column',\n\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\t\t\tgap: 2,\n\t\t\t\t\t\t\t\t\t\t\tzIndex: 5,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'flex-end',\n\t\t\t\t\t\t\t\t\t\t\t\tminHeight: resolvedOrientation === 'horizontal' ? undefined : 14,\n\t\t\t\t\t\t\t\t\t\t\t\tminWidth: resolvedOrientation === 'horizontal' ? 14 : undefined,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{renderCollapseButton(index, index, 'start')}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'flex-start',\n\t\t\t\t\t\t\t\t\t\t\t\tminHeight: resolvedOrientation === 'horizontal' ? undefined : 14,\n\t\t\t\t\t\t\t\t\t\t\t\tminWidth: resolvedOrientation === 'horizontal' ? 14 : undefined,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{renderCollapseButton(index, index + 1, 'end')}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* 折叠状态下呈现展开按钮(必须包含 collapsible 允许方可渲染) */}\n\t\t\t\t\t\t\t\t{isAnyCollapsed && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\t\t\ttop:\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? '50%'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isLeftOrTopCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\tbottom:\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isRightOrBottomCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? isLeftOrTopCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t: '50%',\n\t\t\t\t\t\t\t\t\t\t\tright:\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? isRightOrBottomCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\t\t\t\t\tpointerEvents: 'auto',\n\t\t\t\t\t\t\t\t\t\t\tzIndex: 5,\n\t\t\t\t\t\t\t\t\t\t\ttransform:\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? `translate(${isLeftOrTopCollapsed ? '4px' : '-4px'}, -50%)`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: `translate(-50%, ${isLeftOrTopCollapsed ? '4px' : '-4px'})`,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{(() => {\n\t\t\t\t\t\t\t\t\t\t\tconst isStart = isLeftOrTopCollapsed;\n\t\t\t\t\t\t\t\t\t\t\tconst targetIndex = isStart ? index : index + 1;\n\t\t\t\t\t\t\t\t\t\t\tconst targetPanel = panels[targetIndex];\n\t\t\t\t\t\t\t\t\t\t\tconst config = getCollapsibleConfig(targetPanel?.props.collapsible);\n\t\t\t\t\t\t\t\t\t\t\tconst isAllowed = isStart ? config.start : config.end;\n\n\t\t\t\t\t\t\t\t\t\t\tif (!isAllowed || config.showCollapsibleIcon === false) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tconst ExpandIcon =\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? isLeftOrTopCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? RightOutlined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: LeftOutlined\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isLeftOrTopCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? DownOutlined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: UpOutlined;\n\n\t\t\t\t\t\t\t\t\t\t\tconst neighborIndex = isLeftOrTopCollapsed ? index + 1 : index;\n\t\t\t\t\t\t\t\t\t\t\tconst isHorizontal = resolvedOrientation === 'horizontal';\n\n\t\t\t\t\t\t\t\t\t\t\tconst expandTitle =\n\t\t\t\t\t\t\t\t\t\t\t\tresolvedOrientation === 'horizontal'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? isLeftOrTopCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? '展开左侧面板'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: '展开右侧面板'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isLeftOrTopCollapsed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? '展开上方面板'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: '展开下方面板';\n\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-label={expandTitle}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitle={expandTitle}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleCollapse(targetIndex, neighborIndex);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonDoubleClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackground: '#f3f4f6',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tborder: '1px solid #e5e7eb',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: 3,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: '#595959',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\theight: isHorizontal ? 40 : 14,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: isHorizontal ? 14 : 40,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 10,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tboxShadow: '0 1px 3px rgba(0, 0, 0, 0.08)',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttransition: 'all 0.2s ease',\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style.background = '#e5e7eb';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style.color = '#1f2937';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetHoveredCollapsePanelIndex(targetIndex);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style.background = '#f3f4f6';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style.color = '#595959';\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetHoveredCollapsePanelIndex(null);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ExpandIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})()}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\nCustomSplitter.Panel = SplitterPanel;\n\nexport default CustomSplitter;\n"]}
|
|
@@ -47,5 +47,5 @@ var CascadeDrawer = ({
|
|
|
47
47
|
var CascadeDrawer_default = CascadeDrawer;
|
|
48
48
|
|
|
49
49
|
export { CascadeDrawer_default };
|
|
50
|
-
//# sourceMappingURL=chunk-
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
50
|
+
//# sourceMappingURL=chunk-6UTLBY6Y.js.map
|
|
51
|
+
//# sourceMappingURL=chunk-6UTLBY6Y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../CascadeDrawer/index.tsx"],"names":[],"mappings":";;;;AAwBA,IAAM,gBAA8C,CAAC;AAAA,EACpD,IAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA,GAAQ,GAAA;AAAA,EACR,SAAA,GAAY,EAAA;AAAA,EACZ;AACD,CAAA,KAAM;AACL,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,IAAI,QAAA,CAAyB,CAAC,SAAS,CAAC,CAAA;AAE9D,EAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAElB,EAAA,MAAM,YAAA,GAAe,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAC,CAAA,IAAK,SAAA;AAEhD,EAAA,MAAM,SAAA,GAAY,CAAC,KAAA,KAAwB;AAC1C,IAAA,QAAA,CAAS,CAAC,IAAA,KAAS,CAAC,GAAG,IAAA,EAAM,KAAK,CAAC,CAAA;AAAA,EACpC,CAAA;AAEA,EAAA,MAAM,KAAA,GAAQ,CAAC,KAAA,KAAkB;AAChC,IAAA,QAAA,CAAS,CAAC,IAAA,KAAS,IAAA,CAAK,MAAM,CAAA,EAAG,KAAA,GAAQ,CAAC,CAAC,CAAA;AAAA,EAC5C,CAAA;AAEA,EAAA,4BACE,KAAA,EAAA,EAAI,SAAA,EAAW,CAAA,mBAAA,EAAsB,SAAS,IAAI,KAAA,EAClD,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EAA0B,OAAA,EAAS,OAAA,EAAS,CAAA;AAAA,yBAE1D,KAAA,EAAA,EAAI,SAAA,EAAU,8BAA6B,KAAA,EAAO,EAAE,OAAM,EAE1D,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,2BAAA,EACd,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,SAAI,SAAA,EAAU,gCAAA,EACb,gBAAM,GAAA,CAAI,CAAC,MAAM,GAAA,KAAQ;AACzB,UAAA,MAAM,MAAA,GAAS,GAAA,KAAQ,KAAA,CAAM,MAAA,GAAS,CAAA;AACtC,UAAA,uBACC,IAAA,CAAC,KAAA,CAAM,QAAA,EAAN,EACC,QAAA,EAAA;AAAA,YAAA,GAAA,GAAM,CAAA,wBAAM,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,KAAA,EAAO,SAAA,IAAa,QAAA,EAAA,GAAA,EAAC,CAAA;AAAA,YAC/C,MAAA,mBACA,GAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,IAAA,CAAK,OAAM,CAAA,mBAElB,GAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACA,IAAA,EAAK,QAAA;AAAA,gBACL,SAAA,EAAU,8BAAA;AAAA,gBACV,OAAA,EAAS,MAAM,KAAA,CAAM,GAAG,CAAA;AAAA,gBAEvB,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA;AACP,WAAA,EAAA,EAXmB,KAAK,EAa1B,CAAA;AAAA,QAEF,CAAC,CAAA,EACF,CAAA;AAAA,wBAEA,GAAA,CAAC,YAAO,IAAA,EAAK,QAAA,EAAS,WAAU,8BAAA,EAA+B,OAAA,EAAS,SAAS,QAAA,EAAA,QAAA,EAEjF;AAAA,OAAA,EACD,CAAA;AAAA,sBAGA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,EAAA,OAAO,YAAA,CAAa,OAAA,KAAY,UAAA,GAC7B,YAAA,CAAa,OAAA,CAAgB,SAAS,CAAA,GACvC,aAAa,OAAA,EACjB;AAAA,KAAA,EACD;AAAA,GAAA,EACD,CAAA;AAEF,CAAA;AAEA,IAAO,qBAAA,GAAQ","file":"chunk-6UTLBY6Y.js","sourcesContent":["import React, { useState, ReactNode, CSSProperties } from 'react';\nimport './index.less';\n\nexport interface CascadeLevel {\n\tid: string;\n\ttitle: string;\n\tcontent: ReactNode | ((pushLevel: (level: CascadeLevel) => void) => ReactNode);\n}\n\nexport interface CascadeDrawerProps {\n\t/** 是否打开抽屉 */\n\topen: boolean;\n\t/** 关闭抽屉回调 */\n\tonClose: () => void;\n\t/** 初始根层级 */\n\trootLevel: CascadeLevel;\n\t/** 抽屉宽度,默认为 440 */\n\twidth?: number | string;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst CascadeDrawer: React.FC<CascadeDrawerProps> = ({\n\topen,\n\tonClose,\n\trootLevel,\n\twidth = 440,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst [stack, setStack] = useState<CascadeLevel[]>([rootLevel]);\n\n\tif (!open) return null;\n\n\tconst currentLevel = stack[stack.length - 1] || rootLevel;\n\n\tconst pushLevel = (level: CascadeLevel) => {\n\t\tsetStack((prev) => [...prev, level]);\n\t};\n\n\tconst popTo = (index: number) => {\n\t\tsetStack((prev) => prev.slice(0, index + 1));\n\t};\n\n\treturn (\n\t\t<div className={`rpc_cascade_drawer ${className}`} style={style}>\n\t\t\t<div className=\"rpc_cascade_drawer_mask\" onClick={onClose} />\n\n\t\t\t<div className=\"rpc_cascade_drawer_content\" style={{ width }}>\n\t\t\t\t{/* 顶部面包屑导航 */}\n\t\t\t\t<div className=\"rpc_cascade_drawer_header\">\n\t\t\t\t\t<div className=\"rpc_cascade_drawer_breadcrumbs\">\n\t\t\t\t\t\t{stack.map((item, idx) => {\n\t\t\t\t\t\t\tconst isLast = idx === stack.length - 1;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<React.Fragment key={item.id}>\n\t\t\t\t\t\t\t\t\t{idx > 0 && <span style={{ color: '#bfbfbf' }}>/</span>}\n\t\t\t\t\t\t\t\t\t{isLast ? (\n\t\t\t\t\t\t\t\t\t\t<span>{item.title}</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"rpc_cascade_drawer_crumb_btn\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => popTo(idx)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<button type=\"button\" className=\"rpc_cascade_drawer_close_btn\" onClick={onClose}>\n\t\t\t\t\t\t✕\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\n\t\t\t\t{/* 当前层级内容 */}\n\t\t\t\t<div className=\"rpc_cascade_drawer_body\">\n\t\t\t\t\t{typeof currentLevel.content === 'function'\n\t\t\t\t\t\t? (currentLevel.content as any)(pushLevel)\n\t\t\t\t\t\t: currentLevel.content}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default CascadeDrawer;\n"]}
|
|
@@ -99,5 +99,5 @@ var NumericRangeInput = ({
|
|
|
99
99
|
var NumericRangeInput_default = NumericRangeInput;
|
|
100
100
|
|
|
101
101
|
exports.NumericRangeInput_default = NumericRangeInput_default;
|
|
102
|
-
//# sourceMappingURL=chunk-
|
|
103
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-7SIUSULP.cjs.map
|
|
103
|
+
//# sourceMappingURL=chunk-7SIUSULP.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../NumericRangeInput/index.tsx"],"names":["useState","jsxs","jsx"],"mappings":";;;;;;AAyCA,IAAM,oBAAsD,CAAC;AAAA,EAC5D,KAAA,EAAO,eAAA;AAAA,EACP,YAAA,GAAe,CAAC,MAAA,EAAW,MAAS,CAAA;AAAA,EACpC,QAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA,GAAO,CAAA;AAAA,EACP,SAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA,GAAY,GAAA;AAAA,EACZ,SAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,SAAA,GAAY,EAAA;AAAA,EACZ;AACD,CAAA,KAAM;AACL,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,eAAqB,YAAY,CAAA;AACvE,EAAA,MAAM,KAAA,GAAQ,eAAA,KAAoB,MAAA,GAAY,eAAA,GAAkB,WAAA;AAEhE,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,eAAkB,KAAK,CAAA;AAEzD,EAAA,MAAM,SAAA,
|
|
1
|
+
{"version":3,"sources":["../NumericRangeInput/index.tsx"],"names":["useState","jsxs","jsx"],"mappings":"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","file":"chunk-7SIUSULP.cjs","sourcesContent":["import React, { useState, useEffect, ReactNode, CSSProperties } from 'react';\nimport './index.less';\n\nexport type RangeValue = [number | undefined, number | undefined];\n\nexport interface RangeShortcut {\n\tlabel: string;\n\tvalue: RangeValue;\n}\n\nexport interface NumericRangeInputProps {\n\t/** 当前区间值 [min, max](受控) */\n\tvalue?: RangeValue;\n\t/** 默认区间值 */\n\tdefaultValue?: RangeValue;\n\t/** 区间改变回调 */\n\tonChange?: (range: RangeValue) => void;\n\t/** 允许输入的最小值 */\n\tmin?: number;\n\t/** 允许输入的最大值 */\n\tmax?: number;\n\t/** 步长,默认为 1 */\n\tstep?: number;\n\t/** 精度小数位数 */\n\tprecision?: number;\n\t/** 前缀标签(如 '¥') */\n\tprefix?: ReactNode;\n\t/** 后缀标签(如 '元') */\n\tsuffix?: ReactNode;\n\t/** 连接分隔符,默认为 '~' */\n\tseparator?: ReactNode;\n\t/** 快捷区间选项列表 */\n\tshortcuts?: RangeShortcut[];\n\t/** 是否禁用 */\n\tdisabled?: boolean;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst NumericRangeInput: React.FC<NumericRangeInputProps> = ({\n\tvalue: controlledValue,\n\tdefaultValue = [undefined, undefined],\n\tonChange,\n\tmin,\n\tmax,\n\tstep = 1,\n\tprecision,\n\tprefix,\n\tsuffix,\n\tseparator = '~',\n\tshortcuts,\n\tdisabled = false,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst [internalVal, setInternalVal] = useState<RangeValue>(defaultValue);\n\tconst range = controlledValue !== undefined ? controlledValue : internalVal;\n\n\tconst [isFocused, setIsFocused] = useState<boolean>(false);\n\n\tconst isInvalid = range[0] !== undefined && range[1] !== undefined && range[0] > range[1];\n\n\tconst handleStartChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n\t\tconst val = e.target.value === '' ? undefined : Number(e.target.value);\n\t\tconst nextRange: RangeValue = [val, range[1]];\n\t\tif (controlledValue === undefined) setInternalVal(nextRange);\n\t\tonChange?.(nextRange);\n\t};\n\n\tconst handleEndChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n\t\tconst val = e.target.value === '' ? undefined : Number(e.target.value);\n\t\tconst nextRange: RangeValue = [range[0], val];\n\t\tif (controlledValue === undefined) setInternalVal(nextRange);\n\t\tonChange?.(nextRange);\n\t};\n\n\tconst handleShortcutClick = (scVal: RangeValue) => {\n\t\tif (disabled) return;\n\t\tif (controlledValue === undefined) setInternalVal(scVal);\n\t\tonChange?.(scVal);\n\t};\n\n\treturn (\n\t\t<div className={`rpc_numeric_range_input ${className}`} style={style}>\n\t\t\t<div\n\t\t\t\tclassName={`rpc_numeric_range_input_container ${\n\t\t\t\t\tisFocused ? 'rpc_numeric_range_input_container_focused' : ''\n\t\t\t\t} ${isInvalid ? 'rpc_numeric_range_input_container_error' : ''} ${\n\t\t\t\t\tdisabled ? 'rpc_numeric_range_input_container_disabled' : ''\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{prefix && <span className=\"rpc_numeric_range_input_prefix\">{prefix}</span>}\n\n\t\t\t\t<input\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tvalue={range[0] !== undefined ? range[0] : ''}\n\t\t\t\t\tmin={min}\n\t\t\t\t\tmax={max}\n\t\t\t\t\tstep={step}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tplaceholder=\"最小值\"\n\t\t\t\t\tclassName=\"rpc_numeric_range_input_input\"\n\t\t\t\t\tonChange={handleStartChange}\n\t\t\t\t\tonFocus={() => setIsFocused(true)}\n\t\t\t\t\tonBlur={() => setIsFocused(false)}\n\t\t\t\t/>\n\n\t\t\t\t<span className=\"rpc_numeric_range_input_separator\">{separator}</span>\n\n\t\t\t\t<input\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tvalue={range[1] !== undefined ? range[1] : ''}\n\t\t\t\t\tmin={min}\n\t\t\t\t\tmax={max}\n\t\t\t\t\tstep={step}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tplaceholder=\"最大值\"\n\t\t\t\t\tclassName=\"rpc_numeric_range_input_input\"\n\t\t\t\t\tonChange={handleEndChange}\n\t\t\t\t\tonFocus={() => setIsFocused(true)}\n\t\t\t\t\tonBlur={() => setIsFocused(false)}\n\t\t\t\t/>\n\n\t\t\t\t{suffix && <span className=\"rpc_numeric_range_input_suffix\">{suffix}</span>}\n\t\t\t</div>\n\n\t\t\t{/* 快捷区间预设 */}\n\t\t\t{shortcuts && shortcuts.length > 0 && (\n\t\t\t\t<div className=\"rpc_numeric_range_input_shortcuts\">\n\t\t\t\t\t{shortcuts.map((sc, idx) => (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tkey={idx}\n\t\t\t\t\t\t\tclassName=\"rpc_numeric_range_input_shortcut_item\"\n\t\t\t\t\t\t\tonClick={() => handleShortcutClick(sc.value)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{sc.label}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default NumericRangeInput;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CopyButton_default } from './chunk-
|
|
2
|
-
import { EyeOutlined, EyeInvisibleOutlined } from './chunk-
|
|
1
|
+
import { CopyButton_default } from './chunk-56TD4LDC.js';
|
|
2
|
+
import { EyeOutlined, EyeInvisibleOutlined } from './chunk-ISUXPTLV.js';
|
|
3
3
|
import { useState, useMemo } from 'react';
|
|
4
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -62,12 +62,20 @@ var SensitiveMask = ({
|
|
|
62
62
|
};
|
|
63
63
|
return /* @__PURE__ */ jsxs("span", { className: `rpc_sensitive_mask ${className}`, style, children: [
|
|
64
64
|
/* @__PURE__ */ jsx("span", { className: "rpc_sensitive_mask_text", children: displayText }),
|
|
65
|
-
toggleable && /* @__PURE__ */ jsx(
|
|
65
|
+
toggleable && /* @__PURE__ */ jsx(
|
|
66
|
+
"span",
|
|
67
|
+
{
|
|
68
|
+
className: "rpc_sensitive_mask_action_btn",
|
|
69
|
+
onClick: handleToggle,
|
|
70
|
+
title: masked ? "\u70B9\u51FB\u67E5\u770B\u660E\u6587" : "\u70B9\u51FB\u9690\u85CF",
|
|
71
|
+
children: masked ? /* @__PURE__ */ jsx(EyeOutlined, {}) : /* @__PURE__ */ jsx(EyeInvisibleOutlined, {})
|
|
72
|
+
}
|
|
73
|
+
),
|
|
66
74
|
copyable && /* @__PURE__ */ jsx(CopyButton_default, { mode: "icon", text, tooltip: "\u590D\u5236\u660E\u6587" })
|
|
67
75
|
] });
|
|
68
76
|
};
|
|
69
77
|
var SensitiveMask_default = SensitiveMask;
|
|
70
78
|
|
|
71
79
|
export { SensitiveMask_default, maskSensitiveText };
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
73
|
-
//# sourceMappingURL=chunk-
|
|
80
|
+
//# sourceMappingURL=chunk-AFR7V4A4.js.map
|
|
81
|
+
//# sourceMappingURL=chunk-AFR7V4A4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../SensitiveMask/index.tsx"],"names":[],"mappings":";;;;;AAiCO,SAAS,kBACf,GAAA,EACA,IAAA,GAAsB,SACtB,UAAA,GAAqB,GAAA,EACrB,YACA,QAAA,EACS;AACT,EAAA,IAAI,CAAC,KAAK,OAAO,EAAA;AAEjB,EAAA,QAAQ,IAAA;AAAM,IACb,KAAK,OAAA;AACJ,MAAA,IAAI,GAAA,CAAI,MAAA,IAAU,CAAA,EAAG,OAAO,GAAA;AAC5B,MAAA,OAAO,GAAA,CAAI,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA,GAAI,UAAA,CAAW,MAAA,CAAO,CAAC,CAAA,GAAI,GAAA,CAAI,KAAA,CAAM,EAAE,CAAA;AAAA,IAC7D,KAAK,QAAA;AACJ,MAAA,IAAI,GAAA,CAAI,MAAA,IAAU,EAAA,EAAI,OAAO,GAAA;AAC7B,MAAA,OAAO,IAAI,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA,GAAI,WAAW,MAAA,CAAO,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,IAAI,MAAA,GAAS,EAAE,CAAC,CAAA,GAAI,GAAA,CAAI,MAAM,EAAE,CAAA;AAAA,IACxF,KAAK,UAAA;AACJ,MAAA,IAAI,GAAA,CAAI,MAAA,IAAU,CAAA,EAAG,OAAO,GAAA;AAC5B,MAAA,OACC,IAAI,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA,GACd,GAAA,GACA,WAAW,MAAA,CAAO,CAAC,CAAA,GACnB,GAAA,GACA,WAAW,MAAA,CAAO,CAAC,IACnB,GAAA,GACA,GAAA,CAAI,MAAM,EAAE,CAAA;AAAA,IAEd,KAAK,OAAA,EAAS;AACb,MAAA,MAAM,OAAA,GAAU,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAA;AAC/B,MAAA,IAAI,OAAA,IAAW,GAAG,OAAO,GAAA;AACzB,MAAA,MAAM,IAAA,GAAO,GAAA,CAAI,KAAA,CAAM,CAAA,EAAG,OAAO,CAAA;AACjC,MAAA,MAAM,MAAA,GAAS,GAAA,CAAI,KAAA,CAAM,OAAO,CAAA;AAChC,MAAA,MAAM,UAAA,GACL,KAAK,CAAC,CAAA,GACN,WAAW,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA,EAAG,IAAA,CAAK,SAAS,CAAC,CAAC,KAC7C,IAAA,CAAK,MAAA,GAAS,IAAI,IAAA,CAAK,KAAA,CAAM,EAAE,CAAA,GAAI,EAAA,CAAA;AACrC,MAAA,OAAO,UAAA,GAAa,MAAA;AAAA,IACrB;AAAA,IACA,KAAK,QAAA,EAAU;AACd,MAAA,MAAM,KAAA,GAAQ,UAAA,KAAe,MAAA,GAAY,UAAA,GAAa,CAAA;AACtD,MAAA,MAAM,GAAA,GAAM,QAAA,KAAa,MAAA,GAAY,QAAA,GAAW,CAAA;AAChD,MAAA,IAAI,GAAA,CAAI,MAAA,IAAU,KAAA,GAAQ,GAAA,EAAK,OAAO,GAAA;AACtC,MAAA,OACC,IAAI,KAAA,CAAM,CAAA,EAAG,KAAK,CAAA,GAClB,UAAA,CAAW,OAAO,IAAA,CAAK,GAAA,CAAI,GAAG,GAAA,CAAI,MAAA,GAAS,QAAQ,GAAG,CAAC,IACvD,GAAA,CAAI,KAAA,CAAM,CAAC,GAAG,CAAA;AAAA,IAEhB;AAAA,IACA;AACC,MAAA,OAAO,GAAA;AAAA;AAEV;AAEA,IAAM,gBAA8C,CAAC;AAAA,EACpD,IAAA,GAAO,EAAA;AAAA,EACP,IAAA,GAAO,OAAA;AAAA,EACP,aAAA,GAAgB,IAAA;AAAA,EAChB,UAAA,GAAa,GAAA;AAAA,EACb,aAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,QAAA,GAAW,KAAA;AAAA,EACX,QAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ;AACD,CAAA,KAAM;AACL,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAkB,aAAa,CAAA;AAE3D,EAAA,MAAM,UAAA,GAAa,QAAQ,MAAM;AAChC,IAAA,OAAO,iBAAA,CAAkB,IAAA,EAAM,IAAA,EAAM,UAAA,EAAY,eAAe,WAAW,CAAA;AAAA,EAC5E,GAAG,CAAC,IAAA,EAAM,MAAM,UAAA,EAAY,aAAA,EAAe,WAAW,CAAC,CAAA;AAEvD,EAAA,MAAM,WAAA,GAAc,SAAS,UAAA,GAAa,IAAA;AAE1C,EAAA,MAAM,YAAA,GAAe,OAAO,CAAA,KAAwB;AACnD,IAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,IAAA,MAAM,YAAY,CAAC,MAAA;AACnB,IAAA,IAAI,QAAA,EAAU;AACb,MAAA,MAAM,OAAA,GAAU,MAAM,QAAA,CAAS,SAAS,CAAA;AACxC,MAAA,IAAI,YAAY,KAAA,EAAO;AAAA,IACxB;AACA,IAAA,SAAA,CAAU,SAAS,CAAA;AAAA,EACpB,CAAA;AAEA,EAAA,4BACE,MAAA,EAAA,EAAK,SAAA,EAAW,CAAA,mBAAA,EAAsB,SAAS,IAAI,KAAA,EACnD,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,yBAAA,EAA2B,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,IAEtD,UAAA,oBACA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACA,SAAA,EAAU,+BAAA;AAAA,QACV,OAAA,EAAS,YAAA;AAAA,QACT,KAAA,EAAO,SAAS,sCAAA,GAAW,0BAAA;AAAA,QAE1B,QAAA,EAAA,MAAA,mBAAS,GAAA,CAAC,WAAA,EAAA,EAAY,CAAA,uBAAM,oBAAA,EAAA,EAAqB;AAAA;AAAA,KACnD;AAAA,IAGA,4BAAY,GAAA,CAAC,kBAAA,EAAA,EAAW,MAAK,MAAA,EAAO,IAAA,EAAY,SAAQ,0BAAA,EAAO;AAAA,GAAA,EACjE,CAAA;AAEF,CAAA;AAEA,IAAO,qBAAA,GAAQ","file":"chunk-AFR7V4A4.js","sourcesContent":["import React, { useState, useMemo, CSSProperties } from 'react';\nimport { EyeOutlined, EyeInvisibleOutlined } from '../src/icons';\nimport CopyButton from '../CopyButton';\nimport './index.less';\n\nexport type SensitiveType = 'phone' | 'idcard' | 'email' | 'bankcard' | 'custom';\n\nexport interface SensitiveMaskProps {\n\t/** 原始敏感文本 */\n\ttext: string;\n\t/** 脱敏类型:'phone' | 'idcard' | 'email' | 'bankcard' | 'custom',默认为 'phone' */\n\ttype?: SensitiveType;\n\t/** 默认是否脱敏遮蔽,默认为 true */\n\tdefaultMasked?: boolean;\n\t/** 遮罩字符,默认为 '*' */\n\tmaskSymbol?: string;\n\t/** 自定义保留头部明文字符数(仅 type='custom' 有效) */\n\tunmaskedStart?: number;\n\t/** 自定义保留尾部明文字符数(仅 type='custom' 有效) */\n\tunmaskedEnd?: number;\n\t/** 是否支持切换明文/密文查看,默认为 true */\n\ttoggleable?: boolean;\n\t/** 是否支持一键复制,默认为 false */\n\tcopyable?: boolean;\n\t/** 切换明文时的拦截回调(返回 false 可阻止切换,支持异步鉴权) */\n\tonToggle?: (nextMasked: boolean) => boolean | Promise<boolean>;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\n// 格式化脱敏文本\nexport function maskSensitiveText(\n\traw: string,\n\ttype: SensitiveType = 'phone',\n\tmaskSymbol: string = '*',\n\tstartCount?: number,\n\tendCount?: number,\n): string {\n\tif (!raw) return '';\n\n\tswitch (type) {\n\t\tcase 'phone':\n\t\t\tif (raw.length <= 7) return raw;\n\t\t\treturn raw.slice(0, 3) + maskSymbol.repeat(4) + raw.slice(-4);\n\t\tcase 'idcard':\n\t\t\tif (raw.length <= 10) return raw;\n\t\t\treturn raw.slice(0, 6) + maskSymbol.repeat(Math.max(1, raw.length - 10)) + raw.slice(-4);\n\t\tcase 'bankcard':\n\t\t\tif (raw.length <= 8) return raw;\n\t\t\treturn (\n\t\t\t\traw.slice(0, 4) +\n\t\t\t\t' ' +\n\t\t\t\tmaskSymbol.repeat(4) +\n\t\t\t\t' ' +\n\t\t\t\tmaskSymbol.repeat(4) +\n\t\t\t\t' ' +\n\t\t\t\traw.slice(-4)\n\t\t\t);\n\t\tcase 'email': {\n\t\t\tconst atIndex = raw.indexOf('@');\n\t\t\tif (atIndex <= 1) return raw;\n\t\t\tconst name = raw.slice(0, atIndex);\n\t\t\tconst domain = raw.slice(atIndex);\n\t\t\tconst maskedName =\n\t\t\t\tname[0] +\n\t\t\t\tmaskSymbol.repeat(Math.max(1, name.length - 2)) +\n\t\t\t\t(name.length > 2 ? name.slice(-1) : '');\n\t\t\treturn maskedName + domain;\n\t\t}\n\t\tcase 'custom': {\n\t\t\tconst start = startCount !== undefined ? startCount : 2;\n\t\t\tconst end = endCount !== undefined ? endCount : 2;\n\t\t\tif (raw.length <= start + end) return raw;\n\t\t\treturn (\n\t\t\t\traw.slice(0, start) +\n\t\t\t\tmaskSymbol.repeat(Math.max(1, raw.length - start - end)) +\n\t\t\t\traw.slice(-end)\n\t\t\t);\n\t\t}\n\t\tdefault:\n\t\t\treturn raw;\n\t}\n}\n\nconst SensitiveMask: React.FC<SensitiveMaskProps> = ({\n\ttext = '',\n\ttype = 'phone',\n\tdefaultMasked = true,\n\tmaskSymbol = '*',\n\tunmaskedStart,\n\tunmaskedEnd,\n\ttoggleable = true,\n\tcopyable = false,\n\tonToggle,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst [masked, setMasked] = useState<boolean>(defaultMasked);\n\n\tconst maskedText = useMemo(() => {\n\t\treturn maskSensitiveText(text, type, maskSymbol, unmaskedStart, unmaskedEnd);\n\t}, [text, type, maskSymbol, unmaskedStart, unmaskedEnd]);\n\n\tconst displayText = masked ? maskedText : text;\n\n\tconst handleToggle = async (e: React.MouseEvent) => {\n\t\te.stopPropagation();\n\t\tconst nextState = !masked;\n\t\tif (onToggle) {\n\t\t\tconst allowed = await onToggle(nextState);\n\t\t\tif (allowed === false) return;\n\t\t}\n\t\tsetMasked(nextState);\n\t};\n\n\treturn (\n\t\t<span className={`rpc_sensitive_mask ${className}`} style={style}>\n\t\t\t<span className=\"rpc_sensitive_mask_text\">{displayText}</span>\n\n\t\t\t{toggleable && (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"rpc_sensitive_mask_action_btn\"\n\t\t\t\t\tonClick={handleToggle}\n\t\t\t\t\ttitle={masked ? '点击查看明文' : '点击隐藏'}\n\t\t\t\t>\n\t\t\t\t\t{masked ? <EyeOutlined /> : <EyeInvisibleOutlined />}\n\t\t\t\t</span>\n\t\t\t)}\n\n\t\t\t{copyable && <CopyButton mode=\"icon\" text={text} tooltip=\"复制明文\" />}\n\t\t</span>\n\t);\n};\n\nexport default SensitiveMask;\n"]}
|
|
@@ -53,5 +53,5 @@ var CascadeDrawer = ({
|
|
|
53
53
|
var CascadeDrawer_default = CascadeDrawer;
|
|
54
54
|
|
|
55
55
|
exports.CascadeDrawer_default = CascadeDrawer_default;
|
|
56
|
-
//# sourceMappingURL=chunk-
|
|
57
|
-
//# sourceMappingURL=chunk-
|
|
56
|
+
//# sourceMappingURL=chunk-AMCCRVHG.cjs.map
|
|
57
|
+
//# sourceMappingURL=chunk-AMCCRVHG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../CascadeDrawer/index.tsx"],"names":["useState","jsx","jsxs","React"],"mappings":";;;;;;;;;;AAwBA,IAAM,gBAA8C,CAAC;AAAA,EACpD,IAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA,GAAQ,GAAA;AAAA,EACR,SAAA,GAAY,EAAA;AAAA,EACZ;AACD,CAAA,KAAM;AACL,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,IAAIA,cAAA,CAAyB,CAAC,SAAS,CAAC,CAAA;AAE9D,EAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAElB,EAAA,MAAM,YAAA,GAAe,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAC,CAAA,IAAK,SAAA;AAEhD,EAAA,MAAM,SAAA,GAAY,CAAC,KAAA,KAAwB;AAC1C,IAAA,QAAA,CAAS,CAAC,IAAA,KAAS,CAAC,GAAG,IAAA,EAAM,KAAK,CAAC,CAAA;AAAA,EACpC,CAAA;AAEA,EAAA,MAAM,KAAA,GAAQ,CAAC,KAAA,KAAkB;AAChC,IAAA,QAAA,CAAS,CAAC,IAAA,KAAS,IAAA,CAAK,MAAM,CAAA,EAAG,KAAA,GAAQ,CAAC,CAAC,CAAA;AAAA,EAC5C,CAAA;AAEA,EAAA,uCACE,KAAA,EAAA,EAAI,SAAA,EAAW,CAAA,mBAAA,EAAsB,SAAS,IAAI,KAAA,EAClD,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EAA0B,OAAA,EAAS,OAAA,EAAS,CAAA;AAAA,oCAE1D,KAAA,EAAA,EAAI,SAAA,EAAU,8BAA6B,KAAA,EAAO,EAAE,OAAM,EAE1D,QAAA,EAAA;AAAA,sBAAAC,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,2BAAA,EACd,QAAA,EAAA;AAAA,wBAAAD,cAAA,CAAC,SAAI,SAAA,EAAU,gCAAA,EACb,gBAAM,GAAA,CAAI,CAAC,MAAM,GAAA,KAAQ;AACzB,UAAA,MAAM,MAAA,GAAS,GAAA,KAAQ,KAAA,CAAM,MAAA,GAAS,CAAA;AACtC,UAAA,uBACCC,eAAA,CAACC,sBAAA,CAAM,QAAA,EAAN,EACC,QAAA,EAAA;AAAA,YAAA,GAAA,GAAM,CAAA,mCAAM,MAAA,EAAA,EAAK,KAAA,EAAO,EAAE,KAAA,EAAO,SAAA,IAAa,QAAA,EAAA,GAAA,EAAC,CAAA;AAAA,YAC/C,MAAA,mBACAF,cAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,IAAA,CAAK,OAAM,CAAA,mBAElBA,cAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACA,IAAA,EAAK,QAAA;AAAA,gBACL,SAAA,EAAU,8BAAA;AAAA,gBACV,OAAA,EAAS,MAAM,KAAA,CAAM,GAAG,CAAA;AAAA,gBAEvB,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA;AACP,WAAA,EAAA,EAXmB,KAAK,EAa1B,CAAA;AAAA,QAEF,CAAC,CAAA,EACF,CAAA;AAAA,wBAEAA,cAAA,CAAC,YAAO,IAAA,EAAK,QAAA,EAAS,WAAU,8BAAA,EAA+B,OAAA,EAAS,SAAS,QAAA,EAAA,QAAA,EAEjF;AAAA,OAAA,EACD,CAAA;AAAA,sBAGAA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,EAAA,OAAO,YAAA,CAAa,OAAA,KAAY,UAAA,GAC7B,YAAA,CAAa,OAAA,CAAgB,SAAS,CAAA,GACvC,aAAa,OAAA,EACjB;AAAA,KAAA,EACD;AAAA,GAAA,EACD,CAAA;AAEF,CAAA;AAEA,IAAO,qBAAA,GAAQ","file":"chunk-AMCCRVHG.cjs","sourcesContent":["import React, { useState, ReactNode, CSSProperties } from 'react';\nimport './index.less';\n\nexport interface CascadeLevel {\n\tid: string;\n\ttitle: string;\n\tcontent: ReactNode | ((pushLevel: (level: CascadeLevel) => void) => ReactNode);\n}\n\nexport interface CascadeDrawerProps {\n\t/** 是否打开抽屉 */\n\topen: boolean;\n\t/** 关闭抽屉回调 */\n\tonClose: () => void;\n\t/** 初始根层级 */\n\trootLevel: CascadeLevel;\n\t/** 抽屉宽度,默认为 440 */\n\twidth?: number | string;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst CascadeDrawer: React.FC<CascadeDrawerProps> = ({\n\topen,\n\tonClose,\n\trootLevel,\n\twidth = 440,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst [stack, setStack] = useState<CascadeLevel[]>([rootLevel]);\n\n\tif (!open) return null;\n\n\tconst currentLevel = stack[stack.length - 1] || rootLevel;\n\n\tconst pushLevel = (level: CascadeLevel) => {\n\t\tsetStack((prev) => [...prev, level]);\n\t};\n\n\tconst popTo = (index: number) => {\n\t\tsetStack((prev) => prev.slice(0, index + 1));\n\t};\n\n\treturn (\n\t\t<div className={`rpc_cascade_drawer ${className}`} style={style}>\n\t\t\t<div className=\"rpc_cascade_drawer_mask\" onClick={onClose} />\n\n\t\t\t<div className=\"rpc_cascade_drawer_content\" style={{ width }}>\n\t\t\t\t{/* 顶部面包屑导航 */}\n\t\t\t\t<div className=\"rpc_cascade_drawer_header\">\n\t\t\t\t\t<div className=\"rpc_cascade_drawer_breadcrumbs\">\n\t\t\t\t\t\t{stack.map((item, idx) => {\n\t\t\t\t\t\t\tconst isLast = idx === stack.length - 1;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<React.Fragment key={item.id}>\n\t\t\t\t\t\t\t\t\t{idx > 0 && <span style={{ color: '#bfbfbf' }}>/</span>}\n\t\t\t\t\t\t\t\t\t{isLast ? (\n\t\t\t\t\t\t\t\t\t\t<span>{item.title}</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"rpc_cascade_drawer_crumb_btn\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => popTo(idx)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<button type=\"button\" className=\"rpc_cascade_drawer_close_btn\" onClick={onClose}>\n\t\t\t\t\t\t✕\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\n\t\t\t\t{/* 当前层级内容 */}\n\t\t\t\t<div className=\"rpc_cascade_drawer_body\">\n\t\t\t\t\t{typeof currentLevel.content === 'function'\n\t\t\t\t\t\t? (currentLevel.content as any)(pushLevel)\n\t\t\t\t\t\t: currentLevel.content}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default CascadeDrawer;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkMBOWSS4B_cjs = require('./chunk-MBOWSS4B.cjs');
|
|
4
4
|
var react = require('react');
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
|
|
@@ -83,7 +83,7 @@ var KeyValEditor = ({
|
|
|
83
83
|
}
|
|
84
84
|
},
|
|
85
85
|
title: item.isSecret ? "\u5207\u6362\u663E\u793A/\u9690\u85CF" : "\u8BBE\u4E3A\u654F\u611F\u5BC6\u7801",
|
|
86
|
-
children: item.isSecret ? visibleSecrets[index] ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
86
|
+
children: item.isSecret ? visibleSecrets[index] ? /* @__PURE__ */ jsxRuntime.jsx(chunkMBOWSS4B_cjs.EyeOutlined, {}) : /* @__PURE__ */ jsxRuntime.jsx(chunkMBOWSS4B_cjs.EyeInvisibleOutlined, {}) : /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: 11, color: "#8c8c8c" }, children: "\u{1F512}" })
|
|
87
87
|
}
|
|
88
88
|
),
|
|
89
89
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -93,7 +93,7 @@ var KeyValEditor = ({
|
|
|
93
93
|
className: "rpc_key_val_editor_btn_icon",
|
|
94
94
|
onClick: () => handleDelete(index),
|
|
95
95
|
title: "\u5220\u9664\u6B64\u884C",
|
|
96
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
96
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkMBOWSS4B_cjs.CloseOutlined, {})
|
|
97
97
|
}
|
|
98
98
|
)
|
|
99
99
|
] }, index);
|
|
@@ -104,5 +104,5 @@ var KeyValEditor = ({
|
|
|
104
104
|
var KeyValEditor_default = KeyValEditor;
|
|
105
105
|
|
|
106
106
|
exports.KeyValEditor_default = KeyValEditor_default;
|
|
107
|
-
//# sourceMappingURL=chunk-
|
|
108
|
-
//# sourceMappingURL=chunk-
|
|
107
|
+
//# sourceMappingURL=chunk-B7NN6SZD.cjs.map
|
|
108
|
+
//# sourceMappingURL=chunk-B7NN6SZD.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../KeyValEditor/index.tsx"],"names":["useState","jsxs","jsx","EyeOutlined","EyeInvisibleOutlined","CloseOutlined"],"mappings":"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","file":"chunk-B7NN6SZD.cjs","sourcesContent":["import React, { useState, CSSProperties } from 'react';\nimport { CloseOutlined, EyeOutlined, EyeInvisibleOutlined } from '../src/icons';\nimport './index.less';\n\nexport interface KeyValItem {\n\tkey: string;\n\tvalue: string;\n\tenabled?: boolean;\n\tisSecret?: boolean;\n}\n\nexport interface KeyValEditorProps {\n\t/** 键值对数组(受控) */\n\tvalue?: KeyValItem[];\n\t/** 默认键值对数组 */\n\tdefaultValue?: KeyValItem[];\n\t/** 变化回调 */\n\tonChange?: (items: KeyValItem[]) => void;\n\t/** Key 输入框占位文案,默认为 'Key 键名' */\n\tkeyPlaceholder?: string;\n\t/** Value 输入框占位文案,默认为 'Value 键值' */\n\tvalPlaceholder?: string;\n\t/** 是否允许配置 Secret 密码掩码,默认为 true */\n\tallowSecret?: boolean;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst KeyValEditor: React.FC<KeyValEditorProps> = ({\n\tvalue: controlledValue,\n\tdefaultValue = [{ key: '', value: '', enabled: true }],\n\tonChange,\n\tkeyPlaceholder = 'Key 键名',\n\tvalPlaceholder = 'Value 键值',\n\tallowSecret = true,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst [internalVal, setInternalVal] = useState<KeyValItem[]>(defaultValue);\n\tconst items = controlledValue !== undefined ? controlledValue : internalVal;\n\n\tconst [visibleSecrets, setVisibleSecrets] = useState<Record<number, boolean>>({});\n\n\tconst triggerChange = (newItems: KeyValItem[]) => {\n\t\tif (controlledValue === undefined) setInternalVal(newItems);\n\t\tonChange?.(newItems);\n\t};\n\n\tconst handleItemChange = (index: number, field: keyof KeyValItem, val: any) => {\n\t\tconst next = items.map((item, i) => (i === index ? { ...item, [field]: val } : item));\n\t\ttriggerChange(next);\n\t};\n\n\tconst handleAdd = () => {\n\t\ttriggerChange([...items, { key: '', value: '', enabled: true }]);\n\t};\n\n\tconst handleDelete = (index: number) => {\n\t\ttriggerChange(items.filter((_, i) => i !== index));\n\t};\n\n\tconst toggleSecretVisibility = (index: number) => {\n\t\tsetVisibleSecrets((prev) => ({ ...prev, [index]: !prev[index] }));\n\t};\n\n\treturn (\n\t\t<div className={`rpc_key_val_editor ${className}`} style={style}>\n\t\t\t{items.map((item, index) => {\n\t\t\t\tconst isSecret = item.isSecret && !visibleSecrets[index];\n\n\t\t\t\treturn (\n\t\t\t\t\t<div key={index} className=\"rpc_key_val_editor_row\">\n\t\t\t\t\t\t{/* 启用/禁用勾选 */}\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tchecked={item.enabled !== false}\n\t\t\t\t\t\t\tonChange={(e) => handleItemChange(index, 'enabled', e.target.checked)}\n\t\t\t\t\t\t\tclassName=\"rpc_key_val_editor_checkbox\"\n\t\t\t\t\t\t\ttitle=\"启用/禁用此条目\"\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{/* Key 输入 */}\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tplaceholder={keyPlaceholder}\n\t\t\t\t\t\t\tvalue={item.key}\n\t\t\t\t\t\t\tdisabled={item.enabled === false}\n\t\t\t\t\t\t\tonChange={(e) => handleItemChange(index, 'key', e.target.value)}\n\t\t\t\t\t\t\tclassName=\"rpc_key_val_editor_input\"\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{/* Value 输入 */}\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype={isSecret ? 'password' : 'text'}\n\t\t\t\t\t\t\tplaceholder={valPlaceholder}\n\t\t\t\t\t\t\tvalue={item.value}\n\t\t\t\t\t\t\tdisabled={item.enabled === false}\n\t\t\t\t\t\t\tonChange={(e) => handleItemChange(index, 'value', e.target.value)}\n\t\t\t\t\t\t\tclassName=\"rpc_key_val_editor_input\"\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{/* 密码明文切换 */}\n\t\t\t\t\t\t{allowSecret && (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tclassName=\"rpc_key_val_editor_btn_icon\"\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tif (!item.isSecret) {\n\t\t\t\t\t\t\t\t\t\thandleItemChange(index, 'isSecret', true);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\ttoggleSecretVisibility(index);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ttitle={item.isSecret ? '切换显示/隐藏' : '设为敏感密码'}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{item.isSecret ? (\n\t\t\t\t\t\t\t\t\tvisibleSecrets[index] ? (\n\t\t\t\t\t\t\t\t\t\t<EyeOutlined />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<EyeInvisibleOutlined />\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<span style={{ fontSize: 11, color: '#8c8c8c' }}>🔒</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{/* 删除行 */}\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclassName=\"rpc_key_val_editor_btn_icon\"\n\t\t\t\t\t\t\tonClick={() => handleDelete(index)}\n\t\t\t\t\t\t\ttitle=\"删除此行\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<CloseOutlined />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\n\t\t\t<div className=\"rpc_key_val_editor_footer\">\n\t\t\t\t<button type=\"button\" className=\"rpc_key_val_editor_add_btn\" onClick={handleAdd}>\n\t\t\t\t\t+ 添加键值对\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default KeyValEditor;\n"]}
|
|
@@ -155,5 +155,5 @@ var DiffViewer = ({
|
|
|
155
155
|
var DiffViewer_default = DiffViewer;
|
|
156
156
|
|
|
157
157
|
export { DiffViewer_default };
|
|
158
|
-
//# sourceMappingURL=chunk-
|
|
159
|
-
//# sourceMappingURL=chunk-
|
|
158
|
+
//# sourceMappingURL=chunk-BFQV5MYD.js.map
|
|
159
|
+
//# sourceMappingURL=chunk-BFQV5MYD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../DiffViewer/index.tsx"],"names":["i","j"],"mappings":"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","file":"chunk-BFQV5MYD.js","sourcesContent":["import React, { useState, useMemo, ReactNode, CSSProperties } from 'react';\nimport './index.less';\n\nexport type DiffViewMode = 'split' | 'unified';\n\nexport interface DiffViewerProps {\n\t/** 修改前的旧文本 */\n\toldValue: string;\n\t/** 修改后的新文本 */\n\tnewValue: string;\n\t/** 视图模式:'split' 左右分栏,'unified' 单列行内,默认为 'split' */\n\tviewMode?: DiffViewMode;\n\t/** 是否允许用户自由切换视图模式,默认为 true */\n\tallowModeChange?: boolean;\n\t/** 文件标题或说明 */\n\ttitle?: ReactNode;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\ninterface DiffLine {\n\ttype: 'unchanged' | 'added' | 'removed';\n\ttext: string;\n\toldLineNumber?: number;\n\tnewLineNumber?: number;\n}\n\n// 简单高效的 LCS 行级差异比较算法\nfunction computeLineDiff(oldStr: string, newStr: string): DiffLine[] {\n\tconst oldLines = oldStr.split('\\n');\n\tconst newLines = newStr.split('\\n');\n\n\tconst n = oldLines.length;\n\tconst m = newLines.length;\n\n\t// 动态规划构建 LCS 矩阵\n\tconst dp: number[][] = Array.from({ length: n + 1 }, () => Array(m + 1).fill(0));\n\n\tfor (let i = 0; i < n; i++) {\n\t\tfor (let j = 0; j < m; j++) {\n\t\t\tif (oldLines[i] === newLines[j]) {\n\t\t\t\tdp[i + 1][j + 1] = dp[i][j] + 1;\n\t\t\t} else {\n\t\t\t\tdp[i + 1][j + 1] = Math.max(dp[i + 1][j], dp[i][j + 1]);\n\t\t\t}\n\t\t}\n\t}\n\n\t// 回溯生成差异序列\n\tconst result: DiffLine[] = [];\n\tlet i = n;\n\tlet j = m;\n\n\twhile (i > 0 || j > 0) {\n\t\tif (i > 0 && j > 0 && oldLines[i - 1] === newLines[j - 1]) {\n\t\t\tresult.unshift({\n\t\t\t\ttype: 'unchanged',\n\t\t\t\ttext: oldLines[i - 1],\n\t\t\t\toldLineNumber: i,\n\t\t\t\tnewLineNumber: j,\n\t\t\t});\n\t\t\ti--;\n\t\t\tj--;\n\t\t} else if (j > 0 && (i === 0 || dp[i][j - 1] >= dp[i - 1][j])) {\n\t\t\tresult.unshift({\n\t\t\t\ttype: 'added',\n\t\t\t\ttext: newLines[j - 1],\n\t\t\t\tnewLineNumber: j,\n\t\t\t});\n\t\t\tj--;\n\t\t} else if (i > 0 && (j === 0 || dp[i][j - 1] < dp[i - 1][j])) {\n\t\t\tresult.unshift({\n\t\t\t\ttype: 'removed',\n\t\t\t\ttext: oldLines[i - 1],\n\t\t\t\toldLineNumber: i,\n\t\t\t});\n\t\t\ti--;\n\t\t}\n\t}\n\n\treturn result;\n}\n\nconst DiffViewer: React.FC<DiffViewerProps> = ({\n\toldValue = '',\n\tnewValue = '',\n\tviewMode: initialMode = 'split',\n\tallowModeChange = true,\n\ttitle,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst [mode, setMode] = useState<DiffViewMode>(initialMode);\n\n\tconst diffLines = useMemo(() => {\n\t\treturn computeLineDiff(oldValue, newValue);\n\t}, [oldValue, newValue]);\n\n\t// 统计变动行数\n\tconst stats = useMemo(() => {\n\t\tlet added = 0;\n\t\tlet removed = 0;\n\t\tdiffLines.forEach((l) => {\n\t\t\tif (l.type === 'added') added++;\n\t\t\tif (l.type === 'removed') removed++;\n\t\t});\n\t\treturn { added, removed };\n\t}, [diffLines]);\n\n\treturn (\n\t\t<div className={`rpc_diff_viewer ${className}`} style={style}>\n\t\t\t{/* 头部标题与模式切换 */}\n\t\t\t<div className=\"rpc_diff_viewer_header\">\n\t\t\t\t<div style={{ display: 'flex', alignItems: 'center', gap: 12 }}>\n\t\t\t\t\t<span className=\"rpc_diff_viewer_title\">{title || 'Diff Comparison'}</span>\n\t\t\t\t\t<span style={{ fontSize: 12, color: '#52c41a' }}>+{stats.added}</span>\n\t\t\t\t\t<span style={{ fontSize: 12, color: '#ff4d4f' }}>-{stats.removed}</span>\n\t\t\t\t</div>\n\n\t\t\t\t{allowModeChange && (\n\t\t\t\t\t<div className=\"rpc_diff_viewer_mode_toggle\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclassName={`rpc_diff_viewer_mode_btn ${\n\t\t\t\t\t\t\t\tmode === 'split' ? 'rpc_diff_viewer_mode_btn_active' : ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\tonClick={() => setMode('split')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t分栏 (Split)\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclassName={`rpc_diff_viewer_mode_btn ${\n\t\t\t\t\t\t\t\tmode === 'unified' ? 'rpc_diff_viewer_mode_btn_active' : ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\tonClick={() => setMode('unified')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t行内 (Unified)\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{/* 差异展示主体 */}\n\t\t\t<div style={{ overflowX: 'auto', maxHeight: 420, overflowY: 'auto' }}>\n\t\t\t\t{mode === 'unified' ? (\n\t\t\t\t\t<table className=\"rpc_diff_viewer_table\">\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t{diffLines.map((line, idx) => {\n\t\t\t\t\t\t\t\tconst rowClass =\n\t\t\t\t\t\t\t\t\tline.type === 'added'\n\t\t\t\t\t\t\t\t\t\t? 'rpc_diff_viewer_row_added'\n\t\t\t\t\t\t\t\t\t\t: line.type === 'removed'\n\t\t\t\t\t\t\t\t\t\t\t? 'rpc_diff_viewer_row_removed'\n\t\t\t\t\t\t\t\t\t\t\t: '';\n\n\t\t\t\t\t\t\t\tconst marker = line.type === 'added' ? '+' : line.type === 'removed' ? '-' : ' ';\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<tr key={idx} className={`rpc_diff_viewer_row ${rowClass}`}>\n\t\t\t\t\t\t\t\t\t\t<td className=\"rpc_diff_viewer_gutter\">{line.oldLineNumber || ''}</td>\n\t\t\t\t\t\t\t\t\t\t<td className=\"rpc_diff_viewer_gutter\">{line.newLineNumber || ''}</td>\n\t\t\t\t\t\t\t\t\t\t<td className=\"rpc_diff_viewer_marker\">{marker}</td>\n\t\t\t\t\t\t\t\t\t\t<td className=\"rpc_diff_viewer_code\">{line.text || ' '}</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t) : (\n\t\t\t\t\t/* 分栏 Split 模式 */\n\t\t\t\t\t<table className=\"rpc_diff_viewer_table\">\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t{diffLines.map((line, idx) => {\n\t\t\t\t\t\t\t\tconst isAdd = line.type === 'added';\n\t\t\t\t\t\t\t\tconst isDel = line.type === 'removed';\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<tr key={idx} className=\"rpc_diff_viewer_row\">\n\t\t\t\t\t\t\t\t\t\t{/* 左侧旧版 */}\n\t\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\t\tclassName={`rpc_diff_viewer_gutter ${\n\t\t\t\t\t\t\t\t\t\t\t\tisDel\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'rpc_diff_viewer_row_removed'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isAdd\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'rpc_diff_viewer_row_empty'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{line.oldLineNumber || ''}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\t\tclassName={`rpc_diff_viewer_code ${\n\t\t\t\t\t\t\t\t\t\t\t\tisDel\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'rpc_diff_viewer_row_removed'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isAdd\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'rpc_diff_viewer_row_empty'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{isDel || line.type === 'unchanged' ? line.text || ' ' : ''}\n\t\t\t\t\t\t\t\t\t\t</td>\n\n\t\t\t\t\t\t\t\t\t\t{/* 右侧新版 */}\n\t\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\t\tclassName={`rpc_diff_viewer_gutter ${\n\t\t\t\t\t\t\t\t\t\t\t\tisAdd\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'rpc_diff_viewer_row_added'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isDel\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'rpc_diff_viewer_row_empty'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{line.newLineNumber || ''}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\t\tclassName={`rpc_diff_viewer_code ${\n\t\t\t\t\t\t\t\t\t\t\t\tisAdd\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'rpc_diff_viewer_row_added'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isDel\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'rpc_diff_viewer_row_empty'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{isAdd || line.type === 'unchanged' ? line.text || ' ' : ''}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default DiffViewer;\n"]}
|
|
@@ -84,15 +84,7 @@ var EnvBadge = ({
|
|
|
84
84
|
] }) : /* @__PURE__ */ jsx("div", { style: { color: "#8c8c8c", fontSize: 12, padding: "8px 0" }, children: "\u6682\u65E0\u8BE6\u7EC6\u6784\u5EFA\u5143\u6570\u636E" }),
|
|
85
85
|
switchList && switchList.length > 0 && /* @__PURE__ */ jsxs("div", { className: "rpc_env_badge_switch_wrap", children: [
|
|
86
86
|
/* @__PURE__ */ jsx("span", { style: { fontSize: 11, color: "#8c8c8c", width: "100%" }, children: "\u5207\u6362\u73AF\u5883\uFF1A" }),
|
|
87
|
-
switchList.map((item, idx) => /* @__PURE__ */ jsx(
|
|
88
|
-
"a",
|
|
89
|
-
{
|
|
90
|
-
href: item.url,
|
|
91
|
-
className: "rpc_env_badge_switch_btn",
|
|
92
|
-
children: item.label
|
|
93
|
-
},
|
|
94
|
-
idx
|
|
95
|
-
))
|
|
87
|
+
switchList.map((item, idx) => /* @__PURE__ */ jsx("a", { href: item.url, className: "rpc_env_badge_switch_btn", children: item.label }, idx))
|
|
96
88
|
] })
|
|
97
89
|
] })
|
|
98
90
|
]
|
|
@@ -102,5 +94,5 @@ var EnvBadge = ({
|
|
|
102
94
|
var EnvBadge_default = EnvBadge;
|
|
103
95
|
|
|
104
96
|
export { EnvBadge_default };
|
|
105
|
-
//# sourceMappingURL=chunk-
|
|
106
|
-
//# sourceMappingURL=chunk-
|
|
97
|
+
//# sourceMappingURL=chunk-BRHXKRG6.js.map
|
|
98
|
+
//# sourceMappingURL=chunk-BRHXKRG6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../EnvBadge/index.tsx"],"names":[],"mappings":"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","file":"chunk-BRHXKRG6.js","sourcesContent":["import React, { useState, useRef, useEffect, ReactNode, CSSProperties } from 'react';\nimport './index.less';\n\nexport type EnvType = 'dev' | 'test' | 'uat' | 'staging' | 'prod';\nexport type EnvPlacement = 'top-right' | 'top-left' | 'bottom-right';\n\nexport interface EnvBuildInfo {\n\tapiHost?: string;\n\tbranch?: string;\n\tcommit?: string;\n\tbuildTime?: string;\n\tversion?: string;\n}\n\nexport interface EnvSwitchItem {\n\tlabel: string;\n\turl: string;\n\tenv: EnvType;\n}\n\nexport interface EnvBadgeProps {\n\t/** 当前运行环境:'dev' | 'test' | 'uat' | 'staging' | 'prod' */\n\tenv: EnvType;\n\t/** 显示文本(不传则默认大写环境名) */\n\tlabel?: ReactNode;\n\t/** 悬浮挂载位置,默认为 'top-right' */\n\tplacement?: EnvPlacement;\n\t/** 当前构建与部署版本信息 */\n\tinfo?: EnvBuildInfo;\n\t/** 快捷切换至其他环境列表 */\n\tswitchList?: EnvSwitchItem[];\n\t/** 是否默认常驻,默认为 true */\n\tvisible?: boolean;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst defaultEnvLabels: Record<EnvType, string> = {\n\tdev: 'DEV 开发环境',\n\ttest: 'TEST 测试环境',\n\tuat: 'UAT 预验收',\n\tstaging: 'STAGING 预发',\n\tprod: '🚨 PROD 生产环境',\n};\n\nconst EnvBadge: React.FC<EnvBadgeProps> = ({\n\tenv,\n\tlabel,\n\tplacement = 'top-right',\n\tinfo,\n\tswitchList,\n\tvisible = true,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst [isOpen, setIsOpen] = useState<boolean>(false);\n\tconst badgeRef = useRef<HTMLDivElement>(null);\n\n\tconst text = label || defaultEnvLabels[env] || env.toUpperCase();\n\n\t// 点击外部自动关闭气泡\n\tuseEffect(() => {\n\t\tconst handleClickOutside = (e: MouseEvent) => {\n\t\t\tif (badgeRef.current && !badgeRef.current.contains(e.target as Node)) {\n\t\t\t\tsetIsOpen(false);\n\t\t\t}\n\t\t};\n\n\t\tif (isOpen) {\n\t\t\tdocument.addEventListener('mousedown', handleClickOutside);\n\t\t}\n\t\treturn () => document.removeEventListener('mousedown', handleClickOutside);\n\t}, [isOpen]);\n\n\tif (!visible) return null;\n\n\treturn (\n\t\t<div\n\t\t\tref={badgeRef}\n\t\t\tclassName={`rpc_env_badge rpc_env_badge_${placement.replace('-', '_')} ${className}`}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={`rpc_env_badge_tag rpc_env_badge_tag_${env}`}\n\t\t\t\tonClick={() => setIsOpen(!isOpen)}\n\t\t\t>\n\t\t\t\t<span>●</span>\n\t\t\t\t<span>{text}</span>\n\t\t\t</div>\n\n\t\t\t{isOpen && (\n\t\t\t\t<div className=\"rpc_env_badge_popover\">\n\t\t\t\t\t<div className=\"rpc_env_badge_pop_header\">\n\t\t\t\t\t\t<span>系统环境信息</span>\n\t\t\t\t\t\t<span style={{ fontSize: 12, color: '#8c8c8c' }}>{env.toUpperCase()}</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{info ? (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{info.version && (\n\t\t\t\t\t\t\t\t<div className=\"rpc_env_badge_pop_row\">\n\t\t\t\t\t\t\t\t\t<span>发布版本</span>\n\t\t\t\t\t\t\t\t\t<span>v{info.version}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{info.branch && (\n\t\t\t\t\t\t\t\t<div className=\"rpc_env_badge_pop_row\">\n\t\t\t\t\t\t\t\t\t<span>Git 分支</span>\n\t\t\t\t\t\t\t\t\t<span>{info.branch}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{info.commit && (\n\t\t\t\t\t\t\t\t<div className=\"rpc_env_badge_pop_row\">\n\t\t\t\t\t\t\t\t\t<span>Commit</span>\n\t\t\t\t\t\t\t\t\t<span>{info.commit}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{info.apiHost && (\n\t\t\t\t\t\t\t\t<div className=\"rpc_env_badge_pop_row\">\n\t\t\t\t\t\t\t\t\t<span>API 网关</span>\n\t\t\t\t\t\t\t\t\t<span style={{ fontSize: 11 }}>{info.apiHost}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{info.buildTime && (\n\t\t\t\t\t\t\t\t<div className=\"rpc_env_badge_pop_row\">\n\t\t\t\t\t\t\t\t\t<span>构建时间</span>\n\t\t\t\t\t\t\t\t\t<span>{info.buildTime}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div style={{ color: '#8c8c8c', fontSize: 12, padding: '8px 0' }}>\n\t\t\t\t\t\t\t暂无详细构建元数据\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{switchList && switchList.length > 0 && (\n\t\t\t\t\t\t<div className=\"rpc_env_badge_switch_wrap\">\n\t\t\t\t\t\t\t<span style={{ fontSize: 11, color: '#8c8c8c', width: '100%' }}>切换环境:</span>\n\t\t\t\t\t\t\t{switchList.map((item, idx) => (\n\t\t\t\t\t\t\t\t<a key={idx} href={item.url} className=\"rpc_env_badge_switch_btn\">\n\t\t\t\t\t\t\t\t\t{item.label}\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default EnvBadge;\n"]}
|