PageSourceSearch

https://www.mann-hummel.com/etc.clientlibs/mannhummel/clientlibs/c…ductSearchApp.bdb433341e0166209053.chunk.js

js mann-hummel.com collected 2026-10-02 03:32:22 UTC 167,267 bytes, 566 lines download raw bytes

1"use strict";(self.webpackChunksite=self.webpackChunksite||[]).push([[122],{26659:(function(je,_e,P){var r=P(76676);_e.Ay=r.Ay}),83183:(function(je,_e,P){var r=P(96540),oe=P(46942),ve=P.n(oe),Ce=P(16849);const re=x=>{const R=ve()({"cmp-button":!x.inlineLinkAsButton},{"cmp-button--primary":!x.style&&!x.linkAsButton&&!x.inlineLinkAsButton},{"cmp-link cmp-link--as-button":!x.style&&x.linkAsButton},{"cmp-link cmp-link--inline-as-button":!x.style&&x.inlineLinkAsButton},{[`cmp-button--${x.style}`]:x.style},{"cmp-button--active":x.active},{"cmp-button--icon-only":x.iconOnly},{[`${x.className}`]:x.className},{"cmp-button--inverted":x.inverted}),Pe=ve()("cmp-button__text");return r.createElement("button",{className:R,type:x.type,disabled:x.disabled,onClick:x.onClick},x.iconType&&x.iconPosition==="before"&&r.createElement(Ce.A,{type:x.iconType,additionalCssName:"cmp-button__icon"}),x.children||r.createElement("span",{className:Pe},x.text),x.iconType&&x.iconPosition==="after"&&r.createElement(Ce.A,{type:x.iconType,additionalCssName:"cmp-button__icon"}))};_e.A=re}),45707:(function(je,_e,P){P.r(_e),P.d(_e,{ConfigurableProductSearchAppWithApollo:function(){return Vl}});var r=P(96540),oe=P(11069),ve=P(88982),Ce=P(42548),re=P(94537),x=P(75107),R=P(28797),Pe=P(53480),Fe=P(91188),ce=P(15034);const xe=new Fe.C((e,t)=>{const a=(0,ce.FL)();return a&&!(0,ce.Hm)(a)&&e.setContext(({headers:n={}})=>({headers:{...n,"X-AF-Token":a}})),t(e)});var tt=(e=>(e.MANN_FILTER="mann-filter",e.WIX="wix",e.PUROLATOR="purolator",e.FILTRON="filtron",e.MANN_HUMMEL="mann-hummel",e.MANN_HUMMEL_CORPORATE="mann-hummel-corporate",e.MANN_HUMMEL_OEM="mann-hummel-oem",e.MANN_HUMMEL_AIRFILTRATION="mann-hummel-air-filtration",e.MANN_HUMMEL_WATER_FILTRATION="mann-hummel-water-filtration",e.MANN_HUMMEL_GROUP="mann-hummel-group",e.MANN_HUMMEL_FLEET="mann-hummel-fleet",e.CUSTOMER_PORTAL="customer-portal",e))(tt||{});const Le=document.querySelector('.cmp-commerce script[type="text/json"]');let ae;try{ae=JSON.parse(Le?.innerHTML||"{}")}catch(e){console.log("Please provide the ecommerce configuration",e)}const at=ae.storeConfig.storeRootUrl,rt=at.substr(0,at.indexOf("."));window.STORE_NAME=ae.storeConfig.storeView,window.DEFAULT_COUNTRY_CODE=ae.storeConfig.locale,window.STORE_VIEW_CODE=ae.storeConfig.storeView,window.AVAILABLE_STORE_VIEWS=[{code:ae.storeConfig.storeView,base_currency_code:ae.storeConfig.currencyCode,default_display_currency_code:ae.storeConfig.currencyCode,id:ae.storeConfig.id,locale:ae.storeConfig.locale,secure_base_media_url:"",store_name:ae.storeConfig.storeView}];var Ie={baseUrl:at,basePath:rt,graphqlMethod:ae.storeConfig.graphqlMethod,headers:ae.storeConfig.httpHeaders,graphqlEndpoint:ae.storeConfig.graphqlEndpoint,damApiEndpoint:ae.damApiEndpoint,damBrandName:ae.damBrandName,brand:ae.brand,googleApiKey:ae.googleApiKey,fallbackProductImage:ae.fallbackProductImage,productImageWidths:{small:{min:400,max:1650},thumbnail:{min:200,max:400}},productDetailUrlPattern:ae.productDetailUrlPattern,productCtaLinkUrl:ae.productCtaLinkUrl,productCtaLinkText:ae.productCtaLinkText,labels:{...ae.labels},storeConfig:{...ae.storeConfig},commerce:{...ae.commerce},mountingPoints:{filtermapIcon:".filtermap__icon",accountIcon:".miniaccount__icon",accountContainer:".miniaccount__body",addressBookContainer:".addressbook__body",cartTrigger:".minicart__trigger",minicart:".minicart__body",accountWelcome:".accountwelcome__body",accountDetails:".accountdetails__body",resetPassword:".resetpassword__body",cartDetailsContainer:".cartcontainer__body",checkoutPageContainer:".checkoutpage__body",addToCartPopUp:".addtocart-popup__body",productFinderSearch:".product-finder-search__body",productFinderResults:".product-finder-results__body",orderRequestsPageContainer:".orderrequests__body",orderRequestDetailsPageContainer:".orderrequest-details__body",orderHistoryDetailsPageContainer:".orderhistory-details__body",orderHistoryDetails:".cmp-order-history-details__body",orderHistoryPageContainer:".orderhistory__body",garageContainer:".garage__body",kitsContainer:".kits__body",shippingTransitTimeLink:".shipping-transit-time-link__body",companyUsers:".company-users__body",productActionCard:".product-action-card__body",
1searchResults:".search-result__body",productVariantTable:".cmp-product-variant-table__body",configurableProductSearchResult:".cmp-configurable-product-search-result__body",configurableCart:".cmp-configurable-cart__body",actionCard:".cmp-action-card__body",filterMapList:".cmp-filter-map-list__body",filterMapDetails:".cmp-filter-map-details__body",configurableFilterMapDetails:".cmp-configurable-requisitionlist-details__body",requisitionListsPageContainer:".requisition-lists__body",requisitionListDetail:".cmp-requisition-list-detail__body",headerIconFavorite:".header-icon-favorite__body",orderHistoryPage:".cmp-order-history__body",quoteListingPage:".cmp-quote-listing__body",quoteDetails:".cmp-quote-details__body",accountSummary:".cmp-account-summary",loginButton:".cmp-login-button__body",clientSwitch:".clientswitch__body",productComparison:".cmp-product-comparison__body"},pagePaths:{...ae.pagePaths}},Ae=P(76575);function pt(e,t){try{if(t.method==="GET"){let a=e.split("?");if(a.length===2){let n=new URLSearchParams(a[1]),s=n.get("query");s&&(s=(0,Ae.Z)(s),n.set("query",s),a[1]=n.toString(),e=a.join("?"))}}if(t.method==="POST"){let a=JSON.parse(t.body);a.query&&(a.query=(0,Ae.Z)(a.query),t.body=JSON.stringify(a))}}catch(a){console.warn("Could not minimize GraphQL query",a)}return fetch(e,t)}var Gt=P(82081);const zt="M2_VENIA_BROWSER_PERSISTENCE__cartId";function nt(){try{const e=localStorage.getItem(zt);if(!e)return null;let a=JSON.parse(e)?.value;if(!a)return null;for(;typeof a=="string"&&a.startsWith('"')&&a.endsWith('"');)try{const n=JSON.parse(a);if(typeof n!="string")break;a=n}catch{break}return typeof a=="string"?a:null}catch(e){return console.error("[CartOperation] Error parsing cart ID from localStorage:",e),null}}var Se=P(88460);const Qt="Internal server error",Kt=new Set(["checkUserIsAuthed","getItemCount","getCartDetails"]);function Ue(e){const t=e?.cartId??e?.cart_id;return typeof t=="string"?t:null}const xt=()=>{let e=!1;return(0,Gt.S)(({graphQLErrors:t,operation:a})=>{if(e||!t?.length||!Kt.has(a.operationName)||!t.some(i=>i.message===Qt))return;const n=Ue(a.variables);if(!n||n!==nt())return;const s=(0,ce.FL)();!s||(0,ce.Hm)(s)||(e=!0,document.dispatchEvent(new CustomEvent(Se.z.CartIdentityMismatch)))})};function gt({children:e}){const{graphqlEndpoint:t,storeView:a,graphqlMethod:n="POST",headers:s={}}=(0,oe.useConfigContext)(),i=(0,r.useMemo)(()=>{const o={...s};return a&&(o.Store=a),new ve.R({link:(0,Ce.H)([xt(),xe,new re.P({uri:t,headers:o,useGETForQueries:n==="GET",fetch:pt})]),cache:new x.D({typePolicies:Pe.default})})},[t,a,n]);return r.createElement(R.X,{client:i},e)}function Ht({children:e}){const{brand:t}=(0,oe.useConfigContext)();return t===tt.MANN_HUMMEL_AIRFILTRATION?r.createElement(oe.CommerceApp,null,r.createElement(gt,null,e)):r.createElement(oe.CommerceApp,null,e)}var tn=P(13700);const an=tn.A;var rn=({children:e})=>{const t=Ie.storeConfig.locale,a=Ie.labels;return r.createElement(an,{locale:t,messages:a},e)},wa=P(91829),nn=P(38940),sn=P(72364);const on=(0,wa.HY)(nn.A);var cn=(0,wa.y$)(on,sn.A),ln=P(79048),un=P(88467),mn=P(93077),dn=P(96100);const pn=[un.A,mn.A,dn.k];var gn=({children:e})=>r.createElement(ln.Kq,{store:cn},pn.reduceRight((t,a)=>r.createElement(a,null,t),e));function fn({children:e}){return r.createElement(rn,null,r.createElement(oe.ConfigContextProvider,{config:Ie},r.createElement(Ht,null,r.createElement(gn,null,e))))}var hn=fn,_n=P(44041),vn=P(46942),Re=P.n(vn),bn=P(67756),yn=P(80965),Jt=P(51876),En=({id:e,name:t,options:a,placeholder:n,value:s,disabled:i,readonly:o,label:c,required:u,onChange:m})=>{const{enumOptions:l}=a,g=f=>{m(f.target.value||void 0)};return r.createElement(Jt.A,{spacing:!0,id:e,name:t,value:s||"",required:u,disabled:i||o,label:c,onChange:g},r.createElement("option",{value:""},n||""),l?.map(f=>r.createElement("option",{key:f.value,value:f.value},f.label)))},Ma=P(90651),Ta=P(41515),Cn=({id:e,name:t,options:a,placeholder:n,value:s=[],disabled:i,readonly:o,label:c,required:u,onChange:m})=>{const{enumOptions:l,labels:g={},placeholder:f}=a,{allSelected:C=null}=g,[v,d]=(0,r.useState)(!1),b=(0,r.useRef)(null),E=()=>{!i&&!o&&d(I=>!I)},S=I=>{const y=s.includes(I)?s.filter(M=>M!==I):[...s,I];m(y),(0,Ma.A)(Ta.s.TrackableEvent,{detail:{name:t,componentId:e,eventInfo:{name:t,value:y.join(", ")}}})};return(0,r.useEffect)(()=>{const I=y=>{b.current&&!b.current.contains(y.target)&&d(!1)};return document.addEventListener("mousedown",I),()=>document.removeEventListener("mousedown",I)},[]),r.createElement("div",{className:"cmp-multiselect",ref:b},r.createElement("fieldset",{className:Re()("cmp-form-options cmp-form-options--drop-down cmp-form-options--spacing",{"is-disabled":i})},c&&r.createElement("label",{htmlFor:e,className:"cmp-form-options__label"},c," ",u&&"*"),r.createElement("div",{className:"cmp-form-options__field",onClick:E,role:"button",tabIndex:0,"aria-expanded":v},r.createElement("div",{className:"cmp-form-options__field--multi-drop-down"},r.createElement("span",{className:"cmp-form-options__selected-values"},s.length>0?s.length===l?.length?`${C||"All Selected"}`:l?.filter(I=>s.includes(I.value)).map(I=>I.label).join(", "):n||f||"Select..."),r.createElement("span",{className:"cmp-icon cmp-icon--chevron-down"}
1)))),v&&r.createElement("ul",{className:"cmp-form-options__dropdown"},l?.map(I=>r.createElement("li",{key:I.value},r.createElement("label",{className:"cmp-form-options__option"},r.createElement("input",{type:"checkbox",checked:s.includes(I.value),onChange:()=>S(I.value),disabled:i||o}),r.createElement("span",null,I.label))))))},Rt=P(95622),Pn=({id:e,name:t,value:a="",disabled:n,readonly:s,label:i,onChange:o,required:c,placeholder:u,type:m,onBlur:l,onKeyDown:g})=>{const f=v=>{const d=m==="number"?parseFloat(v.target.value):v.target.value;o(d)},C=v=>{const d=m==="number"?parseFloat(v.target.value):v.target.value;l(e,d)};return r.createElement(Rt.A,{spacing:!0,id:e,name:t,value:a,disabled:n||s,readonly:s,label:i,type:m,placeholder:u,required:c,autoCorrect:"off",onKeyDown:g,onBlur:C,onChange:f})};function Sn(e){const{description:t}=e;return r.createElement("div",{className:"cmp-form-options__input-label-wrapper"},r.createElement("input",{defaultChecked:e.defaultChecked,checked:e.checked,className:"cmp-form-options__field cmp-form-options__field--radio",name:e.name,type:"radio",value:e.value,id:e.id,onChange:e.onChange}),!!t&&r.createElement("label",{className:"cmp-form-options__field-label",htmlFor:e.id},t))}var In=Sn;function An(e){const t=Re()("cmp-form-options cmp-form-options--radio",{"cmp-form-options--validation-visible":e.requiredMessage,"cmp-form-options--spacing":e.spacing});return r.createElement(r.Fragment,null,r.createElement("fieldset",{className:t,disabled:e.disabled},e.children,e.requiredMessage&&r.createElement("div",{className:"cmp-form-options__validate-block"},r.createElement("p",{className:"cmp-form-options__required-message"},e.requiredMessage))))}var Nn=An,Fn=({id:e,name:t,options:a,value:n,disabled:s,readonly:i,label:o,onChange:c})=>{const{enumOptions:u}=a,m=l=>{c(l.target.value)};return r.createElement(Nn,{spacing:!0,disabled:s||i},r.createElement("legend",{className:"cmp-form-options__legend"},o),u?.map(l=>r.createElement(In,{key:l.value,name:t,value:l.value,description:l.label,id:`${e}_${l.value}`,defaultChecked:l.value===n,checked:l.value===n,onChange:m})))},wn=({id:e,name:t,options:a,placeholder:n,value:s,disabled:i,readonly:o,label:c,required:u,onChange:m})=>{const{enumOptions:l}=a,g=f=>{m(f.target.value)};return r.createElement(Jt.A,{spacing:!0,id:e,name:t,value:s,required:u,disabled:i||o,label:c,onChange:g},n&&r.createElement("option",{value:""},n),l?.map(f=>f.value?r.createElement("option",{key:f.value,value:f.value},f.label):null))},Mn=e=>{const{min:t,max:a,name:n,onChange:s,label:i,value:o,isDisabled:c=!1,isRequired:u=!1,decimalPlaces:m=2,resetCounter:l=0,isDecimal:g=!1}=e,[f,C]=(0,r.useState)({min:o[0]??t,max:o[1]??a,tempMin:o[0]??t,tempMax:o[1]??a}),v=(0,r.useMemo)(()=>g?Math.pow(10,-m):1,[g,m]),d=(0,r.useRef)({}),b=500;(0,r.useEffect)(()=>{d.current.onChange&&clearTimeout(d.current.onChange),d.current.onChange=setTimeout(()=>{s([f.min,f.max])},b)},[f.min,f.max,s]),(0,r.useEffect)(()=>{C({min:o[0]??t,max:o[1]??a,tempMin:o[0]??t,tempMax:o[1]??a})},[l,o,t,a]);const E=(y,M)=>{if(y===""||isNaN(Number(y)))return M?t:a;const F=Number(y);return M?Math.max(t,Math.min(F,f.max-v)):Math.min(a,Math.max(F,f.min+v))},S=(y,M)=>{const F=y.target.value,k=F===""?"":parseInt(F,10);C(A=>({...A,tempMin:M?k:A.tempMin,tempMax:M?A.tempMax:k})),d.current[M?"min":"max"]&&clearTimeout(d.current[M?"min":"max"]),d.current[M?"min":"max"]=setTimeout(()=>{const A=E(k,M);C(h=>({...h,min:M?A:h.min,max:M?h.max:A,tempMin:M?A:h.tempMin,tempMax:M?h.tempMax:A}))},b)},I=(y,M)=>{const F=Number(y.target.value);C(k=>({...k,min:M?Math.min(F,k.max-v):k.min,max:M?k.max:Math.max(F,k.min+v),tempMin:M?Math.min(F,k.max-v):k.tempMin,tempMax:M?k.tempMax:Math.max(F,k.min+v)}))};return r.createElement("fieldset",{className:"cmp-form-range-slider__container"},r.createElement("div",{className:"cmp-form-range-slider__slider"},r.createElement("input",{disabled:c,type:"range",min:t,max:a,name:`${n}-thumb-left`,step:v,value:f.min,onChange:y=>I(y,!0),required:u,className:"cmp-form-range-slider__thumb cmp-form-range-slider__thumb--left"}),r.createElement("input",{disabled:c,type:"range",min:t,max:a,name:`${n}-thumb-right`,step:v,value:f.max,onChange:y=>I(y,!1),required:u,className:"cmp-form-range-slider__thumb cmp-form-range-slider__thumb--right"}),r.createElement("div",{className:"cmp-form-range-slider__track"},r.createElement("div",{className:"cmp-form-range-slider__background"}),r.createElement("div",{className:Re()("cmp-form-range-slider__fill",{"cmp-form-range-slider__fill--disabled":c}),style:{left:`${(f.min-t)/(a-t)*100}%`,right:`${100-(f.max-t)/(a-t)*100}%`}})),r.createElement("input",{disabled:c,type:"number",name:`${n}-value-input-left`,step:v,value:f.tempMin===""?"":f.tempMin,onChange:y=>S(y,!0),required:u,className:"cmp-form-range-slider__left-value",style:{left:"22px"}}),r.createElement("input",{disabled:c,type:"number",name:`${n}-value-input-right`,step:v,value:f.tempMax===""?"":f.tempMax,onChange:y=>S(y,!1),required:u,className:"cmp-form-range-slider__right-value",style:{right:"-22px"}})),i&&r.createElement("label",null,i,u&&"*"))},Tn=e=>{const{options:t,disabled:a,required:n,label:s,name:i,onChange:o,schema:c,value:u,resetCounter:m}=e,l=Number(c.minimum),g=Number(c.maximum),f=t.minAttribute,C=t.maxAttribute,v=!!t.isDecimal,d=Number(t.decimalPlaces??2),b=E=>{const[S,I]=E;o([S,I,f,C])};return r.createElement(Mn,{min:l,max:g,value:u,name:i,onChange:b,label:s,isDisabled:a,isRequired:n,isDecimal:v,decimalPlaces:d,resetCounter:m})},xn=e=>{const{min:t,max:a,onChange:n,name:s,label:i,value:o,isDisabled:c=!1,isRequired:u=!1,isDecimal:m=!1,decimalPlaces:l=2}=e,g=(0,r.useMemo)(()=>m?Math.pow(10,-l):1,[m,l]),f=(0,r.useCallback)(v=>(Number(v)-t)/(a-t)*100,[t,a]),C=(0,r.useCallback)(v=>m?Number(v).toFixed(l):Math.round(Number(v)),[m,l]);return r.createElement("fieldset",{className:"cmp-form-value-slider__container"},r.createElement("div",{className:"cmp-form-value-slider__slider"},r.createElement("input",{disabled:c,type:"range",name:`${s}-thumb`,min:t,max:a,value:o,step:g,onChange:v=>{const d=Math.min(Math.max(Number(v.target.value),t),a);n(d)},required:u,className:"cmp-form-value-slider__thumb"}),r.createElement("div",{className:Re()("cmp-form-value-slider__track",{"cmp-form-value-slider__track--disabled":c})}),r.createElement("input",{disabled:c,type:"number",name:`${s}-value-input`,value:C(o),step:g,onChange:v=>{const d=Math.min(Math.max(Number(v.target.value),t),a);n(d)},required:u,className:"cmp-form-value-slider__value-input",style:{left:`calc(${f(o)}% + ${1-f(o)/100-.5}rem)`}})),i&&r.createElement("label",null,i,u&&"*"))},Rn=e=>{const{options:t,disabled:a,required:n,label:s,onChange:i,name:o,schema:c,value:u}=e,m=Number(c.minimum),l=Number(c.maximum),g=!!t.isDecimal,f=Number(t.decimalPlaces??2),C=v=>{const d=c?.type==="string"?String(v):v;i(d)};return r.createElement(xn,{min:m,max:l,name:o,value:u||m,onChange:C,label:s,isDisabled:a,isRequired:n,isDecimal:g,decimalPlaces:f})},On=({name:e,options:t,placeholder:a,value:n,disabled:s,readonly:i,label:o,required:c,onChange:u})=>{const{enumOptions:m}=t,l=g=>{u(g.target.value)};return r.createElement(Jt.A,{spacing:!0,name:e,value:n,required:c,disabled:s||i,label:o,onChange:l},a&&r.createElement("option",{value:""},a),m?.map(g=>g.value?r.createElement("option",{key:g.value,value:g.value},g.label):null))},xa=P(58961);const kn=(e,t)=>{const a=t||"This input covers a range from [min] to [max]";return e?a.replace("[min]",`-${e.toString()}`).replace("[max]",`+${e.toString()}`):null};var Ln=({id:e,name:t,value:a="",disabled:n,readonly:s,label:i,onChange:o,required:c,placeholder:u,onBlur:m,onKeyDown:l,options:g={},registry:f})=>{const{isDecimal:C=!1,range:v,labels:d}=g,{rangeTooltip:b}=d||{},E=A=>{const h=A.target.value,w=C?parseFloat(h):parseInt(h,10);if(h===""||h==="-"){o(void 0);return}if(!isNaN(w)&&h!==""){const W=Math.max(0,w);o(W)}else o(void 0)},S=A=>{const h=A.target.value,w=C?parseFloat(h):parseInt(h,10),W=!isNaN(w)&&h!==""?Math.max(0,w):void 0;m(e,W)},I=A=>{if(A.key==="Enter"){A.preventDefault();const h=f?.formContext?.formRef;h?.current&&h.current.submit();return}l?.(A)},y=r.useRef(null),M=kn(v,b);r.useEffect(()=>{if(!y.current)return;const A=(0,xa.D)([y.current]);return()=>{A?.()}},[]);const F=typeof a=="object"&&a!==null&&!Array.isArray(a)?a.min?.toString()||a.max?.toString()||"":a?.toString()||"",k=M?r.createElement("span",{className:"cmp-tooltip","aria-hidden":"true"},r.createElement("span",{ref:y,className:"cmp-tooltip__icon",role:"img","aria-label":"Info"},"\u24D8"),r.createElement("div",{className:"cmp-tooltip__content",role:"tooltip"},r.createElement("div",{className:"cmp-tooltip__arrow"}),M)):null;return r.createElement(Rt.A,{spacing:!0,id:e,name:t,value:F,disabled:n||s,readonly:s,label:i,labelAddon:k,type:"number",placeholder:u,required:c,autoCorrect:"off",onKeyDown:I,onBlur:S,onChange:E,className:"cmp-form-text__number-range"})},$n=e=>{const{properties:t,uiSchema:a={}}=e,n=a["ui:groups"]||[],s=new Map;
1return n.forEach(i=>{i.fields.forEach((o,c)=>{c===0&&s.set(o,i.title)})}),r.createElement(r.Fragment,null,t.map(i=>{const o=s.get(i.name);return r.createElement(r.Fragment,{key:i.name},o&&r.createElement("div",{className:"cmp-configurable-product-search__grouped-field-title"},o),i.content)}))},we=P(83183),cu=null;const Dn=(e,t,a,n)=>{const s=e["ui:options"]?.isDecimal??!1;switch(e["ui:widget"]){case"TextWidget":return{title:t,type:"string"};case"RangeSliderWidget":{const i=Ra(e,n);return{title:t,type:"array",items:{anyOf:[{type:s?"number":"integer"},{type:"string"}]},minimum:i?.min,maximum:i?.max}}case"ValueSliderWidget":{const i=Un(a);return{title:t,type:s?"number":"integer",minimum:i?.min,maximum:i?.max}}case"MultiSelectWidget":return{title:t,type:"array",items:{type:"string",enum:a.map(i=>i.value)},uniqueItems:!0};case"NumberRangeWidget":{const i=Ra(e,n);return{title:t,type:"object",properties:{mode:{type:"string",enum:["range"],default:"range"},min:{type:s?"number":"integer",minimum:i?.min,maximum:i?.max},max:{type:s?"number":"integer",minimum:i?.min,maximum:i?.max}}}}default:return{title:t,type:"string",oneOf:a.map(i=>({const:i.value,title:i.label}))}}},Un=e=>{if(e&&e.length>0){const t=e.map(a=>a.value);return{min:Math.min(...t),max:Math.max(...t)}}return null},Ra=(e,t)=>{const a=e["ui:options"]?.minAttribute,n=e["ui:options"]?.maxAttribute,s=t.find(o=>o.attribute_code===a),i=t.find(o=>o.attribute_code===n);if(s&&i){const o=s.options.map(u=>u.value),c=i.options.map(u=>u.value);return{min:Math.min(...o),max:Math.max(...c)}}return null},qn=(e,t)=>{if(e.length===0)return null;try{const a={};return e.forEach(n=>{const{attribute_code:s,label:i,options:o}=n,c=s.replace("_min",""),u=t[c];if(!u)return;const m=[...o].sort((l,g)=>l.label.localeCompare(g.label,void 0,{numeric:!0,sensitivity:"base"}));a[c]=Dn(u,i,m,e)}),{type:"object",properties:a}}catch(a){return console.error("Error building facet schema:",a),null}};var Wn=P(15304);function Vn(){const e=new Wn.Validator;return{validateFormData(t,a){const n=e.validate(t,a),s={};return{errors:n.errors.map(o=>{let c=o.property.replace("instance.","");const u=o.stack||o.message;return s[c]=s[c]||{__errors:[]},o.name==="required"&&(c=o.argument),c&&s[c].__errors.push(u),{message:u,name:o.name,property:c,stack:o.stack}}),errorSchema:s}},isValid(t,a,n){try{const s=n;return s&&e.addSchema(s,s.$id||""),e.validate(a,t).valid}catch{return!1}}}}var Bn=Vn;function Ot(e,t){if(!t||typeof t=="boolean")return e;const a=t.type;if(!a)return e;if(Array.isArray(e))return a==="array"&&t.items?e.map(n=>Ot(n,t.items)):e;switch(a){case"number":case"integer":{if(e===""||e===null||e===void 0)return;const n=a==="integer"?parseInt(e,10):parseFloat(e);return!isNaN(n)&&isFinite(n)?n:e}case"boolean":return e==="true"||e==="1"?!0:e==="false"||e==="0"||e===""?!1:e;case"array":return t.items?[Ot(e,t.items)]:[e];default:return e}}const Oa=["wcmmode"];class jn{extractParams(t,a,n){const s=new URLSearchParams(window.location.search),i={},o={};return Array.from(s.entries()).forEach(([c,u])=>{let m=c.replace(`${t}-`,"");const l=m.startsWith("facet-");m=l?m.replace("facet-",""):m;const g=n?.properties?.[m]||a?.properties?.[m];if(g){const f=typeof g=="object"&&g?.type==="array"&&u.includes(",")?u.split(","):u;l?o[m]=Ot(f,g):i[m]=Ot(f,g)}}),{filters:i,facets:o}}update(t,a,n=!1){const s=new URLSearchParams(window.location.search);n?Array.from(s.keys()).forEach(o=>{Oa.includes(o)||s.delete(o)}):(Object.keys(t).forEach(o=>{const c=t[o];c&&o!=="_searchByDefault"&&o!=="_searchGroupDefault"&&(Array.isArray(c)?s.set(`${a}-${o}`,c.join(",")):s.set(`${a}-${o}`,c))}),Object.keys(t).length>0&&Array.from(s.keys()).forEach(o=>{const c=o.replace(`${a}-`,"");!Oa.includes(o)&&!t[c]&&s.delete(o)}));const i=`${window.location.pathname}?${s.toString()}`;i!==window.location.href&&window.history.pushState({},"",i)}getActiveForm(){const t=window.location.search,a=new URLSearchParams(t),n=Array.from(a.keys());for(const s of n)if(s.endsWith("-searchGroup")||s.endsWith("-searchBy"))return s.replace(/-search(Group|By)$/,"");return""}}const ft=new jn,ka=["searchBy","searchGroup"],Gn=["_searchByDefault","_searchGroupDefault"],lu=e=>ka.some(t=>e.includes(t));class zn{constructor(){this.state={},this.visibility={},this.activeForm=null,this.initialActiveForm=null,this.subscribers=new Map}initialize(t,a,n){if(this.activeForm===null){const s=ft.getActiveForm();this.activeForm=s||t,this.initialActiveForm=s||t}this.state[t]={},this.state[`facets-${t}`]={},a!==null&&(this.state[t]={searchGroup:a,_searchGroupDefault:a}),n!==null&&(this.state[t]={...this.getFormState(t),searchBy:n,_searchByDefault:n}),this.updateVisibility(),this.notify()}subscribe(t,a){this.subscribers.set(t,a),a(this.getFormState(t),this.getFormState(`facets-${t}`),this.getVisibility(t))}unsubscribe(t){this.subscribers.delete(t)}updateFormState(t,a,n=!1){const s=this.activeForm,i=this.getFormState(t),o=!a;if(o)this.state[t]=Object.keys(i).reduce((c,u)=>(ka.includes(u)&&(c[u]=i[`_${u}Default`]),Gn.includes(u)&&(c[u]=i[u]),c),{});else{const{searchGroup:c,searchBy:u,...m}=a;this.state[t]=Object.entries({...i,...m}).filter(([,l])=>l===""||l&&(Array.isArray(l)&&l.length>0||!Array.isArray(l))).reduce((l,[g,f])=>(l[g]=f,l),{}),this.isFacetType(t)||(this.isWidgetValueValid(i.searchGroup)&&(this.state[t].searchGroup=this.getWidgetValue(c,"searchGroup",i)),this.isWidgetValueValid(i.searchBy)&&(this.state[t].searchBy=this.getWidgetValue(u,"searchBy",i)))}o?this.resetActiveForm():this.updateActiveForm(t),!n&&s&&s!==this.activeForm&&this.syncWidgetValues(s),this.updateVisibility(),this.notify()}syncUrl(t=!1,a=!1){if(!this.activeForm)return;const n=this.getFormState(this.activeForm);let s=this.getFormState(`facets-${this.activeForm}`);s=Object.keys(s).reduce((o,c)=>({...o,[`facet-${c}`]:s[c]}),{});const i=a?n:{...n,...s};ft.update(i,this.activeForm,t)}syncWidgetValues(t){const{searchGroup:a,searchBy:n}=this.getFormState(t);Object.keys(this.state).forEach(s=>{if(!this.isFacetType(s)&&this.activeForm===s){const i=this.getFormState(s);this.isWidgetValueValid(i.searchGroup)&&(i.searchGroup=this.getWidgetValue(a,"searchGroup",i)),this.isWidgetValueValid(i.searchBy)&&(i.searchBy=this.getWidgetValue(n,"searchBy",i))}})}getFormState(t){return this.state[t]||{}}resetActiveForm(){this.activeForm=this.initialActiveForm}updateActiveForm(t){const{searchGroup:a,searchBy:n}=this.getFormState(t),{searchGroup:s,searchBy:i}=this.extractIds(this.activeForm);a&&s!==a?this.activeForm=Object.keys(this.state).find(o=>o.startsWith(a))||t:n&&i!==n&&(this.activeForm=a?`${a}_${n}`:n)}getWidgetValue(t,a,n){const s=n[`_${a}Default`];return this.isWidgetValueValid(t)?t:s===""?s:null}isWidgetValueValid(t){return t!=null}getVisibility(t){return this.isFacetType(t)?null:this.visibility[t]||{formVisible:!1,searchByVisible:!1,fieldsVisible:!1}}isFacetType(t){return t.startsWith("facets-")}updateVisibility(){Object.keys(this.state).forEach(t=>{if(!this.isFacetType(t)){const{searchGroup:a,searchBy:n,...s}=this.getFormState(t),i=this.getWidgetValue(a,"searchGroup",s),o=this.getWidgetValue(n,"searchBy",s);this.visibility[t]={formVisible:this.activeForm===t,fieldsVisible:i!==""&&o!=="",searchByVisible:i!==""}}})}extractIds(t){if(!t)return{searchGroup:null,searchBy:null};const a=t.split("_");return a.length>1?{searchGroup:a[0],searchBy:a[1]}:{searchBy:t,searchGroup:null}}
1notify(){this.subscribers.forEach((t,a)=>{const n=this.getFormState(a),s=this.getFormState(`facets-${a}`),i=this.getVisibility(a);t(n,s,i)})}}const Me=new zn,Qn=(e,t,a,n,s,i)=>{const o=Object.keys(n).reduce((c,u)=>{const m=n[u],l=e[u]||t[u],g=a.properties?.[u]||s?.properties?.[u];if(l&&m!==void 0&&m!==""&&!(Array.isArray(m)&&m.length===0)){const f=typeof l.operator=="string"&&l.operator.length>0;if(Array.isArray(m)&&m.length===4){const[v,d,,]=m,b=Number(g?.minimum),E=Number(g?.maximum);if(Number(v)===b&&Number(d)===E)return c}const C=g?.type||"string";c[u]={value:m,type:C},f&&(typeof l.operator=="string"&&l.operator.length>0?c[u].operator=l.operator:C==="array"&&Array.isArray(m)?c[u].operator="in":C==="string"&&(c[u].operator="match"))}return c},{});return i.value&&i.name&&n.searchBy&&n.searchBy.length>0&&(o[i.name]={value:i.value,operator:i.operator}),o},La=(e,t,a)=>{let n=null;return t?.properties?.[a]&&e[a]&&(e[a]["ui:placeholder"]?n="":n=t?.properties?.[a]?.oneOf?.[0]?.const||""),n};var Yt=P(29884);const Kn={MASE:"0882",MADE:"0078",MAUK:"0140"},$a=()=>{const{storeConfig:e,commerce:t}=(0,oe.useConfigContext)(),[{isSignedIn:a}]=(0,Yt.A)();return{checkCustomerPermissions:()=>{if(!t?.enableMicrosoftLogin||!t?.enableCustomerPermissions)return!0;if(!a)return!1;const s=(0,ce.QG)();if(!s)return!1;const i=s.salesOrgs,o=e?.salesOrganization;return!i||i.length===0||!o?!1:i.some(u=>Kn[u]===o)}}};var Hn;const Da=(e,t)=>{const a=e.split(" ").filter(Boolean),n=t.split(" ").filter(Boolean);return Array.from(new Set([...a,...n])).join(" ")},Jn=(e,t)=>t.split(" ").filter(n=>n.trim()&&!e.includes(n)).join(" "),uu=(e,t)=>{const a=[],n=[],s=[],i={};let o=!1;const c=l=>t?.[l]?.["ui:widget"]==="AutosuggestionWidget",u=l=>t?.[l]?.["ui:widget"]==="NumberRangeWidget",m=(l,g)=>{const f=`${g?.attributeName||l}`;a.push(`$${f}From: String`),a.push(`$${f}To: String`);const C=[];C.push(`from: $${f}From`),C.push(`to: $${f}To`),n.push(`${f}: { ${C.join(", ")} }`),s.push(f)};return Object.entries(e).filter(([l])=>!Hn(l)).forEach(([l,g])=>{if(!g?.value)return;if(c(l)){i[l]=g,o=!0;return}if(u(l)){const d=t?.[l]?.["ui:options"];m(l,d);return}if(Array.isArray(g.value)&&g.value.length===4&&!isNaN(Number(g.value[0]))&&!isNaN(Number(g.value[1]))&&typeof g.value[2]=="str
1ing"&&typeof g.value[3]=="string"){const d=g.value[2],b=g.value[3];d===b?(a.push(`$${d}From: String!`,`$${b}To: String!`),n.push(`${d}: { from: $${d}From, to: $${b}To }`),s.push(d,b)):(a.push(`$${d}: String!`,`$${b}: String!`),n.push(`${d}: { from: $${d} }, ${b}: { to: $${b} }`),s.push(d,b));return}const C=g.operator==="in"&&Array.isArray(g.value)?"[String!]":"String!",v=g.operator??(g.type==="string"?"match":"eq");a.push(`$${l}: ${C}`),n.push(`${l}: { ${v}: $${l} }`),s.push(l)}),{queryInputs:a.join(", "),filters:n.join(", "),customAttributes:s.join(" "),hasAutosuggestionFields:o,autosuggestionFields:i}},mu=(e,t,a)=>Object.entries(e).reduce((n,[s,i])=>{if(i.value){if(a?.[s]?.["ui:widget"]==="NumberRangeWidget"){const o=a[s]?.["ui:options"],c=o?.attributeName||s,u=Number(i.value),m=Number(o?.range);if(!Number.isFinite(u)||!Number.isFinite(m))return n;const l=Math.max(0,u-m),g=Math.max(0,u+m);return n[`${c}From`]=String(l),n[`${c}To`]=String(g),n}if(Array.isArray(i.value)&&i.value.length===4&&!isNaN(Number(i.value[0]))&&!isNaN(Number(i.value[1]))&&typeof i.value[2]=="str
1ing"&&typeof i.value[3]=="string"){const o=i.value[2],c=i.value[3];o===c?(n[`${o}From`]=String(i.value[0]),n[`${c}To`]=String(i.value[1])):(n[`${o}`]=String(i.value[0]),n[`${c}`]=String(i.value[1]))}else n[s]=Array.isArray(i.value)?i.value:String(i.value)}return n},{...t}),du=(e,t,a)=>{const n=e.replace("{groupedProducts}",""),s=Da(t||"",a);return n.replace("{customAttrs}",s)},pu=(e,t,a,n,s,i)=>{const c=(typeof a=="string"?a.split(" "):a||[]).filter(g=>!Array.isArray(n[g]?.value))||[],u=Jn(e,c.join(" ")),m=Da(u,s),l=e.replace("{customAttrs}",m||"");return t.replace("{groupedProducts}",l).replace("{customAttrs}",i||"")},Yn=["id","product_name","family_name","product_sku","family_sku","filter_class_category","url_key","image_url","product_width","product_height","product_depth","filter_type","dimension","frame_material","header","gasket_location","gasket_type","lse_capacity","lse_label","face_guard_type","face_guard_location","capacity","test_method","special"],Xn=(e=[])=>{const t=Array.from(new Set([...Yn,...e])),a=t.filter(i=>!i.startsWith("dimensions.")),n=t.filter(i=>i.startsWith("dimensions.")).map(i=>i.replace("dimensions.",""));let s=a.join(`
2			`);return n.length>0?s+=`
3			dimensions {
4				${n.join(`
5				`)}
6			}`:s+=`
7			dimensions {
8				width
9				height
10				depth
11			}`,s},Xt=(e,t={})=>{const{pageSize:a,currentPage:n,customFields:s=[],filters:i={}}=t,o=["$search: String!"];a!==void 0&&o.push("$pageSize: Int"),n!==void 0&&o.push("$currentPage: Int");const c=Object.keys(i).length>0;c&&o.push("$filter: ProductAttributeFilterInput");const u=["search: $search"];a!==void 0&&u.push("pageSize: $pageSize"),n!==void 0&&u.push("currentPage: $currentPage"),c&&u.push("filter: $filter");const m=Xn(s);return`
12		query SmartSearch(${o.join(", ")}) {
13			smartSearch(
14				${u.join(`
15				`)}
16			) {
17				total_count
18				items {
19					${m}
20				}
21				aggregations {
22					label
23					attribute_code
24					options {
25						label
26						value
27					}
28				}
29				page_info {
30					total_pages
31					current_page
32					page_size
33				}
34			}
35		}`},Zt=(e,t={})=>{const{pageSize:a,currentPage:n,filters:s={}}=t,i={search:e};return a!==void 0&&(i.pageSize=a),n!==void 0&&(i.currentPage=n),Object.keys(s).length>0&&(i.filter=s),i},Zn=(e,t)=>{const a={};return t?(Object.entries(e).forEach(([n,s])=>{if(!s?.value)return;const i=t?.[n]?.["ui:widget"];if(i==="AutosuggestionWidget")return;if(i==="NumberRangeWidget"){const c=t[n]?.["ui:options"],u=c?.attributeName||n;if(u.startsWith("product_")){const m=Number(s.value),l=Number(c?.range||0);if(Number.isFinite(m)&&Number.isFinite(l)){const g=Math.max(0,m-l),f=Math.max(0,m+l);a[u]={from:String(g),to:String(f)}}}return}if(Array.isArray(s.value)&&s.value.length===4&&!isNaN(Number(s.value[0]))&&!isNaN(Number(s.value[1]))&&typeof s.value[2]=="str
35ing"&&typeof s.value[3]=="string"){const[c,u,m,l]=s.value;typeof m=="string"&&typeof l=="string"&&(m===l?a[m]={from:String(c),to:String(u)}:(a[m]={from:String(c)},a[l]={to:String(u)}));return}if(s.operator==="in"&&Array.isArray(s.value)){a[n]={in:s.value};return}const o=s.operator||(s.type==="string"?"match":"eq");a[n]={[o]:s.value}}),a):{}},gu=(e,t,a,n)=>{const s=Object.keys(e)[0],i=e[s],o=String(i.value),u=n?.[s]?.schema?.suggestionAttributes?.map(C=>C.code)||[],m=Zn(a,n||{}),l={pageSize:t.pageSize,currentPage:t.currentPage,customFields:u,filters:m},g=Xt(o,l),f=Zt(o,l);return{query:g,variables:f}};var ea=P(70111),se=P(2135);const es=({debounceMs:e=300,onError:t}={})=>{const[a,n]=(0,r.useState)([]),[s,i]=(0,r.useState)(!1),[o,c]=(0,r.useState)(null),u=(0,ea.m)(),m=(0,r.useRef)(null),l=(0,r.useRef)(null),g=(0,r.useCallback)(async(v,d={})=>{l.current&&l.current.abort(),l.current=new AbortController;try{i(!0),c(null);const b=(0,se.J1)`
36					${v}
37				`,{data:E}=await u.query({query:b,variables:d,fetchPolicy:"no-cache",context:{fetchOptions:{signal:l.current.signal}}});let S=[];E?.smartSearch?.items?S=E.smartSearch.items.map((I,y)=>{const M=I.product_sku||I.family_sku||I.sku||`smart-suggestion-${y}`,F=I.product_name||I.family_name||I.name||"";return{...I,sku:M,name:F,id:M}}):E?.productSearch?.items?S=E.productSearch.items.map((I,y)=>{const M=I.product??{};return{sku:M.sku??`ls-suggestion-${y}`,...M}}):E?.products?.items?S=E.products.items.map((I,y)=>({sku:I?.sku??`prod-suggestion-${y}`,...I})):S=[],n(S)}catch(b){if(b instanceof DOMException&&b.name==="AbortError")return;if(b instanceof Error){console.error("Autosuggestion search error:",b);const E=b.message||"Failed to fetch suggestions";c(E),n([]),t?.(E)}else{console.error("Autosuggestion search error (non-Error):",b);const E="Failed to fetch suggestions";c(E),n([]),t?.(E)}}finally{i(!1)}},[u,t]),f=(0,r.useCallback)((v,d={})=>{m.current&&clearTimeout(m.current),v.trim()&&(i(!0),c(null)),m.current=setTimeout(()=>{v.trim()?g(v,d):(n([]),c(null),i(!1))},e)},[g,e]),C=(0,r.useCallback)(()=>{n([]),c(null),i(!1),l.current&&l.current.abort(),m.current&&clearTimeout(m.current)},[]);return(0,r.useEffect)(()=>()=>{m.current&&clearTimeout(m.current),l.current&&l.current.abort()},[]),{suggestions:a,loading:s,error:o,executeQuery:f,clearSuggestions:C}};var ts=P(40961),Ua=P(6442),qa=P(2945),ta=P(33555),ct=P(16849),as=P(18746),kt=({itemId:e,initialValue:t,onChange:a,disabled:n=!1})=>r.createElement("div",{className:`cmp-stepper ${n?"cmp-stepper--disabled":""}`},r.createElement(as.A,{itemId:e,initialValue:t,onChange:a,disabled:n})),He=P(72309),Je=P(95420),ht=P(69467),rs=(0,se.J1)`
38	mutation addSimpleProductToCart($cartId: String!, $cartItems: [SimpleProductCartItemInput]!) {
39		addSimpleProductsToCart(input: { cart_id: $cartId, cart_items: $cartItems }) {
40			cart {
41				id
42				items {
43					uid
44					quantity
45					product {
46						name
47						thumbnail {
48							url
49						}
50					}
51				}
52				...MiniCartFragment
53			}
54		}
55	}
56	${ht.MiniCartFragment}
57`;function ns(){const e=(0,Ua.A)();return{translate:(0,r.useCallback)((a,...n)=>{const s=e.formatMessage(a,...n);return s===a.id||!s?typeof a.defaultMessage=="string"?a.defaultMessage:"":s},[e])}}var Ye=ns;function ss({children:e,content:t,className:a}){const[n,s]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let i;return n&&(i=(0,xa.D)([n])),()=>{i&&i()}},[n]),r.createElement("div",{className:"cmp-tooltip"},r.createElement("div",{ref:i=>{s(i)},className:a},e),r.createElement("div",{className:"cmp-tooltip__content cmp-text"},r.createElement("div",{className:"cmp-tooltip__arrow"}),t))}var Lt=ss,is=P(61374),os=P(62952),cs=(0,se.J1)`
58	mutation ClearCart($uid: ID!) {
59		clearCart(input: { uid: $uid }) {
60			cart {
61				id
62				items {
63					uid
64				}
65				...MiniCartFragment
66			}
67			errors {
68				message
69			}
70		}
71	}
72	${ht.MiniCartFragment}
73`;const ls="Can't assign cart to store in different website.";function aa(e,t="An unknown error occurred"){if(e&&typeof e=="object"){if("graphQLErrors"in e){const a=e.graphQLErrors;if(a?.[0]?.message)return a[0].message}if("networkError"in e){const a=e.networkError;if(a&&"message"in a)return a.message}}return e instanceof Error?e.message:t}function us(e){return aa(e)===ls}function ms(){const e=(0,ea.m)(),[,{removeCart:t,createCart:a}]=(0,qa.useCartContext)(),{checkCustomerPermissions:n}=$a(),[s]=(0,Je.n)(cs),[i]=(0,Je.n)(os.Ay.createCartMutation),o=(0,r.useCallback)(async()=>{const u=nt();if(!u)throw new Error("No cart ID found to clear");await s({variables:{uid:u}}),await(0,is.K)(e),await t(),await a({fetchCartId:i});const m=nt();if(!m)throw new Error("Failed to create new cart");return m},[e,s,a,i,t]);return(0,r.useCallback)(async u=>{const m=nt();if(!m)throw new Error("No cart ID available");try{return await u(m)}catch(l){if(!us(l))throw l;if(!n())throw new Error(aa(l));const g=await o();return await u(g)}},[n,o])}var ra=e=>{const{sku:t,quantity:a,isOutOfStock:n,isDisabled:s,product:i,error:o,cartId:c,tooltipPlacement:u,className:m,onBeforeAddToCart:l}=e,{translate:g}=Ye(),C=(0,oe.useConfigContext)()?.commerce?.enableMicrosoftLogin,v=i?.priceRange,[d]=(0,Je.n)(rs),b=ms(),E=(0,r.useCallback)(async I=>{if(I.preventDefault(),!(l&&!await l())){window.dispatchEvent(new CustomEvent(Se.z.OpenSpinnerOverlay));try{const y=[{data:{sku:t,quantity:a}}];C?await b(M=>d({variables:{cartId:M,cartItems:y}})):await d({variables:{cartId:c,cartItems:y}}),i&&v?.final_price&&(0,Ma.A)(Ta.s.TrackableEvent,{detail:{name:"track:scAdd",eventInfo:{cartID:c,products:[{name:`${i.name}|${i.sku}`,price:a*v.final_price.value,quantity:a,currency:v.final_price.currency}]}}}),document.dispatchEvent(new CustomEvent(Se.z.CartUpdate,{detail:{message:g({id:"productFinder:addToCartSuccess",defaultMessage:"Product added to cart successfully!"}),type:"success"}}))}catch(y){document.dispatchEvent(new CustomEvent(Se.z.CartUpdate,{detail:{message:aa(y),type:"error"}}))}finally{window.dispatchEvent(new CustomEvent(Se.z.CloseSpinnerOverlay))}}},[d,c,l,i,v,a,t,g,C,b]);if(o&&o.message)return r.createElement("div",{className:"error-message"},o.message);const S=Re()(m||"cmp-product-variant-table__add-to-cart-button");return r.createElement("div",{className:S},r.createElement(Lt,{placement:u,content:r.createElement("div",{className:"text-standard"},g({id:"productAction.addToCart",defaultMessage:"Add to cart"}))},r.createElement(we.A,{iconOnly:!0,disabled:n||!c||s,style:"primary",iconType:"cart-add",iconPosition:"before",text:g({id:"productAction.addToCart",defaultMessage:"Add to cart"}),onClick:E})))},_t=P(82260);class lt{constructor(){this.productSku=null,this.isInputFillMode=!1,this.listeners=new Set}static getInstance(){return lt.instance||(lt.instance=new lt),lt.instance}setProductSku(t){this.productSku=t,this.notifyListeners()}getProductSku(){return this.productSku}setInputFillMode(t){this.isInputFillMode=t,this.notifyListeners()}isInInputFillMode(){return this.isInputFillMode}clearModalData(){this.productSku=null,this.isInputFillMode=!1,this.notifyListeners()}hasActiveData(){return!!this.productSku}subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t)}}
73notifyListeners(){this.listeners.forEach(t=>t())}}const na=lt.getInstance();var _u=null,ds,ps,vt,gs,fs,vu=null;const Wa=(0,r.createContext)(void 0),sa="toast.error",bu=e=>{window.dispatchEvent(new CustomEvent(sa,{detail:e}))},ia=()=>{const e=(0,r.useContext)(Wa);if(!e)throw new Error("useToast must be used within a ToastProvider");return e},yu=({children:e})=>{const[t,a]=ds([]),n=(m,l={})=>{const{duration:g=6e3,autoClose:f=!0}=l,C=Math.floor(Math.random()*1e4)+1,v={id:C,content:m,options:l};a(d=>(d.push(v),[...d])),f&&setTimeout(()=>{s(C)},g)},s=m=>{a(l=>l.filter(g=>g.id!==m))},i=(m,l={})=>{n(m,{...l,type:"success"})},o=(m,l={})=>{n(m,{...l,type:"error"})};ps(()=>{const m=l=>{n(l.detail,{type:"error"})};return window.addEventListener(sa,m),()=>{window.removeEventListener(sa,m),a([])}},[]);const c=m=>vt.createElement("button",{className:"cmp-icon cmp-icon--close","aria-label":"close",onClick:()=>s(m)}),u=vt.createElement("div",{className:"tw-fixed tw-top-0 tw-left-0 tw-w-full tw-flex tw-flex-col tw-z-[999] tw-text-c5"},t.map(m=>vt.createElement("div",{key:m.id,className:gs("text-large tw-max-w-full tw-m-auto tw-w-full md:tw-mb-[2px]",{"tw-bg-c2":m.options.type==="success","tw-bg-c15":m.options.type==="error"})},vt.createElement("div",{className:"cmp-container tw-flex tw-flex-row tw-justify-between pt-5 tw-pr-0 md:tw-pr-[32px] lg:tw-pr-[40px] pb-5"},m.content,m.options.autoClose===!1&&c(m.id)))));return vt.createElement(Wa.Provider,{value:{success:i,error:o}},fs.createPortal(u,document.body),e)};var oa=({sku:e,onAddToFiltermap:t,className:a})=>{const{error:n}=ia(),{translate:s}=Ye(),i=(0,r.useCallback)(async()=>{try{na.isInInputFillMode()?na.setProductSku(e):t?t(e):na.setProductSku(e)}catch(m){console.error("Failed to add product to filtermap:",m),n("An error occurred while adding the product to filtermap. Please try again.")}},[t,n,e]),o=s({id:"filtermap:add-to-filtermap-button",defaultMessage:"Add to filtermap"}),c=s({id:"filtermap:add-to-filtermap-tooltip",defaultMessage:"Add this product to the current filtermap"}),u=Re()(a||"cmp-product-variant-table__add-to-cart-button");return r.createElement("div",{className:u},r.createElement(Lt,{content:r.createElement("div",{className:"text-standard"},c)},r.createElement(we.A,{iconOnly:!0,iconType:"filtermap",iconPosition:"before",style:"secondary",text:o,onClick:i})))};const hs=/\$\{(\w+)\.(label|value)(?::([^}]+))?\}/g;function _s(e,t,a){return!e||e.trim()===""?"":e.replace(hs,(n,s,i,o)=>{const c=t[s];return i==="label"?a.find(u=>u.attribute_code===s)?.frontend_label||s:i==="value"&&(c?.toString()||o)||""})}function vs(e){if(e)return Object.entries(e).filter(([t,a])=>t!=="__typename"&&!!a).map(([,t])=>t).join(" x ")}function bs(e){return"product_name"in e||"product_sku"in e}function Va(e){if(bs(e)){const a=e;return{name:a.product_name||a.name||"",sku:a.product_sku||a.sku||"",familyName:a.family_name||a.groupedFamilyName||"",familySku:a.family_sku||"",imgSrc:a.image_url||a.imgSrc,dimensions:vs(a.dimensions),stockStatus:"IN_STOCK"}}const t=e;return{name:t.name||"",sku:t.sku||"",familyName:t.familyName||t.family_name||"",familySku:t.familySku||t.family_sku||"",imgSrc:t.imgSrc,dimensions:t.product_width?`${t.product_width} x ${t.product_height} x ${t.product_depth}`:"",stockStatus:t.stock_status}}const ys=e=>{if(!e?.priceRange)return{value:null,currency:null};const t=e?.priceRange?.minimumPrice??null;if(!t)return{value:0,currency:""};const{discount:a,finalPrice:n,regularPrice:s}=t,o=(a?.amountOff??0)>0||(a?.percentOff??0)>0?n?.value??s?.value??0:s?.value??n?.value??0,c=n?.currency||s?.currency||"";return{value:o,currency:c}},Es=e=>{if(e){const t=e.final_price?.value;return typeof t=="number"&&t>0}return!1};function ca(e,t){if(t)return e[t]}function Cs(e,t,a){const n=Va(e);if(!t)return{preHeading:n.familyName,heading:n.name,subHeading:n.sku,bulletPointsList:void 0,skuLabel:void 0};const s=t.bulletPointsList&&a?_s(t.bulletPointsList,e,a):void 0;return{preHeading:ca(e,t.preHeading)||"",heading:ca(e,t.heading)||n.name,subHeading:ca(e,t.subHeading)||n.sku,bulletPointsList:s,skuLabel:t.skuLabel}}var bt=(e=>(e.MANAGE_FILTERMAPS="manage_filtermaps",e.MANAGE_SHIPPING_ADDRESSES="manage_shipping_addresses",e.MANAGE_USERS="manage_users",e.VIEW_PRICES="view_prices",e.MANAGE_CLAIMS="manage_claims",e.MANAGE_ORDERS="manage_orders",e.VIEW_ORDERS="view_orders",e.MANAGE_STOCK="manage_stock",e.MANAGE_SALES_ANALYTICS="manage_sales_analytics",e.VIEW_PRODUCTS="view_products",e))(bt||{});const Cu="Sales Rep",Ps=()=>{const e=(0,oe.useConfigContext)();return(0,r.useMemo)(()=>{const t=e?.commerce?.enableMicrosoftLogin,a=(0,ce.QG)()?.permissions||[];return{hasPermission:n=>t?a.includes(n):!0,canManageFilterMaps:!t||a.includes(bt.MANAGE_FILTERMAPS),canManageShippingAddresses:!t||a.includes(bt.MANAGE_SHIPPING_ADDRESSES),canManageUsers:!t||a.includes(bt.MANAGE_USERS),canViewPrices:!t||a.includes(bt.VIEW_PRICES),getAllPermissions:()=>
73[...a],hasAnyPermission:n=>t?n.some(s=>a.includes(s)):!0,hasAllPermissions:n=>t?n.every(s=>a.includes(s)):!0,isAuthenticatedWithPermissions:()=>t?(0,ce.QG)()!==null&&a.length>0:!0}},[e])};function Ba({product:e,actionsConfig:t,displayConfig:a,attributes:n}){const{translate:s}=Ye(),[{isSignedIn:i}]=(0,Yt.A)(),[o,c]=(0,r.useState)(!1),[u,m]=(0,r.useState)(1),{showAddToCartAction:l=!0,showFiltermapAction:g=!1}=t||{},{canManageFilterMaps:f,canViewPrices:C}=Ps(),v="msPriceRange"in e&&e.msPriceRange!==void 0,d=e.isPricingLoading??!1;let b=null,E=null;if(v){const Z=e.msPriceRange;b=Z.final_price.value,E=Z.final_price.currency}else if("priceRange"in e&&e.priceRange!==void 0){const te=ys(e);b=te.value,E=te.currency}const{sku:S,familySku:I,imgSrc:y,stockStatus:M,name:F,familyName:k}=Va(e),A=M==="OUT_OF_STOCK",h=`sku-${S}`,{preHeading:w,heading:W,subHeading:B,bulletPointsList:G,skuLabel:j}=Cs(e,a,n),D=g&&f,U=i&&C&&!d&&b!==null&&E!==null,Y=i&&C&&d,ee="msPriceRange"in e?e.msPriceRange:void 0,L=Es(ee),q=C&&!L,V=(0,r.useCallback)(()=>c(!0),[]);return{preHeading:w,heading:W,subHeading:B,bulletPointsList:G,skuLabel:j,sku:S,familySku:I,imgSrc:y,stockStatus:M,isOutOfStock:A,skuId:h,name:F,familyName:k,value:b,currency:E,showPrice:U,showPriceLoading:Y,hasMSPricing:v,hasValidPrice:L,shouldDisableDueToPrice:q,imageError:o,handleImageError:V,quantity:u,setQuantity:m,showAddToCartAction:l,showFiltermapAction:g,showFiltermapActionIcon:D,translate:s,isSignedIn:i}}var ja=P(26659),Ss=P(99153),Is=P(10858),As=P(23973);const Ga=(e="")=>(0,se.J1)`
74	fragment ProductListingFragmentAF on Cart {
75		id
76		items {
77			id
78			product {
79				id
80				name
81				sku
82				categories {
83					name
84				}
85				url_key
86				url_suffix
87				${e}
88				thumbnail {
89					url
90				}
91				small_image {
92					url
93				}
94				stock_status
95				... on ConfigurableProduct {
96					variants {
97						attributes {
98							uid
99						}
100						product {
101							id
102							small_image {
103								url
104							}
105						}
106					}
107				}
108			}
109			filtermap {
110				description
111				filtermapId
112				object
113				place
114				installation
115				comment
116				material
117			}
118			prices {
119				discounts {
120					amount {
121						currency
122						value
123					}
124					label
125				}
126				price {
127					currency
128					value
129				}
130				subTotal: row_total {
131					currency
132					value
133				}
134				row_total_including_tax {
135					currency
136					value
137				}
138				total_item_discount {
139					currency
140					value
141				}
142			}
143			quantity
144			... on ConfigurableCartItem {
145				configurable_options {
146					id
147					configurable_product_option_value_uid
148					option_label
149					value_id
150					value_label
151				}
152			}
153			... on SimpleCartItem {
154				installation
155				place
156				object
157			}
158		}
159	}
160`,Pu=Ga(),la=((e="")=>{const t=Ga(e);return(0,se.J1)`
161		fragment CartPageFragmentAF on Cart {
162			id
163			total_quantity
164			...AppliedCouponsFragment
165			...GiftCardFragment
166			...ProductListingFragmentAF
167			...PriceSummaryFragment
168		}
169		${As.D}
170		${Is.x}
171		${t}
172		${Ss.K}
173	`})();var ua=P(61083),Ns,Fs;const Iu=(0,se.J1)`
174	mutation removeFiltermapItems($cartId: String!, $filtermapId: String!) {
175		removeFiltermapItems(input: { cart_id: $cartId, filtermap_id: $filtermapId })
176			@connection(key: "removeFiltermapItems") {
177			removed_items_count
178			cart {
179				id
180				...CartPageFragmentAF
181				...AvailableShippingMethodsCartFragment
182				...MiniCartFragment
183			}
184		}
185	}
186	${la}
187	${ua.Em}
188	${ht.MiniCartFragment}
189`,ws=(0,se.J1)`
190	mutation removeItem($cartId: String!, $itemId: Int!) {
191		removeItemFromCart(input: { cart_id: $cartId, cart_item_id: $itemId }) @connection(key: "removeItemFromCart") {
192			cart {
193				id
194				...CartPageFragmentAF
195				...AvailableShippingMethodsCartFragment
196			}
197		}
198	}
199	${la}
200	${ua.Em}
201`,Au=(0,se.J1)`
202	mutation updateItemQuantity($cartId: String!, $itemId: Int!, $quantity: Float!) {
203		updateCartItems(input: { cart_id: $cartId, cart_items: [{ cart_item_id: $itemId, quantity: $quantity }] })
204			@connection(key: "updateCartItems") {
205			cart {
206				id
207				...CartPageFragmentAF
208				...AvailableShippingMethodsCartFragment
209			}
210		}
211	}
212	${la}
213	${ua.Em}
214`,Nu=(0,se.J1)`
215	mutation updateItemLabels($cartId: String!, $itemId: Int!, $label1: String, $label2: String, $label3: String) {
216		updateCartLabels(
217			input: {
218				cart_id: $cartId
219				cart_items: [{ cart_item_id: $itemId, object: $label1, place: $label2, installation: $label3 }]
220			}
221		) @connection(key: "updateCartLabels") {
222			cart {
223				id
224			}
225		}
226	}
227`,Fu=e=>{const t=Fs(e);return Ns`
228		query GetCartDetails($cartId: String!) {
229			cart(cart_id: $cartId) {
230				id
231				...CartPageFragmentAF
232			}
233		}
234		${t}
235	`};var Ms=(0,se.J1)`
236	query GetQuoteCartMeta($cartId: String!) {
237		cart(cart_id: $cartId) {
238			quote_to_shop_meta {
239				reference_sd_document
240			}
241		}
242	}
243`,Ts=(0,se.J1)`
244	query GetCartItemsForRemoval($cartId: String!) {
245		cart(cart_id: $cartId) {
246			items {
247				id
248			}
249		}
250	}
251`;const za=e=>{const t=(0,ea.m)(),{pagePaths:a}=(0,oe.useConfigContext)(),{translate:n}=Ye(),[s,i]=(0,r.useState)(!1),[o,c]=(0,r.useState)(!1),u=(0,r.useRef)(null),[m]=(0,Je.n)(ws),l=(0,r.useCallback)(async()=>{if(!e)return!0;let d=!1;try{const{data:b}=await t.query({query:Ms,variables:{cartId:e},fetchPolicy:"network-only",errorPolicy:"all"});d=!!b?.cart?.quote_to_shop_meta?.reference_sd_document}catch{d=!1}return d?new Promise(b=>{u.current=b,i(!0)}):!0},[t,e]),g=(0,r.useCallback)(()=>{i(!1),u.current?.(!1)},[]),f=(0,r.useCallback)(()=>{i(!1),u.current?.(!1),window.location.href=a.cartDetails},[a.cartDetails]),C=(0,r.useCallback)(async()=>{if(e){c(!0);try{const{data:d}=await t.query({query:Ts,variables:{cartId:e},fetchPolicy:"network-only"}),b=d?.cart?.items??[];for(const E of b)await m({variables:{cartId:e,itemId:E.id}});i(!1),u.current?.(!0)}catch{i(!1),u.current?.(!1)}finally{c(!1)}}},[t,e,m]),v=s?r.createElement(ja.Ay,{isOpen:!0,isLoading:o,title:n({id:"quoteCartModal.title",defaultMessage:"Cart not empty"}),closePopUp:g},r.createElement("div",{className:"text-standard"},n({id:"quoteCartModal.message",defaultMessage:"Your cart currently contains products from a quote. Adding additional products will remove the quote products and replace them with the products you are adding. Products from a quote cannot be combined with other products in the same order."})),r.createElement("div",{className:"cmp-quote-cart-modal__actions"},r.createElement(we.A,{text:n({id:"quoteCartModal.viewCart",defaultMessage:"No, view cart"}),style:"secondary",disabled:o,onClick:f}),r.createElement(we.A,{text:n({id:"quoteCartModal.proceed",defaultMessage:"Ok, proceed and replace"}),style:"primary",disabled:o,onClick:C}))):null;return{checkBeforeAdd:l,quoteCartModal:v}},xs=({product:e,cartId:t,onClick:a,className:n,actionsConfig:s,onAddToFiltermap:i,isFiltermapView:o=!1})=>{const{checkBeforeAdd:c,quoteCartModal:u}=za(t),{name:m,sku:l,familyName:g,imgSrc:f,isOutOfStock:C,skuId:v,value:d,currency:b,showPrice:E,imageError:S,handleImageError:I,quantity:y,setQuantity:M,showAddToCartAction:F,showFiltermapActionIcon:k,translate:A}=Ba({product:e,isFiltermapView:o,actionsConfig:s}),h=(0,r.useCallback)(()=>{a&&a(l)},[a,l]),w=(0,r.useCallback)(D=>{(D.key==="Enter"||D.key===" ")&&a&&(D.preventDefault(),h())},[h,a]),W=(0,r.useCallback)(()=>{a&&a(l)},[a,l]),B=(0,r.useCallback)(()=>r.createElement("div",{className:"simple-product-item-autosuggest__add-to-filtermap-button"},r.createElement(Lt,{content:r.createElement("div",{className:"text-standard"},A({id:"filtermap:add-to-filtermap-tooltip",defaultMessage:"Add this product to the current filtermap"}))},r.createElement(we.A,{iconOnly:!0,iconType:"filtermap",iconPosition:"before",style:"primary",text:A({id:"filtermap:add-to-filtermap-button",defaultMessage:"Add to filtermap"}),onClick:W}))),[A,W]),G=Re()("simple-product-item-autosuggest",{"simple-product-item-autosuggest--out-of-stock":C},{"simple-product-item-autosuggest--filtermap-view":o},n),j=a?{role:"button",tabIndex:0,"aria-pressed":!1,"aria-labelledby":v,onKeyDown:w,onClick:h,className:"simple-product-item-autosuggest__interactive simple-product-item-autosuggest__interactive--clickable"}:{className:"simple-product-item-autosuggest__interactive"};return r.createElement(r.Fragment,null,r.createElement("article",{className:G,role:"group","aria-labelledby":v},r.createElement("div",{...j},r.createElement("figure",{className:"simple-product-item-autosuggest__media"},r.createElement("div",{className:"simple-product-item-autosuggest__media-asset"},f&&!S?r.createElement("img",{src:f,alt:A({id:"commerce.productImage",defaultMessage:`Product image for ${l}`}),loading:"lazy",decoding:"async",onError:I,className:"simple-product-item-autosuggest__image"}):r.createElement(ct.A,{type:"tile",additionalCssName:"simple-product-item-autosuggest__placeholder-icon","aria-hidden":"true"})),r.createElement("figcaption",{className:"simple-product-item-autosuggest__media-caption"},A({id:"product.imageCaption",defaultMessage:"Example image"}))),r.createElement("div",{className:"simple-product-item-autosuggest__content"},r.createElement("div",{className:"simple-product-item-autosuggest__family",title:g},g),r.createElement(He.A,{text:m,additionalCssName:"simple-product-item-autosuggest__name-text",typography:"standard-strong"}),r.createElement("div",{id:v,className:"simple-product-item-autosuggest__sku",title:l},"SKU: ",l)),E&&r.createElement("div",{className:"simple-product-item-autosuggest__price","aria-label":"Price"},r.createElement("div",{className:"amount"},r.createElement(_t.A,{currencyCode:b,value:d})),r.createElement(He.A,{text:A({id:"configurableSearch:netPricePerItem",defaultMessage:"Net price per item"}),typography:"small"}))),r.createElement("div",{className:"simple-product-item-autosuggest__quantity-actions-wrapper"},F&&!o&&r.createElement("div",{className:"simple-product-item-autosuggest__quantity",onClick:D=>D.stopPropagation(),onKeyDown:D=>D.stopPropagation()},r.createElement(He.A,{text:"Quantity",additionalCssName:"simple-product-item-autosuggest__quantity-text"}),r.createElement(kt,{itemId:l,initialValue:y,onChange:D=>M(D)})),r.createElement("div",{className:"simple-product-item-autosuggest__actions-wrapper",onClick:D=>D.stopPropagation(),onKeyDown:D=>D.stopPropagation()},r.createElement("div",{className:"simple-product-item-autosuggest__actions"},r.createElement("div",{className:"simple-product-item-autosuggest__cta"},k&&r.createElement(oa,{sku:l,onAddToFiltermap:i}),F&&(o?B():r.createElement(ra,{sku:l,cartId:t,quantity:y,isOutOfStock:C,tooltipPlacement:"top",onBeforeAddToCart:c})),C&&r.createElement("span",{id:`${l}-disabled-reason`,className:"sr-only"},A({id:"common.outOfStock",defaultMessage:"Out of stock"}))))))),u)};var Rs=(0,r.memo)(xs);async function Qa(e,t,a=!1,n=25){if(!t||e.length===0)return[];const s=encodeURI(t.replaceAll(/\+/g,"~~plus~~")).replaceAll(/~~plus~~/g,"%2B"),i=a?"erp":"productReferences",o=e.map(m=>`${i}=${m}`).join("&"),c=`${s}&${o}&limit=${n}`;return(await fetch(c).then(async m=>m.json())).hits}function Os(e){return e.reduce((t,a)=>
251(typeof a=="string"&&(t.find(s=>s===a)||t.push(a)),Array.isArray(a)&&a.forEach(n=>{t.find(i=>i===n)||t.push(n)}),t),[])}function ks(e,t){return e.reduce((a,n)=>{const{erp:s,sku:i}=n,o=t.find(c=>c.metaData.erpReferences?.includes(s));return o&&(a[i]=o),a},{})}function Ls(e,t,a,n){if(t[e])return t[e];const s=a.filter(o=>o.metaData.productReferences.includes(e));return s.length===0?void 0:n?s.find(o=>!o.metaData?.erpReferences?.length):s.find(o=>!o.metaData?.erpReferences?.length)||s[0]}function $s(e,t=25){const{damApiEndpoint:a,fallbackProductImage:n}=(0,oe.useConfigContext)(),s=(0,r.useRef)(e.mapSkus),i=(0,r.useRef)(e.mapAssets),o=(0,r.useRef)(e.mapSkusErps);return(0,r.useCallback)(async c=>{const u=c.map(s.current),l=Os(u).filter(E=>E&&E.trim()!==""),g=o.current?c.map(o.current):[];let f=[];g.length&&(f=await Qa(g.map(({erp:E})=>E),a,!0,t));const C=ks(g,f),v=l.filter(E=>!Object.keys(C).includes(E)),d=await Qa(v,a,!1,t),b={link:n,dimension:{width:0,height:0},mimeType:"image/jpeg"};return c.map(E=>{const S=s.current(E),I=Ls(S,C,d,!!o.current);let y;if(I?.uriTemplate){const F={link:I.uriTemplate.replace("{width}","1000"),dimension:I.dimension,mimeType:I.mimeType};y={small:F,thumbnail:F}}else y={small:b,thumbnail:b};return i.current(E,y)})},[a,n,t])}const Ds=({suggestions:e,loading:t,error:a,onSelect:n,onClose:s,isOpen:i,maxHeight:o="20rem",minWidth:c="13rem",inputRef:u,usePortal:m=!1,isFiltermapView:l=!1,enableFamilySku:g=!1})=>{const[f,C]=(0,r.useState)(-1),[v,d]=(0,r.useState)([]),b=(0,r.useRef)(null),E=(0,r.useRef)(null),[S,I]=(0,r.useState)({top:0,left:0}),[{cartId:y}]=(0,qa.useCartContext)(),M=(0,Ua.A)(),F=$s({mapSkus:({sku:h,family_sku:w,product_sku:W})=>g?w||"":W||h||"",mapAssets:(h,w)=>({...h,imgSrc:w.thumbnail.link})});(0,r.useEffect)(()=>{C(-1)},[e]),(0,r.useEffect)(()=>{if(!e||e.length===0){d([]);return}(async()=>{try{const w=await F(e);d(w)}catch(w){console.error("Failed to fetch product images from DAM:",w),d(e)}})()},[e]),(0,r.useEffect)(()=>{E.current&&E.current.scrollIntoView({block:"nearest",behavior:"smooth"})},[f]);const k=(0,r.useCallback)(h=>{if(i)switch(h.key){case"ArrowDown":h.preventDefault(),C(f===-1?0:w=>w<v.length-1?w+1:w);break;case"ArrowUp":h.preventDefault(),f<=0?(C(-1),u?.current?.focus()):C(w=>w-1);break;case"Enter":h.preventDefault(),f>=0&&v[f]&&n(v[f]);break;case"Escape":h.preventDefault(),s(),u?.current?.focus();break}},[i,v,f,n,s,u]);if((0,r.useEffect)(()=>(document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)),[k]),(0,r.useEffect)(()=>{if(!i||!u?.current||!m)return;const h=()=>{const G=u.current.getBoundingClientRect(),j=window.innerWidth,D=8;let U=G.left;const Y=parseFloat(getComputedStyle(document.documentElement).fontSize)||16,L=(V=>V.endsWith("rem")?parseFloat(V)*Y:(V.endsWith("px"),parseFloat(V)))(c),q=Math.max(L,Math.min(Math.floor(j*.9),1100));U+q>j-D&&(U=Math.max(D,j-D-q)),I({top:Math.round(G.bottom),left:Math.round(U)})};h(),window.addEventListener("resize",h,{passive:!0}),window.addEventListener("scroll",h,{passive:!0});const w=new ResizeObserver(h);w.observe(u.current);const B=(G=>{const j=[];let D=G&&G.parentNode;for(;D&&D instanceof HTMLElement;){const U=window.getComputedStyle(D);/(auto|scroll)/.test(U.overflow+U.overflowY+U.overflowX)&&j.push(D),D=D.parentNode}return j})(u.current);return B.forEach(G=>G.addEventListener("scroll",h,{passive:!0})),()=>{window.removeEventListener("resize",h),window.removeEventListener("scroll",h),B.forEach(G=>G.removeEventListener("scroll",h)),w.disconnect()}},[i,u,c,m]),(0,r.useEffect)(()=>{if(!i)return;const h=w=>{if(w.defaultPrevented)return;const W=b.current;if(!W)return;const B=w.composedPath?.();if(B&&B.includes(W))return;const G=w.target;G&&W.contains(G)||s()};return document.addEventListener("pointerdown",h,!0),()=>{document.removeEventListener("pointerdown",h,!0)}},[i,s]),!i)return null;const A=r.createElement("div",{ref:b,className:"cmp-autosuggestion-dropdown",style:m?{position:"fixed",top:`${S.top}px`,left:`${S.left}px`,minWidth:c,maxWidth:"1100px",maxHeight:o}:{position:"absolute",top:"100%",left:"0",minWidth:c,maxWidth:"1100px",maxHeight:o},role:"listbox","aria-label":"Search suggestions",onPointerDownCapture:h=>{h.preventDefault()},onMouseDownCapture:h=>h.preventDefault(),onTouchStartCapture:h=>h.preventDefault()},r.createElement("div",{className:"cmp-autosuggestion-dropdown__list",style:{maxHeight:o}},t&&r.createElement("div",{className:"cmp-autosuggestion-dropdown__row cmp-autosuggestion-dropdown__row--loading",role:"status"},r.createElement(ta.A,{className:"cmp-autosuggestion-dropdown__loading-indicator"})),a&&r.createElement("div",{className:"cmp-autosuggestion-dropdown__row cmp-autosuggestion-dropdown__row--error",role:"alert"},r.createElement("span",null,a)),!t&&!a&&e.length===0&&r.createElement("div",{className:"cmp-autosuggestion-dropdown__row cmp-autosuggestion-dropdown__row--empty"},r.createElement("span",null,M.formatMessage({id:"configurableSearch:suggestionNoResults",defaultMessage:"No suggestions foun
251d"}))),!t&&v.map(h=>{const w=h.product_sku||h.sku||"";return r.createElement("div",{key:w,ref:f>=0&&v[f]?.sku===w?E:void 0},r.createElement(Rs,{isFiltermapView:l,product:h,cartId:y,onClick:()=>n(h)}))})));return m?(0,ts.createPortal)(A,document.body):A};var wu=null,Us=({id:e,name:t,value:a="",disabled:n,readonly:s,label:i,required:o,placeholder:c,type:u,onBlur:m,onKeyDown:l,onChange:g,options:f,schema:C,registry:v})=>{const[d,b]=(0,r.useState)(!1),[E,S]=(0,r.useState)(String(a)),I=(0,r.useRef)(null),y=(0,r.useRef)(null),M=(0,oe.useConfigContext)(),{productDetailUrlPattern:F}=M,k=M?.commerce?.enableFamilySku||!1,A=!!f.hideAutosuggestionPreview||!1,{suggestions:h,loading:w,error:W,executeQuery:B,clearSuggestions:G}=es({debounceMs:C.debounceMs||300,onError:L=>{console.error("Autosuggestion error:",L)}});(0,r.useEffect)(()=>{S(String(a))},[a]),(0,r.useEffect)(()=>{const L=y.current;if(!L||A)return;const q=()=>{const V=C.minChars||Number(f.minChars)||2;if(E&&E.length>=V){const te={customFields:C.suggestionAttributes?.map(pe=>pe.code)||[],pageSize:C.maxResults},ye=Xt(E,te),Ee=Zt(E,te);B(ye,Ee),b(!0)}};return L.addEventListener("focus",q),()=>L.removeEventListener("focus",q)},[E,C,f,A,B]);const j=(0,r.useCallback)(()=>{b(!1),G()},[G]),D=(0,r.useCallback)(L=>{const q=u==="number"?parseFloat(L.target.value):L.target.value,V=L.target.value,Z=C.minChars||Number(f.minChars)||2;if(S(V),A){G(),b(!1),g(q);return}if(V.length>=Z){const ye={customFields:C.suggestionAttributes?.map(Ne=>Ne.code)||[],pageSize:C.maxResults},Ee=Xt(V,ye),pe=Zt(V,ye);B(Ee,pe),b(!0)}else G(),b(!1);g(q)},[u,C,f,A,B,G,g]),U=(0,r.useCallback)(L=>{if(L.url_key){const q=F.replace(/\[URL_KEY]/g,L.url_key),V=window.open(q,"_blank");V&&V.focus()}else{const q=L[C.suggestionAttributes[0]?.code]||L.product_name||L.family_name||L.product_sku||L.family_sku||L.name||L.sku||L.id;S(String(q)),b(!1),G();const V=u==="number"?parseFloat(q):q;g(V)}},[F,b,G,g,C.suggestionAttributes,u]),Y=(0,r.useCallback)(L=>{setTimeout(()=>{b(!1),G()},150);const q=u==="number"?parseFloat(L.target.value):L.target.value;m(e,q)},[u,e,m,G]),ee=(0,r.useCallback)(L=>{if(d&&L.key==="ArrowDown"){L.preventDefault();const q=new KeyboardEvent("keydown",{key:"ArrowDown",bubbles:!0,cancelable:!0});document.dispatchEvent(q);return}if(d&&L.key==="Escape"){L.preventDefault(),j(),y.current?.focus();return}if(L.key==="Enter"){L.preventDefault(),d&&j();const q=v?.formContext?.formRef;q?.current&&q.current.submit();return}l?.(L)},[l,d,j,v]);return r.createElement("div",{ref:I,className:"tw-relative"},r.createElement(Rt.A,{spacing:!0,id:e,name:t,value:E,disabled:n||s,readonly:s,label:i,type:u,placeholder:c,required:o,autoCorrect:"off",inputElRef:y,onKeyDown:ee,onBlur:Y,onChange:D}),r.createElement(Ds,{suggestions:h,loading:w,error:W,onSelect:U,onClose:j,isOpen:d&&!A,displayAttributes:C.displayAttributes||C.suggestionAttributes,highlightQuery:E,inputRef:y,enableFamilySku:k}))},ma,Ka;const Tu=({qty:e,label:t})=>ma.createElement("div",{className:"cmp-product-quantity"},ma.createElement(Ka,{additionalCssName:"cmp-product-quantity__label",typography:"small-strong",text:t}),ma.createElement(Ka,{additionalCssName:"cmp-product-quantity__qty",typography:"small",text:e.toString()}));var xu=null,be,qs,Ws,Vs,Bs,js,Gs,Ha,zs,Qs,Ja,Ks,Hs,yt,da,Js,Ya,Ys,Xs,$t;function Zs(){const{translate:e}=Ya();return be.createElement("div",{className:"cmp-product-commerce-details__loggedout-container"},be.createElement(da,{style:"primary",text:e({id:"common.loginToViewPrice",defaultMessage:"LOG IN TO VIEW PRICE"}),onClick:()=>{Js(yt.OpenHeaderOverlay,{detail:{id:"account"}})}}))}function ei(e){const[t]=Gs(Ys),{sku:a,name:n,stockStatus:s,priceRange:i,productFamily:o,additionalCategory:c,neededQuantity:u,simpleFinalPrice:m,simpleRegularPrice:l,currency:g,onQuantityChange:f,isRequestProduct:C}=e,{translate:v}=Ya(),[{cartId:d}]=Qs(),{commerce:b,pagePaths:E}=zs(),[S,I]=qs(1),y=s==="OUT_OF_STOCK",M=i?i.minimumPrice.discount.amountOff>0:l!==m;let F;i?F=M?i.minimumPrice.finalPrice.value:i.minimumPrice.regularPrice.value:F=m??0;const k=i?i.minimumPrice.regularPrice.value:l??0,A=i?i.minimumPrice.finalPrice.currency:g||"",h=v({id:"productFinder:addToCartSuccess",defaultMessage:"Product added to cart successfully!"}),w=Ws(()=>
251({sku:a,hasDiscountPrice:M,isOutOfStock:y,finalPrice:i?.minimumPrice?.finalPrice?.value,category:o,additionalCategory:c,name:`${n}|${a}`,price:i?.minimumPrice?.regularPrice?.value,currencyCode:g||i?.minimumPrice?.finalPrice?.currency}),[a,M,y,i,o,c,n,g]),W=Vs(!1);Bs(()=>{W.current||(ai(w),W.current=!0)},[w]);const B=js(async()=>{window.dispatchEvent(new CustomEvent(yt.OpenSpinnerOverlay));try{await t({variables:{cartId:d,cartItems:[{data:{sku:a,quantity:S}}]}}),document.dispatchEvent(new CustomEvent(yt.CartUpdate,{detail:{message:h,type:"success"}})),ti("scAdd",{...w,quantity:S})}catch(Y){const ee=Y.graphQLErrors?.[0]?.message;document.dispatchEvent(new CustomEvent(yt.CartUpdate,{detail:{message:ee,type:"error"}}))}finally{window.dispatchEvent(new CustomEvent(yt.CloseSpinnerOverlay))}},[t,d,a,S,h,w]),[{isSignedIn:G}]=Ha(),j=!$t.showPrices&&!G?$t.showPrices:!0,D=!$t.showAddToCart&&!G?$t.showAddToCart:!0,U=E?.requestProductContactForm;if(C&&U){const Y=new URL(U,window.location.origin);return Y.searchParams.set("text",a),be.createElement(da,{style:"primary",text:v({id:"product:requestProduct",defaultMessage:"Request Product"}),onClick:()=>{window.open(Y.toString(),"_blank","noopener,noreferrer")}})}return be.createElement(be.Fragment,null,y?be.createElement(Ks,{additionalCssName:"cmp-product-commerce-details__out-of-stock",text:v({id:"common.outOfStock",defaultMessage:"Out of Stock"})}):be.createElement(be.Fragment,null,be.createElement("div",{className:"cmp-product-commerce-details__quantity-price-container"},be.createElement(Hs,{itemId:a,initialValue:1,onChange:Y=>{f&&f(Y),I(Y)}}),be.createElement("div",{className:"cmp-product-commerce-details__price"},j&&F>0&&be.createElement(Ja,{currencyCode:A,value:F}),j&&M&&b.showRegularPriceNextToFinalPrice&&k>0&&be.createElement("div",{className:"cmp-product-commerce-details__price--old"},be.createElement(Ja,{currencyCode:A,value:k})))),u&&u>1&&be.createElement(Xs,{label:v({id:"productFinder.quantity",defaultMessage:"Needed Quantity"}),qty:u})),D&&be.createElement(da,{style:"primary",text:v({id:"common.addToCart",defaultMessage:"ADD TO CART"}),disabled:y,onClick:B}))}function Ru({product:e,onQuantityChange:t}){const[{isSignedIn:a}]=Ha();return be.createElement("div",{className:"cmp-product-commerce-details"},a&&e?be.createElement(ei,{...e,onQuantityChange:t}):be.createElement(Zs,null))}function ti(e,t){window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer.push({event:e,eventInfo:{path:`component.product-${t.sku}`},component:{[`product-${t.sku}`]:t}})}function ai(e){window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer.push({component:{[`product-${e.sku}`]:e}})}var Ou=null,pa,ri;const ku=e=>{const{properties:t,title:a,isVerticalLayout:n}=e;return pa.createElement("div",{className:ri("cmp-product-properties",{"cmp-product-properties--vertical":n})},pa.createElement("h5",null,a),pa.createElement("div",{className:"cmp-product-properties__content",dangerouslySetInnerHTML:{__html:t}}))};var Lu=null,ga,Xa;const $u=({position:e,label:t})=>ga.createElement("div",{className:"cmp-product-position"},ga.createElement(Xa,{additionalCssName:"cmp-product-position__label",typography:"small-strong",text:t}),ga.createElement(Xa,{additionalCssName:"cmp-product-position__position",typography:"small",text:e}));var Du=null,Za,ni;const Uu=({oeNumbers:e})=>Za.createElement("div",{className:"cmp-product-oenumbers"},e.map((t,a)=>Za.createElement(ni,{key:t,additionalCssName:"cmp-product-oenumbers__number",typography:"small",text:a!==e.length-1?`${t} |`:t})));var qu=null,si=P(81666),er=P(59536),ii=(0,se.J1)`
252	mutation createRequisitionList($name: String!, $description: String) {
253		createRequisitionList(input: { name: $name, description: $description }) {
254			requisition_list {
255				uid
256				name
257				description
258			}
259		}
260	}
261`;const oi=e=>{const[t]=(0,Je.n)(ii,{onCompleted:e});return async n=>{try{await t({variables:{...n}})}catch(s){throw new Error(`Failed to create requisition list: ${s.message}`)}}},ci=(0,se.J1)`
262	mutation UpdateRequisitionList($requisitionListUid: ID!, $input: UpdateRequisitionListInput!) {
263		updateRequisitionList(requisitionListUid: $requisitionListUid, input: $input) {
264			requisition_list {
265				name
266				uid
267			}
268		}
269	}
270`;var li=()=>{const[e]=(0,Je.n)(ci,{});return async(a,n)=>{await e({variables:{requisitionListUid:a,input:n}})}};function ui(e){const t=Re()("cmp-form-text",{[`${e.className}
270`]:e.className,"cmp-form-text--validation-visible":!!e.requiredMessage,"cmp-form-text--warning-visible":!!e.warningMessage,"cmp-form-text--spacing":e.spacing});return r.createElement("fieldset",{className:t,disabled:e.disabled},e.id&&e.label&&!e.labelNode&&r.createElement("label",{htmlFor:e.id},e.label),e.labelNode&&e.labelNode,r.createElement("textarea",{ref:e.textAreaRef,className:"cmp-form-text__textarea",id:e.id,name:e.name,rows:e.rows,placeholder:e.placeholder,required:e.required,readOnly:e.readonly,maxLength:e.maxlength,value:e.value,onChange:e.onChange,onBlur:e.onBlur}),e.requiredMessage&&r.createElement("div",{className:"cmp-form-text__validate-block"},r.createElement("p",{className:"cmp-form-text__required-message"},e.requiredMessage)),e.warningMessage&&r.createElement("div",{className:"cmp-form-text__warning-block"},r.createElement("p",{className:"cmp-form-text__warning-message"},e.warningMessage)))}var mi=ui;function di({onFinished:e,name:t,description:a,uid:n,onCancel:s}){const i=!!n,{translate:o}=Ye(),c=ia(),u=oi(e),m=li(),[l,g]=(0,r.useState)(t??""),[f,C]=(0,r.useState)(a??""),v=async()=>{window.dispatchEvent(new CustomEvent(Se.z.OpenSpinnerOverlay)),i?await m(n,{name:l,description:f}):await u({name:l,description:f}),c.success(r.createElement("div",{className:"tw-flex tw-items-start"},r.createElement(ct.A,{type:"check"}),r.createElement("div",{className:"ml-5"},o(i?{id:"requisition-list:you-have-updated-your-product-list",defaultMessage:"You have updated your Product List."}:{id:"requisition-lists:create-list-success-text",defaultMessage:"You have created your Product List."})))),window.dispatchEvent(new CustomEvent(Se.z.CloseSpinnerOverlay)),e()};return r.createElement("div",null,r.createElement(er.A,{tag:"h2",text:o(i?{id:"requisition-list:edit-product-list",defaultMessage:"Edit Product List"}:{id:"create-requisition:create-list-title",defaultMessage:"Create Product List"})}),r.createElement(Rt.A,{className:"mb-7",id:"name",type:"text",maxLength:40,value:l,label:o({id:"create-requisition:list-title-input-label",defaultMessage:"Title (up to 40 symbols)"}),required:!0,onChange:d=>g(d.target.value),spacing:!0}),r.createElement(mi,{id:"description",value:f,label:o({id:"create-requisition:description-input-label",defaultMessage:"Description"}),maxlength:255,onChange:d=>C(d.target.value),spacing:!0}),r.createElement("div",{className:"tw-flex"},r.createElement(we.A,{disabled:!l?.trim(),className:"mr-4",text:o({id:"create-requsition-list:save-button-label",defaultMessage:"Save List"}).toUpperCase(),onClick:v}),r.createElement(we.A,{text:o({id:"requisition-list:cancel",defaultMessage:"CANCEL"}),style:"secondary",onClick:s})))}var pi=di,gi=P(1723),fi=(0,se.J1)`
271	query GetRequisitionLists {
272		customer {
273			requisition_lists(pageSize: 999, currentPage: 1) {
274				items {
275					uid
276					name
277					description
278					updated_at
279					items_count
280					items(currentPage: 1, pageSize: 9999) {
281						items {
282							uid
283							product {
284								sku
285							}
286						}
287					}
288				}
289				total_count
290				page_info {
291					page_size
292					current_page
293					total_pages
294				}
295			}
296		}
297	}
298`;const tr=e=>{const[t,a]=(0,r.useState)(!1),{loading:n,error:s,data:i,refetch:o}=(0,gi.IT)(fi,{skip:!e,notifyOnNetworkStatusChange:!0,onCompleted:()=>{a(!0)}}),c=i?.customer?.requisition_lists?.items||[];return{loading:n,hasBeenFetchedOnce:t,error:s,requisitionLists:c,refetch:o}},hi=(0,se.J1)`
299	mutation AddProductsToRequisitionList(
300		$requisitionListUid: ID!
301		$requisitionListItems: [RequisitionListItemsInput!]!
302	) {
303		addProductsToRequisitionList(
304			requisitionListUid: $requisitionListUid
305			requisitionListItems: $requisitionListItems
306		) {
307			requisition_list {
308				items {
309					total_pages
310				}
311			}
312		}
313	}
314`;function _i(){const[e]=(0,Je.n)(hi);return(a,n)=>e({variables:{requisitionListUid:a,requisitionListItems:n}})}var vi=_i;const bi=(0,se.J1)`
315	mutation DeleteRequisitionListItems($requisitionListUid: ID!, $requisitionListItemUids: [ID!]!) {
316		deleteRequisitionListItems(
317			requisitionListUid: $requisitionListUid
318			requisitionListItemUids: $requisitionListItemUids
319		) {
320			requisition_list {
321				uid
322			}
323		}
324	}
325`;function yi(){const[e]=(0,Je.n)(bi);return async(a,n)=>{await e({variables:{requisitionListUid:a,requisitionListItemUids:n}})}}var Ei=yi;function Ci({currencyCode:e,heading:t,onClose:a,preHeading:n,price:s,quantity:i,sku:o,subHeading:c,subHeadingValue:u}){const m=(0,r.useRef)(null),{translate:l}=Ye(),g=ia(),f=vi(),C=Ei(),{requisitionLists:v,refetch:d,loading:b}=tr(!0),[E,S]=(0,r.useState)(i),[I,y]=(0,r.useState)(!1),[M,F]=(0,r.useState)(!1),k=b||M;function A(h,w){g.success(r.createElement("div",{className:"tw-w-full tw-flex tw-items-start"},r.createElement(ct.A,{type:"check"}),r.createElement("div",{className:"tw-w-full tw-flex tw-flex-col lg:tw-flex-row ml-5"},r.createElement("div",null,r.createElement("div",{className:"text-tableheader mb-1"},l({id:"requisition-list:success",defaultMessage:"Success"})),r.createElement("div",{className:"text-large"},l({id:"requisition-list:product-remove-from-list",defaultMessage:"Product {productName} have been removed from List {listName}."}).replace("{listName}",h).replace("{productName}",w))))))}return r.createElement(ja.Ay,{isOpen:!0,isFullScreen:!0,closePopUp:a},r.createElement(er.A,{tag:"h2",text:l({id:"requisition-list:add-remove-product",defaultMessage:"Add / Remove product"})}),r.createElement("div",{className:"text-metaheadline"},n),r.createElement("div",{className:"text-t4"},t),r.createElement("div",{className:"tw-flex"},!!c&&r.createElement("div",{className:"mr-3 text-small-strong"},c),!!u&&r.createElement("div",{className:"text-small"},u)),r.createElement("div",{className:"tw-flex tw-items-center mt-4 mb-8"},r.createElement(kt,{itemId:o,initialValue:i,onChange:S}),r.createElement("div",{className:"ml-5 text-price"},r.createElement(_t.A,{currencyCode:e,value:s}))),k&&r.createElement(ta.A,null,l({id:"requisition-lists:loading",defaultMessage:"Product Lists are loading"})),!k&&v.map(h=>{const w=h.items.items?.find(B=>B.product.sku===o),W=!!w;return r.createElement("div",{key:h.uid,className:"mb-5 tw-flex tw-justify-between"},r.createElement("div",{className:"text-placeholder"},h.name),r.createElement(we.A,{text:l(W?{id:"requisition-list:remove-from-list",defaultMessage:"REMOVE FROM LIST"}:{id:"requisition-list:add-to-list",defaultMessage:"ADD TO LIST"}),style:W?"secondary":"primary",className:"cmp-button--no-spacing-bottom",onClick:async()=>{F(!0),W?(await C(h.uid,[w.uid]),A(h.name,t)):await f(h.uid,[{sku:o,quantity:E}]),F(!1),d()}}))}),I&&r.createElement("div",{ref:m},r.createElement(pi,{onCancel:()=>y(!1),onFinished:()=>{d(),y(!1)}})),!I&&r.createElement(we.A,{style:"secondary",text:l({id:"create-requisition:list-new-list-button-label",defaultMessage:"New List"}),onClick:()=>{y(!0),setTimeout(()=>{m?.current?.scrollIntoView({behavior:"smooth"})},0)}}))}var Pi=Ci;function Si({productData:e}){const[t,a]=(0,r.useState)(!1),[{isSignedIn:n}]=(0,si.u)(),{requisitionLists:s}=tr(n);function i(){n?a(!0):window.dispatchEvent(new CustomEvent(Se.z.OpenHeaderOverlay,{detail:{id:"account"}}))}const c=(0,r.useMemo)(()=>{const u=new Set;
325return s.forEach(m=>{m.items.items.forEach(l=>{u.add(l.product.sku)})}),u},[s]).has(e.sku);return r.createElement("button",{className:"cmp-favorite-button",onClick:i},t&&r.createElement(Pi,{...e,onClose:()=>{setTimeout(()=>a(!1))}}),r.createElement(ct.A,{type:c?"favorite":"favorite-outline"}))}var Ii=Si,ar,ie,Ai,Ni,Fi,rr,wi,Mi,Ti,xi,Ri,Oi;const Vu=e=>{const{preHeading:t,heading:a,subHeadingLabel:n,subHeadingValue:s,propertiesHTML:i,propertiesTitle:o,productPriceRange:c,simpleRegularPrice:u,simpleFinalPrice:m,currency:l,stockStatus:g,sku:f,productFamily:C,additionalCategory:v,imgSrc:d,urlKey:b,positionLabel:E,positionValue:S,neededQuantity:I,isGroupedProduct:y,notes:M,oeNumbers:F,isRequestProduct:k,openPdpInNewTab:A}=e,{translate:h}=Fi(),{productDetailUrlPattern:w,pagePaths:W}=Ai(),B=w.replace(/\[URL_KEY]/g,b.toString()),[G,j]=ar(1),[{isSignedIn:D}]=Ni(),U=!!W?.requisitionLists&&!k,[Y,ee]=ar(!1),L=c?c.minimumPrice.discount.amountOff>0:u!==m,q=A?{target:"_blank",rel:"noreferrer"}:{target:"_self"};let V;return c?V=L?c.minimumPrice.finalPrice.value:c.minimumPrice.regularPrice.value:V=m??0,ie.createElement("div",{className:"cmp-search-result-grid-product-card"},U&&ie.createElement("div",{className:"cmp-search-result-grid-product-card__favorite"},ie.createElement(Oi,{productData:{sku:f,preHeading:t,heading:a,subHeading:n,quantity:G,subHeadingValue:s,price:V||0,currencyCode:c?c.minimumPrice.finalPrice.currency:l||"USD"}})),ie.createElement("div",{className:"cmp-search-result-grid-product-card__image-container"},ie.createElement("div",{className:"cmp-image"},ie.createElement("a",{href:B,className:"cmp-search-result-grid-product-card__image-container-link",...q},ie.createElement("img",{src:d,alt:"",className:"cmp-search-result-grid-product-card__image"})))),ie.createElement("div",{className:"cmp-search-result-grid-product-card__content"},ie.createElement("div",{className:"cmp-search-result-grid-product-card__content-header"},t&&ie.createElement("div",{className:"cmp-search-result-grid-product-card__pre-heading"},t),ie.createElement("h4",{className:"cmp-search-result-grid-product-card__heading"},ie.createElement("a",{href:B,className:"cmp-configuration-search-item__heading-link",...q},a)),ie.createElement("p",{className:"cmp-search-result-grid-product-card__sub-heading"},y?ie.createElement("span",{className:"cmp-search-result-grid-product-card__product-long-title"},s):ie.createElement(ie.Fragment,null,ie.createElement("span",{className:"cmp-search-result-grid-product-card__sub-heading-label"},n),ie.createElement("span",{className:"cmp-search-result-grid-product-card__sub-heading-value"}," ",s)))),F&&F.length>0&&ie.createElement(Ri,{oeNumbers:F}),S&&E&&ie.createElement(xi,{label:E,position:S}),ie.createElement("div",{className:"cmp-search-result-grid-product-card__details"},i&&o&&ie.createElement(Mi,{isVerticalLayout:!0,properties:i,title:o})),ie.createElement("div",{className:"cmp-search-result-grid-product-card__actions-container"},(!y&&!D||y)&&ie.createElement("a",{className:`cmp-search-result-grid-product-card__link-button ${D?"":"cmp-search-result-grid-product-card__link-button--loggedout"}`,href:B,...q},ie.createElement(rr,{style:"secondary",text:h({id:"common.viewDetails",defaultMessage:"VIEW DETAILS"})})),!y&&ie.createElement(wi,{product:{sku:f,name:a,productFamily:C,additionalCategory:v,stockStatus:g,priceRange:c,neededQuantity:I,simpleFinalPrice:m,simpleRegularPrice:u,currency:l,isRequestProduct:k},onQuantityChange:j}),y&&ie.createElement(rr,{className:"cmp-search-result-grid-product-card__variant-button",style:"primary",iconType:Y?"chevron-up":"chevron-down",iconPosition:"after",text:h({id:"common:variants-label",defaultMessage:"VARIANTS"}),onClick:()=>{ee(!Y),console.log("show variants table")}})),M&&M.length>0&&ie.createElement("div",{className:"cmp-search-result-grid-product-card__notes"},ie.createElement("div",{className:"cmp-search-result-grid-product-card__notes-icon"},ie.createElement("i",{className:"cmp-icon cmp-icon--check"})),ie.createElement(Ti,{additionalCssName:"cmp-search-result-grid-product-card__notes-title",typography:"small-strong",text:M}))))};var Bu=null,ki,nr,Li,$i;const sr=(0,r.createContext)({});function Di(e){const t={};for(const[a,n]of Object.entries(e))try{n&&(t[a]=JSON.parse(n))}catch{t[a]=n}return t}function ju({children:e,selector:t}){const a=document.querySelector(t),n=ki(()=>a?{...Di(a.dataset),el:a}:{},[a]);return a?(a.innerHTML="",nr.createElement($i,{selector:a},nr.createElement(sr.Provider,{value:n},e))):null}function Gu(){return Li(sr)}var Ui,ir,or,qi,$e,Wi,Vi,cr;
325function zu(e){const{header:t,data:a,loadMore:n,hasMore:s,withSorting:i=!0,renderRow:o}=e,c=Ui(null),[u,m]=ir({hasLeft:!1,hasRight:!1}),[l,g]=ir({column:"",direction:"default"});or(()=>{const d=Object.keys(t);l.column&&!d.includes(l.column)&&g({column:"",direction:"default"})},[t,l.column]);const f=(d,b)=>{const E=b===l.direction&&d===l.column;g({column:E?"":d,direction:E?"default":b})},C=qi(()=>{if(l.direction==="default"||!l.column)return a;const d=l.direction==="asc"?1:-1,b=j=>j.replace(/<[^>]*>/g,"").trim(),E=j=>j.replace(/\bplastik\b/i,"Plastic").trim(),S=/^-?(?:\d+|\d{1,3}(?:[ ,]\d{3})+)(?:\.\d+)?$/,I=j=>S.test(j),y=j=>parseFloat(j.replace(/[ ,]/g,"")),M=/^-?(?:\d+|\d{1,3}(?:[ ,]\d{3})+)(?:\.\d+)?\s*(mm|pa|kg|g|m|cm|%)?$/i,F=j=>M.exec(j)?y(j):null,k=/^\s*(\d+(?:\.\d+)?)\s*mm\s*x\s*(\d+(?:\.\d+)?)\s*mm\s*x\s*(\d+(?:\.\d+)?)\s*mm\s*$/i,A=j=>{const D=k.exec(j);return D?[parseFloat(D[1]),parseFloat(D[2]),parseFloat(D[3])]:null},h=/(\d+(?:\.\d+)?)\s*x\s*(\d+(?:\.\d+)?)\s*x\s*(\d+(?:\.\d+)?)/i,w=j=>{const D=h.exec(j);return D?[parseFloat(D[1]),parseFloat(D[2]),parseFloat(D[3])]:null},W=/^ePM\s*(10|2\.?5|1)\s+(\d+(?:\.\d+)?)%$/i,B=j=>{const D=W.exec(j.replace(",","."));if(!D)return null;const U=D[1]==="10"?10:D[1].startsWith("2")?2.5:1,Y=parseFloat(D[2]);return{cls:U,pct:Y}},G=(j,D)=>j.localeCompare(D,void 0,{numeric:!0,sensitivity:"base"});return[...a].sort((j,D)=>{const U=j[l.column],Y=D[l.column];if(U==null&&Y==null)return 0;if(U==null)return 1;if(Y==null)return-1;if(typeof U=="boolean"&&typeof Y=="boolean")return(U===Y?0:U?1:-1)*d;if(typeof U=="number"&&typeof Y=="number")return(U-Y)*d;if(typeof U=="string"&&typeof Y=="string"){const q=E(b(U)),V=E(b(Y)),Z=A(q),te=A(V);if(Z&&te)return Z[0]!==te[0]?(Z[0]-te[0])*d:Z[1]!==te[1]?(Z[1]-te[1])*d:Z[2]!==te[2]?(Z[2]-te[2])*d:0;const ye=F(q),Ee=F(V);if(ye!==null&&Ee!==null)return(ye-Ee)*d;const pe=B(q),Ne=B(V);if(pe&&Ne)return pe.cls!==Ne.cls?(pe.cls-Ne.cls)*d:pe.pct!==Ne.pct?(pe.pct-Ne.pct)*d:0;const ue=w(q),ge=w(V);return ue&&ge?ue[0]!==ge[0]?(ue[0]-ge[0])*d:ue[1]!==ge[1]?(ue[1]-ge[1])*d:ue[2]!==ge[2]?(ue[2]-ge[2])*d:0:I(q)&&I(V)?(y(q)-y(V))*d:d*G(q,V)}const ee=String(U),L=String(Y);return d*G(ee,L)})},[a,l]);or(()=>{const d=()=>{if(c.current){const{scrollLeft:E,scrollWidth:S,clientWidth:I}=c.current;m({hasLeft:E>0,hasRight:Math.ceil(E+I)<S})}};d();const b=c.current;return b?.addEventListener("scroll",d),()=>{b?.removeEventListener("scroll",d)}},[]);const v=d=>d==="actions"||d==="quantity"||!i?null:$e.createElement("div",{className:"cmp-base-table__sort-indicator"},$e.createElement(cr,{type:"chevron-up",onClick:()=>f(d,"asc"),className:l.column===d&&l.direction==="asc"?"active":"","aria-label":`Sort ${t[d]} ascending`}),$e.createElement(cr,{type:"chevron-down",onClick:()=>f(d,"desc"),className:l.column===d&&l.direction==="desc"?"active":"","aria-label":`Sort ${t[d]} descending`}));return $e.createElement("div",{className:Wi("cmp-base-table",{"cmp-base-table--single-row":a.length===1},{"cmp-base-table--gradient-left":u.hasLeft},{"cmp-base-table--gradient-right":u.hasRight})},$e.createElement("div",{className:"cmp-base-table__wrapper",ref:c},$e.createElement("table",null,$e.createElement("thead",null,$e.createElement("tr",null,Object.keys(t).map(d=>$e.createElement("th",{key:d,className:`cmp-base-table__col--${d}`},$e.createElement("div",{className:"cmp-base-table__header"},t[d],v(d)))))),$e.createElement("tbody",null,C.map((d,b)=>o(d,b))))),n&&s&&$e.createElement(Vi,{inlineLinkAsButton:!0,className:"cmp-base-table__load-more",onClick:n,text:"Load More"}))}var Qu=null,Bi=({productSku:e,quantity:t,isOutOfStock:a,onChange:n})=>{const{translate:s}=Ye();return r.createElement(r.Fragment,null,a?r.createElement("div",{className:"cmp-product-variant-table__out-of-stock"},r.createElement(He.A,{noMargin:!0,additionalCssName:"cmp-product-variant-table__out-of-stock-message",text:s({id:"common.outOfStock",defaultMessage:"Out of Stock"})})):r.createElement(kt,{itemId:e,initialValue:t,onChange:n}))},ji=({priceRange:e,error:t,onPriceChange:a})=>{const s=(0,oe.useConfigContext)().commerce?.showRegularPriceNextToFinalPrice||!1,i=e?.regular_price.value??0,o=e?.final_price.value??0,c=i!==o,u=c?o:i,m=e?.final_price?.currency;return(0,r.useEffect)(()=>{a&&m&&a(u,m)},[u,m,a]),t&&t.message?r.createElement("div",{className:"error-message"},t.message):m?r.createElement("div",{className:"cmp-product-variant-table__prices"},u>0&&r.createElement("div",{className:"cmp-product-variant-table__prices-regular-price"},r.createElement(_t.A,{currencyCode:m,value:u})),c&&s&&i>0&&r.createElement("div",{className:"cmp-product-variant-table__prices-discounted-price"},r.createElement(_t.A,{currencyCode:m,value:i}))):null},Gi=({priceRange:e,isLoadingPrice:t,err:a,onPriceChange:n})=>r.createElement(r.Fragment,null,e&&!t?r.createElement(ji,{priceRange:e,error:a,onPriceChange:n}):r.createElement(ta.A,null));const lr=e=>{const{trigger:t,isOpen:a,onClick:n}=e;return r.createElement("button",{type:"button",onClick:n,className:"cmp-product-variant-table__technical-specs-trigger"},t,r.createElement(ct.A,{type:a?"chevron-up":"chevron-down"}))},ur=(e,t)=>e?.[t.attributeName]?pr(e[t.attributeName],t.transform):null,mr=(e,t)=>t.some(a=>ur(e,a));var dr=e=>{const{product:t,attrs:a,title:n}=e;return r.createElement("div",{className:"cmp-product-variant-table__technical-specs-content"},n&&r.createElement("h5",null,n),r.createElement("ul",{className:"cmp-product-variant-table__technical-specs-list"},a.map((s,i)=>
325{const o=ur(t,s),c=typeof o=="string";return o?r.createElement("li",{key:i,className:"cmp-product-variant-table__technical-specs-item"},r.createElement("span",{className:"cmp-product-variant-table__technical-specs-item-label"},s.label),c?r.createElement("span",{className:"cmp-product-variant-table__technical-specs-item-value",dangerouslySetInnerHTML:{__html:o}}):r.createElement("span",{className:"cmp-product-variant-table__technical-specs-item-value"},o)):null})))};const pr=(e,t)=>typeof e=="string"&&t?e.replace(t.startDelimiter,t.replaceStartDelimiter).replace(t.endDelimiter,t.replaceEndDelimiter).replaceAll(t.delimiter,t.replaceDelimiter):e,zi=e=>{const{product:t,columns:a,isLoadingPrice:n,specs:s,specTitle:i,cartId:o,index:c}=e,[u,m]=(0,r.useState)(1),[l,g]=(0,r.useState)(null),[f,C]=(0,r.useState)(!1),v=t.stock_status==="OUT_OF_STOCK",d=mr(t,s),{pagePaths:b}=(0,oe.useConfigContext)(),E=!!b?.requisitionLists,S=(0,r.useCallback)(F=>{m(F)},[]),I=(0,r.useCallback)((F,k)=>{g({price:F,currency:k})},[]),y=(0,r.useMemo)(()=>({sku:t.sku,heading:t.sku,quantity:u,price:l?.price??0,currencyCode:l?.currency??"EUR"}),[t.sku,u,l]),M=(0,r.useMemo)(()=>a.map(({attributeName:F,transform:k},A)=>{let h=pr(t[F],k);switch(typeof h=="string"&&/<\/?[a-z][\s\S]*>/i.test(h)&&(h=r.createElement("span",{dangerouslySetInnerHTML:{__html:h}})),F){case"quantity":h=r.createElement(Bi,{productSku:t.sku,quantity:u,isOutOfStock:v,onChange:S});break;case"price":h=r.createElement(Gi,{priceRange:t.priceRange,isLoadingPrice:n,err:{},onPriceChange:I});break;case"actions":h=r.createElement("div",{className:"cmp-product-variant-table__actions"},r.createElement(ra,{isOutOfStock:v,product:t,quantity:u,cartId:o,sku:t.sku}),r.createElement(oa,{product:t,quantity:u}),E&&r.createElement(Ii,{productData:y}));break}return A===0&&d&&(h=r.createElement(lr,{trigger:h,isOpen:f,onClick:()=>C(!f)})),r.createElement("td",{key:`${t.id}-${F}`},h)}),[t,a,n,o,u,v,S,I,f,y,E,d]);return r.createElement(r.Fragment,null,r.createElement("tr",{key:t.id,className:Re()({highlight:c%2===1})},M),f&&d&&r.createElement("tr",{key:`${t.id}-expanded`,className:"cmp-product-variant-table__technical-specs-cell"},r.createElement("td",{colSpan:a.length},r.createElement(dr,{product:t,attrs:s,title:i}))))};var Xu=r.memo(zi),fa,gr,Qi,fr,Ki,Hi;const Ji=(0,se.J1)`
326	mutation getPricing($pricing: BatchPricingInput!) {
327		getPricingList(pricing: $pricing) {
328			salesPriceElements {
329				conditionAmount
330				conditionCurrency
331				conditionQuantity
332				conditionQuantityUnitIsoCode
333				conditionQuantityUnitSapCode
334				conditionRateAmount
335				conditionRateRatio
336				conditionRateRatioUnitIsoCode
337				conditionRateRatioUnitSapCode
338				conditionType
339				priceElementDescription
340				pricingProcedureCounter
341				pricingProcedureStep
342				transactionCurrency
343			}
344			salesPriceResult {
345				distributionChannel
346				division
347				languageISOCode
348				netAmount
349				netPriceAmount
350				netPriceQuantity
351				netPriceQuantityUnitISOCode
352				netPriceQuantityUnitSAPCode
353				pricingDate
354				pricingHasError
355				product
356				productUsedByCustomer
357				salesOrganization
358				soldToParty
359				taxAmount
360				transactionCurrency
361			}
362		}
363	}
364`,Zu=e=>{const[t,a]=fa(!1),[n,s]=fa(null),[i,o]=fa(null),c=fr(),{headers:u}=fr(),m=gr(c),l=gr(u);return m.current=c,l.current=u,{fetchPricing:Qi(async f=>{const C=Hi();if(!C||!e)return console.warn("[PRICING] Attempted to fetch pricing without a valid token or service URL"),null;if(!f||f.length===0)return console.warn("[PRICING] No products provided for pricing fetch"),null;const v=m.current?.storeConfig?.salesOrganization,d=m.current?.storeConfig?.currencyCode;if(!v||!d)return console.warn("[PRICING] Missing salesOrganization or transactionCurrency from config"),null;a(!0),o(null);try{const b=Ki(e,C,l.current),S={pricing:{salesOrganization:v,distributionChannel:"3C",billingDocumentType:"",division:"00",languageIsoCode:"EN",priceElementsAreRequested:!0,products:f.map(M=>({product:M,productUsedByCustomer:""})),salesDocumentItemCategory:"",salesDocumentType:"",salesPriceRetrieveUseCase:"SAP_DFLT",transactionCurrency:d}},y=(await b.mutate({mutation:Ji,variables:S})).data?.getPricingList||null;return s(y),y}catch(b){return console.error("[PRICING] Error fetching pricing data:",b),o(b),s(null),null}finally{a(!1)}},[e]),loading:t,pricingData:n,error:i}};var em=null,ha,hr,Dt,_r,vr,Yi,Xi,Zi,eo,br,to,ao,ro;const yr=null,no=(e,t,a,n={},s)=>{const i=e?.filter(({attributeName:o})=>t?.some(c=>
364{const u=c[o];return u!=null&&u!==""}))||[];return a&&s?.role!==br&&yr.forEach(o=>{i.push({label:n[o]||o,attributeName:o,transform:null})}),i},tm=e=>{const{products:t,config:{columns:a,specs:n,labels:s},sku:i,specTitle:o}=e,[{cartId:c}]=Yi(),[{isSignedIn:u,token:m}]=Zi(),l=eo(m),g=u&&l?.role!==br,f=Xi(),[C,v]=ha(0),[d,b]=ha([]),[E,S]=ha([]),I=f?.commerce?.pricingApiUrl,{fetchPricing:y,loading:M,pricingData:F,error:k}=ro(I),A=parseInt(f.commerce.variantTablePageSize,10),h=hr(ee=>!F||F.length===0?ee:ee.map(L=>{const q=F.find(pe=>pe?.salesPriceResult?.product===L.sku);q||console.warn(`[PRICING] No pricing found for product SKU: ${L.sku}`);const V=q?.salesPriceResult,Z=V?.transactionCurrency||"EUR",te=V?.netPriceAmount??0,ye=V?.netAmount??0,Ee={regular_price:{currency:Z,value:te??0},final_price:{currency:Z,value:ye??0},discounts:{currency:Z,value:te&&ye?te-ye:0}};return{...L,priceRange:Ee}}),[F]),w=hr(()=>{const ee=t.slice(C,C+A);b(L=>[...L,...ee]),v(L=>L+A)},[t,C,A]);Dt(()=>{t?.length&&d.length===0&&w()},[t,d.length,w]);const W=_r(()=>no(a,E.length>0?E:d,u,s,l),[E,d,u,a,s,l]),B=_r(()=>{const ee=W.some(L=>L.attributeName==="price");return g&&ee&&!!I&&d.length>0},[g,W,I,d]);Dt(()=>{if(!B)return;const ee=d.filter(q=>!E.some(V=>V.sku===q.sku));if(ee.length===0)return;const L=ee.map(q=>q.sku);y(L)},[E,d,y,B]),Dt(()=>{if(!F||F.length===0||d.length===0)return;const ee=h(d),L=new Map(ee.filter(q=>q.priceRange).map(q=>[q.sku,q]));S(q=>{const V=new Map(q.map(Z=>[Z.sku,Z]));return d.map(Z=>L.get(Z.sku)||V.get(Z.sku)||Z)})},[F,d,h]),Dt(()=>{k&&console.error("Failed to load product prices:",k)},[k]);const G=E.length>0?E:d,D=(g?W.length>yr.length:W.length>0)&&!!G.length;if(!D)return null;const U=D&&t.length>d.length,Y=W.reduce((ee,L)=>(ee[L.attributeName]=L.label,ee),{});return vr.createElement(to,{header:Y,data:G,loadMore:w,hasMore:U,renderRow:(ee,L)=>vr.createElement(ao,{key:ee.id,product:ee,columns:W,sku:i,specs:n,specTitle:o,cartId:c,index:L,isLoadingPrice:M})})};var am=null,Er,so,io,Cr,oo,co,lo,uo,mo,po;const go=null,fo=null,ho=null,_o=null,rm=(e={})=>{const{withoutGroupedProductsTemplate:t=!1}=e,[a,n]=Er(!1),s=io(),[i,o]=Er(null),c=oo(),u=c?.commerce?.enableProductVariants,m=c?.commerce?.enableFamilySku;return{buildQueryAndFetchProducts:so(async(g,f,C,v,d=!0,b)=>{n(!0);try{const{queryInputs:E,filters:S,customAttributes:I,hasAutosuggestionFields:y,autosuggestionFields:M}=co(g,b);let F,k,A;if(y&&Object.keys(M).length>0){const{query:h,variables:w}=lo(M,f,g,b);F=Cr`
365						${h}
366					`,k=w,A=await s.query({query:F,variables:k,fetchPolicy:d?"cache-first":"no-cache"});const W="smartSearch"in A.data?A.data.smartSearch:null;if(W){const B={items:W.items||[],pageInfo:{pageSize:W.page_info?.page_size||f.pageSize,currentPage:W.page_info?.current_page||f.currentPage,totalPages:W.page_info?.total_pages||1},totalCount:W.total_count||0,aggregations:W.aggregations||[]};return o(B),B}return null}else{let w=(u?fo:m?_o:ho).replace("{queryInputs}",E||"").replace("{filterBy}",S||"");return u?w=uo(t?"":go,w,C,g,I,v):w=mo(w,v,I),F=Cr`
367						${w}
368					`,k=po(g,f,b),A=await s.query({query:F,variables:k,fetchPolicy:C&&d?"cache-first":"no-cache"}),"products"in A.data?(o(A.data.products),A.data.products):null}}catch(E){return console.error("Error fetching products:",E),null}finally{n(!1)}},[s,u,m]),loading:a,searchData:i}};var nm=null,vo,bo,_a,yo,Eo,Co,Po,So;const Io=e=>Object.keys(e).reduce((t,a)=>(a!=="searchGroup"&&a!=="searchBy"&&e[a]?.value&&(t[a]=e[a]),t),{}),Ao=({columns:e,specs:t},a)=>Array.from(new Set(e.map(s=>s.attributeName).concat(t.map(s=>s.attributeName)).concat(Object.keys(a)).filter(s=>!Co.includes(s)))).join(" "),No=(e,t,a)=>{const{buildQueryAndFetchProducts:n,loading:s}=So(),[i,o]=vo([]);return bo(()=>{const c=Io(a);async function u(){const m="sku"in c&&c.sku?c:{...c,sku:{value:e,type:"number"}},g=(await n(m,{pageSize:1e5,currentPage:1},Ao(t,c)))?.items?.[0]?.items.map(v=>({...v.product})),f=g?.filter(v=>Object.keys(c).every(d=>{if(v[d]===null||v[d]===void 0)return!0;const b=c[d],E=v[d]?.toString().toLowerCase()||"",S=b.value?.toString().toLowerCase()||"";switch(b.operator){case"match":return E.includes(S);case"eq":return E===S;case"in":return Array.isArray(E)?E.includes(S):(console.warn('Unexpected type for "in" operator:',E),!0);default:return console.error(`Unsupported operator: ${b.operator}`),!0}})),C=f?.length>0?f:g;o(C)}u()},[]),[i,s]},sm=e=>{const{sku:t,queryValues:a}=e,{config:n,specTitle:s}=Eo(),i=a?.sku?.value||t||"",[o,c]=No(i,n,a);return _a.createElement("div",{className:`cmp-configuration-search-list-item__variant-table cmp-product-variant-table__body ${o?.length>0?"":"cmp-product-variant-table__body--empty"}`},c?_a.createElement(yo,null):_a.createElement(Po,{products:o,config:n,sku:t,specTitle:s}))};var im=null,Fo,le,wo,Mo,va,To,xo,Ro,Oo,ko,Lo,$o;const om=e=>{const{preHeading:t,heading:a,subHeadingLabel:n,subHeadingValue:s,propertiesHTML:i,propertiesTitle:o,productPriceRange:c,stockStatus:u,sku:m,productFamily:l,additionalCategory:g,imgSrc:f,urlKey:C,isGroupedProduct:v,queryValues:d,openPdpInNewTab:b}=e,E=ko(),{translate:S}=Mo(),[I,y]=Fo(!1),{productDetailUrlPattern:M}=wo(),F=M.replace(/\[URL_KEY]/g,C.toString()),k=b?{target:"_blank",rel:"noreferrer"}:{target:"_self"},[{isSignedIn:A}]=$o();return le.createElement("div",{className:`cmp-configuration-search-list-item ${I?"cmp-configuration-search-list-item--expanded":""}`},le.createElement("div",{className:"cmp-configuration-search-list-item__image-container"},le.createElement("div",{className:"cmp-image"},le.createElement("a",{href:F,className:"cmp-configuration-search-list-item__image-container__link",...k},le.createElement("img",{src:f,alt:"",className:"cmp-configuration-search-list-item__image"})))),le.createElement("div",{className:"cmp-configuration-search-list-item__header"},le.createElement("div",{className:"cmp-configuration-search-list-item__heading-container"},le.createElement("div",{className:"cmp-configuration-search-list-item__pre-heading"},t),le.createElement("h4",{className:"cmp-configuration-search-list-item__heading"},le.createElement("a",{href:F,className:"cmp-configuration-search-list-item__heading__link",...k},a)),(n||s)&&le.createElement("p",{className:"cmp-configuration-search-list-item__sub-heading"},n&&le.createElement("span",{className:"cmp-configuration-search-list-item__sub-heading-label"},n),s&&le.createElement("span",{className:"cmp-configuration-search-list-item__sub-heading-value"},s)))),le.createElement("div",{className:"cmp-configuration-search-list-item__details"},i&&o&&le.createElement(To,{isVerticalLayout:!0,properties:i,title:o}),le.createElement("div",{className:`cmp-configuration-search-list-item__actions-container ${!A&&!v?"cmp-configuration-search-list-item__actions-container--full-width":""}`},A&&!v&&le.createElement(xo,{product:{sku:m,name:a,productFamily:l,additionalCategory:g,stockStatus:u,priceRange:c}}),le.createElement("div",{className:"cmp-configuration-search-list-item__action-buttons-wrapper"},le.createElement("a",{className:`cmp-configuration-search-item-list__link-button ${A?"":"cmp-configuration-search-item-list__link-button--loggedout"}`,href:F,...k}
368,le.createElement(va,{style:"secondary",text:S({id:"common.viewDetails",defaultMessage:"VIEW DETAILS"})})),!A&&!v&&le.createElement("div",{className:"cmp-product-commerce-details"},le.createElement("div",{className:"cmp-product-commerce-details__loggedout-container"},le.createElement(va,{style:"primary",text:S({id:"common.loginToViewPrice",defaultMessage:"LOG IN TO VIEW PRICE"}),onClick:()=>{Ro(Oo.OpenHeaderOverlay,{detail:{id:"account"}})}})))),v&&!!E.config.columns&&le.createElement(va,{className:"cmp-configuration-search-item-list__variant-button",style:"primary",iconType:I?"chevron-up":"chevron-down",iconPosition:"after",text:S({id:"common:variants-label",defaultMessage:"VARIANTS"}),onClick:()=>y(!I)}))),I&&!!E.config.columns&&le.createElement(Lo,{sku:m,queryValues:d}))};var cm=null,st,Pr;const lm=e=>st.createElement("button",{type:"button",role:"switch","aria-checked":e.isToggled,disabled:e.isDisabled,className:`cmp-toggle-button ${e.iconOnly?"cmp-toggle-button--icon-only":""}`,onClick:e.onClick},st.createElement("div",{className:`cmp-toggle-button__container
369					cmp-toggle-button__container--icon-${e.iconPosition}
370					${e.isToggled?"cmp-toggle-button__container--no-padding-left":"cmp-toggle-button__container--selected"}`},e.leftIconType&&st.createElement(Pr,{type:e.leftIconType,additionalCssName:"cmp-button__icon"}),e.textLeft&&st.createElement("span",{className:"cmp-button__text"},e.textLeft)),st.createElement("div",{className:`cmp-toggle-button__container cmp-toggle-button__container--icon-${e.iconPosition} ${e.isToggled?"cmp-toggle-button__container--selected":"cmp-toggle-button__container--no-padding-right"}`},e.rightIconType&&st.createElement(Pr,{type:e.rightIconType,additionalCssName:"cmp-button__icon"}),e.textRight&&st.createElement("span",{className:"cmp-button__text"},e.textRight)));var um=null,mm=P(96951),Do;const Uo=(0,se.J1)`
371	query Attributes {
372		attributeList {
373			frontend_label
374			attribute_code
375		}
376	}
377`,dm=()=>{const{data:e}=Do(Uo,{fetchPolicy:"cache-and-network"});return e?.attributeList||[]};var pm=null;const qo=()=>[{label:"Width",attributeName:"product_width",transform:null},{label:"Height",attributeName:"product_height",transform:null},{label:"Depth",attributeName:"product_depth",transform:null}],Wo=({product:e,cartId:t,onClick:a,className:n,actionsConfig:s,onAddToFiltermap:i,onToggleComparison:o,isInComparison:c,canAddMoreProducts:u=!0,specs:m,specTitle:l,isFiltermapView:g=!1,displayConfig:f,attributes:C})=>{const{checkBeforeAdd:v,quoteCartModal:d}=za(t),{preHeading:b,heading:E,subHeading:S,bulletPointsList:I,skuLabel:y,sku:M,imgSrc:F,isOutOfStock:k,skuId:A,value:h,currency:w,showPrice:W,showPriceLoading:B,hasMSPricing:G,shouldDisableDueToPrice:j,imageError:D,handleImageError:U,quantity:Y,setQuantity:ee,showAddToCartAction:L,showFiltermapActionIcon:q,translate:V}=Ba({product:e,isFiltermapView:g,actionsConfig:s,displayConfig:f,attributes:C}),Z=s?.showComparisonAction||!1,[te,ye]=(0,r.useState)(!1),Ee=m??qo(),pe=mr(e,Ee),Ne=(0,r.useCallback)(()=>{a&&a(M)},[a,M]),ue=(0,r.useCallback)(Q=>{(Q.key==="Enter"||Q.key===" ")&&a&&(Q.preventDefault(),Ne())},[Ne,a]),ge=(0,r.useCallback)(()=>{a&&a(M)},[a,M]),mt=(0,r.useCallback)(()=>r.createElement("div",{className:"cmp-product-variant-table__add-to-cart-button"},r.createElement(Lt,{content:r.createElement("div",{className:"text-standard"},V({id:"filtermap:add-to-filtermap-tooltip",defaultMessage:"Add this product to the current filtermap"}))},r.createElement(we.A,{iconOnly:!0,iconType:"filtermap",iconPosition:"before",style:"primary",text:V({id:"filtermap:add-to-filtermap-button",defaultMessage:"Add to filtermap"}),onClick:ge,className:"cmp-button--borderless"}))),[V,ge]),ze=Re()("simple-product-item",{"simple-product-item--out-of-stock":k},n),Oe=a?{role:"button",tabIndex:0,"aria-pressed":!1,"aria-labelledby":A,onKeyDown:ue,onClick:Ne,className:"simple-product-item__interactive simple-product-item__interactive--clickable"}:{className:"simple-product-item__interactive"};return r.createElement(r.Fragment,null,r.createElement("article",{className:ze,role:"group","aria-labelledby":A},r.createElement("div",{...Oe},r.createElement("figure",{className:"simple-product-item__media"},r.createElement("div",{className:"simple-product-item__media-asset"}
377,F&&!D?r.createElement("img",{src:F,alt:V({id:"commerce.productImage",defaultMessage:`Product image for ${M}`}),loading:"lazy",decoding:"async",onError:U,className:"simple-product-item__image"}):r.createElement(ct.A,{type:"tile",additionalCssName:"simple-product-item__placeholder-icon","aria-hidden":"true"})),r.createElement("figcaption",{className:"simple-product-item__media-caption"},V({id:"product.imageCaption",defaultMessage:"Example image"}))),r.createElement("div",{className:"simple-product-item__content"},r.createElement("div",{className:"simple-product-item__family",title:b},b),r.createElement(He.A,{text:E,additionalCssName:"simple-product-item__name-text",typography:"standard-strong"}),r.createElement("div",{id:A,className:"simple-product-item__sku",title:`${y}: ${S}`},y&&r.createElement("span",{className:"simple-product-item__sku-label"},y,": "),S),I&&r.createElement("div",{className:"simple-product-item__bullet-points",dangerouslySetInnerHTML:{__html:I}})),(G&&W||B)&&r.createElement("div",{className:"simple-product-item__price","aria-label":"Price"},B?r.createElement(r.Fragment,null,r.createElement("div",{className:"amount simple-product-item__price-blur","aria-hidden":"true"},"\u20AC --,--"),r.createElement(He.A,{text:V({id:"configurableSearch:netPricePerItem",defaultMessage:"Net price per item"}),typography:"small",additionalCssName:"simple-product-item__price-blur"})):r.createElement(r.Fragment,null,r.createElement("div",{className:"amount"},r.createElement(_t.A,{currencyCode:w,value:h})),r.createElement(He.A,{text:V({id:"configurableSearch:netPricePerItem",defaultMessage:"Net price per item"}),typography:"small"})))),L&&!g&&r.createElement("div",{className:"simple-product-item__quantity",onClick:Q=>Q.stopPropagation(),onKeyDown:Q=>Q.stopPropagation()},r.createElement(He.A,{text:V({id:"configurableSearch:quantity",defaultMessage:"Quantity"}),additionalCssName:"simple-product-item__quantity-text"}),r.createElement(kt,{itemId:M,initialValue:Y,onChange:Q=>ee(Q)})),r.createElement("div",{className:"simple-product-item__actions-wrapper",onClick:Q=>Q.stopPropagation(),onKeyDown:Q=>Q.stopPropagation()},r.createElement("div",{className:"simple-product-item__actions"},r.createElement("div",{className:"simple-product-item__cta"},q&&r.createElement(oa,{sku:M,onAddToFiltermap:i,className:"simple-product-item__button"}),Z&&o&&c&&r.createElement(we.A,{style:"secondary",text:c(M)?V({id:"configurableSearch:removeFromComparison",defaultMessage:"Remove"}):V({id:"configurableSearch:addToComparison",defaultMessage:"Compare"}),disabled:!c(M)&&!u,onClick:()=>o&&o(M,E),className:"simple-product-item__button"}),L&&(g?mt():r.createElement(ra,{sku:M,cartId:t,quantity:Y,isOutOfStock:k,isDisabled:j,tooltipPlacement:"top",className:"simple-product-item__button",onBeforeAddToCart:v})),k&&r.createElement("span",{id:`${M}-disabled-reason`,className:"sr-only"},V({id:"commerce.outOfStock",defaultMessage:"Out of stock"}))))),pe&&r.createElement("div",{className:"simple-product-item__accordion",onClick:Q=>Q.stopPropagation(),onKeyDown:Q=>Q.stopPropagation()},r.createElement(lr,{trigger:r.createElement("span",null,l||V({id:"commerce.technicalSpecs",defaultMessage:"Technical Specifications"})),isOpen:te,onClick:()=>ye(!te)}),te&&r.createElement(dr,{product:e,attrs:Ee,title:l}))),d)};var gm=(0,r.memo)(Wo),ba,Vo,Bo,jo;const fm=({title:e,text:t,className:a="cmp-no-results-information"})=>{const{translate:n}=Vo(),s=n({id:"common:noResultProductsTitle",defaultMessage:"We are sorry - we could not find any results."}),i=n({id:"common:noResultProductsText",defaultMessage:"Please adjust your filters or try a different search term."});return ba.createElement("div",{className:a},ba.createElement(Bo,{tag:"h2",text:e||s}
377),ba.createElement(jo,{typography:"large",text:t||i}))};var hm=null,_m=P(76676),vm=(0,se.J1)`
378	query GetAllFilterMaps($salesOrg: String) {
379		allFilterMaps(salesOrg: $salesOrg) {
380			contact
381			customer
382			description
383			eCommerceMap
384			id
385			number
386			salesOrg
387		}
388	}
389`,bm=(0,se.J1)`
390	query GetFilterMapById($id: String!, $salesOrg: String) {
391		filtermap(filtermapId: $id, salesOrg: $salesOrg) {
392			description
393			eCommerceMap
394			id
395			number
396			salesOrg
397			objects {
398				name
399				items {
400					comment
401					filtermapId
402					id
403					installation
404					material
405					object
406					place
407					quantity
408					positionText
409					isPaused
410					isEnabled
411				}
412			}
413		}
414	}
415`,ym=(0,se.J1)`
416	mutation CreateFiltermap($description: String!, $salesOrg: String) {
417		createFiltermap(filtermap: { description: $description, items: [] }, salesOrg: $salesOrg) {
418			customer
419			description
420			eCommerceMap
421			filterMapId
422			status
423		}
424	}
425`,Em=(0,se.J1)`
426	mutation UpdateFilterMap($filtermapId: String!, $fields: filtermapHeaderFieldsInput!, $salesOrg: String) {
427		updateFiltermap(filtermapId: $filtermapId, fields: $fields, salesOrg: $salesOrg) {
428			filtermapId
429			modifiedAt
430			fields {
431				customer
432				description
433				eCommerceMap
434				salesOrganization
435				status
436			}
437		}
438	}
439`,Cm=(0,se.J1)`
440	mutation AddProductsToCartWithFiltermap($cartId: String!, $cartItems: [CartItemInput!]!) {
441		addProductsToCart(cartId: $cartId, cartItems: $cartItems) {
442			cart {
443				id
444				itemsV2 {
445					items {
446						id
447						filtermap {
448							filtermapId
449							object
450							place
451							installation
452							comment
453							material
454						}
455						product {
456							name
457							sku
458						}
459						quantity
460					}
461				}
462				...MiniCartFragment
463			}
464			user_errors {
465				code
466				message
467			}
468		}
469	}
470	${ht.MiniCartFragment}
471`,Pm=(0,se.J1)`
472	mutation AddSingleProductWithFiltermap($cartId: String!, $cartItem: SimpleProductCartItemInput!) {
473		addSimpleProductsToCart(input: { cart_id: $cartId, cart_items: [$cartItem] }) {
474			cart {
475				id
476				itemsV2 {
477					items {
478						id
479						filtermap {
480							filtermapId
481							object
482							place
483							installation
484							comment
485							material
486						}
487						product {
488							name
489							sku
490						}
491						quantity
492					}
493				}
494				...MiniCartFragment
495			}
496		}
497	}
498	${ht.MiniCartFragment}
499`,Sm=(0,se.J1)`
500	mutation PauseFiltermapItem($filtermapId: String!, $itemId: String!, $salesOrg: String) {
501		pauseFiltermapItem(filtermapId: $filtermapId, itemId: $itemId, salesOrg: $salesOrg) {
502			itemId
503			modifiedAt
504		}
505	}
506`,Im=(0,se.J1)`
507	mutation UnpauseFiltermapItem($filtermapId: String!, $itemId: String!, $salesOrg: String) {
508		unpauseFiltermapItem(filtermapId: $filtermapId, itemId: $itemId, salesOrg: $salesOrg) {
509			itemId
510			modifiedAt
511		}
512	}
513`,Am=(0,se.J1)`
514	mutation EnableFiltermapItem($filtermapId: String!, $itemId: String!, $salesOrg: String) {
515		enableFiltermapItem(filtermapId: $filtermapId, itemId: $itemId, salesOrg: $salesOrg) {
516			itemId
517			modifiedAt
518		}
519	}
520`,Nm=(0,se.J1)`
521	mutation DisableFiltermapItem($filtermapId: String!, $itemId: String!, $salesOrg: String) {
522		disableFiltermapItem(filtermapId: $filtermapId, itemId: $itemId, salesOrg: $salesOrg) {
523			itemId
524			modifiedAt
525		}
526	}
527`,Fm=(0,se.J1)`
528	mutation updateFiltermapItem(
529		$filtermapId: String!
530		$itemId: String!
531		$fields: filtermapItemFieldsInput!
532		$salesOrg: String
533	) {
534		updateFiltermapItem(filtermapId: $filtermapId, itemId: $itemId, fields: $fields, salesOrg: $salesOrg) {
535			filtermapId
536			itemId
537			modifiedAt
538		}
539	}
540`,wm=(0,se.J1)`
541	mutation RenameFiltermapObject($input: RenameFiltermapObjectInput!, $salesOrg: String) {
542		renameFiltermapObject(input: $input, salesOrg: $salesOrg) {
543			filtermapId
544			modifiedAt
545			objectName
546		}
547	}
548`,Mm=(0,se.J1)`
549	mutation addFiltermapItem($fields: AddFiltermapItemFieldsInput!, $filtermapId: String!, $salesOrg: String) {
550		addFiltermapItem(fields: $fields, filtermapId: $filtermapId, salesOrg: $salesOrg) {
551			id
552			filtermapId
553			material
554			object
555			place
556			installation
557			quantity
558			unit
559			comment
560			createdAt
561			createdBy
562			modifiedAt
563			modifiedBy
564		}
565	}
566`,Sr,Go,ya,Ut,Ir,Ar,zo,qt;class Qo{constructor(t){this.config=t}determineUpdateStrategy(t,a){const n=a.material!==void 0&&a.material!==t.material,s=Object.keys(a).length===2&&a.quantity!==void 0&&a.id!==void 0;if(n){const i=Object.keys(a).filter(c=>c!=="id"&&c!=="material"&&a[c]!==void 0);return{type:"disable_and_add",reason:i.length>0?`Article number change (+ ${i.join(", ")}) requires disabling old item and adding new one`:"Article number change requires disabling old item and adding new one"}}return s?{type:"quantity_only",reason:"Quantity-only updates use optimized mutation"}:{type:"update",reason:"Standard field update (object, place, installation, etc.)"}}async executeUpdate(t,a){const n=this.determineUpdateStrategy(t,a);console.log(`FiltermapItemUpdateService: Using strategy '${n.type}' - ${n.reason}`),console.log("Original item:",t),console.log("Updated fields:",a);try{switch(n.type){case"update":return await this.executeStandardUpdate(t,a);case"disable_and_add":return await this.executeDisableAndAdd(t,a);case"quantity_only":return await this.executeQuantityUpdate(t,a);default:throw new Error(`Unknown update strategy: ${n.type}`)}}catch(s){return console.error("FiltermapItemUpdateService: Update failed:",s),{success:!1,error:s 
566instanceof Error?s.message:"Unknown error"}}}async addNewItem(t,a){if(!this.config.filtermapApiUrl)throw new Error("FilterMaps API URL not configured");const n=Ut(),s=qt(this.config.filtermapApiUrl,n||"",this.config.headersFromConfig);console.log("FiltermapItemUpdateService: Adding new item:",a),console.log("FiltermapItemUpdateService: Object value being sent:",a.object);const{data:i}=await s.mutate({mutation:Ir,variables:{filtermapId:t,fields:{material:a.material,object:a.object,place:a.place,installation:a.installation,quantity:a.quantity,unit:"PC",comment:a.comment},salesOrg:this.config.salesOrganization||null}});if(!i?.addFiltermapItem)throw new Error("Failed to add new item");return Ko({productId:i.addFiltermapItem.id,sku:i.addFiltermapItem.material,quantity:i.addFiltermapItem.quantity,object:i.addFiltermapItem.object,filtermapId:i.addFiltermapItem.filtermapId}),{success:!0,newItem:{...i.addFiltermapItem,isEnabled:!0,isPaused:!1,positionText:a.positionText||"",labelType:a.labelType||"",lifespan:a.lifespan||0}}}async executeStandardUpdate(t,a){if(!this.config.filtermapApiUrl)throw new Error("FilterMaps API URL not configured");const n=Ut(),s=qt(this.config.filtermapApiUrl,n||"",this.config.headersFromConfig),i={};return Object.entries(a).forEach(([o,c])=>{o!=="id"&&c!==void 0&&c!==null&&(i[o]=c)}),await s.mutate({mutation:Ar,variables:{filtermapId:t.filtermapId,itemId:t.id,fields:i,salesOrg:this.config.salesOrganization||null}}),{success:!0,updatedItem:{id:t.id,...i}}}async executeDisableAndAdd(t,a){if(!this.config.filtermapApiUrl)throw new Error("FilterMaps API URL not configured");const n=Ut(),s=qt(this.config.filtermapApiUrl,n||"",this.config.headersFromConfig);await s.mutate({mutation:zo,variables:{filtermapId:t.filtermapId,itemId:t.id,salesOrg:this.config.salesOrganization||null}});const i={...t,...a};console.log("Creating new item with data:",{originalItem:{id:t.id,material:t.material,object:t.object,place:t.place,installation:t.installation},updatedFields:a,newItemData:{material:i.material,object:i.object,place:i.place,installation:i.installation}});const{data:o}=await s.mutate({mutation:Ir,variables:{filtermapId:t.filtermapId,fields:{material:i.material,object:i.object,place:i.place,installation:i.installation,quantity:i.quantity,unit:"PC",comment:i.comment},salesOrg:this.config.salesOrganization||null}});if(!o?.addFiltermapItem)throw new Error("Failed to add new item after disabling old one");return{success:!0,disabledItemId:t.id,newItem:{...o.addFiltermapItem,isEnabled:!0,isPaused:!1,positionText:a.positionText||t.positionText,labelType:t.labelType,lifespan:t.lifespan}}}async executeQuantityUpdate(t,a){if(!this.config.filtermapApiUrl)throw new Error("FilterMaps API URL not configured");const n=Ut();return await qt(this.config.filtermapApiUrl,n||"",this.config.headersFromConfig).mutate({mutation:Ar,variables:{filtermapId:t.filtermapId,itemId:t.id,fields:{quantity:a.quantity},salesOrg:this.config.salesOrganization||null}}),{success:!0,updatedItem:{id:t.id,quantity:a.quantity}}}}const Tm=()=>{const e=Sr(),{headers:t}=Sr(),a=Go(()=>new Qo({filtermapApiUrl:e?.commerce?.filtermapsApiUrl,salesOrganization:e?.storeConfig?.salesOrganization,headersFromConfig:t}),[e?.commerce?.filtermapsApiUrl,e?.storeConfig?.salesOrganization,t]),n=ya(async(o,c)=>await a.executeUpdate(o,c),[a]),s=ya(async(o,c)=>await a.addNewItem(o,c),[a]),i=ya((o,c)=>a.determineUpdateStrategy(o,c),[a]);return{updateItem:n,addNewItem:s,determineStrategy:i}};function Ko(e){window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer.push({event:"filtermap:object:item:added",eventInfo:{path:`component.product-${e.productId}`},component:{[`product-${e.productId}`]:e}})}var qe,ne,Ho,Jo,Yo,Nr,Fr,Xo,Zo,ec,wr,tc,Mr,ac,rc,nc,sc,ic,oc,cc,lc,Ea,uc,Tr,mc,xr,dc,pc,gc,Rr,fc,Or,kr;const hc=e=>{const t=[],a=[],n=[];e.forEach((u,m)=>{u.id.startsWith("temp_")?(t.push(u),n.push(m)):a.push(u)});const s=[...a].sort((u,m)=>{const l=u.object||"",g=m.object||"";if(l!==g)return l.localeCompare(g,void 0,{numeric:!0,sensitivity:"base"});const f=u.place||"",C=m.place||"";if(f!==C)return f.localeCompare(C,void 0,{numeric:!0,sensitivity:"base"});const v=u.installation||"",d=m.installation||"";if(v!==d)return v.localeCompare(d,void 0,{numeric:!0,sensitivity:"base"});const b=u.material||"",E=m.material||"";return b.localeCompare(E,void 0,{numeric:!0,sensitivity:"base"})}),i=[];let o=0,c=0;for(let u=0;u<e.length;u++)n.includes(u)?i.push(t[c++]):i.push(s[o++]);return i},Et=e=>({...e,objects:e.objects.slice().sort((t,a)=>t.name.localeCompare(a.name,void 0,{numeric:!0,sensitivity:"base"})).map(t=>({...t,items:hc(t.items.filter(a=>a.isEnabled))})).filter(t=>t.items.length>0)}),Xe=(e,t,a)=>{const n=s=>{if(!s)return s;const i=a(s);return i&&Et(i)};e(n),t(n)},_c=(0,r.createContext)(void 0),xm=({children:e,pageSize:t,showAllFiltermapLines:a=!1})=>{const n=Fr(),{headers:s}=Fr(),[i,o]=qe(0),[c,u]=qe([]),[m,l]=qe([]),[g,f]=qe(0),[C,v]=qe(0),[d,b]=qe(null),[E,S]=qe(!1),[I,y]=qe(null),[M]=Nr(ac),[F]=Nr(rc),{translate:k}=uc(),{error:A}=pc(),h=n?.storeConfig.salesOrganization,w=ne((T,p,_)=>fc(T,k,p,_),[k]),[W,B]=qe(null),[G,j]=qe(null),D=Ho(()=>new dc({filtermapApiUrl:n?.commerce?.filtermapsApiUrl,salesOrganization:n?.storeConfig?.salesOrganization,headersFromConfig:s}),[n?.commerce?.filtermapsApiUrl,n?.storeConfig?.salesOrganization,s]),U=ne(()=>{const T=Zo(),p=n?.commerce?.filtermapsApiUrl;if(!p)throw new Error("FilterMaps API URL not configured");return Xo(p,T||"",s)},[n,s]);Jo(()=>{d&&B(d)},[d]);const Y=ne(T=>{const p=N=>N&&Tr(N,T);B(N=>{if(!N)return N;const O=p(N);return O&&Et(O)})},[]),ee=ne(T=>{B(p=>p&&{...p,description:T}),b(p=>p&&{...p,description:T})},[]),L=ne(T=>{B(_=>{if(!_)return _;const N=T(_);return N&&Et(N)})},[]),q=ne(()=>{B(d)},[d]),V=ne(T=>{j(T)},[]),Z=ne(()=>{j(null)},[]),te=ne(T=>{j(p=>p===T?null:T)},[]),ye=ne(async(T,p)=>{try{const _=await D.executeUpdate(T,p);return _.success&&Xe(b,B,O=>O&&(_.disabledItemId&&_.newItem?mc(O,_.disabledItemId,_.newItem):_.updatedItem?Tr(O,{id:T.id,..._.updatedItem}):O)),_}catch(_){console.error("Error updating filtermap item:",_);const N=w(_,"filtermapError:updateItem","Failed to update item");return A(N),{success:!1,error:_ instanceof Error?_.message:"Unknown error"}}},[D,A,w]),Ee=ne(async(T,p)=>{try{const _=await D.addNewItem(T,p);return _.success&&_.newItem&&Xe(b,B,O=>{if(!O)return O;const K=_.newItem.object,H=O.objects.findIndex(he=>he.name===K);let z;return H!==-1?z=O.objects.map((he,Tt)=>Tt===H?{...he,items:[...he.items,_.newItem]}:he):z=[...O.objects,{name:K,items:[_.newItem]}],{...O,objects:z}}),_}catch(_){console.error("Error adding new filtermap item:",_);const N=w(_,"filtermapError:addItem","Failed to add item");return A(N),{success:!1,error:_ instanceof Error?_.message:"Unknown error"}}},[A,D,w]),pe=ne(T=>{b(p=>p&&{...p,description:T})},[]),Ne=ne(async(T,p)=>{try{S(!0),y(null);const _=U();h||console.warn("[FilterMap] No sales organization found in config. Querying without salesOrg filter.");const{data:N}=await _.mutate({mutation:Mr,variables:{filtermapId:T,fields:{description:p},salesOrg:h||null}});if(!N?.updateFiltermap)throw new Error("No data returned from update mutation");return pe(p),l(O=>O.map(K=>K.id===T?{...K,description:p}:K)),u(O=>O.map(K=>K.id===T?{...K,description:p}:K)),N.updateFiltermap}catch(_){console.error("Error updating filtermap description:",_),y(_);const N=w(_,"filtermapError:updateDescriptionFailed","Failed to update description");return A(N),null}finally{S(!1)}},[U,h,pe,A,w]),ue=ne(async()=>{try{S(!0),y(null);const T=U();h||console.warn("[FilterMap] No sales organization found in config. Querying without salesOrg filter.");const{data:p}=await T.query({query:ec,variables:{salesOrg:h||null}});p?.allFilterMaps&&(l(p.allFilterMaps),u(p.allFilterMaps),v(p.allFilterMaps.length),f(p.allFilterMaps.length),o(0))}catch(T){console.error("Error loading filter maps:",T),y(T)}finally{S(!1)}},[U,h]),ge=ne(async T=>{try{S(!0),y(null);const p=T.replace("/",""),_=U();h||console.warn("[FilterMap] No sales organization found in config. Querying without salesOrg filter.");const{data:N}=await _.query({query:wr,variables:{id:p,salesOrg:h||null}});N?.filtermap&&b(Et(N.filtermap))}catch(p){console.error("Error loading filter map by ID:",p),y(p)}finally{S(!1)}},[U,h]),mt=ne(async T=>{try{const p=T.replace("/",""),_=U();h||console.warn("[FilterMap] No sales organization found in config. Querying without salesOrg filter.");const{data:N}=await _.query({query:wr,variables:{id:p,salesOrg:h||null}});return N?.filtermap?Et(N.filtermap):null}catch(p){return console.error("Error getting filter map by ID:",p),y(p),null}},[U,h]),ze=ne(async T=>{try{S(!0),y(null);const p=U();h||console.warn("[FilterMap] No sales organization found in config. Querying without salesOrg filter.");const{data:_}=await p.mutate({mutation:tc,variables:{description:T,salesOrg:h||null}});if(!_||!_.createFiltermap)throw new Error("No data returned from create mutation");const N={id:_.createFiltermap.filterMapId,number:"",description:_.createFiltermap.description,contact:"",customer:_.createFiltermap.customer,salesOrg:h||"",eCommerceMap:_.createFiltermap.eCommerceMap,objects:[]};return l(O=>[...O,N]),u(O=>[...O,N]),v(O=>O+1),f(O=>O+1),_.createFiltermap}catch(p){console.error("Error creating filter map:",p),y(p);const _=w(p,"filtermapError:createFailed","Failed to create filtermap");return A(_),null}finally{S(!1)}},[U,h,A,w]),Oe=ne(async(T,p)=>{try{S(!0),y(null);const _=U();h||console.warn("[FilterMap] No sales organization found in config. Querying without salesOrg filter.");const{data:N}=await _.mutate({mutation:Mr,variables:{filtermapId:T,fields:p,salesOrg:h||null}});if(N){const O=N.updateFiltermap;l(K=>K.map(H=>H.id===T?{...H,id:O.filtermapId,description:O.fields?.description||H.description,customer:O.fields?.customer||H.customer,salesOrg:O.fields?.salesOrganization||H.salesOrg,eCommerceMap:O.fields?.eCommerceMap??H.eCommerceMap}:H)),u(K=>K.map(H=>H.id===T?{...H,id:O.filtermapId,description:O.fields?.description||H.description,customer:O.fields?.customer||H.customer,salesOrg:O.fields?.salesOrganization||H.salesOrg,eCommerceMap:O.fields?.eCommerceMap??H.eCommerceMap}:H)),d?.id===T&&b(K=>K&&{...K,id:O.filtermapId,description:O.fields?.description||K.description,customer:O.fields?.customer||K.customer,salesOrg:O.fields?.salesOrganization||K.salesOrg,eCommerceMap:O.fields?.eCommerceMap??K.eCommerceMap})}}catch(_){console.error("Error updating filter map:",_),y(_)}finally{S(!1)}},[U,d,h]),Q=ne((T,p="success")=>{document.dispatchEvent(new CustomEvent(Ea.CartUpdate,{detail:{message:T,type:p}}))},[]),ke=ne(T=>{const p=T==="open"?Ea.OpenSpinnerOverlay:Ea.CloseSpinnerOverlay;window.dispatchEvent(new CustomEvent(p))},[]),Ve=gc(),Be=ne(async T=>{ke("open");try{await Ve(p=>M({variables:{cartId:p,cartItems:T}})),Q(k({id:"productFinder:addToCartSuccess",defaultMessage:"Product added to cart successfully!"}),"success"),Mt("scAdd",{...T})}catch(p){const _=w(p,"productFinder:addToCartError",Rr(p));Q(_,"error")}finally{ke("close")}},[Ve,M,k,Q,ke,w]),Qe=ne(async T=>{ke("open");try{await Ve(p=>F({variables:{cartId:p,cartItem:T}})),Q(k({id:"productFinder:addToCartSuccess",defaultMessage:"Product added to cart successfully!"}),"success"),Mt("scAdd",{...T})}catch(p){const _=k({id:"productFinder:addToCartError",defaultMessage:"Failed to add product to cart"}),N=w(p,"productFinder:addToCartError",Rr(p,_));Q(N,"error")}finally{ke("close")}},[Ve,F,k,Q,ke,w]),Ft=ne(async(T,p)=>{try{await U().mutate({mutation:nc,variables:{filtermapId:T,itemId:p,salesOrg:h||null}}),Xe(b,B,O=>{if(!O)return null;const K=O.objects.map(H=>({...H,items:H.items.map(z=>{if(z.id===p){const he=Or(z.comment);return{...z,isPaused:!0,comment:kr(!0,he)}}return z})}));return{...O,objects:K}})}catch(_){console.error("Error pausing item:",_);const N=w(_,"filtermapError:pauseItem","Failed to pause item");A(N),y(_)}finally{S(!1)}},[U,h,A,w]),it=ne(async(T,p)=>{try{const _=U();h||console.warn("[FilterMap] No sales organization found in config. Querying without salesOrg filter."),await _.mutate({mutation:sc,variables:{filtermapId:T,itemId:p,salesOrg:h||null}}),Xe(b,B,O=>{if(!O)return null;const K=O.objects.map(H=>({...H,items:H.items.map(z=>{if(z.id===p){const he=Or(z.comment);return{...z,isPaused:!1,comment:kr(!1,he)}}return z})}));return{...O,objects:K}})}catch(_){console.error("Error unpausing item:",_),y(_);const N=w(_,"filtermapError:unpauseItem","Failed to unpause item");A(N)}finally{S(!1)}},[U,h,A,w]),wt=ne(async(T,p)=>{try{const _=U();h||console.warn("[FilterMap] No sales organization found in config. Querying without salesOrg filter."),await _.mutate({mutation:ic,variables:{filtermapId:T,itemId:p,salesOrg:h||null}}),Xe(b,B,O=>{if(!O)return null;const K=O.objects.map(H=>({...H,items:H.items.map(z=>z.id===p?{...z,isEnabled:!0}:z)}));return{...O,objects:K}})}catch(_){console.error("Error enabling item:",_),y(_)}finally{S(!1)}},[U,h]),$=ne(async(T,p)=>{try{y(null);const _=U();h||console.warn("[FilterMap] No sales organization found in config. Querying without salesOrg filter."),await _.mutate({mutation:oc,variables:{filtermapId:T,itemId:p,salesOrg:h||null}}),Xe(b,B,O=>{if(!O)return null;const K=O.objects.map(H=>({...H,items:H.items.map(z=>z.id===p?{...z,isEnabled:!1}:z)}));return{...O,objects:K}})}catch(_){console.error("Error disabling item:",_),y(_);const N=w(_,"filtermapError:disableItem","Failed to disable item");A(N)}finally{S(!1)}},[U,h,A,w]),X=ne(async(T,p,_)=>{try{y(null);const N=U();h||console.warn("[FilterMap] No sales organization found in config. Querying without salesOrg filter."),await N.mutate({mutation:cc,variables:{filtermapId:T,itemId:p,fields:{quantity:_},salesOrg:h||null}}),Xe(b,B,K=>{if(!K)return null;const H=K.objects.map(z=>({...z,items:z.items.map(he=>he.id===p?{...he,quantity:_}:he)}));return{...K,objects:H}})}catch(N){console.error("Error updating item quantity:",N),y(N);const O=w(N,"filtermapError:updateQuantity","Failed to update quantity");A(O)}finally{S(!1)}},[U,h,A,w]),fe=ne(async(T,p,_)=>{try{y(null);const N=U();h||console.warn("[FilterMap] No sales organization found in config. Querying without salesOrg filter."),await N.mutate({mutation:lc,variables:{input:{filtermapId:T,currentObjectName:p,newObjectName:_},salesOrg:h||null}}),Xe(b,B,K=>{if(!K)return null;const H=K.objects.map(z=>{if(z.name===p){const he=z.items.map(Tt=>({...Tt,object:_}));return{...z,name:_,items:he}}
566return z});return{...K,objects:H}})}catch(N){console.error("Error renaming filtermap object:",N),y(N);const O=w(N,"filtermapError:renameObject","Failed to rename object");A(O)}finally{S(!1)}},[U,h,A,w]),De=ne((T,p)=>{const _=T.items?.filter(N=>!N.isPaused&&N.isEnabled).map(N=>xr(N,p));_&&_.length>0&&Be(_)},[Be]),Ze=ne(T=>{const p=T.objects?.flatMap(_=>_.items?.filter(N=>!N.isPaused&&N.isEnabled).map(N=>xr(N,T))||[]);p&&p.length>0&&Be(p)},[Be]),Vt=ne(async(T,p,_,N,O,K)=>{const H=W||d;if(!H)throw new Error("No filtermap data available");let z;for(const Ke of H.objects)if(z=Ke.items?.find(et=>et.id===T),z)break;if(!z)throw new Error("Temporary item not found");const he=p||z.material,Tt=_||z.object,Bl=N||z.place,jl=O||z.installation,Gl=K||z.positionText;if(!he)throw new Error("Article number is required");if(!/^\d{10}$/.test(he))throw new Error("Article number must have exactly 10 digits");try{L(et=>{if(!et)return et;const zl=et.objects.map(en=>({...en,items:en.items?.filter(Ql=>Ql.id!==T)||[]}));return{...et,objects:zl}});const Ke=await Ee(z.filtermapId,{material:he,object:Tt,place:Bl,installation:jl,quantity:z.quantity,comment:z.comment,positionText:Gl,labelType:z.labelType,lifespan:z.lifespan});if(Ke.success)Z();else throw new Error(Ke.error||"Failed to save temporary item")}catch(Ke){if(Ke instanceof Error&&Ke.message.includes("No filtermap data available")){const et=w(Ke,"filtermapError:saveItem","Failed to save item");A(et)}console.error("Error saving temporary item:",Ke)}},[W,d,Ee,Z,L,A,w]),Bt=()=>{o(T=>T+1)},Fa=ne(T=>{if(o(0),!T){u(m),f(m.length);return}const p=m.filter(_=>[_.salesOrg,_.customer,_.description,_.contact,_.number].some(N=>N&&N.toLowerCase().includes(T.toLowerCase())));u(p),f(p.length)},[m]),ot=c.slice(0,(i+1)*t),Mt=(T,p)=>{const _=p?.[0]?.filtermap?.filtermapId;window.adobeDataLayer=window.adobeDataLayer||[],window.adobeDataLayer.push({event:T,eventInfo:{path:`component.filtermap-${_}`},component:{[`filtermap-${_}`]:p}})},jt={pageSize:t,showAllFiltermapLines:a,loading:E,error:I,data:ot,filteredDataCount:g,totalDataCount:C,active:d,hasMore:c.length>ot.length,setLoading:S,filter:Fa,loadMore:Bt,loadAllFilterMaps:ue,loadFilterMapById:ge,getFilterMapById:mt,createFilterMap:ze,updateFilterMap:Oe,updateActiveFilterMapDescription:pe,updateFiltermapDescription:Ne,addFiltermapToCart:Be,addFiltermapItemToCart:Qe,pauseFiltermapItem:Ft,unpauseFiltermapItem:it,enableFiltermapItem:wt,disableFiltermapItem:$,updateFiltermapItemQuantity:X,renameFiltermapObject:fe,activeLocal:W,updateLocalItem:Y,updateLocalDescription:ee,updateLocalFilterMap:L,syncLocalWithActive:q,editingItemId:G,startEditing:V,stopEditing:Z,toggleEditing:te,updateFiltermapItem:ye,addNewFiltermapItem:Ee,addFiltermapObjectToCart:De,addFullFiltermapToCart:Ze,saveTemporaryItem:Vt};return Yo.createElement(_c.Provider,{value:jt},e)};var vc,Lr,$r,Dr,bc,Ur;const yc=(e,t)=>e[t]?.id.startsWith("temp_")?t+1:t,Rm=()=>{const e=vc(bc);if(!e)throw new Error("useFilterMapContext must be used within a FilterMapProvider");return e},Om=({objects:e,pageSize:t,showAllItems:a=!1})=>{const[n,s]=Lr(0),[i,o]=Lr([]),c=$r(()=>e.filter(l=>l.isEnabled),[e]),u=$r(()=>{if(a)return!1;const l=c.filter(f=>!Ur(f)).length;return i.filter(f=>!Ur(f)).length<l},[i,c,a]),m=()=>{s(l=>l+1)};return Dr(()=>{m()},[]),Dr(()=>{if(a){o(c);return}if(n>0){const l=n*t,g=yc(c,l),f=c.slice(0,g);o(f)}},[n,c,t,a]),{items:i,hasMoreItems:u,loadMoreItems:m}};var Ec,Cc,Pc,Sc;function km(e){const{filteredDataCount:t}=Pc(),{translate:a}=Sc(),n=Ec(()=>e.term?a({id:"filtermap:results-found",defaultMessage:"We found {total} results for '{search}'"}).replace("{total}",String(t)).replace("{search}",e.term):"",[t,e.term]);return e.term?Cc.createElement("p",{className:"cmp-filter-map__search-result-info"},n):null}var Lm=null,Ic,Ct,Ac,Nc,Fc,wc;function $m(){const[e,t]=Ic(""),{filter:a}=Fc(),{translate:n}=wc(),s=i=>{t(i),a(i)};return Ct.createElement(Ct.Fragment,null,Ct.createElement("div",{className:"cmp-filter-map__search-form"},Ct.createElement(Ac,{type:"search",value:e,placeholder:n({id:"filtermap:search-placeholder",defaultMessage:"Search for Filtermap"}),onChange:i=>s(i.target.value)})),Ct.createElement(Nc,{term:e}))}var Dm=null,Mc,Tc,qr;const Um=({className:e,showText:t=!0})=>{const a=Mc();return qr.createElement("div",{className:e},qr.createElement(Tc,null,t?a.formatMessage({id:"common:loading",defaultMessage:"Loading"}):null))};var qm=null,xc,Rc,Oc,Te,kc,Lc,$c,Dc,Uc,qc;const Wm=({selectedFiltermap:e,onSelectFiltermap:t})=>{const{translate:a}=Uc(),{data:n,loading:s,loadAllFilterMaps:i}=Lc(),[{isSignedIn:o,isLoading:c}]=qc(),u=xc(!1);Rc(()=>(o&&!c&&!u.current&&(i(),u.current=!0),()=>{u.current=!1}),[o,c,i]);const m=Oc(l=>{t(l)},[t]);return c||s?Te.createElement("div",{className:"filtermap-selector-pane"},Te.createElement(Dc,null)):o?Te.createElement("div",{className:"filtermap-selector-pane"},Te.createElement("div",{className:"filtermap-selector-pane__header"},Te.createElement("h3",{className:"filtermap-selector-pane__title"},a({id:"filtermap:select-filtermap",defaultMessage:"Select Filtermap"}))),Te.createElement("div",{className:"filtermap-selector-pane__search"},Te.createElement($c,null)),Te.createElement("div",{className:"filtermap-selector-pane__list"},n&&n.length>0?n.map(l=>{const g=e?.id===l.id;return Te.createElement("div",{key:l.id,className:kc("filtermap-selector-pane__item",{"f
566iltermap-selector-pane__item--selected":g}),onClick:()=>m(l),role:"button",tabIndex:0,onKeyDown:f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),m(l))}},Te.createElement("div",{className:"filtermap-selector-pane__item-name"},l.description),Te.createElement("div",{className:"filtermap-selector-pane__item-id"},a({id:"filtermap:id-label",defaultMessage:"ID:"})," ",l.number||l.id))}):Te.createElement("div",{className:"filtermap-selector-pane__empty"},Te.createElement("p",null,a({id:"filtermap:no-filtermaps-found",defaultMessage:"No filtermaps found"}))))):Te.createElement("div",{className:"filtermap-selector-pane"},Te.createElement("div",{className:"filtermap-selector-pane__empty"},Te.createElement("p",null,a({id:"account:guestUser",defaultMessage:"You have to be logged in to see this page."}))))};var Vm=null,Pt,Wc,Wr,me,Vc,Vr,Br,Bc,jc,Gc;const Bm=({productSku:e,objectName:t,filtermap:a,onSave:n,onCancel:s})=>{const{translate:i}=Bc(),{success:o,error:c}=jc(),{addNewFiltermapItem:u}=Gc(),[m,l]=Pt(1),[g,f]=Pt(""),[C,v]=Pt(""),[d,b]=Pt(!1),[E,S]=Pt(null),I=/^\d{10}$/.test(e);Wc(()=>{S(I?null:i({id:"filtermap:invalid-sku-format",defaultMessage:"SKU must be 10 digits"}))},[e,I,i]);const y=Wr(async()=>{if(!I){c(i({id:"filtermap:invalid-sku",defaultMessage:"Invalid SKU format. Must be 10 digits."}));return}if(m<1){c(i({id:"filtermap:invalid-quantity",defaultMessage:"Quantity must be at least 1"}));return}b(!0);try{const F=await u?.(a.id,{material:e,object:t,place:C||"",installation:g||"",quantity:m});if(F?.success)o(i({id:"filtermap:product-added-success",defaultMessage:`Added to ${a.description} \u2192 ${t}`})),n(),l(1),f(""),v("");else throw new Error(F?.error||"Failed to add item")}catch(F){console.error("[InlineProductEditor] Error adding product to filtermap:",F),c(i({id:"filtermap:product-added-error",defaultMessage:"Failed to add product. Please try again."}))}finally{b(!1)}},[I,m,e,t,C,g,a,u,n,o,c,i]),M=Wr(()=>{s()},[s]);return me.createElement("div",{className:"inline-product-editor"},me.createElement("div",{className:"inline-product-editor__row"},me.createElement("div",{className:"inline-product-editor__field"},me.createElement("label",{className:"inline-product-editor__label"},i({id:"filtermap:custom-label-object",defaultMessage:"Object"})),me.createElement("div",{className:"inline-product-editor__readonly"},t)),me.createElement("div",{className:"inline-product-editor__field"},me.createElement("label",{className:"inline-product-editor__label"},i({id:"filtermap:custom-label-place",defaultMessage:"Place"})),me.createElement(Vr,{type:"text",value:C,onChange:F=>v(F.target.value),placeholder:i({id:"filtermap:custom-label-place-placeholder",defaultMessage:"Enter place"})})),me.createElement("div",{className:"inline-product-editor__field"},me.createElement("label",{className:"inline-product-editor__label"},i({id:"filtermap:custom-label-installation",defaultMessage:"Installation"})),me.createElement(Vr,{type:"text",value:g,onChange:F=>f(F.target.value),placeholder:i({id:"filtermap:placeholder-installation-placeholder",defaultMessage:"Enter installation"})})),me.createElement("div",{className:"inline-product-editor__field"},me.createElement("label",{className:"inline-product-editor__label"},i({id:"filtermap:sku",defaultMessage:"SKU"})),me.createElement("div",{className:"inline-product-editor__readonly"},e,E&&me.createElement("span",{className:"inline-product-editor__error"},E))),me.createElement("div",{className:"inline-product-editor__field"},me.createElement("label",{className:"inline-product-editor__label"},i({id:"filtermap:quantity",defaultMessage:"Quantity"}),"*"),me.createElement(Vc,{itemId:"new-product-quantity",initialValue:m,onChange:l})),me.createElement("div",{className:"inline-product-editor__actions"},me.createElement(Br,{text:i({id:"common:save",defaultMessage:"Save"}),onClick:y,style:"primary",disabled:d||!I||m<1}),me.createElement(Br,{text:i({id:"common:cancel",defaultMessage:"Cancel"}),onClick:M,style:"secondary",disabled:d}))))};var jm=null,zc,Qc,Ca,de,Kc,Hc,Jc,Yc,Xc;const Gm=({filtermap:e,productSku:t,loading:a})=>{const{translate:n}=Yc(),[s,i]=zc(null);Qc(()=>{i(null)},[e?.id]);const o=Ca(l=>{i(l)},[]),c=Ca(()=>{i(null)},[]),u=Ca(()=>{i(null)},[]);if(a)return de.createElement("div",{className:"object-selector-pane"},de.createElement(Kc,null));if(!e)return de.createElement("div",{className:"object-selector-pane"},de.createElement("div",{className:"object-selector-pane__empty"},de.createElement("p",null,n({id:"filtermap:select-filtermap-prompt",defaultMessage:"Select a filtermap to view its objects"}))));const m=Xc(e.objects);return!m||m.length===0?de.createElement("div",{className:"object-selector-pane"},de.createElement("div",{className:"object-selector-pane__empty"},de.createElement("p",null,n({id:"filtermap:no-objects-found",defaultMessage:"No objects found in this filtermap"})))):de.createElement("div",{className:"object-selector-pane"},de.createElement("div",{className:"object-selector-pane__header"},de.createElement("h3",{className:"object-selector-pane__title"},n({id:"filtermap:select-object",defaultMessage:"Select Object"})),de.createElement("p",{className:"object-selector-pane__subtitle"},e.description)),de.createElement("div",{className:"object-selector-pane__list"},m.map(l=>{const g=s===l.name,f=l.items?.length||0;return de.createElement("div",{key:l.name,className:"object-selector-pane__item"},de.createElement("div",{className:"object-selector-pane__item-header"},de.createElement("div",{className:"object-selector-pane__item-info"},de.createElement("div",{className:"object-selector-pane__item-name"},l.name),de.createElement("div",{className:"object-selector-pane__item-meta"},n({id:"filtermap:item-count",defaultMessage:"[count] items"}).replace("[count]",String(f)))),!g&&de.createElement(Hc,{text:n({id:"filtermap:add-product-button",defaultMessage:"Add Product"}),onClick:()=>o(l.name),style:"primary",size:"small"})),g&&de.createElement("div",{className:"object-selector-pane__editor"},de.createElement(Jc,{productSku:t,objectName:l.name,filtermap:e,onSave:c,onCancel:u})))})))};var zm=null,Zc,el;function Qm(e){return Zc.createElement(el,{pageSize:e.pageSize,showAllFiltermapLines:e.showAllFiltermapLines},e.children)}var Km=null,jr,tl,Gr,Ge,al,rl,nl,sl,il,ol;const cl=({isOpen:e,productSku:t,onClose:a})=>{const{translate:n}=il(),[s,i]=jr(null),[o,c]=jr(!1),{getFilterMapById:u}=sl();tl(()=>{e||(i(null),c(!1))},[e]);const m=Gr(async g=>{c(!0);try{const f=await u(g.id);f?i(f):(console.warn("[AddToFiltermapModal] Failed to load filtermap details"),i(g))}catch(f){console.error("[AddToFiltermapModal] Error loading filtermap:",f),i(g)}finally{c(!1)}},[u]),l=Gr(()=>{a()},[a]);return Ge.createElement(al,{isOpen:e,closePopUp:l,title:n({id:"filtermap:add-to-filtermap-title",defaultMessage:"Add to Filtermap"}),isLoading:!1,isFullScreen:!1},Ge.createElement("div",{className:"add-to-filtermap-modal"},Ge.createElement("div",{className:"add-to-filtermap-modal__content"},Ge.createElement("div",{className:"add-to-filtermap-modal__pane add-to-filtermap-modal__pane--left"},Ge.createElement(rl,{selectedFiltermap:s,onSelectFiltermap:m})),Ge.createElement("div",{className:"add-to-filtermap-modal__pane add-to-filtermap-modal__pane--right"},Ge.createElement(nl,{filtermap:s,productSku:t,loading:o})))))},Hm=({isOpen:e,productSku:t,onClose:a})=>!t||!e?null:Ge.createElement(ol,{pageSize:10},Ge.createElement(cl,{isOpen:e,productSku:t,onClose:a}));var Jm=null,Pa,Sa;const Ym=()=>{const[e,t]=Pa(!1),[a,n]=Pa(null),[s,i]=Pa(null),o=Sa(()=>{t(!0)},[]),c=Sa(()=>{t(!1),n(null),i(null)},[]),u=Sa(()=>{n(null),i(null)},[]);return{isOpen:e,selectedFiltermap:a,selectedObjectName:s,openModal:o,closeModal:c,setSelectedFiltermap:n,setSelectedObjectName:i,clearSelection:u}};var Xm=null,zr,ll,Qr,Ia,ul;const Zm=({products:e,isSignedIn:t,pricingApiUrl:a})=>{const[n,s]=zr(new Map),[i,o]=zr(new Set),{fetchPricing:c,loading:u,pricingData:m,error:l}=ul(a||""),g=ll(new Set),f=Qr(v=>{const d=v?.salesPriceResult;if(!d)return null;const b=d.transactionCurrency||"EUR",E=d.netPriceAmount??0,S=d.netAmount??0;return{regular_price:{currency:b,value:E},final_price:{currency:b,value:S},discounts:{currency:b,value:E&&S?Math.max(0,E-S):0},fromMS:!0}},[]);Ia(()=>
566{if(!t||!e.length||!a)return;const v=e.map(d=>d.product_sku||d.sku).filter(d=>!!d&&!g.current.has(d));v.length!==0&&(v.forEach(d=>g.current.add(d)),c(v))},[e,t,a,c]),Ia(()=>{!m||m.length===0||(s(v=>{const d=new Map(v);return m.forEach(b=>{const E=b?.salesPriceResult;if(!E)return;const S=E.product;if(E.pricingHasError)return;const I=f(b);I&&d.set(S,I)}),d}),o(v=>{const d=new Set(v);return m.forEach(b=>{const E=b?.salesPriceResult;if(!E)return;const S=E.product;E.pricingHasError&&(console.warn(`[PLP Pricing] Pricing error for SKU: ${S}`),d.add(S))}),d}))},[m,f]),Ia(()=>{l&&console.error("[PLP Pricing] Error fetching pricing:",l)},[l]);const C=Qr(()=>{s(new Map),o(new Set),g.current=new Set},[]);return{msPricing:n,isPricingLoading:u,pricingErrors:i,clearCache:C}};var ed=P(20880),We,St,It,At,J,ml,Kr,dl,pl,gl,fl,Hr,hl,_l,vl,bl,ut,yl,Wt,El,Cl,Pl,Sl,Il,Al,Nl,Fl,wl,td=null,ad=null;const Jr=/\$\{(\w+)\.(label|value)(?::([^}]+))?\}/g,Ml=(e,t)=>{if(!e)return"";const a=new Set;return t&&a.add("is_request_product"),["subHeading","heading","preHeading"].forEach(n=>{a.add(e[n])}),["bulletPointsGrid","bulletPointsList"].forEach(n=>{const s=e[n];if(typeof s=="string"){let i;for(;(i=Jr.exec(s))!==null;)a.add(i[1])}}),Array.from(a).join(" ")},Yr=(e,t,a)=>!e||e.trim()===""?"":e.replace(Jr,(n,s,i,o)=>{const c=t[s];return i==="label"?a.find(u=>u.attribute_code===s)?.frontend_label||s:i==="value"&&(c?.toString()||o)||""}),Tl=null,xl=e=>{if(!e)return{};const t={};return Object.entries(e).forEach(([a,n])=>{if(!n.value&&n.value!==0)return;const s=Tl[a]??a;t[s]=n.value}),t},Nt="cmp-configurable-product-search-result",rd=()=>{const{config:e,specTitle:t}=yl(),a=El(),n=Kr(),{translate:s}=gl(),[{isSignedIn:i}]=pl(),o=n?.pagePaths?.requestProductContactForm,c=!!n?.commerce?.enableRequestProduct&&o&&i,[u,m]=We([]),l=n?.commerce?.searchResultsDefaultView,g=n?.commerce?.enableProductVariants,f=n?.commerce?.enableFamilySku,C=l==="Grid",[v,d]=We(C??!1),[b,E]=We([]),[S,I]=We(0),[y,M]=We(null),[F,k]=We(0),[A,h]=We(!1),w=St(()=>s({id:"global.weFoundResults",defaultMessage:"We found {count} results"}).replace("{count}",String(F)),[s,F]),[W,B]=We(!1),[G,j]=We(null),[{cartId:D}]=Pl(),{isOpen:U,openModal:Y,closeModal:ee}=Al(),[L,q]=We(null),{addProductToComparison:V,removeProductFromComparison:Z,isProductInComparison:te,generateProductComparisonPageUrl:ye,hasProductsToCompare:Ee,selectedProducts:pe,maxProductsAllowed:Ne,canAddMoreProducts:ue,isEnabled:ge}=Fl(),mt=It(p=>{q(p),Y()},[Y]),ze=It((p,_)=>{te(p)?Z(p):ue&&V(p,_)},[te,Z,V,ue]),Oe=parseInt(n.commerce.configurationSearchPageSize,10),Q=St(()=>e.productCard||{},[e.productCard]),ke=St(()=>({showAddToCartAction:e.showAddToCartActionWhenLoggedIn?i&&e.showAddToCartActionWhenLoggedIn:!1,showFiltermapAction:e.showFiltermapActionWhenLoggedIn?i&&e.showFiltermapActionWhenLoggedIn:!1,showRequisitionListAction:e.showRequisitionListActionWhenLoggedIn?i&&e.showRequisitionListActionWhenLoggedIn:!1,showComparisonAction:ge}),[e.showAddToCartActionWhenLoggedIn,e.showFiltermapActionWhenLoggedIn,e.showRequisitionListActionWhenLoggedIn,i,ge]),Ve=St(()=>({preHeading:Q.preHeading,heading:Q.heading,subHeading:Q.subHeading,keyfacts:Q.keyfacts,bulletPointsList:Q.bulletPointsList,skuLabel:Q.skuLabel}),[Q]),{buildQueryAndFetchProducts:Be,loading:Qe}=vl(),Ft=n?.commerce?.pricingApiUrl,{msPricing:it,isPricingLoading:wt}=Nl({products:b,isSignedIn:i,pricingApiUrl:Ft}),$=(p,_)=>{const N=Q[_];return p[N]},{productDetailUrlPattern:X}=Kr(),fe=p=>X.replace(/\[URL_KEY]/g,p),De=(p,_=!1)=>{let N="";return _?N=Yr(Q.bulletPointsList,p,a):N=Yr(Q.bulletPointsGrid,p,a),N},Ze=It(()=>{window.requestAnimationFrame(()=>{window.scrollTo({top:0,behavior:"smooth"})})},[]),Vt=It(p=>{I(p),Ze()},[Ze]),Bt=fl({mapSkus:({sku:p,family_sku:_})=>f&&_||p,mapAssets:(p,_)=>({...p,imgSrc:_.thumbnail.link})}),Fa=p=>p?Object.keys(p).reduce((_,N)=>wl(N)?_:_?`${_} ${N}`:N,""):"",ot=It(async(p=!0)=>{m([]);const _=Ml(Q,c),N=Fa(y),O=e.specs?.map(he=>he.attributeName).join(" ")||"",K=[_,O].filter(Boolean).join(" "),H=await Be(y||{},{pageSize:Oe,currentPage:Math.floor(S/Oe)+1},N,K,p,G||void 0);k(H?.totalCount??0),m(H?.items??[]),h(!0);const z=new CustomEvent(ut.ConfigurableSearchResultData,{detail:{searchResults:H,waitForFacetsCall:W}});document.dispatchEvent(z)},[Q,Be,Oe,S,y,W,G,c,e.specs]);At(()=>{async function p(){const _=await Bt(u);E(_)}u?.length>0?p():E([])},[u,Bt]),At(()=>{const p=async N=>{M(N.detail.filters),B(N.detail.waitForFacetsCall),I(0),j(N.detail.uiSchema)},_=()=>B(!1);return document.addEventListener(ut.QuerySearchData,p),document.addEventListener(ut.ResetSearchResultsFacet,_),document.dispatchEvent(new CustomEvent(ut.SearchResultsReady)),()=>{document.removeEventListener(ut.QuerySearchData,p),document.removeEventListener(ut.ResetSearchResultsFacet,_)}},[]),At(()=>{y&&ot()},[y,W,S,ot]),At(()=>{i&&ot(!1)},[i,ot]),At(()=>{if(!y||Qe||W||!A)return;h(!1);const p=window.adobeDataLayer||[];Array.isArray(p)&&p.push({event:"search",eventInfo:{path:"component.search"},component:{search:{filters:xl(y),resultsCount:F??0}}})},[A,y,F,Qe,W]);const Mt=p=>{const _=p?.items?.map(N=>N.price_range?.minimum_price?.final_price?.value).filter(N=>N!=null);return _?.length>0?Math.min(..._):0},jt=(g&&b[0]?.items?.[0]?.price_range?.minimum_price.final_price.currency)??"",T=St(()=>F<=Oe?null:J.createElement("div",{className:"aem-GridColumn aem-GridColumn--default--12 aem-GridColumn--sm--12"},J.createElement(bl,{currentOffset:S,limit:Oe,totalResults:F,labels:{buttonPreviousPage:s({id:"c
566onfigurableSearch:buttonPreviousPage",defaultMessage:"Previous"}),buttonNextPage:s({id:"configurableSearch:buttonNextPage",defaultMessage:"Next"}),selectPagination:s({id:"configurableSearch:selectPagination",defaultMessage:"Page [PAGE_CURRENT] of [PAGES_TOTAL]"})},onPageChanged:Vt})),[F,Oe,s,S,Vt]);return y?Qe||W?J.createElement(J.Fragment,null,J.createElement(dl,null,s({id:"productFinder.loading",defaultMessage:"Loading Parts"})),J.createElement("div",{className:Nt,"data-is-ready":"true"})):F===0&&!Qe&&!W?J.createElement("div",{className:"cmp-container"},J.createElement("div",{className:Nt,"data-is-ready":"true"},J.createElement(Sl,{className:"cmp-configurable-product-search-result__no-results"}))):f?J.createElement("div",{className:"cmp-container"},J.createElement("div",{className:"cmp-configurable-product-search-result__header"},J.createElement("div",{className:"cmp-configurable-product-search-result__header-main"},J.createElement("h2",{className:"cmp-results-number-af"},w))),ge&&Ee&&J.createElement("div",{className:"cmp-configurable-product-search-result__comparison-banner"},J.createElement("div",{className:"cmp-configurable-product-search-result__comparison-info"},J.createElement("div",{className:"cmp-configurable-product-search-result__comparison-info-text"},J.createElement("span",{className:"cmp-configurable-product-search-result__comparison-count"},s({id:"configurableSearch:maxProductsAllowedForComparison",defaultMessage:"Maximum of {max} products allowed for comparison"}).replace("{max}",String(Ne))),J.createElement(Wt,{style:"primary",text:s({id:"configurableSearch:goToProductComparison",defaultMessage:"Go to product comparison"}),onClick:()=>{const p=ye();p&&window.open(p,"_blank")}})),J.createElement("div",{className:"cmp-configurable-product-search-result__comparison-info-summary"},pe.map(p=>J.createElement("div",{key:p.sku,className:"cmp-configurable-product-search-result__comparison-info-summary-item"},J.createElement("div",{className:"cmp-configurable-product-search-result__comparison-info-summary-item-content"},J.createElement("span",{className:"cmp-configurable-product-search-result__comparison-info-summary-item-text"},p.sku," - ",p.name),J.createElement(Wt,{iconOnly:!0,inlineLinkAsButton:!0,iconType:"trash",iconPosition:"before",text:s({id:"configurableSearch:removeFromComparison",defaultMessage:"Remove"}),onClick:()=>{Z(p.sku)}}))))))),b.length>0&&b.map(p=>{const _=p.product_sku||p.sku,N={...p,msPriceRange:it.get(_),isPricingLoading:wt&&!it.has(_)};return J.createElement(Cl,{key:p.sku,product:N,cartId:D,onClick:()=>{const O=fe(p.url_key),K=e.openPdpInNewTab?"_blank":"_self",H=window.open(O,K);H&&e.openPdpInNewTab&&H.focus()},actionsConfig:ke,displayConfig:Ve,attributes:a,onAddToFiltermap:mt,onToggleComparison:ze,isInComparison:te,canAddMoreProducts:ue,specs:e.specs,specTitle:t})}),T,ke.showFiltermapAction&&J.createElement(Il,{isOpen:U,productSku:L,onClose:ee})):J.createElement("div",{className:"cmp-container"},J.createElement("div",{className:Nt,"data-is-ready":"true"},J.createElement("div",{className:"cmp-configurable-product-search-result__header"},J.createElement("div",{className:"cmp-configurable-product-search-result__header-main"},J.createElement("h2",{className:"cmp-results-number"},w)),J.createElement("div",{className:"cmp-configurable-product-search-result__header-actions"},g&&J.createElement(_l,{leftIconType:"list",rightIconType:"tile",isToggled:v,onClick:()=>d(!v)}))),J.createElement("div",{className:ml("cmp-configurable-product-search-result__container",{"cmp-configurable-product-search-result__container--list-view":!v})},g?b.length>0&&b.map(p=>{const _=v?J.createElement(Hr,{key:p.sku,isGroupedProduct:!0,preHeading:$(p,"preHeading"),heading:$(p,"heading"),subHeadingValue:$(p,"subHeading"),propertiesHTML:De(p),propertiesTitle:Q.keyfacts,groupedProductDisplayPrice:Mt(p),groupedProductPriceCurrency:jt,groupedProductPriceLabel:s({id:"common:price-starting-from",defaultMessage:"Starting from"}),stockStatus:p.stock_status,sku:p.sku,productFamily:"product family",imgSrc:p.imgSrc,urlKey:p.url_key,openPdpInNewTab:e.openPdpInNewTab}):J.createElement(hl,{key:p.sku,isGroupedProduct:!0,preHeading:$
566(p,"preHeading"),heading:$(p,"heading"),subHeadingValue:$(p,"subHeading"),propertiesHTML:De(p,!0),propertiesTitle:Q.keyfacts,groupedProductPriceCurrency:jt,groupedProductDisplayPrice:Mt(p),groupedProductPriceLabel:s({id:"common:price-starting-from",defaultMessage:"Starting from"}),stockStatus:p.stock_status,sku:p.sku,productFamily:"product family",imgSrc:p.imgSrc,urlKey:p.url_key,queryValues:y,openPdpInNewTab:e.openPdpInNewTab});return ke.showComparisonAction?J.createElement("div",{key:p.sku,className:"cmp-configurable-product-search-result__product-wrapper"},_,J.createElement("div",{className:"cmp-configurable-product-search-result__product-actions"},J.createElement(Wt,{style:"secondary",text:te(p.sku)?s({id:"configurableSearch:removeFromComparison",defaultMessage:"Remove"}):s({id:"configurableSearch:addToComparison",defaultMessage:"Compare"}),disabled:!te(p.sku)&&!ue,onClick:()=>ze(p.sku,p.name)}))):_}):b.length>0&&b.map(p=>{const _=J.createElement(Hr,{key:p.sku,isGroupedProduct:!1,isRequestProduct:p.is_request_product===1,preHeading:$(p,"preHeading"),heading:$(p,"heading"),subHeadingValue:$(p,"subHeading"),propertiesHTML:De(p),propertiesTitle:Q.keyfacts,productPriceRange:p.priceRange,stockStatus:p.stock_status,sku:p.sku,productFamily:p.productFamily,imgSrc:p.imgSrc,urlKey:p.url_key,openPdpInNewTab:e.openPdpInNewTab});return ke.showComparisonAction?J.createElement("div",{key:p.sku,className:"cmp-configurable-product-search-result__product-wrapper"},_,J.createElement("div",{className:"cmp-configurable-product-search-result__product-actions"},J.createElement(Wt,{style:"secondary",text:te(p.sku)?s({id:"configurableSearch:removeFromComparison",defaultMessage:"Remove"}):s({id:"configurableSearch:addToComparison",defaultMessage:"Compare"}),disabled:!te(p.sku)&&!ue,onClick:()=>ze(p.sku,p.name)}))):_})),T)):J.createElement("div",{className:Nt,"data-is-ready":"true"})};var nd=null;function Rl(e,t,a){const n=t.properties[e];return n&&(a[e]?.["ui:title"]||n.title)||""}function Ol(e,t,a){const n=a.properties[e];if(Array.isArray(n?.oneOf)){const s=n.oneOf.find(i=>i.const===t);if(s&&s.title)return s.title}return t}function kl(e,t,a){const[n,s]=t,i=a[e]?.["ui:options"]?.unit||"",o=i?` ${i}`:"";return`${n}${o} - ${s}${o}`}function Ll(e,t,a,n){return n[e]?.["ui:widget"]==="RangeSliderWidget"?[{key:e,title:a,value:kl(e,t,n)}]:t.map(i=>({key:e,title:a,value:String(i)}))}const $l=["searchGroup"];function Dl(e,t,a){const n=[],s=Object.keys(t.properties),i=s.includes("searchGroup");for(const o of s){const c=e[o],u=o==="searchBy"&&!i;if(o.startsWith("_")||!c||Array.isArray(c)&&c.length===0||$l.includes(o)||u)continue;const m=Rl(o,t,a);if(m)try{o==="searchGroup"||o==="searchBy"?n.push({key:o,title:m,value:Ol(o,c,t)}):Array.isArray(c)?n.push(...Ll(o,c,m,a)):(typeof c=="string"||typeof c=="number")&&n.push({key:o,title:m,value:String(c)})}catch(l){console.error(`Error creating filterTags for key: ${o}`,l)}}return n}var Xr=Dl;function Ul({tags:e,text:t}){return r.createElement("div",{className:"cmp-filter-tags"},!!t&&r.createElement("div",{className:"cmp-filter-tags__text"},t),e.map(a=>r.createElement("div",{key:`${a.key}-${a.title}-${a.value}`,className:"cmp-filter-tags__tag"},r.createElement("div",{className:"cmp-filter-tags__tag-title cmp-text cmp-text--small cmp-text--no-margin"},a.title),r.createElement("div",{className:"cmp-text cmp-text--small-strong cmp-text--no-margin"},a.value))))}var Zr=Ul;const Aa=Bn(),ql={widgets:{SelectWidget:En,TextWidget:Pn,RadioWidget:Fn,SearchByWidget:wn,RangeSliderWidget:Tn,ValueSliderWidget:Rn,SearchGroupWidget:On,AutosuggestionWidget:Us,MultiSelectWidget:Cn,NumberRangeWidget:Ln},templates:{ObjectFieldTemplate:$n,ButtonTemplates:{SubmitButton:()=>null}}},Na=(0,_n.SL)(ql),Wl=e=>{const{formSchema:t,uiSchema:a,facetUiSchema:n,labels:s,disableSearchForLoggedOutUsers:i,id:o,preset:c,enableAutoSearch:u}=e,[m,l]=(0,r.useState)(!1),[g,f]=(0,r.useState)(null),[C,v]=(0,r.useState)({}),[d,b]=(0,r.useState)({}),[E,S]=(0,r.useState)(!1),[I,y]=(0,r.useState)([]),[M,F]=(0,r.useState)([]),[k,A]=(0,r.useState)(!1),h=(0,r.useRef)(null),[w,W]=(0,r.useState)(!1),[B,G]=(0,r.useState)(!1),j=(0,r.useRef)(null),{isFormHidden:D,showSummary:U,showFacetsInAccordion:Y,showFacetSection:ee,showSpacer:L}=(0,r.useMemo)(()=>({isFormHidden:m&&!u,showSummary:!u,showFacetsInAccordion:!u,showFacetSection:m||u,showSpacer:u}),[u,m]),[q,V]=(0,r.useState)({formVisible:u,searchByVisible:!1,fieldsVisible:!1}),[{isSignedIn:Z}]=(0,Yt.A)(),{checkCustomerPermissions:te}=$a(),{translate:ye}=Ye(),Ee=(0,r.useMemo)(()=>n&&Object.keys(n).some($=>!["title","ui:classNames","ui:submitButtonOptions"].includes($)),[n]),pe=(0,r.useMemo)(()=>Object.keys(g?.properties||{}).length>0,[g]),Ne=(0,r.useMemo)(()=>{const $=t.required||[];return $.length===0?!0:$.every(X=>{const fe=C[X];return fe!=null&&String(fe).trim()!==""})},[C,t.required]),ue=async($,X=!1)=>
566{if(i&&!Z||Z&&!te())return;l(!0),S(!u),y(Xr($,t,a));const fe=Y?$:{...$,...d};Ve(fe,X),B||G(!0),X||Me.syncUrl()},ge=($,X)=>{F(Xr($,X||g,n)),A(!0),Ve({...C,...$}),X?h.current?.dispatchEvent(new CustomEvent("click")):(Me.syncUrl(),!Y&&h.current?.click())},[mt,ze]=(0,r.useState)(0),Oe=($=!1)=>{Me.updateFormState(o,null),l(!1),y([]),Q($,!0),ze(0),!$&&Me.syncUrl(!0),u&&ue({})},Q=($=!1,X=!1)=>{Me.updateFormState(`facets-${o}`,null),A(!1),F([]),X||Ve({...C}),!$&&Me.syncUrl(!1,!0)},ke=()=>{l(!1),S(!1),y([])},Ve=($,X=!1)=>{const fe=Qn(a,n,t,$,g,c),De=new CustomEvent(Se.z.QuerySearchData,{detail:{filters:fe,waitForFacetsCall:X,uiSchema:a}});document.dispatchEvent(De)},Be=($,X,fe)=>{v({...$}),b({...X}),fe&&V(fe)},Qe=$=>{const{searchResults:X,waitForFacetsCall:fe}=$.detail;if(X?.aggregations){const De=qn(X?.aggregations,n);if(f(De),fe){const{facets:Ze}=ft.extractParams(o,null,De);Object.keys(Ze).length>0?(Me.updateFormState(`facets-${o}`,Ze,!0),ge(Ze,De)):(document.dispatchEvent(new CustomEvent(Se.z.ResetSearchResultsFacet)),Q(!0,!0))}}else document.dispatchEvent(new CustomEvent(Se.z.ResetSearchResultsFacet))},Ft=(0,r.useMemo)(()=>({...a,...Object.keys(a).reduce(($,X)=>($[X]=a[X],typeof a[X]=="object"&&"ui:classNames"in a[X]&&(X==="searchBy"?$[X]={...$[X],"ui:classNames":`${$[X]["ui:classNames"]||""} ${q.searchByVisible?"":"hidden"}`}:X!=="searchGroup"&&($[X]={...$[X],"ui:classNames":`${$[X]["ui:classNames"]||""} ${q.fieldsVisible?"":"hidden"}`})),$),{})}),[a,q]);(0,r.useEffect)(()=>{const $=()=>W(!0);return document.addEventListener(Se.z.SearchResultsReady,$),document.querySelector(`.${Nt}`)?.getAttribute("data-is-ready")==="true"&&$(),()=>{document.removeEventListener(Se.z.SearchResultsReady,$)}},[]),(0,r.useEffect)(()=>{if(!w)return;document.addEventListener(Se.z.ConfigurableSearchResultData,Qe);const $=La(a,t,"searchGroup"),X=La(a,t,"searchBy");Me.initialize(o,$,X),Me.subscribe(o,Be);const{filters:fe}=ft.extractParams(o,t,null);return Object.keys(fe).length>0?(Me.updateFormState(o,fe,!0),ue(fe,!0)):u&&!B&&ue({}),()=>{document.removeEventListener(Se.z.ConfigurableSearchResultData,Qe),Me.unsubscribe(o)}},[w]),(0,r.useEffect)(()=>{const $=()=>{const{filters:X}=ft.extractParams(o,t,null);Object.keys(X).length>0?(Me.updateFormState(o,X,!0),ue(X,!0)):Oe(!0)};return window.addEventListener("popstate",$),()=>{window.removeEventListener("popstate",$)}},[]);const it=!Z&&i,wt=Z&&!te();if(it||wt){const $=it?s.loggedOutMessage:ye({id:"common:wrongStoreMessage",defaultMessage:"You are not in the right store."});return r.createElement("div",{className:"cmp-configurable-product-search__container"},r.createElement("h3",{className:"cmp-configurable-product-search__heading"},$))}return r.createElement(r.Fragment,null,r.createElement("div",{className:Re()("cmp-configurable-product-search__container",{hidden:!q.formVisible})},r.createElement("h3",{className:"cmp-configurable-product-search__heading"},C?.searchBy===""?s.placeholderTitle:t.title&&Object.keys(C).length>0?t.title:s.title),r.createElement("div",{className:"cmp-container"},r.createElement(Na,{ref:j,className:Re()("cmp-configurable-product-search__form",{hidden:D}),schema:t,uiSchema:Ft,validator:Aa,formData:C,formContext:{formRef:j},experimental_defaultFormStateBehavior:{constAsDefaults:"never"},onSubmit:$=>ue($.formData),onChange:$=>{C.searchGroup&&!$.formData?.searchGroup?Me.updateFormState(o,null):Me.updateFormState(o,$.formData)}},r.createElement("div",{className:"cmp-configurable-product-search__buttons"},r.createElement(we.A,{className:"cmp-configurable-product-search__submit-button",type:"submit",text:s.submitButton||"Submit",style:"primary",iconType:"search",iconPosition:"after",disabled:!Ne}),r.createElement(we.A,{type:"reset",text:s.resetButton,style:"secondary",className:"cmp-configurable-product-search__reset-button",onClick:()=>Oe()}))),U&&r.createElement("div",{className:"cmp-configurable-product-search__info"},!!I.length&&r.createElement(Zr,{text:`${s.filterTagsText||"Search selection"}:`,tags:I}),E&&r.createElement(we.A,{text:s.editButton,style:"primary",className:"cmp-configurable-product-search__edit-button",onClick:ke}))),L&&r.createElement("div",{style:{height:"2rem"}}),Ee&&pe&&g&&ee&&r.createElement("div",{className:Re()("cmp-container cmp-configurable-product-search__facet-form",{"cmp-configurable-product-search__facet-form--selected":k&&!!M})},Y?r.createElement(bn.A,null,r.createElement(yn.A,{title:r.createElement(r.Fragment,null,r.createElement("div",{ref:h,style:{display:"none"}}),n.title||s.facetSearchTitle,k&&!!M&&":",!!M.length&&r.createElement("div",{style:{marginTop:10}},r.createElement(Zr,{tags:M})))},r.createElement(Na,{className:"cmp-configurable-product-search__form",schema:g,formData:d,uiSchema:n,validator:Aa,experimental_defaultFormStateBehavior:{constAsDefaults:"never"},onSubmit:$=>ge($.formData,null),onChange:$=>Me.updateFormState(`facets-${o}`,$.formData)},r.createElement("div",{className:"cmp-configurable-product-search__buttons"},r.createElement(we.A,{className:"cmp-configurable-product-search__submit-button",type:"submit",text:s.submitButton||"Submit",style:"primary",iconType:"search",iconPosition:"after"}),r.createElement(we.A,{type:"reset",text:s.resetButton,style:"secondary",className:"cmp-configurable-product-search__reset-button",onClick:()=>Q()}))))):r.createElement(Na,{className:"cmp-configurable-product-search__form",schema:g,formData:d,uiSchema:n,validator:Aa,experimental_defaultFormStateBehavior:{constAsDefaults:"never"},onSubmit:$=>ge($.formData,null),onChange:($,X)=>{Me.updateFormState(`facets-${o}`,$.formData),u&&X&&ge($.formData,null)}}))))},Vl=e=>r.createElement(hn,null,r.createElement(Wl,{...e}))}),51876:(function(je,_e,P){var r=P(96540),oe=P(46942),ve=P.n(oe),Ce=P(90651),re=P(41515);const x=R=>{const Pe=ve()("cmp-form-options cmp-form-options--drop-down",{"cmp-form-options--validation-visible":R.requiredMessage,"cmp-form-options--spacing":R.spacing}),Fe=!R.dontPassRequireToNative,ce=r.useCallback(xe=>{R.onChange&&R.onChange(xe),R.trackingEventName&&R.componentId&&(0,Ce.A)(re.s.TrackableEvent,{detail:{name:R.trackingEventName,componentId:R.componentId,eventInfo:{name:R.name,label:xe.target.options[xe.target.selectedIndex].text,value:xe.target.value}}})},[R]);return r.createElement("fieldset",{className:Pe,disabled:R.disabled},R.label&&r.createElement("label",{htmlFor:`select-${R.id}`,className:"cmp-form-options__label"},R.label,R.required?"*":""),r.createElement("div",{className:"cmp-form-options__field"},r.createElement("select",{ref:R.selectElRef,id:`select-${R.id}`,name:R.name,defaultValue:R.defaultValue,value:R.value,className:"cmp-form-options__field--drop-down",required:R.required&&Fe,onChange:ce},R.children),r.createElement("span",{className:"cmp-icon cmp-icon--chevron-down cmp-form-options__field--icon"})),R.required&&r.createElement("div",{className:"cmp-form-options__validate-block cmp-form__validate-block"},r.createElement("p",{className:"cmp-form-options__required-message cmp-form-field__error-message"},R.requiredMessage)))};_e.A=x}),95622:(function(je,_e,P){var r=P(96540),oe=P(46942),ve=P.n(oe);const Ce=({currentLength:x,maxLength:R,charactersCounterLabel:Pe})=>{const Fe=R?`${x}/${R}`:`${x}`,ce=Pe?`${Fe} ${Pe}`:Fe;return r.createElement("span",{className:"cmp-form-text__char-counter"},ce)};function re(x){const R=ve()("cmp-form-text",{[`${x.className}
566`]:x.className,"cmp-form-text--validation-visible":x.requiredMessage,"cmp-form-text--spacing":x.spacing}),Pe=x.value?x.value.toString().length:0;return r.createElement("fieldset",{className:R,disabled:x.disabled},x.id&&x.label&&r.createElement("label",{htmlFor:x.id},x.label,x.required?"*":"",x.labelAddon),r.createElement("input",{ref:x.inputElRef,className:"cmp-form-text__text",autoCorrect:x.autoCorrect,id:x.id,name:x.name,type:x.type,value:x.value,placeholder:x.placeholder,readOnly:x.readonly,maxLength:x.maxLength,onChange:x.onChange,onKeyDown:x.onKeyDown,onBlur:x.onBlur,onPaste:x.onPaste,autoComplete:x.autoComplete,min:x.min,max:x.max}),x.iconType&&r.createElement("button",{className:"cmp-form-text__icon cmp-button__icon cmp-button cmp-button--as-icon","aria-hidden":"true",onClick:x.onIconClick},r.createElement("i",{className:`cmp-button__icon cmp-icon cmp-icon--${x.iconType}`,"aria-hidden":"true"})),x.requiredMessage&&r.createElement("div",{className:"cmp-form-text__validate-block"},r.createElement("p",{className:"cmp-form-text__required-message"},x.requiredMessage)),x.showCharactersCounter&&r.createElement(Ce,{currentLength:Pe,maxLength:x.maxLength,charactersCounterLabel:x.charactersCounterLabel}))}_e.A=re}),16849:(function(je,_e,P){var r=P(96540),oe=P(46942),ve=P.n(oe);const Ce=re=>{const x=ve()({[`${re.additionalCssName}`]:re.additionalCssName},"cmp-icon",{[`${re.className}`]:re.className},{[`cmp-icon--${re.type}`]:re.type,"cmp-icon--inline":re.inline,"cmp-icon--inherit-font-size":re.inheritFontSize});return r.createElement("i",{className:x,onClick:re.onClick})};_e.A=Ce}),96951:(function(je,_e,P){var r=P(96540),oe=P(51876),ve=P(83183),Ce=P(90651),re=P(41515);function x(R){const{labels:Pe,onPageChanged:Fe}=R,ce=r.useMemo(()=>R.currentOffset===0?1:Math.ceil(R.currentOffset/R.limit)+1,[R.currentOffset,R.limit]),xe=(0,r.useCallback)((Ie,Ae)=>{R.trackingEvent&&(0,Ce.A)(re.s.TrackableEvent,{detail:{name:R.trackingEvent,eventInfo:{previousPage:Ie,currentPage:Ae}}})},[R.trackingEvent]),tt=r.useMemo(()=>Math.ceil(R.totalResults/R.limit),[R.totalResults,R.limit]),Le=r.useMemo(()=>ce>1,[ce]),ae=r.useMemo(()=>ce*R.limit<R.totalResults,[ce,R.limit,R.totalResults]),at=r.useCallback(Ie=>{const Ae=parseInt(Ie.target.value,10);xe(ce,Ae);const pt=(Ae-1)*R.limit;Fe(pt)},[ce,xe,Fe,R.limit]),rt=r.useCallback(()=>{xe(ce,ce-1);const Ie=R.currentOffset-R.limit;Fe(Ie)},[ce,xe,Fe,R.currentOffset,R.limit]),dt=r.useCallback(()=>{xe(ce,ce+1);const Ie=R.currentOffset+R.limit;Fe(Ie)},[ce,xe,Fe,R.currentOffset,R.limit]);return r.createElement("div",{className:"cmp-pagination"},r.createElement(ve.A,{inlineLinkAsButton:!0,text:Pe.buttonPreviousPage,type:"button",disabled:!Le,onClick:rt}),r.createElement("form",{onSubmit:Ie=>Ie.preventDefault()},r.createElement(oe.A,{value:ce,onChange:at},[...Array(tt)].map((Ie,Ae)=>r.createElement("option",{key:Ae+1,value:(Ae+1).toString()},Pe.selectPagination.replace(/\[PAGE_CURRENT]/g,(Ae+1).toString()).replace(/\[PAGES_TOTAL]/g,tt.toString()))))),r.createElement(ve.A,{inlineLinkAsButton:!0,text:Pe.buttonNextPage,type:"button",disabled:!ae,onClick:dt}))}_e.A=x}),76676:(function(je,_e,P){P.d(_e,{Ay:function(){return tt}});var r=P(96540),oe=P(33555),ve=P(83183),Ce=P(59536),re=P(40961),x=null;function R({popUpElement:Le}){const ae=document.getElementById("react-pop-up-portal");return ae?(0,re.createPortal)(Le,ae):null}var Pe=R,Fe=null,ce=null,tt=Le=>{const{children:ae,closePopUp:at,isOpen:rt,title:dt,isFullScreen:Ie}=Le,Ae=document.querySelector("body"),pt=(0,r.useRef)(null),Gt=(0,r.useRef)(null),zt=(0,r.useRef)(null),nt=()=>{Le.isLoading||(at(),Ae?.classList.remove("state-cmp-page--not-scrollable"))},Se=Ie?"cmp-pop-up cmp-pop-up--fullscreen":"cmp-pop-up",Qt=Ue=>{[Se,"cmp-pop-up__container"].includes(Ue.target.className)&&nt()};(0,r.useEffect)(()=>{if(rt){const Ue=window.scrollY;Ae?.classList.add("state-cmp-page--not-scrollable"),Ae.style.top=`-${Ue}px`}else{const Ue=document.body.style.top;if(Ue){const xt=-parseInt(Ue,10),gt=document.documentElement,Ht=gt.style.scrollBehavior;gt.style.scrollBehavior="auto",document.body.style.position="",document.body.style.top="",window.scrollTo(0,xt),setTimeout(()=>{gt.style.scrollBehavior=Ht},0)}}return()=>{Ae?.classList.remove("state-cmp-page--not-scrollable")}},[rt,Ae]);const Kt=r.createElement("div",{className:Se,onClick:Ue=>{Qt(Ue)}},r.createElement("div",{className:"cmp-pop-up__container"},r.createElement("div",{ref:pt,className:"cmp-pop-up__body"},Le.isLoading&&r.createElement("div",{className:"cmp-pop-up__loading-container"},r.createElement(oe.A,null)),r.createElement("div",{ref:Gt,className:"cmp-pop-up__header"},!Ie&&!!dt&&r.createElement(Ce.A,{tag:"h3",text:dt}),r.createElement(ve.A,{iconOnly:!0,iconType:"clear",iconPosition:"before",className:"cmp-button cmp-button--as-icon",text:"Close",onClick:nt})),r.createElement("div",{ref:zt,className:"cmp-pop-up__content"},r.createElement("div",{className:"cmp-pop-up__content-body"},ae)))));return r.createElement(r.Fragment,null,rt&&r.createElement(Pe,{popUpElement:Kt}))}}),72309:(function(je,_e,P){var r=P(96540),oe=P(46942),ve=P.n(oe);function Ce(re){const x=ve()({"cmp-text--standard":!re.typography,[`cmp-text--${re.typography}`]:re.typography,"cmp-text--no-margin":re.noMargin},re.additionalCssName,"cmp-text");return r.createElement("div",{className:x},re.isRichtext?r.createElement("div",{className:"cmp-text__paragraph",dangerouslySetInnerHTML:{__html:re.text}}):r.createElement("p",{className:"cmp-text__paragraph"},re.text))}_e.A=Ce}),59536:(function(je,_e,P){P.d(_e,{A:function(){return x}});var r=P(96540),oe=P(46942),ve=P.n(oe);const Ce={title_dash:!0};function re(R){const Pe=`${R.tag}`,Fe=R.dash!==void 0?R.dash:Ce.title_dash,ce=ve()("cmp-title",{[`cmp-title--${R.tag}`]:!R.style},{[`cmp-title--${R.style}`]:R.style},{"cmp-title--dash":Fe&&(R.tag==="h1"||R.tag==="h2"||R.tag==="h3")});return r.createElement("div",{className:ce},r.createElement(Pe,{className:"cmp-title__text"},R.text))}var x=re})}]);

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.