svg-scroll-draw 2.16.1 → 2.17.1

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.
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- 'use strict';var gr=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var gr__default=/*#__PURE__*/_interopDefault(gr);function Ut({bounces:e=3,decay:n=.5}={}){let r=Math.max(1,Math.round(e)),t=Math.max(.01,Math.min(.99,n)),i=Math.sqrt(t),o=0,a=[];for(let p=0;p<r;p++){let S=Math.pow(i,p);a.push(S),o+=S;}let u=[0],m=0;for(let p=0;p<r;p++)m+=a[p]/o,u.push(m);return p=>{if(p<=0)return 0;if(p>=1)return 1;for(let S=0;S<r;S++)if(p<=u[S+1]){let R=(p-u[S])/(u[S+1]-u[S]);if(S===0)return R*(2-R);let M=1-Math.pow(t,S);return M+(1-M)*(2*R-1)*(2*R-1)}return 1}}function jt({amplitude:e=1,period:n=.4}={}){let r=Math.max(1,e),t=Math.max(.1,n),i=r<=1?t/4:t/(2*Math.PI)*Math.asin(1/r);return o=>o<=0?0:o>=1?1:r*Math.pow(2,-10*o)*Math.sin((o-i)*(2*Math.PI)/t)+1}var Z={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:Ut(),elastic:jt()};function ht(e,n,r){return Math.min(r,Math.max(n,e))}function se(e="top bottom"){let n=e.trim();if(/^\d+(\.\d+)?%$/.test(n))return {element:"top",viewport:n};let[r="top",t="bottom"]=n.split(/\s+/).filter(Boolean);return {element:r,viewport:t}}function bt(e,n,r,t){switch(t){case "top":return e+r;case "center":return e+r+n/2;case "bottom":return e+r+n;default:return e+r}}function wt(e,n){if(/^\d+(\.\d+)?%$/.test(e))return n*(parseFloat(e)/100);switch(e){case "top":return 0;case "center":return n/2;case "bottom":return n;default:return n}}function J(e,n,r,t){return r===n?0:ht((e-n)/(r-n)*t,0,1)}function we(e,n,r,t,i){let o=bt(e.top,e.height,n,t.element)-wt(t.viewport,r),a=bt(e.top,e.height,n,i.element)-wt(i.viewport,r);return {tStart:o,tEnd:a}}function Ke(e,n,r){let t=e.getBoundingClientRect(),i=r==="x"?t.width:t.height;return n?{top:r==="x"?t.left-n.getBoundingClientRect().left+n.scrollLeft:t.top-n.getBoundingClientRect().top+n.scrollTop,height:i,scroll:0}:{top:r==="x"?t.left:t.top,height:i,scroll:r==="x"?window.scrollX:window.scrollY}}function Ve(e){let n=e.tagName.toLowerCase();if(n==="rect"){let r=parseFloat(e.getAttribute("width")??"0"),t=parseFloat(e.getAttribute("height")??"0");return 2*(r+t)}if(n==="circle"){let r=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*r}return e.getTotalLength()}function vt(e){let n=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(n)return [parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[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 t=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return t?[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]:null}function _e(e,n,r){let t=vt(e),i=vt(n);return !t||!i?e:`rgb(${Math.round(t[0]+(i[0]-t[0])*r)},${Math.round(t[1]+(i[1]-t[1])*r)},${Math.round(t[2]+(i[2]-t[2])*r)})`}var Et={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 Be=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function ve(e,...n){Be&&console.warn(`[svg-scroll-draw] ${e}`,...n);}var Xt="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Yt="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",St=33;function Qt(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Zt(e){let n=[];for(let r=0;r<St;r++){let t=r/(St-1);n.push(String(Math.round(e(t)*1e5)/1e5));}return `linear(${n.join(",")})`}function et(e){switch(e){case "linear":return "linear";case "ease-in":return Xt;case "ease-out":return Yt;case "ease-in-out":return Qt()?Zt(Z["ease-in-out"]):null;default:return null}}var Tt=Symbol.for("svg-scroll-draw.registry");function xt(){let e=globalThis;return e[Tt]||(e[Tt]=new Map)}function Pe(e,n){xt().set(e,n);}function Ce(e){xt().delete(e);}var Jt=0;function Kt(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function At(e,n){let r="";try{r=getComputedStyle(e).getPropertyValue(n).trim();}catch{}return r||(e.getAttribute(n)??"").trim()}var Mt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function er(e){if(!Be)return;let n=At(e,"stroke");if(!n||n==="none"){ve("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!Mt.has(r)&&!Mt.has(At(e,"fill"))&&ve("Element has a fill \u2014 it may obscure the stroke animation.",e);}function tr(e,n,r){let t=document.createElement("div");t.setAttribute("data-svg-scroll-draw-debug",""),t.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 i(){let o=r==="x"?window.scrollX:window.scrollY,a=e-o,u=n-o,m=r==="x";t.innerHTML=`
3
- <div style="position:absolute;${m?`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>
4
- <div style="position:absolute;${m?`left:${u}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${u}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",i,{passive:true}),i(),{el:t,destroy(){window.removeEventListener("scroll",i),t.remove();}}}var Lt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Pt=/[MmLlHhVvCcSsQqTtAaZz]/g;function rr(e,n,r){if(!Be)return;let t=(e.match(Pt)??[]).join("").toUpperCase(),i=(n.match(Pt)??[]).join("").toUpperCase(),o=(e.match(Lt)??[]).length,a=(n.match(Lt)??[]).length;if(t!==i){ve(`morphTo: command sequence differs (${t||"\u2205"} \u2192 ${i||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,r);return}o!==a&&ve(`morphTo: coordinate count differs (${o} \u2192 ${a}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function at(e,n,r){let t=(n.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),i=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,o=>{let a=parseFloat(o),u=t[i++]??a;return String(+(a+(u-a)*r).toFixed(4))})}function Ct(e,n={}){if(typeof window>"u")return {destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};let{preset:r,...t}=n,i=r?{...Et[r],...t}:t,o=window.matchMedia("(prefers-reduced-motion: reduce)").matches,{selector:a="path, polyline, line, polygon, rect, circle",speed:u=1,fade:m=false,easing:p="linear",trigger:S={},stagger:R=0,direction:M="forward",once:re=false,debug:Ee=false,axis:H="y",scrollContainer:W,autoReverse:O=false,delay:z=0,strokeColor:L,strokeWidth:P,fillOpacity:x,waypoints:b,velocityScale:C=false,threshold:k=0,rootMargin:w="0px",repeat:g=0,repeatDelay:j=0,morphTo:N,clip:B,autoplay:X=false,duration:ie=1e3,native:le=true,onProgress:d,onStart:$,onComplete:y,onEnter:I,onLeave:A,onEnterBack:V,onLeaveBack:pe}=i,ne=B===true?"left":typeof B=="string"?B:false,xe=typeof p=="function"?p:Z[p]??Z.linear,$e=se(S.start??"top bottom"),He=se(S.end??"bottom top"),Se=typeof W=="string"?document.querySelector(W):W??null,Te=Array.isArray(L)?L[0]:null,ce=Array.isArray(L)?L[1]:typeof L=="string"?L:null,ue=Array.isArray(P)?P[0]:null,K=Array.isArray(P)?P[1]:typeof P=="number"?P:null,de=Array.isArray(x)?x[0]:null,oe=Array.isArray(x)?x[1]:typeof x=="number"?x:null;function Re(s){let c=s*100;switch(ne){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(${s*150}% at 50% 50%)`;default:return `inset(0 ${100-c}% 0 0)`}}let G=ne?[]:Array.from(e.querySelectorAll(a)),F=[],l=[],f=0,ge=0,_=false,U=false,Y=0,Me=false,ye=-1,ae=-1,ee=false,he=0,Ie=0,Fe,rt=null;function ct(){rt?.destroy(),rt=null;}let Oe=new Set,ut=NaN,De=true,je=-1,mt=performance.now(),ze=NaN;function nt(){return Se?H==="x"?Se.scrollLeft:Se.scrollTop:H==="x"?window.scrollX:window.scrollY}function ft(){return Se?H==="x"?Se.clientWidth:Se.clientHeight:H==="x"?window.innerWidth:window.innerHeight}function pt(){let s=Ke(e,Se,H);return we(s,s.scroll,ft(),$e,He)}function dt(){(({tStart:f,tEnd:ge}=pt())),Ee&&Be&&(ct(),rt=tr(f,ge,H));}function ot(s,c=pt){Pe(e,{type:"draw",getProgress:()=>s.getProgress(),getTrigger:c});let E=s.destroy;return s.destroy=()=>{E.call(s),Ce(e);},s}function qt(s,c){if(e.style.setProperty("--scroll-draw-progress",String(s)),ne){let E=c==="reverse"?1-s:s;e.style.clipPath=Re(E);return}G.forEach((E,me)=>{E.style.strokeDashoffset=c==="reverse"?`${F[me]*s}`:`${F[me]*(1-s)}`,m&&(E.style.opacity=c==="reverse"?`${1-s}`:`${s}`),Te&&ce?E.style.stroke=_e(Te,ce,s):ce&&(E.style.stroke=ce),ue!==null&&K!==null?E.style.strokeWidth=`${ue+(K-ue)*s}`:K!==null&&(E.style.strokeWidth=`${K}`),de!==null&&oe!==null?E.style.fillOpacity=`${de+(oe-de)*s}`:oe!==null&&(E.style.fillOpacity=`${oe}`),N&&E.tagName.toLowerCase()==="path"&&l[me]&&E.setAttribute("d",at(l[me],N,s));});}function Xe(){if(e.style.setProperty("--scroll-draw-progress","0"),ne){e.style.clipPath=Re(0);return}G.forEach((s,c)=>{s.style.strokeDasharray=`${F[c]}`,s.style.strokeDashoffset=M==="reverse"?"0":`${F[c]}`,m?s.style.opacity=M==="reverse"?"1":"0":s.style.opacity="",Te&&(s.style.stroke=Te),ue!==null&&(s.style.strokeWidth=`${ue}`),de!==null&&(s.style.fillOpacity=`${de}`),N&&s.tagName.toLowerCase()==="path"&&l[c]&&s.setAttribute("d",l[c]);});}if(G.forEach(s=>{er(s);let c=Ve(s);F.push(c);let E=s.tagName.toLowerCase()==="path";E?l.push(s.getAttribute("d")??""):l.push(""),N&&(E?rr(l[l.length-1],N,s):ve(`morphTo only applies to <path> elements \u2014 ignored on <${s.tagName}>.`,s)),o?(s.style.strokeDasharray=`${c}`,s.style.strokeDashoffset=M==="reverse"?`${c}`:"0",m&&(s.style.opacity="1"),ce&&(s.style.stroke=ce),K!==null&&(s.style.strokeWidth=`${K}`),oe!==null&&(s.style.fillOpacity=`${oe}`),N&&s.tagName.toLowerCase()==="path"&&s.setAttribute("d",N)):(s.style.strokeDasharray=`${c}`,s.style.strokeDashoffset=M==="reverse"?"0":`${c}`,m?s.style.opacity=M==="reverse"?"1":"0":s.style.opacity="",Te&&(s.style.stroke=Te),ue!==null&&(s.style.strokeWidth=`${ue}`),de!==null&&(s.style.fillOpacity=`${de}`));}),ne){if(o)return e.style.clipPath=Re(1),y?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};e.style.clipPath=Re(0);}else if(o)return y?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};let gt=typeof p=="string"?et(p):null;function Wt(){return !(le===false||!Kt()||!G.length||!gt||ne||H!=="y"||Se||u!==1||R!==0||re||O||C!==false||N||b||g||z>0||d||$||y||I||A||V||pe||L!=null||P!=null||x!=null||(S.start??"top bottom").trim()!=="top bottom"||(S.end??"bottom top").trim()!=="bottom top")}function Bt(){let s=++Jt,c=`svg-scroll-draw-${s}`,E=`svg-scroll-draw-host-${s}`,me=`--svg-scroll-draw-${s}`,Ne=M==="reverse"?"0":"var(--ssd-len)",ke=M==="reverse"?"var(--ssd-len)":"0",Le=`stroke-dashoffset:${Ne};`,T=`stroke-dashoffset:${ke};`;m&&(Le+=`opacity:${M==="reverse"?1:0};`,T+=`opacity:${M==="reverse"?0:1};`);let D=document.createElement("style");D.setAttribute("data-svg-scroll-draw",""),D.textContent=`@keyframes ${c}{from{${Le}}to{${T}}}.${E}{view-timeline-name:${me};view-timeline-axis:block;}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${gt};animation-fill-mode:both;animation-timeline:${me};animation-range:cover 0% cover 100%;}`,document.head.appendChild(D),e.classList.add(E);function fe(h,te){h.style.setProperty("--ssd-len",String(F[te])),h.style.strokeDasharray=`${F[te]}`,h.style.strokeDashoffset="",h.style.opacity="",h.style.animationPlayState="",h.classList.add(c);}G.forEach(fe);let v=false,q=-1;function Q(){if(q>=0)return q;let h=e.getBoundingClientRect(),{tStart:te,tEnd:Ae}=we({top:h.top,height:h.height},nt(),ft(),$e,He);return xe(J(nt(),te,Ae,u))}return {destroy(){e.classList.remove(E),G.forEach(h=>{h.classList.remove(c),h.style.removeProperty("--ssd-len"),h.style.animationPlayState="";}),D.remove();},replay(){v=false,q=-1,G.forEach(fe);},pause(){v=true,G.forEach(h=>{h.style.animationPlayState="paused";});},resume(){v&&(v=false,G.forEach(h=>{h.style.animationPlayState="running";}));},seek(h){let te=Math.min(1,Math.max(0,h));q=te,v=true,G.forEach((Ae,be)=>{Ae.classList.remove(c),Ae.style.strokeDashoffset=M==="reverse"?`${F[be]*te}`:`${F[be]*(1-te)}`,m&&(Ae.style.opacity=M==="reverse"?`${1-te}`:`${te}`);});},getProgress(){return Q()},refresh(){G.forEach((h,te)=>{F[te]=Ve(h),h.style.setProperty("--ssd-len",String(F[te])),h.style.strokeDasharray=`${F[te]}`;});}}}if(Wt())return ot(Bt());function Gt(){let s=Math.max(1,ie),c=0,E=0,me=false;function Ne(v){let q=true;if(ne){let Q=Math.min(1,Math.max(0,v/s)),h=xe(Q);he=h,e.style.setProperty("--scroll-draw-progress",String(h)),e.style.clipPath=Re(M==="reverse"?1-h:h),d?.(h),Q<1&&(q=false);}else G.forEach((Q,h)=>{let te=h*R*s,Ae=Math.min(1,Math.max(0,(v-te)/s)),be=xe(Ae);Q.style.strokeDashoffset=M==="reverse"?`${F[h]*be}`:`${F[h]*(1-be)}`,m&&(Q.style.opacity=M==="reverse"?`${1-be}`:`${be}`),Te&&ce?Q.style.stroke=_e(Te,ce,be):ce&&(Q.style.stroke=ce),ue!==null&&K!==null?Q.style.strokeWidth=`${ue+(K-ue)*be}`:K!==null&&(Q.style.strokeWidth=`${K}`),de!==null&&oe!==null?Q.style.fillOpacity=`${de+(oe-de)*be}`:oe!==null&&(Q.style.fillOpacity=`${oe}`),N&&Q.tagName.toLowerCase()==="path"&&l[h]&&Q.setAttribute("d",at(l[h],N,be)),h===0&&(he=be,d?.(be),e.style.setProperty("--scroll-draw-progress",String(be))),Ae<1&&(q=false);});if(b){let Q=Math.min(1,Math.max(0,v/s)),h=xe(Q);for(let te in b){let Ae=parseFloat(te);h>=Ae&&!Oe.has(Ae)&&(Oe.add(Ae),b[te]?.());}}return q}function ke(v){if(ee)return;let q=v-c;U||(U=true,$?.());let Q=Ne(q);if(Q&&!_){_=true,Ne(s*(1+Math.max(0,G.length-1)*R)),y?.(),Ie<(g==="infinite"?1/0:g??0)&&(Ie++,Fe=setTimeout(()=>{c=performance.now(),U=false,_=false,Oe.clear(),Xe(),Y=requestAnimationFrame(ke);},j));return}Q||(Y=requestAnimationFrame(ke));}function Le(){cancelAnimationFrame(Y),clearTimeout(Fe),c=performance.now(),E=0,ee=false,U=false,_=false,Ie=0,me=true,he=0,Oe.clear(),Xe(),Y=requestAnimationFrame(ke);}let T=new IntersectionObserver(v=>{v.forEach(q=>{q.isIntersecting&&!(re&&_)?Le():!q.isIntersecting&&!re&&!_&&(cancelAnimationFrame(Y),clearTimeout(Fe),me=false);});},{root:Se??null,threshold:k,rootMargin:w}),D;function fe(){clearTimeout(D),D=setTimeout(()=>{G.forEach((v,q)=>{F[q]=Ve(v),v.style.strokeDasharray=`${F[q]}`;});},150);}return window.addEventListener("resize",fe),window.addEventListener("orientationchange",fe),z>0?setTimeout(()=>T.observe(e),z):T.observe(e),{destroy(){cancelAnimationFrame(Y),clearTimeout(Fe),T.disconnect(),window.removeEventListener("resize",fe),window.removeEventListener("orientationchange",fe),clearTimeout(D);},replay(){Ie=0,Le();},pause(){ee||!me||(ee=true,E=performance.now()-c,cancelAnimationFrame(Y));},resume(){ee&&(ee=false,me=true,c=performance.now()-E,Y=requestAnimationFrame(ke));},seek(v){let q=Math.min(1,Math.max(0,v));he=q,ee=true,E=q*s,c=performance.now()-E,cancelAnimationFrame(Y),Ne(E);},getProgress(){return he},refresh(){clearTimeout(D),G.forEach((v,q)=>{F[q]=Ve(v),v.style.strokeDasharray=`${F[q]}`;});}}}if(X)return ot(Gt());dt();function Ye(){if(!Me||ee)return;let s=performance.now(),c=nt();if(!De&&C===false&&c===ut){Y=requestAnimationFrame(Ye);return}De=false,ut=c;let E=u;if(C!==false){let T=s-mt,D=T>0?Math.abs(c-(je<0?c:je))/T:0;E=u*Math.max(.2,1+D*(typeof C=="number"?C:1)*.04);}je=c,mt=s;let me=O?ae===-1||c>=ae?"forward":"reverse":M;ae=c;let Ne=ge-f,ke=true,Le=Ne===0?0:(c-f)/Ne;if(isNaN(ze)||(ze<=0&&Le>0?I?.():ze>0&&Le<=0&&pe?.(),ze<1&&Le>=1?A?.():ze>=1&&Le<1&&V?.()),ze=Le,ne){let T=xe(J(c,f,ge,E));re&&!O&&(ye=Math.max(ye,T),T=ye),he=T,e.style.setProperty("--scroll-draw-progress",String(T));let D=me==="reverse"?1-T:T;e.style.clipPath=Re(D),d?.(T),!U&&J(c,f,ge,E)>0&&(U=true,$?.()),T>=1&&!_?(_=true,y?.(),Ie<(g==="infinite"?1/0:g??0)&&(Ie++,Fe=setTimeout(()=>{ye=-1,U=false,_=false,e.style.clipPath=Re(0);},j))):T<1&&!re&&(_=false),Y=requestAnimationFrame(Ye);return}if(G.forEach((T,D)=>{let fe=D*R*Ne,v=xe(J(c,f+fe,ge+fe,E));re&&!O&&(ye=Math.max(ye,v),v=ye),he=v,T.style.strokeDashoffset=me==="reverse"?`${F[D]*v}`:`${F[D]*(1-v)}`,m&&(T.style.opacity=me==="reverse"?`${1-v}`:`${v}`),Te&&ce?T.style.stroke=_e(Te,ce,v):ce&&(T.style.stroke=ce),ue!==null&&K!==null?T.style.strokeWidth=`${ue+(K-ue)*v}`:K!==null&&(T.style.strokeWidth=`${K}`),de!==null&&oe!==null?T.style.fillOpacity=`${de+(oe-de)*v}`:oe!==null&&(T.style.fillOpacity=`${oe}`),N&&T.tagName.toLowerCase()==="path"&&l[D]&&T.setAttribute("d",at(l[D],N,v)),D===0&&(d?.(v),e.style.setProperty("--scroll-draw-progress",String(v))),v<1&&(ke=false);}),b){let T=xe(J(c,f,ge,E));for(let D in b){let fe=parseFloat(D);T>=fe&&!Oe.has(fe)&&(Oe.add(fe),b[D]?.());}}!U&&J(c,f,ge,E)>0&&(U=true,$?.()),ke&&!_?(_=true,y?.(),Ie<(g==="infinite"?1/0:g??0)&&(Ie++,Fe=setTimeout(()=>{ye=-1,U=false,_=false,Oe.clear(),Xe(),De=true;},j))):!ke&&!re&&(_=false),Y=requestAnimationFrame(Ye);}let st=false;function Qe(){st||(st=true,Y=requestAnimationFrame(function(){Ye();}));}function Ze(){st=false,cancelAnimationFrame(Y);}let it=new IntersectionObserver(s=>{s.forEach(c=>{Me=c.isIntersecting,Me&&!ee?(De=true,Qe()):Ze();});},{root:Se??null,threshold:k,rootMargin:w});function yt(){G.forEach((s,c)=>{F[c]=Ve(s),s.style.strokeDasharray=`${F[c]}`;}),dt(),De=true;}let Je;function qe(){clearTimeout(Je),Je=setTimeout(yt,150);}window.addEventListener("resize",qe),window.addEventListener("orientationchange",qe);let We;return typeof ResizeObserver<"u"&&(We=new ResizeObserver(()=>qe()),We.observe(document.body),We.observe(document.documentElement),We.observe(e)),z>0?setTimeout(()=>it.observe(e),z):it.observe(e),ot({destroy(){cancelAnimationFrame(Y),clearTimeout(Fe),Ze(),it.disconnect(),We?.disconnect(),window.removeEventListener("resize",qe),window.removeEventListener("orientationchange",qe),clearTimeout(Je),ct();},replay(){ye=-1,ae=-1,je=-1,U=false,_=false,Ie=0,ee=false,he=0,Oe.clear(),clearTimeout(Fe),Xe(),De=true,Me&&Qe();},pause(){ee=true,Ze();},resume(){ee&&(ee=false,De=true,Me&&Qe());},seek(s){let c=Math.min(1,Math.max(0,s));he=c,ye=c,ee=true,Ze(),qt(c,M),De=true;},getProgress(){return he},refresh(){clearTimeout(Je),yt(),Me&&!ee&&Qe();}},()=>({tStart:f,tEnd:ge}))}function nr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function $t(e){let n=[],r=/([\w]+)\(([^)]*)\)/g,t;for(;(t=r.exec(e))!==null;){let i=[],o=[],a=t[2].trim();if(a)for(let u of a.split(/[\s,]+/)){let m=u.match(/^([-+]?[\d.eE]+)(.*)$/);i.push(m?parseFloat(m[1]):0),o.push(m?m[2]:"");}n.push({fn:t[1],nums:i,units:o});}return n}function or(e,n,r){let t=$t(e),i=$t(n);return t.length===0||t.length!==i.length?r<1?e:n:t.map((o,a)=>{let u=i[a];return o.fn!==u.fn||o.nums.length!==u.nums.length?r<1?`${o.fn}(${o.nums.map((m,p)=>`${m}${o.units[p]}`).join(", ")})`:`${u.fn}(${u.nums.map((m,p)=>`${m}${u.units[p]}`).join(", ")})`:`${o.fn}(${o.nums.map((m,p)=>`${m+(u.nums[p]-m)*r}${o.units[p]}`).join(", ")})`}).join(" ")}function Rt(e,n,r){if(typeof e=="number"&&typeof n=="number")return String(e+(n-e)*r);let t=String(e),i=String(n);if(nr(t))return _e(t,i,r);if(t.includes("("))return or(t,i,r);let o=t.match(/^([-+]?[\d.]+)(.*)$/),a=i.match(/^([-+]?[\d.]+)(.*)$/);if(o&&a){let u=parseFloat(o[1]),m=parseFloat(a[1]);return `${u+(m-u)*r}${o[2]||a[2]}`}return r<1?t:i}function sr(e){return e.replace(/([A-Z])/g,n=>`-${n.toLowerCase()}`)}var ir=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),ar=0,kt="--scroll-draw-progress";function lr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}function It(e,n){let r={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return r;let{props:t,trigger:i={},easing:o="ease-out",speed:a=1,once:u=false,axis:m="y",scrollContainer:p,native:S=true,velocityScale:R=false,respectReducedMotion:M=true,triggerElement:re,onProgress:Ee,onComplete:H,onEnter:W,onLeave:O,onEnterBack:z,onLeaveBack:L}=n,P=M&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,x=typeof o=="function"?o:Z[o]??Z["ease-out"],b=se(i.start??"top bottom"),C=se(i.end??"bottom top"),k=re??e,w=typeof p=="string"?document.querySelector(p):p??null,g=Object.entries(t).map(([l,f])=>({prop:sr(l),from:Array.isArray(f)?f[0]:"",to:Array.isArray(f)?f[1]:f}));function j(){let l=window.getComputedStyle(e);for(let f of g)f.from===""&&(f.from=l.getPropertyValue(f.prop).trim()||"0");}function N(){for(let l of g)e.style.setProperty(l.prop,String(l.to));}let B=new Map;for(let l of [...g.map(f=>f.prop),kt])B.set(l,e.style.getPropertyValue(l));function X(){for(let[l,f]of B)f?e.style.setProperty(l,f):e.style.removeProperty(l);}if(P)return N(),H?.(),{...r,destroy:X,getProgress:()=>1};j();let ie=typeof o=="string"?et(o):null;function le(){if(!S||!lr()||!ie||m!=="y"||w||k!==e||u||a!==1||Ee||H||W||O||z||L||R!==false||(i.start??"top bottom").trim()!=="top bottom"||(i.end??"bottom top").trim()!=="bottom top")return false;for(let l of g)if(!ir.has(l.prop))return false;return true}function d(){let l=`ssd-a-${++ar}`,f=g.map(ae=>`${ae.prop}:${ae.from}`).join(";"),ge=g.map(ae=>`${ae.prop}:${ae.to}`).join(";"),_=document.createElement("style");_.setAttribute("data-ssd-animate",""),_.textContent=`@keyframes ${l}{from{${f}}to{${ge}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${ie};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(_),e.classList.add(l);let U=()=>m==="x"?window.scrollX:window.scrollY,Y=()=>m==="x"?window.innerWidth:window.innerHeight,Me=()=>{let ae=e.getBoundingClientRect();return we({top:ae.top,height:ae.height},U(),Y(),b,C)};Pe(e,{type:"animate",getProgress:()=>ye.getProgress(),getTrigger:Me});let ye={destroy(){e.classList.remove(l),_.remove(),e.style.animationPlayState="",X(),Ce(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(ae){let ee=Math.min(1,Math.max(0,ae));e.classList.remove(l);for(let he of g)e.style.setProperty(he.prop,Rt(he.from,he.to,ee));},getProgress(){let{tStart:ae,tEnd:ee}=Me();return x(J(U(),ae,ee,a))}};return ye}if(le())return d();let $=0,y=0,I=0,A=false,V=false,pe=-1,ne=0,xe=false,$e=NaN,He=-1,Se=0,Te=()=>w?m==="x"?w.scrollLeft:w.scrollTop:m==="x"?window.scrollX:window.scrollY,ce=()=>w?m==="x"?w.clientWidth:w.clientHeight:m==="x"?window.innerWidth:window.innerHeight;function ue(){let l=Ke(k,w,m),f=we(l,l.scroll,ce(),b,C);$=f.tStart,y=f.tEnd;}function K(l){e.style.setProperty(kt,String(l));for(let f of g)e.style.setProperty(f.prop,Rt(f.from,f.to,l));Ee?.(l);}function de(l){if(isNaN($e)){$e=l;return}$e<=0&&l>0?W?.():$e>0&&l<=0&&L?.(),$e<1&&l>=1?O?.():$e>=1&&l<1&&z?.(),$e=l;}function oe(){if(!A||V)return;let l=performance.now(),f=Te(),ge=a;if(R!==false){let Y=l-Se,Me=Y>0?Math.abs(f-(He<0?f:He))/Y:0;ge=a*Math.max(.2,1+Me*(typeof R=="number"?R:1)*.04);}He=f,Se=l;let _=y===$?0:(f-$)/(y-$);de(_);let U=x(J(f,$,y,ge));u&&(pe=Math.max(pe,U),U=pe),ne=U,K(U),U>=1&&!xe?(xe=true,H?.()):U<1&&!u&&(xe=false),I=requestAnimationFrame(oe);}ue(),y===$&&ve("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=x(J(Te(),$,y,a));u&&l>0&&(pe=l),ne=l,K(l);}let Re=new IntersectionObserver(l=>{l.forEach(f=>{A=f.isIntersecting,A&&!V?I=requestAnimationFrame(oe):cancelAnimationFrame(I);});},{root:w??null}),G;function F(){clearTimeout(G),G=setTimeout(ue,150);}return window.addEventListener("resize",F),window.addEventListener("orientationchange",F),Re.observe(e),Pe(e,{type:"animate",getProgress:()=>ne,getTrigger:()=>({tStart:$,tEnd:y})}),{destroy(){cancelAnimationFrame(I),Re.disconnect(),window.removeEventListener("resize",F),window.removeEventListener("orientationchange",F),clearTimeout(G),X(),Ce(e);},replay(){pe=-1,xe=false,ne=0,V=false,K(0);},pause(){V=true,cancelAnimationFrame(I);},resume(){V&&(V=false,A&&(I=requestAnimationFrame(oe)));},seek(l){let f=Math.min(1,Math.max(0,l));ne=f,pe=f,V=true,cancelAnimationFrame(I),K(f);},getProgress(){return ne}}}var lt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Nt(e,n){if(typeof window>"u")return lt;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return ve("scrollCounter: element not found:",e),lt;let t=r,{from:i=0,to:o,format:a,easing:u="ease-out",trigger:m={},once:p=true,decimals:S,onComplete:R}=n,M=S!==void 0?d=>d.toFixed(S):a??(d=>String(Math.round(d))),re=typeof u=="function"?u:Z[u]??Z["ease-out"],Ee=se(m.start??"top 80%"),H=se(m.end??"top 20%");if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t.textContent=M(o),R?.(),lt;let O=0,z=0,L=0,P=false,x=false,b=-1,C=0,k=false,w=()=>window.scrollY,g=()=>window.innerHeight;function j(){let d=t.getBoundingClientRect(),$=we({top:d.top,height:d.height},w(),g(),Ee,H);O=$.tStart,z=$.tEnd;}function N(d){t.textContent=M(i+(o-i)*d),t.style.setProperty("--scroll-draw-progress",String(d));}function B(){if(!P||x)return;let d=re(J(w(),O,z,1));p&&(b=Math.max(b,d),d=b),C=d,N(d),d>=1&&!k?(k=true,R?.()):d<1&&!p&&(k=false),L=requestAnimationFrame(B);}j();{let d=re(J(w(),O,z,1));p&&d>0&&(b=d),C=d,N(d);}let X=new IntersectionObserver(d=>{d.forEach($=>{P=$.isIntersecting,P&&!x?L=requestAnimationFrame(B):cancelAnimationFrame(L);});}),ie;function le(){clearTimeout(ie),ie=setTimeout(j,150);}return window.addEventListener("resize",le),window.addEventListener("orientationchange",le),X.observe(t),Pe(t,{type:"counter",getProgress:()=>C,getTrigger:()=>({tStart:O,tEnd:z})}),{destroy(){cancelAnimationFrame(L),X.disconnect(),window.removeEventListener("resize",le),window.removeEventListener("orientationchange",le),clearTimeout(ie),Ce(t);},replay(){b=-1,k=false,C=0,x=false,N(0);},pause(){x=true,cancelAnimationFrame(L);},resume(){x&&(x=false,P&&(L=requestAnimationFrame(B)));},seek(d){let $=Math.min(1,Math.max(0,d));C=$,b=$,x=true,cancelAnimationFrame(L),N($);},getProgress(){return C}}}var Ft={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Ot(e,n={}){if(typeof window>"u")return Ft;let r=typeof e=="string"?document.querySelector(e):e;if(!r||r.tagName.toLowerCase()!=="video")return ve("scrollVideo: <video> element not found:",e),Ft;let t=r,{trigger:i={},easing:o="linear",once:a=false,axis:u="y",preload:m="auto",onReady:p,onComplete:S,onProgress:R}=n,M=window.matchMedia("(prefers-reduced-motion: reduce)").matches,re=typeof o=="function"?o:Z[o]??Z.linear,Ee=se(i.start??"top top"),H=se(i.end??"bottom top");t.pause(),t.hasAttribute("preload")||(t.preload=m);let W=n.from??0,O=n.to,z=0,L=0,P=0,x=false,b=false,C=-1,k=0,w=false,g=false,j=()=>u==="x"?window.scrollX:window.scrollY,N=()=>u==="x"?window.innerWidth:window.innerHeight;function B(){let A=t.getBoundingClientRect(),V=u==="x"?A.left:A.top,pe=u==="x"?A.width:A.height,ne=we({top:V,height:pe},j(),N(),Ee,H);z=ne.tStart,L=ne.tEnd;}let X=NaN;function ie(A){if(!g)return;let V=O??t.duration??0,pe=W+(V-W)*A;pe!==X&&(X=pe,t.currentTime=pe),t.style.setProperty("--scroll-draw-progress",String(A)),R?.(A);}function le(){if(!x||b||!g||M)return;let A=re(J(j(),z,L,1));a&&(C=Math.max(C,A),A=C),k=A,ie(A),A>=1&&!w?(w=true,S?.()):A<1&&!a&&(w=false),P=requestAnimationFrame(le);}function d(){if(g=true,O===void 0&&(O=t.duration),M){ie(1),p?.();return}B(),p?.(),x&&!b&&(P=requestAnimationFrame(le));}t.readyState>=1?d():t.addEventListener("loadedmetadata",d,{once:true}),g||B();let $=new IntersectionObserver(A=>{A.forEach(V=>{x=V.isIntersecting,x&&!b&&g?P=requestAnimationFrame(le):cancelAnimationFrame(P);});}),y;function I(){clearTimeout(y),y=setTimeout(B,150);}return window.addEventListener("resize",I),window.addEventListener("orientationchange",I),$.observe(t),Pe(t,{type:"video",getProgress:()=>k,getTrigger:()=>({tStart:z,tEnd:L})}),{destroy(){cancelAnimationFrame(P),$.disconnect(),t.removeEventListener("loadedmetadata",d),window.removeEventListener("resize",I),window.removeEventListener("orientationchange",I),clearTimeout(y),Ce(t);},replay(){C=-1,w=false,k=0,b=false,X=NaN,ie(0);},pause(){b=true,cancelAnimationFrame(P);},resume(){b&&(b=false,x&&g&&(P=requestAnimationFrame(le)));},seek(A){let V=Math.min(1,Math.max(0,A));k=V,C=V,b=true,cancelAnimationFrame(P),X=NaN,ie(V);},getProgress(){return k}}}function zt(e){let n=e.textContent??"";return e.textContent="",n.split(/(\s+)/).filter(Boolean).map(r=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),/^\s+$/.test(r)?(t.textContent=r,t.style.whiteSpace="pre"):(t.textContent=r,t.style.display="inline-block"),e.appendChild(t),/^\s+$/.test(r)?null:t}).filter(r=>r!==null)}function cr(e){let n=e.textContent??"";return e.textContent="",n.split("").map(r=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=r,r===" "?t.style.whiteSpace="pre":t.style.display="inline-block",e.appendChild(t),r===" "?null:t}).filter(r=>r!==null)}function Dt(e){let n=zt(e),r=new Map;for(let o of n){let a=o.offsetTop;r.has(a)||r.set(a,[]),r.get(a).push(o);}let t=[],i=Array.from(r.keys()).sort((o,a)=>o-a);for(let o of i){let a=r.get(o),u=document.createElement("span");u.setAttribute("aria-hidden","true"),u.style.display="inline-block",a.forEach((m,p)=>{let S=m.nextElementSibling;u.appendChild(m),p<a.length-1&&S&&S.style.whiteSpace==="pre"&&u.appendChild(S);}),t.push(u);}return e.textContent="",t.forEach((o,a)=>{e.appendChild(o),a<t.length-1&&e.appendChild(document.createTextNode(" "));}),t}function ur(e,n,r,t){if(r<=1||t===0)return e;let i=(r-1)*t,o=n*t,a=o+(1-i);return a<=o?e>=o?1:0:Math.min(1,Math.max(0,(e-o)/(a-o)))}function mr(e,n){let r=[];if(n?.y!==void 0&&r.push(`translateY(${n.y*(1-e)}px)`),n?.x!==void 0&&r.push(`translateX(${n.x*(1-e)}px)`),n?.rotate!==void 0&&r.push(`rotate(${n.rotate*(1-e)}deg)`),n?.scale!==void 0){let t=n.scale+(1-n.scale)*e;r.push(`scale(${t})`);}return r.join(" ")||""}var Ht={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Vt(e,n={}){if(typeof window>"u")return Ht;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return ve("scrollText: element not found:",e),Ht;let t=r,{split:i="words",stagger:o=.04,easing:a="ease-out",from:u={opacity:0,y:24},trigger:m={},once:p=true,onComplete:S}=n,R=window.matchMedia("(prefers-reduced-motion: reduce)").matches,M=typeof a=="function"?a:Z[a]??Z["ease-out"],re=se(m.start??"top 85%"),Ee=se(m.end??"top 40%"),H=t.innerHTML;t.setAttribute("aria-label",t.textContent??"");let W;i==="chars"?W=cr(t):i==="lines"?W=Dt(t):W=zt(t);let O=W.length;function z(y,I){u?.opacity!==void 0&&(y.style.opacity=String(u.opacity+(1-u.opacity)*I));let A=mr(I,u);A&&(y.style.transform=A);}function L(y){t.style.setProperty("--scroll-draw-progress",String(y)),W.forEach((I,A)=>{let V=M(ur(y,A,O,o));z(I,V);});}if(R)return L(1),S?.(),{destroy(){t.innerHTML=H,t.removeAttribute("aria-label");},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};L(0);let P=0,x=0,b=0,C=false,k=false,w=-1,g=0,j=false,N=()=>window.scrollY,B=()=>window.innerHeight;function X(){let y=t.getBoundingClientRect(),I=we({top:y.top,height:y.height},N(),B(),re,Ee);P=I.tStart,x=I.tEnd;}function ie(){if(!C||k)return;let y=J(N(),P,x,1);p&&(w=Math.max(w,y),y=w),g=y,L(y),y>=1&&!j?(j=true,S?.()):y<1&&!p&&(j=false),b=requestAnimationFrame(ie);}X();let le=new IntersectionObserver(y=>{y.forEach(I=>{C=I.isIntersecting,C&&!k?b=requestAnimationFrame(ie):cancelAnimationFrame(b);});}),d;function $(){clearTimeout(d),d=setTimeout(()=>{if(i==="lines"){let y=g;t.innerHTML=H,t.setAttribute("aria-label",t.textContent??""),W=Dt(t),L(y);}X();},150);}return window.addEventListener("resize",$),window.addEventListener("orientationchange",$),le.observe(t),Pe(t,{type:"text",getProgress:()=>g,getTrigger:()=>({tStart:P,tEnd:x})}),{destroy(){cancelAnimationFrame(b),le.disconnect(),window.removeEventListener("resize",$),window.removeEventListener("orientationchange",$),clearTimeout(d),t.innerHTML=H,t.removeAttribute("aria-label"),Ce(t);},replay(){w=-1,j=false,g=0,k=false,L(0);},pause(){k=true,cancelAnimationFrame(b);},resume(){k&&(k=false,C&&(b=requestAnimationFrame(ie)));},seek(y){let I=Math.min(1,Math.max(0,y));g=I,w=I,k=true,cancelAnimationFrame(b),L(I);},getProgress(){return g}}}function dr(e,n={}){let[r,t]=gr.useState(0),i=gr.useRef(n);i.current=n;let o=gr.useRef(-1);return gr.useEffect(()=>{if(typeof window>"u")return;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches){t(1);return}let a=typeof e=="string"?document.querySelector(e):e.current;if(!a)return;let u=a,{axis:m="y",scrollContainer:p,trigger:S={}}=i.current,R=typeof p=="string"?document.querySelector(p):p??null,M=se(S.start??"top bottom"),re=se(S.end??"bottom top"),Ee=0,H=0,W=false,O=0;function z(){return R?m==="x"?R.scrollLeft:R.scrollTop:m==="x"?window.scrollX:window.scrollY}function L(){return R?m==="x"?R.clientWidth:R.clientHeight:m==="x"?window.innerWidth:window.innerHeight}function P(){let w=u.getBoundingClientRect(),g=z(),j=m==="x"?w.left:w.top,N=m==="x"?w.width:w.height,B=we({top:j,height:N},g,L(),M,re);Ee=B.tStart,H=B.tEnd;}function x(){if(!W)return;let{speed:w=1,easing:g="linear",once:j=false}=i.current,N=typeof g=="function"?g:Z[g]??Z.linear,B=J(z(),Ee,H,w),X=N(B);j&&(o.current=Math.max(o.current,X),X=o.current),t(X),O=requestAnimationFrame(x);}let b=new IntersectionObserver(w=>{w.forEach(g=>{W=g.isIntersecting,W?O=requestAnimationFrame(x):cancelAnimationFrame(O);});},{root:R??null,threshold:0});P(),b.observe(u);let C;function k(){clearTimeout(C),C=setTimeout(P,150);}return window.addEventListener("resize",k),window.addEventListener("orientationchange",k),()=>{cancelAnimationFrame(O),clearTimeout(C),b.disconnect(),window.removeEventListener("resize",k),window.removeEventListener("orientationchange",k);}},[]),r}function bn({children:e,className:n,style:r,...t}){let i=gr.useRef(null);return gr.useEffect(()=>{if(!i.current)return;let o=Ct(i.current,t);return ()=>o.destroy()},[]),jsxRuntime.jsx("div",{ref:i,className:n,style:r,children:e})}function wn({children:e,className:n,style:r,...t}){let i=gr.useRef(null);return gr.useEffect(()=>{if(!i.current)return;let o=It(i.current,t);return ()=>o.destroy()},[]),jsxRuntime.jsx("div",{ref:i,className:n,style:r,children:e})}function vn({className:e,style:n,...r}){let t=gr.useRef(null);return gr.useEffect(()=>{if(!t.current)return;let i=Nt(t.current,r);return ()=>i.destroy()},[]),jsxRuntime.jsx("span",{ref:t,className:e,style:n})}function En({src:e,className:n,style:r,muted:t=true,playsInline:i=true,...o}){let a=gr.useRef(null);return gr.useEffect(()=>{if(!a.current)return;let u=Ot(a.current,o);return ()=>u.destroy()},[]),jsxRuntime.jsx("video",{ref:a,src:e,className:n,style:r,muted:t,playsInline:i,preload:"auto"})}function Sn({children:e,as:n="p",className:r,style:t,...i}){let o=gr.useRef(null);return gr.useEffect(()=>{if(!o.current)return;let a=Vt(o.current,i);return ()=>a.destroy()},[]),gr__default.default.createElement(n,{ref:o,className:r,style:t},e)}exports.ScrollAnimate=wn;exports.ScrollCounter=vn;exports.ScrollDraw=bn;exports.ScrollText=Sn;exports.ScrollVideo=En;exports.useScrollDrawProgress=dr;
2
+ 'use strict';var vr=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var vr__default=/*#__PURE__*/_interopDefault(vr);function Kt({bounces:e=3,decay:n=.5}={}){let r=Math.max(1,Math.round(e)),t=Math.max(.01,Math.min(.99,n)),i=Math.sqrt(t),o=0,l=[];for(let p=0;p<r;p++){let S=Math.pow(i,p);l.push(S),o+=S;}let u=[0],m=0;for(let p=0;p<r;p++)m+=l[p]/o,u.push(m);return p=>{if(p<=0)return 0;if(p>=1)return 1;for(let S=0;S<r;S++)if(p<=u[S+1]){let k=(p-u[S])/(u[S+1]-u[S]);if(S===0)return k*(2-k);let M=1-Math.pow(t,S);return M+(1-M)*(2*k-1)*(2*k-1)}return 1}}function Qt({amplitude:e=1,period:n=.4}={}){let r=Math.max(1,e),t=Math.max(.1,n),i=r<=1?t/4:t/(2*Math.PI)*Math.asin(1/r);return o=>o<=0?0:o>=1?1:r*Math.pow(2,-10*o)*Math.sin((o-i)*(2*Math.PI)/t)+1}var Q={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:Kt(),elastic:Qt()};function bt(e,n,r){return Math.min(r,Math.max(n,e))}function ie(e="top bottom"){let n=e.trim();if(/^\d+(\.\d+)?%$/.test(n))return {element:"top",viewport:n};let[r="top",t="bottom"]=n.split(/\s+/).filter(Boolean);return {element:r,viewport:t}}function wt(e,n,r,t){switch(t){case "top":return e+r;case "center":return e+r+n/2;case "bottom":return e+r+n;default:return e+r}}function vt(e,n){if(/^\d+(\.\d+)?%$/.test(e))return n*(parseFloat(e)/100);switch(e){case "top":return 0;case "center":return n/2;case "bottom":return n;default:return n}}function J(e,n,r,t){return r===n?0:bt((e-n)/(r-n)*t,0,1)}function he(e,n,r,t,i){let o=wt(e.top,e.height,n,t.element)-vt(t.viewport,r),l=wt(e.top,e.height,n,i.element)-vt(i.viewport,r);return {tStart:o,tEnd:l}}function et(e,n,r){let t=e.getBoundingClientRect(),i=r==="x"?t.width:t.height;return n?{top:r==="x"?t.left-n.getBoundingClientRect().left+n.scrollLeft:t.top-n.getBoundingClientRect().top+n.scrollTop,height:i,scroll:0}:{top:r==="x"?t.left:t.top,height:i,scroll:r==="x"?window.scrollX:window.scrollY}}function _e(e){let n=e.tagName.toLowerCase();if(n==="rect"){let r=parseFloat(e.getAttribute("width")??"0"),t=parseFloat(e.getAttribute("height")??"0");return 2*(r+t)}if(n==="circle"){let r=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*r}return e.getTotalLength()}function Et(e){let n=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(n)return [parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[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 t=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return t?[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]:null}function qe(e,n,r){let t=Et(e),i=Et(n);return !t||!i?e:`rgb(${Math.round(t[0]+(i[0]-t[0])*r)},${Math.round(t[1]+(i[1]-t[1])*r)},${Math.round(t[2]+(i[2]-t[2])*r)})`}var St={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 je=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function be(e,...n){je&&console.warn(`[svg-scroll-draw] ${e}`,...n);}var Jt="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Zt="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Tt=33;function er(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function tr(e){let n=[];for(let r=0;r<Tt;r++){let t=r/(Tt-1);n.push(String(Math.round(e(t)*1e5)/1e5));}return `linear(${n.join(",")})`}function tt(e){switch(e){case "linear":return "linear";case "ease-in":return Jt;case "ease-out":return Zt;case "ease-in-out":return er()?tr(Q["ease-in-out"]):null;default:return null}}var xt=Symbol.for("svg-scroll-draw.registry");function At(){let e=globalThis;return e[xt]||(e[xt]=new Map)}function Pe(e,n){At().set(e,n);}function Le(e){At().delete(e);}var rr=0;function nr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Mt(e,n){let r="";try{r=getComputedStyle(e).getPropertyValue(n).trim();}catch{}return r||(e.getAttribute(n)??"").trim()}var Pt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function or(e){if(!je)return;let n=Mt(e,"stroke");if(!n||n==="none"){be("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!Pt.has(r)&&!Pt.has(Mt(e,"fill"))&&be("Element has a fill \u2014 it may obscure the stroke animation.",e);}function sr(e,n,r){let t=document.createElement("div");t.setAttribute("data-svg-scroll-draw-debug",""),t.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 i(){let o=r==="x"?window.scrollX:window.scrollY,l=e-o,u=n-o,m=r==="x";t.innerHTML=`
3
+ <div style="position:absolute;${m?`left:${l}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${l}px;left:0;right:0;border-top:2px dashed #22c55e;`}padding:2px 6px;color:#22c55e;background:rgba(0,0,0,.6)">\u25B6 start</div>
4
+ <div style="position:absolute;${m?`left:${u}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${u}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",i,{passive:true}),i(),{el:t,destroy(){window.removeEventListener("scroll",i),t.remove();}}}var Lt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Ct=/[MmLlHhVvCcSsQqTtAaZz]/g;function ir(e,n,r){if(!je)return;let t=(e.match(Ct)??[]).join("").toUpperCase(),i=(n.match(Ct)??[]).join("").toUpperCase(),o=(e.match(Lt)??[]).length,l=(n.match(Lt)??[]).length;if(t!==i){be(`morphTo: command sequence differs (${t||"\u2205"} \u2192 ${i||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,r);return}o!==l&&be(`morphTo: coordinate count differs (${o} \u2192 ${l}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function lt(e,n,r){let t=(n.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),i=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,o=>{let l=parseFloat(o),u=t[i++]??l;return String(+(l+(u-l)*r).toFixed(4))})}function $t(e,n={}){if(typeof window>"u")return {destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};let{preset:r,...t}=n,i=r?{...St[r],...t}:t,o=window.matchMedia("(prefers-reduced-motion: reduce)").matches,{selector:l="path, polyline, line, polygon, rect, circle",speed:u=1,fade:m=false,easing:p="linear",trigger:S={},stagger:k=0,direction:M="forward",once:re=false,debug:we=false,axis:H="y",scrollContainer:W,autoReverse:D=false,delay:z=0,strokeColor:P,strokeWidth:L,fillOpacity:x,waypoints:b,velocityScale:C=false,threshold:R=0,rootMargin:w="0px",repeat:g=0,repeatDelay:U=0,morphTo:I,clip:B,autoplay:X=false,duration:ae=1e3,native:le=true,onProgress:d,onStart:$,onComplete:y,onEnter:O,onLeave:A,onEnterBack:V,onLeaveBack:pe}=i,ne=B===true?"left":typeof B=="string"?B:false,Se=typeof p=="function"?p:Q[p]??Q.linear,Ce=ie(S.start??"top bottom"),ze=ie(S.end??"bottom top"),ve=typeof W=="string"?document.querySelector(W):W??null,Ee=Array.isArray(P)?P[0]:null,ce=Array.isArray(P)?P[1]:typeof P=="string"?P:null,ue=Array.isArray(L)?L[0]:null,Z=Array.isArray(L)?L[1]:typeof L=="number"?L:null,de=Array.isArray(x)?x[0]:null,oe=Array.isArray(x)?x[1]:typeof x=="number"?x:null;function $e(s){let c=s*100;switch(ne){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(${s*150}% at 50% 50%)`;default:return `inset(0 ${100-c}% 0 0)`}}let G=ne?[]:Array.from(e.querySelectorAll(l)),F=[],a=[],f=0,ge=0,_=false,j=false,Y=0,Ae=false,Te=-1,se=[],Fe=-1,ee=false,ke=0,Oe=0,Ne,nt=null;function ut(){nt?.destroy(),nt=null;}let De=new Set,mt=NaN,He=true,Xe=-1,ft=performance.now(),Ve=NaN;function ot(){return ve?H==="x"?ve.scrollLeft:ve.scrollTop:H==="x"?window.scrollX:window.scrollY}function pt(){return ve?H==="x"?ve.clientWidth:ve.clientHeight:H==="x"?window.innerWidth:window.innerHeight}function dt(){let s=et(e,ve,H);return he(s,s.scroll,pt(),Ce,ze)}function gt(){(({tStart:f,tEnd:ge}=dt())),we&&je&&(ut(),nt=sr(f,ge,H));}function st(s,c=dt){Pe(e,{type:"draw",getProgress:()=>s.getProgress(),getTrigger:c});let E=s.destroy;return s.destroy=()=>{E.call(s),Le(e);},s}function jt(s,c){if(e.style.setProperty("--scroll-draw-progress",String(s)),ne){let E=c==="reverse"?1-s:s;e.style.clipPath=$e(E);return}G.forEach((E,me)=>{E.style.strokeDashoffset=c==="reverse"?`${F[me]*s}`:`${F[me]*(1-s)}`,m&&(E.style.opacity=c==="reverse"?`${1-s}`:`${s}`),Ee&&ce?E.style.stroke=qe(Ee,ce,s):ce&&(E.style.stroke=ce),ue!==null&&Z!==null?E.style.strokeWidth=`${ue+(Z-ue)*s}`:Z!==null&&(E.style.strokeWidth=`${Z}`),de!==null&&oe!==null?E.style.fillOpacity=`${de+(oe-de)*s}`:oe!==null&&(E.style.fillOpacity=`${oe}`),I&&E.tagName.toLowerCase()==="path"&&a[me]&&E.setAttribute("d",lt(a[me],I,s));});}function Ye(){if(e.style.setProperty("--scroll-draw-progress","0"),ne){e.style.clipPath=$e(0);return}G.forEach((s,c)=>{s.style.strokeDasharray=`${F[c]}`,s.style.strokeDashoffset=M==="reverse"?"0":`${F[c]}`,m?s.style.opacity=M==="reverse"?"1":"0":s.style.opacity="",Ee&&(s.style.stroke=Ee),ue!==null&&(s.style.strokeWidth=`${ue}`),de!==null&&(s.style.fillOpacity=`${de}`),I&&s.tagName.toLowerCase()==="path"&&a[c]&&s.setAttribute("d",a[c]);});}if(G.forEach(s=>{or(s);let c=_e(s);F.push(c);let E=s.tagName.toLowerCase()==="path";E?a.push(s.getAttribute("d")??""):a.push(""),I&&(E?ir(a[a.length-1],I,s):be(`morphTo only applies to <path> elements \u2014 ignored on <${s.tagName}>.`,s)),o?(s.style.strokeDasharray=`${c}`,s.style.strokeDashoffset=M==="reverse"?`${c}`:"0",m&&(s.style.opacity="1"),ce&&(s.style.stroke=ce),Z!==null&&(s.style.strokeWidth=`${Z}`),oe!==null&&(s.style.fillOpacity=`${oe}`),I&&s.tagName.toLowerCase()==="path"&&s.setAttribute("d",I)):(s.style.strokeDasharray=`${c}`,s.style.strokeDashoffset=M==="reverse"?"0":`${c}`,m?s.style.opacity=M==="reverse"?"1":"0":s.style.opacity="",Ee&&(s.style.stroke=Ee),ue!==null&&(s.style.strokeWidth=`${ue}`),de!==null&&(s.style.fillOpacity=`${de}`));}),ne){if(o)return e.style.clipPath=$e(1),y?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};e.style.clipPath=$e(0);}else if(o)return y?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};let yt=typeof p=="string"?tt(p):null;function Ut(){return !(le===false||!nr()||!G.length||!yt||ne||H!=="y"||ve||u!==1||k!==0||re||D||C!==false||I||b||g||z>0||d||$||y||O||A||V||pe||P!=null||L!=null||x!=null||(S.start??"top bottom").trim()!=="top bottom"||(S.end??"bottom top").trim()!=="bottom top")}function Xt(){let s=++rr,c=`svg-scroll-draw-${s}`,E=`svg-scroll-draw-host-${s}`,me=`--svg-scroll-draw-${s}`,Ie=M==="reverse"?"0":"var(--ssd-len)",Re=M==="reverse"?"var(--ssd-len)":"0",Me=`stroke-dashoffset:${Ie};`,T=`stroke-dashoffset:${Re};`;m&&(Me+=`opacity:${M==="reverse"?1:0};`,T+=`opacity:${M==="reverse"?0:1};`);let N=document.createElement("style");N.setAttribute("data-svg-scroll-draw",""),N.textContent=`@keyframes ${c}{from{${Me}}to{${T}}}.${E}{view-timeline-name:${me};view-timeline-axis:block;}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${yt};animation-fill-mode:both;animation-timeline:${me};animation-range:cover 0% cover 100%;}`,document.head.appendChild(N),e.classList.add(E);function fe(h,te){h.style.setProperty("--ssd-len",String(F[te])),h.style.strokeDasharray=`${F[te]}`,h.style.strokeDashoffset="",h.style.opacity="",h.style.animationPlayState="",h.classList.add(c);}G.forEach(fe);let v=false,q=-1;function K(){if(q>=0)return q;let h=e.getBoundingClientRect(),{tStart:te,tEnd:xe}=he({top:h.top,height:h.height},ot(),pt(),Ce,ze);return Se(J(ot(),te,xe,u))}return {destroy(){e.classList.remove(E),G.forEach(h=>{h.classList.remove(c),h.style.removeProperty("--ssd-len"),h.style.animationPlayState="";}),N.remove();},replay(){v=false,q=-1,G.forEach(fe);},pause(){v=true,G.forEach(h=>{h.style.animationPlayState="paused";});},resume(){v&&(v=false,G.forEach(h=>{h.style.animationPlayState="running";}));},seek(h){let te=Math.min(1,Math.max(0,h));q=te,v=true,G.forEach((xe,ye)=>{xe.classList.remove(c),xe.style.strokeDashoffset=M==="reverse"?`${F[ye]*te}`:`${F[ye]*(1-te)}`,m&&(xe.style.opacity=M==="reverse"?`${1-te}`:`${te}`);});},getProgress(){return K()},refresh(){G.forEach((h,te)=>{F[te]=_e(h),h.style.setProperty("--ssd-len",String(F[te])),h.style.strokeDasharray=`${F[te]}`;});}}}if(Ut())return st(Xt());function Yt(){let s=Math.max(1,ae),c=0,E=0,me=false;function Ie(v){let q=true;if(ne){let K=Math.min(1,Math.max(0,v/s)),h=Se(K);ke=h,e.style.setProperty("--scroll-draw-progress",String(h)),e.style.clipPath=$e(M==="reverse"?1-h:h),d?.(h),K<1&&(q=false);}else G.forEach((K,h)=>{let te=h*k*s,xe=Math.min(1,Math.max(0,(v-te)/s)),ye=Se(xe);K.style.strokeDashoffset=M==="reverse"?`${F[h]*ye}`:`${F[h]*(1-ye)}`,m&&(K.style.opacity=M==="reverse"?`${1-ye}`:`${ye}`),Ee&&ce?K.style.stroke=qe(Ee,ce,ye):ce&&(K.style.stroke=ce),ue!==null&&Z!==null?K.style.strokeWidth=`${ue+(Z-ue)*ye}`:Z!==null&&(K.style.strokeWidth=`${Z}`),de!==null&&oe!==null?K.style.fillOpacity=`${de+(oe-de)*ye}`:oe!==null&&(K.style.fillOpacity=`${oe}`),I&&K.tagName.toLowerCase()==="path"&&a[h]&&K.setAttribute("d",lt(a[h],I,ye)),h===0&&(ke=ye,d?.(ye),e.style.setProperty("--scroll-draw-progress",String(ye))),xe<1&&(q=false);});if(b){let K=Math.min(1,Math.max(0,v/s)),h=Se(K);for(let te in b){let xe=parseFloat(te);h>=xe&&!De.has(xe)&&(De.add(xe),b[te]?.());}}return q}function Re(v){if(ee)return;let q=v-c;j||(j=true,$?.());let K=Ie(q);if(K&&!_){_=true,Ie(s*(1+Math.max(0,G.length-1)*k)),y?.(),Oe<(g==="infinite"?1/0:g??0)&&(Oe++,Ne=setTimeout(()=>{c=performance.now(),j=false,_=false,De.clear(),Ye(),Y=requestAnimationFrame(Re);},U));return}K||(Y=requestAnimationFrame(Re));}function Me(){cancelAnimationFrame(Y),clearTimeout(Ne),c=performance.now(),E=0,ee=false,j=false,_=false,Oe=0,me=true,ke=0,De.clear(),Ye(),Y=requestAnimationFrame(Re);}let T=new IntersectionObserver(v=>{v.forEach(q=>{q.isIntersecting&&!(re&&_)?Me():!q.isIntersecting&&!re&&!_&&(cancelAnimationFrame(Y),clearTimeout(Ne),me=false);});},{root:ve??null,threshold:R,rootMargin:w}),N;function fe(){clearTimeout(N),N=setTimeout(()=>{G.forEach((v,q)=>{F[q]=_e(v),v.style.strokeDasharray=`${F[q]}`;});},150);}return window.addEventListener("resize",fe),window.addEventListener("orientationchange",fe),z>0?setTimeout(()=>T.observe(e),z):T.observe(e),{destroy(){cancelAnimationFrame(Y),clearTimeout(Ne),T.disconnect(),window.removeEventListener("resize",fe),window.removeEventListener("orientationchange",fe),clearTimeout(N);},replay(){Oe=0,Me();},pause(){ee||!me||(ee=true,E=performance.now()-c,cancelAnimationFrame(Y));},resume(){ee&&(ee=false,me=true,c=performance.now()-E,Y=requestAnimationFrame(Re));},seek(v){let q=Math.min(1,Math.max(0,v));ke=q,ee=true,E=q*s,c=performance.now()-E,cancelAnimationFrame(Y),Ie(E);},getProgress(){return ke},refresh(){clearTimeout(N),G.forEach((v,q)=>{F[q]=_e(v),v.style.strokeDasharray=`${F[q]}`;});}}}if(X)return st(Yt());gt();function Ke(){if(!Ae||ee)return;let s=performance.now(),c=ot();if(!He&&C===false&&c===mt){Y=requestAnimationFrame(Ke);return}He=false,mt=c;let E=u;if(C!==false){let T=s-ft,N=T>0?Math.abs(c-(Xe<0?c:Xe))/T:0;E=u*Math.max(.2,1+N*(typeof C=="number"?C:1)*.04);}Xe=c,ft=s;let me=D?Fe===-1||c>=Fe?"forward":"reverse":M;Fe=c;let Ie=ge-f,Re=true,Me=Ie===0?0:(c-f)/Ie;if(isNaN(Ve)||(Ve<=0&&Me>0?O?.():Ve>0&&Me<=0&&pe?.(),Ve<1&&Me>=1?A?.():Ve>=1&&Me<1&&V?.()),Ve=Me,ne){let T=Se(J(c,f,ge,E));re&&!D&&(Te=Math.max(Te,T),T=Te),ke=T,e.style.setProperty("--scroll-draw-progress",String(T));let N=me==="reverse"?1-T:T;e.style.clipPath=$e(N),d?.(T),!j&&J(c,f,ge,E)>0&&(j=true,$?.()),T>=1&&!_?(_=true,y?.(),Oe<(g==="infinite"?1/0:g??0)&&(Oe++,Ne=setTimeout(()=>{Te=-1,j=false,_=false,e.style.clipPath=$e(0);},U))):T<1&&!re&&(_=false),Y=requestAnimationFrame(Ke);return}if(G.forEach((T,N)=>{let fe=N*k*Ie,v=Se(J(c,f+fe,ge+fe,E));re&&!D&&(v=se[N]=Math.max(se[N]??Te,v)),ke=v,T.style.strokeDashoffset=me==="reverse"?`${F[N]*v}`:`${F[N]*(1-v)}`,m&&(T.style.opacity=me==="reverse"?`${1-v}`:`${v}`),Ee&&ce?T.style.stroke=qe(Ee,ce,v):ce&&(T.style.stroke=ce),ue!==null&&Z!==null?T.style.strokeWidth=`${ue+(Z-ue)*v}`:Z!==null&&(T.style.strokeWidth=`${Z}`),de!==null&&oe!==null?T.style.fillOpacity=`${de+(oe-de)*v}`:oe!==null&&(T.style.fillOpacity=`${oe}`),I&&T.tagName.toLowerCase()==="path"&&a[N]&&T.setAttribute("d",lt(a[N],I,v)),N===0&&(d?.(v),e.style.setProperty("--scroll-draw-progress",String(v))),v<1&&(Re=false);}),b){let T=Se(J(c,f,ge,E));for(let N in b){let fe=parseFloat(N);T>=fe&&!De.has(fe)&&(De.add(fe),b[N]?.());}}!j&&J(c,f,ge,E)>0&&(j=true,$?.()),Re&&!_?(_=true,y?.(),Oe<(g==="infinite"?1/0:g??0)&&(Oe++,Ne=setTimeout(()=>{Te=-1,se=[],j=false,_=false,De.clear(),Ye(),He=true;},U))):!Re&&!re&&(_=false),Y=requestAnimationFrame(Ke);}let it=false;function Qe(){it||(it=true,Y=requestAnimationFrame(function(){Ke();}));}function Je(){it=false,cancelAnimationFrame(Y);}let at=new IntersectionObserver(s=>{s.forEach(c=>{Ae=c.isIntersecting,Ae&&!ee?(He=true,Qe()):Je();});},{root:ve??null,threshold:R,rootMargin:w});function ht(){G.forEach((s,c)=>{F[c]=_e(s),s.style.strokeDasharray=`${F[c]}`;}),gt(),He=true;}let Ze;function Be(){clearTimeout(Ze),Ze=setTimeout(ht,150);}window.addEventListener("resize",Be),window.addEventListener("orientationchange",Be);let Ge;return typeof ResizeObserver<"u"&&(Ge=new ResizeObserver(()=>Be()),Ge.observe(document.body),Ge.observe(document.documentElement),Ge.observe(e)),z>0?setTimeout(()=>at.observe(e),z):at.observe(e),st({destroy(){cancelAnimationFrame(Y),clearTimeout(Ne),Je(),at.disconnect(),Ge?.disconnect(),window.removeEventListener("resize",Be),window.removeEventListener("orientationchange",Be),clearTimeout(Ze),ut();},replay(){Te=-1,se=[],Fe=-1,Xe=-1,j=false,_=false,Oe=0,ee=false,ke=0,De.clear(),clearTimeout(Ne),Ye(),He=true,Ae&&Qe();},pause(){ee=true,Je();},resume(){ee&&(ee=false,He=true,Ae&&Qe());},seek(s){let c=Math.min(1,Math.max(0,s));ke=c,Te=c,se=[],ee=true,Je(),jt(c,M),He=true;},getProgress(){return ke},refresh(){clearTimeout(Ze),ht(),Ae&&!ee&&Qe();}},()=>({tStart:f,tEnd:ge}))}var kt=new WeakMap,ar=0;function Rt(e){return JSON.stringify(e,(n,r)=>{if(typeof r=="function")return "\u0192";if(typeof Element<"u"&&r instanceof Element){let t=kt.get(r);return t===void 0&&kt.set(r,t=++ar),`el#${t}`}return r})}function Ot(e,n){let r={...e};for(let t of Object.keys(r))typeof r[t]=="function"&&(r[t]=(...i)=>n()[t]?.(...i));return r}function lr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function It(e){let n=[],r=/([\w]+)\(([^)]*)\)/g,t;for(;(t=r.exec(e))!==null;){let i=[],o=[],l=t[2].trim();if(l)for(let u of l.split(/[\s,]+/)){let m=u.match(/^([-+]?[\d.eE]+)(.*)$/);i.push(m?parseFloat(m[1]):0),o.push(m?m[2]:"");}n.push({fn:t[1],nums:i,units:o});}return n}function cr(e,n,r){let t=It(e),i=It(n);return t.length===0||t.length!==i.length?r<1?e:n:t.map((o,l)=>{let u=i[l];return o.fn!==u.fn||o.nums.length!==u.nums.length?r<1?`${o.fn}(${o.nums.map((m,p)=>`${m}${o.units[p]}`).join(", ")})`:`${u.fn}(${u.nums.map((m,p)=>`${m}${u.units[p]}`).join(", ")})`:`${o.fn}(${o.nums.map((m,p)=>`${m+(u.nums[p]-m)*r}${o.units[p]}`).join(", ")})`}).join(" ")}function Ft(e,n,r){if(typeof e=="number"&&typeof n=="number")return String(e+(n-e)*r);let t=String(e),i=String(n);if(lr(t))return qe(t,i,r);if(t.includes("("))return cr(t,i,r);let o=t.match(/^([-+]?[\d.]+)(.*)$/),l=i.match(/^([-+]?[\d.]+)(.*)$/);if(o&&l){let u=parseFloat(o[1]),m=parseFloat(l[1]);return `${u+(m-u)*r}${o[2]||l[2]}`}return r<1?t:i}function ur(e){return e.replace(/([A-Z])/g,n=>`-${n.toLowerCase()}`)}var mr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),fr=0,Nt="--scroll-draw-progress";function pr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}function Dt(e,n){let r={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return r;let{props:t,trigger:i={},easing:o="ease-out",speed:l=1,once:u=false,axis:m="y",scrollContainer:p,native:S=true,velocityScale:k=false,respectReducedMotion:M=true,triggerElement:re,onProgress:we,onComplete:H,onEnter:W,onLeave:D,onEnterBack:z,onLeaveBack:P}=n,L=M&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,x=typeof o=="function"?o:Q[o]??Q["ease-out"],b=ie(i.start??"top bottom"),C=ie(i.end??"bottom top"),R=re??e,w=typeof p=="string"?document.querySelector(p):p??null,g=Object.entries(t).map(([a,f])=>({prop:ur(a),from:Array.isArray(f)?f[0]:"",to:Array.isArray(f)?f[1]:f}));function U(){let a=window.getComputedStyle(e);for(let f of g)f.from===""&&(f.from=a.getPropertyValue(f.prop).trim()||"0");}function I(){for(let a of g)e.style.setProperty(a.prop,String(a.to));}let B=new Map;for(let a of [...g.map(f=>f.prop),Nt])B.set(a,e.style.getPropertyValue(a));function X(){for(let[a,f]of B)f?e.style.setProperty(a,f):e.style.removeProperty(a);}if(L)return I(),H?.(),{...r,destroy:X,getProgress:()=>1};U();let ae=typeof o=="string"?tt(o):null;function le(){if(!S||!pr()||!ae||m!=="y"||w||R!==e||u||l!==1||we||H||W||D||z||P||k!==false||(i.start??"top bottom").trim()!=="top bottom"||(i.end??"bottom top").trim()!=="bottom top")return false;for(let a of g)if(!mr.has(a.prop))return false;return true}function d(){let a=`ssd-a-${++fr}`,f=g.map(se=>`${se.prop}:${se.from}`).join(";"),ge=g.map(se=>`${se.prop}:${se.to}`).join(";"),_=document.createElement("style");_.setAttribute("data-ssd-animate",""),_.textContent=`@keyframes ${a}{from{${f}}to{${ge}}}.${a}{animation-name:${a};animation-duration:auto;animation-timing-function:${ae};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(_),e.classList.add(a);let j=()=>m==="x"?window.scrollX:window.scrollY,Y=()=>m==="x"?window.innerWidth:window.innerHeight,Ae=()=>{let se=e.getBoundingClientRect();return he({top:se.top,height:se.height},j(),Y(),b,C)};Pe(e,{type:"animate",getProgress:()=>Te.getProgress(),getTrigger:Ae});let Te={destroy(){e.classList.remove(a),_.remove(),e.style.animationPlayState="",X(),Le(e);},replay(){e.classList.remove(a),e.offsetWidth,e.classList.add(a);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(se){let Fe=Math.min(1,Math.max(0,se));e.classList.remove(a);for(let ee of g)e.style.setProperty(ee.prop,Ft(ee.from,ee.to,Fe));},getProgress(){let{tStart:se,tEnd:Fe}=Ae();return x(J(j(),se,Fe,l))}};return Te}if(le())return d();let $=0,y=0,O=0,A=false,V=false,pe=-1,ne=0,Se=false,Ce=NaN,ze=-1,ve=0,Ee=()=>w?m==="x"?w.scrollLeft:w.scrollTop:m==="x"?window.scrollX:window.scrollY,ce=()=>w?m==="x"?w.clientWidth:w.clientHeight:m==="x"?window.innerWidth:window.innerHeight;function ue(){let a=et(R,w,m),f=he(a,a.scroll,ce(),b,C);$=f.tStart,y=f.tEnd;}function Z(a){e.style.setProperty(Nt,String(a));for(let f of g)e.style.setProperty(f.prop,Ft(f.from,f.to,a));we?.(a);}function de(a){if(isNaN(Ce)){Ce=a;return}Ce<=0&&a>0?W?.():Ce>0&&a<=0&&P?.(),Ce<1&&a>=1?D?.():Ce>=1&&a<1&&z?.(),Ce=a;}function oe(){if(!A||V)return;let a=performance.now(),f=Ee(),ge=l;if(k!==false){let Y=a-ve,Ae=Y>0?Math.abs(f-(ze<0?f:ze))/Y:0;ge=l*Math.max(.2,1+Ae*(typeof k=="number"?k:1)*.04);}ze=f,ve=a;let _=y===$?0:(f-$)/(y-$);de(_);let j=x(J(f,$,y,ge));u&&(pe=Math.max(pe,j),j=pe),ne=j,Z(j),j>=1&&!Se?(Se=true,H?.()):j<1&&!u&&(Se=false),O=requestAnimationFrame(oe);}ue(),y===$&&be("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 a=x(J(Ee(),$,y,l));u&&a>0&&(pe=a),ne=a,Z(a);}let $e=new IntersectionObserver(a=>{a.forEach(f=>{A=f.isIntersecting,A&&!V?O=requestAnimationFrame(oe):cancelAnimationFrame(O);});},{root:w??null}),G;function F(){clearTimeout(G),G=setTimeout(ue,150);}return window.addEventListener("resize",F),window.addEventListener("orientationchange",F),$e.observe(e),Pe(e,{type:"animate",getProgress:()=>ne,getTrigger:()=>({tStart:$,tEnd:y})}),{destroy(){cancelAnimationFrame(O),$e.disconnect(),window.removeEventListener("resize",F),window.removeEventListener("orientationchange",F),clearTimeout(G),X(),Le(e);},replay(){pe=-1,Se=false,ne=0,V=false,Z(0);},pause(){V=true,cancelAnimationFrame(O);},resume(){V&&(V=false,A&&(O=requestAnimationFrame(oe)));},seek(a){let f=Math.min(1,Math.max(0,a));ne=f,pe=f,V=true,cancelAnimationFrame(O),Z(f);},getProgress(){return ne}}}var ct={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Ht(e,n){if(typeof window>"u")return ct;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return be("scrollCounter: element not found:",e),ct;let t=r,{from:i=0,to:o,format:l,easing:u="ease-out",trigger:m={},once:p=true,decimals:S,onComplete:k}=n,M=S!==void 0?d=>d.toFixed(S):l??(d=>String(Math.round(d))),re=typeof u=="function"?u:Q[u]??Q["ease-out"],we=ie(m.start??"top 80%"),H=ie(m.end??"top 20%");if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t.textContent=M(o),k?.(),ct;let D=0,z=0,P=0,L=false,x=false,b=-1,C=0,R=false,w=()=>window.scrollY,g=()=>window.innerHeight;function U(){let d=t.getBoundingClientRect(),$=he({top:d.top,height:d.height},w(),g(),we,H);D=$.tStart,z=$.tEnd;}function I(d){t.textContent=M(i+(o-i)*d),t.style.setProperty("--scroll-draw-progress",String(d));}function B(){if(!L||x)return;let d=re(J(w(),D,z,1));p&&(b=Math.max(b,d),d=b),C=d,I(d),d>=1&&!R?(R=true,k?.()):d<1&&!p&&(R=false),P=requestAnimationFrame(B);}U();{let d=re(J(w(),D,z,1));p&&d>0&&(b=d),C=d,I(d);}let X=new IntersectionObserver(d=>{d.forEach($=>{L=$.isIntersecting,L&&!x?P=requestAnimationFrame(B):cancelAnimationFrame(P);});}),ae;function le(){clearTimeout(ae),ae=setTimeout(U,150);}return window.addEventListener("resize",le),window.addEventListener("orientationchange",le),X.observe(t),Pe(t,{type:"counter",getProgress:()=>C,getTrigger:()=>({tStart:D,tEnd:z})}),{destroy(){cancelAnimationFrame(P),X.disconnect(),window.removeEventListener("resize",le),window.removeEventListener("orientationchange",le),clearTimeout(ae),Le(t);},replay(){b=-1,R=false,C=0,x=false,I(0);},pause(){x=true,cancelAnimationFrame(P);},resume(){x&&(x=false,L&&(P=requestAnimationFrame(B)));},seek(d){let $=Math.min(1,Math.max(0,d));C=$,b=$,x=true,cancelAnimationFrame(P),I($);},getProgress(){return C}}}var zt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Vt(e,n={}){if(typeof window>"u")return zt;let r=typeof e=="string"?document.querySelector(e):e;if(!r||r.tagName.toLowerCase()!=="video")return be("scrollVideo: <video> element not found:",e),zt;let t=r,{trigger:i={},easing:o="linear",once:l=false,axis:u="y",preload:m="auto",onReady:p,onComplete:S,onProgress:k}=n,M=window.matchMedia("(prefers-reduced-motion: reduce)").matches,re=typeof o=="function"?o:Q[o]??Q.linear,we=ie(i.start??"top top"),H=ie(i.end??"bottom top");t.pause(),t.hasAttribute("preload")||(t.preload=m);let W=n.from??0,D=n.to,z=0,P=0,L=0,x=false,b=false,C=-1,R=0,w=false,g=false,U=()=>u==="x"?window.scrollX:window.scrollY,I=()=>u==="x"?window.innerWidth:window.innerHeight;function B(){let A=t.getBoundingClientRect(),V=u==="x"?A.left:A.top,pe=u==="x"?A.width:A.height,ne=he({top:V,height:pe},U(),I(),we,H);z=ne.tStart,P=ne.tEnd;}let X=NaN;function ae(A){if(!g)return;let V=D??t.duration??0,pe=W+(V-W)*A;pe!==X&&(X=pe,t.currentTime=pe),t.style.setProperty("--scroll-draw-progress",String(A)),k?.(A);}function le(){if(!x||b||!g||M)return;let A=re(J(U(),z,P,1));l&&(C=Math.max(C,A),A=C),R=A,ae(A),A>=1&&!w?(w=true,S?.()):A<1&&!l&&(w=false),L=requestAnimationFrame(le);}function d(){if(g=true,D===void 0&&(D=t.duration),M){ae(1),p?.();return}B(),p?.(),x&&!b&&(L=requestAnimationFrame(le));}t.readyState>=1?d():t.addEventListener("loadedmetadata",d,{once:true}),g||B();let $=new IntersectionObserver(A=>{A.forEach(V=>{x=V.isIntersecting,x&&!b&&g?L=requestAnimationFrame(le):cancelAnimationFrame(L);});}),y;function O(){clearTimeout(y),y=setTimeout(B,150);}return window.addEventListener("resize",O),window.addEventListener("orientationchange",O),$.observe(t),Pe(t,{type:"video",getProgress:()=>R,getTrigger:()=>({tStart:z,tEnd:P})}),{destroy(){cancelAnimationFrame(L),$.disconnect(),t.removeEventListener("loadedmetadata",d),window.removeEventListener("resize",O),window.removeEventListener("orientationchange",O),clearTimeout(y),Le(t);},replay(){C=-1,w=false,R=0,b=false,X=NaN,ae(0);},pause(){b=true,cancelAnimationFrame(L);},resume(){b&&(b=false,x&&g&&(L=requestAnimationFrame(le)));},seek(A){let V=Math.min(1,Math.max(0,A));R=V,C=V,b=true,cancelAnimationFrame(L),X=NaN,ae(V);},getProgress(){return R}}}function Wt(e){let n=e.textContent??"";return e.textContent="",n.split(/(\s+)/).filter(Boolean).map(r=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),/^\s+$/.test(r)?(t.textContent=r,t.style.whiteSpace="pre"):(t.textContent=r,t.style.display="inline-block"),e.appendChild(t),/^\s+$/.test(r)?null:t}).filter(r=>r!==null)}function dr(e){let n=e.textContent??"";return e.textContent="",n.split("").map(r=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=r,r===" "?t.style.whiteSpace="pre":t.style.display="inline-block",e.appendChild(t),r===" "?null:t}).filter(r=>r!==null)}function _t(e){let n=Wt(e),r=new Map;for(let o of n){let l=o.offsetTop;r.has(l)||r.set(l,[]),r.get(l).push(o);}let t=[],i=Array.from(r.keys()).sort((o,l)=>o-l);for(let o of i){let l=r.get(o),u=document.createElement("span");u.setAttribute("aria-hidden","true"),u.style.display="inline-block",l.forEach((m,p)=>{let S=m.nextElementSibling;u.appendChild(m),p<l.length-1&&S&&S.style.whiteSpace==="pre"&&u.appendChild(S);}),t.push(u);}return e.textContent="",t.forEach((o,l)=>{e.appendChild(o),l<t.length-1&&e.appendChild(document.createTextNode(" "));}),t}function gr(e,n,r,t){if(r<=1||t===0)return e;let i=(r-1)*t,o=n*t,l=o+(1-i);return l<=o?e>=o?1:0:Math.min(1,Math.max(0,(e-o)/(l-o)))}function yr(e,n){let r=[];if(n?.y!==void 0&&r.push(`translateY(${n.y*(1-e)}px)`),n?.x!==void 0&&r.push(`translateX(${n.x*(1-e)}px)`),n?.rotate!==void 0&&r.push(`rotate(${n.rotate*(1-e)}deg)`),n?.scale!==void 0){let t=n.scale+(1-n.scale)*e;r.push(`scale(${t})`);}return r.join(" ")||""}var qt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Bt(e,n={}){if(typeof window>"u")return qt;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return be("scrollText: element not found:",e),qt;let t=r,{split:i="words",stagger:o=.04,easing:l="ease-out",from:u={opacity:0,y:24},trigger:m={},once:p=true,onComplete:S}=n,k=window.matchMedia("(prefers-reduced-motion: reduce)").matches,M=typeof l=="function"?l:Q[l]??Q["ease-out"],re=ie(m.start??"top 85%"),we=ie(m.end??"top 40%"),H=t.innerHTML;t.setAttribute("aria-label",t.textContent??"");let W;i==="chars"?W=dr(t):i==="lines"?W=_t(t):W=Wt(t);let D=W.length;function z(y,O){u?.opacity!==void 0&&(y.style.opacity=String(u.opacity+(1-u.opacity)*O));let A=yr(O,u);A&&(y.style.transform=A);}function P(y){t.style.setProperty("--scroll-draw-progress",String(y)),W.forEach((O,A)=>{let V=M(gr(y,A,D,o));z(O,V);});}if(k)return P(1),S?.(),{destroy(){t.innerHTML=H,t.removeAttribute("aria-label");},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};P(0);let L=0,x=0,b=0,C=false,R=false,w=-1,g=0,U=false,I=()=>window.scrollY,B=()=>window.innerHeight;function X(){let y=t.getBoundingClientRect(),O=he({top:y.top,height:y.height},I(),B(),re,we);L=O.tStart,x=O.tEnd;}function ae(){if(!C||R)return;let y=J(I(),L,x,1);p&&(w=Math.max(w,y),y=w),g=y,P(y),y>=1&&!U?(U=true,S?.()):y<1&&!p&&(U=false),b=requestAnimationFrame(ae);}X();let le=new IntersectionObserver(y=>{y.forEach(O=>{C=O.isIntersecting,C&&!R?b=requestAnimationFrame(ae):cancelAnimationFrame(b);});}),d;function $(){clearTimeout(d),d=setTimeout(()=>{if(i==="lines"){let y=g;t.innerHTML=H,t.setAttribute("aria-label",t.textContent??""),W=_t(t),P(y);}X();},150);}return window.addEventListener("resize",$),window.addEventListener("orientationchange",$),le.observe(t),Pe(t,{type:"text",getProgress:()=>g,getTrigger:()=>({tStart:L,tEnd:x})}),{destroy(){cancelAnimationFrame(b),le.disconnect(),window.removeEventListener("resize",$),window.removeEventListener("orientationchange",$),clearTimeout(d),t.innerHTML=H,t.removeAttribute("aria-label"),Le(t);},replay(){w=-1,U=false,g=0,R=false,P(0);},pause(){R=true,cancelAnimationFrame(b);},resume(){R&&(R=false,C&&(b=requestAnimationFrame(ae)));},seek(y){let O=Math.min(1,Math.max(0,y));g=O,w=O,R=true,cancelAnimationFrame(b),P(O);},getProgress(){return g}}}function wr(e,n={}){let[r,t]=vr.useState(0),i=vr.useRef(n);i.current=n;let o=vr.useRef(-1);return vr.useEffect(()=>{if(typeof window>"u")return;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches){t(1);return}let l=typeof e=="string"?document.querySelector(e):e.current;if(!l)return;let u=l,{axis:m="y",scrollContainer:p,trigger:S={}}=i.current,k=typeof p=="string"?document.querySelector(p):p??null,M=ie(S.start??"top bottom"),re=ie(S.end??"bottom top"),we=0,H=0,W=false,D=0;function z(){return k?m==="x"?k.scrollLeft:k.scrollTop:m==="x"?window.scrollX:window.scrollY}function P(){return k?m==="x"?k.clientWidth:k.clientHeight:m==="x"?window.innerWidth:window.innerHeight}function L(){let w=u.getBoundingClientRect(),g=z(),U=m==="x"?w.left:w.top,I=m==="x"?w.width:w.height,B=he({top:U,height:I},g,P(),M,re);we=B.tStart,H=B.tEnd;}function x(){if(!W)return;let{speed:w=1,easing:g="linear",once:U=false}=i.current,I=typeof g=="function"?g:Q[g]??Q.linear,B=J(z(),we,H,w),X=I(B);U&&(o.current=Math.max(o.current,X),X=o.current),t(X),D=requestAnimationFrame(x);}let b=new IntersectionObserver(w=>{w.forEach(g=>{W=g.isIntersecting,W?D=requestAnimationFrame(x):cancelAnimationFrame(D);});},{root:k??null,threshold:0});L(),b.observe(u);let C;function R(){clearTimeout(C),C=setTimeout(L,150);}return window.addEventListener("resize",R),window.addEventListener("orientationchange",R),()=>{cancelAnimationFrame(D),clearTimeout(C),b.disconnect(),window.removeEventListener("resize",R),window.removeEventListener("orientationchange",R);}},[]),r}function Ue(e,n,r){let t=vr.useRef(n);t.current=n;let i=Rt(n);vr.useEffect(()=>{if(!e.current)return;let o=r(e.current,Ot(t.current,()=>t.current));return ()=>o.destroy()},[i]);}function Mn({children:e,className:n,style:r,...t}){let i=vr.useRef(null);return Ue(i,t,$t),jsxRuntime.jsx("div",{ref:i,className:n,style:r,children:e})}function Pn({children:e,className:n,style:r,...t}){let i=vr.useRef(null);return Ue(i,t,Dt),jsxRuntime.jsx("div",{ref:i,className:n,style:r,children:e})}function Ln({className:e,style:n,...r}){let t=vr.useRef(null);return Ue(t,r,Ht),jsxRuntime.jsx("span",{ref:t,className:e,style:n})}function Cn({src:e,className:n,style:r,muted:t=true,playsInline:i=true,...o}){let l=vr.useRef(null);return Ue(l,o,Vt),jsxRuntime.jsx("video",{ref:l,src:e,className:n,style:r,muted:t,playsInline:i,preload:"auto"})}function $n({children:e,as:n="p",className:r,style:t,...i}){let o=vr.useRef(null);return Ue(o,i,Bt),vr__default.default.createElement(n,{ref:o,className:r,style:t},e)}exports.ScrollAnimate=Pn;exports.ScrollCounter=Ln;exports.ScrollDraw=Mn;exports.ScrollText=$n;exports.ScrollVideo=Cn;exports.useScrollDrawProgress=wr;
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import {a as a$3}from'../chunk-JC5BD4RB.mjs';import {a as a$4}from'../chunk-SNCRC6BA.mjs';import {a as a$2}from'../chunk-4MH5SQTH.mjs';import {a as a$1}from'../chunk-QJ4H2HW3.mjs';import {b}from'../chunk-WDIHLRZZ.mjs';import'../chunk-OJFWQ6CU.mjs';import'../chunk-YWKPTYSG.mjs';import'../chunk-YZV4Z3EQ.mjs';import {a,c,b as b$1}from'../chunk-PEFR3ZB7.mjs';import {d}from'../chunk-DM6EDKWH.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-BCV4RAIX.mjs';import'../chunk-LFSU6LR3.mjs';import J,{useState,useRef,useEffect}from'react';import {jsx}from'react/jsx-runtime';function G(t,o={}){let[s,r]=useState(0),e=useRef(o);e.current=o;let n=useRef(-1);return useEffect(()=>{if(typeof window>"u")return;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches){r(1);return}let i=typeof t=="string"?document.querySelector(t):t.current;if(!i)return;let f=i,{axis:u="y",scrollContainer:w,trigger:b={}}=e.current,c$1=typeof w=="string"?document.querySelector(w):w??null,k=a(b.start??"top bottom"),W=a(b.end??"bottom top"),C=0,O=0,E=false,d$1=0;function N(){return c$1?u==="x"?c$1.scrollLeft:c$1.scrollTop:u==="x"?window.scrollX:window.scrollY}function X(){return c$1?u==="x"?c$1.clientWidth:c$1.clientHeight:u==="x"?window.innerWidth:window.innerHeight}function D(){let l=f.getBoundingClientRect(),a=N(),P=u==="x"?l.left:l.top,T=u==="x"?l.width:l.height,S=c({top:P,height:T},a,X(),k,W);C=S.tStart,O=S.tEnd;}function A(){if(!E)return;let{speed:l=1,easing:a="linear",once:P=false}=e.current,T=typeof a=="function"?a:d[a]??d.linear,S=b$1(N(),C,O,l),h=T(S);P&&(n.current=Math.max(n.current,h),h=n.current),r(h),d$1=requestAnimationFrame(A);}let L=new IntersectionObserver(l=>{l.forEach(a=>{E=a.isIntersecting,E?d$1=requestAnimationFrame(A):cancelAnimationFrame(d$1);});},{root:c$1??null,threshold:0});D(),L.observe(f);let x;function g(){clearTimeout(x),x=setTimeout(D,150);}return window.addEventListener("resize",g),window.addEventListener("orientationchange",g),()=>{cancelAnimationFrame(d$1),clearTimeout(x),L.disconnect(),window.removeEventListener("resize",g),window.removeEventListener("orientationchange",g);}},[]),s}function oe({children:t,className:o,style:s,...r}){let e=useRef(null);return useEffect(()=>{if(!e.current)return;let n=b(e.current,r);return ()=>n.destroy()},[]),jsx("div",{ref:e,className:o,style:s,children:t})}function se({children:t,className:o,style:s,...r}){let e=useRef(null);return useEffect(()=>{if(!e.current)return;let n=a$1(e.current,r);return ()=>n.destroy()},[]),jsx("div",{ref:e,className:o,style:s,children:t})}function ie({className:t,style:o,...s}){let r=useRef(null);return useEffect(()=>{if(!r.current)return;let e=a$2(r.current,s);return ()=>e.destroy()},[]),jsx("span",{ref:r,className:t,style:o})}function le({src:t,className:o,style:s,muted:r=true,playsInline:e=true,...n}){let i=useRef(null);return useEffect(()=>{if(!i.current)return;let f=a$3(i.current,n);return ()=>f.destroy()},[]),jsx("video",{ref:i,src:t,className:o,style:s,muted:r,playsInline:e,preload:"auto"})}function ce({children:t,as:o="p",className:s,style:r,...e}){let n=useRef(null);return useEffect(()=>{if(!n.current)return;let i=a$4(n.current,e);return ()=>i.destroy()},[]),J.createElement(o,{ref:n,className:s,style:r},t)}export{se as ScrollAnimate,ie as ScrollCounter,oe as ScrollDraw,ce as ScrollText,le as ScrollVideo,G as useScrollDrawProgress};
2
+ import {a as a$1,b as b$1}from'../chunk-XSVTHCLO.mjs';import {a as a$4}from'../chunk-JC5BD4RB.mjs';import {a as a$5}from'../chunk-SNCRC6BA.mjs';import {a as a$3}from'../chunk-4MH5SQTH.mjs';import {a as a$2}from'../chunk-QJ4H2HW3.mjs';import {b as b$2}from'../chunk-LINFV2GK.mjs';import'../chunk-OJFWQ6CU.mjs';import'../chunk-YWKPTYSG.mjs';import'../chunk-YZV4Z3EQ.mjs';import {a,c,b}from'../chunk-PEFR3ZB7.mjs';import {d}from'../chunk-DM6EDKWH.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-BCV4RAIX.mjs';import'../chunk-LFSU6LR3.mjs';import Y,{useState,useRef,useEffect}from'react';import {jsx}from'react/jsx-runtime';function K(r,t={}){let[n,e]=useState(0),o=useRef(t);o.current=t;let s=useRef(-1);return useEffect(()=>{if(typeof window>"u")return;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches){e(1);return}let u=typeof r=="string"?document.querySelector(r):r.current;if(!u)return;let b$1=u,{axis:a$1="y",scrollContainer:y,trigger:h={}}=o.current,l=typeof y=="string"?document.querySelector(y):y??null,W=a(h.start??"top bottom"),X=a(h.end??"bottom top"),O=0,C=0,w=false,f=0;function N(){return l?a$1==="x"?l.scrollLeft:l.scrollTop:a$1==="x"?window.scrollX:window.scrollY}function B(){return l?a$1==="x"?l.clientWidth:l.clientHeight:a$1==="x"?window.innerWidth:window.innerHeight}function D(){let i=b$1.getBoundingClientRect(),c$1=N(),v=a$1==="x"?i.left:i.top,x=a$1==="x"?i.width:i.height,g=c({top:v,height:x},c$1,B(),W,X);O=g.tStart,C=g.tEnd;}function A(){if(!w)return;let{speed:i=1,easing:c="linear",once:v=false}=o.current,x=typeof c=="function"?c:d[c]??d.linear,g=b(N(),O,C,i),P=x(g);v&&(s.current=Math.max(s.current,P),P=s.current),e(P),f=requestAnimationFrame(A);}let L=new IntersectionObserver(i=>{i.forEach(c=>{w=c.isIntersecting,w?f=requestAnimationFrame(A):cancelAnimationFrame(f);});},{root:l??null,threshold:0});D(),L.observe(b$1);let E;function d$1(){clearTimeout(E),E=setTimeout(D,150);}return window.addEventListener("resize",d$1),window.addEventListener("orientationchange",d$1),()=>{cancelAnimationFrame(f),clearTimeout(E),L.disconnect(),window.removeEventListener("resize",d$1),window.removeEventListener("orientationchange",d$1);}},[]),n}function p(r,t,n){let e=useRef(t);e.current=t;let o=a$1(t);useEffect(()=>{if(!r.current)return;let s=n(r.current,b$1(e.current,()=>e.current));return ()=>s.destroy()},[o]);}function ce({children:r,className:t,style:n,...e}){let o=useRef(null);return p(o,e,b$2),jsx("div",{ref:o,className:t,style:n,children:r})}function ae({children:r,className:t,style:n,...e}){let o=useRef(null);return p(o,e,a$2),jsx("div",{ref:o,className:t,style:n,children:r})}function me({className:r,style:t,...n}){let e=useRef(null);return p(e,n,a$3),jsx("span",{ref:e,className:r,style:t})}function ue({src:r,className:t,style:n,muted:e=true,playsInline:o=true,...s}){let u=useRef(null);return p(u,s,a$4),jsx("video",{ref:u,src:r,className:t,style:n,muted:e,playsInline:o,preload:"auto"})}function pe({children:r,as:t="p",className:n,style:e,...o}){let s=useRef(null);return p(s,o,a$5),Y.createElement(t,{ref:s,className:n,style:e},r)}export{ae as ScrollAnimate,me as ScrollCounter,ce as ScrollDraw,pe as ScrollText,ue as ScrollVideo,K as useScrollDrawProgress};
@@ -1,3 +1,3 @@
1
- 'use strict';var solidJs=require('solid-js');function Bt({bounces:e=3,decay:n=.5}={}){let r=Math.max(1,Math.round(e)),t=Math.max(.01,Math.min(.99,n)),l=Math.sqrt(t),s=0,c=[];for(let p=0;p<r;p++){let T=Math.pow(l,p);c.push(T),s+=T;}let u=[0],m=0;for(let p=0;p<r;p++)m+=c[p]/s,u.push(m);return p=>{if(p<=0)return 0;if(p>=1)return 1;for(let T=0;T<r;T++)if(p<=u[T+1]){let V=(p-u[T])/(u[T+1]-u[T]);if(T===0)return V*(2-V);let M=1-Math.pow(t,T);return M+(1-M)*(2*V-1)*(2*V-1)}return 1}}function Gt({amplitude:e=1,period:n=.4}={}){let r=Math.max(1,e),t=Math.max(.1,n),l=r<=1?t/4:t/(2*Math.PI)*Math.asin(1/r);return s=>s<=0?0:s>=1?1:r*Math.pow(2,-10*s)*Math.sin((s-l)*(2*Math.PI)/t)+1}var re={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:Bt(),elastic:Gt()};function Et(e,n,r){return Math.min(r,Math.max(n,e))}function de(e="top bottom"){let n=e.trim();if(/^\d+(\.\d+)?%$/.test(n))return {element:"top",viewport:n};let[r="top",t="bottom"]=n.split(/\s+/).filter(Boolean);return {element:r,viewport:t}}function St(e,n,r,t){switch(t){case "top":return e+r;case "center":return e+r+n/2;case "bottom":return e+r+n;default:return e+r}}function Tt(e,n){if(/^\d+(\.\d+)?%$/.test(e))return n*(parseFloat(e)/100);switch(e){case "top":return 0;case "center":return n/2;case "bottom":return n;default:return n}}function K(e,n,r,t){return r===n?0:Et((e-n)/(r-n)*t,0,1)}function xe(e,n,r,t,l){let s=St(e.top,e.height,n,t.element)-Tt(t.viewport,r),c=St(e.top,e.height,n,l.element)-Tt(l.viewport,r);return {tStart:s,tEnd:c}}function Je(e,n,r){let t=e.getBoundingClientRect(),l=r==="x"?t.width:t.height;return n?{top:r==="x"?t.left-n.getBoundingClientRect().left+n.scrollLeft:t.top-n.getBoundingClientRect().top+n.scrollTop,height:l,scroll:0}:{top:r==="x"?t.left:t.top,height:l,scroll:r==="x"?window.scrollX:window.scrollY}}function qe(e){let n=e.tagName.toLowerCase();if(n==="rect"){let r=parseFloat(e.getAttribute("width")??"0"),t=parseFloat(e.getAttribute("height")??"0");return 2*(r+t)}if(n==="circle"){let r=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*r}return e.getTotalLength()}function xt(e){let n=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(n)return [parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[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 t=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return t?[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]:null}function We(e,n,r){let t=xt(e),l=xt(n);return !t||!l?e:`rgb(${Math.round(t[0]+(l[0]-t[0])*r)},${Math.round(t[1]+(l[1]-t[1])*r)},${Math.round(t[2]+(l[2]-t[2])*r)})`}var Mt={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 je=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function we(e,...n){je&&console.warn(`[svg-scroll-draw] ${e}`,...n);}var jt="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Ut="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",At=33;function Yt(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Xt(e){let n=[];for(let r=0;r<At;r++){let t=r/(At-1);n.push(String(Math.round(e(t)*1e5)/1e5));}return `linear(${n.join(",")})`}function et(e){switch(e){case "linear":return "linear";case "ease-in":return jt;case "ease-out":return Ut;case "ease-in-out":return Yt()?Xt(re["ease-in-out"]):null;default:return null}}var Lt=Symbol.for("svg-scroll-draw.registry");function $t(){let e=globalThis;return e[Lt]||(e[Lt]=new Map)}function Le(e,n){$t().set(e,n);}function $e(e){$t().delete(e);}var Qt=0;function Zt(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Ct(e,n){let r="";try{r=getComputedStyle(e).getPropertyValue(n).trim();}catch{}return r||(e.getAttribute(n)??"").trim()}var Pt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Kt(e){if(!je)return;let n=Ct(e,"stroke");if(!n||n==="none"){we("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!Pt.has(r)&&!Pt.has(Ct(e,"fill"))&&we("Element has a fill \u2014 it may obscure the stroke animation.",e);}function Jt(e,n,r){let t=document.createElement("div");t.setAttribute("data-svg-scroll-draw-debug",""),t.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 l(){let s=r==="x"?window.scrollX:window.scrollY,c=e-s,u=n-s,m=r==="x";t.innerHTML=`
2
- <div style="position:absolute;${m?`left:${c}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${c}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;${m?`left:${u}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${u}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",l,{passive:true}),l(),{el:t,destroy(){window.removeEventListener("scroll",l),t.remove();}}}var It=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,kt=/[MmLlHhVvCcSsQqTtAaZz]/g;function er(e,n,r){if(!je)return;let t=(e.match(kt)??[]).join("").toUpperCase(),l=(n.match(kt)??[]).join("").toUpperCase(),s=(e.match(It)??[]).length,c=(n.match(It)??[]).length;if(t!==l){we(`morphTo: command sequence differs (${t||"\u2205"} \u2192 ${l||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,r);return}s!==c&&we(`morphTo: coordinate count differs (${s} \u2192 ${c}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function it(e,n,r){let t=(n.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),l=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,s=>{let c=parseFloat(s),u=t[l++]??c;return String(+(c+(u-c)*r).toFixed(4))})}function at(e,n={}){if(typeof window>"u")return {destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};let{preset:r,...t}=n,l=r?{...Mt[r],...t}:t,s=window.matchMedia("(prefers-reduced-motion: reduce)").matches,{selector:c="path, polyline, line, polygon, rect, circle",speed:u=1,fade:m=false,easing:p="linear",trigger:T={},stagger:V=0,direction:M="forward",once:ne=false,debug:Ce=false,axis:B="y",scrollContainer:J,autoReverse:X=false,delay:G=0,strokeColor:A,strokeWidth:C,fillOpacity:L,waypoints:w,velocityScale:k=false,threshold:O=0,rootMargin:P="0px",repeat:E=0,repeatDelay:oe=0,morphTo:D,clip:se,autoplay:ie=false,duration:ee=1e3,native:ae=true,onProgress:d,onStart:x,onComplete:g,onEnter:$,onLeave:S,onEnterBack:F,onLeaveBack:fe}=l,Q=se===true?"left":typeof se=="string"?se:false,Se=typeof p=="function"?p:re[p]??re.linear,Pe=de(T.start??"top bottom"),ze=de(T.end??"bottom top"),ve=typeof J=="string"?document.querySelector(J):J??null,Ee=Array.isArray(A)?A[0]:null,le=Array.isArray(A)?A[1]:typeof A=="string"?A:null,ce=Array.isArray(C)?C[0]:null,j=Array.isArray(C)?C[1]:typeof C=="number"?C:null,pe=Array.isArray(L)?L[0]:null,Z=Array.isArray(L)?L[1]:typeof L=="number"?L:null;function Ie(o){let a=o*100;switch(Q){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 z=Q?[]:Array.from(e.querySelectorAll(c)),I=[],i=[],f=0,ge=0,R=false,_=false,q=0,Me=false,ye=-1,te=-1,U=false,he=0,He=0,Re,tt=null;function pt(){tt?.destroy(),tt=null;}let Ne=new Set,dt=NaN,Ve=true,Ue=-1,gt=performance.now(),_e=NaN;function rt(){return ve?B==="x"?ve.scrollLeft:ve.scrollTop:B==="x"?window.scrollX:window.scrollY}function yt(){return ve?B==="x"?ve.clientWidth:ve.clientHeight:B==="x"?window.innerWidth:window.innerHeight}function ht(){let o=Je(e,ve,B);return xe(o,o.scroll,yt(),Pe,ze)}function bt(){(({tStart:f,tEnd:ge}=ht())),Ce&&je&&(pt(),tt=Jt(f,ge,B));}function nt(o,a=ht){Le(e,{type:"draw",getProgress:()=>o.getProgress(),getTrigger:a});let b=o.destroy;return o.destroy=()=>{b.call(o),$e(e);},o}function zt(o,a){if(e.style.setProperty("--scroll-draw-progress",String(o)),Q){let b=a==="reverse"?1-o:o;e.style.clipPath=Ie(b);return}z.forEach((b,ue)=>{b.style.strokeDashoffset=a==="reverse"?`${I[ue]*o}`:`${I[ue]*(1-o)}`,m&&(b.style.opacity=a==="reverse"?`${1-o}`:`${o}`),Ee&&le?b.style.stroke=We(Ee,le,o):le&&(b.style.stroke=le),ce!==null&&j!==null?b.style.strokeWidth=`${ce+(j-ce)*o}`:j!==null&&(b.style.strokeWidth=`${j}`),pe!==null&&Z!==null?b.style.fillOpacity=`${pe+(Z-pe)*o}`:Z!==null&&(b.style.fillOpacity=`${Z}`),D&&b.tagName.toLowerCase()==="path"&&i[ue]&&b.setAttribute("d",it(i[ue],D,o));});}function Ye(){if(e.style.setProperty("--scroll-draw-progress","0"),Q){e.style.clipPath=Ie(0);return}z.forEach((o,a)=>{o.style.strokeDasharray=`${I[a]}`,o.style.strokeDashoffset=M==="reverse"?"0":`${I[a]}`,m?o.style.opacity=M==="reverse"?"1":"0":o.style.opacity="",Ee&&(o.style.stroke=Ee),ce!==null&&(o.style.strokeWidth=`${ce}`),pe!==null&&(o.style.fillOpacity=`${pe}`),D&&o.tagName.toLowerCase()==="path"&&i[a]&&o.setAttribute("d",i[a]);});}if(z.forEach(o=>{Kt(o);let a=qe(o);I.push(a);let b=o.tagName.toLowerCase()==="path";b?i.push(o.getAttribute("d")??""):i.push(""),D&&(b?er(i[i.length-1],D,o):we(`morphTo only applies to <path> elements \u2014 ignored on <${o.tagName}>.`,o)),s?(o.style.strokeDasharray=`${a}`,o.style.strokeDashoffset=M==="reverse"?`${a}`:"0",m&&(o.style.opacity="1"),le&&(o.style.stroke=le),j!==null&&(o.style.strokeWidth=`${j}`),Z!==null&&(o.style.fillOpacity=`${Z}`),D&&o.tagName.toLowerCase()==="path"&&o.setAttribute("d",D)):(o.style.strokeDasharray=`${a}`,o.style.strokeDashoffset=M==="reverse"?"0":`${a}`,m?o.style.opacity=M==="reverse"?"1":"0":o.style.opacity="",Ee&&(o.style.stroke=Ee),ce!==null&&(o.style.strokeWidth=`${ce}`),pe!==null&&(o.style.fillOpacity=`${pe}`));}),Q){if(s)return e.style.clipPath=Ie(1),g?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};e.style.clipPath=Ie(0);}else if(s)return g?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};let wt=typeof p=="string"?et(p):null;function _t(){return !(ae===false||!Zt()||!z.length||!wt||Q||B!=="y"||ve||u!==1||V!==0||ne||X||k!==false||D||w||E||G>0||d||x||g||$||S||F||fe||A!=null||C!=null||L!=null||(T.start??"top bottom").trim()!=="top bottom"||(T.end??"bottom top").trim()!=="bottom top")}function qt(){let o=++Qt,a=`svg-scroll-draw-${o}`,b=`svg-scroll-draw-host-${o}`,ue=`--svg-scroll-draw-${o}`,Fe=M==="reverse"?"0":"var(--ssd-len)",ke=M==="reverse"?"var(--ssd-len)":"0",Ae=`stroke-dashoffset:${Fe};`,v=`stroke-dashoffset:${ke};`;m&&(Ae+=`opacity:${M==="reverse"?1:0};`,v+=`opacity:${M==="reverse"?0:1};`);let H=document.createElement("style");H.setAttribute("data-svg-scroll-draw",""),H.textContent=`@keyframes ${a}{from{${Ae}}to{${v}}}.${b}{view-timeline-name:${ue};view-timeline-axis:block;}.${a}{animation-name:${a};animation-duration:auto;animation-timing-function:${wt};animation-fill-mode:both;animation-timeline:${ue};animation-range:cover 0% cover 100%;}`,document.head.appendChild(H),e.classList.add(b);function me(y,Y){y.style.setProperty("--ssd-len",String(I[Y])),y.style.strokeDasharray=`${I[Y]}`,y.style.strokeDashoffset="",y.style.opacity="",y.style.animationPlayState="",y.classList.add(a);}z.forEach(me);let h=false,N=-1;function W(){if(N>=0)return N;let y=e.getBoundingClientRect(),{tStart:Y,tEnd:Te}=xe({top:y.top,height:y.height},rt(),yt(),Pe,ze);return Se(K(rt(),Y,Te,u))}return {destroy(){e.classList.remove(b),z.forEach(y=>{y.classList.remove(a),y.style.removeProperty("--ssd-len"),y.style.animationPlayState="";}),H.remove();},replay(){h=false,N=-1,z.forEach(me);},pause(){h=true,z.forEach(y=>{y.style.animationPlayState="paused";});},resume(){h&&(h=false,z.forEach(y=>{y.style.animationPlayState="running";}));},seek(y){let Y=Math.min(1,Math.max(0,y));N=Y,h=true,z.forEach((Te,be)=>{Te.classList.remove(a),Te.style.strokeDashoffset=M==="reverse"?`${I[be]*Y}`:`${I[be]*(1-Y)}`,m&&(Te.style.opacity=M==="reverse"?`${1-Y}`:`${Y}`);});},getProgress(){return W()},refresh(){z.forEach((y,Y)=>{I[Y]=qe(y),y.style.setProperty("--ssd-len",String(I[Y])),y.style.strokeDasharray=`${I[Y]}`;});}}}if(_t())return nt(qt());function Wt(){let o=Math.max(1,ee),a=0,b=0,ue=false;function Fe(h){let N=true;if(Q){let W=Math.min(1,Math.max(0,h/o)),y=Se(W);he=y,e.style.setProperty("--scroll-draw-progress",String(y)),e.style.clipPath=Ie(M==="reverse"?1-y:y),d?.(y),W<1&&(N=false);}else z.forEach((W,y)=>{let Y=y*V*o,Te=Math.min(1,Math.max(0,(h-Y)/o)),be=Se(Te);W.style.strokeDashoffset=M==="reverse"?`${I[y]*be}`:`${I[y]*(1-be)}`,m&&(W.style.opacity=M==="reverse"?`${1-be}`:`${be}`),Ee&&le?W.style.stroke=We(Ee,le,be):le&&(W.style.stroke=le),ce!==null&&j!==null?W.style.strokeWidth=`${ce+(j-ce)*be}`:j!==null&&(W.style.strokeWidth=`${j}`),pe!==null&&Z!==null?W.style.fillOpacity=`${pe+(Z-pe)*be}`:Z!==null&&(W.style.fillOpacity=`${Z}`),D&&W.tagName.toLowerCase()==="path"&&i[y]&&W.setAttribute("d",it(i[y],D,be)),y===0&&(he=be,d?.(be),e.style.setProperty("--scroll-draw-progress",String(be))),Te<1&&(N=false);});if(w){let W=Math.min(1,Math.max(0,h/o)),y=Se(W);for(let Y in w){let Te=parseFloat(Y);y>=Te&&!Ne.has(Te)&&(Ne.add(Te),w[Y]?.());}}return N}function ke(h){if(U)return;let N=h-a;_||(_=true,x?.());let W=Fe(N);if(W&&!R){R=true,Fe(o*(1+Math.max(0,z.length-1)*V)),g?.(),He<(E==="infinite"?1/0:E??0)&&(He++,Re=setTimeout(()=>{a=performance.now(),_=false,R=false,Ne.clear(),Ye(),q=requestAnimationFrame(ke);},oe));return}W||(q=requestAnimationFrame(ke));}function Ae(){cancelAnimationFrame(q),clearTimeout(Re),a=performance.now(),b=0,U=false,_=false,R=false,He=0,ue=true,he=0,Ne.clear(),Ye(),q=requestAnimationFrame(ke);}let v=new IntersectionObserver(h=>{h.forEach(N=>{N.isIntersecting&&!(ne&&R)?Ae():!N.isIntersecting&&!ne&&!R&&(cancelAnimationFrame(q),clearTimeout(Re),ue=false);});},{root:ve??null,threshold:O,rootMargin:P}),H;function me(){clearTimeout(H),H=setTimeout(()=>{z.forEach((h,N)=>{I[N]=qe(h),h.style.strokeDasharray=`${I[N]}`;});},150);}return window.addEventListener("resize",me),window.addEventListener("orientationchange",me),G>0?setTimeout(()=>v.observe(e),G):v.observe(e),{destroy(){cancelAnimationFrame(q),clearTimeout(Re),v.disconnect(),window.removeEventListener("resize",me),window.removeEventListener("orientationchange",me),clearTimeout(H);},replay(){He=0,Ae();},pause(){U||!ue||(U=true,b=performance.now()-a,cancelAnimationFrame(q));},resume(){U&&(U=false,ue=true,a=performance.now()-b,q=requestAnimationFrame(ke));},seek(h){let N=Math.min(1,Math.max(0,h));he=N,U=true,b=N*o,a=performance.now()-b,cancelAnimationFrame(q),Fe(b);},getProgress(){return he},refresh(){clearTimeout(H),z.forEach((h,N)=>{I[N]=qe(h),h.style.strokeDasharray=`${I[N]}`;});}}}if(ie)return nt(Wt());bt();function Xe(){if(!Me||U)return;let o=performance.now(),a=rt();if(!Ve&&k===false&&a===dt){q=requestAnimationFrame(Xe);return}Ve=false,dt=a;let b=u;if(k!==false){let v=o-gt,H=v>0?Math.abs(a-(Ue<0?a:Ue))/v:0;b=u*Math.max(.2,1+H*(typeof k=="number"?k:1)*.04);}Ue=a,gt=o;let ue=X?te===-1||a>=te?"forward":"reverse":M;te=a;let Fe=ge-f,ke=true,Ae=Fe===0?0:(a-f)/Fe;if(isNaN(_e)||(_e<=0&&Ae>0?$?.():_e>0&&Ae<=0&&fe?.(),_e<1&&Ae>=1?S?.():_e>=1&&Ae<1&&F?.()),_e=Ae,Q){let v=Se(K(a,f,ge,b));ne&&!X&&(ye=Math.max(ye,v),v=ye),he=v,e.style.setProperty("--scroll-draw-progress",String(v));let H=ue==="reverse"?1-v:v;e.style.clipPath=Ie(H),d?.(v),!_&&K(a,f,ge,b)>0&&(_=true,x?.()),v>=1&&!R?(R=true,g?.(),He<(E==="infinite"?1/0:E??0)&&(He++,Re=setTimeout(()=>{ye=-1,_=false,R=false,e.style.clipPath=Ie(0);},oe))):v<1&&!ne&&(R=false),q=requestAnimationFrame(Xe);return}if(z.forEach((v,H)=>{let me=H*V*Fe,h=Se(K(a,f+me,ge+me,b));ne&&!X&&(ye=Math.max(ye,h),h=ye),he=h,v.style.strokeDashoffset=ue==="reverse"?`${I[H]*h}`:`${I[H]*(1-h)}`,m&&(v.style.opacity=ue==="reverse"?`${1-h}`:`${h}`),Ee&&le?v.style.stroke=We(Ee,le,h):le&&(v.style.stroke=le),ce!==null&&j!==null?v.style.strokeWidth=`${ce+(j-ce)*h}`:j!==null&&(v.style.strokeWidth=`${j}`),pe!==null&&Z!==null?v.style.fillOpacity=`${pe+(Z-pe)*h}`:Z!==null&&(v.style.fillOpacity=`${Z}`),D&&v.tagName.toLowerCase()==="path"&&i[H]&&v.setAttribute("d",it(i[H],D,h)),H===0&&(d?.(h),e.style.setProperty("--scroll-draw-progress",String(h))),h<1&&(ke=false);}),w){let v=Se(K(a,f,ge,b));for(let H in w){let me=parseFloat(H);v>=me&&!Ne.has(me)&&(Ne.add(me),w[H]?.());}}!_&&K(a,f,ge,b)>0&&(_=true,x?.()),ke&&!R?(R=true,g?.(),He<(E==="infinite"?1/0:E??0)&&(He++,Re=setTimeout(()=>{ye=-1,_=false,R=false,Ne.clear(),Ye(),Ve=true;},oe))):!ke&&!ne&&(R=false),q=requestAnimationFrame(Xe);}let ot=false;function Qe(){ot||(ot=true,q=requestAnimationFrame(function(){Xe();}));}function Ze(){ot=false,cancelAnimationFrame(q);}let st=new IntersectionObserver(o=>{o.forEach(a=>{Me=a.isIntersecting,Me&&!U?(Ve=true,Qe()):Ze();});},{root:ve??null,threshold:O,rootMargin:P});function vt(){z.forEach((o,a)=>{I[a]=qe(o),o.style.strokeDasharray=`${I[a]}`;}),bt(),Ve=true;}let Ke;function Be(){clearTimeout(Ke),Ke=setTimeout(vt,150);}window.addEventListener("resize",Be),window.addEventListener("orientationchange",Be);let Ge;return typeof ResizeObserver<"u"&&(Ge=new ResizeObserver(()=>Be()),Ge.observe(document.body),Ge.observe(document.documentElement),Ge.observe(e)),G>0?setTimeout(()=>st.observe(e),G):st.observe(e),nt({destroy(){cancelAnimationFrame(q),clearTimeout(Re),Ze(),st.disconnect(),Ge?.disconnect(),window.removeEventListener("resize",Be),window.removeEventListener("orientationchange",Be),clearTimeout(Ke),pt();},replay(){ye=-1,te=-1,Ue=-1,_=false,R=false,He=0,U=false,he=0,Ne.clear(),clearTimeout(Re),Ye(),Ve=true,Me&&Qe();},pause(){U=true,Ze();},resume(){U&&(U=false,Ve=true,Me&&Qe());},seek(o){let a=Math.min(1,Math.max(0,o));he=a,ye=a,U=true,Ze(),zt(a,M),Ve=true;},getProgress(){return he},refresh(){clearTimeout(Ke),vt(),Me&&!U&&Qe();}},()=>({tStart:f,tEnd:ge}))}function tr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Ot(e){let n=[],r=/([\w]+)\(([^)]*)\)/g,t;for(;(t=r.exec(e))!==null;){let l=[],s=[],c=t[2].trim();if(c)for(let u of c.split(/[\s,]+/)){let m=u.match(/^([-+]?[\d.eE]+)(.*)$/);l.push(m?parseFloat(m[1]):0),s.push(m?m[2]:"");}n.push({fn:t[1],nums:l,units:s});}return n}function rr(e,n,r){let t=Ot(e),l=Ot(n);return t.length===0||t.length!==l.length?r<1?e:n:t.map((s,c)=>{let u=l[c];return s.fn!==u.fn||s.nums.length!==u.nums.length?r<1?`${s.fn}(${s.nums.map((m,p)=>`${m}${s.units[p]}`).join(", ")})`:`${u.fn}(${u.nums.map((m,p)=>`${m}${u.units[p]}`).join(", ")})`:`${s.fn}(${s.nums.map((m,p)=>`${m+(u.nums[p]-m)*r}${s.units[p]}`).join(", ")})`}).join(" ")}function Dt(e,n,r){if(typeof e=="number"&&typeof n=="number")return String(e+(n-e)*r);let t=String(e),l=String(n);if(tr(t))return We(t,l,r);if(t.includes("("))return rr(t,l,r);let s=t.match(/^([-+]?[\d.]+)(.*)$/),c=l.match(/^([-+]?[\d.]+)(.*)$/);if(s&&c){let u=parseFloat(s[1]),m=parseFloat(c[1]);return `${u+(m-u)*r}${s[2]||c[2]}`}return r<1?t:l}function nr(e){return e.replace(/([A-Z])/g,n=>`-${n.toLowerCase()}`)}var or=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),sr=0,Ht="--scroll-draw-progress";function ir(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}function lt(e,n){let r={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return r;let{props:t,trigger:l={},easing:s="ease-out",speed:c=1,once:u=false,axis:m="y",scrollContainer:p,native:T=true,velocityScale:V=false,respectReducedMotion:M=true,triggerElement:ne,onProgress:Ce,onComplete:B,onEnter:J,onLeave:X,onEnterBack:G,onLeaveBack:A}=n,C=M&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,L=typeof s=="function"?s:re[s]??re["ease-out"],w=de(l.start??"top bottom"),k=de(l.end??"bottom top"),O=ne??e,P=typeof p=="string"?document.querySelector(p):p??null,E=Object.entries(t).map(([i,f])=>({prop:nr(i),from:Array.isArray(f)?f[0]:"",to:Array.isArray(f)?f[1]:f}));function oe(){let i=window.getComputedStyle(e);for(let f of E)f.from===""&&(f.from=i.getPropertyValue(f.prop).trim()||"0");}function D(){for(let i of E)e.style.setProperty(i.prop,String(i.to));}let se=new Map;for(let i of [...E.map(f=>f.prop),Ht])se.set(i,e.style.getPropertyValue(i));function ie(){for(let[i,f]of se)f?e.style.setProperty(i,f):e.style.removeProperty(i);}if(C)return D(),B?.(),{...r,destroy:ie,getProgress:()=>1};oe();let ee=typeof s=="string"?et(s):null;function ae(){if(!T||!ir()||!ee||m!=="y"||P||O!==e||u||c!==1||Ce||B||J||X||G||A||V!==false||(l.start??"top bottom").trim()!=="top bottom"||(l.end??"bottom top").trim()!=="bottom top")return false;for(let i of E)if(!or.has(i.prop))return false;return true}function d(){let i=`ssd-a-${++sr}`,f=E.map(te=>`${te.prop}:${te.from}`).join(";"),ge=E.map(te=>`${te.prop}:${te.to}`).join(";"),R=document.createElement("style");R.setAttribute("data-ssd-animate",""),R.textContent=`@keyframes ${i}{from{${f}}to{${ge}}}.${i}{animation-name:${i};animation-duration:auto;animation-timing-function:${ee};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(R),e.classList.add(i);let _=()=>m==="x"?window.scrollX:window.scrollY,q=()=>m==="x"?window.innerWidth:window.innerHeight,Me=()=>{let te=e.getBoundingClientRect();return xe({top:te.top,height:te.height},_(),q(),w,k)};Le(e,{type:"animate",getProgress:()=>ye.getProgress(),getTrigger:Me});let ye={destroy(){e.classList.remove(i),R.remove(),e.style.animationPlayState="",ie(),$e(e);},replay(){e.classList.remove(i),e.offsetWidth,e.classList.add(i);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(te){let U=Math.min(1,Math.max(0,te));e.classList.remove(i);for(let he of E)e.style.setProperty(he.prop,Dt(he.from,he.to,U));},getProgress(){let{tStart:te,tEnd:U}=Me();return L(K(_(),te,U,c))}};return ye}if(ae())return d();let x=0,g=0,$=0,S=false,F=false,fe=-1,Q=0,Se=false,Pe=NaN,ze=-1,ve=0,Ee=()=>P?m==="x"?P.scrollLeft:P.scrollTop:m==="x"?window.scrollX:window.scrollY,le=()=>P?m==="x"?P.clientWidth:P.clientHeight:m==="x"?window.innerWidth:window.innerHeight;function ce(){let i=Je(O,P,m),f=xe(i,i.scroll,le(),w,k);x=f.tStart,g=f.tEnd;}function j(i){e.style.setProperty(Ht,String(i));for(let f of E)e.style.setProperty(f.prop,Dt(f.from,f.to,i));Ce?.(i);}function pe(i){if(isNaN(Pe)){Pe=i;return}Pe<=0&&i>0?J?.():Pe>0&&i<=0&&A?.(),Pe<1&&i>=1?X?.():Pe>=1&&i<1&&G?.(),Pe=i;}function Z(){if(!S||F)return;let i=performance.now(),f=Ee(),ge=c;if(V!==false){let q=i-ve,Me=q>0?Math.abs(f-(ze<0?f:ze))/q:0;ge=c*Math.max(.2,1+Me*(typeof V=="number"?V:1)*.04);}ze=f,ve=i;let R=g===x?0:(f-x)/(g-x);pe(R);let _=L(K(f,x,g,ge));u&&(fe=Math.max(fe,_),_=fe),Q=_,j(_),_>=1&&!Se?(Se=true,B?.()):_<1&&!u&&(Se=false),$=requestAnimationFrame(Z);}ce(),g===x&&we("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 i=L(K(Ee(),x,g,c));u&&i>0&&(fe=i),Q=i,j(i);}let Ie=new IntersectionObserver(i=>{i.forEach(f=>{S=f.isIntersecting,S&&!F?$=requestAnimationFrame(Z):cancelAnimationFrame($);});},{root:P??null}),z;function I(){clearTimeout(z),z=setTimeout(ce,150);}return window.addEventListener("resize",I),window.addEventListener("orientationchange",I),Ie.observe(e),Le(e,{type:"animate",getProgress:()=>Q,getTrigger:()=>({tStart:x,tEnd:g})}),{destroy(){cancelAnimationFrame($),Ie.disconnect(),window.removeEventListener("resize",I),window.removeEventListener("orientationchange",I),clearTimeout(z),ie(),$e(e);},replay(){fe=-1,Se=false,Q=0,F=false,j(0);},pause(){F=true,cancelAnimationFrame($);},resume(){F&&(F=false,S&&($=requestAnimationFrame(Z)));},seek(i){let f=Math.min(1,Math.max(0,i));Q=f,fe=f,F=true,cancelAnimationFrame($),j(f);},getProgress(){return Q}}}var ct={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function ut(e,n){if(typeof window>"u")return ct;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return we("scrollCounter: element not found:",e),ct;let t=r,{from:l=0,to:s,format:c,easing:u="ease-out",trigger:m={},once:p=true,decimals:T,onComplete:V}=n,M=T!==void 0?d=>d.toFixed(T):c??(d=>String(Math.round(d))),ne=typeof u=="function"?u:re[u]??re["ease-out"],Ce=de(m.start??"top 80%"),B=de(m.end??"top 20%");if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t.textContent=M(s),V?.(),ct;let X=0,G=0,A=0,C=false,L=false,w=-1,k=0,O=false,P=()=>window.scrollY,E=()=>window.innerHeight;function oe(){let d=t.getBoundingClientRect(),x=xe({top:d.top,height:d.height},P(),E(),Ce,B);X=x.tStart,G=x.tEnd;}function D(d){t.textContent=M(l+(s-l)*d),t.style.setProperty("--scroll-draw-progress",String(d));}function se(){if(!C||L)return;let d=ne(K(P(),X,G,1));p&&(w=Math.max(w,d),d=w),k=d,D(d),d>=1&&!O?(O=true,V?.()):d<1&&!p&&(O=false),A=requestAnimationFrame(se);}oe();{let d=ne(K(P(),X,G,1));p&&d>0&&(w=d),k=d,D(d);}let ie=new IntersectionObserver(d=>{d.forEach(x=>{C=x.isIntersecting,C&&!L?A=requestAnimationFrame(se):cancelAnimationFrame(A);});}),ee;function ae(){clearTimeout(ee),ee=setTimeout(oe,150);}return window.addEventListener("resize",ae),window.addEventListener("orientationchange",ae),ie.observe(t),Le(t,{type:"counter",getProgress:()=>k,getTrigger:()=>({tStart:X,tEnd:G})}),{destroy(){cancelAnimationFrame(A),ie.disconnect(),window.removeEventListener("resize",ae),window.removeEventListener("orientationchange",ae),clearTimeout(ee),$e(t);},replay(){w=-1,O=false,k=0,L=false,D(0);},pause(){L=true,cancelAnimationFrame(A);},resume(){L&&(L=false,C&&(A=requestAnimationFrame(se)));},seek(d){let x=Math.min(1,Math.max(0,d));k=x,w=x,L=true,cancelAnimationFrame(A),D(x);},getProgress(){return k}}}var Ft={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function mt(e,n={}){if(typeof window>"u")return Ft;let r=typeof e=="string"?document.querySelector(e):e;if(!r||r.tagName.toLowerCase()!=="video")return we("scrollVideo: <video> element not found:",e),Ft;let t=r,{trigger:l={},easing:s="linear",once:c=false,axis:u="y",preload:m="auto",onReady:p,onComplete:T,onProgress:V}=n,M=window.matchMedia("(prefers-reduced-motion: reduce)").matches,ne=typeof s=="function"?s:re[s]??re.linear,Ce=de(l.start??"top top"),B=de(l.end??"bottom top");t.pause(),t.hasAttribute("preload")||(t.preload=m);let J=n.from??0,X=n.to,G=0,A=0,C=0,L=false,w=false,k=-1,O=0,P=false,E=false,oe=()=>u==="x"?window.scrollX:window.scrollY,D=()=>u==="x"?window.innerWidth:window.innerHeight;function se(){let S=t.getBoundingClientRect(),F=u==="x"?S.left:S.top,fe=u==="x"?S.width:S.height,Q=xe({top:F,height:fe},oe(),D(),Ce,B);G=Q.tStart,A=Q.tEnd;}let ie=NaN;function ee(S){if(!E)return;let F=X??t.duration??0,fe=J+(F-J)*S;fe!==ie&&(ie=fe,t.currentTime=fe),t.style.setProperty("--scroll-draw-progress",String(S)),V?.(S);}function ae(){if(!L||w||!E||M)return;let S=ne(K(oe(),G,A,1));c&&(k=Math.max(k,S),S=k),O=S,ee(S),S>=1&&!P?(P=true,T?.()):S<1&&!c&&(P=false),C=requestAnimationFrame(ae);}function d(){if(E=true,X===void 0&&(X=t.duration),M){ee(1),p?.();return}se(),p?.(),L&&!w&&(C=requestAnimationFrame(ae));}t.readyState>=1?d():t.addEventListener("loadedmetadata",d,{once:true}),E||se();let x=new IntersectionObserver(S=>{S.forEach(F=>{L=F.isIntersecting,L&&!w&&E?C=requestAnimationFrame(ae):cancelAnimationFrame(C);});}),g;function $(){clearTimeout(g),g=setTimeout(se,150);}return window.addEventListener("resize",$),window.addEventListener("orientationchange",$),x.observe(t),Le(t,{type:"video",getProgress:()=>O,getTrigger:()=>({tStart:G,tEnd:A})}),{destroy(){cancelAnimationFrame(C),x.disconnect(),t.removeEventListener("loadedmetadata",d),window.removeEventListener("resize",$),window.removeEventListener("orientationchange",$),clearTimeout(g),$e(t);},replay(){k=-1,P=false,O=0,w=false,ie=NaN,ee(0);},pause(){w=true,cancelAnimationFrame(C);},resume(){w&&(w=false,L&&E&&(C=requestAnimationFrame(ae)));},seek(S){let F=Math.min(1,Math.max(0,S));O=F,k=F,w=true,cancelAnimationFrame(C),ie=NaN,ee(F);},getProgress(){return O}}}function Vt(e){let n=e.textContent??"";return e.textContent="",n.split(/(\s+)/).filter(Boolean).map(r=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),/^\s+$/.test(r)?(t.textContent=r,t.style.whiteSpace="pre"):(t.textContent=r,t.style.display="inline-block"),e.appendChild(t),/^\s+$/.test(r)?null:t}).filter(r=>r!==null)}function ar(e){let n=e.textContent??"";return e.textContent="",n.split("").map(r=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=r,r===" "?t.style.whiteSpace="pre":t.style.display="inline-block",e.appendChild(t),r===" "?null:t}).filter(r=>r!==null)}function Rt(e){let n=Vt(e),r=new Map;for(let s of n){let c=s.offsetTop;r.has(c)||r.set(c,[]),r.get(c).push(s);}let t=[],l=Array.from(r.keys()).sort((s,c)=>s-c);for(let s of l){let c=r.get(s),u=document.createElement("span");u.setAttribute("aria-hidden","true"),u.style.display="inline-block",c.forEach((m,p)=>{let T=m.nextElementSibling;u.appendChild(m),p<c.length-1&&T&&T.style.whiteSpace==="pre"&&u.appendChild(T);}),t.push(u);}return e.textContent="",t.forEach((s,c)=>{e.appendChild(s),c<t.length-1&&e.appendChild(document.createTextNode(" "));}),t}function lr(e,n,r,t){if(r<=1||t===0)return e;let l=(r-1)*t,s=n*t,c=s+(1-l);return c<=s?e>=s?1:0:Math.min(1,Math.max(0,(e-s)/(c-s)))}function cr(e,n){let r=[];if(n?.y!==void 0&&r.push(`translateY(${n.y*(1-e)}px)`),n?.x!==void 0&&r.push(`translateX(${n.x*(1-e)}px)`),n?.rotate!==void 0&&r.push(`rotate(${n.rotate*(1-e)}deg)`),n?.scale!==void 0){let t=n.scale+(1-n.scale)*e;r.push(`scale(${t})`);}return r.join(" ")||""}var Nt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function ft(e,n={}){if(typeof window>"u")return Nt;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return we("scrollText: element not found:",e),Nt;let t=r,{split:l="words",stagger:s=.04,easing:c="ease-out",from:u={opacity:0,y:24},trigger:m={},once:p=true,onComplete:T}=n,V=window.matchMedia("(prefers-reduced-motion: reduce)").matches,M=typeof c=="function"?c:re[c]??re["ease-out"],ne=de(m.start??"top 85%"),Ce=de(m.end??"top 40%"),B=t.innerHTML;t.setAttribute("aria-label",t.textContent??"");let J;l==="chars"?J=ar(t):l==="lines"?J=Rt(t):J=Vt(t);let X=J.length;function G(g,$){u?.opacity!==void 0&&(g.style.opacity=String(u.opacity+(1-u.opacity)*$));let S=cr($,u);S&&(g.style.transform=S);}function A(g){t.style.setProperty("--scroll-draw-progress",String(g)),J.forEach(($,S)=>{let F=M(lr(g,S,X,s));G($,F);});}if(V)return A(1),T?.(),{destroy(){t.innerHTML=B,t.removeAttribute("aria-label");},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};A(0);let C=0,L=0,w=0,k=false,O=false,P=-1,E=0,oe=false,D=()=>window.scrollY,se=()=>window.innerHeight;function ie(){let g=t.getBoundingClientRect(),$=xe({top:g.top,height:g.height},D(),se(),ne,Ce);C=$.tStart,L=$.tEnd;}function ee(){if(!k||O)return;let g=K(D(),C,L,1);p&&(P=Math.max(P,g),g=P),E=g,A(g),g>=1&&!oe?(oe=true,T?.()):g<1&&!p&&(oe=false),w=requestAnimationFrame(ee);}ie();let ae=new IntersectionObserver(g=>{g.forEach($=>{k=$.isIntersecting,k&&!O?w=requestAnimationFrame(ee):cancelAnimationFrame(w);});}),d;function x(){clearTimeout(d),d=setTimeout(()=>{if(l==="lines"){let g=E;t.innerHTML=B,t.setAttribute("aria-label",t.textContent??""),J=Rt(t),A(g);}ie();},150);}return window.addEventListener("resize",x),window.addEventListener("orientationchange",x),ae.observe(t),Le(t,{type:"text",getProgress:()=>E,getTrigger:()=>({tStart:C,tEnd:L})}),{destroy(){cancelAnimationFrame(w),ae.disconnect(),window.removeEventListener("resize",x),window.removeEventListener("orientationchange",x),clearTimeout(d),t.innerHTML=B,t.removeAttribute("aria-label"),$e(t);},replay(){P=-1,oe=false,E=0,O=false,A(0);},pause(){O=true,cancelAnimationFrame(w);},resume(){O&&(O=false,k&&(w=requestAnimationFrame(ee)));},seek(g){let $=Math.min(1,Math.max(0,g));E=$,P=$,O=true,cancelAnimationFrame(w),A($);},getProgress(){return E}}}function ln(e={}){let n,r;return solidJs.onMount(()=>{n&&(r=at(n,e));}),solidJs.onCleanup(()=>{r?.destroy();}),t=>{n=t;}}function cn(e={}){let n,r;return solidJs.onMount(()=>{n&&(r=at(n,e));}),solidJs.onCleanup(()=>{r?.destroy(),r=void 0;}),{ref:t=>{n=t;},getInstance:()=>r}}function un(e){let n,r;return solidJs.onMount(()=>{n&&(r=lt(n,e));}),solidJs.onCleanup(()=>{r?.destroy();}),t=>{n=t;}}function mn(e){let n,r;return solidJs.onMount(()=>{n&&(r=lt(n,e));}),solidJs.onCleanup(()=>{r?.destroy(),r=void 0;}),{ref:t=>{n=t;},getInstance:()=>r}}function fn(e){let n,r;return solidJs.onMount(()=>{n&&(r=ut(n,e));}),solidJs.onCleanup(()=>{r?.destroy();}),t=>{n=t;}}function pn(e){let n,r;return solidJs.onMount(()=>{n&&(r=ut(n,e));}),solidJs.onCleanup(()=>{r?.destroy(),r=void 0;}),{ref:t=>{n=t;},getInstance:()=>r}}function dn(e={}){let n,r;return solidJs.onMount(()=>{n&&(r=mt(n,e));}),solidJs.onCleanup(()=>{r?.destroy();}),t=>{n=t;}}function gn(e={}){let n,r;return solidJs.onMount(()=>{n&&(r=mt(n,e));}),solidJs.onCleanup(()=>{r?.destroy(),r=void 0;}),{ref:t=>{n=t;},getInstance:()=>r}}function yn(e={}){let n,r;return solidJs.onMount(()=>{n&&(r=ft(n,e));}),solidJs.onCleanup(()=>{r?.destroy();}),t=>{n=t;}}function hn(e={}){let n,r;return solidJs.onMount(()=>{n&&(r=ft(n,e));}),solidJs.onCleanup(()=>{r?.destroy(),r=void 0;}),{ref:t=>{n=t;},getInstance:()=>r}}exports.createScrollAnimate=mn;exports.createScrollCounter=pn;exports.createScrollDraw=cn;exports.createScrollText=hn;exports.createScrollVideo=gn;exports.useScrollAnimate=un;exports.useScrollCounter=fn;exports.useScrollDraw=ln;exports.useScrollText=yn;exports.useScrollVideo=dn;
1
+ 'use strict';var solidJs=require('solid-js');function Ut({bounces:e=3,decay:n=.5}={}){let r=Math.max(1,Math.round(e)),t=Math.max(.01,Math.min(.99,n)),a=Math.sqrt(t),s=0,l=[];for(let p=0;p<r;p++){let T=Math.pow(a,p);l.push(T),s+=T;}let u=[0],m=0;for(let p=0;p<r;p++)m+=l[p]/s,u.push(m);return p=>{if(p<=0)return 0;if(p>=1)return 1;for(let T=0;T<r;T++)if(p<=u[T+1]){let V=(p-u[T])/(u[T+1]-u[T]);if(T===0)return V*(2-V);let A=1-Math.pow(t,T);return A+(1-A)*(2*V-1)*(2*V-1)}return 1}}function Yt({amplitude:e=1,period:n=.4}={}){let r=Math.max(1,e),t=Math.max(.1,n),a=r<=1?t/4:t/(2*Math.PI)*Math.asin(1/r);return s=>s<=0?0:s>=1?1:r*Math.pow(2,-10*s)*Math.sin((s-a)*(2*Math.PI)/t)+1}var re={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:Ut(),elastic:Yt()};function Et(e,n,r){return Math.min(r,Math.max(n,e))}function de(e="top bottom"){let n=e.trim();if(/^\d+(\.\d+)?%$/.test(n))return {element:"top",viewport:n};let[r="top",t="bottom"]=n.split(/\s+/).filter(Boolean);return {element:r,viewport:t}}function St(e,n,r,t){switch(t){case "top":return e+r;case "center":return e+r+n/2;case "bottom":return e+r+n;default:return e+r}}function Tt(e,n){if(/^\d+(\.\d+)?%$/.test(e))return n*(parseFloat(e)/100);switch(e){case "top":return 0;case "center":return n/2;case "bottom":return n;default:return n}}function J(e,n,r,t){return r===n?0:Et((e-n)/(r-n)*t,0,1)}function Te(e,n,r,t,a){let s=St(e.top,e.height,n,t.element)-Tt(t.viewport,r),l=St(e.top,e.height,n,a.element)-Tt(a.viewport,r);return {tStart:s,tEnd:l}}function Je(e,n,r){let t=e.getBoundingClientRect(),a=r==="x"?t.width:t.height;return n?{top:r==="x"?t.left-n.getBoundingClientRect().left+n.scrollLeft:t.top-n.getBoundingClientRect().top+n.scrollTop,height:a,scroll:0}:{top:r==="x"?t.left:t.top,height:a,scroll:r==="x"?window.scrollX:window.scrollY}}function qe(e){let n=e.tagName.toLowerCase();if(n==="rect"){let r=parseFloat(e.getAttribute("width")??"0"),t=parseFloat(e.getAttribute("height")??"0");return 2*(r+t)}if(n==="circle"){let r=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*r}return e.getTotalLength()}function xt(e){let n=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(n)return [parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[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 t=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return t?[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]:null}function We(e,n,r){let t=xt(e),a=xt(n);return !t||!a?e:`rgb(${Math.round(t[0]+(a[0]-t[0])*r)},${Math.round(t[1]+(a[1]-t[1])*r)},${Math.round(t[2]+(a[2]-t[2])*r)})`}var At={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 je=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function he(e,...n){je&&console.warn(`[svg-scroll-draw] ${e}`,...n);}var Xt="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Kt="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Mt=33;function Qt(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Zt(e){let n=[];for(let r=0;r<Mt;r++){let t=r/(Mt-1);n.push(String(Math.round(e(t)*1e5)/1e5));}return `linear(${n.join(",")})`}function et(e){switch(e){case "linear":return "linear";case "ease-in":return Xt;case "ease-out":return Kt;case "ease-in-out":return Qt()?Zt(re["ease-in-out"]):null;default:return null}}var Lt=Symbol.for("svg-scroll-draw.registry");function $t(){let e=globalThis;return e[Lt]||(e[Lt]=new Map)}function Me(e,n){$t().set(e,n);}function Le(e){$t().delete(e);}var Jt=0;function er(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Ct(e,n){let r="";try{r=getComputedStyle(e).getPropertyValue(n).trim();}catch{}return r||(e.getAttribute(n)??"").trim()}var Pt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function tr(e){if(!je)return;let n=Ct(e,"stroke");if(!n||n==="none"){he("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!Pt.has(r)&&!Pt.has(Ct(e,"fill"))&&he("Element has a fill \u2014 it may obscure the stroke animation.",e);}function rr(e,n,r){let t=document.createElement("div");t.setAttribute("data-svg-scroll-draw-debug",""),t.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 a(){let s=r==="x"?window.scrollX:window.scrollY,l=e-s,u=n-s,m=r==="x";t.innerHTML=`
2
+ <div style="position:absolute;${m?`left:${l}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${l}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;${m?`left:${u}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${u}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",a,{passive:true}),a(),{el:t,destroy(){window.removeEventListener("scroll",a),t.remove();}}}var Ot=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,kt=/[MmLlHhVvCcSsQqTtAaZz]/g;function nr(e,n,r){if(!je)return;let t=(e.match(kt)??[]).join("").toUpperCase(),a=(n.match(kt)??[]).join("").toUpperCase(),s=(e.match(Ot)??[]).length,l=(n.match(Ot)??[]).length;if(t!==a){he(`morphTo: command sequence differs (${t||"\u2205"} \u2192 ${a||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,r);return}s!==l&&he(`morphTo: coordinate count differs (${s} \u2192 ${l}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function it(e,n,r){let t=(n.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),a=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,s=>{let l=parseFloat(s),u=t[a++]??l;return String(+(l+(u-l)*r).toFixed(4))})}function at(e,n={}){if(typeof window>"u")return {destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};let{preset:r,...t}=n,a=r?{...At[r],...t}:t,s=window.matchMedia("(prefers-reduced-motion: reduce)").matches,{selector:l="path, polyline, line, polygon, rect, circle",speed:u=1,fade:m=false,easing:p="linear",trigger:T={},stagger:V=0,direction:A="forward",once:ne=false,debug:$e=false,axis:B="y",scrollContainer:ee,autoReverse:X=false,delay:G=0,strokeColor:M,strokeWidth:C,fillOpacity:L,waypoints:w,velocityScale:k=false,threshold:F=0,rootMargin:P="0px",repeat:E=0,repeatDelay:oe=0,morphTo:D,clip:se,autoplay:ie=false,duration:te=1e3,native:ae=true,onProgress:d,onStart:x,onComplete:g,onEnter:$,onLeave:S,onEnterBack:R,onLeaveBack:fe}=a,K=se===true?"left":typeof se=="string"?se:false,ve=typeof p=="function"?p:re[p]??re.linear,Ce=de(T.start??"top bottom"),ze=de(T.end??"bottom top"),be=typeof ee=="string"?document.querySelector(ee):ee??null,we=Array.isArray(M)?M[0]:null,le=Array.isArray(M)?M[1]:typeof M=="string"?M:null,ce=Array.isArray(C)?C[0]:null,j=Array.isArray(C)?C[1]:typeof C=="number"?C:null,pe=Array.isArray(L)?L[0]:null,Q=Array.isArray(L)?L[1]:typeof L=="number"?L:null;function Pe(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 z=K?[]:Array.from(e.querySelectorAll(l)),O=[],i=[],f=0,ge=0,H=false,_=false,q=0,xe=false,Ee=-1,Z=[],Re=-1,U=false,Oe=0,Fe=0,He,tt=null;function pt(){tt?.destroy(),tt=null;}let Ne=new Set,dt=NaN,Ve=true,Ue=-1,gt=performance.now(),_e=NaN;function rt(){return be?B==="x"?be.scrollLeft:be.scrollTop:B==="x"?window.scrollX:window.scrollY}function yt(){return be?B==="x"?be.clientWidth:be.clientHeight:B==="x"?window.innerWidth:window.innerHeight}function ht(){let o=Je(e,be,B);return Te(o,o.scroll,yt(),Ce,ze)}function bt(){(({tStart:f,tEnd:ge}=ht())),$e&&je&&(pt(),tt=rr(f,ge,B));}function nt(o,c=ht){Me(e,{type:"draw",getProgress:()=>o.getProgress(),getTrigger:c});let b=o.destroy;return o.destroy=()=>{b.call(o),Le(e);},o}function Wt(o,c){if(e.style.setProperty("--scroll-draw-progress",String(o)),K){let b=c==="reverse"?1-o:o;e.style.clipPath=Pe(b);return}z.forEach((b,ue)=>{b.style.strokeDashoffset=c==="reverse"?`${O[ue]*o}`:`${O[ue]*(1-o)}`,m&&(b.style.opacity=c==="reverse"?`${1-o}`:`${o}`),we&&le?b.style.stroke=We(we,le,o):le&&(b.style.stroke=le),ce!==null&&j!==null?b.style.strokeWidth=`${ce+(j-ce)*o}`:j!==null&&(b.style.strokeWidth=`${j}`),pe!==null&&Q!==null?b.style.fillOpacity=`${pe+(Q-pe)*o}`:Q!==null&&(b.style.fillOpacity=`${Q}`),D&&b.tagName.toLowerCase()==="path"&&i[ue]&&b.setAttribute("d",it(i[ue],D,o));});}function Ye(){if(e.style.setProperty("--scroll-draw-progress","0"),K){e.style.clipPath=Pe(0);return}z.forEach((o,c)=>{o.style.strokeDasharray=`${O[c]}`,o.style.strokeDashoffset=A==="reverse"?"0":`${O[c]}`,m?o.style.opacity=A==="reverse"?"1":"0":o.style.opacity="",we&&(o.style.stroke=we),ce!==null&&(o.style.strokeWidth=`${ce}`),pe!==null&&(o.style.fillOpacity=`${pe}`),D&&o.tagName.toLowerCase()==="path"&&i[c]&&o.setAttribute("d",i[c]);});}if(z.forEach(o=>{tr(o);let c=qe(o);O.push(c);let b=o.tagName.toLowerCase()==="path";b?i.push(o.getAttribute("d")??""):i.push(""),D&&(b?nr(i[i.length-1],D,o):he(`morphTo only applies to <path> elements \u2014 ignored on <${o.tagName}>.`,o)),s?(o.style.strokeDasharray=`${c}`,o.style.strokeDashoffset=A==="reverse"?`${c}`:"0",m&&(o.style.opacity="1"),le&&(o.style.stroke=le),j!==null&&(o.style.strokeWidth=`${j}`),Q!==null&&(o.style.fillOpacity=`${Q}`),D&&o.tagName.toLowerCase()==="path"&&o.setAttribute("d",D)):(o.style.strokeDasharray=`${c}`,o.style.strokeDashoffset=A==="reverse"?"0":`${c}`,m?o.style.opacity=A==="reverse"?"1":"0":o.style.opacity="",we&&(o.style.stroke=we),ce!==null&&(o.style.strokeWidth=`${ce}`),pe!==null&&(o.style.fillOpacity=`${pe}`));}),K){if(s)return e.style.clipPath=Pe(1),g?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};e.style.clipPath=Pe(0);}else if(s)return g?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};let wt=typeof p=="string"?et(p):null;function Bt(){return !(ae===false||!er()||!z.length||!wt||K||B!=="y"||be||u!==1||V!==0||ne||X||k!==false||D||w||E||G>0||d||x||g||$||S||R||fe||M!=null||C!=null||L!=null||(T.start??"top bottom").trim()!=="top bottom"||(T.end??"bottom top").trim()!=="bottom top")}function Gt(){let o=++Jt,c=`svg-scroll-draw-${o}`,b=`svg-scroll-draw-host-${o}`,ue=`--svg-scroll-draw-${o}`,De=A==="reverse"?"0":"var(--ssd-len)",ke=A==="reverse"?"var(--ssd-len)":"0",Ae=`stroke-dashoffset:${De};`,v=`stroke-dashoffset:${ke};`;m&&(Ae+=`opacity:${A==="reverse"?1:0};`,v+=`opacity:${A==="reverse"?0:1};`);let I=document.createElement("style");I.setAttribute("data-svg-scroll-draw",""),I.textContent=`@keyframes ${c}{from{${Ae}}to{${v}}}.${b}{view-timeline-name:${ue};view-timeline-axis:block;}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${wt};animation-fill-mode:both;animation-timeline:${ue};animation-range:cover 0% cover 100%;}`,document.head.appendChild(I),e.classList.add(b);function me(y,Y){y.style.setProperty("--ssd-len",String(O[Y])),y.style.strokeDasharray=`${O[Y]}`,y.style.strokeDashoffset="",y.style.opacity="",y.style.animationPlayState="",y.classList.add(c);}z.forEach(me);let h=false,N=-1;function W(){if(N>=0)return N;let y=e.getBoundingClientRect(),{tStart:Y,tEnd:Se}=Te({top:y.top,height:y.height},rt(),yt(),Ce,ze);return ve(J(rt(),Y,Se,u))}return {destroy(){e.classList.remove(b),z.forEach(y=>{y.classList.remove(c),y.style.removeProperty("--ssd-len"),y.style.animationPlayState="";}),I.remove();},replay(){h=false,N=-1,z.forEach(me);},pause(){h=true,z.forEach(y=>{y.style.animationPlayState="paused";});},resume(){h&&(h=false,z.forEach(y=>{y.style.animationPlayState="running";}));},seek(y){let Y=Math.min(1,Math.max(0,y));N=Y,h=true,z.forEach((Se,ye)=>{Se.classList.remove(c),Se.style.strokeDashoffset=A==="reverse"?`${O[ye]*Y}`:`${O[ye]*(1-Y)}`,m&&(Se.style.opacity=A==="reverse"?`${1-Y}`:`${Y}`);});},getProgress(){return W()},refresh(){z.forEach((y,Y)=>{O[Y]=qe(y),y.style.setProperty("--ssd-len",String(O[Y])),y.style.strokeDasharray=`${O[Y]}`;});}}}if(Bt())return nt(Gt());function jt(){let o=Math.max(1,te),c=0,b=0,ue=false;function De(h){let N=true;if(K){let W=Math.min(1,Math.max(0,h/o)),y=ve(W);Oe=y,e.style.setProperty("--scroll-draw-progress",String(y)),e.style.clipPath=Pe(A==="reverse"?1-y:y),d?.(y),W<1&&(N=false);}else z.forEach((W,y)=>{let Y=y*V*o,Se=Math.min(1,Math.max(0,(h-Y)/o)),ye=ve(Se);W.style.strokeDashoffset=A==="reverse"?`${O[y]*ye}`:`${O[y]*(1-ye)}`,m&&(W.style.opacity=A==="reverse"?`${1-ye}`:`${ye}`),we&&le?W.style.stroke=We(we,le,ye):le&&(W.style.stroke=le),ce!==null&&j!==null?W.style.strokeWidth=`${ce+(j-ce)*ye}`:j!==null&&(W.style.strokeWidth=`${j}`),pe!==null&&Q!==null?W.style.fillOpacity=`${pe+(Q-pe)*ye}`:Q!==null&&(W.style.fillOpacity=`${Q}`),D&&W.tagName.toLowerCase()==="path"&&i[y]&&W.setAttribute("d",it(i[y],D,ye)),y===0&&(Oe=ye,d?.(ye),e.style.setProperty("--scroll-draw-progress",String(ye))),Se<1&&(N=false);});if(w){let W=Math.min(1,Math.max(0,h/o)),y=ve(W);for(let Y in w){let Se=parseFloat(Y);y>=Se&&!Ne.has(Se)&&(Ne.add(Se),w[Y]?.());}}return N}function ke(h){if(U)return;let N=h-c;_||(_=true,x?.());let W=De(N);if(W&&!H){H=true,De(o*(1+Math.max(0,z.length-1)*V)),g?.(),Fe<(E==="infinite"?1/0:E??0)&&(Fe++,He=setTimeout(()=>{c=performance.now(),_=false,H=false,Ne.clear(),Ye(),q=requestAnimationFrame(ke);},oe));return}W||(q=requestAnimationFrame(ke));}function Ae(){cancelAnimationFrame(q),clearTimeout(He),c=performance.now(),b=0,U=false,_=false,H=false,Fe=0,ue=true,Oe=0,Ne.clear(),Ye(),q=requestAnimationFrame(ke);}let v=new IntersectionObserver(h=>{h.forEach(N=>{N.isIntersecting&&!(ne&&H)?Ae():!N.isIntersecting&&!ne&&!H&&(cancelAnimationFrame(q),clearTimeout(He),ue=false);});},{root:be??null,threshold:F,rootMargin:P}),I;function me(){clearTimeout(I),I=setTimeout(()=>{z.forEach((h,N)=>{O[N]=qe(h),h.style.strokeDasharray=`${O[N]}`;});},150);}return window.addEventListener("resize",me),window.addEventListener("orientationchange",me),G>0?setTimeout(()=>v.observe(e),G):v.observe(e),{destroy(){cancelAnimationFrame(q),clearTimeout(He),v.disconnect(),window.removeEventListener("resize",me),window.removeEventListener("orientationchange",me),clearTimeout(I);},replay(){Fe=0,Ae();},pause(){U||!ue||(U=true,b=performance.now()-c,cancelAnimationFrame(q));},resume(){U&&(U=false,ue=true,c=performance.now()-b,q=requestAnimationFrame(ke));},seek(h){let N=Math.min(1,Math.max(0,h));Oe=N,U=true,b=N*o,c=performance.now()-b,cancelAnimationFrame(q),De(b);},getProgress(){return Oe},refresh(){clearTimeout(I),z.forEach((h,N)=>{O[N]=qe(h),h.style.strokeDasharray=`${O[N]}`;});}}}if(ie)return nt(jt());bt();function Xe(){if(!xe||U)return;let o=performance.now(),c=rt();if(!Ve&&k===false&&c===dt){q=requestAnimationFrame(Xe);return}Ve=false,dt=c;let b=u;if(k!==false){let v=o-gt,I=v>0?Math.abs(c-(Ue<0?c:Ue))/v:0;b=u*Math.max(.2,1+I*(typeof k=="number"?k:1)*.04);}Ue=c,gt=o;let ue=X?Re===-1||c>=Re?"forward":"reverse":A;Re=c;let De=ge-f,ke=true,Ae=De===0?0:(c-f)/De;if(isNaN(_e)||(_e<=0&&Ae>0?$?.():_e>0&&Ae<=0&&fe?.(),_e<1&&Ae>=1?S?.():_e>=1&&Ae<1&&R?.()),_e=Ae,K){let v=ve(J(c,f,ge,b));ne&&!X&&(Ee=Math.max(Ee,v),v=Ee),Oe=v,e.style.setProperty("--scroll-draw-progress",String(v));let I=ue==="reverse"?1-v:v;e.style.clipPath=Pe(I),d?.(v),!_&&J(c,f,ge,b)>0&&(_=true,x?.()),v>=1&&!H?(H=true,g?.(),Fe<(E==="infinite"?1/0:E??0)&&(Fe++,He=setTimeout(()=>{Ee=-1,_=false,H=false,e.style.clipPath=Pe(0);},oe))):v<1&&!ne&&(H=false),q=requestAnimationFrame(Xe);return}if(z.forEach((v,I)=>{let me=I*V*De,h=ve(J(c,f+me,ge+me,b));ne&&!X&&(h=Z[I]=Math.max(Z[I]??Ee,h)),Oe=h,v.style.strokeDashoffset=ue==="reverse"?`${O[I]*h}`:`${O[I]*(1-h)}`,m&&(v.style.opacity=ue==="reverse"?`${1-h}`:`${h}`),we&&le?v.style.stroke=We(we,le,h):le&&(v.style.stroke=le),ce!==null&&j!==null?v.style.strokeWidth=`${ce+(j-ce)*h}`:j!==null&&(v.style.strokeWidth=`${j}`),pe!==null&&Q!==null?v.style.fillOpacity=`${pe+(Q-pe)*h}`:Q!==null&&(v.style.fillOpacity=`${Q}`),D&&v.tagName.toLowerCase()==="path"&&i[I]&&v.setAttribute("d",it(i[I],D,h)),I===0&&(d?.(h),e.style.setProperty("--scroll-draw-progress",String(h))),h<1&&(ke=false);}),w){let v=ve(J(c,f,ge,b));for(let I in w){let me=parseFloat(I);v>=me&&!Ne.has(me)&&(Ne.add(me),w[I]?.());}}!_&&J(c,f,ge,b)>0&&(_=true,x?.()),ke&&!H?(H=true,g?.(),Fe<(E==="infinite"?1/0:E??0)&&(Fe++,He=setTimeout(()=>{Ee=-1,Z=[],_=false,H=false,Ne.clear(),Ye(),Ve=true;},oe))):!ke&&!ne&&(H=false),q=requestAnimationFrame(Xe);}let ot=false;function Ke(){ot||(ot=true,q=requestAnimationFrame(function(){Xe();}));}function Qe(){ot=false,cancelAnimationFrame(q);}let st=new IntersectionObserver(o=>{o.forEach(c=>{xe=c.isIntersecting,xe&&!U?(Ve=true,Ke()):Qe();});},{root:be??null,threshold:F,rootMargin:P});function vt(){z.forEach((o,c)=>{O[c]=qe(o),o.style.strokeDasharray=`${O[c]}`;}),bt(),Ve=true;}let Ze;function Be(){clearTimeout(Ze),Ze=setTimeout(vt,150);}window.addEventListener("resize",Be),window.addEventListener("orientationchange",Be);let Ge;return typeof ResizeObserver<"u"&&(Ge=new ResizeObserver(()=>Be()),Ge.observe(document.body),Ge.observe(document.documentElement),Ge.observe(e)),G>0?setTimeout(()=>st.observe(e),G):st.observe(e),nt({destroy(){cancelAnimationFrame(q),clearTimeout(He),Qe(),st.disconnect(),Ge?.disconnect(),window.removeEventListener("resize",Be),window.removeEventListener("orientationchange",Be),clearTimeout(Ze),pt();},replay(){Ee=-1,Z=[],Re=-1,Ue=-1,_=false,H=false,Fe=0,U=false,Oe=0,Ne.clear(),clearTimeout(He),Ye(),Ve=true,xe&&Ke();},pause(){U=true,Qe();},resume(){U&&(U=false,Ve=true,xe&&Ke());},seek(o){let c=Math.min(1,Math.max(0,o));Oe=c,Ee=c,Z=[],U=true,Qe(),Wt(c,A),Ve=true;},getProgress(){return Oe},refresh(){clearTimeout(Ze),vt(),xe&&!U&&Ke();}},()=>({tStart:f,tEnd:ge}))}var It=new WeakMap,or=0;function Ft(e){return JSON.stringify(e,(n,r)=>{if(typeof r=="function")return "\u0192";if(typeof Element<"u"&&r instanceof Element){let t=It.get(r);return t===void 0&&It.set(r,t=++or),`el#${t}`}return r})}function Dt(e,n){let r={...e};for(let t of Object.keys(r))typeof r[t]=="function"&&(r[t]=(...a)=>n()[t]?.(...a));return r}function sr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Rt(e){let n=[],r=/([\w]+)\(([^)]*)\)/g,t;for(;(t=r.exec(e))!==null;){let a=[],s=[],l=t[2].trim();if(l)for(let u of l.split(/[\s,]+/)){let m=u.match(/^([-+]?[\d.eE]+)(.*)$/);a.push(m?parseFloat(m[1]):0),s.push(m?m[2]:"");}n.push({fn:t[1],nums:a,units:s});}return n}function ir(e,n,r){let t=Rt(e),a=Rt(n);return t.length===0||t.length!==a.length?r<1?e:n:t.map((s,l)=>{let u=a[l];return s.fn!==u.fn||s.nums.length!==u.nums.length?r<1?`${s.fn}(${s.nums.map((m,p)=>`${m}${s.units[p]}`).join(", ")})`:`${u.fn}(${u.nums.map((m,p)=>`${m}${u.units[p]}`).join(", ")})`:`${s.fn}(${s.nums.map((m,p)=>`${m+(u.nums[p]-m)*r}${s.units[p]}`).join(", ")})`}).join(" ")}function Ht(e,n,r){if(typeof e=="number"&&typeof n=="number")return String(e+(n-e)*r);let t=String(e),a=String(n);if(sr(t))return We(t,a,r);if(t.includes("("))return ir(t,a,r);let s=t.match(/^([-+]?[\d.]+)(.*)$/),l=a.match(/^([-+]?[\d.]+)(.*)$/);if(s&&l){let u=parseFloat(s[1]),m=parseFloat(l[1]);return `${u+(m-u)*r}${s[2]||l[2]}`}return r<1?t:a}function ar(e){return e.replace(/([A-Z])/g,n=>`-${n.toLowerCase()}`)}var lr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),cr=0,Nt="--scroll-draw-progress";function ur(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}function lt(e,n){let r={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return r;let{props:t,trigger:a={},easing:s="ease-out",speed:l=1,once:u=false,axis:m="y",scrollContainer:p,native:T=true,velocityScale:V=false,respectReducedMotion:A=true,triggerElement:ne,onProgress:$e,onComplete:B,onEnter:ee,onLeave:X,onEnterBack:G,onLeaveBack:M}=n,C=A&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,L=typeof s=="function"?s:re[s]??re["ease-out"],w=de(a.start??"top bottom"),k=de(a.end??"bottom top"),F=ne??e,P=typeof p=="string"?document.querySelector(p):p??null,E=Object.entries(t).map(([i,f])=>({prop:ar(i),from:Array.isArray(f)?f[0]:"",to:Array.isArray(f)?f[1]:f}));function oe(){let i=window.getComputedStyle(e);for(let f of E)f.from===""&&(f.from=i.getPropertyValue(f.prop).trim()||"0");}function D(){for(let i of E)e.style.setProperty(i.prop,String(i.to));}let se=new Map;for(let i of [...E.map(f=>f.prop),Nt])se.set(i,e.style.getPropertyValue(i));function ie(){for(let[i,f]of se)f?e.style.setProperty(i,f):e.style.removeProperty(i);}if(C)return D(),B?.(),{...r,destroy:ie,getProgress:()=>1};oe();let te=typeof s=="string"?et(s):null;function ae(){if(!T||!ur()||!te||m!=="y"||P||F!==e||u||l!==1||$e||B||ee||X||G||M||V!==false||(a.start??"top bottom").trim()!=="top bottom"||(a.end??"bottom top").trim()!=="bottom top")return false;for(let i of E)if(!lr.has(i.prop))return false;return true}function d(){let i=`ssd-a-${++cr}`,f=E.map(Z=>`${Z.prop}:${Z.from}`).join(";"),ge=E.map(Z=>`${Z.prop}:${Z.to}`).join(";"),H=document.createElement("style");H.setAttribute("data-ssd-animate",""),H.textContent=`@keyframes ${i}{from{${f}}to{${ge}}}.${i}{animation-name:${i};animation-duration:auto;animation-timing-function:${te};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(H),e.classList.add(i);let _=()=>m==="x"?window.scrollX:window.scrollY,q=()=>m==="x"?window.innerWidth:window.innerHeight,xe=()=>{let Z=e.getBoundingClientRect();return Te({top:Z.top,height:Z.height},_(),q(),w,k)};Me(e,{type:"animate",getProgress:()=>Ee.getProgress(),getTrigger:xe});let Ee={destroy(){e.classList.remove(i),H.remove(),e.style.animationPlayState="",ie(),Le(e);},replay(){e.classList.remove(i),e.offsetWidth,e.classList.add(i);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(Z){let Re=Math.min(1,Math.max(0,Z));e.classList.remove(i);for(let U of E)e.style.setProperty(U.prop,Ht(U.from,U.to,Re));},getProgress(){let{tStart:Z,tEnd:Re}=xe();return L(J(_(),Z,Re,l))}};return Ee}if(ae())return d();let x=0,g=0,$=0,S=false,R=false,fe=-1,K=0,ve=false,Ce=NaN,ze=-1,be=0,we=()=>P?m==="x"?P.scrollLeft:P.scrollTop:m==="x"?window.scrollX:window.scrollY,le=()=>P?m==="x"?P.clientWidth:P.clientHeight:m==="x"?window.innerWidth:window.innerHeight;function ce(){let i=Je(F,P,m),f=Te(i,i.scroll,le(),w,k);x=f.tStart,g=f.tEnd;}function j(i){e.style.setProperty(Nt,String(i));for(let f of E)e.style.setProperty(f.prop,Ht(f.from,f.to,i));$e?.(i);}function pe(i){if(isNaN(Ce)){Ce=i;return}Ce<=0&&i>0?ee?.():Ce>0&&i<=0&&M?.(),Ce<1&&i>=1?X?.():Ce>=1&&i<1&&G?.(),Ce=i;}function Q(){if(!S||R)return;let i=performance.now(),f=we(),ge=l;if(V!==false){let q=i-be,xe=q>0?Math.abs(f-(ze<0?f:ze))/q:0;ge=l*Math.max(.2,1+xe*(typeof V=="number"?V:1)*.04);}ze=f,be=i;let H=g===x?0:(f-x)/(g-x);pe(H);let _=L(J(f,x,g,ge));u&&(fe=Math.max(fe,_),_=fe),K=_,j(_),_>=1&&!ve?(ve=true,B?.()):_<1&&!u&&(ve=false),$=requestAnimationFrame(Q);}ce(),g===x&&he("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 i=L(J(we(),x,g,l));u&&i>0&&(fe=i),K=i,j(i);}let Pe=new IntersectionObserver(i=>{i.forEach(f=>{S=f.isIntersecting,S&&!R?$=requestAnimationFrame(Q):cancelAnimationFrame($);});},{root:P??null}),z;function O(){clearTimeout(z),z=setTimeout(ce,150);}return window.addEventListener("resize",O),window.addEventListener("orientationchange",O),Pe.observe(e),Me(e,{type:"animate",getProgress:()=>K,getTrigger:()=>({tStart:x,tEnd:g})}),{destroy(){cancelAnimationFrame($),Pe.disconnect(),window.removeEventListener("resize",O),window.removeEventListener("orientationchange",O),clearTimeout(z),ie(),Le(e);},replay(){fe=-1,ve=false,K=0,R=false,j(0);},pause(){R=true,cancelAnimationFrame($);},resume(){R&&(R=false,S&&($=requestAnimationFrame(Q)));},seek(i){let f=Math.min(1,Math.max(0,i));K=f,fe=f,R=true,cancelAnimationFrame($),j(f);},getProgress(){return K}}}var ct={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function ut(e,n){if(typeof window>"u")return ct;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return he("scrollCounter: element not found:",e),ct;let t=r,{from:a=0,to:s,format:l,easing:u="ease-out",trigger:m={},once:p=true,decimals:T,onComplete:V}=n,A=T!==void 0?d=>d.toFixed(T):l??(d=>String(Math.round(d))),ne=typeof u=="function"?u:re[u]??re["ease-out"],$e=de(m.start??"top 80%"),B=de(m.end??"top 20%");if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t.textContent=A(s),V?.(),ct;let X=0,G=0,M=0,C=false,L=false,w=-1,k=0,F=false,P=()=>window.scrollY,E=()=>window.innerHeight;function oe(){let d=t.getBoundingClientRect(),x=Te({top:d.top,height:d.height},P(),E(),$e,B);X=x.tStart,G=x.tEnd;}function D(d){t.textContent=A(a+(s-a)*d),t.style.setProperty("--scroll-draw-progress",String(d));}function se(){if(!C||L)return;let d=ne(J(P(),X,G,1));p&&(w=Math.max(w,d),d=w),k=d,D(d),d>=1&&!F?(F=true,V?.()):d<1&&!p&&(F=false),M=requestAnimationFrame(se);}oe();{let d=ne(J(P(),X,G,1));p&&d>0&&(w=d),k=d,D(d);}let ie=new IntersectionObserver(d=>{d.forEach(x=>{C=x.isIntersecting,C&&!L?M=requestAnimationFrame(se):cancelAnimationFrame(M);});}),te;function ae(){clearTimeout(te),te=setTimeout(oe,150);}return window.addEventListener("resize",ae),window.addEventListener("orientationchange",ae),ie.observe(t),Me(t,{type:"counter",getProgress:()=>k,getTrigger:()=>({tStart:X,tEnd:G})}),{destroy(){cancelAnimationFrame(M),ie.disconnect(),window.removeEventListener("resize",ae),window.removeEventListener("orientationchange",ae),clearTimeout(te),Le(t);},replay(){w=-1,F=false,k=0,L=false,D(0);},pause(){L=true,cancelAnimationFrame(M);},resume(){L&&(L=false,C&&(M=requestAnimationFrame(se)));},seek(d){let x=Math.min(1,Math.max(0,d));k=x,w=x,L=true,cancelAnimationFrame(M),D(x);},getProgress(){return k}}}var Vt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function mt(e,n={}){if(typeof window>"u")return Vt;let r=typeof e=="string"?document.querySelector(e):e;if(!r||r.tagName.toLowerCase()!=="video")return he("scrollVideo: <video> element not found:",e),Vt;let t=r,{trigger:a={},easing:s="linear",once:l=false,axis:u="y",preload:m="auto",onReady:p,onComplete:T,onProgress:V}=n,A=window.matchMedia("(prefers-reduced-motion: reduce)").matches,ne=typeof s=="function"?s:re[s]??re.linear,$e=de(a.start??"top top"),B=de(a.end??"bottom top");t.pause(),t.hasAttribute("preload")||(t.preload=m);let ee=n.from??0,X=n.to,G=0,M=0,C=0,L=false,w=false,k=-1,F=0,P=false,E=false,oe=()=>u==="x"?window.scrollX:window.scrollY,D=()=>u==="x"?window.innerWidth:window.innerHeight;function se(){let S=t.getBoundingClientRect(),R=u==="x"?S.left:S.top,fe=u==="x"?S.width:S.height,K=Te({top:R,height:fe},oe(),D(),$e,B);G=K.tStart,M=K.tEnd;}let ie=NaN;function te(S){if(!E)return;let R=X??t.duration??0,fe=ee+(R-ee)*S;fe!==ie&&(ie=fe,t.currentTime=fe),t.style.setProperty("--scroll-draw-progress",String(S)),V?.(S);}function ae(){if(!L||w||!E||A)return;let S=ne(J(oe(),G,M,1));l&&(k=Math.max(k,S),S=k),F=S,te(S),S>=1&&!P?(P=true,T?.()):S<1&&!l&&(P=false),C=requestAnimationFrame(ae);}function d(){if(E=true,X===void 0&&(X=t.duration),A){te(1),p?.();return}se(),p?.(),L&&!w&&(C=requestAnimationFrame(ae));}t.readyState>=1?d():t.addEventListener("loadedmetadata",d,{once:true}),E||se();let x=new IntersectionObserver(S=>{S.forEach(R=>{L=R.isIntersecting,L&&!w&&E?C=requestAnimationFrame(ae):cancelAnimationFrame(C);});}),g;function $(){clearTimeout(g),g=setTimeout(se,150);}return window.addEventListener("resize",$),window.addEventListener("orientationchange",$),x.observe(t),Me(t,{type:"video",getProgress:()=>F,getTrigger:()=>({tStart:G,tEnd:M})}),{destroy(){cancelAnimationFrame(C),x.disconnect(),t.removeEventListener("loadedmetadata",d),window.removeEventListener("resize",$),window.removeEventListener("orientationchange",$),clearTimeout(g),Le(t);},replay(){k=-1,P=false,F=0,w=false,ie=NaN,te(0);},pause(){w=true,cancelAnimationFrame(C);},resume(){w&&(w=false,L&&E&&(C=requestAnimationFrame(ae)));},seek(S){let R=Math.min(1,Math.max(0,S));F=R,k=R,w=true,cancelAnimationFrame(C),ie=NaN,te(R);},getProgress(){return F}}}function qt(e){let n=e.textContent??"";return e.textContent="",n.split(/(\s+)/).filter(Boolean).map(r=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),/^\s+$/.test(r)?(t.textContent=r,t.style.whiteSpace="pre"):(t.textContent=r,t.style.display="inline-block"),e.appendChild(t),/^\s+$/.test(r)?null:t}).filter(r=>r!==null)}function mr(e){let n=e.textContent??"";return e.textContent="",n.split("").map(r=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=r,r===" "?t.style.whiteSpace="pre":t.style.display="inline-block",e.appendChild(t),r===" "?null:t}).filter(r=>r!==null)}function zt(e){let n=qt(e),r=new Map;for(let s of n){let l=s.offsetTop;r.has(l)||r.set(l,[]),r.get(l).push(s);}let t=[],a=Array.from(r.keys()).sort((s,l)=>s-l);for(let s of a){let l=r.get(s),u=document.createElement("span");u.setAttribute("aria-hidden","true"),u.style.display="inline-block",l.forEach((m,p)=>{let T=m.nextElementSibling;u.appendChild(m),p<l.length-1&&T&&T.style.whiteSpace==="pre"&&u.appendChild(T);}),t.push(u);}return e.textContent="",t.forEach((s,l)=>{e.appendChild(s),l<t.length-1&&e.appendChild(document.createTextNode(" "));}),t}function fr(e,n,r,t){if(r<=1||t===0)return e;let a=(r-1)*t,s=n*t,l=s+(1-a);return l<=s?e>=s?1:0:Math.min(1,Math.max(0,(e-s)/(l-s)))}function pr(e,n){let r=[];if(n?.y!==void 0&&r.push(`translateY(${n.y*(1-e)}px)`),n?.x!==void 0&&r.push(`translateX(${n.x*(1-e)}px)`),n?.rotate!==void 0&&r.push(`rotate(${n.rotate*(1-e)}deg)`),n?.scale!==void 0){let t=n.scale+(1-n.scale)*e;r.push(`scale(${t})`);}return r.join(" ")||""}var _t={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function ft(e,n={}){if(typeof window>"u")return _t;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return he("scrollText: element not found:",e),_t;let t=r,{split:a="words",stagger:s=.04,easing:l="ease-out",from:u={opacity:0,y:24},trigger:m={},once:p=true,onComplete:T}=n,V=window.matchMedia("(prefers-reduced-motion: reduce)").matches,A=typeof l=="function"?l:re[l]??re["ease-out"],ne=de(m.start??"top 85%"),$e=de(m.end??"top 40%"),B=t.innerHTML;t.setAttribute("aria-label",t.textContent??"");let ee;a==="chars"?ee=mr(t):a==="lines"?ee=zt(t):ee=qt(t);let X=ee.length;function G(g,$){u?.opacity!==void 0&&(g.style.opacity=String(u.opacity+(1-u.opacity)*$));let S=pr($,u);S&&(g.style.transform=S);}function M(g){t.style.setProperty("--scroll-draw-progress",String(g)),ee.forEach(($,S)=>{let R=A(fr(g,S,X,s));G($,R);});}if(V)return M(1),T?.(),{destroy(){t.innerHTML=B,t.removeAttribute("aria-label");},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};M(0);let C=0,L=0,w=0,k=false,F=false,P=-1,E=0,oe=false,D=()=>window.scrollY,se=()=>window.innerHeight;function ie(){let g=t.getBoundingClientRect(),$=Te({top:g.top,height:g.height},D(),se(),ne,$e);C=$.tStart,L=$.tEnd;}function te(){if(!k||F)return;let g=J(D(),C,L,1);p&&(P=Math.max(P,g),g=P),E=g,M(g),g>=1&&!oe?(oe=true,T?.()):g<1&&!p&&(oe=false),w=requestAnimationFrame(te);}ie();let ae=new IntersectionObserver(g=>{g.forEach($=>{k=$.isIntersecting,k&&!F?w=requestAnimationFrame(te):cancelAnimationFrame(w);});}),d;function x(){clearTimeout(d),d=setTimeout(()=>{if(a==="lines"){let g=E;t.innerHTML=B,t.setAttribute("aria-label",t.textContent??""),ee=zt(t),M(g);}ie();},150);}return window.addEventListener("resize",x),window.addEventListener("orientationchange",x),ae.observe(t),Me(t,{type:"text",getProgress:()=>E,getTrigger:()=>({tStart:C,tEnd:L})}),{destroy(){cancelAnimationFrame(w),ae.disconnect(),window.removeEventListener("resize",x),window.removeEventListener("orientationchange",x),clearTimeout(d),t.innerHTML=B,t.removeAttribute("aria-label"),Le(t);},replay(){P=-1,oe=false,E=0,F=false,M(0);},pause(){F=true,cancelAnimationFrame(w);},resume(){F&&(F=false,k&&(w=requestAnimationFrame(te)));},seek(g){let $=Math.min(1,Math.max(0,g));E=$,P=$,F=true,cancelAnimationFrame(w),M($);},getProgress(){return E}}}function Ie(e,n){let r,t,a,s;return solidJs.createEffect(()=>{s=typeof e=="function"?e():e;let l=Ft(s);!r||l===a||(a=l,solidJs.untrack(()=>{t?.destroy(),t=n(r,Dt(s,()=>s));}));}),solidJs.onCleanup(()=>{t?.destroy(),t=a=void 0;}),{ref:l=>{r=l;},getInstance:()=>t}}function hn(e={}){return Ie(e,at).ref}function bn(e={}){return Ie(e,at)}function wn(e){return Ie(e,lt).ref}function vn(e){return Ie(e,lt)}function En(e){return Ie(e,ut).ref}function Sn(e){return Ie(e,ut)}function Tn(e={}){return Ie(e,mt).ref}function xn(e={}){return Ie(e,mt)}function An(e={}){return Ie(e,ft).ref}function Mn(e={}){return Ie(e,ft)}exports.createScrollAnimate=vn;exports.createScrollCounter=Sn;exports.createScrollDraw=bn;exports.createScrollText=Mn;exports.createScrollVideo=xn;exports.useScrollAnimate=wn;exports.useScrollCounter=En;exports.useScrollDraw=hn;exports.useScrollText=An;exports.useScrollVideo=Tn;
@@ -4,8 +4,13 @@ import { S as ScrollCounterOptions } from '../index-BDGQEK6X.mjs';
4
4
  import { ScrollVideoOptions } from '../video/index.mjs';
5
5
  import { ScrollTextOptions } from '../text/index.mjs';
6
6
 
7
+ /** Options as a plain object, or an accessor that keeps them live. */
8
+ type MaybeAccessor<T> = T | (() => T);
7
9
  /**
8
10
  * SolidJS hook — returns a ref setter to attach to any container element.
11
+ * Options can be an accessor (or a component's props) to keep them live:
12
+ * `useScrollDraw(() => ({ speed: speed() }))` rebuilds the draw when the
13
+ * signal changes. A plain object is read once.
9
14
  *
10
15
  * @example
11
16
  * import { useScrollDraw } from 'svg-scroll-draw/solid';
@@ -15,7 +20,7 @@ import { ScrollTextOptions } from '../text/index.mjs';
15
20
  * return <div ref={ref}><svg>...</svg></div>;
16
21
  * }
17
22
  */
18
- declare function useScrollDraw(options?: ScrollDrawOptions): (node: HTMLElement) => void;
23
+ declare function useScrollDraw(options?: MaybeAccessor<ScrollDrawOptions>): (node: HTMLElement) => void;
19
24
  /**
20
25
  * Returns both the ref setter and a getter for the live instance,
21
26
  * so you can call instance.replay() from component logic.
@@ -25,7 +30,7 @@ declare function useScrollDraw(options?: ScrollDrawOptions): (node: HTMLElement)
25
30
  * <div ref={ref}><svg>...</svg></div>
26
31
  * <button onClick={() => getInstance()?.replay()}>Replay</button>
27
32
  */
28
- declare function createScrollDraw(options?: ScrollDrawOptions): {
33
+ declare function createScrollDraw(options?: MaybeAccessor<ScrollDrawOptions>): {
29
34
  ref: (node: HTMLElement) => void;
30
35
  getInstance: () => ScrollDrawInstance | undefined;
31
36
  };
@@ -44,7 +49,7 @@ declare function createScrollDraw(options?: ScrollDrawOptions): {
44
49
  * return <div ref={ref}>...</div>;
45
50
  * }
46
51
  */
47
- declare function useScrollAnimate(options: ScrollAnimateOptions): (node: HTMLElement) => void;
52
+ declare function useScrollAnimate(options: MaybeAccessor<ScrollAnimateOptions>): (node: HTMLElement) => void;
48
53
  /**
49
54
  * Returns both the ref setter and a getter for the live instance.
50
55
  *
@@ -55,7 +60,7 @@ declare function useScrollAnimate(options: ScrollAnimateOptions): (node: HTMLEle
55
60
  * <div ref={ref}>...</div>
56
61
  * <button onClick={() => getInstance()?.replay()}>Replay</button>
57
62
  */
58
- declare function createScrollAnimate(options: ScrollAnimateOptions): {
63
+ declare function createScrollAnimate(options: MaybeAccessor<ScrollAnimateOptions>): {
59
64
  ref: (node: HTMLElement) => void;
60
65
  getInstance: () => ScrollDrawInstance | undefined;
61
66
  };
@@ -70,7 +75,7 @@ declare function createScrollAnimate(options: ScrollAnimateOptions): {
70
75
  * return <span ref={ref} />;
71
76
  * }
72
77
  */
73
- declare function useScrollCounter(options: ScrollCounterOptions): (node: HTMLElement) => void;
78
+ declare function useScrollCounter(options: MaybeAccessor<ScrollCounterOptions>): (node: HTMLElement) => void;
74
79
  /**
75
80
  * Returns both the ref setter and a getter for the live counter instance.
76
81
  *
@@ -79,7 +84,7 @@ declare function useScrollCounter(options: ScrollCounterOptions): (node: HTMLEle
79
84
  * <span ref={ref} />
80
85
  * <button onClick={() => getInstance()?.replay()}>Replay</button>
81
86
  */
82
- declare function createScrollCounter(options: ScrollCounterOptions): {
87
+ declare function createScrollCounter(options: MaybeAccessor<ScrollCounterOptions>): {
83
88
  ref: (node: HTMLElement) => void;
84
89
  getInstance: () => ScrollDrawInstance | undefined;
85
90
  };
@@ -94,7 +99,7 @@ declare function createScrollCounter(options: ScrollCounterOptions): {
94
99
  * return <video ref={ref} src="/hero.mp4" muted playsinline preload="auto" />;
95
100
  * }
96
101
  */
97
- declare function useScrollVideo(options?: ScrollVideoOptions): (node: HTMLVideoElement) => void;
102
+ declare function useScrollVideo(options?: MaybeAccessor<ScrollVideoOptions>): (node: HTMLVideoElement) => void;
98
103
  /**
99
104
  * Returns both the ref setter and a getter for the live video instance.
100
105
  *
@@ -102,7 +107,7 @@ declare function useScrollVideo(options?: ScrollVideoOptions): (node: HTMLVideoE
102
107
  * const { ref, getInstance } = createScrollVideo({ once: false });
103
108
  * <video ref={ref} src="/hero.mp4" muted playsinline preload="auto" />
104
109
  */
105
- declare function createScrollVideo(options?: ScrollVideoOptions): {
110
+ declare function createScrollVideo(options?: MaybeAccessor<ScrollVideoOptions>): {
106
111
  ref: (node: HTMLVideoElement) => void;
107
112
  getInstance: () => ScrollDrawInstance | undefined;
108
113
  };
@@ -117,7 +122,7 @@ declare function createScrollVideo(options?: ScrollVideoOptions): {
117
122
  * return <h2 ref={ref}>Animate on scroll.</h2>;
118
123
  * }
119
124
  */
120
- declare function useScrollText(options?: ScrollTextOptions): (node: HTMLElement) => void;
125
+ declare function useScrollText(options?: MaybeAccessor<ScrollTextOptions>): (node: HTMLElement) => void;
121
126
  /**
122
127
  * Returns both the ref setter and a getter for the live text instance.
123
128
  *
@@ -126,9 +131,9 @@ declare function useScrollText(options?: ScrollTextOptions): (node: HTMLElement)
126
131
  * <p ref={ref}>Hello world.</p>
127
132
  * <button onClick={() => getInstance()?.replay()}>Replay</button>
128
133
  */
129
- declare function createScrollText(options?: ScrollTextOptions): {
134
+ declare function createScrollText(options?: MaybeAccessor<ScrollTextOptions>): {
130
135
  ref: (node: HTMLElement) => void;
131
136
  getInstance: () => ScrollDrawInstance | undefined;
132
137
  };
133
138
 
134
- export { ScrollAnimateOptions, ScrollCounterOptions, ScrollDrawOptions, ScrollTextOptions, ScrollVideoOptions, createScrollAnimate, createScrollCounter, createScrollDraw, createScrollText, createScrollVideo, useScrollAnimate, useScrollCounter, useScrollDraw, useScrollText, useScrollVideo };
139
+ export { type MaybeAccessor, ScrollAnimateOptions, ScrollCounterOptions, ScrollDrawOptions, ScrollTextOptions, ScrollVideoOptions, createScrollAnimate, createScrollCounter, createScrollDraw, createScrollText, createScrollVideo, useScrollAnimate, useScrollCounter, useScrollDraw, useScrollText, useScrollVideo };