@sunrise-upc/mobile-prod-card 12.3.0-beta.4 → 12.3.0-beta.6

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{createPortal as n}from"react-dom";import t from"./AccessoryCard.module.scss.js";import d from"../DeviceCarouselComponent.js";import v from"../../ResponsiveRow/row.js";import{viewport as a,replacePlaceholder as r,getCompressedImage as c,countZero as s}from"../../../utils/utils.js";import{getCookie as u}from"cookies-next";import m from"../../FalconButtonV2/FalconButtonV2.js";import p from"./AccessoryModal.js";import y from"../../richtext.js";import{INFO as g,REPLACESELECTION as b,POPUP as h,OPENPOPUP as f,GAEVENT as E,OPEN as T,CLOSE as P,FORM as N,ACCORDIONCLICK as A,CONTINUE as I,LINK as k,TABCLICK as C,CLOSEPOPUP as S,REMOVEFROMCART as R,ADD_TO_CART as x,KEEPPREVIOUS as $,CTABUTTONCLICK as w,REPLACE as j}from"../../../Analytics/AnalyticsConstants.js";import{trackNewDatalayerEvent as L,trackViewItem as B}from"../../../utils/AnalyticsUtils.js";import{MOBILERATEPLAN as D,ACCESSORY as F,WATCHES as O,TABLETS as M,CONTRACT as _,FLEX_UPGRADE as K,HARDWARE as U,REMOVE as z,ADD as J}from"../../../utils/constants.js";import{useMultiAccessoryContext as V}from"../multiItemAccessoryStore/useMultiAccessoryContext.js";import{useMultiAccessoryActions as H}from"../multiItemAccessoryStore/useMultiAccessoryActions.js";import{useMultiAccessoryUpdateCartActions as W,buildSingleItemCartPayload as G}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";import Q from"../../GlobalDotLoader/GlobalDotLoader.js";const X=({content:X,tabIndex:Y,isSubscriptionFlow:Z,setAccessoriesSelected:ee})=>{var le,ie,oe,ne,te,de,ve,ae,re,ce,se,ue,me,pe,ye,ge,be,he,fe,Ee,Te,Pe,Ne,Ae,Ie,ke,Ce,Se,Re,xe,$e;const we=u("one-commerce-cartId"),[je,Le]=i(!1),Be=a(),[De,Fe]=i(!1),[Oe,Me]=i(null),[_e,Ke]=i(0),{store:Ue,dispatch:ze}=V(),Je=H(ze),Ve=W(),{updateAccessoryCartFailure:He}=Ue,{multiItemAccessoriessList:We,deviceSessionValues:Ge,selectedPaymentType:qe,recommendedAccessories:Qe,cartData:Xe,loading:Ye,showMiniCart:Ze}=Ue,[el,ll]=i(!1),il=(null===(te=null===(ne=null===(oe=null===(ie=null===(le=null==X?void 0:X.globalDotLoader)||void 0===le?void 0:le[0])||void 0===ie?void 0:ie.reference)||void 0===oe?void 0:oe.content)||void 0===ne?void 0:ne.body)||void 0===te?void 0:te[0])?null===(ce=null===(re=null===(ae=null===(ve=null===(de=null==X?void 0:X.globalDotLoader)||void 0===de?void 0:de[0])||void 0===ve?void 0:ve.reference)||void 0===ae?void 0:ae.content)||void 0===re?void 0:re.body)||void 0===ce?void 0:ce[0]:null===(se=null==X?void 0:X.globalDotLoader)||void 0===se?void 0:se[0],ol="undefined"!=typeof window&&document.getElementById("multi-accessory-card"),nl=!!(null===(me=null===(ue=[D])||void 0===ue?void 0:ue.includes)||void 0===me?void 0:me.call(ue,null===(ge=null===(ye=null===(pe=null==Qe?void 0:Qe[null==Ue?void 0:Ue.selectedTab])||void 0===pe?void 0:pe.hardware)||void 0===ye?void 0:ye[0])||void 0===ge?void 0:ge.recommendationProcessingType))||!(null==Ge?void 0:Ge.hardwareVariant),tl={[F]:Z?nl?+(null==X?void 0:X.ratePlanAccessoriesLimit):+(null==X?void 0:X.winAccessoriesLimit):+(null==X?void 0:X.accessoriesLimit),WATCHES:1,TABLETS:1},dl=e=>{L(E,A,{component:N,click_text:e?T:P}),Je.setShowMiniCart(e)},vl=JSON.parse(r(JSON.stringify(null==X?void 0:X.cartLimitWarningText),[null==tl?void 0:tl[Ue.selectedTab].toString()])),al=null===(be=null==q?void 0:q.getInstance())||void 0===be?void 0:be.getAssetPath(),rl=(e,l)=>{var i;const o=G(e,l,null==Ue?void 0:Ue.selectedTab,Ue);o.length>0&&Ve.multiItemAccessorycreateCartRequest({id:we,redirectUrl:"",skipRedirect:!0,previousTab:null==Ue?void 0:Ue.selectedTab,cartItems:o,successLoaderData:{duration:null!==(i=null==il?void 0:il.successMsgDuration)&&void 0!==i?i:"0",successLoaderCallback:ll}})},cl=(e,l,i)=>{var o,n;if(e.preventDefault(),null===(o=null==Xe?void 0:Xe[null==Ue?void 0:Ue.selectedTab])||void 0===o?void 0:o[null===(n=null==l?void 0:l.recomApiResponse)||void 0===n?void 0:n.id])sl(E,R,l,i),rl(l,z);else{if(yl(l,i))return;sl(x,x,l,i),rl(l,J)}},sl=(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==Ue?void 0:Ue.selectedTab})},ul=e=>{var l,i,o;e.preventDefault();if((null===(l=Object.keys(He))||void 0===l?void 0:l.length)>0)return Le(!1),void Ve.setupdateAccessoryCartFailure({});const n=Z?null===(i=null==X?void 0:X.winCheckoutUrl)||void 0===i?void 0:i.cached_url:null===(o=null==X?void 0:X.multiItemCheckoutUrl)||void 0===o?void 0:o.url;L(E,C,{component:k,click_text:I}),window.location.href=n},ml=()=>{var e;Le(e=>!e),(null===(e=Object.keys(He))||void 0===e?void 0:e.length)>0&&Ve.setupdateAccessoryCartFailure({})};o(()=>{var e;(null===(e=Object.keys(He))||void 0===e?void 0:e.length)>0&&Le(e=>!e)},[He]);const pl=()=>{Fe(!1),Me(null),Ke(0)},yl=(e,l)=>Object.keys((null==Xe?void 0:Xe[null==Ue?void 0:Ue.selectedTab])||{}).length>=(null==tl?void 0:tl[Ue.selectedTab])&&(Fe(!0),Me(e||null),Ke(l||0),!0),gl={},bl={},hl={};((null==X?void 0:X.recommendationType)||[]).map(e=>{var l;gl[e]=(e=>Object.keys((null==Xe?void 0:Xe[e])||{}).length)(e),bl[`${e}_icon`]=null===(l=null==X?void 0:X[`${e.toLowerCase()}Icon`])||void 0===l?void 0:l.filename,hl[`${e}_title`]=null==X?void 0:X[`selectionSummary${e[0]}${e.slice(1).toLowerCase()}Title`]});const{items:fl,totalOneTimePrice:El,totalMonthlyPrice:Tl}=(()=>{var e,l,i,o,n,t,d,v,a,r,c,s;let u=0,m=0;const p=((null==X?void 0:X.recommendationType)||[]).flatMap(e=>{const l=(null==We?void 0:We[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==Xe?void 0:Xe[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==Xe?void 0:Xe[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)||[],f=e.filter(e=>"monthly"===(null==e?void 0:e.recurringChargePeriod)),E=null===(t=f.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(E||(null===(u=null===(s=null===(c=null==f?void 0:f[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)===U?C:0))}return{name:y,monthlyInstallment:g,oneTimePrice:b}})(Xe[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[O,M]){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==Qe?void 0:Qe[u])||void 0===e?void 0:e.ratePlan)||void 0===l?void 0:l.derivedPrice)&&void 0!==i?i:null===(n=null===(o=null==Qe?void 0:Qe[u])||void 0===o?void 0:o.ratePlan)||void 0===n?void 0:n.listPrice)&&void 0!==t?t:null===(v=null===(d=null==Xe?void 0:Xe.ratePlanInfo)||void 0===d?void 0:d[u])||void 0===v?void 0:v.derivedPrice)&&void 0!==a?a:null===(c=null===(r=null==Xe?void 0:Xe.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}})(),Pl=Object.values(gl).reduce((e,l)=>e+l,0);return l.createElement(l.Fragment,null,(Ye||el)&&ol&&n(l.createElement(Q,{content:il,isSuccess:el}),ol),l.createElement(v,null,l.createElement("div",{className:t.mainPage},Object.keys((null==We?void 0:We[null==Ue?void 0:Ue.selectedTab])||[]).length>=(null==tl?void 0:tl[Ue.selectedTab])&&(null==Ue?void 0:Ue.selectedTab)===F&&l.createElement("div",{className:t.cartLimitTxt},l.createElement(y,{content:vl})),((null==Ue?void 0:Ue.selectedTab)===O||(null==Ue?void 0:Ue.selectedTab)===M)&&l.createElement("div",{className:t.extraSimHeading},(null==Ue?void 0:Ue.selectedTab)===O?null==X?void 0:X.watchesHeading:null==X?void 0:X.tabletsHeading),l.createElement(d,{key:null==Ue?void 0:Ue.selectedTab},null===(fe=null===(he=(null==We?void 0:We[null==Ue?void 0:Ue.selectedTab])||[])||void 0===he?void 0:he.filter(e=>{var l,i;return qe===_?(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===fe?void 0:fe.map((e,i)=>{var o,n,d,v,a,r,u,p,y,g,b,h,f,E,T,P,N,A,I,k,C,S,R,x,$,w,j,L,B,D,U,z,J,V,H,W,G,q,Q,Z,ee,le,ie,oe,ne,te,de,ve,ae,re,ce,se,ue,me,pe,ye,ge;return l.createElement("div",{key:i,className:`${t.card} ${(null===(o=null==Xe?void 0:Xe[null==Ue?void 0:Ue.selectedTab])||void 0===o?void 0:o[null===(n=null==e?void 0:e.recomApiResponse)||void 0===n?void 0:n.id])?t.selectedCard:""}`},l.createElement("div",{className:t.detailSection,id:`detailsectionv3${Y}${i}`},(null!==(u=null===(r=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===r?void 0:r.displayText)&&void 0!==u?u:null===(p=null==e?void 0:e.sbStoryItem)||void 0===p?void 0:p.displayText)&&l.createElement("div",{className:t.heading,id:`headingV3${Y}${i}`},null!==(f=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!==f?f:null===(E=null==e?void 0:e.sbStoryItem)||void 0===E?void 0:E.displayText,(null==Ue?void 0:Ue.selectedTab)===F&&(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:t.optionalText},null==X?void 0:X.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:t.accImage,id:`image${Y}${i}`},((null==Ue?void 0:Ue.selectedTab)===O||(null==Ue?void 0:Ue.selectedTab)===M)&&(null===(C=null==X?void 0:X.esimIcon)||void 0===C?void 0:C.filename)&&l.createElement("div",{className:t.esimBadge},(null===(R=null===(S=null==e?void 0:e.sbStoryItem)||void 0===S?void 0:S.energyIcon)||void 0===R?void 0:R.filename)&&l.createElement("img",{loading:"lazy",src:c(al,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==X?void 0:X.esimIcon)||void 0===w?void 0:w.filename,alt:"eSIM",className:t.esimIcon})),l.createElement("img",{loading:"lazy",src:c(al,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:t.mainPriceContainer,id:`main-price-section${Y}${i}`},qe===_?l.createElement("div",{className:t.priceContainer,id:`price-detail-section${Y}${i}`},l.createElement("div",{className:t.price,id:`price${Y}${i}`},l.createElement("span",{style:{color:(null===(B=null===(L=null==e?void 0:e.recomApiResponse)||void 0===L?void 0:L.recurringPrice)||void 0===B?void 0:B.marketMonthlyInstallment)?"#5E94CF":"#3D3935"}},s(null===(U=null===(D=null==e?void 0:e.recomApiResponse)||void 0===D?void 0:D.recurringPrice)||void 0===U?void 0:U.monthlyInstallment)),(null===(J=null===(z=null==e?void 0:e.recomApiResponse)||void 0===z?void 0:z.recurringPrice)||void 0===J?void 0:J.marketMonthlyInstallment)&&l.createElement("span",{className:t.strikedMonthlyPrice},s(null===(H=null===(V=null==e?void 0:e.recomApiResponse)||void 0===V?void 0:V.recurringPrice)||void 0===H?void 0:H.marketMonthlyInstallment)),l.createElement("span",{className:(null===(G=null===(W=null==e?void 0:e.recomApiResponse)||void 0===W?void 0:W.recurringPrice)||void 0===G?void 0:G.marketMonthlyInstallment)?null==t?void 0:t.monthlyStrikethroughText:t.monthlyText},null==X?void 0:X.monthlyText)),l.createElement("div",{className:t.totalPrice},null==X?void 0:X.totalText," ",s(null===(Q=null===(q=null==e?void 0:e.recomApiResponse)||void 0===q?void 0:q.oneTimePrice)||void 0===Q?void 0:Q.base)," ",l.createElement("span",{className:t.strikedtotalMonthlyPrice,style:{visibility:(null===(ee=null===(Z=null==e?void 0:e.recomApiResponse)||void 0===Z?void 0:Z.oneTimePrice)||void 0===ee?void 0:ee.market)?"visible":"hidden"}},s(null===(ie=null===(le=null==e?void 0:e.recomApiResponse)||void 0===le?void 0:le.oneTimePrice)||void 0===ie?void 0:ie.market))),l.createElement("div",{className:t.priceDescription},null==X?void 0:X.monthlyPaymentLabel,l.createElement("br",null),null==X?void 0:X.monthlyDownPaymentLabel),(null===(ne=null===(oe=null==e?void 0:e.recomApiResponse)||void 0===oe?void 0:oe.includedOptions)||void 0===ne?void 0:ne.includes(K))&&(null==X?void 0:X.freeFUText)&&l.createElement("div",{className:t.flexUpgradeText},null==X?void 0:X.freeFUText)):l.createElement("div",{className:t.priceContainer,id:`price-detail-section${Y}${i}`},l.createElement("div",{className:t.price,style:{color:(null===(de=null===(te=null==e?void 0:e.recomApiResponse)||void 0===te?void 0:te.recurringPrice)||void 0===de?void 0:de.marketMonthlyInstallment)?"#5E94CF":"#3D3935"},id:`price${Y}${i}`},l.createElement("span",{className:t.oneTimePrice},s(null===(ae=null===(ve=null==e?void 0:e.recomApiResponse)||void 0===ve?void 0:ve.oneTimePrice)||void 0===ae?void 0:ae.base)),(null===(ce=null===(re=null==e?void 0:e.recomApiResponse)||void 0===re?void 0:re.oneTimePrice)||void 0===ce?void 0:ce.market)&&l.createElement("span",{className:t.strikedMonthlyPrice},s(null===(ue=null===(se=null==e?void 0:e.recomApiResponse)||void 0===se?void 0:se.oneTimePrice)||void 0===ue?void 0:ue.market))),l.createElement("div",{className:t.priceDescription},null==X?void 0:X.oneTimePaymentLabel)),(null==X?void 0:X.addtocartButton.length)>0&&(null==X?void 0:X.removefromcartButton.length)>0&&l.createElement("div",{className:`${t.cartBtn}`,id:`add-crt-btn${Y}${i}`},(null===(me=null==Xe?void 0:Xe[null==Ue?void 0:Ue.selectedTab])||void 0===me?void 0:me[null===(pe=null==e?void 0:e.recomApiResponse)||void 0===pe?void 0:pe.id])?l.createElement(l.Fragment,null,l.createElement(m,{content:null===(ye=null==X?void 0:X.removefromcartButton)||void 0===ye?void 0:ye[0],onClick:l=>cl(l,e,i),wafIdentifier:al,disabled:Ye})):l.createElement(m,{content:null===(ge=null==X?void 0:X.addtocartButton)||void 0===ge?void 0:ge[0],onClick:l=>cl(l,e,i),wafIdentifier:al,disabled:Ye}))))})),l.createElement("div",{className:t.miaFooter},Pl>0&&(null==X?void 0:X.enableSelectionSummary)&&Object.keys(Qe||{}).length>1&&qe===_&&l.createElement("div",{className:t.miniSummary},l.createElement("div",{className:t.titleRow},l.createElement("span",{className:`fw-bold ${t.titleLabel}`},null==X?void 0:X.yourSelectionTitle),l.createElement("span",{className:t.titleIcons},((null==X?void 0:X.recommendationType)||[]).map(e=>{var i;return gl[e]>0&&l.createElement(l.Fragment,null,(e===O&&gl[F]>0||e===M&&(gl[F]>0||gl[O]>0))&&l.createElement("span",null,l.createElement("img",{loading:"lazy",src:c(al,null===(i=null==X?void 0:X.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:c(al,null==bl?void 0:bl[`${e}_icon`]),alt:`${e}_icon`})," ",gl[e],"x ",null==hl?void 0:hl[`${e}_title`]))})),l.createElement("div",{className:`fw-bold ${t.cartPrice}`},qe===_?l.createElement(l.Fragment,null,s(Tl),null==X?void 0:X.monthlyText):s(El)),Ze?l.createElement("img",{className:t.cartToggle,onClick:()=>dl(!Ze),loading:"lazy",src:c(al,null===(Te=null==X?void 0:X.selectionSummaryCollapseIcon)||void 0===Te?void 0:Te.filename),alt:"expand_icon",width:24,height:24}):l.createElement("img",{className:t.cartToggle,onClick:()=>dl(!Ze),loading:"lazy",src:c(al,null===(Ee=null==X?void 0:X.selectionSummaryExpandIcon)||void 0===Ee?void 0:Ee.filename),alt:"expand_icon",width:24,height:24})),Ze&&l.createElement(l.Fragment,null,l.createElement("div",{className:t.miniCartDivider}),fl.map(i=>{var o,n,d,v,a,r,u,m,p,y,g,b,h,f,T,P,N,A,I,k,C,S,x,$,w,j,L,B,D,F,K,U,z,J,V,H,W,G,q;return l.createElement("div",{className:t.itemRow,key:null===(o=null==i?void 0:i.recomApiResponse)||void 0===o?void 0:o.id},l.createElement("div",{className:t.itemLine},l.createElement("span",{className:t.itemName},null===(n=null==i?void 0:i.recomApiResponse)||void 0===n?void 0:n.name),l.createElement("div",{className:t.cartPrice},qe===_?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:t.oneTime},"(",s(null===(r=null===(a=null==i?void 0:i.recomApiResponse)||void 0===a?void 0:a.oneTimePrice)||void 0===r?void 0:r.base),")"),s(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==X?void 0:X.monthlyText):s(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:t.cartDelete,loading:"lazy",src:c(al,null===(g=null==X?void 0:X.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==Xe?void 0:Xe[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==Xe?void 0:Xe[t])||void 0===o?void 0:o[null===(n=null==l?void 0:l.recomApiResponse)||void 0===n?void 0:n.id])&&(yield Ve.removeItemFromCart(we,l)),sl(E,R,l,0)}))(i),width:20,height:20})),[O,M].includes(null==i?void 0:i.tabKey)&&l.createElement("div",{className:t.itemLine},l.createElement("span",{className:`${t.itemName} ${t.rpName}`},(null===(h=null===(b=null==Qe?void 0:Qe[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==Xe?void 0:Xe.ratePlanInfo)||void 0===f?void 0:f[null==i?void 0:i.tabKey])||void 0===T?void 0:T.name)),l.createElement("div",{className:t.rpPrice},s(Number.isFinite(Number(null!==(L=null!==($=null!==(C=null!==(A=null===(N=null===(P=null==Qe?void 0:Qe[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==Qe?void 0:Qe[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==Xe?void 0:Xe.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==Xe?void 0:Xe.ratePlanInfo)||void 0===w?void 0:w[null==i?void 0:i.tabKey])||void 0===j?void 0:j.monthlyPrice)&&void 0!==L?L:0))?Number(null!==(q=null!==(H=null!==(z=null!==(F=null===(D=null===(B=null==Qe?void 0:Qe[null==i?void 0:i.tabKey])||void 0===B?void 0:B.ratePlan)||void 0===D?void 0:D.derivedPrice)&&void 0!==F?F:null===(U=null===(K=null==Qe?void 0:Qe[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===(V=null===(J=null==Xe?void 0:Xe.ratePlanInfo)||void 0===J?void 0:J[null==i?void 0:i.tabKey])||void 0===V?void 0:V.derivedPrice)&&void 0!==H?H:null===(G=null===(W=null==Xe?void 0:Xe.ratePlanInfo)||void 0===W?void 0:W[null==i?void 0:i.tabKey])||void 0===G?void 0:G.monthlyPrice)&&void 0!==q?q:0):0),null==X?void 0:X.monthlyText)),l.createElement("hr",{className:t.itemDivider}))}))),l.createElement("div",{className:`${t.checkoutBtn}`},(null===(Pe=null==X?void 0:X.proceedtocheckoutButton)||void 0===Pe?void 0:Pe.length)>0&&l.createElement(m,{content:X.proceedtocheckoutButton[0],eventAction:"",onClick:e=>ul(e),wafIdentifier:al,disabled:Ye}))))),je&&l.createElement(p,{modalState:je,handler:()=>{ml()},showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Be||"desktop"===Be||"tablet"===Be?"460px":"",noCloseButton:!1,backDrop:!0}," ",l.createElement("div",{className:`${t.accessoryErrorUpdate}`},l.createElement(y,{content:null===(Ae=null===(Ne=null==X?void 0:X.errorModal)||void 0===Ne?void 0:Ne[0])||void 0===Ae?void 0:Ae.heading}),l.createElement(y,{content:null===(ke=null===(Ie=null==X?void 0:X.errorModal)||void 0===Ie?void 0:Ie[0])||void 0===ke?void 0:ke.description}),l.createElement("div",{className:`${t.accessoryErrorButtons}`},l.createElement("div",{className:`${t.cancelButton}`,onClick:()=>{ml()}},null==X?void 0:X.cancelButtonLinkText),l.createElement(m,{content:null===(Ce=null==X?void 0:X.retryButton)||void 0===Ce?void 0:Ce[0],onClick:e=>ul(e),metadata:void 0,wafIdentifier:al})))),De&&(null==Ue?void 0:Ue.selectedTab)===F&&l.createElement(p,{modalState:De,handler:()=>{pl()},showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Be||"desktop"===Be||"tablet"===Be?"624px":"",noCloseButton:!1,backDrop:!0},l.createElement("div",{className:`${t.accessoryErrorUpdate}`},l.createElement(y,{content:JSON.parse(r(JSON.stringify(null===(Re=null===(Se=null==X?void 0:X.cartLimitModal)||void 0===Se?void 0:Se[0])||void 0===Re?void 0:Re.heading),[null==tl?void 0:tl[Ue.selectedTab].toString()]))}),l.createElement(y,{content:JSON.parse(r(JSON.stringify(null===($e=null===(xe=null==X?void 0:X.cartLimitModal)||void 0===xe?void 0:xe[0])||void 0===$e?void 0:$e.description),[null==tl?void 0:tl[Ue.selectedTab].toString()]))}),l.createElement("div",{className:`${t.accessoryErrorButtons}`},l.createElement("div",{className:`${t.cancelButton}`,onClick:()=>{pl()}},null==X?void 0:X.cartLimitBtnText)))),De&&((null==Ue?void 0:Ue.selectedTab)===O||(null==Ue?void 0:Ue.selectedTab)===M)&&(()=>{var e,i,o,n,d,v,a;const r=(()=>{var e,l;return(null==Ue?void 0:Ue.selectedTab)===O?null===(e=null==X?void 0:X.watchesSelectionPopup)||void 0===e?void 0:e[0]:null===(l=null==X?void 0:X.tabletsSelectionPopup)||void 0===l?void 0:l[0]})();return L(E,f,{component:h,message_title:b,message_description:null===(v=null===(d=null===(n=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===n?void 0:n[0])||void 0===d?void 0:d.text)||void 0===v?void 0:v.slice(0,100),message_type:g}),l.createElement(p,{modalState:De,handler:()=>(e=>{var l,i,o,n,t,d;(null==e?void 0:e.description)&&L(E,S,{component:h,message_title:b,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:g}),pl()})(r),showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Be||"desktop"===Be||"tablet"===Be?"624px":"",noCloseButton:!1,backDrop:!0},l.createElement(l.Fragment,null,(null==r?void 0:r.heading)&&l.createElement("div",{className:t.modalHeading},l.createElement(y,{content:r.heading})),(null==r?void 0:r.description)&&l.createElement("div",{className:t.modalDescription},l.createElement(y,{content:r.description})),l.createElement("div",{className:t.modalButtons},(null==r?void 0:r.link)&&l.createElement("a",{className:t.factSheetLink,onClick:()=>(L(E,w,{component:k,click_text:$}),void pl())},r.linkText),(null===(a=null==r?void 0:r.button)||void 0===a?void 0:a.length)>0&&l.createElement(m,{content:r.button[0],onClick:()=>(()=>{if(L(E,w,{component:k,click_text:j}),!Oe)return void pl();const e=((null==We?void 0:We[null==Ue?void 0:Ue.selectedTab])||[]).find(e=>{var l,i;return null===(l=null==Xe?void 0:Xe[null==Ue?void 0:Ue.selectedTab])||void 0===l?void 0:l[null===(i=null==e?void 0:e.recomApiResponse)||void 0===i?void 0:i.id]});e&&(sl(E,R,e,0),rl(e,z)),sl(x,x,Oe,_e),rl(Oe,J),pl()})(),metadata:void 0,wafIdentifier:""}))))})())};export{X as default};
1
+ import{__awaiter as e}from"../../../_virtual/_tslib.js";import l,{useState as i,useEffect as o}from"react";import{createPortal as n}from"react-dom";import t from"./AccessoryCard.module.scss.js";import d from"../DeviceCarouselComponent.js";import v from"../../ResponsiveRow/row.js";import{viewport as a,replacePlaceholder as r,getCompressedImage as c,countZero as s}from"../../../utils/utils.js";import{getCookie as u}from"cookies-next";import m from"../../FalconButtonV2/FalconButtonV2.js";import p from"./AccessoryModal.js";import y from"../../richtext.js";import{INFO as g,REPLACESELECTION as b,POPUP as h,OPENPOPUP as f,GAEVENT as E,OPEN as T,CLOSE as P,FORM as N,ACCORDIONCLICK as A,CONTINUE as I,LINK as k,TABCLICK as C,CLOSEPOPUP as S,REMOVEFROMCART as R,ADD_TO_CART as x,KEEPPREVIOUS as $,CTABUTTONCLICK as w,REPLACE as j}from"../../../Analytics/AnalyticsConstants.js";import{trackNewDatalayerEvent as L,trackViewItem as B}from"../../../utils/AnalyticsUtils.js";import{MOBILERATEPLAN as D,ACCESSORY as F,WATCHES as O,TABLETS as M,CONTRACT as _,FLEX_UPGRADE as K,HARDWARE as U,ADD as z,REMOVE as J}from"../../../utils/constants.js";import{useMultiAccessoryContext as V}from"../multiItemAccessoryStore/useMultiAccessoryContext.js";import{useMultiAccessoryActions as H}from"../multiItemAccessoryStore/useMultiAccessoryActions.js";import{useMultiAccessoryUpdateCartActions as W,buildSingleItemCartPayload as G}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";import Q from"../../GlobalDotLoader/GlobalDotLoader.js";const X=({content:X,tabIndex:Y,isSubscriptionFlow:Z,setAccessoriesSelected:ee})=>{var le,ie,oe,ne,te,de,ve,ae,re,ce,se,ue,me,pe,ye,ge,be,he,fe,Ee,Te,Pe,Ne,Ae,Ie,ke,Ce,Se,Re,xe,$e;const we=u("one-commerce-cartId"),[je,Le]=i(!1),Be=a(),[De,Fe]=i(!1),[Oe,Me]=i(null),[_e,Ke]=i(0),{store:Ue,dispatch:ze}=V(),Je=H(ze),Ve=W(),{updateAccessoryCartFailure:He}=Ue,{multiItemAccessoriessList:We,deviceSessionValues:Ge,selectedPaymentType:qe,recommendedAccessories:Qe,cartData:Xe,loading:Ye,showMiniCart:Ze}=Ue,[el,ll]=i(!1),il=(null===(te=null===(ne=null===(oe=null===(ie=null===(le=null==X?void 0:X.globalDotLoader)||void 0===le?void 0:le[0])||void 0===ie?void 0:ie.reference)||void 0===oe?void 0:oe.content)||void 0===ne?void 0:ne.body)||void 0===te?void 0:te[0])?null===(ce=null===(re=null===(ae=null===(ve=null===(de=null==X?void 0:X.globalDotLoader)||void 0===de?void 0:de[0])||void 0===ve?void 0:ve.reference)||void 0===ae?void 0:ae.content)||void 0===re?void 0:re.body)||void 0===ce?void 0:ce[0]:null===(se=null==X?void 0:X.globalDotLoader)||void 0===se?void 0:se[0],ol="undefined"!=typeof window&&document.getElementById("multi-accessory-card"),nl=!!(null===(me=null===(ue=[D])||void 0===ue?void 0:ue.includes)||void 0===me?void 0:me.call(ue,null===(ge=null===(ye=null===(pe=null==Qe?void 0:Qe[null==Ue?void 0:Ue.selectedTab])||void 0===pe?void 0:pe.hardware)||void 0===ye?void 0:ye[0])||void 0===ge?void 0:ge.recommendationProcessingType))||!(null==Ge?void 0:Ge.hardwareVariant),tl={[F]:Z?nl?+(null==X?void 0:X.ratePlanAccessoriesLimit):+(null==X?void 0:X.winAccessoriesLimit):+(null==X?void 0:X.accessoriesLimit),WATCHES:1,TABLETS:1},dl=e=>{L(E,A,{component:N,click_text:e?T:P}),Je.setShowMiniCart(e)},vl=JSON.parse(r(JSON.stringify(null==X?void 0:X.cartLimitWarningText),[null==tl?void 0:tl[Ue.selectedTab].toString()])),al=null===(be=null==q?void 0:q.getInstance())||void 0===be?void 0:be.getAssetPath(),rl=(e,l)=>{var i;const o=G(e,l,null==Ue?void 0:Ue.selectedTab,Ue);o.length>0&&Ve.multiItemAccessorycreateCartRequest({id:we,redirectUrl:"",skipRedirect:!0,previousTab:null==Ue?void 0:Ue.selectedTab,cartItems:o,successLoaderData:{duration:l===z&&null!==(i=null==il?void 0:il.successMsgDuration)&&void 0!==i?i:"0",successLoaderCallback:ll}})},cl=(e,l,i)=>{var o,n;if(e.preventDefault(),null===(o=null==Xe?void 0:Xe[null==Ue?void 0:Ue.selectedTab])||void 0===o?void 0:o[null===(n=null==l?void 0:l.recomApiResponse)||void 0===n?void 0:n.id])sl(E,R,l,i),rl(l,J);else{if(yl(l,i))return;sl(x,x,l,i),rl(l,z)}},sl=(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==Ue?void 0:Ue.selectedTab})},ul=e=>{var l,i,o;e.preventDefault();if((null===(l=Object.keys(He))||void 0===l?void 0:l.length)>0)return Le(!1),void Ve.setupdateAccessoryCartFailure({});const n=Z?null===(i=null==X?void 0:X.winCheckoutUrl)||void 0===i?void 0:i.cached_url:null===(o=null==X?void 0:X.multiItemCheckoutUrl)||void 0===o?void 0:o.url;L(E,C,{component:k,click_text:I}),window.location.href=n},ml=()=>{var e;Le(e=>!e),(null===(e=Object.keys(He))||void 0===e?void 0:e.length)>0&&Ve.setupdateAccessoryCartFailure({})};o(()=>{var e;(null===(e=Object.keys(He))||void 0===e?void 0:e.length)>0&&Le(e=>!e)},[He]);const pl=()=>{Fe(!1),Me(null),Ke(0)},yl=(e,l)=>Object.keys((null==Xe?void 0:Xe[null==Ue?void 0:Ue.selectedTab])||{}).length>=(null==tl?void 0:tl[Ue.selectedTab])&&(Fe(!0),Me(e||null),Ke(l||0),!0),gl={},bl={},hl={};((null==X?void 0:X.recommendationType)||[]).map(e=>{var l;gl[e]=(e=>Object.keys((null==Xe?void 0:Xe[e])||{}).length)(e),bl[`${e}_icon`]=null===(l=null==X?void 0:X[`${e.toLowerCase()}Icon`])||void 0===l?void 0:l.filename,hl[`${e}_title`]=null==X?void 0:X[`selectionSummary${e[0]}${e.slice(1).toLowerCase()}Title`]});const{items:fl,totalOneTimePrice:El,totalMonthlyPrice:Tl}=(()=>{var e,l,i,o,n,t,d,v,a,r,c,s;let u=0,m=0;const p=((null==X?void 0:X.recommendationType)||[]).flatMap(e=>{const l=(null==We?void 0:We[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==Xe?void 0:Xe[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==Xe?void 0:Xe[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)||[],f=e.filter(e=>"monthly"===(null==e?void 0:e.recurringChargePeriod)),E=null===(t=f.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(E||(null===(u=null===(s=null===(c=null==f?void 0:f[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)===U?C:0))}return{name:y,monthlyInstallment:g,oneTimePrice:b}})(Xe[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[O,M]){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==Qe?void 0:Qe[u])||void 0===e?void 0:e.ratePlan)||void 0===l?void 0:l.derivedPrice)&&void 0!==i?i:null===(n=null===(o=null==Qe?void 0:Qe[u])||void 0===o?void 0:o.ratePlan)||void 0===n?void 0:n.listPrice)&&void 0!==t?t:null===(v=null===(d=null==Xe?void 0:Xe.ratePlanInfo)||void 0===d?void 0:d[u])||void 0===v?void 0:v.derivedPrice)&&void 0!==a?a:null===(c=null===(r=null==Xe?void 0:Xe.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}})(),Pl=Object.values(gl).reduce((e,l)=>e+l,0);return l.createElement(l.Fragment,null,(Ye||el)&&ol&&n(l.createElement(Q,{content:il,isSuccess:el}),ol),l.createElement(v,null,l.createElement("div",{className:t.mainPage},Object.keys((null==We?void 0:We[null==Ue?void 0:Ue.selectedTab])||[]).length>=(null==tl?void 0:tl[Ue.selectedTab])&&(null==Ue?void 0:Ue.selectedTab)===F&&l.createElement("div",{className:t.cartLimitTxt},l.createElement(y,{content:vl})),((null==Ue?void 0:Ue.selectedTab)===O||(null==Ue?void 0:Ue.selectedTab)===M)&&l.createElement("div",{className:t.extraSimHeading},(null==Ue?void 0:Ue.selectedTab)===O?null==X?void 0:X.watchesHeading:null==X?void 0:X.tabletsHeading),l.createElement(d,{key:null==Ue?void 0:Ue.selectedTab},null===(fe=null===(he=(null==We?void 0:We[null==Ue?void 0:Ue.selectedTab])||[])||void 0===he?void 0:he.filter(e=>{var l,i;return qe===_?(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===fe?void 0:fe.map((e,i)=>{var o,n,d,v,a,r,u,p,y,g,b,h,f,E,T,P,N,A,I,k,C,S,R,x,$,w,j,L,B,D,U,z,J,V,H,W,G,q,Q,Z,ee,le,ie,oe,ne,te,de,ve,ae,re,ce,se,ue,me,pe,ye,ge;return l.createElement("div",{key:i,className:`${t.card} ${(null===(o=null==Xe?void 0:Xe[null==Ue?void 0:Ue.selectedTab])||void 0===o?void 0:o[null===(n=null==e?void 0:e.recomApiResponse)||void 0===n?void 0:n.id])?t.selectedCard:""}`},l.createElement("div",{className:t.detailSection,id:`detailsectionv3${Y}${i}`},(null!==(u=null===(r=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===r?void 0:r.displayText)&&void 0!==u?u:null===(p=null==e?void 0:e.sbStoryItem)||void 0===p?void 0:p.displayText)&&l.createElement("div",{className:t.heading,id:`headingV3${Y}${i}`},null!==(f=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!==f?f:null===(E=null==e?void 0:e.sbStoryItem)||void 0===E?void 0:E.displayText,(null==Ue?void 0:Ue.selectedTab)===F&&(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:t.optionalText},null==X?void 0:X.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:t.accImage,id:`image${Y}${i}`},((null==Ue?void 0:Ue.selectedTab)===O||(null==Ue?void 0:Ue.selectedTab)===M)&&(null===(C=null==X?void 0:X.esimIcon)||void 0===C?void 0:C.filename)&&l.createElement("div",{className:t.esimBadge},(null===(R=null===(S=null==e?void 0:e.sbStoryItem)||void 0===S?void 0:S.energyIcon)||void 0===R?void 0:R.filename)&&l.createElement("img",{loading:"lazy",src:c(al,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==X?void 0:X.esimIcon)||void 0===w?void 0:w.filename,alt:"eSIM",className:t.esimIcon})),l.createElement("img",{loading:"lazy",src:c(al,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:t.mainPriceContainer,id:`main-price-section${Y}${i}`},qe===_?l.createElement("div",{className:t.priceContainer,id:`price-detail-section${Y}${i}`},l.createElement("div",{className:t.price,id:`price${Y}${i}`},l.createElement("span",{style:{color:(null===(B=null===(L=null==e?void 0:e.recomApiResponse)||void 0===L?void 0:L.recurringPrice)||void 0===B?void 0:B.marketMonthlyInstallment)?"#5E94CF":"#3D3935"}},s(null===(U=null===(D=null==e?void 0:e.recomApiResponse)||void 0===D?void 0:D.recurringPrice)||void 0===U?void 0:U.monthlyInstallment)),(null===(J=null===(z=null==e?void 0:e.recomApiResponse)||void 0===z?void 0:z.recurringPrice)||void 0===J?void 0:J.marketMonthlyInstallment)&&l.createElement("span",{className:t.strikedMonthlyPrice},s(null===(H=null===(V=null==e?void 0:e.recomApiResponse)||void 0===V?void 0:V.recurringPrice)||void 0===H?void 0:H.marketMonthlyInstallment)),l.createElement("span",{className:(null===(G=null===(W=null==e?void 0:e.recomApiResponse)||void 0===W?void 0:W.recurringPrice)||void 0===G?void 0:G.marketMonthlyInstallment)?null==t?void 0:t.monthlyStrikethroughText:t.monthlyText},null==X?void 0:X.monthlyText)),l.createElement("div",{className:t.totalPrice},null==X?void 0:X.totalText," ",s(null===(Q=null===(q=null==e?void 0:e.recomApiResponse)||void 0===q?void 0:q.oneTimePrice)||void 0===Q?void 0:Q.base)," ",l.createElement("span",{className:t.strikedtotalMonthlyPrice,style:{visibility:(null===(ee=null===(Z=null==e?void 0:e.recomApiResponse)||void 0===Z?void 0:Z.oneTimePrice)||void 0===ee?void 0:ee.market)?"visible":"hidden"}},s(null===(ie=null===(le=null==e?void 0:e.recomApiResponse)||void 0===le?void 0:le.oneTimePrice)||void 0===ie?void 0:ie.market))),l.createElement("div",{className:t.priceDescription},null==X?void 0:X.monthlyPaymentLabel,l.createElement("br",null),null==X?void 0:X.monthlyDownPaymentLabel),(null===(ne=null===(oe=null==e?void 0:e.recomApiResponse)||void 0===oe?void 0:oe.includedOptions)||void 0===ne?void 0:ne.includes(K))&&(null==X?void 0:X.freeFUText)&&l.createElement("div",{className:t.flexUpgradeText},null==X?void 0:X.freeFUText)):l.createElement("div",{className:t.priceContainer,id:`price-detail-section${Y}${i}`},l.createElement("div",{className:t.price,style:{color:(null===(de=null===(te=null==e?void 0:e.recomApiResponse)||void 0===te?void 0:te.recurringPrice)||void 0===de?void 0:de.marketMonthlyInstallment)?"#5E94CF":"#3D3935"},id:`price${Y}${i}`},l.createElement("span",{className:t.oneTimePrice},s(null===(ae=null===(ve=null==e?void 0:e.recomApiResponse)||void 0===ve?void 0:ve.oneTimePrice)||void 0===ae?void 0:ae.base)),(null===(ce=null===(re=null==e?void 0:e.recomApiResponse)||void 0===re?void 0:re.oneTimePrice)||void 0===ce?void 0:ce.market)&&l.createElement("span",{className:t.strikedMonthlyPrice},s(null===(ue=null===(se=null==e?void 0:e.recomApiResponse)||void 0===se?void 0:se.oneTimePrice)||void 0===ue?void 0:ue.market))),l.createElement("div",{className:t.priceDescription},null==X?void 0:X.oneTimePaymentLabel)),(null==X?void 0:X.addtocartButton.length)>0&&(null==X?void 0:X.removefromcartButton.length)>0&&l.createElement("div",{className:`${t.cartBtn}`,id:`add-crt-btn${Y}${i}`},(null===(me=null==Xe?void 0:Xe[null==Ue?void 0:Ue.selectedTab])||void 0===me?void 0:me[null===(pe=null==e?void 0:e.recomApiResponse)||void 0===pe?void 0:pe.id])?l.createElement(l.Fragment,null,l.createElement(m,{content:null===(ye=null==X?void 0:X.removefromcartButton)||void 0===ye?void 0:ye[0],onClick:l=>cl(l,e,i),wafIdentifier:al,disabled:Ye})):l.createElement(m,{content:null===(ge=null==X?void 0:X.addtocartButton)||void 0===ge?void 0:ge[0],onClick:l=>cl(l,e,i),wafIdentifier:al,disabled:Ye}))))})),l.createElement("div",{className:t.miaFooter},Pl>0&&(null==X?void 0:X.enableSelectionSummary)&&Object.keys(Qe||{}).length>1&&qe===_&&l.createElement("div",{className:t.miniSummary},l.createElement("div",{className:t.titleRow},l.createElement("span",{className:`fw-bold ${t.titleLabel}`},null==X?void 0:X.yourSelectionTitle),l.createElement("span",{className:t.titleIcons},((null==X?void 0:X.recommendationType)||[]).map(e=>{var i;return gl[e]>0&&l.createElement(l.Fragment,null,(e===O&&gl[F]>0||e===M&&(gl[F]>0||gl[O]>0))&&l.createElement("span",null,l.createElement("img",{loading:"lazy",src:c(al,null===(i=null==X?void 0:X.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:c(al,null==bl?void 0:bl[`${e}_icon`]),alt:`${e}_icon`})," ",gl[e],"x ",null==hl?void 0:hl[`${e}_title`]))})),l.createElement("div",{className:`fw-bold ${t.cartPrice}`},qe===_?l.createElement(l.Fragment,null,s(Tl),null==X?void 0:X.monthlyText):s(El)),Ze?l.createElement("img",{className:t.cartToggle,onClick:()=>dl(!Ze),loading:"lazy",src:c(al,null===(Te=null==X?void 0:X.selectionSummaryCollapseIcon)||void 0===Te?void 0:Te.filename),alt:"expand_icon",width:24,height:24}):l.createElement("img",{className:t.cartToggle,onClick:()=>dl(!Ze),loading:"lazy",src:c(al,null===(Ee=null==X?void 0:X.selectionSummaryExpandIcon)||void 0===Ee?void 0:Ee.filename),alt:"expand_icon",width:24,height:24})),Ze&&l.createElement(l.Fragment,null,l.createElement("div",{className:t.miniCartDivider}),fl.map(i=>{var o,n,d,v,a,r,u,m,p,y,g,b,h,f,T,P,N,A,I,k,C,S,x,$,w,j,L,B,D,F,K,U,z,J,V,H,W,G,q;return l.createElement("div",{className:t.itemRow,key:null===(o=null==i?void 0:i.recomApiResponse)||void 0===o?void 0:o.id},l.createElement("div",{className:t.itemLine},l.createElement("span",{className:t.itemName},null===(n=null==i?void 0:i.recomApiResponse)||void 0===n?void 0:n.name),l.createElement("div",{className:t.cartPrice},qe===_?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:t.oneTime},"(",s(null===(r=null===(a=null==i?void 0:i.recomApiResponse)||void 0===a?void 0:a.oneTimePrice)||void 0===r?void 0:r.base),")"),s(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==X?void 0:X.monthlyText):s(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:t.cartDelete,loading:"lazy",src:c(al,null===(g=null==X?void 0:X.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==Xe?void 0:Xe[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==Xe?void 0:Xe[t])||void 0===o?void 0:o[null===(n=null==l?void 0:l.recomApiResponse)||void 0===n?void 0:n.id])&&(yield Ve.removeItemFromCart(we,l)),sl(E,R,l,0)}))(i),width:20,height:20})),[O,M].includes(null==i?void 0:i.tabKey)&&l.createElement("div",{className:t.itemLine},l.createElement("span",{className:`${t.itemName} ${t.rpName}`},(null===(h=null===(b=null==Qe?void 0:Qe[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==Xe?void 0:Xe.ratePlanInfo)||void 0===f?void 0:f[null==i?void 0:i.tabKey])||void 0===T?void 0:T.name)),l.createElement("div",{className:t.rpPrice},s(Number.isFinite(Number(null!==(L=null!==($=null!==(C=null!==(A=null===(N=null===(P=null==Qe?void 0:Qe[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==Qe?void 0:Qe[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==Xe?void 0:Xe.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==Xe?void 0:Xe.ratePlanInfo)||void 0===w?void 0:w[null==i?void 0:i.tabKey])||void 0===j?void 0:j.monthlyPrice)&&void 0!==L?L:0))?Number(null!==(q=null!==(H=null!==(z=null!==(F=null===(D=null===(B=null==Qe?void 0:Qe[null==i?void 0:i.tabKey])||void 0===B?void 0:B.ratePlan)||void 0===D?void 0:D.derivedPrice)&&void 0!==F?F:null===(U=null===(K=null==Qe?void 0:Qe[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===(V=null===(J=null==Xe?void 0:Xe.ratePlanInfo)||void 0===J?void 0:J[null==i?void 0:i.tabKey])||void 0===V?void 0:V.derivedPrice)&&void 0!==H?H:null===(G=null===(W=null==Xe?void 0:Xe.ratePlanInfo)||void 0===W?void 0:W[null==i?void 0:i.tabKey])||void 0===G?void 0:G.monthlyPrice)&&void 0!==q?q:0):0),null==X?void 0:X.monthlyText)),l.createElement("hr",{className:t.itemDivider}))}))),l.createElement("div",{className:`${t.checkoutBtn}`},(null===(Pe=null==X?void 0:X.proceedtocheckoutButton)||void 0===Pe?void 0:Pe.length)>0&&l.createElement(m,{content:X.proceedtocheckoutButton[0],eventAction:"",onClick:e=>ul(e),wafIdentifier:al,disabled:Ye}))))),je&&l.createElement(p,{modalState:je,handler:()=>{ml()},showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Be||"desktop"===Be||"tablet"===Be?"460px":"",noCloseButton:!1,backDrop:!0}," ",l.createElement("div",{className:`${t.accessoryErrorUpdate}`},l.createElement(y,{content:null===(Ae=null===(Ne=null==X?void 0:X.errorModal)||void 0===Ne?void 0:Ne[0])||void 0===Ae?void 0:Ae.heading}),l.createElement(y,{content:null===(ke=null===(Ie=null==X?void 0:X.errorModal)||void 0===Ie?void 0:Ie[0])||void 0===ke?void 0:ke.description}),l.createElement("div",{className:`${t.accessoryErrorButtons}`},l.createElement("div",{className:`${t.cancelButton}`,onClick:()=>{ml()}},null==X?void 0:X.cancelButtonLinkText),l.createElement(m,{content:null===(Ce=null==X?void 0:X.retryButton)||void 0===Ce?void 0:Ce[0],onClick:e=>ul(e),metadata:void 0,wafIdentifier:al})))),De&&(null==Ue?void 0:Ue.selectedTab)===F&&l.createElement(p,{modalState:De,handler:()=>{pl()},showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Be||"desktop"===Be||"tablet"===Be?"624px":"",noCloseButton:!1,backDrop:!0},l.createElement("div",{className:`${t.accessoryErrorUpdate}`},l.createElement(y,{content:JSON.parse(r(JSON.stringify(null===(Re=null===(Se=null==X?void 0:X.cartLimitModal)||void 0===Se?void 0:Se[0])||void 0===Re?void 0:Re.heading),[null==tl?void 0:tl[Ue.selectedTab].toString()]))}),l.createElement(y,{content:JSON.parse(r(JSON.stringify(null===($e=null===(xe=null==X?void 0:X.cartLimitModal)||void 0===xe?void 0:xe[0])||void 0===$e?void 0:$e.description),[null==tl?void 0:tl[Ue.selectedTab].toString()]))}),l.createElement("div",{className:`${t.accessoryErrorButtons}`},l.createElement("div",{className:`${t.cancelButton}`,onClick:()=>{pl()}},null==X?void 0:X.cartLimitBtnText)))),De&&((null==Ue?void 0:Ue.selectedTab)===O||(null==Ue?void 0:Ue.selectedTab)===M)&&(()=>{var e,i,o,n,d,v,a;const r=(()=>{var e,l;return(null==Ue?void 0:Ue.selectedTab)===O?null===(e=null==X?void 0:X.watchesSelectionPopup)||void 0===e?void 0:e[0]:null===(l=null==X?void 0:X.tabletsSelectionPopup)||void 0===l?void 0:l[0]})();return L(E,f,{component:h,message_title:b,message_description:null===(v=null===(d=null===(n=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===n?void 0:n[0])||void 0===d?void 0:d.text)||void 0===v?void 0:v.slice(0,100),message_type:g}),l.createElement(p,{modalState:De,handler:()=>(e=>{var l,i,o,n,t,d;(null==e?void 0:e.description)&&L(E,S,{component:h,message_title:b,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:g}),pl()})(r),showFooter:!1,height:"auto",fixedWidth:"large-desktop"===Be||"desktop"===Be||"tablet"===Be?"624px":"",noCloseButton:!1,backDrop:!0},l.createElement(l.Fragment,null,(null==r?void 0:r.heading)&&l.createElement("div",{className:t.modalHeading},l.createElement(y,{content:r.heading})),(null==r?void 0:r.description)&&l.createElement("div",{className:t.modalDescription},l.createElement(y,{content:r.description})),l.createElement("div",{className:t.modalButtons},(null==r?void 0:r.link)&&l.createElement("a",{className:t.factSheetLink,onClick:()=>(L(E,w,{component:k,click_text:$}),void pl())},r.linkText),(null===(a=null==r?void 0:r.button)||void 0===a?void 0:a.length)>0&&l.createElement(m,{content:r.button[0],onClick:()=>(()=>{if(L(E,w,{component:k,click_text:j}),!Oe)return void pl();const e=((null==We?void 0:We[null==Ue?void 0:Ue.selectedTab])||[]).find(e=>{var l,i;return null===(l=null==Xe?void 0:Xe[null==Ue?void 0:Ue.selectedTab])||void 0===l?void 0:l[null===(i=null==e?void 0:e.recomApiResponse)||void 0===i?void 0:i.id]});e&&(sl(E,R,e,0),rl(e,J)),sl(x,x,Oe,_e),rl(Oe,z),pl()})(),metadata:void 0,wafIdentifier:""}))))})())};export{X 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 */\nimport React, {JSX, useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport Styles from './AccessoryCard.module.scss';\n// import FalconButton from '@/components/shared/FalconButton/falconButton';\nimport { MultiItemAccessoriesSchema } from '../MultiItemAccessories/MultiItemAccessoriesSchema';\nimport DeviceCarouselComponent from '../DeviceCarouselComponent';\nimport Row from '../../ResponsiveRow/row';\n// import GenericImage from '../../GenericImage/GenericImage';\nimport { getCompressedImage } from '../../../utils/utils';\nimport { getCookie } from 'cookies-next';\nimport FalconButtonV2 from '../../FalconButtonV2/FalconButtonV2';\nimport { countZero, replacePlaceholder } from '../../../utils/utils';\nimport AccessoryModal from './AccessoryModal';\nimport RichText from '../../richtext';\nimport { viewport } from '../../../utils/utils';\nimport { ACCORDIONCLICK, ADD_TO_CART, CLOSE, CLOSEPOPUP, CONTINUE, CTABUTTONCLICK, FORM, GAEVENT, INFO, KEEPPREVIOUS, LINK, OPEN, OPENPOPUP, POPUP, REMOVEFROMCART, REPLACE, REPLACESELECTION, TABCLICK } from '../../../Analytics/AnalyticsConstants';\nimport { trackViewItem } from '../../../utils/AnalyticsUtils';\nimport { MONTHLY, ONETIME, CONTRACT, MOBILERATEPLAN, TV, INTERNETFLOW, ACCESSORY, WATCHES, TABLETS, HARDWARE, ADD, REMOVE, FLEX_UPGRADE } from '../../../utils/constants';\nimport { useMultiAccessoryContext } from '../multiItemAccessoryStore/useMultiAccessoryContext';\nimport { useMultiAccessoryActions } from '../multiItemAccessoryStore/useMultiAccessoryActions';\nimport { buildSingleItemCartPayload, useMultiAccessoryUpdateCartActions } from '../multiItemAccessoryStore/useMultiAccessoryUpdateCartActions';\nimport { AssetPathPropConfig } from '../../../services';\nimport { trackNewDatalayerEvent } from '../../../utils/AnalyticsUtils';\nimport GlobalDotLoader from '../../GlobalDotLoader/GlobalDotLoader';\n\ntype AccessoryCardProps = {\n content: MultiItemAccessoriesSchema;\n tabIndex: number;\n checkingviewPort: any;\n isSubscriptionFlow: boolean;\n setAccessoriesSelected?: (accessories: any[]) => void;\n};\n\n// eslint-disable-next-line max-lines-per-function\nconst AccessoryCard = ({\n content,\n tabIndex,\n isSubscriptionFlow,\n setAccessoriesSelected\n}: AccessoryCardProps): JSX.Element => {\n const cartId = getCookie('one-commerce-cartId');\n const [show, setShow] = useState(false);\n const viewPort = viewport();\n const [showCartLimitError, setShowCartLimitError] = useState(false);\n const [pendingItem, setPendingItem] = useState<any>(null);\n const [pendingItemIndex, setPendingItemIndex] = useState<number>(0);\n const { store, dispatch } = useMultiAccessoryContext();\n const actions = useMultiAccessoryActions(dispatch);\n const cartActions = useMultiAccessoryUpdateCartActions();\n const { updateAccessoryCartFailure } = store; // for MultiAccessoryUpdateCart state\n //for multiAccessory recommendation api state\n const { multiItemAccessoriessList, deviceSessionValues, selectedPaymentType, recommendedAccessories, cartData, loading, showMiniCart } = store;\n const [successLoader, setSuccessLoader] = useState<boolean>(false);\n const dotLoaderData = content?.globalDotLoader?.[0]?.reference?.content?.body?.[0]\n ? content?.globalDotLoader?.[0]?.reference?.content?.body?.[0]\n : content?.globalDotLoader?.[0];\n /*the portal position for the the dotloader*/\n const portalPosition: any =\n typeof window !== 'undefined' && document.getElementById('multi-accessory-card');\n //check for WIN/rateplan flow\n const ratePlanFlow = [MOBILERATEPLAN ]?.includes?.(recommendedAccessories?.[store?.selectedTab]?.hardware?.[0]?.recommendationProcessingType) ? true : (deviceSessionValues?.hardwareVariant ? false : true);\n const accessoriesLimit: any = {\n [ACCESSORY]: isSubscriptionFlow\n ? (ratePlanFlow ? +content?.ratePlanAccessoriesLimit : +content?.winAccessoriesLimit)\n : +content?.accessoriesLimit,\n WATCHES: 1,\n TABLETS: 1,\n };\n const setShowMiniCart = (value: boolean) => {\n trackNewDatalayerEvent(GAEVENT, ACCORDIONCLICK, {\n component: FORM,\n click_text: value ? OPEN : CLOSE\n });\n actions.setShowMiniCart(value);\n }\n\n const limitWarningText = JSON.parse(\n replacePlaceholder(JSON.stringify(content?.cartLimitWarningText), [\n accessoriesLimit?.[store.selectedTab].toString()\n ])\n );\n const basicConfigUrl = AssetPathPropConfig?.getInstance()?.getAssetPath();\n\n // Helper function to get selection popup content based on tab type\n const getSelectionPopupContent = () => {\n return store?.selectedTab === WATCHES \n ? content?.watchesSelectionPopup?.[0] \n : content?.tabletsSelectionPopup?.[0];\n };\n\n // Helper to fire immediate per-item cart API call\n const fireImmediateCartUpdate = (item: any, action: string) => {\n const cartItems = buildSingleItemCartPayload(item, action, store?.selectedTab, store);\n if (cartItems.length > 0) {\n cartActions.multiItemAccessorycreateCartRequest({\n id: cartId,\n redirectUrl: '',\n skipRedirect: true,\n previousTab: store?.selectedTab,\n cartItems,\n successLoaderData: {\n duration: dotLoaderData?.successMsgDuration ?? '0',\n successLoaderCallback: setSuccessLoader\n }\n });\n }\n };\n\n // for handling add and remove accessories from cart\n const handleClickAddRemoveCartBtn = (e: any, item: any, index: number) => {\n e.preventDefault();\n if (cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id]) {\n // Item is in cart — remove it\n trackCTAButton(GAEVENT, REMOVEFROMCART, item, index);\n fireImmediateCartUpdate(item, REMOVE);\n } else {\n // Item not in cart — add it\n if (checkCartLimit(item, index)) {\n return;\n }\n trackCTAButton(ADD_TO_CART, ADD_TO_CART, item, index);\n fireImmediateCartUpdate(item, ADD);\n }\n };\n\n // Track analytics for CTA buttons\n const trackCTAButton = (event: string, eventName: string, item: any, index: number): void => {\n trackViewItem(event, eventName, {\n displayName: item?.recomApiResponse?.name,\n productId: item?.recomApiResponse?.id,\n priceValue: item?.recomApiResponse?.oneTimePrice?.base,\n index: index,\n variant: item?.recomApiResponse?.variantCategory?.color,\n storage: item?.recomApiResponse?.variantCategory?.storage,\n hardwareCategory: store?.selectedTab,\n });\n }\n // create cart function call — with real-time updates, just redirect\n const multiItemAccesoryCreatecart = (e: any) => {\n e.preventDefault();\n const isRetry = Object.keys(updateAccessoryCartFailure)?.length > 0;\n if (isRetry) {\n setShow(false);\n cartActions.setupdateAccessoryCartFailure({});\n return;\n }\n\n const redirectUrl = isSubscriptionFlow ? content?.winCheckoutUrl?.cached_url : content?.multiItemCheckoutUrl?.url;\n trackNewDatalayerEvent(GAEVENT, TABCLICK, {\n component: LINK,\n click_text: CONTINUE\n });\n window.location.href = redirectUrl;\n }\n\n // close the error popup when close/cancel button is clicked\n const onCloseClick = () => {\n setShow((prevState) => !prevState);\n if (Object.keys(updateAccessoryCartFailure)?.length > 0) {\n cartActions.setupdateAccessoryCartFailure({});\n }\n };\n // open the error popup when updated cart fails\n useEffect(() => {\n if (Object.keys(updateAccessoryCartFailure)?.length > 0) {\n setShow((prevState) => !prevState);\n }\n }, [updateAccessoryCartFailure]);\n\n // close the cartLimit popup when close/cancel button is clicked\n const onCloseClickCartLimitPopup = () => {\n setShowCartLimitError(false);\n setPendingItem(null);\n setPendingItemIndex(0);\n };\n\n // Handle \"ClosePopup\" - just close the modal without any changes\n const handleClosePopup = (modalContent?: any) => {\n // Track close popup event\n modalContent?.description && trackNewDatalayerEvent(GAEVENT, CLOSEPOPUP, {\n component: POPUP,\n message_title: REPLACESELECTION,\n message_description: modalContent?.description?.content?.[0]?.content?.[0]?.text?.slice(0, 100),\n message_type: INFO,\n });\n onCloseClickCartLimitPopup();\n };\n // Handle \"Keep previous\" - just close the modal without any changes\n const handleKeepPrevious = () => {\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\n component: LINK,\n click_text: KEEPPREVIOUS\n });\n onCloseClickCartLimitPopup();\n };\n\n // Handle \"Replace\" - replace existing selection with new item via API\n const handleReplaceSelection = () => {\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\n component: LINK,\n click_text: REPLACE\n });\n if (!pendingItem) {\n onCloseClickCartLimitPopup();\n return;\n }\n\n // Find the first item currently in cart for this tab and remove it, then add the new one\n const cartItems = multiItemAccessoriessList?.[store?.selectedTab] || [];\n const existingCartItem = cartItems.find((item: any) => \n cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id]\n );\n \n if (existingCartItem) {\n trackCTAButton(GAEVENT, REMOVEFROMCART, existingCartItem, 0);\n fireImmediateCartUpdate(existingCartItem, REMOVE);\n }\n\n // Add the new pending item\n trackCTAButton(ADD_TO_CART, ADD_TO_CART, pendingItem, pendingItemIndex);\n fireImmediateCartUpdate(pendingItem, ADD);\n\n // Close the modal and clear pending item\n onCloseClickCartLimitPopup();\n };\n\n //show popup if cart limit reached\n const checkCartLimit = (item?: any, index?: number) => {\n const selectedAccCount = Object.keys(cartData?.[store?.selectedTab] || {}).length;\n if (selectedAccCount >= accessoriesLimit?.[store.selectedTab]) {\n setShowCartLimitError(true);\n setPendingItem(item || null);\n setPendingItemIndex(index || 0);\n return true;\n }\n return false;\n }\n //TODO: Remove checkingviewPort passing from multi-item\n\n // Handle delete from mini cart summary\n const handleDeleteFromMiniCart = async (item: any) => {\n const tabKey = item?.tabKey;\nconsole.log('first', cartData?.[tabKey]?.[item?.recomApiResponse?.id])\n // Call API directly to remove it from cart\n if (cartData?.[tabKey]?.[item?.recomApiResponse?.id]) {\n await cartActions.removeItemFromCart(cartId, item);\n }\n\n trackCTAButton(GAEVENT, REMOVEFROMCART, item, 0);\n };\n\n // Helper function to calculate selected count for a tab\n const getTabSelectedCount = (tabKey: string) => {\n return Object.keys(cartData?.[tabKey] || {}).length;\n };\n const inTabSelected: Record<string, number> = {};\n const summaryIcons: Record<string, string> = {};\n const summaryLabels: Record<string, string> = {};\n\n (content?.recommendationType || []).map((tabKey: string) => {\n inTabSelected[tabKey] = getTabSelectedCount(tabKey);\n summaryIcons[`${tabKey}_icon`] = (content as any)?.[`${tabKey.toLowerCase()}Icon`]?.filename;\n summaryLabels[`${tabKey}_title`] = (content as any)?.[`selectionSummary${tabKey[0]}${tabKey.slice(1).toLowerCase()}Title`];\n });\n\n /**\n * Extract name and prices from from cartData.\n * Used as fallback when the item is not present in multiItemAccessoriessList.\n */\n const getCartItemDisplayInfo = (cartItems: any[]) => {\n if (!cartItems?.length) return null;\n\n const toNumberOrZero = (value: any) => {\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : 0;\n };\n\n const getCycleMonths = (cycle: any) => {\n const start = Number(cycle?.cycleStart);\n const end = Number(cycle?.cycleEnd);\n if (Number.isFinite(start) && Number.isFinite(end) && end >= start) {\n return (end - start) + 1;\n }\n return 1;\n };\n\n let name = '';\n let monthlyInstallment = 0;\n let oneTimePrice = 0;\n\n for (const item of cartItems) {\n if (!name) {\n name = item?.name || item?.productOffering?.name || item?.productOffering?.id || item?.id || '';\n }\n\n const prices = item?.itemPrice?.[0]?.cartPrice || [];\n const monthlyPrices = prices.filter((p: any) => p?.recurringChargePeriod === 'monthly');\n const originalInstallment = monthlyPrices\n .flatMap((p: any) => p?.additionalDetails || [])\n .find((d: any) => d?.id === 'originalInstallment')?.value;\n const paynowPrice = prices.find((p: any) => p?.recurringChargePeriod === 'paynow');\n const streetPrice = paynowPrice?.additionalDetails?.find((d: any) => d?.id === 'streetPrice')?.value;\n\n // Flat update-cart payloads expose prices under `item.prices`.\n const flatPrices = item?.prices || [];\n\n // Prefer cycleStart:1 recurring (monthly installment) over last-cycle recurring.\n const flatRecurringPrices = flatPrices.filter((p: any) => p?.priceType === 'RECURRING');\n const flatMonthly = (flatRecurringPrices.find((p: any) => p?.cycle?.cycleStart === 1) || flatRecurringPrices[0])?.value;\n const flatStreet = flatPrices.find((p: any) => p?.priceType === 'STREET_PRICE')?.value;\n\n // Fallback for watch/tablet when recommendation response is absent:\n // compute total financed amount = recurring installments across cycles + one-time fee.\n const hardwareOneTimeTotal = flatRecurringPrices.reduce((sum: number, price: any) => {\n return sum + (toNumberOrZero(price?.value) * getCycleMonths(price?.cycle));\n }, 0) + flatPrices\n .filter((p: any) => p?.priceType === 'ONETIME')\n .reduce((sum: number, price: any) => sum + toNumberOrZero(price?.value), 0);\n\n monthlyInstallment += toNumberOrZero(originalInstallment || monthlyPrices?.[0]?.price?.taxIncludedAmount?.value || flatMonthly);\n oneTimePrice += toNumberOrZero(streetPrice || flatStreet || (item?.itemType === HARDWARE ? hardwareOneTimeTotal : 0));\n }\n\n return {\n name,\n monthlyInstallment,\n oneTimePrice,\n };\n };\n\n // Get all selected items across all tabs as a flat array with cumulative prices\n const getAllSelectedItems = () => {\n let totalOneTimePrice = 0;\n let totalMonthlyPrice = 0;\n\n const items = (content?.recommendationType || []).flatMap((tabKey: string) => {\n const recomList = multiItemAccessoriessList?.[tabKey] || {};\n const recomIds = new Set(Object.values(recomList).map((item: any) => item?.recomApiResponse?.id));\n\n // Items from recommendation list that are in cart\n const recomItems = Object.values(recomList)\n .filter((item: any) => cartData?.[tabKey]?.[item?.recomApiResponse?.id])\n .map((item: any) => {\n totalOneTimePrice += +(item?.recomApiResponse?.oneTimePrice?.base || 0);\n totalMonthlyPrice += +(item?.recomApiResponse?.recurringPrice?.monthlyInstallment || 0);\n return { ...item, tabKey };\n });\n\n // Cart-only items not in recommendation list\n const cartOnlyItems = Object.keys(cartData?.[tabKey] || {})\n .filter((id) => !recomIds.has(id))\n .map((id) => {\n const info = getCartItemDisplayInfo(cartData[tabKey][id]);\n if (!info) return null;\n totalOneTimePrice += info.oneTimePrice;\n totalMonthlyPrice += info.monthlyInstallment;\n return {\n tabKey,\n isCartOnly: true,\n recomApiResponse: {\n id,\n name: info.name,\n oneTimePrice: { base: info.oneTimePrice },\n recurringPrice: { monthlyInstallment: info.monthlyInstallment },\n },\n };\n })\n .filter(Boolean);\n\n return [...recomItems, ...cartOnlyItems];\n });\n\n // Add rateplan monthly cost once per WATCHES/TABLETS tab that has selected items\n for (const tabKey of [WATCHES, TABLETS]) {\n const hasItemsInTab = items.some((item: any) => item?.tabKey === tabKey);\n if (hasItemsInTab) {\n const rpRawPrice =\n recommendedAccessories?.[tabKey]?.ratePlan?.derivedPrice ??\n recommendedAccessories?.[tabKey]?.ratePlan?.listPrice ??\n cartData?.ratePlanInfo?.[tabKey]?.derivedPrice ??\n cartData?.ratePlanInfo?.[tabKey]?.monthlyPrice ??\n 0;\n const rpParsedPrice = Number(rpRawPrice);\n const rpPrice = Number.isFinite(rpParsedPrice) ? rpParsedPrice : 0;\n totalMonthlyPrice += rpPrice;\n }\n }\n\n return { items, totalOneTimePrice, totalMonthlyPrice };\n };\n\n const { items: allSelectedItems, totalOneTimePrice, totalMonthlyPrice } = getAllSelectedItems();\n const allTabSelectedCount = Object.values(inTabSelected).reduce((total, count) => total + count, 0);\n return (\n <>\n {(loading || successLoader) &&\n portalPosition &&\n createPortal(\n <GlobalDotLoader content={dotLoaderData} isSuccess={successLoader} />,\n portalPosition\n )}\n <Row>\n <div className={Styles.mainPage}>\n {((Object.keys(multiItemAccessoriessList?.[store?.selectedTab] || []).length >= accessoriesLimit?.[store.selectedTab]) && store?.selectedTab === ACCESSORY ) && <div className={Styles.cartLimitTxt}><RichText content={limitWarningText} /></div>}\n {(store?.selectedTab === WATCHES || store?.selectedTab === TABLETS) && <div className={Styles.extraSimHeading}>{store?.selectedTab === WATCHES ? content?.watchesHeading : content?.tabletsHeading}</div>}\n <DeviceCarouselComponent key={store?.selectedTab}>\n {(multiItemAccessoriessList?.[store?.selectedTab] || [])?.filter((item: any) => selectedPaymentType === CONTRACT ? item?.recomApiResponse?.recurringPrice?.monthlyInstallment > 0 : item)?.map((item: any, index: number) => {\n return (\n <div key={index} className={`${Styles.card} ${cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id] ? Styles.selectedCard : ''}`}>\n <div className={Styles.detailSection} id={`detailsectionv3${tabIndex}${index}`}>\n {(item?.sbStoryItem?.content?.body?.[0]?.displayText ?? item?.sbStoryItem?.displayText) && <div className={Styles.heading} id={`headingV3${tabIndex}${index}`}>\n {item?.sbStoryItem?.content?.body?.[0]?.displayText ?? item?.sbStoryItem?.displayText}\n {store?.selectedTab === ACCESSORY && item?.recomApiResponse?.variantCategory?.color && item?.recomApiResponse?.variantCategory?.color !== 'None' && <div className={Styles.optionalText}>{content?.accessoriesColorLabel} {item?.recomApiResponse?.variantCategory?.color}</div>}\n </div>}\n \n <div className={Styles.accImage} id={`image${tabIndex}${index}`}>\n {(store?.selectedTab === WATCHES || store?.selectedTab === TABLETS) && content?.esimIcon?.filename && (\n <div className={Styles.esimBadge}>\n {item?.sbStoryItem?.energyIcon?.filename && <img loading='lazy' src={getCompressedImage(basicConfigUrl, item?.sbStoryItem?.energyIcon?.filename)} alt='energy_Icon' width={37} height={20} />}\n <img src={content?.esimIcon?.filename} alt=\"eSIM\" className={Styles.esimIcon} />\n </div>\n )}\n <img loading='lazy' src={getCompressedImage(basicConfigUrl,item?.imageData?.image)} alt='acessories_device' width={210} height={210} />\n </div>\n </div>\n <div className={Styles.mainPriceContainer} id={`main-price-section${tabIndex}${index}`}>\n {selectedPaymentType === CONTRACT ? <div className={Styles.priceContainer} id={`price-detail-section${tabIndex}${index}`}>\n <div className={Styles.price} id={`price${tabIndex}${index}`}>\n <span style={{ color: item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment ? '#5E94CF' : '#3D3935' }}>{countZero(item?.recomApiResponse?.recurringPrice?.monthlyInstallment)}</span>\n {item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment && (\n <span className={Styles.strikedMonthlyPrice}>\n {countZero(item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment)}\n </span>\n )}\n <span className={item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment ? Styles?.monthlyStrikethroughText : Styles.monthlyText}>{content?.monthlyText}</span>\n </div>\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>\n <div className={Styles.priceDescription}>{content?.monthlyPaymentLabel}<br />{content?.monthlyDownPaymentLabel}</div>\n {(item?.recomApiResponse?.includedOptions?.includes(FLEX_UPGRADE) && content?.freeFUText) && <div className={Styles.flexUpgradeText}>{content?.freeFUText}</div>}\n </div> :\n <div className={Styles.priceContainer} id={`price-detail-section${tabIndex}${index}`}>\n <div className={Styles.price} style={{ color: item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment ? '#5E94CF' : '#3D3935' }} id={`price${tabIndex}${index}`}>\n <span className={Styles.oneTimePrice}>{countZero(item?.recomApiResponse?.oneTimePrice?.base)}</span>\n {item?.recomApiResponse?.oneTimePrice?.market && (\n <span className={Styles.strikedMonthlyPrice}>\n {countZero(item?.recomApiResponse?.oneTimePrice?.market)}\n </span>\n )}\n </div>\n <div className={Styles.priceDescription}>{content?.oneTimePaymentLabel}</div>\n </div>\n }\n {content?.addtocartButton.length > 0 && content?.removefromcartButton.length > 0 && (\n <div className={`${Styles.cartBtn}`} id={`add-crt-btn${tabIndex}${index}`}>\n {cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id] ?\n <><FalconButtonV2\n content={content?.removefromcartButton?.[0]}\n onClick={(e: any) => handleClickAddRemoveCartBtn(e, item, index)}\n wafIdentifier={basicConfigUrl}\n disabled={loading}\n />\n </> :\n <FalconButtonV2\n content={content?.addtocartButton?.[0]}\n onClick={(e: any) => handleClickAddRemoveCartBtn(e, item, index)}\n wafIdentifier={basicConfigUrl}\n disabled={loading}\n />\n }\n </div>\n )}\n </div>\n </div>\n )\n })}\n </DeviceCarouselComponent>\n\n <div className={Styles.miaFooter}>\n {/** Selection summary is shown only for multi-tab MIA (not old single-tab UI),\n * contract/monthly flow (not one-time pay), and new subscriptions\n * (existing subscription flow is blocked unless enableExistingSubscription is true (already handled in MultiItemAccessoriesPage)) */}\n {allTabSelectedCount > 0 && content?.enableSelectionSummary\n && Object.keys(recommendedAccessories || {}).length > 1\n && selectedPaymentType === CONTRACT\n && <div className={Styles.miniSummary}>\n <div className={Styles.titleRow}>\n {/**1*/}\n <span className={`fw-bold ${Styles.titleLabel}`}>{content?.yourSelectionTitle}</span>\n {/**2*/}\n <span className={Styles.titleIcons}>\n {(content?.recommendationType || []).map((tabKey: string) => {\n return (\n inTabSelected[tabKey] > 0 && (\n <>\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>}\n <span><img loading='lazy' src={getCompressedImage(basicConfigUrl,summaryIcons?.[`${tabKey}_icon`])} alt={`${tabKey}_icon`} /> {inTabSelected[tabKey]}x {summaryLabels?.[`${tabKey}_title`]}</span>\n </>\n )\n )\n })}\n </span>\n {/**3*/}\n <div className={`fw-bold ${Styles.cartPrice}`}>\n {selectedPaymentType === CONTRACT\n ? <>{countZero(totalMonthlyPrice)}{content?.monthlyText}</>\n : countZero(totalOneTimePrice)\n }\n </div>\n {/**4*/}\n {!showMiniCart ? <img className={Styles.cartToggle} onClick={() => setShowMiniCart(!showMiniCart)} loading='lazy' src={getCompressedImage(basicConfigUrl,content?.selectionSummaryExpandIcon?.filename)} alt='expand_icon' width={24} height={24}/>\n : <img className={Styles.cartToggle} onClick={() => setShowMiniCart(!showMiniCart)} loading='lazy' src={getCompressedImage(basicConfigUrl,content?.selectionSummaryCollapseIcon?.filename)} alt='expand_icon' width={24} height={24}/>}\n </div>\n {showMiniCart && (\n <>\n {/* DividerComponent */}\n <div className={Styles.miniCartDivider} />\n {allSelectedItems\n .map((item: any) => (\n <div className={Styles.itemRow} key={item?.recomApiResponse?.id}>\n <div className={Styles.itemLine}>\n <span className={Styles.itemName}>{item?.recomApiResponse?.name}</span>\n <div className={Styles.cartPrice}>\n {selectedPaymentType === CONTRACT\n ? <>{item?.recomApiResponse?.oneTimePrice?.base > 0 && <span className={Styles.oneTime}>({countZero(item?.recomApiResponse?.oneTimePrice?.base)})</span>}\n {countZero(item?.recomApiResponse?.recurringPrice?.monthlyInstallment)}{content?.monthlyText}</>\n : countZero(item?.recomApiResponse?.oneTimePrice?.base)\n }\n </div>\n <img\n className={Styles.cartDelete}\n loading='lazy'\n src={getCompressedImage(basicConfigUrl, content?.selectionSummaryDeleteIcon?.filename)}\n alt='delete_icon'\n onClick={() => handleDeleteFromMiniCart(item)}\n width={20}\n height={20}\n />\n </div>\n {[WATCHES, TABLETS].includes(item?.tabKey) &&<div className={Styles.itemLine}>\n <span className={`${Styles.itemName} ${Styles.rpName}`}>{recommendedAccessories?.[item?.tabKey]?.ratePlan?.id || cartData?.ratePlanInfo?.[item?.tabKey]?.name}</span>\n <div className={Styles.rpPrice}>\n {countZero(Number.isFinite(Number(\n recommendedAccessories?.[item?.tabKey]?.ratePlan?.derivedPrice ??\n recommendedAccessories?.[item?.tabKey]?.ratePlan?.listPrice ??\n cartData?.ratePlanInfo?.[item?.tabKey]?.derivedPrice ??\n cartData?.ratePlanInfo?.[item?.tabKey]?.monthlyPrice ??\n 0\n ))\n ? Number(\n recommendedAccessories?.[item?.tabKey]?.ratePlan?.derivedPrice ??\n recommendedAccessories?.[item?.tabKey]?.ratePlan?.listPrice ??\n cartData?.ratePlanInfo?.[item?.tabKey]?.derivedPrice ??\n cartData?.ratePlanInfo?.[item?.tabKey]?.monthlyPrice ??\n 0\n )\n : 0)}{content?.monthlyText}\n </div>\n </div>}\n {/* DividerComponent */}\n <hr className={Styles.itemDivider} />\n </div>\n ))\n }\n </>\n )\n }\n\n </div>}\n <div className={`${Styles.checkoutBtn}`}>\n {content?.proceedtocheckoutButton?.length > 0 && (\n <FalconButtonV2\n content={content.proceedtocheckoutButton[0]}\n eventAction={''}\n onClick={(e: any) => multiItemAccesoryCreatecart(e)}\n wafIdentifier={basicConfigUrl}\n disabled={loading}\n />\n )}\n </div>\n </div>\n </div>\n </Row>\n {show && <AccessoryModal\n modalState={show}\n handler={() => { onCloseClick() }}\n showFooter={false}\n height={'auto'}\n fixedWidth={(viewPort === 'large-desktop' || viewPort === 'desktop' || viewPort === 'tablet') ? '460px' : ''}\n noCloseButton={false}\n backDrop={true}\n > <div className={`${Styles.accessoryErrorUpdate}`}>\n <RichText content={content?.errorModal?.[0]?.heading} />\n <RichText content={content?.errorModal?.[0]?.description} />\n <div className={`${Styles.accessoryErrorButtons}`}>\n <div className={`${Styles.cancelButton}`} onClick={() => { onCloseClick() }}>{content?.cancelButtonLinkText}</div>\n <FalconButtonV2\n content={content?.retryButton?.[0]}\n onClick={(e: any) => multiItemAccesoryCreatecart(e)}\n metadata={undefined}\n wafIdentifier={basicConfigUrl}\n />\n </div>\n </div>\n </AccessoryModal>\n }\n {showCartLimitError && store?.selectedTab === ACCESSORY && <AccessoryModal\n modalState={showCartLimitError}\n handler={() => { onCloseClickCartLimitPopup() }}\n showFooter={false}\n height={'auto'}\n fixedWidth={(viewPort === 'large-desktop' || viewPort === 'desktop' || viewPort === 'tablet') ? '624px' : ''}\n noCloseButton={false}\n backDrop={true}>\n <div className={`${Styles.accessoryErrorUpdate}`}>\n <RichText content={JSON.parse(\n replacePlaceholder(JSON.stringify(content?.cartLimitModal?.[0]?.heading), [\n accessoriesLimit?.[store.selectedTab].toString()\n ])\n )} />\n <RichText content={JSON.parse(\n replacePlaceholder(JSON.stringify(content?.cartLimitModal?.[0]?.description), [\n accessoriesLimit?.[store.selectedTab].toString()\n ])\n )} />\n <div className={`${Styles.accessoryErrorButtons}`}>\n <div className={`${Styles.cancelButton}`} onClick={() => { onCloseClickCartLimitPopup() }}>{content?.cartLimitBtnText}</div>\n </div>\n </div>\n </AccessoryModal>}\n \n {/* Selection Limit Modal for Watches and Tablets */}\n {showCartLimitError && (store?.selectedTab === WATCHES || store?.selectedTab === TABLETS) && (() => {\n const selectionContent = getSelectionPopupContent();\n // Track popup open event, limit description to 100 chars max\n // const desc = typeof selectionContent?.description === 'string'\n // ? selectionContent.description\n // : JSON.stringify(selectionContent?.description ?? '');\n trackNewDatalayerEvent(GAEVENT, OPENPOPUP, {\n component: POPUP,\n message_title: REPLACESELECTION,\n message_description: selectionContent?.description?.content?.[0]?.content?.[0]?.text?.slice(0, 100),\n message_type: INFO\n });\n return (\n <AccessoryModal\n modalState={showCartLimitError}\n handler={() => handleClosePopup(selectionContent) }\n showFooter={false}\n height={'auto'}\n fixedWidth={(viewPort === 'large-desktop' || viewPort === 'desktop' || viewPort === 'tablet') ? '624px' : ''}\n noCloseButton={false}\n backDrop={true}\n >\n <>\n {selectionContent?.heading && (\n <div className={Styles.modalHeading}>\n <RichText content={selectionContent.heading} />\n </div>\n )}\n \n {selectionContent?.description && (\n <div className={Styles.modalDescription}>\n <RichText content={selectionContent.description} />\n </div>\n )}\n \n <div className={Styles.modalButtons}>\n {selectionContent?.link && (\n <a \n className={Styles.factSheetLink}\n onClick={() => handleKeepPrevious()}\n >\n {selectionContent.linkText}\n </a>\n )}\n \n {selectionContent?.button?.length > 0 && (\n <FalconButtonV2\n content={selectionContent.button[0]}\n onClick={() => handleReplaceSelection()}\n metadata={undefined}\n wafIdentifier={''}\n />\n )}\n </div>\n </>\n </AccessoryModal>\n );\n })()}\n </>\n );\n}\n\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","successLoader","setSuccessLoader","dotLoaderData","_e","_d","_c","_b","_a","globalDotLoader","reference","body","_k","_j","_h","_g","_f","_l","portalPosition","window","document","getElementById","ratePlanFlow","_o","_m","MOBILERATEPLAN","includes","call","_r","_q","_p","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","_s","AssetPathPropConfig","getInstance","getAssetPath","fireImmediateCartUpdate","item","action","cartItems","buildSingleItemCartPayload","length","multiItemAccessorycreateCartRequest","id","redirectUrl","skipRedirect","previousTab","successLoaderData","duration","successMsgDuration","successLoaderCallback","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","hardwareCategory","multiItemAccesoryCreatecart","Object","keys","setupdateAccessoryCartFailure","winCheckoutUrl","cached_url","multiItemCheckoutUrl","url","TABCLICK","LINK","CONTINUE","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","hardwareOneTimeTotal","reduce","sum","price","taxIncludedAmount","itemType","HARDWARE","getCartItemDisplayInfo","isCartOnly","Boolean","some","rpRawPrice","ratePlan","derivedPrice","listPrice","ratePlanInfo","monthlyPrice","rpParsedPrice","rpPrice","getAllSelectedItems","allTabSelectedCount","total","count","React","createElement","Fragment","createPortal","GlobalDotLoader","isSuccess","Row","className","Styles","mainPage","cartLimitTxt","RichText","extraSimHeading","watchesHeading","tabletsHeading","DeviceCarouselComponent","key","_u","_t","CONTRACT","card","selectedCard","detailSection","sbStoryItem","displayText","heading","optionalText","accessoriesColorLabel","_v","accImage","_w","esimIcon","esimBadge","_y","_x","energyIcon","src","getCompressedImage","_z","_0","alt","width","height","_1","_2","imageData","image","mainPriceContainer","priceContainer","style","_4","_3","marketMonthlyInstallment","countZero","_5","_6","_7","_8","strikedMonthlyPrice","_9","_11","monthlyStrikethroughText","monthlyText","totalPrice","totalText","_14","_13","strikedtotalMonthlyPrice","visibility","_15","_16","market","_18","_17","priceDescription","monthlyPaymentLabel","monthlyDownPaymentLabel","_19","includedOptions","_20","FLEX_UPGRADE","freeFUText","flexUpgradeText","_22","_21","_24","_23","_25","_28","oneTimePaymentLabel","addtocartButton","removefromcartButton","cartBtn","_29","_30","FalconButtonV2","_31","onClick","wafIdentifier","disabled","_32","miaFooter","enableSelectionSummary","miniSummary","titleRow","titleLabel","yourSelectionTitle","titleIcons","selectionSummaryPlusIcon","cartToggle","selectionSummaryCollapseIcon","selectionSummaryExpandIcon","miniCartDivider","itemRow","itemLine","itemName","oneTime","cartDelete","selectionSummaryDeleteIcon","__awaiter","console","log","removeItemFromCart","handleDeleteFromMiniCart","rpName","_12","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 */\nimport React, {JSX, useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport Styles from './AccessoryCard.module.scss';\n// import FalconButton from '@/components/shared/FalconButton/falconButton';\nimport { MultiItemAccessoriesSchema } from '../MultiItemAccessories/MultiItemAccessoriesSchema';\nimport DeviceCarouselComponent from '../DeviceCarouselComponent';\nimport Row from '../../ResponsiveRow/row';\n// import GenericImage from '../../GenericImage/GenericImage';\nimport { getCompressedImage } from '../../../utils/utils';\nimport { getCookie } from 'cookies-next';\nimport FalconButtonV2 from '../../FalconButtonV2/FalconButtonV2';\nimport { countZero, replacePlaceholder } from '../../../utils/utils';\nimport AccessoryModal from './AccessoryModal';\nimport RichText from '../../richtext';\nimport { viewport } from '../../../utils/utils';\nimport { ACCORDIONCLICK, ADD_TO_CART, CLOSE, CLOSEPOPUP, CONTINUE, CTABUTTONCLICK, FORM, GAEVENT, INFO, KEEPPREVIOUS, LINK, OPEN, OPENPOPUP, POPUP, REMOVEFROMCART, REPLACE, REPLACESELECTION, TABCLICK } from '../../../Analytics/AnalyticsConstants';\nimport { trackViewItem } from '../../../utils/AnalyticsUtils';\nimport { MONTHLY, ONETIME, CONTRACT, MOBILERATEPLAN, TV, INTERNETFLOW, ACCESSORY, WATCHES, TABLETS, HARDWARE, ADD, REMOVE, FLEX_UPGRADE } from '../../../utils/constants';\nimport { useMultiAccessoryContext } from '../multiItemAccessoryStore/useMultiAccessoryContext';\nimport { useMultiAccessoryActions } from '../multiItemAccessoryStore/useMultiAccessoryActions';\nimport { buildSingleItemCartPayload, useMultiAccessoryUpdateCartActions } from '../multiItemAccessoryStore/useMultiAccessoryUpdateCartActions';\nimport { AssetPathPropConfig } from '../../../services';\nimport { trackNewDatalayerEvent } from '../../../utils/AnalyticsUtils';\nimport GlobalDotLoader from '../../GlobalDotLoader/GlobalDotLoader';\n\ntype AccessoryCardProps = {\n content: MultiItemAccessoriesSchema;\n tabIndex: number;\n checkingviewPort: any;\n isSubscriptionFlow: boolean;\n setAccessoriesSelected?: (accessories: any[]) => void;\n};\n\n// eslint-disable-next-line max-lines-per-function\nconst AccessoryCard = ({\n content,\n tabIndex,\n isSubscriptionFlow,\n setAccessoriesSelected\n}: AccessoryCardProps): JSX.Element => {\n const cartId = getCookie('one-commerce-cartId');\n const [show, setShow] = useState(false);\n const viewPort = viewport();\n const [showCartLimitError, setShowCartLimitError] = useState(false);\n const [pendingItem, setPendingItem] = useState<any>(null);\n const [pendingItemIndex, setPendingItemIndex] = useState<number>(0);\n const { store, dispatch } = useMultiAccessoryContext();\n const actions = useMultiAccessoryActions(dispatch);\n const cartActions = useMultiAccessoryUpdateCartActions();\n const { updateAccessoryCartFailure } = store; // for MultiAccessoryUpdateCart state\n //for multiAccessory recommendation api state\n const { multiItemAccessoriessList, deviceSessionValues, selectedPaymentType, recommendedAccessories, cartData, loading, showMiniCart } = store;\n const [successLoader, setSuccessLoader] = useState<boolean>(false);\n const dotLoaderData = content?.globalDotLoader?.[0]?.reference?.content?.body?.[0]\n ? content?.globalDotLoader?.[0]?.reference?.content?.body?.[0]\n : content?.globalDotLoader?.[0];\n /*the portal position for the the dotloader*/\n const portalPosition: any =\n typeof window !== 'undefined' && document.getElementById('multi-accessory-card');\n //check for WIN/rateplan flow\n const ratePlanFlow = [MOBILERATEPLAN ]?.includes?.(recommendedAccessories?.[store?.selectedTab]?.hardware?.[0]?.recommendationProcessingType) ? true : (deviceSessionValues?.hardwareVariant ? false : true);\n const accessoriesLimit: any = {\n [ACCESSORY]: isSubscriptionFlow\n ? (ratePlanFlow ? +content?.ratePlanAccessoriesLimit : +content?.winAccessoriesLimit)\n : +content?.accessoriesLimit,\n WATCHES: 1,\n TABLETS: 1,\n };\n const setShowMiniCart = (value: boolean) => {\n trackNewDatalayerEvent(GAEVENT, ACCORDIONCLICK, {\n component: FORM,\n click_text: value ? OPEN : CLOSE\n });\n actions.setShowMiniCart(value);\n }\n\n const limitWarningText = JSON.parse(\n replacePlaceholder(JSON.stringify(content?.cartLimitWarningText), [\n accessoriesLimit?.[store.selectedTab].toString()\n ])\n );\n const basicConfigUrl = AssetPathPropConfig?.getInstance()?.getAssetPath();\n\n // Helper function to get selection popup content based on tab type\n const getSelectionPopupContent = () => {\n return store?.selectedTab === WATCHES \n ? content?.watchesSelectionPopup?.[0] \n : content?.tabletsSelectionPopup?.[0];\n };\n\n // Helper to fire immediate per-item cart API call\n const fireImmediateCartUpdate = (item: any, action: string) => {\n const cartItems = buildSingleItemCartPayload(item, action, store?.selectedTab, store);\n if (cartItems.length > 0) {\n cartActions.multiItemAccessorycreateCartRequest({\n id: cartId,\n redirectUrl: '',\n skipRedirect: true,\n previousTab: store?.selectedTab,\n cartItems,\n successLoaderData: {\n duration: action === ADD ? dotLoaderData?.successMsgDuration ?? '0' : '0',\n successLoaderCallback: setSuccessLoader\n }\n });\n }\n };\n\n // for handling add and remove accessories from cart\n const handleClickAddRemoveCartBtn = (e: any, item: any, index: number) => {\n e.preventDefault();\n if (cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id]) {\n // Item is in cart — remove it\n trackCTAButton(GAEVENT, REMOVEFROMCART, item, index);\n fireImmediateCartUpdate(item, REMOVE);\n } else {\n // Item not in cart — add it\n if (checkCartLimit(item, index)) {\n return;\n }\n trackCTAButton(ADD_TO_CART, ADD_TO_CART, item, index);\n fireImmediateCartUpdate(item, ADD);\n }\n };\n\n // Track analytics for CTA buttons\n const trackCTAButton = (event: string, eventName: string, item: any, index: number): void => {\n trackViewItem(event, eventName, {\n displayName: item?.recomApiResponse?.name,\n productId: item?.recomApiResponse?.id,\n priceValue: item?.recomApiResponse?.oneTimePrice?.base,\n index: index,\n variant: item?.recomApiResponse?.variantCategory?.color,\n storage: item?.recomApiResponse?.variantCategory?.storage,\n hardwareCategory: store?.selectedTab,\n });\n }\n // create cart function call — with real-time updates, just redirect\n const multiItemAccesoryCreatecart = (e: any) => {\n e.preventDefault();\n const isRetry = Object.keys(updateAccessoryCartFailure)?.length > 0;\n if (isRetry) {\n setShow(false);\n cartActions.setupdateAccessoryCartFailure({});\n return;\n }\n\n const redirectUrl = isSubscriptionFlow ? content?.winCheckoutUrl?.cached_url : content?.multiItemCheckoutUrl?.url;\n trackNewDatalayerEvent(GAEVENT, TABCLICK, {\n component: LINK,\n click_text: CONTINUE\n });\n window.location.href = redirectUrl;\n }\n\n // close the error popup when close/cancel button is clicked\n const onCloseClick = () => {\n setShow((prevState) => !prevState);\n if (Object.keys(updateAccessoryCartFailure)?.length > 0) {\n cartActions.setupdateAccessoryCartFailure({});\n }\n };\n // open the error popup when updated cart fails\n useEffect(() => {\n if (Object.keys(updateAccessoryCartFailure)?.length > 0) {\n setShow((prevState) => !prevState);\n }\n }, [updateAccessoryCartFailure]);\n\n // close the cartLimit popup when close/cancel button is clicked\n const onCloseClickCartLimitPopup = () => {\n setShowCartLimitError(false);\n setPendingItem(null);\n setPendingItemIndex(0);\n };\n\n // Handle \"ClosePopup\" - just close the modal without any changes\n const handleClosePopup = (modalContent?: any) => {\n // Track close popup event\n modalContent?.description && trackNewDatalayerEvent(GAEVENT, CLOSEPOPUP, {\n component: POPUP,\n message_title: REPLACESELECTION,\n message_description: modalContent?.description?.content?.[0]?.content?.[0]?.text?.slice(0, 100),\n message_type: INFO,\n });\n onCloseClickCartLimitPopup();\n };\n // Handle \"Keep previous\" - just close the modal without any changes\n const handleKeepPrevious = () => {\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\n component: LINK,\n click_text: KEEPPREVIOUS\n });\n onCloseClickCartLimitPopup();\n };\n\n // Handle \"Replace\" - replace existing selection with new item via API\n const handleReplaceSelection = () => {\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\n component: LINK,\n click_text: REPLACE\n });\n if (!pendingItem) {\n onCloseClickCartLimitPopup();\n return;\n }\n\n // Find the first item currently in cart for this tab and remove it, then add the new one\n const cartItems = multiItemAccessoriessList?.[store?.selectedTab] || [];\n const existingCartItem = cartItems.find((item: any) => \n cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id]\n );\n \n if (existingCartItem) {\n trackCTAButton(GAEVENT, REMOVEFROMCART, existingCartItem, 0);\n fireImmediateCartUpdate(existingCartItem, REMOVE);\n }\n\n // Add the new pending item\n trackCTAButton(ADD_TO_CART, ADD_TO_CART, pendingItem, pendingItemIndex);\n fireImmediateCartUpdate(pendingItem, ADD);\n\n // Close the modal and clear pending item\n onCloseClickCartLimitPopup();\n };\n\n //show popup if cart limit reached\n const checkCartLimit = (item?: any, index?: number) => {\n const selectedAccCount = Object.keys(cartData?.[store?.selectedTab] || {}).length;\n if (selectedAccCount >= accessoriesLimit?.[store.selectedTab]) {\n setShowCartLimitError(true);\n setPendingItem(item || null);\n setPendingItemIndex(index || 0);\n return true;\n }\n return false;\n }\n //TODO: Remove checkingviewPort passing from multi-item\n\n // Handle delete from mini cart summary\n const handleDeleteFromMiniCart = async (item: any) => {\n const tabKey = item?.tabKey;\nconsole.log('first', cartData?.[tabKey]?.[item?.recomApiResponse?.id])\n // Call API directly to remove it from cart\n if (cartData?.[tabKey]?.[item?.recomApiResponse?.id]) {\n await cartActions.removeItemFromCart(cartId, item);\n }\n\n trackCTAButton(GAEVENT, REMOVEFROMCART, item, 0);\n };\n\n // Helper function to calculate selected count for a tab\n const getTabSelectedCount = (tabKey: string) => {\n return Object.keys(cartData?.[tabKey] || {}).length;\n };\n const inTabSelected: Record<string, number> = {};\n const summaryIcons: Record<string, string> = {};\n const summaryLabels: Record<string, string> = {};\n\n (content?.recommendationType || []).map((tabKey: string) => {\n inTabSelected[tabKey] = getTabSelectedCount(tabKey);\n summaryIcons[`${tabKey}_icon`] = (content as any)?.[`${tabKey.toLowerCase()}Icon`]?.filename;\n summaryLabels[`${tabKey}_title`] = (content as any)?.[`selectionSummary${tabKey[0]}${tabKey.slice(1).toLowerCase()}Title`];\n });\n\n /**\n * Extract name and prices from from cartData.\n * Used as fallback when the item is not present in multiItemAccessoriessList.\n */\n const getCartItemDisplayInfo = (cartItems: any[]) => {\n if (!cartItems?.length) return null;\n\n const toNumberOrZero = (value: any) => {\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : 0;\n };\n\n const getCycleMonths = (cycle: any) => {\n const start = Number(cycle?.cycleStart);\n const end = Number(cycle?.cycleEnd);\n if (Number.isFinite(start) && Number.isFinite(end) && end >= start) {\n return (end - start) + 1;\n }\n return 1;\n };\n\n let name = '';\n let monthlyInstallment = 0;\n let oneTimePrice = 0;\n\n for (const item of cartItems) {\n if (!name) {\n name = item?.name || item?.productOffering?.name || item?.productOffering?.id || item?.id || '';\n }\n\n const prices = item?.itemPrice?.[0]?.cartPrice || [];\n const monthlyPrices = prices.filter((p: any) => p?.recurringChargePeriod === 'monthly');\n const originalInstallment = monthlyPrices\n .flatMap((p: any) => p?.additionalDetails || [])\n .find((d: any) => d?.id === 'originalInstallment')?.value;\n const paynowPrice = prices.find((p: any) => p?.recurringChargePeriod === 'paynow');\n const streetPrice = paynowPrice?.additionalDetails?.find((d: any) => d?.id === 'streetPrice')?.value;\n\n // Flat update-cart payloads expose prices under `item.prices`.\n const flatPrices = item?.prices || [];\n\n // Prefer cycleStart:1 recurring (monthly installment) over last-cycle recurring.\n const flatRecurringPrices = flatPrices.filter((p: any) => p?.priceType === 'RECURRING');\n const flatMonthly = (flatRecurringPrices.find((p: any) => p?.cycle?.cycleStart === 1) || flatRecurringPrices[0])?.value;\n const flatStreet = flatPrices.find((p: any) => p?.priceType === 'STREET_PRICE')?.value;\n\n // Fallback for watch/tablet when recommendation response is absent:\n // compute total financed amount = recurring installments across cycles + one-time fee.\n const hardwareOneTimeTotal = flatRecurringPrices.reduce((sum: number, price: any) => {\n return sum + (toNumberOrZero(price?.value) * getCycleMonths(price?.cycle));\n }, 0) + flatPrices\n .filter((p: any) => p?.priceType === 'ONETIME')\n .reduce((sum: number, price: any) => sum + toNumberOrZero(price?.value), 0);\n\n monthlyInstallment += toNumberOrZero(originalInstallment || monthlyPrices?.[0]?.price?.taxIncludedAmount?.value || flatMonthly);\n oneTimePrice += toNumberOrZero(streetPrice || flatStreet || (item?.itemType === HARDWARE ? hardwareOneTimeTotal : 0));\n }\n\n return {\n name,\n monthlyInstallment,\n oneTimePrice,\n };\n };\n\n // Get all selected items across all tabs as a flat array with cumulative prices\n const getAllSelectedItems = () => {\n let totalOneTimePrice = 0;\n let totalMonthlyPrice = 0;\n\n const items = (content?.recommendationType || []).flatMap((tabKey: string) => {\n const recomList = multiItemAccessoriessList?.[tabKey] || {};\n const recomIds = new Set(Object.values(recomList).map((item: any) => item?.recomApiResponse?.id));\n\n // Items from recommendation list that are in cart\n const recomItems = Object.values(recomList)\n .filter((item: any) => cartData?.[tabKey]?.[item?.recomApiResponse?.id])\n .map((item: any) => {\n totalOneTimePrice += +(item?.recomApiResponse?.oneTimePrice?.base || 0);\n totalMonthlyPrice += +(item?.recomApiResponse?.recurringPrice?.monthlyInstallment || 0);\n return { ...item, tabKey };\n });\n\n // Cart-only items not in recommendation list\n const cartOnlyItems = Object.keys(cartData?.[tabKey] || {})\n .filter((id) => !recomIds.has(id))\n .map((id) => {\n const info = getCartItemDisplayInfo(cartData[tabKey][id]);\n if (!info) return null;\n totalOneTimePrice += info.oneTimePrice;\n totalMonthlyPrice += info.monthlyInstallment;\n return {\n tabKey,\n isCartOnly: true,\n recomApiResponse: {\n id,\n name: info.name,\n oneTimePrice: { base: info.oneTimePrice },\n recurringPrice: { monthlyInstallment: info.monthlyInstallment },\n },\n };\n })\n .filter(Boolean);\n\n return [...recomItems, ...cartOnlyItems];\n });\n\n // Add rateplan monthly cost once per WATCHES/TABLETS tab that has selected items\n for (const tabKey of [WATCHES, TABLETS]) {\n const hasItemsInTab = items.some((item: any) => item?.tabKey === tabKey);\n if (hasItemsInTab) {\n const rpRawPrice =\n recommendedAccessories?.[tabKey]?.ratePlan?.derivedPrice ??\n recommendedAccessories?.[tabKey]?.ratePlan?.listPrice ??\n cartData?.ratePlanInfo?.[tabKey]?.derivedPrice ??\n cartData?.ratePlanInfo?.[tabKey]?.monthlyPrice ??\n 0;\n const rpParsedPrice = Number(rpRawPrice);\n const rpPrice = Number.isFinite(rpParsedPrice) ? rpParsedPrice : 0;\n totalMonthlyPrice += rpPrice;\n }\n }\n\n return { items, totalOneTimePrice, totalMonthlyPrice };\n };\n\n const { items: allSelectedItems, totalOneTimePrice, totalMonthlyPrice } = getAllSelectedItems();\n const allTabSelectedCount = Object.values(inTabSelected).reduce((total, count) => total + count, 0);\n return (\n <>\n {(loading || successLoader) &&\n portalPosition &&\n createPortal(\n <GlobalDotLoader content={dotLoaderData} isSuccess={successLoader} />,\n portalPosition\n )}\n <Row>\n <div className={Styles.mainPage}>\n {((Object.keys(multiItemAccessoriessList?.[store?.selectedTab] || []).length >= accessoriesLimit?.[store.selectedTab]) && store?.selectedTab === ACCESSORY ) && <div className={Styles.cartLimitTxt}><RichText content={limitWarningText} /></div>}\n {(store?.selectedTab === WATCHES || store?.selectedTab === TABLETS) && <div className={Styles.extraSimHeading}>{store?.selectedTab === WATCHES ? content?.watchesHeading : content?.tabletsHeading}</div>}\n <DeviceCarouselComponent key={store?.selectedTab}>\n {(multiItemAccessoriessList?.[store?.selectedTab] || [])?.filter((item: any) => selectedPaymentType === CONTRACT ? item?.recomApiResponse?.recurringPrice?.monthlyInstallment > 0 : item)?.map((item: any, index: number) => {\n return (\n <div key={index} className={`${Styles.card} ${cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id] ? Styles.selectedCard : ''}`}>\n <div className={Styles.detailSection} id={`detailsectionv3${tabIndex}${index}`}>\n {(item?.sbStoryItem?.content?.body?.[0]?.displayText ?? item?.sbStoryItem?.displayText) && <div className={Styles.heading} id={`headingV3${tabIndex}${index}`}>\n {item?.sbStoryItem?.content?.body?.[0]?.displayText ?? item?.sbStoryItem?.displayText}\n {store?.selectedTab === ACCESSORY && item?.recomApiResponse?.variantCategory?.color && item?.recomApiResponse?.variantCategory?.color !== 'None' && <div className={Styles.optionalText}>{content?.accessoriesColorLabel} {item?.recomApiResponse?.variantCategory?.color}</div>}\n </div>}\n \n <div className={Styles.accImage} id={`image${tabIndex}${index}`}>\n {(store?.selectedTab === WATCHES || store?.selectedTab === TABLETS) && content?.esimIcon?.filename && (\n <div className={Styles.esimBadge}>\n {item?.sbStoryItem?.energyIcon?.filename && <img loading='lazy' src={getCompressedImage(basicConfigUrl, item?.sbStoryItem?.energyIcon?.filename)} alt='energy_Icon' width={37} height={20} />}\n <img src={content?.esimIcon?.filename} alt=\"eSIM\" className={Styles.esimIcon} />\n </div>\n )}\n <img loading='lazy' src={getCompressedImage(basicConfigUrl,item?.imageData?.image)} alt='acessories_device' width={210} height={210} />\n </div>\n </div>\n <div className={Styles.mainPriceContainer} id={`main-price-section${tabIndex}${index}`}>\n {selectedPaymentType === CONTRACT ? <div className={Styles.priceContainer} id={`price-detail-section${tabIndex}${index}`}>\n <div className={Styles.price} id={`price${tabIndex}${index}`}>\n <span style={{ color: item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment ? '#5E94CF' : '#3D3935' }}>{countZero(item?.recomApiResponse?.recurringPrice?.monthlyInstallment)}</span>\n {item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment && (\n <span className={Styles.strikedMonthlyPrice}>\n {countZero(item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment)}\n </span>\n )}\n <span className={item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment ? Styles?.monthlyStrikethroughText : Styles.monthlyText}>{content?.monthlyText}</span>\n </div>\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>\n <div className={Styles.priceDescription}>{content?.monthlyPaymentLabel}<br />{content?.monthlyDownPaymentLabel}</div>\n {(item?.recomApiResponse?.includedOptions?.includes(FLEX_UPGRADE) && content?.freeFUText) && <div className={Styles.flexUpgradeText}>{content?.freeFUText}</div>}\n </div> :\n <div className={Styles.priceContainer} id={`price-detail-section${tabIndex}${index}`}>\n <div className={Styles.price} style={{ color: item?.recomApiResponse?.recurringPrice?.marketMonthlyInstallment ? '#5E94CF' : '#3D3935' }} id={`price${tabIndex}${index}`}>\n <span className={Styles.oneTimePrice}>{countZero(item?.recomApiResponse?.oneTimePrice?.base)}</span>\n {item?.recomApiResponse?.oneTimePrice?.market && (\n <span className={Styles.strikedMonthlyPrice}>\n {countZero(item?.recomApiResponse?.oneTimePrice?.market)}\n </span>\n )}\n </div>\n <div className={Styles.priceDescription}>{content?.oneTimePaymentLabel}</div>\n </div>\n }\n {content?.addtocartButton.length > 0 && content?.removefromcartButton.length > 0 && (\n <div className={`${Styles.cartBtn}`} id={`add-crt-btn${tabIndex}${index}`}>\n {cartData?.[store?.selectedTab]?.[item?.recomApiResponse?.id] ?\n <><FalconButtonV2\n content={content?.removefromcartButton?.[0]}\n onClick={(e: any) => handleClickAddRemoveCartBtn(e, item, index)}\n wafIdentifier={basicConfigUrl}\n disabled={loading}\n />\n </> :\n <FalconButtonV2\n content={content?.addtocartButton?.[0]}\n onClick={(e: any) => handleClickAddRemoveCartBtn(e, item, index)}\n wafIdentifier={basicConfigUrl}\n disabled={loading}\n />\n }\n </div>\n )}\n </div>\n </div>\n )\n })}\n </DeviceCarouselComponent>\n\n <div className={Styles.miaFooter}>\n {/** Selection summary is shown only for multi-tab MIA (not old single-tab UI),\n * contract/monthly flow (not one-time pay), and new subscriptions\n * (existing subscription flow is blocked unless enableExistingSubscription is true (already handled in MultiItemAccessoriesPage)) */}\n {allTabSelectedCount > 0 && content?.enableSelectionSummary\n && Object.keys(recommendedAccessories || {}).length > 1\n && selectedPaymentType === CONTRACT\n && <div className={Styles.miniSummary}>\n <div className={Styles.titleRow}>\n {/**1*/}\n <span className={`fw-bold ${Styles.titleLabel}`}>{content?.yourSelectionTitle}</span>\n {/**2*/}\n <span className={Styles.titleIcons}>\n {(content?.recommendationType || []).map((tabKey: string) => {\n return (\n inTabSelected[tabKey] > 0 && (\n <>\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>}\n <span><img loading='lazy' src={getCompressedImage(basicConfigUrl,summaryIcons?.[`${tabKey}_icon`])} alt={`${tabKey}_icon`} /> {inTabSelected[tabKey]}x {summaryLabels?.[`${tabKey}_title`]}</span>\n </>\n )\n )\n })}\n </span>\n {/**3*/}\n <div className={`fw-bold ${Styles.cartPrice}`}>\n {selectedPaymentType === CONTRACT\n ? <>{countZero(totalMonthlyPrice)}{content?.monthlyText}</>\n : countZero(totalOneTimePrice)\n }\n </div>\n {/**4*/}\n {!showMiniCart ? <img className={Styles.cartToggle} onClick={() => setShowMiniCart(!showMiniCart)} loading='lazy' src={getCompressedImage(basicConfigUrl,content?.selectionSummaryExpandIcon?.filename)} alt='expand_icon' width={24} height={24}/>\n : <img className={Styles.cartToggle} onClick={() => setShowMiniCart(!showMiniCart)} loading='lazy' src={getCompressedImage(basicConfigUrl,content?.selectionSummaryCollapseIcon?.filename)} alt='expand_icon' width={24} height={24}/>}\n </div>\n {showMiniCart && (\n <>\n {/* DividerComponent */}\n <div className={Styles.miniCartDivider} />\n {allSelectedItems\n .map((item: any) => (\n <div className={Styles.itemRow} key={item?.recomApiResponse?.id}>\n <div className={Styles.itemLine}>\n <span className={Styles.itemName}>{item?.recomApiResponse?.name}</span>\n <div className={Styles.cartPrice}>\n {selectedPaymentType === CONTRACT\n ? <>{item?.recomApiResponse?.oneTimePrice?.base > 0 && <span className={Styles.oneTime}>({countZero(item?.recomApiResponse?.oneTimePrice?.base)})</span>}\n {countZero(item?.recomApiResponse?.recurringPrice?.monthlyInstallment)}{content?.monthlyText}</>\n : countZero(item?.recomApiResponse?.oneTimePrice?.base)\n }\n </div>\n <img\n className={Styles.cartDelete}\n loading='lazy'\n src={getCompressedImage(basicConfigUrl, content?.selectionSummaryDeleteIcon?.filename)}\n alt='delete_icon'\n onClick={() => handleDeleteFromMiniCart(item)}\n width={20}\n height={20}\n />\n </div>\n {[WATCHES, TABLETS].includes(item?.tabKey) &&<div className={Styles.itemLine}>\n <span className={`${Styles.itemName} ${Styles.rpName}`}>{recommendedAccessories?.[item?.tabKey]?.ratePlan?.id || cartData?.ratePlanInfo?.[item?.tabKey]?.name}</span>\n <div className={Styles.rpPrice}>\n {countZero(Number.isFinite(Number(\n recommendedAccessories?.[item?.tabKey]?.ratePlan?.derivedPrice ??\n recommendedAccessories?.[item?.tabKey]?.ratePlan?.listPrice ??\n cartData?.ratePlanInfo?.[item?.tabKey]?.derivedPrice ??\n cartData?.ratePlanInfo?.[item?.tabKey]?.monthlyPrice ??\n 0\n ))\n ? Number(\n recommendedAccessories?.[item?.tabKey]?.ratePlan?.derivedPrice ??\n recommendedAccessories?.[item?.tabKey]?.ratePlan?.listPrice ??\n cartData?.ratePlanInfo?.[item?.tabKey]?.derivedPrice ??\n cartData?.ratePlanInfo?.[item?.tabKey]?.monthlyPrice ??\n 0\n )\n : 0)}{content?.monthlyText}\n </div>\n </div>}\n {/* DividerComponent */}\n <hr className={Styles.itemDivider} />\n </div>\n ))\n }\n </>\n )\n }\n\n </div>}\n <div className={`${Styles.checkoutBtn}`}>\n {content?.proceedtocheckoutButton?.length > 0 && (\n <FalconButtonV2\n content={content.proceedtocheckoutButton[0]}\n eventAction={''}\n onClick={(e: any) => multiItemAccesoryCreatecart(e)}\n wafIdentifier={basicConfigUrl}\n disabled={loading}\n />\n )}\n </div>\n </div>\n </div>\n </Row>\n {show && <AccessoryModal\n modalState={show}\n handler={() => { onCloseClick() }}\n showFooter={false}\n height={'auto'}\n fixedWidth={(viewPort === 'large-desktop' || viewPort === 'desktop' || viewPort === 'tablet') ? '460px' : ''}\n noCloseButton={false}\n backDrop={true}\n > <div className={`${Styles.accessoryErrorUpdate}`}>\n <RichText content={content?.errorModal?.[0]?.heading} />\n <RichText content={content?.errorModal?.[0]?.description} />\n <div className={`${Styles.accessoryErrorButtons}`}>\n <div className={`${Styles.cancelButton}`} onClick={() => { onCloseClick() }}>{content?.cancelButtonLinkText}</div>\n <FalconButtonV2\n content={content?.retryButton?.[0]}\n onClick={(e: any) => multiItemAccesoryCreatecart(e)}\n metadata={undefined}\n wafIdentifier={basicConfigUrl}\n />\n </div>\n </div>\n </AccessoryModal>\n }\n {showCartLimitError && store?.selectedTab === ACCESSORY && <AccessoryModal\n modalState={showCartLimitError}\n handler={() => { onCloseClickCartLimitPopup() }}\n showFooter={false}\n height={'auto'}\n fixedWidth={(viewPort === 'large-desktop' || viewPort === 'desktop' || viewPort === 'tablet') ? '624px' : ''}\n noCloseButton={false}\n backDrop={true}>\n <div className={`${Styles.accessoryErrorUpdate}`}>\n <RichText content={JSON.parse(\n replacePlaceholder(JSON.stringify(content?.cartLimitModal?.[0]?.heading), [\n accessoriesLimit?.[store.selectedTab].toString()\n ])\n )} />\n <RichText content={JSON.parse(\n replacePlaceholder(JSON.stringify(content?.cartLimitModal?.[0]?.description), [\n accessoriesLimit?.[store.selectedTab].toString()\n ])\n )} />\n <div className={`${Styles.accessoryErrorButtons}`}>\n <div className={`${Styles.cancelButton}`} onClick={() => { onCloseClickCartLimitPopup() }}>{content?.cartLimitBtnText}</div>\n </div>\n </div>\n </AccessoryModal>}\n \n {/* Selection Limit Modal for Watches and Tablets */}\n {showCartLimitError && (store?.selectedTab === WATCHES || store?.selectedTab === TABLETS) && (() => {\n const selectionContent = getSelectionPopupContent();\n // Track popup open event, limit description to 100 chars max\n // const desc = typeof selectionContent?.description === 'string'\n // ? selectionContent.description\n // : JSON.stringify(selectionContent?.description ?? '');\n trackNewDatalayerEvent(GAEVENT, OPENPOPUP, {\n component: POPUP,\n message_title: REPLACESELECTION,\n message_description: selectionContent?.description?.content?.[0]?.content?.[0]?.text?.slice(0, 100),\n message_type: INFO\n });\n return (\n <AccessoryModal\n modalState={showCartLimitError}\n handler={() => handleClosePopup(selectionContent) }\n showFooter={false}\n height={'auto'}\n fixedWidth={(viewPort === 'large-desktop' || viewPort === 'desktop' || viewPort === 'tablet') ? '624px' : ''}\n noCloseButton={false}\n backDrop={true}\n >\n <>\n {selectionContent?.heading && (\n <div className={Styles.modalHeading}>\n <RichText content={selectionContent.heading} />\n </div>\n )}\n \n {selectionContent?.description && (\n <div className={Styles.modalDescription}>\n <RichText content={selectionContent.description} />\n </div>\n )}\n \n <div className={Styles.modalButtons}>\n {selectionContent?.link && (\n <a \n className={Styles.factSheetLink}\n onClick={() => handleKeepPrevious()}\n >\n {selectionContent.linkText}\n </a>\n )}\n \n {selectionContent?.button?.length > 0 && (\n <FalconButtonV2\n content={selectionContent.button[0]}\n onClick={() => handleReplaceSelection()}\n metadata={undefined}\n wafIdentifier={''}\n />\n )}\n </div>\n </>\n </AccessoryModal>\n );\n })()}\n </>\n );\n}\n\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","successLoader","setSuccessLoader","dotLoaderData","_e","_d","_c","_b","_a","globalDotLoader","reference","body","_k","_j","_h","_g","_f","_l","portalPosition","window","document","getElementById","ratePlanFlow","_o","_m","MOBILERATEPLAN","includes","call","_r","_q","_p","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","_s","AssetPathPropConfig","getInstance","getAssetPath","fireImmediateCartUpdate","item","action","cartItems","buildSingleItemCartPayload","length","multiItemAccessorycreateCartRequest","id","redirectUrl","skipRedirect","previousTab","successLoaderData","duration","ADD","successMsgDuration","successLoaderCallback","handleClickAddRemoveCartBtn","e","index","preventDefault","recomApiResponse","trackCTAButton","REMOVEFROMCART","REMOVE","checkCartLimit","ADD_TO_CART","event","eventName","trackViewItem","displayName","name","productId","priceValue","oneTimePrice","base","variant","variantCategory","color","storage","hardwareCategory","multiItemAccesoryCreatecart","Object","keys","setupdateAccessoryCartFailure","winCheckoutUrl","cached_url","multiItemCheckoutUrl","url","TABCLICK","LINK","CONTINUE","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","hardwareOneTimeTotal","reduce","sum","price","taxIncludedAmount","itemType","HARDWARE","getCartItemDisplayInfo","isCartOnly","Boolean","some","rpRawPrice","ratePlan","derivedPrice","listPrice","ratePlanInfo","monthlyPrice","rpParsedPrice","rpPrice","getAllSelectedItems","allTabSelectedCount","total","count","React","createElement","Fragment","createPortal","GlobalDotLoader","isSuccess","Row","className","Styles","mainPage","cartLimitTxt","RichText","extraSimHeading","watchesHeading","tabletsHeading","DeviceCarouselComponent","key","_u","_t","CONTRACT","card","selectedCard","detailSection","sbStoryItem","displayText","heading","optionalText","accessoriesColorLabel","_v","accImage","_w","esimIcon","esimBadge","_y","_x","energyIcon","src","getCompressedImage","_z","_0","alt","width","height","_1","_2","imageData","image","mainPriceContainer","priceContainer","style","_4","_3","marketMonthlyInstallment","countZero","_5","_6","_7","_8","strikedMonthlyPrice","_9","_11","monthlyStrikethroughText","monthlyText","totalPrice","totalText","_14","_13","strikedtotalMonthlyPrice","visibility","_15","_16","market","_18","_17","priceDescription","monthlyPaymentLabel","monthlyDownPaymentLabel","_19","includedOptions","_20","FLEX_UPGRADE","freeFUText","flexUpgradeText","_22","_21","_24","_23","_25","_28","oneTimePaymentLabel","addtocartButton","removefromcartButton","cartBtn","_29","_30","FalconButtonV2","_31","onClick","wafIdentifier","disabled","_32","miaFooter","enableSelectionSummary","miniSummary","titleRow","titleLabel","yourSelectionTitle","titleIcons","selectionSummaryPlusIcon","cartToggle","selectionSummaryCollapseIcon","selectionSummaryExpandIcon","miniCartDivider","itemRow","itemLine","itemName","oneTime","cartDelete","selectionSummaryDeleteIcon","__awaiter","console","log","removeItemFromCart","handleDeleteFromMiniCart","rpName","_12","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 r,Children as i,useEffect as n}from"react";import{Swiper as s,SwiperSlide as t}from"swiper/react";import{A11y as a,Pagination as l}from"swiper/modules";import"swiper/css";import"swiper/css/pagination";import o from"./StaticLineTable.module.scss.js";const d=({children:d,activeIndex:c,mobileArrows:p=!1,animateTabs:m=!1})=>{const[w,b]=r(null),[u,g]=r({locked:!0,beginning:!0,end:!1}),v=i.toArray(d),A=void 0!==c,$=e=>{e.destroyed||g({locked:e.isLocked,beginning:e.isBeginning,end:e.isEnd})};return n(()=>{w&&!w.destroyed&&void 0!==c&&(w.slideTo(c,0),$(w))},[w,c]),e.createElement("div",{className:`${o.swiperCardsWrapper} ${p?o.mobileArrows:""}`},e.createElement(s,{className:A?`${o.swiperTabs} ${m?o.swiperTabsAnimated:""}`:o.swiperCards,modules:[a,l],onSwiper:e=>{b(e),$(e)},onSlideChange:$,onResize:$,onUpdate:$,initialSlide:null!=c?c:0,slidesPerView:A||v.length<2?1:"auto",centerInsufficientSlides:!A,allowTouchMove:!A,nested:!A,watchOverflow:!0,observer:!0,observeParents:!0,pagination:!A&&{clickable:!0,enabled:v.length>1},breakpoints:A?void 0:{768:{slidesPerView:2},1024:{slidesPerView:3,pagination:{enabled:v.length>3}},1440:{slidesPerView:4,pagination:{enabled:v.length>4}}}},v.map((r,i)=>{var n;return e.createElement(t,{key:e.isValidElement(r)&&null!==(n=r.key)&&void 0!==n?n:i},r)})),!A&&v.length>1&&!u.locked&&e.createElement(e.Fragment,null,e.createElement("button",{type:"button",className:`${o.swiperArrow} ${o.swiperArrowPrev}`,"aria-label":"Previous products",disabled:u.beginning,onClick:()=>null==w?void 0:w.slidePrev()},e.createElement("span",{className:`${o.swiperArrowIcon} ${o.swiperArrowIconPrev}`})),e.createElement("button",{type:"button",className:`${o.swiperArrow} ${o.swiperArrowNext}`,"aria-label":"Next products",disabled:u.end,onClick:()=>null==w?void 0:w.slideNext()},e.createElement("span",{className:`${o.swiperArrowIcon} ${o.swiperArrowIconNext}`}))))};export{d as default};
1
+ import e,{useState as r,Children as i,useEffect as n}from"react";import{Swiper as s,SwiperSlide as l}from"swiper/react";import{A11y as t,Pagination as a}from"swiper/modules";import"swiper/css";import"swiper/css/pagination";import o from"./StaticLineTable.module.scss.js";const d=({children:d,activeIndex:c,mobileArrows:p=!1,animateTabs:m=!1})=>{const[w,b]=r(null),[u,g]=r({locked:!0,beginning:!0,end:!1}),v=i.toArray(d),A=void 0!==c,$=e=>{e.destroyed||g({locked:e.isLocked,beginning:e.isBeginning,end:e.isEnd})};return n(()=>{w&&!w.destroyed&&void 0!==c&&(w.slideTo(c,0),$(w))},[w,c]),e.createElement("div",{className:`${o.swiperCardsWrapper} ${p?o.mobileArrows:""}`},e.createElement(s,{className:A?`${o.swiperTabs} ${m?o.swiperTabsAnimated:""}`:o.swiperCards,modules:[t,a],onSwiper:e=>{b(e),$(e)},onSlideChange:$,onResize:$,onUpdate:$,initialSlide:null!=c?c:0,slidesPerView:A||v.length<2?1:"auto",centerInsufficientSlides:!A,allowTouchMove:!A,nested:!A,watchOverflow:!0,lazyPreload:!1,pagination:!A&&{clickable:!0,enabled:v.length>1},breakpoints:A?void 0:{768:{slidesPerView:2},1024:{slidesPerView:3,pagination:{enabled:v.length>3}},1440:{slidesPerView:4,pagination:{enabled:v.length>4}}}},v.map((r,i)=>{var n;return e.createElement(l,{key:e.isValidElement(r)&&null!==(n=r.key)&&void 0!==n?n:i},r)})),!A&&v.length>1&&!u.locked&&e.createElement(e.Fragment,null,e.createElement("button",{type:"button",className:`${o.swiperArrow} ${o.swiperArrowPrev}`,"aria-label":"Previous products",disabled:u.beginning,onClick:()=>null==w?void 0:w.slidePrev()},e.createElement("span",{className:`${o.swiperArrowIcon} ${o.swiperArrowIconPrev}`})),e.createElement("button",{type:"button",className:`${o.swiperArrow} ${o.swiperArrowNext}`,"aria-label":"Next products",disabled:u.end,onClick:()=>null==w?void 0:w.slideNext()},e.createElement("span",{className:`${o.swiperArrowIcon} ${o.swiperArrowIconNext}`}))))};export{d as default};
2
2
  //# sourceMappingURL=LineTableCarousel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LineTableCarousel.js","sources":["../../../../src/components/StaticLineTable/LineTableCarousel.tsx"],"sourcesContent":["import React, { Children, ReactNode, useEffect, useState } from 'react';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport { A11y, Pagination } from 'swiper/modules';\nimport type { Swiper as SwiperInstance } from 'swiper';\nimport 'swiper/css';\nimport 'swiper/css/pagination';\nimport Styles from './StaticLineTable.module.scss';\n\ninterface LineTableCarouselProps {\n children: ReactNode;\n activeIndex?: number;\n mobileArrows?: boolean;\n animateTabs?: boolean;\n}\n\nconst LineTableCarousel = ({\n children,\n activeIndex,\n mobileArrows = false,\n animateTabs = false\n}: LineTableCarouselProps) => {\n const [swiper, setSwiper] = useState<SwiperInstance | null>(null);\n const [navigationState, setNavigationState] = useState({ locked: true, beginning: true, end: false });\n const slides = Children.toArray(children);\n const isTabPanel = activeIndex !== undefined;\n const syncNavigationState = (instance: SwiperInstance) => {\n if (!instance.destroyed) {\n setNavigationState({\n locked: instance.isLocked,\n beginning: instance.isBeginning,\n end: instance.isEnd\n });\n }\n };\n\n useEffect(() => {\n if (swiper && !swiper.destroyed && activeIndex !== undefined) {\n swiper.slideTo(activeIndex, 0);\n syncNavigationState(swiper);\n }\n }, [swiper, activeIndex]);\n\n return (\n <div className={`${Styles.swiperCardsWrapper} ${mobileArrows ? Styles.mobileArrows : ''}`}>\n <Swiper\n className={\n isTabPanel\n ? `${Styles.swiperTabs} ${animateTabs ? Styles.swiperTabsAnimated : ''}`\n : Styles.swiperCards\n }\n modules={[A11y, Pagination]}\n onSwiper={(instance) => {\n setSwiper(instance);\n syncNavigationState(instance);\n }}\n onSlideChange={syncNavigationState}\n onResize={syncNavigationState}\n onUpdate={syncNavigationState}\n initialSlide={activeIndex ?? 0}\n slidesPerView={isTabPanel || slides.length < 2 ? 1 : 'auto'}\n centerInsufficientSlides={!isTabPanel}\n allowTouchMove={!isTabPanel}\n nested={!isTabPanel}\n watchOverflow\n observer\n observeParents\n pagination={isTabPanel ? false : { clickable: true, enabled: slides.length > 1 }}\n breakpoints={isTabPanel ? undefined : {\n 768: { slidesPerView: 2 },\n 1024: { slidesPerView: 3, pagination: { enabled: slides.length > 3 } },\n 1440: { slidesPerView: 4, pagination: { enabled: slides.length > 4 } }\n }}\n >\n {slides.map((slide, slideIndex) => (\n <SwiperSlide key={React.isValidElement(slide) ? slide.key ?? slideIndex : slideIndex}>\n {slide}\n </SwiperSlide>\n ))}\n </Swiper>\n {!isTabPanel && slides.length > 1 && !navigationState.locked && (\n <>\n <button\n type='button'\n className={`${Styles.swiperArrow} ${Styles.swiperArrowPrev}`}\n aria-label='Previous products'\n disabled={navigationState.beginning}\n onClick={() => swiper?.slidePrev()}\n >\n <span className={`${Styles.swiperArrowIcon} ${Styles.swiperArrowIconPrev}`} />\n </button>\n <button\n type='button'\n className={`${Styles.swiperArrow} ${Styles.swiperArrowNext}`}\n aria-label='Next products'\n disabled={navigationState.end}\n onClick={() => swiper?.slideNext()}\n >\n <span className={`${Styles.swiperArrowIcon} ${Styles.swiperArrowIconNext}`} />\n </button>\n </>\n )}\n </div>\n );\n};\n\nexport default LineTableCarousel;"],"names":["LineTableCarousel","children","activeIndex","mobileArrows","animateTabs","swiper","setSwiper","useState","navigationState","setNavigationState","locked","beginning","end","slides","Children","toArray","isTabPanel","undefined","syncNavigationState","instance","destroyed","isLocked","isBeginning","isEnd","useEffect","slideTo","React","className","Styles","swiperCardsWrapper","createElement","Swiper","swiperTabs","swiperTabsAnimated","swiperCards","modules","A11y","Pagination","onSwiper","onSlideChange","onResize","onUpdate","initialSlide","slidesPerView","length","centerInsufficientSlides","allowTouchMove","nested","watchOverflow","observer","observeParents","pagination","clickable","enabled","breakpoints","map","slide","slideIndex","SwiperSlide","key","isValidElement","_a","Fragment","type","swiperArrow","swiperArrowPrev","disabled","onClick","slidePrev","swiperArrowIcon","swiperArrowIconPrev","swiperArrowNext","slideNext","swiperArrowIconNext"],"mappings":"+QAeA,MAAMA,EAAoB,EACxBC,WACAC,cACAC,gBAAe,EACfC,eAAc,MAEd,MAAOC,EAAQC,GAAaC,EAAgC,OACrDC,EAAiBC,GAAsBF,EAAS,CAAEG,QAAQ,EAAMC,WAAW,EAAMC,KAAK,IACvFC,EAASC,EAASC,QAAQd,GAC1Be,OAA6BC,IAAhBf,EACbgB,EAAuBC,IACtBA,EAASC,WACZX,EAAmB,CACjBC,OAAQS,EAASE,SACjBV,UAAWQ,EAASG,YACpBV,IAAKO,EAASI,SAYpB,OAPAC,EAAU,KACJnB,IAAWA,EAAOe,gBAA6BH,IAAhBf,IACjCG,EAAOoB,QAAQvB,EAAa,GAC5BgB,EAAoBb,KAErB,CAACA,EAAQH,IAGVwB,uBAAKC,UAAW,GAAGC,EAAOC,sBAAsB1B,EAAeyB,EAAOzB,aAAe,MACnFuB,EAAAI,cAACC,EAAM,CACLJ,UACEX,EACI,GAAGY,EAAOI,cAAc5B,EAAcwB,EAAOK,mBAAqB,KAClEL,EAAOM,YAEbC,QAAS,CAACC,EAAMC,GAChBC,SAAWnB,IACTb,EAAUa,GACVD,EAAoBC,IAEtBoB,cAAerB,EACfsB,SAAUtB,EACVuB,SAAUvB,EACVwB,aAAcxC,QAAAA,EAAe,EAC7ByC,cAAe3B,GAAcH,EAAO+B,OAAS,EAAI,EAAI,OACrDC,0BAA2B7B,EAC3B8B,gBAAiB9B,EACjB+B,QAAS/B,EACTgC,eAAa,EACbC,YACAC,gBAAc,EACdC,YAAYnC,GAAqB,CAAEoC,WAAW,EAAMC,QAASxC,EAAO+B,OAAS,GAC7EU,YAAatC,OAAaC,EAAY,CACpC,IAAK,CAAE0B,cAAe,GACtB,KAAM,CAAEA,cAAe,EAAGQ,WAAY,CAAEE,QAASxC,EAAO+B,OAAS,IACjE,KAAM,CAAED,cAAe,EAAGQ,WAAY,CAAEE,QAASxC,EAAO+B,OAAS,MAGlE/B,EAAO0C,IAAI,CAACC,EAAOC,WAAe,OACjC/B,EAAAI,cAAC4B,EAAW,CAACC,IAAKjC,EAAMkC,eAAeJ,IAAkB,QAATK,EAAAL,EAAMG,WAAG,IAAAE,EAAAA,EAAiBJ,GACvED,OAILxC,GAAcH,EAAO+B,OAAS,IAAMpC,EAAgBE,QACpDgB,EAAAI,cAAAJ,EAAAoC,SAAA,KACEpC,EAAAI,cAAA,SAAA,CACEiC,KAAK,SACLpC,UAAW,GAAGC,EAAOoC,eAAepC,EAAOqC,+BAChC,oBACXC,SAAU1D,EAAgBG,UAC1BwD,QAAS,IAAM9D,aAAM,EAANA,EAAQ+D,aAEvB1C,EAAAI,cAAA,OAAA,CAAMH,UAAW,GAAGC,EAAOyC,mBAAmBzC,EAAO0C,yBAEvD5C,EAAAI,cAAA,SAAA,CACEiC,KAAK,SACLpC,UAAW,GAAGC,EAAOoC,eAAepC,EAAO2C,+BAChC,gBACXL,SAAU1D,EAAgBI,IAC1BuD,QAAS,IAAM9D,aAAM,EAANA,EAAQmE,aAEvB9C,EAAAI,cAAA,OAAA,CAAMH,UAAW,GAAGC,EAAOyC,mBAAmBzC,EAAO6C"}
1
+ {"version":3,"file":"LineTableCarousel.js","sources":["../../../../src/components/StaticLineTable/LineTableCarousel.tsx"],"sourcesContent":["import React, { Children, ReactNode, useEffect, useState } from 'react';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport { A11y, Pagination } from 'swiper/modules';\nimport type { Swiper as SwiperInstance } from 'swiper';\nimport 'swiper/css';\nimport 'swiper/css/pagination';\nimport Styles from './StaticLineTable.module.scss';\n\ninterface LineTableCarouselProps {\n children: ReactNode;\n activeIndex?: number;\n mobileArrows?: boolean;\n animateTabs?: boolean;\n}\n\nconst LineTableCarousel = ({\n children,\n activeIndex,\n mobileArrows = false,\n animateTabs = false\n}: LineTableCarouselProps) => {\n const [swiper, setSwiper] = useState<SwiperInstance | null>(null);\n const [navigationState, setNavigationState] = useState({\n locked: true,\n beginning: true,\n end: false\n });\n const slides = Children.toArray(children);\n const isTabPanel = activeIndex !== undefined;\n const syncNavigationState = (instance: SwiperInstance) => {\n if (!instance.destroyed) {\n setNavigationState({\n locked: instance.isLocked,\n beginning: instance.isBeginning,\n end: instance.isEnd\n });\n }\n };\n\n useEffect(() => {\n if (swiper && !swiper.destroyed && activeIndex !== undefined) {\n swiper.slideTo(activeIndex, 0);\n syncNavigationState(swiper);\n }\n }, [swiper, activeIndex]);\n\n return (\n <div className={`${Styles.swiperCardsWrapper} ${mobileArrows ? Styles.mobileArrows : ''}`}>\n <Swiper\n className={\n isTabPanel\n ? `${Styles.swiperTabs} ${animateTabs ? Styles.swiperTabsAnimated : ''}`\n : Styles.swiperCards\n }\n modules={[A11y, Pagination]}\n onSwiper={(instance) => {\n setSwiper(instance);\n syncNavigationState(instance);\n }}\n onSlideChange={syncNavigationState}\n onResize={syncNavigationState}\n onUpdate={syncNavigationState}\n initialSlide={activeIndex ?? 0}\n slidesPerView={isTabPanel || slides.length < 2 ? 1 : 'auto'}\n centerInsufficientSlides={!isTabPanel}\n allowTouchMove={!isTabPanel}\n nested={!isTabPanel}\n watchOverflow\n lazyPreload={false}\n pagination={isTabPanel ? false : { clickable: true, enabled: slides.length > 1 }}\n breakpoints={\n isTabPanel\n ? undefined\n : {\n 768: { slidesPerView: 2 },\n 1024: { slidesPerView: 3, pagination: { enabled: slides.length > 3 } },\n 1440: { slidesPerView: 4, pagination: { enabled: slides.length > 4 } }\n }\n }\n >\n {slides.map((slide, slideIndex) => (\n <SwiperSlide key={React.isValidElement(slide) ? (slide.key ?? slideIndex) : slideIndex}>\n {slide}\n </SwiperSlide>\n ))}\n </Swiper>\n {!isTabPanel && slides.length > 1 && !navigationState.locked && (\n <>\n <button\n type='button'\n className={`${Styles.swiperArrow} ${Styles.swiperArrowPrev}`}\n aria-label='Previous products'\n disabled={navigationState.beginning}\n onClick={() => swiper?.slidePrev()}\n >\n <span className={`${Styles.swiperArrowIcon} ${Styles.swiperArrowIconPrev}`} />\n </button>\n <button\n type='button'\n className={`${Styles.swiperArrow} ${Styles.swiperArrowNext}`}\n aria-label='Next products'\n disabled={navigationState.end}\n onClick={() => swiper?.slideNext()}\n >\n <span className={`${Styles.swiperArrowIcon} ${Styles.swiperArrowIconNext}`} />\n </button>\n </>\n )}\n </div>\n );\n};\n\nexport default LineTableCarousel;\n"],"names":["LineTableCarousel","children","activeIndex","mobileArrows","animateTabs","swiper","setSwiper","useState","navigationState","setNavigationState","locked","beginning","end","slides","Children","toArray","isTabPanel","undefined","syncNavigationState","instance","destroyed","isLocked","isBeginning","isEnd","useEffect","slideTo","React","className","Styles","swiperCardsWrapper","createElement","Swiper","swiperTabs","swiperTabsAnimated","swiperCards","modules","A11y","Pagination","onSwiper","onSlideChange","onResize","onUpdate","initialSlide","slidesPerView","length","centerInsufficientSlides","allowTouchMove","nested","watchOverflow","lazyPreload","pagination","clickable","enabled","breakpoints","map","slide","slideIndex","SwiperSlide","key","isValidElement","_a","Fragment","type","swiperArrow","swiperArrowPrev","disabled","onClick","slidePrev","swiperArrowIcon","swiperArrowIconPrev","swiperArrowNext","slideNext","swiperArrowIconNext"],"mappings":"+QAeA,MAAMA,EAAoB,EACxBC,WACAC,cACAC,gBAAe,EACfC,eAAc,MAEd,MAAOC,EAAQC,GAAaC,EAAgC,OACrDC,EAAiBC,GAAsBF,EAAS,CACrDG,QAAQ,EACRC,WAAW,EACXC,KAAK,IAEDC,EAASC,EAASC,QAAQd,GAC1Be,OAA6BC,IAAhBf,EACbgB,EAAuBC,IACtBA,EAASC,WACZX,EAAmB,CACjBC,OAAQS,EAASE,SACjBV,UAAWQ,EAASG,YACpBV,IAAKO,EAASI,SAYpB,OAPAC,EAAU,KACJnB,IAAWA,EAAOe,gBAA6BH,IAAhBf,IACjCG,EAAOoB,QAAQvB,EAAa,GAC5BgB,EAAoBb,KAErB,CAACA,EAAQH,IAGVwB,uBAAKC,UAAW,GAAGC,EAAOC,sBAAsB1B,EAAeyB,EAAOzB,aAAe,MACnFuB,EAAAI,cAACC,EAAM,CACLJ,UACEX,EACI,GAAGY,EAAOI,cAAc5B,EAAcwB,EAAOK,mBAAqB,KAClEL,EAAOM,YAEbC,QAAS,CAACC,EAAMC,GAChBC,SAAWnB,IACTb,EAAUa,GACVD,EAAoBC,IAEtBoB,cAAerB,EACfsB,SAAUtB,EACVuB,SAAUvB,EACVwB,aAAcxC,QAAAA,EAAe,EAC7ByC,cAAe3B,GAAcH,EAAO+B,OAAS,EAAI,EAAI,OACrDC,0BAA2B7B,EAC3B8B,gBAAiB9B,EACjB+B,QAAS/B,EACTgC,eAAa,EACbC,aAAa,EACbC,YAAYlC,GAAqB,CAAEmC,WAAW,EAAMC,QAASvC,EAAO+B,OAAS,GAC7ES,YACErC,OACIC,EACA,CACE,IAAK,CAAE0B,cAAe,GACtB,KAAM,CAAEA,cAAe,EAAGO,WAAY,CAAEE,QAASvC,EAAO+B,OAAS,IACjE,KAAM,CAAED,cAAe,EAAGO,WAAY,CAAEE,QAASvC,EAAO+B,OAAS,MAIxE/B,EAAOyC,IAAI,CAACC,EAAOC,WAAe,OACjC9B,EAAAI,cAAC2B,EAAW,CAACC,IAAKhC,EAAMiC,eAAeJ,IAAmB,QAATK,EAAAL,EAAMG,WAAG,IAAAE,EAAAA,EAAkBJ,GACzED,OAILvC,GAAcH,EAAO+B,OAAS,IAAMpC,EAAgBE,QACpDgB,EAAAI,cAAAJ,EAAAmC,SAAA,KACEnC,EAAAI,cAAA,SAAA,CACEgC,KAAK,SACLnC,UAAW,GAAGC,EAAOmC,eAAenC,EAAOoC,+BAChC,oBACXC,SAAUzD,EAAgBG,UAC1BuD,QAAS,IAAM7D,aAAM,EAANA,EAAQ8D,aAEvBzC,EAAAI,cAAA,OAAA,CAAMH,UAAW,GAAGC,EAAOwC,mBAAmBxC,EAAOyC,yBAEvD3C,EAAAI,cAAA,SAAA,CACEgC,KAAK,SACLnC,UAAW,GAAGC,EAAOmC,eAAenC,EAAO0C,+BAChC,gBACXL,SAAUzD,EAAgBI,IAC1BsD,QAAS,IAAM7D,aAAM,EAANA,EAAQkE,aAEvB7C,EAAAI,cAAA,OAAA,CAAMH,UAAW,GAAGC,EAAOwC,mBAAmBxC,EAAO4C"}
@@ -1,2 +1,2 @@
1
- import{__awaiter as e}from"../../_virtual/_tslib.js";import o,{useState as l,useRef as n,useContext as i,useEffect as t}from"react";import{createPortal as d}from"react-dom";import a from"../SkeletonLoader/SkeletonLoader.js";import r from"./StaticLineTable.module.scss.js";import s from"../richtext.js";import c from"./StaticProductEntitlement.js";import v from"./StaticBenefit.js";import u from"./DynamicPriceSection.js";import m from"./CheckoutButton.js";import p from"./StaticProductDetails.js";import{LineTableBasicPropConfig as g,AssetPathPropConfig as f}from"../../services/LineTableBasicPropConfig.js";import h from"js-cookie";import{LoginBasicPropConfig as b}from"../../services/LoginBasicPropConfig.js";import E from"../login/LoginModalV2.js";import{isTimerActive as w,fetchServiceOptions as C,fetchPrice as P,scheduleFindHeight as S,checkGiftOrCashback as y,getTimeUntilNextTimerEvent as k,staticCreateCart as T,combineWithVasOptions as x,combineWithSmartPhone as D}from"./Product.utils.js";import L from"../ProductDetailsV3/GiftConfigV2.js";import $ from"../ProductDetailsV3/ChooseGiftV2.js";import{viewport as I,replacePlaceholder as N,getUtcTimestamp as B}from"../../utils/utils.js";import O from"./StaticProductCashback.js";import{trackNewDatalayerEvent as j}from"../../utils/AnalyticsUtils.js";import{CTABUTTONCLICK as A,GAEVENT as U,EXISTINGCUSTOMER as V,LINETABLE as F,DOWNLOADPRODUCT as M}from"../../Analytics/AnalyticsConstants.js";import R from"./TVChannelModal.js";import G from"../LineCheckV3/LinecheckModal.js";import _ from"../BenefitWrapper/BenefitsValidateWrapper.js";import J from"../PretoPost/PreToPostSubsPopup.js";import W from"../LineCheckV3/GenericModal.js";import{fetchSubscriptionData as q,trackPegaEvents as H,validateP2P as z}from"../../services/LineTableService.js";import K from"./ExsistingSubscriptionModal.js";import{getEcomCartInfo as Q}from"../../models/Analytics/items.js";import X from"../NewLineCheck/CoverageCheckModal.js";import{API_BASE_BASEPOINT as Y}from"../../services/api-constants.js";import{AppContext as Z}from"./StaticLineTableStore/StaticLineTableProvider.js";import ee from"./OttServiceOptions/OttServiceOptionsSmallPopup.js";import oe from"./StaticExclusiveBenefit.js";import le from"../UserLoggedPricesToggle/UserLoggedPricesToggle.js";import ne from"../FalconButtonV2/FalconButtonV2.js";import{ONE_ECOMMERCE_INTERNET_SUMMARY as ie}from"../../utils/constants.js";import te from"./StaticLineTabelTimer/StaticLineTabelTimer.js";import{useProductCardBadge as de}from"./ProductCardBadgeProvider.js";import ae from"../GenericPopup/GenericPopup.js";import re from"../GlobalDotLoader/GlobalDotLoader.js";const se=({content:se,offeringData:ce,uniqueId:ve,storyContent:ue,metadata:me,tabIndex:pe,cardsLength:ge,indexKey:fe,constants:he,mainContent:be,address:Ee,eligibleBundle:we,linecheckSuccessCallBack:Ce,selectedOption:Pe,fetchOfferData:Se,basicConfigUrl:ye,selectedExistingOption:ke,setLoginSuccess:Te,enableP2P:xe,lineCheckCallBack:De,loginSuccess:Le,setToggleState:$e,toggleState:Ie,noTabs:Ne,deviceFlow:Be,deviceFlowCallBack:Oe,selectedRP:je,continueCart:Ae,lineCheckOnClear:Ue,pegaIntegration:Ve,isProdEnv:Fe,deviceUltimateBundle:Me,toggleContent:Re,pricesToggleState:Ge,isShogunFlow:_e,shogunToken:Je,reserveBadgeSpace:We})=>{var qe,He,ze,Ke,Qe,Xe,Ye,Ze,eo,oo,lo,no,io,to,ao,ro,so,co,vo,uo,mo,po,go,fo,ho,bo,Eo,wo,Co,Po,So,yo,ko,To,xo,Do,Lo,$o,Io,No,Bo,Oo,jo,Ao,Uo,Vo,Fo,Mo,Ro,Go,_o,Jo,Wo,qo,Ho,zo,Ko,Qo,Xo,Yo,Zo,el,ol,ll,nl,il,tl,dl,al,rl,sl,cl,vl,ul,ml,pl,gl,fl,hl,bl,El,wl,Cl,Pl,Sl,yl,kl,Tl,xl,Dl,Ll,$l,Il,Nl,Bl,Ol,jl;const Al=de(),[Ul,Vl]=l(!1),[Fl,Ml]=l(!1),[Rl,Gl]=l({showGift:!1,cashbackAvailable:!1}),[_l,Jl]=l(!0),[Wl,ql]=l(!1),[Hl,zl]=l([]),[Kl,Ql]=l(!1),[Xl,Yl]=l(!1),[Zl,en]=l(!1),[on,ln]=l(!1),[nn,tn]=l(!1),[dn,an]=l(!1),rn=`${ye}inf/customer-management/subscriptions`,sn=`${ye}inf/resource-management/msisdns/pretopost/validation`,[cn,vn]=l([]),[un,mn]=l(!1),[pn,gn]=l(!1),[fn,hn]=l(!1),[bn,En]=l([]),[wn,Cn]=l(!1),[Pn,Sn]=l(!1),[yn,kn]=l(!1),[Tn,xn]=l(!1),[Dn,Ln]=l([]),[$n,In]=l(0),[Nn,Bn]=l(!1),On=n(null),[jn,An]=l(null),Un=n(!1),Vn=n(null),[Fn,Mn]=l(!1),Rn=`${ye}inf/${Y.CUSTOMER}`,Gn=(null===(Qe=null===(Ke=null===(ze=null===(He=null===(qe=null==be?void 0:be.globalDotLoader)||void 0===qe?void 0:qe[0])||void 0===He?void 0:He.reference)||void 0===ze?void 0:ze.content)||void 0===Ke?void 0:Ke.body)||void 0===Qe?void 0:Qe[0])?null===(oo=null===(eo=null===(Ze=null===(Ye=null===(Xe=null==be?void 0:be.globalDotLoader)||void 0===Xe?void 0:Xe[0])||void 0===Ye?void 0:Ye.reference)||void 0===Ze?void 0:Ze.content)||void 0===eo?void 0:eo.body)||void 0===oo?void 0:oo[0]:null===(lo=null==be?void 0:be.globalDotLoader)||void 0===lo?void 0:lo[0],_n=void 0!==typeof window&&document.getElementById("static-linetable"),Jn=0===(null===(no=Object.keys(se))||void 0===no?void 0:no.length),Wn=null===(so=null===(ro=null===(ao=null===(to=null===(io=null==se?void 0:se.products)||void 0===io?void 0:io[0])||void 0===to?void 0:to.reference)||void 0===ao?void 0:ao.content)||void 0===ro?void 0:ro.product)||void 0===so?void 0:so[0],qn=null===(po=null===(mo=null===(uo=null===(vo=null===(co=null==se?void 0:se.promotion)||void 0===co?void 0:co[0])||void 0===vo?void 0:vo.reference)||void 0===uo?void 0:uo.content)||void 0===mo?void 0:mo.promoDescription)||void 0===po?void 0:po[0],Hn=null===(go=null==se?void 0:se.timer)||void 0===go?void 0:go[0],zn=null==Hn?void 0:Hn.enableCounter,[Kn,Qn]=l(!!(zn&&(null==Hn?void 0:Hn.startTime)&&(null==Hn?void 0:Hn.endTime))&&w(Hn.startTime,Hn.endTime)),Xn=Boolean((null==se?void 0:se.highlightText)&&!0!==Ge&&!Kn&&!(Al&&(null==se?void 0:se.badgesContainer))),Yn=Boolean((null==qn?void 0:qn.displayText)&&!(null==se?void 0:se.notShowPromotionLabel)&&!0!==Ge&&!Kn),Zn=Boolean(Al&&(null==se?void 0:se.badgesContainer)&&!0!==Ge&&!Kn&&!Yn),ei=null==Wn?void 0:Wn.productId,oi=null===(fo=null==g?void 0:g.getInstance())||void 0===fo?void 0:fo.getCartUrl(),li=null===(ho=null==f?void 0:f.getInstance())||void 0===ho?void 0:ho.getAssetPath(),ni="MOBILE"===(null==ue?void 0:ue.pageType),ii=I(),ti=i(Z);let di;di=Ee&&(null===(bo=null==we?void 0:we.eligibleBundle)||void 0===bo?void 0:bo.includes(ei));const ai=null==se?void 0:se.enableTVStreamingOptionsPopUp,ri=null==se?void 0:se.enableTVStreamingOptionsStepper,si=null==se?void 0:se.disableDiscountedPriceToggle,ci=null==se?void 0:se.skipAccessoriesPage;b.create({baseURL:null!=ye?ye:""});let vi=void 0!==typeof window&&h.get("sunriseAuth");vi=vi&&JSON.parse(vi);const ui=((null==ce?void 0:ce[ve])||[]).filter(e=>(null==e?void 0:e.id)===ei),mi=e=>{En(e)},pi=()=>{Ql(!0),ln(!on),gn(!pn)},gi=()=>{var e,o,l;if(Ml(!1),xe&&null==vi)ln(!on),gn(!pn);else if(xe&&(null==vi?void 0:vi.siteId))Ci();else if(Pe===V&&(null==ke?void 0:ke.length)>0)tn(!0);else{!!((null==be?void 0:be.enableExistingCustomer)&&null==vi||!vi&&!0===Ge&&(null==Re?void 0:Re.enableLoggedInPrice))?Ql(!0):Di()}if(Ve){const n=localStorage.getItem("prospectId"),i=null!==(l=null===(o=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.pathname)||void 0===o?void 0:o.split("/"))&&void 0!==l?l:[],t=i[i.length-1],d={eventTimestamp:B(),eventType:"PageView",pageType:"CartCreated",pageLocation:t,targetProduct:ei};n&&H(Rn,d,n)}},fi=e=>{const o=Hl.findIndex(o=>(null==e?void 0:e.giftGroupId)===(null==o?void 0:o.giftGroupId)),l=Hl;-1===o?l.push(e):l[o]=e,zl([...l])},hi=new URLSearchParams(null===(Eo=null===window||void 0===window?void 0:window.location)||void 0===Eo?void 0:Eo.search),bi=null==hi?void 0:hi.get("selectedMsisdn"),Ei=e=>{var o;1===(null==e?void 0:e.length)?(Wl?D($i,ue,ui,null==e?void 0:e[0],se,Ve):Di(null===(o=null==e?void 0:e[0])||void 0===o?void 0:o.msisdn),an(!1)):(null==e?void 0:e.length)>1?(vn(e),hn(!fn),an(!1)):(gn(!pn),an(!0),Jl(!0),Vl(!1))},wi=(o,l)=>e(void 0,void 0,void 0,function*(){yield z(null==o?void 0:o.msisdn,sn).then(e=>{e&&l.push(o)}).catch(e=>{console.log("error",e)})}),Ci=()=>{var o;Vl(!0);try{null===(o=q("PREPAID",rn))||void 0===o||o.then(o=>e(void 0,void 0,void 0,function*(){if(204==(null==o?void 0:o.subscriptionData))gn(!pn),an(!0),Jl(!0),Vl(!1);else{const l=null==o?void 0:o.subscriptionData,n=l.find(e=>e.msisdn===bi);if(l){const o=[];bi?(yield wi(n,o),Ei(o)):yield Promise.all(null==l?void 0:l.map(l=>e(void 0,void 0,void 0,function*(){yield wi(l,o)}))).then(e=>{Ei(o)})}}})).catch(e=>{console.log("error---\x3e",e),Vl(!1)})}catch(e){console.log("error---\x3e",e),Vl(!1)}mn(!0)},Pi=()=>{gn(!_l),ln(!1)},Si=e=>{Cn(!1),e&&j(U,A,{headline:"VAS POPUP CLOSE"})},yi=()=>{let e="undefined"!=typeof window&&localStorage.getItem("lineCheckResponse");we=e&&(null===JSON||void 0===JSON?void 0:JSON.parse(e)),Ee="undefined"!=typeof window&&h.get("chAddressJson"),en(!Zl),"function"==typeof Ce&&Ce(),Di()},ki=C(null==Wn?void 0:Wn.bloks,ni),Ti=null===(wo=null==ki?void 0:ki[0])||void 0===wo?void 0:wo.tvProductId,xi=e=>{var o,l,n,i,t,d,a,r,s,c,v;const u=Ve&&(null===(n=null===(l=null===(o=null==ui?void 0:ui[0])||void 0===o?void 0:o.promotionInfo)||void 0===l?void 0:l[0])||void 0===n?void 0:n.id),m=Ve&&(null===(d=null===(t=null===(i=null==ui?void 0:ui[0])||void 0===i?void 0:i.promotionInfo)||void 0===t?void 0:t[0])||void 0===d?void 0:d.version),p=_e?{pointsBurnt:null===(r=null===(a=null==ui?void 0:ui[0])||void 0===a?void 0:a.rewards)||void 0===r?void 0:r.points,rewardOfferId:null===(c=null===(s=null==ui?void 0:ui[0])||void 0===s?void 0:s.rewards)||void 0===c?void 0:c.offerId,gloxTokenId:Je}:void 0;ui&&ui[0]&&(ui[0].fromPopup=Tn),Bi("false"),sessionStorage.removeItem("vasPopUp"),Sn(!1);const g={duration:null!==(v=null==Gn?void 0:Gn.successMsgDuration)&&void 0!==v?v:"0",successLoaderCallback:Mn};T(Vl,oi,Hl,ui,be,$i,ni,Ti,we,Ee,en,Zl,De,xe,null!=bi?bi:e,se,bn,u,m,p,g)},Di=e=>{var o,l,n,i,t,d,a,r,s;xn(!1),Ml(!1);let c=void 0!==typeof window&&h.get("sunriseAuth");const v=c&&JSON.parse(c),u=!(!(null==be?void 0:be.enableExistingCustomer)||null!=v);if(sessionStorage.removeItem(ie),(null===(o=null==be?void 0:be.linecheckData)||void 0===o?void 0:o.length)>0&&!ni&&!di){return void(document.getElementById("linecheck")&&De())}if(di&&!ni&&(null===(l=null==be?void 0:be.loginData)||void 0===l?void 0:l.length)>0&&u)Ql(!0);else if(ri&&(null===(n=ui[0])||void 0===n?void 0:n.isBundle)){let o=!1;ci||((null===(i=ui[0])||void 0===i?void 0:i.isBundle)?null===(d=null===(t=ui[0])||void 0===t?void 0:t.bundledOffers)||void 0===d||d.map(e=>{var l,n,i;"internet"!==(null===(l=null==e?void 0:e.productType)||void 0===l?void 0:l.toLowerCase())&&"tv"!=(null===(n=null==e?void 0:e.productType)||void 0===n?void 0:n.toLowerCase())||(null==e?void 0:e.recommendAccessory)&&(o=null==e?void 0:e.recommendAccessory),"mobile"!==(null===(i=null==e?void 0:e.productType)||void 0===i?void 0:i.toLowerCase())||(o=!1)}):(null===(a=null==ui?void 0:ui[0])||void 0===a?void 0:a.recommendAccessory)&&(o=null===(r=null==ui?void 0:ui[0])||void 0===r?void 0:r.recommendAccessory)),x($i,ui,se,Ve,null==Wn?void 0:Wn.productName,o),xi(e)}else ai&&(null===(s=ui[0])||void 0===s?void 0:s.isBundle)&&!Pn?(Cn(!0),Sn(!0),Bi("true"),window.addEventListener("beforeunload",function(e){Bi("false"),sessionStorage.removeItem("vasPopUp"),Sn(!1)})):(xe&&Vl(!0),xi(e))},Li=(e,o)=>l=>{var n;const i=void 0!==typeof window&&h.get("one-commerce-cartId");(null==be?void 0:be.enableReplacePopup)&&i?(On.current=()=>e(l),Un.current=Boolean(o),An(null!=o?o:null===(n=null==be?void 0:be.generalReplacePopup)||void 0===n?void 0:n[0]),Bn(!0)):e(l)},$i=P(ui,ni,null==be?void 0:be.pageType,!1,bn,Ve);t(()=>{var e,o;S(pe,ge);const l=y(ni?ui:null!==(o=null===(e=null==ui?void 0:ui[0])||void 0===e?void 0:e.bundledOffers)&&void 0!==o?o:ui);Gl(Object.assign({},l))},[ce,Ie,bn,$n,((null==Ie?void 0:Ie.TV)||(null==Ie?void 0:Ie.gigaSpeed)||(null==Ie?void 0:Ie.Netflix))&&Array.isArray(ui)&&3===(null===(Po=null===(Co=null==ui?void 0:ui[0])||void 0===Co?void 0:Co.bundledOffers)||void 0===Po?void 0:Po.length)]);const Ii=()=>{((null==ki?void 0:ki.length)>0||ai)&&Yl(!0)},Ni=null===(So=null==be?void 0:be.productContainer)||void 0===So?void 0:So[0];t(()=>{Wl&&(xe&&null==vi?(ln(!on),gn(!pn)):xe&&(null==vi?void 0:vi.siteId)&&Ci())},[Wl]),t(()=>{var e;if(ti){const{store:o}=ti;(null===(e=null==o?void 0:o.ottOptionsApi)||void 0===e?void 0:e.length)>0&&0===(null==Dn?void 0:Dn.length)&&Ln(null==o?void 0:o.ottOptionsApi)}},[ti]),t(()=>{if(!zn||!(null==Hn?void 0:Hn.startTime)||!(null==Hn?void 0:Hn.endTime))return void Qn(!1);Qn(w(Hn.startTime,Hn.endTime));const e=k(Hn.startTime,Hn.endTime);if(e<=0)return;const o=setTimeout(()=>{Qn(w(Hn.startTime,Hn.endTime))},e);return()=>clearTimeout(o)},[zn,null==Hn?void 0:Hn.startTime,null==Hn?void 0:Hn.endTime]),t(()=>{var e;const o=Vn.current;if(!o||!(null===(e=null==se?void 0:se.timer)||void 0===e?void 0:e.length)||!zn)return void In(0);const l=()=>{In(o.clientHeight)};if(l(),"undefined"==typeof ResizeObserver)return;const n=new ResizeObserver(l);return n.observe(o),()=>{n.disconnect()}},[null===(yo=null==se?void 0:se.timer)||void 0===yo?void 0:yo.length,zn]),t(()=>{yn&&(Si(),kn(!0),Bi("false"),sessionStorage.removeItem("vasPopUp"),Sn(!1),xi())},[yn]),t(()=>{const e=()=>{const e=sessionStorage.getItem("vasPopUp");Sn("true"===e)};e();const o=o=>{o.storageArea===sessionStorage&&"vasPopUp"===o.key&&e(),o.storageArea===sessionStorage&&"vasPopUp"===o.key&&null===o.newValue&&Sn(!1)},l=()=>{e()};return window.addEventListener("storage",o),window.addEventListener("vasPopUpChange",l),()=>{window.removeEventListener("storage",o),window.removeEventListener("vasPopUpChange",l)}},[]);const Bi=e=>{sessionStorage.setItem("vasPopUp",e);const o=new Event("vasPopUpChange");window.dispatchEvent(o)};return o.createElement("div",null,Ul&&_n&&d(o.createElement(re,{content:Gn,isSuccess:Fn}),_n),Jn&&o.createElement("div",{className:"w-75 pb-2"},o.createElement(a,null)),!Jn&&we&&se&&Ee&&!ni&&o.createElement("div",{className:r.selected},o.createElement("span",{style:{paddingBottom:"10px"}},di?o.createElement("span",{className:r.activeicon},o.createElement("img",{src:`${li}/icons/lineCheck-success.svg`,alt:"",width:24,height:24,className:r.activeicon}),o.createElement("span",null,null==he?void 0:he.subscriptionAvalTxt)):o.createElement("span",{className:r.inactiveicon},o.createElement("img",{src:`${li}/icons/cross_disabled.svg`,alt:"",width:24,height:24,className:r.inactiveicon}),o.createElement("span",null,null==he?void 0:he.notSubscriptionTxt)))),o.createElement("div",{className:`${!ni&&!1===di&&(null===(ko=null==be?void 0:be.linecheckData)||void 0===ko?void 0:ko.length)>0&&"global/coverage-check"!==(null===(Do=null===(xo=null===(To=null==be?void 0:be.linecheckData)||void 0===To?void 0:To[0])||void 0===xo?void 0:xo.reference)||void 0===Do?void 0:Do.default_full_slug)?r.overlay:""}\n ${Me&&!(null===($o=null===(Lo=null==ui?void 0:ui[0])||void 0===Lo?void 0:Lo.eligibility)||void 0===$o?void 0:$o.fpb)?r.disabled:""}\n `,style:{flexDirection:"column"}},o.createElement("div",{className:r.bundleproductcard},o.createElement("div",{id:`timer-section${pe}${fe}`,"data-timer-active":$n>0?"true":"false"},(null===(Io=null==se?void 0:se.timer)||void 0===Io?void 0:Io.length)&&zn?o.createElement("div",{style:{height:`${$n}px`,transition:"height 0.3s ease"}}):null),o.createElement("div",{className:`${r.productcontainer} ${We||Zn||Xn||Yn?r.productcontainerHasBadge:""}`,style:(()=>{const e=Yn?qn:se,o=null==e?void 0:e.showBorder,l=null==e?void 0:e.borderGradient,n=null==e?void 0:e.borderColor;return{borderColor:o&&!l?n||"":"transparent",borderWidth:o?"4px":"0px",borderStyle:o?"solid":"none",borderRadius:o?"8px":"",background:o&&l?`linear-gradient(white, white) padding-box, ${l} border-box`:void 0}})()},Zn&&Al&&o.createElement(Al,{badges:se.badgesContainer}),Xn&&o.createElement("div",{className:`${r.highlightText}`},null==se?void 0:se.highlightText),Yn&&((null==qn?void 0:qn.badgeContainer)&&Al?o.createElement(Al,{badges:null==qn?void 0:qn.badgeContainer}):o.createElement("div",{className:`${r.promocontainer}`,style:{background:null==qn?void 0:qn.bestSellerColor}},null==qn?void 0:qn.displayText)),o.createElement("div",{ref:Vn,className:r.timerContainer},(null===(No=null==se?void 0:se.timer)||void 0===No?void 0:No.length)&&zn?o.createElement(te,{content:null===(Bo=null==se?void 0:se.timer)||void 0===Bo?void 0:Bo[0],hasHighlightText:Zn||Yn,onTimerChange:e=>{Qn(e)}}):null),o.createElement("div",{className:`${r.detailsection} ${r.imageFullWidthSection}`,id:`detailsectionv3${pe}${fe}`},o.createElement("div",{className:`${r.headersection}`},o.createElement("div",{className:`${r.titlesection}`},o.createElement("div",{className:`${r.productheader}`,id:`titleV3${pe}${fe}`},null==Wn?void 0:Wn.productName),o.createElement("div",null,(null===(Oo=null==Wn?void 0:Wn.icon)||void 0===Oo?void 0:Oo.filename)&&o.createElement("img",{className:`${r.imagecontainer}`,src:null===(jo=null==Wn?void 0:Wn.icon)||void 0===jo?void 0:jo.filename,height:15,width:20,alt:"productIcon"}))),o.createElement("div",{className:`${r.productdescription}`,id:`descriptionV3${pe}${fe}`},o.createElement(s,{content:null==Wn?void 0:Wn.description})),o.createElement("div",{className:`${r.images}`},(null===(Ao=null==Wn?void 0:Wn.img)||void 0===Ao?void 0:Ao.filename)&&o.createElement("img",{className:`${r.imagespace} ${(null==se?void 0:se.highlightText)&&r.borderimage}`,alt:"cardimg",src:`${null===(Uo=null==Wn?void 0:Wn.img)||void 0===Uo?void 0:Uo.filename}/m/`}))),o.createElement("div",{className:`${r.productconfig}`,id:`product-configv3${pe}${fe}`},Jn?o.createElement(o.Fragment,null,o.createElement("div",{className:r.space}),o.createElement(a,{stylename:r.skeletontittle,count:1}),o.createElement(a,{stylename:r.skeletonline,count:5}),o.createElement("div",{className:r.space}),o.createElement(a,{stylename:r.skeletontittle,count:1}),o.createElement(a,{stylename:r.skeletonline,count:5})):o.createElement("div",null,(null==Wn?void 0:Wn.bloks)&&(null===(Vo=null==Wn?void 0:Wn.bloks)||void 0===Vo?void 0:Vo.map((e,l)=>o.createElement(c,{content:e,indexKey:l,constants:he,key:l,showModalPopup:Ii,setToggleState:$e,toggleState:Ie,noTabs:Ne,mainContent:be,enableTVStreamingOptions:null==se?void 0:se.enableTVStreamingOptions,metadata:me,setTvOptionsData:mi})))))),o.createElement("div",{className:`${r.detailsection}`,id:`benefits-price-section${pe}${fe}`},o.createElement("div",{id:`exclusive-benefits-section${pe}${fe}`},(null===(Fo=null==Wn?void 0:Wn.extraBenefits)||void 0===Fo?void 0:Fo.length)>0&&o.createElement(oe,{content:null===(Mo=null==Wn?void 0:Wn.extraBenefits)||void 0===Mo?void 0:Mo[0]})),o.createElement("div",{className:`${r.benefitssection}`,id:`benefits-section${pe}${fe}`},(null===(Ro=null==Wn?void 0:Wn.benefits)||void 0===Ro?void 0:Ro.length)>0&&o.createElement(v,{content:null==Wn?void 0:Wn.benefits,benefitData:$i,constants:he,pricesToggleState:Ge,togglePriceLabel:null==Re?void 0:Re.togglePriceLabel})),o.createElement("br",null),o.createElement("div",{className:`${r.giftsection}`,id:`gift-section${pe}${fe}`},(null==Rl?void 0:Rl.showGift)&&(null===(Go=null==qn?void 0:qn.singleGift)||void 0===Go?void 0:Go.map((e,l)=>o.createElement(L,{content:e,key:l}))),(null==Rl?void 0:Rl.showGift)&&(null===(_o=null==qn?void 0:qn.giftConfig)||void 0===_o?void 0:_o.map((e,l)=>o.createElement($,{content:e,key:l,selectedGiftItem:fi,parentPoType:ni?"MOBILE":"HOME"}))),o.createElement("div",{className:`${r.giftsection}`,id:`cashback-section${pe}${fe}`},o.createElement(O,{uniqueProductData:ui,mainContent:be}))),o.createElement("div",{className:`${r.ordersection}`,id:`order-section${pe}${fe}`},""===(null==$i?void 0:$i.base)?o.createElement("div",null,o.createElement(a,{stylename:r.skeletontittle})):o.createElement("div",{id:`price-section${pe}${fe}`},o.createElement(u,{priceCollection:$i,constants:he,promoText:null==Wn?void 0:Wn.promoText,deviceFlow:Be,content:se,offeringData:ce,uniqueId:ve})),!_e&&o.createElement("div",{className:`${r.discountedpricetoggleSection}`,id:`discountedpricetoggle-section${pe}${fe}`},si||"INLINE"!==(null==Re?void 0:Re.togglePosition)?null:o.createElement(le,{content:Wn,index:fe,lineTable:!0,toggleContent:Re})),xe&&(null==he?void 0:he.P2PDiscountLabel)&&o.createElement("div",{className:r.longterm},null==he?void 0:he.P2PDiscountLabel),Jn?o.createElement(o.Fragment,null,o.createElement(a,{stylename:r.skeletontittle,count:1}),o.createElement(a,{stylename:r.skeletonline,count:2})):o.createElement("div",{className:`${(null==ue?void 0:ue.swapButton)&&r.swapButton}`},o.createElement("div",{style:{padding:"16px 0 0 0"}},o.createElement(m,{isMobileFlow:ni,createCartCall:(null==Be?void 0:Be.isDeviceFlow)?Li(e=>{Ml(!1);Oe({setShowLoader:Vl,cartEndPoint:oi,giftItem:Hl,uniqueProductData:ui,mainContent:be,showPrice:$i,isMobileFlow:ni,eligibleBundle:we,address:Ee,setShowLinecheck:en,showLinecheck:Zl,lineCheckCallBack:De,enableP2P:xe,msisdnn:null!=bi?bi:e,content:se,selectedRP:je,continueCart:Ae})}):Li(ni?gi:Di),constants:he,storyContent:ue,showPrice:$i,isAvailable:di,address:Ee,uniqueProductBenefits:null==ui?void 0:ui[0],alwaysActive:!di&&(null===(Jo=null==be?void 0:be.linecheckData)||void 0===Jo?void 0:Jo.length)>0&&"global/coverage-check"===(null===(Ho=null===(qo=null===(Wo=null==be?void 0:be.linecheckData)||void 0===Wo?void 0:Wo[0])||void 0===qo?void 0:qo.reference)||void 0===Ho?void 0:Ho.default_full_slug),flexUpgradeFreePopup:null===(Ko=null===(zo=null==be?void 0:be.flexUpgradeFreePopup)||void 0===zo?void 0:zo.reference)||void 0===Ko?void 0:Ko.content,content:se,deviceUltimateBundle:Me,forceDisabled:Boolean(null===(Xo=null===(Qo=null==ui?void 0:ui[0])||void 0===Qo?void 0:Qo.rewards)||void 0===Xo?void 0:Xo.notEligibleReason),notEligibileReason:null===(Zo=null===(Yo=null==ui?void 0:ui[0])||void 0===Yo?void 0:Yo.rewards)||void 0===Zo?void 0:Zo.notEligibleReason})),!_e&&(null===(el=null==ue?void 0:ue.addSmartPhone)||void 0===el?void 0:el.length)>0&&!(null==Be?void 0:Be.isDeviceFlow)&&o.createElement("div",{style:{textAlign:"center"}},(null==ue?void 0:ue.swapButton)?(null==ue?void 0:ue.ctaLabel)&&o.createElement("div",{style:{padding:"16px 0"}},o.createElement("button",{className:"primarybutton",onClick:()=>{var e;return Li(()=>D($i,ue,ui,"",se,Ve),null===(e=null==be?void 0:be.replacePopupWithSmartphone)||void 0===e?void 0:e[0])()}},o.createElement("span",{className:r.buttontext},null==ue?void 0:ue.ctaLabel))):!(null==se?void 0:se.redirectOnly)&&o.createElement("div",{style:{padding:"12px 0 0 0"}},o.createElement(ne,{content:{buttonType:"Secondary-V1",buttonLabel:(null==se?void 0:se.ultimateBundlePromotion)?null==he?void 0:he.ultimateBundleLbl:null===(ll=null===(ol=null==ue?void 0:ue.addSmartPhone)||void 0===ol?void 0:ol[0])||void 0===ll?void 0:ll.buttonLabel,buttonIcon:null===(il=null===(nl=null==ue?void 0:ue.addSmartPhone)||void 0===nl?void 0:nl[0])||void 0===il?void 0:il.buttonIcon,buttonAlignment:"left"},wafIdentifier:ye,style:{width:"100%"},onClick:()=>{var e;return Li(()=>xe?void ql(!0):D($i,ue,ui,"",se,Ve),null===(e=null==be?void 0:be.replacePopupWithSmartphone)||void 0===e?void 0:e[0])()}}))),o.createElement("div",{className:r.productcontractduration,id:`contract-section${pe}${fe}`,style:{paddingTop:(null===(tl=null==ue?void 0:ue.addSmartPhone)||void 0===tl?void 0:tl.length)>0&&!(null==Be?void 0:Be.isDeviceFlow)&&!(null==ue?void 0:ue.swapButton)&&!(null==se?void 0:se.redirectOnly)?"8px":void 0}},(null==$i?void 0:$i.contractDuration)>"1"?N(null===(dl=null==he?void 0:he.minContractDuration)||void 0===dl?void 0:dl.substring(1),[null==$i?void 0:$i.contractDuration]):null==he?void 0:he.noContractDuration)),o.createElement("div",{style:{textAlign:"center",padding:"4px"}},(null===(al=null==Wn?void 0:Wn.productDetails)||void 0===al?void 0:al.length)>0&&o.createElement("span",{className:r.productdetailslink,onClick:()=>{var e,o,l;Ml(!Fl),j(U,M,Q(ui,"",F));const n=localStorage.getItem("prospectId"),i=null!==(l=null===(o=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.pathname)||void 0===o?void 0:o.split("/"))&&void 0!==l?l:[],t=i[i.length-1],d={eventTimestamp:B(),eventType:"PageView",pageType:"ProductDetails",pageLocation:t,targetProduct:ei};n&&H(Rn,d,n)}},null==he?void 0:he.productDetailsLink)),Fl&&o.createElement(p,{content:null==Wn?void 0:Wn.productDetails,showProductDetail:Fl,setShowProductDetail:Ml,constants:he,showPrice:$i,isMobileFlow:ni,createCartCall:ni?gi:Di,storyContent:ue,isAvailable:di,address:Ee,flexUpgradeFreePopup:null===(sl=null===(rl=null==be?void 0:be.flexUpgradeFreePopup)||void 0===rl?void 0:rl.reference)||void 0===sl?void 0:sl.content,notEligibileReason:null===(vl=null===(cl=null==ui?void 0:ui[0])||void 0===cl?void 0:cl.rewards)||void 0===vl?void 0:vl.notEligibleReason})))))),Me&&ui&&!(null===(ml=null===(ul=null==ui?void 0:ui[0])||void 0===ul?void 0:ul.eligibility)||void 0===ml?void 0:ml.fpb)&&o.createElement("div",{className:r.disabledInfo},o.createElement(s,{content:null==he?void 0:he.fpbNotCompatibleText})),Xl&&(Jn?o.createElement(a,null):o.createElement(R,{content:null==ki?void 0:ki[0],setShowModal:Yl,showModal:Xl,constants:he})),Kl&&(null===(pl=null==be?void 0:be.loginData)||void 0===pl?void 0:pl.length)>0&&_n&&d(o.createElement(E,{content:null===(gl=null==be?void 0:be.loginData)||void 0===gl?void 0:gl[0],closeLogin:()=>{Ql(!1)},metadata:me,onSuccess:()=>{Ql(!1),Te(),sessionStorage.removeItem("vasPopUp"),Sn(!1),xe?Ci():Di()},isProdEnv:Fe}),_n),on&&xe&&!Kl&&pn&&o.createElement(W,{modalState:_l,handler:Pi,showFooter:!1,width:"628px",height:"280px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"16px"},o.createElement(J,{onClose:pi,content:null===(bl=null===(hl=null===(fl=null==be?void 0:be.productContainer)||void 0===fl?void 0:fl[0])||void 0===hl?void 0:hl.p2pBloks)||void 0===bl?void 0:bl[0],prepaid:!1})),xe&&un&&dn&&pn&&o.createElement(W,{modalState:_l,handler:Pi,showFooter:!1,width:"628px",height:"280px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"16px",id:"table-product"},o.createElement(J,{onClose:pi,content:null===(Cl=null===(wl=null===(El=null==be?void 0:be.productContainer)||void 0===El?void 0:El[0])||void 0===wl?void 0:wl.p2pBloks)||void 0===Cl?void 0:Cl[1],prepaid:!0})),(null==cn?void 0:cn.length)>1&&xe&&un&&!dn&&fn&&o.createElement(W,{modalState:fn,handler:()=>{Vl(!1),hn(!fn)},showFooter:!1,width:"628px",height:"280px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"16px"},o.createElement(K,{onSubmit:e=>{hn(!fn),Wl?D($i,ue,ui,e,se,Ve):Di(null==e?void 0:e.msisdn)},exsistingSubscriptionData:cn,updatedContent:Ni})),Zl&&(null==be?void 0:be.enableLinecheckOverlay)&&!ni&&(null===(Pl=null==be?void 0:be.linecheckData)||void 0===Pl?void 0:Pl.length)>0&&!xe&&"global/new-linecheck-test"===(null===(kl=null===(yl=null===(Sl=null==be?void 0:be.linecheckData)||void 0===Sl?void 0:Sl[0])||void 0===yl?void 0:yl.reference)||void 0===kl?void 0:kl.default_full_slug)?o.createElement(G,{content:null===(Tl=null==be?void 0:be.linecheckData)||void 0===Tl?void 0:Tl[0],onSuccess:yi,showModal:Zl,setShowModal:en,productName:null==Wn?void 0:Wn.productName,productId:null==Wn?void 0:Wn.productId}):Zl&&(null==be?void 0:be.enableLinecheckOverlay)&&!ni&&(null===(xl=null==be?void 0:be.linecheckData)||void 0===xl?void 0:xl.length)>0&&!xe&&"global/coverage-check"===(null===($l=null===(Ll=null===(Dl=null==be?void 0:be.linecheckData)||void 0===Dl?void 0:Dl[0])||void 0===Ll?void 0:Ll.reference)||void 0===$l?void 0:$l.default_full_slug)?o.createElement(X,{content:null===(Il=null==be?void 0:be.linecheckData)||void 0===Il?void 0:Il[0].reference.content.body[0],overlayIsOpen:!0,externalHandleModal:en,productName:null==Wn?void 0:Wn.productName,showModal:Zl,setShowModal:en,onSuccess:()=>{let e="undefined"!=typeof window&&localStorage.getItem("lineCheckResponse");we=e&&(null===JSON||void 0===JSON?void 0:JSON.parse(e)),Ee="undefined"!=typeof window&&h.get("chAddressJson"),"function"==typeof Ce&&Ce()},onCreateCart:yi,lineCheckOnClear:Ue,productId:null==Wn?void 0:Wn.productId}):null,nn&&ni&&(null===(Nl=null==ue?void 0:ue.benefitsValidate)||void 0===Nl?void 0:Nl.length)>0&&o.createElement(_,{content:null===(Bl=null==ue?void 0:ue.benefitsValidate)||void 0===Bl?void 0:Bl[0],loginContent:null===(Ol=null==be?void 0:be.loginData)||void 0===Ol?void 0:Ol[0],metadata:me,createCartCall:Di,fetchOfferData:Se,basicConfigUrl:ye,selectedExistingOption:ke,setShowBenefit:tn,setLoginSuccess:Te,isProdEnv:Fe}),wn&&o.createElement(W,{modalState:wn,handler:Si,showFooter:!1,width:"mobile"===ii?"":"tablet"===ii?"700px":"990px",fixedWidth:"mobile"===ii?"":"tablet"===ii?"700px":"990px",height:"845px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"24px"},o.createElement(ee,{content:null===(jl=null==be?void 0:be.optionsPopup)||void 0===jl?void 0:jl[0],addOptionsCallBack:e=>{xn(!0),kn(!0),mi(e)},metadata:me,constants:he,mainContent:be,preSelectedOptions:[],optionsResponse:Dn,updateResponseList:Ln,showPrice:$i,productData:Wn,offeringData:ce,uniqueId:ve,deviceFlow:Be})),Nn&&jn&&o.createElement(ae,{modalState:Nn,onCloseHandler:()=>{On.current=null,Bn(!1)},content:jn,wafIdentifier:ye,onPrimaryClick:()=>{const e=On.current;On.current=null,Un.current&&h.remove("one-commerce-cartId"),Un.current=!1,Bn(!1),null==e||e()},onSecondaryClick:()=>{On.current=null,Bn(!1)}}))};export{se as default};
1
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import o,{useState as l,useRef as n,useContext as i,useEffect as t}from"react";import{createPortal as d}from"react-dom";import a from"../SkeletonLoader/SkeletonLoader.js";import r from"./StaticLineTable.module.scss.js";import s from"../richtext.js";import c from"./StaticProductEntitlement.js";import v from"./StaticBenefit.js";import u from"./DynamicPriceSection.js";import m from"./CheckoutButton.js";import p from"./StaticProductDetails.js";import{LineTableBasicPropConfig as g,AssetPathPropConfig as f}from"../../services/LineTableBasicPropConfig.js";import h from"js-cookie";import{LoginBasicPropConfig as b}from"../../services/LoginBasicPropConfig.js";import E from"../login/LoginModalV2.js";import{isTimerActive as w,fetchServiceOptions as C,fetchPrice as P,scheduleFindHeight as S,checkGiftOrCashback as y,getTimeUntilNextTimerEvent as k,staticCreateCart as T,combineWithVasOptions as x,combineWithSmartPhone as D}from"./Product.utils.js";import L from"../ProductDetailsV3/GiftConfigV2.js";import $ from"../ProductDetailsV3/ChooseGiftV2.js";import{viewport as I,replacePlaceholder as N,getUtcTimestamp as B}from"../../utils/utils.js";import O from"./StaticProductCashback.js";import{trackNewDatalayerEvent as j}from"../../utils/AnalyticsUtils.js";import{CTABUTTONCLICK as A,GAEVENT as U,EXISTINGCUSTOMER as V,LINETABLE as F,DOWNLOADPRODUCT as M}from"../../Analytics/AnalyticsConstants.js";import R from"./TVChannelModal.js";import G from"../LineCheckV3/LinecheckModal.js";import _ from"../BenefitWrapper/BenefitsValidateWrapper.js";import J from"../PretoPost/PreToPostSubsPopup.js";import W from"../LineCheckV3/GenericModal.js";import{fetchSubscriptionData as q,trackPegaEvents as H,validateP2P as z}from"../../services/LineTableService.js";import K from"./ExsistingSubscriptionModal.js";import{getEcomCartInfo as Q}from"../../models/Analytics/items.js";import X from"../NewLineCheck/CoverageCheckModal.js";import{API_BASE_BASEPOINT as Y}from"../../services/api-constants.js";import{AppContext as Z}from"./StaticLineTableStore/StaticLineTableProvider.js";import ee from"./OttServiceOptions/OttServiceOptionsSmallPopup.js";import oe from"./StaticExclusiveBenefit.js";import le from"../UserLoggedPricesToggle/UserLoggedPricesToggle.js";import ne from"../FalconButtonV2/FalconButtonV2.js";import{ONE_ECOMMERCE_INTERNET_SUMMARY as ie}from"../../utils/constants.js";import te from"./StaticLineTabelTimer/StaticLineTabelTimer.js";import{useProductCardBadge as de}from"./ProductCardBadgeProvider.js";import ae from"../GenericPopup/GenericPopup.js";import re from"../GlobalDotLoader/GlobalDotLoader.js";const se=({content:se,offeringData:ce,uniqueId:ve,storyContent:ue,metadata:me,tabIndex:pe,cardsLength:ge,indexKey:fe,constants:he,mainContent:be,address:Ee,eligibleBundle:we,linecheckSuccessCallBack:Ce,selectedOption:Pe,fetchOfferData:Se,basicConfigUrl:ye,selectedExistingOption:ke,setLoginSuccess:Te,enableP2P:xe,lineCheckCallBack:De,loginSuccess:Le,setToggleState:$e,toggleState:Ie,noTabs:Ne,deviceFlow:Be,deviceFlowCallBack:Oe,selectedRP:je,continueCart:Ae,lineCheckOnClear:Ue,pegaIntegration:Ve,isProdEnv:Fe,deviceUltimateBundle:Me,toggleContent:Re,pricesToggleState:Ge,isShogunFlow:_e,shogunToken:Je,reserveBadgeSpace:We})=>{var qe,He,ze,Ke,Qe,Xe,Ye,Ze,eo,oo,lo,no,io,to,ao,ro,so,co,vo,uo,mo,po,go,fo,ho,bo,Eo,wo,Co,Po,So,yo,ko,To,xo,Do,Lo,$o,Io,No,Bo,Oo,jo,Ao,Uo,Vo,Fo,Mo,Ro,Go,_o,Jo,Wo,qo,Ho,zo,Ko,Qo,Xo,Yo,Zo,el,ol,ll,nl,il,tl,dl,al,rl,sl,cl,vl,ul,ml,pl,gl,fl,hl,bl,El,wl,Cl,Pl,Sl,yl,kl,Tl,xl,Dl,Ll,$l,Il,Nl,Bl,Ol,jl,Al;const Ul=de(),[Vl,Fl]=l(!1),[Ml,Rl]=l(!1),[Gl,_l]=l({showGift:!1,cashbackAvailable:!1}),[Jl,Wl]=l(!0),[ql,Hl]=l(!1),[zl,Kl]=l([]),[Ql,Xl]=l(!1),[Yl,Zl]=l(!1),[en,on]=l(!1),[ln,nn]=l(!1),[tn,dn]=l(!1),[an,rn]=l(!1),sn=`${ye}inf/customer-management/subscriptions`,cn=`${ye}inf/resource-management/msisdns/pretopost/validation`,[vn,un]=l([]),[mn,pn]=l(!1),[gn,fn]=l(!1),[hn,bn]=l(!1),[En,wn]=l([]),[Cn,Pn]=l(!1),[Sn,yn]=l(!1),[kn,Tn]=l(!1),[xn,Dn]=l(!1),[Ln,$n]=l([]),[In,Nn]=l(0),[Bn,On]=l(!1),jn=n(null),[An,Un]=l(null),Vn=n(!1),Fn=n(null),[Mn,Rn]=l(!1),Gn=`${ye}inf/${Y.CUSTOMER}`,_n=(null===(Qe=null===(Ke=null===(ze=null===(He=null===(qe=null==be?void 0:be.globalDotLoader)||void 0===qe?void 0:qe[0])||void 0===He?void 0:He.reference)||void 0===ze?void 0:ze.content)||void 0===Ke?void 0:Ke.body)||void 0===Qe?void 0:Qe[0])?null===(oo=null===(eo=null===(Ze=null===(Ye=null===(Xe=null==be?void 0:be.globalDotLoader)||void 0===Xe?void 0:Xe[0])||void 0===Ye?void 0:Ye.reference)||void 0===Ze?void 0:Ze.content)||void 0===eo?void 0:eo.body)||void 0===oo?void 0:oo[0]:null===(lo=null==be?void 0:be.globalDotLoader)||void 0===lo?void 0:lo[0],Jn={duration:null!==(no=null==_n?void 0:_n.successMsgDuration)&&void 0!==no?no:"0",successLoaderCallback:Rn},Wn=void 0!==typeof window&&document.getElementById("static-linetable"),qn=0===(null===(io=Object.keys(se))||void 0===io?void 0:io.length),Hn=null===(co=null===(so=null===(ro=null===(ao=null===(to=null==se?void 0:se.products)||void 0===to?void 0:to[0])||void 0===ao?void 0:ao.reference)||void 0===ro?void 0:ro.content)||void 0===so?void 0:so.product)||void 0===co?void 0:co[0],zn=null===(go=null===(po=null===(mo=null===(uo=null===(vo=null==se?void 0:se.promotion)||void 0===vo?void 0:vo[0])||void 0===uo?void 0:uo.reference)||void 0===mo?void 0:mo.content)||void 0===po?void 0:po.promoDescription)||void 0===go?void 0:go[0],Kn=null===(fo=null==se?void 0:se.timer)||void 0===fo?void 0:fo[0],Qn=null==Kn?void 0:Kn.enableCounter,[Xn,Yn]=l(!!(Qn&&(null==Kn?void 0:Kn.startTime)&&(null==Kn?void 0:Kn.endTime))&&w(Kn.startTime,Kn.endTime)),Zn=Boolean((null==se?void 0:se.highlightText)&&!0!==Ge&&!Xn&&!(Ul&&(null==se?void 0:se.badgesContainer))),ei=Boolean((null==zn?void 0:zn.displayText)&&!(null==se?void 0:se.notShowPromotionLabel)&&!0!==Ge&&!Xn),oi=Boolean(Ul&&(null==se?void 0:se.badgesContainer)&&!0!==Ge&&!Xn&&!ei),li=null==Hn?void 0:Hn.productId,ni=null===(ho=null==g?void 0:g.getInstance())||void 0===ho?void 0:ho.getCartUrl(),ii=null===(bo=null==f?void 0:f.getInstance())||void 0===bo?void 0:bo.getAssetPath(),ti="MOBILE"===(null==ue?void 0:ue.pageType),di=I(),ai=i(Z);let ri;ri=Ee&&(null===(Eo=null==we?void 0:we.eligibleBundle)||void 0===Eo?void 0:Eo.includes(li));const si=null==se?void 0:se.enableTVStreamingOptionsPopUp,ci=null==se?void 0:se.enableTVStreamingOptionsStepper,vi=null==se?void 0:se.disableDiscountedPriceToggle,ui=null==se?void 0:se.skipAccessoriesPage;b.create({baseURL:null!=ye?ye:""});let mi=void 0!==typeof window&&h.get("sunriseAuth");mi=mi&&JSON.parse(mi);const pi=((null==ce?void 0:ce[ve])||[]).filter(e=>(null==e?void 0:e.id)===li),gi=e=>{wn(e)},fi=()=>{Xl(!0),nn(!ln),fn(!gn)},hi=()=>{var e,o,l;if(Rl(!1),xe&&null==mi)nn(!ln),fn(!gn);else if(xe&&(null==mi?void 0:mi.siteId))Si();else if(Pe===V&&(null==ke?void 0:ke.length)>0)dn(!0);else{!!((null==be?void 0:be.enableExistingCustomer)&&null==mi||!mi&&!0===Ge&&(null==Re?void 0:Re.enableLoggedInPrice))?Xl(!0):$i()}if(Ve){const n=localStorage.getItem("prospectId"),i=null!==(l=null===(o=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.pathname)||void 0===o?void 0:o.split("/"))&&void 0!==l?l:[],t=i[i.length-1],d={eventTimestamp:B(),eventType:"PageView",pageType:"CartCreated",pageLocation:t,targetProduct:li};n&&H(Gn,d,n)}},bi=e=>{const o=zl.findIndex(o=>(null==e?void 0:e.giftGroupId)===(null==o?void 0:o.giftGroupId)),l=zl;-1===o?l.push(e):l[o]=e,Kl([...l])},Ei=new URLSearchParams(null===(wo=null===window||void 0===window?void 0:window.location)||void 0===wo?void 0:wo.search),wi=null==Ei?void 0:Ei.get("selectedMsisdn"),Ci=e=>{var o;1===(null==e?void 0:e.length)?(ql?D(Ni,ue,pi,null==e?void 0:e[0],se,Ve):$i(null===(o=null==e?void 0:e[0])||void 0===o?void 0:o.msisdn),rn(!1)):(null==e?void 0:e.length)>1?(un(e),bn(!hn),rn(!1)):(fn(!gn),rn(!0),Wl(!0),Fl(!1))},Pi=(o,l)=>e(void 0,void 0,void 0,function*(){yield z(null==o?void 0:o.msisdn,cn).then(e=>{e&&l.push(o)}).catch(e=>{console.log("error",e)})}),Si=()=>{var o;Fl(!0);try{null===(o=q("PREPAID",sn))||void 0===o||o.then(o=>e(void 0,void 0,void 0,function*(){if(204==(null==o?void 0:o.subscriptionData))fn(!gn),rn(!0),Wl(!0),Fl(!1);else{const l=null==o?void 0:o.subscriptionData,n=l.find(e=>e.msisdn===wi);if(l){const o=[];wi?(yield Pi(n,o),Ci(o)):yield Promise.all(null==l?void 0:l.map(l=>e(void 0,void 0,void 0,function*(){yield Pi(l,o)}))).then(e=>{Ci(o)})}}})).catch(e=>{console.log("error---\x3e",e),Fl(!1)})}catch(e){console.log("error---\x3e",e),Fl(!1)}pn(!0)},yi=()=>{fn(!Jl),nn(!1)},ki=e=>{Pn(!1),e&&j(U,A,{headline:"VAS POPUP CLOSE"})},Ti=()=>{let e="undefined"!=typeof window&&localStorage.getItem("lineCheckResponse");we=e&&(null===JSON||void 0===JSON?void 0:JSON.parse(e)),Ee="undefined"!=typeof window&&h.get("chAddressJson"),on(!en),"function"==typeof Ce&&Ce(),$i()},xi=C(null==Hn?void 0:Hn.bloks,ti),Di=null===(Co=null==xi?void 0:xi[0])||void 0===Co?void 0:Co.tvProductId,Li=e=>{var o,l,n,i,t,d,a,r,s,c;const v=Ve&&(null===(n=null===(l=null===(o=null==pi?void 0:pi[0])||void 0===o?void 0:o.promotionInfo)||void 0===l?void 0:l[0])||void 0===n?void 0:n.id),u=Ve&&(null===(d=null===(t=null===(i=null==pi?void 0:pi[0])||void 0===i?void 0:i.promotionInfo)||void 0===t?void 0:t[0])||void 0===d?void 0:d.version),m=_e?{pointsBurnt:null===(r=null===(a=null==pi?void 0:pi[0])||void 0===a?void 0:a.rewards)||void 0===r?void 0:r.points,rewardOfferId:null===(c=null===(s=null==pi?void 0:pi[0])||void 0===s?void 0:s.rewards)||void 0===c?void 0:c.offerId,gloxTokenId:Je}:void 0;pi&&pi[0]&&(pi[0].fromPopup=xn),ji("false"),sessionStorage.removeItem("vasPopUp"),yn(!1),T(Fl,ni,zl,pi,be,Ni,ti,Di,we,Ee,on,en,De,xe,null!=wi?wi:e,se,En,v,u,m,Jn)},$i=e=>{var o,l,n,i,t,d,a,r,s;Dn(!1),Rl(!1);let c=void 0!==typeof window&&h.get("sunriseAuth");const v=c&&JSON.parse(c),u=!(!(null==be?void 0:be.enableExistingCustomer)||null!=v);if(sessionStorage.removeItem(ie),(null===(o=null==be?void 0:be.linecheckData)||void 0===o?void 0:o.length)>0&&!ti&&!ri){return void(document.getElementById("linecheck")&&De())}if(ri&&!ti&&(null===(l=null==be?void 0:be.loginData)||void 0===l?void 0:l.length)>0&&u)Xl(!0);else if(ci&&(null===(n=pi[0])||void 0===n?void 0:n.isBundle)){let o=!1;ui||((null===(i=pi[0])||void 0===i?void 0:i.isBundle)?null===(d=null===(t=pi[0])||void 0===t?void 0:t.bundledOffers)||void 0===d||d.map(e=>{var l,n,i;"internet"!==(null===(l=null==e?void 0:e.productType)||void 0===l?void 0:l.toLowerCase())&&"tv"!=(null===(n=null==e?void 0:e.productType)||void 0===n?void 0:n.toLowerCase())||(null==e?void 0:e.recommendAccessory)&&(o=null==e?void 0:e.recommendAccessory),"mobile"!==(null===(i=null==e?void 0:e.productType)||void 0===i?void 0:i.toLowerCase())||(o=!1)}):(null===(a=null==pi?void 0:pi[0])||void 0===a?void 0:a.recommendAccessory)&&(o=null===(r=null==pi?void 0:pi[0])||void 0===r?void 0:r.recommendAccessory)),x(Ni,pi,se,Ve,null==Hn?void 0:Hn.productName,o),Li(e)}else si&&(null===(s=pi[0])||void 0===s?void 0:s.isBundle)&&!Sn?(Pn(!0),yn(!0),ji("true"),window.addEventListener("beforeunload",function(e){ji("false"),sessionStorage.removeItem("vasPopUp"),yn(!1)})):(xe&&Fl(!0),Li(e))},Ii=(e,o)=>l=>{var n;const i=void 0!==typeof window&&h.get("one-commerce-cartId");(null==be?void 0:be.enableReplacePopup)&&i?(jn.current=()=>e(l),Vn.current=Boolean(o),Un(null!=o?o:null===(n=null==be?void 0:be.generalReplacePopup)||void 0===n?void 0:n[0]),On(!0)):e(l)},Ni=P(pi,ti,null==be?void 0:be.pageType,!1,En,Ve);t(()=>{var e,o;S(pe,ge);const l=y(ti?pi:null!==(o=null===(e=null==pi?void 0:pi[0])||void 0===e?void 0:e.bundledOffers)&&void 0!==o?o:pi);_l(Object.assign({},l))},[ce,Ie,En,In,((null==Ie?void 0:Ie.TV)||(null==Ie?void 0:Ie.gigaSpeed)||(null==Ie?void 0:Ie.Netflix))&&Array.isArray(pi)&&3===(null===(So=null===(Po=null==pi?void 0:pi[0])||void 0===Po?void 0:Po.bundledOffers)||void 0===So?void 0:So.length)]);const Bi=()=>{((null==xi?void 0:xi.length)>0||si)&&Zl(!0)},Oi=null===(yo=null==be?void 0:be.productContainer)||void 0===yo?void 0:yo[0];t(()=>{ql&&(xe&&null==mi?(nn(!ln),fn(!gn)):xe&&(null==mi?void 0:mi.siteId)&&Si())},[ql]),t(()=>{var e;if(ai){const{store:o}=ai;(null===(e=null==o?void 0:o.ottOptionsApi)||void 0===e?void 0:e.length)>0&&0===(null==Ln?void 0:Ln.length)&&$n(null==o?void 0:o.ottOptionsApi)}},[ai]),t(()=>{if(!Qn||!(null==Kn?void 0:Kn.startTime)||!(null==Kn?void 0:Kn.endTime))return void Yn(!1);Yn(w(Kn.startTime,Kn.endTime));const e=k(Kn.startTime,Kn.endTime);if(e<=0)return;const o=setTimeout(()=>{Yn(w(Kn.startTime,Kn.endTime))},e);return()=>clearTimeout(o)},[Qn,null==Kn?void 0:Kn.startTime,null==Kn?void 0:Kn.endTime]),t(()=>{var e;const o=Fn.current;if(!o||!(null===(e=null==se?void 0:se.timer)||void 0===e?void 0:e.length)||!Qn)return void Nn(0);const l=()=>{Nn(o.clientHeight)};if(l(),"undefined"==typeof ResizeObserver)return;const n=new ResizeObserver(l);return n.observe(o),()=>{n.disconnect()}},[null===(ko=null==se?void 0:se.timer)||void 0===ko?void 0:ko.length,Qn]),t(()=>{kn&&(ki(),Tn(!0),ji("false"),sessionStorage.removeItem("vasPopUp"),yn(!1),Li())},[kn]),t(()=>{const e=()=>{const e=sessionStorage.getItem("vasPopUp");yn("true"===e)};e();const o=o=>{o.storageArea===sessionStorage&&"vasPopUp"===o.key&&e(),o.storageArea===sessionStorage&&"vasPopUp"===o.key&&null===o.newValue&&yn(!1)},l=()=>{e()};return window.addEventListener("storage",o),window.addEventListener("vasPopUpChange",l),()=>{window.removeEventListener("storage",o),window.removeEventListener("vasPopUpChange",l)}},[]);const ji=e=>{sessionStorage.setItem("vasPopUp",e);const o=new Event("vasPopUpChange");window.dispatchEvent(o)};return o.createElement("div",null,(Vl||Mn)&&Wn&&d(o.createElement(re,{content:_n,isSuccess:Mn}),Wn),qn&&o.createElement("div",{className:"w-75 pb-2"},o.createElement(a,null)),!qn&&we&&se&&Ee&&!ti&&o.createElement("div",{className:r.selected},o.createElement("span",{style:{paddingBottom:"10px"}},ri?o.createElement("span",{className:r.activeicon},o.createElement("img",{src:`${ii}/icons/lineCheck-success.svg`,alt:"",width:24,height:24,className:r.activeicon}),o.createElement("span",null,null==he?void 0:he.subscriptionAvalTxt)):o.createElement("span",{className:r.inactiveicon},o.createElement("img",{src:`${ii}/icons/cross_disabled.svg`,alt:"",width:24,height:24,className:r.inactiveicon}),o.createElement("span",null,null==he?void 0:he.notSubscriptionTxt)))),o.createElement("div",{className:`${!ti&&!1===ri&&(null===(To=null==be?void 0:be.linecheckData)||void 0===To?void 0:To.length)>0&&"global/coverage-check"!==(null===(Lo=null===(Do=null===(xo=null==be?void 0:be.linecheckData)||void 0===xo?void 0:xo[0])||void 0===Do?void 0:Do.reference)||void 0===Lo?void 0:Lo.default_full_slug)?r.overlay:""}\n ${Me&&!(null===(Io=null===($o=null==pi?void 0:pi[0])||void 0===$o?void 0:$o.eligibility)||void 0===Io?void 0:Io.fpb)?r.disabled:""}\n `,style:{flexDirection:"column"}},o.createElement("div",{className:r.bundleproductcard},o.createElement("div",{id:`timer-section${pe}${fe}`,"data-timer-active":In>0?"true":"false"},(null===(No=null==se?void 0:se.timer)||void 0===No?void 0:No.length)&&Qn?o.createElement("div",{style:{height:`${In}px`,transition:"height 0.3s ease"}}):null),o.createElement("div",{className:`${r.productcontainer} ${We||oi||Zn||ei?r.productcontainerHasBadge:""}`,style:(()=>{const e=ei?zn:se,o=null==e?void 0:e.showBorder,l=null==e?void 0:e.borderGradient,n=null==e?void 0:e.borderColor;return{borderColor:o&&!l?n||"":"transparent",borderWidth:o?"4px":"0px",borderStyle:o?"solid":"none",borderRadius:o?"8px":"",background:o&&l?`linear-gradient(white, white) padding-box, ${l} border-box`:void 0}})()},oi&&Ul&&o.createElement(Ul,{badges:se.badgesContainer}),Zn&&o.createElement("div",{className:`${r.highlightText}`},null==se?void 0:se.highlightText),ei&&((null==zn?void 0:zn.badgeContainer)&&Ul?o.createElement(Ul,{badges:null==zn?void 0:zn.badgeContainer}):o.createElement("div",{className:`${r.promocontainer}`,style:{background:null==zn?void 0:zn.bestSellerColor}},null==zn?void 0:zn.displayText)),o.createElement("div",{ref:Fn,className:r.timerContainer},(null===(Bo=null==se?void 0:se.timer)||void 0===Bo?void 0:Bo.length)&&Qn?o.createElement(te,{content:null===(Oo=null==se?void 0:se.timer)||void 0===Oo?void 0:Oo[0],hasHighlightText:oi||ei,onTimerChange:e=>{Yn(e)}}):null),o.createElement("div",{className:`${r.detailsection} ${r.imageFullWidthSection}`,id:`detailsectionv3${pe}${fe}`},o.createElement("div",{className:`${r.headersection}`},o.createElement("div",{className:`${r.titlesection}`},o.createElement("div",{className:`${r.productheader}`,id:`titleV3${pe}${fe}`},null==Hn?void 0:Hn.productName),o.createElement("div",null,(null===(jo=null==Hn?void 0:Hn.icon)||void 0===jo?void 0:jo.filename)&&o.createElement("img",{className:`${r.imagecontainer}`,src:null===(Ao=null==Hn?void 0:Hn.icon)||void 0===Ao?void 0:Ao.filename,height:15,width:20,alt:"productIcon"}))),o.createElement("div",{className:`${r.productdescription}`,id:`descriptionV3${pe}${fe}`},o.createElement(s,{content:null==Hn?void 0:Hn.description})),o.createElement("div",{className:`${r.images}`},(null===(Uo=null==Hn?void 0:Hn.img)||void 0===Uo?void 0:Uo.filename)&&o.createElement("img",{className:`${r.imagespace} ${(null==se?void 0:se.highlightText)&&r.borderimage}`,alt:"cardimg",src:`${null===(Vo=null==Hn?void 0:Hn.img)||void 0===Vo?void 0:Vo.filename}/m/`}))),o.createElement("div",{className:`${r.productconfig}`,id:`product-configv3${pe}${fe}`},qn?o.createElement(o.Fragment,null,o.createElement("div",{className:r.space}),o.createElement(a,{stylename:r.skeletontittle,count:1}),o.createElement(a,{stylename:r.skeletonline,count:5}),o.createElement("div",{className:r.space}),o.createElement(a,{stylename:r.skeletontittle,count:1}),o.createElement(a,{stylename:r.skeletonline,count:5})):o.createElement("div",null,(null==Hn?void 0:Hn.bloks)&&(null===(Fo=null==Hn?void 0:Hn.bloks)||void 0===Fo?void 0:Fo.map((e,l)=>o.createElement(c,{content:e,indexKey:l,constants:he,key:l,showModalPopup:Bi,setToggleState:$e,toggleState:Ie,noTabs:Ne,mainContent:be,enableTVStreamingOptions:null==se?void 0:se.enableTVStreamingOptions,metadata:me,setTvOptionsData:gi})))))),o.createElement("div",{className:`${r.detailsection}`,id:`benefits-price-section${pe}${fe}`},o.createElement("div",{id:`exclusive-benefits-section${pe}${fe}`},(null===(Mo=null==Hn?void 0:Hn.extraBenefits)||void 0===Mo?void 0:Mo.length)>0&&o.createElement(oe,{content:null===(Ro=null==Hn?void 0:Hn.extraBenefits)||void 0===Ro?void 0:Ro[0]})),o.createElement("div",{className:`${r.benefitssection}`,id:`benefits-section${pe}${fe}`},(null===(Go=null==Hn?void 0:Hn.benefits)||void 0===Go?void 0:Go.length)>0&&o.createElement(v,{content:null==Hn?void 0:Hn.benefits,benefitData:Ni,constants:he,pricesToggleState:Ge,togglePriceLabel:null==Re?void 0:Re.togglePriceLabel})),o.createElement("br",null),o.createElement("div",{className:`${r.giftsection}`,id:`gift-section${pe}${fe}`},(null==Gl?void 0:Gl.showGift)&&(null===(_o=null==zn?void 0:zn.singleGift)||void 0===_o?void 0:_o.map((e,l)=>o.createElement(L,{content:e,key:l}))),(null==Gl?void 0:Gl.showGift)&&(null===(Jo=null==zn?void 0:zn.giftConfig)||void 0===Jo?void 0:Jo.map((e,l)=>o.createElement($,{content:e,key:l,selectedGiftItem:bi,parentPoType:ti?"MOBILE":"HOME"}))),o.createElement("div",{className:`${r.giftsection}`,id:`cashback-section${pe}${fe}`},o.createElement(O,{uniqueProductData:pi,mainContent:be}))),o.createElement("div",{className:`${r.ordersection}`,id:`order-section${pe}${fe}`},""===(null==Ni?void 0:Ni.base)?o.createElement("div",null,o.createElement(a,{stylename:r.skeletontittle})):o.createElement("div",{id:`price-section${pe}${fe}`},o.createElement(u,{priceCollection:Ni,constants:he,promoText:null==Hn?void 0:Hn.promoText,deviceFlow:Be,content:se,offeringData:ce,uniqueId:ve})),!_e&&o.createElement("div",{className:`${r.discountedpricetoggleSection}`,id:`discountedpricetoggle-section${pe}${fe}`},vi||"INLINE"!==(null==Re?void 0:Re.togglePosition)?null:o.createElement(le,{content:Hn,index:fe,lineTable:!0,toggleContent:Re})),xe&&(null==he?void 0:he.P2PDiscountLabel)&&o.createElement("div",{className:r.longterm},null==he?void 0:he.P2PDiscountLabel),qn?o.createElement(o.Fragment,null,o.createElement(a,{stylename:r.skeletontittle,count:1}),o.createElement(a,{stylename:r.skeletonline,count:2})):o.createElement("div",{className:`${(null==ue?void 0:ue.swapButton)&&r.swapButton}`},o.createElement("div",{style:{padding:"16px 0 0 0"}},o.createElement(m,{isMobileFlow:ti,createCartCall:(null==Be?void 0:Be.isDeviceFlow)?Ii(e=>{Rl(!1);Oe({setShowLoader:Fl,cartEndPoint:ni,giftItem:zl,uniqueProductData:pi,mainContent:be,showPrice:Ni,isMobileFlow:ti,eligibleBundle:we,address:Ee,setShowLinecheck:on,showLinecheck:en,lineCheckCallBack:De,enableP2P:xe,msisdnn:null!=wi?wi:e,content:se,selectedRP:je,continueCart:Ae,successLoaderData:Jn})}):Ii(ti?hi:$i),constants:he,storyContent:ue,showPrice:Ni,isAvailable:ri,address:Ee,uniqueProductBenefits:null==pi?void 0:pi[0],alwaysActive:!ri&&(null===(Wo=null==be?void 0:be.linecheckData)||void 0===Wo?void 0:Wo.length)>0&&"global/coverage-check"===(null===(zo=null===(Ho=null===(qo=null==be?void 0:be.linecheckData)||void 0===qo?void 0:qo[0])||void 0===Ho?void 0:Ho.reference)||void 0===zo?void 0:zo.default_full_slug),flexUpgradeFreePopup:null===(Qo=null===(Ko=null==be?void 0:be.flexUpgradeFreePopup)||void 0===Ko?void 0:Ko.reference)||void 0===Qo?void 0:Qo.content,content:se,deviceUltimateBundle:Me,forceDisabled:Boolean(null===(Yo=null===(Xo=null==pi?void 0:pi[0])||void 0===Xo?void 0:Xo.rewards)||void 0===Yo?void 0:Yo.notEligibleReason),notEligibileReason:null===(el=null===(Zo=null==pi?void 0:pi[0])||void 0===Zo?void 0:Zo.rewards)||void 0===el?void 0:el.notEligibleReason})),!_e&&(null===(ol=null==ue?void 0:ue.addSmartPhone)||void 0===ol?void 0:ol.length)>0&&!(null==Be?void 0:Be.isDeviceFlow)&&o.createElement("div",{style:{textAlign:"center"}},(null==ue?void 0:ue.swapButton)?(null==ue?void 0:ue.ctaLabel)&&o.createElement("div",{style:{padding:"16px 0"}},o.createElement("button",{className:"primarybutton",onClick:()=>{var e;return Ii(()=>D(Ni,ue,pi,"",se,Ve),null===(e=null==be?void 0:be.replacePopupWithSmartphone)||void 0===e?void 0:e[0])()}},o.createElement("span",{className:r.buttontext},null==ue?void 0:ue.ctaLabel))):!(null==se?void 0:se.redirectOnly)&&o.createElement("div",{style:{padding:"12px 0 0 0"}},o.createElement(ne,{content:{buttonType:"Secondary-V1",buttonLabel:(null==se?void 0:se.ultimateBundlePromotion)?null==he?void 0:he.ultimateBundleLbl:null===(nl=null===(ll=null==ue?void 0:ue.addSmartPhone)||void 0===ll?void 0:ll[0])||void 0===nl?void 0:nl.buttonLabel,buttonIcon:null===(tl=null===(il=null==ue?void 0:ue.addSmartPhone)||void 0===il?void 0:il[0])||void 0===tl?void 0:tl.buttonIcon,buttonAlignment:"left"},wafIdentifier:ye,style:{width:"100%"},onClick:()=>{var e;return Ii(()=>xe?void Hl(!0):D(Ni,ue,pi,"",se,Ve),null===(e=null==be?void 0:be.replacePopupWithSmartphone)||void 0===e?void 0:e[0])()}}))),o.createElement("div",{className:r.productcontractduration,id:`contract-section${pe}${fe}`,style:{paddingTop:(null===(dl=null==ue?void 0:ue.addSmartPhone)||void 0===dl?void 0:dl.length)>0&&!(null==Be?void 0:Be.isDeviceFlow)&&!(null==ue?void 0:ue.swapButton)&&!(null==se?void 0:se.redirectOnly)?"8px":void 0}},(null==Ni?void 0:Ni.contractDuration)>"1"?N(null===(al=null==he?void 0:he.minContractDuration)||void 0===al?void 0:al.substring(1),[null==Ni?void 0:Ni.contractDuration]):null==he?void 0:he.noContractDuration)),o.createElement("div",{style:{textAlign:"center",padding:"4px"}},(null===(rl=null==Hn?void 0:Hn.productDetails)||void 0===rl?void 0:rl.length)>0&&o.createElement("span",{className:r.productdetailslink,onClick:()=>{var e,o,l;Rl(!Ml),j(U,M,Q(pi,"",F));const n=localStorage.getItem("prospectId"),i=null!==(l=null===(o=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.pathname)||void 0===o?void 0:o.split("/"))&&void 0!==l?l:[],t=i[i.length-1],d={eventTimestamp:B(),eventType:"PageView",pageType:"ProductDetails",pageLocation:t,targetProduct:li};n&&H(Gn,d,n)}},null==he?void 0:he.productDetailsLink)),Ml&&o.createElement(p,{content:null==Hn?void 0:Hn.productDetails,showProductDetail:Ml,setShowProductDetail:Rl,constants:he,showPrice:Ni,isMobileFlow:ti,createCartCall:ti?hi:$i,storyContent:ue,isAvailable:ri,address:Ee,flexUpgradeFreePopup:null===(cl=null===(sl=null==be?void 0:be.flexUpgradeFreePopup)||void 0===sl?void 0:sl.reference)||void 0===cl?void 0:cl.content,notEligibileReason:null===(ul=null===(vl=null==pi?void 0:pi[0])||void 0===vl?void 0:vl.rewards)||void 0===ul?void 0:ul.notEligibleReason})))))),Me&&pi&&!(null===(pl=null===(ml=null==pi?void 0:pi[0])||void 0===ml?void 0:ml.eligibility)||void 0===pl?void 0:pl.fpb)&&o.createElement("div",{className:r.disabledInfo},o.createElement(s,{content:null==he?void 0:he.fpbNotCompatibleText})),Yl&&(qn?o.createElement(a,null):o.createElement(R,{content:null==xi?void 0:xi[0],setShowModal:Zl,showModal:Yl,constants:he})),Ql&&(null===(gl=null==be?void 0:be.loginData)||void 0===gl?void 0:gl.length)>0&&Wn&&d(o.createElement(E,{content:null===(fl=null==be?void 0:be.loginData)||void 0===fl?void 0:fl[0],closeLogin:()=>{Xl(!1)},metadata:me,onSuccess:()=>{Xl(!1),Te(),sessionStorage.removeItem("vasPopUp"),yn(!1),xe?Si():$i()},isProdEnv:Fe}),Wn),ln&&xe&&!Ql&&gn&&o.createElement(W,{modalState:Jl,handler:yi,showFooter:!1,width:"628px",height:"280px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"16px"},o.createElement(J,{onClose:fi,content:null===(El=null===(bl=null===(hl=null==be?void 0:be.productContainer)||void 0===hl?void 0:hl[0])||void 0===bl?void 0:bl.p2pBloks)||void 0===El?void 0:El[0],prepaid:!1})),xe&&mn&&an&&gn&&o.createElement(W,{modalState:Jl,handler:yi,showFooter:!1,width:"628px",height:"280px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"16px",id:"table-product"},o.createElement(J,{onClose:fi,content:null===(Pl=null===(Cl=null===(wl=null==be?void 0:be.productContainer)||void 0===wl?void 0:wl[0])||void 0===Cl?void 0:Cl.p2pBloks)||void 0===Pl?void 0:Pl[1],prepaid:!0})),(null==vn?void 0:vn.length)>1&&xe&&mn&&!an&&hn&&o.createElement(W,{modalState:hn,handler:()=>{Fl(!1),bn(!hn)},showFooter:!1,width:"628px",height:"280px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"16px"},o.createElement(K,{onSubmit:e=>{bn(!hn),ql?D(Ni,ue,pi,e,se,Ve):$i(null==e?void 0:e.msisdn)},exsistingSubscriptionData:vn,updatedContent:Oi})),en&&(null==be?void 0:be.enableLinecheckOverlay)&&!ti&&(null===(Sl=null==be?void 0:be.linecheckData)||void 0===Sl?void 0:Sl.length)>0&&!xe&&"global/new-linecheck-test"===(null===(Tl=null===(kl=null===(yl=null==be?void 0:be.linecheckData)||void 0===yl?void 0:yl[0])||void 0===kl?void 0:kl.reference)||void 0===Tl?void 0:Tl.default_full_slug)?o.createElement(G,{content:null===(xl=null==be?void 0:be.linecheckData)||void 0===xl?void 0:xl[0],onSuccess:Ti,showModal:en,setShowModal:on,productName:null==Hn?void 0:Hn.productName,productId:null==Hn?void 0:Hn.productId}):en&&(null==be?void 0:be.enableLinecheckOverlay)&&!ti&&(null===(Dl=null==be?void 0:be.linecheckData)||void 0===Dl?void 0:Dl.length)>0&&!xe&&"global/coverage-check"===(null===(Il=null===($l=null===(Ll=null==be?void 0:be.linecheckData)||void 0===Ll?void 0:Ll[0])||void 0===$l?void 0:$l.reference)||void 0===Il?void 0:Il.default_full_slug)?o.createElement(X,{content:null===(Nl=null==be?void 0:be.linecheckData)||void 0===Nl?void 0:Nl[0].reference.content.body[0],overlayIsOpen:!0,externalHandleModal:on,productName:null==Hn?void 0:Hn.productName,showModal:en,setShowModal:on,onSuccess:()=>{let e="undefined"!=typeof window&&localStorage.getItem("lineCheckResponse");we=e&&(null===JSON||void 0===JSON?void 0:JSON.parse(e)),Ee="undefined"!=typeof window&&h.get("chAddressJson"),"function"==typeof Ce&&Ce()},onCreateCart:Ti,lineCheckOnClear:Ue,productId:null==Hn?void 0:Hn.productId}):null,tn&&ti&&(null===(Bl=null==ue?void 0:ue.benefitsValidate)||void 0===Bl?void 0:Bl.length)>0&&o.createElement(_,{content:null===(Ol=null==ue?void 0:ue.benefitsValidate)||void 0===Ol?void 0:Ol[0],loginContent:null===(jl=null==be?void 0:be.loginData)||void 0===jl?void 0:jl[0],metadata:me,createCartCall:$i,fetchOfferData:Se,basicConfigUrl:ye,selectedExistingOption:ke,setShowBenefit:dn,setLoginSuccess:Te,isProdEnv:Fe}),Cn&&o.createElement(W,{modalState:Cn,handler:ki,showFooter:!1,width:"mobile"===di?"":"tablet"===di?"700px":"990px",fixedWidth:"mobile"===di?"":"tablet"===di?"700px":"990px",height:"845px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"24px"},o.createElement(ee,{content:null===(Al=null==be?void 0:be.optionsPopup)||void 0===Al?void 0:Al[0],addOptionsCallBack:e=>{Dn(!0),Tn(!0),gi(e)},metadata:me,constants:he,mainContent:be,preSelectedOptions:[],optionsResponse:Ln,updateResponseList:$n,showPrice:Ni,productData:Hn,offeringData:ce,uniqueId:ve,deviceFlow:Be})),Bn&&An&&o.createElement(ae,{modalState:Bn,onCloseHandler:()=>{jn.current=null,On(!1)},content:An,wafIdentifier:ye,onPrimaryClick:()=>{const e=jn.current;jn.current=null,Vn.current&&h.remove("one-commerce-cartId"),Vn.current=!1,On(!1),null==e||e()},onSecondaryClick:()=>{jn.current=null,On(!1)}}))};export{se as default};
2
2
  //# sourceMappingURL=StaticProduct.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StaticProduct.js","sources":["../../../../src/components/StaticLineTable/StaticProduct.tsx"],"sourcesContent":["import React, { FC, useContext, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport SkeletonLoader from '../SkeletonLoader/SkeletonLoader';\nimport Styles from './StaticLineTable.module.scss';\nimport RichText from '../richtext';\nimport StaticProductEntitlement from './StaticProductEntitlement';\nimport StaticBenefit from './StaticBenefit';\nimport DynamicPriceSection from './DynamicPriceSection';\nimport CheckoutButton from './CheckoutButton';\nimport StaticProductDetails from './StaticProductDetails';\nimport { StaticProductSchema } from './StaticProductDatatypes';\nimport {\n AssetPathPropConfig,\n LineTableBasicPropConfig\n} from '../../services/LineTableBasicPropConfig';\nimport Cookies from 'js-cookie';\nimport { LoginBasicPropConfig } from '../../services/LoginBasicPropConfig';\nimport LoginModalV2 from '../login/LoginModalV2';\nimport {\n checkGiftOrCashback,\n combineWithSmartPhone,\n combineWithVasOptions,\n fetchPrice,\n fetchServiceOptions,\n scheduleFindHeight,\n isTimerActive,\n getTimeUntilNextTimerEvent,\n staticCreateCart\n} from './Product.utils';\nimport GiftConfigV2 from '../ProductDetailsV3/GiftConfigV2';\nimport ChooseGiftV2 from '../ProductDetailsV3/ChooseGiftV2';\nimport { replacePlaceholder, viewport, getUtcTimestamp } from '../../utils/utils';\nimport StaticProductCashback from './StaticProductCashback';\nimport { trackNewDatalayerEvent } from '../../utils/AnalyticsUtils';\nimport {\n CTABUTTONCLICK,\n DOWNLOADPRODUCT,\n EXISTINGCUSTOMER,\n GAEVENT,\n LINETABLE\n} from '../../Analytics/AnalyticsConstants';\nimport TVChannelModal from './TVChannelModal';\nimport LinecheckModal from '../LineCheckV3/LinecheckModal';\nimport BenefitsValidateWrapper from '../BenefitWrapper/BenefitsValidateWrapper';\nimport PreToPostSubsPopup from '../PretoPost/PreToPostSubsPopup';\nimport GenericModal from '../LineCheckV3/GenericModal';\nimport {\n fetchSubscriptionData,\n trackPegaEvents,\n validateP2P\n} from '../../services/LineTableService';\nimport ExsistingSubscriptionModal from './ExsistingSubscriptionModal';\nimport { getEcomCartInfo } from '../../models/Analytics/items';\nimport CoverageCheckModal from '../NewLineCheck/CoverageCheckModal';\n\nimport { API_BASE_BASEPOINT } from '../../services/api-constants';\nimport { AppContext } from './StaticLineTableStore/StaticLineTableProvider';\nimport OttServiceOptionsSmallPopup from './OttServiceOptions/OttServiceOptionsSmallPopup';\nimport StaticExclusiveBenefit from './StaticExclusiveBenefit';\n// US_312953\nimport UserLoggedPricesToggle from '../UserLoggedPricesToggle/UserLoggedPricesToggle';\nimport FalconButtonV2 from '../FalconButtonV2/FalconButtonV2';\nimport { ONE_ECOMMERCE_INTERNET_SUMMARY } from '../../utils/constants';\nimport StaticLineTabelTimer from './StaticLineTabelTimer/StaticLineTabelTimer';\nimport { useProductCardBadge } from './ProductCardBadgeProvider';\nimport GenericPopup from '../GenericPopup/GenericPopup';\nimport GlobalDotLoader from '../GlobalDotLoader/GlobalDotLoader';\n\nconst StaticProduct: FC<StaticProductSchema> = ({\n content,\n offeringData,\n uniqueId,\n storyContent,\n metadata,\n tabIndex,\n cardsLength,\n indexKey,\n constants,\n mainContent,\n address,\n eligibleBundle,\n linecheckSuccessCallBack,\n selectedOption,\n fetchOfferData,\n basicConfigUrl,\n selectedExistingOption,\n setLoginSuccess,\n enableP2P,\n lineCheckCallBack,\n loginSuccess,\n setToggleState,\n toggleState,\n noTabs,\n deviceFlow,\n deviceFlowCallBack,\n selectedRP,\n continueCart,\n lineCheckOnClear,\n pegaIntegration,\n isProdEnv,\n deviceUltimateBundle,\n //US_31295\n toggleContent,\n pricesToggleState,\n isShogunFlow,\n shogunToken,\n reserveBadgeSpace\n}) => {\n const BadgeContainer = useProductCardBadge();\n const [showLoader, setShowLoader] = useState<boolean>(false);\n const [showProductDetail, setShowProductDetail] = useState(false);\n const [showGiftOrCashback, setShowGiftOrCashback] = useState({\n showGift: false,\n cashbackAvailable: false\n });\n const [modalClick, updateModalClick] = useState(true);\n const [combine, setCombine] = useState(false);\n const [giftItem, setGiftItem] = useState<any>([]);\n const [showLogin, setShowLogin] = useState<boolean>(false);\n const [showOptions, setShowOptions] = useState<boolean>(false);\n const [showLinecheck, setShowLinecheck] = useState<boolean>(false);\n const [showP2P, setShowP2P] = useState<boolean>(false);\n const [showBenefit, setShowBenefit] = useState<boolean>(false);\n const [subscriptionFailure, setSubscriptionFailure] = useState(false);\n const endpoint = `${basicConfigUrl}inf/customer-management/subscriptions`;\n const validateEndpoint = `${basicConfigUrl}inf/resource-management/msisdns/pretopost/validation`;\n const [userSubscriptionData, setUserSubscriptionData] = useState<any>([]);\n const [afterLogin, setAfterLogin] = useState<boolean>(false);\n const [popUPClick, setModalClick] = useState<boolean>(false);\n const [p2pModal, setP2pModal] = useState<boolean>(false);\n const [tvOptions, setTvOptions] = useState<any[] | undefined>([]);\n const [displayTvOptionsPopUp, setDisplayTvOptionsPopUp] = useState<boolean>(false);\n const [alreadyShowedTvOptionsPopUp, setAlreadyShowedTvOptionsPopUp] = useState<boolean>(false);\n const [tvOptionsPopUpChanged, setTvOptionsPopUpChanged] = useState<boolean>(false);\n const [tvOptionsPopUpAddToCart, setTvOptionsPopUpAddToCart] = useState<boolean>(false);\n const [responseList, setResponseList] = useState([]);\n const [timerSpaceHeight, setTimerSpaceHeight] = useState(0);\n const [showReplaceCartModal, setShowReplaceCartModal] = useState<boolean>(false);\n const pendingCartActionRef = useRef<(() => void) | null>(null);\n const [replacePopupContent, setReplacePopupContent] = useState<any>(null);\n const shouldDeleteCartCookieRef = useRef<boolean>(false);\n const timerContainerRef = useRef<HTMLDivElement | null>(null);\n const [successLoader, setSuccessLoader] = useState<boolean>(false);\n const pegaEndpoint = `${basicConfigUrl}inf/${API_BASE_BASEPOINT.CUSTOMER}`;\n const dotLoaderData = mainContent?.globalDotLoader?.[0]?.reference?.content?.body?.[0]\n ? mainContent?.globalDotLoader?.[0]?.reference?.content?.body?.[0]\n : mainContent?.globalDotLoader?.[0];\n /*the portal position for the the dotloader*/\n const portalPosition: any =\n typeof window !== undefined && document.getElementById('static-linetable');\n const isSkeletonLoading = Object.keys(content)?.length === 0;\n const productData = content?.products?.[0]?.reference?.content?.product?.[0];\n const promotionData = content?.promotion?.[0]?.reference?.content?.promoDescription?.[0];\n const timerContent = content?.timer?.[0];\n const isCounterEnabled = timerContent?.enableCounter;\n const [timerIsActive, setTimerIsActive] = useState(\n isCounterEnabled && timerContent?.startTime && timerContent?.endTime\n ? isTimerActive(timerContent.startTime, timerContent.endTime)\n : false\n );\n const showHighlightText = Boolean(\n content?.highlightText &&\n pricesToggleState !== true &&\n !timerIsActive &&\n !(BadgeContainer && content?.badgesContainer)\n );\n const showPromoContainer = Boolean(\n promotionData?.displayText &&\n !content?.notShowPromotionLabel &&\n pricesToggleState !== true &&\n !timerIsActive\n );\n\n const showBadges = Boolean(\n BadgeContainer &&\n content?.badgesContainer &&\n pricesToggleState !== true &&\n !timerIsActive &&\n !showPromoContainer\n );\n\n const id = productData?.productId;\n const cartEndPoint = LineTableBasicPropConfig?.getInstance()?.getCartUrl();\n const assetPath = AssetPathPropConfig?.getInstance()?.getAssetPath();\n const isMobileFlow = storyContent?.pageType === 'MOBILE';\n const viewPortType = viewport();\n const context = useContext(AppContext);\n let isAvailable: boolean | undefined = undefined;\n isAvailable = address && eligibleBundle?.eligibleBundle?.includes(id);\n const enableTVStreamingOptionsPopUp = content?.enableTVStreamingOptionsPopUp;\n const enableTVStreamingOptionsStepper = content?.enableTVStreamingOptionsStepper;\n const disableDiscountedPriceToggle = content?.disableDiscountedPriceToggle;\n const skipAccessoriesPage = content?.skipAccessoriesPage;\n\n LoginBasicPropConfig.create({ baseURL: basicConfigUrl ?? '' });\n\n //sunrise auth data\n let AuthData: any = typeof window !== undefined && Cookies.get('sunriseAuth');\n AuthData = AuthData && JSON.parse(AuthData);\n //offer data wrt to tab\n const uniqueProductData: any = (offeringData?.[uniqueId] || []).filter(\n (product: any) => product?.id === id\n );\n\n const setTvOptionsData = (options: any) => {\n setTvOptions(options);\n };\n\n const handleP2PClick = () => {\n setShowLogin(true);\n setShowP2P(!showP2P);\n setModalClick(!popUPClick);\n };\n\n //creacart function or login pop up\n const createCart = () => {\n setShowProductDetail(false);\n if (enableP2P && AuthData == undefined) {\n setShowP2P(!showP2P);\n setModalClick(!popUPClick);\n } else if (enableP2P && AuthData?.siteId) {\n fetchPrepaidData();\n } else if (selectedOption === EXISTINGCUSTOMER && selectedExistingOption?.length > 0) {\n setShowBenefit(true);\n } else {\n //US_31295\n const setLoginCookie =\n (mainContent?.enableExistingCustomer && AuthData == undefined) ||\n (!AuthData && pricesToggleState === true && toggleContent?.enableLoggedInPrice)\n ? true\n : false;\n setLoginCookie ? setShowLogin(true) : createCartCall();\n }\n if (pegaIntegration) {\n const prospectId = localStorage.getItem('prospectId');\n const url = window?.location?.pathname?.split('/') ?? [];\n const pathname = url[url.length - 1];\n const payload = {\n eventTimestamp: getUtcTimestamp(),\n eventType: 'PageView',\n pageType: 'CartCreated',\n pageLocation: pathname,\n // deviceType: viewPortType,#TODO - fix this values, isn't working for tablet\n targetProduct: id\n };\n prospectId && trackPegaEvents(pegaEndpoint, payload, prospectId);\n }\n };\n\n //setting the selected gift from choose gift section\n const selectedGiftItem = (item: any) => {\n const itemValue = giftItem.findIndex((gift: any) => item?.giftGroupId === gift?.giftGroupId);\n const temp = giftItem;\n if (itemValue === -1) temp.push(item);\n else temp[itemValue] = item;\n setGiftItem([...temp]);\n };\n\n // Helper method to get border styles\n const getBorderStyles = () => {\n const borderConfig = showPromoContainer ? promotionData : content;\n const showBorder = borderConfig?.showBorder;\n const borderGradient = borderConfig?.borderGradient;\n const borderColor = borderConfig?.borderColor;\n\n return {\n borderColor: showBorder && !borderGradient ? borderColor || '' : 'transparent',\n borderWidth: showBorder ? '4px' : '0px',\n borderStyle: showBorder ? 'solid' : 'none',\n borderRadius: showBorder ? '8px' : '',\n background: showBorder && borderGradient\n ? `linear-gradient(white, white) padding-box, ${borderGradient} border-box`\n : undefined,\n };\n };\n\n //queryParam for MySunrise P2P flow\n const params = new URLSearchParams(window?.location?.search);\n const queryParams = params?.get('selectedMsisdn');\n const validateNumberFcn = (value: any) => {\n // once all the prepaid numbers are validated\n if (value?.length === 1) {\n combine\n ? combineWithSmartPhone(\n showPrice,\n storyContent,\n uniqueProductData,\n value?.[0],\n content,\n pegaIntegration\n )\n : createCartCall(value?.[0]?.msisdn);\n setSubscriptionFailure(false);\n } else if (value?.length > 1) {\n setUserSubscriptionData(value);\n setP2pModal(!p2pModal);\n setSubscriptionFailure(false);\n } else {\n setModalClick(!popUPClick);\n setSubscriptionFailure(true);\n updateModalClick(true);\n setShowLoader(false);\n }\n };\n const validateFcn = async (value: any, validPrepaidNumbers: any) => {\n await validateP2P(value?.msisdn, validateEndpoint)\n .then((res) => {\n if (res) {\n validPrepaidNumbers.push(value);\n }\n })\n .catch((e: any) => {\n // eslint-disable-next-line no-console\n console.log('error', e);\n });\n };\n //prepaid subscription api and validating those for conversion\n const fetchPrepaidData = () => {\n setShowLoader(true);\n try {\n fetchSubscriptionData('PREPAID', endpoint)\n ?.then(async (resp: any) => {\n if (resp?.subscriptionData == 204) {\n setModalClick(!popUPClick);\n setSubscriptionFailure(true);\n updateModalClick(true);\n setShowLoader(false);\n } else {\n const responseData = resp?.subscriptionData;\n const queryData = responseData.find((entry: any) => entry.msisdn === queryParams);\n if (responseData) {\n const validPrepaidNumbers: any = [];\n if (queryParams) {\n await validateFcn(queryData, validPrepaidNumbers);\n validateNumberFcn(validPrepaidNumbers);\n } else {\n await Promise.all(\n responseData?.map(async (data: any) => {\n await validateFcn(data, validPrepaidNumbers);\n })\n ).then((succ) => {\n validateNumberFcn(validPrepaidNumbers);\n });\n }\n }\n }\n })\n .catch((error: any) => {\n // eslint-disable-next-line no-console\n console.log('error--->', error);\n setShowLoader(false);\n });\n } catch (err: any) {\n // eslint-disable-next-line no-console\n console.log('error--->', err);\n setShowLoader(false);\n }\n setAfterLogin(true);\n };\n\n // on login success\n const onLoginSuccess = () => {\n setShowLogin(false);\n setLoginSuccess();\n sessionStorage.removeItem('vasPopUp');\n setAlreadyShowedTvOptionsPopUp(false);\n if (enableP2P) {\n fetchPrepaidData();\n } else {\n createCartCall();\n }\n };\n\n // to close the pop up of P2P\n const handleClick = () => {\n setModalClick(!modalClick);\n setShowP2P(false);\n };\n\n // to close the pop up of P2P for success prepiad\n const handlePrepaidClick = () => {\n setShowLoader(false);\n setP2pModal(!p2pModal);\n };\n\n const closeTVOptionsModal = (event?: any) => {\n setDisplayTvOptionsPopUp(false);\n\n if (event) {\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\n headline: 'VAS POPUP CLOSE'\n });\n }\n };\n\n //once linecheck success set linecheck pop up false and proceed to checkout section\n const linecheckSuccess = () => {\n let bundle = typeof window !== 'undefined' && localStorage.getItem('lineCheckResponse');\n eligibleBundle = bundle && JSON?.parse(bundle);\n address = typeof window !== 'undefined' && Cookies.get('chAddressJson');\n typeof linecheckSuccessCallBack == 'function' && linecheckSuccessCallBack();\n };\n\n //once linecheck success set linecheck pop up false and proceed to checkout section\n const linecheckSuccessAndCart = () => {\n let bundle = typeof window !== 'undefined' && localStorage.getItem('lineCheckResponse');\n eligibleBundle = bundle && JSON?.parse(bundle);\n address = typeof window !== 'undefined' && Cookies.get('chAddressJson');\n setShowLinecheck(!showLinecheck);\n typeof linecheckSuccessCallBack == 'function' && linecheckSuccessCallBack();\n createCartCall();\n };\n\n //service Option set for TV\n\n const serviceOption = fetchServiceOptions(productData?.bloks, isMobileFlow);\n\n const radioValue = serviceOption?.[0]?.tvProductId;\n\n const createCartCallAction = (msisdn?: string) => {\n const discountRef = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.id;\n const discountVersion = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.version;\n\n // Shogun / rewards (loyalty) flow: attach the pointsBurnt note so the\n // backend can settle the loyalty burn during cart creation. The value\n // comes from the offer response under `rewards.points`.\n const rewardsInfo = isShogunFlow\n ? { pointsBurnt: uniqueProductData?.[0]?.rewards?.points, rewardOfferId: uniqueProductData?.[0]?.rewards?.offerId, gloxTokenId: shogunToken }\n : undefined;\n\n // US 317400- vas options pop tracking\n if (uniqueProductData && uniqueProductData[0]) {\n uniqueProductData[0].fromPopup = tvOptionsPopUpAddToCart;\n }\n updateVasPopUp('false');\n sessionStorage.removeItem('vasPopUp');\n setAlreadyShowedTvOptionsPopUp(false);\n\n const successLoaderData = {\n duration: dotLoaderData?.successMsgDuration ?? '0',\n successLoaderCallback: setSuccessLoader\n };\n staticCreateCart(\n setShowLoader,\n cartEndPoint,\n giftItem,\n uniqueProductData,\n mainContent,\n showPrice,\n isMobileFlow,\n radioValue,\n eligibleBundle,\n address,\n setShowLinecheck,\n showLinecheck,\n lineCheckCallBack,\n enableP2P,\n queryParams ?? msisdn,\n content,\n tvOptions,\n discountRef,\n discountVersion,\n rewardsInfo,\n successLoaderData\n );\n };\n //cart creation\n const createCartCall = (msisdn?: string) => {\n setTvOptionsPopUpAddToCart(false);\n setShowProductDetail(false);\n let AuthData: any = typeof window !== undefined && Cookies.get('sunriseAuth');\n const AuthDataNew = AuthData && JSON.parse(AuthData);\n const setLoginCookie =\n mainContent?.enableExistingCustomer && AuthDataNew == undefined ? true : false;\n sessionStorage.removeItem(ONE_ECOMMERCE_INTERNET_SUMMARY);\n if (mainContent?.linecheckData?.length > 0 && !isMobileFlow && !isAvailable) {\n // setShowLinecheck(true);\n const lineCheckElement = document.getElementById('linecheck');\n if (lineCheckElement) {\n lineCheckCallBack();\n }\n return;\n } else if (\n isAvailable &&\n !isMobileFlow &&\n mainContent?.loginData?.length > 0 &&\n setLoginCookie\n ) {\n setShowLogin(true);\n } else if (enableTVStreamingOptionsStepper && uniqueProductData[0]?.isBundle) {\n let recommendAccessory = false;\n\n if (!skipAccessoriesPage) {\n /**Check if bundle or Internet and add it to cart request*/\n if (uniqueProductData[0]?.isBundle) {\n uniqueProductData[0]?.bundledOffers?.map((item: any) => {\n if (\n item?.productType?.toLowerCase() === 'internet' ||\n item?.productType?.toLowerCase() == 'tv'\n ) {\n if (item?.recommendAccessory) {\n recommendAccessory = item?.recommendAccessory;\n }\n }\n // setting to false incase of Mobile product Type as it is currently out of scope\n if (item?.productType?.toLowerCase() === 'mobile') {\n recommendAccessory = false;\n return;\n }\n });\n } else {\n /**Add standlone product such as internet to cart request*/\n if (uniqueProductData?.[0]?.recommendAccessory) {\n recommendAccessory = uniqueProductData?.[0]?.recommendAccessory;\n }\n }\n }\n\n combineWithVasOptions(\n showPrice,\n uniqueProductData,\n content,\n pegaIntegration,\n productData?.productName,\n recommendAccessory\n );\n createCartCallAction(msisdn);\n } else if (\n enableTVStreamingOptionsPopUp &&\n uniqueProductData[0]?.isBundle &&\n !alreadyShowedTvOptionsPopUp\n ) {\n setDisplayTvOptionsPopUp(true);\n setAlreadyShowedTvOptionsPopUp(true);\n updateVasPopUp('true');\n\n window.addEventListener('beforeunload', function (event) {\n updateVasPopUp('false');\n sessionStorage.removeItem('vasPopUp');\n setAlreadyShowedTvOptionsPopUp(false);\n });\n } else {\n //for mobile p2p\n if (enableP2P) {\n setShowLoader(true);\n }\n createCartCallAction(msisdn);\n }\n };\n\n //cart creation callback For device first flow\n const deviceFirstFlowCreateCartCallback = (msisdn?: string) => {\n setShowProductDetail(false);\n const msisdnn = queryParams ?? msisdn;\n const deviceFirstFlowCartObj = {\n setShowLoader,\n cartEndPoint,\n giftItem,\n uniqueProductData,\n mainContent,\n showPrice,\n isMobileFlow,\n eligibleBundle,\n address,\n setShowLinecheck,\n showLinecheck,\n lineCheckCallBack,\n enableP2P,\n msisdnn,\n content,\n selectedRP,\n continueCart\n };\n deviceFlowCallBack(deviceFirstFlowCartObj);\n };\n\n // Guards a cart-creation action: if a persistent cart already exists\n // (one-commerce-cartId cookie), show the replace-cart popup and defer the\n // action until the user confirms via the primary button.\n const withReplaceCartCheck =\n (action: (callFunctionArg?: string) => void, popupContent?: any) =>\n (callFunctionArg?: string) => {\n const existingCartId =\n typeof window !== undefined && Cookies.get('one-commerce-cartId');\n if (mainContent?.enableReplacePopup && existingCartId) {\n pendingCartActionRef.current = () => action(callFunctionArg);\n shouldDeleteCartCookieRef.current = Boolean(popupContent);\n setReplacePopupContent(popupContent ?? mainContent?.generalReplacePopup?.[0]);\n setShowReplaceCartModal(true);\n } else {\n action(callFunctionArg);\n }\n };\n\n // after 1 prepaid numbers selection from existingp2pmodal\n const onSelectSubscriptionPreToPost = (value: any) => {\n setP2pModal(!p2pModal);\n combine\n ? combineWithSmartPhone(\n showPrice,\n storyContent,\n uniqueProductData,\n value,\n content,\n pegaIntegration\n )\n : createCartCall(value?.msisdn);\n };\n //show price calculation\n const showPrice = fetchPrice(\n uniqueProductData,\n isMobileFlow,\n mainContent?.pageType,\n false,\n tvOptions,\n pegaIntegration\n );\n\n //card height calculation and gift & cashback check on change of offer data\n //to calculate the height when the tvOptions is added and removed\n useEffect(() => {\n scheduleFindHeight(tabIndex, cardsLength);\n const result = checkGiftOrCashback(\n isMobileFlow\n ? uniqueProductData\n : (uniqueProductData?.[0]?.bundledOffers ?? uniqueProductData)\n );\n setShowGiftOrCashback({ ...result });\n }, [\n offeringData,\n toggleState,\n tvOptions,\n timerSpaceHeight,\n (toggleState?.TV || toggleState?.gigaSpeed || toggleState?.Netflix) &&\n Array.isArray(uniqueProductData) &&\n uniqueProductData?.[0]?.bundledOffers?.length === 3\n ]);\n\n //product details pop up\n const showDetailsModal = () => {\n setShowProductDetail(!showProductDetail);\n //Analytics Product Details tracking\n let offerData = uniqueProductData;\n trackNewDatalayerEvent(GAEVENT, DOWNLOADPRODUCT, getEcomCartInfo(offerData, '', LINETABLE));\n const prospectId = localStorage.getItem('prospectId');\n const url = window?.location?.pathname?.split('/') ?? [];\n const pathname = url[url.length - 1];\n const payload = {\n eventTimestamp: getUtcTimestamp(),\n eventType: 'PageView',\n pageType: 'ProductDetails',\n pageLocation: pathname,\n // deviceType: viewPortType, #TODO - fix this values, isn't working for tablet\n targetProduct: id\n };\n prospectId && trackPegaEvents(pegaEndpoint, payload, prospectId);\n };\n\n //TV service option\n const showModalPopup = () => {\n if (serviceOption?.length > 0 || enableTVStreamingOptionsPopUp) {\n setShowOptions(true);\n }\n };\n const updatedContent = mainContent?.productContainer?.[0];\n\n // set the combine to true for p2p\n const combineP2P = () => {\n setCombine(true);\n };\n\n // to trigger on click of combinewith smartphone\n useEffect(() => {\n if (combine) {\n if (enableP2P && AuthData == undefined) {\n setShowP2P(!showP2P);\n setModalClick(!popUPClick);\n } else if (enableP2P && AuthData?.siteId) {\n fetchPrepaidData();\n }\n }\n }, [combine]);\n\n useEffect(() => {\n if (context) {\n const { store } = context;\n if (store?.ottOptionsApi?.length > 0 && responseList?.length === 0) {\n setResponseList(store?.ottOptionsApi);\n }\n }\n }, [context]);\n\n useEffect(() => {\n if (!isCounterEnabled || !timerContent?.startTime || !timerContent?.endTime) {\n setTimerIsActive(false);\n return;\n }\n\n setTimerIsActive(isTimerActive(timerContent.startTime, timerContent.endTime));\n\n const delay = getTimeUntilNextTimerEvent(timerContent.startTime, timerContent.endTime);\n if (delay <= 0) return;\n\n const timeout = setTimeout(() => {\n setTimerIsActive(isTimerActive(timerContent.startTime, timerContent.endTime));\n }, delay);\n\n return () => clearTimeout(timeout);\n }, [isCounterEnabled, timerContent?.startTime, timerContent?.endTime]);\n\n useEffect(() => {\n const timerElement = timerContainerRef.current;\n if (!timerElement || !content?.timer?.length || !isCounterEnabled) {\n setTimerSpaceHeight(0);\n return;\n }\n\n const updateTimerSpaceHeight = () => {\n setTimerSpaceHeight(timerElement.clientHeight);\n };\n\n updateTimerSpaceHeight();\n\n if (typeof ResizeObserver === 'undefined') {\n return;\n }\n\n const resizeObserver = new ResizeObserver(updateTimerSpaceHeight);\n resizeObserver.observe(timerElement);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [content?.timer?.length, isCounterEnabled]);\n\n // to trigger on click tv option pop up closed\n useEffect(() => {\n if (tvOptionsPopUpChanged) {\n closeTVOptionsModal();\n setTvOptionsPopUpChanged(true);\n updateVasPopUp('false');\n sessionStorage.removeItem('vasPopUp');\n setAlreadyShowedTvOptionsPopUp(false);\n createCartCallAction();\n }\n }, [tvOptionsPopUpChanged]);\n\n //US 314008 - only show vas pop up for first time user clicked order now\n useEffect(() => {\n const checkVasPopUp = () => {\n const vasPopUp = sessionStorage.getItem('vasPopUp');\n\n setAlreadyShowedTvOptionsPopUp(vasPopUp === 'true');\n };\n\n checkVasPopUp();\n\n const handleStorageChange = (event: StorageEvent) => {\n if (event.storageArea === sessionStorage && event.key === 'vasPopUp') {\n checkVasPopUp();\n }\n // If vasPopUp is removed (deleted)\n if (\n event.storageArea === sessionStorage &&\n event.key === 'vasPopUp' &&\n event.newValue === null\n ) {\n setAlreadyShowedTvOptionsPopUp(false);\n }\n };\n\n const handleCustomEvent = () => {\n checkVasPopUp();\n };\n window.addEventListener('storage', handleStorageChange);\n window.addEventListener('vasPopUpChange', handleCustomEvent);\n \n return () => {\n window.removeEventListener('storage', handleStorageChange);\n window.removeEventListener('vasPopUpChange', handleCustomEvent);\n };\n \n }, []);\n\n const updateVasPopUp = (value: string) => {\n sessionStorage.setItem('vasPopUp', value);\n const event = new Event('vasPopUpChange');\n window.dispatchEvent(event);\n };\n\n return (\n <div>\n {showLoader &&\n portalPosition &&\n createPortal(\n <GlobalDotLoader content={dotLoaderData} isSuccess={successLoader} />,\n portalPosition\n )}\n {/* below code can be removed once the global loader is enabled in production. The below code is for testing purpose only. */}\n {/* createPortal(<Dotloader keyParams='loading' />, portalPosition)} */}\n {isSkeletonLoading && (\n <div className='w-75 pb-2'>\n <SkeletonLoader />\n </div>\n )}\n {!isSkeletonLoading && eligibleBundle && content && address && !isMobileFlow && (\n <div className={Styles.selected}>\n <span style={{ paddingBottom: '10px' }}>\n {!isAvailable ? (\n <span className={Styles.inactiveicon}>\n <img\n src={`${assetPath}/icons/cross_disabled.svg`}\n alt=''\n width={24}\n height={24}\n className={Styles.inactiveicon}\n />\n <span>{constants?.notSubscriptionTxt}</span>\n </span>\n ) : (\n <span className={Styles.activeicon}>\n <img\n src={`${assetPath}/icons/lineCheck-success.svg`}\n alt=''\n width={24}\n height={24}\n className={Styles.activeicon}\n />\n <span>{constants?.subscriptionAvalTxt}</span>\n </span>\n )}\n </span>\n </div>\n )}\n\n <div\n className={`${\n !isMobileFlow &&\n isAvailable === false &&\n mainContent?.linecheckData?.length > 0 &&\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug !== 'global/coverage-check'\n ? Styles.overlay\n : ''\n }\n ${deviceUltimateBundle && !uniqueProductData?.[0]?.eligibility?.fpb ? Styles.disabled : ''}\n `}\n style={{ flexDirection: 'column' }}\n >\n <div className={Styles.bundleproductcard}>\n <div\n id={`timer-section${tabIndex}${indexKey}`}\n data-timer-active={timerSpaceHeight > 0 ? 'true' : 'false'}\n >\n {content?.timer?.length && isCounterEnabled ? (\n <div style={{ height: `${timerSpaceHeight}px`, transition: 'height 0.3s ease' }} />\n ) : null}\n </div>\n <div\n className={`${Styles.productcontainer} ${\n reserveBadgeSpace || showBadges || showHighlightText || showPromoContainer\n ? Styles.productcontainerHasBadge\n : ''\n }`}\n style={getBorderStyles()}\n >\n {showBadges && BadgeContainer && <BadgeContainer badges={content.badgesContainer} />}\n {showHighlightText && (\n <div className={`${Styles.highlightText}`}>{content?.highlightText}</div>\n )}\n\n {showPromoContainer &&\n (promotionData?.badgeContainer && BadgeContainer ? (\n <BadgeContainer badges={promotionData?.badgeContainer} />\n ) : (\n <div\n className={`${Styles.promocontainer}`}\n style={{\n background: promotionData?.bestSellerColor\n }}\n >\n {promotionData?.displayText}\n </div>\n ))}\n <div ref={timerContainerRef} className={Styles.timerContainer}>\n {content?.timer?.length && isCounterEnabled ? (\n <StaticLineTabelTimer\n content={content?.timer?.[0]}\n hasHighlightText={showBadges || showPromoContainer}\n onTimerChange={(active) => {\n setTimerIsActive(active);\n }}\n />\n ) : null}\n </div>\n <div\n className={`${Styles.detailsection} ${Styles.imageFullWidthSection}`}\n id={`detailsectionv3${tabIndex}${indexKey}`}\n >\n <div className={`${Styles.headersection}`}>\n <div className={`${Styles.titlesection}`}>\n <div className={`${Styles.productheader}`} id={`titleV3${tabIndex}${indexKey}`}>\n {productData?.productName}\n </div>\n <div>\n {productData?.icon?.filename && (\n <img\n className={`${Styles.imagecontainer}`}\n src={productData?.icon?.filename}\n height={15}\n width={20}\n alt='productIcon'\n />\n )}\n </div>\n </div>\n <div\n className={`${Styles.productdescription}`}\n id={`descriptionV3${tabIndex}${indexKey}`}\n >\n <RichText content={productData?.description} />\n </div>\n {/* Image(map) */}\n <div className={`${Styles.images}`}>\n {productData?.img?.filename && (\n <img\n className={`${Styles.imagespace} ${\n content?.highlightText && Styles.borderimage\n }`}\n alt='cardimg'\n src={`${productData?.img?.filename}/m/`}\n />\n )}\n </div>\n </div>\n {/* product entitlement section */}\n <div\n className={`${Styles.productconfig}`}\n id={`product-configv3${tabIndex}${indexKey}`}\n >\n {isSkeletonLoading ? (\n <>\n <div className={Styles.space}></div>\n <SkeletonLoader stylename={Styles.skeletontittle} count={1} />\n <SkeletonLoader stylename={Styles.skeletonline} count={5} />\n <div className={Styles.space}></div>\n <SkeletonLoader stylename={Styles.skeletontittle} count={1} />\n <SkeletonLoader stylename={Styles.skeletonline} count={5} />\n </>\n ) : (\n <div>\n {productData?.bloks &&\n productData?.bloks?.map((entitle: any, index: number) => {\n return (\n <StaticProductEntitlement\n content={entitle}\n indexKey={index}\n constants={constants}\n key={index}\n showModalPopup={showModalPopup}\n setToggleState={setToggleState}\n toggleState={toggleState}\n noTabs={noTabs}\n mainContent={mainContent}\n enableTVStreamingOptions={content?.enableTVStreamingOptions}\n metadata={metadata}\n setTvOptionsData={setTvOptionsData}\n />\n );\n })}\n </div>\n )}\n </div>\n </div>\n {/* benefits section */}\n <div\n className={`${Styles.detailsection}`}\n id={`benefits-price-section${tabIndex}${indexKey}`}\n >\n <div id={`exclusive-benefits-section${tabIndex}${indexKey}`}>\n {productData?.extraBenefits?.length > 0 && (\n <StaticExclusiveBenefit content={productData?.extraBenefits?.[0]} />\n )}\n </div>\n <div\n className={`${Styles.benefitssection}`}\n id={`benefits-section${tabIndex}${indexKey}`}\n >\n {productData?.benefits?.length > 0 && (\n <StaticBenefit\n content={productData?.benefits}\n benefitData={showPrice}\n constants={constants}\n //US_31295\n pricesToggleState={pricesToggleState}\n togglePriceLabel={toggleContent?.togglePriceLabel}\n />\n )}\n </div>\n <br />\n\n {/* gift or cashback section */}\n <div className={`${Styles.giftsection}`} id={`gift-section${tabIndex}${indexKey}`}>\n {showGiftOrCashback?.showGift &&\n promotionData?.singleGift?.map((item: any, index: number) => {\n return <GiftConfigV2 content={item} key={index} />;\n })}\n {showGiftOrCashback?.showGift &&\n promotionData?.giftConfig?.map((item: any, index: number) => {\n return (\n <ChooseGiftV2\n content={item}\n key={index}\n selectedGiftItem={selectedGiftItem}\n parentPoType={isMobileFlow ? 'MOBILE' : 'HOME'}\n />\n );\n })}\n <div\n className={`${Styles.giftsection}`}\n id={`cashback-section${tabIndex}${indexKey}`}\n >\n <StaticProductCashback\n uniqueProductData={uniqueProductData}\n mainContent={mainContent}\n />\n </div>\n </div>\n {/* price section */}\n <div className={`${Styles.ordersection}`} id={`order-section${tabIndex}${indexKey}`}>\n {showPrice?.base === '' ? (\n <div>\n <SkeletonLoader stylename={Styles.skeletontittle} />\n </div>\n ) : (\n <div id={`price-section${tabIndex}${indexKey}`}>\n <DynamicPriceSection\n priceCollection={showPrice}\n constants={constants}\n promoText={productData?.promoText}\n deviceFlow={deviceFlow}\n content={content}\n offeringData={offeringData}\n uniqueId={uniqueId}\n />\n </div>\n )}\n\n {/* US_312953 */}\n {!isShogunFlow && (\n <div\n className={`${Styles.discountedpricetoggleSection}`}\n id={`discountedpricetoggle-section${tabIndex}${indexKey}`}\n >\n {!disableDiscountedPriceToggle && toggleContent?.togglePosition === 'INLINE' ? (\n <UserLoggedPricesToggle\n content={productData}\n index={indexKey}\n lineTable={true}\n toggleContent={toggleContent}\n />\n ) : null}\n </div>\n )}\n {/*END US_312953 */}\n\n {/* Longterm text */}\n {enableP2P && constants?.P2PDiscountLabel && (\n <div className={Styles.longterm}>{constants?.P2PDiscountLabel}</div>\n )}\n {/* proceed to checkout section */}\n {isSkeletonLoading ? (\n <>\n <SkeletonLoader stylename={Styles.skeletontittle} count={1} />\n <SkeletonLoader stylename={Styles.skeletonline} count={2} />\n </>\n ) : (\n <div className={`${storyContent?.swapButton && Styles.swapButton}`}>\n <div style={{ padding: '16px 0 0 0' }}>\n <CheckoutButton\n isMobileFlow={isMobileFlow}\n createCartCall={\n deviceFlow?.isDeviceFlow\n ? withReplaceCartCheck(deviceFirstFlowCreateCartCallback)\n : isMobileFlow\n ? withReplaceCartCheck(createCart)\n : withReplaceCartCheck(createCartCall)\n }\n constants={constants}\n storyContent={storyContent}\n showPrice={showPrice}\n isAvailable={isAvailable}\n address={address}\n uniqueProductBenefits={uniqueProductData?.[0]}\n alwaysActive={\n !isAvailable &&\n mainContent?.linecheckData?.length > 0 &&\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug ===\n 'global/coverage-check'\n }\n flexUpgradeFreePopup={mainContent?.flexUpgradeFreePopup?.reference?.content}\n content={content}\n deviceUltimateBundle={deviceUltimateBundle}\n forceDisabled={Boolean(uniqueProductData?.[0]?.rewards?.notEligibleReason)}\n notEligibileReason={uniqueProductData?.[0]?.rewards?.notEligibleReason}\n />\n </div>\n {/* combined with smartphone section */}\n {!isShogunFlow &&\n storyContent?.addSmartPhone?.length > 0 &&\n !deviceFlow?.isDeviceFlow && (\n <div style={{ textAlign: 'center' }}>\n {storyContent?.swapButton\n ? storyContent?.ctaLabel && (\n <div style={{ padding: '16px 0' }}>\n <button\n className={`primarybutton`}\n onClick={() =>\n withReplaceCartCheck(\n () =>\n combineWithSmartPhone(\n showPrice,\n storyContent,\n uniqueProductData,\n '',\n content,\n pegaIntegration\n ),\n mainContent?.replacePopupWithSmartphone?.[0]\n )()\n }\n >\n <span className={Styles.buttontext}>\n {storyContent?.ctaLabel}\n </span>\n </button>\n </div>\n )\n : !content?.redirectOnly && (\n <div style={{ padding: '12px 0 0 0' }}>\n <FalconButtonV2\n content={{\n buttonType: 'Secondary-V1',\n buttonLabel: content?.ultimateBundlePromotion\n ? constants?.ultimateBundleLbl\n : storyContent?.addSmartPhone?.[0]?.buttonLabel,\n buttonIcon: storyContent?.addSmartPhone?.[0]?.buttonIcon,\n buttonAlignment: 'left'\n }}\n wafIdentifier={basicConfigUrl}\n style={{ width: '100%' }}\n onClick={() =>\n withReplaceCartCheck(\n () =>\n enableP2P\n ? combineP2P()\n : combineWithSmartPhone(\n showPrice,\n storyContent,\n uniqueProductData,\n '',\n content,\n pegaIntegration\n ),\n mainContent?.replacePopupWithSmartphone?.[0]\n )()\n }\n />\n </div>\n )}\n </div>\n )}\n <div\n className={Styles.productcontractduration}\n id={`contract-section${tabIndex}${indexKey}`}\n style={{\n paddingTop:\n storyContent?.addSmartPhone?.length > 0 &&\n !deviceFlow?.isDeviceFlow &&\n !storyContent?.swapButton &&\n !content?.redirectOnly\n ? '8px'\n : undefined\n }}\n >\n {showPrice?.contractDuration > '1'\n ? replacePlaceholder(constants?.minContractDuration?.substring(1), [\n showPrice?.contractDuration\n ])\n : constants?.noContractDuration}\n </div>\n </div>\n )}\n {/* product details section */}\n <div style={{ textAlign: 'center', padding: '4px' }}>\n {productData?.productDetails?.length > 0 && (\n <span className={Styles.productdetailslink} onClick={showDetailsModal}>\n {constants?.productDetailsLink}\n </span>\n )}\n </div>\n {showProductDetail && (\n <StaticProductDetails\n content={productData?.productDetails}\n showProductDetail={showProductDetail}\n setShowProductDetail={setShowProductDetail}\n constants={constants}\n showPrice={showPrice}\n isMobileFlow={isMobileFlow}\n createCartCall={isMobileFlow ? createCart : createCartCall}\n storyContent={storyContent}\n isAvailable={isAvailable}\n address={address}\n flexUpgradeFreePopup={mainContent?.flexUpgradeFreePopup?.reference?.content}\n notEligibileReason={uniqueProductData?.[0]?.rewards?.notEligibleReason}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {deviceUltimateBundle && uniqueProductData && !uniqueProductData?.[0]?.eligibility?.fpb && (\n <div className={Styles.disabledInfo}>\n <RichText content={constants?.fpbNotCompatibleText} />\n </div>\n )}\n\n {showOptions &&\n (isSkeletonLoading ? (\n <SkeletonLoader />\n ) : (\n <TVChannelModal\n content={serviceOption?.[0]}\n setShowModal={setShowOptions}\n showModal={showOptions}\n constants={constants}\n />\n ))}\n\n {/* login pop up existing customer benefit without login on click of proceed to checkout */}\n {showLogin &&\n mainContent?.loginData?.length > 0 &&\n portalPosition &&\n createPortal(\n <LoginModalV2\n content={mainContent?.loginData?.[0]}\n closeLogin={() => {\n setShowLogin(false);\n }}\n metadata={metadata}\n onSuccess={onLoginSuccess}\n isProdEnv={isProdEnv}\n />,\n portalPosition\n )}\n\n {/* P2P flow first screen to select login */}\n {showP2P && enableP2P && !showLogin && popUPClick && (\n <GenericModal\n modalState={modalClick}\n handler={handleClick}\n showFooter={false}\n width={'628px'}\n height='280px'\n backgroundColor='#f7f6f5'\n noCloseButton={false}\n backDrop={true}\n bodyPadding='16px'\n >\n <PreToPostSubsPopup\n onClose={handleP2PClick}\n content={mainContent?.productContainer?.[0]?.p2pBloks?.[0]}\n prepaid={false}\n />\n </GenericModal>\n )}\n\n {/* P2P flow error screen if the customer is not prepaid customer */}\n {enableP2P && afterLogin && subscriptionFailure && popUPClick && (\n <GenericModal\n modalState={modalClick}\n handler={handleClick}\n showFooter={false}\n width={'628px'}\n height='280px'\n backgroundColor='#f7f6f5'\n noCloseButton={false}\n backDrop={true}\n bodyPadding='16px'\n id='table-product'\n >\n <PreToPostSubsPopup\n onClose={handleP2PClick}\n content={mainContent?.productContainer?.[0]?.p2pBloks?.[1]}\n prepaid={true}\n />\n </GenericModal>\n )}\n\n {/* p2p flow after successfully logged in prepaid customer to select a number for P2P*/}\n {userSubscriptionData?.length > 1 &&\n enableP2P &&\n afterLogin &&\n !subscriptionFailure &&\n p2pModal && (\n <GenericModal\n modalState={p2pModal}\n handler={handlePrepaidClick}\n showFooter={false}\n width={'628px'}\n height='280px'\n backgroundColor='#f7f6f5'\n noCloseButton={false}\n backDrop={true}\n bodyPadding='16px'\n >\n <ExsistingSubscriptionModal\n onSubmit={onSelectSubscriptionPreToPost}\n exsistingSubscriptionData={userSubscriptionData}\n updatedContent={updatedContent}\n />\n </GenericModal>\n )}\n\n {/* lincheck modal */}\n {showLinecheck &&\n mainContent?.enableLinecheckOverlay &&\n !isMobileFlow &&\n mainContent?.linecheckData?.length > 0 &&\n !enableP2P &&\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug ===\n 'global/new-linecheck-test' ? (\n <LinecheckModal\n content={mainContent?.linecheckData?.[0]}\n onSuccess={linecheckSuccessAndCart}\n showModal={showLinecheck}\n setShowModal={setShowLinecheck}\n productName={productData?.productName}\n productId={productData?.productId}\n />\n ) : showLinecheck &&\n mainContent?.enableLinecheckOverlay &&\n !isMobileFlow &&\n mainContent?.linecheckData?.length > 0 &&\n !enableP2P &&\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug ===\n 'global/coverage-check' ? (\n <CoverageCheckModal\n content={mainContent?.linecheckData?.[0].reference.content.body[0]}\n overlayIsOpen={true}\n externalHandleModal={setShowLinecheck}\n productName={productData?.productName}\n showModal={showLinecheck}\n setShowModal={setShowLinecheck}\n onSuccess={linecheckSuccess}\n onCreateCart={linecheckSuccessAndCart}\n lineCheckOnClear={lineCheckOnClear}\n productId={productData?.productId}\n />\n ) : null}\n {/* benefit validate */}\n {showBenefit && isMobileFlow && storyContent?.benefitsValidate?.length > 0 && (\n <BenefitsValidateWrapper\n content={storyContent?.benefitsValidate?.[0]}\n loginContent={mainContent?.loginData?.[0]}\n metadata={metadata}\n createCartCall={createCartCall}\n fetchOfferData={fetchOfferData}\n basicConfigUrl={basicConfigUrl}\n selectedExistingOption={selectedExistingOption}\n setShowBenefit={setShowBenefit}\n setLoginSuccess={setLoginSuccess}\n isProdEnv={isProdEnv}\n />\n )}\n\n {/* Display tv options on pop up after clicking order now button*/}\n {displayTvOptionsPopUp && (\n <GenericModal\n modalState={displayTvOptionsPopUp}\n handler={closeTVOptionsModal}\n showFooter={false}\n width={viewPortType === 'mobile' ? '' : viewPortType === 'tablet' ? '700px' : '990px'}\n fixedWidth={\n viewPortType === 'mobile' ? '' : viewPortType === 'tablet' ? '700px' : '990px'\n }\n height='845px'\n backgroundColor='#f7f6f5'\n noCloseButton={false}\n backDrop={true}\n bodyPadding='24px'\n >\n <OttServiceOptionsSmallPopup\n content={mainContent?.optionsPopup?.[0]}\n addOptionsCallBack={(val: any) => {\n setTvOptionsPopUpAddToCart(true);\n setTvOptionsPopUpChanged(true);\n setTvOptionsData(val);\n }}\n metadata={metadata}\n constants={constants}\n mainContent={mainContent}\n preSelectedOptions={[]}\n optionsResponse={responseList}\n updateResponseList={setResponseList}\n showPrice={showPrice}\n productData={productData}\n offeringData={offeringData}\n uniqueId={uniqueId}\n deviceFlow={deviceFlow}\n />\n </GenericModal>\n )}\n\n {/* Replace persistent cart confirmation modal */}\n {showReplaceCartModal && replacePopupContent && (\n <GenericPopup\n modalState={showReplaceCartModal}\n onCloseHandler={() => {\n pendingCartActionRef.current = null;\n setShowReplaceCartModal(false);\n }}\n content={replacePopupContent}\n wafIdentifier={basicConfigUrl}\n onPrimaryClick={() => {\n const pendingAction = pendingCartActionRef.current;\n pendingCartActionRef.current = null;\n if (shouldDeleteCartCookieRef.current) {\n Cookies.remove('one-commerce-cartId');\n }\n shouldDeleteCartCookieRef.current = false;\n setShowReplaceCartModal(false);\n pendingAction?.();\n }}\n onSecondaryClick={() => {\n pendingCartActionRef.current = null;\n setShowReplaceCartModal(false);\n }}\n />\n )}\n </div>\n );\n};\n\nexport default StaticProduct;\n"],"names":["StaticProduct","content","offeringData","uniqueId","storyContent","metadata","tabIndex","cardsLength","indexKey","constants","mainContent","address","eligibleBundle","linecheckSuccessCallBack","selectedOption","fetchOfferData","basicConfigUrl","selectedExistingOption","setLoginSuccess","enableP2P","lineCheckCallBack","loginSuccess","setToggleState","toggleState","noTabs","deviceFlow","deviceFlowCallBack","selectedRP","continueCart","lineCheckOnClear","pegaIntegration","isProdEnv","deviceUltimateBundle","toggleContent","pricesToggleState","isShogunFlow","shogunToken","reserveBadgeSpace","BadgeContainer","useProductCardBadge","showLoader","setShowLoader","useState","showProductDetail","setShowProductDetail","showGiftOrCashback","setShowGiftOrCashback","showGift","cashbackAvailable","modalClick","updateModalClick","combine","setCombine","giftItem","setGiftItem","showLogin","setShowLogin","showOptions","setShowOptions","showLinecheck","setShowLinecheck","showP2P","setShowP2P","showBenefit","setShowBenefit","subscriptionFailure","setSubscriptionFailure","endpoint","validateEndpoint","userSubscriptionData","setUserSubscriptionData","afterLogin","setAfterLogin","popUPClick","setModalClick","p2pModal","setP2pModal","tvOptions","setTvOptions","displayTvOptionsPopUp","setDisplayTvOptionsPopUp","alreadyShowedTvOptionsPopUp","setAlreadyShowedTvOptionsPopUp","tvOptionsPopUpChanged","setTvOptionsPopUpChanged","tvOptionsPopUpAddToCart","setTvOptionsPopUpAddToCart","responseList","setResponseList","timerSpaceHeight","setTimerSpaceHeight","showReplaceCartModal","setShowReplaceCartModal","pendingCartActionRef","useRef","replacePopupContent","setReplacePopupContent","shouldDeleteCartCookieRef","timerContainerRef","successLoader","setSuccessLoader","pegaEndpoint","API_BASE_BASEPOINT","CUSTOMER","dotLoaderData","_e","_d","_c","_b","_a","globalDotLoader","reference","body","_k","_j","_h","_g","_f","_l","portalPosition","undefined","window","document","getElementById","isSkeletonLoading","_m","Object","keys","length","productData","_s","_r","_q","_p","_o","products","product","promotionData","_x","_w","_v","_u","_t","promotion","promoDescription","timerContent","_y","timer","isCounterEnabled","enableCounter","timerIsActive","setTimerIsActive","startTime","endTime","isTimerActive","showHighlightText","Boolean","highlightText","badgesContainer","showPromoContainer","displayText","notShowPromotionLabel","showBadges","id","productId","cartEndPoint","_z","LineTableBasicPropConfig","getInstance","getCartUrl","assetPath","_0","AssetPathPropConfig","getAssetPath","isMobileFlow","pageType","viewPortType","viewport","context","useContext","AppContext","isAvailable","_1","includes","enableTVStreamingOptionsPopUp","enableTVStreamingOptionsStepper","disableDiscountedPriceToggle","skipAccessoriesPage","LoginBasicPropConfig","create","baseURL","AuthData","Cookies","get","JSON","parse","uniqueProductData","filter","setTvOptionsData","options","handleP2PClick","createCart","siteId","fetchPrepaidData","EXISTINGCUSTOMER","enableExistingCustomer","enableLoggedInPrice","createCartCall","prospectId","localStorage","getItem","url","location","pathname","split","payload","eventTimestamp","getUtcTimestamp","eventType","pageLocation","targetProduct","trackPegaEvents","selectedGiftItem","item","itemValue","findIndex","gift","giftGroupId","temp","push","params","URLSearchParams","_2","search","queryParams","validateNumberFcn","value","combineWithSmartPhone","showPrice","msisdn","validateFcn","validPrepaidNumbers","__awaiter","validateP2P","then","res","catch","e","console","log","fetchSubscriptionData","resp","subscriptionData","responseData","queryData","find","entry","Promise","all","map","data","succ","error","err","handleClick","closeTVOptionsModal","event","trackNewDatalayerEvent","GAEVENT","CTABUTTONCLICK","headline","linecheckSuccessAndCart","bundle","serviceOption","fetchServiceOptions","bloks","radioValue","_3","tvProductId","createCartCallAction","discountRef","promotionInfo","discountVersion","version","rewardsInfo","pointsBurnt","rewards","points","rewardOfferId","offerId","gloxTokenId","fromPopup","updateVasPopUp","sessionStorage","removeItem","successLoaderData","duration","successMsgDuration","successLoaderCallback","staticCreateCart","AuthDataNew","setLoginCookie","ONE_ECOMMERCE_INTERNET_SUMMARY","linecheckData","loginData","isBundle","recommendAccessory","bundledOffers","productType","toLowerCase","combineWithVasOptions","productName","addEventListener","withReplaceCartCheck","action","popupContent","callFunctionArg","existingCartId","enableReplacePopup","current","generalReplacePopup","fetchPrice","useEffect","scheduleFindHeight","result","checkGiftOrCashback","assign","TV","gigaSpeed","Netflix","Array","isArray","_5","_4","showModalPopup","updatedContent","_6","productContainer","store","ottOptionsApi","delay","getTimeUntilNextTimerEvent","timeout","setTimeout","clearTimeout","timerElement","updateTimerSpaceHeight","clientHeight","ResizeObserver","resizeObserver","observe","disconnect","_7","checkVasPopUp","vasPopUp","handleStorageChange","storageArea","key","newValue","handleCustomEvent","removeEventListener","setItem","Event","dispatchEvent","React","createElement","createPortal","GlobalDotLoader","isSuccess","className","SkeletonLoader","Styles","selected","style","paddingBottom","activeicon","src","alt","width","height","subscriptionAvalTxt","inactiveicon","notSubscriptionTxt","_8","_10","_9","_11","default_full_slug","overlay","_13","_12","eligibility","fpb","disabled","flexDirection","bundleproductcard","_14","transition","productcontainer","productcontainerHasBadge","borderConfig","showBorder","borderGradient","borderColor","borderWidth","borderStyle","borderRadius","background","getBorderStyles","badges","badgeContainer","promocontainer","bestSellerColor","ref","timerContainer","_15","StaticLineTabelTimer","_16","hasHighlightText","onTimerChange","active","detailsection","imageFullWidthSection","headersection","titlesection","productheader","icon","_17","filename","imagecontainer","_18","productdescription","RichText","description","images","_19","img","imagespace","borderimage","_20","productconfig","Fragment","space","stylename","skeletontittle","count","skeletonline","_21","entitle","index","StaticProductEntitlement","enableTVStreamingOptions","_22","extraBenefits","StaticExclusiveBenefit","_23","benefitssection","_24","benefits","StaticBenefit","benefitData","togglePriceLabel","giftsection","_25","singleGift","GiftConfigV2","_26","giftConfig","ChooseGiftV2","parentPoType","StaticProductCashback","ordersection","base","DynamicPriceSection","priceCollection","promoText","discountedpricetoggleSection","togglePosition","UserLoggedPricesToggle","lineTable","P2PDiscountLabel","longterm","swapButton","padding","CheckoutButton","isDeviceFlow","msisdnn","uniqueProductBenefits","alwaysActive","_27","_29","_28","flexUpgradeFreePopup","_32","_31","forceDisabled","_34","_33","notEligibleReason","notEligibileReason","_36","_35","_37","addSmartPhone","textAlign","ctaLabel","onClick","replacePopupWithSmartphone","buttontext","redirectOnly","FalconButtonV2","buttonType","buttonLabel","ultimateBundlePromotion","ultimateBundleLbl","_39","_38","buttonIcon","_41","_40","buttonAlignment","wafIdentifier","productcontractduration","paddingTop","_42","contractDuration","replacePlaceholder","_43","minContractDuration","substring","noContractDuration","productDetails","_44","productdetailslink","DOWNLOADPRODUCT","getEcomCartInfo","LINETABLE","productDetailsLink","StaticProductDetails","_46","_45","_48","_47","_50","_49","disabledInfo","fpbNotCompatibleText","TVChannelModal","setShowModal","showModal","_51","LoginModalV2","_52","closeLogin","onSuccess","GenericModal","modalState","handler","showFooter","backgroundColor","noCloseButton","backDrop","bodyPadding","PreToPostSubsPopup","onClose","_55","_54","_53","p2pBloks","prepaid","_58","_57","_56","ExsistingSubscriptionModal","onSubmit","exsistingSubscriptionData","enableLinecheckOverlay","_59","_61","_60","LinecheckModal","_63","_64","_66","_65","CoverageCheckModal","_68","overlayIsOpen","externalHandleModal","onCreateCart","_69","benefitsValidate","BenefitsValidateWrapper","_70","loginContent","_71","fixedWidth","OttServiceOptionsSmallPopup","optionsPopup","_72","addOptionsCallBack","val","preSelectedOptions","optionsResponse","updateResponseList","GenericPopup","onCloseHandler","onPrimaryClick","pendingAction","remove","onSecondaryClick"],"mappings":"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"}
1
+ {"version":3,"file":"StaticProduct.js","sources":["../../../../src/components/StaticLineTable/StaticProduct.tsx"],"sourcesContent":["import React, { FC, useContext, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport SkeletonLoader from '../SkeletonLoader/SkeletonLoader';\nimport Styles from './StaticLineTable.module.scss';\nimport RichText from '../richtext';\nimport StaticProductEntitlement from './StaticProductEntitlement';\nimport StaticBenefit from './StaticBenefit';\nimport DynamicPriceSection from './DynamicPriceSection';\nimport CheckoutButton from './CheckoutButton';\nimport StaticProductDetails from './StaticProductDetails';\nimport { StaticProductSchema } from './StaticProductDatatypes';\nimport {\n AssetPathPropConfig,\n LineTableBasicPropConfig\n} from '../../services/LineTableBasicPropConfig';\nimport Cookies from 'js-cookie';\nimport { LoginBasicPropConfig } from '../../services/LoginBasicPropConfig';\nimport LoginModalV2 from '../login/LoginModalV2';\nimport {\n checkGiftOrCashback,\n combineWithSmartPhone,\n combineWithVasOptions,\n fetchPrice,\n fetchServiceOptions,\n scheduleFindHeight,\n isTimerActive,\n getTimeUntilNextTimerEvent,\n staticCreateCart\n} from './Product.utils';\nimport GiftConfigV2 from '../ProductDetailsV3/GiftConfigV2';\nimport ChooseGiftV2 from '../ProductDetailsV3/ChooseGiftV2';\nimport { replacePlaceholder, viewport, getUtcTimestamp } from '../../utils/utils';\nimport StaticProductCashback from './StaticProductCashback';\nimport { trackNewDatalayerEvent } from '../../utils/AnalyticsUtils';\nimport {\n CTABUTTONCLICK,\n DOWNLOADPRODUCT,\n EXISTINGCUSTOMER,\n GAEVENT,\n LINETABLE\n} from '../../Analytics/AnalyticsConstants';\nimport TVChannelModal from './TVChannelModal';\nimport LinecheckModal from '../LineCheckV3/LinecheckModal';\nimport BenefitsValidateWrapper from '../BenefitWrapper/BenefitsValidateWrapper';\nimport PreToPostSubsPopup from '../PretoPost/PreToPostSubsPopup';\nimport GenericModal from '../LineCheckV3/GenericModal';\nimport {\n fetchSubscriptionData,\n trackPegaEvents,\n validateP2P\n} from '../../services/LineTableService';\nimport ExsistingSubscriptionModal from './ExsistingSubscriptionModal';\nimport { getEcomCartInfo } from '../../models/Analytics/items';\nimport CoverageCheckModal from '../NewLineCheck/CoverageCheckModal';\n\nimport { API_BASE_BASEPOINT } from '../../services/api-constants';\nimport { AppContext } from './StaticLineTableStore/StaticLineTableProvider';\nimport OttServiceOptionsSmallPopup from './OttServiceOptions/OttServiceOptionsSmallPopup';\nimport StaticExclusiveBenefit from './StaticExclusiveBenefit';\n// US_312953\nimport UserLoggedPricesToggle from '../UserLoggedPricesToggle/UserLoggedPricesToggle';\nimport FalconButtonV2 from '../FalconButtonV2/FalconButtonV2';\nimport { ONE_ECOMMERCE_INTERNET_SUMMARY } from '../../utils/constants';\nimport StaticLineTabelTimer from './StaticLineTabelTimer/StaticLineTabelTimer';\nimport { useProductCardBadge } from './ProductCardBadgeProvider';\nimport GenericPopup from '../GenericPopup/GenericPopup';\nimport GlobalDotLoader from '../GlobalDotLoader/GlobalDotLoader';\n\nconst StaticProduct: FC<StaticProductSchema> = ({\n content,\n offeringData,\n uniqueId,\n storyContent,\n metadata,\n tabIndex,\n cardsLength,\n indexKey,\n constants,\n mainContent,\n address,\n eligibleBundle,\n linecheckSuccessCallBack,\n selectedOption,\n fetchOfferData,\n basicConfigUrl,\n selectedExistingOption,\n setLoginSuccess,\n enableP2P,\n lineCheckCallBack,\n loginSuccess,\n setToggleState,\n toggleState,\n noTabs,\n deviceFlow,\n deviceFlowCallBack,\n selectedRP,\n continueCart,\n lineCheckOnClear,\n pegaIntegration,\n isProdEnv,\n deviceUltimateBundle,\n //US_31295\n toggleContent,\n pricesToggleState,\n isShogunFlow,\n shogunToken,\n reserveBadgeSpace\n}) => {\n const BadgeContainer = useProductCardBadge();\n const [showLoader, setShowLoader] = useState<boolean>(false);\n const [showProductDetail, setShowProductDetail] = useState(false);\n const [showGiftOrCashback, setShowGiftOrCashback] = useState({\n showGift: false,\n cashbackAvailable: false\n });\n const [modalClick, updateModalClick] = useState(true);\n const [combine, setCombine] = useState(false);\n const [giftItem, setGiftItem] = useState<any>([]);\n const [showLogin, setShowLogin] = useState<boolean>(false);\n const [showOptions, setShowOptions] = useState<boolean>(false);\n const [showLinecheck, setShowLinecheck] = useState<boolean>(false);\n const [showP2P, setShowP2P] = useState<boolean>(false);\n const [showBenefit, setShowBenefit] = useState<boolean>(false);\n const [subscriptionFailure, setSubscriptionFailure] = useState(false);\n const endpoint = `${basicConfigUrl}inf/customer-management/subscriptions`;\n const validateEndpoint = `${basicConfigUrl}inf/resource-management/msisdns/pretopost/validation`;\n const [userSubscriptionData, setUserSubscriptionData] = useState<any>([]);\n const [afterLogin, setAfterLogin] = useState<boolean>(false);\n const [popUPClick, setModalClick] = useState<boolean>(false);\n const [p2pModal, setP2pModal] = useState<boolean>(false);\n const [tvOptions, setTvOptions] = useState<any[] | undefined>([]);\n const [displayTvOptionsPopUp, setDisplayTvOptionsPopUp] = useState<boolean>(false);\n const [alreadyShowedTvOptionsPopUp, setAlreadyShowedTvOptionsPopUp] = useState<boolean>(false);\n const [tvOptionsPopUpChanged, setTvOptionsPopUpChanged] = useState<boolean>(false);\n const [tvOptionsPopUpAddToCart, setTvOptionsPopUpAddToCart] = useState<boolean>(false);\n const [responseList, setResponseList] = useState([]);\n const [timerSpaceHeight, setTimerSpaceHeight] = useState(0);\n const [showReplaceCartModal, setShowReplaceCartModal] = useState<boolean>(false);\n const pendingCartActionRef = useRef<(() => void) | null>(null);\n const [replacePopupContent, setReplacePopupContent] = useState<any>(null);\n const shouldDeleteCartCookieRef = useRef<boolean>(false);\n const timerContainerRef = useRef<HTMLDivElement | null>(null);\n const [successLoader, setSuccessLoader] = useState<boolean>(false);\n const pegaEndpoint = `${basicConfigUrl}inf/${API_BASE_BASEPOINT.CUSTOMER}`;\n const dotLoaderData = mainContent?.globalDotLoader?.[0]?.reference?.content?.body?.[0]\n ? mainContent?.globalDotLoader?.[0]?.reference?.content?.body?.[0]\n : mainContent?.globalDotLoader?.[0];\n const successLoaderData = {\n duration: dotLoaderData?.successMsgDuration ?? '0',\n successLoaderCallback: setSuccessLoader\n };\n /*the portal position for the the dotloader*/\n const portalPosition: any =\n typeof window !== undefined && document.getElementById('static-linetable');\n const isSkeletonLoading = Object.keys(content)?.length === 0;\n const productData = content?.products?.[0]?.reference?.content?.product?.[0];\n const promotionData = content?.promotion?.[0]?.reference?.content?.promoDescription?.[0];\n const timerContent = content?.timer?.[0];\n const isCounterEnabled = timerContent?.enableCounter;\n const [timerIsActive, setTimerIsActive] = useState(\n isCounterEnabled && timerContent?.startTime && timerContent?.endTime\n ? isTimerActive(timerContent.startTime, timerContent.endTime)\n : false\n );\n const showHighlightText = Boolean(\n content?.highlightText &&\n pricesToggleState !== true &&\n !timerIsActive &&\n !(BadgeContainer && content?.badgesContainer)\n );\n const showPromoContainer = Boolean(\n promotionData?.displayText &&\n !content?.notShowPromotionLabel &&\n pricesToggleState !== true &&\n !timerIsActive\n );\n\n const showBadges = Boolean(\n BadgeContainer &&\n content?.badgesContainer &&\n pricesToggleState !== true &&\n !timerIsActive &&\n !showPromoContainer\n );\n\n const id = productData?.productId;\n const cartEndPoint = LineTableBasicPropConfig?.getInstance()?.getCartUrl();\n const assetPath = AssetPathPropConfig?.getInstance()?.getAssetPath();\n const isMobileFlow = storyContent?.pageType === 'MOBILE';\n const viewPortType = viewport();\n const context = useContext(AppContext);\n let isAvailable: boolean | undefined = undefined;\n isAvailable = address && eligibleBundle?.eligibleBundle?.includes(id);\n const enableTVStreamingOptionsPopUp = content?.enableTVStreamingOptionsPopUp;\n const enableTVStreamingOptionsStepper = content?.enableTVStreamingOptionsStepper;\n const disableDiscountedPriceToggle = content?.disableDiscountedPriceToggle;\n const skipAccessoriesPage = content?.skipAccessoriesPage;\n\n LoginBasicPropConfig.create({ baseURL: basicConfigUrl ?? '' });\n\n //sunrise auth data\n let AuthData: any = typeof window !== undefined && Cookies.get('sunriseAuth');\n AuthData = AuthData && JSON.parse(AuthData);\n //offer data wrt to tab\n const uniqueProductData: any = (offeringData?.[uniqueId] || []).filter(\n (product: any) => product?.id === id\n );\n\n const setTvOptionsData = (options: any) => {\n setTvOptions(options);\n };\n\n const handleP2PClick = () => {\n setShowLogin(true);\n setShowP2P(!showP2P);\n setModalClick(!popUPClick);\n };\n\n //creacart function or login pop up\n const createCart = () => {\n setShowProductDetail(false);\n if (enableP2P && AuthData == undefined) {\n setShowP2P(!showP2P);\n setModalClick(!popUPClick);\n } else if (enableP2P && AuthData?.siteId) {\n fetchPrepaidData();\n } else if (selectedOption === EXISTINGCUSTOMER && selectedExistingOption?.length > 0) {\n setShowBenefit(true);\n } else {\n //US_31295\n const setLoginCookie =\n (mainContent?.enableExistingCustomer && AuthData == undefined) ||\n (!AuthData && pricesToggleState === true && toggleContent?.enableLoggedInPrice)\n ? true\n : false;\n setLoginCookie ? setShowLogin(true) : createCartCall();\n }\n if (pegaIntegration) {\n const prospectId = localStorage.getItem('prospectId');\n const url = window?.location?.pathname?.split('/') ?? [];\n const pathname = url[url.length - 1];\n const payload = {\n eventTimestamp: getUtcTimestamp(),\n eventType: 'PageView',\n pageType: 'CartCreated',\n pageLocation: pathname,\n // deviceType: viewPortType,#TODO - fix this values, isn't working for tablet\n targetProduct: id\n };\n prospectId && trackPegaEvents(pegaEndpoint, payload, prospectId);\n }\n };\n\n //setting the selected gift from choose gift section\n const selectedGiftItem = (item: any) => {\n const itemValue = giftItem.findIndex((gift: any) => item?.giftGroupId === gift?.giftGroupId);\n const temp = giftItem;\n if (itemValue === -1) temp.push(item);\n else temp[itemValue] = item;\n setGiftItem([...temp]);\n };\n\n // Helper method to get border styles\n const getBorderStyles = () => {\n const borderConfig = showPromoContainer ? promotionData : content;\n const showBorder = borderConfig?.showBorder;\n const borderGradient = borderConfig?.borderGradient;\n const borderColor = borderConfig?.borderColor;\n\n return {\n borderColor: showBorder && !borderGradient ? borderColor || '' : 'transparent',\n borderWidth: showBorder ? '4px' : '0px',\n borderStyle: showBorder ? 'solid' : 'none',\n borderRadius: showBorder ? '8px' : '',\n background: showBorder && borderGradient\n ? `linear-gradient(white, white) padding-box, ${borderGradient} border-box`\n : undefined,\n };\n };\n\n //queryParam for MySunrise P2P flow\n const params = new URLSearchParams(window?.location?.search);\n const queryParams = params?.get('selectedMsisdn');\n const validateNumberFcn = (value: any) => {\n // once all the prepaid numbers are validated\n if (value?.length === 1) {\n combine\n ? combineWithSmartPhone(\n showPrice,\n storyContent,\n uniqueProductData,\n value?.[0],\n content,\n pegaIntegration\n )\n : createCartCall(value?.[0]?.msisdn);\n setSubscriptionFailure(false);\n } else if (value?.length > 1) {\n setUserSubscriptionData(value);\n setP2pModal(!p2pModal);\n setSubscriptionFailure(false);\n } else {\n setModalClick(!popUPClick);\n setSubscriptionFailure(true);\n updateModalClick(true);\n setShowLoader(false);\n }\n };\n const validateFcn = async (value: any, validPrepaidNumbers: any) => {\n await validateP2P(value?.msisdn, validateEndpoint)\n .then((res) => {\n if (res) {\n validPrepaidNumbers.push(value);\n }\n })\n .catch((e: any) => {\n // eslint-disable-next-line no-console\n console.log('error', e);\n });\n };\n //prepaid subscription api and validating those for conversion\n const fetchPrepaidData = () => {\n setShowLoader(true);\n try {\n fetchSubscriptionData('PREPAID', endpoint)\n ?.then(async (resp: any) => {\n if (resp?.subscriptionData == 204) {\n setModalClick(!popUPClick);\n setSubscriptionFailure(true);\n updateModalClick(true);\n setShowLoader(false);\n } else {\n const responseData = resp?.subscriptionData;\n const queryData = responseData.find((entry: any) => entry.msisdn === queryParams);\n if (responseData) {\n const validPrepaidNumbers: any = [];\n if (queryParams) {\n await validateFcn(queryData, validPrepaidNumbers);\n validateNumberFcn(validPrepaidNumbers);\n } else {\n await Promise.all(\n responseData?.map(async (data: any) => {\n await validateFcn(data, validPrepaidNumbers);\n })\n ).then((succ) => {\n validateNumberFcn(validPrepaidNumbers);\n });\n }\n }\n }\n })\n .catch((error: any) => {\n // eslint-disable-next-line no-console\n console.log('error--->', error);\n setShowLoader(false);\n });\n } catch (err: any) {\n // eslint-disable-next-line no-console\n console.log('error--->', err);\n setShowLoader(false);\n }\n setAfterLogin(true);\n };\n\n // on login success\n const onLoginSuccess = () => {\n setShowLogin(false);\n setLoginSuccess();\n sessionStorage.removeItem('vasPopUp');\n setAlreadyShowedTvOptionsPopUp(false);\n if (enableP2P) {\n fetchPrepaidData();\n } else {\n createCartCall();\n }\n };\n\n // to close the pop up of P2P\n const handleClick = () => {\n setModalClick(!modalClick);\n setShowP2P(false);\n };\n\n // to close the pop up of P2P for success prepiad\n const handlePrepaidClick = () => {\n setShowLoader(false);\n setP2pModal(!p2pModal);\n };\n\n const closeTVOptionsModal = (event?: any) => {\n setDisplayTvOptionsPopUp(false);\n\n if (event) {\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\n headline: 'VAS POPUP CLOSE'\n });\n }\n };\n\n //once linecheck success set linecheck pop up false and proceed to checkout section\n const linecheckSuccess = () => {\n let bundle = typeof window !== 'undefined' && localStorage.getItem('lineCheckResponse');\n eligibleBundle = bundle && JSON?.parse(bundle);\n address = typeof window !== 'undefined' && Cookies.get('chAddressJson');\n typeof linecheckSuccessCallBack == 'function' && linecheckSuccessCallBack();\n };\n\n //once linecheck success set linecheck pop up false and proceed to checkout section\n const linecheckSuccessAndCart = () => {\n let bundle = typeof window !== 'undefined' && localStorage.getItem('lineCheckResponse');\n eligibleBundle = bundle && JSON?.parse(bundle);\n address = typeof window !== 'undefined' && Cookies.get('chAddressJson');\n setShowLinecheck(!showLinecheck);\n typeof linecheckSuccessCallBack == 'function' && linecheckSuccessCallBack();\n createCartCall();\n };\n\n //service Option set for TV\n\n const serviceOption = fetchServiceOptions(productData?.bloks, isMobileFlow);\n\n const radioValue = serviceOption?.[0]?.tvProductId;\n\n const createCartCallAction = (msisdn?: string) => {\n const discountRef = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.id;\n const discountVersion = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.version;\n\n // Shogun / rewards (loyalty) flow: attach the pointsBurnt note so the\n // backend can settle the loyalty burn during cart creation. The value\n // comes from the offer response under `rewards.points`.\n const rewardsInfo = isShogunFlow\n ? { pointsBurnt: uniqueProductData?.[0]?.rewards?.points, rewardOfferId: uniqueProductData?.[0]?.rewards?.offerId, gloxTokenId: shogunToken }\n : undefined;\n\n // US 317400- vas options pop tracking\n if (uniqueProductData && uniqueProductData[0]) {\n uniqueProductData[0].fromPopup = tvOptionsPopUpAddToCart;\n }\n updateVasPopUp('false');\n sessionStorage.removeItem('vasPopUp');\n setAlreadyShowedTvOptionsPopUp(false);\n\n staticCreateCart(\n setShowLoader,\n cartEndPoint,\n giftItem,\n uniqueProductData,\n mainContent,\n showPrice,\n isMobileFlow,\n radioValue,\n eligibleBundle,\n address,\n setShowLinecheck,\n showLinecheck,\n lineCheckCallBack,\n enableP2P,\n queryParams ?? msisdn,\n content,\n tvOptions,\n discountRef,\n discountVersion,\n rewardsInfo,\n successLoaderData\n );\n };\n //cart creation\n const createCartCall = (msisdn?: string) => {\n setTvOptionsPopUpAddToCart(false);\n setShowProductDetail(false);\n let AuthData: any = typeof window !== undefined && Cookies.get('sunriseAuth');\n const AuthDataNew = AuthData && JSON.parse(AuthData);\n const setLoginCookie =\n mainContent?.enableExistingCustomer && AuthDataNew == undefined ? true : false;\n sessionStorage.removeItem(ONE_ECOMMERCE_INTERNET_SUMMARY);\n if (mainContent?.linecheckData?.length > 0 && !isMobileFlow && !isAvailable) {\n // setShowLinecheck(true);\n const lineCheckElement = document.getElementById('linecheck');\n if (lineCheckElement) {\n lineCheckCallBack();\n }\n return;\n } else if (\n isAvailable &&\n !isMobileFlow &&\n mainContent?.loginData?.length > 0 &&\n setLoginCookie\n ) {\n setShowLogin(true);\n } else if (enableTVStreamingOptionsStepper && uniqueProductData[0]?.isBundle) {\n let recommendAccessory = false;\n\n if (!skipAccessoriesPage) {\n /**Check if bundle or Internet and add it to cart request*/\n if (uniqueProductData[0]?.isBundle) {\n uniqueProductData[0]?.bundledOffers?.map((item: any) => {\n if (\n item?.productType?.toLowerCase() === 'internet' ||\n item?.productType?.toLowerCase() == 'tv'\n ) {\n if (item?.recommendAccessory) {\n recommendAccessory = item?.recommendAccessory;\n }\n }\n // setting to false incase of Mobile product Type as it is currently out of scope\n if (item?.productType?.toLowerCase() === 'mobile') {\n recommendAccessory = false;\n return;\n }\n });\n } else {\n /**Add standlone product such as internet to cart request*/\n if (uniqueProductData?.[0]?.recommendAccessory) {\n recommendAccessory = uniqueProductData?.[0]?.recommendAccessory;\n }\n }\n }\n\n combineWithVasOptions(\n showPrice,\n uniqueProductData,\n content,\n pegaIntegration,\n productData?.productName,\n recommendAccessory\n );\n createCartCallAction(msisdn);\n } else if (\n enableTVStreamingOptionsPopUp &&\n uniqueProductData[0]?.isBundle &&\n !alreadyShowedTvOptionsPopUp\n ) {\n setDisplayTvOptionsPopUp(true);\n setAlreadyShowedTvOptionsPopUp(true);\n updateVasPopUp('true');\n\n window.addEventListener('beforeunload', function (event) {\n updateVasPopUp('false');\n sessionStorage.removeItem('vasPopUp');\n setAlreadyShowedTvOptionsPopUp(false);\n });\n } else {\n //for mobile p2p\n if (enableP2P) {\n setShowLoader(true);\n }\n createCartCallAction(msisdn);\n }\n };\n\n //cart creation callback For device first flow\n const deviceFirstFlowCreateCartCallback = (msisdn?: string) => {\n setShowProductDetail(false);\n const msisdnn = queryParams ?? msisdn;\n const deviceFirstFlowCartObj = {\n setShowLoader,\n cartEndPoint,\n giftItem,\n uniqueProductData,\n mainContent,\n showPrice,\n isMobileFlow,\n eligibleBundle,\n address,\n setShowLinecheck,\n showLinecheck,\n lineCheckCallBack,\n enableP2P,\n msisdnn,\n content,\n selectedRP,\n continueCart,\n successLoaderData\n };\n deviceFlowCallBack(deviceFirstFlowCartObj);\n };\n\n // Guards a cart-creation action: if a persistent cart already exists\n // (one-commerce-cartId cookie), show the replace-cart popup and defer the\n // action until the user confirms via the primary button.\n const withReplaceCartCheck =\n (action: (callFunctionArg?: string) => void, popupContent?: any) =>\n (callFunctionArg?: string) => {\n const existingCartId =\n typeof window !== undefined && Cookies.get('one-commerce-cartId');\n if (mainContent?.enableReplacePopup && existingCartId) {\n pendingCartActionRef.current = () => action(callFunctionArg);\n shouldDeleteCartCookieRef.current = Boolean(popupContent);\n setReplacePopupContent(popupContent ?? mainContent?.generalReplacePopup?.[0]);\n setShowReplaceCartModal(true);\n } else {\n action(callFunctionArg);\n }\n };\n\n // after 1 prepaid numbers selection from existingp2pmodal\n const onSelectSubscriptionPreToPost = (value: any) => {\n setP2pModal(!p2pModal);\n combine\n ? combineWithSmartPhone(\n showPrice,\n storyContent,\n uniqueProductData,\n value,\n content,\n pegaIntegration\n )\n : createCartCall(value?.msisdn);\n };\n //show price calculation\n const showPrice = fetchPrice(\n uniqueProductData,\n isMobileFlow,\n mainContent?.pageType,\n false,\n tvOptions,\n pegaIntegration\n );\n\n //card height calculation and gift & cashback check on change of offer data\n //to calculate the height when the tvOptions is added and removed\n useEffect(() => {\n scheduleFindHeight(tabIndex, cardsLength);\n const result = checkGiftOrCashback(\n isMobileFlow\n ? uniqueProductData\n : (uniqueProductData?.[0]?.bundledOffers ?? uniqueProductData)\n );\n setShowGiftOrCashback({ ...result });\n }, [\n offeringData,\n toggleState,\n tvOptions,\n timerSpaceHeight,\n (toggleState?.TV || toggleState?.gigaSpeed || toggleState?.Netflix) &&\n Array.isArray(uniqueProductData) &&\n uniqueProductData?.[0]?.bundledOffers?.length === 3\n ]);\n\n //product details pop up\n const showDetailsModal = () => {\n setShowProductDetail(!showProductDetail);\n //Analytics Product Details tracking\n let offerData = uniqueProductData;\n trackNewDatalayerEvent(GAEVENT, DOWNLOADPRODUCT, getEcomCartInfo(offerData, '', LINETABLE));\n const prospectId = localStorage.getItem('prospectId');\n const url = window?.location?.pathname?.split('/') ?? [];\n const pathname = url[url.length - 1];\n const payload = {\n eventTimestamp: getUtcTimestamp(),\n eventType: 'PageView',\n pageType: 'ProductDetails',\n pageLocation: pathname,\n // deviceType: viewPortType, #TODO - fix this values, isn't working for tablet\n targetProduct: id\n };\n prospectId && trackPegaEvents(pegaEndpoint, payload, prospectId);\n };\n\n //TV service option\n const showModalPopup = () => {\n if (serviceOption?.length > 0 || enableTVStreamingOptionsPopUp) {\n setShowOptions(true);\n }\n };\n const updatedContent = mainContent?.productContainer?.[0];\n\n // set the combine to true for p2p\n const combineP2P = () => {\n setCombine(true);\n };\n\n // to trigger on click of combinewith smartphone\n useEffect(() => {\n if (combine) {\n if (enableP2P && AuthData == undefined) {\n setShowP2P(!showP2P);\n setModalClick(!popUPClick);\n } else if (enableP2P && AuthData?.siteId) {\n fetchPrepaidData();\n }\n }\n }, [combine]);\n\n useEffect(() => {\n if (context) {\n const { store } = context;\n if (store?.ottOptionsApi?.length > 0 && responseList?.length === 0) {\n setResponseList(store?.ottOptionsApi);\n }\n }\n }, [context]);\n\n useEffect(() => {\n if (!isCounterEnabled || !timerContent?.startTime || !timerContent?.endTime) {\n setTimerIsActive(false);\n return;\n }\n\n setTimerIsActive(isTimerActive(timerContent.startTime, timerContent.endTime));\n\n const delay = getTimeUntilNextTimerEvent(timerContent.startTime, timerContent.endTime);\n if (delay <= 0) return;\n\n const timeout = setTimeout(() => {\n setTimerIsActive(isTimerActive(timerContent.startTime, timerContent.endTime));\n }, delay);\n\n return () => clearTimeout(timeout);\n }, [isCounterEnabled, timerContent?.startTime, timerContent?.endTime]);\n\n useEffect(() => {\n const timerElement = timerContainerRef.current;\n if (!timerElement || !content?.timer?.length || !isCounterEnabled) {\n setTimerSpaceHeight(0);\n return;\n }\n\n const updateTimerSpaceHeight = () => {\n setTimerSpaceHeight(timerElement.clientHeight);\n };\n\n updateTimerSpaceHeight();\n\n if (typeof ResizeObserver === 'undefined') {\n return;\n }\n\n const resizeObserver = new ResizeObserver(updateTimerSpaceHeight);\n resizeObserver.observe(timerElement);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [content?.timer?.length, isCounterEnabled]);\n\n // to trigger on click tv option pop up closed\n useEffect(() => {\n if (tvOptionsPopUpChanged) {\n closeTVOptionsModal();\n setTvOptionsPopUpChanged(true);\n updateVasPopUp('false');\n sessionStorage.removeItem('vasPopUp');\n setAlreadyShowedTvOptionsPopUp(false);\n createCartCallAction();\n }\n }, [tvOptionsPopUpChanged]);\n\n //US 314008 - only show vas pop up for first time user clicked order now\n useEffect(() => {\n const checkVasPopUp = () => {\n const vasPopUp = sessionStorage.getItem('vasPopUp');\n\n setAlreadyShowedTvOptionsPopUp(vasPopUp === 'true');\n };\n\n checkVasPopUp();\n\n const handleStorageChange = (event: StorageEvent) => {\n if (event.storageArea === sessionStorage && event.key === 'vasPopUp') {\n checkVasPopUp();\n }\n // If vasPopUp is removed (deleted)\n if (\n event.storageArea === sessionStorage &&\n event.key === 'vasPopUp' &&\n event.newValue === null\n ) {\n setAlreadyShowedTvOptionsPopUp(false);\n }\n };\n\n const handleCustomEvent = () => {\n checkVasPopUp();\n };\n window.addEventListener('storage', handleStorageChange);\n window.addEventListener('vasPopUpChange', handleCustomEvent);\n \n return () => {\n window.removeEventListener('storage', handleStorageChange);\n window.removeEventListener('vasPopUpChange', handleCustomEvent);\n };\n \n }, []);\n\n const updateVasPopUp = (value: string) => {\n sessionStorage.setItem('vasPopUp', value);\n const event = new Event('vasPopUpChange');\n window.dispatchEvent(event);\n };\n\n return (\n <div>\n {(showLoader || successLoader) &&\n portalPosition &&\n createPortal(\n <GlobalDotLoader content={dotLoaderData} isSuccess={successLoader} />,\n portalPosition\n )}\n {/* below code can be removed once the global loader is enabled in production. The below code is for testing purpose only. */}\n {/* createPortal(<Dotloader keyParams='loading' />, portalPosition)} */}\n {isSkeletonLoading && (\n <div className='w-75 pb-2'>\n <SkeletonLoader />\n </div>\n )}\n {!isSkeletonLoading && eligibleBundle && content && address && !isMobileFlow && (\n <div className={Styles.selected}>\n <span style={{ paddingBottom: '10px' }}>\n {!isAvailable ? (\n <span className={Styles.inactiveicon}>\n <img\n src={`${assetPath}/icons/cross_disabled.svg`}\n alt=''\n width={24}\n height={24}\n className={Styles.inactiveicon}\n />\n <span>{constants?.notSubscriptionTxt}</span>\n </span>\n ) : (\n <span className={Styles.activeicon}>\n <img\n src={`${assetPath}/icons/lineCheck-success.svg`}\n alt=''\n width={24}\n height={24}\n className={Styles.activeicon}\n />\n <span>{constants?.subscriptionAvalTxt}</span>\n </span>\n )}\n </span>\n </div>\n )}\n\n <div\n className={`${\n !isMobileFlow &&\n isAvailable === false &&\n mainContent?.linecheckData?.length > 0 &&\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug !== 'global/coverage-check'\n ? Styles.overlay\n : ''\n }\n ${deviceUltimateBundle && !uniqueProductData?.[0]?.eligibility?.fpb ? Styles.disabled : ''}\n `}\n style={{ flexDirection: 'column' }}\n >\n <div className={Styles.bundleproductcard}>\n <div\n id={`timer-section${tabIndex}${indexKey}`}\n data-timer-active={timerSpaceHeight > 0 ? 'true' : 'false'}\n >\n {content?.timer?.length && isCounterEnabled ? (\n <div style={{ height: `${timerSpaceHeight}px`, transition: 'height 0.3s ease' }} />\n ) : null}\n </div>\n <div\n className={`${Styles.productcontainer} ${\n reserveBadgeSpace || showBadges || showHighlightText || showPromoContainer\n ? Styles.productcontainerHasBadge\n : ''\n }`}\n style={getBorderStyles()}\n >\n {showBadges && BadgeContainer && <BadgeContainer badges={content.badgesContainer} />}\n {showHighlightText && (\n <div className={`${Styles.highlightText}`}>{content?.highlightText}</div>\n )}\n\n {showPromoContainer &&\n (promotionData?.badgeContainer && BadgeContainer ? (\n <BadgeContainer badges={promotionData?.badgeContainer} />\n ) : (\n <div\n className={`${Styles.promocontainer}`}\n style={{\n background: promotionData?.bestSellerColor\n }}\n >\n {promotionData?.displayText}\n </div>\n ))}\n <div ref={timerContainerRef} className={Styles.timerContainer}>\n {content?.timer?.length && isCounterEnabled ? (\n <StaticLineTabelTimer\n content={content?.timer?.[0]}\n hasHighlightText={showBadges || showPromoContainer}\n onTimerChange={(active) => {\n setTimerIsActive(active);\n }}\n />\n ) : null}\n </div>\n <div\n className={`${Styles.detailsection} ${Styles.imageFullWidthSection}`}\n id={`detailsectionv3${tabIndex}${indexKey}`}\n >\n <div className={`${Styles.headersection}`}>\n <div className={`${Styles.titlesection}`}>\n <div className={`${Styles.productheader}`} id={`titleV3${tabIndex}${indexKey}`}>\n {productData?.productName}\n </div>\n <div>\n {productData?.icon?.filename && (\n <img\n className={`${Styles.imagecontainer}`}\n src={productData?.icon?.filename}\n height={15}\n width={20}\n alt='productIcon'\n />\n )}\n </div>\n </div>\n <div\n className={`${Styles.productdescription}`}\n id={`descriptionV3${tabIndex}${indexKey}`}\n >\n <RichText content={productData?.description} />\n </div>\n {/* Image(map) */}\n <div className={`${Styles.images}`}>\n {productData?.img?.filename && (\n <img\n className={`${Styles.imagespace} ${\n content?.highlightText && Styles.borderimage\n }`}\n alt='cardimg'\n src={`${productData?.img?.filename}/m/`}\n />\n )}\n </div>\n </div>\n {/* product entitlement section */}\n <div\n className={`${Styles.productconfig}`}\n id={`product-configv3${tabIndex}${indexKey}`}\n >\n {isSkeletonLoading ? (\n <>\n <div className={Styles.space}></div>\n <SkeletonLoader stylename={Styles.skeletontittle} count={1} />\n <SkeletonLoader stylename={Styles.skeletonline} count={5} />\n <div className={Styles.space}></div>\n <SkeletonLoader stylename={Styles.skeletontittle} count={1} />\n <SkeletonLoader stylename={Styles.skeletonline} count={5} />\n </>\n ) : (\n <div>\n {productData?.bloks &&\n productData?.bloks?.map((entitle: any, index: number) => {\n return (\n <StaticProductEntitlement\n content={entitle}\n indexKey={index}\n constants={constants}\n key={index}\n showModalPopup={showModalPopup}\n setToggleState={setToggleState}\n toggleState={toggleState}\n noTabs={noTabs}\n mainContent={mainContent}\n enableTVStreamingOptions={content?.enableTVStreamingOptions}\n metadata={metadata}\n setTvOptionsData={setTvOptionsData}\n />\n );\n })}\n </div>\n )}\n </div>\n </div>\n {/* benefits section */}\n <div\n className={`${Styles.detailsection}`}\n id={`benefits-price-section${tabIndex}${indexKey}`}\n >\n <div id={`exclusive-benefits-section${tabIndex}${indexKey}`}>\n {productData?.extraBenefits?.length > 0 && (\n <StaticExclusiveBenefit content={productData?.extraBenefits?.[0]} />\n )}\n </div>\n <div\n className={`${Styles.benefitssection}`}\n id={`benefits-section${tabIndex}${indexKey}`}\n >\n {productData?.benefits?.length > 0 && (\n <StaticBenefit\n content={productData?.benefits}\n benefitData={showPrice}\n constants={constants}\n //US_31295\n pricesToggleState={pricesToggleState}\n togglePriceLabel={toggleContent?.togglePriceLabel}\n />\n )}\n </div>\n <br />\n\n {/* gift or cashback section */}\n <div className={`${Styles.giftsection}`} id={`gift-section${tabIndex}${indexKey}`}>\n {showGiftOrCashback?.showGift &&\n promotionData?.singleGift?.map((item: any, index: number) => {\n return <GiftConfigV2 content={item} key={index} />;\n })}\n {showGiftOrCashback?.showGift &&\n promotionData?.giftConfig?.map((item: any, index: number) => {\n return (\n <ChooseGiftV2\n content={item}\n key={index}\n selectedGiftItem={selectedGiftItem}\n parentPoType={isMobileFlow ? 'MOBILE' : 'HOME'}\n />\n );\n })}\n <div\n className={`${Styles.giftsection}`}\n id={`cashback-section${tabIndex}${indexKey}`}\n >\n <StaticProductCashback\n uniqueProductData={uniqueProductData}\n mainContent={mainContent}\n />\n </div>\n </div>\n {/* price section */}\n <div className={`${Styles.ordersection}`} id={`order-section${tabIndex}${indexKey}`}>\n {showPrice?.base === '' ? (\n <div>\n <SkeletonLoader stylename={Styles.skeletontittle} />\n </div>\n ) : (\n <div id={`price-section${tabIndex}${indexKey}`}>\n <DynamicPriceSection\n priceCollection={showPrice}\n constants={constants}\n promoText={productData?.promoText}\n deviceFlow={deviceFlow}\n content={content}\n offeringData={offeringData}\n uniqueId={uniqueId}\n />\n </div>\n )}\n\n {/* US_312953 */}\n {!isShogunFlow && (\n <div\n className={`${Styles.discountedpricetoggleSection}`}\n id={`discountedpricetoggle-section${tabIndex}${indexKey}`}\n >\n {!disableDiscountedPriceToggle && toggleContent?.togglePosition === 'INLINE' ? (\n <UserLoggedPricesToggle\n content={productData}\n index={indexKey}\n lineTable={true}\n toggleContent={toggleContent}\n />\n ) : null}\n </div>\n )}\n {/*END US_312953 */}\n\n {/* Longterm text */}\n {enableP2P && constants?.P2PDiscountLabel && (\n <div className={Styles.longterm}>{constants?.P2PDiscountLabel}</div>\n )}\n {/* proceed to checkout section */}\n {isSkeletonLoading ? (\n <>\n <SkeletonLoader stylename={Styles.skeletontittle} count={1} />\n <SkeletonLoader stylename={Styles.skeletonline} count={2} />\n </>\n ) : (\n <div className={`${storyContent?.swapButton && Styles.swapButton}`}>\n <div style={{ padding: '16px 0 0 0' }}>\n <CheckoutButton\n isMobileFlow={isMobileFlow}\n createCartCall={\n deviceFlow?.isDeviceFlow\n ? withReplaceCartCheck(deviceFirstFlowCreateCartCallback)\n : isMobileFlow\n ? withReplaceCartCheck(createCart)\n : withReplaceCartCheck(createCartCall)\n }\n constants={constants}\n storyContent={storyContent}\n showPrice={showPrice}\n isAvailable={isAvailable}\n address={address}\n uniqueProductBenefits={uniqueProductData?.[0]}\n alwaysActive={\n !isAvailable &&\n mainContent?.linecheckData?.length > 0 &&\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug ===\n 'global/coverage-check'\n }\n flexUpgradeFreePopup={mainContent?.flexUpgradeFreePopup?.reference?.content}\n content={content}\n deviceUltimateBundle={deviceUltimateBundle}\n forceDisabled={Boolean(uniqueProductData?.[0]?.rewards?.notEligibleReason)}\n notEligibileReason={uniqueProductData?.[0]?.rewards?.notEligibleReason}\n />\n </div>\n {/* combined with smartphone section */}\n {!isShogunFlow &&\n storyContent?.addSmartPhone?.length > 0 &&\n !deviceFlow?.isDeviceFlow && (\n <div style={{ textAlign: 'center' }}>\n {storyContent?.swapButton\n ? storyContent?.ctaLabel && (\n <div style={{ padding: '16px 0' }}>\n <button\n className={`primarybutton`}\n onClick={() =>\n withReplaceCartCheck(\n () =>\n combineWithSmartPhone(\n showPrice,\n storyContent,\n uniqueProductData,\n '',\n content,\n pegaIntegration\n ),\n mainContent?.replacePopupWithSmartphone?.[0]\n )()\n }\n >\n <span className={Styles.buttontext}>\n {storyContent?.ctaLabel}\n </span>\n </button>\n </div>\n )\n : !content?.redirectOnly && (\n <div style={{ padding: '12px 0 0 0' }}>\n <FalconButtonV2\n content={{\n buttonType: 'Secondary-V1',\n buttonLabel: content?.ultimateBundlePromotion\n ? constants?.ultimateBundleLbl\n : storyContent?.addSmartPhone?.[0]?.buttonLabel,\n buttonIcon: storyContent?.addSmartPhone?.[0]?.buttonIcon,\n buttonAlignment: 'left'\n }}\n wafIdentifier={basicConfigUrl}\n style={{ width: '100%' }}\n onClick={() =>\n withReplaceCartCheck(\n () =>\n enableP2P\n ? combineP2P()\n : combineWithSmartPhone(\n showPrice,\n storyContent,\n uniqueProductData,\n '',\n content,\n pegaIntegration\n ),\n mainContent?.replacePopupWithSmartphone?.[0]\n )()\n }\n />\n </div>\n )}\n </div>\n )}\n <div\n className={Styles.productcontractduration}\n id={`contract-section${tabIndex}${indexKey}`}\n style={{\n paddingTop:\n storyContent?.addSmartPhone?.length > 0 &&\n !deviceFlow?.isDeviceFlow &&\n !storyContent?.swapButton &&\n !content?.redirectOnly\n ? '8px'\n : undefined\n }}\n >\n {showPrice?.contractDuration > '1'\n ? replacePlaceholder(constants?.minContractDuration?.substring(1), [\n showPrice?.contractDuration\n ])\n : constants?.noContractDuration}\n </div>\n </div>\n )}\n {/* product details section */}\n <div style={{ textAlign: 'center', padding: '4px' }}>\n {productData?.productDetails?.length > 0 && (\n <span className={Styles.productdetailslink} onClick={showDetailsModal}>\n {constants?.productDetailsLink}\n </span>\n )}\n </div>\n {showProductDetail && (\n <StaticProductDetails\n content={productData?.productDetails}\n showProductDetail={showProductDetail}\n setShowProductDetail={setShowProductDetail}\n constants={constants}\n showPrice={showPrice}\n isMobileFlow={isMobileFlow}\n createCartCall={isMobileFlow ? createCart : createCartCall}\n storyContent={storyContent}\n isAvailable={isAvailable}\n address={address}\n flexUpgradeFreePopup={mainContent?.flexUpgradeFreePopup?.reference?.content}\n notEligibileReason={uniqueProductData?.[0]?.rewards?.notEligibleReason}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n\n {deviceUltimateBundle && uniqueProductData && !uniqueProductData?.[0]?.eligibility?.fpb && (\n <div className={Styles.disabledInfo}>\n <RichText content={constants?.fpbNotCompatibleText} />\n </div>\n )}\n\n {showOptions &&\n (isSkeletonLoading ? (\n <SkeletonLoader />\n ) : (\n <TVChannelModal\n content={serviceOption?.[0]}\n setShowModal={setShowOptions}\n showModal={showOptions}\n constants={constants}\n />\n ))}\n\n {/* login pop up existing customer benefit without login on click of proceed to checkout */}\n {showLogin &&\n mainContent?.loginData?.length > 0 &&\n portalPosition &&\n createPortal(\n <LoginModalV2\n content={mainContent?.loginData?.[0]}\n closeLogin={() => {\n setShowLogin(false);\n }}\n metadata={metadata}\n onSuccess={onLoginSuccess}\n isProdEnv={isProdEnv}\n />,\n portalPosition\n )}\n\n {/* P2P flow first screen to select login */}\n {showP2P && enableP2P && !showLogin && popUPClick && (\n <GenericModal\n modalState={modalClick}\n handler={handleClick}\n showFooter={false}\n width={'628px'}\n height='280px'\n backgroundColor='#f7f6f5'\n noCloseButton={false}\n backDrop={true}\n bodyPadding='16px'\n >\n <PreToPostSubsPopup\n onClose={handleP2PClick}\n content={mainContent?.productContainer?.[0]?.p2pBloks?.[0]}\n prepaid={false}\n />\n </GenericModal>\n )}\n\n {/* P2P flow error screen if the customer is not prepaid customer */}\n {enableP2P && afterLogin && subscriptionFailure && popUPClick && (\n <GenericModal\n modalState={modalClick}\n handler={handleClick}\n showFooter={false}\n width={'628px'}\n height='280px'\n backgroundColor='#f7f6f5'\n noCloseButton={false}\n backDrop={true}\n bodyPadding='16px'\n id='table-product'\n >\n <PreToPostSubsPopup\n onClose={handleP2PClick}\n content={mainContent?.productContainer?.[0]?.p2pBloks?.[1]}\n prepaid={true}\n />\n </GenericModal>\n )}\n\n {/* p2p flow after successfully logged in prepaid customer to select a number for P2P*/}\n {userSubscriptionData?.length > 1 &&\n enableP2P &&\n afterLogin &&\n !subscriptionFailure &&\n p2pModal && (\n <GenericModal\n modalState={p2pModal}\n handler={handlePrepaidClick}\n showFooter={false}\n width={'628px'}\n height='280px'\n backgroundColor='#f7f6f5'\n noCloseButton={false}\n backDrop={true}\n bodyPadding='16px'\n >\n <ExsistingSubscriptionModal\n onSubmit={onSelectSubscriptionPreToPost}\n exsistingSubscriptionData={userSubscriptionData}\n updatedContent={updatedContent}\n />\n </GenericModal>\n )}\n\n {/* lincheck modal */}\n {showLinecheck &&\n mainContent?.enableLinecheckOverlay &&\n !isMobileFlow &&\n mainContent?.linecheckData?.length > 0 &&\n !enableP2P &&\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug ===\n 'global/new-linecheck-test' ? (\n <LinecheckModal\n content={mainContent?.linecheckData?.[0]}\n onSuccess={linecheckSuccessAndCart}\n showModal={showLinecheck}\n setShowModal={setShowLinecheck}\n productName={productData?.productName}\n productId={productData?.productId}\n />\n ) : showLinecheck &&\n mainContent?.enableLinecheckOverlay &&\n !isMobileFlow &&\n mainContent?.linecheckData?.length > 0 &&\n !enableP2P &&\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug ===\n 'global/coverage-check' ? (\n <CoverageCheckModal\n content={mainContent?.linecheckData?.[0].reference.content.body[0]}\n overlayIsOpen={true}\n externalHandleModal={setShowLinecheck}\n productName={productData?.productName}\n showModal={showLinecheck}\n setShowModal={setShowLinecheck}\n onSuccess={linecheckSuccess}\n onCreateCart={linecheckSuccessAndCart}\n lineCheckOnClear={lineCheckOnClear}\n productId={productData?.productId}\n />\n ) : null}\n {/* benefit validate */}\n {showBenefit && isMobileFlow && storyContent?.benefitsValidate?.length > 0 && (\n <BenefitsValidateWrapper\n content={storyContent?.benefitsValidate?.[0]}\n loginContent={mainContent?.loginData?.[0]}\n metadata={metadata}\n createCartCall={createCartCall}\n fetchOfferData={fetchOfferData}\n basicConfigUrl={basicConfigUrl}\n selectedExistingOption={selectedExistingOption}\n setShowBenefit={setShowBenefit}\n setLoginSuccess={setLoginSuccess}\n isProdEnv={isProdEnv}\n />\n )}\n\n {/* Display tv options on pop up after clicking order now button*/}\n {displayTvOptionsPopUp && (\n <GenericModal\n modalState={displayTvOptionsPopUp}\n handler={closeTVOptionsModal}\n showFooter={false}\n width={viewPortType === 'mobile' ? '' : viewPortType === 'tablet' ? '700px' : '990px'}\n fixedWidth={\n viewPortType === 'mobile' ? '' : viewPortType === 'tablet' ? '700px' : '990px'\n }\n height='845px'\n backgroundColor='#f7f6f5'\n noCloseButton={false}\n backDrop={true}\n bodyPadding='24px'\n >\n <OttServiceOptionsSmallPopup\n content={mainContent?.optionsPopup?.[0]}\n addOptionsCallBack={(val: any) => {\n setTvOptionsPopUpAddToCart(true);\n setTvOptionsPopUpChanged(true);\n setTvOptionsData(val);\n }}\n metadata={metadata}\n constants={constants}\n mainContent={mainContent}\n preSelectedOptions={[]}\n optionsResponse={responseList}\n updateResponseList={setResponseList}\n showPrice={showPrice}\n productData={productData}\n offeringData={offeringData}\n uniqueId={uniqueId}\n deviceFlow={deviceFlow}\n />\n </GenericModal>\n )}\n\n {/* Replace persistent cart confirmation modal */}\n {showReplaceCartModal && replacePopupContent && (\n <GenericPopup\n modalState={showReplaceCartModal}\n onCloseHandler={() => {\n pendingCartActionRef.current = null;\n setShowReplaceCartModal(false);\n }}\n content={replacePopupContent}\n wafIdentifier={basicConfigUrl}\n onPrimaryClick={() => {\n const pendingAction = pendingCartActionRef.current;\n pendingCartActionRef.current = null;\n if (shouldDeleteCartCookieRef.current) {\n Cookies.remove('one-commerce-cartId');\n }\n shouldDeleteCartCookieRef.current = false;\n setShowReplaceCartModal(false);\n pendingAction?.();\n }}\n onSecondaryClick={() => {\n pendingCartActionRef.current = null;\n setShowReplaceCartModal(false);\n }}\n />\n )}\n </div>\n );\n};\n\nexport default StaticProduct;\n"],"names":["StaticProduct","content","offeringData","uniqueId","storyContent","metadata","tabIndex","cardsLength","indexKey","constants","mainContent","address","eligibleBundle","linecheckSuccessCallBack","selectedOption","fetchOfferData","basicConfigUrl","selectedExistingOption","setLoginSuccess","enableP2P","lineCheckCallBack","loginSuccess","setToggleState","toggleState","noTabs","deviceFlow","deviceFlowCallBack","selectedRP","continueCart","lineCheckOnClear","pegaIntegration","isProdEnv","deviceUltimateBundle","toggleContent","pricesToggleState","isShogunFlow","shogunToken","reserveBadgeSpace","BadgeContainer","useProductCardBadge","showLoader","setShowLoader","useState","showProductDetail","setShowProductDetail","showGiftOrCashback","setShowGiftOrCashback","showGift","cashbackAvailable","modalClick","updateModalClick","combine","setCombine","giftItem","setGiftItem","showLogin","setShowLogin","showOptions","setShowOptions","showLinecheck","setShowLinecheck","showP2P","setShowP2P","showBenefit","setShowBenefit","subscriptionFailure","setSubscriptionFailure","endpoint","validateEndpoint","userSubscriptionData","setUserSubscriptionData","afterLogin","setAfterLogin","popUPClick","setModalClick","p2pModal","setP2pModal","tvOptions","setTvOptions","displayTvOptionsPopUp","setDisplayTvOptionsPopUp","alreadyShowedTvOptionsPopUp","setAlreadyShowedTvOptionsPopUp","tvOptionsPopUpChanged","setTvOptionsPopUpChanged","tvOptionsPopUpAddToCart","setTvOptionsPopUpAddToCart","responseList","setResponseList","timerSpaceHeight","setTimerSpaceHeight","showReplaceCartModal","setShowReplaceCartModal","pendingCartActionRef","useRef","replacePopupContent","setReplacePopupContent","shouldDeleteCartCookieRef","timerContainerRef","successLoader","setSuccessLoader","pegaEndpoint","API_BASE_BASEPOINT","CUSTOMER","dotLoaderData","_e","_d","_c","_b","_a","globalDotLoader","reference","body","_k","_j","_h","_g","_f","_l","successLoaderData","duration","_m","successMsgDuration","successLoaderCallback","portalPosition","undefined","window","document","getElementById","isSkeletonLoading","_o","Object","keys","length","productData","_t","_s","_r","_q","_p","products","product","promotionData","_y","_x","_w","_v","_u","promotion","promoDescription","timerContent","_z","timer","isCounterEnabled","enableCounter","timerIsActive","setTimerIsActive","startTime","endTime","isTimerActive","showHighlightText","Boolean","highlightText","badgesContainer","showPromoContainer","displayText","notShowPromotionLabel","showBadges","id","productId","cartEndPoint","_0","LineTableBasicPropConfig","getInstance","getCartUrl","assetPath","_1","AssetPathPropConfig","getAssetPath","isMobileFlow","pageType","viewPortType","viewport","context","useContext","AppContext","isAvailable","_2","includes","enableTVStreamingOptionsPopUp","enableTVStreamingOptionsStepper","disableDiscountedPriceToggle","skipAccessoriesPage","LoginBasicPropConfig","create","baseURL","AuthData","Cookies","get","JSON","parse","uniqueProductData","filter","setTvOptionsData","options","handleP2PClick","createCart","siteId","fetchPrepaidData","EXISTINGCUSTOMER","enableExistingCustomer","enableLoggedInPrice","createCartCall","prospectId","localStorage","getItem","url","location","pathname","split","payload","eventTimestamp","getUtcTimestamp","eventType","pageLocation","targetProduct","trackPegaEvents","selectedGiftItem","item","itemValue","findIndex","gift","giftGroupId","temp","push","params","URLSearchParams","_3","search","queryParams","validateNumberFcn","value","combineWithSmartPhone","showPrice","msisdn","validateFcn","validPrepaidNumbers","__awaiter","validateP2P","then","res","catch","e","console","log","fetchSubscriptionData","resp","subscriptionData","responseData","queryData","find","entry","Promise","all","map","data","succ","error","err","handleClick","closeTVOptionsModal","event","trackNewDatalayerEvent","GAEVENT","CTABUTTONCLICK","headline","linecheckSuccessAndCart","bundle","serviceOption","fetchServiceOptions","bloks","radioValue","_4","tvProductId","createCartCallAction","discountRef","promotionInfo","discountVersion","version","rewardsInfo","pointsBurnt","rewards","points","rewardOfferId","offerId","gloxTokenId","fromPopup","updateVasPopUp","sessionStorage","removeItem","staticCreateCart","AuthDataNew","setLoginCookie","ONE_ECOMMERCE_INTERNET_SUMMARY","linecheckData","loginData","isBundle","recommendAccessory","bundledOffers","productType","toLowerCase","combineWithVasOptions","productName","addEventListener","withReplaceCartCheck","action","popupContent","callFunctionArg","existingCartId","enableReplacePopup","current","generalReplacePopup","fetchPrice","useEffect","scheduleFindHeight","result","checkGiftOrCashback","assign","TV","gigaSpeed","Netflix","Array","isArray","_6","_5","showModalPopup","updatedContent","_7","productContainer","store","ottOptionsApi","delay","getTimeUntilNextTimerEvent","timeout","setTimeout","clearTimeout","timerElement","updateTimerSpaceHeight","clientHeight","ResizeObserver","resizeObserver","observe","disconnect","_8","checkVasPopUp","vasPopUp","handleStorageChange","storageArea","key","newValue","handleCustomEvent","removeEventListener","setItem","Event","dispatchEvent","React","createElement","createPortal","GlobalDotLoader","isSuccess","className","SkeletonLoader","Styles","selected","style","paddingBottom","activeicon","src","alt","width","height","subscriptionAvalTxt","inactiveicon","notSubscriptionTxt","_9","_11","_10","_12","default_full_slug","overlay","_14","_13","eligibility","fpb","disabled","flexDirection","bundleproductcard","_15","transition","productcontainer","productcontainerHasBadge","borderConfig","showBorder","borderGradient","borderColor","borderWidth","borderStyle","borderRadius","background","getBorderStyles","badges","badgeContainer","promocontainer","bestSellerColor","ref","timerContainer","_16","StaticLineTabelTimer","_17","hasHighlightText","onTimerChange","active","detailsection","imageFullWidthSection","headersection","titlesection","productheader","icon","_18","filename","imagecontainer","_19","productdescription","RichText","description","images","_20","img","imagespace","borderimage","_21","productconfig","Fragment","space","stylename","skeletontittle","count","skeletonline","_22","entitle","index","StaticProductEntitlement","enableTVStreamingOptions","_23","extraBenefits","StaticExclusiveBenefit","_24","benefitssection","_25","benefits","StaticBenefit","benefitData","togglePriceLabel","giftsection","_26","singleGift","GiftConfigV2","_27","giftConfig","ChooseGiftV2","parentPoType","StaticProductCashback","ordersection","base","DynamicPriceSection","priceCollection","promoText","discountedpricetoggleSection","togglePosition","UserLoggedPricesToggle","lineTable","P2PDiscountLabel","longterm","swapButton","padding","CheckoutButton","isDeviceFlow","msisdnn","uniqueProductBenefits","alwaysActive","_28","_30","_29","flexUpgradeFreePopup","_33","_32","forceDisabled","_35","_34","notEligibleReason","notEligibileReason","_37","_36","_38","addSmartPhone","textAlign","ctaLabel","onClick","replacePopupWithSmartphone","buttontext","redirectOnly","FalconButtonV2","buttonType","buttonLabel","ultimateBundlePromotion","ultimateBundleLbl","_40","_39","buttonIcon","_42","_41","buttonAlignment","wafIdentifier","productcontractduration","paddingTop","_43","contractDuration","replacePlaceholder","_44","minContractDuration","substring","noContractDuration","productDetails","_45","productdetailslink","DOWNLOADPRODUCT","getEcomCartInfo","LINETABLE","productDetailsLink","StaticProductDetails","_47","_46","_49","_48","_51","_50","disabledInfo","fpbNotCompatibleText","TVChannelModal","setShowModal","showModal","_52","LoginModalV2","_53","closeLogin","onSuccess","GenericModal","modalState","handler","showFooter","backgroundColor","noCloseButton","backDrop","bodyPadding","PreToPostSubsPopup","onClose","_56","_55","_54","p2pBloks","prepaid","_59","_58","_57","ExsistingSubscriptionModal","onSubmit","exsistingSubscriptionData","enableLinecheckOverlay","_60","_62","_61","LinecheckModal","_64","_65","_67","_66","CoverageCheckModal","_69","overlayIsOpen","externalHandleModal","onCreateCart","_70","benefitsValidate","BenefitsValidateWrapper","_71","loginContent","_72","fixedWidth","OttServiceOptionsSmallPopup","optionsPopup","_73","addOptionsCallBack","val","preSelectedOptions","optionsResponse","updateResponseList","GenericPopup","onCloseHandler","onPrimaryClick","pendingAction","remove","onSecondaryClick"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunrise-upc/mobile-prod-card",
3
- "version": "12.3.0-beta.4",
3
+ "version": "12.3.0-beta.6",
4
4
  "description": "Starter project to create reusable functional component",
5
5
  "type": "module",
6
6
  "main": "dist/esm/index.js",
@@ -84,6 +84,6 @@
84
84
  "uuid": "^13.0.0"
85
85
  },
86
86
  "dependencies": {
87
- "swiper": "^12.1.4"
87
+ "swiper": "^14.3.0"
88
88
  }
89
89
  }