PageSourceSearch

https://www.tip-pumpen.de/theme/0e38d563cdfd2354a419f47224c86f50/j…product-set-sticky-element.plugin.e8c99a.js

js tip-pumpen.de collected 2026-10-04 20:34:46 UTC 3,601 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[14607],{889:(t,e,i)=>{i.d(e,{A:()=>r});class s{static debounce(t,e){let i,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];s&&!i&&setTimeout(t.bind(t,...n),0),clearTimeout(i),i=setTimeout(t.bind(t,...n),e)}}}class r{constructor(){this.previousViewport=null,this.currentViewport=r.getCurrentViewport(),this._registerEvents()}_registerEvents(){window.addEventListener("DOMContentLoaded",this._onDOMContentLoaded.bind(this)),window.addEventListener("resize",s.debounce(this._onResize.bind(this),200),{capture:!0,passive:!0})}_onDOMContentLoaded(){this._dispatchEvents()}_onResize(){this._viewportHasChanged(r.getCurrentViewport())&&(this._dispatchEvents(),this._dispatchViewportEvent("Viewport/hasChanged"))}_dispatchEvents(){r.isXS()?this._dispatchViewportEvent("Viewport/isXS"):r.isSM()?this._dispatchViewportEvent("Viewport/isSM"):r.isMD()?this._dispatchViewportEvent("Viewport/isMD"):r.isLG()?this._dispatchViewportEvent("Viewport/isLG"):r.isXL()?this._dispatchViewportEvent("Viewport/isXL"):r.isXXL()&&this._dispatchViewportEvent("Viewport/isXXL")}_viewportHasChanged(t){let e=t!==this.currentViewport;return e&&(this.previousViewport=this.currentViewport,this.currentViewport=t),e}_dispatchViewportEvent(t){document.$emitter.publish(t,{previousViewport:this.previousViewport})}static isXS(){return"XS"===r.getCurrentViewport()}static isSM(){return"SM"===r.getCurrentViewport()}static isMD(){return"MD"===r.getCurrentViewport()}static isLG(){return"LG"===r.getCurrentViewport()}static isXL(){return"XL"===r.getCurrentViewport()}static isXXL(){return"XXL"===r.getCurrentViewport()}static getCurrentViewport(){return window.getComputedStyle(document.documentElement).getPropertyValue("--sw-current-breakpoint").replace(/['"]+/g,"").toUpperCase()}}},607:(t,e,i)=>{i.r(e),i.d(e,{default:()=>r});var s=i(889);class r extends window.PluginBaseClass{static #t=this.options={imageDefaultOffset:0,targetSelector:null,containerSelector:null,allowedViewports:null};constructor(){super(...arguments),this._elementHeights=[],this._container=this.options.containerSelector?document.querySelector(this.options.containerSelector):this.el,this._targets=this.options.targetSelector?document.querySelectorAll(this.options.targetSelector):[this.el],this.updatePositions(),this._registerEvents()}init(){}_registerEvents(){window.addEventListener("resize",this.updatePositions.bind(this),{passive:!0}),window.addEventListener("scroll",this.updateElementOffsetTop.bind(this),{passive:!0});let t=new ResizeObserver(this.updatePositions.bind(this));for(let e of(t.observe(this._container),this._targets))t.observe(e)}updateElementOffsetTop(){let t=this._isInAllowedViewports(),e=window.scrollY-this._containerTop+this.options.imageDefaultOffset;for(let[i,s]of this._targets.entries()){if(null===s.offsetParent)continue;let r=0;t&&((r=e)>0&&(r=Math.min(r,this._containerHeight-this._elementHeights[i])),r<0&&(r=0)),s.style.transform=`translateY(${r}px)`}}updatePositions(){let t=this.getStickyOffsetTopElement();for(let[e,i]of(this._containerTop=this._container.getBoundingClientRect().top+window.scrollY-document.body.clientTop-(t?t.offsetHeight:0),this._containerHeight=this._container.offsetHeight,this._targets.entries()))this._elementHeights[e]=i.offsetHeight;this.updateElementOffsetTop()}getStickyOffsetTopElement(){return null}_isInAllowedViewports(){return!this.options.allowedViewports||this.options.allowedViewports.includes(s.A.getCurrentViewport())}}}}]);

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.