@rokt/dcui-orchestrator 0.3.1-rc.6 → 0.3.1-rc.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -184,7 +184,7 @@ import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import*as i from
184
184
  @media (prefers-color-scheme: dark) {
185
185
  -apple-pay-button-style: black;
186
186
  }
187
- `}(d?la(u,s,d):$e,"string"==typeof t?t:null==t?void 0:t.light,"string"==typeof t||null==t?void 0:t.dark);if(!l)return null;return e("button",{ref:r,type:"button",className:[p,n].filter(Boolean).join(" "),style:{minWidth:140,minHeight:30,border:"none",cursor:i?"not-allowed":"pointer",opacity:i?.5:1},onClick:e=>{if(i)return e.preventDefault(),void e.stopPropagation();null==a||a(e)},disabled:i,"aria-label":"Apple Pay","aria-disabled":i,tabIndex:o})})),Db={color:"#D92D20",fontSize:"12px",fontFamily:"inherit",fontWeight:400,lineHeight:"16.5px",letterSpacing:"0.064px",margin:"6px 0 0 20px"};function wb({className:t,message:n}){return e("p",{role:"alert","aria-live":"assertive",className:t,style:t?void 0:Db,children:(null==n?void 0:n.trim())||"Payment failed. Choose another card and try again."})}const Sb={elements:{own:[],errorText:[{default:{spacing:{margin:"6 0 0 20"},text:{textColor:{light:"#D92D20"},fontSize:12,fontFamily:"inherit",fontWeight:"400",lineHeight:16.5,letterSpacing:.064}}}]}};function xb(i){const a=v(),l=ba(),s=m(Cb),c=m(yb),d=Ca(0,(e=>{var t;return null!==(t=e.customStates[mb])&&void 0!==t?t:null})),u="ApplePay"===i.schema.provider&&1===d,p=r(null);o((()=>{var e;u&&(null===(e=p.current)||void 0===e||e.focus())}),[u]),o((()=>{a(s?{type:Sn,payload:{key:"applePayUnavailable",value:0}}:{type:Sn,payload:{key:"applePayUnavailable",value:1}})}),[s,a]);const f=xo(),{tabIndex:h,styles:C,isDisabled:y}=wt(f),g=Fo(),b=Za(g,"catalogItem"),E=Sg(),I=Eb(i.schema),L="ApplePay"===i.schema.provider?(D=i.schema.styles)?pn(Sb,D):Sb:i.schema.styles;var D;const w=e=>{var t;e.preventDefault();!i.schema.validatorTriggerConfig||E.validateFieldKeys(null!==(t=i.schema.validatorTriggerConfig.validatorFieldKeys)&&void 0!==t?t:[])?a({type:Cg,payload:{catalogItem:g,quantity:1,paymentProvider:i.schema.provider}}):a({type:Dn,payload:{name:"SignalUserInteraction",action:"ValidationTriggerFailed",context:"CatalogDevicePayButton",parentGuid:g.instanceGuid}})};return("ApplePay"!==i.schema.provider||s)&&("Afterpay"!==i.schema.provider||c)?e(_r,{styles:L,children:({classnames:a,mapperRef:o})=>{var r;return"ApplePay"===i.schema.provider?t(n,{children:[e(Lb,{ref:p,buttonStyle:I,className:null==a?void 0:a.own,disabled:y,onClick:w,tabIndex:h}),u?e(wb,{className:null==a?void 0:a.errorText,message:i.schema.errorMessage}):null]}):e("button",{type:"button",className:null==a?void 0:a.own,onClick:w,"data-testid":i.testId,"data-e2e":"CatalogDevicePayButton",disabled:y,"aria-disabled":y,"aria-label":null!==(r=i.schema.a11yLabel)&&void 0!==r?r:`Pay with ${i.schema.provider}`,tabIndex:h,style:Object.assign({cursor:"pointer"},C),children:e(Ua,{value:b,children:(null==a?void 0:a.own)?Ab(i.schema.children,a.own,o,l,i.testId):Tb(i.schema.children,l,i.testId)})})}}):null}function Ab(t,n,i,a,o){return e(Ya,{value:i(n),children:Tb(t,a,o)})}function Tb(e,t,n){return a.Children.toArray(e.map(((e,i)=>t(e,void 0,n?`${n}-child${i}`:void 0))))}const Ob=d(null),Mb=Ob.Provider;const Vb=["ArrowDown","ArrowUp","Enter","Escape","Tab"];function Hb(n){var i,a;const{validatorFieldConfig:d,a11yLabel:p,placeholderValue:f}=n.schema,h=function(){const e=u(Ob);if(!e)throw new Error("CatalogDropdown must be rendered inside a DropdownOptionsProvider");return e}(),m=v(),C=xo(),{styles:y,isDisabled:g}=wt(C),b=r(null),E=r([]),[I,L]=l(!1),[D,w]=l(-1),S=Sg(),x=r(null!==(i=h.selectedValue)&&void 0!==i?i:null);x.current=null!==(a=h.selectedValue)&&void 0!==a?a:null;const A=null!==h.selectedValue;function T(e){var t;return!!e.outOfStock||!A&&(null!==(t=e.disabled)&&void 0!==t&&t)}const O=c((()=>h.options.map((e=>({key:e.value,label:e.label,disabled:T(e),isSelected:e.value===h.selectedValue})))),[h,A]),M=c((()=>O.findIndex((e=>e.isSelected))),[O]),V=c((()=>{var e;const t=O.find((e=>e.isSelected));return null!==(e=null==t?void 0:t.label)&&void 0!==e?e:null}),[O]),H=c((()=>{if(!d)return;const e=d.validationFieldKey,t=h.attributeId;return t?`${e}-${t}`:e}),[d,h.attributeId]);function _(){return null!==x.current}const k=c((()=>{if(!d)return[];const e={Required:_};return d.validators.map((t=>e[t.type])).filter((e=>void 0!==e))}),[d]),R=c((()=>{if(!d)return;const e=d.validators.find((e=>"Required"===e.type));return null==e?void 0:e.value.message}),[d]);function N(){g||(I?F():P())}function P(){g||L(!0)}function F(){g||L(!1)}function j(e){var t;const n=O[e];n&&!n.disabled&&(w(e),F(),x.current=n.key,h.onSelect(n.key),m({type:Dn,payload:{name:"SignalUserInteraction",action:"DropDownItemSelected",context:"CatalogDropDown"}}),(null==d?void 0:d.validateOnChange)&&H&&S.validateFieldKeys([H]),null===(t=b.current)||void 0===t||t.focus())}function Z(e){var t;if(!g&&Vb.includes(e.key))switch(e.key){case"ArrowDown":{e.preventDefault();const t=D+1;t<O.length&&w(t);break}case"ArrowUp":{e.preventDefault();const t=D-1;t>=0&&w(t);break}case"Enter":e.preventDefault(),I?j(D):P();break;case"Tab":I&&F();break;case"Escape":e.preventDefault(),I&&(F(),null===(t=b.current)||void 0===t||t.focus())}}xg(H,k),o((()=>{var e,t;I?-1===M?null===(e=b.current)||void 0===e||e.focus():null===(t=E.current[M])||void 0===t||t.focus():w(M)}),[I,M]),o((()=>{var e;null===(e=E.current[D])||void 0===e||e.focus()}),[D]);const $=s(((e,t)=>{E.current[t]=e}),[]),G=!(!H||S.getFieldKeyValidity(H)),B=h.placeholderLabel||f||"Select an option";return O.length<=1?null:e(_r,{styles:n.schema.styles,children:({classnames:i})=>t("div",{"data-testid":n.testId?`${n.testId}-container`:void 0,"data-errored":G?"true":void 0,style:{display:"flex",flexDirection:"column"},children:[t("div",{ref:b,className:null==i?void 0:i.own,onKeyDown:Z,onClick:N,onBlur:e=>{var t;(null===(t=b.current)||void 0===t?void 0:t.contains(e.relatedTarget))||I&&F()},"data-e2e":"CatalogDropdown","data-testid":n.testId,"data-errored":G?"true":void 0,"aria-label":p||void 0,"aria-expanded":I,"aria-haspopup":"listbox","aria-disabled":g,"aria-controls":n.testId?`${n.testId}-option-list`:void 0,role:"combobox",style:Object.assign({position:"relative"},y),tabIndex:0,children:[t("div",{className:null==i?void 0:i.head,"data-testid":n.testId?`${n.testId}-head`:void 0,"data-errored":G?"true":void 0,style:Object.assign({cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"space-between"},y),children:[e("span",{children:null!=V?V:B}),e("span",{className:null==i?void 0:i.icon,"data-testid":n.testId?`${n.testId}-icon`:void 0,"aria-hidden":"true",style:{transform:I?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease",display:"inline-flex"},children:"▾"})]}),I&&e("ul",{className:null==i?void 0:i.optionList,role:"listbox","data-testid":n.testId?`${n.testId}-option-list`:void 0,tabIndex:-1,style:Object.assign({listStyle:"none",padding:0,margin:0,zIndex:9999,position:"absolute",top:"100%",left:0,right:0,overflowX:"hidden",overflowY:"auto"},y),children:O.map(((t,a)=>e("li",{ref:e=>$(e,a),className:null==i?void 0:i.option,role:"option","aria-selected":t.isSelected,"aria-disabled":t.disabled,"data-selected":t.isSelected?"true":void 0,onClick:e=>{e.stopPropagation(),g||j(a)},tabIndex:-1,"data-e2e":"CatalogDropdownOption","data-testid":n.testId?`${n.testId}-option-${a}`:void 0,style:Object.assign({cursor:t.disabled?"not-allowed":"pointer",display:"flex",opacity:t.disabled?.5:1},y),children:t.label},t.key)))})]}),G&&e("div",{className:null==i?void 0:i.error,"data-testid":n.testId?`${n.testId}-error`:void 0,"data-errored":"true",role:"alert",children:R})]})})}function _b(t){const n=Sa(),i=c((()=>n.catalogItems||[]),[n]),a=n.catalogItemGroup,r=ba(),d=v(),u=c((()=>{var e;return null!==(e=null==a?void 0:a.attributes)&&void 0!==e?e:[]}),[null==a?void 0:a.attributes]),p=m((e=>e.selectedItem)),[f,h]=l({});o((()=>{p&&0!==u.length&&h((e=>{if(Object.keys(e).length>0)return e;const t=function(e,t){const n={};for(const i of e){const e=i.options.find((e=>e.catalogItemIds.includes(t)));e&&(n[i.attributeId]=e.label)}return n}(u,p.catalogItemId);return Object.keys(t).length>0?t:e}))}),[p,u]);const C=c((()=>function(e,t){let n=null;for(const i of e){const e=t[i.attributeId];if(!e)continue;const a=i.options.find((t=>t.label===e));if(!a)continue;const o=new Set(a.catalogItemIds);if(null===n)n=o;else{const e=n;n=new Set(Array.from(e).filter((e=>o.has(e))))}}return n}(u,f)),[u,f]);o((()=>{if(!C||0===C.size)return;const e=i.find((e=>C.has(e.catalogItemId)));e&&d({type:ag,payload:{catalogItem:e}})}),[C,i,d]);const y=s(((e,t)=>{h((n=>Object.assign(Object.assign({},n),{[e]:t})))}),[]);return 0===u.length?null:e(_r,{styles:t.schema.styles,children:({classnames:n})=>e("div",{className:null==n?void 0:n.own,"data-testid":t.testId,"data-e2e":"CatalogSelectorsStacked",style:{display:"flex",flexDirection:"column"},children:u.map((n=>{var a;return e(kb,{attribute:n,catalogItems:i,eligibleItemIds:C,selectedValue:null!==(a=f[n.attributeId])&&void 0!==a?a:null,onSelect:y,mapper:r,template:t.schema.default,testId:t.testId},n.attributeId)}))})})}function kb({attribute:t,catalogItems:n,eligibleItemIds:i,selectedValue:a,onSelect:o,mapper:r,template:l,testId:d}){const u=c((()=>t.options.map((e=>{const t=null!==i&&!e.catalogItemIds.some((e=>i.has(e))),a=function(e,t){const n=t.filter((t=>e.includes(t.catalogItemId)));return n.length>0&&n.every((e=>(e.inventoryStatus||Rt.Unknown)===Rt.OutOfStock))}(e.catalogItemIds,n);return{label:e.label,value:e.label,disabled:t,outOfStock:a}}))),[t.options,i,n]),p=s((e=>{o(t.attributeId,e)}),[o,t.attributeId]),f=c((()=>({options:u,selectedValue:a,onSelect:p,placeholderLabel:t.label,attributeId:t.attributeId})),[u,a,p,t.label,t.attributeId]);return e(Mb,{value:f,children:e("div",{"data-testid":d?`${d}-attribute-${t.attributeId}`:void 0,children:r(l,void 0,d?`${d}-${t.attributeId}`:void 0)})})}function Rb(e){const t=function(e){return`catalogGalleryIndex_${e}`}(e),n=v();return[Ca(0,(e=>{var n;return null!==(n=e.customStates[t])&&void 0!==n?n:null})),s((e=>{n({type:Sn,payload:{key:t,value:e}})}),[n,t])]}function Nb(i){var a;const{schema:d,testId:u}=i,p=null!==(a=d.showIndicators)&&void 0!==a&&a,f=v(),h=Fo(),m=c((()=>Object.values(h.images||{})),[h]),C=m.length>1,y=C?1:0,g=c((()=>C?[m.at(-1),...m,m.at(0)].filter((e=>void 0!==e)):m),[m,C]),[b,E]=Rb(h.instanceGuid),I=C?b+1:b,L=r(I);L.current=I;const D=r(null),w=r([]),[S,x]=l(!1),[A,T]=l(!1),O=xo(),{styles:M,isDisabled:V}=wt(O),H=r(null),_=r(null),k=r(null),R=r(null);function N(e,t,n="smooth"){if(!e||!t)return;const i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=t.scrollLeft+(i.left-a.left);t.scrollTo({left:o,behavior:n})}!function(){const e=r(null);o((()=>{const t=D.current;if(!t)return;let n=0,i=t.scrollLeft;const a=()=>{var o;const r=t.scrollLeft;r===i?n++:(n=0,i=r),n>=5?(null!==e.current&&(cancelAnimationFrame(e.current),e.current=null),null===(o=H.current)||void 0===o||o.call(H)):e.current=requestAnimationFrame(a)};return a(),()=>{null!==e.current&&(cancelAnimationFrame(e.current),e.current=null)}}),[H.current])}(),o((()=>{const e=y;E(0),N(w.current[e]||null,D.current,"instant")}),[h.catalogItemId,y,m,E]);const P=r(null);o((()=>{S?P.current=b:(P.current=null,N(w.current[I]||null,D.current,"smooth"))}),[b]),o((()=>{const e=D.current;if(!e)return;const t=new ResizeObserver((()=>{N(w.current[L.current]||null,e,"instant")}));return t.observe(e),()=>t.disconnect()}),[]);const F=s((e=>{f({type:Dn,payload:{name:"SignalUserInteraction",action:e,context:"CatalogImageGallery",parentGuid:h.instanceGuid}})}),[f,h.instanceGuid]),j=s(((e,t)=>{if(S)return;F(t);const n=I+e;let i=b+e;0===n?i=m.length-1:n===g.length-1&&(i=0),x(!0),N(w.current[n]||null,D.current,"smooth"),E(i);const a=0===n||n===g.length-1,o=()=>{if(x(!1),null!==P.current){const e=P.current;P.current=null;const t=C?e+1:e;N(w.current[t]||null,D.current,"smooth")}};if(a){const e=C?i+1:i;H.current=()=>{N(w.current[e]||null,D.current,"instant"),o()}}else H.current=()=>{o()}}),[S,I,b,m.length,g.length,C,E,F]);function Z(){_.current=null,k.current=null,R.current=null}function $(e){null===_.current&&(_.current=e.pointerId,k.current=e.clientX,R.current=e.clientY)}function G(e){if(null===_.current||null===k.current)return;const t=k.current-e.clientX;Math.abs(t)>30&&(t<0?j(-1,"MainImageSwipeRight"):j(1,"MainImageSwipeLeft")),Z()}function B(i){if(!C)return null;const a=Object.assign({display:"flex",position:"absolute",top:"50%",transform:"translateY(-50%)",zIndex:1,border:"none",cursor:V?"not-allowed":"pointer"},A?{opacity:1}:{}),o=e=>e.stopPropagation();return t(n,{children:[d.backwardIcon&&e("button",{style:Object.assign(Object.assign({},a),{left:0}),className:null==i?void 0:i.controlButton,onPointerDown:o,onClick:()=>j(-1,"MainImageScrollIconLeftClick"),"aria-label":"Previous image","data-testid":`${u}-control-backward`,children:d.backwardIcon}),d.forwardIcon&&e("button",{style:Object.assign(Object.assign({},a),{right:0}),className:null==i?void 0:i.controlButton,onPointerDown:o,onClick:()=>j(1,"MainImageScrollIconRightClick"),"aria-label":"Next image","data-testid":`${u}-control-forward`,children:d.forwardIcon})]})}function U(t){return p&&C?e("div",{style:{display:"flex",position:"absolute",bottom:0,left:"50%",transform:"translateX(-50%)"},children:e("div",{className:null==t?void 0:t.progressIndicatorContainer,style:{display:"flex",flexDirection:"row",alignItems:"center"},"data-testid":`${u}-indicator-container`,children:m.map(((n,i)=>{const a=i<b,o=i===b?null==t?void 0:t.activeIndicator:a?null==t?void 0:t.seenIndicator:null==t?void 0:t.indicator;return e("span",{className:o,"data-testid":`${u}-indicator-${i}`},`indicator-${i}`)}))})}):null}function z(e){if(null===_.current||null===k.current||null===R.current)return;const t=Math.abs(e.clientX-k.current),n=Math.abs(e.clientY-R.current);t<10&&n<10||t<n&&Z()}return 0===m.length?null:e(_r,{styles:d.styles,children:({classnames:n})=>{var i;return e("div",{className:null==n?void 0:n.own,"aria-label":null!==(i=d.a11yLabel)&&void 0!==i?i:void 0,children:t("div",{onMouseOver:()=>T(!0),onMouseOut:()=>T(!1),onPointerDown:$,onPointerMove:z,onPointerUp:G,onPointerCancel:Z,onLostPointerCapture:Z,style:{position:"relative",touchAction:"pan-y"},"data-testid":`${u}-main-image-container`,children:[B(n),U(n),e("div",{ref:D,style:{display:"-webkit-box",overflow:"hidden",scrollBehavior:"smooth"},children:g.map(((t,i)=>e("div",{ref:e=>function(e,t){w.current[t]=e}(e,i),children:e("img",{src:t.light,alt:t.alt,title:t.title,className:null==n?void 0:n.mainImage,loading:"lazy",style:Object.assign(Object.assign({},M),{display:"block"}),"data-testid":`${u}-main-image-${i}`,"data-e2e":"CatalogImageGallery-mainImage"})},`${t.light}-${i}`)))})]})})}})}function Pb(t){var n;const{schema:i,testId:a}=t,l="row"===(null!==(n=i.direction)&&void 0!==n?n:"row"),d=v(),u=Fo(),p=c((()=>Object.values(u.images||{})),[u]),[f,h]=Rb(u.instanceGuid),{ref:m,setRef:C,hasOverflow:y,maskStyle:g}=ni(l?"horizontal":"vertical",ii(i.styles)),b=r([]),E=xo(),{styles:I,isDisabled:L,tabIndex:D}=wt(E);const w=s(((e,t,n="smooth")=>{if(!e||!t)return;const i=t.getBoundingClientRect(),a=e.getBoundingClientRect();if(l){const e=a.left+a.width/2,o=i.left+t.clientWidth/2,r=t.scrollLeft+(e-o),l=t.scrollWidth-t.clientWidth;t.scrollTo({left:Math.max(0,Math.min(l,r)),behavior:n})}else{const e=a.top+a.height/2,o=i.top+t.clientHeight/2,r=t.scrollTop+(e-o),l=t.scrollHeight-t.clientHeight;t.scrollTo({top:Math.max(0,Math.min(l,r)),behavior:n})}}),[l]);o((()=>{w(b.current[f]||null,m.current,"instant")}),[u.catalogItemId,p]),o((()=>{w(b.current[f]||null,m.current,"smooth")}),[f]),o((()=>{if(!l)return;const e=m.current;if(e)return e.addEventListener("wheel",t,{passive:!1}),()=>e.removeEventListener("wheel",t);function t(e){m.current&&0!==e.deltaY&&(e.preventDefault(),m.current.scrollLeft+=e.deltaY)}}),[]);const S=s((e=>{d({type:Dn,payload:{name:"SignalUserInteraction",action:e,context:"CatalogThumbnailGallery",parentGuid:u.instanceGuid}})}),[d,u.instanceGuid]),x=s((e=>{S("ThumbnailClick"),h(e),w(b.current[e]||null,m.current,"smooth")}),[S,h,w]);return 0===p.length?null:e(_r,{styles:i.styles,children:({classnames:t})=>{var n,o;const r=p.map(((n,i)=>e("img",{ref:e=>function(e,t){b.current[t]=e}(e,i),src:n.light,alt:n.alt,title:n.title,className:null==t?void 0:t.thumbnail,loading:"lazy",style:Object.assign(Object.assign({},I),{flexShrink:0,objectFit:"cover",cursor:L?"not-allowed":"pointer",pointerEvents:"auto"}),role:"button","aria-label":`View image ${i+1}`,"data-selected":i===f?"true":"false","data-testid":`${a}-thumbnail-${i}`,"data-e2e":"CatalogThumbnailGallery-thumbnail",tabIndex:D,onClick:()=>x(i),onKeyDown:e=>function(e,t){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),x(t))}(e,i)},`thumbnail-${i}`)));return e("div",l?{ref:C,className:null==t?void 0:t.own,"aria-label":null!==(n=i.a11yLabel)&&void 0!==n?n:void 0,style:Object.assign({display:"flex",flexDirection:"row",overflow:"auto",justifyContent:y?"flex-start":void 0,scrollbarWidth:"none",scrollBehavior:"smooth",contain:"inline-size",alignSelf:"stretch"},g),children:r}:{className:null==t?void 0:t.own,"aria-label":null!==(o=i.a11yLabel)&&void 0!==o?o:void 0,style:Object.assign({display:"flex",flexDirection:"column",contain:"size",alignSelf:"stretch"},g),children:e("div",{ref:C,style:{display:"flex",flexDirection:"column",flex:1,minHeight:0,overflow:"auto",justifyContent:y?"flex-start":void 0,scrollbarWidth:"none",scrollBehavior:"smooth"},children:r})})}})}const Fb={CatalogResponseButton:function(t,n){if("CatalogResponseButton"===t.type)return e(Mg,{schema:t.node,testId:n})},CatalogDevicePayButton:function(t,n){if("CatalogDevicePayButton"===t.type)return e(xb,{schema:t.node,testId:n})},CatalogCombinedCollection:function(t,n){if("CatalogCombinedCollection"===t.type)return e(ub,{schema:t.node,testId:n})},EscapeHatch:db,RichText:pb,InlineContainer:function(t,n){if("InlineContainer"===t.type)return e(hb,{schema:t.node,testId:n})},CatalogDropdown:function(t,n){const i=t;if("CatalogDropdown"===i.type)return e(Hb,{schema:i.node,testId:n})},CatalogSelectorsStacked:function(t,n){const i=t;if("CatalogSelectorsStacked"===i.type)return e(_b,{schema:i.node,testId:n})},CatalogImageGallery:function(t,n){if("CatalogImageGallery"===t.type)return e(Nb,{schema:t.node,testId:n})},CatalogThumbnailGallery:function(t,n){if("CatalogThumbnailGallery"===t.type)return e(Pb,{schema:t.node,testId:n})}};function jb(){var t,n,i,a,o;const r=m(bb),l=wo(),s=ba(),c=m(hC),d=za(),u=null===(t=r.taxAndShippingData)||void 0===t?void 0:t.taxAndShippingPricing,p=d({state:c},"textContent")({state:{taxAndShippingData:{isPending:r.isPending,taxAmount:null!==(n=null==u?void 0:u.taxAmount)&&void 0!==n?n:"",shippingAmount:null!==(i=null==u?void 0:u.shippingAmount)&&void 0!==i?i:"",totalAmount:null!==(a=null==u?void 0:u.totalAmount)&&void 0!==a?a:"",taxStatus:null!==(o=null==u?void 0:u.taxStatus)&&void 0!==o?o:"UNAVAILABLE"}}});return e(Ea,{value:s,overrides:Fb,children:e(Ua,{value:p,children:e(ga,{children:e=>e(l)})})})}function Zb(e){if(!e.copy)return null;const t=t=>e.copy[`ppu.${t}`]||"";return{shippingAttributes:{address1:t("shippingAddress1"),address2:t("shippingAddress2"),city:t("shippingCity"),state:t("shippingState"),country:t("shippingCountry"),postalCode:t("shippingZipcode")}}}const $b={staticData:sC,selectedItem:(e=null,t)=>t.type===og?t.payload:e,dynamicData:cC,childLayouts:lC,fulfillmentDetails:(e=null,t)=>"INSTANT_PURCHASE/SET_FULFILLMENT_DETAILS"===t.type?t.payload:e,offerLifecycleEvent:(e=null,t)=>t.type===ug?t.payload:e,devicePayAvailability:(e=null,t)=>{var n;if(t.type===gg){const i=null===(n=t.payload)||void 0===n?void 0:n.response;if("object"!=typeof i||null===i)return e;const a={};for(const e of vb){const t=i[e.responseKey];"boolean"==typeof t&&(a[e.responseKey]=t)}return 0===Object.keys(a).length?e:Object.assign(Object.assign({},null!=e?e:{}),a)}return e},paypalTransactionDetails:(e=null,t)=>t.type===Ig?t.payload:e,paypalPurchaseContext:(e=null,t)=>t.type===Lg?t.payload:e,taxAndShipping:(e={activeCacheKey:null,cache:{}},t)=>{var n;switch(t.type){case fg:{const{cacheKey:n}=t.payload;return{activeCacheKey:n,cache:Object.assign(Object.assign({},e.cache),{[n]:{isPending:!0}})}}case pg:{const{cacheKey:i,taxAndShippingEntry:a}=t.payload;return{activeCacheKey:null!==(n=e.activeCacheKey)&&void 0!==n?n:i,cache:Object.assign(Object.assign({},e.cache),{[i]:a})}}case hg:{const{cacheKey:n}=t.payload;return Object.assign(Object.assign({},e),{activeCacheKey:n})}default:return e}},purchaseId:(e=null,t)=>t.type===mg?t.payload:e};function Gb(e={}){return Object.assign({staticData:null,selectedItem:null,dynamicData:null,childLayouts:{launched:{}},fulfillmentDetails:null,offerLifecycleEvent:null,devicePayAvailability:null,paypalTransactionDetails:null,paypalPurchaseContext:null,taxAndShipping:{activeCacheKey:null,cache:{}},purchaseId:null},e)}function Bb(e,t){const n=[...t].sort(((e,t)=>e.catalogItemId.localeCompare(t.catalogItemId))).map((e=>e.catalogItemId)).join(":");return`${i=e,["address1","address2","city","state","country","countryCode","postalCode"].map((e=>{var t;return(null!==(t=i[e])&&void 0!==t?t:"").toLowerCase().replace(/\s/g,"")})).join("")}:${n}`;var i}const Ub="INVALID_RESPONSE_OBJECT",zb="MISSING_APP_STATE_IN_INSTANT_PURCHASE_MODULE",Wb="MISSING_PAYMENT_REF_IN_INSTANT_PURCHASE_MODULE",Yb="MISSING_STATIC_DATA_IN_INSTANT_PURCHASE_MODULE",Kb="MISSING_CATALOG_ITEMS",qb="MALFORMED_INSTANT_PURCHASE_PARTNER_DATA",Jb="INSTANT_PURCHASE_PARTNER_CHANNEL_ERROR",Xb="DEVICE_PAY_CHANNEL_ERROR",Qb="DEVICE_PAY_CANCELLED",eE="DEVICE_PAY_UNKNOWN_FAILURE",tE="MALFORMED_DEVICE_PAY_DATA";var nE;!function(e){e.REQUEST_TIME_OUT="REQUEST_TIME_OUT",e.REQUEST_FAILED="REQUEST_FAILED"}(nE||(nE={}));function iE(e,t){return rt((n=>e.onEvent({name:_d.PartnerMessage.CartItemInstantPurchaseResponse,source:"partner",callback:e=>{var i;t({level:en,code:"SHOPPABLE_ADS_LEGACY_PARTNER_RESPONSE",message:`Received legacy partner response for first party Shoppable Ads\n ${JSON.stringify(e)}`}),dE(i=e)&&Array.isArray(i.upsellItems)&&i.upsellItems.every((e=>dE(e)&&uE(e,"cartItemId","string")&&uE(e,"name","string")&&uE(e,"unitPrice","number")&&uE(e,"quantity","number")))&&uE(i,"totalUpsellPrice","number")&&pE(i)?n(e):t({level:tn,code:qb,message:`Malformed data received from partner\n ${e}`})}})))}function aE(e,t){return rt((n=>e.onEvent(...["INSTANT_PURCHASE_SUCCESS","INSTANT_PURCHASE_FAILURE"].map((e=>({name:e,source:"partner",callback:e=>{var i;dE(i=e)&&uE(i,"timestamp","string")&&uE(i,"sessionId","string")?n(e):t({level:tn,code:"MALFORMED_INSTANT_PURCHASE_WSDK_DATA",message:`Malformed data received from wsdk\n ${e}`})}}))))))}function oE(e,t){return rt((n=>e.onEvent({name:_d.V2.PartnerMessage.UpsellItemInstantPurchaseResponse,source:"partner",callback:e=>{var i;t({level:tn,code:"SHOPPABLE_ADS_PARTNER_RESPONSE",message:`Received partner response for first party Shoppable Ads\n ${JSON.stringify(e)}`}),dE(i=e)&&Array.isArray(i.upsellItems)&&i.upsellItems.every((e=>dE(e)&&uE(e,"sku","string")&&uE(e,"quantity","number")))&&uE(i,"totalPrice","number")&&pE(i)?n(e):t({level:tn,code:qb,message:`Malformed data received from partner\n ${e}`})}})))}function rE(e,t){return rt((n=>e.onEvent({name:"INSTANT_PURCHASE_TAX_AND_SHIPPING_RESPONSE",source:"partner",callback:e=>{var i;dE(i=e)&&uE(i,"cacheKey","string")&&uE(i,"timestamp","string")&&uE(i,"sessionId","string")?n(e):t({level:tn,code:"MALFORMED_TAX_AND_SHIPPING_DATA",message:`Malformed tax and shipping data received\n ${JSON.stringify(e)}`})}})))}function*lE(e,t){var n;try{for(;;){const t=yield Ye(e);if(t){yield ze({type:sg,payload:t});break}}}catch(e){yield Ue(t,{level:tn,code:Jb,message:null!==(n=e.message)&&void 0!==n?n:"Unknown error in instant-purchase partner channel"})}finally{e.close()}}function*sE(e,t){var n;try{for(;;){const t=yield Ye(e);if(t){yield ze({type:dg,payload:t});break}}}catch(e){yield Ue(t,{level:tn,code:"INSTANT_PURCHASE_WSDK_CHANNEL_ERROR",message:null!==(n=e.message)&&void 0!==n?n:"Unknown error in instant-purchase WSDK channel"})}finally{e.close()}}function*cE(e,t){var n;try{for(;;){const t=yield Ye(e);if(t){yield ze({type:cg,payload:t});break}}}catch(e){yield Ue(t,{level:tn,code:Jb,message:null!==(n=e.message)&&void 0!==n?n:"Unknown error in instant-purchase partner channel"})}finally{e.close()}}function dE(e){return"object"==typeof e&&null!==e}function uE(e,t,n){return t in e&&typeof e[t]===n}function pE(e){return uE(e,"currency","string")&&uE(e,"paid","boolean")&&uE(e,"success","boolean")}const fE="Unknown failure reason";function hE(e,t,n){return{name:"SignalCartItemInstantPurchase",parentGuid:e.instanceGuid,objectData:Object.assign({catalogItemId:e.catalogItemId,quantity:t,initiatedBy:Jt.DCUI},n&&{purchaseId:n})}}function vE(e,t,n,i,a){return{name:"SignalCartItemInstantPurchaseFailure",parentGuid:e.instanceGuid,objectData:Object.assign({catalogItemId:e.catalogItemId,quantity:t,failureReason:i,providerId:n},a&&{purchaseId:a})}}const mE=6e4;function*CE(){var e,t,n,i;const a=yield qe((e=>e)),o=null!==(t=null===(e=null==a?void 0:a.staticData)||void 0===e?void 0:e.offer.catalogItems)&&void 0!==t?t:[];if(1===o.length&&o[0])return void(yield*wE(o[0]));const r=null===(i=null===(n=null==a?void 0:a.staticData)||void 0===n?void 0:n.offer)||void 0===i?void 0:i.creative.copy["provider.defaultCatalogItemId"],l=o.find((e=>e.catalogItemId===r));l&&l.inventoryStatus!==Rt.OutOfStock&&(yield*wE(l))}function*yE(e){const{catalogItem:t}=e.payload;yield*wE(t)}function*gE(e,t,n){var i,a,o,r,l;const s=yield qe((e=>e)),c=(null===(o=null===(a=null===(i=null==s?void 0:s.staticData)||void 0===i?void 0:i.offer)||void 0===a?void 0:a.creative)||void 0===o?void 0:o.copy)||{},d="true"===c["ppu.partnerManagedPurchase"],u=null!==(r=c["ppu.confirmationref"])&&void 0!==r?r:"",{catalogItem:p,quantity:f}=n.payload,h=ld(p,f);if(h){yield ze({type:Dn,payload:{name:"SignalCartItemInstantPurchaseInitiated",parentGuid:p.instanceGuid,objectData:{catalogItemId:p.catalogItemId,quantity:f}}});const n=s?null===(l=bb(s).taxAndShippingData)||void 0===l?void 0:l.taxAndShippingPricing:void 0,i=n&&parseFloat(n.totalAmount.replace(/[^0-9.]/g,""))||h.totalPrice;yield*TE("ProcessingState",1),d?yield*function*(e,t,n,i,a,o){const r=null!=e?e:t.catalogItemId,l={upsellItems:[{sku:r,quantity:t.quantity,unitPrice:t.unitPrice,totalPrice:t.totalPrice||0,currency:t.currency}],totalPrice:i,currency:t.currency,orderConfirmationId:n};yield et(LE,a,o),yield ze({type:xn,payload:{name:"UPSELL_ITEM_INSTANT_PURCHASE",body:l}})}(p.productSku,h,u,i,e,t):yield*function*(e,t,n){const i=yield qe((e=>e));if(!i)return yield Ue(n,{level:tn,code:zb,message:"App state is not set within Redux store."}),void(yield*OE());if(!i.staticData)return yield Ue(n,{level:tn,code:Yb,message:"App state is not configured with static data."}),void(yield*OE());const a=i.staticData.offer.creative.copy["ppu.partnerPaymentReference"];if(!a)return yield Ue(n,{level:tn,code:Wb,message:"Partner payment reference is not set within creative copy."}),void(yield*OE());const o={upsellItems:[{cartItemId:e.cartItemId,catalogItemId:e.catalogItemId,quantity:e.quantity,unitPrice:e.unitPrice,totalPrice:e.totalPrice,currency:e.currency}],totalUpsellPrice:e.totalPrice,currency:e.currency,paymentDetails:{partnerPaymentReference:a}};i.fulfillmentDetails&&(o.fulfillmentDetails=i.fulfillmentDetails);i.purchaseId&&(o.identifiers={purchase_id:i.purchaseId});yield et(DE,t,n),yield ze({type:xn,payload:{name:"INITIATE_INSTANT_PURCHASE_EVENT",body:o}})}(h,e,t)}else yield Ue(t,{level:tn,code:Ub,message:`Unable to translate catalog item with ID ${p.catalogItemId} to cart item for instant purchase transaction.`}),yield*OE()}function*bE(e,t){const n=yield qe((e=>e.staticData));if(!n)return yield Ue(e,{level:tn,code:Yb,message:"App state is not configured with static data."}),void(yield*AE("Error"));if(!n.offer.catalogItems)return yield Ue(e,{level:tn,code:Kb,message:"No catalog items found within offer data."}),void(yield*AE("Error"));const i={accountId:n.offer.accountId,catalogItems:n.offer.catalogItems};let a,o;t.payload.success?(a=hE,o="Success"):(a=(e,n)=>vE(e,n,i.accountId.toString(),t.payload.reason||fE),o="Unspecified"),yield*function*(e,t,n,i){const a=[];for(const i of e.upsellItems){const e=SE(i,t.catalogItems);void 0===e?a.push(i):yield ze({type:Dn,payload:n(e,i.quantity)})}a.length>0&&(yield*function*(e,t){const n=JSON.stringify(e,null,"\t").replaceAll('"',"");yield Ue(t,{level:tn,code:Ub,message:`Unable to map cart items to catalog items in the instant purchase partner response: ${n}.`})}(a,i))}(t.payload,i,a,e),yield*AE(o)}function*EE(e,t){const n=yield qe((e=>e.staticData));if(!n)return yield Ue(e,{level:tn,code:Yb,message:"App state is not configured with static data."}),void(yield*OE());if(!n.offer.catalogItems)return yield Ue(e,{level:tn,code:Kb,message:"No catalog items found within offer data."}),void(yield*OE());const i={accountId:n.offer.accountId,catalogItems:n.offer.catalogItems};let a;a=t.payload.success?hE:(e,n)=>vE(e,n,i.accountId.toString(),t.payload.reason||fE),yield*function*(e,t,n,i){const a=[];for(const i of e.upsellItems){const e=xE(i,t.catalogItems);void 0===e?a.push(i):yield ze({type:Dn,payload:n(e,i.quantity)})}a.length>0&&(yield*function*(e,t){const n=JSON.stringify(e,null,"\t").replaceAll('"',"");yield Ue(t,{level:tn,code:Ub,message:`Unable to map upsell items to catalog items in the instant purchase partner response: ${n}.`})}(a,i))}(t.payload,i,a,e),t.payload.success?yield*ME(1,{event:"Completed",completionReason:"Success"}):yield*OE()}function*IE(e){e.payload.response&&e.payload.response.success?yield*ME(1,{event:"Completed",completionReason:"Success"}):yield*OE()}function*LE(e,t){const n=oE(e,t),i=iE(e,t),{timeout:a}=yield nt({channel:Ue(cE,n,t),legacyChannel:Ue(lE,i,t),timeout:it(mE)});a&&(yield Ue(t,{level:tn,code:"INSTANT_PURCHASE_PARTNER_RESPONSE_TIMEOUT",message:"Instant-purchase partner response timed out after 60000ms"}),n.close(),i.close(),yield*ME(2,{event:"Completed",completionReason:"Unspecified"}))}function*DE(e,t){const n=aE(e,t),{timeout:i}=yield nt({channel:Ue(sE,n,t),timeout:it(mE)});i&&(yield Ue(t,{level:tn,code:"INSTANT_PURCHASE_WSDK_RESPONSE_TIMEOUT",message:"Instant-purchase wsdk response timed out after 60000ms"}),n.close(),yield*ME(2,{event:"Completed",completionReason:"Unspecified"}))}function*wE(e){var t,n,i,a;yield ze({type:og,payload:e}),void 0===(null===(t=e.copy)||void 0===t?void 0:t["provider.pricing.totalPrice"])?yield ze({type:vg,payload:{catalogItem:e}}):yield Ue(VE,e);const o={title:null!==(n=e.title)&&void 0!==n?n:"",description:null!==(i=e.description)&&void 0!==i?i:"",price:null!==(a=e.priceFormatted)&&void 0!==a?a:""};e.copy&&Object.entries(e.copy).forEach((([e,t])=>{o[`copy.${e}`]=t})),yield ze({type:rC,payload:{text:o}})}function SE(e,t){return t.find((t=>t.catalogItemId===e.catalogItemId))}function xE(e,t){if(e.sku)return t.find((t=>t.catalogItemId===e.sku||t.productSku===e.sku))}function*AE(e){yield*TE("ProcessingState",0),yield ze({type:wn,payload:{event:"Completed",completionReason:e}})}function*TE(e,t){yield ze({type:Sn,payload:{key:e,value:t}})}function*OE(){yield*ME(2,{event:"Completed",completionReason:"Error"})}function*ME(e,t){yield ze({type:ug,payload:t}),yield*TE("ProcessingState",0),yield ze({type:An,payload:{key:Gt,value:e}})}function*VE(e){var t;const n=null!==(t=e.copy)&&void 0!==t?t:{},i=n["provider.pricing.shippingFees"],a=n["provider.pricing.salesTax"],o=n["provider.pricing.totalPrice"];if(!i||!a||!o)return;const r=yield qe((e=>{var t,n;return null!==(n=null===(t=e.fulfillmentDetails)||void 0===t?void 0:t.shippingAttributes)&&void 0!==n?n:{}})),l=Bb(r,[e]);yield ze({type:hg,payload:{cacheKey:l}}),yield ze({type:pg,payload:{cacheKey:l,taxAndShippingEntry:{isPending:!1,taxAndShippingData:{taxAndShippingPricing:{shippingAmount:i,taxAmount:a,totalAmount:o}}}}})}const HE=new Set;function*_E(e,t){const n=rE(e,t);try{for(;;){const{response:e,offerEnd:t}=yield nt({response:Ye(n),offerEnd:Ye(wn)});if(t)break;e&&(yield Ue(RE,e))}}finally{n.close()}}function*kE(e,t,n){var i,a,o;const r=yield qe((e=>e.fulfillmentDetails)),l=null!==(i=null==r?void 0:r.shippingAttributes)&&void 0!==i?i:{};if(!!!(l.address1&&l.city&&l.state&&l.country&&l.postalCode))return;const s=[n.payload.catalogItem],c=Bb(l,s);if(yield Ue(FE,c))return void(yield ze({type:hg,payload:{cacheKey:c}}));if(HE.has(c))return;HE.add(c),yield ze({type:fg,payload:{cacheKey:c}});const d=s.map(jE),u=null!==(o=null===(a=s[0])||void 0===a?void 0:a.currency)&&void 0!==o?o:"USD",p=d.reduce(((e,t)=>e+t.totalPrice),0);yield ze({type:xn,payload:{name:"INSTANT_PURCHASE_INITIATE_TAX_AND_SHIPPING_EVENT",body:{cacheKey:c,totalUpsellPrice:p,currency:u,upsellItems:d,fulfillmentDetails:{shippingAttributes:l}}}}),yield Qe(PE,c,t)}function*RE(e){var t,n;const{response:i,cacheKey:a}=e,o=null==i?void 0:i.response;if(!o||!a)return;if(!o.success||!o.paymentDetails||"UNAVAILABLE"===o.paymentDetails.taxStatus)return void(yield*function*(e){HE.delete(e),yield ze({type:pg,payload:{cacheKey:e,taxAndShippingEntry:{isPending:!1,taxAndShippingData:{error:nE.REQUEST_FAILED}}}}),yield ze({type:ug,payload:{event:"Completed",completionReason:"Error"}}),yield ze({type:An,payload:{key:Gt,value:2}})}(a));HE.delete(a),yield ze({type:pg,payload:{cacheKey:a,taxAndShippingEntry:{isPending:!1,taxAndShippingData:{taxAndShippingPricing:NE(o.paymentDetails)}}}});const r=null!==(n=null===(t=o.identifiers)||void 0===t?void 0:t.purchase_id)&&void 0!==n?n:null;yield ze({type:mg,payload:r})}function NE(e){const t=e=>{const t=String(e);return t.startsWith("$")?t:`$${t}`};return{taxAmount:t(e.tax),shippingAmount:t(e.shippingCost),totalAmount:t(e.totalAmount),taxStatus:e.taxStatus}}function*PE(e,t){var n;yield it(3e4);(null===(n=(yield qe((e=>e.taxAndShipping))).cache[e])||void 0===n?void 0:n.isPending)&&(yield Ue(t,{level:tn,code:"TAX_AND_SHIPPING_REQUEST_TIMEOUT",message:"Instant-purchase tax and shipping timed out after 30000ms"}),HE.delete(e),yield ze({type:pg,payload:{cacheKey:e,taxAndShippingEntry:{isPending:!1,taxAndShippingData:{error:nE.REQUEST_TIME_OUT}}}}))}function*FE(e){var t;const n=(yield qe((e=>e.taxAndShipping))).cache[e];return!!n&&(!!n.isPending||!(null===(t=n.taxAndShippingData)||void 0===t?void 0:t.error))}function jE(e){var t;const n=e.preSelectedQuantity?e.preSelectedQuantity:1;return{cartItemId:e.cartItemId,catalogItemId:e.catalogItemId,title:e.title,quantity:n,unitPrice:e.price,totalPrice:e.price*n,currency:null!==(t=e.currency)&&void 0!==t?t:"USD"}}const ZE=["Success","Unspecified","Error"],$E=["Implicit","Explicit"];function*GE(e,t){if("Checkout"!==t.payload.event)return;yield ze({type:An,payload:{key:Bt,value:BE(t.payload),offerPositionIndex:t.payload.offerPositionIndex}});const n=t.payload.data;if(n){const i="Completed"===n.event;if("Completed"===n.event||"Dismissed"===n.event){(i?ZE.includes(n.reason):$E.includes(n.reason))?yield ze({type:wn,payload:Object.assign(Object.assign({event:n.event},i?{completionReason:n.reason}:{dismissalReason:n.reason}),{offerPositionIndex:t.payload.offerPositionIndex})}):yield Ue(e,{level:tn,code:"CHECKOUT_BUTTON_INVALID_OFFERLIFECYCLE",message:`Misconfigured offer lifecycle payload in handleCheckoutLifecycle: ${n}.`})}else yield Ue(e,{level:tn,code:"CHECKOUT_BUTTON_UNKNOWN_EVENT",message:`Unknown event type in checkout lifecycle: ${JSON.stringify(n)}`})}}function BE(e){var t;return null!==(t={ViewOffer:0,ViewTransactionDetails:1,EditPayment:2,EditShipping:3,EditPaymentAndShipping:4,CostBreakdown:5,Confirmation:6,CloseOffer:7}[e.targetStep])&&void 0!==t?t:0}function*UE(){const e=yield qe((e=>{var t;return null===(t=e.staticData)||void 0===t?void 0:t.offer.creative.instanceGuid}));e&&(yield ze({type:Dn,payload:{name:"SignalInstantPurchaseDismissal",parentGuid:e}}))}function*zE(e,t){yield Ue(e.globalDispatch.bind(e),t)}function*WE(e,t,n){yield ze({type:Dn,payload:{name:"SignalUserInteraction",parentGuid:e,action:t,context:n}})}function*YE(e){yield ze({type:Sn,payload:{key:"ProcessingState",value:e}})}function*KE(e,t){for(;;){const n=yield Ye(e);yield*WE(t.catalogItem.instanceGuid,n.interaction,t.paymentProvider)}}function qE(e,t){return rt((n=>e.onEvent({name:"DEVICE_PAY_AVAILABLE",source:"partner",callback:e=>{!function(e){if(!("object"==typeof e&&null!==e&&"success"in e&&"boolean"==typeof e.success&&"sessionId"in e&&"string"==typeof e.sessionId&&"timestamp"in e&&"string"==typeof e.timestamp&&"response"in e&&"object"==typeof e.response&&null!==e.response))return!1;const t=e.response;let n=!1;for(const e of vb){const i=t[e.responseKey];if(void 0!==i){if("boolean"!=typeof i)return!1;n=!0}}return n}(e)?t({level:tn,code:tE,message:`Malformed data received from wsdk for device pay available: ${JSON.stringify(e)}`}):n(e)}})))}function*JE(e,t){var n;try{for(;;){const t=yield Ye(e);t&&(yield ze({type:gg,payload:t}))}}catch(e){yield Ue(t,{level:tn,code:Xb,message:null!==(n=e.message)&&void 0!==n?n:"Unknown error in device-pay-available channel"})}finally{e.close()}}function*XE(e,t){var n;const i=vb.find((e=>!1===t.payload.response[e.responseKey]));if(!i)return;yield Ue(e,{level:tn,code:"DEVICE_PAY_NOT_AVAILABLE",message:`${i.displayName} is not available on this device.`}),yield ze({type:Dn,payload:{name:"SignalUserInteraction",action:"DevicePayUnavailable",context:`${i.displayName.replace(/\s+/g,"")}Failed`}});if(!(yield qe(gb)))return;const a=yield qe((e=>{var t,n,i;return null!==(i=null===(n=null===(t=e.staticData)||void 0===t?void 0:t.offer.transactionData)||void 0===n?void 0:n.supportedPaymentMethods)&&void 0!==i?i:[]}));if(1===(null==a?void 0:a.length)&&(null===(n=a[0])||void 0===n?void 0:n.type)===Nt.ApplePay)return;const o=yield qe((e=>e.offerLifecycleEvent));if("Dismissed"===(null==o?void 0:o.event)||"Completed"===(null==o?void 0:o.event))return;const r={event:"Dismissed",dismissalReason:"Implicit"};yield ze({type:ug,payload:r}),yield ze({type:wn,payload:r})}function*QE(e,t,n,i){var a,o;i&&(yield et(KE,i,n));try{const{response:t,timeout:i,dismissal:a}=yield nt({response:Ye(e),timeout:it(36e4),dismissal:Ye((e=>{var t;return e.type===wn&&"Dismissed"===(null===(t=e.payload)||void 0===t?void 0:t.event)}))});t?yield ze({type:yg,payload:t,context:n}):i?yield ze({type:yg,payload:{success:!1,timestamp:(new Date).toISOString(),sessionId:"",error:{code:"DEVICE_PAY_RESPONSE_TIMEOUT",message:"No device-pay response before the timeout"}},context:n}):a&&(yield ze({type:yg,payload:{success:!1,cancelled:!0,timestamp:(new Date).toISOString(),sessionId:"",error:{code:Qb,message:"Offer dismissed while device pay was active"}},context:n}))}catch(e){yield Ue(t,{level:tn,code:Xb,message:null!==(a=e.message)&&void 0!==a?a:"Unknown error in device-pay channel"}),yield ze({type:yg,payload:{success:!1,timestamp:(new Date).toISOString(),sessionId:"",error:{code:Xb,message:null!==(o=e.message)&&void 0!==o?o:"Unknown error in device-pay channel"}},context:n})}finally{e.close(),null==i||i.close()}}function*eI(e,t,n){var i,a,o,r,l,s,c,d;const{catalogItem:u,quantity:p,paymentProvider:f}=n.payload;if("Paypal"===f)return void(yield ze({type:bg,payload:{catalogItem:u,quantity:p}}));const h=yield qe((e=>e)),v=null!==(a=null===(i=null==h?void 0:h.staticData)||void 0===i?void 0:i.offer.accountId)&&void 0!==a?a:"",m=ld(u,p);if(!m)return yield Ue(t,{level:tn,code:Ub,message:`Unable to translate catalog item with ID ${u.catalogItemId} to cart item for device pay transaction.`}),yield ze({type:Dn,payload:vE(u,p,v,"DEVICE_PAY_INVALID_CART_ITEM_MAPPING")}),yield ze({type:ug,payload:{event:"Completed",completionReason:"Error"}}),yield*YE(0),void(yield ze({type:An,payload:{key:"offerComplete",value:2}}));const C=h?null===(o=bb(h).taxAndShippingData)||void 0===o?void 0:o.taxAndShippingPricing:void 0,y=C&&parseFloat(C.totalAmount)||m.totalPrice,g="Afterpay"===f?function(e){if(e)return Object.assign(Object.assign(Object.assign({address1:e.address1},void 0!==e.address2&&{address2:e.address2}),{city:e.city,state:e.state,country:e.country}),void 0!==e.zip&&{postalCode:e.zip})}(null===(l=null===(r=null==h?void 0:h.staticData)||void 0===r?void 0:r.offer.transactionData)||void 0===l?void 0:l.shippingAddress):void 0,b=(E=f,vb.find((e=>e.provider===E)));var E;const I=null!==(d=null===(c=null===(s=null==h?void 0:h.staticData)||void 0===s?void 0:s.offer.transactionData)||void 0===c?void 0:c.supportedPaymentMethods)&&void 0!==d?d:[],L=void 0!==b&&I.some((e=>e.type===b.paymentMethodType));b?L||(yield Ue(t,{level:tn,code:"DEVICE_PAY_PROVIDER_UNSUPPORTED",message:`Device pay provider ${f} is not in transactionData.supportedPaymentMethods — omitting paymentMethod from INITIATE_DEVICE_PAY_EVENT.`})):yield Ue(t,{level:tn,code:"DEVICE_PAY_PROVIDER_UNMAPPED",message:`Device pay provider ${f} has no entry in DEVICE_PAY_PROVIDERS — omitting paymentMethod from INITIATE_DEVICE_PAY_EVENT.`});const D=function(e,t){return rt((n=>e.onEvent(...["DEVICE_PAY_SUCCESS","DEVICE_PAY_FAILURE","DEVICE_PAY_CANCEL"].map((e=>({name:e,source:"partner",callback:e=>{var i;"object"==typeof(i=e)&&null!==i&&"success"in i&&"boolean"==typeof i.success&&"timestamp"in i&&"string"==typeof i.timestamp&&"sessionId"in i&&"string"==typeof i.sessionId&&(!("retryable"in i)||"boolean"==typeof i.retryable)?n(e):t({level:tn,code:tE,message:`Malformed data received from wsdk for device pay: ${JSON.stringify(e)}`})}}))))))}(e,t),w=function(e){return rt((t=>e.onEvent({name:"DEVICE_PAY_INTERACTION",source:"partner",callback:e=>{(function(e){if("object"!=typeof e||null===e)return!1;const t=e;return!0===t.success&&"string"==typeof t.interaction&&"string"==typeof t.timestamp&&"string"==typeof t.sessionId})(e)&&t(e)}})))}(e);yield et(QE,D,t,{catalogItem:u,quantity:p,providerId:v,paymentProvider:f},w),yield ze({type:Dn,payload:{name:"SignalCartItemInstantPurchaseInitiated",parentGuid:u.instanceGuid,objectData:{catalogItemId:u.catalogItemId,quantity:p}}}),yield ze({type:Sn,payload:{key:mb,value:0}}),yield*YE(1),yield ze({type:xn,payload:{name:"INITIATE_DEVICE_PAY_EVENT",body:Object.assign({upsellItems:[{cartItemId:m.cartItemId,catalogItemId:m.catalogItemId,title:u.title,quantity:m.quantity,unitPrice:m.unitPrice,totalPrice:m.totalPrice,currency:m.currency}],totalUpsellPrice:y,currency:m.currency,paymentDetails:Object.assign({paymentProvider:f},b&&L?{paymentMethod:b.layoutPaymentMethodType}:{})},g?{fulfillmentDetails:{shippingAttributes:g}}:{})}})}function*tI(e,t,n,i,a){yield ze({type:Dn,payload:vE(e,t,n,null!=i?i:fE,a)}),yield ze({type:ug,payload:{event:"Completed",completionReason:"Error"}}),yield*YE(0),yield ze({type:An,payload:{key:"offerComplete",value:2}})}function*nI(e,t){var n,i;const a=yield qe((e=>e)),o=(null!==(i=null===(n=null==a?void 0:a.staticData)||void 0===n?void 0:n.offer.catalogItems)&&void 0!==i?i:[])[0];if(!(null==o?void 0:o.providerData))return void(yield Ue(t,{level:tn,code:"MISSING_DEVICE_PAY_PROVIDER_DATA",message:"No provider data found on the first catalog item for device pay preparation."}));let r;try{r=JSON.parse(o.providerData)}catch(e){return void(yield Ue(t,{level:tn,code:tE,message:`Failed to parse providerData for catalog item ${o.catalogItemId}.`}))}const l=r.stripeAccountId,s=r.merchantName,c=r.countryCode,d={stripeAccountId:"string"==typeof l?l:void 0,merchantName:"string"==typeof s?s:void 0,countryCode:"string"==typeof c?c:void 0,currency:o.currency},u=qE(e,t);yield et(JE,u,t),yield ze({type:xn,payload:{name:"PREPARE_DEVICE_PAY_EVENT",body:d}})}function*iI(e,t){var n,i,a;const{payload:{success:o,response:r,error:l,cancelled:s,retryable:c,purchaseId:d},context:{catalogItem:u,quantity:p,providerId:f,paymentProvider:h}}=t;return s?(yield*WE(u.instanceGuid,"DevicePayCancelled",h),yield ze({type:Dn,payload:vE(u,p,f,Qb,d)}),void(yield*YE(0))):o||!0!==c?void(o?r&&r.success?(yield*function*(e,t,n){yield ze({type:Dn,payload:hE(e,t,n)}),yield ze({type:ug,payload:{event:"Completed",completionReason:"Success"}}),yield*YE(0),yield ze({type:An,payload:{key:"offerComplete",value:1}})}(u,p,d),yield*WE(u.instanceGuid,"DevicePaySucceeded",h)):(yield*tI(u,p,f,null!==(n=null==r?void 0:r.reason)&&void 0!==n?n:eE,d),yield*WE(u.instanceGuid,"DevicePayFailed",h)):(yield Ue(e,{level:tn,code:Ub,message:`Device pay response is not successful: ${JSON.stringify(l)}`}),yield*tI(u,p,f,null!==(a=null!==(i=null==l?void 0:l.code)&&void 0!==i?i:null==l?void 0:l.message)&&void 0!==a?a:eE,d),yield*WE(u.instanceGuid,"DevicePayFailed",h))):(yield*WE(u.instanceGuid,"DevicePayRetryableFailure",h),yield ze({type:Dn,payload:vE(u,p,f,"DEVICE_PAY_RETRYABLE_DECLINE",d)}),yield*YE(0),void(yield ze({type:Sn,payload:{key:mb,value:1}})))}function*aI(e){"Dismissed"===e.payload.event&&(yield ze({type:xn,payload:{name:"ABORT_DEVICE_PAY_EVENT"}}),yield*YE(0))}function*oI(e,t,n){var i,a;try{for(;;){const t=yield Ye(e);if(t)switch(t.type){case"DEVICE_PAY_TRANSACTION_DETAILS_READY":yield ze({type:Ig,payload:t.data}),yield ze({type:rg,payload:{event:"Checkout",targetStep:"ViewTransactionDetails",offerPositionIndex:n}});break;case"DEVICE_PAY_LOADING":yield ze({type:rg,payload:{event:"Checkout",targetStep:"Confirmation",offerPositionIndex:n}}),yield ze({type:Eg});break;case"DEVICE_PAY_SUCCESS":{yield*cI("ProcessingState",0),yield ze({type:"PAYPAL/SUCCESS"});const e=yield qe((e=>e.paypalPurchaseContext));return e&&(yield ze({type:Dn,payload:hE(e.catalogItem,e.quantity)})),yield ze({type:ug,payload:{event:"Completed",completionReason:"Success"}}),void(yield ze({type:An,payload:{key:"offerComplete",value:1}}))}case"DEVICE_PAY_FAILURE":{yield*cI("ProcessingState",0),yield ze({type:"PAYPAL/FAILURE"});const e=yield qe((e=>e.paypalPurchaseContext));return e&&(yield ze({type:Dn,payload:vE(e.catalogItem,e.quantity,e.providerId,null!==(i=t.reason)&&void 0!==i?i:fE)})),yield ze({type:ug,payload:{event:"Completed",completionReason:"Error"}}),void(yield ze({type:An,payload:{key:"offerComplete",value:2}}))}case"DEVICE_PAY_CANCEL":return yield*cI("ProcessingState",0),yield ze({type:"PAYPAL/CANCEL"}),void(yield ze({type:rg,payload:{event:"Checkout",targetStep:"ViewOffer",offerPositionIndex:n}}))}}}catch(e){yield Ue(t,{level:tn,code:"PAYPAL_CHANNEL_ERROR",message:null!==(a=e.message)&&void 0!==a?a:"Unknown error in PayPal event channel"})}finally{e.close()}}function*rI(e,t){var n,i;const a=yield qe((e=>e));(null!==(i=null===(n=null==a?void 0:a.staticData)||void 0===n?void 0:n.offer.catalogItems)&&void 0!==i?i:[])[0]?yield ze({type:xn,payload:{name:"PREPARE_DEVICE_PAY_EVENT",body:{paymentProvider:"Paypal"}}}):yield Ue(t,{level:tn,code:"MISSING_PAYPAL_CATALOG_ITEM",message:"No catalog items found for PayPal preparation."})}function*lI(e,t,n){var i,a,o,r,l,s;const c=yield qe((e=>e)),d=null!==(a=null===(i=null==c?void 0:c.staticData)||void 0===i?void 0:i.offer.accountId)&&void 0!==a?a:"";yield ze({type:Lg,payload:{catalogItem:n.payload.catalogItem,quantity:n.payload.quantity,providerId:d}}),yield*cI("ProcessingState",1),yield ze({type:Dn,payload:{name:"SignalCartItemInstantPurchaseInitiated",parentGuid:n.payload.catalogItem.instanceGuid,objectData:{catalogItemId:n.payload.catalogItem.catalogItemId,quantity:n.payload.quantity}}});const u=null==c?void 0:c.fulfillmentDetails,p=null!==(r=null===(o=null==c?void 0:c.staticData)||void 0===o?void 0:o.position)&&void 0!==r?r:0,f=function(e,t){return rt((n=>e.onEvent(...["DEVICE_PAY_TRANSACTION_DETAILS_READY","DEVICE_PAY_LOADING","DEVICE_PAY_SUCCESS","DEVICE_PAY_FAILURE","DEVICE_PAY_CANCEL"].map((e=>({name:e,source:"partner",callback:i=>{if("DEVICE_PAY_TRANSACTION_DETAILS_READY"===e)!function(e){return"object"==typeof e&&null!==e&&"totalAmount"in e&&"tax"in e&&"shippingFee"in e&&"currency"in e&&"merchantName"in e}(i)?t({level:tn,code:"MALFORMED_PAYPAL_DATA",message:`Malformed transaction details received from PayPal: ${JSON.stringify(i)}`}):n({type:"DEVICE_PAY_TRANSACTION_DETAILS_READY",data:i});else if("DEVICE_PAY_FAILURE"===e){const e=function(e){return"object"==typeof e&&null!==e&&"reason"in e&&"string"==typeof e.reason}(i)?i.reason:void 0;n({type:"DEVICE_PAY_FAILURE",reason:e})}else n({type:e})}}))))))}(e,t);yield et(oI,f,t,p),yield ze({type:xn,payload:{name:"INITIATE_DEVICE_PAY_EVENT",body:Object.assign(Object.assign({upsellItems:[{cartItemId:n.payload.catalogItem.cartItemId,catalogItemId:n.payload.catalogItem.catalogItemId,title:n.payload.catalogItem.title,quantity:n.payload.quantity,unitPrice:n.payload.catalogItem.price,totalPrice:n.payload.catalogItem.price*n.payload.quantity,currency:null!==(l=n.payload.catalogItem.currency)&&void 0!==l?l:""}],totalUpsellPrice:n.payload.catalogItem.price*n.payload.quantity,currency:null!==(s=n.payload.catalogItem.currency)&&void 0!==s?s:""},u&&{fulfillmentDetails:u}),{paymentDetails:{paymentProvider:"Paypal",paymentMethod:"PAYPAL"}})}})}function*sI(){yield ze({type:xn,payload:{name:"COMPLETE_DEVICE_PAY_EVENT"}})}function*cI(e,t){yield ze({type:Sn,payload:{key:e,value:t}})}const dI={InitiateTax:function*(){const e=yield qe((e=>e.selectedItem));e&&(yield ze({type:vg,payload:{catalogItem:e}}))}};function*uI(e,t){yield Ue(e.globalDispatch.bind(e),{type:Tn,payload:{event:t}})}function*pI(e,t){yield Je([Qe(CE),Qe(nI,e,t),Qe(rI,e,t),Qe(_E,e,t),Xe(rg,GE.bind(null,t)),Xe(wn,aI),Xe(ag,yE),tt(lg,gE.bind(null,e,t)),tt(sg,bE.bind(null,t)),tt(cg,EE.bind(null,t)),tt(dg,IE.bind(null)),Xe(vg,kE.bind(null,e,t)),tt(Cg,eI.bind(null,e,t)),tt(bg,lI.bind(null,e,t)),tt(Eg,sI),Xe(gg,XE.bind(null,t)),tt(yg,iI.bind(null,t)),Xe(mn,zE.bind(null,e)),Xe(_n,mC.bind(null,e,t)),Xe(Nn,UE),Xe(og,uI.bind(null,e,"selectedCatalogItem")),Xe(Fn,rd.bind(null,e,dI)),Xe("*",od.bind(null,[mn,_n,Fn],e))])}Object.assign(Object.assign({},zn),{INITIATE_INSTANT_PURCHASE:lg,INSTANT_PURCHASE_PARTNER_RESPONSE:sg,UPSELL_ITEM_INSTANT_PURCHASE_PARTNER_RESPONSE:cg,INSTANT_PURCHASE_WSDK_RESPONSE:dg});const fI=(new bo).withAppFactory((function(n){var i;if(n.rootElement){const o=h(n.rootElement),r=Gb({staticData:{offer:n.offerData,position:n.offerPositionIndex,schemaVersion:n.schemaVersion},fulfillmentDetails:Zb(n.offerData.creative)}),l=function(e,t,n=Gb()){const i=at(),a=st({reducer:$b,devTools:{name:"Instant Purchase"},preloadedState:n,middleware:e=>e({thunk:!1}).concat(i)});return i.run(pI,e,t),a}(n.gateway,n.logger,r);o.render(e(a.StrictMode,{children:t(Ro,{info:{referralCreativeId:(null===(i=n.offerData.creative.referralCreativeId)||void 0===i?void 0:i.toString())||"N/A"},children:[e(cs,{}),e(y,{store:l,children:e(rs,{settings:n,dispatch:l.dispatch,children:e(jb,{})})})]})}))}}));var hI=Object.freeze({__proto__:null,moduleConnectorBuilder:fI});const vI=d(null),mI=({children:t})=>{var n;const[i,a]=l([]),[r,s]=l(0),[c,d]=l(0),u=za();return o((()=>{let e=0;const t=i.length,n=setInterval((()=>{e=e+1>=t?0:e+1,s(e)}),c);return()=>clearInterval(n)}),[c,i]),e(vI.Provider,{value:{images:i,activeIndex:r,duration:c,setImages:a,setActiveIndex:s,setDuration:d},children:e(Ua,{value:u({data:{"image.title":null===(n=i[r])||void 0===n?void 0:n.title}},"creativeCopy"),children:t})})};function CI({active:t,duration:n,containerStyles:i,indicatorStyles:a}){const l=r(null);return o((()=>{t&&l.current&&function(e,t){const n="animate"in e&&"onfinish"in Animation.prototype&&"oncancel"in Animation.prototype&&"finish"in Animation.prototype,i=[{width:0},{width:"100%"}];if(n){const n=e.animate(i,{duration:t,iterations:1});return()=>{n.finish()}}}(l.current,n)}),[t]),e("div",{style:Object.assign({position:"relative",height:"2px",width:"100%",backgroundColor:"#FFFFFF66"},i),children:e("span",{ref:l,style:Object.assign({animationIterationCount:"infinite",animationFillMode:"forwards",animationTimingFunction:"linear",position:"absolute",top:0,left:0,height:"100%",backgroundColor:"#FFF",width:t?"100%":0},a)})})}function yI(e){const t=u(Mo),n=[];return e.forEach((e=>{const i=t(`${e}.src`,"copy"),a=t(`${e}.title`,"copy");if(void 0===i)return;const o=function(e={}){return Object.assign({light:"https://plus.unsplash.com/premium_photo-1675826774817-fe983ceb0475?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=200&q=80",dark:"https://images.unsplash.com/photo-1679941734238-56628f5991f7?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=200&q=80"},e)}({light:i,title:a});n.push(o)})),n}function gI({schema:n,testId:i}){const r=JSON.parse(n.data),{styles:l,duration:s,imageKeys:c}=r,d=u(vI),p=yI(c);return o((()=>{null==d||d.setImages(p),null==d||d.setDuration(s)}),[]),t("div",{"data-testid":i,style:Object.assign({position:"relative",flexShrink:1,flexGrow:0,width:"100%"},l.elements.own),children:[a.Children.toArray(p.map(((t,n)=>e("img",{src:t.light,alt:t.title,style:Object.assign({opacity:n===(null==d?void 0:d.activeIndex)?1:0,position:0===n?"relative":"absolute",display:0===n?"block":"",top:0,width:"100%",height:"100%",maxHeight:"100%",maxWidth:"100%",transition:"opacity 300ms ease-in-out",objectFit:"contain"},l.elements.image)})))),e("div",{style:Object.assign({display:"flex",gap:"2px",width:"70%",position:"absolute",margin:"0 15%",bottom:"8px",zIndex:20,justifyContent:"center"},l.elements.indicatorWrapper),children:a.Children.toArray(p.map(((t,n)=>e(CI,{duration:s,active:n===(null==d?void 0:d.activeIndex),containerStyles:l.elements.indicatorContainer,indicatorStyles:l.elements.indicator}))))})]})}const bI={allowedTags:["em","strong","a","br","u","p","li","ul","ol","span"],allowedAttributes:{a:["href","target"],strong:[],em:[],br:[],u:[],p:[],ol:[],ul:[],li:[],span:[]},allowedSchemes:["http","https"]},EI=new Map([["&","_;^;_"]]),II=new RegExp(`<a *(?=${bI.allowedAttributes.a.join("|")}|>)`,"g"),LI=new RegExp("<span*>","g"),DI=new RegExp(`<a *(?:(?:${bI.allowedAttributes.a.filter((e=>"href"!==e)).join("|")})="[^"]*")* *href="([^"]+)"`,"g"),wI=new RegExp("(<br *?>)|(<br *?/>)","g"),SI="<br/>";function xI(t){const n=za(),i=xo(),a=c((()=>{const e=n(t.schema.value);if(!function(e){const t=function(e){return e.replaceAll(DI,((e,t)=>{const n=t.replaceAll("&",EI.get("&"));return e.replace(t,n)})).replaceAll(wI,SI)}(e);return t===bt(t,bI)}(e))throw new nn("FAILED_SANITISING_HTML","Invalid HTML tags");return e}),[t.schema.value,n]),{tabIndex:o,styles:r,isDisabled:l}=wt(i);return a?e(_r,{styles:t.schema.styles,children:({classnames:n})=>{const i=[(null==n?void 0:n.link)?`class = "${null==n?void 0:n.link}"`:"",l?'tabindex="-1"':"",l?"style=\"pointer-events: 'none'; user-select: none;\"":"",l?'aria-disabled="true"':""].filter((e=>e.length>0));return s=a,new RegExp("</(p|ul|ol)>").test(s)?e("div",{tabIndex:o,style:r,"aria-hidden":l,className:null==n?void 0:n.own,"data-testid":t.testId,"data-e2e":"RichText",dangerouslySetInnerHTML:{__html:a.replace(II,`<a ${i.join(" ")}`).replace(LI,`<span${(null==n?void 0:n.span)?` class=${n.span}`:""}>`)}}):e("p",{tabIndex:o,style:r,"aria-hidden":l,className:null==n?void 0:n.own,"data-testid":t.testId,"data-e2e":"RichText",dangerouslySetInnerHTML:{__html:a.replace(II,`<a ${i.join(" ")}`).replace(LI,`<span${(null==n?void 0:n.span)?` class=${n.span}`:""}>`)}});var s}}):null}function AI({schema:t}){const n=ba(),i=la(Zo(),Xa()),o=JSON.parse(t.data),[r]=gt({loop:!1,align:"start",slidesToScroll:2,containScroll:"trimSnaps"}),{styles:l,body:{tierItems:s}}=o;if(!s||!s.length)return;const c=s.length>2;return e("div",{className:i`
187
+ `}(d?la(u,s,d):$e,"string"==typeof t?t:null==t?void 0:t.light,"string"==typeof t||null==t?void 0:t.dark);if(!l)return null;return e("button",{ref:r,type:"button",className:[p,n].filter(Boolean).join(" "),style:{minWidth:140,minHeight:30,border:"none",cursor:i?"not-allowed":"pointer",opacity:i?.5:1},onClick:e=>{if(i)return e.preventDefault(),void e.stopPropagation();null==a||a(e)},disabled:i,"aria-label":"Apple Pay","aria-disabled":i,tabIndex:o})})),Db={color:"#D92D20",fontSize:"12px",fontFamily:"inherit",fontWeight:400,lineHeight:"16.5px",letterSpacing:"0.064px",margin:"6px 0 0 20px"};function wb({className:t,message:n}){return e("p",{role:"alert","aria-live":"assertive",className:t,style:t?void 0:Db,children:(null==n?void 0:n.trim())||"Payment failed. Choose another card and try again."})}const Sb={elements:{own:[],errorText:[{default:{spacing:{margin:"6 0 0 20"},text:{textColor:{light:"#D92D20"},fontSize:12,fontFamily:"inherit",fontWeight:"400",lineHeight:16.5,letterSpacing:.064}}}]}};function xb(i){const a=v(),l=ba(),s=m(Cb),c=m(yb),d=Ca(0,(e=>{var t;return null!==(t=e.customStates[mb])&&void 0!==t?t:null})),u="ApplePay"===i.schema.provider&&1===d,p=r(null);o((()=>{var e;u&&(null===(e=p.current)||void 0===e||e.focus())}),[u]),o((()=>{a(s?{type:Sn,payload:{key:"applePayUnavailable",value:0}}:{type:Sn,payload:{key:"applePayUnavailable",value:1}})}),[s,a]);const f=xo(),{tabIndex:h,styles:C,isDisabled:y}=wt(f),g=Fo(),b=Za(g,"catalogItem"),E=Sg(),I=Eb(i.schema),L="ApplePay"===i.schema.provider?(D=i.schema.styles)?pn(Sb,D):Sb:i.schema.styles;var D;const w=e=>{var t;e.preventDefault();!i.schema.validatorTriggerConfig||E.validateFieldKeys(null!==(t=i.schema.validatorTriggerConfig.validatorFieldKeys)&&void 0!==t?t:[])?a({type:Cg,payload:{catalogItem:g,quantity:1,paymentProvider:i.schema.provider}}):a({type:Dn,payload:{name:"SignalUserInteraction",action:"ValidationTriggerFailed",context:"CatalogDevicePayButton",parentGuid:g.instanceGuid}})};return("ApplePay"!==i.schema.provider||s)&&("Afterpay"!==i.schema.provider||c)?e(_r,{styles:L,children:({classnames:a,mapperRef:o})=>{var r;return"ApplePay"===i.schema.provider?t(n,{children:[e(Lb,{ref:p,buttonStyle:I,className:null==a?void 0:a.own,disabled:y,onClick:w,tabIndex:h}),u?e(wb,{className:null==a?void 0:a.errorText,message:i.schema.errorMessage}):null]}):e("button",{type:"button",className:null==a?void 0:a.own,onClick:w,"data-testid":i.testId,"data-e2e":"CatalogDevicePayButton",disabled:y,"aria-disabled":y,"aria-label":null!==(r=i.schema.a11yLabel)&&void 0!==r?r:`Pay with ${i.schema.provider}`,tabIndex:h,style:Object.assign({cursor:"pointer"},C),children:e(Ua,{value:b,children:(null==a?void 0:a.own)?Ab(i.schema.children,a.own,o,l,i.testId):Tb(i.schema.children,l,i.testId)})})}}):null}function Ab(t,n,i,a,o){return e(Ya,{value:i(n),children:Tb(t,a,o)})}function Tb(e,t,n){return a.Children.toArray(e.map(((e,i)=>t(e,void 0,n?`${n}-child${i}`:void 0))))}const Ob=d(null),Mb=Ob.Provider;const Vb=["ArrowDown","ArrowUp","Enter","Escape","Tab"];function Hb(n){var i,a;const{validatorFieldConfig:d,a11yLabel:p,placeholderValue:f}=n.schema,h=function(){const e=u(Ob);if(!e)throw new Error("CatalogDropdown must be rendered inside a DropdownOptionsProvider");return e}(),m=v(),C=xo(),{styles:y,isDisabled:g}=wt(C),b=r(null),E=r([]),[I,L]=l(!1),[D,w]=l(-1),S=Sg(),x=r(null!==(i=h.selectedValue)&&void 0!==i?i:null);x.current=null!==(a=h.selectedValue)&&void 0!==a?a:null;const A=null!==h.selectedValue;function T(e){var t;return!!e.outOfStock||!A&&(null!==(t=e.disabled)&&void 0!==t&&t)}const O=c((()=>h.options.map((e=>({key:e.value,label:e.label,disabled:T(e),isSelected:e.value===h.selectedValue})))),[h,A]),M=c((()=>O.findIndex((e=>e.isSelected))),[O]),V=c((()=>{var e;const t=O.find((e=>e.isSelected));return null!==(e=null==t?void 0:t.label)&&void 0!==e?e:null}),[O]),H=c((()=>{if(!d)return;const e=d.validationFieldKey,t=h.attributeId;return t?`${e}-${t}`:e}),[d,h.attributeId]);function _(){return null!==x.current}const k=c((()=>{if(!d)return[];const e={Required:_};return d.validators.map((t=>e[t.type])).filter((e=>void 0!==e))}),[d]),R=c((()=>{if(!d)return;const e=d.validators.find((e=>"Required"===e.type));return null==e?void 0:e.value.message}),[d]);function N(){g||(I?F():P())}function P(){g||L(!0)}function F(){g||L(!1)}function j(e){var t;const n=O[e];n&&!n.disabled&&(w(e),F(),x.current=n.key,h.onSelect(n.key),m({type:Dn,payload:{name:"SignalUserInteraction",action:"DropDownItemSelected",context:"CatalogDropDown"}}),(null==d?void 0:d.validateOnChange)&&H&&S.validateFieldKeys([H]),null===(t=b.current)||void 0===t||t.focus())}function Z(e){var t;if(!g&&Vb.includes(e.key))switch(e.key){case"ArrowDown":{e.preventDefault();const t=D+1;t<O.length&&w(t);break}case"ArrowUp":{e.preventDefault();const t=D-1;t>=0&&w(t);break}case"Enter":e.preventDefault(),I?j(D):P();break;case"Tab":I&&F();break;case"Escape":e.preventDefault(),I&&(F(),null===(t=b.current)||void 0===t||t.focus())}}xg(H,k),o((()=>{var e,t;I?-1===M?null===(e=b.current)||void 0===e||e.focus():null===(t=E.current[M])||void 0===t||t.focus():w(M)}),[I,M]),o((()=>{var e;null===(e=E.current[D])||void 0===e||e.focus()}),[D]);const $=s(((e,t)=>{E.current[t]=e}),[]),G=!(!H||S.getFieldKeyValidity(H)),B=h.placeholderLabel||f||"Select an option";return O.length<=1?null:e(_r,{styles:n.schema.styles,children:({classnames:i})=>t("div",{"data-testid":n.testId?`${n.testId}-container`:void 0,"data-errored":G?"true":void 0,style:{display:"flex",flexDirection:"column"},children:[t("div",{ref:b,className:null==i?void 0:i.own,onKeyDown:Z,onClick:N,onBlur:e=>{var t;(null===(t=b.current)||void 0===t?void 0:t.contains(e.relatedTarget))||I&&F()},"data-e2e":"CatalogDropdown","data-testid":n.testId,"data-errored":G?"true":void 0,"aria-label":p||void 0,"aria-expanded":I,"aria-haspopup":"listbox","aria-disabled":g,"aria-controls":n.testId?`${n.testId}-option-list`:void 0,role:"combobox",style:Object.assign({position:"relative"},y),tabIndex:0,children:[t("div",{className:null==i?void 0:i.head,"data-testid":n.testId?`${n.testId}-head`:void 0,"data-errored":G?"true":void 0,style:Object.assign({cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"space-between"},y),children:[e("span",{children:null!=V?V:B}),e("span",{className:null==i?void 0:i.icon,"data-testid":n.testId?`${n.testId}-icon`:void 0,"aria-hidden":"true",style:{transform:I?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease",display:"inline-flex"},children:"▾"})]}),I&&e("ul",{className:null==i?void 0:i.optionList,role:"listbox","data-testid":n.testId?`${n.testId}-option-list`:void 0,tabIndex:-1,style:Object.assign({listStyle:"none",padding:0,margin:0,zIndex:9999,position:"absolute",top:"100%",left:0,right:0,overflowX:"hidden",overflowY:"auto"},y),children:O.map(((t,a)=>e("li",{ref:e=>$(e,a),className:null==i?void 0:i.option,role:"option","aria-selected":t.isSelected,"aria-disabled":t.disabled,"data-selected":t.isSelected?"true":void 0,onClick:e=>{e.stopPropagation(),g||j(a)},tabIndex:-1,"data-e2e":"CatalogDropdownOption","data-testid":n.testId?`${n.testId}-option-${a}`:void 0,style:Object.assign({cursor:t.disabled?"not-allowed":"pointer",display:"flex",opacity:t.disabled?.5:1},y),children:t.label},t.key)))})]}),G&&e("div",{className:null==i?void 0:i.error,"data-testid":n.testId?`${n.testId}-error`:void 0,"data-errored":"true",role:"alert",children:R})]})})}function _b(t){const n=Sa(),i=c((()=>n.catalogItems||[]),[n]),a=n.catalogItemGroup,r=ba(),d=v(),u=c((()=>{var e;return null!==(e=null==a?void 0:a.attributes)&&void 0!==e?e:[]}),[null==a?void 0:a.attributes]),p=m((e=>e.selectedItem)),[f,h]=l({});o((()=>{p&&0!==u.length&&h((e=>{if(Object.keys(e).length>0)return e;const t=function(e,t){const n={};for(const i of e){const e=i.options.find((e=>e.catalogItemIds.includes(t)));e&&(n[i.attributeId]=e.label)}return n}(u,p.catalogItemId);return Object.keys(t).length>0?t:e}))}),[p,u]);const C=c((()=>function(e,t){let n=null;for(const i of e){const e=t[i.attributeId];if(!e)continue;const a=i.options.find((t=>t.label===e));if(!a)continue;const o=new Set(a.catalogItemIds);if(null===n)n=o;else{const e=n;n=new Set(Array.from(e).filter((e=>o.has(e))))}}return n}(u,f)),[u,f]);o((()=>{if(!C||0===C.size)return;const e=i.find((e=>C.has(e.catalogItemId)));e&&d({type:ag,payload:{catalogItem:e}})}),[C,i,d]);const y=s(((e,t)=>{h((n=>Object.assign(Object.assign({},n),{[e]:t})))}),[]);return 0===u.length?null:e(_r,{styles:t.schema.styles,children:({classnames:n})=>e("div",{className:null==n?void 0:n.own,"data-testid":t.testId,"data-e2e":"CatalogSelectorsStacked",style:{display:"flex",flexDirection:"column"},children:u.map((n=>{var a;return e(kb,{attribute:n,catalogItems:i,eligibleItemIds:C,selectedValue:null!==(a=f[n.attributeId])&&void 0!==a?a:null,onSelect:y,mapper:r,template:t.schema.default,testId:t.testId},n.attributeId)}))})})}function kb({attribute:t,catalogItems:n,eligibleItemIds:i,selectedValue:a,onSelect:o,mapper:r,template:l,testId:d}){const u=c((()=>t.options.map((e=>{const t=null!==i&&!e.catalogItemIds.some((e=>i.has(e))),a=function(e,t){const n=t.filter((t=>e.includes(t.catalogItemId)));return n.length>0&&n.every((e=>(e.inventoryStatus||Rt.Unknown)===Rt.OutOfStock))}(e.catalogItemIds,n);return{label:e.label,value:e.label,disabled:t,outOfStock:a}}))),[t.options,i,n]),p=s((e=>{o(t.attributeId,e)}),[o,t.attributeId]),f=c((()=>({options:u,selectedValue:a,onSelect:p,placeholderLabel:t.label,attributeId:t.attributeId})),[u,a,p,t.label,t.attributeId]);return e(Mb,{value:f,children:e("div",{"data-testid":d?`${d}-attribute-${t.attributeId}`:void 0,children:r(l,void 0,d?`${d}-${t.attributeId}`:void 0)})})}function Rb(e){const t=function(e){return`catalogGalleryIndex_${e}`}(e),n=v();return[Ca(0,(e=>{var n;return null!==(n=e.customStates[t])&&void 0!==n?n:null})),s((e=>{n({type:Sn,payload:{key:t,value:e}})}),[n,t])]}function Nb(i){var a;const{schema:d,testId:u}=i,p=null!==(a=d.showIndicators)&&void 0!==a&&a,f=v(),h=Fo(),m=c((()=>Object.values(h.images||{})),[h]),C=m.length>1,y=C?1:0,g=c((()=>C?[m.at(-1),...m,m.at(0)].filter((e=>void 0!==e)):m),[m,C]),[b,E]=Rb(h.instanceGuid),I=C?b+1:b,L=r(I);L.current=I;const D=r(null),w=r([]),[S,x]=l(!1),[A,T]=l(!1),O=xo(),{styles:M,isDisabled:V}=wt(O),H=r(null),_=r(null),k=r(null),R=r(null);function N(e,t,n="smooth"){if(!e||!t)return;const i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=t.scrollLeft+(i.left-a.left);t.scrollTo({left:o,behavior:n})}!function(){const e=r(null);o((()=>{const t=D.current;if(!t)return;let n=0,i=t.scrollLeft;const a=()=>{var o;const r=t.scrollLeft;r===i?n++:(n=0,i=r),n>=5?(null!==e.current&&(cancelAnimationFrame(e.current),e.current=null),null===(o=H.current)||void 0===o||o.call(H)):e.current=requestAnimationFrame(a)};return a(),()=>{null!==e.current&&(cancelAnimationFrame(e.current),e.current=null)}}),[H.current])}(),o((()=>{const e=y;E(0),N(w.current[e]||null,D.current,"instant")}),[h.catalogItemId,y,m,E]);const P=r(null);o((()=>{S?P.current=b:(P.current=null,N(w.current[I]||null,D.current,"smooth"))}),[b]),o((()=>{const e=D.current;if(!e)return;const t=new ResizeObserver((()=>{N(w.current[L.current]||null,e,"instant")}));return t.observe(e),()=>t.disconnect()}),[]);const F=s((e=>{f({type:Dn,payload:{name:"SignalUserInteraction",action:e,context:"CatalogImageGallery",parentGuid:h.instanceGuid}})}),[f,h.instanceGuid]),j=s(((e,t)=>{if(S)return;F(t);const n=I+e;let i=b+e;0===n?i=m.length-1:n===g.length-1&&(i=0),x(!0),N(w.current[n]||null,D.current,"smooth"),E(i);const a=0===n||n===g.length-1,o=()=>{if(x(!1),null!==P.current){const e=P.current;P.current=null;const t=C?e+1:e;N(w.current[t]||null,D.current,"smooth")}};if(a){const e=C?i+1:i;H.current=()=>{N(w.current[e]||null,D.current,"instant"),o()}}else H.current=()=>{o()}}),[S,I,b,m.length,g.length,C,E,F]);function Z(){_.current=null,k.current=null,R.current=null}function $(e){null===_.current&&(_.current=e.pointerId,k.current=e.clientX,R.current=e.clientY)}function G(e){if(null===_.current||null===k.current)return;const t=k.current-e.clientX;Math.abs(t)>30&&(t<0?j(-1,"MainImageSwipeRight"):j(1,"MainImageSwipeLeft")),Z()}function B(i){if(!C)return null;const a=Object.assign({display:"flex",position:"absolute",top:"50%",transform:"translateY(-50%)",zIndex:1,border:"none",cursor:V?"not-allowed":"pointer"},A?{opacity:1}:{}),o=e=>e.stopPropagation();return t(n,{children:[d.backwardIcon&&e("button",{style:Object.assign(Object.assign({},a),{left:0}),className:null==i?void 0:i.controlButton,onPointerDown:o,onClick:()=>j(-1,"MainImageScrollIconLeftClick"),"aria-label":"Previous image","data-testid":`${u}-control-backward`,children:d.backwardIcon}),d.forwardIcon&&e("button",{style:Object.assign(Object.assign({},a),{right:0}),className:null==i?void 0:i.controlButton,onPointerDown:o,onClick:()=>j(1,"MainImageScrollIconRightClick"),"aria-label":"Next image","data-testid":`${u}-control-forward`,children:d.forwardIcon})]})}function U(t){return p&&C?e("div",{style:{display:"flex",position:"absolute",bottom:0,left:"50%",transform:"translateX(-50%)"},children:e("div",{className:null==t?void 0:t.progressIndicatorContainer,style:{display:"flex",flexDirection:"row",alignItems:"center"},"data-testid":`${u}-indicator-container`,children:m.map(((n,i)=>{const a=i<b,o=i===b?null==t?void 0:t.activeIndicator:a?null==t?void 0:t.seenIndicator:null==t?void 0:t.indicator;return e("span",{className:o,"data-testid":`${u}-indicator-${i}`},`indicator-${i}`)}))})}):null}function z(e){if(null===_.current||null===k.current||null===R.current)return;const t=Math.abs(e.clientX-k.current),n=Math.abs(e.clientY-R.current);t<10&&n<10||t<n&&Z()}return 0===m.length?null:e(_r,{styles:d.styles,children:({classnames:n})=>{var i;return e("div",{className:null==n?void 0:n.own,"aria-label":null!==(i=d.a11yLabel)&&void 0!==i?i:void 0,children:t("div",{onMouseOver:()=>T(!0),onMouseOut:()=>T(!1),onPointerDown:$,onPointerMove:z,onPointerUp:G,onPointerCancel:Z,onLostPointerCapture:Z,style:{position:"relative",touchAction:"pan-y"},"data-testid":`${u}-main-image-container`,children:[B(n),U(n),e("div",{ref:D,style:{display:"-webkit-box",overflow:"hidden",scrollBehavior:"smooth"},children:g.map(((t,i)=>e("div",{ref:e=>function(e,t){w.current[t]=e}(e,i),children:e("img",{src:t.light,alt:t.alt,title:t.title,className:null==n?void 0:n.mainImage,loading:"lazy",style:Object.assign(Object.assign({},M),{display:"block"}),"data-testid":`${u}-main-image-${i}`,"data-e2e":"CatalogImageGallery-mainImage"})},`${t.light}-${i}`)))})]})})}})}function Pb(t){var n;const{schema:i,testId:a}=t,l="row"===(null!==(n=i.direction)&&void 0!==n?n:"row"),d=v(),u=Fo(),p=c((()=>Object.values(u.images||{})),[u]),[f,h]=Rb(u.instanceGuid),{ref:m,setRef:C,hasOverflow:y,maskStyle:g}=ni(l?"horizontal":"vertical",ii(i.styles)),b=r([]),E=xo(),{styles:I,isDisabled:L,tabIndex:D}=wt(E);const w=s(((e,t,n="smooth")=>{if(!e||!t)return;const i=t.getBoundingClientRect(),a=e.getBoundingClientRect();if(l){const e=a.left+a.width/2,o=i.left+t.clientWidth/2,r=t.scrollLeft+(e-o),l=t.scrollWidth-t.clientWidth;t.scrollTo({left:Math.max(0,Math.min(l,r)),behavior:n})}else{const e=a.top+a.height/2,o=i.top+t.clientHeight/2,r=t.scrollTop+(e-o),l=t.scrollHeight-t.clientHeight;t.scrollTo({top:Math.max(0,Math.min(l,r)),behavior:n})}}),[l]);o((()=>{w(b.current[f]||null,m.current,"instant")}),[u.catalogItemId,p]),o((()=>{w(b.current[f]||null,m.current,"smooth")}),[f]),o((()=>{if(!l)return;const e=m.current;if(e)return e.addEventListener("wheel",t,{passive:!1}),()=>e.removeEventListener("wheel",t);function t(e){m.current&&0!==e.deltaY&&(e.preventDefault(),m.current.scrollLeft+=e.deltaY)}}),[]);const S=s((e=>{d({type:Dn,payload:{name:"SignalUserInteraction",action:e,context:"CatalogThumbnailGallery",parentGuid:u.instanceGuid}})}),[d,u.instanceGuid]),x=s((e=>{S("ThumbnailClick"),h(e),w(b.current[e]||null,m.current,"smooth")}),[S,h,w]);return 0===p.length?null:e(_r,{styles:i.styles,children:({classnames:t})=>{var n,o;const r=p.map(((n,i)=>e("img",{ref:e=>function(e,t){b.current[t]=e}(e,i),src:n.light,alt:n.alt,title:n.title,className:null==t?void 0:t.thumbnail,loading:"lazy",style:Object.assign(Object.assign({},I),{flexShrink:0,objectFit:"cover",cursor:L?"not-allowed":"pointer",pointerEvents:"auto"}),role:"button","aria-label":`View image ${i+1}`,"data-selected":i===f?"true":"false","data-testid":`${a}-thumbnail-${i}`,"data-e2e":"CatalogThumbnailGallery-thumbnail",tabIndex:D,onClick:()=>x(i),onKeyDown:e=>function(e,t){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),x(t))}(e,i)},`thumbnail-${i}`)));return e("div",l?{ref:C,className:null==t?void 0:t.own,"aria-label":null!==(n=i.a11yLabel)&&void 0!==n?n:void 0,style:Object.assign({display:"flex",flexDirection:"row",overflow:"auto",justifyContent:y?"flex-start":void 0,scrollbarWidth:"none",scrollBehavior:"smooth",contain:"inline-size",alignSelf:"stretch"},g),children:r}:{className:null==t?void 0:t.own,"aria-label":null!==(o=i.a11yLabel)&&void 0!==o?o:void 0,style:Object.assign({display:"flex",flexDirection:"column",contain:"size",alignSelf:"stretch"},g),children:e("div",{ref:C,style:{display:"flex",flexDirection:"column",flex:1,minHeight:0,overflow:"auto",justifyContent:y?"flex-start":void 0,scrollbarWidth:"none",scrollBehavior:"smooth"},children:r})})}})}const Fb={CatalogResponseButton:function(t,n){if("CatalogResponseButton"===t.type)return e(Mg,{schema:t.node,testId:n})},CatalogDevicePayButton:function(t,n){if("CatalogDevicePayButton"===t.type)return e(xb,{schema:t.node,testId:n})},CatalogCombinedCollection:function(t,n){if("CatalogCombinedCollection"===t.type)return e(ub,{schema:t.node,testId:n})},EscapeHatch:db,RichText:pb,InlineContainer:function(t,n){if("InlineContainer"===t.type)return e(hb,{schema:t.node,testId:n})},CatalogDropdown:function(t,n){const i=t;if("CatalogDropdown"===i.type)return e(Hb,{schema:i.node,testId:n})},CatalogSelectorsStacked:function(t,n){const i=t;if("CatalogSelectorsStacked"===i.type)return e(_b,{schema:i.node,testId:n})},CatalogImageGallery:function(t,n){if("CatalogImageGallery"===t.type)return e(Nb,{schema:t.node,testId:n})},CatalogThumbnailGallery:function(t,n){if("CatalogThumbnailGallery"===t.type)return e(Pb,{schema:t.node,testId:n})}};function jb(){var t,n,i,a,o;const r=m(bb),l=wo(),s=ba(),c=m(hC),d=za(),u=null===(t=r.taxAndShippingData)||void 0===t?void 0:t.taxAndShippingPricing,p=d({state:c},"textContent")({state:{taxAndShippingData:{isPending:r.isPending,taxAmount:null!==(n=null==u?void 0:u.taxAmount)&&void 0!==n?n:"",shippingAmount:null!==(i=null==u?void 0:u.shippingAmount)&&void 0!==i?i:"",totalAmount:null!==(a=null==u?void 0:u.totalAmount)&&void 0!==a?a:"",taxStatus:null!==(o=null==u?void 0:u.taxStatus)&&void 0!==o?o:"UNAVAILABLE"}}});return e(Ea,{value:s,overrides:Fb,children:e(Ua,{value:p,children:e(ga,{children:e=>e(l)})})})}function Zb(e){if(!e.copy)return null;const t=t=>e.copy[`ppu.${t}`]||"";return{shippingAttributes:{address1:t("shippingAddress1"),address2:t("shippingAddress2"),city:t("shippingCity"),state:t("shippingState"),country:t("shippingCountry"),postalCode:t("shippingZipcode")}}}const $b={staticData:sC,selectedItem:(e=null,t)=>t.type===og?t.payload:e,dynamicData:cC,childLayouts:lC,fulfillmentDetails:(e=null,t)=>"INSTANT_PURCHASE/SET_FULFILLMENT_DETAILS"===t.type?t.payload:e,offerLifecycleEvent:(e=null,t)=>t.type===ug?t.payload:e,devicePayAvailability:(e=null,t)=>{var n;if(t.type===gg){const i=null===(n=t.payload)||void 0===n?void 0:n.response;if("object"!=typeof i||null===i)return e;const a={};for(const e of vb){const t=i[e.responseKey];"boolean"==typeof t&&(a[e.responseKey]=t)}return 0===Object.keys(a).length?e:Object.assign(Object.assign({},null!=e?e:{}),a)}return e},paypalTransactionDetails:(e=null,t)=>t.type===Ig?t.payload:e,paypalPurchaseContext:(e=null,t)=>t.type===Lg?t.payload:e,taxAndShipping:(e={activeCacheKey:null,cache:{}},t)=>{var n;switch(t.type){case fg:{const{cacheKey:n}=t.payload;return{activeCacheKey:n,cache:Object.assign(Object.assign({},e.cache),{[n]:{isPending:!0}})}}case pg:{const{cacheKey:i,taxAndShippingEntry:a}=t.payload;return{activeCacheKey:null!==(n=e.activeCacheKey)&&void 0!==n?n:i,cache:Object.assign(Object.assign({},e.cache),{[i]:a})}}case hg:{const{cacheKey:n}=t.payload;return Object.assign(Object.assign({},e),{activeCacheKey:n})}default:return e}},purchaseId:(e=null,t)=>t.type===mg?t.payload:e};function Gb(e={}){return Object.assign({staticData:null,selectedItem:null,dynamicData:null,childLayouts:{launched:{}},fulfillmentDetails:null,offerLifecycleEvent:null,devicePayAvailability:null,paypalTransactionDetails:null,paypalPurchaseContext:null,taxAndShipping:{activeCacheKey:null,cache:{}},purchaseId:null},e)}function Bb(e,t){const n=[...t].sort(((e,t)=>e.catalogItemId.localeCompare(t.catalogItemId))).map((e=>e.catalogItemId)).join(":");return`${i=e,["address1","address2","city","state","country","countryCode","postalCode"].map((e=>{var t;return(null!==(t=i[e])&&void 0!==t?t:"").toLowerCase().replace(/\s/g,"")})).join("")}:${n}`;var i}const Ub="INVALID_RESPONSE_OBJECT",zb="MISSING_APP_STATE_IN_INSTANT_PURCHASE_MODULE",Wb="MISSING_PAYMENT_REF_IN_INSTANT_PURCHASE_MODULE",Yb="MISSING_STATIC_DATA_IN_INSTANT_PURCHASE_MODULE",Kb="MISSING_CATALOG_ITEMS",qb="MALFORMED_INSTANT_PURCHASE_PARTNER_DATA",Jb="INSTANT_PURCHASE_PARTNER_CHANNEL_ERROR",Xb="DEVICE_PAY_CHANNEL_ERROR",Qb="DEVICE_PAY_CANCELLED",eE="DEVICE_PAY_UNKNOWN_FAILURE",tE="MALFORMED_DEVICE_PAY_DATA";var nE;!function(e){e.REQUEST_TIME_OUT="REQUEST_TIME_OUT",e.REQUEST_FAILED="REQUEST_FAILED"}(nE||(nE={}));function iE(e,t){return rt((n=>e.onEvent({name:_d.PartnerMessage.CartItemInstantPurchaseResponse,source:"partner",callback:e=>{var i;t({level:en,code:"SHOPPABLE_ADS_LEGACY_PARTNER_RESPONSE",message:`Received legacy partner response for first party Shoppable Ads\n ${JSON.stringify(e)}`}),dE(i=e)&&Array.isArray(i.upsellItems)&&i.upsellItems.every((e=>dE(e)&&uE(e,"cartItemId","string")&&uE(e,"name","string")&&uE(e,"unitPrice","number")&&uE(e,"quantity","number")))&&uE(i,"totalUpsellPrice","number")&&pE(i)?n(e):t({level:tn,code:qb,message:`Malformed data received from partner\n ${e}`})}})))}function aE(e,t){return rt((n=>e.onEvent(...["INSTANT_PURCHASE_SUCCESS","INSTANT_PURCHASE_FAILURE"].map((e=>({name:e,source:"partner",callback:e=>{var i;dE(i=e)&&uE(i,"timestamp","string")&&uE(i,"sessionId","string")?n(e):t({level:tn,code:"MALFORMED_INSTANT_PURCHASE_WSDK_DATA",message:`Malformed data received from wsdk\n ${e}`})}}))))))}function oE(e,t){return rt((n=>e.onEvent({name:_d.V2.PartnerMessage.UpsellItemInstantPurchaseResponse,source:"partner",callback:e=>{var i;t({level:tn,code:"SHOPPABLE_ADS_PARTNER_RESPONSE",message:`Received partner response for first party Shoppable Ads\n ${JSON.stringify(e)}`}),dE(i=e)&&Array.isArray(i.upsellItems)&&i.upsellItems.every((e=>dE(e)&&uE(e,"sku","string")&&uE(e,"quantity","number")))&&uE(i,"totalPrice","number")&&pE(i)?n(e):t({level:tn,code:qb,message:`Malformed data received from partner\n ${e}`})}})))}function rE(e,t){return rt((n=>e.onEvent({name:"INSTANT_PURCHASE_TAX_AND_SHIPPING_RESPONSE",source:"partner",callback:e=>{var i;dE(i=e)&&uE(i,"cacheKey","string")&&uE(i,"timestamp","string")&&uE(i,"sessionId","string")?n(e):t({level:tn,code:"MALFORMED_TAX_AND_SHIPPING_DATA",message:`Malformed tax and shipping data received\n ${JSON.stringify(e)}`})}})))}function*lE(e,t){var n;try{for(;;){const t=yield Ye(e);if(t){yield ze({type:sg,payload:t});break}}}catch(e){yield Ue(t,{level:tn,code:Jb,message:null!==(n=e.message)&&void 0!==n?n:"Unknown error in instant-purchase partner channel"})}finally{e.close()}}function*sE(e,t){var n;try{for(;;){const t=yield Ye(e);if(t){yield ze({type:dg,payload:t});break}}}catch(e){yield Ue(t,{level:tn,code:"INSTANT_PURCHASE_WSDK_CHANNEL_ERROR",message:null!==(n=e.message)&&void 0!==n?n:"Unknown error in instant-purchase WSDK channel"})}finally{e.close()}}function*cE(e,t){var n;try{for(;;){const t=yield Ye(e);if(t){yield ze({type:cg,payload:t});break}}}catch(e){yield Ue(t,{level:tn,code:Jb,message:null!==(n=e.message)&&void 0!==n?n:"Unknown error in instant-purchase partner channel"})}finally{e.close()}}function dE(e){return"object"==typeof e&&null!==e}function uE(e,t,n){return t in e&&typeof e[t]===n}function pE(e){return uE(e,"currency","string")&&uE(e,"paid","boolean")&&uE(e,"success","boolean")}const fE="Unknown failure reason";function hE(e,t,n){return{name:"SignalCartItemInstantPurchase",parentGuid:e.instanceGuid,objectData:Object.assign({catalogItemId:e.catalogItemId,quantity:t,initiatedBy:Jt.DCUI},n&&{purchaseId:n})}}function vE(e,t,n,i,a){return{name:"SignalCartItemInstantPurchaseFailure",parentGuid:e.instanceGuid,objectData:Object.assign({catalogItemId:e.catalogItemId,quantity:t,failureReason:i,providerId:n},a&&{purchaseId:a})}}const mE=6e4;function*CE(){var e,t,n,i;const a=yield qe((e=>e)),o=null!==(t=null===(e=null==a?void 0:a.staticData)||void 0===e?void 0:e.offer.catalogItems)&&void 0!==t?t:[];if(1===o.length&&o[0])return void(yield*wE(o[0]));const r=null===(i=null===(n=null==a?void 0:a.staticData)||void 0===n?void 0:n.offer)||void 0===i?void 0:i.creative.copy["provider.defaultCatalogItemId"],l=o.find((e=>e.catalogItemId===r));l&&l.inventoryStatus!==Rt.OutOfStock&&(yield*wE(l))}function*yE(e){const{catalogItem:t}=e.payload;yield*wE(t)}function*gE(e,t,n){var i,a,o,r,l,s;const c=yield qe((e=>e)),d=(null===(o=null===(a=null===(i=null==c?void 0:c.staticData)||void 0===i?void 0:i.offer)||void 0===a?void 0:a.creative)||void 0===o?void 0:o.copy)||{},u=null===(r=null==c?void 0:c.staticData)||void 0===r?void 0:r.offer.transactionData,p="boolean"==typeof(null==u?void 0:u.isPartnerManagedPurchase)?u.isPartnerManagedPurchase:"true"===d["ppu.partnerManagedPurchase"],f=null!==(l=d["ppu.confirmationref"])&&void 0!==l?l:"",{catalogItem:h,quantity:v}=n.payload,m=ld(h,v);if(m){yield ze({type:Dn,payload:{name:"SignalCartItemInstantPurchaseInitiated",parentGuid:h.instanceGuid,objectData:{catalogItemId:h.catalogItemId,quantity:v}}});const n=c?null===(s=bb(c).taxAndShippingData)||void 0===s?void 0:s.taxAndShippingPricing:void 0,i=n&&parseFloat(n.totalAmount.replace(/[^0-9.]/g,""))||m.totalPrice;yield*TE("ProcessingState",1),p?yield*function*(e,t,n,i,a,o){const r=null!=e?e:t.catalogItemId,l={upsellItems:[{sku:r,quantity:t.quantity,unitPrice:t.unitPrice,totalPrice:t.totalPrice||0,currency:t.currency}],totalPrice:i,currency:t.currency,orderConfirmationId:n};yield et(LE,a,o),yield ze({type:xn,payload:{name:"UPSELL_ITEM_INSTANT_PURCHASE",body:l}})}(h.productSku,m,f,i,e,t):yield*function*(e,t,n){const i=yield qe((e=>e));if(!i)return yield Ue(n,{level:tn,code:zb,message:"App state is not set within Redux store."}),void(yield*OE());if(!i.staticData)return yield Ue(n,{level:tn,code:Yb,message:"App state is not configured with static data."}),void(yield*OE());const a=i.staticData.offer.creative.copy["ppu.partnerPaymentReference"];if(!a)return yield Ue(n,{level:tn,code:Wb,message:"Partner payment reference is not set within creative copy."}),void(yield*OE());const o={upsellItems:[{cartItemId:e.cartItemId,catalogItemId:e.catalogItemId,quantity:e.quantity,unitPrice:e.unitPrice,totalPrice:e.totalPrice,currency:e.currency}],totalUpsellPrice:e.totalPrice,currency:e.currency,paymentDetails:{partnerPaymentReference:a}};i.fulfillmentDetails&&(o.fulfillmentDetails=i.fulfillmentDetails);i.purchaseId&&(o.identifiers={purchase_id:i.purchaseId});yield et(DE,t,n),yield ze({type:xn,payload:{name:"INITIATE_INSTANT_PURCHASE_EVENT",body:o}})}(m,e,t)}else yield Ue(t,{level:tn,code:Ub,message:`Unable to translate catalog item with ID ${h.catalogItemId} to cart item for instant purchase transaction.`}),yield*OE()}function*bE(e,t){const n=yield qe((e=>e.staticData));if(!n)return yield Ue(e,{level:tn,code:Yb,message:"App state is not configured with static data."}),void(yield*AE("Error"));if(!n.offer.catalogItems)return yield Ue(e,{level:tn,code:Kb,message:"No catalog items found within offer data."}),void(yield*AE("Error"));const i={accountId:n.offer.accountId,catalogItems:n.offer.catalogItems};let a,o;t.payload.success?(a=hE,o="Success"):(a=(e,n)=>vE(e,n,i.accountId.toString(),t.payload.reason||fE),o="Unspecified"),yield*function*(e,t,n,i){const a=[];for(const i of e.upsellItems){const e=SE(i,t.catalogItems);void 0===e?a.push(i):yield ze({type:Dn,payload:n(e,i.quantity)})}a.length>0&&(yield*function*(e,t){const n=JSON.stringify(e,null,"\t").replaceAll('"',"");yield Ue(t,{level:tn,code:Ub,message:`Unable to map cart items to catalog items in the instant purchase partner response: ${n}.`})}(a,i))}(t.payload,i,a,e),yield*AE(o)}function*EE(e,t){const n=yield qe((e=>e.staticData));if(!n)return yield Ue(e,{level:tn,code:Yb,message:"App state is not configured with static data."}),void(yield*OE());if(!n.offer.catalogItems)return yield Ue(e,{level:tn,code:Kb,message:"No catalog items found within offer data."}),void(yield*OE());const i={accountId:n.offer.accountId,catalogItems:n.offer.catalogItems};let a;a=t.payload.success?hE:(e,n)=>vE(e,n,i.accountId.toString(),t.payload.reason||fE),yield*function*(e,t,n,i){const a=[];for(const i of e.upsellItems){const e=xE(i,t.catalogItems);void 0===e?a.push(i):yield ze({type:Dn,payload:n(e,i.quantity)})}a.length>0&&(yield*function*(e,t){const n=JSON.stringify(e,null,"\t").replaceAll('"',"");yield Ue(t,{level:tn,code:Ub,message:`Unable to map upsell items to catalog items in the instant purchase partner response: ${n}.`})}(a,i))}(t.payload,i,a,e),t.payload.success?yield*ME(1,{event:"Completed",completionReason:"Success"}):yield*OE()}function*IE(e){e.payload.response&&e.payload.response.success?yield*ME(1,{event:"Completed",completionReason:"Success"}):yield*OE()}function*LE(e,t){const n=oE(e,t),i=iE(e,t),{timeout:a}=yield nt({channel:Ue(cE,n,t),legacyChannel:Ue(lE,i,t),timeout:it(mE)});a&&(yield Ue(t,{level:tn,code:"INSTANT_PURCHASE_PARTNER_RESPONSE_TIMEOUT",message:"Instant-purchase partner response timed out after 60000ms"}),n.close(),i.close(),yield*ME(2,{event:"Completed",completionReason:"Unspecified"}))}function*DE(e,t){const n=aE(e,t),{timeout:i}=yield nt({channel:Ue(sE,n,t),timeout:it(mE)});i&&(yield Ue(t,{level:tn,code:"INSTANT_PURCHASE_WSDK_RESPONSE_TIMEOUT",message:"Instant-purchase wsdk response timed out after 60000ms"}),n.close(),yield*ME(2,{event:"Completed",completionReason:"Unspecified"}))}function*wE(e){var t,n,i,a;yield ze({type:og,payload:e}),void 0===(null===(t=e.copy)||void 0===t?void 0:t["provider.pricing.totalPrice"])?yield ze({type:vg,payload:{catalogItem:e}}):yield Ue(VE,e);const o={title:null!==(n=e.title)&&void 0!==n?n:"",description:null!==(i=e.description)&&void 0!==i?i:"",price:null!==(a=e.priceFormatted)&&void 0!==a?a:""};e.copy&&Object.entries(e.copy).forEach((([e,t])=>{o[`copy.${e}`]=t})),yield ze({type:rC,payload:{text:o}})}function SE(e,t){return t.find((t=>t.catalogItemId===e.catalogItemId))}function xE(e,t){if(e.sku)return t.find((t=>t.catalogItemId===e.sku||t.productSku===e.sku))}function*AE(e){yield*TE("ProcessingState",0),yield ze({type:wn,payload:{event:"Completed",completionReason:e}})}function*TE(e,t){yield ze({type:Sn,payload:{key:e,value:t}})}function*OE(){yield*ME(2,{event:"Completed",completionReason:"Error"})}function*ME(e,t){yield ze({type:ug,payload:t}),yield*TE("ProcessingState",0),yield ze({type:An,payload:{key:Gt,value:e}})}function*VE(e){var t;const n=null!==(t=e.copy)&&void 0!==t?t:{},i=n["provider.pricing.shippingFees"],a=n["provider.pricing.salesTax"],o=n["provider.pricing.totalPrice"];if(!i||!a||!o)return;const r=yield qe((e=>{var t,n;return null!==(n=null===(t=e.fulfillmentDetails)||void 0===t?void 0:t.shippingAttributes)&&void 0!==n?n:{}})),l=Bb(r,[e]);yield ze({type:hg,payload:{cacheKey:l}}),yield ze({type:pg,payload:{cacheKey:l,taxAndShippingEntry:{isPending:!1,taxAndShippingData:{taxAndShippingPricing:{shippingAmount:i,taxAmount:a,totalAmount:o}}}}})}const HE=new Set;function*_E(e,t){const n=rE(e,t);try{for(;;){const{response:e,offerEnd:t}=yield nt({response:Ye(n),offerEnd:Ye(wn)});if(t)break;e&&(yield Ue(RE,e))}}finally{n.close()}}function*kE(e,t,n){var i,a,o;const r=yield qe((e=>e.fulfillmentDetails)),l=null!==(i=null==r?void 0:r.shippingAttributes)&&void 0!==i?i:{};if(!!!(l.address1&&l.city&&l.state&&l.country&&l.postalCode))return;const s=[n.payload.catalogItem],c=Bb(l,s);if(yield Ue(FE,c))return void(yield ze({type:hg,payload:{cacheKey:c}}));if(HE.has(c))return;HE.add(c),yield ze({type:fg,payload:{cacheKey:c}});const d=s.map(jE),u=null!==(o=null===(a=s[0])||void 0===a?void 0:a.currency)&&void 0!==o?o:"USD",p=d.reduce(((e,t)=>e+t.totalPrice),0);yield ze({type:xn,payload:{name:"INSTANT_PURCHASE_INITIATE_TAX_AND_SHIPPING_EVENT",body:{cacheKey:c,totalUpsellPrice:p,currency:u,upsellItems:d,fulfillmentDetails:{shippingAttributes:l}}}}),yield Qe(PE,c,t)}function*RE(e){var t,n;const{response:i,cacheKey:a}=e,o=null==i?void 0:i.response;if(!o||!a)return;if(!o.success||!o.paymentDetails||"UNAVAILABLE"===o.paymentDetails.taxStatus)return void(yield*function*(e){HE.delete(e),yield ze({type:pg,payload:{cacheKey:e,taxAndShippingEntry:{isPending:!1,taxAndShippingData:{error:nE.REQUEST_FAILED}}}}),yield ze({type:ug,payload:{event:"Completed",completionReason:"Error"}}),yield ze({type:An,payload:{key:Gt,value:2}})}(a));HE.delete(a),yield ze({type:pg,payload:{cacheKey:a,taxAndShippingEntry:{isPending:!1,taxAndShippingData:{taxAndShippingPricing:NE(o.paymentDetails)}}}});const r=null!==(n=null===(t=o.identifiers)||void 0===t?void 0:t.purchase_id)&&void 0!==n?n:null;yield ze({type:mg,payload:r})}function NE(e){const t=e=>{const t=String(e);return t.startsWith("$")?t:`$${t}`};return{taxAmount:t(e.tax),shippingAmount:t(e.shippingCost),totalAmount:t(e.totalAmount),taxStatus:e.taxStatus}}function*PE(e,t){var n;yield it(3e4);(null===(n=(yield qe((e=>e.taxAndShipping))).cache[e])||void 0===n?void 0:n.isPending)&&(yield Ue(t,{level:tn,code:"TAX_AND_SHIPPING_REQUEST_TIMEOUT",message:"Instant-purchase tax and shipping timed out after 30000ms"}),HE.delete(e),yield ze({type:pg,payload:{cacheKey:e,taxAndShippingEntry:{isPending:!1,taxAndShippingData:{error:nE.REQUEST_TIME_OUT}}}}))}function*FE(e){var t;const n=(yield qe((e=>e.taxAndShipping))).cache[e];return!!n&&(!!n.isPending||!(null===(t=n.taxAndShippingData)||void 0===t?void 0:t.error))}function jE(e){var t;const n=e.preSelectedQuantity?e.preSelectedQuantity:1;return{cartItemId:e.cartItemId,catalogItemId:e.catalogItemId,title:e.title,quantity:n,unitPrice:e.price,totalPrice:e.price*n,currency:null!==(t=e.currency)&&void 0!==t?t:"USD"}}const ZE=["Success","Unspecified","Error"],$E=["Implicit","Explicit"];function*GE(e,t){if("Checkout"!==t.payload.event)return;yield ze({type:An,payload:{key:Bt,value:BE(t.payload),offerPositionIndex:t.payload.offerPositionIndex}});const n=t.payload.data;if(n){const i="Completed"===n.event;if("Completed"===n.event||"Dismissed"===n.event){(i?ZE.includes(n.reason):$E.includes(n.reason))?yield ze({type:wn,payload:Object.assign(Object.assign({event:n.event},i?{completionReason:n.reason}:{dismissalReason:n.reason}),{offerPositionIndex:t.payload.offerPositionIndex})}):yield Ue(e,{level:tn,code:"CHECKOUT_BUTTON_INVALID_OFFERLIFECYCLE",message:`Misconfigured offer lifecycle payload in handleCheckoutLifecycle: ${n}.`})}else yield Ue(e,{level:tn,code:"CHECKOUT_BUTTON_UNKNOWN_EVENT",message:`Unknown event type in checkout lifecycle: ${JSON.stringify(n)}`})}}function BE(e){var t;return null!==(t={ViewOffer:0,ViewTransactionDetails:1,EditPayment:2,EditShipping:3,EditPaymentAndShipping:4,CostBreakdown:5,Confirmation:6,CloseOffer:7}[e.targetStep])&&void 0!==t?t:0}function*UE(){const e=yield qe((e=>{var t;return null===(t=e.staticData)||void 0===t?void 0:t.offer.creative.instanceGuid}));e&&(yield ze({type:Dn,payload:{name:"SignalInstantPurchaseDismissal",parentGuid:e}}))}function*zE(e,t){yield Ue(e.globalDispatch.bind(e),t)}function*WE(e,t,n){yield ze({type:Dn,payload:{name:"SignalUserInteraction",parentGuid:e,action:t,context:n}})}function*YE(e){yield ze({type:Sn,payload:{key:"ProcessingState",value:e}})}function*KE(e,t){for(;;){const n=yield Ye(e);yield*WE(t.catalogItem.instanceGuid,n.interaction,t.paymentProvider)}}function qE(e,t){return rt((n=>e.onEvent({name:"DEVICE_PAY_AVAILABLE",source:"partner",callback:e=>{!function(e){if(!("object"==typeof e&&null!==e&&"success"in e&&"boolean"==typeof e.success&&"sessionId"in e&&"string"==typeof e.sessionId&&"timestamp"in e&&"string"==typeof e.timestamp&&"response"in e&&"object"==typeof e.response&&null!==e.response))return!1;const t=e.response;let n=!1;for(const e of vb){const i=t[e.responseKey];if(void 0!==i){if("boolean"!=typeof i)return!1;n=!0}}return n}(e)?t({level:tn,code:tE,message:`Malformed data received from wsdk for device pay available: ${JSON.stringify(e)}`}):n(e)}})))}function*JE(e,t){var n;try{for(;;){const t=yield Ye(e);t&&(yield ze({type:gg,payload:t}))}}catch(e){yield Ue(t,{level:tn,code:Xb,message:null!==(n=e.message)&&void 0!==n?n:"Unknown error in device-pay-available channel"})}finally{e.close()}}function*XE(e,t){var n;const i=vb.find((e=>!1===t.payload.response[e.responseKey]));if(!i)return;yield Ue(e,{level:tn,code:"DEVICE_PAY_NOT_AVAILABLE",message:`${i.displayName} is not available on this device.`}),yield ze({type:Dn,payload:{name:"SignalUserInteraction",action:"DevicePayUnavailable",context:`${i.displayName.replace(/\s+/g,"")}Failed`}});if(!(yield qe(gb)))return;const a=yield qe((e=>{var t,n,i;return null!==(i=null===(n=null===(t=e.staticData)||void 0===t?void 0:t.offer.transactionData)||void 0===n?void 0:n.supportedPaymentMethods)&&void 0!==i?i:[]}));if(1===(null==a?void 0:a.length)&&(null===(n=a[0])||void 0===n?void 0:n.type)===Nt.ApplePay)return;const o=yield qe((e=>e.offerLifecycleEvent));if("Dismissed"===(null==o?void 0:o.event)||"Completed"===(null==o?void 0:o.event))return;const r={event:"Dismissed",dismissalReason:"Implicit"};yield ze({type:ug,payload:r}),yield ze({type:wn,payload:r})}function*QE(e,t,n,i){var a,o;i&&(yield et(KE,i,n));try{const{response:t,timeout:i,dismissal:a}=yield nt({response:Ye(e),timeout:it(36e4),dismissal:Ye((e=>{var t;return e.type===wn&&"Dismissed"===(null===(t=e.payload)||void 0===t?void 0:t.event)}))});t?yield ze({type:yg,payload:t,context:n}):i?yield ze({type:yg,payload:{success:!1,timestamp:(new Date).toISOString(),sessionId:"",error:{code:"DEVICE_PAY_RESPONSE_TIMEOUT",message:"No device-pay response before the timeout"}},context:n}):a&&(yield ze({type:yg,payload:{success:!1,cancelled:!0,timestamp:(new Date).toISOString(),sessionId:"",error:{code:Qb,message:"Offer dismissed while device pay was active"}},context:n}))}catch(e){yield Ue(t,{level:tn,code:Xb,message:null!==(a=e.message)&&void 0!==a?a:"Unknown error in device-pay channel"}),yield ze({type:yg,payload:{success:!1,timestamp:(new Date).toISOString(),sessionId:"",error:{code:Xb,message:null!==(o=e.message)&&void 0!==o?o:"Unknown error in device-pay channel"}},context:n})}finally{e.close(),null==i||i.close()}}function*eI(e,t,n){var i,a,o,r,l,s,c,d;const{catalogItem:u,quantity:p,paymentProvider:f}=n.payload;if("Paypal"===f)return void(yield ze({type:bg,payload:{catalogItem:u,quantity:p}}));const h=yield qe((e=>e)),v=null!==(a=null===(i=null==h?void 0:h.staticData)||void 0===i?void 0:i.offer.accountId)&&void 0!==a?a:"",m=ld(u,p);if(!m)return yield Ue(t,{level:tn,code:Ub,message:`Unable to translate catalog item with ID ${u.catalogItemId} to cart item for device pay transaction.`}),yield ze({type:Dn,payload:vE(u,p,v,"DEVICE_PAY_INVALID_CART_ITEM_MAPPING")}),yield ze({type:ug,payload:{event:"Completed",completionReason:"Error"}}),yield*YE(0),void(yield ze({type:An,payload:{key:"offerComplete",value:2}}));const C=h?null===(o=bb(h).taxAndShippingData)||void 0===o?void 0:o.taxAndShippingPricing:void 0,y=C&&parseFloat(C.totalAmount)||m.totalPrice,g="Afterpay"===f?function(e){if(e)return Object.assign(Object.assign(Object.assign({address1:e.address1},void 0!==e.address2&&{address2:e.address2}),{city:e.city,state:e.state,country:e.country}),void 0!==e.zip&&{postalCode:e.zip})}(null===(l=null===(r=null==h?void 0:h.staticData)||void 0===r?void 0:r.offer.transactionData)||void 0===l?void 0:l.shippingAddress):void 0,b=(E=f,vb.find((e=>e.provider===E)));var E;const I=null!==(d=null===(c=null===(s=null==h?void 0:h.staticData)||void 0===s?void 0:s.offer.transactionData)||void 0===c?void 0:c.supportedPaymentMethods)&&void 0!==d?d:[],L=void 0!==b&&I.some((e=>e.type===b.paymentMethodType));b?L||(yield Ue(t,{level:tn,code:"DEVICE_PAY_PROVIDER_UNSUPPORTED",message:`Device pay provider ${f} is not in transactionData.supportedPaymentMethods — omitting paymentMethod from INITIATE_DEVICE_PAY_EVENT.`})):yield Ue(t,{level:tn,code:"DEVICE_PAY_PROVIDER_UNMAPPED",message:`Device pay provider ${f} has no entry in DEVICE_PAY_PROVIDERS — omitting paymentMethod from INITIATE_DEVICE_PAY_EVENT.`});const D=function(e,t){return rt((n=>e.onEvent(...["DEVICE_PAY_SUCCESS","DEVICE_PAY_FAILURE","DEVICE_PAY_CANCEL"].map((e=>({name:e,source:"partner",callback:e=>{var i;"object"==typeof(i=e)&&null!==i&&"success"in i&&"boolean"==typeof i.success&&"timestamp"in i&&"string"==typeof i.timestamp&&"sessionId"in i&&"string"==typeof i.sessionId&&(!("retryable"in i)||"boolean"==typeof i.retryable)?n(e):t({level:tn,code:tE,message:`Malformed data received from wsdk for device pay: ${JSON.stringify(e)}`})}}))))))}(e,t),w=function(e){return rt((t=>e.onEvent({name:"DEVICE_PAY_INTERACTION",source:"partner",callback:e=>{(function(e){if("object"!=typeof e||null===e)return!1;const t=e;return!0===t.success&&"string"==typeof t.interaction&&"string"==typeof t.timestamp&&"string"==typeof t.sessionId})(e)&&t(e)}})))}(e);yield et(QE,D,t,{catalogItem:u,quantity:p,providerId:v,paymentProvider:f},w),yield ze({type:Dn,payload:{name:"SignalCartItemInstantPurchaseInitiated",parentGuid:u.instanceGuid,objectData:{catalogItemId:u.catalogItemId,quantity:p}}}),yield ze({type:Sn,payload:{key:mb,value:0}}),yield*YE(1),yield ze({type:xn,payload:{name:"INITIATE_DEVICE_PAY_EVENT",body:Object.assign({upsellItems:[{cartItemId:m.cartItemId,catalogItemId:m.catalogItemId,title:u.title,quantity:m.quantity,unitPrice:m.unitPrice,totalPrice:m.totalPrice,currency:m.currency}],totalUpsellPrice:y,currency:m.currency,paymentDetails:Object.assign({paymentProvider:f},b&&L?{paymentMethod:b.layoutPaymentMethodType}:{})},g?{fulfillmentDetails:{shippingAttributes:g}}:{})}})}function*tI(e,t,n,i,a){yield ze({type:Dn,payload:vE(e,t,n,null!=i?i:fE,a)}),yield ze({type:ug,payload:{event:"Completed",completionReason:"Error"}}),yield*YE(0),yield ze({type:An,payload:{key:"offerComplete",value:2}})}function*nI(e,t){var n,i;const a=yield qe((e=>e)),o=(null!==(i=null===(n=null==a?void 0:a.staticData)||void 0===n?void 0:n.offer.catalogItems)&&void 0!==i?i:[])[0];if(!(null==o?void 0:o.providerData))return void(yield Ue(t,{level:tn,code:"MISSING_DEVICE_PAY_PROVIDER_DATA",message:"No provider data found on the first catalog item for device pay preparation."}));let r;try{r=JSON.parse(o.providerData)}catch(e){return void(yield Ue(t,{level:tn,code:tE,message:`Failed to parse providerData for catalog item ${o.catalogItemId}.`}))}const l=r.stripeAccountId,s=r.merchantName,c=r.countryCode,d={stripeAccountId:"string"==typeof l?l:void 0,merchantName:"string"==typeof s?s:void 0,countryCode:"string"==typeof c?c:void 0,currency:o.currency},u=qE(e,t);yield et(JE,u,t),yield ze({type:xn,payload:{name:"PREPARE_DEVICE_PAY_EVENT",body:d}})}function*iI(e,t){var n,i,a;const{payload:{success:o,response:r,error:l,cancelled:s,retryable:c,purchaseId:d},context:{catalogItem:u,quantity:p,providerId:f,paymentProvider:h}}=t;return s?(yield*WE(u.instanceGuid,"DevicePayCancelled",h),yield ze({type:Dn,payload:vE(u,p,f,Qb,d)}),void(yield*YE(0))):o||!0!==c?void(o?r&&r.success?(yield*function*(e,t,n){yield ze({type:Dn,payload:hE(e,t,n)}),yield ze({type:ug,payload:{event:"Completed",completionReason:"Success"}}),yield*YE(0),yield ze({type:An,payload:{key:"offerComplete",value:1}})}(u,p,d),yield*WE(u.instanceGuid,"DevicePaySucceeded",h)):(yield*tI(u,p,f,null!==(n=null==r?void 0:r.reason)&&void 0!==n?n:eE,d),yield*WE(u.instanceGuid,"DevicePayFailed",h)):(yield Ue(e,{level:tn,code:Ub,message:`Device pay response is not successful: ${JSON.stringify(l)}`}),yield*tI(u,p,f,null!==(a=null!==(i=null==l?void 0:l.code)&&void 0!==i?i:null==l?void 0:l.message)&&void 0!==a?a:eE,d),yield*WE(u.instanceGuid,"DevicePayFailed",h))):(yield*WE(u.instanceGuid,"DevicePayRetryableFailure",h),yield ze({type:Dn,payload:vE(u,p,f,"DEVICE_PAY_RETRYABLE_DECLINE",d)}),yield*YE(0),void(yield ze({type:Sn,payload:{key:mb,value:1}})))}function*aI(e){"Dismissed"===e.payload.event&&(yield ze({type:xn,payload:{name:"ABORT_DEVICE_PAY_EVENT"}}),yield*YE(0))}function*oI(e,t,n){var i,a;try{for(;;){const t=yield Ye(e);if(t)switch(t.type){case"DEVICE_PAY_TRANSACTION_DETAILS_READY":yield ze({type:Ig,payload:t.data}),yield ze({type:rg,payload:{event:"Checkout",targetStep:"ViewTransactionDetails",offerPositionIndex:n}});break;case"DEVICE_PAY_LOADING":yield ze({type:rg,payload:{event:"Checkout",targetStep:"Confirmation",offerPositionIndex:n}}),yield ze({type:Eg});break;case"DEVICE_PAY_SUCCESS":{yield*cI("ProcessingState",0),yield ze({type:"PAYPAL/SUCCESS"});const e=yield qe((e=>e.paypalPurchaseContext));return e&&(yield ze({type:Dn,payload:hE(e.catalogItem,e.quantity)})),yield ze({type:ug,payload:{event:"Completed",completionReason:"Success"}}),void(yield ze({type:An,payload:{key:"offerComplete",value:1}}))}case"DEVICE_PAY_FAILURE":{yield*cI("ProcessingState",0),yield ze({type:"PAYPAL/FAILURE"});const e=yield qe((e=>e.paypalPurchaseContext));return e&&(yield ze({type:Dn,payload:vE(e.catalogItem,e.quantity,e.providerId,null!==(i=t.reason)&&void 0!==i?i:fE)})),yield ze({type:ug,payload:{event:"Completed",completionReason:"Error"}}),void(yield ze({type:An,payload:{key:"offerComplete",value:2}}))}case"DEVICE_PAY_CANCEL":return yield*cI("ProcessingState",0),yield ze({type:"PAYPAL/CANCEL"}),void(yield ze({type:rg,payload:{event:"Checkout",targetStep:"ViewOffer",offerPositionIndex:n}}))}}}catch(e){yield Ue(t,{level:tn,code:"PAYPAL_CHANNEL_ERROR",message:null!==(a=e.message)&&void 0!==a?a:"Unknown error in PayPal event channel"})}finally{e.close()}}function*rI(e,t){var n,i;const a=yield qe((e=>e));(null!==(i=null===(n=null==a?void 0:a.staticData)||void 0===n?void 0:n.offer.catalogItems)&&void 0!==i?i:[])[0]?yield ze({type:xn,payload:{name:"PREPARE_DEVICE_PAY_EVENT",body:{paymentProvider:"Paypal"}}}):yield Ue(t,{level:tn,code:"MISSING_PAYPAL_CATALOG_ITEM",message:"No catalog items found for PayPal preparation."})}function*lI(e,t,n){var i,a,o,r,l,s;const c=yield qe((e=>e)),d=null!==(a=null===(i=null==c?void 0:c.staticData)||void 0===i?void 0:i.offer.accountId)&&void 0!==a?a:"";yield ze({type:Lg,payload:{catalogItem:n.payload.catalogItem,quantity:n.payload.quantity,providerId:d}}),yield*cI("ProcessingState",1),yield ze({type:Dn,payload:{name:"SignalCartItemInstantPurchaseInitiated",parentGuid:n.payload.catalogItem.instanceGuid,objectData:{catalogItemId:n.payload.catalogItem.catalogItemId,quantity:n.payload.quantity}}});const u=null==c?void 0:c.fulfillmentDetails,p=null!==(r=null===(o=null==c?void 0:c.staticData)||void 0===o?void 0:o.position)&&void 0!==r?r:0,f=function(e,t){return rt((n=>e.onEvent(...["DEVICE_PAY_TRANSACTION_DETAILS_READY","DEVICE_PAY_LOADING","DEVICE_PAY_SUCCESS","DEVICE_PAY_FAILURE","DEVICE_PAY_CANCEL"].map((e=>({name:e,source:"partner",callback:i=>{if("DEVICE_PAY_TRANSACTION_DETAILS_READY"===e)!function(e){return"object"==typeof e&&null!==e&&"totalAmount"in e&&"tax"in e&&"shippingFee"in e&&"currency"in e&&"merchantName"in e}(i)?t({level:tn,code:"MALFORMED_PAYPAL_DATA",message:`Malformed transaction details received from PayPal: ${JSON.stringify(i)}`}):n({type:"DEVICE_PAY_TRANSACTION_DETAILS_READY",data:i});else if("DEVICE_PAY_FAILURE"===e){const e=function(e){return"object"==typeof e&&null!==e&&"reason"in e&&"string"==typeof e.reason}(i)?i.reason:void 0;n({type:"DEVICE_PAY_FAILURE",reason:e})}else n({type:e})}}))))))}(e,t);yield et(oI,f,t,p),yield ze({type:xn,payload:{name:"INITIATE_DEVICE_PAY_EVENT",body:Object.assign(Object.assign({upsellItems:[{cartItemId:n.payload.catalogItem.cartItemId,catalogItemId:n.payload.catalogItem.catalogItemId,title:n.payload.catalogItem.title,quantity:n.payload.quantity,unitPrice:n.payload.catalogItem.price,totalPrice:n.payload.catalogItem.price*n.payload.quantity,currency:null!==(l=n.payload.catalogItem.currency)&&void 0!==l?l:""}],totalUpsellPrice:n.payload.catalogItem.price*n.payload.quantity,currency:null!==(s=n.payload.catalogItem.currency)&&void 0!==s?s:""},u&&{fulfillmentDetails:u}),{paymentDetails:{paymentProvider:"Paypal",paymentMethod:"PAYPAL"}})}})}function*sI(){yield ze({type:xn,payload:{name:"COMPLETE_DEVICE_PAY_EVENT"}})}function*cI(e,t){yield ze({type:Sn,payload:{key:e,value:t}})}const dI={InitiateTax:function*(){const e=yield qe((e=>e.selectedItem));e&&(yield ze({type:vg,payload:{catalogItem:e}}))}};function*uI(e,t){yield Ue(e.globalDispatch.bind(e),{type:Tn,payload:{event:t}})}function*pI(e,t){yield Je([Qe(CE),Qe(nI,e,t),Qe(rI,e,t),Qe(_E,e,t),Xe(rg,GE.bind(null,t)),Xe(wn,aI),Xe(ag,yE),tt(lg,gE.bind(null,e,t)),tt(sg,bE.bind(null,t)),tt(cg,EE.bind(null,t)),tt(dg,IE.bind(null)),Xe(vg,kE.bind(null,e,t)),tt(Cg,eI.bind(null,e,t)),tt(bg,lI.bind(null,e,t)),tt(Eg,sI),Xe(gg,XE.bind(null,t)),tt(yg,iI.bind(null,t)),Xe(mn,zE.bind(null,e)),Xe(_n,mC.bind(null,e,t)),Xe(Nn,UE),Xe(og,uI.bind(null,e,"selectedCatalogItem")),Xe(Fn,rd.bind(null,e,dI)),Xe("*",od.bind(null,[mn,_n,Fn],e))])}Object.assign(Object.assign({},zn),{INITIATE_INSTANT_PURCHASE:lg,INSTANT_PURCHASE_PARTNER_RESPONSE:sg,UPSELL_ITEM_INSTANT_PURCHASE_PARTNER_RESPONSE:cg,INSTANT_PURCHASE_WSDK_RESPONSE:dg});const fI=(new bo).withAppFactory((function(n){var i;if(n.rootElement){const o=h(n.rootElement),r=Gb({staticData:{offer:n.offerData,position:n.offerPositionIndex,schemaVersion:n.schemaVersion},fulfillmentDetails:Zb(n.offerData.creative)}),l=function(e,t,n=Gb()){const i=at(),a=st({reducer:$b,devTools:{name:"Instant Purchase"},preloadedState:n,middleware:e=>e({thunk:!1}).concat(i)});return i.run(pI,e,t),a}(n.gateway,n.logger,r);o.render(e(a.StrictMode,{children:t(Ro,{info:{referralCreativeId:(null===(i=n.offerData.creative.referralCreativeId)||void 0===i?void 0:i.toString())||"N/A"},children:[e(cs,{}),e(y,{store:l,children:e(rs,{settings:n,dispatch:l.dispatch,children:e(jb,{})})})]})}))}}));var hI=Object.freeze({__proto__:null,moduleConnectorBuilder:fI});const vI=d(null),mI=({children:t})=>{var n;const[i,a]=l([]),[r,s]=l(0),[c,d]=l(0),u=za();return o((()=>{let e=0;const t=i.length,n=setInterval((()=>{e=e+1>=t?0:e+1,s(e)}),c);return()=>clearInterval(n)}),[c,i]),e(vI.Provider,{value:{images:i,activeIndex:r,duration:c,setImages:a,setActiveIndex:s,setDuration:d},children:e(Ua,{value:u({data:{"image.title":null===(n=i[r])||void 0===n?void 0:n.title}},"creativeCopy"),children:t})})};function CI({active:t,duration:n,containerStyles:i,indicatorStyles:a}){const l=r(null);return o((()=>{t&&l.current&&function(e,t){const n="animate"in e&&"onfinish"in Animation.prototype&&"oncancel"in Animation.prototype&&"finish"in Animation.prototype,i=[{width:0},{width:"100%"}];if(n){const n=e.animate(i,{duration:t,iterations:1});return()=>{n.finish()}}}(l.current,n)}),[t]),e("div",{style:Object.assign({position:"relative",height:"2px",width:"100%",backgroundColor:"#FFFFFF66"},i),children:e("span",{ref:l,style:Object.assign({animationIterationCount:"infinite",animationFillMode:"forwards",animationTimingFunction:"linear",position:"absolute",top:0,left:0,height:"100%",backgroundColor:"#FFF",width:t?"100%":0},a)})})}function yI(e){const t=u(Mo),n=[];return e.forEach((e=>{const i=t(`${e}.src`,"copy"),a=t(`${e}.title`,"copy");if(void 0===i)return;const o=function(e={}){return Object.assign({light:"https://plus.unsplash.com/premium_photo-1675826774817-fe983ceb0475?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=200&q=80",dark:"https://images.unsplash.com/photo-1679941734238-56628f5991f7?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=200&q=80"},e)}({light:i,title:a});n.push(o)})),n}function gI({schema:n,testId:i}){const r=JSON.parse(n.data),{styles:l,duration:s,imageKeys:c}=r,d=u(vI),p=yI(c);return o((()=>{null==d||d.setImages(p),null==d||d.setDuration(s)}),[]),t("div",{"data-testid":i,style:Object.assign({position:"relative",flexShrink:1,flexGrow:0,width:"100%"},l.elements.own),children:[a.Children.toArray(p.map(((t,n)=>e("img",{src:t.light,alt:t.title,style:Object.assign({opacity:n===(null==d?void 0:d.activeIndex)?1:0,position:0===n?"relative":"absolute",display:0===n?"block":"",top:0,width:"100%",height:"100%",maxHeight:"100%",maxWidth:"100%",transition:"opacity 300ms ease-in-out",objectFit:"contain"},l.elements.image)})))),e("div",{style:Object.assign({display:"flex",gap:"2px",width:"70%",position:"absolute",margin:"0 15%",bottom:"8px",zIndex:20,justifyContent:"center"},l.elements.indicatorWrapper),children:a.Children.toArray(p.map(((t,n)=>e(CI,{duration:s,active:n===(null==d?void 0:d.activeIndex),containerStyles:l.elements.indicatorContainer,indicatorStyles:l.elements.indicator}))))})]})}const bI={allowedTags:["em","strong","a","br","u","p","li","ul","ol","span"],allowedAttributes:{a:["href","target"],strong:[],em:[],br:[],u:[],p:[],ol:[],ul:[],li:[],span:[]},allowedSchemes:["http","https"]},EI=new Map([["&","_;^;_"]]),II=new RegExp(`<a *(?=${bI.allowedAttributes.a.join("|")}|>)`,"g"),LI=new RegExp("<span*>","g"),DI=new RegExp(`<a *(?:(?:${bI.allowedAttributes.a.filter((e=>"href"!==e)).join("|")})="[^"]*")* *href="([^"]+)"`,"g"),wI=new RegExp("(<br *?>)|(<br *?/>)","g"),SI="<br/>";function xI(t){const n=za(),i=xo(),a=c((()=>{const e=n(t.schema.value);if(!function(e){const t=function(e){return e.replaceAll(DI,((e,t)=>{const n=t.replaceAll("&",EI.get("&"));return e.replace(t,n)})).replaceAll(wI,SI)}(e);return t===bt(t,bI)}(e))throw new nn("FAILED_SANITISING_HTML","Invalid HTML tags");return e}),[t.schema.value,n]),{tabIndex:o,styles:r,isDisabled:l}=wt(i);return a?e(_r,{styles:t.schema.styles,children:({classnames:n})=>{const i=[(null==n?void 0:n.link)?`class = "${null==n?void 0:n.link}"`:"",l?'tabindex="-1"':"",l?"style=\"pointer-events: 'none'; user-select: none;\"":"",l?'aria-disabled="true"':""].filter((e=>e.length>0));return s=a,new RegExp("</(p|ul|ol)>").test(s)?e("div",{tabIndex:o,style:r,"aria-hidden":l,className:null==n?void 0:n.own,"data-testid":t.testId,"data-e2e":"RichText",dangerouslySetInnerHTML:{__html:a.replace(II,`<a ${i.join(" ")}`).replace(LI,`<span${(null==n?void 0:n.span)?` class=${n.span}`:""}>`)}}):e("p",{tabIndex:o,style:r,"aria-hidden":l,className:null==n?void 0:n.own,"data-testid":t.testId,"data-e2e":"RichText",dangerouslySetInnerHTML:{__html:a.replace(II,`<a ${i.join(" ")}`).replace(LI,`<span${(null==n?void 0:n.span)?` class=${n.span}`:""}>`)}});var s}}):null}function AI({schema:t}){const n=ba(),i=la(Zo(),Xa()),o=JSON.parse(t.data),[r]=gt({loop:!1,align:"start",slidesToScroll:2,containScroll:"trimSnaps"}),{styles:l,body:{tierItems:s}}=o;if(!s||!s.length)return;const c=s.length>2;return e("div",{className:i`
188
188
  position: relative;
189
189
  `,"data-testid":"ProductTierCarousel",children:e("div",Object.assign({},c&&{ref:r},{className:i`
190
190
  width: 100%;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rokt/dcui-orchestrator",
3
- "version": "0.3.1-rc.6",
3
+ "version": "0.3.1-rc.7",
4
4
  "description": "Rokt's DCUI rendering process",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",