@beamimpact/web-sdk 1.29.0 → 1.30.1

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 (91) hide show
  1. package/README.md +6 -7
  2. package/dist/chunks/{_share-dialog-dependencies-qA2x2Hci.esm.js → _share-dialog-dependencies--e9Yfdxt.esm.js} +2 -2
  3. package/dist/chunks/_share-dialog-dependencies--e9Yfdxt.esm.js.map +1 -0
  4. package/dist/chunks/{_share-dialog-dependencies-aJgTOo_o.esm.js → _share-dialog-dependencies-UDSD9RFy.esm.js} +2 -2
  5. package/dist/chunks/_share-dialog-dependencies-UDSD9RFy.esm.js.map +1 -0
  6. package/dist/chunks/index-FNXmLkmP.esm.js +2 -0
  7. package/dist/chunks/index-FNXmLkmP.esm.js.map +1 -0
  8. package/dist/chunks/index-FmuWTWCO.esm.js +2 -0
  9. package/dist/chunks/index-FmuWTWCO.esm.js.map +1 -0
  10. package/dist/chunks/index-MAzMDqhV.esm.js +2 -0
  11. package/dist/chunks/index-MAzMDqhV.esm.js.map +1 -0
  12. package/dist/chunks/index-NYK2Edpr.esm.js +2 -0
  13. package/dist/chunks/index-NYK2Edpr.esm.js.map +1 -0
  14. package/dist/chunks/index-qKG37btQ.esm.js +2 -0
  15. package/dist/chunks/index-qKG37btQ.esm.js.map +1 -0
  16. package/dist/chunks/localize-nH-zlK_j.esm.js +30 -0
  17. package/dist/chunks/localize-nH-zlK_j.esm.js.map +1 -0
  18. package/dist/chunks/{order-page-ROlgTyhA.esm.js → order-page-R2OPVBti.esm.js} +2 -2
  19. package/dist/chunks/{order-page-ROlgTyhA.esm.js.map → order-page-R2OPVBti.esm.js.map} +1 -1
  20. package/dist/chunks/{order-page-eEmqUebY.esm.js → order-page-zS1d11nZ.esm.js} +2 -2
  21. package/dist/chunks/{order-page-eEmqUebY.esm.js.map → order-page-zS1d11nZ.esm.js.map} +1 -1
  22. package/dist/chunks/{routes-52a2dOOE.esm.js → routes-g2iqYrq1.esm.js} +2 -2
  23. package/dist/chunks/{routes-52a2dOOE.esm.js.map → routes-g2iqYrq1.esm.js.map} +1 -1
  24. package/dist/chunks/{update-cart-c__LUZFg.esm.js → update-cart--iw762bF.esm.js} +2 -2
  25. package/dist/chunks/{update-cart-c__LUZFg.esm.js.map → update-cart--iw762bF.esm.js.map} +1 -1
  26. package/dist/components/community-impact.esm.js +3 -2
  27. package/dist/components/community-impact.esm.js.map +1 -1
  28. package/dist/components/community-impact.js +3 -2
  29. package/dist/components/community-impact.js.map +1 -1
  30. package/dist/components/cumulative-impact.d.ts +1 -1
  31. package/dist/components/cumulative-impact.esm.js +13 -12
  32. package/dist/components/cumulative-impact.esm.js.map +1 -1
  33. package/dist/components/cumulative-impact.js +13 -12
  34. package/dist/components/cumulative-impact.js.map +1 -1
  35. package/dist/components/impact-overview.esm.js +9 -4
  36. package/dist/components/impact-overview.esm.js.map +1 -1
  37. package/dist/components/impact-overview.js +9 -4
  38. package/dist/components/impact-overview.js.map +1 -1
  39. package/dist/components/index.esm.js +1 -1
  40. package/dist/components/index.js +1 -1
  41. package/dist/components/post-purchase.esm.js +1 -1
  42. package/dist/components/post-purchase.esm.js.map +1 -1
  43. package/dist/components/post-purchase.js +1 -1
  44. package/dist/components/post-purchase.js.map +1 -1
  45. package/dist/components/redeem-transaction.esm.js +3 -2
  46. package/dist/components/redeem-transaction.esm.js.map +1 -1
  47. package/dist/components/redeem-transaction.js +3 -2
  48. package/dist/components/redeem-transaction.js.map +1 -1
  49. package/dist/components/select-nonprofit.esm.js +7 -4
  50. package/dist/components/select-nonprofit.esm.js.map +1 -1
  51. package/dist/components/select-nonprofit.js +7 -4
  52. package/dist/components/select-nonprofit.js.map +1 -1
  53. package/dist/components/shopify.esm.js +1 -1
  54. package/dist/components/shopify.js +1 -1
  55. package/dist/index.esm.js +1 -1
  56. package/dist/index.js +1 -1
  57. package/dist/integrations/cart.esm.js +1 -1
  58. package/dist/integrations/cart.js +1 -1
  59. package/dist/integrations/index.esm.js +1 -1
  60. package/dist/integrations/index.js +1 -1
  61. package/dist/integrations/shopify.esm.js +1 -1
  62. package/dist/integrations/shopify.js +1 -1
  63. package/dist/react/community-impact.esm.js +1 -1
  64. package/dist/react/community-impact.js +1 -1
  65. package/dist/react/cumulative-impact.esm.js +1 -1
  66. package/dist/react/cumulative-impact.js +1 -1
  67. package/dist/react/impact-overview.esm.js +1 -1
  68. package/dist/react/impact-overview.js +1 -1
  69. package/dist/react/index.esm.js +1 -1
  70. package/dist/react/index.js +1 -1
  71. package/dist/react/post-purchase.esm.js +1 -1
  72. package/dist/react/post-purchase.js +1 -1
  73. package/dist/react/redeem-transaction.esm.js +1 -1
  74. package/dist/react/redeem-transaction.js +1 -1
  75. package/dist/react/select-nonprofit.esm.js +1 -1
  76. package/dist/react/select-nonprofit.js +1 -1
  77. package/package.json +1 -1
  78. package/dist/chunks/_share-dialog-dependencies-aJgTOo_o.esm.js.map +0 -1
  79. package/dist/chunks/_share-dialog-dependencies-qA2x2Hci.esm.js.map +0 -1
  80. package/dist/chunks/index-4z2o94Rr.esm.js +0 -2
  81. package/dist/chunks/index-4z2o94Rr.esm.js.map +0 -1
  82. package/dist/chunks/index-LW-Uv5ZW.esm.js +0 -2
  83. package/dist/chunks/index-LW-Uv5ZW.esm.js.map +0 -1
  84. package/dist/chunks/index-lFO9cyBH.esm.js +0 -2
  85. package/dist/chunks/index-lFO9cyBH.esm.js.map +0 -1
  86. package/dist/chunks/index-p4QxNz-z.esm.js +0 -2
  87. package/dist/chunks/index-p4QxNz-z.esm.js.map +0 -1
  88. package/dist/chunks/index-sHFANQ0S.esm.js +0 -2
  89. package/dist/chunks/index-sHFANQ0S.esm.js.map +0 -1
  90. package/dist/chunks/localize-e-mss8ya.esm.js +0 -29
  91. package/dist/chunks/localize-e-mss8ya.esm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"community-impact.esm.js","sources":["../../src/components/community-impact/strings.ts","../../src/components/community-impact/index.ts"],"sourcesContent":["export const strings = {\n en: {\n fundedTimes: ({ times = 0 }) => `Funded <b>${times}</b> ${times > 1 ? \"times\" : \"time\"} so far`,\n learnMore: () => `Learn more`,\n seeAll: () => `See All`,\n },\n fr: {\n fundedTimes: ({ times = 0 }) => `Financé <b>${times}</b> fois pour l'instant`,\n learnMore: () => `En savoir plus`,\n seeAll: () => `Voir tout`,\n },\n de: {\n fundedTimes: ({ times = 0 }) => `<b>${times}</b> Mal finanziert`,\n learnMore: () => `Mehr erfahren`,\n seeAll: () => `Alle anzeigen`,\n },\n es: {\n fundedTimes: ({ times = 0 }) => `Financiado <b>${times}</b> ${times > 1 ? \"vez\" : \"veces\"}`,\n learnMore: () => `Saber más`,\n seeAll: () => `Ver Todo`,\n },\n it: {\n fundedTimes: ({ times = 0 }) => `Finanziato <b>${times}</b> ${times > 1 ? \"volta\" : \"volte\"}`,\n learnMore: () => `Scopri di più`,\n seeAll: () => `Vedi Tutto`,\n },\n pl: {\n fundedTimes: ({ times = 0 }) => `Udzielono wsparcia <b>${times}</b> ${times > 1 ? \"razy\" : \"raz\"}`,\n learnMore: () => `Dowiedz się więcej`,\n seeAll: () => `Zobacz wszystko`,\n },\n};\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 } from \"../../api-sdk/constants\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { BeamError, MissingConfig } from \"../../shared/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 @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: \"community-impact\",\n version: \"1.0.0\",\n lang: this.configLang,\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 return html`\n <div class=\"image-card\" part=\"nonprofit-card\" style=\"display: flex; flex-direction: column;\">\n <div class=\"image-card-image-box\" style=\"background-image: url('${data.imageUrl}');\">\n <p class=\"image-card-cause\">${localizeUserString(this.configLang, data.nonprofit?.cause || \"\")}</p>\n <h4 class=\"image-card-name\">${localizeUserString(this.configLang, data.nonprofit?.name)}</h4>\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 >\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 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=\"${data.nonprofit?.cause}\" />\n <p class=\"icon-card-cause\">${data.nonprofit?.cause}</p>\n <h4 class=\"icon-card-name\">${data.nonprofit?.name}</h4>\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 >${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-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-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 }\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","x","I","c","b","p","a","i","n","e","BeamCommunityImpact","LitElement","DEFAULT_BASE_URL","enforceConfig","getImpact","AsyncController","data","html","localizeUserString","unsafeHTML","nonprofits","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","uniqueFilters","handleSeeAllFocus","handleFilterFocus","filter","styleMap","evt","selectedFilter","error","loading","_loading","_errorMessage","BeamError","filteredNonprofits","np","defaults","partnerLogosConfigDefaults","progressBarConfigDefaults","defineCustomText","columnCount","remoteConfig","config","_cssVariableMap","cssReset","css","useCustomText","cssCardGrid","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
1
+ {"version":3,"file":"community-impact.esm.js","sources":["../../src/components/community-impact/strings.ts","../../src/components/community-impact/index.ts"],"sourcesContent":["export const strings = {\n en: {\n fundedTimes: ({ times = 0 }) => `Funded <b>${times}</b> ${times > 1 ? \"times\" : \"time\"} so far`,\n learnMore: () => `Learn more`,\n seeAll: () => `See All`,\n },\n fr: {\n fundedTimes: ({ times = 0 }) => `Financé <b>${times}</b> fois pour l'instant`,\n learnMore: () => `En savoir plus`,\n seeAll: () => `Voir tout`,\n },\n de: {\n fundedTimes: ({ times = 0 }) => `<b>${times}</b> Mal finanziert`,\n learnMore: () => `Mehr erfahren`,\n seeAll: () => `Alle anzeigen`,\n },\n es: {\n fundedTimes: ({ times = 0 }) => `Financiado <b>${times}</b> ${times > 1 ? \"vez\" : \"veces\"}`,\n learnMore: () => `Saber más`,\n seeAll: () => `Ver Todo`,\n },\n it: {\n fundedTimes: ({ times = 0 }) => `Finanziato <b>${times}</b> ${times > 1 ? \"volta\" : \"volte\"}`,\n learnMore: () => `Scopri di più`,\n seeAll: () => `Vedi Tutto`,\n },\n pl: {\n fundedTimes: ({ times = 0 }) => `Udzielono wsparcia <b>${times}</b> ${times > 1 ? \"razy\" : \"raz\"}`,\n learnMore: () => `Dowiedz się więcej`,\n seeAll: () => `Zobacz wszystko`,\n },\n};\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 } from \"../../api-sdk/constants\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { BeamError, MissingConfig } from \"../../shared/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 @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: \"community-impact\",\n version: \"1.0.0\",\n lang: this.configLang,\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 return html`\n <div class=\"image-card\" part=\"nonprofit-card\" style=\"display: flex; flex-direction: column;\">\n <div class=\"image-card-image-box\" style=\"background-image: url('${data.imageUrl}');\">\n <p class=\"image-card-cause\">${localizeUserString(this.configLang, data.nonprofit?.cause || \"\")}</p>\n <h4 class=\"image-card-name\">${localizeUserString(this.configLang, data.nonprofit?.name)}</h4>\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 >\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 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=\"${data.nonprofit?.cause}\" />\n <p class=\"icon-card-cause\">${data.nonprofit?.cause}</p>\n <h4 class=\"icon-card-name\">${data.nonprofit?.name}</h4>\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 >${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 }\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","x","I","c","b","p","e","i","n","a","BeamCommunityImpact","LitElement","DEFAULT_BASE_URL","enforceConfig","getImpact","AsyncController","data","html","localizeUserString","unsafeHTML","nonprofits","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","uniqueFilters","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{h as x,f as g,t as I,g as v,y as p,k as b,m as u}from"../chunks/lit-h1W25hjN.esm.js";import{p as $}from"../chunks/progress-bar-w3yfrrxD.esm.js";import{partnerLogosConfigDefaults as T}from"./beam-partner-logos.js";import{c as k,u as n,d as w,e as S,A,i as c,a as L,_ as C,b as m,f as z}from"../chunks/localize-e-mss8ya.esm.js";import{D as F,b as D,S as M}from"../chunks/routes-52a2dOOE.esm.js";import{B as U}from"../chunks/beam-errors-l02WBee5.esm.js";import{c as f}from"../chunks/css-card-grid-RRkoiUTl.esm.js";import"../chunks/logger-ad87ovol.esm.js";const y={en:{fundedTimes:({times:i=0})=>`Funded <b>${i}</b> ${i>1?"times":"time"} so far`,learnMore:()=>"Learn more",seeAll:()=>"See All"},fr:{fundedTimes:({times:i=0})=>`Financ\xE9 <b>${i}</b> fois pour l'instant`,learnMore:()=>"En savoir plus",seeAll:()=>"Voir tout"},de:{fundedTimes:({times:i=0})=>`<b>${i}</b> Mal finanziert`,learnMore:()=>"Mehr erfahren",seeAll:()=>"Alle anzeigen"},es:{fundedTimes:({times:i=0})=>`Financiado <b>${i}</b> ${i>1?"vez":"veces"}`,learnMore:()=>"Saber m\xE1s",seeAll:()=>"Ver Todo"},it:{fundedTimes:({times:i=0})=>`Finanziato <b>${i}</b> ${i>1?"volta":"volte"}`,learnMore:()=>"Scopri di pi\xF9",seeAll:()=>"Vedi Tutto"},pl:{fundedTimes:({times:i=0})=>`Udzielono wsparcia <b>${i}</b> ${i>1?"razy":"raz"}`,learnMore:()=>"Dowiedz si\u0119 wi\u0119cej",seeAll:()=>"Zobacz wszystko"}};var E=Object.defineProperty,P=Object.getOwnPropertyDescriptor,d=(i,a,t,r)=>{for(var o=r>1?void 0:r?P(a,t):a,e=i.length-1,l;e>=0;e--)(l=i[e])&&(o=(r?l(a,t,o):l(o))||o);return r&&o&&E(a,t,o),o};class s extends v{constructor(){super(...arguments),this.baseUrl=F,this.cardStyle="image",this.lang="en",this.debug=!1,this.selectedFilter=null,this.getImpactData=async()=>(S(["apiKey","chainId"],this),D({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{chainId:this.chainId,personalImpactLimit:0,widgetName:"community-impact",version:"1.0.0",lang:this.configLang}})),this.impactDataController=new A(this,this.getImpactData),this.renderImageCard=a=>p`
1
+ import{h as x,f as g,t as I,g as v,y as p,k as b,m as u}from"../chunks/lit-h1W25hjN.esm.js";import{p as $}from"../chunks/progress-bar-w3yfrrxD.esm.js";import{partnerLogosConfigDefaults as T}from"./beam-partner-logos.js";import{c as k,u as n,d as w,e as S,A,i as c,a as L,_ as C,b as m,f as z}from"../chunks/localize-nH-zlK_j.esm.js";import{D as F,b as D,S as M}from"../chunks/routes-g2iqYrq1.esm.js";import{B as U}from"../chunks/beam-errors-l02WBee5.esm.js";import{c as f}from"../chunks/css-card-grid-RRkoiUTl.esm.js";import"../chunks/logger-ad87ovol.esm.js";const y={en:{fundedTimes:({times:i=0})=>`Funded <b>${i}</b> ${i>1?"times":"time"} so far`,learnMore:()=>"Learn more",seeAll:()=>"See All"},fr:{fundedTimes:({times:i=0})=>`Financ\xE9 <b>${i}</b> fois pour l'instant`,learnMore:()=>"En savoir plus",seeAll:()=>"Voir tout"},de:{fundedTimes:({times:i=0})=>`<b>${i}</b> Mal finanziert`,learnMore:()=>"Mehr erfahren",seeAll:()=>"Alle anzeigen"},es:{fundedTimes:({times:i=0})=>`Financiado <b>${i}</b> ${i>1?"vez":"veces"}`,learnMore:()=>"Saber m\xE1s",seeAll:()=>"Ver Todo"},it:{fundedTimes:({times:i=0})=>`Finanziato <b>${i}</b> ${i>1?"volta":"volte"}`,learnMore:()=>"Scopri di pi\xF9",seeAll:()=>"Vedi Tutto"},pl:{fundedTimes:({times:i=0})=>`Udzielono wsparcia <b>${i}</b> ${i>1?"razy":"raz"}`,learnMore:()=>"Dowiedz si\u0119 wi\u0119cej",seeAll:()=>"Zobacz wszystko"}};var E=Object.defineProperty,P=Object.getOwnPropertyDescriptor,d=(i,a,t,r)=>{for(var o=r>1?void 0:r?P(a,t):a,e=i.length-1,l;e>=0;e--)(l=i[e])&&(o=(r?l(a,t,o):l(o))||o);return r&&o&&E(a,t,o),o};class s extends v{constructor(){super(...arguments),this.baseUrl=F,this.cardStyle="image",this.lang="en",this.debug=!1,this.selectedFilter=null,this.getImpactData=async()=>(S(["apiKey","chainId"],this),D({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{chainId:this.chainId,personalImpactLimit:0,widgetName:"community-impact",version:"1.0.0",lang:this.configLang}})),this.impactDataController=new A(this,this.getImpactData),this.renderImageCard=a=>p`
2
2
  <div class="image-card" part="nonprofit-card" style="display: flex; flex-direction: column;">
3
3
  <div class="image-card-image-box" style="background-image: url('${a.imageUrl}');">
4
4
  <p class="image-card-cause">${c(this.configLang,a.nonprofit?.cause||"")}</p>
@@ -97,10 +97,11 @@ import{h as x,f as g,t as I,g as v,y as p,k as b,m as u}from"../chunks/lit-h1W25
97
97
  ></beam-partner-logos>
98
98
 
99
99
  ${this.renderFilterTabs({nonprofits:e})} ${this.renderCards({nonprofits:l})}
100
- `}get cssVariables(){const a={"--beam-fontFamily":"inherit","--beam-fontSize":"14px","--beam-lineHeight":"1","--beam-textColor":"inherit","--beam-backgroundColor":"inherit",...T,...$,"--beam-CommunityImpact-filterTabs-textalign":"left","--beam-CommunityImpact-filterTabs-marginBottom":"20px","--beam-CommunityImpact-imageCard-borderColor":"currentColor","--beam-CommunityImpact-imageCard-borderRadius":"0","--beam-CommunityImpact-imageCard-borderWidth":"1px","--beam-CommunityImpact-imageCard-backgroundColor":"inherit","--beam-CommunityImpact-imageCard-foregroundColor":"inherit",...m("--beam-CommunityImpact-filterTabs",{fontSize:"16px",marginTop:"10px",fontWeight:"bold"}),...m("--beam-CommunityImpact-imageCard-cause",{fontSize:"14px",textTransform:"uppercase",color:"#fff"}),...m("--beam-CommunityImpact-imageCard-name",{fontSize:"22px",marginTop:"0",color:"#fff"}),...m("--beam-CommunityImpact-imageCard-description",{marginTop:"10px",lineHeight:"1.3"}),"--beam-CommunityImpact-imageCard-link-color":"inherit","--beam-CommunityImpact-imageCard-linkArrow-display":"none",...m("--beam-CommunityImpact-imageCard-link",{fontSize:"12px"}),...m("--beam-CommunityImpact-imageCard-goalCompletion",{fontSize:"12px"}),"--beam-CommunityImpact-imageCard-goalCompletion-fontStyle":"italic","--beam-CommunityImpact-imageCard-progress-marginTop":"10px",...m("--beam-CommunityImpact-imageCard-progressText"),"--beam-CommunityImpact-imageCard-footer-marginTop":"10px",...m("--beam-CommunityImpact-iconCard-cause",{marginTop:"10px"}),...m("--beam-CommunityImpact-iconCard-name",{marginTop:"5px",fontWeight:"bold"}),"--beam-CommunityImpact-iconCard-progress-marginTop":"10px",...m("--beam-CommunityImpact-iconCard-progressText"),...m("--beam-CommunityImpact-iconCard-description",{marginTop:"10px",lineHeight:"1.3"}),"--beam-CommunityImpact-iconCard-description-textAlign":"left",...m("--beam-CommunityImpact-iconCard-goalCompletion",{marginTop:"10px"}),"--beam-CommunityImpact-iconCard-link-color":"inherit","--beam-CommunityImpact-iconCard-linkArrow-display":"none",...m("--beam-CommunityImpact-iconCard-link",{marginTop:"5px"})},t=(this.impactDataController.data?.community.length||0)===3?3:this.cardStyle==="icon"?4:2;a["--beam-CommunityImpact-columns"]=t.toString(),a["--beam-CommunityImpact-columns-minWidth"]=this.cardStyle==="image"?"300px":"200px";const r=this.impactDataController?.data?.config?.web?.theme||{},o={...a,...r};return Object.assign(Object.create({toCSS(){return z(this)}}),o)}}s.tagName="beam-community-impact",s.styles=[k,x`
100
+ `}get cssVariables(){const a={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"14px","--beam-lineHeight":"1","--beam-textColor":"inherit","--beam-backgroundColor":"inherit",...T,...$,"--beam-CommunityImpact-filterTabs-textalign":"left","--beam-CommunityImpact-filterTabs-marginBottom":"20px","--beam-CommunityImpact-imageCard-borderColor":"currentColor","--beam-CommunityImpact-imageCard-borderRadius":"0","--beam-CommunityImpact-imageCard-borderWidth":"1px","--beam-CommunityImpact-imageCard-backgroundColor":"inherit","--beam-CommunityImpact-imageCard-foregroundColor":"inherit",...m("--beam-CommunityImpact-filterTabs",{fontSize:"16px",marginTop:"10px",fontWeight:"bold"}),...m("--beam-CommunityImpact-imageCard-cause",{fontSize:"14px",textTransform:"uppercase",color:"#fff"}),...m("--beam-CommunityImpact-imageCard-name",{fontSize:"22px",marginTop:"0",color:"#fff"}),...m("--beam-CommunityImpact-imageCard-description",{marginTop:"10px",lineHeight:"1.3"}),"--beam-CommunityImpact-imageCard-link-color":"inherit","--beam-CommunityImpact-imageCard-linkArrow-display":"none",...m("--beam-CommunityImpact-imageCard-link",{fontSize:"12px"}),...m("--beam-CommunityImpact-imageCard-goalCompletion",{fontSize:"12px"}),"--beam-CommunityImpact-imageCard-goalCompletion-fontStyle":"italic","--beam-CommunityImpact-imageCard-progress-marginTop":"10px",...m("--beam-CommunityImpact-imageCard-progressText"),"--beam-CommunityImpact-imageCard-footer-marginTop":"10px",...m("--beam-CommunityImpact-iconCard-cause",{marginTop:"10px"}),...m("--beam-CommunityImpact-iconCard-name",{marginTop:"5px",fontWeight:"bold"}),"--beam-CommunityImpact-iconCard-progress-marginTop":"10px",...m("--beam-CommunityImpact-iconCard-progressText"),...m("--beam-CommunityImpact-iconCard-description",{marginTop:"10px",lineHeight:"1.3"}),"--beam-CommunityImpact-iconCard-description-textAlign":"left",...m("--beam-CommunityImpact-iconCard-goalCompletion",{marginTop:"10px"}),"--beam-CommunityImpact-iconCard-link-color":"inherit","--beam-CommunityImpact-iconCard-linkArrow-display":"none",...m("--beam-CommunityImpact-iconCard-link",{marginTop:"5px"})},t=(this.impactDataController.data?.community.length||0)===3?3:this.cardStyle==="icon"?4:2;a["--beam-CommunityImpact-columns"]=t.toString(),a["--beam-CommunityImpact-columns-minWidth"]=this.cardStyle==="image"?"300px":"200px";const r=this.impactDataController?.data?.config?.web?.theme||{},o={...a,...r};return Object.assign(Object.create({toCSS(){return z(this)}}),o)}}s.tagName="beam-community-impact",s.styles=[k,x`
101
101
  :host {
102
102
  display: block;
103
103
  font-family: var(--beam-fontFamily, inherit);
104
+ font-style: var(--beam-fontStyle, inherit);
104
105
  font-size: var(--beam-fontSize, inherit);
105
106
  color: var(--beam-textColor, inherit);
106
107
  background-color: var(--beam-backgroundColor, inherit);
@@ -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 } from \"../../api-sdk/constants\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { BeamError, MissingConfig } from \"../../shared/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 @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: \"community-impact\",\n version: \"1.0.0\",\n lang: this.configLang,\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 return html`\n <div class=\"image-card\" part=\"nonprofit-card\" style=\"display: flex; flex-direction: column;\">\n <div class=\"image-card-image-box\" style=\"background-image: url('${data.imageUrl}');\">\n <p class=\"image-card-cause\">${localizeUserString(this.configLang, data.nonprofit?.cause || \"\")}</p>\n <h4 class=\"image-card-name\">${localizeUserString(this.configLang, data.nonprofit?.name)}</h4>\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 >\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 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=\"${data.nonprofit?.cause}\" />\n <p class=\"icon-card-cause\">${data.nonprofit?.cause}</p>\n <h4 class=\"icon-card-name\">${data.nonprofit?.name}</h4>\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 >${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-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-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 }\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","x","I","c","b","p","a","i","n","e","BeamCommunityImpact","LitElement","DEFAULT_BASE_URL","enforceConfig","getImpact","AsyncController","data","html","localizeUserString","unsafeHTML","nonprofits","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","uniqueFilters","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 } from \"../../api-sdk/constants\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { BeamError, MissingConfig } from \"../../shared/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 @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: \"community-impact\",\n version: \"1.0.0\",\n lang: this.configLang,\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 return html`\n <div class=\"image-card\" part=\"nonprofit-card\" style=\"display: flex; flex-direction: column;\">\n <div class=\"image-card-image-box\" style=\"background-image: url('${data.imageUrl}');\">\n <p class=\"image-card-cause\">${localizeUserString(this.configLang, data.nonprofit?.cause || \"\")}</p>\n <h4 class=\"image-card-name\">${localizeUserString(this.configLang, data.nonprofit?.name)}</h4>\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 >\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 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=\"${data.nonprofit?.cause}\" />\n <p class=\"icon-card-cause\">${data.nonprofit?.cause}</p>\n <h4 class=\"icon-card-name\">${data.nonprofit?.name}</h4>\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 >${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 }\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","x","I","c","b","p","e","i","n","a","BeamCommunityImpact","LitElement","DEFAULT_BASE_URL","enforceConfig","getImpact","AsyncController","data","html","localizeUserString","unsafeHTML","nonprofits","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","uniqueFilters","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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"}
@@ -39,7 +39,7 @@ declare class BeamCumulativeImpact extends LitElement {
39
39
  lang: LANGUAGES;
40
40
  disableAnimation: boolean;
41
41
  debug: boolean;
42
- get configLang(): "en";
42
+ get configLang(): LANGUAGES;
43
43
  private getCumulativeImpactData;
44
44
  private cumulativeImpactDataController;
45
45
  impactRowRefs: HTMLElement[];
@@ -1,4 +1,4 @@
1
- import{t as w,g as h,y as u,f as s,h as C,u as I}from"../chunks/lit-h1W25hjN.esm.js";import{d as y}from"../chunks/lodash-ZxBiuGue.esm.js";import{c as x,u as p,d as S,e as T,A as $,a as V,_ as b,i as f,b as d,f as D}from"../chunks/localize-e-mss8ya.esm.js";import{D as E,f as L}from"../chunks/routes-52a2dOOE.esm.js";import{B}from"../chunks/beam-errors-l02WBee5.esm.js";import{i as k}from"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/logger-ad87ovol.esm.js";var A=Object.defineProperty,R=Object.getOwnPropertyDescriptor,v=(n,t,a,e)=>{for(var i=e>1?void 0:e?R(t,a):t,o=n.length-1,r;o>=0;o--)(r=n[o])&&(i=(e?r(t,a,i):r(i))||i);return e&&i&&A(t,a,i),i};class c extends h{constructor(){super(...arguments),this.finalValue=0,this.duration=1500,this.counter=0,this.intervalId=0,this.handleCounterAnimateIfInView=t=>{t.some(a=>a.isIntersecting)&&(this.animateCounter(),this.unobserveScrollTarget())},this.animateCounter=()=>{const t=41.666666666666664,a=t/this.duration*this.finalValue;this.intervalId=setInterval(()=>{const e=this.counter+a;if(e>=this.finalValue){this.counter=this.finalValue,clearInterval(this.intervalId);return}else this.counter=e},t)},this.observer=new IntersectionObserver(this.handleCounterAnimateIfInView,{threshold:.1}),this.observeScrollTarget=()=>{const t=this.scrollTargetElement;t&&this.observer.observe(t)},this.unobserveScrollTarget=()=>{const t=this.scrollTargetElement;t&&this.observer.unobserve(t)}}connectedCallback(){super.connectedCallback();const t=window.matchMedia("(prefers-reduced-motion: reduce)").matches;this.duration===0||t?this.counter=this.finalValue:this.observeScrollTarget()}disconnectedCallback(){super.disconnectedCallback(),this.unobserveScrollTarget(),clearInterval(this.intervalId)}get scrollTargetElement(){return this.scrollTarget?document.querySelector(this.scrollTarget):this}render(){return u`${Math.ceil(this.counter).toLocaleString()}`}}v([s({type:Number})],c.prototype,"finalValue",2),v([s({type:Number})],c.prototype,"duration",2),v([s({type:String})],c.prototype,"scrollTarget",2),v([w()],c.prototype,"counter",2),customElements.get("animated-counter")||customElements.define("animated-counter",c);const z=n=>{const t=n instanceof NodeList?Array.from(n):n;if(t.length===0||!k(t))return;const a=t.sort((i,o)=>{const r=getComputedStyle(i).getPropertyValue("width").replace("px",""),g=getComputedStyle(o).getPropertyValue("width").replace("px","");return parseInt(g)-parseInt(r)})[0],e=getComputedStyle(a).getPropertyValue("width");for(const i of t)getComputedStyle(i).getPropertyValue("width")!==e&&(i.style.width=e)},O={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."}};var P=Object.defineProperty,M=Object.getOwnPropertyDescriptor,m=(n,t,a,e)=>{for(var i=e>1?void 0:e?M(t,a):t,o=n.length-1,r;o>=0;o--)(r=n[o])&&(i=(e?r(t,a,i):r(i))||i);return e&&i&&P(t,a,i),i};const U=1.5*1e3;class l extends h{constructor(){super(...arguments),this.baseUrl=E,this.lang="en",this.disableAnimation=!1,this.debug=!1,this.getCumulativeImpactData=async()=>(T(["apiKey","chainId"],this),await L({baseUrl:this.baseUrl,pathParams:{chainId:this.chainId},headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{version:"1.0.0",lang:this.configLang}})),this.cumulativeImpactDataController=new $(this,this.getCumulativeImpactData),this.resizeElements=y(()=>{z(this.impactRowRefs)},50,{maxWait:50,leading:!0})}get configLang(){return"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(t){const a=["chainId","baseUrl","lang"];for(const e of a)if(t.has(e)){await this.cumulativeImpactDataController.exec();break}this.resizeElements()}render(){const{data:t,error:a,loading:e}=this.cumulativeImpactDataController;return e?V():a?this.debug?b({error:a}):"":t==null?this.debug?b({error:new B("Missing data")}):"":u`
1
+ import{t as y,g as b,y as u,f as c,h as C,u as I}from"../chunks/lit-h1W25hjN.esm.js";import{d as x}from"../chunks/lodash-ZxBiuGue.esm.js";import{c as T,u as p,d as S,e as E,A as z,a as B,_ as f,i as d,b as v,f as D}from"../chunks/localize-nH-zlK_j.esm.js";import{D as L,f as $,S as k}from"../chunks/routes-g2iqYrq1.esm.js";import{B as V}from"../chunks/beam-errors-l02WBee5.esm.js";import{i as A}from"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/logger-ad87ovol.esm.js";var j=Object.defineProperty,R=Object.getOwnPropertyDescriptor,h=(n,e,t,a)=>{for(var i=a>1?void 0:a?R(e,t):e,o=n.length-1,r;o>=0;o--)(r=n[o])&&(i=(a?r(e,t,i):r(i))||i);return a&&i&&j(e,t,i),i};class m 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 a=this.counter+t;if(a>=this.finalValue){this.counter=this.finalValue,clearInterval(this.intervalId);return}else this.counter=a},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([c({type:Number})],m.prototype,"finalValue",2),h([c({type:Number})],m.prototype,"duration",2),h([c({type:String})],m.prototype,"scrollTarget",2),h([y()],m.prototype,"counter",2),customElements.get("animated-counter")||customElements.define("animated-counter",m);const O=n=>{const e=n instanceof NodeList?Array.from(n):n;if(e.length===0||!A(e))return;const t=e.sort((i,o)=>{const r=getComputedStyle(i).getPropertyValue("width").replace("px",""),g=getComputedStyle(o).getPropertyValue("width").replace("px","");return parseInt(g)-parseInt(r)})[0],a=getComputedStyle(t).getPropertyValue("width");for(const i of e)getComputedStyle(i).getPropertyValue("width")!==a&&(i.style.width=a)},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 P=Object.defineProperty,q=Object.getOwnPropertyDescriptor,l=(n,e,t,a)=>{for(var i=a>1?void 0:a?q(e,t):e,o=n.length-1,r;o>=0;o--)(r=n[o])&&(i=(a?r(e,t,i):r(i))||i);return a&&i&&P(e,t,i),i};const U=1.5*1e3;class s extends b{constructor(){super(...arguments),this.baseUrl=L,this.lang="en",this.disableAnimation=!1,this.debug=!1,this.getCumulativeImpactData=async()=>(E(["apiKey","chainId"],this),await $({baseUrl:this.baseUrl,pathParams:{chainId:this.chainId},headers:{authorization:`Api-Key ${this.apiKey}`},queryParams:{version:"1.0.0",lang:this.configLang}})),this.cumulativeImpactDataController=new z(this,this.getCumulativeImpactData),this.resizeElements=x(()=>{O(this.impactRowRefs)},50,{maxWait:50,leading:!0})}get configLang(){return k[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.resizeElements)}async updated(e){const t=["chainId","baseUrl","lang"];for(const a of t)if(e.has(a)){await this.cumulativeImpactDataController.exec();break}this.resizeElements()}render(){const{data:e,error:t,loading:a}=this.cumulativeImpactDataController;return a?B():t?this.debug?f({error:t}):"":e==null?this.debug?f({error:new V("Missing data")}):"":u`
2
2
  <style>
3
3
  :host {
4
4
  ${this.cssVariables.toCSS()}
@@ -12,40 +12,41 @@ import{t as w,g as h,y as u,f as s,h as C,u as I}from"../chunks/lit-h1W25hjN.esm
12
12
  part="options"
13
13
  aria-labelledby="beam-RedeemTransaction-title"
14
14
  >
15
- ${this.renderCumulativeImpact(t)}
15
+ ${this.renderCumulativeImpact(e)}
16
16
  </div>
17
17
  </div>
18
- `}renderCumulativeImpact(t){const a=O[this.configLang],e=t.impacts?t.impacts?.map(r=>r.value||0):[],i=Math.max(...e),o=e.map(r=>U*Math.log(Math.max(r,1))/Math.log(i));return u`
18
+ `}renderCumulativeImpact(e){const t=e.impacts?e.impacts?.map(o=>o.value||0):[],a=Math.max(...t),i=t.map(o=>U*Math.log(Math.max(o,1))/Math.log(a));return u`
19
19
  <div class="main">
20
20
  <div class="title" role="heading">
21
- ${f(this.configLang,t?.config?.web?.title||"")||a.cumulativeImpactTitle()}
21
+ ${d(this.configLang,e?.config?.web?.title||"")||w[this.configLang].cumulativeImpactTitle()}
22
22
  </div>
23
23
  <p class="description">
24
- ${f(this.configLang,t?.config?.web?.description||"")||a.cumulativeImpactDescription()}
24
+ ${d(this.configLang,e?.config?.web?.description||"")||w[this.configLang].cumulativeImpactDescription()}
25
25
  </p>
26
26
  <div class="impact-list">
27
- ${t.impacts?.map((r,g)=>this.renderCumulativeImpactRow({impact:r,animationDuration:o[g]}))}
27
+ ${e.impacts?.map((o,r)=>this.renderCumulativeImpactRow({impact:o,animationDuration:i[r]}))}
28
28
  </div>
29
29
  </div>
30
- `}renderCumulativeImpactRow({impact:t,animationDuration:a}){const e=this.cumulativeImpactDataController.data?.config?.web.disableAnimation,i="impact-row-value-counter impact-row-value-floating-counter",o=e?0:a;return u`
30
+ `}renderCumulativeImpactRow({impact:e,animationDuration:t}){const a=this.cumulativeImpactDataController.data?.config?.web.disableAnimation,i="impact-row-value-counter impact-row-value-floating-counter",o=a?0:t,r=d(this.configLang,e.unit||""),g=d(this.configLang,e.summary||"");return u`
31
31
  <div class="impact-row">
32
32
  <div class="impact-row-value-container">
33
33
  <span class="impact-row-value-counter" style="visibility: hidden;" aria-hidden="true">
34
- ${t.value.toLocaleString()}
34
+ ${e.value.toLocaleString()}
35
35
  </span>
36
36
  <animated-counter
37
37
  class="${i}"
38
- finalValue=${t.value}
38
+ finalValue=${e.value}
39
39
  duration=${o}
40
40
  ></animated-counter>
41
41
  </span>
42
42
  </div>
43
- <div class="impact-row-description">${t.unit} ${t.summary}</div>
43
+ <div class="impact-row-description">${r} ${g}</div>
44
44
  </div>
45
- `}get cssVariables(){const t={"--beam-fontFamily":"inherit","--beam-fontSize":"16px","--beam-lineHeight":"1","--beam-textColor":"inherit",...d("--beam-CumulativeImpact-title",{fontSize:"32px"}),...d("--beam-CumulativeImpact-description",{marginTop:"16px",lineHeight:"1.3"}),"--beam-CumulativeImpact-impact-list-marginTop":"24px","--beam-CumulativeImpact-row-marginTop":"24px","--beam-CumulativeImpact-row-value-container-borderBottomWidth":"4px","--beam-CumulativeImpact-row-value-container-borderBottomColor":"currentColor","--beam-CumulativeImpact-row-value-container-paddingTop":"0","--beam-CumulativeImpact-row-value-container-paddingRight":"20px","--beam-CumulativeImpact-row-value-container-paddingBottom":"4px","--beam-CumulativeImpact-row-value-container-paddingLeft":"20px",...d("--beam-CumulativeImpact-row-value-counter",{color:"currentColor",fontSize:"24px",fontWeight:"normal"}),...d("--beam-CumulativeImpact-row-description",{color:"currentColor",fontSize:"16px",fontWeight:"normal",lineHeight:"1.3"}),"--beam-CumulativeImpact-row-description-paddingLeft":"24px","--beam-CumulativeImpact-row-description-paddingRight":"24px","--beam-CumulativeImpact-row-description-mobile-marginTop":"12px"},a=this.cumulativeImpactDataController.data?.config?.web?.theme||{},e={...t,...a};return Object.assign(Object.create({toCSS(){return D(this)}}),e)}}l.tagName="beam-cumulative-impact",l.styles=[x,C`
45
+ `}get cssVariables(){const e={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"16px","--beam-lineHeight":"1","--beam-textColor":"inherit",...v("--beam-CumulativeImpact-title",{fontSize:"32px"}),...v("--beam-CumulativeImpact-description",{marginTop:"16px",lineHeight:"1.3"}),"--beam-CumulativeImpact-impact-list-marginTop":"24px","--beam-CumulativeImpact-row-marginTop":"24px","--beam-CumulativeImpact-row-value-container-borderBottomWidth":"4px","--beam-CumulativeImpact-row-value-container-borderBottomColor":"currentColor","--beam-CumulativeImpact-row-value-container-paddingTop":"0","--beam-CumulativeImpact-row-value-container-paddingRight":"20px","--beam-CumulativeImpact-row-value-container-paddingBottom":"4px","--beam-CumulativeImpact-row-value-container-paddingLeft":"20px",...v("--beam-CumulativeImpact-row-value-counter",{color:"currentColor",fontSize:"24px",fontWeight:"normal"}),...v("--beam-CumulativeImpact-row-description",{color:"currentColor",fontSize:"16px",fontWeight:"normal",lineHeight:"1.3"}),"--beam-CumulativeImpact-row-description-paddingLeft":"24px","--beam-CumulativeImpact-row-description-paddingRight":"24px","--beam-CumulativeImpact-row-description-mobile-marginTop":"12px"},t=this.cumulativeImpactDataController.data?.config?.web?.theme||{},a={...e,...t};return Object.assign(Object.create({toCSS(){return D(this)}}),a)}}s.tagName="beam-cumulative-impact",s.styles=[T,C`
46
46
  :host {
47
47
  display: block;
48
48
  font-family: var(--beam-fontFamily, inherit);
49
+ font-style: var(--beam-fontStyle, inherit);
49
50
  font-size: var(--beam-fontSize, inherit);
50
51
  color: var(--beam-textColor, inherit);
51
52
  background-color: var(--beam-backgroundColor, inherit);
@@ -115,5 +116,5 @@ import{t as w,g as h,y as u,f as s,h as C,u as I}from"../chunks/lit-h1W25hjN.esm
115
116
  padding-bottom: 0;
116
117
  }
117
118
  }
118
- `],m([s({type:String})],l.prototype,"apiKey",2),m([s({type:Number})],l.prototype,"chainId",2),m([s({type:String})],l.prototype,"baseUrl",2),m([s({type:String})],l.prototype,"lang",2),m([s({type:Boolean})],l.prototype,"disableAnimation",2),m([s({type:Boolean})],l.prototype,"debug",2),m([I(".impact-row-value-container")],l.prototype,"impactRowRefs",2),S(l);export{l as BeamCumulativeImpact};
119
+ `],l([c({type:String})],s.prototype,"apiKey",2),l([c({type:Number})],s.prototype,"chainId",2),l([c({type:String})],s.prototype,"baseUrl",2),l([c({type:String})],s.prototype,"lang",2),l([c({type:Boolean})],s.prototype,"disableAnimation",2),l([c({type:Boolean})],s.prototype,"debug",2),l([I(".impact-row-value-container")],s.prototype,"impactRowRefs",2),S(s);export{s as BeamCumulativeImpact};
119
120
  //# sourceMappingURL=cumulative-impact.esm.js.map