@beamimpact/web-sdk 1.56.3 → 1.57.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/_share-dialog-dependencies-U9953n3E.esm.js +2 -0
- package/dist/chunks/{_share-dialog-dependencies-Bk60ibnw.esm.js.map → _share-dialog-dependencies-U9953n3E.esm.js.map} +1 -1
- package/dist/chunks/{order-page-CSEjG6ma.esm.d.ts → cart-ChovPXmM.esm.d.ts} +5 -28
- package/dist/chunks/css-card-grid-BUidQqf0.esm.js +21 -0
- package/dist/chunks/css-card-grid-BUidQqf0.esm.js.map +1 -0
- package/dist/chunks/handlebars-B_i-to-h.esm.js +23 -0
- package/dist/chunks/handlebars-B_i-to-h.esm.js.map +1 -0
- package/dist/chunks/index--PfL-_nX.esm.js +2 -0
- package/dist/chunks/index--PfL-_nX.esm.js.map +1 -0
- package/dist/chunks/index-B4xKTDaF.esm.js +2 -0
- package/dist/chunks/index-B4xKTDaF.esm.js.map +1 -0
- package/dist/chunks/{index-DDCtGN21.esm.d.ts → index-BG4XJXUa.esm.d.ts} +1 -5
- package/dist/chunks/index-BHglsF5j.esm.js +2 -0
- package/dist/chunks/index-BHglsF5j.esm.js.map +1 -0
- package/dist/chunks/{index-hghrT7Z_.esm.d.ts → index-BoIHE1tC.esm.d.ts} +3 -0
- package/dist/chunks/index-CTsxQr7R.esm.js +32 -0
- package/dist/chunks/index-CTsxQr7R.esm.js.map +1 -0
- package/dist/chunks/{index-UMeAzKTG.esm.js → index-CVmIOuEY.esm.js} +6 -6
- package/dist/chunks/{index-BEEmYYxP.esm.js.map → index-CVmIOuEY.esm.js.map} +1 -1
- package/dist/chunks/{index-BLlSL37B.esm.d.ts → index-CdinWvYu.esm.d.ts} +1 -1
- package/dist/chunks/index-DBKUxzAl.esm.js +32 -0
- package/dist/chunks/index-DBKUxzAl.esm.js.map +1 -0
- package/dist/chunks/{index-BEEmYYxP.esm.js → index-DTw-q6W4.esm.js} +6 -6
- package/dist/chunks/{index-UMeAzKTG.esm.js.map → index-DTw-q6W4.esm.js.map} +1 -1
- package/dist/chunks/index-DhHhFTBE.esm.js +31 -0
- package/dist/chunks/index-DhHhFTBE.esm.js.map +1 -0
- package/dist/chunks/{index-C_u1FXtO.esm.d.ts → index-IQOpw0qx.esm.d.ts} +1 -10
- package/dist/chunks/{index-DyUuvdr3.esm.d.ts → index-_0XeyyF9.esm.d.ts} +1 -1
- package/dist/chunks/index-cb5vYQx0.esm.js +2 -0
- package/dist/chunks/index-cb5vYQx0.esm.js.map +1 -0
- package/dist/chunks/{lit-JRlupCB5.esm.js → lit-BEag9MFp.esm.js} +2 -2
- package/dist/chunks/{lit-JRlupCB5.esm.js.map → lit-BEag9MFp.esm.js.map} +1 -1
- package/dist/chunks/{lodash-BSs6Il-c.esm.js → lodash-CrMU6wKg.esm.js} +2 -2
- package/dist/chunks/{lodash-BSs6Il-c.esm.js.map → lodash-CrMU6wKg.esm.js.map} +1 -1
- package/dist/chunks/{promo-pill-label-D_4zJ7uy.esm.js → promo-pill-label-BdTmmg_U.esm.js} +2 -2
- package/dist/chunks/{promo-pill-label-D_4zJ7uy.esm.js.map → promo-pill-label-BdTmmg_U.esm.js.map} +1 -1
- package/dist/chunks/{responsive-CIV4sFdH.esm.js → responsive-aN8P5PqD.esm.js} +2 -2
- package/dist/chunks/{responsive-CIV4sFdH.esm.js.map → responsive-aN8P5PqD.esm.js.map} +1 -1
- package/dist/chunks/{routes-OxC3Ah30.esm.d.ts → routes-D6Gtw6kZ.esm.d.ts} +1 -1
- package/dist/chunks/share-button-7sI6zg-x.esm.js +54 -0
- package/dist/chunks/share-button-7sI6zg-x.esm.js.map +1 -0
- package/dist/chunks/{share-button-Dzc7loia.esm.js → share-button-BaIbuJOl.esm.js} +3 -3
- package/dist/chunks/{share-button-DkTpGZk1.esm.js.map → share-button-BaIbuJOl.esm.js.map} +1 -1
- package/dist/chunks/{update-cart-DWgFuC7U.esm.d.ts → update-cart-CcgzHTEm.esm.d.ts} +1 -2
- package/dist/chunks/utils-BjhsDvuU.esm.js +2 -0
- package/dist/chunks/utils-BjhsDvuU.esm.js.map +1 -0
- package/dist/chunks/{openapi-spec-B4z4_CMq.esm.d.ts → utils-D8HO_RIu.esm.d.ts} +597 -11
- package/dist/chunks/{vendor-ckSdd6aH.esm.js → vendor-DUOg5fL-.esm.js} +2 -2
- package/dist/chunks/{vendor-ckSdd6aH.esm.js.map → vendor-DUOg5fL-.esm.js.map} +1 -1
- package/dist/components/beam-partner-logos.d.ts +3 -1
- package/dist/components/beam-partner-logos.esm.js +1 -1
- package/dist/components/beam-partner-logos.js +1 -1
- package/dist/components/community-impact.d.ts +3 -2
- package/dist/components/community-impact.esm.js +6 -6
- package/dist/components/community-impact.esm.js.map +1 -1
- package/dist/components/community-impact.js +6 -6
- package/dist/components/community-impact.js.map +1 -1
- package/dist/components/cumulative-impact.d.ts +3 -2
- package/dist/components/cumulative-impact.esm.js +11 -11
- package/dist/components/cumulative-impact.esm.js.map +1 -1
- package/dist/components/cumulative-impact.js +11 -11
- package/dist/components/cumulative-impact.js.map +1 -1
- package/dist/components/impact-overview.d.ts +3 -2
- package/dist/components/impact-overview.esm.js +5 -5
- package/dist/components/impact-overview.esm.js.map +1 -1
- package/dist/components/impact-overview.js +5 -5
- package/dist/components/impact-overview.js.map +1 -1
- package/dist/components/index.d.ts +5 -5
- package/dist/components/index.esm.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/post-purchase.d.ts +3 -4
- package/dist/components/post-purchase.esm.js +1 -31
- package/dist/components/post-purchase.esm.js.map +1 -1
- package/dist/components/post-purchase.js +1 -31
- package/dist/components/post-purchase.js.map +1 -1
- package/dist/components/product-details-page.d.ts +4 -2
- package/dist/components/product-details-page.esm.js +4 -4
- package/dist/components/product-details-page.esm.js.map +1 -1
- package/dist/components/product-details-page.js +4 -4
- package/dist/components/product-details-page.js.map +1 -1
- package/dist/components/redeem-transaction.d.ts +3 -4
- package/dist/components/redeem-transaction.esm.js +1 -1
- package/dist/components/redeem-transaction.js +1 -1
- package/dist/components/select-nonprofit.d.ts +3 -4
- package/dist/components/select-nonprofit.esm.js +6 -6
- package/dist/components/select-nonprofit.esm.js.map +1 -1
- package/dist/components/select-nonprofit.js +6 -6
- package/dist/components/select-nonprofit.js.map +1 -1
- package/dist/components/select-subscription-nonprofit.d.ts +3 -2
- package/dist/components/select-subscription-nonprofit.esm.js +5 -5
- package/dist/components/select-subscription-nonprofit.esm.js.map +1 -1
- package/dist/components/select-subscription-nonprofit.js +5 -5
- package/dist/components/select-subscription-nonprofit.js.map +1 -1
- package/dist/components/shopify.d.ts +9 -12
- package/dist/components/shopify.esm.js +1 -1
- package/dist/components/shopify.esm.js.map +1 -1
- package/dist/components/shopify.js +1 -1
- package/dist/components/shopify.js.map +1 -1
- package/dist/components/social-share.d.ts +3 -2
- package/dist/components/social-share.esm.js +2 -2
- package/dist/components/social-share.esm.js.map +1 -1
- package/dist/components/social-share.js +2 -2
- package/dist/components/social-share.js.map +1 -1
- package/dist/components/subscriber-select-nonprofit.d.ts +59 -0
- package/dist/components/subscriber-select-nonprofit.esm.js +137 -0
- package/dist/components/subscriber-select-nonprofit.esm.js.map +1 -0
- package/dist/components/subscriber-select-nonprofit.js +137 -0
- package/dist/components/subscriber-select-nonprofit.js.map +1 -0
- package/dist/components/subscription-impact.d.ts +3 -2
- package/dist/components/subscription-impact.esm.js +6 -6
- package/dist/components/subscription-impact.esm.js.map +1 -1
- package/dist/components/subscription-impact.js +6 -6
- package/dist/components/subscription-impact.js.map +1 -1
- package/dist/components/subscription-management.d.ts +4 -5
- package/dist/components/subscription-management.esm.js +4 -4
- package/dist/components/subscription-management.esm.js.map +1 -1
- package/dist/components/subscription-management.js +4 -4
- package/dist/components/subscription-management.js.map +1 -1
- package/dist/index.d.ts +39 -38
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/integrations/beam.d.ts +3 -1
- package/dist/integrations/beam.esm.js +1 -1
- package/dist/integrations/beam.esm.js.map +1 -1
- package/dist/integrations/beam.js +1 -1
- package/dist/integrations/beam.js.map +1 -1
- package/dist/integrations/cart.d.ts +4 -4
- package/dist/integrations/cart.esm.js +1 -1
- package/dist/integrations/cart.js +1 -1
- package/dist/integrations/logs.d.ts +4 -2
- package/dist/integrations/logs.esm.js +1 -1
- package/dist/integrations/logs.js +1 -1
- package/dist/integrations/promoManager.d.ts +3 -1
- package/dist/integrations/promoManager.esm.js +1 -1
- package/dist/integrations/promoManager.esm.js.map +1 -1
- package/dist/integrations/promoManager.js +1 -1
- package/dist/integrations/promoManager.js.map +1 -1
- package/dist/integrations/session.esm.js +1 -1
- package/dist/integrations/session.js +1 -1
- package/dist/integrations/shopify-order.d.ts +38 -0
- package/dist/integrations/shopify-order.esm.js +2 -0
- package/dist/integrations/shopify-order.esm.js.map +1 -0
- package/dist/integrations/shopify-order.js +2 -0
- package/dist/integrations/shopify-order.js.map +1 -0
- package/dist/integrations/shopify.d.ts +5 -12
- package/dist/integrations/shopify.esm.js +1 -1
- package/dist/integrations/shopify.js +1 -1
- package/dist/integrations/statsig.d.ts +3 -1
- package/dist/integrations/statsig.esm.js +2 -2
- package/dist/integrations/statsig.esm.js.map +1 -1
- package/dist/integrations/statsig.js +2 -2
- package/dist/integrations/statsig.js.map +1 -1
- package/dist/integrations/utils.d.ts +1 -14
- package/dist/integrations/utils.esm.js +1 -1
- package/dist/integrations/utils.js +1 -1
- package/dist/react/beam-partner-logos.d.ts +3 -1
- package/dist/react/beam-partner-logos.esm.js +1 -1
- package/dist/react/beam-partner-logos.js +1 -1
- package/dist/react/community-impact.d.ts +3 -2
- package/dist/react/community-impact.esm.js +1 -1
- package/dist/react/community-impact.esm.js.map +1 -1
- package/dist/react/community-impact.js +1 -1
- package/dist/react/community-impact.js.map +1 -1
- package/dist/react/cumulative-impact.d.ts +3 -2
- package/dist/react/cumulative-impact.esm.js +1 -1
- package/dist/react/cumulative-impact.esm.js.map +1 -1
- package/dist/react/cumulative-impact.js +1 -1
- package/dist/react/cumulative-impact.js.map +1 -1
- package/dist/react/impact-overview.d.ts +3 -2
- package/dist/react/impact-overview.esm.js +1 -1
- package/dist/react/impact-overview.esm.js.map +1 -1
- package/dist/react/impact-overview.js +1 -1
- package/dist/react/impact-overview.js.map +1 -1
- package/dist/react/index.d.ts +6 -7
- package/dist/react/index.esm.js +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/post-purchase.d.ts +3 -4
- package/dist/react/post-purchase.esm.js +1 -1
- package/dist/react/post-purchase.esm.js.map +1 -1
- package/dist/react/post-purchase.js +1 -1
- package/dist/react/post-purchase.js.map +1 -1
- package/dist/react/product-details-page.d.ts +4 -2
- package/dist/react/product-details-page.esm.js +1 -1
- package/dist/react/product-details-page.esm.js.map +1 -1
- package/dist/react/product-details-page.js +1 -1
- package/dist/react/product-details-page.js.map +1 -1
- package/dist/react/redeem-transaction.d.ts +3 -6
- package/dist/react/redeem-transaction.esm.js +1 -1
- package/dist/react/redeem-transaction.esm.js.map +1 -1
- package/dist/react/redeem-transaction.js +1 -1
- package/dist/react/redeem-transaction.js.map +1 -1
- package/dist/react/select-nonprofit.d.ts +3 -6
- package/dist/react/select-nonprofit.esm.js +1 -1
- package/dist/react/select-nonprofit.esm.js.map +1 -1
- package/dist/react/select-nonprofit.js +1 -1
- package/dist/react/select-nonprofit.js.map +1 -1
- package/dist/react/select-subscription-nonprofit.d.ts +3 -6
- package/dist/react/select-subscription-nonprofit.esm.js +1 -1
- package/dist/react/select-subscription-nonprofit.esm.js.map +1 -1
- package/dist/react/select-subscription-nonprofit.js +1 -1
- package/dist/react/select-subscription-nonprofit.js.map +1 -1
- package/dist/react/shopify.d.ts +2 -2
- package/dist/react/shopify.esm.js +1 -1
- package/dist/react/shopify.esm.js.map +1 -1
- package/dist/react/shopify.js +1 -1
- package/dist/react/shopify.js.map +1 -1
- package/dist/react/social-share.d.ts +3 -2
- package/dist/react/social-share.esm.js +1 -1
- package/dist/react/social-share.esm.js.map +1 -1
- package/dist/react/social-share.js +1 -1
- package/dist/react/social-share.js.map +1 -1
- package/dist/react/subscriber-select-nonprofit.d.ts +14 -0
- package/dist/react/subscriber-select-nonprofit.esm.js +2 -0
- package/dist/react/subscriber-select-nonprofit.esm.js.map +1 -0
- package/dist/react/subscriber-select-nonprofit.js +2 -0
- package/dist/react/subscriber-select-nonprofit.js.map +1 -0
- package/dist/react/subscription-impact.d.ts +3 -2
- package/dist/react/subscription-impact.esm.js +1 -1
- package/dist/react/subscription-impact.esm.js.map +1 -1
- package/dist/react/subscription-impact.js +1 -1
- package/dist/react/subscription-impact.js.map +1 -1
- package/dist/react/subscription-management.d.ts +4 -5
- package/dist/react/subscription-management.esm.js +1 -1
- package/dist/react/subscription-management.esm.js.map +1 -1
- package/dist/react/subscription-management.js +1 -1
- package/dist/react/subscription-management.js.map +1 -1
- package/dist/utils/beam-errors.d.ts +3 -1
- package/dist/utils/beam-errors.esm.js +1 -1
- package/dist/utils/beam-errors.js +1 -1
- package/dist/utils/cart.d.ts +3 -18
- package/dist/utils/cart.esm.js +1 -1
- package/dist/utils/cart.esm.js.map +1 -1
- package/dist/utils/cart.js +1 -1
- package/dist/utils/cart.js.map +1 -1
- package/dist/utils/cookies.d.ts +3 -18
- package/dist/utils/cookies.esm.js +1 -1
- package/dist/utils/cookies.esm.js.map +1 -1
- package/dist/utils/cookies.js +1 -1
- package/dist/utils/cookies.js.map +1 -1
- package/dist/utils/debounce.esm.js +1 -1
- package/dist/utils/debounce.js +1 -1
- package/dist/utils/events.d.ts +3 -5
- package/dist/utils/events.esm.js +1 -1
- package/dist/utils/events.js +1 -1
- package/dist/utils/is-equal.esm.js +1 -1
- package/dist/utils/is-equal.js +1 -1
- package/dist/utils/local-storage.d.ts +3 -19
- package/dist/utils/local-storage.esm.js +1 -1
- package/dist/utils/local-storage.esm.js.map +1 -1
- package/dist/utils/local-storage.js +1 -1
- package/dist/utils/local-storage.js.map +1 -1
- package/dist/utils/logger.d.ts +3 -8
- package/dist/utils/logger.esm.js +1 -1
- package/dist/utils/logger.esm.js.map +1 -1
- package/dist/utils/logger.js +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/makeApiKeyHeader.d.ts +3 -5
- package/dist/utils/makeApiKeyHeader.esm.js +1 -1
- package/dist/utils/makeApiKeyHeader.esm.js.map +1 -1
- package/dist/utils/makeApiKeyHeader.js +1 -1
- package/dist/utils/makeApiKeyHeader.js.map +1 -1
- package/dist/utils/memoize-last.d.ts +3 -17
- package/dist/utils/memoize-last.esm.js +1 -1
- package/dist/utils/memoize-last.esm.js.map +1 -1
- package/dist/utils/memoize-last.js +1 -1
- package/dist/utils/memoize-last.js.map +1 -1
- package/dist/utils/network-listeners.d.ts +3 -3
- package/dist/utils/network-listeners.esm.js +1 -1
- package/dist/utils/network-listeners.esm.js.map +1 -1
- package/dist/utils/network-listeners.js +1 -1
- package/dist/utils/network-listeners.js.map +1 -1
- package/dist/utils/promoManager.d.ts +3 -111
- package/dist/utils/promoManager.esm.js +1 -1
- package/dist/utils/promoManager.esm.js.map +1 -1
- package/dist/utils/promoManager.js +1 -1
- package/dist/utils/promoManager.js.map +1 -1
- package/dist/utils/remote-session.d.ts +3 -9
- package/dist/utils/remote-session.esm.js +1 -1
- package/dist/utils/remote-session.esm.js.map +1 -1
- package/dist/utils/remote-session.js +1 -1
- package/dist/utils/remote-session.js.map +1 -1
- package/dist/utils/wait-for-element.d.ts +3 -5
- package/dist/utils/wait-for-element.esm.js +1 -1
- package/dist/utils/wait-for-element.esm.js.map +1 -1
- package/dist/utils/wait-for-element.js +1 -1
- package/dist/utils/wait-for-element.js.map +1 -1
- package/package.json +9 -6
- package/dist/chunks/_share-dialog-dependencies-Bk60ibnw.esm.js +0 -2
- package/dist/chunks/_share-dialog-dependencies-D6vA_2f6.esm.js +0 -2
- package/dist/chunks/_share-dialog-dependencies-D6vA_2f6.esm.js.map +0 -1
- package/dist/chunks/beam-errors-Ci0d3926.esm.js +0 -2
- package/dist/chunks/beam-errors-Ci0d3926.esm.js.map +0 -1
- package/dist/chunks/beam-errors-DUQ9pK2V.esm.d.ts +0 -46
- package/dist/chunks/cart-contents-CEoSx3y4.esm.d.ts +0 -18
- package/dist/chunks/cart-contents-DkoytiZh.esm.js +0 -2
- package/dist/chunks/cart-contents-DkoytiZh.esm.js.map +0 -1
- package/dist/chunks/css-card-grid-DixMt6ek.esm.js +0 -20
- package/dist/chunks/css-card-grid-DixMt6ek.esm.js.map +0 -1
- package/dist/chunks/enforce-config-DHnpgqSK.esm.js +0 -3
- package/dist/chunks/enforce-config-DHnpgqSK.esm.js.map +0 -1
- package/dist/chunks/enforce-config-DUbQnaLO.esm.js +0 -3
- package/dist/chunks/enforce-config-DUbQnaLO.esm.js.map +0 -1
- package/dist/chunks/events-COWOQoLW.esm.js +0 -2
- package/dist/chunks/events-COWOQoLW.esm.js.map +0 -1
- package/dist/chunks/events-Dwqfqbij.esm.d.ts +0 -214
- package/dist/chunks/index-8rOpG9kf.esm.js +0 -2
- package/dist/chunks/index-8rOpG9kf.esm.js.map +0 -1
- package/dist/chunks/index-B1GmdVT3.esm.js +0 -2
- package/dist/chunks/index-B1GmdVT3.esm.js.map +0 -1
- package/dist/chunks/index-B2dxbh1d.esm.js +0 -2
- package/dist/chunks/index-B2dxbh1d.esm.js.map +0 -1
- package/dist/chunks/index-BIEV1MH0.esm.js +0 -2
- package/dist/chunks/index-BIEV1MH0.esm.js.map +0 -1
- package/dist/chunks/index-BaWMWAyt.esm.js +0 -2
- package/dist/chunks/index-BaWMWAyt.esm.js.map +0 -1
- package/dist/chunks/index-BeX4QeUu.esm.js +0 -2
- package/dist/chunks/index-BeX4QeUu.esm.js.map +0 -1
- package/dist/chunks/index-C3hpHWh1.esm.js +0 -2
- package/dist/chunks/index-C3hpHWh1.esm.js.map +0 -1
- package/dist/chunks/index-C3v-y56g.esm.js +0 -2
- package/dist/chunks/index-C3v-y56g.esm.js.map +0 -1
- package/dist/chunks/index-CqqF1sQo.esm.js +0 -2
- package/dist/chunks/index-CqqF1sQo.esm.js.map +0 -1
- package/dist/chunks/index-Cs4Kp9X4.esm.js +0 -2
- package/dist/chunks/index-Cs4Kp9X4.esm.js.map +0 -1
- package/dist/chunks/index-D20ifskY.esm.d.ts +0 -21
- package/dist/chunks/index-D3hxLDQF.esm.js +0 -2
- package/dist/chunks/index-D3hxLDQF.esm.js.map +0 -1
- package/dist/chunks/index-D5TZB-zM.esm.js +0 -2
- package/dist/chunks/index-D5TZB-zM.esm.js.map +0 -1
- package/dist/chunks/index-D6qJfs7_.esm.js +0 -2
- package/dist/chunks/index-D6qJfs7_.esm.js.map +0 -1
- package/dist/chunks/index-DSJACB_p.esm.js +0 -2
- package/dist/chunks/index-DSJACB_p.esm.js.map +0 -1
- package/dist/chunks/index-DmjZnpod.esm.js +0 -2
- package/dist/chunks/index-DmjZnpod.esm.js.map +0 -1
- package/dist/chunks/index-EJRmgmQu.esm.d.ts +0 -74
- package/dist/chunks/index-mppXVWCH.esm.js +0 -2
- package/dist/chunks/index-mppXVWCH.esm.js.map +0 -1
- package/dist/chunks/index-n62IxH5D.esm.js +0 -2
- package/dist/chunks/index-n62IxH5D.esm.js.map +0 -1
- package/dist/chunks/index-nAPzvUWE.esm.js +0 -2
- package/dist/chunks/index-nAPzvUWE.esm.js.map +0 -1
- package/dist/chunks/index-xcGPhpiO.esm.d.ts +0 -44
- package/dist/chunks/is-all-html-elements-fcB7UUA1.esm.js +0 -2
- package/dist/chunks/is-all-html-elements-fcB7UUA1.esm.js.map +0 -1
- package/dist/chunks/loading-template-BFvXaTlD.esm.js +0 -2
- package/dist/chunks/loading-template-BFvXaTlD.esm.js.map +0 -1
- package/dist/chunks/localize-Dg7NgKIP.esm.js +0 -31
- package/dist/chunks/localize-Dg7NgKIP.esm.js.map +0 -1
- package/dist/chunks/localize-DkAbsh05.esm.js +0 -31
- package/dist/chunks/localize-DkAbsh05.esm.js.map +0 -1
- package/dist/chunks/order-page-B0WbVrvh.esm.js +0 -2
- package/dist/chunks/order-page-B0WbVrvh.esm.js.map +0 -1
- package/dist/chunks/order-page-CT3hnhzf.esm.js +0 -2
- package/dist/chunks/order-page-CT3hnhzf.esm.js.map +0 -1
- package/dist/chunks/progress-bar-B82FOT8n.esm.js +0 -54
- package/dist/chunks/progress-bar-B82FOT8n.esm.js.map +0 -1
- package/dist/chunks/promo-pill-label-DcsiJS_N.esm.js +0 -16
- package/dist/chunks/promo-pill-label-DcsiJS_N.esm.js.map +0 -1
- package/dist/chunks/promo-types-CmZzhkpN.esm.d.ts +0 -15
- package/dist/chunks/promo-types-DKAOFHJr.esm.js +0 -2
- package/dist/chunks/promo-types-DKAOFHJr.esm.js.map +0 -1
- package/dist/chunks/routes-BIMwJ8u9.esm.js +0 -2
- package/dist/chunks/routes-BIMwJ8u9.esm.js.map +0 -1
- package/dist/chunks/routes-DSu5s3K7.esm.js +0 -2
- package/dist/chunks/routes-DSu5s3K7.esm.js.map +0 -1
- package/dist/chunks/share-button-CLMw49f5.esm.js +0 -2
- package/dist/chunks/share-button-CLMw49f5.esm.js.map +0 -1
- package/dist/chunks/share-button-DXS3zbJz.esm.js +0 -2
- package/dist/chunks/share-button-DXS3zbJz.esm.js.map +0 -1
- package/dist/chunks/share-button-DkTpGZk1.esm.js +0 -172
- package/dist/chunks/share-button-Dzc7loia.esm.js.map +0 -1
- package/dist/chunks/types-D_PLq1pj.esm.d.ts +0 -28
- package/dist/chunks/types-DfRc36jU.esm.d.ts +0 -15
- package/dist/chunks/update-cart-ByUvNLyZ.esm.js +0 -2
- package/dist/chunks/update-cart-ByUvNLyZ.esm.js.map +0 -1
- package/dist/chunks/update-cart-yj_9VGHp.esm.js +0 -2
- package/dist/chunks/update-cart-yj_9VGHp.esm.js.map +0 -1
- package/dist/integrations/index.d.ts +0 -31
- package/dist/integrations/index.esm.js +0 -2
- package/dist/integrations/index.esm.js.map +0 -1
- package/dist/integrations/index.js +0 -2
- package/dist/integrations/index.js.map +0 -1
- package/dist/utils/index.d.ts +0 -16
- package/dist/utils/index.esm.js +0 -2
- package/dist/utils/index.esm.js.map +0 -1
- package/dist/utils/index.js +0 -2
- package/dist/utils/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriber-select-nonprofit.js","sources":["../../src/shared/handlebars-helpers.ts","../../src/shared/fragments/user-strings.ts","../../src/components/subscriber-select-nonprofit/strings.ts","../../src/components/subscriber-select-nonprofit/index.ts"],"sourcesContent":["import * as Handlebars from \"handlebars\";\nimport dayjs from \"dayjs\";\n\n// ── Date helpers ────────────────────────────────────────────────────────────\n\n// Named presets so callers don't need to remember dayjs tokens\nconst PRESETS: Record<string, string> = {\n long: \"dddd, MMMM D, YYYY\", // Sunday, June 15, 2026\n short: \"MMM D, YYYY\", // Jun 15, 2026\n numeric: \"MM/DD/YYYY\", // 06/15/2026\n iso: \"YYYY-MM-DD\", // 2026-06-15\n time: \"h:mm A\", // 3:45 PM\n time24: \"HH:mm\", // 15:45\n datetime: \"MMMM D, YYYY h:mm A\", // June 15, 2026 3:45 PM\n month: \"MMMM YYYY\", // June 2026\n monthShort: \"MMM YYYY\", // Jun 2026\n dayMonth: \"MMMM D\", // June 15\n};\n\nconst formatDate = (date: Date, fmt?: string): string => {\n const resolved = PRESETS[fmt ?? \"long\"] ?? fmt ?? PRESETS.long;\n return dayjs(date).format(resolved);\n};\n\n/**\n * Accepts named presets or any dayjs format string.\n *\n * Presets: long · short · numeric · iso · time · time24 · datetime · month · monthShort · dayMonth\n * Tokens: any dayjs format string, e.g. \"Do [of] MMMM\" → \"15th of June\"\n *\n * {{currentDate}} → \"Sunday, June 15, 2026\"\n * {{currentDate \"short\"}} → \"Jun 15, 2026\"\n * {{currentDate \"iso\"}} → \"2026-06-15\"\n * {{currentDate \"time\"}} → \"3:45 PM\"\n * {{currentDate \"Do [of] MMMM\"}} → \"15th of June\"\n */\nHandlebars.registerHelper(\"currentDate\", (format?: string) => {\n return formatDate(new Date(), typeof format === \"string\" ? format : undefined);\n});\n\n/**\n * {{nextMonth}} → \"Wednesday, July 15, 2026\"\n * {{nextMonth \"short\"}} → \"Jul 15, 2026\"\n * {{nextMonth \"iso\"}} → \"2026-07-15\"\n * {{nextMonth \"month\"}} → \"July 2026\"\n *\n * Advances by one calendar month, clamping to the last day of the target month\n * (e.g. Jan 31 → Feb 28).\n */\nHandlebars.registerHelper(\"nextMonth\", (format?: string) => {\n // dayjs clamps month-end naturally (e.g. Jan 31 → Feb 28)\n const target = dayjs().add(1, \"month\").toDate();\n return formatDate(target, typeof format === \"string\" ? format : undefined);\n});\n\n/**\n * {{dateOffset -1}} → \"Saturday, June 14, 2026\"\n * {{dateOffset 1}} → \"Monday, June 16, 2026\"\n * {{dateOffset -1 \"relative\"}} → \"yesterday\"\n * {{dateOffset 0 \"relative\"}} → \"today\"\n * {{dateOffset 1 \"relative\"}} → \"tomorrow\"\n * {{dateOffset -7 \"relative\"}} → \"7 days ago\"\n * {{dateOffset 7 \"relative\"}} → \"7 days from now\"\n * {{dateOffset 7 \"short\"}} → \"Jun 22, 2026\"\n * {{dateOffset 7 \"Do [of] MMMM\"}} → \"22nd of June\"\n * {{dateOffset -30 \"iso\"}} → \"2026-05-16\"\n * {{dateOffset 7 from=orderDate}} → \"Sunday, June 22, 2026\" (7 days after orderDate)\n * {{dateOffset 7 \"short\" from=orderDate}} → \"Jun 22, 2026\" (7 days after orderDate)\n *\n * `from` accepts a Date object, ISO string, or timestamp number.\n */\nHandlebars.registerHelper(\n \"dateOffset\",\n (days: number, format?: string | Handlebars.HelperOptions, options?: Handlebars.HelperOptions) => {\n const fmt = typeof format === \"string\" ? format : undefined;\n const opts = typeof format === \"string\" ? options : (format as Handlebars.HelperOptions);\n const fromVal = opts?.hash?.from;\n const baseDate = fromVal ? new Date(fromVal as string | number) : new Date();\n const d = dayjs(baseDate).add(days, \"day\").toDate();\n\n if (fmt === \"relative\") {\n if (days === -1) return \"yesterday\";\n if (days === 0) return \"today\";\n if (days === 1) return \"tomorrow\";\n return days < 0 ? `${Math.abs(days)} days ago` : `${days} days from now`;\n }\n\n return formatDate(d, fmt);\n },\n);\n\n/**\n * Format a date value from context using any preset or date-fns format string.\n * Accepts a Date object, ISO string, or timestamp number.\n *\n * {{formatDate orderDate \"short\"}} → \"Jun 15, 2026\"\n * {{formatDate orderDate \"iso\"}} → \"2026-06-15\"\n * {{formatDate orderDate \"Do [of] MMMM\"}} → \"15th of June\"\n * {{formatDate orderDate}} → \"Sunday, June 15, 2026\"\n */\nHandlebars.registerHelper(\"formatDate\", (value: unknown, format?: string) => {\n const date = value instanceof Date ? value : new Date(value as string | number);\n if (isNaN(date.getTime())) return \"\";\n return formatDate(date, typeof format === \"string\" ? format : undefined);\n});\n\n// ── Color helper ─────────────────────────────────────────────────────────────\n\n/**\n * {{color \"red\" \"Sale ends today!\"}}\n * {{color \"#ff6600\" someVar}}\n *\n * Accepts any valid CSS color value (named color, hex, rgb(), hsl(), etc.).\n */\nHandlebars.registerHelper(\"color\", (colorValue: string, text: unknown) => {\n const escaped = Handlebars.escapeExpression(text as any);\n const safeColor = Handlebars.escapeExpression(colorValue);\n return new Handlebars.SafeString(`<span style=\"color:${safeColor}\">${escaped}</span>`);\n});\n\n// ── Layout helpers ───────────────────────────────────────────────────────────\n\n/** {{br}} → inserts a line break */\nHandlebars.registerHelper(\"br\", () => new Handlebars.SafeString(\"<br>\"));\n\n// ── Font-style helpers ────────────────────────────────────────────────────────\n\n/** {{bold \"Important!\"}} */\nHandlebars.registerHelper(\"bold\", (text: unknown) => {\n const escaped = Handlebars.escapeExpression(text as any);\n return new Handlebars.SafeString(`<strong>${escaped}</strong>`);\n});\n\n/** {{italic \"Note:\"}} */\nHandlebars.registerHelper(\"italic\", (text: unknown) => {\n const escaped = Handlebars.escapeExpression(text as any);\n return new Handlebars.SafeString(`<em>${escaped}</em>`);\n});\n\n/** {{underline \"Click here\"}} */\nHandlebars.registerHelper(\"underline\", (text: unknown) => {\n const escaped = Handlebars.escapeExpression(text as any);\n return new Handlebars.SafeString(`<span style=\"text-decoration:underline\">${escaped}</span>`);\n});\n\n/** {{strikethrough \"Was $99\"}} */\nHandlebars.registerHelper(\"strikethrough\", (text: unknown) => {\n const escaped = Handlebars.escapeExpression(text as any);\n return new Handlebars.SafeString(`<s>${escaped}</s>`);\n});\n\n/** {{uppercase \"hello\"}} → renders as \"HELLO\" via CSS so the source text is preserved */\nHandlebars.registerHelper(\"uppercase\", (text: unknown) => {\n const escaped = Handlebars.escapeExpression(text as any);\n return new Handlebars.SafeString(`<span style=\"text-transform:uppercase\">${escaped}</span>`);\n});\n\n/** {{lowercase \"HELLO\"}} */\nHandlebars.registerHelper(\"lowercase\", (text: unknown) => {\n const escaped = Handlebars.escapeExpression(text as any);\n return new Handlebars.SafeString(`<span style=\"text-transform:lowercase\">${escaped}</span>`);\n});\n\n/**\n * {{capitalize \"hello world\"}} → \"Hello world\" (first letter only — use uppercase for ALL CAPS)\n * Note: CSS text-transform:capitalize uppercases every word; this helper only touches the first character.\n */\nHandlebars.registerHelper(\"capitalize\", (text: unknown) => {\n const str = String(text ?? \"\");\n const capitalized = str.charAt(0).toUpperCase() + str.slice(1);\n return new Handlebars.SafeString(Handlebars.escapeExpression(capitalized));\n});\n\n/**\n * Combine multiple styles at once.\n *\n * {{style text bold=true italic=true color=\"#333\" underline=true strikethrough=false fontSize=\"16px\" fontFamily=\"Georgia, serif\"}}\n */\nHandlebars.registerHelper(\n \"style\",\n (\n text: unknown,\n options: Handlebars.HelperOptions & {\n hash: {\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n strikethrough?: boolean;\n uppercase?: boolean;\n lowercase?: boolean;\n color?: string;\n fontSize?: string;\n fontFamily?: string;\n };\n },\n ) => {\n const { bold, italic, underline, strikethrough, uppercase, lowercase, color, fontSize, fontFamily } = options.hash;\n\n let content = Handlebars.escapeExpression(text as any);\n\n if (bold) content = `<strong>${content}</strong>`;\n if (italic) content = `<em>${content}</em>`;\n if (strikethrough) content = `<s>${content}</s>`;\n\n const cssProps: string[] = [];\n if (underline) cssProps.push(\"text-decoration:underline\");\n if (uppercase) cssProps.push(\"text-transform:uppercase\");\n if (lowercase) cssProps.push(\"text-transform:lowercase\");\n if (color) cssProps.push(`color:${Handlebars.escapeExpression(color)}`);\n if (fontSize) cssProps.push(`font-size:${Handlebars.escapeExpression(fontSize)}`);\n if (fontFamily) cssProps.push(`font-family:${Handlebars.escapeExpression(fontFamily)}`);\n\n if (cssProps.length) {\n content = `<span style=\"${cssProps.join(\";\")}\">${content}</span>`;\n }\n\n return new Handlebars.SafeString(content);\n },\n);\n\nexport { Handlebars };\n","import { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport { Handlebars } from \"../handlebars-helpers\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { localizeUserString } from \"../localize\";\n\nconst DEFAULT_LANGUAGE_CODE = \"en\";\n\n/**\n * Compile a string through Handlebars and return the raw HTML string.\n * If `context.lang` is set, the string is first passed through localizeUserString\n * so JSON-encoded multilingual strings ({\"en\":\"...\",\"fr\":\"...\"}) are resolved\n * before Handlebars processes them — no call to localizeUserString needed at call sites.\n */\nconst compileUserString = (str: string, context: Record<string, unknown> = {}, fallback = \"\"): string => {\n const lang = (context.lang || DEFAULT_LANGUAGE_CODE) as LANGUAGES;\n const source = str || fallback;\n const localized = localizeUserString(lang, source) ?? source;\n return Handlebars.compile(localized)(context);\n};\n\n/**\n * Compile a string through Handlebars and return a Lit TemplateResult safe for rendering HTML.\n * Equivalent to unsafeHTML(compileUserString(str, context, fallback)).\n */\nconst renderUserString = (str: string, context: Record<string, unknown> = {}, fallback = \"\") =>\n unsafeHTML(compileUserString(str, context, fallback));\n\nexport { compileUserString, renderUserString };\n","export const strings = {\n en: {\n beamAttribution: () => `Powered by Beam`,\n ctaTitle: () => `Choose Your Impact`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you,at no extra cost, with every order of your subscription.`,\n },\n fr: {\n beamAttribution: () => `Optimisé par Beam`,\n ctaTitle: () => `Choose Your Impact`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you,at no extra cost, with every order of your subscription.`,\n },\n de: {\n beamAttribution: () => `Unterstützt von Beam`,\n ctaTitle: () => `Choose Your Impact`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you,at no extra cost, with every order of your subscription.`,\n },\n es: {\n beamAttribution: () => `Desarrollado por Beam`,\n ctaTitle: () => `Choose Your Impact`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you,at no extra cost, with every order of your subscription.`,\n },\n it: {\n beamAttribution: () => `Offerto da Beam`,\n ctaTitle: () => `Choose Your Impact`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you,at no extra cost, with every order of your subscription.`,\n },\n pl: {\n beamAttribution: () => `Wspierane przez Beam`,\n ctaTitle: () => `Choose Your Impact`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you,at no extra cost, with every order of your subscription.`,\n },\n ja: {\n beamAttribution: () => `Powered by Beam`,\n ctaTitle: () => `Choose Your Impact`,\n ctaMessage: ({ donationPercentage = \"1%\" } = {}) =>\n `Choose a nonprofit and ${donationPercentage} will be donated there for you,at no extra cost, with every order of your subscription.`,\n },\n};\n","import { css, html, LitElement, PropertyValues } from \"lit\";\nimport { repeat } from \"lit/directives/repeat.js\";\nimport { property } from \"lit/decorators/property.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { DEFAULT_BASE_URL, SELECTION_METHODS, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { TNumericId } from \"../../shared/types\";\nimport {\n postChainEligibleNonprofitsForCart,\n postFindOrCreateSubscription,\n updateSubscription,\n} from \"../../api-sdk/v3/routes\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { BeamNonprofitSelectEvent } from \"../../utils/events\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { cssResponsiveUtils } from \"../../shared/responsive\";\nimport { makeApiKeyHeader } from \"../../utils/makeApiKeyHeader\";\nimport { compileUserString, renderUserString } from \"../../shared/fragments/user-strings\";\nimport { strings } from \"./strings\";\n\ninterface RequiredDataPropsWithEmail {\n email: string;\n apiKey: string;\n subscriptionId: string;\n}\n\ninterface RequiredDataPropsWithPartnerUserId {\n partnerUserId: string;\n apiKey: string;\n subscriptionId: string;\n}\n\ninterface RequiredConfig {\n apiKey: string;\n subscriptionId: string;\n}\n\nexport class BeamSubscriberSelectNonprofit extends LitElement {\n static tagName = \"beam-subscriber-select-nonprofit\";\n\n @property({ type: String }) public baseUrl: string = DEFAULT_BASE_URL;\n @property({ type: String }) public apiKey!: string;\n @property({ type: String }) public subscriptionId!: string;\n @property({ type: Number, reflect: true }) public storeId?: number;\n @property({ type: String }) public email?: RequiredDataPropsWithEmail[\"email\"];\n @property({ type: String }) public partnerUserId?: RequiredDataPropsWithPartnerUserId[\"partnerUserId\"];\n @property({ type: String }) public postalCode?: string;\n @property({ type: String }) public countryCode?: string;\n @property({ type: Number, reflect: true }) public selectedNonprofitId?: TNumericId;\n @property({ type: Number }) public preselectNonprofitAtIndex?: number;\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n @property({ type: Boolean }) public debug = false;\n @property({ type: Boolean }) public draftConfig = false;\n @property({ type: Object }) public templateData: Record<string, any> = {};\n @state() private chain: Record<string, any> = {};\n\n // Resolves once the subscription find/create lookup (if any) has settled, so nonprofit\n // list handling can tell whether the subscriber already has a saved selection\n private subscriptionLookup: Promise<unknown> = Promise.resolve();\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n private getChainNonprofits = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"subscriptionId\"], this)) {\n throw new MissingConfig();\n }\n\n const res = await postChainEligibleNonprofitsForCart({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n requestBody: {\n storeId: this.storeId,\n widgetName: WIDGET_NAMES.subscriber_select_nonprofit,\n postalCode: this.postalCode,\n countryCode: this.countryCode,\n version: \"1.0.0\",\n lang: this.configLang,\n options: {\n config: {\n draftConfig: this.draftConfig,\n },\n },\n },\n });\n\n if (res.store?.id && res.store.id !== this.storeId) {\n this.storeId = res.store.id;\n }\n\n // Wait for the subscription to be found/created (if applicable) so we know whether\n // it already has a saved nonprofit selection before we clear or preselect one\n await this.subscriptionLookup;\n\n // Clear selection if the saved nonprofit is no longer in the eligible list\n if (\n this.selectedNonprofitId != null &&\n !res.nonprofits.map((np) => np.nonprofit.id).includes(this.selectedNonprofitId)\n ) {\n this.selectedNonprofitId = undefined;\n }\n\n // Auto-select the nonprofit at the given 1-based position if there is no existing selection\n if (this.selectedNonprofitId == null && this.preselectNonprofitAtIndex != null) {\n const preselectedNonprofit = res.nonprofits[this.preselectNonprofitAtIndex - 1];\n if (preselectedNonprofit) {\n this.selectedNonprofitId = preselectedNonprofit.nonprofit.id;\n await this.selectionDataController.exec({ selectedNonprofitId: preselectedNonprofit.nonprofit.id });\n }\n }\n\n this.chain = { ...res?.chain };\n\n return res;\n };\n\n private fetchSubscription = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"subscriptionId\"], this)) {\n throw new MissingConfig();\n }\n\n const result = await postFindOrCreateSubscription({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n requestBody: {\n remoteSubscriptionId: this.subscriptionId,\n email: this.email,\n partnerUserId: this.partnerUserId,\n },\n });\n\n // Pre-populate selection from the subscription record if not already set\n if (result.nonprofit?.id && this.selectedNonprofitId === undefined) {\n this.selectedNonprofitId = result.nonprofit.id;\n }\n\n return result;\n };\n\n private updateNonprofitForSubscription = async ({ selectedNonprofitId }: { selectedNonprofitId: TNumericId }) => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"subscriptionId\"], this)) {\n throw new MissingConfig();\n }\n\n const result = await updateSubscription({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n requestBody: {\n remoteSubscriptionId: this.subscriptionId,\n nonprofitId: selectedNonprofitId,\n selectionMethod: SELECTION_METHODS.subscriber_select_nonprofit_widget,\n },\n });\n\n await this.updateComplete;\n\n const selectedNonprofit = this.getNonprofitById(selectedNonprofitId);\n\n this.dispatchEvent(\n new BeamNonprofitSelectEvent({\n selectedNonprofitId,\n nonprofitName: selectedNonprofit?.nonprofit?.name ?? null,\n source: WIDGET_NAMES.subscriber_select_nonprofit,\n timestamp: new Date(),\n }),\n );\n\n return result;\n };\n\n private nonprofitListDataController = new AsyncController<typeof this.getChainNonprofits>(\n this,\n this.getChainNonprofits,\n );\n\n private subscriptionDataController = new AsyncController<typeof this.fetchSubscription>(this, this.fetchSubscription);\n\n private selectionDataController = new AsyncController<typeof this.updateNonprofitForSubscription>(\n this,\n this.updateNonprofitForSubscription,\n );\n\n private getNonprofitById(id: number | null) {\n if (!id) return null;\n return this.nonprofitListDataController?.data?.nonprofits.find((np) => np.nonprofit.id === id);\n }\n\n async connectedCallback() {\n super.connectedCallback();\n this.nonprofitListDataController.loading = true;\n }\n\n async firstUpdated() {\n if (!this.apiKey || (!this.email && !this.partnerUserId)) return;\n this.subscriptionLookup = this.subscriptionDataController.exec();\n await this.subscriptionLookup;\n }\n\n async updated(changedProperties: PropertyValues) {\n const requireNewDataProps = [\"baseUrl\", \"storeId\", \"apiKey\", \"countryCode\", \"postalCode\", \"lang\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n await this.nonprofitListDataController.exec();\n break;\n }\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n\n private makeHandleSelect =\n (id: number, index: number, nonprofits: { nonprofit: { id: number } }[]) => async (evt: Event) => {\n const currentId = this.selectedNonprofitId;\n if (evt instanceof KeyboardEvent) {\n let nextFocus = null;\n switch (evt.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\":\n nextFocus = index === 0 ? nonprofits[nonprofits.length - 1] : nonprofits[index - 1];\n evt.preventDefault();\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n nextFocus = index === nonprofits.length - 1 ? nonprofits[0] : nonprofits[index + 1];\n evt.preventDefault();\n break;\n case \"Enter\":\n case \" \":\n evt.preventDefault();\n break;\n default:\n return;\n }\n if (nextFocus) {\n if (currentId != null) {\n this.selectedNonprofitId = nextFocus.nonprofit.id;\n }\n const focusTarget = this.renderRoot.querySelector(`[data-value=\"${nextFocus.nonprofit.id}\"]`) as HTMLElement;\n if (focusTarget !== null) {\n focusTarget.tabIndex = 0;\n focusTarget.focus();\n }\n return;\n }\n }\n const targetEl = evt.currentTarget;\n if (!(targetEl instanceof HTMLElement) || currentId === id) return;\n this.selectedNonprofitId = id;\n await this.selectionDataController.exec({ selectedNonprofitId: id });\n };\n\n public get cssVariables() {\n const defaults = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n ...progressBarConfigDefaults,\n \"--beam-SubscriberSelectNonprofit-title-textAlign\": \"inherit\",\n \"--beam-SubscriberSelectNonprofit-description-textAlign\": \"inherit\",\n \"--beam-SubscriberSelectNonprofit-maxWidth\": \"800px\",\n \"--beam-SubscriberSelectNonprofit-options-marginTop\": \"0px\",\n \"--beam-SubscriberSelectNonprofit-options-iconHeight\": \"20px\",\n \"--beam-SubscriberSelectNonprofit-options-padding\": \"6px 4px\",\n \"--beam-SubscriberSelectNonprofit-options-borderRadius\": \"4px\",\n \"--beam-SubscriberSelectNonprofit-options-borderColor\": \"currentColor\",\n \"--beam-SubscriberSelectNonprofit-options-borderWidth\": \"1px\",\n \"--beam-SubscriberSelectNonprofit-options--selected-borderColor\": \"currentColor\",\n \"--beam-SubscriberSelectNonprofit-options-backgroundColor\": \"transparent\",\n \"--beam-SubscriberSelectNonprofit-options-gap\": \"8px\",\n \"--beam-SubscriberSelectNonprofit-options-margin\": \"14px 0 0 0\",\n \"--beam-SubscriberSelectNonprofit-width\": \"100%\",\n \"--beam-SubscriberSelectNonprofit-options--selected-backgroundColor\": \"currentColor\",\n \"--beam-SubscriberSelectNonprofit-details-marginTop\": \"6px\",\n \"--beam-SubscriberSelectNonprofit-details-borderRadius\": \"4px\",\n \"--beam-SubscriberSelectNonprofit-details-borderWidth\": \"1px\",\n \"--beam-SubscriberSelectNonprofit-details-borderColor\": \"currentColor\",\n \"--beam-SubscriberSelectNonprofit-details-backgroundColor\": \"inherit\",\n \"--beam-SubscriberSelectNonprofit-details-padding\": \"10px\",\n ...defineCustomText(\"--beam-SubscriberSelectNonprofit-title\", {\n fontSize: \"1em\",\n fontWeight: \"bold\",\n }),\n ...defineCustomText(\"--beam-SubscriberSelectNonprofit-description\", {\n marginTop: \"1em\",\n fontSize: \".85em\",\n }),\n \"--beam-SubscriberSelectNonprofit-title-block-margin-right\": \"8px\",\n ...defineCustomText(\"--beam-SubscriberSelectNonprofit-details-cause\", {\n fontSize: \"0.85em\",\n fontWeight: \"bold\",\n textTransform: \"uppercase\",\n }),\n ...defineCustomText(\"--beam-SubscriberSelectNonprofit-details-beamAttribution\", {\n fontSize: \"0.85em\",\n }),\n ...defineCustomText(\"--beam-SubscriberSelectNonprofit-details-impactDescription\", {\n fontSize: \".85em\",\n marginTop: \"10px\",\n lineHeight: \"normal\",\n }),\n \"--beam-SubscriberSelectNonprofit-details-nonprofitName-fontWeight\": \"bold\",\n \"--beam-SubscriberSelectNonprofit-details-nonprofitName-fontStyle\": \"inherit\",\n \"--beam-SubscriberSelectNonprofit-details-fundingProgress-marginTop\": \"10px\",\n ...defineCustomText(\"--beam-SubscriberSelectNonprofit-details-fundingProgressLabel\", {\n fontSize: \"0.85em\",\n }),\n };\n\n const remoteConfig = this.nonprofitListDataController?.data?.config?.web?.theme || {};\n\n const config = { ...defaults, ...remoteConfig };\n\n const serializable = Object.create({\n toCSS() {\n return _cssVariableMap(this as Record<string, string>);\n },\n });\n\n return Object.assign(serializable, config);\n }\n\n static styles = [\n cssReset,\n cssResponsiveUtils,\n css`\n :host {\n display: block;\n width: var(--beam-SubscriberSelectNonprofit-width, 100%);\n max-width: var(--beam-SubscriberSelectNonprofit-maxWidth, 800px);\n font-family: var(--beam-fontFamily);\n font-style: var(--beam-fontStyle);\n font-size: var(--beam-fontSize);\n background-color: var(--beam-backgroundColor);\n color: var(--beam-textColor);\n word-break: normal;\n }\n\n .details-impactDescription {\n ${useCustomText(\"--beam-SubscriberSelectNonprofit-details-impactDescription\")}\n }\n\n .details-impactDescription .nonprofitName {\n font-weight: var(--beam-SubscriberSelectNonprofit-details-nonprofitName-fontWeight);\n font-style: var(--beam-SubscriberSelectNonprofit-details-nonprofitName-fontStyle, inherit);\n }\n\n .title-block {\n margin-right: var(--beam-SubscriberSelectNonprofit-title-block-margin-right);\n ${useCustomText(\"--beam-SubscriberSelectNonprofit-title\")}\n text-align: var(--beam-SubscriberSelectNonprofit-title-textAlign);\n }\n\n .description {\n ${useCustomText(\"--beam-SubscriberSelectNonprofit-description\")}\n text-align: var(--beam-SubscriberSelectNonprofit-description-textAlign);\n }\n\n .option {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n `,\n ];\n\n protected render() {\n if (!this.apiKey || (!this.email && !this.partnerUserId)) {\n return html``;\n }\n\n const { selectedNonprofitId } = this;\n const { data, loading } = this.nonprofitListDataController;\n\n if (loading && !data) {\n return _loading();\n }\n if (this.nonprofitListDataController.error) {\n if (this.debug) {\n return _errorMessage({ error: this.nonprofitListDataController.error });\n }\n return \"\";\n }\n if (this.selectionDataController.error && this.debug) {\n return _errorMessage({ error: this.selectionDataController.error });\n }\n\n const nonprofits = data?.nonprofits || [];\n const selectedNonprofit = nonprofits.find((np) => np.nonprofit.id === selectedNonprofitId) || null;\n\n const templateContext: Record<string, any> = {\n custom: { ...this.templateData },\n chain: { ...this.chain },\n selectedNonprofit: { ...selectedNonprofit?.nonprofit },\n lang: this.configLang,\n };\n\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <div part=\"heading\">\n <h3 class=\"title-block\" part=\"title\" id=\"beam-SubscriberSelectNonprofit-title\">\n ${renderUserString(data?.config?.web?.title || \"\", templateContext, strings[this.configLang].ctaTitle())}\n </h3>\n <p class=\"description\" part=\"description\">\n ${renderUserString(\n data?.config?.web?.description || \"\",\n templateContext,\n strings[this.configLang].ctaMessage(),\n )}\n </p>\n </div>\n <div\n class=\"options\"\n part=\"options\"\n role=\"radiogroup\"\n aria-labelledby=\"beam-SubscriberSelectNonprofit-title\"\n style=\"display: flex; gap: var(--beam-SubscriberSelectNonprofit-options-gap); margin: var(--beam-SubscriberSelectNonprofit-options-margin, 12px 0 0 0);\"\n >\n ${repeat(\n nonprofits,\n (i) => i.nonprofit.id,\n ({ nonprofit }, index) => {\n const isSelected = selectedNonprofitId === nonprofit.id;\n const isFocusable = isSelected || (selectedNonprofit == null && index === 0);\n const optionTemplateContext: Record<string, any> = {\n ...templateContext,\n nonprofit,\n };\n\n return html`\n <div\n class=\"option\"\n part=\"option\"\n role=\"radio\"\n tabindex=\"${isFocusable ? 0 : -1}\"\n data-value=${nonprofit.id}\n aria-checked=${isSelected}\n @click=${this.makeHandleSelect(nonprofit.id, index, nonprofits)}\n @keydown=${this.makeHandleSelect(nonprofit.id, index, nonprofits)}\n aria-label=\"${compileUserString(nonprofit.cause || \"\", optionTemplateContext)}\"\n style=\"${styleMap({\n cursor: \"pointer\",\n flex: \"1\",\n textAlign: \"center\",\n lineHeight: \"1\",\n marginTop: \"var(--beam-SubscriberSelectNonprofit-options-marginTop, 0px)\",\n padding: \"var(--beam-SubscriberSelectNonprofit-options-padding, 6px 4px)\",\n borderStyle: \"solid\",\n position: \"relative\",\n borderRadius: \"var(--beam-SubscriberSelectNonprofit-options-borderRadius, 4px)\",\n borderColor: isSelected\n ? nonprofit.causeColor ||\n \"var(--beam-SubscriberSelectNonprofit-options--selected-borderColor, currentColor)\"\n : \"var(--beam-SubscriberSelectNonprofit-options-borderColor, currentColor)\",\n borderWidth: \"var(--beam-SubscriberSelectNonprofit-options-borderWidth, 1px)\",\n backgroundColor: isSelected\n ? nonprofit.causeColor ||\n \"var(--beam-SubscriberSelectNonprofit-options--selected-backgroundColor, currentColor)\"\n : \"var(--beam-SubscriberSelectNonprofit-options-backgroundColor, transparent)\",\n })}\"\n >\n <img\n src=\"${isSelected ? nonprofit.causeIconSelectedUrl : nonprofit.causeIconUrl}\"\n alt=\"\"\n role=\"presentation\"\n data-speedsize-ignore=\"true\"\n style=\"\n height: var(--beam-SubscriberSelectNonprofit-options-iconHeight, 24px);\n user-select: none;\n vertical-align: -webkit-baseline-middle;\n \"\n />\n </div>\n `;\n },\n )}\n </div>\n ${selectedNonprofit != null\n ? html`\n <div\n class=\"details\"\n part=\"details\"\n style=\"\n border: var(--beam-SubscriberSelectNonprofit-details-borderWidth) solid var(--beam-SubscriberSelectNonprofit-details-borderColor);\n border-radius: var(--beam-SubscriberSelectNonprofit-details-borderRadius);\n background-color: var(--beam-SubscriberSelectNonprofit-details-backgroundColor);\n padding: var(--beam-SubscriberSelectNonprofit-details-padding);\n margin-top: var(--beam-SubscriberSelectNonprofit-details-marginTop);\n \"\n aria-label=\"Funding information for selected nonprofit ${selectedNonprofit.nonprofit\n ?.name}. Powered by Beam\"\n >\n <div style=\"display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap-reverse\">\n <span\n class=\"details-cause\"\n style=\"flex: 0 1; white-space: nowrap; ${useCustomText(\n \"--beam-SubscriberSelectNonprofit-details-cause\",\n )}\"\n >\n ${renderUserString(selectedNonprofit.nonprofit.cause || \"\", templateContext)}\n </span>\n <div aria-hidden=\"true\">\n <span\n class=\"details-beamAttribution\"\n aria-hidden=\"true\"\n style=\"flex: 0 1; white-space: nowrap; ${useCustomText(\n \"--beam-SubscriberSelectNonprofit-details-beamAttribution\",\n )}\"\n >\n ${strings[this.configLang].beamAttribution()}\n </span>\n </div>\n </div>\n <p class=\"details-impactDescription\">\n ${renderUserString(selectedNonprofit.impact.description || \"\", templateContext)}\n </p>\n <div\n style=\"display: flex; margin-top: var(--beam-SubscriberSelectNonprofit-details-fundingProgress-marginTop); align-items: center;\"\n >\n <beam-progress-bar\n value=\"${selectedNonprofit.impact.goalProgressPercentage}\"\n style=\"flex: 1 0;\"\n ></beam-progress-bar>\n <span\n class=\"details-fundingProgressLabel\"\n style=\"${useCustomText(\n \"--beam-SubscriberSelectNonprofit-details-fundingProgressLabel\",\n )} white-space: nowrap; text-align: right; flex: 0 1; margin-left: 15px;\"\n >\n ${renderUserString(selectedNonprofit.impact.goalProgressText, templateContext)}\n </span>\n </div>\n </div>\n `\n : \"\"}\n `;\n }\n}\n\ndefineCustomElement(BeamSubscriberSelectNonprofit);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-subscriber-select-nonprofit\": BeamSubscriberSelectNonprofit;\n }\n}\n"],"names":["PRESETS","formatDate","date","fmt","resolved","dayjs","Handlebars","format","target","days","options","fromVal","baseDate","d","value","colorValue","text","escaped","safeColor","str","capitalized","bold","italic","underline","strikethrough","uppercase","lowercase","color","fontSize","fontFamily","content","cssProps","DEFAULT_LANGUAGE_CODE","compileUserString","context","fallback","lang","source","localized","localizeUserString","renderUserString","unsafeHTML","strings","donationPercentage","BeamSubscriberSelectNonprofit","LitElement","DEFAULT_BASE_URL","enforceConfig","res","postChainEligibleNonprofitsForCart","makeApiKeyHeader","WIDGET_NAMES","np","preselectedNonprofit","result","postFindOrCreateSubscription","selectedNonprofitId","updateSubscription","SELECTION_METHODS","selectedNonprofit","BeamNonprofitSelectEvent","AsyncController","id","index","nonprofits","evt","currentId","nextFocus","focusTarget","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","defaults","progressBarConfigDefaults","defineCustomText","remoteConfig","config","_cssVariableMap","html","data","loading","_loading","_errorMessage","templateContext","repeat","i","nonprofit","isSelected","isFocusable","optionTemplateContext","styleMap","useCustomText","cssReset","cssResponsiveUtils","css","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@ import * as lit from 'lit';
|
|
|
2
2
|
import { LitElement, PropertyValues } from 'lit';
|
|
3
3
|
import * as lit_html from 'lit-html';
|
|
4
4
|
import * as lodash from 'lodash';
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
5
|
+
import { f as TUrl, b as TNumericId, c as TId, L as LANGUAGES } from '../chunks/utils-D8HO_RIu.esm.js';
|
|
6
|
+
import 'lodash-es/debounce';
|
|
7
|
+
import 'lodash-es/isEqual';
|
|
7
8
|
|
|
8
9
|
type RequiredConfig = {
|
|
9
10
|
apiKey: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as w,i as $,b as p,n as
|
|
1
|
+
import{a as w,i as $,b as p,n as l,r as _,g as C}from"../chunks/lit-BEag9MFp.esm.js";import{d as z,a as G}from"../chunks/lodash-CrMU6wKg.esm.js";import{a as Y}from"../chunks/share-button-7sI6zg-x.esm.js";import{s as S,a as K}from"../chunks/share-button-BaIbuJOl.esm.js";import"../chunks/_share-dialog-dependencies-U9953n3E.esm.js";import"../chunks/vendor-DUOg5fL-.esm.js";import{u as b,D as q,g as J,A as Q,S as X,f as u,h as Z,_ as ee,d as ie,e as n}from"../chunks/index-DhHhFTBE.esm.js";import{c as ae,a as te,d as ne,e as re}from"../chunks/css-card-grid-BUidQqf0.esm.js";import{t as oe,l as se}from"../chunks/utils-BjhsDvuU.esm.js";import{c as ce}from"../chunks/responsive-aN8P5PqD.esm.js";var pe=Object.defineProperty,le=(i,e,r,m)=>{for(var t=void 0,a=i.length-1,d;a>=0;a--)(d=i[a])&&(t=d(e,r,t)||t);return t&&pe(e,r,t),t};class A extends w{constructor(){super(...arguments),this.infoText=""}static get styles(){return $`
|
|
2
2
|
sl-badge::part(base) {
|
|
3
3
|
background-color: var(--beam-pillLabel-color-background, #000);
|
|
4
4
|
color: var(--beam-pillLabel-color, #fff);
|
|
@@ -11,7 +11,7 @@ import{a as w,i as $,b as p,n as m,r as O,k as C}from"../chunks/lit-JRlupCB5.esm
|
|
|
11
11
|
text-transform: var(--beam-pillLabel-text-transform, none);
|
|
12
12
|
padding: var(--beam-pillLabel-padding, 3px 4px);
|
|
13
13
|
}
|
|
14
|
-
`}render(){return p`<sl-badge pill aria-label="${this.infoText}">${this.infoText}</sl-badge>`}}me([m({type:String})],A.prototype,"infoText"),customElements.get("beam-info-pill")||customElements.define("beam-info-pill",A);const le={"--beam-pillLabel-color-background":"#0A323C","--beam-pillLabel-color":"#fff","--beam-pillLabel-border":"#0A323C","--beam-pillLabel-border-width":"1px","--beam-pillLabel-font-size":"10px","--beam-pillLabel-font":"inherit","--beam-pillLabel-font-weight":"400","--beam-pillLabel-text-transform":"none","--beam-pillLabel-font-style":"italic","--beam-pillLabel-padding":"3px 4px"},s={en:{title:({causeName:i=""})=>`Your Subscription is Going Towards ${i} With Every Order`,futureTenseTitle:({causeName:i=""})=>`Your Subscription Will Go Towards ${i} With Every Order`,ctaMessagePrefix:()=>"At no extra cost, ",description:({nonprofit:i=""})=>`1% will be donated to ${i} for you, at no extra cost, every order.`,personalImpactTitle:()=>"You're Currently Funding",futureTensePersonalImpactTitle:()=>"You\u2019ll Be Funding",communityImpactTitle:()=>"Together We're Funding",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`Learn about ${i}${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`Learn about ${i} impact${e?"":" \u203A"}`,percentFunded:()=>"funded",progressPillText:()=>"\u{1F389} Impact begins once order is charged"},fr:{title:({causeName:i=""})=>`Votre abonnement contribue \xE0 ${i} \xE0 chaque commande`,futureTenseTitle:({causeName:i=""})=>`Votre abonnement contribuera \xE0 ${i} \xE0 chaque commande`,ctaMessagePrefix:()=>"Sans frais suppl\xE9mentaires, ",description:({nonprofit:i=""})=>`1% de chaque commande sera revers\xE9 \xE0 ${i} pour vous, sans frais suppl\xE9mentaires.`,personalImpactTitle:()=>"Vous financez actuellement",futureTensePersonalImpactTitle:()=>"Vous financerez",communityImpactTitle:()=>"Ensemble, nous finan\xE7ons",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`En savoir plus sur ${i}${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`En savoir plus sur l\u2019impact de ${i}${e?"":" \u203A"}`,percentFunded:()=>"financ\xE9",progressPillText:()=>"\u{1F389} L\u2019impact commence une fois la commande d\xE9bit\xE9e"},de:{title:({causeName:i=""})=>`Ihr Abonnement unterst\xFCtzt ${i} mit jeder Bestellung`,futureTenseTitle:({causeName:i=""})=>`Ihr Abonnement wird ${i} mit jeder Bestellung unterst\xFCtzen`,ctaMessagePrefix:()=>"Ohne zus\xE4tzliche Kosten, ",description:({nonprofit:i=""})=>`1% jeder Bestellung wird im Rahmen Ihres Abonnements an ${i} gespendet.`,personalImpactTitle:()=>"Sie unterst\xFCtzen derzeit",futureTensePersonalImpactTitle:()=>"Sie werden unterst\xFCtzen",communityImpactTitle:()=>"Gemeinsam unterst\xFCtzen wir",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`Mehr \xFCber ${i} erfahren${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`Mehr \xFCber die Wirkung von ${i} erfahren${e?"":" \u203A"}`,percentFunded:()=>"finanziert",progressPillText:()=>"\u{1F389} Wirkung beginnt, sobald die Bestellung abgerechnet wird"},es:{title:({causeName:i=""})=>`Tu suscripci\xF3n est\xE1 apoyando a ${i} con cada pedido`,futureTenseTitle:({causeName:i=""})=>`Tu suscripci\xF3n apoyar\xE1 a ${i} con cada pedido`,ctaMessagePrefix:()=>"Sin coste adicional, ",description:({nonprofit:i=""})=>`El 1% de cada pedido se donar\xE1 a ${i} en tu nombre.`,personalImpactTitle:()=>"Actualmente est\xE1s financiando",futureTensePersonalImpactTitle:()=>"Financiar\xE1s",communityImpactTitle:()=>"Juntos estamos financiando",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`Conoce m\xE1s sobre ${i}${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`Conoce m\xE1s sobre el impacto de ${i}${e?"":" \u203A"}`,percentFunded:()=>"financiado",progressPillText:()=>"\u{1F389} El impacto comienza una vez que se procese el pedido"},it:{title:({causeName:i=""})=>`Il tuo abbonamento sostiene ${i} con ogni ordine`,futureTenseTitle:({causeName:i=""})=>`Il tuo abbonamento sosterr\xE0 ${i} con ogni ordine`,ctaMessagePrefix:()=>"Senza alcun costo aggiuntivo, ",description:({nonprofit:i=""})=>`L'1% di ogni ordine sar\xE0 donato a ${i} per te.`,personalImpactTitle:()=>"Attualmente stai finanziando",futureTensePersonalImpactTitle:()=>"Finanzierai",communityImpactTitle:()=>"Insieme stiamo finanziando",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`Scopri di pi\xF9 su ${i}${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`Scopri di pi\xF9 sull\u2019impatto di ${i}${e?"":" \u203A"}`,percentFunded:()=>"finanziato",progressPillText:()=>"\u{1F389} L\u2019impatto inizia una volta che l\u2019ordine \xE8 stato addebitato"},pl:{title:({causeName:i=""})=>`Twoja subskrypcja wspiera ${i} przy ka\u017Cdym zam\xF3wieniu`,futureTenseTitle:({causeName:i=""})=>`Twoja subskrypcja b\u0119dzie wspiera\u0107 ${i} przy ka\u017Cdym zam\xF3wieniu`,ctaMessagePrefix:()=>"Bez dodatkowych koszt\xF3w, ",description:({nonprofit:i=""})=>`1% z ka\u017Cdego zam\xF3wienia zostanie przekazane na rzecz ${i} w Twoim imieniu.`,personalImpactTitle:()=>"Obecnie wspierasz",futureTensePersonalImpactTitle:()=>"B\u0119dziesz wspiera\u0107",communityImpactTitle:()=>"Razem wspieramy",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`Dowiedz si\u0119 wi\u0119cej o ${i}${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`Dowiedz si\u0119 wi\u0119cej o wp\u0142ywie ${i}${e?"":" \u203A"}`,percentFunded:()=>"sfinansowano",progressPillText:()=>"\u{1F389} Wp\u0142yw rozpoczyna si\u0119 po zrealizowaniu zam\xF3wienia"},ja:{title:({causeName:i=""})=>`Your Subscription is Going Towards ${i} With Every Order`,futureTenseTitle:({causeName:i=""})=>`Your Subscription Will Go Towards ${i} With Every Order`,ctaMessagePrefix:()=>"At no extra cost, ",description:({nonprofit:i=""})=>`1% will be donated to ${i} for you, at no extra cost, every order.`,personalImpactTitle:()=>"You're Currently Funding",futureTensePersonalImpactTitle:()=>"You\u2019ll Be Funding",communityImpactTitle:()=>"Together We're Funding",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`Learn about ${i}${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`Learn about ${i} impact${e?"":" \u203A"}`,percentFunded:()=>"\u652F\u63F4\u6E08\u307F",progressPillText:()=>"\u{1F389} Impact begins once order is charged"}};var de=Object.defineProperty,c=(i,e,r,l)=>{for(var t=void 0,a=i.length-1,d;a>=0;a--)(d=i[a])&&(t=d(e,r,t)||t);return t&&de(e,r,t),t};class o extends w{constructor(){super(...arguments),this.baseUrl=q,this.lang="en",this.debug=!1,this.draftConfig=!1,this.isMobile=window.innerWidth<720,this.getImpactData=async()=>(te(["apiKey","beamUserId","nonprofitId"],this),await J({baseUrl:this.baseUrl,headers:re(this.apiKey),queryParams:{nonprofitId:this.nonprofitId,beamUserId:this.beamUserId,personalImpactLimit:1,communityImpactLimit:1,storeId:this.storeId,widgetName:"subscription-impact",draftConfig:this.draftConfig,version:"1.0.0",lang:this.configLang}})),this.impactDataController=new X(this,this.getImpactData),this.evaluateBreakPoints=z(()=>{this.isMobile=window.innerWidth<768},50,{maxWait:50,leading:!0}),this.resizeElements=z(()=>{S(this.impactTitleRefs),S(this.impactLinkRefs)},50,{maxWait:50,leading:!0})}get configLang(){return Q[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.evaluateBreakPoints)}async updated(e){const r=["baseUrl","storeId","apiKey","beamUserId","lang"];for(const l of r)if(e.has(l)){await this.impactDataController.exec();break}this.resizeElements(),await this.handleFontLoad(this.resizeElements)}disconnectedCallback(){window.removeEventListener("resize",this.resizeElements),document.fonts.removeEventListener("loadingdone",this.resizeElements),super.disconnectedCallback()}async handleFontLoad(e){if(document.fonts.status==="loading")return await document.fonts.ready.catch(r=>se.error(r)),e()}get cssVariables(){const e={...Y,...K,...le,"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"12px","--beam-textColor":"inherit","--beam-backgroundColor":"inherit","--beam-subscriptionImpact-impactCards-maxWidth":"900px","--beam-subscriptionImpact-headerContainer-desktop-textAlign":"left","--beam-subscriptionImpact-headerContainer-mobile-textAlign":"center","--beam-subscriptionImpact-descriptionContainer-marginTop":"10px","--beam-subscriptionImpact-cardContainer-marginTop":"15px","--beam-subscriptionImpact-cardContainer-gap":"20px","--beam-subscriptionImpact-card-borderRadius":"8px","--beam-subscriptionImpact-card-background":"#f8fbfb","--beam-subscriptionImpact-card-padding":"24px 28px 24px 24px","--beam-subscriptionImpact-card-marginRight":"0px","--beam-subscriptionImpact-card-marginTop":"10px","--beam-subscriptionImpact-card-gap":"5px","--beam-subscriptionImpact-cardTitle-textAlign":"left","--beam-subscriptionImpact-cardTitle-letterSpacing":"0.36px","--beam-SubscriptionImpact-cardStyle":"'selected_icon'","--beam-SubscriptionImpact-imagePosition":"'inline'","--beam-subscriptionImpact-imageBlock-height":"120px","--beam-subscriptionImpact-imageBlock-borderRadius":"4px","--beam-subscriptionImpact-iconBackground-width":"50px","--beam-subscriptionImpact-iconBackground-height":"50px","--beam-subscriptionImpact-iconBackground-borderRadius":"50%","--beam-subscriptionImpact-iconBackground-background":"#0a323c","--beam-subscriptionImpact-icon-height":"28px","--beam-subscriptionImpact-icon-margin":"auto","--beam-subscriptionImpact-icon-padding":"10px","--beam-subscriptionImpact-icon-borderRadius":"4px","--beam-subscriptionImpact-image-borderRadius":"4px","--beam-subscriptionImpact-image-minHeight":"0","--beam-subscriptionImpact-image-minWidth":"0","--beam-subscriptionImpact-cardDescription-padding":"0px","--beam-subscriptionImpact-card-progressBar-padding":"8px 0px","--beam-subscriptionImpact-card-progressBarLabel-gap":"10px","--beam-subscriptionImpact-card-progressBarLabel-textAlign":"right","--beam-subscriptionImpact-card-progressBarLabel-marginLeft":"8px","--beam-subscriptionImpact-card-linkContainer-textAlign":"left","--beam-subscriptionImpact-card-impactLink-textDecoration":"underline","--beam-subscriptionImpact-footer-textAlign":"center","--beam-subscriptionImpact-footer-marginTop":"10px","--beam-subscriptionImpact-share-button-icon-name":"share-2","--beam-subscriptionImpact-learnAbout-arrow-display":"block",...u("--beam-subscriptionImpact-title",{fontSize:"20px",fontWeight:"bold",lineHeight:"120%",textTransform:"capitalize",fontStyle:"normal",color:"#0a323c"}),...u("--beam-subscriptionImpact-descriptionPrefix",{fontSize:"14px",fontWeight:"800",lineHeight:"138%",fontStyle:"normal",color:"#2f302d",marginTop:"9px"}),...u("--beam-subscriptionImpact-description",{fontSize:"14px",fontWeight:"400",lineHeight:"138%",fontStyle:"normal",color:"#2f302d",marginTop:"9px"}),...u("--beam-subscriptionImpact-cardTitle",{fontSize:"12px",fontWeight:"bold",lineHeight:"120%",fontStyle:"normal",textTransform:"uppercase"}),...u("--beam-subscriptionImpact-cardDescription",{fontSize:"12px",fontWeight:"400",lineHeight:"18.2px",fontStyle:"normal",color:"#454a47"}),...u("--beam-subscriptionImpact-card-progressBarLabel",{fontSize:"10px",color:"#878a92"}),...u("--beam-subscriptionImpact-card-impactLink",{fontSize:"12px",fontWeight:"600",lineHeight:"16px",fontStyle:"normal",color:"#454a47",marginTop:"auto"})},r=this.impactDataController?.data?.config?.web?.theme||{},l={...e,...r};return Object.assign(Object.create({toCSS(){return Z(this)}}),l)}render(){const{data:e,loading:r,error:l}=this.impactDataController;if(r)return ne();if(l||e==null)return this.debug?ee({error:l||new Error("No data")}):"";const t=e.community[0],a=e.personal[0],d=e.chain.name,f=n(this.configLang,a?.nonprofit.cause||""),h=a?.nonprofit.name,x=a?.impact?.goalProgressPercentage||0,I=!(a?.impact?.goalProgressPercentage>0||a?.impact?.goalCompletionText?.length>0),y=t?.impact?.goalProgressPercentage||0,P=`${x}% ${n(this.configLang,e?.config?.web?.additionalStrings?.percentFunded||"")||s[this.configLang].percentFunded()}`,F=`${y}% ${n(this.configLang,e?.config?.web?.additionalStrings?.percentFunded||"")||s[this.configLang].percentFunded()}`,E=t?.imageUrl||"",B=a?.imageUrl||"",N=a?.nonprofit.causeIconUrl,W=a?.nonprofit.causeIconSelectedUrl,g=this.cssVariables["--beam-SubscriptionImpact-cardStyle"],T=this.cssVariables["--beam-SubscriptionImpact-imagePosition"],v=g==="'image'",L=g==="'selected_icon'"?W:N,R=v?E:L,U=v?B:L,M=n(this.configLang,e?.config?.web?.dynamicStrings?.ctaTitle||"")||s[this.configLang].title({causeName:f}),D=n(this.configLang,e?.config?.web?.dynamicStrings?.ctaFutureTenseTitle||"")||s[this.configLang].futureTenseTitle({causeName:f}),j=G(e.store.communityPageURL)?e.chain.communityImpactUrl:e.store.communityPageURL,V=a?.nonprofit?.website,_=a?.share?.imageUrl,H=this.cssVariables["--beam-SubscriptionImpact-share-button-icon-name"]||"share-2",k=this.cssVariables["--beam-subscriptionImpact-learnAbout-arrow-display"]==="none";return p`
|
|
14
|
+
`}render(){return p`<sl-badge pill aria-label="${this.infoText}">${this.infoText}</sl-badge>`}}le([l({type:String})],A.prototype,"infoText"),customElements.get("beam-info-pill")||customElements.define("beam-info-pill",A);const me={"--beam-pillLabel-color-background":"#0A323C","--beam-pillLabel-color":"#fff","--beam-pillLabel-border":"#0A323C","--beam-pillLabel-border-width":"1px","--beam-pillLabel-font-size":"10px","--beam-pillLabel-font":"inherit","--beam-pillLabel-font-weight":"400","--beam-pillLabel-text-transform":"none","--beam-pillLabel-font-style":"italic","--beam-pillLabel-padding":"3px 4px"},s={en:{title:({causeName:i=""})=>`Your Subscription is Going Towards ${i} With Every Order`,futureTenseTitle:({causeName:i=""})=>`Your Subscription Will Go Towards ${i} With Every Order`,ctaMessagePrefix:()=>"At no extra cost, ",description:({nonprofit:i=""})=>`1% will be donated to ${i} for you, at no extra cost, every order.`,personalImpactTitle:()=>"You're Currently Funding",futureTensePersonalImpactTitle:()=>"You\u2019ll Be Funding",communityImpactTitle:()=>"Together We're Funding",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`Learn about ${i}${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`Learn about ${i} impact${e?"":" \u203A"}`,percentFunded:()=>"funded",progressPillText:()=>"\u{1F389} Impact begins once order is charged"},fr:{title:({causeName:i=""})=>`Votre abonnement contribue \xE0 ${i} \xE0 chaque commande`,futureTenseTitle:({causeName:i=""})=>`Votre abonnement contribuera \xE0 ${i} \xE0 chaque commande`,ctaMessagePrefix:()=>"Sans frais suppl\xE9mentaires, ",description:({nonprofit:i=""})=>`1% de chaque commande sera revers\xE9 \xE0 ${i} pour vous, sans frais suppl\xE9mentaires.`,personalImpactTitle:()=>"Vous financez actuellement",futureTensePersonalImpactTitle:()=>"Vous financerez",communityImpactTitle:()=>"Ensemble, nous finan\xE7ons",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`En savoir plus sur ${i}${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`En savoir plus sur l\u2019impact de ${i}${e?"":" \u203A"}`,percentFunded:()=>"financ\xE9",progressPillText:()=>"\u{1F389} L\u2019impact commence une fois la commande d\xE9bit\xE9e"},de:{title:({causeName:i=""})=>`Ihr Abonnement unterst\xFCtzt ${i} mit jeder Bestellung`,futureTenseTitle:({causeName:i=""})=>`Ihr Abonnement wird ${i} mit jeder Bestellung unterst\xFCtzen`,ctaMessagePrefix:()=>"Ohne zus\xE4tzliche Kosten, ",description:({nonprofit:i=""})=>`1% jeder Bestellung wird im Rahmen Ihres Abonnements an ${i} gespendet.`,personalImpactTitle:()=>"Sie unterst\xFCtzen derzeit",futureTensePersonalImpactTitle:()=>"Sie werden unterst\xFCtzen",communityImpactTitle:()=>"Gemeinsam unterst\xFCtzen wir",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`Mehr \xFCber ${i} erfahren${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`Mehr \xFCber die Wirkung von ${i} erfahren${e?"":" \u203A"}`,percentFunded:()=>"finanziert",progressPillText:()=>"\u{1F389} Wirkung beginnt, sobald die Bestellung abgerechnet wird"},es:{title:({causeName:i=""})=>`Tu suscripci\xF3n est\xE1 apoyando a ${i} con cada pedido`,futureTenseTitle:({causeName:i=""})=>`Tu suscripci\xF3n apoyar\xE1 a ${i} con cada pedido`,ctaMessagePrefix:()=>"Sin coste adicional, ",description:({nonprofit:i=""})=>`El 1% de cada pedido se donar\xE1 a ${i} en tu nombre.`,personalImpactTitle:()=>"Actualmente est\xE1s financiando",futureTensePersonalImpactTitle:()=>"Financiar\xE1s",communityImpactTitle:()=>"Juntos estamos financiando",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`Conoce m\xE1s sobre ${i}${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`Conoce m\xE1s sobre el impacto de ${i}${e?"":" \u203A"}`,percentFunded:()=>"financiado",progressPillText:()=>"\u{1F389} El impacto comienza una vez que se procese el pedido"},it:{title:({causeName:i=""})=>`Il tuo abbonamento sostiene ${i} con ogni ordine`,futureTenseTitle:({causeName:i=""})=>`Il tuo abbonamento sosterr\xE0 ${i} con ogni ordine`,ctaMessagePrefix:()=>"Senza alcun costo aggiuntivo, ",description:({nonprofit:i=""})=>`L'1% di ogni ordine sar\xE0 donato a ${i} per te.`,personalImpactTitle:()=>"Attualmente stai finanziando",futureTensePersonalImpactTitle:()=>"Finanzierai",communityImpactTitle:()=>"Insieme stiamo finanziando",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`Scopri di pi\xF9 su ${i}${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`Scopri di pi\xF9 sull\u2019impatto di ${i}${e?"":" \u203A"}`,percentFunded:()=>"finanziato",progressPillText:()=>"\u{1F389} L\u2019impatto inizia una volta che l\u2019ordine \xE8 stato addebitato"},pl:{title:({causeName:i=""})=>`Twoja subskrypcja wspiera ${i} przy ka\u017Cdym zam\xF3wieniu`,futureTenseTitle:({causeName:i=""})=>`Twoja subskrypcja b\u0119dzie wspiera\u0107 ${i} przy ka\u017Cdym zam\xF3wieniu`,ctaMessagePrefix:()=>"Bez dodatkowych koszt\xF3w, ",description:({nonprofit:i=""})=>`1% z ka\u017Cdego zam\xF3wienia zostanie przekazane na rzecz ${i} w Twoim imieniu.`,personalImpactTitle:()=>"Obecnie wspierasz",futureTensePersonalImpactTitle:()=>"B\u0119dziesz wspiera\u0107",communityImpactTitle:()=>"Razem wspieramy",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`Dowiedz si\u0119 wi\u0119cej o ${i}${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`Dowiedz si\u0119 wi\u0119cej o wp\u0142ywie ${i}${e?"":" \u203A"}`,percentFunded:()=>"sfinansowano",progressPillText:()=>"\u{1F389} Wp\u0142yw rozpoczyna si\u0119 po zrealizowaniu zam\xF3wienia"},ja:{title:({causeName:i=""})=>`Your Subscription is Going Towards ${i} With Every Order`,futureTenseTitle:({causeName:i=""})=>`Your Subscription Will Go Towards ${i} With Every Order`,ctaMessagePrefix:()=>"At no extra cost, ",description:({nonprofit:i=""})=>`1% will be donated to ${i} for you, at no extra cost, every order.`,personalImpactTitle:()=>"You're Currently Funding",futureTensePersonalImpactTitle:()=>"You\u2019ll Be Funding",communityImpactTitle:()=>"Together We're Funding",personalLinkCopy:({nonprofit:i="",hideArrow:e=!1})=>`Learn about ${i}${e?"":" \u203A"}`,communityLinkCopy:({brandName:i="",hideArrow:e=!1})=>`Learn about ${i} impact${e?"":" \u203A"}`,percentFunded:()=>"\u652F\u63F4\u6E08\u307F",progressPillText:()=>"\u{1F389} Impact begins once order is charged"}};var de=Object.defineProperty,c=(i,e,r,m)=>{for(var t=void 0,a=i.length-1,d;a>=0;a--)(d=i[a])&&(t=d(e,r,t)||t);return t&&de(e,r,t),t};class o extends w{constructor(){super(...arguments),this.baseUrl=q,this.lang="en",this.debug=!1,this.draftConfig=!1,this.isMobile=window.innerWidth<720,this.getImpactData=async()=>(re(["apiKey","beamUserId","nonprofitId"],this),await J({baseUrl:this.baseUrl,headers:oe(this.apiKey),queryParams:{nonprofitId:this.nonprofitId,beamUserId:this.beamUserId,personalImpactLimit:1,communityImpactLimit:1,storeId:this.storeId,widgetName:"subscription-impact",draftConfig:this.draftConfig,version:"1.0.0",lang:this.configLang}})),this.impactDataController=new Q(this,this.getImpactData),this.evaluateBreakPoints=z(()=>{this.isMobile=window.innerWidth<768},50,{maxWait:50,leading:!0}),this.resizeElements=z(()=>{S(this.impactTitleRefs),S(this.impactLinkRefs)},50,{maxWait:50,leading:!0})}get configLang(){return X[this.lang]||"en"}connectedCallback(){super.connectedCallback(),window.addEventListener("resize",this.evaluateBreakPoints)}async updated(e){const r=["baseUrl","storeId","apiKey","beamUserId","lang"];for(const m of r)if(e.has(m)){await this.impactDataController.exec();break}this.resizeElements(),await this.handleFontLoad(this.resizeElements)}disconnectedCallback(){window.removeEventListener("resize",this.resizeElements),document.fonts.removeEventListener("loadingdone",this.resizeElements),super.disconnectedCallback()}async handleFontLoad(e){if(document.fonts.status==="loading")return await document.fonts.ready.catch(r=>se.error(r)),e()}get cssVariables(){const e={...Y,...K,...me,"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"12px","--beam-textColor":"inherit","--beam-backgroundColor":"inherit","--beam-subscriptionImpact-impactCards-maxWidth":"900px","--beam-subscriptionImpact-headerContainer-desktop-textAlign":"left","--beam-subscriptionImpact-headerContainer-mobile-textAlign":"center","--beam-subscriptionImpact-descriptionContainer-marginTop":"10px","--beam-subscriptionImpact-cardContainer-marginTop":"15px","--beam-subscriptionImpact-cardContainer-gap":"20px","--beam-subscriptionImpact-card-borderRadius":"8px","--beam-subscriptionImpact-card-background":"#f8fbfb","--beam-subscriptionImpact-card-padding":"24px 28px 24px 24px","--beam-subscriptionImpact-card-marginRight":"0px","--beam-subscriptionImpact-card-marginTop":"10px","--beam-subscriptionImpact-card-gap":"5px","--beam-subscriptionImpact-cardTitle-textAlign":"left","--beam-subscriptionImpact-cardTitle-letterSpacing":"0.36px","--beam-SubscriptionImpact-cardStyle":"'selected_icon'","--beam-SubscriptionImpact-imagePosition":"'inline'","--beam-subscriptionImpact-imageBlock-height":"120px","--beam-subscriptionImpact-imageBlock-borderRadius":"4px","--beam-subscriptionImpact-iconBackground-width":"50px","--beam-subscriptionImpact-iconBackground-height":"50px","--beam-subscriptionImpact-iconBackground-borderRadius":"50%","--beam-subscriptionImpact-iconBackground-background":"#0a323c","--beam-subscriptionImpact-icon-height":"28px","--beam-subscriptionImpact-icon-margin":"auto","--beam-subscriptionImpact-icon-padding":"10px","--beam-subscriptionImpact-icon-borderRadius":"4px","--beam-subscriptionImpact-image-borderRadius":"4px","--beam-subscriptionImpact-image-minHeight":"0","--beam-subscriptionImpact-image-minWidth":"0","--beam-subscriptionImpact-cardDescription-padding":"0px","--beam-subscriptionImpact-card-progressBar-padding":"8px 0px","--beam-subscriptionImpact-card-progressBarLabel-gap":"10px","--beam-subscriptionImpact-card-progressBarLabel-textAlign":"right","--beam-subscriptionImpact-card-progressBarLabel-marginLeft":"8px","--beam-subscriptionImpact-card-linkContainer-textAlign":"left","--beam-subscriptionImpact-card-impactLink-textDecoration":"underline","--beam-subscriptionImpact-footer-textAlign":"center","--beam-subscriptionImpact-footer-marginTop":"10px","--beam-subscriptionImpact-share-button-icon-name":"share-2","--beam-subscriptionImpact-learnAbout-arrow-display":"block",...u("--beam-subscriptionImpact-title",{fontSize:"20px",fontWeight:"bold",lineHeight:"120%",textTransform:"capitalize",fontStyle:"normal",color:"#0a323c"}),...u("--beam-subscriptionImpact-descriptionPrefix",{fontSize:"14px",fontWeight:"800",lineHeight:"138%",fontStyle:"normal",color:"#2f302d",marginTop:"9px"}),...u("--beam-subscriptionImpact-description",{fontSize:"14px",fontWeight:"400",lineHeight:"138%",fontStyle:"normal",color:"#2f302d",marginTop:"9px"}),...u("--beam-subscriptionImpact-cardTitle",{fontSize:"12px",fontWeight:"bold",lineHeight:"120%",fontStyle:"normal",textTransform:"uppercase"}),...u("--beam-subscriptionImpact-cardDescription",{fontSize:"12px",fontWeight:"400",lineHeight:"18.2px",fontStyle:"normal",color:"#454a47"}),...u("--beam-subscriptionImpact-card-progressBarLabel",{fontSize:"10px",color:"#878a92"}),...u("--beam-subscriptionImpact-card-impactLink",{fontSize:"12px",fontWeight:"600",lineHeight:"16px",fontStyle:"normal",color:"#454a47",marginTop:"auto"})},r=this.impactDataController?.data?.config?.web?.theme||{},m={...e,...r};return Object.assign(Object.create({toCSS(){return Z(this)}}),m)}render(){const{data:e,loading:r,error:m}=this.impactDataController;if(r)return ee();if(m||e==null)return this.debug?ie({error:m||new Error("No data")}):"";const t=e.community[0],a=e.personal[0],d=e.chain.name,f=n(this.configLang,a?.nonprofit.cause||""),h=a?.nonprofit.name,x=a?.impact?.goalProgressPercentage||0,I=!(a?.impact?.goalProgressPercentage>0||a?.impact?.goalCompletionText?.length>0),y=t?.impact?.goalProgressPercentage||0,P=`${x}% ${n(this.configLang,e?.config?.web?.additionalStrings?.percentFunded||"")||s[this.configLang].percentFunded()}`,F=`${y}% ${n(this.configLang,e?.config?.web?.additionalStrings?.percentFunded||"")||s[this.configLang].percentFunded()}`,E=t?.imageUrl||"",B=a?.imageUrl||"",N=a?.nonprofit.causeIconUrl,W=a?.nonprofit.causeIconSelectedUrl,g=this.cssVariables["--beam-SubscriptionImpact-cardStyle"],T=this.cssVariables["--beam-SubscriptionImpact-imagePosition"],v=g==="'image'",L=g==="'selected_icon'"?W:N,R=v?E:L,U=v?B:L,M=n(this.configLang,e?.config?.web?.dynamicStrings?.ctaTitle||"")||s[this.configLang].title({causeName:f}),D=n(this.configLang,e?.config?.web?.dynamicStrings?.ctaFutureTenseTitle||"")||s[this.configLang].futureTenseTitle({causeName:f}),j=G(e.store.communityPageURL)?e.chain.communityImpactUrl:e.store.communityPageURL,V=a?.nonprofit?.website,H=a?.share?.imageUrl,O=this.cssVariables["--beam-SubscriptionImpact-share-button-icon-name"]||"share-2",k=this.cssVariables["--beam-subscriptionImpact-learnAbout-arrow-display"]==="none";return p`
|
|
15
15
|
<style>
|
|
16
16
|
:host {
|
|
17
17
|
${this.cssVariables.toCSS()}
|
|
@@ -48,9 +48,9 @@ import{a as w,i as $,b as p,n as m,r as O,k as C}from"../chunks/lit-JRlupCB5.esm
|
|
|
48
48
|
</div>
|
|
49
49
|
<div class="footer" part="social-share">
|
|
50
50
|
<beam-share-button
|
|
51
|
-
imageUrl="${
|
|
51
|
+
imageUrl="${H}"
|
|
52
52
|
brandName="${d}"
|
|
53
|
-
shareIcon="${
|
|
53
|
+
shareIcon="${O}"
|
|
54
54
|
buttonText="${n(this.configLang,e?.config?.web?.additionalStrings?.shareButtonText||"")}"
|
|
55
55
|
configLang="${this.configLang}"
|
|
56
56
|
></beam-share-button>
|
|
@@ -99,7 +99,7 @@ import{a as w,i as $,b as p,n as m,r as O,k as C}from"../chunks/lit-JRlupCB5.esm
|
|
|
99
99
|
</div>
|
|
100
100
|
</div>
|
|
101
101
|
</div>
|
|
102
|
-
`}}o.tagName="beam-subscription-impact",o.styles=[
|
|
102
|
+
`}}o.tagName="beam-subscription-impact",o.styles=[ae,ce,$`
|
|
103
103
|
:host {
|
|
104
104
|
display: block;
|
|
105
105
|
font-family: var(--beam-fontFamily);
|
|
@@ -279,5 +279,5 @@ import{a as w,i as $,b as p,n as m,r as O,k as C}from"../chunks/lit-JRlupCB5.esm
|
|
|
279
279
|
text-align: var(--beam-subscriptionImpact-footer-textAlign);
|
|
280
280
|
margin-top: var(--beam-subscriptionImpact-footer-marginTop);
|
|
281
281
|
}
|
|
282
|
-
`,
|
|
282
|
+
`,te({gap:"var(--beam-subscriptionImpact-cardContainer-gap)",itemMinWidth:"250px",columnCount:"2"})],c([l({type:String,reflect:!0})],o.prototype,"baseUrl"),c([l({type:String,reflect:!1})],o.prototype,"apiKey"),c([l({type:Number})],o.prototype,"storeId"),c([l({type:String,reflect:!0})],o.prototype,"nonprofitId"),c([l({type:String,reflect:!0})],o.prototype,"beamUserId"),c([l({type:String})],o.prototype,"lang"),c([l({type:Boolean})],o.prototype,"debug"),c([l({type:Boolean})],o.prototype,"draftConfig"),c([_()],o.prototype,"isMobile"),c([C(".card-title")],o.prototype,"impactTitleRefs"),c([C(".impact-link")],o.prototype,"impactLinkRefs"),ne(o);export{o as BeamSubscriptionImpact};
|
|
283
283
|
//# sourceMappingURL=subscription-impact.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-impact.esm.js","sources":["../../src/shared/components/info-pill.ts","../../src/components/subscription-impact/strings.ts","../../src/components/subscription-impact/index.ts"],"sourcesContent":["import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport \"../shoelace-components\";\nimport \"@shoelace-style/shoelace/dist/components/badge/badge.js\";\n\nexport class BeamInfoPill extends LitElement {\n @property({ type: String }) infoText = \"\";\n\n static get styles() {\n return css`\n sl-badge::part(base) {\n background-color: var(--beam-pillLabel-color-background, #000);\n color: var(--beam-pillLabel-color, #fff);\n border: var(--beam-pillLabel-border-width, 3px) solid var(--beam-pillLabel-border, #000);\n border-radius: 18.37px;\n font-family: var(--beam-pillLabel-font, inherit);\n font-size: var(--beam-pillLabel-font-size, 12px);\n font-style: var(--beam-pillLabel-font-style, italic);\n font-weight: var(--beam-pillLabel-font-weight, bold);\n text-transform: var(--beam-pillLabel-text-transform, none);\n padding: var(--beam-pillLabel-padding, 3px 4px);\n }\n `;\n }\n\n render() {\n return html`<sl-badge pill aria-label=\"${this.infoText}\">${this.infoText}</sl-badge>`;\n }\n}\n\ncustomElements.get(\"beam-info-pill\") || customElements.define(\"beam-info-pill\", BeamInfoPill);\n\nexport const infoPillLabelConfigDefaults = {\n \"--beam-pillLabel-color-background\": \"#0A323C\",\n \"--beam-pillLabel-color\": \"#fff\",\n \"--beam-pillLabel-border\": \"#0A323C\",\n \"--beam-pillLabel-border-width\": \"1px\",\n \"--beam-pillLabel-font-size\": \"10px\",\n \"--beam-pillLabel-font\": \"inherit\",\n \"--beam-pillLabel-font-weight\": \"400\",\n \"--beam-pillLabel-text-transform\": \"none\",\n \"--beam-pillLabel-font-style\": \"italic\",\n \"--beam-pillLabel-padding\": \"3px 4px\",\n} as const;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-info-pill\": BeamInfoPill;\n }\n}\n","export const strings = {\n en: {\n title: ({ causeName = \"\" }) => `Your Subscription is Going Towards ${causeName} With Every Order`,\n futureTenseTitle: ({ causeName = \"\" }) => `Your Subscription Will Go Towards ${causeName} With Every Order`,\n ctaMessagePrefix: () => `At no extra cost, `,\n description: ({ nonprofit = \"\" }) => `1% will be donated to ${nonprofit} for you, at no extra cost, every order.`,\n personalImpactTitle: () => `You're Currently Funding`,\n futureTensePersonalImpactTitle: () => `You’ll Be Funding`,\n communityImpactTitle: () => `Together We're Funding`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) => `Learn about ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Learn about ${brandName} impact${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `funded`,\n progressPillText: () => `🎉 Impact begins once order is charged`,\n },\n fr: {\n title: ({ causeName = \"\" }) => `Votre abonnement contribue à ${causeName} à chaque commande`,\n futureTenseTitle: ({ causeName = \"\" }) => `Votre abonnement contribuera à ${causeName} à chaque commande`,\n ctaMessagePrefix: () => `Sans frais supplémentaires, `,\n description: ({ nonprofit = \"\" }) =>\n `1% de chaque commande sera reversé à ${nonprofit} pour vous, sans frais supplémentaires.`,\n personalImpactTitle: () => `Vous financez actuellement`,\n futureTensePersonalImpactTitle: () => `Vous financerez`,\n communityImpactTitle: () => `Ensemble, nous finançons`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `En savoir plus sur ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `En savoir plus sur l’impact de ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `financé`,\n progressPillText: () => `🎉 L’impact commence une fois la commande débitée`,\n },\n de: {\n title: ({ causeName = \"\" }) => `Ihr Abonnement unterstützt ${causeName} mit jeder Bestellung`,\n futureTenseTitle: ({ causeName = \"\" }) => `Ihr Abonnement wird ${causeName} mit jeder Bestellung unterstützen`,\n ctaMessagePrefix: () => `Ohne zusätzliche Kosten, `,\n description: ({ nonprofit = \"\" }) =>\n `1% jeder Bestellung wird im Rahmen Ihres Abonnements an ${nonprofit} gespendet.`,\n personalImpactTitle: () => `Sie unterstützen derzeit`,\n futureTensePersonalImpactTitle: () => `Sie werden unterstützen`,\n communityImpactTitle: () => `Gemeinsam unterstützen wir`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Mehr über ${nonprofit} erfahren${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Mehr über die Wirkung von ${brandName} erfahren${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `finanziert`,\n progressPillText: () => `🎉 Wirkung beginnt, sobald die Bestellung abgerechnet wird`,\n },\n es: {\n title: ({ causeName = \"\" }) => `Tu suscripción está apoyando a ${causeName} con cada pedido`,\n futureTenseTitle: ({ causeName = \"\" }) => `Tu suscripción apoyará a ${causeName} con cada pedido`,\n ctaMessagePrefix: () => `Sin coste adicional, `,\n description: ({ nonprofit = \"\" }) => `El 1% de cada pedido se donará a ${nonprofit} en tu nombre.`,\n personalImpactTitle: () => `Actualmente estás financiando`,\n futureTensePersonalImpactTitle: () => `Financiarás`,\n communityImpactTitle: () => `Juntos estamos financiando`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Conoce más sobre ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Conoce más sobre el impacto de ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `financiado`,\n progressPillText: () => `🎉 El impacto comienza una vez que se procese el pedido`,\n },\n it: {\n title: ({ causeName = \"\" }) => `Il tuo abbonamento sostiene ${causeName} con ogni ordine`,\n futureTenseTitle: ({ causeName = \"\" }) => `Il tuo abbonamento sosterrà ${causeName} con ogni ordine`,\n ctaMessagePrefix: () => `Senza alcun costo aggiuntivo, `,\n description: ({ nonprofit = \"\" }) => `L'1% di ogni ordine sarà donato a ${nonprofit} per te.`,\n personalImpactTitle: () => `Attualmente stai finanziando`,\n futureTensePersonalImpactTitle: () => `Finanzierai`,\n communityImpactTitle: () => `Insieme stiamo finanziando`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Scopri di più su ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Scopri di più sull’impatto di ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `finanziato`,\n progressPillText: () => `🎉 L’impatto inizia una volta che l’ordine è stato addebitato`,\n },\n pl: {\n title: ({ causeName = \"\" }) => `Twoja subskrypcja wspiera ${causeName} przy każdym zamówieniu`,\n futureTenseTitle: ({ causeName = \"\" }) => `Twoja subskrypcja będzie wspierać ${causeName} przy każdym zamówieniu`,\n ctaMessagePrefix: () => `Bez dodatkowych kosztów, `,\n description: ({ nonprofit = \"\" }) =>\n `1% z każdego zamówienia zostanie przekazane na rzecz ${nonprofit} w Twoim imieniu.`,\n personalImpactTitle: () => `Obecnie wspierasz`,\n futureTensePersonalImpactTitle: () => `Będziesz wspierać`,\n communityImpactTitle: () => `Razem wspieramy`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Dowiedz się więcej o ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Dowiedz się więcej o wpływie ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `sfinansowano`,\n progressPillText: () => `🎉 Wpływ rozpoczyna się po zrealizowaniu zamówienia`,\n },\n ja: {\n title: ({ causeName = \"\" }) => `Your Subscription is Going Towards ${causeName} With Every Order`,\n futureTenseTitle: ({ causeName = \"\" }) => `Your Subscription Will Go Towards ${causeName} With Every Order`,\n ctaMessagePrefix: () => `At no extra cost, `,\n description: ({ nonprofit = \"\" }) => `1% will be donated to ${nonprofit} for you, at no extra cost, every order.`,\n personalImpactTitle: () => `You're Currently Funding`,\n futureTensePersonalImpactTitle: () => `You’ll Be Funding`,\n communityImpactTitle: () => `Together We're Funding`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) => `Learn about ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Learn about ${brandName} impact${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `支援済み`,\n progressPillText: () => `🎉 Impact begins once order is charged`,\n },\n};\n","import { html, css, LitElement, PropertyValues } from \"lit\";\nimport debounce from \"lodash-es/debounce\";\nimport isNil from \"lodash-es/isNil\";\nimport { property } from \"lit/decorators/property.js\";\nimport { queryAll } from \"lit/decorators/query-all.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { shareButtonConfigDefaults } from \"../../shared/components/share-button\";\nimport { infoPillLabelConfigDefaults } from \"../../shared/components/info-pill\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES } from \"../../api-sdk/constants\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { syncElementHeights } from \"../../shared/sync-element-heights\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { makeApiKeyHeader } from \"../../utils/makeApiKeyHeader\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { TId, TNumericId, TUrl } from \"../../shared/types\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { cssResponsiveUtils } from \"../../shared/responsive\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { logger } from \"../../utils/logger\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\nimport { strings } from \"./strings\";\n\ntype RequiredConfig = {\n apiKey: string;\n nonprofitId: TNumericId;\n beamUserId: TId;\n};\n\nexport class BeamSubscriptionImpact extends LitElement {\n static tagName = \"beam-subscription-impact\";\n\n @property({ type: String, reflect: true }) public baseUrl: TUrl = DEFAULT_BASE_URL;\n @property({ type: String, reflect: false }) apiKey?: RequiredConfig[\"apiKey\"];\n @property({ type: Number }) storeId?: number;\n @property({ type: String, reflect: true }) nonprofitId?: RequiredConfig[\"nonprofitId\"];\n @property({ type: String, reflect: true }) beamUserId?: RequiredConfig[\"beamUserId\"];\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n @property({ type: Boolean }) public debug = false;\n @property({ type: Boolean }) public draftConfig = false;\n\n @state() private isMobile = window.innerWidth < 720;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n getImpactData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"beamUserId\", \"nonprofitId\"], this)) throw new MissingConfig();\n const res = await getImpact({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n queryParams: {\n nonprofitId: this.nonprofitId,\n beamUserId: this.beamUserId,\n personalImpactLimit: 1,\n communityImpactLimit: 1,\n storeId: this.storeId,\n widgetName: \"subscription-impact\",\n draftConfig: this.draftConfig,\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 @queryAll(\".card-title\")\n impactTitleRefs!: HTMLElement[];\n\n @queryAll(\".impact-link\")\n impactLinkRefs!: HTMLElement[];\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.evaluateBreakPoints);\n }\n\n async updated(changedProperties: PropertyValues): Promise<void> {\n // Fires on first load as props go from undefined => value\n const requireNewDataProps = [\"baseUrl\", \"storeId\", \"apiKey\", \"beamUserId\", \"lang\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n await this.impactDataController.exec();\n break;\n }\n }\n this.resizeElements(); // Handle layout shifts immediately\n await this.handleFontLoad(this.resizeElements); // If content change triggered font load, resize again\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"resize\", this.resizeElements);\n document.fonts.removeEventListener(\"loadingdone\", this.resizeElements);\n super.disconnectedCallback();\n }\n\n /**\n * Safari does not fire loading events on the document FontFaceSet, but it does implement the .ready Promise\n * Call this method to wait for font loads that may be triggered by content changes\n */\n async handleFontLoad<T = any>(callback: () => T | void) {\n if (document.fonts.status === \"loading\") {\n await document.fonts.ready.catch((e) => logger.error(e));\n return callback();\n }\n }\n\n public get cssVariables() {\n const defaults = {\n ...progressBarConfigDefaults,\n ...shareButtonConfigDefaults,\n ...infoPillLabelConfigDefaults,\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"12px\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n \"--beam-subscriptionImpact-impactCards-maxWidth\": \"900px\",\n \"--beam-subscriptionImpact-headerContainer-desktop-textAlign\": \"left\",\n \"--beam-subscriptionImpact-headerContainer-mobile-textAlign\": \"center\",\n \"--beam-subscriptionImpact-descriptionContainer-marginTop\": \"10px\",\n \"--beam-subscriptionImpact-cardContainer-marginTop\": \"15px\",\n \"--beam-subscriptionImpact-cardContainer-gap\": \"20px\",\n \"--beam-subscriptionImpact-card-borderRadius\": \"8px\",\n \"--beam-subscriptionImpact-card-background\": \"#f8fbfb\",\n \"--beam-subscriptionImpact-card-padding\": \"24px 28px 24px 24px\",\n \"--beam-subscriptionImpact-card-marginRight\": \"0px\",\n \"--beam-subscriptionImpact-card-marginTop\": \"10px\",\n \"--beam-subscriptionImpact-card-gap\": \"5px\",\n \"--beam-subscriptionImpact-cardTitle-textAlign\": \"left\",\n \"--beam-subscriptionImpact-cardTitle-letterSpacing\": \"0.36px\",\n \"--beam-SubscriptionImpact-cardStyle\": \"'selected_icon'\",\n \"--beam-SubscriptionImpact-imagePosition\": \"'inline'\",\n \"--beam-subscriptionImpact-imageBlock-height\": \"120px\",\n \"--beam-subscriptionImpact-imageBlock-borderRadius\": \"4px\",\n \"--beam-subscriptionImpact-iconBackground-width\": \"50px\",\n \"--beam-subscriptionImpact-iconBackground-height\": \"50px\",\n \"--beam-subscriptionImpact-iconBackground-borderRadius\": \"50%\",\n \"--beam-subscriptionImpact-iconBackground-background\": \"#0a323c\",\n \"--beam-subscriptionImpact-icon-height\": \"28px\",\n \"--beam-subscriptionImpact-icon-margin\": \"auto\",\n \"--beam-subscriptionImpact-icon-padding\": \"10px\",\n \"--beam-subscriptionImpact-icon-borderRadius\": \"4px\",\n \"--beam-subscriptionImpact-image-borderRadius\": \"4px\",\n \"--beam-subscriptionImpact-image-minHeight\": \"0\",\n \"--beam-subscriptionImpact-image-minWidth\": \"0\",\n \"--beam-subscriptionImpact-cardDescription-padding\": \"0px\",\n \"--beam-subscriptionImpact-card-progressBar-padding\": \"8px 0px\",\n \"--beam-subscriptionImpact-card-progressBarLabel-gap\": \"10px\",\n \"--beam-subscriptionImpact-card-progressBarLabel-textAlign\": \"right\",\n \"--beam-subscriptionImpact-card-progressBarLabel-marginLeft\": \"8px\",\n \"--beam-subscriptionImpact-card-linkContainer-textAlign\": \"left\",\n \"--beam-subscriptionImpact-card-impactLink-textDecoration\": \"underline\",\n \"--beam-subscriptionImpact-footer-textAlign\": \"center\",\n \"--beam-subscriptionImpact-footer-marginTop\": \"10px\",\n \"--beam-subscriptionImpact-share-button-icon-name\": \"share-2\",\n \"--beam-subscriptionImpact-learnAbout-arrow-display\": \"block\",\n ...defineCustomText(\"--beam-subscriptionImpact-title\", {\n fontSize: \"20px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-descriptionPrefix\", {\n fontSize: \"14px\",\n fontWeight: \"800\",\n lineHeight: \"138%\",\n fontStyle: \"normal\",\n color: \"#2f302d\",\n marginTop: \"9px\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-description\", {\n fontSize: \"14px\",\n fontWeight: \"400\",\n lineHeight: \"138%\",\n fontStyle: \"normal\",\n color: \"#2f302d\",\n marginTop: \"9px\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-cardTitle\", {\n fontSize: \"12px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n fontStyle: \"normal\",\n textTransform: \"uppercase\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-cardDescription\", {\n fontSize: \"12px\",\n fontWeight: \"400\",\n lineHeight: \"18.2px\",\n fontStyle: \"normal\",\n color: \"#454a47\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-card-progressBarLabel\", {\n fontSize: \"10px\",\n color: \"#878a92\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-card-impactLink\", {\n fontSize: \"12px\",\n fontWeight: \"600\",\n lineHeight: \"16px\",\n fontStyle: \"normal\",\n color: \"#454a47\",\n marginTop: \"auto\",\n }),\n };\n const remoteConfig = this.impactDataController?.data?.config?.web?.theme || {};\n const config = {\n ...defaults,\n ...remoteConfig,\n };\n const serializable = Object.create({\n toCSS() {\n return _cssVariableMap(this as Record<string, string>);\n },\n });\n return Object.assign(serializable, config);\n }\n\n evaluateBreakPoints = debounce(\n () => {\n this.isMobile = window.innerWidth < 768;\n },\n 50,\n { maxWait: 50, leading: true },\n );\n\n resizeElements = debounce(\n () => {\n syncElementHeights(this.impactTitleRefs);\n syncElementHeights(this.impactLinkRefs);\n },\n 50,\n { maxWait: 50, leading: true },\n );\n\n render() {\n const { data, loading, error } = this.impactDataController;\n if (loading) {\n return _loading();\n }\n if (error || data == null) {\n return this.debug ? _errorMessage({ error: error || new Error(\"No data\") }) : \"\";\n }\n\n const communityImpact = data.community[0];\n const personalImpact = data.personal[0];\n\n const brandName = data.chain.name;\n const causeName = localizeUserString(this.configLang, personalImpact?.nonprofit.cause || \"\");\n const nonprofitName = personalImpact?.nonprofit.name;\n const personalProgressPercentage = personalImpact?.impact?.goalProgressPercentage || 0;\n const isPersonalProgressNotStarted = !(\n personalImpact?.impact?.goalProgressPercentage > 0 || personalImpact?.impact?.goalCompletionText?.length > 0\n );\n const communityProgressPercentage = communityImpact?.impact?.goalProgressPercentage || 0;\n const personalProgressDescription = `${personalProgressPercentage}% ${\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"percentFunded\"] || \"\") ||\n strings[this.configLang].percentFunded()\n }`;\n const communityProgressDescription = `${communityProgressPercentage}% ${\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"percentFunded\"] || \"\") ||\n strings[this.configLang].percentFunded()\n }`;\n const communityImage = communityImpact?.imageUrl || \"\";\n const personalImage = personalImpact?.imageUrl || \"\";\n const unselectedIcon = personalImpact?.nonprofit.causeIconUrl;\n const selectedIcon = personalImpact?.nonprofit.causeIconSelectedUrl;\n const cardStyle = this.cssVariables[\"--beam-SubscriptionImpact-cardStyle\"];\n const imagePosition = this.cssVariables[\"--beam-SubscriptionImpact-imagePosition\"];\n const isImage = cardStyle === \"'image'\";\n const iconImage = cardStyle === \"'selected_icon'\" ? selectedIcon : unselectedIcon;\n const communityCardImage = isImage ? communityImage : iconImage;\n const personalCardImage = isImage ? personalImage : iconImage;\n const personalTitle =\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"ctaTitle\"] || \"\") ||\n strings[this.configLang].title({ causeName });\n\n const personalFutureTenseTitle =\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"ctaFutureTenseTitle\"] || \"\") ||\n strings[this.configLang].futureTenseTitle({ causeName });\n const communityLink = isNil(data.store.communityPageURL)\n ? data.chain.communityImpactUrl\n : data.store.communityPageURL;\n const personalLink = personalImpact?.nonprofit?.website;\n const shareImage = personalImpact?.share?.imageUrl;\n const shareIcon = this.cssVariables[\"--beam-SubscriptionImpact-share-button-icon-name\"] || \"share-2\";\n const hideLearnAboutArrow = this.cssVariables[\"--beam-subscriptionImpact-learnAbout-arrow-display\"] === \"none\";\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n\n <div class=\"widget-container\" id=\"beam-subscription-impact-container\">\n <div\n class=\"header-container ${this.isMobile ? \"header-container-mobile\" : \"header-container-desktop\"}\"\n id=\"beam-subscriptionImpact-header-container\"\n >\n <h3 class=\"title\" part=\"title\" id=\"beam-subscriptionImpact-title\">\n ${isPersonalProgressNotStarted ? personalFutureTenseTitle : personalTitle}\n </h3>\n <div\n class=\"description-container ${this.isMobile\n ? \"header-container-mobile description-mobile\"\n : \"header-container-desktop description-desktop\"}\"\n >\n <span class=\"description-prefix\" part=\"description\">\n ${localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"ctaMessagePrefix\"] || \"\") ||\n strings[this.configLang].ctaMessagePrefix()}\n </span>\n <span class=\"description\" part=\"description\" id=\"beam-subscriptionImpact-description\">\n ${localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"ctaMessage\"] || \"\") ||\n strings[this.configLang].description({ nonprofit: nonprofitName })}\n </span>\n </div>\n </div>\n <div class=\"root\">\n <div\n class=\"card-container cardGrid ${this.isMobile ? \"card-container-mobile\" : \"\"}\"\n id=\"beam-subscriptionImpact-card-container\"\n >\n ${this.renderInlineCard({\n title: isPersonalProgressNotStarted\n ? localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"futureTensePersonalImpactTitle\"] || \"\",\n ) || strings[this.configLang].futureTensePersonalImpactTitle()\n : localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"personalImpactTitle\"] || \"\",\n ) || strings[this.configLang].personalImpactTitle(),\n image: personalCardImage,\n description: localizeUserString(this.configLang, personalImpact?.impact?.description || \"\"),\n link: personalLink,\n linkText:\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"personalLinkCopy\"] || \"\") ||\n strings[this.configLang].personalLinkCopy({ nonprofit: nonprofitName, hideArrow: hideLearnAboutArrow }),\n progressBarValue: personalProgressPercentage,\n progressBarText: personalProgressDescription,\n infoPill:\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"progressPillText\"] || \"\") ||\n strings[this.configLang].progressPillText(),\n imageType: cardStyle,\n cardType: \"personal\",\n imagePosition: imagePosition,\n })}\n ${this.renderInlineCard({\n title:\n localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"communityImpactTitle\"] || \"\",\n ) || strings[this.configLang].communityImpactTitle(),\n image: communityCardImage,\n description: localizeUserString(this.configLang, communityImpact?.impact?.description || \"\"),\n link: communityLink,\n linkText:\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"communityLinkCopy\"] || \"\") ||\n strings[this.configLang].communityLinkCopy({ brandName: brandName, hideArrow: hideLearnAboutArrow }),\n progressBarValue: communityProgressPercentage,\n progressBarText: communityProgressDescription,\n infoPill:\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"progressPillText\"] || \"\") ||\n strings[this.configLang].progressPillText(),\n imageType: cardStyle,\n cardType: \"community\",\n imagePosition: imagePosition,\n })}\n </div>\n </div>\n <div class=\"footer\" part=\"social-share\">\n <beam-share-button\n imageUrl=\"${shareImage}\"\n brandName=\"${brandName}\"\n shareIcon=\"${shareIcon}\"\n buttonText=\"${localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"shareButtonText\"] || \"\",\n )}\"\n configLang=\"${this.configLang}\"\n ></beam-share-button>\n </div>\n </div>\n `;\n }\n\n renderInlineCard(impactCard: {\n title: string;\n description: string;\n image: string | null;\n link: string | null;\n linkText: string;\n progressBarValue?: number;\n progressBarText?: string;\n infoPill: string;\n imageType: \"'image'\" | \"'icon'\" | \"'selected_icon'\";\n cardType: \"personal\" | \"community\";\n imagePosition: \"'inline'\" | \"'block'\";\n }) {\n const isPersonalProgressBarValueLow =\n impactCard.progressBarValue !== undefined &&\n impactCard.progressBarValue <= 1 &&\n impactCard.cardType === \"personal\";\n return html`\n <div class=\"inline-card ${this.isMobile ? \"\" : \"inline-card-desktop\"}\">\n ${impactCard.image && impactCard.imagePosition === \"'block'\" && impactCard.imageType === \"'image'\"\n ? html` <div\n class=\"image-block-container\"\n style=\"background: url('${impactCard.image}');background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\"\n ></div>`\n : \"\"}\n <h4 class=\"card-title\">${impactCard.title}</h4>\n <div class=\"inline-content\">\n ${impactCard.image && impactCard.imagePosition === \"'inline'\"\n ? html`${impactCard.imageType === \"'icon'\" || impactCard.imageType === \"'selected_icon'\"\n ? html` <div class=\"icon-container\">\n <div class=\"icon-background\">\n <img\n data-speedsize-ignore=\"true\"\n src=\"${impactCard.image}\"\n alt=\"\"\n role=\"presentation\"\n class=\"icon\"\n />\n </div>\n </div>`\n : html` <div class=\"image-container\">\n <img\n data-speedsize-ignore=\"true\"\n src=\"${impactCard.image}\"\n alt=\"\"\n role=\"presentation\"\n class=\"image\"\n />\n </div>`}`\n : \"\"}\n <div class=\"impact-container\" part=\"details\">\n <p class=\"card-description\">${impactCard.description}</p>\n <div class=\"card-progress-bar\">\n ${isPersonalProgressBarValueLow\n ? html` <beam-info-pill infoText=\"${impactCard.infoPill}\"></beam-info-pill> `\n : html`\n <beam-progress-bar value=\"${impactCard.progressBarValue}\" style=\"flex: 1 0;\"> </beam-progress-bar>\n <span class=\"details-funding-progress-label\"> ${impactCard.progressBarText} </span>\n `}\n </div>\n <div class=\"link-container\">\n <a href=\"${impactCard.link}\" class=\"impact-link\" target=\"_blank\">${impactCard.linkText}</a>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n\n static styles = [\n cssReset,\n cssResponsiveUtils,\n css`\n :host {\n display: block;\n font-family: var(--beam-fontFamily);\n font-style: var(--beam-fontStyle);\n font-size: var(--beam-fontSize);\n background-color: var(--beam-backgroundColor);\n color: var(--beam-textColor);\n max-width: var(--beam-subscriptionImpact-impactCards-maxWidth);\n word-break: normal;\n }\n\n /* subscription impact container and header css */\n\n .header-container-mobile {\n text-align: var(--beam-subscriptionImpact-headerContainer-mobile-textAlign);\n }\n\n .header-container-desktop {\n text-align: var(--beam-subscriptionImpact-headerContainer-desktop-textAlign);\n }\n\n .title {\n ${useCustomText(\"--beam-subscriptionImpact-title\")};\n }\n\n .description-container {\n margin-top: var(--beam-subscriptionImpact-descriptionContainer-marginTop);\n }\n\n .description-prefix {\n ${useCustomText(\"--beam-subscriptionImpact-descriptionPrefix\")};\n }\n\n .description {\n ${useCustomText(\"--beam-subscriptionImpact-description\")};\n }\n\n .root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .card-container {\n margin-top: var(--beam-subscriptionImpact-cardContainer-marginTop);\n gap: var(--beam-subscriptionImpact-cardContainer-gap);\n display: grid;\n justify-content: center;\n }\n\n .card-container-mobile {\n flex-direction: column;\n }\n\n /* subscription impact card css */\n .inline-card {\n border-radius: var(--beam-subscriptionImpact-card-borderRadius);\n background: var(--beam-subscriptionImpact-card-background);\n padding: var(--beam-subscriptionImpact-card-padding);\n flex: 2;\n flex-direction: column;\n margin-top: var(--beam-subscriptionImpact-card-marginTop);\n display: flex;\n gap: var(--beam-subscriptionImpact-card-gap);\n }\n\n .inline-card-desktop {\n margin-right: var(--beam-subscriptionImpact-card-marginRight);\n }\n\n .inline-content {\n display: flex;\n flex-direction: row;\n gap: 15px;\n height: 100%;\n }\n\n .card-title {\n text-align: var(--beam-subscriptionImpact-cardTitle-textAlign);\n letter-spacing: var(--beam-subscriptionImpact-cardTitle-letterSpacing);\n ${useCustomText(\"--beam-subscriptionImpact-cardTitle\")};\n }\n\n .icon-container {\n flex: 0;\n flex-direction: column;\n }\n\n .image-block-container {\n flex-shrink: 0;\n height: var(--beam-subscriptionImpact-imageBlock-height);\n border-radius: var(--beam-subscriptionImpact-imageBlock-borderRadius);\n }\n\n .image-container {\n flex: 4;\n display: flex;\n flex-direction: column;\n }\n\n .icon-background {\n width: var(--beam-subscriptionImpact-iconBackground-width);\n height: var(--beam-subscriptionImpact-iconBackground-height);\n border-radius: var(--beam-subscriptionImpact-iconBackground-borderRadius);\n padding: var(--beam-subscriptionImpact-icon-padding);\n overflow: hidden;\n background: var(--beam-subscriptionImpact-iconBackground-background);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .icon {\n height: var(--beam-subscriptionImpact-icon-height);\n display: block;\n margin: var(--beam-subscriptionImpact-icon-margin);\n border-radius: var(--beam-subscriptionImpact-icon-borderRadius);\n }\n\n .image {\n flex: 4;\n height: auto;\n width: 100%;\n object-fit: cover;\n min-height: var(--beam-subscriptionImpact-image-minHeight);\n min-width: var(--beam-subscriptionImpact-image-minWidth);\n border-radius: var(--beam-subscriptionImpact-image-borderRadius);\n }\n\n .impact-container {\n flex: 1 1 67%;\n height: 100%;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-content: stretch;\n align-items: stretch;\n position: relative;\n }\n\n .card-description {\n flex-grow: 1;\n padding: var(--beam-subscriptionImpact-cardDescription-padding);\n ${useCustomText(\"--beam-subscriptionImpact-cardDescription\")};\n }\n\n .card-progress-bar {\n flex: 1 1;\n display: flex;\n align-items: center;\n padding: var(--beam-subscriptionImpact-card-progressBar-padding);\n }\n\n .details-funding-progress-label {\n gap: var(--beam-subscriptionImpact-card-progressBarLabel-gap);\n white-space: nowrap;\n text-align: var(--beam-subscriptionImpact-card-progressBarLabel-textAlign);\n flex: 0 1;\n margin-left: var(--beam-subscriptionImpact-card-progressBarLabel-marginLeft);\n ${useCustomText(\"--beam-subscriptionImpact-card-progressBarLabel\")};\n }\n\n .link-container {\n text-align: var(--beam-subscriptionImpact-card-linkContainer-textAlign);\n }\n\n .impact-link {\n display: inline-block;\n text-decoration-line: var(--beam-subscriptionImpact-card-impactLink-textDecoration);\n ${useCustomText(\"--beam-subscriptionImpact-card-impactLink\")};\n }\n\n /* share footer */\n .footer {\n text-align: var(--beam-subscriptionImpact-footer-textAlign);\n margin-top: var(--beam-subscriptionImpact-footer-marginTop);\n }\n `,\n cssCardGrid({\n gap: \"var(--beam-subscriptionImpact-cardContainer-gap)\",\n itemMinWidth: \"250px\",\n columnCount: \"2\",\n }),\n ];\n}\n\ndefineCustomElement(BeamSubscriptionImpact);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-subscription-impact\": BeamSubscriptionImpact;\n }\n}\n"],"names":["BeamInfoPill","LitElement","css","html","__decorateClass","property","infoPillLabelConfigDefaults","strings","causeName","nonprofit","hideArrow","brandName","BeamSubscriptionImpact","DEFAULT_BASE_URL","enforceConfig","getImpact","makeApiKeyHeader","AsyncController","debounce","syncElementHeights","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","callback","e","logger","defaults","progressBarConfigDefaults","shareButtonConfigDefaults","defineCustomText","remoteConfig","config","_cssVariableMap","data","loading","error","_loading","_errorMessage","communityImpact","personalImpact","localizeUserString","nonprofitName","personalProgressPercentage","isPersonalProgressNotStarted","communityProgressPercentage","personalProgressDescription","communityProgressDescription","communityImage","personalImage","unselectedIcon","selectedIcon","cardStyle","imagePosition","isImage","iconImage","communityCardImage","personalCardImage","personalTitle","personalFutureTenseTitle","communityLink","isNil","personalLink","shareImage","shareIcon","hideLearnAboutArrow","impactCard","isPersonalProgressBarValueLow","cssReset","cssResponsiveUtils","useCustomText","cssCardGrid","state","queryAll","defineCustomElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subscription-impact.esm.js","sources":["../../src/shared/components/info-pill.ts","../../src/components/subscription-impact/strings.ts","../../src/components/subscription-impact/index.ts"],"sourcesContent":["import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport \"../shoelace-components\";\nimport \"@shoelace-style/shoelace/dist/components/badge/badge.js\";\n\nexport class BeamInfoPill extends LitElement {\n @property({ type: String }) infoText = \"\";\n\n static get styles() {\n return css`\n sl-badge::part(base) {\n background-color: var(--beam-pillLabel-color-background, #000);\n color: var(--beam-pillLabel-color, #fff);\n border: var(--beam-pillLabel-border-width, 3px) solid var(--beam-pillLabel-border, #000);\n border-radius: 18.37px;\n font-family: var(--beam-pillLabel-font, inherit);\n font-size: var(--beam-pillLabel-font-size, 12px);\n font-style: var(--beam-pillLabel-font-style, italic);\n font-weight: var(--beam-pillLabel-font-weight, bold);\n text-transform: var(--beam-pillLabel-text-transform, none);\n padding: var(--beam-pillLabel-padding, 3px 4px);\n }\n `;\n }\n\n render() {\n return html`<sl-badge pill aria-label=\"${this.infoText}\">${this.infoText}</sl-badge>`;\n }\n}\n\ncustomElements.get(\"beam-info-pill\") || customElements.define(\"beam-info-pill\", BeamInfoPill);\n\nexport const infoPillLabelConfigDefaults = {\n \"--beam-pillLabel-color-background\": \"#0A323C\",\n \"--beam-pillLabel-color\": \"#fff\",\n \"--beam-pillLabel-border\": \"#0A323C\",\n \"--beam-pillLabel-border-width\": \"1px\",\n \"--beam-pillLabel-font-size\": \"10px\",\n \"--beam-pillLabel-font\": \"inherit\",\n \"--beam-pillLabel-font-weight\": \"400\",\n \"--beam-pillLabel-text-transform\": \"none\",\n \"--beam-pillLabel-font-style\": \"italic\",\n \"--beam-pillLabel-padding\": \"3px 4px\",\n} as const;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-info-pill\": BeamInfoPill;\n }\n}\n","export const strings = {\n en: {\n title: ({ causeName = \"\" }) => `Your Subscription is Going Towards ${causeName} With Every Order`,\n futureTenseTitle: ({ causeName = \"\" }) => `Your Subscription Will Go Towards ${causeName} With Every Order`,\n ctaMessagePrefix: () => `At no extra cost, `,\n description: ({ nonprofit = \"\" }) => `1% will be donated to ${nonprofit} for you, at no extra cost, every order.`,\n personalImpactTitle: () => `You're Currently Funding`,\n futureTensePersonalImpactTitle: () => `You’ll Be Funding`,\n communityImpactTitle: () => `Together We're Funding`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) => `Learn about ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Learn about ${brandName} impact${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `funded`,\n progressPillText: () => `🎉 Impact begins once order is charged`,\n },\n fr: {\n title: ({ causeName = \"\" }) => `Votre abonnement contribue à ${causeName} à chaque commande`,\n futureTenseTitle: ({ causeName = \"\" }) => `Votre abonnement contribuera à ${causeName} à chaque commande`,\n ctaMessagePrefix: () => `Sans frais supplémentaires, `,\n description: ({ nonprofit = \"\" }) =>\n `1% de chaque commande sera reversé à ${nonprofit} pour vous, sans frais supplémentaires.`,\n personalImpactTitle: () => `Vous financez actuellement`,\n futureTensePersonalImpactTitle: () => `Vous financerez`,\n communityImpactTitle: () => `Ensemble, nous finançons`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `En savoir plus sur ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `En savoir plus sur l’impact de ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `financé`,\n progressPillText: () => `🎉 L’impact commence une fois la commande débitée`,\n },\n de: {\n title: ({ causeName = \"\" }) => `Ihr Abonnement unterstützt ${causeName} mit jeder Bestellung`,\n futureTenseTitle: ({ causeName = \"\" }) => `Ihr Abonnement wird ${causeName} mit jeder Bestellung unterstützen`,\n ctaMessagePrefix: () => `Ohne zusätzliche Kosten, `,\n description: ({ nonprofit = \"\" }) =>\n `1% jeder Bestellung wird im Rahmen Ihres Abonnements an ${nonprofit} gespendet.`,\n personalImpactTitle: () => `Sie unterstützen derzeit`,\n futureTensePersonalImpactTitle: () => `Sie werden unterstützen`,\n communityImpactTitle: () => `Gemeinsam unterstützen wir`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Mehr über ${nonprofit} erfahren${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Mehr über die Wirkung von ${brandName} erfahren${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `finanziert`,\n progressPillText: () => `🎉 Wirkung beginnt, sobald die Bestellung abgerechnet wird`,\n },\n es: {\n title: ({ causeName = \"\" }) => `Tu suscripción está apoyando a ${causeName} con cada pedido`,\n futureTenseTitle: ({ causeName = \"\" }) => `Tu suscripción apoyará a ${causeName} con cada pedido`,\n ctaMessagePrefix: () => `Sin coste adicional, `,\n description: ({ nonprofit = \"\" }) => `El 1% de cada pedido se donará a ${nonprofit} en tu nombre.`,\n personalImpactTitle: () => `Actualmente estás financiando`,\n futureTensePersonalImpactTitle: () => `Financiarás`,\n communityImpactTitle: () => `Juntos estamos financiando`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Conoce más sobre ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Conoce más sobre el impacto de ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `financiado`,\n progressPillText: () => `🎉 El impacto comienza una vez que se procese el pedido`,\n },\n it: {\n title: ({ causeName = \"\" }) => `Il tuo abbonamento sostiene ${causeName} con ogni ordine`,\n futureTenseTitle: ({ causeName = \"\" }) => `Il tuo abbonamento sosterrà ${causeName} con ogni ordine`,\n ctaMessagePrefix: () => `Senza alcun costo aggiuntivo, `,\n description: ({ nonprofit = \"\" }) => `L'1% di ogni ordine sarà donato a ${nonprofit} per te.`,\n personalImpactTitle: () => `Attualmente stai finanziando`,\n futureTensePersonalImpactTitle: () => `Finanzierai`,\n communityImpactTitle: () => `Insieme stiamo finanziando`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Scopri di più su ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Scopri di più sull’impatto di ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `finanziato`,\n progressPillText: () => `🎉 L’impatto inizia una volta che l’ordine è stato addebitato`,\n },\n pl: {\n title: ({ causeName = \"\" }) => `Twoja subskrypcja wspiera ${causeName} przy każdym zamówieniu`,\n futureTenseTitle: ({ causeName = \"\" }) => `Twoja subskrypcja będzie wspierać ${causeName} przy każdym zamówieniu`,\n ctaMessagePrefix: () => `Bez dodatkowych kosztów, `,\n description: ({ nonprofit = \"\" }) =>\n `1% z każdego zamówienia zostanie przekazane na rzecz ${nonprofit} w Twoim imieniu.`,\n personalImpactTitle: () => `Obecnie wspierasz`,\n futureTensePersonalImpactTitle: () => `Będziesz wspierać`,\n communityImpactTitle: () => `Razem wspieramy`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) =>\n `Dowiedz się więcej o ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Dowiedz się więcej o wpływie ${brandName}${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `sfinansowano`,\n progressPillText: () => `🎉 Wpływ rozpoczyna się po zrealizowaniu zamówienia`,\n },\n ja: {\n title: ({ causeName = \"\" }) => `Your Subscription is Going Towards ${causeName} With Every Order`,\n futureTenseTitle: ({ causeName = \"\" }) => `Your Subscription Will Go Towards ${causeName} With Every Order`,\n ctaMessagePrefix: () => `At no extra cost, `,\n description: ({ nonprofit = \"\" }) => `1% will be donated to ${nonprofit} for you, at no extra cost, every order.`,\n personalImpactTitle: () => `You're Currently Funding`,\n futureTensePersonalImpactTitle: () => `You’ll Be Funding`,\n communityImpactTitle: () => `Together We're Funding`,\n personalLinkCopy: ({ nonprofit = \"\", hideArrow = false }) => `Learn about ${nonprofit}${!hideArrow ? \" ›\" : \"\"}`,\n communityLinkCopy: ({ brandName = \"\", hideArrow = false }) =>\n `Learn about ${brandName} impact${!hideArrow ? \" ›\" : \"\"}`,\n percentFunded: () => `支援済み`,\n progressPillText: () => `🎉 Impact begins once order is charged`,\n },\n};\n","import { html, css, LitElement, PropertyValues } from \"lit\";\nimport debounce from \"lodash-es/debounce\";\nimport isNil from \"lodash-es/isNil\";\nimport { property } from \"lit/decorators/property.js\";\nimport { queryAll } from \"lit/decorators/query-all.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { shareButtonConfigDefaults } from \"../../shared/components/share-button\";\nimport { infoPillLabelConfigDefaults } from \"../../shared/components/info-pill\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES } from \"../../api-sdk/constants\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { syncElementHeights } from \"../../shared/sync-element-heights\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { makeApiKeyHeader } from \"../../utils/makeApiKeyHeader\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { TId, TNumericId, TUrl } from \"../../shared/types\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { cssResponsiveUtils } from \"../../shared/responsive\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { getImpact } from \"../../api-sdk/v3/routes\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { logger } from \"../../utils/logger\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\nimport { strings } from \"./strings\";\n\ntype RequiredConfig = {\n apiKey: string;\n nonprofitId: TNumericId;\n beamUserId: TId;\n};\n\nexport class BeamSubscriptionImpact extends LitElement {\n static tagName = \"beam-subscription-impact\";\n\n @property({ type: String, reflect: true }) public baseUrl: TUrl = DEFAULT_BASE_URL;\n @property({ type: String, reflect: false }) apiKey?: RequiredConfig[\"apiKey\"];\n @property({ type: Number }) storeId?: number;\n @property({ type: String, reflect: true }) nonprofitId?: RequiredConfig[\"nonprofitId\"];\n @property({ type: String, reflect: true }) beamUserId?: RequiredConfig[\"beamUserId\"];\n @property({ type: String }) public lang: LANGUAGES = \"en\";\n @property({ type: Boolean }) public debug = false;\n @property({ type: Boolean }) public draftConfig = false;\n\n @state() private isMobile = window.innerWidth < 720;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n getImpactData = async () => {\n if (!enforceConfig<RequiredConfig>([\"apiKey\", \"beamUserId\", \"nonprofitId\"], this)) throw new MissingConfig();\n const res = await getImpact({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n queryParams: {\n nonprofitId: this.nonprofitId,\n beamUserId: this.beamUserId,\n personalImpactLimit: 1,\n communityImpactLimit: 1,\n storeId: this.storeId,\n widgetName: \"subscription-impact\",\n draftConfig: this.draftConfig,\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 @queryAll(\".card-title\")\n impactTitleRefs!: HTMLElement[];\n\n @queryAll(\".impact-link\")\n impactLinkRefs!: HTMLElement[];\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\"resize\", this.evaluateBreakPoints);\n }\n\n async updated(changedProperties: PropertyValues): Promise<void> {\n // Fires on first load as props go from undefined => value\n const requireNewDataProps = [\"baseUrl\", \"storeId\", \"apiKey\", \"beamUserId\", \"lang\"];\n for (const prop of requireNewDataProps) {\n if (changedProperties.has(prop)) {\n await this.impactDataController.exec();\n break;\n }\n }\n this.resizeElements(); // Handle layout shifts immediately\n await this.handleFontLoad(this.resizeElements); // If content change triggered font load, resize again\n }\n\n disconnectedCallback() {\n window.removeEventListener(\"resize\", this.resizeElements);\n document.fonts.removeEventListener(\"loadingdone\", this.resizeElements);\n super.disconnectedCallback();\n }\n\n /**\n * Safari does not fire loading events on the document FontFaceSet, but it does implement the .ready Promise\n * Call this method to wait for font loads that may be triggered by content changes\n */\n async handleFontLoad<T = any>(callback: () => T | void) {\n if (document.fonts.status === \"loading\") {\n await document.fonts.ready.catch((e) => logger.error(e));\n return callback();\n }\n }\n\n public get cssVariables() {\n const defaults = {\n ...progressBarConfigDefaults,\n ...shareButtonConfigDefaults,\n ...infoPillLabelConfigDefaults,\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"12px\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n \"--beam-subscriptionImpact-impactCards-maxWidth\": \"900px\",\n \"--beam-subscriptionImpact-headerContainer-desktop-textAlign\": \"left\",\n \"--beam-subscriptionImpact-headerContainer-mobile-textAlign\": \"center\",\n \"--beam-subscriptionImpact-descriptionContainer-marginTop\": \"10px\",\n \"--beam-subscriptionImpact-cardContainer-marginTop\": \"15px\",\n \"--beam-subscriptionImpact-cardContainer-gap\": \"20px\",\n \"--beam-subscriptionImpact-card-borderRadius\": \"8px\",\n \"--beam-subscriptionImpact-card-background\": \"#f8fbfb\",\n \"--beam-subscriptionImpact-card-padding\": \"24px 28px 24px 24px\",\n \"--beam-subscriptionImpact-card-marginRight\": \"0px\",\n \"--beam-subscriptionImpact-card-marginTop\": \"10px\",\n \"--beam-subscriptionImpact-card-gap\": \"5px\",\n \"--beam-subscriptionImpact-cardTitle-textAlign\": \"left\",\n \"--beam-subscriptionImpact-cardTitle-letterSpacing\": \"0.36px\",\n \"--beam-SubscriptionImpact-cardStyle\": \"'selected_icon'\",\n \"--beam-SubscriptionImpact-imagePosition\": \"'inline'\",\n \"--beam-subscriptionImpact-imageBlock-height\": \"120px\",\n \"--beam-subscriptionImpact-imageBlock-borderRadius\": \"4px\",\n \"--beam-subscriptionImpact-iconBackground-width\": \"50px\",\n \"--beam-subscriptionImpact-iconBackground-height\": \"50px\",\n \"--beam-subscriptionImpact-iconBackground-borderRadius\": \"50%\",\n \"--beam-subscriptionImpact-iconBackground-background\": \"#0a323c\",\n \"--beam-subscriptionImpact-icon-height\": \"28px\",\n \"--beam-subscriptionImpact-icon-margin\": \"auto\",\n \"--beam-subscriptionImpact-icon-padding\": \"10px\",\n \"--beam-subscriptionImpact-icon-borderRadius\": \"4px\",\n \"--beam-subscriptionImpact-image-borderRadius\": \"4px\",\n \"--beam-subscriptionImpact-image-minHeight\": \"0\",\n \"--beam-subscriptionImpact-image-minWidth\": \"0\",\n \"--beam-subscriptionImpact-cardDescription-padding\": \"0px\",\n \"--beam-subscriptionImpact-card-progressBar-padding\": \"8px 0px\",\n \"--beam-subscriptionImpact-card-progressBarLabel-gap\": \"10px\",\n \"--beam-subscriptionImpact-card-progressBarLabel-textAlign\": \"right\",\n \"--beam-subscriptionImpact-card-progressBarLabel-marginLeft\": \"8px\",\n \"--beam-subscriptionImpact-card-linkContainer-textAlign\": \"left\",\n \"--beam-subscriptionImpact-card-impactLink-textDecoration\": \"underline\",\n \"--beam-subscriptionImpact-footer-textAlign\": \"center\",\n \"--beam-subscriptionImpact-footer-marginTop\": \"10px\",\n \"--beam-subscriptionImpact-share-button-icon-name\": \"share-2\",\n \"--beam-subscriptionImpact-learnAbout-arrow-display\": \"block\",\n ...defineCustomText(\"--beam-subscriptionImpact-title\", {\n fontSize: \"20px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-descriptionPrefix\", {\n fontSize: \"14px\",\n fontWeight: \"800\",\n lineHeight: \"138%\",\n fontStyle: \"normal\",\n color: \"#2f302d\",\n marginTop: \"9px\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-description\", {\n fontSize: \"14px\",\n fontWeight: \"400\",\n lineHeight: \"138%\",\n fontStyle: \"normal\",\n color: \"#2f302d\",\n marginTop: \"9px\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-cardTitle\", {\n fontSize: \"12px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n fontStyle: \"normal\",\n textTransform: \"uppercase\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-cardDescription\", {\n fontSize: \"12px\",\n fontWeight: \"400\",\n lineHeight: \"18.2px\",\n fontStyle: \"normal\",\n color: \"#454a47\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-card-progressBarLabel\", {\n fontSize: \"10px\",\n color: \"#878a92\",\n }),\n ...defineCustomText(\"--beam-subscriptionImpact-card-impactLink\", {\n fontSize: \"12px\",\n fontWeight: \"600\",\n lineHeight: \"16px\",\n fontStyle: \"normal\",\n color: \"#454a47\",\n marginTop: \"auto\",\n }),\n };\n const remoteConfig = this.impactDataController?.data?.config?.web?.theme || {};\n const config = {\n ...defaults,\n ...remoteConfig,\n };\n const serializable = Object.create({\n toCSS() {\n return _cssVariableMap(this as Record<string, string>);\n },\n });\n return Object.assign(serializable, config);\n }\n\n evaluateBreakPoints = debounce(\n () => {\n this.isMobile = window.innerWidth < 768;\n },\n 50,\n { maxWait: 50, leading: true },\n );\n\n resizeElements = debounce(\n () => {\n syncElementHeights(this.impactTitleRefs);\n syncElementHeights(this.impactLinkRefs);\n },\n 50,\n { maxWait: 50, leading: true },\n );\n\n render() {\n const { data, loading, error } = this.impactDataController;\n if (loading) {\n return _loading();\n }\n if (error || data == null) {\n return this.debug ? _errorMessage({ error: error || new Error(\"No data\") }) : \"\";\n }\n\n const communityImpact = data.community[0];\n const personalImpact = data.personal[0];\n\n const brandName = data.chain.name;\n const causeName = localizeUserString(this.configLang, personalImpact?.nonprofit.cause || \"\");\n const nonprofitName = personalImpact?.nonprofit.name;\n const personalProgressPercentage = personalImpact?.impact?.goalProgressPercentage || 0;\n const isPersonalProgressNotStarted = !(\n personalImpact?.impact?.goalProgressPercentage > 0 || personalImpact?.impact?.goalCompletionText?.length > 0\n );\n const communityProgressPercentage = communityImpact?.impact?.goalProgressPercentage || 0;\n const personalProgressDescription = `${personalProgressPercentage}% ${\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"percentFunded\"] || \"\") ||\n strings[this.configLang].percentFunded()\n }`;\n const communityProgressDescription = `${communityProgressPercentage}% ${\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"percentFunded\"] || \"\") ||\n strings[this.configLang].percentFunded()\n }`;\n const communityImage = communityImpact?.imageUrl || \"\";\n const personalImage = personalImpact?.imageUrl || \"\";\n const unselectedIcon = personalImpact?.nonprofit.causeIconUrl;\n const selectedIcon = personalImpact?.nonprofit.causeIconSelectedUrl;\n const cardStyle = this.cssVariables[\"--beam-SubscriptionImpact-cardStyle\"];\n const imagePosition = this.cssVariables[\"--beam-SubscriptionImpact-imagePosition\"];\n const isImage = cardStyle === \"'image'\";\n const iconImage = cardStyle === \"'selected_icon'\" ? selectedIcon : unselectedIcon;\n const communityCardImage = isImage ? communityImage : iconImage;\n const personalCardImage = isImage ? personalImage : iconImage;\n const personalTitle =\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"ctaTitle\"] || \"\") ||\n strings[this.configLang].title({ causeName });\n\n const personalFutureTenseTitle =\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"ctaFutureTenseTitle\"] || \"\") ||\n strings[this.configLang].futureTenseTitle({ causeName });\n const communityLink = isNil(data.store.communityPageURL)\n ? data.chain.communityImpactUrl\n : data.store.communityPageURL;\n const personalLink = personalImpact?.nonprofit?.website;\n const shareImage = personalImpact?.share?.imageUrl;\n const shareIcon = this.cssVariables[\"--beam-SubscriptionImpact-share-button-icon-name\"] || \"share-2\";\n const hideLearnAboutArrow = this.cssVariables[\"--beam-subscriptionImpact-learnAbout-arrow-display\"] === \"none\";\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n\n <div class=\"widget-container\" id=\"beam-subscription-impact-container\">\n <div\n class=\"header-container ${this.isMobile ? \"header-container-mobile\" : \"header-container-desktop\"}\"\n id=\"beam-subscriptionImpact-header-container\"\n >\n <h3 class=\"title\" part=\"title\" id=\"beam-subscriptionImpact-title\">\n ${isPersonalProgressNotStarted ? personalFutureTenseTitle : personalTitle}\n </h3>\n <div\n class=\"description-container ${this.isMobile\n ? \"header-container-mobile description-mobile\"\n : \"header-container-desktop description-desktop\"}\"\n >\n <span class=\"description-prefix\" part=\"description\">\n ${localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"ctaMessagePrefix\"] || \"\") ||\n strings[this.configLang].ctaMessagePrefix()}\n </span>\n <span class=\"description\" part=\"description\" id=\"beam-subscriptionImpact-description\">\n ${localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"ctaMessage\"] || \"\") ||\n strings[this.configLang].description({ nonprofit: nonprofitName })}\n </span>\n </div>\n </div>\n <div class=\"root\">\n <div\n class=\"card-container cardGrid ${this.isMobile ? \"card-container-mobile\" : \"\"}\"\n id=\"beam-subscriptionImpact-card-container\"\n >\n ${this.renderInlineCard({\n title: isPersonalProgressNotStarted\n ? localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"futureTensePersonalImpactTitle\"] || \"\",\n ) || strings[this.configLang].futureTensePersonalImpactTitle()\n : localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"personalImpactTitle\"] || \"\",\n ) || strings[this.configLang].personalImpactTitle(),\n image: personalCardImage,\n description: localizeUserString(this.configLang, personalImpact?.impact?.description || \"\"),\n link: personalLink,\n linkText:\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"personalLinkCopy\"] || \"\") ||\n strings[this.configLang].personalLinkCopy({ nonprofit: nonprofitName, hideArrow: hideLearnAboutArrow }),\n progressBarValue: personalProgressPercentage,\n progressBarText: personalProgressDescription,\n infoPill:\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"progressPillText\"] || \"\") ||\n strings[this.configLang].progressPillText(),\n imageType: cardStyle,\n cardType: \"personal\",\n imagePosition: imagePosition,\n })}\n ${this.renderInlineCard({\n title:\n localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"communityImpactTitle\"] || \"\",\n ) || strings[this.configLang].communityImpactTitle(),\n image: communityCardImage,\n description: localizeUserString(this.configLang, communityImpact?.impact?.description || \"\"),\n link: communityLink,\n linkText:\n localizeUserString(this.configLang, data?.config?.web?.dynamicStrings?.[\"communityLinkCopy\"] || \"\") ||\n strings[this.configLang].communityLinkCopy({ brandName: brandName, hideArrow: hideLearnAboutArrow }),\n progressBarValue: communityProgressPercentage,\n progressBarText: communityProgressDescription,\n infoPill:\n localizeUserString(this.configLang, data?.config?.web?.additionalStrings?.[\"progressPillText\"] || \"\") ||\n strings[this.configLang].progressPillText(),\n imageType: cardStyle,\n cardType: \"community\",\n imagePosition: imagePosition,\n })}\n </div>\n </div>\n <div class=\"footer\" part=\"social-share\">\n <beam-share-button\n imageUrl=\"${shareImage}\"\n brandName=\"${brandName}\"\n shareIcon=\"${shareIcon}\"\n buttonText=\"${localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"shareButtonText\"] || \"\",\n )}\"\n configLang=\"${this.configLang}\"\n ></beam-share-button>\n </div>\n </div>\n `;\n }\n\n renderInlineCard(impactCard: {\n title: string;\n description: string;\n image: string | null;\n link: string | null;\n linkText: string;\n progressBarValue?: number;\n progressBarText?: string;\n infoPill: string;\n imageType: \"'image'\" | \"'icon'\" | \"'selected_icon'\";\n cardType: \"personal\" | \"community\";\n imagePosition: \"'inline'\" | \"'block'\";\n }) {\n const isPersonalProgressBarValueLow =\n impactCard.progressBarValue !== undefined &&\n impactCard.progressBarValue <= 1 &&\n impactCard.cardType === \"personal\";\n return html`\n <div class=\"inline-card ${this.isMobile ? \"\" : \"inline-card-desktop\"}\">\n ${impactCard.image && impactCard.imagePosition === \"'block'\" && impactCard.imageType === \"'image'\"\n ? html` <div\n class=\"image-block-container\"\n style=\"background: url('${impactCard.image}');background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\"\n ></div>`\n : \"\"}\n <h4 class=\"card-title\">${impactCard.title}</h4>\n <div class=\"inline-content\">\n ${impactCard.image && impactCard.imagePosition === \"'inline'\"\n ? html`${impactCard.imageType === \"'icon'\" || impactCard.imageType === \"'selected_icon'\"\n ? html` <div class=\"icon-container\">\n <div class=\"icon-background\">\n <img\n data-speedsize-ignore=\"true\"\n src=\"${impactCard.image}\"\n alt=\"\"\n role=\"presentation\"\n class=\"icon\"\n />\n </div>\n </div>`\n : html` <div class=\"image-container\">\n <img\n data-speedsize-ignore=\"true\"\n src=\"${impactCard.image}\"\n alt=\"\"\n role=\"presentation\"\n class=\"image\"\n />\n </div>`}`\n : \"\"}\n <div class=\"impact-container\" part=\"details\">\n <p class=\"card-description\">${impactCard.description}</p>\n <div class=\"card-progress-bar\">\n ${isPersonalProgressBarValueLow\n ? html` <beam-info-pill infoText=\"${impactCard.infoPill}\"></beam-info-pill> `\n : html`\n <beam-progress-bar value=\"${impactCard.progressBarValue}\" style=\"flex: 1 0;\"> </beam-progress-bar>\n <span class=\"details-funding-progress-label\"> ${impactCard.progressBarText} </span>\n `}\n </div>\n <div class=\"link-container\">\n <a href=\"${impactCard.link}\" class=\"impact-link\" target=\"_blank\">${impactCard.linkText}</a>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n\n static styles = [\n cssReset,\n cssResponsiveUtils,\n css`\n :host {\n display: block;\n font-family: var(--beam-fontFamily);\n font-style: var(--beam-fontStyle);\n font-size: var(--beam-fontSize);\n background-color: var(--beam-backgroundColor);\n color: var(--beam-textColor);\n max-width: var(--beam-subscriptionImpact-impactCards-maxWidth);\n word-break: normal;\n }\n\n /* subscription impact container and header css */\n\n .header-container-mobile {\n text-align: var(--beam-subscriptionImpact-headerContainer-mobile-textAlign);\n }\n\n .header-container-desktop {\n text-align: var(--beam-subscriptionImpact-headerContainer-desktop-textAlign);\n }\n\n .title {\n ${useCustomText(\"--beam-subscriptionImpact-title\")};\n }\n\n .description-container {\n margin-top: var(--beam-subscriptionImpact-descriptionContainer-marginTop);\n }\n\n .description-prefix {\n ${useCustomText(\"--beam-subscriptionImpact-descriptionPrefix\")};\n }\n\n .description {\n ${useCustomText(\"--beam-subscriptionImpact-description\")};\n }\n\n .root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .card-container {\n margin-top: var(--beam-subscriptionImpact-cardContainer-marginTop);\n gap: var(--beam-subscriptionImpact-cardContainer-gap);\n display: grid;\n justify-content: center;\n }\n\n .card-container-mobile {\n flex-direction: column;\n }\n\n /* subscription impact card css */\n .inline-card {\n border-radius: var(--beam-subscriptionImpact-card-borderRadius);\n background: var(--beam-subscriptionImpact-card-background);\n padding: var(--beam-subscriptionImpact-card-padding);\n flex: 2;\n flex-direction: column;\n margin-top: var(--beam-subscriptionImpact-card-marginTop);\n display: flex;\n gap: var(--beam-subscriptionImpact-card-gap);\n }\n\n .inline-card-desktop {\n margin-right: var(--beam-subscriptionImpact-card-marginRight);\n }\n\n .inline-content {\n display: flex;\n flex-direction: row;\n gap: 15px;\n height: 100%;\n }\n\n .card-title {\n text-align: var(--beam-subscriptionImpact-cardTitle-textAlign);\n letter-spacing: var(--beam-subscriptionImpact-cardTitle-letterSpacing);\n ${useCustomText(\"--beam-subscriptionImpact-cardTitle\")};\n }\n\n .icon-container {\n flex: 0;\n flex-direction: column;\n }\n\n .image-block-container {\n flex-shrink: 0;\n height: var(--beam-subscriptionImpact-imageBlock-height);\n border-radius: var(--beam-subscriptionImpact-imageBlock-borderRadius);\n }\n\n .image-container {\n flex: 4;\n display: flex;\n flex-direction: column;\n }\n\n .icon-background {\n width: var(--beam-subscriptionImpact-iconBackground-width);\n height: var(--beam-subscriptionImpact-iconBackground-height);\n border-radius: var(--beam-subscriptionImpact-iconBackground-borderRadius);\n padding: var(--beam-subscriptionImpact-icon-padding);\n overflow: hidden;\n background: var(--beam-subscriptionImpact-iconBackground-background);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .icon {\n height: var(--beam-subscriptionImpact-icon-height);\n display: block;\n margin: var(--beam-subscriptionImpact-icon-margin);\n border-radius: var(--beam-subscriptionImpact-icon-borderRadius);\n }\n\n .image {\n flex: 4;\n height: auto;\n width: 100%;\n object-fit: cover;\n min-height: var(--beam-subscriptionImpact-image-minHeight);\n min-width: var(--beam-subscriptionImpact-image-minWidth);\n border-radius: var(--beam-subscriptionImpact-image-borderRadius);\n }\n\n .impact-container {\n flex: 1 1 67%;\n height: 100%;\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-content: stretch;\n align-items: stretch;\n position: relative;\n }\n\n .card-description {\n flex-grow: 1;\n padding: var(--beam-subscriptionImpact-cardDescription-padding);\n ${useCustomText(\"--beam-subscriptionImpact-cardDescription\")};\n }\n\n .card-progress-bar {\n flex: 1 1;\n display: flex;\n align-items: center;\n padding: var(--beam-subscriptionImpact-card-progressBar-padding);\n }\n\n .details-funding-progress-label {\n gap: var(--beam-subscriptionImpact-card-progressBarLabel-gap);\n white-space: nowrap;\n text-align: var(--beam-subscriptionImpact-card-progressBarLabel-textAlign);\n flex: 0 1;\n margin-left: var(--beam-subscriptionImpact-card-progressBarLabel-marginLeft);\n ${useCustomText(\"--beam-subscriptionImpact-card-progressBarLabel\")};\n }\n\n .link-container {\n text-align: var(--beam-subscriptionImpact-card-linkContainer-textAlign);\n }\n\n .impact-link {\n display: inline-block;\n text-decoration-line: var(--beam-subscriptionImpact-card-impactLink-textDecoration);\n ${useCustomText(\"--beam-subscriptionImpact-card-impactLink\")};\n }\n\n /* share footer */\n .footer {\n text-align: var(--beam-subscriptionImpact-footer-textAlign);\n margin-top: var(--beam-subscriptionImpact-footer-marginTop);\n }\n `,\n cssCardGrid({\n gap: \"var(--beam-subscriptionImpact-cardContainer-gap)\",\n itemMinWidth: \"250px\",\n columnCount: \"2\",\n }),\n ];\n}\n\ndefineCustomElement(BeamSubscriptionImpact);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-subscription-impact\": BeamSubscriptionImpact;\n }\n}\n"],"names":["BeamInfoPill","LitElement","css","html","__decorateClass","property","infoPillLabelConfigDefaults","strings","causeName","nonprofit","hideArrow","brandName","BeamSubscriptionImpact","DEFAULT_BASE_URL","enforceConfig","getImpact","makeApiKeyHeader","AsyncController","debounce","syncElementHeights","SUPPORTED_LANGUAGES","changedProperties","requireNewDataProps","prop","callback","e","logger","defaults","progressBarConfigDefaults","shareButtonConfigDefaults","defineCustomText","remoteConfig","config","_cssVariableMap","data","loading","error","_loading","_errorMessage","communityImpact","personalImpact","localizeUserString","nonprofitName","personalProgressPercentage","isPersonalProgressNotStarted","communityProgressPercentage","personalProgressDescription","communityProgressDescription","communityImage","personalImage","unselectedIcon","selectedIcon","cardStyle","imagePosition","isImage","iconImage","communityCardImage","personalCardImage","personalTitle","personalFutureTenseTitle","communityLink","isNil","personalLink","shareImage","shareIcon","hideLearnAboutArrow","impactCard","isPersonalProgressBarValueLow","cssReset","cssResponsiveUtils","useCustomText","cssCardGrid","state","queryAll","defineCustomElement"],"mappings":"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"}
|