@sunrise-upc/mobile-prod-card 11.12.7 → 11.12.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/components/StaticLineTable/CheckoutButton.js +1 -1
- package/dist/esm/components/StaticLineTable/CheckoutButton.js.map +1 -1
- package/dist/esm/components/StaticLineTable/StaticLineTable.css +1 -1
- package/dist/esm/components/StaticLineTable/StaticProductCashback.js +1 -1
- package/dist/esm/components/StaticLineTable/StaticProductCashback.js.map +1 -1
- package/dist/esm/components/ToolTip/ToolTip.css +1 -1
- package/dist/esm/components/ToolTip/ToolTip.js +1 -1
- package/dist/esm/components/ToolTip/ToolTip.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{useState as l,useEffect as t}from"react";import o from"./StaticLineTable.module.scss.js";import n from"../LineCheckV3/GenericModal.js";import i from"./WorldPassPopup.js";import{ONE_ECOMMERCE_HARDWARE_SUMMARY as a,CONTRACT as r,ICONIC_FLEX_UPGRADE_BENEFIT as d}from"../../utils/constants.js";import s from"../ToolTip/ToolTip.js";import c from"../richtext.js";const u=({isMobileFlow:u,createCartCall:v,constants:m,storyContent:p,showPrice:b,isAvailable:
|
|
1
|
+
import e,{useState as l,useEffect as t}from"react";import o from"./StaticLineTable.module.scss.js";import n from"../LineCheckV3/GenericModal.js";import i from"./WorldPassPopup.js";import{ONE_ECOMMERCE_HARDWARE_SUMMARY as a,CONTRACT as r,ICONIC_FLEX_UPGRADE_BENEFIT as d}from"../../utils/constants.js";import s from"../ToolTip/ToolTip.js";import c from"../richtext.js";const u=({isMobileFlow:u,createCartCall:v,constants:m,storyContent:p,showPrice:b,isAvailable:f,address:g,alwaysActive:E,uniqueProductBenefits:h,flexUpgradeFreePopup:C,content:y,deviceUltimateBundle:T,forceDisabled:x,notEligibileReason:k})=>{var w,B,j;const[F,N]=l(!1),[P,L]=l(!1),[S,U]=l("");return t(()=>{var e;x||!u&&!f&&!E||""===(null==b?void 0:b.base)||T&&!(null===(e=null==h?void 0:h.eligibility)||void 0===e?void 0:e.fpb)?L(!0):L(!1)},[p,b,f,x]),t(()=>{const e=sessionStorage.getItem(a),l=e&&JSON.parse(e);U(l)},[]),e.createElement("div",null,u?(null==p?void 0:p.swapButton)?(null==p?void 0:p.ctaLinkLabel)&&e.createElement("a",{onClick:v,className:`${P&&o.disabled}`},null==p?void 0:p.ctaLinkLabel):e.createElement(e.Fragment,null,e.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},e.createElement("button",{className:`primarybutton ${P&&o.disabled}`,onClick:()=>{var e,l,t,o,n;(null==y?void 0:y.redirectOnly)&&(null===(e=null==y?void 0:y.productBasedCheckoutUrl)||void 0===e?void 0:e.url)?window.location.href=null===(l=null==y?void 0:y.productBasedCheckoutUrl)||void 0===l?void 0:l.url:(null===(t=null==h?void 0:h.benefits)||void 0===t?void 0:t.length)>0&&(null===(o=null==h?void 0:h.benefits)||void 0===o?void 0:o.includes(d))&&(null===(n=null==S?void 0:S.hardwareVariant)||void 0===n?void 0:n.selectedContractType)===r?N(!0):v()},disabled:P,style:{flex:1}},e.createElement("span",{className:o.buttontext},null==m?void 0:m.addToCartBtnTxt)),k&&(null==m?void 0:m.notEligibleTooltipBody)&&e.createElement(s,{content:e.createElement(c,{content:null==m?void 0:m.notEligibleTooltipBody}),heading:(null==m?void 0:m.notEligibleTooltipHeading)?e.createElement(c,{content:null==m?void 0:m.notEligibleTooltipHeading}):"",variant:"error"})),(null===(w=null==S?void 0:S.hardwareVariant)||void 0===w?void 0:w.selectedContractType)===r&&F&&(null===(B=null==C?void 0:C.body)||void 0===B?void 0:B.length)>0&&e.createElement(n,{modalState:F,handler:()=>{N(!F)},showFooter:!1,width:"600px",height:"auto",backgroundColor:"#ffffff",noCloseButton:!1,backDrop:!0,bodyPadding:"16px"},e.createElement(i,{storyContent:C,createCartCall:v,setShowFlexPopUp:N,sessionFlexData:S}))):e.createElement(e.Fragment,null,g&&(null===(j=null==Object?void 0:Object.keys(g))||void 0===j?void 0:j.length)>0&&!E?e.createElement(e.Fragment,null,e.createElement("button",{className:`primarybutton ${P&&o.disabled}`,onClick:v,disabled:P},e.createElement("span",{className:o.buttontext},null==m?void 0:m.addToCartBtnTxt))):e.createElement("button",{onClick:v,className:"configurebutton"},e.createElement("span",null,null==m?void 0:m.checkAvailability))))};export{u as default};
|
|
2
2
|
//# sourceMappingURL=CheckoutButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckoutButton.js","sources":["../../../../src/components/StaticLineTable/CheckoutButton.tsx"],"sourcesContent":["import React, { FC, useEffect, useState } from 'react';\r\nimport Styles from './StaticLineTable.module.scss';\r\nimport { CheckoutButtonSchema } from './StaticProductDatatypes';\r\nimport GenericModal from '../LineCheckV3/GenericModal';\r\nimport WorldPassPopup from './WorldPassPopup';\r\nimport { CONTRACT, ICONIC_FLEX_UPGRADE_BENEFIT, ONE_ECOMMERCE_HARDWARE_SUMMARY } from '../../utils/constants';\r\nimport ToolTip from '../ToolTip/ToolTip';\r\nimport RichText from '../richtext';\r\n\r\nconst CheckoutButton: FC<CheckoutButtonSchema> = ({\r\n isMobileFlow,\r\n createCartCall,\r\n constants,\r\n storyContent,\r\n showPrice,\r\n isAvailable,\r\n address,\r\n alwaysActive,\r\n uniqueProductBenefits,\r\n flexUpgradeFreePopup,\r\n content,\r\n deviceUltimateBundle,\r\n forceDisabled,\r\n notEligibileReason\r\n}) => {\r\n const [showFlexPopUp, setShowFlexPopUp] = useState<boolean>(false);\r\n const [isDisabled, setDisabled] = useState<boolean>(false);\r\n const [sessionFlexData, setSessionFlexPrice] = useState<any>('')\r\n\r\n const handleClose = () => {\r\n setShowFlexPopUp(!showFlexPopUp);\r\n };\r\n\r\n const handlePopup = () => {\r\n if (content?.redirectOnly && content?.productBasedCheckoutUrl?.url) {\r\n window.location.href = content?.productBasedCheckoutUrl?.url;\r\n } else if (\r\n uniqueProductBenefits?.benefits?.length > 0 &&\r\n uniqueProductBenefits?.benefits?.includes(ICONIC_FLEX_UPGRADE_BENEFIT) &&\r\n sessionFlexData?.hardwareVariant?.selectedContractType === CONTRACT\r\n ) {\r\n setShowFlexPopUp(true);\r\n } else {\r\n createCartCall();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (forceDisabled || (!isMobileFlow && !isAvailable && !alwaysActive) || showPrice?.base === '' || (deviceUltimateBundle && !uniqueProductBenefits?.eligibility?.fpb)) {\r\n setDisabled(true);\r\n } else {\r\n setDisabled(false);\r\n }\r\n }, [storyContent, showPrice, isAvailable, forceDisabled]);\r\n\r\n useEffect(() => {\r\n const obj = sessionStorage.getItem(ONE_ECOMMERCE_HARDWARE_SUMMARY);\r\n const sessionData = obj && JSON.parse(obj);\r\n setSessionFlexPrice(sessionData);\r\n }, []);\r\n\r\n \r\n return (\r\n <div>\r\n {isMobileFlow ? (\r\n storyContent?.swapButton ? (\r\n storyContent?.ctaLinkLabel && (\r\n <a onClick={createCartCall} className={`${isDisabled && Styles.disabled}`}>\r\n {storyContent?.ctaLinkLabel}\r\n </a>\r\n )\r\n ) : (\r\n <>\r\n <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>\r\n <button\r\n className={`primarybutton ${isDisabled && Styles.disabled}`}\r\n onClick={handlePopup}\r\n disabled={isDisabled}\r\n >\r\n <span className={Styles.buttontext}>{constants?.addToCartBtnTxt}</span>\r\n </button>\r\n {notEligibileReason && constants?.notEligibleTooltipBody && (\r\n <ToolTip\r\n content={<RichText content={constants?.notEligibleTooltipBody} />}\r\n heading={constants?.notEligibleTooltipHeading\r\n ? <RichText content={constants?.notEligibleTooltipHeading} />\r\n : ''}\r\n variant='error'\r\n />\r\n )}\r\n </div>\r\n\r\n {sessionFlexData?.hardwareVariant?.selectedContractType === CONTRACT &&\r\n showFlexPopUp &&\r\n flexUpgradeFreePopup?.body?.length > 0 && (\r\n <GenericModal\r\n modalState={showFlexPopUp}\r\n handler={handleClose}\r\n showFooter={false}\r\n width={'600px'}\r\n height='auto'\r\n backgroundColor='#ffffff'\r\n noCloseButton={false}\r\n backDrop={true}\r\n bodyPadding='16px'\r\n >\r\n <WorldPassPopup\r\n storyContent={flexUpgradeFreePopup}\r\n createCartCall={createCartCall}\r\n setShowFlexPopUp={setShowFlexPopUp}\r\n sessionFlexData={sessionFlexData}\r\n />\r\n </GenericModal>\r\n )}\r\n </>\r\n )\r\n ) : (\r\n <>\r\n {address && Object?.keys(address)?.length > 0 && !alwaysActive ? (\r\n <>\r\n <button\r\n className={`primarybutton ${isDisabled && Styles.disabled}`}\r\n onClick={createCartCall}\r\n disabled={isDisabled}\r\n >\r\n <span className={Styles.buttontext}>{constants?.addToCartBtnTxt}</span>\r\n </button>\r\n </>\r\n ) : (\r\n <button onClick={createCartCall} className='configurebutton'>\r\n <span>{constants?.checkAvailability}</span>\r\n </button>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default CheckoutButton;\r\n"],"names":["CheckoutButton","isMobileFlow","createCartCall","constants","storyContent","showPrice","isAvailable","address","alwaysActive","uniqueProductBenefits","flexUpgradeFreePopup","content","deviceUltimateBundle","forceDisabled","notEligibileReason","showFlexPopUp","setShowFlexPopUp","useState","isDisabled","setDisabled","sessionFlexData","setSessionFlexPrice","useEffect","base","eligibility","_a","fpb","obj","sessionStorage","getItem","ONE_ECOMMERCE_HARDWARE_SUMMARY","sessionData","JSON","parse","React","createElement","swapButton","ctaLinkLabel","onClick","className","Styles","disabled","Fragment","style","display","alignItems","gap","redirectOnly","productBasedCheckoutUrl","url","window","location","href","_b","_c","benefits","length","_d","includes","ICONIC_FLEX_UPGRADE_BENEFIT","_e","hardwareVariant","selectedContractType","CONTRACT","buttontext","addToCartBtnTxt","notEligibleTooltipBody","ToolTip","RichText","heading","notEligibleTooltipHeading","variant","body","GenericModal","modalState","handler","showFooter","width","height","backgroundColor","noCloseButton","backDrop","bodyPadding","WorldPassPopup","Object","keys","checkAvailability"],"mappings":"gXASA,MAAMA,EAA2C,EAC/CC,eACAC,iBACAC,YACAC,eACAC,YACAC,cACAC,UACAC,eACAC,wBACAC,uBACAC,UACAC,uBACAC,gBACAC,mCAEA,MAAOC,EAAeC,GAAoBC,GAAkB,IACrDC,EAAYC,GAAeF,GAAkB,IAC7CG,EAAiBC,GAAuBJ,EAAc,IAmC7D,OAfAK,EAAU,WACJT,IAAmBZ,IAAiBK,IAAgBE,GAAqC,MAApBH,aAAS,EAATA,EAAWkB,OAAgBX,KAA2D,UAAlCH,aAAqB,EAArBA,EAAuBe,mBAAW,IAAAC,OAAA,EAAAA,EAAEC,KAC/JP,GAAY,GAEZA,GAAY,IAEb,CAACf,EAAcC,EAAWC,EAAaO,IAExCS,EAAU,KACR,MAAMK,EAAMC,eAAeC,QAAQC,GAC7BC,EAAcJ,GAAOK,KAAKC,MAAMN,GACtCN,EAAoBU,IACnB,IAIHG,EAAAC,cAAA,MAAA,KACGlC,GACCG,aAAY,EAAZA,EAAcgC,aACZhC,aAAY,EAAZA,EAAciC,eACZH,EAAAC,cAAA,IAAA,CAAGG,QAASpC,EAAgBqC,UAAW,GAAGrB,GAAcsB,EAAOC,YAC5DrC,aAAY,EAAZA,EAAciC,cAInBH,EAAAC,cAAAD,EAAAQ,SAAA,KACER,EAAAC,cAAA,MAAA,CAAKQ,MAAO,CAAEC,QAAS,OAAQC,WAAY,SAAUC,IAAK,QACxDZ,EAAAC,cAAA,SAAA,CACEI,UAAW,iBAAiBrB,GAAcsB,EAAOC,WACjDH,QA3CM,oBACd3B,eAAAA,EAASoC,gBAAgD,QAAhCtB,EAAAd,eAAAA,EAASqC,+BAAuB,IAAAvB,OAAA,EAAAA,EAAEwB,KAC7DC,OAAOC,SAASC,KAAuC,QAAhCC,EAAA1C,eAAAA,EAASqC,+BAAuB,IAAAK,OAAA,EAAAA,EAAEJ,KAE1B,QAA/BK,EAAA7C,aAAqB,EAArBA,EAAuB8C,gBAAQ,IAAAD,OAAA,EAAAA,EAAEE,QAAS,IACX,QAA/BC,EAAAhD,aAAqB,EAArBA,EAAuB8C,gBAAQ,IAAAE,OAAA,EAAAA,EAAEC,SAASC,MACV,QAAhCC,EAAAxC,aAAe,EAAfA,EAAiByC,uBAAe,IAAAD,OAAA,EAAAA,EAAEE,wBAAyBC,EAE3D/C,GAAiB,GAEjBd,KAkCUuC,SAAUvB,
|
|
1
|
+
{"version":3,"file":"CheckoutButton.js","sources":["../../../../src/components/StaticLineTable/CheckoutButton.tsx"],"sourcesContent":["import React, { FC, useEffect, useState } from 'react';\r\nimport Styles from './StaticLineTable.module.scss';\r\nimport { CheckoutButtonSchema } from './StaticProductDatatypes';\r\nimport GenericModal from '../LineCheckV3/GenericModal';\r\nimport WorldPassPopup from './WorldPassPopup';\r\nimport { CONTRACT, ICONIC_FLEX_UPGRADE_BENEFIT, ONE_ECOMMERCE_HARDWARE_SUMMARY } from '../../utils/constants';\r\nimport ToolTip from '../ToolTip/ToolTip';\r\nimport RichText from '../richtext';\r\n\r\nconst CheckoutButton: FC<CheckoutButtonSchema> = ({\r\n isMobileFlow,\r\n createCartCall,\r\n constants,\r\n storyContent,\r\n showPrice,\r\n isAvailable,\r\n address,\r\n alwaysActive,\r\n uniqueProductBenefits,\r\n flexUpgradeFreePopup,\r\n content,\r\n deviceUltimateBundle,\r\n forceDisabled,\r\n notEligibileReason\r\n}) => {\r\n const [showFlexPopUp, setShowFlexPopUp] = useState<boolean>(false);\r\n const [isDisabled, setDisabled] = useState<boolean>(false);\r\n const [sessionFlexData, setSessionFlexPrice] = useState<any>('')\r\n\r\n const handleClose = () => {\r\n setShowFlexPopUp(!showFlexPopUp);\r\n };\r\n\r\n const handlePopup = () => {\r\n if (content?.redirectOnly && content?.productBasedCheckoutUrl?.url) {\r\n window.location.href = content?.productBasedCheckoutUrl?.url;\r\n } else if (\r\n uniqueProductBenefits?.benefits?.length > 0 &&\r\n uniqueProductBenefits?.benefits?.includes(ICONIC_FLEX_UPGRADE_BENEFIT) &&\r\n sessionFlexData?.hardwareVariant?.selectedContractType === CONTRACT\r\n ) {\r\n setShowFlexPopUp(true);\r\n } else {\r\n createCartCall();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (forceDisabled || (!isMobileFlow && !isAvailable && !alwaysActive) || showPrice?.base === '' || (deviceUltimateBundle && !uniqueProductBenefits?.eligibility?.fpb)) {\r\n setDisabled(true);\r\n } else {\r\n setDisabled(false);\r\n }\r\n }, [storyContent, showPrice, isAvailable, forceDisabled]);\r\n\r\n useEffect(() => {\r\n const obj = sessionStorage.getItem(ONE_ECOMMERCE_HARDWARE_SUMMARY);\r\n const sessionData = obj && JSON.parse(obj);\r\n setSessionFlexPrice(sessionData);\r\n }, []);\r\n\r\n \r\n return (\r\n <div>\r\n {isMobileFlow ? (\r\n storyContent?.swapButton ? (\r\n storyContent?.ctaLinkLabel && (\r\n <a onClick={createCartCall} className={`${isDisabled && Styles.disabled}`}>\r\n {storyContent?.ctaLinkLabel}\r\n </a>\r\n )\r\n ) : (\r\n <>\r\n <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>\r\n <button\r\n className={`primarybutton ${isDisabled && Styles.disabled}`}\r\n onClick={handlePopup}\r\n disabled={isDisabled}\r\n style={{ flex: 1 }}\r\n >\r\n <span className={Styles.buttontext}>{constants?.addToCartBtnTxt}</span>\r\n </button>\r\n {notEligibileReason && constants?.notEligibleTooltipBody && (\r\n <ToolTip\r\n content={<RichText content={constants?.notEligibleTooltipBody} />}\r\n heading={constants?.notEligibleTooltipHeading\r\n ? <RichText content={constants?.notEligibleTooltipHeading} />\r\n : ''}\r\n variant='error'\r\n />\r\n )}\r\n </div>\r\n\r\n {sessionFlexData?.hardwareVariant?.selectedContractType === CONTRACT &&\r\n showFlexPopUp &&\r\n flexUpgradeFreePopup?.body?.length > 0 && (\r\n <GenericModal\r\n modalState={showFlexPopUp}\r\n handler={handleClose}\r\n showFooter={false}\r\n width={'600px'}\r\n height='auto'\r\n backgroundColor='#ffffff'\r\n noCloseButton={false}\r\n backDrop={true}\r\n bodyPadding='16px'\r\n >\r\n <WorldPassPopup\r\n storyContent={flexUpgradeFreePopup}\r\n createCartCall={createCartCall}\r\n setShowFlexPopUp={setShowFlexPopUp}\r\n sessionFlexData={sessionFlexData}\r\n />\r\n </GenericModal>\r\n )}\r\n </>\r\n )\r\n ) : (\r\n <>\r\n {address && Object?.keys(address)?.length > 0 && !alwaysActive ? (\r\n <>\r\n <button\r\n className={`primarybutton ${isDisabled && Styles.disabled}`}\r\n onClick={createCartCall}\r\n disabled={isDisabled}\r\n >\r\n <span className={Styles.buttontext}>{constants?.addToCartBtnTxt}</span>\r\n </button>\r\n </>\r\n ) : (\r\n <button onClick={createCartCall} className='configurebutton'>\r\n <span>{constants?.checkAvailability}</span>\r\n </button>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default CheckoutButton;\r\n"],"names":["CheckoutButton","isMobileFlow","createCartCall","constants","storyContent","showPrice","isAvailable","address","alwaysActive","uniqueProductBenefits","flexUpgradeFreePopup","content","deviceUltimateBundle","forceDisabled","notEligibileReason","showFlexPopUp","setShowFlexPopUp","useState","isDisabled","setDisabled","sessionFlexData","setSessionFlexPrice","useEffect","base","eligibility","_a","fpb","obj","sessionStorage","getItem","ONE_ECOMMERCE_HARDWARE_SUMMARY","sessionData","JSON","parse","React","createElement","swapButton","ctaLinkLabel","onClick","className","Styles","disabled","Fragment","style","display","alignItems","gap","redirectOnly","productBasedCheckoutUrl","url","window","location","href","_b","_c","benefits","length","_d","includes","ICONIC_FLEX_UPGRADE_BENEFIT","_e","hardwareVariant","selectedContractType","CONTRACT","flex","buttontext","addToCartBtnTxt","notEligibleTooltipBody","ToolTip","RichText","heading","notEligibleTooltipHeading","variant","body","GenericModal","modalState","handler","showFooter","width","height","backgroundColor","noCloseButton","backDrop","bodyPadding","WorldPassPopup","Object","keys","checkAvailability"],"mappings":"gXASA,MAAMA,EAA2C,EAC/CC,eACAC,iBACAC,YACAC,eACAC,YACAC,cACAC,UACAC,eACAC,wBACAC,uBACAC,UACAC,uBACAC,gBACAC,mCAEA,MAAOC,EAAeC,GAAoBC,GAAkB,IACrDC,EAAYC,GAAeF,GAAkB,IAC7CG,EAAiBC,GAAuBJ,EAAc,IAmC7D,OAfAK,EAAU,WACJT,IAAmBZ,IAAiBK,IAAgBE,GAAqC,MAApBH,aAAS,EAATA,EAAWkB,OAAgBX,KAA2D,UAAlCH,aAAqB,EAArBA,EAAuBe,mBAAW,IAAAC,OAAA,EAAAA,EAAEC,KAC/JP,GAAY,GAEZA,GAAY,IAEb,CAACf,EAAcC,EAAWC,EAAaO,IAExCS,EAAU,KACR,MAAMK,EAAMC,eAAeC,QAAQC,GAC7BC,EAAcJ,GAAOK,KAAKC,MAAMN,GACtCN,EAAoBU,IACnB,IAIHG,EAAAC,cAAA,MAAA,KACGlC,GACCG,aAAY,EAAZA,EAAcgC,aACZhC,aAAY,EAAZA,EAAciC,eACZH,EAAAC,cAAA,IAAA,CAAGG,QAASpC,EAAgBqC,UAAW,GAAGrB,GAAcsB,EAAOC,YAC5DrC,aAAY,EAAZA,EAAciC,cAInBH,EAAAC,cAAAD,EAAAQ,SAAA,KACER,EAAAC,cAAA,MAAA,CAAKQ,MAAO,CAAEC,QAAS,OAAQC,WAAY,SAAUC,IAAK,QACxDZ,EAAAC,cAAA,SAAA,CACEI,UAAW,iBAAiBrB,GAAcsB,EAAOC,WACjDH,QA3CM,oBACd3B,eAAAA,EAASoC,gBAAgD,QAAhCtB,EAAAd,eAAAA,EAASqC,+BAAuB,IAAAvB,OAAA,EAAAA,EAAEwB,KAC7DC,OAAOC,SAASC,KAAuC,QAAhCC,EAAA1C,eAAAA,EAASqC,+BAAuB,IAAAK,OAAA,EAAAA,EAAEJ,KAE1B,QAA/BK,EAAA7C,aAAqB,EAArBA,EAAuB8C,gBAAQ,IAAAD,OAAA,EAAAA,EAAEE,QAAS,IACX,QAA/BC,EAAAhD,aAAqB,EAArBA,EAAuB8C,gBAAQ,IAAAE,OAAA,EAAAA,EAAEC,SAASC,MACV,QAAhCC,EAAAxC,aAAe,EAAfA,EAAiByC,uBAAe,IAAAD,OAAA,EAAAA,EAAEE,wBAAyBC,EAE3D/C,GAAiB,GAEjBd,KAkCUuC,SAAUvB,EACVyB,MAAO,CAAEqB,KAAM,IAEf9B,EAAAC,cAAA,OAAA,CAAMI,UAAWC,EAAOyB,YAAa9D,aAAS,EAATA,EAAW+D,kBAEjDpD,IAAsBX,aAAS,EAATA,EAAWgE,yBAChCjC,EAAAC,cAACiC,GACCzD,QAASuB,gBAACmC,EAAQ,CAAC1D,QAASR,eAAAA,EAAWgE,yBACvCG,SAASnE,aAAS,EAATA,EAAWoE,2BAChBrC,EAAAC,cAACkC,EAAQ,CAAC1D,QAASR,aAAS,EAATA,EAAWoE,4BAC9B,GACJC,QAAQ,YAKmB,QAAhC/C,EAAAL,aAAe,EAAfA,EAAiByC,uBAAe,IAAApC,OAAA,EAAAA,EAAEqC,wBAAyBC,GACxDhD,IAC0B,QAA1BsC,EAAA3C,eAAAA,EAAsB+D,YAAI,IAAApB,OAAA,EAAAA,EAAEG,QAAS,GACnCtB,EAAAC,cAACuC,EAAY,CACXC,WAAY5D,EACZ6D,QArEE,KAClB5D,GAAkBD,IAqEF8D,YAAY,EACZC,MAAO,QACPC,OAAO,OACPC,gBAAgB,UAChBC,eAAe,EACfC,UAAU,EACVC,YAAY,QAEZjD,EAAAC,cAACiD,EAAc,CACbhF,aAAcM,EACdR,eAAgBA,EAChBc,iBAAkBA,EAClBI,gBAAiBA,MAO/Bc,EAAAC,cAAAD,EAAAQ,SAAA,KACGnC,IAAgC,QAArB+C,EAAA+B,kBAAM,EAANA,OAAQC,KAAK/E,UAAQ,IAAA+C,OAAA,EAAAA,EAAEE,QAAS,IAAMhD,EAChD0B,EAAAC,cAAAD,EAAAQ,SAAA,KACER,EAAAC,cAAA,SAAA,CACEI,UAAW,iBAAiBrB,GAAcsB,EAAOC,WACjDH,QAASpC,EACTuC,SAAUvB,GAEVgB,EAAAC,cAAA,OAAA,CAAMI,UAAWC,EAAOyB,YAAa9D,aAAS,EAATA,EAAW+D,mBAIpDhC,EAAAC,cAAA,SAAA,CAAQG,QAASpC,EAAgBqC,UAAU,mBACzCL,EAAAC,cAAA,OAAA,KAAOhC,aAAS,EAATA,EAAWoF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.card_sIWek.sr-card_nSaJ3{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}.card_sIWek.border-top_zgR4a{border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -2px 20px 0 rgba(61,57,53,.2);border:none}@media (min-width:768px){.sr-desk-card_QQ6H7{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (max-width:767px){.sr-mob-card_xJXnd{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (min-width:1024px){.sr-md-card_JNBjc{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}.tabblock_OXDQd .tabcontainer_BvX7d{border:1px solid #3d3935;border-radius:32px;display:flex;margin-bottom:0;width:auto;padding:4px}@media (max-width:767px){.tabblock_OXDQd .tabcontainer_BvX7d{border-radius:8px}}.tabblock_OXDQd .tabcontent_8qSfh{align-items:center;border-radius:35px;cursor:pointer;display:flex;font-size:16px;font-weight:700;justify-content:center;line-height:24px;padding:8px 12px}@media (max-width:767px){.tabblock_OXDQd .tabcontent_8qSfh{border-radius:8px}}.tabblock_OXDQd .tabcontentactive_0VWZG{background-color:#da291c;border-radius:35px;color:#fff!important}.tabblock_OXDQd .tabcontentactive_0VWZG:hover{background-color:#961c13}@media (max-width:767px){.tabblock_OXDQd .tabcontentactive_0VWZG{border-radius:8px}}.tabblock_OXDQd .tabcontentinactive_lMaGs:hover{color:#961c13}.tabblock_OXDQd input[type=radio]{display:none}.carouselWrapper_9xI2j{min-height:420px}@media (max-width:767px){.carouselWrapper_9xI2j{min-height:320px}}.titlecontainer_vhfov .title_S5CC7{font-size:24px;font-weight:700;line-height:30px;padding-top:20px;text-align:center}.titlecontainer_vhfov .description_IoWLP{font-size:16px;font-weight:24px;text-align:center}.selected_RMX1r{align-items:center;color:#606060;display:inline-flex;font-size:16px;font-weight:500;line-height:24px;margin-bottom:12px;margin-right:50px;margin-top:4px}.selected_RMX1r .activeicon_DwS4K,.selected_RMX1r .inactiveicon_ek-0-{height:24px;margin-right:12px;width:24px}.productcenter_scRU7{text-align:center}.bundleproductcard_KYHf7,.productcenter_scRU7{align-items:center;flex-direction:column;height:100%;margin-left:10px;margin-right:10px}.bundleproductcard_KYHf7{text-align:left}@media (max-width:767px){.bundleproductcard_KYHf7{margin-left:8px;margin-right:8px}}.flexgrid_uuyAX{display:flex}.productcontainer_CA-5u{background-color:#fff;border:0;border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);justify-content:space-between;padding:0;position:relative}.productcontainer_CA-5u>:not(.highlightText_z2WSp):not(.promocontainer_Ub07A):not(.timerContainer_N67wz):not(.imageFullWidthSection_WSroa){padding-left:16px;padding-right:16px}.productcontainer_CA-5u>.timerContainer_N67wz,.timerContainer_N67wz{padding-left:0;padding-right:0}.highlightBorder_dEWeh{border:4px solid #587467;border-radius:8px}.highlightText_z2WSp{align-items:center;background-color:#587467;border-radius:8px;color:#fff;display:flex;flex-direction:row;font-size:14px;font-weight:700;justify-content:center;left:28px;line-height:20px;min-height:24px;padding:4px 8px;position:absolute;top:-18px;width:fit-content}.headersection_ed21u{padding-bottom:8px}.titlesection_DMlAo{align-items:flex-start;display:flex;justify-content:space-between}.productheader_Z2vjX{font-size:28px;font-weight:700;line-height:36px;margin-bottom:8px;padding-top:16px}.productdescription_VdyCK{color:#587467;font-size:16px;font-weight:400;line-height:24px;margin-top:-7px}.images_Go1Hf{display:flex;justify-content:center;margin-top:30px;width:100%}.imagespace_Dy1x3{display:block;height:auto;max-width:100%;overflow:hidden;width:100%;margin:0}.borderimage_2x-l3{margin:-4px}.imageFullWidthSection_WSroa{padding-left:0;padding-right:0}.imageFullWidthSection_WSroa>.headersection_ed21u>.productdescription_VdyCK,.imageFullWidthSection_WSroa>.headersection_ed21u>.titlesection_DMlAo,.imageFullWidthSection_WSroa>.productconfig_oBL4Y{padding-left:16px;padding-right:16px}.ordersection_04k-y{border-top:1px solid #e6e3df;margin-top:15px;padding:8px;text-align:center}.pricesection_U7U-s{justify-content:center}.productcontractduration_dzt25{font-size:12px;font-weight:400;line-height:16px}.productdetailslink_Dzs8e{color:#da291c;cursor:pointer;font-size:16px;line-height:24px;text-decoration:underline}.benefitssection_7J8jk{padding-top:16px}.overlay_pa3Q8{cursor:default;display:block;opacity:.4;pointer-events:none}.addsmartphone_12--5 img{margin-right:10px;vertical-align:bottom}.discountedpricetoggleSection_QYGam{margin-top:18px}.promocontainer_Ub07A{align-items:center;background:#2e6199;border-radius:4px;color:#fff;display:flex;flex-direction:row;font-size:14px;font-weight:700;justify-content:center;left:16px;line-height:20px;min-height:24px;padding:4px 8px;position:absolute;top:-18px;width:fit-content}.disabled_97Dzp{
|
|
1
|
+
.card_sIWek.sr-card_nSaJ3{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}.card_sIWek.border-top_zgR4a{border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -2px 20px 0 rgba(61,57,53,.2);border:none}@media (min-width:768px){.sr-desk-card_QQ6H7{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (max-width:767px){.sr-mob-card_xJXnd{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (min-width:1024px){.sr-md-card_JNBjc{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}.tabblock_OXDQd .tabcontainer_BvX7d{border:1px solid #3d3935;border-radius:32px;display:flex;margin-bottom:0;width:auto;padding:4px}@media (max-width:767px){.tabblock_OXDQd .tabcontainer_BvX7d{border-radius:8px}}.tabblock_OXDQd .tabcontent_8qSfh{align-items:center;border-radius:35px;cursor:pointer;display:flex;font-size:16px;font-weight:700;justify-content:center;line-height:24px;padding:8px 12px}@media (max-width:767px){.tabblock_OXDQd .tabcontent_8qSfh{border-radius:8px}}.tabblock_OXDQd .tabcontentactive_0VWZG{background-color:#da291c;border-radius:35px;color:#fff!important}.tabblock_OXDQd .tabcontentactive_0VWZG:hover{background-color:#961c13}@media (max-width:767px){.tabblock_OXDQd .tabcontentactive_0VWZG{border-radius:8px}}.tabblock_OXDQd .tabcontentinactive_lMaGs:hover{color:#961c13}.tabblock_OXDQd input[type=radio]{display:none}.carouselWrapper_9xI2j{min-height:420px}@media (max-width:767px){.carouselWrapper_9xI2j{min-height:320px}}.titlecontainer_vhfov .title_S5CC7{font-size:24px;font-weight:700;line-height:30px;padding-top:20px;text-align:center}.titlecontainer_vhfov .description_IoWLP{font-size:16px;font-weight:24px;text-align:center}.selected_RMX1r{align-items:center;color:#606060;display:inline-flex;font-size:16px;font-weight:500;line-height:24px;margin-bottom:12px;margin-right:50px;margin-top:4px}.selected_RMX1r .activeicon_DwS4K,.selected_RMX1r .inactiveicon_ek-0-{height:24px;margin-right:12px;width:24px}.productcenter_scRU7{text-align:center}.bundleproductcard_KYHf7,.productcenter_scRU7{align-items:center;flex-direction:column;height:100%;margin-left:10px;margin-right:10px}.bundleproductcard_KYHf7{text-align:left}@media (max-width:767px){.bundleproductcard_KYHf7{margin-left:8px;margin-right:8px}}.flexgrid_uuyAX{display:flex}.productcontainer_CA-5u{background-color:#fff;border:0;border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);justify-content:space-between;padding:0;position:relative}.productcontainer_CA-5u>:not(.highlightText_z2WSp):not(.promocontainer_Ub07A):not(.timerContainer_N67wz):not(.imageFullWidthSection_WSroa){padding-left:16px;padding-right:16px}.productcontainer_CA-5u>.timerContainer_N67wz,.timerContainer_N67wz{padding-left:0;padding-right:0}.highlightBorder_dEWeh{border:4px solid #587467;border-radius:8px}.highlightText_z2WSp{align-items:center;background-color:#587467;border-radius:8px;color:#fff;display:flex;flex-direction:row;font-size:14px;font-weight:700;justify-content:center;left:28px;line-height:20px;min-height:24px;padding:4px 8px;position:absolute;top:-18px;width:fit-content}.headersection_ed21u{padding-bottom:8px}.titlesection_DMlAo{align-items:flex-start;display:flex;justify-content:space-between}.productheader_Z2vjX{font-size:28px;font-weight:700;line-height:36px;margin-bottom:8px;padding-top:16px}.productdescription_VdyCK{color:#587467;font-size:16px;font-weight:400;line-height:24px;margin-top:-7px}.images_Go1Hf{display:flex;justify-content:center;margin-top:30px;width:100%}.imagespace_Dy1x3{display:block;height:auto;max-width:100%;overflow:hidden;width:100%;margin:0}.borderimage_2x-l3{margin:-4px}.imageFullWidthSection_WSroa{padding-left:0;padding-right:0}.imageFullWidthSection_WSroa>.headersection_ed21u>.productdescription_VdyCK,.imageFullWidthSection_WSroa>.headersection_ed21u>.titlesection_DMlAo,.imageFullWidthSection_WSroa>.productconfig_oBL4Y{padding-left:16px;padding-right:16px}.ordersection_04k-y{border-top:1px solid #e6e3df;margin-top:15px;padding:8px;text-align:center}.pricesection_U7U-s{justify-content:center}.productcontractduration_dzt25{font-size:12px;font-weight:400;line-height:16px}.productdetailslink_Dzs8e{color:#da291c;cursor:pointer;font-size:16px;line-height:24px;text-decoration:underline}.benefitssection_7J8jk{padding-top:16px}.overlay_pa3Q8{cursor:default;display:block;opacity:.4;pointer-events:none}.addsmartphone_12--5 img{margin-right:10px;vertical-align:bottom}.discountedpricetoggleSection_QYGam{margin-top:18px}.promocontainer_Ub07A{align-items:center;background:#2e6199;border-radius:4px;color:#fff;display:flex;flex-direction:row;font-size:14px;font-weight:700;justify-content:center;left:16px;line-height:20px;min-height:24px;padding:4px 8px;position:absolute;top:-18px;width:fit-content}.disabled_97Dzp{background-color:#eee!important;border-color:#eee!important;color:#858585!important;cursor:not-allowed;display:inline-block;margin-right:6px}.disabled_97Dzp .buttontext_CAfOt{color:#858585!important;font-weight:500}.buttontext_CAfOt{font-size:16px;line-height:24px;color:#fff;font-weight:700;text-align:center}.swapButton_2SyEm{display:flex;flex-direction:column-reverse}.longterm_9o3ba{padding-top:4px;font-size:14px;line-height:20px}.disabledInfo_Xceta{margin-left:10px;margin-right:10px}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import l from"react";import e from"../ProductDetailsV3/CashBackV2/CashbackV2.module.scss.js";import a from"../ToolTip/ToolTip.js";const i=({uniqueProductData:i,mainContent:o})=>{var n,t,c,d,s,v,r,u,m,h,p,k,f,b;const E=null!==(d=null===(c=null===(t=null===(n=null==i?void 0:i[0])||void 0===n?void 0:n.promotionInfo)||void 0===t?void 0:t[0])||void 0===c?void 0:c.cashBack)&&void 0!==d?d:null===(u=null===(r=null===(v=null===(s=null==i?void 0:i[0])||void 0===s?void 0:s.bundledOffers)||void 0===v?void 0:v.flatMap(l=>{var e;return null!==(e=null==l?void 0:l.promotionInfo)&&void 0!==e?e:[]}))||void 0===r?void 0:r.find(l=>null==l?void 0:l.cashBack))||void 0===u?void 0:u.cashBack,N=null===(m=null==o?void 0:o.cashBackSection)||void 0===m?void 0:m[0];if(!E||!N)return null;const g=null===(p=null===(h=null==i?void 0:i[0])||void 0===h?void 0:h.rewards)||void 0===p?void 0:p.points,B=(null!==(k=null==N?void 0:N.title)&&void 0!==k?k:"").replace("{0}",E).replace("{1}",null!=g?g:"");return l.createElement("div",null,l.createElement("div",{className:`${e.cashbackcontainer} cashbackv2container`},l.createElement("div",{className:e.cashbackmodule},l.createElement("div",null,l.createElement("span",{className:e.cashbackicon},l.createElement("img",{src:null===(f=null==N?void 0:N.icon)||void 0===f?void 0:f.filename,alt:"cashback",width:24,height:24})),l.createElement("span",{className:e.cashbacktitle},B),l.createElement("span",{className:e.cashbacktooltip},(null==N?void 0:N.tooltiptext)&&l.createElement(a,{content:null==N?void 0:N.tooltiptext}))),l.createElement("div",{className:e.cashbackimage},l.createElement("img",{src:null===(b=null==N?void 0:N.image)||void 0===b?void 0:b.filename,alt:"cashback",width:64,height:64}),l.createElement("span",{className:e.cashbackdescription},null==N?void 0:N.description)))))};export{i as default};
|
|
2
2
|
//# sourceMappingURL=StaticProductCashback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticProductCashback.js","sources":["../../../../src/components/StaticLineTable/StaticProductCashback.tsx"],"sourcesContent":["import React, { JSX } from 'react';\r\nimport Styles from '../ProductDetailsV3/CashBackV2/CashbackV2.module.scss';\r\nimport ToolTip from '../ToolTip/ToolTip';\r\n\r\ninterface StaticProductCashbackProps {\r\n /** Full offer-API response array for this product (uniqueProductData) */\r\n uniqueProductData: any[];\r\n /** Top-level CMS content (mainContent from productTableV3) */\r\n mainContent: any;\r\n}\r\n\r\n/**\r\n * Renders the cashback + rewards-points section for a product card.\r\n *\r\n * Visibility logic:\r\n * - The offer API must return `promotionInfo[0].cashBack` (the cashback amount).\r\n * - The CMS must have `cashBackSection[0]` configured on the productTableV3 block.\r\n * - If either is absent nothing is rendered.\r\n *\r\n * Title placeholders (both optional):\r\n * {0} → replaced with promotionInfo[0].cashBack (e.g. \"100\")\r\n * {1} → replaced with rewards.points (e.g. \"500\")\r\n *\r\n * Example CMS title: \"{0}.– Rewards bonus (using {1} points)\"\r\n * Renders as: \"100.- Rewards bonus (using 500 points)\"\r\n *\r\n * If rewards.points is absent the {1} placeholder is simply removed.\r\n *\r\n * Keeping this self-contained makes it easy to remove the entire feature by\r\n * deleting this file and its single usage in StaticProduct.\r\n */\r\nconst StaticProductCashback = ({\r\n uniqueProductData,\r\n mainContent\r\n}: StaticProductCashbackProps): JSX.Element | null => {\r\n const cashbackAmount
|
|
1
|
+
{"version":3,"file":"StaticProductCashback.js","sources":["../../../../src/components/StaticLineTable/StaticProductCashback.tsx"],"sourcesContent":["import React, { JSX } from 'react';\r\nimport Styles from '../ProductDetailsV3/CashBackV2/CashbackV2.module.scss';\r\nimport ToolTip from '../ToolTip/ToolTip';\r\n\r\ninterface StaticProductCashbackProps {\r\n /** Full offer-API response array for this product (uniqueProductData) */\r\n uniqueProductData: any[];\r\n /** Top-level CMS content (mainContent from productTableV3) */\r\n mainContent: any;\r\n}\r\n\r\n/**\r\n * Renders the cashback + rewards-points section for a product card.\r\n *\r\n * Visibility logic:\r\n * - The offer API must return `promotionInfo[0].cashBack` (the cashback amount).\r\n * - The CMS must have `cashBackSection[0]` configured on the productTableV3 block.\r\n * - If either is absent nothing is rendered.\r\n *\r\n * Title placeholders (both optional):\r\n * {0} → replaced with promotionInfo[0].cashBack (e.g. \"100\")\r\n * {1} → replaced with rewards.points (e.g. \"500\")\r\n *\r\n * Example CMS title: \"{0}.– Rewards bonus (using {1} points)\"\r\n * Renders as: \"100.- Rewards bonus (using 500 points)\"\r\n *\r\n * If rewards.points is absent the {1} placeholder is simply removed.\r\n *\r\n * Keeping this self-contained makes it easy to remove the entire feature by\r\n * deleting this file and its single usage in StaticProduct.\r\n */\r\nconst StaticProductCashback = ({\r\n uniqueProductData,\r\n mainContent\r\n}: StaticProductCashbackProps): JSX.Element | null => {\r\n // cashBack lives on the bundled internet offer's promotionInfo, not the root product\r\n const cashbackAmount =\r\n uniqueProductData?.[0]?.promotionInfo?.[0]?.cashBack ??\r\n uniqueProductData?.[0]?.bundledOffers\r\n ?.flatMap((o: any) => o?.promotionInfo ?? [])\r\n ?.find((p: any) => p?.cashBack)?.cashBack;\r\n const section = mainContent?.cashBackSection?.[0];\r\n\r\n if (!cashbackAmount || !section) return null;\r\n\r\n const points: string | undefined = uniqueProductData?.[0]?.rewards?.points;\r\n\r\n const title = (section?.title ?? '')\r\n .replace('{0}', cashbackAmount)\r\n .replace('{1}', points ?? '');\r\n\r\n return (\r\n <div>\r\n <div className={`${Styles.cashbackcontainer} cashbackv2container`}>\r\n <div className={Styles.cashbackmodule}>\r\n <div>\r\n <span className={Styles.cashbackicon}>\r\n <img src={section?.icon?.filename} alt='cashback' width={24} height={24} />\r\n </span>\r\n <span className={Styles.cashbacktitle}>{title}</span>\r\n <span className={Styles.cashbacktooltip}>\r\n {section?.tooltiptext && <ToolTip content={section?.tooltiptext} />}\r\n </span>\r\n </div>\r\n <div className={Styles.cashbackimage}>\r\n <img src={section?.image?.filename} alt='cashback' width={64} height={64} />\r\n <span className={Styles.cashbackdescription}>{section?.description}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default StaticProductCashback;\r\n\r\n"],"names":["StaticProductCashback","uniqueProductData","mainContent","cashbackAmount","_d","_c","_b","_a","promotionInfo","cashBack","_h","_g","_f","_e","bundledOffers","flatMap","o","find","p","section","_j","cashBackSection","points","_l","_k","rewards","title","_m","replace","React","createElement","className","Styles","cashbackcontainer","cashbackmodule","cashbackicon","src","_o","icon","filename","alt","width","height","cashbacktitle","cashbacktooltip","tooltiptext","ToolTip","content","cashbackimage","_p","image","cashbackdescription","description"],"mappings":"kIA+BA,MAAMA,EAAwB,EAC5BC,oBACAC,kDAGA,MAAMC,EACgD,QAApDC,EAA0C,QAA1CC,EAAqC,QAArCC,EAAsB,UAAtBL,aAAiB,EAAjBA,EAAoB,UAAE,IAAAM,OAAA,EAAAA,EAAEC,qBAAa,IAAAF,OAAA,EAAAA,EAAG,UAAE,IAAAD,OAAA,EAAAA,EAAEI,gBAAQ,IAAAL,EAAAA,EAGnB,QAFjCM,EAC+C,QAD/CC,EAAqC,QAArCC,EAAsB,UAAtBX,aAAiB,EAAjBA,EAAoB,UAAE,IAAAY,OAAA,EAAAA,EAAEC,qBAAa,IAAAF,OAAA,EAAAA,EACjCG,QAASC,IAAU,IAAAT,EAAC,OAAgB,UAAhBS,aAAC,EAADA,EAAGR,qBAAa,IAAAD,EAAAA,EAAI,YAAG,IAAAI,OAAA,EAAAA,EAC3CM,KAAMC,GAAWA,aAAC,EAADA,EAAGT,iBAAS,IAAAC,OAAA,EAAAA,EAAED,SAC/BU,EAAsC,QAA5BC,EAAAlB,aAAW,EAAXA,EAAamB,uBAAe,IAAAD,OAAA,EAAAA,EAAG,GAE/C,IAAKjB,IAAmBgB,EAAS,OAAO,KAExC,MAAMG,EAA4D,QAA/BC,EAAsB,QAAtBC,EAAAvB,aAAiB,EAAjBA,EAAoB,UAAE,IAAAuB,OAAA,EAAAA,EAAEC,eAAO,IAAAF,OAAA,EAAAA,EAAED,OAE9DI,GAAuB,QAAdC,EAAAR,aAAO,EAAPA,EAASO,aAAK,IAAAC,EAAAA,EAAI,IAC9BC,QAAQ,MAAOzB,GACfyB,QAAQ,MAAON,QAAAA,EAAU,IAE5B,OACEO,EAAAC,cAAA,MAAA,KACED,EAAAC,cAAA,MAAA,CAAKC,UAAW,GAAGC,EAAOC,yCACxBJ,EAAAC,cAAA,MAAA,CAAKC,UAAWC,EAAOE,gBACrBL,EAAAC,cAAA,MAAA,KACED,EAAAC,cAAA,OAAA,CAAMC,UAAWC,EAAOG,cACtBN,EAAAC,cAAA,MAAA,CAAKM,IAAkB,QAAbC,EAAAlB,aAAO,EAAPA,EAASmB,YAAI,IAAAD,OAAA,EAAAA,EAAEE,SAAUC,IAAI,WAAWC,MAAO,GAAIC,OAAQ,MAEvEb,EAAAC,cAAA,OAAA,CAAMC,UAAWC,EAAOW,eAAgBjB,GACxCG,EAAAC,cAAA,OAAA,CAAMC,UAAWC,EAAOY,kBACrBzB,aAAO,EAAPA,EAAS0B,cAAehB,EAAAC,cAACgB,EAAO,CAACC,QAAS5B,aAAO,EAAPA,EAAS0B,gBAGxDhB,EAAAC,cAAA,MAAA,CAAKC,UAAWC,EAAOgB,eACrBnB,EAAAC,cAAA,MAAA,CAAKM,IAAmB,QAAda,EAAA9B,aAAO,EAAPA,EAAS+B,aAAK,IAAAD,OAAA,EAAAA,EAAEV,SAAUC,IAAI,WAAWC,MAAO,GAAIC,OAAQ,KACtEb,EAAAC,cAAA,OAAA,CAAMC,UAAWC,EAAOmB,qBAAsBhC,eAAAA,EAASiC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.card_eq9Pj.sr-card_AL8-i{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}.card_eq9Pj.border-top_owz6e{border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -2px 20px 0 rgba(61,57,53,.2);border:none}@media (min-width:768px){.sr-desk-card_ss7EA{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (max-width:767px){.sr-mob-card_iNYOk{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (min-width:1024px){.sr-md-card_TrrAG{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}.tooltipicon_U5Rvt{height:24px;margin-left:4px;min-width:20px;width:24px;cursor:pointer}@media (max-width:767px){.tooltipicon_U5Rvt img{width:inherit;height:inherit}}.benefits_-gI-y img{width:20px!important;height:20px!important}.errorTrigger_R-1jN{display:inline-flex;align-items:center;cursor:pointer;margin-left:4px}.errorPopover_7wgbR{max-width:320px}.errorPopover_7wgbR .popover-body{padding:14px
|
|
1
|
+
.card_eq9Pj.sr-card_AL8-i{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}.card_eq9Pj.border-top_owz6e{border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -2px 20px 0 rgba(61,57,53,.2);border:none}@media (min-width:768px){.sr-desk-card_ss7EA{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (max-width:767px){.sr-mob-card_iNYOk{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}@media (min-width:1024px){.sr-md-card_TrrAG{border-radius:8px;box-shadow:0 2px 4px 0 rgba(87,84,82,.2);border:none;background-color:#fff;position:relative;display:flex;flex-direction:column}}.tooltipicon_U5Rvt{height:24px;margin-left:4px;min-width:20px;width:24px;cursor:pointer}@media (max-width:767px){.tooltipicon_U5Rvt img{width:inherit;height:inherit}}.benefits_-gI-y img{width:20px!important;height:20px!important}.errorTrigger_R-1jN{display:inline-flex;align-items:center;cursor:pointer;margin-left:4px}.errorPopover_7wgbR{max-width:320px}.errorPopover_7wgbR .popover-body{padding:14px 44px 14px 14px;position:relative}.errorPopoverLayout_3Agk-{display:flex;align-items:flex-start;gap:10px;position:relative}.errorPopoverWarningIcon_otRG6{flex-shrink:0;margin-top:7px}.errorPopoverContent_KVPLZ{flex:1 1 auto;min-width:0}.errorPopoverContent_KVPLZ p{margin:0}.errorPopoverContent_KVPLZ p:not(:last-child){margin-bottom:6px}.errorPopoverHeaderText_NIa1t{font-weight:700;line-height:1.25;margin-bottom:6px}.errorPopoverHeaderText_NIa1t h1,.errorPopoverHeaderText_NIa1t h2,.errorPopoverHeaderText_NIa1t h3,.errorPopoverHeaderText_NIa1t h4,.errorPopoverHeaderText_NIa1t h5,.errorPopoverHeaderText_NIa1t h6,.errorPopoverHeaderText_NIa1t p{margin:0;padding:0;font:inherit;display:inline}.errorPopoverCloseBtn_19Y--{position:absolute;top:8px;right:4px;background:transparent;border:none;padding:0;margin:0;line-height:0;cursor:pointer}.errorPopoverCloseBtn_19Y--:focus{outline:none}.errorPopoverCloseBtn_19Y-- img{display:block}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"./ToolTip.module.scss.js";import t,{useRef as
|
|
1
|
+
import e from"./ToolTip.module.scss.js";import t,{useRef as o,useState as r}from"react";import{OverlayTrigger as l,Popover as a}from"react-bootstrap";import{viewport as i,isTouchScreen as n}from"../../utils/utils.js";import{AssetPathPropConfig as s}from"../../services/LineTableBasicPropConfig.js";const c=({content:c,heading:m="",tooltipClass:g="",isBenefit:p=!1,variant:v="default"})=>{var d;const u=i(),h=n(),E=null===(d=null==s?void 0:s.getInstance())||void 0===d?void 0:d.getAssetPath(),f=o(null),C="error"===v,[w,b]=r(!1),L=C?"click":"mobile"===u||"tablet"===u||h?"click":"hover",P=C&&t.createElement("div",{className:e.errorPopoverLayout},E&&t.createElement("img",{src:`${E}/icons/tooltip-warning-icon.svg`,width:24,height:24,alt:"",className:e.errorPopoverWarningIcon}),t.createElement("div",{className:e.errorPopoverContent},""!==m&&t.createElement("div",{className:e.errorPopoverHeaderText},m),t.createElement("div",null,c)),t.createElement("button",{type:"button","aria-label":"Close",className:e.errorPopoverCloseBtn,onClick:e=>{e.stopPropagation(),b(!1)}},t.createElement("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0.21967 0.21967C0.512563 -0.0732233 0.987437 -0.0732233 1.28033 0.21967L6.75 5.68934L12.2197 0.21967C12.5126 -0.0732233 12.9874 -0.0732233 13.2803 0.21967C13.5732 0.512563 13.5732 0.987437 13.2803 1.28033L7.81066 6.75L13.2803 12.2197C13.5732 12.5126 13.5732 12.9874 13.2803 13.2803C12.9874 13.5732 12.5126 13.5732 12.2197 13.2803L6.75 7.81066L1.28033 13.2803C0.987437 13.5732 0.512563 13.5732 0.21967 13.2803C-0.0732233 12.9874 -0.0732233 12.5126 0.21967 12.2197L5.68934 6.75L0.21967 1.28033C-0.0732233 0.987437 -0.0732233 0.512563 0.21967 0.21967Z",fill:"white"})))),N=C?{show:w,onToggle:e=>b(e)}:{};return c&&t.createElement(l,Object.assign({placement:"auto",rootClose:!0,trigger:L},N,{overlay:c&&t.createElement(a,{id:"popover-basic",className:C?e.errorPopover:""},C?t.createElement(a.Body,null,P):t.createElement(t.Fragment,null,""!==m&&t.createElement(a.Header,null,m),t.createElement(a.Body,null,c)))}),t.createElement("div",{ref:f,className:`${e.tooltipicon} ${g} ${p?e.benefits:""} ${C?e.errorTrigger:""}`},C?E&&t.createElement("img",{src:`${E}/icons/red-info-icon.svg`,width:20,height:20,alt:""}):E&&t.createElement("img",{src:`${E}/icons/tooltip_icon.svg`,width:24,height:24,alt:""})))};export{c as default};
|
|
2
2
|
//# sourceMappingURL=ToolTip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolTip.js","sources":["../../../../src/components/ToolTip/ToolTip.tsx"],"sourcesContent":["import Styles from './ToolTip.module.scss';\r\nimport React, { JSX, useRef, useState } from 'react';\r\nimport { OverlayTrigger, Popover } from 'react-bootstrap';\r\nimport { isTouchScreen, viewport } from '../../utils/utils';\r\nimport { AssetPathPropConfig } from '../../services/LineTableBasicPropConfig';\r\n\r\nconst ToolTip = ({ content, heading = '', tooltipClass = '', isBenefit = false, variant = 'default' }: any): JSX.Element => {\r\n const viewPort = viewport();\r\n const touchDevice = isTouchScreen();\r\n const assetPath = AssetPathPropConfig?.getInstance()?.getAssetPath();\r\n const triggerRef = useRef<HTMLDivElement | null>(null);\r\n\r\n const isError = variant === 'error';\r\n // Error tooltip (rewards not-eligible) is controlled so the close (X) icon inside\r\n // the popover header can dismiss it and the trigger icon can toggle it on click.\r\n // Default variant keeps the original hover/click UX untouched.\r\n const [show, setShow] = useState<boolean>(false);\r\n const defaultTrigger: any =\r\n viewPort === 'mobile' || viewPort === 'tablet' || touchDevice ? 'click' : 'hover';\r\n // For the error variant we force click-only so the X button can reliably close it\r\n // (hover would immediately reopen when the pointer is still over the icon).\r\n const trigger: any = isError ? 'click' : defaultTrigger;\r\n\r\n // Error variant renders a two-column layout: warning icon on the left, and the\r\n // title+body content (usually authored as a single RichText block) on the right.\r\n // The close (X) icon is absolutely positioned in the top-right corner.\r\n const errorBody = isError && (\r\n <div className={Styles.errorPopoverLayout}>\r\n {assetPath && (\r\n <img\r\n src={`${assetPath}/icons/tooltip-warning-icon.svg`}\r\n width={
|
|
1
|
+
{"version":3,"file":"ToolTip.js","sources":["../../../../src/components/ToolTip/ToolTip.tsx"],"sourcesContent":["import Styles from './ToolTip.module.scss';\r\nimport React, { JSX, useRef, useState } from 'react';\r\nimport { OverlayTrigger, Popover } from 'react-bootstrap';\r\nimport { isTouchScreen, viewport } from '../../utils/utils';\r\nimport { AssetPathPropConfig } from '../../services/LineTableBasicPropConfig';\r\n\r\nconst ToolTip = ({ content, heading = '', tooltipClass = '', isBenefit = false, variant = 'default' }: any): JSX.Element => {\r\n const viewPort = viewport();\r\n const touchDevice = isTouchScreen();\r\n const assetPath = AssetPathPropConfig?.getInstance()?.getAssetPath();\r\n const triggerRef = useRef<HTMLDivElement | null>(null);\r\n\r\n const isError = variant === 'error';\r\n // Error tooltip (rewards not-eligible) is controlled so the close (X) icon inside\r\n // the popover header can dismiss it and the trigger icon can toggle it on click.\r\n // Default variant keeps the original hover/click UX untouched.\r\n const [show, setShow] = useState<boolean>(false);\r\n const defaultTrigger: any =\r\n viewPort === 'mobile' || viewPort === 'tablet' || touchDevice ? 'click' : 'hover';\r\n // For the error variant we force click-only so the X button can reliably close it\r\n // (hover would immediately reopen when the pointer is still over the icon).\r\n const trigger: any = isError ? 'click' : defaultTrigger;\r\n\r\n // Error variant renders a two-column layout: warning icon on the left, and the\r\n // title+body content (usually authored as a single RichText block) on the right.\r\n // The close (X) icon is absolutely positioned in the top-right corner.\r\n const errorBody = isError && (\r\n <div className={Styles.errorPopoverLayout}>\r\n {assetPath && (\r\n <img\r\n src={`${assetPath}/icons/tooltip-warning-icon.svg`}\r\n width={24}\r\n height={24}\r\n alt=''\r\n className={Styles.errorPopoverWarningIcon}\r\n />\r\n )}\r\n <div className={Styles.errorPopoverContent}>\r\n {heading !== '' && <div className={Styles.errorPopoverHeaderText}>{heading}</div>}\r\n <div>{content}</div>\r\n </div>\r\n <button\r\n type='button'\r\n aria-label='Close'\r\n className={Styles.errorPopoverCloseBtn}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n setShow(false);\r\n }}\r\n >\r\n {/* inline SVG avoids the gray background present in cross_disabled.svg */}\r\n <svg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'>\r\n <path fillRule='evenodd' clipRule='evenodd' d='M0.21967 0.21967C0.512563 -0.0732233 0.987437 -0.0732233 1.28033 0.21967L6.75 5.68934L12.2197 0.21967C12.5126 -0.0732233 12.9874 -0.0732233 13.2803 0.21967C13.5732 0.512563 13.5732 0.987437 13.2803 1.28033L7.81066 6.75L13.2803 12.2197C13.5732 12.5126 13.5732 12.9874 13.2803 13.2803C12.9874 13.5732 12.5126 13.5732 12.2197 13.2803L6.75 7.81066L1.28033 13.2803C0.987437 13.5732 0.512563 13.5732 0.21967 13.2803C-0.0732233 12.9874 -0.0732233 12.5126 0.21967 12.2197L5.68934 6.75L0.21967 1.28033C-0.0732233 0.987437 -0.0732233 0.512563 0.21967 0.21967Z' fill='white' />\r\n </svg>\r\n </button>\r\n </div>\r\n );\r\n\r\n const controlledProps = isError\r\n ? {\r\n show,\r\n onToggle: (nextShow: boolean) => setShow(nextShow)\r\n }\r\n : {};\r\n\r\n return (\r\n content && (\r\n <OverlayTrigger\r\n placement='auto'\r\n rootClose\r\n trigger={trigger}\r\n {...controlledProps}\r\n overlay={\r\n content && (\r\n <Popover id='popover-basic' className={isError ? Styles.errorPopover : ''}>\r\n {isError ? (\r\n <Popover.Body>{errorBody}</Popover.Body>\r\n ) : (\r\n <>\r\n {heading !== '' && <Popover.Header>{heading}</Popover.Header>}\r\n <Popover.Body>{content}</Popover.Body>\r\n </>\r\n )}\r\n </Popover>\r\n )\r\n }\r\n >\r\n <div\r\n ref={triggerRef}\r\n className={`${Styles.tooltipicon} ${tooltipClass} ${isBenefit ? Styles.benefits : ''} ${isError ? Styles.errorTrigger : ''}`}\r\n >\r\n {isError\r\n ? assetPath && <img src={`${assetPath}/icons/red-info-icon.svg`} width={20} height={20} alt='' />\r\n : assetPath && <img src={`${assetPath}/icons/tooltip_icon.svg`} width={24} height={24} alt='' />}\r\n </div>\r\n </OverlayTrigger>\r\n )\r\n );\r\n};\r\nexport default ToolTip;\r\n"],"names":["ToolTip","content","heading","tooltipClass","isBenefit","variant","viewPort","viewport","touchDevice","isTouchScreen","assetPath","_a","AssetPathPropConfig","getInstance","getAssetPath","triggerRef","useRef","isError","show","setShow","useState","trigger","errorBody","React","className","Styles","errorPopoverLayout","createElement","src","width","height","alt","errorPopoverWarningIcon","errorPopoverContent","errorPopoverHeaderText","type","errorPopoverCloseBtn","onClick","e","stopPropagation","viewBox","fill","xmlns","fillRule","clipRule","d","controlledProps","onToggle","nextShow","OverlayTrigger","Object","assign","placement","rootClose","overlay","Popover","id","errorPopover","Body","Fragment","Header","ref","tooltipicon","benefits","errorTrigger"],"mappings":"0SAMA,MAAMA,EAAU,EAAGC,UAASC,UAAU,GAAIC,eAAe,GAAIC,aAAY,EAAOC,UAAU,oBACxF,MAAMC,EAAWC,IACXC,EAAcC,IACdC,EAA8C,QAAlCC,EAAAC,aAAmB,EAAnBA,EAAqBC,qBAAa,IAAAF,OAAA,EAAAA,EAAEG,eAChDC,EAAaC,EAA8B,MAE3CC,EAAsB,UAAZZ,GAITa,EAAMC,GAAWC,GAAkB,GAKpCC,EAAeJ,EAAU,QAHhB,WAAbX,GAAsC,WAAbA,GAAyBE,EAAc,QAAU,QAQtEc,EAAYL,GAChBM,uBAAKC,UAAWC,EAAOC,oBACpBhB,GACCa,EAAAI,cAAA,MAAA,CACEC,IAAK,GAAGlB,mCACRmB,MAAO,GACPC,OAAQ,GACRC,IAAI,GACJP,UAAWC,EAAOO,0BAGtBT,EAAAI,cAAA,MAAA,CAAKH,UAAWC,EAAOQ,qBACR,KAAZ/B,GAAkBqB,EAAAI,cAAA,MAAA,CAAKH,UAAWC,EAAOS,wBAAyBhC,GACnEqB,EAAAI,cAAA,MAAA,KAAM1B,IAERsB,EAAAI,cAAA,SAAA,CACEQ,KAAK,SAAQ,aACF,QACXX,UAAWC,EAAOW,qBAClBC,QAAUC,IACRA,EAAEC,kBACFpB,GAAQ,KAIVI,EAAAI,cAAA,MAAA,CAAKE,MAAM,KAAKC,OAAO,KAAKU,QAAQ,YAAYC,KAAK,OAAOC,MAAM,8BAChEnB,EAAAI,cAAA,OAAA,CAAMgB,SAAS,UAAUC,SAAS,UAAUC,EAAE,wiBAAwiBJ,KAAK,aAM7lBK,EAAkB7B,EACpB,CACEC,OACA6B,SAAWC,GAAsB7B,EAAQ6B,IAE3C,CAAA,EAEJ,OACE/C,GACEsB,EAAAI,cAACsB,EAAcC,OAAAC,OAAA,CACbC,UAAU,OACVC,WAAS,EACThC,QAASA,GACLyB,EAAe,CACnBQ,QACErD,GACEsB,EAAAI,cAAC4B,EAAO,CAACC,GAAG,gBAAgBhC,UAAWP,EAAUQ,EAAOgC,aAAe,IACpExC,EACCM,EAAAI,cAAC4B,EAAQG,KAAI,KAAEpC,GAEfC,EAAAI,cAAAJ,EAAAoC,SAAA,KACe,KAAZzD,GAAkBqB,EAAAI,cAAC4B,EAAQK,OAAM,KAAE1D,GACpCqB,EAAAI,cAAC4B,EAAQG,KAAI,KAAEzD,OAOzBsB,EAAAI,cAAA,MAAA,CACEkC,IAAK9C,EACLS,UAAW,GAAGC,EAAOqC,eAAe3D,KAAgBC,EAAYqB,EAAOsC,SAAW,MAAM9C,EAAUQ,EAAOuC,aAAe,MAEvH/C,EACGP,GAAaa,EAAAI,cAAA,MAAA,CAAKC,IAAK,GAAGlB,4BAAqCmB,MAAO,GAAIC,OAAQ,GAAIC,IAAI,KAC1FrB,GAAaa,EAAAI,cAAA,MAAA,CAAKC,IAAK,GAAGlB,2BAAoCmB,MAAO,GAAIC,OAAQ,GAAIC,IAAI"}
|