1"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[3692],{67923:(e,t,r)=>{r.r(t),r.d(t,{FreeformComponent:()=>g,default:()=>f});var s,i=r(85893),o=r(67294);let a=r(29163).ZP.div.withConfig({displayName:"Freeform",componentId:"-__sc-1a747dfd-0"})(["width:100%;height:auto;"]);var l=r(15158),n=r(86706),d=r(60387),p=r(39812),c=r(85763),u=r(33526),h=r(73342);function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class g extends(s=o.Component){componentDidMount(){let e=this.props.Freeform;if(!e||"string"!=typeof e)return;let t=this.GetHtmlAttributes(e),r=document.getElementById("root");if(t.eventName){let e=new CustomEvent(t.eventName,{detail:this.props.getReduxState()});r&&r.dispatchEvent(e)}this.subscribeToEvents(t.html)}componentWillUnmount(){this.handleMessage&&(window.removeEventListener("message",this.handleMessage),this.handleMessage=null)}render(){return(0,l.Z)(()=>(0,i.jsx)(a,{"data-component":"FreeForm","data-testid":"FreeFormComponentTestId",children:(0,i.jsx)("div",{dangerouslySetInnerHTML:{__html:this.TextReplace(this.props,this.context.nonce)},suppressHydrationWarning:!0})}),{componentName:"cms/Free form"})}constructor(...e){super(...e),m(this,"context",void 0),m(this,"handleMessage",null),m(this,"TextReplace",(e,t,r)=>{if(!r&&!e.Freeform)return"";let s=r??e.Freeform;if((s.match(/{{scriptStart}}/gi)||s.match(/{{scriptEnd}}/gi))&&(s=((e,t,r=!1)=>{try{if(!e)return"";let s=e;if(r)return s=s.replace(/{{scriptStart}}(.*?){{scriptEnd}}/gi,"");return s=(s=(s=(s=(s=(s=(s=s.replace(/{{scriptStart}}/gi,`<script nonce=${t} data-testid="FreeFormComponentScriptTag">`)).replace(/{{scriptEnd}}/gi,"<\/script>")).replace(/>/gi,">")).replace(/</gi,"<")).replace(/"/gi,'"')).replace(/'/gi,"'")).replace(/&/gi,"&")}catch{return e}})(s,t,this.props.disableFreeFormScript)),s.includes("{{urlWithContext}}")){let t=`${e.siteUrl}${(0,d.Z)(e.shoppingMode,e.retailerStoreId)}`;s=s.replace("{{urlWithContext}}",t)}return(s.includes("{{url}}")&&(s=s.replace("{{url}}",e.siteUrl)),s.includes("{{storeId}}")&&(s=s.replace("{{storeId}}",e.retailerStoreId)),s.includes("{{shoppingMode}}")&&(s=s.replace("{{shoppingMode}}",e.shoppingMode)),s.includes("{{storeName}}")&&(s=s.replace("{{storeName}}",e.storeName)),s.includes("{{urlWithContext}}")||s.includes("{{url}}")||s.includes("{{storeId}}")||s.includes("{{shoppingMode}}")||s.includes("{{storeName}}"))?this.TextReplace(e,t,s):s}),m(this,"GetHtmlAttributes",e=>{let t=null;if(e.includes("data-customevent")){let r=e.slice(e.indexOf("{$")+2,e.indexOf("$}")),s="{",i=r.split(",");for(let e=0;e<i.length;e++){let t=i[e].split(":");s+='"'+t[0].trim()+'":"'+t[1].trim()+'",'}let o=JSON.parse(s=s.substr(0,s.length-1)+"}");t=o.event;let a=document.getElementById(o.id);a&&delete a.dataset.customevent}return{html:e,eventName:t}}),m(this,"subscribeToEvents",e=>{e.includes("red-pepper-catalog")&&(this.props.setFreeformCatalogOpen(!0),this.handleMessage=e=>{if(e.origin===this.props.siteUrl&&e.data&&e.data.action&&e.data.productSKU&&"openProductView"===e.data.action){let t=e.data?.productSKU?.split(",")??[];t.length>1?(this.props.openMultiItemModal(this.context.t("weeklyFlyer.multiProductTitle")),this.props.searchFlyerBySkus(t,u.Sa8.RED_PEPPER,"redPepperProducts",this.props.clearMultiProductModalLoaderRedux)):(this.props.searchFlyerBySkus([e.data.productSKU],u.Sa8.RED_PEPPER,"redPepperProducts"),this.props.showPdpModal(e.data.productSKU,"",this.context.t("modals.productDetails.title"),!1))}},window.addEventListener("message",this.handleMessage))})}}m(g,"contextType",h.q);let S={showPdpModal:p.AI,getReduxState:()=>(e,t)=>{try{return t()}catch{return{}}},openMultiItemModal:p.t,searchFlyerBySkus:c.X,clearMultiProductModalLoaderRedux:p.Rw,setFreeformCatalogOpen:p.J9},f=(0,n.$j)(e=>({retailerStoreId:e.stores.retailerStoreId,shoppingMode:e.shoppingModes.selectedShoppingMode.displayName,storeName:e.stores.activeStoreDetails.name,siteUrl:e.app.siteUrl,disableFreeFormScript:e.cookieJar.disableFreeFormScript}),S)(g)},85763:(e,t,r)=>{r.d(t,{X:()=>d});var s=r(8618),i=r(4894),o=r(36585),a=r(91247),l=r(71387),n=r(28552);let d=(e,t,r,d)=>async p=>{try{await p(((e,t,r,d=i.sg,p=(0,a.Z)())=>async(i,a)=>{try{let c=a(),u={headers:{...(0,l.Z)(c,p),Accept:"application/json"}},h=await d.post(`stores/${c.stores.retailerStoreId}/searchbyskus`,e,u);if(200===h.status){let e=(0,n.Z)(h,r),s=[];h.data&&h.data.items.map(e=>s.push(e.sku)),i((0,o.sv)(e,s,t))}else s.logger.debug("searchBySkus() ",{message:"Error attempting to search by skus",response:h,reqId:p})}catch(t){s.logger.error("searchBySkus()",t,{skuList:e})}})(e,t,r))}catch(e){s.logger.error("searchFlyerBySkus",e)}finally{d&&p(d)}}}}]);
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.