@beamimpact/web-sdk 1.55.2 → 1.55.5

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 (168) hide show
  1. package/dist/chunks/{_share-dialog-dependencies-oPfou2yz.esm.js → _share-dialog-dependencies-BVseSHLF.esm.js} +2 -2
  2. package/dist/chunks/{_share-dialog-dependencies-oPfou2yz.esm.js.map → _share-dialog-dependencies-BVseSHLF.esm.js.map} +1 -1
  3. package/dist/chunks/{_share-dialog-dependencies-CrXoTXJn.esm.js → _share-dialog-dependencies-o8GVV6gC.esm.js} +2 -2
  4. package/dist/chunks/{_share-dialog-dependencies-CrXoTXJn.esm.js.map → _share-dialog-dependencies-o8GVV6gC.esm.js.map} +1 -1
  5. package/dist/chunks/{index-ddFvDm5F.esm.js → index-BNHAn1OG.esm.js} +2 -2
  6. package/dist/chunks/{index-ddFvDm5F.esm.js.map → index-BNHAn1OG.esm.js.map} +1 -1
  7. package/dist/chunks/{index-Cb7UHLgc.esm.js → index-BWtaQiQa.esm.js} +16 -16
  8. package/dist/chunks/index-BWtaQiQa.esm.js.map +1 -0
  9. package/dist/chunks/{index-C0iBcnhO.esm.js → index-CIQxph2z.esm.js} +2 -2
  10. package/dist/chunks/index-CIQxph2z.esm.js.map +1 -0
  11. package/dist/chunks/index-CM59QOJP.esm.js +2 -0
  12. package/dist/chunks/index-CM59QOJP.esm.js.map +1 -0
  13. package/dist/chunks/{index-CXu50lhe.esm.js → index-CVNcspb0.esm.js} +2 -2
  14. package/dist/chunks/index-CVNcspb0.esm.js.map +1 -0
  15. package/dist/chunks/index-CYxuuwlv.esm.js +2 -0
  16. package/dist/chunks/index-CYxuuwlv.esm.js.map +1 -0
  17. package/dist/chunks/{index-BRwtueB0.esm.js → index-D1Pso4Mx.esm.js} +2 -2
  18. package/dist/chunks/{index-BRwtueB0.esm.js.map → index-D1Pso4Mx.esm.js.map} +1 -1
  19. package/dist/chunks/{index-BfJw1nDH.esm.js → index-DiNDMv3P.esm.js} +2 -2
  20. package/dist/chunks/index-DiNDMv3P.esm.js.map +1 -0
  21. package/dist/chunks/index-Dji1l8sT.esm.js +2 -0
  22. package/dist/chunks/index-Dji1l8sT.esm.js.map +1 -0
  23. package/dist/chunks/index-DsvbqqAd.esm.js +2 -0
  24. package/dist/chunks/index-DsvbqqAd.esm.js.map +1 -0
  25. package/dist/chunks/{index-CJLX6Cat.esm.js → index-IAa5EO-6.esm.js} +16 -16
  26. package/dist/chunks/index-IAa5EO-6.esm.js.map +1 -0
  27. package/dist/chunks/{index-DTnVjvy8.esm.js → index-MoK57RXU.esm.js} +2 -2
  28. package/dist/chunks/index-MoK57RXU.esm.js.map +1 -0
  29. package/dist/chunks/{order-page-qV21CdRx.esm.js → order-page-Brrq-LAx.esm.js} +2 -2
  30. package/dist/chunks/{order-page-qV21CdRx.esm.js.map → order-page-Brrq-LAx.esm.js.map} +1 -1
  31. package/dist/chunks/{order-page-BL4PDyMz.esm.js → order-page-C41TBLoV.esm.js} +2 -2
  32. package/dist/chunks/{order-page-BL4PDyMz.esm.js.map → order-page-C41TBLoV.esm.js.map} +1 -1
  33. package/dist/chunks/{promo-pill-label-CbW_Vcru.esm.js → promo-pill-label-BESRGLn7.esm.js} +3 -3
  34. package/dist/chunks/promo-pill-label-BESRGLn7.esm.js.map +1 -0
  35. package/dist/chunks/promo-pill-label-YOC47M3t.esm.js +16 -0
  36. package/dist/chunks/promo-pill-label-YOC47M3t.esm.js.map +1 -0
  37. package/dist/chunks/{routes-BAqFeD8S.esm.js → routes-BGx3ADhY.esm.js} +2 -2
  38. package/dist/chunks/{routes-BAqFeD8S.esm.js.map → routes-BGx3ADhY.esm.js.map} +1 -1
  39. package/dist/chunks/{routes-C75nl1NS.esm.js → routes-D0_9umO_.esm.js} +2 -2
  40. package/dist/chunks/{routes-C75nl1NS.esm.js.map → routes-D0_9umO_.esm.js.map} +1 -1
  41. package/dist/chunks/{share-button-BxWziSBl.esm.js → share-button-BmoEHT-C.esm.js} +2 -2
  42. package/dist/chunks/{share-button-BxWziSBl.esm.js.map → share-button-BmoEHT-C.esm.js.map} +1 -1
  43. package/dist/chunks/{share-button-BNp67BPn.esm.js → share-button-CV5FZFS9.esm.js} +2 -2
  44. package/dist/chunks/{share-button-BNp67BPn.esm.js.map → share-button-CV5FZFS9.esm.js.map} +1 -1
  45. package/dist/chunks/{share-button-BSHKEfJo.esm.js → share-button-D-c9M84d.esm.js} +2 -2
  46. package/dist/chunks/{share-button-BSHKEfJo.esm.js.map → share-button-D-c9M84d.esm.js.map} +1 -1
  47. package/dist/chunks/{share-button-DCMaVhyw.esm.js → share-button-DcaL0AYo.esm.js} +2 -2
  48. package/dist/chunks/{share-button-DCMaVhyw.esm.js.map → share-button-DcaL0AYo.esm.js.map} +1 -1
  49. package/dist/chunks/{update-cart-FKTMMTl5.esm.js → update-cart-CFB8JVgq.esm.js} +2 -2
  50. package/dist/chunks/{update-cart-FKTMMTl5.esm.js.map → update-cart-CFB8JVgq.esm.js.map} +1 -1
  51. package/dist/chunks/{update-cart-DPxyDjY9.esm.js → update-cart-Dsu0mPtW.esm.js} +2 -2
  52. package/dist/chunks/{update-cart-DPxyDjY9.esm.js.map → update-cart-Dsu0mPtW.esm.js.map} +1 -1
  53. package/dist/components/community-impact.esm.js +9 -9
  54. package/dist/components/community-impact.esm.js.map +1 -1
  55. package/dist/components/community-impact.js +9 -9
  56. package/dist/components/community-impact.js.map +1 -1
  57. package/dist/components/cumulative-impact.esm.js +1 -1
  58. package/dist/components/cumulative-impact.js +1 -1
  59. package/dist/components/impact-overview.esm.js +7 -7
  60. package/dist/components/impact-overview.esm.js.map +1 -1
  61. package/dist/components/impact-overview.js +7 -7
  62. package/dist/components/impact-overview.js.map +1 -1
  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 +1 -1
  66. package/dist/components/post-purchase.esm.js +1 -1
  67. package/dist/components/post-purchase.js +1 -1
  68. package/dist/components/product-details-page.d.ts +1 -1
  69. package/dist/components/product-details-page.esm.js +11 -11
  70. package/dist/components/product-details-page.esm.js.map +1 -1
  71. package/dist/components/product-details-page.js +11 -11
  72. package/dist/components/product-details-page.js.map +1 -1
  73. package/dist/components/redeem-transaction.d.ts +1 -1
  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 +1 -1
  77. package/dist/components/select-nonprofit.esm.js +9 -9
  78. package/dist/components/select-nonprofit.esm.js.map +1 -1
  79. package/dist/components/select-nonprofit.js +9 -9
  80. package/dist/components/select-nonprofit.js.map +1 -1
  81. package/dist/components/select-subscription-nonprofit.d.ts +1 -1
  82. package/dist/components/select-subscription-nonprofit.esm.js +7 -7
  83. package/dist/components/select-subscription-nonprofit.esm.js.map +1 -1
  84. package/dist/components/select-subscription-nonprofit.js +7 -7
  85. package/dist/components/select-subscription-nonprofit.js.map +1 -1
  86. package/dist/components/shopify.esm.js +1 -1
  87. package/dist/components/shopify.js +1 -1
  88. package/dist/components/social-share.esm.js +1 -1
  89. package/dist/components/social-share.js +1 -1
  90. package/dist/components/subscription-impact.d.ts +1 -1
  91. package/dist/components/subscription-impact.esm.js +3 -3
  92. package/dist/components/subscription-impact.esm.js.map +1 -1
  93. package/dist/components/subscription-impact.js +3 -3
  94. package/dist/components/subscription-impact.js.map +1 -1
  95. package/dist/components/subscription-management.d.ts +1 -1
  96. package/dist/components/subscription-management.esm.js +1 -1
  97. package/dist/components/subscription-management.esm.js.map +1 -1
  98. package/dist/components/subscription-management.js +1 -1
  99. package/dist/components/subscription-management.js.map +1 -1
  100. package/dist/index.esm.js +1 -1
  101. package/dist/index.js +1 -1
  102. package/dist/integrations/beam.esm.js +1 -1
  103. package/dist/integrations/beam.js +1 -1
  104. package/dist/integrations/cart.esm.js +1 -1
  105. package/dist/integrations/cart.js +1 -1
  106. package/dist/integrations/index.esm.js +1 -1
  107. package/dist/integrations/index.js +1 -1
  108. package/dist/integrations/logs.esm.js +1 -1
  109. package/dist/integrations/logs.js +1 -1
  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/react/community-impact.esm.js +1 -1
  115. package/dist/react/community-impact.js +1 -1
  116. package/dist/react/cumulative-impact.esm.js +1 -1
  117. package/dist/react/cumulative-impact.js +1 -1
  118. package/dist/react/impact-overview.esm.js +1 -1
  119. package/dist/react/impact-overview.js +1 -1
  120. package/dist/react/index.esm.js +1 -1
  121. package/dist/react/index.js +1 -1
  122. package/dist/react/post-purchase.esm.js +1 -1
  123. package/dist/react/post-purchase.js +1 -1
  124. package/dist/react/product-details-page.esm.js +1 -1
  125. package/dist/react/product-details-page.esm.js.map +1 -1
  126. package/dist/react/product-details-page.js +1 -1
  127. package/dist/react/product-details-page.js.map +1 -1
  128. package/dist/react/redeem-transaction.esm.js +1 -1
  129. package/dist/react/redeem-transaction.esm.js.map +1 -1
  130. package/dist/react/redeem-transaction.js +1 -1
  131. package/dist/react/redeem-transaction.js.map +1 -1
  132. package/dist/react/select-nonprofit.esm.js +1 -1
  133. package/dist/react/select-nonprofit.esm.js.map +1 -1
  134. package/dist/react/select-nonprofit.js +1 -1
  135. package/dist/react/select-nonprofit.js.map +1 -1
  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.esm.js.map +1 -1
  142. package/dist/react/subscription-impact.js +1 -1
  143. package/dist/react/subscription-impact.js.map +1 -1
  144. package/dist/react/subscription-management.esm.js +1 -1
  145. package/dist/react/subscription-management.esm.js.map +1 -1
  146. package/dist/react/subscription-management.js +1 -1
  147. package/dist/react/subscription-management.js.map +1 -1
  148. package/package.json +1 -1
  149. package/dist/chunks/index-BfJw1nDH.esm.js.map +0 -1
  150. package/dist/chunks/index-C0iBcnhO.esm.js.map +0 -1
  151. package/dist/chunks/index-CB2FlO76.esm.js +0 -2
  152. package/dist/chunks/index-CB2FlO76.esm.js.map +0 -1
  153. package/dist/chunks/index-CFuuHEma.esm.js +0 -2
  154. package/dist/chunks/index-CFuuHEma.esm.js.map +0 -1
  155. package/dist/chunks/index-CJLX6Cat.esm.js.map +0 -1
  156. package/dist/chunks/index-CXu50lhe.esm.js.map +0 -1
  157. package/dist/chunks/index-Cb7UHLgc.esm.js.map +0 -1
  158. package/dist/chunks/index-DQU56kcv.esm.js +0 -2
  159. package/dist/chunks/index-DQU56kcv.esm.js.map +0 -1
  160. package/dist/chunks/index-DTnVjvy8.esm.js.map +0 -1
  161. package/dist/chunks/index-O-hdOxQR.esm.js +0 -2
  162. package/dist/chunks/index-O-hdOxQR.esm.js.map +0 -1
  163. package/dist/chunks/promo-pill-label-CbW_Vcru.esm.js.map +0 -1
  164. package/dist/utils/uuid.d.ts +0 -8
  165. package/dist/utils/uuid.esm.js +0 -2
  166. package/dist/utils/uuid.esm.js.map +0 -1
  167. package/dist/utils/uuid.js +0 -2
  168. package/dist/utils/uuid.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"community-impact.esm.js","sources":["../../src/components/community-impact/strings.ts","../../src/components/community-impact/index.ts"],"sourcesContent":["export const strings = {\n en: {\n fundedTimes: ({ times = 0 }) => `Funded <b>${times}</b> ${times > 1 ? \"times\" : \"time\"} so far`,\n learnMore: () => `Learn more`,\n seeAll: () => `See All`,\n },\n fr: {\n fundedTimes: ({ times = 0 }) => `Financé <b>${times}</b> fois pour l'instant`,\n learnMore: () => `En savoir plus`,\n seeAll: () => `Voir tout`,\n },\n de: {\n fundedTimes: ({ times = 0 }) => `<b>${times}</b> Mal finanziert`,\n learnMore: () => `Mehr erfahren`,\n seeAll: () => `Alle anzeigen`,\n },\n es: {\n fundedTimes: ({ times = 0 }) => `Financiado <b>${times}</b> ${times > 1 ? \"vez\" : \"veces\"}`,\n learnMore: () => `Saber más`,\n seeAll: () => `Ver Todo`,\n },\n it: {\n fundedTimes: ({ times = 0 }) => `Finanziato <b>${times}</b> ${times > 1 ? \"volta\" : \"volte\"}`,\n learnMore: () => `Scopri di più`,\n seeAll: () => `Vedi Tutto`,\n },\n pl: {\n fundedTimes: ({ times = 0 }) => `Udzielono wsparcia <b>${times}</b> ${times > 1 ? \"razy\" : \"raz\"}`,\n learnMore: () => `Dowiedz się więcej`,\n seeAll: () => `Zobacz wszystko`,\n },\n ja: {\n fundedTimes: ({ times = 0 }) => `Funded <b>${times}</b> ${times > 1 ? \"times\" : \"time\"} so far`,\n learnMore: () => `Learn more`,\n seeAll: () => `See All`,\n },\n};\n","import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport \"../../shared/components/progress-bar\";\nimport \"../beam-partner-logos\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { BeamError, MissingConfig } from \"../../utils/beam-errors\";\nimport { TNumericId } from \"../../shared/types\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { partnerLogosConfigDefaults } from \"../beam-partner-logos\";\nimport { strings } from \"./strings\";\n\ntype RequiredConfig = {\n apiKey: string;\n chainId: TNumericId;\n};\n\ntype IAPIV3NonprofitImpact = Awaited<ReturnType<typeof getImpact>>[\"community\"][0];\n\n/**\n * Beam Impact Overview Widget\n * Displays a grid of cards highlighting progress against funding goals\n * for the non-profits the chain is supporting.\n */\nexport class BeamCommunityImpact extends LitElement {\n static tagName = \"beam-community-impact\";\n\n @property({ type: String }) public apiKey?: RequiredConfig[\"apiKey\"];\n\n @property({ type: Number }) public chainId?: RequiredConfig[\"chainId\"];\n\n @property({ type: String }) public baseUrl = DEFAULT_BASE_URL;\n\n @property({ type: String }) public cardStyle: \"icon\" | \"image\" = \"image\";\n\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n\n @property({ type: Boolean }) public debug = false;\n\n @property({ type: Boolean }) public draftConfig = false;\n\n @state() private selectedFilter: string | null = null;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n private getImpactData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"chainId\"], this)) throw new MissingConfig();\n const res = getImpact({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n queryParams: {\n chainId: this.chainId,\n personalImpactLimit: 0,\n widgetName: WIDGET_NAMES.community_impact,\n version: \"1.0.0\",\n lang: this.configLang,\n draftConfig: this.draftConfig,\n },\n });\n\n return res;\n };\n\n private impactDataController = new AsyncController<typeof this.getImpactData>(this, this.getImpactData);\n\n async updated(changedProperties: Map<string, unknown>) {\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 = [\"chainId\", \"baseUrl\", \"lang\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n this.impactDataController.exec();\n break;\n }\n }\n }\n\n private renderFilterTabs({ nonprofits }: { nonprofits: IAPIV3NonprofitImpact[] }) {\n const uniqueFilters = Array.from(new Set(nonprofits.flatMap((n) => n.filters || [])));\n if (uniqueFilters.length === 0) return \"\";\n const handleSeeAllFocus = () => {\n this.selectedFilter = null;\n };\n const handleFilterFocus = (filter: string) => {\n if (this.selectedFilter === filter) {\n this.selectedFilter = null;\n } else {\n this.selectedFilter = filter;\n }\n };\n return html` <div\n class=\"beam-filter-tabs\"\n part=\"filters\"\n style=\"display: inline-flex; flex-wrap: wrap; gap: 0.5em 1em\"\n >\n <span\n tabindex=\"0\"\n style=\"${styleMap({\n \"padding-bottom\": \"1px\",\n \"border-bottom-width\": \"2px\",\n \"border-bottom-style\": \"solid\",\n \"border-bottom-color\": this.selectedFilter === null ? \"currentColor\" : \"transparent\",\n cursor: \"pointer\",\n })}\"\n @click=${handleSeeAllFocus}\n @keydown=${(evt: KeyboardEvent) => {\n if ([\"Enter\", \" \"].includes(evt.key)) {\n evt.preventDefault();\n handleSeeAllFocus();\n }\n }}\n >${strings[this.configLang].seeAll()}</span\n >\n ${uniqueFilters.map(\n (filter: string) =>\n html`<span\n tabindex=\"0\"\n @click=${() => handleFilterFocus(filter)}\n @keydown=${(evt: KeyboardEvent) => {\n if ([\"Enter\", \" \"].includes(evt.key)) {\n evt.preventDefault();\n handleFilterFocus(filter);\n }\n }}\n style=\"${styleMap({\n \"padding-bottom\": \"1px\",\n \"border-bottom-width\": \"2px\",\n \"border-bottom-style\": \"solid\",\n \"border-bottom-color\": this.selectedFilter === filter ? \"currentColor\" : \"transparent\",\n cursor: \"pointer\",\n })}\"\n >${filter}</span\n >`\n )}\n </div>`;\n }\n\n private renderImageCard = (data: IAPIV3NonprofitImpact) => {\n const nonprofitImageAltText = `${data.nonprofit?.name} image`;\n const learnMoreLinkAriaLabel = `Learn more about ${data.nonprofit?.name}`;\n\n return html`\n <div class=\"image-card\" part=\"nonprofit-card\" style=\"display: flex; flex-direction: column;\">\n <div\n class=\"image-card-image-box\"\n style=\"background-image: url('${data.imageUrl}');\"\n aria-label=\"${nonprofitImageAltText}\"\n >\n <p class=\"image-card-cause\">${localizeUserString(this.configLang, data.nonprofit?.cause || \"\")}</p>\n <h2 class=\"image-card-name\">${localizeUserString(this.configLang, data.nonprofit?.name)}</h2>\n </div>\n <div\n style=\"padding: 5px 15px 15px; flex: 1 1 auto; border-radius: 0px; border: none; display: flex; flex-direction: column;\"\n >\n <div class=\"image-card-progress\" style=\"display: flex; align-items: center;\">\n <beam-progress-bar style=\"flex-grow: 1;\" value=\"${data.impact?.goalProgressPercentage}\"></beam-progress-bar>\n <span class=\"image-card-progressText\" style=\"margin-left: 20px;\"\n >${localizeUserString(this.configLang, data.impact?.goalProgressText)}</span\n >\n </div>\n <div class=\"image-card-description\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.description || \"\"))}\n </div>\n <div style=\"display: flex; align-items: end; flex-wrap: wrap; gap: 10px; flex: 1;\" class=\"image-card-footer\">\n <div class=\"image-card-goal-completion\" style=\"flex-grow: 1;\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.goalCompletionText))}\n </div>\n <a\n href=\"${data.nonprofit?.website}\"\n target=\"_blank\"\n class=\"image-card-link\"\n style=\"color: var(--beam-CommunityImpact-imageCard-link-color, inherit); white-space: nowrap\"\n aria-label=\"${learnMoreLinkAriaLabel}\"\n >\n ${localizeUserString(this.configLang, data.nonprofit?.websiteLinkText)}<span class=\"image-card-link-arrow\"\n >&nbsp;&rsaquo;</span\n >\n </a>\n </div>\n </div>\n </div>\n `;\n };\n\n private renderIconCard = (data: IAPIV3NonprofitImpact) => {\n const nonprofitIconAltText = `${data.nonprofit?.name} icon`;\n const learnMoreLinkAriaLabel = `Learn more about ${data.nonprofit?.name}`;\n\n return html`\n <div class=\"icon-card\" part=\"nonprofit-card\" style=\"display: flex; flex-direction: column;\">\n <img class=\"icon-card-icon\" src=\"${data.nonprofit?.causeIconUrl}\" alt=\"${nonprofitIconAltText}\" />\n <p class=\"icon-card-cause\">${localizeUserString(this.configLang, data.nonprofit?.cause ?? \"\")}</p>\n <h2 class=\"icon-card-name\">${localizeUserString(this.configLang, data.nonprofit?.name ?? \"\")}</h2>\n <div class=\"icon-card-description\" part=\"nonprofit-card-description\" style=\"flex: 1;\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.description || \"\"))}\n </div>\n <div class=\"icon-card-footer\" style=\"width: 100%; text-align: center;\">\n <div class=\"icon-card-progress\" style=\"display: flex; align-items: center; width: 100%;\">\n <beam-progress-bar style=\"flex: 1 0;\" value=\"${data.impact?.goalProgressPercentage}\"></beam-progress-bar>\n <span style=\"text-align: right; flex: 0 1; white-space: nowrap\" class=\"icon-card-progressText\"\n >${localizeUserString(this.configLang, data.impact?.goalProgressText)}</span\n >\n </div>\n <div class=\"icon-card-goal-completion\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.goalCompletionText))}\n </div>\n <a\n href=\"${data.nonprofit?.website}\"\n target=\"_blank\"\n class=\"icon-card-link\"\n style=\"color: var(--beam-CommunityImpact-iconCard-link-color, inherit); display: block\"\n aria-label=\"${learnMoreLinkAriaLabel}\"\n >${localizeUserString(this.configLang, data.nonprofit?.websiteLinkText) ||\n strings[this.configLang].learnMore()}<span class=\"icon-card-link-arrow\">&nbsp;&rsaquo;</span>\n </a>\n ${data.impact?.goalCompletionText === \"\" ? html`<div class=\"icon-card-goal-completion\">&nbsp;</div>` : \"\"}\n </div>\n </div>\n `;\n };\n\n private renderCards = ({ nonprofits }: { nonprofits: IAPIV3NonprofitImpact[] }) => {\n return html`\n <div class=\"beam-nonprofit-${this.cardStyle}-cards\" part=\"nonprofit-cards\">\n ${nonprofits?.map(this.cardStyle === \"image\" ? this.renderImageCard : this.renderIconCard)}\n </div>\n `;\n };\n\n render() {\n const { selectedFilter } = this;\n const { data, error, loading } = 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 BeamError(\"Missing data\") });\n }\n return \"\";\n }\n const { community: nonprofits } = data;\n const filteredNonprofits = selectedFilter\n ? nonprofits.filter((np) => np.filters?.includes(selectedFilter))\n : nonprofits;\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <beam-partner-logos\n part=\"logos\"\n partnerLogoUrl=\"${data.chain.logoUrl}\"\n partnerName=\"${data.chain.name}\"\n ></beam-partner-logos>\n\n ${this.renderFilterTabs({ nonprofits })} ${this.renderCards({ nonprofits: filteredNonprofits })}\n `;\n }\n\n public get cssVariables() {\n const defaults: Record<string, string> = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"14px\",\n \"--beam-lineHeight\": \"1\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n ...partnerLogosConfigDefaults,\n ...progressBarConfigDefaults,\n \"--beam-CommunityImpact-filterTabs-textalign\": \"left\",\n \"--beam-CommunityImpact-filterTabs-marginBottom\": \"20px\",\n /* Image Card Styles */\n \"--beam-CommunityImpact-imageCard-borderColor\": \"currentColor\",\n \"--beam-CommunityImpact-imageCard-borderRadius\": \"0\",\n \"--beam-CommunityImpact-imageCard-borderWidth\": \"1px\",\n \"--beam-CommunityImpact-imageCard-backgroundColor\": \"inherit\",\n \"--beam-CommunityImpact-imageCard-foregroundColor\": \"inherit\",\n ...defineCustomText(\"--beam-CommunityImpact-filterTabs\", {\n fontSize: \"16px\",\n marginTop: \"10px\",\n fontWeight: \"bold\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-cause\", {\n fontSize: \"14px\",\n textTransform: \"uppercase\",\n color: \"#fff\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-name\", {\n fontSize: \"22px\",\n marginTop: \"0\",\n color: \"#fff\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-description\", {\n marginTop: \"10px\",\n lineHeight: \"1.3\",\n }),\n \"--beam-CommunityImpact-imageCard-link-color\": \"inherit\",\n \"--beam-CommunityImpact-imageCard-linkArrow-display\": \"none\",\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-link\", {\n fontSize: \"12px\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-goalCompletion\", {\n fontSize: \"12px\",\n }),\n \"--beam-CommunityImpact-imageCard-goalCompletion-fontStyle\": \"italic\",\n \"--beam-CommunityImpact-imageCard-progress-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-progressText\"),\n \"--beam-CommunityImpact-imageCard-footer-marginTop\": \"10px\",\n /* Icon Card Styles */\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-cause\", {\n marginTop: \"10px\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-name\", {\n marginTop: \"5px\",\n fontWeight: \"bold\",\n }),\n \"--beam-CommunityImpact-iconCard-progress-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-progressText\"),\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-description\", {\n marginTop: \"10px\",\n lineHeight: \"1.3\",\n }),\n \"--beam-CommunityImpact-iconCard-description-textAlign\": \"left\",\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-goalCompletion\", {\n marginTop: \"10px\",\n }),\n \"--beam-CommunityImpact-iconCard-link-color\": \"inherit\",\n \"--beam-CommunityImpact-iconCard-linkArrow-display\": \"none\",\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-link\", {\n marginTop: \"5px\",\n }),\n };\n\n const cardCount = this.impactDataController.data?.community.length || 0;\n const columnCount = cardCount === 3 ? 3 : this.cardStyle === \"icon\" ? 4 : 2;\n defaults[\"--beam-CommunityImpact-columns\"] = columnCount.toString();\n defaults[\"--beam-CommunityImpact-columns-minWidth\"] = this.cardStyle === \"image\" ? \"300px\" : \"200px\";\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 css`\n :host {\n display: block;\n font-family: var(--beam-fontFamily, inherit);\n font-style: var(--beam-fontStyle, inherit);\n font-size: var(--beam-fontSize, inherit);\n color: var(--beam-textColor, inherit);\n background-color: var(--beam-backgroundColor, inherit);\n line-height: var(--beam-lineHeight, 1);\n word-break: normal;\n }\n\n .beam-filter-tabs {\n ${useCustomText(\"--beam-CommunityImpact-filterTabs\")}\n margin-bottom: var(--beam-CommunityImpact-filterTabs-marginBottom, 10px);\n text-align: var(--beam-CommunityImpact-filterTabs-textalign, left);\n }\n\n .beam-nonprofit-image-cards,\n .beam-nonprofit-icon-cards {\n margin-top: 10px;\n }\n\n ${cssCardGrid({\n gap: \"20px\",\n className: \"beam-nonprofit-image-cards\",\n columnCount: \"var(--beam-CommunityImpact-columns)\",\n itemMinWidth: \"var(--beam-CommunityImpact-columns-minWidth)\",\n })}\n\n ${cssCardGrid({\n gap: \"40px\",\n className: \"beam-nonprofit-icon-cards\",\n columnCount: \"var(--beam-CommunityImpact-columns)\",\n itemMinWidth: \"var(--beam-CommunityImpact-columns-minWidth)\",\n })}\n\n /* Image Style Cards */\n\n .image-card {\n overflow-wrap: break-word;\n border-color: var(--beam-CommunityImpact-imageCard-borderColor);\n border-style: solid;\n border-width: var(--beam-CommunityImpact-imageCard-borderWidth);\n border-radius: var(--beam-CommunityImpact-imageCard-borderRadius);\n overflow: hidden;\n background-color: var(--beam-CommunityImpact-imageCard-backgroundColor);\n color: var(--beam-CommunityImpact-imageCard-foregroundColor);\n }\n\n .image-card-image-box {\n height: 200px;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n padding: 0 24px 16px;\n overflow-wrap: break-word;\n background-color: #555;\n background-blend-mode: overlay;\n background-size: cover;\n background-repeat: no-repeat;\n }\n\n .image-card-cause {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-cause\")}\n }\n\n .image-card-name {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-name\")}\n }\n\n .image-card-progress {\n margin-top: var(--beam-CommunityImpact-imageCard-progress-marginTop);\n }\n\n .image-card-progressText {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-progressText\")}\n }\n\n .image-card-description {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-description\")}\n }\n\n .image-card-link {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-link\")}\n }\n\n .image-card-link-arrow {\n display: var(--beam-CommunityImpact-imageCard-linkArrow-display, \"none\");\n }\n\n .image-card-goal-completion {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-goalCompletion\")}\n font-style: var(--beam-CommunityImpact-imageCard-goalCompletion-fontStyle, italic);\n }\n\n .image-card-footer {\n margin-top: var(--beam-CommunityImpact-imageCard-footer-marginTop);\n }\n\n /* Icon Style Cards */\n\n .icon-card {\n display: flex;\n flex-direction: column;\n justify-content: start;\n align-items: center;\n }\n\n .icon-card-icon {\n height: 50px;\n }\n\n .icon-card-cause {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-cause\")}\n }\n\n .icon-card-name {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-name\")}\n }\n\n .icon-card-progress {\n margin-top: var(--beam-CommunityImpact-iconCard-progress-marginTop);\n }\n\n .icon-card-progressText {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-progressText\")}\n margin-left: 10px;\n }\n\n .icon-card-description {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-description\")}\n text-align: var(--beam-CommunityImpact-iconCard-description-textAlign, left);\n }\n\n .icon-card-link {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-link\")}\n }\n\n .icon-card-link-arrow {\n display: var(--beam-CommunityImpact-iconCard-linkArrow-display, \"none\");\n }\n\n .icon-card-goal-completion {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-goalCompletion\")}\n font-style: var(--beam-CommunityImpact-iconCard-goalCompletion-fontStyle, italic);\n }\n\n .icon-card-footer {\n margin-top: var(--beam-CommunityImpact-iconCard-footer-marginTop);\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamCommunityImpact);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-community-impact\": BeamCommunityImpact;\n }\n}\n"],"names":["strings","times","BeamCommunityImpact","LitElement","DEFAULT_BASE_URL","enforceConfig","getImpact","WIDGET_NAMES","AsyncController","data","nonprofitImageAltText","learnMoreLinkAriaLabel","html","localizeUserString","unsafeHTML","nonprofitIconAltText","nonprofits","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","uniqueFilters","n","handleSeeAllFocus","handleFilterFocus","filter","styleMap","evt","selectedFilter","error","loading","_loading","_errorMessage","BeamError","filteredNonprofits","np","defaults","partnerLogosConfigDefaults","progressBarConfigDefaults","defineCustomText","columnCount","remoteConfig","config","_cssVariableMap","cssReset","css","useCustomText","cssCardGrid","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
1
+ {"version":3,"file":"community-impact.esm.js","sources":["../../src/components/community-impact/strings.ts","../../src/components/community-impact/index.ts"],"sourcesContent":["export const strings = {\n en: {\n fundedTimes: ({ times = 0 }) => `Funded <b>${times}</b> ${times > 1 ? \"times\" : \"time\"} so far`,\n learnMore: () => `Learn more`,\n seeAll: () => `See All`,\n },\n fr: {\n fundedTimes: ({ times = 0 }) => `Financé <b>${times}</b> fois pour l'instant`,\n learnMore: () => `En savoir plus`,\n seeAll: () => `Voir tout`,\n },\n de: {\n fundedTimes: ({ times = 0 }) => `<b>${times}</b> Mal finanziert`,\n learnMore: () => `Mehr erfahren`,\n seeAll: () => `Alle anzeigen`,\n },\n es: {\n fundedTimes: ({ times = 0 }) => `Financiado <b>${times}</b> ${times > 1 ? \"vez\" : \"veces\"}`,\n learnMore: () => `Saber más`,\n seeAll: () => `Ver Todo`,\n },\n it: {\n fundedTimes: ({ times = 0 }) => `Finanziato <b>${times}</b> ${times > 1 ? \"volta\" : \"volte\"}`,\n learnMore: () => `Scopri di più`,\n seeAll: () => `Vedi Tutto`,\n },\n pl: {\n fundedTimes: ({ times = 0 }) => `Udzielono wsparcia <b>${times}</b> ${times > 1 ? \"razy\" : \"raz\"}`,\n learnMore: () => `Dowiedz się więcej`,\n seeAll: () => `Zobacz wszystko`,\n },\n ja: {\n fundedTimes: ({ times = 0 }) => `現在までに<b>${times}</b>回、を達成`,\n learnMore: () => `詳しく見る`,\n seeAll: () => `すべて見る`,\n },\n};\n","import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport \"../../shared/components/progress-bar\";\nimport \"../beam-partner-logos\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { BeamError, MissingConfig } from \"../../utils/beam-errors\";\nimport { TNumericId } from \"../../shared/types\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { partnerLogosConfigDefaults } from \"../beam-partner-logos\";\nimport { strings } from \"./strings\";\n\ntype RequiredConfig = {\n apiKey: string;\n chainId: TNumericId;\n};\n\ntype IAPIV3NonprofitImpact = Awaited<ReturnType<typeof getImpact>>[\"community\"][0];\n\n/**\n * Beam Impact Overview Widget\n * Displays a grid of cards highlighting progress against funding goals\n * for the non-profits the chain is supporting.\n */\nexport class BeamCommunityImpact extends LitElement {\n static tagName = \"beam-community-impact\";\n\n @property({ type: String }) public apiKey?: RequiredConfig[\"apiKey\"];\n\n @property({ type: Number }) public chainId?: RequiredConfig[\"chainId\"];\n\n @property({ type: String }) public baseUrl = DEFAULT_BASE_URL;\n\n @property({ type: String }) public cardStyle: \"icon\" | \"image\" = \"image\";\n\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n\n @property({ type: Boolean }) public debug = false;\n\n @property({ type: Boolean }) public draftConfig = false;\n\n @state() private selectedFilter: string | null = null;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n private getImpactData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"chainId\"], this)) throw new MissingConfig();\n const res = getImpact({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n queryParams: {\n chainId: this.chainId,\n personalImpactLimit: 0,\n widgetName: WIDGET_NAMES.community_impact,\n version: \"1.0.0\",\n lang: this.configLang,\n draftConfig: this.draftConfig,\n },\n });\n\n return res;\n };\n\n private impactDataController = new AsyncController<typeof this.getImpactData>(this, this.getImpactData);\n\n async updated(changedProperties: Map<string, unknown>) {\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 = [\"chainId\", \"baseUrl\", \"lang\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n this.impactDataController.exec();\n break;\n }\n }\n }\n\n private renderFilterTabs({ nonprofits }: { nonprofits: IAPIV3NonprofitImpact[] }) {\n const uniqueFilters = Array.from(new Set(nonprofits.flatMap((n) => n.filters || [])));\n if (uniqueFilters.length === 0) return \"\";\n const handleSeeAllFocus = () => {\n this.selectedFilter = null;\n };\n const handleFilterFocus = (filter: string) => {\n if (this.selectedFilter === filter) {\n this.selectedFilter = null;\n } else {\n this.selectedFilter = filter;\n }\n };\n return html` <div\n class=\"beam-filter-tabs\"\n part=\"filters\"\n style=\"display: inline-flex; flex-wrap: wrap; gap: 0.5em 1em\"\n >\n <span\n tabindex=\"0\"\n style=\"${styleMap({\n \"padding-bottom\": \"1px\",\n \"border-bottom-width\": \"2px\",\n \"border-bottom-style\": \"solid\",\n \"border-bottom-color\": this.selectedFilter === null ? \"currentColor\" : \"transparent\",\n cursor: \"pointer\",\n })}\"\n @click=${handleSeeAllFocus}\n @keydown=${(evt: KeyboardEvent) => {\n if ([\"Enter\", \" \"].includes(evt.key)) {\n evt.preventDefault();\n handleSeeAllFocus();\n }\n }}\n >${strings[this.configLang].seeAll()}</span\n >\n ${uniqueFilters.map(\n (filter: string) =>\n html`<span\n tabindex=\"0\"\n @click=${() => handleFilterFocus(filter)}\n @keydown=${(evt: KeyboardEvent) => {\n if ([\"Enter\", \" \"].includes(evt.key)) {\n evt.preventDefault();\n handleFilterFocus(filter);\n }\n }}\n style=\"${styleMap({\n \"padding-bottom\": \"1px\",\n \"border-bottom-width\": \"2px\",\n \"border-bottom-style\": \"solid\",\n \"border-bottom-color\": this.selectedFilter === filter ? \"currentColor\" : \"transparent\",\n cursor: \"pointer\",\n })}\"\n >${filter}</span\n >`\n )}\n </div>`;\n }\n\n private renderImageCard = (data: IAPIV3NonprofitImpact) => {\n const nonprofitImageAltText = `${data.nonprofit?.name} image`;\n const learnMoreLinkAriaLabel = `Learn more about ${data.nonprofit?.name}`;\n\n return html`\n <div class=\"image-card\" part=\"nonprofit-card\" style=\"display: flex; flex-direction: column;\">\n <div\n class=\"image-card-image-box\"\n style=\"background-image: url('${data.imageUrl}');\"\n aria-label=\"${nonprofitImageAltText}\"\n >\n <p class=\"image-card-cause\">${localizeUserString(this.configLang, data.nonprofit?.cause || \"\")}</p>\n <h2 class=\"image-card-name\">${localizeUserString(this.configLang, data.nonprofit?.name)}</h2>\n </div>\n <div\n style=\"padding: 5px 15px 15px; flex: 1 1 auto; border-radius: 0px; border: none; display: flex; flex-direction: column;\"\n >\n <div class=\"image-card-progress\" style=\"display: flex; align-items: center;\">\n <beam-progress-bar style=\"flex-grow: 1;\" value=\"${data.impact?.goalProgressPercentage}\"></beam-progress-bar>\n <span class=\"image-card-progressText\" style=\"margin-left: 20px;\"\n >${localizeUserString(this.configLang, data.impact?.goalProgressText)}</span\n >\n </div>\n <div class=\"image-card-description\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.description || \"\"))}\n </div>\n <div style=\"display: flex; align-items: end; flex-wrap: wrap; gap: 10px; flex: 1;\" class=\"image-card-footer\">\n <div class=\"image-card-goal-completion\" style=\"flex-grow: 1;\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.goalCompletionText))}\n </div>\n <a\n href=\"${data.nonprofit?.website}\"\n target=\"_blank\"\n class=\"image-card-link\"\n style=\"color: var(--beam-CommunityImpact-imageCard-link-color, inherit); white-space: nowrap\"\n aria-label=\"${learnMoreLinkAriaLabel}\"\n >\n ${localizeUserString(this.configLang, data.nonprofit?.websiteLinkText)}<span class=\"image-card-link-arrow\"\n >&nbsp;&rsaquo;</span\n >\n </a>\n </div>\n </div>\n </div>\n `;\n };\n\n private renderIconCard = (data: IAPIV3NonprofitImpact) => {\n const nonprofitIconAltText = `${data.nonprofit?.name} icon`;\n const learnMoreLinkAriaLabel = `Learn more about ${data.nonprofit?.name}`;\n\n return html`\n <div class=\"icon-card\" part=\"nonprofit-card\" style=\"display: flex; flex-direction: column;\">\n <img class=\"icon-card-icon\" src=\"${data.nonprofit?.causeIconUrl}\" alt=\"${nonprofitIconAltText}\" />\n <p class=\"icon-card-cause\">${localizeUserString(this.configLang, data.nonprofit?.cause ?? \"\")}</p>\n <h2 class=\"icon-card-name\">${localizeUserString(this.configLang, data.nonprofit?.name ?? \"\")}</h2>\n <div class=\"icon-card-description\" part=\"nonprofit-card-description\" style=\"flex: 1;\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.description || \"\"))}\n </div>\n <div class=\"icon-card-footer\" style=\"width: 100%; text-align: center;\">\n <div class=\"icon-card-progress\" style=\"display: flex; align-items: center; width: 100%;\">\n <beam-progress-bar style=\"flex: 1 0;\" value=\"${data.impact?.goalProgressPercentage}\"></beam-progress-bar>\n <span style=\"text-align: right; flex: 0 1; white-space: nowrap\" class=\"icon-card-progressText\"\n >${localizeUserString(this.configLang, data.impact?.goalProgressText)}</span\n >\n </div>\n <div class=\"icon-card-goal-completion\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.goalCompletionText))}\n </div>\n <a\n href=\"${data.nonprofit?.website}\"\n target=\"_blank\"\n class=\"icon-card-link\"\n style=\"color: var(--beam-CommunityImpact-iconCard-link-color, inherit); display: block\"\n aria-label=\"${learnMoreLinkAriaLabel}\"\n >${localizeUserString(this.configLang, data.nonprofit?.websiteLinkText) ||\n strings[this.configLang].learnMore()}<span class=\"icon-card-link-arrow\">&nbsp;&rsaquo;</span>\n </a>\n ${data.impact?.goalCompletionText === \"\" ? html`<div class=\"icon-card-goal-completion\">&nbsp;</div>` : \"\"}\n </div>\n </div>\n `;\n };\n\n private renderCards = ({ nonprofits }: { nonprofits: IAPIV3NonprofitImpact[] }) => {\n return html`\n <div class=\"beam-nonprofit-${this.cardStyle}-cards\" part=\"nonprofit-cards\">\n ${nonprofits?.map(this.cardStyle === \"image\" ? this.renderImageCard : this.renderIconCard)}\n </div>\n `;\n };\n\n render() {\n const { selectedFilter } = this;\n const { data, error, loading } = 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 BeamError(\"Missing data\") });\n }\n return \"\";\n }\n const { community: nonprofits } = data;\n const filteredNonprofits = selectedFilter\n ? nonprofits.filter((np) => np.filters?.includes(selectedFilter))\n : nonprofits;\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <beam-partner-logos\n part=\"logos\"\n partnerLogoUrl=\"${data.chain.logoUrl}\"\n partnerName=\"${data.chain.name}\"\n ></beam-partner-logos>\n\n ${this.renderFilterTabs({ nonprofits })} ${this.renderCards({ nonprofits: filteredNonprofits })}\n `;\n }\n\n public get cssVariables() {\n const defaults: Record<string, string> = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"14px\",\n \"--beam-lineHeight\": \"1\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n ...partnerLogosConfigDefaults,\n ...progressBarConfigDefaults,\n \"--beam-CommunityImpact-filterTabs-textalign\": \"left\",\n \"--beam-CommunityImpact-filterTabs-marginBottom\": \"20px\",\n /* Image Card Styles */\n \"--beam-CommunityImpact-imageCard-borderColor\": \"currentColor\",\n \"--beam-CommunityImpact-imageCard-borderRadius\": \"0\",\n \"--beam-CommunityImpact-imageCard-borderWidth\": \"1px\",\n \"--beam-CommunityImpact-imageCard-backgroundColor\": \"inherit\",\n \"--beam-CommunityImpact-imageCard-foregroundColor\": \"inherit\",\n ...defineCustomText(\"--beam-CommunityImpact-filterTabs\", {\n fontSize: \"16px\",\n marginTop: \"10px\",\n fontWeight: \"bold\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-cause\", {\n fontSize: \"14px\",\n textTransform: \"uppercase\",\n color: \"#fff\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-name\", {\n fontSize: \"22px\",\n marginTop: \"0\",\n color: \"#fff\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-description\", {\n marginTop: \"10px\",\n lineHeight: \"1.3\",\n }),\n \"--beam-CommunityImpact-imageCard-link-color\": \"inherit\",\n \"--beam-CommunityImpact-imageCard-linkArrow-display\": \"none\",\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-link\", {\n fontSize: \"12px\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-goalCompletion\", {\n fontSize: \"12px\",\n }),\n \"--beam-CommunityImpact-imageCard-goalCompletion-fontStyle\": \"italic\",\n \"--beam-CommunityImpact-imageCard-progress-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-progressText\"),\n \"--beam-CommunityImpact-imageCard-footer-marginTop\": \"10px\",\n /* Icon Card Styles */\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-cause\", {\n marginTop: \"10px\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-name\", {\n marginTop: \"5px\",\n fontWeight: \"bold\",\n }),\n \"--beam-CommunityImpact-iconCard-progress-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-progressText\"),\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-description\", {\n marginTop: \"10px\",\n lineHeight: \"1.3\",\n }),\n \"--beam-CommunityImpact-iconCard-description-textAlign\": \"left\",\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-goalCompletion\", {\n marginTop: \"10px\",\n }),\n \"--beam-CommunityImpact-iconCard-link-color\": \"inherit\",\n \"--beam-CommunityImpact-iconCard-linkArrow-display\": \"none\",\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-link\", {\n marginTop: \"5px\",\n }),\n };\n\n const cardCount = this.impactDataController.data?.community.length || 0;\n const columnCount = cardCount === 3 ? 3 : this.cardStyle === \"icon\" ? 4 : 2;\n defaults[\"--beam-CommunityImpact-columns\"] = columnCount.toString();\n defaults[\"--beam-CommunityImpact-columns-minWidth\"] = this.cardStyle === \"image\" ? \"300px\" : \"200px\";\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 css`\n :host {\n display: block;\n font-family: var(--beam-fontFamily, inherit);\n font-style: var(--beam-fontStyle, inherit);\n font-size: var(--beam-fontSize, inherit);\n color: var(--beam-textColor, inherit);\n background-color: var(--beam-backgroundColor, inherit);\n line-height: var(--beam-lineHeight, 1);\n word-break: normal;\n }\n\n .beam-filter-tabs {\n ${useCustomText(\"--beam-CommunityImpact-filterTabs\")}\n margin-bottom: var(--beam-CommunityImpact-filterTabs-marginBottom, 10px);\n text-align: var(--beam-CommunityImpact-filterTabs-textalign, left);\n }\n\n .beam-nonprofit-image-cards,\n .beam-nonprofit-icon-cards {\n margin-top: 10px;\n }\n\n ${cssCardGrid({\n gap: \"20px\",\n className: \"beam-nonprofit-image-cards\",\n columnCount: \"var(--beam-CommunityImpact-columns)\",\n itemMinWidth: \"var(--beam-CommunityImpact-columns-minWidth)\",\n })}\n\n ${cssCardGrid({\n gap: \"40px\",\n className: \"beam-nonprofit-icon-cards\",\n columnCount: \"var(--beam-CommunityImpact-columns)\",\n itemMinWidth: \"var(--beam-CommunityImpact-columns-minWidth)\",\n })}\n\n /* Image Style Cards */\n\n .image-card {\n overflow-wrap: break-word;\n border-color: var(--beam-CommunityImpact-imageCard-borderColor);\n border-style: solid;\n border-width: var(--beam-CommunityImpact-imageCard-borderWidth);\n border-radius: var(--beam-CommunityImpact-imageCard-borderRadius);\n overflow: hidden;\n background-color: var(--beam-CommunityImpact-imageCard-backgroundColor);\n color: var(--beam-CommunityImpact-imageCard-foregroundColor);\n }\n\n .image-card-image-box {\n height: 200px;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n padding: 0 24px 16px;\n overflow-wrap: break-word;\n background-color: #555;\n background-blend-mode: overlay;\n background-size: cover;\n background-repeat: no-repeat;\n }\n\n .image-card-cause {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-cause\")}\n }\n\n .image-card-name {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-name\")}\n }\n\n .image-card-progress {\n margin-top: var(--beam-CommunityImpact-imageCard-progress-marginTop);\n }\n\n .image-card-progressText {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-progressText\")}\n }\n\n .image-card-description {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-description\")}\n }\n\n .image-card-link {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-link\")}\n }\n\n .image-card-link-arrow {\n display: var(--beam-CommunityImpact-imageCard-linkArrow-display, \"none\");\n }\n\n .image-card-goal-completion {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-goalCompletion\")}\n font-style: var(--beam-CommunityImpact-imageCard-goalCompletion-fontStyle, italic);\n }\n\n .image-card-footer {\n margin-top: var(--beam-CommunityImpact-imageCard-footer-marginTop);\n }\n\n /* Icon Style Cards */\n\n .icon-card {\n display: flex;\n flex-direction: column;\n justify-content: start;\n align-items: center;\n }\n\n .icon-card-icon {\n height: 50px;\n }\n\n .icon-card-cause {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-cause\")}\n }\n\n .icon-card-name {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-name\")}\n }\n\n .icon-card-progress {\n margin-top: var(--beam-CommunityImpact-iconCard-progress-marginTop);\n }\n\n .icon-card-progressText {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-progressText\")}\n margin-left: 10px;\n }\n\n .icon-card-description {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-description\")}\n text-align: var(--beam-CommunityImpact-iconCard-description-textAlign, left);\n }\n\n .icon-card-link {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-link\")}\n }\n\n .icon-card-link-arrow {\n display: var(--beam-CommunityImpact-iconCard-linkArrow-display, \"none\");\n }\n\n .icon-card-goal-completion {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-goalCompletion\")}\n font-style: var(--beam-CommunityImpact-iconCard-goalCompletion-fontStyle, italic);\n }\n\n .icon-card-footer {\n margin-top: var(--beam-CommunityImpact-iconCard-footer-marginTop);\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamCommunityImpact);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-community-impact\": BeamCommunityImpact;\n }\n}\n"],"names":["strings","times","BeamCommunityImpact","LitElement","DEFAULT_BASE_URL","enforceConfig","getImpact","WIDGET_NAMES","AsyncController","data","nonprofitImageAltText","learnMoreLinkAriaLabel","html","localizeUserString","unsafeHTML","nonprofitIconAltText","nonprofits","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","uniqueFilters","n","handleSeeAllFocus","handleFilterFocus","filter","styleMap","evt","selectedFilter","error","loading","_loading","_errorMessage","BeamError","filteredNonprofits","np","defaults","partnerLogosConfigDefaults","progressBarConfigDefaults","defineCustomText","columnCount","remoteConfig","config","_cssVariableMap","cssReset","css","useCustomText","cssCardGrid","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{f as x,g as d,t as I,h as v,k as b,y as g,m as u}from"../chunks/lit-WqMxC_PA.esm.js";import{p as $}from"../chunks/progress-bar-DF7UuuHb.esm.js";import{partnerLogosConfigDefaults as T}from"./beam-partner-logos.js";import{c as k,d as w,e as S}from"../chunks/enforce-config-Ba1JkOHs.esm.js";import{u as n,A as L,i as s,_ as f,d as m,a as A}from"../chunks/localize-C25pEGnx.esm.js";import{D as z,g as F,W as M,S as D}from"../chunks/routes-BAqFeD8S.esm.js";import{_ as U}from"../chunks/loading-template-DG4lkIIc.esm.js";import{B as E}from"../chunks/beam-errors-Ci0d3926.esm.js";import{c as C}from"../chunks/css-card-grid-CvoGpsJH.esm.js";import"../utils/logger.js";import"../chunks/promo-types-DKAOFHJr.esm.js";const y={en:{fundedTimes:({times:e=0})=>`Funded <b>${e}</b> ${e>1?"times":"time"} so far`,learnMore:()=>"Learn more",seeAll:()=>"See All"},fr:{fundedTimes:({times:e=0})=>`Financ\xE9 <b>${e}</b> fois pour l'instant`,learnMore:()=>"En savoir plus",seeAll:()=>"Voir tout"},de:{fundedTimes:({times:e=0})=>`<b>${e}</b> Mal finanziert`,learnMore:()=>"Mehr erfahren",seeAll:()=>"Alle anzeigen"},es:{fundedTimes:({times:e=0})=>`Financiado <b>${e}</b> ${e>1?"vez":"veces"}`,learnMore:()=>"Saber m\xE1s",seeAll:()=>"Ver Todo"},it:{fundedTimes:({times:e=0})=>`Finanziato <b>${e}</b> ${e>1?"volta":"volte"}`,learnMore:()=>"Scopri di pi\xF9",seeAll:()=>"Vedi Tutto"},pl:{fundedTimes:({times:e=0})=>`Udzielono wsparcia <b>${e}</b> ${e>1?"razy":"raz"}`,learnMore:()=>"Dowiedz si\u0119 wi\u0119cej",seeAll:()=>"Zobacz wszystko"},ja:{fundedTimes:({times:e=0})=>`Funded <b>${e}</b> ${e>1?"times":"time"} so far`,learnMore:()=>"Learn more",seeAll:()=>"See All"}};var _=Object.defineProperty,l=(e,a,t,r)=>{for(var o=void 0,i=e.length-1,p;i>=0;i--)(p=e[i])&&(o=p(a,t,o)||o);return o&&_(a,t,o),o};class c extends v{constructor(){super(...arguments),this.baseUrl=z,this.cardStyle="image",this.lang="en",this.debug=!1,this.draftConfig=!1,this.selectedFilter=null,this.getImpactData=async()=>(S(["apiKey","chainId"],this),F({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{chainId:this.chainId,personalImpactLimit:0,widgetName:M.community_impact,version:"1.0.0",lang:this.configLang,draftConfig:this.draftConfig}})),this.impactDataController=new L(this,this.getImpactData),this.renderImageCard=a=>{const t=`${a.nonprofit?.name} image`,r=`Learn more about ${a.nonprofit?.name}`;return g`
1
+ import{f as x,g as d,t as I,h as v,k as u,y as g,m as b}from"../chunks/lit-WqMxC_PA.esm.js";import{p as $}from"../chunks/progress-bar-DF7UuuHb.esm.js";import{partnerLogosConfigDefaults as T}from"./beam-partner-logos.js";import{c as k,d as w,e as S}from"../chunks/enforce-config-Ba1JkOHs.esm.js";import{u as n,A as L,i as s,_ as f,d as m,a as A}from"../chunks/localize-C25pEGnx.esm.js";import{D as F,g as z,W as D,S as M}from"../chunks/routes-BGx3ADhY.esm.js";import{_ as E}from"../chunks/loading-template-DG4lkIIc.esm.js";import{B}from"../chunks/beam-errors-Ci0d3926.esm.js";import{c as C}from"../chunks/css-card-grid-CvoGpsJH.esm.js";import"../utils/logger.js";import"../chunks/promo-types-DKAOFHJr.esm.js";const y={en:{fundedTimes:({times:e=0})=>`Funded <b>${e}</b> ${e>1?"times":"time"} so far`,learnMore:()=>"Learn more",seeAll:()=>"See All"},fr:{fundedTimes:({times:e=0})=>`Financ\xE9 <b>${e}</b> fois pour l'instant`,learnMore:()=>"En savoir plus",seeAll:()=>"Voir tout"},de:{fundedTimes:({times:e=0})=>`<b>${e}</b> Mal finanziert`,learnMore:()=>"Mehr erfahren",seeAll:()=>"Alle anzeigen"},es:{fundedTimes:({times:e=0})=>`Financiado <b>${e}</b> ${e>1?"vez":"veces"}`,learnMore:()=>"Saber m\xE1s",seeAll:()=>"Ver Todo"},it:{fundedTimes:({times:e=0})=>`Finanziato <b>${e}</b> ${e>1?"volta":"volte"}`,learnMore:()=>"Scopri di pi\xF9",seeAll:()=>"Vedi Tutto"},pl:{fundedTimes:({times:e=0})=>`Udzielono wsparcia <b>${e}</b> ${e>1?"razy":"raz"}`,learnMore:()=>"Dowiedz si\u0119 wi\u0119cej",seeAll:()=>"Zobacz wszystko"},ja:{fundedTimes:({times:e=0})=>`\u73FE\u5728\u307E\u3067\u306B<b>${e}</b>\u56DE\u3001\u3092\u9054\u6210`,learnMore:()=>"\u8A73\u3057\u304F\u898B\u308B",seeAll:()=>"\u3059\u3079\u3066\u898B\u308B"}};var U=Object.defineProperty,l=(e,a,t,r)=>{for(var o=void 0,i=e.length-1,p;i>=0;i--)(p=e[i])&&(o=p(a,t,o)||o);return o&&U(a,t,o),o};class c extends v{constructor(){super(...arguments),this.baseUrl=F,this.cardStyle="image",this.lang="en",this.debug=!1,this.draftConfig=!1,this.selectedFilter=null,this.getImpactData=async()=>(S(["apiKey","chainId"],this),z({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{chainId:this.chainId,personalImpactLimit:0,widgetName:D.community_impact,version:"1.0.0",lang:this.configLang,draftConfig:this.draftConfig}})),this.impactDataController=new L(this,this.getImpactData),this.renderImageCard=a=>{const t=`${a.nonprofit?.name} image`,r=`Learn more about ${a.nonprofit?.name}`;return g`
2
2
  <div class="image-card" part="nonprofit-card" style="display: flex; flex-direction: column;">
3
3
  <div
4
4
  class="image-card-image-box"
@@ -18,11 +18,11 @@ import{f as x,g as d,t as I,h as v,k as b,y as g,m as u}from"../chunks/lit-WqMxC
18
18
  >
19
19
  </div>
20
20
  <div class="image-card-description">
21
- ${b(s(this.configLang,a.impact?.description||""))}
21
+ ${u(s(this.configLang,a.impact?.description||""))}
22
22
  </div>
23
23
  <div style="display: flex; align-items: end; flex-wrap: wrap; gap: 10px; flex: 1;" class="image-card-footer">
24
24
  <div class="image-card-goal-completion" style="flex-grow: 1;">
25
- ${b(s(this.configLang,a.impact?.goalCompletionText))}
25
+ ${u(s(this.configLang,a.impact?.goalCompletionText))}
26
26
  </div>
27
27
  <a
28
28
  href="${a.nonprofit?.website}"
@@ -44,7 +44,7 @@ import{f as x,g as d,t as I,h as v,k as b,y as g,m as u}from"../chunks/lit-WqMxC
44
44
  <p class="icon-card-cause">${s(this.configLang,a.nonprofit?.cause??"")}</p>
45
45
  <h2 class="icon-card-name">${s(this.configLang,a.nonprofit?.name??"")}</h2>
46
46
  <div class="icon-card-description" part="nonprofit-card-description" style="flex: 1;">
47
- ${b(s(this.configLang,a.impact?.description||""))}
47
+ ${u(s(this.configLang,a.impact?.description||""))}
48
48
  </div>
49
49
  <div class="icon-card-footer" style="width: 100%; text-align: center;">
50
50
  <div class="icon-card-progress" style="display: flex; align-items: center; width: 100%;">
@@ -54,7 +54,7 @@ import{f as x,g as d,t as I,h as v,k as b,y as g,m as u}from"../chunks/lit-WqMxC
54
54
  >
55
55
  </div>
56
56
  <div class="icon-card-goal-completion">
57
- ${b(s(this.configLang,a.impact?.goalCompletionText))}
57
+ ${u(s(this.configLang,a.impact?.goalCompletionText))}
58
58
  </div>
59
59
  <a
60
60
  href="${a.nonprofit?.website}"
@@ -71,14 +71,14 @@ import{f as x,g as d,t as I,h as v,k as b,y as g,m as u}from"../chunks/lit-WqMxC
71
71
  <div class="beam-nonprofit-${this.cardStyle}-cards" part="nonprofit-cards">
72
72
  ${a?.map(this.cardStyle==="image"?this.renderImageCard:this.renderIconCard)}
73
73
  </div>
74
- `}get configLang(){return D[this.lang]||"en"}async updated(a){const t=["chainId","baseUrl","lang"];for(const r of t)if(a.has(r)){this.impactDataController.exec();break}}renderFilterTabs({nonprofits:a}){const t=Array.from(new Set(a.flatMap(i=>i.filters||[])));if(t.length===0)return"";const r=()=>{this.selectedFilter=null},o=i=>{this.selectedFilter===i?this.selectedFilter=null:this.selectedFilter=i};return g` <div
74
+ `}get configLang(){return M[this.lang]||"en"}async updated(a){const t=["chainId","baseUrl","lang"];for(const r of t)if(a.has(r)){this.impactDataController.exec();break}}renderFilterTabs({nonprofits:a}){const t=Array.from(new Set(a.flatMap(i=>i.filters||[])));if(t.length===0)return"";const r=()=>{this.selectedFilter=null},o=i=>{this.selectedFilter===i?this.selectedFilter=null:this.selectedFilter=i};return g` <div
75
75
  class="beam-filter-tabs"
76
76
  part="filters"
77
77
  style="display: inline-flex; flex-wrap: wrap; gap: 0.5em 1em"
78
78
  >
79
79
  <span
80
80
  tabindex="0"
81
- style="${u({"padding-bottom":"1px","border-bottom-width":"2px","border-bottom-style":"solid","border-bottom-color":this.selectedFilter===null?"currentColor":"transparent",cursor:"pointer"})}"
81
+ style="${b({"padding-bottom":"1px","border-bottom-width":"2px","border-bottom-style":"solid","border-bottom-color":this.selectedFilter===null?"currentColor":"transparent",cursor:"pointer"})}"
82
82
  @click=${r}
83
83
  @keydown=${i=>{["Enter"," "].includes(i.key)&&(i.preventDefault(),r())}}
84
84
  >${y[this.configLang].seeAll()}</span
@@ -87,10 +87,10 @@ import{f as x,g as d,t as I,h as v,k as b,y as g,m as u}from"../chunks/lit-WqMxC
87
87
  tabindex="0"
88
88
  @click=${()=>o(i)}
89
89
  @keydown=${p=>{["Enter"," "].includes(p.key)&&(p.preventDefault(),o(i))}}
90
- style="${u({"padding-bottom":"1px","border-bottom-width":"2px","border-bottom-style":"solid","border-bottom-color":this.selectedFilter===i?"currentColor":"transparent",cursor:"pointer"})}"
90
+ style="${b({"padding-bottom":"1px","border-bottom-width":"2px","border-bottom-style":"solid","border-bottom-color":this.selectedFilter===i?"currentColor":"transparent",cursor:"pointer"})}"
91
91
  >${i}</span
92
92
  >`)}
93
- </div>`}render(){const{selectedFilter:a}=this,{data:t,error:r,loading:o}=this.impactDataController;if(o)return U();if(r)return this.debug?f({error:r}):"";if(t==null)return this.debug?f({error:new E("Missing data")}):"";const{community:i}=t,p=a?i.filter(h=>h.filters?.includes(a)):i;return g`
93
+ </div>`}render(){const{selectedFilter:a}=this,{data:t,error:r,loading:o}=this.impactDataController;if(o)return E();if(r)return this.debug?f({error:r}):"";if(t==null)return this.debug?f({error:new B("Missing data")}):"";const{community:i}=t,p=a?i.filter(h=>h.filters?.includes(a)):i;return g`
94
94
  <style>
95
95
  :host {
96
96
  ${this.cssVariables.toCSS()}
@@ -1 +1 @@
1
- {"version":3,"file":"community-impact.js","sources":["../../src/components/community-impact/strings.ts","../../src/components/community-impact/index.ts"],"sourcesContent":["export const strings = {\n en: {\n fundedTimes: ({ times = 0 }) => `Funded <b>${times}</b> ${times > 1 ? \"times\" : \"time\"} so far`,\n learnMore: () => `Learn more`,\n seeAll: () => `See All`,\n },\n fr: {\n fundedTimes: ({ times = 0 }) => `Financé <b>${times}</b> fois pour l'instant`,\n learnMore: () => `En savoir plus`,\n seeAll: () => `Voir tout`,\n },\n de: {\n fundedTimes: ({ times = 0 }) => `<b>${times}</b> Mal finanziert`,\n learnMore: () => `Mehr erfahren`,\n seeAll: () => `Alle anzeigen`,\n },\n es: {\n fundedTimes: ({ times = 0 }) => `Financiado <b>${times}</b> ${times > 1 ? \"vez\" : \"veces\"}`,\n learnMore: () => `Saber más`,\n seeAll: () => `Ver Todo`,\n },\n it: {\n fundedTimes: ({ times = 0 }) => `Finanziato <b>${times}</b> ${times > 1 ? \"volta\" : \"volte\"}`,\n learnMore: () => `Scopri di più`,\n seeAll: () => `Vedi Tutto`,\n },\n pl: {\n fundedTimes: ({ times = 0 }) => `Udzielono wsparcia <b>${times}</b> ${times > 1 ? \"razy\" : \"raz\"}`,\n learnMore: () => `Dowiedz się więcej`,\n seeAll: () => `Zobacz wszystko`,\n },\n ja: {\n fundedTimes: ({ times = 0 }) => `Funded <b>${times}</b> ${times > 1 ? \"times\" : \"time\"} so far`,\n learnMore: () => `Learn more`,\n seeAll: () => `See All`,\n },\n};\n","import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport \"../../shared/components/progress-bar\";\nimport \"../beam-partner-logos\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { BeamError, MissingConfig } from \"../../utils/beam-errors\";\nimport { TNumericId } from \"../../shared/types\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { partnerLogosConfigDefaults } from \"../beam-partner-logos\";\nimport { strings } from \"./strings\";\n\ntype RequiredConfig = {\n apiKey: string;\n chainId: TNumericId;\n};\n\ntype IAPIV3NonprofitImpact = Awaited<ReturnType<typeof getImpact>>[\"community\"][0];\n\n/**\n * Beam Impact Overview Widget\n * Displays a grid of cards highlighting progress against funding goals\n * for the non-profits the chain is supporting.\n */\nexport class BeamCommunityImpact extends LitElement {\n static tagName = \"beam-community-impact\";\n\n @property({ type: String }) public apiKey?: RequiredConfig[\"apiKey\"];\n\n @property({ type: Number }) public chainId?: RequiredConfig[\"chainId\"];\n\n @property({ type: String }) public baseUrl = DEFAULT_BASE_URL;\n\n @property({ type: String }) public cardStyle: \"icon\" | \"image\" = \"image\";\n\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n\n @property({ type: Boolean }) public debug = false;\n\n @property({ type: Boolean }) public draftConfig = false;\n\n @state() private selectedFilter: string | null = null;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n private getImpactData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"chainId\"], this)) throw new MissingConfig();\n const res = getImpact({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n queryParams: {\n chainId: this.chainId,\n personalImpactLimit: 0,\n widgetName: WIDGET_NAMES.community_impact,\n version: \"1.0.0\",\n lang: this.configLang,\n draftConfig: this.draftConfig,\n },\n });\n\n return res;\n };\n\n private impactDataController = new AsyncController<typeof this.getImpactData>(this, this.getImpactData);\n\n async updated(changedProperties: Map<string, unknown>) {\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 = [\"chainId\", \"baseUrl\", \"lang\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n this.impactDataController.exec();\n break;\n }\n }\n }\n\n private renderFilterTabs({ nonprofits }: { nonprofits: IAPIV3NonprofitImpact[] }) {\n const uniqueFilters = Array.from(new Set(nonprofits.flatMap((n) => n.filters || [])));\n if (uniqueFilters.length === 0) return \"\";\n const handleSeeAllFocus = () => {\n this.selectedFilter = null;\n };\n const handleFilterFocus = (filter: string) => {\n if (this.selectedFilter === filter) {\n this.selectedFilter = null;\n } else {\n this.selectedFilter = filter;\n }\n };\n return html` <div\n class=\"beam-filter-tabs\"\n part=\"filters\"\n style=\"display: inline-flex; flex-wrap: wrap; gap: 0.5em 1em\"\n >\n <span\n tabindex=\"0\"\n style=\"${styleMap({\n \"padding-bottom\": \"1px\",\n \"border-bottom-width\": \"2px\",\n \"border-bottom-style\": \"solid\",\n \"border-bottom-color\": this.selectedFilter === null ? \"currentColor\" : \"transparent\",\n cursor: \"pointer\",\n })}\"\n @click=${handleSeeAllFocus}\n @keydown=${(evt: KeyboardEvent) => {\n if ([\"Enter\", \" \"].includes(evt.key)) {\n evt.preventDefault();\n handleSeeAllFocus();\n }\n }}\n >${strings[this.configLang].seeAll()}</span\n >\n ${uniqueFilters.map(\n (filter: string) =>\n html`<span\n tabindex=\"0\"\n @click=${() => handleFilterFocus(filter)}\n @keydown=${(evt: KeyboardEvent) => {\n if ([\"Enter\", \" \"].includes(evt.key)) {\n evt.preventDefault();\n handleFilterFocus(filter);\n }\n }}\n style=\"${styleMap({\n \"padding-bottom\": \"1px\",\n \"border-bottom-width\": \"2px\",\n \"border-bottom-style\": \"solid\",\n \"border-bottom-color\": this.selectedFilter === filter ? \"currentColor\" : \"transparent\",\n cursor: \"pointer\",\n })}\"\n >${filter}</span\n >`\n )}\n </div>`;\n }\n\n private renderImageCard = (data: IAPIV3NonprofitImpact) => {\n const nonprofitImageAltText = `${data.nonprofit?.name} image`;\n const learnMoreLinkAriaLabel = `Learn more about ${data.nonprofit?.name}`;\n\n return html`\n <div class=\"image-card\" part=\"nonprofit-card\" style=\"display: flex; flex-direction: column;\">\n <div\n class=\"image-card-image-box\"\n style=\"background-image: url('${data.imageUrl}');\"\n aria-label=\"${nonprofitImageAltText}\"\n >\n <p class=\"image-card-cause\">${localizeUserString(this.configLang, data.nonprofit?.cause || \"\")}</p>\n <h2 class=\"image-card-name\">${localizeUserString(this.configLang, data.nonprofit?.name)}</h2>\n </div>\n <div\n style=\"padding: 5px 15px 15px; flex: 1 1 auto; border-radius: 0px; border: none; display: flex; flex-direction: column;\"\n >\n <div class=\"image-card-progress\" style=\"display: flex; align-items: center;\">\n <beam-progress-bar style=\"flex-grow: 1;\" value=\"${data.impact?.goalProgressPercentage}\"></beam-progress-bar>\n <span class=\"image-card-progressText\" style=\"margin-left: 20px;\"\n >${localizeUserString(this.configLang, data.impact?.goalProgressText)}</span\n >\n </div>\n <div class=\"image-card-description\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.description || \"\"))}\n </div>\n <div style=\"display: flex; align-items: end; flex-wrap: wrap; gap: 10px; flex: 1;\" class=\"image-card-footer\">\n <div class=\"image-card-goal-completion\" style=\"flex-grow: 1;\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.goalCompletionText))}\n </div>\n <a\n href=\"${data.nonprofit?.website}\"\n target=\"_blank\"\n class=\"image-card-link\"\n style=\"color: var(--beam-CommunityImpact-imageCard-link-color, inherit); white-space: nowrap\"\n aria-label=\"${learnMoreLinkAriaLabel}\"\n >\n ${localizeUserString(this.configLang, data.nonprofit?.websiteLinkText)}<span class=\"image-card-link-arrow\"\n >&nbsp;&rsaquo;</span\n >\n </a>\n </div>\n </div>\n </div>\n `;\n };\n\n private renderIconCard = (data: IAPIV3NonprofitImpact) => {\n const nonprofitIconAltText = `${data.nonprofit?.name} icon`;\n const learnMoreLinkAriaLabel = `Learn more about ${data.nonprofit?.name}`;\n\n return html`\n <div class=\"icon-card\" part=\"nonprofit-card\" style=\"display: flex; flex-direction: column;\">\n <img class=\"icon-card-icon\" src=\"${data.nonprofit?.causeIconUrl}\" alt=\"${nonprofitIconAltText}\" />\n <p class=\"icon-card-cause\">${localizeUserString(this.configLang, data.nonprofit?.cause ?? \"\")}</p>\n <h2 class=\"icon-card-name\">${localizeUserString(this.configLang, data.nonprofit?.name ?? \"\")}</h2>\n <div class=\"icon-card-description\" part=\"nonprofit-card-description\" style=\"flex: 1;\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.description || \"\"))}\n </div>\n <div class=\"icon-card-footer\" style=\"width: 100%; text-align: center;\">\n <div class=\"icon-card-progress\" style=\"display: flex; align-items: center; width: 100%;\">\n <beam-progress-bar style=\"flex: 1 0;\" value=\"${data.impact?.goalProgressPercentage}\"></beam-progress-bar>\n <span style=\"text-align: right; flex: 0 1; white-space: nowrap\" class=\"icon-card-progressText\"\n >${localizeUserString(this.configLang, data.impact?.goalProgressText)}</span\n >\n </div>\n <div class=\"icon-card-goal-completion\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.goalCompletionText))}\n </div>\n <a\n href=\"${data.nonprofit?.website}\"\n target=\"_blank\"\n class=\"icon-card-link\"\n style=\"color: var(--beam-CommunityImpact-iconCard-link-color, inherit); display: block\"\n aria-label=\"${learnMoreLinkAriaLabel}\"\n >${localizeUserString(this.configLang, data.nonprofit?.websiteLinkText) ||\n strings[this.configLang].learnMore()}<span class=\"icon-card-link-arrow\">&nbsp;&rsaquo;</span>\n </a>\n ${data.impact?.goalCompletionText === \"\" ? html`<div class=\"icon-card-goal-completion\">&nbsp;</div>` : \"\"}\n </div>\n </div>\n `;\n };\n\n private renderCards = ({ nonprofits }: { nonprofits: IAPIV3NonprofitImpact[] }) => {\n return html`\n <div class=\"beam-nonprofit-${this.cardStyle}-cards\" part=\"nonprofit-cards\">\n ${nonprofits?.map(this.cardStyle === \"image\" ? this.renderImageCard : this.renderIconCard)}\n </div>\n `;\n };\n\n render() {\n const { selectedFilter } = this;\n const { data, error, loading } = 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 BeamError(\"Missing data\") });\n }\n return \"\";\n }\n const { community: nonprofits } = data;\n const filteredNonprofits = selectedFilter\n ? nonprofits.filter((np) => np.filters?.includes(selectedFilter))\n : nonprofits;\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <beam-partner-logos\n part=\"logos\"\n partnerLogoUrl=\"${data.chain.logoUrl}\"\n partnerName=\"${data.chain.name}\"\n ></beam-partner-logos>\n\n ${this.renderFilterTabs({ nonprofits })} ${this.renderCards({ nonprofits: filteredNonprofits })}\n `;\n }\n\n public get cssVariables() {\n const defaults: Record<string, string> = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"14px\",\n \"--beam-lineHeight\": \"1\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n ...partnerLogosConfigDefaults,\n ...progressBarConfigDefaults,\n \"--beam-CommunityImpact-filterTabs-textalign\": \"left\",\n \"--beam-CommunityImpact-filterTabs-marginBottom\": \"20px\",\n /* Image Card Styles */\n \"--beam-CommunityImpact-imageCard-borderColor\": \"currentColor\",\n \"--beam-CommunityImpact-imageCard-borderRadius\": \"0\",\n \"--beam-CommunityImpact-imageCard-borderWidth\": \"1px\",\n \"--beam-CommunityImpact-imageCard-backgroundColor\": \"inherit\",\n \"--beam-CommunityImpact-imageCard-foregroundColor\": \"inherit\",\n ...defineCustomText(\"--beam-CommunityImpact-filterTabs\", {\n fontSize: \"16px\",\n marginTop: \"10px\",\n fontWeight: \"bold\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-cause\", {\n fontSize: \"14px\",\n textTransform: \"uppercase\",\n color: \"#fff\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-name\", {\n fontSize: \"22px\",\n marginTop: \"0\",\n color: \"#fff\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-description\", {\n marginTop: \"10px\",\n lineHeight: \"1.3\",\n }),\n \"--beam-CommunityImpact-imageCard-link-color\": \"inherit\",\n \"--beam-CommunityImpact-imageCard-linkArrow-display\": \"none\",\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-link\", {\n fontSize: \"12px\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-goalCompletion\", {\n fontSize: \"12px\",\n }),\n \"--beam-CommunityImpact-imageCard-goalCompletion-fontStyle\": \"italic\",\n \"--beam-CommunityImpact-imageCard-progress-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-progressText\"),\n \"--beam-CommunityImpact-imageCard-footer-marginTop\": \"10px\",\n /* Icon Card Styles */\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-cause\", {\n marginTop: \"10px\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-name\", {\n marginTop: \"5px\",\n fontWeight: \"bold\",\n }),\n \"--beam-CommunityImpact-iconCard-progress-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-progressText\"),\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-description\", {\n marginTop: \"10px\",\n lineHeight: \"1.3\",\n }),\n \"--beam-CommunityImpact-iconCard-description-textAlign\": \"left\",\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-goalCompletion\", {\n marginTop: \"10px\",\n }),\n \"--beam-CommunityImpact-iconCard-link-color\": \"inherit\",\n \"--beam-CommunityImpact-iconCard-linkArrow-display\": \"none\",\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-link\", {\n marginTop: \"5px\",\n }),\n };\n\n const cardCount = this.impactDataController.data?.community.length || 0;\n const columnCount = cardCount === 3 ? 3 : this.cardStyle === \"icon\" ? 4 : 2;\n defaults[\"--beam-CommunityImpact-columns\"] = columnCount.toString();\n defaults[\"--beam-CommunityImpact-columns-minWidth\"] = this.cardStyle === \"image\" ? \"300px\" : \"200px\";\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 css`\n :host {\n display: block;\n font-family: var(--beam-fontFamily, inherit);\n font-style: var(--beam-fontStyle, inherit);\n font-size: var(--beam-fontSize, inherit);\n color: var(--beam-textColor, inherit);\n background-color: var(--beam-backgroundColor, inherit);\n line-height: var(--beam-lineHeight, 1);\n word-break: normal;\n }\n\n .beam-filter-tabs {\n ${useCustomText(\"--beam-CommunityImpact-filterTabs\")}\n margin-bottom: var(--beam-CommunityImpact-filterTabs-marginBottom, 10px);\n text-align: var(--beam-CommunityImpact-filterTabs-textalign, left);\n }\n\n .beam-nonprofit-image-cards,\n .beam-nonprofit-icon-cards {\n margin-top: 10px;\n }\n\n ${cssCardGrid({\n gap: \"20px\",\n className: \"beam-nonprofit-image-cards\",\n columnCount: \"var(--beam-CommunityImpact-columns)\",\n itemMinWidth: \"var(--beam-CommunityImpact-columns-minWidth)\",\n })}\n\n ${cssCardGrid({\n gap: \"40px\",\n className: \"beam-nonprofit-icon-cards\",\n columnCount: \"var(--beam-CommunityImpact-columns)\",\n itemMinWidth: \"var(--beam-CommunityImpact-columns-minWidth)\",\n })}\n\n /* Image Style Cards */\n\n .image-card {\n overflow-wrap: break-word;\n border-color: var(--beam-CommunityImpact-imageCard-borderColor);\n border-style: solid;\n border-width: var(--beam-CommunityImpact-imageCard-borderWidth);\n border-radius: var(--beam-CommunityImpact-imageCard-borderRadius);\n overflow: hidden;\n background-color: var(--beam-CommunityImpact-imageCard-backgroundColor);\n color: var(--beam-CommunityImpact-imageCard-foregroundColor);\n }\n\n .image-card-image-box {\n height: 200px;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n padding: 0 24px 16px;\n overflow-wrap: break-word;\n background-color: #555;\n background-blend-mode: overlay;\n background-size: cover;\n background-repeat: no-repeat;\n }\n\n .image-card-cause {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-cause\")}\n }\n\n .image-card-name {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-name\")}\n }\n\n .image-card-progress {\n margin-top: var(--beam-CommunityImpact-imageCard-progress-marginTop);\n }\n\n .image-card-progressText {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-progressText\")}\n }\n\n .image-card-description {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-description\")}\n }\n\n .image-card-link {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-link\")}\n }\n\n .image-card-link-arrow {\n display: var(--beam-CommunityImpact-imageCard-linkArrow-display, \"none\");\n }\n\n .image-card-goal-completion {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-goalCompletion\")}\n font-style: var(--beam-CommunityImpact-imageCard-goalCompletion-fontStyle, italic);\n }\n\n .image-card-footer {\n margin-top: var(--beam-CommunityImpact-imageCard-footer-marginTop);\n }\n\n /* Icon Style Cards */\n\n .icon-card {\n display: flex;\n flex-direction: column;\n justify-content: start;\n align-items: center;\n }\n\n .icon-card-icon {\n height: 50px;\n }\n\n .icon-card-cause {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-cause\")}\n }\n\n .icon-card-name {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-name\")}\n }\n\n .icon-card-progress {\n margin-top: var(--beam-CommunityImpact-iconCard-progress-marginTop);\n }\n\n .icon-card-progressText {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-progressText\")}\n margin-left: 10px;\n }\n\n .icon-card-description {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-description\")}\n text-align: var(--beam-CommunityImpact-iconCard-description-textAlign, left);\n }\n\n .icon-card-link {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-link\")}\n }\n\n .icon-card-link-arrow {\n display: var(--beam-CommunityImpact-iconCard-linkArrow-display, \"none\");\n }\n\n .icon-card-goal-completion {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-goalCompletion\")}\n font-style: var(--beam-CommunityImpact-iconCard-goalCompletion-fontStyle, italic);\n }\n\n .icon-card-footer {\n margin-top: var(--beam-CommunityImpact-iconCard-footer-marginTop);\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamCommunityImpact);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-community-impact\": BeamCommunityImpact;\n }\n}\n"],"names":["strings","times","BeamCommunityImpact","LitElement","DEFAULT_BASE_URL","enforceConfig","getImpact","WIDGET_NAMES","AsyncController","data","nonprofitImageAltText","learnMoreLinkAriaLabel","html","localizeUserString","unsafeHTML","nonprofitIconAltText","nonprofits","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","uniqueFilters","n","handleSeeAllFocus","handleFilterFocus","filter","styleMap","evt","selectedFilter","error","loading","_loading","_errorMessage","BeamError","filteredNonprofits","np","defaults","partnerLogosConfigDefaults","progressBarConfigDefaults","defineCustomText","columnCount","remoteConfig","config","_cssVariableMap","cssReset","css","useCustomText","cssCardGrid","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
1
+ {"version":3,"file":"community-impact.js","sources":["../../src/components/community-impact/strings.ts","../../src/components/community-impact/index.ts"],"sourcesContent":["export const strings = {\n en: {\n fundedTimes: ({ times = 0 }) => `Funded <b>${times}</b> ${times > 1 ? \"times\" : \"time\"} so far`,\n learnMore: () => `Learn more`,\n seeAll: () => `See All`,\n },\n fr: {\n fundedTimes: ({ times = 0 }) => `Financé <b>${times}</b> fois pour l'instant`,\n learnMore: () => `En savoir plus`,\n seeAll: () => `Voir tout`,\n },\n de: {\n fundedTimes: ({ times = 0 }) => `<b>${times}</b> Mal finanziert`,\n learnMore: () => `Mehr erfahren`,\n seeAll: () => `Alle anzeigen`,\n },\n es: {\n fundedTimes: ({ times = 0 }) => `Financiado <b>${times}</b> ${times > 1 ? \"vez\" : \"veces\"}`,\n learnMore: () => `Saber más`,\n seeAll: () => `Ver Todo`,\n },\n it: {\n fundedTimes: ({ times = 0 }) => `Finanziato <b>${times}</b> ${times > 1 ? \"volta\" : \"volte\"}`,\n learnMore: () => `Scopri di più`,\n seeAll: () => `Vedi Tutto`,\n },\n pl: {\n fundedTimes: ({ times = 0 }) => `Udzielono wsparcia <b>${times}</b> ${times > 1 ? \"razy\" : \"raz\"}`,\n learnMore: () => `Dowiedz się więcej`,\n seeAll: () => `Zobacz wszystko`,\n },\n ja: {\n fundedTimes: ({ times = 0 }) => `現在までに<b>${times}</b>回、を達成`,\n learnMore: () => `詳しく見る`,\n seeAll: () => `すべて見る`,\n },\n};\n","import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport \"../../shared/components/progress-bar\";\nimport \"../beam-partner-logos\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { BeamError, MissingConfig } from \"../../utils/beam-errors\";\nimport { TNumericId } from \"../../shared/types\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { partnerLogosConfigDefaults } from \"../beam-partner-logos\";\nimport { strings } from \"./strings\";\n\ntype RequiredConfig = {\n apiKey: string;\n chainId: TNumericId;\n};\n\ntype IAPIV3NonprofitImpact = Awaited<ReturnType<typeof getImpact>>[\"community\"][0];\n\n/**\n * Beam Impact Overview Widget\n * Displays a grid of cards highlighting progress against funding goals\n * for the non-profits the chain is supporting.\n */\nexport class BeamCommunityImpact extends LitElement {\n static tagName = \"beam-community-impact\";\n\n @property({ type: String }) public apiKey?: RequiredConfig[\"apiKey\"];\n\n @property({ type: Number }) public chainId?: RequiredConfig[\"chainId\"];\n\n @property({ type: String }) public baseUrl = DEFAULT_BASE_URL;\n\n @property({ type: String }) public cardStyle: \"icon\" | \"image\" = \"image\";\n\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n\n @property({ type: Boolean }) public debug = false;\n\n @property({ type: Boolean }) public draftConfig = false;\n\n @state() private selectedFilter: string | null = null;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n private getImpactData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"chainId\"], this)) throw new MissingConfig();\n const res = getImpact({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n queryParams: {\n chainId: this.chainId,\n personalImpactLimit: 0,\n widgetName: WIDGET_NAMES.community_impact,\n version: \"1.0.0\",\n lang: this.configLang,\n draftConfig: this.draftConfig,\n },\n });\n\n return res;\n };\n\n private impactDataController = new AsyncController<typeof this.getImpactData>(this, this.getImpactData);\n\n async updated(changedProperties: Map<string, unknown>) {\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 = [\"chainId\", \"baseUrl\", \"lang\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n this.impactDataController.exec();\n break;\n }\n }\n }\n\n private renderFilterTabs({ nonprofits }: { nonprofits: IAPIV3NonprofitImpact[] }) {\n const uniqueFilters = Array.from(new Set(nonprofits.flatMap((n) => n.filters || [])));\n if (uniqueFilters.length === 0) return \"\";\n const handleSeeAllFocus = () => {\n this.selectedFilter = null;\n };\n const handleFilterFocus = (filter: string) => {\n if (this.selectedFilter === filter) {\n this.selectedFilter = null;\n } else {\n this.selectedFilter = filter;\n }\n };\n return html` <div\n class=\"beam-filter-tabs\"\n part=\"filters\"\n style=\"display: inline-flex; flex-wrap: wrap; gap: 0.5em 1em\"\n >\n <span\n tabindex=\"0\"\n style=\"${styleMap({\n \"padding-bottom\": \"1px\",\n \"border-bottom-width\": \"2px\",\n \"border-bottom-style\": \"solid\",\n \"border-bottom-color\": this.selectedFilter === null ? \"currentColor\" : \"transparent\",\n cursor: \"pointer\",\n })}\"\n @click=${handleSeeAllFocus}\n @keydown=${(evt: KeyboardEvent) => {\n if ([\"Enter\", \" \"].includes(evt.key)) {\n evt.preventDefault();\n handleSeeAllFocus();\n }\n }}\n >${strings[this.configLang].seeAll()}</span\n >\n ${uniqueFilters.map(\n (filter: string) =>\n html`<span\n tabindex=\"0\"\n @click=${() => handleFilterFocus(filter)}\n @keydown=${(evt: KeyboardEvent) => {\n if ([\"Enter\", \" \"].includes(evt.key)) {\n evt.preventDefault();\n handleFilterFocus(filter);\n }\n }}\n style=\"${styleMap({\n \"padding-bottom\": \"1px\",\n \"border-bottom-width\": \"2px\",\n \"border-bottom-style\": \"solid\",\n \"border-bottom-color\": this.selectedFilter === filter ? \"currentColor\" : \"transparent\",\n cursor: \"pointer\",\n })}\"\n >${filter}</span\n >`\n )}\n </div>`;\n }\n\n private renderImageCard = (data: IAPIV3NonprofitImpact) => {\n const nonprofitImageAltText = `${data.nonprofit?.name} image`;\n const learnMoreLinkAriaLabel = `Learn more about ${data.nonprofit?.name}`;\n\n return html`\n <div class=\"image-card\" part=\"nonprofit-card\" style=\"display: flex; flex-direction: column;\">\n <div\n class=\"image-card-image-box\"\n style=\"background-image: url('${data.imageUrl}');\"\n aria-label=\"${nonprofitImageAltText}\"\n >\n <p class=\"image-card-cause\">${localizeUserString(this.configLang, data.nonprofit?.cause || \"\")}</p>\n <h2 class=\"image-card-name\">${localizeUserString(this.configLang, data.nonprofit?.name)}</h2>\n </div>\n <div\n style=\"padding: 5px 15px 15px; flex: 1 1 auto; border-radius: 0px; border: none; display: flex; flex-direction: column;\"\n >\n <div class=\"image-card-progress\" style=\"display: flex; align-items: center;\">\n <beam-progress-bar style=\"flex-grow: 1;\" value=\"${data.impact?.goalProgressPercentage}\"></beam-progress-bar>\n <span class=\"image-card-progressText\" style=\"margin-left: 20px;\"\n >${localizeUserString(this.configLang, data.impact?.goalProgressText)}</span\n >\n </div>\n <div class=\"image-card-description\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.description || \"\"))}\n </div>\n <div style=\"display: flex; align-items: end; flex-wrap: wrap; gap: 10px; flex: 1;\" class=\"image-card-footer\">\n <div class=\"image-card-goal-completion\" style=\"flex-grow: 1;\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.goalCompletionText))}\n </div>\n <a\n href=\"${data.nonprofit?.website}\"\n target=\"_blank\"\n class=\"image-card-link\"\n style=\"color: var(--beam-CommunityImpact-imageCard-link-color, inherit); white-space: nowrap\"\n aria-label=\"${learnMoreLinkAriaLabel}\"\n >\n ${localizeUserString(this.configLang, data.nonprofit?.websiteLinkText)}<span class=\"image-card-link-arrow\"\n >&nbsp;&rsaquo;</span\n >\n </a>\n </div>\n </div>\n </div>\n `;\n };\n\n private renderIconCard = (data: IAPIV3NonprofitImpact) => {\n const nonprofitIconAltText = `${data.nonprofit?.name} icon`;\n const learnMoreLinkAriaLabel = `Learn more about ${data.nonprofit?.name}`;\n\n return html`\n <div class=\"icon-card\" part=\"nonprofit-card\" style=\"display: flex; flex-direction: column;\">\n <img class=\"icon-card-icon\" src=\"${data.nonprofit?.causeIconUrl}\" alt=\"${nonprofitIconAltText}\" />\n <p class=\"icon-card-cause\">${localizeUserString(this.configLang, data.nonprofit?.cause ?? \"\")}</p>\n <h2 class=\"icon-card-name\">${localizeUserString(this.configLang, data.nonprofit?.name ?? \"\")}</h2>\n <div class=\"icon-card-description\" part=\"nonprofit-card-description\" style=\"flex: 1;\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.description || \"\"))}\n </div>\n <div class=\"icon-card-footer\" style=\"width: 100%; text-align: center;\">\n <div class=\"icon-card-progress\" style=\"display: flex; align-items: center; width: 100%;\">\n <beam-progress-bar style=\"flex: 1 0;\" value=\"${data.impact?.goalProgressPercentage}\"></beam-progress-bar>\n <span style=\"text-align: right; flex: 0 1; white-space: nowrap\" class=\"icon-card-progressText\"\n >${localizeUserString(this.configLang, data.impact?.goalProgressText)}</span\n >\n </div>\n <div class=\"icon-card-goal-completion\">\n ${unsafeHTML(localizeUserString(this.configLang, data.impact?.goalCompletionText))}\n </div>\n <a\n href=\"${data.nonprofit?.website}\"\n target=\"_blank\"\n class=\"icon-card-link\"\n style=\"color: var(--beam-CommunityImpact-iconCard-link-color, inherit); display: block\"\n aria-label=\"${learnMoreLinkAriaLabel}\"\n >${localizeUserString(this.configLang, data.nonprofit?.websiteLinkText) ||\n strings[this.configLang].learnMore()}<span class=\"icon-card-link-arrow\">&nbsp;&rsaquo;</span>\n </a>\n ${data.impact?.goalCompletionText === \"\" ? html`<div class=\"icon-card-goal-completion\">&nbsp;</div>` : \"\"}\n </div>\n </div>\n `;\n };\n\n private renderCards = ({ nonprofits }: { nonprofits: IAPIV3NonprofitImpact[] }) => {\n return html`\n <div class=\"beam-nonprofit-${this.cardStyle}-cards\" part=\"nonprofit-cards\">\n ${nonprofits?.map(this.cardStyle === \"image\" ? this.renderImageCard : this.renderIconCard)}\n </div>\n `;\n };\n\n render() {\n const { selectedFilter } = this;\n const { data, error, loading } = 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 BeamError(\"Missing data\") });\n }\n return \"\";\n }\n const { community: nonprofits } = data;\n const filteredNonprofits = selectedFilter\n ? nonprofits.filter((np) => np.filters?.includes(selectedFilter))\n : nonprofits;\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <beam-partner-logos\n part=\"logos\"\n partnerLogoUrl=\"${data.chain.logoUrl}\"\n partnerName=\"${data.chain.name}\"\n ></beam-partner-logos>\n\n ${this.renderFilterTabs({ nonprofits })} ${this.renderCards({ nonprofits: filteredNonprofits })}\n `;\n }\n\n public get cssVariables() {\n const defaults: Record<string, string> = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"14px\",\n \"--beam-lineHeight\": \"1\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n ...partnerLogosConfigDefaults,\n ...progressBarConfigDefaults,\n \"--beam-CommunityImpact-filterTabs-textalign\": \"left\",\n \"--beam-CommunityImpact-filterTabs-marginBottom\": \"20px\",\n /* Image Card Styles */\n \"--beam-CommunityImpact-imageCard-borderColor\": \"currentColor\",\n \"--beam-CommunityImpact-imageCard-borderRadius\": \"0\",\n \"--beam-CommunityImpact-imageCard-borderWidth\": \"1px\",\n \"--beam-CommunityImpact-imageCard-backgroundColor\": \"inherit\",\n \"--beam-CommunityImpact-imageCard-foregroundColor\": \"inherit\",\n ...defineCustomText(\"--beam-CommunityImpact-filterTabs\", {\n fontSize: \"16px\",\n marginTop: \"10px\",\n fontWeight: \"bold\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-cause\", {\n fontSize: \"14px\",\n textTransform: \"uppercase\",\n color: \"#fff\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-name\", {\n fontSize: \"22px\",\n marginTop: \"0\",\n color: \"#fff\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-description\", {\n marginTop: \"10px\",\n lineHeight: \"1.3\",\n }),\n \"--beam-CommunityImpact-imageCard-link-color\": \"inherit\",\n \"--beam-CommunityImpact-imageCard-linkArrow-display\": \"none\",\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-link\", {\n fontSize: \"12px\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-goalCompletion\", {\n fontSize: \"12px\",\n }),\n \"--beam-CommunityImpact-imageCard-goalCompletion-fontStyle\": \"italic\",\n \"--beam-CommunityImpact-imageCard-progress-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-CommunityImpact-imageCard-progressText\"),\n \"--beam-CommunityImpact-imageCard-footer-marginTop\": \"10px\",\n /* Icon Card Styles */\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-cause\", {\n marginTop: \"10px\",\n }),\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-name\", {\n marginTop: \"5px\",\n fontWeight: \"bold\",\n }),\n \"--beam-CommunityImpact-iconCard-progress-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-progressText\"),\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-description\", {\n marginTop: \"10px\",\n lineHeight: \"1.3\",\n }),\n \"--beam-CommunityImpact-iconCard-description-textAlign\": \"left\",\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-goalCompletion\", {\n marginTop: \"10px\",\n }),\n \"--beam-CommunityImpact-iconCard-link-color\": \"inherit\",\n \"--beam-CommunityImpact-iconCard-linkArrow-display\": \"none\",\n ...defineCustomText(\"--beam-CommunityImpact-iconCard-link\", {\n marginTop: \"5px\",\n }),\n };\n\n const cardCount = this.impactDataController.data?.community.length || 0;\n const columnCount = cardCount === 3 ? 3 : this.cardStyle === \"icon\" ? 4 : 2;\n defaults[\"--beam-CommunityImpact-columns\"] = columnCount.toString();\n defaults[\"--beam-CommunityImpact-columns-minWidth\"] = this.cardStyle === \"image\" ? \"300px\" : \"200px\";\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 css`\n :host {\n display: block;\n font-family: var(--beam-fontFamily, inherit);\n font-style: var(--beam-fontStyle, inherit);\n font-size: var(--beam-fontSize, inherit);\n color: var(--beam-textColor, inherit);\n background-color: var(--beam-backgroundColor, inherit);\n line-height: var(--beam-lineHeight, 1);\n word-break: normal;\n }\n\n .beam-filter-tabs {\n ${useCustomText(\"--beam-CommunityImpact-filterTabs\")}\n margin-bottom: var(--beam-CommunityImpact-filterTabs-marginBottom, 10px);\n text-align: var(--beam-CommunityImpact-filterTabs-textalign, left);\n }\n\n .beam-nonprofit-image-cards,\n .beam-nonprofit-icon-cards {\n margin-top: 10px;\n }\n\n ${cssCardGrid({\n gap: \"20px\",\n className: \"beam-nonprofit-image-cards\",\n columnCount: \"var(--beam-CommunityImpact-columns)\",\n itemMinWidth: \"var(--beam-CommunityImpact-columns-minWidth)\",\n })}\n\n ${cssCardGrid({\n gap: \"40px\",\n className: \"beam-nonprofit-icon-cards\",\n columnCount: \"var(--beam-CommunityImpact-columns)\",\n itemMinWidth: \"var(--beam-CommunityImpact-columns-minWidth)\",\n })}\n\n /* Image Style Cards */\n\n .image-card {\n overflow-wrap: break-word;\n border-color: var(--beam-CommunityImpact-imageCard-borderColor);\n border-style: solid;\n border-width: var(--beam-CommunityImpact-imageCard-borderWidth);\n border-radius: var(--beam-CommunityImpact-imageCard-borderRadius);\n overflow: hidden;\n background-color: var(--beam-CommunityImpact-imageCard-backgroundColor);\n color: var(--beam-CommunityImpact-imageCard-foregroundColor);\n }\n\n .image-card-image-box {\n height: 200px;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n padding: 0 24px 16px;\n overflow-wrap: break-word;\n background-color: #555;\n background-blend-mode: overlay;\n background-size: cover;\n background-repeat: no-repeat;\n }\n\n .image-card-cause {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-cause\")}\n }\n\n .image-card-name {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-name\")}\n }\n\n .image-card-progress {\n margin-top: var(--beam-CommunityImpact-imageCard-progress-marginTop);\n }\n\n .image-card-progressText {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-progressText\")}\n }\n\n .image-card-description {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-description\")}\n }\n\n .image-card-link {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-link\")}\n }\n\n .image-card-link-arrow {\n display: var(--beam-CommunityImpact-imageCard-linkArrow-display, \"none\");\n }\n\n .image-card-goal-completion {\n ${useCustomText(\"--beam-CommunityImpact-imageCard-goalCompletion\")}\n font-style: var(--beam-CommunityImpact-imageCard-goalCompletion-fontStyle, italic);\n }\n\n .image-card-footer {\n margin-top: var(--beam-CommunityImpact-imageCard-footer-marginTop);\n }\n\n /* Icon Style Cards */\n\n .icon-card {\n display: flex;\n flex-direction: column;\n justify-content: start;\n align-items: center;\n }\n\n .icon-card-icon {\n height: 50px;\n }\n\n .icon-card-cause {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-cause\")}\n }\n\n .icon-card-name {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-name\")}\n }\n\n .icon-card-progress {\n margin-top: var(--beam-CommunityImpact-iconCard-progress-marginTop);\n }\n\n .icon-card-progressText {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-progressText\")}\n margin-left: 10px;\n }\n\n .icon-card-description {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-description\")}\n text-align: var(--beam-CommunityImpact-iconCard-description-textAlign, left);\n }\n\n .icon-card-link {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-link\")}\n }\n\n .icon-card-link-arrow {\n display: var(--beam-CommunityImpact-iconCard-linkArrow-display, \"none\");\n }\n\n .icon-card-goal-completion {\n ${useCustomText(\"--beam-CommunityImpact-iconCard-goalCompletion\")}\n font-style: var(--beam-CommunityImpact-iconCard-goalCompletion-fontStyle, italic);\n }\n\n .icon-card-footer {\n margin-top: var(--beam-CommunityImpact-iconCard-footer-marginTop);\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamCommunityImpact);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-community-impact\": BeamCommunityImpact;\n }\n}\n"],"names":["strings","times","BeamCommunityImpact","LitElement","DEFAULT_BASE_URL","enforceConfig","getImpact","WIDGET_NAMES","AsyncController","data","nonprofitImageAltText","learnMoreLinkAriaLabel","html","localizeUserString","unsafeHTML","nonprofitIconAltText","nonprofits","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","uniqueFilters","n","handleSeeAllFocus","handleFilterFocus","filter","styleMap","evt","selectedFilter","error","loading","_loading","_errorMessage","BeamError","filteredNonprofits","np","defaults","partnerLogosConfigDefaults","progressBarConfigDefaults","defineCustomText","columnCount","remoteConfig","config","_cssVariableMap","cssReset","css","useCustomText","cssCardGrid","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{t as C,h as b,y as u,g as m,f as y,p as I}from"../chunks/lit-WqMxC_PA.esm.js";import{d as x}from"../chunks/lodash-D3TLHRR_.esm.js";import{c as T,d as S,e as E}from"../chunks/enforce-config-CZ3ToOgr.esm.js";import{u as p,A as z,_ as f,i as d,d as h,a as B}from"../chunks/localize-Btu9xYcE.esm.js";import{D as k,i as D,S as L}from"../chunks/routes-C75nl1NS.esm.js";import{B as $}from"../chunks/beam-errors-Ci0d3926.esm.js";import{_ as V}from"../chunks/loading-template-DG4lkIIc.esm.js";import{i as A}from"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../utils/logger.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";var R=Object.defineProperty,v=(n,e,t,i)=>{for(var a=void 0,o=n.length-1,s;o>=0;o--)(s=n[o])&&(a=s(e,t,a)||a);return a&&R(e,t,a),a};class l extends b{constructor(){super(...arguments),this.finalValue=0,this.duration=1500,this.counter=0,this.intervalId=0,this.handleCounterAnimateIfInView=e=>{e.some(t=>t.isIntersecting)&&(this.animateCounter(),this.unobserveScrollTarget())},this.animateCounter=()=>{const e=41.666666666666664,t=e/this.duration*this.finalValue;this.intervalId=setInterval(()=>{const i=this.counter+t;if(i>=this.finalValue){this.counter=this.finalValue,clearInterval(this.intervalId);return}else this.counter=i},e)},this.observer=new IntersectionObserver(this.handleCounterAnimateIfInView,{threshold:.1}),this.observeScrollTarget=()=>{const e=this.scrollTargetElement;e&&this.observer.observe(e)},this.unobserveScrollTarget=()=>{const e=this.scrollTargetElement;e&&this.observer.unobserve(e)}}connectedCallback(){super.connectedCallback();const e=window.matchMedia("(prefers-reduced-motion: reduce)").matches;this.duration===0||e?this.counter=this.finalValue:this.observeScrollTarget()}disconnectedCallback(){super.disconnectedCallback(),this.unobserveScrollTarget(),clearInterval(this.intervalId)}get scrollTargetElement(){return this.scrollTarget?document.querySelector(this.scrollTarget):this}render(){return u`${Math.ceil(this.counter).toLocaleString()}`}}v([m({type:Number})],l.prototype,"finalValue"),v([m({type:Number})],l.prototype,"duration"),v([m({type:String})],l.prototype,"scrollTarget"),v([C()],l.prototype,"counter"),customElements.get("animated-counter")||customElements.define("animated-counter",l);const j=n=>{const e=n instanceof NodeList?Array.from(n):n;if(e.length===0||!A(e))return;const t=e.sort((a,o)=>{const s=getComputedStyle(a).getPropertyValue("width").replace("px",""),g=getComputedStyle(o).getPropertyValue("width").replace("px","");return parseInt(g)-parseInt(s)})[0],i=getComputedStyle(t).getPropertyValue("width");for(const a of e)getComputedStyle(a).getPropertyValue("width")!==i&&(a.style.width=i)},w={en:{cumulativeImpactTitle:()=>"What we've funded",cumulativeImpactDescription:()=>"Here's the impact that our community has made so far in partnership with Beam. Our impact is growing every day\u2014 scroll to check out the goals we're working toward together right now."},fr:{cumulativeImpactTitle:()=>"Ce que nous avons financ\xE9",cumulativeImpactDescription:()=>"Voici l'impact que notre communaut\xE9 a eu jusqu'\xE0 pr\xE9sent en partenariat avec Beam. Notre impact grandit chaque jour : faites d\xE9filer pour d\xE9couvrir les objectifs vers lesquels nous travaillons ensemble en ce moment."},de:{cumulativeImpactTitle:()=>"Was wir finanziert haben",cumulativeImpactDescription:()=>"Hier ist die Wirkung, die unsere Community bisher in Zusammenarbeit mit Beam erzielt hat. Unsere Wirkung w\xE4chst von Tag zu Tag - scrollen Sie, um einen Blick auf die Ziele zu werfen, auf die wir derzeit gemeinsam hinarbeiten."},es:{cumulativeImpactTitle:()=>"Lo que hemos financiado",cumulativeImpactDescription:()=>"Este es el impacto que nuestra comunidad ha tenido hasta ahora en asociaci\xF3n con Beam. Nuestro impacto crece cada d\xEDa; despl\xE1cese para ver los objetivos por los que estamos trabajando juntos en este momento."},it:{cumulativeImpactTitle:()=>"Cosa abbiamo finanziato",cumulativeImpactDescription:()=>"Ecco l'impatto che la nostra comunit\xE0 ha avuto finora in collaborazione con Beam. Il nostro impatto cresce ogni giorno: scorri per scoprire gli obiettivi a cui stiamo lavorando insieme in questo momento."},pl:{cumulativeImpactTitle:()=>"Co sfinansowali\u015Bmy",cumulativeImpactDescription:()=>"Oto wp\u0142yw, jaki nasza spo\u0142eczno\u015B\u0107 wywar\u0142a dotychczas we wsp\xF3\u0142pracy z Beam. Nasz wp\u0142yw ro\u015Bnie z ka\u017Cdym dniem \u2014 przewi\u0144, aby sprawdzi\u0107 cele, nad kt\xF3rymi obecnie wsp\xF3lnie pracujemy."},ja:{cumulativeImpactTitle:()=>"What we've funded",cumulativeImpactDescription:()=>"Here's the impact that our community has made so far in partnership with Beam. Our impact is growing every day\u2014 scroll to check out the goals we're working toward together right now."}};var q=Object.defineProperty,c=(n,e,t,i)=>{for(var a=void 0,o=n.length-1,s;o>=0;o--)(s=n[o])&&(a=s(e,t,a)||a);return a&&q(e,t,a),a};const U=1.5*1e3;class r extends b{constructor(){super(...arguments),this.baseUrl=k,this.lang="en",this.disableAnimation=!1,this.debug=!1,this.draftConfig=!1,this.getCumulativeImpactData=async()=>(E(["apiKey","chainId"],this),await D({baseUrl:this.baseUrl,pathParams:{chainId:this.chainId},headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{version:"1.0.0",lang:this.configLang,draftConfig:this.draftConfig}})),this.cumulativeImpactDataController=new z(this,this.getCumulativeImpactData),this.resizeElements=x(()=>{j(this.impactRowRefs)},50,{maxWait:50,leading:!0})}get configLang(){return L[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(e){const t=["chainId","baseUrl","lang"];for(const i of t)if(e.has(i)){await this.cumulativeImpactDataController.exec();break}this.resizeElements()}render(){const{data:e,error:t,loading:i}=this.cumulativeImpactDataController;return i?V():t?this.debug?f({error:t}):"":e==null?this.debug?f({error:new $("Missing data")}):"":u`
1
+ import{t as C,h as b,y as u,g as m,f as y,p as I}from"../chunks/lit-WqMxC_PA.esm.js";import{d as x}from"../chunks/lodash-D3TLHRR_.esm.js";import{c as T,d as S,e as E}from"../chunks/enforce-config-CZ3ToOgr.esm.js";import{u as p,A as z,_ as f,i as d,d as h,a as B}from"../chunks/localize-Btu9xYcE.esm.js";import{D as k,i as D,S as L}from"../chunks/routes-D0_9umO_.esm.js";import{B as $}from"../chunks/beam-errors-Ci0d3926.esm.js";import{_ as V}from"../chunks/loading-template-DG4lkIIc.esm.js";import{i as A}from"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../utils/logger.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";var R=Object.defineProperty,v=(n,e,t,i)=>{for(var a=void 0,o=n.length-1,s;o>=0;o--)(s=n[o])&&(a=s(e,t,a)||a);return a&&R(e,t,a),a};class l extends b{constructor(){super(...arguments),this.finalValue=0,this.duration=1500,this.counter=0,this.intervalId=0,this.handleCounterAnimateIfInView=e=>{e.some(t=>t.isIntersecting)&&(this.animateCounter(),this.unobserveScrollTarget())},this.animateCounter=()=>{const e=41.666666666666664,t=e/this.duration*this.finalValue;this.intervalId=setInterval(()=>{const i=this.counter+t;if(i>=this.finalValue){this.counter=this.finalValue,clearInterval(this.intervalId);return}else this.counter=i},e)},this.observer=new IntersectionObserver(this.handleCounterAnimateIfInView,{threshold:.1}),this.observeScrollTarget=()=>{const e=this.scrollTargetElement;e&&this.observer.observe(e)},this.unobserveScrollTarget=()=>{const e=this.scrollTargetElement;e&&this.observer.unobserve(e)}}connectedCallback(){super.connectedCallback();const e=window.matchMedia("(prefers-reduced-motion: reduce)").matches;this.duration===0||e?this.counter=this.finalValue:this.observeScrollTarget()}disconnectedCallback(){super.disconnectedCallback(),this.unobserveScrollTarget(),clearInterval(this.intervalId)}get scrollTargetElement(){return this.scrollTarget?document.querySelector(this.scrollTarget):this}render(){return u`${Math.ceil(this.counter).toLocaleString()}`}}v([m({type:Number})],l.prototype,"finalValue"),v([m({type:Number})],l.prototype,"duration"),v([m({type:String})],l.prototype,"scrollTarget"),v([C()],l.prototype,"counter"),customElements.get("animated-counter")||customElements.define("animated-counter",l);const j=n=>{const e=n instanceof NodeList?Array.from(n):n;if(e.length===0||!A(e))return;const t=e.sort((a,o)=>{const s=getComputedStyle(a).getPropertyValue("width").replace("px",""),g=getComputedStyle(o).getPropertyValue("width").replace("px","");return parseInt(g)-parseInt(s)})[0],i=getComputedStyle(t).getPropertyValue("width");for(const a of e)getComputedStyle(a).getPropertyValue("width")!==i&&(a.style.width=i)},w={en:{cumulativeImpactTitle:()=>"What we've funded",cumulativeImpactDescription:()=>"Here's the impact that our community has made so far in partnership with Beam. Our impact is growing every day\u2014 scroll to check out the goals we're working toward together right now."},fr:{cumulativeImpactTitle:()=>"Ce que nous avons financ\xE9",cumulativeImpactDescription:()=>"Voici l'impact que notre communaut\xE9 a eu jusqu'\xE0 pr\xE9sent en partenariat avec Beam. Notre impact grandit chaque jour : faites d\xE9filer pour d\xE9couvrir les objectifs vers lesquels nous travaillons ensemble en ce moment."},de:{cumulativeImpactTitle:()=>"Was wir finanziert haben",cumulativeImpactDescription:()=>"Hier ist die Wirkung, die unsere Community bisher in Zusammenarbeit mit Beam erzielt hat. Unsere Wirkung w\xE4chst von Tag zu Tag - scrollen Sie, um einen Blick auf die Ziele zu werfen, auf die wir derzeit gemeinsam hinarbeiten."},es:{cumulativeImpactTitle:()=>"Lo que hemos financiado",cumulativeImpactDescription:()=>"Este es el impacto que nuestra comunidad ha tenido hasta ahora en asociaci\xF3n con Beam. Nuestro impacto crece cada d\xEDa; despl\xE1cese para ver los objetivos por los que estamos trabajando juntos en este momento."},it:{cumulativeImpactTitle:()=>"Cosa abbiamo finanziato",cumulativeImpactDescription:()=>"Ecco l'impatto che la nostra comunit\xE0 ha avuto finora in collaborazione con Beam. Il nostro impatto cresce ogni giorno: scorri per scoprire gli obiettivi a cui stiamo lavorando insieme in questo momento."},pl:{cumulativeImpactTitle:()=>"Co sfinansowali\u015Bmy",cumulativeImpactDescription:()=>"Oto wp\u0142yw, jaki nasza spo\u0142eczno\u015B\u0107 wywar\u0142a dotychczas we wsp\xF3\u0142pracy z Beam. Nasz wp\u0142yw ro\u015Bnie z ka\u017Cdym dniem \u2014 przewi\u0144, aby sprawdzi\u0107 cele, nad kt\xF3rymi obecnie wsp\xF3lnie pracujemy."},ja:{cumulativeImpactTitle:()=>"What we've funded",cumulativeImpactDescription:()=>"Here's the impact that our community has made so far in partnership with Beam. Our impact is growing every day\u2014 scroll to check out the goals we're working toward together right now."}};var q=Object.defineProperty,c=(n,e,t,i)=>{for(var a=void 0,o=n.length-1,s;o>=0;o--)(s=n[o])&&(a=s(e,t,a)||a);return a&&q(e,t,a),a};const U=1.5*1e3;class r extends b{constructor(){super(...arguments),this.baseUrl=k,this.lang="en",this.disableAnimation=!1,this.debug=!1,this.draftConfig=!1,this.getCumulativeImpactData=async()=>(E(["apiKey","chainId"],this),await D({baseUrl:this.baseUrl,pathParams:{chainId:this.chainId},headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{version:"1.0.0",lang:this.configLang,draftConfig:this.draftConfig}})),this.cumulativeImpactDataController=new z(this,this.getCumulativeImpactData),this.resizeElements=x(()=>{j(this.impactRowRefs)},50,{maxWait:50,leading:!0})}get configLang(){return L[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(e){const t=["chainId","baseUrl","lang"];for(const i of t)if(e.has(i)){await this.cumulativeImpactDataController.exec();break}this.resizeElements()}render(){const{data:e,error:t,loading:i}=this.cumulativeImpactDataController;return i?V():t?this.debug?f({error:t}):"":e==null?this.debug?f({error:new $("Missing data")}):"":u`
2
2
  <style>
3
3
  :host {
4
4
  ${this.cssVariables.toCSS()}
@@ -1,4 +1,4 @@
1
- import{t as C,h as b,y as u,g as m,f as y,p as I}from"../chunks/lit-WqMxC_PA.esm.js";import{d as x}from"../chunks/lodash-D3TLHRR_.esm.js";import{c as T,d as S,e as E}from"../chunks/enforce-config-Ba1JkOHs.esm.js";import{u as p,A as z,_ as f,i as d,d as h,a as B}from"../chunks/localize-C25pEGnx.esm.js";import{D as k,i as D,S as L}from"../chunks/routes-BAqFeD8S.esm.js";import{B as $}from"../chunks/beam-errors-Ci0d3926.esm.js";import{_ as V}from"../chunks/loading-template-DG4lkIIc.esm.js";import{i as A}from"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../utils/logger.js";import"../chunks/promo-types-DKAOFHJr.esm.js";var R=Object.defineProperty,v=(n,e,t,i)=>{for(var a=void 0,o=n.length-1,s;o>=0;o--)(s=n[o])&&(a=s(e,t,a)||a);return a&&R(e,t,a),a};class l extends b{constructor(){super(...arguments),this.finalValue=0,this.duration=1500,this.counter=0,this.intervalId=0,this.handleCounterAnimateIfInView=e=>{e.some(t=>t.isIntersecting)&&(this.animateCounter(),this.unobserveScrollTarget())},this.animateCounter=()=>{const e=41.666666666666664,t=e/this.duration*this.finalValue;this.intervalId=setInterval(()=>{const i=this.counter+t;if(i>=this.finalValue){this.counter=this.finalValue,clearInterval(this.intervalId);return}else this.counter=i},e)},this.observer=new IntersectionObserver(this.handleCounterAnimateIfInView,{threshold:.1}),this.observeScrollTarget=()=>{const e=this.scrollTargetElement;e&&this.observer.observe(e)},this.unobserveScrollTarget=()=>{const e=this.scrollTargetElement;e&&this.observer.unobserve(e)}}connectedCallback(){super.connectedCallback();const e=window.matchMedia("(prefers-reduced-motion: reduce)").matches;this.duration===0||e?this.counter=this.finalValue:this.observeScrollTarget()}disconnectedCallback(){super.disconnectedCallback(),this.unobserveScrollTarget(),clearInterval(this.intervalId)}get scrollTargetElement(){return this.scrollTarget?document.querySelector(this.scrollTarget):this}render(){return u`${Math.ceil(this.counter).toLocaleString()}`}}v([m({type:Number})],l.prototype,"finalValue"),v([m({type:Number})],l.prototype,"duration"),v([m({type:String})],l.prototype,"scrollTarget"),v([C()],l.prototype,"counter"),customElements.get("animated-counter")||customElements.define("animated-counter",l);const j=n=>{const e=n instanceof NodeList?Array.from(n):n;if(e.length===0||!A(e))return;const t=e.sort((a,o)=>{const s=getComputedStyle(a).getPropertyValue("width").replace("px",""),g=getComputedStyle(o).getPropertyValue("width").replace("px","");return parseInt(g)-parseInt(s)})[0],i=getComputedStyle(t).getPropertyValue("width");for(const a of e)getComputedStyle(a).getPropertyValue("width")!==i&&(a.style.width=i)},w={en:{cumulativeImpactTitle:()=>"What we've funded",cumulativeImpactDescription:()=>"Here's the impact that our community has made so far in partnership with Beam. Our impact is growing every day\u2014 scroll to check out the goals we're working toward together right now."},fr:{cumulativeImpactTitle:()=>"Ce que nous avons financ\xE9",cumulativeImpactDescription:()=>"Voici l'impact que notre communaut\xE9 a eu jusqu'\xE0 pr\xE9sent en partenariat avec Beam. Notre impact grandit chaque jour : faites d\xE9filer pour d\xE9couvrir les objectifs vers lesquels nous travaillons ensemble en ce moment."},de:{cumulativeImpactTitle:()=>"Was wir finanziert haben",cumulativeImpactDescription:()=>"Hier ist die Wirkung, die unsere Community bisher in Zusammenarbeit mit Beam erzielt hat. Unsere Wirkung w\xE4chst von Tag zu Tag - scrollen Sie, um einen Blick auf die Ziele zu werfen, auf die wir derzeit gemeinsam hinarbeiten."},es:{cumulativeImpactTitle:()=>"Lo que hemos financiado",cumulativeImpactDescription:()=>"Este es el impacto que nuestra comunidad ha tenido hasta ahora en asociaci\xF3n con Beam. Nuestro impacto crece cada d\xEDa; despl\xE1cese para ver los objetivos por los que estamos trabajando juntos en este momento."},it:{cumulativeImpactTitle:()=>"Cosa abbiamo finanziato",cumulativeImpactDescription:()=>"Ecco l'impatto che la nostra comunit\xE0 ha avuto finora in collaborazione con Beam. Il nostro impatto cresce ogni giorno: scorri per scoprire gli obiettivi a cui stiamo lavorando insieme in questo momento."},pl:{cumulativeImpactTitle:()=>"Co sfinansowali\u015Bmy",cumulativeImpactDescription:()=>"Oto wp\u0142yw, jaki nasza spo\u0142eczno\u015B\u0107 wywar\u0142a dotychczas we wsp\xF3\u0142pracy z Beam. Nasz wp\u0142yw ro\u015Bnie z ka\u017Cdym dniem \u2014 przewi\u0144, aby sprawdzi\u0107 cele, nad kt\xF3rymi obecnie wsp\xF3lnie pracujemy."},ja:{cumulativeImpactTitle:()=>"What we've funded",cumulativeImpactDescription:()=>"Here's the impact that our community has made so far in partnership with Beam. Our impact is growing every day\u2014 scroll to check out the goals we're working toward together right now."}};var q=Object.defineProperty,c=(n,e,t,i)=>{for(var a=void 0,o=n.length-1,s;o>=0;o--)(s=n[o])&&(a=s(e,t,a)||a);return a&&q(e,t,a),a};const U=1.5*1e3;class r extends b{constructor(){super(...arguments),this.baseUrl=k,this.lang="en",this.disableAnimation=!1,this.debug=!1,this.draftConfig=!1,this.getCumulativeImpactData=async()=>(E(["apiKey","chainId"],this),await D({baseUrl:this.baseUrl,pathParams:{chainId:this.chainId},headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{version:"1.0.0",lang:this.configLang,draftConfig:this.draftConfig}})),this.cumulativeImpactDataController=new z(this,this.getCumulativeImpactData),this.resizeElements=x(()=>{j(this.impactRowRefs)},50,{maxWait:50,leading:!0})}get configLang(){return L[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(e){const t=["chainId","baseUrl","lang"];for(const i of t)if(e.has(i)){await this.cumulativeImpactDataController.exec();break}this.resizeElements()}render(){const{data:e,error:t,loading:i}=this.cumulativeImpactDataController;return i?V():t?this.debug?f({error:t}):"":e==null?this.debug?f({error:new $("Missing data")}):"":u`
1
+ import{t as C,h as b,y as u,g as m,f as y,p as I}from"../chunks/lit-WqMxC_PA.esm.js";import{d as x}from"../chunks/lodash-D3TLHRR_.esm.js";import{c as T,d as S,e as E}from"../chunks/enforce-config-Ba1JkOHs.esm.js";import{u as p,A as z,_ as f,i as d,d as h,a as B}from"../chunks/localize-C25pEGnx.esm.js";import{D as k,i as D,S as L}from"../chunks/routes-BGx3ADhY.esm.js";import{B as $}from"../chunks/beam-errors-Ci0d3926.esm.js";import{_ as V}from"../chunks/loading-template-DG4lkIIc.esm.js";import{i as A}from"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../utils/logger.js";import"../chunks/promo-types-DKAOFHJr.esm.js";var R=Object.defineProperty,v=(n,e,t,i)=>{for(var a=void 0,o=n.length-1,s;o>=0;o--)(s=n[o])&&(a=s(e,t,a)||a);return a&&R(e,t,a),a};class l extends b{constructor(){super(...arguments),this.finalValue=0,this.duration=1500,this.counter=0,this.intervalId=0,this.handleCounterAnimateIfInView=e=>{e.some(t=>t.isIntersecting)&&(this.animateCounter(),this.unobserveScrollTarget())},this.animateCounter=()=>{const e=41.666666666666664,t=e/this.duration*this.finalValue;this.intervalId=setInterval(()=>{const i=this.counter+t;if(i>=this.finalValue){this.counter=this.finalValue,clearInterval(this.intervalId);return}else this.counter=i},e)},this.observer=new IntersectionObserver(this.handleCounterAnimateIfInView,{threshold:.1}),this.observeScrollTarget=()=>{const e=this.scrollTargetElement;e&&this.observer.observe(e)},this.unobserveScrollTarget=()=>{const e=this.scrollTargetElement;e&&this.observer.unobserve(e)}}connectedCallback(){super.connectedCallback();const e=window.matchMedia("(prefers-reduced-motion: reduce)").matches;this.duration===0||e?this.counter=this.finalValue:this.observeScrollTarget()}disconnectedCallback(){super.disconnectedCallback(),this.unobserveScrollTarget(),clearInterval(this.intervalId)}get scrollTargetElement(){return this.scrollTarget?document.querySelector(this.scrollTarget):this}render(){return u`${Math.ceil(this.counter).toLocaleString()}`}}v([m({type:Number})],l.prototype,"finalValue"),v([m({type:Number})],l.prototype,"duration"),v([m({type:String})],l.prototype,"scrollTarget"),v([C()],l.prototype,"counter"),customElements.get("animated-counter")||customElements.define("animated-counter",l);const j=n=>{const e=n instanceof NodeList?Array.from(n):n;if(e.length===0||!A(e))return;const t=e.sort((a,o)=>{const s=getComputedStyle(a).getPropertyValue("width").replace("px",""),g=getComputedStyle(o).getPropertyValue("width").replace("px","");return parseInt(g)-parseInt(s)})[0],i=getComputedStyle(t).getPropertyValue("width");for(const a of e)getComputedStyle(a).getPropertyValue("width")!==i&&(a.style.width=i)},w={en:{cumulativeImpactTitle:()=>"What we've funded",cumulativeImpactDescription:()=>"Here's the impact that our community has made so far in partnership with Beam. Our impact is growing every day\u2014 scroll to check out the goals we're working toward together right now."},fr:{cumulativeImpactTitle:()=>"Ce que nous avons financ\xE9",cumulativeImpactDescription:()=>"Voici l'impact que notre communaut\xE9 a eu jusqu'\xE0 pr\xE9sent en partenariat avec Beam. Notre impact grandit chaque jour : faites d\xE9filer pour d\xE9couvrir les objectifs vers lesquels nous travaillons ensemble en ce moment."},de:{cumulativeImpactTitle:()=>"Was wir finanziert haben",cumulativeImpactDescription:()=>"Hier ist die Wirkung, die unsere Community bisher in Zusammenarbeit mit Beam erzielt hat. Unsere Wirkung w\xE4chst von Tag zu Tag - scrollen Sie, um einen Blick auf die Ziele zu werfen, auf die wir derzeit gemeinsam hinarbeiten."},es:{cumulativeImpactTitle:()=>"Lo que hemos financiado",cumulativeImpactDescription:()=>"Este es el impacto que nuestra comunidad ha tenido hasta ahora en asociaci\xF3n con Beam. Nuestro impacto crece cada d\xEDa; despl\xE1cese para ver los objetivos por los que estamos trabajando juntos en este momento."},it:{cumulativeImpactTitle:()=>"Cosa abbiamo finanziato",cumulativeImpactDescription:()=>"Ecco l'impatto che la nostra comunit\xE0 ha avuto finora in collaborazione con Beam. Il nostro impatto cresce ogni giorno: scorri per scoprire gli obiettivi a cui stiamo lavorando insieme in questo momento."},pl:{cumulativeImpactTitle:()=>"Co sfinansowali\u015Bmy",cumulativeImpactDescription:()=>"Oto wp\u0142yw, jaki nasza spo\u0142eczno\u015B\u0107 wywar\u0142a dotychczas we wsp\xF3\u0142pracy z Beam. Nasz wp\u0142yw ro\u015Bnie z ka\u017Cdym dniem \u2014 przewi\u0144, aby sprawdzi\u0107 cele, nad kt\xF3rymi obecnie wsp\xF3lnie pracujemy."},ja:{cumulativeImpactTitle:()=>"What we've funded",cumulativeImpactDescription:()=>"Here's the impact that our community has made so far in partnership with Beam. Our impact is growing every day\u2014 scroll to check out the goals we're working toward together right now."}};var q=Object.defineProperty,c=(n,e,t,i)=>{for(var a=void 0,o=n.length-1,s;o>=0;o--)(s=n[o])&&(a=s(e,t,a)||a);return a&&q(e,t,a),a};const U=1.5*1e3;class r extends b{constructor(){super(...arguments),this.baseUrl=k,this.lang="en",this.disableAnimation=!1,this.debug=!1,this.draftConfig=!1,this.getCumulativeImpactData=async()=>(E(["apiKey","chainId"],this),await D({baseUrl:this.baseUrl,pathParams:{chainId:this.chainId},headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{version:"1.0.0",lang:this.configLang,draftConfig:this.draftConfig}})),this.cumulativeImpactDataController=new z(this,this.getCumulativeImpactData),this.resizeElements=x(()=>{j(this.impactRowRefs)},50,{maxWait:50,leading:!0})}get configLang(){return L[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(e){const t=["chainId","baseUrl","lang"];for(const i of t)if(e.has(i)){await this.cumulativeImpactDataController.exec();break}this.resizeElements()}render(){const{data:e,error:t,loading:i}=this.cumulativeImpactDataController;return i?V():t?this.debug?f({error:t}):"":e==null?this.debug?f({error:new $("Missing data")}):"":u`
2
2
  <style>
3
3
  :host {
4
4
  ${this.cssVariables.toCSS()}
@@ -1,4 +1,4 @@
1
- import{f as k,g as c,p as f,h as E,k as $,y as T}from"../chunks/lit-WqMxC_PA.esm.js";import{d as U}from"../chunks/lodash-D3TLHRR_.esm.js";import{D,g as j,W as R,S as F}from"../chunks/routes-C75nl1NS.esm.js";import{p as P}from"../chunks/progress-bar-DF7UuuHb.esm.js";import{u as s,A,i as g,_ as O,d,a as _}from"../chunks/localize-Btu9xYcE.esm.js";import{c as V,d as W,e as G}from"../chunks/enforce-config-CZ3ToOgr.esm.js";import{_ as K}from"../chunks/loading-template-DG4lkIIc.esm.js";import{logger as M}from"../utils/logger.esm.js";import"../chunks/_share-dialog-dependencies-CrXoTXJn.esm.js";import{s as h,a as Y}from"../chunks/share-button-BSHKEfJo.esm.js";import{partnerLogosConfigDefaults as q}from"./beam-partner-logos.esm.js";import{c as H}from"../chunks/responsive-BR8qUfBa.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../chunks/share-button-BxWziSBl.esm.js";const l={en:{descriptionTitle:({nonprofitName:a="a nonprofit"})=>`You just made an impact for ${a}`,descriptionSubtitle:({brandName:a=""})=>`Check out the impact your ${a} purchase made below.`,yourImpactTitle:()=>"You\u2019re funding",communityImpactTitle:()=>"Together we\u2019re funding",personalImpactLinkCopy:({nonprofitName:a=""})=>`Learn about ${a}`,communityImpactLinkCopy:({brandName:a=""})=>`See all of the ${a} community's impact`,impactShareButton:()=>"Share to Grow Your Impact"},fr:{descriptionTitle:({nonprofitName:a="une organisation"})=>`Vous avez cr\xE9\xE9 un impact pour ${a}`,descriptionSubtitle:({brandName:a=""})=>`D\xE9couvrez ci-dessous l'impact de votre achat ${a}.`,yourImpactTitle:()=>"Vous financez",communityImpactTitle:()=>"Ensemble, nous finan\xE7ons",personalImpactLinkCopy:({nonprofitName:a=""})=>`En savoir plus sur ${a}`,communityImpactLinkCopy:({brandName:a=""})=>`Voir tout l'impact de la communaut\xE9 ${a}`,impactShareButton:()=>"Partagez pour d\xE9velopper votre impact"},de:{descriptionTitle:({nonprofitName:a="eine Organisation"})=>`Du hast einen Beitrag f\xFCr ${a} geleistet`,descriptionSubtitle:({brandName:a=""})=>`Sieh dir unten den Beitrag an, den dein ${a} Einkauf gemacht hat.`,yourImpactTitle:()=>"Du finanzierst",communityImpactTitle:()=>"Gemeinsam finanzieren wir",personalImpactLinkCopy:({nonprofitName:a=""})=>`Mehr \xFCber ${a} erfahren`,communityImpactLinkCopy:({brandName:a=""})=>`Sieh dir den gesamten Beitrag der ${a}-Community an`,impactShareButton:()=>"Teile, um deinen Beitrag zu vergr\xF6\xDFern"},es:{descriptionTitle:({nonprofitName:a="una organizaci\xF3n"})=>`Generaste un impacto para ${a}`,descriptionSubtitle:({brandName:a=""})=>`Mira a continuaci\xF3n el impacto que tu compra de ${a} ha generado.`,yourImpactTitle:()=>"Est\xE1s financiando",communityImpactTitle:()=>"Juntos estamos financiando",personalImpactLinkCopy:({nonprofitName:a=""})=>`Conoce m\xE1s sobre ${a}`,communityImpactLinkCopy:({brandName:a=""})=>`Mira todo el impacto de la comunidad ${a}`,impactShareButton:()=>"Comparte para hacer crecer tu impacto"},it:{descriptionTitle:({nonprofitName:a="un'organizzazione"})=>`Hai creato un impatto per ${a}`,descriptionSubtitle:({brandName:a=""})=>`Scopri qui sotto l'impatto del tuo acquisto ${a}.`,yourImpactTitle:()=>"Stai finanziando",communityImpactTitle:()=>"Insieme stiamo finanziando",personalImpactLinkCopy:({nonprofitName:a=""})=>`Scopri di pi\xF9 su ${a}`,communityImpactLinkCopy:({brandName:a=""})=>`Guarda tutto l'impatto della comunit\xE0 ${a}`,impactShareButton:()=>"Condividi per far crescere il tuo impatto"},pl:{descriptionTitle:({nonprofitName:a="organizacj\u0119"})=>`Wywar\u0142a\u015B_e\u015B wp\u0142yw na ${a}`,descriptionSubtitle:({brandName:a=""})=>`Sprawd\u017A poni\u017Cej, jaki wp\u0142yw mia\u0142 Tw\xF3j zakup ${a}.`,yourImpactTitle:()=>"Finansujesz",communityImpactTitle:()=>"Razem finansujemy",personalImpactLinkCopy:({nonprofitName:a=""})=>`Dowiedz si\u0119 wi\u0119cej o ${a}`,communityImpactLinkCopy:({brandName:a=""})=>`Zobacz ca\u0142y wp\u0142yw spo\u0142eczno\u015Bci ${a}`,impactShareButton:()=>"Udost\u0119pnij, aby powi\u0119kszy\u0107 sw\xF3j wp\u0142yw"},ja:{descriptionTitle:({nonprofitName:a="a nonprofit"})=>`You just made an impact for ${a}`,descriptionSubtitle:({brandName:a=""})=>`Check out the impact your ${a} purchase made below.`,yourImpactTitle:()=>"You\u2019re funding",communityImpactTitle:()=>"Together we\u2019re funding",personalImpactLinkCopy:({nonprofitName:a=""})=>`Learn about ${a}`,communityImpactLinkCopy:({brandName:a=""})=>`See all of the ${a} community's impact`,impactShareButton:()=>"Share to Grow Your Impact"}};var J=Object.defineProperty,i=(a,e,r,p)=>{for(var n=void 0,m=a.length-1,o;m>=0;m--)(o=a[m])&&(n=o(e,r,n)||n);return n&&J(e,r,n),n};class t extends E{constructor(){super(...arguments),this.baseUrl=D,this.lang="en",this.debug=!1,this.draftConfig=!1,this.getImpactData=async()=>(G(["apiKey","userId","nonprofitId"],this),await j({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{nonprofitId:this.nonprofitId,beamUserId:this.userId,personalImpactLimit:1,communityImpactLimit:1,storeId:this.storeId,widgetName:R.impact_overview,version:"1.0.0",draftConfig:this.draftConfig,lang:this.configLang,discountCodes:this.discountCodes&&this.discountCodes.length>0?this.discountCodes:void 0,transactionId:this.transactionId??void 0}})),this.impactDataController=new A(this,this.getImpactData),this.resizeElements=U(()=>{h(this.impactTitleRefs),h(this.impactDescriptionRefs),h(this.impactLinkRefs),h(this.goalCompletionTextRefs)},50,{maxWait:50,leading:!0})}get configLang(){return F[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(e){const r=["baseUrl","storeId","apiKey","userId","lang","discountCodes"];for(const p of r)if(e.has(p)){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(e){if(document.fonts.status==="loading")return await document.fonts.ready.catch(r=>M.error(r)),e()}renderCard({imageUrl:e,title:r,percentFunded:p,goalProgressText:n,description:m,urlCopy:o,impactUrl:b,isImage:u,cardType:y,goalCompletionText:v}){return T`
1
+ import{f as k,g as c,p as f,h as N,k as $,y as T}from"../chunks/lit-WqMxC_PA.esm.js";import{d as F}from"../chunks/lodash-D3TLHRR_.esm.js";import{D as U,g as D,W as A,S as R}from"../chunks/routes-D0_9umO_.esm.js";import{p as j}from"../chunks/progress-bar-DF7UuuHb.esm.js";import{u as s,A as P,i as g,_ as O,d,a as _}from"../chunks/localize-Btu9xYcE.esm.js";import{c as V,d as W,e as G}from"../chunks/enforce-config-CZ3ToOgr.esm.js";import{_ as K}from"../chunks/loading-template-DG4lkIIc.esm.js";import{logger as M}from"../utils/logger.esm.js";import"../chunks/_share-dialog-dependencies-o8GVV6gC.esm.js";import{s as h,a as q}from"../chunks/share-button-CV5FZFS9.esm.js";import{partnerLogosConfigDefaults as Y}from"./beam-partner-logos.esm.js";import{c as H}from"../chunks/responsive-BR8qUfBa.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../chunks/vendor-KKSARHWL.esm.js";import"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../chunks/share-button-DcaL0AYo.esm.js";const l={en:{descriptionTitle:({nonprofitName:a="a nonprofit"})=>`You just made an impact for ${a}`,descriptionSubtitle:({brandName:a=""})=>`Check out the impact your ${a} purchase made below.`,yourImpactTitle:()=>"You\u2019re funding",communityImpactTitle:()=>"Together we\u2019re funding",personalImpactLinkCopy:({nonprofitName:a=""})=>`Learn about ${a}`,communityImpactLinkCopy:({brandName:a=""})=>`See all of the ${a} community's impact`,impactShareButton:()=>"Share to Grow Your Impact"},fr:{descriptionTitle:({nonprofitName:a="une organisation"})=>`Vous avez cr\xE9\xE9 un impact pour ${a}`,descriptionSubtitle:({brandName:a=""})=>`D\xE9couvrez ci-dessous l'impact de votre achat ${a}.`,yourImpactTitle:()=>"Vous financez",communityImpactTitle:()=>"Ensemble, nous finan\xE7ons",personalImpactLinkCopy:({nonprofitName:a=""})=>`En savoir plus sur ${a}`,communityImpactLinkCopy:({brandName:a=""})=>`Voir tout l'impact de la communaut\xE9 ${a}`,impactShareButton:()=>"Partagez pour d\xE9velopper votre impact"},de:{descriptionTitle:({nonprofitName:a="eine Organisation"})=>`Du hast einen Beitrag f\xFCr ${a} geleistet`,descriptionSubtitle:({brandName:a=""})=>`Sieh dir unten den Beitrag an, den dein ${a} Einkauf gemacht hat.`,yourImpactTitle:()=>"Du finanzierst",communityImpactTitle:()=>"Gemeinsam finanzieren wir",personalImpactLinkCopy:({nonprofitName:a=""})=>`Mehr \xFCber ${a} erfahren`,communityImpactLinkCopy:({brandName:a=""})=>`Sieh dir den gesamten Beitrag der ${a}-Community an`,impactShareButton:()=>"Teile, um deinen Beitrag zu vergr\xF6\xDFern"},es:{descriptionTitle:({nonprofitName:a="una organizaci\xF3n"})=>`Generaste un impacto para ${a}`,descriptionSubtitle:({brandName:a=""})=>`Mira a continuaci\xF3n el impacto que tu compra de ${a} ha generado.`,yourImpactTitle:()=>"Est\xE1s financiando",communityImpactTitle:()=>"Juntos estamos financiando",personalImpactLinkCopy:({nonprofitName:a=""})=>`Conoce m\xE1s sobre ${a}`,communityImpactLinkCopy:({brandName:a=""})=>`Mira todo el impacto de la comunidad ${a}`,impactShareButton:()=>"Comparte para hacer crecer tu impacto"},it:{descriptionTitle:({nonprofitName:a="un'organizzazione"})=>`Hai creato un impatto per ${a}`,descriptionSubtitle:({brandName:a=""})=>`Scopri qui sotto l'impatto del tuo acquisto ${a}.`,yourImpactTitle:()=>"Stai finanziando",communityImpactTitle:()=>"Insieme stiamo finanziando",personalImpactLinkCopy:({nonprofitName:a=""})=>`Scopri di pi\xF9 su ${a}`,communityImpactLinkCopy:({brandName:a=""})=>`Guarda tutto l'impatto della comunit\xE0 ${a}`,impactShareButton:()=>"Condividi per far crescere il tuo impatto"},pl:{descriptionTitle:({nonprofitName:a="organizacj\u0119"})=>`Wywar\u0142a\u015B_e\u015B wp\u0142yw na ${a}`,descriptionSubtitle:({brandName:a=""})=>`Sprawd\u017A poni\u017Cej, jaki wp\u0142yw mia\u0142 Tw\xF3j zakup ${a}.`,yourImpactTitle:()=>"Finansujesz",communityImpactTitle:()=>"Razem finansujemy",personalImpactLinkCopy:({nonprofitName:a=""})=>`Dowiedz si\u0119 wi\u0119cej o ${a}`,communityImpactLinkCopy:({brandName:a=""})=>`Zobacz ca\u0142y wp\u0142yw spo\u0142eczno\u015Bci ${a}`,impactShareButton:()=>"Udost\u0119pnij, aby powi\u0119kszy\u0107 sw\xF3j wp\u0142yw"},ja:{descriptionTitle:({nonprofitName:a=""})=>`\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\uFF01${a}\u3078\u306E\u5BC4\u4ED8\u306B\u3088\u308A\u3001\u4E16\u754C\u306B\u78BA\u304B\u306A\u5909\u5316\u3092\u3082\u305F\u3089\u3057\u307E\u3057\u305F\u3002`,descriptionSubtitle:({brandName:a=""})=>`${a}\u3067\u306E\u3054\u8CFC\u5165\u304C\u3001\u3069\u306E\u3088\u3046\u306B\u4EBA\u3005\u306E\u5F79\u306B\u7ACB\u3064\u304B\u3092\u3054\u78BA\u8A8D\u304F\u3060\u3055\u3044\u3002`,yourImpactTitle:()=>"\u3042\u306A\u305F\u306E\u652F\u63F4\u5B9F\u7E3E",communityImpactTitle:()=>"\u79C1\u305F\u3061\u306F\u5171\u306B\u652F\u63F4\u3057\u3066\u3044\u307E\u3059",personalImpactLinkCopy:({nonprofitName:a=""})=>`${a} \u306B\u3064\u3044\u3066\u8A73\u3057\u304F\u898B\u308B`,communityImpactLinkCopy:({brandName:a=""})=>`${a}\u30B3\u30DF\u30E5\u30CB\u30C6\u30A3\u306E\u6D3B\u52D5\u5B9F\u7E3E\u3092\u3059\u3079\u3066\u898B\u308B `,impactShareButton:()=>"SNS\u3067\u30B7\u30A7\u30A2\u3059\u308B"}};var J=Object.defineProperty,i=(a,e,r,p)=>{for(var n=void 0,m=a.length-1,o;m>=0;m--)(o=a[m])&&(n=o(e,r,n)||n);return n&&J(e,r,n),n};class t extends N{constructor(){super(...arguments),this.baseUrl=U,this.lang="en",this.debug=!1,this.draftConfig=!1,this.getImpactData=async()=>(G(["apiKey","userId","nonprofitId"],this),await D({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{nonprofitId:this.nonprofitId,beamUserId:this.userId,personalImpactLimit:1,communityImpactLimit:1,storeId:this.storeId,widgetName:A.impact_overview,version:"1.0.0",draftConfig:this.draftConfig,lang:this.configLang,discountCodes:this.discountCodes&&this.discountCodes.length>0?this.discountCodes:void 0,transactionId:this.transactionId??void 0}})),this.impactDataController=new P(this,this.getImpactData),this.resizeElements=F(()=>{h(this.impactTitleRefs),h(this.impactDescriptionRefs),h(this.impactLinkRefs),h(this.goalCompletionTextRefs)},50,{maxWait:50,leading:!0})}get configLang(){return R[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(e){const r=["baseUrl","storeId","apiKey","userId","lang","discountCodes"];for(const p of r)if(e.has(p)){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(e){if(document.fonts.status==="loading")return await document.fonts.ready.catch(r=>M.error(r)),e()}renderCard({imageUrl:e,title:r,percentFunded:p,goalProgressText:n,description:m,urlCopy:o,impactUrl:b,isImage:u,cardType:y,goalCompletionText:v}){return T`
2
2
  <div class="impact-card ${u?"":"icon"}" part="impact-card">
3
3
  <div class="${u?"":"icon-background "}">
4
4
  <img src="${e}" alt="${r}" class="${u?"impact-card-image":"impact-card-icon"}" />
@@ -26,7 +26,7 @@ import{f as k,g as c,p as f,h as E,k as $,y as T}from"../chunks/lit-WqMxC_PA.esm
26
26
  </p>
27
27
  </div>
28
28
  </div>
29
- `}render(){const{data:e,loading:r,error:p}=this.impactDataController;if(r)return K();if(p)return this.debug?O({error:p}):"";if(e==null)return this.debug?O({error:new Error("No data")}):"";const n=this.impactDataController.data?.chain.name,m=this.cssVariables["--beam-ImpactOverview-cardStyle"],o=m==="'image'",b=m==="'selected_icon'",u=e.personal[0]?.imageUrl||"",y=e.community[0].imageUrl||"",v=e.personal[0]?.nonprofit.causeIconUrl,w=e.personal[0]?.nonprofit.causeIconSelectedUrl,S=o?u:b?w:v,L=o?y:b?w:v,z=this.impactDataController.data?.promoAssetUrl||this.impactDataController.data?.personalImpactAssetUrl,C=this.cssVariables["--beam-ImpactOverview-share-button-display"]!=="none",N=C&&this.cssVariables["--beam-ImpactOverview-share-button-display-mobile"]!=="none",x=C&&this.cssVariables["--beam-ImpactOverview-share-button-display-desktop"]!=="none",B=this.cssVariables["--beam-ImpactOverview-share-button-icon-name"]||"share-2";let I="d-none";return N?I=x?"d-block":"d-lg-none":I=x?"d-none d-lg-block":"d-none",T`
29
+ `}render(){const{data:e,loading:r,error:p}=this.impactDataController;if(r)return K();if(p)return this.debug?O({error:p}):"";if(e==null)return this.debug?O({error:new Error("No data")}):"";const n=this.impactDataController.data?.chain.name,m=this.cssVariables["--beam-ImpactOverview-cardStyle"],o=m==="'image'",b=m==="'selected_icon'",u=e.personal[0]?.imageUrl||"",y=e.community[0].imageUrl||"",v=e.personal[0]?.nonprofit.causeIconUrl,C=e.personal[0]?.nonprofit.causeIconSelectedUrl,B=o?u:b?C:v,S=o?y:b?C:v,E=this.impactDataController.data?.promoAssetUrl||this.impactDataController.data?.personalImpactAssetUrl,w=this.cssVariables["--beam-ImpactOverview-share-button-display"]!=="none",L=w&&this.cssVariables["--beam-ImpactOverview-share-button-display-mobile"]!=="none",x=w&&this.cssVariables["--beam-ImpactOverview-share-button-display-desktop"]!=="none",z=this.cssVariables["--beam-ImpactOverview-share-button-icon-name"]||"share-2";let I="d-none";return L?I=x?"d-block":"d-lg-none":I=x?"d-none d-lg-block":"d-none",T`
30
30
  <style>
31
31
  :host {
32
32
  ${this.cssVariables.toCSS()}
@@ -52,18 +52,18 @@ import{f as k,g as c,p as f,h as E,k as $,y as T}from"../chunks/lit-WqMxC_PA.esm
52
52
 
53
53
  <div class="${o?"impact-image-cards":"impact-icon-cards"}" part="impact-cards">
54
54
  <div class="impact your-impact ${o?"image-card-container":"icon-card-container"}">
55
- ${this.renderCard({isImage:o,imageUrl:S||"",title:l[this.configLang].yourImpactTitle(),percentFunded:e.personal[0]?.impact?.goalProgressPercentage||0,goalProgressText:e.personal[0]?.impact?.goalProgressText,description:g(this.configLang,e.personal[0]?.impact?.description||""),urlCopy:e.personal[0].nonprofit?.name,impactUrl:e.personal[0].nonprofit?.website||"",cardType:"personal",goalCompletionText:e.personal[0].impact.goalCompletionText})}
55
+ ${this.renderCard({isImage:o,imageUrl:B||"",title:l[this.configLang].yourImpactTitle(),percentFunded:e.personal[0]?.impact?.goalProgressPercentage||0,goalProgressText:e.personal[0]?.impact?.goalProgressText,description:g(this.configLang,e.personal[0]?.impact?.description||""),urlCopy:e.personal[0].nonprofit?.name,impactUrl:e.personal[0].nonprofit?.website||"",cardType:"personal",goalCompletionText:e.personal[0].impact.goalCompletionText})}
56
56
  </div>
57
57
  <div class="impact community-impact ${o?"image-card-container":"icon-card-container"}">
58
- ${this.renderCard({isImage:o,imageUrl:L||"",title:l[this.configLang].communityImpactTitle(),percentFunded:e.community[0].impact?.goalProgressPercentage||0,goalProgressText:e.community[0]?.impact?.goalProgressText,description:g(this.configLang,e.community[0].impact?.description||""),urlCopy:e.chain.name,impactUrl:e.store.communityPageURL||e.chain.communityImpactUrl||e.personal[0].nonprofit.website||"",cardType:"community",goalCompletionText:e.community[0].impact.goalCompletionText})}
58
+ ${this.renderCard({isImage:o,imageUrl:S||"",title:l[this.configLang].communityImpactTitle(),percentFunded:e.community[0].impact?.goalProgressPercentage||0,goalProgressText:e.community[0]?.impact?.goalProgressText,description:g(this.configLang,e.community[0].impact?.description||""),urlCopy:e.chain.name,impactUrl:e.store.communityPageURL||e.chain.communityImpactUrl||e.personal[0].nonprofit.website||"",cardType:"community",goalCompletionText:e.community[0].impact.goalCompletionText})}
59
59
  </div>
60
60
  </div>
61
61
 
62
62
  <div class="footer ${I} shareButtonContainer" part="social-share">
63
63
  <beam-share-button
64
- imageUrl="${z}"
64
+ imageUrl="${E}"
65
65
  brandName="${n}"
66
- shareIcon="${B}"
66
+ shareIcon="${z}"
67
67
  buttonText="${l[this.configLang].impactShareButton()}"
68
68
  configLang="${this.configLang}"
69
69
  baseUrl="${this.baseUrl}"
@@ -75,7 +75,7 @@ import{f as k,g as c,p as f,h as E,k as $,y as T}from"../chunks/lit-WqMxC_PA.esm
75
75
  </div>
76
76
 
77
77
  <div id="modal-root"></div>
78
- `}get cssVariables(){const e={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit",...q,...P,...Y,...d("--beam-ImpactOverview-title",{fontSize:"16px",fontWeight:"bold",marginTop:"10px",textTransform:"capitalize"}),...d("--beam-ImpactOverview-subtitle",{marginTop:"5px"}),"--beam-ImpactOverview-impactCards-maxWidth":"650px","--beam-ImpactOverview-impactCard-backgroundColor":"inherit","--beam-ImpactOverview-impactCard-foregroundColor":"currentColor","--beam-ImpactOverview-impactCard-borderColor":"currentColor","--beam-ImpactOverview-impactCard-borderRadius":"5px","--beam-ImpactOverview-impactCard-marginTop":"10px",...d("--beam-ImpactOverview-impactCard-title",{fontSize:"15px",fontWeight:"bold",letterSpacing:"0.36px"}),"--beam-ImpactOverview-impactCard-progress-marginTop":"8px",...d("--beam-ImpactOverview-impactCard-progressText"),...d("--beam-ImpactOverview-impactCard-description",{marginTop:"10px"}),"--beam-ImpactOverview-impactCard-linkArrow-display":"inline","--beam-ImpactOverview-impactCard-link-color":"inherit",...d("--beam-ImpactOverview-impactCard-link",{marginTop:"10px",textDecoration:"underline",textTransform:"capitalize"}),...d("--beam-ImpactOverview-goalCompletionText",{marginTop:"5px",fontWeight:"600",textTransform:"capitalize",fontSize:"13px"}),"--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","--beam-ImpactOverview-cardStyle":"'image'","--beam-ImpactOverview-iconBackground-width":"75px","--beam-ImpactOverview-iconBackground-height":"75px","--beam-ImpactOverview-iconBackground-borderRadius":"50px","--beam-ImpactOverview-icon-padding":"0px","--beam-ImpactOverview-iconBackground-background":"#f3f3f3","--beam-ImpactOverview-impactCard-shareButton-background":"#fff","--beam-ImpactOverview-impactCard-shareButton-boxShadow":"0px -20px 20px 0px rgb(0 0 0 / 2%)"},r=this.impactDataController?.data?.config?.web?.theme||{},p={...e,...r};return Object.assign(Object.create({toCSS(){return _(this)}}),p)}}t.tagName="beam-impact-overview",t.styles=[V,H,k`
78
+ `}get cssVariables(){const e={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit",...Y,...j,...q,...d("--beam-ImpactOverview-title",{fontSize:"16px",fontWeight:"bold",marginTop:"10px",textTransform:"capitalize"}),...d("--beam-ImpactOverview-subtitle",{marginTop:"5px"}),"--beam-ImpactOverview-impactCards-maxWidth":"650px","--beam-ImpactOverview-impactCard-backgroundColor":"inherit","--beam-ImpactOverview-impactCard-foregroundColor":"currentColor","--beam-ImpactOverview-impactCard-borderColor":"currentColor","--beam-ImpactOverview-impactCard-borderRadius":"5px","--beam-ImpactOverview-impactCard-marginTop":"10px",...d("--beam-ImpactOverview-impactCard-title",{fontSize:"15px",fontWeight:"bold",letterSpacing:"0.36px"}),"--beam-ImpactOverview-impactCard-progress-marginTop":"8px",...d("--beam-ImpactOverview-impactCard-progressText"),...d("--beam-ImpactOverview-impactCard-description",{marginTop:"10px"}),"--beam-ImpactOverview-impactCard-linkArrow-display":"inline","--beam-ImpactOverview-impactCard-link-color":"inherit",...d("--beam-ImpactOverview-impactCard-link",{marginTop:"10px",textDecoration:"underline",textTransform:"capitalize"}),...d("--beam-ImpactOverview-goalCompletionText",{marginTop:"5px",fontWeight:"600",textTransform:"capitalize",fontSize:"13px"}),"--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","--beam-ImpactOverview-cardStyle":"'image'","--beam-ImpactOverview-iconBackground-width":"75px","--beam-ImpactOverview-iconBackground-height":"75px","--beam-ImpactOverview-iconBackground-borderRadius":"50px","--beam-ImpactOverview-icon-padding":"0px","--beam-ImpactOverview-iconBackground-background":"#f3f3f3","--beam-ImpactOverview-impactCard-shareButton-background":"#fff","--beam-ImpactOverview-impactCard-shareButton-boxShadow":"0px -20px 20px 0px rgb(0 0 0 / 2%)"},r=this.impactDataController?.data?.config?.web?.theme||{},p={...e,...r};return Object.assign(Object.create({toCSS(){return _(this)}}),p)}}t.tagName="beam-impact-overview",t.styles=[V,H,k`
79
79
  :host {
80
80
  display: block;
81
81
  font-family: var(--beam-fontFamily);