@beamimpact/web-sdk 1.52.1 → 1.52.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 (128) hide show
  1. package/dist/chunks/{_share-dialog-dependencies-BwdvNwrJ.esm.js → _share-dialog-dependencies-BvevL0CH.esm.js} +2 -2
  2. package/dist/chunks/{_share-dialog-dependencies-BwdvNwrJ.esm.js.map → _share-dialog-dependencies-BvevL0CH.esm.js.map} +1 -1
  3. package/dist/chunks/{_share-dialog-dependencies-QaTONkKb.esm.js → _share-dialog-dependencies-Dt4WMt_y.esm.js} +2 -2
  4. package/dist/chunks/{_share-dialog-dependencies-QaTONkKb.esm.js.map → _share-dialog-dependencies-Dt4WMt_y.esm.js.map} +1 -1
  5. package/dist/chunks/index-BYnzONl8.esm.js +2 -0
  6. package/dist/chunks/index-BYnzONl8.esm.js.map +1 -0
  7. package/dist/chunks/{index-BsuCVFh-.esm.js → index-BZlgN66e.esm.js} +2 -2
  8. package/dist/chunks/index-BZlgN66e.esm.js.map +1 -0
  9. package/dist/chunks/{index-C9SnlT_2.esm.js → index-BlE3m0uQ.esm.js} +2 -2
  10. package/dist/chunks/index-BlE3m0uQ.esm.js.map +1 -0
  11. package/dist/chunks/index-CNPuQxhN.esm.js +2 -0
  12. package/dist/chunks/index-CNPuQxhN.esm.js.map +1 -0
  13. package/dist/chunks/{index-DElVAjg2.esm.js → index-CWZ6mszB.esm.js} +2 -2
  14. package/dist/chunks/{index-DElVAjg2.esm.js.map → index-CWZ6mszB.esm.js.map} +1 -1
  15. package/dist/chunks/index-DMbz_yfr.esm.js +2 -0
  16. package/dist/chunks/index-DMbz_yfr.esm.js.map +1 -0
  17. package/dist/chunks/{index-DTGB86pM.esm.js → index-DVOp4ShL.esm.js} +2 -2
  18. package/dist/chunks/{index-DTGB86pM.esm.js.map → index-DVOp4ShL.esm.js.map} +1 -1
  19. package/dist/chunks/index-DtPf9NaI.esm.js +2 -0
  20. package/dist/chunks/index-DtPf9NaI.esm.js.map +1 -0
  21. package/dist/chunks/{order-page-stMlaqKK.esm.js → order-page-D5xI18DI.esm.js} +2 -2
  22. package/dist/chunks/{order-page-stMlaqKK.esm.js.map → order-page-D5xI18DI.esm.js.map} +1 -1
  23. package/dist/chunks/{order-page-BbrDKYmJ.esm.js → order-page-DrOzbzU8.esm.js} +2 -2
  24. package/dist/chunks/{order-page-BbrDKYmJ.esm.js.map → order-page-DrOzbzU8.esm.js.map} +1 -1
  25. package/dist/chunks/{routes-CAhDCFDX.esm.js → routes-S0vKQTft.esm.js} +2 -2
  26. package/dist/chunks/{routes-CAhDCFDX.esm.js.map → routes-S0vKQTft.esm.js.map} +1 -1
  27. package/dist/chunks/{routes-pcL-CUiQ.esm.js → routes-TtLdALcf.esm.js} +2 -2
  28. package/dist/chunks/{routes-pcL-CUiQ.esm.js.map → routes-TtLdALcf.esm.js.map} +1 -1
  29. package/dist/chunks/{share-button-BYVId0-U.esm.js → share-button-Ck4hnQPC.esm.js} +2 -2
  30. package/dist/chunks/{share-button-BYVId0-U.esm.js.map → share-button-Ck4hnQPC.esm.js.map} +1 -1
  31. package/dist/chunks/{share-button-BvUcpOcx.esm.js → share-button-Cq3aCOGt.esm.js} +2 -2
  32. package/dist/chunks/{share-button-BvUcpOcx.esm.js.map → share-button-Cq3aCOGt.esm.js.map} +1 -1
  33. package/dist/chunks/{share-button-C-DXj68Z.esm.js → share-button-DBLPdobK.esm.js} +2 -2
  34. package/dist/chunks/{share-button-C-DXj68Z.esm.js.map → share-button-DBLPdobK.esm.js.map} +1 -1
  35. package/dist/chunks/{share-button-CtklpZOO.esm.js → share-button-P726e8AH.esm.js} +2 -2
  36. package/dist/chunks/{share-button-CtklpZOO.esm.js.map → share-button-P726e8AH.esm.js.map} +1 -1
  37. package/dist/chunks/{update-cart-BLsw_Faz.esm.js → update-cart-DMO5uiQX.esm.js} +2 -2
  38. package/dist/chunks/{update-cart-BLsw_Faz.esm.js.map → update-cart-DMO5uiQX.esm.js.map} +1 -1
  39. package/dist/chunks/{update-cart-ciJaz8li.esm.js → update-cart-g_YbHKJQ.esm.js} +2 -2
  40. package/dist/chunks/{update-cart-ciJaz8li.esm.js.map → update-cart-g_YbHKJQ.esm.js.map} +1 -1
  41. package/dist/components/community-impact.esm.js +17 -17
  42. package/dist/components/community-impact.esm.js.map +1 -1
  43. package/dist/components/community-impact.js +17 -17
  44. package/dist/components/community-impact.js.map +1 -1
  45. package/dist/components/cumulative-impact.esm.js +1 -1
  46. package/dist/components/cumulative-impact.js +1 -1
  47. package/dist/components/impact-overview.esm.js +2 -2
  48. package/dist/components/impact-overview.esm.js.map +1 -1
  49. package/dist/components/impact-overview.js +2 -2
  50. package/dist/components/impact-overview.js.map +1 -1
  51. package/dist/components/index.esm.js +1 -1
  52. package/dist/components/index.js +1 -1
  53. package/dist/components/post-purchase.esm.js +1 -1
  54. package/dist/components/post-purchase.js +1 -1
  55. package/dist/components/product-details-page.esm.js +12 -1
  56. package/dist/components/product-details-page.esm.js.map +1 -1
  57. package/dist/components/product-details-page.js +12 -1
  58. package/dist/components/product-details-page.js.map +1 -1
  59. package/dist/components/redeem-transaction.esm.js +4 -3
  60. package/dist/components/redeem-transaction.esm.js.map +1 -1
  61. package/dist/components/redeem-transaction.js +4 -3
  62. package/dist/components/redeem-transaction.js.map +1 -1
  63. package/dist/components/select-nonprofit.esm.js +1 -1
  64. package/dist/components/select-nonprofit.js +1 -1
  65. package/dist/components/select-subscription-nonprofit.esm.js +1 -1
  66. package/dist/components/select-subscription-nonprofit.js +1 -1
  67. package/dist/components/shopify.esm.js +1 -1
  68. package/dist/components/shopify.js +1 -1
  69. package/dist/components/social-share.esm.js +1 -1
  70. package/dist/components/social-share.js +1 -1
  71. package/dist/components/subscription-impact.esm.js +15 -15
  72. package/dist/components/subscription-impact.esm.js.map +1 -1
  73. package/dist/components/subscription-impact.js +15 -15
  74. package/dist/components/subscription-impact.js.map +1 -1
  75. package/dist/components/subscription-management.d.ts +30 -0
  76. package/dist/components/subscription-management.esm.js +56 -56
  77. package/dist/components/subscription-management.esm.js.map +1 -1
  78. package/dist/components/subscription-management.js +56 -56
  79. package/dist/components/subscription-management.js.map +1 -1
  80. package/dist/index.esm.js +1 -1
  81. package/dist/index.js +1 -1
  82. package/dist/integrations/beam.esm.js +1 -1
  83. package/dist/integrations/beam.js +1 -1
  84. package/dist/integrations/cart.esm.js +1 -1
  85. package/dist/integrations/cart.js +1 -1
  86. package/dist/integrations/index.esm.js +1 -1
  87. package/dist/integrations/index.js +1 -1
  88. package/dist/integrations/logs.esm.js +1 -1
  89. package/dist/integrations/logs.js +1 -1
  90. package/dist/integrations/shopify.esm.js +1 -1
  91. package/dist/integrations/shopify.js +1 -1
  92. package/dist/integrations/statsig.esm.js +1 -1
  93. package/dist/integrations/statsig.js +1 -1
  94. package/dist/react/community-impact.esm.js +1 -1
  95. package/dist/react/community-impact.js +1 -1
  96. package/dist/react/cumulative-impact.esm.js +1 -1
  97. package/dist/react/cumulative-impact.js +1 -1
  98. package/dist/react/impact-overview.esm.js +1 -1
  99. package/dist/react/impact-overview.js +1 -1
  100. package/dist/react/index.esm.js +1 -1
  101. package/dist/react/index.js +1 -1
  102. package/dist/react/post-purchase.esm.js +1 -1
  103. package/dist/react/post-purchase.js +1 -1
  104. package/dist/react/product-details-page.esm.js +1 -1
  105. package/dist/react/product-details-page.js +1 -1
  106. package/dist/react/redeem-transaction.esm.js +1 -1
  107. package/dist/react/redeem-transaction.js +1 -1
  108. package/dist/react/select-nonprofit.esm.js +1 -1
  109. package/dist/react/select-nonprofit.js +1 -1
  110. package/dist/react/select-subscription-nonprofit.esm.js +1 -1
  111. package/dist/react/select-subscription-nonprofit.js +1 -1
  112. package/dist/react/social-share.esm.js +1 -1
  113. package/dist/react/social-share.js +1 -1
  114. package/dist/react/subscription-impact.esm.js +1 -1
  115. package/dist/react/subscription-impact.js +1 -1
  116. package/dist/react/subscription-management.esm.js +1 -1
  117. package/dist/react/subscription-management.js +1 -1
  118. package/package.json +1 -1
  119. package/dist/chunks/index-B5vRxWI3.esm.js +0 -2
  120. package/dist/chunks/index-B5vRxWI3.esm.js.map +0 -1
  121. package/dist/chunks/index-BsuCVFh-.esm.js.map +0 -1
  122. package/dist/chunks/index-C9SnlT_2.esm.js.map +0 -1
  123. package/dist/chunks/index-CFZqe2Wn.esm.js +0 -2
  124. package/dist/chunks/index-CFZqe2Wn.esm.js.map +0 -1
  125. package/dist/chunks/index-CTt5RnKY.esm.js +0 -2
  126. package/dist/chunks/index-CTt5RnKY.esm.js.map +0 -1
  127. package/dist/chunks/index-DZt3Lbb4.esm.js +0 -2
  128. package/dist/chunks/index-DZt3Lbb4.esm.js.map +0 -1
@@ -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};\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 })}\"\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 })}\"\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\">${data.nonprofit?.cause}</p>\n <h2 class=\"icon-card-name\">${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};\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 l,f as y,p as I}from"../chunks/lit-WqMxC_PA.esm.js";import{d as x}from"../chunks/lodash-7H4x2457.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 v,a as B}from"../chunks/localize-Btu9xYcE.esm.js";import{D as k,k as D,S as L}from"../chunks/routes-pcL-CUiQ.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";var R=Object.defineProperty,h=(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 c 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()}`}}h([l({type:Number})],c.prototype,"finalValue"),h([l({type:Number})],c.prototype,"duration"),h([l({type:String})],c.prototype,"scrollTarget"),h([C()],c.prototype,"counter"),customElements.get("animated-counter")||customElements.define("animated-counter",c);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."}};var q=Object.defineProperty,m=(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 l,f as y,p as I}from"../chunks/lit-WqMxC_PA.esm.js";import{d as x}from"../chunks/lodash-7H4x2457.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 v,a as B}from"../chunks/localize-Btu9xYcE.esm.js";import{D as k,k as D,S as L}from"../chunks/routes-TtLdALcf.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";var R=Object.defineProperty,h=(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 c 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()}`}}h([l({type:Number})],c.prototype,"finalValue"),h([l({type:Number})],c.prototype,"duration"),h([l({type:String})],c.prototype,"scrollTarget"),h([C()],c.prototype,"counter"),customElements.get("animated-counter")||customElements.define("animated-counter",c);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."}};var q=Object.defineProperty,m=(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 l,f as y,p as I}from"../chunks/lit-WqMxC_PA.esm.js";import{d as x}from"../chunks/lodash-7H4x2457.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 v,a as B}from"../chunks/localize-C25pEGnx.esm.js";import{D as k,k as D,S as L}from"../chunks/routes-CAhDCFDX.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";var R=Object.defineProperty,h=(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 c 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()}`}}h([l({type:Number})],c.prototype,"finalValue"),h([l({type:Number})],c.prototype,"duration"),h([l({type:String})],c.prototype,"scrollTarget"),h([C()],c.prototype,"counter"),customElements.get("animated-counter")||customElements.define("animated-counter",c);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."}};var q=Object.defineProperty,m=(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 l,f as y,p as I}from"../chunks/lit-WqMxC_PA.esm.js";import{d as x}from"../chunks/lodash-7H4x2457.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 v,a as B}from"../chunks/localize-C25pEGnx.esm.js";import{D as k,k as D,S as L}from"../chunks/routes-S0vKQTft.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";var R=Object.defineProperty,h=(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 c 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()}`}}h([l({type:Number})],c.prototype,"finalValue"),h([l({type:Number})],c.prototype,"duration"),h([l({type:String})],c.prototype,"scrollTarget"),h([C()],c.prototype,"counter"),customElements.get("animated-counter")||customElements.define("animated-counter",c);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."}};var q=Object.defineProperty,m=(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 $,g as n,p as v,h as D,k as T,y as O}from"../chunks/lit-WqMxC_PA.esm.js";import{d as N}from"../chunks/lodash-7H4x2457.esm.js";import{D as R,g as F,W as j,S as A}from"../chunks/routes-pcL-CUiQ.esm.js";import{p as P}from"../chunks/progress-bar-DF7UuuHb.esm.js";import{u as l,A as _,i as b,_ as S,d as u,a as V}from"../chunks/localize-Btu9xYcE.esm.js";import{c as W,d as K,e as q}from"../chunks/enforce-config-CZ3ToOgr.esm.js";import{_ as G}from"../chunks/loading-template-DG4lkIIc.esm.js";import{logger as M}from"../utils/logger.esm.js";import"../chunks/_share-dialog-dependencies-BwdvNwrJ.esm.js";import{s as h,a as H}from"../chunks/share-button-BvUcpOcx.esm.js";import{partnerLogosConfigDefaults as Y}from"./beam-partner-logos.esm.js";import{c as J}from"../chunks/responsive-BR8qUfBa.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-C-DXj68Z.esm.js";const g={en:{descriptionTitle:({nonprofitName:e="a nonprofit"})=>`You've just made an impact for ${e}`,descriptionSubtitle:()=>"Check out the impact your purchase made below.",yourImpactTitle:()=>"You\u2019ve Funded",communityImpactTitle:()=>"Together we\u2019re funding",personalImpactLinkCopy:({name:e=""})=>`Learn about ${e}`,communityImpactLinkCopy:({name:e=""})=>`See all of the impact by the ${e} community`,impactShareButton:()=>"Share to Grow Your Impact"},fr:{descriptionTitle:({nonprofitName:e=""})=>`Vous avez eu un impact positif sur ${e}`,descriptionSubtitle:({causeName:e=""})=>`D\xE9couvrez quel est l'impact de votre achat chez ${e} ci-dessous.`,yourImpactTitle:()=>"Vous avez financ\xE9",communityImpactTitle:()=>"Ensemble, nous finan\xE7ons",personalImpactLinkCopy:({name:e=""})=>`En savoir sur ${e}`,communityImpactLinkCopy:({name:e=""})=>`Voir toutes les contributions de la communaut\xE9 de ${e}`,impactShareButton:()=>"Partagez pour augmentez notre cause"},de:{descriptionTitle:({nonprofitName:e=""})=>`Du hast soeben einen Beitrag geleistet f\xFCr ${e}`,descriptionSubtitle:({causeName:e=""})=>`Erfahre mehr \xFCber den Beitrag, den du mit deinem ${e} Kauf geleistet hast`,yourImpactTitle:()=>"Sie haben finanziert",communityImpactTitle:()=>"Gemeinsam finanzieren wir",personalImpactLinkCopy:({name:e=""})=>`Mehr \xFCber ${e} lernen`,communityImpactLinkCopy:({name:e=""})=>`Informiere dich \xFCber den bisher geleisteten Beitrag der ${e} community`,impactShareButton:()=>"Teil, um unserem Beitrag zu erh\xF6hen"},es:{descriptionTitle:({nonprofitName:e=""})=>`Acabas de contribuir con ${e}`,descriptionSubtitle:({causeName:e=""})=>`Comprueba la contribuci\xF3n que has hecho con tu compra ${e} a continuaci\xF3n`,yourImpactTitle:()=>"Has financiado",communityImpactTitle:()=>"Juntos estamos financiando",personalImpactLinkCopy:({name:e=""})=>`Saber de ${e}`,communityImpactLinkCopy:({name:e=""})=>`Mira lo que ha conseguido la comunidad ${e}`,impactShareButton:()=>"Comparte para aumentar nuestro impacto"},it:{descriptionTitle:({nonprofitName:e=""})=>`Hai appena fatto la differenza per ${e}`,descriptionSubtitle:({causeName:e=""})=>`Guarda qui sotto l'impatto del tuo acquisto ${e}`,yourImpactTitle:()=>"Hai finanziato",communityImpactTitle:()=>"Insieme stiamo finanziando",personalImpactLinkCopy:({name:e=""})=>`Scopri su ${e}`,communityImpactLinkCopy:({name:e=""})=>`Guarda come la comunit\xE0 di ${e} fa la differenza`,impactShareButton:()=>"Condividi, aiutaci a fare la differenza"},pl:{descriptionTitle:({nonprofitName:e=""})=>`W\u0142a\u015Bnie wspar\u0142a\u015B_e\u015B ${e}!`,descriptionSubtitle:({causeName:e=""})=>`Sprawd\u017A ni\u017Cej, jakiego wsparcia udzieli\u0142a\u015B_e\u015B kupuj\u0105c w ${e} `,yourImpactTitle:()=>"Sfinansowa\u0142e\u015B(a) ",communityImpactTitle:()=>"Razem finansujemy",personalImpactLinkCopy:({name:e=""})=>`Dowiedz si\u0119 o ${e}`,communityImpactLinkCopy:({name:e=""})=>`Zobacz, ile dobrego zrobi\u0142a do tej pory spo\u0142eczno\u015B\u0107 ${e}`,impactShareButton:()=>"Udost\u0119pnij, by szerzy\u0107 nasz\u0105 misj\u0119"}};var Z=Object.defineProperty,i=(e,a,r,c)=>{for(var o=void 0,p=e.length-1,s;p>=0;p--)(s=e[p])&&(o=s(a,r,o)||o);return o&&Z(a,r,o),o};class t extends D{constructor(){super(...arguments),this.baseUrl=R,this.lang="en",this.debug=!1,this.draftConfig=!1,this.getImpactData=async()=>(q(["apiKey","userId","nonprofitId"],this),await F({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{nonprofitId:this.nonprofitId,beamUserId:this.userId,personalImpactLimit:1,communityImpactLimit:1,storeId:this.storeId,widgetName:j.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 _(this,this.getImpactData),this.resizeElements=N(()=>{h(this.impactTitleRefs),h(this.impactDescriptionRefs),h(this.impactLinkRefs),h(this.goalCompletionTextRefs)},50,{maxWait:50,leading:!0})}get configLang(){return A[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(a){const r=["baseUrl","storeId","apiKey","userId","lang","discountCodes"];for(const c of r)if(a.has(c)){await this.impactDataController.exec();break}this.resizeElements(),await this.handleFontLoad(this.resizeElements)}disconnectedCallback(){window.removeEventListener("resize",this.resizeElements),document.fonts.removeEventListener("loadingdone",this.resizeElements),super.disconnectedCallback()}async handleFontLoad(a){if(document.fonts.status==="loading")return await document.fonts.ready.catch(r=>M.error(r)),a()}renderCard({imageUrl:a,title:r,percentFunded:c,goalProgressText:o,description:p,urlCopy:s,impactUrl:m,isImage:d,cardType:f,goalCompletionText:y}){return O`
1
+ import{f as $,g as n,p as v,h as D,k as T,y as O}from"../chunks/lit-WqMxC_PA.esm.js";import{d as N}from"../chunks/lodash-7H4x2457.esm.js";import{D as R,g as F,W as j,S as A}from"../chunks/routes-TtLdALcf.esm.js";import{p as P}from"../chunks/progress-bar-DF7UuuHb.esm.js";import{u as l,A as _,i as b,_ as S,d as u,a as V}from"../chunks/localize-Btu9xYcE.esm.js";import{c as W,d as K,e as q}from"../chunks/enforce-config-CZ3ToOgr.esm.js";import{_ as G}from"../chunks/loading-template-DG4lkIIc.esm.js";import{logger as M}from"../utils/logger.esm.js";import"../chunks/_share-dialog-dependencies-BvevL0CH.esm.js";import{s as h,a as H}from"../chunks/share-button-Cq3aCOGt.esm.js";import{partnerLogosConfigDefaults as Y}from"./beam-partner-logos.esm.js";import{c as J}from"../chunks/responsive-BR8qUfBa.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-DBLPdobK.esm.js";const g={en:{descriptionTitle:({nonprofitName:e="a nonprofit"})=>`You've just made an impact for ${e}`,descriptionSubtitle:()=>"Check out the impact your purchase made below.",yourImpactTitle:()=>"You\u2019ve Funded",communityImpactTitle:()=>"Together we\u2019re funding",personalImpactLinkCopy:({name:e=""})=>`Learn about ${e}`,communityImpactLinkCopy:({name:e=""})=>`See all of the impact by the ${e} community`,impactShareButton:()=>"Share to Grow Your Impact"},fr:{descriptionTitle:({nonprofitName:e=""})=>`Vous avez eu un impact positif sur ${e}`,descriptionSubtitle:({causeName:e=""})=>`D\xE9couvrez quel est l'impact de votre achat chez ${e} ci-dessous.`,yourImpactTitle:()=>"Vous avez financ\xE9",communityImpactTitle:()=>"Ensemble, nous finan\xE7ons",personalImpactLinkCopy:({name:e=""})=>`En savoir sur ${e}`,communityImpactLinkCopy:({name:e=""})=>`Voir toutes les contributions de la communaut\xE9 de ${e}`,impactShareButton:()=>"Partagez pour augmentez notre cause"},de:{descriptionTitle:({nonprofitName:e=""})=>`Du hast soeben einen Beitrag geleistet f\xFCr ${e}`,descriptionSubtitle:({causeName:e=""})=>`Erfahre mehr \xFCber den Beitrag, den du mit deinem ${e} Kauf geleistet hast`,yourImpactTitle:()=>"Sie haben finanziert",communityImpactTitle:()=>"Gemeinsam finanzieren wir",personalImpactLinkCopy:({name:e=""})=>`Mehr \xFCber ${e} lernen`,communityImpactLinkCopy:({name:e=""})=>`Informiere dich \xFCber den bisher geleisteten Beitrag der ${e} community`,impactShareButton:()=>"Teil, um unserem Beitrag zu erh\xF6hen"},es:{descriptionTitle:({nonprofitName:e=""})=>`Acabas de contribuir con ${e}`,descriptionSubtitle:({causeName:e=""})=>`Comprueba la contribuci\xF3n que has hecho con tu compra ${e} a continuaci\xF3n`,yourImpactTitle:()=>"Has financiado",communityImpactTitle:()=>"Juntos estamos financiando",personalImpactLinkCopy:({name:e=""})=>`Saber de ${e}`,communityImpactLinkCopy:({name:e=""})=>`Mira lo que ha conseguido la comunidad ${e}`,impactShareButton:()=>"Comparte para aumentar nuestro impacto"},it:{descriptionTitle:({nonprofitName:e=""})=>`Hai appena fatto la differenza per ${e}`,descriptionSubtitle:({causeName:e=""})=>`Guarda qui sotto l'impatto del tuo acquisto ${e}`,yourImpactTitle:()=>"Hai finanziato",communityImpactTitle:()=>"Insieme stiamo finanziando",personalImpactLinkCopy:({name:e=""})=>`Scopri su ${e}`,communityImpactLinkCopy:({name:e=""})=>`Guarda come la comunit\xE0 di ${e} fa la differenza`,impactShareButton:()=>"Condividi, aiutaci a fare la differenza"},pl:{descriptionTitle:({nonprofitName:e=""})=>`W\u0142a\u015Bnie wspar\u0142a\u015B_e\u015B ${e}!`,descriptionSubtitle:({causeName:e=""})=>`Sprawd\u017A ni\u017Cej, jakiego wsparcia udzieli\u0142a\u015B_e\u015B kupuj\u0105c w ${e} `,yourImpactTitle:()=>"Sfinansowa\u0142e\u015B(a) ",communityImpactTitle:()=>"Razem finansujemy",personalImpactLinkCopy:({name:e=""})=>`Dowiedz si\u0119 o ${e}`,communityImpactLinkCopy:({name:e=""})=>`Zobacz, ile dobrego zrobi\u0142a do tej pory spo\u0142eczno\u015B\u0107 ${e}`,impactShareButton:()=>"Udost\u0119pnij, by szerzy\u0107 nasz\u0105 misj\u0119"}};var Z=Object.defineProperty,i=(e,a,r,c)=>{for(var o=void 0,p=e.length-1,s;p>=0;p--)(s=e[p])&&(o=s(a,r,o)||o);return o&&Z(a,r,o),o};class t extends D{constructor(){super(...arguments),this.baseUrl=R,this.lang="en",this.debug=!1,this.draftConfig=!1,this.getImpactData=async()=>(q(["apiKey","userId","nonprofitId"],this),await F({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{nonprofitId:this.nonprofitId,beamUserId:this.userId,personalImpactLimit:1,communityImpactLimit:1,storeId:this.storeId,widgetName:j.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 _(this,this.getImpactData),this.resizeElements=N(()=>{h(this.impactTitleRefs),h(this.impactDescriptionRefs),h(this.impactLinkRefs),h(this.goalCompletionTextRefs)},50,{maxWait:50,leading:!0})}get configLang(){return A[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(a){const r=["baseUrl","storeId","apiKey","userId","lang","discountCodes"];for(const c of r)if(a.has(c)){await this.impactDataController.exec();break}this.resizeElements(),await this.handleFontLoad(this.resizeElements)}disconnectedCallback(){window.removeEventListener("resize",this.resizeElements),document.fonts.removeEventListener("loadingdone",this.resizeElements),super.disconnectedCallback()}async handleFontLoad(a){if(document.fonts.status==="loading")return await document.fonts.ready.catch(r=>M.error(r)),a()}renderCard({imageUrl:a,title:r,percentFunded:c,goalProgressText:o,description:p,urlCopy:s,impactUrl:m,isImage:d,cardType:f,goalCompletionText:y}){return O`
2
2
  <div class="impact-card ${d?"":"icon"}" part="impact-card">
3
3
  <div class="${d?"":"icon-background "}">
4
4
  <img src="${a}" alt="${r}" class="${d?"impact-card-image":"impact-card-icon"}" />
@@ -50,7 +50,7 @@ import{f as $,g as n,p as v,h as D,k as T,y as O}from"../chunks/lit-WqMxC_PA.esm
50
50
  </div>
51
51
  </div>
52
52
 
53
- <div class="${m?"impact-image-cards":"impact-icon-cards"}">
53
+ <div class="${m?"impact-image-cards":"impact-icon-cards"}" part="impact-cards">
54
54
  <div class="impact your-impact ${m?"image-card-container":"icon-card-container"}">
55
55
  ${this.renderCard({isImage:m,imageUrl:L||"",title:g[this.configLang].yourImpactTitle(),percentFunded:a.personal[0]?.impact?.goalProgressPercentage||0,goalProgressText:a.personal[0]?.impact?.goalProgressText,description:b(this.configLang,a.personal[0]?.impact?.description||""),urlCopy:a.personal[0].nonprofit?.name,impactUrl:a.personal[0].nonprofit?.website||"",cardType:"personal",goalCompletionText:a.personal[0].impact.goalCompletionText})}
56
56
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"impact-overview.esm.js","sources":["../../src/components/impact-overview/strings.ts","../../src/components/impact-overview/index.ts"],"sourcesContent":["export const strings = {\n en: {\n descriptionTitle: ({ nonprofitName = \"a nonprofit\" }) => `You've just made an impact for ${nonprofitName}`,\n descriptionSubtitle: () => `Check out the impact your purchase made below.`,\n yourImpactTitle: () => `You’ve Funded`,\n communityImpactTitle: () => `Together we’re funding`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Learn about ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `See all of the impact by the ${name} community`,\n // share modal\n impactShareButton: () => `Share to Grow Your Impact`,\n },\n fr: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Vous avez eu un impact positif sur ${nonprofitName}`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) =>\n `Découvrez quel est l'impact de votre achat chez ${causeName} ci-dessous.`, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Vous avez financé`,\n communityImpactTitle: () => `Ensemble, nous finançons`,\n personalImpactLinkCopy: ({ name = \"\" }) => `En savoir sur ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Voir toutes les contributions de la communauté de ${name}`,\n // share modal\n impactShareButton: () => `Partagez pour augmentez notre cause`,\n },\n de: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Du hast soeben einen Beitrag geleistet für ${nonprofitName}`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) =>\n `Erfahre mehr über den Beitrag, den du mit deinem ${causeName} Kauf geleistet hast`, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Sie haben finanziert`,\n communityImpactTitle: () => `Gemeinsam finanzieren wir`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Mehr über ${name} lernen`,\n communityImpactLinkCopy: ({ name = \"\" }) =>\n `Informiere dich über den bisher geleisteten Beitrag der ${name} community`,\n // share modal\n impactShareButton: () => `Teil, um unserem Beitrag zu erhöhen`,\n },\n es: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Acabas de contribuir con ${nonprofitName}`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) =>\n `Comprueba la contribución que has hecho con tu compra ${causeName} a continuación`, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Has financiado`,\n communityImpactTitle: () => `Juntos estamos financiando`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Saber de ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Mira lo que ha conseguido la comunidad ${name}`,\n // share modal\n impactShareButton: () => \"Comparte para aumentar nuestro impacto\",\n },\n it: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Hai appena fatto la differenza per ${nonprofitName}`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) => `Guarda qui sotto l'impatto del tuo acquisto ${causeName}`, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Hai finanziato`,\n communityImpactTitle: () => `Insieme stiamo finanziando`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Scopri su ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Guarda come la comunità di ${name} fa la differenza`,\n // share modal\n impactShareButton: () => \"Condividi, aiutaci a fare la differenza\",\n },\n pl: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Właśnie wsparłaś_eś ${nonprofitName}!`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) =>\n `Sprawdź niżej, jakiego wsparcia udzieliłaś_eś kupując w ${causeName} `, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Sfinansowałeś(a) `,\n communityImpactTitle: () => `Razem finansujemy`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Dowiedz się o ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Zobacz, ile dobrego zrobiła do tej pory społeczność ${name}`,\n // share modal\n impactShareButton: () => `Udostępnij, by szerzyć naszą misję`,\n },\n};\n","import { css, html, LitElement, PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { queryAll } from \"lit/decorators/query-all.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport debounce from \"lodash-es/debounce\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { LANGUAGES, TUrl } from \"../../api-sdk/types\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport \"../../shared/components/progress-bar\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { logger } from \"../../utils/logger\";\nimport \"../../shared/shoelace-components\";\nimport { syncElementHeights } from \"../../shared/sync-element-heights\";\nimport { TId, TNumericId } from \"../../shared/types\";\nimport \"../beam-partner-logos\";\nimport { partnerLogosConfigDefaults } from \"../beam-partner-logos\";\nimport { shareButtonConfigDefaults } from \"../../shared/components/share-button\";\nimport { cssResponsiveUtils } from \"../../shared/responsive\";\nimport { strings } from \"./strings\";\nimport \"../../shared/components/share-button\";\n\ntype RequiredConfig = {\n apiKey: string;\n nonprofitId: TNumericId;\n userId: TId;\n};\n\nexport class BeamImpactOverview extends LitElement {\n static tagName = \"beam-impact-overview\";\n\n @property({ type: String, reflect: true }) public baseUrl: TUrl = DEFAULT_BASE_URL;\n\n @property({ type: String, reflect: false }) apiKey?: RequiredConfig[\"apiKey\"];\n\n @property({ type: Number }) storeId?: number;\n\n @property({ type: String, reflect: true }) nonprofitId?: RequiredConfig[\"nonprofitId\"];\n\n @property({ type: String, reflect: true }) userId?: RequiredConfig[\"userId\"];\n\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n\n @property({ type: Boolean }) public debug = false;\n\n @property({ type: Boolean }) public draftConfig = false;\n\n @property({ type: String }) transactionId?: string;\n /**\n * @deprecated (v1.49.0) promoCodes and discountCodes will now be retrieved on the backend using transactionId\n */\n @property({ type: Object }) public discountCodes?: string[];\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n getImpactData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"userId\", \"nonprofitId\"], this)) throw new MissingConfig();\n const res = await getImpact({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n queryParams: {\n nonprofitId: this.nonprofitId,\n beamUserId: this.userId,\n personalImpactLimit: 1,\n communityImpactLimit: 1,\n storeId: this.storeId,\n widgetName: WIDGET_NAMES.impact_overview,\n version: \"1.0.0\",\n draftConfig: this.draftConfig,\n lang: this.configLang,\n discountCodes: this.discountCodes && this.discountCodes.length > 0 ? this.discountCodes : undefined,\n transactionId: this.transactionId ?? undefined,\n },\n });\n\n return res;\n };\n\n private impactDataController = new AsyncController<typeof this.getImpactData>(this, this.getImpactData);\n\n @queryAll(\".impact-card-title\")\n impactTitleRefs!: HTMLElement[];\n\n @queryAll(\".impact-card-description\")\n impactDescriptionRefs!: HTMLElement[];\n\n @queryAll(\".impact-link\")\n impactLinkRefs!: HTMLElement[];\n\n @queryAll(\".impact-card-goalCompletionText\")\n goalCompletionTextRefs!: HTMLElement[];\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.resizeElements);\n }\n\n async updated(changedProperties: PropertyValues): Promise<void> {\n // Reload nonprofit list on change of any of these props:\n // Also fires on first load as props go from undefined => value\n const requireNewDataProps = [\"baseUrl\", \"storeId\", \"apiKey\", \"userId\", \"lang\", \"discountCodes\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n await this.impactDataController.exec();\n break;\n }\n }\n this.resizeElements(); // Handle layout shifts immediately\n await this.handleFontLoad(this.resizeElements); // If content change triggered font load, resize again\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"resize\", this.resizeElements);\n document.fonts.removeEventListener(\"loadingdone\", this.resizeElements);\n super.disconnectedCallback();\n }\n\n /**\n * Safari does not fire loading events on the document FontFaceSet, but it does implement the .ready Promise\n * Call this method to wait for font loads that may be triggered by content changes\n */\n async handleFontLoad<T = any>(callback: () => T | void) {\n if (document.fonts.status === \"loading\") {\n await document.fonts.ready.catch((e) => logger.error(e));\n return callback();\n }\n }\n\n resizeElements = debounce(\n () => {\n syncElementHeights(this.impactTitleRefs);\n syncElementHeights(this.impactDescriptionRefs);\n syncElementHeights(this.impactLinkRefs);\n syncElementHeights(this.goalCompletionTextRefs);\n },\n 50,\n { maxWait: 50, leading: true }\n );\n\n renderCard({\n imageUrl,\n title,\n percentFunded,\n goalProgressText,\n description,\n urlCopy,\n impactUrl,\n isImage,\n cardType,\n goalCompletionText,\n }: {\n imageUrl: TUrl;\n title: string;\n percentFunded: number;\n goalProgressText: string;\n description: string;\n urlCopy?: string;\n impactUrl: TUrl;\n isImage: boolean;\n cardType: string;\n goalCompletionText?: string;\n }) {\n return html`\n <div class=\"impact-card ${isImage ? \"\" : \"icon\"}\" part=\"impact-card\">\n <div class=\"${isImage ? \"\" : \"icon-background \"}\">\n <img src=\"${imageUrl}\" alt=\"${title}\" class=\"${isImage ? \"impact-card-image\" : \"impact-card-icon\"}\" />\n </div>\n <div class=\"${isImage ? \"\" : \"impact-icon-card-content\"}\" style=\"margin: 12px;\">\n <div class=\"impact-card-title\">${title}</div>\n <p class=\"impact-card-description\">${unsafeHTML(description)}</p>\n <div class=\"impact-card-goalCompletionText\">\n <p>${unsafeHTML(goalCompletionText)}</p>\n </div>\n <div class=\"impact-card-progress\" style=\"display: flex; align-items: center;\">\n <beam-progress-bar\n value=\"${percentFunded}\"\n style=\"flex: 1 0;\"\n class=\"impact-card-progressbar\"\n ></beam-progress-bar>\n <span class=\"impact-card-progressText\" style=\"flex: 0 1; margin-left: 10px; white-space: nowrap;\"\n >${localizeUserString(this.configLang, goalProgressText)}</span\n >\n </div>\n <p class=\"impact-link\" part=\"impact-link\">\n <a href=\"${impactUrl}\" target=\"_blank\" rel=\"noopener noreferrer\">\n ${cardType === \"personal\"\n ? strings[this.configLang].personalImpactLinkCopy({\n name: urlCopy,\n })\n : strings[this.configLang].communityImpactLinkCopy({\n name: urlCopy,\n })}<span class=\"impact-link-arrow\">&nbsp;&rsaquo;</span>\n </a>\n </p>\n </div>\n </div>\n `;\n }\n\n render() {\n const { data, loading, error } = this.impactDataController;\n if (loading) {\n return _loading();\n }\n if (error) {\n if (this.debug) {\n return _errorMessage({ error });\n }\n return \"\";\n }\n if (data == null) {\n if (this.debug) {\n return _errorMessage({ error: new Error(\"No data\") });\n }\n return \"\";\n }\n const brandName = this.impactDataController.data?.chain.name;\n const causeName = localizeUserString(this.configLang, data.personal[0].nonprofit.cause || \"\");\n const cardStyle = this.cssVariables[\"--beam-ImpactOverview-cardStyle\"];\n const isImage = cardStyle === \"'image'\";\n const isSelectedIcon = cardStyle === \"'selected_icon'\";\n const personalImageUrl = data.personal[0]?.imageUrl || \"\";\n const communityImageUrl = data.community[0].imageUrl || \"\";\n const iconUrl = data.personal[0]?.nonprofit.causeIconUrl;\n const selectedIconUrl = data.personal[0]?.nonprofit.causeIconSelectedUrl;\n const personalCardImage = isImage ? personalImageUrl : isSelectedIcon ? selectedIconUrl : iconUrl;\n const communityCardImage = isImage ? communityImageUrl : isSelectedIcon ? selectedIconUrl : iconUrl;\n\n const shareImage =\n this.impactDataController.data?.promoAssetUrl || this.impactDataController.data?.personalImpactAssetUrl;\n const showShare = this.cssVariables[\"--beam-ImpactOverview-share-button-display\"] !== \"none\";\n const showShareMobile =\n showShare && this.cssVariables[\"--beam-ImpactOverview-share-button-display-mobile\"] !== \"none\";\n const showShareDesktop =\n showShare && this.cssVariables[\"--beam-ImpactOverview-share-button-display-desktop\"] !== \"none\";\n const shareIcon = this.cssVariables[\"--beam-ImpactOverview-share-button-icon-name\"] || \"share-2\";\n\n let shareButtonVisibilityClass = \"d-none\";\n if (showShareMobile) {\n shareButtonVisibilityClass = showShareDesktop ? \"d-block\" : \"d-lg-none\";\n } else {\n shareButtonVisibilityClass = showShareDesktop ? \"d-none d-lg-block\" : \"d-none\";\n }\n\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n\n <div>\n <beam-partner-logos\n partnerLogoUrl=\"${data.chain.logoUrl}\"\n partnerName=\"${data.chain.name}\"\n part=\"logos\"\n ></beam-partner-logos>\n </div>\n\n <div class=\"description\">\n <div class=\"title\" part=\"title\">\n ${localizeUserString(this.configLang, data.config?.web?.title) ||\n strings[this.configLang].descriptionTitle({ nonprofitName: data.personal[0].nonprofit.name })}\n </div>\n <div class=\"subtitle\" part=\"subtitle\">\n ${localizeUserString(this.configLang, data.config?.web?.description) ||\n strings[this.configLang].descriptionSubtitle({ causeName: causeName })}\n </div>\n </div>\n\n <div class=\"${isImage ? \"impact-image-cards\" : \"impact-icon-cards\"}\">\n <div class=\"impact your-impact ${isImage ? \"image-card-container\" : \"icon-card-container\"}\">\n ${this.renderCard({\n isImage,\n imageUrl: personalCardImage || \"\",\n title: strings[this.configLang].yourImpactTitle(),\n percentFunded: data.personal[0]?.impact?.goalProgressPercentage || 0,\n goalProgressText: data.personal[0]?.impact?.goalProgressText,\n description: localizeUserString(this.configLang, data.personal[0]?.impact?.description || \"\"),\n urlCopy: data.personal[0].nonprofit?.name,\n impactUrl: data.personal[0].nonprofit?.website || \"\",\n cardType: \"personal\",\n goalCompletionText: data.personal[0].impact.goalCompletionText,\n })}\n </div>\n <div class=\"impact community-impact ${isImage ? \"image-card-container\" : \"icon-card-container\"}\">\n ${this.renderCard({\n isImage,\n imageUrl: communityCardImage || \"\",\n title: strings[this.configLang].communityImpactTitle(),\n percentFunded: data.community[0].impact?.goalProgressPercentage || 0,\n goalProgressText: data.community[0]?.impact?.goalProgressText,\n description: localizeUserString(this.configLang, data.community[0].impact?.description || \"\"),\n urlCopy: data.chain.name,\n impactUrl: data.chain.communityImpactUrl || data.community[0].nonprofit.website || \"\",\n cardType: \"community\",\n goalCompletionText: data.community[0].impact.goalCompletionText,\n })}\n </div>\n </div>\n\n <div class=\"footer ${shareButtonVisibilityClass} shareButtonContainer\" part=\"social-share\">\n <beam-share-button\n imageUrl=\"${shareImage}\"\n brandName=\"${brandName}\"\n shareIcon=\"${shareIcon}\"\n buttonText=\"${strings[this.configLang].impactShareButton()}\"\n configLang=\"${this.configLang}\"\n baseUrl=\"${this.baseUrl}\"\n storeId=\"${this.storeId}\"\n nonprofitId=\"${this.nonprofitId}\"\n transactionId=\"${this.transactionId}\"\n apiKey=\"${this.apiKey}\"\n ></beam-share-button>\n </div>\n\n <div id=\"modal-root\"></div>\n `;\n }\n\n public get cssVariables() {\n const defaults = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n ...partnerLogosConfigDefaults,\n ...progressBarConfigDefaults,\n ...shareButtonConfigDefaults,\n ...defineCustomText(\"--beam-ImpactOverview-title\", {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginTop: \"10px\",\n textTransform: \"capitalize\",\n }),\n ...defineCustomText(\"--beam-ImpactOverview-subtitle\", {\n marginTop: \"5px\",\n }),\n \"--beam-ImpactOverview-impactCards-maxWidth\": \"650px\",\n \"--beam-ImpactOverview-impactCard-backgroundColor\": \"inherit\",\n \"--beam-ImpactOverview-impactCard-foregroundColor\": \"currentColor\",\n \"--beam-ImpactOverview-impactCard-borderColor\": \"currentColor\",\n \"--beam-ImpactOverview-impactCard-borderRadius\": \"5px\",\n \"--beam-ImpactOverview-impactCard-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-title\", {\n fontSize: \"15px\",\n fontWeight: \"bold\",\n letterSpacing: \"0.36px\",\n }),\n \"--beam-ImpactOverview-impactCard-progress-marginTop\": \"8px\",\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-progressText\"),\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-description\", {\n marginTop: \"10px\",\n }),\n \"--beam-ImpactOverview-impactCard-linkArrow-display\": \"inline\",\n \"--beam-ImpactOverview-impactCard-link-color\": \"inherit\",\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-link\", {\n marginTop: \"10px\",\n textDecoration: \"underline\",\n textTransform: \"capitalize\",\n }),\n ...defineCustomText(\"--beam-ImpactOverview-goalCompletionText\", {\n marginTop: \"5px\",\n fontWeight: \"600\",\n textTransform: \"capitalize\",\n fontSize: \"13px\",\n }),\n \"--beam-ImpactOverview-share-button-display\": \"none\",\n \"--beam-ImpactOverview-share-button-display-mobile\": \"inherit\",\n \"--beam-ImpactOverview-share-button-display-desktop\": \"inherit\",\n \"--beam-ImpactOverview-image-display\": \"block\",\n \"--beam-ImpactOverview-cardStyle\": \"'image'\", // icon, selected_icon, image\n \"--beam-ImpactOverview-iconBackground-width\": \"75px\",\n \"--beam-ImpactOverview-iconBackground-height\": \"75px\",\n \"--beam-ImpactOverview-iconBackground-borderRadius\": \"50px\",\n \"--beam-ImpactOverview-icon-padding\": \"0px\",\n \"--beam-ImpactOverview-iconBackground-background\": \"#f3f3f3\",\n \"--beam-ImpactOverview-impactCard-shareButton-background\": \"#fff\",\n \"--beam-ImpactOverview-impactCard-shareButton-boxShadow\": \"0px -20px 20px 0px rgb(0 0 0 / 2%)\",\n };\n\n const remoteConfig = this.impactDataController?.data?.config?.web?.theme || {};\n\n const config = { ...defaults, ...remoteConfig };\n\n const serializable = Object.create({\n toCSS() {\n return _cssVariableMap(this as Record<string, string>);\n },\n });\n\n return Object.assign(serializable, config);\n }\n\n static styles = [\n cssReset,\n cssResponsiveUtils,\n css`\n :host {\n display: block;\n font-family: var(--beam-fontFamily);\n font-style: var(--beam-fontStyle);\n font-size: var(--beam-fontSize);\n background-color: var(--beam-backgroundColor);\n color: var(--beam-textColor);\n max-width: var(--beam-ImpactOverview-impactCards-maxWidth, 650px);\n word-break: normal;\n }\n .icon {\n display: flex;\n align-items: center;\n }\n .icon-background {\n width: var(--beam-ImpactOverview-iconBackground-width, 75px);\n height: var(--beam-ImpactOverview-iconBackground-height, 75px);\n border-radius: var(--beam-ImpactOverview-iconBackground-borderRadius, 50px);\n padding: var(--beam-ImpactOverview-icon-padding, 0px);\n margin: 8px;\n overflow: hidden;\n background: var(--beam-ImpactOverview-iconBackground-background, #f3f3f3);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .impact-icon-card-content {\n flex: 3 1 75%;\n }\n .impact-image-cards {\n max-width: var(--beam-ImpactOverview-impactCards-maxWidth);\n display: flex;\n flex-wrap: wrap;\n gap: 15px;\n margin: 10px 0;\n }\n .impact-icon-cards {\n max-width: var(--beam-ImpactOverview-impactCards-maxWidth);\n margin: 10px 0;\n }\n .impact-card {\n padding-bottom: 5px;\n margin-top: var(--beam-ImpactOverview-impactCard-marginTop);\n background-color: var(--beam-ImpactOverview-impactCard-backgroundColor);\n border: 1px solid var(--beam-ImpactOverview-impactCard-borderColor);\n border-radius: var(--beam-ImpactOverview-impactCard-borderRadius);\n overflow: hidden; /* maintain clean border-radius */\n color: var(--beam-ImpactOverview-impactCard-foregroundColor);\n }\n .impact-card-image {\n object-fit: cover;\n height: 110px;\n width: 100%;\n display: var(--beam-ImpactOverview-image-display);\n }\n .impact-card-icon {\n flex: 1 1 10%;\n max-width: 50%;\n display: var(--beam-ImpactOverview-image-display);\n }\n .image-card-container {\n flex: 1 1;\n display: inline-block;\n min-width: 200px;\n max-width: 100%;\n }\n .icon-card-container {\n max-width: 100%;\n min-width: 299px;\n }\n .impact-card-progress {\n margin-top: var(--beam-ImpactOverview-impactCard-progress-marginTop);\n }\n .shareButtonContainer {\n position: sticky;\n bottom: 0;\n z-index: 999;\n background-color: var(--beam-ImpactOverview-impactCard-shareButton-background);\n box-shadow: var(--beam-ImpactOverview-impactCard-shareButton-boxShadow);\n }\n .title {\n ${useCustomText(\"--beam-ImpactOverview-title\")}\n }\n .subtitle {\n ${useCustomText(\"--beam-ImpactOverview-subtitle\")}\n }\n .impact-card-title {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-title\")}\n }\n .impact-card-progressText {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-progressText\")}\n }\n .impact-card-description {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-description\")}\n }\n .impact-link {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-link\")}\n }\n .impact-link-arrow {\n display: var(--beam-ImpactOverview-impactCard-linkArrow-display, \"inline\");\n }\n .impact-link a,\n .impact-link a:visited {\n color: var(--beam-ImpactOverview-impactCard-link-color, inherit);\n }\n .impact-card-goalCompletionText {\n ${useCustomText(\"--beam-ImpactOverview-goalCompletionText\")}\n }\n .footer {\n text-align: center;\n }\n `,\n css`\n .button {\n cursor: pointer;\n }\n .icon-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n .plain-button {\n border: none;\n background: none;\n font-size: inherit;\n font-family: inherit;\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamImpactOverview);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-impact-overview\": BeamImpactOverview;\n }\n}\n"],"names":["strings","nonprofitName","name","causeName","D","u","g","e","a","t","n","BeamImpactOverview","LitElement","DEFAULT_BASE_URL","enforceConfig","getImpact","WIDGET_NAMES","AsyncController","debounce","syncElementHeights","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","callback","logger","imageUrl","title","percentFunded","goalProgressText","description","urlCopy","impactUrl","isImage","cardType","goalCompletionText","html","unsafeHTML","localizeUserString","data","loading","error","_loading","_errorMessage","brandName","cardStyle","isSelectedIcon","personalImageUrl","communityImageUrl","iconUrl","selectedIconUrl","personalCardImage","communityCardImage","shareImage","showShare","showShareMobile","showShareDesktop","shareIcon","shareButtonVisibilityClass","defaults","partnerLogosConfigDefaults","progressBarConfigDefaults","shareButtonConfigDefaults","defineCustomText","remoteConfig","config","_cssVariableMap","cssReset","cssResponsiveUtils","css","useCustomText","__decorateClass","property","queryAll","defineCustomElement"],"mappings":"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"}
1
+ {"version":3,"file":"impact-overview.esm.js","sources":["../../src/components/impact-overview/strings.ts","../../src/components/impact-overview/index.ts"],"sourcesContent":["export const strings = {\n en: {\n descriptionTitle: ({ nonprofitName = \"a nonprofit\" }) => `You've just made an impact for ${nonprofitName}`,\n descriptionSubtitle: () => `Check out the impact your purchase made below.`,\n yourImpactTitle: () => `You’ve Funded`,\n communityImpactTitle: () => `Together we’re funding`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Learn about ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `See all of the impact by the ${name} community`,\n // share modal\n impactShareButton: () => `Share to Grow Your Impact`,\n },\n fr: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Vous avez eu un impact positif sur ${nonprofitName}`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) =>\n `Découvrez quel est l'impact de votre achat chez ${causeName} ci-dessous.`, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Vous avez financé`,\n communityImpactTitle: () => `Ensemble, nous finançons`,\n personalImpactLinkCopy: ({ name = \"\" }) => `En savoir sur ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Voir toutes les contributions de la communauté de ${name}`,\n // share modal\n impactShareButton: () => `Partagez pour augmentez notre cause`,\n },\n de: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Du hast soeben einen Beitrag geleistet für ${nonprofitName}`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) =>\n `Erfahre mehr über den Beitrag, den du mit deinem ${causeName} Kauf geleistet hast`, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Sie haben finanziert`,\n communityImpactTitle: () => `Gemeinsam finanzieren wir`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Mehr über ${name} lernen`,\n communityImpactLinkCopy: ({ name = \"\" }) =>\n `Informiere dich über den bisher geleisteten Beitrag der ${name} community`,\n // share modal\n impactShareButton: () => `Teil, um unserem Beitrag zu erhöhen`,\n },\n es: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Acabas de contribuir con ${nonprofitName}`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) =>\n `Comprueba la contribución que has hecho con tu compra ${causeName} a continuación`, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Has financiado`,\n communityImpactTitle: () => `Juntos estamos financiando`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Saber de ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Mira lo que ha conseguido la comunidad ${name}`,\n // share modal\n impactShareButton: () => \"Comparte para aumentar nuestro impacto\",\n },\n it: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Hai appena fatto la differenza per ${nonprofitName}`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) => `Guarda qui sotto l'impatto del tuo acquisto ${causeName}`, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Hai finanziato`,\n communityImpactTitle: () => `Insieme stiamo finanziando`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Scopri su ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Guarda come la comunità di ${name} fa la differenza`,\n // share modal\n impactShareButton: () => \"Condividi, aiutaci a fare la differenza\",\n },\n pl: {\n descriptionTitle: ({ nonprofitName = \"\" }) => `Właśnie wsparłaś_eś ${nonprofitName}!`, // TODO: Update translation copy SDK-2210\n descriptionSubtitle: ({ causeName = \"\" }) =>\n `Sprawdź niżej, jakiego wsparcia udzieliłaś_eś kupując w ${causeName} `, // TODO: Update translation copy SDK-2210\n yourImpactTitle: () => `Sfinansowałeś(a) `,\n communityImpactTitle: () => `Razem finansujemy`,\n personalImpactLinkCopy: ({ name = \"\" }) => `Dowiedz się o ${name}`,\n communityImpactLinkCopy: ({ name = \"\" }) => `Zobacz, ile dobrego zrobiła do tej pory społeczność ${name}`,\n // share modal\n impactShareButton: () => `Udostępnij, by szerzyć naszą misję`,\n },\n};\n","import { css, html, LitElement, PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { queryAll } from \"lit/decorators/query-all.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport debounce from \"lodash-es/debounce\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { LANGUAGES, TUrl } from \"../../api-sdk/types\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport \"../../shared/components/progress-bar\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { logger } from \"../../utils/logger\";\nimport \"../../shared/shoelace-components\";\nimport { syncElementHeights } from \"../../shared/sync-element-heights\";\nimport { TId, TNumericId } from \"../../shared/types\";\nimport \"../beam-partner-logos\";\nimport { partnerLogosConfigDefaults } from \"../beam-partner-logos\";\nimport { shareButtonConfigDefaults } from \"../../shared/components/share-button\";\nimport { cssResponsiveUtils } from \"../../shared/responsive\";\nimport { strings } from \"./strings\";\nimport \"../../shared/components/share-button\";\n\ntype RequiredConfig = {\n apiKey: string;\n nonprofitId: TNumericId;\n userId: TId;\n};\n\nexport class BeamImpactOverview extends LitElement {\n static tagName = \"beam-impact-overview\";\n\n @property({ type: String, reflect: true }) public baseUrl: TUrl = DEFAULT_BASE_URL;\n\n @property({ type: String, reflect: false }) apiKey?: RequiredConfig[\"apiKey\"];\n\n @property({ type: Number }) storeId?: number;\n\n @property({ type: String, reflect: true }) nonprofitId?: RequiredConfig[\"nonprofitId\"];\n\n @property({ type: String, reflect: true }) userId?: RequiredConfig[\"userId\"];\n\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n\n @property({ type: Boolean }) public debug = false;\n\n @property({ type: Boolean }) public draftConfig = false;\n\n @property({ type: String }) transactionId?: string;\n /**\n * @deprecated (v1.49.0) promoCodes and discountCodes will now be retrieved on the backend using transactionId\n */\n @property({ type: Object }) public discountCodes?: string[];\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n getImpactData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"userId\", \"nonprofitId\"], this)) throw new MissingConfig();\n const res = await getImpact({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n queryParams: {\n nonprofitId: this.nonprofitId,\n beamUserId: this.userId,\n personalImpactLimit: 1,\n communityImpactLimit: 1,\n storeId: this.storeId,\n widgetName: WIDGET_NAMES.impact_overview,\n version: \"1.0.0\",\n draftConfig: this.draftConfig,\n lang: this.configLang,\n discountCodes: this.discountCodes && this.discountCodes.length > 0 ? this.discountCodes : undefined,\n transactionId: this.transactionId ?? undefined,\n },\n });\n\n return res;\n };\n\n private impactDataController = new AsyncController<typeof this.getImpactData>(this, this.getImpactData);\n\n @queryAll(\".impact-card-title\")\n impactTitleRefs!: HTMLElement[];\n\n @queryAll(\".impact-card-description\")\n impactDescriptionRefs!: HTMLElement[];\n\n @queryAll(\".impact-link\")\n impactLinkRefs!: HTMLElement[];\n\n @queryAll(\".impact-card-goalCompletionText\")\n goalCompletionTextRefs!: HTMLElement[];\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.resizeElements);\n }\n\n async updated(changedProperties: PropertyValues): Promise<void> {\n // Reload nonprofit list on change of any of these props:\n // Also fires on first load as props go from undefined => value\n const requireNewDataProps = [\"baseUrl\", \"storeId\", \"apiKey\", \"userId\", \"lang\", \"discountCodes\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n await this.impactDataController.exec();\n break;\n }\n }\n this.resizeElements(); // Handle layout shifts immediately\n await this.handleFontLoad(this.resizeElements); // If content change triggered font load, resize again\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"resize\", this.resizeElements);\n document.fonts.removeEventListener(\"loadingdone\", this.resizeElements);\n super.disconnectedCallback();\n }\n\n /**\n * Safari does not fire loading events on the document FontFaceSet, but it does implement the .ready Promise\n * Call this method to wait for font loads that may be triggered by content changes\n */\n async handleFontLoad<T = any>(callback: () => T | void) {\n if (document.fonts.status === \"loading\") {\n await document.fonts.ready.catch((e) => logger.error(e));\n return callback();\n }\n }\n\n resizeElements = debounce(\n () => {\n syncElementHeights(this.impactTitleRefs);\n syncElementHeights(this.impactDescriptionRefs);\n syncElementHeights(this.impactLinkRefs);\n syncElementHeights(this.goalCompletionTextRefs);\n },\n 50,\n { maxWait: 50, leading: true }\n );\n\n renderCard({\n imageUrl,\n title,\n percentFunded,\n goalProgressText,\n description,\n urlCopy,\n impactUrl,\n isImage,\n cardType,\n goalCompletionText,\n }: {\n imageUrl: TUrl;\n title: string;\n percentFunded: number;\n goalProgressText: string;\n description: string;\n urlCopy?: string;\n impactUrl: TUrl;\n isImage: boolean;\n cardType: string;\n goalCompletionText?: string;\n }) {\n return html`\n <div class=\"impact-card ${isImage ? \"\" : \"icon\"}\" part=\"impact-card\">\n <div class=\"${isImage ? \"\" : \"icon-background \"}\">\n <img src=\"${imageUrl}\" alt=\"${title}\" class=\"${isImage ? \"impact-card-image\" : \"impact-card-icon\"}\" />\n </div>\n <div class=\"${isImage ? \"\" : \"impact-icon-card-content\"}\" style=\"margin: 12px;\">\n <div class=\"impact-card-title\">${title}</div>\n <p class=\"impact-card-description\">${unsafeHTML(description)}</p>\n <div class=\"impact-card-goalCompletionText\">\n <p>${unsafeHTML(goalCompletionText)}</p>\n </div>\n <div class=\"impact-card-progress\" style=\"display: flex; align-items: center;\">\n <beam-progress-bar\n value=\"${percentFunded}\"\n style=\"flex: 1 0;\"\n class=\"impact-card-progressbar\"\n ></beam-progress-bar>\n <span class=\"impact-card-progressText\" style=\"flex: 0 1; margin-left: 10px; white-space: nowrap;\"\n >${localizeUserString(this.configLang, goalProgressText)}</span\n >\n </div>\n <p class=\"impact-link\" part=\"impact-link\">\n <a href=\"${impactUrl}\" target=\"_blank\" rel=\"noopener noreferrer\">\n ${cardType === \"personal\"\n ? strings[this.configLang].personalImpactLinkCopy({\n name: urlCopy,\n })\n : strings[this.configLang].communityImpactLinkCopy({\n name: urlCopy,\n })}<span class=\"impact-link-arrow\">&nbsp;&rsaquo;</span>\n </a>\n </p>\n </div>\n </div>\n `;\n }\n\n render() {\n const { data, loading, error } = this.impactDataController;\n if (loading) {\n return _loading();\n }\n if (error) {\n if (this.debug) {\n return _errorMessage({ error });\n }\n return \"\";\n }\n if (data == null) {\n if (this.debug) {\n return _errorMessage({ error: new Error(\"No data\") });\n }\n return \"\";\n }\n const brandName = this.impactDataController.data?.chain.name;\n const causeName = localizeUserString(this.configLang, data.personal[0].nonprofit.cause || \"\");\n const cardStyle = this.cssVariables[\"--beam-ImpactOverview-cardStyle\"];\n const isImage = cardStyle === \"'image'\";\n const isSelectedIcon = cardStyle === \"'selected_icon'\";\n const personalImageUrl = data.personal[0]?.imageUrl || \"\";\n const communityImageUrl = data.community[0].imageUrl || \"\";\n const iconUrl = data.personal[0]?.nonprofit.causeIconUrl;\n const selectedIconUrl = data.personal[0]?.nonprofit.causeIconSelectedUrl;\n const personalCardImage = isImage ? personalImageUrl : isSelectedIcon ? selectedIconUrl : iconUrl;\n const communityCardImage = isImage ? communityImageUrl : isSelectedIcon ? selectedIconUrl : iconUrl;\n\n const shareImage =\n this.impactDataController.data?.promoAssetUrl || this.impactDataController.data?.personalImpactAssetUrl;\n const showShare = this.cssVariables[\"--beam-ImpactOverview-share-button-display\"] !== \"none\";\n const showShareMobile =\n showShare && this.cssVariables[\"--beam-ImpactOverview-share-button-display-mobile\"] !== \"none\";\n const showShareDesktop =\n showShare && this.cssVariables[\"--beam-ImpactOverview-share-button-display-desktop\"] !== \"none\";\n const shareIcon = this.cssVariables[\"--beam-ImpactOverview-share-button-icon-name\"] || \"share-2\";\n\n let shareButtonVisibilityClass = \"d-none\";\n if (showShareMobile) {\n shareButtonVisibilityClass = showShareDesktop ? \"d-block\" : \"d-lg-none\";\n } else {\n shareButtonVisibilityClass = showShareDesktop ? \"d-none d-lg-block\" : \"d-none\";\n }\n\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n\n <div>\n <beam-partner-logos\n partnerLogoUrl=\"${data.chain.logoUrl}\"\n partnerName=\"${data.chain.name}\"\n part=\"logos\"\n ></beam-partner-logos>\n </div>\n\n <div class=\"description\">\n <div class=\"title\" part=\"title\">\n ${localizeUserString(this.configLang, data.config?.web?.title) ||\n strings[this.configLang].descriptionTitle({ nonprofitName: data.personal[0].nonprofit.name })}\n </div>\n <div class=\"subtitle\" part=\"subtitle\">\n ${localizeUserString(this.configLang, data.config?.web?.description) ||\n strings[this.configLang].descriptionSubtitle({ causeName: causeName })}\n </div>\n </div>\n\n <div class=\"${isImage ? \"impact-image-cards\" : \"impact-icon-cards\"}\" part=\"impact-cards\">\n <div class=\"impact your-impact ${isImage ? \"image-card-container\" : \"icon-card-container\"}\">\n ${this.renderCard({\n isImage,\n imageUrl: personalCardImage || \"\",\n title: strings[this.configLang].yourImpactTitle(),\n percentFunded: data.personal[0]?.impact?.goalProgressPercentage || 0,\n goalProgressText: data.personal[0]?.impact?.goalProgressText,\n description: localizeUserString(this.configLang, data.personal[0]?.impact?.description || \"\"),\n urlCopy: data.personal[0].nonprofit?.name,\n impactUrl: data.personal[0].nonprofit?.website || \"\",\n cardType: \"personal\",\n goalCompletionText: data.personal[0].impact.goalCompletionText,\n })}\n </div>\n <div class=\"impact community-impact ${isImage ? \"image-card-container\" : \"icon-card-container\"}\">\n ${this.renderCard({\n isImage,\n imageUrl: communityCardImage || \"\",\n title: strings[this.configLang].communityImpactTitle(),\n percentFunded: data.community[0].impact?.goalProgressPercentage || 0,\n goalProgressText: data.community[0]?.impact?.goalProgressText,\n description: localizeUserString(this.configLang, data.community[0].impact?.description || \"\"),\n urlCopy: data.chain.name,\n impactUrl: data.chain.communityImpactUrl || data.community[0].nonprofit.website || \"\",\n cardType: \"community\",\n goalCompletionText: data.community[0].impact.goalCompletionText,\n })}\n </div>\n </div>\n\n <div class=\"footer ${shareButtonVisibilityClass} shareButtonContainer\" part=\"social-share\">\n <beam-share-button\n imageUrl=\"${shareImage}\"\n brandName=\"${brandName}\"\n shareIcon=\"${shareIcon}\"\n buttonText=\"${strings[this.configLang].impactShareButton()}\"\n configLang=\"${this.configLang}\"\n baseUrl=\"${this.baseUrl}\"\n storeId=\"${this.storeId}\"\n nonprofitId=\"${this.nonprofitId}\"\n transactionId=\"${this.transactionId}\"\n apiKey=\"${this.apiKey}\"\n ></beam-share-button>\n </div>\n\n <div id=\"modal-root\"></div>\n `;\n }\n\n public get cssVariables() {\n const defaults = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n ...partnerLogosConfigDefaults,\n ...progressBarConfigDefaults,\n ...shareButtonConfigDefaults,\n ...defineCustomText(\"--beam-ImpactOverview-title\", {\n fontSize: \"16px\",\n fontWeight: \"bold\",\n marginTop: \"10px\",\n textTransform: \"capitalize\",\n }),\n ...defineCustomText(\"--beam-ImpactOverview-subtitle\", {\n marginTop: \"5px\",\n }),\n \"--beam-ImpactOverview-impactCards-maxWidth\": \"650px\",\n \"--beam-ImpactOverview-impactCard-backgroundColor\": \"inherit\",\n \"--beam-ImpactOverview-impactCard-foregroundColor\": \"currentColor\",\n \"--beam-ImpactOverview-impactCard-borderColor\": \"currentColor\",\n \"--beam-ImpactOverview-impactCard-borderRadius\": \"5px\",\n \"--beam-ImpactOverview-impactCard-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-title\", {\n fontSize: \"15px\",\n fontWeight: \"bold\",\n letterSpacing: \"0.36px\",\n }),\n \"--beam-ImpactOverview-impactCard-progress-marginTop\": \"8px\",\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-progressText\"),\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-description\", {\n marginTop: \"10px\",\n }),\n \"--beam-ImpactOverview-impactCard-linkArrow-display\": \"inline\",\n \"--beam-ImpactOverview-impactCard-link-color\": \"inherit\",\n ...defineCustomText(\"--beam-ImpactOverview-impactCard-link\", {\n marginTop: \"10px\",\n textDecoration: \"underline\",\n textTransform: \"capitalize\",\n }),\n ...defineCustomText(\"--beam-ImpactOverview-goalCompletionText\", {\n marginTop: \"5px\",\n fontWeight: \"600\",\n textTransform: \"capitalize\",\n fontSize: \"13px\",\n }),\n \"--beam-ImpactOverview-share-button-display\": \"none\",\n \"--beam-ImpactOverview-share-button-display-mobile\": \"inherit\",\n \"--beam-ImpactOverview-share-button-display-desktop\": \"inherit\",\n \"--beam-ImpactOverview-image-display\": \"block\",\n \"--beam-ImpactOverview-cardStyle\": \"'image'\", // icon, selected_icon, image\n \"--beam-ImpactOverview-iconBackground-width\": \"75px\",\n \"--beam-ImpactOverview-iconBackground-height\": \"75px\",\n \"--beam-ImpactOverview-iconBackground-borderRadius\": \"50px\",\n \"--beam-ImpactOverview-icon-padding\": \"0px\",\n \"--beam-ImpactOverview-iconBackground-background\": \"#f3f3f3\",\n \"--beam-ImpactOverview-impactCard-shareButton-background\": \"#fff\",\n \"--beam-ImpactOverview-impactCard-shareButton-boxShadow\": \"0px -20px 20px 0px rgb(0 0 0 / 2%)\",\n };\n\n const remoteConfig = this.impactDataController?.data?.config?.web?.theme || {};\n\n const config = { ...defaults, ...remoteConfig };\n\n const serializable = Object.create({\n toCSS() {\n return _cssVariableMap(this as Record<string, string>);\n },\n });\n\n return Object.assign(serializable, config);\n }\n\n static styles = [\n cssReset,\n cssResponsiveUtils,\n css`\n :host {\n display: block;\n font-family: var(--beam-fontFamily);\n font-style: var(--beam-fontStyle);\n font-size: var(--beam-fontSize);\n background-color: var(--beam-backgroundColor);\n color: var(--beam-textColor);\n max-width: var(--beam-ImpactOverview-impactCards-maxWidth, 650px);\n word-break: normal;\n }\n .icon {\n display: flex;\n align-items: center;\n }\n .icon-background {\n width: var(--beam-ImpactOverview-iconBackground-width, 75px);\n height: var(--beam-ImpactOverview-iconBackground-height, 75px);\n border-radius: var(--beam-ImpactOverview-iconBackground-borderRadius, 50px);\n padding: var(--beam-ImpactOverview-icon-padding, 0px);\n margin: 8px;\n overflow: hidden;\n background: var(--beam-ImpactOverview-iconBackground-background, #f3f3f3);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .impact-icon-card-content {\n flex: 3 1 75%;\n }\n .impact-image-cards {\n max-width: var(--beam-ImpactOverview-impactCards-maxWidth);\n display: flex;\n flex-wrap: wrap;\n gap: 15px;\n margin: 10px 0;\n }\n .impact-icon-cards {\n max-width: var(--beam-ImpactOverview-impactCards-maxWidth);\n margin: 10px 0;\n }\n .impact-card {\n padding-bottom: 5px;\n margin-top: var(--beam-ImpactOverview-impactCard-marginTop);\n background-color: var(--beam-ImpactOverview-impactCard-backgroundColor);\n border: 1px solid var(--beam-ImpactOverview-impactCard-borderColor);\n border-radius: var(--beam-ImpactOverview-impactCard-borderRadius);\n overflow: hidden; /* maintain clean border-radius */\n color: var(--beam-ImpactOverview-impactCard-foregroundColor);\n }\n .impact-card-image {\n object-fit: cover;\n height: 110px;\n width: 100%;\n display: var(--beam-ImpactOverview-image-display);\n }\n .impact-card-icon {\n flex: 1 1 10%;\n max-width: 50%;\n display: var(--beam-ImpactOverview-image-display);\n }\n .image-card-container {\n flex: 1 1;\n display: inline-block;\n min-width: 200px;\n max-width: 100%;\n }\n .icon-card-container {\n max-width: 100%;\n min-width: 299px;\n }\n .impact-card-progress {\n margin-top: var(--beam-ImpactOverview-impactCard-progress-marginTop);\n }\n .shareButtonContainer {\n position: sticky;\n bottom: 0;\n z-index: 999;\n background-color: var(--beam-ImpactOverview-impactCard-shareButton-background);\n box-shadow: var(--beam-ImpactOverview-impactCard-shareButton-boxShadow);\n }\n .title {\n ${useCustomText(\"--beam-ImpactOverview-title\")}\n }\n .subtitle {\n ${useCustomText(\"--beam-ImpactOverview-subtitle\")}\n }\n .impact-card-title {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-title\")}\n }\n .impact-card-progressText {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-progressText\")}\n }\n .impact-card-description {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-description\")}\n }\n .impact-link {\n ${useCustomText(\"--beam-ImpactOverview-impactCard-link\")}\n }\n .impact-link-arrow {\n display: var(--beam-ImpactOverview-impactCard-linkArrow-display, \"inline\");\n }\n .impact-link a,\n .impact-link a:visited {\n color: var(--beam-ImpactOverview-impactCard-link-color, inherit);\n }\n .impact-card-goalCompletionText {\n ${useCustomText(\"--beam-ImpactOverview-goalCompletionText\")}\n }\n .footer {\n text-align: center;\n }\n `,\n css`\n .button {\n cursor: pointer;\n }\n .icon-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n .plain-button {\n border: none;\n background: none;\n font-size: inherit;\n font-family: inherit;\n }\n `,\n ];\n}\n\ndefineCustomElement(BeamImpactOverview);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-impact-overview\": BeamImpactOverview;\n }\n}\n"],"names":["strings","nonprofitName","name","causeName","D","u","g","e","a","t","n","BeamImpactOverview","LitElement","DEFAULT_BASE_URL","enforceConfig","getImpact","WIDGET_NAMES","AsyncController","debounce","syncElementHeights","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","callback","logger","imageUrl","title","percentFunded","goalProgressText","description","urlCopy","impactUrl","isImage","cardType","goalCompletionText","html","unsafeHTML","localizeUserString","data","loading","error","_loading","_errorMessage","brandName","cardStyle","isSelectedIcon","personalImageUrl","communityImageUrl","iconUrl","selectedIconUrl","personalCardImage","communityCardImage","shareImage","showShare","showShareMobile","showShareDesktop","shareIcon","shareButtonVisibilityClass","defaults","partnerLogosConfigDefaults","progressBarConfigDefaults","shareButtonConfigDefaults","defineCustomText","remoteConfig","config","_cssVariableMap","cssReset","cssResponsiveUtils","css","useCustomText","__decorateClass","property","queryAll","defineCustomElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{f as $,g as n,p as v,h as D,k as T,y as O}from"../chunks/lit-WqMxC_PA.esm.js";import{d as N}from"../chunks/lodash-7H4x2457.esm.js";import{D as R,g as F,W as j,S as A}from"../chunks/routes-CAhDCFDX.esm.js";import{p as P}from"../chunks/progress-bar-DF7UuuHb.esm.js";import{u as l,A as _,i as b,_ as S,d as u,a as V}from"../chunks/localize-C25pEGnx.esm.js";import{c as W,d as K,e as q}from"../chunks/enforce-config-Ba1JkOHs.esm.js";import{_ as G}from"../chunks/loading-template-DG4lkIIc.esm.js";import{logger as M}from"../utils/logger.js";import"../chunks/_share-dialog-dependencies-QaTONkKb.esm.js";import{s as h,a as H}from"../chunks/share-button-CtklpZOO.esm.js";import{partnerLogosConfigDefaults as Y}from"./beam-partner-logos.js";import{c as J}from"../chunks/responsive-BR8qUfBa.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-BYVId0-U.esm.js";const g={en:{descriptionTitle:({nonprofitName:e="a nonprofit"})=>`You've just made an impact for ${e}`,descriptionSubtitle:()=>"Check out the impact your purchase made below.",yourImpactTitle:()=>"You\u2019ve Funded",communityImpactTitle:()=>"Together we\u2019re funding",personalImpactLinkCopy:({name:e=""})=>`Learn about ${e}`,communityImpactLinkCopy:({name:e=""})=>`See all of the impact by the ${e} community`,impactShareButton:()=>"Share to Grow Your Impact"},fr:{descriptionTitle:({nonprofitName:e=""})=>`Vous avez eu un impact positif sur ${e}`,descriptionSubtitle:({causeName:e=""})=>`D\xE9couvrez quel est l'impact de votre achat chez ${e} ci-dessous.`,yourImpactTitle:()=>"Vous avez financ\xE9",communityImpactTitle:()=>"Ensemble, nous finan\xE7ons",personalImpactLinkCopy:({name:e=""})=>`En savoir sur ${e}`,communityImpactLinkCopy:({name:e=""})=>`Voir toutes les contributions de la communaut\xE9 de ${e}`,impactShareButton:()=>"Partagez pour augmentez notre cause"},de:{descriptionTitle:({nonprofitName:e=""})=>`Du hast soeben einen Beitrag geleistet f\xFCr ${e}`,descriptionSubtitle:({causeName:e=""})=>`Erfahre mehr \xFCber den Beitrag, den du mit deinem ${e} Kauf geleistet hast`,yourImpactTitle:()=>"Sie haben finanziert",communityImpactTitle:()=>"Gemeinsam finanzieren wir",personalImpactLinkCopy:({name:e=""})=>`Mehr \xFCber ${e} lernen`,communityImpactLinkCopy:({name:e=""})=>`Informiere dich \xFCber den bisher geleisteten Beitrag der ${e} community`,impactShareButton:()=>"Teil, um unserem Beitrag zu erh\xF6hen"},es:{descriptionTitle:({nonprofitName:e=""})=>`Acabas de contribuir con ${e}`,descriptionSubtitle:({causeName:e=""})=>`Comprueba la contribuci\xF3n que has hecho con tu compra ${e} a continuaci\xF3n`,yourImpactTitle:()=>"Has financiado",communityImpactTitle:()=>"Juntos estamos financiando",personalImpactLinkCopy:({name:e=""})=>`Saber de ${e}`,communityImpactLinkCopy:({name:e=""})=>`Mira lo que ha conseguido la comunidad ${e}`,impactShareButton:()=>"Comparte para aumentar nuestro impacto"},it:{descriptionTitle:({nonprofitName:e=""})=>`Hai appena fatto la differenza per ${e}`,descriptionSubtitle:({causeName:e=""})=>`Guarda qui sotto l'impatto del tuo acquisto ${e}`,yourImpactTitle:()=>"Hai finanziato",communityImpactTitle:()=>"Insieme stiamo finanziando",personalImpactLinkCopy:({name:e=""})=>`Scopri su ${e}`,communityImpactLinkCopy:({name:e=""})=>`Guarda come la comunit\xE0 di ${e} fa la differenza`,impactShareButton:()=>"Condividi, aiutaci a fare la differenza"},pl:{descriptionTitle:({nonprofitName:e=""})=>`W\u0142a\u015Bnie wspar\u0142a\u015B_e\u015B ${e}!`,descriptionSubtitle:({causeName:e=""})=>`Sprawd\u017A ni\u017Cej, jakiego wsparcia udzieli\u0142a\u015B_e\u015B kupuj\u0105c w ${e} `,yourImpactTitle:()=>"Sfinansowa\u0142e\u015B(a) ",communityImpactTitle:()=>"Razem finansujemy",personalImpactLinkCopy:({name:e=""})=>`Dowiedz si\u0119 o ${e}`,communityImpactLinkCopy:({name:e=""})=>`Zobacz, ile dobrego zrobi\u0142a do tej pory spo\u0142eczno\u015B\u0107 ${e}`,impactShareButton:()=>"Udost\u0119pnij, by szerzy\u0107 nasz\u0105 misj\u0119"}};var Z=Object.defineProperty,i=(e,a,r,c)=>{for(var o=void 0,p=e.length-1,s;p>=0;p--)(s=e[p])&&(o=s(a,r,o)||o);return o&&Z(a,r,o),o};class t extends D{constructor(){super(...arguments),this.baseUrl=R,this.lang="en",this.debug=!1,this.draftConfig=!1,this.getImpactData=async()=>(q(["apiKey","userId","nonprofitId"],this),await F({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{nonprofitId:this.nonprofitId,beamUserId:this.userId,personalImpactLimit:1,communityImpactLimit:1,storeId:this.storeId,widgetName:j.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 _(this,this.getImpactData),this.resizeElements=N(()=>{h(this.impactTitleRefs),h(this.impactDescriptionRefs),h(this.impactLinkRefs),h(this.goalCompletionTextRefs)},50,{maxWait:50,leading:!0})}get configLang(){return A[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(a){const r=["baseUrl","storeId","apiKey","userId","lang","discountCodes"];for(const c of r)if(a.has(c)){await this.impactDataController.exec();break}this.resizeElements(),await this.handleFontLoad(this.resizeElements)}disconnectedCallback(){window.removeEventListener("resize",this.resizeElements),document.fonts.removeEventListener("loadingdone",this.resizeElements),super.disconnectedCallback()}async handleFontLoad(a){if(document.fonts.status==="loading")return await document.fonts.ready.catch(r=>M.error(r)),a()}renderCard({imageUrl:a,title:r,percentFunded:c,goalProgressText:o,description:p,urlCopy:s,impactUrl:m,isImage:d,cardType:f,goalCompletionText:y}){return O`
1
+ import{f as $,g as n,p as v,h as D,k as T,y as O}from"../chunks/lit-WqMxC_PA.esm.js";import{d as N}from"../chunks/lodash-7H4x2457.esm.js";import{D as R,g as F,W as j,S as A}from"../chunks/routes-S0vKQTft.esm.js";import{p as P}from"../chunks/progress-bar-DF7UuuHb.esm.js";import{u as l,A as _,i as b,_ as S,d as u,a as V}from"../chunks/localize-C25pEGnx.esm.js";import{c as W,d as K,e as q}from"../chunks/enforce-config-Ba1JkOHs.esm.js";import{_ as G}from"../chunks/loading-template-DG4lkIIc.esm.js";import{logger as M}from"../utils/logger.js";import"../chunks/_share-dialog-dependencies-Dt4WMt_y.esm.js";import{s as h,a as H}from"../chunks/share-button-P726e8AH.esm.js";import{partnerLogosConfigDefaults as Y}from"./beam-partner-logos.js";import{c as J}from"../chunks/responsive-BR8qUfBa.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-Ck4hnQPC.esm.js";const g={en:{descriptionTitle:({nonprofitName:e="a nonprofit"})=>`You've just made an impact for ${e}`,descriptionSubtitle:()=>"Check out the impact your purchase made below.",yourImpactTitle:()=>"You\u2019ve Funded",communityImpactTitle:()=>"Together we\u2019re funding",personalImpactLinkCopy:({name:e=""})=>`Learn about ${e}`,communityImpactLinkCopy:({name:e=""})=>`See all of the impact by the ${e} community`,impactShareButton:()=>"Share to Grow Your Impact"},fr:{descriptionTitle:({nonprofitName:e=""})=>`Vous avez eu un impact positif sur ${e}`,descriptionSubtitle:({causeName:e=""})=>`D\xE9couvrez quel est l'impact de votre achat chez ${e} ci-dessous.`,yourImpactTitle:()=>"Vous avez financ\xE9",communityImpactTitle:()=>"Ensemble, nous finan\xE7ons",personalImpactLinkCopy:({name:e=""})=>`En savoir sur ${e}`,communityImpactLinkCopy:({name:e=""})=>`Voir toutes les contributions de la communaut\xE9 de ${e}`,impactShareButton:()=>"Partagez pour augmentez notre cause"},de:{descriptionTitle:({nonprofitName:e=""})=>`Du hast soeben einen Beitrag geleistet f\xFCr ${e}`,descriptionSubtitle:({causeName:e=""})=>`Erfahre mehr \xFCber den Beitrag, den du mit deinem ${e} Kauf geleistet hast`,yourImpactTitle:()=>"Sie haben finanziert",communityImpactTitle:()=>"Gemeinsam finanzieren wir",personalImpactLinkCopy:({name:e=""})=>`Mehr \xFCber ${e} lernen`,communityImpactLinkCopy:({name:e=""})=>`Informiere dich \xFCber den bisher geleisteten Beitrag der ${e} community`,impactShareButton:()=>"Teil, um unserem Beitrag zu erh\xF6hen"},es:{descriptionTitle:({nonprofitName:e=""})=>`Acabas de contribuir con ${e}`,descriptionSubtitle:({causeName:e=""})=>`Comprueba la contribuci\xF3n que has hecho con tu compra ${e} a continuaci\xF3n`,yourImpactTitle:()=>"Has financiado",communityImpactTitle:()=>"Juntos estamos financiando",personalImpactLinkCopy:({name:e=""})=>`Saber de ${e}`,communityImpactLinkCopy:({name:e=""})=>`Mira lo que ha conseguido la comunidad ${e}`,impactShareButton:()=>"Comparte para aumentar nuestro impacto"},it:{descriptionTitle:({nonprofitName:e=""})=>`Hai appena fatto la differenza per ${e}`,descriptionSubtitle:({causeName:e=""})=>`Guarda qui sotto l'impatto del tuo acquisto ${e}`,yourImpactTitle:()=>"Hai finanziato",communityImpactTitle:()=>"Insieme stiamo finanziando",personalImpactLinkCopy:({name:e=""})=>`Scopri su ${e}`,communityImpactLinkCopy:({name:e=""})=>`Guarda come la comunit\xE0 di ${e} fa la differenza`,impactShareButton:()=>"Condividi, aiutaci a fare la differenza"},pl:{descriptionTitle:({nonprofitName:e=""})=>`W\u0142a\u015Bnie wspar\u0142a\u015B_e\u015B ${e}!`,descriptionSubtitle:({causeName:e=""})=>`Sprawd\u017A ni\u017Cej, jakiego wsparcia udzieli\u0142a\u015B_e\u015B kupuj\u0105c w ${e} `,yourImpactTitle:()=>"Sfinansowa\u0142e\u015B(a) ",communityImpactTitle:()=>"Razem finansujemy",personalImpactLinkCopy:({name:e=""})=>`Dowiedz si\u0119 o ${e}`,communityImpactLinkCopy:({name:e=""})=>`Zobacz, ile dobrego zrobi\u0142a do tej pory spo\u0142eczno\u015B\u0107 ${e}`,impactShareButton:()=>"Udost\u0119pnij, by szerzy\u0107 nasz\u0105 misj\u0119"}};var Z=Object.defineProperty,i=(e,a,r,c)=>{for(var o=void 0,p=e.length-1,s;p>=0;p--)(s=e[p])&&(o=s(a,r,o)||o);return o&&Z(a,r,o),o};class t extends D{constructor(){super(...arguments),this.baseUrl=R,this.lang="en",this.debug=!1,this.draftConfig=!1,this.getImpactData=async()=>(q(["apiKey","userId","nonprofitId"],this),await F({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{nonprofitId:this.nonprofitId,beamUserId:this.userId,personalImpactLimit:1,communityImpactLimit:1,storeId:this.storeId,widgetName:j.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 _(this,this.getImpactData),this.resizeElements=N(()=>{h(this.impactTitleRefs),h(this.impactDescriptionRefs),h(this.impactLinkRefs),h(this.goalCompletionTextRefs)},50,{maxWait:50,leading:!0})}get configLang(){return A[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(a){const r=["baseUrl","storeId","apiKey","userId","lang","discountCodes"];for(const c of r)if(a.has(c)){await this.impactDataController.exec();break}this.resizeElements(),await this.handleFontLoad(this.resizeElements)}disconnectedCallback(){window.removeEventListener("resize",this.resizeElements),document.fonts.removeEventListener("loadingdone",this.resizeElements),super.disconnectedCallback()}async handleFontLoad(a){if(document.fonts.status==="loading")return await document.fonts.ready.catch(r=>M.error(r)),a()}renderCard({imageUrl:a,title:r,percentFunded:c,goalProgressText:o,description:p,urlCopy:s,impactUrl:m,isImage:d,cardType:f,goalCompletionText:y}){return O`
2
2
  <div class="impact-card ${d?"":"icon"}" part="impact-card">
3
3
  <div class="${d?"":"icon-background "}">
4
4
  <img src="${a}" alt="${r}" class="${d?"impact-card-image":"impact-card-icon"}" />
@@ -50,7 +50,7 @@ import{f as $,g as n,p as v,h as D,k as T,y as O}from"../chunks/lit-WqMxC_PA.esm
50
50
  </div>
51
51
  </div>
52
52
 
53
- <div class="${m?"impact-image-cards":"impact-icon-cards"}">
53
+ <div class="${m?"impact-image-cards":"impact-icon-cards"}" part="impact-cards">
54
54
  <div class="impact your-impact ${m?"image-card-container":"icon-card-container"}">
55
55
  ${this.renderCard({isImage:m,imageUrl:L||"",title:g[this.configLang].yourImpactTitle(),percentFunded:a.personal[0]?.impact?.goalProgressPercentage||0,goalProgressText:a.personal[0]?.impact?.goalProgressText,description:b(this.configLang,a.personal[0]?.impact?.description||""),urlCopy:a.personal[0].nonprofit?.name,impactUrl:a.personal[0].nonprofit?.website||"",cardType:"personal",goalCompletionText:a.personal[0].impact.goalCompletionText})}
56
56
  </div>