svg-scroll-draw 2.25.0 → 2.26.0

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