@beamimpact/web-sdk 1.39.0 → 1.39.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/chunks/_share-dialog-dependencies-K7WZWxUL.esm.js +2 -0
  2. package/dist/chunks/_share-dialog-dependencies-K7WZWxUL.esm.js.map +1 -0
  3. package/dist/chunks/_share-dialog-dependencies-VjhRF4_b.esm.js +2 -0
  4. package/dist/chunks/_share-dialog-dependencies-VjhRF4_b.esm.js.map +1 -0
  5. package/dist/chunks/{events-7W7i4aV5.esm.d.ts → events-7cGXyV7_.esm.d.ts} +2 -1
  6. package/dist/chunks/events-Y8fYvSqM.esm.js.map +1 -1
  7. package/dist/chunks/{index-Zk634mW7.esm.d.ts → index-0VcD5nhV.esm.d.ts} +1 -1
  8. package/dist/chunks/{index-YwDVLm67.esm.d.ts → index-8KzbQIsU.esm.d.ts} +1 -1
  9. package/dist/chunks/index-EUMlzqI-.esm.js +2 -0
  10. package/dist/chunks/index-EUMlzqI-.esm.js.map +1 -0
  11. package/dist/chunks/index-U5URUABu.esm.js +2 -0
  12. package/dist/chunks/index-U5URUABu.esm.js.map +1 -0
  13. package/dist/chunks/index-VELk9_yH.esm.js +2 -0
  14. package/dist/chunks/index-VELk9_yH.esm.js.map +1 -0
  15. package/dist/chunks/{index-sCYUc4NK.esm.js → index-XlnH7ARQ.esm.js} +2 -2
  16. package/dist/chunks/{index-sCYUc4NK.esm.js.map → index-XlnH7ARQ.esm.js.map} +1 -1
  17. package/dist/chunks/{index-82TLJN3M.esm.js → index-dsJIs5Sr.esm.js} +2 -2
  18. package/dist/chunks/{index-82TLJN3M.esm.js.map → index-dsJIs5Sr.esm.js.map} +1 -1
  19. package/dist/chunks/index-q_XLkvqc.esm.js +2 -0
  20. package/dist/chunks/index-q_XLkvqc.esm.js.map +1 -0
  21. package/dist/chunks/{index-b-AHDeDB.esm.d.ts → index-rFBYAk7m.esm.d.ts} +1 -1
  22. package/dist/chunks/index-xR738adx.esm.js +2 -0
  23. package/dist/chunks/index-xR738adx.esm.js.map +1 -0
  24. package/dist/chunks/index-xfPSpbUV.esm.js +2 -0
  25. package/dist/chunks/index-xfPSpbUV.esm.js.map +1 -0
  26. package/dist/chunks/order-page-6Q-6CHug.esm.js +2 -0
  27. package/dist/chunks/order-page-6Q-6CHug.esm.js.map +1 -0
  28. package/dist/chunks/order-page-mYYXHDVr.esm.js +2 -0
  29. package/dist/chunks/order-page-mYYXHDVr.esm.js.map +1 -0
  30. package/dist/chunks/routes-3jKReDai.esm.js +2 -0
  31. package/dist/chunks/routes-3jKReDai.esm.js.map +1 -0
  32. package/dist/chunks/routes-b8sncPq8.esm.js +2 -0
  33. package/dist/chunks/routes-b8sncPq8.esm.js.map +1 -0
  34. package/dist/chunks/{shoelace-components-7Bz0cgFm.esm.js → shoelace-components-7XWYNn-Z.esm.js} +2 -2
  35. package/dist/chunks/{shoelace-components-7Bz0cgFm.esm.js.map → shoelace-components-7XWYNn-Z.esm.js.map} +1 -1
  36. package/dist/chunks/{shoelace-components-R0WKZ63n.esm.js → shoelace-components-paAsUPkU.esm.js} +2 -2
  37. package/dist/chunks/{shoelace-components-R0WKZ63n.esm.js.map → shoelace-components-paAsUPkU.esm.js.map} +1 -1
  38. package/dist/chunks/types-CfbVJRfU.esm.d.ts +21 -0
  39. package/dist/chunks/{update-cart-KdiGuVzp.esm.js → update-cart-GaVMWI6J.esm.js} +2 -2
  40. package/dist/chunks/{update-cart-KdiGuVzp.esm.js.map → update-cart-GaVMWI6J.esm.js.map} +1 -1
  41. package/dist/chunks/{update-cart-147q_9OK.esm.js → update-cart-xW6a5_bz.esm.js} +2 -2
  42. package/dist/chunks/{update-cart-147q_9OK.esm.js.map → update-cart-xW6a5_bz.esm.js.map} +1 -1
  43. package/dist/components/community-impact.d.ts +2 -2
  44. package/dist/components/community-impact.esm.js +3 -3
  45. package/dist/components/community-impact.esm.js.map +1 -1
  46. package/dist/components/community-impact.js +3 -3
  47. package/dist/components/community-impact.js.map +1 -1
  48. package/dist/components/cumulative-impact.d.ts +1 -1
  49. package/dist/components/cumulative-impact.esm.js +1 -1
  50. package/dist/components/cumulative-impact.js +1 -1
  51. package/dist/components/impact-overview.d.ts +1 -1
  52. package/dist/components/impact-overview.esm.js +5 -5
  53. package/dist/components/impact-overview.esm.js.map +1 -1
  54. package/dist/components/impact-overview.js +5 -5
  55. package/dist/components/impact-overview.js.map +1 -1
  56. package/dist/components/index.d.ts +1 -1
  57. package/dist/components/index.esm.js +1 -1
  58. package/dist/components/index.js +1 -1
  59. package/dist/components/post-purchase.d.ts +2 -2
  60. package/dist/components/post-purchase.esm.js +1 -1
  61. package/dist/components/post-purchase.js +1 -1
  62. package/dist/components/product-details-page.d.ts +1 -1
  63. package/dist/components/product-details-page.esm.js +10 -14
  64. package/dist/components/product-details-page.esm.js.map +1 -1
  65. package/dist/components/product-details-page.js +10 -14
  66. package/dist/components/product-details-page.js.map +1 -1
  67. package/dist/components/redeem-transaction.d.ts +2 -2
  68. package/dist/components/redeem-transaction.esm.js +9 -9
  69. package/dist/components/redeem-transaction.esm.js.map +1 -1
  70. package/dist/components/redeem-transaction.js +9 -9
  71. package/dist/components/redeem-transaction.js.map +1 -1
  72. package/dist/components/select-nonprofit.d.ts +2 -2
  73. package/dist/components/select-nonprofit.esm.js +8 -8
  74. package/dist/components/select-nonprofit.esm.js.map +1 -1
  75. package/dist/components/select-nonprofit.js +8 -8
  76. package/dist/components/select-nonprofit.js.map +1 -1
  77. package/dist/components/shopify.d.ts +2 -2
  78. package/dist/components/shopify.esm.js +1 -1
  79. package/dist/components/shopify.js +1 -1
  80. package/dist/components/subscription-management.d.ts +2 -2
  81. package/dist/components/subscription-management.esm.js +6 -6
  82. package/dist/components/subscription-management.esm.js.map +1 -1
  83. package/dist/components/subscription-management.js +6 -6
  84. package/dist/components/subscription-management.js.map +1 -1
  85. package/dist/index.d.ts +5 -5
  86. package/dist/index.esm.js +1 -1
  87. package/dist/index.js +1 -1
  88. package/dist/integrations/beam.d.ts +1 -1
  89. package/dist/integrations/beam.esm.js +1 -1
  90. package/dist/integrations/beam.js +1 -1
  91. package/dist/integrations/cart.esm.js +1 -1
  92. package/dist/integrations/cart.js +1 -1
  93. package/dist/integrations/index.d.ts +3 -3
  94. package/dist/integrations/index.esm.js +1 -1
  95. package/dist/integrations/index.js +1 -1
  96. package/dist/integrations/logs.esm.js +1 -1
  97. package/dist/integrations/logs.js +1 -1
  98. package/dist/integrations/shopify.d.ts +1 -1
  99. package/dist/integrations/shopify.esm.js +1 -1
  100. package/dist/integrations/shopify.js +1 -1
  101. package/dist/integrations/statsig.d.ts +1 -1
  102. package/dist/integrations/statsig.esm.js +3 -2
  103. package/dist/integrations/statsig.esm.js.map +1 -1
  104. package/dist/integrations/statsig.js +3 -2
  105. package/dist/integrations/statsig.js.map +1 -1
  106. package/dist/integrations/utils.d.ts +2 -2
  107. package/dist/react/community-impact.d.ts +1 -1
  108. package/dist/react/community-impact.esm.js +1 -1
  109. package/dist/react/community-impact.js +1 -1
  110. package/dist/react/cumulative-impact.d.ts +1 -1
  111. package/dist/react/cumulative-impact.esm.js +1 -1
  112. package/dist/react/cumulative-impact.js +1 -1
  113. package/dist/react/impact-overview.d.ts +1 -1
  114. package/dist/react/impact-overview.esm.js +1 -1
  115. package/dist/react/impact-overview.js +1 -1
  116. package/dist/react/index.d.ts +2 -2
  117. package/dist/react/index.esm.js +1 -1
  118. package/dist/react/index.js +1 -1
  119. package/dist/react/post-purchase.d.ts +1 -1
  120. package/dist/react/post-purchase.esm.js +1 -1
  121. package/dist/react/post-purchase.js +1 -1
  122. package/dist/react/product-details-page.esm.js +1 -1
  123. package/dist/react/product-details-page.js +1 -1
  124. package/dist/react/redeem-transaction.d.ts +2 -2
  125. package/dist/react/redeem-transaction.esm.js +1 -1
  126. package/dist/react/redeem-transaction.js +1 -1
  127. package/dist/react/select-nonprofit.d.ts +2 -2
  128. package/dist/react/select-nonprofit.esm.js +1 -1
  129. package/dist/react/select-nonprofit.js +1 -1
  130. package/dist/react/subscription-management.d.ts +1 -1
  131. package/dist/react/subscription-management.esm.js +1 -1
  132. package/dist/react/subscription-management.js +1 -1
  133. package/dist/utils/events.d.ts +2 -2
  134. package/dist/utils/index.d.ts +2 -2
  135. package/package.json +1 -1
  136. package/dist/chunks/_share-dialog-dependencies-E9UC6rFe.esm.js +0 -2
  137. package/dist/chunks/_share-dialog-dependencies-E9UC6rFe.esm.js.map +0 -1
  138. package/dist/chunks/_share-dialog-dependencies-jT0LyIYZ.esm.js +0 -2
  139. package/dist/chunks/_share-dialog-dependencies-jT0LyIYZ.esm.js.map +0 -1
  140. package/dist/chunks/index-A4ADMGuS.esm.js +0 -2
  141. package/dist/chunks/index-A4ADMGuS.esm.js.map +0 -1
  142. package/dist/chunks/index-GxPqdIah.esm.js +0 -2
  143. package/dist/chunks/index-GxPqdIah.esm.js.map +0 -1
  144. package/dist/chunks/index-QNK0E7_-.esm.js +0 -2
  145. package/dist/chunks/index-QNK0E7_-.esm.js.map +0 -1
  146. package/dist/chunks/index-WeS36ABz.esm.js +0 -2
  147. package/dist/chunks/index-WeS36ABz.esm.js.map +0 -1
  148. package/dist/chunks/index-Y6-97c9H.esm.js +0 -2
  149. package/dist/chunks/index-Y6-97c9H.esm.js.map +0 -1
  150. package/dist/chunks/index-hEEPYOBy.esm.js +0 -2
  151. package/dist/chunks/index-hEEPYOBy.esm.js.map +0 -1
  152. package/dist/chunks/order-page--Z7oUbXx.esm.js +0 -2
  153. package/dist/chunks/order-page--Z7oUbXx.esm.js.map +0 -1
  154. package/dist/chunks/order-page-zVZsxnVd.esm.js +0 -2
  155. package/dist/chunks/order-page-zVZsxnVd.esm.js.map +0 -1
  156. package/dist/chunks/routes-2FqTWOCW.esm.js +0 -2
  157. package/dist/chunks/routes-2FqTWOCW.esm.js.map +0 -1
  158. package/dist/chunks/routes-OzJqNrBl.esm.js +0 -2
  159. package/dist/chunks/routes-OzJqNrBl.esm.js.map +0 -1
  160. package/dist/chunks/types-7kSi85Gv.esm.d.ts +0 -10
@@ -1,12 +1,12 @@
1
- import{j as P,f as b,g as d,h as m,y as s}from"../chunks/lit-qtGbjGnK.esm.js";import{c as D,u as g,d as h,e as f,A as v,_ as y,i as u,a as p,b as x}from"../chunks/localize-fH8KOrMi.esm.js";import{D as C,i as $,S as k}from"../chunks/routes-OzJqNrBl.esm.js";import{makeApiKeyHeader as F}from"../utils/makeApiKeyHeader.js";import"../chunks/vendor-jQ8cxMpw.esm.js";import"../chunks/shoelace-components-7Bz0cgFm.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";const w=(r="",{borderRadius:e="0px",borderStyle:t="unset",borderColor:o="#000000",borderWidth:i="1px"}={})=>{const a=r.startsWith("--beam-")?r:`--beam-${r}`;return{[`${a}-borderRadius`]:e,[`${a}-borderStyle`]:t,[`${a}-borderColor`]:o,[`${a}-borderWidth`]:i}},T=(r="",{borderRadius:e="0px",borderStyle:t="unset",borderColor:o="#000000",borderWidth:i="1px"}={})=>{const a=r.startsWith("--beam-")?r:`--beam-${r}`;return P(` border-radius: var(${a}-borderRadius, ${e});
1
+ import{j as u,f as b,g as d,h as m,y as s,k as D}from"../chunks/lit-qtGbjGnK.esm.js";import{c as h,u as g,d as f,e as v,A as y,_ as x,i as P,a as p,b as C}from"../chunks/localize-fH8KOrMi.esm.js";import{D as $,i as k,W as F,S}from"../chunks/routes-3jKReDai.esm.js";import{makeApiKeyHeader as T}from"../utils/makeApiKeyHeader.js";import"../chunks/vendor-jQ8cxMpw.esm.js";import"../chunks/shoelace-components-paAsUPkU.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";const w=(r="",{borderRadius:e="0px",borderStyle:t="unset",borderColor:o="#000000",borderWidth:i="1px"}={})=>{const a=r.startsWith("--beam-")?r:`--beam-${r}`;return{[`${a}-borderRadius`]:e,[`${a}-borderStyle`]:t,[`${a}-borderColor`]:o,[`${a}-borderWidth`]:i}},G=(r="",{borderRadius:e="0px",borderStyle:t="unset",borderColor:o="#000000",borderWidth:i="1px"}={})=>{const a=r.startsWith("--beam-")?r:`--beam-${r}`;return u(` border-radius: var(${a}-borderRadius, ${e});
2
2
  border-style: var(${a}-borderStyle, ${t});
3
3
  border-color: var(${a}-borderColor, ${o});
4
4
  border-width: var(${a}-borderWidth, ${i});
5
- `)};var S=Object.defineProperty,G=Object.getOwnPropertyDescriptor,n=(r,e,t,o)=>{for(var i=o>1?void 0:o?G(e,t):e,a=r.length-1,c;a>=0;a--)(c=r[a])&&(i=(o?c(e,t,i):c(i))||i);return o&&i&&S(e,t,i),i};const I="--beam-ProductDetailsPage-imageUrl";class l extends m{constructor(){super(...arguments),this.baseUrl=C,this.lang="en",this.debug=!1,this.getProductDetailsPageData=async()=>(f(["apiKey","storeId"],this),await $({baseUrl:this.baseUrl,headers:F(this.apiKey),queryParams:{version:"1.0.0",lang:this.configLang,storeId:this.storeId,widgetName:"product-details-page"}})),this.productDetailsPageDataController=new v(this,this.getProductDetailsPageData)}get configLang(){return k[this.lang]||"en"}async updated(e){const t=["storeId","baseUrl","lang","apiKey"];for(const o of t)if(e.has(o)){await this.productDetailsPageDataController.exec();break}}renderWidgetIcon(){const e=this.cssVariables[I];return e?s`
5
+ `)};var I=Object.defineProperty,W=Object.getOwnPropertyDescriptor,n=(r,e,t,o)=>{for(var i=o>1?void 0:o?W(e,t):e,a=r.length-1,c;a>=0;a--)(c=r[a])&&(i=(o?c(e,t,i):c(i))||i);return o&&i&&I(e,t,i),i};const A="--beam-ProductDetailsPage-imageUrl";class l extends m{constructor(){super(...arguments),this.baseUrl=$,this.lang="en",this.debug=!1,this.getProductDetailsPageData=async()=>(v(["apiKey","storeId"],this),await k({baseUrl:this.baseUrl,headers:T(this.apiKey),queryParams:{version:"1.0.0",lang:this.configLang,storeId:this.storeId,widgetName:F.product_details_page}})),this.productDetailsPageDataController=new y(this,this.getProductDetailsPageData)}get configLang(){return S[this.lang]||"en"}async updated(e){const t=["storeId","baseUrl","lang","apiKey"];for(const o of t)if(e.has(o)){await this.productDetailsPageDataController.exec();break}}renderWidgetIcon(){const e=this.cssVariables[A];return e?s`
6
6
  <span class="icon-container">
7
7
  <img src=${e} alt="Widget Icon"></img>
8
8
  </span>
9
- `:s``}render(){const{data:e,loading:t}=this.productDetailsPageDataController;return t?s``:e==null?this.debug?y({error:new Error("No data")}):"":s`
9
+ `:s``}render(){const{data:e,loading:t}=this.productDetailsPageDataController;return t?s``:e==null?this.debug?x({error:new Error("No data")}):"":s`
10
10
  <style>
11
11
  :host {
12
12
  ${this.cssVariables.toCSS()}
@@ -16,25 +16,23 @@ import{j as P,f as b,g as d,h as m,y as s}from"../chunks/lit-qtGbjGnK.esm.js";im
16
16
  ${this.renderWidgetIcon()}
17
17
  <span class="info-container">
18
18
  <div class="title-block">
19
- <h3 class="title">${u(this.configLang,e.config?.web?.title)}</h3>
19
+ <h3 class="title">${P(this.configLang,e.config?.web?.title)}</h3>
20
20
  </div>
21
21
  <div class="description-block">
22
- <span class="description"> ${u(this.configLang,e.config?.web?.description)}</span
22
+ <span class="description"> ${P(this.configLang,e.config?.web?.description)}</span
23
23
  >${this.renderDisclosureTooltip()}
24
24
  </div>
25
25
  </span>
26
26
  </div>
27
27
  `}renderDisclosureTooltip(){const e=this.productDetailsPageDataController.data?.ppgfDisclosure;return e?s`<sl-tooltip class="ppgf-disclosure-tooltip">
28
- <div class="ppgf-disclosure-tooltip-content" slot="content">
29
- ${e.copy} ${this.renderDisclosureTooltipHyperlink()}
30
- </div>
28
+ <div class="ppgf-disclosure-tooltip-content" slot="content">${D(e.copy)}</div>
31
29
  ${this.renderDisclosureTooltipIcon()}
32
30
  </sl-tooltip>`:s``}renderDisclosureTooltipIcon(){return s`<sl-icon
33
31
  library="lucide"
34
32
  name="info"
35
33
  label="ppgf-disclosure-tooltip-icon"
36
34
  class="ppgf-disclosure-tooltip-icon"
37
- ></sl-icon>`}renderDisclosureTooltipHyperlink(){const e=this.productDetailsPageDataController.data?.ppgfDisclosureHyperlink;return e?s`<a class="ppgf-disclosure-hyperlink" href="${e.url}" target="_blank">${e.copy}</a>`:s``}get cssVariables(){const e={"--beam-ProductDetailsPage-imageWidth":"24px","--beam-ProductDetailsPage-imageHeight":"24px","--beam-ProductDetailsPage-maxWidth":"346px","--beam-ProductDetailsPage-paddingTop":"8px","--beam-ProductDetailsPage-paddingRight":"12px","--beam-ProductDetailsPage-paddingBottom":"8px","--beam-ProductDetailsPage-paddingLeft":"15px","--beam-ProductDetailsPage-InfoContainer-marginLeft":"8px","--beam-ProductDetailsPage-backgroundColor":"unset","--beam-ProductDetailsPage-TooltipIcon-width":"10px","--beam-ProductDetailsPage-TooltipIcon-color":"inherit","--beam-ProductDetailsPage-PPGFDisclosure-backgroundColor":"#000000","--beam-ProductDetailsPage-PPGFDisclosure-paddingTop":"10px","--beam-ProductDetailsPage-PPGFDisclosure-paddingRight":"8px","--beam-ProductDetailsPage-PPGFDisclosure-paddingBottom":"10px","--beam-ProductDetailsPage-PPGFDisclosure-paddingLeft":"8px","--beam-ProductDetailsPage-PPGFDisclosureHyperlink-color":"#5CA3FF",...p("--beam-ProductDetailsPage-title",{fontSize:"11px",fontWeight:"bold"}),"--beam-ProductDetailsPage-title-textAlign":"left",...p("--beam-ProductDetailsPage-description",{marginTop:"4px",fontSize:"11px",lineHeight:"15px"}),"--beam-ProductDetailsPage-description-textAlign":"left",...p("--beam-ProductDetailsPage-PPGFDisclosureTooltipContent",{fontSize:"12px",lineHeight:"16px",color:"#FFFFFF"}),...w("--beam-ProductDetailsPage")},t=this.productDetailsPageDataController?.data?.config?.web?.theme||{},o={...e,...t};return Object.assign(Object.create({toCSS(){return x(this)}}),o)}}l.tagName="beam-product-details-page",l.styles=[D,b`
35
+ ></sl-icon>`}renderDisclosureTooltipHyperlink(){const e=this.productDetailsPageDataController.data?.ppgfDisclosureHyperlink;return e?s`<a class="ppgf-disclosure-hyperlink" href="${e.url}" target="_blank">${e.copy}</a>`:s``}get cssVariables(){const e={"--beam-ProductDetailsPage-imageWidth":"24px","--beam-ProductDetailsPage-imageHeight":"24px","--beam-ProductDetailsPage-maxWidth":"346px","--beam-ProductDetailsPage-paddingTop":"8px","--beam-ProductDetailsPage-paddingRight":"12px","--beam-ProductDetailsPage-paddingBottom":"8px","--beam-ProductDetailsPage-paddingLeft":"15px","--beam-ProductDetailsPage-InfoContainer-marginLeft":"8px","--beam-ProductDetailsPage-backgroundColor":"unset","--beam-ProductDetailsPage-TooltipIcon-width":"10px","--beam-ProductDetailsPage-TooltipIcon-color":"inherit","--beam-ProductDetailsPage-PPGFDisclosure-backgroundColor":"#000000","--beam-ProductDetailsPage-PPGFDisclosure-paddingTop":"10px","--beam-ProductDetailsPage-PPGFDisclosure-paddingRight":"8px","--beam-ProductDetailsPage-PPGFDisclosure-paddingBottom":"10px","--beam-ProductDetailsPage-PPGFDisclosure-paddingLeft":"8px","--beam-ProductDetailsPage-PPGFDisclosureHyperlink-color":"#5CA3FF",...p("--beam-ProductDetailsPage-title",{fontSize:"12px",fontWeight:"bold"}),"--beam-ProductDetailsPage-title-textAlign":"left",...p("--beam-ProductDetailsPage-description",{marginTop:"4px",fontSize:"12px",lineHeight:"15px"}),"--beam-ProductDetailsPage-description-textAlign":"left",...p("--beam-ProductDetailsPage-PPGFDisclosureTooltipContent",{fontSize:"12px",lineHeight:"16px",color:"#FFFFFF"}),...w("--beam-ProductDetailsPage")},t=this.productDetailsPageDataController?.data?.config?.web?.theme||{},o={...e,...t};return Object.assign(Object.create({toCSS(){return C(this)}}),o)}}l.tagName="beam-product-details-page",l.styles=[h,b`
38
36
  :host {
39
37
  font-family: var(--beam-fontFamily);
40
38
  font-style: var(--beam-fontStyle);
@@ -54,7 +52,7 @@ import{j as P,f as b,g as d,h as m,y as s}from"../chunks/lit-qtGbjGnK.esm.js";im
54
52
  padding-left: var(--beam-ProductDetailsPage-paddingLeft);
55
53
  width: 100%;
56
54
  background-color: var(--beam-ProductDetailsPage-backgroundColor);
57
- ${T("--beam-ProductDetailsPage")}
55
+ ${G("--beam-ProductDetailsPage")}
58
56
  }
59
57
  .icon-container {
60
58
  width: var(--beam-ProductDetailsPage-imageWidth);
@@ -99,10 +97,8 @@ import{j as P,f as b,g as d,h as m,y as s}from"../chunks/lit-qtGbjGnK.esm.js";im
99
97
  .ppgf-disclosure-tooltip-content {
100
98
  ${g("--beam-ProductDetailsPage-PPGFDisclosureTooltipContent")}
101
99
  }
102
- .ppgf-disclosure-hyperlink {
100
+ .ppgf-disclosure-tooltip-content > a {
103
101
  pointer-events: auto;
104
- user-select: auto;
105
- -webkit-user-select: auto;
106
102
  color: var(--beam-ProductDetailsPage-PPGFDisclosureHyperlink-color);
107
103
  }
108
104
  .ppgf-disclosure-hyperlink:visited {
@@ -114,5 +110,5 @@ import{j as P,f as b,g as d,h as m,y as s}from"../chunks/lit-qtGbjGnK.esm.js";im
114
110
  height: auto;
115
111
  vertical-align: middle;
116
112
  }
117
- `],n([d({type:String,reflect:!0})],l.prototype,"baseUrl",2),n([d({type:String,reflect:!1})],l.prototype,"apiKey",2),n([d({type:Number})],l.prototype,"storeId",2),n([d({type:String})],l.prototype,"lang",2),n([d({type:Boolean})],l.prototype,"debug",2),h(l);export{l as BeamProductDetailsPage};
113
+ `],n([d({type:String,reflect:!0})],l.prototype,"baseUrl",2),n([d({type:String,reflect:!1})],l.prototype,"apiKey",2),n([d({type:Number})],l.prototype,"storeId",2),n([d({type:String})],l.prototype,"lang",2),n([d({type:Boolean})],l.prototype,"debug",2),f(l);export{l as BeamProductDetailsPage};
118
114
  //# sourceMappingURL=product-details-page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-details-page.js","sources":["../../src/shared/fragments/custom-border.ts","../../src/components/product-details-page/index.ts"],"sourcesContent":["import { CSSResult, unsafeCSS } from \"lit\";\n\nexport const defineCustomBorder = (\n namespace = \"\",\n { borderRadius = \"0px\", borderStyle = \"unset\", borderColor = \"#000000\", borderWidth = \"1px\" } = {}\n): Record<string, string> => {\n const prefix = namespace.startsWith(\"--beam-\") ? namespace : `--beam-${namespace}`;\n return {\n [`${prefix}-borderRadius`]: borderRadius,\n [`${prefix}-borderStyle`]: borderStyle,\n [`${prefix}-borderColor`]: borderColor,\n [`${prefix}-borderWidth`]: borderWidth,\n };\n};\n\nexport const useCustomBorder = (\n namespace = \"\",\n { borderRadius = \"0px\", borderStyle = \"unset\", borderColor = \"#000000\", borderWidth = \"1px\" } = {}\n): CSSResult => {\n const prefix = namespace.startsWith(\"--beam-\") ? namespace : `--beam-${namespace}`;\n return unsafeCSS(`\\\n border-radius: var(${prefix}-borderRadius, ${borderRadius});\n border-style: var(${prefix}-borderStyle, ${borderStyle});\n border-color: var(${prefix}-borderColor, ${borderColor});\n border-width: var(${prefix}-borderWidth, ${borderWidth});\n `);\n};\n","import { LitElement, css, html } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { getProductDetailsPage } from \"../../api-sdk/v3/routes\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES } from \"../../api-sdk/constants\";\nimport { LANGUAGES, TUrl } from \"../../api-sdk/types\";\nimport { makeApiKeyHeader } from \"../../utils/makeApiKeyHeader\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { defineCustomBorder, useCustomBorder } from \"../../shared/fragments/custom-border\";\n\n// shoelace html tag imports\nimport \"@shoelace-style/shoelace/dist/components/tooltip/tooltip.js\";\nimport \"../../shared/shoelace-components\";\n\ntype RequiredConfig = {\n apiKey: string;\n storeId: number;\n};\n\nconst IMAGE_URL_REMOTE_CONFIG_KEY = \"--beam-ProductDetailsPage-imageUrl\";\n\nexport class BeamProductDetailsPage extends LitElement {\n static tagName = \"beam-product-details-page\";\n\n @property({ type: String, reflect: true }) public baseUrl: TUrl = DEFAULT_BASE_URL;\n\n @property({ type: String, reflect: false }) apiKey?: RequiredConfig[\"apiKey\"];\n\n @property({ type: Number }) storeId?: number;\n\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n\n @property({ type: Boolean }) public debug = false;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n getProductDetailsPageData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"storeId\"], this)) throw new MissingConfig();\n\n const res = await getProductDetailsPage({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n queryParams: {\n version: \"1.0.0\",\n lang: this.configLang,\n storeId: this.storeId,\n widgetName: \"product-details-page\",\n },\n });\n return res;\n };\n\n private productDetailsPageDataController = new AsyncController<typeof this.getProductDetailsPageData>(\n this,\n this.getProductDetailsPageData\n );\n\n async updated(changedProperties: Map<string, unknown>) {\n const requireNewDataProps = [\"storeId\", \"baseUrl\", \"lang\", \"apiKey\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n await this.productDetailsPageDataController.exec();\n break;\n }\n }\n }\n\n renderWidgetIcon() {\n const imageUrl = this.cssVariables[IMAGE_URL_REMOTE_CONFIG_KEY];\n\n return imageUrl\n ? html`\n <span class=\"icon-container\">\n <img src=${imageUrl} alt=\"Widget Icon\"></img>\n </span>\n `\n : html``;\n }\n\n render() {\n const { data, loading } = this.productDetailsPageDataController;\n if (loading) {\n return html``;\n }\n if (data == null) {\n if (this.debug) {\n return _errorMessage({ error: new Error(\"No data\") });\n }\n return \"\";\n }\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <div class=\"root\">\n ${this.renderWidgetIcon()}\n <span class=\"info-container\">\n <div class=\"title-block\">\n <h3 class=\"title\">${localizeUserString(this.configLang, data.config?.web?.title)}</h3>\n </div>\n <div class=\"description-block\">\n <span class=\"description\"> ${localizeUserString(this.configLang, data.config?.web?.description)}</span\n >${this.renderDisclosureTooltip()}\n </div>\n </span>\n </div>\n `;\n }\n\n /* PayPal Giving Fund Disclosure */\n renderDisclosureTooltip() {\n const ppgfDisclosure = this.productDetailsPageDataController.data?.ppgfDisclosure;\n return ppgfDisclosure\n ? html`<sl-tooltip class=\"ppgf-disclosure-tooltip\">\n <div class=\"ppgf-disclosure-tooltip-content\" slot=\"content\">\n ${ppgfDisclosure.copy} ${this.renderDisclosureTooltipHyperlink()}\n </div>\n ${this.renderDisclosureTooltipIcon()}\n </sl-tooltip>`\n : html``;\n }\n\n renderDisclosureTooltipIcon() {\n return html`<sl-icon\n library=\"lucide\"\n name=\"info\"\n label=\"ppgf-disclosure-tooltip-icon\"\n class=\"ppgf-disclosure-tooltip-icon\"\n ></sl-icon>`;\n }\n\n renderDisclosureTooltipHyperlink() {\n const ppgfHyperlink = this.productDetailsPageDataController.data?.ppgfDisclosureHyperlink;\n return ppgfHyperlink\n ? html`<a class=\"ppgf-disclosure-hyperlink\" href=\"${ppgfHyperlink.url}\" target=\"_blank\">${ppgfHyperlink.copy}</a>`\n : html``;\n }\n /* End PayPal Giving Fund Disclosure */\n\n public get cssVariables() {\n const defaults = {\n \"--beam-ProductDetailsPage-imageWidth\": \"24px\",\n \"--beam-ProductDetailsPage-imageHeight\": \"24px\",\n \"--beam-ProductDetailsPage-maxWidth\": \"346px\",\n \"--beam-ProductDetailsPage-paddingTop\": \"8px\",\n \"--beam-ProductDetailsPage-paddingRight\": \"12px\",\n \"--beam-ProductDetailsPage-paddingBottom\": \"8px\",\n \"--beam-ProductDetailsPage-paddingLeft\": \"15px\",\n \"--beam-ProductDetailsPage-InfoContainer-marginLeft\": \"8px\",\n \"--beam-ProductDetailsPage-backgroundColor\": \"unset\",\n \"--beam-ProductDetailsPage-TooltipIcon-width\": \"10px\",\n \"--beam-ProductDetailsPage-TooltipIcon-color\": \"inherit\",\n \"--beam-ProductDetailsPage-PPGFDisclosure-backgroundColor\": \"#000000\",\n \"--beam-ProductDetailsPage-PPGFDisclosure-paddingTop\": \"10px\",\n \"--beam-ProductDetailsPage-PPGFDisclosure-paddingRight\": \"8px\",\n \"--beam-ProductDetailsPage-PPGFDisclosure-paddingBottom\": \"10px\",\n \"--beam-ProductDetailsPage-PPGFDisclosure-paddingLeft\": \"8px\",\n \"--beam-ProductDetailsPage-PPGFDisclosureHyperlink-color\": \"#5CA3FF\",\n ...defineCustomText(\"--beam-ProductDetailsPage-title\", {\n fontSize: \"11px\",\n fontWeight: \"bold\",\n }),\n \"--beam-ProductDetailsPage-title-textAlign\": \"left\",\n ...defineCustomText(\"--beam-ProductDetailsPage-description\", {\n marginTop: \"4px\",\n fontSize: \"11px\",\n lineHeight: \"15px\",\n }),\n \"--beam-ProductDetailsPage-description-textAlign\": \"left\",\n ...defineCustomText(\"--beam-ProductDetailsPage-PPGFDisclosureTooltipContent\", {\n fontSize: \"12px\",\n lineHeight: \"16px\",\n color: \"#FFFFFF\",\n }),\n ...defineCustomBorder(\"--beam-ProductDetailsPage\"),\n };\n const remoteConfig = this.productDetailsPageDataController?.data?.config?.web?.theme || {};\n\n const config = { ...defaults, ...remoteConfig };\n\n const serializable = Object.create({\n toCSS() {\n return _cssVariableMap(this as Record<string, string>);\n },\n });\n\n return Object.assign(serializable, config);\n }\n\n static styles = [\n cssReset,\n css`\n :host {\n font-family: var(--beam-fontFamily);\n font-style: var(--beam-fontStyle);\n font-size: var(--beam-fontSize);\n background-color: var(--beam-backgroundColor);\n color: var(--beam-textColor);\n max-width: var(--beam-ProductDetailsPage-maxWidth);\n word-break: normal;\n display: block;\n }\n .root {\n display: flex;\n align-items: center;\n padding-top: var(--beam-ProductDetailsPage-paddingTop);\n padding-right: var(--beam-ProductDetailsPage-paddingRight);\n padding-bottom: var(--beam-ProductDetailsPage-paddingBottom);\n padding-left: var(--beam-ProductDetailsPage-paddingLeft);\n width: 100%;\n background-color: var(--beam-ProductDetailsPage-backgroundColor);\n ${useCustomBorder(\"--beam-ProductDetailsPage\")}\n }\n .icon-container {\n width: var(--beam-ProductDetailsPage-imageWidth);\n height: var(--beam-ProductDetailsPage-imageHeight);\n flex-shrink: 0;\n }\n .icon-container > img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n .info-container {\n margin-left: var(--beam-ProductDetailsPage-InfoContainer-marginLeft);\n }\n .title {\n ${useCustomText(\"--beam-ProductDetailsPage-title\")}\n }\n .title-block {\n text-align: var(--beam-ProductDetailsPage-title-textAlign);\n line-height: var(--beam-ProductDetailsPage-title-lineHeight);\n }\n .description {\n ${useCustomText(\"--beam-ProductDetailsPage-description\")}\n }\n .description-block {\n text-align: var(--beam-ProductDetailsPage-description-textAlign);\n line-height: var(--beam-ProductDetailsPage-description-lineHeight);\n }\n .ppgf-disclosure-tooltip {\n --max-width: 268px;\n }\n .ppgf-disclosure-tooltip::part(body) {\n background-color: var(--beam-ProductDetailsPage-PPGFDisclosure-backgroundColor);\n padding-top: var(--beam-ProductDetailsPage-PPGFDisclosure-paddingTop);\n padding-right: var(--beam-ProductDetailsPage-PPGFDisclosure-paddingRight);\n padding-bottom: var(--beam-ProductDetailsPage-PPGFDisclosure-paddingBottom);\n padding-left: var(--beam-ProductDetailsPage-PPGFDisclosure-paddingLeft);\n }\n .ppgf-disclosure-tooltip::part(base__arrow) {\n background-color: var(--beam-ProductDetailsPage-PPGFDisclosure-backgroundColor);\n }\n .ppgf-disclosure-tooltip-content {\n ${useCustomText(\"--beam-ProductDetailsPage-PPGFDisclosureTooltipContent\")}\n }\n .ppgf-disclosure-hyperlink {\n pointer-events: auto;\n user-select: auto;\n -webkit-user-select: auto;\n color: var(--beam-ProductDetailsPage-PPGFDisclosureHyperlink-color);\n }\n .ppgf-disclosure-hyperlink:visited {\n color: var(--beam-ProductDetailsPage-PPGFDisclosureHyperlink-color);\n }\n .ppgf-disclosure-tooltip-icon {\n width: var(--beam-ProductDetailsPage-TooltipIcon-width);\n color: var(--beam-ProductDetailsPage-TooltipIcon-color);\n height: auto;\n vertical-align: middle;\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamProductDetailsPage);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-product-details-page\": BeamProductDetailsPage;\n }\n}\n"],"names":["defineCustomBorder","namespace","borderRadius","borderStyle","borderColor","borderWidth","prefix","useCustomBorder","unsafeCSS","IMAGE_URL_REMOTE_CONFIG_KEY","BeamProductDetailsPage","LitElement","DEFAULT_BASE_URL","enforceConfig","getProductDetailsPage","makeApiKeyHeader","AsyncController","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","imageUrl","html","data","loading","_errorMessage","localizeUserString","ppgfDisclosure","ppgfHyperlink","defaults","defineCustomText","remoteConfig","config","_cssVariableMap","cssReset","css","useCustomText","__decorateClass","property","defineCustomElement"],"mappings":"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"}
1
+ {"version":3,"file":"product-details-page.js","sources":["../../src/shared/fragments/custom-border.ts","../../src/components/product-details-page/index.ts"],"sourcesContent":["import { CSSResult, unsafeCSS } from \"lit\";\n\nexport const defineCustomBorder = (\n namespace = \"\",\n { borderRadius = \"0px\", borderStyle = \"unset\", borderColor = \"#000000\", borderWidth = \"1px\" } = {}\n): Record<string, string> => {\n const prefix = namespace.startsWith(\"--beam-\") ? namespace : `--beam-${namespace}`;\n return {\n [`${prefix}-borderRadius`]: borderRadius,\n [`${prefix}-borderStyle`]: borderStyle,\n [`${prefix}-borderColor`]: borderColor,\n [`${prefix}-borderWidth`]: borderWidth,\n };\n};\n\nexport const useCustomBorder = (\n namespace = \"\",\n { borderRadius = \"0px\", borderStyle = \"unset\", borderColor = \"#000000\", borderWidth = \"1px\" } = {}\n): CSSResult => {\n const prefix = namespace.startsWith(\"--beam-\") ? namespace : `--beam-${namespace}`;\n return unsafeCSS(`\\\n border-radius: var(${prefix}-borderRadius, ${borderRadius});\n border-style: var(${prefix}-borderStyle, ${borderStyle});\n border-color: var(${prefix}-borderColor, ${borderColor});\n border-width: var(${prefix}-borderWidth, ${borderWidth});\n `);\n};\n","import { LitElement, css, html } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { getProductDetailsPage } from \"../../api-sdk/v3/routes\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { LANGUAGES, TUrl } from \"../../api-sdk/types\";\nimport { makeApiKeyHeader } from \"../../utils/makeApiKeyHeader\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { defineCustomBorder, useCustomBorder } from \"../../shared/fragments/custom-border\";\n\n// shoelace html tag imports\nimport \"@shoelace-style/shoelace/dist/components/tooltip/tooltip.js\";\nimport \"../../shared/shoelace-components\";\n\ntype RequiredConfig = {\n apiKey: string;\n storeId: number;\n};\n\nconst IMAGE_URL_REMOTE_CONFIG_KEY = \"--beam-ProductDetailsPage-imageUrl\";\n\nexport class BeamProductDetailsPage extends LitElement {\n static tagName = \"beam-product-details-page\";\n\n @property({ type: String, reflect: true }) public baseUrl: TUrl = DEFAULT_BASE_URL;\n\n @property({ type: String, reflect: false }) apiKey?: RequiredConfig[\"apiKey\"];\n\n @property({ type: Number }) storeId?: number;\n\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n\n @property({ type: Boolean }) public debug = false;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n getProductDetailsPageData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"storeId\"], this)) throw new MissingConfig();\n\n const res = await getProductDetailsPage({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n queryParams: {\n version: \"1.0.0\",\n lang: this.configLang,\n storeId: this.storeId,\n widgetName: WIDGET_NAMES.product_details_page,\n },\n });\n return res;\n };\n\n private productDetailsPageDataController = new AsyncController<typeof this.getProductDetailsPageData>(\n this,\n this.getProductDetailsPageData\n );\n\n async updated(changedProperties: Map<string, unknown>) {\n const requireNewDataProps = [\"storeId\", \"baseUrl\", \"lang\", \"apiKey\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n await this.productDetailsPageDataController.exec();\n break;\n }\n }\n }\n\n renderWidgetIcon() {\n const imageUrl = this.cssVariables[IMAGE_URL_REMOTE_CONFIG_KEY];\n\n return imageUrl\n ? html`\n <span class=\"icon-container\">\n <img src=${imageUrl} alt=\"Widget Icon\"></img>\n </span>\n `\n : html``;\n }\n\n render() {\n const { data, loading } = this.productDetailsPageDataController;\n if (loading) {\n return html``;\n }\n if (data == null) {\n if (this.debug) {\n return _errorMessage({ error: new Error(\"No data\") });\n }\n return \"\";\n }\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <div class=\"root\">\n ${this.renderWidgetIcon()}\n <span class=\"info-container\">\n <div class=\"title-block\">\n <h3 class=\"title\">${localizeUserString(this.configLang, data.config?.web?.title)}</h3>\n </div>\n <div class=\"description-block\">\n <span class=\"description\"> ${localizeUserString(this.configLang, data.config?.web?.description)}</span\n >${this.renderDisclosureTooltip()}\n </div>\n </span>\n </div>\n `;\n }\n\n /* PayPal Giving Fund Disclosure */\n renderDisclosureTooltip() {\n const ppgfDisclosure = this.productDetailsPageDataController.data?.ppgfDisclosure;\n return ppgfDisclosure\n ? html`<sl-tooltip class=\"ppgf-disclosure-tooltip\">\n <div class=\"ppgf-disclosure-tooltip-content\" slot=\"content\">${unsafeHTML(ppgfDisclosure.copy)}</div>\n ${this.renderDisclosureTooltipIcon()}\n </sl-tooltip>`\n : html``;\n }\n\n renderDisclosureTooltipIcon() {\n return html`<sl-icon\n library=\"lucide\"\n name=\"info\"\n label=\"ppgf-disclosure-tooltip-icon\"\n class=\"ppgf-disclosure-tooltip-icon\"\n ></sl-icon>`;\n }\n\n renderDisclosureTooltipHyperlink() {\n const ppgfHyperlink = this.productDetailsPageDataController.data?.ppgfDisclosureHyperlink;\n return ppgfHyperlink\n ? html`<a class=\"ppgf-disclosure-hyperlink\" href=\"${ppgfHyperlink.url}\" target=\"_blank\">${ppgfHyperlink.copy}</a>`\n : html``;\n }\n /* End PayPal Giving Fund Disclosure */\n\n public get cssVariables() {\n const defaults = {\n \"--beam-ProductDetailsPage-imageWidth\": \"24px\",\n \"--beam-ProductDetailsPage-imageHeight\": \"24px\",\n \"--beam-ProductDetailsPage-maxWidth\": \"346px\",\n \"--beam-ProductDetailsPage-paddingTop\": \"8px\",\n \"--beam-ProductDetailsPage-paddingRight\": \"12px\",\n \"--beam-ProductDetailsPage-paddingBottom\": \"8px\",\n \"--beam-ProductDetailsPage-paddingLeft\": \"15px\",\n \"--beam-ProductDetailsPage-InfoContainer-marginLeft\": \"8px\",\n \"--beam-ProductDetailsPage-backgroundColor\": \"unset\",\n \"--beam-ProductDetailsPage-TooltipIcon-width\": \"10px\",\n \"--beam-ProductDetailsPage-TooltipIcon-color\": \"inherit\",\n \"--beam-ProductDetailsPage-PPGFDisclosure-backgroundColor\": \"#000000\",\n \"--beam-ProductDetailsPage-PPGFDisclosure-paddingTop\": \"10px\",\n \"--beam-ProductDetailsPage-PPGFDisclosure-paddingRight\": \"8px\",\n \"--beam-ProductDetailsPage-PPGFDisclosure-paddingBottom\": \"10px\",\n \"--beam-ProductDetailsPage-PPGFDisclosure-paddingLeft\": \"8px\",\n \"--beam-ProductDetailsPage-PPGFDisclosureHyperlink-color\": \"#5CA3FF\",\n ...defineCustomText(\"--beam-ProductDetailsPage-title\", {\n fontSize: \"12px\",\n fontWeight: \"bold\",\n }),\n \"--beam-ProductDetailsPage-title-textAlign\": \"left\",\n ...defineCustomText(\"--beam-ProductDetailsPage-description\", {\n marginTop: \"4px\",\n fontSize: \"12px\",\n lineHeight: \"15px\",\n }),\n \"--beam-ProductDetailsPage-description-textAlign\": \"left\",\n ...defineCustomText(\"--beam-ProductDetailsPage-PPGFDisclosureTooltipContent\", {\n fontSize: \"12px\",\n lineHeight: \"16px\",\n color: \"#FFFFFF\",\n }),\n ...defineCustomBorder(\"--beam-ProductDetailsPage\"),\n };\n const remoteConfig = this.productDetailsPageDataController?.data?.config?.web?.theme || {};\n\n const config = { ...defaults, ...remoteConfig };\n\n const serializable = Object.create({\n toCSS() {\n return _cssVariableMap(this as Record<string, string>);\n },\n });\n\n return Object.assign(serializable, config);\n }\n\n static styles = [\n cssReset,\n css`\n :host {\n font-family: var(--beam-fontFamily);\n font-style: var(--beam-fontStyle);\n font-size: var(--beam-fontSize);\n background-color: var(--beam-backgroundColor);\n color: var(--beam-textColor);\n max-width: var(--beam-ProductDetailsPage-maxWidth);\n word-break: normal;\n display: block;\n }\n .root {\n display: flex;\n align-items: center;\n padding-top: var(--beam-ProductDetailsPage-paddingTop);\n padding-right: var(--beam-ProductDetailsPage-paddingRight);\n padding-bottom: var(--beam-ProductDetailsPage-paddingBottom);\n padding-left: var(--beam-ProductDetailsPage-paddingLeft);\n width: 100%;\n background-color: var(--beam-ProductDetailsPage-backgroundColor);\n ${useCustomBorder(\"--beam-ProductDetailsPage\")}\n }\n .icon-container {\n width: var(--beam-ProductDetailsPage-imageWidth);\n height: var(--beam-ProductDetailsPage-imageHeight);\n flex-shrink: 0;\n }\n .icon-container > img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n .info-container {\n margin-left: var(--beam-ProductDetailsPage-InfoContainer-marginLeft);\n }\n .title {\n ${useCustomText(\"--beam-ProductDetailsPage-title\")}\n }\n .title-block {\n text-align: var(--beam-ProductDetailsPage-title-textAlign);\n line-height: var(--beam-ProductDetailsPage-title-lineHeight);\n }\n .description {\n ${useCustomText(\"--beam-ProductDetailsPage-description\")}\n }\n .description-block {\n text-align: var(--beam-ProductDetailsPage-description-textAlign);\n line-height: var(--beam-ProductDetailsPage-description-lineHeight);\n }\n .ppgf-disclosure-tooltip {\n --max-width: 268px;\n }\n .ppgf-disclosure-tooltip::part(body) {\n background-color: var(--beam-ProductDetailsPage-PPGFDisclosure-backgroundColor);\n padding-top: var(--beam-ProductDetailsPage-PPGFDisclosure-paddingTop);\n padding-right: var(--beam-ProductDetailsPage-PPGFDisclosure-paddingRight);\n padding-bottom: var(--beam-ProductDetailsPage-PPGFDisclosure-paddingBottom);\n padding-left: var(--beam-ProductDetailsPage-PPGFDisclosure-paddingLeft);\n }\n .ppgf-disclosure-tooltip::part(base__arrow) {\n background-color: var(--beam-ProductDetailsPage-PPGFDisclosure-backgroundColor);\n }\n .ppgf-disclosure-tooltip-content {\n ${useCustomText(\"--beam-ProductDetailsPage-PPGFDisclosureTooltipContent\")}\n }\n .ppgf-disclosure-tooltip-content > a {\n pointer-events: auto;\n color: var(--beam-ProductDetailsPage-PPGFDisclosureHyperlink-color);\n }\n .ppgf-disclosure-hyperlink:visited {\n color: var(--beam-ProductDetailsPage-PPGFDisclosureHyperlink-color);\n }\n .ppgf-disclosure-tooltip-icon {\n width: var(--beam-ProductDetailsPage-TooltipIcon-width);\n color: var(--beam-ProductDetailsPage-TooltipIcon-color);\n height: auto;\n vertical-align: middle;\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamProductDetailsPage);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-product-details-page\": BeamProductDetailsPage;\n }\n}\n"],"names":["defineCustomBorder","namespace","borderRadius","borderStyle","borderColor","borderWidth","prefix","useCustomBorder","unsafeCSS","IMAGE_URL_REMOTE_CONFIG_KEY","BeamProductDetailsPage","LitElement","DEFAULT_BASE_URL","enforceConfig","getProductDetailsPage","makeApiKeyHeader","WIDGET_NAMES","AsyncController","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","imageUrl","html","data","loading","_errorMessage","localizeUserString","ppgfDisclosure","unsafeHTML","ppgfHyperlink","defaults","defineCustomText","remoteConfig","config","_cssVariableMap","cssReset","css","useCustomText","__decorateClass","property","defineCustomElement"],"mappings":"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"}
@@ -5,7 +5,7 @@ import * as lodash from 'lodash';
5
5
  import '../chunks/progress-bar-0VS_AmEf.esm.js';
6
6
  import '../chunks/promo-pill-label-3bA1z-la.esm.js';
7
7
  import './beam-partner-logos.js';
8
- import { b as TNumericId, c as TId } from '../chunks/types-7kSi85Gv.esm.js';
8
+ import { b as TNumericId, c as TId } from '../chunks/types-CfbVJRfU.esm.js';
9
9
  import { T as TCart } from '../chunks/cart-contents-3-9fB-7m.esm.js';
10
10
  import { L as LANGUAGES } from '../chunks/types-aju0qrRe.esm.js';
11
11
  import '../chunks/openapi-spec--MzXvfCC.esm.js';
@@ -74,7 +74,7 @@ declare class BeamRedeemTransaction extends LitElement {
74
74
  static styles: lit.CSSResult[];
75
75
  private handleChooseClick;
76
76
  get shouldCollapse(): boolean;
77
- protected render(): lit_html.TemplateResult<1> | "";
77
+ protected render(): "" | lit_html.TemplateResult<1>;
78
78
  }
79
79
  declare global {
80
80
  interface HTMLElementTagNameMap {
@@ -1,4 +1,4 @@
1
- import{y as c,m as k,f as $,g as l,t as x,h as N,q as v,p as P,k as D}from"../chunks/lit-qtGbjGnK.esm.js";import{d as z}from"../chunks/lodash-P8OIs-at.esm.js";import{c as L,u as h,d as U,f as M,e as C,A as B,g as w,a as f,b as E,_ as y,i as m}from"../chunks/localize-F31ae3j6.esm.js";import{D as W,f as A,k as F,u as K,S as O}from"../chunks/routes-2FqTWOCW.esm.js";import{p as j}from"../chunks/progress-bar-Sn2QspHy.esm.js";import{p as _}from"../chunks/promo-pill-label-j0A8qZ0c.esm.js";import{partnerLogosConfigDefaults as V}from"./beam-partner-logos.esm.js";import{_ as q}from"../chunks/loading-template-Av0IUyKF.esm.js";import{M as H,B as G}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{createScopedLocalStorage as J}from"../utils/local-storage.esm.js";import{c as Z}from"../chunks/css-card-grid-7tObtoJx.esm.js";import{c as Q}from"../chunks/events-Y8fYvSqM.esm.js";import"../utils/logger.esm.js";import"../chunks/vendor-jQ8cxMpw.esm.js";const X=({height:i="1em",width:e="1em"}={})=>c`
1
+ import{y as c,m as k,f as N,g as l,t as x,h as P,q as v,p as D,k as z}from"../chunks/lit-qtGbjGnK.esm.js";import{d as L}from"../chunks/lodash-P8OIs-at.esm.js";import{c as U,u as h,d as M,f as E,e as C,A as B,g as w,a as f,b as W,_ as y,i as m}from"../chunks/localize-F31ae3j6.esm.js";import{D as A,f as F,W as S,k as K,u as _,S as O}from"../chunks/routes-b8sncPq8.esm.js";import{p as j}from"../chunks/progress-bar-Sn2QspHy.esm.js";import{p as V}from"../chunks/promo-pill-label-j0A8qZ0c.esm.js";import{partnerLogosConfigDefaults as q}from"./beam-partner-logos.esm.js";import{_ as G}from"../chunks/loading-template-Av0IUyKF.esm.js";import{M as H,B as J}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{createScopedLocalStorage as Z}from"../utils/local-storage.esm.js";import{c as Q}from"../chunks/css-card-grid-7tObtoJx.esm.js";import{c as X}from"../chunks/events-Y8fYvSqM.esm.js";import"../utils/logger.esm.js";import"../chunks/vendor-jQ8cxMpw.esm.js";const Y=({height:i="1em",width:e="1em"}={})=>c`
2
2
  <svg
3
3
  style="${k({height:i,width:e,position:"relative",bottom:"0"})}"
4
4
  xmlns="http://www.w3.org/2000/svg"
@@ -13,7 +13,7 @@ import{y as c,m as k,f as $,g as l,t as x,h as N,q as v,p as P,k as D}from"../ch
13
13
  />
14
14
  </g>
15
15
  </svg>
16
- `,u={en:{beamAttribution:()=>"Powered by Beam",ctaTitle:()=>"Choose your impact",ctaPromoPrefixMessage:()=>"At no extra cost,",ctaPromoMessage:({donationPercentage:i="1"}={})=>`select a nonprofit and ${i}% of your purchase will be donated.`,ctaMessage:({donationPercentage:i="1%"}={})=>`Select a nonprofit and ${i} of your purchase will be donated, at no extra cost.`,submitButtonText:()=>"Confirm",submitButtonTextCompleted:()=>"Confirmed!",chooseButtonText:()=>"Choose"},fr:{beamAttribution:()=>"Optimis\xE9 par Beam",ctaTitle:()=>"Choisissez votre cause",ctaPromoPrefixMessage:()=>"",ctaPromoMessage:()=>"",ctaMessage:({donationPercentage:i="1%"}={})=>`Choisissez un organisme \xE0 but non lucratif et ${i}% lui sera vers\xE9 en votre nom, sans frais suppl\xE9mentaires.`,submitButtonText:()=>"Confirmer",submitButtonTextCompleted:()=>"Confirm\xE9!",chooseButtonText:()=>"Choisissez"},de:{beamAttribution:()=>"Unterst\xFCtzt von Beam",ctaTitle:()=>"W\xE4hle deinen Impact",ctaPromoPrefixMessage:()=>"",ctaPromoMessage:()=>"",ctaMessage:({donationPercentage:i="1%"}={})=>`W\xE4hle eine der gemeinn\xFCtzigen Organisationen und spende ${i} deines Einkaufs ohne zus\xE4tzliche Kosten`,submitButtonText:()=>"Best\xE4tigen",submitButtonTextCompleted:()=>"Best\xE4tigt!",chooseButtonText:()=>"W\xE4hlen"},es:{ctaTitle:()=>"Elige tu contribuci\xF3n",ctaPromoPrefixMessage:()=>"",ctaPromoMessage:()=>"",ctaMessage:({donationPercentage:i="1%"}={})=>`Elige una organizaci\xF3n sin fines de lucro y donaremos ${i} de tu compra sin coste adicional.`,beamAttribution:()=>"Ofrecido por Beam",submitButtonText:()=>"Confirmar",submitButtonTextCompleted:()=>"\xA1Confirmado!",chooseButtonText:()=>"Elige"},it:{ctaTitle:()=>"Scegli dove fare la differenza",ctaPromoPrefixMessage:()=>"",ctaPromoMessage:()=>"",ctaMessage:({donationPercentage:i="1%"}={})=>`Seleziona un'organizzazione no-profit a cui devolvere l\u2019${i} del tuo acquisto, senza costi aggiuntivi`,beamAttribution:()=>"Gestito da Beam",submitButtonText:()=>"Confermare",submitButtonTextCompleted:()=>"Confermato!",chooseButtonText:()=>"Scegli"},pl:{beamAttribution:()=>"Wspierany przez Beam",ctaTitle:()=>"Wybierz inicjatyw\u0119, kt\xF3r\u0105 chcesz wesprze\u0107",ctaPromoPrefixMessage:()=>"",ctaPromoMessage:()=>"",ctaMessage:({donationPercentage:i="1%"}={})=>`Wybierz organizacj\u0119, kt\xF3rej przeka\u017Cesz ${i} warto\u015Bci Twoich zakup\xF3w \u2013 bez \u017Cadnych dodatkowych koszt\xF3w!`,submitButtonText:()=>"Zatwierd\u017A",submitButtonTextCompleted:()=>"Zatwierdzono!",chooseButtonText:()=>"Wybierz"}};var Y=Object.defineProperty,ee=Object.getOwnPropertyDescriptor,s=(i,e,t,o)=>{for(var a=o>1?void 0:o?ee(e,t):e,p=i.length-1,d;p>=0;p--)(d=i[p])&&(a=(o?d(e,t,a):d(a))||a);return o&&a&&Y(e,t,a),a};class r extends N{constructor(){super(...arguments),this.baseUrl=W,this.lang="en",this.debug=!1,this.isMobile=window.innerWidth<768,this.didUserExpandNonprofits=!1,this.shouldUseNewPromoUI=!1,this.getChainNonprofits=async()=>{if(M(["transactionId","subscriptionId"],this),!this.hasCorrectTransactionConfig&&!this.hasCorrectSubscriptionConfig)throw new H;const e=await A({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{storeId:this.storeId,postalCode:this.postalCode,countryCode:this.countryCode,cart:this.cart??void 0,widgetName:"redeem-transaction",version:"1.0.0",lang:this.configLang}});return e.store?.id&&e.store.id!==this.storeId&&(this.storeId=e.store.id),this.localStorage.setItemJson("chainNonprofits",{createdAt:new Date,data:e}),e},this.updateNonprofitIdForRecord=async({selectedNonprofitId:e})=>this.transactionId?this.putTransaction({selectedNonprofitId:e}):this.subscriptionId?this.putSubscription({selectedNonprofitId:e}):null,this.putTransaction=async({selectedNonprofitId:e})=>(C(["apiKey","transactionId"],this),F({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},pathParams:{transactionId:Number(this.transactionId)},requestBody:{nonprofitId:e}})),this.putSubscription=async({selectedNonprofitId:e})=>(C(["apiKey","subscriptionId"],this),K({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{remoteSubscriptionId:this.subscriptionId,nonprofitId:e}})),this.nonprofitListDataController=new B(this,this.getChainNonprofits),this.selectionDataController=new B(this,this.updateNonprofitIdForRecord),this.localStorage=J(this),this.makeHandleSelect=(e,t,o)=>async a=>{if(!this.allowChange)return;const p=this.selectedNonprofitId;if(a instanceof KeyboardEvent){let d=null;switch(a.key){case"ArrowUp":case"ArrowLeft":t===0?d=o[o.length-1]:d=o[t-1],a.preventDefault();break;case"ArrowRight":case"ArrowDown":t===o.length-1?d=o[0]:d=o[t+1],a.preventDefault();break;case"Enter":case" ":a.preventDefault();break;default:return}if(d){const b=this.renderRoot.querySelector(`[data-value="${d.nonprofit.id}"]`);b!==null&&(b.tabIndex=0,b.focus());return}}if(a.currentTarget instanceof HTMLElement){if(p===e)return;this.selectedNonprofitId=e}},this.handleSubmit=async()=>{const{selectedNonprofitId:e}=this;if(!this.allowSubmit||e==null)return;await this.selectionDataController.exec({selectedNonprofitId:e}),this.shouldUseStoredSelection&&(this.localStorage.setItem("nonprofit",e),this.localStorage.setItem("nonprofit_selected_at",new Date().toISOString()));const t=this.nonprofitListDataController?.data?.nonprofits.find(o=>o.nonprofit.id===e);this.dispatchEvent(new Q({selectedNonprofitId:e,nonprofitName:t?.nonprofit.name}))},this.evaluateBreakPoints=z(()=>{this.isMobile=window.innerWidth<768},50,{maxWait:50,leading:!0})}get configLang(){return O[this.lang]||"en"}get hasCorrectTransactionConfig(){return w(["apiKey","transactionId"],this)}get hasCorrectSubscriptionConfig(){return w(["apiKey","subscriptionId"],this)}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.evaluateBreakPoints)}async firstUpdated(e){await this.restoreStateFromCache()}async updated(e){const t=["baseUrl","storeId","apiKey","countryCode","postalCode","lang"];for(const o of t)if(e.has(o)){await this.nonprofitListDataController.exec();break}}disconnectedCallback(){super.disconnectedCallback()}restoreStateFromCache(){C(["apiKey"],this),this.shouldUseStoredSelection&&(this.selectedNonprofitId=parseInt(this.localStorage.getItem("nonprofit")||"")||void 0);try{const{createdAt:e=0,data:t}=this.localStorage.getItemJson("chainNonprofits")||{},o=2*60*60*1e3;new Date(e).valueOf()+o>new Date().valueOf()&&(this.nonprofitListDataController.data=t,this.nonprofitListDataController.loading=!1)}catch{}}get allowChange(){return this.selectionDataController.data==null&&!this.selectionDataController.loading}get allowSubmit(){return!!(this.selectedNonprofitId&&this.allowChange)}get shouldUseStoredSelection(){return!this.subscriptionId}get cssVariables(){const e={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit",...V,...j,"--beam-RedeemTransaction-maxWidth":"1000px","--beam-RedeemTransaction-submitButton-color":"#fff","--beam-RedeemTransaction-submitButton-hover-color":"#fff","--beam-RedeemTransaction-submitButton-disabled-color":"#fff","--beam-RedeemTransaction-submitButton-backgroundColor":"#333","--beam-RedeemTransaction-submitButton-hover-backgroundColor":"#222","--beam-RedeemTransaction-submitButton-disabled-backgroundColor":"#767676","--beam-RedeemTransaction-submitButton-borderColor":"#333","--beam-RedeemTransaction-submitButton-hover-borderColor":"#222","--beam-RedeemTransaction-submitButton-disabled-borderColor":"#767676","--beam-RedeemTransaction-submitButton-fontSize":"14px","--beam-RedeemTransaction-submitButton-fontWeight":"inherit","--beam-RedeemTransaction-submitButton-fontFamily":"inherit","--beam-RedeemTransaction-submitButton-textTransform":"none","--beam-RedeemTransaction-submitButton-borderRadius":"0px","--beam-RedeemTransaction-submitButton-padding":"15px 30px","--beam-RedeemTransaction-submitButton-position":"right","--beam-RedeemTransaction-submitButton-positionRight-width":"auto","--beam-RedeemTransaction-submitButton-positionBottom-width":"100%","--beam-RedeemTransaction-submitButton-positionBottom-marginTop":"10px","--beam-RedeemTransaction-checkmark-color":"transparent","--beam-RedeemTransaction-checkmark-selected-color":"#fff","--beam-RedeemTransaction-checkmark-hover-color":"#fff","--beam-RedeemTransaction-checkmark-backgroundColor":"transparent","--beam-RedeemTransaction-checkmark-selected-backgroundColor":"#333","--beam-RedeemTransaction-checkmark-hover-backgroundColor":"#d9d9d9","--beam-RedeemTransaction-checkmark-borderColor":"transparent","--beam-RedeemTransaction-checkmark-selected-borderColor":"#333","--beam-RedeemTransaction-checkmark-hover-borderColor":"#d9d9d9","--beam-RedeemTransaction-options-minWidth":"250px","--beam-RedeemTransaction-options-columnCount":"2","--beam-RedeemTransaction-options-borderRadius":"0px","--beam-RedeemTransaction-options-borderWidth":"1px","--beam-RedeemTransaction-options-selected-borderWidth":"2px","--beam-RedeemTransaction-options-focus-borderWidth":"1px","--beam-RedeemTransaction-options-image-borderRadius":"0px","--beam-RedeemTransaction-options-borderColor":"#d9d9d9","--beam-RedeemTransaction-options-selected-borderColor":"currentColor","--beam-RedeemTransaction-options-hover-borderColor":"#ccc","--beam-RedeemTransaction-options-backgroundColor":"transparent","--beam-RedeemTransaction-options-selected-backgroundColor":"transparent","--beam-RedeemTransaction-options-hover-backgroundColor":"#f1f1f1","--beam-RedeemTransaction-options-marginTop":"15px",...f("--beam-RedeemTransaction-title",{fontSize:"1.25em",fontWeight:"bold"}),...f("--beam-RedeemTransaction-description",{marginTop:"0.5em"}),...f("--beam-RedeemTransaction-details-cause",{fontSize:"1em",fontWeight:"bold"}),...f("--beam-RedeemTransaction-details-impactDescription",{fontSize:"0.85em",marginTop:"10px"}),"--beam-RedeemTransaction-details-nonprofitName-fontWeight":"bold","--beam-RedeemTransaction-details-nonprofitName-fontStyle":"inherit","--beam-RedeemTransaction-details-fundingProgress-marginTop":"10px",...f("--beam-RedeemTransaction-details-fundingProgressLabel",{fontSize:"0.85em"}),"--beam-RedeemTransaction-cardStyle":"'image'","--beam-RedeemTransaction-options-icon-padding":"0px","--beam-RedeemTransaction-options-collapseNonprofits-mobile":"false","--beam-RedeemTransaction-options-collapseNonprofits-desktop":"false",..._},t=this.nonprofitListDataController?.data?.config?.web?.theme||{},o={...e,...t};return Object.assign(Object.create({toCSS(){return E(this)}}),o)}handleChooseClick(){this.didUserExpandNonprofits=!0}get shouldCollapse(){const e=this.cssVariables["--beam-RedeemTransaction-options-collapseNonprofits-mobile"]==="true",t=this.cssVariables["--beam-RedeemTransaction-options-collapseNonprofits-desktop"]==="true";return this.isMobile&&e||!this.isMobile&&t}render(){const{selectedNonprofitId:e}=this,{data:t,loading:o}=this.nonprofitListDataController;if(o&&!t)return q();if(this.nonprofitListDataController.error)return this.debug?y({error:this.nonprofitListDataController.error}):"";if(this.selectionDataController.error&&this.debug)return y({error:this.selectionDataController.error});if(t==null)return this.debug?y({error:new G("No data")}):"";const a=t?.nonprofits||[],p=a.find(n=>n.nonprofit.id===e)||null,d=this.cssVariables["--beam-RedeemTransaction-cardStyle"]==="'icon'",b=this.cssVariables["--beam-RedeemTransaction-submitButton-position"],R=this.isMobile&&b==="bottom"?"positionBottom":"positionRight";this.shouldUseNewPromoUI=!!(t?.config?.web?.promo&&!this.subscriptionId);const S=a.some(n=>!n.promo||!n.promo.isActive);return c`
16
+ `,u={en:{beamAttribution:()=>"Powered by Beam",ctaTitle:()=>"Choose your impact",ctaPromoPrefixMessage:()=>"At no extra cost,",ctaPromoMessage:({donationPercentage:i="1"}={})=>`select a nonprofit and ${i}% of your purchase will be donated.`,ctaMessage:({donationPercentage:i="1%"}={})=>`Select a nonprofit and ${i} of your purchase will be donated, at no extra cost.`,submitButtonText:()=>"Confirm",submitButtonTextCompleted:()=>"Confirmed!",chooseButtonText:()=>"Choose"},fr:{beamAttribution:()=>"Optimis\xE9 par Beam",ctaTitle:()=>"Choisissez votre cause",ctaPromoPrefixMessage:()=>"",ctaPromoMessage:()=>"",ctaMessage:({donationPercentage:i="1%"}={})=>`Choisissez un organisme \xE0 but non lucratif et ${i}% lui sera vers\xE9 en votre nom, sans frais suppl\xE9mentaires.`,submitButtonText:()=>"Confirmer",submitButtonTextCompleted:()=>"Confirm\xE9!",chooseButtonText:()=>"Choisissez"},de:{beamAttribution:()=>"Unterst\xFCtzt von Beam",ctaTitle:()=>"W\xE4hle deinen Impact",ctaPromoPrefixMessage:()=>"",ctaPromoMessage:()=>"",ctaMessage:({donationPercentage:i="1%"}={})=>`W\xE4hle eine der gemeinn\xFCtzigen Organisationen und spende ${i} deines Einkaufs ohne zus\xE4tzliche Kosten`,submitButtonText:()=>"Best\xE4tigen",submitButtonTextCompleted:()=>"Best\xE4tigt!",chooseButtonText:()=>"W\xE4hlen"},es:{ctaTitle:()=>"Elige tu contribuci\xF3n",ctaPromoPrefixMessage:()=>"",ctaPromoMessage:()=>"",ctaMessage:({donationPercentage:i="1%"}={})=>`Elige una organizaci\xF3n sin fines de lucro y donaremos ${i} de tu compra sin coste adicional.`,beamAttribution:()=>"Ofrecido por Beam",submitButtonText:()=>"Confirmar",submitButtonTextCompleted:()=>"\xA1Confirmado!",chooseButtonText:()=>"Elige"},it:{ctaTitle:()=>"Scegli dove fare la differenza",ctaPromoPrefixMessage:()=>"",ctaPromoMessage:()=>"",ctaMessage:({donationPercentage:i="1%"}={})=>`Seleziona un'organizzazione no-profit a cui devolvere l\u2019${i} del tuo acquisto, senza costi aggiuntivi`,beamAttribution:()=>"Gestito da Beam",submitButtonText:()=>"Confermare",submitButtonTextCompleted:()=>"Confermato!",chooseButtonText:()=>"Scegli"},pl:{beamAttribution:()=>"Wspierany przez Beam",ctaTitle:()=>"Wybierz inicjatyw\u0119, kt\xF3r\u0105 chcesz wesprze\u0107",ctaPromoPrefixMessage:()=>"",ctaPromoMessage:()=>"",ctaMessage:({donationPercentage:i="1%"}={})=>`Wybierz organizacj\u0119, kt\xF3rej przeka\u017Cesz ${i} warto\u015Bci Twoich zakup\xF3w \u2013 bez \u017Cadnych dodatkowych koszt\xF3w!`,submitButtonText:()=>"Zatwierd\u017A",submitButtonTextCompleted:()=>"Zatwierdzono!",chooseButtonText:()=>"Wybierz"}};var ee=Object.defineProperty,te=Object.getOwnPropertyDescriptor,s=(i,e,t,o)=>{for(var a=o>1?void 0:o?te(e,t):e,p=i.length-1,d;p>=0;p--)(d=i[p])&&(a=(o?d(e,t,a):d(a))||a);return o&&a&&ee(e,t,a),a};class r extends P{constructor(){super(...arguments),this.baseUrl=A,this.lang="en",this.debug=!1,this.isMobile=window.innerWidth<768,this.didUserExpandNonprofits=!1,this.shouldUseNewPromoUI=!1,this.getChainNonprofits=async()=>{if(E(["transactionId","subscriptionId"],this),!this.hasCorrectTransactionConfig&&!this.hasCorrectSubscriptionConfig)throw new H;const e=await F({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{storeId:this.storeId,postalCode:this.postalCode,countryCode:this.countryCode,cart:this.cart??void 0,widgetName:S.redeem_transaction,version:"1.0.0",lang:this.configLang}});return e.store?.id&&e.store.id!==this.storeId&&(this.storeId=e.store.id),this.localStorage.setItemJson("chainNonprofits",{createdAt:new Date,data:e}),e},this.updateNonprofitIdForRecord=async({selectedNonprofitId:e})=>this.transactionId?this.putTransaction({selectedNonprofitId:e}):this.subscriptionId?this.putSubscription({selectedNonprofitId:e}):null,this.putTransaction=async({selectedNonprofitId:e})=>(C(["apiKey","transactionId"],this),K({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},pathParams:{transactionId:Number(this.transactionId)},requestBody:{nonprofitId:e}})),this.putSubscription=async({selectedNonprofitId:e})=>(C(["apiKey","subscriptionId"],this),_({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{remoteSubscriptionId:this.subscriptionId,nonprofitId:e}})),this.nonprofitListDataController=new B(this,this.getChainNonprofits),this.selectionDataController=new B(this,this.updateNonprofitIdForRecord),this.localStorage=Z(this),this.makeHandleSelect=(e,t,o)=>async a=>{if(!this.allowChange)return;const p=this.selectedNonprofitId;if(a instanceof KeyboardEvent){let d=null;switch(a.key){case"ArrowUp":case"ArrowLeft":t===0?d=o[o.length-1]:d=o[t-1],a.preventDefault();break;case"ArrowRight":case"ArrowDown":t===o.length-1?d=o[0]:d=o[t+1],a.preventDefault();break;case"Enter":case" ":a.preventDefault();break;default:return}if(d){const b=this.renderRoot.querySelector(`[data-value="${d.nonprofit.id}"]`);b!==null&&(b.tabIndex=0,b.focus());return}}if(a.currentTarget instanceof HTMLElement){if(p===e)return;this.selectedNonprofitId=e}},this.handleSubmit=async()=>{const{selectedNonprofitId:e}=this;if(!this.allowSubmit||e==null)return;await this.selectionDataController.exec({selectedNonprofitId:e}),this.shouldUseStoredSelection&&(this.localStorage.setItem("nonprofit",e),this.localStorage.setItem("nonprofit_selected_at",new Date().toISOString()));const t=this.nonprofitListDataController?.data?.nonprofits.find(o=>o.nonprofit.id===e);this.dispatchEvent(new X({selectedNonprofitId:e,nonprofitName:t?.nonprofit.name,source:S.redeem_transaction}))},this.evaluateBreakPoints=L(()=>{this.isMobile=window.innerWidth<768},50,{maxWait:50,leading:!0})}get configLang(){return O[this.lang]||"en"}get hasCorrectTransactionConfig(){return w(["apiKey","transactionId"],this)}get hasCorrectSubscriptionConfig(){return w(["apiKey","subscriptionId"],this)}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.evaluateBreakPoints)}async firstUpdated(e){await this.restoreStateFromCache()}async updated(e){const t=["baseUrl","storeId","apiKey","countryCode","postalCode","lang"];for(const o of t)if(e.has(o)){await this.nonprofitListDataController.exec();break}}disconnectedCallback(){super.disconnectedCallback()}restoreStateFromCache(){C(["apiKey"],this),this.shouldUseStoredSelection&&(this.selectedNonprofitId=parseInt(this.localStorage.getItem("nonprofit")||"")||void 0);try{const{createdAt:e=0,data:t}=this.localStorage.getItemJson("chainNonprofits")||{},o=2*60*60*1e3;new Date(e).valueOf()+o>new Date().valueOf()&&(this.nonprofitListDataController.data=t,this.nonprofitListDataController.loading=!1)}catch{}}get allowChange(){return this.selectionDataController.data==null&&!this.selectionDataController.loading}get allowSubmit(){return!!(this.selectedNonprofitId&&this.allowChange)}get shouldUseStoredSelection(){return!this.subscriptionId}get cssVariables(){const e={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit",...q,...j,"--beam-RedeemTransaction-maxWidth":"1000px","--beam-RedeemTransaction-submitButton-color":"#fff","--beam-RedeemTransaction-submitButton-hover-color":"#fff","--beam-RedeemTransaction-submitButton-disabled-color":"#fff","--beam-RedeemTransaction-submitButton-backgroundColor":"#333","--beam-RedeemTransaction-submitButton-hover-backgroundColor":"#222","--beam-RedeemTransaction-submitButton-disabled-backgroundColor":"#767676","--beam-RedeemTransaction-submitButton-borderColor":"#333","--beam-RedeemTransaction-submitButton-hover-borderColor":"#222","--beam-RedeemTransaction-submitButton-disabled-borderColor":"#767676","--beam-RedeemTransaction-submitButton-fontSize":"14px","--beam-RedeemTransaction-submitButton-fontWeight":"inherit","--beam-RedeemTransaction-submitButton-fontFamily":"inherit","--beam-RedeemTransaction-submitButton-textTransform":"none","--beam-RedeemTransaction-submitButton-borderRadius":"0px","--beam-RedeemTransaction-submitButton-padding":"15px 30px","--beam-RedeemTransaction-submitButton-position":"right","--beam-RedeemTransaction-submitButton-positionRight-width":"auto","--beam-RedeemTransaction-submitButton-positionBottom-width":"100%","--beam-RedeemTransaction-submitButton-positionBottom-marginTop":"10px","--beam-RedeemTransaction-checkmark-color":"transparent","--beam-RedeemTransaction-checkmark-selected-color":"#fff","--beam-RedeemTransaction-checkmark-hover-color":"#fff","--beam-RedeemTransaction-checkmark-backgroundColor":"transparent","--beam-RedeemTransaction-checkmark-selected-backgroundColor":"#333","--beam-RedeemTransaction-checkmark-hover-backgroundColor":"#d9d9d9","--beam-RedeemTransaction-checkmark-borderColor":"transparent","--beam-RedeemTransaction-checkmark-selected-borderColor":"#333","--beam-RedeemTransaction-checkmark-hover-borderColor":"#d9d9d9","--beam-RedeemTransaction-options-minWidth":"250px","--beam-RedeemTransaction-options-columnCount":"2","--beam-RedeemTransaction-options-borderRadius":"0px","--beam-RedeemTransaction-options-borderWidth":"1px","--beam-RedeemTransaction-options-selected-borderWidth":"2px","--beam-RedeemTransaction-options-focus-borderWidth":"1px","--beam-RedeemTransaction-options-image-borderRadius":"0px","--beam-RedeemTransaction-options-borderColor":"#d9d9d9","--beam-RedeemTransaction-options-selected-borderColor":"currentColor","--beam-RedeemTransaction-options-hover-borderColor":"#ccc","--beam-RedeemTransaction-options-backgroundColor":"transparent","--beam-RedeemTransaction-options-selected-backgroundColor":"transparent","--beam-RedeemTransaction-options-hover-backgroundColor":"#f1f1f1","--beam-RedeemTransaction-options-marginTop":"15px",...f("--beam-RedeemTransaction-title",{fontSize:"1.25em",fontWeight:"bold"}),...f("--beam-RedeemTransaction-description",{marginTop:"0.5em"}),...f("--beam-RedeemTransaction-details-cause",{fontSize:"1em",fontWeight:"bold"}),...f("--beam-RedeemTransaction-details-impactDescription",{fontSize:"0.85em",marginTop:"10px"}),"--beam-RedeemTransaction-details-nonprofitName-fontWeight":"bold","--beam-RedeemTransaction-details-nonprofitName-fontStyle":"inherit","--beam-RedeemTransaction-details-fundingProgress-marginTop":"10px",...f("--beam-RedeemTransaction-details-fundingProgressLabel",{fontSize:"0.85em"}),"--beam-RedeemTransaction-cardStyle":"'image'","--beam-RedeemTransaction-options-icon-padding":"0px","--beam-RedeemTransaction-options-collapseNonprofits-mobile":"false","--beam-RedeemTransaction-options-collapseNonprofits-desktop":"false",...V},t=this.nonprofitListDataController?.data?.config?.web?.theme||{},o={...e,...t};return Object.assign(Object.create({toCSS(){return W(this)}}),o)}handleChooseClick(){this.didUserExpandNonprofits=!0}get shouldCollapse(){const e=this.cssVariables["--beam-RedeemTransaction-options-collapseNonprofits-mobile"]==="true",t=this.cssVariables["--beam-RedeemTransaction-options-collapseNonprofits-desktop"]==="true";return this.isMobile&&e||!this.isMobile&&t}render(){const{selectedNonprofitId:e}=this,{data:t,loading:o}=this.nonprofitListDataController;if(o&&!t)return G();if(this.nonprofitListDataController.error)return this.debug?y({error:this.nonprofitListDataController.error}):"";if(this.selectionDataController.error&&this.debug)return y({error:this.selectionDataController.error});if(t==null)return this.debug?y({error:new J("No data")}):"";const a=t?.nonprofits||[],p=a.find(n=>n.nonprofit.id===e)||null,d=this.cssVariables["--beam-RedeemTransaction-cardStyle"]==="'icon'",b=this.cssVariables["--beam-RedeemTransaction-submitButton-position"],R=this.isMobile&&b==="bottom"?"positionBottom":"positionRight";this.shouldUseNewPromoUI=!!(t?.config?.web?.promo&&!this.subscriptionId);const I=a.some(n=>!n.promo||!n.promo.isActive);return c`
17
17
  <style>
18
18
  :host {
19
19
  ${this.cssVariables.toCSS()}
@@ -30,12 +30,12 @@ import{y as c,m as k,f as $,g as l,t as x,h as N,q as v,p as P,k as D}from"../ch
30
30
  aria-labelledby="beam-RedeemTransaction-title"
31
31
  ?aria-disabled=${!this.allowChange}
32
32
  >
33
- ${P(a,n=>n.nonprofit.id,(n,g)=>{const T=e===n.nonprofit.id,I=T||p==null&&g===0;return c`
33
+ ${D(a,n=>n.nonprofit.id,(n,g)=>{const T=e===n.nonprofit.id,$=T||p==null&&g===0;return c`
34
34
  <div
35
35
  class="option ${v({isSelected:T,isDisabled:!this.allowChange})}"
36
36
  part="option"
37
37
  role="radio"
38
- tabindex="${I?0:-1}"
38
+ tabindex="${$?0:-1}"
39
39
  data-value=${n.nonprofit.id}
40
40
  ?aria-checked=${T}
41
41
  @click=${this.makeHandleSelect(n.nonprofit.id,g,a)}
@@ -103,15 +103,15 @@ import{y as c,m as k,f as $,g as l,t as x,h as N,q as v,p as P,k as D}from"../ch
103
103
  justify-content: center;
104
104
  "
105
105
  >
106
- <span style="line-height: 0;"> ${X({height:"10px",width:"10px"})} </span>
106
+ <span style="line-height: 0;"> ${Y({height:"10px",width:"10px"})} </span>
107
107
  </span>
108
108
  ${m(this.configLang,n.nonprofit.cause||"")}
109
109
  </div>
110
110
  <p class="details-impactDescription" style="flex: 1 1;">
111
- ${D(m(this.configLang,n.impact.description||""))}
111
+ ${z(m(this.configLang,n.impact.description||""))}
112
112
  </p>
113
113
  <div class="details-promo-pill-container" style="margin-top: 5px">
114
- ${n.promo?.isActive&&this.shouldUseNewPromoUI&&S?c`<beam-promo-info-pill
114
+ ${n.promo?.isActive&&this.shouldUseNewPromoUI&&I?c`<beam-promo-info-pill
115
115
  .promo=${t?.config?.web?.promo}
116
116
  shortVersion
117
117
  ></beam-promo-info-pill>`:c``}
@@ -192,7 +192,7 @@ import{y as c,m as k,f as $,g as l,t as x,h as N,q as v,p as P,k as D}from"../ch
192
192
  style="order: 1"
193
193
  ></beam-partner-logos>
194
194
  </div>
195
- `}}r.tagName="beam-redeem-transaction",r.styles=[L,$`
195
+ `}}r.tagName="beam-redeem-transaction",r.styles=[U,N`
196
196
  :host {
197
197
  display: block;
198
198
  max-width: var(--beam-RedeemTransaction-maxWidth, 1000px);
@@ -323,5 +323,5 @@ import{y as c,m as k,f as $,g as l,t as x,h as N,q as v,p as P,k as D}from"../ch
323
323
  font-weight: var(--beam-RedeemTransaction-details-nonprofitName-fontWeight, bold);
324
324
  font-style: var(--beam-RedeemTransaction-details-nonprofitName-fontStyle, inherit);
325
325
  }
326
- `,Z({gap:"20px",itemMinWidth:"var(--beam-RedeemTransaction-options-minWidth, 250px)",columnCount:"var(--beam-RedeemTransaction-options-columnCount, 2)"})],s([l({type:String})],r.prototype,"baseUrl",2),s([l({type:String})],r.prototype,"apiKey",2),s([l({type:Number})],r.prototype,"transactionId",2),s([l({type:String})],r.prototype,"subscriptionId",2),s([l({type:Number})],r.prototype,"storeId",2),s([l({type:String})],r.prototype,"countryCode",2),s([l({type:String})],r.prototype,"postalCode",2),s([l({type:Object})],r.prototype,"cart",2),s([l({type:Number,reflect:!0})],r.prototype,"selectedNonprofitId",2),s([l({type:String})],r.prototype,"lang",2),s([l({type:Boolean})],r.prototype,"debug",2),s([x()],r.prototype,"isMobile",2),s([x()],r.prototype,"didUserExpandNonprofits",2),s([x()],r.prototype,"shouldUseNewPromoUI",2),U(r);export{r as BeamRedeemTransaction};
326
+ `,Q({gap:"20px",itemMinWidth:"var(--beam-RedeemTransaction-options-minWidth, 250px)",columnCount:"var(--beam-RedeemTransaction-options-columnCount, 2)"})],s([l({type:String})],r.prototype,"baseUrl",2),s([l({type:String})],r.prototype,"apiKey",2),s([l({type:Number})],r.prototype,"transactionId",2),s([l({type:String})],r.prototype,"subscriptionId",2),s([l({type:Number})],r.prototype,"storeId",2),s([l({type:String})],r.prototype,"countryCode",2),s([l({type:String})],r.prototype,"postalCode",2),s([l({type:Object})],r.prototype,"cart",2),s([l({type:Number,reflect:!0})],r.prototype,"selectedNonprofitId",2),s([l({type:String})],r.prototype,"lang",2),s([l({type:Boolean})],r.prototype,"debug",2),s([x()],r.prototype,"isMobile",2),s([x()],r.prototype,"didUserExpandNonprofits",2),s([x()],r.prototype,"shouldUseNewPromoUI",2),M(r);export{r as BeamRedeemTransaction};
327
327
  //# sourceMappingURL=redeem-transaction.esm.js.map