@beamimpact/web-sdk 1.44.2 → 1.45.3

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 (197) hide show
  1. package/dist/chunks/_share-dialog-dependencies-FXJR0ESq.esm.js +2 -0
  2. package/dist/chunks/_share-dialog-dependencies-FXJR0ESq.esm.js.map +1 -0
  3. package/dist/chunks/_share-dialog-dependencies-VM-oSkel.esm.js +2 -0
  4. package/dist/chunks/_share-dialog-dependencies-VM-oSkel.esm.js.map +1 -0
  5. package/dist/chunks/{css-card-grid-r6wxRbPV.esm.js → css-card-grid-nEc--M5M.esm.js} +2 -2
  6. package/dist/chunks/{css-card-grid-r6wxRbPV.esm.js.map → css-card-grid-nEc--M5M.esm.js.map} +1 -1
  7. package/dist/chunks/{enforce-config-HksNiOMu.esm.js → enforce-config-ZAI7WYAd.esm.js} +2 -2
  8. package/dist/chunks/{enforce-config-HksNiOMu.esm.js.map → enforce-config-ZAI7WYAd.esm.js.map} +1 -1
  9. package/dist/chunks/{enforce-config-er6B5Gkj.esm.js → enforce-config-ZyPq_4CF.esm.js} +2 -2
  10. package/dist/chunks/{enforce-config-er6B5Gkj.esm.js.map → enforce-config-ZyPq_4CF.esm.js.map} +1 -1
  11. package/dist/chunks/index-4Fvcu3-v.esm.js +2 -0
  12. package/dist/chunks/index-4Fvcu3-v.esm.js.map +1 -0
  13. package/dist/chunks/{index-tV7ZK858.esm.js → index-IujuLxUV.esm.js} +2 -2
  14. package/dist/chunks/{index-tV7ZK858.esm.js.map → index-IujuLxUV.esm.js.map} +1 -1
  15. package/dist/chunks/{index-1nI7l5vj.esm.js → index-JDZQClkA.esm.js} +2 -2
  16. package/dist/chunks/{index-1nI7l5vj.esm.js.map → index-JDZQClkA.esm.js.map} +1 -1
  17. package/dist/chunks/index-KQ5XYf5e.esm.js +2 -0
  18. package/dist/chunks/index-KQ5XYf5e.esm.js.map +1 -0
  19. package/dist/chunks/index-Uos3T3K9.esm.js +2 -0
  20. package/dist/chunks/index-Uos3T3K9.esm.js.map +1 -0
  21. package/dist/chunks/index-WibiKAEy.esm.js +2 -0
  22. package/dist/chunks/index-WibiKAEy.esm.js.map +1 -0
  23. package/dist/chunks/{index-Kz977KkP.esm.js → index-XN6JUoCQ.esm.js} +2 -2
  24. package/dist/chunks/{index-Kz977KkP.esm.js.map → index-XN6JUoCQ.esm.js.map} +1 -1
  25. package/dist/chunks/{index-mw70Caof.esm.js → index-eXilYHHK.esm.js} +2 -2
  26. package/dist/chunks/{index-mw70Caof.esm.js.map → index-eXilYHHK.esm.js.map} +1 -1
  27. package/dist/chunks/index-qOqcMZym.esm.js +2 -0
  28. package/dist/chunks/index-qOqcMZym.esm.js.map +1 -0
  29. package/dist/chunks/index-xJ0ZfjZW.esm.js +2 -0
  30. package/dist/chunks/index-xJ0ZfjZW.esm.js.map +1 -0
  31. package/dist/chunks/{lit-3QHn3fwl.esm.js → lit-iNN5L_Qk.esm.js} +2 -2
  32. package/dist/chunks/{lit-3QHn3fwl.esm.js.map → lit-iNN5L_Qk.esm.js.map} +1 -1
  33. package/dist/chunks/loading-template-t4fFsYtr.esm.js +2 -0
  34. package/dist/chunks/{loading-template-mLjOGXMj.esm.js.map → loading-template-t4fFsYtr.esm.js.map} +1 -1
  35. package/dist/chunks/localize-m-_ESmpk.esm.js +31 -0
  36. package/dist/chunks/localize-m-_ESmpk.esm.js.map +1 -0
  37. package/dist/chunks/localize-o-cYvHQf.esm.js +31 -0
  38. package/dist/chunks/localize-o-cYvHQf.esm.js.map +1 -0
  39. package/dist/chunks/order-page-Qptp0Cgw.esm.js +2 -0
  40. package/dist/chunks/{order-page-zPVHsu6v.esm.js.map → order-page-Qptp0Cgw.esm.js.map} +1 -1
  41. package/dist/chunks/order-page-fVZWjxXw.esm.js +2 -0
  42. package/dist/chunks/{order-page-zYoubhg4.esm.js.map → order-page-fVZWjxXw.esm.js.map} +1 -1
  43. package/dist/chunks/{progress-bar-HVG_n8_6.esm.js → progress-bar-PMU_xI3L.esm.js} +2 -2
  44. package/dist/chunks/{progress-bar-HVG_n8_6.esm.js.map → progress-bar-PMU_xI3L.esm.js.map} +1 -1
  45. package/dist/chunks/promo-pill-label-58PJRvSl.esm.js +15 -0
  46. package/dist/chunks/{promo-pill-label-81dVN7VY.esm.js.map → promo-pill-label-58PJRvSl.esm.js.map} +1 -1
  47. package/dist/chunks/{responsive-KbDsZM6S.esm.js → responsive-2lC2Wrtg.esm.js} +2 -2
  48. package/dist/chunks/{responsive-KbDsZM6S.esm.js.map → responsive-2lC2Wrtg.esm.js.map} +1 -1
  49. package/dist/chunks/{routes-4Mnz2XZX.esm.js → routes-4z90Ks28.esm.js} +2 -2
  50. package/dist/chunks/{routes-4Mnz2XZX.esm.js.map → routes-4z90Ks28.esm.js.map} +1 -1
  51. package/dist/chunks/{routes-eIRRJ7c1.esm.js → routes-kK10CmJz.esm.js} +2 -2
  52. package/dist/chunks/{routes-eIRRJ7c1.esm.js.map → routes-kK10CmJz.esm.js.map} +1 -1
  53. package/dist/chunks/{share-button-9d9kTwmG.esm.js → share-button-K_FE0-s2.esm.js} +4 -3
  54. package/dist/chunks/{share-button-9d9kTwmG.esm.js.map → share-button-K_FE0-s2.esm.js.map} +1 -1
  55. package/dist/chunks/{share-button-PJlajTPi.esm.js → share-button-RG2BkqMA.esm.js} +4 -3
  56. package/dist/chunks/{share-button-PJlajTPi.esm.js.map → share-button-RG2BkqMA.esm.js.map} +1 -1
  57. package/dist/chunks/share-button-SNvuFDC9.esm.js +2 -0
  58. package/dist/chunks/share-button-SNvuFDC9.esm.js.map +1 -0
  59. package/dist/chunks/{shoelace-components-A9MnfNMD.esm.js → shoelace-components-522x2Yt1.esm.js} +2 -2
  60. package/dist/chunks/{shoelace-components-A9MnfNMD.esm.js.map → shoelace-components-522x2Yt1.esm.js.map} +1 -1
  61. package/dist/chunks/{shoelace-components-c53kUkO2.esm.js → shoelace-components-59LxBr67.esm.js} +2 -2
  62. package/dist/chunks/{shoelace-components-c53kUkO2.esm.js.map → shoelace-components-59LxBr67.esm.js.map} +1 -1
  63. package/dist/chunks/{update-cart-ZuRyrnAL.esm.js → update-cart-BcLkAJSc.esm.js} +2 -2
  64. package/dist/chunks/{update-cart-ZuRyrnAL.esm.js.map → update-cart-BcLkAJSc.esm.js.map} +1 -1
  65. package/dist/chunks/{update-cart-SPqvT31b.esm.js → update-cart-eodNhDjI.esm.js} +2 -2
  66. package/dist/chunks/{update-cart-SPqvT31b.esm.js.map → update-cart-eodNhDjI.esm.js.map} +1 -1
  67. package/dist/chunks/{vendor--f7lkyBk.esm.js → vendor-GKiOHg2N.esm.js} +2 -2
  68. package/dist/chunks/{vendor--f7lkyBk.esm.js.map → vendor-GKiOHg2N.esm.js.map} +1 -1
  69. package/dist/components/beam-partner-logos.esm.js +1 -1
  70. package/dist/components/beam-partner-logos.js +1 -1
  71. package/dist/components/community-impact.esm.js +1 -1
  72. package/dist/components/community-impact.js +1 -1
  73. package/dist/components/cumulative-impact.esm.js +1 -1
  74. package/dist/components/cumulative-impact.js +1 -1
  75. package/dist/components/impact-overview.d.ts +6 -1
  76. package/dist/components/impact-overview.esm.js +87 -73
  77. package/dist/components/impact-overview.esm.js.map +1 -1
  78. package/dist/components/impact-overview.js +87 -73
  79. package/dist/components/impact-overview.js.map +1 -1
  80. package/dist/components/index.esm.js +1 -1
  81. package/dist/components/index.js +1 -1
  82. package/dist/components/post-purchase.d.ts +1 -1
  83. package/dist/components/post-purchase.esm.js +1 -1
  84. package/dist/components/post-purchase.esm.js.map +1 -1
  85. package/dist/components/post-purchase.js +1 -1
  86. package/dist/components/post-purchase.js.map +1 -1
  87. package/dist/components/product-details-page.d.ts +1 -1
  88. package/dist/components/product-details-page.esm.js +1 -1
  89. package/dist/components/product-details-page.js +1 -1
  90. package/dist/components/redeem-transaction.d.ts +8 -2
  91. package/dist/components/redeem-transaction.esm.js +256 -185
  92. package/dist/components/redeem-transaction.esm.js.map +1 -1
  93. package/dist/components/redeem-transaction.js +256 -185
  94. package/dist/components/redeem-transaction.js.map +1 -1
  95. package/dist/components/select-nonprofit.d.ts +1 -1
  96. package/dist/components/select-nonprofit.esm.js +42 -28
  97. package/dist/components/select-nonprofit.esm.js.map +1 -1
  98. package/dist/components/select-nonprofit.js +42 -28
  99. package/dist/components/select-nonprofit.js.map +1 -1
  100. package/dist/components/select-subscription-nonprofit.d.ts +1 -1
  101. package/dist/components/select-subscription-nonprofit.esm.js +34 -19
  102. package/dist/components/select-subscription-nonprofit.esm.js.map +1 -1
  103. package/dist/components/select-subscription-nonprofit.js +34 -19
  104. package/dist/components/select-subscription-nonprofit.js.map +1 -1
  105. package/dist/components/shopify.esm.js +1 -1
  106. package/dist/components/shopify.esm.js.map +1 -1
  107. package/dist/components/shopify.js +1 -1
  108. package/dist/components/shopify.js.map +1 -1
  109. package/dist/components/social-share.esm.js +1 -1
  110. package/dist/components/social-share.js +1 -1
  111. package/dist/components/subscription-impact.d.ts +1 -1
  112. package/dist/components/subscription-impact.esm.js +1 -1
  113. package/dist/components/subscription-impact.js +1 -1
  114. package/dist/components/subscription-management.d.ts +1 -1
  115. package/dist/components/subscription-management.esm.js +1 -1
  116. package/dist/components/subscription-management.esm.js.map +1 -1
  117. package/dist/components/subscription-management.js +1 -1
  118. package/dist/components/subscription-management.js.map +1 -1
  119. package/dist/index.esm.js +1 -1
  120. package/dist/index.js +1 -1
  121. package/dist/integrations/beam.esm.js +1 -1
  122. package/dist/integrations/beam.js +1 -1
  123. package/dist/integrations/cart.esm.js +1 -1
  124. package/dist/integrations/cart.js +1 -1
  125. package/dist/integrations/index.esm.js +1 -1
  126. package/dist/integrations/index.js +1 -1
  127. package/dist/integrations/logs.esm.js +1 -1
  128. package/dist/integrations/logs.js +1 -1
  129. package/dist/integrations/session.esm.js +1 -1
  130. package/dist/integrations/session.js +1 -1
  131. package/dist/integrations/shopify.esm.js +1 -1
  132. package/dist/integrations/shopify.js +1 -1
  133. package/dist/integrations/statsig.esm.js +1 -1
  134. package/dist/integrations/statsig.js +1 -1
  135. package/dist/react/beam-partner-logos.esm.js +1 -1
  136. package/dist/react/beam-partner-logos.js +1 -1
  137. package/dist/react/community-impact.esm.js +1 -1
  138. package/dist/react/community-impact.js +1 -1
  139. package/dist/react/cumulative-impact.esm.js +1 -1
  140. package/dist/react/cumulative-impact.js +1 -1
  141. package/dist/react/impact-overview.esm.js +1 -1
  142. package/dist/react/impact-overview.js +1 -1
  143. package/dist/react/index.esm.js +1 -1
  144. package/dist/react/index.js +1 -1
  145. package/dist/react/post-purchase.esm.js +1 -1
  146. package/dist/react/post-purchase.esm.js.map +1 -1
  147. package/dist/react/post-purchase.js +1 -1
  148. package/dist/react/post-purchase.js.map +1 -1
  149. package/dist/react/product-details-page.esm.js +1 -1
  150. package/dist/react/product-details-page.js +1 -1
  151. package/dist/react/redeem-transaction.esm.js +1 -1
  152. package/dist/react/redeem-transaction.esm.js.map +1 -1
  153. package/dist/react/redeem-transaction.js +1 -1
  154. package/dist/react/redeem-transaction.js.map +1 -1
  155. package/dist/react/select-nonprofit.esm.js +1 -1
  156. package/dist/react/select-nonprofit.js +1 -1
  157. package/dist/react/select-subscription-nonprofit.esm.js +1 -1
  158. package/dist/react/select-subscription-nonprofit.esm.js.map +1 -1
  159. package/dist/react/select-subscription-nonprofit.js +1 -1
  160. package/dist/react/select-subscription-nonprofit.js.map +1 -1
  161. package/dist/react/social-share.esm.js +1 -1
  162. package/dist/react/social-share.js +1 -1
  163. package/dist/react/subscription-impact.esm.js +1 -1
  164. package/dist/react/subscription-impact.js +1 -1
  165. package/dist/react/subscription-management.esm.js +1 -1
  166. package/dist/react/subscription-management.esm.js.map +1 -1
  167. package/dist/react/subscription-management.js +1 -1
  168. package/dist/react/subscription-management.js.map +1 -1
  169. package/package.json +1 -1
  170. package/dist/chunks/_share-dialog-dependencies-6qxEKq8s.esm.js +0 -2
  171. package/dist/chunks/_share-dialog-dependencies-6qxEKq8s.esm.js.map +0 -1
  172. package/dist/chunks/_share-dialog-dependencies-a05NZJ6I.esm.js +0 -2
  173. package/dist/chunks/_share-dialog-dependencies-a05NZJ6I.esm.js.map +0 -1
  174. package/dist/chunks/checkbox-P2JYPqxl.esm.js +0 -17
  175. package/dist/chunks/checkbox-P2JYPqxl.esm.js.map +0 -1
  176. package/dist/chunks/index-2fgoYcug.esm.js +0 -2
  177. package/dist/chunks/index-2fgoYcug.esm.js.map +0 -1
  178. package/dist/chunks/index-4mQhPzhb.esm.js +0 -2
  179. package/dist/chunks/index-4mQhPzhb.esm.js.map +0 -1
  180. package/dist/chunks/index-BL75MsEt.esm.js +0 -2
  181. package/dist/chunks/index-BL75MsEt.esm.js.map +0 -1
  182. package/dist/chunks/index-MewTlHYO.esm.js +0 -2
  183. package/dist/chunks/index-MewTlHYO.esm.js.map +0 -1
  184. package/dist/chunks/index-mbNUaby9.esm.js +0 -2
  185. package/dist/chunks/index-mbNUaby9.esm.js.map +0 -1
  186. package/dist/chunks/index-vNBrw3_d.esm.js +0 -2
  187. package/dist/chunks/index-vNBrw3_d.esm.js.map +0 -1
  188. package/dist/chunks/loading-template-mLjOGXMj.esm.js +0 -2
  189. package/dist/chunks/localize-IRs8JglT.esm.js +0 -29
  190. package/dist/chunks/localize-IRs8JglT.esm.js.map +0 -1
  191. package/dist/chunks/localize-SsJbTmMj.esm.js +0 -29
  192. package/dist/chunks/localize-SsJbTmMj.esm.js.map +0 -1
  193. package/dist/chunks/order-page-zPVHsu6v.esm.js +0 -2
  194. package/dist/chunks/order-page-zYoubhg4.esm.js +0 -2
  195. package/dist/chunks/promo-pill-label-81dVN7VY.esm.js +0 -15
  196. package/dist/chunks/share-button-CqTd80g8.esm.js +0 -2
  197. package/dist/chunks/share-button-CqTd80g8.esm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"impact-overview.js","sources":["../../src/components/impact-overview/strings.ts","../../src/components/impact-overview/index.ts"],"sourcesContent":["export const strings = {\n en: {\n descriptionTitle: ({ nonprofitName = \"a nonprofit\" }) => `You just made an impact for ${nonprofitName}`,\n descriptionSubtitle: ({ brandName = \"\" }) => `Check out the impact your ${brandName} purchase made below`,\n learnMore: ({ name = \"\" }) => `Learn more about ${name}`,\n seeAllImpact: ({ brandName = \"\" }) => `See all of the impact by the ${brandName} community`,\n percentRaised: ({ percent = 0 }) => `${percent}%`,\n yourImpactTitle: () => `Your Impact`,\n communityImpactTitle: ({ brandName = \"\" }) => `The ${brandName} Community's Impact`,\n // share modal\n impactShareButton: () => `Share to Grow Our Impact`,\n impactShareText: ({ brandName = \"\" }) =>\n `Help ${brandName} reach their giving goal by sharing this cause on social media`,\n impactShareTitle: () => `Share on Social Media`,\n impactShareCopy: () => `Copy`,\n impactShareDownload: () => `Download`,\n impactShareClose: () => `Close`,\n },\n fr: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Vous avez eu un impact positif sur ${nonprofitName}`,\n descriptionSubtitle: ({ brandName = \"\" }) =>\n `Découvrez quel est l'impact de votre achat chez ${brandName} ci-dessous.`,\n learnMore: ({ name = \"\" }) => `En savoir plus sur ${name}`,\n seeAllImpact: ({ brandName = \"\" }) => `Voir toutes les contributions de la communauté de ${brandName}`,\n percentRaised: ({ percent = 0 }) => `${percent}%`,\n yourImpactTitle: () => `Votre contribution personnelle`,\n communityImpactTitle: ({ brandName = \"\" }) => `La contribution de la communauté de ${brandName}`,\n // share modal\n impactShareButton: () => `Partagez pour augmentez notre cause`,\n impactShareText: ({ brandName = \"\" }) =>\n `Aidez ${brandName} a atteindre leur objectif en partageant cette cause sur votre réseaux sociaux`,\n impactShareTitle: () => `Partager sur votre réseaux sociaux`,\n impactShareCopy: () => `Copier`,\n impactShareDownload: () => `Télécharger`,\n impactShareClose: () => `Fermer`,\n },\n de: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Du hast soeben einen Beitrag geleistet für ${nonprofitName}`,\n descriptionSubtitle: ({ brandName = \"\" }) =>\n `Erfahre mehr über den Beitrag, den du mit deinem ${brandName} Kauf geleistet hast`,\n learnMore: ({ name = \"\" }) => `Mehr über ${name} erfahren`,\n seeAllImpact: ({ brandName = \"\" }) =>\n `Informiere dich über den bisher geleisteten Beitrag der ${brandName} community`,\n percentRaised: ({ percent = 0 }) => `${percent}%`,\n yourImpactTitle: () => `Dein Beitrag`,\n communityImpactTitle: ({ brandName = \"\" }) => `Der Beitrag der ${brandName} community`,\n // share modal\n impactShareButton: () => `Teil, um unserem Beitrag zu erhöhen`,\n impactShareText: ({ brandName = \"\" }) => `Hilf ${brandName} ihre Spendenziel zu erreichen`,\n impactShareTitle: () => `In den sozialen Medien teilen`,\n impactShareCopy: () => `Kopieren`,\n impactShareDownload: () => `Herunterladen`,\n impactShareClose: () => `Schließen`,\n },\n es: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Acabas de contribuir con ${nonprofitName}`,\n descriptionSubtitle: ({ brandName = \"\" }) =>\n `Comprueba la contribución que has hecho con tu compra ${brandName} a continuación`,\n learnMore: ({ name = \"\" }) => `Saber más de ${name}`,\n seeAllImpact: ({ brandName = \"\" }) => `Mira lo que ha conseguido la comunidad ${brandName}`,\n percentRaised: ({ percent = 0 }) => `${percent}%`,\n yourImpactTitle: () => \"Tu contribución\",\n communityImpactTitle: ({ brandName = \"\" }) => `Tu contribución con la comunidad ${brandName}`,\n // share modal\n impactShareButton: () => \"Comparte para aumentar nuestro impacto\",\n impactShareText: ({ brandName = \"\" }) =>\n `Comparte en las redes sociales para ayudar a ${brandName} a alcanzar su objetivo.`,\n impactShareTitle: () => \"Compartir en redes sociales\",\n impactShareCopy: () => \"Copiar\",\n impactShareDownload: () => \"Descargar\",\n impactShareClose: () => \"Cerrar\",\n },\n it: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Hai appena fatto la differenza per ${nonprofitName}`,\n descriptionSubtitle: ({ brandName = \"\" }) => `Guarda qui sotto l'impatto del tuo acquisto ${brandName}`,\n learnMore: ({ name = \"\" }) => `Scopri di più su ${name}`,\n seeAllImpact: ({ brandName = \"\" }) => `Guarda come la comunità di ${brandName} fa la differenza`,\n percentRaised: ({ percent = 0 }) => `${percent}%`,\n yourImpactTitle: () => `Il tuo impatto`,\n communityImpactTitle: ({ brandName = \"\" }) => `L’impatto della comunità di ${brandName} `,\n // share modal\n impactShareButton: () => \"Condividi, aiutaci a fare la differenza\",\n impactShareText: ({ brandName = \"\" }) =>\n `Aiuta ${brandName} a raggiungere il suo obiettivo di donazione condividendo questa causa sui social media.`,\n impactShareTitle: () => \"Condividi, aiutaci a fare la differenza\",\n impactShareCopy: () => \"Copia\",\n impactShareDownload: () => \"Scarica\",\n impactShareClose: () => \"Chiudi\",\n },\n pl: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Właśnie wsparłaś_eś ${nonprofitName}!`,\n descriptionSubtitle: ({ brandName = \"\" }) =>\n `Sprawdź niżej, jakiego wsparcia udzieliłaś_eś kupując w ${brandName} `,\n learnMore: ({ name = \"\" }) => `Dowiedz się więcej o ${name}`,\n seeAllImpact: ({ brandName = \"\" }) => `Zobacz, ile dobrego zrobiła do tej pory społeczność ${brandName}`,\n percentRaised: ({ percent = 0 }) => `${percent}%`,\n yourImpactTitle: () => `Twoje wsparcie`,\n communityImpactTitle: ({ brandName = \"\" }) => `Wsparcie udzielone przez społeczność ${brandName}`,\n // share modal\n impactShareButton: () => `Udostępnij, by szerzyć naszą misję`,\n impactShareText: ({ brandName = \"\" }) =>\n `Pomóż ${brandName} osiągnąć cel i podziel się tą inicjatywą na swoim profilu`,\n impactShareTitle: () => `Udostępnij na swoim profilu`,\n impactShareCopy: () => `Kopiuj`,\n impactShareDownload: () => `Pobierz`,\n impactShareClose: () => `Zamknij`,\n },\n};\n","import { css, html, LitElement, PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { queryAll } from \"lit/decorators/query-all.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport debounce from \"lodash-es/debounce\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { LANGUAGES, TUrl } from \"../../api-sdk/types\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport \"../../shared/components/progress-bar\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { logger } from \"../../utils/logger\";\nimport \"../../shared/shoelace-components\";\nimport { syncElementHeights } from \"../../shared/sync-element-heights\";\nimport { TId, TNumericId } from \"../../shared/types\";\nimport \"../beam-partner-logos\";\nimport { partnerLogosConfigDefaults } from \"../beam-partner-logos\";\nimport { shareButtonConfigDefaults } from \"../../shared/components/share-button\";\nimport { cssResponsiveUtils } from \"../../shared/responsive\";\nimport { strings } from \"./strings\";\nimport \"../../shared/components/share-button\";\n\ntype RequiredConfig = {\n apiKey: string;\n nonprofitId: TNumericId;\n userId: TId;\n};\n\nexport class BeamImpactOverview extends LitElement {\n static tagName = \"beam-impact-overview\";\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, reflect: true }) nonprofitId?: RequiredConfig[\"nonprofitId\"];\n\n @property({ type: String, reflect: true }) userId?: RequiredConfig[\"userId\"];\n\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n\n @property({ type: Boolean }) public debug = false;\n\n @property({ type: Boolean }) public draftConfig = false;\n\n @property({ type: Object }) public discountCodes?: string[];\n\n @property({ type: String }) transactionId?: string;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n getImpactData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"userId\", \"nonprofitId\"], this)) throw new MissingConfig();\n const res = await getImpact({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n queryParams: {\n nonprofitId: this.nonprofitId,\n beamUserId: this.userId,\n personalImpactLimit: 1,\n communityImpactLimit: 1,\n storeId: this.storeId,\n widgetName: WIDGET_NAMES.impact_overview,\n version: \"1.0.0\",\n draftConfig: this.draftConfig,\n lang: this.configLang,\n discountCodes: this.discountCodes && this.discountCodes.length > 0 ? this.discountCodes : undefined,\n transactionId: this.transactionId ?? undefined,\n },\n });\n\n return res;\n };\n\n private impactDataController = new AsyncController<typeof this.getImpactData>(this, this.getImpactData);\n\n @queryAll(\".impact-card-title\")\n impactTitleRefs!: HTMLElement[];\n\n @queryAll(\".impact-card-description\")\n impactDescriptionRefs!: HTMLElement[];\n\n @queryAll(\".impact-link\")\n impactLinkRefs!: HTMLElement[];\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.resizeElements);\n }\n\n async updated(changedProperties: PropertyValues): Promise<void> {\n // Reload nonprofit list on change of any of these props:\n // Also fires on first load as props go from undefined => value\n const requireNewDataProps = [\"baseUrl\", \"storeId\", \"apiKey\", \"userId\", \"lang\", \"discountCodes\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n await this.impactDataController.exec();\n break;\n }\n }\n this.resizeElements(); // Handle layout shifts immediately\n await this.handleFontLoad(this.resizeElements); // If content change triggered font load, resize again\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"resize\", this.resizeElements);\n document.fonts.removeEventListener(\"loadingdone\", this.resizeElements);\n super.disconnectedCallback();\n }\n\n /**\n * Safari does not fire loading events on the document FontFaceSet, but it does implement the .ready Promise\n * Call this method to wait for font loads that may be triggered by content changes\n */\n async handleFontLoad<T = any>(callback: () => T | void) {\n if (document.fonts.status === \"loading\") {\n await document.fonts.ready.catch((e) => logger.error(e));\n return callback();\n }\n }\n\n resizeElements = debounce(\n () => {\n syncElementHeights(this.impactTitleRefs);\n syncElementHeights(this.impactDescriptionRefs);\n syncElementHeights(this.impactLinkRefs);\n },\n 50,\n { maxWait: 50, leading: true }\n );\n\n renderCard({\n imageUrl,\n title,\n percentFunded,\n description,\n }: {\n imageUrl: TUrl;\n title: string;\n percentFunded: number;\n description: string;\n }) {\n return html`\n <div class=\"impact-card\" part=\"impact-card\">\n <img src=\"${imageUrl}\" alt=\"${title}\" class=\"impact-card-image\" />\n <div class=\"impact-card-content\" style=\"margin: 15px;\">\n <div class=\"impact-card-title\">${title}</div>\n <div class=\"impact-card-progress\" style=\"display: flex; align-items: center;\">\n <beam-progress-bar\n value=\"${percentFunded}\"\n style=\"flex: 1 0;\"\n class=\"impact-card-progressbar\"\n ></beam-progress-bar>\n <span class=\"impact-card-progressText\" style=\"flex: 0 1; margin-left: 10px; white-space: nowrap;\"\n >${strings[this.configLang].percentRaised({ percent: percentFunded })}</span\n >\n </div>\n <p class=\"impact-card-description\">${unsafeHTML(description)}</p>\n </div>\n </div>\n `;\n }\n\n render() {\n const { data, loading, error } = this.impactDataController;\n if (loading) {\n return _loading();\n }\n if (error) {\n if (this.debug) {\n return _errorMessage({ error });\n }\n return \"\";\n }\n if (data == null) {\n if (this.debug) {\n return _errorMessage({ error: new Error(\"No data\") });\n }\n return \"\";\n }\n const brandName = this.impactDataController.data?.chain.name;\n const shareImage =\n this.impactDataController.data?.promoAssetUrl || this.impactDataController.data?.personalImpactAssetUrl;\n const showShare = this.cssVariables[\"--beam-ImpactOverview-share-button-display\"] !== \"none\";\n const showShareMobile =\n showShare && this.cssVariables[\"--beam-ImpactOverview-share-button-display-mobile\"] !== \"none\";\n const showShareDesktop =\n showShare && this.cssVariables[\"--beam-ImpactOverview-share-button-display-desktop\"] !== \"none\";\n const shareIcon = this.cssVariables[\"--beam-ImpactOverview-share-button-icon-name\"] || \"share-2\";\n\n let shareButtonVisibilityClass = \"d-none\";\n if (showShareMobile) {\n shareButtonVisibilityClass = showShareDesktop ? \"d-block\" : \"d-lg-none\";\n } else {\n shareButtonVisibilityClass = showShareDesktop ? \"d-none d-lg-block\" : \"d-none\";\n }\n\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n\n <div>\n <beam-partner-logos\n partnerLogoUrl=\"${data.chain.logoUrl}\"\n partnerName=\"${data.chain.name}\"\n part=\"logos\"\n ></beam-partner-logos>\n </div>\n\n <div class=\"description\">\n <div class=\"title\" part=\"title\">\n ${localizeUserString(this.configLang, data.config?.web?.title) ||\n strings[this.configLang].descriptionTitle({ nonprofitName: data.personal[0].nonprofit.name })}\n </div>\n <div class=\"subtitle\" part=\"subtitle\">\n ${localizeUserString(this.configLang, data.config?.web?.description) ||\n strings[this.configLang].descriptionSubtitle({ brandName: data.chain.name })}\n </div>\n </div>\n\n <div class=\"impact-cards\" style=\"display: flex; flex-wrap: wrap; gap: 15px; margin: 10px 0;\">\n <div class=\"impact your-impact\" style=\"flex: 1 1; display: inline-block; max-width: 100%; min-width: 200px;\">\n ${this.renderCard({\n imageUrl: data.personal[0]?.imageUrl || \"\",\n title: strings[this.configLang].yourImpactTitle(),\n percentFunded: data.personal[0]?.impact?.goalProgressPercentage || 0,\n description: localizeUserString(this.configLang, data.personal[0]?.impact?.description || \"\"),\n })}\n <p class=\"impact-link\" part=\"impact-link\">\n <a href=\"${data.personal[0].nonprofit?.website}\" target=\"_blank\" rel=\"noopener noreferrer\">\n ${strings[this.configLang].learnMore({\n name: data.personal[0].nonprofit?.name,\n })}<span class=\"impact-link-arrow\">&nbsp;&rsaquo;</span>\n </a>\n </p>\n </div>\n <div\n class=\"impact community-impact\"\n style=\"flex: 1 1; display: inline-block; max-width: 100%; min-width: 200px;\"\n >\n ${this.renderCard({\n imageUrl: data.community[0].imageUrl || \"\",\n title: strings[this.configLang].communityImpactTitle({ brandName: data.chain.name }),\n percentFunded: data.community[0].impact?.goalProgressPercentage || 0,\n description: localizeUserString(this.configLang, data.community[0].impact?.description || \"\"),\n })}\n <p class=\"impact-link\" part=\"impact-link\">\n <a\n href=\"${data.chain.communityImpactUrl || data.community[0].nonprofit.website}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n ${strings[this.configLang].seeAllImpact({\n brandName: data.chain.name,\n })}<span class=\"impact-link-arrow\">&nbsp;&rsaquo;</span>\n </a>\n </p>\n </div>\n </div>\n\n <div class=\"footer ${shareButtonVisibilityClass}\" part=\"social-share\">\n <beam-share-button\n imageUrl=\"${shareImage}\"\n brandName=\"${brandName}\"\n shareIcon=\"${shareIcon}\"\n buttonText=\"${strings[this.configLang].impactShareButton()}\"\n configLang=\"${this.configLang}\"\n ></beam-share-button>\n </div>\n\n <div id=\"modal-root\"></div>\n `;\n }\n\n public get cssVariables() {\n const defaults = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n ...partnerLogosConfigDefaults,\n ...progressBarConfigDefaults,\n ...shareButtonConfigDefaults,\n ...defineCustomText(\"--beam-ImpactOverview-title\", {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginTop: \"10px\",\n }),\n ...defineCustomText(\"--beam-ImpactOverview-subtitle\", {\n marginTop: \"5px\",\n }),\n \"--beam-ImpactOverview-impactCards-maxWidth\": \"800px\",\n \"--beam-ImpactOverview-impactCard-backgroundColor\": \"inherit\",\n \"--beam-ImpactOverview-impactCard-foregroundColor\": \"currentColor\",\n \"--beam-ImpactOverview-impactCard-borderColor\": \"currentColor\",\n \"--beam-ImpactOverview-impactCard-borderRadius\": \"0px\",\n \"--beam-ImpactOverview-impactCard-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-title\", {\n fontSize: \"15px\",\n fontWeight: \"bold\",\n }),\n \"--beam-ImpactOverview-impactCard-progress-marginTop\": \"15px\",\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-progressText\"),\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-description\", {\n marginTop: \"10px\",\n }),\n \"--beam-ImpactOverview-impactCard-linkArrow-display\": \"inline\",\n \"--beam-ImpactOverview-impactCard-link-color\": \"inherit\",\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-link\", {\n marginTop: \"10px\",\n }),\n \"--beam-ImpactOverview-share-button-display\": \"none\",\n \"--beam-ImpactOverview-share-button-display-mobile\": \"inherit\",\n \"--beam-ImpactOverview-share-button-display-desktop\": \"inherit\",\n \"--beam-ImpactOverview-image-display\": \"block\",\n };\n\n const remoteConfig = this.impactDataController?.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 cssResponsiveUtils,\n css`\n :host {\n display: block;\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-ImpactOverview-impactCards-maxWidth, 800px);\n word-break: normal;\n }\n .impact-cards {\n max-width: var(--beam-ImpactOverview-impactCards-maxWidth);\n }\n .impact-card {\n margin-top: var(--beam-ImpactOverview-impactCard-marginTop);\n background-color: var(--beam-ImpactOverview-impactCard-backgroundColor);\n border: 1px solid var(--beam-ImpactOverview-impactCard-borderColor);\n border-radius: var(--beam-ImpactOverview-impactCard-borderRadius);\n overflow: hidden; /* maintain clean border-radius */\n color: var(--beam-ImpactOverview-impactCard-foregroundColor);\n }\n .impact-card-image {\n object-fit: cover;\n height: 200px;\n width: 100%;\n display: var(--beam-ImpactOverview-image-display);\n }\n .impact-card-progress {\n margin-top: var(--beam-ImpactOverview-impactCard-progress-marginTop);\n }\n .title {\n ${useCustomText(\"--beam-ImpactOverview-title\")}\n }\n .subtitle {\n ${useCustomText(\"--beam-ImpactOverview-subtitle\")}\n }\n .impact-card-title {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-title\")}\n }\n .impact-card-progressText {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-progressText\")}\n }\n .impact-card-description {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-description\")}\n }\n .impact-link {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-link\")}\n }\n .impact-link-arrow {\n display: var(--beam-ImpactOverview-impactCard-linkArrow-display, \"inline\");\n }\n .impact-link a,\n .impact-link a:visited {\n color: var(--beam-ImpactOverview-impactCard-link-color, inherit);\n text-decoration: none;\n }\n .footer {\n text-align: center;\n }\n @media (max-width: 500px) {\n //.impact-card {\n // display: flex;\n // flex-direction: row;\n //}\n //.impact-card-image {\n // object-fit: cover;\n // width: 25%;\n // height: auto;\n // flex: 1 0 45%;\n //}\n //.impact-card-content {\n // flex: 1 1 55%;\n //}\n //.share-button-text {\n // display: none;\n //}\n //.share-button-icon {\n // font-size: calc(var(--beam-ImpactOverview-share-button-icon-size, 16px) * 1.33);\n //}\n }\n `,\n css`\n .button {\n cursor: pointer;\n }\n .icon-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n .plain-button {\n border: none;\n background: none;\n font-size: inherit;\n font-family: inherit;\n }\n .plain-link {\n text-decoration: none;\n color: inherit;\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamImpactOverview);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-impact-overview\": BeamImpactOverview;\n }\n}\n"],"names":["strings","nonprofitName","brandName","name","percent","x","k","a","d","m","e","i","t","o","BeamImpactOverview","LitElement","DEFAULT_BASE_URL","enforceConfig","getImpact","WIDGET_NAMES","AsyncController","debounce","syncElementHeights","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","callback","logger","imageUrl","title","percentFunded","description","html","unsafeHTML","data","loading","error","_loading","_errorMessage","shareImage","showShare","showShareMobile","showShareDesktop","shareIcon","shareButtonVisibilityClass","localizeUserString","defaults","partnerLogosConfigDefaults","progressBarConfigDefaults","shareButtonConfigDefaults","defineCustomText","remoteConfig","config","_cssVariableMap","cssReset","cssResponsiveUtils","css","useCustomText","__decorateClass","property","queryAll","defineCustomElement"],"mappings":"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"}
1
+ {"version":3,"file":"impact-overview.js","sources":["../../src/components/impact-overview/strings.ts","../../src/components/impact-overview/index.ts"],"sourcesContent":["export const strings = {\n en: {\n descriptionTitle: ({ nonprofitName = \"a nonprofit\" }) => `You've just made an impact for ${nonprofitName}`,\n descriptionSubtitle: ({ causeName = \"\" }) => `Together, we’re making an impact towards ${causeName} initiatives.`,\n yourImpactTitle: () => `You’ve Funded`,\n communityImpactTitle: () => `Together we’re funding`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Learn about ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Learn about ${name}'s Impact`,\n // share modal\n impactShareButton: () => `Share to Grow Your Impact`,\n },\n fr: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Vous avez eu un impact positif sur ${nonprofitName}`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) =>\n `Découvrez quel est l'impact de votre achat chez ${causeName} ci-dessous.`, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Vous avez financé`,\n communityImpactTitle: () => `Ensemble, nous finançons`,\n personalImpactLinkCopy: ({ name = \"\" }) => `En savoir sur ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Apprendre l'impact de ${name}`,\n // share modal\n impactShareButton: () => `Partagez pour augmentez notre cause`,\n },\n de: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Du hast soeben einen Beitrag geleistet für ${nonprofitName}`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) =>\n `Erfahre mehr über den Beitrag, den du mit deinem ${causeName} Kauf geleistet hast`, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Sie haben finanziert`,\n communityImpactTitle: () => `Gemeinsam finanzieren wir`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Mehr über ${name} lernen`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Erfahre den Einfluss von ${name}`,\n // share modal\n impactShareButton: () => `Teil, um unserem Beitrag zu erhöhen`,\n },\n es: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Acabas de contribuir con ${nonprofitName}`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) =>\n `Comprueba la contribución que has hecho con tu compra ${causeName} a continuación`, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Has financiado`,\n communityImpactTitle: () => `Juntos estamos financiando`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Saber de ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Conocer el impacto de ${name}`,\n // share modal\n impactShareButton: () => \"Comparte para aumentar nuestro impacto\",\n },\n it: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Hai appena fatto la differenza per ${nonprofitName}`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) => `Guarda qui sotto l'impatto del tuo acquisto ${causeName}`, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Hai finanziato`,\n communityImpactTitle: () => `Insieme stiamo finanziando`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Scopri su ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Scopri l'impatto di ${name}`,\n // share modal\n impactShareButton: () => \"Condividi, aiutaci a fare la differenza\",\n },\n pl: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Właśnie wsparłaś_eś ${nonprofitName}!`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) =>\n `Sprawdź niżej, jakiego wsparcia udzieliłaś_eś kupując w ${causeName} `, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Sfinansowałeś(a) `,\n communityImpactTitle: () => `Razem finansujemy`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Dowiedz się o ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Poznaj wpływ ${name}`,\n // share modal\n impactShareButton: () => `Udostępnij, by szerzyć naszą misję`,\n },\n};\n","import { css, html, LitElement, PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { queryAll } from \"lit/decorators/query-all.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport debounce from \"lodash-es/debounce\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { LANGUAGES, TUrl } from \"../../api-sdk/types\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport \"../../shared/components/progress-bar\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { logger } from \"../../utils/logger\";\nimport \"../../shared/shoelace-components\";\nimport { syncElementHeights } from \"../../shared/sync-element-heights\";\nimport { TId, TNumericId } from \"../../shared/types\";\nimport \"../beam-partner-logos\";\nimport { partnerLogosConfigDefaults } from \"../beam-partner-logos\";\nimport { shareButtonConfigDefaults } from \"../../shared/components/share-button\";\nimport { cssResponsiveUtils } from \"../../shared/responsive\";\nimport { strings } from \"./strings\";\nimport \"../../shared/components/share-button\";\n\ntype RequiredConfig = {\n apiKey: string;\n nonprofitId: TNumericId;\n userId: TId;\n};\n\nexport class BeamImpactOverview extends LitElement {\n static tagName = \"beam-impact-overview\";\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, reflect: true }) nonprofitId?: RequiredConfig[\"nonprofitId\"];\n\n @property({ type: String, reflect: true }) userId?: RequiredConfig[\"userId\"];\n\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n\n @property({ type: Boolean }) public debug = false;\n\n @property({ type: Boolean }) public draftConfig = false;\n\n @property({ type: Object }) public discountCodes?: string[];\n\n @property({ type: String }) transactionId?: string;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n getImpactData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"userId\", \"nonprofitId\"], this)) throw new MissingConfig();\n const res = await getImpact({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n queryParams: {\n nonprofitId: this.nonprofitId,\n beamUserId: this.userId,\n personalImpactLimit: 1,\n communityImpactLimit: 1,\n storeId: this.storeId,\n widgetName: WIDGET_NAMES.impact_overview,\n version: \"1.0.0\",\n draftConfig: this.draftConfig,\n lang: this.configLang,\n discountCodes: this.discountCodes && this.discountCodes.length > 0 ? this.discountCodes : undefined,\n transactionId: this.transactionId ?? undefined,\n },\n });\n\n return res;\n };\n\n private impactDataController = new AsyncController<typeof this.getImpactData>(this, this.getImpactData);\n\n @queryAll(\".impact-card-title\")\n impactTitleRefs!: HTMLElement[];\n\n @queryAll(\".impact-card-description\")\n impactDescriptionRefs!: HTMLElement[];\n\n @queryAll(\".impact-link\")\n impactLinkRefs!: HTMLElement[];\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.resizeElements);\n }\n\n async updated(changedProperties: PropertyValues): Promise<void> {\n // Reload nonprofit list on change of any of these props:\n // Also fires on first load as props go from undefined => value\n const requireNewDataProps = [\"baseUrl\", \"storeId\", \"apiKey\", \"userId\", \"lang\", \"discountCodes\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n await this.impactDataController.exec();\n break;\n }\n }\n this.resizeElements(); // Handle layout shifts immediately\n await this.handleFontLoad(this.resizeElements); // If content change triggered font load, resize again\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"resize\", this.resizeElements);\n document.fonts.removeEventListener(\"loadingdone\", this.resizeElements);\n super.disconnectedCallback();\n }\n\n /**\n * Safari does not fire loading events on the document FontFaceSet, but it does implement the .ready Promise\n * Call this method to wait for font loads that may be triggered by content changes\n */\n async handleFontLoad<T = any>(callback: () => T | void) {\n if (document.fonts.status === \"loading\") {\n await document.fonts.ready.catch((e) => logger.error(e));\n return callback();\n }\n }\n\n resizeElements = debounce(\n () => {\n syncElementHeights(this.impactTitleRefs);\n syncElementHeights(this.impactDescriptionRefs);\n syncElementHeights(this.impactLinkRefs);\n },\n 50,\n { maxWait: 50, leading: true }\n );\n\n renderCard({\n imageUrl,\n title,\n percentFunded,\n goalProgressText,\n description,\n urlCopy,\n impactUrl,\n isImage,\n cardType,\n }: {\n imageUrl: TUrl;\n title: string;\n percentFunded: number;\n goalProgressText: string;\n description: string;\n urlCopy?: string;\n impactUrl: TUrl;\n isImage: boolean;\n cardType: string;\n }) {\n return html`\n <div class=\"impact-card ${isImage ? \"\" : \"icon\"}\" part=\"impact-card\">\n <div class=\"${isImage ? \"\" : \"icon-background \"}\">\n <img src=\"${imageUrl}\" alt=\"${title}\" class=\"${isImage ? \"impact-card-image\" : \"impact-card-icon\"}\" />\n </div>\n <div class=\"${isImage ? \"\" : \"impact-icon-card-content\"}\" style=\"margin: 12px;\">\n <div class=\"impact-card-title\">${title}</div>\n <p class=\"impact-card-description\">${unsafeHTML(description)}</p>\n <div class=\"impact-card-progress\" style=\"display: flex; align-items: center;\">\n <beam-progress-bar\n value=\"${percentFunded}\"\n style=\"flex: 1 0;\"\n class=\"impact-card-progressbar\"\n ></beam-progress-bar>\n <span class=\"impact-card-progressText\" style=\"flex: 0 1; margin-left: 10px; white-space: nowrap;\"\n >${localizeUserString(this.configLang, goalProgressText)}</span\n >\n </div>\n <p class=\"impact-link\" part=\"impact-link\">\n <a href=\"${impactUrl}\" target=\"_blank\" rel=\"noopener noreferrer\">\n ${cardType === \"personal\"\n ? strings[this.configLang].personalImpactLinkCopy({\n name: urlCopy,\n })\n : strings[this.configLang].communityImpactLinkCopy({\n name: urlCopy,\n })}<span class=\"impact-link-arrow\">&nbsp;&rsaquo;</span>\n </a>\n </p>\n </div>\n </div>\n `;\n }\n\n render() {\n const { data, loading, error } = this.impactDataController;\n if (loading) {\n return _loading();\n }\n if (error) {\n if (this.debug) {\n return _errorMessage({ error });\n }\n return \"\";\n }\n if (data == null) {\n if (this.debug) {\n return _errorMessage({ error: new Error(\"No data\") });\n }\n return \"\";\n }\n const brandName = this.impactDataController.data?.chain.name;\n const causeName = localizeUserString(this.configLang, data.personal[0].nonprofit.cause || \"\");\n const cardStyle = this.cssVariables[\"--beam-ImpactOverview-cardStyle\"];\n const isImage = cardStyle === \"'image'\";\n const isSelectedIcon = cardStyle === \"'selected_icon'\";\n const personalImageUrl = data.personal[0]?.imageUrl || \"\";\n const communityImageUrl = data.community[0].imageUrl || \"\";\n const iconUrl = data.personal[0]?.nonprofit.causeIconUrl;\n const selectedIconUrl = data.personal[0]?.nonprofit.causeIconSelectedUrl;\n const personalCardImage = isImage ? personalImageUrl : isSelectedIcon ? selectedIconUrl : iconUrl;\n const communityCardImage = isImage ? communityImageUrl : isSelectedIcon ? selectedIconUrl : iconUrl;\n\n const shareImage =\n this.impactDataController.data?.promoAssetUrl || this.impactDataController.data?.personalImpactAssetUrl;\n const showShare = this.cssVariables[\"--beam-ImpactOverview-share-button-display\"] !== \"none\";\n const showShareMobile =\n showShare && this.cssVariables[\"--beam-ImpactOverview-share-button-display-mobile\"] !== \"none\";\n const showShareDesktop =\n showShare && this.cssVariables[\"--beam-ImpactOverview-share-button-display-desktop\"] !== \"none\";\n const shareIcon = this.cssVariables[\"--beam-ImpactOverview-share-button-icon-name\"] || \"share-2\";\n\n let shareButtonVisibilityClass = \"d-none\";\n if (showShareMobile) {\n shareButtonVisibilityClass = showShareDesktop ? \"d-block\" : \"d-lg-none\";\n } else {\n shareButtonVisibilityClass = showShareDesktop ? \"d-none d-lg-block\" : \"d-none\";\n }\n\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n\n <div>\n <beam-partner-logos\n partnerLogoUrl=\"${data.chain.logoUrl}\"\n partnerName=\"${data.chain.name}\"\n part=\"logos\"\n ></beam-partner-logos>\n </div>\n\n <div class=\"description\">\n <div class=\"title\" part=\"title\">\n ${localizeUserString(this.configLang, data.config?.web?.title) ||\n strings[this.configLang].descriptionTitle({ nonprofitName: data.personal[0].nonprofit.name })}\n </div>\n <div class=\"subtitle\" part=\"subtitle\">\n ${localizeUserString(this.configLang, data.config?.web?.description) ||\n strings[this.configLang].descriptionSubtitle({ causeName: causeName })}\n </div>\n </div>\n\n <div class=\"${isImage ? \"impact-image-cards\" : \"impact-icon-cards\"}\">\n <div class=\"impact your-impact ${isImage ? \"image-card-container\" : \"icon-card-container\"}\">\n ${this.renderCard({\n isImage,\n imageUrl: personalCardImage || \"\",\n title: strings[this.configLang].yourImpactTitle(),\n percentFunded: data.personal[0]?.impact?.goalProgressPercentage || 0,\n goalProgressText: data.personal[0]?.impact?.goalProgressText,\n description: localizeUserString(this.configLang, data.personal[0]?.impact?.description || \"\"),\n urlCopy: data.personal[0].nonprofit?.name,\n impactUrl: data.personal[0].nonprofit?.website || \"\",\n cardType: \"personal\",\n })}\n </div>\n <div class=\"impact community-impact ${isImage ? \"image-card-container\" : \"icon-card-container\"}\">\n ${this.renderCard({\n isImage,\n imageUrl: communityCardImage || \"\",\n title: strings[this.configLang].communityImpactTitle(),\n percentFunded: data.community[0].impact?.goalProgressPercentage || 0,\n goalProgressText: data.community[0]?.impact?.goalProgressText,\n description: localizeUserString(this.configLang, data.community[0].impact?.description || \"\"),\n urlCopy: data.chain.name,\n impactUrl: data.chain.communityImpactUrl || data.community[0].nonprofit.website || \"\",\n cardType: \"community\",\n })}\n </div>\n </div>\n\n <div class=\"footer ${shareButtonVisibilityClass} shareButtonContainer\" part=\"social-share\">\n <beam-share-button\n imageUrl=\"${shareImage}\"\n brandName=\"${brandName}\"\n shareIcon=\"${shareIcon}\"\n buttonText=\"${strings[this.configLang].impactShareButton()}\"\n configLang=\"${this.configLang}\"\n ></beam-share-button>\n </div>\n\n <div id=\"modal-root\"></div>\n `;\n }\n\n public get cssVariables() {\n const defaults = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n ...partnerLogosConfigDefaults,\n ...progressBarConfigDefaults,\n ...shareButtonConfigDefaults,\n ...defineCustomText(\"--beam-ImpactOverview-title\", {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginTop: \"10px\",\n textTransform: \"capitalize\",\n }),\n ...defineCustomText(\"--beam-ImpactOverview-subtitle\", {\n marginTop: \"5px\",\n }),\n \"--beam-ImpactOverview-impactCards-maxWidth\": \"650px\",\n \"--beam-ImpactOverview-impactCard-backgroundColor\": \"inherit\",\n \"--beam-ImpactOverview-impactCard-foregroundColor\": \"currentColor\",\n \"--beam-ImpactOverview-impactCard-borderColor\": \"currentColor\",\n \"--beam-ImpactOverview-impactCard-borderRadius\": \"5px\",\n \"--beam-ImpactOverview-impactCard-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-title\", {\n fontSize: \"15px\",\n fontWeight: \"bold\",\n letterSpacing: \"0.36px\",\n }),\n \"--beam-ImpactOverview-impactCard-progress-marginTop\": \"15px\",\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-progressText\"),\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-description\", {\n marginTop: \"10px\",\n }),\n \"--beam-ImpactOverview-impactCard-linkArrow-display\": \"inline\",\n \"--beam-ImpactOverview-impactCard-link-color\": \"inherit\",\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-link\", {\n marginTop: \"10px\",\n textDecoration: \"underline\",\n textTransform: \"capitalize\",\n }),\n \"--beam-ImpactOverview-share-button-display\": \"none\",\n \"--beam-ImpactOverview-share-button-display-mobile\": \"inherit\",\n \"--beam-ImpactOverview-share-button-display-desktop\": \"inherit\",\n \"--beam-ImpactOverview-image-display\": \"block\",\n \"--beam-ImpactOverview-cardStyle\": \"'image'\", // icon, selected_icon, image\n \"--beam-ImpactOverview-iconBackground-width\": \"75px\",\n \"--beam-ImpactOverview-iconBackground-height\": \"75px\",\n \"--beam-ImpactOverview-iconBackground-borderRadius\": \"50px\",\n \"--beam-ImpactOverview-icon-padding\": \"0px\",\n \"--beam-ImpactOverview-iconBackground-background\": \"#f3f3f3\",\n \"--beam-ImpactOverview-impactCard-shareButton-background\": \"#fff\",\n \"--beam-ImpactOverview-impactCard-shareButton-boxShadow\": \"0px -20px 20px 0px rgb(0 0 0 / 2%)\",\n };\n\n const remoteConfig = this.impactDataController?.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 cssResponsiveUtils,\n css`\n :host {\n display: block;\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-ImpactOverview-impactCards-maxWidth, 650px);\n word-break: normal;\n }\n .icon {\n display: flex;\n align-items: center;\n }\n .icon-background {\n width: var(--beam-ImpactOverview-iconBackground-width, 75px);\n height: var(--beam-ImpactOverview-iconBackground-height, 75px);\n border-radius: var(--beam-ImpactOverview-iconBackground-borderRadius, 50px);\n padding: var(--beam-ImpactOverview-icon-padding, 0px);\n margin: 8px;\n overflow: hidden;\n background: var(--beam-ImpactOverview-iconBackground-background, #f3f3f3);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .impact-icon-card-content {\n flex: 3 1 75%;\n }\n .impact-image-cards {\n max-width: var(--beam-ImpactOverview-impactCards-maxWidth);\n display: flex;\n flex-wrap: wrap;\n gap: 15px;\n margin: 10px 0;\n }\n .impact-icon-cards {\n max-width: var(--beam-ImpactOverview-impactCards-maxWidth);\n margin: 10px 0;\n }\n .impact-card {\n padding-bottom: 5px;\n margin-top: var(--beam-ImpactOverview-impactCard-marginTop);\n background-color: var(--beam-ImpactOverview-impactCard-backgroundColor);\n border: 1px solid var(--beam-ImpactOverview-impactCard-borderColor);\n border-radius: var(--beam-ImpactOverview-impactCard-borderRadius);\n overflow: hidden; /* maintain clean border-radius */\n color: var(--beam-ImpactOverview-impactCard-foregroundColor);\n }\n .impact-card-image {\n object-fit: cover;\n height: 110px;\n width: 100%;\n display: var(--beam-ImpactOverview-image-display);\n }\n .impact-card-icon {\n flex: 1 1 10%;\n max-width: 50%;\n display: var(--beam-ImpactOverview-image-display);\n }\n .image-card-container {\n flex: 1 1;\n display: inline-block;\n min-width: 200px;\n max-width: 100%;\n }\n .icon-card-container {\n max-width: 100%;\n min-width: 299px;\n }\n .impact-card-progress {\n margin-top: var(--beam-ImpactOverview-impactCard-progress-marginTop);\n }\n .shareButtonContainer {\n position: sticky;\n bottom: 0;\n z-index: 999;\n background-color: var(--beam-ImpactOverview-impactCard-shareButton-background);\n box-shadow: var(--beam-ImpactOverview-impactCard-shareButton-boxShadow);\n }\n .title {\n ${useCustomText(\"--beam-ImpactOverview-title\")}\n }\n .subtitle {\n ${useCustomText(\"--beam-ImpactOverview-subtitle\")}\n }\n .impact-card-title {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-title\")}\n }\n .impact-card-progressText {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-progressText\")}\n }\n .impact-card-description {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-description\")}\n }\n .impact-link {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-link\")}\n }\n .impact-link-arrow {\n display: var(--beam-ImpactOverview-impactCard-linkArrow-display, \"inline\");\n }\n .impact-link a,\n .impact-link a:visited {\n color: var(--beam-ImpactOverview-impactCard-link-color, inherit);\n }\n .footer {\n text-align: center;\n }\n `,\n css`\n .button {\n cursor: pointer;\n }\n .icon-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n .plain-button {\n border: none;\n background: none;\n font-size: inherit;\n font-family: inherit;\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamImpactOverview);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-impact-overview\": BeamImpactOverview;\n }\n}\n"],"names":["strings","nonprofitName","causeName","name","D","R","i","f","g","e","t","a","n","c","BeamImpactOverview","LitElement","DEFAULT_BASE_URL","enforceConfig","getImpact","WIDGET_NAMES","AsyncController","debounce","syncElementHeights","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","callback","logger","imageUrl","title","percentFunded","goalProgressText","description","urlCopy","impactUrl","isImage","cardType","html","unsafeHTML","localizeUserString","data","loading","error","_loading","_errorMessage","brandName","cardStyle","isSelectedIcon","personalImageUrl","communityImageUrl","iconUrl","selectedIconUrl","personalCardImage","communityCardImage","shareImage","showShare","showShareMobile","showShareDesktop","shareIcon","shareButtonVisibilityClass","defaults","partnerLogosConfigDefaults","progressBarConfigDefaults","shareButtonConfigDefaults","defineCustomText","remoteConfig","config","_cssVariableMap","cssReset","cssResponsiveUtils","css","useCustomText","__decorateClass","property","queryAll","defineCustomElement"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{BeamCommunityImpact as D}from"./community-impact.esm.js";import{BeamCumulativeImpact as O}from"./cumulative-impact.esm.js";import{BeamImpactOverview as T}from"./impact-overview.esm.js";import{BeamSelectNonprofit as k}from"./select-nonprofit.esm.js";import{BeamRedeemTransaction as z}from"./redeem-transaction.esm.js";import{BeamPostPurchase as E}from"./post-purchase.esm.js";import{BeamSubscriptionManagement as G}from"./subscription-management.esm.js";import{BeamSubscriptionImpact as J}from"./subscription-impact.esm.js";import{BeamProductDetailsPage as L}from"./product-details-page.esm.js";import{BeamSelectSubscriptionNonprofit as U}from"./select-subscription-nonprofit.esm.js";import{BeamSocialShare as W}from"./social-share.esm.js";import"../chunks/lit-3QHn3fwl.esm.js";import"../chunks/progress-bar-HVG_n8_6.esm.js";import"./beam-partner-logos.esm.js";import"../chunks/enforce-config-HksNiOMu.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";import"../chunks/localize-IRs8JglT.esm.js";import"../chunks/routes-4Mnz2XZX.esm.js";import"../chunks/loading-template-mLjOGXMj.esm.js";import"../chunks/css-card-grid-r6wxRbPV.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/shoelace-components-A9MnfNMD.esm.js";import"../chunks/vendor--f7lkyBk.esm.js";import"../chunks/share-button-PJlajTPi.esm.js";import"../chunks/share-button-CqTd80g8.esm.js";import"../chunks/responsive-KbDsZM6S.esm.js";import"../chunks/promo-pill-label-81dVN7VY.esm.js";import"../chunks/events-_4nImo3u.esm.js";import"../utils/network-listeners.esm.js";import"../utils/local-storage.esm.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../utils/cart.esm.js";import"../utils/cookies.esm.js";import"../chunks/checkbox-P2JYPqxl.esm.js";import"../utils/makeApiKeyHeader.esm.js";export{D as BeamCommunityImpact,O as BeamCumulativeImpact,T as BeamImpactOverview,E as BeamPostPurchase,L as BeamProductDetailsPage,z as BeamRedeemTransaction,k as BeamSelectNonprofit,U as BeamSelectSubscriptionNonprofit,W as BeamSocialShare,J as BeamSubscriptionImpact,G as BeamSubscriptionManagement};
1
+ import{BeamCommunityImpact as y}from"./community-impact.esm.js";import{BeamCumulativeImpact as M}from"./cumulative-impact.esm.js";import{BeamImpactOverview as R}from"./impact-overview.esm.js";import{BeamSelectNonprofit as j}from"./select-nonprofit.esm.js";import{BeamRedeemTransaction as q}from"./redeem-transaction.esm.js";import{BeamPostPurchase as A}from"./post-purchase.esm.js";import{BeamSubscriptionManagement as F}from"./subscription-management.esm.js";import{BeamSubscriptionImpact as H}from"./subscription-impact.esm.js";import{BeamProductDetailsPage as K}from"./product-details-page.esm.js";import{BeamSelectSubscriptionNonprofit as Q}from"./select-subscription-nonprofit.esm.js";import{BeamSocialShare as V}from"./social-share.esm.js";import"../chunks/lit-iNN5L_Qk.esm.js";import"../chunks/progress-bar-PMU_xI3L.esm.js";import"./beam-partner-logos.esm.js";import"../chunks/enforce-config-ZAI7WYAd.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";import"../chunks/localize-o-cYvHQf.esm.js";import"../chunks/routes-4z90Ks28.esm.js";import"../chunks/loading-template-t4fFsYtr.esm.js";import"../chunks/css-card-grid-nEc--M5M.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/shoelace-components-59LxBr67.esm.js";import"../chunks/vendor-GKiOHg2N.esm.js";import"../chunks/share-button-RG2BkqMA.esm.js";import"../chunks/share-button-SNvuFDC9.esm.js";import"../chunks/responsive-2lC2Wrtg.esm.js";import"../chunks/promo-pill-label-58PJRvSl.esm.js";import"../chunks/events-_4nImo3u.esm.js";import"../utils/network-listeners.esm.js";import"../utils/local-storage.esm.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../utils/cart.esm.js";import"../utils/cookies.esm.js";import"../utils/makeApiKeyHeader.esm.js";export{y as BeamCommunityImpact,M as BeamCumulativeImpact,R as BeamImpactOverview,A as BeamPostPurchase,K as BeamProductDetailsPage,q as BeamRedeemTransaction,j as BeamSelectNonprofit,Q as BeamSelectSubscriptionNonprofit,V as BeamSocialShare,H as BeamSubscriptionImpact,F as BeamSubscriptionManagement};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1,2 +1,2 @@
1
- import{BeamCommunityImpact as D}from"./community-impact.js";import{BeamCumulativeImpact as O}from"./cumulative-impact.js";import{BeamImpactOverview as T}from"./impact-overview.js";import{BeamSelectNonprofit as k}from"./select-nonprofit.js";import{BeamRedeemTransaction as z}from"./redeem-transaction.js";import{BeamPostPurchase as E}from"./post-purchase.js";import{BeamSubscriptionManagement as G}from"./subscription-management.js";import{BeamSubscriptionImpact as J}from"./subscription-impact.js";import{BeamProductDetailsPage as L}from"./product-details-page.js";import{BeamSelectSubscriptionNonprofit as U}from"./select-subscription-nonprofit.js";import{BeamSocialShare as W}from"./social-share.js";import"../chunks/lit-3QHn3fwl.esm.js";import"../chunks/progress-bar-HVG_n8_6.esm.js";import"./beam-partner-logos.js";import"../chunks/enforce-config-er6B5Gkj.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";import"../chunks/localize-SsJbTmMj.esm.js";import"../chunks/routes-eIRRJ7c1.esm.js";import"../chunks/loading-template-mLjOGXMj.esm.js";import"../chunks/css-card-grid-r6wxRbPV.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/shoelace-components-c53kUkO2.esm.js";import"../chunks/vendor--f7lkyBk.esm.js";import"../chunks/share-button-9d9kTwmG.esm.js";import"../chunks/share-button-CqTd80g8.esm.js";import"../chunks/responsive-KbDsZM6S.esm.js";import"../chunks/promo-pill-label-81dVN7VY.esm.js";import"../chunks/events-_4nImo3u.esm.js";import"../utils/network-listeners.js";import"../utils/local-storage.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../utils/cart.js";import"../utils/cookies.js";import"../chunks/checkbox-P2JYPqxl.esm.js";import"../utils/makeApiKeyHeader.js";export{D as BeamCommunityImpact,O as BeamCumulativeImpact,T as BeamImpactOverview,E as BeamPostPurchase,L as BeamProductDetailsPage,z as BeamRedeemTransaction,k as BeamSelectNonprofit,U as BeamSelectSubscriptionNonprofit,W as BeamSocialShare,J as BeamSubscriptionImpact,G as BeamSubscriptionManagement};
1
+ import{BeamCommunityImpact as y}from"./community-impact.js";import{BeamCumulativeImpact as M}from"./cumulative-impact.js";import{BeamImpactOverview as R}from"./impact-overview.js";import{BeamSelectNonprofit as j}from"./select-nonprofit.js";import{BeamRedeemTransaction as q}from"./redeem-transaction.js";import{BeamPostPurchase as A}from"./post-purchase.js";import{BeamSubscriptionManagement as F}from"./subscription-management.js";import{BeamSubscriptionImpact as H}from"./subscription-impact.js";import{BeamProductDetailsPage as K}from"./product-details-page.js";import{BeamSelectSubscriptionNonprofit as Q}from"./select-subscription-nonprofit.js";import{BeamSocialShare as V}from"./social-share.js";import"../chunks/lit-iNN5L_Qk.esm.js";import"../chunks/progress-bar-PMU_xI3L.esm.js";import"./beam-partner-logos.js";import"../chunks/enforce-config-ZyPq_4CF.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";import"../chunks/localize-m-_ESmpk.esm.js";import"../chunks/routes-kK10CmJz.esm.js";import"../chunks/loading-template-t4fFsYtr.esm.js";import"../chunks/css-card-grid-nEc--M5M.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/shoelace-components-522x2Yt1.esm.js";import"../chunks/vendor-GKiOHg2N.esm.js";import"../chunks/share-button-K_FE0-s2.esm.js";import"../chunks/share-button-SNvuFDC9.esm.js";import"../chunks/responsive-2lC2Wrtg.esm.js";import"../chunks/promo-pill-label-58PJRvSl.esm.js";import"../chunks/events-_4nImo3u.esm.js";import"../utils/network-listeners.js";import"../utils/local-storage.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../utils/cart.js";import"../utils/cookies.js";import"../utils/makeApiKeyHeader.js";export{y as BeamCommunityImpact,M as BeamCumulativeImpact,R as BeamImpactOverview,A as BeamPostPurchase,K as BeamProductDetailsPage,q as BeamRedeemTransaction,j as BeamSelectNonprofit,Q as BeamSelectSubscriptionNonprofit,V as BeamSocialShare,H as BeamSubscriptionImpact,F as BeamSubscriptionManagement};
2
2
  //# sourceMappingURL=index.js.map
@@ -139,7 +139,7 @@ declare class BeamPostPurchase extends LitElement {
139
139
  } | undefined;
140
140
  }>;
141
141
  private transactionDataController;
142
- render(): "" | lit_html.TemplateResult<1>;
142
+ render(): lit_html.TemplateResult<1> | "";
143
143
  static styles: lit.CSSResult[];
144
144
  }
145
145
  declare global {
@@ -1,4 +1,4 @@
1
- import{g as o,t as s,h as I,y as l}from"../chunks/lit-3QHn3fwl.esm.js";import{M as y}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{deleteCookieValue as g,getCookieValue as u}from"../utils/cookies.esm.js";import{c as f,d as C,e as v}from"../chunks/enforce-config-HksNiOMu.esm.js";import{createScopedLocalStorage as b}from"../utils/local-storage.esm.js";import{A as $,_ as S}from"../chunks/localize-IRs8JglT.esm.js";import{D as U,p as w}from"../chunks/routes-4Mnz2XZX.esm.js";import"./redeem-transaction.esm.js";import"./impact-overview.esm.js";import{B as h}from"../chunks/cart-contents-h60geKWa.esm.js";import{a as T}from"../chunks/events-_4nImo3u.esm.js";import"../utils/logger.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/progress-bar-HVG_n8_6.esm.js";import"../chunks/promo-pill-label-81dVN7VY.esm.js";import"../chunks/vendor--f7lkyBk.esm.js";import"./beam-partner-logos.esm.js";import"../chunks/loading-template-mLjOGXMj.esm.js";import"../chunks/css-card-grid-r6wxRbPV.esm.js";import"../chunks/checkbox-P2JYPqxl.esm.js";import"../chunks/shoelace-components-A9MnfNMD.esm.js";import"../chunks/share-button-PJlajTPi.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/share-button-CqTd80g8.esm.js";import"../chunks/responsive-KbDsZM6S.esm.js";var A=Object.defineProperty,B=Object.getOwnPropertyDescriptor,e=(d,r,i,n)=>{for(var a=n>1?void 0:n?B(r,i):r,p=d.length-1,c;p>=0;p--)(c=d[p])&&(a=(n?c(r,i,a):c(a))||a);return n&&a&&A(r,i,a),a};const m=["baseUrl","apiKey","orderId","cartTotal","currencyCode","lang"],D=["storeId","postalCode","countryCode","cart","discountCodes","email","partnerUserId"];class t extends I{constructor(){super(...arguments),this.baseUrl=U,this.currencyCode="USD",this.lang="en",this.debug=!1,this.activeWidget=null,this.nonprofitId=null,this.selectionId=null,this.cartId=null,this.beamCartId=null,this.userId=null,this.transactionId=null,this.draftConfig=!1,this.localStorage=b(this),this.handlePostTransaction=async()=>{this.enforceConfig();const r=await w({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{nonprofitId:this.nonprofitId||void 0,selectionId:this.selectionId||void 0,cartId:this.cartId||void 0,beamCartId:this.beamCartId||void 0,storeId:this.storeId,orderId:this.orderId,cartTotal:this.cartTotal,email:this.email,partnerUserId:this.partnerUserId,currencyCode:this.currencyCode,postalCode:this.postalCode,countryCode:this.countryCode,cart:this.cart,discountCodes:this.discountCodes}});return this.transactionId=r.transactionId,this.userId=r.beamUserId,this.nonprofitId=r.nonprofitId,this.activeWidget=this.nonprofitId?"impact-overview":"redeem-transaction",this.localStorage.removeItem("transaction"),this.localStorage.removeItem("cart"),g({name:h,path:"/",domain:this.domain}),r.transactionCreated&&dispatchEvent(new T({transactionId:r.transactionId,orderId:this.orderId,cartTotal:this.cartTotal,currencyCode:this.currencyCode})),r},this.transactionDataController=new $(this,this.handlePostTransaction)}firstUpdated(r){this.enforceConfig(),this.nonprofitId=Number(this.localStorage.getItem("nonprofit"))||null,this.selectionId=this.localStorage.getItem("transaction")||null,this.cartId=this.localStorage.getItemJson("cart")?.cartId||null,this.beamCartId=u(h)||null,this.selectionId&&this.nonprofitId&&(this.activeWidget="impact-overview")}async updated(r){[...m,...D].some(i=>r.has(i))&&await this.transactionDataController.exec()}enforceConfig(){if(v(m,this),!this.email&&!this.partnerUserId)throw new y([this.email?"":"email",this.partnerUserId?"":"partnerUserId"].filter(Boolean),"At least one of [email, partnerUserId] must be provided")}render(){return this.transactionDataController.loading?"":this.transactionDataController.error?this.debug?S({error:this.transactionDataController.error}):"":this.activeWidget==="redeem-transaction"?l`
1
+ import{g as o,t as s,h as I,y as l}from"../chunks/lit-iNN5L_Qk.esm.js";import{M as y}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{deleteCookieValue as g,getCookieValue as u}from"../utils/cookies.esm.js";import{c as f,d as C,e as v}from"../chunks/enforce-config-ZAI7WYAd.esm.js";import{createScopedLocalStorage as b}from"../utils/local-storage.esm.js";import{A as $,_ as S}from"../chunks/localize-o-cYvHQf.esm.js";import{D as U,p as w}from"../chunks/routes-4z90Ks28.esm.js";import"./redeem-transaction.esm.js";import"./impact-overview.esm.js";import{B as h}from"../chunks/cart-contents-h60geKWa.esm.js";import{a as T}from"../chunks/events-_4nImo3u.esm.js";import"../utils/logger.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/progress-bar-PMU_xI3L.esm.js";import"../chunks/promo-pill-label-58PJRvSl.esm.js";import"../chunks/vendor-GKiOHg2N.esm.js";import"./beam-partner-logos.esm.js";import"../chunks/loading-template-t4fFsYtr.esm.js";import"../chunks/css-card-grid-nEc--M5M.esm.js";import"../chunks/shoelace-components-59LxBr67.esm.js";import"../chunks/share-button-RG2BkqMA.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/share-button-SNvuFDC9.esm.js";import"../chunks/responsive-2lC2Wrtg.esm.js";var A=Object.defineProperty,B=Object.getOwnPropertyDescriptor,e=(d,r,i,n)=>{for(var a=n>1?void 0:n?B(r,i):r,p=d.length-1,c;p>=0;p--)(c=d[p])&&(a=(n?c(r,i,a):c(a))||a);return n&&a&&A(r,i,a),a};const m=["baseUrl","apiKey","orderId","cartTotal","currencyCode","lang"],D=["storeId","postalCode","countryCode","cart","discountCodes","email","partnerUserId"];class t extends I{constructor(){super(...arguments),this.baseUrl=U,this.currencyCode="USD",this.lang="en",this.debug=!1,this.activeWidget=null,this.nonprofitId=null,this.selectionId=null,this.cartId=null,this.beamCartId=null,this.userId=null,this.transactionId=null,this.draftConfig=!1,this.localStorage=b(this),this.handlePostTransaction=async()=>{this.enforceConfig();const r=await w({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{nonprofitId:this.nonprofitId||void 0,selectionId:this.selectionId||void 0,cartId:this.cartId||void 0,beamCartId:this.beamCartId||void 0,storeId:this.storeId,orderId:this.orderId,cartTotal:this.cartTotal,email:this.email,partnerUserId:this.partnerUserId,currencyCode:this.currencyCode,postalCode:this.postalCode,countryCode:this.countryCode,cart:this.cart,discountCodes:this.discountCodes}});return this.transactionId=r.transactionId,this.userId=r.beamUserId,this.nonprofitId=r.nonprofitId,this.activeWidget=this.nonprofitId?"impact-overview":"redeem-transaction",this.localStorage.removeItem("transaction"),this.localStorage.removeItem("cart"),g({name:h,path:"/",domain:this.domain}),r.transactionCreated&&dispatchEvent(new T({transactionId:r.transactionId,orderId:this.orderId,cartTotal:this.cartTotal,currencyCode:this.currencyCode})),r},this.transactionDataController=new $(this,this.handlePostTransaction)}firstUpdated(r){this.enforceConfig(),this.nonprofitId=Number(this.localStorage.getItem("nonprofit"))||null,this.selectionId=this.localStorage.getItem("transaction")||null,this.cartId=this.localStorage.getItemJson("cart")?.cartId||null,this.beamCartId=u(h)||null,this.selectionId&&this.nonprofitId&&(this.activeWidget="impact-overview")}async updated(r){[...m,...D].some(i=>r.has(i))&&await this.transactionDataController.exec()}enforceConfig(){if(v(m,this),!this.email&&!this.partnerUserId)throw new y([this.email?"":"email",this.partnerUserId?"":"partnerUserId"].filter(Boolean),"At least one of [email, partnerUserId] must be provided")}render(){return this.transactionDataController.loading?"":this.transactionDataController.error?this.debug?S({error:this.transactionDataController.error}):"":this.activeWidget==="redeem-transaction"?l`
2
2
  <beam-redeem-transaction
3
3
  part="redeem-transaction"
4
4
  baseUrl="${this.baseUrl}"
@@ -1 +1 @@
1
- {"version":3,"file":"post-purchase.esm.js","sources":["../../src/components/post-purchase/index.ts"],"sourcesContent":["import { html, LitElement, PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { deleteCookieValue, getCookieValue } from \"../../utils/cookies\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { createScopedLocalStorage } from \"../../utils/local-storage\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { DEFAULT_BASE_URL } from \"../../api-sdk/constants\";\nimport { postTransaction } from \"../../api-sdk/v3/routes\";\nimport \"../redeem-transaction\";\nimport \"../impact-overview\";\nimport { BEAM_CART_COOKIE_NAME, TBeamCartLocalStorage, TCart } from \"../../shared/cart-contents\";\nimport { BeamNonprofitSelectEvent, BeamOrderCreatedEvent } from \"../../utils/events\";\n\nconst REQUIRED_DATA_PROPS = [\"baseUrl\", \"apiKey\", \"orderId\", \"cartTotal\", \"currencyCode\", \"lang\"];\nconst OPTIONAL_DATA_PROPS = [\"storeId\", \"postalCode\", \"countryCode\", \"cart\", \"discountCodes\", \"email\", \"partnerUserId\"];\n\nexport class BeamPostPurchase extends LitElement {\n static tagName = \"beam-post-purchase\";\n\n @property({ type: String })\n public baseUrl: string = DEFAULT_BASE_URL;\n\n @property({ type: String })\n public apiKey!: string;\n\n @property({ type: Number, reflect: true })\n public storeId?: number; // Either storeId or postalCode, countryCode must be provided\n\n @property({ type: String })\n public postalCode?: string;\n\n @property({ type: String })\n public countryCode?: string;\n\n @property({ type: String })\n public orderId!: string;\n\n /**\n * Either email or partnerUserId is required\n */\n @property({ type: String })\n public email?: string;\n\n /**\n * Either email or partnerUserId is required\n */\n @property({ type: String })\n public partnerUserId?: string;\n\n @property({ type: Number })\n public cartTotal!: number;\n\n @property({ type: String })\n public currencyCode = \"USD\";\n\n @property({ type: String })\n public lang: LANGUAGES = \"en\";\n\n @property({ type: Object })\n public cart?: TCart;\n\n @property({ type: Array })\n public discountCodes?: string[];\n\n @property({ type: String })\n public domain?: string;\n\n @property({ type: Boolean })\n public debug = false;\n\n @state() private activeWidget: \"redeem-transaction\" | \"impact-overview\" | null = null; // wait for postTransaction\n @state() private nonprofitId: number | null = null; // from localStorage or redeem-transaction result\n @state() private selectionId: string | null = null; // from localStorage\n @state() private cartId: string | null = null; // from localStorage, external cart ID\n @state() private beamCartId: string | null = null; // from cookie, Beam cart ID\n @state() private userId: string | null = null; // from postTransaction\n @state() private transactionId: string | null = null; // from postTransaction\n @property({ type: Boolean }) public draftConfig = false;\n\n private localStorage = createScopedLocalStorage(this);\n\n firstUpdated(_changedProperties: PropertyValues) {\n this.enforceConfig();\n this.nonprofitId = Number(this.localStorage.getItem(\"nonprofit\")) || null;\n this.selectionId = this.localStorage.getItem(\"transaction\") || null;\n this.cartId = this.localStorage.getItemJson<TBeamCartLocalStorage>(\"cart\")?.cartId || null;\n // Reading beamCartId from cookies instead of localStorage allows it to work across subdomains\n this.beamCartId = getCookieValue(BEAM_CART_COOKIE_NAME) || null;\n\n if (this.selectionId && this.nonprofitId) {\n this.activeWidget = \"impact-overview\";\n }\n }\n\n async updated(previousPropertyValues: PropertyValues) {\n // Also fires on first load as props go from undefined => value\n const refreshOnChangeProps = [...REQUIRED_DATA_PROPS, ...OPTIONAL_DATA_PROPS];\n if (refreshOnChangeProps.some((p) => previousPropertyValues.has(p))) {\n await this.transactionDataController.exec();\n }\n }\n\n enforceConfig() {\n enforceConfig(REQUIRED_DATA_PROPS, this);\n if (!this.email && !this.partnerUserId) {\n throw new MissingConfig(\n [this.email ? \"\" : \"email\", this.partnerUserId ? \"\" : \"partnerUserId\"].filter(Boolean),\n \"At least one of [email, partnerUserId] must be provided\"\n );\n }\n }\n\n handlePostTransaction = async () => {\n this.enforceConfig();\n const result = await postTransaction({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n nonprofitId: this.nonprofitId || undefined,\n selectionId: this.selectionId || undefined,\n cartId: this.cartId || undefined,\n beamCartId: this.beamCartId || undefined,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n storeId: this.storeId,\n orderId: this.orderId,\n cartTotal: this.cartTotal,\n email: this.email, // One or both of email & partnerUserId should be defined\n partnerUserId: this.partnerUserId, // One or both of email & partnerUserId should be defined\n currencyCode: this.currencyCode,\n postalCode: this.postalCode,\n countryCode: this.countryCode,\n cart: this.cart,\n discountCodes: this.discountCodes,\n },\n });\n\n this.transactionId = result.transactionId;\n this.userId = result.beamUserId;\n this.nonprofitId = result.nonprofitId;\n\n this.activeWidget = this.nonprofitId ? \"impact-overview\" : \"redeem-transaction\";\n\n this.localStorage.removeItem(\"transaction\");\n this.localStorage.removeItem(\"cart\");\n deleteCookieValue({ name: BEAM_CART_COOKIE_NAME, path: \"/\", domain: this.domain });\n\n // Emit order created event only when order is registered with Beam for the first time\n if (result.transactionCreated) {\n dispatchEvent(\n new BeamOrderCreatedEvent({\n transactionId: result.transactionId,\n orderId: this.orderId,\n cartTotal: this.cartTotal,\n currencyCode: this.currencyCode,\n })\n );\n }\n return result;\n };\n\n private transactionDataController = new AsyncController<typeof this.handlePostTransaction>(\n this,\n this.handlePostTransaction\n );\n\n render() {\n if (this.transactionDataController.loading) {\n return \"\";\n }\n if (this.transactionDataController.error) {\n if (this.debug) {\n return _errorMessage({ error: this.transactionDataController.error });\n }\n return \"\";\n }\n if (this.activeWidget === \"redeem-transaction\") {\n return html`\n <beam-redeem-transaction\n part=\"redeem-transaction\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n storeId=\"${this.storeId}\"\n postalCode=\"${this.postalCode}\"\n countryCode=\"${this.countryCode}\"\n transactionId=\"${this.transactionId}\"\n cart=\"${JSON.stringify(this.cart)}\"\n lang=\"${this.lang}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n @beamnonprofitselect=\"${(event: Event) => {\n if (!(event instanceof CustomEvent)) return; // TS guard\n const { selectedNonprofitId } = (event as BeamNonprofitSelectEvent).detail;\n this.nonprofitId = selectedNonprofitId ?? null;\n this.activeWidget = \"impact-overview\";\n }}\"\n ></beam-redeem-transaction>\n `;\n }\n if (this.activeWidget === \"impact-overview\") {\n return html`\n <beam-impact-overview\n part=\"impact-overview\"\n storeId=\"${this.storeId}\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n userId=\"${this.userId}\"\n nonprofitId=\"${this.nonprofitId}\"\n lang=\"${this.lang}\"\n discountCodes=\"${JSON.stringify(this.discountCodes)}\"\n transactionId=\"${this.transactionId}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n ></beam-impact-overview>\n `;\n }\n return \"\";\n }\n\n static styles = [cssReset];\n}\n\ndefineCustomElement(BeamPostPurchase);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-post-purchase\": BeamPostPurchase;\n }\n}\n"],"names":["REQUIRED_DATA_PROPS","OPTIONAL_DATA_PROPS","BeamPostPurchase","LitElement","DEFAULT_BASE_URL","createScopedLocalStorage","result","postTransaction","deleteCookieValue","BEAM_CART_COOKIE_NAME","BeamOrderCreatedEvent","AsyncController","_changedProperties","getCookieValue","previousPropertyValues","p","enforceConfig","MissingConfig","_errorMessage","html","event","selectedNonprofitId","cssReset","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
1
+ {"version":3,"file":"post-purchase.esm.js","sources":["../../src/components/post-purchase/index.ts"],"sourcesContent":["import { html, LitElement, PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { deleteCookieValue, getCookieValue } from \"../../utils/cookies\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { createScopedLocalStorage } from \"../../utils/local-storage\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { DEFAULT_BASE_URL } from \"../../api-sdk/constants\";\nimport { postTransaction } from \"../../api-sdk/v3/routes\";\nimport \"../redeem-transaction\";\nimport \"../impact-overview\";\nimport { BEAM_CART_COOKIE_NAME, TBeamCartLocalStorage, TCart } from \"../../shared/cart-contents\";\nimport { BeamNonprofitSelectEvent, BeamOrderCreatedEvent } from \"../../utils/events\";\n\nconst REQUIRED_DATA_PROPS = [\"baseUrl\", \"apiKey\", \"orderId\", \"cartTotal\", \"currencyCode\", \"lang\"];\nconst OPTIONAL_DATA_PROPS = [\"storeId\", \"postalCode\", \"countryCode\", \"cart\", \"discountCodes\", \"email\", \"partnerUserId\"];\n\nexport class BeamPostPurchase extends LitElement {\n static tagName = \"beam-post-purchase\";\n\n @property({ type: String })\n public baseUrl: string = DEFAULT_BASE_URL;\n\n @property({ type: String })\n public apiKey!: string;\n\n @property({ type: Number, reflect: true })\n public storeId?: number; // Either storeId or postalCode, countryCode must be provided\n\n @property({ type: String })\n public postalCode?: string;\n\n @property({ type: String })\n public countryCode?: string;\n\n @property({ type: String })\n public orderId!: string;\n\n /**\n * Either email or partnerUserId is required\n */\n @property({ type: String })\n public email?: string;\n\n /**\n * Either email or partnerUserId is required\n */\n @property({ type: String })\n public partnerUserId?: string;\n\n @property({ type: Number })\n public cartTotal!: number;\n\n @property({ type: String })\n public currencyCode = \"USD\";\n\n @property({ type: String })\n public lang: LANGUAGES = \"en\";\n\n @property({ type: Object })\n public cart?: TCart;\n\n @property({ type: Array })\n public discountCodes?: string[];\n\n @property({ type: String })\n public domain?: string;\n\n @property({ type: Boolean })\n public debug = false;\n\n @state() private activeWidget: \"redeem-transaction\" | \"impact-overview\" | null = null; // wait for postTransaction\n @state() private nonprofitId: number | null = null; // from localStorage or redeem-transaction result\n @state() private selectionId: string | null = null; // from localStorage\n @state() private cartId: string | null = null; // from localStorage, external cart ID\n @state() private beamCartId: string | null = null; // from cookie, Beam cart ID\n @state() private userId: string | null = null; // from postTransaction\n @state() private transactionId: string | null = null; // from postTransaction\n @property({ type: Boolean }) public draftConfig = false;\n\n private localStorage = createScopedLocalStorage(this);\n\n firstUpdated(_changedProperties: PropertyValues) {\n this.enforceConfig();\n this.nonprofitId = Number(this.localStorage.getItem(\"nonprofit\")) || null;\n this.selectionId = this.localStorage.getItem(\"transaction\") || null;\n this.cartId = this.localStorage.getItemJson<TBeamCartLocalStorage>(\"cart\")?.cartId || null;\n // Reading beamCartId from cookies instead of localStorage allows it to work across subdomains\n this.beamCartId = getCookieValue(BEAM_CART_COOKIE_NAME) || null;\n\n if (this.selectionId && this.nonprofitId) {\n this.activeWidget = \"impact-overview\";\n }\n }\n\n async updated(previousPropertyValues: PropertyValues) {\n // Also fires on first load as props go from undefined => value\n const refreshOnChangeProps = [...REQUIRED_DATA_PROPS, ...OPTIONAL_DATA_PROPS];\n if (refreshOnChangeProps.some((p) => previousPropertyValues.has(p))) {\n await this.transactionDataController.exec();\n }\n }\n\n enforceConfig() {\n enforceConfig(REQUIRED_DATA_PROPS, this);\n if (!this.email && !this.partnerUserId) {\n throw new MissingConfig(\n [this.email ? \"\" : \"email\", this.partnerUserId ? \"\" : \"partnerUserId\"].filter(Boolean),\n \"At least one of [email, partnerUserId] must be provided\"\n );\n }\n }\n\n handlePostTransaction = async () => {\n this.enforceConfig();\n const result = await postTransaction({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n nonprofitId: this.nonprofitId || undefined,\n selectionId: this.selectionId || undefined,\n cartId: this.cartId || undefined,\n beamCartId: this.beamCartId || undefined,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n storeId: this.storeId,\n orderId: this.orderId,\n cartTotal: this.cartTotal,\n email: this.email, // One or both of email & partnerUserId should be defined\n partnerUserId: this.partnerUserId, // One or both of email & partnerUserId should be defined\n currencyCode: this.currencyCode,\n postalCode: this.postalCode,\n countryCode: this.countryCode,\n cart: this.cart,\n discountCodes: this.discountCodes,\n },\n });\n\n this.transactionId = result.transactionId;\n this.userId = result.beamUserId;\n this.nonprofitId = result.nonprofitId;\n\n this.activeWidget = this.nonprofitId ? \"impact-overview\" : \"redeem-transaction\";\n\n this.localStorage.removeItem(\"transaction\");\n this.localStorage.removeItem(\"cart\");\n deleteCookieValue({ name: BEAM_CART_COOKIE_NAME, path: \"/\", domain: this.domain });\n\n // Emit order created event only when order is registered with Beam for the first time\n if (result.transactionCreated) {\n dispatchEvent(\n new BeamOrderCreatedEvent({\n transactionId: result.transactionId,\n orderId: this.orderId,\n cartTotal: this.cartTotal,\n currencyCode: this.currencyCode,\n })\n );\n }\n return result;\n };\n\n private transactionDataController = new AsyncController<typeof this.handlePostTransaction>(\n this,\n this.handlePostTransaction\n );\n\n render() {\n if (this.transactionDataController.loading) {\n return \"\";\n }\n if (this.transactionDataController.error) {\n if (this.debug) {\n return _errorMessage({ error: this.transactionDataController.error });\n }\n return \"\";\n }\n if (this.activeWidget === \"redeem-transaction\") {\n return html`\n <beam-redeem-transaction\n part=\"redeem-transaction\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n storeId=\"${this.storeId}\"\n postalCode=\"${this.postalCode}\"\n countryCode=\"${this.countryCode}\"\n transactionId=\"${this.transactionId}\"\n cart=\"${JSON.stringify(this.cart)}\"\n lang=\"${this.lang}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n @beamnonprofitselect=\"${(event: Event) => {\n if (!(event instanceof CustomEvent)) return; // TS guard\n const { selectedNonprofitId } = (event as BeamNonprofitSelectEvent).detail;\n this.nonprofitId = selectedNonprofitId ?? null;\n this.activeWidget = \"impact-overview\";\n }}\"\n ></beam-redeem-transaction>\n `;\n }\n if (this.activeWidget === \"impact-overview\") {\n return html`\n <beam-impact-overview\n part=\"impact-overview\"\n storeId=\"${this.storeId}\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n userId=\"${this.userId}\"\n nonprofitId=\"${this.nonprofitId}\"\n lang=\"${this.lang}\"\n discountCodes=\"${JSON.stringify(this.discountCodes)}\"\n transactionId=\"${this.transactionId}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n ></beam-impact-overview>\n `;\n }\n return \"\";\n }\n\n static styles = [cssReset];\n}\n\ndefineCustomElement(BeamPostPurchase);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-post-purchase\": BeamPostPurchase;\n }\n}\n"],"names":["REQUIRED_DATA_PROPS","OPTIONAL_DATA_PROPS","BeamPostPurchase","LitElement","DEFAULT_BASE_URL","createScopedLocalStorage","result","postTransaction","deleteCookieValue","BEAM_CART_COOKIE_NAME","BeamOrderCreatedEvent","AsyncController","_changedProperties","getCookieValue","previousPropertyValues","p","enforceConfig","MissingConfig","_errorMessage","html","event","selectedNonprofitId","cssReset","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{g as o,t as s,h as I,y as l}from"../chunks/lit-3QHn3fwl.esm.js";import{M as y}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{deleteCookieValue as g,getCookieValue as u}from"../utils/cookies.js";import{c as f,d as C,e as v}from"../chunks/enforce-config-er6B5Gkj.esm.js";import{createScopedLocalStorage as b}from"../utils/local-storage.js";import{A as $,_ as S}from"../chunks/localize-SsJbTmMj.esm.js";import{D as U,p as w}from"../chunks/routes-eIRRJ7c1.esm.js";import"./redeem-transaction.js";import"./impact-overview.js";import{B as h}from"../chunks/cart-contents-h60geKWa.esm.js";import{a as T}from"../chunks/events-_4nImo3u.esm.js";import"../utils/logger.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/progress-bar-HVG_n8_6.esm.js";import"../chunks/promo-pill-label-81dVN7VY.esm.js";import"../chunks/vendor--f7lkyBk.esm.js";import"./beam-partner-logos.js";import"../chunks/loading-template-mLjOGXMj.esm.js";import"../chunks/css-card-grid-r6wxRbPV.esm.js";import"../chunks/checkbox-P2JYPqxl.esm.js";import"../chunks/shoelace-components-c53kUkO2.esm.js";import"../chunks/share-button-9d9kTwmG.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/share-button-CqTd80g8.esm.js";import"../chunks/responsive-KbDsZM6S.esm.js";var A=Object.defineProperty,B=Object.getOwnPropertyDescriptor,e=(d,r,i,n)=>{for(var a=n>1?void 0:n?B(r,i):r,p=d.length-1,c;p>=0;p--)(c=d[p])&&(a=(n?c(r,i,a):c(a))||a);return n&&a&&A(r,i,a),a};const m=["baseUrl","apiKey","orderId","cartTotal","currencyCode","lang"],D=["storeId","postalCode","countryCode","cart","discountCodes","email","partnerUserId"];class t extends I{constructor(){super(...arguments),this.baseUrl=U,this.currencyCode="USD",this.lang="en",this.debug=!1,this.activeWidget=null,this.nonprofitId=null,this.selectionId=null,this.cartId=null,this.beamCartId=null,this.userId=null,this.transactionId=null,this.draftConfig=!1,this.localStorage=b(this),this.handlePostTransaction=async()=>{this.enforceConfig();const r=await w({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{nonprofitId:this.nonprofitId||void 0,selectionId:this.selectionId||void 0,cartId:this.cartId||void 0,beamCartId:this.beamCartId||void 0,storeId:this.storeId,orderId:this.orderId,cartTotal:this.cartTotal,email:this.email,partnerUserId:this.partnerUserId,currencyCode:this.currencyCode,postalCode:this.postalCode,countryCode:this.countryCode,cart:this.cart,discountCodes:this.discountCodes}});return this.transactionId=r.transactionId,this.userId=r.beamUserId,this.nonprofitId=r.nonprofitId,this.activeWidget=this.nonprofitId?"impact-overview":"redeem-transaction",this.localStorage.removeItem("transaction"),this.localStorage.removeItem("cart"),g({name:h,path:"/",domain:this.domain}),r.transactionCreated&&dispatchEvent(new T({transactionId:r.transactionId,orderId:this.orderId,cartTotal:this.cartTotal,currencyCode:this.currencyCode})),r},this.transactionDataController=new $(this,this.handlePostTransaction)}firstUpdated(r){this.enforceConfig(),this.nonprofitId=Number(this.localStorage.getItem("nonprofit"))||null,this.selectionId=this.localStorage.getItem("transaction")||null,this.cartId=this.localStorage.getItemJson("cart")?.cartId||null,this.beamCartId=u(h)||null,this.selectionId&&this.nonprofitId&&(this.activeWidget="impact-overview")}async updated(r){[...m,...D].some(i=>r.has(i))&&await this.transactionDataController.exec()}enforceConfig(){if(v(m,this),!this.email&&!this.partnerUserId)throw new y([this.email?"":"email",this.partnerUserId?"":"partnerUserId"].filter(Boolean),"At least one of [email, partnerUserId] must be provided")}render(){return this.transactionDataController.loading?"":this.transactionDataController.error?this.debug?S({error:this.transactionDataController.error}):"":this.activeWidget==="redeem-transaction"?l`
1
+ import{g as o,t as s,h as I,y as l}from"../chunks/lit-iNN5L_Qk.esm.js";import{M as y}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{deleteCookieValue as g,getCookieValue as u}from"../utils/cookies.js";import{c as f,d as C,e as v}from"../chunks/enforce-config-ZyPq_4CF.esm.js";import{createScopedLocalStorage as b}from"../utils/local-storage.js";import{A as $,_ as S}from"../chunks/localize-m-_ESmpk.esm.js";import{D as U,p as w}from"../chunks/routes-kK10CmJz.esm.js";import"./redeem-transaction.js";import"./impact-overview.js";import{B as h}from"../chunks/cart-contents-h60geKWa.esm.js";import{a as T}from"../chunks/events-_4nImo3u.esm.js";import"../utils/logger.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/progress-bar-PMU_xI3L.esm.js";import"../chunks/promo-pill-label-58PJRvSl.esm.js";import"../chunks/vendor-GKiOHg2N.esm.js";import"./beam-partner-logos.js";import"../chunks/loading-template-t4fFsYtr.esm.js";import"../chunks/css-card-grid-nEc--M5M.esm.js";import"../chunks/shoelace-components-522x2Yt1.esm.js";import"../chunks/share-button-K_FE0-s2.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/share-button-SNvuFDC9.esm.js";import"../chunks/responsive-2lC2Wrtg.esm.js";var A=Object.defineProperty,B=Object.getOwnPropertyDescriptor,e=(d,r,i,n)=>{for(var a=n>1?void 0:n?B(r,i):r,p=d.length-1,c;p>=0;p--)(c=d[p])&&(a=(n?c(r,i,a):c(a))||a);return n&&a&&A(r,i,a),a};const m=["baseUrl","apiKey","orderId","cartTotal","currencyCode","lang"],D=["storeId","postalCode","countryCode","cart","discountCodes","email","partnerUserId"];class t extends I{constructor(){super(...arguments),this.baseUrl=U,this.currencyCode="USD",this.lang="en",this.debug=!1,this.activeWidget=null,this.nonprofitId=null,this.selectionId=null,this.cartId=null,this.beamCartId=null,this.userId=null,this.transactionId=null,this.draftConfig=!1,this.localStorage=b(this),this.handlePostTransaction=async()=>{this.enforceConfig();const r=await w({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{nonprofitId:this.nonprofitId||void 0,selectionId:this.selectionId||void 0,cartId:this.cartId||void 0,beamCartId:this.beamCartId||void 0,storeId:this.storeId,orderId:this.orderId,cartTotal:this.cartTotal,email:this.email,partnerUserId:this.partnerUserId,currencyCode:this.currencyCode,postalCode:this.postalCode,countryCode:this.countryCode,cart:this.cart,discountCodes:this.discountCodes}});return this.transactionId=r.transactionId,this.userId=r.beamUserId,this.nonprofitId=r.nonprofitId,this.activeWidget=this.nonprofitId?"impact-overview":"redeem-transaction",this.localStorage.removeItem("transaction"),this.localStorage.removeItem("cart"),g({name:h,path:"/",domain:this.domain}),r.transactionCreated&&dispatchEvent(new T({transactionId:r.transactionId,orderId:this.orderId,cartTotal:this.cartTotal,currencyCode:this.currencyCode})),r},this.transactionDataController=new $(this,this.handlePostTransaction)}firstUpdated(r){this.enforceConfig(),this.nonprofitId=Number(this.localStorage.getItem("nonprofit"))||null,this.selectionId=this.localStorage.getItem("transaction")||null,this.cartId=this.localStorage.getItemJson("cart")?.cartId||null,this.beamCartId=u(h)||null,this.selectionId&&this.nonprofitId&&(this.activeWidget="impact-overview")}async updated(r){[...m,...D].some(i=>r.has(i))&&await this.transactionDataController.exec()}enforceConfig(){if(v(m,this),!this.email&&!this.partnerUserId)throw new y([this.email?"":"email",this.partnerUserId?"":"partnerUserId"].filter(Boolean),"At least one of [email, partnerUserId] must be provided")}render(){return this.transactionDataController.loading?"":this.transactionDataController.error?this.debug?S({error:this.transactionDataController.error}):"":this.activeWidget==="redeem-transaction"?l`
2
2
  <beam-redeem-transaction
3
3
  part="redeem-transaction"
4
4
  baseUrl="${this.baseUrl}"
@@ -1 +1 @@
1
- {"version":3,"file":"post-purchase.js","sources":["../../src/components/post-purchase/index.ts"],"sourcesContent":["import { html, LitElement, PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { deleteCookieValue, getCookieValue } from \"../../utils/cookies\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { createScopedLocalStorage } from \"../../utils/local-storage\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { DEFAULT_BASE_URL } from \"../../api-sdk/constants\";\nimport { postTransaction } from \"../../api-sdk/v3/routes\";\nimport \"../redeem-transaction\";\nimport \"../impact-overview\";\nimport { BEAM_CART_COOKIE_NAME, TBeamCartLocalStorage, TCart } from \"../../shared/cart-contents\";\nimport { BeamNonprofitSelectEvent, BeamOrderCreatedEvent } from \"../../utils/events\";\n\nconst REQUIRED_DATA_PROPS = [\"baseUrl\", \"apiKey\", \"orderId\", \"cartTotal\", \"currencyCode\", \"lang\"];\nconst OPTIONAL_DATA_PROPS = [\"storeId\", \"postalCode\", \"countryCode\", \"cart\", \"discountCodes\", \"email\", \"partnerUserId\"];\n\nexport class BeamPostPurchase extends LitElement {\n static tagName = \"beam-post-purchase\";\n\n @property({ type: String })\n public baseUrl: string = DEFAULT_BASE_URL;\n\n @property({ type: String })\n public apiKey!: string;\n\n @property({ type: Number, reflect: true })\n public storeId?: number; // Either storeId or postalCode, countryCode must be provided\n\n @property({ type: String })\n public postalCode?: string;\n\n @property({ type: String })\n public countryCode?: string;\n\n @property({ type: String })\n public orderId!: string;\n\n /**\n * Either email or partnerUserId is required\n */\n @property({ type: String })\n public email?: string;\n\n /**\n * Either email or partnerUserId is required\n */\n @property({ type: String })\n public partnerUserId?: string;\n\n @property({ type: Number })\n public cartTotal!: number;\n\n @property({ type: String })\n public currencyCode = \"USD\";\n\n @property({ type: String })\n public lang: LANGUAGES = \"en\";\n\n @property({ type: Object })\n public cart?: TCart;\n\n @property({ type: Array })\n public discountCodes?: string[];\n\n @property({ type: String })\n public domain?: string;\n\n @property({ type: Boolean })\n public debug = false;\n\n @state() private activeWidget: \"redeem-transaction\" | \"impact-overview\" | null = null; // wait for postTransaction\n @state() private nonprofitId: number | null = null; // from localStorage or redeem-transaction result\n @state() private selectionId: string | null = null; // from localStorage\n @state() private cartId: string | null = null; // from localStorage, external cart ID\n @state() private beamCartId: string | null = null; // from cookie, Beam cart ID\n @state() private userId: string | null = null; // from postTransaction\n @state() private transactionId: string | null = null; // from postTransaction\n @property({ type: Boolean }) public draftConfig = false;\n\n private localStorage = createScopedLocalStorage(this);\n\n firstUpdated(_changedProperties: PropertyValues) {\n this.enforceConfig();\n this.nonprofitId = Number(this.localStorage.getItem(\"nonprofit\")) || null;\n this.selectionId = this.localStorage.getItem(\"transaction\") || null;\n this.cartId = this.localStorage.getItemJson<TBeamCartLocalStorage>(\"cart\")?.cartId || null;\n // Reading beamCartId from cookies instead of localStorage allows it to work across subdomains\n this.beamCartId = getCookieValue(BEAM_CART_COOKIE_NAME) || null;\n\n if (this.selectionId && this.nonprofitId) {\n this.activeWidget = \"impact-overview\";\n }\n }\n\n async updated(previousPropertyValues: PropertyValues) {\n // Also fires on first load as props go from undefined => value\n const refreshOnChangeProps = [...REQUIRED_DATA_PROPS, ...OPTIONAL_DATA_PROPS];\n if (refreshOnChangeProps.some((p) => previousPropertyValues.has(p))) {\n await this.transactionDataController.exec();\n }\n }\n\n enforceConfig() {\n enforceConfig(REQUIRED_DATA_PROPS, this);\n if (!this.email && !this.partnerUserId) {\n throw new MissingConfig(\n [this.email ? \"\" : \"email\", this.partnerUserId ? \"\" : \"partnerUserId\"].filter(Boolean),\n \"At least one of [email, partnerUserId] must be provided\"\n );\n }\n }\n\n handlePostTransaction = async () => {\n this.enforceConfig();\n const result = await postTransaction({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n nonprofitId: this.nonprofitId || undefined,\n selectionId: this.selectionId || undefined,\n cartId: this.cartId || undefined,\n beamCartId: this.beamCartId || undefined,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n storeId: this.storeId,\n orderId: this.orderId,\n cartTotal: this.cartTotal,\n email: this.email, // One or both of email & partnerUserId should be defined\n partnerUserId: this.partnerUserId, // One or both of email & partnerUserId should be defined\n currencyCode: this.currencyCode,\n postalCode: this.postalCode,\n countryCode: this.countryCode,\n cart: this.cart,\n discountCodes: this.discountCodes,\n },\n });\n\n this.transactionId = result.transactionId;\n this.userId = result.beamUserId;\n this.nonprofitId = result.nonprofitId;\n\n this.activeWidget = this.nonprofitId ? \"impact-overview\" : \"redeem-transaction\";\n\n this.localStorage.removeItem(\"transaction\");\n this.localStorage.removeItem(\"cart\");\n deleteCookieValue({ name: BEAM_CART_COOKIE_NAME, path: \"/\", domain: this.domain });\n\n // Emit order created event only when order is registered with Beam for the first time\n if (result.transactionCreated) {\n dispatchEvent(\n new BeamOrderCreatedEvent({\n transactionId: result.transactionId,\n orderId: this.orderId,\n cartTotal: this.cartTotal,\n currencyCode: this.currencyCode,\n })\n );\n }\n return result;\n };\n\n private transactionDataController = new AsyncController<typeof this.handlePostTransaction>(\n this,\n this.handlePostTransaction\n );\n\n render() {\n if (this.transactionDataController.loading) {\n return \"\";\n }\n if (this.transactionDataController.error) {\n if (this.debug) {\n return _errorMessage({ error: this.transactionDataController.error });\n }\n return \"\";\n }\n if (this.activeWidget === \"redeem-transaction\") {\n return html`\n <beam-redeem-transaction\n part=\"redeem-transaction\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n storeId=\"${this.storeId}\"\n postalCode=\"${this.postalCode}\"\n countryCode=\"${this.countryCode}\"\n transactionId=\"${this.transactionId}\"\n cart=\"${JSON.stringify(this.cart)}\"\n lang=\"${this.lang}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n @beamnonprofitselect=\"${(event: Event) => {\n if (!(event instanceof CustomEvent)) return; // TS guard\n const { selectedNonprofitId } = (event as BeamNonprofitSelectEvent).detail;\n this.nonprofitId = selectedNonprofitId ?? null;\n this.activeWidget = \"impact-overview\";\n }}\"\n ></beam-redeem-transaction>\n `;\n }\n if (this.activeWidget === \"impact-overview\") {\n return html`\n <beam-impact-overview\n part=\"impact-overview\"\n storeId=\"${this.storeId}\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n userId=\"${this.userId}\"\n nonprofitId=\"${this.nonprofitId}\"\n lang=\"${this.lang}\"\n discountCodes=\"${JSON.stringify(this.discountCodes)}\"\n transactionId=\"${this.transactionId}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n ></beam-impact-overview>\n `;\n }\n return \"\";\n }\n\n static styles = [cssReset];\n}\n\ndefineCustomElement(BeamPostPurchase);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-post-purchase\": BeamPostPurchase;\n }\n}\n"],"names":["REQUIRED_DATA_PROPS","OPTIONAL_DATA_PROPS","BeamPostPurchase","LitElement","DEFAULT_BASE_URL","createScopedLocalStorage","result","postTransaction","deleteCookieValue","BEAM_CART_COOKIE_NAME","BeamOrderCreatedEvent","AsyncController","_changedProperties","getCookieValue","previousPropertyValues","p","enforceConfig","MissingConfig","_errorMessage","html","event","selectedNonprofitId","cssReset","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
1
+ {"version":3,"file":"post-purchase.js","sources":["../../src/components/post-purchase/index.ts"],"sourcesContent":["import { html, LitElement, PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { deleteCookieValue, getCookieValue } from \"../../utils/cookies\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { createScopedLocalStorage } from \"../../utils/local-storage\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { DEFAULT_BASE_URL } from \"../../api-sdk/constants\";\nimport { postTransaction } from \"../../api-sdk/v3/routes\";\nimport \"../redeem-transaction\";\nimport \"../impact-overview\";\nimport { BEAM_CART_COOKIE_NAME, TBeamCartLocalStorage, TCart } from \"../../shared/cart-contents\";\nimport { BeamNonprofitSelectEvent, BeamOrderCreatedEvent } from \"../../utils/events\";\n\nconst REQUIRED_DATA_PROPS = [\"baseUrl\", \"apiKey\", \"orderId\", \"cartTotal\", \"currencyCode\", \"lang\"];\nconst OPTIONAL_DATA_PROPS = [\"storeId\", \"postalCode\", \"countryCode\", \"cart\", \"discountCodes\", \"email\", \"partnerUserId\"];\n\nexport class BeamPostPurchase extends LitElement {\n static tagName = \"beam-post-purchase\";\n\n @property({ type: String })\n public baseUrl: string = DEFAULT_BASE_URL;\n\n @property({ type: String })\n public apiKey!: string;\n\n @property({ type: Number, reflect: true })\n public storeId?: number; // Either storeId or postalCode, countryCode must be provided\n\n @property({ type: String })\n public postalCode?: string;\n\n @property({ type: String })\n public countryCode?: string;\n\n @property({ type: String })\n public orderId!: string;\n\n /**\n * Either email or partnerUserId is required\n */\n @property({ type: String })\n public email?: string;\n\n /**\n * Either email or partnerUserId is required\n */\n @property({ type: String })\n public partnerUserId?: string;\n\n @property({ type: Number })\n public cartTotal!: number;\n\n @property({ type: String })\n public currencyCode = \"USD\";\n\n @property({ type: String })\n public lang: LANGUAGES = \"en\";\n\n @property({ type: Object })\n public cart?: TCart;\n\n @property({ type: Array })\n public discountCodes?: string[];\n\n @property({ type: String })\n public domain?: string;\n\n @property({ type: Boolean })\n public debug = false;\n\n @state() private activeWidget: \"redeem-transaction\" | \"impact-overview\" | null = null; // wait for postTransaction\n @state() private nonprofitId: number | null = null; // from localStorage or redeem-transaction result\n @state() private selectionId: string | null = null; // from localStorage\n @state() private cartId: string | null = null; // from localStorage, external cart ID\n @state() private beamCartId: string | null = null; // from cookie, Beam cart ID\n @state() private userId: string | null = null; // from postTransaction\n @state() private transactionId: string | null = null; // from postTransaction\n @property({ type: Boolean }) public draftConfig = false;\n\n private localStorage = createScopedLocalStorage(this);\n\n firstUpdated(_changedProperties: PropertyValues) {\n this.enforceConfig();\n this.nonprofitId = Number(this.localStorage.getItem(\"nonprofit\")) || null;\n this.selectionId = this.localStorage.getItem(\"transaction\") || null;\n this.cartId = this.localStorage.getItemJson<TBeamCartLocalStorage>(\"cart\")?.cartId || null;\n // Reading beamCartId from cookies instead of localStorage allows it to work across subdomains\n this.beamCartId = getCookieValue(BEAM_CART_COOKIE_NAME) || null;\n\n if (this.selectionId && this.nonprofitId) {\n this.activeWidget = \"impact-overview\";\n }\n }\n\n async updated(previousPropertyValues: PropertyValues) {\n // Also fires on first load as props go from undefined => value\n const refreshOnChangeProps = [...REQUIRED_DATA_PROPS, ...OPTIONAL_DATA_PROPS];\n if (refreshOnChangeProps.some((p) => previousPropertyValues.has(p))) {\n await this.transactionDataController.exec();\n }\n }\n\n enforceConfig() {\n enforceConfig(REQUIRED_DATA_PROPS, this);\n if (!this.email && !this.partnerUserId) {\n throw new MissingConfig(\n [this.email ? \"\" : \"email\", this.partnerUserId ? \"\" : \"partnerUserId\"].filter(Boolean),\n \"At least one of [email, partnerUserId] must be provided\"\n );\n }\n }\n\n handlePostTransaction = async () => {\n this.enforceConfig();\n const result = await postTransaction({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n nonprofitId: this.nonprofitId || undefined,\n selectionId: this.selectionId || undefined,\n cartId: this.cartId || undefined,\n beamCartId: this.beamCartId || undefined,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n storeId: this.storeId,\n orderId: this.orderId,\n cartTotal: this.cartTotal,\n email: this.email, // One or both of email & partnerUserId should be defined\n partnerUserId: this.partnerUserId, // One or both of email & partnerUserId should be defined\n currencyCode: this.currencyCode,\n postalCode: this.postalCode,\n countryCode: this.countryCode,\n cart: this.cart,\n discountCodes: this.discountCodes,\n },\n });\n\n this.transactionId = result.transactionId;\n this.userId = result.beamUserId;\n this.nonprofitId = result.nonprofitId;\n\n this.activeWidget = this.nonprofitId ? \"impact-overview\" : \"redeem-transaction\";\n\n this.localStorage.removeItem(\"transaction\");\n this.localStorage.removeItem(\"cart\");\n deleteCookieValue({ name: BEAM_CART_COOKIE_NAME, path: \"/\", domain: this.domain });\n\n // Emit order created event only when order is registered with Beam for the first time\n if (result.transactionCreated) {\n dispatchEvent(\n new BeamOrderCreatedEvent({\n transactionId: result.transactionId,\n orderId: this.orderId,\n cartTotal: this.cartTotal,\n currencyCode: this.currencyCode,\n })\n );\n }\n return result;\n };\n\n private transactionDataController = new AsyncController<typeof this.handlePostTransaction>(\n this,\n this.handlePostTransaction\n );\n\n render() {\n if (this.transactionDataController.loading) {\n return \"\";\n }\n if (this.transactionDataController.error) {\n if (this.debug) {\n return _errorMessage({ error: this.transactionDataController.error });\n }\n return \"\";\n }\n if (this.activeWidget === \"redeem-transaction\") {\n return html`\n <beam-redeem-transaction\n part=\"redeem-transaction\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n storeId=\"${this.storeId}\"\n postalCode=\"${this.postalCode}\"\n countryCode=\"${this.countryCode}\"\n transactionId=\"${this.transactionId}\"\n cart=\"${JSON.stringify(this.cart)}\"\n lang=\"${this.lang}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n @beamnonprofitselect=\"${(event: Event) => {\n if (!(event instanceof CustomEvent)) return; // TS guard\n const { selectedNonprofitId } = (event as BeamNonprofitSelectEvent).detail;\n this.nonprofitId = selectedNonprofitId ?? null;\n this.activeWidget = \"impact-overview\";\n }}\"\n ></beam-redeem-transaction>\n `;\n }\n if (this.activeWidget === \"impact-overview\") {\n return html`\n <beam-impact-overview\n part=\"impact-overview\"\n storeId=\"${this.storeId}\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n userId=\"${this.userId}\"\n nonprofitId=\"${this.nonprofitId}\"\n lang=\"${this.lang}\"\n discountCodes=\"${JSON.stringify(this.discountCodes)}\"\n transactionId=\"${this.transactionId}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n ></beam-impact-overview>\n `;\n }\n return \"\";\n }\n\n static styles = [cssReset];\n}\n\ndefineCustomElement(BeamPostPurchase);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-post-purchase\": BeamPostPurchase;\n }\n}\n"],"names":["REQUIRED_DATA_PROPS","OPTIONAL_DATA_PROPS","BeamPostPurchase","LitElement","DEFAULT_BASE_URL","createScopedLocalStorage","result","postTransaction","deleteCookieValue","BEAM_CART_COOKIE_NAME","BeamOrderCreatedEvent","AsyncController","_changedProperties","getCookieValue","previousPropertyValues","p","enforceConfig","MissingConfig","_errorMessage","html","event","selectedNonprofitId","cssReset","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
@@ -69,7 +69,7 @@ declare class BeamProductDetailsPage extends LitElement {
69
69
  private productDetailsPageDataController;
70
70
  updated(changedProperties: Map<string, unknown>): Promise<void>;
71
71
  renderWidgetIcon(): lit_html.TemplateResult<1>;
72
- render(): "" | lit_html.TemplateResult<1>;
72
+ render(): lit_html.TemplateResult<1> | "";
73
73
  renderCloseTooltipIcon(): lit_html.TemplateResult<1>;
74
74
  renderDisclosureTooltip(): lit_html.TemplateResult<1>;
75
75
  renderDisclosureTooltipHyperlink(): lit_html.TemplateResult<1>;
@@ -1,4 +1,4 @@
1
- import{j as P,y as s,f as b,g as d,h as m,m as h}from"../chunks/lit-3QHn3fwl.esm.js";import{u as g,A as D,_ as f,i as u,d as p,a as v}from"../chunks/localize-IRs8JglT.esm.js";import{D as y,k as x,W as k,S as C}from"../chunks/routes-4Mnz2XZX.esm.js";import{makeApiKeyHeader as w}from"../utils/makeApiKeyHeader.esm.js";import{c as $,d as F,e as T}from"../chunks/enforce-config-HksNiOMu.esm.js";import{c as S}from"../chunks/responsive-KbDsZM6S.esm.js";import"../chunks/vendor--f7lkyBk.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";const G=(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}},I=(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 P,y as s,f as b,g as d,h as m,k as h}from"../chunks/lit-iNN5L_Qk.esm.js";import{u as g,A as D,_ as f,i as u,d as p,a as v}from"../chunks/localize-o-cYvHQf.esm.js";import{D as y,k as x,W as k,S as C}from"../chunks/routes-4z90Ks28.esm.js";import{makeApiKeyHeader as w}from"../utils/makeApiKeyHeader.esm.js";import{c as $,d as F,e as T}from"../chunks/enforce-config-ZAI7WYAd.esm.js";import{c as S}from"../chunks/responsive-2lC2Wrtg.esm.js";import"../chunks/vendor-GKiOHg2N.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";const G=(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}},I=(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});
2
2
  border-style: var(${a}-borderStyle, ${t});
3
3
  border-color: var(${a}-borderColor, ${o});
4
4
  border-width: var(${a}-borderWidth, ${i});
@@ -1,4 +1,4 @@
1
- import{j as P,y as s,f as b,g as d,h as m,m as h}from"../chunks/lit-3QHn3fwl.esm.js";import{u as g,A as D,_ as f,i as u,d as p,a as v}from"../chunks/localize-SsJbTmMj.esm.js";import{D as y,k as x,W as k,S as C}from"../chunks/routes-eIRRJ7c1.esm.js";import{makeApiKeyHeader as w}from"../utils/makeApiKeyHeader.js";import{c as $,d as F,e as T}from"../chunks/enforce-config-er6B5Gkj.esm.js";import{c as S}from"../chunks/responsive-KbDsZM6S.esm.js";import"../chunks/vendor--f7lkyBk.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";const G=(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}},I=(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 P,y as s,f as b,g as d,h as m,k as h}from"../chunks/lit-iNN5L_Qk.esm.js";import{u as g,A as D,_ as f,i as u,d as p,a as v}from"../chunks/localize-m-_ESmpk.esm.js";import{D as y,k as x,W as k,S as C}from"../chunks/routes-kK10CmJz.esm.js";import{makeApiKeyHeader as w}from"../utils/makeApiKeyHeader.js";import{c as $,d as F,e as T}from"../chunks/enforce-config-ZyPq_4CF.esm.js";import{c as S}from"../chunks/responsive-2lC2Wrtg.esm.js";import"../chunks/vendor-GKiOHg2N.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";const G=(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}},I=(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});
2
2
  border-style: var(${a}-borderStyle, ${t});
3
3
  border-color: var(${a}-borderColor, ${o});
4
4
  border-width: var(${a}-borderWidth, ${i});
@@ -35,7 +35,7 @@ declare class BeamRedeemTransaction extends LitElement {
35
35
  draftConfig: boolean;
36
36
  private isMobile;
37
37
  private didUserExpandNonprofits;
38
- private shouldUseNewPromoUI;
38
+ private shouldUsePromoUI;
39
39
  get configLang(): LANGUAGES;
40
40
  private get hasCorrectTransactionConfig();
41
41
  private get hasCorrectSubscriptionConfig();
@@ -76,7 +76,13 @@ declare class BeamRedeemTransaction extends LitElement {
76
76
  private handleChooseClick;
77
77
  get shouldCollapse(): boolean;
78
78
  private renderSubmitButton;
79
- protected render(): "" | lit_html.TemplateResult<1>;
79
+ private renderRadioButton;
80
+ private renderNonprofitImage;
81
+ private renderOptionDetail;
82
+ private renderProgressBar;
83
+ private renderNonprofitDetails;
84
+ private renderPromoPill;
85
+ protected render(): lit_html.TemplateResult<1> | "";
80
86
  }
81
87
  declare global {
82
88
  interface HTMLElementTagNameMap {