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,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
|
|
|
@@ -114,7 +114,7 @@ var TagInput = ({
|
|
|
114
114
|
children: [
|
|
115
115
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: tag }),
|
|
116
116
|
!disabled && /* @__PURE__ */ jsxRuntime.jsx(
|
|
117
|
-
|
|
117
|
+
chunkMBOWSS4B_cjs.CloseOutlined,
|
|
118
118
|
{
|
|
119
119
|
className: "rpc_tag_input_tag_close",
|
|
120
120
|
onClick: (e) => {
|
|
@@ -155,5 +155,5 @@ var TagInput = ({
|
|
|
155
155
|
var TagInput_default = TagInput;
|
|
156
156
|
|
|
157
157
|
exports.TagInput_default = TagInput_default;
|
|
158
|
-
//# sourceMappingURL=chunk-
|
|
159
|
-
//# sourceMappingURL=chunk-
|
|
158
|
+
//# sourceMappingURL=chunk-2DIU347W.cjs.map
|
|
159
|
+
//# sourceMappingURL=chunk-2DIU347W.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../TagInput/index.tsx"],"names":["useState","useRef","jsxs","jsx","CloseOutlined"],"mappings":"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","file":"chunk-FRGH3Q75.cjs","sourcesContent":["import React, { useState, useRef, useEffect, ReactNode, CSSProperties } from 'react';\nimport { CloseOutlined } from '../src/icons';\nimport './index.less';\n\nexport interface TagInputProps {\n\t/** 标签列表(受控) */\n\tvalue?: string[];\n\t/** 默认标签列表 */\n\tdefaultValue?: string[];\n\t/** 标签列表改变回调 */\n\tonChange?: (tags: string[]) => void;\n\t/** 最大允许输入的标签数量 */\n\tmaxCount?: number;\n\t/** 单个标签的最大字符长度 */\n\tmaxLength?: number;\n\t/** 是否允许重复标签,默认为 false */\n\tallowDuplicates?: boolean;\n\t/** 触发添加标签的按键/分隔符,默认为 ['Enter', ',', ','] */\n\tseparators?: string[];\n\t/** 标签自定义校验函数(返回 true 通过,返回 false 或 string 报错) */\n\tvalidate?: (tag: string) => boolean | string;\n\t/** 占位提示文案 */\n\tplaceholder?: string;\n\t/** 是否禁用 */\n\tdisabled?: boolean;\n\t/** 自定义渲染单个 Tag */\n\trenderTag?: (tag: string, index: number, onClose: () => void) => ReactNode;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst TagInput: React.FC<TagInputProps> = ({\n\tvalue: controlledValue,\n\tdefaultValue = [],\n\tonChange,\n\tmaxCount,\n\tmaxLength,\n\tallowDuplicates = false,\n\tseparators = ['Enter', ',', ','],\n\tvalidate,\n\tplaceholder = '输入标签后按回车...',\n\tdisabled = false,\n\trenderTag,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst [internalTags, setInternalTags] = useState<string[]>(defaultValue);\n\tconst tags = controlledValue !== undefined ? controlledValue : internalTags;\n\n\tconst [inputValue, setInputValue] = useState<string>('');\n\tconst [isFocused, setIsFocused] = useState<boolean>(false);\n\tconst [errorMessage, setErrorMessage] = useState<string>('');\n\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\n\t// 添加 Tag\n\tconst addTag = (text: string) => {\n\t\tconst trimmed = text.trim();\n\t\tif (!trimmed) return;\n\n\t\tif (maxCount !== undefined && tags.length >= maxCount) {\n\t\t\tsetErrorMessage(`最多只能添加 ${maxCount} 个标签`);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!allowDuplicates && tags.includes(trimmed)) {\n\t\t\tsetErrorMessage(`标签 \"${trimmed}\" 已存在`);\n\t\t\treturn;\n\t\t}\n\n\t\tif (validate) {\n\t\t\tconst res = validate(trimmed);\n\t\t\tif (typeof res === 'string') {\n\t\t\t\tsetErrorMessage(res);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (res === false) {\n\t\t\t\tsetErrorMessage(`标签 \"${trimmed}\" 格式不合法`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst nextTags = [...tags, trimmed];\n\t\tif (controlledValue === undefined) {\n\t\t\tsetInternalTags(nextTags);\n\t\t}\n\t\tonChange?.(nextTags);\n\t\tsetInputValue('');\n\t\tsetErrorMessage('');\n\t};\n\n\t// 删除 Tag\n\tconst removeTag = (index: number) => {\n\t\tif (disabled) return;\n\t\tconst nextTags = tags.filter((_, i) => i !== index);\n\t\tif (controlledValue === undefined) {\n\t\t\tsetInternalTags(nextTags);\n\t\t}\n\t\tonChange?.(nextTags);\n\t\tsetErrorMessage('');\n\t};\n\n\t// 键盘事件处理\n\tconst handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n\t\tif (disabled) return;\n\n\t\t// 分隔符触发添加\n\t\tif (separators.includes(e.key)) {\n\t\t\te.preventDefault();\n\t\t\taddTag(inputValue);\n\t\t\treturn;\n\t\t}\n\n\t\t// 退格键删除最后一个 Tag\n\t\tif (e.key === 'Backspace' && !inputValue && tags.length > 0) {\n\t\t\te.preventDefault();\n\t\t\tremoveTag(tags.length - 1);\n\t\t}\n\t};\n\n\t// 失去焦点时添加\n\tconst handleBlur = () => {\n\t\tsetIsFocused(false);\n\t\tif (inputValue.trim()) {\n\t\t\taddTag(inputValue);\n\t\t}\n\t};\n\n\t// 双击编辑 Tag\n\tconst handleDoubleClick = (index: number, tag: string) => {\n\t\tif (disabled) return;\n\t\tremoveTag(index);\n\t\tsetInputValue(tag);\n\t\tinputRef.current?.focus();\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tclassName={`rpc_tag_input ${isFocused ? 'rpc_tag_input_focused' : ''} ${\n\t\t\t\tdisabled ? 'rpc_tag_input_disabled' : ''\n\t\t\t} ${errorMessage ? 'rpc_tag_input_error' : ''} ${className}`}\n\t\t\tstyle={style}\n\t\t\tonClick={() => {\n\t\t\t\tif (!disabled) inputRef.current?.focus();\n\t\t\t}}\n\t\t>\n\t\t\t{tags.map((tag, idx) => {\n\t\t\t\tif (renderTag) {\n\t\t\t\t\treturn renderTag(tag, idx, () => removeTag(idx));\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<span\n\t\t\t\t\t\tkey={idx}\n\t\t\t\t\t\tclassName=\"rpc_tag_input_tag\"\n\t\t\t\t\t\tonDoubleClick={() => handleDoubleClick(idx, tag)}\n\t\t\t\t\t\ttitle=\"双击可重新编辑\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span>{tag}</span>\n\t\t\t\t\t\t{!disabled && (\n\t\t\t\t\t\t\t<CloseOutlined\n\t\t\t\t\t\t\t\tclassName=\"rpc_tag_input_tag_close\"\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\tremoveTag(idx);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t);\n\t\t\t})}\n\n\t\t\t{(!maxCount || tags.length < maxCount) && (\n\t\t\t\t<input\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName=\"rpc_tag_input_input\"\n\t\t\t\t\tplaceholder={tags.length === 0 ? placeholder : ''}\n\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\tsetInputValue(e.target.value);\n\t\t\t\t\t\tif (errorMessage) setErrorMessage('');\n\t\t\t\t\t}}\n\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\tonFocus={() => setIsFocused(true)}\n\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{errorMessage && <div className=\"rpc_tag_input_error_tip\">{errorMessage}</div>}\n\t\t</div>\n\t);\n};\n\nexport default TagInput;\n"]}
|
|
1
|
+
{"version":3,"sources":["../TagInput/index.tsx"],"names":["useState","useRef","jsxs","jsx","CloseOutlined"],"mappings":"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","file":"chunk-2DIU347W.cjs","sourcesContent":["import React, { useState, useRef, useEffect, ReactNode, CSSProperties } from 'react';\nimport { CloseOutlined } from '../src/icons';\nimport './index.less';\n\nexport interface TagInputProps {\n\t/** 标签列表(受控) */\n\tvalue?: string[];\n\t/** 默认标签列表 */\n\tdefaultValue?: string[];\n\t/** 标签列表改变回调 */\n\tonChange?: (tags: string[]) => void;\n\t/** 最大允许输入的标签数量 */\n\tmaxCount?: number;\n\t/** 单个标签的最大字符长度 */\n\tmaxLength?: number;\n\t/** 是否允许重复标签,默认为 false */\n\tallowDuplicates?: boolean;\n\t/** 触发添加标签的按键/分隔符,默认为 ['Enter', ',', ','] */\n\tseparators?: string[];\n\t/** 标签自定义校验函数(返回 true 通过,返回 false 或 string 报错) */\n\tvalidate?: (tag: string) => boolean | string;\n\t/** 占位提示文案 */\n\tplaceholder?: string;\n\t/** 是否禁用 */\n\tdisabled?: boolean;\n\t/** 自定义渲染单个 Tag */\n\trenderTag?: (tag: string, index: number, onClose: () => void) => ReactNode;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst TagInput: React.FC<TagInputProps> = ({\n\tvalue: controlledValue,\n\tdefaultValue = [],\n\tonChange,\n\tmaxCount,\n\tmaxLength,\n\tallowDuplicates = false,\n\tseparators = ['Enter', ',', ','],\n\tvalidate,\n\tplaceholder = '输入标签后按回车...',\n\tdisabled = false,\n\trenderTag,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst [internalTags, setInternalTags] = useState<string[]>(defaultValue);\n\tconst tags = controlledValue !== undefined ? controlledValue : internalTags;\n\n\tconst [inputValue, setInputValue] = useState<string>('');\n\tconst [isFocused, setIsFocused] = useState<boolean>(false);\n\tconst [errorMessage, setErrorMessage] = useState<string>('');\n\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\n\t// 添加 Tag\n\tconst addTag = (text: string) => {\n\t\tconst trimmed = text.trim();\n\t\tif (!trimmed) return;\n\n\t\tif (maxCount !== undefined && tags.length >= maxCount) {\n\t\t\tsetErrorMessage(`最多只能添加 ${maxCount} 个标签`);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!allowDuplicates && tags.includes(trimmed)) {\n\t\t\tsetErrorMessage(`标签 \"${trimmed}\" 已存在`);\n\t\t\treturn;\n\t\t}\n\n\t\tif (validate) {\n\t\t\tconst res = validate(trimmed);\n\t\t\tif (typeof res === 'string') {\n\t\t\t\tsetErrorMessage(res);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (res === false) {\n\t\t\t\tsetErrorMessage(`标签 \"${trimmed}\" 格式不合法`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tconst nextTags = [...tags, trimmed];\n\t\tif (controlledValue === undefined) {\n\t\t\tsetInternalTags(nextTags);\n\t\t}\n\t\tonChange?.(nextTags);\n\t\tsetInputValue('');\n\t\tsetErrorMessage('');\n\t};\n\n\t// 删除 Tag\n\tconst removeTag = (index: number) => {\n\t\tif (disabled) return;\n\t\tconst nextTags = tags.filter((_, i) => i !== index);\n\t\tif (controlledValue === undefined) {\n\t\t\tsetInternalTags(nextTags);\n\t\t}\n\t\tonChange?.(nextTags);\n\t\tsetErrorMessage('');\n\t};\n\n\t// 键盘事件处理\n\tconst handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n\t\tif (disabled) return;\n\n\t\t// 分隔符触发添加\n\t\tif (separators.includes(e.key)) {\n\t\t\te.preventDefault();\n\t\t\taddTag(inputValue);\n\t\t\treturn;\n\t\t}\n\n\t\t// 退格键删除最后一个 Tag\n\t\tif (e.key === 'Backspace' && !inputValue && tags.length > 0) {\n\t\t\te.preventDefault();\n\t\t\tremoveTag(tags.length - 1);\n\t\t}\n\t};\n\n\t// 失去焦点时添加\n\tconst handleBlur = () => {\n\t\tsetIsFocused(false);\n\t\tif (inputValue.trim()) {\n\t\t\taddTag(inputValue);\n\t\t}\n\t};\n\n\t// 双击编辑 Tag\n\tconst handleDoubleClick = (index: number, tag: string) => {\n\t\tif (disabled) return;\n\t\tremoveTag(index);\n\t\tsetInputValue(tag);\n\t\tinputRef.current?.focus();\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tclassName={`rpc_tag_input ${isFocused ? 'rpc_tag_input_focused' : ''} ${\n\t\t\t\tdisabled ? 'rpc_tag_input_disabled' : ''\n\t\t\t} ${errorMessage ? 'rpc_tag_input_error' : ''} ${className}`}\n\t\t\tstyle={style}\n\t\t\tonClick={() => {\n\t\t\t\tif (!disabled) inputRef.current?.focus();\n\t\t\t}}\n\t\t>\n\t\t\t{tags.map((tag, idx) => {\n\t\t\t\tif (renderTag) {\n\t\t\t\t\treturn renderTag(tag, idx, () => removeTag(idx));\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<span\n\t\t\t\t\t\tkey={idx}\n\t\t\t\t\t\tclassName=\"rpc_tag_input_tag\"\n\t\t\t\t\t\tonDoubleClick={() => handleDoubleClick(idx, tag)}\n\t\t\t\t\t\ttitle=\"双击可重新编辑\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span>{tag}</span>\n\t\t\t\t\t\t{!disabled && (\n\t\t\t\t\t\t\t<CloseOutlined\n\t\t\t\t\t\t\t\tclassName=\"rpc_tag_input_tag_close\"\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\tremoveTag(idx);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t);\n\t\t\t})}\n\n\t\t\t{(!maxCount || tags.length < maxCount) && (\n\t\t\t\t<input\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName=\"rpc_tag_input_input\"\n\t\t\t\t\tplaceholder={tags.length === 0 ? placeholder : ''}\n\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\tsetInputValue(e.target.value);\n\t\t\t\t\t\tif (errorMessage) setErrorMessage('');\n\t\t\t\t\t}}\n\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\tonFocus={() => setIsFocused(true)}\n\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{errorMessage && <div className=\"rpc_tag_input_error_tip\">{errorMessage}</div>}\n\t\t</div>\n\t);\n};\n\nexport default TagInput;\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
|
|
|
@@ -44,7 +44,7 @@ var InfiniteScrollList = ({
|
|
|
44
44
|
return () => observer.disconnect();
|
|
45
45
|
}, [height, scrollableTarget, threshold, handleLoadMore]);
|
|
46
46
|
const defaultLoadingIndicator = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_infinite_scroll_list_footer", children: [
|
|
47
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
47
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkMBOWSS4B_cjs.LoadingOutlined, { style: { fontSize: 16, color: "#1677ff" } }),
|
|
48
48
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u6B63\u5728\u52A0\u8F7D\u66F4\u591A\u6570\u636E..." })
|
|
49
49
|
] });
|
|
50
50
|
const isLocalScroll = Boolean(height);
|
|
@@ -69,5 +69,5 @@ var InfiniteScrollList = ({
|
|
|
69
69
|
var InfiniteScrollList_default = InfiniteScrollList;
|
|
70
70
|
|
|
71
71
|
exports.InfiniteScrollList_default = InfiniteScrollList_default;
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
73
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-2MDYHFLH.cjs.map
|
|
73
|
+
//# sourceMappingURL=chunk-2MDYHFLH.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../InfiniteScrollList/index.tsx"],"names":["useRef","useCallback","useEffect","jsxs","jsx","LoadingOutlined"],"mappings":";;;;;;AA6BA,IAAM,qBAAwD,CAAC;AAAA,EAC9D,QAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,UAAA,GAAa,kCAAA;AAAA,EACb,gBAAA;AAAA,EACA,MAAA;AAAA,EACA,gBAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ;AACD,CAAA,KAAM;AACL,EAAA,MAAM,YAAA,GAAeA,aAAuB,IAAI,CAAA;AAChD,EAAA,MAAM,WAAA,GAAcA,aAAuB,IAAI,CAAA;AAE/C,EAAA,MAAM,cAAA,GAAiBC,kBAAY,MAAM;AACxC,IAAA,IAAI,CAAC,WAAW,OAAA,EAAS;AACxB,MAAA,UAAA,EAAW;AAAA,IACZ;AAAA,EACD,CAAA,EAAG,CAAC,OAAA,EAAS,OAAA,EAAS,UAAU,CAAC,CAAA;AAGjC,EAAAC,eAAA,CAAU,MAAM;AACf,IAAA,MAAM,WAAW,WAAA,CAAY,OAAA;AAC7B,IAAA,IAAI,CAAC,QAAA,EAAU;AAEf,IAAA,MAAM,QAAA,GACL,OAAO,gBAAA,KAAqB,UAAA,GACzB,kBAAiB,GACjB,gBAAA,KAAqB,MAAA,GAAS,YAAA,CAAa,OAAA,GAAU,IAAA,CAAA;AAEzD,IAAA,MAAM,WAAW,IAAI,oBAAA;AAAA,MACpB,CAAC,CAAC,KAAK,CAAA,KAAM;AACZ,QAAA,IAAI,MAAM,cAAA,EAAgB;AACzB,UAAA,cAAA,EAAe;AAAA,QAChB;AAAA,MACD,CAAA;AAAA,MACA;AAAA,QACC,MAAM,QAAA,IAAY,IAAA;AAAA,QAClB,UAAA,EAAY,WAAW,SAAS,CAAA,MAAA,CAAA;AAAA,QAChC,SAAA,EAAW;AAAA;AACZ,KACD;AAEA,IAAA,QAAA,CAAS,QAAQ,QAAQ,CAAA;AACzB,IAAA,OAAO,MAAM,SAAS,UAAA,EAAW;AAAA,EAClC,GAAG,CAAC,MAAA,EAAQ,gBAAA,EAAkB,SAAA,EAAW,cAAc,CAAC,CAAA;AAExD,EAAA,MAAM,uBAAA,mBACLC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iCAAA,EACd,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAACC,qCAAgB,KAAA,EAAO,EAAE,UAAU,EAAA,EAAI,KAAA,EAAO,WAAU,EAAG,CAAA;AAAA,oBAC5DD,cAAA,CAAC,UAAK,QAAA,EAAA,qDAAA,EAAW;AAAA,GAAA,EAClB,CAAA;AAGD,EAAA,MAAM,aAAA,GAAgB,QAAQ,MAAM,CAAA;AAEpC,EAAA,uBACCD,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,GAAA,EAAK,YAAA;AAAA,MACL,WAAW,CAAA,yBAAA,EACV,aAAA,GAAgB,oCAAA,GAAuC,EACxD,IAAI,SAAS,CAAA,CAAA;AAAA,MACb,KAAA,EAAO;AAAA,QACN,MAAA;AAAA,QACA,GAAG;AAAA,OACJ;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBAGDC,cAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAK,WAAA,EAAa,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,MAAA,EAAQ,CAAA,EAAG,OAAA,EAAS,CAAA,EAAE,EAAG,CAAA;AAAA,QAGnE,YAAY,gBAAA,IAAoB,uBAAA,CAAA;AAAA,QAChC,CAAC,OAAA,IAAW,UAAA,mCACX,KAAA,EAAA,EAAI,SAAA,EAAU,gEACb,QAAA,EAAA,UAAA,EACF;AAAA;AAAA;AAAA,GAEF;AAEF,CAAA;AAEA,IAAO,0BAAA,GAAQ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../InfiniteScrollList/index.tsx"],"names":["useRef","useCallback","useEffect","jsxs","jsx","LoadingOutlined"],"mappings":";;;;;;AA6BA,IAAM,qBAAwD,CAAC;AAAA,EAC9D,QAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,UAAA,GAAa,kCAAA;AAAA,EACb,gBAAA;AAAA,EACA,MAAA;AAAA,EACA,gBAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ;AACD,CAAA,KAAM;AACL,EAAA,MAAM,YAAA,GAAeA,aAAuB,IAAI,CAAA;AAChD,EAAA,MAAM,WAAA,GAAcA,aAAuB,IAAI,CAAA;AAE/C,EAAA,MAAM,cAAA,GAAiBC,kBAAY,MAAM;AACxC,IAAA,IAAI,CAAC,WAAW,OAAA,EAAS;AACxB,MAAA,UAAA,EAAW;AAAA,IACZ;AAAA,EACD,CAAA,EAAG,CAAC,OAAA,EAAS,OAAA,EAAS,UAAU,CAAC,CAAA;AAGjC,EAAAC,eAAA,CAAU,MAAM;AACf,IAAA,MAAM,WAAW,WAAA,CAAY,OAAA;AAC7B,IAAA,IAAI,CAAC,QAAA,EAAU;AAEf,IAAA,MAAM,QAAA,GACL,OAAO,gBAAA,KAAqB,UAAA,GACzB,kBAAiB,GACjB,gBAAA,KAAqB,MAAA,GAAS,YAAA,CAAa,OAAA,GAAU,IAAA,CAAA;AAEzD,IAAA,MAAM,WAAW,IAAI,oBAAA;AAAA,MACpB,CAAC,CAAC,KAAK,CAAA,KAAM;AACZ,QAAA,IAAI,MAAM,cAAA,EAAgB;AACzB,UAAA,cAAA,EAAe;AAAA,QAChB;AAAA,MACD,CAAA;AAAA,MACA;AAAA,QACC,MAAM,QAAA,IAAY,IAAA;AAAA,QAClB,UAAA,EAAY,WAAW,SAAS,CAAA,MAAA,CAAA;AAAA,QAChC,SAAA,EAAW;AAAA;AACZ,KACD;AAEA,IAAA,QAAA,CAAS,QAAQ,QAAQ,CAAA;AACzB,IAAA,OAAO,MAAM,SAAS,UAAA,EAAW;AAAA,EAClC,GAAG,CAAC,MAAA,EAAQ,gBAAA,EAAkB,SAAA,EAAW,cAAc,CAAC,CAAA;AAExD,EAAA,MAAM,uBAAA,mBACLC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iCAAA,EACd,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAACC,qCAAgB,KAAA,EAAO,EAAE,UAAU,EAAA,EAAI,KAAA,EAAO,WAAU,EAAG,CAAA;AAAA,oBAC5DD,cAAA,CAAC,UAAK,QAAA,EAAA,qDAAA,EAAW;AAAA,GAAA,EAClB,CAAA;AAGD,EAAA,MAAM,aAAA,GAAgB,QAAQ,MAAM,CAAA;AAEpC,EAAA,uBACCD,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,GAAA,EAAK,YAAA;AAAA,MACL,WAAW,CAAA,yBAAA,EACV,aAAA,GAAgB,oCAAA,GAAuC,EACxD,IAAI,SAAS,CAAA,CAAA;AAAA,MACb,KAAA,EAAO;AAAA,QACN,MAAA;AAAA,QACA,GAAG;AAAA,OACJ;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBAGDC,cAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAK,WAAA,EAAa,KAAA,EAAO,EAAE,MAAA,EAAQ,CAAA,EAAG,MAAA,EAAQ,CAAA,EAAG,OAAA,EAAS,CAAA,EAAE,EAAG,CAAA;AAAA,QAGnE,YAAY,gBAAA,IAAoB,uBAAA,CAAA;AAAA,QAChC,CAAC,OAAA,IAAW,UAAA,mCACX,KAAA,EAAA,EAAI,SAAA,EAAU,gEACb,QAAA,EAAA,UAAA,EACF;AAAA;AAAA;AAAA,GAEF;AAEF,CAAA;AAEA,IAAO,0BAAA,GAAQ","file":"chunk-2MDYHFLH.cjs","sourcesContent":["import React, { useRef, useEffect, useCallback, ReactNode, CSSProperties } from 'react';\nimport { LoadingOutlined } from '../src/icons';\nimport './index.less';\n\nexport interface InfiniteScrollListProps {\n\t/** 列表项子内容 */\n\tchildren: ReactNode;\n\t/** 是否还有更多数据可供加载 */\n\thasMore: boolean;\n\t/** 当前是否正在加载下一页 */\n\tloading: boolean;\n\t/** 触底加载下一页回调 */\n\tonLoadMore: () => void | Promise<void>;\n\t/** 触发加载的触底距离阈值(像素),默认为 40 */\n\tthreshold?: number;\n\t/** 没有更多数据时的底部提示内容,默认为 '已经到底啦 ~' */\n\tendMessage?: ReactNode;\n\t/** 加载中指示器组件,默认为 Spin 图标与 '正在加载更多...' */\n\tloadingIndicator?: ReactNode;\n\t/** 容器固定高度(传值时为局部滚动容器,不传时监听 window 全局滚动) */\n\theight?: number | string;\n\t/** 滚动容器 ref 或自定义对象 */\n\tscrollableTarget?: HTMLElement | (() => HTMLElement | null) | null;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst InfiniteScrollList: React.FC<InfiniteScrollListProps> = ({\n\tchildren,\n\thasMore,\n\tloading,\n\tonLoadMore,\n\tthreshold = 40,\n\tendMessage = '已经到底啦 ~',\n\tloadingIndicator,\n\theight,\n\tscrollableTarget,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\tconst sentinelRef = useRef<HTMLDivElement>(null);\n\n\tconst handleLoadMore = useCallback(() => {\n\t\tif (!loading && hasMore) {\n\t\t\tonLoadMore();\n\t\t}\n\t}, [loading, hasMore, onLoadMore]);\n\n\t// 使用 IntersectionObserver 监听底部哨兵元素\n\tuseEffect(() => {\n\t\tconst sentinel = sentinelRef.current;\n\t\tif (!sentinel) return;\n\n\t\tconst targetEl =\n\t\t\ttypeof scrollableTarget === 'function'\n\t\t\t\t? scrollableTarget()\n\t\t\t\t: scrollableTarget || (height ? containerRef.current : null);\n\n\t\tconst observer = new IntersectionObserver(\n\t\t\t([entry]) => {\n\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\thandleLoadMore();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\troot: targetEl || null,\n\t\t\t\trootMargin: `0px 0px ${threshold}px 0px`,\n\t\t\t\tthreshold: 0,\n\t\t\t},\n\t\t);\n\n\t\tobserver.observe(sentinel);\n\t\treturn () => observer.disconnect();\n\t}, [height, scrollableTarget, threshold, handleLoadMore]);\n\n\tconst defaultLoadingIndicator = (\n\t\t<div className=\"rpc_infinite_scroll_list_footer\">\n\t\t\t<LoadingOutlined style={{ fontSize: 16, color: '#1677ff' }} />\n\t\t\t<span>正在加载更多数据...</span>\n\t\t</div>\n\t);\n\n\tconst isLocalScroll = Boolean(height);\n\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tclassName={`rpc_infinite_scroll_list ${\n\t\t\t\tisLocalScroll ? 'rpc_infinite_scroll_list_container' : ''\n\t\t\t} ${className}`}\n\t\t\tstyle={{\n\t\t\t\theight: height,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\n\t\t\t{/* 底部哨兵元素 */}\n\t\t\t<div ref={sentinelRef} style={{ height: 1, margin: 0, padding: 0 }} />\n\n\t\t\t{/* 底部状态提示 */}\n\t\t\t{loading && (loadingIndicator || defaultLoadingIndicator)}\n\t\t\t{!hasMore && endMessage && (\n\t\t\t\t<div className=\"rpc_infinite_scroll_list_footer rpc_infinite_scroll_list_end\">\n\t\t\t\t\t{endMessage}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default InfiniteScrollList;\n"]}
|
|
@@ -45,15 +45,7 @@ function VirtualList({
|
|
|
45
45
|
children: visibleItems.map((item, idx) => {
|
|
46
46
|
const actualIndex = startIndex + idx;
|
|
47
47
|
const key = keyExtractor ? keyExtractor(item, actualIndex) : actualIndex;
|
|
48
|
-
return /* @__PURE__ */ jsx(
|
|
49
|
-
"div",
|
|
50
|
-
{
|
|
51
|
-
className: "rpc_virtual_list_item",
|
|
52
|
-
style: { height: itemHeight },
|
|
53
|
-
children: renderItem(item, actualIndex)
|
|
54
|
-
},
|
|
55
|
-
key
|
|
56
|
-
);
|
|
48
|
+
return /* @__PURE__ */ jsx("div", { className: "rpc_virtual_list_item", style: { height: itemHeight }, children: renderItem(item, actualIndex) }, key);
|
|
57
49
|
})
|
|
58
50
|
}
|
|
59
51
|
)
|
|
@@ -63,5 +55,5 @@ function VirtualList({
|
|
|
63
55
|
var VirtualList_default = VirtualList;
|
|
64
56
|
|
|
65
57
|
export { VirtualList_default };
|
|
66
|
-
//# sourceMappingURL=chunk-
|
|
67
|
-
//# sourceMappingURL=chunk-
|
|
58
|
+
//# sourceMappingURL=chunk-2O2A5XYF.js.map
|
|
59
|
+
//# sourceMappingURL=chunk-2O2A5XYF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../VirtualList/index.tsx"],"names":[],"mappings":";;;;AAsBA,SAAS,WAAA,CAAe;AAAA,EACvB,QAAQ,EAAC;AAAA,EACT,UAAA,GAAa,EAAA;AAAA,EACb,MAAA,GAAS,GAAA;AAAA,EACT,UAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA,GAAS,CAAA;AAAA,EACT,SAAA,GAAY,EAAA;AAAA,EACZ;AACD,CAAA,EAAwB;AACvB,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAiB,CAAC,CAAA;AACpD,EAAA,MAAM,YAAA,GAAe,OAAuB,IAAI,CAAA;AAEhD,EAAA,MAAM,aAAa,KAAA,CAAM,MAAA;AACzB,EAAA,MAAM,cAAc,UAAA,GAAa,UAAA;AAGjC,EAAA,MAAM,EAAE,UAAA,EAAY,QAAA,EAAU,OAAA,EAAQ,GAAI,QAAQ,MAAM;AACvD,IAAA,MAAM,KAAA,GAAQ,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,KAAA,CAAM,SAAA,GAAY,UAAU,CAAA,GAAI,MAAM,CAAA;AACrE,IAAA,MAAM,YAAA,GAAe,IAAA,CAAK,IAAA,CAAK,MAAA,GAAS,UAAU,CAAA;AAClD,IAAA,MAAM,MAAM,IAAA,CAAK,GAAA,CAAI,YAAY,KAAA,GAAQ,YAAA,GAAe,SAAS,CAAC,CAAA;AAClE,IAAA,MAAM,SAAS,KAAA,GAAQ,UAAA;AAEvB,IAAA,OAAO,EAAE,UAAA,EAAY,KAAA,EAAO,QAAA,EAAU,GAAA,EAAK,SAAS,MAAA,EAAO;AAAA,EAC5D,GAAG,CAAC,SAAA,EAAW,YAAY,MAAA,EAAQ,MAAA,EAAQ,UAAU,CAAC,CAAA;AAEtD,EAAA,MAAM,YAAA,GAAe,KAAA,CAAM,KAAA,CAAM,UAAA,EAAY,QAAQ,CAAA;AAErD,EAAA,MAAM,YAAA,GAAe,CAAC,CAAA,KAAqC;AAC1D,IAAA,YAAA,CAAa,CAAA,CAAE,cAAc,SAAS,CAAA;AAAA,EACvC,CAAA;AAEA,EAAA,uBACC,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,GAAA,EAAK,YAAA;AAAA,MACL,QAAA,EAAU,YAAA;AAAA,MACV,SAAA,EAAW,oBAAoB,SAAS,CAAA,CAAA;AAAA,MACxC,KAAA,EAAO,EAAE,MAAA,EAAQ,GAAG,KAAA,EAAM;AAAA,MAE1B,QAAA,kBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACA,SAAA,EAAU,0BAAA;AAAA,UACV,KAAA,EAAO;AAAA,YACN,MAAA,EAAQ,WAAA;AAAA,YACR,UAAA,EAAY;AAAA,WACb;AAAA,UAEC,QAAA,EAAA,YAAA,CAAa,GAAA,CAAI,CAAC,IAAA,EAAM,GAAA,KAAQ;AAChC,YAAA,MAAM,cAAc,UAAA,GAAa,GAAA;AACjC,YAAA,MAAM,GAAA,GAAM,YAAA,GAAe,YAAA,CAAa,IAAA,EAAM,WAAW,CAAA,GAAI,WAAA;AAE7D,YAAA,uBACC,GAAA,CAAC,KAAA,EAAA,EAAc,SAAA,EAAU,uBAAA,EAAwB,KAAA,EAAO,EAAE,MAAA,EAAQ,UAAA,EAAW,EAC3E,QAAA,EAAA,UAAA,CAAW,IAAA,EAAM,WAAW,KADpB,GAEV,CAAA;AAAA,UAEF,CAAC;AAAA;AAAA;AACF;AAAA,GACD;AAEF;AAEA,IAAO,mBAAA,GAAQ","file":"chunk-2O2A5XYF.js","sourcesContent":["import React, { useState, useRef, useMemo, ReactNode, CSSProperties } from 'react';\nimport './index.less';\n\nexport interface VirtualListProps<T> {\n\t/** 数据源数组 */\n\titems: T[];\n\t/** 单个列表项固定高度(像素),默认为 48 */\n\titemHeight?: number;\n\t/** 滚动容器可视高度(像素),默认为 360 */\n\theight?: number;\n\t/** 自定义渲染单个列表项 */\n\trenderItem: (item: T, index: number) => ReactNode;\n\t/** 提取唯一 Key */\n\tkeyExtractor?: (item: T, index: number) => string | number;\n\t/** 上下视口外额外渲染的缓冲项数量,默认为 5 */\n\tbuffer?: number;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nfunction VirtualList<T>({\n\titems = [],\n\titemHeight = 48,\n\theight = 360,\n\trenderItem,\n\tkeyExtractor,\n\tbuffer = 5,\n\tclassName = '',\n\tstyle,\n}: VirtualListProps<T>) {\n\tconst [scrollTop, setScrollTop] = useState<number>(0);\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\n\tconst totalCount = items.length;\n\tconst totalHeight = totalCount * itemHeight;\n\n\t// 计算当前可视区域的起止索引\n\tconst { startIndex, endIndex, offsetY } = useMemo(() => {\n\t\tconst start = Math.max(0, Math.floor(scrollTop / itemHeight) - buffer);\n\t\tconst visibleCount = Math.ceil(height / itemHeight);\n\t\tconst end = Math.min(totalCount, start + visibleCount + buffer * 2);\n\t\tconst offset = start * itemHeight;\n\n\t\treturn { startIndex: start, endIndex: end, offsetY: offset };\n\t}, [scrollTop, itemHeight, height, buffer, totalCount]);\n\n\tconst visibleItems = items.slice(startIndex, endIndex);\n\n\tconst handleScroll = (e: React.UIEvent<HTMLDivElement>) => {\n\t\tsetScrollTop(e.currentTarget.scrollTop);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tonScroll={handleScroll}\n\t\t\tclassName={`rpc_virtual_list ${className}`}\n\t\t\tstyle={{ height, ...style }}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"rpc_virtual_list_content\"\n\t\t\t\tstyle={{\n\t\t\t\t\theight: totalHeight,\n\t\t\t\t\tpaddingTop: offsetY,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{visibleItems.map((item, idx) => {\n\t\t\t\t\tconst actualIndex = startIndex + idx;\n\t\t\t\t\tconst key = keyExtractor ? keyExtractor(item, actualIndex) : actualIndex;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div key={key} className=\"rpc_virtual_list_item\" style={{ height: itemHeight }}>\n\t\t\t\t\t\t\t{renderItem(item, actualIndex)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default VirtualList;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkJAW7Q2YC_cjs = require('./chunk-JAW7Q2YC.cjs');
|
|
4
4
|
var react = require('react');
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
|
|
@@ -101,83 +101,76 @@ var JsonEditor = ({
|
|
|
101
101
|
const lineCount = react.useMemo(() => {
|
|
102
102
|
return text.split("\n").length;
|
|
103
103
|
}, [text]);
|
|
104
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
105
|
-
"div",
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
readOnly ? "Viewer" : "Editor"
|
|
116
|
-
] })
|
|
117
|
-
] }),
|
|
118
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_json_editor_actions", children: [
|
|
119
|
-
!readOnly && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
120
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
121
|
-
"button",
|
|
122
|
-
{
|
|
123
|
-
type: "button",
|
|
124
|
-
className: "rpc_json_editor_btn",
|
|
125
|
-
onClick: handleFormat,
|
|
126
|
-
title: "\u7F8E\u5316\u683C\u5F0F\u5316",
|
|
127
|
-
children: "\u7F8E\u5316"
|
|
128
|
-
}
|
|
129
|
-
),
|
|
130
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
131
|
-
"button",
|
|
132
|
-
{
|
|
133
|
-
type: "button",
|
|
134
|
-
className: "rpc_json_editor_btn",
|
|
135
|
-
onClick: handleMinify,
|
|
136
|
-
title: "\u5355\u884C\u538B\u7F29",
|
|
137
|
-
children: "\u538B\u7F29"
|
|
138
|
-
}
|
|
139
|
-
)
|
|
140
|
-
] }),
|
|
141
|
-
/* @__PURE__ */ jsxRuntime.jsx(chunk5WHBZH44_cjs.CopyButton_default, { mode: "icon", text, tooltip: "\u590D\u5236 JSON" })
|
|
142
|
-
] })
|
|
143
|
-
] }),
|
|
144
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_json_editor_body", children: [
|
|
145
|
-
showLineNumbers && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_json_editor_line_numbers", children: Array.from({ length: Math.max(1, lineCount) }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx("div", { children: i + 1 }, i)) }),
|
|
104
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `rpc_json_editor ${className}`, style: { height, ...style }, children: [
|
|
105
|
+
showToolbar && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_json_editor_toolbar", children: [
|
|
106
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_json_editor_title", children: [
|
|
107
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "{ }" }),
|
|
108
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
109
|
+
"JSON ",
|
|
110
|
+
readOnly ? "Viewer" : "Editor"
|
|
111
|
+
] })
|
|
112
|
+
] }),
|
|
113
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_json_editor_actions", children: [
|
|
114
|
+
!readOnly && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
146
115
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
147
|
-
"
|
|
116
|
+
"button",
|
|
148
117
|
{
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
118
|
+
type: "button",
|
|
119
|
+
className: "rpc_json_editor_btn",
|
|
120
|
+
onClick: handleFormat,
|
|
121
|
+
title: "\u7F8E\u5316\u683C\u5F0F\u5316",
|
|
122
|
+
children: "\u7F8E\u5316"
|
|
123
|
+
}
|
|
124
|
+
),
|
|
125
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
126
|
+
"button",
|
|
127
|
+
{
|
|
128
|
+
type: "button",
|
|
129
|
+
className: "rpc_json_editor_btn",
|
|
130
|
+
onClick: handleMinify,
|
|
131
|
+
title: "\u5355\u884C\u538B\u7F29",
|
|
132
|
+
children: "\u538B\u7F29"
|
|
157
133
|
}
|
|
158
134
|
)
|
|
159
135
|
] }),
|
|
160
|
-
/* @__PURE__ */ jsxRuntime.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
136
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJAW7Q2YC_cjs.CopyButton_default, { mode: "icon", text, tooltip: "\u590D\u5236 JSON" })
|
|
137
|
+
] })
|
|
138
|
+
] }),
|
|
139
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rpc_json_editor_body", children: [
|
|
140
|
+
showLineNumbers && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rpc_json_editor_line_numbers", children: Array.from({ length: Math.max(1, lineCount) }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx("div", { children: i + 1 }, i)) }),
|
|
141
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
142
|
+
"textarea",
|
|
143
|
+
{
|
|
144
|
+
ref: textareaRef,
|
|
145
|
+
value: text,
|
|
146
|
+
onChange: handleChange,
|
|
147
|
+
onKeyDown: handleKeyDown,
|
|
148
|
+
readOnly,
|
|
149
|
+
spellCheck: false,
|
|
150
|
+
className: "rpc_json_editor_textarea",
|
|
151
|
+
placeholder: "\u5728\u6B64\u8F93\u5165\u6216\u7C98\u8D34 JSON \u5B57\u7B26\u4E32..."
|
|
152
|
+
}
|
|
153
|
+
)
|
|
154
|
+
] }),
|
|
155
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
156
|
+
"div",
|
|
157
|
+
{
|
|
158
|
+
className: `rpc_json_editor_status_bar ${error ? "rpc_json_editor_status_bar_error" : ""}`,
|
|
159
|
+
children: [
|
|
160
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: error ? `\u26A0\uFE0F ${error}` : "\u2713 JSON \u683C\u5F0F\u6709\u6548" }),
|
|
161
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
162
|
+
lineCount,
|
|
163
|
+
" \u884C \xB7 ",
|
|
164
|
+
text.length,
|
|
165
|
+
" \u5B57\u7B26"
|
|
166
|
+
] })
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
)
|
|
170
|
+
] });
|
|
178
171
|
};
|
|
179
172
|
var JsonEditor_default = JsonEditor;
|
|
180
173
|
|
|
181
174
|
exports.JsonEditor_default = JsonEditor_default;
|
|
182
|
-
//# sourceMappingURL=chunk-
|
|
183
|
-
//# sourceMappingURL=chunk-
|
|
175
|
+
//# sourceMappingURL=chunk-2UCTE6YN.cjs.map
|
|
176
|
+
//# sourceMappingURL=chunk-2UCTE6YN.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../JsonEditor/index.tsx"],"names":["useMemo","useState","useRef","useEffect","jsxs","jsx","Fragment","CopyButton_default"],"mappings":"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","file":"chunk-2UCTE6YN.cjs","sourcesContent":["import React, { useState, useRef, useEffect, useMemo, CSSProperties } from 'react';\nimport CopyButton from '../CopyButton';\nimport './index.less';\n\nexport interface JsonEditorProps {\n\t/** JSON 数据内容(可传 JSON 字符串或 Object 对象) */\n\tvalue?: string | object;\n\t/** 默认 JSON 数据内容 */\n\tdefaultValue?: string | object;\n\t/** 内容变化回调 */\n\tonChange?: (rawJson: string, parsedObject?: unknown) => void;\n\t/** 是否只读模式,默认为 false */\n\treadOnly?: boolean;\n\t/** 缩进空格数,默认为 2 */\n\tindent?: number;\n\t/** 编辑器高度,默认为 280 */\n\theight?: number | string;\n\t/** 是否展示行号,默认为 true */\n\tshowLineNumbers?: boolean;\n\t/** 是否展示顶部工具栏,默认为 true */\n\tshowToolbar?: boolean;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\n// 格式化初始传入值\nfunction normalizeJson(val?: string | object, indent: number = 2): string {\n\tif (val === undefined || val === null) return '{\\n \\n}';\n\tif (typeof val === 'object') {\n\t\ttry {\n\t\t\treturn JSON.stringify(val, null, indent);\n\t\t} catch {\n\t\t\treturn '{}';\n\t\t}\n\t}\n\treturn String(val);\n}\n\nconst JsonEditor: React.FC<JsonEditorProps> = ({\n\tvalue: controlledValue,\n\tdefaultValue,\n\tonChange,\n\treadOnly = false,\n\tindent = 2,\n\theight = 280,\n\tshowLineNumbers = true,\n\tshowToolbar = true,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst initialText = useMemo(() => {\n\t\treturn normalizeJson(controlledValue !== undefined ? controlledValue : defaultValue, indent);\n\t}, [controlledValue, defaultValue, indent]);\n\n\tconst [text, setText] = useState<string>(initialText);\n\tconst [error, setError] = useState<string | null>(null);\n\n\tconst textareaRef = useRef<HTMLTextAreaElement>(null);\n\n\tuseEffect(() => {\n\t\tif (controlledValue !== undefined) {\n\t\t\tconst next = normalizeJson(controlledValue, indent);\n\t\t\tsetText(next);\n\t\t\tvalidate(next);\n\t\t}\n\t}, [controlledValue, indent]);\n\n\t// 校验 JSON\n\tconst validate = (content: string) => {\n\t\tif (!content.trim()) {\n\t\t\tsetError(null);\n\t\t\treturn true;\n\t\t}\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(content);\n\t\t\tsetError(null);\n\t\t\treturn parsed;\n\t\t} catch (err: any) {\n\t\t\tsetError(err.message || 'JSON 语法错误');\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tconst handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n\t\tconst nextText = e.target.value;\n\t\tsetText(nextText);\n\t\tconst parsed = validate(nextText);\n\t\tonChange?.(nextText, parsed !== false ? parsed : undefined);\n\t};\n\n\t// 一键美化格式化\n\tconst handleFormat = () => {\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(text);\n\t\t\tconst formatted = JSON.stringify(parsed, null, indent);\n\t\t\tsetText(formatted);\n\t\t\tsetError(null);\n\t\t\tonChange?.(formatted, parsed);\n\t\t} catch (err: any) {\n\t\t\tsetError(err.message || '格式化失败: 语法不合法');\n\t\t}\n\t};\n\n\t// 一键压缩 (Minify)\n\tconst handleMinify = () => {\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(text);\n\t\t\tconst minified = JSON.stringify(parsed);\n\t\t\tsetText(minified);\n\t\t\tsetError(null);\n\t\t\tonChange?.(minified, parsed);\n\t\t} catch (err: any) {\n\t\t\tsetError(err.message || '压缩失败: 语法不合法');\n\t\t}\n\t};\n\n\t// 处理 Tab 键缩进\n\tconst handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n\t\tif (e.key === 'Tab') {\n\t\t\te.preventDefault();\n\t\t\tconst textarea = textareaRef.current;\n\t\t\tif (!textarea) return;\n\n\t\t\tconst start = textarea.selectionStart;\n\t\t\tconst end = textarea.selectionEnd;\n\t\t\tconst spaces = ' '.repeat(indent);\n\n\t\t\tconst newText = text.substring(0, start) + spaces + text.substring(end);\n\t\t\tsetText(newText);\n\t\t\tvalidate(newText);\n\n\t\t\tsetTimeout(() => {\n\t\t\t\ttextarea.selectionStart = textarea.selectionEnd = start + indent;\n\t\t\t}, 0);\n\t\t}\n\t};\n\n\t// 计算总行数\n\tconst lineCount = useMemo(() => {\n\t\treturn text.split('\\n').length;\n\t}, [text]);\n\n\treturn (\n\t\t<div className={`rpc_json_editor ${className}`} style={{ height, ...style }}>\n\t\t\t{/* 顶部工具栏 */}\n\t\t\t{showToolbar && (\n\t\t\t\t<div className=\"rpc_json_editor_toolbar\">\n\t\t\t\t\t<div className=\"rpc_json_editor_title\">\n\t\t\t\t\t\t<span>{'{ }'}</span>\n\t\t\t\t\t\t<span>JSON {readOnly ? 'Viewer' : 'Editor'}</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"rpc_json_editor_actions\">\n\t\t\t\t\t\t{!readOnly && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tclassName=\"rpc_json_editor_btn\"\n\t\t\t\t\t\t\t\t\tonClick={handleFormat}\n\t\t\t\t\t\t\t\t\ttitle=\"美化格式化\"\n\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</button>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\tclassName=\"rpc_json_editor_btn\"\n\t\t\t\t\t\t\t\t\tonClick={handleMinify}\n\t\t\t\t\t\t\t\t\ttitle=\"单行压缩\"\n\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</button>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<CopyButton mode=\"icon\" text={text} tooltip=\"复制 JSON\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* 主体编辑区域 */}\n\t\t\t<div className=\"rpc_json_editor_body\">\n\t\t\t\t{showLineNumbers && (\n\t\t\t\t\t<div className=\"rpc_json_editor_line_numbers\">\n\t\t\t\t\t\t{Array.from({ length: Math.max(1, lineCount) }).map((_, i) => (\n\t\t\t\t\t\t\t<div key={i}>{i + 1}</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<textarea\n\t\t\t\t\tref={textareaRef}\n\t\t\t\t\tvalue={text}\n\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tspellCheck={false}\n\t\t\t\t\tclassName=\"rpc_json_editor_textarea\"\n\t\t\t\t\tplaceholder=\"在此输入或粘贴 JSON 字符串...\"\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{/* 底部状态栏 */}\n\t\t\t<div\n\t\t\t\tclassName={`rpc_json_editor_status_bar ${error ? 'rpc_json_editor_status_bar_error' : ''}`}\n\t\t\t>\n\t\t\t\t<span>{error ? `⚠️ ${error}` : '✓ JSON 格式有效'}</span>\n\t\t\t\t<span>\n\t\t\t\t\t{lineCount} 行 · {text.length} 字符\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default JsonEditor;\n"]}
|
|
@@ -67,5 +67,5 @@ var Marquee = ({
|
|
|
67
67
|
var Marquee_default = Marquee;
|
|
68
68
|
|
|
69
69
|
export { Marquee_default };
|
|
70
|
-
//# sourceMappingURL=chunk-
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
70
|
+
//# sourceMappingURL=chunk-3R3NOO4K.js.map
|
|
71
|
+
//# sourceMappingURL=chunk-3R3NOO4K.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../Marquee/index.tsx"],"names":[],"mappings":"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","file":"chunk-3R3NOO4K.js","sourcesContent":["import React, { useRef, useState, useEffect, ReactNode, CSSProperties } from 'react';\nimport './index.less';\n\nexport type MarqueeDirection = 'left' | 'right' | 'up' | 'down';\n\nexport interface MarqueeProps {\n\t/** 滚动子内容 */\n\tchildren: ReactNode;\n\t/** 滚动方向:'left' | 'right' | 'up' | 'down',默认为 'left' */\n\tdirection?: MarqueeDirection;\n\t/** 滚动速度(像素/秒),默认为 50 */\n\tspeed?: number;\n\t/** 鼠标悬浮时是否暂停动画,默认为 true */\n\tpauseOnHover?: boolean;\n\t/** 是否开启两侧边缘羽化渐变遮罩,默认为 false */\n\tgradient?: boolean;\n\t/** 边缘渐变遮罩的颜色(通常与背景色一致),默认为 '#ffffff' */\n\tgradientColor?: string;\n\t/** 子项间距(像素),默认为 24 */\n\tgap?: number;\n\t/** 是否持续保持播放 */\n\tplay?: boolean;\n\t/** 自定义类名 */\n\tclassName?: string;\n\t/** 自定义样式 */\n\tstyle?: CSSProperties;\n}\n\nconst Marquee: React.FC<MarqueeProps> = ({\n\tchildren,\n\tdirection = 'left',\n\tspeed = 50,\n\tpauseOnHover = true,\n\tgradient = false,\n\tgradientColor = '#ffffff',\n\tgap = 24,\n\tplay = true,\n\tclassName = '',\n\tstyle,\n}) => {\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\tconst contentRef = useRef<HTMLDivElement>(null);\n\tconst [duration, setDuration] = useState<number>(20);\n\n\tconst isVertical = direction === 'up' || direction === 'down';\n\n\t// 根据内容尺寸动态计算保持固定速度所需的 CSS 动画时长\n\tuseEffect(() => {\n\t\tconst calculateDuration = () => {\n\t\t\tif (!contentRef.current) return;\n\t\t\tconst size = isVertical ? contentRef.current.clientHeight : contentRef.current.clientWidth;\n\n\t\t\tif (size > 0 && speed > 0) {\n\t\t\t\tsetDuration(size / speed);\n\t\t\t}\n\t\t};\n\n\t\tcalculateDuration();\n\t\twindow.addEventListener('resize', calculateDuration);\n\t\treturn () => window.removeEventListener('resize', calculateDuration);\n\t}, [children, speed, isVertical, gap]);\n\n\tlet animName = 'rpcMarqueeLeft';\n\tif (direction === 'right') animName = 'rpcMarqueeRight';\n\telse if (direction === 'up') animName = 'rpcMarqueeUp';\n\telse if (direction === 'down') animName = 'rpcMarqueeDown';\n\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tclassName={`rpc_marquee ${isVertical ? 'rpc_marquee_vertical' : ''} ${\n\t\t\t\tpauseOnHover ? 'rpc_marquee_pause_on_hover' : ''\n\t\t\t} ${gradient ? 'rpc_marquee_gradient' : ''} ${className}`}\n\t\t\tstyle={{\n\t\t\t\t['--rpc-marquee-gap' as any]: `${gap}px`,\n\t\t\t\t['--rpc-marquee-gradient-color' as any]: gradientColor,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"rpc_marquee_container\"\n\t\t\t\tstyle={{\n\t\t\t\t\tanimationName: animName,\n\t\t\t\t\tanimationDuration: `${duration}s`,\n\t\t\t\t\tanimationTimingFunction: 'linear',\n\t\t\t\t\tanimationIterationCount: 'infinite',\n\t\t\t\t\tanimationPlayState: play ? 'running' : 'paused',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div ref={contentRef} className=\"rpc_marquee_content\">\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t{/* 拼接副本以实现平滑无缝回环 */}\n\t\t\t\t<div className=\"rpc_marquee_content\" aria-hidden=\"true\">\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default Marquee;\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
|
|
|
@@ -352,26 +352,23 @@ var ColorPicker = (props) => {
|
|
|
352
352
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
353
353
|
};
|
|
354
354
|
}, [isOpen, handleOpenChange]);
|
|
355
|
-
const handlePaletteDrag = react.useCallback(
|
|
356
|
-
(
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
},
|
|
373
|
-
[]
|
|
374
|
-
);
|
|
355
|
+
const handlePaletteDrag = react.useCallback((e) => {
|
|
356
|
+
if (!paletteRef.current) return;
|
|
357
|
+
const rect = paletteRef.current.getBoundingClientRect();
|
|
358
|
+
const x = Math.max(0, Math.min(rect.width, e.clientX - rect.left));
|
|
359
|
+
const y = Math.max(0, Math.min(rect.height, e.clientY - rect.top));
|
|
360
|
+
const s = Math.round(x / rect.width * 100);
|
|
361
|
+
const b = Math.round((1 - y / rect.height) * 100);
|
|
362
|
+
const curr = currentColorRef.current;
|
|
363
|
+
const targetAlpha = curr.a === 0 ? 1 : curr.a;
|
|
364
|
+
const newColor = new Color({
|
|
365
|
+
h: curr.h,
|
|
366
|
+
s,
|
|
367
|
+
b,
|
|
368
|
+
a: targetAlpha
|
|
369
|
+
});
|
|
370
|
+
updateColorRef.current(newColor);
|
|
371
|
+
}, []);
|
|
375
372
|
const handlePaletteMouseDown = (e) => {
|
|
376
373
|
e.preventDefault();
|
|
377
374
|
isDraggingRef.current = true;
|
|
@@ -392,24 +389,21 @@ var ColorPicker = (props) => {
|
|
|
392
389
|
window.addEventListener("mousemove", handleMouseMove);
|
|
393
390
|
window.addEventListener("mouseup", handleMouseUp);
|
|
394
391
|
};
|
|
395
|
-
const handleHueDrag = react.useCallback(
|
|
396
|
-
(
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
},
|
|
411
|
-
[]
|
|
412
|
-
);
|
|
392
|
+
const handleHueDrag = react.useCallback((e) => {
|
|
393
|
+
if (!hueSliderRef.current) return;
|
|
394
|
+
const rect = hueSliderRef.current.getBoundingClientRect();
|
|
395
|
+
const x = Math.max(0, Math.min(rect.width, e.clientX - rect.left));
|
|
396
|
+
const h = Math.round(x / rect.width * 360);
|
|
397
|
+
const curr = currentColorRef.current;
|
|
398
|
+
const targetAlpha = curr.a === 0 ? 1 : curr.a;
|
|
399
|
+
const newColor = new Color({
|
|
400
|
+
h: h === 360 ? 0 : h,
|
|
401
|
+
s: curr.s,
|
|
402
|
+
b: curr.b,
|
|
403
|
+
a: targetAlpha
|
|
404
|
+
});
|
|
405
|
+
updateColorRef.current(newColor);
|
|
406
|
+
}, []);
|
|
413
407
|
const handleHueMouseDown = (e) => {
|
|
414
408
|
e.preventDefault();
|
|
415
409
|
handleHueDrag(e);
|
|
@@ -424,23 +418,20 @@ var ColorPicker = (props) => {
|
|
|
424
418
|
window.addEventListener("mousemove", handleMouseMove);
|
|
425
419
|
window.addEventListener("mouseup", handleMouseUp);
|
|
426
420
|
};
|
|
427
|
-
const handleAlphaDrag = react.useCallback(
|
|
428
|
-
(
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
},
|
|
442
|
-
[]
|
|
443
|
-
);
|
|
421
|
+
const handleAlphaDrag = react.useCallback((e) => {
|
|
422
|
+
if (!alphaSliderRef.current) return;
|
|
423
|
+
const rect = alphaSliderRef.current.getBoundingClientRect();
|
|
424
|
+
const x = Math.max(0, Math.min(rect.width, e.clientX - rect.left));
|
|
425
|
+
const a = Number((x / rect.width).toFixed(2));
|
|
426
|
+
const curr = currentColorRef.current;
|
|
427
|
+
const newColor = new Color({
|
|
428
|
+
h: curr.h,
|
|
429
|
+
s: curr.s,
|
|
430
|
+
b: curr.b,
|
|
431
|
+
a
|
|
432
|
+
});
|
|
433
|
+
updateColorRef.current(newColor);
|
|
434
|
+
}, []);
|
|
444
435
|
const handleAlphaMouseDown = (e) => {
|
|
445
436
|
e.preventDefault();
|
|
446
437
|
handleAlphaDrag(e);
|
|
@@ -536,7 +527,18 @@ var ColorPicker = (props) => {
|
|
|
536
527
|
className: "react-public-color-picker-panel-clear-btn",
|
|
537
528
|
onClick: handleClearClick,
|
|
538
529
|
title: "\u6E05\u9664\u989C\u8272",
|
|
539
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", width: "14", height: "14", fill: "none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
530
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", width: "14", height: "14", fill: "none", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
531
|
+
"line",
|
|
532
|
+
{
|
|
533
|
+
x1: "4",
|
|
534
|
+
y1: "4",
|
|
535
|
+
x2: "20",
|
|
536
|
+
y2: "20",
|
|
537
|
+
stroke: "#ff4d4f",
|
|
538
|
+
strokeWidth: "2.5",
|
|
539
|
+
strokeLinecap: "round"
|
|
540
|
+
}
|
|
541
|
+
) })
|
|
540
542
|
}
|
|
541
543
|
)
|
|
542
544
|
] }),
|
|
@@ -768,7 +770,7 @@ var ColorPicker = (props) => {
|
|
|
768
770
|
onClick: () => togglePresetCollapse(idx),
|
|
769
771
|
children: [
|
|
770
772
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
771
|
-
|
|
773
|
+
chunkMBOWSS4B_cjs.DownOutlined,
|
|
772
774
|
{
|
|
773
775
|
style: {
|
|
774
776
|
fontSize: 10,
|
|
@@ -885,7 +887,7 @@ var ColorPicker = (props) => {
|
|
|
885
887
|
renderText()
|
|
886
888
|
] }),
|
|
887
889
|
allowClear && !disabled && /* @__PURE__ */ jsxRuntime.jsx(
|
|
888
|
-
|
|
890
|
+
chunkMBOWSS4B_cjs.CloseCircleFilled,
|
|
889
891
|
{
|
|
890
892
|
className: "react-public-color-picker-clear-icon",
|
|
891
893
|
onClick: handleClearClick
|
|
@@ -920,5 +922,5 @@ var ColorPicker_default = ColorPicker;
|
|
|
920
922
|
exports.Color = Color;
|
|
921
923
|
exports.ColorPicker_default = ColorPicker_default;
|
|
922
924
|
exports.generateColor = generateColor;
|
|
923
|
-
//# sourceMappingURL=chunk-
|
|
924
|
-
//# sourceMappingURL=chunk-
|
|
925
|
+
//# sourceMappingURL=chunk-3UNZXPOT.cjs.map
|
|
926
|
+
//# sourceMappingURL=chunk-3UNZXPOT.cjs.map
|