PageSourceSearch

https://www.plazahotel.ie/wp-content/themes/allora-cms/assets/js/c…ger_menu-scroll-indicator.js?ver=1789484639

js plazahotel.ie collected 2026-09-26 08:14:05 UTC 1,987 bytes, 1 lines download raw bytes

1(()=>{class MenuScrollIndicator{constructor(t){this.button=t;this.container=this.findScrollContainer(t);if(!this.container)return;this.hiddenClass="voyager-header__menu-scroll-indicator--is-hidden";this.bottomThreshold=4;this.ticking=false;this.updateVisibility=this.updateVisibility.bind(this);this.onScroll=this.onScroll.bind(this);this.onResize=this.onResize.bind(this);this.init()}findScrollContainer(t){let i=t.parentElement;while(i&&i!==document.body){if(this.isScrollable(i))return i;const t=Array.from(i.children).find(t=>this.isScrollable(t));if(t)return t;i=i.parentElement}return null}isScrollable(t){const i=window.getComputedStyle(t).overflowY;return"auto"===i||"scroll"===i}init(){this.button.addEventListener("click",()=>this.scrollForMore());this.container.addEventListener("scroll",this.onScroll,{passive:true});window.addEventListener("resize",this.debounce(this.onResize,150));this.observeMenuOpen();this.updateVisibility()}onScroll(){if(this.ticking)return;this.ticking=true;window.requestAnimationFrame(()=>{this.updateVisibility();this.ticking=false})}onResize(){this.updateVisibility()}updateVisibility(){const t=this.container.scrollHeight>this.container.clientHeight;const i=this.container.scrollTop+this.container.clientHeight>=this.container.scrollHeight-this.bottomThreshold;const e=t&&!i;this.button.classList.toggle(this.hiddenClass,!e)}scrollForMore(){this.container.scrollBy({top:.8*this.container.clientHeight,behavior:"smooth"})}observeMenuOpen(){const t=new MutationObserver(()=>{if(document.body.classList.contains("popup-menu-open"))setTimeout(this.updateVisibility,500)});t.observe(document.body,{attributes:true,attributeFilter:["class"]})}debounce(t,i){let e;return function(){for(var n=arguments.length,s=new Array(n),o=0;o<n;o++)s[o]=arguments[o];clearTimeout(e);e=setTimeout(()=>t(...s),i)}}}document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".js-menu-scroll-indicator").forEach(t=>{new MenuScrollIndicator(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.