1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[395],{3395:(t,e,i)=>{i.r(e),i.d(e,{default:()=>n});var a=i(2891);class n extends a.xI{connect(){this.initialized=!1,this._pendingFilterChangeTimeout=null,this._dispatchGeneration=0,this._lastChanged="min",this._ensureStyles(),this._onElementNativeChangeCapture=t=>{const e=t.target;if(!(e instanceof globalThis.HTMLInputElement))return;if("range"!==e.type)return;const i=e.dataset["xproduction-Xaver-DualRangeTarget"];"minSlider"!==i&&"maxSlider"!==i||t.stopPropagation()},this.element.addEventListener("change",this._onElementNativeChangeCapture,!0),this.initializeController()}disconnect(){this._pendingFilterChangeTimeout&&(clearTimeout(this._pendingFilterChangeTimeout),this._pendingFilterChangeTimeout=null),this._dispatchGeneration+=1,this._onElementNativeChangeCapture&&this.element.removeEventListener("change",this._onElementNativeChangeCapture,!0)}initializeController(){this.currentMin=this.minValueValue??this.minLimitValue,this.currentMax=this.maxValueValue??this.maxLimitValue,this.updateInputs(),this.setupSliders(),this.updateVisibleInputs(),this.updateTrack(),this.initialized=!0}setupSliders(){this.hasMinSliderTarget&&this.hasMaxSliderTarget&&(this.minSliderTarget.min=this.minLimitValue,this.minSliderTarget.max=this.maxLimitValue,this.minSliderTarget.step=this.stepValue,this.minSliderTarget.value=this.currentMin,this.maxSliderTarget.min=this.minLimitValue,this.maxSliderTarget.max=this.maxLimitValue,this.maxSliderTarget.step=this.stepValue,this.maxSliderTarget.value=this.currentMax)}minSliderChanged(t){t.stopPropagation();const e=Number.parseFloat(t.target.value);e>=this.currentMax?(this.currentMin=this.currentMax-this.stepValue,this.minSliderTarget.value=this.currentMin):this.currentMin=e,this.updateInputs(),this.updateVisibleInputs(),this.updateTrack(),this._updateValues(),this._lastChanged="min",this.dispatchFilterChangeEvent()}maxSliderChanged(t){t.stopPropagation();const e=Number.parseFloat(t.target.value);e<=this.currentMin?(this.currentMax=this.currentMin+this.stepValue,this.maxSliderTarget.value=this.currentMax):this.currentMax=e,this.updateInputs(),this.updateVisibleInputs(),this.updateTrack(),this._updateValues(),this._lastChanged="max",this.dispatchFilterChangeEvent()}updateInputs(){const t=Number(this.currentMin)===Number(this.minLimitValue)&&Number(this.currentMax)===Number(this.maxLimitValue);this.hasMinInputTarget&&(this.minInputTarget.value=t?"":this.currentMin),this.hasMaxInputTarget&&(this.maxInputTarget.value=t?"":this.currentMax)}updateVisibleInputs(){this.hasInputMinTarget&&(this.inputMinTarget.value=this._formatNumber(this.currentMin)),this.hasInputMaxTarget&&(this.inputMaxTarget.value=this._formatNumber(this.currentMax))}_updateValues(){this.minValueValue=this.currentMin,this.maxValueValue=this.currentMax}inputMinChanged(t){t.stopPropagation();const e=t.target.value.trim();if(""===e||"-"===e)return this.currentMin=this.minLimitValue,this.setupSliders(),this.updateInputs(),this.updateVisibleInputs(),this.updateTrack(),this._updateValues(),this._lastChanged="min",void this.dispatchFilterChangeEvent();const i=Number.parseFloat(e);if(Number.isNaN(i))this.updateVisibleInputs();else{if(i<this.minLimitValue||i>this.maxLimitValue)this.currentMin=i<this.minLimitValue?this.minLimitValue:Math.min(i,this.currentMax-this.stepValue);else{let t=Math.max(this.minLimitValue,i);t>=this.currentMax&&(t=Math.max(this.minLimitValue,this.currentMax-this.stepValue)),this.currentMin=t}this.setupSliders(),this.updateInputs(),this.updateVisibleInputs(),this.updateTrack(),this._updateValues(),this._lastChanged="min",this.dispatchFilterChangeEvent()}}inputMaxChanged(t){t.stopPropagation();const e=t.target.value.trim();if(""===e||"-"===e)return this.currentMax=this.maxLimitValue,this.setupSliders(),this.updateInputs(),this.updateVisibleInputs(),this.updateTrack(),this._updateValues(),this._lastChanged="max",void this.dispatchFilterChangeEvent();const i=Number.parseFloat(e);if(Number.isNaN(i))this.updateVisibleInputs();else{if(i<this.minLimitValue||i>this.maxLimitValue)this.currentMax=i>this.maxLimitValue?this.maxLimitValue:Math.max(i,this.currentMin+this.stepValue);else{let t=Math.min(this.maxLimitValue,i);t<=this.currentMin&&(t=Math.min(this.maxLimitValue,this.currentMin+this.stepValue)),this.currentMax=t}this.setupSliders(),this.updateInputs(),this.updateVisibleInputs(),this.updateTrack(),this._updateV
1alues(),this._lastChanged="max",this.dispatchFilterChangeEvent()}}dispatchFilterChangeEvent(){this._pendingFilterChangeTimeout&&clearTimeout(this._pendingFilterChangeTimeout);const t=this._dispatchGeneration+=1;this._pendingFilterChangeTimeout=setTimeout((()=>{if(this._pendingFilterChangeTimeout=null,!this.element||!this.element.isConnected)return;if(t!==this._dispatchGeneration)return;if(!(Number(this.currentMin)===Number(this.minLimitValue)&&Number(this.currentMax)===Number(this.maxLimitValue)))return this.hasMinInputTarget&&(this.minInputTarget.value=this.currentMin,this.minInputTarget.dispatchEvent(new Event("change",{bubbles:!0}))),void(this.hasMaxInputTarget&&(this.maxInputTarget.value=this.currentMax,this.maxInputTarget.dispatchEvent(new Event("change",{bubbles:!0}))));const e="max"===this._lastChanged?this.maxInputTarget:this.minInputTarget;if(e instanceof globalThis.HTMLInputElement)try{e.dispatchEvent(new Event("change",{bubbles:!0}))}catch(t){console.error("dual-range: failed to dispatch change event",t)}}),300)}reset(){this.currentMin=this.minLimitValue,this.currentMax=this.maxLimitValue,this.setupSliders(),this.hasMinInputTarget&&(this.minInputTarget.value=""),this.hasMaxInputTarget&&(this.maxInputTarget.value=""),this.updateVisibleInputs(),this.updateTrack(),this._updateValues(),this.hasMinInputTarget&&this.minInputTarget.dispatchEvent(new Event("change",{bubbles:!0})),this.hasMaxInputTarget&&this.maxInputTarget.dispatchEvent(new Event("change",{bubbles:!0})),this._pendingFilterChangeTimeout&&(clearTimeout(this._pendingFilterChangeTimeout),this._pendingFilterChangeTimeout=null)}updateTrack(){if(!this.hasTrackTarget)return;const t=this.minLimitValue,e=this.maxLimitValue;if(e===t)return;const i=(this.currentMin-t)/(e-t)*100,a=(this.currentMax-t)/(e-t)*100,n=Math.min(i,a),s=100-Math.max(i,a);this.trackTarget.style.left=`calc(${n}% + ${20*(.5-n/100)}px)`,this.trackTarget.style.right=`calc(${s}% + ${20*(.5-s/100)}px)`}_ensureStyles(){if(document.getElementById("dual-range-styles"))return;const t=document.createElement("style");t.id="dual-range-styles",t.innerHTML="\n .dual-range-widget input[type=range] { pointer-events: none; position: absolute; background: transparent !important; width: 100%; margin: 0; height: 1.5rem; top: 50%; transform: translateY(-50%); }\n .dual-range-widget input[type=range]::-webkit-slider-thumb { pointer-events: auto; position: relative; z-index: 20; appearance: none; }\n .dual-range-widget input[type=range]::-moz-range-thumb { pointer-events: auto; position: relative; z-index: 20; border: none; }\n ",document.head.appendChild(t)}_formatNumber(t){const e=this._getDecimals(this.stepValue);return Number(t).toFixed(e)}_getDecimals(t){const e=t.toString(),i=e.indexOf(".");return-1===i?0:e.length-i-1}}n.targets=["minInput","maxInput","minSlider","maxSlider","inputMin","inputMax","track"],n.values={minLimit:{type:Number,default:0},maxLimit:{type:Number,default:1e3},minValue:{type:Number,default:null},maxValue:{type:Number,default:null},step:{type:Number,default:1},currency:{type:String,default:""}}}}]);
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.