svg-scroll-draw 2.23.7 → 2.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +129 -5
  2. package/dist/angular/index.mjs +1 -1
  3. package/dist/astro/index.mjs +1 -1
  4. package/dist/chunk-22P4KBPG.mjs +1 -0
  5. package/dist/{chunk-XNM3VKEK.mjs → chunk-32ZCSGFZ.mjs} +1 -1
  6. package/dist/{chunk-VJ5ZU55P.mjs → chunk-7USW2XFB.mjs} +1 -1
  7. package/dist/{chunk-K6VATIJH.mjs → chunk-7XOFQCQE.mjs} +1 -1
  8. package/dist/{chunk-G6K54ZFI.mjs → chunk-BDXWPUBJ.mjs} +1 -1
  9. package/dist/{chunk-NYQJPPMP.mjs → chunk-BRV2B2YW.mjs} +1 -1
  10. package/dist/chunk-D2BHE4F2.mjs +1 -0
  11. package/dist/chunk-EBU6E26L.mjs +1 -0
  12. package/dist/{chunk-22B37AWY.mjs → chunk-NX74KN5X.mjs} +1 -1
  13. package/dist/{chunk-CZLUBJAI.mjs → chunk-QZKYGS74.mjs} +1 -1
  14. package/dist/{chunk-PAGN26EH.mjs → chunk-U5TKLHGW.mjs} +1 -1
  15. package/dist/chunk-WKOT2MND.mjs +1 -0
  16. package/dist/cinematic/index.mjs +1 -1
  17. package/dist/devtools/index.cjs +1 -1
  18. package/dist/devtools/index.mjs +1 -1
  19. package/dist/frames/index.cjs +1 -0
  20. package/dist/frames/index.d.mts +42 -0
  21. package/dist/frames/index.d.ts +42 -0
  22. package/dist/frames/index.mjs +1 -0
  23. package/dist/group/index.mjs +1 -1
  24. package/dist/horizontal/index.mjs +1 -1
  25. package/dist/index.mjs +1 -1
  26. package/dist/nuxt/index.cjs +3 -3
  27. package/dist/nuxt/index.d.mts +4 -2
  28. package/dist/nuxt/index.d.ts +4 -2
  29. package/dist/nuxt/index.mjs +1 -1
  30. package/dist/pin/index.mjs +1 -1
  31. package/dist/progress/index.mjs +1 -1
  32. package/dist/react/index.cjs +3 -3
  33. package/dist/react/index.d.mts +17 -1
  34. package/dist/react/index.d.ts +17 -1
  35. package/dist/react/index.mjs +1 -1
  36. package/dist/reveal/index.mjs +1 -1
  37. package/dist/snap/index.mjs +1 -1
  38. package/dist/solid/index.mjs +1 -1
  39. package/dist/svelte/index.mjs +1 -1
  40. package/dist/text/index.mjs +1 -1
  41. package/dist/timeline/index.mjs +1 -1
  42. package/dist/video/index.mjs +1 -1
  43. package/dist/vue/index.cjs +3 -3
  44. package/dist/vue/index.d.mts +37 -1
  45. package/dist/vue/index.d.ts +37 -1
  46. package/dist/vue/index.mjs +1 -1
  47. package/dist/web-component/index.mjs +1 -1
  48. package/package.json +18 -2
  49. package/dist/chunk-BCV4RAIX.mjs +0 -1
  50. package/dist/chunk-OSGWGHQJ.mjs +0 -1
@@ -1 +1 @@
1
- import {a}from'../chunk-VJ5ZU55P.mjs';import'../chunk-V3Z6G5JE.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-2PYLM3E7.mjs';import {d}from'../chunk-NV6YTPHI.mjs';import'../chunk-THPTANES.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-BCV4RAIX.mjs';import {b}from'../chunk-LFSU6LR3.mjs';var x={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0,refresh:()=>{}};function $(a$1,r={}){if(typeof window>"u")return x;let h=typeof a$1=="string"?document.querySelector(a$1):a$1;if(!h)return b("scrollHorizontal: track element not found:",a$1),x;let o=h,{easing:C="linear",trigger:P={start:"top top",end:"bottom bottom"},scrollContainer:s,respectReducedMotion:R=false,onProgress:v}=r,u=typeof s=="string"?document.querySelector(s):s??null;function b$1(){for(let e=o.parentElement;e;e=e.parentElement)if(window.getComputedStyle(e).position==="sticky")return e;return null}function M(){let e=b$1();if(e){let t=window.getComputedStyle(e);return e.clientWidth-(parseFloat(t.paddingLeft)||0)-(parseFloat(t.paddingRight)||0)}return u?u.clientWidth:document.documentElement.clientWidth||window.innerWidth}function d$1(){return r.distance??o.scrollWidth-M()}function g(){if(r.triggerElement!==void 0){let t=typeof r.triggerElement=="string"?document.querySelector(r.triggerElement):r.triggerElement;if(t)return t;b("scrollHorizontal: triggerElement not found:",r.triggerElement);}let e=b$1();return e?e.parentElement??e:o}let m=d$1(),i=g(),n=a(o,T(m,i)),S=f(),l=null;function T(e,t){return {props:{transform:["translateX(0px)",`translateX(${-e}px)`]},trigger:P,easing:C,native:false,respectReducedMotion:R,...t!==o&&{triggerElement:t},...s!==void 0&&{scrollContainer:s},...v!==void 0&&{onProgress:v}}}function f(){let e=i.getBoundingClientRect(),t=u?e.top-u.getBoundingClientRect().top+u.scrollTop:e.top+window.scrollY;return `${d$1()} ${Math.round(t)} ${Math.round(e.height)}`}function z(){n.destroy();let e=g(),t=e!==i;m=d$1(),i=e,n=a(o,T(m,i)),S=f(),l!==null&&n.seek(l),t&&H();}let p;function W(){(g()!==i||f()!==S)&&z();}function c(){clearTimeout(p),p=setTimeout(W,150);}window.addEventListener("resize",c),window.addEventListener("orientationchange",c);let E=()=>{};function H(){E(),E=d([o,i],c);}return H(),{destroy(){clearTimeout(p),window.removeEventListener("resize",c),window.removeEventListener("orientationchange",c),E(),n.destroy();},replay(){l=null,n.replay();},pause(){n.pause(),l=n.getProgress();},resume(){l=null,n.resume();},seek(e){n.seek(e),l=n.getProgress();},getProgress(){return n.getProgress()},refresh(){z();}}}export{$ as scrollHorizontal};
1
+ import {a}from'../chunk-7USW2XFB.mjs';import'../chunk-V3Z6G5JE.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-2PYLM3E7.mjs';import {d}from'../chunk-NV6YTPHI.mjs';import'../chunk-THPTANES.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-EBU6E26L.mjs';import {b}from'../chunk-LFSU6LR3.mjs';var x={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0,refresh:()=>{}};function $(a$1,r={}){if(typeof window>"u")return x;let h=typeof a$1=="string"?document.querySelector(a$1):a$1;if(!h)return b("scrollHorizontal: track element not found:",a$1),x;let o=h,{easing:C="linear",trigger:P={start:"top top",end:"bottom bottom"},scrollContainer:s,respectReducedMotion:R=false,onProgress:v}=r,u=typeof s=="string"?document.querySelector(s):s??null;function b$1(){for(let e=o.parentElement;e;e=e.parentElement)if(window.getComputedStyle(e).position==="sticky")return e;return null}function M(){let e=b$1();if(e){let t=window.getComputedStyle(e);return e.clientWidth-(parseFloat(t.paddingLeft)||0)-(parseFloat(t.paddingRight)||0)}return u?u.clientWidth:document.documentElement.clientWidth||window.innerWidth}function d$1(){return r.distance??o.scrollWidth-M()}function g(){if(r.triggerElement!==void 0){let t=typeof r.triggerElement=="string"?document.querySelector(r.triggerElement):r.triggerElement;if(t)return t;b("scrollHorizontal: triggerElement not found:",r.triggerElement);}let e=b$1();return e?e.parentElement??e:o}let m=d$1(),i=g(),n=a(o,T(m,i)),S=f(),l=null;function T(e,t){return {props:{transform:["translateX(0px)",`translateX(${-e}px)`]},trigger:P,easing:C,native:false,respectReducedMotion:R,...t!==o&&{triggerElement:t},...s!==void 0&&{scrollContainer:s},...v!==void 0&&{onProgress:v}}}function f(){let e=i.getBoundingClientRect(),t=u?e.top-u.getBoundingClientRect().top+u.scrollTop:e.top+window.scrollY;return `${d$1()} ${Math.round(t)} ${Math.round(e.height)}`}function z(){n.destroy();let e=g(),t=e!==i;m=d$1(),i=e,n=a(o,T(m,i)),S=f(),l!==null&&n.seek(l),t&&H();}let p;function W(){(g()!==i||f()!==S)&&z();}function c(){clearTimeout(p),p=setTimeout(W,150);}window.addEventListener("resize",c),window.addEventListener("orientationchange",c);let E=()=>{};function H(){E(),E=d([o,i],c);}return H(),{destroy(){clearTimeout(p),window.removeEventListener("resize",c),window.removeEventListener("orientationchange",c),E(),n.destroy();},replay(){l=null,n.replay();},pause(){n.pause(),l=n.getProgress();},resume(){l=null,n.resume();},seek(e){n.seek(e),l=n.getProgress();},getProgress(){return n.getProgress()},refresh(){z();}}}export{$ as scrollHorizontal};
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- export{a as scrollAnimate,b as scrollParallax}from'./chunk-CZLUBJAI.mjs';export{a as Cinematic}from'./chunk-G6K54ZFI.mjs';export{a as scrollDraw}from'./chunk-22B37AWY.mjs';export{a as scrollCounter}from'./chunk-PAGN26EH.mjs';import'./chunk-VJ5ZU55P.mjs';export{a as PRESETS}from'./chunk-K6VATIJH.mjs';import'./chunk-V3Z6G5JE.mjs';import'./chunk-UPWWULKI.mjs';import'./chunk-XC5NR2MU.mjs';import'./chunk-2PYLM3E7.mjs';import'./chunk-NV6YTPHI.mjs';export{b as createBounce,c as createElastic,a as createSpring}from'./chunk-THPTANES.mjs';import'./chunk-5PJEKEEP.mjs';import'./chunk-4DOJSIEQ.mjs';import'./chunk-BCV4RAIX.mjs';import'./chunk-LFSU6LR3.mjs';
1
+ export{a as scrollAnimate,b as scrollParallax}from'./chunk-QZKYGS74.mjs';export{a as Cinematic}from'./chunk-BDXWPUBJ.mjs';export{a as scrollDraw}from'./chunk-NX74KN5X.mjs';export{a as scrollCounter}from'./chunk-U5TKLHGW.mjs';import'./chunk-7USW2XFB.mjs';export{a as PRESETS}from'./chunk-7XOFQCQE.mjs';import'./chunk-V3Z6G5JE.mjs';import'./chunk-UPWWULKI.mjs';import'./chunk-XC5NR2MU.mjs';import'./chunk-2PYLM3E7.mjs';import'./chunk-NV6YTPHI.mjs';export{b as createBounce,c as createElastic,a as createSpring}from'./chunk-THPTANES.mjs';import'./chunk-4DOJSIEQ.mjs';import'./chunk-5PJEKEEP.mjs';import'./chunk-EBU6E26L.mjs';import'./chunk-LFSU6LR3.mjs';
@@ -1,3 +1,3 @@
1
- 'use strict';var vue=require('vue');function Ln({tension:e=2.5,friction:t=2.2}={}){return n=>1-Math.cos(n*Math.PI*e)*Math.pow(1-n,t)}function Cn({bounces:e=3,decay:t=.5}={}){let n=Math.max(1,Math.round(e)),r=Math.max(.01,Math.min(.99,t)),o=Math.sqrt(r),s=0,a=[];for(let p=0;p<n;p++){let g=Math.pow(o,p);a.push(g),s+=g;}let u=[0],f=0;for(let p=0;p<n;p++)f+=a[p]/s,u.push(f);return p=>{if(p<=0)return 0;if(p>=1)return 1;for(let g=0;g<n;g++)if(p<=u[g+1]){let x=(p-u[g])/(u[g+1]-u[g]);if(g===0)return x*(2-x);let y=1-Math.pow(r,g);return y+(1-y)*(2*x-1)*(2*x-1)}return 1}}function An({amplitude:e=1,period:t=.4}={}){let n=Math.max(1,e),r=Math.max(.1,t),o=n<=1?r/4:r/(2*Math.PI)*Math.asin(1/n);return s=>s<=0?0:s>=1?1:n*Math.pow(2,-10*s)*Math.sin((s-o)*(2*Math.PI)/r)+1}var ee={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:Ln(),bounce:Cn(),elastic:An()};function Qe(e,t,n){return Math.min(n,Math.max(t,e))}function ie(e="top bottom"){let t=e.trim();if(/^\d+(\.\d+)?%$/.test(t))return {element:"top",viewport:t};let[n="top",r="bottom"]=t.split(/\s+/).filter(Boolean);return {element:n,viewport:r}}var qt=(e,t)=>e==="top"?0:e==="center"?.5:e==="bottom"?1:t;function zt(e,t,n,r){return e+n+t*qt(r,0)}function jt(e,t){return t*(/^\d+(\.\d+)?%$/.test(e)?parseFloat(e)/100:qt(e,1))}function z(e,t,n,r){return n===t?0:Qe((e-t)/(n-t)*r,0,1)}function we(e,t,n,r,o){let s=zt(e.top,e.height,t,r.element)-jt(r.viewport,n),a=zt(e.top,e.height,t,o.element)-jt(o.viewport,n);return {tStart:s,tEnd:a}}function ot(e,t,n){let r=e.getBoundingClientRect(),o=n==="x"?r.width:r.height;return t?{top:n==="x"?r.left-t.getBoundingClientRect().left-t.clientLeft+t.scrollLeft:r.top-t.getBoundingClientRect().top-t.clientTop+t.scrollTop,height:o,scroll:0}:{top:n==="x"?r.left:r.top,height:o,scroll:n==="x"?window.scrollX:window.scrollY}}function st(e){let t=parseFloat(e.getAttribute("pathLength")??"");if(t>0)return t;let n=e.tagName.toLowerCase();if(n==="rect"){let r=parseFloat(e.getAttribute("width")??"0"),o=parseFloat(e.getAttribute("height")??"0");return 2*(r+o)}if(n==="circle"){let r=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*r}return e.getTotalLength()}function Yt(e){let t=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(t)return [parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)];let n=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(n)return [parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)];let r=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return r?[parseInt(r[1]),parseInt(r[2]),parseInt(r[3])]:null}function it(e,t,n){let r=Yt(e),o=Yt(t);return !r||!o?e:`rgb(${Math.round(r[0]+(o[0]-r[0])*n)},${Math.round(r[1]+(o[1]-r[1])*n)},${Math.round(r[2]+(o[2]-r[2])*n)})`}var Qt={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 ze=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function ae(e,...t){ze&&console.warn(`[svg-scroll-draw] ${e}`,...t);}var Pn="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",On="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Ut=33;function kn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function $n(e){let t=[];for(let n=0;n<Ut;n++){let r=n/(Ut-1);t.push(String(Math.round(e(r)*1e5)/1e5));}return `linear(${t.join(",")})`}function at(e){switch(e){case "linear":return "linear";case "ease-in":return Pn;case "ease-out":return On;case "ease-in-out":return kn()?$n(ee["ease-in-out"]):null;default:return null}}var Xt=Symbol.for("svg-scroll-draw.registry");function Kt(){let e=globalThis;return e[Xt]||(e[Xt]=new Map)}function Se(e,t){Kt().set(e,t);}function ve(e){Kt().delete(e);}function lt(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let t=window.matchMedia("(prefers-reduced-motion: reduce)"),n=o=>e(!!o.matches);if(typeof t.addEventListener=="function")return t.addEventListener("change",n),()=>t.removeEventListener("change",n);let r=t;return r.addListener?.(n),()=>r.removeListener?.(n)}function Ve(e,t){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t(e,true);let n=t(e,false),r=lt(s=>{if(!s)return;r();let a=(n.getProgress?.()??0)>=1;n.destroy(),n=t(a?{...e,onComplete:void 0}:e,true);}),o={};for(let s of Object.keys(n))o[s]=(...a)=>n[s]?.(...a);return o.destroy=()=>{r(),n.destroy();},o}var Ue,ct=new Set,ut=new WeakMap,Xe=new Map,Zt=e=>{let t=e.getBoundingClientRect();return t.width+" "+t.height};function Rn(e){let t=new Set;for(let n of e)for(;n&&n!==document.body;n=n.parentElement)for(let r=n;r;r=r.previousElementSibling)t.add(r);return t}function Jt(e,t){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let n=()=>t();Ue??(Ue=new ResizeObserver(o=>{let s=false;for(let{target:a}of o)ut.get(a)!==Zt(a)&&(s=true),ut.set(a,"");s&&ct.forEach(a=>a());})),ct.add(n);let r=Rn(e);return [document.body,document.documentElement].forEach(o=>o&&r.add(o)),r.forEach(o=>{ut.has(o)||ut.set(o,Zt(o)),Xe.set(o,(Xe.get(o)??0)+1),Ue.observe(o);}),()=>{ct.delete(n)&&(r.forEach(o=>{let s=(Xe.get(o)??1)-1;if(s)return void Xe.set(o,s);Xe.delete(o),Ue?.unobserve(o);}),ct.size||(Ue?.disconnect(),Ue=void 0));}}function Me(e,t,n,r,o){let s,a=NaN,u,f,p=()=>{s=0,r(),!u&&!s&&(a=n())>0&&a<1&&(s=requestAnimationFrame(p));},g=()=>{!s&&!u&&n()!==a&&(s=requestAnimationFrame(p));},x=D=>{u=D,cancelAnimationFrame(s),s=a=NaN,g();},y=()=>{clearTimeout(f),o(),g();},R=()=>{clearTimeout(f),f=setTimeout(y,150);},j=Jt(t,R),w=D=>{e[D]("scroll",g,{passive:true}),window[D]("resize",R),window[D]("orientationchange",R);};return w("addEventListener"),g(),{hold:x,remeasure:y,off(){x(true),w("removeEventListener"),j(),clearTimeout(f);}}}var Dn=0;function Hn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function en(e,t){let n="";try{n=getComputedStyle(e).getPropertyValue(t).trim();}catch{}return n||(e.getAttribute(t)??"").trim()}var tn=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Nn(e){if(!ze)return;let t=en(e,"stroke");if(!t||t==="none"){ae("Element has no stroke \u2014 path will not be visible.",e);return}let n=(e.getAttribute("fill")??"").trim();n&&!tn.has(n)&&!tn.has(en(e,"fill"))&&ae("Element has a fill \u2014 it may obscure the stroke animation.",e);}function In(e,t,n){let r=document.createElement("div");r.setAttribute("data-svg-scroll-draw-debug",""),r.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 o(){let s=n==="x"?window.scrollX:window.scrollY,a=e-s,u=t-s,f=n==="x";r.innerHTML=`
2
- <div style="position:absolute;${f?`left:${a}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${a}px;left:0;right:0;border-top:2px dashed #22c55e;`}padding:2px 6px;color:#22c55e;background:rgba(0,0,0,.6)">\u25B6 start</div>
3
- <div style="position:absolute;${f?`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(r),window.addEventListener("scroll",o,{passive:true}),o(),{el:r,destroy(){window.removeEventListener("scroll",o),r.remove();}}}var nn=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,rn=/[MmLlHhVvCcSsQqTtAaZz]/g;function Vn(e,t,n){if(!ze)return;let r=(e.match(rn)??[]).join("").toUpperCase(),o=(t.match(rn)??[]).join("").toUpperCase(),s=(e.match(nn)??[]).length,a=(t.match(nn)??[]).length;if(r!==o){ae(`morphTo: command sequence differs (${r||"\u2205"} \u2192 ${o||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,n);return}s!==a&&ae(`morphTo: coordinate count differs (${s} \u2192 ${a}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,n);}function Fn(e,t,n){let r=(t.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),o=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,s=>{let a=parseFloat(s),u=r[o++]??a;return String(+(a+(u-a)*n).toFixed(4))})}function wt(e,t={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:Ve(t,(n,r)=>_n(e,n,r))}function _n(e,t,n){let{preset:r,...o}=t,s=r?{...Qt[r],...o}:o,{selector:a="path, polyline, line, polygon, rect, circle",speed:u=1,fade:f=false,easing:p="linear",trigger:g={},stagger:x=0,direction:y="forward",once:R=false,debug:j=false,axis:w="y",scrollContainer:D,autoReverse:ue=false,delay:H=0,strokeColor:M,strokeWidth:C,fillOpacity:O,waypoints:S,velocityScale:A=false,threshold:N=0,rootMargin:te="0px",repeat:q=0,repeatDelay:V=0,morphTo:I,clip:v,autoplay:Q=false,duration:h=1e3,native:P=true,onProgress:Ee,onStart:U,onComplete:_,onEnter:fe,onLeave:Te,onEnterBack:ge,onLeaveBack:me}=s,b=v===true?"left":typeof v=="string"?v:false,E=typeof p=="function"?p:ee[p]??ee.linear,ye=ie(g.start||"top bottom"),He=ie(g.end||"bottom top"),X=typeof D=="string"?document.querySelector(D):D??null,Ae=Array.isArray(M)?M[0]:null,Pe=Array.isArray(M)?M[1]:typeof M=="string"?M:null,he=Array.isArray(C)?C[0]:null,Ne=Array.isArray(C)?C[1]:typeof C=="number"?C:null,Oe=Array.isArray(O)?O[0]:null,be=Array.isArray(O)?O[1]:typeof O=="number"?O:null;function ke(i){let c=i*100;switch(b){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(${i*150}% at 50% 50%)`;default:return `inset(0 ${100-c}% 0 0)`}}let l=b?[]:Array.from(e.querySelectorAll(a)),m=[],K=[],k=0,F=0,Y=x,G=0,Ie=0,Z=false,$e=false,Re=0,mt=-1,et=[],tt=-1,pe=false,xe=0,Fe=0,_e,pt=false,dt=null;function kt(){dt?.destroy(),dt=null;}let Ge=new Set,$t=NaN,We=true,nt=-1,Rt=performance.now(),Be=NaN;function rt(){return X?w==="x"?X.scrollLeft:X.scrollTop:w==="x"?window.scrollX:window.scrollY}function Dt(){return X?w==="x"?X.clientWidth:X.clientHeight:w==="x"?window.innerWidth:window.innerHeight}function Ht(){let i=ot(e,X,w);return we(i,i.scroll,Dt(),ye,He)}function wn(){let i=F-k,c=l.length-1,d=X??document.documentElement,L=w==="x"?"Width":"Height";if(Y=x,x>0&&c>0&&i>0){let ne=d[`scroll${L}`]-d[`client${L}`]-1-k-i/u;ne>=0&&(Y=Math.min(x,ne/(c*i)));}let J=Math.max(0,c)*Y*i,le=i/Math.min(u,1);G=k+Math.min(0,J,le,J+le),Ie=k+Math.max(0,J,le,J+le);}function Nt(){(({tStart:k,tEnd:F}=Ht())),wn(),j&&ze&&(kt(),dt=In(k,F,w));}function gt(i,c=Ht){Se(e,{type:"draw",getProgress:()=>i.getProgress(),getTrigger:c});let d=i.destroy;return i.destroy=()=>{d.call(i),ve(e);},i}function It(i,c){return R&&!ue?Math.max(mt,E(et[i]=Math.max(et[i]??0,c))):E(c)}function Sn(i,c){if(e.style.setProperty("--scroll-draw-progress",String(i)),b){let d=c==="reverse"?1-i:i;e.style.clipPath=ke(d);return}l.forEach((d,L)=>yt(d,L,i,c));}function yt(i,c,d,L){i.style.strokeDashoffset=L==="reverse"?`${m[c]*d}`:`${m[c]*(1-d)}`,f&&(i.style.opacity=L==="reverse"?`${1-d}`:`${d}`),Ae&&Pe?i.style.stroke=it(Ae,Pe,d):Pe&&(i.style.stroke=Pe),he!==null&&Ne!==null?i.style.strokeWidth=`${he+(Ne-he)*d}`:Ne!==null&&(i.style.strokeWidth=`${Ne}`),Oe!==null&&be!==null?i.style.fillOpacity=`${Oe+(be-Oe)*d}`:be!==null&&(i.style.fillOpacity=`${be}`),I&&i.tagName.toLowerCase()==="path"&&K[c]&&i.setAttribute("d",Fn(K[c],I,d));}function ht(){if(e.style.setProperty("--scroll-draw-progress","0"),b){e.style.clipPath=ke(y==="reverse"?1:0);return}l.forEach((i,c)=>{i.style.strokeDasharray=`${m[c]}`,i.style.strokeDashoffset=y==="reverse"?"0":`${m[c]}`,f?i.style.opacity=y==="reverse"?"1":"0":i.style.opacity="",Ae&&(i.style.stroke=Ae),he!==null&&(i.style.strokeWidth=`${he}`),Oe!==null&&(i.style.fillOpacity=`${Oe}`),I&&i.tagName.toLowerCase()==="path"&&K[c]&&i.setAttribute("d",K[c]);});}function je(i,c){let d=i.getAttribute("d"),L=st(i);if(I&&K[c]){i.setAttribute("d",I);let J=st(i);i.setAttribute("d",K[c]),L=Math.max(st(i),J),i.setAttribute("d",d);}m[c]=L,i.style.strokeDasharray=`${L}`;}if(l.forEach((i,c)=>{Nn(i);let d=i.tagName.toLowerCase()==="path";d?K.push(i.getAttribute("d")??""):K.push(""),je(i,c);let L=m[c];I&&(d?Vn(K[K.length-1],I,i):ae(`morphTo only applies to <path> elements \u2014 ignored on <${i.tagName}>.`,i)),n?(i.style.strokeDashoffset=y==="reverse"?`${L}`:"0",f&&(i.style.opacity="1"),Pe&&(i.style.stroke=Pe),Ne!==null&&(i.style.strokeWidth=`${Ne}`),be!==null&&(i.style.fillOpacity=`${be}`),I&&i.tagName.toLowerCase()==="path"&&i.setAttribute("d",I)):(i.style.strokeDashoffset=y==="reverse"?"0":`${L}`,f?i.style.opacity=y==="reverse"?"1":"0":i.style.opacity="",Ae&&(i.style.stroke=Ae),he!==null&&(i.style.strokeWidth=`${he}`),Oe!==null&&(i.style.fillOpacity=`${Oe}`));}),n)return b&&(e.style.clipPath=ke(1)),_?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};b&&(e.style.clipPath=ke(y==="reverse"?1:0));let Vt=typeof p=="string"?at(p):null;function vn(){return !(P===false||Q||j&&ze||!Hn()||!l.length||!Vt||b||w!=="y"||X||u!==1||x!==0||R||ue||A!==false||I||S||q||H>0||Ee||U||_||fe||Te||ge||me||M!=null||C!=null||O!=null||(g.start||"top bottom").trim()!=="top bottom"||(g.end||"bottom top").trim()!=="bottom top")}function En(){let i=++Dn,c=`svg-scroll-draw-${i}`,d=`svg-scroll-draw-host-${i}`,L=`--svg-scroll-draw-${i}`,J=y==="reverse"?"0":"var(--ssd-len)",le=y==="reverse"?"var(--ssd-len)":"0",ne=`stroke-dashoffset:${J};`,W=`stroke-dashoffset:${le};`;f&&(ne+=`opacity:${y==="reverse"?1:0};`,W+=`opacity:${y==="reverse"?0:1};`);let B=document.createElement("style");B.setAttribute("data-svg-scroll-draw",""),B.textContent=`@keyframes ${c}{from{${ne}}to{${W}}}.${d}{view-timeline-name:${L};view-timeline-axis:block;}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${Vt};animation-fill-mode:both;animation-timeline:${L};animation-range:cover 0% cover 100%;}`,document.head.appendChild(B),e.classList.add(d);function se(T,$){T.style.setProperty("--ssd-len",String(m[$])),T.style.strokeDasharray=`${m[$]}`,T.style.strokeDashoffset="",T.style.opacity="",T.style.animationPlayState="",T.classList.add(c);}l.forEach(se);let re=false,ce=-1;function de(){if(ce>=0)return ce;let T=e.getBoundingClientRect(),{tStart:$,tEnd:oe}=we({top:T.top,height:T.height},rt(),Dt(),ye,He);return E(z(rt(),$,oe,u))}return {destroy(){e.classList.remove(d),l.forEach(T=>{T.classList.remove(c),T.style.removeProperty("--ssd-len"),T.style.animationPlayState="";}),B.remove();},replay(){re=false,ce=-1,l.forEach(se);},pause(){re=true,l.forEach(T=>{T.style.animationPlayState="paused";});},resume(){re&&(re=false,l.forEach(T=>{T.style.animationPlayState="running";}));},seek(T){let $=Math.min(1,Math.max(0,T));ce=$,re=true,l.forEach((oe,De)=>{oe.classList.remove(c),oe.style.strokeDashoffset=y==="reverse"?`${m[De]*$}`:`${m[De]*(1-$)}`,f&&(oe.style.opacity=y==="reverse"?`${1-$}`:`${$}`);});},getProgress(){return de()},refresh(){l.forEach((T,$)=>{je(T,$),T.style.setProperty("--ssd-len",String(m[$]));});}}}if(vn())return gt(En());function Tn(){let i=Math.max(1,h),c=b?i:i*(1+Math.max(0,l.length-1)*x),d=0,L=0,J=false;function le(ce){let de=true,T=Math.min(1,Math.max(0,ce/c));if(b){let $=Math.min(1,Math.max(0,ce/i)),oe=E($);xe=oe,e.style.setProperty("--scroll-draw-progress",String(oe)),e.style.clipPath=ke(y==="reverse"?1-oe:oe),Ee?.(oe),$<1&&(de=false);}else {l.forEach((oe,De)=>{let Mn=De*x*i,Bt=Math.min(1,Math.max(0,(ce-Mn)/i));yt(oe,De,E(Bt),y),Bt<1&&(de=false);});let $=E(T);xe=$,Ee?.($),e.style.setProperty("--scroll-draw-progress",String($));}if(S){let $=E(T);for(let oe in S){let De=parseFloat(oe);$>=De&&!Ge.has(De)&&(Ge.add(De),S[oe]?.());}}return de}function ne(ce){if(pe)return;let de=ce-d;$e||($e=true,U?.());let T=le(de);if(T&&!Z){Z=true,le(c),_?.(),Fe<(q==="infinite"?1/0:q??0)&&(Fe++,_e=setTimeout(()=>{d=performance.now(),$e=false,Z=false,Ge.clear(),ht(),Re=requestAnimationFrame(ne);},V));return}T||(Re=requestAnimationFrame(ne));}function W(){cancelAnimationFrame(Re),clearTimeout(_e),d=performance.now(),L=0,pe=false,$e=false,Z=false,Fe=0,J=true,xe=0,Ge.clear(),ht(),Re=requestAnimationFrame(ne);}let B=new IntersectionObserver(ce=>{ce.forEach(de=>{de.isIntersecting&&!(R&&Z)?W():!de.isIntersecting&&!R&&!Z&&(cancelAnimationFrame(Re),clearTimeout(_e),J=false);});},{root:X??null,threshold:N,rootMargin:te}),se;function re(){clearTimeout(se),se=setTimeout(()=>l.forEach(je),150);}return window.addEventListener("resize",re),window.addEventListener("orientationchange",re),H>0?setTimeout(()=>B.observe(e),H):B.observe(e),{destroy(){cancelAnimationFrame(Re),clearTimeout(_e),B.disconnect(),window.removeEventListener("resize",re),window.removeEventListener("orientationchange",re),clearTimeout(se);},replay(){Fe=0,W();},pause(){pe||!J||(pe=true,L=performance.now()-d,cancelAnimationFrame(Re));},resume(){pe&&(pe=false,J=true,d=performance.now()-L,Re=requestAnimationFrame(ne));},seek(ce){let de=Math.min(1,Math.max(0,ce));xe=de,pe=true,L=de*c,d=performance.now()-L,cancelAnimationFrame(Re),le(L);},getProgress(){return xe},refresh(){clearTimeout(se),l.forEach(je);}}}if(Q)return gt(Tn());Nt();let Ft=()=>z(rt(),G,Ie,1);function _t(){Z=true,_?.(),Fe<(q==="infinite"?1/0:q)&&(Fe++,_e=setTimeout(()=>{pt=true;},V));}function Gt(){mt=-1,et=[],$e=false,Z=false,pt=false,Ge.clear(),ht(),We=true;}function xn(){let i=performance.now(),c=rt();if(pt&&Ft()%1&&Gt(),!We&&A===false&&c===$t)return;We=false,$t=c;let d=u;if(A!==false){let W=i-Rt,B=W>0?Math.abs(c-(nt<0?c:nt))/W:0;d=u*Math.max(.2,1+B*(typeof A=="number"?A:1)*.04);}nt=c,Rt=i;let L=ue?tt===-1||c>=tt?"forward":"reverse":y;tt=c;let J=F-k,le=true,ne=J===0?0:(c-k)/J;if(isNaN(Be)||(Be<=0&&ne>0&&fe?.(),Be<1&&ne>=1&&Te?.(),Be>=1&&ne<1&&ge?.(),Be>0&&ne<=0&&me?.()),Be=ne,b){let W=It(0,z(c,k,F,d));xe=W,e.style.setProperty("--scroll-draw-progress",String(W));let B=L==="reverse"?1-W:W;e.style.clipPath=ke(B),Ee?.(W),!$e&&z(c,k,F,d)>0&&($e=true,U?.()),W>=1&&!Z?_t():W<1&&!R&&(Z=false);return}if(l.forEach((W,B)=>{let se=B*Y*J,re=It(B,z(c,k+se,F+se,d));yt(W,B,re,L),B===0&&(xe=re,Ee?.(re),e.style.setProperty("--scroll-draw-progress",String(re))),re<1&&(le=false);}),S){let W=E(z(c,k,F,d));for(let B in S){let se=parseFloat(B);W>=se&&!Ge.has(se)&&(Ge.add(se),S[B]?.());}}!$e&&z(c,k,F,d)>0&&($e=true,U?.()),le&&!Z?_t():!le&&!R&&(Z=false);}let qe=Me(X??window,[e],Ft,xn,()=>{let i=m.join();l.forEach(je),Nt(),We=true,m.join()!==i&&Ye();}),bt=H>0;function Ye(){qe.hold(pe||bt);}let Wt;return bt&&(Wt=setTimeout(()=>{bt=false,Ye();},H)),Ye(),gt({destroy(){clearTimeout(_e),clearTimeout(Wt),qe.off(),kt();},replay(){Gt(),tt=-1,nt=-1,Fe=0,pe=false,xe=0,clearTimeout(_e),Ye();},pause(){pe=true,qe.hold(true);},resume(){pe&&(pe=false,We=true,Ye());},seek(i){let c=Math.min(1,Math.max(0,i));xe=c,mt=c,et=[],pe=true,qe.hold(true),Sn(c,y),We=true;},getProgress(){return xe},refresh:qe.remeasure},()=>({tStart:k,tEnd:F}))}var on=new WeakMap,Gn=0;function sn(e){return JSON.stringify(e,(t,n)=>{if(typeof n=="function")return "\u0192";if(typeof Element<"u"&&n instanceof Element){let r=on.get(n);return r===void 0&&on.set(n,r=++Gn),`el#${r}`}return n})}function an(e,t){let n={...e};for(let r of Object.keys(n))typeof n[r]=="function"&&(n[r]=(...o)=>t()[r]?.(...o));return n}function Wn(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function ln(e){let t=[],n=/([\w]+)\(([^)]*)\)/g,r;for(;(r=n.exec(e))!==null;){let o=[],s=[],a=r[2].trim();if(a)for(let u of a.split(/[\s,]+/)){let f=u.match(/^([-+]?[\d.eE]+)(.*)$/);o.push(f?parseFloat(f[1]):0),s.push(f?f[2]:"");}t.push({fn:r[1],nums:o,units:s});}return t}function Bn(e,t,n){let r=ln(e),o=ln(t);return r.length===0||r.length!==o.length?n<1?e:t:r.map((s,a)=>{let u=o[a];return s.fn!==u.fn||s.nums.length!==u.nums.length?n<1?`${s.fn}(${s.nums.map((f,p)=>`${f}${s.units[p]}`).join(", ")})`:`${u.fn}(${u.nums.map((f,p)=>`${f}${u.units[p]}`).join(", ")})`:`${s.fn}(${s.nums.map((f,p)=>`${f+(u.nums[p]-f)*n}${s.units[p]}`).join(", ")})`}).join(" ")}function cn(e,t,n){if(typeof e=="number"&&typeof t=="number")return String(e+(t-e)*n);let r=String(e),o=String(t);if(Wn(r))return it(r,o,n);if(r.includes("("))return Bn(r,o,n);let s=r.match(/^([-+]?[\d.]+)(.*)$/),a=o.match(/^([-+]?[\d.]+)(.*)$/);if(s&&a){let u=parseFloat(s[1]),f=parseFloat(a[1]);return `${u+(f-u)*n}${s[2]||a[2]}`}return n<1?r:o}function zn(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}var jn=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),qn=0,un="--scroll-draw-progress";function Yn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var mn={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function St(e,t){return typeof window>"u"?mn:t.respectReducedMotion===false?fn(e,t,false):Ve(t,(n,r)=>fn(e,n,r))}function fn(e,t,n){let{props:r,trigger:o={},easing:s="ease-out",speed:a=1,once:u=false,axis:f="y",scrollContainer:p,native:g=true,velocityScale:x=false,triggerElement:y,onProgress:R,onComplete:j,onEnter:w,onLeave:D,onEnterBack:ue,onLeaveBack:H}=t,M=typeof s=="function"?s:ee[s]??ee["ease-out"],C=ie(o.start||"top bottom"),O=ie(o.end||"bottom top"),S=y??e,A=typeof p=="string"?document.querySelector(p):p??null,N=Object.entries(r).map(([l,m])=>({prop:zn(l),from:Array.isArray(m)?m[0]:"",to:Array.isArray(m)?m[1]:m}));function te(){let l=window.getComputedStyle(e);for(let m of N)m.from===""&&(m.from=l.getPropertyValue(m.prop).trim()||"0");}function q(){for(let l of N)e.style.setProperty(l.prop,String(l.to));}let V=new Map;for(let l of [...N.map(m=>m.prop),un])V.set(l,e.style.getPropertyValue(l));function I(){for(let[l,m]of V)m?e.style.setProperty(l,m):e.style.removeProperty(l);}if(n)return q(),j?.(),{...mn,destroy:I,getProgress:()=>1};te();let v=()=>A?f==="x"?A.scrollLeft:A.scrollTop:f==="x"?window.scrollX:window.scrollY,Q=()=>A?f==="x"?A.clientWidth:A.clientHeight:f==="x"?window.innerWidth:window.innerHeight,h=typeof s=="string"?at(s):null;function P(){if(!g||!Yn()||!h||f!=="y"||A||S!==e||u||a!==1||R||j||w||D||ue||H||x!==false||(o.start||"top bottom").trim()!=="top bottom"||(o.end||"bottom top").trim()!=="bottom top")return false;for(let l of N)if(!jn.has(l.prop))return false;return true}function Ee(){let l=`ssd-a-${++qn}`,m=N.map(G=>`${G.prop}:${G.from}`).join(";"),K=N.map(G=>`${G.prop}:${G.to}`).join(";"),k=document.createElement("style");k.setAttribute("data-ssd-animate",""),k.textContent=`@keyframes ${l}{from{${m}}to{${K}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${h};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(k),e.classList.add(l);let F=()=>{let G=e.getBoundingClientRect();return we({top:G.top,height:G.height},v(),Q(),C,O)};Se(e,{type:"animate",getProgress:()=>Y.getProgress(),getTrigger:F});let Y={refresh(){},destroy(){e.classList.remove(l),k.remove(),e.style.animationPlayState="",I(),ve(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(G){let Ie=Math.min(1,Math.max(0,G));e.classList.remove(l);for(let Z of N)e.style.setProperty(Z.prop,cn(Z.from,Z.to,Ie));},getProgress(){let{tStart:G,tEnd:Ie}=F();return M(z(v(),G,Ie,a))}};return Y}if(P())return Ee();let U=0,_=0,fe=false,Te=-1,ge=0,me=0,b=false,E=NaN,ye=-1,He=0,X=S===e?N:[],Ae=false;function Pe(){let l=e.style,m=X.map(Y=>l.getPropertyValue(Y.prop)),K=l.transition;X.length&&(l.transition="none"),X.forEach(Y=>l.setProperty(Y.prop,V.get(Y.prop)??""));let k=ot(S,A,f);X.forEach((Y,G)=>l.setProperty(Y.prop,m[G])),X.length&&(e.offsetWidth,l.transition=K);let F=we(k,k.scroll,Q(),C,O);Ae&&Math.abs(F.tStart-U)<1&&Math.abs(F.tEnd-_)<1||(Ae=true,U=F.tStart,_=F.tEnd);}function he(l){e.style.setProperty(un,String(l));for(let m of N)e.style.setProperty(m.prop,cn(m.from,m.to,l));R?.(l);}function Ne(l){if(isNaN(E)){E=l;return}E<=0&&l>0&&w?.(),E<1&&l>=1&&D?.(),E>=1&&l<1&&ue?.(),E>0&&l<=0&&H?.(),E=l;}function Oe(){if(fe)return;let l=performance.now(),m=v(),K=a;if(x!==false){let G=l-He,Ie=G>0?Math.abs(m-(ye<0?m:ye))/G:0;K=a*Math.max(.2,1+Ie*(typeof x=="number"?x:1)*.04);}ye=m,He=l;let k=_===U?0:(m-U)/(_-U);Ne(k);let F=z(m,U,_,K),Y=u?Math.max(Te,M(ge=Math.max(ge,F))):M(F);me=Y,he(Y),Y>=1&&!b?(b=true,j?.()):Y<1&&!u&&(b=false);}let be=Me(A??window,[S],()=>z(v(),U,_,Math.min(a,1)),Oe,Pe);Pe(),_===U&&ae("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),ge=z(v(),U,_,a),me=M(ge),he(me),Se(e,{type:"animate",getProgress:()=>me,getTrigger:()=>({tStart:U,tEnd:_})});function ke(){fe=true,be.hold(true);}return {destroy(){fe=true,be.off(),I(),ve(e);},replay(){Te=-1,ge=0,b=false,me=0,fe=false,he(0),be.hold(false);},pause:ke,resume(){fe&&(fe=false,be.hold(false));},seek(l){let m=Math.min(1,Math.max(0,l));me=m,Te=m,ge=0,ke(),he(m);},getProgress(){return me},refresh:be.remeasure}}var vt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Et(e,t){if(typeof window>"u")return vt;let n=typeof e=="string"?document.querySelector(e):e;return n?Ve(t,(r,o)=>Qn(n,r,o)):(ae("scrollCounter: element not found:",e),vt)}function Qn(e,t,n){let{from:r=0,to:o,format:s,easing:a="ease-out",trigger:u={},once:f=true,decimals:p,onComplete:g}=t,x=p!==void 0?h=>h.toFixed(p):s??(h=>String(Math.round(h))),y=typeof a=="function"?a:ee[a]??ee["ease-out"],R=ie(u.start||"top 80%"),j=ie(u.end||"top 20%");if(n)return e.textContent=x(o),g?.(),{...vt,getProgress:()=>1};let w=0,D=0,ue=false,H=-1,M=0,C=0,O=false,S=()=>window.scrollY,A=()=>window.innerHeight;function N(){let h=e.getBoundingClientRect(),P=we({top:h.top,height:h.height},S(),A(),R,j);ue&&Math.abs(P.tStart-w)<1&&Math.abs(P.tEnd-D)<1||(ue=true,w=P.tStart,D=P.tEnd);}let te=e.style.getPropertyValue("--scroll-draw-progress");function q(h){e.textContent=x(r+(o-r)*h),e.style.setProperty("--scroll-draw-progress",String(h));}let V=()=>z(S(),w,D,1);function I(){let h=V(),P=f?Math.max(H,y(M=Math.max(M,h))):y(h);C=P,q(P),P>=1&&!O?(O=true,g?.()):P<1&&!f&&(O=false);}N();{M=z(S(),w,D,1);let h=y(M);C=h,q(h);}let v=Me(window,[e],V,I,N);Se(e,{type:"counter",getProgress:()=>C,getTrigger:()=>({tStart:w,tEnd:D})});let Q=()=>v.hold(false);return {destroy(){v.off(),e.style.setProperty("--scroll-draw-progress",te),ve(e);},replay(){H=-1,M=0,O=false,C=0,q(0),Q();},pause:()=>v.hold(true),resume:Q,seek(h){let P=Math.min(1,Math.max(0,h));C=P,H=P,M=0,v.hold(true),q(P);},getProgress(){return C}}}var pn={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Tt(e,t={}){if(typeof window>"u")return pn;let n=typeof e=="string"?document.querySelector(e):e;if(!n||n.tagName.toLowerCase()!=="video")return ae("scrollVideo: <video> element not found:",e),pn;let r=n,{trigger:o={},easing:s="linear",once:a=false,axis:u="y",preload:f="auto",triggerElement:p,onReady:g,onComplete:x,onProgress:y}=t,R=p??r,j=window.matchMedia("(prefers-reduced-motion: reduce)").matches,w=typeof s=="function"?s:ee[s]??ee.linear,D=ie(o.start||"top top"),ue=ie(o.end||"bottom top");r.pause(),r.hasAttribute("preload")||(r.preload=f);let H=t.from??0,M=t.to,C=0,O=0,S=false,A=-1,N=0,te=0,q=false,V=false,I=()=>u==="x"?window.scrollX:window.scrollY,v=()=>u==="x"?window.innerWidth:window.innerHeight;function Q(){let b=R.getBoundingClientRect(),E=u==="x"?b.left:b.top,ye=u==="x"?b.width:b.height,He=we({top:E,height:ye},I(),v(),D,ue);C=He.tStart,O=He.tEnd,V&&O===C&&ae("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",r);}let h=NaN;function P(b){if(!V)return;let E=M??r.duration??0,ye=H+(E-H)*b;ye!==h&&(h=ye,r.currentTime=ye),r.style.setProperty("--scroll-draw-progress",String(b)),y?.(b);}let Ee=()=>z(I(),C,O,1);function U(){if(!V||j)return;let b=Ee(),E=a?Math.max(A,w(N=Math.max(N,b))):w(b);te=E,P(E),E>=1&&!q?(q=true,x?.()):E<1&&!a&&(q=false);}let _=Me(window,[R],Ee,U,Q),fe=()=>_.hold(S||!V||j);fe();function Te(){if(V=true,M===void 0&&(M=r.duration),j){P(1),g?.();return}Q(),g?.(),S?P(te):fe();}r.readyState>=1?Te():r.addEventListener("loadedmetadata",Te,{once:true}),V||Q();let ge=j?()=>{}:lt(b=>{b&&(ge(),j=true,_.hold(true),P(1));});Se(r,{type:"video",getProgress:()=>te,getTrigger:()=>({tStart:C,tEnd:O})});function me(){S&&(S=false,fe());}return {destroy(){_.off(),r.removeEventListener("loadedmetadata",Te),ge(),ve(r);},replay(){A=-1,N=0,q=false,te=0,h=NaN,P(0),me();},pause(){S=true,_.hold(true);},resume:me,seek(b){let E=Math.min(1,Math.max(0,b));te=E,A=E,N=0,S=true,_.hold(true),h=NaN,P(E);},getProgress(){return te}}}function dn(e,t){let n=document.createElement("span");n.textContent=t,n.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(n);}function ft(e=""){let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=e,t}function yn(e){let t=e.textContent??"";return e.textContent="",t.split(/(\s+)/).filter(Boolean).map(n=>{let r=e.appendChild(ft(n)),o=/^\s+$/.test(n);return o?r.style.whiteSpace="pre":r.style.display="inline-block",o?null:r}).filter(n=>n!==null)}function Un(e){let t=e.textContent??"";e.textContent="";let n=[],r=null;for(let o of t){let s=ft(o),a=o===" ";a?s.style.whiteSpace="pre":(s.style.display="inline-block",n.push(s)),a||o>"\u0DFF"?r=null:r||(r=e.appendChild(ft()),r.style.cssText="display:inline-block;white-space:nowrap"),(r??e).appendChild(s);}return n}function gn(e){let t=yn(e),n=new Map;for(let s of t){let a=s.offsetTop;n.has(a)||n.set(a,[]),n.get(a).push(s);}let r=[],o=Array.from(n.keys()).sort((s,a)=>s-a);for(let s of o){let a=n.get(s),u=ft();u.style.display="inline-block",a.forEach((f,p)=>{let g=f.nextElementSibling;u.appendChild(f),p<a.length-1&&g&&g.style.whiteSpace==="pre"&&u.appendChild(g);}),r.push(u);}return e.textContent="",r.forEach((s,a)=>{e.appendChild(s),a<r.length-1&&e.appendChild(document.createTextNode(" "));}),r}function Xn(e,t,n,r){if(n<=1||r===0)return e;r=Math.min(r,1/n);let o=(n-1)*r,s=t*r,a=s+(1-o);return a<=s?e>=s?1:0:Qe((e-s)/(a-s),0,1)}function Kn(e,t){let n=[];if(t?.y!==void 0&&n.push(`translateY(${t.y*(1-e)}px)`),t?.x!==void 0&&n.push(`translateX(${t.x*(1-e)}px)`),t?.rotate!==void 0&&n.push(`rotate(${t.rotate*(1-e)}deg)`),t?.scale!==void 0){let r=t.scale+(1-t.scale)*e;n.push(`scale(${r})`);}return n.join(" ")}var xt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Mt(e,t={}){if(typeof window>"u")return xt;let n=typeof e=="string"?document.querySelector(e):e;if(!n)return ae("scrollText: element not found:",e),xt;let r=n;return Ve(t,(o,s)=>Zn(r,o,s))}function Zn(e,t,n){let{split:r="words",stagger:o=.04,easing:s="ease-out",from:a={opacity:0,y:24},trigger:u={},once:f=true,onComplete:p}=t,g=typeof s=="function"?s:ee[s]??ee["ease-out"],x=ie(u.start||"top 85%"),y=ie(u.end||"top 40%"),R=e.innerHTML,j=e.textContent??"",w;r==="chars"?w=Un(e):r==="lines"?w=gn(e):w=yn(e),dn(e,j);let D=w.length;function ue(v,Q){a?.opacity!==void 0&&(v.style.opacity=String(a.opacity+(1-a.opacity)*Q));let h=Kn(Q,a);h&&(v.style.transform=h);}function H(v){e.style.setProperty("--scroll-draw-progress",String(v)),w.forEach((Q,h)=>{let P=g(Xn(v,h,D,o));ue(Q,P);});}if(n)return H(1),p?.(),{...xt,destroy:()=>{e.innerHTML=R;},getProgress:()=>1};H(0);let M=0,C=0,O=-1,S=0,A=false;function N(){({tStart:M,tEnd:C}=we(e.getBoundingClientRect(),window.scrollY,window.innerHeight,x,y));}let te=()=>z(window.scrollY,M,C,1);function q(){let v=f?O=Math.max(O,te()):te();S=v,H(v),v>=1&&!A?(A=true,p?.()):v<1&&!f&&(A=false);}N();let V=Me(window,[e],te,q,()=>{r==="lines"&&(e.innerHTML=R,w=gn(e),dn(e,j),H(S)),N();});Se(e,{type:"text",getProgress:()=>S,getTrigger:()=>({tStart:M,tEnd:C})});let I=()=>V.hold(false);return {destroy(){V.off(),e.innerHTML=R,ve(e);},replay(){O=-1,A=false,S=0,H(0),I();},pause:()=>V.hold(true),resume:I,seek(v){V.hold(true),H(S=O=Qe(v,0,1));},getProgress(){return S}}}var Je=e=>typeof e=="function"?e():vue.unref(e);function Ce(e,t,n){let r=null,o=t(),s=()=>{r?.destroy(),r=e.value?n(e.value,an(o,()=>o)):null;};vue.onMounted(s),vue.watch(()=>sn(o=t()),s),vue.onUnmounted(()=>{r?.destroy(),r=null;});}function rr(e={}){let t=vue.ref(null);return Ce(t,()=>Je(e),wt),t}var hn={preset:0,selector:0,speed:0,fade:1,easing:0,trigger:0,stagger:0,direction:0,once:1,debug:1,axis:0,scrollContainer:0,autoReverse:1,delay:0,strokeColor:0,strokeWidth:0,fillOpacity:0,clip:2,waypoints:0,velocityScale:3,threshold:0,rootMargin:0,repeat:0,repeatDelay:0,morphTo:0,onProgress:0,onStart:0,onComplete:0,onEnter:0,onLeave:0,onEnterBack:0,onLeaveBack:0,autoplay:1,duration:0,native:1},or=[null,Boolean,[Boolean,String],[Boolean,Number]],bn=e=>({type:e,default:void 0}),Lt=vue.defineComponent({name:"ScrollDraw",props:Object.fromEntries(Object.entries(hn).map(([e,t])=>[e,t?bn(or[t]):null])),setup(e,{slots:t}){let n=vue.ref(null);return Ce(n,()=>{let r={};for(let o in hn){let s=e[o];s!=null&&(r[o]=s);}return r},wt),()=>vue.h("div",{ref:n},t.default?.())}});function sr(e){let t=vue.ref(null);return Ce(t,()=>Je(e),St),t}var Ct=vue.defineComponent({name:"ScrollAnimate",props:{options:{type:Object,required:true}},setup(e,{slots:t}){let n=vue.ref(null);return Ce(n,()=>e.options,St),()=>vue.h("div",{ref:n},t.default?.())}});function ir(e){let t=vue.ref(null);return Ce(t,()=>Je(e),Et),t}var At=vue.defineComponent({name:"ScrollCounter",props:{to:{type:Number,required:true},from:{type:Number},format:{type:Function},easing:{type:[String,Function]},trigger:{type:Object},once:bn(Boolean),decimals:{type:Number},onComplete:{type:Function}},setup(e){let t=vue.ref(null);return Ce(t,()=>{let n={to:e.to};return e.from!=null&&(n.from=e.from),e.format!=null&&(n.format=e.format),e.easing!=null&&(n.easing=e.easing),e.trigger!=null&&(n.trigger=e.trigger),e.once!=null&&(n.once=e.once),e.decimals!=null&&(n.decimals=e.decimals),e.onComplete!=null&&(n.onComplete=e.onComplete),n},Et),()=>vue.h("span",{ref:t})}});function ar(e={}){let t=vue.ref(null);return Ce(t,()=>Je(e),Tt),t}var Pt=vue.defineComponent({name:"ScrollVideo",props:{src:{type:String,required:true},options:{type:Object},muted:{type:Boolean,default:true},playsInline:{type:Boolean,default:true},class:{type:String}},setup(e){let t=vue.ref(null);return Ce(t,()=>e.options??{},Tt),()=>vue.h("video",{ref:t,src:e.src,muted:e.muted,playsinline:e.playsInline,preload:"auto",class:e.class})}});function lr(e={}){let t=vue.ref(null);return Ce(t,()=>Je(e),Mt),t}var Ot=vue.defineComponent({name:"ScrollText",props:{options:{type:Object},tag:{type:String,default:"p"}},setup(e,{slots:t}){let n=vue.ref(null);return Ce(n,()=>e.options??{},Mt),()=>vue.h(e.tag,{ref:n},t.default?.())}});function Ao(){return {install(e){e.component("ScrollDraw",Lt),e.component("ScrollAnimate",Ct),e.component("ScrollCounter",At),e.component("ScrollVideo",Pt),e.component("ScrollText",Ot);}}}exports.ScrollAnimate=Ct;exports.ScrollCounter=At;exports.ScrollDraw=Lt;exports.ScrollText=Ot;exports.ScrollVideo=Pt;exports.createScrollDrawPlugin=Ao;exports.useScrollAnimate=sr;exports.useScrollCounter=ir;exports.useScrollDraw=rr;exports.useScrollText=lr;exports.useScrollVideo=ar;
1
+ 'use strict';var vue=require('vue');function $r({tension:e=2.5,friction:t=2.2}={}){return r=>1-Math.cos(r*Math.PI*e)*Math.pow(1-r,t)}function Fr({bounces:e=3,decay:t=.5}={}){let r=Math.max(1,Math.round(e)),n=Math.max(.01,Math.min(.99,t)),o=Math.sqrt(n),s=0,a=[];for(let g=0;g<r;g++){let w=Math.pow(o,g);a.push(w),s+=w;}let f=[0],m=0;for(let g=0;g<r;g++)m+=a[g]/s,f.push(m);return g=>{if(g<=0)return 0;if(g>=1)return 1;for(let w=0;w<r;w++)if(g<=f[w+1]){let O=(g-f[w])/(f[w+1]-f[w]);if(w===0)return O*(2-O);let E=1-Math.pow(n,w);return E+(1-E)*(2*O-1)*(2*O-1)}return 1}}function Hr({amplitude:e=1,period:t=.4}={}){let r=Math.max(1,e),n=Math.max(.1,t),o=r<=1?n/4:n/(2*Math.PI)*Math.asin(1/r);return s=>s<=0?0:s>=1?1:r*Math.pow(2,-10*s)*Math.sin((s-o)*(2*Math.PI)/n)+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:$r(),bounce:Fr(),elastic:Hr()};function st(e,t,r){return Math.min(r,Math.max(t,e))}function le(e="top bottom"){let t=e.trim();if(/^\d+(\.\d+)?%$/.test(t))return {element:"top",viewport:t};let[r="top",n="bottom"]=t.split(/\s+/).filter(Boolean);return {element:r,viewport:n}}var Xt=(e,t)=>e==="top"?0:e==="center"?.5:e==="bottom"?1:t;function Qt(e,t,r,n){return e+r+t*Xt(n,0)}function Kt(e,t){return t*(/^\d+(\.\d+)?%$/.test(e)?parseFloat(e)/100:Xt(e,1))}function U(e,t,r,n){return r===t?0:st((e-t)/(r-t)*n,0,1)}function Ce(e,t,r,n,o){let s=Qt(e.top,e.height,t,n.element)-Kt(n.viewport,r),a=Qt(e.top,e.height,t,o.element)-Kt(o.viewport,r);return {tStart:s,tEnd:a}}function ft(e,t,r){let n=e.getBoundingClientRect(),o=r==="x"?n.width:n.height;return t?{top:r==="x"?n.left-t.getBoundingClientRect().left-t.clientLeft+t.scrollLeft:n.top-t.getBoundingClientRect().top-t.clientTop+t.scrollTop,height:o,scroll:0}:{top:r==="x"?n.left:n.top,height:o,scroll:r==="x"?window.scrollX:window.scrollY}}function mt(e){let t=parseFloat(e.getAttribute("pathLength")??"");if(t>0)return t;let r=e.tagName.toLowerCase();if(r==="rect"){let n=parseFloat(e.getAttribute("width")??"0"),o=parseFloat(e.getAttribute("height")??"0");return 2*(n+o)}if(r==="circle"){let n=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*n}return e.getTotalLength()}function Zt(e){let t=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(t)return [parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)];let r=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(r)return [parseInt(r[1],16),parseInt(r[2],16),parseInt(r[3],16)];let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return n?[parseInt(n[1]),parseInt(n[2]),parseInt(n[3])]:null}function pt(e,t,r){let n=Zt(e),o=Zt(t);return !n||!o?e:`rgb(${Math.round(n[0]+(o[0]-n[0])*r)},${Math.round(n[1]+(o[1]-n[1])*r)},${Math.round(n[2]+(o[2]-n[2])*r)})`}var Jt={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var Xe=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function D(e,...t){Xe&&console.warn(`[svg-scroll-draw] ${e}`,...t);}var Ir="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Nr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",er=33;function Dr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Vr(e){let t=[];for(let r=0;r<er;r++){let n=r/(er-1);t.push(String(Math.round(e(n)*1e5)/1e5));}return `linear(${t.join(",")})`}function dt(e){switch(e){case "linear":return "linear";case "ease-in":return Ir;case "ease-out":return Nr;case "ease-in-out":return Dr()?Vr(re["ease-in-out"]):null;default:return null}}var tr=Symbol.for("svg-scroll-draw.registry");function rr(){let e=globalThis;return e[tr]||(e[tr]=new Map)}function ke(e,t){rr().set(e,t);}function Re(e){rr().delete(e);}function Ze(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let t=window.matchMedia("(prefers-reduced-motion: reduce)"),r=o=>e(!!o.matches);if(typeof t.addEventListener=="function")return t.addEventListener("change",r),()=>t.removeEventListener("change",r);let n=t;return n.addListener?.(r),()=>n.removeListener?.(r)}function qe(e,t){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t(e,true);let r=t(e,false),n=Ze(s=>{if(!s)return;n();let a=(r.getProgress?.()??0)>=1;r.destroy(),r=t(a?{...e,onComplete:void 0}:e,true);}),o={};for(let s of Object.keys(r))o[s]=(...a)=>r[s]?.(...a);return o.destroy=()=>{n(),r.destroy();},o}var it,gt=new Set,yt=new WeakMap,at=new Map,nr=e=>{let t=e.getBoundingClientRect();return t.width+" "+t.height};function _r(e){let t=new Set;for(let r of e)for(;r&&r!==document.body;r=r.parentElement)for(let n=r;n;n=n.previousElementSibling)t.add(n);return t}function or(e,t){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let r=()=>t();it??(it=new ResizeObserver(o=>{let s=false;for(let{target:a}of o)yt.get(a)!==nr(a)&&(s=true),yt.set(a,"");s&&gt.forEach(a=>a());})),gt.add(r);let n=_r(e);return [document.body,document.documentElement].forEach(o=>o&&n.add(o)),n.forEach(o=>{yt.has(o)||yt.set(o,nr(o)),at.set(o,(at.get(o)??0)+1),it.observe(o);}),()=>{gt.delete(r)&&(n.forEach(o=>{let s=(at.get(o)??1)-1;if(s)return void at.set(o,s);at.delete(o),it?.unobserve(o);}),gt.size||(it?.disconnect(),it=void 0));}}function Ne(e,t,r,n,o){let s,a=NaN,f,m,g=()=>{s=0,n(),!f&&!s&&(a=r())>0&&a<1&&(s=requestAnimationFrame(g));},w=()=>{!s&&!f&&r()!==a&&(s=requestAnimationFrame(g));},O=z=>{f=z,cancelAnimationFrame(s),s=a=NaN,w();},E=()=>{clearTimeout(m),o(),w();},W=()=>{clearTimeout(m),m=setTimeout(E,150);},Q=or(t,W),S=z=>{e[z]("scroll",w,{passive:true}),window[z]("resize",W),window[z]("orientationchange",W);};return S("addEventListener"),w(),{hold:O,remeasure:E,off(){O(true),S("removeEventListener"),Q(),clearTimeout(m);}}}var zr=0;function Gr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function sr(e,t){let r="";try{r=getComputedStyle(e).getPropertyValue(t).trim();}catch{}return r||(e.getAttribute(t)??"").trim()}var ir=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Wr(e){if(!Xe)return;let t=sr(e,"stroke");if(!t||t==="none"){D("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!ir.has(r)&&!ir.has(sr(e,"fill"))&&D("Element has a fill \u2014 it may obscure the stroke animation.",e);}function Br(e,t,r){let n=document.createElement("div");n.setAttribute("data-svg-scroll-draw-debug",""),n.style.cssText="position:fixed;pointer-events:none;z-index:9999;font-family:monospace;font-size:11px;top:0;left:0;right:0;bottom:0;";function o(){let s=r==="x"?window.scrollX:window.scrollY,a=e-s,f=t-s,m=r==="x";n.innerHTML=`
2
+ <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>
3
+ <div style="position:absolute;${m?`left:${f}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${f}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(n),window.addEventListener("scroll",o,{passive:true}),o(),{el:n,destroy(){window.removeEventListener("scroll",o),n.remove();}}}var ar=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,lr=/[MmLlHhVvCcSsQqTtAaZz]/g;function jr(e,t,r){if(!Xe)return;let n=(e.match(lr)??[]).join("").toUpperCase(),o=(t.match(lr)??[]).join("").toUpperCase(),s=(e.match(ar)??[]).length,a=(t.match(ar)??[]).length;if(n!==o){D(`morphTo: command sequence differs (${n||"\u2205"} \u2192 ${o||"\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!==a&&D(`morphTo: coordinate count differs (${s} \u2192 ${a}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function qr(e,t,r){let n=(t.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),o=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,s=>{let a=parseFloat(s),f=n[o++]??a;return String(+(a+(f-a)*r).toFixed(4))})}function xt(e,t={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:qe(t,(r,n)=>Yr(e,r,n))}function Yr(e,t,r){let{preset:n,...o}=t,s=n?{...Jt[n],...o}:o,{selector:a="path, polyline, line, polygon, rect, circle",speed:f=1,fade:m=false,easing:g="linear",trigger:w={},stagger:O=0,direction:E="forward",once:W=false,debug:Q=false,axis:S="y",scrollContainer:z,autoReverse:J=false,delay:P=0,strokeColor:A,strokeWidth:L,fillOpacity:k,waypoints:y,velocityScale:R=false,threshold:G=0,rootMargin:ie="0px",repeat:K=0,repeatDelay:V=0,morphTo:H,clip:x,autoplay:X=false,duration:v=1e3,native:C=true,onProgress:he,onStart:I,onComplete:j,onEnter:fe,onLeave:Ee,onEnterBack:me,onLeaveBack:ae}=s,T=x===true?"left":typeof x=="string"?x:false,M=typeof g=="function"?g:re[g]??re.linear,ne=le(w.start||"top bottom"),$e=le(w.end||"bottom top"),Z=typeof z=="string"?document.querySelector(z):z??null,Fe=Array.isArray(A)?A[0]:null,xe=Array.isArray(A)?A[1]:typeof A=="string"?A:null,be=Array.isArray(L)?L[0]:null,ze=Array.isArray(L)?L[1]:typeof L=="number"?L:null,He=Array.isArray(k)?k[0]:null,Te=Array.isArray(k)?k[1]:typeof k=="number"?k:null;function Ae(i){let u=i*100;switch(T){case "right":return `inset(0 0 0 ${100-u}%)`;case "top":return `inset(0 0 ${100-u}% 0)`;case "bottom":return `inset(${100-u}% 0 0 0)`;case "center":return `circle(${i*150}% at 50% 50%)`;default:return `inset(0 ${100-u}% 0 0)`}}let l=T?[]:Array.from(e.querySelectorAll(a)),d=[],oe=[],$=0,_=0,B=O,q=0,_e=0,se=false,Ie=false,we=0,Qe=-1,Ye=[],Ue=-1,pe=false,c=0,p=0,b,ce=false,Se=null;function Ge(){Se?.destroy(),Se=null;}let Oe=new Set,We=NaN,Be=true,ct=-1,Dt=performance.now(),Ke=NaN;function ut(){return Z?S==="x"?Z.scrollLeft:Z.scrollTop:S==="x"?window.scrollX:window.scrollY}function Vt(){return Z?S==="x"?Z.clientWidth:Z.clientHeight:S==="x"?window.innerWidth:window.innerHeight}function _t(){let i=ft(e,Z,S);return Ce(i,i.scroll,Vt(),ne,$e)}function Lr(){let i=_-$,u=l.length-1,h=Z??document.documentElement,N=S==="x"?"Width":"Height";if(B=O,O>0&&u>0&&i>0){let de=h[`scroll${N}`]-h[`client${N}`]-1-$-i/f;de>=0&&(B=Math.min(O,de/(u*i)));}let ue=Math.max(0,u)*B*i,Me=i/Math.min(f,1);q=$+Math.min(0,ue,Me,ue+Me),_e=$+Math.max(0,ue,Me,ue+Me);}function zt(){(({tStart:$,tEnd:_}=_t())),Lr(),Q&&Xe&&(Ge(),Se=Br($,_,S));}function wt(i,u=_t){ke(e,{type:"draw",getProgress:()=>i.getProgress(),getTrigger:u});let h=i.destroy;return i.destroy=()=>{h.call(i),Re(e);},i}function Gt(i,u){return W&&!J?Math.max(Qe,M(Ye[i]=Math.max(Ye[i]??0,u))):M(u)}function Cr(i,u){if(e.style.setProperty("--scroll-draw-progress",String(i)),T){let h=u==="reverse"?1-i:i;e.style.clipPath=Ae(h);return}l.forEach((h,N)=>St(h,N,i,u));}function St(i,u,h,N){i.style.strokeDashoffset=N==="reverse"?`${d[u]*h}`:`${d[u]*(1-h)}`,m&&(i.style.opacity=N==="reverse"?`${1-h}`:`${h}`),Fe&&xe?i.style.stroke=pt(Fe,xe,h):xe&&(i.style.stroke=xe),be!==null&&ze!==null?i.style.strokeWidth=`${be+(ze-be)*h}`:ze!==null&&(i.style.strokeWidth=`${ze}`),He!==null&&Te!==null?i.style.fillOpacity=`${He+(Te-He)*h}`:Te!==null&&(i.style.fillOpacity=`${Te}`),H&&i.tagName.toLowerCase()==="path"&&oe[u]&&i.setAttribute("d",qr(oe[u],H,h));}function vt(){if(e.style.setProperty("--scroll-draw-progress","0"),T){e.style.clipPath=Ae(E==="reverse"?1:0);return}l.forEach((i,u)=>{i.style.strokeDasharray=`${d[u]}`,i.style.strokeDashoffset=E==="reverse"?"0":`${d[u]}`,m?i.style.opacity=E==="reverse"?"1":"0":i.style.opacity="",Fe&&(i.style.stroke=Fe),be!==null&&(i.style.strokeWidth=`${be}`),He!==null&&(i.style.fillOpacity=`${He}`),H&&i.tagName.toLowerCase()==="path"&&oe[u]&&i.setAttribute("d",oe[u]);});}function rt(i,u){let h=i.getAttribute("d"),N=mt(i);if(H&&oe[u]){i.setAttribute("d",H);let ue=mt(i);i.setAttribute("d",oe[u]),N=Math.max(mt(i),ue),i.setAttribute("d",h);}d[u]=N,i.style.strokeDasharray=`${N}`;}if(l.forEach((i,u)=>{Wr(i);let h=i.tagName.toLowerCase()==="path";h?oe.push(i.getAttribute("d")??""):oe.push(""),rt(i,u);let N=d[u];H&&(h?jr(oe[oe.length-1],H,i):D(`morphTo only applies to <path> elements \u2014 ignored on <${i.tagName}>.`,i)),r?(i.style.strokeDashoffset=E==="reverse"?`${N}`:"0",m&&(i.style.opacity="1"),xe&&(i.style.stroke=xe),ze!==null&&(i.style.strokeWidth=`${ze}`),Te!==null&&(i.style.fillOpacity=`${Te}`),H&&i.tagName.toLowerCase()==="path"&&i.setAttribute("d",H)):(i.style.strokeDashoffset=E==="reverse"?"0":`${N}`,m?i.style.opacity=E==="reverse"?"1":"0":i.style.opacity="",Fe&&(i.style.stroke=Fe),be!==null&&(i.style.strokeWidth=`${be}`),He!==null&&(i.style.fillOpacity=`${He}`));}),r)return T&&(e.style.clipPath=Ae(1)),j?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};T&&(e.style.clipPath=Ae(E==="reverse"?1:0));let Wt=typeof g=="string"?dt(g):null;function Ar(){return !(C===false||X||Q&&Xe||!Gr()||!l.length||!Wt||T||S!=="y"||Z||f!==1||O!==0||W||J||R!==false||H||y||K||P>0||he||I||j||fe||Ee||me||ae||A!=null||L!=null||k!=null||(w.start||"top bottom").trim()!=="top bottom"||(w.end||"bottom top").trim()!=="bottom top")}function Or(){let i=++zr,u=`svg-scroll-draw-${i}`,h=`svg-scroll-draw-host-${i}`,N=`--svg-scroll-draw-${i}`,ue=E==="reverse"?"0":"var(--ssd-len)",Me=E==="reverse"?"var(--ssd-len)":"0",de=`stroke-dashoffset:${ue};`,ee=`stroke-dashoffset:${Me};`;m&&(de+=`opacity:${E==="reverse"?1:0};`,ee+=`opacity:${E==="reverse"?0:1};`);let te=document.createElement("style");te.setAttribute("data-svg-scroll-draw",""),te.textContent=`@keyframes ${u}{from{${de}}to{${ee}}}.${h}{view-timeline-name:${N};view-timeline-axis:block;}.${u}{animation-name:${u};animation-duration:auto;animation-timing-function:${Wt};animation-fill-mode:both;animation-timeline:${N};animation-range:cover 0% cover 100%;}`,document.head.appendChild(te),e.classList.add(h);function ve(F,Y){F.style.setProperty("--ssd-len",String(d[Y])),F.style.strokeDasharray=`${d[Y]}`,F.style.strokeDashoffset="",F.style.opacity="",F.style.animationPlayState="",F.classList.add(u);}l.forEach(ve);let ge=false,Le=-1;function Pe(){if(Le>=0)return Le;let F=e.getBoundingClientRect(),{tStart:Y,tEnd:ye}=Ce({top:F.top,height:F.height},ut(),Vt(),ne,$e);return M(U(ut(),Y,ye,f))}return {destroy(){e.classList.remove(h),l.forEach(F=>{F.classList.remove(u),F.style.removeProperty("--ssd-len"),F.style.animationPlayState="";}),te.remove();},replay(){ge=false,Le=-1,l.forEach(ve);},pause(){ge=true,l.forEach(F=>{F.style.animationPlayState="paused";});},resume(){ge&&(ge=false,l.forEach(F=>{F.style.animationPlayState="running";}));},seek(F){let Y=Math.min(1,Math.max(0,F));Le=Y,ge=true,l.forEach((ye,je)=>{ye.classList.remove(u),ye.style.strokeDashoffset=E==="reverse"?`${d[je]*Y}`:`${d[je]*(1-Y)}`,m&&(ye.style.opacity=E==="reverse"?`${1-Y}`:`${Y}`);});},getProgress(){return Pe()},refresh(){l.forEach((F,Y)=>{rt(F,Y),F.style.setProperty("--ssd-len",String(d[Y]));});}}}if(Ar())return wt(Or());function Pr(){let i=Math.max(1,v),u=T?i:i*(1+Math.max(0,l.length-1)*O),h=0,N=0,ue=false;function Me(Le){let Pe=true,F=Math.min(1,Math.max(0,Le/u));if(T){let Y=Math.min(1,Math.max(0,Le/i)),ye=M(Y);c=ye,e.style.setProperty("--scroll-draw-progress",String(ye)),e.style.clipPath=Ae(E==="reverse"?1-ye:ye),he?.(ye),Y<1&&(Pe=false);}else {l.forEach((ye,je)=>{let Rr=je*O*i,Ut=Math.min(1,Math.max(0,(Le-Rr)/i));St(ye,je,M(Ut),E),Ut<1&&(Pe=false);});let Y=M(F);c=Y,he?.(Y),e.style.setProperty("--scroll-draw-progress",String(Y));}if(y){let Y=M(F);for(let ye in y){let je=parseFloat(ye);Y>=je&&!Oe.has(je)&&(Oe.add(je),y[ye]?.());}}return Pe}function de(Le){if(pe)return;let Pe=Le-h;Ie||(Ie=true,I?.());let F=Me(Pe);if(F&&!se){se=true,Me(u),j?.(),p<(K==="infinite"?1/0:K??0)&&(p++,b=setTimeout(()=>{h=performance.now(),Ie=false,se=false,Oe.clear(),vt(),we=requestAnimationFrame(de);},V));return}F||(we=requestAnimationFrame(de));}function ee(){cancelAnimationFrame(we),clearTimeout(b),h=performance.now(),N=0,pe=false,Ie=false,se=false,p=0,ue=true,c=0,Oe.clear(),vt(),we=requestAnimationFrame(de);}let te=new IntersectionObserver(Le=>{Le.forEach(Pe=>{Pe.isIntersecting&&!(W&&se)?ee():!Pe.isIntersecting&&!W&&!se&&(cancelAnimationFrame(we),clearTimeout(b),ue=false);});},{root:Z??null,threshold:G,rootMargin:ie}),ve;function ge(){clearTimeout(ve),ve=setTimeout(()=>l.forEach(rt),150);}return window.addEventListener("resize",ge),window.addEventListener("orientationchange",ge),P>0?setTimeout(()=>te.observe(e),P):te.observe(e),{destroy(){cancelAnimationFrame(we),clearTimeout(b),te.disconnect(),window.removeEventListener("resize",ge),window.removeEventListener("orientationchange",ge),clearTimeout(ve);},replay(){p=0,ee();},pause(){pe||!ue||(pe=true,N=performance.now()-h,cancelAnimationFrame(we));},resume(){pe&&(pe=false,ue=true,h=performance.now()-N,we=requestAnimationFrame(de));},seek(Le){let Pe=Math.min(1,Math.max(0,Le));c=Pe,pe=true,N=Pe*u,h=performance.now()-N,cancelAnimationFrame(we),Me(N);},getProgress(){return c},refresh(){clearTimeout(ve),l.forEach(rt);}}}if(X)return wt(Pr());zt();let Bt=()=>U(ut(),q,_e,1);function jt(){se=true,j?.(),p<(K==="infinite"?1/0:K)&&(p++,b=setTimeout(()=>{ce=true;},V));}function qt(){Qe=-1,Ye=[],Ie=false,se=false,ce=false,Oe.clear(),vt(),Be=true;}function kr(){let i=performance.now(),u=ut();if(ce&&Bt()%1&&qt(),!Be&&R===false&&u===We)return;Be=false,We=u;let h=f;if(R!==false){let ee=i-Dt,te=ee>0?Math.abs(u-(ct<0?u:ct))/ee:0;h=f*Math.max(.2,1+te*(typeof R=="number"?R:1)*.04);}ct=u,Dt=i;let N=J?Ue===-1||u>=Ue?"forward":"reverse":E;Ue=u;let ue=_-$,Me=true,de=ue===0?0:(u-$)/ue;if(isNaN(Ke)||(Ke<=0&&de>0&&fe?.(),Ke<1&&de>=1&&Ee?.(),Ke>=1&&de<1&&me?.(),Ke>0&&de<=0&&ae?.()),Ke=de,T){let ee=Gt(0,U(u,$,_,h));c=ee,e.style.setProperty("--scroll-draw-progress",String(ee));let te=N==="reverse"?1-ee:ee;e.style.clipPath=Ae(te),he?.(ee),!Ie&&U(u,$,_,h)>0&&(Ie=true,I?.()),ee>=1&&!se?jt():ee<1&&!W&&(se=false);return}if(l.forEach((ee,te)=>{let ve=te*B*ue,ge=Gt(te,U(u,$+ve,_+ve,h));St(ee,te,ge,N),te===0&&(c=ge,he?.(ge),e.style.setProperty("--scroll-draw-progress",String(ge))),ge<1&&(Me=false);}),y){let ee=M(U(u,$,_,h));for(let te in y){let ve=parseFloat(te);ee>=ve&&!Oe.has(ve)&&(Oe.add(ve),y[te]?.());}}!Ie&&U(u,$,_,h)>0&&(Ie=true,I?.()),Me&&!se?jt():!Me&&!W&&(se=false);}let nt=Ne(Z??window,[e],Bt,kr,()=>{let i=d.join();l.forEach(rt),zt(),Be=true,d.join()!==i&&ot();}),Et=P>0;function ot(){nt.hold(pe||Et);}let Yt;return Et&&(Yt=setTimeout(()=>{Et=false,ot();},P)),ot(),wt({destroy(){clearTimeout(b),clearTimeout(Yt),nt.off(),Ge();},replay(){qt(),Ue=-1,ct=-1,p=0,pe=false,c=0,clearTimeout(b),ot();},pause(){pe=true,nt.hold(true);},resume(){pe&&(pe=false,Be=true,ot());},seek(i){let u=Math.min(1,Math.max(0,i));c=u,Qe=u,Ye=[],pe=true,nt.hold(true),Cr(u,E),Be=true;},getProgress(){return c},refresh:nt.remeasure},()=>({tStart:$,tEnd:_}))}var cr=new WeakMap,Ur=0;function lt(e){return JSON.stringify(e,(t,r)=>{if(typeof r=="function")return "\u0192";if(typeof Element<"u"&&r instanceof Element){let n=cr.get(r);return n===void 0&&cr.set(r,n=++Ur),`el#${n}`}return r})}function ur(e,t){let r={...e};for(let n of Object.keys(r))typeof r[n]=="function"&&(r[n]=(...o)=>t()[n]?.(...o));return r}function Qr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function fr(e){let t=[],r=/([\w]+)\(([^)]*)\)/g,n;for(;(n=r.exec(e))!==null;){let o=[],s=[],a=n[2].trim();if(a)for(let f of a.split(/[\s,]+/)){let m=f.match(/^([-+]?[\d.eE]+)(.*)$/);o.push(m?parseFloat(m[1]):0),s.push(m?m[2]:"");}t.push({fn:n[1],nums:o,units:s});}return t}function Kr(e,t,r){let n=fr(e),o=fr(t);return n.length===0||n.length!==o.length?r<1?e:t:n.map((s,a)=>{let f=o[a];return s.fn!==f.fn||s.nums.length!==f.nums.length?r<1?`${s.fn}(${s.nums.map((m,g)=>`${m}${s.units[g]}`).join(", ")})`:`${f.fn}(${f.nums.map((m,g)=>`${m}${f.units[g]}`).join(", ")})`:`${s.fn}(${s.nums.map((m,g)=>`${m+(f.nums[g]-m)*r}${s.units[g]}`).join(", ")})`}).join(" ")}function mr(e,t,r){if(typeof e=="number"&&typeof t=="number")return String(e+(t-e)*r);let n=String(e),o=String(t);if(Qr(n))return pt(n,o,r);if(n.includes("("))return Kr(n,o,r);let s=n.match(/^([-+]?[\d.]+)(.*)$/),a=o.match(/^([-+]?[\d.]+)(.*)$/);if(s&&a){let f=parseFloat(s[1]),m=parseFloat(a[1]);return `${f+(m-f)*r}${s[2]||a[2]}`}return r<1?n:o}function Xr(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}var Zr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Jr=0,pr="--scroll-draw-progress";function en(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var gr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Tt(e,t){return typeof window>"u"?gr:t.respectReducedMotion===false?dr(e,t,false):qe(t,(r,n)=>dr(e,r,n))}function dr(e,t,r){let{props:n,trigger:o={},easing:s="ease-out",speed:a=1,once:f=false,axis:m="y",scrollContainer:g,native:w=true,velocityScale:O=false,triggerElement:E,onProgress:W,onComplete:Q,onEnter:S,onLeave:z,onEnterBack:J,onLeaveBack:P}=t,A=typeof s=="function"?s:re[s]??re["ease-out"],L=le(o.start||"top bottom"),k=le(o.end||"bottom top"),y=E??e,R=typeof g=="string"?document.querySelector(g):g??null,G=Object.entries(n).map(([l,d])=>({prop:Xr(l),from:Array.isArray(d)?d[0]:"",to:Array.isArray(d)?d[1]:d}));function ie(){let l=window.getComputedStyle(e);for(let d of G)d.from===""&&(d.from=l.getPropertyValue(d.prop).trim()||"0");}function K(){for(let l of G)e.style.setProperty(l.prop,String(l.to));}let V=new Map;for(let l of [...G.map(d=>d.prop),pr])V.set(l,e.style.getPropertyValue(l));function H(){for(let[l,d]of V)d?e.style.setProperty(l,d):e.style.removeProperty(l);}if(r)return K(),Q?.(),{...gr,destroy:H,getProgress:()=>1};ie();let x=()=>R?m==="x"?R.scrollLeft:R.scrollTop:m==="x"?window.scrollX:window.scrollY,X=()=>R?m==="x"?R.clientWidth:R.clientHeight:m==="x"?window.innerWidth:window.innerHeight,v=typeof s=="string"?dt(s):null;function C(){if(!w||!en()||!v||m!=="y"||R||y!==e||f||a!==1||W||Q||S||z||J||P||O!==false||(o.start||"top bottom").trim()!=="top bottom"||(o.end||"bottom top").trim()!=="bottom top")return false;for(let l of G)if(!Zr.has(l.prop))return false;return true}function he(){let l=`ssd-a-${++Jr}`,d=G.map(q=>`${q.prop}:${q.from}`).join(";"),oe=G.map(q=>`${q.prop}:${q.to}`).join(";"),$=document.createElement("style");$.setAttribute("data-ssd-animate",""),$.textContent=`@keyframes ${l}{from{${d}}to{${oe}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${v};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild($),e.classList.add(l);let _=()=>{let q=e.getBoundingClientRect();return Ce({top:q.top,height:q.height},x(),X(),L,k)};ke(e,{type:"animate",getProgress:()=>B.getProgress(),getTrigger:_});let B={refresh(){},destroy(){e.classList.remove(l),$.remove(),e.style.animationPlayState="",H(),Re(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(q){let _e=Math.min(1,Math.max(0,q));e.classList.remove(l);for(let se of G)e.style.setProperty(se.prop,mr(se.from,se.to,_e));},getProgress(){let{tStart:q,tEnd:_e}=_();return A(U(x(),q,_e,a))}};return B}if(C())return he();let I=0,j=0,fe=false,Ee=-1,me=0,ae=0,T=false,M=NaN,ne=-1,$e=0,Z=y===e?G:[],Fe=false;function xe(){let l=e.style,d=Z.map(B=>l.getPropertyValue(B.prop)),oe=l.transition;Z.length&&(l.transition="none"),Z.forEach(B=>l.setProperty(B.prop,V.get(B.prop)??""));let $=ft(y,R,m);Z.forEach((B,q)=>l.setProperty(B.prop,d[q])),Z.length&&(e.offsetWidth,l.transition=oe);let _=Ce($,$.scroll,X(),L,k);Fe&&Math.abs(_.tStart-I)<1&&Math.abs(_.tEnd-j)<1||(Fe=true,I=_.tStart,j=_.tEnd);}function be(l){e.style.setProperty(pr,String(l));for(let d of G)e.style.setProperty(d.prop,mr(d.from,d.to,l));W?.(l);}function ze(l){if(isNaN(M)){M=l;return}M<=0&&l>0&&S?.(),M<1&&l>=1&&z?.(),M>=1&&l<1&&J?.(),M>0&&l<=0&&P?.(),M=l;}function He(){if(fe)return;let l=performance.now(),d=x(),oe=a;if(O!==false){let q=l-$e,_e=q>0?Math.abs(d-(ne<0?d:ne))/q:0;oe=a*Math.max(.2,1+_e*(typeof O=="number"?O:1)*.04);}ne=d,$e=l;let $=j===I?0:(d-I)/(j-I);ze($);let _=U(d,I,j,oe),B=f?Math.max(Ee,A(me=Math.max(me,_))):A(_);ae=B,be(B),B>=1&&!T?(T=true,Q?.()):B<1&&!f&&(T=false);}let Te=Ne(R??window,[y],()=>U(x(),I,j,Math.min(a,1)),He,xe);xe(),j===I&&D("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),me=U(x(),I,j,a),ae=A(me),be(ae),ke(e,{type:"animate",getProgress:()=>ae,getTrigger:()=>({tStart:I,tEnd:j})});function Ae(){fe=true,Te.hold(true);}return {destroy(){fe=true,Te.off(),H(),Re(e);},replay(){Ee=-1,me=0,T=false,ae=0,fe=false,be(0),Te.hold(false);},pause:Ae,resume(){fe&&(fe=false,Te.hold(false));},seek(l){let d=Math.min(1,Math.max(0,l));ae=d,Ee=d,me=0,Ae(),be(d);},getProgress(){return ae},refresh:Te.remeasure}}var Mt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Lt(e,t){if(typeof window>"u")return Mt;let r=typeof e=="string"?document.querySelector(e):e;return r?qe(t,(n,o)=>tn(r,n,o)):(D("scrollCounter: element not found:",e),Mt)}function tn(e,t,r){let{from:n=0,to:o,format:s,easing:a="ease-out",trigger:f={},once:m=true,decimals:g,onComplete:w}=t,O=g!==void 0?v=>v.toFixed(g):s??(v=>String(Math.round(v))),E=typeof a=="function"?a:re[a]??re["ease-out"],W=le(f.start||"top 80%"),Q=le(f.end||"top 20%");if(r)return e.textContent=O(o),w?.(),{...Mt,getProgress:()=>1};let S=0,z=0,J=false,P=-1,A=0,L=0,k=false,y=()=>window.scrollY,R=()=>window.innerHeight;function G(){let v=e.getBoundingClientRect(),C=Ce({top:v.top,height:v.height},y(),R(),W,Q);J&&Math.abs(C.tStart-S)<1&&Math.abs(C.tEnd-z)<1||(J=true,S=C.tStart,z=C.tEnd);}let ie=e.style.getPropertyValue("--scroll-draw-progress");function K(v){e.textContent=O(n+(o-n)*v),e.style.setProperty("--scroll-draw-progress",String(v));}let V=()=>U(y(),S,z,1);function H(){let v=V(),C=m?Math.max(P,E(A=Math.max(A,v))):E(v);L=C,K(C),C>=1&&!k?(k=true,w?.()):C<1&&!m&&(k=false);}G();{A=U(y(),S,z,1);let v=E(A);L=v,K(v);}let x=Ne(window,[e],V,H,G);ke(e,{type:"counter",getProgress:()=>L,getTrigger:()=>({tStart:S,tEnd:z})});let X=()=>x.hold(false);return {destroy(){x.off(),e.style.setProperty("--scroll-draw-progress",ie),Re(e);},replay(){P=-1,A=0,k=false,L=0,K(0),X();},pause:()=>x.hold(true),resume:X,seek(v){let C=Math.min(1,Math.max(0,v));L=C,P=C,A=0,x.hold(true),K(C);},getProgress(){return L}}}var yr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Ct(e,t={}){if(typeof window>"u")return yr;let r=typeof e=="string"?document.querySelector(e):e;if(!r||r.tagName.toLowerCase()!=="video")return D("scrollVideo: <video> element not found:",e),yr;let n=r,{trigger:o={},easing:s="linear",once:a=false,axis:f="y",preload:m="auto",triggerElement:g,onReady:w,onComplete:O,onProgress:E}=t,W=g??n,Q=window.matchMedia("(prefers-reduced-motion: reduce)").matches,S=typeof s=="function"?s:re[s]??re.linear,z=le(o.start||"top top"),J=le(o.end||"bottom top");n.pause(),n.hasAttribute("preload")||(n.preload=m);let P=t.from??0,A=t.to,L=0,k=0,y=false,R=-1,G=0,ie=0,K=false,V=false,H=()=>f==="x"?window.scrollX:window.scrollY,x=()=>f==="x"?window.innerWidth:window.innerHeight;function X(){let T=W.getBoundingClientRect(),M=f==="x"?T.left:T.top,ne=f==="x"?T.width:T.height,$e=Ce({top:M,height:ne},H(),x(),z,J);L=$e.tStart,k=$e.tEnd,V&&k===L&&D("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",n);}let v=NaN;function C(T){if(!V)return;let M=A??n.duration??0,ne=P+(M-P)*T;ne!==v&&(v=ne,n.currentTime=ne),n.style.setProperty("--scroll-draw-progress",String(T)),E?.(T);}let he=()=>U(H(),L,k,1);function I(){if(!V||Q)return;let T=he(),M=a?Math.max(R,S(G=Math.max(G,T))):S(T);ie=M,C(M),M>=1&&!K?(K=true,O?.()):M<1&&!a&&(K=false);}let j=Ne(window,[W],he,I,X),fe=()=>j.hold(y||!V||Q);fe();function Ee(){if(V=true,A===void 0&&(A=n.duration),Q){C(1),w?.();return}X(),w?.(),y?C(ie):fe();}n.readyState>=1?Ee():n.addEventListener("loadedmetadata",Ee,{once:true}),V||X();let me=Q?()=>{}:Ze(T=>{T&&(me(),Q=true,j.hold(true),C(1));});ke(n,{type:"video",getProgress:()=>ie,getTrigger:()=>({tStart:L,tEnd:k})});function ae(){y&&(y=false,fe());}return {destroy(){j.off(),n.removeEventListener("loadedmetadata",Ee),me(),Re(n);},replay(){R=-1,G=0,K=false,ie=0,v=NaN,C(0),ae();},pause(){y=true,j.hold(true);},resume:ae,seek(T){let M=Math.min(1,Math.max(0,T));ie=M,R=M,G=0,y=true,j.hold(true),v=NaN,C(M);},getProgress(){return ie}}}var ht={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function rn(e){let t=e>1?[0,e-1]:[0],r=[[0,e-1]];for(let n=0;n<r.length;n++){let[o,s]=r[n];if(s-o<2)continue;let a=o+s>>1;t.push(a),r.push([o,a],[a,s]);}return t}function hr(e,t){if(typeof window>"u")return ht;let r=typeof e=="string"?document.querySelector(e):e;if(!r||r.tagName.toLowerCase()!=="canvas")return D("scrollFrames: <canvas> element not found:",e),ht;let n=r,{frames:o,trigger:s={},easing:a="linear",once:f=false,axis:m="y",fit:g="cover",triggerElement:w,onReady:O,onLoad:E,onComplete:W,onProgress:Q}=t||{},S=Array.isArray(o)?o:null,z=t?.count,J=Math.floor(S?Math.min(z??S.length,S.length):z??NaN);if(!(S||typeof o=="function")||!Number.isFinite(J)||J<1)return D("scrollFrames: no frames. Pass `frames` as an array of URLs, or a function with a finite `count` of 1 or more.",n),ht;let P=t.concurrency??6;(!Number.isFinite(P)||P<1)&&(D("scrollFrames: `concurrency` must be a finite number of 1 or more; using 6.",t.concurrency),P=6),P=Math.floor(P);let A=n.getContext("2d");if(!A)return D("scrollFrames: the canvas has no 2D context.",n),ht;let L=J-1,k=w??n,y=window.matchMedia("(prefers-reduced-motion: reduce)").matches,R=typeof a=="function"?a:re[a]??re.linear,G=c=>{let p=R(c);return p===p?p:0},ie=le(s.start||"top top"),K=le(s.end||"bottom top"),V=0,H=0,x=false,X=-1,v=0,C=0,he=false,I=false,j=false,fe=false,Ee=0,me=-1,ae=new Array(J),T=new Uint8Array(J),M=new Set,ne=y?[L]:rn(J),$e=0,Z=0,Fe=false,xe=(c,...p)=>{if(c)try{c(...p);}catch(b){typeof reportError=="function"?reportError(b):setTimeout(()=>{throw b});}},be=false,ze=c=>{let p;try{p=S?S[c]:o(c);}catch(b){p=b;}return typeof p=="string"&&p?p:(be||(be=true,D(`scrollFrames: no URL for frame ${c}; it is skipped for its nearest neighbour.`,p)),null)},He=()=>m==="x"?window.scrollX:window.scrollY,Te=()=>m==="x"?window.innerWidth:window.innerHeight;function Ae(){!Fe&&Z===ne.length&&(Fe=true,xe(E));}function l(){for(;!I&&M.size<P&&$e<ne.length;){let c=ne[$e++];T[c]||d(c);}}function d(c){T[c]=1;let p=ze(c);if(p===null){Z++,queueMicrotask(()=>{I||Ae();});return}let b=new Image,ce=false,Se=Ge=>{ce||I||(ce=true,b.onload=b.onerror=null,M.delete(b),Ge?ae[c]=b:D("scrollFrames: a frame failed to load; its nearest neighbour shows instead:",p),Z++,l(),_(),Ae());};M.add(b),b.decoding="async",b.onerror=()=>Se(false),b.src=p,typeof b.decode=="function"?b.decode().then(()=>Se(true),()=>{b.complete?Se(b.naturalWidth>0):b.onload=()=>Se(true);}):b.onload=()=>Se(true);}function oe(c){for(let p=0;p<=L;p++){if(ae[c-p])return c-p;if(ae[c+p])return c+p}return -1}function $(){let c=n.clientWidth,p=n.clientHeight;if(!c||!p)return;let b=Math.min(window.devicePixelRatio||1,2),ce=Math.round(c*b),Se=Math.round(p*b);if(Math.abs(n.width-ce)<=1&&Math.abs(n.height-Se)<=1)return;n.width=ce,n.height=Se,me=-1;let Ge=n.clientWidth,Oe=n.clientHeight;if(Ge!==c||Oe!==p){let We=n.style;Ge!==c&&Oe!==p?(We.width=`${c}px`,We.height=`${p}px`):We.aspectRatio=`${c} / ${p}`;}}function _(){let c=oe(Ee);if(c<0||c===me)return;let p=ae[c],b=n.width,ce=n.height,Se=p.naturalWidth||b,Ge=p.naturalHeight||ce,Oe=(g==="contain"?Math.min:Math.max)(b/Se,ce/Ge),We=Se*Oe,Be=Ge*Oe;A.clearRect(0,0,b,ce),A.drawImage(p,(b-We)/2,(ce-Be)/2,We,Be),me=c,j||(j=true,xe(O));}function B(c){Ee=Math.min(L,Math.max(0,Math.round(c*L))),n.style.setProperty("--scroll-draw-progress",String(c)),_(),xe(Q,c,Ee);}function q(){let c=k.getBoundingClientRect(),p=m==="x"?c.left:c.top,b=m==="x"?c.width:c.height,ce=Ce({top:p,height:b},He(),Te(),ie,K);V=ce.tStart,H=ce.tEnd,H===V&&b>0&&!y&&!fe&&(fe=true,D("scrollFrames: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",n));}let _e=()=>U(He(),V,H,1);function se(){if(y)return;let c=_e(),p=f?Math.max(X,G(v=Math.max(v,c))):G(c);C=p,B(p),p>=1&&!he?(he=true,xe(W)):p<1&&!f&&(he=false);}function Ie(){C=1,B(1);}$(),y||q();let we=Ne(window,[k],_e,se,()=>{$(),y||q(),_();}),Qe=()=>we.hold(x||y);Qe(),y&&Ie(),l();let Ye=typeof ResizeObserver=="function"?new ResizeObserver(()=>{$(),_();}):null;Ye?.observe(n);let Ue=y?()=>{}:Ze(c=>{c&&(Ue(),y=true,we.hold(true),ne=ne.slice(0,$e),T[L]||ne.push(L),Ae(),Ie(),l());});ke(n,{type:"frames",getProgress:()=>C,getTrigger:()=>({tStart:V,tEnd:H})});function pe(){I||!x||(x=false,Qe());}return {destroy(){if(!I){I=true,we.off(),Ye?.disconnect(),Ue();for(let c of M)c.onload=c.onerror=null,c.src="";M.clear(),Re(n);}},replay(){I||(X=-1,v=0,he=false,C=0,B(0),pe());},pause(){I||(x=true,we.hold(true));},resume:pe,seek(c){if(I)return;let p=Math.min(1,Math.max(0,c===c?c:0));C=p,X=p,v=0,x=true,we.hold(true),B(p);},getProgress(){return C}}}var nn=1e4;function At(e){let{frames:t,count:r}=e;if(typeof t!="function")return lt(e);let n=Number.isFinite(r)?Math.min(Math.max(Math.floor(r),0),nn):0,o;try{o=Array.from({length:n},(s,a)=>t(a));}catch{o=["throws"];}return lt({...e,frames:o})}function br(e){if(!e||e.getAttribute("aria-hidden")==="true")return;let t=e.getAttribute("role");t==="presentation"||t==="none"||e.getAttribute("aria-label")||e.getAttribute("aria-labelledby")||D('<ScrollFrames>: the canvas has no aria-label. Say what the frames show, or set aria-hidden="true" if they are decoration.',e);}function wr(e,t){let r=document.createElement("span");r.textContent=t,r.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(r);}function bt(e=""){let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=e,t}function vr(e){let t=e.textContent??"";return e.textContent="",t.split(/(\s+)/).filter(Boolean).map(r=>{let n=e.appendChild(bt(r)),o=/^\s+$/.test(r);return o?n.style.whiteSpace="pre":n.style.display="inline-block",o?null:n}).filter(r=>r!==null)}function on(e){let t=e.textContent??"";e.textContent="";let r=[],n=null;for(let o of t){let s=bt(o),a=o===" ";a?s.style.whiteSpace="pre":(s.style.display="inline-block",r.push(s)),a||o>"\u0DFF"?n=null:n||(n=e.appendChild(bt()),n.style.cssText="display:inline-block;white-space:nowrap"),(n??e).appendChild(s);}return r}function Sr(e){let t=vr(e),r=new Map;for(let s of t){let a=s.offsetTop;r.has(a)||r.set(a,[]),r.get(a).push(s);}let n=[],o=Array.from(r.keys()).sort((s,a)=>s-a);for(let s of o){let a=r.get(s),f=bt();f.style.display="inline-block",a.forEach((m,g)=>{let w=m.nextElementSibling;f.appendChild(m),g<a.length-1&&w&&w.style.whiteSpace==="pre"&&f.appendChild(w);}),n.push(f);}return e.textContent="",n.forEach((s,a)=>{e.appendChild(s),a<n.length-1&&e.appendChild(document.createTextNode(" "));}),n}function sn(e,t,r,n){if(r<=1||n===0)return e;n=Math.min(n,1/r);let o=(r-1)*n,s=t*n,a=s+(1-o);return a<=s?e>=s?1:0:st((e-s)/(a-s),0,1)}function an(e,t){let r=[];if(t?.y!==void 0&&r.push(`translateY(${t.y*(1-e)}px)`),t?.x!==void 0&&r.push(`translateX(${t.x*(1-e)}px)`),t?.rotate!==void 0&&r.push(`rotate(${t.rotate*(1-e)}deg)`),t?.scale!==void 0){let n=t.scale+(1-t.scale)*e;r.push(`scale(${n})`);}return r.join(" ")}var Ot={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Pt(e,t={}){if(typeof window>"u")return Ot;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return D("scrollText: element not found:",e),Ot;let n=r;return qe(t,(o,s)=>ln(n,o,s))}function ln(e,t,r){let{split:n="words",stagger:o=.04,easing:s="ease-out",from:a={opacity:0,y:24},trigger:f={},once:m=true,onComplete:g}=t,w=typeof s=="function"?s:re[s]??re["ease-out"],O=le(f.start||"top 85%"),E=le(f.end||"top 40%"),W=e.innerHTML,Q=e.textContent??"",S;n==="chars"?S=on(e):n==="lines"?S=Sr(e):S=vr(e),wr(e,Q);let z=S.length;function J(x,X){a?.opacity!==void 0&&(x.style.opacity=String(a.opacity+(1-a.opacity)*X));let v=an(X,a);v&&(x.style.transform=v);}function P(x){e.style.setProperty("--scroll-draw-progress",String(x)),S.forEach((X,v)=>{let C=w(sn(x,v,z,o));J(X,C);});}if(r)return P(1),g?.(),{...Ot,destroy:()=>{e.innerHTML=W;},getProgress:()=>1};P(0);let A=0,L=0,k=-1,y=0,R=false;function G(){({tStart:A,tEnd:L}=Ce(e.getBoundingClientRect(),window.scrollY,window.innerHeight,O,E));}let ie=()=>U(window.scrollY,A,L,1);function K(){let x=m?k=Math.max(k,ie()):ie();y=x,P(x),x>=1&&!R?(R=true,g?.()):x<1&&!m&&(R=false);}G();let V=Ne(window,[e],ie,K,()=>{n==="lines"&&(e.innerHTML=W,S=Sr(e),wr(e,Q),P(y)),G();});ke(e,{type:"text",getProgress:()=>y,getTrigger:()=>({tStart:A,tEnd:L})});let H=()=>V.hold(false);return {destroy(){V.off(),e.innerHTML=W,Re(e);},replay(){k=-1,R=false,y=0,P(0),H();},pause:()=>V.hold(true),resume:H,seek(x){V.hold(true),P(y=k=st(x,0,1));},getProgress(){return y}}}var tt=e=>typeof e=="function"?e():vue.unref(e);function Ve(e,t,r,n=lt){let o=null,s=t(),a=()=>{o?.destroy(),o=e.value?r(e.value,ur(s,()=>s),s):null;};vue.onMounted(a),vue.watch(()=>n(s=t()),a),vue.onUnmounted(()=>{o?.destroy(),o=null;});}function mn(e={}){let t=vue.ref(null);return Ve(t,()=>tt(e),xt),t}var Er={preset:0,selector:0,speed:0,fade:1,easing:0,trigger:0,stagger:0,direction:0,once:1,debug:1,axis:0,scrollContainer:0,autoReverse:1,delay:0,strokeColor:0,strokeWidth:0,fillOpacity:0,clip:2,waypoints:0,velocityScale:3,threshold:0,rootMargin:0,repeat:0,repeatDelay:0,morphTo:0,onProgress:0,onStart:0,onComplete:0,onEnter:0,onLeave:0,onEnterBack:0,onLeaveBack:0,autoplay:1,duration:0,native:1},pn=[null,Boolean,[Boolean,String],[Boolean,Number]],kt=e=>({type:e,default:void 0}),Rt=vue.defineComponent({name:"ScrollDraw",props:Object.fromEntries(Object.entries(Er).map(([e,t])=>[e,t?kt(pn[t]):null])),setup(e,{slots:t}){let r=vue.ref(null);return Ve(r,()=>{let n={};for(let o in Er){let s=e[o];s!=null&&(n[o]=s);}return n},xt),()=>vue.h("div",{ref:r},t.default?.())}});function dn(e){let t=vue.ref(null);return Ve(t,()=>tt(e),Tt),t}var $t=vue.defineComponent({name:"ScrollAnimate",props:{options:{type:Object,required:true}},setup(e,{slots:t}){let r=vue.ref(null);return Ve(r,()=>e.options,Tt),()=>vue.h("div",{ref:r},t.default?.())}});function gn(e){let t=vue.ref(null);return Ve(t,()=>tt(e),Lt),t}var Ft=vue.defineComponent({name:"ScrollCounter",props:{to:{type:Number,required:true},from:{type:Number},format:{type:Function},easing:{type:[String,Function]},trigger:{type:Object},once:kt(Boolean),decimals:{type:Number},onComplete:{type:Function}},setup(e){let t=vue.ref(null);return Ve(t,()=>{let r={to:e.to};return e.from!=null&&(r.from=e.from),e.format!=null&&(r.format=e.format),e.easing!=null&&(r.easing=e.easing),e.trigger!=null&&(r.trigger=e.trigger),e.once!=null&&(r.once=e.once),e.decimals!=null&&(r.decimals=e.decimals),e.onComplete!=null&&(r.onComplete=e.onComplete),r},Lt),()=>vue.h("span",{ref:t})}});function yn(e={}){let t=vue.ref(null);return Ve(t,()=>tt(e),Ct),t}var Ht=vue.defineComponent({name:"ScrollVideo",props:{src:{type:String,required:true},options:{type:Object},muted:{type:Boolean,default:true},playsInline:{type:Boolean,default:true},class:{type:String}},setup(e){let t=vue.ref(null);return Ve(t,()=>e.options??{},Ct),()=>vue.h("video",{ref:t,src:e.src,muted:e.muted,playsinline:e.playsInline,preload:"auto",class:e.class})}}),Mr=(e,{triggerElement:t,...r},n)=>{let o=typeof t=="string"?document.querySelector(t):t;return typeof t=="string"&&!o&&D(`<ScrollFrames>: triggerElement "${t}" matches nothing; measuring the canvas.`),hr(e,{...r,frames:n.frames,triggerElement:o??void 0})};function hn(e){let t=vue.ref(null);return Ve(t,()=>tt(e),Mr,At),t}var xr={frames:0,count:0,trigger:0,easing:0,once:1,axis:0,triggerElement:0,fit:0,concurrency:0,onReady:0,onLoad:0,onComplete:0,onProgress:0},It=vue.defineComponent({name:"ScrollFrames",props:Object.fromEntries(Object.entries(xr).map(([e,t])=>[e,t?kt(Boolean):e==="frames"?{required:true}:null])),setup(e){let t=vue.ref(null);return Ve(t,()=>{let r={};for(let n in xr){let o=e[n];o!=null&&(r[n]=o);}return r},Mr,At),vue.onMounted(()=>br(t.value)),()=>vue.h("canvas",{ref:t,role:"img"})}});function bn(e={}){let t=vue.ref(null);return Ve(t,()=>tt(e),Pt),t}var Nt=vue.defineComponent({name:"ScrollText",props:{options:{type:Object},tag:{type:String,default:"p"}},setup(e,{slots:t}){let r=vue.ref(null);return Ve(r,()=>e.options??{},Pt),()=>vue.h(e.tag,{ref:r},t.default?.())}});function Xo(){return {install(e){e.component("ScrollDraw",Rt),e.component("ScrollAnimate",$t),e.component("ScrollCounter",Ft),e.component("ScrollVideo",Ht),e.component("ScrollFrames",It),e.component("ScrollText",Nt);}}}exports.ScrollAnimate=$t;exports.ScrollCounter=Ft;exports.ScrollDraw=Rt;exports.ScrollFrames=It;exports.ScrollText=Nt;exports.ScrollVideo=Ht;exports.createScrollDrawPlugin=Xo;exports.useScrollAnimate=dn;exports.useScrollCounter=gn;exports.useScrollDraw=mn;exports.useScrollFrames=hn;exports.useScrollText=bn;exports.useScrollVideo=yn;
@@ -1,8 +1,9 @@
1
- export { ScrollAnimate, ScrollCounter, ScrollDraw, ScrollText, ScrollVideo, useScrollAnimate, useScrollCounter, useScrollDraw, useScrollText, useScrollVideo } from '../vue/index.mjs';
1
+ export { ScrollAnimate, ScrollCounter, ScrollDraw, ScrollFrames, ScrollText, ScrollVideo, useScrollAnimate, useScrollCounter, useScrollDraw, useScrollFrames, useScrollText, useScrollVideo } from '../vue/index.mjs';
2
2
  export { a as ScrollDrawOptions } from '../types-9bcJdVcg.mjs';
3
3
  import { App } from 'vue';
4
4
  export { S as ScrollAnimateOptions } from '../engine-BLWKCfxC.mjs';
5
5
  export { S as ScrollCounterOptions } from '../index-DVjblK_4.mjs';
6
+ export { ScrollFramesOptions } from '../frames/index.mjs';
6
7
  export { ScrollTextOptions } from '../text/index.mjs';
7
8
  export { ScrollVideoOptions } from '../video/index.mjs';
8
9
 
@@ -17,6 +18,7 @@ export { ScrollVideoOptions } from '../video/index.mjs';
17
18
  * import { useScrollDraw, ScrollDraw } from 'svg-scroll-draw/nuxt';
18
19
  * import { useScrollAnimate, ScrollAnimate } from 'svg-scroll-draw/nuxt';
19
20
  * import { useScrollText, useScrollCounter } from 'svg-scroll-draw/nuxt';
21
+ * import { useScrollFrames, ScrollFrames } from 'svg-scroll-draw/nuxt';
20
22
  * ```
21
23
  *
22
24
  * ## Option B — Global auto-registration via Nuxt plugin
@@ -35,7 +37,7 @@ export { ScrollVideoOptions } from '../video/index.mjs';
35
37
  * Vue plugin that globally registers all svg-scroll-draw components.
36
38
  * Pass to nuxtApp.vueApp.use() inside a Nuxt plugin.
37
39
  *
38
- * Registers: <ScrollDraw>, <ScrollAnimate>, <ScrollCounter>, <ScrollVideo>, <ScrollText>
40
+ * Registers: <ScrollDraw>, <ScrollAnimate>, <ScrollCounter>, <ScrollVideo>, <ScrollFrames>, <ScrollText>
39
41
  */
40
42
  declare function createScrollDrawPlugin(): {
41
43
  install(app: App): void;
@@ -1,8 +1,9 @@
1
- export { ScrollAnimate, ScrollCounter, ScrollDraw, ScrollText, ScrollVideo, useScrollAnimate, useScrollCounter, useScrollDraw, useScrollText, useScrollVideo } from '../vue/index.js';
1
+ export { ScrollAnimate, ScrollCounter, ScrollDraw, ScrollFrames, ScrollText, ScrollVideo, useScrollAnimate, useScrollCounter, useScrollDraw, useScrollFrames, useScrollText, useScrollVideo } from '../vue/index.js';
2
2
  export { a as ScrollDrawOptions } from '../types-9bcJdVcg.js';
3
3
  import { App } from 'vue';
4
4
  export { S as ScrollAnimateOptions } from '../engine-6VsjEwzb.js';
5
5
  export { S as ScrollCounterOptions } from '../index-BN8yKeQ3.js';
6
+ export { ScrollFramesOptions } from '../frames/index.js';
6
7
  export { ScrollTextOptions } from '../text/index.js';
7
8
  export { ScrollVideoOptions } from '../video/index.js';
8
9
 
@@ -17,6 +18,7 @@ export { ScrollVideoOptions } from '../video/index.js';
17
18
  * import { useScrollDraw, ScrollDraw } from 'svg-scroll-draw/nuxt';
18
19
  * import { useScrollAnimate, ScrollAnimate } from 'svg-scroll-draw/nuxt';
19
20
  * import { useScrollText, useScrollCounter } from 'svg-scroll-draw/nuxt';
21
+ * import { useScrollFrames, ScrollFrames } from 'svg-scroll-draw/nuxt';
20
22
  * ```
21
23
  *
22
24
  * ## Option B — Global auto-registration via Nuxt plugin
@@ -35,7 +37,7 @@ export { ScrollVideoOptions } from '../video/index.js';
35
37
  * Vue plugin that globally registers all svg-scroll-draw components.
36
38
  * Pass to nuxtApp.vueApp.use() inside a Nuxt plugin.
37
39
  *
38
- * Registers: <ScrollDraw>, <ScrollAnimate>, <ScrollCounter>, <ScrollVideo>, <ScrollText>
40
+ * Registers: <ScrollDraw>, <ScrollAnimate>, <ScrollCounter>, <ScrollVideo>, <ScrollFrames>, <ScrollText>
39
41
  */
40
42
  declare function createScrollDrawPlugin(): {
41
43
  install(app: App): void;
@@ -1 +1 @@
1
- import {b,d,f,h,j}from'../chunk-OSGWGHQJ.mjs';export{d as ScrollAnimate,f as ScrollCounter,b as ScrollDraw,j as ScrollText,h as ScrollVideo,c as useScrollAnimate,e as useScrollCounter,a as useScrollDraw,i as useScrollText,g as useScrollVideo}from'../chunk-OSGWGHQJ.mjs';import'../chunk-XSVTHCLO.mjs';import'../chunk-NYQJPPMP.mjs';import'../chunk-XNM3VKEK.mjs';import'../chunk-PAGN26EH.mjs';import'../chunk-VJ5ZU55P.mjs';import'../chunk-K6VATIJH.mjs';import'../chunk-V3Z6G5JE.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-XC5NR2MU.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-NV6YTPHI.mjs';import'../chunk-THPTANES.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-BCV4RAIX.mjs';import'../chunk-LFSU6LR3.mjs';function s(){return {install(o){o.component("ScrollDraw",b),o.component("ScrollAnimate",d),o.component("ScrollCounter",f),o.component("ScrollVideo",h),o.component("ScrollText",j);}}}export{s as createScrollDrawPlugin};
1
+ import {b,d,f,h,j,l}from'../chunk-WKOT2MND.mjs';export{d as ScrollAnimate,f as ScrollCounter,b as ScrollDraw,j as ScrollFrames,l as ScrollText,h as ScrollVideo,c as useScrollAnimate,e as useScrollCounter,a as useScrollDraw,i as useScrollFrames,k as useScrollText,g as useScrollVideo}from'../chunk-WKOT2MND.mjs';import'../chunk-22P4KBPG.mjs';import'../chunk-D2BHE4F2.mjs';import'../chunk-XSVTHCLO.mjs';import'../chunk-BRV2B2YW.mjs';import'../chunk-32ZCSGFZ.mjs';import'../chunk-U5TKLHGW.mjs';import'../chunk-7USW2XFB.mjs';import'../chunk-7XOFQCQE.mjs';import'../chunk-V3Z6G5JE.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-XC5NR2MU.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-NV6YTPHI.mjs';import'../chunk-THPTANES.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-EBU6E26L.mjs';import'../chunk-LFSU6LR3.mjs';function x(){return {install(o){o.component("ScrollDraw",b),o.component("ScrollAnimate",d),o.component("ScrollCounter",f),o.component("ScrollVideo",h),o.component("ScrollFrames",j),o.component("ScrollText",l);}}}export{x as createScrollDrawPlugin};
@@ -1 +1 @@
1
- import {a as a$1}from'../chunk-4DOJSIEQ.mjs';import {a,b as b$1}from'../chunk-BCV4RAIX.mjs';import {b}from'../chunk-LFSU6LR3.mjs';var C={destroy:()=>{},refresh:()=>{},getProgress:()=>0};function V(c,P={}){if(typeof window>"u")return C;let S=typeof c=="string"?document.querySelector(c):c;if(!S)return b("scrollPin: element not found:",c),C;let e=S,{top:p=0,scrollContainer:m,onEnter:O,onLeave:k,onEnterBack:D,onLeaveBack:I,onProgress:q}=P,A=typeof m=="string"?document.querySelector(m):m??null,i={position:e.style.position,top:e.style.top,bottom:e.style.bottom,left:e.style.left,width:e.style.width,boxSizing:e.style.boxSizing},t=document.createElement("div");t.setAttribute("data-ssd-pin-wrapper",""),t.style.cssText="position:relative;",e.parentNode?.insertBefore(t,e),t.appendChild(e);let y=0,g=0,b$2=0,f="before",v=0,z=0,h=false,T=false;function F(){let n=P.pinDistance;if(n===void 0)return window.innerHeight;if(typeof n=="number")return n;let o=parseFloat(n),s=n.trim().slice(-2);if(o===o&&s==="px")return o;if(o===o&&s==="vh"){let r=document.createElement("div");r.style.cssText="position:fixed;height:100vh",document.body.appendChild(r);let W=r.offsetHeight||window.innerHeight;return r.remove(),o*W/100}return T||b("scrollPin: pinDistance is not a number, vh or px; using window.innerHeight:",n),T=true,window.innerHeight}function L(){y=t.offsetWidth,g=e.offsetHeight,b$2=F(),t.style.height=`${g+b$2}px`;}function w(n){if(f===n)return;let o=f;if(f=n,n==="before")e.style.position=i.position,e.style.top=i.top,e.style.bottom=i.bottom,e.style.left=i.left,e.style.width=i.width,e.style.boxSizing=i.boxSizing,o==="pinned"&&I?.();else if(n==="pinned"){let s=t.getBoundingClientRect();e.style.position="fixed",e.style.top=`${p}px`,e.style.bottom="",e.style.left=`${s.left}px`,e.style.width=`${y}px`,e.style.boxSizing="border-box",o==="before"?O?.():o==="after"&&D?.();}else e.style.position="absolute",e.style.top="",e.style.bottom="0",e.style.left="0",e.style.width="100%",e.style.boxSizing="border-box",o==="pinned"&&k?.();}function N(){h=false;let n=t.getBoundingClientRect(),o=n.top,s=n.bottom,r=a$1((p-o)/b$2,0,1);v=r,q?.(r),o>p?w("before"):s-g<=p?w("after"):w("pinned");}function a$2(){h||(h=true,z=requestAnimationFrame(()=>N()));}function x(){L(),f==="pinned"&&(e.style.left=`${t.getBoundingClientRect().left}px`,e.style.width=`${y}px`),a$2();}let B=A??window;B.addEventListener("scroll",a$2,{passive:true});let l;function u(){clearTimeout(l),l=setTimeout(x,150);}window.addEventListener("resize",u),window.addEventListener("orientationchange",u);let d=null;return typeof ResizeObserver<"u"&&(d=new ResizeObserver(()=>{clearTimeout(l),l=setTimeout(x,100);}),d.observe(t),d.observe(document.documentElement),d.observe(e)),L(),a$2(),a(t,{type:"pin",getProgress:()=>v,getTrigger:()=>({tStart:0,tEnd:1})}),{destroy(){cancelAnimationFrame(z),clearTimeout(l),B.removeEventListener("scroll",a$2),window.removeEventListener("resize",u),window.removeEventListener("orientationchange",u),d?.disconnect(),e.style.position=i.position,e.style.top=i.top,e.style.bottom=i.bottom,e.style.left=i.left,e.style.width=i.width,e.style.boxSizing=i.boxSizing,t.parentNode?.insertBefore(e,t),t.remove(),b$1(t);},refresh(){x();},getProgress(){return v}}}export{V as scrollPin};
1
+ import {a as a$1}from'../chunk-4DOJSIEQ.mjs';import {a,b as b$1}from'../chunk-EBU6E26L.mjs';import {b}from'../chunk-LFSU6LR3.mjs';var C={destroy:()=>{},refresh:()=>{},getProgress:()=>0};function V(c,P={}){if(typeof window>"u")return C;let S=typeof c=="string"?document.querySelector(c):c;if(!S)return b("scrollPin: element not found:",c),C;let e=S,{top:p=0,scrollContainer:m,onEnter:O,onLeave:k,onEnterBack:D,onLeaveBack:I,onProgress:q}=P,A=typeof m=="string"?document.querySelector(m):m??null,i={position:e.style.position,top:e.style.top,bottom:e.style.bottom,left:e.style.left,width:e.style.width,boxSizing:e.style.boxSizing},t=document.createElement("div");t.setAttribute("data-ssd-pin-wrapper",""),t.style.cssText="position:relative;",e.parentNode?.insertBefore(t,e),t.appendChild(e);let y=0,g=0,b$2=0,f="before",v=0,z=0,h=false,T=false;function F(){let n=P.pinDistance;if(n===void 0)return window.innerHeight;if(typeof n=="number")return n;let o=parseFloat(n),s=n.trim().slice(-2);if(o===o&&s==="px")return o;if(o===o&&s==="vh"){let r=document.createElement("div");r.style.cssText="position:fixed;height:100vh",document.body.appendChild(r);let W=r.offsetHeight||window.innerHeight;return r.remove(),o*W/100}return T||b("scrollPin: pinDistance is not a number, vh or px; using window.innerHeight:",n),T=true,window.innerHeight}function L(){y=t.offsetWidth,g=e.offsetHeight,b$2=F(),t.style.height=`${g+b$2}px`;}function w(n){if(f===n)return;let o=f;if(f=n,n==="before")e.style.position=i.position,e.style.top=i.top,e.style.bottom=i.bottom,e.style.left=i.left,e.style.width=i.width,e.style.boxSizing=i.boxSizing,o==="pinned"&&I?.();else if(n==="pinned"){let s=t.getBoundingClientRect();e.style.position="fixed",e.style.top=`${p}px`,e.style.bottom="",e.style.left=`${s.left}px`,e.style.width=`${y}px`,e.style.boxSizing="border-box",o==="before"?O?.():o==="after"&&D?.();}else e.style.position="absolute",e.style.top="",e.style.bottom="0",e.style.left="0",e.style.width="100%",e.style.boxSizing="border-box",o==="pinned"&&k?.();}function N(){h=false;let n=t.getBoundingClientRect(),o=n.top,s=n.bottom,r=a$1((p-o)/b$2,0,1);v=r,q?.(r),o>p?w("before"):s-g<=p?w("after"):w("pinned");}function a$2(){h||(h=true,z=requestAnimationFrame(()=>N()));}function x(){L(),f==="pinned"&&(e.style.left=`${t.getBoundingClientRect().left}px`,e.style.width=`${y}px`),a$2();}let B=A??window;B.addEventListener("scroll",a$2,{passive:true});let l;function u(){clearTimeout(l),l=setTimeout(x,150);}window.addEventListener("resize",u),window.addEventListener("orientationchange",u);let d=null;return typeof ResizeObserver<"u"&&(d=new ResizeObserver(()=>{clearTimeout(l),l=setTimeout(x,100);}),d.observe(t),d.observe(document.documentElement),d.observe(e)),L(),a$2(),a(t,{type:"pin",getProgress:()=>v,getTrigger:()=>({tStart:0,tEnd:1})}),{destroy(){cancelAnimationFrame(z),clearTimeout(l),B.removeEventListener("scroll",a$2),window.removeEventListener("resize",u),window.removeEventListener("orientationchange",u),d?.disconnect(),e.style.position=i.position,e.style.top=i.top,e.style.bottom=i.bottom,e.style.left=i.left,e.style.width=i.width,e.style.boxSizing=i.boxSizing,t.parentNode?.insertBefore(e,t),t.remove(),b$1(t);},refresh(){x();},getProgress(){return v}}}export{V as scrollPin};
@@ -1 +1 @@
1
- import {a as a$2}from'../chunk-UPWWULKI.mjs';import {a,b as b$1,e,c}from'../chunk-NV6YTPHI.mjs';import {d}from'../chunk-THPTANES.mjs';import'../chunk-4DOJSIEQ.mjs';import {a as a$1,b as b$2}from'../chunk-BCV4RAIX.mjs';import {b}from'../chunk-LFSU6LR3.mjs';var O={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function X(c$1,D={}){if(typeof window>"u")return O;let g=typeof c$1=="string"?document.querySelector(c$1):c$1;if(!g)return b("scrollProgress: element not found:",c$1),O;let o=g,{variable:h="--scroll-progress",easedVariable:m="--scroll-progress-eased",trigger:E={},easing:p="linear",speed:d$1=1,axis:n="y",scrollContainer:f,onProgress:H}=D,y=typeof p=="function"?p:d[p]??d.linear,k=a(E.start||"top bottom"),q=a(E.end||"bottom top"),t=typeof f=="string"?document.querySelector(f):f??null,s=0,i=0,l=0,w=()=>t?n==="x"?t.scrollLeft:t.scrollTop:n==="x"?window.scrollX:window.scrollY,F=()=>t?n==="x"?t.clientWidth:t.clientHeight:n==="x"?window.innerWidth:window.innerHeight;function x(){let e=a$2(o,t,n),r=c(e,e.scroll,F(),k,q);s=r.tStart,i=r.tEnd;}function P(e,r){o.style.setProperty(h,String(e)),m!=null&&o.style.setProperty(m,String(r)),H?.(e,r);}function G(){let e=b$1(w(),s,i,d$1),r=y(e);l=e,P(e,r);}x();{let e=b$1(w(),s,i,d$1),r=y(e);l=e,P(e,r);}let a$3=e(t??window,[o],()=>b$1(w(),s,i,Math.min(d$1,1)),G,x);return a$1(g,{type:"animate",getProgress:()=>l,getTrigger:()=>({tStart:s,tEnd:i})}),{destroy(){a$3.off(),o.style.removeProperty(h),m!=null&&o.style.removeProperty(m),b$2(g);},replay:a$3.remeasure,pause:()=>a$3.hold(true),resume:()=>a$3.hold(false),seek(e){let r=Math.min(1,Math.max(0,e)),L=y(r);l=r,a$3.hold(true),P(r,L);},getProgress(){return l}}}export{X as scrollProgress};
1
+ import {a as a$2}from'../chunk-UPWWULKI.mjs';import {a,b as b$1,e,c}from'../chunk-NV6YTPHI.mjs';import {d}from'../chunk-THPTANES.mjs';import'../chunk-4DOJSIEQ.mjs';import {a as a$1,b as b$2}from'../chunk-EBU6E26L.mjs';import {b}from'../chunk-LFSU6LR3.mjs';var O={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function X(c$1,D={}){if(typeof window>"u")return O;let g=typeof c$1=="string"?document.querySelector(c$1):c$1;if(!g)return b("scrollProgress: element not found:",c$1),O;let o=g,{variable:h="--scroll-progress",easedVariable:m="--scroll-progress-eased",trigger:E={},easing:p="linear",speed:d$1=1,axis:n="y",scrollContainer:f,onProgress:H}=D,y=typeof p=="function"?p:d[p]??d.linear,k=a(E.start||"top bottom"),q=a(E.end||"bottom top"),t=typeof f=="string"?document.querySelector(f):f??null,s=0,i=0,l=0,w=()=>t?n==="x"?t.scrollLeft:t.scrollTop:n==="x"?window.scrollX:window.scrollY,F=()=>t?n==="x"?t.clientWidth:t.clientHeight:n==="x"?window.innerWidth:window.innerHeight;function x(){let e=a$2(o,t,n),r=c(e,e.scroll,F(),k,q);s=r.tStart,i=r.tEnd;}function P(e,r){o.style.setProperty(h,String(e)),m!=null&&o.style.setProperty(m,String(r)),H?.(e,r);}function G(){let e=b$1(w(),s,i,d$1),r=y(e);l=e,P(e,r);}x();{let e=b$1(w(),s,i,d$1),r=y(e);l=e,P(e,r);}let a$3=e(t??window,[o],()=>b$1(w(),s,i,Math.min(d$1,1)),G,x);return a$1(g,{type:"animate",getProgress:()=>l,getTrigger:()=>({tStart:s,tEnd:i})}),{destroy(){a$3.off(),o.style.removeProperty(h),m!=null&&o.style.removeProperty(m),b$2(g);},replay:a$3.remeasure,pause:()=>a$3.hold(true),resume:()=>a$3.hold(false),seek(e){let r=Math.min(1,Math.max(0,e)),L=y(r);l=r,a$3.hold(true),P(r,L);},getProgress(){return l}}}export{X as scrollProgress};
@@ -1,4 +1,4 @@
1
1
  "use client";
2
- 'use strict';var Ur=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Ur__default=/*#__PURE__*/_interopDefault(Ur);function br({tension:e=2.5,friction:n=2.2}={}){return r=>1-Math.cos(r*Math.PI*e)*Math.pow(1-r,n)}function wr({bounces:e=3,decay:n=.5}={}){let r=Math.max(1,Math.round(e)),t=Math.max(.01,Math.min(.99,n)),o=Math.sqrt(t),s=0,a=[];for(let m=0;m<r;m++){let g=Math.pow(o,m);a.push(g),s+=g;}let u=[0],f=0;for(let m=0;m<r;m++)f+=a[m]/s,u.push(f);return m=>{if(m<=0)return 0;if(m>=1)return 1;for(let g=0;g<r;g++)if(m<=u[g+1]){let h=(m-u[g])/(u[g+1]-u[g]);if(g===0)return h*(2-h);let b=1-Math.pow(t,g);return b+(1-b)*(2*h-1)*(2*h-1)}return 1}}function vr({amplitude:e=1,period:n=.4}={}){let r=Math.max(1,e),t=Math.max(.1,n),o=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-o)*(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:br(),bounce:wr(),elastic:vr()};function Ye(e,n,r){return Math.min(r,Math.max(n,e))}function X(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}}var Dt=(e,n)=>e==="top"?0:e==="center"?.5:e==="bottom"?1:n;function Ot(e,n,r,t){return e+r+n*Dt(t,0)}function Nt(e,n){return n*(/^\d+(\.\d+)?%$/.test(e)?parseFloat(e)/100:Dt(e,1))}function V(e,n,r,t){return r===n?0:Ye((e-n)/(r-n)*t,0,1)}function fe(e,n,r,t,o){let s=Ot(e.top,e.height,n,t.element)-Nt(t.viewport,r),a=Ot(e.top,e.height,n,o.element)-Nt(o.viewport,r);return {tStart:s,tEnd:a}}function ze(e,n,r){let t=e.getBoundingClientRect(),o=r==="x"?t.width:t.height;return n?{top:r==="x"?t.left-n.getBoundingClientRect().left-n.clientLeft+n.scrollLeft:t.top-n.getBoundingClientRect().top-n.clientTop+n.scrollTop,height:o,scroll:0}:{top:r==="x"?t.left:t.top,height:o,scroll:r==="x"?window.scrollX:window.scrollY}}function ot(e){let n=parseFloat(e.getAttribute("pathLength")??"");if(n>0)return n;let r=e.tagName.toLowerCase();if(r==="rect"){let t=parseFloat(e.getAttribute("width")??"0"),o=parseFloat(e.getAttribute("height")??"0");return 2*(t+o)}if(r==="circle"){let t=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*t}return e.getTotalLength()}function Ht(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 st(e,n,r){let t=Ht(e),o=Ht(n);return !t||!o?e:`rgb(${Math.round(t[0]+(o[0]-t[0])*r)},${Math.round(t[1]+(o[1]-t[1])*r)},${Math.round(t[2]+(o[2]-t[2])*r)})`}var It={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var Ge=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function le(e,...n){Ge&&console.warn(`[svg-scroll-draw] ${e}`,...n);}var Er="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Sr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Ft=33;function Tr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function xr(e){let n=[];for(let r=0;r<Ft;r++){let t=r/(Ft-1);n.push(String(Math.round(e(t)*1e5)/1e5));}return `linear(${n.join(",")})`}function it(e){switch(e){case "linear":return "linear";case "ease-in":return Er;case "ease-out":return Sr;case "ease-in-out":return Tr()?xr(Q["ease-in-out"]):null;default:return null}}var Vt=Symbol.for("svg-scroll-draw.registry");function _t(){let e=globalThis;return e[Vt]||(e[Vt]=new Map)}function Ee(e,n){_t().set(e,n);}function Se(e){_t().delete(e);}function je(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let n=window.matchMedia("(prefers-reduced-motion: reduce)"),r=o=>e(!!o.matches);if(typeof n.addEventListener=="function")return n.addEventListener("change",r),()=>n.removeEventListener("change",r);let t=n;return t.addListener?.(r),()=>t.removeListener?.(r)}function He(e,n){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return n(e,true);let r=n(e,false),t=je(s=>{if(!s)return;t();let a=(r.getProgress?.()??0)>=1;r.destroy(),r=n(a?{...e,onComplete:void 0}:e,true);}),o={};for(let s of Object.keys(r))o[s]=(...a)=>r[s]?.(...a);return o.destroy=()=>{t(),r.destroy();},o}var Xe,at=new Set,lt=new WeakMap,Ke=new Map,Wt=e=>{let n=e.getBoundingClientRect();return n.width+" "+n.height};function Mr(e){let n=new Set;for(let r of e)for(;r&&r!==document.body;r=r.parentElement)for(let t=r;t;t=t.previousElementSibling)n.add(t);return n}function zt(e,n){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let r=()=>n();Xe??(Xe=new ResizeObserver(o=>{let s=false;for(let{target:a}of o)lt.get(a)!==Wt(a)&&(s=true),lt.set(a,"");s&&at.forEach(a=>a());})),at.add(r);let t=Mr(e);return [document.body,document.documentElement].forEach(o=>o&&t.add(o)),t.forEach(o=>{lt.has(o)||lt.set(o,Wt(o)),Ke.set(o,(Ke.get(o)??0)+1),Xe.observe(o);}),()=>{at.delete(r)&&(t.forEach(o=>{let s=(Ke.get(o)??1)-1;if(s)return void Ke.set(o,s);Ke.delete(o),Xe?.unobserve(o);}),at.size||(Xe?.disconnect(),Xe=void 0));}}function ve(e,n,r,t,o){let s,a=NaN,u,f,m=()=>{s=0,t(),!u&&!s&&(a=r())>0&&a<1&&(s=requestAnimationFrame(m));},g=()=>{!s&&!u&&r()!==a&&(s=requestAnimationFrame(m));},h=k=>{u=k,cancelAnimationFrame(s),s=a=NaN,g();},b=()=>{clearTimeout(f),o(),g();},O=()=>{clearTimeout(f),f=setTimeout(b,150);},H=zt(n,O),w=k=>{e[k]("scroll",g,{passive:true}),window[k]("resize",O),window[k]("orientationchange",O);};return w("addEventListener"),g(),{hold:h,remeasure:b,off(){h(true),w("removeEventListener"),H(),clearTimeout(f);}}}var Pr=0;function Lr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Gt(e,n){let r="";try{r=getComputedStyle(e).getPropertyValue(n).trim();}catch{}return r||(e.getAttribute(n)??"").trim()}var jt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Cr(e){if(!Ge)return;let n=Gt(e,"stroke");if(!n||n==="none"){le("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!jt.has(r)&&!jt.has(Gt(e,"fill"))&&le("Element has a fill \u2014 it may obscure the stroke animation.",e);}function Ar(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 o(){let s=r==="x"?window.scrollX:window.scrollY,a=e-s,u=n-s,f=r==="x";t.innerHTML=`
3
- <div style="position:absolute;${f?`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;${f?`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",o,{passive:true}),o(),{el:t,destroy(){window.removeEventListener("scroll",o),t.remove();}}}var Bt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,qt=/[MmLlHhVvCcSsQqTtAaZz]/g;function $r(e,n,r){if(!Ge)return;let t=(e.match(qt)??[]).join("").toUpperCase(),o=(n.match(qt)??[]).join("").toUpperCase(),s=(e.match(Bt)??[]).length,a=(n.match(Bt)??[]).length;if(t!==o){le(`morphTo: command sequence differs (${t||"\u2205"} \u2192 ${o||"\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!==a&&le(`morphTo: coordinate count differs (${s} \u2192 ${a}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function kr(e,n,r){let t=(n.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),o=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,s=>{let a=parseFloat(s),u=t[o++]??a;return String(+(a+(u-a)*r).toFixed(4))})}function Qt(e,n={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:He(n,(r,t)=>Rr(e,r,t))}function Rr(e,n,r){let{preset:t,...o}=n,s=t?{...It[t],...o}:o,{selector:a="path, polyline, line, polygon, rect, circle",speed:u=1,fade:f=false,easing:m="linear",trigger:g={},stagger:h=0,direction:b="forward",once:O=false,debug:H=false,axis:w="y",scrollContainer:k,autoReverse:ie=false,delay:R=0,strokeColor:T,strokeWidth:x,fillOpacity:L,waypoints:y,velocityScale:S=false,threshold:N=0,rootMargin:Y="0px",repeat:_=0,repeatDelay:I=0,morphTo:W,clip:M,autoplay:K=false,duration:v=1e3,native:$=true,onProgress:Te,onStart:J,onComplete:G,onEnter:me,onLeave:xe,onEnterBack:ye,onLeaveBack:pe}=s,E=M===true?"left":typeof M=="string"?M:false,P=typeof m=="function"?m:Q[m]??Q.linear,he=X(g.start||"top bottom"),Oe=X(g.end||"bottom top"),Z=typeof k=="string"?document.querySelector(k):k??null,Pe=Array.isArray(T)?T[0]:null,Le=Array.isArray(T)?T[1]:typeof T=="string"?T:null,be=Array.isArray(x)?x[0]:null,Ne=Array.isArray(x)?x[1]:typeof x=="number"?x:null,Ce=Array.isArray(L)?L[0]:null,we=Array.isArray(L)?L[1]:typeof L=="number"?L:null;function Ae(i){let c=i*100;switch(E){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(${i*150}% at 50% 50%)`;default:return `inset(0 ${100-c}% 0 0)`}}let l=E?[]:Array.from(e.querySelectorAll(a)),p=[],ee=[],D=0,z=0,U=h,j=0,De=0,te=false,$e=false,ke=0,ft=-1,et=[],tt=-1,de=false,Me=0,Ie=0,Fe,mt=false,pt=null;function vt(){pt?.destroy(),pt=null;}let Ve=new Set,Et=NaN,_e=true,rt=-1,St=performance.now(),We=NaN;function nt(){return Z?w==="x"?Z.scrollLeft:Z.scrollTop:w==="x"?window.scrollX:window.scrollY}function Tt(){return Z?w==="x"?Z.clientWidth:Z.clientHeight:w==="x"?window.innerWidth:window.innerHeight}function xt(){let i=ze(e,Z,w);return fe(i,i.scroll,Tt(),he,Oe)}function fr(){let i=z-D,c=l.length-1,d=Z??document.documentElement,A=w==="x"?"Width":"Height";if(U=h,h>0&&c>0&&i>0){let ne=d[`scroll${A}`]-d[`client${A}`]-1-D-i/u;ne>=0&&(U=Math.min(h,ne/(c*i)));}let re=Math.max(0,c)*U*i,ce=i/Math.min(u,1);j=D+Math.min(0,re,ce,re+ce),De=D+Math.max(0,re,ce,re+ce);}function Mt(){(({tStart:D,tEnd:z}=xt())),fr(),H&&Ge&&(vt(),pt=Ar(D,z,w));}function dt(i,c=xt){Ee(e,{type:"draw",getProgress:()=>i.getProgress(),getTrigger:c});let d=i.destroy;return i.destroy=()=>{d.call(i),Se(e);},i}function Pt(i,c){return O&&!ie?Math.max(ft,P(et[i]=Math.max(et[i]??0,c))):P(c)}function mr(i,c){if(e.style.setProperty("--scroll-draw-progress",String(i)),E){let d=c==="reverse"?1-i:i;e.style.clipPath=Ae(d);return}l.forEach((d,A)=>gt(d,A,i,c));}function gt(i,c,d,A){i.style.strokeDashoffset=A==="reverse"?`${p[c]*d}`:`${p[c]*(1-d)}`,f&&(i.style.opacity=A==="reverse"?`${1-d}`:`${d}`),Pe&&Le?i.style.stroke=st(Pe,Le,d):Le&&(i.style.stroke=Le),be!==null&&Ne!==null?i.style.strokeWidth=`${be+(Ne-be)*d}`:Ne!==null&&(i.style.strokeWidth=`${Ne}`),Ce!==null&&we!==null?i.style.fillOpacity=`${Ce+(we-Ce)*d}`:we!==null&&(i.style.fillOpacity=`${we}`),W&&i.tagName.toLowerCase()==="path"&&ee[c]&&i.setAttribute("d",kr(ee[c],W,d));}function yt(){if(e.style.setProperty("--scroll-draw-progress","0"),E){e.style.clipPath=Ae(b==="reverse"?1:0);return}l.forEach((i,c)=>{i.style.strokeDasharray=`${p[c]}`,i.style.strokeDashoffset=b==="reverse"?"0":`${p[c]}`,f?i.style.opacity=b==="reverse"?"1":"0":i.style.opacity="",Pe&&(i.style.stroke=Pe),be!==null&&(i.style.strokeWidth=`${be}`),Ce!==null&&(i.style.fillOpacity=`${Ce}`),W&&i.tagName.toLowerCase()==="path"&&ee[c]&&i.setAttribute("d",ee[c]);});}function qe(i,c){let d=i.getAttribute("d"),A=ot(i);if(W&&ee[c]){i.setAttribute("d",W);let re=ot(i);i.setAttribute("d",ee[c]),A=Math.max(ot(i),re),i.setAttribute("d",d);}p[c]=A,i.style.strokeDasharray=`${A}`;}if(l.forEach((i,c)=>{Cr(i);let d=i.tagName.toLowerCase()==="path";d?ee.push(i.getAttribute("d")??""):ee.push(""),qe(i,c);let A=p[c];W&&(d?$r(ee[ee.length-1],W,i):le(`morphTo only applies to <path> elements \u2014 ignored on <${i.tagName}>.`,i)),r?(i.style.strokeDashoffset=b==="reverse"?`${A}`:"0",f&&(i.style.opacity="1"),Le&&(i.style.stroke=Le),Ne!==null&&(i.style.strokeWidth=`${Ne}`),we!==null&&(i.style.fillOpacity=`${we}`),W&&i.tagName.toLowerCase()==="path"&&i.setAttribute("d",W)):(i.style.strokeDashoffset=b==="reverse"?"0":`${A}`,f?i.style.opacity=b==="reverse"?"1":"0":i.style.opacity="",Pe&&(i.style.stroke=Pe),be!==null&&(i.style.strokeWidth=`${be}`),Ce!==null&&(i.style.fillOpacity=`${Ce}`));}),r)return E&&(e.style.clipPath=Ae(1)),G?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};E&&(e.style.clipPath=Ae(b==="reverse"?1:0));let Lt=typeof m=="string"?it(m):null;function pr(){return !($===false||K||H&&Ge||!Lr()||!l.length||!Lt||E||w!=="y"||Z||u!==1||h!==0||O||ie||S!==false||W||y||_||R>0||Te||J||G||me||xe||ye||pe||T!=null||x!=null||L!=null||(g.start||"top bottom").trim()!=="top bottom"||(g.end||"bottom top").trim()!=="bottom top")}function dr(){let i=++Pr,c=`svg-scroll-draw-${i}`,d=`svg-scroll-draw-host-${i}`,A=`--svg-scroll-draw-${i}`,re=b==="reverse"?"0":"var(--ssd-len)",ce=b==="reverse"?"var(--ssd-len)":"0",ne=`stroke-dashoffset:${re};`,B=`stroke-dashoffset:${ce};`;f&&(ne+=`opacity:${b==="reverse"?1:0};`,B+=`opacity:${b==="reverse"?0:1};`);let q=document.createElement("style");q.setAttribute("data-svg-scroll-draw",""),q.textContent=`@keyframes ${c}{from{${ne}}to{${B}}}.${d}{view-timeline-name:${A};view-timeline-axis:block;}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${Lt};animation-fill-mode:both;animation-timeline:${A};animation-range:cover 0% cover 100%;}`,document.head.appendChild(q),e.classList.add(d);function ae(C,F){C.style.setProperty("--ssd-len",String(p[F])),C.style.strokeDasharray=`${p[F]}`,C.style.strokeDashoffset="",C.style.opacity="",C.style.animationPlayState="",C.classList.add(c);}l.forEach(ae);let oe=false,ue=-1;function ge(){if(ue>=0)return ue;let C=e.getBoundingClientRect(),{tStart:F,tEnd:se}=fe({top:C.top,height:C.height},nt(),Tt(),he,Oe);return P(V(nt(),F,se,u))}return {destroy(){e.classList.remove(d),l.forEach(C=>{C.classList.remove(c),C.style.removeProperty("--ssd-len"),C.style.animationPlayState="";}),q.remove();},replay(){oe=false,ue=-1,l.forEach(ae);},pause(){oe=true,l.forEach(C=>{C.style.animationPlayState="paused";});},resume(){oe&&(oe=false,l.forEach(C=>{C.style.animationPlayState="running";}));},seek(C){let F=Math.min(1,Math.max(0,C));ue=F,oe=true,l.forEach((se,Re)=>{se.classList.remove(c),se.style.strokeDashoffset=b==="reverse"?`${p[Re]*F}`:`${p[Re]*(1-F)}`,f&&(se.style.opacity=b==="reverse"?`${1-F}`:`${F}`);});},getProgress(){return ge()},refresh(){l.forEach((C,F)=>{qe(C,F),C.style.setProperty("--ssd-len",String(p[F]));});}}}if(pr())return dt(dr());function gr(){let i=Math.max(1,v),c=E?i:i*(1+Math.max(0,l.length-1)*h),d=0,A=0,re=false;function ce(ue){let ge=true,C=Math.min(1,Math.max(0,ue/c));if(E){let F=Math.min(1,Math.max(0,ue/i)),se=P(F);Me=se,e.style.setProperty("--scroll-draw-progress",String(se)),e.style.clipPath=Ae(b==="reverse"?1-se:se),Te?.(se),F<1&&(ge=false);}else {l.forEach((se,Re)=>{let hr=Re*h*i,Rt=Math.min(1,Math.max(0,(ue-hr)/i));gt(se,Re,P(Rt),b),Rt<1&&(ge=false);});let F=P(C);Me=F,Te?.(F),e.style.setProperty("--scroll-draw-progress",String(F));}if(y){let F=P(C);for(let se in y){let Re=parseFloat(se);F>=Re&&!Ve.has(Re)&&(Ve.add(Re),y[se]?.());}}return ge}function ne(ue){if(de)return;let ge=ue-d;$e||($e=true,J?.());let C=ce(ge);if(C&&!te){te=true,ce(c),G?.(),Ie<(_==="infinite"?1/0:_??0)&&(Ie++,Fe=setTimeout(()=>{d=performance.now(),$e=false,te=false,Ve.clear(),yt(),ke=requestAnimationFrame(ne);},I));return}C||(ke=requestAnimationFrame(ne));}function B(){cancelAnimationFrame(ke),clearTimeout(Fe),d=performance.now(),A=0,de=false,$e=false,te=false,Ie=0,re=true,Me=0,Ve.clear(),yt(),ke=requestAnimationFrame(ne);}let q=new IntersectionObserver(ue=>{ue.forEach(ge=>{ge.isIntersecting&&!(O&&te)?B():!ge.isIntersecting&&!O&&!te&&(cancelAnimationFrame(ke),clearTimeout(Fe),re=false);});},{root:Z??null,threshold:N,rootMargin:Y}),ae;function oe(){clearTimeout(ae),ae=setTimeout(()=>l.forEach(qe),150);}return window.addEventListener("resize",oe),window.addEventListener("orientationchange",oe),R>0?setTimeout(()=>q.observe(e),R):q.observe(e),{destroy(){cancelAnimationFrame(ke),clearTimeout(Fe),q.disconnect(),window.removeEventListener("resize",oe),window.removeEventListener("orientationchange",oe),clearTimeout(ae);},replay(){Ie=0,B();},pause(){de||!re||(de=true,A=performance.now()-d,cancelAnimationFrame(ke));},resume(){de&&(de=false,re=true,d=performance.now()-A,ke=requestAnimationFrame(ne));},seek(ue){let ge=Math.min(1,Math.max(0,ue));Me=ge,de=true,A=ge*c,d=performance.now()-A,cancelAnimationFrame(ke),ce(A);},getProgress(){return Me},refresh(){clearTimeout(ae),l.forEach(qe);}}}if(K)return dt(gr());Mt();let Ct=()=>V(nt(),j,De,1);function At(){te=true,G?.(),Ie<(_==="infinite"?1/0:_)&&(Ie++,Fe=setTimeout(()=>{mt=true;},I));}function $t(){ft=-1,et=[],$e=false,te=false,mt=false,Ve.clear(),yt(),_e=true;}function yr(){let i=performance.now(),c=nt();if(mt&&Ct()%1&&$t(),!_e&&S===false&&c===Et)return;_e=false,Et=c;let d=u;if(S!==false){let B=i-St,q=B>0?Math.abs(c-(rt<0?c:rt))/B:0;d=u*Math.max(.2,1+q*(typeof S=="number"?S:1)*.04);}rt=c,St=i;let A=ie?tt===-1||c>=tt?"forward":"reverse":b;tt=c;let re=z-D,ce=true,ne=re===0?0:(c-D)/re;if(isNaN(We)||(We<=0&&ne>0&&me?.(),We<1&&ne>=1&&xe?.(),We>=1&&ne<1&&ye?.(),We>0&&ne<=0&&pe?.()),We=ne,E){let B=Pt(0,V(c,D,z,d));Me=B,e.style.setProperty("--scroll-draw-progress",String(B));let q=A==="reverse"?1-B:B;e.style.clipPath=Ae(q),Te?.(B),!$e&&V(c,D,z,d)>0&&($e=true,J?.()),B>=1&&!te?At():B<1&&!O&&(te=false);return}if(l.forEach((B,q)=>{let ae=q*U*re,oe=Pt(q,V(c,D+ae,z+ae,d));gt(B,q,oe,A),q===0&&(Me=oe,Te?.(oe),e.style.setProperty("--scroll-draw-progress",String(oe))),oe<1&&(ce=false);}),y){let B=P(V(c,D,z,d));for(let q in y){let ae=parseFloat(q);B>=ae&&!Ve.has(ae)&&(Ve.add(ae),y[q]?.());}}!$e&&V(c,D,z,d)>0&&($e=true,J?.()),ce&&!te?At():!ce&&!O&&(te=false);}let Qe=ve(Z??window,[e],Ct,yr,()=>{let i=p.join();l.forEach(qe),Mt(),_e=true,p.join()!==i&&Ue();}),ht=R>0;function Ue(){Qe.hold(de||ht);}let kt;return ht&&(kt=setTimeout(()=>{ht=false,Ue();},R)),Ue(),dt({destroy(){clearTimeout(Fe),clearTimeout(kt),Qe.off(),vt();},replay(){$t(),tt=-1,rt=-1,Ie=0,de=false,Me=0,clearTimeout(Fe),Ue();},pause(){de=true,Qe.hold(true);},resume(){de&&(de=false,_e=true,Ue());},seek(i){let c=Math.min(1,Math.max(0,i));Me=c,ft=c,et=[],de=true,Qe.hold(true),mr(c,b),_e=true;},getProgress(){return Me},refresh:Qe.remeasure},()=>({tStart:D,tEnd:z}))}var Ut=new WeakMap,Or=0;function Yt(e){return JSON.stringify(e,(n,r)=>{if(typeof r=="function")return "\u0192";if(typeof Element<"u"&&r instanceof Element){let t=Ut.get(r);return t===void 0&&Ut.set(r,t=++Or),`el#${t}`}return r})}function Xt(e,n){let r={...e};for(let t of Object.keys(r))typeof r[t]=="function"&&(r[t]=(...o)=>n()[t]?.(...o));return r}function Nr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Kt(e){let n=[],r=/([\w]+)\(([^)]*)\)/g,t;for(;(t=r.exec(e))!==null;){let o=[],s=[],a=t[2].trim();if(a)for(let u of a.split(/[\s,]+/)){let f=u.match(/^([-+]?[\d.eE]+)(.*)$/);o.push(f?parseFloat(f[1]):0),s.push(f?f[2]:"");}n.push({fn:t[1],nums:o,units:s});}return n}function Dr(e,n,r){let t=Kt(e),o=Kt(n);return t.length===0||t.length!==o.length?r<1?e:n:t.map((s,a)=>{let u=o[a];return s.fn!==u.fn||s.nums.length!==u.nums.length?r<1?`${s.fn}(${s.nums.map((f,m)=>`${f}${s.units[m]}`).join(", ")})`:`${u.fn}(${u.nums.map((f,m)=>`${f}${u.units[m]}`).join(", ")})`:`${s.fn}(${s.nums.map((f,m)=>`${f+(u.nums[m]-f)*r}${s.units[m]}`).join(", ")})`}).join(" ")}function Jt(e,n,r){if(typeof e=="number"&&typeof n=="number")return String(e+(n-e)*r);let t=String(e),o=String(n);if(Nr(t))return st(t,o,r);if(t.includes("("))return Dr(t,o,r);let s=t.match(/^([-+]?[\d.]+)(.*)$/),a=o.match(/^([-+]?[\d.]+)(.*)$/);if(s&&a){let u=parseFloat(s[1]),f=parseFloat(a[1]);return `${u+(f-u)*r}${s[2]||a[2]}`}return r<1?t:o}function Hr(e){return e.replace(/([A-Z])/g,n=>`-${n.toLowerCase()}`)}var Ir=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Fr=0,Zt="--scroll-draw-progress";function Vr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var tr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function rr(e,n){return typeof window>"u"?tr:n.respectReducedMotion===false?er(e,n,false):He(n,(r,t)=>er(e,r,t))}function er(e,n,r){let{props:t,trigger:o={},easing:s="ease-out",speed:a=1,once:u=false,axis:f="y",scrollContainer:m,native:g=true,velocityScale:h=false,triggerElement:b,onProgress:O,onComplete:H,onEnter:w,onLeave:k,onEnterBack:ie,onLeaveBack:R}=n,T=typeof s=="function"?s:Q[s]??Q["ease-out"],x=X(o.start||"top bottom"),L=X(o.end||"bottom top"),y=b??e,S=typeof m=="string"?document.querySelector(m):m??null,N=Object.entries(t).map(([l,p])=>({prop:Hr(l),from:Array.isArray(p)?p[0]:"",to:Array.isArray(p)?p[1]:p}));function Y(){let l=window.getComputedStyle(e);for(let p of N)p.from===""&&(p.from=l.getPropertyValue(p.prop).trim()||"0");}function _(){for(let l of N)e.style.setProperty(l.prop,String(l.to));}let I=new Map;for(let l of [...N.map(p=>p.prop),Zt])I.set(l,e.style.getPropertyValue(l));function W(){for(let[l,p]of I)p?e.style.setProperty(l,p):e.style.removeProperty(l);}if(r)return _(),H?.(),{...tr,destroy:W,getProgress:()=>1};Y();let M=()=>S?f==="x"?S.scrollLeft:S.scrollTop:f==="x"?window.scrollX:window.scrollY,K=()=>S?f==="x"?S.clientWidth:S.clientHeight:f==="x"?window.innerWidth:window.innerHeight,v=typeof s=="string"?it(s):null;function $(){if(!g||!Vr()||!v||f!=="y"||S||y!==e||u||a!==1||O||H||w||k||ie||R||h!==false||(o.start||"top bottom").trim()!=="top bottom"||(o.end||"bottom top").trim()!=="bottom top")return false;for(let l of N)if(!Ir.has(l.prop))return false;return true}function Te(){let l=`ssd-a-${++Fr}`,p=N.map(j=>`${j.prop}:${j.from}`).join(";"),ee=N.map(j=>`${j.prop}:${j.to}`).join(";"),D=document.createElement("style");D.setAttribute("data-ssd-animate",""),D.textContent=`@keyframes ${l}{from{${p}}to{${ee}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${v};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(D),e.classList.add(l);let z=()=>{let j=e.getBoundingClientRect();return fe({top:j.top,height:j.height},M(),K(),x,L)};Ee(e,{type:"animate",getProgress:()=>U.getProgress(),getTrigger:z});let U={refresh(){},destroy(){e.classList.remove(l),D.remove(),e.style.animationPlayState="",W(),Se(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(j){let De=Math.min(1,Math.max(0,j));e.classList.remove(l);for(let te of N)e.style.setProperty(te.prop,Jt(te.from,te.to,De));},getProgress(){let{tStart:j,tEnd:De}=z();return T(V(M(),j,De,a))}};return U}if($())return Te();let J=0,G=0,me=false,xe=-1,ye=0,pe=0,E=false,P=NaN,he=-1,Oe=0,Z=y===e?N:[],Pe=false;function Le(){let l=e.style,p=Z.map(U=>l.getPropertyValue(U.prop)),ee=l.transition;Z.length&&(l.transition="none"),Z.forEach(U=>l.setProperty(U.prop,I.get(U.prop)??""));let D=ze(y,S,f);Z.forEach((U,j)=>l.setProperty(U.prop,p[j])),Z.length&&(e.offsetWidth,l.transition=ee);let z=fe(D,D.scroll,K(),x,L);Pe&&Math.abs(z.tStart-J)<1&&Math.abs(z.tEnd-G)<1||(Pe=true,J=z.tStart,G=z.tEnd);}function be(l){e.style.setProperty(Zt,String(l));for(let p of N)e.style.setProperty(p.prop,Jt(p.from,p.to,l));O?.(l);}function Ne(l){if(isNaN(P)){P=l;return}P<=0&&l>0&&w?.(),P<1&&l>=1&&k?.(),P>=1&&l<1&&ie?.(),P>0&&l<=0&&R?.(),P=l;}function Ce(){if(me)return;let l=performance.now(),p=M(),ee=a;if(h!==false){let j=l-Oe,De=j>0?Math.abs(p-(he<0?p:he))/j:0;ee=a*Math.max(.2,1+De*(typeof h=="number"?h:1)*.04);}he=p,Oe=l;let D=G===J?0:(p-J)/(G-J);Ne(D);let z=V(p,J,G,ee),U=u?Math.max(xe,T(ye=Math.max(ye,z))):T(z);pe=U,be(U),U>=1&&!E?(E=true,H?.()):U<1&&!u&&(E=false);}let we=ve(S??window,[y],()=>V(M(),J,G,Math.min(a,1)),Ce,Le);Le(),G===J&&le("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),ye=V(M(),J,G,a),pe=T(ye),be(pe),Ee(e,{type:"animate",getProgress:()=>pe,getTrigger:()=>({tStart:J,tEnd:G})});function Ae(){me=true,we.hold(true);}return {destroy(){me=true,we.off(),W(),Se(e);},replay(){xe=-1,ye=0,E=false,pe=0,me=false,be(0),we.hold(false);},pause:Ae,resume(){me&&(me=false,we.hold(false));},seek(l){let p=Math.min(1,Math.max(0,l));pe=p,xe=p,ye=0,Ae(),be(p);},getProgress(){return pe},refresh:we.remeasure}}var bt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function nr(e,n){if(typeof window>"u")return bt;let r=typeof e=="string"?document.querySelector(e):e;return r?He(n,(t,o)=>_r(r,t,o)):(le("scrollCounter: element not found:",e),bt)}function _r(e,n,r){let{from:t=0,to:o,format:s,easing:a="ease-out",trigger:u={},once:f=true,decimals:m,onComplete:g}=n,h=m!==void 0?v=>v.toFixed(m):s??(v=>String(Math.round(v))),b=typeof a=="function"?a:Q[a]??Q["ease-out"],O=X(u.start||"top 80%"),H=X(u.end||"top 20%");if(r)return e.textContent=h(o),g?.(),{...bt,getProgress:()=>1};let w=0,k=0,ie=false,R=-1,T=0,x=0,L=false,y=()=>window.scrollY,S=()=>window.innerHeight;function N(){let v=e.getBoundingClientRect(),$=fe({top:v.top,height:v.height},y(),S(),O,H);ie&&Math.abs($.tStart-w)<1&&Math.abs($.tEnd-k)<1||(ie=true,w=$.tStart,k=$.tEnd);}let Y=e.style.getPropertyValue("--scroll-draw-progress");function _(v){e.textContent=h(t+(o-t)*v),e.style.setProperty("--scroll-draw-progress",String(v));}let I=()=>V(y(),w,k,1);function W(){let v=I(),$=f?Math.max(R,b(T=Math.max(T,v))):b(v);x=$,_($),$>=1&&!L?(L=true,g?.()):$<1&&!f&&(L=false);}N();{T=V(y(),w,k,1);let v=b(T);x=v,_(v);}let M=ve(window,[e],I,W,N);Ee(e,{type:"counter",getProgress:()=>x,getTrigger:()=>({tStart:w,tEnd:k})});let K=()=>M.hold(false);return {destroy(){M.off(),e.style.setProperty("--scroll-draw-progress",Y),Se(e);},replay(){R=-1,T=0,L=false,x=0,_(0),K();},pause:()=>M.hold(true),resume:K,seek(v){let $=Math.min(1,Math.max(0,v));x=$,R=$,T=0,M.hold(true),_($);},getProgress(){return x}}}var or={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function sr(e,n={}){if(typeof window>"u")return or;let r=typeof e=="string"?document.querySelector(e):e;if(!r||r.tagName.toLowerCase()!=="video")return le("scrollVideo: <video> element not found:",e),or;let t=r,{trigger:o={},easing:s="linear",once:a=false,axis:u="y",preload:f="auto",triggerElement:m,onReady:g,onComplete:h,onProgress:b}=n,O=m??t,H=window.matchMedia("(prefers-reduced-motion: reduce)").matches,w=typeof s=="function"?s:Q[s]??Q.linear,k=X(o.start||"top top"),ie=X(o.end||"bottom top");t.pause(),t.hasAttribute("preload")||(t.preload=f);let R=n.from??0,T=n.to,x=0,L=0,y=false,S=-1,N=0,Y=0,_=false,I=false,W=()=>u==="x"?window.scrollX:window.scrollY,M=()=>u==="x"?window.innerWidth:window.innerHeight;function K(){let E=O.getBoundingClientRect(),P=u==="x"?E.left:E.top,he=u==="x"?E.width:E.height,Oe=fe({top:P,height:he},W(),M(),k,ie);x=Oe.tStart,L=Oe.tEnd,I&&L===x&&le("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",t);}let v=NaN;function $(E){if(!I)return;let P=T??t.duration??0,he=R+(P-R)*E;he!==v&&(v=he,t.currentTime=he),t.style.setProperty("--scroll-draw-progress",String(E)),b?.(E);}let Te=()=>V(W(),x,L,1);function J(){if(!I||H)return;let E=Te(),P=a?Math.max(S,w(N=Math.max(N,E))):w(E);Y=P,$(P),P>=1&&!_?(_=true,h?.()):P<1&&!a&&(_=false);}let G=ve(window,[O],Te,J,K),me=()=>G.hold(y||!I||H);me();function xe(){if(I=true,T===void 0&&(T=t.duration),H){$(1),g?.();return}K(),g?.(),y?$(Y):me();}t.readyState>=1?xe():t.addEventListener("loadedmetadata",xe,{once:true}),I||K();let ye=H?()=>{}:je(E=>{E&&(ye(),H=true,G.hold(true),$(1));});Ee(t,{type:"video",getProgress:()=>Y,getTrigger:()=>({tStart:x,tEnd:L})});function pe(){y&&(y=false,me());}return {destroy(){G.off(),t.removeEventListener("loadedmetadata",xe),ye(),Se(t);},replay(){S=-1,N=0,_=false,Y=0,v=NaN,$(0),pe();},pause(){y=true,G.hold(true);},resume:pe,seek(E){let P=Math.min(1,Math.max(0,E));Y=P,S=P,N=0,y=true,G.hold(true),v=NaN,$(P);},getProgress(){return Y}}}function ir(e,n){let r=document.createElement("span");r.textContent=n,r.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(r);}function ct(e=""){let n=document.createElement("span");return n.setAttribute("aria-hidden","true"),n.textContent=e,n}function lr(e){let n=e.textContent??"";return e.textContent="",n.split(/(\s+)/).filter(Boolean).map(r=>{let t=e.appendChild(ct(r)),o=/^\s+$/.test(r);return o?t.style.whiteSpace="pre":t.style.display="inline-block",o?null:t}).filter(r=>r!==null)}function Wr(e){let n=e.textContent??"";e.textContent="";let r=[],t=null;for(let o of n){let s=ct(o),a=o===" ";a?s.style.whiteSpace="pre":(s.style.display="inline-block",r.push(s)),a||o>"\u0DFF"?t=null:t||(t=e.appendChild(ct()),t.style.cssText="display:inline-block;white-space:nowrap"),(t??e).appendChild(s);}return r}function ar(e){let n=lr(e),r=new Map;for(let s of n){let a=s.offsetTop;r.has(a)||r.set(a,[]),r.get(a).push(s);}let t=[],o=Array.from(r.keys()).sort((s,a)=>s-a);for(let s of o){let a=r.get(s),u=ct();u.style.display="inline-block",a.forEach((f,m)=>{let g=f.nextElementSibling;u.appendChild(f),m<a.length-1&&g&&g.style.whiteSpace==="pre"&&u.appendChild(g);}),t.push(u);}return e.textContent="",t.forEach((s,a)=>{e.appendChild(s),a<t.length-1&&e.appendChild(document.createTextNode(" "));}),t}function zr(e,n,r,t){if(r<=1||t===0)return e;t=Math.min(t,1/r);let o=(r-1)*t,s=n*t,a=s+(1-o);return a<=s?e>=s?1:0:Ye((e-s)/(a-s),0,1)}function Gr(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 wt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function cr(e,n={}){if(typeof window>"u")return wt;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return le("scrollText: element not found:",e),wt;let t=r;return He(n,(o,s)=>jr(t,o,s))}function jr(e,n,r){let{split:t="words",stagger:o=.04,easing:s="ease-out",from:a={opacity:0,y:24},trigger:u={},once:f=true,onComplete:m}=n,g=typeof s=="function"?s:Q[s]??Q["ease-out"],h=X(u.start||"top 85%"),b=X(u.end||"top 40%"),O=e.innerHTML,H=e.textContent??"",w;t==="chars"?w=Wr(e):t==="lines"?w=ar(e):w=lr(e),ir(e,H);let k=w.length;function ie(M,K){a?.opacity!==void 0&&(M.style.opacity=String(a.opacity+(1-a.opacity)*K));let v=Gr(K,a);v&&(M.style.transform=v);}function R(M){e.style.setProperty("--scroll-draw-progress",String(M)),w.forEach((K,v)=>{let $=g(zr(M,v,k,o));ie(K,$);});}if(r)return R(1),m?.(),{...wt,destroy:()=>{e.innerHTML=O;},getProgress:()=>1};R(0);let T=0,x=0,L=-1,y=0,S=false;function N(){({tStart:T,tEnd:x}=fe(e.getBoundingClientRect(),window.scrollY,window.innerHeight,h,b));}let Y=()=>V(window.scrollY,T,x,1);function _(){let M=f?L=Math.max(L,Y()):Y();y=M,R(M),M>=1&&!S?(S=true,m?.()):M<1&&!f&&(S=false);}N();let I=ve(window,[e],Y,_,()=>{t==="lines"&&(e.innerHTML=O,w=ar(e),ir(e,H),R(y)),N();});Ee(e,{type:"text",getProgress:()=>y,getTrigger:()=>({tStart:T,tEnd:x})});let W=()=>I.hold(false);return {destroy(){I.off(),e.innerHTML=O,Se(e);},replay(){L=-1,S=false,y=0,R(0),W();},pause:()=>I.hold(true),resume:W,seek(M){I.hold(true),R(y=L=Ye(M,0,1));},getProgress(){return y}}}function Qr(e,n={}){let[r,t]=Ur.useState(0),o=Ur.useRef(n);o.current=n;let s=Ur.useRef(0);return Ur.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:f="y",scrollContainer:m,trigger:g={}}=o.current,h=typeof m=="string"?document.querySelector(m):m??null,b=X(g.start||"top bottom"),O=X(g.end||"bottom top"),H=0,w=0;function k(){return h?f==="x"?h.scrollLeft:h.scrollTop:f==="x"?window.scrollX:window.scrollY}function ie(){return h?f==="x"?h.clientWidth:h.clientHeight:f==="x"?window.innerWidth:window.innerHeight}function R(){let y=ze(u,h,f);({tStart:H,tEnd:w}=fe(y,y.scroll,ie(),b,O));}function T(){let{speed:y=1,easing:S="linear",once:N=false}=o.current,Y=typeof S=="function"?S:Q[S]??Q.linear,_=V(k(),H,w,y),I=Y(N?s.current=Math.max(s.current,_):_);t(I);}R();let x=ve(h??window,[u],()=>V(k(),H,w,Math.min(o.current.speed??1,1)),T,R),L=je(y=>{y&&(L(),x.off(),t(1));});return ()=>{L(),x.off();}},[]),r}function Je(e,n,r){let t=Ur.useRef(n);t.current=n;let o=Yt(n);Ur.useEffect(()=>{if(!e.current)return;let s=r(e.current,Xt(t.current,()=>t.current));return ()=>s.destroy()},[o]);}var Xr=/^(data-|aria-)|^(id|role|title|tabIndex|lang|dir|hidden)$/;function Ze(e){let n={},r={};for(let[t,o]of Object.entries(e))(Xr.test(t)?r:n)[t]=o;return [n,r]}function So({children:e,className:n,style:r,...t}){let o=Ur.useRef(null),[s,a]=Ze(t);return Je(o,s,Qt),jsxRuntime.jsx("div",{ref:o,className:n,style:r,...a,children:e})}function To({children:e,className:n,style:r,...t}){let o=Ur.useRef(null),[s,a]=Ze(t);return Je(o,s,rr),jsxRuntime.jsx("div",{ref:o,className:n,style:r,...a,children:e})}function xo({className:e,style:n,...r}){let t=Ur.useRef(null),[o,s]=Ze(r);return Je(t,o,nr),jsxRuntime.jsx("span",{ref:t,className:e,style:n,...s})}function Mo({src:e,poster:n,className:r,style:t,muted:o=true,playsInline:s=true,...a}){let u=Ur.useRef(null),[f,m]=Ze(a);return Je(u,f,sr),jsxRuntime.jsx("video",{...m,ref:u,src:e,poster:n,className:r,style:t,muted:o,playsInline:s,preload:f.preload??"auto"})}function Po({children:e,as:n="p",className:r,style:t,...o}){let s=Ur.useRef(null),[a,u]=Ze(o);return Je(s,a,cr),Ur__default.default.createElement(n,{...u,ref:s,className:r,style:t},e)}exports.ScrollAnimate=To;exports.ScrollCounter=xo;exports.ScrollDraw=So;exports.ScrollText=Po;exports.ScrollVideo=Mo;exports.useScrollDrawProgress=Qr;
2
+ 'use strict';var tn=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var tn__default=/*#__PURE__*/_interopDefault(tn);function xr({tension:e=2.5,friction:n=2.2}={}){return r=>1-Math.cos(r*Math.PI*e)*Math.pow(1-r,n)}function Tr({bounces:e=3,decay:n=.5}={}){let r=Math.max(1,Math.round(e)),t=Math.max(.01,Math.min(.99,n)),o=Math.sqrt(t),s=0,i=[];for(let d=0;d<r;d++){let y=Math.pow(o,d);i.push(y),s+=y;}let u=[0],c=0;for(let d=0;d<r;d++)c+=i[d]/s,u.push(c);return d=>{if(d<=0)return 0;if(d>=1)return 1;for(let y=0;y<r;y++)if(d<=u[y+1]){let v=(d-u[y])/(u[y+1]-u[y]);if(y===0)return v*(2-v);let S=1-Math.pow(t,y);return S+(1-S)*(2*v-1)*(2*v-1)}return 1}}function Mr({amplitude:e=1,period:n=.4}={}){let r=Math.max(1,e),t=Math.max(.1,n),o=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-o)*(2*Math.PI)/t)+1}var K={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:xr(),bounce:Tr(),elastic:Mr()};function ot(e,n,r){return Math.min(r,Math.max(n,e))}function te(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}}var Dt=(e,n)=>e==="top"?0:e==="center"?.5:e==="bottom"?1:n;function Ht(e,n,r,t){return e+r+n*Dt(t,0)}function It(e,n){return n*(/^\d+(\.\d+)?%$/.test(e)?parseFloat(e)/100:Dt(e,1))}function j(e,n,r,t){return r===n?0:ot((e-n)/(r-n)*t,0,1)}function ye(e,n,r,t,o){let s=Ht(e.top,e.height,n,t.element)-It(t.viewport,r),i=Ht(e.top,e.height,n,o.element)-It(o.viewport,r);return {tStart:s,tEnd:i}}function Ke(e,n,r){let t=e.getBoundingClientRect(),o=r==="x"?t.width:t.height;return n?{top:r==="x"?t.left-n.getBoundingClientRect().left-n.clientLeft+n.scrollLeft:t.top-n.getBoundingClientRect().top-n.clientTop+n.scrollTop,height:o,scroll:0}:{top:r==="x"?t.left:t.top,height:o,scroll:r==="x"?window.scrollX:window.scrollY}}function ft(e){let n=parseFloat(e.getAttribute("pathLength")??"");if(n>0)return n;let r=e.tagName.toLowerCase();if(r==="rect"){let t=parseFloat(e.getAttribute("width")??"0"),o=parseFloat(e.getAttribute("height")??"0");return 2*(t+o)}if(r==="circle"){let t=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*t}return e.getTotalLength()}function Ft(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 mt(e,n,r){let t=Ft(e),o=Ft(n);return !t||!o?e:`rgb(${Math.round(t[0]+(o[0]-t[0])*r)},${Math.round(t[1]+(o[1]-t[1])*r)},${Math.round(t[2]+(o[2]-t[2])*r)})`}var _t={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 B(e,...n){Je&&console.warn(`[svg-scroll-draw] ${e}`,...n);}var Pr="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Lr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Vt=33;function Ar(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Cr(e){let n=[];for(let r=0;r<Vt;r++){let t=r/(Vt-1);n.push(String(Math.round(e(t)*1e5)/1e5));}return `linear(${n.join(",")})`}function pt(e){switch(e){case "linear":return "linear";case "ease-in":return Pr;case "ease-out":return Lr;case "ease-in-out":return Ar()?Cr(K["ease-in-out"]):null;default:return null}}var zt=Symbol.for("svg-scroll-draw.registry");function Wt(){let e=globalThis;return e[zt]||(e[zt]=new Map)}function Oe(e,n){Wt().set(e,n);}function $e(e){Wt().delete(e);}function je(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let n=window.matchMedia("(prefers-reduced-motion: reduce)"),r=o=>e(!!o.matches);if(typeof n.addEventListener=="function")return n.addEventListener("change",r),()=>n.removeEventListener("change",r);let t=n;return t.addListener?.(r),()=>t.removeListener?.(r)}function Be(e,n){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return n(e,true);let r=n(e,false),t=je(s=>{if(!s)return;t();let i=(r.getProgress?.()??0)>=1;r.destroy(),r=n(i?{...e,onComplete:void 0}:e,true);}),o={};for(let s of Object.keys(r))o[s]=(...i)=>r[s]?.(...i);return o.destroy=()=>{t(),r.destroy();},o}var st,dt=new Set,gt=new WeakMap,it=new Map,Gt=e=>{let n=e.getBoundingClientRect();return n.width+" "+n.height};function kr(e){let n=new Set;for(let r of e)for(;r&&r!==document.body;r=r.parentElement)for(let t=r;t;t=t.previousElementSibling)n.add(t);return n}function jt(e,n){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let r=()=>n();st??(st=new ResizeObserver(o=>{let s=false;for(let{target:i}of o)gt.get(i)!==Gt(i)&&(s=true),gt.set(i,"");s&&dt.forEach(i=>i());})),dt.add(r);let t=kr(e);return [document.body,document.documentElement].forEach(o=>o&&t.add(o)),t.forEach(o=>{gt.has(o)||gt.set(o,Gt(o)),it.set(o,(it.get(o)??0)+1),st.observe(o);}),()=>{dt.delete(r)&&(t.forEach(o=>{let s=(it.get(o)??1)-1;if(s)return void it.set(o,s);it.delete(o),st?.unobserve(o);}),dt.size||(st?.disconnect(),st=void 0));}}function Ae(e,n,r,t,o){let s,i=NaN,u,c,d=()=>{s=0,t(),!u&&!s&&(i=r())>0&&i<1&&(s=requestAnimationFrame(d));},y=()=>{!s&&!u&&r()!==i&&(s=requestAnimationFrame(d));},v=$=>{u=$,cancelAnimationFrame(s),s=i=NaN,y();},S=()=>{clearTimeout(c),o(),y();},z=()=>{clearTimeout(c),c=setTimeout(S,150);},G=jt(n,z),b=$=>{e[$]("scroll",y,{passive:true}),window[$]("resize",z),window[$]("orientationchange",z);};return b("addEventListener"),y(),{hold:v,remeasure:S,off(){v(true),b("removeEventListener"),G(),clearTimeout(c);}}}var Rr=0;function Or(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Bt(e,n){let r="";try{r=getComputedStyle(e).getPropertyValue(n).trim();}catch{}return r||(e.getAttribute(n)??"").trim()}var qt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function $r(e){if(!Je)return;let n=Bt(e,"stroke");if(!n||n==="none"){B("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!qt.has(r)&&!qt.has(Bt(e,"fill"))&&B("Element has a fill \u2014 it may obscure the stroke animation.",e);}function Nr(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 o(){let s=r==="x"?window.scrollX:window.scrollY,i=e-s,u=n-s,c=r==="x";t.innerHTML=`
3
+ <div style="position:absolute;${c?`left:${i}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${i}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;${c?`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",o,{passive:true}),o(),{el:t,destroy(){window.removeEventListener("scroll",o),t.remove();}}}var Ut=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Yt=/[MmLlHhVvCcSsQqTtAaZz]/g;function Hr(e,n,r){if(!Je)return;let t=(e.match(Yt)??[]).join("").toUpperCase(),o=(n.match(Yt)??[]).join("").toUpperCase(),s=(e.match(Ut)??[]).length,i=(n.match(Ut)??[]).length;if(t!==o){B(`morphTo: command sequence differs (${t||"\u2205"} \u2192 ${o||"\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!==i&&B(`morphTo: coordinate count differs (${s} \u2192 ${i}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function Ir(e,n,r){let t=(n.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),o=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,s=>{let i=parseFloat(s),u=t[o++]??i;return String(+(i+(u-i)*r).toFixed(4))})}function Qt(e,n={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:Be(n,(r,t)=>Dr(e,r,t))}function Dr(e,n,r){let{preset:t,...o}=n,s=t?{..._t[t],...o}:o,{selector:i="path, polyline, line, polygon, rect, circle",speed:u=1,fade:c=false,easing:d="linear",trigger:y={},stagger:v=0,direction:S="forward",once:z=false,debug:G=false,axis:b="y",scrollContainer:$,autoReverse:J=false,delay:k=0,strokeColor:A,strokeWidth:T,fillOpacity:O,waypoints:h,velocityScale:R=false,threshold:D=0,rootMargin:re="0px",repeat:q=0,repeatDelay:N=0,morphTo:F,clip:M,autoplay:Z=false,duration:x=1e3,native:C=true,onProgress:be,onStart:_,onComplete:Y,onEnter:fe,onLeave:xe,onEnterBack:me,onLeaveBack:le}=s,P=M===true?"left":typeof M=="string"?M:false,L=typeof d=="function"?d:K[d]??K.linear,se=te(y.start||"top bottom"),Ne=te(y.end||"bottom top"),ee=typeof $=="string"?document.querySelector($):$??null,He=Array.isArray(A)?A[0]:null,Te=Array.isArray(A)?A[1]:typeof A=="string"?A:null,we=Array.isArray(T)?T[0]:null,_e=Array.isArray(T)?T[1]:typeof T=="number"?T:null,Ie=Array.isArray(O)?O[0]:null,Me=Array.isArray(O)?O[1]:typeof O=="number"?O:null;function Ce(a){let m=a*100;switch(P){case "right":return `inset(0 0 0 ${100-m}%)`;case "top":return `inset(0 0 ${100-m}% 0)`;case "bottom":return `inset(${100-m}% 0 0 0)`;case "center":return `circle(${a*150}% at 50% 50%)`;default:return `inset(0 ${100-m}% 0 0)`}}let l=P?[]:Array.from(e.querySelectorAll(i)),g=[],ie=[],H=0,W=0,U=v,Q=0,Fe=0,ae=false,De=false,ve=0,Qe=-1,qe=[],Ue=-1,pe=false,f=0,p=0,E,ce=false,Ee=null;function Ve(){Ee?.destroy(),Ee=null;}let ke=new Set,ze=NaN,We=true,ct=-1,Tt=performance.now(),Xe=NaN;function ut(){return ee?b==="x"?ee.scrollLeft:ee.scrollTop:b==="x"?window.scrollX:window.scrollY}function Mt(){return ee?b==="x"?ee.clientWidth:ee.clientHeight:b==="x"?window.innerWidth:window.innerHeight}function Pt(){let a=Ke(e,ee,b);return ye(a,a.scroll,Mt(),se,Ne)}function hr(){let a=W-H,m=l.length-1,w=ee??document.documentElement,V=b==="x"?"Width":"Height";if(U=v,v>0&&m>0&&a>0){let de=w[`scroll${V}`]-w[`client${V}`]-1-H-a/u;de>=0&&(U=Math.min(v,de/(m*a)));}let ue=Math.max(0,m)*U*a,Pe=a/Math.min(u,1);Q=H+Math.min(0,ue,Pe,ue+Pe),Fe=H+Math.max(0,ue,Pe,ue+Pe);}function Lt(){(({tStart:H,tEnd:W}=Pt())),hr(),G&&Je&&(Ve(),Ee=Nr(H,W,b));}function bt(a,m=Pt){Oe(e,{type:"draw",getProgress:()=>a.getProgress(),getTrigger:m});let w=a.destroy;return a.destroy=()=>{w.call(a),$e(e);},a}function At(a,m){return z&&!J?Math.max(Qe,L(qe[a]=Math.max(qe[a]??0,m))):L(m)}function yr(a,m){if(e.style.setProperty("--scroll-draw-progress",String(a)),P){let w=m==="reverse"?1-a:a;e.style.clipPath=Ce(w);return}l.forEach((w,V)=>wt(w,V,a,m));}function wt(a,m,w,V){a.style.strokeDashoffset=V==="reverse"?`${g[m]*w}`:`${g[m]*(1-w)}`,c&&(a.style.opacity=V==="reverse"?`${1-w}`:`${w}`),He&&Te?a.style.stroke=mt(He,Te,w):Te&&(a.style.stroke=Te),we!==null&&_e!==null?a.style.strokeWidth=`${we+(_e-we)*w}`:_e!==null&&(a.style.strokeWidth=`${_e}`),Ie!==null&&Me!==null?a.style.fillOpacity=`${Ie+(Me-Ie)*w}`:Me!==null&&(a.style.fillOpacity=`${Me}`),F&&a.tagName.toLowerCase()==="path"&&ie[m]&&a.setAttribute("d",Ir(ie[m],F,w));}function vt(){if(e.style.setProperty("--scroll-draw-progress","0"),P){e.style.clipPath=Ce(S==="reverse"?1:0);return}l.forEach((a,m)=>{a.style.strokeDasharray=`${g[m]}`,a.style.strokeDashoffset=S==="reverse"?"0":`${g[m]}`,c?a.style.opacity=S==="reverse"?"1":"0":a.style.opacity="",He&&(a.style.stroke=He),we!==null&&(a.style.strokeWidth=`${we}`),Ie!==null&&(a.style.fillOpacity=`${Ie}`),F&&a.tagName.toLowerCase()==="path"&&ie[m]&&a.setAttribute("d",ie[m]);});}function tt(a,m){let w=a.getAttribute("d"),V=ft(a);if(F&&ie[m]){a.setAttribute("d",F);let ue=ft(a);a.setAttribute("d",ie[m]),V=Math.max(ft(a),ue),a.setAttribute("d",w);}g[m]=V,a.style.strokeDasharray=`${V}`;}if(l.forEach((a,m)=>{$r(a);let w=a.tagName.toLowerCase()==="path";w?ie.push(a.getAttribute("d")??""):ie.push(""),tt(a,m);let V=g[m];F&&(w?Hr(ie[ie.length-1],F,a):B(`morphTo only applies to <path> elements \u2014 ignored on <${a.tagName}>.`,a)),r?(a.style.strokeDashoffset=S==="reverse"?`${V}`:"0",c&&(a.style.opacity="1"),Te&&(a.style.stroke=Te),_e!==null&&(a.style.strokeWidth=`${_e}`),Me!==null&&(a.style.fillOpacity=`${Me}`),F&&a.tagName.toLowerCase()==="path"&&a.setAttribute("d",F)):(a.style.strokeDashoffset=S==="reverse"?"0":`${V}`,c?a.style.opacity=S==="reverse"?"1":"0":a.style.opacity="",He&&(a.style.stroke=He),we!==null&&(a.style.strokeWidth=`${we}`),Ie!==null&&(a.style.fillOpacity=`${Ie}`));}),r)return P&&(e.style.clipPath=Ce(1)),Y?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};P&&(e.style.clipPath=Ce(S==="reverse"?1:0));let Ct=typeof d=="string"?pt(d):null;function br(){return !(C===false||Z||G&&Je||!Or()||!l.length||!Ct||P||b!=="y"||ee||u!==1||v!==0||z||J||R!==false||F||h||q||k>0||be||_||Y||fe||xe||me||le||A!=null||T!=null||O!=null||(y.start||"top bottom").trim()!=="top bottom"||(y.end||"bottom top").trim()!=="bottom top")}function wr(){let a=++Rr,m=`svg-scroll-draw-${a}`,w=`svg-scroll-draw-host-${a}`,V=`--svg-scroll-draw-${a}`,ue=S==="reverse"?"0":"var(--ssd-len)",Pe=S==="reverse"?"var(--ssd-len)":"0",de=`stroke-dashoffset:${ue};`,ne=`stroke-dashoffset:${Pe};`;c&&(de+=`opacity:${S==="reverse"?1:0};`,ne+=`opacity:${S==="reverse"?0:1};`);let oe=document.createElement("style");oe.setAttribute("data-svg-scroll-draw",""),oe.textContent=`@keyframes ${m}{from{${de}}to{${ne}}}.${w}{view-timeline-name:${V};view-timeline-axis:block;}.${m}{animation-name:${m};animation-duration:auto;animation-timing-function:${Ct};animation-fill-mode:both;animation-timeline:${V};animation-range:cover 0% cover 100%;}`,document.head.appendChild(oe),e.classList.add(w);function Se(I,X){I.style.setProperty("--ssd-len",String(g[X])),I.style.strokeDasharray=`${g[X]}`,I.style.strokeDashoffset="",I.style.opacity="",I.style.animationPlayState="",I.classList.add(m);}l.forEach(Se);let ge=false,Le=-1;function Re(){if(Le>=0)return Le;let I=e.getBoundingClientRect(),{tStart:X,tEnd:he}=ye({top:I.top,height:I.height},ut(),Mt(),se,Ne);return L(j(ut(),X,he,u))}return {destroy(){e.classList.remove(w),l.forEach(I=>{I.classList.remove(m),I.style.removeProperty("--ssd-len"),I.style.animationPlayState="";}),oe.remove();},replay(){ge=false,Le=-1,l.forEach(Se);},pause(){ge=true,l.forEach(I=>{I.style.animationPlayState="paused";});},resume(){ge&&(ge=false,l.forEach(I=>{I.style.animationPlayState="running";}));},seek(I){let X=Math.min(1,Math.max(0,I));Le=X,ge=true,l.forEach((he,Ge)=>{he.classList.remove(m),he.style.strokeDashoffset=S==="reverse"?`${g[Ge]*X}`:`${g[Ge]*(1-X)}`,c&&(he.style.opacity=S==="reverse"?`${1-X}`:`${X}`);});},getProgress(){return Re()},refresh(){l.forEach((I,X)=>{tt(I,X),I.style.setProperty("--ssd-len",String(g[X]));});}}}if(br())return bt(wr());function vr(){let a=Math.max(1,x),m=P?a:a*(1+Math.max(0,l.length-1)*v),w=0,V=0,ue=false;function Pe(Le){let Re=true,I=Math.min(1,Math.max(0,Le/m));if(P){let X=Math.min(1,Math.max(0,Le/a)),he=L(X);f=he,e.style.setProperty("--scroll-draw-progress",String(he)),e.style.clipPath=Ce(S==="reverse"?1-he:he),be?.(he),X<1&&(Re=false);}else {l.forEach((he,Ge)=>{let Sr=Ge*v*a,Nt=Math.min(1,Math.max(0,(Le-Sr)/a));wt(he,Ge,L(Nt),S),Nt<1&&(Re=false);});let X=L(I);f=X,be?.(X),e.style.setProperty("--scroll-draw-progress",String(X));}if(h){let X=L(I);for(let he in h){let Ge=parseFloat(he);X>=Ge&&!ke.has(Ge)&&(ke.add(Ge),h[he]?.());}}return Re}function de(Le){if(pe)return;let Re=Le-w;De||(De=true,_?.());let I=Pe(Re);if(I&&!ae){ae=true,Pe(m),Y?.(),p<(q==="infinite"?1/0:q??0)&&(p++,E=setTimeout(()=>{w=performance.now(),De=false,ae=false,ke.clear(),vt(),ve=requestAnimationFrame(de);},N));return}I||(ve=requestAnimationFrame(de));}function ne(){cancelAnimationFrame(ve),clearTimeout(E),w=performance.now(),V=0,pe=false,De=false,ae=false,p=0,ue=true,f=0,ke.clear(),vt(),ve=requestAnimationFrame(de);}let oe=new IntersectionObserver(Le=>{Le.forEach(Re=>{Re.isIntersecting&&!(z&&ae)?ne():!Re.isIntersecting&&!z&&!ae&&(cancelAnimationFrame(ve),clearTimeout(E),ue=false);});},{root:ee??null,threshold:D,rootMargin:re}),Se;function ge(){clearTimeout(Se),Se=setTimeout(()=>l.forEach(tt),150);}return window.addEventListener("resize",ge),window.addEventListener("orientationchange",ge),k>0?setTimeout(()=>oe.observe(e),k):oe.observe(e),{destroy(){cancelAnimationFrame(ve),clearTimeout(E),oe.disconnect(),window.removeEventListener("resize",ge),window.removeEventListener("orientationchange",ge),clearTimeout(Se);},replay(){p=0,ne();},pause(){pe||!ue||(pe=true,V=performance.now()-w,cancelAnimationFrame(ve));},resume(){pe&&(pe=false,ue=true,w=performance.now()-V,ve=requestAnimationFrame(de));},seek(Le){let Re=Math.min(1,Math.max(0,Le));f=Re,pe=true,V=Re*m,w=performance.now()-V,cancelAnimationFrame(ve),Pe(V);},getProgress(){return f},refresh(){clearTimeout(Se),l.forEach(tt);}}}if(Z)return bt(vr());Lt();let kt=()=>j(ut(),Q,Fe,1);function Rt(){ae=true,Y?.(),p<(q==="infinite"?1/0:q)&&(p++,E=setTimeout(()=>{ce=true;},N));}function Ot(){Qe=-1,qe=[],De=false,ae=false,ce=false,ke.clear(),vt(),We=true;}function Er(){let a=performance.now(),m=ut();if(ce&&kt()%1&&Ot(),!We&&R===false&&m===ze)return;We=false,ze=m;let w=u;if(R!==false){let ne=a-Tt,oe=ne>0?Math.abs(m-(ct<0?m:ct))/ne:0;w=u*Math.max(.2,1+oe*(typeof R=="number"?R:1)*.04);}ct=m,Tt=a;let V=J?Ue===-1||m>=Ue?"forward":"reverse":S;Ue=m;let ue=W-H,Pe=true,de=ue===0?0:(m-H)/ue;if(isNaN(Xe)||(Xe<=0&&de>0&&fe?.(),Xe<1&&de>=1&&xe?.(),Xe>=1&&de<1&&me?.(),Xe>0&&de<=0&&le?.()),Xe=de,P){let ne=At(0,j(m,H,W,w));f=ne,e.style.setProperty("--scroll-draw-progress",String(ne));let oe=V==="reverse"?1-ne:ne;e.style.clipPath=Ce(oe),be?.(ne),!De&&j(m,H,W,w)>0&&(De=true,_?.()),ne>=1&&!ae?Rt():ne<1&&!z&&(ae=false);return}if(l.forEach((ne,oe)=>{let Se=oe*U*ue,ge=At(oe,j(m,H+Se,W+Se,w));wt(ne,oe,ge,V),oe===0&&(f=ge,be?.(ge),e.style.setProperty("--scroll-draw-progress",String(ge))),ge<1&&(Pe=false);}),h){let ne=L(j(m,H,W,w));for(let oe in h){let Se=parseFloat(oe);ne>=Se&&!ke.has(Se)&&(ke.add(Se),h[oe]?.());}}!De&&j(m,H,W,w)>0&&(De=true,_?.()),Pe&&!ae?Rt():!Pe&&!z&&(ae=false);}let rt=Ae(ee??window,[e],kt,Er,()=>{let a=g.join();l.forEach(tt),Lt(),We=true,g.join()!==a&&nt();}),Et=k>0;function nt(){rt.hold(pe||Et);}let $t;return Et&&($t=setTimeout(()=>{Et=false,nt();},k)),nt(),bt({destroy(){clearTimeout(E),clearTimeout($t),rt.off(),Ve();},replay(){Ot(),Ue=-1,ct=-1,p=0,pe=false,f=0,clearTimeout(E),nt();},pause(){pe=true,rt.hold(true);},resume(){pe&&(pe=false,We=true,nt());},seek(a){let m=Math.min(1,Math.max(0,a));f=m,Qe=m,qe=[],pe=true,rt.hold(true),yr(m,S),We=true;},getProgress(){return f},refresh:rt.remeasure},()=>({tStart:H,tEnd:W}))}var Xt=new WeakMap,Fr=0;function at(e){return JSON.stringify(e,(n,r)=>{if(typeof r=="function")return "\u0192";if(typeof Element<"u"&&r instanceof Element){let t=Xt.get(r);return t===void 0&&Xt.set(r,t=++Fr),`el#${t}`}return r})}function Kt(e,n){let r={...e};for(let t of Object.keys(r))typeof r[t]=="function"&&(r[t]=(...o)=>n()[t]?.(...o));return r}function _r(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Jt(e){let n=[],r=/([\w]+)\(([^)]*)\)/g,t;for(;(t=r.exec(e))!==null;){let o=[],s=[],i=t[2].trim();if(i)for(let u of i.split(/[\s,]+/)){let c=u.match(/^([-+]?[\d.eE]+)(.*)$/);o.push(c?parseFloat(c[1]):0),s.push(c?c[2]:"");}n.push({fn:t[1],nums:o,units:s});}return n}function Vr(e,n,r){let t=Jt(e),o=Jt(n);return t.length===0||t.length!==o.length?r<1?e:n:t.map((s,i)=>{let u=o[i];return s.fn!==u.fn||s.nums.length!==u.nums.length?r<1?`${s.fn}(${s.nums.map((c,d)=>`${c}${s.units[d]}`).join(", ")})`:`${u.fn}(${u.nums.map((c,d)=>`${c}${u.units[d]}`).join(", ")})`:`${s.fn}(${s.nums.map((c,d)=>`${c+(u.nums[d]-c)*r}${s.units[d]}`).join(", ")})`}).join(" ")}function Zt(e,n,r){if(typeof e=="number"&&typeof n=="number")return String(e+(n-e)*r);let t=String(e),o=String(n);if(_r(t))return mt(t,o,r);if(t.includes("("))return Vr(t,o,r);let s=t.match(/^([-+]?[\d.]+)(.*)$/),i=o.match(/^([-+]?[\d.]+)(.*)$/);if(s&&i){let u=parseFloat(s[1]),c=parseFloat(i[1]);return `${u+(c-u)*r}${s[2]||i[2]}`}return r<1?t:o}function zr(e){return e.replace(/([A-Z])/g,n=>`-${n.toLowerCase()}`)}var Wr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Gr=0,er="--scroll-draw-progress";function jr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var rr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function nr(e,n){return typeof window>"u"?rr:n.respectReducedMotion===false?tr(e,n,false):Be(n,(r,t)=>tr(e,r,t))}function tr(e,n,r){let{props:t,trigger:o={},easing:s="ease-out",speed:i=1,once:u=false,axis:c="y",scrollContainer:d,native:y=true,velocityScale:v=false,triggerElement:S,onProgress:z,onComplete:G,onEnter:b,onLeave:$,onEnterBack:J,onLeaveBack:k}=n,A=typeof s=="function"?s:K[s]??K["ease-out"],T=te(o.start||"top bottom"),O=te(o.end||"bottom top"),h=S??e,R=typeof d=="string"?document.querySelector(d):d??null,D=Object.entries(t).map(([l,g])=>({prop:zr(l),from:Array.isArray(g)?g[0]:"",to:Array.isArray(g)?g[1]:g}));function re(){let l=window.getComputedStyle(e);for(let g of D)g.from===""&&(g.from=l.getPropertyValue(g.prop).trim()||"0");}function q(){for(let l of D)e.style.setProperty(l.prop,String(l.to));}let N=new Map;for(let l of [...D.map(g=>g.prop),er])N.set(l,e.style.getPropertyValue(l));function F(){for(let[l,g]of N)g?e.style.setProperty(l,g):e.style.removeProperty(l);}if(r)return q(),G?.(),{...rr,destroy:F,getProgress:()=>1};re();let M=()=>R?c==="x"?R.scrollLeft:R.scrollTop:c==="x"?window.scrollX:window.scrollY,Z=()=>R?c==="x"?R.clientWidth:R.clientHeight:c==="x"?window.innerWidth:window.innerHeight,x=typeof s=="string"?pt(s):null;function C(){if(!y||!jr()||!x||c!=="y"||R||h!==e||u||i!==1||z||G||b||$||J||k||v!==false||(o.start||"top bottom").trim()!=="top bottom"||(o.end||"bottom top").trim()!=="bottom top")return false;for(let l of D)if(!Wr.has(l.prop))return false;return true}function be(){let l=`ssd-a-${++Gr}`,g=D.map(Q=>`${Q.prop}:${Q.from}`).join(";"),ie=D.map(Q=>`${Q.prop}:${Q.to}`).join(";"),H=document.createElement("style");H.setAttribute("data-ssd-animate",""),H.textContent=`@keyframes ${l}{from{${g}}to{${ie}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${x};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(H),e.classList.add(l);let W=()=>{let Q=e.getBoundingClientRect();return ye({top:Q.top,height:Q.height},M(),Z(),T,O)};Oe(e,{type:"animate",getProgress:()=>U.getProgress(),getTrigger:W});let U={refresh(){},destroy(){e.classList.remove(l),H.remove(),e.style.animationPlayState="",F(),$e(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(Q){let Fe=Math.min(1,Math.max(0,Q));e.classList.remove(l);for(let ae of D)e.style.setProperty(ae.prop,Zt(ae.from,ae.to,Fe));},getProgress(){let{tStart:Q,tEnd:Fe}=W();return A(j(M(),Q,Fe,i))}};return U}if(C())return be();let _=0,Y=0,fe=false,xe=-1,me=0,le=0,P=false,L=NaN,se=-1,Ne=0,ee=h===e?D:[],He=false;function Te(){let l=e.style,g=ee.map(U=>l.getPropertyValue(U.prop)),ie=l.transition;ee.length&&(l.transition="none"),ee.forEach(U=>l.setProperty(U.prop,N.get(U.prop)??""));let H=Ke(h,R,c);ee.forEach((U,Q)=>l.setProperty(U.prop,g[Q])),ee.length&&(e.offsetWidth,l.transition=ie);let W=ye(H,H.scroll,Z(),T,O);He&&Math.abs(W.tStart-_)<1&&Math.abs(W.tEnd-Y)<1||(He=true,_=W.tStart,Y=W.tEnd);}function we(l){e.style.setProperty(er,String(l));for(let g of D)e.style.setProperty(g.prop,Zt(g.from,g.to,l));z?.(l);}function _e(l){if(isNaN(L)){L=l;return}L<=0&&l>0&&b?.(),L<1&&l>=1&&$?.(),L>=1&&l<1&&J?.(),L>0&&l<=0&&k?.(),L=l;}function Ie(){if(fe)return;let l=performance.now(),g=M(),ie=i;if(v!==false){let Q=l-Ne,Fe=Q>0?Math.abs(g-(se<0?g:se))/Q:0;ie=i*Math.max(.2,1+Fe*(typeof v=="number"?v:1)*.04);}se=g,Ne=l;let H=Y===_?0:(g-_)/(Y-_);_e(H);let W=j(g,_,Y,ie),U=u?Math.max(xe,A(me=Math.max(me,W))):A(W);le=U,we(U),U>=1&&!P?(P=true,G?.()):U<1&&!u&&(P=false);}let Me=Ae(R??window,[h],()=>j(M(),_,Y,Math.min(i,1)),Ie,Te);Te(),Y===_&&B("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),me=j(M(),_,Y,i),le=A(me),we(le),Oe(e,{type:"animate",getProgress:()=>le,getTrigger:()=>({tStart:_,tEnd:Y})});function Ce(){fe=true,Me.hold(true);}return {destroy(){fe=true,Me.off(),F(),$e(e);},replay(){xe=-1,me=0,P=false,le=0,fe=false,we(0),Me.hold(false);},pause:Ce,resume(){fe&&(fe=false,Me.hold(false));},seek(l){let g=Math.min(1,Math.max(0,l));le=g,xe=g,me=0,Ce(),we(g);},getProgress(){return le},refresh:Me.remeasure}}var St={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function or(e,n){if(typeof window>"u")return St;let r=typeof e=="string"?document.querySelector(e):e;return r?Be(n,(t,o)=>Br(r,t,o)):(B("scrollCounter: element not found:",e),St)}function Br(e,n,r){let{from:t=0,to:o,format:s,easing:i="ease-out",trigger:u={},once:c=true,decimals:d,onComplete:y}=n,v=d!==void 0?x=>x.toFixed(d):s??(x=>String(Math.round(x))),S=typeof i=="function"?i:K[i]??K["ease-out"],z=te(u.start||"top 80%"),G=te(u.end||"top 20%");if(r)return e.textContent=v(o),y?.(),{...St,getProgress:()=>1};let b=0,$=0,J=false,k=-1,A=0,T=0,O=false,h=()=>window.scrollY,R=()=>window.innerHeight;function D(){let x=e.getBoundingClientRect(),C=ye({top:x.top,height:x.height},h(),R(),z,G);J&&Math.abs(C.tStart-b)<1&&Math.abs(C.tEnd-$)<1||(J=true,b=C.tStart,$=C.tEnd);}let re=e.style.getPropertyValue("--scroll-draw-progress");function q(x){e.textContent=v(t+(o-t)*x),e.style.setProperty("--scroll-draw-progress",String(x));}let N=()=>j(h(),b,$,1);function F(){let x=N(),C=c?Math.max(k,S(A=Math.max(A,x))):S(x);T=C,q(C),C>=1&&!O?(O=true,y?.()):C<1&&!c&&(O=false);}D();{A=j(h(),b,$,1);let x=S(A);T=x,q(x);}let M=Ae(window,[e],N,F,D);Oe(e,{type:"counter",getProgress:()=>T,getTrigger:()=>({tStart:b,tEnd:$})});let Z=()=>M.hold(false);return {destroy(){M.off(),e.style.setProperty("--scroll-draw-progress",re),$e(e);},replay(){k=-1,A=0,O=false,T=0,q(0),Z();},pause:()=>M.hold(true),resume:Z,seek(x){let C=Math.min(1,Math.max(0,x));T=C,k=C,A=0,M.hold(true),q(C);},getProgress(){return T}}}var sr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function ir(e,n={}){if(typeof window>"u")return sr;let r=typeof e=="string"?document.querySelector(e):e;if(!r||r.tagName.toLowerCase()!=="video")return B("scrollVideo: <video> element not found:",e),sr;let t=r,{trigger:o={},easing:s="linear",once:i=false,axis:u="y",preload:c="auto",triggerElement:d,onReady:y,onComplete:v,onProgress:S}=n,z=d??t,G=window.matchMedia("(prefers-reduced-motion: reduce)").matches,b=typeof s=="function"?s:K[s]??K.linear,$=te(o.start||"top top"),J=te(o.end||"bottom top");t.pause(),t.hasAttribute("preload")||(t.preload=c);let k=n.from??0,A=n.to,T=0,O=0,h=false,R=-1,D=0,re=0,q=false,N=false,F=()=>u==="x"?window.scrollX:window.scrollY,M=()=>u==="x"?window.innerWidth:window.innerHeight;function Z(){let P=z.getBoundingClientRect(),L=u==="x"?P.left:P.top,se=u==="x"?P.width:P.height,Ne=ye({top:L,height:se},F(),M(),$,J);T=Ne.tStart,O=Ne.tEnd,N&&O===T&&B("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",t);}let x=NaN;function C(P){if(!N)return;let L=A??t.duration??0,se=k+(L-k)*P;se!==x&&(x=se,t.currentTime=se),t.style.setProperty("--scroll-draw-progress",String(P)),S?.(P);}let be=()=>j(F(),T,O,1);function _(){if(!N||G)return;let P=be(),L=i?Math.max(R,b(D=Math.max(D,P))):b(P);re=L,C(L),L>=1&&!q?(q=true,v?.()):L<1&&!i&&(q=false);}let Y=Ae(window,[z],be,_,Z),fe=()=>Y.hold(h||!N||G);fe();function xe(){if(N=true,A===void 0&&(A=t.duration),G){C(1),y?.();return}Z(),y?.(),h?C(re):fe();}t.readyState>=1?xe():t.addEventListener("loadedmetadata",xe,{once:true}),N||Z();let me=G?()=>{}:je(P=>{P&&(me(),G=true,Y.hold(true),C(1));});Oe(t,{type:"video",getProgress:()=>re,getTrigger:()=>({tStart:T,tEnd:O})});function le(){h&&(h=false,fe());}return {destroy(){Y.off(),t.removeEventListener("loadedmetadata",xe),me(),$e(t);},replay(){R=-1,D=0,q=false,re=0,x=NaN,C(0),le();},pause(){h=true,Y.hold(true);},resume:le,seek(P){let L=Math.min(1,Math.max(0,P));re=L,R=L,D=0,h=true,Y.hold(true),x=NaN,C(L);},getProgress(){return re}}}var ht={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function qr(e){let n=e>1?[0,e-1]:[0],r=[[0,e-1]];for(let t=0;t<r.length;t++){let[o,s]=r[t];if(s-o<2)continue;let i=o+s>>1;n.push(i),r.push([o,i],[i,s]);}return n}function ar(e,n){if(typeof window>"u")return ht;let r=typeof e=="string"?document.querySelector(e):e;if(!r||r.tagName.toLowerCase()!=="canvas")return B("scrollFrames: <canvas> element not found:",e),ht;let t=r,{frames:o,trigger:s={},easing:i="linear",once:u=false,axis:c="y",fit:d="cover",triggerElement:y,onReady:v,onLoad:S,onComplete:z,onProgress:G}=n||{},b=Array.isArray(o)?o:null,$=n?.count,J=Math.floor(b?Math.min($??b.length,b.length):$??NaN);if(!(b||typeof o=="function")||!Number.isFinite(J)||J<1)return B("scrollFrames: no frames. Pass `frames` as an array of URLs, or a function with a finite `count` of 1 or more.",t),ht;let k=n.concurrency??6;(!Number.isFinite(k)||k<1)&&(B("scrollFrames: `concurrency` must be a finite number of 1 or more; using 6.",n.concurrency),k=6),k=Math.floor(k);let A=t.getContext("2d");if(!A)return B("scrollFrames: the canvas has no 2D context.",t),ht;let T=J-1,O=y??t,h=window.matchMedia("(prefers-reduced-motion: reduce)").matches,R=typeof i=="function"?i:K[i]??K.linear,D=f=>{let p=R(f);return p===p?p:0},re=te(s.start||"top top"),q=te(s.end||"bottom top"),N=0,F=0,M=false,Z=-1,x=0,C=0,be=false,_=false,Y=false,fe=false,xe=0,me=-1,le=new Array(J),P=new Uint8Array(J),L=new Set,se=h?[T]:qr(J),Ne=0,ee=0,He=false,Te=(f,...p)=>{if(f)try{f(...p);}catch(E){typeof reportError=="function"?reportError(E):setTimeout(()=>{throw E});}},we=false,_e=f=>{let p;try{p=b?b[f]:o(f);}catch(E){p=E;}return typeof p=="string"&&p?p:(we||(we=true,B(`scrollFrames: no URL for frame ${f}; it is skipped for its nearest neighbour.`,p)),null)},Ie=()=>c==="x"?window.scrollX:window.scrollY,Me=()=>c==="x"?window.innerWidth:window.innerHeight;function Ce(){!He&&ee===se.length&&(He=true,Te(S));}function l(){for(;!_&&L.size<k&&Ne<se.length;){let f=se[Ne++];P[f]||g(f);}}function g(f){P[f]=1;let p=_e(f);if(p===null){ee++,queueMicrotask(()=>{_||Ce();});return}let E=new Image,ce=false,Ee=Ve=>{ce||_||(ce=true,E.onload=E.onerror=null,L.delete(E),Ve?le[f]=E:B("scrollFrames: a frame failed to load; its nearest neighbour shows instead:",p),ee++,l(),W(),Ce());};L.add(E),E.decoding="async",E.onerror=()=>Ee(false),E.src=p,typeof E.decode=="function"?E.decode().then(()=>Ee(true),()=>{E.complete?Ee(E.naturalWidth>0):E.onload=()=>Ee(true);}):E.onload=()=>Ee(true);}function ie(f){for(let p=0;p<=T;p++){if(le[f-p])return f-p;if(le[f+p])return f+p}return -1}function H(){let f=t.clientWidth,p=t.clientHeight;if(!f||!p)return;let E=Math.min(window.devicePixelRatio||1,2),ce=Math.round(f*E),Ee=Math.round(p*E);if(Math.abs(t.width-ce)<=1&&Math.abs(t.height-Ee)<=1)return;t.width=ce,t.height=Ee,me=-1;let Ve=t.clientWidth,ke=t.clientHeight;if(Ve!==f||ke!==p){let ze=t.style;Ve!==f&&ke!==p?(ze.width=`${f}px`,ze.height=`${p}px`):ze.aspectRatio=`${f} / ${p}`;}}function W(){let f=ie(xe);if(f<0||f===me)return;let p=le[f],E=t.width,ce=t.height,Ee=p.naturalWidth||E,Ve=p.naturalHeight||ce,ke=(d==="contain"?Math.min:Math.max)(E/Ee,ce/Ve),ze=Ee*ke,We=Ve*ke;A.clearRect(0,0,E,ce),A.drawImage(p,(E-ze)/2,(ce-We)/2,ze,We),me=f,Y||(Y=true,Te(v));}function U(f){xe=Math.min(T,Math.max(0,Math.round(f*T))),t.style.setProperty("--scroll-draw-progress",String(f)),W(),Te(G,f,xe);}function Q(){let f=O.getBoundingClientRect(),p=c==="x"?f.left:f.top,E=c==="x"?f.width:f.height,ce=ye({top:p,height:E},Ie(),Me(),re,q);N=ce.tStart,F=ce.tEnd,F===N&&E>0&&!h&&!fe&&(fe=true,B("scrollFrames: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",t));}let Fe=()=>j(Ie(),N,F,1);function ae(){if(h)return;let f=Fe(),p=u?Math.max(Z,D(x=Math.max(x,f))):D(f);C=p,U(p),p>=1&&!be?(be=true,Te(z)):p<1&&!u&&(be=false);}function De(){C=1,U(1);}H(),h||Q();let ve=Ae(window,[O],Fe,ae,()=>{H(),h||Q(),W();}),Qe=()=>ve.hold(M||h);Qe(),h&&De(),l();let qe=typeof ResizeObserver=="function"?new ResizeObserver(()=>{H(),W();}):null;qe?.observe(t);let Ue=h?()=>{}:je(f=>{f&&(Ue(),h=true,ve.hold(true),se=se.slice(0,Ne),P[T]||se.push(T),Ce(),De(),l());});Oe(t,{type:"frames",getProgress:()=>C,getTrigger:()=>({tStart:N,tEnd:F})});function pe(){_||!M||(M=false,Qe());}return {destroy(){if(!_){_=true,ve.off(),qe?.disconnect(),Ue();for(let f of L)f.onload=f.onerror=null,f.src="";L.clear(),$e(t);}},replay(){_||(Z=-1,x=0,be=false,C=0,U(0),pe());},pause(){_||(M=true,ve.hold(true));},resume:pe,seek(f){if(_)return;let p=Math.min(1,Math.max(0,f===f?f:0));C=p,Z=p,x=0,M=true,ve.hold(true),U(p);},getProgress(){return C}}}var Ur=1e4;function lr(e){let{frames:n,count:r}=e;if(typeof n!="function")return at(e);let t=Number.isFinite(r)?Math.min(Math.max(Math.floor(r),0),Ur):0,o;try{o=Array.from({length:t},(s,i)=>n(i));}catch{o=["throws"];}return at({...e,frames:o})}function cr(e){if(!e||e.getAttribute("aria-hidden")==="true")return;let n=e.getAttribute("role");n==="presentation"||n==="none"||e.getAttribute("aria-label")||e.getAttribute("aria-labelledby")||B('<ScrollFrames>: the canvas has no aria-label. Say what the frames show, or set aria-hidden="true" if they are decoration.',e);}function ur(e,n){let r=document.createElement("span");r.textContent=n,r.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(r);}function yt(e=""){let n=document.createElement("span");return n.setAttribute("aria-hidden","true"),n.textContent=e,n}function mr(e){let n=e.textContent??"";return e.textContent="",n.split(/(\s+)/).filter(Boolean).map(r=>{let t=e.appendChild(yt(r)),o=/^\s+$/.test(r);return o?t.style.whiteSpace="pre":t.style.display="inline-block",o?null:t}).filter(r=>r!==null)}function Yr(e){let n=e.textContent??"";e.textContent="";let r=[],t=null;for(let o of n){let s=yt(o),i=o===" ";i?s.style.whiteSpace="pre":(s.style.display="inline-block",r.push(s)),i||o>"\u0DFF"?t=null:t||(t=e.appendChild(yt()),t.style.cssText="display:inline-block;white-space:nowrap"),(t??e).appendChild(s);}return r}function fr(e){let n=mr(e),r=new Map;for(let s of n){let i=s.offsetTop;r.has(i)||r.set(i,[]),r.get(i).push(s);}let t=[],o=Array.from(r.keys()).sort((s,i)=>s-i);for(let s of o){let i=r.get(s),u=yt();u.style.display="inline-block",i.forEach((c,d)=>{let y=c.nextElementSibling;u.appendChild(c),d<i.length-1&&y&&y.style.whiteSpace==="pre"&&u.appendChild(y);}),t.push(u);}return e.textContent="",t.forEach((s,i)=>{e.appendChild(s),i<t.length-1&&e.appendChild(document.createTextNode(" "));}),t}function Qr(e,n,r,t){if(r<=1||t===0)return e;t=Math.min(t,1/r);let o=(r-1)*t,s=n*t,i=s+(1-o);return i<=s?e>=s?1:0:ot((e-s)/(i-s),0,1)}function Xr(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 xt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function pr(e,n={}){if(typeof window>"u")return xt;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return B("scrollText: element not found:",e),xt;let t=r;return Be(n,(o,s)=>Kr(t,o,s))}function Kr(e,n,r){let{split:t="words",stagger:o=.04,easing:s="ease-out",from:i={opacity:0,y:24},trigger:u={},once:c=true,onComplete:d}=n,y=typeof s=="function"?s:K[s]??K["ease-out"],v=te(u.start||"top 85%"),S=te(u.end||"top 40%"),z=e.innerHTML,G=e.textContent??"",b;t==="chars"?b=Yr(e):t==="lines"?b=fr(e):b=mr(e),ur(e,G);let $=b.length;function J(M,Z){i?.opacity!==void 0&&(M.style.opacity=String(i.opacity+(1-i.opacity)*Z));let x=Xr(Z,i);x&&(M.style.transform=x);}function k(M){e.style.setProperty("--scroll-draw-progress",String(M)),b.forEach((Z,x)=>{let C=y(Qr(M,x,$,o));J(Z,C);});}if(r)return k(1),d?.(),{...xt,destroy:()=>{e.innerHTML=z;},getProgress:()=>1};k(0);let A=0,T=0,O=-1,h=0,R=false;function D(){({tStart:A,tEnd:T}=ye(e.getBoundingClientRect(),window.scrollY,window.innerHeight,v,S));}let re=()=>j(window.scrollY,A,T,1);function q(){let M=c?O=Math.max(O,re()):re();h=M,k(M),M>=1&&!R?(R=true,d?.()):M<1&&!c&&(R=false);}D();let N=Ae(window,[e],re,q,()=>{t==="lines"&&(e.innerHTML=z,b=fr(e),ur(e,G),k(h)),D();});Oe(e,{type:"text",getProgress:()=>h,getTrigger:()=>({tStart:A,tEnd:T})});let F=()=>N.hold(false);return {destroy(){N.off(),e.innerHTML=z,$e(e);},replay(){O=-1,R=false,h=0,k(0),F();},pause:()=>N.hold(true),resume:F,seek(M){N.hold(true),k(h=O=ot(M,0,1));},getProgress(){return h}}}function en(e,n={}){let[r,t]=tn.useState(0),o=tn.useRef(n);o.current=n;let s=tn.useRef(0);return tn.useEffect(()=>{if(typeof window>"u")return;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches){t(1);return}let i=typeof e=="string"?document.querySelector(e):e.current;if(!i)return;let u=i,{axis:c="y",scrollContainer:d,trigger:y={}}=o.current,v=typeof d=="string"?document.querySelector(d):d??null,S=te(y.start||"top bottom"),z=te(y.end||"bottom top"),G=0,b=0;function $(){return v?c==="x"?v.scrollLeft:v.scrollTop:c==="x"?window.scrollX:window.scrollY}function J(){return v?c==="x"?v.clientWidth:v.clientHeight:c==="x"?window.innerWidth:window.innerHeight}function k(){let h=Ke(u,v,c);({tStart:G,tEnd:b}=ye(h,h.scroll,J(),S,z));}function A(){let{speed:h=1,easing:R="linear",once:D=false}=o.current,re=typeof R=="function"?R:K[R]??K.linear,q=j($(),G,b,h),N=re(D?s.current=Math.max(s.current,q):q);t(N);}k();let T=Ae(v??window,[u],()=>j($(),G,b,Math.min(o.current.speed??1,1)),A,k),O=je(h=>{h&&(O(),T.off(),t(1));});return ()=>{O(),T.off();}},[]),r}function Ze(e,n,r,t=at(n)){let o=tn.useRef(n);o.current=n,tn.useEffect(()=>{if(!e.current)return;let s=r(e.current,Kt(o.current,()=>o.current));return ()=>s.destroy()},[t]);}var rn=/^(data-|aria-)|^(id|role|title|tabIndex|lang|dir|hidden)$/;function et(e){let n={},r={};for(let[t,o]of Object.entries(e))(rn.test(t)?r:n)[t]=o;return [n,r]}function Vo({children:e,className:n,style:r,...t}){let o=tn.useRef(null),[s,i]=et(t);return Ze(o,s,Qt),jsxRuntime.jsx("div",{ref:o,className:n,style:r,...i,children:e})}function zo({children:e,className:n,style:r,...t}){let o=tn.useRef(null),[s,i]=et(t);return Ze(o,s,nr),jsxRuntime.jsx("div",{ref:o,className:n,style:r,...i,children:e})}function Wo({className:e,style:n,...r}){let t=tn.useRef(null),[o,s]=et(r);return Ze(t,o,or),jsxRuntime.jsx("span",{ref:t,className:e,style:n,...s})}function Go({src:e,poster:n,className:r,style:t,muted:o=true,playsInline:s=true,...i}){let u=tn.useRef(null),[c,d]=et(i);return Ze(u,c,ir),jsxRuntime.jsx("video",{...d,ref:u,src:e,poster:n,className:r,style:t,muted:o,playsInline:s,preload:c.preload??"auto"})}function jo({className:e,style:n,role:r="img",triggerElement:t,...o}){let s=tn.useRef(null),[i,u]=et(o),c=t&&"current"in t?t:null;return !c&&t&&(i.triggerElement=t),Ze(s,i,(d,y)=>ar(d,{...y,frames:i.frames,...c&&{triggerElement:c.current??void 0}}),lr(i)+(c?"+ref":"")),tn.useEffect(()=>cr(s.current),[]),jsxRuntime.jsx("canvas",{...u,ref:s,role:r,className:e,style:n})}function Bo({children:e,as:n="p",className:r,style:t,...o}){let s=tn.useRef(null),[i,u]=et(o);return Ze(s,i,pr),tn__default.default.createElement(n,{...u,ref:s,className:r,style:t},e)}exports.ScrollAnimate=zo;exports.ScrollCounter=Wo;exports.ScrollDraw=Vo;exports.ScrollFrames=jo;exports.ScrollText=Bo;exports.ScrollVideo=Go;exports.useScrollDrawProgress=en;