svg-scroll-draw 2.20.0 → 2.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';function er({tension:e=2.5,friction:r=2.2}={}){return t=>1-Math.cos(t*Math.PI*e)*Math.pow(1-t,r)}function Lt({bounces:e=3,decay:r=.5}={}){let t=Math.max(1,Math.round(e)),n=Math.max(.01,Math.min(.99,r)),s=Math.sqrt(n),a=0,u=[];for(let f=0;f<t;f++){let A=Math.pow(s,f);u.push(A),a+=A;}let m=[0],c=0;for(let f=0;f<t;f++)c+=u[f]/a,m.push(c);return f=>{if(f<=0)return 0;if(f>=1)return 1;for(let A=0;A<t;A++)if(f<=m[A+1]){let M=(f-m[A])/(m[A+1]-m[A]);if(A===0)return M*(2-M);let v=1-Math.pow(n,A);return v+(1-v)*(2*M-1)*(2*M-1)}return 1}}function kt({amplitude:e=1,period:r=.4}={}){let t=Math.max(1,e),n=Math.max(.1,r),s=t<=1?n/4:n/(2*Math.PI)*Math.asin(1/t);return a=>a<=0?0:a>=1?1:t*Math.pow(2,-10*a)*Math.sin((a-s)*(2*Math.PI)/n)+1}var ne={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:e=>1-Math.cos(e*Math.PI*2.5)*Math.pow(1-e,2.2),bounce:Lt(),elastic:kt()};function Ct(e,r,t){return Math.min(t,Math.max(r,e))}function ke(e="top bottom"){let r=e.trim();if(/^\d+(\.\d+)?%$/.test(r))return {element:"top",viewport:r};let[t="top",n="bottom"]=r.split(/\s+/).filter(Boolean);return {element:t,viewport:n}}function Dt(e,r,t,n){switch(n){case "top":return e+t;case "center":return e+t+r/2;case "bottom":return e+t+r;default:return e+t}}function It(e,r){if(/^\d+(\.\d+)?%$/.test(e))return r*(parseFloat(e)/100);switch(e){case "top":return 0;case "center":return r/2;case "bottom":return r;default:return r}}function pe(e,r,t,n){return t===r?0:Ct((e-r)/(t-r)*n,0,1)}function Fe(e,r,t,n,s){let a=Dt(e.top,e.height,r,n.element)-It(n.viewport,t),u=Dt(e.top,e.height,r,s.element)-It(s.viewport,t);return {tStart:a,tEnd:u}}function nt(e,r,t){let n=e.getBoundingClientRect(),s=t==="x"?n.width:n.height;return r?{top:t==="x"?n.left-r.getBoundingClientRect().left+r.scrollLeft:n.top-r.getBoundingClientRect().top+r.scrollTop,height:s,scroll:0}:{top:t==="x"?n.left:n.top,height:s,scroll:t==="x"?window.scrollX:window.scrollY}}function Be(e){let r=e.tagName.toLowerCase();if(r==="rect"){let t=parseFloat(e.getAttribute("width")??"0"),n=parseFloat(e.getAttribute("height")??"0");return 2*(t+n)}if(r==="circle"){let t=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*t}return e.getTotalLength()}function Ot(e){let r=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(r)return [parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16),parseInt(r[3]+r[3],16)];let t=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(t)return [parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)];let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return n?[parseInt(n[1]),parseInt(n[2]),parseInt(n[3])]:null}function Ge(e,r,t){let n=Ot(e),s=Ot(r);return !n||!s?e:`rgb(${Math.round(n[0]+(s[0]-n[0])*t)},${Math.round(n[1]+(s[1]-n[1])*t)},${Math.round(n[2]+(s[2]-n[2])*t)})`}var pt={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 Ue=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function Z(e,...r){Ue&&console.warn(`[svg-scroll-draw] ${e}`,...r);}var tr="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",rr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Rt=33;function nr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function or(e){let r=[];for(let t=0;t<Rt;t++){let n=t/(Rt-1);r.push(String(Math.round(e(n)*1e5)/1e5));}return `linear(${r.join(",")})`}function ot(e){switch(e){case "linear":return "linear";case "ease-in":return tr;case "ease-out":return rr;case "ease-in-out":return nr()?or(ne["ease-in-out"]):null;default:return null}}var Ft=Symbol.for("svg-scroll-draw.registry");function Nt(){let e=globalThis;return e[Ft]||(e[Ft]=new Map)}function Ce(e,r){Nt().set(e,r);}function De(e){Nt().delete(e);}var Xe,st=new Set,it=new WeakMap,Qe=new Map,Ht=e=>{let r=e.getBoundingClientRect();return r.width+" "+r.height};function sr(e){let r=new Set;for(let t of e)for(;t&&t!==document.body;t=t.parentElement)for(let n=t;n;n=n.previousElementSibling)r.add(n);return r}function je(e,r){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let t=()=>r();Xe??(Xe=new ResizeObserver(s=>{let a=false;for(let{target:u}of s)it.get(u)!==Ht(u)&&(a=true),it.set(u,"");a&&st.forEach(u=>u());})),st.add(t);let n=sr(e);return [document.body,document.documentElement].forEach(s=>s&&n.add(s)),n.forEach(s=>{it.has(s)||it.set(s,Ht(s)),Qe.set(s,(Qe.get(s)??0)+1),Xe.observe(s);}),()=>{st.delete(t)&&(n.forEach(s=>{let a=(Qe.get(s)??1)-1;if(a)return void Qe.set(s,a);Qe.delete(s),Xe?.unobserve(s);}),st.size||(Xe?.disconnect(),Xe=void 0));}}var ir=0;function ar(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function _t(e,r){let t="";try{t=getComputedStyle(e).getPropertyValue(r).trim();}catch{}return t||(e.getAttribute(r)??"").trim()}var Vt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function lr(e){if(!Ue)return;let r=_t(e,"stroke");if(!r||r==="none"){Z("Element has no stroke \u2014 path will not be visible.",e);return}let t=(e.getAttribute("fill")??"").trim();t&&!Vt.has(t)&&!Vt.has(_t(e,"fill"))&&Z("Element has a fill \u2014 it may obscure the stroke animation.",e);}function cr(e,r,t){let n=document.createElement("div");n.setAttribute("data-svg-scroll-draw-debug",""),n.style.cssText="position:fixed;pointer-events:none;z-index:9999;font-family:monospace;font-size:11px;top:0;left:0;right:0;bottom:0;";function s(){let a=t==="x"?window.scrollX:window.scrollY,u=e-a,m=r-a,c=t==="x";n.innerHTML=`
1
+ 'use strict';function tr({tension:e=2.5,friction:r=2.2}={}){return t=>1-Math.cos(t*Math.PI*e)*Math.pow(1-t,r)}function kt({bounces:e=3,decay:r=.5}={}){let t=Math.max(1,Math.round(e)),n=Math.max(.01,Math.min(.99,r)),s=Math.sqrt(n),a=0,u=[];for(let f=0;f<t;f++){let A=Math.pow(s,f);u.push(A),a+=A;}let m=[0],c=0;for(let f=0;f<t;f++)c+=u[f]/a,m.push(c);return f=>{if(f<=0)return 0;if(f>=1)return 1;for(let A=0;A<t;A++)if(f<=m[A+1]){let M=(f-m[A])/(m[A+1]-m[A]);if(A===0)return M*(2-M);let v=1-Math.pow(n,A);return v+(1-v)*(2*M-1)*(2*M-1)}return 1}}function Ct({amplitude:e=1,period:r=.4}={}){let t=Math.max(1,e),n=Math.max(.1,r),s=t<=1?n/4:n/(2*Math.PI)*Math.asin(1/t);return a=>a<=0?0:a>=1?1:t*Math.pow(2,-10*a)*Math.sin((a-s)*(2*Math.PI)/n)+1}var ne={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:e=>1-Math.cos(e*Math.PI*2.5)*Math.pow(1-e,2.2),bounce:kt(),elastic:Ct()};function Dt(e,r,t){return Math.min(t,Math.max(r,e))}function ke(e="top bottom"){let r=e.trim();if(/^\d+(\.\d+)?%$/.test(r))return {element:"top",viewport:r};let[t="top",n="bottom"]=r.split(/\s+/).filter(Boolean);return {element:t,viewport:n}}function It(e,r,t,n){switch(n){case "top":return e+t;case "center":return e+t+r/2;case "bottom":return e+t+r;default:return e+t}}function Ot(e,r){if(/^\d+(\.\d+)?%$/.test(e))return r*(parseFloat(e)/100);switch(e){case "top":return 0;case "center":return r/2;case "bottom":return r;default:return r}}function pe(e,r,t,n){return t===r?0:Dt((e-r)/(t-r)*n,0,1)}function Fe(e,r,t,n,s){let a=It(e.top,e.height,r,n.element)-Ot(n.viewport,t),u=It(e.top,e.height,r,s.element)-Ot(s.viewport,t);return {tStart:a,tEnd:u}}function nt(e,r,t){let n=e.getBoundingClientRect(),s=t==="x"?n.width:n.height;return r?{top:t==="x"?n.left-r.getBoundingClientRect().left+r.scrollLeft:n.top-r.getBoundingClientRect().top+r.scrollTop,height:s,scroll:0}:{top:t==="x"?n.left:n.top,height:s,scroll:t==="x"?window.scrollX:window.scrollY}}function Be(e){let r=e.tagName.toLowerCase();if(r==="rect"){let t=parseFloat(e.getAttribute("width")??"0"),n=parseFloat(e.getAttribute("height")??"0");return 2*(t+n)}if(r==="circle"){let t=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*t}return e.getTotalLength()}function Rt(e){let r=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(r)return [parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16),parseInt(r[3]+r[3],16)];let t=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(t)return [parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)];let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return n?[parseInt(n[1]),parseInt(n[2]),parseInt(n[3])]:null}function Ge(e,r,t){let n=Rt(e),s=Rt(r);return !n||!s?e:`rgb(${Math.round(n[0]+(s[0]-n[0])*t)},${Math.round(n[1]+(s[1]-n[1])*t)},${Math.round(n[2]+(s[2]-n[2])*t)})`}var gt={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 Q(e,...r){Xe&&console.warn(`[svg-scroll-draw] ${e}`,...r);}var rr="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",nr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Ft=33;function or(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function sr(e){let r=[];for(let t=0;t<Ft;t++){let n=t/(Ft-1);r.push(String(Math.round(e(n)*1e5)/1e5));}return `linear(${r.join(",")})`}function ot(e){switch(e){case "linear":return "linear";case "ease-in":return rr;case "ease-out":return nr;case "ease-in-out":return or()?sr(ne["ease-in-out"]):null;default:return null}}var Nt=Symbol.for("svg-scroll-draw.registry");function Ht(){let e=globalThis;return e[Nt]||(e[Nt]=new Map)}function Ce(e,r){Ht().set(e,r);}function De(e){Ht().delete(e);}var Qe,st=new Set,it=new WeakMap,Ze=new Map,_t=e=>{let r=e.getBoundingClientRect();return r.width+" "+r.height};function ir(e){let r=new Set;for(let t of e)for(;t&&t!==document.body;t=t.parentElement)for(let n=t;n;n=n.previousElementSibling)r.add(n);return r}function je(e,r){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let t=()=>r();Qe??(Qe=new ResizeObserver(s=>{let a=false;for(let{target:u}of s)it.get(u)!==_t(u)&&(a=true),it.set(u,"");a&&st.forEach(u=>u());})),st.add(t);let n=ir(e);return [document.body,document.documentElement].forEach(s=>s&&n.add(s)),n.forEach(s=>{it.has(s)||it.set(s,_t(s)),Ze.set(s,(Ze.get(s)??0)+1),Qe.observe(s);}),()=>{st.delete(t)&&(n.forEach(s=>{let a=(Ze.get(s)??1)-1;if(a)return void Ze.set(s,a);Ze.delete(s),Qe?.unobserve(s);}),st.size||(Qe?.disconnect(),Qe=void 0));}}var ar=0;function lr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Vt(e,r){let t="";try{t=getComputedStyle(e).getPropertyValue(r).trim();}catch{}return t||(e.getAttribute(r)??"").trim()}var zt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function cr(e){if(!Xe)return;let r=Vt(e,"stroke");if(!r||r==="none"){Q("Element has no stroke \u2014 path will not be visible.",e);return}let t=(e.getAttribute("fill")??"").trim();t&&!zt.has(t)&&!zt.has(Vt(e,"fill"))&&Q("Element has a fill \u2014 it may obscure the stroke animation.",e);}function ur(e,r,t){let n=document.createElement("div");n.setAttribute("data-svg-scroll-draw-debug",""),n.style.cssText="position:fixed;pointer-events:none;z-index:9999;font-family:monospace;font-size:11px;top:0;left:0;right:0;bottom:0;";function s(){let a=t==="x"?window.scrollX:window.scrollY,u=e-a,m=r-a,c=t==="x";n.innerHTML=`
2
2
  <div style="position:absolute;${c?`left:${u}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${u}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;${c?`left:${m}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${m}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(n),window.addEventListener("scroll",s,{passive:true}),s(),{el:n,destroy(){window.removeEventListener("scroll",s),n.remove();}}}var zt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Wt=/[MmLlHhVvCcSsQqTtAaZz]/g;function ur(e,r,t){if(!Ue)return;let n=(e.match(Wt)??[]).join("").toUpperCase(),s=(r.match(Wt)??[]).join("").toUpperCase(),a=(e.match(zt)??[]).length,u=(r.match(zt)??[]).length;if(n!==s){Z(`morphTo: command sequence differs (${n||"\u2205"} \u2192 ${s||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,t);return}a!==u&&Z(`morphTo: coordinate count differs (${a} \u2192 ${u}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,t);}function dt(e,r,t){let n=(r.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),s=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,a=>{let u=parseFloat(a),m=n[s++]??u;return String(+(u+(m-u)*t).toFixed(4))})}function qt(e,r={}){if(typeof window>"u")return {destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};let{preset:t,...n}=r,s=t?{...pt[t],...n}:n,a=window.matchMedia("(prefers-reduced-motion: reduce)").matches,{selector:u="path, polyline, line, polygon, rect, circle",speed:m=1,fade:c=false,easing:f="linear",trigger:A={},stagger:M=0,direction:v="forward",once:oe=false,debug:Te=false,axis:E="y",scrollContainer:$,autoReverse:d=false,delay:S=0,strokeColor:x,strokeWidth:I,fillOpacity:K,waypoints:q,velocityScale:se=false,threshold:le=0,rootMargin:j="0px",repeat:O=0,repeatDelay:Ne=0,morphTo:Y,clip:ye,autoplay:Ae=false,duration:He=1e3,native:_e=true,onProgress:de,onStart:J,onComplete:p,onEnter:R,onLeave:Ve,onEnterBack:Ee,onLeaveBack:Me}=s,ie=ye===true?"left":typeof ye=="string"?ye:false,he=typeof f=="function"?f:ne[f]??ne.linear,Se=ke(A.start??"top bottom"),ze=ke(A.end??"bottom top"),ce=typeof $=="string"?document.querySelector($):$??null,ge=Array.isArray(x)?x[0]:null,ee=Array.isArray(x)?x[1]:typeof x=="string"?x:null,_=Array.isArray(I)?I[0]:null,U=Array.isArray(I)?I[1]:typeof I=="number"?I:null,X=Array.isArray(K)?K[0]:null,V=Array.isArray(K)?K[1]:typeof K=="number"?K:null;function $e(o){let i=o*100;switch(ie){case "right":return `inset(0 0 0 ${100-i}%)`;case "top":return `inset(0 0 ${100-i}% 0)`;case "bottom":return `inset(${100-i}% 0 0 0)`;case "center":return `circle(${o*150}% at 50% 50%)`;default:return `inset(0 ${100-i}% 0 0)`}}let k=ie?[]:Array.from(e.querySelectorAll(u)),P=[],te=[],B=0,ue=0,l=M,h=0,C=false,F=false,T=0,G=false,ae=-1,Pe=[],Q=-1,N=false,me=0,Le=0,Ie,ct=null;function wt(){ct?.destroy(),ct=null;}let Oe=new Set,vt=NaN,Re=true,Ze=-1,Et=performance.now(),We=NaN;function Ke(){return ce?E==="x"?ce.scrollLeft:ce.scrollTop:E==="x"?window.scrollX:window.scrollY}function St(){return ce?E==="x"?ce.clientWidth:ce.clientHeight:E==="x"?window.innerWidth:window.innerHeight}function xt(){let o=nt(e,ce,E);return Fe(o,o.scroll,St(),Se,ze)}function Ut(){let o=ue-B,i=k.length-1,y=ce??document.documentElement,z=E==="x"?"Width":"Height";if(l=M,M>0&&i>0&&o>0){let be=y[`scroll${z}`]-y[`client${z}`]-1-B-o/m;be>=0&&(l=Math.min(M,be/(i*o)));}h=ue+i*l*o;}function Tt(){(({tStart:B,tEnd:ue}=xt())),Ut(),Te&&Ue&&(wt(),ct=cr(B,ue,E));}function ut(o,i=xt){Ce(e,{type:"draw",getProgress:()=>o.getProgress(),getTrigger:i});let y=o.destroy;return o.destroy=()=>{y.call(o),De(e);},o}function Xt(o,i){if(e.style.setProperty("--scroll-draw-progress",String(o)),ie){let y=i==="reverse"?1-o:o;e.style.clipPath=$e(y);return}k.forEach((y,z)=>{y.style.strokeDashoffset=i==="reverse"?`${P[z]*o}`:`${P[z]*(1-o)}`,c&&(y.style.opacity=i==="reverse"?`${1-o}`:`${o}`),ge&&ee?y.style.stroke=Ge(ge,ee,o):ee&&(y.style.stroke=ee),_!==null&&U!==null?y.style.strokeWidth=`${_+(U-_)*o}`:U!==null&&(y.style.strokeWidth=`${U}`),X!==null&&V!==null?y.style.fillOpacity=`${X+(V-X)*o}`:V!==null&&(y.style.fillOpacity=`${V}`),Y&&y.tagName.toLowerCase()==="path"&&te[z]&&y.setAttribute("d",dt(te[z],Y,o));});}function Je(){if(e.style.setProperty("--scroll-draw-progress","0"),ie){e.style.clipPath=$e(0);return}k.forEach((o,i)=>{o.style.strokeDasharray=`${P[i]}`,o.style.strokeDashoffset=v==="reverse"?"0":`${P[i]}`,c?o.style.opacity=v==="reverse"?"1":"0":o.style.opacity="",ge&&(o.style.stroke=ge),_!==null&&(o.style.strokeWidth=`${_}`),X!==null&&(o.style.fillOpacity=`${X}`),Y&&o.tagName.toLowerCase()==="path"&&te[i]&&o.setAttribute("d",te[i]);});}if(k.forEach(o=>{lr(o);let i=Be(o);P.push(i);let y=o.tagName.toLowerCase()==="path";y?te.push(o.getAttribute("d")??""):te.push(""),Y&&(y?ur(te[te.length-1],Y,o):Z(`morphTo only applies to <path> elements \u2014 ignored on <${o.tagName}>.`,o)),a?(o.style.strokeDasharray=`${i}`,o.style.strokeDashoffset=v==="reverse"?`${i}`:"0",c&&(o.style.opacity="1"),ee&&(o.style.stroke=ee),U!==null&&(o.style.strokeWidth=`${U}`),V!==null&&(o.style.fillOpacity=`${V}`),Y&&o.tagName.toLowerCase()==="path"&&o.setAttribute("d",Y)):(o.style.strokeDasharray=`${i}`,o.style.strokeDashoffset=v==="reverse"?"0":`${i}`,c?o.style.opacity=v==="reverse"?"1":"0":o.style.opacity="",ge&&(o.style.stroke=ge),_!==null&&(o.style.strokeWidth=`${_}`),X!==null&&(o.style.fillOpacity=`${X}`));}),ie){if(a)return e.style.clipPath=$e(1),p?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};e.style.clipPath=$e(0);}else if(a)return p?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};let At=typeof f=="string"?ot(f):null;function Qt(){return !(_e===false||!ar()||!k.length||!At||ie||E!=="y"||ce||m!==1||M!==0||oe||d||se!==false||Y||q||O||S>0||de||J||p||R||Ve||Ee||Me||x!=null||I!=null||K!=null||(A.start??"top bottom").trim()!=="top bottom"||(A.end??"bottom top").trim()!=="bottom top")}function Zt(){let o=++ir,i=`svg-scroll-draw-${o}`,y=`svg-scroll-draw-host-${o}`,z=`--svg-scroll-draw-${o}`,be=v==="reverse"?"0":"var(--ssd-len)",xe=v==="reverse"?"var(--ssd-len)":"0",ve=`stroke-dashoffset:${be};`,w=`stroke-dashoffset:${xe};`;c&&(ve+=`opacity:${v==="reverse"?1:0};`,w+=`opacity:${v==="reverse"?0:1};`);let L=document.createElement("style");L.setAttribute("data-svg-scroll-draw",""),L.textContent=`@keyframes ${i}{from{${ve}}to{${w}}}.${y}{view-timeline-name:${z};view-timeline-axis:block;}.${i}{animation-name:${i};animation-duration:auto;animation-timing-function:${At};animation-fill-mode:both;animation-timeline:${z};animation-range:cover 0% cover 100%;}`,document.head.appendChild(L),e.classList.add(y);function re(g,W){g.style.setProperty("--ssd-len",String(P[W])),g.style.strokeDasharray=`${P[W]}`,g.style.strokeDashoffset="",g.style.opacity="",g.style.animationPlayState="",g.classList.add(i);}k.forEach(re);let b=false,D=-1;function H(){if(D>=0)return D;let g=e.getBoundingClientRect(),{tStart:W,tEnd:we}=Fe({top:g.top,height:g.height},Ke(),St(),Se,ze);return he(pe(Ke(),W,we,m))}return {destroy(){e.classList.remove(y),k.forEach(g=>{g.classList.remove(i),g.style.removeProperty("--ssd-len"),g.style.animationPlayState="";}),L.remove();},replay(){b=false,D=-1,k.forEach(re);},pause(){b=true,k.forEach(g=>{g.style.animationPlayState="paused";});},resume(){b&&(b=false,k.forEach(g=>{g.style.animationPlayState="running";}));},seek(g){let W=Math.min(1,Math.max(0,g));D=W,b=true,k.forEach((we,fe)=>{we.classList.remove(i),we.style.strokeDashoffset=v==="reverse"?`${P[fe]*W}`:`${P[fe]*(1-W)}`,c&&(we.style.opacity=v==="reverse"?`${1-W}`:`${W}`);});},getProgress(){return H()},refresh(){k.forEach((g,W)=>{P[W]=Be(g),g.style.setProperty("--ssd-len",String(P[W])),g.style.strokeDasharray=`${P[W]}`;});}}}if(Qt())return ut(Zt());function Kt(){let o=Math.max(1,He),i=0,y=0,z=false;function be(b){let D=true;if(ie){let H=Math.min(1,Math.max(0,b/o)),g=he(H);me=g,e.style.setProperty("--scroll-draw-progress",String(g)),e.style.clipPath=$e(v==="reverse"?1-g:g),de?.(g),H<1&&(D=false);}else k.forEach((H,g)=>{let W=g*M*o,we=Math.min(1,Math.max(0,(b-W)/o)),fe=he(we);H.style.strokeDashoffset=v==="reverse"?`${P[g]*fe}`:`${P[g]*(1-fe)}`,c&&(H.style.opacity=v==="reverse"?`${1-fe}`:`${fe}`),ge&&ee?H.style.stroke=Ge(ge,ee,fe):ee&&(H.style.stroke=ee),_!==null&&U!==null?H.style.strokeWidth=`${_+(U-_)*fe}`:U!==null&&(H.style.strokeWidth=`${U}`),X!==null&&V!==null?H.style.fillOpacity=`${X+(V-X)*fe}`:V!==null&&(H.style.fillOpacity=`${V}`),Y&&H.tagName.toLowerCase()==="path"&&te[g]&&H.setAttribute("d",dt(te[g],Y,fe)),g===0&&(me=fe,de?.(fe),e.style.setProperty("--scroll-draw-progress",String(fe))),we<1&&(D=false);});if(q){let H=Math.min(1,Math.max(0,b/o)),g=he(H);for(let W in q){let we=parseFloat(W);g>=we&&!Oe.has(we)&&(Oe.add(we),q[W]?.());}}return D}function xe(b){if(N)return;let D=b-i;F||(F=true,J?.());let H=be(D);if(H&&!C){C=true,be(o*(1+Math.max(0,k.length-1)*M)),p?.(),Le<(O==="infinite"?1/0:O??0)&&(Le++,Ie=setTimeout(()=>{i=performance.now(),F=false,C=false,Oe.clear(),Je(),T=requestAnimationFrame(xe);},Ne));return}H||(T=requestAnimationFrame(xe));}function ve(){cancelAnimationFrame(T),clearTimeout(Ie),i=performance.now(),y=0,N=false,F=false,C=false,Le=0,z=true,me=0,Oe.clear(),Je(),T=requestAnimationFrame(xe);}let w=new IntersectionObserver(b=>{b.forEach(D=>{D.isIntersecting&&!(oe&&C)?ve():!D.isIntersecting&&!oe&&!C&&(cancelAnimationFrame(T),clearTimeout(Ie),z=false);});},{root:ce??null,threshold:le,rootMargin:j}),L;function re(){clearTimeout(L),L=setTimeout(()=>{k.forEach((b,D)=>{P[D]=Be(b),b.style.strokeDasharray=`${P[D]}`;});},150);}return window.addEventListener("resize",re),window.addEventListener("orientationchange",re),S>0?setTimeout(()=>w.observe(e),S):w.observe(e),{destroy(){cancelAnimationFrame(T),clearTimeout(Ie),w.disconnect(),window.removeEventListener("resize",re),window.removeEventListener("orientationchange",re),clearTimeout(L);},replay(){Le=0,ve();},pause(){N||!z||(N=true,y=performance.now()-i,cancelAnimationFrame(T));},resume(){N&&(N=false,z=true,i=performance.now()-y,T=requestAnimationFrame(xe));},seek(b){let D=Math.min(1,Math.max(0,b));me=D,N=true,y=D*o,i=performance.now()-y,cancelAnimationFrame(T),be(y);},getProgress(){return me},refresh(){clearTimeout(L),k.forEach((b,D)=>{P[D]=Be(b),b.style.strokeDasharray=`${P[D]}`;});}}}if(Ae)return ut(Kt());Tt();function Mt(){if(N||!qe)return;let o=performance.now(),i=Ke();if(!Re&&se===false&&i===vt){mt(i);return}Re=false,vt=i;let y=m;if(se!==false){let w=o-Et,L=w>0?Math.abs(i-(Ze<0?i:Ze))/w:0;y=m*Math.max(.2,1+L*(typeof se=="number"?se:1)*.04);}Ze=i,Et=o;let z=d?Q===-1||i>=Q?"forward":"reverse":v;Q=i;let be=ue-B,xe=true,ve=be===0?0:(i-B)/be;if(isNaN(We)||(We<=0&&ve>0?R?.():We>0&&ve<=0&&Me?.(),We<1&&ve>=1?Ve?.():We>=1&&ve<1&&Ee?.()),We=ve,ie){let w=he(pe(i,B,ue,y));oe&&!d&&(ae=Math.max(ae,w),w=ae),me=w,e.style.setProperty("--scroll-draw-progress",String(w));let L=z==="reverse"?1-w:w;e.style.clipPath=$e(L),de?.(w),!F&&pe(i,B,ue,y)>0&&(F=true,J?.()),w>=1&&!C?(C=true,p?.(),Le<(O==="infinite"?1/0:O??0)&&(Le++,Ie=setTimeout(()=>{ae=-1,F=false,C=false,e.style.clipPath=$e(0);},Ne))):w<1&&!oe&&(C=false),mt(i);return}if(k.forEach((w,L)=>{let re=L*l*be,b=he(pe(i,B+re,ue+re,y));oe&&!d&&(b=Pe[L]=Math.max(Pe[L]??ae,b)),w.style.strokeDashoffset=z==="reverse"?`${P[L]*b}`:`${P[L]*(1-b)}`,c&&(w.style.opacity=z==="reverse"?`${1-b}`:`${b}`),ge&&ee?w.style.stroke=Ge(ge,ee,b):ee&&(w.style.stroke=ee),_!==null&&U!==null?w.style.strokeWidth=`${_+(U-_)*b}`:U!==null&&(w.style.strokeWidth=`${U}`),X!==null&&V!==null?w.style.fillOpacity=`${X+(V-X)*b}`:V!==null&&(w.style.fillOpacity=`${V}`),Y&&w.tagName.toLowerCase()==="path"&&te[L]&&w.setAttribute("d",dt(te[L],Y,b)),L===0&&(me=b,de?.(b),e.style.setProperty("--scroll-draw-progress",String(b))),b<1&&(xe=false);}),q){let w=he(pe(i,B,ue,y));for(let L in q){let re=parseFloat(L);w>=re&&!Oe.has(re)&&(Oe.add(re),q[L]?.());}}!F&&pe(i,B,ue,y)>0&&(F=true,J?.()),xe&&!C?(C=true,p?.(),Le<(O==="infinite"?1/0:O??0)&&(Le++,Ie=setTimeout(()=>{ae=-1,Pe=[],F=false,C=false,Oe.clear(),Je(),Re=true;},Ne))):!xe&&!oe&&(C=false),mt(i);}function $t(o){return o>=ue&&o<h}function mt(o){G||$t(o)?T=requestAnimationFrame(Mt):qe=false;}let qe=false;function et(){qe||(qe=true,T=requestAnimationFrame(function(){Mt();}));}function tt(){qe=false,cancelAnimationFrame(T);}let ft=new IntersectionObserver(o=>{o.forEach(i=>{G=i.isIntersecting,G&&!N?(Re=true,et()):qe&&!N&&$t(Ke())||tt();});},{root:ce??null,threshold:le,rootMargin:j});function Pt(){k.forEach((o,i)=>{P[i]=Be(o),o.style.strokeDasharray=`${P[i]}`;}),Tt(),Re=true;}let rt;function Ye(){clearTimeout(rt),rt=setTimeout(Pt,150);}window.addEventListener("resize",Ye),window.addEventListener("orientationchange",Ye);let Jt=je([e],Ye);return S>0?setTimeout(()=>ft.observe(e),S):ft.observe(e),ut({destroy(){cancelAnimationFrame(T),clearTimeout(Ie),tt(),ft.disconnect(),Jt(),window.removeEventListener("resize",Ye),window.removeEventListener("orientationchange",Ye),clearTimeout(rt),wt();},replay(){ae=-1,Pe=[],Q=-1,Ze=-1,F=false,C=false,Le=0,N=false,me=0,Oe.clear(),clearTimeout(Ie),Je(),Re=true,G&&et();},pause(){N=true,tt();},resume(){N&&(N=false,Re=true,G&&et());},seek(o){let i=Math.min(1,Math.max(0,o));me=i,ae=i,Pe=[],N=true,tt(),Xt(i,v),Re=true;},getProgress(){return me},refresh(){clearTimeout(rt),Pt(),G&&!N&&et();}},()=>({tStart:B,tEnd:ue}))}function mr(e,r){let t={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return t;let n=typeof e=="string"?document.querySelector(e):e;return n?qt(n,r):(Z("Container not found:",e),t)}function fr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Bt(e){let r=[],t=/([\w]+)\(([^)]*)\)/g,n;for(;(n=t.exec(e))!==null;){let s=[],a=[],u=n[2].trim();if(u)for(let m of u.split(/[\s,]+/)){let c=m.match(/^([-+]?[\d.eE]+)(.*)$/);s.push(c?parseFloat(c[1]):0),a.push(c?c[2]:"");}r.push({fn:n[1],nums:s,units:a});}return r}function pr(e,r,t){let n=Bt(e),s=Bt(r);return n.length===0||n.length!==s.length?t<1?e:r:n.map((a,u)=>{let m=s[u];return a.fn!==m.fn||a.nums.length!==m.nums.length?t<1?`${a.fn}(${a.nums.map((c,f)=>`${c}${a.units[f]}`).join(", ")})`:`${m.fn}(${m.nums.map((c,f)=>`${c}${m.units[f]}`).join(", ")})`:`${a.fn}(${a.nums.map((c,f)=>`${c+(m.nums[f]-c)*t}${a.units[f]}`).join(", ")})`}).join(" ")}function Gt(e,r,t){if(typeof e=="number"&&typeof r=="number")return String(e+(r-e)*t);let n=String(e),s=String(r);if(fr(n))return Ge(n,s,t);if(n.includes("("))return pr(n,s,t);let a=n.match(/^([-+]?[\d.]+)(.*)$/),u=s.match(/^([-+]?[\d.]+)(.*)$/);if(a&&u){let m=parseFloat(a[1]),c=parseFloat(u[1]);return `${m+(c-m)*t}${a[2]||u[2]}`}return t<1?n:s}function dr(e){return e.replace(/([A-Z])/g,r=>`-${r.toLowerCase()}`)}var gr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),yr=0,jt="--scroll-draw-progress";function hr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}function gt(e,r){let t={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return t;let{props:n,trigger:s={},easing:a="ease-out",speed:u=1,once:m=false,axis:c="y",scrollContainer:f,native:A=true,velocityScale:M=false,respectReducedMotion:v=true,triggerElement:oe,onProgress:Te,onComplete:E,onEnter:$,onLeave:d,onEnterBack:S,onLeaveBack:x}=r,I=v&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,K=typeof a=="function"?a:ne[a]??ne["ease-out"],q=ke(s.start??"top bottom"),se=ke(s.end??"bottom top"),le=oe??e,j=typeof f=="string"?document.querySelector(f):f??null,O=Object.entries(n).map(([l,h])=>({prop:dr(l),from:Array.isArray(h)?h[0]:"",to:Array.isArray(h)?h[1]:h}));function Ne(){let l=window.getComputedStyle(e);for(let h of O)h.from===""&&(h.from=l.getPropertyValue(h.prop).trim()||"0");}function Y(){for(let l of O)e.style.setProperty(l.prop,String(l.to));}let ye=new Map;for(let l of [...O.map(h=>h.prop),jt])ye.set(l,e.style.getPropertyValue(l));function Ae(){for(let[l,h]of ye)h?e.style.setProperty(l,h):e.style.removeProperty(l);}if(I)return Y(),E?.(),{...t,destroy:Ae,getProgress:()=>1};Ne();let He=typeof a=="string"?ot(a):null;function _e(){if(!A||!hr()||!He||c!=="y"||j||le!==e||m||u!==1||Te||E||$||d||S||x||M!==false||(s.start??"top bottom").trim()!=="top bottom"||(s.end??"bottom top").trim()!=="bottom top")return false;for(let l of O)if(!gr.has(l.prop))return false;return true}function de(){let l=`ssd-a-${++yr}`,h=O.map(Q=>`${Q.prop}:${Q.from}`).join(";"),C=O.map(Q=>`${Q.prop}:${Q.to}`).join(";"),F=document.createElement("style");F.setAttribute("data-ssd-animate",""),F.textContent=`@keyframes ${l}{from{${h}}to{${C}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${He};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(F),e.classList.add(l);let T=()=>c==="x"?window.scrollX:window.scrollY,G=()=>c==="x"?window.innerWidth:window.innerHeight,ae=()=>{let Q=e.getBoundingClientRect();return Fe({top:Q.top,height:Q.height},T(),G(),q,se)};Ce(e,{type:"animate",getProgress:()=>Pe.getProgress(),getTrigger:ae});let Pe={refresh(){},destroy(){e.classList.remove(l),F.remove(),e.style.animationPlayState="",Ae(),De(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(Q){let N=Math.min(1,Math.max(0,Q));e.classList.remove(l);for(let me of O)e.style.setProperty(me.prop,Gt(me.from,me.to,N));},getProgress(){let{tStart:Q,tEnd:N}=ae();return K(pe(T(),Q,N,u))}};return Pe}if(_e())return de();let J=0,p=0,R=0,Ve=false,Ee=false,Me=-1,ie=0,he=false,Se=NaN,ze=-1,ce=0,ge=()=>j?c==="x"?j.scrollLeft:j.scrollTop:c==="x"?window.scrollX:window.scrollY,ee=()=>j?c==="x"?j.clientWidth:j.clientHeight:c==="x"?window.innerWidth:window.innerHeight,_=le===e?O:[],U=false;function X(){let l=e.style,h=_.map(G=>l.getPropertyValue(G.prop)),C=l.transition;_.length&&(l.transition="none"),_.forEach(G=>l.setProperty(G.prop,ye.get(G.prop)??""));let F=nt(le,j,c);_.forEach((G,ae)=>l.setProperty(G.prop,h[ae])),_.length&&(e.offsetWidth,l.transition=C);let T=Fe(F,F.scroll,ee(),q,se);U&&Math.abs(T.tStart-J)<1&&Math.abs(T.tEnd-p)<1||(U=true,J=T.tStart,p=T.tEnd);}function V(l){e.style.setProperty(jt,String(l));for(let h of O)e.style.setProperty(h.prop,Gt(h.from,h.to,l));Te?.(l);}function $e(l){if(isNaN(Se)){Se=l;return}Se<=0&&l>0?$?.():Se>0&&l<=0&&x?.(),Se<1&&l>=1?d?.():Se>=1&&l<1&&S?.(),Se=l;}function k(){if(!Ve||Ee)return;let l=performance.now(),h=ge(),C=u;if(M!==false){let G=l-ce,ae=G>0?Math.abs(h-(ze<0?h:ze))/G:0;C=u*Math.max(.2,1+ae*(typeof M=="number"?M:1)*.04);}ze=h,ce=l;let F=p===J?0:(h-J)/(p-J);$e(F);let T=K(pe(h,J,p,C));m&&(Me=Math.max(Me,T),T=Me),ie=T,V(T),T>=1&&!he?(he=true,E?.()):T<1&&!m&&(he=false),R=requestAnimationFrame(k);}X(),p===J&&Z("scrollAnimate: the trigger window has zero length (start and end resolve to the same scroll position), so this element will never animate. If the target is inside a position:sticky stage, measure the trigger from the container that holds the scroll room via `triggerElement`.",e);{let l=K(pe(ge(),J,p,u));m&&l>0&&(Me=l),ie=l,V(l);}let P=new IntersectionObserver(l=>{l.forEach(h=>{Ve=h.isIntersecting,Ve&&!Ee?R=requestAnimationFrame(k):cancelAnimationFrame(R);});},{root:j??null}),te;function B(){clearTimeout(te),te=setTimeout(X,150);}window.addEventListener("resize",B),window.addEventListener("orientationchange",B);let ue=je([le],B);return P.observe(e),Ce(e,{type:"animate",getProgress:()=>ie,getTrigger:()=>({tStart:J,tEnd:p})}),{destroy(){cancelAnimationFrame(R),P.disconnect(),window.removeEventListener("resize",B),window.removeEventListener("orientationchange",B),ue(),clearTimeout(te),Ae(),De(e);},replay(){Me=-1,he=false,ie=0,Ee=false,V(0);},pause(){Ee=true,cancelAnimationFrame(R);},resume(){Ee&&(Ee=false,Ve&&(R=requestAnimationFrame(k)));},seek(l){let h=Math.min(1,Math.max(0,l));ie=h,Me=h,Ee=true,cancelAnimationFrame(R),V(h);},getProgress(){return ie},refresh(){X();}}}var at={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function br(e,r){if(typeof window>"u")return at;let t=typeof e=="string"?document.querySelector(e):e;return t?gt(t,r):(Z("scrollAnimate: element not found:",e),at)}function wr(e,r={}){if(typeof window>"u")return at;let t=typeof e=="string"?document.querySelector(e):e;if(!t)return Z("scrollParallax: element not found:",e),at;let{speed:n=.3,axis:s="y",easing:a="linear",trigger:u,onProgress:m}=r,c=-n*100,f=t.style,A=!!t.ownerSVGElement,M=f.getPropertyValue("transform-box");A&&f.setProperty("transform-box","fill-box");let v=gt(t,{props:s==="x"?{transform:["translateX(0%)",`translateX(${c}%)`]}:{transform:["translateY(0%)",`translateY(${c}%)`]},trigger:u??{start:"top bottom",end:"bottom top"},easing:a,native:false,onProgress:m});return A?{...v,destroy(){v.destroy(),f.setProperty("transform-box",M);}}:v}var yt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function vr(e,r){if(typeof window>"u")return yt;let t=typeof e=="string"?document.querySelector(e):e;if(!t)return Z("scrollCounter: element not found:",e),yt;let n=t,{from:s=0,to:a,format:u,easing:m="ease-out",trigger:c={},once:f=true,decimals:A,onComplete:M}=r,v=A!==void 0?p=>p.toFixed(A):u??(p=>String(Math.round(p))),oe=typeof m=="function"?m:ne[m]??ne["ease-out"],Te=ke(c.start??"top 80%"),E=ke(c.end??"top 20%");if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return n.textContent=v(a),M?.(),yt;let d=0,S=0,x=false,I=0,K=false,q=false,se=-1,le=0,j=false,O=()=>window.scrollY,Ne=()=>window.innerHeight;function Y(){let p=n.getBoundingClientRect(),R=Fe({top:p.top,height:p.height},O(),Ne(),Te,E);x&&Math.abs(R.tStart-d)<1&&Math.abs(R.tEnd-S)<1||(x=true,d=R.tStart,S=R.tEnd);}function ye(p){n.textContent=v(s+(a-s)*p),n.style.setProperty("--scroll-draw-progress",String(p));}function Ae(){if(!K||q)return;let p=oe(pe(O(),d,S,1));f&&(se=Math.max(se,p),p=se),le=p,ye(p),p>=1&&!j?(j=true,M?.()):p<1&&!f&&(j=false),I=requestAnimationFrame(Ae);}Y();{let p=oe(pe(O(),d,S,1));f&&p>0&&(se=p),le=p,ye(p);}let He=new IntersectionObserver(p=>{p.forEach(R=>{K=R.isIntersecting,K&&!q?I=requestAnimationFrame(Ae):cancelAnimationFrame(I);});}),_e;function de(){clearTimeout(_e),_e=setTimeout(Y,150);}window.addEventListener("resize",de),window.addEventListener("orientationchange",de);let J=je([n],de);return He.observe(n),Ce(n,{type:"counter",getProgress:()=>le,getTrigger:()=>({tStart:d,tEnd:S})}),{destroy(){cancelAnimationFrame(I),He.disconnect(),window.removeEventListener("resize",de),window.removeEventListener("orientationchange",de),J(),clearTimeout(_e),De(n);},replay(){se=-1,j=false,le=0,q=false,ye(0);},pause(){q=true,cancelAnimationFrame(I);},resume(){q&&(q=false,K&&(I=requestAnimationFrame(Ae)));},seek(p){let R=Math.min(1,Math.max(0,p));le=R,se=R,q=true,cancelAnimationFrame(I),ye(R);},getProgress(){return le}}}var Yt="http://www.w3.org/2000/svg",Er="cinematic-photo",ht=e=>e<0?0:e>1?1:e;function lt(e){let r=parseFloat(e);return Number.isFinite(r)?ht(r/100):0}function Sr(e){return ne[e]??ne.linear}var xr={destroy:()=>{},getProgress:()=>0},bt=class{constructor(r){if(typeof document>"u"){this.mount=null;return}this.mount=typeof r.wrapper=="string"?document.querySelector(r.wrapper):r.wrapper,this.mount||Z("Cinematic: wrapper not found:",r.wrapper);}loadStory(r){let t=this.mount;if(typeof window>"u"||!t)return xr;t.style.position="relative",t.style.height=r.totalHeight,t.style.display="block";let n=document.createElement("div");n.setAttribute("data-cinematic-stage",""),n.style.cssText="position:sticky;top:0;height:100vh;width:100%;overflow:hidden;display:block;",t.appendChild(n);let s=[];for(let E of r.scenes){if(E.background){let d=document.createElement("img");d.id=Er,d.src=E.background,d.alt="",d.style.cssText="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;",n.appendChild(d);}let $=E.animations.filter(d=>d.type==="draw");if($.length){let d=document.createElementNS(Yt,"svg");d.setAttribute("viewBox",`0 0 ${r.canvas.width} ${r.canvas.height}`),d.setAttribute("preserveAspectRatio","xMidYMid meet"),d.style.cssText="position:absolute;inset:0;width:100%;height:100%;overflow:visible;",n.appendChild(d);for(let S of $){let x=document.createElementNS(Yt,"path");x.id=S.target.replace(/^#/,""),x.setAttribute("d",S.d),x.setAttribute("fill","none"),x.setAttribute("stroke",S.stroke),x.setAttribute("stroke-width",String(S.strokeWidth)),x.setAttribute("stroke-linecap","round"),x.setAttribute("stroke-linejoin","round");let I=S.length||x.getTotalLength?.()||0;x.style.strokeDasharray=String(I),x.style.strokeDashoffset=String(I),d.appendChild(x),s.push({kind:"draw",el:x,start:lt(S.start),end:lt(S.end),ease:Sr(S.easing),length:I});}}for(let d of E.animations){if(d.type!=="fade")continue;let S=n.querySelector(d.target)??document.querySelector(d.target);S&&(S.style.opacity=String(d.from),s.push({kind:"fade",el:S,start:lt(d.start),end:lt(d.end),ease:ne["ease-in-out"]??ne.linear,from:d.from,to:d.to}));}}let a=0,u=()=>{let E=t.offsetHeight-window.innerHeight;return E<=0?t.getBoundingClientRect().top<=0?1:0:ht(-t.getBoundingClientRect().top/E)},m=E=>{for(let $ of s){let d=$.end-$.start,S=d<=0?E>=$.end?1:0:ht((E-$.start)/d),x=$.ease(S);$.kind==="draw"?$.el.style.strokeDashoffset=String($.length*(1-x)):$.el.style.opacity=String($.from+($.to-$.from)*x);}};if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return m(1),{destroy:()=>{},getProgress:()=>1};let c=0,f=false,A=false,M=()=>{a=u(),m(a),f&&(c=requestAnimationFrame(M));},v=()=>{f||(f=true,c=requestAnimationFrame(M));},oe=()=>{f=false,cancelAnimationFrame(c);},Te=new IntersectionObserver(E=>{for(let $ of E)A=$.isIntersecting,A?v():oe();},{threshold:0});return Te.observe(n),a=u(),m(a),Ce(t,{type:"draw",getProgress:()=>a,getTrigger:()=>{let E=t.getBoundingClientRect().top+window.scrollY;return {tStart:E,tEnd:E+Math.max(0,t.offsetHeight-window.innerHeight)}}}),{destroy(){oe(),Te.disconnect(),De(t);},getProgress:()=>a}}};
4
- exports.Cinematic=bt;exports.PRESETS=pt;exports.createBounce=Lt;exports.createElastic=kt;exports.createSpring=er;exports.scrollAnimate=br;exports.scrollCounter=vr;exports.scrollDraw=mr;exports.scrollParallax=wr;
3
+ <div style="position:absolute;${c?`left:${m}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${m}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(n),window.addEventListener("scroll",s,{passive:true}),s(),{el:n,destroy(){window.removeEventListener("scroll",s),n.remove();}}}var Wt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,qt=/[MmLlHhVvCcSsQqTtAaZz]/g;function mr(e,r,t){if(!Xe)return;let n=(e.match(qt)??[]).join("").toUpperCase(),s=(r.match(qt)??[]).join("").toUpperCase(),a=(e.match(Wt)??[]).length,u=(r.match(Wt)??[]).length;if(n!==s){Q(`morphTo: command sequence differs (${n||"\u2205"} \u2192 ${s||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,t);return}a!==u&&Q(`morphTo: coordinate count differs (${a} \u2192 ${u}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,t);}function yt(e,r,t){let n=(r.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),s=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,a=>{let u=parseFloat(a),m=n[s++]??u;return String(+(u+(m-u)*t).toFixed(4))})}function Bt(e,r={}){if(typeof window>"u")return {destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};let{preset:t,...n}=r,s=t?{...gt[t],...n}:n,a=window.matchMedia("(prefers-reduced-motion: reduce)").matches,{selector:u="path, polyline, line, polygon, rect, circle",speed:m=1,fade:c=false,easing:f="linear",trigger:A={},stagger:M=0,direction:v="forward",once:oe=false,debug:Te=false,axis:E="y",scrollContainer:$,autoReverse:d=false,delay:S=0,strokeColor:x,strokeWidth:I,fillOpacity:Z,waypoints:q,velocityScale:se=false,threshold:le=0,rootMargin:G="0px",repeat:O=0,repeatDelay:Ne=0,morphTo:j,clip:ye,autoplay:Ae=false,duration:He=1e3,native:_e=true,onProgress:de,onStart:K,onComplete:p,onEnter:R,onLeave:Ve,onEnterBack:Ee,onLeaveBack:Me}=s,ie=ye===true?"left":typeof ye=="string"?ye:false,he=typeof f=="function"?f:ne[f]??ne.linear,Se=ke(A.start??"top bottom"),ze=ke(A.end??"bottom top"),ce=typeof $=="string"?document.querySelector($):$??null,ge=Array.isArray(x)?x[0]:null,J=Array.isArray(x)?x[1]:typeof x=="string"?x:null,_=Array.isArray(I)?I[0]:null,Y=Array.isArray(I)?I[1]:typeof I=="number"?I:null,U=Array.isArray(Z)?Z[0]:null,V=Array.isArray(Z)?Z[1]:typeof Z=="number"?Z:null;function $e(o){let i=o*100;switch(ie){case "right":return `inset(0 0 0 ${100-i}%)`;case "top":return `inset(0 0 ${100-i}% 0)`;case "bottom":return `inset(${100-i}% 0 0 0)`;case "center":return `circle(${o*150}% at 50% 50%)`;default:return `inset(0 ${100-i}% 0 0)`}}let k=ie?[]:Array.from(e.querySelectorAll(u)),P=[],ee=[],B=0,ue=0,l=M,h=0,C=false,F=false,T=0,te=false,ae=-1,Pe=[],X=-1,N=false,me=0,Le=0,Ie,ct=null;function Et(){ct?.destroy(),ct=null;}let Oe=new Set,St=NaN,Re=true,Ke=-1,xt=performance.now(),We=NaN;function Ye(){return ce?E==="x"?ce.scrollLeft:ce.scrollTop:E==="x"?window.scrollX:window.scrollY}function Tt(){return ce?E==="x"?ce.clientWidth:ce.clientHeight:E==="x"?window.innerWidth:window.innerHeight}function At(){let o=nt(e,ce,E);return Fe(o,o.scroll,Tt(),Se,ze)}function Xt(){let o=ue-B,i=k.length-1,y=ce??document.documentElement,z=E==="x"?"Width":"Height";if(l=M,M>0&&i>0&&o>0){let be=y[`scroll${z}`]-y[`client${z}`]-1-B-o/m;be>=0&&(l=Math.min(M,be/(i*o)));}h=ue+i*l*o;}function Mt(){(({tStart:B,tEnd:ue}=At())),Xt(),Te&&Xe&&(Et(),ct=ur(B,ue,E));}function ut(o,i=At){Ce(e,{type:"draw",getProgress:()=>o.getProgress(),getTrigger:i});let y=o.destroy;return o.destroy=()=>{y.call(o),De(e);},o}function Qt(o,i){if(e.style.setProperty("--scroll-draw-progress",String(o)),ie){let y=i==="reverse"?1-o:o;e.style.clipPath=$e(y);return}k.forEach((y,z)=>{y.style.strokeDashoffset=i==="reverse"?`${P[z]*o}`:`${P[z]*(1-o)}`,c&&(y.style.opacity=i==="reverse"?`${1-o}`:`${o}`),ge&&J?y.style.stroke=Ge(ge,J,o):J&&(y.style.stroke=J),_!==null&&Y!==null?y.style.strokeWidth=`${_+(Y-_)*o}`:Y!==null&&(y.style.strokeWidth=`${Y}`),U!==null&&V!==null?y.style.fillOpacity=`${U+(V-U)*o}`:V!==null&&(y.style.fillOpacity=`${V}`),j&&y.tagName.toLowerCase()==="path"&&ee[z]&&y.setAttribute("d",yt(ee[z],j,o));});}function Je(){if(e.style.setProperty("--scroll-draw-progress","0"),ie){e.style.clipPath=$e(0);return}k.forEach((o,i)=>{o.style.strokeDasharray=`${P[i]}`,o.style.strokeDashoffset=v==="reverse"?"0":`${P[i]}`,c?o.style.opacity=v==="reverse"?"1":"0":o.style.opacity="",ge&&(o.style.stroke=ge),_!==null&&(o.style.strokeWidth=`${_}`),U!==null&&(o.style.fillOpacity=`${U}`),j&&o.tagName.toLowerCase()==="path"&&ee[i]&&o.setAttribute("d",ee[i]);});}if(k.forEach(o=>{cr(o);let i=Be(o);P.push(i);let y=o.tagName.toLowerCase()==="path";y?ee.push(o.getAttribute("d")??""):ee.push(""),j&&(y?mr(ee[ee.length-1],j,o):Q(`morphTo only applies to <path> elements \u2014 ignored on <${o.tagName}>.`,o)),a?(o.style.strokeDasharray=`${i}`,o.style.strokeDashoffset=v==="reverse"?`${i}`:"0",c&&(o.style.opacity="1"),J&&(o.style.stroke=J),Y!==null&&(o.style.strokeWidth=`${Y}`),V!==null&&(o.style.fillOpacity=`${V}`),j&&o.tagName.toLowerCase()==="path"&&o.setAttribute("d",j)):(o.style.strokeDasharray=`${i}`,o.style.strokeDashoffset=v==="reverse"?"0":`${i}`,c?o.style.opacity=v==="reverse"?"1":"0":o.style.opacity="",ge&&(o.style.stroke=ge),_!==null&&(o.style.strokeWidth=`${_}`),U!==null&&(o.style.fillOpacity=`${U}`));}),ie){if(a)return e.style.clipPath=$e(1),p?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};e.style.clipPath=$e(0);}else if(a)return p?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};let $t=typeof f=="string"?ot(f):null;function Zt(){return !(_e===false||!lr()||!k.length||!$t||ie||E!=="y"||ce||m!==1||M!==0||oe||d||se!==false||j||q||O||S>0||de||K||p||R||Ve||Ee||Me||x!=null||I!=null||Z!=null||(A.start??"top bottom").trim()!=="top bottom"||(A.end??"bottom top").trim()!=="bottom top")}function Kt(){let o=++ar,i=`svg-scroll-draw-${o}`,y=`svg-scroll-draw-host-${o}`,z=`--svg-scroll-draw-${o}`,be=v==="reverse"?"0":"var(--ssd-len)",xe=v==="reverse"?"var(--ssd-len)":"0",ve=`stroke-dashoffset:${be};`,w=`stroke-dashoffset:${xe};`;c&&(ve+=`opacity:${v==="reverse"?1:0};`,w+=`opacity:${v==="reverse"?0:1};`);let L=document.createElement("style");L.setAttribute("data-svg-scroll-draw",""),L.textContent=`@keyframes ${i}{from{${ve}}to{${w}}}.${y}{view-timeline-name:${z};view-timeline-axis:block;}.${i}{animation-name:${i};animation-duration:auto;animation-timing-function:${$t};animation-fill-mode:both;animation-timeline:${z};animation-range:cover 0% cover 100%;}`,document.head.appendChild(L),e.classList.add(y);function re(g,W){g.style.setProperty("--ssd-len",String(P[W])),g.style.strokeDasharray=`${P[W]}`,g.style.strokeDashoffset="",g.style.opacity="",g.style.animationPlayState="",g.classList.add(i);}k.forEach(re);let b=false,D=-1;function H(){if(D>=0)return D;let g=e.getBoundingClientRect(),{tStart:W,tEnd:we}=Fe({top:g.top,height:g.height},Ye(),Tt(),Se,ze);return he(pe(Ye(),W,we,m))}return {destroy(){e.classList.remove(y),k.forEach(g=>{g.classList.remove(i),g.style.removeProperty("--ssd-len"),g.style.animationPlayState="";}),L.remove();},replay(){b=false,D=-1,k.forEach(re);},pause(){b=true,k.forEach(g=>{g.style.animationPlayState="paused";});},resume(){b&&(b=false,k.forEach(g=>{g.style.animationPlayState="running";}));},seek(g){let W=Math.min(1,Math.max(0,g));D=W,b=true,k.forEach((we,fe)=>{we.classList.remove(i),we.style.strokeDashoffset=v==="reverse"?`${P[fe]*W}`:`${P[fe]*(1-W)}`,c&&(we.style.opacity=v==="reverse"?`${1-W}`:`${W}`);});},getProgress(){return H()},refresh(){k.forEach((g,W)=>{P[W]=Be(g),g.style.setProperty("--ssd-len",String(P[W])),g.style.strokeDasharray=`${P[W]}`;});}}}if(Zt())return ut(Kt());function Jt(){let o=Math.max(1,He),i=0,y=0,z=false;function be(b){let D=true;if(ie){let H=Math.min(1,Math.max(0,b/o)),g=he(H);me=g,e.style.setProperty("--scroll-draw-progress",String(g)),e.style.clipPath=$e(v==="reverse"?1-g:g),de?.(g),H<1&&(D=false);}else k.forEach((H,g)=>{let W=g*M*o,we=Math.min(1,Math.max(0,(b-W)/o)),fe=he(we);H.style.strokeDashoffset=v==="reverse"?`${P[g]*fe}`:`${P[g]*(1-fe)}`,c&&(H.style.opacity=v==="reverse"?`${1-fe}`:`${fe}`),ge&&J?H.style.stroke=Ge(ge,J,fe):J&&(H.style.stroke=J),_!==null&&Y!==null?H.style.strokeWidth=`${_+(Y-_)*fe}`:Y!==null&&(H.style.strokeWidth=`${Y}`),U!==null&&V!==null?H.style.fillOpacity=`${U+(V-U)*fe}`:V!==null&&(H.style.fillOpacity=`${V}`),j&&H.tagName.toLowerCase()==="path"&&ee[g]&&H.setAttribute("d",yt(ee[g],j,fe)),g===0&&(me=fe,de?.(fe),e.style.setProperty("--scroll-draw-progress",String(fe))),we<1&&(D=false);});if(q){let H=Math.min(1,Math.max(0,b/o)),g=he(H);for(let W in q){let we=parseFloat(W);g>=we&&!Oe.has(we)&&(Oe.add(we),q[W]?.());}}return D}function xe(b){if(N)return;let D=b-i;F||(F=true,K?.());let H=be(D);if(H&&!C){C=true,be(o*(1+Math.max(0,k.length-1)*M)),p?.(),Le<(O==="infinite"?1/0:O??0)&&(Le++,Ie=setTimeout(()=>{i=performance.now(),F=false,C=false,Oe.clear(),Je(),T=requestAnimationFrame(xe);},Ne));return}H||(T=requestAnimationFrame(xe));}function ve(){cancelAnimationFrame(T),clearTimeout(Ie),i=performance.now(),y=0,N=false,F=false,C=false,Le=0,z=true,me=0,Oe.clear(),Je(),T=requestAnimationFrame(xe);}let w=new IntersectionObserver(b=>{b.forEach(D=>{D.isIntersecting&&!(oe&&C)?ve():!D.isIntersecting&&!oe&&!C&&(cancelAnimationFrame(T),clearTimeout(Ie),z=false);});},{root:ce??null,threshold:le,rootMargin:G}),L;function re(){clearTimeout(L),L=setTimeout(()=>{k.forEach((b,D)=>{P[D]=Be(b),b.style.strokeDasharray=`${P[D]}`;});},150);}return window.addEventListener("resize",re),window.addEventListener("orientationchange",re),S>0?setTimeout(()=>w.observe(e),S):w.observe(e),{destroy(){cancelAnimationFrame(T),clearTimeout(Ie),w.disconnect(),window.removeEventListener("resize",re),window.removeEventListener("orientationchange",re),clearTimeout(L);},replay(){Le=0,ve();},pause(){N||!z||(N=true,y=performance.now()-i,cancelAnimationFrame(T));},resume(){N&&(N=false,z=true,i=performance.now()-y,T=requestAnimationFrame(xe));},seek(b){let D=Math.min(1,Math.max(0,b));me=D,N=true,y=D*o,i=performance.now()-y,cancelAnimationFrame(T),be(y);},getProgress(){return me},refresh(){clearTimeout(L),k.forEach((b,D)=>{P[D]=Be(b),b.style.strokeDasharray=`${P[D]}`;});}}}if(Ae)return ut(Jt());Mt();function Pt(){if(N||!qe)return;let o=performance.now(),i=Ye();if(!Re&&se===false&&i===St){ft(i);return}Re=false,St=i;let y=m;if(se!==false){let w=o-xt,L=w>0?Math.abs(i-(Ke<0?i:Ke))/w:0;y=m*Math.max(.2,1+L*(typeof se=="number"?se:1)*.04);}Ke=i,xt=o;let z=d?X===-1||i>=X?"forward":"reverse":v;X=i;let be=ue-B,xe=true,ve=be===0?0:(i-B)/be;if(isNaN(We)||(We<=0&&ve>0?R?.():We>0&&ve<=0&&Me?.(),We<1&&ve>=1?Ve?.():We>=1&&ve<1&&Ee?.()),We=ve,ie){let w=he(pe(i,B,ue,y));oe&&!d&&(ae=Math.max(ae,w),w=ae),me=w,e.style.setProperty("--scroll-draw-progress",String(w));let L=z==="reverse"?1-w:w;e.style.clipPath=$e(L),de?.(w),!F&&pe(i,B,ue,y)>0&&(F=true,K?.()),w>=1&&!C?(C=true,p?.(),Le<(O==="infinite"?1/0:O??0)&&(Le++,Ie=setTimeout(()=>{ae=-1,F=false,C=false,e.style.clipPath=$e(0);},Ne))):w<1&&!oe&&(C=false),ft(i);return}if(k.forEach((w,L)=>{let re=L*l*be,b=he(pe(i,B+re,ue+re,y));oe&&!d&&(b=Pe[L]=Math.max(Pe[L]??ae,b)),w.style.strokeDashoffset=z==="reverse"?`${P[L]*b}`:`${P[L]*(1-b)}`,c&&(w.style.opacity=z==="reverse"?`${1-b}`:`${b}`),ge&&J?w.style.stroke=Ge(ge,J,b):J&&(w.style.stroke=J),_!==null&&Y!==null?w.style.strokeWidth=`${_+(Y-_)*b}`:Y!==null&&(w.style.strokeWidth=`${Y}`),U!==null&&V!==null?w.style.fillOpacity=`${U+(V-U)*b}`:V!==null&&(w.style.fillOpacity=`${V}`),j&&w.tagName.toLowerCase()==="path"&&ee[L]&&w.setAttribute("d",yt(ee[L],j,b)),L===0&&(me=b,de?.(b),e.style.setProperty("--scroll-draw-progress",String(b))),b<1&&(xe=false);}),q){let w=he(pe(i,B,ue,y));for(let L in q){let re=parseFloat(L);w>=re&&!Oe.has(re)&&(Oe.add(re),q[L]?.());}}!F&&pe(i,B,ue,y)>0&&(F=true,K?.()),xe&&!C?(C=true,p?.(),Le<(O==="infinite"?1/0:O??0)&&(Le++,Ie=setTimeout(()=>{ae=-1,Pe=[],F=false,C=false,Oe.clear(),Je(),Re=true;},Ne))):!xe&&!oe&&(C=false),ft(i);}function mt(o){return o>=ue&&o<h}function ft(o){te||mt(o)?T=requestAnimationFrame(Pt):qe=false;}function pt(){return te||mt(Ye())}let qe=false;function et(){qe||(qe=true,T=requestAnimationFrame(function(){Pt();}));}function tt(){qe=false,cancelAnimationFrame(T);}let dt=new IntersectionObserver(o=>{o.forEach(i=>{te=i.isIntersecting,te&&!N?(Re=true,et()):qe&&!N&&mt(Ye())||tt();});},{root:ce??null,threshold:le,rootMargin:G});function Lt(){k.forEach((o,i)=>{P[i]=Be(o),o.style.strokeDasharray=`${P[i]}`;}),Mt(),Re=true;}let rt;function Ue(){clearTimeout(rt),rt=setTimeout(Lt,150);}window.addEventListener("resize",Ue),window.addEventListener("orientationchange",Ue);let er=je([e],Ue);return S>0?setTimeout(()=>dt.observe(e),S):dt.observe(e),ut({destroy(){cancelAnimationFrame(T),clearTimeout(Ie),tt(),dt.disconnect(),er(),window.removeEventListener("resize",Ue),window.removeEventListener("orientationchange",Ue),clearTimeout(rt),Et();},replay(){ae=-1,Pe=[],X=-1,Ke=-1,F=false,C=false,Le=0,N=false,me=0,Oe.clear(),clearTimeout(Ie),Je(),Re=true,pt()&&et();},pause(){N=true,tt();},resume(){N&&(N=false,Re=true,pt()&&et());},seek(o){let i=Math.min(1,Math.max(0,o));me=i,ae=i,Pe=[],N=true,tt(),Qt(i,v),Re=true;},getProgress(){return me},refresh(){clearTimeout(rt),Lt(),pt()&&!N&&et();}},()=>({tStart:B,tEnd:ue}))}function fr(e,r){let t={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return t;let n=typeof e=="string"?document.querySelector(e):e;return n?Bt(n,r):(Q("Container not found:",e),t)}function pr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Gt(e){let r=[],t=/([\w]+)\(([^)]*)\)/g,n;for(;(n=t.exec(e))!==null;){let s=[],a=[],u=n[2].trim();if(u)for(let m of u.split(/[\s,]+/)){let c=m.match(/^([-+]?[\d.eE]+)(.*)$/);s.push(c?parseFloat(c[1]):0),a.push(c?c[2]:"");}r.push({fn:n[1],nums:s,units:a});}return r}function dr(e,r,t){let n=Gt(e),s=Gt(r);return n.length===0||n.length!==s.length?t<1?e:r:n.map((a,u)=>{let m=s[u];return a.fn!==m.fn||a.nums.length!==m.nums.length?t<1?`${a.fn}(${a.nums.map((c,f)=>`${c}${a.units[f]}`).join(", ")})`:`${m.fn}(${m.nums.map((c,f)=>`${c}${m.units[f]}`).join(", ")})`:`${a.fn}(${a.nums.map((c,f)=>`${c+(m.nums[f]-c)*t}${a.units[f]}`).join(", ")})`}).join(" ")}function jt(e,r,t){if(typeof e=="number"&&typeof r=="number")return String(e+(r-e)*t);let n=String(e),s=String(r);if(pr(n))return Ge(n,s,t);if(n.includes("("))return dr(n,s,t);let a=n.match(/^([-+]?[\d.]+)(.*)$/),u=s.match(/^([-+]?[\d.]+)(.*)$/);if(a&&u){let m=parseFloat(a[1]),c=parseFloat(u[1]);return `${m+(c-m)*t}${a[2]||u[2]}`}return t<1?n:s}function gr(e){return e.replace(/([A-Z])/g,r=>`-${r.toLowerCase()}`)}var yr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),hr=0,Yt="--scroll-draw-progress";function br(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}function ht(e,r){let t={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return t;let{props:n,trigger:s={},easing:a="ease-out",speed:u=1,once:m=false,axis:c="y",scrollContainer:f,native:A=true,velocityScale:M=false,respectReducedMotion:v=true,triggerElement:oe,onProgress:Te,onComplete:E,onEnter:$,onLeave:d,onEnterBack:S,onLeaveBack:x}=r,I=v&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,Z=typeof a=="function"?a:ne[a]??ne["ease-out"],q=ke(s.start??"top bottom"),se=ke(s.end??"bottom top"),le=oe??e,G=typeof f=="string"?document.querySelector(f):f??null,O=Object.entries(n).map(([l,h])=>({prop:gr(l),from:Array.isArray(h)?h[0]:"",to:Array.isArray(h)?h[1]:h}));function Ne(){let l=window.getComputedStyle(e);for(let h of O)h.from===""&&(h.from=l.getPropertyValue(h.prop).trim()||"0");}function j(){for(let l of O)e.style.setProperty(l.prop,String(l.to));}let ye=new Map;for(let l of [...O.map(h=>h.prop),Yt])ye.set(l,e.style.getPropertyValue(l));function Ae(){for(let[l,h]of ye)h?e.style.setProperty(l,h):e.style.removeProperty(l);}if(I)return j(),E?.(),{...t,destroy:Ae,getProgress:()=>1};Ne();let He=typeof a=="string"?ot(a):null;function _e(){if(!A||!br()||!He||c!=="y"||G||le!==e||m||u!==1||Te||E||$||d||S||x||M!==false||(s.start??"top bottom").trim()!=="top bottom"||(s.end??"bottom top").trim()!=="bottom top")return false;for(let l of O)if(!yr.has(l.prop))return false;return true}function de(){let l=`ssd-a-${++hr}`,h=O.map(X=>`${X.prop}:${X.from}`).join(";"),C=O.map(X=>`${X.prop}:${X.to}`).join(";"),F=document.createElement("style");F.setAttribute("data-ssd-animate",""),F.textContent=`@keyframes ${l}{from{${h}}to{${C}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${He};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(F),e.classList.add(l);let T=()=>c==="x"?window.scrollX:window.scrollY,te=()=>c==="x"?window.innerWidth:window.innerHeight,ae=()=>{let X=e.getBoundingClientRect();return Fe({top:X.top,height:X.height},T(),te(),q,se)};Ce(e,{type:"animate",getProgress:()=>Pe.getProgress(),getTrigger:ae});let Pe={refresh(){},destroy(){e.classList.remove(l),F.remove(),e.style.animationPlayState="",Ae(),De(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(X){let N=Math.min(1,Math.max(0,X));e.classList.remove(l);for(let me of O)e.style.setProperty(me.prop,jt(me.from,me.to,N));},getProgress(){let{tStart:X,tEnd:N}=ae();return Z(pe(T(),X,N,u))}};return Pe}if(_e())return de();let K=0,p=0,R=0,Ve=false,Ee=false,Me=-1,ie=0,he=false,Se=NaN,ze=-1,ce=0,ge=()=>G?c==="x"?G.scrollLeft:G.scrollTop:c==="x"?window.scrollX:window.scrollY,J=()=>G?c==="x"?G.clientWidth:G.clientHeight:c==="x"?window.innerWidth:window.innerHeight,_=le===e?O:[],Y=false;function U(){let l=e.style,h=_.map(te=>l.getPropertyValue(te.prop)),C=l.transition;_.length&&(l.transition="none"),_.forEach(te=>l.setProperty(te.prop,ye.get(te.prop)??""));let F=nt(le,G,c);_.forEach((te,ae)=>l.setProperty(te.prop,h[ae])),_.length&&(e.offsetWidth,l.transition=C);let T=Fe(F,F.scroll,J(),q,se);Y&&Math.abs(T.tStart-K)<1&&Math.abs(T.tEnd-p)<1||(Y=true,K=T.tStart,p=T.tEnd);}function V(l){e.style.setProperty(Yt,String(l));for(let h of O)e.style.setProperty(h.prop,jt(h.from,h.to,l));Te?.(l);}function $e(l){if(isNaN(Se)){Se=l;return}Se<=0&&l>0?$?.():Se>0&&l<=0&&x?.(),Se<1&&l>=1?d?.():Se>=1&&l<1&&S?.(),Se=l;}function k(){if(!Ve||Ee)return;let l=performance.now(),h=ge(),C=u;if(M!==false){let te=l-ce,ae=te>0?Math.abs(h-(ze<0?h:ze))/te:0;C=u*Math.max(.2,1+ae*(typeof M=="number"?M:1)*.04);}ze=h,ce=l;let F=p===K?0:(h-K)/(p-K);$e(F);let T=Z(pe(h,K,p,C));m&&(Me=Math.max(Me,T),T=Me),ie=T,V(T),T>=1&&!he?(he=true,E?.()):T<1&&!m&&(he=false),R=requestAnimationFrame(k);}U(),p===K&&Q("scrollAnimate: the trigger window has zero length (start and end resolve to the same scroll position), so this element will never animate. If the target is inside a position:sticky stage, measure the trigger from the container that holds the scroll room via `triggerElement`.",e);{let l=Z(pe(ge(),K,p,u));m&&l>0&&(Me=l),ie=l,V(l);}let P=new IntersectionObserver(l=>{l.forEach(h=>{Ve=h.isIntersecting,Ve&&!Ee?R=requestAnimationFrame(k):cancelAnimationFrame(R);});},{root:G??null}),ee;function B(){clearTimeout(ee),ee=setTimeout(U,150);}window.addEventListener("resize",B),window.addEventListener("orientationchange",B);let ue=je([le],B);return P.observe(e),Ce(e,{type:"animate",getProgress:()=>ie,getTrigger:()=>({tStart:K,tEnd:p})}),{destroy(){cancelAnimationFrame(R),P.disconnect(),window.removeEventListener("resize",B),window.removeEventListener("orientationchange",B),ue(),clearTimeout(ee),Ae(),De(e);},replay(){Me=-1,he=false,ie=0,Ee=false,V(0);},pause(){Ee=true,cancelAnimationFrame(R);},resume(){Ee&&(Ee=false,Ve&&(R=requestAnimationFrame(k)));},seek(l){let h=Math.min(1,Math.max(0,l));ie=h,Me=h,Ee=true,cancelAnimationFrame(R),V(h);},getProgress(){return ie},refresh(){U();}}}var at={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function wr(e,r){if(typeof window>"u")return at;let t=typeof e=="string"?document.querySelector(e):e;return t?ht(t,r):(Q("scrollAnimate: element not found:",e),at)}function vr(e,r={}){if(typeof window>"u")return at;let t=typeof e=="string"?document.querySelector(e):e;if(!t)return Q("scrollParallax: element not found:",e),at;let{speed:n=.3,axis:s="y",easing:a="linear",trigger:u,onProgress:m}=r,c=-n*100,f=t.style,A=!!t.ownerSVGElement,M=f.getPropertyValue("transform-box");A&&f.setProperty("transform-box","fill-box");let v=ht(t,{props:s==="x"?{transform:["translateX(0%)",`translateX(${c}%)`]}:{transform:["translateY(0%)",`translateY(${c}%)`]},trigger:u??{start:"top bottom",end:"bottom top"},easing:a,native:false,onProgress:m});return A?{...v,destroy(){v.destroy(),f.setProperty("transform-box",M);}}:v}var bt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Er(e,r){if(typeof window>"u")return bt;let t=typeof e=="string"?document.querySelector(e):e;if(!t)return Q("scrollCounter: element not found:",e),bt;let n=t,{from:s=0,to:a,format:u,easing:m="ease-out",trigger:c={},once:f=true,decimals:A,onComplete:M}=r,v=A!==void 0?p=>p.toFixed(A):u??(p=>String(Math.round(p))),oe=typeof m=="function"?m:ne[m]??ne["ease-out"],Te=ke(c.start??"top 80%"),E=ke(c.end??"top 20%");if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return n.textContent=v(a),M?.(),bt;let d=0,S=0,x=false,I=0,Z=false,q=false,se=-1,le=0,G=false,O=()=>window.scrollY,Ne=()=>window.innerHeight;function j(){let p=n.getBoundingClientRect(),R=Fe({top:p.top,height:p.height},O(),Ne(),Te,E);x&&Math.abs(R.tStart-d)<1&&Math.abs(R.tEnd-S)<1||(x=true,d=R.tStart,S=R.tEnd);}function ye(p){n.textContent=v(s+(a-s)*p),n.style.setProperty("--scroll-draw-progress",String(p));}function Ae(){if(!Z||q)return;let p=oe(pe(O(),d,S,1));f&&(se=Math.max(se,p),p=se),le=p,ye(p),p>=1&&!G?(G=true,M?.()):p<1&&!f&&(G=false),I=requestAnimationFrame(Ae);}j();{let p=oe(pe(O(),d,S,1));f&&p>0&&(se=p),le=p,ye(p);}let He=new IntersectionObserver(p=>{p.forEach(R=>{Z=R.isIntersecting,Z&&!q?I=requestAnimationFrame(Ae):cancelAnimationFrame(I);});}),_e;function de(){clearTimeout(_e),_e=setTimeout(j,150);}window.addEventListener("resize",de),window.addEventListener("orientationchange",de);let K=je([n],de);return He.observe(n),Ce(n,{type:"counter",getProgress:()=>le,getTrigger:()=>({tStart:d,tEnd:S})}),{destroy(){cancelAnimationFrame(I),He.disconnect(),window.removeEventListener("resize",de),window.removeEventListener("orientationchange",de),K(),clearTimeout(_e),De(n);},replay(){se=-1,G=false,le=0,q=false,ye(0);},pause(){q=true,cancelAnimationFrame(I);},resume(){q&&(q=false,Z&&(I=requestAnimationFrame(Ae)));},seek(p){let R=Math.min(1,Math.max(0,p));le=R,se=R,q=true,cancelAnimationFrame(I),ye(R);},getProgress(){return le}}}var Ut="http://www.w3.org/2000/svg",Sr="cinematic-photo",wt=e=>e<0?0:e>1?1:e;function lt(e){let r=parseFloat(e);return Number.isFinite(r)?wt(r/100):0}function xr(e){return ne[e]??ne.linear}var Tr={destroy:()=>{},getProgress:()=>0},vt=class{constructor(r){if(typeof document>"u"){this.mount=null;return}this.mount=typeof r.wrapper=="string"?document.querySelector(r.wrapper):r.wrapper,this.mount||Q("Cinematic: wrapper not found:",r.wrapper);}loadStory(r){let t=this.mount;if(typeof window>"u"||!t)return Tr;t.style.position="relative",t.style.height=r.totalHeight,t.style.display="block";let n=document.createElement("div");n.setAttribute("data-cinematic-stage",""),n.style.cssText="position:sticky;top:0;height:100vh;width:100%;overflow:hidden;display:block;",t.appendChild(n);let s=[];for(let E of r.scenes){if(E.background){let d=document.createElement("img");d.id=Sr,d.src=E.background,d.alt="",d.style.cssText="position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;",n.appendChild(d);}let $=E.animations.filter(d=>d.type==="draw");if($.length){let d=document.createElementNS(Ut,"svg");d.setAttribute("viewBox",`0 0 ${r.canvas.width} ${r.canvas.height}`),d.setAttribute("preserveAspectRatio","xMidYMid meet"),d.style.cssText="position:absolute;inset:0;width:100%;height:100%;overflow:visible;",n.appendChild(d);for(let S of $){let x=document.createElementNS(Ut,"path");x.id=S.target.replace(/^#/,""),x.setAttribute("d",S.d),x.setAttribute("fill","none"),x.setAttribute("stroke",S.stroke),x.setAttribute("stroke-width",String(S.strokeWidth)),x.setAttribute("stroke-linecap","round"),x.setAttribute("stroke-linejoin","round");let I=S.length||x.getTotalLength?.()||0;x.style.strokeDasharray=String(I),x.style.strokeDashoffset=String(I),d.appendChild(x),s.push({kind:"draw",el:x,start:lt(S.start),end:lt(S.end),ease:xr(S.easing),length:I});}}for(let d of E.animations){if(d.type!=="fade")continue;let S=n.querySelector(d.target)??document.querySelector(d.target);S&&(S.style.opacity=String(d.from),s.push({kind:"fade",el:S,start:lt(d.start),end:lt(d.end),ease:ne["ease-in-out"]??ne.linear,from:d.from,to:d.to}));}}let a=0,u=()=>{let E=t.offsetHeight-window.innerHeight;return E<=0?t.getBoundingClientRect().top<=0?1:0:wt(-t.getBoundingClientRect().top/E)},m=E=>{for(let $ of s){let d=$.end-$.start,S=d<=0?E>=$.end?1:0:wt((E-$.start)/d),x=$.ease(S);$.kind==="draw"?$.el.style.strokeDashoffset=String($.length*(1-x)):$.el.style.opacity=String($.from+($.to-$.from)*x);}};if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return m(1),{destroy:()=>{},getProgress:()=>1};let c=0,f=false,A=false,M=()=>{a=u(),m(a),f&&(c=requestAnimationFrame(M));},v=()=>{f||(f=true,c=requestAnimationFrame(M));},oe=()=>{f=false,cancelAnimationFrame(c);},Te=new IntersectionObserver(E=>{for(let $ of E)A=$.isIntersecting,A?v():oe();},{threshold:0});return Te.observe(n),a=u(),m(a),Ce(t,{type:"draw",getProgress:()=>a,getTrigger:()=>{let E=t.getBoundingClientRect().top+window.scrollY;return {tStart:E,tEnd:E+Math.max(0,t.offsetHeight-window.innerHeight)}}}),{destroy(){oe(),Te.disconnect(),De(t);},getProgress:()=>a}}};
4
+ exports.Cinematic=vt;exports.PRESETS=gt;exports.createBounce=kt;exports.createElastic=Ct;exports.createSpring=tr;exports.scrollAnimate=wr;exports.scrollCounter=Er;exports.scrollDraw=fr;exports.scrollParallax=vr;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- export{a as scrollAnimate,b as scrollParallax}from'./chunk-MTEGM4RR.mjs';export{a as Cinematic}from'./chunk-KGAJQP2N.mjs';export{a as scrollDraw}from'./chunk-6SSA5V7J.mjs';export{a as scrollCounter}from'./chunk-KHQ7OGQK.mjs';import'./chunk-BFX2CSQ3.mjs';export{a as PRESETS}from'./chunk-LQBXJRFY.mjs';import'./chunk-OJFWQ6CU.mjs';import'./chunk-YWKPTYSG.mjs';import'./chunk-YZV4Z3EQ.mjs';import'./chunk-A4JCC3QQ.mjs';export{b as createBounce,c as createElastic,a as createSpring}from'./chunk-DM6EDKWH.mjs';import'./chunk-4DOJSIEQ.mjs';import'./chunk-BCV4RAIX.mjs';import'./chunk-LFSU6LR3.mjs';
1
+ export{a as scrollAnimate,b as scrollParallax}from'./chunk-MTEGM4RR.mjs';export{a as Cinematic}from'./chunk-KGAJQP2N.mjs';export{a as scrollDraw}from'./chunk-SMRTRZSD.mjs';export{a as scrollCounter}from'./chunk-KHQ7OGQK.mjs';import'./chunk-BFX2CSQ3.mjs';export{a as PRESETS}from'./chunk-ENACACPZ.mjs';import'./chunk-OJFWQ6CU.mjs';import'./chunk-YWKPTYSG.mjs';import'./chunk-YZV4Z3EQ.mjs';import'./chunk-A4JCC3QQ.mjs';export{b as createBounce,c as createElastic,a as createSpring}from'./chunk-DM6EDKWH.mjs';import'./chunk-4DOJSIEQ.mjs';import'./chunk-BCV4RAIX.mjs';import'./chunk-LFSU6LR3.mjs';
@@ -1,3 +1,3 @@
1
- 'use strict';var vue=require('vue');function gr({bounces:e=3,decay:n=.5}={}){let r=Math.max(1,Math.round(e)),t=Math.max(.01,Math.min(.99,n)),s=Math.sqrt(t),i=0,l=[];for(let d=0;d<r;d++){let T=Math.pow(s,d);l.push(T),i+=T;}let u=[0],m=0;for(let d=0;d<r;d++)m+=l[d]/i,u.push(m);return d=>{if(d<=0)return 0;if(d>=1)return 1;for(let T=0;T<r;T++)if(d<=u[T+1]){let F=(d-u[T])/(u[T+1]-u[T]);if(T===0)return F*(2-F);let A=1-Math.pow(t,T);return A+(1-A)*(2*F-1)*(2*F-1)}return 1}}function yr({amplitude:e=1,period:n=.4}={}){let r=Math.max(1,e),t=Math.max(.1,n),s=r<=1?t/4:t/(2*Math.PI)*Math.asin(1/r);return i=>i<=0?0:i>=1?1:r*Math.pow(2,-10*i)*Math.sin((i-s)*(2*Math.PI)/t)+1}var ce={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:e=>1-Math.cos(e*Math.PI*2.5)*Math.pow(1-e,2.2),bounce:gr(),elastic:yr()};function Ht(e,n,r){return Math.min(r,Math.max(n,e))}function be(e="top bottom"){let n=e.trim();if(/^\d+(\.\d+)?%$/.test(n))return {element:"top",viewport:n};let[r="top",t="bottom"]=n.split(/\s+/).filter(Boolean);return {element:r,viewport:t}}function Vt(e,n,r,t){switch(t){case "top":return e+r;case "center":return e+r+n/2;case "bottom":return e+r+n;default:return e+r}}function zt(e,n){if(/^\d+(\.\d+)?%$/.test(e))return n*(parseFloat(e)/100);switch(e){case "top":return 0;case "center":return n/2;case "bottom":return n;default:return n}}function te(e,n,r,t){return r===n?0:Ht((e-n)/(r-n)*t,0,1)}function $e(e,n,r,t,s){let i=Vt(e.top,e.height,n,t.element)-zt(t.viewport,r),l=Vt(e.top,e.height,n,s.element)-zt(s.viewport,r);return {tStart:i,tEnd:l}}function lt(e,n,r){let t=e.getBoundingClientRect(),s=r==="x"?t.width:t.height;return n?{top:r==="x"?t.left-n.getBoundingClientRect().left+n.scrollLeft:t.top-n.getBoundingClientRect().top+n.scrollTop,height:s,scroll:0}:{top:r==="x"?t.left:t.top,height:s,scroll:r==="x"?window.scrollX:window.scrollY}}function Ue(e){let n=e.tagName.toLowerCase();if(n==="rect"){let r=parseFloat(e.getAttribute("width")??"0"),t=parseFloat(e.getAttribute("height")??"0");return 2*(r+t)}if(n==="circle"){let r=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*r}return e.getTotalLength()}function _t(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 Ye(e,n,r){let t=_t(e),s=_t(n);return !t||!s?e:`rgb(${Math.round(t[0]+(s[0]-t[0])*r)},${Math.round(t[1]+(s[1]-t[1])*r)},${Math.round(t[2]+(s[2]-t[2])*r)})`}var Bt={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 Ke=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function we(e,...n){Ke&&console.warn(`[svg-scroll-draw] ${e}`,...n);}var hr="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",br="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Wt=33;function wr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function vr(e){let n=[];for(let r=0;r<Wt;r++){let t=r/(Wt-1);n.push(String(Math.round(e(t)*1e5)/1e5));}return `linear(${n.join(",")})`}function ct(e){switch(e){case "linear":return "linear";case "ease-in":return hr;case "ease-out":return br;case "ease-in-out":return wr()?vr(ce["ease-in-out"]):null;default:return null}}var qt=Symbol.for("svg-scroll-draw.registry");function Gt(){let e=globalThis;return e[qt]||(e[qt]=new Map)}function ke(e,n){Gt().set(e,n);}function Re(e){Gt().delete(e);}var Qe,ut=new Set,mt=new WeakMap,Ze=new Map,jt=e=>{let n=e.getBoundingClientRect();return n.width+" "+n.height};function Sr(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 Ie(e,n){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let r=()=>n();Qe??(Qe=new ResizeObserver(s=>{let i=false;for(let{target:l}of s)mt.get(l)!==jt(l)&&(i=true),mt.set(l,"");i&&ut.forEach(l=>l());})),ut.add(r);let t=Sr(e);return [document.body,document.documentElement].forEach(s=>s&&t.add(s)),t.forEach(s=>{mt.has(s)||mt.set(s,jt(s)),Ze.set(s,(Ze.get(s)??0)+1),Qe.observe(s);}),()=>{ut.delete(r)&&(t.forEach(s=>{let i=(Ze.get(s)??1)-1;if(i)return void Ze.set(s,i);Ze.delete(s),Qe?.unobserve(s);}),ut.size||(Qe?.disconnect(),Qe=void 0));}}var Er=0;function Tr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Ut(e,n){let r="";try{r=getComputedStyle(e).getPropertyValue(n).trim();}catch{}return r||(e.getAttribute(n)??"").trim()}var Yt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function xr(e){if(!Ke)return;let n=Ut(e,"stroke");if(!n||n==="none"){we("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!Yt.has(r)&&!Yt.has(Ut(e,"fill"))&&we("Element has a fill \u2014 it may obscure the stroke animation.",e);}function Mr(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 s(){let i=r==="x"?window.scrollX:window.scrollY,l=e-i,u=n-i,m=r==="x";t.innerHTML=`
2
- <div style="position:absolute;${m?`left:${l}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${l}px;left:0;right:0;border-top:2px dashed #22c55e;`}padding:2px 6px;color:#22c55e;background:rgba(0,0,0,.6)">\u25B6 start</div>
3
- <div style="position:absolute;${m?`left:${u}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${u}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(t),window.addEventListener("scroll",s,{passive:true}),s(),{el:t,destroy(){window.removeEventListener("scroll",s),t.remove();}}}var Xt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Kt=/[MmLlHhVvCcSsQqTtAaZz]/g;function Ar(e,n,r){if(!Ke)return;let t=(e.match(Kt)??[]).join("").toUpperCase(),s=(n.match(Kt)??[]).join("").toUpperCase(),i=(e.match(Xt)??[]).length,l=(n.match(Xt)??[]).length;if(t!==s){we(`morphTo: command sequence differs (${t||"\u2205"} \u2192 ${s||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,r);return}i!==l&&we(`morphTo: coordinate count differs (${i} \u2192 ${l}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function yt(e,n,r){let t=(n.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),s=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,i=>{let l=parseFloat(i),u=t[s++]??l;return String(+(l+(u-l)*r).toFixed(4))})}function ht(e,n={}){if(typeof window>"u")return {destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};let{preset:r,...t}=n,s=r?{...Bt[r],...t}:t,i=window.matchMedia("(prefers-reduced-motion: reduce)").matches,{selector:l="path, polyline, line, polygon, rect, circle",speed:u=1,fade:m=false,easing:d="linear",trigger:T={},stagger:F=0,direction:A="forward",once:re=false,debug:Pe=false,axis:G="y",scrollContainer:ue,autoReverse:ne=false,delay:Y=0,strokeColor:N,strokeWidth:P,fillOpacity:k,waypoints:w,velocityScale:O=false,threshold:x=0,rootMargin:M="0px",repeat:S=0,repeatDelay:oe=0,morphTo:L,clip:se,autoplay:ve=false,duration:ge=1e3,native:ye=true,onProgress:H,onStart:$,onComplete:f,onEnter:p,onLeave:R,onEnterBack:W,onLeaveBack:Me}=s,v=se===true?"left":typeof se=="string"?se:false,V=typeof d=="function"?d:ce[d]??ce.linear,me=be(T.start??"top bottom"),He=be(T.end??"bottom top"),Se=typeof ue=="string"?document.querySelector(ue):ue??null,Ae=Array.isArray(N)?N[0]:null,fe=Array.isArray(N)?N[1]:typeof N=="string"?N:null,X=Array.isArray(P)?P[0]:null,ie=Array.isArray(P)?P[1]:typeof P=="number"?P:null,ae=Array.isArray(k)?k[0]:null,K=Array.isArray(k)?k[1]:typeof k=="number"?k:null;function Ve(o){let a=o*100;switch(v){case "right":return `inset(0 0 0 ${100-a}%)`;case "top":return `inset(0 0 ${100-a}% 0)`;case "bottom":return `inset(${100-a}% 0 0 0)`;case "center":return `circle(${o*150}% at 50% 50%)`;default:return `inset(0 ${100-a}% 0 0)`}}let z=v?[]:Array.from(e.querySelectorAll(l)),D=[],pe=[],J=0,Ee=0,c=F,h=0,_=false,q=false,C=0,ee=false,he=-1,ze=[],le=-1,j=false,Te=0,_e=0,Be,ft=null;function Ct(){ft?.destroy(),ft=null;}let We=new Set,$t=NaN,qe=true,rt=-1,Pt=performance.now(),Ge=NaN;function nt(){return Se?G==="x"?Se.scrollLeft:Se.scrollTop:G==="x"?window.scrollX:window.scrollY}function Ot(){return Se?G==="x"?Se.clientWidth:Se.clientHeight:G==="x"?window.innerWidth:window.innerHeight}function kt(){let o=lt(e,Se,G);return $e(o,o.scroll,Ot(),me,He)}function cr(){let o=Ee-J,a=z.length-1,y=Se??document.documentElement,Q=G==="x"?"Width":"Height";if(c=F,F>0&&a>0&&o>0){let Le=y[`scroll${Q}`]-y[`client${Q}`]-1-J-o/u;Le>=0&&(c=Math.min(F,Le/(a*o)));}h=Ee+a*c*o;}function Rt(){(({tStart:J,tEnd:Ee}=kt())),cr(),Pe&&Ke&&(Ct(),ft=Mr(J,Ee,G));}function pt(o,a=kt){ke(e,{type:"draw",getProgress:()=>o.getProgress(),getTrigger:a});let y=o.destroy;return o.destroy=()=>{y.call(o),Re(e);},o}function ur(o,a){if(e.style.setProperty("--scroll-draw-progress",String(o)),v){let y=a==="reverse"?1-o:o;e.style.clipPath=Ve(y);return}z.forEach((y,Q)=>{y.style.strokeDashoffset=a==="reverse"?`${D[Q]*o}`:`${D[Q]*(1-o)}`,m&&(y.style.opacity=a==="reverse"?`${1-o}`:`${o}`),Ae&&fe?y.style.stroke=Ye(Ae,fe,o):fe&&(y.style.stroke=fe),X!==null&&ie!==null?y.style.strokeWidth=`${X+(ie-X)*o}`:ie!==null&&(y.style.strokeWidth=`${ie}`),ae!==null&&K!==null?y.style.fillOpacity=`${ae+(K-ae)*o}`:K!==null&&(y.style.fillOpacity=`${K}`),L&&y.tagName.toLowerCase()==="path"&&pe[Q]&&y.setAttribute("d",yt(pe[Q],L,o));});}function ot(){if(e.style.setProperty("--scroll-draw-progress","0"),v){e.style.clipPath=Ve(0);return}z.forEach((o,a)=>{o.style.strokeDasharray=`${D[a]}`,o.style.strokeDashoffset=A==="reverse"?"0":`${D[a]}`,m?o.style.opacity=A==="reverse"?"1":"0":o.style.opacity="",Ae&&(o.style.stroke=Ae),X!==null&&(o.style.strokeWidth=`${X}`),ae!==null&&(o.style.fillOpacity=`${ae}`),L&&o.tagName.toLowerCase()==="path"&&pe[a]&&o.setAttribute("d",pe[a]);});}if(z.forEach(o=>{xr(o);let a=Ue(o);D.push(a);let y=o.tagName.toLowerCase()==="path";y?pe.push(o.getAttribute("d")??""):pe.push(""),L&&(y?Ar(pe[pe.length-1],L,o):we(`morphTo only applies to <path> elements \u2014 ignored on <${o.tagName}>.`,o)),i?(o.style.strokeDasharray=`${a}`,o.style.strokeDashoffset=A==="reverse"?`${a}`:"0",m&&(o.style.opacity="1"),fe&&(o.style.stroke=fe),ie!==null&&(o.style.strokeWidth=`${ie}`),K!==null&&(o.style.fillOpacity=`${K}`),L&&o.tagName.toLowerCase()==="path"&&o.setAttribute("d",L)):(o.style.strokeDasharray=`${a}`,o.style.strokeDashoffset=A==="reverse"?"0":`${a}`,m?o.style.opacity=A==="reverse"?"1":"0":o.style.opacity="",Ae&&(o.style.stroke=Ae),X!==null&&(o.style.strokeWidth=`${X}`),ae!==null&&(o.style.fillOpacity=`${ae}`));}),v){if(i)return e.style.clipPath=Ve(1),f?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};e.style.clipPath=Ve(0);}else if(i)return f?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};let Dt=typeof d=="string"?ct(d):null;function mr(){return !(ye===false||!Tr()||!z.length||!Dt||v||G!=="y"||Se||u!==1||F!==0||re||ne||O!==false||L||w||S||Y>0||H||$||f||p||R||W||Me||N!=null||P!=null||k!=null||(T.start??"top bottom").trim()!=="top bottom"||(T.end??"bottom top").trim()!=="bottom top")}function fr(){let o=++Er,a=`svg-scroll-draw-${o}`,y=`svg-scroll-draw-host-${o}`,Q=`--svg-scroll-draw-${o}`,Le=A==="reverse"?"0":"var(--ssd-len)",De=A==="reverse"?"var(--ssd-len)":"0",Oe=`stroke-dashoffset:${Le};`,E=`stroke-dashoffset:${De};`;m&&(Oe+=`opacity:${A==="reverse"?1:0};`,E+=`opacity:${A==="reverse"?0:1};`);let I=document.createElement("style");I.setAttribute("data-svg-scroll-draw",""),I.textContent=`@keyframes ${a}{from{${Oe}}to{${E}}}.${y}{view-timeline-name:${Q};view-timeline-axis:block;}.${a}{animation-name:${a};animation-duration:auto;animation-timing-function:${Dt};animation-fill-mode:both;animation-timeline:${Q};animation-range:cover 0% cover 100%;}`,document.head.appendChild(I),e.classList.add(y);function de(g,Z){g.style.setProperty("--ssd-len",String(D[Z])),g.style.strokeDasharray=`${D[Z]}`,g.style.strokeDashoffset="",g.style.opacity="",g.style.animationPlayState="",g.classList.add(a);}z.forEach(de);let b=false,B=-1;function U(){if(B>=0)return B;let g=e.getBoundingClientRect(),{tStart:Z,tEnd:Ce}=$e({top:g.top,height:g.height},nt(),Ot(),me,He);return V(te(nt(),Z,Ce,u))}return {destroy(){e.classList.remove(y),z.forEach(g=>{g.classList.remove(a),g.style.removeProperty("--ssd-len"),g.style.animationPlayState="";}),I.remove();},replay(){b=false,B=-1,z.forEach(de);},pause(){b=true,z.forEach(g=>{g.style.animationPlayState="paused";});},resume(){b&&(b=false,z.forEach(g=>{g.style.animationPlayState="running";}));},seek(g){let Z=Math.min(1,Math.max(0,g));B=Z,b=true,z.forEach((Ce,xe)=>{Ce.classList.remove(a),Ce.style.strokeDashoffset=A==="reverse"?`${D[xe]*Z}`:`${D[xe]*(1-Z)}`,m&&(Ce.style.opacity=A==="reverse"?`${1-Z}`:`${Z}`);});},getProgress(){return U()},refresh(){z.forEach((g,Z)=>{D[Z]=Ue(g),g.style.setProperty("--ssd-len",String(D[Z])),g.style.strokeDasharray=`${D[Z]}`;});}}}if(mr())return pt(fr());function pr(){let o=Math.max(1,ge),a=0,y=0,Q=false;function Le(b){let B=true;if(v){let U=Math.min(1,Math.max(0,b/o)),g=V(U);Te=g,e.style.setProperty("--scroll-draw-progress",String(g)),e.style.clipPath=Ve(A==="reverse"?1-g:g),H?.(g),U<1&&(B=false);}else z.forEach((U,g)=>{let Z=g*F*o,Ce=Math.min(1,Math.max(0,(b-Z)/o)),xe=V(Ce);U.style.strokeDashoffset=A==="reverse"?`${D[g]*xe}`:`${D[g]*(1-xe)}`,m&&(U.style.opacity=A==="reverse"?`${1-xe}`:`${xe}`),Ae&&fe?U.style.stroke=Ye(Ae,fe,xe):fe&&(U.style.stroke=fe),X!==null&&ie!==null?U.style.strokeWidth=`${X+(ie-X)*xe}`:ie!==null&&(U.style.strokeWidth=`${ie}`),ae!==null&&K!==null?U.style.fillOpacity=`${ae+(K-ae)*xe}`:K!==null&&(U.style.fillOpacity=`${K}`),L&&U.tagName.toLowerCase()==="path"&&pe[g]&&U.setAttribute("d",yt(pe[g],L,xe)),g===0&&(Te=xe,H?.(xe),e.style.setProperty("--scroll-draw-progress",String(xe))),Ce<1&&(B=false);});if(w){let U=Math.min(1,Math.max(0,b/o)),g=V(U);for(let Z in w){let Ce=parseFloat(Z);g>=Ce&&!We.has(Ce)&&(We.add(Ce),w[Z]?.());}}return B}function De(b){if(j)return;let B=b-a;q||(q=true,$?.());let U=Le(B);if(U&&!_){_=true,Le(o*(1+Math.max(0,z.length-1)*F)),f?.(),_e<(S==="infinite"?1/0:S??0)&&(_e++,Be=setTimeout(()=>{a=performance.now(),q=false,_=false,We.clear(),ot(),C=requestAnimationFrame(De);},oe));return}U||(C=requestAnimationFrame(De));}function Oe(){cancelAnimationFrame(C),clearTimeout(Be),a=performance.now(),y=0,j=false,q=false,_=false,_e=0,Q=true,Te=0,We.clear(),ot(),C=requestAnimationFrame(De);}let E=new IntersectionObserver(b=>{b.forEach(B=>{B.isIntersecting&&!(re&&_)?Oe():!B.isIntersecting&&!re&&!_&&(cancelAnimationFrame(C),clearTimeout(Be),Q=false);});},{root:Se??null,threshold:x,rootMargin:M}),I;function de(){clearTimeout(I),I=setTimeout(()=>{z.forEach((b,B)=>{D[B]=Ue(b),b.style.strokeDasharray=`${D[B]}`;});},150);}return window.addEventListener("resize",de),window.addEventListener("orientationchange",de),Y>0?setTimeout(()=>E.observe(e),Y):E.observe(e),{destroy(){cancelAnimationFrame(C),clearTimeout(Be),E.disconnect(),window.removeEventListener("resize",de),window.removeEventListener("orientationchange",de),clearTimeout(I);},replay(){_e=0,Oe();},pause(){j||!Q||(j=true,y=performance.now()-a,cancelAnimationFrame(C));},resume(){j&&(j=false,Q=true,a=performance.now()-y,C=requestAnimationFrame(De));},seek(b){let B=Math.min(1,Math.max(0,b));Te=B,j=true,y=B*o,a=performance.now()-y,cancelAnimationFrame(C),Le(y);},getProgress(){return Te},refresh(){clearTimeout(I),z.forEach((b,B)=>{D[B]=Ue(b),b.style.strokeDasharray=`${D[B]}`;});}}}if(ve)return pt(pr());Rt();function It(){if(j||!je)return;let o=performance.now(),a=nt();if(!qe&&O===false&&a===$t){dt(a);return}qe=false,$t=a;let y=u;if(O!==false){let E=o-Pt,I=E>0?Math.abs(a-(rt<0?a:rt))/E:0;y=u*Math.max(.2,1+I*(typeof O=="number"?O:1)*.04);}rt=a,Pt=o;let Q=ne?le===-1||a>=le?"forward":"reverse":A;le=a;let Le=Ee-J,De=true,Oe=Le===0?0:(a-J)/Le;if(isNaN(Ge)||(Ge<=0&&Oe>0?p?.():Ge>0&&Oe<=0&&Me?.(),Ge<1&&Oe>=1?R?.():Ge>=1&&Oe<1&&W?.()),Ge=Oe,v){let E=V(te(a,J,Ee,y));re&&!ne&&(he=Math.max(he,E),E=he),Te=E,e.style.setProperty("--scroll-draw-progress",String(E));let I=Q==="reverse"?1-E:E;e.style.clipPath=Ve(I),H?.(E),!q&&te(a,J,Ee,y)>0&&(q=true,$?.()),E>=1&&!_?(_=true,f?.(),_e<(S==="infinite"?1/0:S??0)&&(_e++,Be=setTimeout(()=>{he=-1,q=false,_=false,e.style.clipPath=Ve(0);},oe))):E<1&&!re&&(_=false),dt(a);return}if(z.forEach((E,I)=>{let de=I*c*Le,b=V(te(a,J+de,Ee+de,y));re&&!ne&&(b=ze[I]=Math.max(ze[I]??he,b)),E.style.strokeDashoffset=Q==="reverse"?`${D[I]*b}`:`${D[I]*(1-b)}`,m&&(E.style.opacity=Q==="reverse"?`${1-b}`:`${b}`),Ae&&fe?E.style.stroke=Ye(Ae,fe,b):fe&&(E.style.stroke=fe),X!==null&&ie!==null?E.style.strokeWidth=`${X+(ie-X)*b}`:ie!==null&&(E.style.strokeWidth=`${ie}`),ae!==null&&K!==null?E.style.fillOpacity=`${ae+(K-ae)*b}`:K!==null&&(E.style.fillOpacity=`${K}`),L&&E.tagName.toLowerCase()==="path"&&pe[I]&&E.setAttribute("d",yt(pe[I],L,b)),I===0&&(Te=b,H?.(b),e.style.setProperty("--scroll-draw-progress",String(b))),b<1&&(De=false);}),w){let E=V(te(a,J,Ee,y));for(let I in w){let de=parseFloat(I);E>=de&&!We.has(de)&&(We.add(de),w[I]?.());}}!q&&te(a,J,Ee,y)>0&&(q=true,$?.()),De&&!_?(_=true,f?.(),_e<(S==="infinite"?1/0:S??0)&&(_e++,Be=setTimeout(()=>{he=-1,ze=[],q=false,_=false,We.clear(),ot(),qe=true;},oe))):!De&&!re&&(_=false),dt(a);}function Ft(o){return o>=Ee&&o<h}function dt(o){ee||Ft(o)?C=requestAnimationFrame(It):je=false;}let je=false;function st(){je||(je=true,C=requestAnimationFrame(function(){It();}));}function it(){je=false,cancelAnimationFrame(C);}let gt=new IntersectionObserver(o=>{o.forEach(a=>{ee=a.isIntersecting,ee&&!j?(qe=true,st()):je&&!j&&Ft(nt())||it();});},{root:Se??null,threshold:x,rootMargin:M});function Nt(){z.forEach((o,a)=>{D[a]=Ue(o),o.style.strokeDasharray=`${D[a]}`;}),Rt(),qe=true;}let at;function Xe(){clearTimeout(at),at=setTimeout(Nt,150);}window.addEventListener("resize",Xe),window.addEventListener("orientationchange",Xe);let dr=Ie([e],Xe);return Y>0?setTimeout(()=>gt.observe(e),Y):gt.observe(e),pt({destroy(){cancelAnimationFrame(C),clearTimeout(Be),it(),gt.disconnect(),dr(),window.removeEventListener("resize",Xe),window.removeEventListener("orientationchange",Xe),clearTimeout(at),Ct();},replay(){he=-1,ze=[],le=-1,rt=-1,q=false,_=false,_e=0,j=false,Te=0,We.clear(),clearTimeout(Be),ot(),qe=true,ee&&st();},pause(){j=true,it();},resume(){j&&(j=false,qe=true,ee&&st());},seek(o){let a=Math.min(1,Math.max(0,o));Te=a,he=a,ze=[],j=true,it(),ur(a,A),qe=true;},getProgress(){return Te},refresh(){clearTimeout(at),Nt(),ee&&!j&&st();}},()=>({tStart:J,tEnd:Ee}))}var Qt=new WeakMap,Lr=0;function Zt(e){return JSON.stringify(e,(n,r)=>{if(typeof r=="function")return "\u0192";if(typeof Element<"u"&&r instanceof Element){let t=Qt.get(r);return t===void 0&&Qt.set(r,t=++Lr),`el#${t}`}return r})}function Jt(e,n){let r={...e};for(let t of Object.keys(r))typeof r[t]=="function"&&(r[t]=(...s)=>n()[t]?.(...s));return r}function Cr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function er(e){let n=[],r=/([\w]+)\(([^)]*)\)/g,t;for(;(t=r.exec(e))!==null;){let s=[],i=[],l=t[2].trim();if(l)for(let u of l.split(/[\s,]+/)){let m=u.match(/^([-+]?[\d.eE]+)(.*)$/);s.push(m?parseFloat(m[1]):0),i.push(m?m[2]:"");}n.push({fn:t[1],nums:s,units:i});}return n}function $r(e,n,r){let t=er(e),s=er(n);return t.length===0||t.length!==s.length?r<1?e:n:t.map((i,l)=>{let u=s[l];return i.fn!==u.fn||i.nums.length!==u.nums.length?r<1?`${i.fn}(${i.nums.map((m,d)=>`${m}${i.units[d]}`).join(", ")})`:`${u.fn}(${u.nums.map((m,d)=>`${m}${u.units[d]}`).join(", ")})`:`${i.fn}(${i.nums.map((m,d)=>`${m+(u.nums[d]-m)*r}${i.units[d]}`).join(", ")})`}).join(" ")}function tr(e,n,r){if(typeof e=="number"&&typeof n=="number")return String(e+(n-e)*r);let t=String(e),s=String(n);if(Cr(t))return Ye(t,s,r);if(t.includes("("))return $r(t,s,r);let i=t.match(/^([-+]?[\d.]+)(.*)$/),l=s.match(/^([-+]?[\d.]+)(.*)$/);if(i&&l){let u=parseFloat(i[1]),m=parseFloat(l[1]);return `${u+(m-u)*r}${i[2]||l[2]}`}return r<1?t:s}function Pr(e){return e.replace(/([A-Z])/g,n=>`-${n.toLowerCase()}`)}var Or=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),kr=0,rr="--scroll-draw-progress";function Rr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}function bt(e,n){let r={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return r;let{props:t,trigger:s={},easing:i="ease-out",speed:l=1,once:u=false,axis:m="y",scrollContainer:d,native:T=true,velocityScale:F=false,respectReducedMotion:A=true,triggerElement:re,onProgress:Pe,onComplete:G,onEnter:ue,onLeave:ne,onEnterBack:Y,onLeaveBack:N}=n,P=A&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,k=typeof i=="function"?i:ce[i]??ce["ease-out"],w=be(s.start??"top bottom"),O=be(s.end??"bottom top"),x=re??e,M=typeof d=="string"?document.querySelector(d):d??null,S=Object.entries(t).map(([c,h])=>({prop:Pr(c),from:Array.isArray(h)?h[0]:"",to:Array.isArray(h)?h[1]:h}));function oe(){let c=window.getComputedStyle(e);for(let h of S)h.from===""&&(h.from=c.getPropertyValue(h.prop).trim()||"0");}function L(){for(let c of S)e.style.setProperty(c.prop,String(c.to));}let se=new Map;for(let c of [...S.map(h=>h.prop),rr])se.set(c,e.style.getPropertyValue(c));function ve(){for(let[c,h]of se)h?e.style.setProperty(c,h):e.style.removeProperty(c);}if(P)return L(),G?.(),{...r,destroy:ve,getProgress:()=>1};oe();let ge=typeof i=="string"?ct(i):null;function ye(){if(!T||!Rr()||!ge||m!=="y"||M||x!==e||u||l!==1||Pe||G||ue||ne||Y||N||F!==false||(s.start??"top bottom").trim()!=="top bottom"||(s.end??"bottom top").trim()!=="bottom top")return false;for(let c of S)if(!Or.has(c.prop))return false;return true}function H(){let c=`ssd-a-${++kr}`,h=S.map(le=>`${le.prop}:${le.from}`).join(";"),_=S.map(le=>`${le.prop}:${le.to}`).join(";"),q=document.createElement("style");q.setAttribute("data-ssd-animate",""),q.textContent=`@keyframes ${c}{from{${h}}to{${_}}}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${ge};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(q),e.classList.add(c);let C=()=>m==="x"?window.scrollX:window.scrollY,ee=()=>m==="x"?window.innerWidth:window.innerHeight,he=()=>{let le=e.getBoundingClientRect();return $e({top:le.top,height:le.height},C(),ee(),w,O)};ke(e,{type:"animate",getProgress:()=>ze.getProgress(),getTrigger:he});let ze={refresh(){},destroy(){e.classList.remove(c),q.remove(),e.style.animationPlayState="",ve(),Re(e);},replay(){e.classList.remove(c),e.offsetWidth,e.classList.add(c);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(le){let j=Math.min(1,Math.max(0,le));e.classList.remove(c);for(let Te of S)e.style.setProperty(Te.prop,tr(Te.from,Te.to,j));},getProgress(){let{tStart:le,tEnd:j}=he();return k(te(C(),le,j,l))}};return ze}if(ye())return H();let $=0,f=0,p=0,R=false,W=false,Me=-1,v=0,V=false,me=NaN,He=-1,Se=0,Ae=()=>M?m==="x"?M.scrollLeft:M.scrollTop:m==="x"?window.scrollX:window.scrollY,fe=()=>M?m==="x"?M.clientWidth:M.clientHeight:m==="x"?window.innerWidth:window.innerHeight,X=x===e?S:[],ie=false;function ae(){let c=e.style,h=X.map(ee=>c.getPropertyValue(ee.prop)),_=c.transition;X.length&&(c.transition="none"),X.forEach(ee=>c.setProperty(ee.prop,se.get(ee.prop)??""));let q=lt(x,M,m);X.forEach((ee,he)=>c.setProperty(ee.prop,h[he])),X.length&&(e.offsetWidth,c.transition=_);let C=$e(q,q.scroll,fe(),w,O);ie&&Math.abs(C.tStart-$)<1&&Math.abs(C.tEnd-f)<1||(ie=true,$=C.tStart,f=C.tEnd);}function K(c){e.style.setProperty(rr,String(c));for(let h of S)e.style.setProperty(h.prop,tr(h.from,h.to,c));Pe?.(c);}function Ve(c){if(isNaN(me)){me=c;return}me<=0&&c>0?ue?.():me>0&&c<=0&&N?.(),me<1&&c>=1?ne?.():me>=1&&c<1&&Y?.(),me=c;}function z(){if(!R||W)return;let c=performance.now(),h=Ae(),_=l;if(F!==false){let ee=c-Se,he=ee>0?Math.abs(h-(He<0?h:He))/ee:0;_=l*Math.max(.2,1+he*(typeof F=="number"?F:1)*.04);}He=h,Se=c;let q=f===$?0:(h-$)/(f-$);Ve(q);let C=k(te(h,$,f,_));u&&(Me=Math.max(Me,C),C=Me),v=C,K(C),C>=1&&!V?(V=true,G?.()):C<1&&!u&&(V=false),p=requestAnimationFrame(z);}ae(),f===$&&we("scrollAnimate: the trigger window has zero length (start and end resolve to the same scroll position), so this element will never animate. If the target is inside a position:sticky stage, measure the trigger from the container that holds the scroll room via `triggerElement`.",e);{let c=k(te(Ae(),$,f,l));u&&c>0&&(Me=c),v=c,K(c);}let D=new IntersectionObserver(c=>{c.forEach(h=>{R=h.isIntersecting,R&&!W?p=requestAnimationFrame(z):cancelAnimationFrame(p);});},{root:M??null}),pe;function J(){clearTimeout(pe),pe=setTimeout(ae,150);}window.addEventListener("resize",J),window.addEventListener("orientationchange",J);let Ee=Ie([x],J);return D.observe(e),ke(e,{type:"animate",getProgress:()=>v,getTrigger:()=>({tStart:$,tEnd:f})}),{destroy(){cancelAnimationFrame(p),D.disconnect(),window.removeEventListener("resize",J),window.removeEventListener("orientationchange",J),Ee(),clearTimeout(pe),ve(),Re(e);},replay(){Me=-1,V=false,v=0,W=false,K(0);},pause(){W=true,cancelAnimationFrame(p);},resume(){W&&(W=false,R&&(p=requestAnimationFrame(z)));},seek(c){let h=Math.min(1,Math.max(0,c));v=h,Me=h,W=true,cancelAnimationFrame(p),K(h);},getProgress(){return v},refresh(){ae();}}}var wt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function vt(e,n){if(typeof window>"u")return wt;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return we("scrollCounter: element not found:",e),wt;let t=r,{from:s=0,to:i,format:l,easing:u="ease-out",trigger:m={},once:d=true,decimals:T,onComplete:F}=n,A=T!==void 0?f=>f.toFixed(T):l??(f=>String(Math.round(f))),re=typeof u=="function"?u:ce[u]??ce["ease-out"],Pe=be(m.start??"top 80%"),G=be(m.end??"top 20%");if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t.textContent=A(i),F?.(),wt;let ne=0,Y=0,N=false,P=0,k=false,w=false,O=-1,x=0,M=false,S=()=>window.scrollY,oe=()=>window.innerHeight;function L(){let f=t.getBoundingClientRect(),p=$e({top:f.top,height:f.height},S(),oe(),Pe,G);N&&Math.abs(p.tStart-ne)<1&&Math.abs(p.tEnd-Y)<1||(N=true,ne=p.tStart,Y=p.tEnd);}function se(f){t.textContent=A(s+(i-s)*f),t.style.setProperty("--scroll-draw-progress",String(f));}function ve(){if(!k||w)return;let f=re(te(S(),ne,Y,1));d&&(O=Math.max(O,f),f=O),x=f,se(f),f>=1&&!M?(M=true,F?.()):f<1&&!d&&(M=false),P=requestAnimationFrame(ve);}L();{let f=re(te(S(),ne,Y,1));d&&f>0&&(O=f),x=f,se(f);}let ge=new IntersectionObserver(f=>{f.forEach(p=>{k=p.isIntersecting,k&&!w?P=requestAnimationFrame(ve):cancelAnimationFrame(P);});}),ye;function H(){clearTimeout(ye),ye=setTimeout(L,150);}window.addEventListener("resize",H),window.addEventListener("orientationchange",H);let $=Ie([t],H);return ge.observe(t),ke(t,{type:"counter",getProgress:()=>x,getTrigger:()=>({tStart:ne,tEnd:Y})}),{destroy(){cancelAnimationFrame(P),ge.disconnect(),window.removeEventListener("resize",H),window.removeEventListener("orientationchange",H),$(),clearTimeout(ye),Re(t);},replay(){O=-1,M=false,x=0,w=false,se(0);},pause(){w=true,cancelAnimationFrame(P);},resume(){w&&(w=false,k&&(P=requestAnimationFrame(ve)));},seek(f){let p=Math.min(1,Math.max(0,f));x=p,O=p,w=true,cancelAnimationFrame(P),se(p);},getProgress(){return x}}}var nr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function St(e,n={}){if(typeof window>"u")return nr;let r=typeof e=="string"?document.querySelector(e):e;if(!r||r.tagName.toLowerCase()!=="video")return we("scrollVideo: <video> element not found:",e),nr;let t=r,{trigger:s={},easing:i="linear",once:l=false,axis:u="y",preload:m="auto",triggerElement:d,onReady:T,onComplete:F,onProgress:A}=n,re=d??t,Pe=window.matchMedia("(prefers-reduced-motion: reduce)").matches,G=typeof i=="function"?i:ce[i]??ce.linear,ue=be(s.start??"top top"),ne=be(s.end??"bottom top");t.pause(),t.hasAttribute("preload")||(t.preload=m);let Y=n.from??0,N=n.to,P=0,k=0,w=0,O=false,x=false,M=-1,S=0,oe=false,L=false,se=()=>u==="x"?window.scrollX:window.scrollY,ve=()=>u==="x"?window.innerWidth:window.innerHeight;function ge(){let v=re.getBoundingClientRect(),V=u==="x"?v.left:v.top,me=u==="x"?v.width:v.height,He=$e({top:V,height:me},se(),ve(),ue,ne);P=He.tStart,k=He.tEnd,L&&k===P&&we("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",t);}let ye=NaN;function H(v){if(!L)return;let V=N??t.duration??0,me=Y+(V-Y)*v;me!==ye&&(ye=me,t.currentTime=me),t.style.setProperty("--scroll-draw-progress",String(v)),A?.(v);}function $(){if(!O||x||!L||Pe)return;let v=G(te(se(),P,k,1));l&&(M=Math.max(M,v),v=M),S=v,H(v),v>=1&&!oe?(oe=true,F?.()):v<1&&!l&&(oe=false),w=requestAnimationFrame($);}function f(){if(L=true,N===void 0&&(N=t.duration),Pe){H(1),T?.();return}ge(),T?.(),O&&!x&&(w=requestAnimationFrame($));}t.readyState>=1?f():t.addEventListener("loadedmetadata",f,{once:true}),L||ge();let p=new IntersectionObserver(v=>{v.forEach(V=>{O=V.isIntersecting,O&&!x&&L?w=requestAnimationFrame($):cancelAnimationFrame(w);});}),R;function W(){clearTimeout(R),R=setTimeout(ge,150);}window.addEventListener("resize",W),window.addEventListener("orientationchange",W);let Me=Ie([re],W);return p.observe(t),ke(t,{type:"video",getProgress:()=>S,getTrigger:()=>({tStart:P,tEnd:k})}),{destroy(){cancelAnimationFrame(w),p.disconnect(),t.removeEventListener("loadedmetadata",f),window.removeEventListener("resize",W),window.removeEventListener("orientationchange",W),Me(),clearTimeout(R),Re(t);},replay(){M=-1,oe=false,S=0,x=false,ye=NaN,H(0);},pause(){x=true,cancelAnimationFrame(w);},resume(){x&&(x=false,O&&L&&(w=requestAnimationFrame($)));},seek(v){let V=Math.min(1,Math.max(0,v));S=V,M=V,x=true,cancelAnimationFrame(w),ye=NaN,H(V);},getProgress(){return S}}}function ir(e){let n=e.textContent??"";return e.textContent="",n.split(/(\s+)/).filter(Boolean).map(r=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),/^\s+$/.test(r)?(t.textContent=r,t.style.whiteSpace="pre"):(t.textContent=r,t.style.display="inline-block"),e.appendChild(t),/^\s+$/.test(r)?null:t}).filter(r=>r!==null)}function Dr(e){let n=e.textContent??"";return e.textContent="",n.split("").map(r=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=r,r===" "?t.style.whiteSpace="pre":t.style.display="inline-block",e.appendChild(t),r===" "?null:t}).filter(r=>r!==null)}function or(e){let n=ir(e),r=new Map;for(let i of n){let l=i.offsetTop;r.has(l)||r.set(l,[]),r.get(l).push(i);}let t=[],s=Array.from(r.keys()).sort((i,l)=>i-l);for(let i of s){let l=r.get(i),u=document.createElement("span");u.setAttribute("aria-hidden","true"),u.style.display="inline-block",l.forEach((m,d)=>{let T=m.nextElementSibling;u.appendChild(m),d<l.length-1&&T&&T.style.whiteSpace==="pre"&&u.appendChild(T);}),t.push(u);}return e.textContent="",t.forEach((i,l)=>{e.appendChild(i),l<t.length-1&&e.appendChild(document.createTextNode(" "));}),t}function Ir(e,n,r,t){if(r<=1||t===0)return e;let s=(r-1)*t,i=n*t,l=i+(1-s);return l<=i?e>=i?1:0:Math.min(1,Math.max(0,(e-i)/(l-i)))}function Fr(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 sr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Et(e,n={}){if(typeof window>"u")return sr;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return we("scrollText: element not found:",e),sr;let t=r,{split:s="words",stagger:i=.04,easing:l="ease-out",from:u={opacity:0,y:24},trigger:m={},once:d=true,onComplete:T}=n,F=window.matchMedia("(prefers-reduced-motion: reduce)").matches,A=typeof l=="function"?l:ce[l]??ce["ease-out"],re=be(m.start??"top 85%"),Pe=be(m.end??"top 40%"),G=t.innerHTML;t.setAttribute("aria-label",t.textContent??"");let ue;s==="chars"?ue=Dr(t):s==="lines"?ue=or(t):ue=ir(t);let ne=ue.length;function Y(p,R){u?.opacity!==void 0&&(p.style.opacity=String(u.opacity+(1-u.opacity)*R));let W=Fr(R,u);W&&(p.style.transform=W);}function N(p){t.style.setProperty("--scroll-draw-progress",String(p)),ue.forEach((R,W)=>{let Me=A(Ir(p,W,ne,i));Y(R,Me);});}if(F)return N(1),T?.(),{destroy(){t.innerHTML=G,t.removeAttribute("aria-label");},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};N(0);let P=0,k=0,w=0,O=false,x=false,M=-1,S=0,oe=false,L=()=>window.scrollY,se=()=>window.innerHeight;function ve(){let p=t.getBoundingClientRect(),R=$e({top:p.top,height:p.height},L(),se(),re,Pe);P=R.tStart,k=R.tEnd;}function ge(){if(!O||x)return;let p=te(L(),P,k,1);d&&(M=Math.max(M,p),p=M),S=p,N(p),p>=1&&!oe?(oe=true,T?.()):p<1&&!d&&(oe=false),w=requestAnimationFrame(ge);}ve();let ye=new IntersectionObserver(p=>{p.forEach(R=>{O=R.isIntersecting,O&&!x?w=requestAnimationFrame(ge):cancelAnimationFrame(w);});}),H;function $(){clearTimeout(H),H=setTimeout(()=>{if(s==="lines"){let p=S;t.innerHTML=G,t.setAttribute("aria-label",t.textContent??""),ue=or(t),N(p);}ve();},150);}window.addEventListener("resize",$),window.addEventListener("orientationchange",$);let f=Ie([t],$);return ye.observe(t),ke(t,{type:"text",getProgress:()=>S,getTrigger:()=>({tStart:P,tEnd:k})}),{destroy(){cancelAnimationFrame(w),ye.disconnect(),window.removeEventListener("resize",$),window.removeEventListener("orientationchange",$),f(),clearTimeout(H),t.innerHTML=G,t.removeAttribute("aria-label"),Re(t);},replay(){M=-1,oe=false,S=0,x=false,N(0);},pause(){x=true,cancelAnimationFrame(w);},resume(){x&&(x=false,O&&(w=requestAnimationFrame(ge)));},seek(p){let R=Math.min(1,Math.max(0,p));S=R,M=R,x=true,cancelAnimationFrame(w),N(R);},getProgress(){return S}}}var tt=e=>typeof e=="function"?e():vue.unref(e);function Ne(e,n,r){let t=null,s=n(),i=()=>{t?.destroy(),t=e.value?r(e.value,Jt(s,()=>s)):null;};vue.onMounted(i),vue.watch(()=>Zt(s=n()),i),vue.onUnmounted(()=>{t?.destroy(),t=null;});}function _r(e={}){let n=vue.ref(null);return Ne(n,()=>tt(e),ht),n}var ar={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},Br=[null,Boolean,[Boolean,String],[Boolean,Number]],lr=e=>({type:e,default:void 0}),Tt=vue.defineComponent({name:"ScrollDraw",props:Object.fromEntries(Object.entries(ar).map(([e,n])=>[e,n?lr(Br[n]):null])),setup(e,{slots:n}){let r=vue.ref(null);return Ne(r,()=>{let t={};for(let s in ar){let i=e[s];i!=null&&(t[s]=i);}return t},ht),()=>vue.h("div",{ref:r},n.default?.())}});function Wr(e){let n=vue.ref(null);return Ne(n,()=>tt(e),bt),n}var xt=vue.defineComponent({name:"ScrollAnimate",props:{options:{type:Object,required:true}},setup(e,{slots:n}){let r=vue.ref(null);return Ne(r,()=>e.options,bt),()=>vue.h("div",{ref:r},n.default?.())}});function qr(e){let n=vue.ref(null);return Ne(n,()=>tt(e),vt),n}var Mt=vue.defineComponent({name:"ScrollCounter",props:{to:{type:Number,required:true},from:{type:Number},format:{type:Function},easing:{type:[String,Function]},trigger:{type:Object},once:lr(Boolean),decimals:{type:Number},onComplete:{type:Function}},setup(e){let n=vue.ref(null);return Ne(n,()=>{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},vt),()=>vue.h("span",{ref:n})}});function Gr(e={}){let n=vue.ref(null);return Ne(n,()=>tt(e),St),n}var At=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 n=vue.ref(null);return Ne(n,()=>e.options??{},St),()=>vue.h("video",{ref:n,src:e.src,muted:e.muted,playsinline:e.playsInline,preload:"auto",class:e.class})}});function jr(e={}){let n=vue.ref(null);return Ne(n,()=>tt(e),Et),n}var Lt=vue.defineComponent({name:"ScrollText",props:{options:{type:Object},tag:{type:String,default:"p"}},setup(e,{slots:n}){let r=vue.ref(null);return Ne(r,()=>e.options??{},Et),()=>vue.h(e.tag,{ref:r},n.default?.())}});function to(){return {install(e){e.component("ScrollDraw",Tt),e.component("ScrollAnimate",xt),e.component("ScrollCounter",Mt),e.component("ScrollVideo",At),e.component("ScrollText",Lt);}}}exports.ScrollAnimate=xt;exports.ScrollCounter=Mt;exports.ScrollDraw=Tt;exports.ScrollText=Lt;exports.ScrollVideo=At;exports.createScrollDrawPlugin=to;exports.useScrollAnimate=Wr;exports.useScrollCounter=qr;exports.useScrollDraw=_r;exports.useScrollText=jr;exports.useScrollVideo=Gr;
1
+ 'use strict';var vue=require('vue');function bn({bounces:e=3,decay:r=.5}={}){let n=Math.max(1,Math.round(e)),t=Math.max(.01,Math.min(.99,r)),s=Math.sqrt(t),i=0,l=[];for(let p=0;p<n;p++){let E=Math.pow(s,p);l.push(E),i+=E;}let u=[0],f=0;for(let p=0;p<n;p++)f+=l[p]/i,u.push(f);return p=>{if(p<=0)return 0;if(p>=1)return 1;for(let E=0;E<n;E++)if(p<=u[E+1]){let N=(p-u[E])/(u[E+1]-u[E]);if(E===0)return N*(2-N);let $=1-Math.pow(t,E);return $+(1-$)*(2*N-1)*(2*N-1)}return 1}}function wn({amplitude:e=1,period:r=.4}={}){let n=Math.max(1,e),t=Math.max(.1,r),s=n<=1?t/4:t/(2*Math.PI)*Math.asin(1/n);return i=>i<=0?0:i>=1?1:n*Math.pow(2,-10*i)*Math.sin((i-s)*(2*Math.PI)/t)+1}var le={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:e=>1-Math.cos(e*Math.PI*2.5)*Math.pow(1-e,2.2),bounce:bn(),elastic:wn()};function Vt(e,r,n){return Math.min(n,Math.max(r,e))}function he(e="top bottom"){let r=e.trim();if(/^\d+(\.\d+)?%$/.test(r))return {element:"top",viewport:r};let[n="top",t="bottom"]=r.split(/\s+/).filter(Boolean);return {element:n,viewport:t}}function zt(e,r,n,t){switch(t){case "top":return e+n;case "center":return e+n+r/2;case "bottom":return e+n+r;default:return e+n}}function _t(e,r){if(/^\d+(\.\d+)?%$/.test(e))return r*(parseFloat(e)/100);switch(e){case "top":return 0;case "center":return r/2;case "bottom":return r;default:return r}}function re(e,r,n,t){return n===r?0:Vt((e-r)/(n-r)*t,0,1)}function $e(e,r,n,t,s){let i=zt(e.top,e.height,r,t.element)-_t(t.viewport,n),l=zt(e.top,e.height,r,s.element)-_t(s.viewport,n);return {tStart:i,tEnd:l}}function lt(e,r,n){let t=e.getBoundingClientRect(),s=n==="x"?t.width:t.height;return r?{top:n==="x"?t.left-r.getBoundingClientRect().left+r.scrollLeft:t.top-r.getBoundingClientRect().top+r.scrollTop,height:s,scroll:0}:{top:n==="x"?t.left:t.top,height:s,scroll:n==="x"?window.scrollX:window.scrollY}}function Ue(e){let r=e.tagName.toLowerCase();if(r==="rect"){let n=parseFloat(e.getAttribute("width")??"0"),t=parseFloat(e.getAttribute("height")??"0");return 2*(n+t)}if(r==="circle"){let n=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*n}return e.getTotalLength()}function Bt(e){let r=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(r)return [parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16),parseInt(r[3]+r[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 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 Ye(e,r,n){let t=Bt(e),s=Bt(r);return !t||!s?e:`rgb(${Math.round(t[0]+(s[0]-t[0])*n)},${Math.round(t[1]+(s[1]-t[1])*n)},${Math.round(t[2]+(s[2]-t[2])*n)})`}var Wt={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 Qe=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function be(e,...r){Qe&&console.warn(`[svg-scroll-draw] ${e}`,...r);}var vn="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Sn="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",qt=33;function En(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Tn(e){let r=[];for(let n=0;n<qt;n++){let t=n/(qt-1);r.push(String(Math.round(e(t)*1e5)/1e5));}return `linear(${r.join(",")})`}function ct(e){switch(e){case "linear":return "linear";case "ease-in":return vn;case "ease-out":return Sn;case "ease-in-out":return En()?Tn(le["ease-in-out"]):null;default:return null}}var Gt=Symbol.for("svg-scroll-draw.registry");function jt(){let e=globalThis;return e[Gt]||(e[Gt]=new Map)}function ke(e,r){jt().set(e,r);}function Re(e){jt().delete(e);}var Ze,ut=new Set,mt=new WeakMap,Je=new Map,Ut=e=>{let r=e.getBoundingClientRect();return r.width+" "+r.height};function xn(e){let r=new Set;for(let n of e)for(;n&&n!==document.body;n=n.parentElement)for(let t=n;t;t=t.previousElementSibling)r.add(t);return r}function Ie(e,r){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let n=()=>r();Ze??(Ze=new ResizeObserver(s=>{let i=false;for(let{target:l}of s)mt.get(l)!==Ut(l)&&(i=true),mt.set(l,"");i&&ut.forEach(l=>l());})),ut.add(n);let t=xn(e);return [document.body,document.documentElement].forEach(s=>s&&t.add(s)),t.forEach(s=>{mt.has(s)||mt.set(s,Ut(s)),Je.set(s,(Je.get(s)??0)+1),Ze.observe(s);}),()=>{ut.delete(n)&&(t.forEach(s=>{let i=(Je.get(s)??1)-1;if(i)return void Je.set(s,i);Je.delete(s),Ze?.unobserve(s);}),ut.size||(Ze?.disconnect(),Ze=void 0));}}var Mn=0;function An(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Yt(e,r){let n="";try{n=getComputedStyle(e).getPropertyValue(r).trim();}catch{}return n||(e.getAttribute(r)??"").trim()}var Xt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Ln(e){if(!Qe)return;let r=Yt(e,"stroke");if(!r||r==="none"){be("Element has no stroke \u2014 path will not be visible.",e);return}let n=(e.getAttribute("fill")??"").trim();n&&!Xt.has(n)&&!Xt.has(Yt(e,"fill"))&&be("Element has a fill \u2014 it may obscure the stroke animation.",e);}function Cn(e,r,n){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 s(){let i=n==="x"?window.scrollX:window.scrollY,l=e-i,u=r-i,f=n==="x";t.innerHTML=`
2
+ <div style="position:absolute;${f?`left:${l}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${l}px;left:0;right:0;border-top:2px dashed #22c55e;`}padding:2px 6px;color:#22c55e;background:rgba(0,0,0,.6)">\u25B6 start</div>
3
+ <div style="position:absolute;${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",s,{passive:true}),s(),{el:t,destroy(){window.removeEventListener("scroll",s),t.remove();}}}var Kt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Qt=/[MmLlHhVvCcSsQqTtAaZz]/g;function $n(e,r,n){if(!Qe)return;let t=(e.match(Qt)??[]).join("").toUpperCase(),s=(r.match(Qt)??[]).join("").toUpperCase(),i=(e.match(Kt)??[]).length,l=(r.match(Kt)??[]).length;if(t!==s){be(`morphTo: command sequence differs (${t||"\u2205"} \u2192 ${s||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,n);return}i!==l&&be(`morphTo: coordinate count differs (${i} \u2192 ${l}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,n);}function bt(e,r,n){let t=(r.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),s=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,i=>{let l=parseFloat(i),u=t[s++]??l;return String(+(l+(u-l)*n).toFixed(4))})}function wt(e,r={}){if(typeof window>"u")return {destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};let{preset:n,...t}=r,s=n?{...Wt[n],...t}:t,i=window.matchMedia("(prefers-reduced-motion: reduce)").matches,{selector:l="path, polyline, line, polygon, rect, circle",speed:u=1,fade:f=false,easing:p="linear",trigger:E={},stagger:N=0,direction:$="forward",once:oe=false,debug:Pe=false,axis:G="y",scrollContainer:Ae,autoReverse:H=false,delay:Y=0,strokeColor:X,strokeWidth:L,fillOpacity:R,waypoints:T,velocityScale:C=false,threshold:P=0,rootMargin:x="0px",repeat:w=0,repeatDelay:K=0,morphTo:M,clip:te,autoplay:xe=false,duration:we=1e3,native:ce=true,onProgress:W,onStart:D,onComplete:m,onEnter:k,onLeave:v,onEnterBack:A,onLeaveBack:ue}=s,y=te===true?"left":typeof te=="string"?te:false,V=typeof p=="function"?p:le[p]??le.linear,me=he(E.start??"top bottom"),He=he(E.end??"bottom top"),ve=typeof Ae=="string"?document.querySelector(Ae):Ae??null,Me=Array.isArray(X)?X[0]:null,fe=Array.isArray(X)?X[1]:typeof X=="string"?X:null,Q=Array.isArray(L)?L[0]:null,se=Array.isArray(L)?L[1]:typeof L=="number"?L:null,ie=Array.isArray(R)?R[0]:null,Z=Array.isArray(R)?R[1]:typeof R=="number"?R:null;function Ve(o){let a=o*100;switch(y){case "right":return `inset(0 0 0 ${100-a}%)`;case "top":return `inset(0 0 ${100-a}% 0)`;case "bottom":return `inset(${100-a}% 0 0 0)`;case "center":return `circle(${o*150}% at 50% 50%)`;default:return `inset(0 ${100-a}% 0 0)`}}let z=y?[]:Array.from(e.querySelectorAll(l)),I=[],pe=[],ne=0,Se=0,c=N,h=0,_=false,q=false,O=0,de=false,ye=-1,ze=[],ae=-1,j=false,Ee=0,_e=0,Be,ft=null;function Pt(){ft?.destroy(),ft=null;}let We=new Set,Ot=NaN,qe=true,rt=-1,kt=performance.now(),Ge=NaN;function Xe(){return ve?G==="x"?ve.scrollLeft:ve.scrollTop:G==="x"?window.scrollX:window.scrollY}function Rt(){return ve?G==="x"?ve.clientWidth:ve.clientHeight:G==="x"?window.innerWidth:window.innerHeight}function Dt(){let o=lt(e,ve,G);return $e(o,o.scroll,Rt(),me,He)}function fn(){let o=Se-ne,a=z.length-1,g=ve??document.documentElement,J=G==="x"?"Width":"Height";if(c=N,N>0&&a>0&&o>0){let Le=g[`scroll${J}`]-g[`client${J}`]-1-ne-o/u;Le>=0&&(c=Math.min(N,Le/(a*o)));}h=Se+a*c*o;}function It(){(({tStart:ne,tEnd:Se}=Dt())),fn(),Pe&&Qe&&(Pt(),ft=Cn(ne,Se,G));}function pt(o,a=Dt){ke(e,{type:"draw",getProgress:()=>o.getProgress(),getTrigger:a});let g=o.destroy;return o.destroy=()=>{g.call(o),Re(e);},o}function pn(o,a){if(e.style.setProperty("--scroll-draw-progress",String(o)),y){let g=a==="reverse"?1-o:o;e.style.clipPath=Ve(g);return}z.forEach((g,J)=>{g.style.strokeDashoffset=a==="reverse"?`${I[J]*o}`:`${I[J]*(1-o)}`,f&&(g.style.opacity=a==="reverse"?`${1-o}`:`${o}`),Me&&fe?g.style.stroke=Ye(Me,fe,o):fe&&(g.style.stroke=fe),Q!==null&&se!==null?g.style.strokeWidth=`${Q+(se-Q)*o}`:se!==null&&(g.style.strokeWidth=`${se}`),ie!==null&&Z!==null?g.style.fillOpacity=`${ie+(Z-ie)*o}`:Z!==null&&(g.style.fillOpacity=`${Z}`),M&&g.tagName.toLowerCase()==="path"&&pe[J]&&g.setAttribute("d",bt(pe[J],M,o));});}function ot(){if(e.style.setProperty("--scroll-draw-progress","0"),y){e.style.clipPath=Ve(0);return}z.forEach((o,a)=>{o.style.strokeDasharray=`${I[a]}`,o.style.strokeDashoffset=$==="reverse"?"0":`${I[a]}`,f?o.style.opacity=$==="reverse"?"1":"0":o.style.opacity="",Me&&(o.style.stroke=Me),Q!==null&&(o.style.strokeWidth=`${Q}`),ie!==null&&(o.style.fillOpacity=`${ie}`),M&&o.tagName.toLowerCase()==="path"&&pe[a]&&o.setAttribute("d",pe[a]);});}if(z.forEach(o=>{Ln(o);let a=Ue(o);I.push(a);let g=o.tagName.toLowerCase()==="path";g?pe.push(o.getAttribute("d")??""):pe.push(""),M&&(g?$n(pe[pe.length-1],M,o):be(`morphTo only applies to <path> elements \u2014 ignored on <${o.tagName}>.`,o)),i?(o.style.strokeDasharray=`${a}`,o.style.strokeDashoffset=$==="reverse"?`${a}`:"0",f&&(o.style.opacity="1"),fe&&(o.style.stroke=fe),se!==null&&(o.style.strokeWidth=`${se}`),Z!==null&&(o.style.fillOpacity=`${Z}`),M&&o.tagName.toLowerCase()==="path"&&o.setAttribute("d",M)):(o.style.strokeDasharray=`${a}`,o.style.strokeDashoffset=$==="reverse"?"0":`${a}`,f?o.style.opacity=$==="reverse"?"1":"0":o.style.opacity="",Me&&(o.style.stroke=Me),Q!==null&&(o.style.strokeWidth=`${Q}`),ie!==null&&(o.style.fillOpacity=`${ie}`));}),y){if(i)return e.style.clipPath=Ve(1),m?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};e.style.clipPath=Ve(0);}else if(i)return m?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};let Ft=typeof p=="string"?ct(p):null;function dn(){return !(ce===false||!An()||!z.length||!Ft||y||G!=="y"||ve||u!==1||N!==0||oe||H||C!==false||M||T||w||Y>0||W||D||m||k||v||A||ue||X!=null||L!=null||R!=null||(E.start??"top bottom").trim()!=="top bottom"||(E.end??"bottom top").trim()!=="bottom top")}function gn(){let o=++Mn,a=`svg-scroll-draw-${o}`,g=`svg-scroll-draw-host-${o}`,J=`--svg-scroll-draw-${o}`,Le=$==="reverse"?"0":"var(--ssd-len)",De=$==="reverse"?"var(--ssd-len)":"0",Oe=`stroke-dashoffset:${Le};`,S=`stroke-dashoffset:${De};`;f&&(Oe+=`opacity:${$==="reverse"?1:0};`,S+=`opacity:${$==="reverse"?0:1};`);let F=document.createElement("style");F.setAttribute("data-svg-scroll-draw",""),F.textContent=`@keyframes ${a}{from{${Oe}}to{${S}}}.${g}{view-timeline-name:${J};view-timeline-axis:block;}.${a}{animation-name:${a};animation-duration:auto;animation-timing-function:${Ft};animation-fill-mode:both;animation-timeline:${J};animation-range:cover 0% cover 100%;}`,document.head.appendChild(F),e.classList.add(g);function ge(d,ee){d.style.setProperty("--ssd-len",String(I[ee])),d.style.strokeDasharray=`${I[ee]}`,d.style.strokeDashoffset="",d.style.opacity="",d.style.animationPlayState="",d.classList.add(a);}z.forEach(ge);let b=false,B=-1;function U(){if(B>=0)return B;let d=e.getBoundingClientRect(),{tStart:ee,tEnd:Ce}=$e({top:d.top,height:d.height},Xe(),Rt(),me,He);return V(re(Xe(),ee,Ce,u))}return {destroy(){e.classList.remove(g),z.forEach(d=>{d.classList.remove(a),d.style.removeProperty("--ssd-len"),d.style.animationPlayState="";}),F.remove();},replay(){b=false,B=-1,z.forEach(ge);},pause(){b=true,z.forEach(d=>{d.style.animationPlayState="paused";});},resume(){b&&(b=false,z.forEach(d=>{d.style.animationPlayState="running";}));},seek(d){let ee=Math.min(1,Math.max(0,d));B=ee,b=true,z.forEach((Ce,Te)=>{Ce.classList.remove(a),Ce.style.strokeDashoffset=$==="reverse"?`${I[Te]*ee}`:`${I[Te]*(1-ee)}`,f&&(Ce.style.opacity=$==="reverse"?`${1-ee}`:`${ee}`);});},getProgress(){return U()},refresh(){z.forEach((d,ee)=>{I[ee]=Ue(d),d.style.setProperty("--ssd-len",String(I[ee])),d.style.strokeDasharray=`${I[ee]}`;});}}}if(dn())return pt(gn());function yn(){let o=Math.max(1,we),a=0,g=0,J=false;function Le(b){let B=true;if(y){let U=Math.min(1,Math.max(0,b/o)),d=V(U);Ee=d,e.style.setProperty("--scroll-draw-progress",String(d)),e.style.clipPath=Ve($==="reverse"?1-d:d),W?.(d),U<1&&(B=false);}else z.forEach((U,d)=>{let ee=d*N*o,Ce=Math.min(1,Math.max(0,(b-ee)/o)),Te=V(Ce);U.style.strokeDashoffset=$==="reverse"?`${I[d]*Te}`:`${I[d]*(1-Te)}`,f&&(U.style.opacity=$==="reverse"?`${1-Te}`:`${Te}`),Me&&fe?U.style.stroke=Ye(Me,fe,Te):fe&&(U.style.stroke=fe),Q!==null&&se!==null?U.style.strokeWidth=`${Q+(se-Q)*Te}`:se!==null&&(U.style.strokeWidth=`${se}`),ie!==null&&Z!==null?U.style.fillOpacity=`${ie+(Z-ie)*Te}`:Z!==null&&(U.style.fillOpacity=`${Z}`),M&&U.tagName.toLowerCase()==="path"&&pe[d]&&U.setAttribute("d",bt(pe[d],M,Te)),d===0&&(Ee=Te,W?.(Te),e.style.setProperty("--scroll-draw-progress",String(Te))),Ce<1&&(B=false);});if(T){let U=Math.min(1,Math.max(0,b/o)),d=V(U);for(let ee in T){let Ce=parseFloat(ee);d>=Ce&&!We.has(Ce)&&(We.add(Ce),T[ee]?.());}}return B}function De(b){if(j)return;let B=b-a;q||(q=true,D?.());let U=Le(B);if(U&&!_){_=true,Le(o*(1+Math.max(0,z.length-1)*N)),m?.(),_e<(w==="infinite"?1/0:w??0)&&(_e++,Be=setTimeout(()=>{a=performance.now(),q=false,_=false,We.clear(),ot(),O=requestAnimationFrame(De);},K));return}U||(O=requestAnimationFrame(De));}function Oe(){cancelAnimationFrame(O),clearTimeout(Be),a=performance.now(),g=0,j=false,q=false,_=false,_e=0,J=true,Ee=0,We.clear(),ot(),O=requestAnimationFrame(De);}let S=new IntersectionObserver(b=>{b.forEach(B=>{B.isIntersecting&&!(oe&&_)?Oe():!B.isIntersecting&&!oe&&!_&&(cancelAnimationFrame(O),clearTimeout(Be),J=false);});},{root:ve??null,threshold:P,rootMargin:x}),F;function ge(){clearTimeout(F),F=setTimeout(()=>{z.forEach((b,B)=>{I[B]=Ue(b),b.style.strokeDasharray=`${I[B]}`;});},150);}return window.addEventListener("resize",ge),window.addEventListener("orientationchange",ge),Y>0?setTimeout(()=>S.observe(e),Y):S.observe(e),{destroy(){cancelAnimationFrame(O),clearTimeout(Be),S.disconnect(),window.removeEventListener("resize",ge),window.removeEventListener("orientationchange",ge),clearTimeout(F);},replay(){_e=0,Oe();},pause(){j||!J||(j=true,g=performance.now()-a,cancelAnimationFrame(O));},resume(){j&&(j=false,J=true,a=performance.now()-g,O=requestAnimationFrame(De));},seek(b){let B=Math.min(1,Math.max(0,b));Ee=B,j=true,g=B*o,a=performance.now()-g,cancelAnimationFrame(O),Le(g);},getProgress(){return Ee},refresh(){clearTimeout(F),z.forEach((b,B)=>{I[B]=Ue(b),b.style.strokeDasharray=`${I[B]}`;});}}}if(xe)return pt(yn());It();function Nt(){if(j||!je)return;let o=performance.now(),a=Xe();if(!qe&&C===false&&a===Ot){gt(a);return}qe=false,Ot=a;let g=u;if(C!==false){let S=o-kt,F=S>0?Math.abs(a-(rt<0?a:rt))/S:0;g=u*Math.max(.2,1+F*(typeof C=="number"?C:1)*.04);}rt=a,kt=o;let J=H?ae===-1||a>=ae?"forward":"reverse":$;ae=a;let Le=Se-ne,De=true,Oe=Le===0?0:(a-ne)/Le;if(isNaN(Ge)||(Ge<=0&&Oe>0?k?.():Ge>0&&Oe<=0&&ue?.(),Ge<1&&Oe>=1?v?.():Ge>=1&&Oe<1&&A?.()),Ge=Oe,y){let S=V(re(a,ne,Se,g));oe&&!H&&(ye=Math.max(ye,S),S=ye),Ee=S,e.style.setProperty("--scroll-draw-progress",String(S));let F=J==="reverse"?1-S:S;e.style.clipPath=Ve(F),W?.(S),!q&&re(a,ne,Se,g)>0&&(q=true,D?.()),S>=1&&!_?(_=true,m?.(),_e<(w==="infinite"?1/0:w??0)&&(_e++,Be=setTimeout(()=>{ye=-1,q=false,_=false,e.style.clipPath=Ve(0);},K))):S<1&&!oe&&(_=false),gt(a);return}if(z.forEach((S,F)=>{let ge=F*c*Le,b=V(re(a,ne+ge,Se+ge,g));oe&&!H&&(b=ze[F]=Math.max(ze[F]??ye,b)),S.style.strokeDashoffset=J==="reverse"?`${I[F]*b}`:`${I[F]*(1-b)}`,f&&(S.style.opacity=J==="reverse"?`${1-b}`:`${b}`),Me&&fe?S.style.stroke=Ye(Me,fe,b):fe&&(S.style.stroke=fe),Q!==null&&se!==null?S.style.strokeWidth=`${Q+(se-Q)*b}`:se!==null&&(S.style.strokeWidth=`${se}`),ie!==null&&Z!==null?S.style.fillOpacity=`${ie+(Z-ie)*b}`:Z!==null&&(S.style.fillOpacity=`${Z}`),M&&S.tagName.toLowerCase()==="path"&&pe[F]&&S.setAttribute("d",bt(pe[F],M,b)),F===0&&(Ee=b,W?.(b),e.style.setProperty("--scroll-draw-progress",String(b))),b<1&&(De=false);}),T){let S=V(re(a,ne,Se,g));for(let F in T){let ge=parseFloat(F);S>=ge&&!We.has(ge)&&(We.add(ge),T[F]?.());}}!q&&re(a,ne,Se,g)>0&&(q=true,D?.()),De&&!_?(_=true,m?.(),_e<(w==="infinite"?1/0:w??0)&&(_e++,Be=setTimeout(()=>{ye=-1,ze=[],q=false,_=false,We.clear(),ot(),qe=true;},K))):!De&&!oe&&(_=false),gt(a);}function dt(o){return o>=Se&&o<h}function gt(o){de||dt(o)?O=requestAnimationFrame(Nt):je=false;}function yt(){return de||dt(Xe())}let je=false;function st(){je||(je=true,O=requestAnimationFrame(function(){Nt();}));}function it(){je=false,cancelAnimationFrame(O);}let ht=new IntersectionObserver(o=>{o.forEach(a=>{de=a.isIntersecting,de&&!j?(qe=true,st()):je&&!j&&dt(Xe())||it();});},{root:ve??null,threshold:P,rootMargin:x});function Ht(){z.forEach((o,a)=>{I[a]=Ue(o),o.style.strokeDasharray=`${I[a]}`;}),It(),qe=true;}let at;function Ke(){clearTimeout(at),at=setTimeout(Ht,150);}window.addEventListener("resize",Ke),window.addEventListener("orientationchange",Ke);let hn=Ie([e],Ke);return Y>0?setTimeout(()=>ht.observe(e),Y):ht.observe(e),pt({destroy(){cancelAnimationFrame(O),clearTimeout(Be),it(),ht.disconnect(),hn(),window.removeEventListener("resize",Ke),window.removeEventListener("orientationchange",Ke),clearTimeout(at),Pt();},replay(){ye=-1,ze=[],ae=-1,rt=-1,q=false,_=false,_e=0,j=false,Ee=0,We.clear(),clearTimeout(Be),ot(),qe=true,yt()&&st();},pause(){j=true,it();},resume(){j&&(j=false,qe=true,yt()&&st());},seek(o){let a=Math.min(1,Math.max(0,o));Ee=a,ye=a,ze=[],j=true,it(),pn(a,$),qe=true;},getProgress(){return Ee},refresh(){clearTimeout(at),Ht(),yt()&&!j&&st();}},()=>({tStart:ne,tEnd:Se}))}var Zt=new WeakMap,Pn=0;function Jt(e){return JSON.stringify(e,(r,n)=>{if(typeof n=="function")return "\u0192";if(typeof Element<"u"&&n instanceof Element){let t=Zt.get(n);return t===void 0&&Zt.set(n,t=++Pn),`el#${t}`}return n})}function en(e,r){let n={...e};for(let t of Object.keys(n))typeof n[t]=="function"&&(n[t]=(...s)=>r()[t]?.(...s));return n}function On(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function tn(e){let r=[],n=/([\w]+)\(([^)]*)\)/g,t;for(;(t=n.exec(e))!==null;){let s=[],i=[],l=t[2].trim();if(l)for(let u of l.split(/[\s,]+/)){let f=u.match(/^([-+]?[\d.eE]+)(.*)$/);s.push(f?parseFloat(f[1]):0),i.push(f?f[2]:"");}r.push({fn:t[1],nums:s,units:i});}return r}function kn(e,r,n){let t=tn(e),s=tn(r);return t.length===0||t.length!==s.length?n<1?e:r:t.map((i,l)=>{let u=s[l];return i.fn!==u.fn||i.nums.length!==u.nums.length?n<1?`${i.fn}(${i.nums.map((f,p)=>`${f}${i.units[p]}`).join(", ")})`:`${u.fn}(${u.nums.map((f,p)=>`${f}${u.units[p]}`).join(", ")})`:`${i.fn}(${i.nums.map((f,p)=>`${f+(u.nums[p]-f)*n}${i.units[p]}`).join(", ")})`}).join(" ")}function nn(e,r,n){if(typeof e=="number"&&typeof r=="number")return String(e+(r-e)*n);let t=String(e),s=String(r);if(On(t))return Ye(t,s,n);if(t.includes("("))return kn(t,s,n);let i=t.match(/^([-+]?[\d.]+)(.*)$/),l=s.match(/^([-+]?[\d.]+)(.*)$/);if(i&&l){let u=parseFloat(i[1]),f=parseFloat(l[1]);return `${u+(f-u)*n}${i[2]||l[2]}`}return n<1?t:s}function Rn(e){return e.replace(/([A-Z])/g,r=>`-${r.toLowerCase()}`)}var Dn=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),In=0,rn="--scroll-draw-progress";function Fn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}function vt(e,r){let n={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return n;let{props:t,trigger:s={},easing:i="ease-out",speed:l=1,once:u=false,axis:f="y",scrollContainer:p,native:E=true,velocityScale:N=false,respectReducedMotion:$=true,triggerElement:oe,onProgress:Pe,onComplete:G,onEnter:Ae,onLeave:H,onEnterBack:Y,onLeaveBack:X}=r,L=$&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,R=typeof i=="function"?i:le[i]??le["ease-out"],T=he(s.start??"top bottom"),C=he(s.end??"bottom top"),P=oe??e,x=typeof p=="string"?document.querySelector(p):p??null,w=Object.entries(t).map(([c,h])=>({prop:Rn(c),from:Array.isArray(h)?h[0]:"",to:Array.isArray(h)?h[1]:h}));function K(){let c=window.getComputedStyle(e);for(let h of w)h.from===""&&(h.from=c.getPropertyValue(h.prop).trim()||"0");}function M(){for(let c of w)e.style.setProperty(c.prop,String(c.to));}let te=new Map;for(let c of [...w.map(h=>h.prop),rn])te.set(c,e.style.getPropertyValue(c));function xe(){for(let[c,h]of te)h?e.style.setProperty(c,h):e.style.removeProperty(c);}if(L)return M(),G?.(),{...n,destroy:xe,getProgress:()=>1};K();let we=typeof i=="string"?ct(i):null;function ce(){if(!E||!Fn()||!we||f!=="y"||x||P!==e||u||l!==1||Pe||G||Ae||H||Y||X||N!==false||(s.start??"top bottom").trim()!=="top bottom"||(s.end??"bottom top").trim()!=="bottom top")return false;for(let c of w)if(!Dn.has(c.prop))return false;return true}function W(){let c=`ssd-a-${++In}`,h=w.map(ae=>`${ae.prop}:${ae.from}`).join(";"),_=w.map(ae=>`${ae.prop}:${ae.to}`).join(";"),q=document.createElement("style");q.setAttribute("data-ssd-animate",""),q.textContent=`@keyframes ${c}{from{${h}}to{${_}}}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${we};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(q),e.classList.add(c);let O=()=>f==="x"?window.scrollX:window.scrollY,de=()=>f==="x"?window.innerWidth:window.innerHeight,ye=()=>{let ae=e.getBoundingClientRect();return $e({top:ae.top,height:ae.height},O(),de(),T,C)};ke(e,{type:"animate",getProgress:()=>ze.getProgress(),getTrigger:ye});let ze={refresh(){},destroy(){e.classList.remove(c),q.remove(),e.style.animationPlayState="",xe(),Re(e);},replay(){e.classList.remove(c),e.offsetWidth,e.classList.add(c);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(ae){let j=Math.min(1,Math.max(0,ae));e.classList.remove(c);for(let Ee of w)e.style.setProperty(Ee.prop,nn(Ee.from,Ee.to,j));},getProgress(){let{tStart:ae,tEnd:j}=ye();return R(re(O(),ae,j,l))}};return ze}if(ce())return W();let D=0,m=0,k=0,v=false,A=false,ue=-1,y=0,V=false,me=NaN,He=-1,ve=0,Me=()=>x?f==="x"?x.scrollLeft:x.scrollTop:f==="x"?window.scrollX:window.scrollY,fe=()=>x?f==="x"?x.clientWidth:x.clientHeight:f==="x"?window.innerWidth:window.innerHeight,Q=P===e?w:[],se=false;function ie(){let c=e.style,h=Q.map(de=>c.getPropertyValue(de.prop)),_=c.transition;Q.length&&(c.transition="none"),Q.forEach(de=>c.setProperty(de.prop,te.get(de.prop)??""));let q=lt(P,x,f);Q.forEach((de,ye)=>c.setProperty(de.prop,h[ye])),Q.length&&(e.offsetWidth,c.transition=_);let O=$e(q,q.scroll,fe(),T,C);se&&Math.abs(O.tStart-D)<1&&Math.abs(O.tEnd-m)<1||(se=true,D=O.tStart,m=O.tEnd);}function Z(c){e.style.setProperty(rn,String(c));for(let h of w)e.style.setProperty(h.prop,nn(h.from,h.to,c));Pe?.(c);}function Ve(c){if(isNaN(me)){me=c;return}me<=0&&c>0?Ae?.():me>0&&c<=0&&X?.(),me<1&&c>=1?H?.():me>=1&&c<1&&Y?.(),me=c;}function z(){if(!v||A)return;let c=performance.now(),h=Me(),_=l;if(N!==false){let de=c-ve,ye=de>0?Math.abs(h-(He<0?h:He))/de:0;_=l*Math.max(.2,1+ye*(typeof N=="number"?N:1)*.04);}He=h,ve=c;let q=m===D?0:(h-D)/(m-D);Ve(q);let O=R(re(h,D,m,_));u&&(ue=Math.max(ue,O),O=ue),y=O,Z(O),O>=1&&!V?(V=true,G?.()):O<1&&!u&&(V=false),k=requestAnimationFrame(z);}ie(),m===D&&be("scrollAnimate: the trigger window has zero length (start and end resolve to the same scroll position), so this element will never animate. If the target is inside a position:sticky stage, measure the trigger from the container that holds the scroll room via `triggerElement`.",e);{let c=R(re(Me(),D,m,l));u&&c>0&&(ue=c),y=c,Z(c);}let I=new IntersectionObserver(c=>{c.forEach(h=>{v=h.isIntersecting,v&&!A?k=requestAnimationFrame(z):cancelAnimationFrame(k);});},{root:x??null}),pe;function ne(){clearTimeout(pe),pe=setTimeout(ie,150);}window.addEventListener("resize",ne),window.addEventListener("orientationchange",ne);let Se=Ie([P],ne);return I.observe(e),ke(e,{type:"animate",getProgress:()=>y,getTrigger:()=>({tStart:D,tEnd:m})}),{destroy(){cancelAnimationFrame(k),I.disconnect(),window.removeEventListener("resize",ne),window.removeEventListener("orientationchange",ne),Se(),clearTimeout(pe),xe(),Re(e);},replay(){ue=-1,V=false,y=0,A=false,Z(0);},pause(){A=true,cancelAnimationFrame(k);},resume(){A&&(A=false,v&&(k=requestAnimationFrame(z)));},seek(c){let h=Math.min(1,Math.max(0,c));y=h,ue=h,A=true,cancelAnimationFrame(k),Z(h);},getProgress(){return y},refresh(){ie();}}}var St={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Et(e,r){if(typeof window>"u")return St;let n=typeof e=="string"?document.querySelector(e):e;if(!n)return be("scrollCounter: element not found:",e),St;let t=n,{from:s=0,to:i,format:l,easing:u="ease-out",trigger:f={},once:p=true,decimals:E,onComplete:N}=r,$=E!==void 0?m=>m.toFixed(E):l??(m=>String(Math.round(m))),oe=typeof u=="function"?u:le[u]??le["ease-out"],Pe=he(f.start??"top 80%"),G=he(f.end??"top 20%");if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t.textContent=$(i),N?.(),St;let H=0,Y=0,X=false,L=0,R=false,T=false,C=-1,P=0,x=false,w=()=>window.scrollY,K=()=>window.innerHeight;function M(){let m=t.getBoundingClientRect(),k=$e({top:m.top,height:m.height},w(),K(),Pe,G);X&&Math.abs(k.tStart-H)<1&&Math.abs(k.tEnd-Y)<1||(X=true,H=k.tStart,Y=k.tEnd);}function te(m){t.textContent=$(s+(i-s)*m),t.style.setProperty("--scroll-draw-progress",String(m));}function xe(){if(!R||T)return;let m=oe(re(w(),H,Y,1));p&&(C=Math.max(C,m),m=C),P=m,te(m),m>=1&&!x?(x=true,N?.()):m<1&&!p&&(x=false),L=requestAnimationFrame(xe);}M();{let m=oe(re(w(),H,Y,1));p&&m>0&&(C=m),P=m,te(m);}let we=new IntersectionObserver(m=>{m.forEach(k=>{R=k.isIntersecting,R&&!T?L=requestAnimationFrame(xe):cancelAnimationFrame(L);});}),ce;function W(){clearTimeout(ce),ce=setTimeout(M,150);}window.addEventListener("resize",W),window.addEventListener("orientationchange",W);let D=Ie([t],W);return we.observe(t),ke(t,{type:"counter",getProgress:()=>P,getTrigger:()=>({tStart:H,tEnd:Y})}),{destroy(){cancelAnimationFrame(L),we.disconnect(),window.removeEventListener("resize",W),window.removeEventListener("orientationchange",W),D(),clearTimeout(ce),Re(t);},replay(){C=-1,x=false,P=0,T=false,te(0);},pause(){T=true,cancelAnimationFrame(L);},resume(){T&&(T=false,R&&(L=requestAnimationFrame(xe)));},seek(m){let k=Math.min(1,Math.max(0,m));P=k,C=k,T=true,cancelAnimationFrame(L),te(k);},getProgress(){return P}}}var on={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Tt(e,r={}){if(typeof window>"u")return on;let n=typeof e=="string"?document.querySelector(e):e;if(!n||n.tagName.toLowerCase()!=="video")return be("scrollVideo: <video> element not found:",e),on;let t=n,{trigger:s={},easing:i="linear",once:l=false,axis:u="y",preload:f="auto",triggerElement:p,onReady:E,onComplete:N,onProgress:$}=r,oe=p??t,Pe=window.matchMedia("(prefers-reduced-motion: reduce)").matches,G=typeof i=="function"?i:le[i]??le.linear,Ae=he(s.start??"top top"),H=he(s.end??"bottom top");t.pause(),t.hasAttribute("preload")||(t.preload=f);let Y=r.from??0,X=r.to,L=0,R=0,T=0,C=false,P=false,x=-1,w=0,K=false,M=false,te=()=>u==="x"?window.scrollX:window.scrollY,xe=()=>u==="x"?window.innerWidth:window.innerHeight;function we(){let y=oe.getBoundingClientRect(),V=u==="x"?y.left:y.top,me=u==="x"?y.width:y.height,He=$e({top:V,height:me},te(),xe(),Ae,H);L=He.tStart,R=He.tEnd,M&&R===L&&be("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",t);}let ce=NaN;function W(y){if(!M)return;let V=X??t.duration??0,me=Y+(V-Y)*y;me!==ce&&(ce=me,t.currentTime=me),t.style.setProperty("--scroll-draw-progress",String(y)),$?.(y);}function D(){if(!C||P||!M||Pe)return;let y=G(re(te(),L,R,1));l&&(x=Math.max(x,y),y=x),w=y,W(y),y>=1&&!K?(K=true,N?.()):y<1&&!l&&(K=false),T=requestAnimationFrame(D);}function m(){if(M=true,X===void 0&&(X=t.duration),Pe){W(1),E?.();return}we(),E?.(),C&&!P&&(T=requestAnimationFrame(D));}t.readyState>=1?m():t.addEventListener("loadedmetadata",m,{once:true}),M||we();let k=new IntersectionObserver(y=>{y.forEach(V=>{C=V.isIntersecting,C&&!P&&M?T=requestAnimationFrame(D):cancelAnimationFrame(T);});}),v;function A(){clearTimeout(v),v=setTimeout(we,150);}window.addEventListener("resize",A),window.addEventListener("orientationchange",A);let ue=Ie([oe],A);return k.observe(t),ke(t,{type:"video",getProgress:()=>w,getTrigger:()=>({tStart:L,tEnd:R})}),{destroy(){cancelAnimationFrame(T),k.disconnect(),t.removeEventListener("loadedmetadata",m),window.removeEventListener("resize",A),window.removeEventListener("orientationchange",A),ue(),clearTimeout(v),Re(t);},replay(){x=-1,K=false,w=0,P=false,ce=NaN,W(0);},pause(){P=true,cancelAnimationFrame(T);},resume(){P&&(P=false,C&&M&&(T=requestAnimationFrame(D)));},seek(y){let V=Math.min(1,Math.max(0,y));w=V,x=V,P=true,cancelAnimationFrame(T),ce=NaN,W(V);},getProgress(){return w}}}function sn(e,r){let n=document.createElement("span");n.textContent=r,n.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(n);}function cn(e){let r=e.textContent??"";return e.textContent="",r.split(/(\s+)/).filter(Boolean).map(n=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),/^\s+$/.test(n)?(t.textContent=n,t.style.whiteSpace="pre"):(t.textContent=n,t.style.display="inline-block"),e.appendChild(t),/^\s+$/.test(n)?null:t}).filter(n=>n!==null)}function Nn(e){let r=e.textContent??"";return e.textContent="",r.split("").map(n=>{let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=n,n===" "?t.style.whiteSpace="pre":t.style.display="inline-block",e.appendChild(t),n===" "?null:t}).filter(n=>n!==null)}function an(e){let r=cn(e),n=new Map;for(let i of r){let l=i.offsetTop;n.has(l)||n.set(l,[]),n.get(l).push(i);}let t=[],s=Array.from(n.keys()).sort((i,l)=>i-l);for(let i of s){let l=n.get(i),u=document.createElement("span");u.setAttribute("aria-hidden","true"),u.style.display="inline-block",l.forEach((f,p)=>{let E=f.nextElementSibling;u.appendChild(f),p<l.length-1&&E&&E.style.whiteSpace==="pre"&&u.appendChild(E);}),t.push(u);}return e.textContent="",t.forEach((i,l)=>{e.appendChild(i),l<t.length-1&&e.appendChild(document.createTextNode(" "));}),t}function Hn(e,r,n,t){if(n<=1||t===0)return e;let s=(n-1)*t,i=r*t,l=i+(1-s);return l<=i?e>=i?1:0:Math.min(1,Math.max(0,(e-i)/(l-i)))}function Vn(e,r){let n=[];if(r?.y!==void 0&&n.push(`translateY(${r.y*(1-e)}px)`),r?.x!==void 0&&n.push(`translateX(${r.x*(1-e)}px)`),r?.rotate!==void 0&&n.push(`rotate(${r.rotate*(1-e)}deg)`),r?.scale!==void 0){let t=r.scale+(1-r.scale)*e;n.push(`scale(${t})`);}return n.join(" ")||""}var ln={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function xt(e,r={}){if(typeof window>"u")return ln;let n=typeof e=="string"?document.querySelector(e):e;if(!n)return be("scrollText: element not found:",e),ln;let t=n,{split:s="words",stagger:i=.04,easing:l="ease-out",from:u={opacity:0,y:24},trigger:f={},once:p=true,onComplete:E}=r,N=window.matchMedia("(prefers-reduced-motion: reduce)").matches,$=typeof l=="function"?l:le[l]??le["ease-out"],oe=he(f.start??"top 85%"),Pe=he(f.end??"top 40%"),G=t.innerHTML,Ae=t.textContent??"",H;s==="chars"?H=Nn(t):s==="lines"?H=an(t):H=cn(t),sn(t,Ae);let Y=H.length;function X(v,A){u?.opacity!==void 0&&(v.style.opacity=String(u.opacity+(1-u.opacity)*A));let ue=Vn(A,u);ue&&(v.style.transform=ue);}function L(v){t.style.setProperty("--scroll-draw-progress",String(v)),H.forEach((A,ue)=>{let y=$(Hn(v,ue,Y,i));X(A,y);});}if(N)return L(1),E?.(),{destroy(){t.innerHTML=G;},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};L(0);let R=0,T=0,C=0,P=false,x=false,w=-1,K=0,M=false,te=()=>window.scrollY,xe=()=>window.innerHeight;function we(){let v=t.getBoundingClientRect(),A=$e({top:v.top,height:v.height},te(),xe(),oe,Pe);R=A.tStart,T=A.tEnd;}function ce(){if(!P||x)return;let v=re(te(),R,T,1);p&&(w=Math.max(w,v),v=w),K=v,L(v),v>=1&&!M?(M=true,E?.()):v<1&&!p&&(M=false),C=requestAnimationFrame(ce);}we();let W=new IntersectionObserver(v=>{v.forEach(A=>{P=A.isIntersecting,P&&!x?C=requestAnimationFrame(ce):cancelAnimationFrame(C);});}),D;function m(){clearTimeout(D),D=setTimeout(()=>{if(s==="lines"){let v=K;t.innerHTML=G,H=an(t),sn(t,Ae),L(v);}we();},150);}window.addEventListener("resize",m),window.addEventListener("orientationchange",m);let k=Ie([t],m);return W.observe(t),ke(t,{type:"text",getProgress:()=>K,getTrigger:()=>({tStart:R,tEnd:T})}),{destroy(){cancelAnimationFrame(C),W.disconnect(),window.removeEventListener("resize",m),window.removeEventListener("orientationchange",m),k(),clearTimeout(D),t.innerHTML=G,Re(t);},replay(){w=-1,M=false,K=0,x=false,L(0);},pause(){x=true,cancelAnimationFrame(C);},resume(){x&&(x=false,P&&(C=requestAnimationFrame(ce)));},seek(v){let A=Math.min(1,Math.max(0,v));K=A,w=A,x=true,cancelAnimationFrame(C),L(A);},getProgress(){return K}}}var nt=e=>typeof e=="function"?e():vue.unref(e);function Ne(e,r,n){let t=null,s=r(),i=()=>{t?.destroy(),t=e.value?n(e.value,en(s,()=>s)):null;};vue.onMounted(i),vue.watch(()=>Jt(s=r()),i),vue.onUnmounted(()=>{t?.destroy(),t=null;});}function qn(e={}){let r=vue.ref(null);return Ne(r,()=>nt(e),wt),r}var un={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},Gn=[null,Boolean,[Boolean,String],[Boolean,Number]],mn=e=>({type:e,default:void 0}),Mt=vue.defineComponent({name:"ScrollDraw",props:Object.fromEntries(Object.entries(un).map(([e,r])=>[e,r?mn(Gn[r]):null])),setup(e,{slots:r}){let n=vue.ref(null);return Ne(n,()=>{let t={};for(let s in un){let i=e[s];i!=null&&(t[s]=i);}return t},wt),()=>vue.h("div",{ref:n},r.default?.())}});function jn(e){let r=vue.ref(null);return Ne(r,()=>nt(e),vt),r}var At=vue.defineComponent({name:"ScrollAnimate",props:{options:{type:Object,required:true}},setup(e,{slots:r}){let n=vue.ref(null);return Ne(n,()=>e.options,vt),()=>vue.h("div",{ref:n},r.default?.())}});function Un(e){let r=vue.ref(null);return Ne(r,()=>nt(e),Et),r}var Lt=vue.defineComponent({name:"ScrollCounter",props:{to:{type:Number,required:true},from:{type:Number},format:{type:Function},easing:{type:[String,Function]},trigger:{type:Object},once:mn(Boolean),decimals:{type:Number},onComplete:{type:Function}},setup(e){let r=vue.ref(null);return Ne(r,()=>{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:r})}});function Yn(e={}){let r=vue.ref(null);return Ne(r,()=>nt(e),Tt),r}var Ct=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 r=vue.ref(null);return Ne(r,()=>e.options??{},Tt),()=>vue.h("video",{ref:r,src:e.src,muted:e.muted,playsinline:e.playsInline,preload:"auto",class:e.class})}});function Xn(e={}){let r=vue.ref(null);return Ne(r,()=>nt(e),xt),r}var $t=vue.defineComponent({name:"ScrollText",props:{options:{type:Object},tag:{type:String,default:"p"}},setup(e,{slots:r}){let n=vue.ref(null);return Ne(n,()=>e.options??{},xt),()=>vue.h(e.tag,{ref:n},r.default?.())}});function ro(){return {install(e){e.component("ScrollDraw",Mt),e.component("ScrollAnimate",At),e.component("ScrollCounter",Lt),e.component("ScrollVideo",Ct),e.component("ScrollText",$t);}}}exports.ScrollAnimate=At;exports.ScrollCounter=Lt;exports.ScrollDraw=Mt;exports.ScrollText=$t;exports.ScrollVideo=Ct;exports.createScrollDrawPlugin=ro;exports.useScrollAnimate=jn;exports.useScrollCounter=Un;exports.useScrollDraw=qn;exports.useScrollText=Xn;exports.useScrollVideo=Yn;
@@ -1 +1 @@
1
- import {b,d,f,h,j}from'../chunk-VVFGB4RT.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-VVFGB4RT.mjs';import'../chunk-XSVTHCLO.mjs';import'../chunk-7SBTYJGH.mjs';import'../chunk-I45LCJUP.mjs';import'../chunk-KHQ7OGQK.mjs';import'../chunk-BFX2CSQ3.mjs';import'../chunk-LQBXJRFY.mjs';import'../chunk-OJFWQ6CU.mjs';import'../chunk-YWKPTYSG.mjs';import'../chunk-YZV4Z3EQ.mjs';import'../chunk-A4JCC3QQ.mjs';import'../chunk-DM6EDKWH.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}from'../chunk-MENZ5DS4.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-MENZ5DS4.mjs';import'../chunk-XSVTHCLO.mjs';import'../chunk-7SBTYJGH.mjs';import'../chunk-426RAN5I.mjs';import'../chunk-KHQ7OGQK.mjs';import'../chunk-BFX2CSQ3.mjs';import'../chunk-ENACACPZ.mjs';import'../chunk-OJFWQ6CU.mjs';import'../chunk-YWKPTYSG.mjs';import'../chunk-YZV4Z3EQ.mjs';import'../chunk-A4JCC3QQ.mjs';import'../chunk-DM6EDKWH.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};