@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));exports.__toESM=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";require(`../../_virtual/_rolldown/runtime.js`);let e=require(`react/jsx-runtime`),t=require(`react`),n=require(`motion/react`);function r({children:r,className:i,variant:a,duration:o=.4,delay:s=0,offset:c=6,direction:l=`down`,inView:u=!1,inViewMargin:d=`-50px`,blur:f=`6px`,...p}){let m=(0,t.useRef)(null),h=(0,n.useInView)(m,{once:!0,margin:d}),g=!u||h,_={hidden:{[l===`left`||l===`right`?`x`:`y`]:l===`right`||l===`down`?-c:c,opacity:0,filter:`blur(${f})`},visible:{[l===`left`||l===`right`?`x`:`y`]:0,opacity:1,filter:`blur(0px)`}},v=a||_;return(0,e.jsx)(n.AnimatePresence,{children:(0,e.jsx)(n.motion.div,{ref:m,initial:`hidden`,animate:g?`visible`:`hidden`,exit:`hidden`,variants:v,transition:{delay:.04+s,duration:o,ease:`easeOut`},className:i,...p,children:r})})}exports.BlurFade=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.js`);let e=require(`react/jsx-runtime`),t=require(`react`),n=require(`motion/react`);var r=(e,t)=>{let n=new Set([...Object.keys(e),...t.flatMap(e=>Object.keys(e))]),r={};return n.forEach(n=>{r[n]=[e[n],...t.map(e=>e[n])]}),r},i=({text:i=``,delay:a=200,className:o=``,animateBy:s=`words`,direction:c=`top`,threshold:l=.1,rootMargin:u=`0px`,animationFrom:d,animationTo:f,easing:p=e=>e,onAnimationComplete:m,stepDuration:h=.35})=>{let g=s===`words`?i.split(` `):i.split(``),[_,v]=(0,t.useState)(!1),y=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(!y.current)return;let e=new IntersectionObserver(([t])=>{t.isIntersecting&&(v(!0),e.unobserve(y.current))},{threshold:l,rootMargin:u});return e.observe(y.current),()=>e.disconnect()},[l,u]);let b=(0,t.useMemo)(()=>c===`top`?{filter:`blur(10px)`,opacity:0,y:-50}:{filter:`blur(10px)`,opacity:0,y:50},[c]),x=(0,t.useMemo)(()=>[{filter:`blur(5px)`,opacity:.5,y:c===`top`?5:-5},{filter:`blur(0px)`,opacity:1,y:0}],[c]),S=d??b,C=f??x,w=C.length+1,T=h*(w-1),E=Array.from({length:w},(e,t)=>w===1?0:t/(w-1));return(0,e.jsx)(`p`,{ref:y,className:o,style:{display:`flex`,flexWrap:`wrap`},children:g.map((t,i)=>{let o=r(S,C),c={duration:T,times:E,delay:i*a/1e3,ease:p};return(0,e.jsxs)(n.motion.span,{initial:S,animate:_?o:S,transition:c,onAnimationComplete:i===g.length-1?m:void 0,style:{display:`inline-block`,willChange:`transform, filter, opacity`},children:[t===` `?`\xA0`:t,s===`words`&&i<g.length-1&&`\xA0`]},i)})})};exports.default=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-button{
|
|
1
|
+
.xiping-button{cursor:pointer;border:none;border-radius:6px;outline:none;justify-content:center;align-items:center;font-weight:500;transition:all .2s;display:inline-flex}.xiping-button:focus{outline-offset:2px;outline:2px solid #0000;box-shadow:0 0 0 3px #3b82f680}.xiping-button--small{padding:6px 12px;font-size:14px}.xiping-button--medium{padding:8px 16px;font-size:16px}.xiping-button--large{padding:12px 24px;font-size:18px}.xiping-button--primary{color:#fff;background-color:#2563eb}.xiping-button--primary:hover:not(:disabled){background-color:#1d4ed8}.xiping-button--primary:focus{box-shadow:0 0 0 3px #2563eb80}.xiping-button--secondary{color:#fff;background-color:#4b5563}.xiping-button--secondary:hover:not(:disabled){background-color:#374151}.xiping-button--secondary:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--outline{color:#374151;background-color:#0000;border:1px solid #d1d5db}.xiping-button--outline:hover:not(:disabled){background-color:#f9fafb}.xiping-button--outline:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--ghost{color:#374151;background-color:#0000}.xiping-button--ghost:hover:not(:disabled){background-color:#f3f4f6}.xiping-button--ghost:focus{box-shadow:0 0 0 3px #4b556380}.xiping-button--disabled{opacity:.5;cursor:not-allowed}.xiping-button--loading{cursor:wait}.xiping-button--full-width{width:100%}.xiping-button__icon-left{margin-right:8px}.xiping-button__icon-right{margin-left:8px}.xiping-button__spinner{width:16px;height:16px;margin-left:-4px;margin-right:8px;animation:1s linear infinite xiping-spin}.xiping-button__spinner-circle{opacity:.25}.xiping-button__spinner-path{opacity:.75}@keyframes xiping-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../_virtual/_rolldown/runtime.js`);require('./Button.css');/* empty css */let e=require(`react/jsx-runtime`);var t=({variant:t=`primary`,size:n=`medium`,className:r,children:i,leftIcon:a,rightIcon:o,isLoading:s=!1,isDisabled:c=!1,fullWidth:l=!1,type:u=`button`,...d})=>(0,e.jsxs)(`button`,{type:u,className:[`xiping-button`,`xiping-button--${t}`,`xiping-button--${n}`,c&&`xiping-button--disabled`,l&&`xiping-button--full-width`,s&&`xiping-button--loading`,r].filter(Boolean).join(` `),disabled:c||s,...d,children:[s&&(0,e.jsxs)(`svg`,{className:`xiping-button__spinner`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,children:[(0,e.jsx)(`circle`,{className:`xiping-button__spinner-circle`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`}),(0,e.jsx)(`path`,{className:`xiping-button__spinner-path`,fill:`currentColor`,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`})]}),!s&&a&&(0,e.jsx)(`span`,{className:`xiping-button__icon-left`,children:a}),i,!s&&o&&(0,e.jsx)(`span`,{className:`xiping-button__icon-right`,children:o})]});exports.Button=t;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use client";require('./ComicText.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`clsx`);n=e.__toESM(n);let r=require(`motion/react`);function i({children:e,className:i,style:a,fontSize:o=5}){if(typeof e!=`string`)throw Error(`children must be a string`);let s=`#EF4444`;return(0,t.jsx)(r.motion.div,{className:(0,n.default)(`xiping-comic-text`,i),style:{fontSize:`${o}rem`,fontFamily:`'Bangers', 'Comic Sans MS', 'Impact', sans-serif`,fontWeight:`900`,WebkitTextStroke:`${o*.35}px #000000`,transform:`skewX(-10deg)`,textTransform:`uppercase`,filter:`
|
|
2
|
+
drop-shadow(5px 5px 0px #000000)
|
|
3
|
+
drop-shadow(3px 3px 0px ${s})
|
|
4
|
+
`,backgroundColor:`#FACC15`,backgroundImage:`radial-gradient(circle at 1px 1px, ${s} 1px, transparent 0)`,backgroundSize:`8px 8px`,backgroundClip:`text`,WebkitBackgroundClip:`text`,WebkitTextFillColor:`transparent`,...a},initial:{opacity:0,scale:.8,rotate:-2},animate:{opacity:1,scale:1,rotate:0},transition:{duration:.6,ease:[.175,.885,.32,1.275],type:`spring`},children:e})}exports.ComicText=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";const e=require(`../../_virtual/_rolldown/runtime.js`);let t=require(`react/jsx-runtime`),n=require(`react`);n=e.__toESM(n);let r=require(`canvas-confetti`);r=e.__toESM(r);var i=(0,n.createContext)({}),a=(0,n.forwardRef)((e,a)=>{let{options:o,globalOptions:s={resize:!0,useWorker:!0},manualstart:c=!1,children:l,...u}=e,d=(0,n.useRef)(null),f=(0,n.useCallback)(e=>{if(e!==null){if(d.current)return;d.current=r.default.create(e,{...s,resize:!0})}else d.current&&=(d.current.reset(),null)},[s]),p=(0,n.useCallback)(async(e={})=>{try{await d.current?.({...o,...e})}catch(e){console.error(`Confetti error:`,e)}},[o]),m=(0,n.useMemo)(()=>({fire:p}),[p]);return(0,n.useImperativeHandle)(a,()=>m,[m]),(0,n.useEffect)(()=>{c||(async()=>{try{await p()}catch(e){console.error(`Confetti effect error:`,e)}})()},[c,p]),(0,t.jsxs)(i.Provider,{value:m,children:[(0,t.jsx)(`canvas`,{ref:f,...u}),l]})});a.displayName=`Confetti`;var o=a,s=({options:e,children:n,...i})=>(0,t.jsx)(`div`,{onClick:async t=>{try{let n=t.currentTarget.getBoundingClientRect(),i=n.left+n.width/2,a=n.top+n.height/2;await(0,r.default)({...e,origin:{x:i/window.innerWidth,y:a/window.innerHeight}})}catch(e){console.error(`Confetti button error:`,e)}},...i,children:n});s.displayName=`ConfettiButton`;var c=s;exports.Confetti=o,exports.ConfettiButton=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-dock{
|
|
1
|
+
.xiping-dock{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid;border-radius:1rem;justify-content:center;align-items:center;gap:.5rem;width:max-content;height:58px;margin-top:2rem;margin-left:auto;margin-right:auto;padding:.5rem;display:flex}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.xiping-dock{background-color:#ffffff1a}.dark .xiping-dock{background-color:#0000001a}}.xiping-dock--top{align-items:flex-start}.xiping-dock--middle{align-items:center}.xiping-dock--bottom{align-items:flex-end}.xiping-dock-icon{aspect-ratio:1;cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;display:flex}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";require('./Duck.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`);n=e.__toESM(n);let r=require(`clsx`);r=e.__toESM(r);let i=require(`motion/react`);var a=40,o=60,s=140,c=n.default.forwardRef(({className:e,children:c,iconSize:u=a,iconMagnification:d=o,iconDistance:f=s,direction:p=`middle`,...m},h)=>{let g=(0,i.useMotionValue)(1/0),_=()=>n.default.Children.map(c,e=>n.default.isValidElement(e)&&e.type===l?n.default.cloneElement(e,{...e.props,mouseX:g,size:u,magnification:d,distance:f}):e);return(0,t.jsx)(i.motion.div,{ref:h,onMouseMove:e=>g.set(e.pageX),onMouseLeave:()=>g.set(1/0),...m,className:(0,r.default)(`xiping-dock`,p===`top`&&`xiping-dock--top`,p===`bottom`&&`xiping-dock--bottom`,p===`middle`&&`xiping-dock--middle`,e),children:_()})});c.displayName=`Dock`;var l=({size:e=a,magnification:c=o,distance:l=s,mouseX:u,className:d,children:f,...p})=>{let m=(0,n.useRef)(null),h=Math.max(6,e*.2),g=(0,i.useMotionValue)(1/0),_=(0,i.useSpring)((0,i.useTransform)((0,i.useTransform)(u??g,e=>{let t=m.current?.getBoundingClientRect()??{x:0,width:0};return e-t.x-t.width/2}),[-l,0,l],[e,c,e]),{mass:.1,stiffness:150,damping:12});return(0,t.jsx)(i.motion.div,{ref:m,style:{width:_,height:_,padding:h},className:(0,r.default)(`xiping-dock-icon`,d),...p,children:f})};l.displayName=`DockIcon`,exports.Dock=c,exports.DockIcon=l;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-flip-container{
|
|
1
|
+
.xiping-flip-container{justify-content:center;gap:.5rem;display:flex}.xiping-flip-char{transform-origin:50%;filter:drop-shadow(0 1px 1px #0000000d)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";require('./FlipText.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`);n=e.__toESM(n);let r=require(`clsx`);r=e.__toESM(r);let i=require(`motion/react`);var a={hidden:{rotateX:-90,opacity:0},visible:{rotateX:0,opacity:1}};function o({children:e,duration:o=.5,delayMultiple:s=.08,className:c,as:l=`span`,variants:u,...d}){let f=i.motion.create(l);return(0,t.jsx)(`div`,{className:`xiping-flip-container`,children:(0,t.jsx)(i.AnimatePresence,{mode:`wait`,children:n.default.Children.toArray(e).join(``).split(``).map((e,n)=>(0,t.jsx)(f,{initial:`hidden`,animate:`visible`,exit:`hidden`,variants:u||a,transition:{duration:o,delay:n*s},className:(0,r.default)(`xiping-flip-char`,c),...d,children:e},n))})})}exports.FlipText=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-gradient-text{
|
|
1
|
+
.xiping-gradient-text{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;border-radius:1.25rem;flex-direction:row;justify-content:center;align-items:center;max-width:fit-content;margin:0 auto;font-weight:500;transition:box-shadow .5s ease-out;display:flex;position:relative;overflow:hidden}.xiping-gradient-text__overlay{border-radius:inherit;z-index:0;pointer-events:none;background-size:300% 100%;animation:linear infinite xiping-gradient;position:absolute;inset:0}.xiping-gradient-text__overlay:before{content:"";border-radius:inherit;z-index:-1;background-color:#060010;width:calc(100% - 2px);height:calc(100% - 2px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes xiping-gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.xiping-gradient-text__content{z-index:2;color:#0000;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:linear infinite xiping-gradient;display:inline-block;position:relative}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('./index.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`clsx`);n=e.__toESM(n);function r({children:e,className:r=``,colors:i=[`#40ffaa`,`#4079ff`,`#40ffaa`,`#4079ff`,`#40ffaa`],animationSpeed:a=8,showBorder:o=!1}){let s={backgroundImage:`linear-gradient(to right, ${i.join(`, `)})`,animationDuration:`${a}s`};return(0,t.jsxs)(`div`,{className:(0,n.default)(`xiping-gradient-text`,r),children:[o&&(0,t.jsx)(`div`,{className:`xiping-gradient-text__overlay`,style:s}),(0,t.jsx)(`div`,{className:`xiping-gradient-text__content`,style:s,children:e})]})}exports.default=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-hyper-container{
|
|
1
|
+
.xiping-hyper-container{padding-top:.5rem;padding-bottom:.5rem;font-size:2.25rem;font-weight:700;line-height:2.5rem;overflow:hidden}.xiping-hyper-char{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.xiping-hyper-space{width:.75rem}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";require('./HyperText.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`),r=require(`clsx`);r=e.__toESM(r);let i=require(`motion/react`);var a=Object.freeze(`ABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``)),o=e=>Math.floor(Math.random()*e);function s({children:e,className:s,duration:c=800,delay:l=0,as:u=`div`,startOnView:d=!1,animateOnHover:f=!0,characterSet:p=a,...m}){let h=i.motion.create(u,{forwardMotionProps:!0}),[g,_]=(0,n.useState)(()=>e.split(``)),[v,y]=(0,n.useState)(!1),b=(0,n.useRef)(0),x=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(!d){let e=setTimeout(()=>{y(!0)},l);return()=>clearTimeout(e)}let e=new IntersectionObserver(([t])=>{t.isIntersecting&&(setTimeout(()=>{y(!0)},l),e.disconnect())},{threshold:.1,rootMargin:`-30% 0px -30% 0px`});return x.current&&e.observe(x.current),()=>e.disconnect()},[l,d]),(0,n.useEffect)(()=>{if(!v)return;let t=e.length,n=performance.now(),r,i=a=>{let s=a-n,l=Math.min(s/c,1);b.current=l*t,_(t=>t.map((t,n)=>t===` `?t:n<=b.current?e[n]:p[o(p.length)])),l<1?r=requestAnimationFrame(i):y(!1)};return r=requestAnimationFrame(i),()=>cancelAnimationFrame(r)},[e,c,v,p]),(0,t.jsx)(h,{ref:x,className:(0,r.default)(`xiping-hyper-container`,s),onMouseEnter:()=>{f&&!v&&(b.current=0,y(!0))},...m,children:(0,t.jsx)(i.AnimatePresence,{children:g.map((e,n)=>(0,t.jsx)(i.motion.span,{className:(0,r.default)(`xiping-hyper-char`,e===` `&&`xiping-hyper-space`),children:e.toUpperCase()},n))})})}exports.HyperText=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-image-compare-container{
|
|
1
|
+
.xiping-image-compare-container{-webkit-user-select:none;user-select:none;width:100%;position:relative;overflow:hidden}.xiping-image-compare-label{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background-color:#0009;border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;position:absolute;top:1rem}.xiping-image-compare-label-original{right:1rem}.xiping-image-compare-label-modified{left:1rem}.xiping-image-compare-overlay{height:100%;position:absolute;inset:0;overflow:hidden}.xiping-image-compare-divider{cursor:ew-resize;background-color:#ffffffe6;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #0000004d,inset 0 0 0 1px #ffffff80,0 0 8px #0003}.xiping-image-compare-divider-button{background-color:#fffffff2;border:2px solid #0003;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;transition:box-shadow .2s,transform .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #fffc,0 4px 12px #0000004d,0 2px 4px #0003}.xiping-image-compare-divider-button:hover{transform:translate(-50%,-50%)scale(1.05);box-shadow:0 0 0 1px #ffffffe6,0 6px 16px #0006,0 3px 6px #0000004d}.xiping-image-compare-divider-button:active{transform:translate(-50%,-50%)scale(.95)}.xiping-image-compare-divider-icon{color:#1f2937;width:1.5rem;height:1.5rem}.xiping-image-compare-divider-theme-dark{background-color:#000000e6;box-shadow:0 0 0 1px #ffffff4d,inset 0 0 0 1px #00000080,0 0 8px #fff3}.xiping-image-compare-divider-button-theme-dark{background-color:#000000f2;border:2px solid #fff3;box-shadow:0 0 0 1px #000c,0 4px 12px #ffffff4d,0 2px 4px #fff3}.xiping-image-compare-divider-button-theme-dark:hover{box-shadow:0 0 0 1px #000000e6,0 6px 16px #fff6,0 3px 6px #ffffff4d}.xiping-image-compare-divider-theme-dark .xiping-image-compare-divider-icon{color:#f3f4f6}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('./ImageCompare.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`),r=require(`clsx`);r=e.__toESM(r);var i=e=>{let{originalImage:i,modifiedImage:a,className:o,dividerWidth:s=1,originalLabel:c=`Original`,modifiedLabel:l=`Modified`,theme:u=`light`}=e,[d,f]=(0,n.useState)(50),[p,m]=(0,n.useState)(16/9),h=(0,n.useRef)(null),g=(0,n.useRef)(!1),_=(0,n.useRef)(null),v=(0,n.useRef)(null),y=(0,n.useRef)(null),b=(0,n.useCallback)(e=>{if(!h.current)return;(!v.current||!g.current)&&(v.current=h.current.getBoundingClientRect());let t=v.current,n=(e-t.left)/t.width*100;f(Math.min(100,Math.max(0,n)))},[]),x=(0,n.useCallback)(e=>{g.current&&(_.current!==null&&cancelAnimationFrame(_.current),_.current=requestAnimationFrame(()=>{b(e)}))},[b]),S=(0,n.useCallback)(e=>{x(e.clientX)},[x]),C=(0,n.useCallback)(e=>{e.touches.length>0&&x(e.touches[0].clientX)},[x]),w=(0,n.useCallback)(()=>{g.current=!0,v.current=null;let e=e=>S(e),t=e=>C(e),n=()=>{g.current=!1,_.current!==null&&(cancelAnimationFrame(_.current),_.current=null),y.current&&=(y.current(),null)},r=()=>n(),i=()=>n();window.addEventListener(`mousemove`,e),window.addEventListener(`touchmove`,t,{passive:!1}),window.addEventListener(`mouseup`,r),window.addEventListener(`touchend`,i),y.current=()=>{window.removeEventListener(`mousemove`,e),window.removeEventListener(`touchmove`,t),window.removeEventListener(`mouseup`,r),window.removeEventListener(`touchend`,i)}},[S,C]);(0,n.useEffect)(()=>()=>{y.current&&=(y.current(),null)},[]),(0,n.useEffect)(()=>{let e=new Image;e.onload=()=>{m(e.width/e.height)},e.src=i},[i]);let T=(0,n.useMemo)(()=>({backgroundRepeat:`no-repeat`,backgroundPosition:`top left`,backgroundImage:`url(${i})`,backgroundSize:`contain`,aspectRatio:p}),[i,p]),E=(0,n.useMemo)(()=>({width:`${d}%`,backgroundImage:`url(${a})`,backgroundRepeat:`no-repeat`,backgroundPosition:`top left`,backgroundSize:`auto 100%`}),[d,a]),D=(0,n.useMemo)(()=>({left:`${d}%`,transform:`translateX(-50%)`,width:typeof s==`number`?`${s}px`:s}),[d,s]);return(0,t.jsxs)(`div`,{ref:h,className:(0,r.default)(`xiping-image-compare-container`,o),style:T,children:[(0,t.jsx)(`div`,{className:`xiping-image-compare-label xiping-image-compare-label-original`,children:c}),(0,t.jsx)(`div`,{className:`xiping-image-compare-overlay`,style:E,children:(0,t.jsx)(`div`,{className:`xiping-image-compare-label xiping-image-compare-label-modified`,children:l})}),(0,t.jsx)(`div`,{className:(0,r.default)(`xiping-image-compare-divider`,`xiping-image-compare-divider-theme-${u}`),style:D,onMouseDown:w,onTouchStart:w,children:(0,t.jsx)(`div`,{className:(0,r.default)(`xiping-image-compare-divider-button`,`xiping-image-compare-divider-button-theme-${u}`),children:(0,t.jsx)(`svg`,{className:`xiping-image-compare-divider-icon`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,t.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M8 9l4-4 4 4m0 6l-4 4-4-4`})})})})]})};exports.default=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-thumbnails-wrapper{
|
|
1
|
+
.xiping-thumbnails-wrapper{z-index:10;height:6rem;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background-color:#00000080;flex-shrink:0}.xiping-thumbnails-wrapper--hidden{display:none}.xiping-thumbnails-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;width:100vw;height:6rem;overflow:auto hidden}.xiping-thumbnails-scroll::-webkit-scrollbar{display:none}.xiping-thumbnails-container{gap:.5rem;min-width:max-content;height:6rem;padding:.5rem;display:flex}.xiping-thumbnail-item{aspect-ratio:1;cursor:pointer;border:2px solid #0000;flex-shrink:0;height:100%;transition:all .2s}.xiping-thumbnail-item--active{border-color:#fff}.xiping-thumbnail-image{object-fit:contain;width:100%;height:100%}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('./ImageThumbnails.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`),r=require(`clsx`);r=e.__toESM(r);let i=require(`motion/react`),a=require(`lodash-es`);var o=`0%`,s=`100%`,c=`20%`,l=`80%`,u=`#0000`,d=`#000`;function f(e){let t=(0,i.useMotionValue)(`linear-gradient(90deg, ${d}, ${d} ${o}, ${d} ${l}, ${u})`);return(0,i.useMotionValueEvent)(e,`change`,n=>{n===0?(0,i.animate)(t,`linear-gradient(90deg, ${d}, ${d} ${o}, ${d} ${l}, ${u})`):n===1?(0,i.animate)(t,`linear-gradient(90deg, ${u}, ${d} ${c}, ${d} ${s}, ${d})`):(e.getPrevious()===0||e.getPrevious()===1)&&(0,i.animate)(t,`linear-gradient(90deg, ${u}, ${d} ${c}, ${d} ${l}, ${u})`)}),t}var p=({images:e,currentIndex:o,onImageSelect:s})=>{let c=(0,n.useRef)(null),{scrollXProgress:l}=(0,i.useScroll)({container:c}),u=f(l);return(0,t.jsx)(`div`,{className:(0,r.default)(`xiping-thumbnails-wrapper`,(0,a.size)(e)<=1&&`xiping-thumbnails-wrapper--hidden`),children:(0,t.jsx)(i.motion.div,{ref:c,style:{maskImage:u},className:`xiping-thumbnails-scroll`,children:(0,t.jsx)(`div`,{className:`xiping-thumbnails-container`,children:e.map((e,n)=>(0,t.jsx)(`div`,{className:(0,r.default)(`xiping-thumbnail-item`,n===o&&`xiping-thumbnail-item--active`),onClick:()=>s(n),children:(0,t.jsx)(`img`,{src:e,alt:``,className:`xiping-thumbnail-image`,draggable:`false`})},e))})})})};exports.default=p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-
|
|
1
|
+
.xiping-modal-root{z-index:2147483647;position:fixed;inset:0}.xiping-modal-backdrop{z-index:0;position:absolute;inset:0}.xiping-modal-content{z-index:1;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}@keyframes xiping-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.xiping-spinner-icon{color:#fff;width:48px;height:48px;animation:1s linear infinite xiping-spin}.xiping-wrapper{width:100vw;height:100vh;padding-top:env(safe-area-inset-top,0);flex-direction:column;display:flex;position:relative}.xiping-tool-wrapper{z-index:10;gap:16px;display:flex;position:absolute;top:16px;right:16px}.xiping-close-icon,.xiping-download-icon{color:#fff;cursor:pointer}.xiping-main-content{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.xiping-pinch-content{width:100%;height:100%}.xiping-image{object-fit:contain;pointer-events:none;width:100vw;height:100%}.xiping-loading{background-color:#00000080;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.xiping-modal-content{overflow:hidden}.xiping-modal-overlay{background-color:#000000b3}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}
|
|
@@ -11,5 +11,5 @@ interface ImageViewerProps {
|
|
|
11
11
|
/** 初始选中的图片下标,默认为 0。当只有一张图片时此参数无意义 */
|
|
12
12
|
initialIndex?: number;
|
|
13
13
|
}
|
|
14
|
-
declare const ImageViewer: (props: ImageViewerProps) => import(
|
|
14
|
+
declare const ImageViewer: (props: ImageViewerProps) => import('react').ReactPortal;
|
|
15
15
|
export default ImageViewer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";require('./ImageViewer.css');const e=require(`../../_virtual/_rolldown/runtime.js`),t=/* empty css */n=require(`./ImageThumbnails2.js`);;/* empty css */let r=require(`react/jsx-runtime`),i=require(`react`),a=require(`clsx`);a=e.__toESM(a);let o=require(`motion/react`),s=require(`react-dom`),c=require(`lucide-react`);var l=e=>{e.target.closest(`.xiping-main-content`)&&e.preventDefault()},u=e=>{let{isOpen:u,onClose:d,imgSrc:f,thumbnailImages:p,canDownload:m=!1,wrapperClassName:h,closeClassName:g,downloadClassName:_,toolWrapperClassName:v,initialIndex:y=0}=e,b=Array.isArray(f)?f:[f],x=p||b,[S,C]=(0,i.useState)(Math.max(0,Math.min(y,b.length-1))),[w,T]=(0,i.useState)(!0),E=(0,i.useCallback)(()=>{T(!0),d()},[d]),D=async()=>{let e=b[S];try{let t=await(await fetch(e)).blob(),n=window.URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=e.split(`/`).pop()||`image`,document.body.appendChild(r),r.click(),window.URL.revokeObjectURL(n),document.body.removeChild(r)}catch(e){console.error(`Error downloading image:`,e)}},O=()=>{T(!1)},k=()=>{T(!1)};(0,i.useEffect)(()=>{if(u)return document.addEventListener(`touchmove`,l,{passive:!1}),()=>{document.removeEventListener(`touchmove`,l)}},[u]),(0,i.useEffect)(()=>{if(!u)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[u]);let A=(0,i.useCallback)(()=>{`vibrate`in navigator&&navigator.vibrate([50,50,50])},[]);(0,i.useEffect)(()=>{if(!u)return;let e=e=>{let t=e.target;if(!(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable))switch(e.key){case`ArrowLeft`:e.preventDefault(),C(e=>e>0?e-1:(A(),e));break;case`ArrowRight`:e.preventDefault(),C(e=>e<b.length-1?e+1:(A(),e));break;case`Escape`:e.preventDefault(),E();break}};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[u,b.length,E,A]);let j=(0,r.jsxs)(`div`,{className:(0,a.default)(`xiping-modal-root`,h),children:[(0,r.jsx)(`div`,{className:`xiping-modal-backdrop xiping-modal-overlay`,onClick:E,"aria-hidden":!0}),(0,r.jsx)(`div`,{className:`xiping-modal-content`,role:`dialog`,"aria-modal":`true`,"aria-label":`图片预览`,children:(0,r.jsxs)(`div`,{className:`xiping-wrapper`,children:[(0,r.jsxs)(`div`,{className:(0,a.default)(`xiping-tool-wrapper`,v),children:[m&&(0,r.jsx)(c.Download,{size:24,className:(0,a.default)(`xiping-download-icon`,_),onClick:D}),(0,r.jsx)(c.X,{size:24,className:(0,a.default)(`xiping-close-icon`,g),onClick:E})]}),(0,r.jsxs)(`div`,{className:`xiping-main-content`,children:[(0,r.jsx)(t.default,{canRotate:!1,className:`xiping-pinch-content`,children:(0,r.jsx)(o.AnimatePresence,{mode:`wait`,children:(0,r.jsx)(o.motion.img,{draggable:`false`,src:b[S],alt:``,className:`xiping-image`,onLoad:O,onError:k,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:1.05},transition:{duration:.3,ease:`easeInOut`}},S)})}),w&&(0,r.jsx)(`div`,{className:`xiping-loading`,children:(0,r.jsx)(c.Loader2,{className:`xiping-spinner-icon`,"aria-hidden":!0})})]}),(0,r.jsx)(n.default,{images:x,currentIndex:S,onImageSelect:C})]})})]});return u?(0,s.createPortal)(j,document.body):null};exports.default=u;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-message{
|
|
1
|
+
.xiping-message{align-items:flex-start;max-width:80%;margin-bottom:16px;display:flex}.xiping-message.user{flex-direction:row-reverse;align-self:flex-end;margin-left:auto}.xiping-message.assistant{align-self:flex-start;margin-right:auto}.xiping-message__avatar{background-color:#e0e0e0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin:0 8px;display:flex;overflow:hidden}.xiping-message__content{background-color:#fff;border-radius:12px;max-width:100%;padding:12px 16px;position:relative;box-shadow:0 1px 2px #0000001a}.xiping-message:not(:has(.xiping-message__avatar)) .xiping-message__content{margin:0}.xiping-message.user .xiping-message__content{color:#fff;background-color:#007bff}.xiping-message__text{word-break:break-word;line-height:1.5}.xiping-message__timestamp{color:#888;text-align:right;margin-top:4px;font-size:.75rem}.xiping-message.user .xiping-message__timestamp{color:#fffc}.xiping-message__thinking{align-items:center;margin-top:8px;display:flex}.xiping-message__thinking-dots{align-items:center;margin-right:8px;display:flex}.xiping-message__thinking-dots span{background-color:#888;border-radius:50%;width:8px;height:8px;margin:0 2px;animation:1.4s ease-in-out infinite both xiping-thinking;display:inline-block}.xiping-message__thinking-dots span:first-child{animation-delay:-.32s}.xiping-message__thinking-dots span:nth-child(2){animation-delay:-.16s}.xiping-message__thinking-text{color:#888;font-size:.9rem}.xiping-message.user .xiping-message__thinking-text{color:#fffc}@keyframes xiping-thinking{0%,80%,to{transform:scale(.6)}40%{transform:scale(1)}}.xiping-message__loading{justify-content:center;align-items:center;padding:8px;display:flex}.xiping-message__loading-spinner{border:3px solid #007bff4d;border-top-color:#007bff;border-radius:50%;width:24px;height:24px;animation:1s ease-in-out infinite xiping-spin}@keyframes xiping-spin{to{transform:rotate(360deg)}}.xiping-message__think{background-color:#0000000d;border-radius:8px;margin-top:12px;padding:8px 12px;font-size:.9rem}.xiping-message.user .xiping-message__think{background-color:#ffffff1a}.xiping-message__think-header{align-items:center;gap:8px;margin-bottom:8px;font-weight:500;display:flex}.xiping-message__think-toggle{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background-color .2s;display:flex}.xiping-message__think-toggle:hover{background-color:#0000000d}.xiping-message__think-content{opacity:1;max-height:1000px;transition:all .3s ease-in-out;overflow:hidden}.xiping-message__think-content.hidden{opacity:0;max-height:0;margin:0;padding:0}.xiping-message__knowledge-sources{background-color:#00000008;border-radius:4px;margin-top:8px;padding:8px;font-size:.9em}.xiping-message__knowledge-sources-header{color:#666;margin-bottom:4px;font-weight:500}.xiping-message__knowledge-sources-list{margin:0;padding:0;list-style:none}.xiping-message__knowledge-source-item{margin-bottom:4px}.xiping-message__knowledge-source-item:last-child{margin-bottom:0}.xiping-message__knowledge-source-item a{color:#06c;text-decoration:none}.xiping-message__knowledge-source-item a:hover{text-decoration:underline}.xiping-message__knowledge-source-description{color:#666;margin-top:2px;margin-left:8px;font-size:.9em}.xiping-message__text-container{flex-direction:column;gap:4px;display:flex;position:relative}.xiping-message__copy-button{cursor:pointer;color:#666;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-self:flex-end;align-items:center;padding:4px;transition:all .2s;display:flex}.xiping-message__text-container:hover .xiping-message__copy-button{opacity:1}.xiping-message__copy-button:hover{color:#333;background-color:#0000000d}.xiping-message__copy-tooltip{color:#fff;white-space:nowrap;background-color:#333;border-radius:4px;padding:4px 8px;font-size:12px;animation:2s ease-in-out xiping-fadeInOut;position:absolute;top:-24px;right:0}@keyframes xiping-fadeInOut{0%{opacity:0;transform:translateY(4px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('./Message.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`);n=e.__toESM(n);let r=require(`clsx`);r=e.__toESM(r);let i=require(`react-markdown`);i=e.__toESM(i);var a=({id:e,content:a,sender:o,timestamp:s,isThinking:c=!1,isLoading:l=!1,className:u=``,style:d={},showTimestamp:f=!0,avatarUser:p,avatarAssistant:m,thinkingText:h=`思考中...`,customThinkingComponent:g,customUserMessageComponent:_,customAssistantMessageComponent:v,parseContent:y=!1,parsedContent:b,thinkContent:x,knowledgeSources:S})=>{let[C,w]=(0,n.useState)(!0),[T,E]=(0,n.useState)(`idle`);console.log(e,`id`);let D=e=>e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),O=async()=>{try{await navigator.clipboard.writeText(a),E(`copied`),setTimeout(()=>E(`idle`),2e3)}catch(e){console.error(`复制失败:`,e)}},k=()=>g||(0,t.jsxs)(`div`,{className:`xiping-message__thinking`,children:[(0,t.jsxs)(`div`,{className:`xiping-message__thinking-dots`,children:[(0,t.jsx)(`span`,{}),(0,t.jsx)(`span`,{}),(0,t.jsx)(`span`,{})]}),(0,t.jsx)(`span`,{className:`xiping-message__thinking-text`,children:h})]}),A=()=>(0,t.jsx)(`div`,{className:`xiping-message__loading`,children:(0,t.jsx)(`div`,{className:`xiping-message__loading-spinner`})}),j=()=>!S||S.length===0?null:(0,t.jsxs)(`div`,{className:`xiping-message__knowledge-sources`,children:[(0,t.jsx)(`div`,{className:`xiping-message__knowledge-sources-header`,children:`知识来源:`}),(0,t.jsx)(`ul`,{className:`xiping-message__knowledge-sources-list`,children:S.map((e,n)=>(0,t.jsxs)(`li`,{className:`xiping-message__knowledge-source-item`,children:[e.url?(0,t.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,children:e.title}):(0,t.jsx)(`span`,{children:e.title}),e.description&&(0,t.jsx)(`div`,{className:`xiping-message__knowledge-source-description`,children:e.description})]},n))})]}),M=()=>o===`user`?null:(0,t.jsxs)(`button`,{className:`xiping-message__copy-button`,onClick:O,"aria-label":`Copy message`,title:`Copy message`,children:[(0,t.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,t.jsx)(`path`,{d:`M13.3333 6H7.33333C6.59695 6 6 6.59695 6 7.33333V13.3333C6 14.0697 6.59695 14.6667 7.33333 14.6667H13.3333C14.0697 14.6667 14.6667 14.0697 14.6667 13.3333V7.33333C14.6667 6.59695 14.0697 6 13.3333 6Z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,t.jsx)(`path`,{d:`M3.33333 10H2.66667C2.31305 10 1.97391 9.85953 1.72386 9.60948C1.47381 9.35943 1.33334 9.02029 1.33334 8.66667V2.66667C1.33334 2.31305 1.47381 1.97391 1.72386 1.72386C1.97391 1.47381 2.31305 1.33334 2.66667 1.33334H8.66667C9.02029 1.33334 9.35943 1.47381 9.60948 1.72386C9.85953 1.97391 10 2.31305 10 2.66667V3.33334`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})]}),T===`copied`&&(0,t.jsx)(`span`,{className:`xiping-message__copy-tooltip`,children:`Copied`})]});return o===`user`&&_?_:o===`assistant`&&v?v:(0,t.jsxs)(`div`,{className:(0,r.default)(`xiping-message`,o===`user`?`user`:`assistant`,u),style:d,children:[o===`user`&&p||o===`assistant`&&m?(0,t.jsx)(`div`,{className:`xiping-message__avatar`,children:o===`user`?p:m}):null,(0,t.jsx)(`div`,{className:`xiping-message__content`,children:l?A():y&&o===`assistant`?(0,t.jsxs)(t.Fragment,{children:[x&&(0,t.jsxs)(`div`,{className:`xiping-message__think`,children:[(0,t.jsxs)(`div`,{className:`xiping-message__think-header`,children:[`思考过程:`,(0,t.jsx)(`button`,{className:`xiping-message__think-toggle`,onClick:()=>w(!C),"aria-label":C?`隐藏思考过程`:`显示思考过程`,children:(0,t.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{transform:C?`rotate(180deg)`:`rotate(0deg)`,transition:`transform 0.3s ease`},children:(0,t.jsx)(`path`,{d:`M2 4L6 8L10 4`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]}),(0,t.jsx)(`div`,{className:(0,r.default)(`xiping-message__think-content`,C?`visible`:`hidden`),children:(0,t.jsx)(i.default,{children:x})})]}),c&&k(),b&&(0,t.jsxs)(`div`,{className:`xiping-message__text-container`,children:[(0,t.jsx)(`div`,{className:`xiping-message__text`,children:(0,t.jsx)(i.default,{children:b})}),M()]}),j(),f&&(0,t.jsx)(`div`,{className:`xiping-message__timestamp`,children:D(s)})]}):(0,t.jsxs)(t.Fragment,{children:[x&&(0,t.jsxs)(`div`,{className:`xiping-message__think`,children:[(0,t.jsxs)(`div`,{className:`xiping-message__think-header`,children:[`思考过程:`,(0,t.jsx)(`button`,{className:`xiping-message__think-toggle`,onClick:()=>w(!C),"aria-label":C?`隐藏思考过程`:`显示思考过程`,children:(0,t.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,style:{transform:C?`rotate(180deg)`:`rotate(0deg)`,transition:`transform 0.3s ease`},children:(0,t.jsx)(`path`,{d:`M2 4L6 8L10 4`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]}),(0,t.jsx)(`div`,{className:(0,r.default)(`xiping-message__think-content`,C?`visible`:`hidden`),children:(0,t.jsx)(i.default,{children:x})})]}),(0,t.jsxs)(`div`,{className:`xiping-message__text-container`,children:[(0,t.jsx)(`div`,{className:`xiping-message__text`,children:(0,t.jsx)(i.default,{children:a})}),M()]}),c&&k(),j(),f&&(0,t.jsx)(`div`,{className:`xiping-message__timestamp`,children:D(s)})]})})]})};exports.default=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.js`);let t=require(`react/jsx-runtime`),n=require(`react`),r=require(`clsx`);r=e.__toESM(r);let i=require(`@react-spring/web`),a=require(`@use-gesture/react`),o=require(`ahooks`);var s=(0,a.createUseGesture)([a.dragAction,a.pinchAction,a.wheelAction]),c=e=>e.preventDefault(),l=(0,n.forwardRef)((e,a)=>{let{className:l,children:u,pinchWithoutMove:d=!1,canPinch:f=!0,canDrag:p=!0,canRotate:m=!0,scaleBounds:h={min:.3,max:10},wheelZoomFactor:g=.001,rubberband:_=!0,scale:v,onScaleChange:y}=e,b=(0,n.useRef)(null);(0,o.useMount)(()=>{b.current?.addEventListener(`gesturestart`,c),b.current?.addEventListener(`gesturechange`,c),b.current?.addEventListener(`gestureend`,c)}),(0,o.useUnmount)(()=>{b.current?.removeEventListener(`gesturestart`,c),b.current?.removeEventListener(`gesturechange`,c),b.current?.removeEventListener(`gestureend`,c)});let x=v??1,[S,C]=(0,i.useSpring)(()=>({x:0,y:0,scale:x,rotateZ:0}));(0,n.useEffect)(()=>{if(v!==void 0){let e=Math.min(Math.max(v,h.min),h.max);C.start({scale:e})}},[v,h.min,h.max,C]);let w=e=>{let t=Math.min(Math.max(e,h.min),h.max);C.start({scale:t}),y?.(t)};return(0,n.useImperativeHandle)(a,()=>({zoomIn:(e=1.2)=>{w(S.scale.get()*e)},zoomOut:(e=1.2)=>{w(S.scale.get()/e)},setScale:e=>{w(e)},reset:()=>{C.start({x:0,y:0,scale:1,rotateZ:0}),y?.(1)},getScale:()=>S.scale.get()})),s({onWheel:({delta:[,e]})=>{if(!f)return;let t=S.scale.get()*(1-e*g),n=Math.min(Math.max(t,h.min),h.max);C.start({scale:n}),y?.(n)},onDrag:({pinching:e,cancel:t,offset:[n,r]})=>{if(!p||e)return t();C.start({x:n,y:r})},onPinch:({origin:[e,t],first:n,movement:[r],offset:[i,a],memo:o,cancel:s})=>{if(!f)return s();if(n){let{width:n,height:r,x:i,y:a}=b.current.getBoundingClientRect(),s=e-(i+n/2),c=t-(a+r/2);o=[S.x.get(),S.y.get(),s,c]}let c=Math.min(Math.max(i,h.min),h.max),l=o[0]-(r-1)*o[2],u=o[1]-(r-1)*o[3],p={scale:c,rotateZ:m?a:S.rotateZ.get(),...d?{x:S.x.get(),y:S.y.get()}:{x:l,y:u}};return C.start(p),y?.(c),o}},{target:b,drag:{from:()=>[S.x.get(),S.y.get()]},pinch:{scaleBounds:h,rubberband:_},wheel:{enabled:!0}}),(0,t.jsx)(i.animated.div,{className:(0,r.default)(l),ref:b,style:{userSelect:`none`,...e.style,...S},children:u})});l.displayName=`PinchContent`,exports.default=l;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
var e=require(`./PinchContent.js`).default;exports.default=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-pointer{
|
|
1
|
+
.xiping-pointer{z-index:50;pointer-events:none;position:fixed;transform:translate(-50%,-50%)}.xiping-pointer-icon{stroke:#fff;color:#000;transform:rotate(-70deg)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";require('./Pointer.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`),r=require(`clsx`);r=e.__toESM(r);let i=require(`motion/react`);function a({className:e,style:a,children:o,...s}){let c=(0,i.useMotionValue)(0),l=(0,i.useMotionValue)(0),[u,d]=(0,n.useState)(!1),f=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(typeof window<`u`&&f.current){let e=f.current.parentElement;if(e){e.style.cursor=`none`;let t=e=>{c.set(e.clientX),l.set(e.clientY)},n=()=>{d(!0)},r=()=>{d(!1)};return e.addEventListener(`mousemove`,t),e.addEventListener(`mouseenter`,n),e.addEventListener(`mouseleave`,r),()=>{e.style.cursor=``,e.removeEventListener(`mousemove`,t),e.removeEventListener(`mouseenter`,n),e.removeEventListener(`mouseleave`,r)}}}},[c,l]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(`div`,{ref:f}),(0,t.jsx)(i.AnimatePresence,{children:u&&(0,t.jsx)(i.motion.div,{className:(0,r.default)(`xiping-pointer`,e),style:{top:l,left:c,...a},initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},...s,children:o||(0,t.jsx)(`svg`,{stroke:`currentColor`,fill:`currentColor`,strokeWidth:`1`,viewBox:`0 0 16 16`,height:`24`,width:`24`,xmlns:`http://www.w3.org/2000/svg`,className:`xiping-pointer-icon`,children:(0,t.jsx)(`path`,{d:`M14.082 2.182a.5.5 0 0 1 .103.557L8.528 15.467a.5.5 0 0 1-.917-.007L5.57 10.694.803 8.652a.5.5 0 0 1-.006-.916l12.728-5.657a.5.5 0 0 1 .556.103z`})})})})]})}exports.Pointer=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-scratch-to-reveal{
|
|
1
|
+
.xiping-scratch-to-reveal{-webkit-user-select:none;user-select:none;position:relative}.xiping-scratch-canvas{position:absolute;top:0;left:0}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";require('./ScratchToReveal.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`);n=e.__toESM(n);let r=require(`clsx`);r=e.__toESM(r);let i=require(`motion/react`);var a=({width:e,height:a,minScratchPercentage:o=50,onComplete:s,children:c,className:l,gradientColors:u=[`#A97CF8`,`#F38CB8`,`#FDCC92`]})=>{let d=(0,n.useRef)(null),[f,p]=(0,n.useState)(!1),[m,h]=(0,n.useState)(!1),g=(0,i.useAnimation)();(0,n.useEffect)(()=>{let e=d.current,t=e?.getContext(`2d`);if(e&&t){t.fillStyle=`#ccc`,t.fillRect(0,0,e.width,e.height);let n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,u[0]),n.addColorStop(.5,u[1]),n.addColorStop(1,u[2]),t.fillStyle=n,t.fillRect(0,0,e.width,e.height)}},[u]),(0,n.useEffect)(()=>{let e=e=>{f&&y(e.clientX,e.clientY)},t=e=>{if(!f)return;let t=e.touches[0];y(t.clientX,t.clientY)},n=()=>{p(!1),x()},r=()=>{p(!1),x()};return document.addEventListener(`mousedown`,e),document.addEventListener(`mousemove`,e),document.addEventListener(`touchstart`,t),document.addEventListener(`touchmove`,t),document.addEventListener(`mouseup`,n),document.addEventListener(`touchend`,r),document.addEventListener(`touchcancel`,r),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`mousemove`,e),document.removeEventListener(`touchstart`,t),document.removeEventListener(`touchmove`,t),document.removeEventListener(`mouseup`,n),document.removeEventListener(`touchend`,r),document.removeEventListener(`touchcancel`,r)}},[f]);let _=()=>p(!0),v=()=>p(!0),y=(e,t)=>{let n=d.current,r=n?.getContext(`2d`);if(n&&r){let i=n.getBoundingClientRect(),a=e-i.left+16,o=t-i.top+16;r.globalCompositeOperation=`destination-out`,r.beginPath(),r.arc(a,o,30,0,Math.PI*2),r.fill()}},b=async()=>{await g.start({scale:[1,1.5,1],rotate:[0,10,-10,10,-10,0],transition:{duration:.5}}),s&&s()},x=()=>{if(m)return;let e=d.current,t=e?.getContext(`2d`);if(e&&t){let n=t.getImageData(0,0,e.width,e.height).data,r=n.length/4,i=0;for(let e=3;e<n.length;e+=4)n[e]===0&&i++;i/r*100>=o&&(h(!0),t.clearRect(0,0,e.width,e.height),b())}};return(0,t.jsxs)(i.motion.div,{className:(0,r.default)(`xiping-scratch-to-reveal`,l),style:{width:e,height:a,cursor:`url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj4KICA8Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNSIgc3R5bGU9ImZpbGw6I2ZmZjtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MXB4OyIgLz4KPC9zdmc+'), auto`},animate:g,children:[(0,t.jsx)(`canvas`,{ref:d,width:e,height:a,className:`xiping-scratch-canvas`,onMouseDown:_,onTouchStart:v}),c]})};exports.ScratchToReveal=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-shimmer-button{
|
|
1
|
+
.xiping-shimmer-button{z-index:0;cursor:pointer;white-space:nowrap;color:#fff;background:var(--bg);border-radius:var(--radius);border:1px solid #ffffff1a;justify-content:center;align-items:center;padding:.75rem 1.5rem;transition:transform .3s ease-in-out;display:flex;position:relative;overflow:hidden;transform:translateZ(0)}.xiping-shimmer-button:active{transform:translateY(1px)translateZ(0)}@media (prefers-color-scheme:dark){.xiping-shimmer-button{color:#000}}.xiping-shimmer-button-spark-container{z-index:-30;filter:blur(2px);position:absolute;inset:0;overflow:visible;container-type:size}.xiping-shimmer-button-spark{aspect-ratio:1;height:100cqh;animation:xiping-shimmer-slide var(--speed) ease-in-out infinite alternate;border-radius:0;position:absolute;inset:0;-webkit-mask:none;mask:none}.xiping-shimmer-button-spark-before{background:conic-gradient(from calc(270deg - (var(--spread) * .5)), transparent 0, var(--shimmer-color) var(--spread), transparent var(--spread));width:auto;animation:xiping-spin-around calc(var(--speed) * 2) infinite linear;position:absolute;inset:-100%;transform:rotate(0)}.xiping-shimmer-button-highlight{border-radius:1rem;width:100%;height:100%;transition:all .3s ease-in-out;position:absolute;inset:0;transform:translateZ(0);box-shadow:inset 0 -8px 10px #ffffff1f}.xiping-shimmer-button:hover .xiping-shimmer-button-highlight{box-shadow:inset 0 -6px 10px #ffffff40}.xiping-shimmer-button:active .xiping-shimmer-button-highlight{box-shadow:inset 0 -10px 10px #ffffff40}.xiping-shimmer-button-backdrop{z-index:-20;background:var(--bg);border-radius:var(--radius);inset:var(--cut);position:absolute}@keyframes xiping-shimmer-slide{to{transform:translate(calc(100cqw - 100%))}}@keyframes xiping-spin-around{0%{transform:translateZ(0)rotate(0)}15%,35%{transform:translateZ(0)rotate(90deg)}65%,85%{transform:translateZ(0)rotate(270deg)}to{transform:translateZ(0)rotate(360deg)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('./ShimmerButton.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`);n=e.__toESM(n);let r=require(`clsx`);r=e.__toESM(r);var i=n.default.forwardRef(({shimmerColor:e=`#ffffff`,shimmerSize:n=`0.05em`,shimmerDuration:i=`3s`,borderRadius:a=`100px`,background:o=`rgba(0, 0, 0, 1)`,className:s,children:c,...l},u)=>(0,t.jsxs)(`button`,{style:{"--spread":`90deg`,"--shimmer-color":e,"--radius":a,"--speed":i,"--cut":n,"--bg":o},className:(0,r.default)(`xiping-shimmer-button`,s),ref:u,...l,children:[(0,t.jsx)(`div`,{className:`xiping-shimmer-button-spark-container`,children:(0,t.jsx)(`div`,{className:`xiping-shimmer-button-spark`,children:(0,t.jsx)(`div`,{className:`xiping-shimmer-button-spark-before`})})}),c,(0,t.jsx)(`div`,{className:`xiping-shimmer-button-highlight`}),(0,t.jsx)(`div`,{className:`xiping-shimmer-button-backdrop`})]}));i.displayName=`ShimmerButton`,exports.default=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-shiny-button{
|
|
1
|
+
.xiping-shiny-button{cursor:pointer;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid;border-radius:.5rem;padding:.5rem 1.5rem;font-weight:500;transition:box-shadow .3s ease-in-out;position:relative}.xiping-shiny-button:hover{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}@media (prefers-color-scheme:dark){.xiping-shiny-button{background:radial-gradient(circle at 50% 0%, var(--primary) 10%, transparent 60%)}.xiping-shiny-button:hover{box-shadow:0 0 20px var(--primary) / 10%}}.xiping-shiny-button-text{text-transform:uppercase;letter-spacing:.05em;color:#000000a6;width:100%;height:100%;font-size:.875rem;display:block;position:relative}@media (prefers-color-scheme:dark){.xiping-shiny-button-text{color:#ffffffe6;font-weight:300}}.xiping-shiny-button-border{z-index:10;border-radius:inherit;padding:1px;display:block;position:absolute;inset:0}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";require('./ShinyButton.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`);n=e.__toESM(n);let r=require(`clsx`);r=e.__toESM(r);let i=require(`motion/react`);var a={initial:{"--x":`100%`,scale:.8},animate:{"--x":`-100%`,scale:1},whileTap:{scale:.95},transition:{repeat:1/0,repeatType:`loop`,repeatDelay:1,type:`spring`,stiffness:20,damping:15,mass:2,scale:{type:`spring`,stiffness:200,damping:5,mass:.5}}},o=n.default.forwardRef(({children:e,className:n,...o},s)=>(0,t.jsxs)(i.motion.button,{ref:s,className:(0,r.default)(`xiping-shiny-button`,n),...a,...o,children:[(0,t.jsx)(`span`,{className:`xiping-shiny-button-text`,style:{maskImage:`linear-gradient(-75deg,var(--primary) calc(var(--x) + 20%),transparent calc(var(--x) + 30%),var(--primary) calc(var(--x) + 100%))`},children:e}),(0,t.jsx)(`span`,{style:{mask:`linear-gradient(rgb(0,0,0), rgb(0,0,0)) content-box exclude,linear-gradient(rgb(0,0,0), rgb(0,0,0))`,WebkitMask:`linear-gradient(rgb(0,0,0), rgb(0,0,0)) content-box exclude,linear-gradient(rgb(0,0,0), rgb(0,0,0))`,backgroundImage:`linear-gradient(-75deg,var(--primary)/10% calc(var(--x)+20%),var(--primary)/50% calc(var(--x)+25%),var(--primary)/10% calc(var(--x)+100%))`},className:`xiping-shiny-button-border`})]}));o.displayName=`ShinyButton`,exports.ShinyButton=o;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('./ShinyText.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`);n=e.__toESM(n);let r=require(`motion/react`);var i=({text:e,disabled:i=!1,speed:a=2,className:o=``,color:s=`#b5b5b5`,shineColor:c=`#ffffff`,spread:l=120,yoyo:u=!1,pauseOnHover:d=!1,direction:f=`left`,delay:p=0})=>{let[m,h]=(0,n.useState)(!1),g=(0,r.useMotionValue)(0),_=(0,n.useRef)(0),v=(0,n.useRef)(null),y=(0,n.useRef)(f===`left`?1:-1),b=a*1e3,x=p*1e3;(0,r.useAnimationFrame)(e=>{if(i||m){v.current=null;return}if(v.current===null){v.current=e;return}let t=e-v.current;if(v.current=e,_.current+=t,u){let e=b+x,t=e*2,n=_.current%t;if(n<b){let e=n/b*100;g.set(y.current===1?e:100-e)}else if(n<e)g.set(y.current===1?100:0);else if(n<e+b){let t=100-(n-e)/b*100;g.set(y.current===1?t:100-t)}else g.set(y.current===1?0:100)}else{let e=b+x,t=_.current%e;if(t<b){let e=t/b*100;g.set(y.current===1?e:100-e)}else g.set(y.current===1?100:0)}}),(0,n.useEffect)(()=>{y.current=f===`left`?1:-1,_.current=0,g.set(0)},[f]);let S=(0,r.useTransform)(g,e=>`${150-e*2}% center`),C=(0,n.useCallback)(()=>{d&&h(!0)},[d]),w=(0,n.useCallback)(()=>{d&&h(!1)},[d]),T={backgroundImage:`linear-gradient(${l}deg, ${s} 0%, ${s} 35%, ${c} 50%, ${s} 65%, ${s} 100%)`,backgroundSize:`200% auto`,WebkitBackgroundClip:`text`,backgroundClip:`text`,WebkitTextFillColor:`transparent`};return(0,t.jsx)(r.motion.span,{className:`shiny-text ${o}`,style:{...T,backgroundPosition:S},onMouseEnter:C,onMouseLeave:w,children:e})};exports.default=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-sparkle{pointer-events:none;
|
|
1
|
+
.xiping-sparkle{pointer-events:none;z-index:20;position:absolute}.xiping-sparkles-text{font-size:3.75rem;font-weight:700}.xiping-sparkles-text-wrapper{display:inline-block;position:relative}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";require('./SparklesText.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`),r=require(`clsx`);r=e.__toESM(r);let i=require(`motion/react`);var a=({id:e,x:n,y:r,color:a,delay:o,scale:s})=>(0,t.jsx)(i.motion.svg,{className:`xiping-sparkle`,initial:{opacity:0,left:n,top:r},animate:{opacity:[0,1,0],scale:[0,s,0],rotate:[75,120,150]},transition:{duration:.8,repeat:1/0,delay:o},width:`21`,height:`21`,viewBox:`0 0 21 21`,children:(0,t.jsx)(`path`,{d:`M9.82531 0.843845C10.0553 0.215178 10.9446 0.215178 11.1746 0.843845L11.8618 2.72026C12.4006 4.19229 12.3916 6.39157 13.5 7.5C14.6084 8.60843 16.8077 8.59935 18.2797 9.13822L20.1561 9.82534C20.7858 10.0553 20.7858 10.9447 20.1561 11.1747L18.2797 11.8618C16.8077 12.4007 14.6084 12.3916 13.5 13.5C12.3916 14.6084 12.4006 16.8077 11.8618 18.2798L11.1746 20.1562C10.9446 20.7858 10.0553 20.7858 9.82531 20.1562L9.13819 18.2798C8.59932 16.8077 8.60843 14.6084 7.5 13.5C6.39157 12.3916 4.19225 12.4007 2.72023 11.8618L0.843814 11.1747C0.215148 10.9447 0.215148 10.0553 0.843814 9.82534L2.72023 9.13822C4.19225 8.59935 6.39157 8.60843 7.5 7.5C8.60843 6.39157 8.59932 4.19229 9.13819 2.72026L9.82531 0.843845Z`,fill:a})},e),o=({children:e,colors:i={first:`#9E7AFF`,second:`#FE8BBB`},className:o,sparklesCount:s=10,...c})=>{let[l,u]=(0,n.useState)([]);return(0,n.useEffect)(()=>{let e=()=>{let e=`${Math.random()*100}%`,t=`${Math.random()*100}%`,n=Math.random()>.5?i.first:i.second,r=Math.random()*2,a=Math.random()*1+.3,o=Math.random()*10+5;return{id:`${e}-${t}-${Date.now()}`,x:e,y:t,color:n,delay:r,scale:a,lifespan:o}},t=()=>{u(Array.from({length:s},e))},n=()=>{u(t=>t.map(t=>t.lifespan<=0?e():{...t,lifespan:t.lifespan-.1}))};t();let r=setInterval(n,100);return()=>clearInterval(r)},[i.first,i.second,s]),(0,t.jsx)(`div`,{className:(0,r.default)(`xiping-sparkles-text`,o),...c,style:{"--sparkles-first-color":`${i.first}`,"--sparkles-second-color":`${i.second}`},children:(0,t.jsxs)(`span`,{className:`xiping-sparkles-text-wrapper`,children:[l.map(e=>(0,t.jsx)(a,{...e},e.id)),(0,t.jsx)(`strong`,{children:e})]})})};exports.SparklesText=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-split-parent{
|
|
1
|
+
.xiping-split-parent{white-space:normal;display:inline-block;overflow:hidden}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('./SplitText.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`);n=e.__toESM(n);let r=require(`clsx`);r=e.__toESM(r);let i=require(`gsap`),a=require(`gsap/ScrollTrigger`),o=require(`gsap/SplitText`);i.gsap.registerPlugin(a.ScrollTrigger,o.SplitText);var s=({text:e,className:a=``,delay:s=100,duration:c=.6,ease:l=`power3.out`,splitType:u=`chars`,from:d={opacity:0,y:40},to:f={opacity:1,y:0},threshold:p=.1,rootMargin:m=`-100px`,textAlign:h=`center`,onLetterAnimationComplete:g})=>{let _=(0,n.useRef)(null),v=(0,n.useRef)(!1),y=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(typeof window>`u`||!_.current||!e)return;let t=_.current;v.current=!1;let n=u===`lines`;n&&(t.style.position=`relative`);let r;try{r=new o.SplitText(t,{type:u,absolute:n,linesClass:`split-line`})}catch(e){console.error(`Failed to create SplitText:`,e);return}let a;switch(u){case`lines`:a=r.lines;break;case`words`:a=r.words;break;case`chars`:a=r.chars;break;default:a=r.chars}if(!a||a.length===0){console.warn(`No targets found for SplitText animation`),r.revert();return}a.forEach(e=>{e.style.willChange=`transform, opacity`});let h=(1-p)*100,b=/^(-?\d+(?:\.\d+)?)(px|em|rem|%)?$/.exec(m),x=b?parseFloat(b[1]):0,S=b&&b[2]||`px`,C=`top ${h}%${x<0?`-=${Math.abs(x)}${S}`:`+=${x}${S}`}`,w=i.gsap.timeline({scrollTrigger:{trigger:t,start:C,toggleActions:`play none none none`,once:!0,onToggle:e=>{y.current=e}},smoothChildTiming:!0,onComplete:()=>{v.current=!0,i.gsap.set(a,{...f,clearProps:`willChange`,immediateRender:!0}),g?.()}});return w.set(a,{...d,immediateRender:!1,force3D:!0}),w.to(a,{...f,duration:c,ease:l,stagger:s/1e3,force3D:!0}),()=>{w.kill(),y.current&&=(y.current.kill(),null),i.gsap.killTweensOf(a),r&&r.revert()}},[e,s,c,l,u,d,f,p,m,g]),(0,t.jsx)(`p`,{ref:_,className:(0,r.default)(`xiping-split-parent`,a),style:{textAlign:h,wordWrap:`break-word`},children:e})};exports.SplitText=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-subtitle-player__current-item{
|
|
1
|
+
.xiping-subtitle-player__current-item{flex-direction:column;gap:.25rem;transition:all .2s;display:flex}.xiping-subtitle-player__current-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.xiping-subtitle-player__current-text{text-shadow:0 2px 4px #00000080;font-size:1rem;font-weight:500}.xiping-subtitle-player__current-line{margin:.25rem 0}.xiping-subtitle-player__current-line:first-child{margin-top:0}.xiping-subtitle-player__current-line:last-child{margin-bottom:0}.xiping-subtitle-player__current-hover-layer{pointer-events:none;position:absolute;inset:0}@media (width<=768px){.xiping-subtitle-player__current-text{font-size:.9rem}}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require('./CurrentMode.css');const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./utils.js`);;/* empty css */let n=require(`react/jsx-runtime`),r=require(`react`);r=e.__toESM(r);var i=({currentEntries:e,wordHoverFactory:r,enableWordHover:i,overlayNode:a,onSubtitleClick:o,textAlign:s=`left`})=>e.some(({entry:e})=>e!==null)?(0,n.jsxs)(n.Fragment,{children:[e.map(({entry:e,label:a})=>{if(!e)return null;let c=e.text.split(`
|
|
2
|
+
`),l=i?r(e,a):void 0,u=c.reduce((r,i,a)=>{if(!e.words||e.words.length===0)return r.content.push((0,n.jsx)(`div`,{className:`xiping-subtitle-player__current-line`,children:i},a)),r;let o=t.renderTextWithWords(i,e.words,r.nextWordIndex,a,l);return r.content.push((0,n.jsx)(`div`,{className:`xiping-subtitle-player__current-line`,children:o.nodes},a)),{content:r.content,nextWordIndex:o.nextWordIndex}},{content:[],nextWordIndex:0}).content,d=o?t=>o(t,e,a):void 0;return(0,n.jsxs)(`div`,{className:`xiping-subtitle-player__current-item`,"data-label":a||void 0,onClick:d,style:o?{cursor:`pointer`}:void 0,children:[a&&(0,n.jsx)(`span`,{className:`xiping-subtitle-player__current-label`,children:a}),(0,n.jsx)(`div`,{className:`xiping-subtitle-player__current-text`,style:{textAlign:s},children:u})]},`${e.index}-${a||``}`)}),i&&(0,n.jsx)(`div`,{className:`xiping-subtitle-player__current-hover-layer`,children:a})]}):null;exports.CurrentMode=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-subtitle-player__lyrics-time{
|
|
1
|
+
.xiping-subtitle-player__lyrics-time{color:#ffffff80;-webkit-user-select:none;user-select:none;margin-bottom:.25rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.7rem;font-weight:500}.xiping-subtitle-player__lyrics-item{flex-direction:column;gap:.25rem;transition:all .2s;display:flex}.xiping-subtitle-player__lyrics-item--active{color:#fbbf24;font-weight:600;transition:all .3s;position:relative}.xiping-subtitle-player__lyrics-item--active:before{content:"";background:#fbbf24;border-radius:2px;width:4px;height:92%;position:absolute;top:50%;left:-1rem;transform:translateY(-50%)}.xiping-subtitle-player__lyrics-item--past{opacity:.5;color:#fff9}.xiping-subtitle-player__lyrics-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:600}.xiping-subtitle-player__lyrics-text{text-shadow:0 2px 4px #00000080;font-size:1rem;font-weight:500}.xiping-subtitle-player__lyrics-line{margin:.25rem 0}.xiping-subtitle-player__lyrics-line:first-child{margin-top:0}.xiping-subtitle-player__lyrics-line:last-child{margin-bottom:0}.xiping-subtitle-player__lyrics-hover-layer{pointer-events:none;position:absolute;inset:0}.xiping-subtitle-player--lyrics{scroll-behavior:smooth;gap:.5rem;max-height:600px;overflow-y:auto}.xiping-subtitle-player--lyrics::-webkit-scrollbar{width:8px}.xiping-subtitle-player--lyrics::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.xiping-subtitle-player--lyrics::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.xiping-subtitle-player--lyrics::-webkit-scrollbar-thumb:hover{background:#ffffff80}.xiping-subtitle-player__group{border-radius:.5rem;flex-direction:column;gap:.5rem;width:100%;margin:-.5rem;padding:.5rem;transition:all .2s;display:flex}.xiping-subtitle-player__group:hover{background-color:#ffffff1a}.xiping-subtitle-player__group:hover .xiping-subtitle-player__lyrics-item{transform:translate(4px)}.xiping-subtitle-player__group:hover .xiping-subtitle-player__lyrics-item--active{background-color:#fbbf2426}.xiping-subtitle-player__lyrics-item--active .xiping-subtitle-word{color:#fbbf24;font-weight:600}@media (width<=768px){.xiping-subtitle-player__lyrics-text{font-size:.9rem}}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require('./LyricsMode.css');const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./utils.js`);;/* empty css */let n=require(`react/jsx-runtime`),r=require(`react`);r=e.__toESM(r);let i=require(`clsx`);i=e.__toESM(i);var a=({entry:e,label:a,endTime:o,currentTime:s,isActive:c,isFirstItem:l,timeString:u,textAlign:d,enableWordHover:f,wordHoverFactory:p,onSubtitleClick:m,itemRef:h})=>{let g=s>o,_=(0,r.useCallback)(t=>{m&&m(t,e,a)},[m,e,a]),v=(0,r.useMemo)(()=>f?p(e,a):void 0,[f,p,e,a]),y=(0,r.useMemo)(()=>e.text.split(`
|
|
2
|
+
`).reduce((r,i,a)=>{if(!e.words||e.words.length===0)return r.content.push((0,n.jsx)(`div`,{className:`xiping-subtitle-player__lyrics-line`,children:i},a)),r;let o=t.renderTextWithWords(i,e.words,r.nextWordIndex,a,v);return r.content.push((0,n.jsx)(`div`,{className:`xiping-subtitle-player__lyrics-line`,children:o.nodes},a)),{content:r.content,nextWordIndex:o.nextWordIndex}},{content:[],nextWordIndex:0}).content,[e.text,e.words,v]);return(0,n.jsxs)(`div`,{ref:h,className:(0,i.default)(`xiping-subtitle-player__lyrics-item`,{"xiping-subtitle-player__lyrics-item--active":c,"xiping-subtitle-player__lyrics-item--past":g}),"data-label":a||void 0,onClick:m?_:void 0,style:m?{cursor:`pointer`}:void 0,children:[l&&u&&(0,n.jsx)(`span`,{className:`xiping-subtitle-player__lyrics-time`,children:u}),a&&(0,n.jsx)(`span`,{className:`xiping-subtitle-player__lyrics-label`,children:a}),(0,n.jsx)(`div`,{className:`xiping-subtitle-player__lyrics-text`,style:{textAlign:d},children:y})]})},o=({groupedEntriesByTime:e,currentTime:i,wordHoverFactory:o,enableWordHover:s,overlayNode:c,containerRef:l,onSubtitleClick:u,textAlign:d=`left`})=>{let f=(0,r.useRef)(null),p=(0,r.useRef)(null),m=(0,r.useMemo)(()=>{for(let t=0;t<e.length;t++){let n=e[t];for(let e=0;e<n.length;e++){let{startTime:r,endTime:a}=n[e];if(i>=r&&i<=a)return`${t}-${e}`}}return null},[e,i]);return(0,r.useEffect)(()=>{if(m&&m!==p.current&&f.current&&l.current){let e=l.current,t=f.current,n=t.offsetTop,r=e.clientHeight,i=t.clientHeight,a=n-r/2+i/2;e.scrollTo({top:a,behavior:`smooth`}),p.current=m}},[m,l]),(0,n.jsxs)(n.Fragment,{children:[e.map((e,r)=>{let c=e[0];if(!c)return null;let l=t.secondsToTimeString(c.startTime);return(0,n.jsx)(`div`,{className:`xiping-subtitle-player__group`,children:e.map(({entry:e,label:t,startTime:c,endTime:p},m)=>{let h=i>=c&&i<=p,g=`${r}-${m}`;return(0,n.jsx)(a,{entry:e,label:t,endTime:p,currentTime:i,isActive:h,isFirstItem:m===0,timeString:m===0?l:void 0,textAlign:d,enableWordHover:s,wordHoverFactory:o,onSubtitleClick:u,itemRef:h?f:void 0},g)})},r)}),s&&(0,n.jsx)(`div`,{className:`xiping-subtitle-player__lyrics-hover-layer`,children:c})]})};exports.LyricsMode=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-subtitle-player{
|
|
1
|
+
.xiping-subtitle-player{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;box-sizing:border-box;background:#000000bf;border-radius:.5rem;flex-direction:column;gap:.75rem;max-width:100%;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;display:flex;position:relative}.xiping-subtitle-player__hover-overlay{z-index:10;pointer-events:auto;position:absolute;transform:translate(-50%,.5rem)}.xiping-subtitle-player:has(.xiping-subtitle-player__current-item:only-child){align-items:center}.xiping-subtitle-player:has(.xiping-subtitle-player__current-item:not(:only-child)){align-items:flex-start}.xiping-subtitle-word{border-radius:2px;margin:0 .05em;padding:0 .05em;transition:all .2s;display:inline-block;position:relative}.xiping-subtitle-word:hover{background-color:#ffffff1a;transform:translateY(-1px)}.xiping-subtitle-word-before,.xiping-subtitle-word-after{display:inline}@media (width<=768px){.xiping-subtitle-player{padding:.75rem;font-size:.9rem}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('./SubtitlePlayer.css');const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`../../packages/subtitle/lib/src/parser.js`),n=require(`../../packages/subtitle/lib/src/json-converter.js`);;/* empty css */const r=require(`./utils.js`),i=require(`./CurrentMode2.js`),a=require(`./LyricsMode2.js`);;/* empty css */let o=require(`react/jsx-runtime`),s=require(`react`);s=e.__toESM(s);let c=require(`clsx`);c=e.__toESM(c);var l=({subtitles:e,currentTime:l,mode:u=`current`,textAlign:d=`left`,className:f=``,style:p,onWordHoverChange:m,renderWordOverlay:h,onWordClick:g,onSubtitleClick:_})=>{let v=(0,s.useMemo)(()=>Array.isArray(e)?e:[e],[e]),y=(0,s.useRef)(null),[b,x]=(0,s.useState)(null),[S,C]=(0,s.useState)([]);(0,s.useEffect)(()=>{let e=!0;async function r(){try{let r=await Promise.all(v.map(async e=>{try{let t=e.language||`zh`,r=e.type===`srt`?await n.srtToJson(e.content,t):await n.vttToJson(e.content,t);return{entries:JSON.parse(r),label:e.label}}catch(n){return console.error(`字幕解析失败:`,n),{entries:e.type===`srt`?t.parseSRT(e.content):t.parseVTT(e.content),label:e.label}}}));e&&C(r)}catch(n){console.error(`加载字幕失败:`,n),e&&C(v.map(e=>{try{return{entries:e.type===`srt`?t.parseSRT(e.content):t.parseVTT(e.content),label:e.label}}catch(t){return console.error(`字幕解析失败:`,t),{entries:[],label:e.label}}}))}}return r(),()=>{e=!1}},[v]);let w=(0,s.useMemo)(()=>S.length>0?S:v.map(e=>{try{return{entries:e.type===`srt`?t.parseSRT(e.content):t.parseVTT(e.content),label:e.label}}catch(t){return console.error(`字幕解析失败:`,t),{entries:[],label:e.label}}}),[S,v]),T=(0,s.useMemo)(()=>w.map(({entries:e,label:t})=>({entry:r.getCurrentSubtitleEntry(e,l),label:t,entries:e})),[w,l]),E=(0,s.useMemo)(()=>{let e=[];w.forEach(({entries:t,label:n})=>{t.forEach(t=>{e.push({entry:t,label:n,startTime:r.timeStringToSeconds(t.startTime),endTime:r.timeStringToSeconds(t.endTime)})})}),e.sort((e,t)=>e.startTime-t.startTime);let t=[],n=[];for(let r of e)if(n.length===0)n.push(r);else{let e=n[n.length-1];r.startTime<=e.endTime?n.push(r):(t.push(n),n=[r])}return n.length>0&&t.push(n),t},[w]),D=(0,s.useCallback)((e,t)=>{let n=e.currentTarget.getBoundingClientRect(),r=y.current?.getBoundingClientRect(),i=r===void 0?n:new DOMRect(n.left-r.left,n.top-r.top,n.width,n.height),a={...t,rect:i,element:e.currentTarget};x(a),m?.(a)},[m]),O=(0,s.useCallback)(()=>{x(null),m?.(null)},[m]),k=(0,s.useCallback)((e,t)=>{if(!g)return;e.stopPropagation();let n=e.currentTarget.getBoundingClientRect(),r=y.current?.getBoundingClientRect(),i=r===void 0?n:new DOMRect(n.left-r.left,n.top-r.top,n.width,n.height);g({type:`word`,...t,rect:i,element:e.currentTarget})},[g]),A=(0,s.useCallback)((e,t,n)=>{if(!_||e.target.closest(`.xiping-subtitle-word`))return;let r=e.currentTarget.getBoundingClientRect(),i=y.current?.getBoundingClientRect();_({type:`subtitle`,entry:t,label:n,rect:i===void 0?r:new DOMRect(r.left-i.left,r.top-i.top,r.width,r.height),element:e.currentTarget})},[_]),j=(0,s.useCallback)((e,t)=>(n,r,i)=>({onMouseEnter:a=>D(a,{word:n,wordIndex:r,lineIndex:i,entry:e,label:t}),onMouseLeave:O,onClick:a=>k(a,{word:n,wordIndex:r,lineIndex:i,entry:e,label:t})}),[D,O,k]),M=h&&b?(0,o.jsx)(`div`,{className:`xiping-subtitle-player__hover-overlay`,style:{left:b.rect.x+b.rect.width/2,top:b.rect.y+b.rect.height},children:h(b)}):null,N=!!(h||m);return(0,o.jsxs)(`div`,{ref:y,className:(0,c.default)(`xiping-subtitle-player`,u===`lyrics`?`xiping-subtitle-player--lyrics`:`xiping-subtitle-player--current`,f),style:p,children:[u===`current`&&(0,o.jsx)(i.CurrentMode,{currentEntries:T,wordHoverFactory:j,enableWordHover:N,overlayNode:M,onSubtitleClick:A,textAlign:d}),u===`lyrics`&&(0,o.jsx)(a.LyricsMode,{groupedEntriesByTime:E,currentTime:l,wordHoverFactory:j,enableWordHover:N,overlayNode:M,containerRef:y,onSubtitleClick:A,textAlign:d})]})};exports.default=l;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.js`);let t=require(`react/jsx-runtime`),n=require(`react`);n=e.__toESM(n);function r(e){let t=e.replace(`,`,`.`).split(`:`);if(t.length!==3)return 0;let n=parseInt(t[0],10)||0,r=parseInt(t[1],10)||0,i=parseFloat(t[2])||0;return n*3600+r*60+i}function i(e){let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=Math.floor(e%60);return t>0?`${t.toString().padStart(2,`0`)}:${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`:`${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`}function a(e,t){for(let n of e){let e=r(n.startTime),i=r(n.endTime);if(t>=e&&t<=i)return n}return null}function o(e,n,r,i,a){if(!n||n.length===0)return{nodes:e,nextWordIndex:r};let o=[],s=0;for(let c=r;c<n.length;c++){let r=n[c],l=e.substring(s).indexOf(r);if(l===-1)return{nodes:o.length>0?o:e,nextWordIndex:c};let u=s+l;if(u>s){let n=e.substring(s,u);n&&o.push((0,t.jsx)(`span`,{className:`xiping-subtitle-word-before`,children:n},`before-${i}-${c}`))}let d=a?.(r,c,i);if(o.push((0,t.jsx)(`span`,{className:`xiping-subtitle-word`,"data-word":r,onMouseEnter:d?.onMouseEnter,onMouseLeave:d?.onMouseLeave,onClick:d?.onClick,children:r},`word-${i}-${c}`)),s=u+r.length,s>=e.length)return{nodes:o,nextWordIndex:c+1}}if(s<e.length){let n=e.substring(s);n&&o.push((0,t.jsx)(`span`,{className:`xiping-subtitle-word-after`,children:n},`after-${i}`))}return{nodes:o.length>0?o:e,nextWordIndex:n.length}}exports.getCurrentSubtitleEntry=a,exports.renderTextWithWords=o,exports.secondsToTimeString=i,exports.timeStringToSeconds=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-text-animate{white-space:pre-wrap}.xiping-text-animate-segment{display:inline-block
|
|
1
|
+
.xiping-text-animate{white-space:pre-wrap}.xiping-text-animate-segment{white-space:pre;display:inline-block}.xiping-text-animate-segment--line{display:block}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";require('./TextAnimate.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`clsx`);n=e.__toESM(n);let r=require(`motion/react`);var i={text:.06,word:.05,character:.03,line:.06},a={hidden:{opacity:1},show:{opacity:1,transition:{staggerChildren:.05}},exit:{opacity:0,transition:{staggerChildren:.05,staggerDirection:-1}}},o={hidden:{opacity:0},show:{opacity:1},exit:{opacity:0}},s={fadeIn:{container:a,item:{hidden:{opacity:0,y:20},show:e=>({opacity:1,y:0,transition:{delay:e,duration:.3}}),exit:{opacity:0,y:20,transition:{duration:.3}}}},blurIn:{container:a,item:{hidden:{opacity:0,filter:`blur(10px)`},show:e=>({opacity:1,filter:`blur(0px)`,transition:{delay:e*.1,duration:.3}}),exit:{opacity:0,filter:`blur(10px)`,transition:{duration:.3}}}},blurInUp:{container:a,item:{hidden:{opacity:0,filter:`blur(10px)`,y:20},show:e=>({opacity:1,filter:`blur(0px)`,y:0,transition:{y:{duration:.3},opacity:{duration:.4},filter:{duration:.3}}}),exit:{opacity:0,filter:`blur(10px)`,y:20,transition:{y:{duration:.3},opacity:{duration:.4},filter:{duration:.3}}}}},blurInDown:{container:a,item:{hidden:{opacity:0,filter:`blur(10px)`,y:-20},show:e=>({opacity:1,filter:`blur(0px)`,y:0,transition:{y:{duration:.3},opacity:{duration:.4},filter:{duration:.3}}})}},slideUp:{container:a,item:{hidden:{y:20,opacity:0},show:e=>({y:0,opacity:1,transition:{delay:e,duration:.3}}),exit:{y:-20,opacity:0,transition:{duration:.3}}}},slideDown:{container:a,item:{hidden:{y:-20,opacity:0},show:{y:0,opacity:1,transition:{duration:.3}},exit:{y:20,opacity:0,transition:{duration:.3}}}},slideLeft:{container:a,item:{hidden:{x:20,opacity:0},show:{x:0,opacity:1,transition:{duration:.3}},exit:{x:-20,opacity:0,transition:{duration:.3}}}},slideRight:{container:a,item:{hidden:{x:-20,opacity:0},show:{x:0,opacity:1,transition:{duration:.3}},exit:{x:20,opacity:0,transition:{duration:.3}}}},scaleUp:{container:a,item:{hidden:{scale:.5,opacity:0},show:{scale:1,opacity:1,transition:{duration:.3,scale:{type:`spring`,damping:15,stiffness:300}}},exit:{scale:.5,opacity:0,transition:{duration:.3}}}},scaleDown:{container:a,item:{hidden:{scale:1.5,opacity:0},show:e=>({scale:1,opacity:1,transition:{delay:e,duration:.3,scale:{type:`spring`,damping:15,stiffness:300}}}),exit:{scale:1.5,opacity:0,transition:{duration:.3}}}}};function c({children:e,delay:c=0,duration:l=.3,variants:u,className:d,segmentClassName:f,as:p=`p`,startOnView:m=!0,once:h=!1,by:g=`word`,animation:_=`fadeIn`,...v}){let y=r.motion.create(p),b=_?{container:{...s[_].container,show:{...s[_].container.show,transition:{staggerChildren:i[g]}},exit:{...s[_].container.exit,transition:{staggerChildren:i[g],staggerDirection:-1}}},item:s[_].item}:{container:a,item:o},x=[];switch(g){case`word`:x=e.split(/(\s+)/);break;case`character`:x=e.split(``);break;case`line`:x=e.split(`
|
|
2
|
+
`);break;default:x=[e];break}return(0,t.jsx)(r.AnimatePresence,{mode:`popLayout`,children:(0,t.jsx)(y,{variants:b.container,initial:`hidden`,whileInView:m?`show`:void 0,animate:m?void 0:`show`,exit:`exit`,className:(0,n.default)(`xiping-text-animate`,d),...v,children:x.map((e,a)=>(0,t.jsx)(r.motion.span,{variants:b.item,custom:a*i[g],className:(0,n.default)(`xiping-text-animate-segment`,g===`line`&&`xiping-text-animate-segment--line`,f),children:e},`${g}-${e}-${a}`))})})}exports.TextAnimate=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-text-type{
|
|
1
|
+
.xiping-text-type{white-space:pre-wrap;display:inline-block}.xiping-text-type__content{display:inline-block}.xiping-text-type__cursor{opacity:1;margin-left:.25rem;display:inline-block}.xiping-text-type__cursor--hidden{display:none}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";require('./TextType.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`),r=require(`clsx`);r=e.__toESM(r);let i=require(`gsap`);var a=({text:e,as:a=`div`,typingSpeed:o=50,initialDelay:s=0,pauseDuration:c=2e3,deletingSpeed:l=30,loop:u=!0,className:d=``,showCursor:f=!0,hideCursorWhileTyping:p=!1,cursorCharacter:m=`|`,cursorClassName:h=``,cursorBlinkDuration:g=.5,textColors:_=[],variableSpeed:v,onSentenceComplete:y,startOnVisible:b=!1,reverseMode:x=!1,...S})=>{let[C,w]=(0,n.useState)(``),[T,E]=(0,n.useState)(0),[D,O]=(0,n.useState)(!1),[k,A]=(0,n.useState)(0),[j,M]=(0,n.useState)(!b),N=(0,n.useRef)(null),P=(0,n.useRef)(null),F=(0,n.useMemo)(()=>Array.isArray(e)?e:[e],[e]),I=(0,n.useCallback)(()=>{if(!v)return o;let{min:e,max:t}=v;return Math.random()*(t-e)+e},[v,o]),L=()=>{if(_.length!==0)return _[k%_.length]};(0,n.useEffect)(()=>{if(!b||!P.current)return;let e=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&M(!0)})},{threshold:.1});return e.observe(P.current),()=>e.disconnect()},[b]),(0,n.useEffect)(()=>{f&&N.current&&(i.gsap.set(N.current,{opacity:1}),i.gsap.to(N.current,{opacity:0,duration:g,repeat:-1,yoyo:!0,ease:`power2.inOut`}))},[f,g]),(0,n.useEffect)(()=>{if(!j)return;let e,t=F[k],n=x?t.split(``).reverse().join(``):t,r=()=>{if(D)if(C===``){if(O(!1),k===F.length-1&&!u)return;y&&y(F[k],k),A(e=>(e+1)%F.length),E(0),e=setTimeout(()=>{},c)}else e=setTimeout(()=>{w(e=>e.slice(0,-1))},l);else T<n.length?e=setTimeout(()=>{w(e=>e+n[T]),E(e=>e+1)},v?I():o):F.length>1&&(e=setTimeout(()=>{O(!0)},c))};return T===0&&!D&&C===``?e=setTimeout(r,s):r(),()=>clearTimeout(e)},[T,C,D,o,l,c,F,k,u,s,j,x,v,y]);let R=p&&(T<F[k].length||D);return(0,n.createElement)(a,{ref:P,className:`xiping-text-type ${d}`,...S},(0,t.jsx)(`span`,{className:`xiping-text-type__content`,style:{color:L()||`inherit`},children:C}),f&&(0,t.jsx)(`span`,{ref:N,className:(0,r.default)(`xiping-text-type__cursor`,h,R&&`xiping-text-type__cursor--hidden`),children:m}))};exports.default=a;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.js`);let t=require(`react/jsx-runtime`),n=require(`react`),r=require(`@tiptap/react`),i=require(`@tiptap/starter-kit`);i=e.__toESM(i);var a=({height:e=`500px`,width:a=`100%`,language:o=`plaintext`,defaultValue:s,value:c,theme:l=`light`,readOnly:u=!1,onChange:d,onMount:f,className:p})=>{let m=c!==void 0,h=(0,n.useMemo)(()=>s||c||``,[s,c]),g=(0,r.useEditor)({extensions:[i.default.configure({bold:!1,italic:!1,strike:!1,code:!1,heading:!1,blockquote:!1,horizontalRule:!1,hardBreak:!1})],content:h,editable:!u,immediatelyRender:!1,onUpdate:({editor:e})=>{let t=e.getText();d?.(t)}});if((0,n.useEffect)(()=>{!g||!m||c!==g.getText()&&g.commands.setContent(c||``,{emitUpdate:!1})},[g,c,m]),(0,n.useEffect)(()=>{g&&g.setEditable(!u)},[g,u]),(0,n.useEffect)(()=>{g&&f&&f(g)},[g,f]),!g)return null;let _=typeof e==`number`?`${e}px`:e,v=typeof a==`number`?`${a}px`:a,y=l===`vs-dark`;return(0,t.jsxs)(`div`,{className:p,style:{width:v,height:_,border:`1px solid ${y?`#3e3e3e`:`#d4d4d4`}`,borderRadius:`4px`,overflow:`hidden`,backgroundColor:y?`#1e1e1e`:`#ffffff`},children:[(0,t.jsx)(r.EditorContent,{editor:g,style:{height:`100%`,overflow:`auto`}}),(0,t.jsx)(`style`,{children:`
|
|
2
2
|
.ProseMirror {
|
|
3
3
|
outline: none;
|
|
4
4
|
padding: 12px;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;
|
|
7
7
|
font-size: 14px;
|
|
8
8
|
line-height: 1.5;
|
|
9
|
-
color: ${
|
|
9
|
+
color: ${y?`#d4d4d4`:`#333333`};
|
|
10
10
|
white-space: pre-wrap;
|
|
11
11
|
word-wrap: break-word;
|
|
12
12
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
.ProseMirror:focus {
|
|
21
21
|
outline: none;
|
|
22
22
|
}
|
|
23
|
-
${
|
|
23
|
+
${y?`
|
|
24
24
|
.ProseMirror {
|
|
25
25
|
background-color: #1e1e1e;
|
|
26
26
|
}
|
|
@@ -29,4 +29,4 @@
|
|
|
29
29
|
background-color: #ffffff;
|
|
30
30
|
}
|
|
31
31
|
`}
|
|
32
|
-
`})]})};exports.TxtEditor=
|
|
32
|
+
`})]})};exports.TxtEditor=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const e=require(`../../_virtual/_rolldown/runtime.js`),t=require(`./index.module.js`);let n=require(`react/jsx-runtime`),r=require(`react`),i=require(`clsx`);i=e.__toESM(i);let a=require(`motion/react`);var o=16,s=1.5,c=`normal`,l=({content:e,lineHeight:l=s,fontSize:u=o,fontWeight:d=c,className:f=``,style:p={},onProgressChange:m,initialScrollPosition:h,cacheKey:g,showTopProgress:_=!0,topProgressClassName:v,showBottomProgress:y=!0,bottomProgressClassName:b})=>{let x=(0,r.useRef)(null),S=(0,r.useRef)(null),{scrollYProgress:C}=(0,a.useScroll)({container:x,target:S}),w=(0,a.useTransform)(()=>(C.get()*100).toFixed(2).replace(/\.0*$/,``)),T=a.useMotionTemplate`${w}%`;return w.on(`change`,e=>{m?.(Number(e))}),(0,n.jsxs)(n.Fragment,{children:[_&&(0,n.jsx)(a.motion.div,{id:`scroll-indicator`,className:(0,i.default)(t.default[`xiping-top-progress`],v),style:{scaleX:C,originX:0}}),(0,n.jsx)(`div`,{className:(0,i.default)(t.default[`xiping-container`],t.default[`xiping-text-content`]),ref:x,children:(0,n.jsx)(`div`,{ref:S,className:(0,i.default)(t.default[`xiping-content`],f),style:{fontSize:`${u}px`,lineHeight:l,fontWeight:d,...p},children:e})}),y&&(0,n.jsx)(a.motion.div,{id:`scroll-present`,className:(0,i.default)(t.default[`xiping-bottom-progress`],b),children:T})]})};exports.default=l;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
._xiping-top-progress_rkm9f_23{position:fixed;
|
|
1
|
+
._xiping-top-progress_rkm9f_23{background-color:#f08;height:10px;position:fixed;top:0;left:0;right:0}._xiping-container_rkm9f_33{width:100%;height:100%;position:relative;overflow-y:auto}._xiping-content_rkm9f_41{white-space:pre-wrap;word-break:break-word;width:100%}._xiping-bottom-progress_rkm9f_48{color:#fff;background-color:#000000b3;border-radius:4px;padding:.25rem .5rem;font-size:.875rem;position:fixed;bottom:1.25rem;right:1.25rem}._xiping-text-content_rkm9f_63::-webkit-scrollbar{width:8px}._xiping-text-content_rkm9f_63::-webkit-scrollbar-thumb{background:#0003;box-shadow:inset 0 0 5px #0003}._xiping-text-content_rkm9f_63::-webkit-scrollbar-track{background:#00000014;border-radius:0;box-shadow:inset 0 0 5px #0003}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('./index.module.css');var e={"xiping-top-progress":`_xiping-top-progress_rkm9f_23`,"xiping-container":`_xiping-container_rkm9f_33`,"xiping-content":`_xiping-content_rkm9f_41`,"xiping-bottom-progress":`_xiping-bottom-progress_rkm9f_48`,"xiping-text-content":`_xiping-text-content_rkm9f_63`};exports.default=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-typing-animation{font-size:2.25rem;font-weight:700;line-height:5rem
|
|
1
|
+
.xiping-typing-animation{letter-spacing:-.02em;font-size:2.25rem;font-weight:700;line-height:5rem}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";require('./index.css');const e=require(`../../_virtual/_rolldown/runtime.js`);;/* empty css */let t=require(`react/jsx-runtime`),n=require(`react`),r=require(`clsx`);r=e.__toESM(r);let i=require(`motion/react`);function a({children:e,className:a,duration:o=100,delay:s=0,as:c=`div`,startOnView:l=!1,...u}){let d=i.motion.create(c,{forwardMotionProps:!0}),[f,p]=(0,n.useState)(``),[m,h]=(0,n.useState)(!1),g=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(!l){let e=setTimeout(()=>{h(!0)},s);return()=>clearTimeout(e)}let e=new IntersectionObserver(([t])=>{t.isIntersecting&&(setTimeout(()=>{h(!0)},s),e.disconnect())},{threshold:.1});return g.current&&e.observe(g.current),()=>e.disconnect()},[s,l]),(0,n.useEffect)(()=>{if(!m)return;let t=0,n=setInterval(()=>{t<e.length?(p(e.substring(0,t+1)),t++):clearInterval(n)},o);return()=>{clearInterval(n)}},[e,o,m]),(0,t.jsx)(d,{ref:g,className:(0,r.default)(`xiping-typing-animation`,a),...u,children:f})}exports.default=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.xiping-variable-proximity{font-family:Roboto Flex,Noto Sans SC,PingFang SC,Microsoft YaHei,SimHei,sans-serif}.xiping-variable-proximity__sr-only{
|
|
1
|
+
.xiping-variable-proximity{font-family:Roboto Flex,Noto Sans SC,PingFang SC,Microsoft YaHei,SimHei,sans-serif}.xiping-variable-proximity__sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
|