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.