1import{n as e}from"../chunks/Bu1b7I3T.min.js";var t=class extends HTMLElement{connectedCallback(){e().then(({gsap:e})=>{if(!this.isConnected)return;let t=[],n=this.querySelectorAll(`h1, h2, h3, h4, h5, h6, p, blockquote, li`),r=this.querySelectorAll(`a:not(.card-fadein *):not(.blog-post *)`);n.forEach(e=>{let n=e.className,r=document.createElement(`div`);r.innerHTML=e.innerHTML;let i=e=>(e.textContent||``).split(/\s+/).filter(e=>e.length>0).map(e=>`<span style="display: inline-block; position: relative; clip-path: inset(-20% -20% -20% -20%);"> 2 <div class="word" style="display: inline-block; transform: translateY(115%); will-change: transform;">${e}</div> 3 </span>`).join(` `),a=e=>{if(e.nodeType===Node.TEXT_NODE)return i(e);if(e.nodeType===Node.ELEMENT_NODE){let t=e,n=t.tagName.toLowerCase();if([`a`,`b`,`u`,`i`,`s`,`sup`].includes(n)){let e=document.createElement(`span`);e.style.display=`inline-block`,e.style.position=`relative`,e.style.clipPath=`inset(-20% -20% -20% -20%)`,e.innerHTML=` 4 <div class="word" style="display: inline-block; transform: translateY(115%); will-change: transform;"> 5 ${t.outerHTML} 6 </div> 7 `;let n=t.previousSibling,r=t.nextSibling,i=n&&n.nodeType===Node.TEXT_NODE?` `:``,a=r&&r.nodeType===Node.TEXT_NODE&&r.textContent?.startsWith(` `)?` `:``;return i+e.outerHTML+a}return Array.from(t.childNodes).map(e=>a(e)).join(``)}return``};e.innerHTML=Array.from(r.childNodes).map(e=>a(e)).join(``),e.className=n,e.querySelectorAll(`.word`).forEach(e=>{let n=e;t.push(n)})}),r.forEach(e=>{let n=document.createElement(`span`);n.className=`word`,n.style.display=`inline-block`,n.style.opacity=`0`,n.style.transform=`translateY(1ch)`,n.style.willChange=`transform, opacity`;let r=e.parentNode;if(r){let i=e.nextSibling,a=i&&i.nodeType===Node.TEXT_NODE&&i.textContent?.startsWith(` `);r.insertBefore(n,e),n.appendChild(e),a&&n.appendChild(document.createTextNode(` `)),t.push(n)}}),e.timeline({scrollTrigger:{trigger:this,start:`top center`,toggleActions:`play none none none`}}).to(t,{y:(e,t)=>t.style.opacity===`0`?`0px`:`0%`,opacity:(e,t)=>t.style.opacity===`0`?1:null,duration:.8,stagger:{each:.015,from:`start`,ease:`none`},ease:`power2.out`})}).catch(e=>{console.error(`[root-text-fadein] Failed to load GSAP:`,e)})}};customElements.get(`root-text-fadein`)||customElements.define(`root-text-fadein`,t);
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.