PageSourceSearch

https://www.landestheater.at/cache-buster-1790240139/client/index-cdfe5d5d.js

js landestheater.at collected 2026-09-24 20:40:42 UTC 1,596 bytes, 1 lines download raw bytes

1import{L as r}from"./LottieHelper-6378017d.js";import{A as f}from"./AccessibilityHelper-b7834732.js";import"./index-8b6ae531.js";class d{constructor(t){this.elem=t,this.items=[...this.elem.querySelectorAll(".keyvisual__item")],this.lottieElements=[...this.elem.querySelectorAll(".keyvisual__item-image--lottie")],this.offset=0,this.windowHeight=window.innerHeight,this.boundUpdateOffset=this.updateOffset.bind(this)}init(){this.lottieElements.forEach(i=>{const s=i.getAttribute("data-path");s&&r.initAnimation(i,s)});const t=getComputedStyle(this.elem);if(t){const i=t.getPropertyValue("--offset").trim()||0;this.offset=parseFloat(i)}this.updateAllItemOffsets(),this.initObserver()}initObserver(){if(f.prefersReducedMotion())return;const t={rootMargin:"0px"};new IntersectionObserver(s=>{s.forEach(o=>{const a=typeof o.isIntersecting=="boolean"?o.isIntersecting:o.intersectionRatio>0,e=o.target;if(a&&!e.animationFrameId){const n=()=>{this.updateAllItemOffsets(),this.elem.getBoundingClientRect().bottom>0?e.animationFrameId=requestAnimationFrame(n):delete e.animationFrameId};e.animationFrameId=requestAnimationFrame(n)}else!a&&e.animationFrameId&&(cancelAnimationFrame(e.animationFrameId),delete e.animationFrameId)})},t).observe(this.elem)}updateAllItemOffsets(){this.items.forEach(this.boundUpdateOffset)}updateOffset(t){const i=t.getBoundingClientRect(),s=i.height+this.windowHeight,o=this.windowHeight-i.top,a=Math.max(0,Math.min(1,o/s)),e=parseFloat(t.style.getPropertyValue("--offset")),n=this.offset-a*2*this.offset;n!==e&&t.style.setProperty("--offset",`${n}px`)}}export{d as default};

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.