1import{u as b,N as $,o as z,L as G,V as M,z as a}from"./5hkCUdGJ.js";const D={yPercent:110},P={yPercent:0,duration:.8,ease:"expo.out",stagger:.05},k=90,h="top 80%",l={IDLE:"idle",PLAYING:"playing",DONE:"done"};let C=0;const V=(f,d={})=>{const{preserveDomOnUnmount:w=!1,revert:p=!0}=d,{$gsap:u,$SplitText:I,$ScrollTrigger:L,$bus:g,$resizeManager:m}=b(),o=a(null),T=a(!1),E=a(!1),O=a(!1),S=`splitText-${++C}`;let e,v,s,i,t=null,n=l.IDLE;const N=()=>t?parseFloat(window.getComputedStyle(t).fontSize):0,R=()=>{t&&(v=I.create(t,{type:"lines,words",autoSplit:!0,mask:"lines",linesClass:"line",deepSlice:!0,aria:"none",onSplit:r=>{if(d?.callback?.(r),n===l.DONE)return;const c=e?e.progress():0;e&&e.revert();const A=D;return e=u.fromTo(r.words,A,{...P,paused:!0,immediateRender:!1,onStart:()=>{n=l.PLAYING},onComplete:()=>{n=l.DONE,O.value=!0,s?.kill(),s=null,N()<k&&!p&&r.revert()}}),n===l.PLAYING?e.progress(c).play():u.set(r.words,D),E.value=!0,e}}))},x=()=>{o.value&&(t=f?o.value.querySelector(f):o.value,t&&(i=u.matchMedia(),i.add(M,r=>{r.conditions.reducedMotion||R()},o.value),m.add(S,()=>{n===l.DONE&&(p||N()>=k||v?.revert())})))},y=()=>{T.value=!0};return $([E,T],([r,c])=>{!r||!c||!e||s||(s=L.create({trigger:t,start:h,once:!0,onEnter:()=>{n!==l.DONE&&e?.play()}}))}),z(()=>{x(),g.on("enableTriggers",y)}),G(()=>{m.remove?.(S),w&&i?.kill?i.kill(!1):i?.kill(),e?.kill(),s?.kill(),g.off("enableTriggers",y),t=null}),{elRef:o}};export{V as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.