@sunrise-upc/mobile-prod-card 11.12.8 → 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.
@@ -1,2 +1,2 @@
1
- import e from"react";import l from"../ProductDetailsV3/CashBackV2/CashbackV2.module.scss.js";import a from"../ToolTip/ToolTip.js";const t=({uniqueProductData:t,mainContent:i})=>{var c,o,n,s,d,r,m,v,u;const h=null===(n=null===(o=null===(c=null==t?void 0:t[0])||void 0===c?void 0:c.promotionInfo)||void 0===o?void 0:o[0])||void 0===n?void 0:n.cashBack,p=null===(s=null==i?void 0:i.cashBackSection)||void 0===s?void 0:s[0];if(!h||!p)return null;const k=null===(r=null===(d=null==t?void 0:t[0])||void 0===d?void 0:d.rewards)||void 0===r?void 0:r.points,E=(null!==(m=null==p?void 0:p.title)&&void 0!==m?m:"").replace("{0}",h).replace("{1}",null!=k?k:"");return e.createElement("div",null,e.createElement("div",{className:`${l.cashbackcontainer} cashbackv2container`},e.createElement("div",{className:l.cashbackmodule},e.createElement("div",null,e.createElement("span",{className:l.cashbackicon},e.createElement("img",{src:null===(v=null==p?void 0:p.icon)||void 0===v?void 0:v.filename,alt:"cashback",width:24,height:24})),e.createElement("span",{className:l.cashbacktitle},E),e.createElement("span",{className:l.cashbacktooltip},(null==p?void 0:p.tooltiptext)&&e.createElement(a,{content:null==p?void 0:p.tooltiptext}))),e.createElement("div",{className:l.cashbackimage},e.createElement("img",{src:null===(u=null==p?void 0:p.image)||void 0===u?void 0:u.filename,alt:"cashback",width:64,height:64}),e.createElement("span",{className:l.cashbackdescription},null==p?void 0:p.description)))))};export{t as default};
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 = uniqueProductData?.[0]?.promotionInfo?.[0]?.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","_c","_b","promotionInfo","cashBack","section","_d","cashBackSection","points","_f","_e","rewards","title","_g","replace","React","createElement","className","Styles","cashbackcontainer","cashbackmodule","cashbackicon","src","_h","icon","filename","alt","width","height","cashbacktitle","cashbacktooltip","tooltiptext","ToolTip","content","cashbackimage","_j","image","cashbackdescription","description"],"mappings":"kIA+BA,MAAMA,EAAwB,EAC5BC,oBACAC,wCAEA,MAAMC,EAA2D,QAA1CC,EAAqC,QAArCC,YAAAJ,aAAiB,EAAjBA,EAAoB,yBAAIK,qBAAa,IAAAD,OAAA,EAAAA,EAAG,UAAE,IAAAD,OAAA,EAAAA,EAAEG,SAC7DC,EAAsC,QAA5BC,EAAAP,aAAW,EAAXA,EAAaQ,uBAAe,IAAAD,OAAA,EAAAA,EAAG,GAE/C,IAAKN,IAAmBK,EAAS,OAAO,KAExC,MAAMG,EAA4D,QAA/BC,EAAsB,QAAtBC,EAAAZ,aAAiB,EAAjBA,EAAoB,UAAE,IAAAY,OAAA,EAAAA,EAAEC,eAAO,IAAAF,OAAA,EAAAA,EAAED,OAE9DI,GAAuB,QAAdC,EAAAR,aAAO,EAAPA,EAASO,aAAK,IAAAC,EAAAA,EAAI,IAC9BC,QAAQ,MAAOd,GACfc,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
+ {"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunrise-upc/mobile-prod-card",
3
- "version": "11.12.8",
3
+ "version": "11.12.9",
4
4
  "description": "Starter project to create reusable functional component",
5
5
  "type": "module",
6
6
  "main": "dist/esm/index.js",