@xiping/react-components 1.0.70 → 1.0.77
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/cjs/_virtual/_rolldown/runtime.js +1 -0
- package/dist/cjs/components/blur-fade/BlurFade.js +1 -1
- package/dist/cjs/components/blur-text/BlurText.js +1 -1
- package/dist/cjs/components/button/Button.css +1 -1
- package/dist/cjs/components/button/Button2.js +1 -0
- package/dist/cjs/components/comic-text/ComicText2.js +4 -0
- package/dist/cjs/components/confetti-button/index.js +1 -1
- package/dist/cjs/components/dock/Duck.css +1 -1
- package/dist/cjs/components/dock/Duck2.js +1 -0
- package/dist/cjs/components/flip-text/FlipText.css +1 -1
- package/dist/cjs/components/flip-text/FlipText2.js +1 -0
- package/dist/cjs/components/gradient-text/index.css +1 -1
- package/dist/cjs/components/gradient-text/index2.js +1 -0
- package/dist/cjs/components/hyper-text/HyperText.css +1 -1
- package/dist/cjs/components/hyper-text/index.js +1 -1
- package/dist/cjs/components/image-compare/ImageCompare.css +1 -1
- package/dist/cjs/components/image-compare/ImageCompare2.js +1 -0
- package/dist/cjs/components/image-viewer/ImageThumbnails.css +1 -1
- package/dist/cjs/components/image-viewer/ImageThumbnails2.js +1 -0
- package/dist/cjs/components/image-viewer/ImageViewer.css +1 -1
- package/dist/cjs/components/image-viewer/ImageViewer.d.ts +1 -1
- package/dist/cjs/components/image-viewer/ImageViewer2.js +1 -0
- package/dist/cjs/components/message/Message.css +1 -1
- package/dist/cjs/components/message/Message2.js +1 -0
- package/dist/cjs/components/pinch-content/PinchContent.js +1 -1
- package/dist/cjs/components/pinch-content/index.js +1 -1
- package/dist/cjs/components/pointer/Pointer.css +1 -1
- package/dist/cjs/components/pointer/Pointer2.js +1 -0
- package/dist/cjs/components/scratch-to-reveal/ScratchToReveal.css +1 -1
- package/dist/cjs/components/scratch-to-reveal/ScratchToReveal2.js +1 -0
- package/dist/cjs/components/shimmer-button/ShimmerButton.css +1 -1
- package/dist/cjs/components/shimmer-button/ShimmerButton2.js +1 -0
- package/dist/cjs/components/shiny-button/ShinyButton.css +1 -1
- package/dist/cjs/components/shiny-button/ShinyButton2.js +1 -0
- package/dist/cjs/components/shiny-text/ShinyText2.js +1 -0
- package/dist/cjs/components/sparkles-text/SparklesText.css +1 -1
- package/dist/cjs/components/sparkles-text/SparklesText2.js +1 -0
- package/dist/cjs/components/split-text/SplitText.css +1 -1
- package/dist/cjs/components/split-text/SplitText2.js +1 -0
- package/dist/cjs/components/subtitle-player/CurrentMode.css +1 -1
- package/dist/cjs/components/subtitle-player/CurrentMode2.js +2 -0
- package/dist/cjs/components/subtitle-player/LyricsMode.css +1 -1
- package/dist/cjs/components/subtitle-player/LyricsMode2.js +2 -0
- package/dist/cjs/components/subtitle-player/SubtitlePlayer.css +1 -1
- package/dist/cjs/components/subtitle-player/SubtitlePlayer2.js +1 -0
- package/dist/cjs/components/subtitle-player/utils.js +1 -1
- package/dist/cjs/components/text-animate/TextAnimate.css +1 -1
- package/dist/cjs/components/text-animate/TextAnimate2.js +2 -0
- package/dist/cjs/components/text-type/TextType.css +1 -1
- package/dist/cjs/components/text-type/TextType2.js +1 -0
- package/dist/cjs/components/txt-editor/TxtEditor.js +4 -4
- package/dist/cjs/components/txt-reader/TxtReader.js +1 -1
- package/dist/cjs/components/txt-reader/index.module.css +1 -1
- package/dist/cjs/components/txt-reader/index.module.js +1 -0
- package/dist/cjs/components/typing-animation/index.css +1 -1
- package/dist/cjs/components/typing-animation/index2.js +1 -0
- package/dist/cjs/components/variable-proximity/index.css +1 -1
- package/dist/cjs/components/variable-proximity/index2.js +1 -0
- package/dist/cjs/components/video-dialog/VideoDialog.css +1 -1
- package/dist/cjs/components/video-dialog/VideoDialog2.js +1 -0
- package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.css +1 -1
- package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.mobile.css +1 -1
- package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.pc.css +1 -1
- package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer2.js +1 -0
- package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayerMobile.js +1 -1
- package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayerPC.js +1 -1
- package/dist/cjs/components/video-subtitle-player/layouts/VideoSubtitlePlayerLayoutMobile.js +1 -1
- package/dist/cjs/components/video-subtitle-player/layouts/VideoSubtitlePlayerLayoutPC.js +1 -1
- package/dist/cjs/components/video-subtitle-player/useVideoSubtitleStore.js +1 -1
- package/dist/cjs/components/video-subtitle-player/useXGPlayer.js +1 -1
- package/dist/cjs/hooks/useStayTimeReport.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/node_modules/.pnpm/xgplayer@3.0.24_core-js@3.47.0/node_modules/xgplayer/dist/index.min.css +1 -1
- package/dist/cjs/packages/subtitle/lib/index.js +1 -0
- package/dist/cjs/packages/subtitle/lib/src/json-converter.js +1 -1
- package/dist/cjs/packages/subtitle/lib/src/parser.js +5 -5
- package/dist/cjs/react-components.css +27 -27
- package/dist/es/components/blur-fade/BlurFade.js +37 -49
- package/dist/es/components/blur-text/BlurText.js +67 -76
- package/dist/es/components/button/Button.css +1 -1
- package/dist/es/components/button/Button2.js +48 -0
- package/dist/es/components/comic-text/ComicText2.js +55 -0
- package/dist/es/components/confetti-button/index.js +63 -75
- package/dist/es/components/dock/Duck.css +1 -1
- package/dist/es/components/dock/Duck2.js +60 -0
- package/dist/es/components/flip-text/FlipText.css +1 -1
- package/dist/es/components/flip-text/FlipText2.js +41 -0
- package/dist/es/components/gradient-text/index.css +1 -1
- package/dist/es/components/gradient-text/index2.js +29 -0
- package/dist/es/components/hyper-text/HyperText.css +1 -1
- package/dist/es/components/hyper-text/index.js +51 -79
- package/dist/es/components/image-compare/ImageCompare.css +1 -1
- package/dist/es/components/image-compare/ImageCompare2.js +96 -0
- package/dist/es/components/image-viewer/ImageThumbnails.css +1 -1
- package/dist/es/components/image-viewer/ImageThumbnails2.js +40 -0
- package/dist/es/components/image-viewer/ImageViewer.css +1 -1
- package/dist/es/components/image-viewer/ImageViewer.d.ts +1 -1
- package/dist/es/components/image-viewer/ImageViewer2.js +151 -0
- package/dist/es/components/message/Message.css +1 -1
- package/dist/es/components/message/Message2.js +189 -0
- package/dist/es/components/pinch-content/PinchContent.js +120 -127
- package/dist/es/components/pinch-content/index.js +5 -5
- package/dist/es/components/pointer/Pointer.css +1 -1
- package/dist/es/components/pointer/Pointer2.js +61 -0
- package/dist/es/components/react-force-graph-3d/index.js +2 -0
- package/dist/es/components/scratch-to-reveal/ScratchToReveal.css +1 -1
- package/dist/es/components/scratch-to-reveal/ScratchToReveal2.js +88 -0
- package/dist/es/components/shimmer-button/ShimmerButton.css +1 -1
- package/dist/es/components/shimmer-button/ShimmerButton2.js +33 -0
- package/dist/es/components/shiny-button/ShinyButton.css +1 -1
- package/dist/es/components/shiny-button/ShinyButton2.js +53 -0
- package/dist/es/components/shiny-text/ShinyText2.js +61 -0
- package/dist/es/components/sparkles-text/SparklesText.css +1 -1
- package/dist/es/components/sparkles-text/SparklesText2.js +90 -0
- package/dist/es/components/split-text/SplitText.css +1 -1
- package/dist/es/components/split-text/SplitText2.js +109 -0
- package/dist/es/components/subtitle-player/CurrentMode.css +1 -1
- package/dist/es/components/subtitle-player/CurrentMode2.js +44 -0
- package/dist/es/components/subtitle-player/LyricsMode.css +1 -1
- package/dist/es/components/subtitle-player/LyricsMode2.js +114 -0
- package/dist/es/components/subtitle-player/SubtitlePlayer.css +1 -1
- package/dist/es/components/subtitle-player/SubtitlePlayer2.js +169 -0
- package/dist/es/components/subtitle-player/utils.js +63 -69
- package/dist/es/components/text-animate/TextAnimate.css +1 -1
- package/dist/es/components/text-animate/TextAnimate2.js +312 -0
- package/dist/es/components/text-type/TextType.css +1 -1
- package/dist/es/components/text-type/TextType2.js +80 -0
- package/dist/es/components/txt-editor/TxtEditor.js +60 -95
- package/dist/es/components/txt-reader/TxtReader.js +45 -74
- package/dist/es/components/txt-reader/index.module.css +1 -1
- package/dist/es/components/txt-reader/index.module.js +10 -0
- package/dist/es/components/typing-animation/index.css +1 -1
- package/dist/es/components/typing-animation/index2.js +43 -0
- package/dist/es/components/variable-proximity/index.css +1 -1
- package/dist/es/components/variable-proximity/index2.js +179 -0
- package/dist/es/components/video-dialog/VideoDialog.css +1 -1
- package/dist/es/components/video-dialog/VideoDialog2.js +168 -0
- package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.css +1 -1
- package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.mobile.css +1 -1
- package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.pc.css +1 -1
- package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer2.js +43 -0
- package/dist/es/components/video-subtitle-player/VideoSubtitlePlayerMobile.js +29 -46
- package/dist/es/components/video-subtitle-player/VideoSubtitlePlayerPC.js +94 -74
- package/dist/es/components/video-subtitle-player/layouts/VideoSubtitlePlayerLayoutMobile.js +24 -21
- package/dist/es/components/video-subtitle-player/layouts/VideoSubtitlePlayerLayoutPC.js +58 -50
- package/dist/es/components/video-subtitle-player/useVideoSubtitleStore.js +61 -56
- package/dist/es/components/video-subtitle-player/useXGPlayer.js +38 -35
- package/dist/es/hooks/useStayTimeReport.js +29 -29
- package/dist/es/index.js +33 -70
- package/dist/es/node_modules/.pnpm/xgplayer@3.0.24_core-js@3.47.0/node_modules/xgplayer/dist/index.min.css +1 -1
- package/dist/es/packages/subtitle/lib/index.js +2 -0
- package/dist/es/packages/subtitle/lib/src/json-converter.js +22 -23
- package/dist/es/packages/subtitle/lib/src/parser.js +41 -54
- package/dist/es/react-components.css +27 -27
- package/package.json +26 -27
- package/dist/cjs/components/button/Button.js +0 -1
- package/dist/cjs/components/comic-text/ComicText.js +0 -4
- package/dist/cjs/components/dock/Duck.js +0 -1
- package/dist/cjs/components/flip-text/FlipText.js +0 -1
- package/dist/cjs/components/gradient-text/index.js +0 -1
- package/dist/cjs/components/image-compare/ImageCompare.js +0 -1
- package/dist/cjs/components/image-viewer/ImageThumbnails.js +0 -1
- package/dist/cjs/components/image-viewer/ImageViewer.js +0 -1
- package/dist/cjs/components/message/Message.js +0 -1
- package/dist/cjs/components/pointer/Pointer.js +0 -1
- package/dist/cjs/components/scratch-to-reveal/ScratchToReveal.js +0 -1
- package/dist/cjs/components/shimmer-button/ShimmerButton.js +0 -1
- package/dist/cjs/components/shiny-button/ShinyButton.js +0 -1
- package/dist/cjs/components/shiny-text/ShinyText.js +0 -1
- package/dist/cjs/components/sparkles-text/SparklesText.js +0 -1
- package/dist/cjs/components/split-text/SplitText.js +0 -1
- package/dist/cjs/components/subtitle-player/CurrentMode.js +0 -2
- package/dist/cjs/components/subtitle-player/LyricsMode.js +0 -2
- package/dist/cjs/components/subtitle-player/SubtitlePlayer.js +0 -1
- package/dist/cjs/components/text-animate/TextAnimate.js +0 -2
- package/dist/cjs/components/text-type/TextType.js +0 -1
- package/dist/cjs/components/txt-reader/index.module.css.js +0 -1
- package/dist/cjs/components/typing-animation/index.js +0 -1
- package/dist/cjs/components/variable-proximity/index.js +0 -1
- package/dist/cjs/components/video-dialog/VideoDialog.js +0 -1
- package/dist/cjs/components/video-subtitle-player/VideoSubtitlePlayer.js +0 -1
- package/dist/es/components/button/Button.js +0 -72
- package/dist/es/components/comic-text/ComicText.js +0 -52
- package/dist/es/components/dock/Duck.js +0 -80
- package/dist/es/components/flip-text/FlipText.js +0 -38
- package/dist/es/components/gradient-text/index.js +0 -22
- package/dist/es/components/image-compare/ImageCompare.js +0 -127
- package/dist/es/components/image-viewer/ImageThumbnails.js +0 -73
- package/dist/es/components/image-viewer/ImageViewer.js +0 -141
- package/dist/es/components/message/Message.js +0 -220
- package/dist/es/components/pointer/Pointer.js +0 -75
- package/dist/es/components/scratch-to-reveal/ScratchToReveal.js +0 -97
- package/dist/es/components/shimmer-button/ShimmerButton.js +0 -42
- package/dist/es/components/shiny-button/ShinyButton.js +0 -61
- package/dist/es/components/shiny-text/ShinyText.js +0 -76
- package/dist/es/components/sparkles-text/SparklesText.js +0 -71
- package/dist/es/components/split-text/SplitText.js +0 -116
- package/dist/es/components/subtitle-player/CurrentMode.js +0 -78
- package/dist/es/components/subtitle-player/LyricsMode.js +0 -152
- package/dist/es/components/subtitle-player/SubtitlePlayer.js +0 -234
- package/dist/es/components/text-animate/TextAnimate.js +0 -310
- package/dist/es/components/text-type/TextType.js +0 -121
- package/dist/es/components/txt-reader/index.module.css.js +0 -10
- package/dist/es/components/typing-animation/index.js +0 -56
- package/dist/es/components/variable-proximity/index.js +0 -211
- package/dist/es/components/video-dialog/VideoDialog.js +0 -113
- package/dist/es/components/video-subtitle-player/VideoSubtitlePlayer.js +0 -74
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./VideoDialog.css');const i=require("react/jsx-runtime"),p=require("react"),e=require("motion/react"),t=require("lucide-react"),m=require("clsx");;/* empty css */const x={"from-bottom":{initial:{y:"100%",opacity:0},animate:{y:0,opacity:1},exit:{y:"100%",opacity:0}},"from-center":{initial:{scale:.5,opacity:0},animate:{scale:1,opacity:1},exit:{scale:.5,opacity:0}},"from-top":{initial:{y:"-100%",opacity:0},animate:{y:0,opacity:1},exit:{y:"-100%",opacity:0}},"from-left":{initial:{x:"-100%",opacity:0},animate:{x:0,opacity:1},exit:{x:"-100%",opacity:0}},"from-right":{initial:{x:"100%",opacity:0},animate:{x:0,opacity:1},exit:{x:"100%",opacity:0}},fade:{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0}},"top-in-bottom-out":{initial:{y:"-100%",opacity:0},animate:{y:0,opacity:1},exit:{y:"100%",opacity:0}},"left-in-right-out":{initial:{x:"-100%",opacity:0},animate:{x:0,opacity:1},exit:{x:"100%",opacity:0}}};function y({animationStyle:o="from-center",videoSrc:n,thumbnailSrc:c,thumbnailAlt:l="Video thumbnail",className:s}){const[r,a]=p.useState(!1),d=x[o];return i.jsxs("div",{className:m("xiping-video-dialog",s),children:[i.jsxs("div",{className:"xiping-video-dialog-container",onClick:()=>a(!0),children:[i.jsx("img",{src:c,alt:l,width:1920,height:1080,className:"xiping-video-dialog-thumbnail"}),i.jsx("div",{className:"xiping-video-dialog-overlay",children:i.jsx("div",{className:"xiping-video-dialog-play-outer",children:i.jsx("div",{className:"xiping-video-dialog-play-inner",children:i.jsx(t.Play,{className:"xiping-video-dialog-play-icon"})})})})]}),i.jsx(e.AnimatePresence,{children:r&&i.jsx(e.motion.div,{initial:{opacity:0},animate:{opacity:1},onClick:()=>a(!1),exit:{opacity:0},className:"xiping-video-dialog-modal",children:i.jsxs(e.motion.div,{...d,transition:{type:"spring",damping:30,stiffness:300},className:"xiping-video-dialog-modal-content",children:[i.jsx(e.motion.button,{className:"xiping-video-dialog-close-button",children:i.jsx(t.XIcon,{className:"xiping-video-dialog-close-icon"})}),i.jsx("div",{className:"xiping-video-dialog-video-wrapper",children:i.jsx("iframe",{src:n,className:"xiping-video-dialog-iframe",allowFullScreen:!0,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"})})]})})})]})}exports.VideoDialog=y;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./VideoSubtitlePlayer.css');const b=require("react/jsx-runtime"),o=require("react"),y=require("react-device-detect"),M=require("./useVideoSubtitleStore.js"),W=require("./useXGPlayer.js"),j=require("./VideoSubtitlePlayerPC.js"),k=require("./VideoSubtitlePlayerMobile.js");;/* empty css */const m=({videoUrl:S,subtitles:r,poster:P,className:s="",style:a,onFetchDetail:e,forceLayout:n})=>{const l=o.useRef(null),C=n!==void 0?n==="mobile":y.isMobile||y.isTablet,{currentTime:u,setCurrentTime:f,setIsPlaying:q,setSubtitles:c,currentDetail:V,isLoadingDetail:v,fetchDetail:t}=M.useVideoSubtitleStore();o.useEffect(()=>{c(r)},[r,c]),W.useXGPlayer(l,S,P,{setCurrentTime:f,setIsPlaying:q},u);const d=o.useCallback(async i=>{e?await e(i):await t(i)},[e,t]),g=o.useCallback(async i=>{e?await e(i):await t(i)},[e,t]);return C?b.jsx(k.VideoSubtitlePlayerMobile,{playerRef:l,subtitles:r,currentTime:u,onWordHoverChange:d,onWordClick:g,className:s,style:a}):b.jsx(j.VideoSubtitlePlayerPC,{playerRef:l,subtitles:r,currentTime:u,currentDetail:V,isLoadingDetail:v,onWordHoverChange:d,className:s,style:a})};exports.VideoSubtitlePlayer=m;
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { jsxs as o, jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import './Button.css';/* empty css */
|
|
3
|
-
const h = ({
|
|
4
|
-
variant: s = "primary",
|
|
5
|
-
size: r = "medium",
|
|
6
|
-
className: p,
|
|
7
|
-
children: c,
|
|
8
|
-
leftIcon: i,
|
|
9
|
-
rightIcon: e,
|
|
10
|
-
isLoading: t = !1,
|
|
11
|
-
isDisabled: l = !1,
|
|
12
|
-
fullWidth: a = !1,
|
|
13
|
-
type: u = "button",
|
|
14
|
-
...x
|
|
15
|
-
}) => {
|
|
16
|
-
const b = [
|
|
17
|
-
"xiping-button",
|
|
18
|
-
`xiping-button--${s}`,
|
|
19
|
-
`xiping-button--${r}`,
|
|
20
|
-
l && "xiping-button--disabled",
|
|
21
|
-
a && "xiping-button--full-width",
|
|
22
|
-
t && "xiping-button--loading",
|
|
23
|
-
p
|
|
24
|
-
].filter(Boolean).join(" ");
|
|
25
|
-
return /* @__PURE__ */ o(
|
|
26
|
-
"button",
|
|
27
|
-
{
|
|
28
|
-
type: u,
|
|
29
|
-
className: b,
|
|
30
|
-
disabled: l || t,
|
|
31
|
-
...x,
|
|
32
|
-
children: [
|
|
33
|
-
t && /* @__PURE__ */ o(
|
|
34
|
-
"svg",
|
|
35
|
-
{
|
|
36
|
-
className: "xiping-button__spinner",
|
|
37
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
38
|
-
fill: "none",
|
|
39
|
-
viewBox: "0 0 24 24",
|
|
40
|
-
children: [
|
|
41
|
-
/* @__PURE__ */ n(
|
|
42
|
-
"circle",
|
|
43
|
-
{
|
|
44
|
-
className: "xiping-button__spinner-circle",
|
|
45
|
-
cx: "12",
|
|
46
|
-
cy: "12",
|
|
47
|
-
r: "10",
|
|
48
|
-
stroke: "currentColor",
|
|
49
|
-
strokeWidth: "4"
|
|
50
|
-
}
|
|
51
|
-
),
|
|
52
|
-
/* @__PURE__ */ n(
|
|
53
|
-
"path",
|
|
54
|
-
{
|
|
55
|
-
className: "xiping-button__spinner-path",
|
|
56
|
-
fill: "currentColor",
|
|
57
|
-
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
58
|
-
}
|
|
59
|
-
)
|
|
60
|
-
]
|
|
61
|
-
}
|
|
62
|
-
),
|
|
63
|
-
!t && i && /* @__PURE__ */ n("span", { className: "xiping-button__icon-left", children: i }),
|
|
64
|
-
c,
|
|
65
|
-
!t && e && /* @__PURE__ */ n("span", { className: "xiping-button__icon-right", children: e })
|
|
66
|
-
]
|
|
67
|
-
}
|
|
68
|
-
);
|
|
69
|
-
};
|
|
70
|
-
export {
|
|
71
|
-
h as Button
|
|
72
|
-
};
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as i } from "react/jsx-runtime";
|
|
3
|
-
import { motion as n } from "motion/react";
|
|
4
|
-
import p from "clsx";
|
|
5
|
-
import './ComicText.css';/* empty css */
|
|
6
|
-
function d({
|
|
7
|
-
children: t,
|
|
8
|
-
className: e,
|
|
9
|
-
style: a,
|
|
10
|
-
fontSize: r = 5
|
|
11
|
-
}) {
|
|
12
|
-
if (typeof t != "string")
|
|
13
|
-
throw new Error("children must be a string");
|
|
14
|
-
const o = "#EF4444";
|
|
15
|
-
return /* @__PURE__ */ i(
|
|
16
|
-
n.div,
|
|
17
|
-
{
|
|
18
|
-
className: p("xiping-comic-text", e),
|
|
19
|
-
style: {
|
|
20
|
-
fontSize: `${r}rem`,
|
|
21
|
-
fontFamily: "'Bangers', 'Comic Sans MS', 'Impact', sans-serif",
|
|
22
|
-
fontWeight: "900",
|
|
23
|
-
WebkitTextStroke: `${r * 0.35}px #000000`,
|
|
24
|
-
// Thick black outline
|
|
25
|
-
transform: "skewX(-10deg)",
|
|
26
|
-
textTransform: "uppercase",
|
|
27
|
-
filter: `
|
|
28
|
-
drop-shadow(5px 5px 0px #000000)
|
|
29
|
-
drop-shadow(3px 3px 0px ${o})
|
|
30
|
-
`,
|
|
31
|
-
backgroundColor: "#FACC15",
|
|
32
|
-
backgroundImage: `radial-gradient(circle at 1px 1px, ${o} 1px, transparent 0)`,
|
|
33
|
-
backgroundSize: "8px 8px",
|
|
34
|
-
backgroundClip: "text",
|
|
35
|
-
WebkitBackgroundClip: "text",
|
|
36
|
-
WebkitTextFillColor: "transparent",
|
|
37
|
-
...a
|
|
38
|
-
},
|
|
39
|
-
initial: { opacity: 0, scale: 0.8, rotate: -2 },
|
|
40
|
-
animate: { opacity: 1, scale: 1, rotate: 0 },
|
|
41
|
-
transition: {
|
|
42
|
-
duration: 0.6,
|
|
43
|
-
ease: [0.175, 0.885, 0.32, 1.275],
|
|
44
|
-
type: "spring"
|
|
45
|
-
},
|
|
46
|
-
children: t
|
|
47
|
-
}
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
export {
|
|
51
|
-
d as ComicText
|
|
52
|
-
};
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as g } from "react/jsx-runtime";
|
|
3
|
-
import { useMotionValue as x, motion as I, useTransform as f, useSpring as A } from "motion/react";
|
|
4
|
-
import r, { useRef as C } from "react";
|
|
5
|
-
import k from "clsx";
|
|
6
|
-
import './Duck.css';/* empty css */
|
|
7
|
-
const D = 40, y = 60, E = 140, h = r.forwardRef(
|
|
8
|
-
({
|
|
9
|
-
className: o,
|
|
10
|
-
children: c,
|
|
11
|
-
iconSize: s = D,
|
|
12
|
-
iconMagnification: m = y,
|
|
13
|
-
iconDistance: a = E,
|
|
14
|
-
direction: t = "middle",
|
|
15
|
-
...d
|
|
16
|
-
}, i) => {
|
|
17
|
-
const e = x(1 / 0), p = () => r.Children.map(c, (n) => r.isValidElement(n) && n.type === M ? r.cloneElement(n, {
|
|
18
|
-
...n.props,
|
|
19
|
-
mouseX: e,
|
|
20
|
-
size: s,
|
|
21
|
-
magnification: m,
|
|
22
|
-
distance: a
|
|
23
|
-
}) : n);
|
|
24
|
-
return /* @__PURE__ */ g(
|
|
25
|
-
I.div,
|
|
26
|
-
{
|
|
27
|
-
ref: i,
|
|
28
|
-
onMouseMove: (n) => e.set(n.pageX),
|
|
29
|
-
onMouseLeave: () => e.set(1 / 0),
|
|
30
|
-
...d,
|
|
31
|
-
className: k(
|
|
32
|
-
"xiping-dock",
|
|
33
|
-
t === "top" && "xiping-dock--top",
|
|
34
|
-
t === "bottom" && "xiping-dock--bottom",
|
|
35
|
-
t === "middle" && "xiping-dock--middle",
|
|
36
|
-
o
|
|
37
|
-
),
|
|
38
|
-
children: p()
|
|
39
|
-
}
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
);
|
|
43
|
-
h.displayName = "Dock";
|
|
44
|
-
const M = ({
|
|
45
|
-
size: o = D,
|
|
46
|
-
magnification: c = y,
|
|
47
|
-
distance: s = E,
|
|
48
|
-
mouseX: m,
|
|
49
|
-
className: a,
|
|
50
|
-
children: t,
|
|
51
|
-
...d
|
|
52
|
-
}) => {
|
|
53
|
-
const i = C(null), e = Math.max(6, o * 0.2), p = x(1 / 0), n = f(m ?? p, (T) => {
|
|
54
|
-
const l = i.current?.getBoundingClientRect() ?? { x: 0, width: 0 };
|
|
55
|
-
return T - l.x - l.width / 2;
|
|
56
|
-
}), N = f(
|
|
57
|
-
n,
|
|
58
|
-
[-s, 0, s],
|
|
59
|
-
[o, c, o]
|
|
60
|
-
), u = A(N, {
|
|
61
|
-
mass: 0.1,
|
|
62
|
-
stiffness: 150,
|
|
63
|
-
damping: 12
|
|
64
|
-
});
|
|
65
|
-
return /* @__PURE__ */ g(
|
|
66
|
-
I.div,
|
|
67
|
-
{
|
|
68
|
-
ref: i,
|
|
69
|
-
style: { width: u, height: u, padding: e },
|
|
70
|
-
className: k("xiping-dock-icon", a),
|
|
71
|
-
...d,
|
|
72
|
-
children: t
|
|
73
|
-
}
|
|
74
|
-
);
|
|
75
|
-
};
|
|
76
|
-
M.displayName = "DockIcon";
|
|
77
|
-
export {
|
|
78
|
-
h as Dock,
|
|
79
|
-
M as DockIcon
|
|
80
|
-
};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as i } from "react/jsx-runtime";
|
|
3
|
-
import { motion as d, AnimatePresence as h } from "motion/react";
|
|
4
|
-
import f from "react";
|
|
5
|
-
import x from "clsx";
|
|
6
|
-
import './FlipText.css';/* empty css */
|
|
7
|
-
const u = {
|
|
8
|
-
hidden: { rotateX: -90, opacity: 0 },
|
|
9
|
-
visible: { rotateX: 0, opacity: 1 }
|
|
10
|
-
};
|
|
11
|
-
function A({
|
|
12
|
-
children: e,
|
|
13
|
-
duration: n = 0.5,
|
|
14
|
-
delayMultiple: a = 0.08,
|
|
15
|
-
className: o,
|
|
16
|
-
as: r = "span",
|
|
17
|
-
variants: c,
|
|
18
|
-
...s
|
|
19
|
-
}) {
|
|
20
|
-
const l = d.create(r), m = f.Children.toArray(e).join("").split("");
|
|
21
|
-
return /* @__PURE__ */ i("div", { className: "xiping-flip-container", children: /* @__PURE__ */ i(h, { mode: "wait", children: m.map((p, t) => /* @__PURE__ */ i(
|
|
22
|
-
l,
|
|
23
|
-
{
|
|
24
|
-
initial: "hidden",
|
|
25
|
-
animate: "visible",
|
|
26
|
-
exit: "hidden",
|
|
27
|
-
variants: c || u,
|
|
28
|
-
transition: { duration: n, delay: t * a },
|
|
29
|
-
className: x("xiping-flip-char", o),
|
|
30
|
-
...s,
|
|
31
|
-
children: p
|
|
32
|
-
},
|
|
33
|
-
t
|
|
34
|
-
)) }) });
|
|
35
|
-
}
|
|
36
|
-
export {
|
|
37
|
-
A as FlipText
|
|
38
|
-
};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { jsxs as s, jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import f from "clsx";
|
|
3
|
-
import './index.css';/* empty css */
|
|
4
|
-
function x({
|
|
5
|
-
children: i,
|
|
6
|
-
className: e = "",
|
|
7
|
-
colors: n = ["#40ffaa", "#4079ff", "#40ffaa", "#4079ff", "#40ffaa"],
|
|
8
|
-
animationSpeed: r = 8,
|
|
9
|
-
showBorder: o = !1
|
|
10
|
-
}) {
|
|
11
|
-
const t = {
|
|
12
|
-
backgroundImage: `linear-gradient(to right, ${n.join(", ")})`,
|
|
13
|
-
animationDuration: `${r}s`
|
|
14
|
-
};
|
|
15
|
-
return /* @__PURE__ */ s("div", { className: f("xiping-gradient-text", e), children: [
|
|
16
|
-
o && /* @__PURE__ */ a("div", { className: "xiping-gradient-text__overlay", style: t }),
|
|
17
|
-
/* @__PURE__ */ a("div", { className: "xiping-gradient-text__content", style: t, children: i })
|
|
18
|
-
] });
|
|
19
|
-
}
|
|
20
|
-
export {
|
|
21
|
-
x as GradientText
|
|
22
|
-
};
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { jsxs as X, jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import w from "clsx";
|
|
3
|
-
import { useState as N, useRef as r, useCallback as a, useEffect as S, useMemo as b } from "react";
|
|
4
|
-
import './ImageCompare.css';/* empty css */
|
|
5
|
-
const O = (I) => {
|
|
6
|
-
const {
|
|
7
|
-
originalImage: c,
|
|
8
|
-
modifiedImage: x,
|
|
9
|
-
className: $,
|
|
10
|
-
dividerWidth: l = 1,
|
|
11
|
-
originalLabel: P = "Original",
|
|
12
|
-
modifiedLabel: A = "Modified",
|
|
13
|
-
theme: M = "light"
|
|
14
|
-
} = I, [s, C] = N(50), [k, D] = N(16 / 9), h = r(null), d = r(!1), o = r(null), u = r(null), n = r(null), R = a((e) => {
|
|
15
|
-
if (!h.current) return;
|
|
16
|
-
(!u.current || !d.current) && (u.current = h.current.getBoundingClientRect());
|
|
17
|
-
const i = u.current, g = (e - i.left) / i.width * 100, p = Math.min(100, Math.max(0, g));
|
|
18
|
-
C(p);
|
|
19
|
-
}, []), m = a((e) => {
|
|
20
|
-
d.current && (o.current !== null && cancelAnimationFrame(o.current), o.current = requestAnimationFrame(() => {
|
|
21
|
-
R(e);
|
|
22
|
-
}));
|
|
23
|
-
}, [R]), L = a((e) => {
|
|
24
|
-
m(e.clientX);
|
|
25
|
-
}, [m]), E = a((e) => {
|
|
26
|
-
e.touches.length > 0 && m(e.touches[0].clientX);
|
|
27
|
-
}, [m]), y = a(() => {
|
|
28
|
-
d.current = !0, u.current = null;
|
|
29
|
-
const e = (f) => L(f), i = (f) => E(f), v = () => {
|
|
30
|
-
d.current = !1, o.current !== null && (cancelAnimationFrame(o.current), o.current = null), n.current && (n.current(), n.current = null);
|
|
31
|
-
}, g = () => v(), p = () => v();
|
|
32
|
-
window.addEventListener("mousemove", e), window.addEventListener("touchmove", i, { passive: !1 }), window.addEventListener("mouseup", g), window.addEventListener("touchend", p);
|
|
33
|
-
const F = () => {
|
|
34
|
-
window.removeEventListener("mousemove", e), window.removeEventListener("touchmove", i), window.removeEventListener("mouseup", g), window.removeEventListener("touchend", p);
|
|
35
|
-
};
|
|
36
|
-
n.current = F;
|
|
37
|
-
}, [L, E]);
|
|
38
|
-
S(() => () => {
|
|
39
|
-
n.current && (n.current(), n.current = null);
|
|
40
|
-
}, []), S(() => {
|
|
41
|
-
const e = new Image();
|
|
42
|
-
e.onload = () => {
|
|
43
|
-
D(e.width / e.height);
|
|
44
|
-
}, e.src = c;
|
|
45
|
-
}, [c]);
|
|
46
|
-
const G = b(
|
|
47
|
-
() => ({
|
|
48
|
-
backgroundRepeat: "no-repeat",
|
|
49
|
-
backgroundPosition: "top left",
|
|
50
|
-
backgroundImage: `url(${c})`,
|
|
51
|
-
backgroundSize: "contain",
|
|
52
|
-
aspectRatio: k
|
|
53
|
-
}),
|
|
54
|
-
[c, k]
|
|
55
|
-
), T = b(
|
|
56
|
-
() => ({
|
|
57
|
-
width: `${s}%`,
|
|
58
|
-
backgroundImage: `url(${x})`,
|
|
59
|
-
backgroundRepeat: "no-repeat",
|
|
60
|
-
backgroundPosition: "top left",
|
|
61
|
-
backgroundSize: "auto 100%"
|
|
62
|
-
}),
|
|
63
|
-
[s, x]
|
|
64
|
-
), j = b(
|
|
65
|
-
() => ({
|
|
66
|
-
left: `${s}%`,
|
|
67
|
-
transform: "translateX(-50%)",
|
|
68
|
-
width: typeof l == "number" ? `${l}px` : l
|
|
69
|
-
}),
|
|
70
|
-
[s, l]
|
|
71
|
-
);
|
|
72
|
-
return /* @__PURE__ */ X(
|
|
73
|
-
"div",
|
|
74
|
-
{
|
|
75
|
-
ref: h,
|
|
76
|
-
className: w("xiping-image-compare-container", $),
|
|
77
|
-
style: G,
|
|
78
|
-
children: [
|
|
79
|
-
/* @__PURE__ */ t("div", { className: "xiping-image-compare-label xiping-image-compare-label-original", children: P }),
|
|
80
|
-
/* @__PURE__ */ t(
|
|
81
|
-
"div",
|
|
82
|
-
{
|
|
83
|
-
className: "xiping-image-compare-overlay",
|
|
84
|
-
style: T,
|
|
85
|
-
children: /* @__PURE__ */ t("div", { className: "xiping-image-compare-label xiping-image-compare-label-modified", children: A })
|
|
86
|
-
}
|
|
87
|
-
),
|
|
88
|
-
/* @__PURE__ */ t(
|
|
89
|
-
"div",
|
|
90
|
-
{
|
|
91
|
-
className: w(
|
|
92
|
-
"xiping-image-compare-divider",
|
|
93
|
-
`xiping-image-compare-divider-theme-${M}`
|
|
94
|
-
),
|
|
95
|
-
style: j,
|
|
96
|
-
onMouseDown: y,
|
|
97
|
-
onTouchStart: y,
|
|
98
|
-
children: /* @__PURE__ */ t("div", { className: w(
|
|
99
|
-
"xiping-image-compare-divider-button",
|
|
100
|
-
`xiping-image-compare-divider-button-theme-${M}`
|
|
101
|
-
), children: /* @__PURE__ */ t(
|
|
102
|
-
"svg",
|
|
103
|
-
{
|
|
104
|
-
className: "xiping-image-compare-divider-icon",
|
|
105
|
-
fill: "none",
|
|
106
|
-
stroke: "currentColor",
|
|
107
|
-
viewBox: "0 0 24 24",
|
|
108
|
-
children: /* @__PURE__ */ t(
|
|
109
|
-
"path",
|
|
110
|
-
{
|
|
111
|
-
strokeLinecap: "round",
|
|
112
|
-
strokeLinejoin: "round",
|
|
113
|
-
strokeWidth: 2,
|
|
114
|
-
d: "M8 9l4-4 4 4m0 6l-4 4-4-4"
|
|
115
|
-
}
|
|
116
|
-
)
|
|
117
|
-
}
|
|
118
|
-
) })
|
|
119
|
-
}
|
|
120
|
-
)
|
|
121
|
-
]
|
|
122
|
-
}
|
|
123
|
-
);
|
|
124
|
-
};
|
|
125
|
-
export {
|
|
126
|
-
O as default
|
|
127
|
-
};
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { useScroll as f, motion as h, useMotionValue as b, useMotionValueEvent as x, animate as r } from "motion/react";
|
|
3
|
-
import { size as v } from "lodash-es";
|
|
4
|
-
import { useRef as I } from "react";
|
|
5
|
-
import g from "clsx";
|
|
6
|
-
import './ImageThumbnails.css';/* empty css */
|
|
7
|
-
const $ = "0%", N = "100%", u = "20%", l = "80%", a = "#0000", e = "#000";
|
|
8
|
-
function k(i) {
|
|
9
|
-
const n = b(
|
|
10
|
-
`linear-gradient(90deg, ${e}, ${e} ${$}, ${e} ${l}, ${a})`
|
|
11
|
-
);
|
|
12
|
-
return x(i, "change", (s) => {
|
|
13
|
-
s === 0 ? r(
|
|
14
|
-
n,
|
|
15
|
-
`linear-gradient(90deg, ${e}, ${e} ${$}, ${e} ${l}, ${a})`
|
|
16
|
-
) : s === 1 ? r(
|
|
17
|
-
n,
|
|
18
|
-
`linear-gradient(90deg, ${a}, ${e} ${u}, ${e} ${N}, ${e})`
|
|
19
|
-
) : (i.getPrevious() === 0 || i.getPrevious() === 1) && r(
|
|
20
|
-
n,
|
|
21
|
-
`linear-gradient(90deg, ${a}, ${e} ${u}, ${e} ${l}, ${a})`
|
|
22
|
-
);
|
|
23
|
-
}), n;
|
|
24
|
-
}
|
|
25
|
-
const q = ({
|
|
26
|
-
images: i,
|
|
27
|
-
currentIndex: n,
|
|
28
|
-
onImageSelect: s
|
|
29
|
-
}) => {
|
|
30
|
-
const o = I(null), { scrollXProgress: p } = f({ container: o }), d = k(p);
|
|
31
|
-
return /* @__PURE__ */ t(
|
|
32
|
-
"div",
|
|
33
|
-
{
|
|
34
|
-
className: g(
|
|
35
|
-
"xiping-thumbnails-wrapper",
|
|
36
|
-
v(i) <= 1 && "xiping-thumbnails-wrapper--hidden"
|
|
37
|
-
),
|
|
38
|
-
children: /* @__PURE__ */ t(
|
|
39
|
-
h.div,
|
|
40
|
-
{
|
|
41
|
-
ref: o,
|
|
42
|
-
style: {
|
|
43
|
-
maskImage: d
|
|
44
|
-
},
|
|
45
|
-
className: "xiping-thumbnails-scroll",
|
|
46
|
-
children: /* @__PURE__ */ t("div", { className: "xiping-thumbnails-container", children: i.map((m, c) => /* @__PURE__ */ t(
|
|
47
|
-
"div",
|
|
48
|
-
{
|
|
49
|
-
className: g(
|
|
50
|
-
"xiping-thumbnail-item",
|
|
51
|
-
c === n && "xiping-thumbnail-item--active"
|
|
52
|
-
),
|
|
53
|
-
onClick: () => s(c),
|
|
54
|
-
children: /* @__PURE__ */ t(
|
|
55
|
-
"img",
|
|
56
|
-
{
|
|
57
|
-
src: m,
|
|
58
|
-
alt: "",
|
|
59
|
-
className: "xiping-thumbnail-image",
|
|
60
|
-
draggable: "false"
|
|
61
|
-
}
|
|
62
|
-
)
|
|
63
|
-
},
|
|
64
|
-
m
|
|
65
|
-
)) })
|
|
66
|
-
}
|
|
67
|
-
)
|
|
68
|
-
}
|
|
69
|
-
);
|
|
70
|
-
};
|
|
71
|
-
export {
|
|
72
|
-
q as default
|
|
73
|
-
};
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as n, jsxs as f } from "react/jsx-runtime";
|
|
3
|
-
import { Modal as z, ModalContent as O, Spinner as S } from "@heroui/react";
|
|
4
|
-
import P from "../pinch-content/PinchContent.js";
|
|
5
|
-
import V from "./ImageThumbnails.js";
|
|
6
|
-
import { useState as v, useCallback as b, useEffect as x } from "react";
|
|
7
|
-
import d from "clsx";
|
|
8
|
-
import { Download as X, X as B } from "lucide-react";
|
|
9
|
-
import { AnimatePresence as K, motion as W } from "motion/react";
|
|
10
|
-
import './ImageViewer.css';/* empty css */
|
|
11
|
-
const C = (l) => {
|
|
12
|
-
l.target.closest(".xiping-main-content") && l.preventDefault();
|
|
13
|
-
}, $ = (l) => {
|
|
14
|
-
const {
|
|
15
|
-
isOpen: a,
|
|
16
|
-
onClose: w,
|
|
17
|
-
imgSrc: g,
|
|
18
|
-
thumbnailImages: N,
|
|
19
|
-
canDownload: y = !1,
|
|
20
|
-
wrapperClassName: I,
|
|
21
|
-
closeClassName: E,
|
|
22
|
-
downloadClassName: L,
|
|
23
|
-
toolWrapperClassName: k,
|
|
24
|
-
initialIndex: D = 0
|
|
25
|
-
} = l, o = Array.isArray(g) ? g : [g], A = N || o, R = Math.max(
|
|
26
|
-
0,
|
|
27
|
-
Math.min(D, o.length - 1)
|
|
28
|
-
), [c, p] = v(R), [M, u] = v(!0), m = b(() => {
|
|
29
|
-
u(!0), w();
|
|
30
|
-
}, [w]), T = async () => {
|
|
31
|
-
const i = o[c];
|
|
32
|
-
try {
|
|
33
|
-
const r = await (await fetch(i)).blob(), e = window.URL.createObjectURL(r), s = document.createElement("a");
|
|
34
|
-
s.href = e, s.download = i.split("/").pop() || "image", document.body.appendChild(s), s.click(), window.URL.revokeObjectURL(e), document.body.removeChild(s);
|
|
35
|
-
} catch (t) {
|
|
36
|
-
console.error("Error downloading image:", t);
|
|
37
|
-
}
|
|
38
|
-
}, U = () => {
|
|
39
|
-
u(!1);
|
|
40
|
-
}, j = () => {
|
|
41
|
-
u(!1);
|
|
42
|
-
};
|
|
43
|
-
x(() => {
|
|
44
|
-
if (a)
|
|
45
|
-
return document.addEventListener("touchmove", C, {
|
|
46
|
-
passive: !1
|
|
47
|
-
}), () => {
|
|
48
|
-
document.removeEventListener("touchmove", C);
|
|
49
|
-
};
|
|
50
|
-
}, [a]);
|
|
51
|
-
const h = b(() => {
|
|
52
|
-
"vibrate" in navigator && navigator.vibrate([50, 50, 50]);
|
|
53
|
-
}, []);
|
|
54
|
-
return x(() => {
|
|
55
|
-
if (!a) return;
|
|
56
|
-
const i = (t) => {
|
|
57
|
-
const r = t.target;
|
|
58
|
-
if (!(r.tagName === "INPUT" || r.tagName === "TEXTAREA" || r.isContentEditable))
|
|
59
|
-
switch (t.key) {
|
|
60
|
-
case "ArrowLeft":
|
|
61
|
-
t.preventDefault(), p((e) => e > 0 ? e - 1 : (h(), e));
|
|
62
|
-
break;
|
|
63
|
-
case "ArrowRight":
|
|
64
|
-
t.preventDefault(), p((e) => e < o.length - 1 ? e + 1 : (h(), e));
|
|
65
|
-
break;
|
|
66
|
-
case "Escape":
|
|
67
|
-
t.preventDefault(), m();
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
return document.addEventListener("keydown", i), () => {
|
|
72
|
-
document.removeEventListener("keydown", i);
|
|
73
|
-
};
|
|
74
|
-
}, [a, o.length, m, h]), /* @__PURE__ */ n(
|
|
75
|
-
z,
|
|
76
|
-
{
|
|
77
|
-
isOpen: a,
|
|
78
|
-
size: "full",
|
|
79
|
-
onClose: m,
|
|
80
|
-
classNames: {
|
|
81
|
-
wrapper: d(I)
|
|
82
|
-
},
|
|
83
|
-
className: "xiping-modal-overlay",
|
|
84
|
-
hideCloseButton: !0,
|
|
85
|
-
portalContainer: document.body,
|
|
86
|
-
children: /* @__PURE__ */ n(O, { className: "xiping-modal-content", children: /* @__PURE__ */ f("div", { className: "xiping-wrapper", children: [
|
|
87
|
-
/* @__PURE__ */ f("div", { className: d("xiping-tool-wrapper", k), children: [
|
|
88
|
-
y && /* @__PURE__ */ n(
|
|
89
|
-
X,
|
|
90
|
-
{
|
|
91
|
-
size: 24,
|
|
92
|
-
className: d("xiping-download-icon", L),
|
|
93
|
-
onClick: T
|
|
94
|
-
}
|
|
95
|
-
),
|
|
96
|
-
/* @__PURE__ */ n(
|
|
97
|
-
B,
|
|
98
|
-
{
|
|
99
|
-
size: 24,
|
|
100
|
-
className: d("xiping-close-icon", E),
|
|
101
|
-
onClick: m
|
|
102
|
-
}
|
|
103
|
-
)
|
|
104
|
-
] }),
|
|
105
|
-
/* @__PURE__ */ f("div", { className: "xiping-main-content", children: [
|
|
106
|
-
/* @__PURE__ */ n(P, { canRotate: !1, className: "xiping-pinch-content", children: /* @__PURE__ */ n(K, { mode: "wait", children: /* @__PURE__ */ n(
|
|
107
|
-
W.img,
|
|
108
|
-
{
|
|
109
|
-
draggable: "false",
|
|
110
|
-
src: o[c],
|
|
111
|
-
alt: "",
|
|
112
|
-
className: "xiping-image",
|
|
113
|
-
onLoad: U,
|
|
114
|
-
onError: j,
|
|
115
|
-
initial: { opacity: 0, scale: 0.95 },
|
|
116
|
-
animate: { opacity: 1, scale: 1 },
|
|
117
|
-
exit: { opacity: 0, scale: 1.05 },
|
|
118
|
-
transition: {
|
|
119
|
-
duration: 0.3,
|
|
120
|
-
ease: "easeInOut"
|
|
121
|
-
}
|
|
122
|
-
},
|
|
123
|
-
c
|
|
124
|
-
) }) }),
|
|
125
|
-
M && /* @__PURE__ */ n("div", { className: "xiping-loading", children: /* @__PURE__ */ n(S, { color: "white", size: "lg" }) })
|
|
126
|
-
] }),
|
|
127
|
-
/* @__PURE__ */ n(
|
|
128
|
-
V,
|
|
129
|
-
{
|
|
130
|
-
images: A,
|
|
131
|
-
currentIndex: c,
|
|
132
|
-
onImageSelect: p
|
|
133
|
-
}
|
|
134
|
-
)
|
|
135
|
-
] }) })
|
|
136
|
-
}
|
|
137
|
-
);
|
|
138
|
-
};
|
|
139
|
-
export {
|
|
140
|
-
$ as default
|
|
141
|
-
};
|