PageSourceSearch

https://wistuba.com/theme/aaca2428c87b9d5a0d6052db3896ce71/js/zeni…sales-countdown-bar-slider.plugin.3d9bfd.js

js wistuba.com collected 2026-10-02 11:22:35 UTC 3,715 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1777],{777(e,t,i){i.r(t),i.d(t,{default:()=>l});class s{static iterate(e,t){if(e instanceof Map||Array.isArray(e))return e.forEach(t);if(e instanceof FormData){for(var i of e.entries())t(i[1],i[0]);return}if(e instanceof NodeList)return e.forEach(t);if(e instanceof HTMLCollection)return Array.from(e).forEach(t);if(e instanceof Object)return Object.keys(e).forEach(i=>{t(e[i],i)});throw Error(`The element type ${typeof e} is not iterable!`)}}class l extends window.PluginBaseClass{static #e=this.options={salesBar:"#sales-countdown-bar",collapseContent:".sales-countdown-bar-collapse-content",collapseTarget:"#sales-countdown-bar-collapse",sliderItems:".text-slider-items",sliderItem:".text-slider-item",sliderItemEntry:".item-entry",animationIn:"js-animate-in",animationOut:"js-animate-out",hidden:"js-hidden",bsVisibleClass:"show",interval:1e3};init(){let e=this.options;this._salesBar=document.querySelector(e.salesBar),this._sliderItems=this.el.querySelector(e.sliderItems),this._sliderItem=this.el.querySelectorAll(e.sliderItem),this._sliderItemEntry=this.el.querySelectorAll(e.sliderItemEntry),this._collapseContent=document.querySelector(e.collapseContent),this._counter=0,this._sliderSetTimeout=null,this._sliderSetTimeoutResize=null,this._sliderItemPrev=null,this._sliderFirstLoad=!1,this._sliderDestroyed=!1,this._sliderItem.length>1&&this._registerEvents()}_registerEvents(){let e=this.options,t=document.querySelector(e.collapseTarget);document.fonts.ready.then(()=>{this._getHolderHeight(),this._loadSlide()}),t.addEventListener("shown.bs.collapse",()=>{this._rebuildSlider()}),t.addEventListener("hidden.bs.collapse",()=>{this._destroySlider()}),window.addEventListener("resize",this._resizeHandler.bind(this)),window.addEventListener("orientationchange",this._resizeHandler.bind(this)),this._salesBar.addEventListener("onCountdownRemoved",this._resizeHandler.bind(this)),this.$emitter.publish("registerEvents")}_getHolderHeight(){let e=this.options,t=document.querySelector(e.collapseContent),i=[];t.classList.add(e.hidden);for(let e=0;e<this._sliderItemEntry.length;e++)i.push(this._sliderItemEntry[e].clientHeight);t.classList.remove(e.hidden),this.el.style.height=Math.max.apply(null,i)+"px",this.$emitter.publish("onGetHolderHeight")}_resizeHandler(){this._collapseContent.classList.contains(this.options.bsVisibleClass)&&(clearTimeout(this._sliderSetTimeout),clearTimeout(this._sliderSetTimeoutResize),this._sliderSetTimeoutResize=setTimeout(this._rebuildSlider.bind(this),50))}_loadSlide(){let e=this.options;!this._sliderDestroyed&&this._collapseContent.classList.contains(this.options.bsVisibleClass)&&(clearTimeout(this._sliderSetTimeout),this._sliderSetTimeout=setTimeout(this._animateSlide.bind(this),this._sliderFirstLoad?e.interval:100),this.$emitter.publish("onLoadSlide"))}_animateSlide(){let e=this.options;this._sliderFirstLoad=!0,null!==this._sliderItemPrev&&this._sliderItemPrev.classList.add(e.animationOut);let t=this._sliderItems.children[this._counter];t.classList.remove(e.animationOut),t.classList.add(e.animationIn),this._sliderItemPrev=t,this._counter===this._sliderItem.length-1?this._counter=0:this._counter++,this._loadSlide(),this.$emitter.publish("onAnimateSlide")}_rebuildSlider(){this._sliderDestroyed=!1,this._getHolderHeight(),this._animateSlide(),this.$emitter.publish("onRebuildSlider")}_destroySlider(){let e=this.options;clearTimeout(this._sliderSetTimeout),clearTimeout(this._sliderSetTimeoutResize),s.iterate(this._sliderItem,t=>{t.classList.remove(e.animationOut,e.animationIn)}),this._counter=0,this._sliderFirstLoad=!1,this._sliderDestroyed=!0,this.$emitter.publish("onDestroySlider")}}}}]);

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.