PageSourceSearch

https://3s-website.netlify.app/_astro/TeaserBig.astro_astro_type_s…?dpl=6aa95959acc73c00085102e4

js 3s-website.netlify.app collected 2026-10-03 10:23:30 UTC 3,834 bytes, 1 lines download raw bytes

1import{g as h,S as f}from"./ScrollTrigger.a3sj5zmn.js?dpl=6aa95959acc73c00085102e4";import{B as S,r as b}from"./component.client.DGhttOhc.js?dpl=6aa95959acc73c00085102e4";h.registerPlugin(f);class n extends S{static CLIP_MASK_DURATION=1;static SLIDE_DURATION=1;static CLIP_MASK_TAIL=.3;static DIM_OPACITY=0;static SCROLL_PER_UNIT=.6;static FIRST_REVEAL_EASE="power2.out";timeline;resizeObserver;resizeHandler;refreshInitHandler;rafId;totalUnits=0;clipCache=new Map;init(){this.build()}destroy(){this.teardown()}build(){if(!this.$el)return;const i=this.$el.querySelector(":scope > .cards > .stack");if(!i)return;const e=Array.from(i.querySelectorAll(":scope > .card")),r=e.map(t=>t.querySelector(".teaser-big-card")).filter(t=>t!==null);if(!e.length||r.length!==e.length)return;const o=()=>r.forEach(t=>this.clipCache.set(t,this.contentClip(t))),p=()=>r.forEach(t=>this.applyClip(t,this.clipCache.get(t)??this.contentClip(t)));o(),p(),this.refreshInitHandler=o,f.addEventListener("refreshInit",this.refreshInitHandler),r.forEach(t=>{h.set(t,{opacity:1})}),e.forEach((t,a)=>{h.set(t,{zIndex:a+1,yPercent:a===0?0:100,willChange:"transform",force3D:!0})});const s=h.timeline({scrollTrigger:{trigger:i,start:"top top",end:()=>`+=${this.scrollDistance()}`,pin:!0,pinSpacing:!0,scrub:!0,anticipatePin:1,invalidateOnRefresh:!0}}),c=n.CLIP_MASK_DURATION,d=c*n.CLIP_MASK_TAIL,u=c-d;let l=0;r.forEach((t,a)=>{a>0&&(s.fromTo(e[a],{yPercent:100},{yPercent:0,duration:n.SLIDE_DURATION,ease:"none"},l),s.fromTo(r[a-1],{opacity:1},{opacity:n.DIM_OPACITY,duration:n.SLIDE_DURATION,ease:"none"},l),l+=n.SLIDE_DURATION);const I=()=>this.clipCache.get(t)??this.contentClip(t),C=()=>this.openClipRounded(t),m=()=>this.openClip(t);s.fromTo(t,{clipPath:I,webkitClipPath:I},{clipPath:C,webkitClipPath:C,duration:u,ease:a===0?n.FIRST_REVEAL_EASE:"none"},l),s.fromTo(t,{clipPath:C,webkitClipPath:C},{clipPath:m,webkitClipPath:m,duration:d,ease:"none"},l+u),l+=c}),this.totalUnits=l,this.timeline=s,this.observeResize(i,r,()=>{f.refresh()})}scrollDistance(){return this.totalUnits*window.innerHeight*n.SCROLL_PER_UNIT}contentClip(i){const e=i.querySelector(":scope > .content"),r=e&&getComputedStyle(e).borderTopLeftRadius||getComputedStyle(i).borderTopLeftRadius||"0px";if(!e)return`inset(0px 0px 0px 0px round ${r})`;const o=i.offsetWidth,p=i.offsetHeight;if(o===0||p===0)return`inset(0px 0px 0px 0px round ${r})`;const s=Math.max(0,e.offsetTop),c=Math.max(0,e.offsetLeft),d=Math.max(0,o-e.offsetLeft-e.offsetWidth),u=Math.max(0,p-e.offsetTop-e.offsetHeight);return`inset(${s}px ${d}px ${u}px ${c}px round ${r})`}openClipRounded(i){const e=i.querySelector(":scope > .content");return`inset(0px 0px 0px 0px round ${e&&getComputedStyle(e).borderTopLeftRadius||getComputedStyle(i).borderTopLeftRadius||"0px"})`}openClip(i){return"inset(0px 0px 0px 0px round 0px)"}applyClip(i,e){i.style.clipPath=e,i.style.setProperty("-webkit-clip-path",e)}observeResize(i,e,r){const o=()=>{this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(r)};"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(o),this.resizeObserver.observe(i),e.forEach(p=>{const s=p.querySelector(":scope > .content");s&&this.resizeObserver?.observe(s)})),this.resizeHandler=o,window.addEventListener("resize",this.resizeHandler,{passive:!0})}teardown(){this.refreshInitHandler&&(f.removeEventListener("refreshInit",this.refreshInitHandler),this.refreshInitHandler=void 0),this.timeline?.scrollTrigger?.kill(),this.timeline?.kill(),this.timeline=void 0,this.clipCache.clear(),this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=void 0),this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=void 0)}}h.registerPlugin(f);b("[data-teaser-big-animation]",n);

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.