svg-scroll-draw 2.26.0 → 2.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
- 'use strict';var vue=require('vue');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 k(e,...r){Xe&&console.warn(`[svg-scroll-draw] ${e}`,...r);}function kr({tension:e=2.5,friction:r=2.2}={}){return t=>1-Math.cos(t*Math.PI*e)*Math.pow(1-t,r)}function Rr({bounces:e=3,decay:r=.5}={}){let t=Math.max(1,Math.round(e)),n=Math.max(.01,Math.min(.99,r)),o=Math.sqrt(n),s=0,i=[];for(let g=0;g<t;g++){let w=Math.pow(o,g);i.push(w),s+=w;}let c=[0],m=0;for(let g=0;g<t;g++)m+=i[g]/s,c.push(m);return g=>{if(g<=0)return 0;if(g>=1)return 1;for(let w=0;w<t;w++)if(g<=c[w+1]){let A=(g-c[w])/(c[w+1]-c[w]);if(w===0)return A*(2-A);let S=1-Math.pow(n,w);return S+(1-S)*(2*A-1)*(2*A-1)}return 1}}function $r({amplitude:e=1,period:r=.4}={}){let t=Math.max(1,e),n=Math.max(.1,r),o=t<=1?n/4:n/(2*Math.PI)*Math.asin(1/t);return s=>s<=0?0:s>=1?1:t*Math.pow(2,-10*s)*Math.sin((s-o)*(2*Math.PI)/n)+1}var Je={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:kr(),bounce:Rr(),elastic:$r()};function Fr(e,r,t,n){let o=(s,i,c)=>((1+3*s-3*i)*c+3*i-6*s)*c*c+3*s*c;return s=>{if(s<=0||s>=1)return +(s>0);let i=s;for(let c=0;c<8;c++)i-=(o(e,t,i)-s)/((3*(1+3*e-3*t)*i+6*t-12*e)*i+3*e);if(!(i>=0&&i<=1&&Math.abs(o(e,t,i)-s)<1e-9))for(let c=0,m=0,g=1;c<30;c++)i=(m+g)/2,o(e,t,i)<s?m=i:g=i;return o(r,n,i)}}function xt(e){let r=/^cubic-bezier\((.*)\)$/.exec(e==="ease"?"cubic-bezier(.25,.1,.25,1)":e.trim()),t=r?r[1].split(",").map(parseFloat):[];if(t.length===4&&t.every(Number.isFinite)&&t[0]*(1-t[0])>=0&&t[2]*(1-t[2])>=0)return [Fr(t[0],t[1],t[2],t[3]),`cubic-bezier(${t})`]}var Yt=new Set;function Ie(e,r="linear"){if(typeof e=="function")return e;if(e==null)return Je[r];if({}.hasOwnProperty.call(Je,e))return Je[e];let t=xt(String(e));return t?t[0]:(!Yt.has(e)&&Yt.add(e)&&k(`Unknown easing ${JSON.stringify(e)}: use a name, cubic-bezier() or a function.`),Je[r])}function it(e,r,t){return Math.min(t,Math.max(r,e))}function ae(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}}var Kt=(e,r)=>e==="top"?0:e==="center"?.5:e==="bottom"?1:r;function Ut(e,r,t,n){return e+t+r*Kt(n,0)}function Qt(e,r){return r*(/^\d+(\.\d+)?%$/.test(e)?parseFloat(e)/100:Kt(e,1))}function U(e,r,t,n){return t===r?0:it((e-r)/(t-r)*n,0,1)}function Le(e,r,t,n,o){let s=Ut(e.top,e.height,r,n.element)-Qt(n.viewport,t),i=Ut(e.top,e.height,r,o.element)-Qt(o.viewport,t);return {tStart:s,tEnd:i}}function mt(e,r,t){let n=e.getBoundingClientRect(),o=t==="x"?n.width:n.height;return r?{top:t==="x"?n.left-r.getBoundingClientRect().left-r.clientLeft+r.scrollLeft:n.top-r.getBoundingClientRect().top-r.clientTop+r.scrollTop,height:o,scroll:0}:{top:t==="x"?n.left:n.top,height:o,scroll:t==="x"?window.scrollX:window.scrollY}}function pt(e){let r=parseFloat(e.getAttribute("pathLength")??"");if(r>0)return r;let t=e.tagName.toLowerCase();if(t==="rect"){let n=parseFloat(e.getAttribute("width")??"0"),o=parseFloat(e.getAttribute("height")??"0");return 2*(n+o)}if(t==="circle"){let n=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*n}return e.getTotalLength()}function dt(e){return `${e} ${e*2}`}function Xt(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 gt(e,r,t){let n=Xt(e),o=Xt(r);return !n||!o?e:`rgb(${Math.round(n[0]+(o[0]-n[0])*t)},${Math.round(n[1]+(o[1]-n[1])*t)},${Math.round(n[2]+(o[2]-n[2])*t)})`}var Jt={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var Hr="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Ir="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Zt=33;function Dr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Nr(e){let r=[];for(let t=0;t<Zt;t++){let n=t/(Zt-1);r.push(String(Math.round(e(n)*1e5)/1e5));}return `linear(${r.join(",")})`}function yt(e){switch(e){case "linear":return "linear";case "ease-in":return Hr;case "ease-out":return Ir;case "ease-in-out":return Dr()?Nr(Je["ease-in-out"]):null;default:return xt(e)?.[1]??null}}var er=Symbol.for("svg-scroll-draw.registry");function tr(){let e=globalThis;return e[er]||(e[er]=new Map)}function Pe(e,r){tr().set(e,r);}function ke(e){tr().delete(e);}function Ze(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let r=window.matchMedia("(prefers-reduced-motion: reduce)"),t=o=>e(!!o.matches);if(typeof r.addEventListener=="function")return r.addEventListener("change",t),()=>r.removeEventListener("change",t);let n=r;return n.addListener?.(t),()=>n.removeListener?.(t)}function qe(e,r){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return r(e,true);let t=r(e,false),n=Ze(s=>{if(!s)return;n();let i=(t.getProgress?.()??0)>=1;t.destroy(),t=r(i?{...e,onComplete:void 0}:e,true);}),o={};for(let s of Object.keys(t))o[s]=(...i)=>t[s]?.(...i);return o.destroy=()=>{n(),t.destroy();},o}var at,ht=new Set,bt=new WeakMap,lt=new Map,rr=e=>{let r=e.getBoundingClientRect();return r.width+" "+r.height};function _r(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 nr(e,r){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let t=()=>r();at??(at=new ResizeObserver(o=>{let s=false;for(let{target:i}of o)bt.get(i)!==rr(i)&&(s=true),bt.set(i,"");s&&ht.forEach(i=>i());})),ht.add(t);let n=_r(e);return [document.body,document.documentElement].forEach(o=>o&&n.add(o)),n.forEach(o=>{bt.has(o)||bt.set(o,rr(o)),lt.set(o,(lt.get(o)??0)+1),at.observe(o);}),()=>{ht.delete(t)&&(n.forEach(o=>{let s=(lt.get(o)??1)-1;if(s)return void lt.set(o,s);lt.delete(o),at?.unobserve(o);}),ht.size||(at?.disconnect(),at=void 0));}}function De(e,r,t,n,o){let s,i=NaN,c,m,g=()=>{s=0,n(),!c&&!s&&(i=t())>0&&i<1&&(s=requestAnimationFrame(g));},w=()=>{!s&&!c&&t()!==i&&(s=requestAnimationFrame(g));},A=z=>{c=z,cancelAnimationFrame(s),s=i=NaN,w();},S=()=>{clearTimeout(m),o(),w();},B=()=>{clearTimeout(m),m=setTimeout(S,150);},Q=nr(r,B),v=z=>{e[z]("scroll",w,{passive:true}),window[z]("resize",B),window[z]("orientationchange",B);};return v("addEventListener"),w(),{hold:A,remeasure:S,off(){A(true),v("removeEventListener"),Q(),clearTimeout(m);}}}var Vr=0;function zr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function or(e,r){let t="";try{t=getComputedStyle(e).getPropertyValue(r).trim();}catch{}return t||(e.getAttribute(r)??"").trim()}var sr=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Wr(e){if(!Xe)return;let r=or(e,"stroke");if(!r||r==="none"){k("Element has no stroke \u2014 path will not be visible.",e);return}let t=(e.getAttribute("fill")??"").trim();t&&!sr.has(t)&&!sr.has(or(e,"fill"))&&k("Element has a fill \u2014 it may obscure the stroke animation.",e);}function Br(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 o(){let s=t==="x"?window.scrollX:window.scrollY,i=e-s,c=r-s,m=t==="x";n.innerHTML=`
1
+ 'use strict';var vue=require('vue');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 A(e,...t){Xe&&console.warn(`[svg-scroll-draw] ${e}`,...t);}function $r({tension:e=2.5,friction:t=2.2}={}){return r=>1-Math.cos(r*Math.PI*e)*Math.pow(1-r,t)}function Fr({bounces:e=3,decay:t=.5}={}){let r=Math.max(1,Math.round(e)),n=Math.max(.01,Math.min(.99,t)),o=Math.sqrt(n),s=0,i=[];for(let g=0;g<r;g++){let w=Math.pow(o,g);i.push(w),s+=w;}let c=[0],m=0;for(let g=0;g<r;g++)m+=i[g]/s,c.push(m);return g=>{if(g<=0)return 0;if(g>=1)return 1;for(let w=0;w<r;w++)if(g<=c[w+1]){let P=(g-c[w])/(c[w+1]-c[w]);if(w===0)return P*(2-P);let x=1-Math.pow(n,w);return x+(1-x)*(2*P-1)*(2*P-1)}return 1}}function Hr({amplitude:e=1,period:t=.4}={}){let r=Math.max(1,e),n=Math.max(.1,t),o=r<=1?n/4:n/(2*Math.PI)*Math.asin(1/r);return s=>s<=0?0:s>=1?1:r*Math.pow(2,-10*s)*Math.sin((s-o)*(2*Math.PI)/n)+1}var Je={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:$r(),bounce:Fr(),elastic:Hr()};function Ir(e,t,r,n){let o=(s,i,c)=>((1+3*s-3*i)*c+3*i-6*s)*c*c+3*s*c;return s=>{if(s<=0||s>=1)return +(s>0);let i=s;for(let c=0;c<8;c++)i-=(o(e,r,i)-s)/((3*(1+3*e-3*r)*i+6*r-12*e)*i+3*e);if(!(i>=0&&i<=1&&Math.abs(o(e,r,i)-s)<1e-9))for(let c=0,m=0,g=1;c<30;c++)i=(m+g)/2,o(e,r,i)<s?m=i:g=i;return o(t,n,i)}}function Mt(e){let t=/^cubic-bezier\((.*)\)$/.exec(e==="ease"?"cubic-bezier(.25,.1,.25,1)":e.trim()),r=t?t[1].split(",").map(parseFloat):[];if(r.length===4&&r.every(Number.isFinite)&&r[0]*(1-r[0])>=0&&r[2]*(1-r[2])>=0)return [Ir(r[0],r[1],r[2],r[3]),`cubic-bezier(${r})`]}var Yt=new Set;function Ie(e,t="linear"){if(typeof e=="function")return e;if(e==null)return Je[t];if({}.hasOwnProperty.call(Je,e))return Je[e];let r=Mt(String(e));return r?r[0]:(!Yt.has(e)&&Yt.add(e)&&A(`Unknown easing ${JSON.stringify(e)}: use a name, cubic-bezier() or a function.`),Je[t])}function it(e,t,r){return Math.min(r,Math.max(t,e))}function ae(e="top bottom"){let t=e.trim();if(/^\d+(\.\d+)?%$/.test(t))return {element:"top",viewport:t};let[r="top",n="bottom"]=t.split(/\s+/).filter(Boolean);return {element:r,viewport:n}}var Kt=(e,t)=>e==="top"?0:e==="center"?.5:e==="bottom"?1:t;function Ut(e,t,r,n){return e+r+t*Kt(n,0)}function Qt(e,t){return t*(/^\d+(\.\d+)?%$/.test(e)?parseFloat(e)/100:Kt(e,1))}function Q(e,t,r,n){return r===t?0:it((e-t)/(r-t)*n,0,1)}function Le(e,t,r,n,o){let s=Ut(e.top,e.height,t,n.element)-Qt(n.viewport,r),i=Ut(e.top,e.height,t,o.element)-Qt(o.viewport,r);return {tStart:s,tEnd:i}}function mt(e,t,r){let n=e.getBoundingClientRect(),o=r==="x"?n.width:n.height;return t?{top:r==="x"?n.left-t.getBoundingClientRect().left-t.clientLeft+t.scrollLeft:n.top-t.getBoundingClientRect().top-t.clientTop+t.scrollTop,height:o,scroll:0}:{top:r==="x"?n.left:n.top,height:o,scroll:r==="x"?window.scrollX:window.scrollY}}function pt(e){let t=parseFloat(e.getAttribute("pathLength")??"");if(t>0)return t;let r=e.tagName.toLowerCase();if(r==="rect"){let n=parseFloat(e.getAttribute("width")??"0"),o=parseFloat(e.getAttribute("height")??"0");return 2*(n+o)}if(r==="circle"){let n=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*n}return e.getTotalLength()}function dt(e){return `${e} ${e*2}`}function Xt(e){let t=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(t)return [parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)];let r=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(r)return [parseInt(r[1],16),parseInt(r[2],16),parseInt(r[3],16)];let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return n?[parseInt(n[1]),parseInt(n[2]),parseInt(n[3])]:null}function gt(e,t,r){let n=Xt(e),o=Xt(t);return !n||!o?e:`rgb(${Math.round(n[0]+(o[0]-n[0])*r)},${Math.round(n[1]+(o[1]-n[1])*r)},${Math.round(n[2]+(o[2]-n[2])*r)})`}var Jt={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var Dr="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Nr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Zt=33;function _r(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Vr(e){let t=[];for(let r=0;r<Zt;r++){let n=r/(Zt-1);t.push(String(Math.round(e(n)*1e5)/1e5));}return `linear(${t.join(",")})`}function yt(e){switch(e){case "linear":return "linear";case "ease-in":return Dr;case "ease-out":return Nr;case "ease-in-out":return _r()?Vr(Je["ease-in-out"]):null;default:return Mt(e)?.[1]??null}}var er=Symbol.for("svg-scroll-draw.registry");function tr(){let e=globalThis;return e[er]||(e[er]=new Map)}function Pe(e,t){tr().set(e,t);}function ke(e){tr().delete(e);}function Ze(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let t=window.matchMedia("(prefers-reduced-motion: reduce)"),r=o=>e(!!o.matches);if(typeof t.addEventListener=="function")return t.addEventListener("change",r),()=>t.removeEventListener("change",r);let n=t;return n.addListener?.(r),()=>n.removeListener?.(r)}function qe(e,t){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t(e,true);let r=t(e,false),n=Ze(s=>{if(!s)return;n();let i=(r.getProgress?.()??0)>=1;r.destroy(),r=t(i?{...e,onComplete:void 0}:e,true);}),o={};for(let s of Object.keys(r))o[s]=(...i)=>r[s]?.(...i);return o.destroy=()=>{n(),r.destroy();},o}var at,ht=new Set,bt=new WeakMap,lt=new Map,rr=e=>{let t=e.getBoundingClientRect();return t.width+" "+t.height};function zr(e){let t=new Set;for(let r of e)for(;r&&r!==document.body;r=r.parentElement)for(let n=r;n;n=n.previousElementSibling)t.add(n);return t}function nr(e,t){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let r=()=>t();at??(at=new ResizeObserver(o=>{let s=false;for(let{target:i}of o)bt.get(i)!==rr(i)&&(s=true),bt.set(i,"");s&&ht.forEach(i=>i());})),ht.add(r);let n=zr(e);return [document.body,document.documentElement].forEach(o=>o&&n.add(o)),n.forEach(o=>{bt.has(o)||bt.set(o,rr(o)),lt.set(o,(lt.get(o)??0)+1),at.observe(o);}),()=>{ht.delete(r)&&(n.forEach(o=>{let s=(lt.get(o)??1)-1;if(s)return void lt.set(o,s);lt.delete(o),at?.unobserve(o);}),ht.size||(at?.disconnect(),at=void 0));}}function De(e,t,r,n,o){let s,i=NaN,c,m,g=()=>{s=0,n(),!c&&!s&&(i=r())>0&&i<1&&(s=requestAnimationFrame(g));},w=()=>{!s&&!c&&r()!==i&&(s=requestAnimationFrame(g));},P=j=>{c=j,cancelAnimationFrame(s),s=i=NaN,w();},x=()=>{clearTimeout(m),o(),w();},k=()=>{clearTimeout(m),m=setTimeout(x,150);},z=nr(t,k),T=j=>{e[j]("scroll",w,{passive:true}),window[j]("resize",k),window[j]("orientationchange",k);};return T("addEventListener"),w(),{hold:P,remeasure:x,off(){P(true),T("removeEventListener"),z(),clearTimeout(m);}}}var Wr=0;function Br(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function or(e,t){let r="";try{r=getComputedStyle(e).getPropertyValue(t).trim();}catch{}return r||(e.getAttribute(t)??"").trim()}var sr=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Gr(e){if(!Xe)return;let t=or(e,"stroke");if(!t||t==="none"){A("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!sr.has(r)&&!sr.has(or(e,"fill"))&&A("Element has a fill \u2014 it may obscure the stroke animation.",e);}function jr(e,t,r){let n=document.createElement("div");n.setAttribute("data-svg-scroll-draw-debug",""),n.style.cssText="position:fixed;pointer-events:none;z-index:9999;font-family:monospace;font-size:11px;top:0;left:0;right:0;bottom:0;";function o(){let s=r==="x"?window.scrollX:window.scrollY,i=e-s,c=t-s,m=r==="x";n.innerHTML=`
2
2
  <div style="position:absolute;${m?`left:${i}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${i}px;left:0;right:0;border-top:2px dashed #22c55e;`}padding:2px 6px;color:#22c55e;background:rgba(0,0,0,.6)">\u25B6 start</div>
3
- <div style="position:absolute;${m?`left:${c}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${c}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(n),window.addEventListener("scroll",o,{passive:true}),o(),{el:n,destroy(){window.removeEventListener("scroll",o),n.remove();}}}var ir=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,ar=/[MmLlHhVvCcSsQqTtAaZz]/g;function Gr(e,r,t){if(!Xe)return;let n=(e.match(ar)??[]).join("").toUpperCase(),o=(r.match(ar)??[]).join("").toUpperCase(),s=(e.match(ir)??[]).length,i=(r.match(ir)??[]).length;if(n!==o){k(`morphTo: command sequence differs (${n||"\u2205"} \u2192 ${o||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,t);return}s!==i&&k(`morphTo: coordinate count differs (${s} \u2192 ${i}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,t);}function jr(e,r,t){let n=(r.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),o=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,s=>{let i=parseFloat(s),c=n[o++]??i;return String(+(i+(c-i)*t).toFixed(4))})}function Lt(e,r={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:qe(r,(t,n)=>qr(e,t,n))}function qr(e,r,t){let{preset:n,...o}=r,s=n?{...Jt[n],...o}:o,{selector:i="path, polyline, line, polygon, rect, circle",speed:c=1,fade:m=false,easing:g="linear",trigger:w={},stagger:A=0,direction:S="forward",once:B=false,debug:Q=false,axis:v="y",scrollContainer:z,autoReverse:Z=false,delay:P=0,strokeColor:O,strokeWidth:L,fillOpacity:R,waypoints:y,velocityScale:$=false,threshold:W=0,rootMargin:se="0px",repeat:K=0,repeatDelay:_=0,morphTo:I,clip:T,autoplay:X=false,duration:E=1e3,native:C=true,onProgress:ye,onStart:D,onComplete:j,onEnter:ue,onLeave:Ee,onEnterBack:fe,onLeaveBack:ie}=s,M=T===true?"left":typeof T=="string"?T:false,x=Ie(g),re=ae(w.start||"top bottom"),Re=ae(w.end||"bottom top"),J=typeof z=="string"?document.querySelector(z):z??null,$e=Array.isArray(O)?O[0]:null,Se=Array.isArray(O)?O[1]:typeof O=="string"?O:null,he=Array.isArray(L)?L[0]:null,ze=Array.isArray(L)?L[1]:typeof L=="number"?L:null,Fe=Array.isArray(R)?R[0]:null,Te=Array.isArray(R)?R[1]:typeof R=="number"?R:null;function Ce(a){let f=a*100;switch(M){case "right":return `inset(0 0 0 ${100-f}%)`;case "top":return `inset(0 0 ${100-f}% 0)`;case "bottom":return `inset(${100-f}% 0 0 0)`;case "center":return `circle(${a*150}% at 50% 50%)`;default:return `inset(0 ${100-f}% 0 0)`}}let l=M?[]:Array.from(e.querySelectorAll(i)),d=[],ne=[],F=0,V=0,G=A,q=0,Ve=0,oe=false,He=false,be=0,Qe=-1,Ye=[],Ue=-1,me=false,u=0,p=0,b,le=false,we=null;function We(){we?.destroy(),we=null;}let Oe=new Set,Be=NaN,Ge=true,ut=-1,It=performance.now(),Ke=NaN;function ft(){return J?v==="x"?J.scrollLeft:J.scrollTop:v==="x"?window.scrollX:window.scrollY}function Dt(){return J?v==="x"?J.clientWidth:J.clientHeight:v==="x"?window.innerWidth:window.innerHeight}function Nt(){let a=mt(e,J,v);return Le(a,a.scroll,Dt(),re,Re)}function Mr(){let a=V-F,f=l.length-1,h=J??document.documentElement,N=v==="x"?"Width":"Height";if(G=A,A>0&&f>0&&a>0){let pe=h[`scroll${N}`]-h[`client${N}`]-1-F-a/c;pe>=0&&(G=Math.min(A,pe/(f*a)));}let ce=Math.max(0,f)*G*a,Me=a/Math.min(c,1);q=F+Math.min(0,ce,Me,ce+Me),Ve=F+Math.max(0,ce,Me,ce+Me);}function _t(){(({tStart:F,tEnd:V}=Nt())),Mr(),Q&&Xe&&(We(),we=Br(F,V,v));}function Et(a,f=Nt){Pe(e,{type:"draw",getProgress:()=>a.getProgress(),getTrigger:f});let h=a.destroy;return a.destroy=()=>{h.call(a),ke(e);},a}function Vt(a,f){return B&&!Z?Math.max(Qe,x(Ye[a]=Math.max(Ye[a]??0,f))):x(f)}function xr(a,f){if(e.style.setProperty("--scroll-draw-progress",String(a)),M){let h=f==="reverse"?1-a:a;e.style.clipPath=Ce(h);return}l.forEach((h,N)=>St(h,N,a,f));}function St(a,f,h,N){a.style.strokeDashoffset=N==="reverse"?`${d[f]*h}`:`${d[f]*(1-h)}`,m&&(a.style.opacity=N==="reverse"?`${1-h}`:`${h}`),$e&&Se?a.style.stroke=gt($e,Se,h):Se&&(a.style.stroke=Se),he!==null&&ze!==null?a.style.strokeWidth=`${he+(ze-he)*h}`:ze!==null&&(a.style.strokeWidth=`${ze}`),Fe!==null&&Te!==null?a.style.fillOpacity=`${Fe+(Te-Fe)*h}`:Te!==null&&(a.style.fillOpacity=`${Te}`),I&&a.tagName.toLowerCase()==="path"&&ne[f]&&a.setAttribute("d",jr(ne[f],I,h));}function Tt(){if(e.style.setProperty("--scroll-draw-progress","0"),M){e.style.clipPath=Ce(S==="reverse"?1:0);return}l.forEach((a,f)=>{a.style.strokeDasharray=dt(d[f]),a.style.strokeDashoffset=S==="reverse"?"0":`${d[f]}`,m?a.style.opacity=S==="reverse"?"1":"0":a.style.opacity="",$e&&(a.style.stroke=$e),he!==null&&(a.style.strokeWidth=`${he}`),Fe!==null&&(a.style.fillOpacity=`${Fe}`),I&&a.tagName.toLowerCase()==="path"&&ne[f]&&a.setAttribute("d",ne[f]);});}function nt(a,f){let h=a.getAttribute("d"),N=pt(a);if(I&&ne[f]){a.setAttribute("d",I);let ce=pt(a);a.setAttribute("d",ne[f]),N=Math.max(pt(a),ce),a.setAttribute("d",h);}d[f]=N,a.style.strokeDasharray=dt(N);}if(l.forEach((a,f)=>{Wr(a);let h=a.tagName.toLowerCase()==="path";h?ne.push(a.getAttribute("d")??""):ne.push(""),nt(a,f);let N=d[f];I&&(h?Gr(ne[ne.length-1],I,a):k(`morphTo only applies to <path> elements \u2014 ignored on <${a.tagName}>.`,a)),t?(a.style.strokeDashoffset=S==="reverse"?`${N}`:"0",m&&(a.style.opacity="1"),Se&&(a.style.stroke=Se),ze!==null&&(a.style.strokeWidth=`${ze}`),Te!==null&&(a.style.fillOpacity=`${Te}`),I&&a.tagName.toLowerCase()==="path"&&a.setAttribute("d",I)):(a.style.strokeDashoffset=S==="reverse"?"0":`${N}`,m?a.style.opacity=S==="reverse"?"1":"0":a.style.opacity="",$e&&(a.style.stroke=$e),he!==null&&(a.style.strokeWidth=`${he}`),Fe!==null&&(a.style.fillOpacity=`${Fe}`));}),t)return M&&(e.style.clipPath=Ce(1)),j?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};M&&(e.style.clipPath=Ce(S==="reverse"?1:0));let zt=typeof g=="string"?yt(g):null;function Lr(){return !(C===false||X||Q&&Xe||!zr()||!l.length||!zt||M||v!=="y"||J||c!==1||A!==0||B||Z||$!==false||I||y||K||P>0||ye||D||j||ue||Ee||fe||ie||O!=null||L!=null||R!=null||(w.start||"top bottom").trim()!=="top bottom"||(w.end||"bottom top").trim()!=="bottom top")}function Cr(){let a=++Vr,f=`svg-scroll-draw-${a}`,h=`svg-scroll-draw-host-${a}`,N=`--svg-scroll-draw-${a}`,ce=S==="reverse"?"0":"var(--ssd-len)",Me=S==="reverse"?"var(--ssd-len)":"0",pe=`stroke-dashoffset:${ce};`,ee=`stroke-dashoffset:${Me};`;m&&(pe+=`opacity:${S==="reverse"?1:0};`,ee+=`opacity:${S==="reverse"?0:1};`);let te=document.createElement("style");te.setAttribute("data-svg-scroll-draw",""),te.textContent=`@keyframes ${f}{from{${pe}}to{${ee}}}.${h}{view-timeline-name:${N};view-timeline-axis:block;}.${f}{animation-name:${f};animation-duration:auto;animation-timing-function:${zt};animation-fill-mode:both;animation-timeline:${N};animation-range:cover 0% cover 100%;}`,document.head.appendChild(te),e.classList.add(h);function ve(H,Y){H.style.setProperty("--ssd-len",String(d[Y])),H.style.strokeDasharray=dt(d[Y]),H.style.strokeDashoffset="",H.style.opacity="",H.style.animationPlayState="",H.classList.add(f);}l.forEach(ve);let de=false,xe=-1;function Ae(){if(xe>=0)return xe;let H=e.getBoundingClientRect(),{tStart:Y,tEnd:ge}=Le({top:H.top,height:H.height},ft(),Dt(),re,Re);return x(U(ft(),Y,ge,c))}return {destroy(){e.classList.remove(h),l.forEach(H=>{H.classList.remove(f),H.style.removeProperty("--ssd-len"),H.style.animationPlayState="";}),te.remove();},replay(){de=false,xe=-1,l.forEach(ve);},pause(){de=true,l.forEach(H=>{H.style.animationPlayState="paused";});},resume(){de&&(de=false,l.forEach(H=>{H.style.animationPlayState="running";}));},seek(H){let Y=Math.min(1,Math.max(0,H));xe=Y,de=true,l.forEach((ge,je)=>{ge.classList.remove(f),ge.style.strokeDashoffset=S==="reverse"?`${d[je]*Y}`:`${d[je]*(1-Y)}`,m&&(ge.style.opacity=S==="reverse"?`${1-Y}`:`${Y}`);});},getProgress(){return Ae()},refresh(){l.forEach((H,Y)=>{nt(H,Y),H.style.setProperty("--ssd-len",String(d[Y]));});}}}if(Lr())return Et(Cr());function Or(){let a=Math.max(1,E),f=M?a:a*(1+Math.max(0,l.length-1)*A),h=0,N=0,ce=false;function Me(xe){let Ae=true,H=Math.min(1,Math.max(0,xe/f));if(M){let Y=Math.min(1,Math.max(0,xe/a)),ge=x(Y);u=ge,e.style.setProperty("--scroll-draw-progress",String(ge)),e.style.clipPath=Ce(S==="reverse"?1-ge:ge),ye?.(ge),Y<1&&(Ae=false);}else {l.forEach((ge,je)=>{let Pr=je*A*a,qt=Math.min(1,Math.max(0,(xe-Pr)/a));St(ge,je,x(qt),S),qt<1&&(Ae=false);});let Y=x(H);u=Y,ye?.(Y),e.style.setProperty("--scroll-draw-progress",String(Y));}if(y){let Y=x(H);for(let ge in y){let je=parseFloat(ge);Y>=je&&!Oe.has(je)&&(Oe.add(je),y[ge]?.());}}return Ae}function pe(xe){if(me)return;let Ae=xe-h;He||(He=true,D?.());let H=Me(Ae);if(H&&!oe){oe=true,Me(f),j?.(),p<(K==="infinite"?1/0:K??0)&&(p++,b=setTimeout(()=>{h=performance.now(),He=false,oe=false,Oe.clear(),Tt(),be=requestAnimationFrame(pe);},_));return}H||(be=requestAnimationFrame(pe));}function ee(){cancelAnimationFrame(be),clearTimeout(b),h=performance.now(),N=0,me=false,He=false,oe=false,p=0,ce=true,u=0,Oe.clear(),Tt(),be=requestAnimationFrame(pe);}let te=new IntersectionObserver(xe=>{xe.forEach(Ae=>{Ae.isIntersecting&&!(B&&oe)?ee():!Ae.isIntersecting&&!B&&!oe&&(cancelAnimationFrame(be),clearTimeout(b),ce=false);});},{root:J??null,threshold:W,rootMargin:se}),ve;function de(){clearTimeout(ve),ve=setTimeout(()=>l.forEach(nt),150);}return window.addEventListener("resize",de),window.addEventListener("orientationchange",de),P>0?setTimeout(()=>te.observe(e),P):te.observe(e),{destroy(){cancelAnimationFrame(be),clearTimeout(b),te.disconnect(),window.removeEventListener("resize",de),window.removeEventListener("orientationchange",de),clearTimeout(ve);},replay(){p=0,ee();},pause(){me||!ce||(me=true,N=performance.now()-h,cancelAnimationFrame(be));},resume(){me&&(me=false,ce=true,h=performance.now()-N,be=requestAnimationFrame(pe));},seek(xe){let Ae=Math.min(1,Math.max(0,xe));u=Ae,me=true,N=Ae*f,h=performance.now()-N,cancelAnimationFrame(be),Me(N);},getProgress(){return u},refresh(){clearTimeout(ve),l.forEach(nt);}}}if(X)return Et(Or());_t();let Wt=()=>U(ft(),q,Ve,1);function Bt(){oe=true,j?.(),p<(K==="infinite"?1/0:K)&&(p++,b=setTimeout(()=>{le=true;},_));}function Gt(){Qe=-1,Ye=[],He=false,oe=false,le=false,Oe.clear(),Tt(),Ge=true;}function Ar(){let a=performance.now(),f=ft();if(le&&Wt()%1&&Gt(),!Ge&&$===false&&f===Be)return;Ge=false,Be=f;let h=c;if($!==false){let ee=a-It,te=ee>0?Math.abs(f-(ut<0?f:ut))/ee:0;h=c*Math.max(.2,1+te*(typeof $=="number"?$:1)*.04);}ut=f,It=a;let N=Z?Ue===-1||f>=Ue?"forward":"reverse":S;Ue=f;let ce=V-F,Me=true,pe=ce===0?0:(f-F)/ce;if(isNaN(Ke)||(Ke<=0&&pe>0&&ue?.(),Ke<1&&pe>=1&&Ee?.(),Ke>=1&&pe<1&&fe?.(),Ke>0&&pe<=0&&ie?.()),Ke=pe,M){let ee=Vt(0,U(f,F,V,h));u=ee,e.style.setProperty("--scroll-draw-progress",String(ee));let te=N==="reverse"?1-ee:ee;e.style.clipPath=Ce(te),ye?.(ee),!He&&U(f,F,V,h)>0&&(He=true,D?.()),ee>=1&&!oe?Bt():ee<1&&!B&&(oe=false);return}if(l.forEach((ee,te)=>{let ve=te*G*ce,de=Vt(te,U(f,F+ve,V+ve,h));St(ee,te,de,N),te===0&&(u=de,ye?.(de),e.style.setProperty("--scroll-draw-progress",String(de))),de<1&&(Me=false);}),y){let ee=x(U(f,F,V,h));for(let te in y){let ve=parseFloat(te);ee>=ve&&!Oe.has(ve)&&(Oe.add(ve),y[te]?.());}}!He&&U(f,F,V,h)>0&&(He=true,D?.()),Me&&!oe?Bt():!Me&&!B&&(oe=false);}let ot=De(J??window,[e],Wt,Ar,()=>{let a=d.join();l.forEach(nt),_t(),Ge=true,d.join()!==a&&st();}),Mt=P>0;function st(){ot.hold(me||Mt);}let jt;return Mt&&(jt=setTimeout(()=>{Mt=false,st();},P)),st(),Et({destroy(){clearTimeout(b),clearTimeout(jt),ot.off(),We();},replay(){Gt(),Ue=-1,ut=-1,p=0,me=false,u=0,clearTimeout(b),st();},pause(){me=true,ot.hold(true);},resume(){me&&(me=false,Ge=true,st());},seek(a){let f=Math.min(1,Math.max(0,a));u=f,Qe=f,Ye=[],me=true,ot.hold(true),xr(f,S),Ge=true;},getProgress(){return u},refresh:ot.remeasure},()=>({tStart:F,tEnd:V}))}var lr=new WeakMap,Yr=0;function ct(e){return JSON.stringify(e,(r,t)=>{if(typeof t=="function")return "\u0192";if(typeof Element<"u"&&t instanceof Element){let n=lr.get(t);return n===void 0&&lr.set(t,n=++Yr),`el#${n}`}return t})}function cr(e,r){let t={...e};for(let n of Object.keys(t))typeof t[n]=="function"&&(t[n]=(...o)=>r()[n]?.(...o));return t}function Ur(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function ur(e){let r=[],t=/([\w]+)\(([^)]*)\)/g,n;for(;(n=t.exec(e))!==null;){let o=[],s=[],i=n[2].trim();if(i)for(let c of i.split(/[\s,]+/)){let m=c.match(/^([-+]?[\d.eE]+)(.*)$/);o.push(m?parseFloat(m[1]):0),s.push(m?m[2]:"");}r.push({fn:n[1],nums:o,units:s});}return r}function Qr(e,r,t){let n=ur(e),o=ur(r);return n.length===0||n.length!==o.length?t<1?e:r:n.map((s,i)=>{let c=o[i];return s.fn!==c.fn||s.nums.length!==c.nums.length?t<1?`${s.fn}(${s.nums.map((m,g)=>`${m}${s.units[g]}`).join(", ")})`:`${c.fn}(${c.nums.map((m,g)=>`${m}${c.units[g]}`).join(", ")})`:`${s.fn}(${s.nums.map((m,g)=>`${m+(c.nums[g]-m)*t}${s.units[g]}`).join(", ")})`}).join(" ")}function fr(e,r,t){if(typeof e=="number"&&typeof r=="number")return String(e+(r-e)*t);let n=String(e),o=String(r);if(Ur(n))return gt(n,o,t);if(n.includes("("))return Qr(n,o,t);let s=n.match(/^([-+]?[\d.]+)(.*)$/),i=o.match(/^([-+]?[\d.]+)(.*)$/);if(s&&i){let c=parseFloat(s[1]),m=parseFloat(i[1]);return `${c+(m-c)*t}${s[2]||i[2]}`}return t<1?n:o}function Kr(e){return e.replace(/([A-Z])/g,r=>`-${r.toLowerCase()}`)}var Xr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Jr=0,mr="--scroll-draw-progress";function Zr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var dr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Ct(e,r){return typeof window>"u"?dr:r.respectReducedMotion===false?pr(e,r,false):qe(r,(t,n)=>pr(e,t,n))}function pr(e,r,t){let{props:n,trigger:o={},easing:s="ease-out",speed:i=1,once:c=false,axis:m="y",scrollContainer:g,native:w=true,velocityScale:A=false,triggerElement:S,onProgress:B,onComplete:Q,onEnter:v,onLeave:z,onEnterBack:Z,onLeaveBack:P}=r,O=Ie(s,"ease-out"),L=ae(o.start||"top bottom"),R=ae(o.end||"bottom top"),y=S??e,$=typeof g=="string"?document.querySelector(g):g??null,W=Object.entries(n).map(([l,d])=>({prop:Kr(l),from:Array.isArray(d)?d[0]:"",to:Array.isArray(d)?d[1]:d}));function se(){let l=window.getComputedStyle(e);for(let d of W)d.from===""&&(d.from=l.getPropertyValue(d.prop).trim()||"0");}function K(){for(let l of W)e.style.setProperty(l.prop,String(l.to));}let _=new Map;for(let l of [...W.map(d=>d.prop),mr])_.set(l,e.style.getPropertyValue(l));function I(){for(let[l,d]of _)d?e.style.setProperty(l,d):e.style.removeProperty(l);}if(t)return K(),Q?.(),{...dr,destroy:I,getProgress:()=>1};se();let T=()=>$?m==="x"?$.scrollLeft:$.scrollTop:m==="x"?window.scrollX:window.scrollY,X=()=>$?m==="x"?$.clientWidth:$.clientHeight:m==="x"?window.innerWidth:window.innerHeight,E=typeof s=="string"?yt(s):null;function C(){if(!w||!Zr()||!E||m!=="y"||$||y!==e||c||i!==1||B||Q||v||z||Z||P||A!==false||(o.start||"top bottom").trim()!=="top bottom"||(o.end||"bottom top").trim()!=="bottom top")return false;for(let l of W)if(!Xr.has(l.prop))return false;return true}function ye(){let l=`ssd-a-${++Jr}`,d=W.map(q=>`${q.prop}:${q.from}`).join(";"),ne=W.map(q=>`${q.prop}:${q.to}`).join(";"),F=document.createElement("style");F.setAttribute("data-ssd-animate",""),F.textContent=`@keyframes ${l}{from{${d}}to{${ne}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${E};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(F),e.classList.add(l);let V=()=>{let q=e.getBoundingClientRect();return Le({top:q.top,height:q.height},T(),X(),L,R)};Pe(e,{type:"animate",getProgress:()=>G.getProgress(),getTrigger:V});let G={refresh(){},destroy(){e.classList.remove(l),F.remove(),e.style.animationPlayState="",I(),ke(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(q){let Ve=Math.min(1,Math.max(0,q));e.classList.remove(l);for(let oe of W)e.style.setProperty(oe.prop,fr(oe.from,oe.to,Ve));},getProgress(){let{tStart:q,tEnd:Ve}=V();return O(U(T(),q,Ve,i))}};return G}if(C())return ye();let D=0,j=0,ue=false,Ee=-1,fe=0,ie=0,M=false,x=NaN,re=-1,Re=0,J=y===e?W:[],$e=false;function Se(){let l=e.style,d=J.map(G=>l.getPropertyValue(G.prop)),ne=l.transition;J.length&&(l.transition="none"),J.forEach(G=>l.setProperty(G.prop,_.get(G.prop)??""));let F=mt(y,$,m);J.forEach((G,q)=>l.setProperty(G.prop,d[q])),J.length&&(e.offsetWidth,l.transition=ne);let V=Le(F,F.scroll,X(),L,R);$e&&Math.abs(V.tStart-D)<1&&Math.abs(V.tEnd-j)<1||($e=true,D=V.tStart,j=V.tEnd);}function he(l){e.style.setProperty(mr,String(l));for(let d of W)e.style.setProperty(d.prop,fr(d.from,d.to,l));B?.(l);}function ze(l){if(isNaN(x)){x=l;return}x<=0&&l>0&&v?.(),x<1&&l>=1&&z?.(),x>=1&&l<1&&Z?.(),x>0&&l<=0&&P?.(),x=l;}function Fe(){if(ue)return;let l=performance.now(),d=T(),ne=i;if(A!==false){let q=l-Re,Ve=q>0?Math.abs(d-(re<0?d:re))/q:0;ne=i*Math.max(.2,1+Ve*(typeof A=="number"?A:1)*.04);}re=d,Re=l;let F=j===D?0:(d-D)/(j-D);ze(F);let V=U(d,D,j,ne),G=c?Math.max(Ee,O(fe=Math.max(fe,V))):O(V);ie=G,he(G),G>=1&&!M?(M=true,Q?.()):G<1&&!c&&(M=false);}let Te=De($??window,[y],()=>U(T(),D,j,Math.min(i,1)),Fe,Se);Se(),j===D&&k("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),fe=U(T(),D,j,i),ie=O(fe),he(ie),Pe(e,{type:"animate",getProgress:()=>ie,getTrigger:()=>({tStart:D,tEnd:j})});function Ce(){ue=true,Te.hold(true);}return {destroy(){ue=true,Te.off(),I(),ke(e);},replay(){Ee=-1,fe=0,M=false,ie=0,ue=false,he(0),Te.hold(false);},pause:Ce,resume(){ue&&(ue=false,Te.hold(false));},seek(l){let d=Math.min(1,Math.max(0,l));ie=d,Ee=d,fe=0,Ce(),he(d);},getProgress(){return ie},refresh:Te.remeasure}}var Ot={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function At(e,r){if(typeof window>"u")return Ot;let t=typeof e=="string"?document.querySelector(e):e;return t?qe(r,(n,o)=>en(t,n,o)):(k("scrollCounter: element not found:",e),Ot)}function en(e,r,t){let{from:n=0,to:o,format:s,easing:i="ease-out",trigger:c={},once:m=true,decimals:g,onComplete:w}=r,A=g!==void 0?E=>E.toFixed(g):s??(E=>String(Math.round(E))),S=Ie(i,"ease-out"),B=ae(c.start||"top 80%"),Q=ae(c.end||"top 20%");if(t)return e.textContent=A(o),w?.(),{...Ot,getProgress:()=>1};let v=0,z=0,Z=false,P=-1,O=0,L=0,R=false,y=()=>window.scrollY,$=()=>window.innerHeight;function W(){let E=e.getBoundingClientRect(),C=Le({top:E.top,height:E.height},y(),$(),B,Q);Z&&Math.abs(C.tStart-v)<1&&Math.abs(C.tEnd-z)<1||(Z=true,v=C.tStart,z=C.tEnd);}let se=e.style.getPropertyValue("--scroll-draw-progress");function K(E){e.textContent=A(n+(o-n)*E),e.style.setProperty("--scroll-draw-progress",String(E));}let _=()=>U(y(),v,z,1);function I(){let E=_(),C=m?Math.max(P,S(O=Math.max(O,E))):S(E);L=C,K(C),C>=1&&!R?(R=true,w?.()):C<1&&!m&&(R=false);}W();{O=U(y(),v,z,1);let E=S(O);L=E,K(E);}let T=De(window,[e],_,I,W);Pe(e,{type:"counter",getProgress:()=>L,getTrigger:()=>({tStart:v,tEnd:z})});let X=()=>T.hold(false);return {destroy(){T.off(),e.style.setProperty("--scroll-draw-progress",se),ke(e);},replay(){P=-1,O=0,R=false,L=0,K(0),X();},pause:()=>T.hold(true),resume:X,seek(E){let C=Math.min(1,Math.max(0,E));L=C,P=C,O=0,T.hold(true),K(C);},getProgress(){return L}}}var gr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Pt(e,r={}){if(typeof window>"u")return gr;let t=typeof e=="string"?document.querySelector(e):e;if(!t||t.tagName.toLowerCase()!=="video")return k("scrollVideo: <video> element not found:",e),gr;let n=t,{trigger:o={},easing:s="linear",once:i=false,axis:c="y",preload:m="auto",triggerElement:g,onReady:w,onComplete:A,onProgress:S}=r,B=g??n,Q=window.matchMedia("(prefers-reduced-motion: reduce)").matches,v=Ie(s),z=ae(o.start||"top top"),Z=ae(o.end||"bottom top");n.pause(),n.hasAttribute("preload")||(n.preload=m);let P=r.from??0,O=r.to,L=0,R=0,y=false,$=-1,W=0,se=0,K=false,_=false,I=()=>c==="x"?window.scrollX:window.scrollY,T=()=>c==="x"?window.innerWidth:window.innerHeight;function X(){let M=B.getBoundingClientRect(),x=c==="x"?M.left:M.top,re=c==="x"?M.width:M.height,Re=Le({top:x,height:re},I(),T(),z,Z);L=Re.tStart,R=Re.tEnd,_&&R===L&&k("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",n);}let E=NaN;function C(M){if(!_)return;let x=O??n.duration??0,re=P+(x-P)*M;re!==E&&(E=re,n.currentTime=re),n.style.setProperty("--scroll-draw-progress",String(M)),S?.(M);}let ye=()=>U(I(),L,R,1);function D(){if(!_||Q)return;let M=ye(),x=i?Math.max($,v(W=Math.max(W,M))):v(M);se=x,C(x),x>=1&&!K?(K=true,A?.()):x<1&&!i&&(K=false);}let j=De(window,[B],ye,D,X),ue=()=>j.hold(y||!_||Q);ue();function Ee(){if(_=true,O===void 0&&(O=n.duration),Q){C(1),w?.();return}X(),w?.(),y?C(se):ue();}n.readyState>=1?Ee():n.addEventListener("loadedmetadata",Ee,{once:true}),_||X();let fe=Q?()=>{}:Ze(M=>{M&&(fe(),Q=true,j.hold(true),C(1));});Pe(n,{type:"video",getProgress:()=>se,getTrigger:()=>({tStart:L,tEnd:R})});function ie(){y&&(y=false,ue());}return {destroy(){j.off(),n.removeEventListener("loadedmetadata",Ee),fe(),ke(n);},replay(){$=-1,W=0,K=false,se=0,E=NaN,C(0),ie();},pause(){y=true,j.hold(true);},resume:ie,seek(M){let x=Math.min(1,Math.max(0,M));se=x,$=x,W=0,y=true,j.hold(true),E=NaN,C(x);},getProgress(){return se}}}var tn=1e4;function kt(e){let{frames:r,count:t}=e;if(typeof r!="function")return ct(e);let n=Number.isFinite(t)?Math.min(Math.max(Math.floor(t),0),tn):0,o;try{o=Array.from({length:n},(s,i)=>r(i));}catch{o=["throws"];}return ct({...e,frames:o})}function yr(e,r="<ScrollFrames>"){if(!e||e.getAttribute("aria-hidden")==="true")return;let t=e.getAttribute("role");t==="presentation"||t==="none"||e.getAttribute("aria-label")||e.getAttribute("aria-labelledby")||k(`${r}: the canvas has no aria-label. Say what the frames show, or set aria-hidden="true" if they are decoration.`,e);}var wt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function rn(e){let r=e>1?[0,e-1]:[0],t=[[0,e-1]];for(let n=0;n<t.length;n++){let[o,s]=t[n];if(s-o<2)continue;let i=o+s>>1;r.push(i),t.push([o,i],[i,s]);}return r}function hr(e,r){if(typeof window>"u")return wt;let t=typeof e=="string"?document.querySelector(e):e;if(!t||t.tagName.toLowerCase()!=="canvas")return k("scrollFrames: <canvas> element not found:",e),wt;let n=t,{frames:o,trigger:s={},easing:i="linear",once:c=false,axis:m="y",fit:g="cover",triggerElement:w,onReady:A,onLoad:S,onComplete:B,onProgress:Q}=r||{},v=Array.isArray(o)?o:null,z=r?.count,Z=Math.floor(v?Math.min(z??v.length,v.length):z??NaN);if(!(v||typeof o=="function")||!Number.isFinite(Z)||Z<1)return k("scrollFrames: no frames. Pass `frames` as an array of URLs, or a function with a finite `count` of 1 or more.",n),wt;let P=r.concurrency??6;(!Number.isFinite(P)||P<1)&&(k("scrollFrames: `concurrency` must be a finite number of 1 or more; using 6.",r.concurrency),P=6),P=Math.floor(P);let O=n.getContext("2d");if(!O)return k("scrollFrames: the canvas has no 2D context.",n),wt;let L=Z-1,R=w??n,y=window.matchMedia("(prefers-reduced-motion: reduce)").matches,$=Ie(i),W=u=>{let p=$(u);return p===p?p:0},se=ae(s.start||"top top"),K=ae(s.end||"bottom top"),_=0,I=0,T=false,X=-1,E=0,C=0,ye=false,D=false,j=false,ue=false,Ee=0,fe=-1,ie=new Array(Z),M=new Uint8Array(Z),x=new Set,re=y?[L]:rn(Z),Re=0,J=0,$e=false,Se=(u,...p)=>{if(u)try{u(...p);}catch(b){typeof reportError=="function"?reportError(b):setTimeout(()=>{throw b});}},he=false,ze=u=>{let p;try{p=v?v[u]:o(u);}catch(b){p=b;}return typeof p=="string"&&p?p:(he||(he=true,k(`scrollFrames: no URL for frame ${u}; it is skipped for its nearest neighbour.`,p)),null)},Fe=()=>m==="x"?window.scrollX:window.scrollY,Te=()=>m==="x"?window.innerWidth:window.innerHeight;function Ce(){!$e&&J===re.length&&($e=true,Se(S));}function l(){for(;!D&&x.size<P&&Re<re.length;){let u=re[Re++];M[u]||d(u);}}function d(u){M[u]=1;let p=ze(u);if(p===null){J++,queueMicrotask(()=>{D||Ce();});return}let b=new Image,le=false,we=We=>{le||D||(le=true,b.onload=b.onerror=null,x.delete(b),We?ie[u]=b:k("scrollFrames: a frame failed to load; its nearest neighbour shows instead:",p),J++,l(),V(),Ce());};x.add(b),b.decoding="async",b.onerror=()=>we(false),b.src=p,typeof b.decode=="function"?b.decode().then(()=>we(true),()=>{b.complete?we(b.naturalWidth>0):b.onload=()=>we(true);}):b.onload=()=>we(true);}function ne(u){for(let p=0;p<=L;p++){if(ie[u-p])return u-p;if(ie[u+p])return u+p}return -1}function F(){let u=n.clientWidth,p=n.clientHeight;if(!u||!p)return;let b=Math.min(window.devicePixelRatio||1,2),le=Math.round(u*b),we=Math.round(p*b);if(Math.abs(n.width-le)<=1&&Math.abs(n.height-we)<=1)return;n.width=le,n.height=we,fe=-1;let We=n.clientWidth,Oe=n.clientHeight;if(We!==u||Oe!==p){let Be=n.style;We!==u&&Oe!==p?(Be.width=`${u}px`,Be.height=`${p}px`):Be.aspectRatio=`${u} / ${p}`;}}function V(){let u=ne(Ee);if(u<0||u===fe)return;let p=ie[u],b=n.width,le=n.height,we=p.naturalWidth||b,We=p.naturalHeight||le,Oe=(g==="contain"?Math.min:Math.max)(b/we,le/We),Be=we*Oe,Ge=We*Oe;O.clearRect(0,0,b,le),O.drawImage(p,(b-Be)/2,(le-Ge)/2,Be,Ge),fe=u,j||(j=true,Se(A));}function G(u){Ee=Math.min(L,Math.max(0,Math.round(u*L))),n.style.setProperty("--scroll-draw-progress",String(u)),V(),Se(Q,u,Ee);}function q(){let u=R.getBoundingClientRect(),p=m==="x"?u.left:u.top,b=m==="x"?u.width:u.height,le=Le({top:p,height:b},Fe(),Te(),se,K);_=le.tStart,I=le.tEnd,I===_&&b>0&&!y&&!ue&&(ue=true,k("scrollFrames: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",n));}let Ve=()=>U(Fe(),_,I,1);function oe(){if(y)return;let u=Ve(),p=c?Math.max(X,W(E=Math.max(E,u))):W(u);C=p,G(p),p>=1&&!ye?(ye=true,Se(B)):p<1&&!c&&(ye=false);}function He(){C=1,G(1);}F(),y||q();let be=De(window,[R],Ve,oe,()=>{F(),y||q(),V();}),Qe=()=>be.hold(T||y);Qe(),y&&He(),l();let Ye=typeof ResizeObserver=="function"?new ResizeObserver(()=>{F(),V();}):null;Ye?.observe(n);let Ue=y?()=>{}:Ze(u=>{u&&(Ue(),y=true,be.hold(true),re=re.slice(0,Re),M[L]||re.push(L),Ce(),He(),l());});Pe(n,{type:"frames",getProgress:()=>C,getTrigger:()=>({tStart:_,tEnd:I})});function me(){D||!T||(T=false,Qe());}return {destroy(){if(!D){D=true,be.off(),Ye?.disconnect(),Ue();for(let u of x)u.onload=u.onerror=null,u.src="";x.clear(),ke(n);}},replay(){D||(X=-1,E=0,ye=false,C=0,G(0),me());},pause(){D||(T=true,be.hold(true));},resume:me,seek(u){if(D)return;let p=Math.min(1,Math.max(0,u===u?u:0));C=p,X=p,E=0,T=true,be.hold(true),G(p);},getProgress(){return C}}}function Rt(e,{triggerElement:r,...t},n){let o=r;return typeof r=="string"&&typeof document<"u"&&(o=document.querySelector(r),o||k(`scrollFrames: triggerElement "${r}" matches nothing; measuring the canvas.`)),hr(e,{...t,frames:n.frames,triggerElement:o??void 0})}function br(e,r){let t=document.createElement("span");t.textContent=r,t.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(t);}function vt(e=""){let r=document.createElement("span");return r.setAttribute("aria-hidden","true"),r.textContent=e,r}function vr(e){let r=e.textContent??"";return e.textContent="",r.split(/(\s+)/).filter(Boolean).map(t=>{let n=e.appendChild(vt(t)),o=/^\s+$/.test(t);return o?n.style.whiteSpace="pre":n.style.display="inline-block",o?null:n}).filter(t=>t!==null)}function nn(e){let r=e.textContent??"";e.textContent="";let t=[],n=null;for(let o of r){let s=vt(o),i=o===" ";i?s.style.whiteSpace="pre":(s.style.display="inline-block",t.push(s)),i||o>"\u0DFF"?n=null:n||(n=e.appendChild(vt()),n.style.cssText="display:inline-block;white-space:nowrap"),(n??e).appendChild(s);}return t}function wr(e){let r=vr(e),t=new Map;for(let s of r){let i=s.offsetTop;t.has(i)||t.set(i,[]),t.get(i).push(s);}let n=[],o=Array.from(t.keys()).sort((s,i)=>s-i);for(let s of o){let i=t.get(s),c=vt();c.style.display="inline-block",i.forEach((m,g)=>{let w=m.nextElementSibling;c.appendChild(m),g<i.length-1&&w&&w.style.whiteSpace==="pre"&&c.appendChild(w);}),n.push(c);}return e.textContent="",n.forEach((s,i)=>{e.appendChild(s),i<n.length-1&&e.appendChild(document.createTextNode(" "));}),n}function on(e,r,t,n){if(t<=1||n===0)return e;n=Math.min(n,1/t);let o=(t-1)*n,s=r*n,i=s+(1-o);return i<=s?e>=s?1:0:it((e-s)/(i-s),0,1)}function sn(e,r){let t=[];if(r?.y!==void 0&&t.push(`translateY(${r.y*(1-e)}px)`),r?.x!==void 0&&t.push(`translateX(${r.x*(1-e)}px)`),r?.rotate!==void 0&&t.push(`rotate(${r.rotate*(1-e)}deg)`),r?.scale!==void 0){let n=r.scale+(1-r.scale)*e;t.push(`scale(${n})`);}return t.join(" ")}var $t={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Ft(e,r={}){if(typeof window>"u")return $t;let t=typeof e=="string"?document.querySelector(e):e;if(!t)return k("scrollText: element not found:",e),$t;let n=t;return qe(r,(o,s)=>an(n,o,s))}function an(e,r,t){let{split:n="words",stagger:o=.04,easing:s="ease-out",from:i={opacity:0,y:24},trigger:c={},once:m=true,onComplete:g}=r,w=Ie(s,"ease-out"),A=ae(c.start||"top 85%"),S=ae(c.end||"top 40%"),B=e.innerHTML,Q=e.textContent??"",v;n==="chars"?v=nn(e):n==="lines"?v=wr(e):v=vr(e),br(e,Q);let z=v.length;function Z(T,X){i?.opacity!==void 0&&(T.style.opacity=String(i.opacity+(1-i.opacity)*X));let E=sn(X,i);E&&(T.style.transform=E);}function P(T){e.style.setProperty("--scroll-draw-progress",String(T)),v.forEach((X,E)=>{let C=w(on(T,E,z,o));Z(X,C);});}if(t)return P(1),g?.(),{...$t,destroy:()=>{e.innerHTML=B;},getProgress:()=>1};P(0);let O=0,L=0,R=-1,y=0,$=false;function W(){({tStart:O,tEnd:L}=Le(e.getBoundingClientRect(),window.scrollY,window.innerHeight,A,S));}let se=()=>U(window.scrollY,O,L,1);function K(){let T=m?R=Math.max(R,se()):se();y=T,P(T),T>=1&&!$?($=true,g?.()):T<1&&!m&&($=false);}W();let _=De(window,[e],se,K,()=>{n==="lines"&&(e.innerHTML=B,v=wr(e),br(e,Q),P(y)),W();});Pe(e,{type:"text",getProgress:()=>y,getTrigger:()=>({tStart:O,tEnd:L})});let I=()=>_.hold(false);return {destroy(){_.off(),e.innerHTML=B,ke(e);},replay(){R=-1,$=false,y=0,P(0),I();},pause:()=>_.hold(true),resume:I,seek(T){_.hold(true),P(y=R=it(T,0,1));},getProgress(){return y}}}var rt=e=>typeof e=="function"?e():vue.unref(e);function _e(e,r,t,n=ct){let o=null,s=r(),i=()=>{o?.destroy(),o=e.value?t(e.value,cr(s,()=>s),s):null;};vue.onMounted(i),vue.watch(()=>n(s=r()),i),vue.onUnmounted(()=>{o?.destroy(),o=null;});}function Yo(e={}){let r=vue.ref(null);return _e(r,()=>rt(e),Lt),r}var Er={preset:0,selector:0,speed:0,fade:1,easing:0,trigger:0,stagger:0,direction:0,once:1,debug:1,axis:0,scrollContainer:0,autoReverse:1,delay:0,strokeColor:0,strokeWidth:0,fillOpacity:0,clip:2,waypoints:0,velocityScale:3,threshold:0,rootMargin:0,repeat:0,repeatDelay:0,morphTo:0,onProgress:0,onStart:0,onComplete:0,onEnter:0,onLeave:0,onEnterBack:0,onLeaveBack:0,autoplay:1,duration:0,native:1},fn=[null,Boolean,[Boolean,String],[Boolean,Number]],Ht=e=>({type:e,default:void 0}),Uo=vue.defineComponent({name:"ScrollDraw",props:Object.fromEntries(Object.entries(Er).map(([e,r])=>[e,r?Ht(fn[r]):null])),setup(e,{slots:r}){let t=vue.ref(null);return _e(t,()=>{let n={};for(let o in Er){let s=e[o];s!=null&&(n[o]=s);}return n},Lt),()=>vue.h("div",{ref:t},r.default?.())}});function Qo(e){let r=vue.ref(null);return _e(r,()=>rt(e),Ct),r}var Ko=vue.defineComponent({name:"ScrollAnimate",props:{options:{type:Object,required:true}},setup(e,{slots:r}){let t=vue.ref(null);return _e(t,()=>e.options,Ct),()=>vue.h("div",{ref:t},r.default?.())}});function Xo(e){let r=vue.ref(null);return _e(r,()=>rt(e),At),r}var Jo=vue.defineComponent({name:"ScrollCounter",props:{to:{type:Number,required:true},from:{type:Number},format:{type:Function},easing:{type:[String,Function]},trigger:{type:Object},once:Ht(Boolean),decimals:{type:Number},onComplete:{type:Function}},setup(e){let r=vue.ref(null);return _e(r,()=>{let t={to:e.to};return e.from!=null&&(t.from=e.from),e.format!=null&&(t.format=e.format),e.easing!=null&&(t.easing=e.easing),e.trigger!=null&&(t.trigger=e.trigger),e.once!=null&&(t.once=e.once),e.decimals!=null&&(t.decimals=e.decimals),e.onComplete!=null&&(t.onComplete=e.onComplete),t},At),()=>vue.h("span",{ref:r})}});function Zo(e={}){let r=vue.ref(null);return _e(r,()=>rt(e),Pt),r}var es=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 _e(r,()=>e.options??{},Pt),()=>vue.h("video",{ref:r,src:e.src,muted:e.muted,playsinline:e.playsInline,preload:"auto",class:e.class})}});function ts(e){let r=vue.ref(null);return _e(r,()=>rt(e),Rt,kt),r}var Sr={frames:0,count:0,trigger:0,easing:0,once:1,axis:0,triggerElement:0,fit:0,concurrency:0,onReady:0,onLoad:0,onComplete:0,onProgress:0},rs=vue.defineComponent({name:"ScrollFrames",props:Object.fromEntries(Object.entries(Sr).map(([e,r])=>[e,r?Ht(Boolean):e==="frames"?{required:true}:null])),setup(e){let r=vue.ref(null);return _e(r,()=>{let t={};for(let n in Sr){let o=e[n];o!=null&&(t[n]=o);}return t},Rt,kt),vue.onMounted(()=>yr(r.value)),()=>vue.h("canvas",{ref:r,role:"img"})}});function ns(e={}){let r=vue.ref(null);return _e(r,()=>rt(e),Ft),r}var os=vue.defineComponent({name:"ScrollText",props:{options:{type:Object},tag:{type:String,default:"p"}},setup(e,{slots:r}){let t=vue.ref(null);return _e(t,()=>e.options??{},Ft),()=>vue.h(e.tag,{ref:t},r.default?.())}});exports.ScrollAnimate=Ko;exports.ScrollCounter=Jo;exports.ScrollDraw=Uo;exports.ScrollFrames=rs;exports.ScrollText=os;exports.ScrollVideo=es;exports.useScrollAnimate=Qo;exports.useScrollCounter=Xo;exports.useScrollDraw=Yo;exports.useScrollFrames=ts;exports.useScrollText=ns;exports.useScrollVideo=Zo;
3
+ <div style="position:absolute;${m?`left:${c}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${c}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(n),window.addEventListener("scroll",o,{passive:true}),o(),{el:n,destroy(){window.removeEventListener("scroll",o),n.remove();}}}var ir=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,ar=/[MmLlHhVvCcSsQqTtAaZz]/g;function qr(e,t,r){if(!Xe)return;let n=(e.match(ar)??[]).join("").toUpperCase(),o=(t.match(ar)??[]).join("").toUpperCase(),s=(e.match(ir)??[]).length,i=(t.match(ir)??[]).length;if(n!==o){A(`morphTo: command sequence differs (${n||"\u2205"} \u2192 ${o||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,r);return}s!==i&&A(`morphTo: coordinate count differs (${s} \u2192 ${i}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function Yr(e,t,r){let n=(t.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),o=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,s=>{let i=parseFloat(s),c=n[o++]??i;return String(+(i+(c-i)*r).toFixed(4))})}function Lt(e,t={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:qe(t,(r,n)=>Ur(e,r,n))}function Ur(e,t,r){let{preset:n,...o}=t,s=n?{...Jt[n],...o}:o,{selector:i="path, polyline, line, polygon, rect, circle",speed:c=1,fade:m=false,easing:g="linear",trigger:w={},stagger:P=0,direction:x="forward",once:k=false,debug:z=false,axis:T="y",scrollContainer:j,autoReverse:B=false,delay:M=0,strokeColor:O,strokeWidth:C,fillOpacity:W,waypoints:b,velocityScale:R=false,threshold:D=0,rootMargin:Z="0px",repeat:se=0,repeatDelay:$=0,morphTo:F,clip:y,autoplay:L=false,duration:ee=1e3,native:te=true,onProgress:ye,onStart:N,onComplete:q,onEnter:ue,onLeave:Ee,onEnterBack:fe,onLeaveBack:ie}=s,E=y===true?"left":typeof y=="string"?y:false,S=Ie(g),re=ae(w.start||"top bottom"),Re=ae(w.end||"bottom top"),K=typeof j=="string"?document.querySelector(j):j??null,$e=Array.isArray(O)?O[0]:null,Se=Array.isArray(O)?O[1]:typeof O=="string"?O:null,he=Array.isArray(C)?C[0]:null,ze=Array.isArray(C)?C[1]:typeof C=="number"?C:null,Fe=Array.isArray(W)?W[0]:null,Te=Array.isArray(W)?W[1]:typeof W=="number"?W:null;function Ce(a){let f=a*100;switch(E){case "right":return `inset(0 0 0 ${100-f}%)`;case "top":return `inset(0 0 ${100-f}% 0)`;case "bottom":return `inset(${100-f}% 0 0 0)`;case "center":return `circle(${a*150}% at 50% 50%)`;default:return `inset(0 ${100-f}% 0 0)`}}let l=E?[]:Array.from(e.querySelectorAll(i)),d=[],ne=[],H=0,V=0,G=P,Y=0,Ve=0,oe=false,He=false,be=0,Qe=-1,Ye=[],Ue=-1,me=false,u=0,p=0,v,le=false,we=null;function We(){we?.destroy(),we=null;}let Oe=new Set,Be=NaN,Ge=true,ut=-1,It=performance.now(),Ke=NaN;function ft(){return K?T==="x"?K.scrollLeft:K.scrollTop:T==="x"?window.scrollX:window.scrollY}function Dt(){return K?T==="x"?K.clientWidth:K.clientHeight:T==="x"?window.innerWidth:window.innerHeight}function Nt(){let a=mt(e,K,T);return Le(a,a.scroll,Dt(),re,Re)}function Lr(){let a=V-H,f=l.length-1,h=K??document.documentElement,_=T==="x"?"Width":"Height";if(G=P,P>0&&f>0&&a>0){let pe=h[`scroll${_}`]-h[`client${_}`]-1-H-a/c;pe>=0&&(G=Math.min(P,pe/(f*a)));}let ce=Math.max(0,f)*G*a,xe=a/Math.min(c,1);Y=H+Math.min(0,ce,xe,ce+xe),Ve=H+Math.max(0,ce,xe,ce+xe);}function _t(){(({tStart:H,tEnd:V}=Nt())),Lr(),z&&Xe&&(We(),we=jr(H,V,T));}function Et(a,f=Nt){Pe(e,{type:"draw",getProgress:()=>a.getProgress(),getTrigger:f});let h=a.destroy;return a.destroy=()=>{h.call(a),ke(e);},a}function Vt(a,f){return k&&!B?Math.max(Qe,S(Ye[a]=Math.max(Ye[a]??0,f))):S(f)}function Cr(a,f){if(e.style.setProperty("--scroll-draw-progress",String(a)),E){let h=f==="reverse"?1-a:a;e.style.clipPath=Ce(h);return}l.forEach((h,_)=>St(h,_,a,f));}function St(a,f,h,_){a.style.strokeDashoffset=_==="reverse"?`${d[f]*h}`:`${d[f]*(1-h)}`,m&&(a.style.opacity=_==="reverse"?`${1-h}`:`${h}`),$e&&Se?a.style.stroke=gt($e,Se,h):Se&&(a.style.stroke=Se),he!==null&&ze!==null?a.style.strokeWidth=`${he+(ze-he)*h}`:ze!==null&&(a.style.strokeWidth=`${ze}`),Fe!==null&&Te!==null?a.style.fillOpacity=`${Fe+(Te-Fe)*h}`:Te!==null&&(a.style.fillOpacity=`${Te}`),F&&a.tagName.toLowerCase()==="path"&&ne[f]&&a.setAttribute("d",Yr(ne[f],F,h));}function Tt(){if(e.style.setProperty("--scroll-draw-progress","0"),E){e.style.clipPath=Ce(x==="reverse"?1:0);return}l.forEach((a,f)=>{a.style.strokeDasharray=dt(d[f]),a.style.strokeDashoffset=x==="reverse"?"0":`${d[f]}`,m?a.style.opacity=x==="reverse"?"1":"0":a.style.opacity="",$e&&(a.style.stroke=$e),he!==null&&(a.style.strokeWidth=`${he}`),Fe!==null&&(a.style.fillOpacity=`${Fe}`),F&&a.tagName.toLowerCase()==="path"&&ne[f]&&a.setAttribute("d",ne[f]);});}function nt(a,f){let h=a.getAttribute("d"),_=pt(a);if(F&&ne[f]){a.setAttribute("d",F);let ce=pt(a);a.setAttribute("d",ne[f]),_=Math.max(pt(a),ce),a.setAttribute("d",h);}d[f]=_,a.style.strokeDasharray=dt(_);}if(l.forEach((a,f)=>{Gr(a);let h=a.tagName.toLowerCase()==="path";h?ne.push(a.getAttribute("d")??""):ne.push(""),nt(a,f);let _=d[f];F&&(h?qr(ne[ne.length-1],F,a):A(`morphTo only applies to <path> elements \u2014 ignored on <${a.tagName}>.`,a)),r?(a.style.strokeDashoffset=x==="reverse"?`${_}`:"0",m&&(a.style.opacity="1"),Se&&(a.style.stroke=Se),ze!==null&&(a.style.strokeWidth=`${ze}`),Te!==null&&(a.style.fillOpacity=`${Te}`),F&&a.tagName.toLowerCase()==="path"&&a.setAttribute("d",F)):(a.style.strokeDashoffset=x==="reverse"?"0":`${_}`,m?a.style.opacity=x==="reverse"?"1":"0":a.style.opacity="",$e&&(a.style.stroke=$e),he!==null&&(a.style.strokeWidth=`${he}`),Fe!==null&&(a.style.fillOpacity=`${Fe}`));}),r)return E&&(e.style.clipPath=Ce(1)),q?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};E&&(e.style.clipPath=Ce(x==="reverse"?1:0));let zt=typeof g=="string"?yt(g):null;function Or(){return !(te===false||L||z&&Xe||!Br()||!l.length||!zt||E||T!=="y"||K||c!==1||P!==0||k||B||R!==false||F||b||se||M>0||ye||N||q||ue||Ee||fe||ie||O!=null||C!=null||W!=null||(w.start||"top bottom").trim()!=="top bottom"||(w.end||"bottom top").trim()!=="bottom top")}function Ar(){let a=++Wr,f=`svg-scroll-draw-${a}`,h=`svg-scroll-draw-host-${a}`,_=`--svg-scroll-draw-${a}`,ce=x==="reverse"?"0":"var(--ssd-len)",xe=x==="reverse"?"var(--ssd-len)":"0",pe=`stroke-dashoffset:${ce};`,X=`stroke-dashoffset:${xe};`;m&&(pe+=`opacity:${x==="reverse"?1:0};`,X+=`opacity:${x==="reverse"?0:1};`);let J=document.createElement("style");J.setAttribute("data-svg-scroll-draw",""),J.textContent=`@keyframes ${f}{from{${pe}}to{${X}}}.${h}{view-timeline-name:${_};view-timeline-axis:block;}.${f}{animation-name:${f};animation-duration:auto;animation-timing-function:${zt};animation-fill-mode:both;animation-timeline:${_};animation-range:cover 0% cover 100%;}`,document.head.appendChild(J),e.classList.add(h);function ve(I,U){I.style.setProperty("--ssd-len",String(d[U])),I.style.strokeDasharray=dt(d[U]),I.style.strokeDashoffset="",I.style.opacity="",I.style.animationPlayState="",I.classList.add(f);}l.forEach(ve);let de=false,Me=-1;function Ae(){if(Me>=0)return Me;let I=e.getBoundingClientRect(),{tStart:U,tEnd:ge}=Le({top:I.top,height:I.height},ft(),Dt(),re,Re);return S(Q(ft(),U,ge,c))}return {destroy(){e.classList.remove(h),l.forEach(I=>{I.classList.remove(f),I.style.removeProperty("--ssd-len"),I.style.animationPlayState="";}),J.remove();},replay(){de=false,Me=-1,l.forEach(ve);},pause(){de=true,l.forEach(I=>{I.style.animationPlayState="paused";});},resume(){de&&(de=false,l.forEach(I=>{I.style.animationPlayState="running";}));},seek(I){let U=Math.min(1,Math.max(0,I));Me=U,de=true,l.forEach((ge,je)=>{ge.classList.remove(f),ge.style.strokeDashoffset=x==="reverse"?`${d[je]*U}`:`${d[je]*(1-U)}`,m&&(ge.style.opacity=x==="reverse"?`${1-U}`:`${U}`);});},getProgress(){return Ae()},refresh(){l.forEach((I,U)=>{nt(I,U),I.style.setProperty("--ssd-len",String(d[U]));});}}}if(Or())return Et(Ar());function Pr(){let a=Math.max(1,ee),f=E?a:a*(1+Math.max(0,l.length-1)*P),h=0,_=0,ce=false;function xe(Me){let Ae=true,I=Math.min(1,Math.max(0,Me/f));if(E){let U=Math.min(1,Math.max(0,Me/a)),ge=S(U);u=ge,e.style.setProperty("--scroll-draw-progress",String(ge)),e.style.clipPath=Ce(x==="reverse"?1-ge:ge),ye?.(ge),U<1&&(Ae=false);}else {l.forEach((ge,je)=>{let Rr=je*P*a,qt=Math.min(1,Math.max(0,(Me-Rr)/a));St(ge,je,S(qt),x),qt<1&&(Ae=false);});let U=S(I);u=U,ye?.(U),e.style.setProperty("--scroll-draw-progress",String(U));}if(b){let U=S(I);for(let ge in b){let je=parseFloat(ge);U>=je&&!Oe.has(je)&&(Oe.add(je),b[ge]?.());}}return Ae}function pe(Me){if(me)return;let Ae=Me-h;He||(He=true,N?.());let I=xe(Ae);if(I&&!oe){oe=true,xe(f),q?.(),p<(se==="infinite"?1/0:se??0)&&(p++,v=setTimeout(()=>{h=performance.now(),He=false,oe=false,Oe.clear(),Tt(),be=requestAnimationFrame(pe);},$));return}I||(be=requestAnimationFrame(pe));}function X(){cancelAnimationFrame(be),clearTimeout(v),h=performance.now(),_=0,me=false,He=false,oe=false,p=0,ce=true,u=0,Oe.clear(),Tt(),be=requestAnimationFrame(pe);}let J=new IntersectionObserver(Me=>{Me.forEach(Ae=>{Ae.isIntersecting&&!(k&&oe)?X():!Ae.isIntersecting&&!k&&!oe&&(cancelAnimationFrame(be),clearTimeout(v),ce=false);});},{root:K??null,threshold:D,rootMargin:Z}),ve;function de(){clearTimeout(ve),ve=setTimeout(()=>l.forEach(nt),150);}return window.addEventListener("resize",de),window.addEventListener("orientationchange",de),M>0?setTimeout(()=>J.observe(e),M):J.observe(e),{destroy(){cancelAnimationFrame(be),clearTimeout(v),J.disconnect(),window.removeEventListener("resize",de),window.removeEventListener("orientationchange",de),clearTimeout(ve);},replay(){p=0,X();},pause(){me||!ce||(me=true,_=performance.now()-h,cancelAnimationFrame(be));},resume(){me&&(me=false,ce=true,h=performance.now()-_,be=requestAnimationFrame(pe));},seek(Me){let Ae=Math.min(1,Math.max(0,Me));u=Ae,me=true,_=Ae*f,h=performance.now()-_,cancelAnimationFrame(be),xe(_);},getProgress(){return u},refresh(){clearTimeout(ve),l.forEach(nt);}}}if(L)return Et(Pr());_t();let Wt=()=>Q(ft(),Y,Ve,1);function Bt(){oe=true,q?.(),p<(se==="infinite"?1/0:se)&&(p++,v=setTimeout(()=>{le=true;},$));}function Gt(){Qe=-1,Ye=[],He=false,oe=false,le=false,Oe.clear(),Tt(),Ge=true;}function kr(){let a=performance.now(),f=ft();if(le&&Wt()%1&&Gt(),!Ge&&R===false&&f===Be)return;Ge=false,Be=f;let h=c;if(R!==false){let X=a-It,J=X>0?Math.abs(f-(ut<0?f:ut))/X:0;h=c*Math.max(.2,1+J*(typeof R=="number"?R:1)*.04);}ut=f,It=a;let _=B?Ue===-1||f>=Ue?"forward":"reverse":x;Ue=f;let ce=V-H,xe=true,pe=ce===0?0:(f-H)/ce;if(isNaN(Ke)||(Ke<=0&&pe>0&&ue?.(),Ke<1&&pe>=1&&Ee?.(),Ke>=1&&pe<1&&fe?.(),Ke>0&&pe<=0&&ie?.()),Ke=pe,E){let X=Vt(0,Q(f,H,V,h));u=X,e.style.setProperty("--scroll-draw-progress",String(X));let J=_==="reverse"?1-X:X;e.style.clipPath=Ce(J),ye?.(X),!He&&Q(f,H,V,h)>0&&(He=true,N?.()),X>=1&&!oe?Bt():X<1&&!k&&(oe=false);return}if(l.forEach((X,J)=>{let ve=J*G*ce,de=Vt(J,Q(f,H+ve,V+ve,h));St(X,J,de,_),J===0&&(u=de,ye?.(de),e.style.setProperty("--scroll-draw-progress",String(de))),de<1&&(xe=false);}),b){let X=S(Q(f,H,V,h));for(let J in b){let ve=parseFloat(J);X>=ve&&!Oe.has(ve)&&(Oe.add(ve),b[J]?.());}}!He&&Q(f,H,V,h)>0&&(He=true,N?.()),xe&&!oe?Bt():!xe&&!k&&(oe=false);}let ot=De(K??window,[e],Wt,kr,()=>{let a=d.join();l.forEach(nt),_t(),Ge=true,d.join()!==a&&st();}),xt=M>0;function st(){ot.hold(me||xt);}let jt;return xt&&(jt=setTimeout(()=>{xt=false,st();},M)),st(),Et({destroy(){clearTimeout(v),clearTimeout(jt),ot.off(),We();},replay(){Gt(),Ue=-1,ut=-1,p=0,me=false,u=0,clearTimeout(v),st();},pause(){me=true,ot.hold(true);},resume(){me&&(me=false,Ge=true,st());},seek(a){let f=Math.min(1,Math.max(0,a));u=f,Qe=f,Ye=[],me=true,ot.hold(true),Cr(f,x),Ge=true;},getProgress(){return u},refresh:ot.remeasure},()=>({tStart:H,tEnd:V}))}var lr=new WeakMap,Qr=0;function ct(e){return JSON.stringify(e,(t,r)=>{if(typeof r=="function")return "\u0192";if(typeof Element<"u"&&r instanceof Element){let n=lr.get(r);return n===void 0&&lr.set(r,n=++Qr),`el#${n}`}return r})}function cr(e,t){let r={...e};for(let n of Object.keys(r))typeof r[n]=="function"&&(r[n]=(...o)=>t()[n]?.(...o));return r}function Kr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function ur(e){let t=[],r=/([\w]+)\(([^)]*)\)/g,n;for(;(n=r.exec(e))!==null;){let o=[],s=[],i=n[2].trim();if(i)for(let c of i.split(/[\s,]+/)){let m=c.match(/^([-+]?[\d.eE]+)(.*)$/);o.push(m?parseFloat(m[1]):0),s.push(m?m[2]:"");}t.push({fn:n[1],nums:o,units:s});}return t}function Xr(e,t,r){let n=ur(e),o=ur(t);return n.length===0||n.length!==o.length?r<1?e:t:n.map((s,i)=>{let c=o[i];return s.fn!==c.fn||s.nums.length!==c.nums.length?r<1?`${s.fn}(${s.nums.map((m,g)=>`${m}${s.units[g]}`).join(", ")})`:`${c.fn}(${c.nums.map((m,g)=>`${m}${c.units[g]}`).join(", ")})`:`${s.fn}(${s.nums.map((m,g)=>`${m+(c.nums[g]-m)*r}${s.units[g]}`).join(", ")})`}).join(" ")}function fr(e,t,r){if(typeof e=="number"&&typeof t=="number")return String(e+(t-e)*r);let n=String(e),o=String(t);if(Kr(n))return gt(n,o,r);if(n.includes("("))return Xr(n,o,r);let s=n.match(/^([-+]?[\d.]+)(.*)$/),i=o.match(/^([-+]?[\d.]+)(.*)$/);if(s&&i){let c=parseFloat(s[1]),m=parseFloat(i[1]);return `${c+(m-c)*r}${s[2]||i[2]}`}return r<1?n:o}function Jr(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}var Zr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),en=0,mr="--scroll-draw-progress";function tn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var dr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Ct(e,t){return typeof window>"u"?dr:t.respectReducedMotion===false?pr(e,t,false):qe(t,(r,n)=>pr(e,r,n))}function pr(e,t,r){let{props:n,trigger:o={},easing:s="ease-out",speed:i=1,once:c=false,axis:m="y",scrollContainer:g,native:w=true,velocityScale:P=false,triggerElement:x,onProgress:k,onComplete:z,onEnter:T,onLeave:j,onEnterBack:B,onLeaveBack:M}=t,O=Ie(s,"ease-out"),C=ae(o.start||"top bottom"),W=ae(o.end||"bottom top"),b=x??e,R=typeof g=="string"?document.querySelector(g):g??null,D=Object.entries(n).map(([l,d])=>({prop:Jr(l),from:Array.isArray(d)?d[0]:"",to:Array.isArray(d)?d[1]:d}));function Z(){let l=window.getComputedStyle(e);for(let d of D)d.from===""&&(d.from=l.getPropertyValue(d.prop).trim()||"0");}function se(){for(let l of D)e.style.setProperty(l.prop,String(l.to));}let $=new Map;for(let l of [...D.map(d=>d.prop),mr])$.set(l,e.style.getPropertyValue(l));function F(){for(let[l,d]of $)d?e.style.setProperty(l,d):e.style.removeProperty(l);}if(r)return se(),z?.(),{...dr,destroy:F,getProgress:()=>1};Z();let y=()=>R?m==="x"?R.scrollLeft:R.scrollTop:m==="x"?window.scrollX:window.scrollY,L=()=>R?m==="x"?R.clientWidth:R.clientHeight:m==="x"?window.innerWidth:window.innerHeight,ee=typeof s=="string"?yt(s):null;function te(){if(!w||!tn()||!ee||m!=="y"||R||b!==e||c||i!==1||k||z||T||j||B||M||P!==false||(o.start||"top bottom").trim()!=="top bottom"||(o.end||"bottom top").trim()!=="bottom top")return false;for(let l of D)if(!Zr.has(l.prop))return false;return true}function ye(){let l=`ssd-a-${++en}`,d=D.map(Y=>`${Y.prop}:${Y.from}`).join(";"),ne=D.map(Y=>`${Y.prop}:${Y.to}`).join(";"),H=document.createElement("style");H.setAttribute("data-ssd-animate",""),H.textContent=`@keyframes ${l}{from{${d}}to{${ne}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${ee};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(H),e.classList.add(l);let V=()=>{let Y=e.getBoundingClientRect();return Le({top:Y.top,height:Y.height},y(),L(),C,W)};Pe(e,{type:"animate",getProgress:()=>G.getProgress(),getTrigger:V});let G={refresh(){},destroy(){e.classList.remove(l),H.remove(),e.style.animationPlayState="",F(),ke(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(Y){let Ve=Math.min(1,Math.max(0,Y));e.classList.remove(l);for(let oe of D)e.style.setProperty(oe.prop,fr(oe.from,oe.to,Ve));},getProgress(){let{tStart:Y,tEnd:Ve}=V();return O(Q(y(),Y,Ve,i))}};return G}if(te())return ye();let N=0,q=0,ue=false,Ee=-1,fe=0,ie=0,E=false,S=NaN,re=-1,Re=0,K=b===e?D:[],$e=false;function Se(){let l=e.style,d=K.map(G=>l.getPropertyValue(G.prop)),ne=l.transition;K.length&&(l.transition="none"),K.forEach(G=>l.setProperty(G.prop,$.get(G.prop)??""));let H=mt(b,R,m);K.forEach((G,Y)=>l.setProperty(G.prop,d[Y])),K.length&&(e.offsetWidth,l.transition=ne);let V=Le(H,H.scroll,L(),C,W);$e&&Math.abs(V.tStart-N)<1&&Math.abs(V.tEnd-q)<1||($e=true,N=V.tStart,q=V.tEnd);}function he(l){e.style.setProperty(mr,String(l));for(let d of D)e.style.setProperty(d.prop,fr(d.from,d.to,l));k?.(l);}function ze(l){if(isNaN(S)){S=l;return}S<=0&&l>0&&T?.(),S<1&&l>=1&&j?.(),S>=1&&l<1&&B?.(),S>0&&l<=0&&M?.(),S=l;}function Fe(){if(ue)return;let l=performance.now(),d=y(),ne=i;if(P!==false){let Y=l-Re,Ve=Y>0?Math.abs(d-(re<0?d:re))/Y:0;ne=i*Math.max(.2,1+Ve*(typeof P=="number"?P:1)*.04);}re=d,Re=l;let H=q===N?0:(d-N)/(q-N);ze(H);let V=Q(d,N,q,ne),G=c?Math.max(Ee,O(fe=Math.max(fe,V))):O(V);ie=G,he(G),G>=1&&!E?(E=true,z?.()):G<1&&!c&&(E=false);}let Te=De(R??window,[b],()=>Q(y(),N,q,Math.min(i,1)),Fe,Se);Se(),q===N&&A("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),fe=Q(y(),N,q,i),ie=O(fe),he(ie),Pe(e,{type:"animate",getProgress:()=>ie,getTrigger:()=>({tStart:N,tEnd:q})});function Ce(){ue=true,Te.hold(true);}return {destroy(){ue=true,Te.off(),F(),ke(e);},replay(){Ee=-1,fe=0,E=false,ie=0,ue=false,he(0),Te.hold(false);},pause:Ce,resume(){ue&&(ue=false,Te.hold(false));},seek(l){let d=Math.min(1,Math.max(0,l));ie=d,Ee=d,fe=0,Ce(),he(d);},getProgress(){return ie},refresh:Te.remeasure}}var gr=({decimals:e,format:t})=>e!==void 0?r=>r.toFixed(e):t??(r=>String(Math.round(r))),yr=e=>gr(e)(e.to),Ot={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function At(e,t){if(typeof window>"u")return Ot;let r=typeof e=="string"?document.querySelector(e):e;return r?qe(t,(n,o)=>rn(r,n,o)):(A("scrollCounter: element not found:",e),Ot)}function rn(e,t,r){let{from:n=0,to:o,easing:s="ease-out",trigger:i={},once:c=true,onComplete:m}=t,g=gr(t),w=Ie(s,"ease-out"),P=ae(i.start||"top 80%"),x=ae(i.end||"top 20%");if(r)return e.textContent=g(o),m?.(),{...Ot,getProgress:()=>1};let k=0,z=0,T=false,j=-1,B=0,M=0,O=false,C=()=>window.scrollY,W=()=>window.innerHeight;function b(){let y=e.getBoundingClientRect(),L=Le({top:y.top,height:y.height},C(),W(),P,x);T&&Math.abs(L.tStart-k)<1&&Math.abs(L.tEnd-z)<1||(T=true,k=L.tStart,z=L.tEnd);}let R=e.style.getPropertyValue("--scroll-draw-progress");function D(y){e.textContent=g(n+(o-n)*y),e.style.setProperty("--scroll-draw-progress",String(y));}let Z=()=>Q(C(),k,z,1);function se(){let y=Z(),L=c?Math.max(j,w(B=Math.max(B,y))):w(y);M=L,D(L),L>=1&&!O?(O=true,m?.()):L<1&&!c&&(O=false);}b();{B=Q(C(),k,z,1);let y=w(B);M=y,D(y);}let $=De(window,[e],Z,se,b);Pe(e,{type:"counter",getProgress:()=>M,getTrigger:()=>({tStart:k,tEnd:z})});let F=()=>$.hold(false);return {destroy(){$.off(),e.style.setProperty("--scroll-draw-progress",R),ke(e);},replay(){j=-1,B=0,O=false,M=0,D(0),F();},pause:()=>$.hold(true),resume:F,seek(y){let L=Math.min(1,Math.max(0,y));M=L,j=L,B=0,$.hold(true),D(L);},getProgress(){return M}}}var hr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Pt(e,t={}){if(typeof window>"u")return hr;let r=typeof e=="string"?document.querySelector(e):e;if(!r||r.tagName.toLowerCase()!=="video")return A("scrollVideo: <video> element not found:",e),hr;let n=r,{trigger:o={},easing:s="linear",once:i=false,axis:c="y",preload:m="auto",triggerElement:g,onReady:w,onComplete:P,onProgress:x}=t,k=g??n,z=window.matchMedia("(prefers-reduced-motion: reduce)").matches,T=Ie(s),j=ae(o.start||"top top"),B=ae(o.end||"bottom top");n.pause(),n.hasAttribute("preload")||(n.preload=m);let M=t.from??0,O=t.to,C=0,W=0,b=false,R=-1,D=0,Z=0,se=false,$=false,F=()=>c==="x"?window.scrollX:window.scrollY,y=()=>c==="x"?window.innerWidth:window.innerHeight;function L(){let E=k.getBoundingClientRect(),S=c==="x"?E.left:E.top,re=c==="x"?E.width:E.height,Re=Le({top:S,height:re},F(),y(),j,B);C=Re.tStart,W=Re.tEnd,$&&W===C&&A("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",n);}let ee=NaN;function te(E){if(!$)return;let S=O??n.duration??0,re=M+(S-M)*E;re!==ee&&(ee=re,n.currentTime=re),n.style.setProperty("--scroll-draw-progress",String(E)),x?.(E);}let ye=()=>Q(F(),C,W,1);function N(){if(!$||z)return;let E=ye(),S=i?Math.max(R,T(D=Math.max(D,E))):T(E);Z=S,te(S),S>=1&&!se?(se=true,P?.()):S<1&&!i&&(se=false);}let q=De(window,[k],ye,N,L),ue=()=>q.hold(b||!$||z);ue();function Ee(){if($=true,O===void 0&&(O=n.duration),z){te(1),w?.();return}L(),w?.(),b?te(Z):ue();}n.readyState>=1?Ee():n.addEventListener("loadedmetadata",Ee,{once:true}),$||L();let fe=z?()=>{}:Ze(E=>{E&&(fe(),z=true,q.hold(true),te(1));});Pe(n,{type:"video",getProgress:()=>Z,getTrigger:()=>({tStart:C,tEnd:W})});function ie(){b&&(b=false,ue());}return {destroy(){q.off(),n.removeEventListener("loadedmetadata",Ee),fe(),ke(n);},replay(){R=-1,D=0,se=false,Z=0,ee=NaN,te(0),ie();},pause(){b=true,q.hold(true);},resume:ie,seek(E){let S=Math.min(1,Math.max(0,E));Z=S,R=S,D=0,b=true,q.hold(true),ee=NaN,te(S);},getProgress(){return Z}}}var nn=1e4;function kt(e){let{frames:t,count:r}=e;if(typeof t!="function")return ct(e);let n=Number.isFinite(r)?Math.min(Math.max(Math.floor(r),0),nn):0,o;try{o=Array.from({length:n},(s,i)=>t(i));}catch{o=["throws"];}return ct({...e,frames:o})}function br(e,t="<ScrollFrames>"){if(!e||e.getAttribute("aria-hidden")==="true")return;let r=e.getAttribute("role");r==="presentation"||r==="none"||e.getAttribute("aria-label")||e.getAttribute("aria-labelledby")||A(`${t}: the canvas has no aria-label. Say what the frames show, or set aria-hidden="true" if they are decoration.`,e);}var wt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function on(e){let t=e>1?[0,e-1]:[0],r=[[0,e-1]];for(let n=0;n<r.length;n++){let[o,s]=r[n];if(s-o<2)continue;let i=o+s>>1;t.push(i),r.push([o,i],[i,s]);}return t}function wr(e,t){if(typeof window>"u")return wt;let r=typeof e=="string"?document.querySelector(e):e;if(!r||r.tagName.toLowerCase()!=="canvas")return A("scrollFrames: <canvas> element not found:",e),wt;let n=r,{frames:o,trigger:s={},easing:i="linear",once:c=false,axis:m="y",fit:g="cover",triggerElement:w,onReady:P,onLoad:x,onComplete:k,onProgress:z}=t||{},T=Array.isArray(o)?o:null,j=t?.count,B=Math.floor(T?Math.min(j??T.length,T.length):j??NaN);if(!(T||typeof o=="function")||!Number.isFinite(B)||B<1)return A("scrollFrames: no frames. Pass `frames` as an array of URLs, or a function with a finite `count` of 1 or more.",n),wt;let M=t.concurrency??6;(!Number.isFinite(M)||M<1)&&(A("scrollFrames: `concurrency` must be a finite number of 1 or more; using 6.",t.concurrency),M=6),M=Math.floor(M);let O=n.getContext("2d");if(!O)return A("scrollFrames: the canvas has no 2D context.",n),wt;let C=B-1,W=w??n,b=window.matchMedia("(prefers-reduced-motion: reduce)").matches,R=Ie(i),D=u=>{let p=R(u);return p===p?p:0},Z=ae(s.start||"top top"),se=ae(s.end||"bottom top"),$=0,F=0,y=false,L=-1,ee=0,te=0,ye=false,N=false,q=false,ue=false,Ee=0,fe=-1,ie=new Array(B),E=new Uint8Array(B),S=new Set,re=b?[C]:on(B),Re=0,K=0,$e=false,Se=(u,...p)=>{if(u)try{u(...p);}catch(v){typeof reportError=="function"?reportError(v):setTimeout(()=>{throw v});}},he=false,ze=u=>{let p;try{p=T?T[u]:o(u);}catch(v){p=v;}return typeof p=="string"&&p?p:(he||(he=true,A(`scrollFrames: no URL for frame ${u}; it is skipped for its nearest neighbour.`,p)),null)},Fe=()=>m==="x"?window.scrollX:window.scrollY,Te=()=>m==="x"?window.innerWidth:window.innerHeight;function Ce(){!$e&&K===re.length&&($e=true,Se(x));}function l(){for(;!N&&S.size<M&&Re<re.length;){let u=re[Re++];E[u]||d(u);}}function d(u){E[u]=1;let p=ze(u);if(p===null){K++,queueMicrotask(()=>{N||Ce();});return}let v=new Image,le=false,we=We=>{le||N||(le=true,v.onload=v.onerror=null,S.delete(v),We?ie[u]=v:A("scrollFrames: a frame failed to load; its nearest neighbour shows instead:",p),K++,l(),V(),Ce());};S.add(v),v.decoding="async",v.onerror=()=>we(false),v.src=p,typeof v.decode=="function"?v.decode().then(()=>we(true),()=>{v.complete?we(v.naturalWidth>0):v.onload=()=>we(true);}):v.onload=()=>we(true);}function ne(u){for(let p=0;p<=C;p++){if(ie[u-p])return u-p;if(ie[u+p])return u+p}return -1}function H(){let u=n.clientWidth,p=n.clientHeight;if(!u||!p)return;let v=Math.min(window.devicePixelRatio||1,2),le=Math.round(u*v),we=Math.round(p*v);if(Math.abs(n.width-le)<=1&&Math.abs(n.height-we)<=1)return;n.width=le,n.height=we,fe=-1;let We=n.clientWidth,Oe=n.clientHeight;if(We!==u||Oe!==p){let Be=n.style;We!==u&&Oe!==p?(Be.width=`${u}px`,Be.height=`${p}px`):Be.aspectRatio=`${u} / ${p}`;}}function V(){let u=ne(Ee);if(u<0||u===fe)return;let p=ie[u],v=n.width,le=n.height,we=p.naturalWidth||v,We=p.naturalHeight||le,Oe=(g==="contain"?Math.min:Math.max)(v/we,le/We),Be=we*Oe,Ge=We*Oe;O.clearRect(0,0,v,le),O.drawImage(p,(v-Be)/2,(le-Ge)/2,Be,Ge),fe=u,q||(q=true,Se(P));}function G(u){Ee=Math.min(C,Math.max(0,Math.round(u*C))),n.style.setProperty("--scroll-draw-progress",String(u)),V(),Se(z,u,Ee);}function Y(){let u=W.getBoundingClientRect(),p=m==="x"?u.left:u.top,v=m==="x"?u.width:u.height,le=Le({top:p,height:v},Fe(),Te(),Z,se);$=le.tStart,F=le.tEnd,F===$&&v>0&&!b&&!ue&&(ue=true,A("scrollFrames: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",n));}let Ve=()=>Q(Fe(),$,F,1);function oe(){if(b)return;let u=Ve(),p=c?Math.max(L,D(ee=Math.max(ee,u))):D(u);te=p,G(p),p>=1&&!ye?(ye=true,Se(k)):p<1&&!c&&(ye=false);}function He(){te=1,G(1);}H(),b||Y();let be=De(window,[W],Ve,oe,()=>{H(),b||Y(),V();}),Qe=()=>be.hold(y||b);Qe(),b&&He(),l();let Ye=typeof ResizeObserver=="function"?new ResizeObserver(()=>{H(),V();}):null;Ye?.observe(n);let Ue=b?()=>{}:Ze(u=>{u&&(Ue(),b=true,be.hold(true),re=re.slice(0,Re),E[C]||re.push(C),Ce(),He(),l());});Pe(n,{type:"frames",getProgress:()=>te,getTrigger:()=>({tStart:$,tEnd:F})});function me(){N||!y||(y=false,Qe());}return {destroy(){if(!N){N=true,be.off(),Ye?.disconnect(),Ue();for(let u of S)u.onload=u.onerror=null,u.src="";S.clear(),ke(n);}},replay(){N||(L=-1,ee=0,ye=false,te=0,G(0),me());},pause(){N||(y=true,be.hold(true));},resume:me,seek(u){if(N)return;let p=Math.min(1,Math.max(0,u===u?u:0));te=p,L=p,ee=0,y=true,be.hold(true),G(p);},getProgress(){return te}}}function Rt(e,{triggerElement:t,...r},n){let o=t;return typeof t=="string"&&typeof document<"u"&&(o=document.querySelector(t),o||A(`scrollFrames: triggerElement "${t}" matches nothing; measuring the canvas.`)),wr(e,{...r,frames:n.frames,triggerElement:o??void 0})}function vr(e,t){let r=document.createElement("span");r.textContent=t,r.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(r);}function vt(e=""){let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=e,t}function Sr(e){let t=e.textContent??"";return e.textContent="",t.split(/(\s+)/).filter(Boolean).map(r=>{let n=e.appendChild(vt(r)),o=/^\s+$/.test(r);return o?n.style.whiteSpace="pre":n.style.display="inline-block",o?null:n}).filter(r=>r!==null)}function sn(e){let t=e.textContent??"";e.textContent="";let r=[],n=null;for(let o of t){let s=vt(o),i=o===" ";i?s.style.whiteSpace="pre":(s.style.display="inline-block",r.push(s)),i||o>"\u0DFF"?n=null:n||(n=e.appendChild(vt()),n.style.cssText="display:inline-block;white-space:nowrap"),(n??e).appendChild(s);}return r}function Er(e){let t=Sr(e),r=new Map;for(let s of t){let i=s.offsetTop;r.has(i)||r.set(i,[]),r.get(i).push(s);}let n=[],o=Array.from(r.keys()).sort((s,i)=>s-i);for(let s of o){let i=r.get(s),c=vt();c.style.display="inline-block",i.forEach((m,g)=>{let w=m.nextElementSibling;c.appendChild(m),g<i.length-1&&w&&w.style.whiteSpace==="pre"&&c.appendChild(w);}),n.push(c);}return e.textContent="",n.forEach((s,i)=>{e.appendChild(s),i<n.length-1&&e.appendChild(document.createTextNode(" "));}),n}function an(e,t,r,n){if(r<=1||n===0)return e;n=Math.min(n,1/r);let o=(r-1)*n,s=t*n,i=s+(1-o);return i<=s?e>=s?1:0:it((e-s)/(i-s),0,1)}function ln(e,t){let r=[];if(t?.y!==void 0&&r.push(`translateY(${t.y*(1-e)}px)`),t?.x!==void 0&&r.push(`translateX(${t.x*(1-e)}px)`),t?.rotate!==void 0&&r.push(`rotate(${t.rotate*(1-e)}deg)`),t?.scale!==void 0){let n=t.scale+(1-t.scale)*e;r.push(`scale(${n})`);}return r.join(" ")}var $t={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Ft(e,t={}){if(typeof window>"u")return $t;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return A("scrollText: element not found:",e),$t;let n=r;return qe(t,(o,s)=>cn(n,o,s))}function cn(e,t,r){let{split:n="words",stagger:o=.04,easing:s="ease-out",from:i={opacity:0,y:24},trigger:c={},once:m=true,onComplete:g}=t,w=Ie(s,"ease-out"),P=ae(c.start||"top 85%"),x=ae(c.end||"top 40%"),k=e.innerHTML,z=e.textContent??"",T;n==="chars"?T=sn(e):n==="lines"?T=Er(e):T=Sr(e),vr(e,z);let j=T.length;function B(y,L){i?.opacity!==void 0&&(y.style.opacity=String(i.opacity+(1-i.opacity)*L));let ee=ln(L,i);ee&&(y.style.transform=ee);}function M(y){e.style.setProperty("--scroll-draw-progress",String(y)),T.forEach((L,ee)=>{let te=w(an(y,ee,j,o));B(L,te);});}if(r)return M(1),g?.(),{...$t,destroy:()=>{e.innerHTML=k;},getProgress:()=>1};M(0);let O=0,C=0,W=-1,b=0,R=false;function D(){({tStart:O,tEnd:C}=Le(e.getBoundingClientRect(),window.scrollY,window.innerHeight,P,x));}let Z=()=>Q(window.scrollY,O,C,1);function se(){let y=m?W=Math.max(W,Z()):Z();b=y,M(y),y>=1&&!R?(R=true,g?.()):y<1&&!m&&(R=false);}D();let $=De(window,[e],Z,se,()=>{n==="lines"&&(e.innerHTML=k,T=Er(e),vr(e,z),M(b)),D();});Pe(e,{type:"text",getProgress:()=>b,getTrigger:()=>({tStart:O,tEnd:C})});let F=()=>$.hold(false);return {destroy(){$.off(),e.innerHTML=k,ke(e);},replay(){W=-1,R=false,b=0,M(0),F();},pause:()=>$.hold(true),resume:F,seek(y){$.hold(true),M(b=W=it(y,0,1));},getProgress(){return b}}}var rt=e=>typeof e=="function"?e():vue.unref(e);function _e(e,t,r,n=ct){let o=null,s=t(),i=()=>{o?.destroy(),o=e.value?r(e.value,cr(s,()=>s),s):null;};vue.onMounted(i),vue.watch(()=>n(s=t()),i),vue.onUnmounted(()=>{o?.destroy(),o=null;});}function Qo(e={}){let t=vue.ref(null);return _e(t,()=>rt(e),Lt),t}var Tr={preset:0,selector:0,speed:0,fade:1,easing:0,trigger:0,stagger:0,direction:0,once:1,debug:1,axis:0,scrollContainer:0,autoReverse:1,delay:0,strokeColor:0,strokeWidth:0,fillOpacity:0,clip:2,waypoints:0,velocityScale:3,threshold:0,rootMargin:0,repeat:0,repeatDelay:0,morphTo:0,onProgress:0,onStart:0,onComplete:0,onEnter:0,onLeave:0,onEnterBack:0,onLeaveBack:0,autoplay:1,duration:0,native:1},pn=[null,Boolean,[Boolean,String],[Boolean,Number]],Ht=e=>({type:e,default:void 0}),Ko=vue.defineComponent({name:"ScrollDraw",props:Object.fromEntries(Object.entries(Tr).map(([e,t])=>[e,t?Ht(pn[t]):null])),setup(e,{slots:t}){let r=vue.ref(null);return _e(r,()=>{let n={};for(let o in Tr){let s=e[o];s!=null&&(n[o]=s);}return n},Lt),()=>vue.h("div",{ref:r},t.default?.())}});function Xo(e){let t=vue.ref(null);return _e(t,()=>rt(e),Ct),t}var Jo=vue.defineComponent({name:"ScrollAnimate",props:{options:{type:Object,required:true}},setup(e,{slots:t}){let r=vue.ref(null);return _e(r,()=>e.options,Ct),()=>vue.h("div",{ref:r},t.default?.())}});function Zo(e){let t=vue.ref(null);return _e(t,()=>rt(e),At),t}var es=vue.defineComponent({name:"ScrollCounter",props:{to:{type:Number,required:true},from:{type:Number},format:{type:Function},easing:{type:[String,Function]},trigger:{type:Object},once:Ht(Boolean),decimals:{type:Number},onComplete:{type:Function}},setup(e){let t=vue.ref(null);_e(t,()=>{let n={to:e.to};return e.from!=null&&(n.from=e.from),e.format!=null&&(n.format=e.format),e.easing!=null&&(n.easing=e.easing),e.trigger!=null&&(n.trigger=e.trigger),e.once!=null&&(n.once=e.once),e.decimals!=null&&(n.decimals=e.decimals),e.onComplete!=null&&(n.onComplete=e.onComplete),n},At);let r=yr({to:e.to,decimals:e.decimals,format:e.format});return ()=>vue.h("span",{ref:t},r)}});function ts(e={}){let t=vue.ref(null);return _e(t,()=>rt(e),Pt),t}var rs=vue.defineComponent({name:"ScrollVideo",props:{src:{type:String,required:true},options:{type:Object},muted:{type:Boolean,default:true},playsInline:{type:Boolean,default:true},class:{type:String}},setup(e){let t=vue.ref(null);return _e(t,()=>e.options??{},Pt),()=>vue.h("video",{ref:t,src:e.src,muted:e.muted,playsinline:e.playsInline,preload:"auto",class:e.class})}});function ns(e){let t=vue.ref(null);return _e(t,()=>rt(e),Rt,kt),t}var xr={frames:0,count:0,trigger:0,easing:0,once:1,axis:0,triggerElement:0,fit:0,concurrency:0,onReady:0,onLoad:0,onComplete:0,onProgress:0},os=vue.defineComponent({name:"ScrollFrames",props:Object.fromEntries(Object.entries(xr).map(([e,t])=>[e,t?Ht(Boolean):e==="frames"?{required:true}:null])),setup(e){let t=vue.ref(null);return _e(t,()=>{let r={};for(let n in xr){let o=e[n];o!=null&&(r[n]=o);}return r},Rt,kt),vue.onMounted(()=>br(t.value)),()=>vue.h("canvas",{ref:t,role:"img"})}});function ss(e={}){let t=vue.ref(null);return _e(t,()=>rt(e),Ft),t}var is=vue.defineComponent({name:"ScrollText",props:{options:{type:Object},tag:{type:String,default:"p"}},setup(e,{slots:t}){let r=vue.ref(null);return _e(r,()=>e.options??{},Ft),()=>vue.h(e.tag,{ref:r},t.default?.())}});exports.ScrollAnimate=Jo;exports.ScrollCounter=es;exports.ScrollDraw=Ko;exports.ScrollFrames=os;exports.ScrollText=is;exports.ScrollVideo=rs;exports.useScrollAnimate=Xo;exports.useScrollCounter=Zo;exports.useScrollDraw=Qo;exports.useScrollFrames=ns;exports.useScrollText=ss;exports.useScrollVideo=ts;
@@ -1 +1 @@
1
- export{d as ScrollAnimate,f as ScrollCounter,b as ScrollDraw,j as ScrollFrames,l as ScrollText,h as ScrollVideo,c as useScrollAnimate,e as useScrollCounter,a as useScrollDraw,i as useScrollFrames,k as useScrollText,g as useScrollVideo}from'../chunk-5SJE7725.mjs';import'../chunk-NJV6S5LD.mjs';import'../chunk-KN2YB54Z.mjs';import'../chunk-HJTHOZK5.mjs';import'../chunk-GBFWTY5L.mjs';import'../chunk-UF3MO5XQ.mjs';import'../chunk-Z72TVDHY.mjs';import'../chunk-HAGTU5EX.mjs';import'../chunk-XLXVGQ3P.mjs';import'../chunk-7LDSB4FT.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-XC5NR2MU.mjs';import'../chunk-YOOPMYT6.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-NV6YTPHI.mjs';import'../chunk-IXR6RML7.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-EBU6E26L.mjs';import'../chunk-LFSU6LR3.mjs';
1
+ export{d as ScrollAnimate,f as ScrollCounter,b as ScrollDraw,j as ScrollFrames,l as ScrollText,h as ScrollVideo,c as useScrollAnimate,e as useScrollCounter,a as useScrollDraw,i as useScrollFrames,k as useScrollText,g as useScrollVideo}from'../chunk-IJPLLT7E.mjs';import'../chunk-NJV6S5LD.mjs';import'../chunk-KN2YB54Z.mjs';import'../chunk-HJTHOZK5.mjs';import'../chunk-GBFWTY5L.mjs';import'../chunk-UF3MO5XQ.mjs';import'../chunk-OGFXZCKC.mjs';import'../chunk-HAGTU5EX.mjs';import'../chunk-XLXVGQ3P.mjs';import'../chunk-7LDSB4FT.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-XC5NR2MU.mjs';import'../chunk-YOOPMYT6.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-NV6YTPHI.mjs';import'../chunk-IXR6RML7.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-EBU6E26L.mjs';import'../chunk-LFSU6LR3.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svg-scroll-draw",
3
- "version": "2.26.0",
3
+ "version": "2.26.1",
4
4
  "description": "SVG line drawing on scroll, on the browser's own scroll timeline (CSS animation-timeline, JS fallback). Drop-in for AOS, ScrollReveal and vivus. Plus reveal, pin, snap, text, video and image-sequence scrub. Zero dependencies. React, Vue, Svelte, Solid, Angular, Astro, vanilla JS",
5
5
  "keywords": [
6
6
  "svg",
@@ -1 +0,0 @@
1
- import {a as a$4}from'./chunk-NJV6S5LD.mjs';import {a,d,b,c}from'./chunk-KN2YB54Z.mjs';import {a as a$3}from'./chunk-HJTHOZK5.mjs';import {a as a$5}from'./chunk-UF3MO5XQ.mjs';import {a as a$2}from'./chunk-Z72TVDHY.mjs';import {a as a$1}from'./chunk-HAGTU5EX.mjs';import {b as b$1}from'./chunk-XLXVGQ3P.mjs';import {defineComponent,ref,h,onMounted,watch,onUnmounted,unref}from'vue';var u=e=>typeof e=="function"?e():unref(e);function r(e,t,o,s=a){let l=null,i=t(),R=()=>{l?.destroy(),l=e.value?o(e.value,b(i,()=>i),i):null;};onMounted(R),watch(()=>s(i=t()),R),onUnmounted(()=>{l?.destroy(),l=null;});}function I(e={}){let t=ref(null);return r(t,()=>u(e),b$1),t}var C={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},k=[null,Boolean,[Boolean,String],[Boolean,Number]],g=e=>({type:e,default:void 0}),N=defineComponent({name:"ScrollDraw",props:Object.fromEntries(Object.entries(C).map(([e,t])=>[e,t?g(k[t]):null])),setup(e,{slots:t}){let o=ref(null);return r(o,()=>{let s={};for(let l in C){let i=e[l];i!=null&&(s[l]=i);}return s},b$1),()=>h("div",{ref:o},t.default?.())}});function q(e){let t=ref(null);return r(t,()=>u(e),a$1),t}var K=defineComponent({name:"ScrollAnimate",props:{options:{type:Object,required:true}},setup(e,{slots:t}){let o=ref(null);return r(o,()=>e.options,a$1),()=>h("div",{ref:o},t.default?.())}});function P(e){let t=ref(null);return r(t,()=>u(e),a$2),t}var Y=defineComponent({name:"ScrollCounter",props:{to:{type:Number,required:true},from:{type:Number},format:{type:Function},easing:{type:[String,Function]},trigger:{type:Object},once:g(Boolean),decimals:{type:Number},onComplete:{type:Function}},setup(e){let t=ref(null);return r(t,()=>{let o={to:e.to};return e.from!=null&&(o.from=e.from),e.format!=null&&(o.format=e.format),e.easing!=null&&(o.easing=e.easing),e.trigger!=null&&(o.trigger=e.trigger),e.once!=null&&(o.once=e.once),e.decimals!=null&&(o.decimals=e.decimals),e.onComplete!=null&&(o.onComplete=e.onComplete),o},a$2),()=>h("span",{ref:t})}});function _(e={}){let t=ref(null);return r(t,()=>u(e),a$3),t}var W=defineComponent({name:"ScrollVideo",props:{src:{type:String,required:true},options:{type:Object},muted:{type:Boolean,default:true},playsInline:{type:Boolean,default:true},class:{type:String}},setup(e){let t=ref(null);return r(t,()=>e.options??{},a$3),()=>h("video",{ref:t,src:e.src,muted:e.muted,playsinline:e.playsInline,preload:"auto",class:e.class})}});function U(e){let t=ref(null);return r(t,()=>u(e),a$4,c),t}var v={frames:0,count:0,trigger:0,easing:0,once:1,axis:0,triggerElement:0,fit:0,concurrency:0,onReady:0,onLoad:0,onComplete:0,onProgress:0},z=defineComponent({name:"ScrollFrames",props:Object.fromEntries(Object.entries(v).map(([e,t])=>[e,t?g(Boolean):e==="frames"?{required:true}:null])),setup(e){let t=ref(null);return r(t,()=>{let o={};for(let s in v){let l=e[s];l!=null&&(o[s]=l);}return o},a$4,c),onMounted(()=>d(t.value)),()=>h("canvas",{ref:t,role:"img"})}});function J(e={}){let t=ref(null);return r(t,()=>u(e),a$5),t}var Q=defineComponent({name:"ScrollText",props:{options:{type:Object},tag:{type:String,default:"p"}},setup(e,{slots:t}){let o=ref(null);return r(o,()=>e.options??{},a$5),()=>h(e.tag,{ref:o},t.default?.())}});export{I as a,N as b,q as c,K as d,P as e,Y as f,_ as g,W as h,U as i,z as j,J as k,Q as l};
@@ -1 +0,0 @@
1
- import {a}from'./chunk-2PYLM3E7.mjs';import {a as a$1,b as b$2,e,c}from'./chunk-NV6YTPHI.mjs';import {f}from'./chunk-IXR6RML7.mjs';import {a as a$2,b as b$3}from'./chunk-EBU6E26L.mjs';import {b as b$1}from'./chunk-LFSU6LR3.mjs';var b={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function U(t,p){if(typeof window>"u")return b;let a$1=typeof t=="string"?document.querySelector(t):t;return a$1?a(p,(l,c)=>N(a$1,l,c)):(b$1("scrollCounter: element not found:",t),b)}function N(t,p,a){let{from:l=0,to:c$1,format:F,easing:L="ease-out",trigger:C={},once:S=true,decimals:P,onComplete:v}=p,E=P!==void 0?e=>e.toFixed(P):F??(e=>String(Math.round(e))),f$1=f(L,"ease-out"),V=a$1(C.start||"top 80%"),_=a$1(C.end||"top 20%");if(a)return t.textContent=E(c$1),v?.(),{...b,getProgress:()=>1};let s=0,i=0,M=false,d=-1,o=0,n=0,u=false,h=()=>window.scrollY,q=()=>window.innerHeight;function x(){let e=t.getBoundingClientRect(),r=c({top:e.top,height:e.height},h(),q(),V,_);M&&Math.abs(r.tStart-s)<1&&Math.abs(r.tEnd-i)<1||(M=true,s=r.tStart,i=r.tEnd);}let B=t.style.getPropertyValue("--scroll-draw-progress");function g(e){t.textContent=E(l+(c$1-l)*e),t.style.setProperty("--scroll-draw-progress",String(e));}let T=()=>b$2(h(),s,i,1);function G(){let e=T(),r=S?Math.max(d,f$1(o=Math.max(o,e))):f$1(e);n=r,g(r),r>=1&&!u?(u=true,v?.()):r<1&&!S&&(u=false);}x();{o=b$2(h(),s,i,1);let e=f$1(o);n=e,g(e);}let m=e(window,[t],T,G,x);a$2(t,{type:"counter",getProgress:()=>n,getTrigger:()=>({tStart:s,tEnd:i})});let O=()=>m.hold(false);return {destroy(){m.off(),t.style.setProperty("--scroll-draw-progress",B),b$3(t);},replay(){d=-1,o=0,u=false,n=0,g(0),O();},pause:()=>m.hold(true),resume:O,seek(e){let r=Math.min(1,Math.max(0,e));n=r,d=r,o=0,m.hold(true),g(r);},getProgress(){return n}}}export{U as a};