svg-scroll-draw 2.23.4 → 2.23.6

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 (101) hide show
  1. package/README.md +21 -6
  2. package/dist/angular/index.cjs +3 -3
  3. package/dist/angular/index.d.mts +3 -3
  4. package/dist/angular/index.d.ts +3 -3
  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 +190 -265
  11. package/dist/cdn/svg-scroll-draw.global.js +3 -3
  12. package/dist/{chunk-DSFD227B.mjs → chunk-22B37AWY.mjs} +1 -1
  13. package/dist/{chunk-YNNA33A5.mjs → chunk-BSW7W2Y5.mjs} +1 -1
  14. package/dist/{chunk-XTPAW6XR.mjs → chunk-CZLUBJAI.mjs} +1 -1
  15. package/dist/chunk-K6VATIJH.mjs +3 -0
  16. package/dist/chunk-NV6YTPHI.mjs +1 -0
  17. package/dist/chunk-NYQJPPMP.mjs +1 -0
  18. package/dist/{chunk-ZNCZYV3Q.mjs → chunk-OSGWGHQJ.mjs} +1 -1
  19. package/dist/chunk-PAGN26EH.mjs +1 -0
  20. package/dist/chunk-THPTANES.mjs +1 -0
  21. package/dist/{chunk-OJFWQ6CU.mjs → chunk-V3Z6G5JE.mjs} +1 -1
  22. package/dist/chunk-VJ5ZU55P.mjs +1 -0
  23. package/dist/chunk-XNM3VKEK.mjs +1 -0
  24. package/dist/cinematic/index.cjs +2 -2
  25. package/dist/cinematic/index.mjs +1 -1
  26. package/dist/{engine-B7UpB4fT.d.ts → engine-6VsjEwzb.d.ts} +1 -1
  27. package/dist/{engine-o1VSQ1lX.d.mts → engine-BLWKCfxC.d.mts} +1 -1
  28. package/dist/group/index.cjs +3 -3
  29. package/dist/group/index.d.mts +3 -3
  30. package/dist/group/index.d.ts +3 -3
  31. package/dist/group/index.mjs +1 -1
  32. package/dist/horizontal/index.cjs +1 -1
  33. package/dist/horizontal/index.d.mts +1 -1
  34. package/dist/horizontal/index.d.ts +1 -1
  35. package/dist/horizontal/index.mjs +1 -1
  36. package/dist/{index-D3o4vT3e.d.ts → index-BN8yKeQ3.d.ts} +1 -1
  37. package/dist/{index-BY-CNE8c.d.mts → index-DAiRJgtF.d.mts} +2 -2
  38. package/dist/{index-CdaBYn3A.d.mts → index-DVjblK_4.d.mts} +1 -1
  39. package/dist/{index-DqXXiDIk.d.ts → index-hSQqLVbg.d.ts} +2 -2
  40. package/dist/index.cjs +4 -4
  41. package/dist/index.d.mts +6 -6
  42. package/dist/index.d.ts +6 -6
  43. package/dist/index.mjs +1 -1
  44. package/dist/nuxt/index.cjs +3 -3
  45. package/dist/nuxt/index.d.mts +3 -3
  46. package/dist/nuxt/index.d.ts +3 -3
  47. package/dist/nuxt/index.mjs +1 -1
  48. package/dist/progress/index.cjs +1 -1
  49. package/dist/progress/index.d.mts +1 -1
  50. package/dist/progress/index.d.ts +1 -1
  51. package/dist/progress/index.mjs +1 -1
  52. package/dist/react/index.cjs +2 -2
  53. package/dist/react/index.d.mts +3 -3
  54. package/dist/react/index.d.ts +3 -3
  55. package/dist/react/index.mjs +1 -1
  56. package/dist/reveal/index.cjs +1 -1
  57. package/dist/reveal/index.d.mts +1 -1
  58. package/dist/reveal/index.d.ts +1 -1
  59. package/dist/reveal/index.mjs +1 -1
  60. package/dist/{scroll-draw-DsBMkwrX.d.ts → scroll-draw-BsU_Ohmu.d.ts} +1 -1
  61. package/dist/{scroll-draw-Dej-GIRP.d.mts → scroll-draw-Fzir8hlU.d.mts} +1 -1
  62. package/dist/snap/index.cjs +1 -1
  63. package/dist/snap/index.d.mts +1 -1
  64. package/dist/snap/index.d.ts +1 -1
  65. package/dist/snap/index.mjs +1 -1
  66. package/dist/solid/index.cjs +3 -3
  67. package/dist/solid/index.d.mts +3 -3
  68. package/dist/solid/index.d.ts +3 -3
  69. package/dist/solid/index.mjs +1 -1
  70. package/dist/svelte/index.cjs +3 -3
  71. package/dist/svelte/index.d.mts +3 -3
  72. package/dist/svelte/index.d.ts +3 -3
  73. package/dist/svelte/index.mjs +1 -1
  74. package/dist/text/index.cjs +1 -1
  75. package/dist/text/index.d.mts +1 -1
  76. package/dist/text/index.d.ts +1 -1
  77. package/dist/text/index.mjs +1 -1
  78. package/dist/timeline/index.cjs +9 -9
  79. package/dist/timeline/index.d.mts +1 -1
  80. package/dist/timeline/index.d.ts +1 -1
  81. package/dist/timeline/index.mjs +8 -8
  82. package/dist/{types-MswK0erX.d.mts → types-9bcJdVcg.d.mts} +6 -2
  83. package/dist/{types-MswK0erX.d.ts → types-9bcJdVcg.d.ts} +6 -2
  84. package/dist/video/index.cjs +1 -1
  85. package/dist/video/index.d.mts +1 -1
  86. package/dist/video/index.d.ts +1 -1
  87. package/dist/video/index.mjs +1 -1
  88. package/dist/vue/index.cjs +3 -3
  89. package/dist/vue/index.d.mts +3 -3
  90. package/dist/vue/index.d.ts +3 -3
  91. package/dist/vue/index.mjs +1 -1
  92. package/dist/web-component/index.cjs +3 -3
  93. package/dist/web-component/index.mjs +1 -1
  94. package/package.json +8 -2
  95. package/dist/chunk-6TWFLRUB.mjs +0 -3
  96. package/dist/chunk-A4JCC3QQ.mjs +0 -1
  97. package/dist/chunk-DM6EDKWH.mjs +0 -1
  98. package/dist/chunk-I73SOXBN.mjs +0 -1
  99. package/dist/chunk-NLPSVYFP.mjs +0 -1
  100. package/dist/chunk-OPXWNJBG.mjs +0 -1
  101. package/dist/chunk-QFSTKVA3.mjs +0 -1
package/README.md CHANGED
@@ -7,7 +7,22 @@
7
7
  [![license](https://img.shields.io/npm/l/svg-scroll-draw)](./LICENSE)
8
8
  [![GitHub stars](https://img.shields.io/github/stars/DhruvilChauahan0210/ink-scroll?style=flat)](https://github.com/DhruvilChauahan0210/ink-scroll/stargazers)
9
9
 
10
- > Draw SVG paths on scroll — plus reveal, pin, snap, parallax, counters, video scrub and text splitting. **11.6 KB gzipped for every API, from 1.6 KB if you import one.** Zero dependencies, MIT, and a native CSS fast path that runs with no per-frame JavaScript. Works in React, Next.js, Vue, Svelte, Solid, Angular, Astro, Nuxt and vanilla JS.
10
+ > SVG line drawing on scroll, done right: correct path lengths, stagger across many paths, and `morphTo`. Where the browser supports `animation-timeline: view()` the draw runs on its own scroll timeline in CSS, with no per-frame JavaScript; in other browsers, and for options CSS can't express, a JavaScript engine draws it, and a parity suite checks in Chromium, Firefox and WebKit that both draw the same frame. **11.4 KB gzipped for every API, from 1.6 KB if you import one**, against 47.5 KB for GSAP + ScrollTrigger + DrawSVG. Zero dependencies, MIT.
11
+
12
+ **Switch in one line.** Already on AOS, ScrollReveal or vivus? Change the import and keep your markup and calls:
13
+
14
+ ```diff
15
+ - import AOS from 'aos';
16
+ + import AOS from 'svg-scroll-draw/aos'; // and delete aos.css: the styles ship inside
17
+ - import ScrollReveal from 'scrollreveal';
18
+ + import ScrollReveal from 'svg-scroll-draw/scrollreveal';
19
+ - import Vivus from 'vivus';
20
+ + import Vivus from 'svg-scroll-draw/vivus';
21
+ ```
22
+
23
+ Each drop-in is tested side by side against the original in real browsers (AOS 2.3.4, which has had no release since; ScrollReveal 4.0.9, which is GPL-3.0 where this is MIT; vivus 0.4.6). `npx svg-scroll-draw migrate` makes the change across a project.
24
+
25
+ **And the rest of scroll animation.** Reveal, pin, snap, parallax, counters, video scrub and text splitting, each its own entry point, so you load only what you import. Works in React, Next.js, Vue, Svelte, Solid, Angular, Astro, Nuxt and vanilla JS. Plus [free in-browser tools](https://svg-scroll-draw.vercel.app/tools) — generators, editors and converters — that write the code for you.
11
26
 
12
27
  **[Live Demo](https://svg-scroll-draw.vercel.app)** · [npm](https://www.npmjs.com/package/svg-scroll-draw) · [Docs](https://svg-scroll-draw.vercel.app/docs) · [Examples](https://svg-scroll-draw.vercel.app/examples) · [Report a bug](https://github.com/DhruvilChauahan0210/ink-scroll/issues)
13
28
 
@@ -378,7 +393,7 @@ import { ScrollDraw } from 'svg-scroll-draw/vue';
378
393
  Already using [AOS](https://github.com/michalsnik/aos)? `svg-scroll-draw/aos` speaks its API and
379
394
  reads its markup, so the move is an import change — or one command: `npx svg-scroll-draw migrate`. Keep every `data-aos`, `data-aos-offset`,
380
395
  `data-aos-delay`, `data-aos-anchor-placement` and custom animation; delete `aos.css` — the styles ship
381
- inside the module. 3.1 KB gzipped with the styles, against 6.7 KB for AOS 2.3.4 with its stylesheet.
396
+ inside the module. 3.2 KB gzipped with the styles, against 6.7 KB for AOS 2.3.4 with its stylesheet.
382
397
 
383
398
  ```diff
384
399
  - import AOS from 'aos';
@@ -634,12 +649,12 @@ devtools.highlight('#my-element'); // outline for 2 seconds
634
649
  <!-- size-table:start -->
635
650
  | Entry | Gzipped |
636
651
  |---|---|
637
- | `svg-scroll-draw` (main, every core API) | 11.6 KB |
638
- | `svg-scroll-draw/react` (includes the engine) | 13.2 KB |
639
- | `svg-scroll-draw` + `svg-scroll-draw/react` (together; the engine ships once) | 14.8 KB |
652
+ | `svg-scroll-draw` (main, every core API) | 11.4 KB |
653
+ | `svg-scroll-draw/react` (includes the engine) | 12.8 KB |
654
+ | `svg-scroll-draw` + `svg-scroll-draw/react` (together; the engine ships once) | 14.3 KB |
640
655
  | `svg-scroll-draw/reveal` | 5.7 KB |
641
656
  | `svg-scroll-draw/text` | 3.5 KB |
642
- | `svg-scroll-draw/video` | 2.8 KB |
657
+ | `svg-scroll-draw/video` | 2.9 KB |
643
658
  | `svg-scroll-draw/scrollreveal` | 4.7 KB |
644
659
  | `svg-scroll-draw/vivus` | 4.2 KB |
645
660
  | `svg-scroll-draw/aos` (styles included) | 3.2 KB |
@@ -1,3 +1,3 @@
1
- 'use strict';function En({bounces:e=3,decay:n=.5}={}){let t=Math.max(1,Math.round(e)),r=Math.max(.01,Math.min(.99,n)),s=Math.sqrt(r),i=0,a=[];for(let h=0;h<t;h++){let E=Math.pow(s,h);a.push(E),i+=E;}let m=[0],p=0;for(let h=0;h<t;h++)p+=a[h]/i,m.push(p);return h=>{if(h<=0)return 0;if(h>=1)return 1;for(let E=0;E<t;E++)if(h<=m[E+1]){let H=(h-m[E])/(m[E+1]-m[E]);if(E===0)return H*(2-H);let S=1-Math.pow(r,E);return S+(1-S)*(2*H-1)*(2*H-1)}return 1}}function Sn({amplitude:e=1,period:n=.4}={}){let t=Math.max(1,e),r=Math.max(.1,n),s=t<=1?r/4:r/(2*Math.PI)*Math.asin(1/t);return i=>i<=0?0:i>=1?1:t*Math.pow(2,-10*i)*Math.sin((i-s)*(2*Math.PI)/r)+1}var ee={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:e=>1-Math.cos(e*Math.PI*2.5)*Math.pow(1-e,2.2),bounce:En(),elastic:Sn()};function It(e,n,t){return Math.min(t,Math.max(n,e))}function de(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}}function Rt(e,n,t,r){switch(r){case "top":return e+t;case "center":return e+t+n/2;case "bottom":return e+t+n;default:return e+t}}function Ft(e,n){if(/^\d+(\.\d+)?%$/.test(e))return n*(parseFloat(e)/100);switch(e){case "top":return 0;case "center":return n/2;case "bottom":return n;default:return n}}function U(e,n,t,r){return t===n?0:It((e-n)/(t-n)*r,0,1)}function Le(e,n,t,r,s){let i=Rt(e.top,e.height,n,r.element)-Ft(r.viewport,t),a=Rt(e.top,e.height,n,s.element)-Ft(s.viewport,t);return {tStart:i,tEnd:a}}function ot(e,n,t){let r=e.getBoundingClientRect(),s=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:s,scroll:0}:{top:t==="x"?r.left:r.top,height:s,scroll:t==="x"?window.scrollX:window.scrollY}}function st(e){let n=parseFloat(e.getAttribute("pathLength")??"");if(n>0)return n;let t=e.tagName.toLowerCase();if(t==="rect"){let r=parseFloat(e.getAttribute("width")??"0"),s=parseFloat(e.getAttribute("height")??"0");return 2*(r+s)}if(t==="circle"){let r=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*r}return e.getTotalLength()}function Ht(e){let n=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(n)return [parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16)];let 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 r=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return r?[parseInt(r[1]),parseInt(r[2]),parseInt(r[3])]:null}function it(e,n,t){let r=Ht(e),s=Ht(n);return !r||!s?e:`rgb(${Math.round(r[0]+(s[0]-r[0])*t)},${Math.round(r[1]+(s[1]-r[1])*t)},${Math.round(r[2]+(s[2]-r[2])*t)})`}var Nt={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var je=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function ge(e,...n){je&&console.warn(`[svg-scroll-draw] ${e}`,...n);}var Tn="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",xn="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Dt=33;function Mn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Ln(e){let n=[];for(let t=0;t<Dt;t++){let r=t/(Dt-1);n.push(String(Math.round(e(r)*1e5)/1e5));}return `linear(${n.join(",")})`}function at(e){switch(e){case "linear":return "linear";case "ease-in":return Tn;case "ease-out":return xn;case "ease-in-out":return Mn()?Ln(ee["ease-in-out"]):null;default:return null}}var Vt=Symbol.for("svg-scroll-draw.registry");function zt(){let e=globalThis;return e[Vt]||(e[Vt]=new Map)}function Pe(e,n){zt().set(e,n);}function Ce(e){zt().delete(e);}var Ke,lt=new Set,ct=new WeakMap,Ze=new Map,_t=e=>{let n=e.getBoundingClientRect();return n.width+" "+n.height};function An(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 Oe(e,n){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let t=()=>n();Ke??(Ke=new ResizeObserver(s=>{let i=false;for(let{target:a}of s)ct.get(a)!==_t(a)&&(i=true),ct.set(a,"");i&&lt.forEach(a=>a());})),lt.add(t);let r=An(e);return [document.body,document.documentElement].forEach(s=>s&&r.add(s)),r.forEach(s=>{ct.has(s)||ct.set(s,_t(s)),Ze.set(s,(Ze.get(s)??0)+1),Ke.observe(s);}),()=>{lt.delete(t)&&(r.forEach(s=>{let i=(Ze.get(s)??1)-1;if(i)return void Ze.set(s,i);Ze.delete(s),Ke?.unobserve(s);}),lt.size||(Ke?.disconnect(),Ke=void 0));}}function ut(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let n=window.matchMedia("(prefers-reduced-motion: reduce)"),t=s=>e(!!s.matches);if(typeof n.addEventListener=="function")return n.addEventListener("change",t),()=>n.removeEventListener("change",t);let r=n;return r.addListener?.(t),()=>r.removeListener?.(t)}function _e(e,n){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return n(e,true);let t=n(e,false),r=ut(i=>{if(!i)return;r();let a=(t.getProgress?.()??0)>=1;t.destroy(),t=n(a?{...e,onComplete:void 0}:e,true);}),s={};for(let i of Object.keys(t))s[i]=(...a)=>t[i]?.(...a);return s.destroy=()=>{r(),t.destroy();},s}var Pn=0;function Cn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Wt(e,n){let t="";try{t=getComputedStyle(e).getPropertyValue(n).trim();}catch{}return t||(e.getAttribute(n)??"").trim()}var qt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function $n(e){if(!je)return;let n=Wt(e,"stroke");if(!n||n==="none"){ge("Element has no stroke \u2014 path will not be visible.",e);return}let t=(e.getAttribute("fill")??"").trim();t&&!qt.has(t)&&!qt.has(Wt(e,"fill"))&&ge("Element has a fill \u2014 it may obscure the stroke animation.",e);}function kn(e,n,t){let r=document.createElement("div");r.setAttribute("data-svg-scroll-draw-debug",""),r.style.cssText="position:fixed;pointer-events:none;z-index:9999;font-family:monospace;font-size:11px;top:0;left:0;right:0;bottom:0;";function s(){let i=t==="x"?window.scrollX:window.scrollY,a=e-i,m=n-i,p=t==="x";r.innerHTML=`
2
- <div style="position:absolute;${p?`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;${p?`left:${m}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${m}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(r),window.addEventListener("scroll",s,{passive:true}),s(),{el:r,destroy(){window.removeEventListener("scroll",s),r.remove();}}}var Bt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Gt=/[MmLlHhVvCcSsQqTtAaZz]/g;function On(e,n,t){if(!je)return;let r=(e.match(Gt)??[]).join("").toUpperCase(),s=(n.match(Gt)??[]).join("").toUpperCase(),i=(e.match(Bt)??[]).length,a=(n.match(Bt)??[]).length;if(r!==s){ge(`morphTo: command sequence differs (${r||"\u2205"} \u2192 ${s||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,t);return}i!==a&&ge(`morphTo: coordinate count differs (${i} \u2192 ${a}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,t);}function In(e,n,t){let r=(n.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),s=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,i=>{let a=parseFloat(i),m=r[s++]??a;return String(+(a+(m-a)*t).toFixed(4))})}function jt(e,n={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:_e(n,(t,r)=>Rn(e,t,r))}function Rn(e,n,t){let{preset:r,...s}=n,i=r?{...Nt[r],...s}:s,{selector:a="path, polyline, line, polygon, rect, circle",speed:m=1,fade:p=false,easing:h="linear",trigger:E={},stagger:H=0,direction:S="forward",once:Y=false,debug:te=false,axis:L="y",scrollContainer:ne,autoReverse:we=false,delay:C=0,strokeColor:I,strokeWidth:$,fillOpacity:A,waypoints:b,velocityScale:y=false,threshold:v=0,rootMargin:G="0px",repeat:_=0,repeatDelay:q=0,morphTo:D,clip:R,autoplay:re=false,duration:Te=1e3,native:ce=true,onProgress:N,onStart:k,onComplete:O,onEnter:u,onLeave:d,onEnterBack:X,onLeaveBack:xe}=i,V=R===true?"left":typeof R=="string"?R:false,K=typeof h=="function"?h:ee[h]??ee.linear,$e=de(E.start||"top bottom"),x=de(E.end||"bottom top"),T=typeof ne=="string"?document.querySelector(ne):ne??null,ue=Array.isArray(I)?I[0]:null,me=Array.isArray(I)?I[1]:typeof I=="string"?I:null,ke=Array.isArray($)?$[0]:null,Ie=Array.isArray($)?$[1]:typeof $=="number"?$:null,Me=Array.isArray(A)?A[0]:null,Ne=Array.isArray(A)?A[1]:typeof A=="number"?A:null;function Re(o){let l=o*100;switch(V){case "right":return `inset(0 0 0 ${100-l}%)`;case "top":return `inset(0 0 ${100-l}% 0)`;case "bottom":return `inset(${100-l}% 0 0 0)`;case "center":return `circle(${o*150}% at 50% 50%)`;default:return `inset(0 ${100-l}% 0 0)`}}let F=V?[]:Array.from(e.querySelectorAll(a)),he=[],ve=[],oe=0,Z=0,We=H,Je=0,j=false,c=false,f=0,Ae=false,fe=-1,J=[],Q=-1,w=false,se=0,ye=0,De,ft=null;function St(){ft?.destroy(),ft=null;}let Ve=new Set,Tt=NaN,ze=true,et=-1,xt=performance.now(),Be=NaN;function Qe(){return T?L==="x"?T.scrollLeft:T.scrollTop:L==="x"?window.scrollX:window.scrollY}function Mt(){return T?L==="x"?T.clientWidth:T.clientHeight:L==="x"?window.innerWidth:window.innerHeight}function Lt(){let o=ot(e,T,L);return Le(o,o.scroll,Mt(),$e,x)}function dn(){let o=Z-oe,l=F.length-1,g=T??document.documentElement,P=L==="x"?"Width":"Height";if(We=H,H>0&&l>0&&o>0){let pe=g[`scroll${P}`]-g[`client${P}`]-1-oe-o/m;pe>=0&&(We=Math.min(H,pe/(l*o)));}Je=Z+l*We*o;}function At(){(({tStart:oe,tEnd:Z}=Lt())),dn(),te&&je&&(St(),ft=kn(oe,Z,L));}function pt(o,l=Lt){Pe(e,{type:"draw",getProgress:()=>o.getProgress(),getTrigger:l});let g=o.destroy;return o.destroy=()=>{g.call(o),Ce(e);},o}function Pt(o,l){return Y&&!we?Math.max(fe,K(J[o]=Math.max(J[o]??0,l))):K(l)}function gn(o,l){if(e.style.setProperty("--scroll-draw-progress",String(o)),V){let g=l==="reverse"?1-o:o;e.style.clipPath=Re(g);return}F.forEach((g,P)=>dt(g,P,o,l));}function dt(o,l,g,P){o.style.strokeDashoffset=P==="reverse"?`${he[l]*g}`:`${he[l]*(1-g)}`,p&&(o.style.opacity=P==="reverse"?`${1-g}`:`${g}`),ue&&me?o.style.stroke=it(ue,me,g):me&&(o.style.stroke=me),ke!==null&&Ie!==null?o.style.strokeWidth=`${ke+(Ie-ke)*g}`:Ie!==null&&(o.style.strokeWidth=`${Ie}`),Me!==null&&Ne!==null?o.style.fillOpacity=`${Me+(Ne-Me)*g}`:Ne!==null&&(o.style.fillOpacity=`${Ne}`),D&&o.tagName.toLowerCase()==="path"&&ve[l]&&o.setAttribute("d",In(ve[l],D,g));}function Ue(){if(e.style.setProperty("--scroll-draw-progress","0"),V){e.style.clipPath=Re(S==="reverse"?1:0);return}F.forEach((o,l)=>{o.style.strokeDasharray=`${he[l]}`,o.style.strokeDashoffset=S==="reverse"?"0":`${he[l]}`,p?o.style.opacity=S==="reverse"?"1":"0":o.style.opacity="",ue&&(o.style.stroke=ue),ke!==null&&(o.style.strokeWidth=`${ke}`),Me!==null&&(o.style.fillOpacity=`${Me}`),D&&o.tagName.toLowerCase()==="path"&&ve[l]&&o.setAttribute("d",ve[l]);});}function Ye(o,l){let g=o.getAttribute("d"),P=st(o);if(D&&ve[l]){o.setAttribute("d",D);let pe=st(o);o.setAttribute("d",ve[l]),P=Math.max(st(o),pe),o.setAttribute("d",g);}he[l]=P,o.style.strokeDasharray=`${P}`;}if(F.forEach((o,l)=>{$n(o);let g=o.tagName.toLowerCase()==="path";g?ve.push(o.getAttribute("d")??""):ve.push(""),Ye(o,l);let P=he[l];D&&(g?On(ve[ve.length-1],D,o):ge(`morphTo only applies to <path> elements \u2014 ignored on <${o.tagName}>.`,o)),t?(o.style.strokeDashoffset=S==="reverse"?`${P}`:"0",p&&(o.style.opacity="1"),me&&(o.style.stroke=me),Ie!==null&&(o.style.strokeWidth=`${Ie}`),Ne!==null&&(o.style.fillOpacity=`${Ne}`),D&&o.tagName.toLowerCase()==="path"&&o.setAttribute("d",D)):(o.style.strokeDashoffset=S==="reverse"?"0":`${P}`,p?o.style.opacity=S==="reverse"?"1":"0":o.style.opacity="",ue&&(o.style.stroke=ue),ke!==null&&(o.style.strokeWidth=`${ke}`),Me!==null&&(o.style.fillOpacity=`${Me}`));}),t)return V&&(e.style.clipPath=Re(1)),O?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};V&&(e.style.clipPath=Re(S==="reverse"?1:0));let Ct=typeof h=="string"?at(h):null;function hn(){return !(ce===false||re||te&&je||!Cn()||!F.length||!Ct||V||L!=="y"||T||m!==1||H!==0||Y||we||y!==false||D||b||_||C>0||N||k||O||u||d||X||xe||I!=null||$!=null||A!=null||(E.start||"top bottom").trim()!=="top bottom"||(E.end||"bottom top").trim()!=="bottom top")}function yn(){let o=++Pn,l=`svg-scroll-draw-${o}`,g=`svg-scroll-draw-host-${o}`,P=`--svg-scroll-draw-${o}`,pe=S==="reverse"?"0":"var(--ssd-len)",Fe=S==="reverse"?"var(--ssd-len)":"0",Ee=`stroke-dashoffset:${pe};`,W=`stroke-dashoffset:${Fe};`;p&&(Ee+=`opacity:${S==="reverse"?1:0};`,W+=`opacity:${S==="reverse"?0:1};`);let B=document.createElement("style");B.setAttribute("data-svg-scroll-draw",""),B.textContent=`@keyframes ${l}{from{${Ee}}to{${W}}}.${g}{view-timeline-name:${P};view-timeline-axis:block;}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${Ct};animation-fill-mode:both;animation-timeline:${P};animation-range:cover 0% cover 100%;}`,document.head.appendChild(B),e.classList.add(g);function ie(M,z){M.style.setProperty("--ssd-len",String(he[z])),M.style.strokeDasharray=`${he[z]}`,M.style.strokeDashoffset="",M.style.opacity="",M.style.animationPlayState="",M.classList.add(l);}F.forEach(ie);let ae=false,be=-1;function Se(){if(be>=0)return be;let M=e.getBoundingClientRect(),{tStart:z,tEnd:le}=Le({top:M.top,height:M.height},Qe(),Mt(),$e,x);return K(U(Qe(),z,le,m))}return {destroy(){e.classList.remove(g),F.forEach(M=>{M.classList.remove(l),M.style.removeProperty("--ssd-len"),M.style.animationPlayState="";}),B.remove();},replay(){ae=false,be=-1,F.forEach(ie);},pause(){ae=true,F.forEach(M=>{M.style.animationPlayState="paused";});},resume(){ae&&(ae=false,F.forEach(M=>{M.style.animationPlayState="running";}));},seek(M){let z=Math.min(1,Math.max(0,M));be=z,ae=true,F.forEach((le,He)=>{le.classList.remove(l),le.style.strokeDashoffset=S==="reverse"?`${he[He]*z}`:`${he[He]*(1-z)}`,p&&(le.style.opacity=S==="reverse"?`${1-z}`:`${z}`);});},getProgress(){return Se()},refresh(){F.forEach((M,z)=>{Ye(M,z),M.style.setProperty("--ssd-len",String(he[z]));});}}}if(hn())return pt(yn());function bn(){let o=Math.max(1,Te),l=V?o:o*(1+Math.max(0,F.length-1)*H),g=0,P=0,pe=false;function Fe(be){let Se=true,M=Math.min(1,Math.max(0,be/l));if(V){let z=Math.min(1,Math.max(0,be/o)),le=K(z);se=le,e.style.setProperty("--scroll-draw-progress",String(le)),e.style.clipPath=Re(S==="reverse"?1-le:le),N?.(le),z<1&&(Se=false);}else {F.forEach((le,He)=>{let vn=He*H*o,Ot=Math.min(1,Math.max(0,(be-vn)/o));dt(le,He,K(Ot),S),Ot<1&&(Se=false);});let z=K(M);se=z,N?.(z),e.style.setProperty("--scroll-draw-progress",String(z));}if(b){let z=K(M);for(let le in b){let He=parseFloat(le);z>=He&&!Ve.has(He)&&(Ve.add(He),b[le]?.());}}return Se}function Ee(be){if(w)return;let Se=be-g;c||(c=true,k?.());let M=Fe(Se);if(M&&!j){j=true,Fe(l),O?.(),ye<(_==="infinite"?1/0:_??0)&&(ye++,De=setTimeout(()=>{g=performance.now(),c=false,j=false,Ve.clear(),Ue(),f=requestAnimationFrame(Ee);},q));return}M||(f=requestAnimationFrame(Ee));}function W(){cancelAnimationFrame(f),clearTimeout(De),g=performance.now(),P=0,w=false,c=false,j=false,ye=0,pe=true,se=0,Ve.clear(),Ue(),f=requestAnimationFrame(Ee);}let B=new IntersectionObserver(be=>{be.forEach(Se=>{Se.isIntersecting&&!(Y&&j)?W():!Se.isIntersecting&&!Y&&!j&&(cancelAnimationFrame(f),clearTimeout(De),pe=false);});},{root:T??null,threshold:v,rootMargin:G}),ie;function ae(){clearTimeout(ie),ie=setTimeout(()=>F.forEach(Ye),150);}return window.addEventListener("resize",ae),window.addEventListener("orientationchange",ae),C>0?setTimeout(()=>B.observe(e),C):B.observe(e),{destroy(){cancelAnimationFrame(f),clearTimeout(De),B.disconnect(),window.removeEventListener("resize",ae),window.removeEventListener("orientationchange",ae),clearTimeout(ie);},replay(){ye=0,W();},pause(){w||!pe||(w=true,P=performance.now()-g,cancelAnimationFrame(f));},resume(){w&&(w=false,pe=true,g=performance.now()-P,f=requestAnimationFrame(Ee));},seek(be){let Se=Math.min(1,Math.max(0,be));se=Se,w=true,P=Se*l,g=performance.now()-P,cancelAnimationFrame(f),Fe(P);},getProgress(){return se},refresh(){clearTimeout(ie),F.forEach(Ye);}}}if(re)return pt(bn());At();function $t(){if(w||!Ge)return;let o=performance.now(),l=Qe();if(!ze&&y===false&&l===Tt){ht(l);return}ze=false,Tt=l;let g=m;if(y!==false){let W=o-xt,B=W>0?Math.abs(l-(et<0?l:et))/W:0;g=m*Math.max(.2,1+B*(typeof y=="number"?y:1)*.04);}et=l,xt=o;let P=we?Q===-1||l>=Q?"forward":"reverse":S;Q=l;let pe=Z-oe,Fe=true,Ee=pe===0?0:(l-oe)/pe;if(isNaN(Be)||(Be<=0&&Ee>0?u?.():Be>0&&Ee<=0&&xe?.(),Be<1&&Ee>=1?d?.():Be>=1&&Ee<1&&X?.()),Be=Ee,V){let W=Pt(0,U(l,oe,Z,g));se=W,e.style.setProperty("--scroll-draw-progress",String(W));let B=P==="reverse"?1-W:W;e.style.clipPath=Re(B),N?.(W),!c&&U(l,oe,Z,g)>0&&(c=true,k?.()),W>=1&&!j?(j=true,O?.(),ye<(_==="infinite"?1/0:_??0)&&(ye++,De=setTimeout(()=>{fe=-1,J=[],c=false,j=false,Ue();},q))):W<1&&!Y&&(j=false),ht(l);return}if(F.forEach((W,B)=>{let ie=B*We*pe,ae=Pt(B,U(l,oe+ie,Z+ie,g));dt(W,B,ae,P),B===0&&(se=ae,N?.(ae),e.style.setProperty("--scroll-draw-progress",String(ae))),ae<1&&(Fe=false);}),b){let W=K(U(l,oe,Z,g));for(let B in b){let ie=parseFloat(B);W>=ie&&!Ve.has(ie)&&(Ve.add(ie),b[B]?.());}}!c&&U(l,oe,Z,g)>0&&(c=true,k?.()),Fe&&!j?(j=true,O?.(),ye<(_==="infinite"?1/0:_??0)&&(ye++,De=setTimeout(()=>{fe=-1,J=[],c=false,j=false,Ve.clear(),Ue(),ze=true;},q))):!Fe&&!Y&&(j=false),ht(l);}function gt(o){return o>=Z&&o<Je}function ht(o){Ae||gt(o)?f=requestAnimationFrame($t):Ge=false;}function yt(){return Ae||gt(Qe())}let Ge=false;function tt(){Ge||(Ge=true,f=requestAnimationFrame(function(){$t();}));}function nt(){Ge=false,cancelAnimationFrame(f);}let bt=new IntersectionObserver(o=>{o.forEach(l=>{Ae=l.isIntersecting,Ae&&!w?(ze=true,tt()):Ge&&!w&&gt(Qe())||nt();});},{root:T??null,threshold:v,rootMargin:G});function kt(){F.forEach(Ye),At(),ze=true;}let rt;function Xe(){clearTimeout(rt),rt=setTimeout(kt,150);}window.addEventListener("resize",Xe),window.addEventListener("orientationchange",Xe);let wn=Oe([e],Xe);return C>0?setTimeout(()=>bt.observe(e),C):bt.observe(e),pt({destroy(){cancelAnimationFrame(f),clearTimeout(De),nt(),bt.disconnect(),wn(),window.removeEventListener("resize",Xe),window.removeEventListener("orientationchange",Xe),clearTimeout(rt),St();},replay(){fe=-1,J=[],Q=-1,et=-1,c=false,j=false,ye=0,w=false,se=0,Ve.clear(),clearTimeout(De),Ue(),ze=true,yt()&&tt();},pause(){w=true,nt();},resume(){w&&(w=false,ze=true,yt()&&tt());},seek(o){let l=Math.min(1,Math.max(0,o));se=l,fe=l,J=[],w=true,nt(),gn(l,S),ze=true;},getProgress(){return se},refresh(){clearTimeout(rt),kt(),yt()&&!w&&tt();}},()=>({tStart:oe,tEnd:Z}))}var Qt=new WeakMap,Fn=0;function wt(e){return JSON.stringify(e,(n,t)=>{if(typeof t=="function")return "\u0192";if(typeof Element<"u"&&t instanceof Element){let r=Qt.get(t);return r===void 0&&Qt.set(t,r=++Fn),`el#${r}`}return t})}function Ut(e,n){let t={...e};for(let r of Object.keys(t))typeof t[r]=="function"&&(t[r]=(...s)=>n()[r]?.(...s));return t}function Hn(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Yt(e){let n=[],t=/([\w]+)\(([^)]*)\)/g,r;for(;(r=t.exec(e))!==null;){let s=[],i=[],a=r[2].trim();if(a)for(let m of a.split(/[\s,]+/)){let p=m.match(/^([-+]?[\d.eE]+)(.*)$/);s.push(p?parseFloat(p[1]):0),i.push(p?p[2]:"");}n.push({fn:r[1],nums:s,units:i});}return n}function Nn(e,n,t){let r=Yt(e),s=Yt(n);return r.length===0||r.length!==s.length?t<1?e:n:r.map((i,a)=>{let m=s[a];return i.fn!==m.fn||i.nums.length!==m.nums.length?t<1?`${i.fn}(${i.nums.map((p,h)=>`${p}${i.units[h]}`).join(", ")})`:`${m.fn}(${m.nums.map((p,h)=>`${p}${m.units[h]}`).join(", ")})`:`${i.fn}(${i.nums.map((p,h)=>`${p+(m.nums[h]-p)*t}${i.units[h]}`).join(", ")})`}).join(" ")}function Xt(e,n,t){if(typeof e=="number"&&typeof n=="number")return String(e+(n-e)*t);let r=String(e),s=String(n);if(Hn(r))return it(r,s,t);if(r.includes("("))return Nn(r,s,t);let i=r.match(/^([-+]?[\d.]+)(.*)$/),a=s.match(/^([-+]?[\d.]+)(.*)$/);if(i&&a){let m=parseFloat(i[1]),p=parseFloat(a[1]);return `${m+(p-m)*t}${i[2]||a[2]}`}return t<1?r:s}function Dn(e){return e.replace(/([A-Z])/g,n=>`-${n.toLowerCase()}`)}var Vn=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),zn=0,Kt="--scroll-draw-progress";function _n(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var Jt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function en(e,n){return typeof window>"u"?Jt:n.respectReducedMotion===false?Zt(e,n,false):_e(n,(t,r)=>Zt(e,t,r))}function Zt(e,n,t){let{props:r,trigger:s={},easing:i="ease-out",speed:a=1,once:m=false,axis:p="y",scrollContainer:h,native:E=true,velocityScale:H=false,triggerElement:S,onProgress:Y,onComplete:te,onEnter:L,onLeave:ne,onEnterBack:we,onLeaveBack:C}=n,I=typeof i=="function"?i:ee[i]??ee["ease-out"],$=de(s.start||"top bottom"),A=de(s.end||"bottom top"),b=S??e,y=typeof h=="string"?document.querySelector(h):h??null,v=Object.entries(r).map(([c,f])=>({prop:Dn(c),from:Array.isArray(f)?f[0]:"",to:Array.isArray(f)?f[1]:f}));function G(){let c=window.getComputedStyle(e);for(let f of v)f.from===""&&(f.from=c.getPropertyValue(f.prop).trim()||"0");}function _(){for(let c of v)e.style.setProperty(c.prop,String(c.to));}let q=new Map;for(let c of [...v.map(f=>f.prop),Kt])q.set(c,e.style.getPropertyValue(c));function D(){for(let[c,f]of q)f?e.style.setProperty(c,f):e.style.removeProperty(c);}if(t)return _(),te?.(),{...Jt,destroy:D,getProgress:()=>1};G();let R=()=>y?p==="x"?y.scrollLeft:y.scrollTop:p==="x"?window.scrollX:window.scrollY,re=()=>y?p==="x"?y.clientWidth:y.clientHeight:p==="x"?window.innerWidth:window.innerHeight,Te=typeof i=="string"?at(i):null;function ce(){if(!E||!_n()||!Te||p!=="y"||y||b!==e||m||a!==1||Y||te||L||ne||we||C||H!==false||(s.start||"top bottom").trim()!=="top bottom"||(s.end||"bottom top").trim()!=="bottom top")return false;for(let c of v)if(!Vn.has(c.prop))return false;return true}function N(){let c=`ssd-a-${++zn}`,f=v.map(w=>`${w.prop}:${w.from}`).join(";"),Ae=v.map(w=>`${w.prop}:${w.to}`).join(";"),fe=document.createElement("style");fe.setAttribute("data-ssd-animate",""),fe.textContent=`@keyframes ${c}{from{${f}}to{${Ae}}}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${Te};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(fe),e.classList.add(c);let J=()=>{let w=e.getBoundingClientRect();return Le({top:w.top,height:w.height},R(),re(),$,A)};Pe(e,{type:"animate",getProgress:()=>Q.getProgress(),getTrigger:J});let Q={refresh(){},destroy(){e.classList.remove(c),fe.remove(),e.style.animationPlayState="",D(),Ce(e);},replay(){e.classList.remove(c),e.offsetWidth,e.classList.add(c);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(w){let se=Math.min(1,Math.max(0,w));e.classList.remove(c);for(let ye of v)e.style.setProperty(ye.prop,Xt(ye.from,ye.to,se));},getProgress(){let{tStart:w,tEnd:se}=J();return I(U(R(),w,se,a))}};return Q}if(ce())return N();let k=0,O=0,u=0,d=NaN,X=false,xe=-1,V=0,K=0,$e=false,x=NaN,T=-1,ue=0,me=b===e?v:[],ke=false;function Ie(){let c=e.style,f=me.map(Q=>c.getPropertyValue(Q.prop)),Ae=c.transition;me.length&&(c.transition="none"),me.forEach(Q=>c.setProperty(Q.prop,q.get(Q.prop)??""));let fe=ot(b,y,p);me.forEach((Q,w)=>c.setProperty(Q.prop,f[w])),me.length&&(e.offsetWidth,c.transition=Ae);let J=Le(fe,fe.scroll,re(),$,A);ke&&Math.abs(J.tStart-k)<1&&Math.abs(J.tEnd-O)<1||(ke=true,k=J.tStart,O=J.tEnd);}function Me(c){e.style.setProperty(Kt,String(c));for(let f of v)e.style.setProperty(f.prop,Xt(f.from,f.to,c));Y?.(c);}function Ne(c){if(isNaN(x)){x=c;return}x<=0&&c>0?L?.():x>0&&c<=0&&C?.(),x<1&&c>=1?ne?.():x>=1&&c<1&&we?.(),x=c;}let Re=c=>U(c,k,O,Math.min(a,1));function F(){!u&&!X&&Re(R())!==d&&(u=requestAnimationFrame(he));}function he(){if(X)return;let c=performance.now(),f=R(),Ae=a;if(H!==false){let w=c-ue,se=w>0?Math.abs(f-(T<0?f:T))/w:0;Ae=a*Math.max(.2,1+se*(typeof H=="number"?H:1)*.04);}T=f,ue=c;let fe=O===k?0:(f-k)/(O-k);Ne(fe);let J=U(f,k,O,Ae),Q=m?Math.max(xe,I(V=Math.max(V,J))):I(J);K=Q,Me(Q),Q>=1&&!$e?($e=true,te?.()):Q<1&&!m&&($e=false),!X&&(d=Re(f),u=d>0&&d<1?requestAnimationFrame(he):0);}Ie(),O===k&&ge("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),V=U(R(),k,O,a),K=I(V),Me(K);function ve(){Ie(),F();}let oe;function Z(){clearTimeout(oe),oe=setTimeout(ve,150);}let We=y??window;We.addEventListener("scroll",F,{passive:true}),window.addEventListener("resize",Z),window.addEventListener("orientationchange",Z);let Je=Oe([b],Z);F(),Pe(e,{type:"animate",getProgress:()=>K,getTrigger:()=>({tStart:k,tEnd:O})});function j(){X=true,cancelAnimationFrame(u),u=0,d=NaN;}return {destroy(){j(),We.removeEventListener("scroll",F),window.removeEventListener("resize",Z),window.removeEventListener("orientationchange",Z),Je(),clearTimeout(oe),D(),Ce(e);},replay(){xe=-1,V=0,$e=false,K=0,X=false,Me(0),d=0,F();},pause:j,resume(){X&&(X=false,F());},seek(c){let f=Math.min(1,Math.max(0,c));K=f,xe=f,V=0,j(),Me(f);},getProgress(){return K},refresh:ve}}var vt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function tn(e,n){if(typeof window>"u")return vt;let t=typeof e=="string"?document.querySelector(e):e;return t?_e(n,(r,s)=>Wn(t,r,s)):(ge("scrollCounter: element not found:",e),vt)}function Wn(e,n,t){let{from:r=0,to:s,format:i,easing:a="ease-out",trigger:m={},once:p=true,decimals:h,onComplete:E}=n,H=h!==void 0?u=>u.toFixed(h):i??(u=>String(Math.round(u))),S=typeof a=="function"?a:ee[a]??ee["ease-out"],Y=de(m.start||"top 80%"),te=de(m.end||"top 20%");if(t)return e.textContent=H(s),E?.(),{...vt,getProgress:()=>1};let L=0,ne=0,we=false,C=0,I=false,$=false,A=-1,b=0,y=0,v=false,G=()=>window.scrollY,_=()=>window.innerHeight;function q(){let u=e.getBoundingClientRect(),d=Le({top:u.top,height:u.height},G(),_(),Y,te);we&&Math.abs(d.tStart-L)<1&&Math.abs(d.tEnd-ne)<1||(we=true,L=d.tStart,ne=d.tEnd);}let D=e.style.getPropertyValue("--scroll-draw-progress");function R(u){e.textContent=H(r+(s-r)*u),e.style.setProperty("--scroll-draw-progress",String(u));}function re(){if(!I||$)return;let u=U(G(),L,ne,1),d=p?Math.max(A,S(b=Math.max(b,u))):S(u);y=d,R(d),d>=1&&!v?(v=true,E?.()):d<1&&!p&&(v=false),C=requestAnimationFrame(re);}q();{b=U(G(),L,ne,1);let u=S(b);y=u,R(u);}let Te=new IntersectionObserver(u=>{u.forEach(d=>{I=d.isIntersecting,I&&!$?C=requestAnimationFrame(re):cancelAnimationFrame(C);});}),ce;function N(){clearTimeout(ce),ce=setTimeout(q,150);}window.addEventListener("resize",N),window.addEventListener("orientationchange",N);let k=Oe([e],N);Te.observe(e),Pe(e,{type:"counter",getProgress:()=>y,getTrigger:()=>({tStart:L,tEnd:ne})});function O(){$&&($=false,I&&(C=requestAnimationFrame(re)));}return {destroy(){cancelAnimationFrame(C),Te.disconnect(),window.removeEventListener("resize",N),window.removeEventListener("orientationchange",N),k(),clearTimeout(ce),e.style.setProperty("--scroll-draw-progress",D),Ce(e);},replay(){A=-1,b=0,v=false,y=0,R(0),O();},pause(){$=true,cancelAnimationFrame(C);},resume:O,seek(u){let d=Math.min(1,Math.max(0,u));y=d,A=d,b=0,$=true,cancelAnimationFrame(C),R(d);},getProgress(){return y}}}var nn={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function rn(e,n={}){if(typeof window>"u")return nn;let t=typeof e=="string"?document.querySelector(e):e;if(!t||t.tagName.toLowerCase()!=="video")return ge("scrollVideo: <video> element not found:",e),nn;let r=t,{trigger:s={},easing:i="linear",once:a=false,axis:m="y",preload:p="auto",triggerElement:h,onReady:E,onComplete:H,onProgress:S}=n,Y=h??r,te=window.matchMedia("(prefers-reduced-motion: reduce)").matches,L=typeof i=="function"?i:ee[i]??ee.linear,ne=de(s.start||"top top"),we=de(s.end||"bottom top");r.pause(),r.hasAttribute("preload")||(r.preload=p);let C=n.from??0,I=n.to,$=0,A=0,b=0,y=false,v=false,G=-1,_=0,q=0,D=false,R=false,re=()=>m==="x"?window.scrollX:window.scrollY,Te=()=>m==="x"?window.innerWidth:window.innerHeight;function ce(){let x=Y.getBoundingClientRect(),T=m==="x"?x.left:x.top,ue=m==="x"?x.width:x.height,me=Le({top:T,height:ue},re(),Te(),ne,we);$=me.tStart,A=me.tEnd,R&&A===$&&ge("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",r);}let N=NaN;function k(x){if(!R)return;let T=I??r.duration??0,ue=C+(T-C)*x;ue!==N&&(N=ue,r.currentTime=ue),r.style.setProperty("--scroll-draw-progress",String(x)),S?.(x);}function O(){if(!y||v||!R||te)return;let x=U(re(),$,A,1),T=a?Math.max(G,L(_=Math.max(_,x))):L(x);q=T,k(T),T>=1&&!D?(D=true,H?.()):T<1&&!a&&(D=false),b=requestAnimationFrame(O);}function u(){if(R=true,I===void 0&&(I=r.duration),te){k(1),E?.();return}ce(),E?.(),v?k(q):y&&(b=requestAnimationFrame(O));}r.readyState>=1?u():r.addEventListener("loadedmetadata",u,{once:true}),R||ce();let d=te?()=>{}:ut(x=>{x&&(d(),te=true,cancelAnimationFrame(b),k(1));}),X=new IntersectionObserver(x=>{x.forEach(T=>{y=T.isIntersecting,y&&!v&&R?b=requestAnimationFrame(O):cancelAnimationFrame(b);});}),xe;function V(){clearTimeout(xe),xe=setTimeout(ce,150);}window.addEventListener("resize",V),window.addEventListener("orientationchange",V);let K=Oe([Y],V);X.observe(r),Pe(r,{type:"video",getProgress:()=>q,getTrigger:()=>({tStart:$,tEnd:A})});function $e(){v&&(v=false,y&&R&&(b=requestAnimationFrame(O)));}return {destroy(){cancelAnimationFrame(b),X.disconnect(),r.removeEventListener("loadedmetadata",u),window.removeEventListener("resize",V),window.removeEventListener("orientationchange",V),K(),d(),clearTimeout(xe),Ce(r);},replay(){G=-1,_=0,D=false,q=0,N=NaN,k(0),$e();},pause(){v=true,cancelAnimationFrame(b);},resume:$e,seek(x){let T=Math.min(1,Math.max(0,x));q=T,G=T,_=0,v=true,cancelAnimationFrame(b),N=NaN,k(T);},getProgress(){return q}}}function on(e,n){let t=document.createElement("span");t.textContent=n,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 mt(e=""){let n=document.createElement("span");return n.setAttribute("aria-hidden","true"),n.textContent=e,n}function an(e){let n=e.textContent??"";return e.textContent="",n.split(/(\s+)/).filter(Boolean).map(t=>{let r=e.appendChild(mt(t)),s=/^\s+$/.test(t);return s?r.style.whiteSpace="pre":r.style.display="inline-block",s?null:r}).filter(t=>t!==null)}function qn(e){let n=e.textContent??"";e.textContent="";let t=[],r=null;for(let s of n){let i=mt(s),a=s===" ";a?i.style.whiteSpace="pre":(i.style.display="inline-block",t.push(i)),a||s>"\u0DFF"?r=null:r||(r=e.appendChild(mt()),r.style.cssText="display:inline-block;white-space:nowrap"),(r??e).appendChild(i);}return t}function sn(e){let n=an(e),t=new Map;for(let i of n){let a=i.offsetTop;t.has(a)||t.set(a,[]),t.get(a).push(i);}let r=[],s=Array.from(t.keys()).sort((i,a)=>i-a);for(let i of s){let a=t.get(i),m=mt();m.style.display="inline-block",a.forEach((p,h)=>{let E=p.nextElementSibling;m.appendChild(p),h<a.length-1&&E&&E.style.whiteSpace==="pre"&&m.appendChild(E);}),r.push(m);}return e.textContent="",r.forEach((i,a)=>{e.appendChild(i),a<r.length-1&&e.appendChild(document.createTextNode(" "));}),r}function Bn(e,n,t,r){if(t<=1||r===0)return e;r=Math.min(r,1/t);let s=(t-1)*r,i=n*r,a=i+(1-s);return a<=i?e>=i?1:0:Math.min(1,Math.max(0,(e-i)/(a-i)))}function Gn(e,n){let t=[];if(n?.y!==void 0&&t.push(`translateY(${n.y*(1-e)}px)`),n?.x!==void 0&&t.push(`translateX(${n.x*(1-e)}px)`),n?.rotate!==void 0&&t.push(`rotate(${n.rotate*(1-e)}deg)`),n?.scale!==void 0){let r=n.scale+(1-n.scale)*e;t.push(`scale(${r})`);}return t.join(" ")}var Et={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function ln(e,n={}){if(typeof window>"u")return Et;let t=typeof e=="string"?document.querySelector(e):e;if(!t)return ge("scrollText: element not found:",e),Et;let r=t;return _e(n,(s,i)=>jn(r,s,i))}function jn(e,n,t){let{split:r="words",stagger:s=.04,easing:i="ease-out",from:a={opacity:0,y:24},trigger:m={},once:p=true,onComplete:h}=n,E=typeof i=="function"?i:ee[i]??ee["ease-out"],H=de(m.start||"top 85%"),S=de(m.end||"top 40%"),Y=e.innerHTML,te=e.textContent??"",L;r==="chars"?L=qn(e):r==="lines"?L=sn(e):L=an(e),on(e,te);let ne=L.length;function we(u,d){a?.opacity!==void 0&&(u.style.opacity=String(a.opacity+(1-a.opacity)*d));let X=Gn(d,a);X&&(u.style.transform=X);}function C(u){e.style.setProperty("--scroll-draw-progress",String(u)),L.forEach((d,X)=>{let xe=E(Bn(u,X,ne,s));we(d,xe);});}if(t)return C(1),h?.(),{...Et,destroy:()=>{e.innerHTML=Y;},getProgress:()=>1};C(0);let I=0,$=0,A=0,b=false,y=false,v=-1,G=0,_=false,q=()=>window.scrollY,D=()=>window.innerHeight;function R(){let u=e.getBoundingClientRect(),d=Le({top:u.top,height:u.height},q(),D(),H,S);I=d.tStart,$=d.tEnd;}function re(){if(!b||y)return;let u=U(q(),I,$,1);p&&(v=Math.max(v,u),u=v),G=u,C(u),u>=1&&!_?(_=true,h?.()):u<1&&!p&&(_=false),A=requestAnimationFrame(re);}R();let Te=new IntersectionObserver(u=>{u.forEach(d=>{b=d.isIntersecting,b&&!y?A=requestAnimationFrame(re):cancelAnimationFrame(A);});}),ce;function N(){clearTimeout(ce),ce=setTimeout(()=>{if(r==="lines"){let u=G;e.innerHTML=Y,L=sn(e),on(e,te),C(u);}R();},150);}window.addEventListener("resize",N),window.addEventListener("orientationchange",N);let k=Oe([e],N);Te.observe(e),Pe(e,{type:"text",getProgress:()=>G,getTrigger:()=>({tStart:I,tEnd:$})});function O(){y&&(y=false,b&&(A=requestAnimationFrame(re)));}return {destroy(){cancelAnimationFrame(A),Te.disconnect(),window.removeEventListener("resize",N),window.removeEventListener("orientationchange",N),k(),clearTimeout(ce),e.innerHTML=Y,Ce(e);},replay(){v=-1,_=false,G=0,C(0),O();},pause(){y=true,cancelAnimationFrame(A);},resume:O,seek(u){let d=Math.min(1,Math.max(0,u));G=d,v=d,y=true,cancelAnimationFrame(A),C(d);},getProgress(){return G}}}var qe=class{constructor(n){this.create=n;this.instance=null;this.el=null;this.key="";}init(n,t){return this.destroy(),this.el=n,this.latest=t,this.key=wt(t),this.instance=this.create(n,Ut(t,()=>this.latest)),this}update(n){return this.el?wt(n)!==this.key?this.init(this.el,n):(this.latest=n,this):this}replay(){return this.instance?.replay(),this}pause(){return this.instance?.pause(),this}resume(){return this.instance?.resume(),this}seek(n){return this.instance?.seek(n),this}getProgress(){return this.instance?.getProgress()??0}destroy(){return this.instance?.destroy(),this.instance=this.el=null,this}},cn=class extends qe{constructor(){super(jt);}init(n,t={}){return super.init(n,t)}},un=class extends qe{constructor(){super(en);}},mn=class extends qe{constructor(){super(tn);}},fn=class extends qe{constructor(){super(rn);}init(n,t={}){return super.init(n,t)}},pn=class extends qe{constructor(){super(ln);}init(n,t={}){return super.init(n,t)}};exports.EngineRef=qe;exports.ScrollAnimateRef=un;exports.ScrollCounterRef=mn;exports.ScrollDrawRef=cn;exports.ScrollTextRef=pn;exports.ScrollVideoRef=fn;
1
+ 'use strict';function wr({tension:e=2.5,friction:r=2.2}={}){return t=>1-Math.cos(t*Math.PI*e)*Math.pow(1-t,r)}function vr({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,a=[];for(let p=0;p<t;p++){let g=Math.pow(o,p);a.push(g),s+=g;}let u=[0],f=0;for(let p=0;p<t;p++)f+=a[p]/s,u.push(f);return p=>{if(p<=0)return 0;if(p>=1)return 1;for(let g=0;g<t;g++)if(p<=u[g+1]){let x=(p-u[g])/(u[g+1]-u[g]);if(g===0)return x*(2-x);let h=1-Math.pow(n,g);return h+(1-h)*(2*x-1)*(2*x-1)}return 1}}function Er({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 ee={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:wr(),bounce:vr(),elastic:Er()};function Qe(e,r,t){return Math.min(t,Math.max(r,e))}function ie(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 Ht=(e,r)=>e==="top"?0:e==="center"?.5:e==="bottom"?1:r;function kt(e,r,t,n){return e+t+r*Ht(n,0)}function Ot(e,r){return r*(/^\d+(\.\d+)?%$/.test(e)?parseFloat(e)/100:Ht(e,1))}function B(e,r,t,n){return t===r?0:Qe((e-r)/(t-r)*n,0,1)}function we(e,r,t,n,o){let s=kt(e.top,e.height,r,n.element)-Ot(n.viewport,t),a=kt(e.top,e.height,r,o.element)-Ot(o.viewport,t);return {tStart:s,tEnd:a}}function et(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 tt(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 It(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 rt(e,r,t){let n=It(e),o=It(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 Nt={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var Ge=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function ae(e,...r){Ge&&console.warn(`[svg-scroll-draw] ${e}`,...r);}var Sr="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Tr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Dt=33;function xr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function Mr(e){let r=[];for(let t=0;t<Dt;t++){let n=t/(Dt-1);r.push(String(Math.round(e(n)*1e5)/1e5));}return `linear(${r.join(",")})`}function nt(e){switch(e){case "linear":return "linear";case "ease-in":return Sr;case "ease-out":return Tr;case "ease-in-out":return xr()?Mr(ee["ease-in-out"]):null;default:return null}}var Rt=Symbol.for("svg-scroll-draw.registry");function Ft(){let e=globalThis;return e[Rt]||(e[Rt]=new Map)}function ve(e,r){Ft().set(e,r);}function Ee(e){Ft().delete(e);}function ot(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 De(e,r){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return r(e,true);let t=r(e,false),n=ot(s=>{if(!s)return;n();let a=(t.getProgress?.()??0)>=1;t.destroy(),t=r(a?{...e,onComplete:void 0}:e,true);}),o={};for(let s of Object.keys(t))o[s]=(...a)=>t[s]?.(...a);return o.destroy=()=>{n(),t.destroy();},o}var Ye,st=new Set,it=new WeakMap,Ue=new Map,Vt=e=>{let r=e.getBoundingClientRect();return r.width+" "+r.height};function Lr(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 _t(e,r){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let t=()=>r();Ye??(Ye=new ResizeObserver(o=>{let s=false;for(let{target:a}of o)it.get(a)!==Vt(a)&&(s=true),it.set(a,"");s&&st.forEach(a=>a());})),st.add(t);let n=Lr(e);return [document.body,document.documentElement].forEach(o=>o&&n.add(o)),n.forEach(o=>{it.has(o)||it.set(o,Vt(o)),Ue.set(o,(Ue.get(o)??0)+1),Ye.observe(o);}),()=>{st.delete(t)&&(n.forEach(o=>{let s=(Ue.get(o)??1)-1;if(s)return void Ue.set(o,s);Ue.delete(o),Ye?.unobserve(o);}),st.size||(Ye?.disconnect(),Ye=void 0));}}function Me(e,r,t,n,o){let s,a=NaN,u,f,p=()=>{s=0,n(),!u&&!s&&(a=t())>0&&a<1&&(s=requestAnimationFrame(p));},g=()=>{!s&&!u&&t()!==a&&(s=requestAnimationFrame(p));},x=I=>{u=I,cancelAnimationFrame(s),s=a=NaN,g();},h=()=>{clearTimeout(f),o(),g();},H=()=>{clearTimeout(f),f=setTimeout(h,150);},j=_t(r,H),w=I=>{e[I]("scroll",g,{passive:true}),window[I]("resize",H),window[I]("orientationchange",H);};return w("addEventListener"),g(),{hold:x,remeasure:h,off(){x(true),w("removeEventListener"),j(),clearTimeout(f);}}}var Pr=0;function Cr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Wt(e,r){let t="";try{t=getComputedStyle(e).getPropertyValue(r).trim();}catch{}return t||(e.getAttribute(r)??"").trim()}var zt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Ar(e){if(!Ge)return;let r=Wt(e,"stroke");if(!r||r==="none"){ae("Element has no stroke \u2014 path will not be visible.",e);return}let t=(e.getAttribute("fill")??"").trim();t&&!zt.has(t)&&!zt.has(Wt(e,"fill"))&&ae("Element has a fill \u2014 it may obscure the stroke animation.",e);}function $r(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,a=e-s,u=r-s,f=t==="x";n.innerHTML=`
2
+ <div style="position:absolute;${f?`left:${a}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${a}px;left:0;right:0;border-top:2px dashed #22c55e;`}padding:2px 6px;color:#22c55e;background:rgba(0,0,0,.6)">\u25B6 start</div>
3
+ <div style="position:absolute;${f?`left:${u}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${u}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(n),window.addEventListener("scroll",o,{passive:true}),o(),{el:n,destroy(){window.removeEventListener("scroll",o),n.remove();}}}var Gt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Bt=/[MmLlHhVvCcSsQqTtAaZz]/g;function kr(e,r,t){if(!Ge)return;let n=(e.match(Bt)??[]).join("").toUpperCase(),o=(r.match(Bt)??[]).join("").toUpperCase(),s=(e.match(Gt)??[]).length,a=(r.match(Gt)??[]).length;if(n!==o){ae(`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!==a&&ae(`morphTo: coordinate count differs (${s} \u2192 ${a}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,t);}function Or(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 a=parseFloat(s),u=n[o++]??a;return String(+(a+(u-a)*t).toFixed(4))})}function jt(e,r={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:De(r,(t,n)=>Hr(e,t,n))}function Hr(e,r,t){let{preset:n,...o}=r,s=n?{...Nt[n],...o}:o,{selector:a="path, polyline, line, polygon, rect, circle",speed:u=1,fade:f=false,easing:p="linear",trigger:g={},stagger:x=0,direction:h="forward",once:H=false,debug:j=false,axis:w="y",scrollContainer:I,autoReverse:ue=false,delay:N=0,strokeColor:M,strokeWidth:P,fillOpacity:$,waypoints:v,velocityScale:C=false,threshold:D=0,rootMargin:te="0px",repeat:q=0,repeatDelay:F=0,morphTo:R,clip:E,autoplay:Y=false,duration:y=1e3,native:A=true,onProgress:Se,onStart:U,onComplete:_,onEnter:fe,onLeave:Te,onEnterBack:ge,onLeaveBack:me}=s,b=E===true?"left":typeof E=="string"?E:false,S=typeof p=="function"?p:ee[p]??ee.linear,he=ie(g.start||"top bottom"),He=ie(g.end||"bottom top"),X=typeof I=="string"?document.querySelector(I):I??null,Le=Array.isArray(M)?M[0]:null,Pe=Array.isArray(M)?M[1]:typeof M=="string"?M:null,ye=Array.isArray(P)?P[0]:null,Ie=Array.isArray(P)?P[1]:typeof P=="number"?P:null,Ce=Array.isArray($)?$[0]:null,be=Array.isArray($)?$[1]:typeof $=="number"?$:null;function Ae(i){let c=i*100;switch(b){case "right":return `inset(0 0 0 ${100-c}%)`;case "top":return `inset(0 0 ${100-c}% 0)`;case "bottom":return `inset(${100-c}% 0 0 0)`;case "center":return `circle(${i*150}% at 50% 50%)`;default:return `inset(0 ${100-c}% 0 0)`}}let l=b?[]:Array.from(e.querySelectorAll(a)),m=[],K=[],k=0,V=0,Q=x,W=0,Ne=0,Z=false,$e=false,ke=0,lt=-1,Xe=[],Ke=-1,pe=false,xe=0,Re=0,Fe,ct=false,ut=null;function bt(){ut?.destroy(),ut=null;}let Ve=new Set,wt=NaN,We=true,Ze=-1,vt=performance.now(),ze=NaN;function Je(){return X?w==="x"?X.scrollLeft:X.scrollTop:w==="x"?window.scrollX:window.scrollY}function Et(){return X?w==="x"?X.clientWidth:X.clientHeight:w==="x"?window.innerWidth:window.innerHeight}function St(){let i=et(e,X,w);return we(i,i.scroll,Et(),he,He)}function mr(){let i=V-k,c=l.length-1,d=X??document.documentElement,L=w==="x"?"Width":"Height";if(Q=x,x>0&&c>0&&i>0){let re=d[`scroll${L}`]-d[`client${L}`]-1-k-i/u;re>=0&&(Q=Math.min(x,re/(c*i)));}let J=Math.max(0,c)*Q*i,le=i/Math.min(u,1);W=k+Math.min(0,J,le,J+le),Ne=k+Math.max(0,J,le,J+le);}function Tt(){(({tStart:k,tEnd:V}=St())),mr(),j&&Ge&&(bt(),ut=$r(k,V,w));}function ft(i,c=St){ve(e,{type:"draw",getProgress:()=>i.getProgress(),getTrigger:c});let d=i.destroy;return i.destroy=()=>{d.call(i),Ee(e);},i}function xt(i,c){return H&&!ue?Math.max(lt,S(Xe[i]=Math.max(Xe[i]??0,c))):S(c)}function pr(i,c){if(e.style.setProperty("--scroll-draw-progress",String(i)),b){let d=c==="reverse"?1-i:i;e.style.clipPath=Ae(d);return}l.forEach((d,L)=>mt(d,L,i,c));}function mt(i,c,d,L){i.style.strokeDashoffset=L==="reverse"?`${m[c]*d}`:`${m[c]*(1-d)}`,f&&(i.style.opacity=L==="reverse"?`${1-d}`:`${d}`),Le&&Pe?i.style.stroke=rt(Le,Pe,d):Pe&&(i.style.stroke=Pe),ye!==null&&Ie!==null?i.style.strokeWidth=`${ye+(Ie-ye)*d}`:Ie!==null&&(i.style.strokeWidth=`${Ie}`),Ce!==null&&be!==null?i.style.fillOpacity=`${Ce+(be-Ce)*d}`:be!==null&&(i.style.fillOpacity=`${be}`),R&&i.tagName.toLowerCase()==="path"&&K[c]&&i.setAttribute("d",Or(K[c],R,d));}function pt(){if(e.style.setProperty("--scroll-draw-progress","0"),b){e.style.clipPath=Ae(h==="reverse"?1:0);return}l.forEach((i,c)=>{i.style.strokeDasharray=`${m[c]}`,i.style.strokeDashoffset=h==="reverse"?"0":`${m[c]}`,f?i.style.opacity=h==="reverse"?"1":"0":i.style.opacity="",Le&&(i.style.stroke=Le),ye!==null&&(i.style.strokeWidth=`${ye}`),Ce!==null&&(i.style.fillOpacity=`${Ce}`),R&&i.tagName.toLowerCase()==="path"&&K[c]&&i.setAttribute("d",K[c]);});}function Be(i,c){let d=i.getAttribute("d"),L=tt(i);if(R&&K[c]){i.setAttribute("d",R);let J=tt(i);i.setAttribute("d",K[c]),L=Math.max(tt(i),J),i.setAttribute("d",d);}m[c]=L,i.style.strokeDasharray=`${L}`;}if(l.forEach((i,c)=>{Ar(i);let d=i.tagName.toLowerCase()==="path";d?K.push(i.getAttribute("d")??""):K.push(""),Be(i,c);let L=m[c];R&&(d?kr(K[K.length-1],R,i):ae(`morphTo only applies to <path> elements \u2014 ignored on <${i.tagName}>.`,i)),t?(i.style.strokeDashoffset=h==="reverse"?`${L}`:"0",f&&(i.style.opacity="1"),Pe&&(i.style.stroke=Pe),Ie!==null&&(i.style.strokeWidth=`${Ie}`),be!==null&&(i.style.fillOpacity=`${be}`),R&&i.tagName.toLowerCase()==="path"&&i.setAttribute("d",R)):(i.style.strokeDashoffset=h==="reverse"?"0":`${L}`,f?i.style.opacity=h==="reverse"?"1":"0":i.style.opacity="",Le&&(i.style.stroke=Le),ye!==null&&(i.style.strokeWidth=`${ye}`),Ce!==null&&(i.style.fillOpacity=`${Ce}`));}),t)return b&&(e.style.clipPath=Ae(1)),_?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};b&&(e.style.clipPath=Ae(h==="reverse"?1:0));let Mt=typeof p=="string"?nt(p):null;function dr(){return !(A===false||Y||j&&Ge||!Cr()||!l.length||!Mt||b||w!=="y"||X||u!==1||x!==0||H||ue||C!==false||R||v||q||N>0||Se||U||_||fe||Te||ge||me||M!=null||P!=null||$!=null||(g.start||"top bottom").trim()!=="top bottom"||(g.end||"bottom top").trim()!=="bottom top")}function gr(){let i=++Pr,c=`svg-scroll-draw-${i}`,d=`svg-scroll-draw-host-${i}`,L=`--svg-scroll-draw-${i}`,J=h==="reverse"?"0":"var(--ssd-len)",le=h==="reverse"?"var(--ssd-len)":"0",re=`stroke-dashoffset:${J};`,z=`stroke-dashoffset:${le};`;f&&(re+=`opacity:${h==="reverse"?1:0};`,z+=`opacity:${h==="reverse"?0:1};`);let G=document.createElement("style");G.setAttribute("data-svg-scroll-draw",""),G.textContent=`@keyframes ${c}{from{${re}}to{${z}}}.${d}{view-timeline-name:${L};view-timeline-axis:block;}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${Mt};animation-fill-mode:both;animation-timeline:${L};animation-range:cover 0% cover 100%;}`,document.head.appendChild(G),e.classList.add(d);function se(T,O){T.style.setProperty("--ssd-len",String(m[O])),T.style.strokeDasharray=`${m[O]}`,T.style.strokeDashoffset="",T.style.opacity="",T.style.animationPlayState="",T.classList.add(c);}l.forEach(se);let ne=false,ce=-1;function de(){if(ce>=0)return ce;let T=e.getBoundingClientRect(),{tStart:O,tEnd:oe}=we({top:T.top,height:T.height},Je(),Et(),he,He);return S(B(Je(),O,oe,u))}return {destroy(){e.classList.remove(d),l.forEach(T=>{T.classList.remove(c),T.style.removeProperty("--ssd-len"),T.style.animationPlayState="";}),G.remove();},replay(){ne=false,ce=-1,l.forEach(se);},pause(){ne=true,l.forEach(T=>{T.style.animationPlayState="paused";});},resume(){ne&&(ne=false,l.forEach(T=>{T.style.animationPlayState="running";}));},seek(T){let O=Math.min(1,Math.max(0,T));ce=O,ne=true,l.forEach((oe,Oe)=>{oe.classList.remove(c),oe.style.strokeDashoffset=h==="reverse"?`${m[Oe]*O}`:`${m[Oe]*(1-O)}`,f&&(oe.style.opacity=h==="reverse"?`${1-O}`:`${O}`);});},getProgress(){return de()},refresh(){l.forEach((T,O)=>{Be(T,O),T.style.setProperty("--ssd-len",String(m[O]));});}}}if(dr())return ft(gr());function hr(){let i=Math.max(1,y),c=b?i:i*(1+Math.max(0,l.length-1)*x),d=0,L=0,J=false;function le(ce){let de=true,T=Math.min(1,Math.max(0,ce/c));if(b){let O=Math.min(1,Math.max(0,ce/i)),oe=S(O);xe=oe,e.style.setProperty("--scroll-draw-progress",String(oe)),e.style.clipPath=Ae(h==="reverse"?1-oe:oe),Se?.(oe),O<1&&(de=false);}else {l.forEach((oe,Oe)=>{let br=Oe*x*i,$t=Math.min(1,Math.max(0,(ce-br)/i));mt(oe,Oe,S($t),h),$t<1&&(de=false);});let O=S(T);xe=O,Se?.(O),e.style.setProperty("--scroll-draw-progress",String(O));}if(v){let O=S(T);for(let oe in v){let Oe=parseFloat(oe);O>=Oe&&!Ve.has(Oe)&&(Ve.add(Oe),v[oe]?.());}}return de}function re(ce){if(pe)return;let de=ce-d;$e||($e=true,U?.());let T=le(de);if(T&&!Z){Z=true,le(c),_?.(),Re<(q==="infinite"?1/0:q??0)&&(Re++,Fe=setTimeout(()=>{d=performance.now(),$e=false,Z=false,Ve.clear(),pt(),ke=requestAnimationFrame(re);},F));return}T||(ke=requestAnimationFrame(re));}function z(){cancelAnimationFrame(ke),clearTimeout(Fe),d=performance.now(),L=0,pe=false,$e=false,Z=false,Re=0,J=true,xe=0,Ve.clear(),pt(),ke=requestAnimationFrame(re);}let G=new IntersectionObserver(ce=>{ce.forEach(de=>{de.isIntersecting&&!(H&&Z)?z():!de.isIntersecting&&!H&&!Z&&(cancelAnimationFrame(ke),clearTimeout(Fe),J=false);});},{root:X??null,threshold:D,rootMargin:te}),se;function ne(){clearTimeout(se),se=setTimeout(()=>l.forEach(Be),150);}return window.addEventListener("resize",ne),window.addEventListener("orientationchange",ne),N>0?setTimeout(()=>G.observe(e),N):G.observe(e),{destroy(){cancelAnimationFrame(ke),clearTimeout(Fe),G.disconnect(),window.removeEventListener("resize",ne),window.removeEventListener("orientationchange",ne),clearTimeout(se);},replay(){Re=0,z();},pause(){pe||!J||(pe=true,L=performance.now()-d,cancelAnimationFrame(ke));},resume(){pe&&(pe=false,J=true,d=performance.now()-L,ke=requestAnimationFrame(re));},seek(ce){let de=Math.min(1,Math.max(0,ce));xe=de,pe=true,L=de*c,d=performance.now()-L,cancelAnimationFrame(ke),le(L);},getProgress(){return xe},refresh(){clearTimeout(se),l.forEach(Be);}}}if(Y)return ft(hr());Tt();let Lt=()=>B(Je(),W,Ne,1);function Pt(){Z=true,_?.(),Re<(q==="infinite"?1/0:q)&&(Re++,Fe=setTimeout(()=>{ct=true;},F));}function Ct(){lt=-1,Xe=[],$e=false,Z=false,ct=false,Ve.clear(),pt(),We=true;}function yr(){let i=performance.now(),c=Je();if(ct&&Lt()%1&&Ct(),!We&&C===false&&c===wt)return;We=false,wt=c;let d=u;if(C!==false){let z=i-vt,G=z>0?Math.abs(c-(Ze<0?c:Ze))/z:0;d=u*Math.max(.2,1+G*(typeof C=="number"?C:1)*.04);}Ze=c,vt=i;let L=ue?Ke===-1||c>=Ke?"forward":"reverse":h;Ke=c;let J=V-k,le=true,re=J===0?0:(c-k)/J;if(isNaN(ze)||(ze<=0&&re>0&&fe?.(),ze<1&&re>=1&&Te?.(),ze>=1&&re<1&&ge?.(),ze>0&&re<=0&&me?.()),ze=re,b){let z=xt(0,B(c,k,V,d));xe=z,e.style.setProperty("--scroll-draw-progress",String(z));let G=L==="reverse"?1-z:z;e.style.clipPath=Ae(G),Se?.(z),!$e&&B(c,k,V,d)>0&&($e=true,U?.()),z>=1&&!Z?Pt():z<1&&!H&&(Z=false);return}if(l.forEach((z,G)=>{let se=G*Q*J,ne=xt(G,B(c,k+se,V+se,d));mt(z,G,ne,L),G===0&&(xe=ne,Se?.(ne),e.style.setProperty("--scroll-draw-progress",String(ne))),ne<1&&(le=false);}),v){let z=S(B(c,k,V,d));for(let G in v){let se=parseFloat(G);z>=se&&!Ve.has(se)&&(Ve.add(se),v[G]?.());}}!$e&&B(c,k,V,d)>0&&($e=true,U?.()),le&&!Z?Pt():!le&&!H&&(Z=false);}let je=Me(X??window,[e],Lt,yr,()=>{let i=m.join();l.forEach(Be),Tt(),We=true,m.join()!==i&&qe();}),dt=N>0;function qe(){je.hold(pe||dt);}let At;return dt&&(At=setTimeout(()=>{dt=false,qe();},N)),qe(),ft({destroy(){clearTimeout(Fe),clearTimeout(At),je.off(),bt();},replay(){Ct(),Ke=-1,Ze=-1,Re=0,pe=false,xe=0,clearTimeout(Fe),qe();},pause(){pe=true,je.hold(true);},resume(){pe&&(pe=false,We=true,qe());},seek(i){let c=Math.min(1,Math.max(0,i));xe=c,lt=c,Xe=[],pe=true,je.hold(true),pr(c,h),We=true;},getProgress(){return xe},refresh:je.remeasure},()=>({tStart:k,tEnd:V}))}var qt=new WeakMap,Ir=0;function gt(e){return JSON.stringify(e,(r,t)=>{if(typeof t=="function")return "\u0192";if(typeof Element<"u"&&t instanceof Element){let n=qt.get(t);return n===void 0&&qt.set(t,n=++Ir),`el#${n}`}return t})}function Qt(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 Nr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Yt(e){let r=[],t=/([\w]+)\(([^)]*)\)/g,n;for(;(n=t.exec(e))!==null;){let o=[],s=[],a=n[2].trim();if(a)for(let u of a.split(/[\s,]+/)){let f=u.match(/^([-+]?[\d.eE]+)(.*)$/);o.push(f?parseFloat(f[1]):0),s.push(f?f[2]:"");}r.push({fn:n[1],nums:o,units:s});}return r}function Dr(e,r,t){let n=Yt(e),o=Yt(r);return n.length===0||n.length!==o.length?t<1?e:r:n.map((s,a)=>{let u=o[a];return s.fn!==u.fn||s.nums.length!==u.nums.length?t<1?`${s.fn}(${s.nums.map((f,p)=>`${f}${s.units[p]}`).join(", ")})`:`${u.fn}(${u.nums.map((f,p)=>`${f}${u.units[p]}`).join(", ")})`:`${s.fn}(${s.nums.map((f,p)=>`${f+(u.nums[p]-f)*t}${s.units[p]}`).join(", ")})`}).join(" ")}function Ut(e,r,t){if(typeof e=="number"&&typeof r=="number")return String(e+(r-e)*t);let n=String(e),o=String(r);if(Nr(n))return rt(n,o,t);if(n.includes("("))return Dr(n,o,t);let s=n.match(/^([-+]?[\d.]+)(.*)$/),a=o.match(/^([-+]?[\d.]+)(.*)$/);if(s&&a){let u=parseFloat(s[1]),f=parseFloat(a[1]);return `${u+(f-u)*t}${s[2]||a[2]}`}return t<1?n:o}function Rr(e){return e.replace(/([A-Z])/g,r=>`-${r.toLowerCase()}`)}var Fr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Vr=0,Xt="--scroll-draw-progress";function _r(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var Zt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Jt(e,r){return typeof window>"u"?Zt:r.respectReducedMotion===false?Kt(e,r,false):De(r,(t,n)=>Kt(e,t,n))}function Kt(e,r,t){let{props:n,trigger:o={},easing:s="ease-out",speed:a=1,once:u=false,axis:f="y",scrollContainer:p,native:g=true,velocityScale:x=false,triggerElement:h,onProgress:H,onComplete:j,onEnter:w,onLeave:I,onEnterBack:ue,onLeaveBack:N}=r,M=typeof s=="function"?s:ee[s]??ee["ease-out"],P=ie(o.start||"top bottom"),$=ie(o.end||"bottom top"),v=h??e,C=typeof p=="string"?document.querySelector(p):p??null,D=Object.entries(n).map(([l,m])=>({prop:Rr(l),from:Array.isArray(m)?m[0]:"",to:Array.isArray(m)?m[1]:m}));function te(){let l=window.getComputedStyle(e);for(let m of D)m.from===""&&(m.from=l.getPropertyValue(m.prop).trim()||"0");}function q(){for(let l of D)e.style.setProperty(l.prop,String(l.to));}let F=new Map;for(let l of [...D.map(m=>m.prop),Xt])F.set(l,e.style.getPropertyValue(l));function R(){for(let[l,m]of F)m?e.style.setProperty(l,m):e.style.removeProperty(l);}if(t)return q(),j?.(),{...Zt,destroy:R,getProgress:()=>1};te();let E=()=>C?f==="x"?C.scrollLeft:C.scrollTop:f==="x"?window.scrollX:window.scrollY,Y=()=>C?f==="x"?C.clientWidth:C.clientHeight:f==="x"?window.innerWidth:window.innerHeight,y=typeof s=="string"?nt(s):null;function A(){if(!g||!_r()||!y||f!=="y"||C||v!==e||u||a!==1||H||j||w||I||ue||N||x!==false||(o.start||"top bottom").trim()!=="top bottom"||(o.end||"bottom top").trim()!=="bottom top")return false;for(let l of D)if(!Fr.has(l.prop))return false;return true}function Se(){let l=`ssd-a-${++Vr}`,m=D.map(W=>`${W.prop}:${W.from}`).join(";"),K=D.map(W=>`${W.prop}:${W.to}`).join(";"),k=document.createElement("style");k.setAttribute("data-ssd-animate",""),k.textContent=`@keyframes ${l}{from{${m}}to{${K}}}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${y};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(k),e.classList.add(l);let V=()=>{let W=e.getBoundingClientRect();return we({top:W.top,height:W.height},E(),Y(),P,$)};ve(e,{type:"animate",getProgress:()=>Q.getProgress(),getTrigger:V});let Q={refresh(){},destroy(){e.classList.remove(l),k.remove(),e.style.animationPlayState="",R(),Ee(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(W){let Ne=Math.min(1,Math.max(0,W));e.classList.remove(l);for(let Z of D)e.style.setProperty(Z.prop,Ut(Z.from,Z.to,Ne));},getProgress(){let{tStart:W,tEnd:Ne}=V();return M(B(E(),W,Ne,a))}};return Q}if(A())return Se();let U=0,_=0,fe=false,Te=-1,ge=0,me=0,b=false,S=NaN,he=-1,He=0,X=v===e?D:[],Le=false;function Pe(){let l=e.style,m=X.map(Q=>l.getPropertyValue(Q.prop)),K=l.transition;X.length&&(l.transition="none"),X.forEach(Q=>l.setProperty(Q.prop,F.get(Q.prop)??""));let k=et(v,C,f);X.forEach((Q,W)=>l.setProperty(Q.prop,m[W])),X.length&&(e.offsetWidth,l.transition=K);let V=we(k,k.scroll,Y(),P,$);Le&&Math.abs(V.tStart-U)<1&&Math.abs(V.tEnd-_)<1||(Le=true,U=V.tStart,_=V.tEnd);}function ye(l){e.style.setProperty(Xt,String(l));for(let m of D)e.style.setProperty(m.prop,Ut(m.from,m.to,l));H?.(l);}function Ie(l){if(isNaN(S)){S=l;return}S<=0&&l>0&&w?.(),S<1&&l>=1&&I?.(),S>=1&&l<1&&ue?.(),S>0&&l<=0&&N?.(),S=l;}function Ce(){if(fe)return;let l=performance.now(),m=E(),K=a;if(x!==false){let W=l-He,Ne=W>0?Math.abs(m-(he<0?m:he))/W:0;K=a*Math.max(.2,1+Ne*(typeof x=="number"?x:1)*.04);}he=m,He=l;let k=_===U?0:(m-U)/(_-U);Ie(k);let V=B(m,U,_,K),Q=u?Math.max(Te,M(ge=Math.max(ge,V))):M(V);me=Q,ye(Q),Q>=1&&!b?(b=true,j?.()):Q<1&&!u&&(b=false);}let be=Me(C??window,[v],()=>B(E(),U,_,Math.min(a,1)),Ce,Pe);Pe(),_===U&&ae("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),ge=B(E(),U,_,a),me=M(ge),ye(me),ve(e,{type:"animate",getProgress:()=>me,getTrigger:()=>({tStart:U,tEnd:_})});function Ae(){fe=true,be.hold(true);}return {destroy(){fe=true,be.off(),R(),Ee(e);},replay(){Te=-1,ge=0,b=false,me=0,fe=false,ye(0),be.hold(false);},pause:Ae,resume(){fe&&(fe=false,be.hold(false));},seek(l){let m=Math.min(1,Math.max(0,l));me=m,Te=m,ge=0,Ae(),ye(m);},getProgress(){return me},refresh:be.remeasure}}var ht={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function er(e,r){if(typeof window>"u")return ht;let t=typeof e=="string"?document.querySelector(e):e;return t?De(r,(n,o)=>Wr(t,n,o)):(ae("scrollCounter: element not found:",e),ht)}function Wr(e,r,t){let{from:n=0,to:o,format:s,easing:a="ease-out",trigger:u={},once:f=true,decimals:p,onComplete:g}=r,x=p!==void 0?y=>y.toFixed(p):s??(y=>String(Math.round(y))),h=typeof a=="function"?a:ee[a]??ee["ease-out"],H=ie(u.start||"top 80%"),j=ie(u.end||"top 20%");if(t)return e.textContent=x(o),g?.(),{...ht,getProgress:()=>1};let w=0,I=0,ue=false,N=-1,M=0,P=0,$=false,v=()=>window.scrollY,C=()=>window.innerHeight;function D(){let y=e.getBoundingClientRect(),A=we({top:y.top,height:y.height},v(),C(),H,j);ue&&Math.abs(A.tStart-w)<1&&Math.abs(A.tEnd-I)<1||(ue=true,w=A.tStart,I=A.tEnd);}let te=e.style.getPropertyValue("--scroll-draw-progress");function q(y){e.textContent=x(n+(o-n)*y),e.style.setProperty("--scroll-draw-progress",String(y));}let F=()=>B(v(),w,I,1);function R(){let y=F(),A=f?Math.max(N,h(M=Math.max(M,y))):h(y);P=A,q(A),A>=1&&!$?($=true,g?.()):A<1&&!f&&($=false);}D();{M=B(v(),w,I,1);let y=h(M);P=y,q(y);}let E=Me(window,[e],F,R,D);ve(e,{type:"counter",getProgress:()=>P,getTrigger:()=>({tStart:w,tEnd:I})});let Y=()=>E.hold(false);return {destroy(){E.off(),e.style.setProperty("--scroll-draw-progress",te),Ee(e);},replay(){N=-1,M=0,$=false,P=0,q(0),Y();},pause:()=>E.hold(true),resume:Y,seek(y){let A=Math.min(1,Math.max(0,y));P=A,N=A,M=0,E.hold(true),q(A);},getProgress(){return P}}}var tr={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function rr(e,r={}){if(typeof window>"u")return tr;let t=typeof e=="string"?document.querySelector(e):e;if(!t||t.tagName.toLowerCase()!=="video")return ae("scrollVideo: <video> element not found:",e),tr;let n=t,{trigger:o={},easing:s="linear",once:a=false,axis:u="y",preload:f="auto",triggerElement:p,onReady:g,onComplete:x,onProgress:h}=r,H=p??n,j=window.matchMedia("(prefers-reduced-motion: reduce)").matches,w=typeof s=="function"?s:ee[s]??ee.linear,I=ie(o.start||"top top"),ue=ie(o.end||"bottom top");n.pause(),n.hasAttribute("preload")||(n.preload=f);let N=r.from??0,M=r.to,P=0,$=0,v=false,C=-1,D=0,te=0,q=false,F=false,R=()=>u==="x"?window.scrollX:window.scrollY,E=()=>u==="x"?window.innerWidth:window.innerHeight;function Y(){let b=H.getBoundingClientRect(),S=u==="x"?b.left:b.top,he=u==="x"?b.width:b.height,He=we({top:S,height:he},R(),E(),I,ue);P=He.tStart,$=He.tEnd,F&&$===P&&ae("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",n);}let y=NaN;function A(b){if(!F)return;let S=M??n.duration??0,he=N+(S-N)*b;he!==y&&(y=he,n.currentTime=he),n.style.setProperty("--scroll-draw-progress",String(b)),h?.(b);}let Se=()=>B(R(),P,$,1);function U(){if(!F||j)return;let b=Se(),S=a?Math.max(C,w(D=Math.max(D,b))):w(b);te=S,A(S),S>=1&&!q?(q=true,x?.()):S<1&&!a&&(q=false);}let _=Me(window,[H],Se,U,Y),fe=()=>_.hold(v||!F||j);fe();function Te(){if(F=true,M===void 0&&(M=n.duration),j){A(1),g?.();return}Y(),g?.(),v?A(te):fe();}n.readyState>=1?Te():n.addEventListener("loadedmetadata",Te,{once:true}),F||Y();let ge=j?()=>{}:ot(b=>{b&&(ge(),j=true,_.hold(true),A(1));});ve(n,{type:"video",getProgress:()=>te,getTrigger:()=>({tStart:P,tEnd:$})});function me(){v&&(v=false,fe());}return {destroy(){_.off(),n.removeEventListener("loadedmetadata",Te),ge(),Ee(n);},replay(){C=-1,D=0,q=false,te=0,y=NaN,A(0),me();},pause(){v=true,_.hold(true);},resume:me,seek(b){let S=Math.min(1,Math.max(0,b));te=S,C=S,D=0,v=true,_.hold(true),y=NaN,A(S);},getProgress(){return te}}}function nr(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 at(e=""){let r=document.createElement("span");return r.setAttribute("aria-hidden","true"),r.textContent=e,r}function sr(e){let r=e.textContent??"";return e.textContent="",r.split(/(\s+)/).filter(Boolean).map(t=>{let n=e.appendChild(at(t)),o=/^\s+$/.test(t);return o?n.style.whiteSpace="pre":n.style.display="inline-block",o?null:n}).filter(t=>t!==null)}function zr(e){let r=e.textContent??"";e.textContent="";let t=[],n=null;for(let o of r){let s=at(o),a=o===" ";a?s.style.whiteSpace="pre":(s.style.display="inline-block",t.push(s)),a||o>"\u0DFF"?n=null:n||(n=e.appendChild(at()),n.style.cssText="display:inline-block;white-space:nowrap"),(n??e).appendChild(s);}return t}function or(e){let r=sr(e),t=new Map;for(let s of r){let a=s.offsetTop;t.has(a)||t.set(a,[]),t.get(a).push(s);}let n=[],o=Array.from(t.keys()).sort((s,a)=>s-a);for(let s of o){let a=t.get(s),u=at();u.style.display="inline-block",a.forEach((f,p)=>{let g=f.nextElementSibling;u.appendChild(f),p<a.length-1&&g&&g.style.whiteSpace==="pre"&&u.appendChild(g);}),n.push(u);}return e.textContent="",n.forEach((s,a)=>{e.appendChild(s),a<n.length-1&&e.appendChild(document.createTextNode(" "));}),n}function Gr(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,a=s+(1-o);return a<=s?e>=s?1:0:Qe((e-s)/(a-s),0,1)}function Br(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 yt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function ir(e,r={}){if(typeof window>"u")return yt;let t=typeof e=="string"?document.querySelector(e):e;if(!t)return ae("scrollText: element not found:",e),yt;let n=t;return De(r,(o,s)=>jr(n,o,s))}function jr(e,r,t){let{split:n="words",stagger:o=.04,easing:s="ease-out",from:a={opacity:0,y:24},trigger:u={},once:f=true,onComplete:p}=r,g=typeof s=="function"?s:ee[s]??ee["ease-out"],x=ie(u.start||"top 85%"),h=ie(u.end||"top 40%"),H=e.innerHTML,j=e.textContent??"",w;n==="chars"?w=zr(e):n==="lines"?w=or(e):w=sr(e),nr(e,j);let I=w.length;function ue(E,Y){a?.opacity!==void 0&&(E.style.opacity=String(a.opacity+(1-a.opacity)*Y));let y=Br(Y,a);y&&(E.style.transform=y);}function N(E){e.style.setProperty("--scroll-draw-progress",String(E)),w.forEach((Y,y)=>{let A=g(Gr(E,y,I,o));ue(Y,A);});}if(t)return N(1),p?.(),{...yt,destroy:()=>{e.innerHTML=H;},getProgress:()=>1};N(0);let M=0,P=0,$=-1,v=0,C=false;function D(){({tStart:M,tEnd:P}=we(e.getBoundingClientRect(),window.scrollY,window.innerHeight,x,h));}let te=()=>B(window.scrollY,M,P,1);function q(){let E=f?$=Math.max($,te()):te();v=E,N(E),E>=1&&!C?(C=true,p?.()):E<1&&!f&&(C=false);}D();let F=Me(window,[e],te,q,()=>{n==="lines"&&(e.innerHTML=H,w=or(e),nr(e,j),N(v)),D();});ve(e,{type:"text",getProgress:()=>v,getTrigger:()=>({tStart:M,tEnd:P})});let R=()=>F.hold(false);return {destroy(){F.off(),e.innerHTML=H,Ee(e);},replay(){$=-1,C=false,v=0,N(0),R();},pause:()=>F.hold(true),resume:R,seek(E){F.hold(true),N(v=$=Qe(E,0,1));},getProgress(){return v}}}var _e=class{constructor(r){this.create=r;this.instance=null;this.el=null;this.key="";}init(r,t){return this.destroy(),this.el=r,this.latest=t,this.key=gt(t),this.instance=this.create(r,Qt(t,()=>this.latest)),this}update(r){return this.el?gt(r)!==this.key?this.init(this.el,r):(this.latest=r,this):this}replay(){return this.instance?.replay(),this}pause(){return this.instance?.pause(),this}resume(){return this.instance?.resume(),this}seek(r){return this.instance?.seek(r),this}getProgress(){return this.instance?.getProgress()??0}destroy(){return this.instance?.destroy(),this.instance=this.el=null,this}},ar=class extends _e{constructor(){super(jt);}init(r,t={}){return super.init(r,t)}},lr=class extends _e{constructor(){super(Jt);}},cr=class extends _e{constructor(){super(er);}},ur=class extends _e{constructor(){super(rr);}init(r,t={}){return super.init(r,t)}},fr=class extends _e{constructor(){super(ir);}init(r,t={}){return super.init(r,t)}};exports.EngineRef=_e;exports.ScrollAnimateRef=lr;exports.ScrollCounterRef=cr;exports.ScrollDrawRef=ar;exports.ScrollTextRef=fr;exports.ScrollVideoRef=ur;
@@ -1,6 +1,6 @@
1
- import { S as ScrollDrawInstance, a as ScrollDrawOptions } from '../types-MswK0erX.mjs';
2
- import { S as ScrollAnimateOptions } from '../engine-o1VSQ1lX.mjs';
3
- import { S as ScrollCounterOptions } from '../index-CdaBYn3A.mjs';
1
+ import { S as ScrollDrawInstance, a as ScrollDrawOptions } from '../types-9bcJdVcg.mjs';
2
+ import { S as ScrollAnimateOptions } from '../engine-BLWKCfxC.mjs';
3
+ import { S as ScrollCounterOptions } from '../index-DVjblK_4.mjs';
4
4
  import { ScrollVideoOptions } from '../video/index.mjs';
5
5
  import { ScrollTextOptions } from '../text/index.mjs';
6
6
 
@@ -1,6 +1,6 @@
1
- import { S as ScrollDrawInstance, a as ScrollDrawOptions } from '../types-MswK0erX.js';
2
- import { S as ScrollAnimateOptions } from '../engine-B7UpB4fT.js';
3
- import { S as ScrollCounterOptions } from '../index-D3o4vT3e.js';
1
+ import { S as ScrollDrawInstance, a as ScrollDrawOptions } from '../types-9bcJdVcg.js';
2
+ import { S as ScrollAnimateOptions } from '../engine-6VsjEwzb.js';
3
+ import { S as ScrollCounterOptions } from '../index-BN8yKeQ3.js';
4
4
  import { ScrollVideoOptions } from '../video/index.js';
5
5
  import { ScrollTextOptions } from '../text/index.js';
6
6
 
@@ -1 +1 @@
1
- import {a,b}from'../chunk-XSVTHCLO.mjs';import {a as a$3}from'../chunk-QFSTKVA3.mjs';import {a as a$4}from'../chunk-NLPSVYFP.mjs';import {a as a$2}from'../chunk-I73SOXBN.mjs';import {a as a$1}from'../chunk-OPXWNJBG.mjs';import {b as b$1}from'../chunk-6TWFLRUB.mjs';import'../chunk-OJFWQ6CU.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-XC5NR2MU.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-A4JCC3QQ.mjs';import'../chunk-DM6EDKWH.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-BCV4RAIX.mjs';import'../chunk-LFSU6LR3.mjs';var r=class{constructor(t){this.create=t;this.instance=null;this.el=null;this.key="";}init(t,e){return this.destroy(),this.el=t,this.latest=e,this.key=a(e),this.instance=this.create(t,b(e,()=>this.latest)),this}update(t){return this.el?a(t)!==this.key?this.init(this.el,t):(this.latest=t,this):this}replay(){return this.instance?.replay(),this}pause(){return this.instance?.pause(),this}resume(){return this.instance?.resume(),this}seek(t){return this.instance?.seek(t),this}getProgress(){return this.instance?.getProgress()??0}destroy(){return this.instance?.destroy(),this.instance=this.el=null,this}},u=class extends r{constructor(){super(b$1);}init(t,e={}){return super.init(t,e)}},h=class extends r{constructor(){super(a$1);}},m=class extends r{constructor(){super(a$2);}},O=class extends r{constructor(){super(a$3);}init(t,e={}){return super.init(t,e)}},d=class extends r{constructor(){super(a$4);}init(t,e={}){return super.init(t,e)}};export{r as EngineRef,h as ScrollAnimateRef,m as ScrollCounterRef,u as ScrollDrawRef,d as ScrollTextRef,O as ScrollVideoRef};
1
+ import {a,b}from'../chunk-XSVTHCLO.mjs';import {a as a$3}from'../chunk-NYQJPPMP.mjs';import {a as a$4}from'../chunk-XNM3VKEK.mjs';import {a as a$2}from'../chunk-PAGN26EH.mjs';import {a as a$1}from'../chunk-VJ5ZU55P.mjs';import {b as b$1}from'../chunk-K6VATIJH.mjs';import'../chunk-V3Z6G5JE.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-XC5NR2MU.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-NV6YTPHI.mjs';import'../chunk-THPTANES.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-BCV4RAIX.mjs';import'../chunk-LFSU6LR3.mjs';var r=class{constructor(t){this.create=t;this.instance=null;this.el=null;this.key="";}init(t,e){return this.destroy(),this.el=t,this.latest=e,this.key=a(e),this.instance=this.create(t,b(e,()=>this.latest)),this}update(t){return this.el?a(t)!==this.key?this.init(this.el,t):(this.latest=t,this):this}replay(){return this.instance?.replay(),this}pause(){return this.instance?.pause(),this}resume(){return this.instance?.resume(),this}seek(t){return this.instance?.seek(t),this}getProgress(){return this.instance?.getProgress()??0}destroy(){return this.instance?.destroy(),this.instance=this.el=null,this}},u=class extends r{constructor(){super(b$1);}init(t,e={}){return super.init(t,e)}},h=class extends r{constructor(){super(a$1);}},m=class extends r{constructor(){super(a$2);}},O=class extends r{constructor(){super(a$3);}init(t,e={}){return super.init(t,e)}},d=class extends r{constructor(){super(a$4);}init(t,e={}){return super.init(t,e)}};export{r as EngineRef,h as ScrollAnimateRef,m as ScrollCounterRef,u as ScrollDrawRef,d as ScrollTextRef,O as ScrollVideoRef};
@@ -1,3 +1,3 @@
1
- 'use strict';function gn({bounces:e=3,decay:t=.5}={}){let n=Math.max(1,Math.round(e)),r=Math.max(.01,Math.min(.99,t)),s=Math.sqrt(r),i=0,a=[];for(let d=0;d<n;d++){let b=Math.pow(s,d);a.push(b),i+=b;}let m=[0],u=0;for(let d=0;d<n;d++)u+=a[d]/i,m.push(u);return d=>{if(d<=0)return 0;if(d>=1)return 1;for(let b=0;b<n;b++)if(d<=m[b+1]){let P=(d-m[b])/(m[b+1]-m[b]);if(b===0)return P*(2-P);let v=1-Math.pow(r,b);return v+(1-v)*(2*P-1)*(2*P-1)}return 1}}function yn({amplitude:e=1,period:t=.4}={}){let n=Math.max(1,e),r=Math.max(.1,t),s=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-s)*(2*Math.PI)/r)+1}var ue={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:e=>1-Math.cos(e*Math.PI*2.5)*Math.pow(1-e,2.2),bounce:gn(),elastic:yn()};function Rt(e,t,n){return Math.min(n,Math.max(t,e))}function be(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}}function Ht(e,t,n,r){switch(r){case "top":return e+n;case "center":return e+n+t/2;case "bottom":return e+n+t;default:return e+n}}function Ft(e,t){if(/^\d+(\.\d+)?%$/.test(e))return t*(parseFloat(e)/100);switch(e){case "top":return 0;case "center":return t/2;case "bottom":return t;default:return t}}function G(e,t,n,r){return n===t?0:Rt((e-t)/(n-t)*r,0,1)}function Le(e,t,n,r,s){let i=Ht(e.top,e.height,t,r.element)-Ft(r.viewport,n),a=Ht(e.top,e.height,t,s.element)-Ft(s.viewport,n);return {tStart:i,tEnd:a}}function ot(e,t,n){let r=e.getBoundingClientRect(),s=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:s,scroll:0}:{top:n==="x"?r.left:r.top,height:s,scroll:n==="x"?window.scrollX:window.scrollY}}function st(e){let t=parseFloat(e.getAttribute("pathLength")??"");if(t>0)return t;let n=e.tagName.toLowerCase();if(n==="rect"){let r=parseFloat(e.getAttribute("width")??"0"),s=parseFloat(e.getAttribute("height")??"0");return 2*(r+s)}if(n==="circle"){let r=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*r}return e.getTotalLength()}function Nt(e){let t=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);if(t)return [parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)];let n=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(n)return [parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)];let r=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(e);return r?[parseInt(r[1]),parseInt(r[2]),parseInt(r[3])]:null}function it(e,t,n){let r=Nt(e),s=Nt(t);return !r||!s?e:`rgb(${Math.round(r[0]+(s[0]-r[0])*n)},${Math.round(r[1]+(s[1]-r[1])*n)},${Math.round(r[2]+(s[2]-r[2])*n)})`}var _t={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var Ge=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){Ge&&console.warn(`[svg-scroll-draw] ${e}`,...t);}var hn="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",bn="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",zt=33;function wn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function vn(e){let t=[];for(let n=0;n<zt;n++){let r=n/(zt-1);t.push(String(Math.round(e(r)*1e5)/1e5));}return `linear(${t.join(",")})`}function at(e){switch(e){case "linear":return "linear";case "ease-in":return hn;case "ease-out":return bn;case "ease-in-out":return wn()?vn(ue["ease-in-out"]):null;default:return null}}var Vt=Symbol.for("svg-scroll-draw.registry");function Wt(){let e=globalThis;return e[Vt]||(e[Vt]=new Map)}function Ie(e,t){Wt().set(e,t);}function Oe(e){Wt().delete(e);}var Xe,lt=new Set,ct=new WeakMap,Je=new Map,qt=e=>{let t=e.getBoundingClientRect();return t.width+" "+t.height};function En(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 _e(e,t){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let n=()=>t();Xe??(Xe=new ResizeObserver(s=>{let i=false;for(let{target:a}of s)ct.get(a)!==qt(a)&&(i=true),ct.set(a,"");i&&lt.forEach(a=>a());})),lt.add(n);let r=En(e);return [document.body,document.documentElement].forEach(s=>s&&r.add(s)),r.forEach(s=>{ct.has(s)||ct.set(s,qt(s)),Je.set(s,(Je.get(s)??0)+1),Xe.observe(s);}),()=>{lt.delete(n)&&(r.forEach(s=>{let i=(Je.get(s)??1)-1;if(i)return void Je.set(s,i);Je.delete(s),Xe?.unobserve(s);}),lt.size||(Xe?.disconnect(),Xe=void 0));}}function Bt(e){if(typeof window>"u"||typeof window.matchMedia!="function")return ()=>{};let t=window.matchMedia("(prefers-reduced-motion: reduce)"),n=s=>e(!!s.matches);if(typeof t.addEventListener=="function")return t.addEventListener("change",n),()=>t.removeEventListener("change",n);let r=t;return r.addListener?.(n),()=>r.removeListener?.(n)}function ze(e,t){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t(e,true);let n=t(e,false),r=Bt(i=>{if(!i)return;r();let a=(n.getProgress?.()??0)>=1;n.destroy(),n=t(a?{...e,onComplete:void 0}:e,true);}),s={};for(let i of Object.keys(n))s[i]=(...a)=>n[i]?.(...a);return s.destroy=()=>{r(),n.destroy();},s}var Sn=0;function Tn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Gt(e,t){let n="";try{n=getComputedStyle(e).getPropertyValue(t).trim();}catch{}return n||(e.getAttribute(t)??"").trim()}var Qt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function xn(e){if(!Ge)return;let t=Gt(e,"stroke");if(!t||t==="none"){Q("Element has no stroke \u2014 path will not be visible.",e);return}let n=(e.getAttribute("fill")??"").trim();n&&!Qt.has(n)&&!Qt.has(Gt(e,"fill"))&&Q("Element has a fill \u2014 it may obscure the stroke animation.",e);}function Mn(e,t,n){let r=document.createElement("div");r.setAttribute("data-svg-scroll-draw-debug",""),r.style.cssText="position:fixed;pointer-events:none;z-index:9999;font-family:monospace;font-size:11px;top:0;left:0;right:0;bottom:0;";function s(){let i=n==="x"?window.scrollX:window.scrollY,a=e-i,m=t-i,u=n==="x";r.innerHTML=`
1
+ 'use strict';function pr({tension:e=2.5,friction:t=2.2}={}){return r=>1-Math.cos(r*Math.PI*e)*Math.pow(1-r,t)}function dr({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),i=0,a=[];for(let m=0;m<r;m++){let g=Math.pow(o,m);a.push(g),i+=g;}let f=[0],u=0;for(let m=0;m<r;m++)u+=a[m]/i,f.push(u);return m=>{if(m<=0)return 0;if(m>=1)return 1;for(let g=0;g<r;g++)if(m<=f[g+1]){let S=(m-f[g])/(f[g+1]-f[g]);if(g===0)return S*(2-S);let y=1-Math.pow(n,g);return y+(1-y)*(2*S-1)*(2*S-1)}return 1}}function gr({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 i=>i<=0?0:i>=1?1:r*Math.pow(2,-10*i)*Math.sin((i-o)*(2*Math.PI)/n)+1}var se={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:pr(),bounce:dr(),elastic:gr()};function je(e,t,r){return Math.min(r,Math.max(t,e))}function me(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 Ht=(e,t)=>e==="top"?0:e==="center"?.5:e==="bottom"?1:t;function Ot(e,t,r,n){return e+r+t*Ht(n,0)}function It(e,t){return t*(/^\d+(\.\d+)?%$/.test(e)?parseFloat(e)/100:Ht(e,1))}function V(e,t,r,n){return r===t?0:je((e-t)/(r-t)*n,0,1)}function ye(e,t,r,n,o){let i=Ot(e.top,e.height,t,n.element)-It(n.viewport,r),a=Ot(e.top,e.height,t,o.element)-It(o.viewport,r);return {tStart:i,tEnd:a}}function et(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 tt(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 Rt(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 rt(e,t,r){let n=Rt(e),o=Rt(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 Nt={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 We=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function j(e,...t){We&&console.warn(`[svg-scroll-draw] ${e}`,...t);}var yr="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",hr="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Ft=33;function br(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function wr(e){let t=[];for(let r=0;r<Ft;r++){let n=r/(Ft-1);t.push(String(Math.round(e(n)*1e5)/1e5));}return `linear(${t.join(",")})`}function nt(e){switch(e){case "linear":return "linear";case "ease-in":return yr;case "ease-out":return hr;case "ease-in-out":return br()?wr(se["ease-in-out"]):null;default:return null}}var _t=Symbol.for("svg-scroll-draw.registry");function Vt(){let e=globalThis;return e[_t]||(e[_t]=new Map)}function Ae(e,t){Vt().set(e,t);}function Ce(e){Vt().delete(e);}function Wt(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 De(e,t){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return t(e,true);let r=t(e,false),n=Wt(i=>{if(!i)return;n();let a=(r.getProgress?.()??0)>=1;r.destroy(),r=t(a?{...e,onComplete:void 0}:e,true);}),o={};for(let i of Object.keys(r))o[i]=(...a)=>r[i]?.(...a);return o.destroy=()=>{n(),r.destroy();},o}var Qe,ot=new Set,st=new WeakMap,Ye=new Map,Gt=e=>{let t=e.getBoundingClientRect();return t.width+" "+t.height};function vr(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 zt(e,t){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let r=()=>t();Qe??(Qe=new ResizeObserver(o=>{let i=false;for(let{target:a}of o)st.get(a)!==Gt(a)&&(i=true),st.set(a,"");i&&ot.forEach(a=>a());})),ot.add(r);let n=vr(e);return [document.body,document.documentElement].forEach(o=>o&&n.add(o)),n.forEach(o=>{st.has(o)||st.set(o,Gt(o)),Ye.set(o,(Ye.get(o)??0)+1),Qe.observe(o);}),()=>{ot.delete(r)&&(n.forEach(o=>{let i=(Ye.get(o)??1)-1;if(i)return void Ye.set(o,i);Ye.delete(o),Qe?.unobserve(o);}),ot.size||(Qe?.disconnect(),Qe=void 0));}}function ke(e,t,r,n,o){let i,a=NaN,f,u,m=()=>{i=0,n(),!f&&!i&&(a=r())>0&&a<1&&(i=requestAnimationFrame(m));},g=()=>{!i&&!f&&r()!==a&&(i=requestAnimationFrame(m));},S=$=>{f=$,cancelAnimationFrame(i),i=a=NaN,g();},y=()=>{clearTimeout(u),o(),g();},H=()=>{clearTimeout(u),u=setTimeout(y,150);},ie=zt(t,H),b=$=>{e[$]("scroll",g,{passive:true}),window[$]("resize",H),window[$]("orientationchange",H);};return b("addEventListener"),g(),{hold:S,remeasure:y,off(){S(true),b("removeEventListener"),ie(),clearTimeout(u);}}}var Er=0;function Sr(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function Bt(e,t){let r="";try{r=getComputedStyle(e).getPropertyValue(t).trim();}catch{}return r||(e.getAttribute(t)??"").trim()}var qt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Tr(e){if(!We)return;let t=Bt(e,"stroke");if(!t||t==="none"){j("Element has no stroke \u2014 path will not be visible.",e);return}let r=(e.getAttribute("fill")??"").trim();r&&!qt.has(r)&&!qt.has(Bt(e,"fill"))&&j("Element has a fill \u2014 it may obscure the stroke animation.",e);}function xr(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 i=r==="x"?window.scrollX:window.scrollY,a=e-i,f=t-i,u=r==="x";n.innerHTML=`
2
2
  <div style="position:absolute;${u?`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;${u?`left:${m}px;top:0;bottom:0;border-left:2px dashed #ef4444;`:`top:${m}px;left:0;right:0;border-top:2px dashed #ef4444;`}padding:2px 6px;color:#ef4444;background:rgba(0,0,0,.6)">\u25A0 end</div>`;}return document.body.appendChild(r),window.addEventListener("scroll",s,{passive:true}),s(),{el:r,destroy(){window.removeEventListener("scroll",s),r.remove();}}}var jt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Ut=/[MmLlHhVvCcSsQqTtAaZz]/g;function Ln(e,t,n){if(!Ge)return;let r=(e.match(Ut)??[]).join("").toUpperCase(),s=(t.match(Ut)??[]).join("").toUpperCase(),i=(e.match(jt)??[]).length,a=(t.match(jt)??[]).length;if(r!==s){Q(`morphTo: command sequence differs (${r||"\u2205"} \u2192 ${s||"\u2205"}). Interpolation is coordinate-for-coordinate, so the result will not reach the target shape. Redraw both paths with the same commands.`,n);return}i!==a&&Q(`morphTo: coordinate count differs (${i} \u2192 ${a}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,n);}function An(e,t,n){let r=(t.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),s=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,i=>{let a=parseFloat(i),m=r[s++]??a;return String(+(a+(m-a)*n).toFixed(4))})}function ut(e,t={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:ze(t,(n,r)=>Cn(e,n,r))}function Cn(e,t,n){let{preset:r,...s}=t,i=r?{..._t[r],...s}:s,{selector:a="path, polyline, line, polygon, rect, circle",speed:m=1,fade:u=false,easing:d="linear",trigger:b={},stagger:P=0,direction:v="forward",once:ee=false,debug:we=false,axis:x="y",scrollContainer:ie,autoReverse:ve=false,delay:L=0,strokeColor:D,strokeWidth:I,fillOpacity:$,waypoints:M,velocityScale:w=false,threshold:A=0,rootMargin:te="0px",repeat:j=0,repeatDelay:me=0,morphTo:z,clip:W,autoplay:fe=false,duration:Te=1e3,native:Ee=true,onProgress:H,onStart:F,onComplete:O,onEnter:f,onLeave:y,onEnterBack:ne,onLeaveBack:ke}=i,q=W===true?"left":typeof W=="string"?W:false,U=typeof d=="function"?d:ue[d]??ue.linear,Ve=be(b.start||"top bottom"),xe=be(b.end||"bottom top"),re=typeof ie=="string"?document.querySelector(ie):ie??null,Ae=Array.isArray(D)?D[0]:null,ye=Array.isArray(D)?D[1]:typeof D=="string"?D:null,Me=Array.isArray(I)?I[0]:null,Ce=Array.isArray(I)?I[1]:typeof I=="number"?I:null,he=Array.isArray($)?$[0]:null,Re=Array.isArray($)?$[1]:typeof $=="number"?$:null;function Pe(o){let l=o*100;switch(q){case "right":return `inset(0 0 0 ${100-l}%)`;case "top":return `inset(0 0 ${100-l}% 0)`;case "bottom":return `inset(${100-l}% 0 0 0)`;case "center":return `circle(${o*150}% at 50% 50%)`;default:return `inset(0 ${100-l}% 0 0)`}}let T=q?[]:Array.from(e.querySelectorAll(a)),ae=[],pe=[],Y=0,V=0,We=P,Ke=0,N=false,c=false,p=0,Se=false,oe=-1,B=[],_=-1,h=false,X=0,le=0,He,dt=null;function xt(){dt?.destroy(),dt=null;}let Fe=new Set,Mt=NaN,Ne=true,et=-1,Lt=performance.now(),qe=NaN;function Qe(){return re?x==="x"?re.scrollLeft:re.scrollTop:x==="x"?window.scrollX:window.scrollY}function At(){return re?x==="x"?re.clientWidth:re.clientHeight:x==="x"?window.innerWidth:window.innerHeight}function Ct(){let o=ot(e,re,x);return Le(o,o.scroll,At(),Ve,xe)}function ln(){let o=V-Y,l=T.length-1,g=re??document.documentElement,S=x==="x"?"Width":"Height";if(We=P,P>0&&l>0&&o>0){let se=g[`scroll${S}`]-g[`client${S}`]-1-Y-o/m;se>=0&&(We=Math.min(P,se/(l*o)));}Ke=V+l*We*o;}function Pt(){(({tStart:Y,tEnd:V}=Ct())),ln(),we&&Ge&&(xt(),dt=Mn(Y,V,x));}function gt(o,l=Ct){Ie(e,{type:"draw",getProgress:()=>o.getProgress(),getTrigger:l});let g=o.destroy;return o.destroy=()=>{g.call(o),Oe(e);},o}function $t(o,l){return ee&&!ve?Math.max(oe,U(B[o]=Math.max(B[o]??0,l))):U(l)}function cn(o,l){if(e.style.setProperty("--scroll-draw-progress",String(o)),q){let g=l==="reverse"?1-o:o;e.style.clipPath=Pe(g);return}T.forEach((g,S)=>yt(g,S,o,l));}function yt(o,l,g,S){o.style.strokeDashoffset=S==="reverse"?`${ae[l]*g}`:`${ae[l]*(1-g)}`,u&&(o.style.opacity=S==="reverse"?`${1-g}`:`${g}`),Ae&&ye?o.style.stroke=it(Ae,ye,g):ye&&(o.style.stroke=ye),Me!==null&&Ce!==null?o.style.strokeWidth=`${Me+(Ce-Me)*g}`:Ce!==null&&(o.style.strokeWidth=`${Ce}`),he!==null&&Re!==null?o.style.fillOpacity=`${he+(Re-he)*g}`:Re!==null&&(o.style.fillOpacity=`${Re}`),z&&o.tagName.toLowerCase()==="path"&&pe[l]&&o.setAttribute("d",An(pe[l],z,g));}function je(){if(e.style.setProperty("--scroll-draw-progress","0"),q){e.style.clipPath=Pe(v==="reverse"?1:0);return}T.forEach((o,l)=>{o.style.strokeDasharray=`${ae[l]}`,o.style.strokeDashoffset=v==="reverse"?"0":`${ae[l]}`,u?o.style.opacity=v==="reverse"?"1":"0":o.style.opacity="",Ae&&(o.style.stroke=Ae),Me!==null&&(o.style.strokeWidth=`${Me}`),he!==null&&(o.style.fillOpacity=`${he}`),z&&o.tagName.toLowerCase()==="path"&&pe[l]&&o.setAttribute("d",pe[l]);});}function Ue(o,l){let g=o.getAttribute("d"),S=st(o);if(z&&pe[l]){o.setAttribute("d",z);let se=st(o);o.setAttribute("d",pe[l]),S=Math.max(st(o),se),o.setAttribute("d",g);}ae[l]=S,o.style.strokeDasharray=`${S}`;}if(T.forEach((o,l)=>{xn(o);let g=o.tagName.toLowerCase()==="path";g?pe.push(o.getAttribute("d")??""):pe.push(""),Ue(o,l);let S=ae[l];z&&(g?Ln(pe[pe.length-1],z,o):Q(`morphTo only applies to <path> elements \u2014 ignored on <${o.tagName}>.`,o)),n?(o.style.strokeDashoffset=v==="reverse"?`${S}`:"0",u&&(o.style.opacity="1"),ye&&(o.style.stroke=ye),Ce!==null&&(o.style.strokeWidth=`${Ce}`),Re!==null&&(o.style.fillOpacity=`${Re}`),z&&o.tagName.toLowerCase()==="path"&&o.setAttribute("d",z)):(o.style.strokeDashoffset=v==="reverse"?"0":`${S}`,u?o.style.opacity=v==="reverse"?"1":"0":o.style.opacity="",Ae&&(o.style.stroke=Ae),Me!==null&&(o.style.strokeWidth=`${Me}`),he!==null&&(o.style.fillOpacity=`${he}`));}),n)return q&&(e.style.clipPath=Pe(1)),O?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};q&&(e.style.clipPath=Pe(v==="reverse"?1:0));let Dt=typeof d=="string"?at(d):null;function un(){return !(Ee===false||fe||we&&Ge||!Tn()||!T.length||!Dt||q||x!=="y"||re||m!==1||P!==0||ee||ve||w!==false||z||M||j||L>0||H||F||O||f||y||ne||ke||D!=null||I!=null||$!=null||(b.start||"top bottom").trim()!=="top bottom"||(b.end||"bottom top").trim()!=="bottom top")}function mn(){let o=++Sn,l=`svg-scroll-draw-${o}`,g=`svg-scroll-draw-host-${o}`,S=`--svg-scroll-draw-${o}`,se=v==="reverse"?"0":"var(--ssd-len)",$e=v==="reverse"?"var(--ssd-len)":"0",de=`stroke-dashoffset:${se};`,k=`stroke-dashoffset:${$e};`;u&&(de+=`opacity:${v==="reverse"?1:0};`,k+=`opacity:${v==="reverse"?0:1};`);let R=document.createElement("style");R.setAttribute("data-svg-scroll-draw",""),R.textContent=`@keyframes ${l}{from{${de}}to{${k}}}.${g}{view-timeline-name:${S};view-timeline-axis:block;}.${l}{animation-name:${l};animation-duration:auto;animation-timing-function:${Dt};animation-fill-mode:both;animation-timeline:${S};animation-range:cover 0% cover 100%;}`,document.head.appendChild(R),e.classList.add(g);function J(E,C){E.style.setProperty("--ssd-len",String(ae[C])),E.style.strokeDasharray=`${ae[C]}`,E.style.strokeDashoffset="",E.style.opacity="",E.style.animationPlayState="",E.classList.add(l);}T.forEach(J);let Z=false,ce=-1;function ge(){if(ce>=0)return ce;let E=e.getBoundingClientRect(),{tStart:C,tEnd:K}=Le({top:E.top,height:E.height},Qe(),At(),Ve,xe);return U(G(Qe(),C,K,m))}return {destroy(){e.classList.remove(g),T.forEach(E=>{E.classList.remove(l),E.style.removeProperty("--ssd-len"),E.style.animationPlayState="";}),R.remove();},replay(){Z=false,ce=-1,T.forEach(J);},pause(){Z=true,T.forEach(E=>{E.style.animationPlayState="paused";});},resume(){Z&&(Z=false,T.forEach(E=>{E.style.animationPlayState="running";}));},seek(E){let C=Math.min(1,Math.max(0,E));ce=C,Z=true,T.forEach((K,De)=>{K.classList.remove(l),K.style.strokeDashoffset=v==="reverse"?`${ae[De]*C}`:`${ae[De]*(1-C)}`,u&&(K.style.opacity=v==="reverse"?`${1-C}`:`${C}`);});},getProgress(){return ge()},refresh(){T.forEach((E,C)=>{Ue(E,C),E.style.setProperty("--ssd-len",String(ae[C]));});}}}if(un())return gt(mn());function fn(){let o=Math.max(1,Te),l=q?o:o*(1+Math.max(0,T.length-1)*P),g=0,S=0,se=false;function $e(ce){let ge=true,E=Math.min(1,Math.max(0,ce/l));if(q){let C=Math.min(1,Math.max(0,ce/o)),K=U(C);X=K,e.style.setProperty("--scroll-draw-progress",String(K)),e.style.clipPath=Pe(v==="reverse"?1-K:K),H?.(K),C<1&&(ge=false);}else {T.forEach((K,De)=>{let dn=De*P*o,kt=Math.min(1,Math.max(0,(ce-dn)/o));yt(K,De,U(kt),v),kt<1&&(ge=false);});let C=U(E);X=C,H?.(C),e.style.setProperty("--scroll-draw-progress",String(C));}if(M){let C=U(E);for(let K in M){let De=parseFloat(K);C>=De&&!Fe.has(De)&&(Fe.add(De),M[K]?.());}}return ge}function de(ce){if(h)return;let ge=ce-g;c||(c=true,F?.());let E=$e(ge);if(E&&!N){N=true,$e(l),O?.(),le<(j==="infinite"?1/0:j??0)&&(le++,He=setTimeout(()=>{g=performance.now(),c=false,N=false,Fe.clear(),je(),p=requestAnimationFrame(de);},me));return}E||(p=requestAnimationFrame(de));}function k(){cancelAnimationFrame(p),clearTimeout(He),g=performance.now(),S=0,h=false,c=false,N=false,le=0,se=true,X=0,Fe.clear(),je(),p=requestAnimationFrame(de);}let R=new IntersectionObserver(ce=>{ce.forEach(ge=>{ge.isIntersecting&&!(ee&&N)?k():!ge.isIntersecting&&!ee&&!N&&(cancelAnimationFrame(p),clearTimeout(He),se=false);});},{root:re??null,threshold:A,rootMargin:te}),J;function Z(){clearTimeout(J),J=setTimeout(()=>T.forEach(Ue),150);}return window.addEventListener("resize",Z),window.addEventListener("orientationchange",Z),L>0?setTimeout(()=>R.observe(e),L):R.observe(e),{destroy(){cancelAnimationFrame(p),clearTimeout(He),R.disconnect(),window.removeEventListener("resize",Z),window.removeEventListener("orientationchange",Z),clearTimeout(J);},replay(){le=0,k();},pause(){h||!se||(h=true,S=performance.now()-g,cancelAnimationFrame(p));},resume(){h&&(h=false,se=true,g=performance.now()-S,p=requestAnimationFrame(de));},seek(ce){let ge=Math.min(1,Math.max(0,ce));X=ge,h=true,S=ge*l,g=performance.now()-S,cancelAnimationFrame(p),$e(S);},getProgress(){return X},refresh(){clearTimeout(J),T.forEach(Ue);}}}if(fe)return gt(fn());Pt();function It(){if(h||!Be)return;let o=performance.now(),l=Qe();if(!Ne&&w===false&&l===Mt){bt(l);return}Ne=false,Mt=l;let g=m;if(w!==false){let k=o-Lt,R=k>0?Math.abs(l-(et<0?l:et))/k:0;g=m*Math.max(.2,1+R*(typeof w=="number"?w:1)*.04);}et=l,Lt=o;let S=ve?_===-1||l>=_?"forward":"reverse":v;_=l;let se=V-Y,$e=true,de=se===0?0:(l-Y)/se;if(isNaN(qe)||(qe<=0&&de>0?f?.():qe>0&&de<=0&&ke?.(),qe<1&&de>=1?y?.():qe>=1&&de<1&&ne?.()),qe=de,q){let k=$t(0,G(l,Y,V,g));X=k,e.style.setProperty("--scroll-draw-progress",String(k));let R=S==="reverse"?1-k:k;e.style.clipPath=Pe(R),H?.(k),!c&&G(l,Y,V,g)>0&&(c=true,F?.()),k>=1&&!N?(N=true,O?.(),le<(j==="infinite"?1/0:j??0)&&(le++,He=setTimeout(()=>{oe=-1,B=[],c=false,N=false,je();},me))):k<1&&!ee&&(N=false),bt(l);return}if(T.forEach((k,R)=>{let J=R*We*se,Z=$t(R,G(l,Y+J,V+J,g));yt(k,R,Z,S),R===0&&(X=Z,H?.(Z),e.style.setProperty("--scroll-draw-progress",String(Z))),Z<1&&($e=false);}),M){let k=U(G(l,Y,V,g));for(let R in M){let J=parseFloat(R);k>=J&&!Fe.has(J)&&(Fe.add(J),M[R]?.());}}!c&&G(l,Y,V,g)>0&&(c=true,F?.()),$e&&!N?(N=true,O?.(),le<(j==="infinite"?1/0:j??0)&&(le++,He=setTimeout(()=>{oe=-1,B=[],c=false,N=false,Fe.clear(),je(),Ne=true;},me))):!$e&&!ee&&(N=false),bt(l);}function ht(o){return o>=V&&o<Ke}function bt(o){Se||ht(o)?p=requestAnimationFrame(It):Be=false;}function wt(){return Se||ht(Qe())}let Be=false;function tt(){Be||(Be=true,p=requestAnimationFrame(function(){It();}));}function nt(){Be=false,cancelAnimationFrame(p);}let vt=new IntersectionObserver(o=>{o.forEach(l=>{Se=l.isIntersecting,Se&&!h?(Ne=true,tt()):Be&&!h&&ht(Qe())||nt();});},{root:re??null,threshold:A,rootMargin:te});function Ot(){T.forEach(Ue),Pt(),Ne=true;}let rt;function Ye(){clearTimeout(rt),rt=setTimeout(Ot,150);}window.addEventListener("resize",Ye),window.addEventListener("orientationchange",Ye);let pn=_e([e],Ye);return L>0?setTimeout(()=>vt.observe(e),L):vt.observe(e),gt({destroy(){cancelAnimationFrame(p),clearTimeout(He),nt(),vt.disconnect(),pn(),window.removeEventListener("resize",Ye),window.removeEventListener("orientationchange",Ye),clearTimeout(rt),xt();},replay(){oe=-1,B=[],_=-1,et=-1,c=false,N=false,le=0,h=false,X=0,Fe.clear(),clearTimeout(He),je(),Ne=true,wt()&&tt();},pause(){h=true,nt();},resume(){h&&(h=false,Ne=true,wt()&&tt());},seek(o){let l=Math.min(1,Math.max(0,o));X=l,oe=l,B=[],h=true,nt(),cn(l,v),Ne=true;},getProgress(){return X},refresh(){clearTimeout(rt),Ot(),wt()&&!h&&tt();}},()=>({tStart:Y,tEnd:V}))}function Pn(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Yt(e){let t=[],n=/([\w]+)\(([^)]*)\)/g,r;for(;(r=n.exec(e))!==null;){let s=[],i=[],a=r[2].trim();if(a)for(let m of a.split(/[\s,]+/)){let u=m.match(/^([-+]?[\d.eE]+)(.*)$/);s.push(u?parseFloat(u[1]):0),i.push(u?u[2]:"");}t.push({fn:r[1],nums:s,units:i});}return t}function $n(e,t,n){let r=Yt(e),s=Yt(t);return r.length===0||r.length!==s.length?n<1?e:t:r.map((i,a)=>{let m=s[a];return i.fn!==m.fn||i.nums.length!==m.nums.length?n<1?`${i.fn}(${i.nums.map((u,d)=>`${u}${i.units[d]}`).join(", ")})`:`${m.fn}(${m.nums.map((u,d)=>`${u}${m.units[d]}`).join(", ")})`:`${i.fn}(${i.nums.map((u,d)=>`${u+(m.nums[d]-u)*n}${i.units[d]}`).join(", ")})`}).join(" ")}function Xt(e,t,n){if(typeof e=="number"&&typeof t=="number")return String(e+(t-e)*n);let r=String(e),s=String(t);if(Pn(r))return it(r,s,n);if(r.includes("("))return $n(r,s,n);let i=r.match(/^([-+]?[\d.]+)(.*)$/),a=s.match(/^([-+]?[\d.]+)(.*)$/);if(i&&a){let m=parseFloat(i[1]),u=parseFloat(a[1]);return `${m+(u-m)*n}${i[2]||a[2]}`}return n<1?r:s}function Dn(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}var In=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),On=0,Jt="--scroll-draw-progress";function kn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var Kt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function en(e,t){return typeof window>"u"?Kt:t.respectReducedMotion===false?Zt(e,t,false):ze(t,(n,r)=>Zt(e,n,r))}function Zt(e,t,n){let{props:r,trigger:s={},easing:i="ease-out",speed:a=1,once:m=false,axis:u="y",scrollContainer:d,native:b=true,velocityScale:P=false,triggerElement:v,onProgress:ee,onComplete:we,onEnter:x,onLeave:ie,onEnterBack:ve,onLeaveBack:L}=t,D=typeof i=="function"?i:ue[i]??ue["ease-out"],I=be(s.start||"top bottom"),$=be(s.end||"bottom top"),M=v??e,w=typeof d=="string"?document.querySelector(d):d??null,A=Object.entries(r).map(([c,p])=>({prop:Dn(c),from:Array.isArray(p)?p[0]:"",to:Array.isArray(p)?p[1]:p}));function te(){let c=window.getComputedStyle(e);for(let p of A)p.from===""&&(p.from=c.getPropertyValue(p.prop).trim()||"0");}function j(){for(let c of A)e.style.setProperty(c.prop,String(c.to));}let me=new Map;for(let c of [...A.map(p=>p.prop),Jt])me.set(c,e.style.getPropertyValue(c));function z(){for(let[c,p]of me)p?e.style.setProperty(c,p):e.style.removeProperty(c);}if(n)return j(),we?.(),{...Kt,destroy:z,getProgress:()=>1};te();let W=()=>w?u==="x"?w.scrollLeft:w.scrollTop:u==="x"?window.scrollX:window.scrollY,fe=()=>w?u==="x"?w.clientWidth:w.clientHeight:u==="x"?window.innerWidth:window.innerHeight,Te=typeof i=="string"?at(i):null;function Ee(){if(!b||!kn()||!Te||u!=="y"||w||M!==e||m||a!==1||ee||we||x||ie||ve||L||P!==false||(s.start||"top bottom").trim()!=="top bottom"||(s.end||"bottom top").trim()!=="bottom top")return false;for(let c of A)if(!In.has(c.prop))return false;return true}function H(){let c=`ssd-a-${++On}`,p=A.map(h=>`${h.prop}:${h.from}`).join(";"),Se=A.map(h=>`${h.prop}:${h.to}`).join(";"),oe=document.createElement("style");oe.setAttribute("data-ssd-animate",""),oe.textContent=`@keyframes ${c}{from{${p}}to{${Se}}}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${Te};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(oe),e.classList.add(c);let B=()=>{let h=e.getBoundingClientRect();return Le({top:h.top,height:h.height},W(),fe(),I,$)};Ie(e,{type:"animate",getProgress:()=>_.getProgress(),getTrigger:B});let _={refresh(){},destroy(){e.classList.remove(c),oe.remove(),e.style.animationPlayState="",z(),Oe(e);},replay(){e.classList.remove(c),e.offsetWidth,e.classList.add(c);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(h){let X=Math.min(1,Math.max(0,h));e.classList.remove(c);for(let le of A)e.style.setProperty(le.prop,Xt(le.from,le.to,X));},getProgress(){let{tStart:h,tEnd:X}=B();return D(G(W(),h,X,a))}};return _}if(Ee())return H();let F=0,O=0,f=0,y=NaN,ne=false,ke=-1,q=0,U=0,Ve=false,xe=NaN,re=-1,Ae=0,ye=M===e?A:[],Me=false;function Ce(){let c=e.style,p=ye.map(_=>c.getPropertyValue(_.prop)),Se=c.transition;ye.length&&(c.transition="none"),ye.forEach(_=>c.setProperty(_.prop,me.get(_.prop)??""));let oe=ot(M,w,u);ye.forEach((_,h)=>c.setProperty(_.prop,p[h])),ye.length&&(e.offsetWidth,c.transition=Se);let B=Le(oe,oe.scroll,fe(),I,$);Me&&Math.abs(B.tStart-F)<1&&Math.abs(B.tEnd-O)<1||(Me=true,F=B.tStart,O=B.tEnd);}function he(c){e.style.setProperty(Jt,String(c));for(let p of A)e.style.setProperty(p.prop,Xt(p.from,p.to,c));ee?.(c);}function Re(c){if(isNaN(xe)){xe=c;return}xe<=0&&c>0?x?.():xe>0&&c<=0&&L?.(),xe<1&&c>=1?ie?.():xe>=1&&c<1&&ve?.(),xe=c;}let Pe=c=>G(c,F,O,Math.min(a,1));function T(){!f&&!ne&&Pe(W())!==y&&(f=requestAnimationFrame(ae));}function ae(){if(ne)return;let c=performance.now(),p=W(),Se=a;if(P!==false){let h=c-Ae,X=h>0?Math.abs(p-(re<0?p:re))/h:0;Se=a*Math.max(.2,1+X*(typeof P=="number"?P:1)*.04);}re=p,Ae=c;let oe=O===F?0:(p-F)/(O-F);Re(oe);let B=G(p,F,O,Se),_=m?Math.max(ke,D(q=Math.max(q,B))):D(B);U=_,he(_),_>=1&&!Ve?(Ve=true,we?.()):_<1&&!m&&(Ve=false),!ne&&(y=Pe(p),f=y>0&&y<1?requestAnimationFrame(ae):0);}Ce(),O===F&&Q("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),q=G(W(),F,O,a),U=D(q),he(U);function pe(){Ce(),T();}let Y;function V(){clearTimeout(Y),Y=setTimeout(pe,150);}let We=w??window;We.addEventListener("scroll",T,{passive:true}),window.addEventListener("resize",V),window.addEventListener("orientationchange",V);let Ke=_e([M],V);T(),Ie(e,{type:"animate",getProgress:()=>U,getTrigger:()=>({tStart:F,tEnd:O})});function N(){ne=true,cancelAnimationFrame(f),f=0,y=NaN;}return {destroy(){N(),We.removeEventListener("scroll",T),window.removeEventListener("resize",V),window.removeEventListener("orientationchange",V),Ke(),clearTimeout(Y),z(),Oe(e);},replay(){ke=-1,q=0,Ve=false,U=0,ne=false,he(0),y=0,T();},pause:N,resume(){ne&&(ne=false,T());},seek(c){let p=Math.min(1,Math.max(0,c));U=p,ke=p,q=0,N(),he(p);},getProgress(){return U},refresh:pe}}var Et={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function tn(e,t){if(typeof window>"u")return Et;let n=typeof e=="string"?document.querySelector(e):e;return n?ze(t,(r,s)=>Rn(n,r,s)):(Q("scrollCounter: element not found:",e),Et)}function Rn(e,t,n){let{from:r=0,to:s,format:i,easing:a="ease-out",trigger:m={},once:u=true,decimals:d,onComplete:b}=t,P=d!==void 0?f=>f.toFixed(d):i??(f=>String(Math.round(f))),v=typeof a=="function"?a:ue[a]??ue["ease-out"],ee=be(m.start||"top 80%"),we=be(m.end||"top 20%");if(n)return e.textContent=P(s),b?.(),{...Et,getProgress:()=>1};let x=0,ie=0,ve=false,L=0,D=false,I=false,$=-1,M=0,w=0,A=false,te=()=>window.scrollY,j=()=>window.innerHeight;function me(){let f=e.getBoundingClientRect(),y=Le({top:f.top,height:f.height},te(),j(),ee,we);ve&&Math.abs(y.tStart-x)<1&&Math.abs(y.tEnd-ie)<1||(ve=true,x=y.tStart,ie=y.tEnd);}let z=e.style.getPropertyValue("--scroll-draw-progress");function W(f){e.textContent=P(r+(s-r)*f),e.style.setProperty("--scroll-draw-progress",String(f));}function fe(){if(!D||I)return;let f=G(te(),x,ie,1),y=u?Math.max($,v(M=Math.max(M,f))):v(f);w=y,W(y),y>=1&&!A?(A=true,b?.()):y<1&&!u&&(A=false),L=requestAnimationFrame(fe);}me();{M=G(te(),x,ie,1);let f=v(M);w=f,W(f);}let Te=new IntersectionObserver(f=>{f.forEach(y=>{D=y.isIntersecting,D&&!I?L=requestAnimationFrame(fe):cancelAnimationFrame(L);});}),Ee;function H(){clearTimeout(Ee),Ee=setTimeout(me,150);}window.addEventListener("resize",H),window.addEventListener("orientationchange",H);let F=_e([e],H);Te.observe(e),Ie(e,{type:"counter",getProgress:()=>w,getTrigger:()=>({tStart:x,tEnd:ie})});function O(){I&&(I=false,D&&(L=requestAnimationFrame(fe)));}return {destroy(){cancelAnimationFrame(L),Te.disconnect(),window.removeEventListener("resize",H),window.removeEventListener("orientationchange",H),F(),clearTimeout(Ee),e.style.setProperty("--scroll-draw-progress",z),Oe(e);},replay(){$=-1,M=0,A=false,w=0,W(0),O();},pause(){I=true,cancelAnimationFrame(L);},resume:O,seek(f){let y=Math.min(1,Math.max(0,f));w=y,$=y,M=0,I=true,cancelAnimationFrame(L),W(y);},getProgress(){return w}}}function nn(e,t){let n=document.createElement("span");n.textContent=t,n.style.cssText="position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;user-select:none",e.appendChild(n);}function mt(e=""){let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=e,t}function on(e){let t=e.textContent??"";return e.textContent="",t.split(/(\s+)/).filter(Boolean).map(n=>{let r=e.appendChild(mt(n)),s=/^\s+$/.test(n);return s?r.style.whiteSpace="pre":r.style.display="inline-block",s?null:r}).filter(n=>n!==null)}function Hn(e){let t=e.textContent??"";e.textContent="";let n=[],r=null;for(let s of t){let i=mt(s),a=s===" ";a?i.style.whiteSpace="pre":(i.style.display="inline-block",n.push(i)),a||s>"\u0DFF"?r=null:r||(r=e.appendChild(mt()),r.style.cssText="display:inline-block;white-space:nowrap"),(r??e).appendChild(i);}return n}function rn(e){let t=on(e),n=new Map;for(let i of t){let a=i.offsetTop;n.has(a)||n.set(a,[]),n.get(a).push(i);}let r=[],s=Array.from(n.keys()).sort((i,a)=>i-a);for(let i of s){let a=n.get(i),m=mt();m.style.display="inline-block",a.forEach((u,d)=>{let b=u.nextElementSibling;m.appendChild(u),d<a.length-1&&b&&b.style.whiteSpace==="pre"&&m.appendChild(b);}),r.push(m);}return e.textContent="",r.forEach((i,a)=>{e.appendChild(i),a<r.length-1&&e.appendChild(document.createTextNode(" "));}),r}function Fn(e,t,n,r){if(n<=1||r===0)return e;r=Math.min(r,1/n);let s=(n-1)*r,i=t*r,a=i+(1-s);return a<=i?e>=i?1:0:Math.min(1,Math.max(0,(e-i)/(a-i)))}function Nn(e,t){let n=[];if(t?.y!==void 0&&n.push(`translateY(${t.y*(1-e)}px)`),t?.x!==void 0&&n.push(`translateX(${t.x*(1-e)}px)`),t?.rotate!==void 0&&n.push(`rotate(${t.rotate*(1-e)}deg)`),t?.scale!==void 0){let r=t.scale+(1-t.scale)*e;n.push(`scale(${r})`);}return n.join(" ")}var St={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function sn(e,t={}){if(typeof window>"u")return St;let n=typeof e=="string"?document.querySelector(e):e;if(!n)return Q("scrollText: element not found:",e),St;let r=n;return ze(t,(s,i)=>_n(r,s,i))}function _n(e,t,n){let{split:r="words",stagger:s=.04,easing:i="ease-out",from:a={opacity:0,y:24},trigger:m={},once:u=true,onComplete:d}=t,b=typeof i=="function"?i:ue[i]??ue["ease-out"],P=be(m.start||"top 85%"),v=be(m.end||"top 40%"),ee=e.innerHTML,we=e.textContent??"",x;r==="chars"?x=Hn(e):r==="lines"?x=rn(e):x=on(e),nn(e,we);let ie=x.length;function ve(f,y){a?.opacity!==void 0&&(f.style.opacity=String(a.opacity+(1-a.opacity)*y));let ne=Nn(y,a);ne&&(f.style.transform=ne);}function L(f){e.style.setProperty("--scroll-draw-progress",String(f)),x.forEach((y,ne)=>{let ke=b(Fn(f,ne,ie,s));ve(y,ke);});}if(n)return L(1),d?.(),{...St,destroy:()=>{e.innerHTML=ee;},getProgress:()=>1};L(0);let D=0,I=0,$=0,M=false,w=false,A=-1,te=0,j=false,me=()=>window.scrollY,z=()=>window.innerHeight;function W(){let f=e.getBoundingClientRect(),y=Le({top:f.top,height:f.height},me(),z(),P,v);D=y.tStart,I=y.tEnd;}function fe(){if(!M||w)return;let f=G(me(),D,I,1);u&&(A=Math.max(A,f),f=A),te=f,L(f),f>=1&&!j?(j=true,d?.()):f<1&&!u&&(j=false),$=requestAnimationFrame(fe);}W();let Te=new IntersectionObserver(f=>{f.forEach(y=>{M=y.isIntersecting,M&&!w?$=requestAnimationFrame(fe):cancelAnimationFrame($);});}),Ee;function H(){clearTimeout(Ee),Ee=setTimeout(()=>{if(r==="lines"){let f=te;e.innerHTML=ee,x=rn(e),nn(e,we),L(f);}W();},150);}window.addEventListener("resize",H),window.addEventListener("orientationchange",H);let F=_e([e],H);Te.observe(e),Ie(e,{type:"text",getProgress:()=>te,getTrigger:()=>({tStart:D,tEnd:I})});function O(){w&&(w=false,M&&($=requestAnimationFrame(fe)));}return {destroy(){cancelAnimationFrame($),Te.disconnect(),window.removeEventListener("resize",H),window.removeEventListener("orientationchange",H),F(),clearTimeout(Ee),e.innerHTML=ee,Oe(e);},replay(){A=-1,j=false,te=0,L(0),O();},pause(){w=true,cancelAnimationFrame($);},resume:O,seek(f){let y=Math.min(1,Math.max(0,f));te=y,A=y,w=true,cancelAnimationFrame($),L(y);},getProgress(){return te}}}function zn(e,t){let n={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return n;let r=typeof e=="string"?document.querySelector(e):e;return r?ut(r,t):(Q("Container not found:",e),n)}function Ze(){return typeof document>"u"?null:document}var Tt=new WeakMap,an;function ft(e,t,n,r){let s=Tt.get(e)??new Map;Tt.set(e,s);let i=()=>{let u=n(),d=s.get(t);d&&d.key===u||(d?.inst.destroy(),s.set(t,{inst:r(u),key:u,build:i,users:d?.users??0}));};i(),s.get(t).users++;let a=true;typeof MutationObserver<"u"&&(an??(an=new MutationObserver(u=>u.forEach(d=>Tt.get(d.target)?.forEach(b=>b.build())))),an.observe(e,{attributes:true,attributeFilter:["draw","animate","counter","text"].map(u=>`data-scroll-${u}-options`).concat("data-scroll-drawoptions")}));let m=()=>s.get(t)?.inst;return {destroy:()=>{let u=s.get(t);!a||!u||(a=false,!(--u.users>0)&&(u.inst.destroy(),s.delete(t)));},replay:()=>m()?.replay(),pause:()=>m()?.pause(),resume:()=>m()?.resume(),seek:u=>m()?.seek(u),getProgress:()=>m()?.getProgress()??0,refresh:()=>m()?.refresh?.()}}function pt(e,t){try{return e?JSON.parse(e):t}catch{return t}}function Vn(e=Ze()){return e?Array.from(e.querySelectorAll("[data-scroll-draw]")).map(t=>ft(t,"draw",()=>t.dataset.scrollDrawOptions??t.dataset.scrollDrawoptions??"",n=>ut(t,pt(n,{})))):[]}function Wn(e=Ze()){return e?Array.from(e.querySelectorAll("[data-scroll-animate]")).map(t=>ft(t,"animate",()=>t.dataset.scrollAnimateOptions??"",n=>en(t,pt(n,{props:{}})))):[]}function qn(e=Ze()){return e?Array.from(e.querySelectorAll("[data-scroll-counter]")).map(t=>ft(t,"counter",()=>t.dataset.scrollCounterOptions??"",n=>{let r=pt(n,{});return !r.to&&r.to!==0&&(Q('initScrollCounter: element missing "to" in options JSON:',t),r.to=0),typeof r.format!="function"&&r.format!==void 0&&(Q('initScrollCounter: "format" must be a function, so it cannot come from JSON; use "decimals":',t),delete r.format),tn(t,r)})):[]}function Bn(e=Ze()){return e?Array.from(e.querySelectorAll("[data-scroll-text]")).map(t=>ft(t,"text",()=>t.dataset.scrollTextOptions??"",n=>sn(t,pt(n,{})))):[]}function Jr(e=Ze()){return {draw:Vn(e),animate:Wn(e),counter:qn(e),text:Bn(e)}}exports.initAll=Jr;exports.initScrollAnimate=Wn;exports.initScrollCounter=qn;exports.initScrollDraw=Vn;exports.initScrollText=Bn;exports.scrollDraw=zn;
3
+ <div style="position:absolute;${u?`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 jt=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Qt=/[MmLlHhVvCcSsQqTtAaZz]/g;function Mr(e,t,r){if(!We)return;let n=(e.match(Qt)??[]).join("").toUpperCase(),o=(t.match(Qt)??[]).join("").toUpperCase(),i=(e.match(jt)??[]).length,a=(t.match(jt)??[]).length;if(n!==o){j(`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}i!==a&&j(`morphTo: coordinate count differs (${i} \u2192 ${a}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,r);}function Lr(e,t,r){let n=(t.match(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g)??[]).map(Number),o=0;return e.replace(/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,i=>{let a=parseFloat(i),f=n[o++]??a;return String(+(a+(f-a)*r).toFixed(4))})}function it(e,t={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:De(t,(r,n)=>Ar(e,r,n))}function Ar(e,t,r){let{preset:n,...o}=t,i=n?{...Nt[n],...o}:o,{selector:a="path, polyline, line, polygon, rect, circle",speed:f=1,fade:u=false,easing:m="linear",trigger:g={},stagger:S=0,direction:y="forward",once:H=false,debug:ie=false,axis:b="y",scrollContainer:$,autoReverse:pe=false,delay:R=0,strokeColor:x,strokeWidth:C,fillOpacity:D,waypoints:M,velocityScale:A=false,threshold:W=0,rootMargin:he="0px",repeat:ee=0,repeatDelay:te=0,morphTo:N,clip:w,autoplay:ae=false,duration:v=1e3,native:F=true,onProgress:Oe,onStart:J,onComplete:re,onEnter:be,onLeave:Ne,onEnterBack:we,onLeaveBack:de}=i,Z=w===true?"left":typeof w=="string"?w:false,Q=typeof m=="function"?m:se[m]??se.linear,Fe=me(g.start||"top bottom"),Ge=me(g.end||"bottom top"),G=typeof $=="string"?document.querySelector($):$??null,ve=Array.isArray(x)?x[0]:null,Ee=Array.isArray(x)?x[1]:typeof x=="string"?x:null,ue=Array.isArray(C)?C[0]:null,Pe=Array.isArray(C)?C[1]:typeof C=="number"?C:null,Se=Array.isArray(D)?D[0]:null,fe=Array.isArray(D)?D[1]:typeof D=="number"?D:null;function Te(s){let c=s*100;switch(Z){case "right":return `inset(0 0 0 ${100-c}%)`;case "top":return `inset(0 0 ${100-c}% 0)`;case "bottom":return `inset(${100-c}% 0 0 0)`;case "center":return `circle(${s*150}% at 50% 50%)`;default:return `inset(0 ${100-c}% 0 0)`}}let l=Z?[]:Array.from(e.querySelectorAll(a)),p=[],z=[],T=0,P=0,_=S,k=0,$e=0,B=false,xe=false,Me=0,ut=-1,Xe=[],Je=-1,le=false,ge=0,Ie=0,He,ft=false,mt=null;function vt(){mt?.destroy(),mt=null;}let Re=new Set,Et=NaN,_e=true,Ze=-1,St=performance.now(),Ve=NaN;function Ke(){return G?b==="x"?G.scrollLeft:G.scrollTop:b==="x"?window.scrollX:window.scrollY}function Tt(){return G?b==="x"?G.clientWidth:G.clientHeight:b==="x"?window.innerWidth:window.innerHeight}function xt(){let s=et(e,G,b);return ye(s,s.scroll,Tt(),Fe,Ge)}function ir(){let s=P-T,c=l.length-1,d=G??document.documentElement,E=b==="x"?"Width":"Height";if(_=S,S>0&&c>0&&s>0){let Y=d[`scroll${E}`]-d[`client${E}`]-1-T-s/f;Y>=0&&(_=Math.min(S,Y/(c*s)));}let q=Math.max(0,c)*_*s,ne=s/Math.min(f,1);k=T+Math.min(0,q,ne,q+ne),$e=T+Math.max(0,q,ne,q+ne);}function Mt(){(({tStart:T,tEnd:P}=xt())),ir(),ie&&We&&(vt(),mt=xr(T,P,b));}function pt(s,c=xt){Ae(e,{type:"draw",getProgress:()=>s.getProgress(),getTrigger:c});let d=s.destroy;return s.destroy=()=>{d.call(s),Ce(e);},s}function Lt(s,c){return H&&!pe?Math.max(ut,Q(Xe[s]=Math.max(Xe[s]??0,c))):Q(c)}function ar(s,c){if(e.style.setProperty("--scroll-draw-progress",String(s)),Z){let d=c==="reverse"?1-s:s;e.style.clipPath=Te(d);return}l.forEach((d,E)=>dt(d,E,s,c));}function dt(s,c,d,E){s.style.strokeDashoffset=E==="reverse"?`${p[c]*d}`:`${p[c]*(1-d)}`,u&&(s.style.opacity=E==="reverse"?`${1-d}`:`${d}`),ve&&Ee?s.style.stroke=rt(ve,Ee,d):Ee&&(s.style.stroke=Ee),ue!==null&&Pe!==null?s.style.strokeWidth=`${ue+(Pe-ue)*d}`:Pe!==null&&(s.style.strokeWidth=`${Pe}`),Se!==null&&fe!==null?s.style.fillOpacity=`${Se+(fe-Se)*d}`:fe!==null&&(s.style.fillOpacity=`${fe}`),N&&s.tagName.toLowerCase()==="path"&&z[c]&&s.setAttribute("d",Lr(z[c],N,d));}function gt(){if(e.style.setProperty("--scroll-draw-progress","0"),Z){e.style.clipPath=Te(y==="reverse"?1:0);return}l.forEach((s,c)=>{s.style.strokeDasharray=`${p[c]}`,s.style.strokeDashoffset=y==="reverse"?"0":`${p[c]}`,u?s.style.opacity=y==="reverse"?"1":"0":s.style.opacity="",ve&&(s.style.stroke=ve),ue!==null&&(s.style.strokeWidth=`${ue}`),Se!==null&&(s.style.fillOpacity=`${Se}`),N&&s.tagName.toLowerCase()==="path"&&z[c]&&s.setAttribute("d",z[c]);});}function ze(s,c){let d=s.getAttribute("d"),E=tt(s);if(N&&z[c]){s.setAttribute("d",N);let q=tt(s);s.setAttribute("d",z[c]),E=Math.max(tt(s),q),s.setAttribute("d",d);}p[c]=E,s.style.strokeDasharray=`${E}`;}if(l.forEach((s,c)=>{Tr(s);let d=s.tagName.toLowerCase()==="path";d?z.push(s.getAttribute("d")??""):z.push(""),ze(s,c);let E=p[c];N&&(d?Mr(z[z.length-1],N,s):j(`morphTo only applies to <path> elements \u2014 ignored on <${s.tagName}>.`,s)),r?(s.style.strokeDashoffset=y==="reverse"?`${E}`:"0",u&&(s.style.opacity="1"),Ee&&(s.style.stroke=Ee),Pe!==null&&(s.style.strokeWidth=`${Pe}`),fe!==null&&(s.style.fillOpacity=`${fe}`),N&&s.tagName.toLowerCase()==="path"&&s.setAttribute("d",N)):(s.style.strokeDashoffset=y==="reverse"?"0":`${E}`,u?s.style.opacity=y==="reverse"?"1":"0":s.style.opacity="",ve&&(s.style.stroke=ve),ue!==null&&(s.style.strokeWidth=`${ue}`),Se!==null&&(s.style.fillOpacity=`${Se}`));}),r)return Z&&(e.style.clipPath=Te(1)),re?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};Z&&(e.style.clipPath=Te(y==="reverse"?1:0));let At=typeof m=="string"?nt(m):null;function lr(){return !(F===false||ae||ie&&We||!Sr()||!l.length||!At||Z||b!=="y"||G||f!==1||S!==0||H||pe||A!==false||N||M||ee||R>0||Oe||J||re||be||Ne||we||de||x!=null||C!=null||D!=null||(g.start||"top bottom").trim()!=="top bottom"||(g.end||"bottom top").trim()!=="bottom top")}function cr(){let s=++Er,c=`svg-scroll-draw-${s}`,d=`svg-scroll-draw-host-${s}`,E=`--svg-scroll-draw-${s}`,q=y==="reverse"?"0":"var(--ssd-len)",ne=y==="reverse"?"var(--ssd-len)":"0",Y=`stroke-dashoffset:${q};`,O=`stroke-dashoffset:${ne};`;u&&(Y+=`opacity:${y==="reverse"?1:0};`,O+=`opacity:${y==="reverse"?0:1};`);let I=document.createElement("style");I.setAttribute("data-svg-scroll-draw",""),I.textContent=`@keyframes ${c}{from{${Y}}to{${O}}}.${d}{view-timeline-name:${E};view-timeline-axis:block;}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${At};animation-fill-mode:both;animation-timeline:${E};animation-range:cover 0% cover 100%;}`,document.head.appendChild(I),e.classList.add(d);function K(h,L){h.style.setProperty("--ssd-len",String(p[L])),h.style.strokeDasharray=`${p[L]}`,h.style.strokeDashoffset="",h.style.opacity="",h.style.animationPlayState="",h.classList.add(c);}l.forEach(K);let U=false,oe=-1;function ce(){if(oe>=0)return oe;let h=e.getBoundingClientRect(),{tStart:L,tEnd:X}=ye({top:h.top,height:h.height},Ke(),Tt(),Fe,Ge);return Q(V(Ke(),L,X,f))}return {destroy(){e.classList.remove(d),l.forEach(h=>{h.classList.remove(c),h.style.removeProperty("--ssd-len"),h.style.animationPlayState="";}),I.remove();},replay(){U=false,oe=-1,l.forEach(K);},pause(){U=true,l.forEach(h=>{h.style.animationPlayState="paused";});},resume(){U&&(U=false,l.forEach(h=>{h.style.animationPlayState="running";}));},seek(h){let L=Math.min(1,Math.max(0,h));oe=L,U=true,l.forEach((X,Le)=>{X.classList.remove(c),X.style.strokeDashoffset=y==="reverse"?`${p[Le]*L}`:`${p[Le]*(1-L)}`,u&&(X.style.opacity=y==="reverse"?`${1-L}`:`${L}`);});},getProgress(){return ce()},refresh(){l.forEach((h,L)=>{ze(h,L),h.style.setProperty("--ssd-len",String(p[L]));});}}}if(lr())return pt(cr());function ur(){let s=Math.max(1,v),c=Z?s:s*(1+Math.max(0,l.length-1)*S),d=0,E=0,q=false;function ne(oe){let ce=true,h=Math.min(1,Math.max(0,oe/c));if(Z){let L=Math.min(1,Math.max(0,oe/s)),X=Q(L);ge=X,e.style.setProperty("--scroll-draw-progress",String(X)),e.style.clipPath=Te(y==="reverse"?1-X:X),Oe?.(X),L<1&&(ce=false);}else {l.forEach((X,Le)=>{let mr=Le*S*s,kt=Math.min(1,Math.max(0,(oe-mr)/s));dt(X,Le,Q(kt),y),kt<1&&(ce=false);});let L=Q(h);ge=L,Oe?.(L),e.style.setProperty("--scroll-draw-progress",String(L));}if(M){let L=Q(h);for(let X in M){let Le=parseFloat(X);L>=Le&&!Re.has(Le)&&(Re.add(Le),M[X]?.());}}return ce}function Y(oe){if(le)return;let ce=oe-d;xe||(xe=true,J?.());let h=ne(ce);if(h&&!B){B=true,ne(c),re?.(),Ie<(ee==="infinite"?1/0:ee??0)&&(Ie++,He=setTimeout(()=>{d=performance.now(),xe=false,B=false,Re.clear(),gt(),Me=requestAnimationFrame(Y);},te));return}h||(Me=requestAnimationFrame(Y));}function O(){cancelAnimationFrame(Me),clearTimeout(He),d=performance.now(),E=0,le=false,xe=false,B=false,Ie=0,q=true,ge=0,Re.clear(),gt(),Me=requestAnimationFrame(Y);}let I=new IntersectionObserver(oe=>{oe.forEach(ce=>{ce.isIntersecting&&!(H&&B)?O():!ce.isIntersecting&&!H&&!B&&(cancelAnimationFrame(Me),clearTimeout(He),q=false);});},{root:G??null,threshold:W,rootMargin:he}),K;function U(){clearTimeout(K),K=setTimeout(()=>l.forEach(ze),150);}return window.addEventListener("resize",U),window.addEventListener("orientationchange",U),R>0?setTimeout(()=>I.observe(e),R):I.observe(e),{destroy(){cancelAnimationFrame(Me),clearTimeout(He),I.disconnect(),window.removeEventListener("resize",U),window.removeEventListener("orientationchange",U),clearTimeout(K);},replay(){Ie=0,O();},pause(){le||!q||(le=true,E=performance.now()-d,cancelAnimationFrame(Me));},resume(){le&&(le=false,q=true,d=performance.now()-E,Me=requestAnimationFrame(Y));},seek(oe){let ce=Math.min(1,Math.max(0,oe));ge=ce,le=true,E=ce*c,d=performance.now()-E,cancelAnimationFrame(Me),ne(E);},getProgress(){return ge},refresh(){clearTimeout(K),l.forEach(ze);}}}if(ae)return pt(ur());Mt();let Ct=()=>V(Ke(),k,$e,1);function Pt(){B=true,re?.(),Ie<(ee==="infinite"?1/0:ee)&&(Ie++,He=setTimeout(()=>{ft=true;},te));}function $t(){ut=-1,Xe=[],xe=false,B=false,ft=false,Re.clear(),gt(),_e=true;}function fr(){let s=performance.now(),c=Ke();if(ft&&Ct()%1&&$t(),!_e&&A===false&&c===Et)return;_e=false,Et=c;let d=f;if(A!==false){let O=s-St,I=O>0?Math.abs(c-(Ze<0?c:Ze))/O:0;d=f*Math.max(.2,1+I*(typeof A=="number"?A:1)*.04);}Ze=c,St=s;let E=pe?Je===-1||c>=Je?"forward":"reverse":y;Je=c;let q=P-T,ne=true,Y=q===0?0:(c-T)/q;if(isNaN(Ve)||(Ve<=0&&Y>0&&be?.(),Ve<1&&Y>=1&&Ne?.(),Ve>=1&&Y<1&&we?.(),Ve>0&&Y<=0&&de?.()),Ve=Y,Z){let O=Lt(0,V(c,T,P,d));ge=O,e.style.setProperty("--scroll-draw-progress",String(O));let I=E==="reverse"?1-O:O;e.style.clipPath=Te(I),Oe?.(O),!xe&&V(c,T,P,d)>0&&(xe=true,J?.()),O>=1&&!B?Pt():O<1&&!H&&(B=false);return}if(l.forEach((O,I)=>{let K=I*_*q,U=Lt(I,V(c,T+K,P+K,d));dt(O,I,U,E),I===0&&(ge=U,Oe?.(U),e.style.setProperty("--scroll-draw-progress",String(U))),U<1&&(ne=false);}),M){let O=Q(V(c,T,P,d));for(let I in M){let K=parseFloat(I);O>=K&&!Re.has(K)&&(Re.add(K),M[I]?.());}}!xe&&V(c,T,P,d)>0&&(xe=true,J?.()),ne&&!B?Pt():!ne&&!H&&(B=false);}let Be=ke(G??window,[e],Ct,fr,()=>{let s=p.join();l.forEach(ze),Mt(),_e=true,p.join()!==s&&qe();}),yt=R>0;function qe(){Be.hold(le||yt);}let Dt;return yt&&(Dt=setTimeout(()=>{yt=false,qe();},R)),qe(),pt({destroy(){clearTimeout(He),clearTimeout(Dt),Be.off(),vt();},replay(){$t(),Je=-1,Ze=-1,Ie=0,le=false,ge=0,clearTimeout(He),qe();},pause(){le=true,Be.hold(true);},resume(){le&&(le=false,_e=true,qe());},seek(s){let c=Math.min(1,Math.max(0,s));ge=c,ut=c,Xe=[],le=true,Be.hold(true),ar(c,y),_e=true;},getProgress(){return ge},refresh:Be.remeasure},()=>({tStart:T,tEnd:P}))}function Cr(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Yt(e){let t=[],r=/([\w]+)\(([^)]*)\)/g,n;for(;(n=r.exec(e))!==null;){let o=[],i=[],a=n[2].trim();if(a)for(let f of a.split(/[\s,]+/)){let u=f.match(/^([-+]?[\d.eE]+)(.*)$/);o.push(u?parseFloat(u[1]):0),i.push(u?u[2]:"");}t.push({fn:n[1],nums:o,units:i});}return t}function Pr(e,t,r){let n=Yt(e),o=Yt(t);return n.length===0||n.length!==o.length?r<1?e:t:n.map((i,a)=>{let f=o[a];return i.fn!==f.fn||i.nums.length!==f.nums.length?r<1?`${i.fn}(${i.nums.map((u,m)=>`${u}${i.units[m]}`).join(", ")})`:`${f.fn}(${f.nums.map((u,m)=>`${u}${f.units[m]}`).join(", ")})`:`${i.fn}(${i.nums.map((u,m)=>`${u+(f.nums[m]-u)*r}${i.units[m]}`).join(", ")})`}).join(" ")}function Ut(e,t,r){if(typeof e=="number"&&typeof t=="number")return String(e+(t-e)*r);let n=String(e),o=String(t);if(Cr(n))return rt(n,o,r);if(n.includes("("))return Pr(n,o,r);let i=n.match(/^([-+]?[\d.]+)(.*)$/),a=o.match(/^([-+]?[\d.]+)(.*)$/);if(i&&a){let f=parseFloat(i[1]),u=parseFloat(a[1]);return `${f+(u-f)*r}${i[2]||a[2]}`}return r<1?n:o}function $r(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}var Dr=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),kr=0,Xt="--scroll-draw-progress";function Or(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var Zt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Kt(e,t){return typeof window>"u"?Zt:t.respectReducedMotion===false?Jt(e,t,false):De(t,(r,n)=>Jt(e,r,n))}function Jt(e,t,r){let{props:n,trigger:o={},easing:i="ease-out",speed:a=1,once:f=false,axis:u="y",scrollContainer:m,native:g=true,velocityScale:S=false,triggerElement:y,onProgress:H,onComplete:ie,onEnter:b,onLeave:$,onEnterBack:pe,onLeaveBack:R}=t,x=typeof i=="function"?i:se[i]??se["ease-out"],C=me(o.start||"top bottom"),D=me(o.end||"bottom top"),M=y??e,A=typeof m=="string"?document.querySelector(m):m??null,W=Object.entries(n).map(([l,p])=>({prop:$r(l),from:Array.isArray(p)?p[0]:"",to:Array.isArray(p)?p[1]:p}));function he(){let l=window.getComputedStyle(e);for(let p of W)p.from===""&&(p.from=l.getPropertyValue(p.prop).trim()||"0");}function ee(){for(let l of W)e.style.setProperty(l.prop,String(l.to));}let te=new Map;for(let l of [...W.map(p=>p.prop),Xt])te.set(l,e.style.getPropertyValue(l));function N(){for(let[l,p]of te)p?e.style.setProperty(l,p):e.style.removeProperty(l);}if(r)return ee(),ie?.(),{...Zt,destroy:N,getProgress:()=>1};he();let w=()=>A?u==="x"?A.scrollLeft:A.scrollTop:u==="x"?window.scrollX:window.scrollY,ae=()=>A?u==="x"?A.clientWidth:A.clientHeight:u==="x"?window.innerWidth:window.innerHeight,v=typeof i=="string"?nt(i):null;function F(){if(!g||!Or()||!v||u!=="y"||A||M!==e||f||a!==1||H||ie||b||$||pe||R||S!==false||(o.start||"top bottom").trim()!=="top bottom"||(o.end||"bottom top").trim()!=="bottom top")return false;for(let l of W)if(!Dr.has(l.prop))return false;return true}function Oe(){let l=`ssd-a-${++kr}`,p=W.map(k=>`${k.prop}:${k.from}`).join(";"),z=W.map(k=>`${k.prop}:${k.to}`).join(";"),T=document.createElement("style");T.setAttribute("data-ssd-animate",""),T.textContent=`@keyframes ${l}{from{${p}}to{${z}}}.${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(T),e.classList.add(l);let P=()=>{let k=e.getBoundingClientRect();return ye({top:k.top,height:k.height},w(),ae(),C,D)};Ae(e,{type:"animate",getProgress:()=>_.getProgress(),getTrigger:P});let _={refresh(){},destroy(){e.classList.remove(l),T.remove(),e.style.animationPlayState="",N(),Ce(e);},replay(){e.classList.remove(l),e.offsetWidth,e.classList.add(l);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(k){let $e=Math.min(1,Math.max(0,k));e.classList.remove(l);for(let B of W)e.style.setProperty(B.prop,Ut(B.from,B.to,$e));},getProgress(){let{tStart:k,tEnd:$e}=P();return x(V(w(),k,$e,a))}};return _}if(F())return Oe();let J=0,re=0,be=false,Ne=-1,we=0,de=0,Z=false,Q=NaN,Fe=-1,Ge=0,G=M===e?W:[],ve=false;function Ee(){let l=e.style,p=G.map(_=>l.getPropertyValue(_.prop)),z=l.transition;G.length&&(l.transition="none"),G.forEach(_=>l.setProperty(_.prop,te.get(_.prop)??""));let T=et(M,A,u);G.forEach((_,k)=>l.setProperty(_.prop,p[k])),G.length&&(e.offsetWidth,l.transition=z);let P=ye(T,T.scroll,ae(),C,D);ve&&Math.abs(P.tStart-J)<1&&Math.abs(P.tEnd-re)<1||(ve=true,J=P.tStart,re=P.tEnd);}function ue(l){e.style.setProperty(Xt,String(l));for(let p of W)e.style.setProperty(p.prop,Ut(p.from,p.to,l));H?.(l);}function Pe(l){if(isNaN(Q)){Q=l;return}Q<=0&&l>0&&b?.(),Q<1&&l>=1&&$?.(),Q>=1&&l<1&&pe?.(),Q>0&&l<=0&&R?.(),Q=l;}function Se(){if(be)return;let l=performance.now(),p=w(),z=a;if(S!==false){let k=l-Ge,$e=k>0?Math.abs(p-(Fe<0?p:Fe))/k:0;z=a*Math.max(.2,1+$e*(typeof S=="number"?S:1)*.04);}Fe=p,Ge=l;let T=re===J?0:(p-J)/(re-J);Pe(T);let P=V(p,J,re,z),_=f?Math.max(Ne,x(we=Math.max(we,P))):x(P);de=_,ue(_),_>=1&&!Z?(Z=true,ie?.()):_<1&&!f&&(Z=false);}let fe=ke(A??window,[M],()=>V(w(),J,re,Math.min(a,1)),Se,Ee);Ee(),re===J&&j("scrollAnimate: zero-length trigger window, so it never animates. In a sticky stage, set triggerElement.",e),we=V(w(),J,re,a),de=x(we),ue(de),Ae(e,{type:"animate",getProgress:()=>de,getTrigger:()=>({tStart:J,tEnd:re})});function Te(){be=true,fe.hold(true);}return {destroy(){be=true,fe.off(),N(),Ce(e);},replay(){Ne=-1,we=0,Z=false,de=0,be=false,ue(0),fe.hold(false);},pause:Te,resume(){be&&(be=false,fe.hold(false));},seek(l){let p=Math.min(1,Math.max(0,l));de=p,Ne=p,we=0,Te(),ue(p);},getProgress(){return de},refresh:fe.remeasure}}var ht={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function er(e,t){if(typeof window>"u")return ht;let r=typeof e=="string"?document.querySelector(e):e;return r?De(t,(n,o)=>Ir(r,n,o)):(j("scrollCounter: element not found:",e),ht)}function Ir(e,t,r){let{from:n=0,to:o,format:i,easing:a="ease-out",trigger:f={},once:u=true,decimals:m,onComplete:g}=t,S=m!==void 0?v=>v.toFixed(m):i??(v=>String(Math.round(v))),y=typeof a=="function"?a:se[a]??se["ease-out"],H=me(f.start||"top 80%"),ie=me(f.end||"top 20%");if(r)return e.textContent=S(o),g?.(),{...ht,getProgress:()=>1};let b=0,$=0,pe=false,R=-1,x=0,C=0,D=false,M=()=>window.scrollY,A=()=>window.innerHeight;function W(){let v=e.getBoundingClientRect(),F=ye({top:v.top,height:v.height},M(),A(),H,ie);pe&&Math.abs(F.tStart-b)<1&&Math.abs(F.tEnd-$)<1||(pe=true,b=F.tStart,$=F.tEnd);}let he=e.style.getPropertyValue("--scroll-draw-progress");function ee(v){e.textContent=S(n+(o-n)*v),e.style.setProperty("--scroll-draw-progress",String(v));}let te=()=>V(M(),b,$,1);function N(){let v=te(),F=u?Math.max(R,y(x=Math.max(x,v))):y(v);C=F,ee(F),F>=1&&!D?(D=true,g?.()):F<1&&!u&&(D=false);}W();{x=V(M(),b,$,1);let v=y(x);C=v,ee(v);}let w=ke(window,[e],te,N,W);Ae(e,{type:"counter",getProgress:()=>C,getTrigger:()=>({tStart:b,tEnd:$})});let ae=()=>w.hold(false);return {destroy(){w.off(),e.style.setProperty("--scroll-draw-progress",he),Ce(e);},replay(){R=-1,x=0,D=false,C=0,ee(0),ae();},pause:()=>w.hold(true),resume:ae,seek(v){let F=Math.min(1,Math.max(0,v));C=F,R=F,x=0,w.hold(true),ee(F);},getProgress(){return C}}}function tr(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 at(e=""){let t=document.createElement("span");return t.setAttribute("aria-hidden","true"),t.textContent=e,t}function nr(e){let t=e.textContent??"";return e.textContent="",t.split(/(\s+)/).filter(Boolean).map(r=>{let n=e.appendChild(at(r)),o=/^\s+$/.test(r);return o?n.style.whiteSpace="pre":n.style.display="inline-block",o?null:n}).filter(r=>r!==null)}function Hr(e){let t=e.textContent??"";e.textContent="";let r=[],n=null;for(let o of t){let i=at(o),a=o===" ";a?i.style.whiteSpace="pre":(i.style.display="inline-block",r.push(i)),a||o>"\u0DFF"?n=null:n||(n=e.appendChild(at()),n.style.cssText="display:inline-block;white-space:nowrap"),(n??e).appendChild(i);}return r}function rr(e){let t=nr(e),r=new Map;for(let i of t){let a=i.offsetTop;r.has(a)||r.set(a,[]),r.get(a).push(i);}let n=[],o=Array.from(r.keys()).sort((i,a)=>i-a);for(let i of o){let a=r.get(i),f=at();f.style.display="inline-block",a.forEach((u,m)=>{let g=u.nextElementSibling;f.appendChild(u),m<a.length-1&&g&&g.style.whiteSpace==="pre"&&f.appendChild(g);}),n.push(f);}return e.textContent="",n.forEach((i,a)=>{e.appendChild(i),a<n.length-1&&e.appendChild(document.createTextNode(" "));}),n}function Rr(e,t,r,n){if(r<=1||n===0)return e;n=Math.min(n,1/r);let o=(r-1)*n,i=t*n,a=i+(1-o);return a<=i?e>=i?1:0:je((e-i)/(a-i),0,1)}function Nr(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 bt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function or(e,t={}){if(typeof window>"u")return bt;let r=typeof e=="string"?document.querySelector(e):e;if(!r)return j("scrollText: element not found:",e),bt;let n=r;return De(t,(o,i)=>Fr(n,o,i))}function Fr(e,t,r){let{split:n="words",stagger:o=.04,easing:i="ease-out",from:a={opacity:0,y:24},trigger:f={},once:u=true,onComplete:m}=t,g=typeof i=="function"?i:se[i]??se["ease-out"],S=me(f.start||"top 85%"),y=me(f.end||"top 40%"),H=e.innerHTML,ie=e.textContent??"",b;n==="chars"?b=Hr(e):n==="lines"?b=rr(e):b=nr(e),tr(e,ie);let $=b.length;function pe(w,ae){a?.opacity!==void 0&&(w.style.opacity=String(a.opacity+(1-a.opacity)*ae));let v=Nr(ae,a);v&&(w.style.transform=v);}function R(w){e.style.setProperty("--scroll-draw-progress",String(w)),b.forEach((ae,v)=>{let F=g(Rr(w,v,$,o));pe(ae,F);});}if(r)return R(1),m?.(),{...bt,destroy:()=>{e.innerHTML=H;},getProgress:()=>1};R(0);let x=0,C=0,D=-1,M=0,A=false;function W(){({tStart:x,tEnd:C}=ye(e.getBoundingClientRect(),window.scrollY,window.innerHeight,S,y));}let he=()=>V(window.scrollY,x,C,1);function ee(){let w=u?D=Math.max(D,he()):he();M=w,R(w),w>=1&&!A?(A=true,m?.()):w<1&&!u&&(A=false);}W();let te=ke(window,[e],he,ee,()=>{n==="lines"&&(e.innerHTML=H,b=rr(e),tr(e,ie),R(M)),W();});Ae(e,{type:"text",getProgress:()=>M,getTrigger:()=>({tStart:x,tEnd:C})});let N=()=>te.hold(false);return {destroy(){te.off(),e.innerHTML=H,Ce(e);},replay(){D=-1,A=false,M=0,R(0),N();},pause:()=>te.hold(true),resume:N,seek(w){te.hold(true),R(M=D=je(w,0,1));},getProgress(){return M}}}function _r(e,t){let r={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};if(typeof window>"u")return r;let n=typeof e=="string"?document.querySelector(e):e;return n?it(n,t):(j("Container not found:",e),r)}function Ue(){return typeof document>"u"?null:document}var wt=new WeakMap,sr;function lt(e,t,r,n){let o=wt.get(e)??new Map;wt.set(e,o);let i=()=>{let u=r(),m=o.get(t);m&&m.key===u||(m?.inst.destroy(),o.set(t,{inst:n(u),key:u,build:i,users:m?.users??0}));};i(),o.get(t).users++;let a=true;typeof MutationObserver<"u"&&(sr??(sr=new MutationObserver(u=>u.forEach(m=>wt.get(m.target)?.forEach(g=>g.build())))),sr.observe(e,{attributes:true,attributeFilter:["draw","animate","counter","text"].map(u=>`data-scroll-${u}-options`).concat("data-scroll-drawoptions")}));let f=()=>o.get(t)?.inst;return {destroy:()=>{let u=o.get(t);!a||!u||(a=false,!(--u.users>0)&&(u.inst.destroy(),o.delete(t)));},replay:()=>f()?.replay(),pause:()=>f()?.pause(),resume:()=>f()?.resume(),seek:u=>f()?.seek(u),getProgress:()=>f()?.getProgress()??0,refresh:()=>f()?.refresh?.()}}function ct(e,t){try{return e?JSON.parse(e):t}catch{return t}}function Vr(e=Ue()){return e?Array.from(e.querySelectorAll("[data-scroll-draw]")).map(t=>lt(t,"draw",()=>t.dataset.scrollDrawOptions??t.dataset.scrollDrawoptions??"",r=>it(t,ct(r,{})))):[]}function Wr(e=Ue()){return e?Array.from(e.querySelectorAll("[data-scroll-animate]")).map(t=>lt(t,"animate",()=>t.dataset.scrollAnimateOptions??"",r=>Kt(t,ct(r,{props:{}})))):[]}function Gr(e=Ue()){return e?Array.from(e.querySelectorAll("[data-scroll-counter]")).map(t=>lt(t,"counter",()=>t.dataset.scrollCounterOptions??"",r=>{let n=ct(r,{});return !n.to&&n.to!==0&&(j('initScrollCounter: element missing "to" in options JSON:',t),n.to=0),typeof n.format!="function"&&n.format!==void 0&&(j('initScrollCounter: "format" must be a function, so it cannot come from JSON; use "decimals":',t),delete n.format),er(t,n)})):[]}function zr(e=Ue()){return e?Array.from(e.querySelectorAll("[data-scroll-text]")).map(t=>lt(t,"text",()=>t.dataset.scrollTextOptions??"",r=>or(t,ct(r,{})))):[]}function eo(e=Ue()){return {draw:Vr(e),animate:Wr(e),counter:Gr(e),text:zr(e)}}exports.initAll=eo;exports.initScrollAnimate=Wr;exports.initScrollCounter=Gr;exports.initScrollDraw=Vr;exports.initScrollText=zr;exports.scrollDraw=_r;
@@ -1,6 +1,6 @@
1
- import { S as ScrollDrawInstance } from '../types-MswK0erX.mjs';
2
- export { a as ScrollDrawOptions } from '../types-MswK0erX.mjs';
3
- export { s as scrollDraw } from '../scroll-draw-Dej-GIRP.mjs';
1
+ import { S as ScrollDrawInstance } from '../types-9bcJdVcg.mjs';
2
+ export { a as ScrollDrawOptions } from '../types-9bcJdVcg.mjs';
3
+ export { s as scrollDraw } from '../scroll-draw-Fzir8hlU.mjs';
4
4
 
5
5
  /**
6
6
  * Auto-initialises all elements with a [data-scroll-draw] attribute on the page.
@@ -1,6 +1,6 @@
1
- import { S as ScrollDrawInstance } from '../types-MswK0erX.js';
2
- export { a as ScrollDrawOptions } from '../types-MswK0erX.js';
3
- export { s as scrollDraw } from '../scroll-draw-DsBMkwrX.js';
1
+ import { S as ScrollDrawInstance } from '../types-9bcJdVcg.js';
2
+ export { a as ScrollDrawOptions } from '../types-9bcJdVcg.js';
3
+ export { s as scrollDraw } from '../scroll-draw-BsU_Ohmu.js';
4
4
 
5
5
  /**
6
6
  * Auto-initialises all elements with a [data-scroll-draw] attribute on the page.
@@ -1 +1 @@
1
- export{a as scrollDraw}from'../chunk-DSFD227B.mjs';import {a as a$2}from'../chunk-NLPSVYFP.mjs';import {a as a$1}from'../chunk-I73SOXBN.mjs';import {a}from'../chunk-OPXWNJBG.mjs';import {b}from'../chunk-6TWFLRUB.mjs';import'../chunk-OJFWQ6CU.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-XC5NR2MU.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-A4JCC3QQ.mjs';import'../chunk-DM6EDKWH.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-BCV4RAIX.mjs';import {b as b$1}from'../chunk-LFSU6LR3.mjs';function i(){return typeof document>"u"?null:document}var p=new WeakMap,g;function c(r,t,n,o){let l=p.get(r)??new Map;p.set(r,l);let f=()=>{let e=n(),s=l.get(t);s&&s.key===e||(s?.inst.destroy(),l.set(t,{inst:o(e),key:e,build:f,users:s?.users??0}));};f(),l.get(t).users++;let S=true;typeof MutationObserver<"u"&&(g??(g=new MutationObserver(e=>e.forEach(s=>p.get(s.target)?.forEach(O=>O.build())))),g.observe(r,{attributes:true,attributeFilter:["draw","animate","counter","text"].map(e=>`data-scroll-${e}-options`).concat("data-scroll-drawoptions")}));let a=()=>l.get(t)?.inst;return {destroy:()=>{let e=l.get(t);!S||!e||(S=false,!(--e.users>0)&&(e.inst.destroy(),l.delete(t)));},replay:()=>a()?.replay(),pause:()=>a()?.pause(),resume:()=>a()?.resume(),seek:e=>a()?.seek(e),getProgress:()=>a()?.getProgress()??0,refresh:()=>a()?.refresh?.()}}function u(r,t){try{return r?JSON.parse(r):t}catch{return t}}function E(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-draw]")).map(t=>c(t,"draw",()=>t.dataset.scrollDrawOptions??t.dataset.scrollDrawoptions??"",n=>b(t,u(n,{})))):[]}function A(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-animate]")).map(t=>c(t,"animate",()=>t.dataset.scrollAnimateOptions??"",n=>a(t,u(n,{props:{}})))):[]}function I(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-counter]")).map(t=>c(t,"counter",()=>t.dataset.scrollCounterOptions??"",n=>{let o=u(n,{});return !o.to&&o.to!==0&&(b$1('initScrollCounter: element missing "to" in options JSON:',t),o.to=0),typeof o.format!="function"&&o.format!==void 0&&(b$1('initScrollCounter: "format" must be a function, so it cannot come from JSON; use "decimals":',t),delete o.format),a$1(t,o)})):[]}function M(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-text]")).map(t=>c(t,"text",()=>t.dataset.scrollTextOptions??"",n=>a$2(t,u(n,{})))):[]}function H(r=i()){return {draw:E(r),animate:A(r),counter:I(r),text:M(r)}}export{H as initAll,A as initScrollAnimate,I as initScrollCounter,E as initScrollDraw,M as initScrollText};
1
+ export{a as scrollDraw}from'../chunk-22B37AWY.mjs';import {a as a$2}from'../chunk-XNM3VKEK.mjs';import {a as a$1}from'../chunk-PAGN26EH.mjs';import {a}from'../chunk-VJ5ZU55P.mjs';import {b}from'../chunk-K6VATIJH.mjs';import'../chunk-V3Z6G5JE.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-XC5NR2MU.mjs';import'../chunk-2PYLM3E7.mjs';import'../chunk-NV6YTPHI.mjs';import'../chunk-THPTANES.mjs';import'../chunk-5PJEKEEP.mjs';import'../chunk-4DOJSIEQ.mjs';import'../chunk-BCV4RAIX.mjs';import {b as b$1}from'../chunk-LFSU6LR3.mjs';function i(){return typeof document>"u"?null:document}var p=new WeakMap,g;function c(r,t,n,o){let l=p.get(r)??new Map;p.set(r,l);let f=()=>{let e=n(),s=l.get(t);s&&s.key===e||(s?.inst.destroy(),l.set(t,{inst:o(e),key:e,build:f,users:s?.users??0}));};f(),l.get(t).users++;let S=true;typeof MutationObserver<"u"&&(g??(g=new MutationObserver(e=>e.forEach(s=>p.get(s.target)?.forEach(O=>O.build())))),g.observe(r,{attributes:true,attributeFilter:["draw","animate","counter","text"].map(e=>`data-scroll-${e}-options`).concat("data-scroll-drawoptions")}));let a=()=>l.get(t)?.inst;return {destroy:()=>{let e=l.get(t);!S||!e||(S=false,!(--e.users>0)&&(e.inst.destroy(),l.delete(t)));},replay:()=>a()?.replay(),pause:()=>a()?.pause(),resume:()=>a()?.resume(),seek:e=>a()?.seek(e),getProgress:()=>a()?.getProgress()??0,refresh:()=>a()?.refresh?.()}}function u(r,t){try{return r?JSON.parse(r):t}catch{return t}}function E(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-draw]")).map(t=>c(t,"draw",()=>t.dataset.scrollDrawOptions??t.dataset.scrollDrawoptions??"",n=>b(t,u(n,{})))):[]}function A(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-animate]")).map(t=>c(t,"animate",()=>t.dataset.scrollAnimateOptions??"",n=>a(t,u(n,{props:{}})))):[]}function I(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-counter]")).map(t=>c(t,"counter",()=>t.dataset.scrollCounterOptions??"",n=>{let o=u(n,{});return !o.to&&o.to!==0&&(b$1('initScrollCounter: element missing "to" in options JSON:',t),o.to=0),typeof o.format!="function"&&o.format!==void 0&&(b$1('initScrollCounter: "format" must be a function, so it cannot come from JSON; use "decimals":',t),delete o.format),a$1(t,o)})):[]}function M(r=i()){return r?Array.from(r.querySelectorAll("[data-scroll-text]")).map(t=>c(t,"text",()=>t.dataset.scrollTextOptions??"",n=>a$2(t,u(n,{})))):[]}function H(r=i()){return {draw:E(r),animate:A(r),counter:I(r),text:M(r)}}export{H as initAll,A as initScrollAnimate,I as initScrollCounter,E as initScrollDraw,M as initScrollText};