1class AlgoliaRangeInput extends HTMLElement{constructor(){super(),this.connectedCallback=this.connectedCallback.bind(this),this.createWidget=this.createWidget.bind(this),this.getRangeValues=this.getRangeValues.bind(this),this.getSelector=this.getSelector.bind(this),this.render=this.render.bind(this),this.renderContainer=this.renderContainer.bind(this),this.renderContent=this.renderContent.bind(this),this.renderWrapper=this.renderWrapper.bind(this)}connectedCallback(){this.settings={currencyIsoCode:this.getAttribute("currency-iso-code"),from:this.getAttribute("from"),to:this.getAttribute("to"),maxPrice:this.getAttribute("max-price")}}createWidget(configuration,instances){const{connectRange}=instances.instantSearch.connectors,connectedRangeInput=connectRange(renderOptions=>this.render(configuration,renderOptions)),attribute=configuration.name,selector=`[class~='${this.getSelector(configuration)}']`,container=document.querySelector(selector);return connectedRangeInput({container,attribute})}getRangeValues(range,start,usesCommaDecimals){const[min,max]=start,rangeValues={minValue:range.min,maxValue:range.max};return Number.isFinite(min)&&(usesCommaDecimals?rangeValues.minValue=min.toString().replace(".","").replace(",","."):rangeValues.minValue=min.toString().replace(",","")),Number.isFinite(max)&&(usesCommaDecimals?rangeValues.maxValue=max.toString().replace(".","").replace(",","."):rangeValues.maxValue=max.toString().replace(",","")),rangeValues}getSelector(configuration){const prefix="ais-range-input-",suffix=configuration.isMobile?"-mobile-container":"-container";return`${prefix}${configuration.container}${suffix}`}render(configuration,renderOptions){const{canRefine,range,refine,start,widgetParams}=renderOptions,{container}=widgetParams,form=document.createElement("form");this.renderContent(range,start).forEach(element=>form.appendChild(element)),container.classList.toggle("hidden",!canRefine);const elements=this.renderWrapper(configuration,range);container.innerHTML="",elements.forEach(element=>container.appendChild(element)),container.appendChild(form),form.addEventListener("submit",event=>{event.preventDefault();const rawMinInputValue=parseFloat(event.target.elements.min.value),rawMaxInputValue=parseFloat(event.target.elements.max.value);refine([Number.isFinite(rawMinInputValue)?rawMinInputValue:void 0,Number.isFinite(rawMaxInputValue)?rawMaxInputValue:void 0])})}renderContainer(configuration,html){const selector=this.getSelector(configuration),classNames=`${configuration.isMobile?"mobile-facets__details":""} facets__disclosure-vertical js-filter`;return html` 2 <details class="${classNames} ${selector}" data-index="${selector}" id="details-${selector}" open="true"></details> 3 `}renderContent(range,start){const usesCommaDecimals=["ANG","ARS","BRL","BYN","BYR","CLF","CLP","COP","CRC","CZK","DKK","EUR","HRK","HUF","IDR","ISK","MZN","NOK","PLN","RON","RUB","SEK","TRY","UYU","VES","VND"].includes(this.settings.currencyIsoCode),rangeValues=this.getRangeValues(range,start,usesCommaDecimals),minField=document.createElement("div");field.classList.add("field");const inputMin=document.createElement("input");inputMin.classList.add("field__input"),inputMin.id="min",inputMin.name="min",inputMin.value=rangeValues.minValue,inputMin.type="number",inputMin.placeholder=range.min,inputMin.min=range.min,inputMin.max=range.max,minField.appendChild(inputMin);const labelMin=document.createElement("label");labelMin.classList.add("field__label"),labelMin.htmlFor="min",labelMin.textContent=this.settings.from,minField.appendChild(labelMin);const maxField=document.createElement("div"),inputMax=document.createElement("input");inputMax.classList.add("field__input"),inputMax.id="max",inputMax.name="max",inputMax.value=rangeValues.maxValue,inputMax.type="number",inputMax.placeholder=range.max,inputMax.min=range.min,inputMax.max=range.max,maxField.appendChild(inputMax);const labelMax=document.createElement("label");labelMax.classList.add("field__label"),labelMax.htmlFor="max",labelMax.textContent=this.settings.to,maxField.appendChild(labelMax);const submit=document.createElement("input");return submit.type="submit",submit.hidden=!0,[minField,maxField,submit]}renderWrapper(configuration,range){const title=configuration.title,icon=document.querySelector("algolia-icon-expand-collapse"),iconContent=icon?icon.render():[],label=this.settings.maxPrice.replace("max_price",range.max),summary=document.createElement("summary");summary.classList.add("facets__summary","caption-large","focus-offset");const div=document.createElement("div"),span=document.createElement("span");span.classList.add("p-regular","p-bold"),span.textContent=title,div.appendChild(span);const iconDiv=document.createElement("div");iconDiv.classList.add("icon--expand-collapse"),iconContent.forEach(element=>iconDiv.appendChild(element)),div.appendChild(iconDiv),summary.appendChild(div);const displayVertical=document.createElement("div");displayVertical.classList.add("facets__display-vertical");const headerVertical=document.createElement("div");headerVertical.classList.add("facets__header-vertical");const selectedSpan=document.createElement("span");return selectedSpan.classList.add("facets__selected"),selectedSpan.textContent=label,headerVertical.appendChild(selectedSpan),displayVertical.appendChild(headerVertical),[summary,displayVertical]}}customElements.define("algolia-range-input",AlgoliaRangeInput); 4//# sourceMappingURL=/cdn/shop/t/221/assets/algolia-range-input.js.map?v=66206288918634642451788891077
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.