!function(){var e={129:function(e,a){var r,n;void 0===(n="function"==typeof(r=function(){"use strict";var e=["decimals","thousand","mark","prefix","suffix","encoder","decoder","negativeBefore","negative","edit","undo"];function a(e){return e.split("").reverse().join("")}function r(e,a){return e.substring(0,a.length)===a}function n(e,a,r){if((e[a]||e[r])&&e[a]===e[r])throw new Error(a)}function t(e){return"number"==typeof e&&isFinite(e)}function i(e,r,n,i,s,l,o,c,u,p,g,d){var f,h,m,x,b,v=d,F="",C="";return l&&(d=l(d)),!!t(d)&&(!1!==e&&0===parseFloat(d.toFixed(e))&&(d=0),d<0&&(f=!0,d=Math.abs(d)),!1!==e&&(b=e,x=(x=d).toString().split("e"),d=(+((x=(x=Math.round(+(x[0]+"e"+(x[1]?+x[1]+b:b)))).toString().split("e"))[0]+"e"+(x[1]?+x[1]-b:-b))).toFixed(b)),-1!==(d=d.toString()).indexOf(".")?(m=(h=d.split("."))[0],n&&(F=n+h[1])):m=d,r&&(m=a(m).match(/.{1,3}/g),m=a(m.join(a(r)))),f&&c&&(C+=c),i&&(C+=i),f&&u&&(C+=u),C+=m,C+=F,s&&(C+=s),p&&(C=p(C,v)),C)}function s(e,a,n,i,s,l,o,c,u,p,g,d){var f,h="";return g&&(d=g(d)),!(!d||"string"!=typeof d)&&(c&&r(d,c)&&(d=d.replace(c,""),f=!0),i&&r(d,i)&&(d=d.replace(i,"")),u&&r(d,u)&&(d=d.replace(u,""),f=!0),s&&function(e,a){return e.slice(-1*a.length)===a}(d,s)&&(d=d.slice(0,-1*s.length)),a&&(d=d.split(a).join("")),n&&(d=d.replace(n,".")),f&&(h+="-"),""!==(h=(h+=d).replace(/[^0-9\.\-.]/g,""))&&(h=Number(h),o&&(h=o(h)),!!t(h)&&h))}function l(a,r,n){var t,i=[];for(t=0;t=0&&i<8))throw new Error(t);s[t]=i}else if("encoder"===t||"decoder"===t||"edit"===t||"undo"===t){if("function"!=typeof i)throw new Error(t);s[t]=i}else{if("string"!=typeof i)throw new Error(t);s[t]=i}return n(s,"mark","thousand"),n(s,"prefix","negative"),n(s,"prefix","negativeBefore"),s}(r),this.to=function(e){return l(r,i,e)},this.from=function(e){return l(r,s,e)})}})?r.apply(a,[]):r)||(e.exports=n)}},a={};function r(n){var t=a[n];if(void 0!==t)return t.exports;var i=a[n]={exports:{}};return e[n](i,i.exports,r),i.exports}r.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(a,{a:a}),a},r.d=function(e,a){for(var n in a)r.o(a,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:a[n]})},r.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},function(){"use strict";var e=window.window.searchAndFilter.frontend.packages.core,a=window.window.searchAndFilter.frontend.packages.core.hooks,n=window.searchAndFilter.frontend.packages.hooks,t=window.searchAndFilter.frontend.packages.components,i=window.searchAndFilter.frontend.packages.utils,s=r(129),l=r.n(s);const o=(e,a)=>Math.round(e*10**a)/10**a,c={},u=e=>{const{rangeValuePrefix:a,rangeValueSuffix:r,rangeDecimalPlaces:n,rangeThousandCharacter:t=",",rangeDecimalCharacter:i=".",rangeMin:s,rangeMax:l,rangeStep:u}=e,p=Number(n||0);let g=null;null!==s&&(g=void 0!==s&&""!==s?parseFloat(s):0,g=o(g,p));let d=null;null!==l&&(d=void 0!==l&&""!==l?parseFloat(l):100,d=o(d,p));let f=null;return null!==u&&(f=u&&""!==u?parseFloat(u):1),f=o(f,p),f<=0&&(f=1),{min:g??0,max:d??0,step:f??1,formatOptions:{prefix:a,suffix:r,decimals:p,thousand:t,mark:i}??c}},p=e=>void 0!==e&&""!==e&&e,g=(e,a)=>{if(a){const r=(e=>{const a={...e};return e.decimals||(a.decimals=0),0===a.decimals&&(a.mark=""),a.decimals>0&&a.mark===e.thousand&&(a.thousand=""),e.decimals>=7&&(a.decimals=6),a})(a);return l()(r).to(e)}return e},d=(e,r,n,t,s,l)=>{const c=l.decimals??0;if(!b(e,r)&&n&&t)return{min:[{value:n,label:g(parseFloat(n),l)}],max:[{value:t,label:g(parseFloat(t),l)}]};const u=o(e,c)??0,p=o(r,c)??0,d=(0,a.useMemo)((()=>{const e=[];let a=u,r=!1;for(;!r;){if(a>p||e.length>=200){r=!0;break}e.push(a),a=o(a+s,c)}return e.length>=200&&(0,i.log)("Maximum number of options reached for range field.","warning"),e}),[u,p,s]).map((e=>[{value:String(e.toFixed(c)),label:String(g(e,l))}])).flat();return{min:d,max:d}},f=(e,a,r,n)=>{if(e&&parseFloat(a)===parseFloat(e))return e;if(!(parseFloat(a)>parseFloat(n))){if(parseFloat(a){if(e&&parseFloat(a)===parseFloat(e))return e;if(!(parseFloat(a)parseFloat(n))return n;if(parseFloat(a)!==parseFloat(r))return a}},m=(e,a,r,n,t,i)=>{const s=parseFloat(r??0).toFixed(i),l=parseFloat(n??0).toFixed(i),o=(e,a)=>{if(void 0===e&&void 0===a)t([]);else{let r=e?String(e):void 0,n=a?String(a):void 0;void 0===r&&(r=s),void 0===n&&(n=l),t([r,n])}};return{updateMinValue:function(a,r){const n=h(e,a,s,l);let t=r;n&&parseFloat(n)>parseFloat(r)&&(t=n),o(n,f(void 0,t,s,l))},updateMaxValue:function(e,r){const n=f(a,r,s,l);let t=e;n&&parseFloat(n)((e,a,r,n,t=0)=>{if(null===r&&null===n)return c=parseFloat(e??0).toFixed(t),u=parseFloat(a??0).toFixed(t),null===e&&(c=r),null===a&&(u=n),{visibleMinValue:c,visibleMaxValue:u};const i=parseFloat(e),s=parseFloat(a),l=parseFloat(r),o=parseFloat(n);let c=p(e)?i.toFixed(t):l.toFixed(t),u=p(a)?s.toFixed(t):o.toFixed(t);return p(e)&&io&&(u=o.toFixed(t)),{visibleMinValue:c,visibleMaxValue:u}})(e,a,r,n,t),b=(e,a)=>null!==e&&null!==a;function v(){return v=Object.assign?Object.assign.bind():function(e){for(var a=1;a{},C=({values:r,appliedValues:s,label:l,separator:o,showLabel:c,isInteractive:p=!0,onChange:g=F,description:f,showDescription:h,inputClassName:w,labelProps:M,rangeValuePrefix:V,rangeValueSuffix:_,rangeDecimalPlaces:N,rangeThousandCharacter:P,rangeDecimalCharacter:S,rangeMin:D,rangeMax:I,rangeStep:y})=>{const{min:k,max:O,step:L,formatOptions:j}=u({rangeValuePrefix:V,rangeValueSuffix:_,rangeDecimalPlaces:N,rangeThousandCharacter:P,rangeDecimalCharacter:S,rangeMin:D,rangeMax:I,rangeStep:y}),[R,T]=r,[A,E]=s,B=b(k,O),$=j.decimals??0,{updateMinValue:U,updateMaxValue:W}=m(A,E,k,O,g,$),{visibleMinValue:X,visibleMaxValue:q}=x(R,T,k,O,$),{min:z,max:G}=d(k,O,X,q,L,j),[H,J]=(0,a.useMemo)((()=>[[X],[q]]),[X,q]),K="search-filter-label-"+(0,n.useInstanceId)(t.Label),Q="search-filter-component-range-radio-"+(0,n.useInstanceId)(C);return(0,e.h)(e.Fragment,null,(0,e.h)(t.Label,v({label:l,id:K,showLabel:c},M)),(0,e.h)(t.Description,{description:f,showDescription:h}),(0,e.h)("div",{id:Q,role:"group",className:(0,i.classNames)("search-filter-select-range",w)},(0,e.h)(t.RadioControl,{isInteractive:p,value:H,onChange:e=>{B&&p&&U(e[0],T)},options:z}),o&&(0,e.h)("span",{className:"search-filter-input-range__separator"},o),(0,e.h)(t.RadioControl,{isInteractive:p,value:J,onChange:e=>{B&&p&&W(R,e[0])},options:G})))};function w(){return w=Object.assign?Object.assign.bind():function(e){for(var a=1;a{},V=({values:a,appliedValues:r,onChange:s=M,separator:l,label:o,showLabel:c,isInteractive:p=!0,description:g,showDescription:d,inputClassName:f,labelProps:h,rangeValuePrefix:v,rangeValueSuffix:F,rangeDecimalPlaces:C,rangeThousandCharacter:_,rangeDecimalCharacter:N,rangeMin:P,rangeMax:S,rangeStep:D})=>{const{min:I,max:y,step:k,formatOptions:O}=u({rangeValuePrefix:v,rangeValueSuffix:F,rangeDecimalPlaces:C,rangeThousandCharacter:_,rangeDecimalCharacter:N,rangeMin:P,rangeMax:S,rangeStep:D}),[L,j]=a,[R,T]=r,A=b(I,y),E=O.decimals??0,{updateMinValue:B,updateMaxValue:$}=m(R,T,I,y,s,E),{visibleMinValue:U,visibleMaxValue:W}=x(L,j,I,y,E),X="search-filter-label-"+(0,n.useInstanceId)(t.Label),q="search-filter-component-range-number-"+(0,n.useInstanceId)(V),z={type:"number",min:I??0,max:y??0,step:k};return(0,e.h)(e.Fragment,null,(0,e.h)(t.Label,w({label:o,id:X,showLabel:c},h)),(0,e.h)(t.Description,{description:g,showDescription:d}),(0,e.h)("div",{id:q,role:"group",className:(0,i.classNames)("search-filter-select-range",f)},(0,e.h)(t.TextControl,{value:U,onChange:e=>{A&&p&&B(e,j)},inputProps:z}),l&&(0,e.h)("span",{className:"search-filter-select-range__separator"},l),(0,e.h)(t.TextControl,{value:W,onChange:e=>{A&&p&&$(L,e)},inputProps:z})))};function _(){return _=Object.assign?Object.assign.bind():function(e){for(var a=1;a{},P=({values:r,appliedValues:s,separator:l,label:o,showLabel:c,isInteractive:p=!0,description:g,showDescription:f,listboxClassName:h,inputClassName:v,onChange:F=N,labelProps:C,rangeValuePrefix:w,rangeValueSuffix:M,rangeDecimalPlaces:V,rangeThousandCharacter:S,rangeDecimalCharacter:D,rangeMin:I,rangeMax:y,rangeStep:k})=>{const{min:O,max:L,step:j,formatOptions:R}=u({rangeValuePrefix:w,rangeValueSuffix:M,rangeDecimalPlaces:V,rangeThousandCharacter:S,rangeDecimalCharacter:D,rangeMin:I,rangeMax:y,rangeStep:k}),[T,A]=r,[E,B]=s,$=b(O,L),U=R.decimals??0,{updateMinValue:W,updateMaxValue:X}=m(E,B,O,L,F,U),{visibleMinValue:q,visibleMaxValue:z}=x(T,A,O,L,U),{min:G,max:H}=d(O,L,q,z,j,R),[J,K]=(0,a.useMemo)((()=>[[q],[z]]),[q,z]),Q="search-filter-label-"+(0,n.useInstanceId)(t.Label),Y="search-filter-component-range-select-"+(0,n.useInstanceId)(P);return(0,e.h)(e.Fragment,null,(0,e.h)(t.Label,_({label:o,id:Q,forId:Y,showLabel:c},C)),(0,e.h)(t.Description,{description:g,showDescription:f}),(0,e.h)("div",{id:Y,role:"group",className:(0,i.classNames)("search-filter-select-range",v)},(0,e.h)(t.ComboboxControl,{options:G,value:J,onChange:e=>{$&&p&&W(e[0],A)},disabled:!$,listboxClassName:h,hasClear:!1,isInteractive:p}),l&&(0,e.h)("span",{className:"search-filter-select-range__separator"},l),(0,e.h)(t.ComboboxControl,{options:H,value:K,onChange:e=>{$&&p&&X(T,e[0])},disabled:!$,listboxClassName:h,hasClear:!1,isInteractive:p})))};function S(){return S=Object.assign?Object.assign.bind():function(e){for(var a=1;a{},rangeValuePrefix:O,rangeValueSuffix:L,rangeDecimalPlaces:j,rangeThousandCharacter:R,rangeDecimalCharacter:T,rangeMin:A,rangeMax:E,rangeStep:B})=>{const{min:$,max:U,step:W,formatOptions:X}=u({rangeValuePrefix:O,rangeValueSuffix:L,rangeDecimalPlaces:j,rangeThousandCharacter:R,rangeDecimalCharacter:T,rangeMin:A,rangeMax:E,rangeStep:B}),q="search-filter-label-"+(0,n.useInstanceId)(t.Label),z="search-filter-component-range-slider-"+(0,n.useInstanceId)(D),G=(0,a.useRef)(null),H=(0,a.useRef)(null),[J,K]=c,[Q,Y]=p,Z=b($,U),ee=X.decimals??0,{updateMinValue:ae,updateMaxValue:re}=m(Q,Y,$,U,d,ee),{visibleMinValue:ne,visibleMaxValue:te}=x(J,K,$,U,ee),ie=(0,a.useRef)(null),[se,le]=(0,a.useState)(0);(0,a.useLayoutEffect)((()=>{C&&ie.current&&le(ie.current?.offsetWidth)}),[C,le]);const oe=(0,a.useMemo)((()=>Z?{"--search-filter-range-slider-progress-low":(ne-$)/(U-$)*100+"%","--search-filter-range-slider-progress-high":(te-$)/(U-$)*100+"%"}:{"--search-filter-range-slider-progress-low":"0%","--search-filter-range-slider-progress-high":"0%"}),[Z,ne,te,$,U]),ce=(0,a.useCallback)((e=>{Z&&y&&ae(e.target.value,K)}),[d,K,Z,y,ae]),ue=(0,a.useCallback)((e=>{Z&&y&&re(J,e.target.value)}),[d,J,Z,y,re]),pe=w||!Z||!y,ge="search-filter-component-range-slider",de=(0,i.classNames)(ge,v&&`${ge}--has-input-fields`,F&&`${ge}--has-filter-button`,!Z&&`${ge}--is-disabled`,(C||se<=300)&&`${ge}--is-input-inline`,h),fe=String(ne),he=String(te),me=(0,a.useCallback)((e=>{if(w||!Z||!y)return;const a=e.target.getBoundingClientRect(),r=e.clientX-a.left,n=a.width,t=$+(U-$)*r/n,i=Math.round((t-$)/W),s=parseFloat(($+i*W).toFixed(X.decimals));Math.abs(s-parseFloat(ne))<=Math.abs(s-parseFloat(te))?ae(s,K):re(J,s)}),[w,Z,$,U,ne,te,W,X.decimals,d,ae,re]),xe=(0,e.h)("div",{className:(0,i.classNames)("search-filter-component-range-slider__range-input-wrapper"),onClick:me},(0,e.h)("div",{id:z,className:(0,i.classNames)("search-filter-component-range-slider__range-input-bar",{[`${ge}--is-loading`]:w&&M}),role:"group"},(0,e.h)("div",{className:"search-filter-component-range-slider__range-input-progress",style:oe}),(0,e.h)("input",{type:"range",className:"search-filter-component-range-slider__range-input search-filter-component-range-slider__range-input--min","aria-label":"Filter products by minimum price","aria-valuetext":fe,value:ne,onChange:ce,step:W,min:$,max:U,ref:G,disabled:pe,tabIndex:v?-1:0}),(0,e.h)("input",{type:"range",className:"search-filter-component-range-slider__range-input search-filter-component-range-slider__range-input--max","aria-label":"Filter products by maximum price","aria-valuetext":he,value:te,onChange:ue,step:W,min:$,max:U,ref:H,disabled:pe,tabIndex:v?-1:0}))),be=Z||ne!==te?(0,e.h)("div",{className:"search-filter-component-range-slider__range-text search-filter-component-range-slider__range-text"},(0,e.h)("div",{className:"search-filter-component-range-slider__range-text-min"},g(parseFloat(ne),X)),V&&(0,e.h)("div",{className:"search-filter-component-range-slider__range-text-seperator"},V),(0,e.h)("div",{className:"search-filter-component-range-slider__range-text-max"},g(parseFloat(te),X))):(0,e.h)("div",{className:"search-filter-component-range-slider__range-text search-filter-component-range-slider__range-text"},(0,e.h)("div",{className:"search-filter-component-range-slider__range-text-min"},g(parseFloat(ne),X)));return(0,e.h)(e.Fragment,null,(0,e.h)(t.Label,S({label:r,id:q,showLabel:s,forId:z},f)),(0,e.h)(t.Description,{description:l,showDescription:o}),(0,e.h)("div",{className:de,ref:ie},!v&&"above"===_&&be,xe,!v&&"below"===_&&be,(0,e.h)("div",{className:"search-filter-component-range-slider__actions"})))};var I=window.searchAndFilter.frontend.packages.registry;(0,I.register)(["packages","components"],"RangeRadioControl",C),(0,I.register)(["packages","components"],"RangeNumberControl",V),(0,I.register)(["packages","components"],"RangeSelectControl",P),(0,I.register)(["packages","components"],"RangeSliderControl",D)}()}();