PageSourceSearch

https://www.tissue24.com/theme/2e2def5f57edd5356919b708d7b337d5/js…m-gravity.zen-nav-scroller.plugin.baf3f0.js

js tissue24.com collected 2026-10-07 16:30:41 UTC 4,406 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[18849],{4059(t,e,i){i.d(e,{A:()=>n});class n{static debounce(t,e){let i,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var o=arguments.length,s=Array(o),l=0;l<o;l++)s[l]=arguments[l];n&&!i&&setTimeout(t.bind(t,...s),0),clearTimeout(i),i=setTimeout(t.bind(t,...s),e)}}}},8849(t,e,i){i.r(e),i.d(e,{default:()=>o});var n=i(4059);class o extends window.PluginBaseClass{static #t=this.options={activeItemSelector:".nav-item-{id}-link",activeRootId:"",containerSelector:".container",mainNavigationSelector:".main-navigation-menu",prevControlSelector:".main-navigation-scroller-controls-prev",nextControlSelector:".main-navigation-scroller-controls-next",prevControlClass:["btn","p-0","js-main-navigation-scroller-controls","left-control"],nextControlClass:["btn","p-0","js-main-navigation-scroller-controls","right-control"],prevControlContent:"&#10094;",nextControlContent:"&#10095;",scrollStep:"auto",animationSpeed:400,controlOffset:50,resizeDebounceTime:200,visibleClass:"js-visible"};init(){let t=this.options;this._listContainer=this.el.querySelector(t.mainNavigationSelector),this._listContainer&&(this._scrollStep="auto"===t.scrollStep?this._listContainer.clientWidth/2:parseFloat(t.scrollStep),this.initTemplate(),this.registerEvents(),document.fonts.ready.then(()=>{this.updateButtons();let e=t.activeItemSelector.replace("{id}",this.options.activeRootId);this._activeChild=this._listContainer.querySelector(e),this._activeChild&&this.jumpToElement(this._activeChild)}))}registerEvents(){let t="click";window.addEventListener("resize",n.A.debounce(this._onResize.bind(this),this.options.resizeDebounceTime)),this._prevControl.addEventListener(t,this.onPrevControlClick.bind(this)),this._nextControl.addEventListener(t,this.onNextControlClick.bind(this)),this._listContainer.addEventListener("scroll",this.updateButtons.bind(this)),this._listContainer.addEventListener("keydown",t=>{("Tab"===t.code||9===t.keyCode)&&setTimeout(()=>{let t=document.activeElement;this._listContainer.contains(t)&&t.scrollIntoView({behavior:"smooth",block:"end"})},0)})}initTemplate(){let t=this.options,e=this.el.querySelector(t.containerSelector);if(this._prevControl=this.el.querySelector(t.prevControlSelector),!this._prevControl){this._prevControl=document.createElement("button");let i=document.createElement("span");i.innerHTML=t.prevControlContent,this._prevControl.appendChild(i),e.appendChild(this._prevControl)}if(this._prevControl.classList.add(...t.prevControlClass),this._nextControl=this.el.querySelector(t.nextControlSelector),!this._nextControl){this._nextControl=document.createElement("button");let i=document.createElement("span");i.innerHTML=t.nextControlContent,this._nextControl.appendChild(i),e.appendChild(this._nextControl)}this._nextControl.classList.add(...t.nextControlClass),this.$emitter.publish("onInitTemplate")}updateButtons(){let t=this.options,e=Math.ceil(this._listContainer.clientWidth),i=Math.ceil(this._listContainer.scrollWidth),n=Math.ceil(this._listContainer.scrollLeft),o=i>e;this._prevControl.classList.toggle(t.visibleClass,o&&n>0),this._nextControl.classList.toggle(t.visibleClass,o&&n<i-e),this.$emitter.publish("onUpdateButtons")}_onResize(){"auto"===this.options.scrollStep&&(this._scrollStep=this._listContainer.clientWidth/2),this.updateButtons(),this.$emitter.publish("onResize")}onPrevControlClick(t){t.preventDefault(),this.addOffset(-1*this._scrollStep),this.$emitter.publish("onPrevControlClick")}onNextControlClick(t){t.preventDefault(),this.addOffset(this._scrollStep),this.$emitter.publish("onNextControlClick")}addOffset(t){this.setOffset(this._listContainer.scrollLeft+t),this.$emitter.publish("onAddOffset")}setOffset(t,e){let i=this.options.animationSpeed,n=Math.ceil(this._listContainer.clientWidth),o=Math.max(0,Math.min(this._listContainer.scrollWidth-n,t));if(!1!==e){this._listContainer.scrollTo({left:o,behavior:"smooth"}),setTimeout(()=>{this.updateButtons()},i);return}this._listContainer.scrollTo({left:o}),this.updateButtons(),this.$emitter.publish("onSetOffset")}jumpToElement(t){let e;let i=this.options,n=Math.ceil(this._listContainer.clientWidth),o=this._listContainer.scrollLeft,s=t.getBoundingClientRect(),l=t.offsetLeft,r=l+s.width;e=l>o&&r>o+n?r-n+i.controlOffset:Math.min(l,o),this.setOffset(e,!1),this.$emitter.publish("onJumpToElement")}}}}]);

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.