@ehfuse/react-vfx 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -0
- package/dist/VfxTyping.d.ts +34 -0
- package/dist/VfxTyping.d.ts.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +103 -99
- package/dist/index.esm.js.map +4 -4
- package/dist/index.js +124 -120
- package/dist/index.js.map +4 -4
- package/dist/types.d.ts +19 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -4
- package/dist/VfxDiv.backup.d.ts +0 -28
- package/dist/VfxDiv.backup.d.ts.map +0 -1
- package/dist/VfxText.backup.d.ts +0 -28
- package/dist/VfxText.backup.d.ts.map +0 -1
- package/dist/border-effects/dash-flow.d.ts +0 -11
- package/dist/border-effects/dash-flow.d.ts.map +0 -1
- package/dist/border-effects/dash-rotate.d.ts +0 -12
- package/dist/border-effects/dash-rotate.d.ts.map +0 -1
- package/dist/border-effects/index.d.ts +0 -16
- package/dist/border-effects/index.d.ts.map +0 -1
- package/dist/border-effects/pulse.d.ts +0 -11
- package/dist/border-effects/pulse.d.ts.map +0 -1
- package/dist/border-effects/sparkle.d.ts +0 -12
- package/dist/border-effects/sparkle.d.ts.map +0 -1
- package/dist/border-effects/special.d.ts +0 -8
- package/dist/border-effects/special.d.ts.map +0 -1
- package/dist/border-effects/types.d.ts +0 -25
- package/dist/border-effects/types.d.ts.map +0 -1
- package/dist/particles/balloons.d.ts +0 -6
- package/dist/particles/balloons.d.ts.map +0 -1
- package/dist/particles/bubbles.d.ts +0 -7
- package/dist/particles/bubbles.d.ts.map +0 -1
- package/dist/particles/coins.d.ts +0 -6
- package/dist/particles/coins.d.ts.map +0 -1
- package/dist/particles/confetti.d.ts +0 -6
- package/dist/particles/confetti.d.ts.map +0 -1
- package/dist/particles/dust.d.ts +0 -6
- package/dist/particles/dust.d.ts.map +0 -1
- package/dist/particles/electric.d.ts +0 -6
- package/dist/particles/electric.d.ts.map +0 -1
- package/dist/particles/explosion.d.ts +0 -6
- package/dist/particles/explosion.d.ts.map +0 -1
- package/dist/particles/firefly.d.ts +0 -6
- package/dist/particles/firefly.d.ts.map +0 -1
- package/dist/particles/fireworks.d.ts +0 -6
- package/dist/particles/fireworks.d.ts.map +0 -1
- package/dist/particles/fog.d.ts +0 -6
- package/dist/particles/fog.d.ts.map +0 -1
- package/dist/particles/hearts.d.ts +0 -9
- package/dist/particles/hearts.d.ts.map +0 -1
- package/dist/particles/index.d.ts +0 -30
- package/dist/particles/index.d.ts.map +0 -1
- package/dist/particles/leaves.d.ts +0 -6
- package/dist/particles/leaves.d.ts.map +0 -1
- package/dist/particles/lightning.d.ts +0 -6
- package/dist/particles/lightning.d.ts.map +0 -1
- package/dist/particles/magic.d.ts +0 -6
- package/dist/particles/magic.d.ts.map +0 -1
- package/dist/particles/matrix.d.ts +0 -6
- package/dist/particles/matrix.d.ts.map +0 -1
- package/dist/particles/portal.d.ts +0 -6
- package/dist/particles/portal.d.ts.map +0 -1
- package/dist/particles/rain.d.ts +0 -6
- package/dist/particles/rain.d.ts.map +0 -1
- package/dist/particles/sakura.d.ts +0 -6
- package/dist/particles/sakura.d.ts.map +0 -1
- package/dist/particles/smoke.d.ts +0 -6
- package/dist/particles/smoke.d.ts.map +0 -1
- package/dist/particles/snow.d.ts +0 -6
- package/dist/particles/snow.d.ts.map +0 -1
- package/dist/particles/sparkle.d.ts +0 -6
- package/dist/particles/sparkle.d.ts.map +0 -1
- package/dist/particles/stars.d.ts +0 -7
- package/dist/particles/stars.d.ts.map +0 -1
- package/dist/particles/types.d.ts +0 -40
- package/dist/particles/types.d.ts.map +0 -1
- package/dist/slide-effects/drift.d.ts +0 -12
- package/dist/slide-effects/drift.d.ts.map +0 -1
- package/dist/slide-effects/fade.d.ts +0 -10
- package/dist/slide-effects/fade.d.ts.map +0 -1
- package/dist/slide-effects/flip.d.ts +0 -8
- package/dist/slide-effects/flip.d.ts.map +0 -1
- package/dist/slide-effects/index.d.ts +0 -28
- package/dist/slide-effects/index.d.ts.map +0 -1
- package/dist/slide-effects/rotate.d.ts +0 -9
- package/dist/slide-effects/rotate.d.ts.map +0 -1
- package/dist/slide-effects/slide.d.ts +0 -9
- package/dist/slide-effects/slide.d.ts.map +0 -1
- package/dist/slide-effects/special.d.ts +0 -10
- package/dist/slide-effects/special.d.ts.map +0 -1
- package/dist/slide-effects/types.d.ts +0 -25
- package/dist/slide-effects/types.d.ts.map +0 -1
- package/dist/slide-effects/zoom.d.ts +0 -11
- package/dist/slide-effects/zoom.d.ts.map +0 -1
- package/dist/text-effects/blink.d.ts +0 -6
- package/dist/text-effects/blink.d.ts.map +0 -1
- package/dist/text-effects/blur.d.ts +0 -6
- package/dist/text-effects/blur.d.ts.map +0 -1
- package/dist/text-effects/bounce.d.ts +0 -6
- package/dist/text-effects/bounce.d.ts.map +0 -1
- package/dist/text-effects/fade.d.ts +0 -6
- package/dist/text-effects/fade.d.ts.map +0 -1
- package/dist/text-effects/flowing.d.ts +0 -6
- package/dist/text-effects/flowing.d.ts.map +0 -1
- package/dist/text-effects/fly-in.d.ts +0 -6
- package/dist/text-effects/fly-in.d.ts.map +0 -1
- package/dist/text-effects/glitch.d.ts +0 -6
- package/dist/text-effects/glitch.d.ts.map +0 -1
- package/dist/text-effects/index.d.ts +0 -28
- package/dist/text-effects/index.d.ts.map +0 -1
- package/dist/text-effects/jitter.d.ts +0 -6
- package/dist/text-effects/jitter.d.ts.map +0 -1
- package/dist/text-effects/neon.d.ts +0 -6
- package/dist/text-effects/neon.d.ts.map +0 -1
- package/dist/text-effects/pulse.d.ts +0 -11
- package/dist/text-effects/pulse.d.ts.map +0 -1
- package/dist/text-effects/rainbow.d.ts +0 -6
- package/dist/text-effects/rainbow.d.ts.map +0 -1
- package/dist/text-effects/shake.d.ts +0 -6
- package/dist/text-effects/shake.d.ts.map +0 -1
- package/dist/text-effects/spin.d.ts +0 -8
- package/dist/text-effects/spin.d.ts.map +0 -1
- package/dist/text-effects/swing.d.ts +0 -7
- package/dist/text-effects/swing.d.ts.map +0 -1
- package/dist/text-effects/types.d.ts +0 -22
- package/dist/text-effects/types.d.ts.map +0 -1
- package/dist/text-effects/wave.d.ts +0 -6
- package/dist/text-effects/wave.d.ts.map +0 -1
- package/dist/text-effects/zoom.d.ts +0 -6
- package/dist/text-effects/zoom.d.ts.map +0 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze(""),[n,
|
|
1
|
+
import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze(""),[n,i]=ze(0);return Ie(()=>{t==="typing"?(o(""),i(0)):o(e)},[t,e,r]),Ie(()=>{if(t==="typing"&&r&&e){let l,c,d=()=>{o(""),i(0);let u=0;l=setInterval(()=>{u<e.length?(o(e.slice(0,u+1)),i(u+1),u++):(clearInterval(l),c=setTimeout(()=>{d()},2e3))},100)};return d(),()=>{clearInterval(l),clearTimeout(c)}}else t==="typing"&&!r&&(o(""),i(0))},[t,r,e]),{textToShow:t==="typing"?a:e,currentIndex:n,getEffectStyle:()=>r?{}:{opacity:0},isTypingComplete:n>=e.length}};var Ne={keyframes:`
|
|
2
2
|
@keyframes textFadeInOut {
|
|
3
3
|
0%, 100% { opacity: 0.3; }
|
|
4
4
|
50% { opacity: 1; }
|
|
@@ -154,7 +154,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
154
154
|
animation: textSpinX 2s ease-in-out infinite;
|
|
155
155
|
display: inline-block;
|
|
156
156
|
}
|
|
157
|
-
`},
|
|
157
|
+
`},Oe={keyframes:`
|
|
158
158
|
@keyframes textSpinY {
|
|
159
159
|
from { transform: rotate(0deg); }
|
|
160
160
|
to { transform: rotate(360deg); }
|
|
@@ -169,7 +169,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
169
169
|
justify-content: center;
|
|
170
170
|
width: 100%;
|
|
171
171
|
}
|
|
172
|
-
`,customRender:!0},
|
|
172
|
+
`,customRender:!0},Ze={keyframes:`
|
|
173
173
|
@keyframes textSpinCenter {
|
|
174
174
|
0% { transform: perspective(800px) rotateY(0deg); }
|
|
175
175
|
100% { transform: perspective(800px) rotateY(360deg); }
|
|
@@ -381,7 +381,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
381
381
|
.vfx-text-fly-in-container {
|
|
382
382
|
display: inline-flex;
|
|
383
383
|
}
|
|
384
|
-
`,customRender:!0};var
|
|
384
|
+
`,customRender:!0};var ie={fade:Ne,flowing:_e,"yellow-pulse":$e,"red-pulse":Ae,"blue-pulse":Xe,"green-pulse":Ke,"pink-pulse":Ye,"purple-pulse":Ge,blink:He,"spin-x":Ve,"spin-y":Oe,"spin-center":Ze,"swing-x":Ue,"swing-y":We,shake:je,bounce:qe,wave:Je,glitch:Qe,neon:et,zoom:tt,blur:rt,rainbow:ot,jitter:at,"fly-in":nt},it=()=>{let e=[];return e.push(`
|
|
385
385
|
.vfx-text-effect-container {
|
|
386
386
|
display: flex;
|
|
387
387
|
position: relative;
|
|
@@ -389,86 +389,90 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
389
389
|
width: 100%;
|
|
390
390
|
overflow: hidden;
|
|
391
391
|
}
|
|
392
|
-
`),Object.values(
|
|
393
|
-
`)},
|
|
392
|
+
`),Object.values(ie).forEach(t=>{e.push(t.keyframes),e.push(t.className),t.additionalClasses&&e.push(t.additionalClasses)}),e.join(`
|
|
393
|
+
`)},st=e=>!e||!ie[e]?"":`vfx-text-${e}`,ft=e=>e?ie[e]?.additionalStyle||{}:{};import{jsx as P,jsxs as lt}from"react/jsx-runtime";var Kr=()=>{let e="text-effect-styles";if(document.getElementById(e))return;let t=document.createElement("style");t.id=e,t.textContent=it(),document.head.appendChild(t)},Yr=({title:e,effect:t,isActive:r,className:a="",style:o={}})=>{let{textToShow:n,getEffectStyle:i,isTypingComplete:p}=ne(e,t,r),s=u=>{let h=u.length*100/1e3;return Math.min(Math.max(h,2),10)},l="",c={};r&&t&&(l=` ${st(t)}`,c=ft(t));let d={...o,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",width:"100%",maxWidth:"100%",display:"flex"};if(a=`vfx-text-effect-container w-full h-full ${a}`.trim(),l&&(a+=l),t==="wave"&&r)return P("div",{className:`vfx-text-effect-container w-full h-full ${a}`.trim(),style:{...d,...o},children:P("span",{className:"vfx-text-wave-container",children:e.split("").map((u,g)=>P("span",{className:"vfx-text-wave-char",style:{animationDelay:`${g*.05}s`},children:u===" "?"\xA0":u},g))})});if(t==="fly-in"&&r)return P("div",{className:`vfx-text-effect-container w-full h-full ${a}`.trim(),style:{...d,...o,overflow:"visible"},children:P("span",{className:"vfx-text-fly-in-container",children:e.split("").map((u,g)=>P("span",{className:"vfx-text-fly-in-char",style:{animationDelay:`${g*.08}s`},children:u===" "?"\xA0":u},g))})});if(t==="spin-y"&&r)return P("div",{className:`vfx-text-effect-container w-full h-full ${a}`.trim(),style:{...d,...o,overflow:"visible"},children:P("div",{className:"vfx-text-spin-y-wrapper",children:P("span",{className:"vfx-text-spin-y",children:e})})});if(t==="spin-center"&&r)return P("div",{className:`vfx-text-effect-container w-full h-full ${a}`.trim(),style:{...d,...o,overflow:"visible"},children:P("div",{className:"vfx-text-spin-center-wrapper",children:P("span",{className:"vfx-text-spin-center",children:e})})});if(t==="flowing"&&r){let u=s(e);return lt("div",{className:a,style:{position:"relative",whiteSpace:"nowrap",height:"auto"},children:[P("div",{style:{visibility:"hidden",width:0,overflow:"hidden"},children:e}),P("div",{className:"vfx-text-flowing",style:{display:"inline-block",position:"absolute",animationDuration:`${u}s`,whiteSpace:"nowrap"},children:e})]})}return lt("div",{className:a,style:{...d,...i(),...c},children:[n,t==="typing"&&r&&!p&&P("span",{className:"animate-pulse",children:"_"})]})};import{useEffect as dt,useState as Gr}from"react";import{jsx as xt,jsxs as jr}from"react/jsx-runtime";var pt=45,Hr=2e3,mt="vfx-typing-styles",Vr=`
|
|
394
|
+
:where(.vfx-typing-rest){color:transparent}
|
|
395
|
+
:where(.vfx-typing-caret){display:inline-block;width:2px;height:1.1em;margin:0 1px -0.18em;background:currentColor;animation:vfx-typing-blink .8s steps(1) infinite}
|
|
396
|
+
@keyframes vfx-typing-blink{50%{opacity:0}}
|
|
397
|
+
`,Or=()=>{if(typeof document>"u"||document.getElementById(mt))return;let e=document.createElement("style");e.id=mt,e.textContent=Vr,document.head.appendChild(e)},ct=(e,t,r)=>r?Math.min(t,r/Math.max(1,e)):t,Zr=(e,t={})=>{let r=Array.from(e).length;return r*ct(r,t.speed??pt,t.maxDuration)},Ur=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,Wr=({text:e,delay:t=0,speed:r=pt,maxDuration:a,loop:o=!1,caret:n="typing",reserveSpace:i=!0,as:p="span",className:s="",style:l,caretClassName:c="",respectReducedMotion:d=!0,ariaHidden:u=!1,onDone:g})=>{let C=Array.from(e),w=d&&Ur(),[h,E]=Gr(w?C.length:0);dt(()=>{Or()},[]),dt(()=>{if(w){E(C.length),g?.();return}E(0);let y=0,F=0,I=ct(C.length,r,a),R=typeof o=="number"?o:Hr,L=()=>{if(F+=1,E(F),F<C.length){y=window.setTimeout(L,I);return}g?.(),o!==!1&&(y=window.setTimeout(()=>{F=0,E(0),y=window.setTimeout(L,I)},R))};return y=window.setTimeout(L,t),()=>window.clearTimeout(y)},[e,t,r,a,o,w]);let z=h>=C.length,K=!w&&n!=="none"&&(n==="always"||(h>0?!z:n==="wait"));return jr(p,{className:`vfx-typing ${s}`.trim(),style:l,"aria-hidden":u||void 0,children:[C.slice(0,h).join(""),K&&xt("span",{className:`vfx-typing-caret ${c}`.trim()}),i&&xt("span",{className:"vfx-typing-rest",children:C.slice(h).join("")})]})};import{useEffect as to}from"react";var A="2s";var v={BASE:0,MEDIUM:0,LARGE:0,INTENSE_SMALL:1,INTENSE_MEDIUM:1.5,INTENSE_LARGE:2};var ut={keyframes:`
|
|
394
398
|
@keyframes yellowBorderGlow {
|
|
395
399
|
0%, 100% {
|
|
396
400
|
box-shadow: none;
|
|
397
401
|
}
|
|
398
402
|
50% {
|
|
399
|
-
box-shadow: 0 0 ${7*
|
|
403
|
+
box-shadow: 0 0 ${7*v.INTENSE_SMALL}px rgba(255, 193, 7, 1), 0 0 ${7*v.INTENSE_MEDIUM}px rgba(255, 193, 7, 0.8), 0 0 ${7*v.INTENSE_LARGE}px rgba(255, 193, 7, 0.6);
|
|
400
404
|
}
|
|
401
405
|
}
|
|
402
406
|
`,className:`
|
|
403
407
|
.vfx-border-yellow-pulse {
|
|
404
|
-
animation: yellowBorderGlow ${
|
|
408
|
+
animation: yellowBorderGlow ${A} ease-in-out infinite !important;
|
|
405
409
|
}
|
|
406
|
-
`},
|
|
410
|
+
`},yt={keyframes:`
|
|
407
411
|
@keyframes redBorderGlow {
|
|
408
412
|
0%, 100% {
|
|
409
413
|
box-shadow: none;
|
|
410
414
|
}
|
|
411
415
|
50% {
|
|
412
|
-
box-shadow: 0 0 ${7*
|
|
416
|
+
box-shadow: 0 0 ${7*v.INTENSE_SMALL}px rgba(244, 67, 54, 1), 0 0 ${7*v.INTENSE_MEDIUM}px rgba(244, 67, 54, 0.8), 0 0 ${7*v.INTENSE_LARGE}px rgba(244, 67, 54, 0.6);
|
|
413
417
|
}
|
|
414
418
|
}
|
|
415
419
|
`,className:`
|
|
416
420
|
.vfx-border-red-pulse {
|
|
417
|
-
animation: redBorderGlow ${
|
|
421
|
+
animation: redBorderGlow ${A} ease-in-out infinite !important;
|
|
418
422
|
}
|
|
419
|
-
`},
|
|
423
|
+
`},ht={keyframes:`
|
|
420
424
|
@keyframes blueBorderGlow {
|
|
421
425
|
0%, 100% {
|
|
422
426
|
box-shadow: none;
|
|
423
427
|
}
|
|
424
428
|
50% {
|
|
425
|
-
box-shadow: 0 0 ${7*
|
|
429
|
+
box-shadow: 0 0 ${7*v.INTENSE_SMALL}px rgba(33, 150, 243, 1), 0 0 ${7*v.INTENSE_MEDIUM}px rgba(33, 150, 243, 0.8), 0 0 ${7*v.INTENSE_LARGE}px rgba(33, 150, 243, 0.6);
|
|
426
430
|
}
|
|
427
431
|
}
|
|
428
432
|
`,className:`
|
|
429
433
|
.vfx-border-blue-pulse {
|
|
430
|
-
animation: blueBorderGlow ${
|
|
434
|
+
animation: blueBorderGlow ${A} ease-in-out infinite !important;
|
|
431
435
|
}
|
|
432
|
-
`},
|
|
436
|
+
`},Et={keyframes:`
|
|
433
437
|
@keyframes greenBorderGlow {
|
|
434
438
|
0%, 100% {
|
|
435
439
|
box-shadow: none;
|
|
436
440
|
}
|
|
437
441
|
50% {
|
|
438
|
-
box-shadow: 0 0 ${7*
|
|
442
|
+
box-shadow: 0 0 ${7*v.INTENSE_SMALL}px rgba(76, 175, 80, 1), 0 0 ${7*v.INTENSE_MEDIUM}px rgba(76, 175, 80, 0.8), 0 0 ${7*v.INTENSE_LARGE}px rgba(76, 175, 80, 0.6);
|
|
439
443
|
}
|
|
440
444
|
}
|
|
441
445
|
`,className:`
|
|
442
446
|
.vfx-border-green-pulse {
|
|
443
|
-
animation: greenBorderGlow ${
|
|
447
|
+
animation: greenBorderGlow ${A} ease-in-out infinite !important;
|
|
444
448
|
}
|
|
445
|
-
`},
|
|
449
|
+
`},gt={keyframes:`
|
|
446
450
|
@keyframes pinkBorderGlow {
|
|
447
451
|
0%, 100% {
|
|
448
452
|
box-shadow: none;
|
|
449
453
|
}
|
|
450
454
|
50% {
|
|
451
|
-
box-shadow: 0 0 ${7*
|
|
455
|
+
box-shadow: 0 0 ${7*v.INTENSE_SMALL}px rgba(233, 30, 99, 1), 0 0 ${7*v.INTENSE_MEDIUM}px rgba(233, 30, 99, 0.8), 0 0 ${7*v.INTENSE_LARGE}px rgba(233, 30, 99, 0.6);
|
|
452
456
|
}
|
|
453
457
|
}
|
|
454
458
|
`,className:`
|
|
455
459
|
.vfx-border-pink-pulse {
|
|
456
|
-
animation: pinkBorderGlow ${
|
|
460
|
+
animation: pinkBorderGlow ${A} ease-in-out infinite !important;
|
|
457
461
|
}
|
|
458
|
-
`},
|
|
462
|
+
`},bt={keyframes:`
|
|
459
463
|
@keyframes purpleBorderGlow {
|
|
460
464
|
0%, 100% {
|
|
461
465
|
box-shadow: none;
|
|
462
466
|
}
|
|
463
467
|
50% {
|
|
464
|
-
box-shadow: 0 0 ${7*
|
|
468
|
+
box-shadow: 0 0 ${7*v.INTENSE_SMALL}px rgba(156, 39, 176, 1), 0 0 ${7*v.INTENSE_MEDIUM}px rgba(156, 39, 176, 0.8), 0 0 ${7*v.INTENSE_LARGE}px rgba(156, 39, 176, 0.6);
|
|
465
469
|
}
|
|
466
470
|
}
|
|
467
471
|
`,className:`
|
|
468
472
|
.vfx-border-purple-pulse {
|
|
469
|
-
animation: purpleBorderGlow ${
|
|
473
|
+
animation: purpleBorderGlow ${A} ease-in-out infinite !important;
|
|
470
474
|
}
|
|
471
|
-
`};var
|
|
475
|
+
`};var vt={keyframes:`
|
|
472
476
|
@keyframes yellowSparkle {
|
|
473
477
|
0%, 100% {
|
|
474
478
|
box-shadow:
|
|
@@ -500,7 +504,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
500
504
|
border: 2px solid rgba(255, 215, 0, 0.6);
|
|
501
505
|
animation: yellowSparkle 0.8s ease-in-out infinite !important;
|
|
502
506
|
}
|
|
503
|
-
`},
|
|
507
|
+
`},wt={keyframes:`
|
|
504
508
|
@keyframes redSparkle {
|
|
505
509
|
0%, 100% {
|
|
506
510
|
box-shadow:
|
|
@@ -532,7 +536,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
532
536
|
border: 2px solid rgba(255, 0, 0, 0.6);
|
|
533
537
|
animation: redSparkle 0.8s ease-in-out infinite !important;
|
|
534
538
|
}
|
|
535
|
-
`},
|
|
539
|
+
`},kt={keyframes:`
|
|
536
540
|
@keyframes blueSparkle {
|
|
537
541
|
0%, 100% {
|
|
538
542
|
box-shadow:
|
|
@@ -564,7 +568,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
564
568
|
border: 2px solid rgba(0, 100, 255, 0.6);
|
|
565
569
|
animation: blueSparkle 0.8s ease-in-out infinite !important;
|
|
566
570
|
}
|
|
567
|
-
`},
|
|
571
|
+
`},Mt={keyframes:`
|
|
568
572
|
@keyframes greenSparkle {
|
|
569
573
|
0%, 100% {
|
|
570
574
|
box-shadow:
|
|
@@ -596,7 +600,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
596
600
|
border: 2px solid rgba(0, 200, 0, 0.6);
|
|
597
601
|
animation: greenSparkle 0.8s ease-in-out infinite !important;
|
|
598
602
|
}
|
|
599
|
-
`},
|
|
603
|
+
`},Ct={keyframes:`
|
|
600
604
|
@keyframes pinkSparkle {
|
|
601
605
|
0%, 100% {
|
|
602
606
|
box-shadow:
|
|
@@ -628,7 +632,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
628
632
|
border: 2px solid rgba(255, 20, 147, 0.6);
|
|
629
633
|
animation: pinkSparkle 0.8s ease-in-out infinite !important;
|
|
630
634
|
}
|
|
631
|
-
`},
|
|
635
|
+
`},Ft={keyframes:`
|
|
632
636
|
@keyframes purpleSparkle {
|
|
633
637
|
0%, 100% {
|
|
634
638
|
box-shadow:
|
|
@@ -660,7 +664,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
660
664
|
border: 2px solid rgba(138, 43, 226, 0.6);
|
|
661
665
|
animation: purpleSparkle 0.8s ease-in-out infinite !important;
|
|
662
666
|
}
|
|
663
|
-
`},
|
|
667
|
+
`},Pt={keyframes:`
|
|
664
668
|
@keyframes borderRainbowSparkle {
|
|
665
669
|
0%, 100% {
|
|
666
670
|
box-shadow:
|
|
@@ -692,7 +696,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
692
696
|
border: 2px solid rgba(255, 255, 255, 0.6);
|
|
693
697
|
animation: borderRainbowSparkle 1s ease-in-out infinite !important;
|
|
694
698
|
}
|
|
695
|
-
`};var
|
|
699
|
+
`};var qr=`
|
|
696
700
|
@keyframes dashFlowHorizontal {
|
|
697
701
|
0% { background-position: 0 0, 0 100%; }
|
|
698
702
|
100% { background-position: 100% 0, 100% 100%; }
|
|
@@ -701,7 +705,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
701
705
|
0% { background-position: 0 0, 100% 0; }
|
|
702
706
|
100% { background-position: 0 100%, 100% 100%; }
|
|
703
707
|
}
|
|
704
|
-
`,
|
|
708
|
+
`,G=(e,t)=>`
|
|
705
709
|
.vfx-border-${e}-dash-flow {
|
|
706
710
|
position: relative;
|
|
707
711
|
border: none !important;
|
|
@@ -730,12 +734,12 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
730
734
|
animation: dashFlowVertical 2s linear infinite;
|
|
731
735
|
pointer-events: none;
|
|
732
736
|
}
|
|
733
|
-
`,
|
|
737
|
+
`,Tt={keyframes:qr,className:G("yellow","#ffc107")},St={keyframes:"",className:G("red","#f44336")},Dt={keyframes:"",className:G("blue","#2196f3")},Bt={keyframes:"",className:G("green","#4caf50")},Rt={keyframes:"",className:G("pink","#e91e63")},Lt={keyframes:"",className:G("purple","#9c27b0")};var Jr=`
|
|
734
738
|
@keyframes dashRotateAnim {
|
|
735
739
|
from { transform: translate(-50%, -50%) rotate(0deg); }
|
|
736
740
|
to { transform: translate(-50%, -50%) rotate(360deg); }
|
|
737
741
|
}
|
|
738
|
-
`,
|
|
742
|
+
`,Qr=`
|
|
739
743
|
.vfx-border-yellow-dash-rotate, .vfx-border-red-dash-rotate, .vfx-border-blue-dash-rotate,
|
|
740
744
|
.vfx-border-green-dash-rotate, .vfx-border-pink-dash-rotate, .vfx-border-purple-dash-rotate,
|
|
741
745
|
.vfx-border-rainbow-dash-rotate {
|
|
@@ -774,7 +778,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
774
778
|
position: relative;
|
|
775
779
|
z-index: 2;
|
|
776
780
|
}
|
|
777
|
-
`,
|
|
781
|
+
`,H=e=>`
|
|
778
782
|
background: conic-gradient(
|
|
779
783
|
from 0deg,
|
|
780
784
|
${e} 0deg 30deg, transparent 30deg 60deg,
|
|
@@ -784,32 +788,32 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
784
788
|
${e} 240deg 270deg, transparent 270deg 300deg,
|
|
785
789
|
${e} 300deg 330deg, transparent 330deg 360deg
|
|
786
790
|
);
|
|
787
|
-
`,
|
|
788
|
-
${
|
|
791
|
+
`,zt={keyframes:Jr,className:`
|
|
792
|
+
${Qr}
|
|
789
793
|
.vfx-border-yellow-dash-rotate::before {
|
|
790
|
-
${
|
|
794
|
+
${H("#ffc107")}
|
|
791
795
|
}
|
|
792
|
-
`},
|
|
796
|
+
`},It={keyframes:"",className:`
|
|
793
797
|
.vfx-border-red-dash-rotate::before {
|
|
794
|
-
${
|
|
798
|
+
${H("#f44336")}
|
|
795
799
|
}
|
|
796
|
-
`},
|
|
800
|
+
`},Nt={keyframes:"",className:`
|
|
797
801
|
.vfx-border-blue-dash-rotate::before {
|
|
798
|
-
${
|
|
802
|
+
${H("#2196f3")}
|
|
799
803
|
}
|
|
800
|
-
`},
|
|
804
|
+
`},_t={keyframes:"",className:`
|
|
801
805
|
.vfx-border-green-dash-rotate::before {
|
|
802
|
-
${
|
|
806
|
+
${H("#4caf50")}
|
|
803
807
|
}
|
|
804
|
-
`}
|
|
808
|
+
`},$t={keyframes:"",className:`
|
|
805
809
|
.vfx-border-pink-dash-rotate::before {
|
|
806
|
-
${
|
|
810
|
+
${H("#e91e63")}
|
|
807
811
|
}
|
|
808
|
-
`},
|
|
812
|
+
`},At={keyframes:"",className:`
|
|
809
813
|
.vfx-border-purple-dash-rotate::before {
|
|
810
|
-
${
|
|
814
|
+
${H("#9c27b0")}
|
|
811
815
|
}
|
|
812
|
-
`},
|
|
816
|
+
`},Xt={keyframes:"",className:`
|
|
813
817
|
.vfx-border-rainbow-dash-rotate::before {
|
|
814
818
|
background: conic-gradient(
|
|
815
819
|
from 0deg,
|
|
@@ -821,7 +825,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
821
825
|
#ff00ff 300deg 330deg, transparent 330deg 360deg
|
|
822
826
|
);
|
|
823
827
|
}
|
|
824
|
-
`};var
|
|
828
|
+
`};var Kt={keyframes:`
|
|
825
829
|
@keyframes borderRainbow {
|
|
826
830
|
0% {
|
|
827
831
|
border-color: #ff0000;
|
|
@@ -857,7 +861,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
857
861
|
border: 2px solid #ff0000;
|
|
858
862
|
animation: borderRainbow 3s linear infinite !important;
|
|
859
863
|
}
|
|
860
|
-
`},
|
|
864
|
+
`},Yt={keyframes:`
|
|
861
865
|
@keyframes borderBreathe {
|
|
862
866
|
0%, 100% {
|
|
863
867
|
transform: scale(1);
|
|
@@ -873,7 +877,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
873
877
|
border: 2px solid rgba(255, 255, 255, 0.5);
|
|
874
878
|
animation: borderBreathe 3s ease-in-out infinite !important;
|
|
875
879
|
}
|
|
876
|
-
`}
|
|
880
|
+
`},Gt={keyframes:`
|
|
877
881
|
@keyframes borderElectric {
|
|
878
882
|
0%, 100% {
|
|
879
883
|
box-shadow:
|
|
@@ -905,8 +909,8 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
905
909
|
border: 2px solid #ffff00;
|
|
906
910
|
animation: borderElectric 0.15s ease-in-out infinite !important;
|
|
907
911
|
}
|
|
908
|
-
`};var
|
|
909
|
-
`)},Xt=e=>e?`vfx-border-${e}`:"";import{jsx as Hr}from"react/jsx-runtime";var Kt=()=>{let e="border-effect-styles";if(document.getElementById(e))return;let t=document.createElement("style");t.id=e,t.textContent=At(),document.head.appendChild(t)},Gr=({borderEffect:e,children:t,className:r="",style:a,...o})=>{Yr(()=>{Kt()},[]);let n=Xt(e);return Hr("div",{...o,className:`vfx-div ${r} ${n}`.trim(),style:{...a,...e&&{boxShadow:"none"}},children:t})};import{useRef as ee,useEffect as Vr,useCallback as Be}from"react";var ie={defaultColors:["#FFD700","#FFA500","#FFFF00","#FFFFFF"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:Math.random()*e.height,vx:(Math.random()-.5)*r,vy:(Math.random()-.5)*r,size:Math.random()*a+1,color:t,opacity:Math.random()*o,life:0,maxLife:60+Math.random()*60}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.fillStyle=t.color,e.translate(t.x,t.y),e.beginPath();for(let r=0;r<4;r++)e.rotate(Math.PI/2),e.lineTo(0,t.size),e.lineTo(t.size/3,t.size/3);e.closePath(),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.opacity=Math.sin(e.life/e.maxLife*Math.PI),e.life<e.maxLife)};var fe={defaultColors:["#FF6B6B","#4ECDC4","#45B7D1","#96CEB4","#FFEAA7","#DDA0DD"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:-10,vx:(Math.random()-.5)*r*2,vy:Math.random()*r*2+1,size:Math.random()*a+3,color:t,opacity:o,life:0,maxLife:200,rotation:Math.random()*360,rotationSpeed:(Math.random()-.5)*10}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y),e.rotate((t.rotation||0)*Math.PI/180),e.fillStyle=t.color,e.fillRect(-t.size/2,-t.size/4,t.size,t.size/2),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation!==void 0&&e.rotationSpeed!==void 0&&(e.rotation+=e.rotationSpeed),e.vy+=.05,e.vx*=.99,e.y<t.height+20)};var le={defaultColors:["#FFFFFF","#E8E8E8","#F0F8FF"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:n?Math.random()*e.height:-10,vx:(Math.random()-.5)*r*.5,vy:Math.random()*r+.5,size:Math.random()*a+1,color:t,opacity:Math.random()*.5+.5,life:0,maxLife:300}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.fillStyle=t.color,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.vx=Math.sin(e.life*.02)*.5,e.y<t.height+10)};var de={defaultColors:["#FFFF00","#ADFF2F","#7FFF00","#00FF7F"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:Math.random()*e.height,vx:(Math.random()-.5)*r*.5,vy:(Math.random()-.5)*r*.5,size:Math.random()*a+2,color:t,opacity:0,life:0,maxLife:100+Math.random()*100}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity;let r=e.createRadialGradient(t.x,t.y,0,t.x,t.y,t.size*2);r.addColorStop(0,t.color),r.addColorStop(1,"transparent"),e.fillStyle=r,e.beginPath(),e.arc(t.x,t.y,t.size*2,0,Math.PI*2),e.fill(),e.restore()},update:(e,t,r)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.opacity=Math.sin(e.life/e.maxLife*Math.PI)*.8,Math.random()<.02&&(e.vx=(Math.random()-.5)*r*.5,e.vy=(Math.random()-.5)*r*.5),e.x<0&&(e.x=t.width),e.x>t.width&&(e.x=0),e.y<0&&(e.y=t.height),e.y>t.height&&(e.y=0),e.life<e.maxLife)};var _={defaultColors:["#87CEEB","#ADD8E6","#FF69B4","#98FB98","#DDA0DD"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:e.height+10,vx:(Math.random()-.5)*r*.3,vy:-(Math.random()*r+.5),size:Math.random()*a*2+3,color:t,opacity:Math.random()*.4+.2,life:0,maxLife:200}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.strokeStyle=t.color,e.lineWidth=1,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.stroke(),e.fillStyle="rgba(255,255,255,0.3)",e.beginPath(),e.arc(t.x-t.size/3,t.y-t.size/3,t.size/4,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.vx=Math.sin(e.life*.03)*.3,e.y>-e.size*2)};var J={defaultColors:["#FFFFFF"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:Math.random()*e.height,vx:0,vy:0,size:Math.random()*a+1,color:t,opacity:Math.random()*o,life:Math.random()*60,maxLife:60+Math.random()*60}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.fillStyle=t.color,e.translate(t.x,t.y),e.beginPath();for(let r=0;r<5;r++)e.lineTo(Math.cos((18+r*72)*Math.PI/180)*t.size,-Math.sin((18+r*72)*Math.PI/180)*t.size),e.lineTo(Math.cos((54+r*72)*Math.PI/180)*t.size*.5,-Math.sin((54+r*72)*Math.PI/180)*t.size*.5);e.closePath(),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.opacity=Math.sin(e.life/e.maxLife*Math.PI),e.life<e.maxLife)};var me={defaultColors:["#87CEEB","#ADD8E6","#6495ED"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:n?Math.random()*e.height:-10,vx:-r*.1,vy:r*3+Math.random()*2,size:Math.random()*.5+.5,color:t,opacity:Math.random()*.4+.2,life:0,maxLife:200}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.strokeStyle=t.color,e.lineWidth=t.size,e.lineCap="round",e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(t.x+1,t.y+20),e.stroke(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.y<t.height+20)};var xe={defaultColors:["#8B4513","#D2691E","#CD853F","#DEB887","#F4A460","#FF4500","#FF6347","#DC143C","#FFD700","#FFA500"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:n?Math.random()*e.height:-20,vx:(Math.random()-.5)*r*.3,vy:Math.random()*r*.3+.3,size:Math.random()*a+5,color:t,opacity:Math.random()*.5+.5,life:0,maxLife:300,rotation:Math.random()*360,rotationSpeed:(Math.random()-.5)*3,leafType:Math.floor(Math.random()*3)}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y),e.rotate((t.rotation||0)*Math.PI/180),e.fillStyle=t.color;let r=t.size,a=t.leafType||0;if(a===0)e.beginPath(),e.ellipse(0,0,r,r/2,0,0,Math.PI*2),e.fill(),e.strokeStyle="rgba(0,0,0,0.2)",e.lineWidth=.5,e.beginPath(),e.moveTo(-r,0),e.lineTo(r,0),e.stroke();else if(a===1){e.beginPath();let o=r*.8;e.moveTo(0,-o*1.2),e.lineTo(-o*.3,-o*.5),e.lineTo(-o*1,-o*.6),e.lineTo(-o*.5,-o*.1),e.lineTo(-o*1.1,o*.3),e.lineTo(-o*.4,o*.3),e.lineTo(0,o*.8),e.lineTo(o*.4,o*.3),e.lineTo(o*1.1,o*.3),e.lineTo(o*.5,-o*.1),e.lineTo(o*1,-o*.6),e.lineTo(o*.3,-o*.5),e.closePath(),e.fill()}else{e.beginPath();let o=r;e.moveTo(0,o),e.quadraticCurveTo(-o*1.2,o*.3,-o*.8,-o*.5),e.quadraticCurveTo(0,-o*.2,o*.8,-o*.5),e.quadraticCurveTo(o*1.2,o*.3,0,o),e.fill()}e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation!==void 0&&e.rotationSpeed!==void 0&&(e.rotation+=e.rotationSpeed),e.vx=Math.sin(e.life*.01)*.3,e.y<t.height+30)};var pe={defaultColors:["#FFB7C5","#FFC0CB","#FFD1DC","#FFDFEB"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:n?Math.random()*e.height:-10,vx:(Math.random()-.5)*r*.5,vy:Math.random()*r*.3+.2,size:Math.random()*a+4,color:t,opacity:Math.random()*.4+.6,life:0,maxLife:400,rotation:Math.random()*360,rotationSpeed:(Math.random()-.5)*2}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y),e.rotate((t.rotation||0)*Math.PI/180),e.fillStyle=t.color,e.beginPath();let r=t.size;e.moveTo(0,-r),e.bezierCurveTo(r*.8,-r,r,-r*.3,r*.5,r*.3),e.quadraticCurveTo(0,r*.6,0,r*.8),e.quadraticCurveTo(0,r*.6,-r*.5,r*.3),e.bezierCurveTo(-r,-r*.3,-r*.8,-r,0,-r),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation!==void 0&&e.rotationSpeed!==void 0&&(e.rotation+=e.rotationSpeed),e.vx=Math.sin(e.life*.008)*.2,e.y<t.height+20)};var ce={defaultColors:["#808080","#A9A9A9","#C0C0C0","#D3D3D3"],create:(e,t,r,a,o,n)=>({x:e.width/2+(Math.random()-.5)*50,y:e.height,vx:(Math.random()-.5)*r*.5,vy:-Math.random()*r-.5,size:Math.random()*a*3+10,color:t,opacity:Math.random()*.3+.1,life:0,maxLife:150}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity;let r=e.createRadialGradient(t.x,t.y,0,t.x,t.y,t.size);r.addColorStop(0,t.color),r.addColorStop(1,"transparent"),e.fillStyle=r,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.size+=.5,e.opacity*=.97,e.vx+=(Math.random()-.5)*.3,e.vx*=1.02,e.opacity>.01)};var ye={defaultColors:["#DEB887","#D2B48C","#C4A484","#BC8F8F"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:Math.random()*e.height,vx:(Math.random()-.5)*r*.2,vy:(Math.random()-.5)*r*.2,size:Math.random()*2+1,color:t,opacity:Math.random()*.3+.1,life:0,maxLife:200+Math.random()*100}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.fillStyle=t.color,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.fill(),e.restore()},update:(e,t,r)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.opacity=Math.sin(e.life/e.maxLife*Math.PI)*.3,Math.random()<.01&&(e.vx=(Math.random()-.5)*r*.2,e.vy=(Math.random()-.5)*r*.2),e.life<e.maxLife)};var ue={defaultColors:["#FF0000","#FF7F00","#FFFF00","#00FF00","#0000FF","#8B00FF","#FFFFFF"],create:(e,t,r,a,o,n,s)=>{if(s?.fireworksBurst&&s.fireworksBurst.frame===0){let m=[{x:e.width*.15,y:e.height*.25},{x:e.width*.5,y:e.height*.2},{x:e.width*.85,y:e.height*.3},{x:e.width*.25,y:e.height*.45},{x:e.width*.75,y:e.height*.4},{x:e.width*.4,y:e.height*.35},{x:e.width*.6,y:e.height*.5}],y=m[Math.floor(Math.random()*m.length)];s.fireworksBurst.x=y.x+(Math.random()-.5)*30,s.fireworksBurst.y=y.y+(Math.random()-.5)*30,s.fireworksBurst.frame=1}let p=s?.fireworksBurst?.x??e.width/2,f=s?.fireworksBurst?.y??e.height/2,l=Math.random()*Math.PI*2,c=Math.random()*r*5+3;return{x:p,y:f,vx:Math.cos(l)*c,vy:Math.sin(l)*c,size:Math.random()*3+2,color:t,opacity:1,life:0,maxLife:45+Math.random()*15,burstCenterX:p,burstCenterY:f}},draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity;let r=t.x-t.vx*.5,a=t.y-t.vy*.5,o=e.createLinearGradient(r,a,t.x,t.y);o.addColorStop(0,"transparent"),o.addColorStop(1,t.color),e.strokeStyle=o,e.lineWidth=t.size,e.lineCap="round",e.beginPath(),e.moveTo(r,a),e.lineTo(t.x,t.y),e.stroke(),e.fillStyle="#FFFFFF",e.beginPath(),e.arc(t.x,t.y,t.size/2,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.vy+=.08,e.vx*=.98,e.vy*=.98,e.opacity=1-e.life/e.maxLife,e.size*=.99,e.life<e.maxLife&&e.opacity>.05)};var he=(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y),e.rotate((t.rotation||0)*Math.PI/180),e.fillStyle=t.color,e.beginPath();let r=t.size/2;e.moveTo(0,r),e.bezierCurveTo(-r,-r/2,-r*2,r/2,0,r*2),e.bezierCurveTo(r*2,r/2,r,-r/2,0,r),e.fill(),e.restore()},Q={defaultColors:["#FF1493","#FF69B4","#FF6B6B","#E91E63"],defaultCount:15,create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:e.height+10,vx:(Math.random()-.5)*r,vy:-Math.random()*r*2-1,size:Math.random()*a+5,color:t,opacity:Math.random()*.5+.5,life:0,maxLife:200,rotation:0,rotationSpeed:(Math.random()-.5)*2}),draw:he,update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation!==void 0&&e.rotationSpeed!==void 0&&(e.rotation+=e.rotationSpeed),e.vx=Math.sin(e.life*.05)*.5,e.opacity=Math.max(0,1-e.life/e.maxLife),e.y>-e.size)},Ee={defaultColors:["#FF1493","#FF69B4","#FF6B6B","#E91E63"],defaultCount:15,create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:n?Math.random()*e.height:-20,vx:(Math.random()-.5)*r,vy:Math.random()*r*2+1,size:Math.random()*a+5,color:t,opacity:Math.random()*.5+.5,life:0,maxLife:200,rotation:0,rotationSpeed:(Math.random()-.5)*2}),draw:he,update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation!==void 0&&e.rotationSpeed!==void 0&&(e.rotation+=e.rotationSpeed),e.vx=Math.sin(e.life*.05)*.5,e.opacity=Math.max(0,1-e.life/e.maxLife),e.y<t.height+e.size)},ge={defaultColors:["#FF1493","#FF69B4","#FF6B6B","#E91E63"],defaultCount:15,create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:Math.random()*e.height,vx:0,vy:0,size:0,color:t,opacity:0,life:0,maxLife:60+Math.random()*40,rotation:(Math.random()-.5)*30,rotationSpeed:0,leafType:a*(.7+Math.random()*2.3)}),draw:he,update:(e,t)=>{e.life++;let r=e.life/e.maxLife,a=e.leafType||10;if(r<.3){let o=r/.3;e.opacity=o,e.size=a*o}else if(r<.7)e.opacity=1,e.size=a;else{let o=(r-.7)/.3;e.opacity=1-o,e.size=a*(1+o*.3)}return e.life<e.maxLife}},be=Q;var ve={defaultColors:["#FFD700","#FFA500","#DAA520","#B8860B"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:-20,vx:(Math.random()-.5)*r,vy:Math.random()*r*3+2,size:Math.random()*a+8,color:t,opacity:1,life:0,maxLife:200,rotation:Math.random()*360,rotationSpeed:(Math.random()-.5)*15}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y);let r=Math.cos((t.rotation||0)*Math.PI/180);e.scale(r,1),e.fillStyle=t.color,e.beginPath(),e.arc(0,0,t.size/2,0,Math.PI*2),e.fill(),e.strokeStyle="#B8860B",e.lineWidth=2,e.stroke(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation!==void 0&&e.rotationSpeed!==void 0&&(e.rotation+=e.rotationSpeed),e.vy+=.1,e.y<t.height+30)};var we={defaultColors:["#FF6B6B","#4ECDC4","#45B7D1","#FFEAA7","#DDA0DD","#98D8C8"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:e.height+20,vx:(Math.random()-.5)*r*.5,vy:-Math.random()*r-.8,size:Math.random()*a*2+10,color:t,opacity:.9,life:0,maxLife:400}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.fillStyle=t.color,e.beginPath(),e.ellipse(t.x,t.y,t.size/2,t.size/1.5,0,0,Math.PI*2),e.fill(),e.strokeStyle="#666",e.lineWidth=1,e.beginPath(),e.moveTo(t.x,t.y+t.size/1.5),e.quadraticCurveTo(t.x+5,t.y+t.size,t.x,t.y+t.size*1.5),e.stroke(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.vx=Math.sin(e.life*.02)*.3,e.y>-e.size*2)};var ke={defaultColors:["#8A2BE2","#9400D3","#BA55D3","#DA70D6","#EE82EE"],create:(e,t,r,a,o,n)=>{let s=Math.random()*Math.PI*2,p=Math.random()*50;return{x:e.width/2+Math.cos(s)*p,y:e.height/2+Math.sin(s)*p,vx:Math.cos(s)*r*2,vy:Math.sin(s)*r*2,size:Math.random()*a+2,color:t,opacity:1,life:0,maxLife:60+Math.random()*40,rotation:Math.random()*Math.PI*2,rotationSpeed:(Math.random()-.5)*.15}},draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y),e.rotate(t.rotation||0),e.fillStyle="#FFFFFF",e.beginPath(),e.arc(0,0,t.size*.3,0,Math.PI*2),e.fill(),e.fillStyle=t.color;let r=t.size*1.5,a=t.size*.15;e.beginPath(),e.moveTo(0,-r),e.lineTo(a,-a),e.lineTo(r,0),e.lineTo(a,a),e.lineTo(0,r),e.lineTo(-a,a),e.lineTo(-r,0),e.lineTo(-a,-a),e.closePath(),e.fill(),e.rotate(Math.PI/4);let o=t.size*.8,n=t.size*.1;e.beginPath(),e.moveTo(0,-o),e.lineTo(n,-n),e.lineTo(o,0),e.lineTo(n,n),e.lineTo(0,o),e.lineTo(-n,n),e.lineTo(-o,0),e.lineTo(-n,-n),e.closePath(),e.fill(),e.rotate(-Math.PI/4),e.fillStyle=t.color;for(let s=0;s<3;s++){let p=((t.rotation||0)*2+s*2.1)%(Math.PI*2),f=t.size*(1.5+Math.sin(t.life*3+s)*.5),l=t.size*.15;e.beginPath(),e.arc(Math.cos(p)*f,Math.sin(p)*f,l,0,Math.PI*2),e.fill()}e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation=(e.rotation||0)+(e.rotationSpeed||.05),e.opacity=Math.sin(e.life/e.maxLife*Math.PI),e.life<e.maxLife)};var Me={defaultColors:["#00CED1","#00BFFF","#1E90FF","#4169E1","#6A5ACD"],create:(e,t,r,a,o,n)=>{let s=Math.random()*Math.PI*2,p=30+Math.random()*30;return{x:e.width/2+Math.cos(s)*p,y:e.height/2+Math.sin(s)*p,vx:0,vy:0,size:Math.random()*a+2,color:t,opacity:1,life:0,maxLife:100,rotation:s*(180/Math.PI),rotationSpeed:3}},draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.fillStyle=t.color,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>{e.life++;let r=(e.rotation||0)*Math.PI/180+e.life*.05,a=30+Math.sin(e.life*.1)*10;return e.x=t.width/2+Math.cos(r)*a,e.y=t.height/2+Math.sin(r)*a,e.opacity=Math.sin(e.life/e.maxLife*Math.PI),e.life<e.maxLife}};var Fe={defaultColors:["#FF2200","#FF4400","#FF6600","#FF3300","#CC1100","#FFAA00"],create:(e,t,r,a,o,n,s)=>{s?.explosionBurst&&s.explosionBurst.frame===0&&(s.explosionBurst.x=e.width/2+(Math.random()-.5)*80,s.explosionBurst.y=e.height-10,s.explosionBurst.frame=1);let p=s?.explosionBurst?.x??e.width/2,f=s?.explosionBurst?.y??e.height-10,l=-Math.PI*.85+Math.random()*Math.PI*.7,c=Math.random()*r*8+4;return{x:p,y:f,vx:Math.cos(l)*c,vy:Math.sin(l)*c-3,size:Math.random()*a*1.5+4,color:t,opacity:1,life:0,maxLife:35+Math.random()*15,rotation:Math.random()*Math.PI*2,rotationSpeed:(Math.random()-.5)*.3}},draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y),e.rotate(t.rotation||0);let r=5+Math.floor(Math.random()*3),a=t.size,o=t.size*.3,n=e.createRadialGradient(0,0,0,0,0,a);n.addColorStop(0,"#FFFF88"),n.addColorStop(.2,"#FFAA00"),n.addColorStop(.5,t.color),n.addColorStop(1,"#330000"),e.fillStyle=n,e.beginPath();for(let s=0;s<r*2;s++){let p=s*Math.PI/r,f=.7+Math.sin(t.life*.5+s)*.3,l=s%2===0?a*f:o*f,c=Math.cos(p)*l,m=Math.sin(p)*l;s===0?e.moveTo(c,m):e.lineTo(c,m)}e.closePath(),e.fill(),e.fillStyle="#FFFFFF",e.beginPath(),e.arc(0,0,t.size*.15,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation=(e.rotation||0)+(e.rotationSpeed||.1),e.vx*=.94,e.vy*=.94,e.vy+=.15,e.opacity=1-e.life/e.maxLife,e.size*=.97,e.life<e.maxLife)};var Ce={defaultColors:["#00FF00","#32CD32","#90EE90"],create:(e,t,r,a,o,n)=>{let s=10+Math.floor(Math.random()*15),p="";for(let f=0;f<s;f++)p+=Math.random()>.5?"1":"0";return{x:Math.floor(Math.random()*(e.width/11))*11,y:-s*11,vx:0,vy:Math.random()*r*3+2,size:10,color:t,opacity:1,life:0,maxLife:500,codeString:p}},draw:(e,t)=>{e.save(),e.font=`${t.size}px monospace`;let r=t.codeString||"01010101";for(let a=0;a<r.length;a++){let o=Math.max(0,t.opacity*(1-a*.06));a===0?e.fillStyle=`rgba(255, 255, 255, ${o})`:e.fillStyle=`rgba(0, 255, 0, ${o})`,e.fillText(r[a],t.x,t.y+a*11)}e.restore()},update:(e,t)=>{e.life++,e.x+=e.vx,e.y+=e.vy;let a=(e.codeString||"").length*11;return e.y>t.height+a?!1:(e.opacity=Math.max(0,1-e.life/e.maxLife*.5),e.opacity>0)}};var Pe={defaultColors:["#FFFFFF","#F5F5F5","#E8E8E8"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:Math.random()*e.height,vx:(Math.random()-.5)*r*.2,vy:(Math.random()-.5)*r*.1,size:Math.random()*40+20,color:t,opacity:Math.random()*.08+.02,life:0,maxLife:300+Math.random()*200}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity;let r=e.createRadialGradient(t.x,t.y,0,t.x,t.y,t.size);r.addColorStop(0,t.color),r.addColorStop(1,"transparent"),e.fillStyle=r,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.x<-e.size&&(e.x=t.width+e.size),e.x>t.width+e.size&&(e.x=-e.size),e.opacity=Math.sin(e.life/e.maxLife*Math.PI)*.08,e.life<e.maxLife)};var Se={defaultColors:["#FFFFFF","#F0FFFF","#87CEEB","#00BFFF"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:0,vx:0,vy:0,size:Math.random()*3+1,color:t,opacity:1,life:0,maxLife:5+Math.random()*10}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.strokeStyle=t.color,e.lineWidth=t.size,e.shadowColor=t.color,e.shadowBlur=10,e.beginPath();let r=t.x,a=t.y;e.moveTo(r,a);let o=8,n=150/o;for(let s=0;s<o;s++)r+=(Math.random()-.5)*30,a+=n,e.lineTo(r,a);e.stroke(),e.shadowBlur=0,e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.life<e.maxLife)};var Te={defaultColors:["#FFFF00","#FFD700","#FFA500"],create:(e,t,r,a,o,n)=>{let s=e.width*.3+Math.random()*e.width*.4,p=e.height*.85,f=Math.random()>.5?5:4,l=[],c=s;l.push(`${s},0`);let m=Math.random()>.5?1:-1;for(let P=0;P<f;P++){let w=(P+1)/(f+1),k=p*(w*.85+Math.random()*.08),$=m*(20+Math.random()*35);c+=$,l.push(`${c},${k}`),m*=-1}l.push(`${c},${p}`);let y=l.join("|"),v=15+Math.random()*8;return{x:s,y:0,vx:0,vy:0,size:Math.random()*1+1.5,color:t,opacity:1,life:0,maxLife:v+60,codeString:y,rotation:v}},draw:(e,t)=>{e.save();let r=t.life<2?.5*t.opacity:.15*t.opacity;e.globalAlpha=r,e.fillStyle="#FFFFCC",e.fillRect(0,0,e.canvas.width,e.canvas.height);let o=(t.codeString||"").split("|").map(f=>{let[l,c]=f.split(",");return{x:parseFloat(l),y:parseFloat(c)}});if(o.length<2){e.restore();return}e.globalAlpha=t.opacity,e.lineJoin="miter",e.miterLimit=15,e.lineCap="round";let n=o[o.length-1],s=(f,l,c)=>{e.strokeStyle=f,e.lineWidth=l,e.shadowColor=f==="#FFFF88"?"#FFFFFF":"#FFD700",e.shadowBlur=c,e.beginPath(),e.moveTo(o[0].x,o[0].y);for(let m=1;m<o.length;m++)e.lineTo(o[m].x,o[m].y);e.stroke()},p=(f,l,c)=>{e.fillStyle=f,e.shadowColor=f==="#FFFF88"?"#FFFFFF":"#FFD700",e.shadowBlur=c;let m=8,y=l*.5;e.beginPath(),e.moveTo(n.x-y/2,n.y),e.lineTo(n.x+y/2,n.y),e.lineTo(n.x,n.y+m),e.closePath(),e.fill()};s("#FFA500",t.size+3,25),p("#FFA500",t.size+3,25),s("#FFD700",t.size+1,12),p("#FFD700",t.size+1,12),s("#FFFF88",Math.max(1,t.size-1),5),p("#FFFF88",Math.max(1,t.size-1),5),e.restore()},update:(e,t)=>{e.life++;let r=e.rotation||20;return e.life<3?e.opacity=1:e.life<r?e.opacity=Math.max(0,1-(e.life-3)/(r-3)):e.opacity=0,e.life<e.maxLife}};var De={sparkle:ie,confetti:fe,snow:le,firefly:de,"bubbles-color":_,"bubbles-yellow":_,"bubbles-pink":_,"bubbles-blue":_,"bubbles-green":_,stars:J,"stars-color":J,rain:me,leaves:xe,sakura:pe,smoke:ce,dust:ye,fireworks:ue,hearts:be,"hearts-up":Q,"hearts-down":Ee,"hearts-pop":ge,coins:ve,balloons:we,magic:ke,portal:Me,explosion:Fe,matrix:Ce,fog:Pe,electric:Se,lightning:Te},Yt=e=>{if(e==="bubbles-yellow")return["#FFD700","#FFA500","#FFFF00"];if(e==="bubbles-pink")return["#FF69B4","#FF1493","#FFB6C1"];if(e==="bubbles-blue")return["#00BFFF","#87CEEB","#4169E1"];if(e==="bubbles-green")return["#00FF00","#32CD32","#98FB98"];if(e==="stars-color")return["#FFFFFF","#FFD700","#FFA500","#FF69B4"];let t=De[e];return t?t.defaultColors:["#FFFFFF"]};import{jsx as Or}from"react/jsx-runtime";var Zr=({effect:e,isActive:t=!0,options:r={},width:a="100%",height:o="100%",className:n="",style:s={}})=>{let p=ee(null),f=ee([]),l=ee(),c=ee({fireworksBurst:{x:0,y:0,frame:0},explosionBurst:{x:0,y:0,frame:0}}),m=De[e],{count:y=m?.defaultCount??30,speed:v=1,size:B=4,colors:P=Yt(e),opacity:w=1}=r,k=Be((x,b=!1)=>{let D=P[Math.floor(Math.random()*P.length)];return m?m.create(x,D,v,B,w,b,c.current):{x:Math.random()*x.width,y:Math.random()*x.height,vx:0,vy:0,size:Math.random()*B+1,color:D,opacity:Math.random()*w,life:Math.random()*60,maxLife:60+Math.random()*60}},[e,v,B,P,w,m]),$=Be((x,b)=>{if(m){m.draw(x,b);return}x.save(),x.globalAlpha=b.opacity,x.fillStyle=b.color,x.beginPath(),x.arc(b.x,b.y,b.size,0,Math.PI*2),x.fill(),x.restore()},[m]),j=Be((x,b)=>m?m.update(x,b,v):(x.life++,x.x+=x.vx,x.y+=x.vy,x.life<x.maxLife),[m,v]);return Vr(()=>{let x=p.current;if(!x||!t)return;let b=x.getContext("2d");if(!b)return;let D=()=>{let R=x.getBoundingClientRect();x.width=R.width,x.height=R.height};D(),window.addEventListener("resize",D),f.current=Array.from({length:y},()=>k(x,!0));let Y=()=>{if(b.clearRect(0,0,x.width,x.height),f.current=f.current.filter(R=>{let G=j(R,x);return G&&$(b,R),G}),e==="fireworks"){if(f.current.length<y*.3)for(c.current.fireworksBurst&&(c.current.fireworksBurst.frame=0);f.current.length<y;)f.current.push(k(x))}else if(e==="explosion"){if(f.current.length<y*.3)for(c.current.explosionBurst&&(c.current.explosionBurst.frame=0);f.current.length<y;)f.current.push(k(x))}else for(;f.current.length<y;)f.current.push(k(x));l.current=requestAnimationFrame(Y)};return Y(),()=>{window.removeEventListener("resize",D),l.current&&cancelAnimationFrame(l.current)}},[t,y,e,k,j,$]),Or("canvas",{ref:p,className:`vfx-particle ${n}`,style:{width:a,height:o,display:"block",pointerEvents:"none",...s}})};import wr,{useEffect as re,useRef as kr,useState as U,useCallback as z,useMemo as Mr}from"react";var Gt={enterKeyframes:`
|
|
912
|
+
`};var eo={"yellow-pulse":ut,"red-pulse":yt,"blue-pulse":ht,"green-pulse":Et,"pink-pulse":gt,"purple-pulse":bt,"yellow-sparkle":vt,"red-sparkle":wt,"blue-sparkle":kt,"green-sparkle":Mt,"pink-sparkle":Ct,"purple-sparkle":Ft,"rainbow-sparkle":Pt,"yellow-dash-flow":Tt,"red-dash-flow":St,"blue-dash-flow":Dt,"green-dash-flow":Bt,"pink-dash-flow":Rt,"purple-dash-flow":Lt,"yellow-dash-rotate":zt,"red-dash-rotate":It,"blue-dash-rotate":Nt,"green-dash-rotate":_t,"pink-dash-rotate":$t,"purple-dash-rotate":At,"rainbow-dash-rotate":Xt,rainbow:Kt,breathe:Yt,electric:Gt},Ht=()=>{let e=[];return Object.values(eo).forEach(t=>{t.keyframes&&e.push(t.keyframes),e.push(t.className)}),e.join(`
|
|
913
|
+
`)},Vt=e=>e?`vfx-border-${e}`:"";import{jsx as oo}from"react/jsx-runtime";var Ot=()=>{let e="border-effect-styles";if(document.getElementById(e))return;let t=document.createElement("style");t.id=e,t.textContent=Ht(),document.head.appendChild(t)},ro=({borderEffect:e,children:t,className:r="",style:a,...o})=>{to(()=>{Ot()},[]);let n=Vt(e);return oo("div",{...o,className:`vfx-div ${r} ${n}`.trim(),style:{...a,...e&&{boxShadow:"none"}},children:t})};import{useRef as ee,useEffect as ao,useCallback as Be}from"react";var se={defaultColors:["#FFD700","#FFA500","#FFFF00","#FFFFFF"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:Math.random()*e.height,vx:(Math.random()-.5)*r,vy:(Math.random()-.5)*r,size:Math.random()*a+1,color:t,opacity:Math.random()*o,life:0,maxLife:60+Math.random()*60}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.fillStyle=t.color,e.translate(t.x,t.y),e.beginPath();for(let r=0;r<4;r++)e.rotate(Math.PI/2),e.lineTo(0,t.size),e.lineTo(t.size/3,t.size/3);e.closePath(),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.opacity=Math.sin(e.life/e.maxLife*Math.PI),e.life<e.maxLife)};var fe={defaultColors:["#FF6B6B","#4ECDC4","#45B7D1","#96CEB4","#FFEAA7","#DDA0DD"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:-10,vx:(Math.random()-.5)*r*2,vy:Math.random()*r*2+1,size:Math.random()*a+3,color:t,opacity:o,life:0,maxLife:200,rotation:Math.random()*360,rotationSpeed:(Math.random()-.5)*10}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y),e.rotate((t.rotation||0)*Math.PI/180),e.fillStyle=t.color,e.fillRect(-t.size/2,-t.size/4,t.size,t.size/2),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation!==void 0&&e.rotationSpeed!==void 0&&(e.rotation+=e.rotationSpeed),e.vy+=.05,e.vx*=.99,e.y<t.height+20)};var le={defaultColors:["#FFFFFF","#E8E8E8","#F0F8FF"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:n?Math.random()*e.height:-10,vx:(Math.random()-.5)*r*.5,vy:Math.random()*r+.5,size:Math.random()*a+1,color:t,opacity:Math.random()*.5+.5,life:0,maxLife:300}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.fillStyle=t.color,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.vx=Math.sin(e.life*.02)*.5,e.y<t.height+10)};var de={defaultColors:["#FFFF00","#ADFF2F","#7FFF00","#00FF7F"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:Math.random()*e.height,vx:(Math.random()-.5)*r*.5,vy:(Math.random()-.5)*r*.5,size:Math.random()*a+2,color:t,opacity:0,life:0,maxLife:100+Math.random()*100}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity;let r=e.createRadialGradient(t.x,t.y,0,t.x,t.y,t.size*2);r.addColorStop(0,t.color),r.addColorStop(1,"transparent"),e.fillStyle=r,e.beginPath(),e.arc(t.x,t.y,t.size*2,0,Math.PI*2),e.fill(),e.restore()},update:(e,t,r)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.opacity=Math.sin(e.life/e.maxLife*Math.PI)*.8,Math.random()<.02&&(e.vx=(Math.random()-.5)*r*.5,e.vy=(Math.random()-.5)*r*.5),e.x<0&&(e.x=t.width),e.x>t.width&&(e.x=0),e.y<0&&(e.y=t.height),e.y>t.height&&(e.y=0),e.life<e.maxLife)};var X={defaultColors:["#87CEEB","#ADD8E6","#FF69B4","#98FB98","#DDA0DD"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:e.height+10,vx:(Math.random()-.5)*r*.3,vy:-(Math.random()*r+.5),size:Math.random()*a*2+3,color:t,opacity:Math.random()*.4+.2,life:0,maxLife:200}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.strokeStyle=t.color,e.lineWidth=1,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.stroke(),e.fillStyle="rgba(255,255,255,0.3)",e.beginPath(),e.arc(t.x-t.size/3,t.y-t.size/3,t.size/4,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.vx=Math.sin(e.life*.03)*.3,e.y>-e.size*2)};var J={defaultColors:["#FFFFFF"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:Math.random()*e.height,vx:0,vy:0,size:Math.random()*a+1,color:t,opacity:Math.random()*o,life:Math.random()*60,maxLife:60+Math.random()*60}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.fillStyle=t.color,e.translate(t.x,t.y),e.beginPath();for(let r=0;r<5;r++)e.lineTo(Math.cos((18+r*72)*Math.PI/180)*t.size,-Math.sin((18+r*72)*Math.PI/180)*t.size),e.lineTo(Math.cos((54+r*72)*Math.PI/180)*t.size*.5,-Math.sin((54+r*72)*Math.PI/180)*t.size*.5);e.closePath(),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.opacity=Math.sin(e.life/e.maxLife*Math.PI),e.life<e.maxLife)};var me={defaultColors:["#87CEEB","#ADD8E6","#6495ED"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:n?Math.random()*e.height:-10,vx:-r*.1,vy:r*3+Math.random()*2,size:Math.random()*.5+.5,color:t,opacity:Math.random()*.4+.2,life:0,maxLife:200}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.strokeStyle=t.color,e.lineWidth=t.size,e.lineCap="round",e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(t.x+1,t.y+20),e.stroke(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.y<t.height+20)};var xe={defaultColors:["#8B4513","#D2691E","#CD853F","#DEB887","#F4A460","#FF4500","#FF6347","#DC143C","#FFD700","#FFA500"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:n?Math.random()*e.height:-20,vx:(Math.random()-.5)*r*.3,vy:Math.random()*r*.3+.3,size:Math.random()*a+5,color:t,opacity:Math.random()*.5+.5,life:0,maxLife:300,rotation:Math.random()*360,rotationSpeed:(Math.random()-.5)*3,leafType:Math.floor(Math.random()*3)}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y),e.rotate((t.rotation||0)*Math.PI/180),e.fillStyle=t.color;let r=t.size,a=t.leafType||0;if(a===0)e.beginPath(),e.ellipse(0,0,r,r/2,0,0,Math.PI*2),e.fill(),e.strokeStyle="rgba(0,0,0,0.2)",e.lineWidth=.5,e.beginPath(),e.moveTo(-r,0),e.lineTo(r,0),e.stroke();else if(a===1){e.beginPath();let o=r*.8;e.moveTo(0,-o*1.2),e.lineTo(-o*.3,-o*.5),e.lineTo(-o*1,-o*.6),e.lineTo(-o*.5,-o*.1),e.lineTo(-o*1.1,o*.3),e.lineTo(-o*.4,o*.3),e.lineTo(0,o*.8),e.lineTo(o*.4,o*.3),e.lineTo(o*1.1,o*.3),e.lineTo(o*.5,-o*.1),e.lineTo(o*1,-o*.6),e.lineTo(o*.3,-o*.5),e.closePath(),e.fill()}else{e.beginPath();let o=r;e.moveTo(0,o),e.quadraticCurveTo(-o*1.2,o*.3,-o*.8,-o*.5),e.quadraticCurveTo(0,-o*.2,o*.8,-o*.5),e.quadraticCurveTo(o*1.2,o*.3,0,o),e.fill()}e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation!==void 0&&e.rotationSpeed!==void 0&&(e.rotation+=e.rotationSpeed),e.vx=Math.sin(e.life*.01)*.3,e.y<t.height+30)};var pe={defaultColors:["#FFB7C5","#FFC0CB","#FFD1DC","#FFDFEB"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:n?Math.random()*e.height:-10,vx:(Math.random()-.5)*r*.5,vy:Math.random()*r*.3+.2,size:Math.random()*a+4,color:t,opacity:Math.random()*.4+.6,life:0,maxLife:400,rotation:Math.random()*360,rotationSpeed:(Math.random()-.5)*2}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y),e.rotate((t.rotation||0)*Math.PI/180),e.fillStyle=t.color,e.beginPath();let r=t.size;e.moveTo(0,-r),e.bezierCurveTo(r*.8,-r,r,-r*.3,r*.5,r*.3),e.quadraticCurveTo(0,r*.6,0,r*.8),e.quadraticCurveTo(0,r*.6,-r*.5,r*.3),e.bezierCurveTo(-r,-r*.3,-r*.8,-r,0,-r),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation!==void 0&&e.rotationSpeed!==void 0&&(e.rotation+=e.rotationSpeed),e.vx=Math.sin(e.life*.008)*.2,e.y<t.height+20)};var ce={defaultColors:["#808080","#A9A9A9","#C0C0C0","#D3D3D3"],create:(e,t,r,a,o,n)=>({x:e.width/2+(Math.random()-.5)*50,y:e.height,vx:(Math.random()-.5)*r*.5,vy:-Math.random()*r-.5,size:Math.random()*a*3+10,color:t,opacity:Math.random()*.3+.1,life:0,maxLife:150}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity;let r=e.createRadialGradient(t.x,t.y,0,t.x,t.y,t.size);r.addColorStop(0,t.color),r.addColorStop(1,"transparent"),e.fillStyle=r,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.size+=.5,e.opacity*=.97,e.vx+=(Math.random()-.5)*.3,e.vx*=1.02,e.opacity>.01)};var ue={defaultColors:["#DEB887","#D2B48C","#C4A484","#BC8F8F"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:Math.random()*e.height,vx:(Math.random()-.5)*r*.2,vy:(Math.random()-.5)*r*.2,size:Math.random()*2+1,color:t,opacity:Math.random()*.3+.1,life:0,maxLife:200+Math.random()*100}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.fillStyle=t.color,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.fill(),e.restore()},update:(e,t,r)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.opacity=Math.sin(e.life/e.maxLife*Math.PI)*.3,Math.random()<.01&&(e.vx=(Math.random()-.5)*r*.2,e.vy=(Math.random()-.5)*r*.2),e.life<e.maxLife)};var ye={defaultColors:["#FF0000","#FF7F00","#FFFF00","#00FF00","#0000FF","#8B00FF","#FFFFFF"],create:(e,t,r,a,o,n,i)=>{if(i?.fireworksBurst&&i.fireworksBurst.frame===0){let d=[{x:e.width*.15,y:e.height*.25},{x:e.width*.5,y:e.height*.2},{x:e.width*.85,y:e.height*.3},{x:e.width*.25,y:e.height*.45},{x:e.width*.75,y:e.height*.4},{x:e.width*.4,y:e.height*.35},{x:e.width*.6,y:e.height*.5}],u=d[Math.floor(Math.random()*d.length)];i.fireworksBurst.x=u.x+(Math.random()-.5)*30,i.fireworksBurst.y=u.y+(Math.random()-.5)*30,i.fireworksBurst.frame=1}let p=i?.fireworksBurst?.x??e.width/2,s=i?.fireworksBurst?.y??e.height/2,l=Math.random()*Math.PI*2,c=Math.random()*r*5+3;return{x:p,y:s,vx:Math.cos(l)*c,vy:Math.sin(l)*c,size:Math.random()*3+2,color:t,opacity:1,life:0,maxLife:45+Math.random()*15,burstCenterX:p,burstCenterY:s}},draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity;let r=t.x-t.vx*.5,a=t.y-t.vy*.5,o=e.createLinearGradient(r,a,t.x,t.y);o.addColorStop(0,"transparent"),o.addColorStop(1,t.color),e.strokeStyle=o,e.lineWidth=t.size,e.lineCap="round",e.beginPath(),e.moveTo(r,a),e.lineTo(t.x,t.y),e.stroke(),e.fillStyle="#FFFFFF",e.beginPath(),e.arc(t.x,t.y,t.size/2,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.vy+=.08,e.vx*=.98,e.vy*=.98,e.opacity=1-e.life/e.maxLife,e.size*=.99,e.life<e.maxLife&&e.opacity>.05)};var he=(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y),e.rotate((t.rotation||0)*Math.PI/180),e.fillStyle=t.color,e.beginPath();let r=t.size/2;e.moveTo(0,r),e.bezierCurveTo(-r,-r/2,-r*2,r/2,0,r*2),e.bezierCurveTo(r*2,r/2,r,-r/2,0,r),e.fill(),e.restore()},Q={defaultColors:["#FF1493","#FF69B4","#FF6B6B","#E91E63"],defaultCount:15,create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:e.height+10,vx:(Math.random()-.5)*r,vy:-Math.random()*r*2-1,size:Math.random()*a+5,color:t,opacity:Math.random()*.5+.5,life:0,maxLife:200,rotation:0,rotationSpeed:(Math.random()-.5)*2}),draw:he,update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation!==void 0&&e.rotationSpeed!==void 0&&(e.rotation+=e.rotationSpeed),e.vx=Math.sin(e.life*.05)*.5,e.opacity=Math.max(0,1-e.life/e.maxLife),e.y>-e.size)},Ee={defaultColors:["#FF1493","#FF69B4","#FF6B6B","#E91E63"],defaultCount:15,create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:n?Math.random()*e.height:-20,vx:(Math.random()-.5)*r,vy:Math.random()*r*2+1,size:Math.random()*a+5,color:t,opacity:Math.random()*.5+.5,life:0,maxLife:200,rotation:0,rotationSpeed:(Math.random()-.5)*2}),draw:he,update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation!==void 0&&e.rotationSpeed!==void 0&&(e.rotation+=e.rotationSpeed),e.vx=Math.sin(e.life*.05)*.5,e.opacity=Math.max(0,1-e.life/e.maxLife),e.y<t.height+e.size)},ge={defaultColors:["#FF1493","#FF69B4","#FF6B6B","#E91E63"],defaultCount:15,create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:Math.random()*e.height,vx:0,vy:0,size:0,color:t,opacity:0,life:0,maxLife:60+Math.random()*40,rotation:(Math.random()-.5)*30,rotationSpeed:0,leafType:a*(.7+Math.random()*2.3)}),draw:he,update:(e,t)=>{e.life++;let r=e.life/e.maxLife,a=e.leafType||10;if(r<.3){let o=r/.3;e.opacity=o,e.size=a*o}else if(r<.7)e.opacity=1,e.size=a;else{let o=(r-.7)/.3;e.opacity=1-o,e.size=a*(1+o*.3)}return e.life<e.maxLife}},be=Q;var ve={defaultColors:["#FFD700","#FFA500","#DAA520","#B8860B"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:-20,vx:(Math.random()-.5)*r,vy:Math.random()*r*3+2,size:Math.random()*a+8,color:t,opacity:1,life:0,maxLife:200,rotation:Math.random()*360,rotationSpeed:(Math.random()-.5)*15}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y);let r=Math.cos((t.rotation||0)*Math.PI/180);e.scale(r,1),e.fillStyle=t.color,e.beginPath(),e.arc(0,0,t.size/2,0,Math.PI*2),e.fill(),e.strokeStyle="#B8860B",e.lineWidth=2,e.stroke(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation!==void 0&&e.rotationSpeed!==void 0&&(e.rotation+=e.rotationSpeed),e.vy+=.1,e.y<t.height+30)};var we={defaultColors:["#FF6B6B","#4ECDC4","#45B7D1","#FFEAA7","#DDA0DD","#98D8C8"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:e.height+20,vx:(Math.random()-.5)*r*.5,vy:-Math.random()*r-.8,size:Math.random()*a*2+10,color:t,opacity:.9,life:0,maxLife:400}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.fillStyle=t.color,e.beginPath(),e.ellipse(t.x,t.y,t.size/2,t.size/1.5,0,0,Math.PI*2),e.fill(),e.strokeStyle="#666",e.lineWidth=1,e.beginPath(),e.moveTo(t.x,t.y+t.size/1.5),e.quadraticCurveTo(t.x+5,t.y+t.size,t.x,t.y+t.size*1.5),e.stroke(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.vx=Math.sin(e.life*.02)*.3,e.y>-e.size*2)};var ke={defaultColors:["#8A2BE2","#9400D3","#BA55D3","#DA70D6","#EE82EE"],create:(e,t,r,a,o,n)=>{let i=Math.random()*Math.PI*2,p=Math.random()*50;return{x:e.width/2+Math.cos(i)*p,y:e.height/2+Math.sin(i)*p,vx:Math.cos(i)*r*2,vy:Math.sin(i)*r*2,size:Math.random()*a+2,color:t,opacity:1,life:0,maxLife:60+Math.random()*40,rotation:Math.random()*Math.PI*2,rotationSpeed:(Math.random()-.5)*.15}},draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y),e.rotate(t.rotation||0),e.fillStyle="#FFFFFF",e.beginPath(),e.arc(0,0,t.size*.3,0,Math.PI*2),e.fill(),e.fillStyle=t.color;let r=t.size*1.5,a=t.size*.15;e.beginPath(),e.moveTo(0,-r),e.lineTo(a,-a),e.lineTo(r,0),e.lineTo(a,a),e.lineTo(0,r),e.lineTo(-a,a),e.lineTo(-r,0),e.lineTo(-a,-a),e.closePath(),e.fill(),e.rotate(Math.PI/4);let o=t.size*.8,n=t.size*.1;e.beginPath(),e.moveTo(0,-o),e.lineTo(n,-n),e.lineTo(o,0),e.lineTo(n,n),e.lineTo(0,o),e.lineTo(-n,n),e.lineTo(-o,0),e.lineTo(-n,-n),e.closePath(),e.fill(),e.rotate(-Math.PI/4),e.fillStyle=t.color;for(let i=0;i<3;i++){let p=((t.rotation||0)*2+i*2.1)%(Math.PI*2),s=t.size*(1.5+Math.sin(t.life*3+i)*.5),l=t.size*.15;e.beginPath(),e.arc(Math.cos(p)*s,Math.sin(p)*s,l,0,Math.PI*2),e.fill()}e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation=(e.rotation||0)+(e.rotationSpeed||.05),e.opacity=Math.sin(e.life/e.maxLife*Math.PI),e.life<e.maxLife)};var Me={defaultColors:["#00CED1","#00BFFF","#1E90FF","#4169E1","#6A5ACD"],create:(e,t,r,a,o,n)=>{let i=Math.random()*Math.PI*2,p=30+Math.random()*30;return{x:e.width/2+Math.cos(i)*p,y:e.height/2+Math.sin(i)*p,vx:0,vy:0,size:Math.random()*a+2,color:t,opacity:1,life:0,maxLife:100,rotation:i*(180/Math.PI),rotationSpeed:3}},draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.fillStyle=t.color,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>{e.life++;let r=(e.rotation||0)*Math.PI/180+e.life*.05,a=30+Math.sin(e.life*.1)*10;return e.x=t.width/2+Math.cos(r)*a,e.y=t.height/2+Math.sin(r)*a,e.opacity=Math.sin(e.life/e.maxLife*Math.PI),e.life<e.maxLife}};var Ce={defaultColors:["#FF2200","#FF4400","#FF6600","#FF3300","#CC1100","#FFAA00"],create:(e,t,r,a,o,n,i)=>{i?.explosionBurst&&i.explosionBurst.frame===0&&(i.explosionBurst.x=e.width/2+(Math.random()-.5)*80,i.explosionBurst.y=e.height-10,i.explosionBurst.frame=1);let p=i?.explosionBurst?.x??e.width/2,s=i?.explosionBurst?.y??e.height-10,l=-Math.PI*.85+Math.random()*Math.PI*.7,c=Math.random()*r*8+4;return{x:p,y:s,vx:Math.cos(l)*c,vy:Math.sin(l)*c-3,size:Math.random()*a*1.5+4,color:t,opacity:1,life:0,maxLife:35+Math.random()*15,rotation:Math.random()*Math.PI*2,rotationSpeed:(Math.random()-.5)*.3}},draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.translate(t.x,t.y),e.rotate(t.rotation||0);let r=5+Math.floor(Math.random()*3),a=t.size,o=t.size*.3,n=e.createRadialGradient(0,0,0,0,0,a);n.addColorStop(0,"#FFFF88"),n.addColorStop(.2,"#FFAA00"),n.addColorStop(.5,t.color),n.addColorStop(1,"#330000"),e.fillStyle=n,e.beginPath();for(let i=0;i<r*2;i++){let p=i*Math.PI/r,s=.7+Math.sin(t.life*.5+i)*.3,l=i%2===0?a*s:o*s,c=Math.cos(p)*l,d=Math.sin(p)*l;i===0?e.moveTo(c,d):e.lineTo(c,d)}e.closePath(),e.fill(),e.fillStyle="#FFFFFF",e.beginPath(),e.arc(0,0,t.size*.15,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.rotation=(e.rotation||0)+(e.rotationSpeed||.1),e.vx*=.94,e.vy*=.94,e.vy+=.15,e.opacity=1-e.life/e.maxLife,e.size*=.97,e.life<e.maxLife)};var Fe={defaultColors:["#00FF00","#32CD32","#90EE90"],create:(e,t,r,a,o,n)=>{let i=10+Math.floor(Math.random()*15),p="";for(let s=0;s<i;s++)p+=Math.random()>.5?"1":"0";return{x:Math.floor(Math.random()*(e.width/11))*11,y:-i*11,vx:0,vy:Math.random()*r*3+2,size:10,color:t,opacity:1,life:0,maxLife:500,codeString:p}},draw:(e,t)=>{e.save(),e.font=`${t.size}px monospace`;let r=t.codeString||"01010101";for(let a=0;a<r.length;a++){let o=Math.max(0,t.opacity*(1-a*.06));a===0?e.fillStyle=`rgba(255, 255, 255, ${o})`:e.fillStyle=`rgba(0, 255, 0, ${o})`,e.fillText(r[a],t.x,t.y+a*11)}e.restore()},update:(e,t)=>{e.life++,e.x+=e.vx,e.y+=e.vy;let a=(e.codeString||"").length*11;return e.y>t.height+a?!1:(e.opacity=Math.max(0,1-e.life/e.maxLife*.5),e.opacity>0)}};var Pe={defaultColors:["#FFFFFF","#F5F5F5","#E8E8E8"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:Math.random()*e.height,vx:(Math.random()-.5)*r*.2,vy:(Math.random()-.5)*r*.1,size:Math.random()*40+20,color:t,opacity:Math.random()*.08+.02,life:0,maxLife:300+Math.random()*200}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity;let r=e.createRadialGradient(t.x,t.y,0,t.x,t.y,t.size);r.addColorStop(0,t.color),r.addColorStop(1,"transparent"),e.fillStyle=r,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.fill(),e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.x<-e.size&&(e.x=t.width+e.size),e.x>t.width+e.size&&(e.x=-e.size),e.opacity=Math.sin(e.life/e.maxLife*Math.PI)*.08,e.life<e.maxLife)};var Te={defaultColors:["#FFFFFF","#F0FFFF","#87CEEB","#00BFFF"],create:(e,t,r,a,o,n)=>({x:Math.random()*e.width,y:0,vx:0,vy:0,size:Math.random()*3+1,color:t,opacity:1,life:0,maxLife:5+Math.random()*10}),draw:(e,t)=>{e.save(),e.globalAlpha=t.opacity,e.strokeStyle=t.color,e.lineWidth=t.size,e.shadowColor=t.color,e.shadowBlur=10,e.beginPath();let r=t.x,a=t.y;e.moveTo(r,a);let o=8,n=150/o;for(let i=0;i<o;i++)r+=(Math.random()-.5)*30,a+=n,e.lineTo(r,a);e.stroke(),e.shadowBlur=0,e.restore()},update:(e,t)=>(e.life++,e.x+=e.vx,e.y+=e.vy,e.life<e.maxLife)};var Se={defaultColors:["#FFFF00","#FFD700","#FFA500"],create:(e,t,r,a,o,n)=>{let i=e.width*.3+Math.random()*e.width*.4,p=e.height*.85,s=Math.random()>.5?5:4,l=[],c=i;l.push(`${i},0`);let d=Math.random()>.5?1:-1;for(let w=0;w<s;w++){let h=(w+1)/(s+1),E=p*(h*.85+Math.random()*.08),z=d*(20+Math.random()*35);c+=z,l.push(`${c},${E}`),d*=-1}l.push(`${c},${p}`);let u=l.join("|"),g=15+Math.random()*8;return{x:i,y:0,vx:0,vy:0,size:Math.random()*1+1.5,color:t,opacity:1,life:0,maxLife:g+60,codeString:u,rotation:g}},draw:(e,t)=>{e.save();let r=t.life<2?.5*t.opacity:.15*t.opacity;e.globalAlpha=r,e.fillStyle="#FFFFCC",e.fillRect(0,0,e.canvas.width,e.canvas.height);let o=(t.codeString||"").split("|").map(s=>{let[l,c]=s.split(",");return{x:parseFloat(l),y:parseFloat(c)}});if(o.length<2){e.restore();return}e.globalAlpha=t.opacity,e.lineJoin="miter",e.miterLimit=15,e.lineCap="round";let n=o[o.length-1],i=(s,l,c)=>{e.strokeStyle=s,e.lineWidth=l,e.shadowColor=s==="#FFFF88"?"#FFFFFF":"#FFD700",e.shadowBlur=c,e.beginPath(),e.moveTo(o[0].x,o[0].y);for(let d=1;d<o.length;d++)e.lineTo(o[d].x,o[d].y);e.stroke()},p=(s,l,c)=>{e.fillStyle=s,e.shadowColor=s==="#FFFF88"?"#FFFFFF":"#FFD700",e.shadowBlur=c;let d=8,u=l*.5;e.beginPath(),e.moveTo(n.x-u/2,n.y),e.lineTo(n.x+u/2,n.y),e.lineTo(n.x,n.y+d),e.closePath(),e.fill()};i("#FFA500",t.size+3,25),p("#FFA500",t.size+3,25),i("#FFD700",t.size+1,12),p("#FFD700",t.size+1,12),i("#FFFF88",Math.max(1,t.size-1),5),p("#FFFF88",Math.max(1,t.size-1),5),e.restore()},update:(e,t)=>{e.life++;let r=e.rotation||20;return e.life<3?e.opacity=1:e.life<r?e.opacity=Math.max(0,1-(e.life-3)/(r-3)):e.opacity=0,e.life<e.maxLife}};var De={sparkle:se,confetti:fe,snow:le,firefly:de,"bubbles-color":X,"bubbles-yellow":X,"bubbles-pink":X,"bubbles-blue":X,"bubbles-green":X,stars:J,"stars-color":J,rain:me,leaves:xe,sakura:pe,smoke:ce,dust:ue,fireworks:ye,hearts:be,"hearts-up":Q,"hearts-down":Ee,"hearts-pop":ge,coins:ve,balloons:we,magic:ke,portal:Me,explosion:Ce,matrix:Fe,fog:Pe,electric:Te,lightning:Se},Zt=e=>{if(e==="bubbles-yellow")return["#FFD700","#FFA500","#FFFF00"];if(e==="bubbles-pink")return["#FF69B4","#FF1493","#FFB6C1"];if(e==="bubbles-blue")return["#00BFFF","#87CEEB","#4169E1"];if(e==="bubbles-green")return["#00FF00","#32CD32","#98FB98"];if(e==="stars-color")return["#FFFFFF","#FFD700","#FFA500","#FF69B4"];let t=De[e];return t?t.defaultColors:["#FFFFFF"]};import{jsx as io}from"react/jsx-runtime";var no=({effect:e,isActive:t=!0,options:r={},width:a="100%",height:o="100%",className:n="",style:i={}})=>{let p=ee(null),s=ee([]),l=ee(),c=ee({fireworksBurst:{x:0,y:0,frame:0},explosionBurst:{x:0,y:0,frame:0}}),d=De[e],{count:u=d?.defaultCount??30,speed:g=1,size:C=4,colors:w=Zt(e),opacity:h=1}=r,E=Be((m,y=!1)=>{let F=w[Math.floor(Math.random()*w.length)];return d?d.create(m,F,g,C,h,y,c.current):{x:Math.random()*m.width,y:Math.random()*m.height,vx:0,vy:0,size:Math.random()*C+1,color:F,opacity:Math.random()*h,life:Math.random()*60,maxLife:60+Math.random()*60}},[e,g,C,w,h,d]),z=Be((m,y)=>{if(d){d.draw(m,y);return}m.save(),m.globalAlpha=y.opacity,m.fillStyle=y.color,m.beginPath(),m.arc(y.x,y.y,y.size,0,Math.PI*2),m.fill(),m.restore()},[d]),K=Be((m,y)=>d?d.update(m,y,g):(m.life++,m.x+=m.vx,m.y+=m.vy,m.life<m.maxLife),[d,g]);return ao(()=>{let m=p.current;if(!m||!t)return;let y=m.getContext("2d");if(!y)return;let F=()=>{let R=m.getBoundingClientRect();m.width=R.width,m.height=R.height};F(),window.addEventListener("resize",F),s.current=Array.from({length:u},()=>E(m,!0));let I=()=>{if(y.clearRect(0,0,m.width,m.height),s.current=s.current.filter(R=>{let L=K(R,m);return L&&z(y,R),L}),e==="fireworks"){if(s.current.length<u*.3)for(c.current.fireworksBurst&&(c.current.fireworksBurst.frame=0);s.current.length<u;)s.current.push(E(m))}else if(e==="explosion"){if(s.current.length<u*.3)for(c.current.explosionBurst&&(c.current.explosionBurst.frame=0);s.current.length<u;)s.current.push(E(m))}else for(;s.current.length<u;)s.current.push(E(m));l.current=requestAnimationFrame(I)};return I(),()=>{window.removeEventListener("resize",F),l.current&&cancelAnimationFrame(l.current)}},[t,u,e,E,K,z]),io("canvas",{ref:p,className:`vfx-particle ${n}`,style:{width:a,height:o,display:"block",pointerEvents:"none",...i}})};import Pr,{useEffect as re,useRef as Tr,useState as W,useCallback as _,useMemo as Sr}from"react";var Ut={enterKeyframes:`
|
|
910
914
|
@keyframes slideFadeEnter {
|
|
911
915
|
from { opacity: 0; }
|
|
912
916
|
to { opacity: 1; }
|
|
@@ -924,7 +928,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
924
928
|
.vfx-slide-fade-exit {
|
|
925
929
|
animation: slideFadeExit var(--slide-duration, 500ms) ease-in forwards;
|
|
926
930
|
}
|
|
927
|
-
`},
|
|
931
|
+
`},Wt={enterKeyframes:`
|
|
928
932
|
@keyframes slideFadeUpEnter {
|
|
929
933
|
from {
|
|
930
934
|
opacity: 0;
|
|
@@ -954,7 +958,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
954
958
|
.vfx-slide-fade-up-exit {
|
|
955
959
|
animation: slideFadeUpExit var(--slide-duration, 500ms) ease-in forwards;
|
|
956
960
|
}
|
|
957
|
-
`},
|
|
961
|
+
`},jt={enterKeyframes:`
|
|
958
962
|
@keyframes slideFadeDownEnter {
|
|
959
963
|
from {
|
|
960
964
|
opacity: 0;
|
|
@@ -984,7 +988,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
984
988
|
.vfx-slide-fade-down-exit {
|
|
985
989
|
animation: slideFadeDownExit var(--slide-duration, 500ms) ease-in forwards;
|
|
986
990
|
}
|
|
987
|
-
`},
|
|
991
|
+
`},qt={enterKeyframes:`
|
|
988
992
|
@keyframes slideFadeLeftEnter {
|
|
989
993
|
from {
|
|
990
994
|
opacity: 0;
|
|
@@ -1014,7 +1018,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1014
1018
|
.vfx-slide-fade-left-exit {
|
|
1015
1019
|
animation: slideFadeLeftExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1016
1020
|
}
|
|
1017
|
-
`},
|
|
1021
|
+
`},Jt={enterKeyframes:`
|
|
1018
1022
|
@keyframes slideFadeRightEnter {
|
|
1019
1023
|
from {
|
|
1020
1024
|
opacity: 0;
|
|
@@ -1044,7 +1048,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1044
1048
|
.vfx-slide-fade-right-exit {
|
|
1045
1049
|
animation: slideFadeRightExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1046
1050
|
}
|
|
1047
|
-
`};var
|
|
1051
|
+
`};var Qt={enterKeyframes:`
|
|
1048
1052
|
@keyframes slideUpEnter {
|
|
1049
1053
|
from { transform: translateY(100%); }
|
|
1050
1054
|
to { transform: translateY(0); }
|
|
@@ -1062,7 +1066,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1062
1066
|
.vfx-slide-slide-up-exit {
|
|
1063
1067
|
animation: slideUpExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1064
1068
|
}
|
|
1065
|
-
`},
|
|
1069
|
+
`},er={enterKeyframes:`
|
|
1066
1070
|
@keyframes slideDownEnter {
|
|
1067
1071
|
from { transform: translateY(-100%); }
|
|
1068
1072
|
to { transform: translateY(0); }
|
|
@@ -1080,7 +1084,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1080
1084
|
.vfx-slide-slide-down-exit {
|
|
1081
1085
|
animation: slideDownExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1082
1086
|
}
|
|
1083
|
-
`},
|
|
1087
|
+
`},tr={enterKeyframes:`
|
|
1084
1088
|
@keyframes slideLeftEnter {
|
|
1085
1089
|
from { transform: translateX(100%); }
|
|
1086
1090
|
to { transform: translateX(0); }
|
|
@@ -1098,7 +1102,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1098
1102
|
.vfx-slide-slide-left-exit {
|
|
1099
1103
|
animation: slideLeftExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1100
1104
|
}
|
|
1101
|
-
`},
|
|
1105
|
+
`},rr={enterKeyframes:`
|
|
1102
1106
|
@keyframes slideRightEnter {
|
|
1103
1107
|
from { transform: translateX(-100%); }
|
|
1104
1108
|
to { transform: translateX(0); }
|
|
@@ -1116,7 +1120,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1116
1120
|
.vfx-slide-slide-right-exit {
|
|
1117
1121
|
animation: slideRightExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1118
1122
|
}
|
|
1119
|
-
`};var
|
|
1123
|
+
`};var or={enterKeyframes:`
|
|
1120
1124
|
@keyframes slideRotateLeftEnter {
|
|
1121
1125
|
from {
|
|
1122
1126
|
opacity: 0;
|
|
@@ -1146,7 +1150,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1146
1150
|
.vfx-slide-rotate-left-exit {
|
|
1147
1151
|
animation: slideRotateLeftExit var(--slide-duration, 600ms) ease-in forwards;
|
|
1148
1152
|
}
|
|
1149
|
-
`,defaultDuration:600},
|
|
1153
|
+
`,defaultDuration:600},ar={enterKeyframes:`
|
|
1150
1154
|
@keyframes slideRotateRightEnter {
|
|
1151
1155
|
from {
|
|
1152
1156
|
opacity: 0;
|
|
@@ -1176,7 +1180,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1176
1180
|
.vfx-slide-rotate-right-exit {
|
|
1177
1181
|
animation: slideRotateRightExit var(--slide-duration, 600ms) ease-in forwards;
|
|
1178
1182
|
}
|
|
1179
|
-
`,defaultDuration:600},
|
|
1183
|
+
`,defaultDuration:600},nr={enterKeyframes:`
|
|
1180
1184
|
@keyframes slideRotateInEnter {
|
|
1181
1185
|
from {
|
|
1182
1186
|
opacity: 0;
|
|
@@ -1206,7 +1210,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1206
1210
|
.vfx-slide-rotate-in-exit {
|
|
1207
1211
|
animation: slideRotateInExit var(--slide-duration, 700ms) ease-in forwards;
|
|
1208
1212
|
}
|
|
1209
|
-
`,defaultDuration:700},
|
|
1213
|
+
`,defaultDuration:700},ir={enterKeyframes:`
|
|
1210
1214
|
@keyframes slideRotateOutEnter {
|
|
1211
1215
|
from {
|
|
1212
1216
|
opacity: 0;
|
|
@@ -1236,7 +1240,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1236
1240
|
.vfx-slide-rotate-out-exit {
|
|
1237
1241
|
animation: slideRotateOutExit var(--slide-duration, 700ms) ease-in forwards;
|
|
1238
1242
|
}
|
|
1239
|
-
`,defaultDuration:700};var
|
|
1243
|
+
`,defaultDuration:700};var sr={enterKeyframes:`
|
|
1240
1244
|
@keyframes slideFlipXEnter {
|
|
1241
1245
|
from {
|
|
1242
1246
|
opacity: 0;
|
|
@@ -1268,7 +1272,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1268
1272
|
animation: slideFlipXExit var(--slide-duration, 600ms) ease-in forwards;
|
|
1269
1273
|
transform-style: preserve-3d;
|
|
1270
1274
|
}
|
|
1271
|
-
`,defaultDuration:600},
|
|
1275
|
+
`,defaultDuration:600},fr={enterKeyframes:`
|
|
1272
1276
|
@keyframes slideFlipYEnter {
|
|
1273
1277
|
from {
|
|
1274
1278
|
opacity: 0;
|
|
@@ -1300,7 +1304,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1300
1304
|
animation: slideFlipYExit var(--slide-duration, 600ms) ease-in forwards;
|
|
1301
1305
|
transform-style: preserve-3d;
|
|
1302
1306
|
}
|
|
1303
|
-
`,defaultDuration:600},
|
|
1307
|
+
`,defaultDuration:600},lr={enterKeyframes:`
|
|
1304
1308
|
@keyframes slideFlipDiagonalEnter {
|
|
1305
1309
|
from {
|
|
1306
1310
|
opacity: 0;
|
|
@@ -1332,7 +1336,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1332
1336
|
animation: slideFlipDiagonalExit var(--slide-duration, 700ms) ease-in forwards;
|
|
1333
1337
|
transform-style: preserve-3d;
|
|
1334
1338
|
}
|
|
1335
|
-
`,defaultDuration:700};var
|
|
1339
|
+
`,defaultDuration:700};var dr={enterKeyframes:`
|
|
1336
1340
|
@keyframes slideZoomInEnter {
|
|
1337
1341
|
from {
|
|
1338
1342
|
opacity: 0;
|
|
@@ -1362,7 +1366,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1362
1366
|
.vfx-slide-zoom-in-exit {
|
|
1363
1367
|
animation: slideZoomInExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1364
1368
|
}
|
|
1365
|
-
`,defaultDuration:500},
|
|
1369
|
+
`,defaultDuration:500},mr={enterKeyframes:`
|
|
1366
1370
|
@keyframes slideZoomOutEnter {
|
|
1367
1371
|
from {
|
|
1368
1372
|
opacity: 0;
|
|
@@ -1392,7 +1396,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1392
1396
|
.vfx-slide-zoom-out-exit {
|
|
1393
1397
|
animation: slideZoomOutExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1394
1398
|
}
|
|
1395
|
-
`,defaultDuration:500},
|
|
1399
|
+
`,defaultDuration:500},xr={enterKeyframes:`
|
|
1396
1400
|
@keyframes slideZoomLeftEnter {
|
|
1397
1401
|
from {
|
|
1398
1402
|
opacity: 0;
|
|
@@ -1428,7 +1432,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1428
1432
|
animation: slideZoomLeftExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1429
1433
|
transform-origin: left center;
|
|
1430
1434
|
}
|
|
1431
|
-
`,defaultDuration:500},
|
|
1435
|
+
`,defaultDuration:500},pr={enterKeyframes:`
|
|
1432
1436
|
@keyframes slideZoomRightEnter {
|
|
1433
1437
|
from {
|
|
1434
1438
|
opacity: 0;
|
|
@@ -1464,7 +1468,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1464
1468
|
animation: slideZoomRightExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1465
1469
|
transform-origin: right center;
|
|
1466
1470
|
}
|
|
1467
|
-
`,defaultDuration:500},
|
|
1471
|
+
`,defaultDuration:500},cr={enterKeyframes:`
|
|
1468
1472
|
@keyframes slideZoomTopEnter {
|
|
1469
1473
|
from {
|
|
1470
1474
|
opacity: 0;
|
|
@@ -1500,7 +1504,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1500
1504
|
animation: slideZoomTopExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1501
1505
|
transform-origin: center top;
|
|
1502
1506
|
}
|
|
1503
|
-
`,defaultDuration:500},
|
|
1507
|
+
`,defaultDuration:500},ur={enterKeyframes:`
|
|
1504
1508
|
@keyframes slideZoomBottomEnter {
|
|
1505
1509
|
from {
|
|
1506
1510
|
opacity: 0;
|
|
@@ -1536,7 +1540,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1536
1540
|
animation: slideZoomBottomExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1537
1541
|
transform-origin: center bottom;
|
|
1538
1542
|
}
|
|
1539
|
-
`,defaultDuration:500};var
|
|
1543
|
+
`,defaultDuration:500};var yr={enterKeyframes:`
|
|
1540
1544
|
@keyframes slideBounceEnter {
|
|
1541
1545
|
0% {
|
|
1542
1546
|
opacity: 0;
|
|
@@ -1575,7 +1579,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1575
1579
|
.vfx-slide-bounce-exit {
|
|
1576
1580
|
animation: slideBounceExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1577
1581
|
}
|
|
1578
|
-
`,defaultDuration:700},
|
|
1582
|
+
`,defaultDuration:700},hr={enterKeyframes:`
|
|
1579
1583
|
@keyframes slideElasticEnter {
|
|
1580
1584
|
0% {
|
|
1581
1585
|
opacity: 0;
|
|
@@ -1617,7 +1621,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1617
1621
|
.vfx-slide-elastic-exit {
|
|
1618
1622
|
animation: slideElasticExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1619
1623
|
}
|
|
1620
|
-
`,defaultDuration:800},
|
|
1624
|
+
`,defaultDuration:800},Er={enterKeyframes:`
|
|
1621
1625
|
@keyframes slideSwingEnter {
|
|
1622
1626
|
0% {
|
|
1623
1627
|
opacity: 0;
|
|
@@ -1651,7 +1655,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1651
1655
|
animation: slideSwingExit var(--slide-duration, 500ms) ease-in forwards;
|
|
1652
1656
|
transform-style: preserve-3d;
|
|
1653
1657
|
}
|
|
1654
|
-
`,defaultDuration:600},
|
|
1658
|
+
`,defaultDuration:600},gr={enterKeyframes:`
|
|
1655
1659
|
@keyframes slideBlurEnter {
|
|
1656
1660
|
from {
|
|
1657
1661
|
opacity: 0;
|
|
@@ -1685,7 +1689,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1685
1689
|
.vfx-slide-blur-exit {
|
|
1686
1690
|
animation: slideBlurExit var(--slide-duration, 600ms) ease-in forwards;
|
|
1687
1691
|
}
|
|
1688
|
-
`,defaultDuration:600},
|
|
1692
|
+
`,defaultDuration:600},br={enterKeyframes:`
|
|
1689
1693
|
@keyframes slideKenburnsEnter {
|
|
1690
1694
|
from {
|
|
1691
1695
|
opacity: 0;
|
|
@@ -1715,7 +1719,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1715
1719
|
.vfx-slide-kenburns-exit {
|
|
1716
1720
|
animation: slideKenburnsExit var(--slide-duration, 1000ms) ease-in forwards;
|
|
1717
1721
|
}
|
|
1718
|
-
`,defaultDuration:1e3};var
|
|
1722
|
+
`,defaultDuration:1e3};var vr={enterKeyframes:`
|
|
1719
1723
|
@keyframes slideDriftLeftEnter {
|
|
1720
1724
|
from {
|
|
1721
1725
|
opacity: 0;
|
|
@@ -1752,7 +1756,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1752
1756
|
.vfx-slide-drift-left-exit {
|
|
1753
1757
|
animation: slideDriftLeftExit 500ms ease-in forwards;
|
|
1754
1758
|
}
|
|
1755
|
-
`,defaultDuration:500},
|
|
1759
|
+
`,defaultDuration:500},wr={enterKeyframes:`
|
|
1756
1760
|
@keyframes slideDriftRightEnter {
|
|
1757
1761
|
from {
|
|
1758
1762
|
opacity: 0;
|
|
@@ -1789,7 +1793,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1789
1793
|
.vfx-slide-drift-right-exit {
|
|
1790
1794
|
animation: slideDriftRightExit 500ms ease-in forwards;
|
|
1791
1795
|
}
|
|
1792
|
-
`,defaultDuration:500},
|
|
1796
|
+
`,defaultDuration:500},kr={enterKeyframes:`
|
|
1793
1797
|
@keyframes slideDriftUpEnter {
|
|
1794
1798
|
from {
|
|
1795
1799
|
opacity: 0;
|
|
@@ -1826,7 +1830,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1826
1830
|
.vfx-slide-drift-up-exit {
|
|
1827
1831
|
animation: slideDriftUpExit 500ms ease-in forwards;
|
|
1828
1832
|
}
|
|
1829
|
-
`,defaultDuration:500},
|
|
1833
|
+
`,defaultDuration:500},Mr={enterKeyframes:`
|
|
1830
1834
|
@keyframes slideDriftDownEnter {
|
|
1831
1835
|
from {
|
|
1832
1836
|
opacity: 0;
|
|
@@ -1863,7 +1867,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1863
1867
|
.vfx-slide-drift-down-exit {
|
|
1864
1868
|
animation: slideDriftDownExit 500ms ease-in forwards;
|
|
1865
1869
|
}
|
|
1866
|
-
`,defaultDuration:500},
|
|
1870
|
+
`,defaultDuration:500},Cr={enterKeyframes:`
|
|
1867
1871
|
@keyframes slideDriftZoomEnter {
|
|
1868
1872
|
from {
|
|
1869
1873
|
opacity: 0;
|
|
@@ -1900,7 +1904,7 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1900
1904
|
.vfx-slide-drift-zoom-exit {
|
|
1901
1905
|
animation: slideDriftZoomExit 500ms ease-in forwards;
|
|
1902
1906
|
}
|
|
1903
|
-
`,defaultDuration:500},
|
|
1907
|
+
`,defaultDuration:500},Fr={enterKeyframes:`
|
|
1904
1908
|
@keyframes slideDriftRandomEnter {
|
|
1905
1909
|
from {
|
|
1906
1910
|
opacity: 0;
|
|
@@ -1937,18 +1941,18 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
1937
1941
|
.vfx-slide-drift-random-exit {
|
|
1938
1942
|
animation: slideDriftRandomExit 500ms ease-in forwards;
|
|
1939
1943
|
}
|
|
1940
|
-
`,defaultDuration:500};var
|
|
1941
|
-
${
|
|
1942
|
-
${
|
|
1943
|
-
${
|
|
1944
|
-
${
|
|
1945
|
-
`,document.head.appendChild(
|
|
1946
|
-
${
|
|
1947
|
-
${
|
|
1948
|
-
`,document.head.appendChild(ae)}});else{let
|
|
1949
|
-
${
|
|
1950
|
-
${
|
|
1951
|
-
`,document.head.appendChild(
|
|
1944
|
+
`,defaultDuration:500};var U={fade:Ut,"fade-up":Wt,"fade-down":jt,"fade-left":qt,"fade-right":Jt,"slide-up":Qt,"slide-down":er,"slide-left":tr,"slide-right":rr,"rotate-left":or,"rotate-right":ar,"rotate-in":nr,"rotate-out":ir,"flip-x":sr,"flip-y":fr,"flip-diagonal":lr,"zoom-in":dr,"zoom-out":mr,"zoom-left":xr,"zoom-right":pr,"zoom-top":cr,"zoom-bottom":ur,bounce:yr,elastic:hr,swing:Er,blur:gr,kenburns:br},te={"drift-left":vr,"drift-right":wr,"drift-up":kr,"drift-down":Mr,"drift-zoom":Cr,"drift-random":Fr};import{Fragment as fo,jsx as j,jsxs as Dr}from"react/jsx-runtime";var Br=({children:e,effect:t="fade",driftEffect:r="none",activeIndex:a,onSlideChange:o,autoPlay:n=!1,autoPlayInterval:i=5e3,duration:p,loop:s=!0,pauseOnHover:l=!0,className:c="",style:d={},showNavigation:u=!0,showIndicators:g=!0,enableKeyboard:C=!0,enableSwipe:w=!0})=>{let h=Sr(()=>Pr.Children.toArray(e).map(x=>{if(Pr.isValidElement(x)&&x.type?.displayName==="VfxSlideItem"){let f=x.props;return{content:f.children,effect:f.effect,driftEffect:f.driftEffect,duration:f.duration,interval:f.interval,className:f.className,style:f.style}}return{content:x}}),[e]),E=h.length,[z,K]=W(0),[m,y]=W(null),[F,I]=W(!1),[R,L]=W(!1),[Re,Lr]=W(""),zr=Tr(null),V=Tr(null),T=a!==void 0?a:z,q=_(x=>{let f=h[x];return{effect:f?.effect||t,driftEffect:f?.driftEffect||r,duration:f?.duration||p,interval:f?.interval||i}},[h,t,r,p,i]),Y=q(T);re(()=>{if(Y.driftEffect==="drift-random"){let f=["drift-left","drift-right","drift-up","drift-down","drift-zoom"],S=f[Math.floor(Math.random()*f.length)];console.log(`[VfxSlide] \uC2AC\uB77C\uC774\uB4DC ${T}: drift-random \u2192 ${S}`),Lr(S)}},[Y.driftEffect,T]);let Ir=Sr(()=>U[Y.effect]||U.fade,[Y.effect]),oe=Y.duration||Ir.defaultDuration;re(()=>{let x=new Set([t]),f=new Set;r!=="none"&&f.add(r),h.forEach(k=>{k.effect&&x.add(k.effect),k.driftEffect&&k.driftEffect!=="none"&&f.add(k.driftEffect)}),x.forEach(k=>{let B=`vfx-slide-${k}`;if(!document.getElementById(B)){let b=U[k];if(b){let D=document.createElement("style");D.id=B,D.textContent=`
|
|
1945
|
+
${b.enterKeyframes}
|
|
1946
|
+
${b.exitKeyframes}
|
|
1947
|
+
${b.enterClass}
|
|
1948
|
+
${b.exitClass}
|
|
1949
|
+
`,document.head.appendChild(D)}}}),f.forEach(k=>{if(k==="drift-random")["drift-left","drift-right","drift-up","drift-down","drift-zoom"].forEach(b=>{let D=te[b],N=`vfx-slide-drift-${b}`;if(D&&!document.getElementById(N)){let ae=document.createElement("style");ae.id=N,ae.textContent=`
|
|
1950
|
+
${D.enterKeyframes}
|
|
1951
|
+
${D.enterClass}
|
|
1952
|
+
`,document.head.appendChild(ae)}});else{let B=te[k],b=`vfx-slide-drift-${k}`;if(B&&!document.getElementById(b)){let D=document.createElement("style");D.id=b,D.textContent=`
|
|
1953
|
+
${B.enterKeyframes}
|
|
1954
|
+
${B.enterClass}
|
|
1955
|
+
`,document.head.appendChild(D)}}});let S="vfx-slide-common";if(!document.getElementById(S)){let k=document.createElement("style");k.id=S,k.textContent=`
|
|
1952
1956
|
.vfx-slide-container {
|
|
1953
1957
|
position: relative;
|
|
1954
1958
|
overflow: hidden;
|
|
@@ -2045,5 +2049,5 @@ import{useState as ze,useEffect as Ie}from"react";var ne=(e,t,r)=>{let[a,o]=ze("
|
|
|
2045
2049
|
background: white;
|
|
2046
2050
|
transform: scale(1.2);
|
|
2047
2051
|
}
|
|
2048
|
-
`,document.head.appendChild(
|
|
2052
|
+
`,document.head.appendChild(k)}},[t,r,h]);let O=_(x=>{if(F||x===T)return;let f=x;if(s)x<0&&(f=E-1),x>=E&&(f=0);else if(x<0||x>=E)return;y(T),I(!0),a===void 0&&K(f),o?.(f),setTimeout(()=>{I(!1),y(null)},oe)},[T,E,s,a,o,oe,F]),$=_(()=>{O(T+1)},[T,O]),Z=_(()=>{O(T-1)},[T,O]);re(()=>{if(!n||R)return;let x=setInterval(()=>{$()},i);return()=>clearInterval(x)},[n,i,R,$]),re(()=>{if(!C)return;let x=f=>{f.key==="ArrowRight"?$():f.key==="ArrowLeft"&&Z()};return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[C,$,Z]);let Nr=_(x=>{w&&(V.current={x:x.touches[0].clientX,y:x.touches[0].clientY})},[w]),_r=_(x=>{if(!w||!V.current)return;let f=x.changedTouches[0].clientX-V.current.x,S=x.changedTouches[0].clientY-V.current.y;Math.abs(f)>Math.abs(S)&&Math.abs(f)>50&&(f>0?Z():$()),V.current=null},[w,$,Z]),$r=_(()=>{l&&n&&L(!0)},[l,n]),Ar=_(()=>{l&&n&&L(!1)},[l,n]),Xr=x=>`vfx-slide-${q(x).effect}-enter`,Le=x=>{let S=q(x).driftEffect;return S==="none"||!S?"":S==="drift-random"&&Re?`vfx-slide-${Re}-idle`:`vfx-slide-${S}-idle`};return Dr("div",{ref:zr,className:`vfx-slide-container ${c}`,style:{...d,"--slide-duration":`${oe}ms`,"--slide-interval":`${Y.interval}ms`},onMouseEnter:$r,onMouseLeave:Ar,onTouchStart:Nr,onTouchEnd:_r,children:[h.map((x,f)=>{let S=f===T,k=m!==null&&f===m,B=q(f),b="vfx-slide-item";x.className&&(b+=` ${x.className}`);let D={...x.style};if(k&&F&&(b+=" prev-slide",B.driftEffect!=="none"&&B.driftEffect)){let N=Le(f);N&&(b+=` ${N}`)}if(S){if(b+=" active",F)b+=` ${Xr(f)}`;else if(B.driftEffect!=="none"&&B.driftEffect){let N=Le(f);N&&(b+=` ${N}`)}}return j("div",{className:b,style:D,children:x.content},f)}),u&&E>1&&Dr(fo,{children:[j("button",{className:"vfx-slide-nav prev",onClick:Z,disabled:!s&&T===0,"aria-label":"\uC774\uC804 \uC2AC\uB77C\uC774\uB4DC",children:"\u276E"}),j("button",{className:"vfx-slide-nav next",onClick:$,disabled:!s&&T===E-1,"aria-label":"\uB2E4\uC74C \uC2AC\uB77C\uC774\uB4DC",children:"\u276F"})]}),g&&E>1&&j("div",{className:"vfx-slide-indicators",children:h.map((x,f)=>j("button",{className:`vfx-slide-indicator ${f===T?"active":""}`,onClick:()=>O(f),"aria-label":`\uC2AC\uB77C\uC774\uB4DC ${f+1}`},f))})]})};Br.displayName="VfxSlide";var so=Br;import{jsx as mo}from"react/jsx-runtime";var Rr=({children:e,className:t})=>mo("div",{className:`vfx-slide-item-content ${t||""}`,children:e});Rr.displayName="VfxSlideItem";var lo=Rr;export{ro as VfxDiv,no as VfxParticle,so as VfxSlide,lo as VfxSlideItem,Yr as VfxText,Wr as VfxTyping,Ot as addBorderEffectStyles,Kr as addTextEffectStyles,te as driftEffectRegistry,U as slideEffectRegistry,Zr as typingDuration,ne as useTextEffect};
|
|
2049
2053
|
//# sourceMappingURL=index.esm.js.map
|