PageSourceSearch

https://homelux.hu/cdn/shop/t/2/assets/multitasking-bar.js?v=102049663334390675861785822019

js homelux.hu collected 2026-10-06 07:34:32 UTC 5,977 bytes, 2 lines download raw bytes

1class MultitaskingBar extends HTMLElement{constructor(){super(),this.resizeObserver=null}connectedCallback(){this.normalizeLayout(),this.setInitLayout(),this.init()}disconnectedCallback(){window.removeEventListener("scroll",this.handleScroll),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}normalizeLayout(){const wrap=this.querySelector(".multi-t__wrap"),panel=this.querySelector(".multi-t__items-panel"),backToTopButton=this.querySelector(".button__back-to-top");wrap&&panel&&backToTopButton&&backToTopButton.parentElement===panel&&wrap.appendChild(backToTopButton)}init(){this.buttonToggle=this.querySelectorAll(".multi-t__button"),this.mobileMenuPanel=this.querySelector(".multi-t__items-panel"),this.mobileMenuButton=this.querySelector('[data-target="multitasking-mobile-menu"]'),this.onBodyClick=this.handleBodyClick.bind(this),this.querySelector(".button__back-to-top")&&(this.backToTopButton=this.querySelector(".button__back-to-top"),this.backToTopInnerButton=this.querySelector(".button__back-to-top .multi-t__button"),this.updateScrollTopHeight(),this.handleScroll=this.throttleScroll.bind(this),this.setupResizeObserver(),window.addEventListener("scroll",this.handleScroll)),this.buttonToggle?.forEach(button=>{button.addEventListener("click",this.open.bind(this))}),[".drawer__close",'[id^="Drawer-Overlay-"]'].forEach(selector=>{this.querySelector(selector)?.addEventListener("click",this.close.bind(this))})}updateScrollTopHeight(){const target=this.backToTopInnerButton||this.querySelector(".button__back-to-top .multi-t__button");if(target){const height=target.offsetHeight;height>0&&(this.scrollTopHeight=height)}}setupResizeObserver(){!this.backToTopButton||typeof ResizeObserver>"u"||(this.resizeObserver=new ResizeObserver(entries=>{for(const entry of entries){const{height}=entry.contentRect;height>0&&(this.scrollTopHeight=height,this.onScroll())}}),this.resizeObserver.observe(this.backToTopInnerButton||this.backToTopButton))}setInitLayout(){this.getDefaultActiveBlock()?.classList.add("active"),this.querySelectorAll(".target-block").forEach((button,index)=>{button.setAttribute("data-index",index+1)})}getDefaultActiveBlock(){return this.querySelector(".target-block:not(.multi-t__mobile-toggle):not(.button__back-to-top)")||this.querySelector(".button__back-to-top")||this.querySelector(".target-block")}toggleMobileMenu(button){const isActive=this.mobileMenuPanel?.classList.toggle("active");button.closest(".target-block")?.classList.toggle("active",isActive),button.setAttribute("aria-expanded",isActive?"true":"false")}closeMobileMenu(){this.mobileMenuPanel?.classList.remove("active"),this.mobileMenuButton?.setAttribute("aria-expanded","false"),this.mobileMenuButton?.closest(".target-block")?.classList.remove("active")}open(event){const _target=event.currentTarget.dataset.target;if(_target==="multitasking-mobile-menu"){event.preventDefault(),this.toggleMobileMenu(event.currentTarget),document.body.addEventListener("click",this.onBodyClick);return}_target!=="multitasking-social-media"&&this.closeMobileMenu(),this.buttonToggle?.forEach(button=>{if(button!=event.currentTarget){if(_target==="multitasking-social-media"&&button.dataset.target==="multitasking-mobile-menu")return;button.closest(".target-block")?.classList.remove("active"),button.closest(".target-block").querySelector(".multi-t__wrapper")?.classList.remove("active")}else this.activeFirst=this.getDefaultActiveBlock(),button.closest(".target-block").classList.contains("active")&&!this.activeFirst.classList.contains("active")?(this.querySelectorAll(".target-block").forEach(button2=>{button2.classList.remove("active")}),this.activeFirst.classList.add("active")):this.activeFirst.classList.remove("active")});const targetBlock=event.currentTarget.closest(".target-block");if(targetBlock){if(targetBlock.classList.toggle("active"),_target==="multitasking-social-media")targetBlock.querySelector(".multi-t__wrapper")?.classList.toggle("active");else if(_target==="back-to-top")return window.scroll({top:0,behavior:"smooth"}),!1}document.body.addEventListener("click",this.onBodyClick)}close(){this.querySelectorAll(".target-block.active").forEach(button=>{button.classList.remove("active"),button.querySelector(".multi-t__wrapper")?.classList.remove("active"),this.getDefaultActiveBlock()?.classList.add("active")}),this.closeMobileMenu(),document.body.removeEventListener("click",this.onBodyClick)}handleBodyClick(event){const target=event.target;!this.contains(target)&&target!==document.getElementsByClassName("popup__inner")&&!target.closest(".popup__inner")&&this.close()}throttleScroll(){this.isScrolling||window.requestAnimationFrame(()=>{this.onScroll(),this.isScrolling=!1}),this.isScrolling=!0}onScroll(){const backToTopButton=this.backToTopButton||this.querySelector(".button__back-to-top"),firstTargetBlock=this.getDefaultActiveBlock(),onlyBackToTop=this.classList.contains("only-back-to-top");if(window.pageYOffset<=300)if(backToTopButton.classList.add("hide"),!this.querySelector(".button__back-to-top:first-child")&&backToTopButton.classList.contains("active")&&(backToTopButton.classList.remove("active"),firstTargetBlock?.classList.add("active")),!onlyBackToTop)backToTopButton.style.setProperty("--h-cus","0px");else{const heightValue=this.scrollTopHeight||backToTopButton.offsetHeight||0;backToTopButton.style.setProperty("--h-cus",`${heightValue}px`),this.style.setProperty("opacity","0"),this.style.setProperty("visibility","hidden")}else{backToTopButton.classList.remove("hide");const heightValue=this.scrollTopHeight||backToTopButton.offsetHeight||0;backToTopButton.style.setProperty("--h-cus",`${heightValue}px`),onlyBackToTop&&(this.style.setProperty("opacity","1"),this.style.setProperty("visibility","visible"))}}}customElements.get("multitasking-bar")||customElements.define("multitasking-bar",MultitaskingBar);
2//# sourceMappingURL=/cdn/shop/t/2/assets/multitasking-bar.js.map?v=102049663334390675861785822019

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.