@sunrise-upc/mobile-prod-card 12.0.0 → 12.0.2

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.
@@ -1,2 +1,2 @@
1
- import{__awaiter as e}from"../../../_virtual/_tslib.js";import l,{useState as i,useEffect as o}from"react";import n from"./AccessoryCard.module.scss.js";import t from"../DeviceCarouselComponent.js";import d from"../../ResponsiveRow/row.js";import{viewport as a,replacePlaceholder as r,getCompressedImage as v,countZero as c}from"../../../utils/utils.js";import{getCookie as s}from"cookies-next";import u from"../../FalconButtonV2/FalconButtonV2.js";import m from"./AccessoryModal.js";import p from"../../richtext.js";import{INFO as y,REPLACESELECTION as g,POPUP as b,OPENPOPUP as h,GAEVENT as E,OPEN as f,CLOSE as T,FORM as N,ACCORDIONCLICK as P,CONTINUE as A,LINK as k,TABCLICK as C,CLOSEPOPUP as I,REMOVEFROMCART as R,ADD_TO_CART as S,KEEPPREVIOUS as x,CTABUTTONCLICK as $,REPLACE as w}from"../../../Analytics/AnalyticsConstants.js";import{trackNewDatalayerEvent as j,trackViewItem as B}from"../../../utils/AnalyticsUtils.js";import{MOBILERATEPLAN as F,ACCESSORY as O,WATCHES as _,TABLETS as L,CONTRACT as M,FLEX_UPGRADE as D,HARDWARE as K,REMOVE as U,ADD as z}from"../../../utils/constants.js";import{useMultiAccessoryContext as V}from"../multiItemAccessoryStore/useMultiAccessoryContext.js";import{useMultiAccessoryActions as J}from"../multiItemAccessoryStore/useMultiAccessoryActions.js";import{useMultiAccessoryUpdateCartActions as H,buildSingleItemCartPayload as W}from"../multiItemAccessoryStore/useMultiAccessoryUpdateCartActions.js";import{AssetPathPropConfig as q}from"../../../services/LineTableBasicPropConfig.js";import"../../../services/ProductTeaserPropsConfig.js";import"../../../services/LinecheckBasicPropConfig.js";import"../../../services/LoginBasicPropConfig.js";import"../../../services/DevicePropConfig.js";import"../../../services/StickyBottomSheetConfig.js";import"../../../services/ServiceOptionsPropConfig.js";const G=({content:G,tabIndex:Q,isSubscriptionFlow:X,setAccessoriesSelected:Y})=>{var Z,ee,le,ie,oe,ne,te,de,ae,re,ve,ce,se,ue,me,pe,ye,ge,be,he;const Ee=s("one-commerce-cartId"),[fe,Te]=i(!1),Ne=a(),[Pe,Ae]=i(!1),[ke,Ce]=i(null),[Ie,Re]=i(0),{store:Se,dispatch:xe}=V(),$e=J(xe),we=H(),{updateAccessoryCartFailure:je}=Se,{multiItemAccessoriessList:Be,deviceSessionValues:Fe,selectedPaymentType:Oe,recommendedAccessories:_e,cartData:Le,loading:Me,showMiniCart:De}=Se,Ke=!!(null===(ee=null===(Z=[F])||void 0===Z?void 0:Z.includes)||void 0===ee?void 0:ee.call(Z,null===(oe=null===(ie=null===(le=null==_e?void 0:_e[null==Se?void 0:Se.selectedTab])||void 0===le?void 0:le.hardware)||void 0===ie?void 0:ie[0])||void 0===oe?void 0:oe.recommendationProcessingType))||!(null==Fe?void 0:Fe.hardwareVariant),Ue={[O]:X?Ke?+(null==G?void 0:G.ratePlanAccessoriesLimit):+(null==G?void 0:G.winAccessoriesLimit):+(null==G?void 0:G.accessoriesLimit),WATCHES:1,TABLETS:1},ze=e=>{j(E,P,{component:N,click_text:e?f:T}),$e.setShowMiniCart(e)},Ve=JSON.parse(r(JSON.stringify(null==G?void 0:G.cartLimitWarningText),[null==Ue?void 0:Ue[Se.selectedTab].toString()])),Je=null===(ne=null==q?void 0:q.getInstance())||void 0===ne?void 0:ne.getAssetPath(),He=(e,l)=>{const i=W(e,l,null==Se?void 0:Se.selectedTab,Se);i.length>0&&we.multiItemAccessorycreateCartRequest({id:Ee,redirectUrl:"",skipRedirect:!0,previousTab:null==Se?void 0:Se.selectedTab,cartItems:i})},We=(e,l,i)=>{var o,n;if(e.preventDefault(),null===(o=null==Le?void 0:Le[null==Se?void 0:Se.selectedTab])||void 0===o?void 0:o[null===(n=null==l?void 0:l.recomApiResponse)||void 0===n?void 0:n.id])qe(E,R,l,i),He(l,U);else{if(Ye(l,i))return;qe(S,S,l,i),He(l,z)}},qe=(e,l,i,o)=>{var n,t,d,a,r,v,c,s;B(e,l,{displayName:null===(n=null==i?void 0:i.recomApiResponse)||void 0===n?void 0:n.name,productId:null===(t=null==i?void 0:i.recomApiResponse)||void 0===t?void 0:t.id,priceValue:null===(a=null===(d=null==i?void 0:i.recomApiResponse)||void 0===d?void 0:d.oneTimePrice)||void 0===a?void 0:a.base,index:o,variant:null===(v=null===(r=null==i?void 0:i.recomApiResponse)||void 0===r?void 0:r.variantCategory)||void 0===v?void 0:v.color,storage:null===(s=null===(c=null==i?void 0:i.recomApiResponse)||void 0===c?void 0:c.variantCategory)||void 0===s?void 0:s.storage,hardwareCategory:null==Se?void 0:Se.selectedTab})},Ge=e=>{var l,i,o;e.preventDefault();if((null===(l=Object.keys(je))||void 0===l?void 0:l.length)>0)return Te(!1),void we.setupdateAccessoryCartFailure({});const n=X?null===(i=null==G?void 0:G.winCheckoutUrl)||void 0===i?void 0:i.cached_url:null===(o=null==G?void 0:G.multiItemCheckoutUrl)||void 0===o?void 0:o.url;j(E,C,{component:k,click_text:A}),window.location.href=n},Qe=()=>{var e;Te(e=>!e),(null===(e=Object.keys(je))||void 0===e?void 0:e.length)>0&&we.setupdateAccessoryCartFailure({})};o(()=>{var e;(null===(e=Object.keys(je))||void 0===e?void 0:e.length)>0&&Te(e=>!e)},[je]);const Xe=()=>{Ae(!1),Ce(null),Re(0)},Ye=(e,l)=>Object.keys((null==Le?void 0:Le[null==Se?void 0:Se.selectedTab])||{}).length>=(null==Ue?void 0:Ue[Se.selectedTab])&&(Ae(!0),Ce(e||null),Re(l||0),!0),Ze={},el={},ll={};((null==G?void 0:G.recommendationType)||[]).map(e=>{var l;Ze[e]=(e=>Object.keys((null==Le?void 0:Le[e])||{}).length)(e),el[`${e}_icon`]=null===(l=null==G?void 0:G[`${e.toLowerCase()}Icon`])||void 0===l?void 0:l.filename,ll[`${e}_title`]=null==G?void 0:G[`selectionSummary${e[0]}${e.slice(1).toLowerCase()}Title`]});const{items:il,totalOneTimePrice:ol,totalMonthlyPrice:nl}=(()=>{var e,l,i,o,n;let t=0,d=0;const a=((null==G?void 0:G.recommendationType)||[]).flatMap(e=>{const l=(null==Be?void 0:Be[e])||{},i=new Set(Object.values(l).map(e=>{var l;return null===(l=null==e?void 0:e.recomApiResponse)||void 0===l?void 0:l.id})),o=Object.values(l).filter(l=>{var i,o;return null===(i=null==Le?void 0:Le[e])||void 0===i?void 0:i[null===(o=null==l?void 0:l.recomApiResponse)||void 0===o?void 0:o.id]}).map(l=>{var i,o,n,a;return t+=+((null===(o=null===(i=null==l?void 0:l.recomApiResponse)||void 0===i?void 0:i.oneTimePrice)||void 0===o?void 0:o.base)||0),d+=+((null===(a=null===(n=null==l?void 0:l.recomApiResponse)||void 0===n?void 0:n.recurringPrice)||void 0===a?void 0:a.monthlyInstallment)||0),Object.assign(Object.assign({},l),{tabKey:e})}),n=Object.keys((null==Le?void 0:Le[e])||{}).filter(e=>!i.has(e)).map(l=>{const i=(e=>{var l,i,o,n,t,d,a,r,v,c,s,u;if(!(null==e?void 0:e.length))return null;const m=e=>{const l=Number(e);return Number.isFinite(l)?l:0},p=e=>{const l=Number(null==e?void 0:e.cycleStart),i=Number(null==e?void 0:e.cycleEnd);return Number.isFinite(l)&&Number.isFinite(i)&&i>=l?i-l+1:1};let y="",g=0,b=0;for(const h of e){y||(y=(null==h?void 0:h.name)||(null===(l=null==h?void 0:h.productOffering)||void 0===l?void 0:l.name)||(null===(i=null==h?void 0:h.productOffering)||void 0===i?void 0:i.id)||(null==h?void 0:h.id)||"");const e=(null===(n=null===(o=null==h?void 0:h.itemPrice)||void 0===o?void 0:o[0])||void 0===n?void 0:n.cartPrice)||[],E=e.filter(e=>"monthly"===(null==e?void 0:e.recurringChargePeriod)),f=null===(t=E.flatMap(e=>(null==e?void 0:e.additionalDetails)||[]).find(e=>"originalInstallment"===(null==e?void 0:e.id)))||void 0===t?void 0:t.value,T=e.find(e=>"paynow"===(null==e?void 0:e.recurringChargePeriod)),N=null===(a=null===(d=null==T?void 0:T.additionalDetails)||void 0===d?void 0:d.find(e=>"streetPrice"===(null==e?void 0:e.id)))||void 0===a?void 0:a.value,P=(null==h?void 0:h.prices)||[],A=P.filter(e=>"RECURRING"===(null==e?void 0:e.priceType)),k=null===(r=A.find(e=>{var l;return 1===(null===(l=null==e?void 0:e.cycle)||void 0===l?void 0:l.cycleStart)})||A[0])||void 0===r?void 0:r.value,C=null===(v=P.find(e=>"STREET_PRICE"===(null==e?void 0:e.priceType)))||void 0===v?void 0:v.value,I=A.reduce((e,l)=>e+m(null==l?void 0:l.value)*p(null==l?void 0:l.cycle),0)+P.filter(e=>"ONETIME"===(null==e?void 0:e.priceType)).reduce((e,l)=>e+m(null==l?void 0:l.value),0);g+=m(f||(null===(u=null===(s=null===(c=null==E?void 0:E[0])||void 0===c?void 0:c.price)||void 0===s?void 0:s.taxIncludedAmount)||void 0===u?void 0:u.value)||k),b+=m(N||C||((null==h?void 0:h.itemType)===K?I:0))}return{name:y,monthlyInstallment:g,oneTimePrice:b}})(Le[e][l]);return i?(t+=i.oneTimePrice,d+=i.monthlyInstallment,{tabKey:e,isCartOnly:!0,recomApiResponse:{id:l,name:i.name,oneTimePrice:{base:i.oneTimePrice},recurringPrice:{monthlyInstallment:i.monthlyInstallment}}}):null}).filter(Boolean);return[...o,...n]});for(const t of[_,L]){if(a.some(e=>(null==e?void 0:e.tabKey)===t)){const a=null!==(i=null===(l=null===(e=null==_e?void 0:_e[t])||void 0===e?void 0:e.ratePlan)||void 0===l?void 0:l.listPrice)&&void 0!==i?i:null===(n=null===(o=null==Le?void 0:Le.ratePlanInfo)||void 0===o?void 0:o[t])||void 0===n?void 0:n.monthlyPrice,r=Number(a),v=Number.isFinite(r)?r:0;d+=v}}return{items:a,totalOneTimePrice:t,totalMonthlyPrice:d}})(),tl=Object.values(Ze).reduce((e,l)=>e+l,0);return l.createElement(l.Fragment,null,l.createElement(d,null,l.createElement("div",{className:n.mainPage},Object.keys((null==Be?void 0:Be[null==Se?void 0:Se.selectedTab])||[]).length>=(null==Ue?void 0:Ue[Se.selectedTab])&&(null==Se?void 0:Se.selectedTab)===O&&l.createElement("div",{className:n.cartLimitTxt},l.createElement(p,{content:Ve})),((null==Se?void 0:Se.selectedTab)===_||(null==Se?void 0:Se.selectedTab)===L)&&l.createElement("div",{className:n.extraSimHeading},(null==Se?void 0:Se.selectedTab)===_?null==G?void 0:G.watchesHeading:null==G?void 0:G.tabletsHeading),l.createElement(t,{key:null==Se?void 0:Se.selectedTab},null===(de=null===(te=(null==Be?void 0:Be[null==Se?void 0:Se.selectedTab])||[])||void 0===te?void 0:te.filter(e=>{var l,i;return Oe===M?(null===(i=null===(l=null==e?void 0:e.recomApiResponse)||void 0===l?void 0:l.recurringPrice)||void 0===i?void 0:i.monthlyInstallment)>0:e}))||void 0===de?void 0:de.map((e,i)=>{var o,t,d,a,r,s,m,p,y,g,b,h,E,f,T,N,P,A,k,C,I,R,S,x,$,w,j,B,F,K,U,z,V,J,H,W,q,X,Y,Z,ee,le,ie,oe,ne,te,de,ae,re,ve,ce,se,ue,me,pe,ye,ge,be;return l.createElement("div",{key:i,className:`${n.card} ${(null===(o=null==Le?void 0:Le[null==Se?void 0:Se.selectedTab])||void 0===o?void 0:o[null===(t=null==e?void 0:e.recomApiResponse)||void 0===t?void 0:t.id])?n.selectedCard:""}`},l.createElement("div",{className:n.detailSection,id:`detailsectionv3${Q}${i}`},(null!==(m=null===(s=null===(r=null===(a=null===(d=null==e?void 0:e.sbStoryItem)||void 0===d?void 0:d.content)||void 0===a?void 0:a.body)||void 0===r?void 0:r[0])||void 0===s?void 0:s.displayText)&&void 0!==m?m:null===(p=null==e?void 0:e.sbStoryItem)||void 0===p?void 0:p.displayText)&&l.createElement("div",{className:n.heading,id:`headingV3${Q}${i}`},null!==(E=null===(h=null===(b=null===(g=null===(y=null==e?void 0:e.sbStoryItem)||void 0===y?void 0:y.content)||void 0===g?void 0:g.body)||void 0===b?void 0:b[0])||void 0===h?void 0:h.displayText)&&void 0!==E?E:null===(f=null==e?void 0:e.sbStoryItem)||void 0===f?void 0:f.displayText,(null==Se?void 0:Se.selectedTab)===O&&(null===(N=null===(T=null==e?void 0:e.recomApiResponse)||void 0===T?void 0:T.variantCategory)||void 0===N?void 0:N.color)&&"None"!==(null===(A=null===(P=null==e?void 0:e.recomApiResponse)||void 0===P?void 0:P.variantCategory)||void 0===A?void 0:A.color)&&l.createElement("div",{className:n.optionalText},null==G?void 0:G.accessoriesColorLabel," ",null===(C=null===(k=null==e?void 0:e.recomApiResponse)||void 0===k?void 0:k.variantCategory)||void 0===C?void 0:C.color)),l.createElement("div",{className:n.accImage,id:`image${Q}${i}`},((null==Se?void 0:Se.selectedTab)===_||(null==Se?void 0:Se.selectedTab)===L)&&(null===(I=null==G?void 0:G.esimIcon)||void 0===I?void 0:I.filename)&&l.createElement("div",{className:n.esimBadge},(null===(S=null===(R=null==e?void 0:e.sbStoryItem)||void 0===R?void 0:R.energyIcon)||void 0===S?void 0:S.filename)&&l.createElement("img",{loading:"lazy",src:v(Je,null===($=null===(x=null==e?void 0:e.sbStoryItem)||void 0===x?void 0:x.energyIcon)||void 0===$?void 0:$.filename),alt:"energy_Icon",width:37,height:20}),l.createElement("img",{src:null===(w=null==G?void 0:G.esimIcon)||void 0===w?void 0:w.filename,alt:"eSIM",className:n.esimIcon})),l.createElement("img",{loading:"lazy",src:v(Je,null===(j=null==e?void 0:e.imageData)||void 0===j?void 0:j.image),alt:"acessories_device",width:210,height:210}))),l.createElement("div",{className:n.mainPriceContainer,id:`main-price-section${Q}${i}`},(null===(B=null==Fe?void 0:Fe.hardwareVariant)||void 0===B?void 0:B.selectedContractType)===M||Oe===M?l.createElement("div",{className:n.priceContainer,id:`price-detail-section${Q}${i}`},l.createElement("div",{className:n.price,id:`price${Q}${i}`},l.createElement("span",{style:{color:(null===(K=null===(F=null==e?void 0:e.recomApiResponse)||void 0===F?void 0:F.recurringPrice)||void 0===K?void 0:K.marketMonthlyInstallment)?"#5E94CF":"#3D3935"}},c(null===(z=null===(U=null==e?void 0:e.recomApiResponse)||void 0===U?void 0:U.recurringPrice)||void 0===z?void 0:z.monthlyInstallment)),(null===(J=null===(V=null==e?void 0:e.recomApiResponse)||void 0===V?void 0:V.recurringPrice)||void 0===J?void 0:J.marketMonthlyInstallment)&&l.createElement("span",{className:n.strikedMonthlyPrice},c(null===(W=null===(H=null==e?void 0:e.recomApiResponse)||void 0===H?void 0:H.recurringPrice)||void 0===W?void 0:W.marketMonthlyInstallment)),l.createElement("span",{className:(null===(X=null===(q=null==e?void 0:e.recomApiResponse)||void 0===q?void 0:q.recurringPrice)||void 0===X?void 0:X.marketMonthlyInstallment)?null==n?void 0:n.monthlyStrikethroughText:n.monthlyText},null==G?void 0:G.monthlyText)),l.createElement("div",{className:n.totalPrice},null==G?void 0:G.totalText," ",c(null===(Z=null===(Y=null==e?void 0:e.recomApiResponse)||void 0===Y?void 0:Y.oneTimePrice)||void 0===Z?void 0:Z.base)," ",l.createElement("span",{className:n.strikedtotalMonthlyPrice,style:{visibility:(null===(le=null===(ee=null==e?void 0:e.recomApiResponse)||void 0===ee?void 0:ee.oneTimePrice)||void 0===le?void 0:le.market)?"visible":"hidden"}},c(null===(oe=null===(ie=null==e?void 0:e.recomApiResponse)||void 0===ie?void 0:ie.oneTimePrice)||void 0===oe?void 0:oe.market))),l.createElement("div",{className:n.priceDescription},null==G?void 0:G.monthlyPaymentLabel,l.createElement("br",null),null==G?void 0:G.monthlyDownPaymentLabel),(null===(te=null===(ne=null==e?void 0:e.recomApiResponse)||void 0===ne?void 0:ne.includedOptions)||void 0===te?void 0:te.includes(D))&&(null==G?void 0:G.freeFUText)&&l.createElement("div",{className:n.flexUpgradeText},null==G?void 0:G.freeFUText)):l.createElement("div",{className:n.priceContainer,id:`price-detail-section${Q}${i}`},l.createElement("div",{className:n.price,style:{color:(null===(ae=null===(de=null==e?void 0:e.recomApiResponse)||void 0===de?void 0:de.recurringPrice)||void 0===ae?void 0:ae.marketMonthlyInstallment)?"#5E94CF":"#3D3935"},id:`price${Q}${i}`},l.createElement("span",{className:n.oneTimePrice},c(null===(ve=null===(re=null==e?void 0:e.recomApiResponse)||void 0===re?void 0:re.oneTimePrice)||void 0===ve?void 0:ve.base)),(null===(se=null===(ce=null==e?void 0:e.recomApiResponse)||void 0===ce?void 0:ce.oneTimePrice)||void 0===se?void 0:se.market)&&l.createElement("span",{className:n.strikedMonthlyPrice},c(null===(me=null===(ue=null==e?void 0:e.recomApiResponse)||void 0===ue?void 0:ue.oneTimePrice)||void 0===me?void 0:me.market))),l.createElement("div",{className:n.priceDescription},null==G?void 0:G.oneTimePaymentLabel)),(null==G?void 0:G.addtocartButton.length)>0&&(null==G?void 0:G.removefromcartButton.length)>0&&l.createElement("div",{className:`${n.cartBtn}`,id:`add-crt-btn${Q}${i}`},(null===(pe=null==Le?void 0:Le[null==Se?void 0:Se.selectedTab])||void 0===pe?void 0:pe[null===(ye=null==e?void 0:e.recomApiResponse)||void 0===ye?void 0:ye.id])?l.createElement(l.Fragment,null,l.createElement(u,{content:null===(ge=null==G?void 0:G.removefromcartButton)||void 0===ge?void 0:ge[0],onClick:l=>We(l,e,i),wafIdentifier:Je,disabled:Me})):l.createElement(u,{content:null===(be=null==G?void 0:G.addtocartButton)||void 0===be?void 0:be[0],onClick:l=>We(l,e,i),wafIdentifier:Je,disabled:Me}))))})),l.createElement("div",{className:n.miaFooter},tl>0&&(null==G?void 0:G.enableSelectionSummary)&&Object.keys(_e||{}).length>1&&Oe===M&&l.createElement("div",{className:n.miniSummary},l.createElement("div",{className:n.titleRow},l.createElement("span",{className:`fw-bold ${n.titleLabel}`},null==G?void 0:G.yourSelectionTitle),l.createElement("span",{className:n.titleIcons},((null==G?void 0:G.recommendationType)||[]).map(e=>{var i;return Ze[e]>0&&l.createElement(l.Fragment,null,(e===_&&Ze[O]>0||e===L&&(Ze[O]>0||Ze[_]>0))&&l.createElement("span",null,l.createElement("img",{loading:"lazy",src:v(Je,null===(i=null==G?void 0:G.selectionSummaryPlusIcon)||void 0===i?void 0:i.filename),alt:"add_icon",width:16,height:16})),l.createElement("span",null,l.createElement("img",{loading:"lazy",src:v(Je,null==el?void 0:el[`${e}_icon`]),alt:`${e}_icon`})," ",Ze[e],"x ",null==ll?void 0:ll[`${e}_title`]))})),l.createElement("div",{className:`fw-bold ${n.cartPrice}`},Oe===M?l.createElement(l.Fragment,null,c(nl),null==G?void 0:G.monthlyText):c(ol)),De?l.createElement("img",{className:n.cartToggle,onClick:()=>ze(!De),loading:"lazy",src:v(Je,null===(re=null==G?void 0:G.selectionSummaryCollapseIcon)||void 0===re?void 0:re.filename),alt:"expand_icon",width:24,height:24}):l.createElement("img",{className:n.cartToggle,onClick:()=>ze(!De),loading:"lazy",src:v(Je,null===(ae=null==G?void 0:G.selectionSummaryExpandIcon)||void 0===ae?void 0:ae.filename),alt:"expand_icon",width:24,height:24})),De&&l.createElement(l.Fragment,null,l.createElement("div",{className:n.miniCartDivider}),il.map(i=>{var o,t,d,a,r,s,u,m,p,y,g,b,h,f,T,N,P,A,k,C,I,S,x,$,w;return l.createElement("div",{className:n.itemRow,key:null===(o=null==i?void 0:i.recomApiResponse)||void 0===o?void 0:o.id},l.createElement("div",{className:n.itemLine},l.createElement("span",{className:n.itemName},null===(t=null==i?void 0:i.recomApiResponse)||void 0===t?void 0:t.name),l.createElement("div",{className:n.cartPrice},Oe===M?l.createElement(l.Fragment,null,(null===(a=null===(d=null==i?void 0:i.recomApiResponse)||void 0===d?void 0:d.oneTimePrice)||void 0===a?void 0:a.base)>0&&l.createElement("span",{className:n.oneTime},"(",c(null===(s=null===(r=null==i?void 0:i.recomApiResponse)||void 0===r?void 0:r.oneTimePrice)||void 0===s?void 0:s.base),")"),c(null===(m=null===(u=null==i?void 0:i.recomApiResponse)||void 0===u?void 0:u.recurringPrice)||void 0===m?void 0:m.monthlyInstallment),null==G?void 0:G.monthlyText):c(null===(y=null===(p=null==i?void 0:i.recomApiResponse)||void 0===p?void 0:p.oneTimePrice)||void 0===y?void 0:y.base)),l.createElement("img",{className:n.cartDelete,loading:"lazy",src:v(Je,null===(g=null==G?void 0:G.selectionSummaryDeleteIcon)||void 0===g?void 0:g.filename),alt:"delete_icon",onClick:()=>(l=>e(void 0,void 0,void 0,function*(){var e,i,o,n;const t=null==l?void 0:l.tabKey;console.log("first",null===(e=null==Le?void 0:Le[t])||void 0===e?void 0:e[null===(i=null==l?void 0:l.recomApiResponse)||void 0===i?void 0:i.id]),(null===(o=null==Le?void 0:Le[t])||void 0===o?void 0:o[null===(n=null==l?void 0:l.recomApiResponse)||void 0===n?void 0:n.id])&&(yield we.removeItemFromCart(Ee,l)),qe(E,R,l,0)}))(i),width:20,height:20})),[_,L].includes(null==i?void 0:i.tabKey)&&l.createElement("div",{className:n.itemLine},l.createElement("span",{className:`${n.itemName} ${n.rpName}`},(null===(h=null===(b=null==_e?void 0:_e[null==i?void 0:i.tabKey])||void 0===b?void 0:b.ratePlan)||void 0===h?void 0:h.id)||(null===(T=null===(f=null==Le?void 0:Le.ratePlanInfo)||void 0===f?void 0:f[null==i?void 0:i.tabKey])||void 0===T?void 0:T.name)),l.createElement("div",{className:n.rpPrice},c(Number.isFinite(Number(null!==(A=null===(P=null===(N=null==_e?void 0:_e[null==i?void 0:i.tabKey])||void 0===N?void 0:N.ratePlan)||void 0===P?void 0:P.listPrice)&&void 0!==A?A:null===(C=null===(k=null==Le?void 0:Le.ratePlanInfo)||void 0===k?void 0:k[null==i?void 0:i.tabKey])||void 0===C?void 0:C.monthlyPrice))?Number(null!==(x=null===(S=null===(I=null==_e?void 0:_e[null==i?void 0:i.tabKey])||void 0===I?void 0:I.ratePlan)||void 0===S?void 0:S.listPrice)&&void 0!==x?x:null===(w=null===($=null==Le?void 0:Le.ratePlanInfo)||void 0===$?void 0:$[null==i?void 0:i.tabKey])||void 0===w?void 0:w.monthlyPrice):0),null==G?void 0:G.monthlyText)),l.createElement("hr",{className:n.itemDivider}))}))),l.createElement("div",{className:`${n.checkoutBtn}`},(null===(ve=null==G?void 0:G.proceedtocheckoutButton)||void 0===ve?void 0:ve.length)>0&&l.createElement(u,{content:G.proceedtocheckoutButton[0],eventAction:"",onClick:e=>Ge(e),wafIdentifier:Je,disabled:Me}))))),fe&&l.createElement(m,{modalState:fe,handler:()=>{Qe()},showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Ne||"desktop"===Ne||"tablet"===Ne?"460px":"",noCloseButton:!1,backDrop:!0}," ",l.createElement("div",{className:`${n.accessoryErrorUpdate}`},l.createElement(p,{content:null===(se=null===(ce=null==G?void 0:G.errorModal)||void 0===ce?void 0:ce[0])||void 0===se?void 0:se.heading}),l.createElement(p,{content:null===(me=null===(ue=null==G?void 0:G.errorModal)||void 0===ue?void 0:ue[0])||void 0===me?void 0:me.description}),l.createElement("div",{className:`${n.accessoryErrorButtons}`},l.createElement("div",{className:`${n.cancelButton}`,onClick:()=>{Qe()}},null==G?void 0:G.cancelButtonLinkText),l.createElement(u,{content:null===(pe=null==G?void 0:G.retryButton)||void 0===pe?void 0:pe[0],onClick:e=>Ge(e),metadata:void 0,wafIdentifier:Je})))),Pe&&(null==Se?void 0:Se.selectedTab)===O&&l.createElement(m,{modalState:Pe,handler:()=>{Xe()},showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Ne||"desktop"===Ne||"tablet"===Ne?"624px":"",noCloseButton:!1,backDrop:!0},l.createElement("div",{className:`${n.accessoryErrorUpdate}`},l.createElement(p,{content:JSON.parse(r(JSON.stringify(null===(ge=null===(ye=null==G?void 0:G.cartLimitModal)||void 0===ye?void 0:ye[0])||void 0===ge?void 0:ge.heading),[null==Ue?void 0:Ue[Se.selectedTab].toString()]))}),l.createElement(p,{content:JSON.parse(r(JSON.stringify(null===(he=null===(be=null==G?void 0:G.cartLimitModal)||void 0===be?void 0:be[0])||void 0===he?void 0:he.description),[null==Ue?void 0:Ue[Se.selectedTab].toString()]))}),l.createElement("div",{className:`${n.accessoryErrorButtons}`},l.createElement("div",{className:`${n.cancelButton}`,onClick:()=>{Xe()}},null==G?void 0:G.cartLimitBtnText)))),Pe&&((null==Se?void 0:Se.selectedTab)===_||(null==Se?void 0:Se.selectedTab)===L)&&(()=>{var e,i,o,t,d,a,r;const v=(()=>{var e,l;return(null==Se?void 0:Se.selectedTab)===_?null===(e=null==G?void 0:G.watchesSelectionPopup)||void 0===e?void 0:e[0]:null===(l=null==G?void 0:G.tabletsSelectionPopup)||void 0===l?void 0:l[0]})();return j(E,h,{component:b,message_title:g,message_description:null===(a=null===(d=null===(t=null===(o=null===(i=null===(e=null==v?void 0:v.description)||void 0===e?void 0:e.content)||void 0===i?void 0:i[0])||void 0===o?void 0:o.content)||void 0===t?void 0:t[0])||void 0===d?void 0:d.text)||void 0===a?void 0:a.slice(0,100),message_type:y}),l.createElement(m,{modalState:Pe,handler:()=>(e=>{var l,i,o,n,t,d;(null==e?void 0:e.description)&&j(E,I,{component:b,message_title:g,message_description:null===(d=null===(t=null===(n=null===(o=null===(i=null===(l=null==e?void 0:e.description)||void 0===l?void 0:l.content)||void 0===i?void 0:i[0])||void 0===o?void 0:o.content)||void 0===n?void 0:n[0])||void 0===t?void 0:t.text)||void 0===d?void 0:d.slice(0,100),message_type:y}),Xe()})(v),showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Ne||"desktop"===Ne||"tablet"===Ne?"624px":"",noCloseButton:!1,backDrop:!0},l.createElement(l.Fragment,null,(null==v?void 0:v.heading)&&l.createElement("div",{className:n.modalHeading},l.createElement(p,{content:v.heading})),(null==v?void 0:v.description)&&l.createElement("div",{className:n.modalDescription},l.createElement(p,{content:v.description})),l.createElement("div",{className:n.modalButtons},(null==v?void 0:v.link)&&l.createElement("a",{className:n.factSheetLink,onClick:()=>(j(E,$,{component:k,click_text:x}),void Xe())},v.linkText),(null===(r=null==v?void 0:v.button)||void 0===r?void 0:r.length)>0&&l.createElement(u,{content:v.button[0],onClick:()=>(()=>{if(j(E,$,{component:k,click_text:w}),!ke)return void Xe();const e=((null==Be?void 0:Be[null==Se?void 0:Se.selectedTab])||[]).find(e=>{var l,i;return null===(l=null==Le?void 0:Le[null==Se?void 0:Se.selectedTab])||void 0===l?void 0:l[null===(i=null==e?void 0:e.recomApiResponse)||void 0===i?void 0:i.id]});e&&(qe(E,R,e,0),He(e,U)),qe(S,S,ke,Ie),He(ke,z),Xe()})(),metadata:void 0,wafIdentifier:""}))))})())};export{G as default};
1
+ import{__awaiter as e}from"../../../_virtual/_tslib.js";import l,{useState as i,useEffect as o}from"react";import n from"./AccessoryCard.module.scss.js";import t from"../DeviceCarouselComponent.js";import d from"../../ResponsiveRow/row.js";import{viewport as v,replacePlaceholder as a,getCompressedImage as r,countZero as c}from"../../../utils/utils.js";import{getCookie as s}from"cookies-next";import u from"../../FalconButtonV2/FalconButtonV2.js";import m from"./AccessoryModal.js";import p from"../../richtext.js";import{INFO as y,REPLACESELECTION as g,POPUP as b,OPENPOPUP as h,GAEVENT as E,OPEN as f,CLOSE as T,FORM as P,ACCORDIONCLICK as N,CONTINUE as A,LINK as I,TABCLICK as k,CLOSEPOPUP as C,REMOVEFROMCART as R,ADD_TO_CART as S,KEEPPREVIOUS as x,CTABUTTONCLICK as $,REPLACE as w}from"../../../Analytics/AnalyticsConstants.js";import{trackNewDatalayerEvent as j,trackViewItem as B}from"../../../utils/AnalyticsUtils.js";import{MOBILERATEPLAN as F,ACCESSORY as O,WATCHES as _,TABLETS as L,CONTRACT as M,FLEX_UPGRADE as D,HARDWARE as K,REMOVE as U,ADD as z}from"../../../utils/constants.js";import{useMultiAccessoryContext as V}from"../multiItemAccessoryStore/useMultiAccessoryContext.js";import{useMultiAccessoryActions as J}from"../multiItemAccessoryStore/useMultiAccessoryActions.js";import{useMultiAccessoryUpdateCartActions as H,buildSingleItemCartPayload as W}from"../multiItemAccessoryStore/useMultiAccessoryUpdateCartActions.js";import{AssetPathPropConfig as q}from"../../../services/LineTableBasicPropConfig.js";import"../../../services/ProductTeaserPropsConfig.js";import"../../../services/LinecheckBasicPropConfig.js";import"../../../services/LoginBasicPropConfig.js";import"../../../services/DevicePropConfig.js";import"../../../services/StickyBottomSheetConfig.js";import"../../../services/ServiceOptionsPropConfig.js";const G=({content:G,tabIndex:Q,isSubscriptionFlow:X,setAccessoriesSelected:Y})=>{var Z,ee,le,ie,oe,ne,te,de,ve,ae,re,ce,se,ue,me,pe,ye,ge,be,he;const Ee=s("one-commerce-cartId"),[fe,Te]=i(!1),Pe=v(),[Ne,Ae]=i(!1),[Ie,ke]=i(null),[Ce,Re]=i(0),{store:Se,dispatch:xe}=V(),$e=J(xe),we=H(),{updateAccessoryCartFailure:je}=Se,{multiItemAccessoriessList:Be,deviceSessionValues:Fe,selectedPaymentType:Oe,recommendedAccessories:_e,cartData:Le,loading:Me,showMiniCart:De}=Se,Ke=!!(null===(ee=null===(Z=[F])||void 0===Z?void 0:Z.includes)||void 0===ee?void 0:ee.call(Z,null===(oe=null===(ie=null===(le=null==_e?void 0:_e[null==Se?void 0:Se.selectedTab])||void 0===le?void 0:le.hardware)||void 0===ie?void 0:ie[0])||void 0===oe?void 0:oe.recommendationProcessingType))||!(null==Fe?void 0:Fe.hardwareVariant),Ue={[O]:X?Ke?+(null==G?void 0:G.ratePlanAccessoriesLimit):+(null==G?void 0:G.winAccessoriesLimit):+(null==G?void 0:G.accessoriesLimit),WATCHES:1,TABLETS:1},ze=e=>{j(E,N,{component:P,click_text:e?f:T}),$e.setShowMiniCart(e)},Ve=JSON.parse(a(JSON.stringify(null==G?void 0:G.cartLimitWarningText),[null==Ue?void 0:Ue[Se.selectedTab].toString()])),Je=null===(ne=null==q?void 0:q.getInstance())||void 0===ne?void 0:ne.getAssetPath(),He=(e,l)=>{const i=W(e,l,null==Se?void 0:Se.selectedTab,Se);i.length>0&&we.multiItemAccessorycreateCartRequest({id:Ee,redirectUrl:"",skipRedirect:!0,previousTab:null==Se?void 0:Se.selectedTab,cartItems:i})},We=(e,l,i)=>{var o,n;if(e.preventDefault(),null===(o=null==Le?void 0:Le[null==Se?void 0:Se.selectedTab])||void 0===o?void 0:o[null===(n=null==l?void 0:l.recomApiResponse)||void 0===n?void 0:n.id])qe(E,R,l,i),He(l,U);else{if(Ye(l,i))return;qe(S,S,l,i),He(l,z)}},qe=(e,l,i,o)=>{var n,t,d,v,a,r,c,s;B(e,l,{displayName:null===(n=null==i?void 0:i.recomApiResponse)||void 0===n?void 0:n.name,productId:null===(t=null==i?void 0:i.recomApiResponse)||void 0===t?void 0:t.id,priceValue:null===(v=null===(d=null==i?void 0:i.recomApiResponse)||void 0===d?void 0:d.oneTimePrice)||void 0===v?void 0:v.base,index:o,variant:null===(r=null===(a=null==i?void 0:i.recomApiResponse)||void 0===a?void 0:a.variantCategory)||void 0===r?void 0:r.color,storage:null===(s=null===(c=null==i?void 0:i.recomApiResponse)||void 0===c?void 0:c.variantCategory)||void 0===s?void 0:s.storage,hardwareCategory:null==Se?void 0:Se.selectedTab})},Ge=e=>{var l,i,o;e.preventDefault();if((null===(l=Object.keys(je))||void 0===l?void 0:l.length)>0)return Te(!1),void we.setupdateAccessoryCartFailure({});const n=X?null===(i=null==G?void 0:G.winCheckoutUrl)||void 0===i?void 0:i.cached_url:null===(o=null==G?void 0:G.multiItemCheckoutUrl)||void 0===o?void 0:o.url;j(E,k,{component:I,click_text:A}),window.location.href=n},Qe=()=>{var e;Te(e=>!e),(null===(e=Object.keys(je))||void 0===e?void 0:e.length)>0&&we.setupdateAccessoryCartFailure({})};o(()=>{var e;(null===(e=Object.keys(je))||void 0===e?void 0:e.length)>0&&Te(e=>!e)},[je]);const Xe=()=>{Ae(!1),ke(null),Re(0)},Ye=(e,l)=>Object.keys((null==Le?void 0:Le[null==Se?void 0:Se.selectedTab])||{}).length>=(null==Ue?void 0:Ue[Se.selectedTab])&&(Ae(!0),ke(e||null),Re(l||0),!0),Ze={},el={},ll={};((null==G?void 0:G.recommendationType)||[]).map(e=>{var l;Ze[e]=(e=>Object.keys((null==Le?void 0:Le[e])||{}).length)(e),el[`${e}_icon`]=null===(l=null==G?void 0:G[`${e.toLowerCase()}Icon`])||void 0===l?void 0:l.filename,ll[`${e}_title`]=null==G?void 0:G[`selectionSummary${e[0]}${e.slice(1).toLowerCase()}Title`]});const{items:il,totalOneTimePrice:ol,totalMonthlyPrice:nl}=(()=>{var e,l,i,o,n,t,d,v,a,r,c,s;let u=0,m=0;const p=((null==G?void 0:G.recommendationType)||[]).flatMap(e=>{const l=(null==Be?void 0:Be[e])||{},i=new Set(Object.values(l).map(e=>{var l;return null===(l=null==e?void 0:e.recomApiResponse)||void 0===l?void 0:l.id})),o=Object.values(l).filter(l=>{var i,o;return null===(i=null==Le?void 0:Le[e])||void 0===i?void 0:i[null===(o=null==l?void 0:l.recomApiResponse)||void 0===o?void 0:o.id]}).map(l=>{var i,o,n,t;return u+=+((null===(o=null===(i=null==l?void 0:l.recomApiResponse)||void 0===i?void 0:i.oneTimePrice)||void 0===o?void 0:o.base)||0),m+=+((null===(t=null===(n=null==l?void 0:l.recomApiResponse)||void 0===n?void 0:n.recurringPrice)||void 0===t?void 0:t.monthlyInstallment)||0),Object.assign(Object.assign({},l),{tabKey:e})}),n=Object.keys((null==Le?void 0:Le[e])||{}).filter(e=>!i.has(e)).map(l=>{const i=(e=>{var l,i,o,n,t,d,v,a,r,c,s,u;if(!(null==e?void 0:e.length))return null;const m=e=>{const l=Number(e);return Number.isFinite(l)?l:0},p=e=>{const l=Number(null==e?void 0:e.cycleStart),i=Number(null==e?void 0:e.cycleEnd);return Number.isFinite(l)&&Number.isFinite(i)&&i>=l?i-l+1:1};let y="",g=0,b=0;for(const h of e){y||(y=(null==h?void 0:h.name)||(null===(l=null==h?void 0:h.productOffering)||void 0===l?void 0:l.name)||(null===(i=null==h?void 0:h.productOffering)||void 0===i?void 0:i.id)||(null==h?void 0:h.id)||"");const e=(null===(n=null===(o=null==h?void 0:h.itemPrice)||void 0===o?void 0:o[0])||void 0===n?void 0:n.cartPrice)||[],E=e.filter(e=>"monthly"===(null==e?void 0:e.recurringChargePeriod)),f=null===(t=E.flatMap(e=>(null==e?void 0:e.additionalDetails)||[]).find(e=>"originalInstallment"===(null==e?void 0:e.id)))||void 0===t?void 0:t.value,T=e.find(e=>"paynow"===(null==e?void 0:e.recurringChargePeriod)),P=null===(v=null===(d=null==T?void 0:T.additionalDetails)||void 0===d?void 0:d.find(e=>"streetPrice"===(null==e?void 0:e.id)))||void 0===v?void 0:v.value,N=(null==h?void 0:h.prices)||[],A=N.filter(e=>"RECURRING"===(null==e?void 0:e.priceType)),I=null===(a=A.find(e=>{var l;return 1===(null===(l=null==e?void 0:e.cycle)||void 0===l?void 0:l.cycleStart)})||A[0])||void 0===a?void 0:a.value,k=null===(r=N.find(e=>"STREET_PRICE"===(null==e?void 0:e.priceType)))||void 0===r?void 0:r.value,C=A.reduce((e,l)=>e+m(null==l?void 0:l.value)*p(null==l?void 0:l.cycle),0)+N.filter(e=>"ONETIME"===(null==e?void 0:e.priceType)).reduce((e,l)=>e+m(null==l?void 0:l.value),0);g+=m(f||(null===(u=null===(s=null===(c=null==E?void 0:E[0])||void 0===c?void 0:c.price)||void 0===s?void 0:s.taxIncludedAmount)||void 0===u?void 0:u.value)||I),b+=m(P||k||((null==h?void 0:h.itemType)===K?C:0))}return{name:y,monthlyInstallment:g,oneTimePrice:b}})(Le[e][l]);return i?(u+=i.oneTimePrice,m+=i.monthlyInstallment,{tabKey:e,isCartOnly:!0,recomApiResponse:{id:l,name:i.name,oneTimePrice:{base:i.oneTimePrice},recurringPrice:{monthlyInstallment:i.monthlyInstallment}}}):null}).filter(Boolean);return[...o,...n]});for(const u of[_,L]){if(p.some(e=>(null==e?void 0:e.tabKey)===u)){const p=null!==(s=null!==(a=null!==(t=null!==(i=null===(l=null===(e=null==_e?void 0:_e[u])||void 0===e?void 0:e.ratePlan)||void 0===l?void 0:l.derivedPrice)&&void 0!==i?i:null===(n=null===(o=null==_e?void 0:_e[u])||void 0===o?void 0:o.ratePlan)||void 0===n?void 0:n.listPrice)&&void 0!==t?t:null===(v=null===(d=null==Le?void 0:Le.ratePlanInfo)||void 0===d?void 0:d[u])||void 0===v?void 0:v.derivedPrice)&&void 0!==a?a:null===(c=null===(r=null==Le?void 0:Le.ratePlanInfo)||void 0===r?void 0:r[u])||void 0===c?void 0:c.monthlyPrice)&&void 0!==s?s:0,y=Number(p),g=Number.isFinite(y)?y:0;m+=g}}return{items:p,totalOneTimePrice:u,totalMonthlyPrice:m}})(),tl=Object.values(Ze).reduce((e,l)=>e+l,0);return l.createElement(l.Fragment,null,l.createElement(d,null,l.createElement("div",{className:n.mainPage},Object.keys((null==Be?void 0:Be[null==Se?void 0:Se.selectedTab])||[]).length>=(null==Ue?void 0:Ue[Se.selectedTab])&&(null==Se?void 0:Se.selectedTab)===O&&l.createElement("div",{className:n.cartLimitTxt},l.createElement(p,{content:Ve})),((null==Se?void 0:Se.selectedTab)===_||(null==Se?void 0:Se.selectedTab)===L)&&l.createElement("div",{className:n.extraSimHeading},(null==Se?void 0:Se.selectedTab)===_?null==G?void 0:G.watchesHeading:null==G?void 0:G.tabletsHeading),l.createElement(t,{key:null==Se?void 0:Se.selectedTab},null===(de=null===(te=(null==Be?void 0:Be[null==Se?void 0:Se.selectedTab])||[])||void 0===te?void 0:te.filter(e=>{var l,i;return Oe===M?(null===(i=null===(l=null==e?void 0:e.recomApiResponse)||void 0===l?void 0:l.recurringPrice)||void 0===i?void 0:i.monthlyInstallment)>0:e}))||void 0===de?void 0:de.map((e,i)=>{var o,t,d,v,a,s,m,p,y,g,b,h,E,f,T,P,N,A,I,k,C,R,S,x,$,w,j,B,F,K,U,z,V,J,H,W,q,X,Y,Z,ee,le,ie,oe,ne,te,de,ve,ae,re,ce,se,ue,me,pe,ye,ge,be;return l.createElement("div",{key:i,className:`${n.card} ${(null===(o=null==Le?void 0:Le[null==Se?void 0:Se.selectedTab])||void 0===o?void 0:o[null===(t=null==e?void 0:e.recomApiResponse)||void 0===t?void 0:t.id])?n.selectedCard:""}`},l.createElement("div",{className:n.detailSection,id:`detailsectionv3${Q}${i}`},(null!==(m=null===(s=null===(a=null===(v=null===(d=null==e?void 0:e.sbStoryItem)||void 0===d?void 0:d.content)||void 0===v?void 0:v.body)||void 0===a?void 0:a[0])||void 0===s?void 0:s.displayText)&&void 0!==m?m:null===(p=null==e?void 0:e.sbStoryItem)||void 0===p?void 0:p.displayText)&&l.createElement("div",{className:n.heading,id:`headingV3${Q}${i}`},null!==(E=null===(h=null===(b=null===(g=null===(y=null==e?void 0:e.sbStoryItem)||void 0===y?void 0:y.content)||void 0===g?void 0:g.body)||void 0===b?void 0:b[0])||void 0===h?void 0:h.displayText)&&void 0!==E?E:null===(f=null==e?void 0:e.sbStoryItem)||void 0===f?void 0:f.displayText,(null==Se?void 0:Se.selectedTab)===O&&(null===(P=null===(T=null==e?void 0:e.recomApiResponse)||void 0===T?void 0:T.variantCategory)||void 0===P?void 0:P.color)&&"None"!==(null===(A=null===(N=null==e?void 0:e.recomApiResponse)||void 0===N?void 0:N.variantCategory)||void 0===A?void 0:A.color)&&l.createElement("div",{className:n.optionalText},null==G?void 0:G.accessoriesColorLabel," ",null===(k=null===(I=null==e?void 0:e.recomApiResponse)||void 0===I?void 0:I.variantCategory)||void 0===k?void 0:k.color)),l.createElement("div",{className:n.accImage,id:`image${Q}${i}`},((null==Se?void 0:Se.selectedTab)===_||(null==Se?void 0:Se.selectedTab)===L)&&(null===(C=null==G?void 0:G.esimIcon)||void 0===C?void 0:C.filename)&&l.createElement("div",{className:n.esimBadge},(null===(S=null===(R=null==e?void 0:e.sbStoryItem)||void 0===R?void 0:R.energyIcon)||void 0===S?void 0:S.filename)&&l.createElement("img",{loading:"lazy",src:r(Je,null===($=null===(x=null==e?void 0:e.sbStoryItem)||void 0===x?void 0:x.energyIcon)||void 0===$?void 0:$.filename),alt:"energy_Icon",width:37,height:20}),l.createElement("img",{src:null===(w=null==G?void 0:G.esimIcon)||void 0===w?void 0:w.filename,alt:"eSIM",className:n.esimIcon})),l.createElement("img",{loading:"lazy",src:r(Je,null===(j=null==e?void 0:e.imageData)||void 0===j?void 0:j.image),alt:"acessories_device",width:210,height:210}))),l.createElement("div",{className:n.mainPriceContainer,id:`main-price-section${Q}${i}`},(null===(B=null==Fe?void 0:Fe.hardwareVariant)||void 0===B?void 0:B.selectedContractType)===M||Oe===M?l.createElement("div",{className:n.priceContainer,id:`price-detail-section${Q}${i}`},l.createElement("div",{className:n.price,id:`price${Q}${i}`},l.createElement("span",{style:{color:(null===(K=null===(F=null==e?void 0:e.recomApiResponse)||void 0===F?void 0:F.recurringPrice)||void 0===K?void 0:K.marketMonthlyInstallment)?"#5E94CF":"#3D3935"}},c(null===(z=null===(U=null==e?void 0:e.recomApiResponse)||void 0===U?void 0:U.recurringPrice)||void 0===z?void 0:z.monthlyInstallment)),(null===(J=null===(V=null==e?void 0:e.recomApiResponse)||void 0===V?void 0:V.recurringPrice)||void 0===J?void 0:J.marketMonthlyInstallment)&&l.createElement("span",{className:n.strikedMonthlyPrice},c(null===(W=null===(H=null==e?void 0:e.recomApiResponse)||void 0===H?void 0:H.recurringPrice)||void 0===W?void 0:W.marketMonthlyInstallment)),l.createElement("span",{className:(null===(X=null===(q=null==e?void 0:e.recomApiResponse)||void 0===q?void 0:q.recurringPrice)||void 0===X?void 0:X.marketMonthlyInstallment)?null==n?void 0:n.monthlyStrikethroughText:n.monthlyText},null==G?void 0:G.monthlyText)),l.createElement("div",{className:n.totalPrice},null==G?void 0:G.totalText," ",c(null===(Z=null===(Y=null==e?void 0:e.recomApiResponse)||void 0===Y?void 0:Y.oneTimePrice)||void 0===Z?void 0:Z.base)," ",l.createElement("span",{className:n.strikedtotalMonthlyPrice,style:{visibility:(null===(le=null===(ee=null==e?void 0:e.recomApiResponse)||void 0===ee?void 0:ee.oneTimePrice)||void 0===le?void 0:le.market)?"visible":"hidden"}},c(null===(oe=null===(ie=null==e?void 0:e.recomApiResponse)||void 0===ie?void 0:ie.oneTimePrice)||void 0===oe?void 0:oe.market))),l.createElement("div",{className:n.priceDescription},null==G?void 0:G.monthlyPaymentLabel,l.createElement("br",null),null==G?void 0:G.monthlyDownPaymentLabel),(null===(te=null===(ne=null==e?void 0:e.recomApiResponse)||void 0===ne?void 0:ne.includedOptions)||void 0===te?void 0:te.includes(D))&&(null==G?void 0:G.freeFUText)&&l.createElement("div",{className:n.flexUpgradeText},null==G?void 0:G.freeFUText)):l.createElement("div",{className:n.priceContainer,id:`price-detail-section${Q}${i}`},l.createElement("div",{className:n.price,style:{color:(null===(ve=null===(de=null==e?void 0:e.recomApiResponse)||void 0===de?void 0:de.recurringPrice)||void 0===ve?void 0:ve.marketMonthlyInstallment)?"#5E94CF":"#3D3935"},id:`price${Q}${i}`},l.createElement("span",{className:n.oneTimePrice},c(null===(re=null===(ae=null==e?void 0:e.recomApiResponse)||void 0===ae?void 0:ae.oneTimePrice)||void 0===re?void 0:re.base)),(null===(se=null===(ce=null==e?void 0:e.recomApiResponse)||void 0===ce?void 0:ce.oneTimePrice)||void 0===se?void 0:se.market)&&l.createElement("span",{className:n.strikedMonthlyPrice},c(null===(me=null===(ue=null==e?void 0:e.recomApiResponse)||void 0===ue?void 0:ue.oneTimePrice)||void 0===me?void 0:me.market))),l.createElement("div",{className:n.priceDescription},null==G?void 0:G.oneTimePaymentLabel)),(null==G?void 0:G.addtocartButton.length)>0&&(null==G?void 0:G.removefromcartButton.length)>0&&l.createElement("div",{className:`${n.cartBtn}`,id:`add-crt-btn${Q}${i}`},(null===(pe=null==Le?void 0:Le[null==Se?void 0:Se.selectedTab])||void 0===pe?void 0:pe[null===(ye=null==e?void 0:e.recomApiResponse)||void 0===ye?void 0:ye.id])?l.createElement(l.Fragment,null,l.createElement(u,{content:null===(ge=null==G?void 0:G.removefromcartButton)||void 0===ge?void 0:ge[0],onClick:l=>We(l,e,i),wafIdentifier:Je,disabled:Me})):l.createElement(u,{content:null===(be=null==G?void 0:G.addtocartButton)||void 0===be?void 0:be[0],onClick:l=>We(l,e,i),wafIdentifier:Je,disabled:Me}))))})),l.createElement("div",{className:n.miaFooter},tl>0&&(null==G?void 0:G.enableSelectionSummary)&&Object.keys(_e||{}).length>1&&Oe===M&&l.createElement("div",{className:n.miniSummary},l.createElement("div",{className:n.titleRow},l.createElement("span",{className:`fw-bold ${n.titleLabel}`},null==G?void 0:G.yourSelectionTitle),l.createElement("span",{className:n.titleIcons},((null==G?void 0:G.recommendationType)||[]).map(e=>{var i;return Ze[e]>0&&l.createElement(l.Fragment,null,(e===_&&Ze[O]>0||e===L&&(Ze[O]>0||Ze[_]>0))&&l.createElement("span",null,l.createElement("img",{loading:"lazy",src:r(Je,null===(i=null==G?void 0:G.selectionSummaryPlusIcon)||void 0===i?void 0:i.filename),alt:"add_icon",width:16,height:16})),l.createElement("span",null,l.createElement("img",{loading:"lazy",src:r(Je,null==el?void 0:el[`${e}_icon`]),alt:`${e}_icon`})," ",Ze[e],"x ",null==ll?void 0:ll[`${e}_title`]))})),l.createElement("div",{className:`fw-bold ${n.cartPrice}`},Oe===M?l.createElement(l.Fragment,null,c(nl),null==G?void 0:G.monthlyText):c(ol)),De?l.createElement("img",{className:n.cartToggle,onClick:()=>ze(!De),loading:"lazy",src:r(Je,null===(ae=null==G?void 0:G.selectionSummaryCollapseIcon)||void 0===ae?void 0:ae.filename),alt:"expand_icon",width:24,height:24}):l.createElement("img",{className:n.cartToggle,onClick:()=>ze(!De),loading:"lazy",src:r(Je,null===(ve=null==G?void 0:G.selectionSummaryExpandIcon)||void 0===ve?void 0:ve.filename),alt:"expand_icon",width:24,height:24})),De&&l.createElement(l.Fragment,null,l.createElement("div",{className:n.miniCartDivider}),il.map(i=>{var o,t,d,v,a,s,u,m,p,y,g,b,h,f,T,P,N,A,I,k,C,S,x,$,w,j,B,F,O,D,K,U,z,V,J,H,W,q,Q;return l.createElement("div",{className:n.itemRow,key:null===(o=null==i?void 0:i.recomApiResponse)||void 0===o?void 0:o.id},l.createElement("div",{className:n.itemLine},l.createElement("span",{className:n.itemName},null===(t=null==i?void 0:i.recomApiResponse)||void 0===t?void 0:t.name),l.createElement("div",{className:n.cartPrice},Oe===M?l.createElement(l.Fragment,null,(null===(v=null===(d=null==i?void 0:i.recomApiResponse)||void 0===d?void 0:d.oneTimePrice)||void 0===v?void 0:v.base)>0&&l.createElement("span",{className:n.oneTime},"(",c(null===(s=null===(a=null==i?void 0:i.recomApiResponse)||void 0===a?void 0:a.oneTimePrice)||void 0===s?void 0:s.base),")"),c(null===(m=null===(u=null==i?void 0:i.recomApiResponse)||void 0===u?void 0:u.recurringPrice)||void 0===m?void 0:m.monthlyInstallment),null==G?void 0:G.monthlyText):c(null===(y=null===(p=null==i?void 0:i.recomApiResponse)||void 0===p?void 0:p.oneTimePrice)||void 0===y?void 0:y.base)),l.createElement("img",{className:n.cartDelete,loading:"lazy",src:r(Je,null===(g=null==G?void 0:G.selectionSummaryDeleteIcon)||void 0===g?void 0:g.filename),alt:"delete_icon",onClick:()=>(l=>e(void 0,void 0,void 0,function*(){var e,i,o,n;const t=null==l?void 0:l.tabKey;console.log("first",null===(e=null==Le?void 0:Le[t])||void 0===e?void 0:e[null===(i=null==l?void 0:l.recomApiResponse)||void 0===i?void 0:i.id]),(null===(o=null==Le?void 0:Le[t])||void 0===o?void 0:o[null===(n=null==l?void 0:l.recomApiResponse)||void 0===n?void 0:n.id])&&(yield we.removeItemFromCart(Ee,l)),qe(E,R,l,0)}))(i),width:20,height:20})),[_,L].includes(null==i?void 0:i.tabKey)&&l.createElement("div",{className:n.itemLine},l.createElement("span",{className:`${n.itemName} ${n.rpName}`},(null===(h=null===(b=null==_e?void 0:_e[null==i?void 0:i.tabKey])||void 0===b?void 0:b.ratePlan)||void 0===h?void 0:h.id)||(null===(T=null===(f=null==Le?void 0:Le.ratePlanInfo)||void 0===f?void 0:f[null==i?void 0:i.tabKey])||void 0===T?void 0:T.name)),l.createElement("div",{className:n.rpPrice},c(Number.isFinite(Number(null!==(B=null!==($=null!==(C=null!==(A=null===(N=null===(P=null==_e?void 0:_e[null==i?void 0:i.tabKey])||void 0===P?void 0:P.ratePlan)||void 0===N?void 0:N.derivedPrice)&&void 0!==A?A:null===(k=null===(I=null==_e?void 0:_e[null==i?void 0:i.tabKey])||void 0===I?void 0:I.ratePlan)||void 0===k?void 0:k.listPrice)&&void 0!==C?C:null===(x=null===(S=null==Le?void 0:Le.ratePlanInfo)||void 0===S?void 0:S[null==i?void 0:i.tabKey])||void 0===x?void 0:x.derivedPrice)&&void 0!==$?$:null===(j=null===(w=null==Le?void 0:Le.ratePlanInfo)||void 0===w?void 0:w[null==i?void 0:i.tabKey])||void 0===j?void 0:j.monthlyPrice)&&void 0!==B?B:0))?Number(null!==(Q=null!==(H=null!==(z=null!==(D=null===(O=null===(F=null==_e?void 0:_e[null==i?void 0:i.tabKey])||void 0===F?void 0:F.ratePlan)||void 0===O?void 0:O.derivedPrice)&&void 0!==D?D:null===(U=null===(K=null==_e?void 0:_e[null==i?void 0:i.tabKey])||void 0===K?void 0:K.ratePlan)||void 0===U?void 0:U.listPrice)&&void 0!==z?z:null===(J=null===(V=null==Le?void 0:Le.ratePlanInfo)||void 0===V?void 0:V[null==i?void 0:i.tabKey])||void 0===J?void 0:J.derivedPrice)&&void 0!==H?H:null===(q=null===(W=null==Le?void 0:Le.ratePlanInfo)||void 0===W?void 0:W[null==i?void 0:i.tabKey])||void 0===q?void 0:q.monthlyPrice)&&void 0!==Q?Q:0):0),null==G?void 0:G.monthlyText)),l.createElement("hr",{className:n.itemDivider}))}))),l.createElement("div",{className:`${n.checkoutBtn}`},(null===(re=null==G?void 0:G.proceedtocheckoutButton)||void 0===re?void 0:re.length)>0&&l.createElement(u,{content:G.proceedtocheckoutButton[0],eventAction:"",onClick:e=>Ge(e),wafIdentifier:Je,disabled:Me}))))),fe&&l.createElement(m,{modalState:fe,handler:()=>{Qe()},showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Pe||"desktop"===Pe||"tablet"===Pe?"460px":"",noCloseButton:!1,backDrop:!0}," ",l.createElement("div",{className:`${n.accessoryErrorUpdate}`},l.createElement(p,{content:null===(se=null===(ce=null==G?void 0:G.errorModal)||void 0===ce?void 0:ce[0])||void 0===se?void 0:se.heading}),l.createElement(p,{content:null===(me=null===(ue=null==G?void 0:G.errorModal)||void 0===ue?void 0:ue[0])||void 0===me?void 0:me.description}),l.createElement("div",{className:`${n.accessoryErrorButtons}`},l.createElement("div",{className:`${n.cancelButton}`,onClick:()=>{Qe()}},null==G?void 0:G.cancelButtonLinkText),l.createElement(u,{content:null===(pe=null==G?void 0:G.retryButton)||void 0===pe?void 0:pe[0],onClick:e=>Ge(e),metadata:void 0,wafIdentifier:Je})))),Ne&&(null==Se?void 0:Se.selectedTab)===O&&l.createElement(m,{modalState:Ne,handler:()=>{Xe()},showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Pe||"desktop"===Pe||"tablet"===Pe?"624px":"",noCloseButton:!1,backDrop:!0},l.createElement("div",{className:`${n.accessoryErrorUpdate}`},l.createElement(p,{content:JSON.parse(a(JSON.stringify(null===(ge=null===(ye=null==G?void 0:G.cartLimitModal)||void 0===ye?void 0:ye[0])||void 0===ge?void 0:ge.heading),[null==Ue?void 0:Ue[Se.selectedTab].toString()]))}),l.createElement(p,{content:JSON.parse(a(JSON.stringify(null===(he=null===(be=null==G?void 0:G.cartLimitModal)||void 0===be?void 0:be[0])||void 0===he?void 0:he.description),[null==Ue?void 0:Ue[Se.selectedTab].toString()]))}),l.createElement("div",{className:`${n.accessoryErrorButtons}`},l.createElement("div",{className:`${n.cancelButton}`,onClick:()=>{Xe()}},null==G?void 0:G.cartLimitBtnText)))),Ne&&((null==Se?void 0:Se.selectedTab)===_||(null==Se?void 0:Se.selectedTab)===L)&&(()=>{var e,i,o,t,d,v,a;const r=(()=>{var e,l;return(null==Se?void 0:Se.selectedTab)===_?null===(e=null==G?void 0:G.watchesSelectionPopup)||void 0===e?void 0:e[0]:null===(l=null==G?void 0:G.tabletsSelectionPopup)||void 0===l?void 0:l[0]})();return j(E,h,{component:b,message_title:g,message_description:null===(v=null===(d=null===(t=null===(o=null===(i=null===(e=null==r?void 0:r.description)||void 0===e?void 0:e.content)||void 0===i?void 0:i[0])||void 0===o?void 0:o.content)||void 0===t?void 0:t[0])||void 0===d?void 0:d.text)||void 0===v?void 0:v.slice(0,100),message_type:y}),l.createElement(m,{modalState:Ne,handler:()=>(e=>{var l,i,o,n,t,d;(null==e?void 0:e.description)&&j(E,C,{component:b,message_title:g,message_description:null===(d=null===(t=null===(n=null===(o=null===(i=null===(l=null==e?void 0:e.description)||void 0===l?void 0:l.content)||void 0===i?void 0:i[0])||void 0===o?void 0:o.content)||void 0===n?void 0:n[0])||void 0===t?void 0:t.text)||void 0===d?void 0:d.slice(0,100),message_type:y}),Xe()})(r),showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Pe||"desktop"===Pe||"tablet"===Pe?"624px":"",noCloseButton:!1,backDrop:!0},l.createElement(l.Fragment,null,(null==r?void 0:r.heading)&&l.createElement("div",{className:n.modalHeading},l.createElement(p,{content:r.heading})),(null==r?void 0:r.description)&&l.createElement("div",{className:n.modalDescription},l.createElement(p,{content:r.description})),l.createElement("div",{className:n.modalButtons},(null==r?void 0:r.link)&&l.createElement("a",{className:n.factSheetLink,onClick:()=>(j(E,$,{component:I,click_text:x}),void Xe())},r.linkText),(null===(a=null==r?void 0:r.button)||void 0===a?void 0:a.length)>0&&l.createElement(u,{content:r.button[0],onClick:()=>(()=>{if(j(E,$,{component:I,click_text:w}),!Ie)return void Xe();const e=((null==Be?void 0:Be[null==Se?void 0:Se.selectedTab])||[]).find(e=>{var l,i;return null===(l=null==Le?void 0:Le[null==Se?void 0:Se.selectedTab])||void 0===l?void 0:l[null===(i=null==e?void 0:e.recomApiResponse)||void 0===i?void 0:i.id]});e&&(qe(E,R,e,0),He(e,U)),qe(S,S,Ie,Ce),He(Ie,z),Xe()})(),metadata:void 0,wafIdentifier:""}))))})())};export{G as default};
2
2
  //# sourceMappingURL=AccessoryCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccessoryCard.js","sources":["../../../../../src/components/Accessories/Accessory-card/AccessoryCard.tsx"],"sourcesContent":["/* eslint-disable max-lines-per-function */\r\nimport React, {JSX, useEffect, useState } from 'react';\r\nimport Styles from './AccessoryCard.module.scss';\r\n// import FalconButton from '@/components/shared/FalconButton/falconButton';\r\nimport { MultiItemAccessoriesSchema } from '../MultiItemAccessories/MultiItemAccessoriesSchema';\r\nimport DeviceCarouselComponent from '../DeviceCarouselComponent';\r\nimport Row from '../../ResponsiveRow/row';\r\n// import GenericImage from '../../GenericImage/GenericImage';\r\nimport { getCompressedImage } from '../../../utils/utils';\r\nimport { getCookie } from 'cookies-next';\r\nimport FalconButtonV2 from '../../FalconButtonV2/FalconButtonV2';\r\nimport { countZero, replacePlaceholder } from '../../../utils/utils';\r\nimport AccessoryModal from './AccessoryModal';\r\nimport RichText from '../../richtext';\r\nimport { viewport } from '../../../utils/utils';\r\nimport { ACCORDIONCLICK, ADD_TO_CART, CLOSE, CLOSEPOPUP, CONTINUE, CTABUTTONCLICK, FORM, GAEVENT, INFO, KEEPPREVIOUS, LINK, OPEN, OPENPOPUP, POPUP, REMOVEFROMCART, REPLACE, REPLACESELECTION, TABCLICK } from '../../../Analytics/AnalyticsConstants';\r\nimport { trackViewItem } from '../../../utils/AnalyticsUtils';\r\nimport { MONTHLY, ONETIME, CONTRACT, MOBILERATEPLAN, TV, INTERNETFLOW, ACCESSORY, WATCHES, TABLETS, HARDWARE, ADD, REMOVE, FLEX_UPGRADE } from '../../../utils/constants';\r\nimport { useMultiAccessoryContext } from '../multiItemAccessoryStore/useMultiAccessoryContext';\r\nimport { useMultiAccessoryActions } from '../multiItemAccessoryStore/useMultiAccessoryActions';\r\nimport { buildSingleItemCartPayload, useMultiAccessoryUpdateCartActions } from '../multiItemAccessoryStore/useMultiAccessoryUpdateCartActions';\r\nimport { AssetPathPropConfig } from '../../../services';\r\nimport { trackNewDatalayerEvent } from '../../../utils/AnalyticsUtils';\r\n\r\ntype AccessoryCardProps = {\r\n content: MultiItemAccessoriesSchema;\r\n tabIndex: number;\r\n checkingviewPort: any;\r\n isSubscriptionFlow: boolean;\r\n setAccessoriesSelected?: (accessories: any[]) => void;\r\n};\r\n\r\n// eslint-disable-next-line max-lines-per-function\r\nconst AccessoryCard = ({\r\n content,\r\n tabIndex,\r\n isSubscriptionFlow,\r\n setAccessoriesSelected\r\n}: AccessoryCardProps): JSX.Element => {\r\n const cartId = getCookie('one-commerce-cartId');\r\n const [show, setShow] = useState(false);\r\n const viewPort = viewport();\r\n const [showCartLimitError, setShowCartLimitError] = useState(false);\r\n const [pendingItem, setPendingItem] = useState<any>(null);\r\n const [pendingItemIndex, setPendingItemIndex] = useState<number>(0);\r\n const { store, dispatch } = useMultiAccessoryContext();\r\n const actions = useMultiAccessoryActions(dispatch);\r\n const cartActions = useMultiAccessoryUpdateCartActions();\r\n const { updateAccessoryCartFailure } = store; // for MultiAccessoryUpdateCart state\r\n //for multiAccessory recommendation api state\r\n const { multiItemAccessoriessList, deviceSessionValues, selectedPaymentType, recommendedAccessories, cartData, loading, showMiniCart } = store;\r\n //check for WIN/rateplan flow\r\n const ratePlanFlow = [MOBILERATEPLAN ]?.includes?.(recommendedAccessories?.[store?.selectedTab]?.hardware?.[0]?.recommendationProcessingType) ? true : (deviceSessionValues?.hardwareVariant ? false : true);\r\n const accessoriesLimit: any = {\r\n [ACCESSORY]: isSubscriptionFlow\r\n ? (ratePlanFlow ? +content?.ratePlanAccessoriesLimit : +content?.winAccessoriesLimit)\r\n : +content?.accessoriesLimit,\r\n WATCHES: 1,\r\n TABLETS: 1,\r\n };\r\n const setShowMiniCart = (value: boolean) => {\r\n trackNewDatalayerEvent(GAEVENT, ACCORDIONCLICK, {\r\n component: FORM,\r\n click_text: value ? OPEN : CLOSE\r\n });\r\n actions.setShowMiniCart(value);\r\n }\r\n\r\n const limitWarningText = JSON.parse(\r\n replacePlaceholder(JSON.stringify(content?.cartLimitWarningText), [\r\n accessoriesLimit?.[store.selectedTab].toString()\r\n ])\r\n );\r\n const basicConfigUrl = AssetPathPropConfig?.getInstance()?.getAssetPath();\r\n\r\n // Helper function to get selection popup content based on tab type\r\n const getSelectionPopupContent = () => {\r\n return store?.selectedTab === WATCHES \r\n ? content?.watchesSelectionPopup?.[0] \r\n : content?.tabletsSelectionPopup?.[0];\r\n };\r\n\r\n // Helper to fire immediate per-item cart API call\r\n const fireImmediateCartUpdate = (item: any, action: string) => {\r\n const cartItems = buildSingleItemCartPayload(item, action, store?.selectedTab, store);\r\n if (cartItems.length > 0) {\r\n cartActions.multiItemAccessorycreateCartRequest({\r\n id: cartId,\r\n redirectUrl: '',\r\n skipRedirect: true,\r\n previousTab: store?.selectedTab,\r\n cartItems,\r\n });\r\n }\r\n };\r\n\r\n // for handling add and remove accessories from cart\r\n const handleClickAddRemoveCartBtn = (e: any, item: any, index: number) => {\r\n e.preventDefault();\r\n if (cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id]) {\r\n // Item is in cart — remove it\r\n trackCTAButton(GAEVENT, REMOVEFROMCART, item, index);\r\n fireImmediateCartUpdate(item, REMOVE);\r\n } else {\r\n // Item not in cart — add it\r\n if (checkCartLimit(item, index)) {\r\n return;\r\n }\r\n trackCTAButton(ADD_TO_CART, ADD_TO_CART, item, index);\r\n fireImmediateCartUpdate(item, ADD);\r\n }\r\n };\r\n\r\n // Track analytics for CTA buttons\r\n const trackCTAButton = (event: string, eventName: string, item: any, index: number): void => {\r\n trackViewItem(event, eventName, {\r\n displayName: item?.recomApiResponse?.name,\r\n productId: item?.recomApiResponse?.id,\r\n priceValue: item?.recomApiResponse?.oneTimePrice?.base,\r\n index: index,\r\n variant: item?.recomApiResponse?.variantCategory?.color,\r\n storage: item?.recomApiResponse?.variantCategory?.storage,\r\n hardwareCategory: store?.selectedTab,\r\n });\r\n }\r\n // create cart function call — with real-time updates, just redirect\r\n const multiItemAccesoryCreatecart = (e: any) => {\r\n e.preventDefault();\r\n const isRetry = Object.keys(updateAccessoryCartFailure)?.length > 0;\r\n if (isRetry) {\r\n setShow(false);\r\n cartActions.setupdateAccessoryCartFailure({});\r\n return;\r\n }\r\n\r\n const redirectUrl = isSubscriptionFlow ? content?.winCheckoutUrl?.cached_url : content?.multiItemCheckoutUrl?.url;\r\n trackNewDatalayerEvent(GAEVENT, TABCLICK, {\r\n component: LINK,\r\n click_text: CONTINUE\r\n });\r\n window.location.href = redirectUrl;\r\n }\r\n\r\n // close the error popup when close/cancel button is clicked\r\n const onCloseClick = () => {\r\n setShow((prevState) => !prevState);\r\n if (Object.keys(updateAccessoryCartFailure)?.length > 0) {\r\n cartActions.setupdateAccessoryCartFailure({});\r\n }\r\n };\r\n // open the error popup when updated cart fails\r\n useEffect(() => {\r\n if (Object.keys(updateAccessoryCartFailure)?.length > 0) {\r\n setShow((prevState) => !prevState);\r\n }\r\n }, [updateAccessoryCartFailure]);\r\n\r\n // close the cartLimit popup when close/cancel button is clicked\r\n const onCloseClickCartLimitPopup = () => {\r\n setShowCartLimitError(false);\r\n setPendingItem(null);\r\n setPendingItemIndex(0);\r\n };\r\n\r\n // Handle \"ClosePopup\" - just close the modal without any changes\r\n const handleClosePopup = (modalContent?: any) => {\r\n // Track close popup event\r\n modalContent?.description && trackNewDatalayerEvent(GAEVENT, CLOSEPOPUP, {\r\n component: POPUP,\r\n message_title: REPLACESELECTION,\r\n message_description: modalContent?.description?.content?.[0]?.content?.[0]?.text?.slice(0, 100),\r\n message_type: INFO,\r\n });\r\n onCloseClickCartLimitPopup();\r\n };\r\n // Handle \"Keep previous\" - just close the modal without any changes\r\n const handleKeepPrevious = () => {\r\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\r\n component: LINK,\r\n click_text: KEEPPREVIOUS\r\n });\r\n onCloseClickCartLimitPopup();\r\n };\r\n\r\n // Handle \"Replace\" - replace existing selection with new item via API\r\n const handleReplaceSelection = () => {\r\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\r\n component: LINK,\r\n click_text: REPLACE\r\n });\r\n if (!pendingItem) {\r\n onCloseClickCartLimitPopup();\r\n return;\r\n }\r\n\r\n // Find the first item currently in cart for this tab and remove it, then add the new one\r\n const cartItems = multiItemAccessoriessList?.[store?.selectedTab] || [];\r\n const existingCartItem = cartItems.find((item: any) => \r\n cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id]\r\n );\r\n \r\n if (existingCartItem) {\r\n trackCTAButton(GAEVENT, REMOVEFROMCART, existingCartItem, 0);\r\n fireImmediateCartUpdate(existingCartItem, REMOVE);\r\n }\r\n\r\n // Add the new pending item\r\n trackCTAButton(ADD_TO_CART, ADD_TO_CART, pendingItem, pendingItemIndex);\r\n fireImmediateCartUpdate(pendingItem, ADD);\r\n\r\n // Close the modal and clear pending item\r\n onCloseClickCartLimitPopup();\r\n };\r\n\r\n //show popup if cart limit reached\r\n const checkCartLimit = (item?: any, index?: number) => {\r\n const selectedAccCount = Object.keys(cartData?.[store?.selectedTab] || {}).length;\r\n if (selectedAccCount >= accessoriesLimit?.[store.selectedTab]) {\r\n setShowCartLimitError(true);\r\n setPendingItem(item || null);\r\n setPendingItemIndex(index || 0);\r\n return true;\r\n }\r\n return false;\r\n }\r\n //TODO: Remove checkingviewPort passing from multi-item\r\n\r\n // Handle delete from mini cart summary\r\n const handleDeleteFromMiniCart = async (item: any) => {\r\n const tabKey = item?.tabKey;\r\nconsole.log('first', cartData?.[tabKey]?.[item?.recomApiResponse?.id])\r\n // Call API directly to remove it from cart\r\n if (cartData?.[tabKey]?.[item?.recomApiResponse?.id]) {\r\n await cartActions.removeItemFromCart(cartId, item);\r\n }\r\n\r\n trackCTAButton(GAEVENT, REMOVEFROMCART, item, 0);\r\n };\r\n\r\n // Helper function to calculate selected count for a tab\r\n const getTabSelectedCount = (tabKey: string) => {\r\n return Object.keys(cartData?.[tabKey] || {}).length;\r\n };\r\n const inTabSelected: Record<string, number> = {};\r\n const summaryIcons: Record<string, string> = {};\r\n const summaryLabels: Record<string, string> = {};\r\n\r\n (content?.recommendationType || []).map((tabKey: string) => {\r\n inTabSelected[tabKey] = getTabSelectedCount(tabKey);\r\n summaryIcons[`${tabKey}_icon`] = (content as any)?.[`${tabKey.toLowerCase()}Icon`]?.filename;\r\n summaryLabels[`${tabKey}_title`] = (content as any)?.[`selectionSummary${tabKey[0]}${tabKey.slice(1).toLowerCase()}Title`];\r\n });\r\n\r\n /**\r\n * Extract name and prices from from cartData.\r\n * Used as fallback when the item is not present in multiItemAccessoriessList.\r\n */\r\n const getCartItemDisplayInfo = (cartItems: any[]) => {\r\n if (!cartItems?.length) return null;\r\n\r\n const toNumberOrZero = (value: any) => {\r\n const parsed = Number(value);\r\n return Number.isFinite(parsed) ? parsed : 0;\r\n };\r\n\r\n const getCycleMonths = (cycle: any) => {\r\n const start = Number(cycle?.cycleStart);\r\n const end = Number(cycle?.cycleEnd);\r\n if (Number.isFinite(start) && Number.isFinite(end) && end >= start) {\r\n return (end - start) + 1;\r\n }\r\n return 1;\r\n };\r\n\r\n let name = '';\r\n let monthlyInstallment = 0;\r\n let oneTimePrice = 0;\r\n\r\n for (const item of cartItems) {\r\n if (!name) {\r\n name = item?.name || item?.productOffering?.name || item?.productOffering?.id || item?.id || '';\r\n }\r\n\r\n const prices = item?.itemPrice?.[0]?.cartPrice || [];\r\n const monthlyPrices = prices.filter((p: any) => p?.recurringChargePeriod === 'monthly');\r\n const originalInstallment = monthlyPrices\r\n .flatMap((p: any) => p?.additionalDetails || [])\r\n .find((d: any) => d?.id === 'originalInstallment')?.value;\r\n const paynowPrice = prices.find((p: any) => p?.recurringChargePeriod === 'paynow');\r\n const streetPrice = paynowPrice?.additionalDetails?.find((d: any) => d?.id === 'streetPrice')?.value;\r\n\r\n // Flat update-cart payloads expose prices under `item.prices`.\r\n const flatPrices = item?.prices || [];\r\n\r\n // Prefer cycleStart:1 recurring (monthly installment) over last-cycle recurring.\r\n const flatRecurringPrices = flatPrices.filter((p: any) => p?.priceType === 'RECURRING');\r\n const flatMonthly = (flatRecurringPrices.find((p: any) => p?.cycle?.cycleStart === 1) || flatRecurringPrices[0])?.value;\r\n const flatStreet = flatPrices.find((p: any) => p?.priceType === 'STREET_PRICE')?.value;\r\n\r\n // Fallback for watch/tablet when recommendation response is absent:\r\n // compute total financed amount = recurring installments across cycles + one-time fee.\r\n const hardwareOneTimeTotal = flatRecurringPrices.reduce((sum: number, price: any) => {\r\n return sum + (toNumberOrZero(price?.value) * getCycleMonths(price?.cycle));\r\n }, 0) + flatPrices\r\n .filter((p: any) => p?.priceType === 'ONETIME')\r\n .reduce((sum: number, price: any) => sum + toNumberOrZero(price?.value), 0);\r\n\r\n monthlyInstallment += toNumberOrZero(originalInstallment || monthlyPrices?.[0]?.price?.taxIncludedAmount?.value || flatMonthly);\r\n oneTimePrice += toNumberOrZero(streetPrice || flatStreet || (item?.itemType === HARDWARE ? hardwareOneTimeTotal : 0));\r\n }\r\n\r\n return {\r\n name,\r\n monthlyInstallment,\r\n oneTimePrice,\r\n };\r\n };\r\n\r\n // Get all selected items across all tabs as a flat array with cumulative prices\r\n const getAllSelectedItems = () => {\r\n let totalOneTimePrice = 0;\r\n let totalMonthlyPrice = 0;\r\n\r\n const items = (content?.recommendationType || []).flatMap((tabKey: string) => {\r\n const recomList = multiItemAccessoriessList?.[tabKey] || {};\r\n const recomIds = new Set(Object.values(recomList).map((item: any) => item?.recomApiResponse?.id));\r\n\r\n // Items from recommendation list that are in cart\r\n const recomItems = Object.values(recomList)\r\n .filter((item: any) => cartData?.[tabKey]?.[item?.recomApiResponse?.id])\r\n .map((item: any) => {\r\n totalOneTimePrice += +(item?.recomApiResponse?.oneTimePrice?.base || 0);\r\n totalMonthlyPrice += +(item?.recomApiResponse?.recurringPrice?.monthlyInstallment || 0);\r\n return { ...item, tabKey };\r\n });\r\n\r\n // Cart-only items not in recommendation list\r\n const cartOnlyItems = Object.keys(cartData?.[tabKey] || {})\r\n .filter((id) => !recomIds.has(id))\r\n .map((id) => {\r\n const info = getCartItemDisplayInfo(cartData[tabKey][id]);\r\n if (!info) return null;\r\n totalOneTimePrice += info.oneTimePrice;\r\n totalMonthlyPrice += info.monthlyInstallment;\r\n return {\r\n tabKey,\r\n isCartOnly: true,\r\n recomApiResponse: {\r\n id,\r\n name: info.name,\r\n oneTimePrice: { base: info.oneTimePrice },\r\n recurringPrice: { monthlyInstallment: info.monthlyInstallment },\r\n },\r\n };\r\n })\r\n .filter(Boolean);\r\n\r\n return [...recomItems, ...cartOnlyItems];\r\n });\r\n\r\n // Add rateplan monthly cost once per WATCHES/TABLETS tab that has selected items\r\n for (const tabKey of [WATCHES, TABLETS]) {\r\n const hasItemsInTab = items.some((item: any) => item?.tabKey === tabKey);\r\n if (hasItemsInTab) {\r\n const rpRawPrice = recommendedAccessories?.[tabKey]?.ratePlan?.listPrice ?? cartData?.ratePlanInfo?.[tabKey]?.monthlyPrice;\r\n const rpParsedPrice = Number(rpRawPrice);\r\n const rpPrice = Number.isFinite(rpParsedPrice) ? rpParsedPrice : 0;\r\n totalMonthlyPrice += rpPrice;\r\n }\r\n }\r\n\r\n return { items, totalOneTimePrice, totalMonthlyPrice };\r\n };\r\n\r\n const { items: allSelectedItems, totalOneTimePrice, totalMonthlyPrice } = getAllSelectedItems();\r\n const allTabSelectedCount = Object.values(inTabSelected).reduce((total, count) => total + count, 0);\r\n return (\r\n <>\r\n <Row>\r\n <div className={Styles.mainPage}>\r\n {((Object.keys(multiItemAccessoriessList?.[store?.selectedTab] || []).length >= accessoriesLimit?.[store.selectedTab]) && store?.selectedTab === ACCESSORY ) && <div className={Styles.cartLimitTxt}><RichText content={limitWarningText} /></div>}\r\n {(store?.selectedTab === WATCHES || store?.selectedTab === TABLETS) && <div className={Styles.extraSimHeading}>{store?.selectedTab === WATCHES ? content?.watchesHeading : content?.tabletsHeading}</div>}\r\n <DeviceCarouselComponent key={store?.selectedTab}>\r\n {(multiItemAccessoriessList?.[store?.selectedTab] || [])?.filter((item: any) => selectedPaymentType === CONTRACT ? item?.recomApiResponse?.recurringPrice?.monthlyInstallment > 0 : item)?.map((item: any, index: number) => {\r\n return (\r\n <div key={index} className={`${Styles.card} ${cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id] ? Styles.selectedCard : ''}`}>\r\n <div className={Styles.detailSection} id={`detailsectionv3${tabIndex}${index}`}>\r\n {(item?.sbStoryItem?.content?.body?.[0]?.displayText ?? item?.sbStoryItem?.displayText) && <div className={Styles.heading} id={`headingV3${tabIndex}${index}`}>\r\n {item?.sbStoryItem?.content?.body?.[0]?.displayText ?? item?.sbStoryItem?.displayText}\r\n {store?.selectedTab === ACCESSORY && item?.recomApiResponse?.variantCategory?.color && item?.recomApiResponse?.variantCategory?.color !== 'None' && <div className={Styles.optionalText}>{content?.accessoriesColorLabel} {item?.recomApiResponse?.variantCategory?.color}</div>}\r\n </div>}\r\n \r\n <div className={Styles.accImage} id={`image${tabIndex}${index}`}>\r\n {(store?.selectedTab === WATCHES || store?.selectedTab === TABLETS) && content?.esimIcon?.filename && (\r\n <div className={Styles.esimBadge}>\r\n {item?.sbStoryItem?.energyIcon?.filename && <img loading='lazy' src={getCompressedImage(basicConfigUrl, item?.sbStoryItem?.energyIcon?.filename)} alt='energy_Icon' width={37} height={20} />}\r\n <img src={content?.esimIcon?.filename} alt=\"eSIM\" className={Styles.esimIcon} />\r\n </div>\r\n )}\r\n <img loading='lazy' src={getCompressedImage(basicConfigUrl,item?.imageData?.image)} alt='acessories_device' width={210} height={210} />\r\n </div>\r\n </div>\r\n <div className={Styles.mainPriceContainer} id={`main-price-section${tabIndex}${index}`}>\r\n {(deviceSessionValues?.hardwareVariant?.selectedContractType === CONTRACT || selectedPaymentType === CONTRACT) ? <div className={Styles.priceContainer} id={`price-detail-section${tabIndex}${index}`}>\r\n <div className={Styles.price} id={`price${tabIndex}${index}`}>\r\n <span style={{ color: item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment ? '#5E94CF' : '#3D3935' }}>{countZero(item?.recomApiResponse?.recurringPrice?.monthlyInstallment)}</span>\r\n {item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment && (\r\n <span className={Styles.strikedMonthlyPrice}>\r\n {countZero(item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment)}\r\n </span>\r\n )}\r\n <span className={item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment ? Styles?.monthlyStrikethroughText : Styles.monthlyText}>{content?.monthlyText}</span>\r\n </div>\r\n <div className={Styles.totalPrice}>{content?.totalText} {countZero(item?.recomApiResponse?.oneTimePrice?.base)} <span className={Styles.strikedtotalMonthlyPrice} style={{ visibility: item?.recomApiResponse?.oneTimePrice?.market ? 'visible' : 'hidden' }}>{countZero(item?.recomApiResponse?.oneTimePrice?.market)}</span></div>\r\n <div className={Styles.priceDescription}>{content?.monthlyPaymentLabel}<br />{content?.monthlyDownPaymentLabel}</div>\r\n {(item?.recomApiResponse?.includedOptions?.includes(FLEX_UPGRADE) && content?.freeFUText) && <div className={Styles.flexUpgradeText}>{content?.freeFUText}</div>}\r\n </div> :\r\n <div className={Styles.priceContainer} id={`price-detail-section${tabIndex}${index}`}>\r\n <div className={Styles.price} style={{ color: item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment ? '#5E94CF' : '#3D3935' }} id={`price${tabIndex}${index}`}>\r\n <span className={Styles.oneTimePrice}>{countZero(item?.recomApiResponse?.oneTimePrice?.base)}</span>\r\n {item?.recomApiResponse?.oneTimePrice?.market && (\r\n <span className={Styles.strikedMonthlyPrice}>\r\n {countZero(item?.recomApiResponse?.oneTimePrice?.market)}\r\n </span>\r\n )}\r\n </div>\r\n <div className={Styles.priceDescription}>{content?.oneTimePaymentLabel}</div>\r\n </div>\r\n }\r\n {content?.addtocartButton.length > 0 && content?.removefromcartButton.length > 0 && (\r\n <div className={`${Styles.cartBtn}`} id={`add-crt-btn${tabIndex}${index}`}>\r\n {cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id] ?\r\n <><FalconButtonV2\r\n content={content?.removefromcartButton?.[0]}\r\n onClick={(e: any) => handleClickAddRemoveCartBtn(e, item, index)}\r\n wafIdentifier={basicConfigUrl}\r\n disabled={loading}\r\n />\r\n </> :\r\n <FalconButtonV2\r\n content={content?.addtocartButton?.[0]}\r\n onClick={(e: any) => handleClickAddRemoveCartBtn(e, item, index)}\r\n wafIdentifier={basicConfigUrl}\r\n disabled={loading}\r\n />\r\n }\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )\r\n })}\r\n </DeviceCarouselComponent>\r\n\r\n <div className={Styles.miaFooter}>\r\n {/** Selection summary is shown only for multi-tab MIA (not old single-tab UI),\r\n * contract/monthly flow (not one-time pay), and new subscriptions\r\n * (existing subscription flow is blocked unless enableExistingSubscription is true (already handled in MultiItemAccessoriesPage)) */}\r\n {allTabSelectedCount > 0 && content?.enableSelectionSummary\r\n && Object.keys(recommendedAccessories || {}).length > 1\r\n && selectedPaymentType === CONTRACT\r\n && <div className={Styles.miniSummary}>\r\n <div className={Styles.titleRow}>\r\n {/**1*/}\r\n <span className={`fw-bold ${Styles.titleLabel}`}>{content?.yourSelectionTitle}</span>\r\n {/**2*/}\r\n <span className={Styles.titleIcons}>\r\n {(content?.recommendationType || []).map((tabKey: string) => {\r\n return (\r\n inTabSelected[tabKey] > 0 && (\r\n <>\r\n {((tabKey=== WATCHES && inTabSelected[ACCESSORY] > 0) ||(tabKey === TABLETS && (inTabSelected[ACCESSORY] > 0 || inTabSelected[WATCHES] > 0))) && <span><img loading='lazy' src={getCompressedImage(basicConfigUrl,content?.selectionSummaryPlusIcon?.filename)} alt='add_icon' width={16} height={16}/></span>}\r\n <span><img loading='lazy' src={getCompressedImage(basicConfigUrl,summaryIcons?.[`${tabKey}_icon`])} alt={`${tabKey}_icon`} /> {inTabSelected[tabKey]}x {summaryLabels?.[`${tabKey}_title`]}</span>\r\n </>\r\n )\r\n )\r\n })}\r\n </span>\r\n {/**3*/}\r\n <div className={`fw-bold ${Styles.cartPrice}`}>\r\n {selectedPaymentType === CONTRACT\r\n ? <>{countZero(totalMonthlyPrice)}{content?.monthlyText}</>\r\n : countZero(totalOneTimePrice)\r\n }\r\n </div>\r\n {/**4*/}\r\n {!showMiniCart ? <img className={Styles.cartToggle} onClick={() => setShowMiniCart(!showMiniCart)} loading='lazy' src={getCompressedImage(basicConfigUrl,content?.selectionSummaryExpandIcon?.filename)} alt='expand_icon' width={24} height={24}/>\r\n : <img className={Styles.cartToggle} onClick={() => setShowMiniCart(!showMiniCart)} loading='lazy' src={getCompressedImage(basicConfigUrl,content?.selectionSummaryCollapseIcon?.filename)} alt='expand_icon' width={24} height={24}/>}\r\n </div>\r\n {showMiniCart && (\r\n <>\r\n {/* DividerComponent */}\r\n <div className={Styles.miniCartDivider} />\r\n {allSelectedItems\r\n .map((item: any) => (\r\n <div className={Styles.itemRow} key={item?.recomApiResponse?.id}>\r\n <div className={Styles.itemLine}>\r\n <span className={Styles.itemName}>{item?.recomApiResponse?.name}</span>\r\n <div className={Styles.cartPrice}>\r\n {selectedPaymentType === CONTRACT\r\n ? <>{item?.recomApiResponse?.oneTimePrice?.base > 0 && <span className={Styles.oneTime}>({countZero(item?.recomApiResponse?.oneTimePrice?.base)})</span>}\r\n {countZero(item?.recomApiResponse?.recurringPrice?.monthlyInstallment)}{content?.monthlyText}</>\r\n : countZero(item?.recomApiResponse?.oneTimePrice?.base)\r\n }\r\n </div>\r\n <img\r\n className={Styles.cartDelete}\r\n loading='lazy'\r\n src={getCompressedImage(basicConfigUrl, content?.selectionSummaryDeleteIcon?.filename)}\r\n alt='delete_icon'\r\n onClick={() => handleDeleteFromMiniCart(item)}\r\n width={20}\r\n height={20}\r\n />\r\n </div>\r\n {[WATCHES, TABLETS].includes(item?.tabKey) &&<div className={Styles.itemLine}>\r\n <span className={`${Styles.itemName} ${Styles.rpName}`}>{recommendedAccessories?.[item?.tabKey]?.ratePlan?.id || cartData?.ratePlanInfo?.[item?.tabKey]?.name}</span>\r\n <div className={Styles.rpPrice}>\r\n {countZero(Number.isFinite(Number(recommendedAccessories?.[item?.tabKey]?.ratePlan?.listPrice ?? cartData?.ratePlanInfo?.[item?.tabKey]?.monthlyPrice))\r\n ? Number(recommendedAccessories?.[item?.tabKey]?.ratePlan?.listPrice ?? cartData?.ratePlanInfo?.[item?.tabKey]?.monthlyPrice)\r\n : 0)}{content?.monthlyText}\r\n </div>\r\n </div>}\r\n {/* DividerComponent */}\r\n <hr className={Styles.itemDivider} />\r\n </div>\r\n ))\r\n }\r\n </>\r\n )\r\n }\r\n\r\n </div>}\r\n <div className={`${Styles.checkoutBtn}`}>\r\n {content?.proceedtocheckoutButton?.length > 0 && (\r\n <FalconButtonV2\r\n content={content.proceedtocheckoutButton[0]}\r\n eventAction={''}\r\n onClick={(e: any) => multiItemAccesoryCreatecart(e)}\r\n wafIdentifier={basicConfigUrl}\r\n disabled={loading}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </Row>\r\n {show && <AccessoryModal\r\n modalState={show}\r\n handler={() => { onCloseClick() }}\r\n showFooter={false}\r\n height={'auto'}\r\n fixedWidth={(viewPort === 'large-desktop' || viewPort === 'desktop' || viewPort === 'tablet') ? '460px' : ''}\r\n noCloseButton={false}\r\n backDrop={true}\r\n > <div className={`${Styles.accessoryErrorUpdate}`}>\r\n <RichText content={content?.errorModal?.[0]?.heading} />\r\n <RichText content={content?.errorModal?.[0]?.description} />\r\n <div className={`${Styles.accessoryErrorButtons}`}>\r\n <div className={`${Styles.cancelButton}`} onClick={() => { onCloseClick() }}>{content?.cancelButtonLinkText}</div>\r\n <FalconButtonV2\r\n content={content?.retryButton?.[0]}\r\n onClick={(e: any) => multiItemAccesoryCreatecart(e)}\r\n metadata={undefined}\r\n wafIdentifier={basicConfigUrl}\r\n />\r\n </div>\r\n </div>\r\n </AccessoryModal>\r\n }\r\n {showCartLimitError && store?.selectedTab === ACCESSORY && <AccessoryModal\r\n modalState={showCartLimitError}\r\n handler={() => { onCloseClickCartLimitPopup() }}\r\n showFooter={false}\r\n height={'auto'}\r\n fixedWidth={(viewPort === 'large-desktop' || viewPort === 'desktop' || viewPort === 'tablet') ? '624px' : ''}\r\n noCloseButton={false}\r\n backDrop={true}>\r\n <div className={`${Styles.accessoryErrorUpdate}`}>\r\n <RichText content={JSON.parse(\r\n replacePlaceholder(JSON.stringify(content?.cartLimitModal?.[0]?.heading), [\r\n accessoriesLimit?.[store.selectedTab].toString()\r\n ])\r\n )} />\r\n <RichText content={JSON.parse(\r\n replacePlaceholder(JSON.stringify(content?.cartLimitModal?.[0]?.description), [\r\n accessoriesLimit?.[store.selectedTab].toString()\r\n ])\r\n )} />\r\n <div className={`${Styles.accessoryErrorButtons}`}>\r\n <div className={`${Styles.cancelButton}`} onClick={() => { onCloseClickCartLimitPopup() }}>{content?.cartLimitBtnText}</div>\r\n </div>\r\n </div>\r\n </AccessoryModal>}\r\n \r\n {/* Selection Limit Modal for Watches and Tablets */}\r\n {showCartLimitError && (store?.selectedTab === WATCHES || store?.selectedTab === TABLETS) && (() => {\r\n const selectionContent = getSelectionPopupContent();\r\n // Track popup open event, limit description to 100 chars max\r\n // const desc = typeof selectionContent?.description === 'string'\r\n // ? selectionContent.description\r\n // : JSON.stringify(selectionContent?.description ?? '');\r\n trackNewDatalayerEvent(GAEVENT, OPENPOPUP, {\r\n component: POPUP,\r\n message_title: REPLACESELECTION,\r\n message_description: selectionContent?.description?.content?.[0]?.content?.[0]?.text?.slice(0, 100),\r\n message_type: INFO\r\n });\r\n return (\r\n <AccessoryModal\r\n modalState={showCartLimitError}\r\n handler={() => handleClosePopup(selectionContent) }\r\n showFooter={false}\r\n height={'auto'}\r\n fixedWidth={(viewPort === 'large-desktop' || viewPort === 'desktop' || viewPort === 'tablet') ? '624px' : ''}\r\n noCloseButton={false}\r\n backDrop={true}\r\n >\r\n <>\r\n {selectionContent?.heading && (\r\n <div className={Styles.modalHeading}>\r\n <RichText content={selectionContent.heading} />\r\n </div>\r\n )}\r\n \r\n {selectionContent?.description && (\r\n <div className={Styles.modalDescription}>\r\n <RichText content={selectionContent.description} />\r\n </div>\r\n )}\r\n \r\n <div className={Styles.modalButtons}>\r\n {selectionContent?.link && (\r\n <a \r\n className={Styles.factSheetLink}\r\n onClick={() => handleKeepPrevious()}\r\n >\r\n {selectionContent.linkText}\r\n </a>\r\n )}\r\n \r\n {selectionContent?.button?.length > 0 && (\r\n <FalconButtonV2\r\n content={selectionContent.button[0]}\r\n onClick={() => handleReplaceSelection()}\r\n metadata={undefined}\r\n wafIdentifier={''}\r\n />\r\n )}\r\n </div>\r\n </>\r\n </AccessoryModal>\r\n );\r\n })()}\r\n </>\r\n );\r\n}\r\n\r\nexport default AccessoryCard;"],"names":["AccessoryCard","content","tabIndex","isSubscriptionFlow","setAccessoriesSelected","cartId","getCookie","show","setShow","useState","viewPort","viewport","showCartLimitError","setShowCartLimitError","pendingItem","setPendingItem","pendingItemIndex","setPendingItemIndex","store","dispatch","useMultiAccessoryContext","actions","useMultiAccessoryActions","cartActions","useMultiAccessoryUpdateCartActions","updateAccessoryCartFailure","multiItemAccessoriessList","deviceSessionValues","selectedPaymentType","recommendedAccessories","cartData","loading","showMiniCart","ratePlanFlow","_b","_a","MOBILERATEPLAN","includes","call","_e","_d","_c","selectedTab","hardware","recommendationProcessingType","hardwareVariant","accessoriesLimit","ACCESSORY","ratePlanAccessoriesLimit","winAccessoriesLimit","WATCHES","TABLETS","setShowMiniCart","value","trackNewDatalayerEvent","GAEVENT","ACCORDIONCLICK","component","FORM","click_text","OPEN","CLOSE","limitWarningText","JSON","parse","replacePlaceholder","stringify","cartLimitWarningText","toString","basicConfigUrl","_f","AssetPathPropConfig","getInstance","getAssetPath","fireImmediateCartUpdate","item","action","cartItems","buildSingleItemCartPayload","length","multiItemAccessorycreateCartRequest","id","redirectUrl","skipRedirect","previousTab","handleClickAddRemoveCartBtn","e","index","preventDefault","recomApiResponse","trackCTAButton","REMOVEFROMCART","REMOVE","checkCartLimit","ADD_TO_CART","ADD","event","eventName","trackViewItem","displayName","name","productId","priceValue","oneTimePrice","base","variant","variantCategory","color","storage","_h","_g","hardwareCategory","multiItemAccesoryCreatecart","Object","keys","setupdateAccessoryCartFailure","winCheckoutUrl","cached_url","multiItemCheckoutUrl","url","TABCLICK","LINK","CONTINUE","window","location","href","onCloseClick","prevState","useEffect","onCloseClickCartLimitPopup","inTabSelected","summaryIcons","summaryLabels","recommendationType","map","tabKey","getTabSelectedCount","toLowerCase","filename","slice","items","allSelectedItems","totalOneTimePrice","totalMonthlyPrice","flatMap","recomList","recomIds","Set","values","recomItems","filter","recurringPrice","monthlyInstallment","assign","cartOnlyItems","has","info","toNumberOrZero","parsed","Number","isFinite","getCycleMonths","cycle","start","cycleStart","end","cycleEnd","productOffering","prices","itemPrice","cartPrice","monthlyPrices","p","recurringChargePeriod","originalInstallment","additionalDetails","find","d","paynowPrice","streetPrice","flatPrices","flatRecurringPrices","priceType","flatMonthly","flatStreet","_j","hardwareOneTimeTotal","reduce","sum","price","_m","_l","_k","taxIncludedAmount","itemType","HARDWARE","getCartItemDisplayInfo","isCartOnly","Boolean","some","rpRawPrice","ratePlan","listPrice","ratePlanInfo","monthlyPrice","rpParsedPrice","rpPrice","getAllSelectedItems","allTabSelectedCount","total","count","React","createElement","Fragment","Row","className","Styles","mainPage","cartLimitTxt","RichText","extraSimHeading","watchesHeading","tabletsHeading","DeviceCarouselComponent","key","CONTRACT","card","selectedCard","detailSection","sbStoryItem","body","displayText","heading","_o","_p","_r","_q","_t","_s","optionalText","accessoriesColorLabel","_v","_u","accImage","_w","esimIcon","esimBadge","_y","_x","energyIcon","src","getCompressedImage","_z","_0","alt","width","height","_1","_2","imageData","image","mainPriceContainer","_3","selectedContractType","priceContainer","style","_5","_4","marketMonthlyInstallment","countZero","_6","_7","_8","_9","strikedMonthlyPrice","_10","_12","monthlyStrikethroughText","monthlyText","totalPrice","totalText","_15","_14","strikedtotalMonthlyPrice","visibility","_16","_17","market","_19","_18","priceDescription","monthlyPaymentLabel","monthlyDownPaymentLabel","_20","includedOptions","_21","FLEX_UPGRADE","freeFUText","flexUpgradeText","_23","_22","_25","_24","_26","_29","oneTimePaymentLabel","addtocartButton","removefromcartButton","cartBtn","_30","_31","FalconButtonV2","_32","onClick","wafIdentifier","disabled","_33","miaFooter","enableSelectionSummary","miniSummary","titleRow","titleLabel","yourSelectionTitle","titleIcons","selectionSummaryPlusIcon","cartToggle","selectionSummaryCollapseIcon","selectionSummaryExpandIcon","miniCartDivider","itemRow","itemLine","itemName","oneTime","cartDelete","selectionSummaryDeleteIcon","__awaiter","console","log","removeItemFromCart","handleDeleteFromMiniCart","rpName","itemDivider","checkoutBtn","proceedtocheckoutButton","eventAction","AccessoryModal","modalState","handler","showFooter","fixedWidth","noCloseButton","backDrop","accessoryErrorUpdate","errorModal","description","accessoryErrorButtons","cancelButton","cancelButtonLinkText","retryButton","metadata","undefined","cartLimitModal","cartLimitBtnText","selectionContent","watchesSelectionPopup","tabletsSelectionPopup","getSelectionPopupContent","OPENPOPUP","POPUP","message_title","REPLACESELECTION","message_description","text","message_type","INFO","modalContent","CLOSEPOPUP","handleClosePopup","modalHeading","modalDescription","modalButtons","link","factSheetLink","CTABUTTONCLICK","KEEPPREVIOUS","linkText","button","REPLACE","existingCartItem","handleReplaceSelection"],"mappings":"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"}
1
+ {"version":3,"file":"AccessoryCard.js","sources":["../../../../../src/components/Accessories/Accessory-card/AccessoryCard.tsx"],"sourcesContent":["/* eslint-disable max-lines-per-function */\r\nimport React, {JSX, useEffect, useState } from 'react';\r\nimport Styles from './AccessoryCard.module.scss';\r\n// import FalconButton from '@/components/shared/FalconButton/falconButton';\r\nimport { MultiItemAccessoriesSchema } from '../MultiItemAccessories/MultiItemAccessoriesSchema';\r\nimport DeviceCarouselComponent from '../DeviceCarouselComponent';\r\nimport Row from '../../ResponsiveRow/row';\r\n// import GenericImage from '../../GenericImage/GenericImage';\r\nimport { getCompressedImage } from '../../../utils/utils';\r\nimport { getCookie } from 'cookies-next';\r\nimport FalconButtonV2 from '../../FalconButtonV2/FalconButtonV2';\r\nimport { countZero, replacePlaceholder } from '../../../utils/utils';\r\nimport AccessoryModal from './AccessoryModal';\r\nimport RichText from '../../richtext';\r\nimport { viewport } from '../../../utils/utils';\r\nimport { ACCORDIONCLICK, ADD_TO_CART, CLOSE, CLOSEPOPUP, CONTINUE, CTABUTTONCLICK, FORM, GAEVENT, INFO, KEEPPREVIOUS, LINK, OPEN, OPENPOPUP, POPUP, REMOVEFROMCART, REPLACE, REPLACESELECTION, TABCLICK } from '../../../Analytics/AnalyticsConstants';\r\nimport { trackViewItem } from '../../../utils/AnalyticsUtils';\r\nimport { MONTHLY, ONETIME, CONTRACT, MOBILERATEPLAN, TV, INTERNETFLOW, ACCESSORY, WATCHES, TABLETS, HARDWARE, ADD, REMOVE, FLEX_UPGRADE } from '../../../utils/constants';\r\nimport { useMultiAccessoryContext } from '../multiItemAccessoryStore/useMultiAccessoryContext';\r\nimport { useMultiAccessoryActions } from '../multiItemAccessoryStore/useMultiAccessoryActions';\r\nimport { buildSingleItemCartPayload, useMultiAccessoryUpdateCartActions } from '../multiItemAccessoryStore/useMultiAccessoryUpdateCartActions';\r\nimport { AssetPathPropConfig } from '../../../services';\r\nimport { trackNewDatalayerEvent } from '../../../utils/AnalyticsUtils';\r\n\r\ntype AccessoryCardProps = {\r\n content: MultiItemAccessoriesSchema;\r\n tabIndex: number;\r\n checkingviewPort: any;\r\n isSubscriptionFlow: boolean;\r\n setAccessoriesSelected?: (accessories: any[]) => void;\r\n};\r\n\r\n// eslint-disable-next-line max-lines-per-function\r\nconst AccessoryCard = ({\r\n content,\r\n tabIndex,\r\n isSubscriptionFlow,\r\n setAccessoriesSelected\r\n}: AccessoryCardProps): JSX.Element => {\r\n const cartId = getCookie('one-commerce-cartId');\r\n const [show, setShow] = useState(false);\r\n const viewPort = viewport();\r\n const [showCartLimitError, setShowCartLimitError] = useState(false);\r\n const [pendingItem, setPendingItem] = useState<any>(null);\r\n const [pendingItemIndex, setPendingItemIndex] = useState<number>(0);\r\n const { store, dispatch } = useMultiAccessoryContext();\r\n const actions = useMultiAccessoryActions(dispatch);\r\n const cartActions = useMultiAccessoryUpdateCartActions();\r\n const { updateAccessoryCartFailure } = store; // for MultiAccessoryUpdateCart state\r\n //for multiAccessory recommendation api state\r\n const { multiItemAccessoriessList, deviceSessionValues, selectedPaymentType, recommendedAccessories, cartData, loading, showMiniCart } = store;\r\n //check for WIN/rateplan flow\r\n const ratePlanFlow = [MOBILERATEPLAN ]?.includes?.(recommendedAccessories?.[store?.selectedTab]?.hardware?.[0]?.recommendationProcessingType) ? true : (deviceSessionValues?.hardwareVariant ? false : true);\r\n const accessoriesLimit: any = {\r\n [ACCESSORY]: isSubscriptionFlow\r\n ? (ratePlanFlow ? +content?.ratePlanAccessoriesLimit : +content?.winAccessoriesLimit)\r\n : +content?.accessoriesLimit,\r\n WATCHES: 1,\r\n TABLETS: 1,\r\n };\r\n const setShowMiniCart = (value: boolean) => {\r\n trackNewDatalayerEvent(GAEVENT, ACCORDIONCLICK, {\r\n component: FORM,\r\n click_text: value ? OPEN : CLOSE\r\n });\r\n actions.setShowMiniCart(value);\r\n }\r\n\r\n const limitWarningText = JSON.parse(\r\n replacePlaceholder(JSON.stringify(content?.cartLimitWarningText), [\r\n accessoriesLimit?.[store.selectedTab].toString()\r\n ])\r\n );\r\n const basicConfigUrl = AssetPathPropConfig?.getInstance()?.getAssetPath();\r\n\r\n // Helper function to get selection popup content based on tab type\r\n const getSelectionPopupContent = () => {\r\n return store?.selectedTab === WATCHES \r\n ? content?.watchesSelectionPopup?.[0] \r\n : content?.tabletsSelectionPopup?.[0];\r\n };\r\n\r\n // Helper to fire immediate per-item cart API call\r\n const fireImmediateCartUpdate = (item: any, action: string) => {\r\n const cartItems = buildSingleItemCartPayload(item, action, store?.selectedTab, store);\r\n if (cartItems.length > 0) {\r\n cartActions.multiItemAccessorycreateCartRequest({\r\n id: cartId,\r\n redirectUrl: '',\r\n skipRedirect: true,\r\n previousTab: store?.selectedTab,\r\n cartItems,\r\n });\r\n }\r\n };\r\n\r\n // for handling add and remove accessories from cart\r\n const handleClickAddRemoveCartBtn = (e: any, item: any, index: number) => {\r\n e.preventDefault();\r\n if (cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id]) {\r\n // Item is in cart — remove it\r\n trackCTAButton(GAEVENT, REMOVEFROMCART, item, index);\r\n fireImmediateCartUpdate(item, REMOVE);\r\n } else {\r\n // Item not in cart — add it\r\n if (checkCartLimit(item, index)) {\r\n return;\r\n }\r\n trackCTAButton(ADD_TO_CART, ADD_TO_CART, item, index);\r\n fireImmediateCartUpdate(item, ADD);\r\n }\r\n };\r\n\r\n // Track analytics for CTA buttons\r\n const trackCTAButton = (event: string, eventName: string, item: any, index: number): void => {\r\n trackViewItem(event, eventName, {\r\n displayName: item?.recomApiResponse?.name,\r\n productId: item?.recomApiResponse?.id,\r\n priceValue: item?.recomApiResponse?.oneTimePrice?.base,\r\n index: index,\r\n variant: item?.recomApiResponse?.variantCategory?.color,\r\n storage: item?.recomApiResponse?.variantCategory?.storage,\r\n hardwareCategory: store?.selectedTab,\r\n });\r\n }\r\n // create cart function call — with real-time updates, just redirect\r\n const multiItemAccesoryCreatecart = (e: any) => {\r\n e.preventDefault();\r\n const isRetry = Object.keys(updateAccessoryCartFailure)?.length > 0;\r\n if (isRetry) {\r\n setShow(false);\r\n cartActions.setupdateAccessoryCartFailure({});\r\n return;\r\n }\r\n\r\n const redirectUrl = isSubscriptionFlow ? content?.winCheckoutUrl?.cached_url : content?.multiItemCheckoutUrl?.url;\r\n trackNewDatalayerEvent(GAEVENT, TABCLICK, {\r\n component: LINK,\r\n click_text: CONTINUE\r\n });\r\n window.location.href = redirectUrl;\r\n }\r\n\r\n // close the error popup when close/cancel button is clicked\r\n const onCloseClick = () => {\r\n setShow((prevState) => !prevState);\r\n if (Object.keys(updateAccessoryCartFailure)?.length > 0) {\r\n cartActions.setupdateAccessoryCartFailure({});\r\n }\r\n };\r\n // open the error popup when updated cart fails\r\n useEffect(() => {\r\n if (Object.keys(updateAccessoryCartFailure)?.length > 0) {\r\n setShow((prevState) => !prevState);\r\n }\r\n }, [updateAccessoryCartFailure]);\r\n\r\n // close the cartLimit popup when close/cancel button is clicked\r\n const onCloseClickCartLimitPopup = () => {\r\n setShowCartLimitError(false);\r\n setPendingItem(null);\r\n setPendingItemIndex(0);\r\n };\r\n\r\n // Handle \"ClosePopup\" - just close the modal without any changes\r\n const handleClosePopup = (modalContent?: any) => {\r\n // Track close popup event\r\n modalContent?.description && trackNewDatalayerEvent(GAEVENT, CLOSEPOPUP, {\r\n component: POPUP,\r\n message_title: REPLACESELECTION,\r\n message_description: modalContent?.description?.content?.[0]?.content?.[0]?.text?.slice(0, 100),\r\n message_type: INFO,\r\n });\r\n onCloseClickCartLimitPopup();\r\n };\r\n // Handle \"Keep previous\" - just close the modal without any changes\r\n const handleKeepPrevious = () => {\r\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\r\n component: LINK,\r\n click_text: KEEPPREVIOUS\r\n });\r\n onCloseClickCartLimitPopup();\r\n };\r\n\r\n // Handle \"Replace\" - replace existing selection with new item via API\r\n const handleReplaceSelection = () => {\r\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\r\n component: LINK,\r\n click_text: REPLACE\r\n });\r\n if (!pendingItem) {\r\n onCloseClickCartLimitPopup();\r\n return;\r\n }\r\n\r\n // Find the first item currently in cart for this tab and remove it, then add the new one\r\n const cartItems = multiItemAccessoriessList?.[store?.selectedTab] || [];\r\n const existingCartItem = cartItems.find((item: any) => \r\n cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id]\r\n );\r\n \r\n if (existingCartItem) {\r\n trackCTAButton(GAEVENT, REMOVEFROMCART, existingCartItem, 0);\r\n fireImmediateCartUpdate(existingCartItem, REMOVE);\r\n }\r\n\r\n // Add the new pending item\r\n trackCTAButton(ADD_TO_CART, ADD_TO_CART, pendingItem, pendingItemIndex);\r\n fireImmediateCartUpdate(pendingItem, ADD);\r\n\r\n // Close the modal and clear pending item\r\n onCloseClickCartLimitPopup();\r\n };\r\n\r\n //show popup if cart limit reached\r\n const checkCartLimit = (item?: any, index?: number) => {\r\n const selectedAccCount = Object.keys(cartData?.[store?.selectedTab] || {}).length;\r\n if (selectedAccCount >= accessoriesLimit?.[store.selectedTab]) {\r\n setShowCartLimitError(true);\r\n setPendingItem(item || null);\r\n setPendingItemIndex(index || 0);\r\n return true;\r\n }\r\n return false;\r\n }\r\n //TODO: Remove checkingviewPort passing from multi-item\r\n\r\n // Handle delete from mini cart summary\r\n const handleDeleteFromMiniCart = async (item: any) => {\r\n const tabKey = item?.tabKey;\r\nconsole.log('first', cartData?.[tabKey]?.[item?.recomApiResponse?.id])\r\n // Call API directly to remove it from cart\r\n if (cartData?.[tabKey]?.[item?.recomApiResponse?.id]) {\r\n await cartActions.removeItemFromCart(cartId, item);\r\n }\r\n\r\n trackCTAButton(GAEVENT, REMOVEFROMCART, item, 0);\r\n };\r\n\r\n // Helper function to calculate selected count for a tab\r\n const getTabSelectedCount = (tabKey: string) => {\r\n return Object.keys(cartData?.[tabKey] || {}).length;\r\n };\r\n const inTabSelected: Record<string, number> = {};\r\n const summaryIcons: Record<string, string> = {};\r\n const summaryLabels: Record<string, string> = {};\r\n\r\n (content?.recommendationType || []).map((tabKey: string) => {\r\n inTabSelected[tabKey] = getTabSelectedCount(tabKey);\r\n summaryIcons[`${tabKey}_icon`] = (content as any)?.[`${tabKey.toLowerCase()}Icon`]?.filename;\r\n summaryLabels[`${tabKey}_title`] = (content as any)?.[`selectionSummary${tabKey[0]}${tabKey.slice(1).toLowerCase()}Title`];\r\n });\r\n\r\n /**\r\n * Extract name and prices from from cartData.\r\n * Used as fallback when the item is not present in multiItemAccessoriessList.\r\n */\r\n const getCartItemDisplayInfo = (cartItems: any[]) => {\r\n if (!cartItems?.length) return null;\r\n\r\n const toNumberOrZero = (value: any) => {\r\n const parsed = Number(value);\r\n return Number.isFinite(parsed) ? parsed : 0;\r\n };\r\n\r\n const getCycleMonths = (cycle: any) => {\r\n const start = Number(cycle?.cycleStart);\r\n const end = Number(cycle?.cycleEnd);\r\n if (Number.isFinite(start) && Number.isFinite(end) && end >= start) {\r\n return (end - start) + 1;\r\n }\r\n return 1;\r\n };\r\n\r\n let name = '';\r\n let monthlyInstallment = 0;\r\n let oneTimePrice = 0;\r\n\r\n for (const item of cartItems) {\r\n if (!name) {\r\n name = item?.name || item?.productOffering?.name || item?.productOffering?.id || item?.id || '';\r\n }\r\n\r\n const prices = item?.itemPrice?.[0]?.cartPrice || [];\r\n const monthlyPrices = prices.filter((p: any) => p?.recurringChargePeriod === 'monthly');\r\n const originalInstallment = monthlyPrices\r\n .flatMap((p: any) => p?.additionalDetails || [])\r\n .find((d: any) => d?.id === 'originalInstallment')?.value;\r\n const paynowPrice = prices.find((p: any) => p?.recurringChargePeriod === 'paynow');\r\n const streetPrice = paynowPrice?.additionalDetails?.find((d: any) => d?.id === 'streetPrice')?.value;\r\n\r\n // Flat update-cart payloads expose prices under `item.prices`.\r\n const flatPrices = item?.prices || [];\r\n\r\n // Prefer cycleStart:1 recurring (monthly installment) over last-cycle recurring.\r\n const flatRecurringPrices = flatPrices.filter((p: any) => p?.priceType === 'RECURRING');\r\n const flatMonthly = (flatRecurringPrices.find((p: any) => p?.cycle?.cycleStart === 1) || flatRecurringPrices[0])?.value;\r\n const flatStreet = flatPrices.find((p: any) => p?.priceType === 'STREET_PRICE')?.value;\r\n\r\n // Fallback for watch/tablet when recommendation response is absent:\r\n // compute total financed amount = recurring installments across cycles + one-time fee.\r\n const hardwareOneTimeTotal = flatRecurringPrices.reduce((sum: number, price: any) => {\r\n return sum + (toNumberOrZero(price?.value) * getCycleMonths(price?.cycle));\r\n }, 0) + flatPrices\r\n .filter((p: any) => p?.priceType === 'ONETIME')\r\n .reduce((sum: number, price: any) => sum + toNumberOrZero(price?.value), 0);\r\n\r\n monthlyInstallment += toNumberOrZero(originalInstallment || monthlyPrices?.[0]?.price?.taxIncludedAmount?.value || flatMonthly);\r\n oneTimePrice += toNumberOrZero(streetPrice || flatStreet || (item?.itemType === HARDWARE ? hardwareOneTimeTotal : 0));\r\n }\r\n\r\n return {\r\n name,\r\n monthlyInstallment,\r\n oneTimePrice,\r\n };\r\n };\r\n\r\n // Get all selected items across all tabs as a flat array with cumulative prices\r\n const getAllSelectedItems = () => {\r\n let totalOneTimePrice = 0;\r\n let totalMonthlyPrice = 0;\r\n\r\n const items = (content?.recommendationType || []).flatMap((tabKey: string) => {\r\n const recomList = multiItemAccessoriessList?.[tabKey] || {};\r\n const recomIds = new Set(Object.values(recomList).map((item: any) => item?.recomApiResponse?.id));\r\n\r\n // Items from recommendation list that are in cart\r\n const recomItems = Object.values(recomList)\r\n .filter((item: any) => cartData?.[tabKey]?.[item?.recomApiResponse?.id])\r\n .map((item: any) => {\r\n totalOneTimePrice += +(item?.recomApiResponse?.oneTimePrice?.base || 0);\r\n totalMonthlyPrice += +(item?.recomApiResponse?.recurringPrice?.monthlyInstallment || 0);\r\n return { ...item, tabKey };\r\n });\r\n\r\n // Cart-only items not in recommendation list\r\n const cartOnlyItems = Object.keys(cartData?.[tabKey] || {})\r\n .filter((id) => !recomIds.has(id))\r\n .map((id) => {\r\n const info = getCartItemDisplayInfo(cartData[tabKey][id]);\r\n if (!info) return null;\r\n totalOneTimePrice += info.oneTimePrice;\r\n totalMonthlyPrice += info.monthlyInstallment;\r\n return {\r\n tabKey,\r\n isCartOnly: true,\r\n recomApiResponse: {\r\n id,\r\n name: info.name,\r\n oneTimePrice: { base: info.oneTimePrice },\r\n recurringPrice: { monthlyInstallment: info.monthlyInstallment },\r\n },\r\n };\r\n })\r\n .filter(Boolean);\r\n\r\n return [...recomItems, ...cartOnlyItems];\r\n });\r\n\r\n // Add rateplan monthly cost once per WATCHES/TABLETS tab that has selected items\r\n for (const tabKey of [WATCHES, TABLETS]) {\r\n const hasItemsInTab = items.some((item: any) => item?.tabKey === tabKey);\r\n if (hasItemsInTab) {\r\n const rpRawPrice =\r\n recommendedAccessories?.[tabKey]?.ratePlan?.derivedPrice ??\r\n recommendedAccessories?.[tabKey]?.ratePlan?.listPrice ??\r\n cartData?.ratePlanInfo?.[tabKey]?.derivedPrice ??\r\n cartData?.ratePlanInfo?.[tabKey]?.monthlyPrice ??\r\n 0;\r\n const rpParsedPrice = Number(rpRawPrice);\r\n const rpPrice = Number.isFinite(rpParsedPrice) ? rpParsedPrice : 0;\r\n totalMonthlyPrice += rpPrice;\r\n }\r\n }\r\n\r\n return { items, totalOneTimePrice, totalMonthlyPrice };\r\n };\r\n\r\n const { items: allSelectedItems, totalOneTimePrice, totalMonthlyPrice } = getAllSelectedItems();\r\n const allTabSelectedCount = Object.values(inTabSelected).reduce((total, count) => total + count, 0);\r\n return (\r\n <>\r\n <Row>\r\n <div className={Styles.mainPage}>\r\n {((Object.keys(multiItemAccessoriessList?.[store?.selectedTab] || []).length >= accessoriesLimit?.[store.selectedTab]) && store?.selectedTab === ACCESSORY ) && <div className={Styles.cartLimitTxt}><RichText content={limitWarningText} /></div>}\r\n {(store?.selectedTab === WATCHES || store?.selectedTab === TABLETS) && <div className={Styles.extraSimHeading}>{store?.selectedTab === WATCHES ? content?.watchesHeading : content?.tabletsHeading}</div>}\r\n <DeviceCarouselComponent key={store?.selectedTab}>\r\n {(multiItemAccessoriessList?.[store?.selectedTab] || [])?.filter((item: any) => selectedPaymentType === CONTRACT ? item?.recomApiResponse?.recurringPrice?.monthlyInstallment > 0 : item)?.map((item: any, index: number) => {\r\n return (\r\n <div key={index} className={`${Styles.card} ${cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id] ? Styles.selectedCard : ''}`}>\r\n <div className={Styles.detailSection} id={`detailsectionv3${tabIndex}${index}`}>\r\n {(item?.sbStoryItem?.content?.body?.[0]?.displayText ?? item?.sbStoryItem?.displayText) && <div className={Styles.heading} id={`headingV3${tabIndex}${index}`}>\r\n {item?.sbStoryItem?.content?.body?.[0]?.displayText ?? item?.sbStoryItem?.displayText}\r\n {store?.selectedTab === ACCESSORY && item?.recomApiResponse?.variantCategory?.color && item?.recomApiResponse?.variantCategory?.color !== 'None' && <div className={Styles.optionalText}>{content?.accessoriesColorLabel} {item?.recomApiResponse?.variantCategory?.color}</div>}\r\n </div>}\r\n \r\n <div className={Styles.accImage} id={`image${tabIndex}${index}`}>\r\n {(store?.selectedTab === WATCHES || store?.selectedTab === TABLETS) && content?.esimIcon?.filename && (\r\n <div className={Styles.esimBadge}>\r\n {item?.sbStoryItem?.energyIcon?.filename && <img loading='lazy' src={getCompressedImage(basicConfigUrl, item?.sbStoryItem?.energyIcon?.filename)} alt='energy_Icon' width={37} height={20} />}\r\n <img src={content?.esimIcon?.filename} alt=\"eSIM\" className={Styles.esimIcon} />\r\n </div>\r\n )}\r\n <img loading='lazy' src={getCompressedImage(basicConfigUrl,item?.imageData?.image)} alt='acessories_device' width={210} height={210} />\r\n </div>\r\n </div>\r\n <div className={Styles.mainPriceContainer} id={`main-price-section${tabIndex}${index}`}>\r\n {(deviceSessionValues?.hardwareVariant?.selectedContractType === CONTRACT || selectedPaymentType === CONTRACT) ? <div className={Styles.priceContainer} id={`price-detail-section${tabIndex}${index}`}>\r\n <div className={Styles.price} id={`price${tabIndex}${index}`}>\r\n <span style={{ color: item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment ? '#5E94CF' : '#3D3935' }}>{countZero(item?.recomApiResponse?.recurringPrice?.monthlyInstallment)}</span>\r\n {item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment && (\r\n <span className={Styles.strikedMonthlyPrice}>\r\n {countZero(item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment)}\r\n </span>\r\n )}\r\n <span className={item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment ? Styles?.monthlyStrikethroughText : Styles.monthlyText}>{content?.monthlyText}</span>\r\n </div>\r\n <div className={Styles.totalPrice}>{content?.totalText} {countZero(item?.recomApiResponse?.oneTimePrice?.base)} <span className={Styles.strikedtotalMonthlyPrice} style={{ visibility: item?.recomApiResponse?.oneTimePrice?.market ? 'visible' : 'hidden' }}>{countZero(item?.recomApiResponse?.oneTimePrice?.market)}</span></div>\r\n <div className={Styles.priceDescription}>{content?.monthlyPaymentLabel}<br />{content?.monthlyDownPaymentLabel}</div>\r\n {(item?.recomApiResponse?.includedOptions?.includes(FLEX_UPGRADE) && content?.freeFUText) && <div className={Styles.flexUpgradeText}>{content?.freeFUText}</div>}\r\n </div> :\r\n <div className={Styles.priceContainer} id={`price-detail-section${tabIndex}${index}`}>\r\n <div className={Styles.price} style={{ color: item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment ? '#5E94CF' : '#3D3935' }} id={`price${tabIndex}${index}`}>\r\n <span className={Styles.oneTimePrice}>{countZero(item?.recomApiResponse?.oneTimePrice?.base)}</span>\r\n {item?.recomApiResponse?.oneTimePrice?.market && (\r\n <span className={Styles.strikedMonthlyPrice}>\r\n {countZero(item?.recomApiResponse?.oneTimePrice?.market)}\r\n </span>\r\n )}\r\n </div>\r\n <div className={Styles.priceDescription}>{content?.oneTimePaymentLabel}</div>\r\n </div>\r\n }\r\n {content?.addtocartButton.length > 0 && content?.removefromcartButton.length > 0 && (\r\n <div className={`${Styles.cartBtn}`} id={`add-crt-btn${tabIndex}${index}`}>\r\n {cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id] ?\r\n <><FalconButtonV2\r\n content={content?.removefromcartButton?.[0]}\r\n onClick={(e: any) => handleClickAddRemoveCartBtn(e, item, index)}\r\n wafIdentifier={basicConfigUrl}\r\n disabled={loading}\r\n />\r\n </> :\r\n <FalconButtonV2\r\n content={content?.addtocartButton?.[0]}\r\n onClick={(e: any) => handleClickAddRemoveCartBtn(e, item, index)}\r\n wafIdentifier={basicConfigUrl}\r\n disabled={loading}\r\n />\r\n }\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )\r\n })}\r\n </DeviceCarouselComponent>\r\n\r\n <div className={Styles.miaFooter}>\r\n {/** Selection summary is shown only for multi-tab MIA (not old single-tab UI),\r\n * contract/monthly flow (not one-time pay), and new subscriptions\r\n * (existing subscription flow is blocked unless enableExistingSubscription is true (already handled in MultiItemAccessoriesPage)) */}\r\n {allTabSelectedCount > 0 && content?.enableSelectionSummary\r\n && Object.keys(recommendedAccessories || {}).length > 1\r\n && selectedPaymentType === CONTRACT\r\n && <div className={Styles.miniSummary}>\r\n <div className={Styles.titleRow}>\r\n {/**1*/}\r\n <span className={`fw-bold ${Styles.titleLabel}`}>{content?.yourSelectionTitle}</span>\r\n {/**2*/}\r\n <span className={Styles.titleIcons}>\r\n {(content?.recommendationType || []).map((tabKey: string) => {\r\n return (\r\n inTabSelected[tabKey] > 0 && (\r\n <>\r\n {((tabKey=== WATCHES && inTabSelected[ACCESSORY] > 0) ||(tabKey === TABLETS && (inTabSelected[ACCESSORY] > 0 || inTabSelected[WATCHES] > 0))) && <span><img loading='lazy' src={getCompressedImage(basicConfigUrl,content?.selectionSummaryPlusIcon?.filename)} alt='add_icon' width={16} height={16}/></span>}\r\n <span><img loading='lazy' src={getCompressedImage(basicConfigUrl,summaryIcons?.[`${tabKey}_icon`])} alt={`${tabKey}_icon`} /> {inTabSelected[tabKey]}x {summaryLabels?.[`${tabKey}_title`]}</span>\r\n </>\r\n )\r\n )\r\n })}\r\n </span>\r\n {/**3*/}\r\n <div className={`fw-bold ${Styles.cartPrice}`}>\r\n {selectedPaymentType === CONTRACT\r\n ? <>{countZero(totalMonthlyPrice)}{content?.monthlyText}</>\r\n : countZero(totalOneTimePrice)\r\n }\r\n </div>\r\n {/**4*/}\r\n {!showMiniCart ? <img className={Styles.cartToggle} onClick={() => setShowMiniCart(!showMiniCart)} loading='lazy' src={getCompressedImage(basicConfigUrl,content?.selectionSummaryExpandIcon?.filename)} alt='expand_icon' width={24} height={24}/>\r\n : <img className={Styles.cartToggle} onClick={() => setShowMiniCart(!showMiniCart)} loading='lazy' src={getCompressedImage(basicConfigUrl,content?.selectionSummaryCollapseIcon?.filename)} alt='expand_icon' width={24} height={24}/>}\r\n </div>\r\n {showMiniCart && (\r\n <>\r\n {/* DividerComponent */}\r\n <div className={Styles.miniCartDivider} />\r\n {allSelectedItems\r\n .map((item: any) => (\r\n <div className={Styles.itemRow} key={item?.recomApiResponse?.id}>\r\n <div className={Styles.itemLine}>\r\n <span className={Styles.itemName}>{item?.recomApiResponse?.name}</span>\r\n <div className={Styles.cartPrice}>\r\n {selectedPaymentType === CONTRACT\r\n ? <>{item?.recomApiResponse?.oneTimePrice?.base > 0 && <span className={Styles.oneTime}>({countZero(item?.recomApiResponse?.oneTimePrice?.base)})</span>}\r\n {countZero(item?.recomApiResponse?.recurringPrice?.monthlyInstallment)}{content?.monthlyText}</>\r\n : countZero(item?.recomApiResponse?.oneTimePrice?.base)\r\n }\r\n </div>\r\n <img\r\n className={Styles.cartDelete}\r\n loading='lazy'\r\n src={getCompressedImage(basicConfigUrl, content?.selectionSummaryDeleteIcon?.filename)}\r\n alt='delete_icon'\r\n onClick={() => handleDeleteFromMiniCart(item)}\r\n width={20}\r\n height={20}\r\n />\r\n </div>\r\n {[WATCHES, TABLETS].includes(item?.tabKey) &&<div className={Styles.itemLine}>\r\n <span className={`${Styles.itemName} ${Styles.rpName}`}>{recommendedAccessories?.[item?.tabKey]?.ratePlan?.id || cartData?.ratePlanInfo?.[item?.tabKey]?.name}</span>\r\n <div className={Styles.rpPrice}>\r\n {countZero(Number.isFinite(Number(\r\n recommendedAccessories?.[item?.tabKey]?.ratePlan?.derivedPrice ??\r\n recommendedAccessories?.[item?.tabKey]?.ratePlan?.listPrice ??\r\n cartData?.ratePlanInfo?.[item?.tabKey]?.derivedPrice ??\r\n cartData?.ratePlanInfo?.[item?.tabKey]?.monthlyPrice ??\r\n 0\r\n ))\r\n ? Number(\r\n recommendedAccessories?.[item?.tabKey]?.ratePlan?.derivedPrice ??\r\n recommendedAccessories?.[item?.tabKey]?.ratePlan?.listPrice ??\r\n cartData?.ratePlanInfo?.[item?.tabKey]?.derivedPrice ??\r\n cartData?.ratePlanInfo?.[item?.tabKey]?.monthlyPrice ??\r\n 0\r\n )\r\n : 0)}{content?.monthlyText}\r\n </div>\r\n </div>}\r\n {/* DividerComponent */}\r\n <hr className={Styles.itemDivider} />\r\n </div>\r\n ))\r\n }\r\n </>\r\n )\r\n }\r\n\r\n </div>}\r\n <div className={`${Styles.checkoutBtn}`}>\r\n {content?.proceedtocheckoutButton?.length > 0 && (\r\n <FalconButtonV2\r\n content={content.proceedtocheckoutButton[0]}\r\n eventAction={''}\r\n onClick={(e: any) => multiItemAccesoryCreatecart(e)}\r\n wafIdentifier={basicConfigUrl}\r\n disabled={loading}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </Row>\r\n {show && <AccessoryModal\r\n modalState={show}\r\n handler={() => { onCloseClick() }}\r\n showFooter={false}\r\n height={'auto'}\r\n fixedWidth={(viewPort === 'large-desktop' || viewPort === 'desktop' || viewPort === 'tablet') ? '460px' : ''}\r\n noCloseButton={false}\r\n backDrop={true}\r\n > <div className={`${Styles.accessoryErrorUpdate}`}>\r\n <RichText content={content?.errorModal?.[0]?.heading} />\r\n <RichText content={content?.errorModal?.[0]?.description} />\r\n <div className={`${Styles.accessoryErrorButtons}`}>\r\n <div className={`${Styles.cancelButton}`} onClick={() => { onCloseClick() }}>{content?.cancelButtonLinkText}</div>\r\n <FalconButtonV2\r\n content={content?.retryButton?.[0]}\r\n onClick={(e: any) => multiItemAccesoryCreatecart(e)}\r\n metadata={undefined}\r\n wafIdentifier={basicConfigUrl}\r\n />\r\n </div>\r\n </div>\r\n </AccessoryModal>\r\n }\r\n {showCartLimitError && store?.selectedTab === ACCESSORY && <AccessoryModal\r\n modalState={showCartLimitError}\r\n handler={() => { onCloseClickCartLimitPopup() }}\r\n showFooter={false}\r\n height={'auto'}\r\n fixedWidth={(viewPort === 'large-desktop' || viewPort === 'desktop' || viewPort === 'tablet') ? '624px' : ''}\r\n noCloseButton={false}\r\n backDrop={true}>\r\n <div className={`${Styles.accessoryErrorUpdate}`}>\r\n <RichText content={JSON.parse(\r\n replacePlaceholder(JSON.stringify(content?.cartLimitModal?.[0]?.heading), [\r\n accessoriesLimit?.[store.selectedTab].toString()\r\n ])\r\n )} />\r\n <RichText content={JSON.parse(\r\n replacePlaceholder(JSON.stringify(content?.cartLimitModal?.[0]?.description), [\r\n accessoriesLimit?.[store.selectedTab].toString()\r\n ])\r\n )} />\r\n <div className={`${Styles.accessoryErrorButtons}`}>\r\n <div className={`${Styles.cancelButton}`} onClick={() => { onCloseClickCartLimitPopup() }}>{content?.cartLimitBtnText}</div>\r\n </div>\r\n </div>\r\n </AccessoryModal>}\r\n \r\n {/* Selection Limit Modal for Watches and Tablets */}\r\n {showCartLimitError && (store?.selectedTab === WATCHES || store?.selectedTab === TABLETS) && (() => {\r\n const selectionContent = getSelectionPopupContent();\r\n // Track popup open event, limit description to 100 chars max\r\n // const desc = typeof selectionContent?.description === 'string'\r\n // ? selectionContent.description\r\n // : JSON.stringify(selectionContent?.description ?? '');\r\n trackNewDatalayerEvent(GAEVENT, OPENPOPUP, {\r\n component: POPUP,\r\n message_title: REPLACESELECTION,\r\n message_description: selectionContent?.description?.content?.[0]?.content?.[0]?.text?.slice(0, 100),\r\n message_type: INFO\r\n });\r\n return (\r\n <AccessoryModal\r\n modalState={showCartLimitError}\r\n handler={() => handleClosePopup(selectionContent) }\r\n showFooter={false}\r\n height={'auto'}\r\n fixedWidth={(viewPort === 'large-desktop' || viewPort === 'desktop' || viewPort === 'tablet') ? '624px' : ''}\r\n noCloseButton={false}\r\n backDrop={true}\r\n >\r\n <>\r\n {selectionContent?.heading && (\r\n <div className={Styles.modalHeading}>\r\n <RichText content={selectionContent.heading} />\r\n </div>\r\n )}\r\n \r\n {selectionContent?.description && (\r\n <div className={Styles.modalDescription}>\r\n <RichText content={selectionContent.description} />\r\n </div>\r\n )}\r\n \r\n <div className={Styles.modalButtons}>\r\n {selectionContent?.link && (\r\n <a \r\n className={Styles.factSheetLink}\r\n onClick={() => handleKeepPrevious()}\r\n >\r\n {selectionContent.linkText}\r\n </a>\r\n )}\r\n \r\n {selectionContent?.button?.length > 0 && (\r\n <FalconButtonV2\r\n content={selectionContent.button[0]}\r\n onClick={() => handleReplaceSelection()}\r\n metadata={undefined}\r\n wafIdentifier={''}\r\n />\r\n )}\r\n </div>\r\n </>\r\n </AccessoryModal>\r\n );\r\n })()}\r\n </>\r\n );\r\n}\r\n\r\nexport default AccessoryCard;"],"names":["AccessoryCard","content","tabIndex","isSubscriptionFlow","setAccessoriesSelected","cartId","getCookie","show","setShow","useState","viewPort","viewport","showCartLimitError","setShowCartLimitError","pendingItem","setPendingItem","pendingItemIndex","setPendingItemIndex","store","dispatch","useMultiAccessoryContext","actions","useMultiAccessoryActions","cartActions","useMultiAccessoryUpdateCartActions","updateAccessoryCartFailure","multiItemAccessoriessList","deviceSessionValues","selectedPaymentType","recommendedAccessories","cartData","loading","showMiniCart","ratePlanFlow","_b","_a","MOBILERATEPLAN","includes","call","_e","_d","_c","selectedTab","hardware","recommendationProcessingType","hardwareVariant","accessoriesLimit","ACCESSORY","ratePlanAccessoriesLimit","winAccessoriesLimit","WATCHES","TABLETS","setShowMiniCart","value","trackNewDatalayerEvent","GAEVENT","ACCORDIONCLICK","component","FORM","click_text","OPEN","CLOSE","limitWarningText","JSON","parse","replacePlaceholder","stringify","cartLimitWarningText","toString","basicConfigUrl","_f","AssetPathPropConfig","getInstance","getAssetPath","fireImmediateCartUpdate","item","action","cartItems","buildSingleItemCartPayload","length","multiItemAccessorycreateCartRequest","id","redirectUrl","skipRedirect","previousTab","handleClickAddRemoveCartBtn","e","index","preventDefault","recomApiResponse","trackCTAButton","REMOVEFROMCART","REMOVE","checkCartLimit","ADD_TO_CART","ADD","event","eventName","trackViewItem","displayName","name","productId","priceValue","oneTimePrice","base","variant","variantCategory","color","storage","_h","_g","hardwareCategory","multiItemAccesoryCreatecart","Object","keys","setupdateAccessoryCartFailure","winCheckoutUrl","cached_url","multiItemCheckoutUrl","url","TABCLICK","LINK","CONTINUE","window","location","href","onCloseClick","prevState","useEffect","onCloseClickCartLimitPopup","inTabSelected","summaryIcons","summaryLabels","recommendationType","map","tabKey","getTabSelectedCount","toLowerCase","filename","slice","items","allSelectedItems","totalOneTimePrice","totalMonthlyPrice","flatMap","recomList","recomIds","Set","values","recomItems","filter","recurringPrice","monthlyInstallment","assign","cartOnlyItems","has","info","toNumberOrZero","parsed","Number","isFinite","getCycleMonths","cycle","start","cycleStart","end","cycleEnd","productOffering","prices","itemPrice","cartPrice","monthlyPrices","p","recurringChargePeriod","originalInstallment","additionalDetails","find","d","paynowPrice","streetPrice","flatPrices","flatRecurringPrices","priceType","flatMonthly","flatStreet","_j","hardwareOneTimeTotal","reduce","sum","price","_m","_l","_k","taxIncludedAmount","itemType","HARDWARE","getCartItemDisplayInfo","isCartOnly","Boolean","some","rpRawPrice","ratePlan","derivedPrice","listPrice","ratePlanInfo","monthlyPrice","rpParsedPrice","rpPrice","getAllSelectedItems","allTabSelectedCount","total","count","React","createElement","Fragment","Row","className","Styles","mainPage","cartLimitTxt","RichText","extraSimHeading","watchesHeading","tabletsHeading","DeviceCarouselComponent","key","CONTRACT","card","selectedCard","detailSection","sbStoryItem","body","displayText","heading","_o","_p","_r","_q","_t","_s","optionalText","accessoriesColorLabel","_v","_u","accImage","_w","esimIcon","esimBadge","_y","_x","energyIcon","src","getCompressedImage","_z","_0","alt","width","height","_1","_2","imageData","image","mainPriceContainer","_3","selectedContractType","priceContainer","style","_5","_4","marketMonthlyInstallment","countZero","_6","_7","_8","_9","strikedMonthlyPrice","_10","_12","monthlyStrikethroughText","monthlyText","totalPrice","totalText","_15","_14","strikedtotalMonthlyPrice","visibility","_16","_17","market","_19","_18","priceDescription","monthlyPaymentLabel","monthlyDownPaymentLabel","_20","includedOptions","_21","FLEX_UPGRADE","freeFUText","flexUpgradeText","_23","_22","_25","_24","_26","_29","oneTimePaymentLabel","addtocartButton","removefromcartButton","cartBtn","_30","_31","FalconButtonV2","_32","onClick","wafIdentifier","disabled","_33","miaFooter","enableSelectionSummary","miniSummary","titleRow","titleLabel","yourSelectionTitle","titleIcons","selectionSummaryPlusIcon","cartToggle","selectionSummaryCollapseIcon","selectionSummaryExpandIcon","miniCartDivider","itemRow","itemLine","itemName","oneTime","cartDelete","selectionSummaryDeleteIcon","__awaiter","console","log","removeItemFromCart","handleDeleteFromMiniCart","rpName","_11","itemDivider","checkoutBtn","proceedtocheckoutButton","eventAction","AccessoryModal","modalState","handler","showFooter","fixedWidth","noCloseButton","backDrop","accessoryErrorUpdate","errorModal","description","accessoryErrorButtons","cancelButton","cancelButtonLinkText","retryButton","metadata","undefined","cartLimitModal","cartLimitBtnText","selectionContent","watchesSelectionPopup","tabletsSelectionPopup","getSelectionPopupContent","OPENPOPUP","POPUP","message_title","REPLACESELECTION","message_description","text","message_type","INFO","modalContent","CLOSEPOPUP","handleClosePopup","modalHeading","modalDescription","modalButtons","link","factSheetLink","CTABUTTONCLICK","KEEPPREVIOUS","linkText","button","REPLACE","existingCartItem","handleReplaceSelection"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import e,{useState as l,useRef as o,useEffect as i}from"react";import n from"../ProgressionBar/progressionBar.js";import t from"./MultiItemAccessoriesPageStyle.module.scss.js";import d from"../../richtext.js";import v from"../Accessory-card/AccessoryCard.js";import a from"../AccessoryPreviewCardLoader/AccessoryPreviewCardLoader.js";import r from"../PaymentTypeTabs/PaymentTypeTabs.js";import s from"../../../services/MultiItemAccessories/storyBlokService.js";import{getCookie as u}from"cookies-next";import{ONE_ECOMMERCE_HARDWARE_SUMMARY as c,ACCESSORY as m,CONTRACT as p,MOBILERATEPLAN as y,INTERNETFLOW as g,TV as f,WATCHES as b,MOBILEACCESSORIES as T,BASE as h,MONTHLY as A,TABLETS as E}from"../../../utils/constants.js";import C from"../../ResponsiveRow/row.js";import{trackViewItem as I,setMmcItemTracker as w,trackNewDatalayerEvent as k}from"../../../utils/AnalyticsUtils.js";import{VIEWEACHITEM as P,LEARNMORE as j,LINK as S,CTATEXTCLICK as R,GAEVENT as x,INFO as N,POPUP as B,OPENPOPUP as D,CONTENT as L,TABCLICK as O,CONTINUE as _,CTABUTTONCLICK as M}from"../../../Analytics/AnalyticsConstants.js";import{useMultiAccessoryContext as V}from"../multiItemAccessoryStore/useMultiAccessoryContext.js";import{useMultiAccessoryActions as U}from"../multiItemAccessoryStore/useMultiAccessoryActions.js";import F from"../multiItemAccessoryStore/MultiAccessoryProvider.js";import{useMultiAccessoryUpdateCartActions as H}from"../multiItemAccessoryStore/useMultiAccessoryUpdateCartActions.js";import W from"../../Dotloader/Dotloader.js";import{rp_lastcartItemWithParentPOType as $,viewport as G,replacePlaceholder as J,countZero as q,getSBAssetUrl as z}from"../../../utils/utils.js";import K from"../Accessory-card/AccessoryModal.js";import Q from"../../FalconButtonV2/FalconButtonV2.js";import{AssetPathPropConfig as X}from"../../../services/LineTableBasicPropConfig.js";import"../../../services/ProductTeaserPropsConfig.js";import"../../../services/LinecheckBasicPropConfig.js";import"../../../services/LoginBasicPropConfig.js";import"../../../services/DevicePropConfig.js";import"../../../services/StickyBottomSheetConfig.js";import"../../../services/ServiceOptionsPropConfig.js";import Y from"../AccessoryUpdateCartDotloader/AccessoryUpdateCartDotloader.js";const Z=({content:F,metadata:Z})=>{var ee,le,oe,ie,ne,te,de,ve,ae,re,se,ue,ce,me,pe,ye;const ge=null==Z?void 0:Z.lang,[fe,be]=l(!1),[Te,he]=l(!1),[Ae,Ee]=l(null),Ce=u("one-commerce-cartId"),[Ie,we]=l(""),[ke,Pe]=l(!1),je=o({}),{store:Se,dispatch:Re}=V(),xe=U(Re),Ne=H(),{recommendedAccessories:Be,isFetchingRecommendedAccessories:De,deviceSessionValues:Le,multiItemAccessoriessList:Oe,loading:_e,isLoadingCartData:Me,cartData:Ve,previousTab:Ue}=Se,Fe=null===(ee=null==Be?void 0:Be[null==Se?void 0:Se.selectedTab])||void 0===ee?void 0:ee.hardware,He=null===(le=null==X?void 0:X.getInstance())||void 0===le?void 0:le.getAssetPath(),We=null==F?void 0:F.recommendationType,$e={};i(()=>{var e,l,o,i;he(!0);const n=null===sessionStorage||void 0===sessionStorage?void 0:sessionStorage.getItem(c),t=n?JSON.parse(n):{};je.current=t;const d=Object.assign(Object.assign({},t),{cartId:Ce});xe.setDeviceSessionValues(d),null==xe||xe.setSelectedTab(null==F?void 0:F.defaultTabSelection),we(null===(i=null===(o=null===(l=null===(e=null==t?void 0:t.hardwareVariant)||void 0===e?void 0:e.note)||void 0===l?void 0:l.filter(e=>"hardwareGroupName"===e.author))||void 0===o?void 0:o[0])||void 0===i?void 0:i.text),be(!0),Ce&&Ge(void 0,t)},[]);const Ge=(e,l)=>{var o,i;const n=null!=l?l:je.current;if(e&&(xe.setPreviousTab(null==Se?void 0:Se.selectedTab),xe.setSelectedTab(e)),e){if((null===(i=(null===(o=null==Be?void 0:Be[e])||void 0===o?void 0:o.hardware)||[])||void 0===i?void 0:i.length)<=0&&(be(!0),xe.getRecommendedAccessory({cartId:Ce,recommendationsType:e})),_e)return}else Ne.fetchCartData(Ce).then(l=>{var o,i,t,d,v,a,r,s,u,c,y,g,f,b,T;const h=null!==(o=null==l?void 0:l.cartRecommendationsType)&&void 0!==o?o:[null==F?void 0:F.defaultTabSelection],A=null===(i=null==n?void 0:n.hardwareVariant)||void 0===i?void 0:i.selectedContractType,E=$(null!==(t=null==l?void 0:l.cartItem)&&void 0!==t?t:[],{},{},{}),C=!((null===(d=null==E?void 0:E.MOBILE_ORDER)||void 0===d?void 0:d.HARDWARE)||(null==E?void 0:E.STANDALONE_HARDWARE));Pe(C);const I=(Number.parseFloat(null===(u=null===(s=null===(r=null===(a=null===(v=null==E?void 0:E.MOBILE_ORDER)||void 0===v?void 0:v.HARDWARE)||void 0===a?void 0:a.itemTerm)||void 0===r?void 0:r[0])||void 0===s?void 0:s.duration)||void 0===u?void 0:u.amount)||0)>0&&("DEVICE_RENEWAL"!==(null===(g=null===(y=null===(c=null==l?void 0:l.cartItem)||void 0===c?void 0:c[0])||void 0===y?void 0:y.processType)||void 0===g?void 0:g.id)&&"DEVICE_RP_RENEWAL"!==(null===(T=null===(b=null===(f=null==l?void 0:l.cartItem)||void 0===f?void 0:f[0])||void 0===b?void 0:b.processType)||void 0===T?void 0:T.id)||(null==F?void 0:F.enableExistingSubscription))?null==We?void 0:We.filter(e=>h.includes(e)):null==We?void 0:We.filter(e=>e===m&&h.includes(e));null==I||I.forEach(e=>{$e[e]=[]}),xe.setRecommendedAccessories($e);const w=A===p?(null==I?void 0:I.includes(null==F?void 0:F.defaultTabSelection))?null==F?void 0:F.defaultTabSelection:I[0]:m;null==xe||xe.setSelectedTab(w),xe.getRecommendedAccessory({cartId:Ce,recommendationsType:e||w})}).catch(()=>{var e,l,o,i,t;const d=!!(null===(l=null===(e=[y,g,f])||void 0===e?void 0:e.includes)||void 0===l?void 0:l.call(e,null===(o=null==Fe?void 0:Fe[0])||void 0===o?void 0:o.recommendationProcessingType))||!(null==n?void 0:n.hardwareVariant);"undefined"!=typeof window&&(window.location.href=d?null===(i=null==F?void 0:F.winCheckoutUrl)||void 0===i?void 0:i.cached_url:null===(t=null==F?void 0:F.multiItemCheckoutUrl)||void 0===t?void 0:t.url)})};i(()=>{var e,l,o,i,n,t,d,v,a,r,u,c;if((null===(l=null===(e=null==Be?void 0:Be[null==Be?void 0:Be.tabkey])||void 0===e?void 0:e.hardware)||void 0===l?void 0:l.length)>0)if((null==Be?void 0:Be.tabkey)===m)null==s||s.getStoryBlokData(ge,null===(i=null===(o=null==Be?void 0:Be[null==Be?void 0:Be.tabkey])||void 0===o?void 0:o.hardware)||void 0===i?void 0:i.map(e=>null==e?void 0:e.baseProducts),null==F?void 0:F.parentSlugUrl).then(e=>{Je(e,null==Be?void 0:Be.tabkey)});else{const e=(null==Be?void 0:Be.tabkey)===b?null===(d=null===(t=null===(n=null==F?void 0:F.watchMasterList)||void 0===n?void 0:n[0])||void 0===t?void 0:t.reference)||void 0===d?void 0:d.content:null===(r=null===(a=null===(v=null==F?void 0:F.tabletMasterList)||void 0===v?void 0:v[0])||void 0===a?void 0:a.reference)||void 0===r?void 0:r.content;Je(e,null==Be?void 0:Be.tabkey)}else De&&Ce||Me||"undefined"==typeof window||(window.location.href=ke?null===(u=null==F?void 0:F.winCheckoutUrl)||void 0===u?void 0:u.cached_url:null===(c=null==F?void 0:F.multiItemCheckoutUrl)||void 0===c?void 0:c.url)},[Be]);const Je=(e,l)=>{var o,i,n,t,d,v,a,r;const s=null===(n=null===(i=(null===(o=null==Be?void 0:Be[l])||void 0===o?void 0:o.hardware)||[])||void 0===i?void 0:i.filter(e=>{var l,o;return(null===(l=null==Le?void 0:Le.hardwareVariant)||void 0===l?void 0:l.selectedContractType)===p?(null===(o=null==e?void 0:e.recurringPrice)||void 0===o?void 0:o.monthlyInstallment)>0:e}))||void 0===n?void 0:n.reduce((o,i,n)=>{var t,d,v,a,r,s,u,c,p,y,g,f,b,h,A,E,C,w,k,j,S,R,x,N,B,D,L,O,_,M,V,U;const F={image:"",type:T};let H;if(l===m){H=null===(a=null===(v=null===(d=null===(t=null==e?void 0:e.sbStory)||void 0===t?void 0:t.data)||void 0===d?void 0:d.stories)||void 0===v?void 0:v.filter(e=>{var l;return(null==i?void 0:i.baseProducts)===(null===(l=null==e?void 0:e.content)||void 0===l?void 0:l.productId)}))||void 0===a?void 0:a[0];const l=null===(c=null===(u=null===(s=null===(r=null==H?void 0:H.content)||void 0===r?void 0:r.body)||void 0===s?void 0:s[0])||void 0===u?void 0:u.deviceList)||void 0===c?void 0:c.find(e=>(null==e?void 0:e.devicePlanId)===(null==i?void 0:i.id));F.image=(null===(g=null===(y=null===(p=null==l?void 0:l.promoImageGallery)||void 0===p?void 0:p[0])||void 0===y?void 0:y.slideImages)||void 0===g?void 0:g[0])?null===(E=null===(A=null===(h=null===(b=null===(f=null==l?void 0:l.promoImageGallery)||void 0===f?void 0:f[0])||void 0===b?void 0:b.slideImages)||void 0===h?void 0:h[0])||void 0===A?void 0:A.image)||void 0===E?void 0:E.filename:null===(S=null===(j=null===(k=null===(w=null===(C=null==l?void 0:l.imageGallery)||void 0===C?void 0:C[0])||void 0===w?void 0:w.slideImages)||void 0===k?void 0:k[0])||void 0===j?void 0:j.image)||void 0===S?void 0:S.filename,F.type=null!==(x=null===(R=null==i?void 0:i.content)||void 0===R?void 0:R.type)&&void 0!==x?x:T}else H=null===(B=null===(N=null==e?void 0:e.body)||void 0===N?void 0:N.filter(e=>(null==i?void 0:i.baseProducts)===(null==e?void 0:e.m_p_id)))||void 0===B?void 0:B[0],F.image=null===(L=null===(D=null==H?void 0:H.images)||void 0===D?void 0:D[0])||void 0===L?void 0:L.filename,F.type=null!==(_=null===(O=null==i?void 0:i.content)||void 0===O?void 0:O.type)&&void 0!==_?_:T;return H&&(o.push({sbStoryItem:H,imageData:F,recomApiResponse:i}),I(P,P,{displayName:null==i?void 0:i.name,productId:null==i?void 0:i.id,priceValue:null===(M=null==i?void 0:i.oneTimePrice)||void 0===M?void 0:M.base,index:n,variant:null===(V=null==i?void 0:i.variantCategory)||void 0===V?void 0:V.color,storage:null===(U=null==i?void 0:i.variantCategory)||void 0===U?void 0:U.storage})),o},[]);(null==s?void 0:s.length)>0&&(null===(v=(null===(d=null===(t=null==e?void 0:e.sbStory)||void 0===t?void 0:t.data)||void 0===d?void 0:d.stories)||(null==e?void 0:e.body))||void 0===v?void 0:v.length)>0?xe.setMultiItemAccessoriessList(Object.assign(Object.assign({},Oe),{[l]:s})):window.location.href=ke?null===(a=null==F?void 0:F.winCheckoutUrl)||void 0===a?void 0:a.cached_url:null===(r=null==F?void 0:F.multiItemCheckoutUrl)||void 0===r?void 0:r.url,be(!1),Ke(s)};i(()=>{var e;null===(e=(null==Oe?void 0:Oe[null==Se?void 0:Se.selectedTab])||[])||void 0===e||e.filter(e=>{var l,o,i;(null===(o=null===(l=null==e?void 0:e.recomApiResponse)||void 0===l?void 0:l.paymentType)||void 0===o?void 0:o.toLowerCase())&&xe.setSelectedPaymentType((null===(i=null==e?void 0:e.recomApiResponse)||void 0===i?void 0:i.paymentType.toLowerCase())===A?p:h)})},[Oe]);const qe=G(),ze="large-desktop"===qe||"desktop"===qe?3:"tablet"===qe?2:"mobile"===qe?1:0,Ke=e=>{const l=null==e?void 0:e.map((e,l)=>{var o,i,n,t,d,v,a,r;return{displayName:null===(o=null==e?void 0:e.recomApiResponse)||void 0===o?void 0:o.name,productId:null===(i=null==e?void 0:e.recomApiResponse)||void 0===i?void 0:i.id,priceValue:null===(t=null===(n=null==e?void 0:e.recomApiResponse)||void 0===n?void 0:n.oneTimePrice)||void 0===t?void 0:t.base,index:l,variant:null===(v=null===(d=null==e?void 0:e.recomApiResponse)||void 0===d?void 0:d.variantCategory)||void 0===v?void 0:v.color,storage:null===(r=null===(a=null==e?void 0:e.recomApiResponse)||void 0===a?void 0:a.variantCategory)||void 0===r?void 0:r.storage}});w(l)};return e.createElement(e.Fragment,null,_e&&((null==Se?void 0:Se.selectedTab)===Ue?e.createElement(W,null):e.createElement(Y,{content:F})),Te&&F&&((null===(oe=null==Oe?void 0:Oe[null==Se?void 0:Se.selectedTab])||void 0===oe?void 0:oe.length)>0||fe)&&e.createElement("div",{className:`${t.mainPage}`},(null===(ie=null==F?void 0:F.progressionBar)||void 0===ie?void 0:ie[0])&&e.createElement(n,{content:null===(ne=null==F?void 0:F.progressionBar)||void 0===ne?void 0:ne[0]}),e.createElement(C,null,e.createElement("div",null,e.createElement("div",{className:`${t.title}`},e.createElement(d,{content:null==F?void 0:F.recommendationLabel})),Object.keys(Be||{}).filter(e=>null==We?void 0:We.includes(e)).length<=1&&!ke&&e.createElement("div",{className:`${t.deviceText}`},null==F?void 0:F.compatibleText,e.createElement("span",{className:t.deviceName},Ie)))),Object.keys(Be||{}).filter(e=>null==We?void 0:We.includes(e)).length>1&&e.createElement("div",{className:t.tabsContainer},null===(de=null===(te=(null==F?void 0:F.recommendationType)||[])||void 0===te?void 0:te.filter(e=>null==Be?void 0:Be[e]))||void 0===de?void 0:de.map(l=>{const o=Object.keys((null==Ve?void 0:Ve[l])||{}).length,i=l===m?null==F?void 0:F.accessoryTitle:l===b?null==F?void 0:F.watchesTitle:l===E?null==F?void 0:F.tabletsTitle:l;return e.createElement("button",{key:l,className:`${t.tabButton} ${Se.selectedTab===l?t.activeTab:""}`,onClick:()=>{Se.selectedTab!==l&&((e,l)=>{let o=l;e===m&&(null==F?void 0:F.accessoryAnalyticsTitle)?o=F.accessoryAnalyticsTitle:e===E&&(null==F?void 0:F.tabletsAnalyticsTitle)?o=F.tabletsAnalyticsTitle:e===b&&(null==F?void 0:F.watchesAnalyticsTitle)&&(o=F.watchesAnalyticsTitle),k(x,O,{component:L,click_text:o}),Ge(e)})(l,i)},disabled:!(null==Be?void 0:Be[l])},i,o>0&&e.createElement("span",{className:t.tabCount},o))})),(Se.selectedTab===b&&(null==F?void 0:F.watchesInfoBannerText)||Se.selectedTab===E&&(null==F?void 0:F.tabletsInfoBannerText))&&e.createElement("div",{className:t.infoBanner},e.createElement("div",{className:t.infoBannerContent},e.createElement("img",{className:t.infoIcon,src:null===(ve=null==F?void 0:F.esimIcon)||void 0===ve?void 0:ve.filename}),e.createElement("span",null,e.createElement("span",null,J(Se.selectedTab===b?null==F?void 0:F.watchesInfoBannerText:null==F?void 0:F.tabletsInfoBannerText,[null!==(se=q(null===(re=null===(ae=null==Be?void 0:Be[null==Se?void 0:Se.selectedTab])||void 0===ae?void 0:ae.ratePlan)||void 0===re?void 0:re.derivedPrice))&&void 0!==se?se:q(null===(ce=null===(ue=null==Be?void 0:Be[null==Se?void 0:Se.selectedTab])||void 0===ue?void 0:ue.ratePlan)||void 0===ce?void 0:ce.listPrice)])),e.createElement("span",{className:t.learnMoreText,onClick:()=>{k(x,R,{component:S,click_text:j}),Ee(Se.selectedTab)}},null==F?void 0:F.learnMoreText)))),ke&&e.createElement(r,{content:{paymentHeadingText:null==F?void 0:F.paymentHeadingText,paymentOptions:null==F?void 0:F.paymentOptions,paymentTypeChngePopup:null===(me=null==F?void 0:F.paymentTypeChngePopup)||void 0===me?void 0:me[0],paymentTypeChngePopupOnetime:null===(pe=null==F?void 0:F.paymentTypeChngePopupOnetime)||void 0===pe?void 0:pe[0]}}),fe&&!(null===(ye=null==Oe?void 0:Oe[null==Se?void 0:Se.selectedTab])||void 0===ye?void 0:ye.length)?e.createElement(a,{cards:ze}):e.createElement(v,{content:F,tabIndex:1,checkingviewPort:qe,isSubscriptionFlow:ke})),Ae&&(()=>{var l,o,i,n,v,a,r,s,u,c,m,p,y,g,f;const T=(()=>{var e,l;return Ae===b?null===(e=null==F?void 0:F.watchesPopup)||void 0===e?void 0:e[0]:null===(l=null==F?void 0:F.tabletsPopup)||void 0===l?void 0:l[0]})();return k(x,D,{component:B,message_title:null===(a=null===(v=null===(n=null===(i=null===(o=null===(l=null==T?void 0:T.heading)||void 0===l?void 0:l.content)||void 0===o?void 0:o[0])||void 0===i?void 0:i.content)||void 0===n?void 0:n[0])||void 0===v?void 0:v.text)||void 0===a?void 0:a.slice(0,100),message_description:null===(p=null===(m=null===(c=null===(u=null===(s=null===(r=null==T?void 0:T.description)||void 0===r?void 0:r.content)||void 0===s?void 0:s[0])||void 0===u?void 0:u.content)||void 0===c?void 0:c[0])||void 0===m?void 0:m.text)||void 0===p?void 0:p.slice(0,100),message_type:N}),e.createElement(K,{modalState:!!Ae,handler:()=>Ee(null),showFooter:!1,height:"auto",fixedWidth:"large-desktop"===qe||"desktop"===qe||"tablet"===qe?"624px":"",noCloseButton:!1,backDrop:!0},e.createElement("div",{className:t.watchInfoModal},(null==T?void 0:T.heading)&&e.createElement("div",{className:t.modalHeading},e.createElement(d,{content:T.heading})),(null==T?void 0:T.description)&&e.createElement("div",{className:t.modalDescription},e.createElement(d,{content:T.description})),e.createElement("div",{className:t.modalButtons},(null==T?void 0:T.link)&&e.createElement("a",{href:z(He,(null===(y=T.link)||void 0===y?void 0:y.cached_url)||(null===(g=T.link)||void 0===g?void 0:g.url)),target:"_blank",rel:"noopener noreferrer",className:t.factSheetLink},T.linkText),(null===(f=null==T?void 0:T.button)||void 0===f?void 0:f.length)>0&&e.createElement(Q,{content:T.button[0],onClick:()=>{k(x,M,{component:S,click_text:_}),Ee(null)},metadata:void 0,wafIdentifier:""}))))})())},ee=l=>e.createElement(F,null,e.createElement(Z,Object.assign({},l)));export{ee as default};
1
+ import e,{useState as l,useRef as o,useEffect as i}from"react";import n from"../ProgressionBar/progressionBar.js";import t from"./MultiItemAccessoriesPageStyle.module.scss.js";import d from"../../richtext.js";import v from"../Accessory-card/AccessoryCard.js";import a from"../AccessoryPreviewCardLoader/AccessoryPreviewCardLoader.js";import r from"../PaymentTypeTabs/PaymentTypeTabs.js";import s from"../../../services/MultiItemAccessories/storyBlokService.js";import{getCookie as u}from"cookies-next";import{ONE_ECOMMERCE_HARDWARE_SUMMARY as c,ACCESSORY as m,CONTRACT as p,MOBILERATEPLAN as y,INTERNETFLOW as g,TV as f,WATCHES as b,MOBILEACCESSORIES as h,BASE as T,MONTHLY as A,TABLETS as E}from"../../../utils/constants.js";import C from"../../ResponsiveRow/row.js";import{trackViewItem as I,setMmcItemTracker as w,trackNewDatalayerEvent as k}from"../../../utils/AnalyticsUtils.js";import{VIEWEACHITEM as P,LEARNMORE as j,LINK as S,CTATEXTCLICK as R,GAEVENT as x,INFO as N,POPUP as B,OPENPOPUP as D,CONTENT as L,TABCLICK as O,CONTINUE as _,CTABUTTONCLICK as M}from"../../../Analytics/AnalyticsConstants.js";import{useMultiAccessoryContext as V}from"../multiItemAccessoryStore/useMultiAccessoryContext.js";import{useMultiAccessoryActions as U}from"../multiItemAccessoryStore/useMultiAccessoryActions.js";import F from"../multiItemAccessoryStore/MultiAccessoryProvider.js";import{useMultiAccessoryUpdateCartActions as H}from"../multiItemAccessoryStore/useMultiAccessoryUpdateCartActions.js";import W from"../../Dotloader/Dotloader.js";import{rp_lastcartItemWithParentPOType as $,viewport as G,replacePlaceholder as J,countZero as q,getSBAssetUrl as z}from"../../../utils/utils.js";import K from"../Accessory-card/AccessoryModal.js";import Q from"../../FalconButtonV2/FalconButtonV2.js";import{AssetPathPropConfig as X}from"../../../services/LineTableBasicPropConfig.js";import"../../../services/ProductTeaserPropsConfig.js";import"../../../services/LinecheckBasicPropConfig.js";import"../../../services/LoginBasicPropConfig.js";import"../../../services/DevicePropConfig.js";import"../../../services/StickyBottomSheetConfig.js";import"../../../services/ServiceOptionsPropConfig.js";import Y from"../AccessoryUpdateCartDotloader/AccessoryUpdateCartDotloader.js";const Z=({content:F,metadata:Z})=>{var ee,le,oe,ie,ne,te,de,ve,ae,re,se,ue,ce,me;const pe=null==Z?void 0:Z.lang,[ye,ge]=l(!1),[fe,be]=l(!1),[he,Te]=l(null),Ae=u("one-commerce-cartId"),[Ee,Ce]=l(""),[Ie,we]=l(!1),ke=o({}),{store:Pe,dispatch:je}=V(),Se=U(je),Re=H(),{recommendedAccessories:xe,isFetchingRecommendedAccessories:Ne,deviceSessionValues:Be,multiItemAccessoriessList:De,loading:Le,isLoadingCartData:Oe,cartData:_e,previousTab:Me}=Pe,Ve=null===(ee=null==xe?void 0:xe[null==Pe?void 0:Pe.selectedTab])||void 0===ee?void 0:ee.hardware,Ue=null===(le=null==X?void 0:X.getInstance())||void 0===le?void 0:le.getAssetPath(),Fe=null==F?void 0:F.recommendationType,He={};i(()=>{var e,l,o,i;be(!0);const n=null===sessionStorage||void 0===sessionStorage?void 0:sessionStorage.getItem(c),t=n?JSON.parse(n):{};ke.current=t;const d=Object.assign(Object.assign({},t),{cartId:Ae});Se.setDeviceSessionValues(d),null==Se||Se.setSelectedTab(null==F?void 0:F.defaultTabSelection),Ce(null===(i=null===(o=null===(l=null===(e=null==t?void 0:t.hardwareVariant)||void 0===e?void 0:e.note)||void 0===l?void 0:l.filter(e=>"hardwareGroupName"===e.author))||void 0===o?void 0:o[0])||void 0===i?void 0:i.text),ge(!0),Ae&&We(void 0,t)},[]);const We=(e,l)=>{var o,i;const n=null!=l?l:ke.current;if(e&&(Se.setPreviousTab(null==Pe?void 0:Pe.selectedTab),Se.setSelectedTab(e)),e){if((null===(i=(null===(o=null==xe?void 0:xe[e])||void 0===o?void 0:o.hardware)||[])||void 0===i?void 0:i.length)<=0&&(ge(!0),Se.getRecommendedAccessory({cartId:Ae,recommendationsType:e})),Le)return}else Re.fetchCartData(Ae).then(l=>{var o,i,t,d,v,a,r,s,u,c,y,g,f,b,h;const T=null!==(o=null==l?void 0:l.cartRecommendationsType)&&void 0!==o?o:[null==F?void 0:F.defaultTabSelection],A=null===(i=null==n?void 0:n.hardwareVariant)||void 0===i?void 0:i.selectedContractType,E=$(null!==(t=null==l?void 0:l.cartItem)&&void 0!==t?t:[],{},{},{}),C=!((null===(d=null==E?void 0:E.MOBILE_ORDER)||void 0===d?void 0:d.HARDWARE)||(null==E?void 0:E.STANDALONE_HARDWARE));we(C);const I=(Number.parseFloat(null===(u=null===(s=null===(r=null===(a=null===(v=null==E?void 0:E.MOBILE_ORDER)||void 0===v?void 0:v.HARDWARE)||void 0===a?void 0:a.itemTerm)||void 0===r?void 0:r[0])||void 0===s?void 0:s.duration)||void 0===u?void 0:u.amount)||0)>0&&("DEVICE_RENEWAL"!==(null===(g=null===(y=null===(c=null==l?void 0:l.cartItem)||void 0===c?void 0:c[0])||void 0===y?void 0:y.processType)||void 0===g?void 0:g.id)&&"DEVICE_RP_RENEWAL"!==(null===(h=null===(b=null===(f=null==l?void 0:l.cartItem)||void 0===f?void 0:f[0])||void 0===b?void 0:b.processType)||void 0===h?void 0:h.id)||(null==F?void 0:F.enableExistingSubscription))?null==Fe?void 0:Fe.filter(e=>T.includes(e)):null==Fe?void 0:Fe.filter(e=>e===m&&T.includes(e));null==I||I.forEach(e=>{He[e]=[]}),Se.setRecommendedAccessories(He);const w=A===p?(null==I?void 0:I.includes(null==F?void 0:F.defaultTabSelection))?null==F?void 0:F.defaultTabSelection:I[0]:m;null==Se||Se.setSelectedTab(w),Se.getRecommendedAccessory({cartId:Ae,recommendationsType:e||w})}).catch(()=>{var e,l,o,i,t;const d=!!(null===(l=null===(e=[y,g,f])||void 0===e?void 0:e.includes)||void 0===l?void 0:l.call(e,null===(o=null==Ve?void 0:Ve[0])||void 0===o?void 0:o.recommendationProcessingType))||!(null==n?void 0:n.hardwareVariant);"undefined"!=typeof window&&(window.location.href=d?null===(i=null==F?void 0:F.winCheckoutUrl)||void 0===i?void 0:i.cached_url:null===(t=null==F?void 0:F.multiItemCheckoutUrl)||void 0===t?void 0:t.url)})};i(()=>{var e,l,o,i,n,t,d,v,a,r,u,c;if((null===(l=null===(e=null==xe?void 0:xe[null==xe?void 0:xe.tabkey])||void 0===e?void 0:e.hardware)||void 0===l?void 0:l.length)>0)if((null==xe?void 0:xe.tabkey)===m)null==s||s.getStoryBlokData(pe,null===(i=null===(o=null==xe?void 0:xe[null==xe?void 0:xe.tabkey])||void 0===o?void 0:o.hardware)||void 0===i?void 0:i.map(e=>null==e?void 0:e.baseProducts),null==F?void 0:F.parentSlugUrl).then(e=>{$e(e,null==xe?void 0:xe.tabkey)});else{const e=(null==xe?void 0:xe.tabkey)===b?null===(d=null===(t=null===(n=null==F?void 0:F.watchMasterList)||void 0===n?void 0:n[0])||void 0===t?void 0:t.reference)||void 0===d?void 0:d.content:null===(r=null===(a=null===(v=null==F?void 0:F.tabletMasterList)||void 0===v?void 0:v[0])||void 0===a?void 0:a.reference)||void 0===r?void 0:r.content;$e(e,null==xe?void 0:xe.tabkey)}else Ne&&Ae||Oe||"undefined"==typeof window||(window.location.href=Ie?null===(u=null==F?void 0:F.winCheckoutUrl)||void 0===u?void 0:u.cached_url:null===(c=null==F?void 0:F.multiItemCheckoutUrl)||void 0===c?void 0:c.url)},[xe]);const $e=(e,l)=>{var o,i,n,t,d,v,a,r;const s=null===(n=null===(i=(null===(o=null==xe?void 0:xe[l])||void 0===o?void 0:o.hardware)||[])||void 0===i?void 0:i.filter(e=>{var l,o;return(null===(l=null==Be?void 0:Be.hardwareVariant)||void 0===l?void 0:l.selectedContractType)===p?(null===(o=null==e?void 0:e.recurringPrice)||void 0===o?void 0:o.monthlyInstallment)>0:e}))||void 0===n?void 0:n.reduce((o,i,n)=>{var t,d,v,a,r,s,u,c,p,y,g,f,b,T,A,E,C,w,k,j,S,R,x,N,B,D,L,O,_,M,V,U;const F={image:"",type:h};let H;if(l===m){H=null===(a=null===(v=null===(d=null===(t=null==e?void 0:e.sbStory)||void 0===t?void 0:t.data)||void 0===d?void 0:d.stories)||void 0===v?void 0:v.filter(e=>{var l;return(null==i?void 0:i.baseProducts)===(null===(l=null==e?void 0:e.content)||void 0===l?void 0:l.productId)}))||void 0===a?void 0:a[0];const l=null===(c=null===(u=null===(s=null===(r=null==H?void 0:H.content)||void 0===r?void 0:r.body)||void 0===s?void 0:s[0])||void 0===u?void 0:u.deviceList)||void 0===c?void 0:c.find(e=>(null==e?void 0:e.devicePlanId)===(null==i?void 0:i.id));F.image=(null===(g=null===(y=null===(p=null==l?void 0:l.promoImageGallery)||void 0===p?void 0:p[0])||void 0===y?void 0:y.slideImages)||void 0===g?void 0:g[0])?null===(E=null===(A=null===(T=null===(b=null===(f=null==l?void 0:l.promoImageGallery)||void 0===f?void 0:f[0])||void 0===b?void 0:b.slideImages)||void 0===T?void 0:T[0])||void 0===A?void 0:A.image)||void 0===E?void 0:E.filename:null===(S=null===(j=null===(k=null===(w=null===(C=null==l?void 0:l.imageGallery)||void 0===C?void 0:C[0])||void 0===w?void 0:w.slideImages)||void 0===k?void 0:k[0])||void 0===j?void 0:j.image)||void 0===S?void 0:S.filename,F.type=null!==(x=null===(R=null==i?void 0:i.content)||void 0===R?void 0:R.type)&&void 0!==x?x:h}else H=null===(B=null===(N=null==e?void 0:e.body)||void 0===N?void 0:N.filter(e=>(null==i?void 0:i.baseProducts)===(null==e?void 0:e.m_p_id)))||void 0===B?void 0:B[0],F.image=null===(L=null===(D=null==H?void 0:H.images)||void 0===D?void 0:D[0])||void 0===L?void 0:L.filename,F.type=null!==(_=null===(O=null==i?void 0:i.content)||void 0===O?void 0:O.type)&&void 0!==_?_:h;return H&&(o.push({sbStoryItem:H,imageData:F,recomApiResponse:i}),I(P,P,{displayName:null==i?void 0:i.name,productId:null==i?void 0:i.id,priceValue:null===(M=null==i?void 0:i.oneTimePrice)||void 0===M?void 0:M.base,index:n,variant:null===(V=null==i?void 0:i.variantCategory)||void 0===V?void 0:V.color,storage:null===(U=null==i?void 0:i.variantCategory)||void 0===U?void 0:U.storage})),o},[]);(null==s?void 0:s.length)>0&&(null===(v=(null===(d=null===(t=null==e?void 0:e.sbStory)||void 0===t?void 0:t.data)||void 0===d?void 0:d.stories)||(null==e?void 0:e.body))||void 0===v?void 0:v.length)>0?Se.setMultiItemAccessoriessList(Object.assign(Object.assign({},De),{[l]:s})):window.location.href=Ie?null===(a=null==F?void 0:F.winCheckoutUrl)||void 0===a?void 0:a.cached_url:null===(r=null==F?void 0:F.multiItemCheckoutUrl)||void 0===r?void 0:r.url,ge(!1),Ke(s)};i(()=>{var e;null===(e=(null==De?void 0:De[null==Pe?void 0:Pe.selectedTab])||[])||void 0===e||e.filter(e=>{var l,o,i;(null===(o=null===(l=null==e?void 0:e.recomApiResponse)||void 0===l?void 0:l.paymentType)||void 0===o?void 0:o.toLowerCase())&&Se.setSelectedPaymentType((null===(i=null==e?void 0:e.recomApiResponse)||void 0===i?void 0:i.paymentType.toLowerCase())===A?p:T)})},[De]);const Ge=G(),Je="large-desktop"===Ge||"desktop"===Ge?3:"tablet"===Ge?2:"mobile"===Ge?1:0,qe=null===(oe=null==xe?void 0:xe[null==Pe?void 0:Pe.selectedTab])||void 0===oe?void 0:oe.ratePlan,ze=null!==(ne=null!==(ie=null==qe?void 0:qe.derivedPrice)&&void 0!==ie?ie:null==qe?void 0:qe.listPrice)&&void 0!==ne?ne:0,Ke=e=>{const l=null==e?void 0:e.map((e,l)=>{var o,i,n,t,d,v,a,r;return{displayName:null===(o=null==e?void 0:e.recomApiResponse)||void 0===o?void 0:o.name,productId:null===(i=null==e?void 0:e.recomApiResponse)||void 0===i?void 0:i.id,priceValue:null===(t=null===(n=null==e?void 0:e.recomApiResponse)||void 0===n?void 0:n.oneTimePrice)||void 0===t?void 0:t.base,index:l,variant:null===(v=null===(d=null==e?void 0:e.recomApiResponse)||void 0===d?void 0:d.variantCategory)||void 0===v?void 0:v.color,storage:null===(r=null===(a=null==e?void 0:e.recomApiResponse)||void 0===a?void 0:a.variantCategory)||void 0===r?void 0:r.storage}});w(l)};return e.createElement(e.Fragment,null,Le&&((null==Pe?void 0:Pe.selectedTab)===Me?e.createElement(W,null):e.createElement(Y,{content:F})),fe&&F&&((null===(te=null==De?void 0:De[null==Pe?void 0:Pe.selectedTab])||void 0===te?void 0:te.length)>0||ye)&&e.createElement("div",{className:`${t.mainPage}`},(null===(de=null==F?void 0:F.progressionBar)||void 0===de?void 0:de[0])&&e.createElement(n,{content:null===(ve=null==F?void 0:F.progressionBar)||void 0===ve?void 0:ve[0]}),e.createElement(C,null,e.createElement("div",null,e.createElement("div",{className:`${t.title}`},e.createElement(d,{content:null==F?void 0:F.recommendationLabel})),Object.keys(xe||{}).filter(e=>null==Fe?void 0:Fe.includes(e)).length<=1&&!Ie&&e.createElement("div",{className:`${t.deviceText}`},null==F?void 0:F.compatibleText,e.createElement("span",{className:t.deviceName},Ee)))),Object.keys(xe||{}).filter(e=>null==Fe?void 0:Fe.includes(e)).length>1&&e.createElement("div",{className:t.tabsContainer},null===(re=null===(ae=(null==F?void 0:F.recommendationType)||[])||void 0===ae?void 0:ae.filter(e=>null==xe?void 0:xe[e]))||void 0===re?void 0:re.map(l=>{const o=Object.keys((null==_e?void 0:_e[l])||{}).length,i=l===m?null==F?void 0:F.accessoryTitle:l===b?null==F?void 0:F.watchesTitle:l===E?null==F?void 0:F.tabletsTitle:l;return e.createElement("button",{key:l,className:`${t.tabButton} ${Pe.selectedTab===l?t.activeTab:""}`,onClick:()=>{Pe.selectedTab!==l&&((e,l)=>{let o=l;e===m&&(null==F?void 0:F.accessoryAnalyticsTitle)?o=F.accessoryAnalyticsTitle:e===E&&(null==F?void 0:F.tabletsAnalyticsTitle)?o=F.tabletsAnalyticsTitle:e===b&&(null==F?void 0:F.watchesAnalyticsTitle)&&(o=F.watchesAnalyticsTitle),k(x,O,{component:L,click_text:o}),We(e)})(l,i)},disabled:!(null==xe?void 0:xe[l])},i,o>0&&e.createElement("span",{className:t.tabCount},o))})),(Pe.selectedTab===b&&(null==F?void 0:F.watchesInfoBannerText)||Pe.selectedTab===E&&(null==F?void 0:F.tabletsInfoBannerText))&&e.createElement("div",{className:t.infoBanner},e.createElement("div",{className:t.infoBannerContent},e.createElement("img",{className:t.infoIcon,src:null===(se=null==F?void 0:F.esimIcon)||void 0===se?void 0:se.filename}),e.createElement("span",null,e.createElement("span",null,J(Pe.selectedTab===b?null==F?void 0:F.watchesInfoBannerText:null==F?void 0:F.tabletsInfoBannerText,[q(ze)])),e.createElement("span",{className:t.learnMoreText,onClick:()=>{k(x,R,{component:S,click_text:j}),Te(Pe.selectedTab)}},null==F?void 0:F.learnMoreText)))),Ie&&e.createElement(r,{content:{paymentHeadingText:null==F?void 0:F.paymentHeadingText,paymentOptions:null==F?void 0:F.paymentOptions,paymentTypeChngePopup:null===(ue=null==F?void 0:F.paymentTypeChngePopup)||void 0===ue?void 0:ue[0],paymentTypeChngePopupOnetime:null===(ce=null==F?void 0:F.paymentTypeChngePopupOnetime)||void 0===ce?void 0:ce[0]}}),ye&&!(null===(me=null==De?void 0:De[null==Pe?void 0:Pe.selectedTab])||void 0===me?void 0:me.length)?e.createElement(a,{cards:Je}):e.createElement(v,{content:F,tabIndex:1,checkingviewPort:Ge,isSubscriptionFlow:Ie})),he&&(()=>{var l,o,i,n,v,a,r,s,u,c,m,p,y,g,f;const h=(()=>{var e,l;return he===b?null===(e=null==F?void 0:F.watchesPopup)||void 0===e?void 0:e[0]:null===(l=null==F?void 0:F.tabletsPopup)||void 0===l?void 0:l[0]})();return k(x,D,{component:B,message_title:null===(a=null===(v=null===(n=null===(i=null===(o=null===(l=null==h?void 0:h.heading)||void 0===l?void 0:l.content)||void 0===o?void 0:o[0])||void 0===i?void 0:i.content)||void 0===n?void 0:n[0])||void 0===v?void 0:v.text)||void 0===a?void 0:a.slice(0,100),message_description:null===(p=null===(m=null===(c=null===(u=null===(s=null===(r=null==h?void 0:h.description)||void 0===r?void 0:r.content)||void 0===s?void 0:s[0])||void 0===u?void 0:u.content)||void 0===c?void 0:c[0])||void 0===m?void 0:m.text)||void 0===p?void 0:p.slice(0,100),message_type:N}),e.createElement(K,{modalState:!!he,handler:()=>Te(null),showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Ge||"desktop"===Ge||"tablet"===Ge?"624px":"",noCloseButton:!1,backDrop:!0},e.createElement("div",{className:t.watchInfoModal},(null==h?void 0:h.heading)&&e.createElement("div",{className:t.modalHeading},e.createElement(d,{content:h.heading})),(null==h?void 0:h.description)&&e.createElement("div",{className:t.modalDescription},e.createElement(d,{content:h.description})),e.createElement("div",{className:t.modalButtons},(null==h?void 0:h.link)&&e.createElement("a",{href:z(Ue,(null===(y=h.link)||void 0===y?void 0:y.cached_url)||(null===(g=h.link)||void 0===g?void 0:g.url)),target:"_blank",rel:"noopener noreferrer",className:t.factSheetLink},h.linkText),(null===(f=null==h?void 0:h.button)||void 0===f?void 0:f.length)>0&&e.createElement(Q,{content:h.button[0],onClick:()=>{k(x,M,{component:S,click_text:_}),Te(null)},metadata:void 0,wafIdentifier:""}))))})())},ee=l=>e.createElement(F,null,e.createElement(Z,Object.assign({},l)));export{ee as default};
2
2
  //# sourceMappingURL=MultiItemAccessoriesPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiItemAccessoriesPage.js","sources":["../../../../../src/components/Accessories/MultiItemAccessories/MultiItemAccessoriesPage.tsx"],"sourcesContent":["import React , { JSX } from 'react';\r\nimport ProgressionBar from '../ProgressionBar/progressionBar';\r\nimport { ComponentWithContentProps } from '../../types';\r\nimport Styles from './MultiItemAccessoriesPageStyle.module.scss';\r\nimport RichText from '../../richtext';\r\nimport { useEffect, useState, useRef } from 'react';\r\nimport AccessoryCard from '../Accessory-card/AccessoryCard';\r\nimport AccessoryPreviewCardLoader from '../AccessoryPreviewCardLoader/AccessoryPreviewCardLoader';\r\nimport PaymentTypeTabs from '../PaymentTypeTabs/PaymentTypeTabs';\r\nimport storyBlokService from '../../../services/MultiItemAccessories/storyBlokService';\r\nimport { getCookie } from 'cookies-next';\r\nimport { ACCESSORY, BASE, CONTRACT, HARDWARE, INTERNETFLOW, MOBILERATEPLAN, ONE_ECOMMERCE_HARDWARE_SUMMARY, TABLETS, TV, WATCHES } from '../../../utils/constants';\r\nimport Row from '../../ResponsiveRow/row';\r\nimport { MOBILEACCESSORIES, MONTHLY } from '../../../utils/constants';\r\nimport { setMmcItemTracker, trackNewDatalayerEvent, trackViewItem } from '../../..//utils/AnalyticsUtils';\r\nimport { CONTENT, CONTINUE, CTABUTTONCLICK, CTATEXTCLICK, GAEVENT, INFO, LEARNMORE, LINK, OPENPOPUP, POPUP, TABCLICK, VIEWEACHITEM } from '../../../Analytics/AnalyticsConstants';\r\nimport { useMultiAccessoryContext } from '../multiItemAccessoryStore/useMultiAccessoryContext';\r\nimport { useMultiAccessoryActions } from '../multiItemAccessoryStore/useMultiAccessoryActions';\r\nimport MultiAccessoryProvider from '../multiItemAccessoryStore/MultiAccessoryProvider';\r\nimport { MultiItemAccessoriesSchema } from './MultiItemAccessoriesSchema';\r\nimport { useMultiAccessoryUpdateCartActions } from '../multiItemAccessoryStore/useMultiAccessoryUpdateCartActions';\r\nimport Dotloader from '../../Dotloader/Dotloader';\r\nimport { countZero, getSBAssetUrl, replacePlaceholder, rp_lastcartItemWithParentPOType, viewport } from '../../../utils/utils';\r\nimport AccessoryModal from '../Accessory-card/AccessoryModal';\r\nimport FalconButtonV2 from '../../FalconButtonV2/FalconButtonV2';\r\nimport { AssetPathPropConfig } from '../../../services';\r\nimport AccessoryUpdateCartDotloader from '../AccessoryUpdateCartDotloader/AccessoryUpdateCartDotloader';\r\n\r\n// Export the schema for backward compatibility\r\n// export type { MultiItemAccessoriesSchema } from './MultiItemAccessoriesSchema';\r\n\r\n// Extended props interface to include setAccessoriesSelected as a separate prop\r\nexport interface MultiItemAccessoriesProps extends ComponentWithContentProps<MultiItemAccessoriesSchema> {\r\n setAccessoriesSelected?: (accessories: any[]) => void;\r\n}\r\n\r\n// eslint-disable-next-line max-lines-per-function\r\nconst MultiItemAccessories = ({ content, metadata }: MultiItemAccessoriesProps): JSX.Element => {\r\n const activelocaleId: string | undefined = metadata?.lang;\r\n const [deviceLoader, setDeviceLoader] = useState<boolean>(false);\r\n const [isMounted, setIsMounted] = useState<boolean>(false);\r\n const [showInfoModal, setShowInfoModal] = useState<string | null>(null); // 'WATCHES' or 'TABLETS' or null\r\n const cartId = getCookie('one-commerce-cartId');\r\n const [hardwareName, setHardwareName] = useState('');\r\n const [isSubscriptionFlow, setIsSubscriptionFlow] = useState<boolean>(false);\r\n // useRef: read sessionStorage once client-side — synchronously available everywhere,\r\n // avoids SSR hydration mismatch and async state-update timing issues\r\n const hardwareSessionObjRef = useRef<any>({});\r\n const { store, dispatch } = useMultiAccessoryContext();\r\n const actions = useMultiAccessoryActions(dispatch);\r\n const cartActions = useMultiAccessoryUpdateCartActions();\r\n const { recommendedAccessories, isFetchingRecommendedAccessories, deviceSessionValues, multiItemAccessoriessList, loading, isLoadingCartData , cartData, previousTab } = store;\r\n // Todo Get the correct data based on selected tab - for ACCESSORY use direct data, for others use hardwares property\r\n const selectedTabData = recommendedAccessories?.[store?.selectedTab]?.hardware;\r\n const basicConfigUrl = AssetPathPropConfig?.getInstance()?.getAssetPath();\r\n // Helper function to get modal popup content based on tab type\r\n const getModalContent = () => {\r\n return showInfoModal === WATCHES ? content?.watchesPopup?.[0] : content?.tabletsPopup?.[0];\r\n };\r\n \r\n const sbRecommendations: any[] = content?.recommendationType;\r\n // Create recommendationType object based on filteredSbRecommendations\r\n const recommendationType: any = {};\r\n \r\n // Single effect: read sessionStorage first, then kick off all init logic\r\nuseEffect(() => {\r\n setIsMounted(true);\r\n // Read sessionStorage client-side only to avoid SSR/hydration mismatch\r\n const sessionStr = sessionStorage?.getItem(ONE_ECOMMERCE_HARDWARE_SUMMARY);\r\n const sessionObj = sessionStr ? JSON.parse(sessionStr) : {};\r\n // Store in ref for synchronous access throughout the component lifecycle\r\n hardwareSessionObjRef.current = sessionObj;\r\n const deviceSessionValue = { ...sessionObj, cartId: cartId };\r\n actions.setDeviceSessionValues(deviceSessionValue);\r\n actions?.setSelectedTab(content?.defaultTabSelection);\r\n setHardwareName(sessionObj?.hardwareVariant?.note?.filter((item: any) => item.author === 'hardwareGroupName')?.[0]?.text);\r\n // Kick off TUA data load after session is ready\r\n setDeviceLoader(true);\r\n if (cartId) {\r\n fetchandSetRecommendations(undefined, sessionObj);\r\n }\r\n}, []);\r\n\r\n const fetchandSetRecommendations = (tabKey?: any, sessionObj?: any) => {\r\n // Use passed sessionObj (on initial load) or fall back to ref (on tab switch)\r\n const currentSessionObj = sessionObj ?? hardwareSessionObjRef.current;\r\n if (tabKey) {\r\n actions.setPreviousTab(store?.selectedTab); // Update previousTab in store before changing tab\r\n actions.setSelectedTab(tabKey);\r\n }\r\n if (tabKey) {\r\n if((recommendedAccessories?.[tabKey]?.hardware || [])?.length <= 0)\r\n {\r\n setDeviceLoader(true);\r\n actions.getRecommendedAccessory({ cartId, recommendationsType: tabKey });\r\n }\r\n if (loading) return; // Prevent new API calls if one is already running\r\n } else {\r\n cartActions.fetchCartData(cartId).then((res: any) => {\r\n const cartRecommendationsType = res?.cartRecommendationsType ?? [content?.defaultTabSelection];\r\n const selectedContractType = currentSessionObj?.hardwareVariant?.selectedContractType;\r\n const structuredCartData = rp_lastcartItemWithParentPOType(res?.cartItem ?? [],{},{},{});\r\n const subscriptionFlow = !(structuredCartData?.MOBILE_ORDER?.HARDWARE || structuredCartData?.STANDALONE_HARDWARE);\r\n setIsSubscriptionFlow(subscriptionFlow)\r\n const contractTerm = Number.parseFloat(structuredCartData?.MOBILE_ORDER?.HARDWARE?.itemTerm?.[0]?.duration?.amount) || 0\r\n // Filter sbRecommendations based on contract type(only for monthly) and for new subcriptions\r\n const filteredSbRecommendations = (\r\n // selectedContractType === CONTRACT\r\n contractTerm > 0\r\n && ((res?.cartItem?.[0]?.processType?.id === \"DEVICE_RENEWAL\" || res?.cartItem?.[0]?.processType?.id === \"DEVICE_RP_RENEWAL\") ? content?.enableExistingSubscription : true))\r\n ? sbRecommendations?.filter((item: string) => cartRecommendationsType.includes(item))\r\n : sbRecommendations?.filter((item: string) => item === ACCESSORY && cartRecommendationsType.includes(item));\r\n filteredSbRecommendations?.forEach((type: string) => {\r\n recommendationType[type] = [];\r\n });\r\n // Store recommendationType in state or ref if needed elsewhere\r\n actions.setRecommendedAccessories(recommendationType);\r\n const defaultTab = \r\n selectedContractType === CONTRACT ? filteredSbRecommendations?.includes(content?.defaultTabSelection) \r\n ? content?.defaultTabSelection \r\n : filteredSbRecommendations[0] : ACCESSORY;\r\n actions?.setSelectedTab(defaultTab);\r\n actions.getRecommendedAccessory({ cartId, recommendationsType: tabKey ? tabKey : defaultTab});\r\n }).catch(() => {\r\n // Redirect to summary page if getCart fails, same as recommendations failure\r\n const localIsSubscriptionFlow = [MOBILERATEPLAN, INTERNETFLOW, TV]?.includes?.(selectedTabData?.[0]?.recommendationProcessingType) ? true : (currentSessionObj?.hardwareVariant ? false : true);\r\n if (typeof window !== \"undefined\") {\r\n window.location.href = localIsSubscriptionFlow ? content?.winCheckoutUrl?.cached_url : content?.multiItemCheckoutUrl?.url;\r\n }\r\n });\r\n }\r\n }\r\n // to map storyblok and api data in store\r\n useEffect(() => {\r\n if ((recommendedAccessories?.[recommendedAccessories?.tabkey]?.hardware?.length) > 0) {\r\n if (recommendedAccessories?.tabkey === ACCESSORY) {\r\n // mapping of accessories according to recommendation api response\r\n storyBlokService?.getStoryBlokData(\r\n activelocaleId,\r\n recommendedAccessories?.[recommendedAccessories?.tabkey]?.hardware?.map((value: any) => value?.baseProducts),\r\n content?.parentSlugUrl\r\n ).then((res: any) => {\r\n sbRecommendationMapping(res,recommendedAccessories?.tabkey);\r\n });\r\n } else {\r\n const masterlst = recommendedAccessories?.tabkey === WATCHES ? content?.watchMasterList?.[0]?.reference?.content :\r\n content?.tabletMasterList?.[0]?.reference?.content\r\n sbRecommendationMapping(masterlst,recommendedAccessories?.tabkey);\r\n }\r\n } else {\r\n // redirect to summary page if no accessories are returned from backend\r\n if ((!isFetchingRecommendedAccessories || !cartId) && !isLoadingCartData && typeof window !== \"undefined\") {\r\n window.location.href = isSubscriptionFlow ? content?.winCheckoutUrl?.cached_url : content?.multiItemCheckoutUrl?.url;\r\n }\r\n }\r\n }, [recommendedAccessories])\r\n\r\n const sbRecommendationMapping = (response: any,tabKey: any) => {\r\n const accessoryList = (recommendedAccessories?.[tabKey]?.hardware || [])\r\n ?.filter((item: any) =>\r\n deviceSessionValues?.hardwareVariant?.selectedContractType === CONTRACT\r\n ? item?.recurringPrice?.monthlyInstallment > 0\r\n : item\r\n )\r\n ?.reduce((acc: any, value: any, currentIndex: number) => {\r\n const deviceDetails = {\r\n image: '',\r\n type: MOBILEACCESSORIES\r\n };\r\n let accessoryMappingSb;\r\n if(tabKey === ACCESSORY)\r\n {\r\n accessoryMappingSb = \r\n response?.sbStory?.data?.stories?.filter((val: any) => value?.baseProducts === val?.content?.productId)?.[0];\r\n const requestedVariant = accessoryMappingSb?.content?.body?.[0]?.deviceList?.find((deviceVariant: any) => deviceVariant?.devicePlanId === value?.id);\r\n deviceDetails.image = requestedVariant?.promoImageGallery?.[0]?.slideImages?.[0]\r\n ? requestedVariant?.promoImageGallery?.[0]?.slideImages?.[0]?.image?.filename\r\n : requestedVariant?.imageGallery?.[0]?.slideImages?.[0]?.image?.filename;\r\n deviceDetails.type = value?.content?.type ?? MOBILEACCESSORIES;\r\n }\r\n else{\r\n accessoryMappingSb = response?.body?.filter((val: any) => value?.baseProducts === val?.m_p_id)?.[0];\r\n deviceDetails.image = accessoryMappingSb?.images?.[0]?.filename\r\n deviceDetails.type = value?.content?.type ?? MOBILEACCESSORIES;\r\n }\r\n if (accessoryMappingSb) {\r\n acc.push({ sbStoryItem: accessoryMappingSb, imageData: deviceDetails, recomApiResponse: value });\r\n trackViewItem(VIEWEACHITEM, VIEWEACHITEM, {\r\n displayName: value?.name,\r\n productId: value?.id,\r\n priceValue: value?.oneTimePrice?.base,\r\n index: currentIndex,\r\n variant: value?.variantCategory?.color,\r\n storage: value?.variantCategory?.storage,\r\n });\r\n }\r\n return acc;\r\n }, []);\r\n if (accessoryList?.length > 0 && (response?.sbStory?.data?.stories || response?.body)?.length > 0) {\r\n actions.setMultiItemAccessoriessList({...multiItemAccessoriessList, [tabKey]: accessoryList });\r\n } else {\r\n // redirect to summary page if no accessories is eligbile\r\n window.location.href = isSubscriptionFlow ? content?.winCheckoutUrl?.cached_url : content?.multiItemCheckoutUrl?.url\r\n }\r\n setDeviceLoader(false);\r\n trackViewItemList(accessoryList);\r\n }\r\n\r\n //select first payment option as default initially unless provided in recommendation api\r\n useEffect(() => {\r\n (multiItemAccessoriessList?.[store?.selectedTab] || [])?.filter((item: any) => {\r\n if (item?.recomApiResponse?.paymentType?.toLowerCase()) {\r\n actions.setSelectedPaymentType(item?.recomApiResponse?.paymentType.toLowerCase() === MONTHLY ? CONTRACT : BASE);\r\n }\r\n }\r\n )\r\n }, [multiItemAccessoriessList]);\r\n\r\n const checkingviewPort = viewport();\r\n const findView = () => {\r\n //function to return no of cards in a row based on view\r\n if (checkingviewPort === 'large-desktop') {\r\n return 3;\r\n } else if (checkingviewPort === 'desktop') {\r\n return 3;\r\n } else if (checkingviewPort === 'tablet') {\r\n return 2;\r\n } else if (checkingviewPort === 'mobile') {\r\n return 1;\r\n }\r\n return 0;\r\n };\r\n const view: any = findView();\r\n\r\n // this is for structuring the event tracking data\r\n const trackViewItemList = (accessoryList: any) => {\r\n const itemList = accessoryList?.map((item: any, index: number) => {\r\n return ({\r\n displayName: item?.recomApiResponse?.name,\r\n productId: item?.recomApiResponse?.id,\r\n priceValue: item?.recomApiResponse?.oneTimePrice?.base,\r\n index: index,\r\n variant: item?.recomApiResponse?.variantCategory?.color,\r\n storage: item?.recomApiResponse?.variantCategory?.storage,\r\n })\r\n })\r\n setMmcItemTracker(itemList);\r\n }\r\n\r\n // Todod tab title should always be in english\r\n const handleTabClick = (tabKey: string, tabTitle: string) => {\r\n // Determine analytics tab title based on selection and Storyblok content\r\n let analyticsTabTitle = tabTitle;\r\n if (tabKey === ACCESSORY && content?.accessoryAnalyticsTitle) {\r\n analyticsTabTitle = content.accessoryAnalyticsTitle;\r\n } else if (tabKey === TABLETS && content?.tabletsAnalyticsTitle) {\r\n analyticsTabTitle = content.tabletsAnalyticsTitle;\r\n } else if (tabKey === WATCHES && content?.watchesAnalyticsTitle) {\r\n analyticsTabTitle = content.watchesAnalyticsTitle;\r\n } \r\n trackNewDatalayerEvent(GAEVENT, TABCLICK, {\r\n component: CONTENT,\r\n click_text: analyticsTabTitle\r\n });\r\n fetchandSetRecommendations(tabKey);\r\n };\r\n\r\n return (\r\n <>\r\n {loading && (store?.selectedTab === previousTab ? <Dotloader /> : <AccessoryUpdateCartDotloader content={content} />)}\r\n {/* Only render the main page container when mounted client-side and data is loading/ready */}\r\n {(isMounted && content && (multiItemAccessoriessList?.[store?.selectedTab]?.length > 0 || deviceLoader)) && (\r\n <div className={`${Styles.mainPage}`}>\r\n {content?.progressionBar?.[0] && (\r\n <ProgressionBar\r\n content={content?.progressionBar?.[0]}\r\n />\r\n )}\r\n <Row>\r\n <div>\r\n <div className={`${Styles.title}`}>\r\n <RichText content={content?.recommendationLabel} />\r\n </div>\r\n {Object.keys(recommendedAccessories || {}).filter((key: string) => sbRecommendations?.includes(key)).length <= 1 && !isSubscriptionFlow && (\r\n <div className={`${Styles.deviceText}`}>\r\n {content?.compatibleText}\r\n <span className={Styles.deviceName}>{hardwareName}</span>\r\n </div>\r\n )}\r\n </div>\r\n </Row>\r\n {/* Tabs based on recommendedAccessories, ordered by recommendationType from Storyblok */}\r\n {(Object.keys(recommendedAccessories || {}).filter((key: string) => sbRecommendations?.includes(key)).length > 1) && (\r\n <div className={Styles.tabsContainer}>\r\n {(content?.recommendationType || [])\r\n ?.filter((tabKey: string) => recommendedAccessories?.[tabKey])\r\n ?.map((tabKey: string) => {\r\n // Count from cartData (real-time source of truth)\r\n const totalCount = Object.keys(cartData?.[tabKey] || {}).length;\r\n\r\n // Get tab title from Storyblok content\r\n const tabTitle = tabKey === ACCESSORY ? content?.accessoryTitle\r\n : tabKey === WATCHES ? content?.watchesTitle\r\n : tabKey === TABLETS ? content?.tabletsTitle\r\n : tabKey;\r\n return (\r\n <button\r\n key={tabKey}\r\n className={`${Styles.tabButton} ${store.selectedTab === tabKey ? Styles.activeTab : ''}`}\r\n onClick={() => {\r\n if (store.selectedTab !== tabKey) {\r\n handleTabClick(tabKey, tabTitle);\r\n }\r\n }}\r\n disabled={!recommendedAccessories?.[tabKey]}\r\n >\r\n {tabTitle}\r\n {totalCount > 0 && (\r\n <span className={Styles.tabCount}>\r\n {totalCount}\r\n </span>\r\n )}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n )}\r\n {/* Information banner below tabs - for Smartwatches and Tablets */}\r\n {((store.selectedTab === WATCHES && content?.watchesInfoBannerText) || \r\n (store.selectedTab === TABLETS && content?.tabletsInfoBannerText)) && (\r\n <div className={Styles.infoBanner}>\r\n <div className={Styles.infoBannerContent}>\r\n <img className={Styles.infoIcon} src={content?.esimIcon?.filename} />\r\n <span>\r\n <span>\r\n {replacePlaceholder(\r\n store.selectedTab === WATCHES ? content?.watchesInfoBannerText : content?.tabletsInfoBannerText,\r\n [countZero(recommendedAccessories?.[store?.selectedTab]?.ratePlan?.derivedPrice) ?? countZero(recommendedAccessories?.[store?.selectedTab]?.ratePlan?.listPrice)]\r\n )}\r\n </span>\r\n <span className={Styles.learnMoreText} onClick={() => {\r\n trackNewDatalayerEvent(GAEVENT, CTATEXTCLICK, {\r\n component: LINK,\r\n click_text: LEARNMORE\r\n });\r\n setShowInfoModal(store.selectedTab);\r\n }}>\r\n {content?.learnMoreText}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n )}\r\n\r\n\r\n {isSubscriptionFlow && (\r\n <PaymentTypeTabs\r\n content={{\r\n paymentHeadingText: content?.paymentHeadingText,\r\n paymentOptions: content?.paymentOptions,\r\n paymentTypeChngePopup: content?.paymentTypeChngePopup?.[0],\r\n paymentTypeChngePopupOnetime: content?.paymentTypeChngePopupOnetime?.[0],\r\n }}\r\n />\r\n )}\r\n {(deviceLoader && !multiItemAccessoriessList?.[store?.selectedTab]?.length) ? (\r\n <AccessoryPreviewCardLoader cards={view} />\r\n ) : (\r\n <AccessoryCard\r\n content={content}\r\n tabIndex={1}\r\n checkingviewPort={checkingviewPort}\r\n\t\t\t\t isSubscriptionFlow={isSubscriptionFlow}\r\n />\r\n )}\r\n </div>\r\n )}\r\n \r\n {/* Info Modal for Watches and Tablets */}\r\n {showInfoModal && (() => {\r\n const modalContent = getModalContent();\r\n trackNewDatalayerEvent(GAEVENT, OPENPOPUP, {\r\n component: POPUP,\r\n message_title: modalContent?.heading?.content?.[0]?.content?.[0]?.text?.slice(0, 100),\r\n message_description: modalContent?.description?.content?.[0]?.content?.[0]?.text?.slice(0, 100),\r\n message_type: INFO,\r\n });\r\n return (\r\n <AccessoryModal\r\n modalState={!!showInfoModal}\r\n handler={() => setShowInfoModal(null)}\r\n showFooter={false}\r\n height={'auto'}\r\n fixedWidth={(checkingviewPort === 'large-desktop' || checkingviewPort === 'desktop' || checkingviewPort === 'tablet') ? '624px' : ''}\r\n noCloseButton={false}\r\n backDrop={true}\r\n >\r\n <div className={Styles.watchInfoModal}>\r\n {modalContent?.heading && (\r\n <div className={Styles.modalHeading}>\r\n <RichText content={modalContent.heading} />\r\n </div>\r\n )}\r\n \r\n {modalContent?.description && (\r\n <div className={Styles.modalDescription}>\r\n <RichText content={modalContent.description} />\r\n </div>\r\n )}\r\n \r\n <div className={Styles.modalButtons}>\r\n {modalContent?.link && (\r\n <a \r\n href={getSBAssetUrl(basicConfigUrl, modalContent.link?.cached_url || modalContent.link?.url)} \r\n target=\"_blank\" \r\n rel=\"noopener noreferrer\"\r\n className={Styles.factSheetLink}\r\n >\r\n {modalContent.linkText}\r\n </a>\r\n )}\r\n \r\n {modalContent?.button?.length > 0 && (\r\n <FalconButtonV2\r\n content={modalContent.button[0]}\r\n onClick={() => {\r\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\r\n component: LINK,\r\n click_text: CONTINUE\r\n });\r\n setShowInfoModal(null)\r\n }}\r\n metadata={undefined}\r\n wafIdentifier={''}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </AccessoryModal>\r\n );\r\n })()}\r\n </>\r\n );\r\n}\r\n\r\n// HOC Pattern: Wrap the component with provider at export\r\nconst MultiItemAccessoriesWithProvider = (props: MultiItemAccessoriesProps) => (\r\n <MultiAccessoryProvider>\r\n <MultiItemAccessories {...props} />\r\n </MultiAccessoryProvider>\r\n);\r\n\r\nexport default MultiItemAccessoriesWithProvider;"],"names":["MultiItemAccessories","content","metadata","activelocaleId","lang","deviceLoader","setDeviceLoader","useState","isMounted","setIsMounted","showInfoModal","setShowInfoModal","cartId","getCookie","hardwareName","setHardwareName","isSubscriptionFlow","setIsSubscriptionFlow","hardwareSessionObjRef","useRef","store","dispatch","useMultiAccessoryContext","actions","useMultiAccessoryActions","cartActions","useMultiAccessoryUpdateCartActions","recommendedAccessories","isFetchingRecommendedAccessories","deviceSessionValues","multiItemAccessoriessList","loading","isLoadingCartData","cartData","previousTab","selectedTabData","_a","selectedTab","hardware","basicConfigUrl","_b","AssetPathPropConfig","getInstance","getAssetPath","sbRecommendations","recommendationType","useEffect","sessionStr","sessionStorage","getItem","ONE_ECOMMERCE_HARDWARE_SUMMARY","sessionObj","JSON","parse","current","deviceSessionValue","setDeviceSessionValues","setSelectedTab","defaultTabSelection","_d","_c","hardwareVariant","note","filter","item","author","text","fetchandSetRecommendations","undefined","tabKey","currentSessionObj","setPreviousTab","length","getRecommendedAccessory","recommendationsType","fetchCartData","then","res","cartRecommendationsType","selectedContractType","structuredCartData","rp_lastcartItemWithParentPOType","cartItem","subscriptionFlow","MOBILE_ORDER","HARDWARE","STANDALONE_HARDWARE","filteredSbRecommendations","Number","parseFloat","_j","_h","_g","_f","_e","itemTerm","duration","amount","_m","_l","_k","processType","id","_q","_p","_o","enableExistingSubscription","includes","ACCESSORY","forEach","type","setRecommendedAccessories","defaultTab","CONTRACT","catch","localIsSubscriptionFlow","MOBILERATEPLAN","INTERNETFLOW","TV","call","recommendationProcessingType","window","location","href","winCheckoutUrl","cached_url","multiItemCheckoutUrl","url","tabkey","storyBlokService","getStoryBlokData","map","value","baseProducts","parentSlugUrl","sbRecommendationMapping","masterlst","WATCHES","watchMasterList","reference","tabletMasterList","response","accessoryList","recurringPrice","monthlyInstallment","reduce","acc","currentIndex","deviceDetails","image","MOBILEACCESSORIES","accessoryMappingSb","sbStory","data","stories","val","productId","requestedVariant","body","deviceList","find","deviceVariant","devicePlanId","promoImageGallery","slideImages","_r","filename","_w","_v","_u","_t","imageGallery","_s","_y","_x","_0","_z","m_p_id","_2","_1","images","_4","_3","push","sbStoryItem","imageData","recomApiResponse","trackViewItem","VIEWEACHITEM","displayName","name","priceValue","_5","oneTimePrice","base","index","variant","_6","variantCategory","color","storage","_7","setMultiItemAccessoriessList","Object","assign","trackViewItemList","paymentType","toLowerCase","setSelectedPaymentType","MONTHLY","BASE","checkingviewPort","viewport","view","itemList","setMmcItemTracker","React","createElement","Fragment","Dotloader","AccessoryUpdateCartDotloader","className","Styles","mainPage","progressionBar","ProgressionBar","Row","title","RichText","recommendationLabel","keys","key","deviceText","compatibleText","deviceName","tabsContainer","totalCount","tabTitle","accessoryTitle","watchesTitle","TABLETS","tabletsTitle","tabButton","activeTab","onClick","analyticsTabTitle","accessoryAnalyticsTitle","tabletsAnalyticsTitle","watchesAnalyticsTitle","trackNewDatalayerEvent","GAEVENT","TABCLICK","component","CONTENT","click_text","handleTabClick","disabled","tabCount","watchesInfoBannerText","tabletsInfoBannerText","infoBanner","infoBannerContent","infoIcon","src","esimIcon","replacePlaceholder","countZero","ratePlan","derivedPrice","listPrice","learnMoreText","CTATEXTCLICK","LINK","LEARNMORE","PaymentTypeTabs","paymentHeadingText","paymentOptions","paymentTypeChngePopup","paymentTypeChngePopupOnetime","AccessoryPreviewCardLoader","cards","AccessoryCard","tabIndex","modalContent","watchesPopup","tabletsPopup","getModalContent","OPENPOPUP","POPUP","message_title","heading","slice","message_description","description","message_type","INFO","AccessoryModal","modalState","handler","showFooter","height","fixedWidth","noCloseButton","backDrop","watchInfoModal","modalHeading","modalDescription","modalButtons","link","getSBAssetUrl","target","rel","factSheetLink","linkText","button","FalconButtonV2","CTABUTTONCLICK","CONTINUE","wafIdentifier","MultiItemAccessoriesWithProvider","props","MultiAccessoryProvider"],"mappings":"otEAqCA,MAAMA,EAAuB,EAAGC,UAASC,mEACvC,MAAMC,GAAqCD,aAAQ,EAARA,EAAUE,MAC9CC,GAAcC,IAAmBC,GAAkB,IACnDC,GAAWC,IAAgBF,GAAkB,IAC7CG,GAAeC,IAAoBJ,EAAwB,MAC5DK,GAASC,EAAU,wBAClBC,GAAcC,IAAmBR,EAAS,KAC1CS,GAAoBC,IAAyBV,GAAkB,GAGhEW,GAAwBC,EAAY,KACpCC,MAAEA,GAAKC,SAAEA,IAAaC,IACtBC,GAAUC,EAAyBH,IACnCI,GAAcC,KACdC,uBAAEA,GAAsBC,iCAAEA,GAAgCC,oBAAEA,GAAmBC,0BAAEA,GAAyBC,QAAEA,GAAOC,kBAAEA,GAAiBC,SAAGA,GAAQC,YAAEA,IAAgBd,GAEnKe,GAA8D,QAA5CC,GAAAT,gBAAAA,GAAyBP,gBAAAA,GAAOiB,oBAAY,IAAAD,QAAA,EAAAA,GAAEE,SAChEC,GAAmD,QAAlCC,GAAAC,aAAmB,EAAnBA,EAAqBC,qBAAa,IAAAF,QAAA,EAAAA,GAAEG,eAMrDC,GAA2B3C,aAAO,EAAPA,EAAS4C,mBAEpCA,GAA0B,CAAA,EAGlCC,EAAU,iBACRrC,IAAa,GAEb,MAAMsC,EAA2B,OAAdC,qBAAc,IAAdA,oBAAc,EAAdA,eAAgBC,QAAQC,GACrCC,EAAaJ,EAAaK,KAAKC,MAAMN,GAAc,CAAA,EAEzD7B,GAAsBoC,QAAUH,EAChC,MAAMI,iCAA0BJ,GAAU,CAAEvC,OAAQA,KACpDW,GAAQiC,uBAAuBD,GAC/BhC,UAAAA,GAASkC,eAAexD,aAAO,EAAPA,EAASyD,qBACjC3C,GAAkH,QAAlG4C,UAAAC,UAAApB,EAA2B,UAA3BW,aAAU,EAAVA,EAAYU,uBAAe,IAAAzB,OAAA,EAAAA,EAAE0B,2BAAMC,OAAQC,GAA8B,sBAAhBA,EAAKC,8BAAkC,UAAE,IAAAN,OAAA,EAAAA,EAAEO,MAEpH5D,IAAgB,GACZM,IACFuD,QAA2BC,EAAWjB,IAEvC,IAED,MAAMgB,GAA6B,CAACE,EAAclB,aAEhD,MAAMmB,EAAoBnB,QAAAA,EAAcjC,GAAsBoC,QAK9D,GAJIe,IACF9C,GAAQgD,eAAenD,cAAK,EAALA,GAAOiB,aAC9Bd,GAAQkC,eAAeY,IAErBA,GAMJ,eALsC,UAAhC1C,cAAsB,EAAtBA,GAAyB0C,UAAO,IAAAjC,OAAA,EAAAA,EAAEE,WAAY,yBAAKkC,SAAU,IAEjElE,IAAgB,GAChBiB,GAAQkD,wBAAwB,CAAE7D,UAAQ8D,oBAAqBL,KAE7DtC,GAAS,YAEXN,GAAYkD,cAAc/D,IAAQgE,KAAMC,sCACtC,MAAMC,UAA0B1C,EAAAyC,aAAG,EAAHA,EAAKC,uCAA2B,CAAC7E,aAAO,EAAPA,EAASyD,qBACpEqB,EAAyD,QAAlCvC,EAAA8B,aAAiB,EAAjBA,EAAmBT,uBAAe,IAAArB,OAAA,EAAAA,EAAEuC,qBAC3DC,EAAqBC,EAA6C,UAAbJ,aAAG,EAAHA,EAAKK,gBAAQ,IAAAtB,EAAAA,EAAI,GAAG,CAAA,EAAG,CAAA,EAAG,IAC/EuB,KAAqD,UAAhCH,aAAkB,EAAlBA,EAAoBI,oBAAY,IAAAzB,OAAA,EAAAA,EAAE0B,YAAYL,aAAkB,EAAlBA,EAAoBM,sBAC7FrE,GAAsBkE,GACtB,MAEMI,GAFgBC,OAAOC,WAA8E,QAAnEC,EAAyD,QAAzDC,UAAAC,EAA0C,QAA1CC,EAAgC,QAAhCC,EAAAd,aAAkB,EAAlBA,EAAoBI,oBAAY,IAAAU,OAAA,EAAAA,EAAET,gBAAQ,IAAAQ,OAAA,EAAAA,EAAEE,+BAAW,UAAE,IAAAJ,OAAA,EAAAA,EAAEK,gBAAQ,IAAAN,OAAA,EAAAA,EAAEO,SAAW,GAIvG,IAC+B,oBAAT,QAA/BC,EAAkB,QAAlBC,EAAa,QAAbC,EAAAvB,aAAG,EAAHA,EAAKK,gBAAQ,IAAAkB,OAAA,EAAAA,EAAG,UAAE,IAAAD,OAAA,EAAAA,EAAEE,mBAAW,IAAAH,OAAA,EAAAA,EAAEI,KAAmE,uBAAT,QAA/BC,EAAkB,QAAlBC,EAAa,QAAbC,EAAA5B,eAAAA,EAAKK,gBAAQ,IAAAuB,OAAA,EAAAA,EAAG,UAAE,IAAAD,OAAA,EAAAA,EAAEH,mBAAW,IAAAE,OAAA,EAAAA,EAAED,MAA8BrG,aAAO,EAAPA,EAASyG,6BACxI9D,gBAAAA,GAAmBmB,OAAQC,GAAiBc,EAAwB6B,SAAS3C,IAC7EpB,cAAiB,EAAjBA,GAAmBmB,OAAQC,GAAiBA,IAAS4C,GAAa9B,EAAwB6B,SAAS3C,IACvGuB,SAAAA,EAA2BsB,QAASC,IAClCjE,GAAmBiE,GAAQ,KAG7BvF,GAAQwF,0BAA0BlE,IAClC,MAAMmE,EACJjC,IAAyBkC,GAAW1B,eAAAA,EAA2BoB,SAAS1G,aAAO,EAAPA,EAASyD,sBAC7EzD,aAAO,EAAPA,EAASyD,oBACT6B,EAA0B,GAAKqB,EACrCrF,UAAAA,GAASkC,eAAeuD,GACxBzF,GAAQkD,wBAAwB,CAAE7D,UAAQ8D,oBAAqBL,GAAkB2C,MAChFE,MAAM,mBAEP,MAAMC,KAAsE,QAA5C3E,UAAAJ,EAAA,CAACgF,EAAgBC,EAAcC,yBAAKX,gBAAQ,IAAAnE,OAAA,EAAAA,EAAA+E,KAAAnF,EAAuB,QAApBwB,EAAAzB,gBAAAA,GAAkB,UAAE,IAAAyB,OAAA,EAAAA,EAAE4D,kCAAwClD,aAAiB,EAAjBA,EAAmBT,iBAC1I,oBAAX4D,SACTA,OAAOC,SAASC,KAAOR,EAAiD,QAAvBxD,EAAA1D,eAAAA,EAAS2H,sBAAc,IAAAjE,OAAA,EAAAA,EAAEkE,WAA0C,UAA7B5H,aAAO,EAAPA,EAAS6H,4BAAoB,IAAAhC,OAAA,EAAAA,EAAEiC,QAM9HjF,EAAU,iCACR,IAAuE,QAAlEN,EAAwD,QAAxDJ,EAAAT,cAAsB,EAAtBA,GAAyBA,gBAAAA,GAAwBqG,eAAO,IAAA5F,OAAA,EAAAA,EAAEE,gBAAQ,IAAAE,OAAA,EAAAA,EAAEgC,QAAU,EACjF,IAAI7C,cAAsB,EAAtBA,GAAwBqG,UAAWpB,EAErCqB,SAAAA,EAAkBC,iBAChB/H,GACkE,QAAlEwD,EAAwD,QAAxDC,EAAAjC,cAAsB,EAAtBA,GAAyBA,cAAsB,EAAtBA,GAAwBqG,eAAO,IAAApE,OAAA,EAAAA,EAAEtB,gBAAQ,IAAAqB,OAAA,EAAAA,EAAEwE,IAAKC,GAAeA,aAAK,EAALA,EAAOC,cAC/FpI,aAAO,EAAPA,EAASqI,eACT1D,KAAMC,IACN0D,GAAwB1D,EAAIlD,cAAsB,EAAtBA,GAAwBqG,cAEjD,CACL,MAAMQ,GAAY7G,cAAsB,EAAtBA,GAAwBqG,UAAWS,EAAkD,QAAxC7C,EAA6B,QAA7BC,EAAwB,QAAxBC,EAAA7F,aAAO,EAAPA,EAASyI,uBAAe,IAAA5C,OAAA,EAAAA,EAAG,UAAE,IAAAD,OAAA,EAAAA,EAAE8C,iBAAS,IAAA/C,OAAA,EAAAA,EAAE3F,QAChE,QAAzCmG,EAA8B,UAAL,QAAzBT,EAAA1F,eAAAA,EAAS2I,wBAAgB,IAAAjD,OAAA,EAAAA,EAAG,UAAE,IAAAD,OAAA,EAAAA,EAAEiD,iBAAS,IAAAvC,OAAA,EAAAA,EAAEnG,QAC3CsI,GAAwBC,EAAU7G,cAAsB,EAAtBA,GAAwBqG,OAC5D,MAGMpG,IAAqChB,IAAYoB,IAAuC,oBAAXyF,SACjFA,OAAOC,SAASC,KAAO3G,GAA4C,QAAvBmF,EAAAlG,eAAAA,EAAS2H,sBAAc,IAAAzB,OAAA,EAAAA,EAAE0B,WAA0C,UAA7B5H,aAAO,EAAPA,EAAS6H,4BAAoB,IAAA5B,OAAA,EAAAA,EAAE6B,MAGpH,CAACpG,KAEJ,MAAM4G,GAA0B,CAACM,EAAcxE,yBAC7C,MAAMyE,EAKH,QALmBlF,EAAkD,QAAlDpB,GAAiC,QAAhCJ,EAAAT,cAAsB,EAAtBA,GAAyB0C,UAAO,IAAAjC,OAAA,EAAAA,EAAEE,WAAY,UAAG,IAAAE,OAAA,EAAAA,EACpEuB,OAAQC,YACR,OAAoC,QAApC5B,EAAAP,cAAmB,EAAnBA,GAAqBgC,uBAAe,IAAAzB,OAAA,EAAAA,EAAE2C,wBAAyBkC,GACvC,QAApBzE,EAAAwB,aAAI,EAAJA,EAAM+E,sBAAc,IAAAvG,OAAA,EAAAA,EAAEwG,oBAAqB,EAC3ChF,WACL,IAAAJ,OAAA,EAAAA,EACCqF,OAAO,CAACC,EAAUd,EAAYe,yEAC9B,MAAMC,EAAgB,CACpBC,MAAO,GACPvC,KAAMwC,GAER,IAAIC,EACJ,GAAGlF,IAAWuC,EACd,CACA2C,EACuG,QAAvG5F,UAAAC,EAAuB,UAAN,QAAjBxB,EAAAyG,aAAQ,EAARA,EAAUW,eAAO,IAAApH,OAAA,EAAAA,EAAEqH,YAAI,IAAAjH,OAAA,EAAAA,EAAEkH,8BAAS3F,OAAQ4F,IAAY,IAAAvH,EAAC,OAAAgG,eAAAA,EAAOC,iBAA6B,QAAZjG,EAAAuH,aAAG,EAAHA,EAAK1J,eAAO,IAAAmC,OAAA,EAAAA,EAAEwH,oBAAU,IAAAjG,OAAA,EAAAA,EAAG,GAC1G,MAAMkG,EAAqE,QAAlDlE,EAAsC,QAAtCC,EAAiC,kBAAjCE,EAAAyD,aAAkB,EAAlBA,EAAoBtJ,8BAAS6J,YAAI,IAAAjE,OAAA,EAAAA,EAAG,UAAE,IAAAD,OAAA,EAAAA,EAAEmE,kBAAU,IAAApE,OAAA,EAAAA,EAAEqE,KAAMC,IAAuBA,eAAAA,EAAeC,iBAAiB9B,aAAK,EAALA,EAAO9B,KACjJ8C,EAAcC,OAA6D,UAAb,QAAxCjD,EAAmC,QAAnCV,EAAAmE,eAAAA,EAAkBM,yBAAiB,IAAAzE,OAAA,EAAAA,EAAG,UAAE,IAAAU,OAAA,EAAAA,EAAEgE,mBAAW,IAAAjE,OAAA,EAAAA,EAAG,IACT,QAAjEkE,EAA0D,QAA1D9D,EAAqD,QAArDC,EAAwC,QAAxCC,EAAmC,UAAnCoD,aAAgB,EAAhBA,EAAkBM,yBAAiB,IAAAjE,OAAA,EAAAA,EAAG,UAAE,IAAAO,OAAA,EAAAA,EAAE2D,mBAAW,IAAA5D,OAAA,EAAAA,EAAG,UAAE,IAAAD,OAAA,EAAAA,EAAE8C,aAAK,IAAAgB,OAAA,EAAAA,EAAEC,SACP,QAA5DC,EAAqD,QAArDC,EAAgD,QAAhDC,EAAmC,QAAnCC,EAA8B,UAA9Bb,aAAgB,EAAhBA,EAAkBc,oBAAY,IAAAC,OAAA,EAAAA,EAAG,UAAE,IAAAF,OAAA,EAAAA,EAAEN,mBAAW,IAAAK,OAAA,EAAAA,EAAG,UAAE,IAAAD,OAAA,EAAAA,EAAEnB,aAAK,IAAAkB,OAAA,EAAAA,EAAED,SAClElB,EAActC,KAA2B,QAApB+D,EAAc,QAAdC,EAAA1C,aAAK,EAALA,EAAOnI,eAAO,IAAA6K,OAAA,EAAAA,EAAEhE,YAAI,IAAA+D,EAAAA,EAAIvB,CAC7C,MAEEC,EAA8F,QAAzEwB,UAAAC,EAAAnC,aAAQ,EAARA,EAAUiB,2BAAM/F,OAAQ4F,IAAavB,aAAK,EAALA,EAAOC,iBAAiBsB,aAAG,EAAHA,EAAKsB,gBAAO,IAAAF,OAAA,EAAAA,EAAG,GACjG3B,EAAcC,MAAuC,QAA/B6B,EAA0B,QAA1BC,EAAA5B,aAAkB,EAAlBA,EAAoB6B,cAAM,IAAAD,OAAA,EAAAA,EAAG,UAAE,IAAAD,OAAA,EAAAA,EAAEZ,SACvDlB,EAActC,KAA2B,QAApBuE,EAAc,QAAdC,EAAAlD,aAAK,EAALA,EAAOnI,eAAO,IAAAqL,OAAA,EAAAA,EAAExE,YAAI,IAAAuE,EAAAA,EAAI/B,EAa/C,OAXIC,IACFL,EAAIqC,KAAK,CAAEC,YAAajC,EAAoBkC,UAAWrC,EAAesC,iBAAkBtD,IACxFuD,EAAcC,EAAcA,EAAc,CACxCC,YAAazD,aAAK,EAALA,EAAO0D,KACpBlC,UAAWxB,aAAK,EAALA,EAAO9B,GAClByF,WAA+B,QAAnBC,EAAA5D,eAAAA,EAAO6D,oBAAY,IAAAD,OAAA,EAAAA,EAAEE,KACjCC,MAAOhD,EACPiD,QAA+B,QAAtBC,EAAAjE,eAAAA,EAAOkE,uBAAe,IAAAD,OAAA,EAAAA,EAAEE,MACjCC,QAA+B,QAAtBC,EAAArE,eAAAA,EAAOkE,uBAAe,IAAAG,OAAA,EAAAA,EAAED,WAG9BtD,GACN,KACDJ,aAAa,EAAbA,EAAetE,QAAS,IAAyD,WAA5B,kBAAvBb,EAAAkF,aAAQ,EAARA,EAAUW,8BAASC,YAAI,IAAA3D,OAAA,EAAAA,EAAE4D,WAAWb,aAAQ,EAARA,EAAUiB,aAAK,IAAAjE,OAAA,EAAAA,EAAErB,QAAS,EAC9FjD,GAAQmL,6BAA4BC,OAAAC,OAAAD,OAAAC,OAAA,GAAK9K,IAAyB,CAAEuC,CAACA,GAASyE,KAG9ErB,OAAOC,SAASC,KAAO3G,GAA4C,QAAvB4E,EAAA3F,eAAAA,EAAS2H,sBAAc,IAAAhC,OAAA,EAAAA,EAAEiC,WAA0C,UAA7B5H,aAAO,EAAPA,EAAS6H,4BAAoB,IAAAnC,OAAA,EAAAA,EAAEoC,IAEnHzH,IAAgB,GAChBuM,GAAkB/D,IAIpBhG,EAAU,WAC6C,QAAvDV,GAACN,gBAAAA,GAA4BV,cAAK,EAALA,GAAOiB,eAAgB,UAAG,IAAAD,GAAAA,EAAE2B,OAAQC,eACtB,QAAnCxB,UAAAJ,EAAA4B,aAAI,EAAJA,EAAM0H,uCAAkBoB,mBAAW,IAAAtK,OAAA,EAAAA,EAAEuK,gBACvCxL,GAAQyL,wBAA6C,QAAtBpJ,EAAAI,aAAI,EAAJA,EAAM0H,wBAAgB,IAAA9H,OAAA,EAAAA,EAAEkJ,YAAYC,iBAAkBE,EAAUhG,EAAWiG,MAI7G,CAACpL,KAEJ,MAAMqL,GAAmBC,IAcnBC,GAXqB,kBAArBF,IAE4B,YAArBA,GADF,EAGuB,WAArBA,GACF,EACuB,WAArBA,GACF,EAEF,EAKHN,GAAqB/D,IACzB,MAAMwE,EAAWxE,aAAa,EAAbA,EAAeX,IAAI,CAACnE,EAAWmI,yBAC9C,MAAA,CACEN,YAAmC,QAAtBzJ,EAAA4B,eAAAA,EAAM0H,wBAAgB,IAAAtJ,OAAA,EAAAA,EAAE0J,KACrClC,UAAiC,QAAtBpH,EAAAwB,eAAAA,EAAM0H,wBAAgB,IAAAlJ,OAAA,EAAAA,EAAE8D,GACnCyF,mBAAYpI,EAAsB,QAAtBC,EAAAI,aAAI,EAAJA,EAAM0H,wBAAgB,IAAA9H,OAAA,EAAAA,EAAEqI,mCAAcC,KAClDC,MAAOA,EACPC,gBAASvG,EAAsB,QAAtBC,EAAA9B,aAAI,EAAJA,EAAM0H,wBAAgB,IAAA5F,OAAA,EAAAA,EAAEwG,sCAAiBC,MAClDC,gBAAS7G,EAAsB,QAAtBC,EAAA5B,aAAI,EAAJA,EAAM0H,wBAAgB,IAAA9F,OAAA,EAAAA,EAAE0G,sCAAiBE,WAGtDe,EAAkBD,IAqBpB,OACEE,EAAAC,cAAAD,EAAAE,SAAA,KACG3L,MAAYX,cAAK,EAALA,GAAOiB,eAAgBH,GAAcsL,EAAAC,cAACE,EAAS,MAAMH,EAAAC,cAACG,EAA4B,CAAC3N,QAASA,KAEvGO,IAAaP,aAAY2D,GAAA9B,gBAAAA,GAA4BV,gBAAAA,GAAOiB,qCAAcmC,QAAS,GAAKnE,KAC1FmN,uBAAKK,UAAW,GAAGC,EAAOC,aACA,QAAvBpK,GAAA1D,aAAO,EAAPA,EAAS+N,sBAAc,IAAArK,QAAA,EAAAA,GAAG,KACzB6J,EAAAC,cAACQ,EAAc,CACjBhO,QAAgC,QAAvB6F,GAAA7F,aAAO,EAAPA,EAAS+N,sBAAc,IAAAlI,QAAA,EAAAA,GAAG,KAGnC0H,EAAAC,cAACS,EAAG,KACFV,EAAAC,cAAA,MAAA,KACFD,EAAAC,cAAA,MAAA,CAAKI,UAAW,GAAGC,EAAOK,SACxBX,EAAAC,cAACW,EAAQ,CAACnO,QAASA,aAAO,EAAPA,EAASoO,uBAE7B1B,OAAO2B,KAAK3M,IAA0B,CAAA,GAAIoC,OAAQwK,GAAgB3L,cAAiB,EAAjBA,GAAmB+D,SAAS4H,IAAM/J,QAAU,IAAMxD,IACnHwM,uBAAKK,UAAW,GAAGC,EAAOU,cACvBvO,aAAO,EAAPA,EAASwO,eACVjB,EAAAC,cAAA,OAAA,CAAMI,UAAWC,EAAOY,YAAa5N,OAMvC6L,OAAO2B,KAAK3M,IAA0B,CAAA,GAAIoC,OAAQwK,GAAgB3L,cAAiB,EAAjBA,GAAmB+D,SAAS4H,IAAM/J,OAAS,GAC3GgJ,EAAAC,cAAA,MAAA,CAAKI,UAAWC,EAAOa,eAEyC,WAD5B,QAAnC9I,IAAC5F,aAAO,EAAPA,EAAS4C,qBAAsB,UAAG,IAAAgD,QAAA,EAAAA,GAChC9B,OAAQM,GAAmB1C,gBAAAA,GAAyB0C,WAAQ,IAAAuB,QAAA,EAAAA,GAC5DuC,IAAK9D,IAEL,MAAMuK,EAAajC,OAAO2B,MAAKrM,gBAAAA,GAAWoC,KAAW,CAAA,GAAIG,OAGnDqK,EAAWxK,IAAWuC,EAAY3G,aAAO,EAAPA,EAAS6O,eAC7CzK,IAAWoE,EAAUxI,aAAO,EAAPA,EAAS8O,aAC9B1K,IAAW2K,EAAU/O,aAAO,EAAPA,EAASgP,aAC9B5K,EACJ,OACEmJ,EAAAC,cAAA,SAAA,CACEc,IAAKlK,EACLwJ,UAAW,GAAGC,EAAOoB,aAAa9N,GAAMiB,cAAgBgC,EAASyJ,EAAOqB,UAAY,KACpFC,QAAS,KACHhO,GAAMiB,cAAgBgC,GA5DvB,EAACA,EAAgBwK,KAEtC,IAAIQ,EAAoBR,EACpBxK,IAAWuC,IAAa3G,aAAO,EAAPA,EAASqP,yBACnCD,EAAoBpP,EAAQqP,wBACnBjL,IAAW2K,IAAW/O,aAAO,EAAPA,EAASsP,uBACxCF,EAAoBpP,EAAQsP,sBACnBlL,IAAWoE,IAAWxI,aAAO,EAAPA,EAASuP,yBACxCH,EAAoBpP,EAAQuP,uBAE9BC,EAAuBC,EAASC,EAAU,CACxCC,UAAWC,EACXC,WAAYT,IAEdlL,GAA2BE,IA+CP0L,CAAe1L,EAAQwK,IAG3BmB,WAAWrO,cAAsB,EAAtBA,GAAyB0C,KAEnCwK,EACAD,EAAa,GACdpB,EAAAC,cAAA,OAAA,CAAMI,UAAWC,EAAOmC,UACrBrB,QASZxN,GAAMiB,cAAgBoG,IAAWxI,aAAO,EAAPA,EAASiQ,wBAC1C9O,GAAMiB,cAAgB2M,IAAW/O,aAAO,EAAPA,EAASkQ,yBAC3C3C,uBAAKK,UAAWC,EAAOsC,YACrB5C,EAAAC,cAAA,MAAA,CAAKI,UAAWC,EAAOuC,mBACrB7C,EAAAC,cAAA,MAAA,CAAKI,UAAWC,EAAOwC,SAAUC,IAAsB,QAAjB5K,GAAA1F,aAAO,EAAPA,EAASuQ,gBAAQ,IAAA7K,QAAA,EAAAA,GAAE2E,WACvDkD,EAAAC,cAAA,OAAA,KACED,EAAAC,cAAA,OAAA,KACGgD,EACCrP,GAAMiB,cAAgBoG,EAAUxI,aAAO,EAAPA,EAASiQ,sBAAwBjQ,aAAO,EAAPA,EAASkQ,sBAC1E,CAAgF,QAA/EhK,GAAAuK,EAAgE,QAAtDtK,GAA4C,WAA5CzE,cAAsB,EAAtBA,GAAyBP,cAAK,EAALA,GAAOiB,oBAAY,IAAAqD,QAAA,EAAAA,GAAEiL,gBAAQ,IAAAvK,QAAA,EAAAA,GAAEwK,qBAAa,IAAAzK,GAAAA,GAAIuK,EAAgE,QAAtDjK,cAAA9E,cAAsB,EAAtBA,GAAyBP,gBAAAA,GAAOiB,qCAAcsO,gBAAQ,IAAAlK,QAAA,EAAAA,GAAEoK,cAG1JrD,EAAAC,cAAA,OAAA,CAAMI,UAAWC,EAAOgD,cAAe1B,QAAS,KAC9CK,EAAuBC,EAASqB,EAAc,CAC5CnB,UAAWoB,EACXlB,WAAYmB,IAEdtQ,GAAiBS,GAAMiB,eAEtBpC,aAAO,EAAPA,EAAS6Q,kBAQrB9P,IACCwM,EAAAC,cAACyD,EAAe,CACdjR,QAAS,CACPkR,mBAAoBlR,aAAO,EAAPA,EAASkR,mBAC7BC,eAAgBnR,aAAO,EAAPA,EAASmR,eACzBC,sBAAqD,QAA9B7K,GAAAvG,aAAO,EAAPA,EAASoR,6BAAqB,IAAA7K,QAAA,EAAAA,GAAG,GACxD8K,6BAAmE,QAArC/K,GAAAtG,aAAO,EAAPA,EAASqR,oCAA4B,IAAA/K,QAAA,EAAAA,GAAG,MAI1ElG,MAAgE,QAA/CgK,GAAAvI,cAAyB,EAAzBA,GAA4BV,cAAK,EAALA,GAAOiB,oBAAY,IAAAgI,QAAA,EAAAA,GAAE7F,QAClEgJ,EAAAC,cAAC8D,EAA0B,CAACC,MAAOnE,KAE/BG,EAAAC,cAACgE,EAAa,CACZxR,QAASA,EACTyR,SAAU,EACVvE,iBAAkBA,GACtBnM,mBAAoBA,MAOzBN,IAAiB,wCAChB,MAAMiR,EApUY,cACtB,OAAOjR,KAAkB+H,EAA+B,QAArBrG,EAAAnC,aAAO,EAAPA,EAAS2R,oBAAY,IAAAxP,OAAA,EAAAA,EAAG,GAA0B,QAArBI,EAAAvC,aAAO,EAAPA,EAAS4R,oBAAY,IAAArP,OAAA,EAAAA,EAAG,IAmU/DsP,GAOrB,OANArC,EAAuBC,EAASqC,EAAW,CACzCnC,UAAWoC,EACXC,cAAsE,QAAvDpM,EAAiD,QAAjDC,EAA4C,QAA5CnC,EAAmC,UAAL,QAA9BnB,EAAqB,QAArBJ,EAAAuP,aAAY,EAAZA,EAAcO,eAAO,IAAA9P,OAAA,EAAAA,EAAEnC,eAAO,IAAAuC,OAAA,EAAAA,EAAG,UAAE,IAAAoB,OAAA,EAAAA,EAAE3D,eAAO,IAAA0D,OAAA,EAAAA,EAAG,UAAE,IAAAmC,OAAA,EAAAA,EAAE5B,YAAI,IAAA2B,OAAA,EAAAA,EAAEsM,MAAM,EAAG,KACjFC,oBAAgF,QAA3DlM,EAAqD,QAArDC,EAAgD,QAAhDC,EAAuC,UAAL,QAAlCT,EAAyB,QAAzBC,EAAA+L,aAAY,EAAZA,EAAcU,mBAAW,IAAAzM,OAAA,EAAAA,EAAE3F,eAAO,IAAA0F,OAAA,EAAAA,EAAG,UAAE,IAAAD,OAAA,EAAAA,EAAEzF,eAAO,IAAAmG,OAAA,EAAAA,EAAG,UAAE,IAAAD,OAAA,EAAAA,EAAEjC,YAAI,IAAAgC,OAAA,EAAAA,EAAEiM,MAAM,EAAG,KAC3FG,aAAcC,IAGd/E,EAAAC,cAAC+E,EAAc,CACbC,aAAc/R,GACdgS,QAAS,IAAM/R,GAAiB,MAChCgS,YAAY,EACZC,OAAQ,OACRC,WAAkC,kBAArB1F,IAA6D,YAArBA,IAAuD,WAArBA,GAAiC,QAAU,GAClI2F,eAAe,EACfC,UAAU,GAEVvF,EAAAC,cAAA,MAAA,CAAKI,UAAWC,EAAOkF,iBACpBrB,aAAY,EAAZA,EAAcO,UACb1E,EAAAC,cAAA,MAAA,CAAKI,UAAWC,EAAOmF,cACrBzF,EAAAC,cAACW,GAASnO,QAAS0R,EAAaO,YAInCP,aAAY,EAAZA,EAAcU,cACb7E,EAAAC,cAAA,MAAA,CAAKI,UAAWC,EAAOoF,kBACrB1F,EAAAC,cAACW,GAASnO,QAAS0R,EAAaU,eAIpC7E,EAAAC,cAAA,MAAA,CAAKI,UAAWC,EAAOqF,eACpBxB,aAAY,EAAZA,EAAcyB,OACb5F,EAAAC,cAAA,IAAA,CACE9F,KAAM0L,EAAc9Q,IAAiC,QAAjBkE,EAAAkL,EAAayB,YAAI,IAAA3M,OAAA,EAAAA,EAAEoB,cAA+B,QAAjBrB,EAAAmL,EAAayB,YAAI,IAAA5M,OAAA,EAAAA,EAAEuB,MACxFuL,OAAO,SACPC,IAAI,sBACJ1F,UAAWC,EAAO0F,eAEjB7B,EAAa8B,WAIG,QAApBlN,EAAAoL,aAAY,EAAZA,EAAc+B,cAAM,IAAAnN,OAAA,EAAAA,EAAE/B,QAAS,GAC9BgJ,EAAAC,cAACkG,EAAc,CACb1T,QAAS0R,EAAa+B,OAAO,GAC7BtE,QAAS,KACPK,EAAuBC,EAASkE,EAAgB,CAC9ChE,UAAWoB,EACXlB,WAAY+D,IAEdlT,GAAiB,OAEnBT,cAAUkE,EACV0P,cAAe,OAO5B,EA7DiB,KAmElBC,GAAoCC,GACxCxG,EAAAC,cAACwG,EAAsB,KACrBzG,EAAAC,cAACzN,EAAoB2M,OAAAC,OAAA,CAAA,EAAKoH"}
1
+ {"version":3,"file":"MultiItemAccessoriesPage.js","sources":["../../../../../src/components/Accessories/MultiItemAccessories/MultiItemAccessoriesPage.tsx"],"sourcesContent":["import React , { JSX } from 'react';\r\nimport ProgressionBar from '../ProgressionBar/progressionBar';\r\nimport { ComponentWithContentProps } from '../../types';\r\nimport Styles from './MultiItemAccessoriesPageStyle.module.scss';\r\nimport RichText from '../../richtext';\r\nimport { useEffect, useState, useRef } from 'react';\r\nimport AccessoryCard from '../Accessory-card/AccessoryCard';\r\nimport AccessoryPreviewCardLoader from '../AccessoryPreviewCardLoader/AccessoryPreviewCardLoader';\r\nimport PaymentTypeTabs from '../PaymentTypeTabs/PaymentTypeTabs';\r\nimport storyBlokService from '../../../services/MultiItemAccessories/storyBlokService';\r\nimport { getCookie } from 'cookies-next';\r\nimport { ACCESSORY, BASE, CONTRACT, HARDWARE, INTERNETFLOW, MOBILERATEPLAN, ONE_ECOMMERCE_HARDWARE_SUMMARY, TABLETS, TV, WATCHES } from '../../../utils/constants';\r\nimport Row from '../../ResponsiveRow/row';\r\nimport { MOBILEACCESSORIES, MONTHLY } from '../../../utils/constants';\r\nimport { setMmcItemTracker, trackNewDatalayerEvent, trackViewItem } from '../../..//utils/AnalyticsUtils';\r\nimport { CONTENT, CONTINUE, CTABUTTONCLICK, CTATEXTCLICK, GAEVENT, INFO, LEARNMORE, LINK, OPENPOPUP, POPUP, TABCLICK, VIEWEACHITEM } from '../../../Analytics/AnalyticsConstants';\r\nimport { useMultiAccessoryContext } from '../multiItemAccessoryStore/useMultiAccessoryContext';\r\nimport { useMultiAccessoryActions } from '../multiItemAccessoryStore/useMultiAccessoryActions';\r\nimport MultiAccessoryProvider from '../multiItemAccessoryStore/MultiAccessoryProvider';\r\nimport { MultiItemAccessoriesSchema } from './MultiItemAccessoriesSchema';\r\nimport { useMultiAccessoryUpdateCartActions } from '../multiItemAccessoryStore/useMultiAccessoryUpdateCartActions';\r\nimport Dotloader from '../../Dotloader/Dotloader';\r\nimport { countZero, getSBAssetUrl, replacePlaceholder, rp_lastcartItemWithParentPOType, viewport } from '../../../utils/utils';\r\nimport AccessoryModal from '../Accessory-card/AccessoryModal';\r\nimport FalconButtonV2 from '../../FalconButtonV2/FalconButtonV2';\r\nimport { AssetPathPropConfig } from '../../../services';\r\nimport AccessoryUpdateCartDotloader from '../AccessoryUpdateCartDotloader/AccessoryUpdateCartDotloader';\r\n\r\n// Export the schema for backward compatibility\r\n// export type { MultiItemAccessoriesSchema } from './MultiItemAccessoriesSchema';\r\n\r\n// Extended props interface to include setAccessoriesSelected as a separate prop\r\nexport interface MultiItemAccessoriesProps extends ComponentWithContentProps<MultiItemAccessoriesSchema> {\r\n setAccessoriesSelected?: (accessories: any[]) => void;\r\n}\r\n\r\n// eslint-disable-next-line max-lines-per-function\r\nconst MultiItemAccessories = ({ content, metadata }: MultiItemAccessoriesProps): JSX.Element => {\r\n const activelocaleId: string | undefined = metadata?.lang;\r\n const [deviceLoader, setDeviceLoader] = useState<boolean>(false);\r\n const [isMounted, setIsMounted] = useState<boolean>(false);\r\n const [showInfoModal, setShowInfoModal] = useState<string | null>(null); // 'WATCHES' or 'TABLETS' or null\r\n const cartId = getCookie('one-commerce-cartId');\r\n const [hardwareName, setHardwareName] = useState('');\r\n const [isSubscriptionFlow, setIsSubscriptionFlow] = useState<boolean>(false);\r\n // useRef: read sessionStorage once client-side — synchronously available everywhere,\r\n // avoids SSR hydration mismatch and async state-update timing issues\r\n const hardwareSessionObjRef = useRef<any>({});\r\n const { store, dispatch } = useMultiAccessoryContext();\r\n const actions = useMultiAccessoryActions(dispatch);\r\n const cartActions = useMultiAccessoryUpdateCartActions();\r\n const { recommendedAccessories, isFetchingRecommendedAccessories, deviceSessionValues, multiItemAccessoriessList, loading, isLoadingCartData , cartData, previousTab } = store;\r\n // Todo Get the correct data based on selected tab - for ACCESSORY use direct data, for others use hardwares property\r\n const selectedTabData = recommendedAccessories?.[store?.selectedTab]?.hardware;\r\n const basicConfigUrl = AssetPathPropConfig?.getInstance()?.getAssetPath();\r\n // Helper function to get modal popup content based on tab type\r\n const getModalContent = () => {\r\n return showInfoModal === WATCHES ? content?.watchesPopup?.[0] : content?.tabletsPopup?.[0];\r\n };\r\n \r\n const sbRecommendations: any[] = content?.recommendationType;\r\n // Create recommendationType object based on filteredSbRecommendations\r\n const recommendationType: any = {};\r\n \r\n // Single effect: read sessionStorage first, then kick off all init logic\r\nuseEffect(() => {\r\n setIsMounted(true);\r\n // Read sessionStorage client-side only to avoid SSR/hydration mismatch\r\n const sessionStr = sessionStorage?.getItem(ONE_ECOMMERCE_HARDWARE_SUMMARY);\r\n const sessionObj = sessionStr ? JSON.parse(sessionStr) : {};\r\n // Store in ref for synchronous access throughout the component lifecycle\r\n hardwareSessionObjRef.current = sessionObj;\r\n const deviceSessionValue = { ...sessionObj, cartId: cartId };\r\n actions.setDeviceSessionValues(deviceSessionValue);\r\n actions?.setSelectedTab(content?.defaultTabSelection);\r\n setHardwareName(sessionObj?.hardwareVariant?.note?.filter((item: any) => item.author === 'hardwareGroupName')?.[0]?.text);\r\n // Kick off TUA data load after session is ready\r\n setDeviceLoader(true);\r\n if (cartId) {\r\n fetchandSetRecommendations(undefined, sessionObj);\r\n }\r\n}, []);\r\n\r\n const fetchandSetRecommendations = (tabKey?: any, sessionObj?: any) => {\r\n // Use passed sessionObj (on initial load) or fall back to ref (on tab switch)\r\n const currentSessionObj = sessionObj ?? hardwareSessionObjRef.current;\r\n if (tabKey) {\r\n actions.setPreviousTab(store?.selectedTab); // Update previousTab in store before changing tab\r\n actions.setSelectedTab(tabKey);\r\n }\r\n if (tabKey) {\r\n if((recommendedAccessories?.[tabKey]?.hardware || [])?.length <= 0)\r\n {\r\n setDeviceLoader(true);\r\n actions.getRecommendedAccessory({ cartId, recommendationsType: tabKey });\r\n }\r\n if (loading) return; // Prevent new API calls if one is already running\r\n } else {\r\n cartActions.fetchCartData(cartId).then((res: any) => {\r\n const cartRecommendationsType = res?.cartRecommendationsType ?? [content?.defaultTabSelection];\r\n const selectedContractType = currentSessionObj?.hardwareVariant?.selectedContractType;\r\n const structuredCartData = rp_lastcartItemWithParentPOType(res?.cartItem ?? [],{},{},{});\r\n const subscriptionFlow = !(structuredCartData?.MOBILE_ORDER?.HARDWARE || structuredCartData?.STANDALONE_HARDWARE);\r\n setIsSubscriptionFlow(subscriptionFlow)\r\n const contractTerm = Number.parseFloat(structuredCartData?.MOBILE_ORDER?.HARDWARE?.itemTerm?.[0]?.duration?.amount) || 0\r\n // Filter sbRecommendations based on contract type(only for monthly) and for new subcriptions\r\n const filteredSbRecommendations = (\r\n // selectedContractType === CONTRACT\r\n contractTerm > 0\r\n && ((res?.cartItem?.[0]?.processType?.id === \"DEVICE_RENEWAL\" || res?.cartItem?.[0]?.processType?.id === \"DEVICE_RP_RENEWAL\") ? content?.enableExistingSubscription : true))\r\n ? sbRecommendations?.filter((item: string) => cartRecommendationsType.includes(item))\r\n : sbRecommendations?.filter((item: string) => item === ACCESSORY && cartRecommendationsType.includes(item));\r\n filteredSbRecommendations?.forEach((type: string) => {\r\n recommendationType[type] = [];\r\n });\r\n // Store recommendationType in state or ref if needed elsewhere\r\n actions.setRecommendedAccessories(recommendationType);\r\n const defaultTab = \r\n selectedContractType === CONTRACT ? filteredSbRecommendations?.includes(content?.defaultTabSelection) \r\n ? content?.defaultTabSelection \r\n : filteredSbRecommendations[0] : ACCESSORY;\r\n actions?.setSelectedTab(defaultTab);\r\n actions.getRecommendedAccessory({ cartId, recommendationsType: tabKey ? tabKey : defaultTab});\r\n }).catch(() => {\r\n // Redirect to summary page if getCart fails, same as recommendations failure\r\n const localIsSubscriptionFlow = [MOBILERATEPLAN, INTERNETFLOW, TV]?.includes?.(selectedTabData?.[0]?.recommendationProcessingType) ? true : (currentSessionObj?.hardwareVariant ? false : true);\r\n if (typeof window !== \"undefined\") {\r\n window.location.href = localIsSubscriptionFlow ? content?.winCheckoutUrl?.cached_url : content?.multiItemCheckoutUrl?.url;\r\n }\r\n });\r\n }\r\n }\r\n // to map storyblok and api data in store\r\n useEffect(() => {\r\n if ((recommendedAccessories?.[recommendedAccessories?.tabkey]?.hardware?.length) > 0) {\r\n if (recommendedAccessories?.tabkey === ACCESSORY) {\r\n // mapping of accessories according to recommendation api response\r\n storyBlokService?.getStoryBlokData(\r\n activelocaleId,\r\n recommendedAccessories?.[recommendedAccessories?.tabkey]?.hardware?.map((value: any) => value?.baseProducts),\r\n content?.parentSlugUrl\r\n ).then((res: any) => {\r\n sbRecommendationMapping(res,recommendedAccessories?.tabkey);\r\n });\r\n } else {\r\n const masterlst = recommendedAccessories?.tabkey === WATCHES ? content?.watchMasterList?.[0]?.reference?.content :\r\n content?.tabletMasterList?.[0]?.reference?.content\r\n sbRecommendationMapping(masterlst,recommendedAccessories?.tabkey);\r\n }\r\n } else {\r\n // redirect to summary page if no accessories are returned from backend\r\n if ((!isFetchingRecommendedAccessories || !cartId) && !isLoadingCartData && typeof window !== \"undefined\") {\r\n window.location.href = isSubscriptionFlow ? content?.winCheckoutUrl?.cached_url : content?.multiItemCheckoutUrl?.url;\r\n }\r\n }\r\n }, [recommendedAccessories])\r\n\r\n const sbRecommendationMapping = (response: any,tabKey: any) => {\r\n const accessoryList = (recommendedAccessories?.[tabKey]?.hardware || [])\r\n ?.filter((item: any) =>\r\n deviceSessionValues?.hardwareVariant?.selectedContractType === CONTRACT\r\n ? item?.recurringPrice?.monthlyInstallment > 0\r\n : item\r\n )\r\n ?.reduce((acc: any, value: any, currentIndex: number) => {\r\n const deviceDetails = {\r\n image: '',\r\n type: MOBILEACCESSORIES\r\n };\r\n let accessoryMappingSb;\r\n if(tabKey === ACCESSORY)\r\n {\r\n accessoryMappingSb = \r\n response?.sbStory?.data?.stories?.filter((val: any) => value?.baseProducts === val?.content?.productId)?.[0];\r\n const requestedVariant = accessoryMappingSb?.content?.body?.[0]?.deviceList?.find((deviceVariant: any) => deviceVariant?.devicePlanId === value?.id);\r\n deviceDetails.image = requestedVariant?.promoImageGallery?.[0]?.slideImages?.[0]\r\n ? requestedVariant?.promoImageGallery?.[0]?.slideImages?.[0]?.image?.filename\r\n : requestedVariant?.imageGallery?.[0]?.slideImages?.[0]?.image?.filename;\r\n deviceDetails.type = value?.content?.type ?? MOBILEACCESSORIES;\r\n }\r\n else{\r\n accessoryMappingSb = response?.body?.filter((val: any) => value?.baseProducts === val?.m_p_id)?.[0];\r\n deviceDetails.image = accessoryMappingSb?.images?.[0]?.filename\r\n deviceDetails.type = value?.content?.type ?? MOBILEACCESSORIES;\r\n }\r\n if (accessoryMappingSb) {\r\n acc.push({ sbStoryItem: accessoryMappingSb, imageData: deviceDetails, recomApiResponse: value });\r\n trackViewItem(VIEWEACHITEM, VIEWEACHITEM, {\r\n displayName: value?.name,\r\n productId: value?.id,\r\n priceValue: value?.oneTimePrice?.base,\r\n index: currentIndex,\r\n variant: value?.variantCategory?.color,\r\n storage: value?.variantCategory?.storage,\r\n });\r\n }\r\n return acc;\r\n }, []);\r\n if (accessoryList?.length > 0 && (response?.sbStory?.data?.stories || response?.body)?.length > 0) {\r\n actions.setMultiItemAccessoriessList({...multiItemAccessoriessList, [tabKey]: accessoryList });\r\n } else {\r\n // redirect to summary page if no accessories is eligbile\r\n window.location.href = isSubscriptionFlow ? content?.winCheckoutUrl?.cached_url : content?.multiItemCheckoutUrl?.url\r\n }\r\n setDeviceLoader(false);\r\n trackViewItemList(accessoryList);\r\n }\r\n\r\n //select first payment option as default initially unless provided in recommendation api\r\n useEffect(() => {\r\n (multiItemAccessoriessList?.[store?.selectedTab] || [])?.filter((item: any) => {\r\n if (item?.recomApiResponse?.paymentType?.toLowerCase()) {\r\n actions.setSelectedPaymentType(item?.recomApiResponse?.paymentType.toLowerCase() === MONTHLY ? CONTRACT : BASE);\r\n }\r\n }\r\n )\r\n }, [multiItemAccessoriessList]);\r\n\r\n const checkingviewPort = viewport();\r\n const findView = () => {\r\n //function to return no of cards in a row based on view\r\n if (checkingviewPort === 'large-desktop') {\r\n return 3;\r\n } else if (checkingviewPort === 'desktop') {\r\n return 3;\r\n } else if (checkingviewPort === 'tablet') {\r\n return 2;\r\n } else if (checkingviewPort === 'mobile') {\r\n return 1;\r\n }\r\n return 0;\r\n };\r\n const view: any = findView();\r\n\r\n const selectedRatePlan = recommendedAccessories?.[store?.selectedTab]?.ratePlan;\r\n const infoBannerPriceRaw = selectedRatePlan?.derivedPrice ?? selectedRatePlan?.listPrice ?? 0;\r\n\r\n // this is for structuring the event tracking data\r\n const trackViewItemList = (accessoryList: any) => {\r\n const itemList = accessoryList?.map((item: any, index: number) => {\r\n return ({\r\n displayName: item?.recomApiResponse?.name,\r\n productId: item?.recomApiResponse?.id,\r\n priceValue: item?.recomApiResponse?.oneTimePrice?.base,\r\n index: index,\r\n variant: item?.recomApiResponse?.variantCategory?.color,\r\n storage: item?.recomApiResponse?.variantCategory?.storage,\r\n })\r\n })\r\n setMmcItemTracker(itemList);\r\n }\r\n\r\n // Todod tab title should always be in english\r\n const handleTabClick = (tabKey: string, tabTitle: string) => {\r\n // Determine analytics tab title based on selection and Storyblok content\r\n let analyticsTabTitle = tabTitle;\r\n if (tabKey === ACCESSORY && content?.accessoryAnalyticsTitle) {\r\n analyticsTabTitle = content.accessoryAnalyticsTitle;\r\n } else if (tabKey === TABLETS && content?.tabletsAnalyticsTitle) {\r\n analyticsTabTitle = content.tabletsAnalyticsTitle;\r\n } else if (tabKey === WATCHES && content?.watchesAnalyticsTitle) {\r\n analyticsTabTitle = content.watchesAnalyticsTitle;\r\n } \r\n trackNewDatalayerEvent(GAEVENT, TABCLICK, {\r\n component: CONTENT,\r\n click_text: analyticsTabTitle\r\n });\r\n fetchandSetRecommendations(tabKey);\r\n };\r\n\r\n return (\r\n <>\r\n {loading && (store?.selectedTab === previousTab ? <Dotloader /> : <AccessoryUpdateCartDotloader content={content} />)}\r\n {/* Only render the main page container when mounted client-side and data is loading/ready */}\r\n {(isMounted && content && (multiItemAccessoriessList?.[store?.selectedTab]?.length > 0 || deviceLoader)) && (\r\n <div className={`${Styles.mainPage}`}>\r\n {content?.progressionBar?.[0] && (\r\n <ProgressionBar\r\n content={content?.progressionBar?.[0]}\r\n />\r\n )}\r\n <Row>\r\n <div>\r\n <div className={`${Styles.title}`}>\r\n <RichText content={content?.recommendationLabel} />\r\n </div>\r\n {Object.keys(recommendedAccessories || {}).filter((key: string) => sbRecommendations?.includes(key)).length <= 1 && !isSubscriptionFlow && (\r\n <div className={`${Styles.deviceText}`}>\r\n {content?.compatibleText}\r\n <span className={Styles.deviceName}>{hardwareName}</span>\r\n </div>\r\n )}\r\n </div>\r\n </Row>\r\n {/* Tabs based on recommendedAccessories, ordered by recommendationType from Storyblok */}\r\n {(Object.keys(recommendedAccessories || {}).filter((key: string) => sbRecommendations?.includes(key)).length > 1) && (\r\n <div className={Styles.tabsContainer}>\r\n {(content?.recommendationType || [])\r\n ?.filter((tabKey: string) => recommendedAccessories?.[tabKey])\r\n ?.map((tabKey: string) => {\r\n // Count from cartData (real-time source of truth)\r\n const totalCount = Object.keys(cartData?.[tabKey] || {}).length;\r\n\r\n // Get tab title from Storyblok content\r\n const tabTitle = tabKey === ACCESSORY ? content?.accessoryTitle\r\n : tabKey === WATCHES ? content?.watchesTitle\r\n : tabKey === TABLETS ? content?.tabletsTitle\r\n : tabKey;\r\n return (\r\n <button\r\n key={tabKey}\r\n className={`${Styles.tabButton} ${store.selectedTab === tabKey ? Styles.activeTab : ''}`}\r\n onClick={() => {\r\n if (store.selectedTab !== tabKey) {\r\n handleTabClick(tabKey, tabTitle);\r\n }\r\n }}\r\n disabled={!recommendedAccessories?.[tabKey]}\r\n >\r\n {tabTitle}\r\n {totalCount > 0 && (\r\n <span className={Styles.tabCount}>\r\n {totalCount}\r\n </span>\r\n )}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n )}\r\n {/* Information banner below tabs - for Smartwatches and Tablets */}\r\n {((store.selectedTab === WATCHES && content?.watchesInfoBannerText) || \r\n (store.selectedTab === TABLETS && content?.tabletsInfoBannerText)) && (\r\n <div className={Styles.infoBanner}>\r\n <div className={Styles.infoBannerContent}>\r\n <img className={Styles.infoIcon} src={content?.esimIcon?.filename} />\r\n <span>\r\n <span>\r\n {replacePlaceholder(\r\n store.selectedTab === WATCHES ? content?.watchesInfoBannerText : content?.tabletsInfoBannerText,\r\n [countZero(infoBannerPriceRaw)]\r\n )}\r\n </span>\r\n <span className={Styles.learnMoreText} onClick={() => {\r\n trackNewDatalayerEvent(GAEVENT, CTATEXTCLICK, {\r\n component: LINK,\r\n click_text: LEARNMORE\r\n });\r\n setShowInfoModal(store.selectedTab);\r\n }}>\r\n {content?.learnMoreText}\r\n </span>\r\n </span>\r\n </div>\r\n </div>\r\n )}\r\n\r\n\r\n {isSubscriptionFlow && (\r\n <PaymentTypeTabs\r\n content={{\r\n paymentHeadingText: content?.paymentHeadingText,\r\n paymentOptions: content?.paymentOptions,\r\n paymentTypeChngePopup: content?.paymentTypeChngePopup?.[0],\r\n paymentTypeChngePopupOnetime: content?.paymentTypeChngePopupOnetime?.[0],\r\n }}\r\n />\r\n )}\r\n {(deviceLoader && !multiItemAccessoriessList?.[store?.selectedTab]?.length) ? (\r\n <AccessoryPreviewCardLoader cards={view} />\r\n ) : (\r\n <AccessoryCard\r\n content={content}\r\n tabIndex={1}\r\n checkingviewPort={checkingviewPort}\r\n\t\t\t\t isSubscriptionFlow={isSubscriptionFlow}\r\n />\r\n )}\r\n </div>\r\n )}\r\n \r\n {/* Info Modal for Watches and Tablets */}\r\n {showInfoModal && (() => {\r\n const modalContent = getModalContent();\r\n trackNewDatalayerEvent(GAEVENT, OPENPOPUP, {\r\n component: POPUP,\r\n message_title: modalContent?.heading?.content?.[0]?.content?.[0]?.text?.slice(0, 100),\r\n message_description: modalContent?.description?.content?.[0]?.content?.[0]?.text?.slice(0, 100),\r\n message_type: INFO,\r\n });\r\n return (\r\n <AccessoryModal\r\n modalState={!!showInfoModal}\r\n handler={() => setShowInfoModal(null)}\r\n showFooter={false}\r\n height={'auto'}\r\n fixedWidth={(checkingviewPort === 'large-desktop' || checkingviewPort === 'desktop' || checkingviewPort === 'tablet') ? '624px' : ''}\r\n noCloseButton={false}\r\n backDrop={true}\r\n >\r\n <div className={Styles.watchInfoModal}>\r\n {modalContent?.heading && (\r\n <div className={Styles.modalHeading}>\r\n <RichText content={modalContent.heading} />\r\n </div>\r\n )}\r\n \r\n {modalContent?.description && (\r\n <div className={Styles.modalDescription}>\r\n <RichText content={modalContent.description} />\r\n </div>\r\n )}\r\n \r\n <div className={Styles.modalButtons}>\r\n {modalContent?.link && (\r\n <a \r\n href={getSBAssetUrl(basicConfigUrl, modalContent.link?.cached_url || modalContent.link?.url)} \r\n target=\"_blank\" \r\n rel=\"noopener noreferrer\"\r\n className={Styles.factSheetLink}\r\n >\r\n {modalContent.linkText}\r\n </a>\r\n )}\r\n \r\n {modalContent?.button?.length > 0 && (\r\n <FalconButtonV2\r\n content={modalContent.button[0]}\r\n onClick={() => {\r\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\r\n component: LINK,\r\n click_text: CONTINUE\r\n });\r\n setShowInfoModal(null)\r\n }}\r\n metadata={undefined}\r\n wafIdentifier={''}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </AccessoryModal>\r\n );\r\n })()}\r\n </>\r\n );\r\n}\r\n\r\n// HOC Pattern: Wrap the component with provider at export\r\nconst MultiItemAccessoriesWithProvider = (props: MultiItemAccessoriesProps) => (\r\n <MultiAccessoryProvider>\r\n <MultiItemAccessories {...props} />\r\n </MultiAccessoryProvider>\r\n);\r\n\r\nexport default MultiItemAccessoriesWithProvider;"],"names":["MultiItemAccessories","content","metadata","activelocaleId","lang","deviceLoader","setDeviceLoader","useState","isMounted","setIsMounted","showInfoModal","setShowInfoModal","cartId","getCookie","hardwareName","setHardwareName","isSubscriptionFlow","setIsSubscriptionFlow","hardwareSessionObjRef","useRef","store","dispatch","useMultiAccessoryContext","actions","useMultiAccessoryActions","cartActions","useMultiAccessoryUpdateCartActions","recommendedAccessories","isFetchingRecommendedAccessories","deviceSessionValues","multiItemAccessoriessList","loading","isLoadingCartData","cartData","previousTab","selectedTabData","_a","selectedTab","hardware","basicConfigUrl","_b","AssetPathPropConfig","getInstance","getAssetPath","sbRecommendations","recommendationType","useEffect","sessionStr","sessionStorage","getItem","ONE_ECOMMERCE_HARDWARE_SUMMARY","sessionObj","JSON","parse","current","deviceSessionValue","setDeviceSessionValues","setSelectedTab","defaultTabSelection","_d","_c","hardwareVariant","note","filter","item","author","text","fetchandSetRecommendations","undefined","tabKey","currentSessionObj","setPreviousTab","length","getRecommendedAccessory","recommendationsType","fetchCartData","then","res","cartRecommendationsType","selectedContractType","structuredCartData","rp_lastcartItemWithParentPOType","cartItem","subscriptionFlow","MOBILE_ORDER","HARDWARE","STANDALONE_HARDWARE","filteredSbRecommendations","Number","parseFloat","_j","_h","_g","_f","_e","itemTerm","duration","amount","_m","_l","_k","processType","id","_q","_p","_o","enableExistingSubscription","includes","ACCESSORY","forEach","type","setRecommendedAccessories","defaultTab","CONTRACT","catch","localIsSubscriptionFlow","MOBILERATEPLAN","INTERNETFLOW","TV","call","recommendationProcessingType","window","location","href","winCheckoutUrl","cached_url","multiItemCheckoutUrl","url","tabkey","storyBlokService","getStoryBlokData","map","value","baseProducts","parentSlugUrl","sbRecommendationMapping","masterlst","WATCHES","watchMasterList","reference","tabletMasterList","response","accessoryList","recurringPrice","monthlyInstallment","reduce","acc","currentIndex","deviceDetails","image","MOBILEACCESSORIES","accessoryMappingSb","sbStory","data","stories","val","productId","requestedVariant","body","deviceList","find","deviceVariant","devicePlanId","promoImageGallery","slideImages","_r","filename","_w","_v","_u","_t","imageGallery","_s","_y","_x","_0","_z","m_p_id","_2","_1","images","_4","_3","push","sbStoryItem","imageData","recomApiResponse","trackViewItem","VIEWEACHITEM","displayName","name","priceValue","_5","oneTimePrice","base","index","variant","_6","variantCategory","color","storage","_7","setMultiItemAccessoriessList","Object","assign","trackViewItemList","paymentType","toLowerCase","setSelectedPaymentType","MONTHLY","BASE","checkingviewPort","viewport","view","selectedRatePlan","ratePlan","infoBannerPriceRaw","derivedPrice","listPrice","itemList","setMmcItemTracker","React","createElement","Fragment","Dotloader","AccessoryUpdateCartDotloader","className","Styles","mainPage","progressionBar","ProgressionBar","Row","title","RichText","recommendationLabel","keys","key","deviceText","compatibleText","deviceName","tabsContainer","totalCount","tabTitle","accessoryTitle","watchesTitle","TABLETS","tabletsTitle","tabButton","activeTab","onClick","analyticsTabTitle","accessoryAnalyticsTitle","tabletsAnalyticsTitle","watchesAnalyticsTitle","trackNewDatalayerEvent","GAEVENT","TABCLICK","component","CONTENT","click_text","handleTabClick","disabled","tabCount","watchesInfoBannerText","tabletsInfoBannerText","infoBanner","infoBannerContent","infoIcon","src","esimIcon","replacePlaceholder","countZero","learnMoreText","CTATEXTCLICK","LINK","LEARNMORE","PaymentTypeTabs","paymentHeadingText","paymentOptions","paymentTypeChngePopup","paymentTypeChngePopupOnetime","AccessoryPreviewCardLoader","cards","AccessoryCard","tabIndex","modalContent","watchesPopup","tabletsPopup","getModalContent","OPENPOPUP","POPUP","message_title","heading","slice","message_description","description","message_type","INFO","AccessoryModal","modalState","handler","showFooter","height","fixedWidth","noCloseButton","backDrop","watchInfoModal","modalHeading","modalDescription","modalButtons","link","getSBAssetUrl","target","rel","factSheetLink","linkText","button","FalconButtonV2","CTABUTTONCLICK","CONTINUE","wafIdentifier","MultiItemAccessoriesWithProvider","props","MultiAccessoryProvider"],"mappings":"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"}
@@ -1 +1 @@
1
- .card_TBosU.sr-card_Eo691{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}.card_TBosU.border-top_18q7h{border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -2px 20px 0 rgba(61,57,53,.2);border:none}@media (min-width:768px){.sr-desk-card_fmqWp{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (max-width:767px){.sr-mob-card_cE7mi{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (min-width:1024px){.sr-md-card_nwsBG{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}.container_c8st7{order:-1}.stickyStyleUp_39Ybs,.stickyStyle_JW7TL{position:fixed;z-index:8;width:100%}.stickyStyle_JW7TL{margin-top:-55px}@media (max-width:1023px){.stickyStyle_JW7TL{margin-top:auto}}.animations_wbW76,.wrapper_x0eeF{min-height:60px;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:16px;padding:0 16px;position:relative}@media (max-width:767px){.animations_wbW76,.wrapper_x0eeF{min-height:76px;padding:8px 56px 8px 6px!important}}.animations_wbW76 .iconStyle_ftxQx,.wrapper_x0eeF .iconStyle_ftxQx{cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;position:absolute;right:10px;top:50%;transform:translateY(-50%)}@media (min-width:768px) and (max-width:1023px){.animations_wbW76 .iconStyle_ftxQx,.wrapper_x0eeF .iconStyle_ftxQx{right:30px}}.animations_wbW76 .textStyle_LyRjq,.wrapper_x0eeF .textStyle_LyRjq{font-size:18px;line-height:24px;font-weight:700;display:inline;color:#3d3935}@media (max-width:767px){.animations_wbW76 .textStyle_LyRjq,.wrapper_x0eeF .textStyle_LyRjq{font-size:14px;line-height:20px}}.animations_wbW76 .descriptionColorWhite_Y5SPq,.wrapper_x0eeF .descriptionColorWhite_Y5SPq{color:#fff}.animations_wbW76 .descriptionColorBlack_9AYnW,.wrapper_x0eeF .descriptionColorBlack_9AYnW{color:#000}.animations_wbW76 .btnStyleBlack_J3qnm,.animations_wbW76 .btnStyleIceWhite_dtMgV,.animations_wbW76 .btnStyle_oc2fd,.animations_wbW76 .btnanimations_-xgbH,.wrapper_x0eeF .btnStyleBlack_J3qnm,.wrapper_x0eeF .btnStyleIceWhite_dtMgV,.wrapper_x0eeF .btnStyle_oc2fd,.wrapper_x0eeF .btnanimations_-xgbH{min-width:fit-content;text-decoration:none;border-radius:25px;background-color:#da291c;color:#fff;font-size:16px;line-height:24px;font-weight:700;border:none;padding:10px 24px}.animations_wbW76 .btnStyleIceWhite_dtMgV,.wrapper_x0eeF .btnStyleIceWhite_dtMgV{background-color:transparent;color:#fff;border:2px solid #fff}.animations_wbW76 .btnStyleBlack_J3qnm,.wrapper_x0eeF .btnStyleBlack_J3qnm{background-color:#fff;color:#3d3935;border:none}@media (max-width:767px){.container_c8st7{order:-1}.stickyStyle_JW7TL{position:fixed;z-index:1;width:100%}}.close_gz0j1{display:none}.animations_wbW76{animation-name:anime_PLkrN;background-color:#da291c}.animations_wbW76,.btnanimations_-xgbH{animation-duration:5s;animation-fill-mode:forwards}.btnanimations_-xgbH{animation-name:btnAnime_amQr7}@keyframes btnAnime_amQr7{0%{background-color:#fff;color:#da291c}to{background-color:#da291c;color:#fff}}@keyframes anime_PLkrN{0%{background-color:#da291c;color:#fff}to{background-color:#f4d4dd;color:#000}}
1
+ .card_TBosU.sr-card_Eo691{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}.card_TBosU.border-top_18q7h{border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -2px 20px 0 rgba(61,57,53,.2);border:none}@media (min-width:768px){.sr-desk-card_fmqWp{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (max-width:767px){.sr-mob-card_cE7mi{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (min-width:1024px){.sr-md-card_nwsBG{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}.container_c8st7{order:-1}.stickyStyleUp_39Ybs,.stickyStyle_JW7TL{position:fixed;z-index:8;width:100%}.stickyStyle_JW7TL{margin-top:-55px}@media (max-width:1023px){.stickyStyle_JW7TL{margin-top:auto}}.animations_wbW76,.wrapper_x0eeF{min-height:60px;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:16px;padding:0 16px;position:relative}@media (max-width:767px){.animations_wbW76,.wrapper_x0eeF{min-height:76px;padding:8px 56px 8px 6px!important}}.animations_wbW76 .iconStyle_ftxQx,.wrapper_x0eeF .iconStyle_ftxQx{cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;position:absolute;right:10px;top:50%;transform:translateY(-50%)}@media (min-width:768px) and (max-width:1023px){.animations_wbW76 .iconStyle_ftxQx,.wrapper_x0eeF .iconStyle_ftxQx{right:30px}}.animations_wbW76 .textStyle_LyRjq,.wrapper_x0eeF .textStyle_LyRjq{font-size:18px;line-height:24px;font-weight:700;display:inline;color:#3d3935}@media (max-width:767px){.animations_wbW76 .textStyle_LyRjq,.wrapper_x0eeF .textStyle_LyRjq{font-size:14px;line-height:20px}}.animations_wbW76 .descriptionColorWhite_Y5SPq,.wrapper_x0eeF .descriptionColorWhite_Y5SPq{color:#fff}.animations_wbW76 .descriptionColorBlack_9AYnW,.wrapper_x0eeF .descriptionColorBlack_9AYnW{color:#000}.animations_wbW76 .btnStyleBlack_J3qnm,.animations_wbW76 .btnStyleIceWhite_dtMgV,.animations_wbW76 .btnStyle_oc2fd,.animations_wbW76 .btnanimations_-xgbH,.wrapper_x0eeF .btnStyleBlack_J3qnm,.wrapper_x0eeF .btnStyleIceWhite_dtMgV,.wrapper_x0eeF .btnStyle_oc2fd,.wrapper_x0eeF .btnanimations_-xgbH{min-width:fit-content;text-decoration:none;border-radius:25px;background-color:#da291c;color:#fff;font-size:16px;line-height:24px;font-weight:700;border:none;padding:10px 24px}.animations_wbW76 .btnStyleIceWhite_dtMgV,.wrapper_x0eeF .btnStyleIceWhite_dtMgV{background-color:transparent;color:#fff;border:2px solid #fff}.animations_wbW76 .btnStyleBlack_J3qnm,.wrapper_x0eeF .btnStyleBlack_J3qnm{background-color:#fff;color:#3d3935;border:none}@media (max-width:767px){.container_c8st7{order:-1}.stickyStyle_JW7TL{position:fixed;z-index:1;width:100%}}.close_gz0j1{display:none}.animations_wbW76{animation-name:anime_PLkrN;animation-duration:5s;animation-fill-mode:forwards;background-color:#da291c}.btnanimations_-xgbH{animation-name:btnAnime_amQr7;animation-duration:5s;animation-fill-mode:forwards}@keyframes btnAnime_amQr7{0%{background-color:#fff;color:#da291c}to{background-color:#da291c;color:#fff}}@keyframes anime_PLkrN{0%{background-color:#da291c;color:#fff}to{background-color:#f4d4dd;color:#000}}
@@ -1,2 +1,2 @@
1
1
  import e,{useState as n,useEffect as t}from"react";import o from"./CheckCoverage.js";import c from"./CoverCheckWrapper.module.scss.js";import{viewport as r}from"../../utils/utils.js";const a=({content:a,isFetchingLineCheck:l,overlayIsOpen:s,externalHandleModal:i,productName:m,onSuccess:C,lineCheckOnClear:d,onCreateCart:p})=>{const h=s||(null==a?void 0:a.openInOverlay);a.openInOverlay=!0;const[u,v]=n(s),k="mobile"===r();return t(()=>{v(s)},[s]),e.createElement("div",null,k&&u&&h?e.createElement("div",{className:c.overlay},e.createElement("div",{className:c["modal-content"]},e.createElement(o,{content:a,handleModal:()=>{v(!u),i&&i(!u)},openModal:u,isFetchingLineCheck:l,productName:m,onSuccess:C,lineCheckOnClear:d,onCreateCart:p}))):e.createElement(o,{content:a,isFetchingLineCheck:l,onSuccess:C,lineCheckOnClear:d}))};export{a as default};
2
- //# sourceMappingURL=CovercheckWrapper.js.map
2
+ //# sourceMappingURL=CoverCheckWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CovercheckWrapper.js","sources":["../../../../src/components/NewLineCheck/CovercheckWrapper.tsx"],"sourcesContent":["import React, { FC, useEffect, useState } from 'react';\r\nimport CheckCoverageComponent from './CheckCoverage';\r\nimport Styles from './CoverCheckWrapper.module.scss';\r\nimport { viewport } from '../../utils/utils';\r\n\r\nconst CheckCoverage: FC<any> = ({\r\n content,\r\n isFetchingLineCheck,\r\n overlayIsOpen,\r\n externalHandleModal,\r\n productName,\r\n onSuccess,\r\n lineCheckOnClear,\r\n onCreateCart\r\n}) => {\r\n const openInOverlay = overlayIsOpen ? overlayIsOpen : content?.openInOverlay;\r\n content['openInOverlay'] = true;\r\n const [openModal, setOpenModal] = useState(overlayIsOpen);\r\n\r\n const handleModal = () => {\r\n setOpenModal(!openModal);\r\n externalHandleModal && externalHandleModal(!openModal);\r\n };\r\n const viewPort = viewport();\r\n const isMobile = viewPort === 'mobile' ? true : false;\r\n\r\n useEffect(() => {\r\n setOpenModal(overlayIsOpen);\r\n }, [overlayIsOpen]);\r\n\r\n return (\r\n <div>\r\n {isMobile && openModal && openInOverlay ? (\r\n <div className={Styles['overlay']}>\r\n <div className={Styles['modal-content']}>\r\n <CheckCoverageComponent\r\n content={content}\r\n handleModal={handleModal}\r\n openModal={openModal}\r\n isFetchingLineCheck={isFetchingLineCheck}\r\n productName={productName}\r\n onSuccess={onSuccess}\r\n lineCheckOnClear={lineCheckOnClear}\r\n onCreateCart={onCreateCart}\r\n />\r\n </div>\r\n </div>\r\n ) : (\r\n <CheckCoverageComponent\r\n content={content}\r\n isFetchingLineCheck={isFetchingLineCheck}\r\n onSuccess={onSuccess}\r\n lineCheckOnClear={lineCheckOnClear}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default CheckCoverage;\r\n"],"names":["CheckCoverage","content","isFetchingLineCheck","overlayIsOpen","externalHandleModal","productName","onSuccess","lineCheckOnClear","onCreateCart","openInOverlay","openModal","setOpenModal","useState","isMobile","viewport","useEffect","React","createElement","className","Styles","CheckCoverageComponent","handleModal"],"mappings":"uLAKA,MAAMA,EAAyB,EAC7BC,UACAC,sBACAC,gBACAC,sBACAC,cACAC,YACAC,mBACAC,mBAEA,MAAMC,EAAgBN,IAAgCF,eAAAA,EAASQ,eAC/DR,EAAuB,eAAI,EAC3B,MAAOS,EAAWC,GAAgBC,EAAST,GAOrCU,EAAwB,WADbC,IAOjB,OAJAC,EAAU,KACRJ,EAAaR,IACZ,CAACA,IAGFa,EAAAC,cAAA,MAAA,KACGJ,GAAYH,GAAaD,EACxBO,EAAAC,cAAA,MAAA,CAAKC,UAAWC,EAAgB,SAC9BH,EAAAC,cAAA,MAAA,CAAKC,UAAWC,EAAO,kBACrBH,EAAAC,cAACG,EAAsB,CACrBnB,QAASA,EACToB,YAlBQ,KAClBV,GAAcD,GACdN,GAAuBA,GAAqBM,IAiBlCA,UAAWA,EACXR,oBAAqBA,EACrBG,YAAaA,EACbC,UAAWA,EACXC,iBAAkBA,EAClBC,aAAcA,MAKpBQ,EAAAC,cAACG,EAAsB,CACrBnB,QAASA,EACTC,oBAAqBA,EACrBI,UAAWA,EACXC,iBAAkBA"}
1
+ {"version":3,"file":"CoverCheckWrapper.js","sources":["../../../../src/components/NewLineCheck/CoverCheckWrapper.tsx"],"sourcesContent":["import React, { FC, useEffect, useState } from 'react';\r\nimport CheckCoverageComponent from './CheckCoverage';\r\nimport Styles from './CoverCheckWrapper.module.scss';\r\nimport { viewport } from '../../utils/utils';\r\n\r\nconst CheckCoverage: FC<any> = ({\r\n content,\r\n isFetchingLineCheck,\r\n overlayIsOpen,\r\n externalHandleModal,\r\n productName,\r\n onSuccess,\r\n lineCheckOnClear,\r\n onCreateCart\r\n}) => {\r\n const openInOverlay = overlayIsOpen ? overlayIsOpen : content?.openInOverlay;\r\n content['openInOverlay'] = true;\r\n const [openModal, setOpenModal] = useState(overlayIsOpen);\r\n\r\n const handleModal = () => {\r\n setOpenModal(!openModal);\r\n externalHandleModal && externalHandleModal(!openModal);\r\n };\r\n const viewPort = viewport();\r\n const isMobile = viewPort === 'mobile' ? true : false;\r\n\r\n useEffect(() => {\r\n setOpenModal(overlayIsOpen);\r\n }, [overlayIsOpen]);\r\n\r\n return (\r\n <div>\r\n {isMobile && openModal && openInOverlay ? (\r\n <div className={Styles['overlay']}>\r\n <div className={Styles['modal-content']}>\r\n <CheckCoverageComponent\r\n content={content}\r\n handleModal={handleModal}\r\n openModal={openModal}\r\n isFetchingLineCheck={isFetchingLineCheck}\r\n productName={productName}\r\n onSuccess={onSuccess}\r\n lineCheckOnClear={lineCheckOnClear}\r\n onCreateCart={onCreateCart}\r\n />\r\n </div>\r\n </div>\r\n ) : (\r\n <CheckCoverageComponent\r\n content={content}\r\n isFetchingLineCheck={isFetchingLineCheck}\r\n onSuccess={onSuccess}\r\n lineCheckOnClear={lineCheckOnClear}\r\n />\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default CheckCoverage;\r\n"],"names":["CheckCoverage","content","isFetchingLineCheck","overlayIsOpen","externalHandleModal","productName","onSuccess","lineCheckOnClear","onCreateCart","openInOverlay","openModal","setOpenModal","useState","isMobile","viewport","useEffect","React","createElement","className","Styles","CheckCoverageComponent","handleModal"],"mappings":"uLAKA,MAAMA,EAAyB,EAC7BC,UACAC,sBACAC,gBACAC,sBACAC,cACAC,YACAC,mBACAC,mBAEA,MAAMC,EAAgBN,IAAgCF,eAAAA,EAASQ,eAC/DR,EAAuB,eAAI,EAC3B,MAAOS,EAAWC,GAAgBC,EAAST,GAOrCU,EAAwB,WADbC,IAOjB,OAJAC,EAAU,KACRJ,EAAaR,IACZ,CAACA,IAGFa,EAAAC,cAAA,MAAA,KACGJ,GAAYH,GAAaD,EACxBO,EAAAC,cAAA,MAAA,CAAKC,UAAWC,EAAgB,SAC9BH,EAAAC,cAAA,MAAA,CAAKC,UAAWC,EAAO,kBACrBH,EAAAC,cAACG,EAAsB,CACrBnB,QAASA,EACToB,YAlBQ,KAClBV,GAAcD,GACdN,GAAuBA,GAAqBM,IAiBlCA,UAAWA,EACXR,oBAAqBA,EACrBG,YAAaA,EACbC,UAAWA,EACXC,iBAAkBA,EAClBC,aAAcA,MAKpBQ,EAAAC,cAACG,EAAsB,CACrBnB,QAASA,EACTC,oBAAqBA,EACrBI,UAAWA,EACXC,iBAAkBA"}
@@ -1,2 +1,2 @@
1
- export{default as Button}from"./button/Button.js";export{default as LoginModalV2}from"./login/LoginModalV2.js";export{default as Card}from"./CardComp/Card.js";export{default as CardEntitlement}from"./CardEntitlement/CardEntitlement.js";export{default as CarouselComp}from"./sharedCarousel/CarouselComponent.js";export{default as ProductTeaser}from"./ProductTeaser/ProductTeaser.js";export{default as ProductTableV3}from"./lineTable/ProductTableV3.js";export{default as StickyProductAnchor}from"./StickyProductAnchor/StickyProductAnchor.js";export{default as StaticLineTable}from"./StaticLineTable/StaticLineTable.js";export{default as LinecheckModal}from"./LineCheckV3/LinecheckModal.js";export{default as BenefitWrapper}from"./BenefitWrapper/BenefitWrapper.js";export{default as Breadcrumb}from"./Breadcrumb/Breadcrumb.js";export{default as PretoPostSubsPopup}from"./PretoPost/PreToPostSubsPopup.js";export{default as HeroLogin}from"./HeroLogin/HeroLogin.js";export{default as CheckCoverage}from"./NewLineCheck/CovercheckWrapper.js";export{default as DpLinetable}from"./UltimateBundleLinetable/DpLinetableContainer.js";export{default as CoverageCheckModal}from"./NewLineCheck/CoverageCheckModal.js";export{default as FreshProductBannerHome}from"./freshProductBanner/freshProductBanner.js";export{default as DeviceCard}from"./DeviceCardWrapper/DeviceCards/DeviceCards.js";export{default as StickyBottomSheet}from"./StickyBottomSheet/StickyBottomSheet.js";export{default as ProgressionBar}from"./ProgressionBar/ProgressionBar.js";export{default as OttServiceOptionsSmallPopup}from"./StaticLineTable/OttServiceOptions/OttServiceOptionsSmallPopup.js";export{default as MultiItemAccessoriesWithProvider}from"./Accessories/MultiItemAccessories/MultiItemAccessoriesPage.js";export{default as NotificationToast}from"./NotificationToast/NotificationToast.js";export{default as RecommendedOptions}from"./RecommendedOptions/RecommendedOptions.js";export{default as PriceCalculationSticky}from"./PriceCalculationSticky/PriceCalculationSticky.js";export{default as OttMiniCard}from"./OttMiniSummaryCard/OttMiniSummaryCard.js";export{default as GenericMessage}from"./GenericMessage/GenericMessage.js";export{default as StaticLineTabelTimer}from"./StaticLineTable/StaticLineTabelTimer/StaticLineTabelTimer.js";export{default as Spacer}from"./Spacer/Spacer.js";
1
+ export{default as Button}from"./button/Button.js";export{default as LoginModalV2}from"./login/LoginModalV2.js";export{default as Card}from"./CardComp/Card.js";export{default as CardEntitlement}from"./CardEntitlement/CardEntitlement.js";export{default as CarouselComp}from"./sharedCarousel/CarouselComponent.js";export{default as ProductTeaser}from"./ProductTeaser/ProductTeaser.js";export{default as ProductTableV3}from"./lineTable/ProductTableV3.js";export{default as StickyProductAnchor}from"./StickyProductAnchor/StickyProductAnchor.js";export{default as StaticLineTable}from"./StaticLineTable/StaticLineTable.js";export{default as LinecheckModal}from"./LineCheckV3/LinecheckModal.js";export{default as BenefitWrapper}from"./BenefitWrapper/BenefitWrapper.js";export{default as Breadcrumb}from"./Breadcrumb/Breadcrumb.js";export{default as PretoPostSubsPopup}from"./PretoPost/PreToPostSubsPopup.js";export{default as HeroLogin}from"./HeroLogin/HeroLogin.js";export{default as CheckCoverage}from"./NewLineCheck/CoverCheckWrapper.js";export{default as DpLinetable}from"./UltimateBundleLinetable/DpLinetableContainer.js";export{default as CoverageCheckModal}from"./NewLineCheck/CoverageCheckModal.js";export{default as FreshProductBannerHome}from"./freshProductBanner/freshProductBanner.js";export{default as DeviceCard}from"./DeviceCardWrapper/DeviceCards/DeviceCards.js";export{default as StickyBottomSheet}from"./StickyBottomSheet/StickyBottomSheet.js";export{default as ProgressionBar}from"./ProgressionBar/ProgressionBar.js";export{default as OttServiceOptionsSmallPopup}from"./StaticLineTable/OttServiceOptions/OttServiceOptionsSmallPopup.js";export{default as MultiItemAccessoriesWithProvider}from"./Accessories/MultiItemAccessories/MultiItemAccessoriesPage.js";export{default as NotificationToast}from"./NotificationToast/NotificationToast.js";export{default as RecommendedOptions}from"./RecommendedOptions/RecommendedOptions.js";export{default as PriceCalculationSticky}from"./PriceCalculationSticky/PriceCalculationSticky.js";export{default as OttMiniCard}from"./OttMiniSummaryCard/OttMiniSummaryCard.js";export{default as GenericMessage}from"./GenericMessage/GenericMessage.js";export{default as StaticLineTabelTimer}from"./StaticLineTable/StaticLineTabelTimer/StaticLineTabelTimer.js";export{default as Spacer}from"./Spacer/Spacer.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- .card_G6N3b.sr-card_79oCF{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}.card_G6N3b.border-top_V2zp5{border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -2px 20px 0 rgba(61,57,53,.2);border:none}@media (min-width:768px){.sr-desk-card_KSJOc{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (max-width:767px){.sr-mob-card_DfJ-i{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (min-width:1024px){.sr-md-card_4trTA{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}.login-container_Ad6KQ{align-items:center;background-color:#fff;box-shadow:-1px 18px 25px 5px rgba(87,84,82,.4);display:flex;flex-direction:column;justify-content:center;max-width:624px;padding:24px 32px;position:absolute;width:100%;border-radius:4px}@media (max-width:767px){.login-container_Ad6KQ{padding:16px}}.login-header_hzlgu{width:100%;margin-bottom:24px;display:flex;justify-content:space-between}.login-header_hzlgu img,.login-header_hzlgu span{cursor:pointer}.icon-container_FGJQU{width:24px;height:24px}.back-text_MKh1u{font-weight:700;font-size:16px;line-height:24px;color:#da291c;padding-left:4px}.channel-selection-title_0iFVE{font-weight:700;line-height:36px;font-size:28px;text-align:center;margin-bottom:24px}.channel-selection-description_MFGOM{font-size:16px;font-weight:400;line-height:24px;text-align:left;color:#333;margin-bottom:24px}.btn-primary_9w79K{background:#d9415c;border:none;border-radius:28px;color:#fff;font-weight:700;overflow:visible;padding:14px 24px}.btn-primary_9w79K:disabled{background-color:#e6e3df;color:#b3aeaa;cursor:default}@media (max-width:767px){.btn-primary_9w79K{padding:10px 24px}}.errorMsg_pDhM4{color:#bf0760;display:flex;font-size:12px;font-weight:400;line-height:16px;margin-bottom:4px}.resend_DQ50C{font-size:16px;font-weight:700;line-height:24px;text-align:center;color:#3d3935}.loginmodal_XhQt-{align-items:center;background-color:rgba(87,84,82,.4);font-size:16px;line-height:24px;color:#333;display:flex;height:100%;justify-content:center;left:0;padding:16px;position:fixed;top:0;transition:opacity 3s;width:100%;z-index:11}.loginmodal_XhQt- input{background:#f7f6f5!important}.loginmodal_XhQt- input:focus{border:2px solid #3d3935!important;border-radius:4px}.loginmodal_XhQt- input:disabled{background:#e6e3df!important}.loginmodal_XhQt- input.inputSuccess_dK7Uz{border-color:#8fd200!important;box-shadow:0 0 0 1px #8fd200!important}.loginmodal_XhQt- input::-webkit-inner-spin-button,.loginmodal_XhQt- input::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}.loginmodal_XhQt- input[type=number]{-moz-appearance:textfield!important}.iconcontainer_QpoFB{bottom:14px;position:absolute;right:12.25px}.logintitle_bnFYd{font-size:24px;font-weight:700;line-height:32px;text-align:center;width:100%}.formControl_hBGQP{border:none;padding:14px 0}.formControl_hBGQP::-ms-reveal{display:none}.formControl_hBGQP:focus,.formControl_hBGQP:not(:placeholder-shown){border-color:#000;box-shadow:none}.loginmodalLabel_gakRq{overflow:hidden;right:0;text-overflow:ellipsis;white-space:nowrap}.confirmbtn_woa5L{height:52px;width:150px}.horizontalline_ew-1o{border:1px solid #e5e5e5;margin:25px 0;width:70%}.infotooltip_e3Al0{font-size:12px;line-height:1.33;margin-top:4px}.eyeicon_XTxJn{display:inline-block;height:24px;margin-left:8px;width:24px}.credentialerror_T9TK0{color:#bf0760;display:flex;font-size:12px;font-weight:400;height:32px;line-height:16px;margin-top:4px;position:absolute;top:52px}.tempcode_rzrt5{font-size:16px;font-style:normal;font-weight:700;line-height:24px;padding:16px 0 0}.warningicon_3HIvk{content:"";display:inline-block;height:16px;margin-right:4px;margin-top:2px;width:16px}.blockedcontent_OQn79{background:#f9e7f0;border:1.5px solid #bf0760}.blockedcontent_OQn79,.warningcontent_KzTOC{align-items:flex-start;border-radius:8px;display:flex;flex-direction:column;height:120px;justify-content:center;padding:16px 16px 8px}.warningcontent_KzTOC{background:#fffae6;border:1.5px solid #ffc805}.technicalerror_n3C0N{height:90px}.updatedetails_DHwPR{color:#da291c;cursor:pointer;margin:0 5px;text-decoration:underline}.loginmodalrem_GKQDm{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:pointer;display:block;font-weight:700;padding-left:28px;position:relative;text-align:left;user-select:none}.loginmodalrem_GKQDm input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.loginmodalrem_GKQDm input:checked~.checkmark_XKH5n{background-color:#da291c;border:2px solid #da291c}.loginmodalrem_GKQDm input:checked~.checkmark_XKH5n:after{display:block}.loginmodalrem_GKQDm .checkmark_XKH5n{border:2px solid #5f5955;border-radius:4px;height:20px;left:0;position:absolute;top:2px;width:20px}.loginmodalrem_GKQDm .checkmark_XKH5n:after{-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);border:solid #fff;border-width:0 3px 3px 0;height:10px;left:5px;top:2px;transform:rotate(45deg);width:5px}
1
+ .card_G6N3b.sr-card_79oCF{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}.card_G6N3b.border-top_V2zp5{border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -2px 20px 0 rgba(61,57,53,.2);border:none}@media (min-width:768px){.sr-desk-card_KSJOc{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (max-width:767px){.sr-mob-card_DfJ-i{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (min-width:1024px){.sr-md-card_4trTA{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}.login-container_Ad6KQ{align-items:center;background-color:#fff;box-shadow:-1px 18px 25px 5px rgba(87,84,82,.4);display:flex;flex-direction:column;justify-content:center;max-width:624px;padding:24px 32px;position:absolute;width:100%;border-radius:4px}@media (max-width:767px){.login-container_Ad6KQ{padding:16px}}.login-header_hzlgu{width:100%;margin-bottom:24px;display:flex;justify-content:space-between}.login-header_hzlgu img,.login-header_hzlgu span{cursor:pointer}.icon-container_FGJQU{width:24px;height:24px}.back-text_MKh1u{font-weight:700;font-size:16px;line-height:24px;color:#da291c;padding-left:4px}.channel-selection-title_0iFVE{font-weight:700;line-height:36px;font-size:28px;text-align:center;margin-bottom:24px}.channel-selection-description_MFGOM{font-size:16px;font-weight:400;line-height:24px;text-align:left;color:#333;margin-bottom:24px}.btn-primary_9w79K{background:#d9415c;border:none;border-radius:28px;color:#fff;font-weight:700;overflow:visible;padding:14px 24px}.btn-primary_9w79K:disabled{background-color:#e6e3df;color:#b3aeaa;cursor:default}@media (max-width:767px){.btn-primary_9w79K{padding:10px 24px}}.errorMsg_pDhM4{color:#bf0760;display:flex;font-size:12px;font-weight:400;line-height:16px;margin-bottom:4px}.resend_DQ50C{font-size:16px;font-weight:700;line-height:24px;text-align:center;color:#3d3935}.loginmodal_XhQt-{align-items:center;background-color:rgba(87,84,82,.4);font-size:16px;line-height:24px;color:#333;display:flex;height:100%;justify-content:center;left:0;padding:16px;position:fixed;top:0;transition:opacity 3s;width:100%;z-index:11}.loginmodal_XhQt- input{background:#f7f6f5!important}.loginmodal_XhQt- input:focus{border:2px solid #3d3935!important;border-radius:4px}.loginmodal_XhQt- input:disabled{background:#e6e3df!important}.loginmodal_XhQt- input.inputSuccess_dK7Uz{border-color:#8fd200!important;box-shadow:0 0 0 1px #8fd200!important}.loginmodal_XhQt- input::-webkit-inner-spin-button,.loginmodal_XhQt- input::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}.loginmodal_XhQt- input[type=number]{-moz-appearance:textfield!important}.iconcontainer_QpoFB{bottom:14px;position:absolute;right:12.25px}.logintitle_bnFYd{font-size:24px;font-weight:700;line-height:32px;text-align:center;width:100%}.formControl_hBGQP{border:none;padding:14px 0}.formControl_hBGQP::-ms-reveal{display:none}.formControl_hBGQP:focus,.formControl_hBGQP:not(:placeholder-shown){border-color:#000;box-shadow:none}.loginmodalLabel_gakRq{overflow:hidden;right:0;text-overflow:ellipsis;white-space:nowrap}.confirmbtn_woa5L{height:52px;width:150px}.horizontalline_ew-1o{border:1px solid #e5e5e5;margin:25px 0;width:70%}.infotooltip_e3Al0{font-size:12px;line-height:1.33;margin-top:4px}.eyeicon_XTxJn{display:inline-block;height:24px;margin-left:8px;width:24px}.credentialerror_T9TK0{color:#bf0760;display:flex;font-size:12px;font-weight:400;height:32px;line-height:16px;margin-top:4px;position:absolute;top:52px}.tempcode_rzrt5{font-size:16px;font-style:normal;font-weight:700;line-height:24px;padding:16px 0 0}.warningicon_3HIvk{content:"";display:inline-block;height:16px;margin-right:4px;margin-top:2px;width:16px}.blockedcontent_OQn79{background:#f9e7f0;border:1.5px solid #bf0760;border-radius:8px}.blockedcontent_OQn79,.warningcontent_KzTOC{align-items:flex-start;display:flex;flex-direction:column;height:120px;justify-content:center;padding:16px 16px 8px}.warningcontent_KzTOC{background:#fffae6;border:1.5px solid #ffc805;border-radius:8px}.technicalerror_n3C0N{height:90px}.updatedetails_DHwPR{color:#da291c;cursor:pointer;margin:0 5px;text-decoration:underline}.loginmodalrem_GKQDm{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:pointer;display:block;font-weight:700;padding-left:28px;position:relative;text-align:left;user-select:none}.loginmodalrem_GKQDm input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.loginmodalrem_GKQDm input:checked~.checkmark_XKH5n{background-color:#da291c;border:2px solid #da291c}.loginmodalrem_GKQDm input:checked~.checkmark_XKH5n:after{display:block}.loginmodalrem_GKQDm .checkmark_XKH5n{border:2px solid #5f5955;border-radius:4px;height:20px;left:0;position:absolute;top:2px;width:20px}.loginmodalrem_GKQDm .checkmark_XKH5n:after{-ms-transform:rotate(45deg);-webkit-transform:rotate(45deg);border:solid #fff;border-width:0 3px 3px 0;height:10px;left:5px;top:2px;transform:rotate(45deg);width:5px}
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{default as Button}from"./components/button/Button.js";export{default as LoginModalV2}from"./components/login/LoginModalV2.js";export{default as Card}from"./components/CardComp/Card.js";export{default as CardEntitlement}from"./components/CardEntitlement/CardEntitlement.js";export{default as CarouselComp}from"./components/sharedCarousel/CarouselComponent.js";export{default as ProductTeaser}from"./components/ProductTeaser/ProductTeaser.js";export{default as ProductTableV3}from"./components/lineTable/ProductTableV3.js";export{default as StickyProductAnchor}from"./components/StickyProductAnchor/StickyProductAnchor.js";export{default as StaticLineTable}from"./components/StaticLineTable/StaticLineTable.js";export{default as LinecheckModal}from"./components/LineCheckV3/LinecheckModal.js";export{default as BenefitWrapper}from"./components/BenefitWrapper/BenefitWrapper.js";export{default as Breadcrumb}from"./components/Breadcrumb/Breadcrumb.js";export{default as PretoPostSubsPopup}from"./components/PretoPost/PreToPostSubsPopup.js";export{default as HeroLogin}from"./components/HeroLogin/HeroLogin.js";export{default as CheckCoverage}from"./components/NewLineCheck/CovercheckWrapper.js";export{default as DpLinetable}from"./components/UltimateBundleLinetable/DpLinetableContainer.js";export{default as CoverageCheckModal}from"./components/NewLineCheck/CoverageCheckModal.js";export{default as FreshProductBannerHome}from"./components/freshProductBanner/freshProductBanner.js";export{default as DeviceCard}from"./components/DeviceCardWrapper/DeviceCards/DeviceCards.js";export{default as StickyBottomSheet}from"./components/StickyBottomSheet/StickyBottomSheet.js";export{default as ProgressionBar}from"./components/ProgressionBar/ProgressionBar.js";export{default as OttServiceOptionsSmallPopup}from"./components/StaticLineTable/OttServiceOptions/OttServiceOptionsSmallPopup.js";export{default as MultiItemAccessoriesWithProvider}from"./components/Accessories/MultiItemAccessories/MultiItemAccessoriesPage.js";export{default as NotificationToast}from"./components/NotificationToast/NotificationToast.js";export{default as RecommendedOptions}from"./components/RecommendedOptions/RecommendedOptions.js";export{default as PriceCalculationSticky}from"./components/PriceCalculationSticky/PriceCalculationSticky.js";export{default as OttMiniCard}from"./components/OttMiniSummaryCard/OttMiniSummaryCard.js";export{default as GenericMessage}from"./components/GenericMessage/GenericMessage.js";export{default as StaticLineTabelTimer}from"./components/StaticLineTable/StaticLineTabelTimer/StaticLineTabelTimer.js";export{default as Spacer}from"./components/Spacer/Spacer.js";export{AssetPathPropConfig,LineTableBasicPropConfig}from"./services/LineTableBasicPropConfig.js";export{ProductTeaserPropConfig}from"./services/ProductTeaserPropsConfig.js";export{LinecheckBasicPropConfig}from"./services/LinecheckBasicPropConfig.js";export{LoginBasicPropConfig}from"./services/LoginBasicPropConfig.js";export{DevicePropConfig}from"./services/DevicePropConfig.js";export{StickyBottomSheetPropConfig}from"./services/StickyBottomSheetConfig.js";export{ServiceOptionsPropConfig}from"./services/ServiceOptionsPropConfig.js";
1
+ export{default as Button}from"./components/button/Button.js";export{default as LoginModalV2}from"./components/login/LoginModalV2.js";export{default as Card}from"./components/CardComp/Card.js";export{default as CardEntitlement}from"./components/CardEntitlement/CardEntitlement.js";export{default as CarouselComp}from"./components/sharedCarousel/CarouselComponent.js";export{default as ProductTeaser}from"./components/ProductTeaser/ProductTeaser.js";export{default as ProductTableV3}from"./components/lineTable/ProductTableV3.js";export{default as StickyProductAnchor}from"./components/StickyProductAnchor/StickyProductAnchor.js";export{default as StaticLineTable}from"./components/StaticLineTable/StaticLineTable.js";export{default as LinecheckModal}from"./components/LineCheckV3/LinecheckModal.js";export{default as BenefitWrapper}from"./components/BenefitWrapper/BenefitWrapper.js";export{default as Breadcrumb}from"./components/Breadcrumb/Breadcrumb.js";export{default as PretoPostSubsPopup}from"./components/PretoPost/PreToPostSubsPopup.js";export{default as HeroLogin}from"./components/HeroLogin/HeroLogin.js";export{default as CheckCoverage}from"./components/NewLineCheck/CoverCheckWrapper.js";export{default as DpLinetable}from"./components/UltimateBundleLinetable/DpLinetableContainer.js";export{default as CoverageCheckModal}from"./components/NewLineCheck/CoverageCheckModal.js";export{default as FreshProductBannerHome}from"./components/freshProductBanner/freshProductBanner.js";export{default as DeviceCard}from"./components/DeviceCardWrapper/DeviceCards/DeviceCards.js";export{default as StickyBottomSheet}from"./components/StickyBottomSheet/StickyBottomSheet.js";export{default as ProgressionBar}from"./components/ProgressionBar/ProgressionBar.js";export{default as OttServiceOptionsSmallPopup}from"./components/StaticLineTable/OttServiceOptions/OttServiceOptionsSmallPopup.js";export{default as MultiItemAccessoriesWithProvider}from"./components/Accessories/MultiItemAccessories/MultiItemAccessoriesPage.js";export{default as NotificationToast}from"./components/NotificationToast/NotificationToast.js";export{default as RecommendedOptions}from"./components/RecommendedOptions/RecommendedOptions.js";export{default as PriceCalculationSticky}from"./components/PriceCalculationSticky/PriceCalculationSticky.js";export{default as OttMiniCard}from"./components/OttMiniSummaryCard/OttMiniSummaryCard.js";export{default as GenericMessage}from"./components/GenericMessage/GenericMessage.js";export{default as StaticLineTabelTimer}from"./components/StaticLineTable/StaticLineTabelTimer/StaticLineTabelTimer.js";export{default as Spacer}from"./components/Spacer/Spacer.js";export{AssetPathPropConfig,LineTableBasicPropConfig}from"./services/LineTableBasicPropConfig.js";export{ProductTeaserPropConfig}from"./services/ProductTeaserPropsConfig.js";export{LinecheckBasicPropConfig}from"./services/LinecheckBasicPropConfig.js";export{LoginBasicPropConfig}from"./services/LoginBasicPropConfig.js";export{DevicePropConfig}from"./services/DevicePropConfig.js";export{StickyBottomSheetPropConfig}from"./services/StickyBottomSheetConfig.js";export{ServiceOptionsPropConfig}from"./services/ServiceOptionsPropConfig.js";
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunrise-upc/mobile-prod-card",
3
- "version": "12.0.0",
3
+ "version": "12.0.2",
4
4
  "description": "Starter project to create reusable functional component",
5
5
  "type": "module",
6
6
  "main": "dist/esm/index.js",