svg-scroll-draw 2.21.0 → 2.23.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 +17 -15
- package/dist/angular/index.cjs +3 -3
- package/dist/angular/index.d.mts +1 -1
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.mjs +1 -1
- package/dist/aos/index.cjs +2 -2
- package/dist/aos/index.mjs +1 -1
- package/dist/aos/react/index.cjs +2 -2
- package/dist/aos/react/index.mjs +1 -1
- package/dist/astro/index.cjs +3 -3
- package/dist/astro/index.mjs +1 -1
- package/dist/cdn/aos.global.js +2 -2
- package/dist/cdn/scrollreveal.global.js +2 -2
- package/dist/cdn/svg-scroll-draw.dev.global.js +83 -29
- package/dist/cdn/svg-scroll-draw.global.js +3 -3
- package/dist/cdn/vivus.global.js +1 -1
- package/dist/chunk-2PYLM3E7.mjs +1 -0
- package/dist/chunk-DWK6XXY6.mjs +2 -0
- package/dist/chunk-DY5JCXVR.mjs +1 -0
- package/dist/chunk-EAWFBJUR.mjs +2 -0
- package/dist/{chunk-MTEGM4RR.mjs → chunk-GVBO5GRD.mjs} +1 -1
- package/dist/chunk-HX4SP5WN.mjs +3 -0
- package/dist/chunk-JCXMBI4G.mjs +2 -0
- package/dist/chunk-KV3WCPQ5.mjs +1 -0
- package/dist/chunk-LTCJVVSC.mjs +1 -0
- package/dist/{chunk-SMRTRZSD.mjs → chunk-OTDD2ROH.mjs} +1 -1
- package/dist/{chunk-MENZ5DS4.mjs → chunk-VMUJMXKO.mjs} +1 -1
- package/dist/chunk-WXUOF4NM.mjs +1 -0
- package/dist/chunk-YNNA33A5.mjs +2 -0
- package/dist/cinematic/index.cjs +2 -2
- package/dist/cinematic/index.mjs +1 -1
- package/dist/{engine-DQyBzZDl.d.ts → engine-B7UpB4fT.d.ts} +2 -1
- package/dist/{engine-P8u6OK4m.d.mts → engine-o1VSQ1lX.d.mts} +2 -1
- package/dist/group/index.cjs +3 -3
- package/dist/group/index.d.mts +2 -2
- package/dist/group/index.d.ts +2 -2
- package/dist/group/index.mjs +1 -1
- package/dist/horizontal/index.cjs +1 -1
- package/dist/horizontal/index.d.mts +2 -1
- package/dist/horizontal/index.d.ts +2 -1
- package/dist/horizontal/index.mjs +1 -1
- package/dist/{index-CMqK0GCT.d.mts → index-BY-CNE8c.d.mts} +1 -1
- package/dist/{index-DPqPEnO-.d.ts → index-DqXXiDIk.d.ts} +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.mjs +1 -1
- package/dist/nuxt/index.cjs +3 -3
- package/dist/nuxt/index.d.mts +1 -1
- package/dist/nuxt/index.d.ts +1 -1
- package/dist/nuxt/index.mjs +1 -1
- package/dist/react/index.cjs +3 -3
- package/dist/react/index.d.mts +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.mjs +1 -1
- package/dist/reveal/index.cjs +1 -1
- package/dist/reveal/index.mjs +1 -1
- package/dist/scrollreveal/index.cjs +2 -2
- package/dist/scrollreveal/index.mjs +1 -1
- package/dist/scrollreveal/react/index.cjs +2 -2
- package/dist/scrollreveal/react/index.mjs +1 -1
- package/dist/snap/index.mjs +1 -1
- package/dist/solid/index.cjs +2 -2
- package/dist/solid/index.d.mts +1 -1
- package/dist/solid/index.d.ts +1 -1
- package/dist/solid/index.mjs +1 -1
- package/dist/svelte/index.cjs +3 -3
- package/dist/svelte/index.d.mts +1 -1
- package/dist/svelte/index.d.ts +1 -1
- package/dist/svelte/index.mjs +1 -1
- package/dist/text/index.cjs +1 -1
- package/dist/text/index.mjs +1 -1
- package/dist/timeline/index.mjs +1 -1
- package/dist/video/index.cjs +1 -1
- package/dist/video/index.mjs +1 -1
- package/dist/vivus/index.cjs +2 -2
- package/dist/vivus/index.d.mts +3 -0
- package/dist/vivus/index.d.ts +3 -0
- package/dist/vivus/index.mjs +1 -1
- package/dist/vivus/react/index.cjs +2 -2
- package/dist/vivus/react/index.mjs +1 -1
- package/dist/vue/index.cjs +3 -3
- package/dist/vue/index.d.mts +1 -1
- package/dist/vue/index.d.ts +1 -1
- package/dist/vue/index.mjs +1 -1
- package/dist/web-component/index.cjs +3 -3
- package/dist/web-component/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-426RAN5I.mjs +0 -1
- package/dist/chunk-4T5R3ZTL.mjs +0 -2
- package/dist/chunk-7SBTYJGH.mjs +0 -1
- package/dist/chunk-BFX2CSQ3.mjs +0 -1
- package/dist/chunk-ENACACPZ.mjs +0 -3
- package/dist/chunk-KGAJQP2N.mjs +0 -2
- package/dist/chunk-KHQ7OGQK.mjs +0 -1
- package/dist/chunk-OMI46IXL.mjs +0 -2
- package/dist/chunk-WQZKXAXK.mjs +0 -2
package/dist/astro/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
'use strict';function
|
|
2
|
-
<div style="position:absolute;${
|
|
3
|
-
<div style="position:absolute;${c?`left:${m}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${m}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(t),window.addEventListener("scroll",s,{passive:true}),s(),{el:t,destroy(){window.removeEventListener("scroll",s),t.remove();}}}var zt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Vt=/[MmLlHhVvCcSsQqTtAaZz]/g;function yr(e,r,n){if(!Xe)return;let t=(e.match(Vt)??[]).join("").toUpperCase(),s=(r.match(Vt)??[]).join("").toUpperCase(),i=(e.match(zt)??[]).length,l=(r.match(zt)??[]).length;if(t!==s){ee(`morphTo: command sequence differs (${t||"\u2205"} \u2192 ${s||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,n);return}i!==l&&ee(`morphTo: coordinate count differs (${i} \u2192 ${l}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,n);}function ht(e,r,n){let t=(r.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),s=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,i=>{let l=parseFloat(i),m=t[s++]??l;return String(+(l+(m-l)*n).toFixed(4))})}function lt(e,r={}){if(typeof window>"u")return {destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};let{preset:n,...t}=r,s=n?{...It[n],...t}:t,i=window.matchMedia("(prefers-reduced-motion: reduce)").matches,{selector:l="path, polyline, line, polygon, rect, circle",speed:m=1,fade:c=false,easing:p="linear",trigger:w={},stagger:D=0,direction:T="forward",once:me=false,debug:He=false,axis:Y="y",scrollContainer:Le,autoReverse:N=false,delay:te=0,strokeColor:le,strokeWidth:L,fillOpacity:_,waypoints:k,velocityScale:C=false,threshold:q=0,rootMargin:x="0px",repeat:S=0,repeatDelay:fe=0,morphTo:I,clip:ce,autoplay:xe=false,duration:$e=1e3,native:Me=true,onProgress:re,onStart:z,onComplete:f,onEnter:P,onLeave:v,onEnterBack:$,onLeaveBack:pe}=s,J=ce===true?"left":typeof ce=="string"?ce:false,ve=typeof p=="function"?p:be[p]??be.linear,Ce=Te(w.start??"top bottom"),We=Te(w.end??"bottom top"),de=typeof Le=="string"?document.querySelector(Le):Le??null,we=Array.isArray(le)?le[0]:null,ne=Array.isArray(le)?le[1]:typeof le=="string"?le:null,B=Array.isArray(L)?L[0]:null,Q=Array.isArray(L)?L[1]:typeof L=="number"?L:null,Z=Array.isArray(_)?_[0]:null,G=Array.isArray(_)?_[1]:typeof _=="number"?_:null;function ke(o){let a=o*100;switch(J){case "right":return `inset(0 0 0 ${100-a}%)`;case "top":return `inset(0 0 ${100-a}% 0)`;case "bottom":return `inset(${100-a}% 0 0 0)`;case "center":return `circle(${o*150}% at 50% 50%)`;default:return `inset(0 ${100-a}% 0 0)`}}let O=J?[]:Array.from(e.querySelectorAll(l)),M=[],oe=[],X=0,ge=0,u=D,y=0,R=false,H=false,E=0,se=false,ue=-1,Ie=[],K=-1,V=false,ye=0,Oe=0,Ne,mt=null;function vt(){mt?.destroy(),mt=null;}let _e=new Set,Et=NaN,ze=true,Ke=-1,St=performance.now(),qe=NaN;function Ue(){return de?Y==="x"?de.scrollLeft:de.scrollTop:Y==="x"?window.scrollX:window.scrollY}function Tt(){return de?Y==="x"?de.clientWidth:de.clientHeight:Y==="x"?window.innerWidth:window.innerHeight}function xt(){let o=ot(e,de,Y);return De(o,o.scroll,Tt(),Ce,We)}function Kt(){let o=ge-X,a=O.length-1,g=de??document.documentElement,j=Y==="x"?"Width":"Height";if(u=D,D>0&&a>0&&o>0){let Ee=g[`scroll${j}`]-g[`client${j}`]-1-X-o/m;Ee>=0&&(u=Math.min(D,Ee/(a*o)));}y=ge+a*u*o;}function Mt(){(({tStart:X,tEnd:ge}=xt())),Kt(),He&&Xe&&(vt(),mt=gr(X,ge,Y));}function ft(o,a=xt){Re(e,{type:"draw",getProgress:()=>o.getProgress(),getTrigger:a});let g=o.destroy;return o.destroy=()=>{g.call(o),Fe(e);},o}function er(o,a){if(e.style.setProperty("--scroll-draw-progress",String(o)),J){let g=a==="reverse"?1-o:o;e.style.clipPath=ke(g);return}O.forEach((g,j)=>{g.style.strokeDashoffset=a==="reverse"?`${M[j]*o}`:`${M[j]*(1-o)}`,c&&(g.style.opacity=a==="reverse"?`${1-o}`:`${o}`),we&&ne?g.style.stroke=je(we,ne,o):ne&&(g.style.stroke=ne),B!==null&&Q!==null?g.style.strokeWidth=`${B+(Q-B)*o}`:Q!==null&&(g.style.strokeWidth=`${Q}`),Z!==null&&G!==null?g.style.fillOpacity=`${Z+(G-Z)*o}`:G!==null&&(g.style.fillOpacity=`${G}`),I&&g.tagName.toLowerCase()==="path"&&oe[j]&&g.setAttribute("d",ht(oe[j],I,o));});}function et(){if(e.style.setProperty("--scroll-draw-progress","0"),J){e.style.clipPath=ke(0);return}O.forEach((o,a)=>{o.style.strokeDasharray=`${M[a]}`,o.style.strokeDashoffset=T==="reverse"?"0":`${M[a]}`,c?o.style.opacity=T==="reverse"?"1":"0":o.style.opacity="",we&&(o.style.stroke=we),B!==null&&(o.style.strokeWidth=`${B}`),Z!==null&&(o.style.fillOpacity=`${Z}`),I&&o.tagName.toLowerCase()==="path"&&oe[a]&&o.setAttribute("d",oe[a]);});}if(O.forEach(o=>{dr(o);let a=Ge(o);M.push(a);let g=o.tagName.toLowerCase()==="path";g?oe.push(o.getAttribute("d")??""):oe.push(""),I&&(g?yr(oe[oe.length-1],I,o):ee(`morphTo only applies to <path> elements \u2014 ignored on <${o.tagName}>.`,o)),i?(o.style.strokeDasharray=`${a}`,o.style.strokeDashoffset=T==="reverse"?`${a}`:"0",c&&(o.style.opacity="1"),ne&&(o.style.stroke=ne),Q!==null&&(o.style.strokeWidth=`${Q}`),G!==null&&(o.style.fillOpacity=`${G}`),I&&o.tagName.toLowerCase()==="path"&&o.setAttribute("d",I)):(o.style.strokeDasharray=`${a}`,o.style.strokeDashoffset=T==="reverse"?"0":`${a}`,c?o.style.opacity=T==="reverse"?"1":"0":o.style.opacity="",we&&(o.style.stroke=we),B!==null&&(o.style.strokeWidth=`${B}`),Z!==null&&(o.style.fillOpacity=`${Z}`));}),J){if(i)return e.style.clipPath=ke(1),f?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};e.style.clipPath=ke(0);}else if(i)return f?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};let At=typeof p=="string"?st(p):null;function tr(){return !(Me===false||!pr()||!O.length||!At||J||Y!=="y"||de||m!==1||D!==0||me||N||C!==false||I||k||S||te>0||re||z||f||P||v||$||pe||le!=null||L!=null||_!=null||(w.start??"top bottom").trim()!=="top bottom"||(w.end??"bottom top").trim()!=="bottom top")}function rr(){let o=++fr,a=`svg-scroll-draw-${o}`,g=`svg-scroll-draw-host-${o}`,j=`--svg-scroll-draw-${o}`,Ee=T==="reverse"?"0":"var(--ssd-len)",Pe=T==="reverse"?"var(--ssd-len)":"0",Ae=`stroke-dashoffset:${Ee};`,b=`stroke-dashoffset:${Pe};`;c&&(Ae+=`opacity:${T==="reverse"?1:0};`,b+=`opacity:${T==="reverse"?0:1};`);let A=document.createElement("style");A.setAttribute("data-svg-scroll-draw",""),A.textContent=`@keyframes ${a}{from{${Ae}}to{${b}}}.${g}{view-timeline-name:${j};view-timeline-axis:block;}.${a}{animation-name:${a};animation-duration:auto;animation-timing-function:${At};animation-fill-mode:both;animation-timeline:${j};animation-range:cover 0% cover 100%;}`,document.head.appendChild(A),e.classList.add(g);function ie(d,U){d.style.setProperty("--ssd-len",String(M[U])),d.style.strokeDasharray=`${M[U]}`,d.style.strokeDashoffset="",d.style.opacity="",d.style.animationPlayState="",d.classList.add(a);}O.forEach(ie);let h=false,F=-1;function W(){if(F>=0)return F;let d=e.getBoundingClientRect(),{tStart:U,tEnd:Se}=De({top:d.top,height:d.height},Ue(),Tt(),Ce,We);return ve(ae(Ue(),U,Se,m))}return {destroy(){e.classList.remove(g),O.forEach(d=>{d.classList.remove(a),d.style.removeProperty("--ssd-len"),d.style.animationPlayState="";}),A.remove();},replay(){h=false,F=-1,O.forEach(ie);},pause(){h=true,O.forEach(d=>{d.style.animationPlayState="paused";});},resume(){h&&(h=false,O.forEach(d=>{d.style.animationPlayState="running";}));},seek(d){let U=Math.min(1,Math.max(0,d));F=U,h=true,O.forEach((Se,he)=>{Se.classList.remove(a),Se.style.strokeDashoffset=T==="reverse"?`${M[he]*U}`:`${M[he]*(1-U)}`,c&&(Se.style.opacity=T==="reverse"?`${1-U}`:`${U}`);});},getProgress(){return W()},refresh(){O.forEach((d,U)=>{M[U]=Ge(d),d.style.setProperty("--ssd-len",String(M[U])),d.style.strokeDasharray=`${M[U]}`;});}}}if(tr())return ft(rr());function nr(){let o=Math.max(1,$e),a=0,g=0,j=false;function Ee(h){let F=true;if(J){let W=Math.min(1,Math.max(0,h/o)),d=ve(W);ye=d,e.style.setProperty("--scroll-draw-progress",String(d)),e.style.clipPath=ke(T==="reverse"?1-d:d),re?.(d),W<1&&(F=false);}else O.forEach((W,d)=>{let U=d*D*o,Se=Math.min(1,Math.max(0,(h-U)/o)),he=ve(Se);W.style.strokeDashoffset=T==="reverse"?`${M[d]*he}`:`${M[d]*(1-he)}`,c&&(W.style.opacity=T==="reverse"?`${1-he}`:`${he}`),we&&ne?W.style.stroke=je(we,ne,he):ne&&(W.style.stroke=ne),B!==null&&Q!==null?W.style.strokeWidth=`${B+(Q-B)*he}`:Q!==null&&(W.style.strokeWidth=`${Q}`),Z!==null&&G!==null?W.style.fillOpacity=`${Z+(G-Z)*he}`:G!==null&&(W.style.fillOpacity=`${G}`),I&&W.tagName.toLowerCase()==="path"&&oe[d]&&W.setAttribute("d",ht(oe[d],I,he)),d===0&&(ye=he,re?.(he),e.style.setProperty("--scroll-draw-progress",String(he))),Se<1&&(F=false);});if(k){let W=Math.min(1,Math.max(0,h/o)),d=ve(W);for(let U in k){let Se=parseFloat(U);d>=Se&&!_e.has(Se)&&(_e.add(Se),k[U]?.());}}return F}function Pe(h){if(V)return;let F=h-a;H||(H=true,z?.());let W=Ee(F);if(W&&!R){R=true,Ee(o*(1+Math.max(0,O.length-1)*D)),f?.(),Oe<(S==="infinite"?1/0:S??0)&&(Oe++,Ne=setTimeout(()=>{a=performance.now(),H=false,R=false,_e.clear(),et(),E=requestAnimationFrame(Pe);},fe));return}W||(E=requestAnimationFrame(Pe));}function Ae(){cancelAnimationFrame(E),clearTimeout(Ne),a=performance.now(),g=0,V=false,H=false,R=false,Oe=0,j=true,ye=0,_e.clear(),et(),E=requestAnimationFrame(Pe);}let b=new IntersectionObserver(h=>{h.forEach(F=>{F.isIntersecting&&!(me&&R)?Ae():!F.isIntersecting&&!me&&!R&&(cancelAnimationFrame(E),clearTimeout(Ne),j=false);});},{root:de??null,threshold:q,rootMargin:x}),A;function ie(){clearTimeout(A),A=setTimeout(()=>{O.forEach((h,F)=>{M[F]=Ge(h),h.style.strokeDasharray=`${M[F]}`;});},150);}return window.addEventListener("resize",ie),window.addEventListener("orientationchange",ie),te>0?setTimeout(()=>b.observe(e),te):b.observe(e),{destroy(){cancelAnimationFrame(E),clearTimeout(Ne),b.disconnect(),window.removeEventListener("resize",ie),window.removeEventListener("orientationchange",ie),clearTimeout(A);},replay(){Oe=0,Ae();},pause(){V||!j||(V=true,g=performance.now()-a,cancelAnimationFrame(E));},resume(){V&&(V=false,j=true,a=performance.now()-g,E=requestAnimationFrame(Pe));},seek(h){let F=Math.min(1,Math.max(0,h));ye=F,V=true,g=F*o,a=performance.now()-g,cancelAnimationFrame(E),Ee(g);},getProgress(){return ye},refresh(){clearTimeout(A),O.forEach((h,F)=>{M[F]=Ge(h),h.style.strokeDasharray=`${M[F]}`;});}}}if(xe)return ft(nr());Mt();function Lt(){if(V||!Be)return;let o=performance.now(),a=Ue();if(!ze&&C===false&&a===Et){dt(a);return}ze=false,Et=a;let g=m;if(C!==false){let b=o-St,A=b>0?Math.abs(a-(Ke<0?a:Ke))/b:0;g=m*Math.max(.2,1+A*(typeof C=="number"?C:1)*.04);}Ke=a,St=o;let j=N?K===-1||a>=K?"forward":"reverse":T;K=a;let Ee=ge-X,Pe=true,Ae=Ee===0?0:(a-X)/Ee;if(isNaN(qe)||(qe<=0&&Ae>0?P?.():qe>0&&Ae<=0&&pe?.(),qe<1&&Ae>=1?v?.():qe>=1&&Ae<1&&$?.()),qe=Ae,J){let b=ve(ae(a,X,ge,g));me&&!N&&(ue=Math.max(ue,b),b=ue),ye=b,e.style.setProperty("--scroll-draw-progress",String(b));let A=j==="reverse"?1-b:b;e.style.clipPath=ke(A),re?.(b),!H&&ae(a,X,ge,g)>0&&(H=true,z?.()),b>=1&&!R?(R=true,f?.(),Oe<(S==="infinite"?1/0:S??0)&&(Oe++,Ne=setTimeout(()=>{ue=-1,H=false,R=false,e.style.clipPath=ke(0);},fe))):b<1&&!me&&(R=false),dt(a);return}if(O.forEach((b,A)=>{let ie=A*u*Ee,h=ve(ae(a,X+ie,ge+ie,g));me&&!N&&(h=Ie[A]=Math.max(Ie[A]??ue,h)),b.style.strokeDashoffset=j==="reverse"?`${M[A]*h}`:`${M[A]*(1-h)}`,c&&(b.style.opacity=j==="reverse"?`${1-h}`:`${h}`),we&&ne?b.style.stroke=je(we,ne,h):ne&&(b.style.stroke=ne),B!==null&&Q!==null?b.style.strokeWidth=`${B+(Q-B)*h}`:Q!==null&&(b.style.strokeWidth=`${Q}`),Z!==null&&G!==null?b.style.fillOpacity=`${Z+(G-Z)*h}`:G!==null&&(b.style.fillOpacity=`${G}`),I&&b.tagName.toLowerCase()==="path"&&oe[A]&&b.setAttribute("d",ht(oe[A],I,h)),A===0&&(ye=h,re?.(h),e.style.setProperty("--scroll-draw-progress",String(h))),h<1&&(Pe=false);}),k){let b=ve(ae(a,X,ge,g));for(let A in k){let ie=parseFloat(A);b>=ie&&!_e.has(ie)&&(_e.add(ie),k[A]?.());}}!H&&ae(a,X,ge,g)>0&&(H=true,z?.()),Pe&&!R?(R=true,f?.(),Oe<(S==="infinite"?1/0:S??0)&&(Oe++,Ne=setTimeout(()=>{ue=-1,Ie=[],H=false,R=false,_e.clear(),et(),ze=true;},fe))):!Pe&&!me&&(R=false),dt(a);}function pt(o){return o>=ge&&o<y}function dt(o){se||pt(o)?E=requestAnimationFrame(Lt):Be=false;}function gt(){return se||pt(Ue())}let Be=false;function tt(){Be||(Be=true,E=requestAnimationFrame(function(){Lt();}));}function rt(){Be=false,cancelAnimationFrame(E);}let yt=new IntersectionObserver(o=>{o.forEach(a=>{se=a.isIntersecting,se&&!V?(ze=true,tt()):Be&&!V&&pt(Ue())||rt();});},{root:de??null,threshold:q,rootMargin:x});function $t(){O.forEach((o,a)=>{M[a]=Ge(o),o.style.strokeDasharray=`${M[a]}`;}),Mt(),ze=true;}let nt;function Ye(){clearTimeout(nt),nt=setTimeout($t,150);}window.addEventListener("resize",Ye),window.addEventListener("orientationchange",Ye);let or=Ve([e],Ye);return te>0?setTimeout(()=>yt.observe(e),te):yt.observe(e),ft({destroy(){cancelAnimationFrame(E),clearTimeout(Ne),rt(),yt.disconnect(),or(),window.removeEventListener("resize",Ye),window.removeEventListener("orientationchange",Ye),clearTimeout(nt),vt();},replay(){ue=-1,Ie=[],K=-1,Ke=-1,H=false,R=false,Oe=0,V=false,ye=0,_e.clear(),clearTimeout(Ne),et(),ze=true,gt()&&tt();},pause(){V=true,rt();},resume(){V&&(V=false,ze=true,gt()&&tt());},seek(o){let a=Math.min(1,Math.max(0,o));ye=a,ue=a,Ie=[],V=true,rt(),er(a,T),ze=true;},getProgress(){return ye},refresh(){clearTimeout(nt),$t(),gt()&&!V&&tt();}},()=>({tStart:X,tEnd:ge}))}function hr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Wt(e){let r=[],n=/([\w]+)\(([^)]*)\)/g,t;for(;(t=n.exec(e))!==null;){let s=[],i=[],l=t[2].trim();if(l)for(let m of l.split(/[\s,]+/)){let c=m.match(/^([-+]?[\d.eE]+)(.*)$/);s.push(c?parseFloat(c[1]):0),i.push(c?c[2]:"");}r.push({fn:t[1],nums:s,units:i});}return r}function br(e,r,n){let t=Wt(e),s=Wt(r);return t.length===0||t.length!==s.length?n<1?e:r:t.map((i,l)=>{let m=s[l];return i.fn!==m.fn||i.nums.length!==m.nums.length?n<1?`${i.fn}(${i.nums.map((c,p)=>`${c}${i.units[p]}`).join(", ")})`:`${m.fn}(${m.nums.map((c,p)=>`${c}${m.units[p]}`).join(", ")})`:`${i.fn}(${i.nums.map((c,p)=>`${c+(m.nums[p]-c)*n}${i.units[p]}`).join(", ")})`}).join(" ")}function qt(e,r,n){if(typeof e=="number"&&typeof r=="number")return String(e+(r-e)*n);let t=String(e),s=String(r);if(hr(t))return je(t,s,n);if(t.includes("("))return br(t,s,n);let i=t.match(/^([-+]?[\d.]+)(.*)$/),l=s.match(/^([-+]?[\d.]+)(.*)$/);if(i&&l){let m=parseFloat(i[1]),c=parseFloat(l[1]);return `${m+(c-m)*n}${i[2]||l[2]}`}return n<1?t:s}function wr(e){return e.replace(/([A-Z])/g,r=>`-${r.toLowerCase()}`)}var vr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Er=0,Bt="--scroll-draw-progress";function Sr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}function Gt(e,r){let n={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return n;let{props:t,trigger:s={},easing:i="ease-out",speed:l=1,once:m=false,axis:c="y",scrollContainer:p,native:w=true,velocityScale:D=false,respectReducedMotion:T=true,triggerElement:me,onProgress:He,onComplete:Y,onEnter:Le,onLeave:N,onEnterBack:te,onLeaveBack:le}=r,L=T&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,_=typeof i=="function"?i:be[i]??be["ease-out"],k=Te(s.start??"top bottom"),C=Te(s.end??"bottom top"),q=me??e,x=typeof p=="string"?document.querySelector(p):p??null,S=Object.entries(t).map(([u,y])=>({prop:wr(u),from:Array.isArray(y)?y[0]:"",to:Array.isArray(y)?y[1]:y}));function fe(){let u=window.getComputedStyle(e);for(let y of S)y.from===""&&(y.from=u.getPropertyValue(y.prop).trim()||"0");}function I(){for(let u of S)e.style.setProperty(u.prop,String(u.to));}let ce=new Map;for(let u of [...S.map(y=>y.prop),Bt])ce.set(u,e.style.getPropertyValue(u));function xe(){for(let[u,y]of ce)y?e.style.setProperty(u,y):e.style.removeProperty(u);}if(L)return I(),Y?.(),{...n,destroy:xe,getProgress:()=>1};fe();let $e=typeof i=="string"?st(i):null;function Me(){if(!w||!Sr()||!$e||c!=="y"||x||q!==e||m||l!==1||He||Y||Le||N||te||le||D!==false||(s.start??"top bottom").trim()!=="top bottom"||(s.end??"bottom top").trim()!=="bottom top")return false;for(let u of S)if(!vr.has(u.prop))return false;return true}function re(){let u=`ssd-a-${++Er}`,y=S.map(K=>`${K.prop}:${K.from}`).join(";"),R=S.map(K=>`${K.prop}:${K.to}`).join(";"),H=document.createElement("style");H.setAttribute("data-ssd-animate",""),H.textContent=`@keyframes ${u}{from{${y}}to{${R}}}.${u}{animation-name:${u};animation-duration:auto;animation-timing-function:${$e};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(H),e.classList.add(u);let E=()=>c==="x"?window.scrollX:window.scrollY,se=()=>c==="x"?window.innerWidth:window.innerHeight,ue=()=>{let K=e.getBoundingClientRect();return De({top:K.top,height:K.height},E(),se(),k,C)};Re(e,{type:"animate",getProgress:()=>Ie.getProgress(),getTrigger:ue});let Ie={refresh(){},destroy(){e.classList.remove(u),H.remove(),e.style.animationPlayState="",xe(),Fe(e);},replay(){e.classList.remove(u),e.offsetWidth,e.classList.add(u);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(K){let V=Math.min(1,Math.max(0,K));e.classList.remove(u);for(let ye of S)e.style.setProperty(ye.prop,qt(ye.from,ye.to,V));},getProgress(){let{tStart:K,tEnd:V}=ue();return _(ae(E(),K,V,l))}};return Ie}if(Me())return re();let z=0,f=0,P=0,v=false,$=false,pe=-1,J=0,ve=false,Ce=NaN,We=-1,de=0,we=()=>x?c==="x"?x.scrollLeft:x.scrollTop:c==="x"?window.scrollX:window.scrollY,ne=()=>x?c==="x"?x.clientWidth:x.clientHeight:c==="x"?window.innerWidth:window.innerHeight,B=q===e?S:[],Q=false;function Z(){let u=e.style,y=B.map(se=>u.getPropertyValue(se.prop)),R=u.transition;B.length&&(u.transition="none"),B.forEach(se=>u.setProperty(se.prop,ce.get(se.prop)??""));let H=ot(q,x,c);B.forEach((se,ue)=>u.setProperty(se.prop,y[ue])),B.length&&(e.offsetWidth,u.transition=R);let E=De(H,H.scroll,ne(),k,C);Q&&Math.abs(E.tStart-z)<1&&Math.abs(E.tEnd-f)<1||(Q=true,z=E.tStart,f=E.tEnd);}function G(u){e.style.setProperty(Bt,String(u));for(let y of S)e.style.setProperty(y.prop,qt(y.from,y.to,u));He?.(u);}function ke(u){if(isNaN(Ce)){Ce=u;return}Ce<=0&&u>0?Le?.():Ce>0&&u<=0&&le?.(),Ce<1&&u>=1?N?.():Ce>=1&&u<1&&te?.(),Ce=u;}function O(){if(!v||$)return;let u=performance.now(),y=we(),R=l;if(D!==false){let se=u-de,ue=se>0?Math.abs(y-(We<0?y:We))/se:0;R=l*Math.max(.2,1+ue*(typeof D=="number"?D:1)*.04);}We=y,de=u;let H=f===z?0:(y-z)/(f-z);ke(H);let E=_(ae(y,z,f,R));m&&(pe=Math.max(pe,E),E=pe),J=E,G(E),E>=1&&!ve?(ve=true,Y?.()):E<1&&!m&&(ve=false),P=requestAnimationFrame(O);}Z(),f===z&&ee("scrollAnimate: the trigger window has zero length (start and end resolve to the same scroll position), so this element will never animate. If the target is inside a position:sticky stage, measure the trigger from the container that holds the scroll room via `triggerElement`.",e);{let u=_(ae(we(),z,f,l));m&&u>0&&(pe=u),J=u,G(u);}let M=new IntersectionObserver(u=>{u.forEach(y=>{v=y.isIntersecting,v&&!$?P=requestAnimationFrame(O):cancelAnimationFrame(P);});},{root:x??null}),oe;function X(){clearTimeout(oe),oe=setTimeout(Z,150);}window.addEventListener("resize",X),window.addEventListener("orientationchange",X);let ge=Ve([q],X);return M.observe(e),Re(e,{type:"animate",getProgress:()=>J,getTrigger:()=>({tStart:z,tEnd:f})}),{destroy(){cancelAnimationFrame(P),M.disconnect(),window.removeEventListener("resize",X),window.removeEventListener("orientationchange",X),ge(),clearTimeout(oe),xe(),Fe(e);},replay(){pe=-1,ve=false,J=0,$=false,G(0);},pause(){$=true,cancelAnimationFrame(P);},resume(){$&&($=false,v&&(P=requestAnimationFrame(O)));},seek(u){let y=Math.min(1,Math.max(0,u));J=y,pe=y,$=true,cancelAnimationFrame(P),G(y);},getProgress(){return J},refresh(){Z();}}}var bt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function jt(e,r){if(typeof window>"u")return bt;let n=typeof e=="string"?document.querySelector(e):e;if(!n)return ee("scrollCounter: element not found:",e),bt;let t=n,{from:s=0,to:i,format:l,easing:m="ease-out",trigger:c={},once:p=true,decimals:w,onComplete:D}=r,T=w!==void 0?f=>f.toFixed(w):l??(f=>String(Math.round(f))),me=typeof m=="function"?m:be[m]??be["ease-out"],He=Te(c.start??"top 80%"),Y=Te(c.end??"top 20%");if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t.textContent=T(i),D?.(),bt;let N=0,te=0,le=false,L=0,_=false,k=false,C=-1,q=0,x=false,S=()=>window.scrollY,fe=()=>window.innerHeight;function I(){let f=t.getBoundingClientRect(),P=De({top:f.top,height:f.height},S(),fe(),He,Y);le&&Math.abs(P.tStart-N)<1&&Math.abs(P.tEnd-te)<1||(le=true,N=P.tStart,te=P.tEnd);}function ce(f){t.textContent=T(s+(i-s)*f),t.style.setProperty("--scroll-draw-progress",String(f));}function xe(){if(!_||k)return;let f=me(ae(S(),N,te,1));p&&(C=Math.max(C,f),f=C),q=f,ce(f),f>=1&&!x?(x=true,D?.()):f<1&&!p&&(x=false),L=requestAnimationFrame(xe);}I();{let f=me(ae(S(),N,te,1));p&&f>0&&(C=f),q=f,ce(f);}let $e=new IntersectionObserver(f=>{f.forEach(P=>{_=P.isIntersecting,_&&!k?L=requestAnimationFrame(xe):cancelAnimationFrame(L);});}),Me;function re(){clearTimeout(Me),Me=setTimeout(I,150);}window.addEventListener("resize",re),window.addEventListener("orientationchange",re);let z=Ve([t],re);return $e.observe(t),Re(t,{type:"counter",getProgress:()=>q,getTrigger:()=>({tStart:N,tEnd:te})}),{destroy(){cancelAnimationFrame(L),$e.disconnect(),window.removeEventListener("resize",re),window.removeEventListener("orientationchange",re),z(),clearTimeout(Me),Fe(t);},replay(){C=-1,x=false,q=0,k=false,ce(0);},pause(){k=true,cancelAnimationFrame(L);},resume(){k&&(k=false,_&&(L=requestAnimationFrame(xe)));},seek(f){let P=Math.min(1,Math.max(0,f));q=P,C=P,k=true,cancelAnimationFrame(L),ce(P);},getProgress(){return q}}}function Ut(e,r){let n=document.createElement("span");n.textContent=r,n.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(n);}function Jt(e){let r=e.textContent??"";return e.textContent="",r.split(/(\s+)/).filter(Boolean).map(n=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),/^\s+$/.test(n)?(t.textContent=n,t.style.whiteSpace="pre"):(t.textContent=n,t.style.display="inline-block"),e.appendChild(t),/^\s+$/.test(n)?null:t}).filter(n=>n!==null)}function Tr(e){let r=e.textContent??"";return e.textContent="",r.split("").map(n=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=n,n===" "?t.style.whiteSpace="pre":t.style.display="inline-block",e.appendChild(t),n===" "?null:t}).filter(n=>n!==null)}function Yt(e){let r=Jt(e),n=new Map;for(let i of r){let l=i.offsetTop;n.has(l)||n.set(l,[]),n.get(l).push(i);}let t=[],s=Array.from(n.keys()).sort((i,l)=>i-l);for(let i of s){let l=n.get(i),m=document.createElement("span");m.setAttribute("aria-hidden","true"),m.style.display="inline-block",l.forEach((c,p)=>{let w=c.nextElementSibling;m.appendChild(c),p<l.length-1&&w&&w.style.whiteSpace==="pre"&&m.appendChild(w);}),t.push(m);}return e.textContent="",t.forEach((i,l)=>{e.appendChild(i),l<t.length-1&&e.appendChild(document.createTextNode(" "));}),t}function xr(e,r,n,t){if(n<=1||t===0)return e;let s=(n-1)*t,i=r*t,l=i+(1-s);return l<=i?e>=i?1:0:Math.min(1,Math.max(0,(e-i)/(l-i)))}function Mr(e,r){let n=[];if(r?.y!==void 0&&n.push(`translateY(${r.y*(1-e)}px)`),r?.x!==void 0&&n.push(`translateX(${r.x*(1-e)}px)`),r?.rotate!==void 0&&n.push(`rotate(${r.rotate*(1-e)}deg)`),r?.scale!==void 0){let t=r.scale+(1-r.scale)*e;n.push(`scale(${t})`);}return n.join(" ")||""}var Xt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Qt(e,r={}){if(typeof window>"u")return Xt;let n=typeof e=="string"?document.querySelector(e):e;if(!n)return ee("scrollText: element not found:",e),Xt;let t=n,{split:s="words",stagger:i=.04,easing:l="ease-out",from:m={opacity:0,y:24},trigger:c={},once:p=true,onComplete:w}=r,D=window.matchMedia("(prefers-reduced-motion: reduce)").matches,T=typeof l=="function"?l:be[l]??be["ease-out"],me=Te(c.start??"top 85%"),He=Te(c.end??"top 40%"),Y=t.innerHTML,Le=t.textContent??"",N;s==="chars"?N=Tr(t):s==="lines"?N=Yt(t):N=Jt(t),Ut(t,Le);let te=N.length;function le(v,$){m?.opacity!==void 0&&(v.style.opacity=String(m.opacity+(1-m.opacity)*$));let pe=Mr($,m);pe&&(v.style.transform=pe);}function L(v){t.style.setProperty("--scroll-draw-progress",String(v)),N.forEach(($,pe)=>{let J=T(xr(v,pe,te,i));le($,J);});}if(D)return L(1),w?.(),{destroy(){t.innerHTML=Y;},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};L(0);let _=0,k=0,C=0,q=false,x=false,S=-1,fe=0,I=false,ce=()=>window.scrollY,xe=()=>window.innerHeight;function $e(){let v=t.getBoundingClientRect(),$=De({top:v.top,height:v.height},ce(),xe(),me,He);_=$.tStart,k=$.tEnd;}function Me(){if(!q||x)return;let v=ae(ce(),_,k,1);p&&(S=Math.max(S,v),v=S),fe=v,L(v),v>=1&&!I?(I=true,w?.()):v<1&&!p&&(I=false),C=requestAnimationFrame(Me);}$e();let re=new IntersectionObserver(v=>{v.forEach($=>{q=$.isIntersecting,q&&!x?C=requestAnimationFrame(Me):cancelAnimationFrame(C);});}),z;function f(){clearTimeout(z),z=setTimeout(()=>{if(s==="lines"){let v=fe;t.innerHTML=Y,N=Yt(t),Ut(t,Le),L(v);}$e();},150);}window.addEventListener("resize",f),window.addEventListener("orientationchange",f);let P=Ve([t],f);return re.observe(t),Re(t,{type:"text",getProgress:()=>fe,getTrigger:()=>({tStart:_,tEnd:k})}),{destroy(){cancelAnimationFrame(C),re.disconnect(),window.removeEventListener("resize",f),window.removeEventListener("orientationchange",f),P(),clearTimeout(z),t.innerHTML=Y,Fe(t);},replay(){S=-1,I=false,fe=0,x=false,L(0);},pause(){x=true,cancelAnimationFrame(C);},resume(){x&&(x=false,q&&(C=requestAnimationFrame(Me)));},seek(v){let $=Math.min(1,Math.max(0,v));fe=$,S=$,x=true,cancelAnimationFrame(C),L($);},getProgress(){return fe}}}function Ar(e,r){let n={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return n;let t=typeof e=="string"?document.querySelector(e):e;return t?lt(t,r):(ee("Container not found:",e),n)}function Ze(){return typeof document>"u"?null:document}var wt=new WeakMap,Zt;function ct(e,r,n,t){let s=wt.get(e)??new Map;wt.set(e,s);let i=()=>{let c=n(),p=s.get(r);p&&p.key===c||(p?.inst.destroy(),s.set(r,{inst:t(c),key:c,build:i,users:p?.users??0}));};i(),s.get(r).users++;let l=true;typeof MutationObserver<"u"&&(Zt??(Zt=new MutationObserver(c=>c.forEach(p=>wt.get(p.target)?.forEach(w=>w.build())))),Zt.observe(e,{attributes:true,attributeFilter:["draw","animate","counter","text"].map(c=>`data-scroll-${c}-options`).concat("data-scroll-drawoptions")}));let m=()=>s.get(r)?.inst;return {destroy:()=>{let c=s.get(r);!l||!c||(l=false,!(--c.users>0)&&(c.inst.destroy(),s.delete(r)));},replay:()=>m()?.replay(),pause:()=>m()?.pause(),resume:()=>m()?.resume(),seek:c=>m()?.seek(c),getProgress:()=>m()?.getProgress()??0,refresh:()=>m()?.refresh?.()}}function ut(e,r){try{return e?JSON.parse(e):r}catch{return r}}function Lr(e=Ze()){return e?Array.from(e.querySelectorAll("[data-scroll-draw]")).map(r=>ct(r,"draw",()=>r.dataset.scrollDrawOptions??r.dataset.scrollDrawoptions??"",n=>lt(r,ut(n,{})))):[]}function $r(e=Ze()){return e?Array.from(e.querySelectorAll("[data-scroll-animate]")).map(r=>ct(r,"animate",()=>r.dataset.scrollAnimateOptions??"",n=>Gt(r,ut(n,{props:{}})))):[]}function Cr(e=Ze()){return e?Array.from(e.querySelectorAll("[data-scroll-counter]")).map(r=>ct(r,"counter",()=>r.dataset.scrollCounterOptions??"",n=>{let t=ut(n,{});return !t.to&&t.to!==0&&(ee('initScrollCounter: element missing "to" in options JSON:',r),t.to=0),typeof t.format!="function"&&t.format!==void 0&&(ee('initScrollCounter: "format" must be a function, so it cannot come from JSON; use "decimals":',r),delete t.format),jt(r,t)})):[]}function Pr(e=Ze()){return e?Array.from(e.querySelectorAll("[data-scroll-text]")).map(r=>ct(r,"text",()=>r.dataset.scrollTextOptions??"",n=>Qt(r,ut(n,{})))):[]}function Dn(e=Ze()){return {draw:Lr(e),animate:$r(e),counter:Cr(e),text:Pr(e)}}exports.initAll=Dn;exports.initScrollAnimate=$r;exports.initScrollCounter=Cr;exports.initScrollDraw=Lr;exports.initScrollText=Pr;exports.scrollDraw=Ar;
|
|
1
|
+
'use strict';function cr({bounces:e=3,decay:t=.5}={}){let r=Math.max(1,Math.round(e)),n=Math.max(.01,Math.min(.99,t)),s=Math.sqrt(n),i=0,a=[];for(let d=0;d<r;d++){let E=Math.pow(s,d);a.push(E),i+=E;}let m=[0],u=0;for(let d=0;d<r;d++)u+=a[d]/i,m.push(u);return d=>{if(d<=0)return 0;if(d>=1)return 1;for(let E=0;E<r;E++)if(d<=m[E+1]){let O=(d-m[E])/(m[E+1]-m[E]);if(E===0)return O*(2-O);let x=1-Math.pow(n,E);return x+(1-x)*(2*O-1)*(2*O-1)}return 1}}function ur({amplitude:e=1,period:t=.4}={}){let r=Math.max(1,e),n=Math.max(.1,t),s=r<=1?n/4:n/(2*Math.PI)*Math.asin(1/r);return i=>i<=0?0:i>=1?1:r*Math.pow(2,-10*i)*Math.sin((i-s)*(2*Math.PI)/n)+1}var ue={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:e=>1-Math.cos(e*Math.PI*2.5)*Math.pow(1-e,2.2),bounce:cr(),elastic:ur()};function Pt(e,t,r){return Math.min(r,Math.max(t,e))}function we(e="top bottom"){let t=e.trim();if(/^\d+(\.\d+)?%$/.test(t))return {element:"top",viewport:t};let[r="top",n="bottom"]=t.split(/\s+/).filter(Boolean);return {element:r,viewport:n}}function Dt(e,t,r,n){switch(n){case "top":return e+r;case "center":return e+r+t/2;case "bottom":return e+r+t;default:return e+r}}function kt(e,t){if(/^\d+(\.\d+)?%$/.test(e))return t*(parseFloat(e)/100);switch(e){case "top":return 0;case "center":return t/2;case "bottom":return t;default:return t}}function ne(e,t,r,n){return r===t?0:Pt((e-t)/(r-t)*n,0,1)}function Ce(e,t,r,n,s){let i=Dt(e.top,e.height,t,n.element)-kt(n.viewport,r),a=Dt(e.top,e.height,t,s.element)-kt(s.viewport,r);return {tStart:i,tEnd:a}}function st(e,t,r){let n=e.getBoundingClientRect(),s=r==="x"?n.width:n.height;return t?{top:r==="x"?n.left-t.getBoundingClientRect().left+t.scrollLeft:n.top-t.getBoundingClientRect().top+t.scrollTop,height:s,scroll:0}:{top:r==="x"?n.left:n.top,height:s,scroll:r==="x"?window.scrollX:window.scrollY}}function Be(e){let t=e.tagName.toLowerCase();if(t==="rect"){let r=parseFloat(e.getAttribute("width")??"0"),n=parseFloat(e.getAttribute("height")??"0");return 2*(r+n)}if(t==="circle"){let r=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*r}return e.getTotalLength()}function Ot(e){let t=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(t)return [parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)];let r=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(r)return [parseInt(r[1],16),parseInt(r[2],16),parseInt(r[3],16)];let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return n?[parseInt(n[1]),parseInt(n[2]),parseInt(n[3])]:null}function Ge(e,t,r){let n=Ot(e),s=Ot(t);return !n||!s?e:`rgb(${Math.round(n[0]+(s[0]-n[0])*r)},${Math.round(n[1]+(s[1]-n[1])*r)},${Math.round(n[2]+(s[2]-n[2])*r)})`}var It={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var Xe=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function J(e,...t){Xe&&console.warn(`[svg-scroll-draw] ${e}`,...t);}var mr="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",fr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Rt=33;function pr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function dr(e){let t=[];for(let r=0;r<Rt;r++){let n=r/(Rt-1);t.push(String(Math.round(e(n)*1e5)/1e5));}return `linear(${t.join(",")})`}function it(e){switch(e){case "linear":return "linear";case "ease-in":return mr;case "ease-out":return fr;case "ease-in-out":return pr()?dr(ue["ease-in-out"]):null;default:return null}}var Ft=Symbol.for("svg-scroll-draw.registry");function Ht(){let e=globalThis;return e[Ft]||(e[Ft]=new Map)}function ke(e,t){Ht().set(e,t);}function Oe(e){Ht().delete(e);}var Je,at=new Set,lt=new WeakMap,Ze=new Map,Nt=e=>{let t=e.getBoundingClientRect();return t.width+" "+t.height};function gr(e){let t=new Set;for(let r of e)for(;r&&r!==document.body;r=r.parentElement)for(let n=r;n;n=n.previousElementSibling)t.add(n);return t}function _e(e,t){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let r=()=>t();Je??(Je=new ResizeObserver(s=>{let i=false;for(let{target:a}of s)lt.get(a)!==Nt(a)&&(i=true),lt.set(a,"");i&&at.forEach(a=>a());})),at.add(r);let n=gr(e);return [document.body,document.documentElement].forEach(s=>s&&n.add(s)),n.forEach(s=>{lt.has(s)||lt.set(s,Nt(s)),Ze.set(s,(Ze.get(s)??0)+1),Je.observe(s);}),()=>{at.delete(r)&&(n.forEach(s=>{let i=(Ze.get(s)??1)-1;if(i)return void Ze.set(s,i);Ze.delete(s),Je?.unobserve(s);}),at.size||(Je?.disconnect(),Je=void 0));}}function _t(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let t=window.matchMedia("(prefers-reduced-motion: reduce)"),r=s=>e(!!s.matches);if(typeof t.addEventListener=="function")return t.addEventListener("change",r),()=>t.removeEventListener("change",r);let n=t;return n.addListener?.(r),()=>n.removeListener?.(r)}function ze(e,t){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t(e,true);let r=t(e,false),n=_t(i=>{if(!i)return;n();let a=(r.getProgress?.()??0)>=1;r.destroy(),r=t(a?{...e,onComplete:void 0}:e,true);}),s={};for(let i of Object.keys(r))s[i]=(...a)=>r[i]?.(...a);return s.destroy=()=>{n(),r.destroy();},s}var yr=0;function hr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function zt(e,t){let r="";try{r=getComputedStyle(e).getPropertyValue(t).trim();}catch{}return r||(e.getAttribute(t)??"").trim()}var Vt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function br(e){if(!Xe)return;let t=zt(e,"stroke");if(!t||t==="none"){J("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!Vt.has(r)&&!Vt.has(zt(e,"fill"))&&J("Element has a fill \u2014 it may obscure the stroke animation.",e);}function wr(e,t,r){let n=document.createElement("div");n.setAttribute("data-svg-scroll-draw-debug",""),n.style.cssText="position:fixed;pointer-events:none;z-index:9999;font-family:monospace;font-size:11px;top:0;left:0;right:0;bottom:0;";function s(){let i=r==="x"?window.scrollX:window.scrollY,a=e-i,m=t-i,u=r==="x";n.innerHTML=`
|
|
2
|
+
<div style="position:absolute;${u?`left:${a}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${a}px;left:0;right:0;border-top:2px dashed #22c55e;`}padding:2px 6px;color:#22c55e;background:rgba(0,0,0,.6)">\u25B6 start</div>
|
|
3
|
+
<div style="position:absolute;${u?`left:${m}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${m}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(n),window.addEventListener("scroll",s,{passive:true}),s(),{el:n,destroy(){window.removeEventListener("scroll",s),n.remove();}}}var Wt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,qt=/[MmLlHhVvCcSsQqTtAaZz]/g;function vr(e,t,r){if(!Xe)return;let n=(e.match(qt)??[]).join("").toUpperCase(),s=(t.match(qt)??[]).join("").toUpperCase(),i=(e.match(Wt)??[]).length,a=(t.match(Wt)??[]).length;if(n!==s){J(`morphTo: command sequence differs (${n||"\u2205"} \u2192 ${s||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,r);return}i!==a&&J(`morphTo: coordinate count differs (${i} \u2192 ${a}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function bt(e,t,r){let n=(t.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),s=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,i=>{let a=parseFloat(i),m=n[s++]??a;return String(+(a+(m-a)*r).toFixed(4))})}function ct(e,t={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:ze(t,(r,n)=>Er(e,r,n))}function Er(e,t,r){let{preset:n,...s}=t,i=n?{...It[n],...s}:s,{selector:a="path, polyline, line, polygon, rect, circle",speed:m=1,fade:u=false,easing:d="linear",trigger:E={},stagger:O=0,direction:x="forward",once:Z=false,debug:Me=false,axis:$="y",scrollContainer:ie,autoReverse:pe=false,delay:D=0,strokeColor:z,strokeWidth:I,fillOpacity:M,waypoints:C,velocityScale:S=false,threshold:R=0,rootMargin:me="0px",repeat:j=0,repeatDelay:oe=0,morphTo:F,clip:de,autoplay:ve=false,duration:ge=1e3,native:U=true,onProgress:p,onStart:L,onComplete:b,onEnter:P,onLeave:ae,onEnterBack:Ee,onLeaveBack:Ve}=i,K=de===true?"left":typeof de=="string"?de:false,Se=typeof d=="function"?d:ue[d]??ue.linear,Qe=we(E.start??"top bottom"),je=we(E.end??"bottom top"),fe=typeof ie=="string"?document.querySelector(ie):ie??null,ee=Array.isArray(z)?z[0]:null,Y=Array.isArray(z)?z[1]:typeof z=="string"?z:null,X=Array.isArray(I)?I[0]:null,q=Array.isArray(I)?I[1]:typeof I=="number"?I:null,se=Array.isArray(M)?M[0]:null,Q=Array.isArray(M)?M[1]:typeof M=="number"?M:null;function Le(o){let c=o*100;switch(K){case "right":return `inset(0 0 0 ${100-c}%)`;case "top":return `inset(0 0 ${100-c}% 0)`;case "bottom":return `inset(${100-c}% 0 0 0)`;case "center":return `circle(${o*150}% at 50% 50%)`;default:return `inset(0 ${100-c}% 0 0)`}}let H=K?[]:Array.from(e.querySelectorAll(a)),T=[],le=[],l=0,f=0,Te=O,ye=0,v=false,k=false,V=0,Ie=false,_=-1,Pe=[],Re=-1,te=false,Ae=0,De=0,Fe,ft=null;function Et(){ft?.destroy(),ft=null;}let He=new Set,St=NaN,Ne=true,et=-1,Tt=performance.now(),We=NaN;function Ue(){return fe?$==="x"?fe.scrollLeft:fe.scrollTop:$==="x"?window.scrollX:window.scrollY}function xt(){return fe?$==="x"?fe.clientWidth:fe.clientHeight:$==="x"?window.innerWidth:window.innerHeight}function Mt(){let o=st(e,fe,$);return Ce(o,o.scroll,xt(),Qe,je)}function nr(){let o=f-l,c=H.length-1,y=fe??document.documentElement,B=$==="x"?"Width":"Height";if(Te=O,O>0&&c>0&&o>0){let he=y[`scroll${B}`]-y[`client${B}`]-1-l-o/m;he>=0&&(Te=Math.min(O,he/(c*o)));}ye=f+c*Te*o;}function Lt(){(({tStart:l,tEnd:f}=Mt())),nr(),Me&&Xe&&(Et(),ft=wr(l,f,$));}function pt(o,c=Mt){ke(e,{type:"draw",getProgress:()=>o.getProgress(),getTrigger:c});let y=o.destroy;return o.destroy=()=>{y.call(o),Oe(e);},o}function or(o,c){if(e.style.setProperty("--scroll-draw-progress",String(o)),K){let y=c==="reverse"?1-o:o;e.style.clipPath=Le(y);return}H.forEach((y,B)=>{y.style.strokeDashoffset=c==="reverse"?`${T[B]*o}`:`${T[B]*(1-o)}`,u&&(y.style.opacity=c==="reverse"?`${1-o}`:`${o}`),ee&&Y?y.style.stroke=Ge(ee,Y,o):Y&&(y.style.stroke=Y),X!==null&&q!==null?y.style.strokeWidth=`${X+(q-X)*o}`:q!==null&&(y.style.strokeWidth=`${q}`),se!==null&&Q!==null?y.style.fillOpacity=`${se+(Q-se)*o}`:Q!==null&&(y.style.fillOpacity=`${Q}`),F&&y.tagName.toLowerCase()==="path"&&le[B]&&y.setAttribute("d",bt(le[B],F,o));});}function tt(){if(e.style.setProperty("--scroll-draw-progress","0"),K){e.style.clipPath=Le(0);return}H.forEach((o,c)=>{o.style.strokeDasharray=`${T[c]}`,o.style.strokeDashoffset=x==="reverse"?"0":`${T[c]}`,u?o.style.opacity=x==="reverse"?"1":"0":o.style.opacity="",ee&&(o.style.stroke=ee),X!==null&&(o.style.strokeWidth=`${X}`),se!==null&&(o.style.fillOpacity=`${se}`),F&&o.tagName.toLowerCase()==="path"&&le[c]&&o.setAttribute("d",le[c]);});}if(H.forEach(o=>{br(o);let c=Be(o);T.push(c);let y=o.tagName.toLowerCase()==="path";y?le.push(o.getAttribute("d")??""):le.push(""),F&&(y?vr(le[le.length-1],F,o):J(`morphTo only applies to <path> elements \u2014 ignored on <${o.tagName}>.`,o)),r?(o.style.strokeDasharray=`${c}`,o.style.strokeDashoffset=x==="reverse"?`${c}`:"0",u&&(o.style.opacity="1"),Y&&(o.style.stroke=Y),q!==null&&(o.style.strokeWidth=`${q}`),Q!==null&&(o.style.fillOpacity=`${Q}`),F&&o.tagName.toLowerCase()==="path"&&o.setAttribute("d",F)):(o.style.strokeDasharray=`${c}`,o.style.strokeDashoffset=x==="reverse"?"0":`${c}`,u?o.style.opacity=x==="reverse"?"1":"0":o.style.opacity="",ee&&(o.style.stroke=ee),X!==null&&(o.style.strokeWidth=`${X}`),se!==null&&(o.style.fillOpacity=`${se}`));}),K){if(r)return e.style.clipPath=Le(1),b?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};e.style.clipPath=Le(0);}else if(r)return b?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};let At=typeof d=="string"?it(d):null;function sr(){return !(U===false||!hr()||!H.length||!At||K||$!=="y"||fe||m!==1||O!==0||Z||pe||S!==false||F||C||j||D>0||p||L||b||P||ae||Ee||Ve||z!=null||I!=null||M!=null||(E.start??"top bottom").trim()!=="top bottom"||(E.end??"bottom top").trim()!=="bottom top")}function ir(){let o=++yr,c=`svg-scroll-draw-${o}`,y=`svg-scroll-draw-host-${o}`,B=`--svg-scroll-draw-${o}`,he=x==="reverse"?"0":"var(--ssd-len)",$e=x==="reverse"?"var(--ssd-len)":"0",xe=`stroke-dashoffset:${he};`,w=`stroke-dashoffset:${$e};`;u&&(xe+=`opacity:${x==="reverse"?1:0};`,w+=`opacity:${x==="reverse"?0:1};`);let A=document.createElement("style");A.setAttribute("data-svg-scroll-draw",""),A.textContent=`@keyframes ${c}{from{${xe}}to{${w}}}.${y}{view-timeline-name:${B};view-timeline-axis:block;}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${At};animation-fill-mode:both;animation-timeline:${B};animation-range:cover 0% cover 100%;}`,document.head.appendChild(A),e.classList.add(y);function re(g,G){g.style.setProperty("--ssd-len",String(T[G])),g.style.strokeDasharray=`${T[G]}`,g.style.strokeDashoffset="",g.style.opacity="",g.style.animationPlayState="",g.classList.add(c);}H.forEach(re);let h=false,N=-1;function W(){if(N>=0)return N;let g=e.getBoundingClientRect(),{tStart:G,tEnd:be}=Ce({top:g.top,height:g.height},Ue(),xt(),Qe,je);return Se(ne(Ue(),G,be,m))}return {destroy(){e.classList.remove(y),H.forEach(g=>{g.classList.remove(c),g.style.removeProperty("--ssd-len"),g.style.animationPlayState="";}),A.remove();},replay(){h=false,N=-1,H.forEach(re);},pause(){h=true,H.forEach(g=>{g.style.animationPlayState="paused";});},resume(){h&&(h=false,H.forEach(g=>{g.style.animationPlayState="running";}));},seek(g){let G=Math.min(1,Math.max(0,g));N=G,h=true,H.forEach((be,ce)=>{be.classList.remove(c),be.style.strokeDashoffset=x==="reverse"?`${T[ce]*G}`:`${T[ce]*(1-G)}`,u&&(be.style.opacity=x==="reverse"?`${1-G}`:`${G}`);});},getProgress(){return W()},refresh(){H.forEach((g,G)=>{T[G]=Be(g),g.style.setProperty("--ssd-len",String(T[G])),g.style.strokeDasharray=`${T[G]}`;});}}}if(sr())return pt(ir());function ar(){let o=Math.max(1,ge),c=0,y=0,B=false;function he(h){let N=true;if(K){let W=Math.min(1,Math.max(0,h/o)),g=Se(W);Ae=g,e.style.setProperty("--scroll-draw-progress",String(g)),e.style.clipPath=Le(x==="reverse"?1-g:g),p?.(g),W<1&&(N=false);}else H.forEach((W,g)=>{let G=g*O*o,be=Math.min(1,Math.max(0,(h-G)/o)),ce=Se(be);W.style.strokeDashoffset=x==="reverse"?`${T[g]*ce}`:`${T[g]*(1-ce)}`,u&&(W.style.opacity=x==="reverse"?`${1-ce}`:`${ce}`),ee&&Y?W.style.stroke=Ge(ee,Y,ce):Y&&(W.style.stroke=Y),X!==null&&q!==null?W.style.strokeWidth=`${X+(q-X)*ce}`:q!==null&&(W.style.strokeWidth=`${q}`),se!==null&&Q!==null?W.style.fillOpacity=`${se+(Q-se)*ce}`:Q!==null&&(W.style.fillOpacity=`${Q}`),F&&W.tagName.toLowerCase()==="path"&&le[g]&&W.setAttribute("d",bt(le[g],F,ce)),g===0&&(Ae=ce,p?.(ce),e.style.setProperty("--scroll-draw-progress",String(ce))),be<1&&(N=false);});if(C){let W=Math.min(1,Math.max(0,h/o)),g=Se(W);for(let G in C){let be=parseFloat(G);g>=be&&!He.has(be)&&(He.add(be),C[G]?.());}}return N}function $e(h){if(te)return;let N=h-c;k||(k=true,L?.());let W=he(N);if(W&&!v){v=true,he(o*(1+Math.max(0,H.length-1)*O)),b?.(),De<(j==="infinite"?1/0:j??0)&&(De++,Fe=setTimeout(()=>{c=performance.now(),k=false,v=false,He.clear(),tt(),V=requestAnimationFrame($e);},oe));return}W||(V=requestAnimationFrame($e));}function xe(){cancelAnimationFrame(V),clearTimeout(Fe),c=performance.now(),y=0,te=false,k=false,v=false,De=0,B=true,Ae=0,He.clear(),tt(),V=requestAnimationFrame($e);}let w=new IntersectionObserver(h=>{h.forEach(N=>{N.isIntersecting&&!(Z&&v)?xe():!N.isIntersecting&&!Z&&!v&&(cancelAnimationFrame(V),clearTimeout(Fe),B=false);});},{root:fe??null,threshold:R,rootMargin:me}),A;function re(){clearTimeout(A),A=setTimeout(()=>{H.forEach((h,N)=>{T[N]=Be(h),h.style.strokeDasharray=`${T[N]}`;});},150);}return window.addEventListener("resize",re),window.addEventListener("orientationchange",re),D>0?setTimeout(()=>w.observe(e),D):w.observe(e),{destroy(){cancelAnimationFrame(V),clearTimeout(Fe),w.disconnect(),window.removeEventListener("resize",re),window.removeEventListener("orientationchange",re),clearTimeout(A);},replay(){De=0,xe();},pause(){te||!B||(te=true,y=performance.now()-c,cancelAnimationFrame(V));},resume(){te&&(te=false,B=true,c=performance.now()-y,V=requestAnimationFrame($e));},seek(h){let N=Math.min(1,Math.max(0,h));Ae=N,te=true,y=N*o,c=performance.now()-y,cancelAnimationFrame(V),he(y);},getProgress(){return Ae},refresh(){clearTimeout(A),H.forEach((h,N)=>{T[N]=Be(h),h.style.strokeDasharray=`${T[N]}`;});}}}if(ve)return pt(ar());Lt();function $t(){if(te||!qe)return;let o=performance.now(),c=Ue();if(!Ne&&S===false&&c===St){gt(c);return}Ne=false,St=c;let y=m;if(S!==false){let w=o-Tt,A=w>0?Math.abs(c-(et<0?c:et))/w:0;y=m*Math.max(.2,1+A*(typeof S=="number"?S:1)*.04);}et=c,Tt=o;let B=pe?Re===-1||c>=Re?"forward":"reverse":x;Re=c;let he=f-l,$e=true,xe=he===0?0:(c-l)/he;if(isNaN(We)||(We<=0&&xe>0?P?.():We>0&&xe<=0&&Ve?.(),We<1&&xe>=1?ae?.():We>=1&&xe<1&&Ee?.()),We=xe,K){let w=Se(ne(c,l,f,y));Z&&!pe&&(_=Math.max(_,w),w=_),Ae=w,e.style.setProperty("--scroll-draw-progress",String(w));let A=B==="reverse"?1-w:w;e.style.clipPath=Le(A),p?.(w),!k&&ne(c,l,f,y)>0&&(k=true,L?.()),w>=1&&!v?(v=true,b?.(),De<(j==="infinite"?1/0:j??0)&&(De++,Fe=setTimeout(()=>{_=-1,k=false,v=false,e.style.clipPath=Le(0);},oe))):w<1&&!Z&&(v=false),gt(c);return}if(H.forEach((w,A)=>{let re=A*Te*he,h=Se(ne(c,l+re,f+re,y));Z&&!pe&&(h=Pe[A]=Math.max(Pe[A]??_,h)),w.style.strokeDashoffset=B==="reverse"?`${T[A]*h}`:`${T[A]*(1-h)}`,u&&(w.style.opacity=B==="reverse"?`${1-h}`:`${h}`),ee&&Y?w.style.stroke=Ge(ee,Y,h):Y&&(w.style.stroke=Y),X!==null&&q!==null?w.style.strokeWidth=`${X+(q-X)*h}`:q!==null&&(w.style.strokeWidth=`${q}`),se!==null&&Q!==null?w.style.fillOpacity=`${se+(Q-se)*h}`:Q!==null&&(w.style.fillOpacity=`${Q}`),F&&w.tagName.toLowerCase()==="path"&&le[A]&&w.setAttribute("d",bt(le[A],F,h)),A===0&&(Ae=h,p?.(h),e.style.setProperty("--scroll-draw-progress",String(h))),h<1&&($e=false);}),C){let w=Se(ne(c,l,f,y));for(let A in C){let re=parseFloat(A);w>=re&&!He.has(re)&&(He.add(re),C[A]?.());}}!k&&ne(c,l,f,y)>0&&(k=true,L?.()),$e&&!v?(v=true,b?.(),De<(j==="infinite"?1/0:j??0)&&(De++,Fe=setTimeout(()=>{_=-1,Pe=[],k=false,v=false,He.clear(),tt(),Ne=true;},oe))):!$e&&!Z&&(v=false),gt(c);}function dt(o){return o>=f&&o<ye}function gt(o){Ie||dt(o)?V=requestAnimationFrame($t):qe=false;}function yt(){return Ie||dt(Ue())}let qe=false;function rt(){qe||(qe=true,V=requestAnimationFrame(function(){$t();}));}function nt(){qe=false,cancelAnimationFrame(V);}let ht=new IntersectionObserver(o=>{o.forEach(c=>{Ie=c.isIntersecting,Ie&&!te?(Ne=true,rt()):qe&&!te&&dt(Ue())||nt();});},{root:fe??null,threshold:R,rootMargin:me});function Ct(){H.forEach((o,c)=>{T[c]=Be(o),o.style.strokeDasharray=`${T[c]}`;}),Lt(),Ne=true;}let ot;function Ye(){clearTimeout(ot),ot=setTimeout(Ct,150);}window.addEventListener("resize",Ye),window.addEventListener("orientationchange",Ye);let lr=_e([e],Ye);return D>0?setTimeout(()=>ht.observe(e),D):ht.observe(e),pt({destroy(){cancelAnimationFrame(V),clearTimeout(Fe),nt(),ht.disconnect(),lr(),window.removeEventListener("resize",Ye),window.removeEventListener("orientationchange",Ye),clearTimeout(ot),Et();},replay(){_=-1,Pe=[],Re=-1,et=-1,k=false,v=false,De=0,te=false,Ae=0,He.clear(),clearTimeout(Fe),tt(),Ne=true,yt()&&rt();},pause(){te=true,nt();},resume(){te&&(te=false,Ne=true,yt()&&rt());},seek(o){let c=Math.min(1,Math.max(0,o));Ae=c,_=c,Pe=[],te=true,nt(),or(c,x),Ne=true;},getProgress(){return Ae},refresh(){clearTimeout(ot),Ct(),yt()&&!te&&rt();}},()=>({tStart:l,tEnd:f}))}function Sr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Bt(e){let t=[],r=/([\w]+)\(([^)]*)\)/g,n;for(;(n=r.exec(e))!==null;){let s=[],i=[],a=n[2].trim();if(a)for(let m of a.split(/[\s,]+/)){let u=m.match(/^([-+]?[\d.eE]+)(.*)$/);s.push(u?parseFloat(u[1]):0),i.push(u?u[2]:"");}t.push({fn:n[1],nums:s,units:i});}return t}function Tr(e,t,r){let n=Bt(e),s=Bt(t);return n.length===0||n.length!==s.length?r<1?e:t:n.map((i,a)=>{let m=s[a];return i.fn!==m.fn||i.nums.length!==m.nums.length?r<1?`${i.fn}(${i.nums.map((u,d)=>`${u}${i.units[d]}`).join(", ")})`:`${m.fn}(${m.nums.map((u,d)=>`${u}${m.units[d]}`).join(", ")})`:`${i.fn}(${i.nums.map((u,d)=>`${u+(m.nums[d]-u)*r}${i.units[d]}`).join(", ")})`}).join(" ")}function Gt(e,t,r){if(typeof e=="number"&&typeof t=="number")return String(e+(t-e)*r);let n=String(e),s=String(t);if(Sr(n))return Ge(n,s,r);if(n.includes("("))return Tr(n,s,r);let i=n.match(/^([-+]?[\d.]+)(.*)$/),a=s.match(/^([-+]?[\d.]+)(.*)$/);if(i&&a){let m=parseFloat(i[1]),u=parseFloat(a[1]);return `${m+(u-m)*r}${i[2]||a[2]}`}return r<1?n:s}function xr(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}var Mr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Lr=0,Qt="--scroll-draw-progress";function Ar(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var Ut={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Yt(e,t){return typeof window>"u"?Ut:t.respectReducedMotion===false?jt(e,t,false):ze(t,(r,n)=>jt(e,r,n))}function jt(e,t,r){let{props:n,trigger:s={},easing:i="ease-out",speed:a=1,once:m=false,axis:u="y",scrollContainer:d,native:E=true,velocityScale:O=false,triggerElement:x,onProgress:Z,onComplete:Me,onEnter:$,onLeave:ie,onEnterBack:pe,onLeaveBack:D}=t,z=typeof i=="function"?i:ue[i]??ue["ease-out"],I=we(s.start??"top bottom"),M=we(s.end??"bottom top"),C=x??e,S=typeof d=="string"?document.querySelector(d):d??null,R=Object.entries(n).map(([l,f])=>({prop:xr(l),from:Array.isArray(f)?f[0]:"",to:Array.isArray(f)?f[1]:f}));function me(){let l=window.getComputedStyle(e);for(let f of R)f.from===""&&(f.from=l.getPropertyValue(f.prop).trim()||"0");}function j(){for(let l of R)e.style.setProperty(l.prop,String(l.to));}let oe=new Map;for(let l of [...R.map(f=>f.prop),Qt])oe.set(l,e.style.getPropertyValue(l));function F(){for(let[l,f]of oe)f?e.style.setProperty(l,f):e.style.removeProperty(l);}if(r)return j(),Me?.(),{...Ut,destroy:F,getProgress:()=>1};me();let de=typeof i=="string"?it(i):null;function ve(){if(!E||!Ar()||!de||u!=="y"||S||C!==e||m||a!==1||Z||Me||$||ie||pe||D||O!==false||(s.start??"top bottom").trim()!=="top bottom"||(s.end??"bottom top").trim()!=="bottom top")return false;for(let l of R)if(!Mr.has(l.prop))return false;return true}function ge(){let l=`ssd-a-${++Lr}`,f=R.map(_=>`${_.prop}:${_.from}`).join(";"),Te=R.map(_=>`${_.prop}:${_.to}`).join(";"),ye=document.createElement("style");ye.setAttribute("data-ssd-animate",""),ye.textContent=`@keyframes ${l}{from{${f}}to{${Te}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${de};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(ye),e.classList.add(l);let v=()=>u==="x"?window.scrollX:window.scrollY,k=()=>u==="x"?window.innerWidth:window.innerHeight,V=()=>{let _=e.getBoundingClientRect();return Ce({top:_.top,height:_.height},v(),k(),I,M)};ke(e,{type:"animate",getProgress:()=>Ie.getProgress(),getTrigger:V});let Ie={refresh(){},destroy(){e.classList.remove(l),ye.remove(),e.style.animationPlayState="",F(),Oe(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(_){let Pe=Math.min(1,Math.max(0,_));e.classList.remove(l);for(let Re of R)e.style.setProperty(Re.prop,Gt(Re.from,Re.to,Pe));},getProgress(){let{tStart:_,tEnd:Pe}=V();return z(ne(v(),_,Pe,a))}};return Ie}if(ve())return ge();let U=0,p=0,L=0,b=false,P=false,ae=-1,Ee=0,Ve=false,K=NaN,Se=-1,Qe=0,je=()=>S?u==="x"?S.scrollLeft:S.scrollTop:u==="x"?window.scrollX:window.scrollY,fe=()=>S?u==="x"?S.clientWidth:S.clientHeight:u==="x"?window.innerWidth:window.innerHeight,ee=C===e?R:[],Y=false;function X(){let l=e.style,f=ee.map(k=>l.getPropertyValue(k.prop)),Te=l.transition;ee.length&&(l.transition="none"),ee.forEach(k=>l.setProperty(k.prop,oe.get(k.prop)??""));let ye=st(C,S,u);ee.forEach((k,V)=>l.setProperty(k.prop,f[V])),ee.length&&(e.offsetWidth,l.transition=Te);let v=Ce(ye,ye.scroll,fe(),I,M);Y&&Math.abs(v.tStart-U)<1&&Math.abs(v.tEnd-p)<1||(Y=true,U=v.tStart,p=v.tEnd);}function q(l){e.style.setProperty(Qt,String(l));for(let f of R)e.style.setProperty(f.prop,Gt(f.from,f.to,l));Z?.(l);}function se(l){if(isNaN(K)){K=l;return}K<=0&&l>0?$?.():K>0&&l<=0&&D?.(),K<1&&l>=1?ie?.():K>=1&&l<1&&pe?.(),K=l;}function Q(){if(!b||P)return;let l=performance.now(),f=je(),Te=a;if(O!==false){let k=l-Qe,V=k>0?Math.abs(f-(Se<0?f:Se))/k:0;Te=a*Math.max(.2,1+V*(typeof O=="number"?O:1)*.04);}Se=f,Qe=l;let ye=p===U?0:(f-U)/(p-U);se(ye);let v=z(ne(f,U,p,Te));m&&(ae=Math.max(ae,v),v=ae),Ee=v,q(v),v>=1&&!Ve?(Ve=true,Me?.()):v<1&&!m&&(Ve=false),L=requestAnimationFrame(Q);}X(),p===U&&J("scrollAnimate: the trigger window has zero length (start and end resolve to the same scroll position), so this element will never animate. If the target is inside a position:sticky stage, measure the trigger from the container that holds the scroll room via `triggerElement`.",e);{let l=z(ne(je(),U,p,a));m&&l>0&&(ae=l),Ee=l,q(l);}let Le=new IntersectionObserver(l=>{l.forEach(f=>{b=f.isIntersecting,b&&!P?L=requestAnimationFrame(Q):cancelAnimationFrame(L);});},{root:S??null}),H;function T(){clearTimeout(H),H=setTimeout(X,150);}window.addEventListener("resize",T),window.addEventListener("orientationchange",T);let le=_e([C],T);return Le.observe(e),ke(e,{type:"animate",getProgress:()=>Ee,getTrigger:()=>({tStart:U,tEnd:p})}),{destroy(){cancelAnimationFrame(L),Le.disconnect(),window.removeEventListener("resize",T),window.removeEventListener("orientationchange",T),le(),clearTimeout(H),F(),Oe(e);},replay(){ae=-1,Ve=false,Ee=0,P=false,q(0);},pause(){P=true,cancelAnimationFrame(L);},resume(){P&&(P=false,b&&(L=requestAnimationFrame(Q)));},seek(l){let f=Math.min(1,Math.max(0,l));Ee=f,ae=f,P=true,cancelAnimationFrame(L),q(f);},getProgress(){return Ee},refresh(){X();}}}var wt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Xt(e,t){if(typeof window>"u")return wt;let r=typeof e=="string"?document.querySelector(e):e;return r?ze(t,(n,s)=>$r(r,n,s)):(J("scrollCounter: element not found:",e),wt)}function $r(e,t,r){let{from:n=0,to:s,format:i,easing:a="ease-out",trigger:m={},once:u=true,decimals:d,onComplete:E}=t,O=d!==void 0?p=>p.toFixed(d):i??(p=>String(Math.round(p))),x=typeof a=="function"?a:ue[a]??ue["ease-out"],Z=we(m.start??"top 80%"),Me=we(m.end??"top 20%");if(r)return e.textContent=O(s),E?.(),{...wt,getProgress:()=>1};let $=0,ie=0,pe=false,D=0,z=false,I=false,M=-1,C=0,S=false,R=()=>window.scrollY,me=()=>window.innerHeight;function j(){let p=e.getBoundingClientRect(),L=Ce({top:p.top,height:p.height},R(),me(),Z,Me);pe&&Math.abs(L.tStart-$)<1&&Math.abs(L.tEnd-ie)<1||(pe=true,$=L.tStart,ie=L.tEnd);}function oe(p){e.textContent=O(n+(s-n)*p),e.style.setProperty("--scroll-draw-progress",String(p));}function F(){if(!z||I)return;let p=x(ne(R(),$,ie,1));u&&(M=Math.max(M,p),p=M),C=p,oe(p),p>=1&&!S?(S=true,E?.()):p<1&&!u&&(S=false),D=requestAnimationFrame(F);}j();{let p=x(ne(R(),$,ie,1));u&&p>0&&(M=p),C=p,oe(p);}let de=new IntersectionObserver(p=>{p.forEach(L=>{z=L.isIntersecting,z&&!I?D=requestAnimationFrame(F):cancelAnimationFrame(D);});}),ve;function ge(){clearTimeout(ve),ve=setTimeout(j,150);}window.addEventListener("resize",ge),window.addEventListener("orientationchange",ge);let U=_e([e],ge);return de.observe(e),ke(e,{type:"counter",getProgress:()=>C,getTrigger:()=>({tStart:$,tEnd:ie})}),{destroy(){cancelAnimationFrame(D),de.disconnect(),window.removeEventListener("resize",ge),window.removeEventListener("orientationchange",ge),U(),clearTimeout(ve),Oe(e);},replay(){M=-1,S=false,C=0,I=false,oe(0);},pause(){I=true,cancelAnimationFrame(D);},resume(){I&&(I=false,z&&(D=requestAnimationFrame(F)));},seek(p){let L=Math.min(1,Math.max(0,p));C=L,M=L,I=true,cancelAnimationFrame(D),oe(L);},getProgress(){return C}}}function Jt(e,t){let r=document.createElement("span");r.textContent=t,r.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(r);}function er(e){let t=e.textContent??"";return e.textContent="",t.split(/(\s+)/).filter(Boolean).map(r=>{let n=document.createElement("span");return n.setAttribute("aria-hidden","true"),/^\s+$/.test(r)?(n.textContent=r,n.style.whiteSpace="pre"):(n.textContent=r,n.style.display="inline-block"),e.appendChild(n),/^\s+$/.test(r)?null:n}).filter(r=>r!==null)}function Cr(e){let t=e.textContent??"";return e.textContent="",t.split("").map(r=>{let n=document.createElement("span");return n.setAttribute("aria-hidden","true"),n.textContent=r,r===" "?n.style.whiteSpace="pre":n.style.display="inline-block",e.appendChild(n),r===" "?null:n}).filter(r=>r!==null)}function Zt(e){let t=er(e),r=new Map;for(let i of t){let a=i.offsetTop;r.has(a)||r.set(a,[]),r.get(a).push(i);}let n=[],s=Array.from(r.keys()).sort((i,a)=>i-a);for(let i of s){let a=r.get(i),m=document.createElement("span");m.setAttribute("aria-hidden","true"),m.style.display="inline-block",a.forEach((u,d)=>{let E=u.nextElementSibling;m.appendChild(u),d<a.length-1&&E&&E.style.whiteSpace==="pre"&&m.appendChild(E);}),n.push(m);}return e.textContent="",n.forEach((i,a)=>{e.appendChild(i),a<n.length-1&&e.appendChild(document.createTextNode(" "));}),n}function Pr(e,t,r,n){if(r<=1||n===0)return e;let s=(r-1)*n,i=t*n,a=i+(1-s);return a<=i?e>=i?1:0:Math.min(1,Math.max(0,(e-i)/(a-i)))}function Dr(e,t){let r=[];if(t?.y!==void 0&&r.push(`translateY(${t.y*(1-e)}px)`),t?.x!==void 0&&r.push(`translateX(${t.x*(1-e)}px)`),t?.rotate!==void 0&&r.push(`rotate(${t.rotate*(1-e)}deg)`),t?.scale!==void 0){let n=t.scale+(1-t.scale)*e;r.push(`scale(${n})`);}return r.join(" ")||""}var Kt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function tr(e,t={}){if(typeof window>"u")return Kt;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return J("scrollText: element not found:",e),Kt;let n=r;return ze(t,(s,i)=>kr(n,s,i))}function kr(e,t,r){let{split:n="words",stagger:s=.04,easing:i="ease-out",from:a={opacity:0,y:24},trigger:m={},once:u=true,onComplete:d}=t,E=typeof i=="function"?i:ue[i]??ue["ease-out"],O=we(m.start??"top 85%"),x=we(m.end??"top 40%"),Z=e.innerHTML,Me=e.textContent??"",$;n==="chars"?$=Cr(e):n==="lines"?$=Zt(e):$=er(e),Jt(e,Me);let ie=$.length;function pe(b,P){a?.opacity!==void 0&&(b.style.opacity=String(a.opacity+(1-a.opacity)*P));let ae=Dr(P,a);ae&&(b.style.transform=ae);}function D(b){e.style.setProperty("--scroll-draw-progress",String(b)),$.forEach((P,ae)=>{let Ee=E(Pr(b,ae,ie,s));pe(P,Ee);});}if(r)return D(1),d?.(),{destroy(){e.innerHTML=Z;},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};D(0);let z=0,I=0,M=0,C=false,S=false,R=-1,me=0,j=false,oe=()=>window.scrollY,F=()=>window.innerHeight;function de(){let b=e.getBoundingClientRect(),P=Ce({top:b.top,height:b.height},oe(),F(),O,x);z=P.tStart,I=P.tEnd;}function ve(){if(!C||S)return;let b=ne(oe(),z,I,1);u&&(R=Math.max(R,b),b=R),me=b,D(b),b>=1&&!j?(j=true,d?.()):b<1&&!u&&(j=false),M=requestAnimationFrame(ve);}de();let ge=new IntersectionObserver(b=>{b.forEach(P=>{C=P.isIntersecting,C&&!S?M=requestAnimationFrame(ve):cancelAnimationFrame(M);});}),U;function p(){clearTimeout(U),U=setTimeout(()=>{if(n==="lines"){let b=me;e.innerHTML=Z,$=Zt(e),Jt(e,Me),D(b);}de();},150);}window.addEventListener("resize",p),window.addEventListener("orientationchange",p);let L=_e([e],p);return ge.observe(e),ke(e,{type:"text",getProgress:()=>me,getTrigger:()=>({tStart:z,tEnd:I})}),{destroy(){cancelAnimationFrame(M),ge.disconnect(),window.removeEventListener("resize",p),window.removeEventListener("orientationchange",p),L(),clearTimeout(U),e.innerHTML=Z,Oe(e);},replay(){R=-1,j=false,me=0,S=false,D(0);},pause(){S=true,cancelAnimationFrame(M);},resume(){S&&(S=false,C&&(M=requestAnimationFrame(ve)));},seek(b){let P=Math.min(1,Math.max(0,b));me=P,R=P,S=true,cancelAnimationFrame(M),D(P);},getProgress(){return me}}}function Or(e,t){let r={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return r;let n=typeof e=="string"?document.querySelector(e):e;return n?ct(n,t):(J("Container not found:",e),r)}function Ke(){return typeof document>"u"?null:document}var vt=new WeakMap,rr;function ut(e,t,r,n){let s=vt.get(e)??new Map;vt.set(e,s);let i=()=>{let u=r(),d=s.get(t);d&&d.key===u||(d?.inst.destroy(),s.set(t,{inst:n(u),key:u,build:i,users:d?.users??0}));};i(),s.get(t).users++;let a=true;typeof MutationObserver<"u"&&(rr??(rr=new MutationObserver(u=>u.forEach(d=>vt.get(d.target)?.forEach(E=>E.build())))),rr.observe(e,{attributes:true,attributeFilter:["draw","animate","counter","text"].map(u=>`data-scroll-${u}-options`).concat("data-scroll-drawoptions")}));let m=()=>s.get(t)?.inst;return {destroy:()=>{let u=s.get(t);!a||!u||(a=false,!(--u.users>0)&&(u.inst.destroy(),s.delete(t)));},replay:()=>m()?.replay(),pause:()=>m()?.pause(),resume:()=>m()?.resume(),seek:u=>m()?.seek(u),getProgress:()=>m()?.getProgress()??0,refresh:()=>m()?.refresh?.()}}function mt(e,t){try{return e?JSON.parse(e):t}catch{return t}}function Ir(e=Ke()){return e?Array.from(e.querySelectorAll("[data-scroll-draw]")).map(t=>ut(t,"draw",()=>t.dataset.scrollDrawOptions??t.dataset.scrollDrawoptions??"",r=>ct(t,mt(r,{})))):[]}function Rr(e=Ke()){return e?Array.from(e.querySelectorAll("[data-scroll-animate]")).map(t=>ut(t,"animate",()=>t.dataset.scrollAnimateOptions??"",r=>Yt(t,mt(r,{props:{}})))):[]}function Fr(e=Ke()){return e?Array.from(e.querySelectorAll("[data-scroll-counter]")).map(t=>ut(t,"counter",()=>t.dataset.scrollCounterOptions??"",r=>{let n=mt(r,{});return !n.to&&n.to!==0&&(J('initScrollCounter: element missing "to" in options JSON:',t),n.to=0),typeof n.format!="function"&&n.format!==void 0&&(J('initScrollCounter: "format" must be a function, so it cannot come from JSON; use "decimals":',t),delete n.format),Xt(t,n)})):[]}function Hr(e=Ke()){return e?Array.from(e.querySelectorAll("[data-scroll-text]")).map(t=>ut(t,"text",()=>t.dataset.scrollTextOptions??"",r=>tr(t,mt(r,{})))):[]}function Gn(e=Ke()){return {draw:Ir(e),animate:Rr(e),counter:Fr(e),text:Hr(e)}}exports.initAll=Gn;exports.initScrollAnimate=Rr;exports.initScrollCounter=Fr;exports.initScrollDraw=Ir;exports.initScrollText=Hr;exports.scrollDraw=Or;
|
package/dist/astro/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{a as scrollDraw}from'../chunk-
|
|
1
|
+
export{a as scrollDraw}from'../chunk-OTDD2ROH.mjs';import {a as a$2}from'../chunk-DY5JCXVR.mjs';import {a as a$1}from'../chunk-WXUOF4NM.mjs';import {a}from'../chunk-LTCJVVSC.mjs';import {b}from'../chunk-HX4SP5WN.mjs';import'../chunk-OJFWQ6CU.mjs';import'../chunk-YWKPTYSG.mjs';import'../chunk-YZV4Z3EQ.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-A4JCC3QQ.mjs';import'../chunk-DM6EDKWH.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-BCV4RAIX.mjs';import {b as b$1}from'../chunk-LFSU6LR3.mjs';function i(){return typeof document>"u"?null:document}var p=new WeakMap,g;function c(r,t,n,o){let l=p.get(r)??new Map;p.set(r,l);let f=()=>{let e=n(),s=l.get(t);s&&s.key===e||(s?.inst.destroy(),l.set(t,{inst:o(e),key:e,build:f,users:s?.users??0}));};f(),l.get(t).users++;let S=true;typeof MutationObserver<"u"&&(g??(g=new MutationObserver(e=>e.forEach(s=>p.get(s.target)?.forEach(O=>O.build())))),g.observe(r,{attributes:true,attributeFilter:["draw","animate","counter","text"].map(e=>`data-scroll-${e}-options`).concat("data-scroll-drawoptions")}));let a=()=>l.get(t)?.inst;return {destroy:()=>{let e=l.get(t);!S||!e||(S=false,!(--e.users>0)&&(e.inst.destroy(),l.delete(t)));},replay:()=>a()?.replay(),pause:()=>a()?.pause(),resume:()=>a()?.resume(),seek:e=>a()?.seek(e),getProgress:()=>a()?.getProgress()??0,refresh:()=>a()?.refresh?.()}}function u(r,t){try{return r?JSON.parse(r):t}catch{return t}}function E(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-draw]")).map(t=>c(t,"draw",()=>t.dataset.scrollDrawOptions??t.dataset.scrollDrawoptions??"",n=>b(t,u(n,{})))):[]}function A(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-animate]")).map(t=>c(t,"animate",()=>t.dataset.scrollAnimateOptions??"",n=>a(t,u(n,{props:{}})))):[]}function I(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-counter]")).map(t=>c(t,"counter",()=>t.dataset.scrollCounterOptions??"",n=>{let o=u(n,{});return !o.to&&o.to!==0&&(b$1('initScrollCounter: element missing "to" in options JSON:',t),o.to=0),typeof o.format!="function"&&o.format!==void 0&&(b$1('initScrollCounter: "format" must be a function, so it cannot come from JSON; use "decimals":',t),delete o.format),a$1(t,o)})):[]}function M(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-text]")).map(t=>c(t,"text",()=>t.dataset.scrollTextOptions??"",n=>a$2(t,u(n,{})))):[]}function H(r=i()){return {draw:E(r),animate:A(r),counter:I(r),text:M(r)}}export{H as initAll,A as initScrollAnimate,I as initScrollCounter,E as initScrollDraw,M as initScrollText};
|
package/dist/cdn/aos.global.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var AOS=(()=>{var
|
|
2
|
-
`)}var a={...
|
|
1
|
+
"use strict";var AOS=(()=>{var w=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var X=Object.getOwnPropertyNames;var Z=Object.prototype.hasOwnProperty;var j=(e,t)=>{for(var n in t)w(e,n,{get:t[n],enumerable:!0})},U=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of X(t))!Z.call(e,r)&&r!==n&&w(e,r,{get:()=>t[r],enumerable:!(o=W(t,r))||o.enumerable});return e};var J=e=>U(w({},"__esModule",{value:!0}),e);var de={};j(de,{default:()=>se,destroy:()=>$,init:()=>G,refresh:()=>v,refreshHard:()=>x});function z(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function O(e){if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};let t=window.matchMedia("(prefers-reduced-motion: reduce)"),n=r=>e(!!r.matches);if(typeof t.addEventListener=="function")return t.addEventListener("change",n),()=>t.removeEventListener("change",n);let o=t;return o.addListener?.(n),()=>o.removeListener?.(n)}function T(e,...t){}var N={offset:120,delay:0,duration:400,easing:"ease",once:!1,mirror:!1,anchorPlacement:"top-bottom",disable:!1,startEvent:"DOMContentLoaded",disableMutationObserver:!1,initClassName:"aos-init",animatedClassName:"aos-animate",useClassNames:!1,throttleDelay:99,debounceDelay:50},K={"ease-in-back":"cubic-bezier(.6,-.28,.735,.045)","ease-out-back":"cubic-bezier(.175,.885,.32,1.275)","ease-in-out-back":"cubic-bezier(.68,-.55,.265,1.55)","ease-in-sine":"cubic-bezier(.47,0,.745,.715)","ease-out-sine":"cubic-bezier(.39,.575,.565,1)","ease-in-out-sine":"cubic-bezier(.445,.05,.55,.95)","ease-in-quad":"cubic-bezier(.55,.085,.68,.53)","ease-out-quad":"cubic-bezier(.25,.46,.45,.94)","ease-in-out-quad":"cubic-bezier(.455,.03,.515,.955)","ease-in-cubic":"cubic-bezier(.55,.055,.675,.19)","ease-out-cubic":"cubic-bezier(.215,.61,.355,1)","ease-in-out-cubic":"cubic-bezier(.645,.045,.355,1)","ease-in-quart":"cubic-bezier(.895,.03,.685,.22)","ease-out-quart":"cubic-bezier(.165,.84,.44,1)","ease-in-out-quart":"cubic-bezier(.77,0,.175,1)"},L="svg-scroll-draw-aos",i=(e,t)=>`translate3d(${e},${t},0)`,ee=[["fade-up",i("0","100px")],["fade-down",i("0","-100px")],["fade-right",i("-100px","0")],["fade-left",i("100px","0")],["fade-up-right",i("-100px","100px")],["fade-up-left",i("100px","100px")],["fade-down-right",i("-100px","-100px")],["fade-down-left",i("100px","-100px")],["zoom-in","scale(.6)"],["zoom-out","scale(1.2)"],["zoom-in-up",`${i("0","100px")} scale(.6)`],["zoom-in-down",`${i("0","-100px")} scale(.6)`],["zoom-in-right",`${i("-100px","0")} scale(.6)`],["zoom-in-left",`${i("100px","0")} scale(.6)`],["zoom-out-up",`${i("0","100px")} scale(1.2)`],["zoom-out-down",`${i("0","-100px")} scale(1.2)`],["zoom-out-right",`${i("-100px","0")} scale(1.2)`],["zoom-out-left",`${i("100px","0")} scale(1.2)`],["slide-up",i("0","100%")],["slide-down",i("0","-100%")],["slide-right",i("-100%","0")],["slide-left",i("100%","0")],["flip-left","perspective(2500px) rotateY(-100deg)"],["flip-right","perspective(2500px) rotateY(100deg)"],["flip-up","perspective(2500px) rotateX(-100deg)"],["flip-down","perspective(2500px) rotateX(100deg)"]];function te(e){let t=`.${e}`,n=o=>`[data-aos^=${o}][data-aos^=${o}]`;return["[data-aos][data-aos]{transition-duration:var(--aos-duration,400ms);transition-timing-function:var(--aos-easing,ease);transition-delay:0s}",`[data-aos][data-aos]${t}{transition-delay:var(--aos-delay,0ms)}`,`${n("fade")}{opacity:0;transition-property:opacity,transform}`,`${n("fade")}${t}{opacity:1;transform:translateZ(0)}`,`${n("zoom")}{opacity:0;transition-property:opacity,transform}`,`${n("zoom")}${t}{opacity:1;transform:translateZ(0) scale(1)}`,`${n("slide")}{transition-property:transform}`,`${n("slide")}${t}{transform:translateZ(0)}`,`${n("flip")}{backface-visibility:hidden;transition-property:transform}`,...ee.map(([o,r])=>`[data-aos=${o}]{transform:${r}}`),...["left","right"].map(o=>`[data-aos=flip-${o}]${t}{transform:perspective(2500px) rotateY(0)}`),...["up","down"].map(o=>`[data-aos=flip-${o}]${t}{transform:perspective(2500px) rotateX(0)}`),"[data-aos-instant][data-aos-instant]{transition:none!important}"].join(`
|
|
2
|
+
`)}var a={...N},d=[],l=!1,b=0,M,y=null,c=null,m=!1,p=null,R=()=>typeof window<"u"&&typeof document<"u";function H(e){if(!(e instanceof HTMLElement))return e.getBoundingClientRect().top+window.scrollY;let t=0,n=e;for(;n;)t+=n.offsetTop-(n.tagName!=="BODY"?n.scrollTop:0),n=n.offsetParent;return t}var k=e=>e instanceof HTMLElement?e.offsetHeight:e.getBoundingClientRect().height;function u(e,t){return e.getAttribute(`data-aos-${t}`)}function _(e,t,n){let o=u(e,t);return o==="true"?!0:o==="false"?!1:n}function q(e,t){let n=u(e,"offset");return n&&!isNaN(Number(n))?parseInt(n,10):n||t?0:a.offset}function ne(e){let t=window.innerHeight,n=u(e,"anchor-placement"),o=q(e,n),r=u(e,"anchor"),A=r?document.querySelector(r):null;r&&!A&&T(`aos: data-aos-anchor="${r}" matches nothing; using the element itself`);let S=A||e,f=k(S),s=H(S)-t;switch(n||a.anchorPlacement){case"center-bottom":s+=f/2;break;case"bottom-bottom":s+=f;break;case"top-center":s+=t/2;break;case"center-center":s+=t/2+f/2;break;case"bottom-center":s+=t/2+f;break;case"top-top":s+=t;break;case"bottom-top":s+=t+f;break;case"center-top":s+=t+f/2;break;default:break}return s+o}function oe(e){return H(e)+k(e)-q(e,null)}function ae(e){let t=u(e,"duration")??String(a.duration),n=u(e,"delay")??String(a.delay),o=u(e,"easing")??a.easing;e.style.setProperty("--aos-duration",`${parseFloat(t)||0}ms`),e.style.setProperty("--aos-delay",`${parseFloat(n)||0}ms`),e.style.setProperty("--aos-easing",K[o]??o)}function I(){d=Array.from(document.querySelectorAll("[data-aos]")).map(e=>{let t=d.find(n=>n.node===e);return{node:e,in:0,out:0,once:_(e,"once",a.once),mirror:_(e,"mirror",a.mirror),animated:t?t.animated:e.classList.contains(a.animatedClassName),classes:a.useClassNames?(e.getAttribute("data-aos")||"").split(" ").filter(Boolean):[],id:u(e,"id")}});for(let e of d)ae(e.node),e.node.classList.add(a.initClassName)}function P(){for(let e of d)e.in=ne(e.node),e.out=oe(e.node)}function Q(e,t){document.dispatchEvent(new CustomEvent(`aos:${e}`,{detail:t.node})),t.id&&document.dispatchEvent(new CustomEvent(`aos:${e}:${t.id}`,{detail:t.node}))}function C(e){e.animated||(e.animated=!0,e.node.classList.add(a.animatedClassName,...e.classes),Q("in",e))}function D(e){e.animated&&(e.animated=!1,e.node.classList.remove(a.animatedClassName,...e.classes),Q("out",e))}function h(){b=0;let e=window.scrollY;for(let t of d){if(m){C(t);continue}t.mirror&&!t.once&&e>t.out?D(t):e>t.in?C(t):t.once||D(t)}}var V=()=>{b||(b=requestAnimationFrame(h))};function g(){clearTimeout(M),M=setTimeout(v,50)}var F=()=>v();function Y(){let e=a.disable;if(typeof e=="function")return e();if(e===!0)return!0;let t=window.innerWidth;return e==="phone"?t<768:e==="tablet"?t>=768&&t<1024:e==="mobile"?t<1024:!1}function B(){document.querySelectorAll("[data-aos]").forEach(e=>{for(let t of["data-aos","data-aos-easing","data-aos-duration","data-aos-delay"])e.removeAttribute(t)})}function ie(){if(document.getElementById(L))return;let e=document.createElement("style");e.id=L,e.textContent=te(a.animatedClassName),document.head.appendChild(e)}function E(){if(!l){if(l=!0,c=null,I(),m)for(let e of d)e.node.setAttribute("data-aos-instant","");P(),h(),window.addEventListener("scroll",V,{passive:!0}),window.addEventListener("resize",g),window.addEventListener("orientationchange",g),window.addEventListener("load",F),!a.disableMutationObserver&&typeof MutationObserver<"u"&&(y=new MutationObserver(e=>{e.some(n=>[...Array.from(n.addedNodes),...Array.from(n.removedNodes)].some(o=>o instanceof Element&&(o.hasAttribute("data-aos")||o.querySelector("[data-aos]"))))&&x()}),y.observe(document.documentElement,{childList:!0,subtree:!0}))}}function G(e={}){if(!R())return[];if((l||c)&&$(),a={...N,...e},Y())return B(),[];m=z(),m||(p=O(n=>{if(n&&(p?.(),p=null,m=!0,!!l)){for(let o of d)o.node.setAttribute("data-aos-instant","");h()}})),ie();let t=document.readyState!=="loading";if(a.startEvent==="DOMContentLoaded"&&t)E();else if(a.startEvent==="load"&&document.readyState==="complete")E();else{let n=a.startEvent==="load"?window:document,o=()=>E();n.addEventListener(a.startEvent,o,{once:!0}),c={target:n,type:a.startEvent,fn:o}}return Array.from(document.querySelectorAll("[data-aos]"))}function v(){l&&(P(),h())}function x(){if(l){if(Y()){B();return}I(),v()}}function $(){if(R()){c&&c.target.removeEventListener(c.type,c.fn),c=null,cancelAnimationFrame(b),b=0,clearTimeout(M),window.removeEventListener("scroll",V),window.removeEventListener("resize",g),window.removeEventListener("orientationchange",g),window.removeEventListener("load",F),y?.disconnect(),y=null,p?.(),p=null;for(let e of d)e.node.removeAttribute("data-aos-instant");d=[],l=!1,document.getElementById(L)?.remove()}}var re={init:G,refresh:v,refreshHard:x,destroy:$},se=re;return J(de);})();
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(()=>{function
|
|
2
|
-
\u2014 ${t}`).join("")}`,"color: #ea654b;")}var T=()=>[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function ie(e,n){let t=[];for(let o=0;o<4;o++)for(let i=0;i<4;i++){let r=0;for(let s=0;s<4;s++)r+=e[i+4*s]*n[4*o+s];t[i+4*o]=r}return t}function re(e){let n=/matrix(3d)?\(([^)]+)\)/.exec(e||"");if(!n)return T();let t=n[2].split(", ").map(parseFloat);if(t.length===16)return t;let o=T();return[o[0],o[1],o[4],o[5],o[12],o[13]]=t,o}function z(e,n){let t=Math.PI/180*n,o=Math.cos(t),i=Math.sin(t),r=T(),[s,l,c,h]=e==="x"?[5,10,6,9]:e==="y"?[0,10,8,2]:[0,5,1,4];return r[s]=r[l]=o,r[c]=i,r[h]=-i,r}function se(e,n){let t=T();return t[e==="X"?12:13]=n,t}function le(e){let n=T();return n[0]=n[5]=e,n}function v(e,n){for(let t of n.split(";")){let o=t.indexOf(":");if(o<1)continue;let i=t.slice(0,o).trim(),r=t.slice(o+1).trim();i&&r&&e.style.setProperty(i,r)}}function ae(e){let{node:n,config:t}=e,o=window.getComputedStyle(n),i=(n.getAttribute("style")||"").match(/[\w-]+\s*:\s*[^;]+\s*/gi)||[],r=i.map(d=>d.trim()),s=`${r.join("; ")};`,l=i.some(d=>/visibility\s?:\s?visible/i.test(d))?s:`${[...r,"visibility: visible"].join("; ")};`,c=parseFloat(o.opacity),h=t.opacity!==null&&!isNaN(parseFloat(String(t.opacity)))?parseFloat(String(t.opacity)):c,b=c!==h?{computed:`opacity: ${c};`,generated:`opacity: ${h};`}:{computed:"",generated:""},u=[];if(parseFloat(t.distance)){let d=t.origin==="top"||t.origin==="bottom"?"Y":"X",f=t.distance;(t.origin==="top"||t.origin==="left")&&(f=f.startsWith("-")?f.slice(1):`-${f}`);let k=f.match(/(^-?\d+\.?\d?)|(em$|px$|%$)/g)||[],m=Number(k[0]),A=k[1],I;if(A==="em")I=parseInt(o.fontSize,10)*m;else if(A==="px")I=m;else if(A==="%"){let Y=n.getBoundingClientRect();I=(d==="Y"?Y.height:Y.width)*m/100}else throw new RangeError("Unrecognized or missing distance unit.");u.push(se(d,I))}t.rotate.x&&u.push(z("x",t.rotate.x)),t.rotate.y&&u.push(z("y",t.rotate.y)),t.rotate.z&&u.push(z("z",t.rotate.z)),t.scale!==1&&u.push(le(t.scale===0?2e-4:t.scale));let g={initial:"",final:""};if(u.length){let d=re(o.transform);g={initial:`transform: matrix3d(${u.reduce(ie,d).join(", ")});`,final:`transform: matrix3d(${d.join(", ")});`}}let w={delayed:"",instant:""};if(b.generated||g.initial){let d=m=>`${m/1e3}s`,f=[],k=m=>({delayed:`${m} ${d(t.duration)} ${t.easing} ${d(t.delay)}`,instant:`${m} ${d(t.duration)} ${t.easing} 0s`});o.transition&&!/all 0s|none 0s/.test(o.transition)&&f.push({delayed:o.transition,instant:o.transition}),b.generated&&f.push(k("opacity")),g.initial&&f.push(k("transform")),w={delayed:`transition: ${f.map(m=>m.delayed).join(", ")};`,instant:`transition: ${f.map(m=>m.instant).join(", ")};`}}return{inline:{computed:s,generated:l},opacity:b,position:o.position,transform:g,transition:w}}var x=(...e)=>e.filter(n=>n!=="").join(" "),ce=()=>({delay:0,distance:"0",duration:600,easing:"cubic-bezier(0.5, 0, 0, 1)",interval:0,opacity:0,origin:"bottom",rotate:{x:0,y:0,z:0},scale:1,cleanup:!1,container:document.documentElement,desktop:!0,mobile:!0,reset:!1,useDelay:"always",viewFactor:0,viewOffset:{top:0,right:0,bottom:0,left:0},afterReset:()=>{},afterReveal:()=>{},beforeReset:()=>{},beforeReveal:()=>{}}),p=null,M=null,a={containers:{},elements:{},history:[],sequences:{}},W=!0,j=null,R=0,D=!1,de=0,H=()=>de++;function U(e,n=!1){let t=e,o=n?t.clientHeight:t.offsetHeight,i=n?t.clientWidth:t.offsetWidth,r=0,s=0,l=t;for(;l;)isNaN(l.offsetTop)||(r+=l.offsetTop),isNaN(l.offsetLeft)||(s+=l.offsetLeft),l=l.offsetParent;return{bounds:{top:r,right:s+i,bottom:r+o,left:s},height:o,width:i}}var ue=e=>e.node===document.documentElement?{top:window.pageYOffset,left:window.pageXOffset}:{top:e.node.scrollTop,left:e.node.scrollLeft};function fe(e){let n=a.containers[e.containerId];if(!n||!n.geometry||!n.scroll||!e.geometry)return!1;let t=Math.max(0,Math.min(1,e.config.viewFactor)),o=e.config.viewOffset,i=e.geometry,r={top:i.bounds.top+i.height*t,right:i.bounds.right-i.width*t,bottom:i.bounds.bottom-i.height*t,left:i.bounds.left+i.width*t},s={top:n.geometry.bounds.top+n.scroll.top+o.top,right:n.geometry.bounds.right+n.scroll.left-o.right,bottom:n.geometry.bounds.bottom+n.scroll.top-o.bottom,left:n.geometry.bounds.left+n.scroll.left+o.left};return r.top<s.bottom&&r.right>s.left&&r.bottom>s.top&&r.left<s.right||e.styles.position==="fixed"}function Q(e,n=!1){let t=n?e.config.duration+e.config.delay:e.config.duration,o=0;e.timer&&(o=Date.now()-e.timer.start,clearTimeout(e.timer.clock)),(e.revealed?e.config.beforeReveal:e.config.beforeReset)(e.node),e.timer={start:Date.now(),clock:setTimeout(()=>{(e.revealed?e.config.afterReveal:e.config.afterReset)(e.node),e.timer=null,e.revealed&&!e.config.reset&&e.config.cleanup&&B(e.node)},t-o)}}function me(e,n){let t=e.styles;e.revealed=e.seen=!0,v(e.node,x(t.inline.generated,t.opacity.computed,t.transform.final,n?t.transition.delayed:t.transition.instant)),Q(e,n)}function be(e){let n=e.styles;e.revealed=!1,v(e.node,x(n.inline.generated,n.opacity.generated,n.transform.initial,n.transition.instant)),Q(e)}function E(e,n={}){let t=n.pristine||W,o=e.config.useDelay,i=o==="always"||o==="onload"&&t||o==="once"&&!e.seen;if(n.reveal||e.visible&&!e.revealed)return me(e,i);if(n.reset||!e.visible&&e.revealed&&e.config.reset)return be(e)}function J(e,n){let t=[],o=[],i=[];return e.members.forEach((r,s)=>{a.elements[r]?.[n]&&o.push(s)}),o.length&&e.members.forEach((r,s)=>{let l=a.elements[r];l&&!l[n]&&(s<o[0]?t:i).push(s)}),{head:t,body:o,foot:i}}function O(e,n,t,o){let i=t<0?"head":"foot",r=a.elements[e.members[n+t]];e.blocked[i]=!0,setTimeout(()=>{e.blocked[i]=!1,r&&Z(r,o)},e.interval)}function Z(e,n=W){if(!e.visible&&e.revealed&&e.config.reset)return E(e,{reset:!0});let t=e.sequence&&a.sequences[e.sequence.id];if(!t||!e.sequence)return;let o=e.sequence.index,i=J(t,"visible"),r=J(t,"revealed");if(!r.body.length){let l=i.body[0],c=a.elements[t.members[l]];if(c)return O(t,l,-1,n),O(t,l,1,n),E(c,{reveal:!0,pristine:n})}let s=l=>l[l.length-1];if(!t.blocked.head&&o===s(r.head)&&o>=(i.body[0]??1/0))return O(t,o,-1,n),E(e,{reveal:!0,pristine:n});if(!t.blocked.foot&&o===r.foot[0]&&o<=(s(i.body)??-1/0))return O(t,o,1,n),E(e,{reveal:!0,pristine:n})}function ge(){R=0;let e=D;D=!1;for(let t of Object.values(a.containers))(e||!t.geometry)&&(t.geometry=U(t.node,!0)),t.scroll=ue(t);let n=Object.values(a.elements);for(let t of n)(e||!t.geometry)&&(t.geometry=U(t.node)),t.visible=fe(t);for(let t of n)t.sequence?Z(t):E(t);W=!1}function y(e){let n=e?e.type:"init";(n==="init"||n==="resize")&&(D=!0),R||(R=requestAnimationFrame(ge))}var S=e=>e.node===document.documentElement?window:e.node;function _(){let e=new Set(Array.from(document.querySelectorAll("[data-sr-id]")).map(o=>parseInt(o.getAttribute("data-sr-id")||"",10)));for(let o of Object.values(a.elements))e.has(o.id)||delete a.elements[o.id];let n=new Set,t=new Set;for(let o of Object.values(a.elements))n.add(o.containerId),o.sequence&&t.add(o.sequence.id);for(let o of Object.values(a.containers))n.has(o.id)||(S(o).removeEventListener("scroll",y),S(o).removeEventListener("resize",y),delete a.containers[o.id]);for(let o of Object.values(a.sequences))t.has(o.id)||delete a.sequences[o.id]}function ee(){j=null,_();let e=V();for(let n of Object.values(a.elements)){let t=n.styles;e?(n.visible=n.revealed=n.seen=!0,v(n.node,x(t.inline.generated,t.opacity.computed,t.transform.final,"transition: none;"))):n.visible?(n.revealed=!0,v(n.node,x(t.inline.generated,t.opacity.computed,t.transform.final))):(n.revealed=!1,v(n.node,x(t.inline.generated,t.opacity.generated,t.transform.initial)))}if(!e){for(let n of Object.values(a.containers))S(n).addEventListener("scroll",y),S(n).addEventListener("resize",y);y()}}function te(e,n={},t=!1){if(!p)return;let o=[],i=n.interval||0,r,s;try{if(i){let c=Math.abs(i);if(isNaN(c))throw new RangeError("Invalid sequence interval.");r={id:H(),interval:Math.max(c,16),members:[],blocked:{head:!1,foot:!1}}}let l=L(e);if(!l.length)throw new Error("Invalid reveal target.");s=[];for(let c of l){let h=c.getAttribute("data-sr-id"),b=h!==null?a.elements[Number(h)]:void 0,u=b?q({},b):{id:H(),node:c,seen:!1,revealed:!1,visible:!1};b&&v(c,b.styles.inline.computed);let g=q({},b?b.config:p,n);if(!g.mobile&&$()||!g.desktop&&!$()){b&&B(c);continue}let w=L(g.container)[0];if(!w)throw new Error("Invalid container.");if(!w.contains(c))continue;let d=[...o,...Object.values(a.containers)].find(f=>f.node===w)?.id;d===void 0&&(d=H(),o.push({id:d,node:w})),u.config=g,u.containerId=d,u.styles=ae(u),r&&(u.sequence={id:r.id,index:r.members.length},r.members.push(u.id)),s.push(u)}for(let c of s)a.elements[c.id]=c,c.node.setAttribute("data-sr-id",String(c.id))}catch(l){return P("Reveal failed.",l.message)}for(let l of o)a.containers[l.id]=l;r&&(a.sequences[r.id]=r),t||(a.history.push({target:e,options:n}),j&&clearTimeout(j),j=setTimeout(ee,0))}function B(e){let n=!1;for(let t of L(e)){let o=t.getAttribute("data-sr-id");if(o===null)continue;n=!0;let i=a.elements[Number(o)];i&&(i.timer&&clearTimeout(i.timer.clock),v(i.node,i.styles.inline.generated),delete a.elements[i.id]),t.removeAttribute("data-sr-id")}n&&_()}function pe(){for(let e of Object.values(a.elements))v(e.node,e.styles.inline.generated),e.node.removeAttribute("data-sr-id");for(let e of Object.values(a.containers))S(e).removeEventListener("scroll",y),S(e).removeEventListener("resize",y);R&&cancelAnimationFrame(R),R=0,a={containers:{},elements:{},history:[],sequences:{}}}function ve(){for(let e of a.history)te(e.target,e.options,!0);ee()}var N=()=>(G()&&document.documentElement.classList.remove("sr"),{reveal(){},clean(){},destroy(){},sync(){},defaults:{},version:K,noop:!0});function ne(){if(!G())return!1;let e=document.documentElement.style;return("transform"in e||"WebkitTransform"in e)&&("transition"in e||"WebkitTransition"in e)}function ye(){document.documentElement.classList.add("sr"),document.body?document.body.style.height="100%":document.addEventListener("DOMContentLoaded",()=>{document.body.style.height="100%"},{once:!0})}function he(e={}){if(!G()||!ne())return N();let n;try{if(n=q({},p??ce(),e),!L(n.container)[0])throw new Error("Invalid container.")}catch(t){return P("Invalid configuration.",t.message),N()}return p=n,!p.mobile&&$()||!p.desktop&&!$()?(P("This device is disabled.",`desktop: ${p.desktop}`,`mobile: ${p.mobile}`),N()):(ye(),M||(M={reveal:(t,o)=>te(t,o),clean:B,destroy:pe,sync:ve,get defaults(){return p},version:K,noop:!1},Object.defineProperty(M,"delegate",{value:y})),M)}var X=he;X.isSupported=ne;Object.defineProperty(X,"debug",{get:()=>F,set:e=>{typeof e=="boolean"&&(F=e)}});var oe=X;globalThis.ScrollReveal=oe;})();
|
|
1
|
+
"use strict";(()=>{function F(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function K(e){if(typeof window>"u"||typeof window.matchMedia!="function")return()=>{};let n=window.matchMedia("(prefers-reduced-motion: reduce)"),t=i=>e(!!i.matches);if(typeof n.addEventListener=="function")return n.addEventListener("change",t),()=>n.removeEventListener("change",t);let o=n;return o.addListener?.(t),()=>o.removeListener?.(t)}var ee="4.0.9",B=()=>typeof window<"u"&&typeof document<"u",H=e=>e!==null&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]";function q(e,...n){for(let t of n)if(H(t))for(let o of Object.keys(t)){let i=t[o];H(i)?(H(e[o])||(e[o]={}),q(e[o],i)):e[o]=i}return e}function $(e){if(typeof e=="string")try{return Array.from(document.querySelectorAll(e))}catch{return[]}return e instanceof Element?[e]:e&&typeof e.length=="number"?Array.from(e).filter(n=>n instanceof Element):[]}var A=(e=navigator.userAgent)=>/Android|iPhone|iPad|iPod/i.test(e),D=!1;function G(e,...n){D&&typeof console<"u"&&console.log(`%cScrollReveal: ${e}${n.map(t=>`
|
|
2
|
+
\u2014 ${t}`).join("")}`,"color: #ea654b;")}var L=()=>[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function ae(e,n){let t=[];for(let o=0;o<4;o++)for(let i=0;i<4;i++){let r=0;for(let s=0;s<4;s++)r+=e[i+4*s]*n[4*o+s];t[i+4*o]=r}return t}function le(e){let n=/matrix(3d)?\(([^)]+)\)/.exec(e||"");if(!n)return L();let t=n[2].split(", ").map(parseFloat);if(t.length===16)return t;let o=L();return[o[0],o[1],o[4],o[5],o[12],o[13]]=t,o}function N(e,n){let t=Math.PI/180*n,o=Math.cos(t),i=Math.sin(t),r=L(),[s,l,c,R]=e==="x"?[5,10,6,9]:e==="y"?[0,10,8,2]:[0,5,1,4];return r[s]=r[l]=o,r[c]=i,r[R]=-i,r}function ce(e,n){let t=L();return t[e==="X"?12:13]=n,t}function de(e){let n=L();return n[0]=n[5]=e,n}function w(e,n){for(let t of n.split(";")){let o=t.indexOf(":");if(o<1)continue;let i=t.slice(0,o).trim(),r=t.slice(o+1).trim();i&&r&&e.style.setProperty(i,r)}}function ue(e){let{node:n,config:t}=e,o=window.getComputedStyle(n),i=(n.getAttribute("style")||"").match(/[\w-]+\s*:\s*[^;]+\s*/gi)||[],r=i.map(d=>d.trim()),s=`${r.join("; ")};`,l=i.some(d=>/visibility\s?:\s?visible/i.test(d))?s:`${[...r,"visibility: visible"].join("; ")};`,c=parseFloat(o.opacity),R=t.opacity!==null&&!isNaN(parseFloat(String(t.opacity)))?parseFloat(String(t.opacity)):c,b=c!==R?{computed:`opacity: ${c};`,generated:`opacity: ${R};`}:{computed:"",generated:""},u=[];if(parseFloat(t.distance)){let d=t.origin==="top"||t.origin==="bottom"?"Y":"X",f=t.distance;(t.origin==="top"||t.origin==="left")&&(f=f.startsWith("-")?f.slice(1):`-${f}`);let M=f.match(/(^-?\d+\.?\d?)|(em$|px$|%$)/g)||[],m=Number(M[0]),z=M[1],T;if(z==="em")T=parseInt(o.fontSize,10)*m;else if(z==="px")T=m;else if(z==="%"){let J=n.getBoundingClientRect();T=(d==="Y"?J.height:J.width)*m/100}else throw new RangeError("Unrecognized or missing distance unit.");u.push(ce(d,T))}t.rotate.x&&u.push(N("x",t.rotate.x)),t.rotate.y&&u.push(N("y",t.rotate.y)),t.rotate.z&&u.push(N("z",t.rotate.z)),t.scale!==1&&u.push(de(t.scale===0?2e-4:t.scale));let g={initial:"",final:""};if(u.length){let d=le(o.transform);g={initial:`transform: matrix3d(${u.reduce(ae,d).join(", ")});`,final:`transform: matrix3d(${d.join(", ")});`}}let S={delayed:"",instant:""};if(b.generated||g.initial){let d=m=>`${m/1e3}s`,f=[],M=m=>({delayed:`${m} ${d(t.duration)} ${t.easing} ${d(t.delay)}`,instant:`${m} ${d(t.duration)} ${t.easing} 0s`});o.transition&&!/all 0s|none 0s/.test(o.transition)&&f.push({delayed:o.transition,instant:o.transition}),b.generated&&f.push(M("opacity")),g.initial&&f.push(M("transform")),S={delayed:`transition: ${f.map(m=>m.delayed).join(", ")};`,instant:`transition: ${f.map(m=>m.instant).join(", ")};`}}return{inline:{computed:s,generated:l},opacity:b,position:o.position,transform:g,transition:S}}var x=(...e)=>e.filter(n=>n!=="").join(" "),fe=()=>({delay:0,distance:"0",duration:600,easing:"cubic-bezier(0.5, 0, 0, 1)",interval:0,opacity:0,origin:"bottom",rotate:{x:0,y:0,z:0},scale:1,cleanup:!1,container:document.documentElement,desktop:!0,mobile:!0,reset:!1,useDelay:"always",viewFactor:0,viewOffset:{top:0,right:0,bottom:0,left:0},afterReset:()=>{},afterReveal:()=>{},beforeReset:()=>{},beforeReveal:()=>{}}),p=null,I=null,a={containers:{},elements:{},history:[],sequences:{}},X=!0,j=null,y=0,C=!1,E=null,W=!1,me=0,P=()=>me++;function Z(e,n=!1){let t=e,o=n?t.clientHeight:t.offsetHeight,i=n?t.clientWidth:t.offsetWidth,r=0,s=0,l=t;for(;l;)isNaN(l.offsetTop)||(r+=l.offsetTop),isNaN(l.offsetLeft)||(s+=l.offsetLeft),l=l.offsetParent;return{bounds:{top:r,right:s+i,bottom:r+o,left:s},height:o,width:i}}var be=e=>e.node===document.documentElement?{top:window.pageYOffset,left:window.pageXOffset}:{top:e.node.scrollTop,left:e.node.scrollLeft};function ve(e){let n=a.containers[e.containerId];if(!n||!n.geometry||!n.scroll||!e.geometry)return!1;let t=Math.max(0,Math.min(1,e.config.viewFactor)),o=e.config.viewOffset,i=e.geometry,r={top:i.bounds.top+i.height*t,right:i.bounds.right-i.width*t,bottom:i.bounds.bottom-i.height*t,left:i.bounds.left+i.width*t},s={top:n.geometry.bounds.top+n.scroll.top+o.top,right:n.geometry.bounds.right+n.scroll.left-o.right,bottom:n.geometry.bounds.bottom+n.scroll.top-o.bottom,left:n.geometry.bounds.left+n.scroll.left+o.left};return r.top<s.bottom&&r.right>s.left&&r.bottom>s.top&&r.left<s.right||e.styles.position==="fixed"}function te(e,n=!1){let t=n?e.config.duration+e.config.delay:e.config.duration,o=0;e.timer&&(o=Date.now()-e.timer.start,clearTimeout(e.timer.clock)),(e.revealed?e.config.beforeReveal:e.config.beforeReset)(e.node),e.timer={start:Date.now(),clock:setTimeout(()=>{(e.revealed?e.config.afterReveal:e.config.afterReset)(e.node),e.timer=null,e.revealed&&!e.config.reset&&e.config.cleanup&&V(e.node)},t-o)}}function ge(e,n){let t=e.styles;e.revealed=e.seen=!0,w(e.node,x(t.inline.generated,t.opacity.computed,t.transform.final,n?t.transition.delayed:t.transition.instant)),te(e,n)}function pe(e){let n=e.styles;e.revealed=!1,w(e.node,x(n.inline.generated,n.opacity.generated,n.transform.initial,n.transition.instant)),te(e)}function k(e,n={}){let t=n.pristine||X,o=e.config.useDelay,i=o==="always"||o==="onload"&&t||o==="once"&&!e.seen;if(n.reveal||e.visible&&!e.revealed)return ge(e,i);if(n.reset||!e.visible&&e.revealed&&e.config.reset)return pe(e)}function _(e,n){let t=[],o=[],i=[];return e.members.forEach((r,s)=>{a.elements[r]?.[n]&&o.push(s)}),o.length&&e.members.forEach((r,s)=>{let l=a.elements[r];l&&!l[n]&&(s<o[0]?t:i).push(s)}),{head:t,body:o,foot:i}}function O(e,n,t,o){let i=t<0?"head":"foot",r=a.elements[e.members[n+t]];e.blocked[i]=!0,setTimeout(()=>{e.blocked[i]=!1,r&&ne(r,o)},e.interval)}function ne(e,n=X){if(!e.visible&&e.revealed&&e.config.reset)return k(e,{reset:!0});let t=e.sequence&&a.sequences[e.sequence.id];if(!t||!e.sequence)return;let o=e.sequence.index,i=_(t,"visible"),r=_(t,"revealed");if(!r.body.length){let l=i.body[0],c=a.elements[t.members[l]];if(c)return O(t,l,-1,n),O(t,l,1,n),k(c,{reveal:!0,pristine:n})}let s=l=>l[l.length-1];if(!t.blocked.head&&o===s(r.head)&&o>=(i.body[0]??1/0))return O(t,o,-1,n),k(e,{reveal:!0,pristine:n});if(!t.blocked.foot&&o===r.foot[0]&&o<=(s(i.body)??-1/0))return O(t,o,1,n),k(e,{reveal:!0,pristine:n})}function ye(){y=0;let e=W;W=!1;for(let t of Object.values(a.containers))(e||!t.geometry)&&(t.geometry=Z(t.node,!0)),t.scroll=be(t);let n=Object.values(a.elements);for(let t of n)(e||!t.geometry)&&(t.geometry=Z(t.node)),t.visible=ve(t);for(let t of n)t.sequence?ne(t):k(t);X=!1}function v(e){let n=e?e.type:"init";(n==="init"||n==="resize")&&(W=!0),y||(y=requestAnimationFrame(ye))}var h=e=>e.node===document.documentElement?window:e.node;function oe(){let e=new Set(Array.from(document.querySelectorAll("[data-sr-id]")).map(o=>parseInt(o.getAttribute("data-sr-id")||"",10)));for(let o of Object.values(a.elements))e.has(o.id)||delete a.elements[o.id];let n=new Set,t=new Set;for(let o of Object.values(a.elements))n.add(o.containerId),o.sequence&&t.add(o.sequence.id);for(let o of Object.values(a.containers))n.has(o.id)||(h(o).removeEventListener("scroll",v),h(o).removeEventListener("resize",v),delete a.containers[o.id]);for(let o of Object.values(a.sequences))t.has(o.id)||delete a.sequences[o.id]}function Y(){j=null,oe();let e=C||F();for(let n of Object.values(a.elements)){let t=n.styles;e?(n.visible=n.revealed=n.seen=!0,w(n.node,x(t.inline.generated,t.opacity.computed,t.transform.final,"transition: none;"))):n.visible?(n.revealed=!0,w(n.node,x(t.inline.generated,t.opacity.computed,t.transform.final))):(n.revealed=!1,w(n.node,x(t.inline.generated,t.opacity.generated,t.transform.initial)))}if(e){for(let n of Object.values(a.containers))h(n).removeEventListener("scroll",v),h(n).removeEventListener("resize",v);y&&cancelAnimationFrame(y),y=0;return}for(let n of Object.values(a.containers))h(n).addEventListener("scroll",v),h(n).addEventListener("resize",v);v()}function ie(e,n={},t=!1){if(!p)return;let o=[],i=n.interval||0,r,s;try{if(i){let c=Math.abs(i);if(isNaN(c))throw new RangeError("Invalid sequence interval.");r={id:P(),interval:Math.max(c,16),members:[],blocked:{head:!1,foot:!1}}}let l=$(e);if(!l.length)throw new Error("Invalid reveal target.");s=[];for(let c of l){let R=c.getAttribute("data-sr-id"),b=R!==null?a.elements[Number(R)]:void 0,u=b?q({},b):{id:P(),node:c,seen:!1,revealed:!1,visible:!1};b&&w(c,b.styles.inline.computed);let g=q({},b?b.config:p,n);if(!g.mobile&&A()||!g.desktop&&!A()){b&&V(c);continue}let S=$(g.container)[0];if(!S)throw new Error("Invalid container.");if(!S.contains(c))continue;let d=[...o,...Object.values(a.containers)].find(f=>f.node===S)?.id;d===void 0&&(d=P(),o.push({id:d,node:S})),u.config=g,u.containerId=d,u.styles=ue(u),r&&(u.sequence={id:r.id,index:r.members.length},r.members.push(u.id)),s.push(u)}for(let c of s)a.elements[c.id]=c,c.node.setAttribute("data-sr-id",String(c.id))}catch(l){return G("Reveal failed.",l.message)}for(let l of o)a.containers[l.id]=l;r&&(a.sequences[r.id]=r),t||(a.history.push({target:e,options:n}),j&&clearTimeout(j),j=setTimeout(Y,0))}function V(e){let n=!1;for(let t of $(e)){let o=t.getAttribute("data-sr-id");if(o===null)continue;n=!0;let i=a.elements[Number(o)];i&&(i.timer&&clearTimeout(i.timer.clock),w(i.node,i.styles.inline.generated),delete a.elements[i.id]),t.removeAttribute("data-sr-id")}n&&oe()}function he(){for(let e of Object.values(a.elements))w(e.node,e.styles.inline.generated),e.node.removeAttribute("data-sr-id");for(let e of Object.values(a.containers))h(e).removeEventListener("scroll",v),h(e).removeEventListener("resize",v);y&&cancelAnimationFrame(y),y=0,a={containers:{},elements:{},history:[],sequences:{}},E?.(),E=null,C=!1}function we(){for(let e of a.history)ie(e.target,e.options,!0);Y()}var Q=()=>(B()&&document.documentElement.classList.remove("sr"),{reveal(){},clean(){},destroy(){},sync(){},defaults:{},version:ee,noop:!0});function re(){if(!B())return!1;let e=document.documentElement.style;return("transform"in e||"WebkitTransform"in e)&&("transition"in e||"WebkitTransition"in e)}function Re(){document.documentElement.classList.add("sr"),document.body?document.body.style.height="100%":document.addEventListener("DOMContentLoaded",()=>{document.body.style.height="100%"},{once:!0})}function Se(e={}){if(!B()||!re())return Q();let n;try{if(n=q({},p??fe(),e),!$(n.container)[0])throw new Error("Invalid container.")}catch(t){return G("Invalid configuration.",t.message),Q()}return p=n,!p.mobile&&A()||!p.desktop&&!A()?(G("This device is disabled.",`desktop: ${p.desktop}`,`mobile: ${p.mobile}`),Q()):(Re(),!E&&!C&&!F()&&(E=K(t=>{t&&(E?.(),E=null,C=!0,Y())})),I||(I={reveal:(t,o)=>ie(t,o),clean:V,destroy:he,sync:we,get defaults(){return p},version:ee,noop:!1},Object.defineProperty(I,"delegate",{value:v})),I)}var U=Se;U.isSupported=re;Object.defineProperty(U,"debug",{get:()=>D,set:e=>{typeof e=="boolean"&&(D=e)}});var se=U;globalThis.ScrollReveal=se;})();
|
|
@@ -364,6 +364,45 @@ var SvgScrollDraw = (() => {
|
|
|
364
364
|
};
|
|
365
365
|
}
|
|
366
366
|
|
|
367
|
+
// src/core/motion-watch.ts
|
|
368
|
+
function watchReducedMotion(cb) {
|
|
369
|
+
if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
|
|
370
|
+
return () => {
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
const mq = window.matchMedia("(prefers-reduced-motion: reduce)");
|
|
374
|
+
const handler = (e) => cb(!!e.matches);
|
|
375
|
+
if (typeof mq.addEventListener === "function") {
|
|
376
|
+
mq.addEventListener("change", handler);
|
|
377
|
+
return () => mq.removeEventListener("change", handler);
|
|
378
|
+
}
|
|
379
|
+
const legacy = mq;
|
|
380
|
+
legacy.addListener?.(handler);
|
|
381
|
+
return () => legacy.removeListener?.(handler);
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
// src/core/motion-live.ts
|
|
385
|
+
function finishWhenReduced(options, build) {
|
|
386
|
+
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) return build(options, true);
|
|
387
|
+
let inst = build(options, false);
|
|
388
|
+
const unwatch = watchReducedMotion((reduced) => {
|
|
389
|
+
if (!reduced) return;
|
|
390
|
+
unwatch();
|
|
391
|
+
const finished = (inst.getProgress?.() ?? 0) >= 1;
|
|
392
|
+
inst.destroy();
|
|
393
|
+
inst = build(finished ? { ...options, onComplete: void 0 } : options, true);
|
|
394
|
+
});
|
|
395
|
+
const live = {};
|
|
396
|
+
for (const key of Object.keys(inst)) {
|
|
397
|
+
live[key] = (...args) => inst[key]?.(...args);
|
|
398
|
+
}
|
|
399
|
+
live.destroy = () => {
|
|
400
|
+
unwatch();
|
|
401
|
+
inst.destroy();
|
|
402
|
+
};
|
|
403
|
+
return live;
|
|
404
|
+
}
|
|
405
|
+
|
|
367
406
|
// src/core/engine.ts
|
|
368
407
|
var nativeUid = 0;
|
|
369
408
|
function supportsNativeTimeline() {
|
|
@@ -454,9 +493,11 @@ var SvgScrollDraw = (() => {
|
|
|
454
493
|
}, seek: () => {
|
|
455
494
|
}, getProgress: () => 0 };
|
|
456
495
|
}
|
|
496
|
+
return finishWhenReduced(rawOptions, (options, reduced) => buildEngine(container, options, reduced));
|
|
497
|
+
}
|
|
498
|
+
function buildEngine(container, rawOptions, prefersReduced) {
|
|
457
499
|
const { preset, ...userOptions } = rawOptions;
|
|
458
500
|
const options = preset ? { ...PRESETS[preset], ...userOptions } : userOptions;
|
|
459
|
-
const prefersReduced = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
460
501
|
const {
|
|
461
502
|
selector = "path, polyline, line, polygon, rect, circle",
|
|
462
503
|
speed = 1,
|
|
@@ -1319,21 +1360,25 @@ var SvgScrollDraw = (() => {
|
|
|
1319
1360
|
function supportsNativeTimeline2() {
|
|
1320
1361
|
return typeof CSS !== "undefined" && typeof CSS.supports === "function" && CSS.supports("animation-timeline: view()");
|
|
1321
1362
|
}
|
|
1363
|
+
var NOOP = {
|
|
1364
|
+
destroy: () => {
|
|
1365
|
+
},
|
|
1366
|
+
replay: () => {
|
|
1367
|
+
},
|
|
1368
|
+
pause: () => {
|
|
1369
|
+
},
|
|
1370
|
+
resume: () => {
|
|
1371
|
+
},
|
|
1372
|
+
seek: () => {
|
|
1373
|
+
},
|
|
1374
|
+
getProgress: () => 0
|
|
1375
|
+
};
|
|
1322
1376
|
function createAnimateEngine(el, options) {
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
pause: () => {
|
|
1329
|
-
},
|
|
1330
|
-
resume: () => {
|
|
1331
|
-
},
|
|
1332
|
-
seek: () => {
|
|
1333
|
-
},
|
|
1334
|
-
getProgress: () => 0
|
|
1335
|
-
};
|
|
1336
|
-
if (typeof window === "undefined") return NOOP3;
|
|
1377
|
+
if (typeof window === "undefined") return NOOP;
|
|
1378
|
+
if (options.respectReducedMotion === false) return buildAnimateEngine(el, options, false);
|
|
1379
|
+
return finishWhenReduced(options, (opts, reduced) => buildAnimateEngine(el, opts, reduced));
|
|
1380
|
+
}
|
|
1381
|
+
function buildAnimateEngine(el, options, prefersReduced) {
|
|
1337
1382
|
const {
|
|
1338
1383
|
props,
|
|
1339
1384
|
trigger = {},
|
|
@@ -1344,7 +1389,6 @@ var SvgScrollDraw = (() => {
|
|
|
1344
1389
|
scrollContainer,
|
|
1345
1390
|
native = true,
|
|
1346
1391
|
velocityScale = false,
|
|
1347
|
-
respectReducedMotion = true,
|
|
1348
1392
|
triggerElement,
|
|
1349
1393
|
onProgress,
|
|
1350
1394
|
onComplete,
|
|
@@ -1353,7 +1397,6 @@ var SvgScrollDraw = (() => {
|
|
|
1353
1397
|
onEnterBack,
|
|
1354
1398
|
onLeaveBack
|
|
1355
1399
|
} = options;
|
|
1356
|
-
const prefersReduced = respectReducedMotion && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
1357
1400
|
const easeFn = typeof easing === "function" ? easing : EASINGS[easing] ?? EASINGS["ease-out"];
|
|
1358
1401
|
const startConfig = parseTrigger(trigger.start ?? "top bottom");
|
|
1359
1402
|
const endConfig = parseTrigger(trigger.end ?? "bottom top");
|
|
@@ -1390,7 +1433,7 @@ var SvgScrollDraw = (() => {
|
|
|
1390
1433
|
if (prefersReduced) {
|
|
1391
1434
|
applyFinal();
|
|
1392
1435
|
onComplete?.();
|
|
1393
|
-
return { ...
|
|
1436
|
+
return { ...NOOP, destroy: restoreInline, getProgress: () => 1 };
|
|
1394
1437
|
}
|
|
1395
1438
|
resolveFromValues();
|
|
1396
1439
|
const cssTiming = typeof easing === "string" ? cssTimingFor(easing) : null;
|
|
@@ -1638,7 +1681,7 @@ var SvgScrollDraw = (() => {
|
|
|
1638
1681
|
}
|
|
1639
1682
|
|
|
1640
1683
|
// src/animate/index.ts
|
|
1641
|
-
var
|
|
1684
|
+
var NOOP2 = {
|
|
1642
1685
|
destroy: () => {
|
|
1643
1686
|
},
|
|
1644
1687
|
replay: () => {
|
|
@@ -1652,20 +1695,20 @@ var SvgScrollDraw = (() => {
|
|
|
1652
1695
|
getProgress: () => 0
|
|
1653
1696
|
};
|
|
1654
1697
|
function scrollAnimate(target, options) {
|
|
1655
|
-
if (typeof window === "undefined") return
|
|
1698
|
+
if (typeof window === "undefined") return NOOP2;
|
|
1656
1699
|
const el = typeof target === "string" ? document.querySelector(target) : target;
|
|
1657
1700
|
if (!el) {
|
|
1658
1701
|
warn("scrollAnimate: element not found:", target);
|
|
1659
|
-
return
|
|
1702
|
+
return NOOP2;
|
|
1660
1703
|
}
|
|
1661
1704
|
return createAnimateEngine(el, options);
|
|
1662
1705
|
}
|
|
1663
1706
|
function scrollParallax(target, options = {}) {
|
|
1664
|
-
if (typeof window === "undefined") return
|
|
1707
|
+
if (typeof window === "undefined") return NOOP2;
|
|
1665
1708
|
const el = typeof target === "string" ? document.querySelector(target) : target;
|
|
1666
1709
|
if (!el) {
|
|
1667
1710
|
warn("scrollParallax: element not found:", target);
|
|
1668
|
-
return
|
|
1711
|
+
return NOOP2;
|
|
1669
1712
|
}
|
|
1670
1713
|
const { speed = 0.3, axis = "y", easing = "linear", trigger, onProgress } = options;
|
|
1671
1714
|
const travel = -speed * 100;
|
|
@@ -1688,7 +1731,7 @@ var SvgScrollDraw = (() => {
|
|
|
1688
1731
|
}
|
|
1689
1732
|
|
|
1690
1733
|
// src/counter/index.ts
|
|
1691
|
-
var
|
|
1734
|
+
var NOOP3 = {
|
|
1692
1735
|
destroy: () => {
|
|
1693
1736
|
},
|
|
1694
1737
|
replay: () => {
|
|
@@ -1702,13 +1745,15 @@ var SvgScrollDraw = (() => {
|
|
|
1702
1745
|
getProgress: () => 0
|
|
1703
1746
|
};
|
|
1704
1747
|
function scrollCounter(target, options) {
|
|
1705
|
-
if (typeof window === "undefined") return
|
|
1748
|
+
if (typeof window === "undefined") return NOOP3;
|
|
1706
1749
|
const raw = typeof target === "string" ? document.querySelector(target) : target;
|
|
1707
1750
|
if (!raw) {
|
|
1708
1751
|
warn("scrollCounter: element not found:", target);
|
|
1709
|
-
return
|
|
1752
|
+
return NOOP3;
|
|
1710
1753
|
}
|
|
1711
|
-
|
|
1754
|
+
return finishWhenReduced(options, (opts, reduced) => buildCounter(raw, opts, reduced));
|
|
1755
|
+
}
|
|
1756
|
+
function buildCounter(el, options, prefersReduced) {
|
|
1712
1757
|
const {
|
|
1713
1758
|
from = 0,
|
|
1714
1759
|
to,
|
|
@@ -1723,11 +1768,10 @@ var SvgScrollDraw = (() => {
|
|
|
1723
1768
|
const easeFn = typeof easing === "function" ? easing : EASINGS[easing] ?? EASINGS["ease-out"];
|
|
1724
1769
|
const startConfig = parseTrigger(trigger.start ?? "top 80%");
|
|
1725
1770
|
const endConfig = parseTrigger(trigger.end ?? "top 20%");
|
|
1726
|
-
const prefersReduced = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
1727
1771
|
if (prefersReduced) {
|
|
1728
1772
|
el.textContent = fmt(to);
|
|
1729
1773
|
onComplete?.();
|
|
1730
|
-
return
|
|
1774
|
+
return { ...NOOP3, getProgress: () => 1 };
|
|
1731
1775
|
}
|
|
1732
1776
|
let tStart = 0;
|
|
1733
1777
|
let tEnd = 0;
|
|
@@ -1994,8 +2038,18 @@ var SvgScrollDraw = (() => {
|
|
|
1994
2038
|
return { tStart, tEnd: tStart + Math.max(0, mount.offsetHeight - window.innerHeight) };
|
|
1995
2039
|
}
|
|
1996
2040
|
});
|
|
2041
|
+
const unwatchMotion = watchReducedMotion((reduced) => {
|
|
2042
|
+
if (!reduced) return;
|
|
2043
|
+
unwatchMotion();
|
|
2044
|
+
stop();
|
|
2045
|
+
observer2.disconnect();
|
|
2046
|
+
_unregister(mount);
|
|
2047
|
+
progress = 1;
|
|
2048
|
+
apply(1);
|
|
2049
|
+
});
|
|
1997
2050
|
return {
|
|
1998
2051
|
destroy() {
|
|
2052
|
+
unwatchMotion();
|
|
1999
2053
|
stop();
|
|
2000
2054
|
observer2.disconnect();
|
|
2001
2055
|
_unregister(mount);
|