@beamimpact/web-sdk 1.55.8 → 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/README.md +5 -0
- package/dist/chunks/_share-dialog-dependencies-U9953n3E.esm.js +2 -0
- package/dist/chunks/{_share-dialog-dependencies-BG0p8uUr.esm.js.map → _share-dialog-dependencies-U9953n3E.esm.js.map} +1 -1
- package/dist/chunks/{order-page-Qn1yyNbN.esm.d.ts → cart-ChovPXmM.esm.d.ts} +19 -41
- 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-BG4XJXUa.esm.d.ts +28 -0
- package/dist/chunks/index-BHglsF5j.esm.js +2 -0
- package/dist/chunks/index-BHglsF5j.esm.js.map +1 -0
- package/dist/chunks/{index-C-hPf29c.esm.d.ts → index-BY5lSRmw.esm.d.ts} +4 -1
- package/dist/chunks/{index-BjGPkgs-.esm.d.ts → index-BoIHE1tC.esm.d.ts} +16 -1
- package/dist/chunks/index-CTsxQr7R.esm.js +32 -0
- package/dist/chunks/index-CTsxQr7R.esm.js.map +1 -0
- package/dist/chunks/{index-2OQzw7UI.esm.js → index-CVmIOuEY.esm.js} +28 -18
- package/dist/chunks/index-CVmIOuEY.esm.js.map +1 -0
- package/dist/chunks/{index-CBS5Fqry.esm.d.ts → index-CdinWvYu.esm.d.ts} +4 -2
- package/dist/chunks/index-DBKUxzAl.esm.js +32 -0
- package/dist/chunks/index-DBKUxzAl.esm.js.map +1 -0
- package/dist/chunks/{index-C5gnsl34.esm.js → index-DTw-q6W4.esm.js} +28 -18
- package/dist/chunks/index-DTw-q6W4.esm.js.map +1 -0
- package/dist/chunks/index-DhHhFTBE.esm.js +31 -0
- package/dist/chunks/index-DhHhFTBE.esm.js.map +1 -0
- package/dist/chunks/index-IQOpw0qx.esm.d.ts +65 -0
- package/dist/chunks/{index-rxgS4BLp.esm.d.ts → index-_0XeyyF9.esm.d.ts} +6 -2
- package/dist/chunks/index-cb5vYQx0.esm.js +2 -0
- package/dist/chunks/index-cb5vYQx0.esm.js.map +1 -0
- package/dist/chunks/lit-BEag9MFp.esm.js +25 -0
- package/dist/chunks/lit-BEag9MFp.esm.js.map +1 -0
- package/dist/chunks/lodash-CrMU6wKg.esm.js +2 -0
- package/dist/chunks/lodash-CrMU6wKg.esm.js.map +1 -0
- package/dist/chunks/{promo-pill-label-ByFGhdxh.esm.js → promo-pill-label-BdTmmg_U.esm.js} +3 -3
- package/dist/chunks/{promo-pill-label-ByFGhdxh.esm.js.map → promo-pill-label-BdTmmg_U.esm.js.map} +1 -1
- package/dist/chunks/{responsive-BR8qUfBa.esm.js → responsive-aN8P5PqD.esm.js} +2 -2
- package/dist/chunks/{responsive-BR8qUfBa.esm.js.map → responsive-aN8P5PqD.esm.js.map} +1 -1
- package/dist/chunks/routes-D6Gtw6kZ.esm.d.ts +638 -0
- 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-DmjRJmXh.esm.js → share-button-BaIbuJOl.esm.js} +9 -4
- package/dist/chunks/share-button-BaIbuJOl.esm.js.map +1 -0
- package/dist/chunks/{update-cart-CauFT0AF.esm.d.ts → update-cart-CcgzHTEm.esm.d.ts} +3 -3
- package/dist/chunks/utils-BjhsDvuU.esm.js +2 -0
- package/dist/chunks/utils-BjhsDvuU.esm.js.map +1 -0
- package/dist/chunks/{openapi-spec-Bk7E2QQP.esm.d.ts → utils-D8HO_RIu.esm.d.ts} +615 -11
- package/dist/chunks/vendor-DUOg5fL-.esm.js +1286 -0
- package/dist/chunks/vendor-DUOg5fL-.esm.js.map +1 -0
- package/dist/components/beam-partner-logos.d.ts +3 -1
- package/dist/components/beam-partner-logos.esm.js +5 -5
- package/dist/components/beam-partner-logos.esm.js.map +1 -1
- package/dist/components/beam-partner-logos.js +5 -5
- package/dist/components/beam-partner-logos.js.map +1 -1
- package/dist/components/community-impact.d.ts +3 -4
- package/dist/components/community-impact.esm.js +13 -8
- package/dist/components/community-impact.esm.js.map +1 -1
- package/dist/components/community-impact.js +13 -8
- 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 +3 -3
- package/dist/components/cumulative-impact.esm.js.map +1 -1
- package/dist/components/cumulative-impact.js +3 -3
- package/dist/components/cumulative-impact.js.map +1 -1
- package/dist/components/impact-overview.d.ts +38 -40
- package/dist/components/impact-overview.esm.js +10 -5
- package/dist/components/impact-overview.esm.js.map +1 -1
- package/dist/components/impact-overview.js +10 -5
- package/dist/components/impact-overview.js.map +1 -1
- package/dist/components/index.d.ts +6 -9
- package/dist/components/index.esm.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/post-purchase.d.ts +9 -12
- 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 +29 -28
- package/dist/components/product-details-page.esm.js +19 -19
- package/dist/components/product-details-page.esm.js.map +1 -1
- package/dist/components/product-details-page.js +19 -19
- package/dist/components/product-details-page.js.map +1 -1
- package/dist/components/redeem-transaction.d.ts +3 -7
- 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 -16
- package/dist/components/select-nonprofit.esm.js +8 -7
- package/dist/components/select-nonprofit.esm.js.map +1 -1
- package/dist/components/select-nonprofit.js +8 -7
- package/dist/components/select-nonprofit.js.map +1 -1
- package/dist/components/select-subscription-nonprofit.d.ts +3 -3
- package/dist/components/select-subscription-nonprofit.esm.js +44 -23
- package/dist/components/select-subscription-nonprofit.esm.js.map +1 -1
- package/dist/components/select-subscription-nonprofit.js +44 -23
- package/dist/components/select-subscription-nonprofit.js.map +1 -1
- package/dist/components/shopify.d.ts +9 -16
- 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 +15 -3
- package/dist/components/social-share.esm.js +12 -5
- package/dist/components/social-share.esm.js.map +1 -1
- package/dist/components/social-share.js +12 -5
- 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 +38 -50
- package/dist/components/subscription-impact.esm.js +20 -8
- package/dist/components/subscription-impact.esm.js.map +1 -1
- package/dist/components/subscription-impact.js +20 -8
- package/dist/components/subscription-impact.js.map +1 -1
- package/dist/components/subscription-management.d.ts +91 -93
- package/dist/components/subscription-management.esm.js +7 -6
- package/dist/components/subscription-management.esm.js.map +1 -1
- package/dist/components/subscription-management.js +7 -6
- package/dist/components/subscription-management.js.map +1 -1
- package/dist/index.d.ts +40 -42
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/integrations/beam.d.ts +5 -2
- 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.d.ts +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 -16
- package/dist/integrations/shopify.esm.js +1 -1
- package/dist/integrations/shopify.js +1 -1
- package/dist/integrations/statsig.d.ts +11 -5
- package/dist/integrations/statsig.esm.js +14 -14
- package/dist/integrations/statsig.esm.js.map +1 -1
- package/dist/integrations/statsig.js +14 -14
- 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 -4
- 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 -5
- 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 +7 -11
- package/dist/react/index.esm.js +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/post-purchase.d.ts +3 -8
- 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 -3
- 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 -9
- 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 -8
- 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 -7
- 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 -3
- 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 -4
- 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 -7
- 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 -58
- 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 -123
- 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 +45 -39
- package/dist/chunks/_share-dialog-dependencies-BG0p8uUr.esm.js +0 -2
- package/dist/chunks/_share-dialog-dependencies-dHlBUqo0.esm.js +0 -2
- package/dist/chunks/_share-dialog-dependencies-dHlBUqo0.esm.js.map +0 -1
- package/dist/chunks/beam-errors-CCe004HS.esm.d.ts +0 -40
- package/dist/chunks/beam-errors-Ci0d3926.esm.js +0 -2
- package/dist/chunks/beam-errors-Ci0d3926.esm.js.map +0 -1
- package/dist/chunks/cart-contents-CLT7p7Gd.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-CvoGpsJH.esm.js +0 -20
- package/dist/chunks/css-card-grid-CvoGpsJH.esm.js.map +0 -1
- package/dist/chunks/enforce-config-Ba1JkOHs.esm.js +0 -3
- package/dist/chunks/enforce-config-Ba1JkOHs.esm.js.map +0 -1
- package/dist/chunks/enforce-config-CZ3ToOgr.esm.js +0 -3
- package/dist/chunks/enforce-config-CZ3ToOgr.esm.js.map +0 -1
- package/dist/chunks/events-CSyogxoH.esm.d.ts +0 -186
- package/dist/chunks/events-Dki0ka4F.esm.js +0 -2
- package/dist/chunks/events-Dki0ka4F.esm.js.map +0 -1
- package/dist/chunks/index-2OQzw7UI.esm.js.map +0 -1
- package/dist/chunks/index-B1Y88trP.esm.js +0 -2
- package/dist/chunks/index-B1Y88trP.esm.js.map +0 -1
- package/dist/chunks/index-B1lGZARl.esm.d.ts +0 -46
- package/dist/chunks/index-B7hOLixE.esm.d.ts +0 -15
- package/dist/chunks/index-BNjsFEGn.esm.js +0 -2
- package/dist/chunks/index-BNjsFEGn.esm.js.map +0 -1
- package/dist/chunks/index-BTDB5Gk-.esm.js +0 -2
- package/dist/chunks/index-BTDB5Gk-.esm.js.map +0 -1
- package/dist/chunks/index-BX6GnRsb.esm.js +0 -2
- package/dist/chunks/index-BX6GnRsb.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-C5gnsl34.esm.js.map +0 -1
- package/dist/chunks/index-CGKJagBi.esm.js +0 -2
- package/dist/chunks/index-CGKJagBi.esm.js.map +0 -1
- package/dist/chunks/index-CJ1y1kTs.esm.d.ts +0 -46
- package/dist/chunks/index-CWKcDbs6.esm.js +0 -2
- package/dist/chunks/index-CWKcDbs6.esm.js.map +0 -1
- package/dist/chunks/index-Cg65EbvX.esm.js +0 -2
- package/dist/chunks/index-Cg65EbvX.esm.js.map +0 -1
- package/dist/chunks/index-Ct1m4IjM.esm.js +0 -2
- package/dist/chunks/index-Ct1m4IjM.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-DBb5HSkR.esm.js +0 -2
- package/dist/chunks/index-DBb5HSkR.esm.js.map +0 -1
- package/dist/chunks/index-DEaZqGi7.esm.js +0 -2
- package/dist/chunks/index-DEaZqGi7.esm.js.map +0 -1
- package/dist/chunks/index-DXj15KHe.esm.d.ts +0 -32
- package/dist/chunks/index-DnTE6QlY.esm.js +0 -2
- package/dist/chunks/index-DnTE6QlY.esm.js.map +0 -1
- package/dist/chunks/index-DrxhkT6Y.esm.js +0 -2
- package/dist/chunks/index-DrxhkT6Y.esm.js.map +0 -1
- package/dist/chunks/index-IKiJwo5v.esm.js +0 -2
- package/dist/chunks/index-IKiJwo5v.esm.js.map +0 -1
- package/dist/chunks/index-RhV6PBPH.esm.js +0 -2
- package/dist/chunks/index-RhV6PBPH.esm.js.map +0 -1
- package/dist/chunks/index-eCVyk0rc.esm.js +0 -2
- package/dist/chunks/index-eCVyk0rc.esm.js.map +0 -1
- package/dist/chunks/index-iqYDqEil.esm.d.ts +0 -19
- package/dist/chunks/index-tbwbkOdj.esm.js +0 -2
- package/dist/chunks/index-tbwbkOdj.esm.js.map +0 -1
- 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/lit-WqMxC_PA.esm.js +0 -34
- package/dist/chunks/lit-WqMxC_PA.esm.js.map +0 -1
- package/dist/chunks/loading-template-DG4lkIIc.esm.js +0 -2
- package/dist/chunks/loading-template-DG4lkIIc.esm.js.map +0 -1
- package/dist/chunks/localize-Btu9xYcE.esm.js +0 -31
- package/dist/chunks/localize-Btu9xYcE.esm.js.map +0 -1
- package/dist/chunks/localize-C25pEGnx.esm.js +0 -31
- package/dist/chunks/localize-C25pEGnx.esm.js.map +0 -1
- package/dist/chunks/lodash-D3TLHRR_.esm.js +0 -2
- package/dist/chunks/lodash-D3TLHRR_.esm.js.map +0 -1
- package/dist/chunks/order-page-BRG7MXZ2.esm.js +0 -2
- package/dist/chunks/order-page-BRG7MXZ2.esm.js.map +0 -1
- package/dist/chunks/order-page-BbHDQfmy.esm.js +0 -2
- package/dist/chunks/order-page-BbHDQfmy.esm.js.map +0 -1
- package/dist/chunks/progress-bar-CveZ8E6Q.esm.d.ts +0 -15
- package/dist/chunks/progress-bar-DF7UuuHb.esm.js +0 -54
- package/dist/chunks/progress-bar-DF7UuuHb.esm.js.map +0 -1
- package/dist/chunks/promo-pill-label-BXRqZHET.esm.d.ts +0 -19
- package/dist/chunks/promo-pill-label-WGLW3bql.esm.js +0 -16
- package/dist/chunks/promo-pill-label-WGLW3bql.esm.js.map +0 -1
- package/dist/chunks/promo-types-7r9-UuiP.esm.d.ts +0 -14
- 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-BvX92EDq.esm.js +0 -2
- package/dist/chunks/routes-BvX92EDq.esm.js.map +0 -1
- package/dist/chunks/routes-DahRzf8t.esm.d.ts +0 -638
- package/dist/chunks/routes-DguZveS3.esm.js +0 -2
- package/dist/chunks/routes-DguZveS3.esm.js.map +0 -1
- package/dist/chunks/share-button-BRjKJc5L.esm.js +0 -167
- package/dist/chunks/share-button-BRjKJc5L.esm.js.map +0 -1
- package/dist/chunks/share-button-CDVVaxEc.esm.d.ts +0 -27
- package/dist/chunks/share-button-DPNNnXeM.esm.js +0 -2
- package/dist/chunks/share-button-DPNNnXeM.esm.js.map +0 -1
- package/dist/chunks/share-button-DmjRJmXh.esm.js.map +0 -1
- package/dist/chunks/share-button-M8cMa6ol.esm.js +0 -2
- package/dist/chunks/share-button-M8cMa6ol.esm.js.map +0 -1
- package/dist/chunks/types-CPxMwnoR.esm.d.ts +0 -28
- package/dist/chunks/types-DfRc36jU.esm.d.ts +0 -15
- package/dist/chunks/update-cart-CJywJNax.esm.js +0 -2
- package/dist/chunks/update-cart-CJywJNax.esm.js.map +0 -1
- package/dist/chunks/update-cart-gwNcGXkd.esm.js +0 -2
- package/dist/chunks/update-cart-gwNcGXkd.esm.js.map +0 -1
- package/dist/chunks/vendor-KKSARHWL.esm.js +0 -1284
- package/dist/chunks/vendor-KKSARHWL.esm.js.map +0 -1
- package/dist/integrations/index.d.ts +0 -35
- 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,137 @@
|
|
|
1
|
+
import{h as A,i as E,n as b,r as T,a as L,b as N,k as H,j as U}from"../chunks/lit-BEag9MFp.esm.js";import{e as P,u as h,D as B,j as z,W as D,k as _,l as W,m as K,A as C,S as O,f as g,h as R,_ as j,d as k}from"../chunks/index-DhHhFTBE.esm.js";import{c as F,d as q,e as w}from"../chunks/css-card-grid-BUidQqf0.esm.js";import{t as v,B as G}from"../chunks/utils-BjhsDvuU.esm.js";import{a as V}from"../chunks/share-button-7sI6zg-x.esm.js";import{c as J}from"../chunks/responsive-aN8P5PqD.esm.js";import{h as o,g as $}from"../chunks/handlebars-B_i-to-h.esm.js";import"../chunks/lodash-CrMU6wKg.esm.js";const M={long:"dddd, MMMM D, YYYY",short:"MMM D, YYYY",numeric:"MM/DD/YYYY",iso:"YYYY-MM-DD",time:"h:mm A",time24:"HH:mm",datetime:"MMMM D, YYYY h:mm A",month:"MMMM YYYY",monthShort:"MMM YYYY",dayMonth:"MMMM D"},x=(t,e)=>{const r=M[e??"long"]??e??M.long;return $(t).format(r)};o.registerHelper("currentDate",t=>x(new Date,typeof t=="string"?t:void 0)),o.registerHelper("nextMonth",t=>{const e=$().add(1,"month").toDate();return x(e,typeof t=="string"?t:void 0)}),o.registerHelper("dateOffset",(t,e,r)=>{const s=typeof e=="string"?e:void 0,i=(typeof e=="string"?r:e)?.hash?.from,n=i?new Date(i):new Date,p=$(n).add(t,"day").toDate();return s==="relative"?t===-1?"yesterday":t===0?"today":t===1?"tomorrow":t<0?`${Math.abs(t)} days ago`:`${t} days from now`:x(p,s)}),o.registerHelper("formatDate",(t,e)=>{const r=t instanceof Date?t:new Date(t);return isNaN(r.getTime())?"":x(r,typeof e=="string"?e:void 0)}),o.registerHelper("color",(t,e)=>{const r=o.escapeExpression(e),s=o.escapeExpression(t);return new o.SafeString(`<span style="color:${s}">${r}</span>`)}),o.registerHelper("br",()=>new o.SafeString("<br>")),o.registerHelper("bold",t=>{const e=o.escapeExpression(t);return new o.SafeString(`<strong>${e}</strong>`)}),o.registerHelper("italic",t=>{const e=o.escapeExpression(t);return new o.SafeString(`<em>${e}</em>`)}),o.registerHelper("underline",t=>{const e=o.escapeExpression(t);return new o.SafeString(`<span style="text-decoration:underline">${e}</span>`)}),o.registerHelper("strikethrough",t=>{const e=o.escapeExpression(t);return new o.SafeString(`<s>${e}</s>`)}),o.registerHelper("uppercase",t=>{const e=o.escapeExpression(t);return new o.SafeString(`<span style="text-transform:uppercase">${e}</span>`)}),o.registerHelper("lowercase",t=>{const e=o.escapeExpression(t);return new o.SafeString(`<span style="text-transform:lowercase">${e}</span>`)}),o.registerHelper("capitalize",t=>{const e=String(t??""),r=e.charAt(0).toUpperCase()+e.slice(1);return new o.SafeString(o.escapeExpression(r))}),o.registerHelper("style",(t,e)=>{const{bold:r,italic:s,underline:i,strikethrough:n,uppercase:p,lowercase:a,color:m,fontSize:f,fontFamily:y}=e.hash;let d=o.escapeExpression(t);r&&(d=`<strong>${d}</strong>`),s&&(d=`<em>${d}</em>`),n&&(d=`<s>${d}</s>`);const u=[];return i&&u.push("text-decoration:underline"),p&&u.push("text-transform:uppercase"),a&&u.push("text-transform:lowercase"),m&&u.push(`color:${o.escapeExpression(m)}`),f&&u.push(`font-size:${o.escapeExpression(f)}`),y&&u.push(`font-family:${o.escapeExpression(y)}`),u.length&&(d=`<span style="${u.join(";")}">${d}</span>`),new o.SafeString(d)});const Q="en",Y=(t,e={},r="")=>{const s=e.lang||Q,i=t||r,n=P(s,i)??i;return o.compile(n)(e)},S=(t,e={},r="")=>A(Y(t,e,r)),I={en:{beamAttribution:()=>"Powered by Beam",ctaTitle:()=>"Choose Your Impact",ctaMessage:({donationPercentage:t="1%"}={})=>`Choose a nonprofit and ${t} will be donated there for you,at no extra cost, with every order of your subscription.`},fr:{beamAttribution:()=>"Optimis\xE9 par Beam",ctaTitle:()=>"Choose Your Impact",ctaMessage:({donationPercentage:t="1%"}={})=>`Choose a nonprofit and ${t} will be donated there for you,at no extra cost, with every order of your subscription.`},de:{beamAttribution:()=>"Unterst\xFCtzt von Beam",ctaTitle:()=>"Choose Your Impact",ctaMessage:({donationPercentage:t="1%"}={})=>`Choose a nonprofit and ${t} will be donated there for you,at no extra cost, with every order of your subscription.`},es:{beamAttribution:()=>"Desarrollado por Beam",ctaTitle:()=>"Choose Your Impact",ctaMessage:({donationPercentage:t="1%"}={})=>`Choose a nonprofit and ${t} will be donated there for you,at no extra cost, with every order of your subscription.`},it:{beamAttribution:()=>"Offerto da Beam",ctaTitle:()=>"Choose Your Impact",ctaMessage:({donationPercentage:t="1%"}={})=>`Choose a nonprofit and ${t} will be donated there for you,at no extra cost, with every order of your subscription.`},pl:{beamAttribution:()=>"Wspierane przez Beam",ctaTitle:()=>"Choose Your Impact",ctaMessage:({donationPercentage:t="1%"}={})=>`Choose a nonprofit and ${t} will be donated there for you,at no extra cost, with every order of your subscription.`},ja:{beamAttribution:()=>"Powered by Beam",ctaTitle:()=>"Choose Your Impact",ctaMessage:({donationPercentage:t="1%"}={})=>`Choose a nonprofit and ${t} will be donated there for you,at no extra cost, with every order of your subscription.`}};var X=Object.defineProperty,c=(t,e,r,s)=>{for(var i=void 0,n=t.length-1,p;n>=0;n--)(p=t[n])&&(i=p(e,r,i)||i);return i&&X(e,r,i),i};class l extends L{constructor(){super(...arguments),this.baseUrl=B,this.lang="en",this.debug=!1,this.draftConfig=!1,this.templateData={},this.chain={},this.subscriptionLookup=Promise.resolve(),this.getChainNonprofits=async()=>{w(["apiKey","subscriptionId"],this);const e=await z({baseUrl:this.baseUrl,headers:v(this.apiKey),requestBody:{storeId:this.storeId,widgetName:D.subscriber_select_nonprofit,postalCode:this.postalCode,countryCode:this.countryCode,version:"1.0.0",lang:this.configLang,options:{config:{draftConfig:this.draftConfig}}}});if(e.store?.id&&e.store.id!==this.storeId&&(this.storeId=e.store.id),await this.subscriptionLookup,this.selectedNonprofitId!=null&&!e.nonprofits.map(r=>r.nonprofit.id).includes(this.selectedNonprofitId)&&(this.selectedNonprofitId=void 0),this.selectedNonprofitId==null&&this.preselectNonprofitAtIndex!=null){const r=e.nonprofits[this.preselectNonprofitAtIndex-1];r&&(this.selectedNonprofitId=r.nonprofit.id,await this.selectionDataController.exec({selectedNonprofitId:r.nonprofit.id}))}return this.chain={...e?.chain},e},this.fetchSubscription=async()=>{w(["apiKey","subscriptionId"],this);const e=await _({baseUrl:this.baseUrl,headers:v(this.apiKey),requestBody:{remoteSubscriptionId:this.subscriptionId,email:this.email,partnerUserId:this.partnerUserId}});return e.nonprofit?.id&&this.selectedNonprofitId===void 0&&(this.selectedNonprofitId=e.nonprofit.id),e},this.updateNonprofitForSubscription=async({selectedNonprofitId:e})=>{w(["apiKey","subscriptionId"],this);const r=await W({baseUrl:this.baseUrl,headers:v(this.apiKey),requestBody:{remoteSubscriptionId:this.subscriptionId,nonprofitId:e,selectionMethod:K.subscriber_select_nonprofit_widget}});await this.updateComplete;const s=this.getNonprofitById(e);return this.dispatchEvent(new G({selectedNonprofitId:e,nonprofitName:s?.nonprofit?.name??null,source:D.subscriber_select_nonprofit,timestamp:new Date})),r},this.nonprofitListDataController=new C(this,this.getChainNonprofits),this.subscriptionDataController=new C(this,this.fetchSubscription),this.selectionDataController=new C(this,this.updateNonprofitForSubscription),this.makeHandleSelect=(e,r,s)=>async i=>{const n=this.selectedNonprofitId;if(i instanceof KeyboardEvent){let p=null;switch(i.key){case"ArrowUp":case"ArrowLeft":p=r===0?s[s.length-1]:s[r-1],i.preventDefault();break;case"ArrowRight":case"ArrowDown":p=r===s.length-1?s[0]:s[r+1],i.preventDefault();break;case"Enter":case" ":i.preventDefault();break;default:return}if(p){n!=null&&(this.selectedNonprofitId=p.nonprofit.id);const a=this.renderRoot.querySelector(`[data-value="${p.nonprofit.id}"]`);a!==null&&(a.tabIndex=0,a.focus());return}}!(i.currentTarget instanceof HTMLElement)||n===e||(this.selectedNonprofitId=e,await this.selectionDataController.exec({selectedNonprofitId:e}))}}get configLang(){return O[this.lang]||"en"}getNonprofitById(e){return e?this.nonprofitListDataController?.data?.nonprofits.find(r=>r.nonprofit.id===e):null}async connectedCallback(){super.connectedCallback(),this.nonprofitListDataController.loading=!0}async firstUpdated(){!this.apiKey||!this.email&&!this.partnerUserId||(this.subscriptionLookup=this.subscriptionDataController.exec(),await this.subscriptionLookup)}async updated(e){const r=["baseUrl","storeId","apiKey","countryCode","postalCode","lang"];for(const s of r)if(e.has(s)){await this.nonprofitListDataController.exec();break}}disconnectedCallback(){super.disconnectedCallback()}get cssVariables(){const e={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit",...V,"--beam-SubscriberSelectNonprofit-title-textAlign":"inherit","--beam-SubscriberSelectNonprofit-description-textAlign":"inherit","--beam-SubscriberSelectNonprofit-maxWidth":"800px","--beam-SubscriberSelectNonprofit-options-marginTop":"0px","--beam-SubscriberSelectNonprofit-options-iconHeight":"20px","--beam-SubscriberSelectNonprofit-options-padding":"6px 4px","--beam-SubscriberSelectNonprofit-options-borderRadius":"4px","--beam-SubscriberSelectNonprofit-options-borderColor":"currentColor","--beam-SubscriberSelectNonprofit-options-borderWidth":"1px","--beam-SubscriberSelectNonprofit-options--selected-borderColor":"currentColor","--beam-SubscriberSelectNonprofit-options-backgroundColor":"transparent","--beam-SubscriberSelectNonprofit-options-gap":"8px","--beam-SubscriberSelectNonprofit-options-margin":"14px 0 0 0","--beam-SubscriberSelectNonprofit-width":"100%","--beam-SubscriberSelectNonprofit-options--selected-backgroundColor":"currentColor","--beam-SubscriberSelectNonprofit-details-marginTop":"6px","--beam-SubscriberSelectNonprofit-details-borderRadius":"4px","--beam-SubscriberSelectNonprofit-details-borderWidth":"1px","--beam-SubscriberSelectNonprofit-details-borderColor":"currentColor","--beam-SubscriberSelectNonprofit-details-backgroundColor":"inherit","--beam-SubscriberSelectNonprofit-details-padding":"10px",...g("--beam-SubscriberSelectNonprofit-title",{fontSize:"1em",fontWeight:"bold"}),...g("--beam-SubscriberSelectNonprofit-description",{marginTop:"1em",fontSize:".85em"}),"--beam-SubscriberSelectNonprofit-title-block-margin-right":"8px",...g("--beam-SubscriberSelectNonprofit-details-cause",{fontSize:"0.85em",fontWeight:"bold",textTransform:"uppercase"}),...g("--beam-SubscriberSelectNonprofit-details-beamAttribution",{fontSize:"0.85em"}),...g("--beam-SubscriberSelectNonprofit-details-impactDescription",{fontSize:".85em",marginTop:"10px",lineHeight:"normal"}),"--beam-SubscriberSelectNonprofit-details-nonprofitName-fontWeight":"bold","--beam-SubscriberSelectNonprofit-details-nonprofitName-fontStyle":"inherit","--beam-SubscriberSelectNonprofit-details-fundingProgress-marginTop":"10px",...g("--beam-SubscriberSelectNonprofit-details-fundingProgressLabel",{fontSize:"0.85em"})},r=this.nonprofitListDataController?.data?.config?.web?.theme||{},s={...e,...r};return Object.assign(Object.create({toCSS(){return R(this)}}),s)}render(){if(!this.apiKey||!this.email&&!this.partnerUserId)return N``;const{selectedNonprofitId:e}=this,{data:r,loading:s}=this.nonprofitListDataController;if(s&&!r)return j();if(this.nonprofitListDataController.error)return this.debug?k({error:this.nonprofitListDataController.error}):"";if(this.selectionDataController.error&&this.debug)return k({error:this.selectionDataController.error});const i=r?.nonprofits||[],n=i.find(a=>a.nonprofit.id===e)||null,p={custom:{...this.templateData},chain:{...this.chain},selectedNonprofit:{...n?.nonprofit},lang:this.configLang};return N`
|
|
2
|
+
<style>
|
|
3
|
+
:host {
|
|
4
|
+
${this.cssVariables.toCSS()}
|
|
5
|
+
}
|
|
6
|
+
</style>
|
|
7
|
+
<div part="heading">
|
|
8
|
+
<h3 class="title-block" part="title" id="beam-SubscriberSelectNonprofit-title">
|
|
9
|
+
${S(r?.config?.web?.title||"",p,I[this.configLang].ctaTitle())}
|
|
10
|
+
</h3>
|
|
11
|
+
<p class="description" part="description">
|
|
12
|
+
${S(r?.config?.web?.description||"",p,I[this.configLang].ctaMessage())}
|
|
13
|
+
</p>
|
|
14
|
+
</div>
|
|
15
|
+
<div
|
|
16
|
+
class="options"
|
|
17
|
+
part="options"
|
|
18
|
+
role="radiogroup"
|
|
19
|
+
aria-labelledby="beam-SubscriberSelectNonprofit-title"
|
|
20
|
+
style="display: flex; gap: var(--beam-SubscriberSelectNonprofit-options-gap); margin: var(--beam-SubscriberSelectNonprofit-options-margin, 12px 0 0 0);"
|
|
21
|
+
>
|
|
22
|
+
${H(i,a=>a.nonprofit.id,({nonprofit:a},m)=>{const f=e===a.id,y=f||n==null&&m===0,d={...p,nonprofit:a};return N`
|
|
23
|
+
<div
|
|
24
|
+
class="option"
|
|
25
|
+
part="option"
|
|
26
|
+
role="radio"
|
|
27
|
+
tabindex="${y?0:-1}"
|
|
28
|
+
data-value=${a.id}
|
|
29
|
+
aria-checked=${f}
|
|
30
|
+
@click=${this.makeHandleSelect(a.id,m,i)}
|
|
31
|
+
@keydown=${this.makeHandleSelect(a.id,m,i)}
|
|
32
|
+
aria-label="${Y(a.cause||"",d)}"
|
|
33
|
+
style="${U({cursor:"pointer",flex:"1",textAlign:"center",lineHeight:"1",marginTop:"var(--beam-SubscriberSelectNonprofit-options-marginTop, 0px)",padding:"var(--beam-SubscriberSelectNonprofit-options-padding, 6px 4px)",borderStyle:"solid",position:"relative",borderRadius:"var(--beam-SubscriberSelectNonprofit-options-borderRadius, 4px)",borderColor:f?a.causeColor||"var(--beam-SubscriberSelectNonprofit-options--selected-borderColor, currentColor)":"var(--beam-SubscriberSelectNonprofit-options-borderColor, currentColor)",borderWidth:"var(--beam-SubscriberSelectNonprofit-options-borderWidth, 1px)",backgroundColor:f?a.causeColor||"var(--beam-SubscriberSelectNonprofit-options--selected-backgroundColor, currentColor)":"var(--beam-SubscriberSelectNonprofit-options-backgroundColor, transparent)"})}"
|
|
34
|
+
>
|
|
35
|
+
<img
|
|
36
|
+
src="${f?a.causeIconSelectedUrl:a.causeIconUrl}"
|
|
37
|
+
alt=""
|
|
38
|
+
role="presentation"
|
|
39
|
+
data-speedsize-ignore="true"
|
|
40
|
+
style="
|
|
41
|
+
height: var(--beam-SubscriberSelectNonprofit-options-iconHeight, 24px);
|
|
42
|
+
user-select: none;
|
|
43
|
+
vertical-align: -webkit-baseline-middle;
|
|
44
|
+
"
|
|
45
|
+
/>
|
|
46
|
+
</div>
|
|
47
|
+
`})}
|
|
48
|
+
</div>
|
|
49
|
+
${n!=null?N`
|
|
50
|
+
<div
|
|
51
|
+
class="details"
|
|
52
|
+
part="details"
|
|
53
|
+
style="
|
|
54
|
+
border: var(--beam-SubscriberSelectNonprofit-details-borderWidth) solid var(--beam-SubscriberSelectNonprofit-details-borderColor);
|
|
55
|
+
border-radius: var(--beam-SubscriberSelectNonprofit-details-borderRadius);
|
|
56
|
+
background-color: var(--beam-SubscriberSelectNonprofit-details-backgroundColor);
|
|
57
|
+
padding: var(--beam-SubscriberSelectNonprofit-details-padding);
|
|
58
|
+
margin-top: var(--beam-SubscriberSelectNonprofit-details-marginTop);
|
|
59
|
+
"
|
|
60
|
+
aria-label="Funding information for selected nonprofit ${n.nonprofit?.name}. Powered by Beam"
|
|
61
|
+
>
|
|
62
|
+
<div style="display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap-reverse">
|
|
63
|
+
<span
|
|
64
|
+
class="details-cause"
|
|
65
|
+
style="flex: 0 1; white-space: nowrap; ${h("--beam-SubscriberSelectNonprofit-details-cause")}"
|
|
66
|
+
>
|
|
67
|
+
${S(n.nonprofit.cause||"",p)}
|
|
68
|
+
</span>
|
|
69
|
+
<div aria-hidden="true">
|
|
70
|
+
<span
|
|
71
|
+
class="details-beamAttribution"
|
|
72
|
+
aria-hidden="true"
|
|
73
|
+
style="flex: 0 1; white-space: nowrap; ${h("--beam-SubscriberSelectNonprofit-details-beamAttribution")}"
|
|
74
|
+
>
|
|
75
|
+
${I[this.configLang].beamAttribution()}
|
|
76
|
+
</span>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
<p class="details-impactDescription">
|
|
80
|
+
${S(n.impact.description||"",p)}
|
|
81
|
+
</p>
|
|
82
|
+
<div
|
|
83
|
+
style="display: flex; margin-top: var(--beam-SubscriberSelectNonprofit-details-fundingProgress-marginTop); align-items: center;"
|
|
84
|
+
>
|
|
85
|
+
<beam-progress-bar
|
|
86
|
+
value="${n.impact.goalProgressPercentage}"
|
|
87
|
+
style="flex: 1 0;"
|
|
88
|
+
></beam-progress-bar>
|
|
89
|
+
<span
|
|
90
|
+
class="details-fundingProgressLabel"
|
|
91
|
+
style="${h("--beam-SubscriberSelectNonprofit-details-fundingProgressLabel")} white-space: nowrap; text-align: right; flex: 0 1; margin-left: 15px;"
|
|
92
|
+
>
|
|
93
|
+
${S(n.impact.goalProgressText,p)}
|
|
94
|
+
</span>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
`:""}
|
|
98
|
+
`}}l.tagName="beam-subscriber-select-nonprofit",l.styles=[F,J,E`
|
|
99
|
+
:host {
|
|
100
|
+
display: block;
|
|
101
|
+
width: var(--beam-SubscriberSelectNonprofit-width, 100%);
|
|
102
|
+
max-width: var(--beam-SubscriberSelectNonprofit-maxWidth, 800px);
|
|
103
|
+
font-family: var(--beam-fontFamily);
|
|
104
|
+
font-style: var(--beam-fontStyle);
|
|
105
|
+
font-size: var(--beam-fontSize);
|
|
106
|
+
background-color: var(--beam-backgroundColor);
|
|
107
|
+
color: var(--beam-textColor);
|
|
108
|
+
word-break: normal;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.details-impactDescription {
|
|
112
|
+
${h("--beam-SubscriberSelectNonprofit-details-impactDescription")}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.details-impactDescription .nonprofitName {
|
|
116
|
+
font-weight: var(--beam-SubscriberSelectNonprofit-details-nonprofitName-fontWeight);
|
|
117
|
+
font-style: var(--beam-SubscriberSelectNonprofit-details-nonprofitName-fontStyle, inherit);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.title-block {
|
|
121
|
+
margin-right: var(--beam-SubscriberSelectNonprofit-title-block-margin-right);
|
|
122
|
+
${h("--beam-SubscriberSelectNonprofit-title")}
|
|
123
|
+
text-align: var(--beam-SubscriberSelectNonprofit-title-textAlign);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.description {
|
|
127
|
+
${h("--beam-SubscriberSelectNonprofit-description")}
|
|
128
|
+
text-align: var(--beam-SubscriberSelectNonprofit-description-textAlign);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.option {
|
|
132
|
+
display: flex;
|
|
133
|
+
justify-content: center;
|
|
134
|
+
align-items: center;
|
|
135
|
+
}
|
|
136
|
+
`],c([b({type:String})],l.prototype,"baseUrl"),c([b({type:String})],l.prototype,"apiKey"),c([b({type:String})],l.prototype,"subscriptionId"),c([b({type:Number,reflect:!0})],l.prototype,"storeId"),c([b({type:String})],l.prototype,"email"),c([b({type:String})],l.prototype,"partnerUserId"),c([b({type:String})],l.prototype,"postalCode"),c([b({type:String})],l.prototype,"countryCode"),c([b({type:Number,reflect:!0})],l.prototype,"selectedNonprofitId"),c([b({type:Number})],l.prototype,"preselectNonprofitAtIndex"),c([b({type:String})],l.prototype,"lang"),c([b({type:Boolean})],l.prototype,"debug"),c([b({type:Boolean})],l.prototype,"draftConfig"),c([b({type:Object})],l.prototype,"templateData"),c([T()],l.prototype,"chain"),q(l);export{l as BeamSubscriberSelectNonprofit};
|
|
137
|
+
//# sourceMappingURL=subscriber-select-nonprofit.js.map
|
|
@@ -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,21 +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
|
|
7
|
-
import '
|
|
8
|
-
import '../chunks/share-button-CDVVaxEc.esm.js';
|
|
9
|
-
|
|
10
|
-
declare class BeamInfoPill extends LitElement {
|
|
11
|
-
infoText: string;
|
|
12
|
-
static get styles(): lit.CSSResult;
|
|
13
|
-
render(): lit_html.TemplateResult<1>;
|
|
14
|
-
}
|
|
15
|
-
declare global {
|
|
16
|
-
interface HTMLElementTagNameMap {
|
|
17
|
-
"beam-info-pill": BeamInfoPill;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
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';
|
|
20
8
|
|
|
21
9
|
type RequiredConfig = {
|
|
22
10
|
apiKey: string;
|
|
@@ -39,7 +27,7 @@ declare class BeamSubscriptionImpact extends LitElement {
|
|
|
39
27
|
chain: {
|
|
40
28
|
name: string;
|
|
41
29
|
logoUrl: string | null;
|
|
42
|
-
logoLockupUrl?: string | null
|
|
30
|
+
logoLockupUrl?: string | null;
|
|
43
31
|
communityImpactUrl: string | null;
|
|
44
32
|
donationTypeName: string | null;
|
|
45
33
|
matchDonationTypeName: string | null;
|
|
@@ -53,42 +41,42 @@ declare class BeamSubscriptionImpact extends LitElement {
|
|
|
53
41
|
web: {
|
|
54
42
|
title: string;
|
|
55
43
|
description: string;
|
|
56
|
-
promoDescriptionPrefix?: string
|
|
57
|
-
promoDescription?: string
|
|
58
|
-
confirmButton?: string
|
|
59
|
-
confirmedButton?: string
|
|
60
|
-
collapsedButton?: string
|
|
44
|
+
promoDescriptionPrefix?: string;
|
|
45
|
+
promoDescription?: string;
|
|
46
|
+
confirmButton?: string;
|
|
47
|
+
confirmedButton?: string;
|
|
48
|
+
collapsedButton?: string;
|
|
61
49
|
theme?: {
|
|
62
50
|
[key: string]: unknown;
|
|
63
|
-
} | null
|
|
64
|
-
nonprofitSelectedHeader?: string
|
|
65
|
-
nonprofitUnselectedHeader?: string
|
|
51
|
+
} | null;
|
|
52
|
+
nonprofitSelectedHeader?: string;
|
|
53
|
+
nonprofitUnselectedHeader?: string;
|
|
66
54
|
dynamicStrings?: {
|
|
67
55
|
[key: string]: string;
|
|
68
|
-
} | null
|
|
56
|
+
} | null;
|
|
69
57
|
additionalStrings?: {
|
|
70
58
|
[key: string]: string;
|
|
71
|
-
} | null
|
|
72
|
-
disableAnimation?: boolean
|
|
59
|
+
} | null;
|
|
60
|
+
disableAnimation?: boolean;
|
|
73
61
|
promo?: {
|
|
74
62
|
"promo-text-long": string;
|
|
75
63
|
"promo-text-short": string;
|
|
76
64
|
"promo-cause-alt-text": string;
|
|
77
|
-
}
|
|
65
|
+
};
|
|
78
66
|
};
|
|
79
67
|
mobileWeb?: {
|
|
80
68
|
title: string;
|
|
81
69
|
description: string;
|
|
82
|
-
nonprofitSelectedHeader?: string
|
|
83
|
-
nonprofitUnselectedHeader?: string
|
|
84
|
-
}
|
|
70
|
+
nonprofitSelectedHeader?: string;
|
|
71
|
+
nonprofitUnselectedHeader?: string;
|
|
72
|
+
};
|
|
85
73
|
mobile: {
|
|
86
74
|
title: string;
|
|
87
75
|
description: string;
|
|
88
|
-
nonprofitSelectedHeader?: string
|
|
89
|
-
nonprofitUnselectedHeader?: string
|
|
76
|
+
nonprofitSelectedHeader?: string;
|
|
77
|
+
nonprofitUnselectedHeader?: string;
|
|
90
78
|
};
|
|
91
|
-
enableNonprofitDeselection?: boolean
|
|
79
|
+
enableNonprofitDeselection?: boolean;
|
|
92
80
|
};
|
|
93
81
|
personal: {
|
|
94
82
|
imageUrl: string | null;
|
|
@@ -100,14 +88,14 @@ declare class BeamSubscriptionImpact extends LitElement {
|
|
|
100
88
|
causeIconSelectedUrl: string | null;
|
|
101
89
|
causeColor: string | null;
|
|
102
90
|
extensibility?: {
|
|
103
|
-
causeIconUrl?: string | null
|
|
104
|
-
causeIconSelectedUrl?: string | null
|
|
105
|
-
causeIconAndBackgroundUrl?: string | null
|
|
106
|
-
}
|
|
91
|
+
causeIconUrl?: string | null;
|
|
92
|
+
causeIconSelectedUrl?: string | null;
|
|
93
|
+
causeIconAndBackgroundUrl?: string | null;
|
|
94
|
+
};
|
|
107
95
|
website: string | null;
|
|
108
96
|
websiteLinkText: string;
|
|
109
|
-
badge?: string
|
|
110
|
-
includeInPersonalImpact?: boolean
|
|
97
|
+
badge?: string;
|
|
98
|
+
includeInPersonalImpact?: boolean;
|
|
111
99
|
};
|
|
112
100
|
impact: {
|
|
113
101
|
description: string | null;
|
|
@@ -118,7 +106,7 @@ declare class BeamSubscriptionImpact extends LitElement {
|
|
|
118
106
|
share: {
|
|
119
107
|
imageUrl: string | null;
|
|
120
108
|
};
|
|
121
|
-
filters?: string[]
|
|
109
|
+
filters?: string[];
|
|
122
110
|
}[];
|
|
123
111
|
community: {
|
|
124
112
|
imageUrl: string | null;
|
|
@@ -130,14 +118,14 @@ declare class BeamSubscriptionImpact extends LitElement {
|
|
|
130
118
|
causeIconSelectedUrl: string | null;
|
|
131
119
|
causeColor: string | null;
|
|
132
120
|
extensibility?: {
|
|
133
|
-
causeIconUrl?: string | null
|
|
134
|
-
causeIconSelectedUrl?: string | null
|
|
135
|
-
causeIconAndBackgroundUrl?: string | null
|
|
136
|
-
}
|
|
121
|
+
causeIconUrl?: string | null;
|
|
122
|
+
causeIconSelectedUrl?: string | null;
|
|
123
|
+
causeIconAndBackgroundUrl?: string | null;
|
|
124
|
+
};
|
|
137
125
|
website: string | null;
|
|
138
126
|
websiteLinkText: string;
|
|
139
|
-
badge?: string
|
|
140
|
-
includeInPersonalImpact?: boolean
|
|
127
|
+
badge?: string;
|
|
128
|
+
includeInPersonalImpact?: boolean;
|
|
141
129
|
};
|
|
142
130
|
impact: {
|
|
143
131
|
description: string | null;
|
|
@@ -148,10 +136,10 @@ declare class BeamSubscriptionImpact extends LitElement {
|
|
|
148
136
|
share: {
|
|
149
137
|
imageUrl: string | null;
|
|
150
138
|
};
|
|
151
|
-
filters?: string[]
|
|
139
|
+
filters?: string[];
|
|
152
140
|
}[];
|
|
153
141
|
promo: {
|
|
154
|
-
type?: string
|
|
142
|
+
type?: string;
|
|
155
143
|
isActive: boolean;
|
|
156
144
|
multiplier: number | null;
|
|
157
145
|
} | null;
|
|
@@ -159,7 +147,7 @@ declare class BeamSubscriptionImpact extends LitElement {
|
|
|
159
147
|
personalImpactAssetUrl: string | null;
|
|
160
148
|
settings?: {
|
|
161
149
|
excludeDonationsForRecurringTransactions: boolean;
|
|
162
|
-
}
|
|
150
|
+
};
|
|
163
151
|
}>;
|
|
164
152
|
private impactDataController;
|
|
165
153
|
impactTitleRefs: HTMLElement[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
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{h as w,f as $,y as p,g as m,t as O,p as C}from"../chunks/lit-WqMxC_PA.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{h as w,f as $,y as p,g as m,t as O,p as C}from"../chunks/lit-WqMxC_PA.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>
|
|
@@ -68,10 +68,22 @@ import{h as w,f as $,y as p,g as m,t as O,p as C}from"../chunks/lit-WqMxC_PA.esm
|
|
|
68
68
|
<div class="inline-content">
|
|
69
69
|
${e.image&&e.imagePosition==="'inline'"?p`${e.imageType==="'icon'"||e.imageType==="'selected_icon'"?p` <div class="icon-container">
|
|
70
70
|
<div class="icon-background">
|
|
71
|
-
<img
|
|
71
|
+
<img
|
|
72
|
+
data-speedsize-ignore="true"
|
|
73
|
+
src="${e.image}"
|
|
74
|
+
alt=""
|
|
75
|
+
role="presentation"
|
|
76
|
+
class="icon"
|
|
77
|
+
/>
|
|
72
78
|
</div>
|
|
73
79
|
</div>`:p` <div class="image-container">
|
|
74
|
-
<img
|
|
80
|
+
<img
|
|
81
|
+
data-speedsize-ignore="true"
|
|
82
|
+
src="${e.image}"
|
|
83
|
+
alt=""
|
|
84
|
+
role="presentation"
|
|
85
|
+
class="image"
|
|
86
|
+
/>
|
|
75
87
|
</div>`}`:""}
|
|
76
88
|
<div class="impact-container" part="details">
|
|
77
89
|
<p class="card-description">${e.description}</p>
|
|
@@ -87,7 +99,7 @@ import{h as w,f as $,y as p,g as m,t as O,p as C}from"../chunks/lit-WqMxC_PA.esm
|
|
|
87
99
|
</div>
|
|
88
100
|
</div>
|
|
89
101
|
</div>
|
|
90
|
-
`}}o.tagName="beam-subscription-impact",o.styles=[
|
|
102
|
+
`}}o.tagName="beam-subscription-impact",o.styles=[ae,ce,$`
|
|
91
103
|
:host {
|
|
92
104
|
display: block;
|
|
93
105
|
font-family: var(--beam-fontFamily);
|
|
@@ -267,5 +279,5 @@ import{h as w,f as $,y as p,g as m,t as O,p as C}from"../chunks/lit-WqMxC_PA.esm
|
|
|
267
279
|
text-align: var(--beam-subscriptionImpact-footer-textAlign);
|
|
268
280
|
margin-top: var(--beam-subscriptionImpact-footer-marginTop);
|
|
269
281
|
}
|
|
270
|
-
`,
|
|
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};
|
|
271
283
|
//# sourceMappingURL=subscription-impact.esm.js.map
|