svg-scroll-draw 2.23.3 → 2.23.5

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 (103) hide show
  1. package/README.md +12 -12
  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 +3 -3
  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 +222 -292
  11. package/dist/cdn/svg-scroll-draw.global.js +2 -2
  12. package/dist/{chunk-BLY6F6EC.mjs → chunk-22B37AWY.mjs} +1 -1
  13. package/dist/{chunk-YNNA33A5.mjs → chunk-BSW7W2Y5.mjs} +1 -1
  14. package/dist/{chunk-ETACBG7W.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-4I7MLTP5.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-XC5NR2MU.mjs +1 -0
  24. package/dist/chunk-XNM3VKEK.mjs +1 -0
  25. package/dist/cinematic/index.cjs +2 -2
  26. package/dist/cinematic/index.mjs +1 -1
  27. package/dist/{engine-B7UpB4fT.d.ts → engine-6VsjEwzb.d.ts} +1 -1
  28. package/dist/{engine-o1VSQ1lX.d.mts → engine-BLWKCfxC.d.mts} +1 -1
  29. package/dist/group/index.cjs +2 -2
  30. package/dist/group/index.d.mts +3 -3
  31. package/dist/group/index.d.ts +3 -3
  32. package/dist/group/index.mjs +1 -1
  33. package/dist/horizontal/index.cjs +1 -1
  34. package/dist/horizontal/index.d.mts +11 -8
  35. package/dist/horizontal/index.d.ts +11 -8
  36. package/dist/horizontal/index.mjs +1 -1
  37. package/dist/{index-D3o4vT3e.d.ts → index-BN8yKeQ3.d.ts} +1 -1
  38. package/dist/{index-BY-CNE8c.d.mts → index-DAiRJgtF.d.mts} +2 -2
  39. package/dist/{index-CdaBYn3A.d.mts → index-DVjblK_4.d.mts} +1 -1
  40. package/dist/{index-DqXXiDIk.d.ts → index-hSQqLVbg.d.ts} +2 -2
  41. package/dist/index.cjs +3 -3
  42. package/dist/index.d.mts +6 -6
  43. package/dist/index.d.ts +6 -6
  44. package/dist/index.mjs +1 -1
  45. package/dist/nuxt/index.cjs +3 -3
  46. package/dist/nuxt/index.d.mts +3 -3
  47. package/dist/nuxt/index.d.ts +3 -3
  48. package/dist/nuxt/index.mjs +1 -1
  49. package/dist/progress/index.cjs +1 -1
  50. package/dist/progress/index.d.mts +1 -1
  51. package/dist/progress/index.d.ts +1 -1
  52. package/dist/progress/index.mjs +1 -1
  53. package/dist/react/index.cjs +2 -2
  54. package/dist/react/index.d.mts +6 -4
  55. package/dist/react/index.d.ts +6 -4
  56. package/dist/react/index.mjs +1 -1
  57. package/dist/reveal/index.cjs +1 -1
  58. package/dist/reveal/index.d.mts +10 -4
  59. package/dist/reveal/index.d.ts +10 -4
  60. package/dist/reveal/index.mjs +1 -1
  61. package/dist/{scroll-draw-DsBMkwrX.d.ts → scroll-draw-BsU_Ohmu.d.ts} +1 -1
  62. package/dist/{scroll-draw-Dej-GIRP.d.mts → scroll-draw-Fzir8hlU.d.mts} +1 -1
  63. package/dist/snap/index.cjs +1 -1
  64. package/dist/snap/index.d.mts +1 -1
  65. package/dist/snap/index.d.ts +1 -1
  66. package/dist/snap/index.mjs +1 -1
  67. package/dist/solid/index.cjs +2 -2
  68. package/dist/solid/index.d.mts +3 -3
  69. package/dist/solid/index.d.ts +3 -3
  70. package/dist/solid/index.mjs +1 -1
  71. package/dist/svelte/index.cjs +2 -2
  72. package/dist/svelte/index.d.mts +3 -3
  73. package/dist/svelte/index.d.ts +3 -3
  74. package/dist/svelte/index.mjs +1 -1
  75. package/dist/text/index.cjs +1 -1
  76. package/dist/text/index.d.mts +1 -1
  77. package/dist/text/index.d.ts +1 -1
  78. package/dist/text/index.mjs +1 -1
  79. package/dist/timeline/index.cjs +9 -9
  80. package/dist/timeline/index.d.mts +1 -1
  81. package/dist/timeline/index.d.ts +1 -1
  82. package/dist/timeline/index.mjs +8 -8
  83. package/dist/{types-MswK0erX.d.mts → types-9bcJdVcg.d.mts} +6 -2
  84. package/dist/{types-MswK0erX.d.ts → types-9bcJdVcg.d.ts} +6 -2
  85. package/dist/video/index.cjs +1 -1
  86. package/dist/video/index.d.mts +1 -1
  87. package/dist/video/index.d.ts +1 -1
  88. package/dist/video/index.mjs +1 -1
  89. package/dist/vue/index.cjs +3 -3
  90. package/dist/vue/index.d.mts +3 -3
  91. package/dist/vue/index.d.ts +3 -3
  92. package/dist/vue/index.mjs +1 -1
  93. package/dist/web-component/index.cjs +3 -3
  94. package/dist/web-component/index.mjs +1 -1
  95. package/package.json +1 -1
  96. package/dist/chunk-23EALNDF.mjs +0 -3
  97. package/dist/chunk-4H2SGMAQ.mjs +0 -1
  98. package/dist/chunk-A4JCC3QQ.mjs +0 -1
  99. package/dist/chunk-DM6EDKWH.mjs +0 -1
  100. package/dist/chunk-GMBIGV3M.mjs +0 -1
  101. package/dist/chunk-LGJQWZHH.mjs +0 -1
  102. package/dist/chunk-V4L3ELVC.mjs +0 -1
  103. package/dist/chunk-YZV4Z3EQ.mjs +0 -1
package/README.md CHANGED
@@ -32,7 +32,7 @@
32
32
  | `scrollParallax` | `svg-scroll-draw` | Move any element at a different rate than scroll. Speed multiplier, reverse direction. |
33
33
  | `scrollDraw` | `svg-scroll-draw` | The original — scroll-driven SVG path drawing via `stroke-dashoffset`. |
34
34
  | `scrollVideo` | `svg-scroll-draw/video` | Tie `<video>.currentTime` to scroll. The Apple/Stripe product-page pattern. |
35
- | `scrollText` | `svg-scroll-draw/text` | Split text into chars/words/lines and stagger-animate each on scroll. 3.4 KB, nothing else to load. |
35
+ | `scrollText` | `svg-scroll-draw/text` | Split text into chars/words/lines and stagger-animate each on scroll. 3.5 KB, nothing else to load. |
36
36
  | `devtools` | `svg-scroll-draw/devtools` | Visual overlay showing every active animation's triggers and progress. Dev-only. |
37
37
  | `AOS` | `svg-scroll-draw/aos` | Drop-in replacement for AOS: same `AOS.init()`, same `data-aos` markup, no `aos.css`. |
38
38
  | `ScrollReveal` | `svg-scroll-draw/scrollreveal` | Drop-in replacement for ScrollReveal.js 4, MIT instead of GPL-3.0. |
@@ -211,7 +211,7 @@ scrollVideo('#product-reveal', {
211
211
  ```tsx
212
212
  import { ScrollVideo } from 'svg-scroll-draw/react';
213
213
 
214
- <ScrollVideo src="/hero.mp4" trigger={{ start: 'top top', end: 'bottom top' }} />
214
+ <ScrollVideo src="/hero.mp4" poster="/hero.jpg" trigger={{ start: 'top top', end: 'bottom top' }} />
215
215
  ```
216
216
 
217
217
  #### scrollVideo options
@@ -223,7 +223,7 @@ import { ScrollVideo } from 'svg-scroll-draw/react';
223
223
  | `trigger` | `TriggerConfig` | `{ start: 'top top', end: 'bottom top' }` | — |
224
224
  | `easing` | `string \| fn` | `"linear"` | — |
225
225
  | `once` | `boolean` | `false` | — |
226
- | `preload` | `"auto" \| "metadata"` | `"auto"` | Sets `preload` attribute if not already present |
226
+ | `preload` | `"auto" \| "metadata"` | `"auto"` | Sets `preload` attribute if not already present. The React `<ScrollVideo>` renders it from this option (2.23.4), and passes `poster` through to the `<video>` |
227
227
  | `triggerElement` | `Element` | the video | Measure the trigger window from this element — the tall track behind a `position: sticky` stage, so a pinned film scrubs the length of the pin (2.18.0) |
228
228
  | `onReady` | `() => void` | — | Fires when video metadata is loaded |
229
229
  | `onProgress` | `(n: number) => void` | — | — |
@@ -233,7 +233,7 @@ import { ScrollVideo } from 'svg-scroll-draw/react';
233
233
 
234
234
  ## scrollText — text reveal on scroll
235
235
 
236
- A 2.5 KB alternative to GSAP SplitText. SplitText is free and 3.6 KB, but it only splits — animating the pieces needs GSAP core (27.7 KB) on top.
236
+ A 3.5 KB alternative to GSAP SplitText. SplitText is free and 3.6 KB, but it only splits — animating the pieces needs GSAP core (27.7 KB) on top.
237
237
 
238
238
  ```js
239
239
  import { scrollText } from 'svg-scroll-draw/text';
@@ -437,7 +437,7 @@ Differences, on purpose:
437
437
  On [ScrollReveal](https://scrollrevealjs.org)? It is GPL-3.0 (with a paid licence for commercial work)
438
438
  and has not shipped since 4.0.9. `svg-scroll-draw/scrollreveal` is an independent, MIT-licensed
439
439
  implementation of the same API, so the move is an import change — or one command: `npx svg-scroll-draw migrate`.
440
- 4.5 KB gzipped, against 5.6 KB.
440
+ 4.7 KB gzipped, against 5.6 KB.
441
441
 
442
442
  ```diff
443
443
  - import ScrollReveal from 'scrollreveal';
@@ -634,16 +634,16 @@ devtools.highlight('#my-element'); // outline for 2 seconds
634
634
  <!-- size-table:start -->
635
635
  | Entry | Gzipped |
636
636
  |---|---|
637
- | `svg-scroll-draw` (main, every core API) | 11.6 KB |
638
- | `svg-scroll-draw/react` (includes the engine) | 13.1 KB |
639
- | `svg-scroll-draw` + `svg-scroll-draw/react` (together; the engine ships once) | 14.7 KB |
640
- | `svg-scroll-draw/reveal` | 5.8 KB |
641
- | `svg-scroll-draw/text` | 3.4 KB |
642
- | `svg-scroll-draw/video` | 2.8 KB |
637
+ | `svg-scroll-draw` (main, every core API) | 11.4 KB |
638
+ | `svg-scroll-draw/react` (includes the engine) | 12.8 KB |
639
+ | `svg-scroll-draw` + `svg-scroll-draw/react` (together; the engine ships once) | 14.3 KB |
640
+ | `svg-scroll-draw/reveal` | 5.7 KB |
641
+ | `svg-scroll-draw/text` | 3.5 KB |
642
+ | `svg-scroll-draw/video` | 2.9 KB |
643
643
  | `svg-scroll-draw/scrollreveal` | 4.7 KB |
644
644
  | `svg-scroll-draw/vivus` | 4.2 KB |
645
645
  | `svg-scroll-draw/aos` (styles included) | 3.2 KB |
646
- | `svg-scroll-draw/snap` | 1.9 KB |
646
+ | `svg-scroll-draw/snap` | 2.0 KB |
647
647
  | `svg-scroll-draw/devtools` | 1.8 KB (dev only) |
648
648
  | `svg-scroll-draw/pin` | 1.6 KB |
649
649
  <!-- size-table:end -->
@@ -1,3 +1,3 @@
1
- 'use strict';function wn({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,l=[];for(let d=0;d<t;d++){let v=Math.pow(s,d);l.push(v),i+=v;}let m=[0],f=0;for(let d=0;d<t;d++)f+=l[d]/i,m.push(f);return d=>{if(d<=0)return 0;if(d>=1)return 1;for(let v=0;v<t;v++)if(d<=m[v+1]){let I=(d-m[v])/(m[v+1]-m[v]);if(v===0)return I*(2-I);let E=1-Math.pow(r,v);return E+(1-E)*(2*I-1)*(2*I-1)}return 1}}function vn({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 ne={linear:e=>e,"ease-in":e=>e*e,"ease-out":e=>e*(2-e),"ease-in-out":e=>e<.5?2*e*e:-1+(4-2*e)*e,spring:e=>1-Math.cos(e*Math.PI*2.5)*Math.pow(1-e,2.2),bounce:wn(),elastic:vn()};function $t(e,n,t){return Math.min(t,Math.max(n,e))}function fe(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 kt(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 Ot(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 ee(e,n,t,r){return t===n?0:$t((e-n)/(t-n)*r,0,1)}function Te(e,n,t,r,s){let i=kt(e.top,e.height,n,r.element)-Ot(r.viewport,t),l=kt(e.top,e.height,n,s.element)-Ot(s.viewport,t);return {tStart:i,tEnd:l}}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 je(e){let n=e.tagName.toLowerCase();if(n==="rect"){let t=parseFloat(e.getAttribute("width")??"0"),r=parseFloat(e.getAttribute("height")??"0");return 2*(t+r)}if(n==="circle"){let t=parseFloat(e.getAttribute("r")??"0");return 2*Math.PI*t}return e.getTotalLength()}function It(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 st(e,n,t){let r=It(e),s=It(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 Ft={sketch:{easing:"ease-in",stagger:.1,speed:.9,fade:false},reveal:{easing:"ease-out",fade:true,speed:1.2,once:true},typewriter:{easing:"linear",stagger:.05,speed:1.5},cinematic:{easing:"ease-in-out",fade:true,speed:.75},spring:{easing:"spring",speed:1.1}};var Xe=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function pe(e,...n){Xe&&console.warn(`[svg-scroll-draw] ${e}`,...n);}var En="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",Sn="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Rt=33;function Tn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function xn(e){let n=[];for(let t=0;t<Rt;t++){let r=t/(Rt-1);n.push(String(Math.round(e(r)*1e5)/1e5));}return `linear(${n.join(",")})`}function it(e){switch(e){case "linear":return "linear";case "ease-in":return En;case "ease-out":return Sn;case "ease-in-out":return Tn()?xn(ne["ease-in-out"]):null;default:return null}}var Dt=Symbol.for("svg-scroll-draw.registry");function Ht(){let e=globalThis;return e[Dt]||(e[Dt]=new Map)}function Le(e,n){Ht().set(e,n);}function Ae(e){Ht().delete(e);}var Ke,at=new Set,lt=new WeakMap,Ze=new Map,Nt=e=>{let n=e.getBoundingClientRect();return n.width+" "+n.height};function Mn(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 Ie(e,n){if(typeof ResizeObserver>"u"||typeof document>"u")return ()=>{};let t=()=>n();Ke??(Ke=new ResizeObserver(s=>{let i=false;for(let{target:l}of s)lt.get(l)!==Nt(l)&&(i=true),lt.set(l,"");i&&at.forEach(l=>l());})),at.add(t);let r=Mn(e);return [document.body,document.documentElement].forEach(s=>s&&r.add(s)),r.forEach(s=>{lt.has(s)||lt.set(s,Nt(s)),Ze.set(s,(Ze.get(s)??0)+1),Ke.observe(s);}),()=>{at.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);}),at.size||(Ke?.disconnect(),Ke=void 0));}}function ct(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 We(e,n){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return n(e,true);let t=n(e,false),r=ct(i=>{if(!i)return;r();let l=(t.getProgress?.()??0)>=1;t.destroy(),t=n(l?{...e,onComplete:void 0}:e,true);}),s={};for(let i of Object.keys(t))s[i]=(...l)=>t[i]?.(...l);return s.destroy=()=>{r(),t.destroy();},s}var Ln=0;function An(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function zt(e,n){let t="";try{t=getComputedStyle(e).getPropertyValue(n).trim();}catch{}return t||(e.getAttribute(n)??"").trim()}var Vt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Pn(e){if(!Xe)return;let n=zt(e,"stroke");if(!n||n==="none"){pe("Element has no stroke \u2014 path will not be visible.",e);return}let t=(e.getAttribute("fill")??"").trim();t&&!Vt.has(t)&&!Vt.has(zt(e,"fill"))&&pe("Element has a fill \u2014 it may obscure the stroke animation.",e);}function Cn(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,l=e-i,m=n-i,f=t==="x";r.innerHTML=`
2
- <div style="position:absolute;${f?`left:${l}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${l}px;left:0;right:0;border-top:2px dashed #22c55e;`}padding:2px 6px;color:#22c55e;background:rgba(0,0,0,.6)">\u25B6 start</div>
3
- <div style="position:absolute;${f?`left:${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 _t=/[-+]?(?:\d*\.)?\d+(?:[eE][-+]?\d+)?/g,Wt=/[MmLlHhVvCcSsQqTtAaZz]/g;function $n(e,n,t){if(!Xe)return;let r=(e.match(Wt)??[]).join("").toUpperCase(),s=(n.match(Wt)??[]).join("").toUpperCase(),i=(e.match(_t)??[]).length,l=(n.match(_t)??[]).length;if(r!==s){pe(`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!==l&&pe(`morphTo: coordinate count differs (${i} \u2192 ${l}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,t);}function kn(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 l=parseFloat(i),m=r[s++]??l;return String(+(l+(m-l)*t).toFixed(4))})}function qt(e,n={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:We(n,(t,r)=>On(e,t,r))}function On(e,n,t){let{preset:r,...s}=n,i=r?{...Ft[r],...s}:s,{selector:l="path, polyline, line, polygon, rect, circle",speed:m=1,fade:f=false,easing:d="linear",trigger:v={},stagger:I=0,direction:E="forward",once:Z=false,debug:re=false,axis:M="y",scrollContainer:oe,autoReverse:he=false,delay:P=0,strokeColor:C,strokeWidth:L,fillOpacity:A,waypoints:b,velocityScale:y=false,threshold:w=0,rootMargin:Y="0px",repeat:_=0,repeatDelay:X=0,morphTo:F,clip:D,autoplay:ce=false,duration:ye=1e3,native:te=true,onProgress:G,onStart:p,onComplete:u,onEnter:T,onLeave:ue,onEnterBack:me,onLeaveBack:Pe}=i,H=D===true?"left":typeof D=="string"?D:false,J=typeof d=="function"?d:ne[d]??ne.linear,$=fe(v.start||"top bottom"),k=fe(v.end||"bottom top"),W=typeof oe=="string"?document.querySelector(oe):oe??null,ve=Array.isArray(C)?C[0]:null,Ee=Array.isArray(C)?C[1]:typeof C=="string"?C:null,Ce=Array.isArray(L)?L[0]:null,$e=Array.isArray(L)?L[1]:typeof L=="number"?L:null,Se=Array.isArray(A)?A[0]:null,Ne=Array.isArray(A)?A[1]:typeof A=="number"?A:null;function ke(o){let a=o*100;switch(H){case "right":return `inset(0 0 0 ${100-a}%)`;case "top":return `inset(0 0 ${100-a}% 0)`;case "bottom":return `inset(${100-a}% 0 0 0)`;case "center":return `circle(${o*150}% at 50% 50%)`;default:return `inset(0 ${100-a}% 0 0)`}}let q=H?[]:Array.from(e.querySelectorAll(l)),N=[],de=[],ge=0,c=0,g=I,Fe=0,O=false,z=false,x=0,V=false,xe=-1,Me=[],Je=-1,se=false,Oe=0,Re=0,ze,ut=null;function wt(){ut?.destroy(),ut=null;}let Ve=new Set,vt=NaN,_e=true,et=-1,Et=performance.now(),Be=NaN;function Qe(){return W?M==="x"?W.scrollLeft:W.scrollTop:M==="x"?window.scrollX:window.scrollY}function St(){return W?M==="x"?W.clientWidth:W.clientHeight:M==="x"?window.innerWidth:window.innerHeight}function Tt(){let o=ot(e,W,M);return Te(o,o.scroll,St(),$,k)}function fn(){let o=c-ge,a=q.length-1,h=W??document.documentElement,j=M==="x"?"Width":"Height";if(g=I,I>0&&a>0&&o>0){let be=h[`scroll${j}`]-h[`client${j}`]-1-ge-o/m;be>=0&&(g=Math.min(I,be/(a*o)));}Fe=c+a*g*o;}function xt(){(({tStart:ge,tEnd:c}=Tt())),fn(),re&&Xe&&(wt(),ut=Cn(ge,c,M));}function mt(o,a=Tt){Le(e,{type:"draw",getProgress:()=>o.getProgress(),getTrigger:a});let h=o.destroy;return o.destroy=()=>{h.call(o),Ae(e);},o}function Mt(o,a){return Z&&!he?Math.max(xe,J(Me[o]=Math.max(Me[o]??0,a))):J(a)}function pn(o,a){if(e.style.setProperty("--scroll-draw-progress",String(o)),H){let h=a==="reverse"?1-o:o;e.style.clipPath=ke(h);return}q.forEach((h,j)=>ft(h,j,o,a));}function ft(o,a,h,j){o.style.strokeDashoffset=j==="reverse"?`${N[a]*h}`:`${N[a]*(1-h)}`,f&&(o.style.opacity=j==="reverse"?`${1-h}`:`${h}`),ve&&Ee?o.style.stroke=st(ve,Ee,h):Ee&&(o.style.stroke=Ee),Ce!==null&&$e!==null?o.style.strokeWidth=`${Ce+($e-Ce)*h}`:$e!==null&&(o.style.strokeWidth=`${$e}`),Se!==null&&Ne!==null?o.style.fillOpacity=`${Se+(Ne-Se)*h}`:Ne!==null&&(o.style.fillOpacity=`${Ne}`),F&&o.tagName.toLowerCase()==="path"&&de[a]&&o.setAttribute("d",kn(de[a],F,h));}function Ue(){if(e.style.setProperty("--scroll-draw-progress","0"),H){e.style.clipPath=ke(E==="reverse"?1:0);return}q.forEach((o,a)=>{o.style.strokeDasharray=`${N[a]}`,o.style.strokeDashoffset=E==="reverse"?"0":`${N[a]}`,f?o.style.opacity=E==="reverse"?"1":"0":o.style.opacity="",ve&&(o.style.stroke=ve),Ce!==null&&(o.style.strokeWidth=`${Ce}`),Se!==null&&(o.style.fillOpacity=`${Se}`),F&&o.tagName.toLowerCase()==="path"&&de[a]&&o.setAttribute("d",de[a]);});}if(q.forEach(o=>{Pn(o);let a=je(o);N.push(a);let h=o.tagName.toLowerCase()==="path";h?de.push(o.getAttribute("d")??""):de.push(""),F&&(h?$n(de[de.length-1],F,o):pe(`morphTo only applies to <path> elements \u2014 ignored on <${o.tagName}>.`,o)),t?(o.style.strokeDasharray=`${a}`,o.style.strokeDashoffset=E==="reverse"?`${a}`:"0",f&&(o.style.opacity="1"),Ee&&(o.style.stroke=Ee),$e!==null&&(o.style.strokeWidth=`${$e}`),Ne!==null&&(o.style.fillOpacity=`${Ne}`),F&&o.tagName.toLowerCase()==="path"&&o.setAttribute("d",F)):(o.style.strokeDasharray=`${a}`,o.style.strokeDashoffset=E==="reverse"?"0":`${a}`,f?o.style.opacity=E==="reverse"?"1":"0":o.style.opacity="",ve&&(o.style.stroke=ve),Ce!==null&&(o.style.strokeWidth=`${Ce}`),Se!==null&&(o.style.fillOpacity=`${Se}`));}),t)return H&&(e.style.clipPath=ke(1)),u?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};H&&(e.style.clipPath=ke(E==="reverse"?1:0));let Lt=typeof d=="string"?it(d):null;function dn(){return !(te===false||ce||re||!An()||!q.length||!Lt||H||M!=="y"||W||m!==1||I!==0||Z||he||y!==false||F||b||_||P>0||G||p||u||T||ue||me||Pe||C!=null||L!=null||A!=null||(v.start||"top bottom").trim()!=="top bottom"||(v.end||"bottom top").trim()!=="bottom top")}function gn(){let o=++Ln,a=`svg-scroll-draw-${o}`,h=`svg-scroll-draw-host-${o}`,j=`--svg-scroll-draw-${o}`,be=E==="reverse"?"0":"var(--ssd-len)",De=E==="reverse"?"var(--ssd-len)":"0",we=`stroke-dashoffset:${be};`,B=`stroke-dashoffset:${De};`;f&&(we+=`opacity:${E==="reverse"?1:0};`,B+=`opacity:${E==="reverse"?0:1};`);let Q=document.createElement("style");Q.setAttribute("data-svg-scroll-draw",""),Q.textContent=`@keyframes ${a}{from{${we}}to{${B}}}.${h}{view-timeline-name:${j};view-timeline-axis:block;}.${a}{animation-name:${a};animation-duration:auto;animation-timing-function:${Lt};animation-fill-mode:both;animation-timeline:${j};animation-range:cover 0% cover 100%;}`,document.head.appendChild(Q),e.classList.add(h);function ie(S,R){S.style.setProperty("--ssd-len",String(N[R])),S.style.strokeDasharray=`${N[R]}`,S.style.strokeDashoffset="",S.style.opacity="",S.style.animationPlayState="",S.classList.add(a);}q.forEach(ie);let ae=false,U=-1;function K(){if(U>=0)return U;let S=e.getBoundingClientRect(),{tStart:R,tEnd:le}=Te({top:S.top,height:S.height},Qe(),St(),$,k);return J(ee(Qe(),R,le,m))}return {destroy(){e.classList.remove(h),q.forEach(S=>{S.classList.remove(a),S.style.removeProperty("--ssd-len"),S.style.animationPlayState="";}),Q.remove();},replay(){ae=false,U=-1,q.forEach(ie);},pause(){ae=true,q.forEach(S=>{S.style.animationPlayState="paused";});},resume(){ae&&(ae=false,q.forEach(S=>{S.style.animationPlayState="running";}));},seek(S){let R=Math.min(1,Math.max(0,S));U=R,ae=true,q.forEach((le,He)=>{le.classList.remove(a),le.style.strokeDashoffset=E==="reverse"?`${N[He]*R}`:`${N[He]*(1-R)}`,f&&(le.style.opacity=E==="reverse"?`${1-R}`:`${R}`);});},getProgress(){return K()},refresh(){q.forEach((S,R)=>{N[R]=je(S),S.style.setProperty("--ssd-len",String(N[R])),S.style.strokeDasharray=`${N[R]}`;});}}}if(dn())return mt(gn());function hn(){let o=Math.max(1,ye),a=H?o:o*(1+Math.max(0,q.length-1)*I),h=0,j=0,be=false;function De(U){let K=true,S=Math.min(1,Math.max(0,U/a));if(H){let R=Math.min(1,Math.max(0,U/o)),le=J(R);Oe=le,e.style.setProperty("--scroll-draw-progress",String(le)),e.style.clipPath=ke(E==="reverse"?1-le:le),G?.(le),R<1&&(K=false);}else {q.forEach((le,He)=>{let bn=He*I*o,Ct=Math.min(1,Math.max(0,(U-bn)/o));ft(le,He,J(Ct),E),Ct<1&&(K=false);});let R=J(S);Oe=R,G?.(R),e.style.setProperty("--scroll-draw-progress",String(R));}if(b){let R=J(S);for(let le in b){let He=parseFloat(le);R>=He&&!Ve.has(He)&&(Ve.add(He),b[le]?.());}}return K}function we(U){if(se)return;let K=U-h;z||(z=true,p?.());let S=De(K);if(S&&!O){O=true,De(a),u?.(),Re<(_==="infinite"?1/0:_??0)&&(Re++,ze=setTimeout(()=>{h=performance.now(),z=false,O=false,Ve.clear(),Ue(),x=requestAnimationFrame(we);},X));return}S||(x=requestAnimationFrame(we));}function B(){cancelAnimationFrame(x),clearTimeout(ze),h=performance.now(),j=0,se=false,z=false,O=false,Re=0,be=true,Oe=0,Ve.clear(),Ue(),x=requestAnimationFrame(we);}let Q=new IntersectionObserver(U=>{U.forEach(K=>{K.isIntersecting&&!(Z&&O)?B():!K.isIntersecting&&!Z&&!O&&(cancelAnimationFrame(x),clearTimeout(ze),be=false);});},{root:W??null,threshold:w,rootMargin:Y}),ie;function ae(){clearTimeout(ie),ie=setTimeout(()=>{q.forEach((U,K)=>{N[K]=je(U),U.style.strokeDasharray=`${N[K]}`;});},150);}return window.addEventListener("resize",ae),window.addEventListener("orientationchange",ae),P>0?setTimeout(()=>Q.observe(e),P):Q.observe(e),{destroy(){cancelAnimationFrame(x),clearTimeout(ze),Q.disconnect(),window.removeEventListener("resize",ae),window.removeEventListener("orientationchange",ae),clearTimeout(ie);},replay(){Re=0,B();},pause(){se||!be||(se=true,j=performance.now()-h,cancelAnimationFrame(x));},resume(){se&&(se=false,be=true,h=performance.now()-j,x=requestAnimationFrame(we));},seek(U){let K=Math.min(1,Math.max(0,U));Oe=K,se=true,j=K*a,h=performance.now()-j,cancelAnimationFrame(x),De(j);},getProgress(){return Oe},refresh(){clearTimeout(ie),q.forEach((U,K)=>{N[K]=je(U),U.style.strokeDasharray=`${N[K]}`;});}}}if(ce)return mt(hn());xt();function At(){if(se||!Ge)return;let o=performance.now(),a=Qe();if(!_e&&y===false&&a===vt){dt(a);return}_e=false,vt=a;let h=m;if(y!==false){let B=o-Et,Q=B>0?Math.abs(a-(et<0?a:et))/B:0;h=m*Math.max(.2,1+Q*(typeof y=="number"?y:1)*.04);}et=a,Et=o;let j=he?Je===-1||a>=Je?"forward":"reverse":E;Je=a;let be=c-ge,De=true,we=be===0?0:(a-ge)/be;if(isNaN(Be)||(Be<=0&&we>0?T?.():Be>0&&we<=0&&Pe?.(),Be<1&&we>=1?ue?.():Be>=1&&we<1&&me?.()),Be=we,H){let B=Mt(0,ee(a,ge,c,h));Oe=B,e.style.setProperty("--scroll-draw-progress",String(B));let Q=j==="reverse"?1-B:B;e.style.clipPath=ke(Q),G?.(B),!z&&ee(a,ge,c,h)>0&&(z=true,p?.()),B>=1&&!O?(O=true,u?.(),Re<(_==="infinite"?1/0:_??0)&&(Re++,ze=setTimeout(()=>{xe=-1,Me=[],z=false,O=false,Ue();},X))):B<1&&!Z&&(O=false),dt(a);return}if(q.forEach((B,Q)=>{let ie=Q*g*be,ae=Mt(Q,ee(a,ge+ie,c+ie,h));ft(B,Q,ae,j),Q===0&&(Oe=ae,G?.(ae),e.style.setProperty("--scroll-draw-progress",String(ae))),ae<1&&(De=false);}),b){let B=J(ee(a,ge,c,h));for(let Q in b){let ie=parseFloat(Q);B>=ie&&!Ve.has(ie)&&(Ve.add(ie),b[Q]?.());}}!z&&ee(a,ge,c,h)>0&&(z=true,p?.()),De&&!O?(O=true,u?.(),Re<(_==="infinite"?1/0:_??0)&&(Re++,ze=setTimeout(()=>{xe=-1,Me=[],z=false,O=false,Ve.clear(),Ue(),_e=true;},X))):!De&&!Z&&(O=false),dt(a);}function pt(o){return o>=c&&o<Fe}function dt(o){V||pt(o)?x=requestAnimationFrame(At):Ge=false;}function gt(){return V||pt(Qe())}let Ge=false;function tt(){Ge||(Ge=true,x=requestAnimationFrame(function(){At();}));}function nt(){Ge=false,cancelAnimationFrame(x);}let ht=new IntersectionObserver(o=>{o.forEach(a=>{V=a.isIntersecting,V&&!se?(_e=true,tt()):Ge&&!se&&pt(Qe())||nt();});},{root:W??null,threshold:w,rootMargin:Y});function Pt(){q.forEach((o,a)=>{N[a]=je(o),o.style.strokeDasharray=`${N[a]}`;}),xt(),_e=true;}let rt;function Ye(){clearTimeout(rt),rt=setTimeout(Pt,150);}window.addEventListener("resize",Ye),window.addEventListener("orientationchange",Ye);let yn=Ie([e],Ye);return P>0?setTimeout(()=>ht.observe(e),P):ht.observe(e),mt({destroy(){cancelAnimationFrame(x),clearTimeout(ze),nt(),ht.disconnect(),yn(),window.removeEventListener("resize",Ye),window.removeEventListener("orientationchange",Ye),clearTimeout(rt),wt();},replay(){xe=-1,Me=[],Je=-1,et=-1,z=false,O=false,Re=0,se=false,Oe=0,Ve.clear(),clearTimeout(ze),Ue(),_e=true,gt()&&tt();},pause(){se=true,nt();},resume(){se&&(se=false,_e=true,gt()&&tt());},seek(o){let a=Math.min(1,Math.max(0,o));Oe=a,xe=a,Me=[],se=true,nt(),pn(a,E),_e=true;},getProgress(){return Oe},refresh(){clearTimeout(rt),Pt(),gt()&&!se&&tt();}},()=>({tStart:ge,tEnd:c}))}var Bt=new WeakMap,In=0;function yt(e){return JSON.stringify(e,(n,t)=>{if(typeof t=="function")return "\u0192";if(typeof Element<"u"&&t instanceof Element){let r=Bt.get(t);return r===void 0&&Bt.set(t,r=++In),`el#${r}`}return t})}function Gt(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 Fn(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function jt(e){let n=[],t=/([\w]+)\(([^)]*)\)/g,r;for(;(r=t.exec(e))!==null;){let s=[],i=[],l=r[2].trim();if(l)for(let m of l.split(/[\s,]+/)){let f=m.match(/^([-+]?[\d.eE]+)(.*)$/);s.push(f?parseFloat(f[1]):0),i.push(f?f[2]:"");}n.push({fn:r[1],nums:s,units:i});}return n}function Rn(e,n,t){let r=jt(e),s=jt(n);return r.length===0||r.length!==s.length?t<1?e:n:r.map((i,l)=>{let m=s[l];return i.fn!==m.fn||i.nums.length!==m.nums.length?t<1?`${i.fn}(${i.nums.map((f,d)=>`${f}${i.units[d]}`).join(", ")})`:`${m.fn}(${m.nums.map((f,d)=>`${f}${m.units[d]}`).join(", ")})`:`${i.fn}(${i.nums.map((f,d)=>`${f+(m.nums[d]-f)*t}${i.units[d]}`).join(", ")})`}).join(" ")}function Qt(e,n,t){if(typeof e=="number"&&typeof n=="number")return String(e+(n-e)*t);let r=String(e),s=String(n);if(Fn(r))return st(r,s,t);if(r.includes("("))return Rn(r,s,t);let i=r.match(/^([-+]?[\d.]+)(.*)$/),l=s.match(/^([-+]?[\d.]+)(.*)$/);if(i&&l){let m=parseFloat(i[1]),f=parseFloat(l[1]);return `${m+(f-m)*t}${i[2]||l[2]}`}return t<1?r:s}function Dn(e){return e.replace(/([A-Z])/g,n=>`-${n.toLowerCase()}`)}var Hn=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Nn=0,Ut="--scroll-draw-progress";function zn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var Xt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Kt(e,n){return typeof window>"u"?Xt:n.respectReducedMotion===false?Yt(e,n,false):We(n,(t,r)=>Yt(e,t,r))}function Yt(e,n,t){let{props:r,trigger:s={},easing:i="ease-out",speed:l=1,once:m=false,axis:f="y",scrollContainer:d,native:v=true,velocityScale:I=false,triggerElement:E,onProgress:Z,onComplete:re,onEnter:M,onLeave:oe,onEnterBack:he,onLeaveBack:P}=n,C=typeof i=="function"?i:ne[i]??ne["ease-out"],L=fe(s.start||"top bottom"),A=fe(s.end||"bottom top"),b=E??e,y=typeof d=="string"?document.querySelector(d):d??null,w=Object.entries(r).map(([c,g])=>({prop:Dn(c),from:Array.isArray(g)?g[0]:"",to:Array.isArray(g)?g[1]:g}));function Y(){let c=window.getComputedStyle(e);for(let g of w)g.from===""&&(g.from=c.getPropertyValue(g.prop).trim()||"0");}function _(){for(let c of w)e.style.setProperty(c.prop,String(c.to));}let X=new Map;for(let c of [...w.map(g=>g.prop),Ut])X.set(c,e.style.getPropertyValue(c));function F(){for(let[c,g]of X)g?e.style.setProperty(c,g):e.style.removeProperty(c);}if(t)return _(),re?.(),{...Xt,destroy:F,getProgress:()=>1};Y();let D=()=>y?f==="x"?y.scrollLeft:y.scrollTop:f==="x"?window.scrollX:window.scrollY,ce=()=>y?f==="x"?y.clientWidth:y.clientHeight:f==="x"?window.innerWidth:window.innerHeight,ye=typeof i=="string"?it(i):null;function te(){if(!v||!zn()||!ye||f!=="y"||y||b!==e||m||l!==1||Z||re||M||oe||he||P||I!==false||(s.start||"top bottom").trim()!=="top bottom"||(s.end||"bottom top").trim()!=="bottom top")return false;for(let c of w)if(!Hn.has(c.prop))return false;return true}function G(){let c=`ssd-a-${++Nn}`,g=w.map(V=>`${V.prop}:${V.from}`).join(";"),Fe=w.map(V=>`${V.prop}:${V.to}`).join(";"),O=document.createElement("style");O.setAttribute("data-ssd-animate",""),O.textContent=`@keyframes ${c}{from{${g}}to{${Fe}}}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${ye};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(O),e.classList.add(c);let z=()=>{let V=e.getBoundingClientRect();return Te({top:V.top,height:V.height},D(),ce(),L,A)};Le(e,{type:"animate",getProgress:()=>x.getProgress(),getTrigger:z});let x={refresh(){},destroy(){e.classList.remove(c),O.remove(),e.style.animationPlayState="",F(),Ae(e);},replay(){e.classList.remove(c),e.offsetWidth,e.classList.add(c);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(V){let xe=Math.min(1,Math.max(0,V));e.classList.remove(c);for(let Me of w)e.style.setProperty(Me.prop,Qt(Me.from,Me.to,xe));},getProgress(){let{tStart:V,tEnd:xe}=z();return C(ee(D(),V,xe,l))}};return x}if(te())return G();let p=0,u=0,T=0,ue=false,me=false,Pe=-1,H=0,J=0,$=false,k=NaN,W=-1,ve=0,Ee=b===e?w:[],Ce=false;function $e(){let c=e.style,g=Ee.map(x=>c.getPropertyValue(x.prop)),Fe=c.transition;Ee.length&&(c.transition="none"),Ee.forEach(x=>c.setProperty(x.prop,X.get(x.prop)??""));let O=ot(b,y,f);Ee.forEach((x,V)=>c.setProperty(x.prop,g[V])),Ee.length&&(e.offsetWidth,c.transition=Fe);let z=Te(O,O.scroll,ce(),L,A);Ce&&Math.abs(z.tStart-p)<1&&Math.abs(z.tEnd-u)<1||(Ce=true,p=z.tStart,u=z.tEnd);}function Se(c){e.style.setProperty(Ut,String(c));for(let g of w)e.style.setProperty(g.prop,Qt(g.from,g.to,c));Z?.(c);}function Ne(c){if(isNaN(k)){k=c;return}k<=0&&c>0?M?.():k>0&&c<=0&&P?.(),k<1&&c>=1?oe?.():k>=1&&c<1&&he?.(),k=c;}function ke(){if(!ue||me)return;let c=performance.now(),g=D(),Fe=l;if(I!==false){let V=c-ve,xe=V>0?Math.abs(g-(W<0?g:W))/V:0;Fe=l*Math.max(.2,1+xe*(typeof I=="number"?I:1)*.04);}W=g,ve=c;let O=u===p?0:(g-p)/(u-p);Ne(O);let z=ee(g,p,u,Fe),x=m?Math.max(Pe,C(H=Math.max(H,z))):C(z);J=x,Se(x),x>=1&&!$?($=true,re?.()):x<1&&!m&&($=false),T=requestAnimationFrame(ke);}$e(),u===p&&pe("scrollAnimate: the trigger window has zero length (start and end resolve to the same scroll position), so this element will never animate. If the target is inside a position:sticky stage, measure the trigger from the container that holds the scroll room via `triggerElement`.",e),H=ee(D(),p,u,l),J=C(H),Se(J);let q=new IntersectionObserver(c=>{c.forEach(g=>{ue=g.isIntersecting,ue&&!me?T=requestAnimationFrame(ke):cancelAnimationFrame(T);});},{root:y??null}),N;function de(){clearTimeout(N),N=setTimeout($e,150);}window.addEventListener("resize",de),window.addEventListener("orientationchange",de);let ge=Ie([b],de);return q.observe(e),Le(e,{type:"animate",getProgress:()=>J,getTrigger:()=>({tStart:p,tEnd:u})}),{destroy(){cancelAnimationFrame(T),q.disconnect(),window.removeEventListener("resize",de),window.removeEventListener("orientationchange",de),ge(),clearTimeout(N),F(),Ae(e);},replay(){Pe=-1,H=0,$=false,J=0,me=false,Se(0);},pause(){me=true,cancelAnimationFrame(T);},resume(){me&&(me=false,ue&&(T=requestAnimationFrame(ke)));},seek(c){let g=Math.min(1,Math.max(0,c));J=g,Pe=g,H=0,me=true,cancelAnimationFrame(T),Se(g);},getProgress(){return J},refresh(){$e();}}}var bt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Zt(e,n){if(typeof window>"u")return bt;let t=typeof e=="string"?document.querySelector(e):e;return t?We(n,(r,s)=>Vn(t,r,s)):(pe("scrollCounter: element not found:",e),bt)}function Vn(e,n,t){let{from:r=0,to:s,format:i,easing:l="ease-out",trigger:m={},once:f=true,decimals:d,onComplete:v}=n,I=d!==void 0?p=>p.toFixed(d):i??(p=>String(Math.round(p))),E=typeof l=="function"?l:ne[l]??ne["ease-out"],Z=fe(m.start||"top 80%"),re=fe(m.end||"top 20%");if(t)return e.textContent=I(s),v?.(),{...bt,getProgress:()=>1};let M=0,oe=0,he=false,P=0,C=false,L=false,A=-1,b=0,y=0,w=false,Y=()=>window.scrollY,_=()=>window.innerHeight;function X(){let p=e.getBoundingClientRect(),u=Te({top:p.top,height:p.height},Y(),_(),Z,re);he&&Math.abs(u.tStart-M)<1&&Math.abs(u.tEnd-oe)<1||(he=true,M=u.tStart,oe=u.tEnd);}function F(p){e.textContent=I(r+(s-r)*p),e.style.setProperty("--scroll-draw-progress",String(p));}function D(){if(!C||L)return;let p=ee(Y(),M,oe,1),u=f?Math.max(A,E(b=Math.max(b,p))):E(p);y=u,F(u),u>=1&&!w?(w=true,v?.()):u<1&&!f&&(w=false),P=requestAnimationFrame(D);}X();{b=ee(Y(),M,oe,1);let p=E(b);y=p,F(p);}let ce=new IntersectionObserver(p=>{p.forEach(u=>{C=u.isIntersecting,C&&!L?P=requestAnimationFrame(D):cancelAnimationFrame(P);});}),ye;function te(){clearTimeout(ye),ye=setTimeout(X,150);}window.addEventListener("resize",te),window.addEventListener("orientationchange",te);let G=Ie([e],te);return ce.observe(e),Le(e,{type:"counter",getProgress:()=>y,getTrigger:()=>({tStart:M,tEnd:oe})}),{destroy(){cancelAnimationFrame(P),ce.disconnect(),window.removeEventListener("resize",te),window.removeEventListener("orientationchange",te),G(),clearTimeout(ye),Ae(e);},replay(){A=-1,b=0,w=false,y=0,L=false,F(0);},pause(){L=true,cancelAnimationFrame(P);},resume(){L&&(L=false,C&&(P=requestAnimationFrame(D)));},seek(p){let u=Math.min(1,Math.max(0,p));y=u,A=u,b=0,L=true,cancelAnimationFrame(P),F(u);},getProgress(){return y}}}var Jt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function en(e,n={}){if(typeof window>"u")return Jt;let t=typeof e=="string"?document.querySelector(e):e;if(!t||t.tagName.toLowerCase()!=="video")return pe("scrollVideo: <video> element not found:",e),Jt;let r=t,{trigger:s={},easing:i="linear",once:l=false,axis:m="y",preload:f="auto",triggerElement:d,onReady:v,onComplete:I,onProgress:E}=n,Z=d??r,re=window.matchMedia("(prefers-reduced-motion: reduce)").matches,M=typeof i=="function"?i:ne[i]??ne.linear,oe=fe(s.start||"top top"),he=fe(s.end||"bottom top");r.pause(),r.hasAttribute("preload")||(r.preload=f);let P=n.from??0,C=n.to,L=0,A=0,b=0,y=false,w=false,Y=-1,_=0,X=0,F=false,D=false,ce=()=>m==="x"?window.scrollX:window.scrollY,ye=()=>m==="x"?window.innerWidth:window.innerHeight;function te(){let $=Z.getBoundingClientRect(),k=m==="x"?$.left:$.top,W=m==="x"?$.width:$.height,ve=Te({top:k,height:W},ce(),ye(),oe,he);L=ve.tStart,A=ve.tEnd,D&&A===L&&pe("scrollVideo: zero-length trigger window, so it never scrubs. In a sticky stage, set triggerElement.",r);}let G=NaN;function p($){if(!D)return;let k=C??r.duration??0,W=P+(k-P)*$;W!==G&&(G=W,r.currentTime=W),r.style.setProperty("--scroll-draw-progress",String($)),E?.($);}function u(){if(!y||w||!D||re)return;let $=ee(ce(),L,A,1),k=l?Math.max(Y,M(_=Math.max(_,$))):M($);X=k,p(k),k>=1&&!F?(F=true,I?.()):k<1&&!l&&(F=false),b=requestAnimationFrame(u);}function T(){if(D=true,C===void 0&&(C=r.duration),re){p(1),v?.();return}te(),v?.(),y&&!w&&(b=requestAnimationFrame(u));}r.readyState>=1?T():r.addEventListener("loadedmetadata",T,{once:true}),D||te();let ue=re?()=>{}:ct($=>{$&&(ue(),re=true,cancelAnimationFrame(b),p(1));}),me=new IntersectionObserver($=>{$.forEach(k=>{y=k.isIntersecting,y&&!w&&D?b=requestAnimationFrame(u):cancelAnimationFrame(b);});}),Pe;function H(){clearTimeout(Pe),Pe=setTimeout(te,150);}window.addEventListener("resize",H),window.addEventListener("orientationchange",H);let J=Ie([Z],H);return me.observe(r),Le(r,{type:"video",getProgress:()=>X,getTrigger:()=>({tStart:L,tEnd:A})}),{destroy(){cancelAnimationFrame(b),me.disconnect(),r.removeEventListener("loadedmetadata",T),window.removeEventListener("resize",H),window.removeEventListener("orientationchange",H),J(),ue(),clearTimeout(Pe),Ae(r);},replay(){Y=-1,_=0,F=false,X=0,w=false,G=NaN,p(0);},pause(){w=true,cancelAnimationFrame(b);},resume(){w&&(w=false,y&&D&&(b=requestAnimationFrame(u)));},seek($){let k=Math.min(1,Math.max(0,$));X=k,Y=k,_=0,w=true,cancelAnimationFrame(b),G=NaN,p(k);},getProgress(){return X}}}function tn(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 on(e){let n=e.textContent??"";return e.textContent="",n.split(/(\s+)/).filter(Boolean).map(t=>{let r=document.createElement("span");return r.setAttribute("aria-hidden","true"),/^\s+$/.test(t)?(r.textContent=t,r.style.whiteSpace="pre"):(r.textContent=t,r.style.display="inline-block"),e.appendChild(r),/^\s+$/.test(t)?null:r}).filter(t=>t!==null)}function _n(e){let n=e.textContent??"";return e.textContent="",n.split("").map(t=>{let r=document.createElement("span");return r.setAttribute("aria-hidden","true"),r.textContent=t,t===" "?r.style.whiteSpace="pre":r.style.display="inline-block",e.appendChild(r),t===" "?null:r}).filter(t=>t!==null)}function nn(e){let n=on(e),t=new Map;for(let i of n){let l=i.offsetTop;t.has(l)||t.set(l,[]),t.get(l).push(i);}let r=[],s=Array.from(t.keys()).sort((i,l)=>i-l);for(let i of s){let l=t.get(i),m=document.createElement("span");m.setAttribute("aria-hidden","true"),m.style.display="inline-block",l.forEach((f,d)=>{let v=f.nextElementSibling;m.appendChild(f),d<l.length-1&&v&&v.style.whiteSpace==="pre"&&m.appendChild(v);}),r.push(m);}return e.textContent="",r.forEach((i,l)=>{e.appendChild(i),l<r.length-1&&e.appendChild(document.createTextNode(" "));}),r}function Wn(e,n,t,r){if(t<=1||r===0)return e;let s=(t-1)*r,i=n*r,l=i+(1-s);return l<=i?e>=i?1:0:Math.min(1,Math.max(0,(e-i)/(l-i)))}function qn(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 rn={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function sn(e,n={}){if(typeof window>"u")return rn;let t=typeof e=="string"?document.querySelector(e):e;if(!t)return pe("scrollText: element not found:",e),rn;let r=t;return We(n,(s,i)=>Bn(r,s,i))}function Bn(e,n,t){let{split:r="words",stagger:s=.04,easing:i="ease-out",from:l={opacity:0,y:24},trigger:m={},once:f=true,onComplete:d}=n,v=typeof i=="function"?i:ne[i]??ne["ease-out"],I=fe(m.start||"top 85%"),E=fe(m.end||"top 40%"),Z=e.innerHTML,re=e.textContent??"",M;r==="chars"?M=_n(e):r==="lines"?M=nn(e):M=on(e),tn(e,re);let oe=M.length;function he(u,T){l?.opacity!==void 0&&(u.style.opacity=String(l.opacity+(1-l.opacity)*T));let ue=qn(T,l);ue&&(u.style.transform=ue);}function P(u){e.style.setProperty("--scroll-draw-progress",String(u)),M.forEach((T,ue)=>{let me=v(Wn(u,ue,oe,s));he(T,me);});}if(t)return P(1),d?.(),{destroy(){e.innerHTML=Z;},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};P(0);let C=0,L=0,A=0,b=false,y=false,w=-1,Y=0,_=false,X=()=>window.scrollY,F=()=>window.innerHeight;function D(){let u=e.getBoundingClientRect(),T=Te({top:u.top,height:u.height},X(),F(),I,E);C=T.tStart,L=T.tEnd;}function ce(){if(!b||y)return;let u=ee(X(),C,L,1);f&&(w=Math.max(w,u),u=w),Y=u,P(u),u>=1&&!_?(_=true,d?.()):u<1&&!f&&(_=false),A=requestAnimationFrame(ce);}D();let ye=new IntersectionObserver(u=>{u.forEach(T=>{b=T.isIntersecting,b&&!y?A=requestAnimationFrame(ce):cancelAnimationFrame(A);});}),te;function G(){clearTimeout(te),te=setTimeout(()=>{if(r==="lines"){let u=Y;e.innerHTML=Z,M=nn(e),tn(e,re),P(u);}D();},150);}window.addEventListener("resize",G),window.addEventListener("orientationchange",G);let p=Ie([e],G);return ye.observe(e),Le(e,{type:"text",getProgress:()=>Y,getTrigger:()=>({tStart:C,tEnd:L})}),{destroy(){cancelAnimationFrame(A),ye.disconnect(),window.removeEventListener("resize",G),window.removeEventListener("orientationchange",G),p(),clearTimeout(te),e.innerHTML=Z,Ae(e);},replay(){w=-1,_=false,Y=0,y=false,P(0);},pause(){y=true,cancelAnimationFrame(A);},resume(){y&&(y=false,b&&(A=requestAnimationFrame(ce)));},seek(u){let T=Math.min(1,Math.max(0,u));Y=T,w=T,y=true,cancelAnimationFrame(A),P(T);},getProgress(){return Y}}}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=yt(t),this.instance=this.create(n,Gt(t,()=>this.latest)),this}update(n){return this.el?yt(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}},an=class extends qe{constructor(){super(qt);}init(n,t={}){return super.init(n,t)}},ln=class extends qe{constructor(){super(Kt);}},cn=class extends qe{constructor(){super(Zt);}},un=class extends qe{constructor(){super(en);}init(n,t={}){return super.init(n,t)}},mn=class extends qe{constructor(){super(sn);}init(n,t={}){return super.init(n,t)}};exports.EngineRef=qe;exports.ScrollAnimateRef=ln;exports.ScrollCounterRef=cn;exports.ScrollDrawRef=an;exports.ScrollTextRef=mn;exports.ScrollVideoRef=un;
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-GMBIGV3M.mjs';import {a as a$4}from'../chunk-4H2SGMAQ.mjs';import {a as a$2}from'../chunk-LGJQWZHH.mjs';import {a as a$1}from'../chunk-V4L3ELVC.mjs';import {b as b$1}from'../chunk-23EALNDF.mjs';import'../chunk-OJFWQ6CU.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-YZV4Z3EQ.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 pn({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,l=[];for(let p=0;p<n;p++){let b=Math.pow(s,p);l.push(b),i+=b;}let f=[0],u=0;for(let p=0;p<n;p++)u+=l[p]/i,f.push(u);return p=>{if(p<=0)return 0;if(p>=1)return 1;for(let b=0;b<n;b++)if(p<=f[b+1]){let P=(p-f[b])/(f[b+1]-f[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 dn({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 ie={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:pn(),elastic:dn()};function It(e,t,n){return Math.min(n,Math.max(t,e))}function ye(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 Ot(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 kt(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 J(e,t,n,r){return n===t?0:It((e-t)/(n-t)*r,0,1)}function Ae(e,t,n,r,s){let i=Ot(e.top,e.height,t,r.element)-kt(r.viewport,n),l=Ot(e.top,e.height,t,s.element)-kt(s.viewport,n);return {tStart:i,tEnd:l}}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 Ge(e){let t=e.tagName.toLowerCase();if(t==="rect"){let n=parseFloat(e.getAttribute("width")??"0"),r=parseFloat(e.getAttribute("height")??"0");return 2*(n+r)}if(t==="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 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 st(e,t,n){let r=Rt(e),s=Rt(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 Ft={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 Ye=typeof __SVG_SCROLL_DRAW_DEV__<"u"?__SVG_SCROLL_DRAW_DEV__:typeof process<"u"&&typeof process.env<"u"&&process.env.NODE_ENV!=="production";function B(e,...t){Ye&&console.warn(`[svg-scroll-draw] ${e}`,...t);}var gn="cubic-bezier(0.333333, 0, 0.666667, 0.333333)",yn="cubic-bezier(0.333333, 0.666667, 0.666667, 1)",Ht=33;function hn(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timing-function: linear(0, 1)")}function bn(e){let t=[];for(let n=0;n<Ht;n++){let r=n/(Ht-1);t.push(String(Math.round(e(r)*1e5)/1e5));}return `linear(${t.join(",")})`}function it(e){switch(e){case "linear":return "linear";case "ease-in":return gn;case "ease-out":return yn;case "ease-in-out":return hn()?bn(ie["ease-in-out"]):null;default:return null}}var Nt=Symbol.for("svg-scroll-draw.registry");function _t(){let e=globalThis;return e[Nt]||(e[Nt]=new Map)}function Oe(e,t){_t().set(e,t);}function ke(e){_t().delete(e);}var Xe,at=new Set,lt=new WeakMap,Je=new Map,zt=e=>{let t=e.getBoundingClientRect();return t.width+" "+t.height};function wn(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:l}of s)lt.get(l)!==zt(l)&&(i=true),lt.set(l,"");i&&at.forEach(l=>l());})),at.add(n);let r=wn(e);return [document.body,document.documentElement].forEach(s=>s&&r.add(s)),r.forEach(s=>{lt.has(s)||lt.set(s,zt(s)),Je.set(s,(Je.get(s)??0)+1),Xe.observe(s);}),()=>{at.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);}),at.size||(Xe?.disconnect(),Xe=void 0));}}function Vt(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=Vt(i=>{if(!i)return;r();let l=(n.getProgress?.()??0)>=1;n.destroy(),n=t(l?{...e,onComplete:void 0}:e,true);}),s={};for(let i of Object.keys(n))s[i]=(...l)=>n[i]?.(...l);return s.destroy=()=>{r(),n.destroy();},s}var vn=0;function En(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")&&CSS.supports("view-timeline-name: --x")}function qt(e,t){let n="";try{n=getComputedStyle(e).getPropertyValue(t).trim();}catch{}return n||(e.getAttribute(t)??"").trim()}var Wt=new Set(["","none","transparent","rgba(0, 0, 0, 0)"]);function Sn(e){if(!Ye)return;let t=qt(e,"stroke");if(!t||t==="none"){B("Element has no stroke \u2014 path will not be visible.",e);return}let n=(e.getAttribute("fill")??"").trim();n&&!Wt.has(n)&&!Wt.has(qt(e,"fill"))&&B("Element has a fill \u2014 it may obscure the stroke animation.",e);}function Tn(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,l=e-i,f=t-i,u=n==="x";r.innerHTML=`
2
- <div style="position:absolute;${u?`left:${l}px;top:0;bottom:0;border-left:2px dashed #22c55e;`:`top:${l}px;left:0;right:0;border-top:2px dashed #22c55e;`}padding:2px 6px;color:#22c55e;background:rgba(0,0,0,.6)">\u25B6 start</div>
3
- <div style="position:absolute;${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(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 xn(e,t,n){if(!Ye)return;let r=(e.match(Gt)??[]).join("").toUpperCase(),s=(t.match(Gt)??[]).join("").toUpperCase(),i=(e.match(Bt)??[]).length,l=(t.match(Bt)??[]).length;if(r!==s){B(`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!==l&&B(`morphTo: coordinate count differs (${i} \u2192 ${l}). Extra coordinates are ignored and missing ones hold their start value, so the result will not reach the target shape.`,n);}function Mn(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 l=parseFloat(i),f=r[s++]??l;return String(+(l+(f-l)*n).toFixed(4))})}function ct(e,t={}){return typeof window>"u"?{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0}:ze(t,(n,r)=>Ln(e,n,r))}function Ln(e,t,n){let{preset:r,...s}=t,i=r?{...Ft[r],...s}:s,{selector:l="path, polyline, line, polygon, rect, circle",speed:f=1,fade:u=false,easing:p="linear",trigger:b={},stagger:P=0,direction:v="forward",once:Z=false,debug:he=false,axis:T="y",scrollContainer:re,autoReverse:be=false,delay:A=0,strokeColor:R,strokeWidth:$,fillOpacity:D,waypoints:x,velocityScale:h=false,threshold:C=0,rootMargin:K="0px",repeat:G=0,repeatDelay:ae=0,morphTo:V,clip:ee,autoplay:me=false,duration:we=1e3,native:le=true,onProgress:te,onStart:y,onComplete:m,onEnter:M,onLeave:fe,onEnterBack:pe,onLeaveBack:qe}=i,W=ee===true?"left":typeof ee=="string"?ee:false,Q=typeof p=="function"?p:ie[p]??ie.linear,Ve=ye(b.start||"top bottom"),Se=ye(b.end||"bottom top"),ne=typeof re=="string"?document.querySelector(re):re??null,Ce=Array.isArray(R)?R[0]:null,de=Array.isArray(R)?R[1]:typeof R=="string"?R:null,Te=Array.isArray($)?$[0]:null,xe=Array.isArray($)?$[1]:typeof $=="number"?$:null,ge=Array.isArray(D)?D[0]:null,Re=Array.isArray(D)?D[1]:typeof D=="number"?D:null;function Me(o){let a=o*100;switch(W){case "right":return `inset(0 0 0 ${100-a}%)`;case "top":return `inset(0 0 ${100-a}% 0)`;case "bottom":return `inset(${100-a}% 0 0 0)`;case "center":return `circle(${o*150}% at 50% 50%)`;default:return `inset(0 ${100-a}% 0 0)`}}let F=W?[]:Array.from(e.querySelectorAll(l)),I=[],oe=[],se=0,c=0,d=P,Pe=0,S=false,O=false,E=0,k=false,ve=-1,Ee=[],Ke=-1,j=false,Le=0,$e=0,Fe,ft=null;function Et(){ft?.destroy(),ft=null;}let He=new Set,St=NaN,Ne=true,et=-1,Tt=performance.now(),We=NaN;function Qe(){return ne?T==="x"?ne.scrollLeft:ne.scrollTop:T==="x"?window.scrollX:window.scrollY}function xt(){return ne?T==="x"?ne.clientWidth:ne.clientHeight:T==="x"?window.innerWidth:window.innerHeight}function Mt(){let o=ot(e,ne,T);return Ae(o,o.scroll,xt(),Ve,Se)}function sn(){let o=c-se,a=F.length-1,g=ne??document.documentElement,N=T==="x"?"Width":"Height";if(d=P,P>0&&a>0&&o>0){let ce=g[`scroll${N}`]-g[`client${N}`]-1-se-o/f;ce>=0&&(d=Math.min(P,ce/(a*o)));}Pe=c+a*d*o;}function Lt(){(({tStart:se,tEnd:c}=Mt())),sn(),he&&Ye&&(Et(),ft=Tn(se,c,T));}function pt(o,a=Mt){Oe(e,{type:"draw",getProgress:()=>o.getProgress(),getTrigger:a});let g=o.destroy;return o.destroy=()=>{g.call(o),ke(e);},o}function At(o,a){return Z&&!be?Math.max(ve,Q(Ee[o]=Math.max(Ee[o]??0,a))):Q(a)}function an(o,a){if(e.style.setProperty("--scroll-draw-progress",String(o)),W){let g=a==="reverse"?1-o:o;e.style.clipPath=Me(g);return}F.forEach((g,N)=>dt(g,N,o,a));}function dt(o,a,g,N){o.style.strokeDashoffset=N==="reverse"?`${I[a]*g}`:`${I[a]*(1-g)}`,u&&(o.style.opacity=N==="reverse"?`${1-g}`:`${g}`),Ce&&de?o.style.stroke=st(Ce,de,g):de&&(o.style.stroke=de),Te!==null&&xe!==null?o.style.strokeWidth=`${Te+(xe-Te)*g}`:xe!==null&&(o.style.strokeWidth=`${xe}`),ge!==null&&Re!==null?o.style.fillOpacity=`${ge+(Re-ge)*g}`:Re!==null&&(o.style.fillOpacity=`${Re}`),V&&o.tagName.toLowerCase()==="path"&&oe[a]&&o.setAttribute("d",Mn(oe[a],V,g));}function je(){if(e.style.setProperty("--scroll-draw-progress","0"),W){e.style.clipPath=Me(v==="reverse"?1:0);return}F.forEach((o,a)=>{o.style.strokeDasharray=`${I[a]}`,o.style.strokeDashoffset=v==="reverse"?"0":`${I[a]}`,u?o.style.opacity=v==="reverse"?"1":"0":o.style.opacity="",Ce&&(o.style.stroke=Ce),Te!==null&&(o.style.strokeWidth=`${Te}`),ge!==null&&(o.style.fillOpacity=`${ge}`),V&&o.tagName.toLowerCase()==="path"&&oe[a]&&o.setAttribute("d",oe[a]);});}if(F.forEach(o=>{Sn(o);let a=Ge(o);I.push(a);let g=o.tagName.toLowerCase()==="path";g?oe.push(o.getAttribute("d")??""):oe.push(""),V&&(g?xn(oe[oe.length-1],V,o):B(`morphTo only applies to <path> elements \u2014 ignored on <${o.tagName}>.`,o)),n?(o.style.strokeDasharray=`${a}`,o.style.strokeDashoffset=v==="reverse"?`${a}`:"0",u&&(o.style.opacity="1"),de&&(o.style.stroke=de),xe!==null&&(o.style.strokeWidth=`${xe}`),Re!==null&&(o.style.fillOpacity=`${Re}`),V&&o.tagName.toLowerCase()==="path"&&o.setAttribute("d",V)):(o.style.strokeDasharray=`${a}`,o.style.strokeDashoffset=v==="reverse"?"0":`${a}`,u?o.style.opacity=v==="reverse"?"1":"0":o.style.opacity="",Ce&&(o.style.stroke=Ce),Te!==null&&(o.style.strokeWidth=`${Te}`),ge!==null&&(o.style.fillOpacity=`${ge}`));}),n)return W&&(e.style.clipPath=Me(1)),m?.(),{destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};W&&(e.style.clipPath=Me(v==="reverse"?1:0));let Ct=typeof p=="string"?it(p):null;function ln(){return !(le===false||me||he||!En()||!F.length||!Ct||W||T!=="y"||ne||f!==1||P!==0||Z||be||h!==false||V||x||G||A>0||te||y||m||M||fe||pe||qe||R!=null||$!=null||D!=null||(b.start||"top bottom").trim()!=="top bottom"||(b.end||"bottom top").trim()!=="bottom top")}function cn(){let o=++vn,a=`svg-scroll-draw-${o}`,g=`svg-scroll-draw-host-${o}`,N=`--svg-scroll-draw-${o}`,ce=v==="reverse"?"0":"var(--ssd-len)",De=v==="reverse"?"var(--ssd-len)":"0",ue=`stroke-dashoffset:${ce};`,H=`stroke-dashoffset:${De};`;u&&(ue+=`opacity:${v==="reverse"?1:0};`,H+=`opacity:${v==="reverse"?0:1};`);let _=document.createElement("style");_.setAttribute("data-svg-scroll-draw",""),_.textContent=`@keyframes ${a}{from{${ue}}to{${H}}}.${g}{view-timeline-name:${N};view-timeline-axis:block;}.${a}{animation-name:${a};animation-duration:auto;animation-timing-function:${Ct};animation-fill-mode:both;animation-timeline:${N};animation-range:cover 0% cover 100%;}`,document.head.appendChild(_),e.classList.add(g);function U(w,L){w.style.setProperty("--ssd-len",String(I[L])),w.style.strokeDasharray=`${I[L]}`,w.style.strokeDashoffset="",w.style.opacity="",w.style.animationPlayState="",w.classList.add(a);}F.forEach(U);let Y=false,z=-1;function q(){if(z>=0)return z;let w=e.getBoundingClientRect(),{tStart:L,tEnd:X}=Ae({top:w.top,height:w.height},Qe(),xt(),Ve,Se);return Q(J(Qe(),L,X,f))}return {destroy(){e.classList.remove(g),F.forEach(w=>{w.classList.remove(a),w.style.removeProperty("--ssd-len"),w.style.animationPlayState="";}),_.remove();},replay(){Y=false,z=-1,F.forEach(U);},pause(){Y=true,F.forEach(w=>{w.style.animationPlayState="paused";});},resume(){Y&&(Y=false,F.forEach(w=>{w.style.animationPlayState="running";}));},seek(w){let L=Math.min(1,Math.max(0,w));z=L,Y=true,F.forEach((X,Ie)=>{X.classList.remove(a),X.style.strokeDashoffset=v==="reverse"?`${I[Ie]*L}`:`${I[Ie]*(1-L)}`,u&&(X.style.opacity=v==="reverse"?`${1-L}`:`${L}`);});},getProgress(){return q()},refresh(){F.forEach((w,L)=>{I[L]=Ge(w),w.style.setProperty("--ssd-len",String(I[L])),w.style.strokeDasharray=`${I[L]}`;});}}}if(ln())return pt(cn());function un(){let o=Math.max(1,we),a=W?o:o*(1+Math.max(0,F.length-1)*P),g=0,N=0,ce=false;function De(z){let q=true,w=Math.min(1,Math.max(0,z/a));if(W){let L=Math.min(1,Math.max(0,z/o)),X=Q(L);Le=X,e.style.setProperty("--scroll-draw-progress",String(X)),e.style.clipPath=Me(v==="reverse"?1-X:X),te?.(X),L<1&&(q=false);}else {F.forEach((X,Ie)=>{let fn=Ie*P*o,Dt=Math.min(1,Math.max(0,(z-fn)/o));dt(X,Ie,Q(Dt),v),Dt<1&&(q=false);});let L=Q(w);Le=L,te?.(L),e.style.setProperty("--scroll-draw-progress",String(L));}if(x){let L=Q(w);for(let X in x){let Ie=parseFloat(X);L>=Ie&&!He.has(Ie)&&(He.add(Ie),x[X]?.());}}return q}function ue(z){if(j)return;let q=z-g;O||(O=true,y?.());let w=De(q);if(w&&!S){S=true,De(a),m?.(),$e<(G==="infinite"?1/0:G??0)&&($e++,Fe=setTimeout(()=>{g=performance.now(),O=false,S=false,He.clear(),je(),E=requestAnimationFrame(ue);},ae));return}w||(E=requestAnimationFrame(ue));}function H(){cancelAnimationFrame(E),clearTimeout(Fe),g=performance.now(),N=0,j=false,O=false,S=false,$e=0,ce=true,Le=0,He.clear(),je(),E=requestAnimationFrame(ue);}let _=new IntersectionObserver(z=>{z.forEach(q=>{q.isIntersecting&&!(Z&&S)?H():!q.isIntersecting&&!Z&&!S&&(cancelAnimationFrame(E),clearTimeout(Fe),ce=false);});},{root:ne??null,threshold:C,rootMargin:K}),U;function Y(){clearTimeout(U),U=setTimeout(()=>{F.forEach((z,q)=>{I[q]=Ge(z),z.style.strokeDasharray=`${I[q]}`;});},150);}return window.addEventListener("resize",Y),window.addEventListener("orientationchange",Y),A>0?setTimeout(()=>_.observe(e),A):_.observe(e),{destroy(){cancelAnimationFrame(E),clearTimeout(Fe),_.disconnect(),window.removeEventListener("resize",Y),window.removeEventListener("orientationchange",Y),clearTimeout(U);},replay(){$e=0,H();},pause(){j||!ce||(j=true,N=performance.now()-g,cancelAnimationFrame(E));},resume(){j&&(j=false,ce=true,g=performance.now()-N,E=requestAnimationFrame(ue));},seek(z){let q=Math.min(1,Math.max(0,z));Le=q,j=true,N=q*a,g=performance.now()-N,cancelAnimationFrame(E),De(N);},getProgress(){return Le},refresh(){clearTimeout(U),F.forEach((z,q)=>{I[q]=Ge(z),z.style.strokeDasharray=`${I[q]}`;});}}}if(me)return pt(un());Lt();function Pt(){if(j||!Be)return;let o=performance.now(),a=Qe();if(!Ne&&h===false&&a===St){yt(a);return}Ne=false,St=a;let g=f;if(h!==false){let H=o-Tt,_=H>0?Math.abs(a-(et<0?a:et))/H:0;g=f*Math.max(.2,1+_*(typeof h=="number"?h:1)*.04);}et=a,Tt=o;let N=be?Ke===-1||a>=Ke?"forward":"reverse":v;Ke=a;let ce=c-se,De=true,ue=ce===0?0:(a-se)/ce;if(isNaN(We)||(We<=0&&ue>0?M?.():We>0&&ue<=0&&qe?.(),We<1&&ue>=1?fe?.():We>=1&&ue<1&&pe?.()),We=ue,W){let H=At(0,J(a,se,c,g));Le=H,e.style.setProperty("--scroll-draw-progress",String(H));let _=N==="reverse"?1-H:H;e.style.clipPath=Me(_),te?.(H),!O&&J(a,se,c,g)>0&&(O=true,y?.()),H>=1&&!S?(S=true,m?.(),$e<(G==="infinite"?1/0:G??0)&&($e++,Fe=setTimeout(()=>{ve=-1,Ee=[],O=false,S=false,je();},ae))):H<1&&!Z&&(S=false),yt(a);return}if(F.forEach((H,_)=>{let U=_*d*ce,Y=At(_,J(a,se+U,c+U,g));dt(H,_,Y,N),_===0&&(Le=Y,te?.(Y),e.style.setProperty("--scroll-draw-progress",String(Y))),Y<1&&(De=false);}),x){let H=Q(J(a,se,c,g));for(let _ in x){let U=parseFloat(_);H>=U&&!He.has(U)&&(He.add(U),x[_]?.());}}!O&&J(a,se,c,g)>0&&(O=true,y?.()),De&&!S?(S=true,m?.(),$e<(G==="infinite"?1/0:G??0)&&($e++,Fe=setTimeout(()=>{ve=-1,Ee=[],O=false,S=false,He.clear(),je(),Ne=true;},ae))):!De&&!Z&&(S=false),yt(a);}function gt(o){return o>=c&&o<Pe}function yt(o){k||gt(o)?E=requestAnimationFrame(Pt):Be=false;}function ht(){return k||gt(Qe())}let Be=false;function tt(){Be||(Be=true,E=requestAnimationFrame(function(){Pt();}));}function nt(){Be=false,cancelAnimationFrame(E);}let bt=new IntersectionObserver(o=>{o.forEach(a=>{k=a.isIntersecting,k&&!j?(Ne=true,tt()):Be&&!j&&gt(Qe())||nt();});},{root:ne??null,threshold:C,rootMargin:K});function $t(){F.forEach((o,a)=>{I[a]=Ge(o),o.style.strokeDasharray=`${I[a]}`;}),Lt(),Ne=true;}let rt;function Ue(){clearTimeout(rt),rt=setTimeout($t,150);}window.addEventListener("resize",Ue),window.addEventListener("orientationchange",Ue);let mn=_e([e],Ue);return A>0?setTimeout(()=>bt.observe(e),A):bt.observe(e),pt({destroy(){cancelAnimationFrame(E),clearTimeout(Fe),nt(),bt.disconnect(),mn(),window.removeEventListener("resize",Ue),window.removeEventListener("orientationchange",Ue),clearTimeout(rt),Et();},replay(){ve=-1,Ee=[],Ke=-1,et=-1,O=false,S=false,$e=0,j=false,Le=0,He.clear(),clearTimeout(Fe),je(),Ne=true,ht()&&tt();},pause(){j=true,nt();},resume(){j&&(j=false,Ne=true,ht()&&tt());},seek(o){let a=Math.min(1,Math.max(0,o));Le=a,ve=a,Ee=[],j=true,nt(),an(a,v),Ne=true;},getProgress(){return Le},refresh(){clearTimeout(rt),$t(),ht()&&!j&&tt();}},()=>({tStart:se,tEnd:c}))}function An(e){return e.startsWith("#")||e.startsWith("rgb")||e.startsWith("hsl")}function Qt(e){let t=[],n=/([\w]+)\(([^)]*)\)/g,r;for(;(r=n.exec(e))!==null;){let s=[],i=[],l=r[2].trim();if(l)for(let f of l.split(/[\s,]+/)){let u=f.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 Cn(e,t,n){let r=Qt(e),s=Qt(t);return r.length===0||r.length!==s.length?n<1?e:t:r.map((i,l)=>{let f=s[l];return i.fn!==f.fn||i.nums.length!==f.nums.length?n<1?`${i.fn}(${i.nums.map((u,p)=>`${u}${i.units[p]}`).join(", ")})`:`${f.fn}(${f.nums.map((u,p)=>`${u}${f.units[p]}`).join(", ")})`:`${i.fn}(${i.nums.map((u,p)=>`${u+(f.nums[p]-u)*n}${i.units[p]}`).join(", ")})`}).join(" ")}function jt(e,t,n){if(typeof e=="number"&&typeof t=="number")return String(e+(t-e)*n);let r=String(e),s=String(t);if(An(r))return st(r,s,n);if(r.includes("("))return Cn(r,s,n);let i=r.match(/^([-+]?[\d.]+)(.*)$/),l=s.match(/^([-+]?[\d.]+)(.*)$/);if(i&&l){let f=parseFloat(i[1]),u=parseFloat(l[1]);return `${f+(u-f)*n}${i[2]||l[2]}`}return n<1?r:s}function Pn(e){return e.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}var $n=new Set(["opacity","transform","background-color","color","filter","scale","translate","rotate"]),Dn=0,Ut="--scroll-draw-progress";function In(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("animation-timeline: view()")}var Xt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Jt(e,t){return typeof window>"u"?Xt:t.respectReducedMotion===false?Yt(e,t,false):ze(t,(n,r)=>Yt(e,n,r))}function Yt(e,t,n){let{props:r,trigger:s={},easing:i="ease-out",speed:l=1,once:f=false,axis:u="y",scrollContainer:p,native:b=true,velocityScale:P=false,triggerElement:v,onProgress:Z,onComplete:he,onEnter:T,onLeave:re,onEnterBack:be,onLeaveBack:A}=t,R=typeof i=="function"?i:ie[i]??ie["ease-out"],$=ye(s.start||"top bottom"),D=ye(s.end||"bottom top"),x=v??e,h=typeof p=="string"?document.querySelector(p):p??null,C=Object.entries(r).map(([c,d])=>({prop:Pn(c),from:Array.isArray(d)?d[0]:"",to:Array.isArray(d)?d[1]:d}));function K(){let c=window.getComputedStyle(e);for(let d of C)d.from===""&&(d.from=c.getPropertyValue(d.prop).trim()||"0");}function G(){for(let c of C)e.style.setProperty(c.prop,String(c.to));}let ae=new Map;for(let c of [...C.map(d=>d.prop),Ut])ae.set(c,e.style.getPropertyValue(c));function V(){for(let[c,d]of ae)d?e.style.setProperty(c,d):e.style.removeProperty(c);}if(n)return G(),he?.(),{...Xt,destroy:V,getProgress:()=>1};K();let ee=()=>h?u==="x"?h.scrollLeft:h.scrollTop:u==="x"?window.scrollX:window.scrollY,me=()=>h?u==="x"?h.clientWidth:h.clientHeight:u==="x"?window.innerWidth:window.innerHeight,we=typeof i=="string"?it(i):null;function le(){if(!b||!In()||!we||u!=="y"||h||x!==e||f||l!==1||Z||he||T||re||be||A||P!==false||(s.start||"top bottom").trim()!=="top bottom"||(s.end||"bottom top").trim()!=="bottom top")return false;for(let c of C)if(!$n.has(c.prop))return false;return true}function te(){let c=`ssd-a-${++Dn}`,d=C.map(k=>`${k.prop}:${k.from}`).join(";"),Pe=C.map(k=>`${k.prop}:${k.to}`).join(";"),S=document.createElement("style");S.setAttribute("data-ssd-animate",""),S.textContent=`@keyframes ${c}{from{${d}}to{${Pe}}}.${c}{animation-name:${c};animation-duration:auto;animation-timing-function:${we};animation-fill-mode:both;animation-timeline:view();animation-range:cover 0% cover 100%;}`,document.head.appendChild(S),e.classList.add(c);let O=()=>{let k=e.getBoundingClientRect();return Ae({top:k.top,height:k.height},ee(),me(),$,D)};Oe(e,{type:"animate",getProgress:()=>E.getProgress(),getTrigger:O});let E={refresh(){},destroy(){e.classList.remove(c),S.remove(),e.style.animationPlayState="",V(),ke(e);},replay(){e.classList.remove(c),e.offsetWidth,e.classList.add(c);},pause(){e.style.animationPlayState="paused";},resume(){e.style.animationPlayState="";},seek(k){let ve=Math.min(1,Math.max(0,k));e.classList.remove(c);for(let Ee of C)e.style.setProperty(Ee.prop,jt(Ee.from,Ee.to,ve));},getProgress(){let{tStart:k,tEnd:ve}=O();return R(J(ee(),k,ve,l))}};return E}if(le())return te();let y=0,m=0,M=0,fe=false,pe=false,qe=-1,W=0,Q=0,Ve=false,Se=NaN,ne=-1,Ce=0,de=x===e?C:[],Te=false;function xe(){let c=e.style,d=de.map(E=>c.getPropertyValue(E.prop)),Pe=c.transition;de.length&&(c.transition="none"),de.forEach(E=>c.setProperty(E.prop,ae.get(E.prop)??""));let S=ot(x,h,u);de.forEach((E,k)=>c.setProperty(E.prop,d[k])),de.length&&(e.offsetWidth,c.transition=Pe);let O=Ae(S,S.scroll,me(),$,D);Te&&Math.abs(O.tStart-y)<1&&Math.abs(O.tEnd-m)<1||(Te=true,y=O.tStart,m=O.tEnd);}function ge(c){e.style.setProperty(Ut,String(c));for(let d of C)e.style.setProperty(d.prop,jt(d.from,d.to,c));Z?.(c);}function Re(c){if(isNaN(Se)){Se=c;return}Se<=0&&c>0?T?.():Se>0&&c<=0&&A?.(),Se<1&&c>=1?re?.():Se>=1&&c<1&&be?.(),Se=c;}function Me(){if(!fe||pe)return;let c=performance.now(),d=ee(),Pe=l;if(P!==false){let k=c-Ce,ve=k>0?Math.abs(d-(ne<0?d:ne))/k:0;Pe=l*Math.max(.2,1+ve*(typeof P=="number"?P:1)*.04);}ne=d,Ce=c;let S=m===y?0:(d-y)/(m-y);Re(S);let O=J(d,y,m,Pe),E=f?Math.max(qe,R(W=Math.max(W,O))):R(O);Q=E,ge(E),E>=1&&!Ve?(Ve=true,he?.()):E<1&&!f&&(Ve=false),M=requestAnimationFrame(Me);}xe(),m===y&&B("scrollAnimate: the trigger window has zero length (start and end resolve to the same scroll position), so this element will never animate. If the target is inside a position:sticky stage, measure the trigger from the container that holds the scroll room via `triggerElement`.",e),W=J(ee(),y,m,l),Q=R(W),ge(Q);let F=new IntersectionObserver(c=>{c.forEach(d=>{fe=d.isIntersecting,fe&&!pe?M=requestAnimationFrame(Me):cancelAnimationFrame(M);});},{root:h??null}),I;function oe(){clearTimeout(I),I=setTimeout(xe,150);}window.addEventListener("resize",oe),window.addEventListener("orientationchange",oe);let se=_e([x],oe);return F.observe(e),Oe(e,{type:"animate",getProgress:()=>Q,getTrigger:()=>({tStart:y,tEnd:m})}),{destroy(){cancelAnimationFrame(M),F.disconnect(),window.removeEventListener("resize",oe),window.removeEventListener("orientationchange",oe),se(),clearTimeout(I),V(),ke(e);},replay(){qe=-1,W=0,Ve=false,Q=0,pe=false,ge(0);},pause(){pe=true,cancelAnimationFrame(M);},resume(){pe&&(pe=false,fe&&(M=requestAnimationFrame(Me)));},seek(c){let d=Math.min(1,Math.max(0,c));Q=d,qe=d,W=0,pe=true,cancelAnimationFrame(M),ge(d);},getProgress(){return Q},refresh(){xe();}}}var wt={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function Zt(e,t){if(typeof window>"u")return wt;let n=typeof e=="string"?document.querySelector(e):e;return n?ze(t,(r,s)=>On(n,r,s)):(B("scrollCounter: element not found:",e),wt)}function On(e,t,n){let{from:r=0,to:s,format:i,easing:l="ease-out",trigger:f={},once:u=true,decimals:p,onComplete:b}=t,P=p!==void 0?y=>y.toFixed(p):i??(y=>String(Math.round(y))),v=typeof l=="function"?l:ie[l]??ie["ease-out"],Z=ye(f.start||"top 80%"),he=ye(f.end||"top 20%");if(n)return e.textContent=P(s),b?.(),{...wt,getProgress:()=>1};let T=0,re=0,be=false,A=0,R=false,$=false,D=-1,x=0,h=0,C=false,K=()=>window.scrollY,G=()=>window.innerHeight;function ae(){let y=e.getBoundingClientRect(),m=Ae({top:y.top,height:y.height},K(),G(),Z,he);be&&Math.abs(m.tStart-T)<1&&Math.abs(m.tEnd-re)<1||(be=true,T=m.tStart,re=m.tEnd);}function V(y){e.textContent=P(r+(s-r)*y),e.style.setProperty("--scroll-draw-progress",String(y));}function ee(){if(!R||$)return;let y=J(K(),T,re,1),m=u?Math.max(D,v(x=Math.max(x,y))):v(y);h=m,V(m),m>=1&&!C?(C=true,b?.()):m<1&&!u&&(C=false),A=requestAnimationFrame(ee);}ae();{x=J(K(),T,re,1);let y=v(x);h=y,V(y);}let me=new IntersectionObserver(y=>{y.forEach(m=>{R=m.isIntersecting,R&&!$?A=requestAnimationFrame(ee):cancelAnimationFrame(A);});}),we;function le(){clearTimeout(we),we=setTimeout(ae,150);}window.addEventListener("resize",le),window.addEventListener("orientationchange",le);let te=_e([e],le);return me.observe(e),Oe(e,{type:"counter",getProgress:()=>h,getTrigger:()=>({tStart:T,tEnd:re})}),{destroy(){cancelAnimationFrame(A),me.disconnect(),window.removeEventListener("resize",le),window.removeEventListener("orientationchange",le),te(),clearTimeout(we),ke(e);},replay(){D=-1,x=0,C=false,h=0,$=false,V(0);},pause(){$=true,cancelAnimationFrame(A);},resume(){$&&($=false,R&&(A=requestAnimationFrame(ee)));},seek(y){let m=Math.min(1,Math.max(0,y));h=m,D=m,x=0,$=true,cancelAnimationFrame(A),V(m);},getProgress(){return h}}}function Kt(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 nn(e){let t=e.textContent??"";return e.textContent="",t.split(/(\s+)/).filter(Boolean).map(n=>{let r=document.createElement("span");return r.setAttribute("aria-hidden","true"),/^\s+$/.test(n)?(r.textContent=n,r.style.whiteSpace="pre"):(r.textContent=n,r.style.display="inline-block"),e.appendChild(r),/^\s+$/.test(n)?null:r}).filter(n=>n!==null)}function kn(e){let t=e.textContent??"";return e.textContent="",t.split("").map(n=>{let r=document.createElement("span");return r.setAttribute("aria-hidden","true"),r.textContent=n,n===" "?r.style.whiteSpace="pre":r.style.display="inline-block",e.appendChild(r),n===" "?null:r}).filter(n=>n!==null)}function en(e){let t=nn(e),n=new Map;for(let i of t){let l=i.offsetTop;n.has(l)||n.set(l,[]),n.get(l).push(i);}let r=[],s=Array.from(n.keys()).sort((i,l)=>i-l);for(let i of s){let l=n.get(i),f=document.createElement("span");f.setAttribute("aria-hidden","true"),f.style.display="inline-block",l.forEach((u,p)=>{let b=u.nextElementSibling;f.appendChild(u),p<l.length-1&&b&&b.style.whiteSpace==="pre"&&f.appendChild(b);}),r.push(f);}return e.textContent="",r.forEach((i,l)=>{e.appendChild(i),l<r.length-1&&e.appendChild(document.createTextNode(" "));}),r}function Rn(e,t,n,r){if(n<=1||r===0)return e;let s=(n-1)*r,i=t*r,l=i+(1-s);return l<=i?e>=i?1:0:Math.min(1,Math.max(0,(e-i)/(l-i)))}function Fn(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 tn={destroy:()=>{},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>0};function rn(e,t={}){if(typeof window>"u")return tn;let n=typeof e=="string"?document.querySelector(e):e;if(!n)return B("scrollText: element not found:",e),tn;let r=n;return ze(t,(s,i)=>Hn(r,s,i))}function Hn(e,t,n){let{split:r="words",stagger:s=.04,easing:i="ease-out",from:l={opacity:0,y:24},trigger:f={},once:u=true,onComplete:p}=t,b=typeof i=="function"?i:ie[i]??ie["ease-out"],P=ye(f.start||"top 85%"),v=ye(f.end||"top 40%"),Z=e.innerHTML,he=e.textContent??"",T;r==="chars"?T=kn(e):r==="lines"?T=en(e):T=nn(e),Kt(e,he);let re=T.length;function be(m,M){l?.opacity!==void 0&&(m.style.opacity=String(l.opacity+(1-l.opacity)*M));let fe=Fn(M,l);fe&&(m.style.transform=fe);}function A(m){e.style.setProperty("--scroll-draw-progress",String(m)),T.forEach((M,fe)=>{let pe=b(Rn(m,fe,re,s));be(M,pe);});}if(n)return A(1),p?.(),{destroy(){e.innerHTML=Z;},replay:()=>{},pause:()=>{},resume:()=>{},seek:()=>{},getProgress:()=>1};A(0);let R=0,$=0,D=0,x=false,h=false,C=-1,K=0,G=false,ae=()=>window.scrollY,V=()=>window.innerHeight;function ee(){let m=e.getBoundingClientRect(),M=Ae({top:m.top,height:m.height},ae(),V(),P,v);R=M.tStart,$=M.tEnd;}function me(){if(!x||h)return;let m=J(ae(),R,$,1);u&&(C=Math.max(C,m),m=C),K=m,A(m),m>=1&&!G?(G=true,p?.()):m<1&&!u&&(G=false),D=requestAnimationFrame(me);}ee();let we=new IntersectionObserver(m=>{m.forEach(M=>{x=M.isIntersecting,x&&!h?D=requestAnimationFrame(me):cancelAnimationFrame(D);});}),le;function te(){clearTimeout(le),le=setTimeout(()=>{if(r==="lines"){let m=K;e.innerHTML=Z,T=en(e),Kt(e,he),A(m);}ee();},150);}window.addEventListener("resize",te),window.addEventListener("orientationchange",te);let y=_e([e],te);return we.observe(e),Oe(e,{type:"text",getProgress:()=>K,getTrigger:()=>({tStart:R,tEnd:$})}),{destroy(){cancelAnimationFrame(D),we.disconnect(),window.removeEventListener("resize",te),window.removeEventListener("orientationchange",te),y(),clearTimeout(le),e.innerHTML=Z,ke(e);},replay(){C=-1,G=false,K=0,h=false,A(0);},pause(){h=true,cancelAnimationFrame(D);},resume(){h&&(h=false,x&&(D=requestAnimationFrame(me)));},seek(m){let M=Math.min(1,Math.max(0,m));K=M,C=M,h=true,cancelAnimationFrame(D),A(M);},getProgress(){return K}}}function Nn(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?ct(r,t):(B("Container not found:",e),n)}function Ze(){return typeof document>"u"?null:document}var vt=new WeakMap,on;function ut(e,t,n,r){let s=vt.get(e)??new Map;vt.set(e,s);let i=()=>{let u=n(),p=s.get(t);p&&p.key===u||(p?.inst.destroy(),s.set(t,{inst:r(u),key:u,build:i,users:p?.users??0}));};i(),s.get(t).users++;let l=true;typeof MutationObserver<"u"&&(on??(on=new MutationObserver(u=>u.forEach(p=>vt.get(p.target)?.forEach(b=>b.build())))),on.observe(e,{attributes:true,attributeFilter:["draw","animate","counter","text"].map(u=>`data-scroll-${u}-options`).concat("data-scroll-drawoptions")}));let f=()=>s.get(t)?.inst;return {destroy:()=>{let u=s.get(t);!l||!u||(l=false,!(--u.users>0)&&(u.inst.destroy(),s.delete(t)));},replay:()=>f()?.replay(),pause:()=>f()?.pause(),resume:()=>f()?.resume(),seek:u=>f()?.seek(u),getProgress:()=>f()?.getProgress()??0,refresh:()=>f()?.refresh?.()}}function mt(e,t){try{return e?JSON.parse(e):t}catch{return t}}function _n(e=Ze()){return e?Array.from(e.querySelectorAll("[data-scroll-draw]")).map(t=>ut(t,"draw",()=>t.dataset.scrollDrawOptions??t.dataset.scrollDrawoptions??"",n=>ct(t,mt(n,{})))):[]}function zn(e=Ze()){return e?Array.from(e.querySelectorAll("[data-scroll-animate]")).map(t=>ut(t,"animate",()=>t.dataset.scrollAnimateOptions??"",n=>Jt(t,mt(n,{props:{}})))):[]}function Vn(e=Ze()){return e?Array.from(e.querySelectorAll("[data-scroll-counter]")).map(t=>ut(t,"counter",()=>t.dataset.scrollCounterOptions??"",n=>{let r=mt(n,{});return !r.to&&r.to!==0&&(B('initScrollCounter: element missing "to" in options JSON:',t),r.to=0),typeof r.format!="function"&&r.format!==void 0&&(B('initScrollCounter: "format" must be a function, so it cannot come from JSON; use "decimals":',t),delete r.format),Zt(t,r)})):[]}function qn(e=Ze()){return e?Array.from(e.querySelectorAll("[data-scroll-text]")).map(t=>ut(t,"text",()=>t.dataset.scrollTextOptions??"",n=>rn(t,mt(n,{})))):[]}function Yr(e=Ze()){return {draw:_n(e),animate:zn(e),counter:Vn(e),text:qn(e)}}exports.initAll=Yr;exports.initScrollAnimate=zn;exports.initScrollCounter=Vn;exports.initScrollDraw=_n;exports.initScrollText=qn;exports.scrollDraw=Nn;
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
+ <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:${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-BLY6F6EC.mjs';import {a as a$2}from'../chunk-4H2SGMAQ.mjs';import {a as a$1}from'../chunk-LGJQWZHH.mjs';import {a}from'../chunk-V4L3ELVC.mjs';import {b}from'../chunk-23EALNDF.mjs';import'../chunk-OJFWQ6CU.mjs';import'../chunk-UPWWULKI.mjs';import'../chunk-YZV4Z3EQ.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};