@beamimpact/web-sdk 1.42.1 → 1.43.0

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 (167) hide show
  1. package/dist/chunks/_share-dialog-dependencies-rnsPzR3i.esm.js +2 -0
  2. package/dist/chunks/_share-dialog-dependencies-rnsPzR3i.esm.js.map +1 -0
  3. package/dist/chunks/_share-dialog-dependencies-wDg8oxHJ.esm.js +2 -0
  4. package/dist/chunks/_share-dialog-dependencies-wDg8oxHJ.esm.js.map +1 -0
  5. package/dist/chunks/{cart-contents-sUhfwLAz.esm.d.ts → cart-contents-WB1BF6hG.esm.d.ts} +1 -1
  6. package/dist/chunks/{events-QJc86_5Y.esm.d.ts → events-MfRTtTVm.esm.d.ts} +1 -1
  7. package/dist/chunks/{index-qjhWIDcT.esm.js → index-0nQiFQrd.esm.js} +2 -2
  8. package/dist/chunks/{index-qjhWIDcT.esm.js.map → index-0nQiFQrd.esm.js.map} +1 -1
  9. package/dist/chunks/index-1Z7n574A.esm.js +2 -0
  10. package/dist/chunks/index-1Z7n574A.esm.js.map +1 -0
  11. package/dist/chunks/index-4HR3T_6I.esm.js +2 -0
  12. package/dist/chunks/index-4HR3T_6I.esm.js.map +1 -0
  13. package/dist/chunks/{index-giTGb0gn.esm.js → index-AaWfjJG7.esm.js} +2 -2
  14. package/dist/chunks/{index-giTGb0gn.esm.js.map → index-AaWfjJG7.esm.js.map} +1 -1
  15. package/dist/chunks/{index-M-0eAFA6.esm.d.ts → index-B9w02q6y.esm.d.ts} +1 -1
  16. package/dist/chunks/{index-_Hgu38MH.esm.d.ts → index-OaRsZJh7.esm.d.ts} +1 -1
  17. package/dist/chunks/{index-euJMrXIc.esm.d.ts → index-UggwPn9Q.esm.d.ts} +1 -1
  18. package/dist/chunks/index-ZN8EcPhA.esm.js +2 -0
  19. package/dist/chunks/index-ZN8EcPhA.esm.js.map +1 -0
  20. package/dist/chunks/index-evgmVzj9.esm.js +2 -0
  21. package/dist/chunks/index-evgmVzj9.esm.js.map +1 -0
  22. package/dist/chunks/index-m0mhJhiY.esm.js +2 -0
  23. package/dist/chunks/index-m0mhJhiY.esm.js.map +1 -0
  24. package/dist/chunks/index-ndhJISxP.esm.js +2 -0
  25. package/dist/chunks/index-ndhJISxP.esm.js.map +1 -0
  26. package/dist/chunks/{index-ZgCs6F4e.esm.d.ts → index-ozcDdIom.esm.d.ts} +4 -4
  27. package/dist/chunks/{index-VHXu2kRx.esm.d.ts → index-uqNCQVUx.esm.d.ts} +1 -1
  28. package/dist/chunks/{index-_UuYsIe9.esm.d.ts → index-yeW2w5bb.esm.d.ts} +1 -1
  29. package/dist/chunks/{openapi-spec--WoGcZgR.esm.d.ts → openapi-spec-GGEBbqAJ.esm.d.ts} +892 -27
  30. package/dist/chunks/order-page-A2VpvPTA.esm.js +2 -0
  31. package/dist/chunks/order-page-A2VpvPTA.esm.js.map +1 -0
  32. package/dist/chunks/{order-page-Ps8Qyjfg.esm.d.ts → order-page-LvE0Otsn.esm.d.ts} +3 -3
  33. package/dist/chunks/order-page-n_PrxspK.esm.js +2 -0
  34. package/dist/chunks/order-page-n_PrxspK.esm.js.map +1 -0
  35. package/dist/chunks/{routes-zzEfDMIn.esm.js → routes-2U31lJuH.esm.js} +2 -2
  36. package/dist/chunks/{routes-zzEfDMIn.esm.js.map → routes-2U31lJuH.esm.js.map} +1 -1
  37. package/dist/chunks/{routes-sc6xljWU.esm.js → routes-nWhY4Rgg.esm.js} +2 -2
  38. package/dist/chunks/{routes-sc6xljWU.esm.js.map → routes-nWhY4Rgg.esm.js.map} +1 -1
  39. package/dist/chunks/{routes-qbvie7oI.esm.d.ts → routes-wCCYf_uA.esm.d.ts} +31 -0
  40. package/dist/chunks/{share-button-AUvXGlky.esm.js → share-button--FOuz6Ka.esm.js} +2 -2
  41. package/dist/chunks/{share-button-AUvXGlky.esm.js.map → share-button--FOuz6Ka.esm.js.map} +1 -1
  42. package/dist/chunks/{share-button-wmGQW923.esm.js → share-button-t0XcS-C-.esm.js} +2 -2
  43. package/dist/chunks/{share-button-wmGQW923.esm.js.map → share-button-t0XcS-C-.esm.js.map} +1 -1
  44. package/dist/chunks/{shoelace-components-29N4dEDv.esm.js → shoelace-components-DDO9begn.esm.js} +2 -2
  45. package/dist/chunks/{shoelace-components-29N4dEDv.esm.js.map → shoelace-components-DDO9begn.esm.js.map} +1 -1
  46. package/dist/chunks/{shoelace-components-YboJNgEe.esm.js → shoelace-components-qmUjB2xP.esm.js} +2 -2
  47. package/dist/chunks/{shoelace-components-YboJNgEe.esm.js.map → shoelace-components-qmUjB2xP.esm.js.map} +1 -1
  48. package/dist/chunks/{update-cart-_5yw3Tg7.esm.js → update-cart-4A6AXGhP.esm.js} +2 -2
  49. package/dist/chunks/{update-cart-_5yw3Tg7.esm.js.map → update-cart-4A6AXGhP.esm.js.map} +1 -1
  50. package/dist/chunks/{update-cart-yfZE8kwS.esm.js → update-cart-oxNW7D6U.esm.js} +2 -2
  51. package/dist/chunks/{update-cart-yfZE8kwS.esm.js.map → update-cart-oxNW7D6U.esm.js.map} +1 -1
  52. package/dist/chunks/{update-cart-SajqAoez.esm.d.ts → update-cart-tjLR7pMx.esm.d.ts} +1 -1
  53. package/dist/components/community-impact.esm.js +1 -1
  54. package/dist/components/community-impact.js +1 -1
  55. package/dist/components/cumulative-impact.esm.js +1 -1
  56. package/dist/components/cumulative-impact.js +1 -1
  57. package/dist/components/impact-overview.d.ts +15 -0
  58. package/dist/components/impact-overview.esm.js +7 -7
  59. package/dist/components/impact-overview.esm.js.map +1 -1
  60. package/dist/components/impact-overview.js +7 -7
  61. package/dist/components/impact-overview.js.map +1 -1
  62. package/dist/components/index.d.ts +3 -3
  63. package/dist/components/index.esm.js +1 -1
  64. package/dist/components/index.js +1 -1
  65. package/dist/components/post-purchase.d.ts +10 -2
  66. package/dist/components/post-purchase.esm.js +2 -1
  67. package/dist/components/post-purchase.esm.js.map +1 -1
  68. package/dist/components/post-purchase.js +2 -1
  69. package/dist/components/post-purchase.js.map +1 -1
  70. package/dist/components/product-details-page.d.ts +3 -0
  71. package/dist/components/product-details-page.esm.js +1 -1
  72. package/dist/components/product-details-page.js +1 -1
  73. package/dist/components/redeem-transaction.d.ts +2 -2
  74. package/dist/components/redeem-transaction.esm.js +1 -1
  75. package/dist/components/redeem-transaction.js +1 -1
  76. package/dist/components/select-nonprofit.d.ts +2 -2
  77. package/dist/components/select-nonprofit.esm.js +1 -1
  78. package/dist/components/select-nonprofit.js +1 -1
  79. package/dist/components/select-subscription-nonprofit.esm.js +1 -1
  80. package/dist/components/select-subscription-nonprofit.js +1 -1
  81. package/dist/components/shopify.d.ts +6 -6
  82. package/dist/components/shopify.esm.js +1 -1
  83. package/dist/components/shopify.js +1 -1
  84. package/dist/components/social-share.d.ts +1 -0
  85. package/dist/components/social-share.esm.js +2 -2
  86. package/dist/components/social-share.esm.js.map +1 -1
  87. package/dist/components/social-share.js +2 -2
  88. package/dist/components/social-share.js.map +1 -1
  89. package/dist/components/subscription-impact.d.ts +14 -0
  90. package/dist/components/subscription-impact.esm.js +1 -1
  91. package/dist/components/subscription-impact.js +1 -1
  92. package/dist/components/subscription-management.d.ts +25 -3
  93. package/dist/components/subscription-management.esm.js +1 -1
  94. package/dist/components/subscription-management.js +1 -1
  95. package/dist/index.d.ts +12 -12
  96. package/dist/index.esm.js +1 -1
  97. package/dist/index.js +1 -1
  98. package/dist/integrations/beam.esm.js +1 -1
  99. package/dist/integrations/beam.js +1 -1
  100. package/dist/integrations/cart.d.ts +3 -3
  101. package/dist/integrations/cart.esm.js +1 -1
  102. package/dist/integrations/cart.js +1 -1
  103. package/dist/integrations/index.d.ts +10 -10
  104. package/dist/integrations/index.esm.js +1 -1
  105. package/dist/integrations/index.js +1 -1
  106. package/dist/integrations/logs.d.ts +2 -2
  107. package/dist/integrations/logs.esm.js +1 -1
  108. package/dist/integrations/logs.js +1 -1
  109. package/dist/integrations/shopify.d.ts +5 -5
  110. package/dist/integrations/shopify.esm.js +1 -1
  111. package/dist/integrations/shopify.js +1 -1
  112. package/dist/integrations/statsig.esm.js +1 -1
  113. package/dist/integrations/statsig.js +1 -1
  114. package/dist/integrations/utils.d.ts +3 -3
  115. package/dist/react/community-impact.esm.js +1 -1
  116. package/dist/react/community-impact.js +1 -1
  117. package/dist/react/cumulative-impact.esm.js +1 -1
  118. package/dist/react/cumulative-impact.js +1 -1
  119. package/dist/react/impact-overview.esm.js +1 -1
  120. package/dist/react/impact-overview.js +1 -1
  121. package/dist/react/index.d.ts +4 -4
  122. package/dist/react/index.esm.js +1 -1
  123. package/dist/react/index.js +1 -1
  124. package/dist/react/post-purchase.d.ts +2 -2
  125. package/dist/react/post-purchase.esm.js +1 -1
  126. package/dist/react/post-purchase.js +1 -1
  127. package/dist/react/product-details-page.esm.js +1 -1
  128. package/dist/react/product-details-page.js +1 -1
  129. package/dist/react/redeem-transaction.d.ts +3 -3
  130. package/dist/react/redeem-transaction.esm.js +1 -1
  131. package/dist/react/redeem-transaction.js +1 -1
  132. package/dist/react/select-nonprofit.d.ts +3 -3
  133. package/dist/react/select-nonprofit.esm.js +1 -1
  134. package/dist/react/select-nonprofit.js +1 -1
  135. package/dist/react/select-subscription-nonprofit.d.ts +3 -3
  136. package/dist/react/select-subscription-nonprofit.esm.js +1 -1
  137. package/dist/react/select-subscription-nonprofit.js +1 -1
  138. package/dist/react/social-share.esm.js +1 -1
  139. package/dist/react/social-share.js +1 -1
  140. package/dist/react/subscription-impact.esm.js +1 -1
  141. package/dist/react/subscription-impact.js +1 -1
  142. package/dist/react/subscription-management.d.ts +3 -3
  143. package/dist/react/subscription-management.esm.js +1 -1
  144. package/dist/react/subscription-management.js +1 -1
  145. package/dist/utils/events.d.ts +3 -3
  146. package/dist/utils/index.d.ts +3 -3
  147. package/package.json +1 -1
  148. package/dist/chunks/_share-dialog-dependencies-KpCcT5X6.esm.js +0 -2
  149. package/dist/chunks/_share-dialog-dependencies-KpCcT5X6.esm.js.map +0 -1
  150. package/dist/chunks/_share-dialog-dependencies-vHG7OoOA.esm.js +0 -2
  151. package/dist/chunks/_share-dialog-dependencies-vHG7OoOA.esm.js.map +0 -1
  152. package/dist/chunks/index--iA4GcfC.esm.js +0 -2
  153. package/dist/chunks/index--iA4GcfC.esm.js.map +0 -1
  154. package/dist/chunks/index-F1U8ROKG.esm.js +0 -2
  155. package/dist/chunks/index-F1U8ROKG.esm.js.map +0 -1
  156. package/dist/chunks/index-LF_9YLx7.esm.js +0 -2
  157. package/dist/chunks/index-LF_9YLx7.esm.js.map +0 -1
  158. package/dist/chunks/index-MSOdvudi.esm.js +0 -2
  159. package/dist/chunks/index-MSOdvudi.esm.js.map +0 -1
  160. package/dist/chunks/index-QeW-IaK9.esm.js +0 -2
  161. package/dist/chunks/index-QeW-IaK9.esm.js.map +0 -1
  162. package/dist/chunks/index-e--9y-Sl.esm.js +0 -2
  163. package/dist/chunks/index-e--9y-Sl.esm.js.map +0 -1
  164. package/dist/chunks/order-page-HoZ7DC0L.esm.js +0 -2
  165. package/dist/chunks/order-page-HoZ7DC0L.esm.js.map +0 -1
  166. package/dist/chunks/order-page-m5hkOPEQ.esm.js +0 -2
  167. package/dist/chunks/order-page-m5hkOPEQ.esm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"impact-overview.esm.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: Object }) public discountCodes?: 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 lang: this.configLang,\n discountCodes: this.discountCodes && this.discountCodes.length > 0 ? this.discountCodes : 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 = this.impactDataController.data?.personal[0]?.share?.imageUrl;\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","r","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":"g9BAAO,MAAMA,EAAU,CACrB,GAAI,CACF,iBAAkB,CAAC,CAAE,cAAAC,EAAgB,aAAc,IAAM,+BAA+BA,CAAa,GACrG,oBAAqB,CAAC,CAAE,UAAAC,EAAY,EAAG,IAAM,6BAA6BA,CAAS,uBACnF,UAAW,CAAC,CAAE,KAAAC,EAAO,EAAG,IAAM,oBAAoBA,CAAI,GACtD,aAAc,CAAC,CAAE,UAAAD,EAAY,EAAG,IAAM,gCAAgCA,CAAS,aAC/E,cAAe,CAAC,CAAE,QAAAE,EAAU,CAAE,IAAM,GAAGA,CAAO,IAC9C,gBAAiB,IAAM,cACvB,qBAAsB,CAAC,CAAE,UAAAF,EAAY,EAAG,IAAM,OAAOA,CAAS,sBAE9D,kBAAmB,IAAM,2BACzB,gBAAiB,CAAC,CAAE,UAAAA,EAAY,EAAG,IACjC,QAAQA,CAAS,iEACnB,iBAAkB,IAAM,wBACxB,gBAAiB,IAAM,OACvB,oBAAqB,IAAM,WAC3B,iBAAkB,IAAM,OAC1B,EACA,GAAI,CACF,iBAAkB,CAAC,CAAE,cAAAD,EAAgB,EAAG,IAAM,sCAAsCA,CAAa,GACjG,oBAAqB,CAAC,CAAE,UAAAC,EAAY,EAAG,IACrC,sDAAmDA,CAAS,eAC9D,UAAW,CAAC,CAAE,KAAAC,EAAO,EAAG,IAAM,sBAAsBA,CAAI,GACxD,aAAc,CAAC,CAAE,UAAAD,EAAY,EAAG,IAAM,wDAAqDA,CAAS,GACpG,cAAe,CAAC,CAAE,QAAAE,EAAU,CAAE,IAAM,GAAGA,CAAO,IAC9C,gBAAiB,IAAM,iCACvB,qBAAsB,CAAC,CAAE,UAAAF,EAAY,EAAG,IAAM,0CAAuCA,CAAS,GAE9F,kBAAmB,IAAM,sCACzB,gBAAiB,CAAC,CAAE,UAAAA,EAAY,EAAG,IACjC,SAASA,CAAS,oFACpB,iBAAkB,IAAM,wCACxB,gBAAiB,IAAM,SACvB,oBAAqB,IAAM,oBAC3B,iBAAkB,IAAM,QAC1B,EACA,GAAI,CACF,iBAAkB,CAAC,CAAE,cAAAD,EAAgB,EAAG,IAAM,iDAA8CA,CAAa,GACzG,oBAAqB,CAAC,CAAE,UAAAC,EAAY,EAAG,IACrC,uDAAoDA,CAAS,uBAC/D,UAAW,CAAC,CAAE,KAAAC,EAAO,EAAG,IAAM,gBAAaA,CAAI,YAC/C,aAAc,CAAC,CAAE,UAAAD,EAAY,EAAG,IAC9B,8DAA2DA,CAAS,aACtE,cAAe,CAAC,CAAE,QAAAE,EAAU,CAAE,IAAM,GAAGA,CAAO,IAC9C,gBAAiB,IAAM,eACvB,qBAAsB,CAAC,CAAE,UAAAF,EAAY,EAAG,IAAM,mBAAmBA,CAAS,aAE1E,kBAAmB,IAAM,yCACzB,gBAAiB,CAAC,CAAE,UAAAA,EAAY,EAAG,IAAM,QAAQA,CAAS,iCAC1D,iBAAkB,IAAM,gCACxB,gBAAiB,IAAM,WACvB,oBAAqB,IAAM,gBAC3B,iBAAkB,IAAM,cAC1B,EACA,GAAI,CACF,iBAAkB,CAAC,CAAE,cAAAD,EAAgB,EAAG,IAAM,4BAA4BA,CAAa,GACvF,oBAAqB,CAAC,CAAE,UAAAC,EAAY,EAAG,IACrC,4DAAyDA,CAAS,qBACpE,UAAW,CAAC,CAAE,KAAAC,EAAO,EAAG,IAAM,mBAAgBA,CAAI,GAClD,aAAc,CAAC,CAAE,UAAAD,EAAY,EAAG,IAAM,0CAA0CA,CAAS,GACzF,cAAe,CAAC,CAAE,QAAAE,EAAU,CAAE,IAAM,GAAGA,CAAO,IAC9C,gBAAiB,IAAM,qBACvB,qBAAsB,CAAC,CAAE,UAAAF,EAAY,EAAG,IAAM,uCAAoCA,CAAS,GAE3F,kBAAmB,IAAM,yCACzB,gBAAiB,CAAC,CAAE,UAAAA,EAAY,EAAG,IACjC,gDAAgDA,CAAS,2BAC3D,iBAAkB,IAAM,8BACxB,gBAAiB,IAAM,SACvB,oBAAqB,IAAM,YAC3B,iBAAkB,IAAM,QAC1B,EACA,GAAI,CACF,iBAAkB,CAAC,CAAE,cAAAD,EAAgB,EAAG,IAAM,sCAAsCA,CAAa,GACjG,oBAAqB,CAAC,CAAE,UAAAC,EAAY,EAAG,IAAM,+CAA+CA,CAAS,GACrG,UAAW,CAAC,CAAE,KAAAC,EAAO,EAAG,IAAM,uBAAoBA,CAAI,GACtD,aAAc,CAAC,CAAE,UAAAD,EAAY,EAAG,IAAM,iCAA8BA,CAAS,oBAC7E,cAAe,CAAC,CAAE,QAAAE,EAAU,CAAE,IAAM,GAAGA,CAAO,IAC9C,gBAAiB,IAAM,iBACvB,qBAAsB,CAAC,CAAE,UAAAF,EAAY,EAAG,IAAM,uCAA+BA,CAAS,IAEtF,kBAAmB,IAAM,0CACzB,gBAAiB,CAAC,CAAE,UAAAA,EAAY,EAAG,IACjC,SAASA,CAAS,2FACpB,iBAAkB,IAAM,0CACxB,gBAAiB,IAAM,QACvB,oBAAqB,IAAM,UAC3B,iBAAkB,IAAM,QAC1B,EACA,GAAI,CACF,iBAAkB,CAAC,CAAE,cAAAD,EAAgB,EAAG,IAAM,gDAAuBA,CAAa,IAClF,oBAAqB,CAAC,CAAE,UAAAC,EAAY,EAAG,IACrC,yFAA2DA,CAAS,IACtE,UAAW,CAAC,CAAE,KAAAC,EAAO,EAAG,IAAM,kCAAwBA,CAAI,GAC1D,aAAc,CAAC,CAAE,UAAAD,EAAY,EAAG,IAAM,2EAAuDA,CAAS,GACtG,cAAe,CAAC,CAAE,QAAAE,EAAU,CAAE,IAAM,GAAGA,CAAO,IAC9C,gBAAiB,IAAM,iBACvB,qBAAsB,CAAC,CAAE,UAAAF,EAAY,EAAG,IAAM,uDAAwCA,CAAS,GAE/F,kBAAmB,IAAM,yDACzB,gBAAiB,CAAC,CAAE,UAAAA,EAAY,EAAG,IACjC,iBAASA,CAAS,2FACpB,iBAAkB,IAAM,mCACxB,gBAAiB,IAAM,SACvB,oBAAqB,IAAM,UAC3B,iBAAkB,IAAM,SAC1B,CACF,EC3GA,IAAAG,EAAA,OAAA,eAAAC,EAAA,OAAA,yBAAAC,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,IAAA,CAAA,QAAAC,EAAAD,EAAA,EAAA,OAAAA,EAAAL,EAAAG,EAAAC,CAAA,EAAAD,EAAAI,EAAAL,EAAA,OAAA,EAAA,EAAAK,GAAA,EAAAA,KAAA,EAAAL,EAAAK,CAAA,KAAAD,GAAAD,EAAA,EAAAF,EAAAC,EAAAE,CAAA,EAAA,EAAAA,CAAA,IAAAA,GAAA,OAAAD,GAAAC,GAAAP,EAAAI,EAAAC,EAAAE,CAAA,EAAAA,CAAA,EAqCO,MAAME,UAA2BC,CAAW,CAA5C,aAGsC,CAAA,MAAA,GAAA,SAAA,EAAA,KAAO,QAAgBC,EAUtC,KAAO,KAAkB,KAExB,KAAO,MAAQ,GAQ5C,KAAA,cAAgB,UACTC,EAA8B,CAAC,SAAU,SAAU,aAAa,EAAG,IAAI,EAChE,MAAMC,EAAU,CAC1B,QAAS,KAAK,QACd,QAAS,CACP,cAAe,WAAW,KAAK,MAAM,EACvC,EACA,YAAa,CACX,YAAa,KAAK,YAClB,WAAY,KAAK,OACjB,oBAAqB,EACrB,qBAAsB,EACtB,QAAS,KAAK,QACd,WAAYC,EAAa,gBACzB,QAAS,QACT,KAAM,KAAK,WACX,cAAe,KAAK,eAAiB,KAAK,cAAc,OAAS,EAAI,KAAK,cAAgB,MAC5F,CACF,CAAC,GAKH,KAAQ,qBAAuB,IAAIC,EAA2C,KAAM,KAAK,aAAa,EA+CtG,KAAA,eAAiBC,EACf,IAAM,CACJC,EAAmB,KAAK,eAAe,EACvCA,EAAmB,KAAK,qBAAqB,EAC7CA,EAAmB,KAAK,cAAc,CACxC,EACA,GACA,CAAE,QAAS,GAAI,QAAS,EAAK,CAC/B,CAAA,CAlFA,IAAI,YAAa,CACf,OAAOC,EAAoB,KAAK,IAAI,GAAK,IAC3C,CAoCA,mBAAoB,CAClB,MAAM,oBACN,OAAO,iBAAiB,SAAU,KAAK,cAAc,CACvD,CAEA,MAAM,QAAQC,EAAkD,CAG9D,MAAMC,EAAsB,CAAC,UAAW,UAAW,SAAU,SAAU,OAAQ,eAAe,EAC9F,UAAWC,KAAQD,EACjB,GAAID,EAAkB,IAAIE,CAAI,EAAG,CAC/B,MAAM,KAAK,qBAAqB,KAAA,EAChC,KACF,CAEF,KAAK,iBACL,MAAM,KAAK,eAAe,KAAK,cAAc,CAC/C,CAEA,sBAAuB,CACrB,OAAO,oBAAoB,SAAU,KAAK,cAAc,EACxD,SAAS,MAAM,oBAAoB,cAAe,KAAK,cAAc,EACrE,MAAM,qBACR,CAAA,CAMA,MAAM,eAAwBC,EAA0B,CACtD,GAAI,SAAS,MAAM,SAAW,UAC5B,aAAM,SAAS,MAAM,MAAM,MAAOjB,GAAMkB,EAAO,MAAMlB,CAAC,CAAC,EAChDiB,EAEX,CAAA,CAYA,WAAW,CACT,SAAAE,EACA,MAAAC,EACA,cAAAC,EACA,YAAAC,CACF,EAKG,CACD,OAAOC;AAAAA;AAAAA,oBAESJ,CAAQ,UAAUC,CAAK;AAAA;AAAA,2CAEAA,CAAK;AAAA;AAAA;AAAA,uBAGzBC,CAAa;AAAA;AAAA;AAAA;AAAA;AAAA,iBAKnB/B,EAAQ,KAAK,UAAU,EAAE,cAAc,CAAE,QAAS+B,CAAc,CAAC,CAAC;AAAA;AAAA;AAAA,+CAGpCG,EAAWF,CAAW,CAAC;AAAA;AAAA;AAAA,KAIpE,CAEA,QAAS,CACP,KAAM,CAAE,KAAAG,EAAM,QAAAC,EAAS,MAAAC,CAAM,EAAI,KAAK,qBACtC,GAAID,EACF,OAAOE,EAET,EAAA,GAAID,EACF,OAAI,KAAK,MACAE,EAAc,CAAE,MAAAF,CAAM,CAAC,EAEzB,GAET,GAAIF,GAAQ,KACV,OAAI,KAAK,MACAI,EAAc,CAAE,MAAO,IAAI,MAAM,SAAS,CAAE,CAAC,EAE/C,GAET,MAAMrC,EAAY,KAAK,qBAAqB,MAAM,MAAM,KAClDsC,EAAa,KAAK,qBAAqB,MAAM,SAAS,CAAC,GAAG,OAAO,SACjEC,EAAY,KAAK,aAAa,4CAA4C,IAAM,OAChFC,EACJD,GAAa,KAAK,aAAa,mDAAmD,IAAM,OACpFE,EACJF,GAAa,KAAK,aAAa,oDAAoD,IAAM,OACrFG,EAAY,KAAK,aAAa,8CAA8C,GAAK,UAEvF,IAAIC,EAA6B,SACjC,OAAIH,EACFG,EAA6BF,EAAmB,UAAY,YAE5DE,EAA6BF,EAAmB,oBAAsB,SAGjEV;AAAAA;AAAAA;AAAAA,YAGC,KAAK,aAAa,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAMTE,EAAK,MAAM,OAAO;AAAA,yBACrBA,EAAK,MAAM,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAO5BW,EAAmB,KAAK,WAAYX,EAAK,QAAQ,KAAK,KAAK,GAC7DnC,EAAQ,KAAK,UAAU,EAAE,iBAAiB,CAAE,cAAemC,EAAK,SAAS,CAAC,EAAE,UAAU,IAAK,CAAC,CAAC;AAAA;AAAA;AAAA,YAG3FW,EAAmB,KAAK,WAAYX,EAAK,QAAQ,KAAK,WAAW,GACnEnC,EAAQ,KAAK,UAAU,EAAE,oBAAoB,CAAE,UAAWmC,EAAK,MAAM,IAAK,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAM1E,KAAK,WAAW,CAChB,SAAUA,EAAK,SAAS,CAAC,GAAG,UAAY,GACxC,MAAOnC,EAAQ,KAAK,UAAU,EAAE,kBAChC,cAAemC,EAAK,SAAS,CAAC,GAAG,QAAQ,wBAA0B,EACnE,YAAaW,EAAmB,KAAK,WAAYX,EAAK,SAAS,CAAC,GAAG,QAAQ,aAAe,EAAE,CAC9F,CAAC,CAAC;AAAA;AAAA,uBAEWA,EAAK,SAAS,CAAC,EAAE,WAAW,OAAO;AAAA,gBAC1CnC,EAAQ,KAAK,UAAU,EAAE,UAAU,CACnC,KAAMmC,EAAK,SAAS,CAAC,EAAE,WAAW,IACpC,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAQJ,KAAK,WAAW,CAChB,SAAUA,EAAK,UAAU,CAAC,EAAE,UAAY,GACxC,MAAOnC,EAAQ,KAAK,UAAU,EAAE,qBAAqB,CAAE,UAAWmC,EAAK,MAAM,IAAK,CAAC,EACnF,cAAeA,EAAK,UAAU,CAAC,EAAE,QAAQ,wBAA0B,EACnE,YAAaW,EAAmB,KAAK,WAAYX,EAAK,UAAU,CAAC,EAAE,QAAQ,aAAe,EAAE,CAC9F,CAAC,CAAC;AAAA;AAAA;AAAA,sBAGUA,EAAK,MAAM,oBAAsBA,EAAK,UAAU,CAAC,EAAE,UAAU,OAAO;AAAA;AAAA;AAAA;AAAA,gBAI1EnC,EAAQ,KAAK,UAAU,EAAE,aAAa,CACtC,UAAWmC,EAAK,MAAM,IACxB,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAMWU,CAA0B;AAAA;AAAA,sBAE/BL,CAAU;AAAA,uBACTtC,CAAS;AAAA,uBACT0C,CAAS;AAAA,wBACR5C,EAAQ,KAAK,UAAU,EAAE,mBAAmB;AAAA,wBAC5C,KAAK,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,KAMrC,CAEA,IAAW,cAAe,CACxB,MAAM+C,EAAW,CACf,oBAAqB,UACrB,mBAAoB,UACpB,kBAAmB,UACnB,mBAAoB,UACpB,yBAA0B,UAC1B,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EAAiB,8BAA+B,CACjD,SAAU,OACV,WAAY,OACZ,UAAW,MACb,CAAC,EACD,GAAGA,EAAiB,iCAAkC,CACpD,UAAW,KACb,CAAC,EACD,6CAA8C,QAC9C,mDAAoD,UACpD,mDAAoD,eACpD,+CAAgD,eAChD,gDAAiD,MACjD,6CAA8C,OAC9C,GAAGA,EAAiB,yCAA0C,CAC5D,SAAU,OACV,WAAY,MACd,CAAC,EACD,sDAAuD,OACvD,GAAGA,EAAiB,+CAA+C,EACnE,GAAGA,EAAiB,+CAAgD,CAClE,UAAW,MACb,CAAC,EACD,qDAAsD,SACtD,8CAA+C,UAC/C,GAAGA,EAAiB,wCAAyC,CAC3D,UAAW,MACb,CAAC,EACD,6CAA8C,OAC9C,oDAAqD,UACrD,qDAAsD,UACtD,sCAAuC,OACzC,EAEMC,EAAe,KAAK,sBAAsB,MAAM,QAAQ,KAAK,OAAS,CAAC,EAEvEC,EAAS,CAAE,GAAGN,EAAU,GAAGK,CAAa,EAQ9C,OAAO,OAAO,OANO,OAAO,OAAO,CACjC,OAAQ,CACN,OAAOE,EAAgB,IAA8B,CACvD,CACF,CAAC,EAEkCD,CAAM,CAC3C,CA4GF,CA3ZavC,EACJ,QAAU,uBADNA,EAiTJ,OAAS,CACdyC,EACAC,EACAC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,UAgCMC,EAAc,6BAA6B,CAAC;AAAA;AAAA;AAAA,UAG5CA,EAAc,gCAAgC,CAAC;AAAA;AAAA;AAAA,UAG/CA,EAAc,wCAAwC,CAAC;AAAA;AAAA;AAAA,UAGvDA,EAAc,+CAA+C,CAAC;AAAA;AAAA;AAAA,UAG9DA,EAAc,8CAA8C,CAAC;AAAA;AAAA;AAAA,UAG7DA,EAAc,uCAAuC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAmC5DD;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,KAoBF,EAvZkDE,EAAA,CAAjDC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,CAH9B,EAAA9C,EAGuC,uBAEN6C,EAAA,CAA3CC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAM,CAAC,CAL/B,EAAA9C,EAKiC,UAEhB6C,SAAAA,CAAAA,EAAAA,EAAA,CAA3BC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EAPf9C,EAOiB,UAEe6C,UAAAA,CAAAA,EAAAA,EAAA,CAA1CC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,CAAA,EAT9B9C,EASgC,UAAA,cAAA,CAAA,EAEA6C,EAAA,CAA1CC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,CAX9B,EAAA9C,EAWgC,UAER6C,SAAAA,CAAAA,EAAAA,EAAA,CAAlCC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EAbf9C,EAawB,UAAA,OAAA,CAAA,EAEC6C,EAAA,CAAnCC,EAAS,CAAE,KAAM,OAAQ,CAAC,CAfhB,EAAA9C,EAeyB,UAED6C,QAAAA,CAAAA,EAAAA,EAAA,CAAlCC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EAjBf9C,EAiBwB,UAAA,gBAAA,CAAA,EAgCnC6C,EAAA,CADCE,EAAS,oBAAoB,CAAA,EAhDnB/C,EAiDX,UAAA,kBAAA,CAAA,EAGA6C,EAAA,CADCE,EAAS,0BAA0B,CAAA,EAnDzB/C,EAoDX,UAAA,wBAAA,CAAA,EAGA6C,EAAA,CADCE,EAAS,cAAc,CAtDb,EAAA/C,EAuDX,UAsWFgD,iBAAAA,CAAAA,EAAAA,EAAoBhD,CAAkB"}
1
+ {"version":3,"file":"impact-overview.esm.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: 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 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,4 +1,4 @@
1
- import{f,g as c,p as h,h as I,y,m as S}from"../chunks/lit-3QHn3fwl.esm.js";import{d as $}from"../chunks/lodash-P8OIs-at.esm.js";import{D as T,g as O,W as k,S as z}from"../chunks/routes-sc6xljWU.esm.js";import{p as N}from"../chunks/progress-bar-HVG_n8_6.esm.js";import{u as m,A as L,_ as w,i as u,d as l,a as D}from"../chunks/localize-SsJbTmMj.esm.js";import{c as E,d as B,e as j}from"../chunks/enforce-config-er6B5Gkj.esm.js";import{_ as U}from"../chunks/loading-template-mLjOGXMj.esm.js";import{logger as A}from"../utils/logger.js";import"../chunks/shoelace-components-29N4dEDv.esm.js";import{s as g,a as F}from"../chunks/share-button-wmGQW923.esm.js";import{partnerLogosConfigDefaults as R}from"./beam-partner-logos.js";import{c as M}from"../chunks/responsive-KbDsZM6S.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../chunks/vendor--f7lkyBk.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/share-button-CqTd80g8.esm.js";const s={en:{descriptionTitle:({nonprofitName:e="a nonprofit"})=>`You just made an impact for ${e}`,descriptionSubtitle:({brandName:e=""})=>`Check out the impact your ${e} purchase made below`,learnMore:({name:e=""})=>`Learn more about ${e}`,seeAllImpact:({brandName:e=""})=>`See all of the impact by the ${e} community`,percentRaised:({percent:e=0})=>`${e}%`,yourImpactTitle:()=>"Your Impact",communityImpactTitle:({brandName:e=""})=>`The ${e} Community's Impact`,impactShareButton:()=>"Share to Grow Our Impact",impactShareText:({brandName:e=""})=>`Help ${e} reach their giving goal by sharing this cause on social media`,impactShareTitle:()=>"Share on Social Media",impactShareCopy:()=>"Copy",impactShareDownload:()=>"Download",impactShareClose:()=>"Close"},fr:{descriptionTitle:({nonprofitName:e=""})=>`Vous avez eu un impact positif sur ${e}`,descriptionSubtitle:({brandName:e=""})=>`D\xE9couvrez quel est l'impact de votre achat chez ${e} ci-dessous.`,learnMore:({name:e=""})=>`En savoir plus sur ${e}`,seeAllImpact:({brandName:e=""})=>`Voir toutes les contributions de la communaut\xE9 de ${e}`,percentRaised:({percent:e=0})=>`${e}%`,yourImpactTitle:()=>"Votre contribution personnelle",communityImpactTitle:({brandName:e=""})=>`La contribution de la communaut\xE9 de ${e}`,impactShareButton:()=>"Partagez pour augmentez notre cause",impactShareText:({brandName:e=""})=>`Aidez ${e} a atteindre leur objectif en partageant cette cause sur votre r\xE9seaux sociaux`,impactShareTitle:()=>"Partager sur votre r\xE9seaux sociaux",impactShareCopy:()=>"Copier",impactShareDownload:()=>"T\xE9l\xE9charger",impactShareClose:()=>"Fermer"},de:{descriptionTitle:({nonprofitName:e=""})=>`Du hast soeben einen Beitrag geleistet f\xFCr ${e}`,descriptionSubtitle:({brandName:e=""})=>`Erfahre mehr \xFCber den Beitrag, den du mit deinem ${e} Kauf geleistet hast`,learnMore:({name:e=""})=>`Mehr \xFCber ${e} erfahren`,seeAllImpact:({brandName:e=""})=>`Informiere dich \xFCber den bisher geleisteten Beitrag der ${e} community`,percentRaised:({percent:e=0})=>`${e}%`,yourImpactTitle:()=>"Dein Beitrag",communityImpactTitle:({brandName:e=""})=>`Der Beitrag der ${e} community`,impactShareButton:()=>"Teil, um unserem Beitrag zu erh\xF6hen",impactShareText:({brandName:e=""})=>`Hilf ${e} ihre Spendenziel zu erreichen`,impactShareTitle:()=>"In den sozialen Medien teilen",impactShareCopy:()=>"Kopieren",impactShareDownload:()=>"Herunterladen",impactShareClose:()=>"Schlie\xDFen"},es:{descriptionTitle:({nonprofitName:e=""})=>`Acabas de contribuir con ${e}`,descriptionSubtitle:({brandName:e=""})=>`Comprueba la contribuci\xF3n que has hecho con tu compra ${e} a continuaci\xF3n`,learnMore:({name:e=""})=>`Saber m\xE1s de ${e}`,seeAllImpact:({brandName:e=""})=>`Mira lo que ha conseguido la comunidad ${e}`,percentRaised:({percent:e=0})=>`${e}%`,yourImpactTitle:()=>"Tu contribuci\xF3n",communityImpactTitle:({brandName:e=""})=>`Tu contribuci\xF3n con la comunidad ${e}`,impactShareButton:()=>"Comparte para aumentar nuestro impacto",impactShareText:({brandName:e=""})=>`Comparte en las redes sociales para ayudar a ${e} a alcanzar su objetivo.`,impactShareTitle:()=>"Compartir en redes sociales",impactShareCopy:()=>"Copiar",impactShareDownload:()=>"Descargar",impactShareClose:()=>"Cerrar"},it:{descriptionTitle:({nonprofitName:e=""})=>`Hai appena fatto la differenza per ${e}`,descriptionSubtitle:({brandName:e=""})=>`Guarda qui sotto l'impatto del tuo acquisto ${e}`,learnMore:({name:e=""})=>`Scopri di pi\xF9 su ${e}`,seeAllImpact:({brandName:e=""})=>`Guarda come la comunit\xE0 di ${e} fa la differenza`,percentRaised:({percent:e=0})=>`${e}%`,yourImpactTitle:()=>"Il tuo impatto",communityImpactTitle:({brandName:e=""})=>`L\u2019impatto della comunit\xE0 di ${e} `,impactShareButton:()=>"Condividi, aiutaci a fare la differenza",impactShareText:({brandName:e=""})=>`Aiuta ${e} a raggiungere il suo obiettivo di donazione condividendo questa causa sui social media.`,impactShareTitle:()=>"Condividi, aiutaci a fare la differenza",impactShareCopy:()=>"Copia",impactShareDownload:()=>"Scarica",impactShareClose:()=>"Chiudi"},pl:{descriptionTitle:({nonprofitName:e=""})=>`W\u0142a\u015Bnie wspar\u0142a\u015B_e\u015B ${e}!`,descriptionSubtitle:({brandName:e=""})=>`Sprawd\u017A ni\u017Cej, jakiego wsparcia udzieli\u0142a\u015B_e\u015B kupuj\u0105c w ${e} `,learnMore:({name:e=""})=>`Dowiedz si\u0119 wi\u0119cej o ${e}`,seeAllImpact:({brandName:e=""})=>`Zobacz, ile dobrego zrobi\u0142a do tej pory spo\u0142eczno\u015B\u0107 ${e}`,percentRaised:({percent:e=0})=>`${e}%`,yourImpactTitle:()=>"Twoje wsparcie",communityImpactTitle:({brandName:e=""})=>`Wsparcie udzielone przez spo\u0142eczno\u015B\u0107 ${e}`,impactShareButton:()=>"Udost\u0119pnij, by szerzy\u0107 nasz\u0105 misj\u0119",impactShareText:({brandName:e=""})=>`Pom\xF3\u017C ${e} osi\u0105gn\u0105\u0107 cel i podziel si\u0119 t\u0105 inicjatyw\u0105 na swoim profilu`,impactShareTitle:()=>"Udost\u0119pnij na swoim profilu",impactShareCopy:()=>"Kopiuj",impactShareDownload:()=>"Pobierz",impactShareClose:()=>"Zamknij"}};var _=Object.defineProperty,P=Object.getOwnPropertyDescriptor,n=(e,a,i,r)=>{for(var o=r>1?void 0:r?P(a,i):a,d=e.length-1,p;d>=0;d--)(p=e[d])&&(o=(r?p(a,i,o):p(o))||o);return r&&o&&_(a,i,o),o};class t extends I{constructor(){super(...arguments),this.baseUrl=T,this.lang="en",this.debug=!1,this.getImpactData=async()=>(j(["apiKey","userId","nonprofitId"],this),await O({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{nonprofitId:this.nonprofitId,beamUserId:this.userId,personalImpactLimit:1,communityImpactLimit:1,storeId:this.storeId,widgetName:k.impact_overview,version:"1.0.0",lang:this.configLang,discountCodes:this.discountCodes&&this.discountCodes.length>0?this.discountCodes:void 0}})),this.impactDataController=new L(this,this.getImpactData),this.resizeElements=$(()=>{g(this.impactTitleRefs),g(this.impactDescriptionRefs),g(this.impactLinkRefs)},50,{maxWait:50,leading:!0})}get configLang(){return z[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(a){const i=["baseUrl","storeId","apiKey","userId","lang","discountCodes"];for(const r of i)if(a.has(r)){await this.impactDataController.exec();break}this.resizeElements(),await this.handleFontLoad(this.resizeElements)}disconnectedCallback(){window.removeEventListener("resize",this.resizeElements),document.fonts.removeEventListener("loadingdone",this.resizeElements),super.disconnectedCallback()}async handleFontLoad(a){if(document.fonts.status==="loading")return await document.fonts.ready.catch(i=>A.error(i)),a()}renderCard({imageUrl:a,title:i,percentFunded:r,description:o}){return y`
1
+ import{f,g as c,p as h,h as x,y,m as S}from"../chunks/lit-3QHn3fwl.esm.js";import{d as $}from"../chunks/lodash-P8OIs-at.esm.js";import{D as T,g as O,W as k,S as z}from"../chunks/routes-nWhY4Rgg.esm.js";import{p as N}from"../chunks/progress-bar-HVG_n8_6.esm.js";import{u as m,A as D,_ as w,i as u,d as l,a as L}from"../chunks/localize-SsJbTmMj.esm.js";import{c as E,d as B,e as U}from"../chunks/enforce-config-er6B5Gkj.esm.js";import{_ as j}from"../chunks/loading-template-mLjOGXMj.esm.js";import{logger as A}from"../utils/logger.js";import"../chunks/shoelace-components-DDO9begn.esm.js";import{s as g,a as F}from"../chunks/share-button-t0XcS-C-.esm.js";import{partnerLogosConfigDefaults as R}from"./beam-partner-logos.js";import{c as M}from"../chunks/responsive-KbDsZM6S.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../chunks/vendor--f7lkyBk.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/share-button-CqTd80g8.esm.js";const s={en:{descriptionTitle:({nonprofitName:e="a nonprofit"})=>`You just made an impact for ${e}`,descriptionSubtitle:({brandName:e=""})=>`Check out the impact your ${e} purchase made below`,learnMore:({name:e=""})=>`Learn more about ${e}`,seeAllImpact:({brandName:e=""})=>`See all of the impact by the ${e} community`,percentRaised:({percent:e=0})=>`${e}%`,yourImpactTitle:()=>"Your Impact",communityImpactTitle:({brandName:e=""})=>`The ${e} Community's Impact`,impactShareButton:()=>"Share to Grow Our Impact",impactShareText:({brandName:e=""})=>`Help ${e} reach their giving goal by sharing this cause on social media`,impactShareTitle:()=>"Share on Social Media",impactShareCopy:()=>"Copy",impactShareDownload:()=>"Download",impactShareClose:()=>"Close"},fr:{descriptionTitle:({nonprofitName:e=""})=>`Vous avez eu un impact positif sur ${e}`,descriptionSubtitle:({brandName:e=""})=>`D\xE9couvrez quel est l'impact de votre achat chez ${e} ci-dessous.`,learnMore:({name:e=""})=>`En savoir plus sur ${e}`,seeAllImpact:({brandName:e=""})=>`Voir toutes les contributions de la communaut\xE9 de ${e}`,percentRaised:({percent:e=0})=>`${e}%`,yourImpactTitle:()=>"Votre contribution personnelle",communityImpactTitle:({brandName:e=""})=>`La contribution de la communaut\xE9 de ${e}`,impactShareButton:()=>"Partagez pour augmentez notre cause",impactShareText:({brandName:e=""})=>`Aidez ${e} a atteindre leur objectif en partageant cette cause sur votre r\xE9seaux sociaux`,impactShareTitle:()=>"Partager sur votre r\xE9seaux sociaux",impactShareCopy:()=>"Copier",impactShareDownload:()=>"T\xE9l\xE9charger",impactShareClose:()=>"Fermer"},de:{descriptionTitle:({nonprofitName:e=""})=>`Du hast soeben einen Beitrag geleistet f\xFCr ${e}`,descriptionSubtitle:({brandName:e=""})=>`Erfahre mehr \xFCber den Beitrag, den du mit deinem ${e} Kauf geleistet hast`,learnMore:({name:e=""})=>`Mehr \xFCber ${e} erfahren`,seeAllImpact:({brandName:e=""})=>`Informiere dich \xFCber den bisher geleisteten Beitrag der ${e} community`,percentRaised:({percent:e=0})=>`${e}%`,yourImpactTitle:()=>"Dein Beitrag",communityImpactTitle:({brandName:e=""})=>`Der Beitrag der ${e} community`,impactShareButton:()=>"Teil, um unserem Beitrag zu erh\xF6hen",impactShareText:({brandName:e=""})=>`Hilf ${e} ihre Spendenziel zu erreichen`,impactShareTitle:()=>"In den sozialen Medien teilen",impactShareCopy:()=>"Kopieren",impactShareDownload:()=>"Herunterladen",impactShareClose:()=>"Schlie\xDFen"},es:{descriptionTitle:({nonprofitName:e=""})=>`Acabas de contribuir con ${e}`,descriptionSubtitle:({brandName:e=""})=>`Comprueba la contribuci\xF3n que has hecho con tu compra ${e} a continuaci\xF3n`,learnMore:({name:e=""})=>`Saber m\xE1s de ${e}`,seeAllImpact:({brandName:e=""})=>`Mira lo que ha conseguido la comunidad ${e}`,percentRaised:({percent:e=0})=>`${e}%`,yourImpactTitle:()=>"Tu contribuci\xF3n",communityImpactTitle:({brandName:e=""})=>`Tu contribuci\xF3n con la comunidad ${e}`,impactShareButton:()=>"Comparte para aumentar nuestro impacto",impactShareText:({brandName:e=""})=>`Comparte en las redes sociales para ayudar a ${e} a alcanzar su objetivo.`,impactShareTitle:()=>"Compartir en redes sociales",impactShareCopy:()=>"Copiar",impactShareDownload:()=>"Descargar",impactShareClose:()=>"Cerrar"},it:{descriptionTitle:({nonprofitName:e=""})=>`Hai appena fatto la differenza per ${e}`,descriptionSubtitle:({brandName:e=""})=>`Guarda qui sotto l'impatto del tuo acquisto ${e}`,learnMore:({name:e=""})=>`Scopri di pi\xF9 su ${e}`,seeAllImpact:({brandName:e=""})=>`Guarda come la comunit\xE0 di ${e} fa la differenza`,percentRaised:({percent:e=0})=>`${e}%`,yourImpactTitle:()=>"Il tuo impatto",communityImpactTitle:({brandName:e=""})=>`L\u2019impatto della comunit\xE0 di ${e} `,impactShareButton:()=>"Condividi, aiutaci a fare la differenza",impactShareText:({brandName:e=""})=>`Aiuta ${e} a raggiungere il suo obiettivo di donazione condividendo questa causa sui social media.`,impactShareTitle:()=>"Condividi, aiutaci a fare la differenza",impactShareCopy:()=>"Copia",impactShareDownload:()=>"Scarica",impactShareClose:()=>"Chiudi"},pl:{descriptionTitle:({nonprofitName:e=""})=>`W\u0142a\u015Bnie wspar\u0142a\u015B_e\u015B ${e}!`,descriptionSubtitle:({brandName:e=""})=>`Sprawd\u017A ni\u017Cej, jakiego wsparcia udzieli\u0142a\u015B_e\u015B kupuj\u0105c w ${e} `,learnMore:({name:e=""})=>`Dowiedz si\u0119 wi\u0119cej o ${e}`,seeAllImpact:({brandName:e=""})=>`Zobacz, ile dobrego zrobi\u0142a do tej pory spo\u0142eczno\u015B\u0107 ${e}`,percentRaised:({percent:e=0})=>`${e}%`,yourImpactTitle:()=>"Twoje wsparcie",communityImpactTitle:({brandName:e=""})=>`Wsparcie udzielone przez spo\u0142eczno\u015B\u0107 ${e}`,impactShareButton:()=>"Udost\u0119pnij, by szerzy\u0107 nasz\u0105 misj\u0119",impactShareText:({brandName:e=""})=>`Pom\xF3\u017C ${e} osi\u0105gn\u0105\u0107 cel i podziel si\u0119 t\u0105 inicjatyw\u0105 na swoim profilu`,impactShareTitle:()=>"Udost\u0119pnij na swoim profilu",impactShareCopy:()=>"Kopiuj",impactShareDownload:()=>"Pobierz",impactShareClose:()=>"Zamknij"}};var _=Object.defineProperty,P=Object.getOwnPropertyDescriptor,o=(e,a,i,r)=>{for(var n=r>1?void 0:r?P(a,i):a,d=e.length-1,p;d>=0;d--)(p=e[d])&&(n=(r?p(a,i,n):p(n))||n);return r&&n&&_(a,i,n),n};class t extends x{constructor(){super(...arguments),this.baseUrl=T,this.lang="en",this.debug=!1,this.getImpactData=async()=>(U(["apiKey","userId","nonprofitId"],this),await O({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{nonprofitId:this.nonprofitId,beamUserId:this.userId,personalImpactLimit:1,communityImpactLimit:1,storeId:this.storeId,widgetName:k.impact_overview,version:"1.0.0",lang:this.configLang,discountCodes:this.discountCodes&&this.discountCodes.length>0?this.discountCodes:void 0,transactionId:this.transactionId??void 0}})),this.impactDataController=new D(this,this.getImpactData),this.resizeElements=$(()=>{g(this.impactTitleRefs),g(this.impactDescriptionRefs),g(this.impactLinkRefs)},50,{maxWait:50,leading:!0})}get configLang(){return z[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(a){const i=["baseUrl","storeId","apiKey","userId","lang","discountCodes"];for(const r of i)if(a.has(r)){await this.impactDataController.exec();break}this.resizeElements(),await this.handleFontLoad(this.resizeElements)}disconnectedCallback(){window.removeEventListener("resize",this.resizeElements),document.fonts.removeEventListener("loadingdone",this.resizeElements),super.disconnectedCallback()}async handleFontLoad(a){if(document.fonts.status==="loading")return await document.fonts.ready.catch(i=>A.error(i)),a()}renderCard({imageUrl:a,title:i,percentFunded:r,description:n}){return y`
2
2
  <div class="impact-card" part="impact-card">
3
3
  <img src="${a}" alt="${i}" class="impact-card-image" />
4
4
  <div class="impact-card-content" style="margin: 15px;">
@@ -13,10 +13,10 @@ import{f,g as c,p as h,h as I,y,m as S}from"../chunks/lit-3QHn3fwl.esm.js";impor
13
13
  >${s[this.configLang].percentRaised({percent:r})}</span
14
14
  >
15
15
  </div>
16
- <p class="impact-card-description">${S(o)}</p>
16
+ <p class="impact-card-description">${S(n)}</p>
17
17
  </div>
18
18
  </div>
19
- `}render(){const{data:a,loading:i,error:r}=this.impactDataController;if(i)return U();if(r)return this.debug?w({error:r}):"";if(a==null)return this.debug?w({error:new Error("No data")}):"";const o=this.impactDataController.data?.chain.name,d=this.impactDataController.data?.personal[0]?.share?.imageUrl,p=this.cssVariables["--beam-ImpactOverview-share-button-display"]!=="none",C=p&&this.cssVariables["--beam-ImpactOverview-share-button-display-mobile"]!=="none",v=p&&this.cssVariables["--beam-ImpactOverview-share-button-display-desktop"]!=="none",x=this.cssVariables["--beam-ImpactOverview-share-button-icon-name"]||"share-2";let b="d-none";return C?b=v?"d-block":"d-lg-none":b=v?"d-none d-lg-block":"d-none",y`
19
+ `}render(){const{data:a,loading:i,error:r}=this.impactDataController;if(i)return j();if(r)return this.debug?w({error:r}):"";if(a==null)return this.debug?w({error:new Error("No data")}):"";const n=this.impactDataController.data?.chain.name,d=this.impactDataController.data?.promoAssetUrl||this.impactDataController.data?.personalImpactAssetUrl,p=this.cssVariables["--beam-ImpactOverview-share-button-display"]!=="none",C=p&&this.cssVariables["--beam-ImpactOverview-share-button-display-mobile"]!=="none",v=p&&this.cssVariables["--beam-ImpactOverview-share-button-display-desktop"]!=="none",I=this.cssVariables["--beam-ImpactOverview-share-button-icon-name"]||"share-2";let b="d-none";return C?b=v?"d-block":"d-lg-none":b=v?"d-none d-lg-block":"d-none",y`
20
20
  <style>
21
21
  :host {
22
22
  ${this.cssVariables.toCSS()}
@@ -69,15 +69,15 @@ import{f,g as c,p as h,h as I,y,m as S}from"../chunks/lit-3QHn3fwl.esm.js";impor
69
69
  <div class="footer ${b}" part="social-share">
70
70
  <beam-share-button
71
71
  imageUrl="${d}"
72
- brandName="${o}"
73
- shareIcon="${x}"
72
+ brandName="${n}"
73
+ shareIcon="${I}"
74
74
  buttonText="${s[this.configLang].impactShareButton()}"
75
75
  configLang="${this.configLang}"
76
76
  ></beam-share-button>
77
77
  </div>
78
78
 
79
79
  <div id="modal-root"></div>
80
- `}get cssVariables(){const a={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit",...R,...N,...F,...l("--beam-ImpactOverview-title",{fontSize:"16px",fontWeight:"bold",marginTop:"10px"}),...l("--beam-ImpactOverview-subtitle",{marginTop:"5px"}),"--beam-ImpactOverview-impactCards-maxWidth":"800px","--beam-ImpactOverview-impactCard-backgroundColor":"inherit","--beam-ImpactOverview-impactCard-foregroundColor":"currentColor","--beam-ImpactOverview-impactCard-borderColor":"currentColor","--beam-ImpactOverview-impactCard-borderRadius":"0px","--beam-ImpactOverview-impactCard-marginTop":"10px",...l("--beam-ImpactOverview-impactCard-title",{fontSize:"15px",fontWeight:"bold"}),"--beam-ImpactOverview-impactCard-progress-marginTop":"15px",...l("--beam-ImpactOverview-impactCard-progressText"),...l("--beam-ImpactOverview-impactCard-description",{marginTop:"10px"}),"--beam-ImpactOverview-impactCard-linkArrow-display":"inline","--beam-ImpactOverview-impactCard-link-color":"inherit",...l("--beam-ImpactOverview-impactCard-link",{marginTop:"10px"}),"--beam-ImpactOverview-share-button-display":"none","--beam-ImpactOverview-share-button-display-mobile":"inherit","--beam-ImpactOverview-share-button-display-desktop":"inherit","--beam-ImpactOverview-image-display":"block"},i=this.impactDataController?.data?.config?.web?.theme||{},r={...a,...i};return Object.assign(Object.create({toCSS(){return D(this)}}),r)}}t.tagName="beam-impact-overview",t.styles=[E,M,f`
80
+ `}get cssVariables(){const a={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit",...R,...N,...F,...l("--beam-ImpactOverview-title",{fontSize:"16px",fontWeight:"bold",marginTop:"10px"}),...l("--beam-ImpactOverview-subtitle",{marginTop:"5px"}),"--beam-ImpactOverview-impactCards-maxWidth":"800px","--beam-ImpactOverview-impactCard-backgroundColor":"inherit","--beam-ImpactOverview-impactCard-foregroundColor":"currentColor","--beam-ImpactOverview-impactCard-borderColor":"currentColor","--beam-ImpactOverview-impactCard-borderRadius":"0px","--beam-ImpactOverview-impactCard-marginTop":"10px",...l("--beam-ImpactOverview-impactCard-title",{fontSize:"15px",fontWeight:"bold"}),"--beam-ImpactOverview-impactCard-progress-marginTop":"15px",...l("--beam-ImpactOverview-impactCard-progressText"),...l("--beam-ImpactOverview-impactCard-description",{marginTop:"10px"}),"--beam-ImpactOverview-impactCard-linkArrow-display":"inline","--beam-ImpactOverview-impactCard-link-color":"inherit",...l("--beam-ImpactOverview-impactCard-link",{marginTop:"10px"}),"--beam-ImpactOverview-share-button-display":"none","--beam-ImpactOverview-share-button-display-mobile":"inherit","--beam-ImpactOverview-share-button-display-desktop":"inherit","--beam-ImpactOverview-image-display":"block"},i=this.impactDataController?.data?.config?.web?.theme||{},r={...a,...i};return Object.assign(Object.create({toCSS(){return L(this)}}),r)}}t.tagName="beam-impact-overview",t.styles=[E,M,f`
81
81
  :host {
82
82
  display: block;
83
83
  font-family: var(--beam-fontFamily);
@@ -177,5 +177,5 @@ import{f,g as c,p as h,h as I,y,m as S}from"../chunks/lit-3QHn3fwl.esm.js";impor
177
177
  text-decoration: none;
178
178
  color: inherit;
179
179
  }
180
- `],n([c({type:String,reflect:!0})],t.prototype,"baseUrl",2),n([c({type:String,reflect:!1})],t.prototype,"apiKey",2),n([c({type:Number})],t.prototype,"storeId",2),n([c({type:String,reflect:!0})],t.prototype,"nonprofitId",2),n([c({type:String,reflect:!0})],t.prototype,"userId",2),n([c({type:String})],t.prototype,"lang",2),n([c({type:Boolean})],t.prototype,"debug",2),n([c({type:Object})],t.prototype,"discountCodes",2),n([h(".impact-card-title")],t.prototype,"impactTitleRefs",2),n([h(".impact-card-description")],t.prototype,"impactDescriptionRefs",2),n([h(".impact-link")],t.prototype,"impactLinkRefs",2),B(t);export{t as BeamImpactOverview};
180
+ `],o([c({type:String,reflect:!0})],t.prototype,"baseUrl",2),o([c({type:String,reflect:!1})],t.prototype,"apiKey",2),o([c({type:Number})],t.prototype,"storeId",2),o([c({type:String,reflect:!0})],t.prototype,"nonprofitId",2),o([c({type:String,reflect:!0})],t.prototype,"userId",2),o([c({type:String})],t.prototype,"lang",2),o([c({type:Boolean})],t.prototype,"debug",2),o([c({type:Object})],t.prototype,"discountCodes",2),o([c({type:String})],t.prototype,"transactionId",2),o([h(".impact-card-title")],t.prototype,"impactTitleRefs",2),o([h(".impact-card-description")],t.prototype,"impactDescriptionRefs",2),o([h(".impact-link")],t.prototype,"impactLinkRefs",2),B(t);export{t as BeamImpactOverview};
181
181
  //# sourceMappingURL=impact-overview.js.map
@@ -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: Object }) public discountCodes?: 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 lang: this.configLang,\n discountCodes: this.discountCodes && this.discountCodes.length > 0 ? this.discountCodes : 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 = this.impactDataController.data?.personal[0]?.share?.imageUrl;\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","r","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 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: 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 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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"}
@@ -18,6 +18,6 @@ import '../chunks/types-zbTZ8-KP.esm.js';
18
18
  import 'lodash';
19
19
  import '../chunks/share-button-hDn8fnBI.esm.js';
20
20
  import '../chunks/promo-pill-label-3bA1z-la.esm.js';
21
- import '../chunks/cart-contents-sUhfwLAz.esm.js';
22
- import '../chunks/openapi-spec--WoGcZgR.esm.js';
23
- import '../chunks/routes-qbvie7oI.esm.js';
21
+ import '../chunks/cart-contents-WB1BF6hG.esm.js';
22
+ import '../chunks/openapi-spec-GGEBbqAJ.esm.js';
23
+ import '../chunks/routes-wCCYf_uA.esm.js';
@@ -1,2 +1,2 @@
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-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-zzEfDMIn.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-YboJNgEe.esm.js";import"../chunks/vendor--f7lkyBk.esm.js";import"../chunks/share-button-AUvXGlky.esm.js";import"../chunks/share-button-CqTd80g8.esm.js";import"../chunks/responsive-KbDsZM6S.esm.js";import"../chunks/promo-pill-label-3Xtr5ALT.esm.js";import"../chunks/events-_4nImo3u.esm.js";import"../utils/network-listeners.esm.js";import"../utils/local-storage.esm.js";import"../utils/cookies.esm.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../chunks/checkbox-P2JYPqxl.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};
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-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-2U31lJuH.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-qmUjB2xP.esm.js";import"../chunks/vendor--f7lkyBk.esm.js";import"../chunks/share-button--FOuz6Ka.esm.js";import"../chunks/share-button-CqTd80g8.esm.js";import"../chunks/responsive-KbDsZM6S.esm.js";import"../chunks/promo-pill-label-3Xtr5ALT.esm.js";import"../chunks/events-_4nImo3u.esm.js";import"../utils/network-listeners.esm.js";import"../utils/local-storage.esm.js";import"../utils/cookies.esm.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../chunks/checkbox-P2JYPqxl.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 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-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-sc6xljWU.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-29N4dEDv.esm.js";import"../chunks/vendor--f7lkyBk.esm.js";import"../chunks/share-button-wmGQW923.esm.js";import"../chunks/share-button-CqTd80g8.esm.js";import"../chunks/responsive-KbDsZM6S.esm.js";import"../chunks/promo-pill-label-3Xtr5ALT.esm.js";import"../chunks/events-_4nImo3u.esm.js";import"../utils/network-listeners.js";import"../utils/local-storage.js";import"../utils/cookies.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../chunks/checkbox-P2JYPqxl.esm.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};
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-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-nWhY4Rgg.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-DDO9begn.esm.js";import"../chunks/vendor--f7lkyBk.esm.js";import"../chunks/share-button-t0XcS-C-.esm.js";import"../chunks/share-button-CqTd80g8.esm.js";import"../chunks/responsive-KbDsZM6S.esm.js";import"../chunks/promo-pill-label-3Xtr5ALT.esm.js";import"../chunks/events-_4nImo3u.esm.js";import"../utils/network-listeners.js";import"../utils/local-storage.js";import"../utils/cookies.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../chunks/checkbox-P2JYPqxl.esm.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
@@ -4,13 +4,13 @@ import * as lit_html from 'lit-html';
4
4
  import { L as LANGUAGES } from '../chunks/types-aju0qrRe.esm.js';
5
5
  import './redeem-transaction.js';
6
6
  import './impact-overview.js';
7
- import { T as TCart } from '../chunks/cart-contents-sUhfwLAz.esm.js';
7
+ import { T as TCart } from '../chunks/cart-contents-WB1BF6hG.esm.js';
8
8
  import 'lodash';
9
9
  import '../chunks/progress-bar-0VS_AmEf.esm.js';
10
10
  import '../chunks/promo-pill-label-3bA1z-la.esm.js';
11
11
  import './beam-partner-logos.js';
12
12
  import '../chunks/types-zbTZ8-KP.esm.js';
13
- import '../chunks/openapi-spec--WoGcZgR.esm.js';
13
+ import '../chunks/openapi-spec-GGEBbqAJ.esm.js';
14
14
  import '../chunks/share-button-hDn8fnBI.esm.js';
15
15
 
16
16
  declare class BeamPostPurchase extends LitElement {
@@ -63,6 +63,10 @@ declare class BeamPostPurchase extends LitElement {
63
63
  causeIconUrl: string | null;
64
64
  causeIconSelectedUrl: string | null;
65
65
  causeColor: string | null;
66
+ extensibility?: {
67
+ causeIconUrl?: string | null | undefined;
68
+ causeIconSelectedUrl?: string | null | undefined;
69
+ } | undefined;
66
70
  website: string | null;
67
71
  websiteLinkText: string;
68
72
  badge?: string | undefined;
@@ -88,6 +92,10 @@ declare class BeamPostPurchase extends LitElement {
88
92
  causeIconUrl: string | null;
89
93
  causeIconSelectedUrl: string | null;
90
94
  causeColor: string | null;
95
+ extensibility?: {
96
+ causeIconUrl?: string | null | undefined;
97
+ causeIconSelectedUrl?: string | null | undefined;
98
+ } | undefined;
91
99
  website: string | null;
92
100
  websiteLinkText: string;
93
101
  badge?: string | undefined;
@@ -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 u,getCookieValue as g}from"../utils/cookies.esm.js";import{c as C,d as f,e as v}from"../chunks/enforce-config-HksNiOMu.esm.js";import{createScopedLocalStorage as b}from"../utils/local-storage.esm.js";import{A as S,_ as U}from"../chunks/localize-IRs8JglT.esm.js";import{D as $,p as w}from"../chunks/routes-zzEfDMIn.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-3Xtr5ALT.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-YboJNgEe.esm.js";import"../chunks/share-button-AUvXGlky.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,D=Object.getOwnPropertyDescriptor,e=(d,r,i,n)=>{for(var a=n>1?void 0:n?D(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"],E=["storeId","postalCode","countryCode","cart","discountCodes","email","partnerUserId"];class t extends I{constructor(){super(...arguments),this.baseUrl=$,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.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"),u({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 S(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=g(h)||null,this.selectionId&&this.nonprofitId&&(this.activeWidget="impact-overview")}async updated(r){[...m,...E].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?U({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-3QHn3fwl.esm.js";import{M as y}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{deleteCookieValue as u,getCookieValue as g}from"../utils/cookies.esm.js";import{c as C,d as f,e as v}from"../chunks/enforce-config-HksNiOMu.esm.js";import{createScopedLocalStorage as b}from"../utils/local-storage.esm.js";import{A as S,_ as U}from"../chunks/localize-IRs8JglT.esm.js";import{D as $,p as w}from"../chunks/routes-2U31lJuH.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-3Xtr5ALT.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-qmUjB2xP.esm.js";import"../chunks/share-button--FOuz6Ka.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,D=Object.getOwnPropertyDescriptor,e=(d,r,i,n)=>{for(var a=n>1?void 0:n?D(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"],E=["storeId","postalCode","countryCode","cart","discountCodes","email","partnerUserId"];class t extends I{constructor(){super(...arguments),this.baseUrl=$,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.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"),u({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 S(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=g(h)||null,this.selectionId&&this.nonprofitId&&(this.activeWidget="impact-overview")}async updated(r){[...m,...E].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?U({error:this.transactionDataController.error}):"":this.activeWidget==="redeem-transaction"?l`
2
2
  <beam-redeem-transaction
3
3
  part="redeem-transaction"
4
4
  baseUrl="${this.baseUrl}"
@@ -22,6 +22,7 @@ import{g as o,t as s,h as I,y as l}from"../chunks/lit-3QHn3fwl.esm.js";import{M
22
22
  nonprofitId="${this.nonprofitId}"
23
23
  lang="${this.lang}"
24
24
  discountCodes="${JSON.stringify(this.discountCodes)}"
25
+ transactionId="${this.transactionId}"
25
26
  ?debug="${this.debug}"
26
27
  ></beam-impact-overview>
27
28
  `:""}}t.tagName="beam-post-purchase",t.styles=[C],e([o({type:String})],t.prototype,"baseUrl",2),e([o({type:String})],t.prototype,"apiKey",2),e([o({type:Number,reflect:!0})],t.prototype,"storeId",2),e([o({type:String})],t.prototype,"postalCode",2),e([o({type:String})],t.prototype,"countryCode",2),e([o({type:String})],t.prototype,"orderId",2),e([o({type:String})],t.prototype,"email",2),e([o({type:String})],t.prototype,"partnerUserId",2),e([o({type:Number})],t.prototype,"cartTotal",2),e([o({type:String})],t.prototype,"currencyCode",2),e([o({type:String})],t.prototype,"lang",2),e([o({type:Object})],t.prototype,"cart",2),e([o({type:Array})],t.prototype,"discountCodes",2),e([o({type:String})],t.prototype,"domain",2),e([o({type:Boolean})],t.prototype,"debug",2),e([s()],t.prototype,"activeWidget",2),e([s()],t.prototype,"nonprofitId",2),e([s()],t.prototype,"selectionId",2),e([s()],t.prototype,"cartId",2),e([s()],t.prototype,"beamCartId",2),e([s()],t.prototype,"userId",2),e([s()],t.prototype,"transactionId",2),f(t);export{t as BeamPostPurchase};