1import noUiSlider from"vendor.nouislider";class PriceRange extends HTMLElement{constructor(){super(),this.slider=null}connectedCallback(){this.sliderEl=this.querySelector(".price-range__slider"),this.inputMinEl=this.querySelector(".price-range__input-min input"),this.inputMaxEl=this.querySelector(".price-range__input-max input"),this.minRange=parseFloat(this.getAttribute("min"))||0,this.minValue=parseFloat(this.getAttribute("min-value"))||0,this.maxRange=parseFloat(this.getAttribute("max"))||100,this.maxValue=parseFloat(this.getAttribute("max-value"))||this.maxRange,this.hotReload=this.getAttribute("hot-reload")==="true",this.direction=getComputedStyle(this).direction,this.createPriceRange()}disconnectedCallback(){this.slider&&(this.slider.destroy(),this.slider=null)}createPriceRange(){this.slider&&this.slider.destroy(),this.slider=noUiSlider.create(this.sliderEl,{connect:!0,direction:this.direction,start:[this.minValue,this.maxValue],range:{min:this.minRange,max:this.maxRange}}),this.setupSliderHandling(),this.setupInputHandling()}setupSliderHandling(){this.slider.on("update",(values,handle)=>{const[min,max]=values.map(value2=>parseInt(value2,10)),inputMinValue=parseInt(this.inputMinEl.value,10),inputMaxValue=parseInt(this.inputMaxEl.value,10);if(min===inputMinValue&&max===inputMaxValue)return;const inputEl=handle===0?this.inputMinEl:this.inputMaxEl,value=handle===0?min:max;inputEl.value=value,this.hotReload&&inputEl.dispatchEvent(new Event("list:price-range:slider-change",{bubbles:!0}))})}setupInputHandling(){this.addEventListener("change",event=>{const inputEl=event.target;if(!this.isPriceRangeInput(inputEl))return;const[min,max]=this.slider.get(!0),value=parseInt(inputEl.value,10);inputEl===this.inputMinEl&&value!==min?this.slider.set([value,null]):inputEl===this.inputMaxEl&&value!==max&&this.slider.set([null,value]),this.hotReload||event.stopPropagation()}),this.addEventListener("click",e=>{this.isPriceRangeInput(e.target)&&e.target.select()})}isPriceRangeInput(target){return target===this.inputMinEl||target===this.inputMaxEl}}customElements.define("price-range",PriceRange); 2//# sourceMappingURL=/cdn/shop/t/79/assets/list.price-range.js.map?v=128216353801046541681771950185
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.