@beamimpact/web-sdk 1.48.0 → 1.51.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/_share-dialog-dependencies-B3N69ml2.esm.js +2 -0
- package/dist/chunks/_share-dialog-dependencies-B3N69ml2.esm.js.map +1 -0
- package/dist/chunks/_share-dialog-dependencies-CHbTSPha.esm.js +2 -0
- package/dist/chunks/_share-dialog-dependencies-CHbTSPha.esm.js.map +1 -0
- package/dist/chunks/{beam-errors-fXDkG1zo.esm.d.ts → beam-errors-CCe004HS.esm.d.ts} +2 -7
- package/dist/chunks/beam-errors-Ci0d3926.esm.js +2 -0
- package/dist/chunks/beam-errors-Ci0d3926.esm.js.map +1 -0
- package/dist/chunks/cart-contents-CUgc4y1N.esm.d.ts +18 -0
- package/dist/chunks/cart-contents-DkoytiZh.esm.js +2 -0
- package/dist/chunks/{cart-contents-h60geKWa.esm.js.map → cart-contents-DkoytiZh.esm.js.map} +1 -1
- package/dist/chunks/{css-card-grid-nEc--M5M.esm.js → css-card-grid-B6IEaTiP.esm.js} +2 -2
- package/dist/chunks/{css-card-grid-nEc--M5M.esm.js.map → css-card-grid-B6IEaTiP.esm.js.map} +1 -1
- package/dist/chunks/enforce-config-CQb5MiAV.esm.js +3 -0
- package/dist/chunks/enforce-config-CQb5MiAV.esm.js.map +1 -0
- package/dist/chunks/enforce-config-Cw52SuAc.esm.js +3 -0
- package/dist/chunks/enforce-config-Cw52SuAc.esm.js.map +1 -0
- package/dist/chunks/{events-ZCTR9JGZ.esm.d.ts → events-BKkf9u9l.esm.d.ts} +33 -4
- package/dist/chunks/events-BohmT6Lp.esm.js +2 -0
- package/dist/chunks/events-BohmT6Lp.esm.js.map +1 -0
- package/dist/chunks/{index-JDZQClkA.esm.js → index-BQ4Nr7Ux.esm.js} +2 -2
- package/dist/chunks/{index-JDZQClkA.esm.js.map → index-BQ4Nr7Ux.esm.js.map} +1 -1
- package/dist/chunks/index-B_8DexDX.esm.js +2 -0
- package/dist/chunks/index-B_8DexDX.esm.js.map +1 -0
- package/dist/chunks/{index-v6fG3D6u.esm.d.ts → index-BqBEii8E.esm.d.ts} +1 -1
- package/dist/chunks/index-C-beNpP0.esm.js +2 -0
- package/dist/chunks/index-C-beNpP0.esm.js.map +1 -0
- package/dist/chunks/{index-E8H5A7Qq.esm.js → index-C3hpHWh1.esm.js} +1 -1
- package/dist/chunks/index-C3hpHWh1.esm.js.map +1 -0
- package/dist/chunks/{index-XHm2EBaD.esm.js → index-CFYWEffm.esm.js} +2 -2
- package/dist/chunks/{index-XHm2EBaD.esm.js.map → index-CFYWEffm.esm.js.map} +1 -1
- package/dist/chunks/{index-FQExZDX9.esm.js → index-CFtmDAHb.esm.js} +1 -1
- package/dist/chunks/index-CFtmDAHb.esm.js.map +1 -0
- package/dist/chunks/{index-eXilYHHK.esm.js → index-C_ZNnJIS.esm.js} +2 -2
- package/dist/chunks/{index-eXilYHHK.esm.js.map → index-C_ZNnJIS.esm.js.map} +1 -1
- package/dist/chunks/{index-PA0NAKHV.esm.d.ts → index-CbKkAM6h.esm.d.ts} +1 -1
- package/dist/chunks/index-CbWdmBet.esm.js +2 -0
- package/dist/chunks/index-CbWdmBet.esm.js.map +1 -0
- package/dist/chunks/index-CpPbNdWA.esm.js +2 -0
- package/dist/chunks/index-CpPbNdWA.esm.js.map +1 -0
- package/dist/chunks/index-CyiXyHi8.esm.js +2 -0
- package/dist/chunks/index-CyiXyHi8.esm.js.map +1 -0
- package/dist/chunks/{index-XCMf22lv.esm.js → index-D6qJfs7_.esm.js} +1 -1
- package/dist/chunks/index-D6qJfs7_.esm.js.map +1 -0
- package/dist/chunks/index-DhtZDPvk.esm.js +2 -0
- package/dist/chunks/index-DhtZDPvk.esm.js.map +1 -0
- package/dist/chunks/index-Dnm34FcO.esm.d.ts +46 -0
- package/dist/chunks/index-DvbUE31b.esm.d.ts +46 -0
- package/dist/chunks/index-GcpuX_TZ.esm.js +2 -0
- package/dist/chunks/index-GcpuX_TZ.esm.js.map +1 -0
- package/dist/chunks/index-JSoHc6g1.esm.js +2 -0
- package/dist/chunks/index-JSoHc6g1.esm.js.map +1 -0
- package/dist/chunks/index-MS8_Vije.esm.d.ts +15 -0
- package/dist/chunks/index-XZRQN4Rs.esm.js +2 -0
- package/dist/chunks/index-XZRQN4Rs.esm.js.map +1 -0
- package/dist/chunks/{index-JJjxnRZK.esm.js → index-kDoWfjd5.esm.js} +2 -2
- package/dist/chunks/{index-JJjxnRZK.esm.js.map → index-kDoWfjd5.esm.js.map} +1 -1
- package/dist/chunks/index-n7pxZENA.esm.js +2 -0
- package/dist/chunks/index-n7pxZENA.esm.js.map +1 -0
- package/dist/chunks/{index-PiMq5a49.esm.js → index-oGObXjk6.esm.js} +1 -1
- package/dist/chunks/index-oGObXjk6.esm.js.map +1 -0
- package/dist/chunks/{index--z5MSe4-.esm.d.ts → index-v0tUXySN.esm.d.ts} +3 -2
- package/dist/chunks/{is-all-html-elements-SdSkxirh.esm.js → is-all-html-elements-fcB7UUA1.esm.js} +1 -1
- package/dist/chunks/{is-all-html-elements-SdSkxirh.esm.js.map → is-all-html-elements-fcB7UUA1.esm.js.map} +1 -1
- package/dist/chunks/lit-5uUWs2aX.esm.js +34 -0
- package/dist/chunks/{lit-iNN5L_Qk.esm.js.map → lit-5uUWs2aX.esm.js.map} +1 -1
- package/dist/chunks/loading-template-DXNS89Th.esm.js +2 -0
- package/dist/chunks/{loading-template-t4fFsYtr.esm.js.map → loading-template-DXNS89Th.esm.js.map} +1 -1
- package/dist/chunks/{localize-m-_ESmpk.esm.js → localize-CQCRjY9s.esm.js} +6 -6
- package/dist/chunks/{localize-m-_ESmpk.esm.js.map → localize-CQCRjY9s.esm.js.map} +1 -1
- package/dist/chunks/{localize-o-cYvHQf.esm.js → localize-cDQFOecn.esm.js} +6 -6
- package/dist/chunks/{localize-o-cYvHQf.esm.js.map → localize-cDQFOecn.esm.js.map} +1 -1
- package/dist/chunks/lodash-7H4x2457.esm.js +2 -0
- package/dist/chunks/lodash-7H4x2457.esm.js.map +1 -0
- package/dist/chunks/{openapi-spec-hjdK2L9Q.esm.d.ts → openapi-spec-VAt3phhg.esm.d.ts} +332 -0
- package/dist/chunks/order-page-CMGPM57D.esm.js +2 -0
- package/dist/chunks/order-page-CMGPM57D.esm.js.map +1 -0
- package/dist/chunks/order-page-FzVtMkga.esm.js +2 -0
- package/dist/chunks/order-page-FzVtMkga.esm.js.map +1 -0
- package/dist/chunks/{order-page-9clVUPaS.esm.d.ts → order-page-tSPKLQ24.esm.d.ts} +11 -8
- package/dist/chunks/{progress-bar-PMU_xI3L.esm.js → progress-bar-oJB_t7od.esm.js} +4 -4
- package/dist/chunks/{progress-bar-PMU_xI3L.esm.js.map → progress-bar-oJB_t7od.esm.js.map} +1 -1
- package/dist/chunks/promo-pill-label-D9ptiGak.esm.js +16 -0
- package/dist/chunks/{promo-pill-label-P1X4xeAx.esm.js.map → promo-pill-label-D9ptiGak.esm.js.map} +1 -1
- package/dist/chunks/promo-types-C1unMpo2.esm.d.ts +14 -0
- package/dist/chunks/promoManager-B9cTR1R3.esm.js +2 -0
- package/dist/chunks/promoManager-B9cTR1R3.esm.js.map +1 -0
- package/dist/chunks/promoManager-fl54hq13.esm.js +2 -0
- package/dist/chunks/promoManager-fl54hq13.esm.js.map +1 -0
- package/dist/chunks/{responsive-2lC2Wrtg.esm.js → responsive-9jAzOYoE.esm.js} +2 -2
- package/dist/chunks/{responsive-2lC2Wrtg.esm.js.map → responsive-9jAzOYoE.esm.js.map} +1 -1
- package/dist/chunks/routes-CaSRr919.esm.js +2 -0
- package/dist/chunks/routes-CaSRr919.esm.js.map +1 -0
- package/dist/chunks/{routes-iurI6dvR.esm.d.ts → routes-DDRd747e.esm.d.ts} +76 -3
- package/dist/chunks/routes-KHEaM_40.esm.js +2 -0
- package/dist/chunks/routes-KHEaM_40.esm.js.map +1 -0
- package/dist/chunks/{share-button-k_Xn5956.esm.js → share-button-BbG-gnwj.esm.js} +4 -4
- package/dist/chunks/{share-button-diP8wKOc.esm.js.map → share-button-BbG-gnwj.esm.js.map} +1 -1
- package/dist/chunks/{share-button-diP8wKOc.esm.js → share-button-CvTUluNq.esm.js} +4 -4
- package/dist/chunks/{share-button-k_Xn5956.esm.js.map → share-button-CvTUluNq.esm.js.map} +1 -1
- package/dist/chunks/{share-button-hDn8fnBI.esm.d.ts → share-button-DBVhw4qa.esm.d.ts} +1 -1
- package/dist/chunks/{share-button-SNvuFDC9.esm.js → share-button-R7jgVCPv.esm.js} +1 -1
- package/dist/chunks/{share-button-SNvuFDC9.esm.js.map → share-button-R7jgVCPv.esm.js.map} +1 -1
- package/dist/chunks/{types-zbTZ8-KP.esm.d.ts → types-CPxMwnoR.esm.d.ts} +5 -1
- package/dist/chunks/update-cart-3JFUCJLD.esm.js +2 -0
- package/dist/chunks/update-cart-3JFUCJLD.esm.js.map +1 -0
- package/dist/chunks/update-cart-DNfl9QP2.esm.js +2 -0
- package/dist/chunks/update-cart-DNfl9QP2.esm.js.map +1 -0
- package/dist/chunks/{update-cart-l86bU5uS.esm.d.ts → update-cart-NiToHHJH.esm.d.ts} +2 -2
- package/dist/chunks/{vendor-GKiOHg2N.esm.js → vendor-DRA8u-S7.esm.js} +2 -2
- package/dist/chunks/{vendor-GKiOHg2N.esm.js.map → vendor-DRA8u-S7.esm.js.map} +1 -1
- package/dist/components/beam-partner-logos.d.ts +1 -1
- package/dist/components/beam-partner-logos.esm.js +4 -4
- package/dist/components/beam-partner-logos.esm.js.map +1 -1
- package/dist/components/beam-partner-logos.js +4 -4
- package/dist/components/beam-partner-logos.js.map +1 -1
- package/dist/components/community-impact.d.ts +3 -3
- package/dist/components/community-impact.esm.js +13 -13
- package/dist/components/community-impact.esm.js.map +1 -1
- package/dist/components/community-impact.js +13 -13
- package/dist/components/community-impact.js.map +1 -1
- package/dist/components/cumulative-impact.d.ts +2 -2
- package/dist/components/cumulative-impact.esm.js +8 -8
- package/dist/components/cumulative-impact.esm.js.map +1 -1
- package/dist/components/cumulative-impact.js +8 -8
- package/dist/components/cumulative-impact.js.map +1 -1
- package/dist/components/impact-overview.d.ts +9 -5
- package/dist/components/impact-overview.esm.js +19 -19
- package/dist/components/impact-overview.esm.js.map +1 -1
- package/dist/components/impact-overview.js +19 -19
- package/dist/components/impact-overview.js.map +1 -1
- package/dist/components/index.d.ts +8 -8
- package/dist/components/index.esm.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/post-purchase.d.ts +15 -7
- package/dist/components/post-purchase.esm.js +4 -4
- package/dist/components/post-purchase.esm.js.map +1 -1
- package/dist/components/post-purchase.js +4 -4
- package/dist/components/post-purchase.js.map +1 -1
- package/dist/components/product-details-page.d.ts +25 -7
- package/dist/components/product-details-page.esm.js +39 -28
- package/dist/components/product-details-page.esm.js.map +1 -1
- package/dist/components/product-details-page.js +39 -28
- package/dist/components/product-details-page.js.map +1 -1
- package/dist/components/redeem-transaction.d.ts +8 -17
- package/dist/components/redeem-transaction.esm.js +27 -27
- package/dist/components/redeem-transaction.esm.js.map +1 -1
- package/dist/components/redeem-transaction.js +27 -27
- package/dist/components/redeem-transaction.js.map +1 -1
- package/dist/components/select-nonprofit.d.ts +13 -6
- package/dist/components/select-nonprofit.esm.js +50 -45
- package/dist/components/select-nonprofit.esm.js.map +1 -1
- package/dist/components/select-nonprofit.js +50 -45
- 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 +13 -13
- package/dist/components/select-subscription-nonprofit.esm.js.map +1 -1
- package/dist/components/select-subscription-nonprofit.js +13 -13
- package/dist/components/select-subscription-nonprofit.js.map +1 -1
- package/dist/components/shopify.d.ts +12 -11
- package/dist/components/shopify.esm.js +1 -1
- package/dist/components/shopify.esm.js.map +1 -1
- package/dist/components/shopify.js +1 -1
- package/dist/components/shopify.js.map +1 -1
- package/dist/components/social-share.d.ts +3 -3
- package/dist/components/social-share.esm.js +3 -3
- package/dist/components/social-share.esm.js.map +1 -1
- package/dist/components/social-share.js +3 -3
- package/dist/components/social-share.js.map +1 -1
- package/dist/components/subscription-impact.d.ts +5 -4
- package/dist/components/subscription-impact.esm.js +16 -16
- package/dist/components/subscription-impact.esm.js.map +1 -1
- package/dist/components/subscription-impact.js +16 -16
- package/dist/components/subscription-impact.js.map +1 -1
- package/dist/components/subscription-management.d.ts +18 -7
- package/dist/components/subscription-management.esm.js +9 -9
- package/dist/components/subscription-management.esm.js.map +1 -1
- package/dist/components/subscription-management.js +9 -9
- package/dist/components/subscription-management.js.map +1 -1
- package/dist/index.d.ts +23 -21
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/integrations/beam.d.ts +1 -1
- package/dist/integrations/beam.esm.js +1 -1
- package/dist/integrations/beam.esm.js.map +1 -1
- package/dist/integrations/beam.js +1 -1
- package/dist/integrations/beam.js.map +1 -1
- package/dist/integrations/cart.d.ts +4 -4
- package/dist/integrations/cart.esm.js +1 -1
- package/dist/integrations/cart.js +1 -1
- package/dist/integrations/index.d.ts +19 -17
- package/dist/integrations/index.esm.js +1 -1
- package/dist/integrations/index.js +1 -1
- package/dist/integrations/logs.d.ts +2 -2
- package/dist/integrations/logs.esm.js +1 -1
- package/dist/integrations/logs.js +1 -1
- package/dist/integrations/promoManager.d.ts +36 -0
- package/dist/integrations/promoManager.esm.js +2 -0
- package/dist/integrations/promoManager.esm.js.map +1 -0
- package/dist/integrations/promoManager.js +2 -0
- package/dist/integrations/promoManager.js.map +1 -0
- 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.d.ts +10 -10
- package/dist/integrations/shopify.esm.js +1 -1
- package/dist/integrations/shopify.js +1 -1
- package/dist/integrations/statsig.d.ts +1 -1
- package/dist/integrations/statsig.esm.js +2 -2
- package/dist/integrations/statsig.esm.js.map +1 -1
- package/dist/integrations/statsig.js +2 -2
- package/dist/integrations/statsig.js.map +1 -1
- package/dist/integrations/utils.d.ts +7 -5
- package/dist/integrations/utils.esm.js +1 -1
- package/dist/integrations/utils.js +1 -1
- package/dist/react/beam-partner-logos.d.ts +1 -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 -3
- package/dist/react/community-impact.esm.js +1 -1
- package/dist/react/community-impact.js +1 -1
- package/dist/react/cumulative-impact.d.ts +2 -2
- package/dist/react/cumulative-impact.esm.js +1 -1
- package/dist/react/cumulative-impact.js +1 -1
- package/dist/react/impact-overview.d.ts +4 -4
- 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 +10 -9
- package/dist/react/index.esm.js +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/post-purchase.d.ts +7 -7
- 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 +3 -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 +8 -7
- package/dist/react/redeem-transaction.esm.js +1 -1
- package/dist/react/redeem-transaction.js +1 -1
- package/dist/react/select-nonprofit.d.ts +8 -7
- 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 +7 -6
- package/dist/react/select-subscription-nonprofit.esm.js +1 -1
- package/dist/react/select-subscription-nonprofit.js +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/subscription-impact.d.ts +4 -4
- package/dist/react/subscription-impact.esm.js +1 -1
- package/dist/react/subscription-impact.js +1 -1
- package/dist/react/subscription-management.d.ts +7 -7
- package/dist/react/subscription-management.esm.js +1 -1
- package/dist/react/subscription-management.js +1 -1
- package/dist/utils/beam-errors.d.ts +1 -1
- package/dist/utils/beam-errors.esm.js +1 -1
- package/dist/utils/beam-errors.js +1 -1
- package/dist/utils/cart.esm.js +1 -1
- package/dist/utils/cart.js +1 -1
- 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 +5 -4
- package/dist/utils/events.esm.js +1 -1
- package/dist/utils/events.js +1 -1
- package/dist/utils/index.d.ts +7 -5
- package/dist/utils/index.esm.js +1 -1
- package/dist/utils/index.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.esm.js +1 -1
- package/dist/utils/local-storage.js +1 -1
- 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.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 +123 -0
- package/dist/utils/promoManager.esm.js +2 -0
- package/dist/utils/promoManager.esm.js.map +1 -0
- package/dist/utils/promoManager.js +2 -0
- package/dist/utils/promoManager.js.map +1 -0
- package/dist/utils/remote-session.esm.js +1 -1
- package/dist/utils/remote-session.js +1 -1
- package/dist/utils/wait-for-element.esm.js +1 -1
- package/dist/utils/wait-for-element.js +1 -1
- package/package.json +4 -4
- package/dist/chunks/_share-dialog-dependencies-2jzbs44g.esm.js +0 -2
- package/dist/chunks/_share-dialog-dependencies-2jzbs44g.esm.js.map +0 -1
- package/dist/chunks/_share-dialog-dependencies-C8uChjuF.esm.js +0 -2
- package/dist/chunks/_share-dialog-dependencies-C8uChjuF.esm.js.map +0 -1
- package/dist/chunks/beam-errors-P-Lu07Ce.esm.js +0 -2
- package/dist/chunks/beam-errors-P-Lu07Ce.esm.js.map +0 -1
- package/dist/chunks/cart-contents-CMm57qu0.esm.d.ts +0 -11
- package/dist/chunks/cart-contents-h60geKWa.esm.js +0 -2
- package/dist/chunks/enforce-config-ZAI7WYAd.esm.js +0 -3
- package/dist/chunks/enforce-config-ZAI7WYAd.esm.js.map +0 -1
- package/dist/chunks/enforce-config-ZyPq_4CF.esm.js +0 -3
- package/dist/chunks/enforce-config-ZyPq_4CF.esm.js.map +0 -1
- package/dist/chunks/events-6Z5MkCRr.esm.js +0 -2
- package/dist/chunks/events-6Z5MkCRr.esm.js.map +0 -1
- package/dist/chunks/index-2bLOkP4H.esm.d.ts +0 -32
- package/dist/chunks/index-CsWTfuok.esm.js +0 -2
- package/dist/chunks/index-CsWTfuok.esm.js.map +0 -1
- package/dist/chunks/index-E8H5A7Qq.esm.js.map +0 -1
- package/dist/chunks/index-FQExZDX9.esm.js.map +0 -1
- package/dist/chunks/index-GynYZRPI.esm.d.ts +0 -32
- package/dist/chunks/index-M7Ut5U3j.esm.js +0 -2
- package/dist/chunks/index-M7Ut5U3j.esm.js.map +0 -1
- package/dist/chunks/index-MIp7LlXH.esm.js +0 -2
- package/dist/chunks/index-MIp7LlXH.esm.js.map +0 -1
- package/dist/chunks/index-PiMq5a49.esm.js.map +0 -1
- package/dist/chunks/index-WvOCqhxv.esm.js +0 -2
- package/dist/chunks/index-WvOCqhxv.esm.js.map +0 -1
- package/dist/chunks/index-XCMf22lv.esm.js.map +0 -1
- package/dist/chunks/index-XH3OS_sy.esm.d.ts +0 -15
- package/dist/chunks/index-YJNgLCif.esm.js +0 -2
- package/dist/chunks/index-YJNgLCif.esm.js.map +0 -1
- package/dist/chunks/index-a6oXV2ro.esm.js +0 -2
- package/dist/chunks/index-a6oXV2ro.esm.js.map +0 -1
- package/dist/chunks/index-dkwGkvOu.esm.js +0 -2
- package/dist/chunks/index-dkwGkvOu.esm.js.map +0 -1
- package/dist/chunks/index-iK195-B9.esm.js +0 -2
- package/dist/chunks/index-iK195-B9.esm.js.map +0 -1
- package/dist/chunks/index-nstmHC95.esm.js +0 -2
- package/dist/chunks/index-nstmHC95.esm.js.map +0 -1
- package/dist/chunks/index-vq14EaW4.esm.js +0 -2
- package/dist/chunks/index-vq14EaW4.esm.js.map +0 -1
- package/dist/chunks/lit-iNN5L_Qk.esm.js +0 -34
- package/dist/chunks/loading-template-t4fFsYtr.esm.js +0 -2
- package/dist/chunks/lodash-P8OIs-at.esm.js +0 -2
- package/dist/chunks/lodash-P8OIs-at.esm.js.map +0 -1
- package/dist/chunks/order-page-Z3WcYluU.esm.js +0 -2
- package/dist/chunks/order-page-Z3WcYluU.esm.js.map +0 -1
- package/dist/chunks/order-page-rrfJ4w9F.esm.js +0 -2
- package/dist/chunks/order-page-rrfJ4w9F.esm.js.map +0 -1
- package/dist/chunks/promo-pill-label-P1X4xeAx.esm.js +0 -16
- package/dist/chunks/routes-Dmf2ZNnZ.esm.js +0 -2
- package/dist/chunks/routes-Dmf2ZNnZ.esm.js.map +0 -1
- package/dist/chunks/routes-o1QpF40R.esm.js +0 -2
- package/dist/chunks/routes-o1QpF40R.esm.js.map +0 -1
- package/dist/chunks/shoelace-components-wBxNHnyr.esm.js +0 -2
- package/dist/chunks/shoelace-components-wBxNHnyr.esm.js.map +0 -1
- package/dist/chunks/shoelace-components-xrhk189_.esm.js +0 -2
- package/dist/chunks/shoelace-components-xrhk189_.esm.js.map +0 -1
- package/dist/chunks/update-cart-EGTcbNRX.esm.js +0 -2
- package/dist/chunks/update-cart-EGTcbNRX.esm.js.map +0 -1
- package/dist/chunks/update-cart-FwtFnnGe.esm.js +0 -2
- package/dist/chunks/update-cart-FwtFnnGe.esm.js.map +0 -1
- /package/dist/chunks/{index-EGiUuWe-.esm.d.ts → index-C-hPf29c.esm.d.ts} +0 -0
- /package/dist/chunks/{index-hn6JhG_w.esm.d.ts → index-DXj15KHe.esm.d.ts} +0 -0
- /package/dist/chunks/{index-mTXm0DPh.esm.d.ts → index-DbaDUPup.esm.d.ts} +0 -0
- /package/dist/chunks/{progress-bar-0VS_AmEf.esm.d.ts → progress-bar-CveZ8E6Q.esm.d.ts} +0 -0
- /package/dist/chunks/{promo-pill-label-3bA1z-la.esm.d.ts → promo-pill-label-BXRqZHET.esm.d.ts} +0 -0
- /package/dist/chunks/{types-aju0qrRe.esm.d.ts → types-C7gqAyyH.esm.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-management.js","sources":["../../src/components/subscription-management/strings.ts","../../src/components/subscription-management/index.ts"],"sourcesContent":["export const strings = {\n en: {\n changeNonprofitButton: () => `Change Nonprofit`,\n previousImpactHeader: () => `Your Previous Impact`,\n previousNonprofitButton: () => `Back to Previous Nonprofit`,\n supportAgainButton: () => `Support Again`,\n via: () => `via`,\n showAllButton: () => `Show All`,\n showLessButton: () => `Show Less`,\n },\n fr: {\n changeNonprofitButton: () => `Change Nonprofit`,\n previousImpactHeader: () => `Your Previous Impact`,\n previousNonprofitButton: () => `Back to Previous Nonprofit`,\n supportAgainButton: () => `Support Again`,\n via: () => `via`,\n showAllButton: () => `Show All`,\n showLessButton: () => `Show Less`,\n },\n de: {\n changeNonprofitButton: () => `Change Nonprofit`,\n previousImpactHeader: () => `Your Previous Impact`,\n previousNonprofitButton: () => `Back to Previous Nonprofit`,\n supportAgainButton: () => `Support Again`,\n via: () => `via`,\n showAllButton: () => `Show All`,\n showLessButton: () => `Show Less`,\n },\n es: {\n changeNonprofitButton: () => `Change Nonprofit`,\n previousImpactHeader: () => `Your Previous Impact`,\n previousNonprofitButton: () => `Back to Previous Nonprofit`,\n supportAgainButton: () => `Support Again`,\n via: () => `via`,\n showAllButton: () => `Show All`,\n showLessButton: () => `Show Less`,\n },\n it: {\n changeNonprofitButton: () => `Change Nonprofit`,\n previousImpactHeader: () => `Your Previous Impact`,\n previousNonprofitButton: () => `Back to Previous Nonprofit`,\n supportAgainButton: () => `Support Again`,\n via: () => `via`,\n showAllButton: () => `Show All`,\n showLessButton: () => `Show Less`,\n },\n pl: {\n changeNonprofitButton: () => `Change Nonprofit`,\n previousImpactHeader: () => `Your Previous Impact`,\n previousNonprofitButton: () => `Back to Previous Nonprofit`,\n supportAgainButton: () => `Support Again`,\n via: () => `via`,\n showAllButton: () => `Show All`,\n showLessButton: () => `Show Less`,\n },\n};\n","import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { TCart } from \"../../shared/cart-contents\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { postFindOrCreateSubscription, postChainEligibleNonprofitsForCart, getImpact } from \"../../api-sdk/v3/routes\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { BeamNonprofitSelectEvent } from \"../../utils/events\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport \"../select-subscription-nonprofit\";\nimport \"../subscription-impact\";\nimport \"../beam-partner-logos\";\nimport \"../../shared/components/progress-bar\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { partnerLogosConfigDefaults } from \"../beam-partner-logos\";\nimport { makeApiKeyHeader } from \"../../utils/makeApiKeyHeader\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { TNumericId } from \"../../shared/types\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\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\ntype TRequiredDataProps = RequiredDataPropsWithEmail | RequiredDataPropsWithPartnerUserId;\nexport type TIAPIV3PersonalImpact = Awaited<ReturnType<typeof import(\"../../api-sdk/v3/routes\").getImpact>>[\"personal\"];\nexport type TIAPIV3EligibleNonprofits = Awaited<\n ReturnType<typeof import(\"../../api-sdk/v3/routes\").getChainNonprofits>\n>[\"nonprofits\"];\nexport type TIAPIV3EligibleNonprofitConfig = Awaited<\n ReturnType<typeof import(\"../../api-sdk/v3/routes\").getChainNonprofits>\n>[\"config\"];\n\nconst INITIAL_TILE_COUNT = 3;\nconst MIN_PREVIOUS_IMPACT = 0;\nconst MIN_PROGRESS_THRESHOLD = 1;\nconst MAX_PROGRESS_THRESHOLD = 98;\n\nexport class BeamSubscriptionManagement extends LitElement {\n static tagName = \"beam-subscription-management\";\n\n @property({ type: String })\n public baseUrl: string = DEFAULT_BASE_URL;\n\n @property({ type: String })\n public apiKey!: TRequiredDataProps[\"apiKey\"];\n\n @property({ type: String })\n public subscriptionId!: TRequiredDataProps[\"subscriptionId\"];\n\n @property({ type: Number, reflect: true })\n public storeId?: number; // Either storeId or postalCode, countryCode must be provided\n\n @property({ type: String })\n public email?: RequiredDataPropsWithEmail[\"email\"]; // Either email or partnerUserId must be provided\n\n @property({ type: String })\n public partnerUserId?: RequiredDataPropsWithPartnerUserId[\"partnerUserId\"]; // Either email or partnerUserId must be provided\n\n @property({ type: String })\n public postalCode?: string;\n\n @property({ type: String })\n public countryCode?: string;\n\n @property({ type: Number, reflect: true })\n public selectedNonprofitId?: TNumericId;\n\n @property({ type: String })\n public lang: LANGUAGES = \"en\";\n\n @property({ type: Object })\n public cart?: TCart;\n\n @property({ type: Boolean })\n public debug = false;\n\n @property({ type: Boolean })\n public draftConfig = false;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n @state() private activeWidget: \"select-subscription-nonprofit\" | \"subscription-impact\" | null = null; // Based on /findSubscriptionByRemoteId\n @state() private nonprofitId: number | null = null; // From /findSubscriptionByRemoteId response\n @state() private beamUserId: string | null = null; // From findSubscriptionByRemoteId\n @state() private eligibleNonprofits: TIAPIV3EligibleNonprofits = [];\n @state() private showAllTiles = false;\n @state() private isMobile = window.innerWidth < 720;\n @state() private dropdownVisible = false;\n @state() private emojis = [\"👏\", \"💪\", \"🙌\", \"✨\", \"🥇\"];\n\n private subscriptionDataController = new AsyncController<typeof this.fetchSubscription>(this, this.fetchSubscription);\n private eligibleNonprofitsDataController = new AsyncController<typeof this.fetchEligibleNonprofits>(\n this,\n this.fetchEligibleNonprofits\n );\n private personalImpactDataController = new AsyncController<typeof this.fetchImpact>(this, this.fetchImpact);\n\n async firstUpdated() {\n if (!this.email && !this.partnerUserId) {\n throw new MissingConfig(\n [\"email\", \"partnerUserId\"],\n \"One of the following properties needs to be specified: email, partnerUserId \"\n );\n }\n enforceConfig<TRequiredDataProps>([\"apiKey\", \"subscriptionId\"], this);\n await this.loadWidget();\n }\n\n async loadWidget() {\n // In parallel:\n // (1). Fetch eligible nonprofits [storeId and chainName]\n // (2). Fetch subscription [userId and nonprofitId]\n await Promise.all([this.fetchEligibleNonprofits(), this.fetchSubscription()]);\n await this.fetchImpact();\n this.activeWidget = this.nonprofitId ? \"subscription-impact\" : \"select-subscription-nonprofit\";\n }\n\n async fetchEligibleNonprofits() {\n enforceConfig<TRequiredDataProps>([\"apiKey\", \"subscriptionId\"], this);\n const eligibleNonprofitResult = await postChainEligibleNonprofitsForCart({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n requestBody: {\n storeId: this.storeId || undefined,\n postalCode: this.postalCode || undefined,\n countryCode: this.countryCode || undefined,\n widgetName: WIDGET_NAMES.subscription_management,\n version: \"1.0.0\",\n },\n });\n this.storeId = eligibleNonprofitResult.store.id;\n this.eligibleNonprofits = eligibleNonprofitResult.nonprofits;\n this.eligibleNonprofitsDataController.data = eligibleNonprofitResult;\n return eligibleNonprofitResult;\n }\n\n async fetchSubscription() {\n enforceConfig<TRequiredDataProps>([\"apiKey\", \"subscriptionId\"], this);\n const subscriptionResult = 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 this.beamUserId = subscriptionResult.beamUserId; // Returned in response regardless of subscription redemption\n this.nonprofitId = subscriptionResult.nonprofit?.id || null;\n return subscriptionResult;\n }\n\n async fetchImpact() {\n enforceConfig<TRequiredDataProps>([\"apiKey\"], this);\n\n const impactResult = await getImpact({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n queryParams: {\n beamUserId: this.beamUserId ? this.beamUserId : undefined,\n widgetName: \"subscription-management\",\n version: \"1.0.0\",\n lang: this.configLang,\n },\n });\n this.personalImpactDataController.data = impactResult;\n return impactResult;\n }\n\n handleSwapNonprofitButtonClick() {\n this.activeWidget = \"select-subscription-nonprofit\";\n }\n\n handleBackToSubscriptionImpactButtonClick() {\n this.activeWidget = \"subscription-impact\";\n }\n\n handleSupportAgainButtonClick(nonprofitId: TNumericId, nonprofitName: string) {\n this.activeWidget = \"select-subscription-nonprofit\";\n this.selectedNonprofitId = nonprofitId;\n\n const event = new BeamNonprofitSelectEvent({\n selectedNonprofitId: nonprofitId,\n nonprofitName: nonprofitName,\n source: WIDGET_NAMES.subscription_management,\n });\n this.dispatchEvent(event);\n }\n\n handleNonprofitSelect(event: Event) {\n if (!(event instanceof BeamNonprofitSelectEvent)) return; // TypeScript guard\n const { selectedNonprofitId } = event.detail;\n this.nonprofitId = selectedNonprofitId ?? null;\n this.activeWidget = \"subscription-impact\";\n }\n\n isNonprofitEligible(nonprofitId: TNumericId) {\n return this.eligibleNonprofits.some((np: TIAPIV3EligibleNonprofits[0]) => np.nonprofit.id === nonprofitId);\n }\n\n shouldDisplayProgressBar(progressValue: number) {\n return progressValue > MIN_PROGRESS_THRESHOLD && progressValue < MAX_PROGRESS_THRESHOLD;\n }\n\n public get cssVariables() {\n const defaults = {\n ...partnerLogosConfigDefaults,\n ...progressBarConfigDefaults,\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n \"--beam-SubscriptionManagement-widgetContainer-borderColor\": \"#d5d5d5\",\n \"--beam-SubscriptionManagement-widgetContainer-borderRadius\": \"4px\",\n \"--beam-SubscriptionManagement-widgetContainer-padding\": \"8px 20px\",\n \"--beam-SubscriptionManagement-widgetContainer-backgroundColor\": \"inherit\",\n \"--beam-SubscriptionManagement-widgetContainer-maxWidth\": \"820px\",\n \"--beam-SubscriptionManagement-logo-align-desktop\": \"left\",\n \"--beam-SubscriptionManagement-logo-align-mobile\": \"center\",\n \"--beam-SubscriptionManagement-previousImpact-cardStyle\": \"'selected_icon'\",\n \"--beam-SubscriptionManagement-header-padding\": \"10px 20px 10px 0px\",\n \"--beam-SubscriptionManagement-header-borderRadius\": \"0px\",\n \"--beam-SubscriptionManagement-header-backgroundColor\": \"#fff\",\n \"--beam-SubscriptionManagement-header-meatballsMenu-fontSize\": \"24px\",\n \"--beam-SubscriptionManagement-header-meatballsMenu-color\": \"24px\",\n \"--beam-SubscriptionManagement-lineBreak-color\": \"#ddd\",\n \"--beam-SubscriptionManagement-lineBreak-width\": \"1px\",\n \"--beam-SubscriptionManagement-lineBreak-margin\": \"10px 0 20px 0\",\n \"--beam-SubscriptionManagement-tile-marginBottom\": \"20px\",\n \"--beam-SubscriptionManagement-tile-border-width\": \"0px\",\n \"--beam-SubscriptionManagement-tile-border-color\": \"#ddd\",\n \"--beam-SubscriptionManagement-tile-padding\": \"12.5px\",\n \"--beam-SubscriptionManagement-tile-borderRadius\": \"8px\",\n \"--beam-SubscriptionManagement-tile-background\": \"#f8fbfb\",\n \"--beam-SubscriptionManagement-tileContent-gap\": \" 15px\",\n \"--beam-SubscriptionManagement-tileContent-padding\": \"5px 0px\",\n \"--beam-SubscriptionManagement-tile-icon-borderRadius\": \"4px\",\n \"--beam-SubscriptionManagement-tile-icon-height\": \"28px\",\n \"--beam-SubscriptionManagement-tile-icon-background-borderRadius\": \"50%\",\n \"--beam-SubscriptionManagement-tile-icon-background-width\": \"50px\",\n \"--beam-SubscriptionManagement-tile-icon-background-height\": \"50px\",\n \"--beam-SubscriptionManagement-tile-icon-background-backgroundColor\": \"#0a323c\",\n \"--beam-SubscriptionManagement-tile-icon-background-padding\": \"10px\",\n \"--beam-SubscriptionManagement-blockTileDescription-gap\": \"5px\",\n \"--beam-SubscriptionManagement-blockTileDescription-padding\": \"0px\",\n \"--beam-SubscriptionManagement-blockTileDescription-lineHeight\": \"130%\",\n \"--beam-SubscriptionManagement-blockTileDescription-progressBar-width-desktop\": \"60%\",\n \"--beam-SubscriptionManagement-blockTileDescription-progressBar-width-mobile\": \"100%\",\n \"--beam-SubscriptionManagement-subWidgetContainer-padding\": \"0px 0px 10px\",\n \"--beam-SubscriptionManagement-previousImpactContainer-padding-desktop\": \"10px 24px 10px 0px\",\n \"--beam-SubscriptionManagement-previousImpactContainer-padding-mobile\": \"0px\",\n \"--beam-SubscriptionManagement-dropDown-padding\": \"15px 8px\",\n \"--beam-SubscriptionManagement-dropDown-borderRadius\": \"8px\",\n \"--beam-SubscriptionManagement-dropDown-backgroundColor\": \"#f8fbfb\",\n \"--beam-SubscriptionManagement-dropDown-boxShadow\": \"0px 4px 28px 0px rgba(0, 0, 0, 0.04)\",\n \"--beam-SubscriptionManagement-dropDown-width\": \"128px\",\n \"--beam-SubscriptionManagement-dropDown-hover-backgroundColor\": \"#E1F1EE\",\n \"--beam-SubscriptionManagement-dropDownOptions-textDecoration\": \"underline\",\n ...defineCustomText(\"--beam-SubscriptionManagement-dropDownOptions\", {\n fontSize: \"12px\",\n fontWeight: \"400\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n \"--beam-SubscriptionManagement-yourPreviousImpactTitle-marginBottom\": \"15px\",\n ...defineCustomText(\"--beam-SubscriptionManagement-yourPreviousImpactTitle\", {\n fontSize: \"18px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n \"--beam-SubscriptionManagement-yourPreviousImpact-showAllButton-textDecoration\": \"underline\",\n ...defineCustomText(\"--beam-SubscriptionManagement-yourPreviousImpact-showAllButton\", {\n fontSize: \"12px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n \"--beam-SubscriptionManagement-tile-title-letterSpacing\": \"0.36px\",\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-title\", {\n fontSize: \"12px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n textTransform: \"uppercase\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-description\", {\n fontSize: \"14px\",\n lineHeight: \"120%\",\n fontStyle: \"normal\",\n color: \"#454a47\",\n }),\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-via\", {\n fontSize: \"14px\",\n lineHeight: \"120%\",\n fontStyle: \"normal\",\n color: \"#454a47\",\n }),\n \"--beam-SubscriptionManagement-tile-nonprofitLink-textDecoration\": \"underline\",\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-nonprofitLink\", {\n fontSize: \"14px\",\n fontWeight: \"400\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n \"--beam-SubscriptionManagement-tile-supportAgainButton-textDecoration\": \"underline\",\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-supportAgainButton\", {\n fontSize: \"14px\",\n fontWeight: \"400\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n \"--beam-SubscriptionManagement-tile-progressBarLabel-marginLeft\": \"8px\",\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-progressBarLabel\", {\n fontSize: \"10px\",\n fontWeight: \"bold\",\n fontStyle: \"normal\",\n color: \"#878a92\",\n }),\n \"--beam-SubscriptionManagement-tile-fundedAmount-lineHeight\": \"16px\",\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-fundedAmount\", {\n fontSize: \"14px\",\n fontWeight: \"400\",\n lineHeight: \"120%\",\n fontStyle: \"italic\",\n color: \"#0a323c\",\n }),\n };\n\n const remoteConfig = this.eligibleNonprofitsDataController?.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 return Object.assign(serializable, config);\n }\n\n static styles = [\n cssReset,\n css`\n :host {\n display: block;\n font-family: var(--beam-fontFamily);\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 .drop-down-options {\n text-decoration: var(--beam-SubscriptionManagement-dropDownOptions-textDecoration);\n ${useCustomText(\"--beam-SubscriptionManagement-dropDownOptions\")};\n }\n .widget-container {\n background-color: var(--beam-SubscriptionManagement-widgetContainer-backgroundColor);\n border: 1px solid var(--beam-SubscriptionManagement-widgetContainer-borderColor);\n border-radius: var(--beam-SubscriptionManagement-widgetContainer-borderRadius);\n padding: var(--beam-SubscriptionManagement-widgetContainer-padding);\n max-width: var(--beam-SubscriptionManagement-widgetContainer-maxWidth);\n }\n .header {\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n padding: var(--beam-SubscriptionManagement-header-padding);\n border-radius: var(--beam-SubscriptionManagement-header-borderRadius);\n background-color: var(--beam-SubscriptionManagement-header-backgroundColor);\n }\n .header-content {\n display: flex;\n justify-content: space-between;\n width: 100%;\n }\n .button {\n cursor: pointer;\n background: none;\n border: none;\n }\n .header .meatballsMenu {\n position: relative;\n cursor: pointer;\n }\n .header .meatballsMenu span {\n font-size: var(--beam-SubscriptionManagement-header-meatballsMenu-fontSize);\n color: var(--beam-SubscriptionManagement-header-meatballsMenu-color);\n }\n .dropdown-container {\n display: none;\n position: absolute;\n right: 0;\n z-index: 1;\n padding: var(--beam-SubscriptionManagement-dropDown-padding);\n border-radius: var(--beam-SubscriptionManagement-dropDown-borderRadius);\n background: var(--beam-SubscriptionManagement-dropDown-backgroundColor);\n box-shadow: var(--beam-SubscriptionManagement-dropDown-boxShadow);\n width: var(--beam-SubscriptionManagement-dropDown-width);\n }\n .dropdown-container.visible {\n display: block;\n }\n .dropdown-container:hover {\n background-color: var(--beam-SubscriptionManagement-dropDown-hover-backgroundColor);\n }\n .line-break {\n border-top: var(--beam-SubscriptionManagement-lineBreak-width) solid\n var(--beam-SubscriptionManagement-lineBreak-color);\n margin: var(--beam-SubscriptionManagement-lineBreak-margin);\n }\n .tile {\n border: var(--beam-SubscriptionManagement-tile-border-width) solid\n var(--beam-SubscriptionManagement-tile-border-color);\n padding: var(--beam-SubscriptionManagement-tile-padding);\n border-radius: var(--beam-SubscriptionManagement-tile-borderRadius);\n background: var(--beam-SubscriptionManagement-tile-background);\n }\n .tile-title {\n letter-spacing: var(--beam-SubscriptionManagement-tile-title-letterSpacing);\n ${useCustomText(\"--beam-SubscriptionManagement-tile-title\")};\n }\n .tile-content {\n display: flex;\n flex-direction: row;\n gap: var(--beam-SubscriptionManagement-tileContent-gap);\n padding: var(--beam-SubscriptionManagement-tileContent-padding);\n }\n .tile-description-block-container {\n flex: 1 1 67%;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: var(--beam-SubscriptionManagement-blockTileDescription-gap);\n padding: var(--beam-SubscriptionManagement-blockTileDescription-padding);\n line-height: var(--beam-SubscriptionManagement-blockTileDescription-lineHeight);\n }\n .sub-widget-container {\n padding: var(--beam-SubscriptionManagement-subWidgetContainer-padding);\n }\n .previous-impact-title {\n margin-bottom: var(--beam-SubscriptionManagement-yourPreviousImpactTitle-marginBottom);\n ${useCustomText(\"--beam-SubscriptionManagement-yourPreviousImpactTitle\")};\n }\n .tile-description {\n ${useCustomText(\"--beam-SubscriptionManagement-tile-description\")};\n }\n .via {\n ${useCustomText(\"--beam-SubscriptionManagement-tile-via\")};\n }\n .center-align-logo {\n margin-left: auto;\n margin-right: auto;\n }\n .left-align-logo {\n margin-left: 0;\n margin-right: auto;\n }\n .previous-impact-link-container {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .previous-impact-link {\n text-decoration-line: var(--beam-SubscriptionManagement-yourPreviousImpact-showAllButton-textDecoration);\n ${useCustomText(\"--beam-SubscriptionManagement-yourPreviousImpact-showAllButton\")};\n }\n .icon-background {\n width: var(--beam-SubscriptionManagement-tile-icon-background-width);\n height: var(--beam-SubscriptionManagement-tile-icon-background-height);\n border-radius: var(--beam-SubscriptionManagement-tile-icon-background-borderRadius);\n padding: var(--beam-SubscriptionManagement-tile-icon-background-padding);\n overflow: hidden;\n background: var(--beam-SubscriptionManagement-tile-icon-background-backgroundColor);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .icon {\n display: block;\n margin: auto;\n border-radius: var(--beam-SubscriptionManagement-tile-icon-borderRadius);\n height: var(--beam-SubscriptionManagement-tile-icon-height);\n }\n .tile-progress-bar-container-desktop {\n display: flex;\n align-items: center;\n width: var(--beam-SubscriptionManagement-blockTileDescription-progressBar-width-desktop);\n }\n .tile-progress-bar-container-mobile {\n display: flex;\n align-items: center;\n width: var(--beam-SubscriptionManagement-blockTileDescription-progressBar-width-mobile);\n }\n .previous-impact-nonprofit-link {\n text-decoration-line: var(--beam-SubscriptionManagement-tile-nonprofitLink-textDecoration);\n ${useCustomText(\"--beam-SubscriptionManagement-tile-nonprofitLink\")};\n }\n .details-funding-progress-label {\n white-space: nowrap;\n flex: 0 1;\n margin-left: var(--beam-SubscriptionManagement-tile-progressBarLabel-marginLeft);\n ${useCustomText(\"--beam-SubscriptionManagement-tile-progressBarLabel\")};\n }\n .funded-times {\n line-height: var(--beam-SubscriptionManagement-tile-fundedAmount-lineHeight);\n ${useCustomText(\"--beam-SubscriptionManagement-tile-fundedAmount\")};\n }\n .tile-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n .tile-support-again {\n text-decoration-line: var(--beam-SubscriptionManagement-tile-supportAgainButton-textDecoration);\n ${useCustomText(\"--beam-SubscriptionManagement-tile-supportAgainButton\")};\n }\n `,\n cssCardGrid({\n gap: \"var(--beam-SubscriptionManagement-tile-marginBottom)\",\n itemMinWidth: \"250px\",\n columnCount: \"1\",\n }),\n ];\n\n private renderPreviousImpactTiles({\n personalImpact,\n cardStyle,\n eligibleNonprofitConfig,\n }: {\n personalImpact?: TIAPIV3PersonalImpact;\n cardStyle: string;\n eligibleNonprofitConfig?: TIAPIV3EligibleNonprofitConfig;\n }) {\n if (!personalImpact) {\n return html``;\n }\n if (!eligibleNonprofitConfig) {\n return html``;\n }\n\n const tilesToShow = this.showAllTiles ? personalImpact : personalImpact.slice(0, INITIAL_TILE_COUNT);\n let emojiIndex = 0;\n return html`\n ${tilesToShow\n .filter((previousImpact) => previousImpact.nonprofit.includeInPersonalImpact === true)\n .map((previousImpact) => {\n const {\n impact: { goalCompletionText, description, goalProgressPercentage, goalProgressText },\n nonprofit: { cause, causeIconSelectedUrl, causeIconUrl, website, name, id },\n } = previousImpact;\n\n const isEligibleToSupportAgain = this.nonprofitId !== id && this.isNonprofitEligible(id);\n const showProgressBar = isEligibleToSupportAgain && this.shouldDisplayProgressBar(goalProgressPercentage);\n const emoji = goalCompletionText ? `${this.emojis[emojiIndex]} ` : \"\";\n emojiIndex = (emojiIndex + 1) % this.emojis.length;\n\n return html`\n <div class=\"tile\">\n <div class=\"tile-header\">\n <div class=\"tile-title\">${localizeUserString(this.configLang, cause || \"\")}</div>\n ${isEligibleToSupportAgain\n ? html` <button\n class=\"tile-support-again button\"\n @click=\"${() => this.handleSupportAgainButtonClick(id, name)}\"\n >\n ${localizeUserString(\n this.configLang,\n eligibleNonprofitConfig?.web?.additionalStrings?.[\"supportAgainButton\"] || \"\"\n ) || strings[this.configLang].supportAgainButton()}\n </button>`\n : html``}\n </div>\n <div class=\"tile-content\">\n <div class=\"icon-background\">\n <img\n src=\"${cardStyle === \"'selected_icon'\" ? causeIconSelectedUrl : causeIconUrl}\"\n alt=\"${cause}\"\n class=\"icon\"\n />\n </div>\n <div class=\"tile-description-block-container\">\n <div class=\"tile-description-container\">\n <span class=\"tile-description\">${localizeUserString(this.configLang, description || \"\")}</span>\n <span class=\"via\"\n >${localizeUserString(\n this.configLang,\n eligibleNonprofitConfig?.web?.additionalStrings?.[\"via\"] || \"\"\n ) || strings[this.configLang].via()}</span\n >\n <a href=\"${website}\" target=\"_blank\" class=\"previous-impact-nonprofit-link\">\n ${localizeUserString(this.configLang, name || \"\")}\n </a>\n </div>\n ${showProgressBar\n ? html` <div\n class=\"${this.isMobile\n ? \"tile-progress-bar-container-mobile\"\n : \"tile-progress-bar-container-desktop\"}\"\n >\n <beam-progress-bar value=\"${goalProgressPercentage}\" style=\"flex: 1 0;\"></beam-progress-bar>\n <span class=\"details-funding-progress-label\">${goalProgressText}</span>\n </div>`\n : html``}\n <div class=\"funded-times\">\n ${emoji}${unsafeHTML(localizeUserString(this.configLang, goalCompletionText))}\n </div>\n </div>\n </div>\n </div>\n `;\n })}\n `;\n }\n\n render() {\n const { data, loading, error } = this.eligibleNonprofitsDataController;\n if (loading) {\n return _loading();\n }\n if (error || data == null) {\n return this.debug ? _errorMessage({ error: error || new Error(\"No data\") }) : \"\";\n }\n let content;\n const cardStyle = this.cssVariables[\"--beam-SubscriptionManagement-previousImpact-cardStyle\"];\n const logoAlignDesktop = this.cssVariables[\"--beam-SubscriptionManagement-logo-align-desktop\"];\n const logoAlignMobile = this.cssVariables[\"--beam-SubscriptionManagement-logo-align-mobile\"];\n const previousImpactCount = this.personalImpactDataController.data?.personal?.length ?? 0;\n if (\n this.subscriptionDataController.loading ||\n this.eligibleNonprofitsDataController.loading ||\n this.personalImpactDataController.loading\n ) {\n _loading();\n }\n\n if (\n (this.subscriptionDataController.error ||\n this.eligibleNonprofitsDataController.error ||\n this.personalImpactDataController.error) &&\n this.debug\n ) {\n if (this.subscriptionDataController.error !== null) {\n return _errorMessage({ error: this.subscriptionDataController.error });\n } else if (this.eligibleNonprofitsDataController.error !== null) {\n return _errorMessage({ error: this.eligibleNonprofitsDataController.error });\n } else if (this.personalImpactDataController.error !== null) {\n return _errorMessage({ error: this.personalImpactDataController.error });\n }\n } else {\n content = \"\";\n }\n\n if (this.activeWidget === \"select-subscription-nonprofit\") {\n content = html` <beam-select-subscription-nonprofit\n part=\"subscription-nonprofit\"\n storeId=\"${this.storeId}\"\n subscriptionId=\"${this.subscriptionId}\"\n nonprofitId=${this.nonprofitId}\n selectedNonprofitId=${this.selectedNonprofitId}\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n postalCode=\"${this.postalCode}\"\n countryCode=\"${this.countryCode}\"\n lang=\"${this.lang}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n @beamnonprofitselect=\"${(event: Event) => this.handleNonprofitSelect(event)}\"\n ></beam-select-subscription-nonprofit>`;\n } else if (this.activeWidget === \"subscription-impact\") {\n content = html`\n <beam-subscription-impact\n part=\"subscription-impact\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n storeId=\"${this.storeId}\"\n beamUserId=\"${this.beamUserId}\"\n nonprofitId=\"${this.nonprofitId}\"\n lang=\"${this.lang}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n ></beam-subscription-impact>\n `;\n }\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <div class=\"widget-container\">\n <div class=\"header\">\n <div class=\"header-content\">\n <div\n class=\"logo ${this.isMobile\n ? logoAlignMobile === \"center\"\n ? \"center-align-logo\"\n : \"left-align-logo\"\n : logoAlignDesktop === \"center\"\n ? \"center-align-logo\"\n : \"left-align-logo\"}\"\n >\n <beam-partner-logos\n partnerName=\"${this.eligibleNonprofitsDataController.data?.chain.name}\"\n partnerLogoUrl=\"${this.eligibleNonprofitsDataController.data?.chain.logoUrl}\"\n ></beam-partner-logos>\n </div>\n ${this.nonprofitId\n ? html` <div class=\"meatballsMenu\" @click=\"${() => (this.dropdownVisible = !this.dropdownVisible)}\">\n <span>…</span>\n <div class=\"dropdown-container ${this.dropdownVisible ? \"visible\" : \"\"}\">\n ${this.activeWidget === \"select-subscription-nonprofit\"\n ? html`<button\n @click=\"${this.handleBackToSubscriptionImpactButtonClick}\"\n class=\"drop-down-options button\"\n >\n ${localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"previousNonprofitButtonText\"] || \"\"\n ) || strings[this.configLang].previousNonprofitButton()}\n </button>`\n : this.activeWidget === \"subscription-impact\"\n ? html`<button @click=\"${this.handleSwapNonprofitButtonClick}\" class=\"drop-down-options button\">\n ${localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"changeNonprofitButtonText\"] || \"\"\n ) || strings[this.configLang].changeNonprofitButton()}\n </button>`\n : \"\"}\n </div>\n </div>`\n : html``}\n </div>\n </div>\n <div class=\"sub-widget-container\">${content}</div>\n ${previousImpactCount > MIN_PREVIOUS_IMPACT\n ? html` <div class=\"line-break\"></div>\n\n <div\n class=\"previous-impact-container ${this.isMobile\n ? \"--beam-SubscriptionManagement-previousImpactContainer-padding-mobile\"\n : \"--beam-SubscriptionManagement-previousImpactContainer-padding-desktop\"}\"\n >\n <h2 class=\"previous-impact-title\">\n ${localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"previousImpactHeader\"] || \"\"\n ) || strings[this.configLang].previousImpactHeader()}\n </h2>\n <div class=\"cardGrid\">\n ${this.renderPreviousImpactTiles({\n personalImpact: this.personalImpactDataController.data?.personal,\n cardStyle,\n eligibleNonprofitConfig: this.eligibleNonprofitsDataController.data?.config,\n })}\n </div>\n ${previousImpactCount > INITIAL_TILE_COUNT\n ? html`\n <div class=\"previous-impact-link-container\">\n <button\n @click=\"${() => (this.showAllTiles = !this.showAllTiles)}\"\n class=\"previous-impact-link button\"\n >\n ${this.showAllTiles\n ? localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"showLessButton\"] || \"\"\n ) || strings[this.configLang].showLessButton()\n : localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"showAllButton\"] || \"\"\n ) || strings[this.configLang].showAllButton()}\n </button>\n </div>\n `\n : html``}\n </div>`\n : html``}\n </div>\n `;\n }\n}\n\ndefineCustomElement(BeamSubscriptionManagement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-subscription-management\": BeamSubscriptionManagement;\n }\n}\n"],"names":["strings","INITIAL_TILE_COUNT","MIN_PREVIOUS_IMPACT","MIN_PROGRESS_THRESHOLD","MAX_PROGRESS_THRESHOLD","BeamSubscriptionManagement","LitElement","DEFAULT_BASE_URL","AsyncController","SUPPORTED_LANGUAGES","MissingConfig","enforceConfig","eligibleNonprofitResult","postChainEligibleNonprofitsForCart","makeApiKeyHeader","WIDGET_NAMES","subscriptionResult","postFindOrCreateSubscription","impactResult","getImpact","nonprofitId","nonprofitName","event","BeamNonprofitSelectEvent","selectedNonprofitId","np","progressValue","defaults","partnerLogosConfigDefaults","progressBarConfigDefaults","defineCustomText","remoteConfig","config","_cssVariableMap","personalImpact","cardStyle","eligibleNonprofitConfig","html","tilesToShow","emojiIndex","previousImpact","goalCompletionText","description","goalProgressPercentage","goalProgressText","cause","causeIconSelectedUrl","causeIconUrl","website","name","id","isEligibleToSupportAgain","showProgressBar","emoji","localizeUserString","unsafeHTML","data","loading","error","_loading","_errorMessage","content","logoAlignDesktop","logoAlignMobile","previousImpactCount","cssReset","css","useCustomText","cssCardGrid","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subscription-management.js","sources":["../../src/components/subscription-management/strings.ts","../../src/components/subscription-management/index.ts"],"sourcesContent":["export const strings = {\n en: {\n changeNonprofitButton: () => `Change Nonprofit`,\n previousImpactHeader: () => `Your Previous Impact`,\n previousNonprofitButton: () => `Back to Previous Nonprofit`,\n supportAgainButton: () => `Support Again`,\n via: () => `via`,\n showAllButton: () => `Show All`,\n showLessButton: () => `Show Less`,\n },\n fr: {\n changeNonprofitButton: () => `Change Nonprofit`,\n previousImpactHeader: () => `Your Previous Impact`,\n previousNonprofitButton: () => `Back to Previous Nonprofit`,\n supportAgainButton: () => `Support Again`,\n via: () => `via`,\n showAllButton: () => `Show All`,\n showLessButton: () => `Show Less`,\n },\n de: {\n changeNonprofitButton: () => `Change Nonprofit`,\n previousImpactHeader: () => `Your Previous Impact`,\n previousNonprofitButton: () => `Back to Previous Nonprofit`,\n supportAgainButton: () => `Support Again`,\n via: () => `via`,\n showAllButton: () => `Show All`,\n showLessButton: () => `Show Less`,\n },\n es: {\n changeNonprofitButton: () => `Change Nonprofit`,\n previousImpactHeader: () => `Your Previous Impact`,\n previousNonprofitButton: () => `Back to Previous Nonprofit`,\n supportAgainButton: () => `Support Again`,\n via: () => `via`,\n showAllButton: () => `Show All`,\n showLessButton: () => `Show Less`,\n },\n it: {\n changeNonprofitButton: () => `Change Nonprofit`,\n previousImpactHeader: () => `Your Previous Impact`,\n previousNonprofitButton: () => `Back to Previous Nonprofit`,\n supportAgainButton: () => `Support Again`,\n via: () => `via`,\n showAllButton: () => `Show All`,\n showLessButton: () => `Show Less`,\n },\n pl: {\n changeNonprofitButton: () => `Change Nonprofit`,\n previousImpactHeader: () => `Your Previous Impact`,\n previousNonprofitButton: () => `Back to Previous Nonprofit`,\n supportAgainButton: () => `Support Again`,\n via: () => `via`,\n showAllButton: () => `Show All`,\n showLessButton: () => `Show Less`,\n },\n};\n","import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { unsafeHTML } from \"lit/directives/unsafe-html.js\";\nimport { DEFAULT_BASE_URL, SUPPORTED_LANGUAGES, WIDGET_NAMES } from \"../../api-sdk/constants\";\nimport { TCart } from \"../../shared/cart-contents\";\nimport { progressBarConfigDefaults } from \"../../shared/components/progress-bar\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { postFindOrCreateSubscription, postChainEligibleNonprofitsForCart, getImpact } from \"../../api-sdk/v3/routes\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomText, useCustomText } from \"../../shared/fragments/custom-text\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { _cssVariableMap } from \"../../shared/fragments/css-variable-map\";\nimport { BeamNonprofitSelectEvent } from \"../../utils/events\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport \"../select-subscription-nonprofit\";\nimport \"../subscription-impact\";\nimport \"../beam-partner-logos\";\nimport \"../../shared/components/progress-bar\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { partnerLogosConfigDefaults } from \"../beam-partner-logos\";\nimport { makeApiKeyHeader } from \"../../utils/makeApiKeyHeader\";\nimport { _loading } from \"../../shared/fragments/loading-template\";\nimport { localizeUserString } from \"../../shared/localize\";\nimport { TNumericId } from \"../../shared/types\";\nimport { cssCardGrid } from \"../../shared/fragments/css-card-grid\";\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\ntype TRequiredDataProps = RequiredDataPropsWithEmail | RequiredDataPropsWithPartnerUserId;\nexport type TIAPIV3PersonalImpact = Awaited<ReturnType<typeof import(\"../../api-sdk/v3/routes\").getImpact>>[\"personal\"];\nexport type TIAPIV3EligibleNonprofits = Awaited<\n ReturnType<typeof import(\"../../api-sdk/v3/routes\").getChainNonprofits>\n>[\"nonprofits\"];\nexport type TIAPIV3EligibleNonprofitConfig = Awaited<\n ReturnType<typeof import(\"../../api-sdk/v3/routes\").getChainNonprofits>\n>[\"config\"];\n\nconst INITIAL_TILE_COUNT = 3;\nconst MIN_PREVIOUS_IMPACT = 0;\nconst MIN_PROGRESS_THRESHOLD = 1;\nconst MAX_PROGRESS_THRESHOLD = 98;\n\nexport class BeamSubscriptionManagement extends LitElement {\n static tagName = \"beam-subscription-management\";\n\n @property({ type: String })\n public baseUrl: string = DEFAULT_BASE_URL;\n\n @property({ type: String })\n public apiKey!: TRequiredDataProps[\"apiKey\"];\n\n @property({ type: String })\n public subscriptionId!: TRequiredDataProps[\"subscriptionId\"];\n\n @property({ type: Number, reflect: true })\n public storeId?: number; // Either storeId or postalCode, countryCode must be provided\n\n @property({ type: String })\n public email?: RequiredDataPropsWithEmail[\"email\"]; // Either email or partnerUserId must be provided\n\n @property({ type: String })\n public partnerUserId?: RequiredDataPropsWithPartnerUserId[\"partnerUserId\"]; // Either email or partnerUserId must be provided\n\n @property({ type: String })\n public postalCode?: string;\n\n @property({ type: String })\n public countryCode?: string;\n\n @property({ type: Number, reflect: true })\n public selectedNonprofitId?: TNumericId;\n\n @property({ type: String })\n public lang: LANGUAGES = \"en\";\n\n @property({ type: Object })\n public cart?: TCart;\n\n @property({ type: Boolean })\n public debug = false;\n\n @property({ type: Boolean })\n public draftConfig = false;\n\n get configLang() {\n return SUPPORTED_LANGUAGES[this.lang] || \"en\";\n }\n\n @state() private activeWidget: \"select-subscription-nonprofit\" | \"subscription-impact\" | null = null; // Based on /findSubscriptionByRemoteId\n @state() private nonprofitId: number | null = null; // From /findSubscriptionByRemoteId response\n @state() private beamUserId: string | null = null; // From findSubscriptionByRemoteId\n @state() private eligibleNonprofits: TIAPIV3EligibleNonprofits = [];\n @state() private showAllTiles = false;\n @state() private isMobile = window.innerWidth < 720;\n @state() private dropdownVisible = false;\n @state() private emojis = [\"👏\", \"💪\", \"🙌\", \"✨\", \"🥇\"];\n\n private subscriptionDataController = new AsyncController<typeof this.fetchSubscription>(this, this.fetchSubscription);\n private eligibleNonprofitsDataController = new AsyncController<typeof this.fetchEligibleNonprofits>(\n this,\n this.fetchEligibleNonprofits\n );\n private personalImpactDataController = new AsyncController<typeof this.fetchImpact>(this, this.fetchImpact);\n\n async firstUpdated() {\n if (!this.email && !this.partnerUserId) {\n throw new MissingConfig(\n [\"email\", \"partnerUserId\"],\n \"One of the following properties needs to be specified: email, partnerUserId \"\n );\n }\n enforceConfig<TRequiredDataProps>([\"apiKey\", \"subscriptionId\"], this);\n await this.loadWidget();\n }\n\n async loadWidget() {\n // In parallel:\n // (1). Fetch eligible nonprofits [storeId and chainName]\n // (2). Fetch subscription [userId and nonprofitId]\n await Promise.all([this.fetchEligibleNonprofits(), this.fetchSubscription()]);\n await this.fetchImpact();\n this.activeWidget = this.nonprofitId ? \"subscription-impact\" : \"select-subscription-nonprofit\";\n }\n\n async fetchEligibleNonprofits() {\n enforceConfig<TRequiredDataProps>([\"apiKey\", \"subscriptionId\"], this);\n const eligibleNonprofitResult = await postChainEligibleNonprofitsForCart({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n requestBody: {\n storeId: this.storeId || undefined,\n postalCode: this.postalCode || undefined,\n countryCode: this.countryCode || undefined,\n widgetName: WIDGET_NAMES.subscription_management,\n version: \"1.0.0\",\n },\n });\n this.storeId = eligibleNonprofitResult.store.id;\n this.eligibleNonprofits = eligibleNonprofitResult.nonprofits;\n this.eligibleNonprofitsDataController.data = eligibleNonprofitResult;\n return eligibleNonprofitResult;\n }\n\n async fetchSubscription() {\n enforceConfig<TRequiredDataProps>([\"apiKey\", \"subscriptionId\"], this);\n const subscriptionResult = 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 this.beamUserId = subscriptionResult.beamUserId; // Returned in response regardless of subscription redemption\n this.nonprofitId = subscriptionResult.nonprofit?.id || null;\n return subscriptionResult;\n }\n\n async fetchImpact() {\n enforceConfig<TRequiredDataProps>([\"apiKey\"], this);\n\n const impactResult = await getImpact({\n baseUrl: this.baseUrl,\n headers: makeApiKeyHeader(this.apiKey),\n queryParams: {\n beamUserId: this.beamUserId ? this.beamUserId : undefined,\n widgetName: \"subscription-management\",\n version: \"1.0.0\",\n lang: this.configLang,\n },\n });\n this.personalImpactDataController.data = impactResult;\n return impactResult;\n }\n\n handleSwapNonprofitButtonClick() {\n this.activeWidget = \"select-subscription-nonprofit\";\n }\n\n handleBackToSubscriptionImpactButtonClick() {\n this.activeWidget = \"subscription-impact\";\n }\n\n handleSupportAgainButtonClick(nonprofitId: TNumericId, nonprofitName: string) {\n this.activeWidget = \"select-subscription-nonprofit\";\n this.selectedNonprofitId = nonprofitId;\n\n const event = new BeamNonprofitSelectEvent({\n selectedNonprofitId: nonprofitId,\n nonprofitName: nonprofitName,\n source: WIDGET_NAMES.subscription_management,\n });\n this.dispatchEvent(event);\n }\n\n handleNonprofitSelect(event: Event) {\n if (!(event instanceof BeamNonprofitSelectEvent)) return; // TypeScript guard\n const { selectedNonprofitId } = event.detail;\n this.nonprofitId = selectedNonprofitId ?? null;\n this.activeWidget = \"subscription-impact\";\n }\n\n isNonprofitEligible(nonprofitId: TNumericId) {\n return this.eligibleNonprofits.some((np: TIAPIV3EligibleNonprofits[0]) => np.nonprofit.id === nonprofitId);\n }\n\n shouldDisplayProgressBar(progressValue: number) {\n return progressValue > MIN_PROGRESS_THRESHOLD && progressValue < MAX_PROGRESS_THRESHOLD;\n }\n\n public get cssVariables() {\n const defaults = {\n ...partnerLogosConfigDefaults,\n ...progressBarConfigDefaults,\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n \"--beam-SubscriptionManagement-widgetContainer-borderColor\": \"#d5d5d5\",\n \"--beam-SubscriptionManagement-widgetContainer-borderRadius\": \"4px\",\n \"--beam-SubscriptionManagement-widgetContainer-padding\": \"8px 20px\",\n \"--beam-SubscriptionManagement-widgetContainer-backgroundColor\": \"inherit\",\n \"--beam-SubscriptionManagement-widgetContainer-maxWidth\": \"820px\",\n \"--beam-SubscriptionManagement-logo-align-desktop\": \"left\",\n \"--beam-SubscriptionManagement-logo-align-mobile\": \"center\",\n \"--beam-SubscriptionManagement-previousImpact-cardStyle\": \"'selected_icon'\",\n \"--beam-SubscriptionManagement-header-padding\": \"10px 20px 10px 0px\",\n \"--beam-SubscriptionManagement-header-borderRadius\": \"0px\",\n \"--beam-SubscriptionManagement-header-backgroundColor\": \"#fff\",\n \"--beam-SubscriptionManagement-header-meatballsMenu-fontSize\": \"24px\",\n \"--beam-SubscriptionManagement-header-meatballsMenu-color\": \"24px\",\n \"--beam-SubscriptionManagement-lineBreak-color\": \"#ddd\",\n \"--beam-SubscriptionManagement-lineBreak-width\": \"1px\",\n \"--beam-SubscriptionManagement-lineBreak-margin\": \"10px 0 20px 0\",\n \"--beam-SubscriptionManagement-tile-marginBottom\": \"20px\",\n \"--beam-SubscriptionManagement-tile-border-width\": \"0px\",\n \"--beam-SubscriptionManagement-tile-border-color\": \"#ddd\",\n \"--beam-SubscriptionManagement-tile-padding\": \"12.5px\",\n \"--beam-SubscriptionManagement-tile-borderRadius\": \"8px\",\n \"--beam-SubscriptionManagement-tile-background\": \"#f8fbfb\",\n \"--beam-SubscriptionManagement-tileContent-gap\": \" 15px\",\n \"--beam-SubscriptionManagement-tileContent-padding\": \"5px 0px\",\n \"--beam-SubscriptionManagement-tile-icon-borderRadius\": \"4px\",\n \"--beam-SubscriptionManagement-tile-icon-height\": \"28px\",\n \"--beam-SubscriptionManagement-tile-icon-background-borderRadius\": \"50%\",\n \"--beam-SubscriptionManagement-tile-icon-background-width\": \"50px\",\n \"--beam-SubscriptionManagement-tile-icon-background-height\": \"50px\",\n \"--beam-SubscriptionManagement-tile-icon-background-backgroundColor\": \"#0a323c\",\n \"--beam-SubscriptionManagement-tile-icon-background-padding\": \"10px\",\n \"--beam-SubscriptionManagement-blockTileDescription-gap\": \"5px\",\n \"--beam-SubscriptionManagement-blockTileDescription-padding\": \"0px\",\n \"--beam-SubscriptionManagement-blockTileDescription-lineHeight\": \"130%\",\n \"--beam-SubscriptionManagement-blockTileDescription-progressBar-width-desktop\": \"60%\",\n \"--beam-SubscriptionManagement-blockTileDescription-progressBar-width-mobile\": \"100%\",\n \"--beam-SubscriptionManagement-subWidgetContainer-padding\": \"0px 0px 10px\",\n \"--beam-SubscriptionManagement-previousImpactContainer-padding-desktop\": \"10px 24px 10px 0px\",\n \"--beam-SubscriptionManagement-previousImpactContainer-padding-mobile\": \"0px\",\n \"--beam-SubscriptionManagement-dropDown-padding\": \"15px 8px\",\n \"--beam-SubscriptionManagement-dropDown-borderRadius\": \"8px\",\n \"--beam-SubscriptionManagement-dropDown-backgroundColor\": \"#f8fbfb\",\n \"--beam-SubscriptionManagement-dropDown-boxShadow\": \"0px 4px 28px 0px rgba(0, 0, 0, 0.04)\",\n \"--beam-SubscriptionManagement-dropDown-width\": \"128px\",\n \"--beam-SubscriptionManagement-dropDown-hover-backgroundColor\": \"#E1F1EE\",\n \"--beam-SubscriptionManagement-dropDownOptions-textDecoration\": \"underline\",\n ...defineCustomText(\"--beam-SubscriptionManagement-dropDownOptions\", {\n fontSize: \"12px\",\n fontWeight: \"400\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n \"--beam-SubscriptionManagement-yourPreviousImpactTitle-marginBottom\": \"15px\",\n ...defineCustomText(\"--beam-SubscriptionManagement-yourPreviousImpactTitle\", {\n fontSize: \"18px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n \"--beam-SubscriptionManagement-yourPreviousImpact-showAllButton-textDecoration\": \"underline\",\n ...defineCustomText(\"--beam-SubscriptionManagement-yourPreviousImpact-showAllButton\", {\n fontSize: \"12px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n \"--beam-SubscriptionManagement-tile-title-letterSpacing\": \"0.36px\",\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-title\", {\n fontSize: \"12px\",\n fontWeight: \"bold\",\n lineHeight: \"120%\",\n textTransform: \"uppercase\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-description\", {\n fontSize: \"14px\",\n lineHeight: \"120%\",\n fontStyle: \"normal\",\n color: \"#454a47\",\n }),\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-via\", {\n fontSize: \"14px\",\n lineHeight: \"120%\",\n fontStyle: \"normal\",\n color: \"#454a47\",\n }),\n \"--beam-SubscriptionManagement-tile-nonprofitLink-textDecoration\": \"underline\",\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-nonprofitLink\", {\n fontSize: \"14px\",\n fontWeight: \"400\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n \"--beam-SubscriptionManagement-tile-supportAgainButton-textDecoration\": \"underline\",\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-supportAgainButton\", {\n fontSize: \"14px\",\n fontWeight: \"400\",\n lineHeight: \"120%\",\n textTransform: \"capitalize\",\n fontStyle: \"normal\",\n color: \"#0a323c\",\n }),\n \"--beam-SubscriptionManagement-tile-progressBarLabel-marginLeft\": \"8px\",\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-progressBarLabel\", {\n fontSize: \"10px\",\n fontWeight: \"bold\",\n fontStyle: \"normal\",\n color: \"#878a92\",\n }),\n \"--beam-SubscriptionManagement-tile-fundedAmount-lineHeight\": \"16px\",\n ...defineCustomText(\"--beam-SubscriptionManagement-tile-fundedAmount\", {\n fontSize: \"14px\",\n fontWeight: \"400\",\n lineHeight: \"120%\",\n fontStyle: \"italic\",\n color: \"#0a323c\",\n }),\n };\n\n const remoteConfig = this.eligibleNonprofitsDataController?.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 return Object.assign(serializable, config);\n }\n\n static styles = [\n cssReset,\n css`\n :host {\n display: block;\n font-family: var(--beam-fontFamily);\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 .drop-down-options {\n text-decoration: var(--beam-SubscriptionManagement-dropDownOptions-textDecoration);\n ${useCustomText(\"--beam-SubscriptionManagement-dropDownOptions\")};\n }\n .widget-container {\n background-color: var(--beam-SubscriptionManagement-widgetContainer-backgroundColor);\n border: 1px solid var(--beam-SubscriptionManagement-widgetContainer-borderColor);\n border-radius: var(--beam-SubscriptionManagement-widgetContainer-borderRadius);\n padding: var(--beam-SubscriptionManagement-widgetContainer-padding);\n max-width: var(--beam-SubscriptionManagement-widgetContainer-maxWidth);\n }\n .header {\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n padding: var(--beam-SubscriptionManagement-header-padding);\n border-radius: var(--beam-SubscriptionManagement-header-borderRadius);\n background-color: var(--beam-SubscriptionManagement-header-backgroundColor);\n }\n .header-content {\n display: flex;\n justify-content: space-between;\n width: 100%;\n }\n .button {\n cursor: pointer;\n background: none;\n border: none;\n }\n .header .meatballsMenu {\n position: relative;\n cursor: pointer;\n }\n .header .meatballsMenu span {\n font-size: var(--beam-SubscriptionManagement-header-meatballsMenu-fontSize);\n color: var(--beam-SubscriptionManagement-header-meatballsMenu-color);\n }\n .dropdown-container {\n display: none;\n position: absolute;\n right: 0;\n z-index: 1;\n padding: var(--beam-SubscriptionManagement-dropDown-padding);\n border-radius: var(--beam-SubscriptionManagement-dropDown-borderRadius);\n background: var(--beam-SubscriptionManagement-dropDown-backgroundColor);\n box-shadow: var(--beam-SubscriptionManagement-dropDown-boxShadow);\n width: var(--beam-SubscriptionManagement-dropDown-width);\n }\n .dropdown-container.visible {\n display: block;\n }\n .dropdown-container:hover {\n background-color: var(--beam-SubscriptionManagement-dropDown-hover-backgroundColor);\n }\n .line-break {\n border-top: var(--beam-SubscriptionManagement-lineBreak-width) solid\n var(--beam-SubscriptionManagement-lineBreak-color);\n margin: var(--beam-SubscriptionManagement-lineBreak-margin);\n }\n .tile {\n border: var(--beam-SubscriptionManagement-tile-border-width) solid\n var(--beam-SubscriptionManagement-tile-border-color);\n padding: var(--beam-SubscriptionManagement-tile-padding);\n border-radius: var(--beam-SubscriptionManagement-tile-borderRadius);\n background: var(--beam-SubscriptionManagement-tile-background);\n }\n .tile-title {\n letter-spacing: var(--beam-SubscriptionManagement-tile-title-letterSpacing);\n ${useCustomText(\"--beam-SubscriptionManagement-tile-title\")};\n }\n .tile-content {\n display: flex;\n flex-direction: row;\n gap: var(--beam-SubscriptionManagement-tileContent-gap);\n padding: var(--beam-SubscriptionManagement-tileContent-padding);\n }\n .tile-description-block-container {\n flex: 1 1 67%;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: var(--beam-SubscriptionManagement-blockTileDescription-gap);\n padding: var(--beam-SubscriptionManagement-blockTileDescription-padding);\n line-height: var(--beam-SubscriptionManagement-blockTileDescription-lineHeight);\n }\n .sub-widget-container {\n padding: var(--beam-SubscriptionManagement-subWidgetContainer-padding);\n }\n .previous-impact-title {\n margin-bottom: var(--beam-SubscriptionManagement-yourPreviousImpactTitle-marginBottom);\n ${useCustomText(\"--beam-SubscriptionManagement-yourPreviousImpactTitle\")};\n }\n .tile-description {\n ${useCustomText(\"--beam-SubscriptionManagement-tile-description\")};\n }\n .via {\n ${useCustomText(\"--beam-SubscriptionManagement-tile-via\")};\n }\n .center-align-logo {\n margin-left: auto;\n margin-right: auto;\n }\n .left-align-logo {\n margin-left: 0;\n margin-right: auto;\n }\n .previous-impact-link-container {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .previous-impact-link {\n text-decoration-line: var(--beam-SubscriptionManagement-yourPreviousImpact-showAllButton-textDecoration);\n ${useCustomText(\"--beam-SubscriptionManagement-yourPreviousImpact-showAllButton\")};\n }\n .icon-background {\n width: var(--beam-SubscriptionManagement-tile-icon-background-width);\n height: var(--beam-SubscriptionManagement-tile-icon-background-height);\n border-radius: var(--beam-SubscriptionManagement-tile-icon-background-borderRadius);\n padding: var(--beam-SubscriptionManagement-tile-icon-background-padding);\n overflow: hidden;\n background: var(--beam-SubscriptionManagement-tile-icon-background-backgroundColor);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .icon {\n display: block;\n margin: auto;\n border-radius: var(--beam-SubscriptionManagement-tile-icon-borderRadius);\n height: var(--beam-SubscriptionManagement-tile-icon-height);\n }\n .tile-progress-bar-container-desktop {\n display: flex;\n align-items: center;\n width: var(--beam-SubscriptionManagement-blockTileDescription-progressBar-width-desktop);\n }\n .tile-progress-bar-container-mobile {\n display: flex;\n align-items: center;\n width: var(--beam-SubscriptionManagement-blockTileDescription-progressBar-width-mobile);\n }\n .previous-impact-nonprofit-link {\n text-decoration-line: var(--beam-SubscriptionManagement-tile-nonprofitLink-textDecoration);\n ${useCustomText(\"--beam-SubscriptionManagement-tile-nonprofitLink\")};\n }\n .details-funding-progress-label {\n white-space: nowrap;\n flex: 0 1;\n margin-left: var(--beam-SubscriptionManagement-tile-progressBarLabel-marginLeft);\n ${useCustomText(\"--beam-SubscriptionManagement-tile-progressBarLabel\")};\n }\n .funded-times {\n line-height: var(--beam-SubscriptionManagement-tile-fundedAmount-lineHeight);\n ${useCustomText(\"--beam-SubscriptionManagement-tile-fundedAmount\")};\n }\n .tile-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n .tile-support-again {\n text-decoration-line: var(--beam-SubscriptionManagement-tile-supportAgainButton-textDecoration);\n ${useCustomText(\"--beam-SubscriptionManagement-tile-supportAgainButton\")};\n }\n `,\n cssCardGrid({\n gap: \"var(--beam-SubscriptionManagement-tile-marginBottom)\",\n itemMinWidth: \"250px\",\n columnCount: \"1\",\n }),\n ];\n\n private renderPreviousImpactTiles({\n personalImpact,\n cardStyle,\n eligibleNonprofitConfig,\n }: {\n personalImpact?: TIAPIV3PersonalImpact;\n cardStyle: string;\n eligibleNonprofitConfig?: TIAPIV3EligibleNonprofitConfig;\n }) {\n if (!personalImpact) {\n return html``;\n }\n if (!eligibleNonprofitConfig) {\n return html``;\n }\n\n const tilesToShow = this.showAllTiles ? personalImpact : personalImpact.slice(0, INITIAL_TILE_COUNT);\n let emojiIndex = 0;\n return html`\n ${tilesToShow\n .filter((previousImpact) => previousImpact.nonprofit.includeInPersonalImpact === true)\n .map((previousImpact) => {\n const {\n impact: { goalCompletionText, description, goalProgressPercentage, goalProgressText },\n nonprofit: { cause, causeIconSelectedUrl, causeIconUrl, website, name, id },\n } = previousImpact;\n\n const isEligibleToSupportAgain = this.nonprofitId !== id && this.isNonprofitEligible(id);\n const showProgressBar = isEligibleToSupportAgain && this.shouldDisplayProgressBar(goalProgressPercentage);\n const emoji = goalCompletionText ? `${this.emojis[emojiIndex]} ` : \"\";\n emojiIndex = (emojiIndex + 1) % this.emojis.length;\n\n return html`\n <div class=\"tile\">\n <div class=\"tile-header\">\n <div class=\"tile-title\">${localizeUserString(this.configLang, cause || \"\")}</div>\n ${isEligibleToSupportAgain\n ? html` <button\n class=\"tile-support-again button\"\n @click=\"${() => this.handleSupportAgainButtonClick(id, name)}\"\n >\n ${localizeUserString(\n this.configLang,\n eligibleNonprofitConfig?.web?.additionalStrings?.[\"supportAgainButton\"] || \"\"\n ) || strings[this.configLang].supportAgainButton()}\n </button>`\n : html``}\n </div>\n <div class=\"tile-content\">\n <div class=\"icon-background\">\n <img\n src=\"${cardStyle === \"'selected_icon'\" ? causeIconSelectedUrl : causeIconUrl}\"\n alt=\"${cause}\"\n class=\"icon\"\n />\n </div>\n <div class=\"tile-description-block-container\">\n <div class=\"tile-description-container\">\n <span class=\"tile-description\">${localizeUserString(this.configLang, description || \"\")}</span>\n <span class=\"via\"\n >${localizeUserString(\n this.configLang,\n eligibleNonprofitConfig?.web?.additionalStrings?.[\"via\"] || \"\"\n ) || strings[this.configLang].via()}</span\n >\n <a href=\"${website}\" target=\"_blank\" class=\"previous-impact-nonprofit-link\">\n ${localizeUserString(this.configLang, name || \"\")}\n </a>\n </div>\n ${showProgressBar\n ? html` <div\n class=\"${this.isMobile\n ? \"tile-progress-bar-container-mobile\"\n : \"tile-progress-bar-container-desktop\"}\"\n >\n <beam-progress-bar value=\"${goalProgressPercentage}\" style=\"flex: 1 0;\"></beam-progress-bar>\n <span class=\"details-funding-progress-label\">${goalProgressText}</span>\n </div>`\n : html``}\n <div class=\"funded-times\">\n ${emoji}${unsafeHTML(localizeUserString(this.configLang, goalCompletionText))}\n </div>\n </div>\n </div>\n </div>\n `;\n })}\n `;\n }\n\n render() {\n const { data, loading, error } = this.eligibleNonprofitsDataController;\n if (loading) {\n return _loading();\n }\n if (error || data == null) {\n return this.debug ? _errorMessage({ error: error || new Error(\"No data\") }) : \"\";\n }\n let content;\n const cardStyle = this.cssVariables[\"--beam-SubscriptionManagement-previousImpact-cardStyle\"];\n const logoAlignDesktop = this.cssVariables[\"--beam-SubscriptionManagement-logo-align-desktop\"];\n const logoAlignMobile = this.cssVariables[\"--beam-SubscriptionManagement-logo-align-mobile\"];\n const previousImpactCount = this.personalImpactDataController.data?.personal?.length ?? 0;\n if (\n this.subscriptionDataController.loading ||\n this.eligibleNonprofitsDataController.loading ||\n this.personalImpactDataController.loading\n ) {\n _loading();\n }\n\n if (\n (this.subscriptionDataController.error ||\n this.eligibleNonprofitsDataController.error ||\n this.personalImpactDataController.error) &&\n this.debug\n ) {\n if (this.subscriptionDataController.error !== null) {\n return _errorMessage({ error: this.subscriptionDataController.error });\n } else if (this.eligibleNonprofitsDataController.error !== null) {\n return _errorMessage({ error: this.eligibleNonprofitsDataController.error });\n } else if (this.personalImpactDataController.error !== null) {\n return _errorMessage({ error: this.personalImpactDataController.error });\n }\n } else {\n content = \"\";\n }\n\n if (this.activeWidget === \"select-subscription-nonprofit\") {\n content = html` <beam-select-subscription-nonprofit\n part=\"subscription-nonprofit\"\n storeId=\"${this.storeId}\"\n subscriptionId=\"${this.subscriptionId}\"\n nonprofitId=${this.nonprofitId}\n selectedNonprofitId=${this.selectedNonprofitId}\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n postalCode=\"${this.postalCode}\"\n countryCode=\"${this.countryCode}\"\n lang=\"${this.lang}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n @beamnonprofitselect=\"${(event: Event) => this.handleNonprofitSelect(event)}\"\n ></beam-select-subscription-nonprofit>`;\n } else if (this.activeWidget === \"subscription-impact\") {\n content = html`\n <beam-subscription-impact\n part=\"subscription-impact\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n storeId=\"${this.storeId}\"\n beamUserId=\"${this.beamUserId}\"\n nonprofitId=\"${this.nonprofitId}\"\n lang=\"${this.lang}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n ></beam-subscription-impact>\n `;\n }\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <div class=\"widget-container\">\n <div class=\"header\">\n <div class=\"header-content\">\n <div\n class=\"logo ${this.isMobile\n ? logoAlignMobile === \"center\"\n ? \"center-align-logo\"\n : \"left-align-logo\"\n : logoAlignDesktop === \"center\"\n ? \"center-align-logo\"\n : \"left-align-logo\"}\"\n >\n <beam-partner-logos\n partnerName=\"${this.eligibleNonprofitsDataController.data?.chain.name}\"\n partnerLogoUrl=\"${this.eligibleNonprofitsDataController.data?.chain.logoUrl}\"\n ></beam-partner-logos>\n </div>\n ${this.nonprofitId\n ? html` <div class=\"meatballsMenu\" @click=\"${() => (this.dropdownVisible = !this.dropdownVisible)}\">\n <span>…</span>\n <div class=\"dropdown-container ${this.dropdownVisible ? \"visible\" : \"\"}\">\n ${this.activeWidget === \"select-subscription-nonprofit\"\n ? html`<button\n @click=\"${this.handleBackToSubscriptionImpactButtonClick}\"\n class=\"drop-down-options button\"\n >\n ${localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"previousNonprofitButtonText\"] || \"\"\n ) || strings[this.configLang].previousNonprofitButton()}\n </button>`\n : this.activeWidget === \"subscription-impact\"\n ? html`<button @click=\"${this.handleSwapNonprofitButtonClick}\" class=\"drop-down-options button\">\n ${localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"changeNonprofitButtonText\"] || \"\"\n ) || strings[this.configLang].changeNonprofitButton()}\n </button>`\n : \"\"}\n </div>\n </div>`\n : html``}\n </div>\n </div>\n <div class=\"sub-widget-container\">${content}</div>\n ${previousImpactCount > MIN_PREVIOUS_IMPACT\n ? html` <div class=\"line-break\"></div>\n\n <div\n class=\"previous-impact-container ${this.isMobile\n ? \"--beam-SubscriptionManagement-previousImpactContainer-padding-mobile\"\n : \"--beam-SubscriptionManagement-previousImpactContainer-padding-desktop\"}\"\n >\n <h2 class=\"previous-impact-title\">\n ${localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"previousImpactHeader\"] || \"\"\n ) || strings[this.configLang].previousImpactHeader()}\n </h2>\n <div class=\"cardGrid\">\n ${this.renderPreviousImpactTiles({\n personalImpact: this.personalImpactDataController.data?.personal,\n cardStyle,\n eligibleNonprofitConfig: this.eligibleNonprofitsDataController.data?.config,\n })}\n </div>\n ${previousImpactCount > INITIAL_TILE_COUNT\n ? html`\n <div class=\"previous-impact-link-container\">\n <button\n @click=\"${() => (this.showAllTiles = !this.showAllTiles)}\"\n class=\"previous-impact-link button\"\n >\n ${this.showAllTiles\n ? localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"showLessButton\"] || \"\"\n ) || strings[this.configLang].showLessButton()\n : localizeUserString(\n this.configLang,\n data?.config?.web?.additionalStrings?.[\"showAllButton\"] || \"\"\n ) || strings[this.configLang].showAllButton()}\n </button>\n </div>\n `\n : html``}\n </div>`\n : html``}\n </div>\n `;\n }\n}\n\ndefineCustomElement(BeamSubscriptionManagement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-subscription-management\": BeamSubscriptionManagement;\n }\n}\n"],"names":["strings","INITIAL_TILE_COUNT","MIN_PREVIOUS_IMPACT","MIN_PROGRESS_THRESHOLD","MAX_PROGRESS_THRESHOLD","BeamSubscriptionManagement","LitElement","DEFAULT_BASE_URL","AsyncController","SUPPORTED_LANGUAGES","MissingConfig","enforceConfig","eligibleNonprofitResult","postChainEligibleNonprofitsForCart","makeApiKeyHeader","WIDGET_NAMES","subscriptionResult","postFindOrCreateSubscription","impactResult","getImpact","nonprofitId","nonprofitName","event","BeamNonprofitSelectEvent","selectedNonprofitId","np","progressValue","defaults","partnerLogosConfigDefaults","progressBarConfigDefaults","defineCustomText","remoteConfig","config","_cssVariableMap","personalImpact","cardStyle","eligibleNonprofitConfig","html","tilesToShow","emojiIndex","previousImpact","goalCompletionText","description","goalProgressPercentage","goalProgressText","cause","causeIconSelectedUrl","causeIconUrl","website","name","id","isEligibleToSupportAgain","showProgressBar","emoji","localizeUserString","unsafeHTML","data","loading","error","_loading","_errorMessage","content","logoAlignDesktop","logoAlignMobile","previousImpactCount","cssReset","css","useCustomText","cssCardGrid","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,33 +1,34 @@
|
|
|
1
|
-
export { i as WebComponents } from './chunks/index-
|
|
2
|
-
export { i as Integrations } from './chunks/index-
|
|
3
|
-
export { i as ReactComponents } from './chunks/index-
|
|
4
|
-
export { i as Utils } from './chunks/index-
|
|
1
|
+
export { i as WebComponents } from './chunks/index-DXj15KHe.esm.js';
|
|
2
|
+
export { i as Integrations } from './chunks/index-MS8_Vije.esm.js';
|
|
3
|
+
export { i as ReactComponents } from './chunks/index-DbaDUPup.esm.js';
|
|
4
|
+
export { i as Utils } from './chunks/index-Dnm34FcO.esm.js';
|
|
5
5
|
import './components/community-impact.js';
|
|
6
6
|
import 'lit';
|
|
7
7
|
import 'lit-html';
|
|
8
|
-
import './chunks/progress-bar-
|
|
8
|
+
import './chunks/progress-bar-CveZ8E6Q.esm.js';
|
|
9
9
|
import './components/beam-partner-logos.js';
|
|
10
|
-
import './chunks/types-
|
|
11
|
-
import './chunks/types-
|
|
10
|
+
import './chunks/types-C7gqAyyH.esm.js';
|
|
11
|
+
import './chunks/types-CPxMwnoR.esm.js';
|
|
12
12
|
import './components/cumulative-impact.js';
|
|
13
13
|
import 'lodash';
|
|
14
14
|
import './components/impact-overview.js';
|
|
15
|
-
import './chunks/share-button-
|
|
15
|
+
import './chunks/share-button-DBVhw4qa.esm.js';
|
|
16
16
|
import './components/select-nonprofit.js';
|
|
17
|
-
import './chunks/promo-pill-label-
|
|
18
|
-
import './chunks/cart-contents-
|
|
19
|
-
import './chunks/openapi-spec-
|
|
17
|
+
import './chunks/promo-pill-label-BXRqZHET.esm.js';
|
|
18
|
+
import './chunks/cart-contents-CUgc4y1N.esm.js';
|
|
19
|
+
import './chunks/openapi-spec-VAt3phhg.esm.js';
|
|
20
20
|
import './components/redeem-transaction.js';
|
|
21
21
|
import './components/post-purchase.js';
|
|
22
22
|
import './components/subscription-management.js';
|
|
23
|
-
import './chunks/routes-
|
|
23
|
+
import './chunks/routes-DDRd747e.esm.js';
|
|
24
24
|
import './components/select-subscription-nonprofit.js';
|
|
25
25
|
import './components/subscription-impact.js';
|
|
26
26
|
import './components/product-details-page.js';
|
|
27
27
|
import './components/social-share.js';
|
|
28
|
-
import './chunks/index-
|
|
29
|
-
import './chunks/beam-errors-
|
|
30
|
-
import './chunks/events-
|
|
28
|
+
import './chunks/index-DvbUE31b.esm.js';
|
|
29
|
+
import './chunks/beam-errors-CCe004HS.esm.js';
|
|
30
|
+
import './chunks/events-BKkf9u9l.esm.js';
|
|
31
|
+
import './chunks/promo-types-C1unMpo2.esm.js';
|
|
31
32
|
import './utils/logger.js';
|
|
32
33
|
import './utils/network-listeners.js';
|
|
33
34
|
import './utils/local-storage.js';
|
|
@@ -37,12 +38,13 @@ import './utils/remote-session.js';
|
|
|
37
38
|
import './utils/memoize-last.js';
|
|
38
39
|
import 'lodash-es/debounce';
|
|
39
40
|
import 'lodash-es/isEqual';
|
|
40
|
-
import './
|
|
41
|
-
import './chunks/
|
|
42
|
-
import './chunks/
|
|
43
|
-
import './chunks/
|
|
44
|
-
import './chunks/index-
|
|
45
|
-
import './chunks/index-
|
|
41
|
+
import './utils/promoManager.js';
|
|
42
|
+
import './chunks/index-v0tUXySN.esm.js';
|
|
43
|
+
import './chunks/order-page-tSPKLQ24.esm.js';
|
|
44
|
+
import './chunks/update-cart-NiToHHJH.esm.js';
|
|
45
|
+
import './chunks/index-C-hPf29c.esm.js';
|
|
46
|
+
import './chunks/index-BqBEii8E.esm.js';
|
|
47
|
+
import './chunks/index-CbKkAM6h.esm.js';
|
|
46
48
|
import './react/community-impact.js';
|
|
47
49
|
import '@lit/react';
|
|
48
50
|
import './react/cumulative-impact.js';
|
package/dist/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as
|
|
1
|
+
import{i as so}from"./chunks/index-oGObXjk6.esm.js";import{i as no}from"./chunks/index-B_8DexDX.esm.js";import{i as xo}from"./chunks/index-C3hpHWh1.esm.js";import{i as bo}from"./chunks/index-DhtZDPvk.esm.js";import"./components/community-impact.esm.js";import"./chunks/lit-5uUWs2aX.esm.js";import"./chunks/progress-bar-oJB_t7od.esm.js";import"./components/beam-partner-logos.esm.js";import"./chunks/enforce-config-Cw52SuAc.esm.js";import"./chunks/beam-errors-Ci0d3926.esm.js";import"./utils/logger.esm.js";import"./chunks/localize-cDQFOecn.esm.js";import"./chunks/routes-CaSRr919.esm.js";import"./chunks/loading-template-DXNS89Th.esm.js";import"./chunks/css-card-grid-B6IEaTiP.esm.js";import"./components/cumulative-impact.esm.js";import"./chunks/lodash-7H4x2457.esm.js";import"./chunks/is-all-html-elements-fcB7UUA1.esm.js";import"./components/impact-overview.esm.js";import"./chunks/_share-dialog-dependencies-CHbTSPha.esm.js";import"./chunks/vendor-DRA8u-S7.esm.js";import"./chunks/share-button-CvTUluNq.esm.js";import"./chunks/share-button-R7jgVCPv.esm.js";import"./chunks/responsive-9jAzOYoE.esm.js";import"./components/select-nonprofit.esm.js";import"./chunks/promo-pill-label-D9ptiGak.esm.js";import"./chunks/events-BohmT6Lp.esm.js";import"./utils/local-storage.esm.js";import"./chunks/promoManager-fl54hq13.esm.js";import"./utils/cookies.esm.js";import"./chunks/cart-contents-DkoytiZh.esm.js";import"./utils/cart.esm.js";import"./components/redeem-transaction.esm.js";import"./components/post-purchase.esm.js";import"./components/subscription-management.esm.js";import"./components/select-subscription-nonprofit.esm.js";import"./utils/makeApiKeyHeader.esm.js";import"./components/subscription-impact.esm.js";import"./components/product-details-page.esm.js";import"./components/social-share.esm.js";import"./chunks/index-GcpuX_TZ.esm.js";import"./utils/network-listeners.esm.js";import"./utils/wait-for-element.esm.js";import"./utils/remote-session.esm.js";import"./utils/memoize-last.esm.js";import"./chunks/index-CyiXyHi8.esm.js";import"./chunks/order-page-FzVtMkga.esm.js";import"./chunks/update-cart-DNfl9QP2.esm.js";import"./chunks/index-C_ZNnJIS.esm.js";import"./chunks/index-XZRQN4Rs.esm.js";import"./chunks/index-kDoWfjd5.esm.js";import"./react/community-impact.esm.js";import"react";import"./react/cumulative-impact.esm.js";import"./react/impact-overview.esm.js";import"./react/select-nonprofit.esm.js";import"./react/redeem-transaction.esm.js";import"./react/post-purchase.esm.js";import"./react/subscription-management.esm.js";import"./react/select-subscription-nonprofit.esm.js";import"./react/subscription-impact.esm.js";import"./react/product-details-page.esm.js";import"./react/social-share.esm.js";export{no as Integrations,xo as ReactComponents,bo as Utils,so as WebComponents};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as
|
|
1
|
+
import{i as so}from"./chunks/index-CFtmDAHb.esm.js";import{i as no}from"./chunks/index-CpPbNdWA.esm.js";import{i as xo}from"./chunks/index-D6qJfs7_.esm.js";import{i as bo}from"./chunks/index-CbWdmBet.esm.js";import"./components/community-impact.js";import"./chunks/lit-5uUWs2aX.esm.js";import"./chunks/progress-bar-oJB_t7od.esm.js";import"./components/beam-partner-logos.js";import"./chunks/enforce-config-CQb5MiAV.esm.js";import"./chunks/beam-errors-Ci0d3926.esm.js";import"./utils/logger.js";import"./chunks/localize-CQCRjY9s.esm.js";import"./chunks/routes-KHEaM_40.esm.js";import"./chunks/loading-template-DXNS89Th.esm.js";import"./chunks/css-card-grid-B6IEaTiP.esm.js";import"./components/cumulative-impact.js";import"./chunks/lodash-7H4x2457.esm.js";import"./chunks/is-all-html-elements-fcB7UUA1.esm.js";import"./components/impact-overview.js";import"./chunks/_share-dialog-dependencies-B3N69ml2.esm.js";import"./chunks/vendor-DRA8u-S7.esm.js";import"./chunks/share-button-BbG-gnwj.esm.js";import"./chunks/share-button-R7jgVCPv.esm.js";import"./chunks/responsive-9jAzOYoE.esm.js";import"./components/select-nonprofit.js";import"./chunks/promo-pill-label-D9ptiGak.esm.js";import"./chunks/events-BohmT6Lp.esm.js";import"./utils/local-storage.js";import"./chunks/promoManager-B9cTR1R3.esm.js";import"./utils/cookies.js";import"./chunks/cart-contents-DkoytiZh.esm.js";import"./utils/cart.js";import"./components/redeem-transaction.js";import"./components/post-purchase.js";import"./components/subscription-management.js";import"./components/select-subscription-nonprofit.js";import"./utils/makeApiKeyHeader.js";import"./components/subscription-impact.js";import"./components/product-details-page.js";import"./components/social-share.js";import"./chunks/index-C-beNpP0.esm.js";import"./utils/network-listeners.js";import"./utils/wait-for-element.js";import"./utils/remote-session.js";import"./utils/memoize-last.js";import"./chunks/index-JSoHc6g1.esm.js";import"./chunks/order-page-CMGPM57D.esm.js";import"./chunks/update-cart-3JFUCJLD.esm.js";import"./chunks/index-BQ4Nr7Ux.esm.js";import"./chunks/index-n7pxZENA.esm.js";import"./chunks/index-CFYWEffm.esm.js";import"./react/community-impact.js";import"react";import"./react/cumulative-impact.js";import"./react/impact-overview.js";import"./react/select-nonprofit.js";import"./react/redeem-transaction.js";import"./react/post-purchase.js";import"./react/subscription-management.js";import"./react/select-subscription-nonprofit.js";import"./react/subscription-impact.js";import"./react/product-details-page.js";import"./react/social-share.js";export{no as Integrations,xo as ReactComponents,bo as Utils,so as WebComponents};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{D as u,a as g}from"../chunks/routes-
|
|
1
|
+
import{D as u,a as g}from"../chunks/routes-CaSRr919.esm.js";import{S as y}from"../chunks/beam-errors-Ci0d3926.esm.js";import{B as h}from"../chunks/events-BohmT6Lp.esm.js";import{logger as w}from"../utils/logger.esm.js";import{s as f}from"../chunks/index-kDoWfjd5.esm.js";var v=(t,s,a)=>{if(!s.has(t))throw TypeError("Cannot "+a)},c=(t,s,a)=>{if(s.has(t))throw TypeError("Cannot add the same private member more than once");s instanceof WeakSet?s.add(t):s.set(t,a)},i=(t,s,a)=>(v(t,s,"access private method"),a),r,n,o,m;let p,l;const E=new Promise((t,s)=>{p=t,l=s});class U extends EventTarget{constructor(s){super(),c(this,r),c(this,o),this.readyPromise=E,this.plugins={},this.status="pending",i(this,r,n).call(this,s)}async init(s){i(this,r,n).call(this,s);try{await i(this,o,m).call(this,s)}catch(a){const e=new y;throw e.cause=a,this.status="error",this.dispatchEvent(new h({status:"error",error:e})),l(e),w.error(e),this.apiKey&&await f({apiKey:this.apiKey,baseUrl:this.logUrl},{type:"error",code:e.name,metadata:{message:e.message,cause:a?.message}}),a}return this.status="ready",this.dispatchEvent(new h({status:"ready"})),p(!0),this}}r=new WeakSet,n=function(t){this.apiKey=t.apiKey,this.chainId=t.chainId,this.storeId=t.storeId,this.domain=t.domain,this.baseUrl=t.baseUrl||u,this.logUrl=t.logUrl||g},o=new WeakSet,m=async function(t){const s=(t.plugins||[]).map(async a=>(await a.init(t),this.plugins[a.name]=a,a));return Promise.all(s)};const d=new U({}),S=t=>d.init(t),L=()=>d;export{L as getConfig,S as init};
|
|
2
2
|
//# sourceMappingURL=beam.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beam.esm.js","sources":["../../src/integrations/beam/index.ts"],"sourcesContent":["import { DEFAULT_BASE_URL, DEFAULT_LOG_URL } from \"../../api-sdk/constants\";\nimport { SetupError } from \"../../utils/beam-errors\";\nimport { BeamStatusChangeEvent } from \"../../utils/events\";\nimport { logger } from \"../../utils/logger\";\nimport { TApiKey, TNumericId, TUrl } from \"../../shared/types\";\nimport { sendLog } from \"../logs\";\n\nexport type BeamConfigOptions = {\n apiKey: TApiKey;\n domain?: TUrl;\n chainId: TNumericId;\n storeId?: TNumericId;\n baseUrl?: TUrl;\n logUrl?: TUrl;\n plugins?: BeamPlugin[];\n};\n\nexport type BeamPlugin = {\n name: string;\n init: (config: BeamConfigOptions) => Promise<void>;\n};\n\n// Set up a promise outside the beam config singleton so that we can keep a stable reference to the same promise\n// if anyone uses getConfig() before init() has been called with final configuration\nlet resolveBeamReadyPromise: (result: boolean) => any;\nlet rejectBeamReadyPromise: (reason: SetupError) => any;\nconst beamReadyPromiseSingleton = new Promise<boolean>((resolve, reject) => {\n resolveBeamReadyPromise = resolve;\n rejectBeamReadyPromise = reject;\n});\n\n/**\n * BeamConfig is not exported, it should be accessed as a singleton via getConfig & init\n * @example\n * import { init, getConfig } from '@beamimpact/web-sdk/dist/integrations/beam'\n * // In setup script\n * const beam = await init({ apiKey: '', chainId: 1, storeId: 1, plugins: [] })\n * // In other scripts that need to wait for Beam to be ready\n * const beam = getConfig()\n * await beam.readyPromise.then(() => doSomething())\n * // OR\n * if (beam.status !== 'ready') {\n * beam.addEventListener('beamstatuschange', event => {\n * if (event.detail.status === 'ready') doSomething()\n * else if (event.detail.status === 'error') handleBeamError()\n * })\n * }\n */\nclass BeamConfig extends EventTarget {\n apiKey?: TApiKey;\n\n chainId?: TNumericId;\n\n storeId?: TNumericId;\n\n /** Domain to set Beam cookies on, used if store and checkout are on different subdomains */\n domain?: TUrl;\n\n /** Beam server URL to make API requests */\n baseUrl?: TUrl;\n\n /** Beam server URL for logging / errors */\n logUrl?: TUrl;\n\n /** Alternative to adding event listener for beamstatuschange - resolves when Beam and all plugins are ready */\n readyPromise: Promise<boolean> = beamReadyPromiseSingleton;\n\n /** getConfig().addEventListener(\"beamstatuschange\", ({detail}) => { console.log(detail.status) }) */\n status: \"pending\" | \"ready\" | \"error\";\n\n /** Plugins such as Statsig for A/B tests - Beam waits for all plugins to initialize before emitting ready status */\n plugins: { [pluginName: string]: BeamPlugin } = {};\n\n /** Sets up Beam in pending state. This is used for initial value of Beam config singleton,\n * which allows scripts to access and wait for \"ready\" promise or event before initialization script runs.\n * Use init() to set up Beam for use. */\n constructor(options: Partial<BeamConfigOptions>) {\n super();\n this.status = \"pending\";\n this.#initFields(options);\n }\n\n /** Used by end users to set up Beam with config options and plugins. */\n async init(options: BeamConfigOptions): Promise<BeamConfig> {\n // Re-apply constructor logic with new options\n this.#initFields(options);\n try {\n await this.#initPlugins(options);\n } catch (err: any) {\n const error = new SetupError();\n error.cause = err;\n this.status = \"error\";\n this.dispatchEvent(new BeamStatusChangeEvent({ status: \"error\", error }));\n rejectBeamReadyPromise(error);\n logger.error(error);\n if (this.apiKey) {\n await sendLog(\n { apiKey: this.apiKey, baseUrl: this.logUrl },\n { type: \"error\", code: error.name, metadata: { message: error.message, cause: err?.message } }\n );\n }\n throw err;\n }\n this.status = \"ready\";\n this.dispatchEvent(new BeamStatusChangeEvent({ status: \"ready\" }));\n resolveBeamReadyPromise(true);\n return this;\n }\n\n #initFields(options: Partial<BeamConfigOptions>) {\n this.apiKey = options.apiKey;\n this.chainId = options.chainId;\n this.storeId = options.storeId;\n this.domain = options.domain;\n this.baseUrl = options.baseUrl || DEFAULT_BASE_URL;\n this.logUrl = options.logUrl || DEFAULT_LOG_URL;\n }\n\n async #initPlugins(config: BeamConfigOptions) {\n const pluginInitPromises = (config.plugins || []).map(async (plugin) => {\n await plugin.init(config);\n this.plugins[plugin.name] = plugin;\n return plugin;\n });\n return Promise.all(pluginInitPromises);\n }\n}\n\n/** We only want one instance of config throughout SDK so anyone can wait for initialization async using this\n * reference */\nconst beamConfigSingleton: BeamConfig = new BeamConfig({});\n\n/**\n * @example\n * import { init, getConfig } from '@beamimpact/web-sdk/dist/integrations/beam'\n *\n * const beam = await init({\n * apiKey: '',\n * chainId: 1,\n * storeId: 1,\n * plugins: [ new StatsigPlugin({ statsigApiKey: '' }) ]\n * })\n *\n * beam.plugins.statsig.logEvent('cart_updated', 100.00)\n */\nexport const init = (beamConfigOptions: BeamConfigOptions): Promise<BeamConfig> => {\n return beamConfigSingleton.init(beamConfigOptions);\n};\n\n/**\n * @example\n * // In scripts that need to wait for Beam to be ready\n * const beam = getConfig()\n * await beam.readyPromise\n * .then(() => doSomething(beam))\n * .catch(err => handleBeamError(err))\n * // OR\n * if (beam.status !== 'ready') {\n * beam.addEventListener('beamstatuschange', event => {\n * if (event.detail.status === 'ready') doSomething(beam)\n * else if (event.detail.status === 'error') handleBeamError(event.detail.error)\n * })\n * }\n */\nexport const getConfig = (): BeamConfig => beamConfigSingleton;\n"],"names":["h","i","r","e","m","n","_initFields","initFields_fn","_initPlugins","initPlugins_fn","resolveBeamReadyPromise","rejectBeamReadyPromise","beamReadyPromiseSingleton","resolve","reject","BeamConfig","options","__privateAdd","__privateMethod","err","error","SetupError","BeamStatusChangeEvent","logger","sendLog","DEFAULT_BASE_URL","DEFAULT_LOG_URL","config","pluginInitPromises","plugin","beamConfigSingleton","init","beamConfigOptions","getConfig"],"mappings":"+QAAA,IAAAA,EAAA,CAAAC,EAAAC,EAAAC,IAAA,CAAA,GAAA,CAAAD,EAAA,IAAAD,CAAA,EAAA,MAAA,UAAA,UAAAE,CAAA,CAAA,EAAAC,EAAA,CAAAH,EAAAC,EAAAC,IAAA,CAAA,GAAAD,EAAA,IAAAD,CAAA,EAAA,MAAA,UAAA,mDAAA,EAAAC,aAAA,QAAAA,EAAA,IAAAD,CAAA,EAAAC,EAAA,IAAAD,EAAAE,CAAA,CAAA,EAAAE,EAAA,CAAAJ,EAAAC,EAAAC,KAAAH,EAAAC,EAAAC,EAAA,uBAAA,EAAAC,GAAAG,EAAAC,EAAAC,EAAAC,EAwBA,IAAIC,EACAC,EACJ,MAAMC,EAA4B,IAAI,QAAiB,CAACC,EAASC,IAAW,CAC1EJ,EAA0BG,EAC1BF,EAAyBG,CAC3B,CAAC,EAmBD,MAAMC,UAAmB,WAAY,CA4BnC,YAAYC,EAAqC,CAC/C,MAAM,EAgCRC,EAAA,KAAAX,CASAW,EAAAA,EAAA,KAAMT,CAAAA,EArDN,KAAiCI,aAAAA,EAMjC,aAAgD,
|
|
1
|
+
{"version":3,"file":"beam.esm.js","sources":["../../src/integrations/beam/index.ts"],"sourcesContent":["import { DEFAULT_BASE_URL, DEFAULT_LOG_URL } from \"../../api-sdk/constants\";\nimport { SetupError } from \"../../utils/beam-errors\";\nimport { BeamStatusChangeEvent } from \"../../utils/events\";\nimport { logger } from \"../../utils/logger\";\nimport { TApiKey, TNumericId, TUrl } from \"../../shared/types\";\nimport { sendLog } from \"../logs\";\n\nexport type BeamConfigOptions = {\n apiKey: TApiKey;\n domain?: TUrl;\n chainId: TNumericId;\n storeId?: TNumericId;\n baseUrl?: TUrl;\n logUrl?: TUrl;\n plugins?: BeamPlugin[];\n};\n\nexport type BeamPlugin = {\n name: string;\n init: (config: BeamConfigOptions) => Promise<void>;\n};\n\n// Set up a promise outside the beam config singleton so that we can keep a stable reference to the same promise\n// if anyone uses getConfig() before init() has been called with final configuration\nlet resolveBeamReadyPromise: (result: boolean) => any;\nlet rejectBeamReadyPromise: (reason: SetupError) => any;\nconst beamReadyPromiseSingleton = new Promise<boolean>((resolve, reject) => {\n resolveBeamReadyPromise = resolve;\n rejectBeamReadyPromise = reject;\n});\n\n/**\n * BeamConfig is not exported, it should be accessed as a singleton via getConfig & init\n * @example\n * import { init, getConfig } from '@beamimpact/web-sdk/dist/integrations/beam'\n * // In setup script\n * const beam = await init({ apiKey: '', chainId: 1, storeId: 1, plugins: [] })\n * // In other scripts that need to wait for Beam to be ready\n * const beam = getConfig()\n * await beam.readyPromise.then(() => doSomething())\n * // OR\n * if (beam.status !== 'ready') {\n * beam.addEventListener('beamstatuschange', event => {\n * if (event.detail.status === 'ready') doSomething()\n * else if (event.detail.status === 'error') handleBeamError()\n * })\n * }\n */\nclass BeamConfig extends EventTarget {\n apiKey?: TApiKey;\n\n chainId?: TNumericId;\n\n storeId?: TNumericId;\n\n /** Domain to set Beam cookies on, used if store and checkout are on different subdomains */\n domain?: TUrl;\n\n /** Beam server URL to make API requests */\n baseUrl?: TUrl;\n\n /** Beam server URL for logging / errors */\n logUrl?: TUrl;\n\n /** Alternative to adding event listener for beamstatuschange - resolves when Beam and all plugins are ready */\n readyPromise: Promise<boolean> = beamReadyPromiseSingleton;\n\n /** getConfig().addEventListener(\"beamstatuschange\", ({detail}) => { console.log(detail.status) }) */\n status: \"pending\" | \"ready\" | \"error\";\n\n /** Plugins such as Statsig for A/B tests - Beam waits for all plugins to initialize before emitting ready status */\n plugins: { [pluginName: string]: BeamPlugin } = {};\n\n /** Sets up Beam in pending state. This is used for initial value of Beam config singleton,\n * which allows scripts to access and wait for \"ready\" promise or event before initialization script runs.\n * Use init() to set up Beam for use. */\n constructor(options: Partial<BeamConfigOptions>) {\n super();\n this.status = \"pending\";\n this.#initFields(options);\n }\n\n /** Used by end users to set up Beam with config options and plugins. */\n async init(options: BeamConfigOptions): Promise<BeamConfig> {\n // Re-apply constructor logic with new options\n this.#initFields(options);\n try {\n await this.#initPlugins(options);\n } catch (err: any) {\n const error = new SetupError();\n error.cause = err;\n this.status = \"error\";\n this.dispatchEvent(new BeamStatusChangeEvent({ status: \"error\", error }));\n rejectBeamReadyPromise(error);\n logger.error(error);\n if (this.apiKey) {\n await sendLog(\n { apiKey: this.apiKey, baseUrl: this.logUrl },\n { type: \"error\", code: error.name, metadata: { message: error.message, cause: err?.message } }\n );\n }\n throw err;\n }\n this.status = \"ready\";\n this.dispatchEvent(new BeamStatusChangeEvent({ status: \"ready\" }));\n resolveBeamReadyPromise(true);\n return this;\n }\n\n #initFields(options: Partial<BeamConfigOptions>) {\n this.apiKey = options.apiKey;\n this.chainId = options.chainId;\n this.storeId = options.storeId;\n this.domain = options.domain;\n this.baseUrl = options.baseUrl || DEFAULT_BASE_URL;\n this.logUrl = options.logUrl || DEFAULT_LOG_URL;\n }\n\n async #initPlugins(config: BeamConfigOptions) {\n const pluginInitPromises = (config.plugins || []).map(async (plugin) => {\n await plugin.init(config);\n this.plugins[plugin.name] = plugin;\n return plugin;\n });\n return Promise.all(pluginInitPromises);\n }\n}\n\n/** We only want one instance of config throughout SDK so anyone can wait for initialization async using this\n * reference */\nconst beamConfigSingleton: BeamConfig = new BeamConfig({});\n\n/**\n * @example\n * import { init, getConfig } from '@beamimpact/web-sdk/dist/integrations/beam'\n *\n * const beam = await init({\n * apiKey: '',\n * chainId: 1,\n * storeId: 1,\n * plugins: [ new StatsigPlugin({ statsigApiKey: '' }) ]\n * })\n *\n * beam.plugins.statsig.logEvent('cart_updated', 100.00)\n */\nexport const init = (beamConfigOptions: BeamConfigOptions): Promise<BeamConfig> => {\n return beamConfigSingleton.init(beamConfigOptions);\n};\n\n/**\n * @example\n * // In scripts that need to wait for Beam to be ready\n * const beam = getConfig()\n * await beam.readyPromise\n * .then(() => doSomething(beam))\n * .catch(err => handleBeamError(err))\n * // OR\n * if (beam.status !== 'ready') {\n * beam.addEventListener('beamstatuschange', event => {\n * if (event.detail.status === 'ready') doSomething(beam)\n * else if (event.detail.status === 'error') handleBeamError(event.detail.error)\n * })\n * }\n */\nexport const getConfig = (): BeamConfig => beamConfigSingleton;\n"],"names":["h","i","r","e","m","n","_initFields","initFields_fn","_initPlugins","initPlugins_fn","resolveBeamReadyPromise","rejectBeamReadyPromise","beamReadyPromiseSingleton","resolve","reject","BeamConfig","options","__privateAdd","__privateMethod","err","error","SetupError","BeamStatusChangeEvent","logger","sendLog","DEFAULT_BASE_URL","DEFAULT_LOG_URL","config","pluginInitPromises","plugin","beamConfigSingleton","init","beamConfigOptions","getConfig"],"mappings":"+QAAA,IAAAA,EAAA,CAAAC,EAAAC,EAAAC,IAAA,CAAA,GAAA,CAAAD,EAAA,IAAAD,CAAA,EAAA,MAAA,UAAA,UAAAE,CAAA,CAAA,EAAAC,EAAA,CAAAH,EAAAC,EAAAC,IAAA,CAAA,GAAAD,EAAA,IAAAD,CAAA,EAAA,MAAA,UAAA,mDAAA,EAAAC,aAAA,QAAAA,EAAA,IAAAD,CAAA,EAAAC,EAAA,IAAAD,EAAAE,CAAA,CAAA,EAAAE,EAAA,CAAAJ,EAAAC,EAAAC,KAAAH,EAAAC,EAAAC,EAAA,uBAAA,EAAAC,GAAAG,EAAAC,EAAAC,EAAAC,EAwBA,IAAIC,EACAC,EACJ,MAAMC,EAA4B,IAAI,QAAiB,CAACC,EAASC,IAAW,CAC1EJ,EAA0BG,EAC1BF,EAAyBG,CAC3B,CAAC,EAmBD,MAAMC,UAAmB,WAAY,CA4BnC,YAAYC,EAAqC,CAC/C,MAAM,EAgCRC,EAAA,KAAAX,CASAW,EAAAA,EAAA,KAAMT,CAAAA,EArDN,KAAiCI,aAAAA,EAMjC,aAAgD,CAAC,EAO/C,KAAK,OAAS,UACdM,EAAA,KAAKZ,EAAAC,CAAL,EAAA,KAAA,KAAiBS,CACnB,CAAA,CAGA,MAAM,KAAKA,EAAiD,CAE1DE,EAAA,KAAKZ,EAAAC,CAAAA,EAAL,KAAiBS,KAAAA,CAAAA,EACjB,GAAI,CACF,MAAME,EAAA,KAAKV,EAAAC,CAAL,EAAA,KAAA,KAAkBO,CAC1B,CAAA,OAASG,EAAU,CACjB,MAAMC,EAAQ,IAAIC,EAClB,MAAAD,EAAM,MAAQD,EACd,KAAK,OAAS,QACd,KAAK,cAAc,IAAIG,EAAsB,CAAE,OAAQ,QAAS,MAAAF,CAAM,CAAC,CAAC,EACxET,EAAuBS,CAAK,EAC5BG,EAAO,MAAMH,CAAK,EACd,KAAK,QACP,MAAMI,EACJ,CAAE,OAAQ,KAAK,OAAQ,QAAS,KAAK,MAAO,EAC5C,CAAE,KAAM,QAAS,KAAMJ,EAAM,KAAM,SAAU,CAAE,QAASA,EAAM,QAAS,MAAOD,GAAK,OAAQ,CAAE,CAC/F,EAEIA,CACR,CACA,OAAK,KAAA,OAAS,QACd,KAAK,cAAc,IAAIG,EAAsB,CAAE,OAAQ,OAAQ,CAAC,CAAC,EACjEZ,EAAwB,EAAI,EACrB,IACT,CAmBF,CAjBEJ,EAAA,IAAAC,QAAAA,EAAW,SAACS,EAAqC,CAC/C,KAAK,OAASA,EAAQ,OACtB,KAAK,QAAUA,EAAQ,QACvB,KAAK,QAAUA,EAAQ,QACvB,KAAK,OAASA,EAAQ,OACtB,KAAK,QAAUA,EAAQ,SAAWS,EAClC,KAAK,OAAST,EAAQ,QAAUU,CAClC,EAEMlB,EAAA,IAAAC,QAAAA,EAAY,eAACkB,EAA2B,CAC5C,MAAMC,GAAsBD,EAAO,SAAW,CAAA,GAAI,IAAI,MAAOE,IAC3D,MAAMA,EAAO,KAAKF,CAAM,EACxB,KAAK,QAAQE,EAAO,IAAI,EAAIA,EACrBA,EACR,EACD,OAAO,QAAQ,IAAID,CAAkB,CACvC,EAKF,MAAME,EAAkC,IAAIf,EAAW,CAAE,CAAA,EAe5CgB,EAAQC,GACZF,EAAoB,KAAKE,CAAiB,EAkBtCC,EAAY,IAAkBH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{D as u,a as g}from"../chunks/routes-
|
|
1
|
+
import{D as u,a as g}from"../chunks/routes-KHEaM_40.esm.js";import{S as y}from"../chunks/beam-errors-Ci0d3926.esm.js";import{B as h}from"../chunks/events-BohmT6Lp.esm.js";import{logger as w}from"../utils/logger.js";import{s as f}from"../chunks/index-CFYWEffm.esm.js";var v=(t,s,a)=>{if(!s.has(t))throw TypeError("Cannot "+a)},c=(t,s,a)=>{if(s.has(t))throw TypeError("Cannot add the same private member more than once");s instanceof WeakSet?s.add(t):s.set(t,a)},i=(t,s,a)=>(v(t,s,"access private method"),a),r,n,o,m;let p,l;const E=new Promise((t,s)=>{p=t,l=s});class U extends EventTarget{constructor(s){super(),c(this,r),c(this,o),this.readyPromise=E,this.plugins={},this.status="pending",i(this,r,n).call(this,s)}async init(s){i(this,r,n).call(this,s);try{await i(this,o,m).call(this,s)}catch(a){const e=new y;throw e.cause=a,this.status="error",this.dispatchEvent(new h({status:"error",error:e})),l(e),w.error(e),this.apiKey&&await f({apiKey:this.apiKey,baseUrl:this.logUrl},{type:"error",code:e.name,metadata:{message:e.message,cause:a?.message}}),a}return this.status="ready",this.dispatchEvent(new h({status:"ready"})),p(!0),this}}r=new WeakSet,n=function(t){this.apiKey=t.apiKey,this.chainId=t.chainId,this.storeId=t.storeId,this.domain=t.domain,this.baseUrl=t.baseUrl||u,this.logUrl=t.logUrl||g},o=new WeakSet,m=async function(t){const s=(t.plugins||[]).map(async a=>(await a.init(t),this.plugins[a.name]=a,a));return Promise.all(s)};const d=new U({}),S=t=>d.init(t),L=()=>d;export{L as getConfig,S as init};
|
|
2
2
|
//# sourceMappingURL=beam.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beam.js","sources":["../../src/integrations/beam/index.ts"],"sourcesContent":["import { DEFAULT_BASE_URL, DEFAULT_LOG_URL } from \"../../api-sdk/constants\";\nimport { SetupError } from \"../../utils/beam-errors\";\nimport { BeamStatusChangeEvent } from \"../../utils/events\";\nimport { logger } from \"../../utils/logger\";\nimport { TApiKey, TNumericId, TUrl } from \"../../shared/types\";\nimport { sendLog } from \"../logs\";\n\nexport type BeamConfigOptions = {\n apiKey: TApiKey;\n domain?: TUrl;\n chainId: TNumericId;\n storeId?: TNumericId;\n baseUrl?: TUrl;\n logUrl?: TUrl;\n plugins?: BeamPlugin[];\n};\n\nexport type BeamPlugin = {\n name: string;\n init: (config: BeamConfigOptions) => Promise<void>;\n};\n\n// Set up a promise outside the beam config singleton so that we can keep a stable reference to the same promise\n// if anyone uses getConfig() before init() has been called with final configuration\nlet resolveBeamReadyPromise: (result: boolean) => any;\nlet rejectBeamReadyPromise: (reason: SetupError) => any;\nconst beamReadyPromiseSingleton = new Promise<boolean>((resolve, reject) => {\n resolveBeamReadyPromise = resolve;\n rejectBeamReadyPromise = reject;\n});\n\n/**\n * BeamConfig is not exported, it should be accessed as a singleton via getConfig & init\n * @example\n * import { init, getConfig } from '@beamimpact/web-sdk/dist/integrations/beam'\n * // In setup script\n * const beam = await init({ apiKey: '', chainId: 1, storeId: 1, plugins: [] })\n * // In other scripts that need to wait for Beam to be ready\n * const beam = getConfig()\n * await beam.readyPromise.then(() => doSomething())\n * // OR\n * if (beam.status !== 'ready') {\n * beam.addEventListener('beamstatuschange', event => {\n * if (event.detail.status === 'ready') doSomething()\n * else if (event.detail.status === 'error') handleBeamError()\n * })\n * }\n */\nclass BeamConfig extends EventTarget {\n apiKey?: TApiKey;\n\n chainId?: TNumericId;\n\n storeId?: TNumericId;\n\n /** Domain to set Beam cookies on, used if store and checkout are on different subdomains */\n domain?: TUrl;\n\n /** Beam server URL to make API requests */\n baseUrl?: TUrl;\n\n /** Beam server URL for logging / errors */\n logUrl?: TUrl;\n\n /** Alternative to adding event listener for beamstatuschange - resolves when Beam and all plugins are ready */\n readyPromise: Promise<boolean> = beamReadyPromiseSingleton;\n\n /** getConfig().addEventListener(\"beamstatuschange\", ({detail}) => { console.log(detail.status) }) */\n status: \"pending\" | \"ready\" | \"error\";\n\n /** Plugins such as Statsig for A/B tests - Beam waits for all plugins to initialize before emitting ready status */\n plugins: { [pluginName: string]: BeamPlugin } = {};\n\n /** Sets up Beam in pending state. This is used for initial value of Beam config singleton,\n * which allows scripts to access and wait for \"ready\" promise or event before initialization script runs.\n * Use init() to set up Beam for use. */\n constructor(options: Partial<BeamConfigOptions>) {\n super();\n this.status = \"pending\";\n this.#initFields(options);\n }\n\n /** Used by end users to set up Beam with config options and plugins. */\n async init(options: BeamConfigOptions): Promise<BeamConfig> {\n // Re-apply constructor logic with new options\n this.#initFields(options);\n try {\n await this.#initPlugins(options);\n } catch (err: any) {\n const error = new SetupError();\n error.cause = err;\n this.status = \"error\";\n this.dispatchEvent(new BeamStatusChangeEvent({ status: \"error\", error }));\n rejectBeamReadyPromise(error);\n logger.error(error);\n if (this.apiKey) {\n await sendLog(\n { apiKey: this.apiKey, baseUrl: this.logUrl },\n { type: \"error\", code: error.name, metadata: { message: error.message, cause: err?.message } }\n );\n }\n throw err;\n }\n this.status = \"ready\";\n this.dispatchEvent(new BeamStatusChangeEvent({ status: \"ready\" }));\n resolveBeamReadyPromise(true);\n return this;\n }\n\n #initFields(options: Partial<BeamConfigOptions>) {\n this.apiKey = options.apiKey;\n this.chainId = options.chainId;\n this.storeId = options.storeId;\n this.domain = options.domain;\n this.baseUrl = options.baseUrl || DEFAULT_BASE_URL;\n this.logUrl = options.logUrl || DEFAULT_LOG_URL;\n }\n\n async #initPlugins(config: BeamConfigOptions) {\n const pluginInitPromises = (config.plugins || []).map(async (plugin) => {\n await plugin.init(config);\n this.plugins[plugin.name] = plugin;\n return plugin;\n });\n return Promise.all(pluginInitPromises);\n }\n}\n\n/** We only want one instance of config throughout SDK so anyone can wait for initialization async using this\n * reference */\nconst beamConfigSingleton: BeamConfig = new BeamConfig({});\n\n/**\n * @example\n * import { init, getConfig } from '@beamimpact/web-sdk/dist/integrations/beam'\n *\n * const beam = await init({\n * apiKey: '',\n * chainId: 1,\n * storeId: 1,\n * plugins: [ new StatsigPlugin({ statsigApiKey: '' }) ]\n * })\n *\n * beam.plugins.statsig.logEvent('cart_updated', 100.00)\n */\nexport const init = (beamConfigOptions: BeamConfigOptions): Promise<BeamConfig> => {\n return beamConfigSingleton.init(beamConfigOptions);\n};\n\n/**\n * @example\n * // In scripts that need to wait for Beam to be ready\n * const beam = getConfig()\n * await beam.readyPromise\n * .then(() => doSomething(beam))\n * .catch(err => handleBeamError(err))\n * // OR\n * if (beam.status !== 'ready') {\n * beam.addEventListener('beamstatuschange', event => {\n * if (event.detail.status === 'ready') doSomething(beam)\n * else if (event.detail.status === 'error') handleBeamError(event.detail.error)\n * })\n * }\n */\nexport const getConfig = (): BeamConfig => beamConfigSingleton;\n"],"names":["h","i","r","e","m","n","_initFields","initFields_fn","_initPlugins","initPlugins_fn","resolveBeamReadyPromise","rejectBeamReadyPromise","beamReadyPromiseSingleton","resolve","reject","BeamConfig","options","__privateAdd","__privateMethod","err","error","SetupError","BeamStatusChangeEvent","logger","sendLog","DEFAULT_BASE_URL","DEFAULT_LOG_URL","config","pluginInitPromises","plugin","beamConfigSingleton","init","beamConfigOptions","getConfig"],"mappings":"2QAAA,IAAAA,EAAA,CAAAC,EAAAC,EAAAC,IAAA,CAAA,GAAA,CAAAD,EAAA,IAAAD,CAAA,EAAA,MAAA,UAAA,UAAAE,CAAA,CAAA,EAAAC,EAAA,CAAAH,EAAAC,EAAAC,IAAA,CAAA,GAAAD,EAAA,IAAAD,CAAA,EAAA,MAAA,UAAA,mDAAA,EAAAC,aAAA,QAAAA,EAAA,IAAAD,CAAA,EAAAC,EAAA,IAAAD,EAAAE,CAAA,CAAA,EAAAE,EAAA,CAAAJ,EAAAC,EAAAC,KAAAH,EAAAC,EAAAC,EAAA,uBAAA,EAAAC,GAAAG,EAAAC,EAAAC,EAAAC,EAwBA,IAAIC,EACAC,EACJ,MAAMC,EAA4B,IAAI,QAAiB,CAACC,EAASC,IAAW,CAC1EJ,EAA0BG,EAC1BF,EAAyBG,CAC3B,CAAC,EAmBD,MAAMC,UAAmB,WAAY,CA4BnC,YAAYC,EAAqC,CAC/C,MAAM,EAgCRC,EAAA,KAAAX,CASAW,EAAAA,EAAA,KAAMT,CAAAA,EArDN,KAAiCI,aAAAA,EAMjC,aAAgD,
|
|
1
|
+
{"version":3,"file":"beam.js","sources":["../../src/integrations/beam/index.ts"],"sourcesContent":["import { DEFAULT_BASE_URL, DEFAULT_LOG_URL } from \"../../api-sdk/constants\";\nimport { SetupError } from \"../../utils/beam-errors\";\nimport { BeamStatusChangeEvent } from \"../../utils/events\";\nimport { logger } from \"../../utils/logger\";\nimport { TApiKey, TNumericId, TUrl } from \"../../shared/types\";\nimport { sendLog } from \"../logs\";\n\nexport type BeamConfigOptions = {\n apiKey: TApiKey;\n domain?: TUrl;\n chainId: TNumericId;\n storeId?: TNumericId;\n baseUrl?: TUrl;\n logUrl?: TUrl;\n plugins?: BeamPlugin[];\n};\n\nexport type BeamPlugin = {\n name: string;\n init: (config: BeamConfigOptions) => Promise<void>;\n};\n\n// Set up a promise outside the beam config singleton so that we can keep a stable reference to the same promise\n// if anyone uses getConfig() before init() has been called with final configuration\nlet resolveBeamReadyPromise: (result: boolean) => any;\nlet rejectBeamReadyPromise: (reason: SetupError) => any;\nconst beamReadyPromiseSingleton = new Promise<boolean>((resolve, reject) => {\n resolveBeamReadyPromise = resolve;\n rejectBeamReadyPromise = reject;\n});\n\n/**\n * BeamConfig is not exported, it should be accessed as a singleton via getConfig & init\n * @example\n * import { init, getConfig } from '@beamimpact/web-sdk/dist/integrations/beam'\n * // In setup script\n * const beam = await init({ apiKey: '', chainId: 1, storeId: 1, plugins: [] })\n * // In other scripts that need to wait for Beam to be ready\n * const beam = getConfig()\n * await beam.readyPromise.then(() => doSomething())\n * // OR\n * if (beam.status !== 'ready') {\n * beam.addEventListener('beamstatuschange', event => {\n * if (event.detail.status === 'ready') doSomething()\n * else if (event.detail.status === 'error') handleBeamError()\n * })\n * }\n */\nclass BeamConfig extends EventTarget {\n apiKey?: TApiKey;\n\n chainId?: TNumericId;\n\n storeId?: TNumericId;\n\n /** Domain to set Beam cookies on, used if store and checkout are on different subdomains */\n domain?: TUrl;\n\n /** Beam server URL to make API requests */\n baseUrl?: TUrl;\n\n /** Beam server URL for logging / errors */\n logUrl?: TUrl;\n\n /** Alternative to adding event listener for beamstatuschange - resolves when Beam and all plugins are ready */\n readyPromise: Promise<boolean> = beamReadyPromiseSingleton;\n\n /** getConfig().addEventListener(\"beamstatuschange\", ({detail}) => { console.log(detail.status) }) */\n status: \"pending\" | \"ready\" | \"error\";\n\n /** Plugins such as Statsig for A/B tests - Beam waits for all plugins to initialize before emitting ready status */\n plugins: { [pluginName: string]: BeamPlugin } = {};\n\n /** Sets up Beam in pending state. This is used for initial value of Beam config singleton,\n * which allows scripts to access and wait for \"ready\" promise or event before initialization script runs.\n * Use init() to set up Beam for use. */\n constructor(options: Partial<BeamConfigOptions>) {\n super();\n this.status = \"pending\";\n this.#initFields(options);\n }\n\n /** Used by end users to set up Beam with config options and plugins. */\n async init(options: BeamConfigOptions): Promise<BeamConfig> {\n // Re-apply constructor logic with new options\n this.#initFields(options);\n try {\n await this.#initPlugins(options);\n } catch (err: any) {\n const error = new SetupError();\n error.cause = err;\n this.status = \"error\";\n this.dispatchEvent(new BeamStatusChangeEvent({ status: \"error\", error }));\n rejectBeamReadyPromise(error);\n logger.error(error);\n if (this.apiKey) {\n await sendLog(\n { apiKey: this.apiKey, baseUrl: this.logUrl },\n { type: \"error\", code: error.name, metadata: { message: error.message, cause: err?.message } }\n );\n }\n throw err;\n }\n this.status = \"ready\";\n this.dispatchEvent(new BeamStatusChangeEvent({ status: \"ready\" }));\n resolveBeamReadyPromise(true);\n return this;\n }\n\n #initFields(options: Partial<BeamConfigOptions>) {\n this.apiKey = options.apiKey;\n this.chainId = options.chainId;\n this.storeId = options.storeId;\n this.domain = options.domain;\n this.baseUrl = options.baseUrl || DEFAULT_BASE_URL;\n this.logUrl = options.logUrl || DEFAULT_LOG_URL;\n }\n\n async #initPlugins(config: BeamConfigOptions) {\n const pluginInitPromises = (config.plugins || []).map(async (plugin) => {\n await plugin.init(config);\n this.plugins[plugin.name] = plugin;\n return plugin;\n });\n return Promise.all(pluginInitPromises);\n }\n}\n\n/** We only want one instance of config throughout SDK so anyone can wait for initialization async using this\n * reference */\nconst beamConfigSingleton: BeamConfig = new BeamConfig({});\n\n/**\n * @example\n * import { init, getConfig } from '@beamimpact/web-sdk/dist/integrations/beam'\n *\n * const beam = await init({\n * apiKey: '',\n * chainId: 1,\n * storeId: 1,\n * plugins: [ new StatsigPlugin({ statsigApiKey: '' }) ]\n * })\n *\n * beam.plugins.statsig.logEvent('cart_updated', 100.00)\n */\nexport const init = (beamConfigOptions: BeamConfigOptions): Promise<BeamConfig> => {\n return beamConfigSingleton.init(beamConfigOptions);\n};\n\n/**\n * @example\n * // In scripts that need to wait for Beam to be ready\n * const beam = getConfig()\n * await beam.readyPromise\n * .then(() => doSomething(beam))\n * .catch(err => handleBeamError(err))\n * // OR\n * if (beam.status !== 'ready') {\n * beam.addEventListener('beamstatuschange', event => {\n * if (event.detail.status === 'ready') doSomething(beam)\n * else if (event.detail.status === 'error') handleBeamError(event.detail.error)\n * })\n * }\n */\nexport const getConfig = (): BeamConfig => beamConfigSingleton;\n"],"names":["h","i","r","e","m","n","_initFields","initFields_fn","_initPlugins","initPlugins_fn","resolveBeamReadyPromise","rejectBeamReadyPromise","beamReadyPromiseSingleton","resolve","reject","BeamConfig","options","__privateAdd","__privateMethod","err","error","SetupError","BeamStatusChangeEvent","logger","sendLog","DEFAULT_BASE_URL","DEFAULT_LOG_URL","config","pluginInitPromises","plugin","beamConfigSingleton","init","beamConfigOptions","getConfig"],"mappings":"2QAAA,IAAAA,EAAA,CAAAC,EAAAC,EAAAC,IAAA,CAAA,GAAA,CAAAD,EAAA,IAAAD,CAAA,EAAA,MAAA,UAAA,UAAAE,CAAA,CAAA,EAAAC,EAAA,CAAAH,EAAAC,EAAAC,IAAA,CAAA,GAAAD,EAAA,IAAAD,CAAA,EAAA,MAAA,UAAA,mDAAA,EAAAC,aAAA,QAAAA,EAAA,IAAAD,CAAA,EAAAC,EAAA,IAAAD,EAAAE,CAAA,CAAA,EAAAE,EAAA,CAAAJ,EAAAC,EAAAC,KAAAH,EAAAC,EAAAC,EAAA,uBAAA,EAAAC,GAAAG,EAAAC,EAAAC,EAAAC,EAwBA,IAAIC,EACAC,EACJ,MAAMC,EAA4B,IAAI,QAAiB,CAACC,EAASC,IAAW,CAC1EJ,EAA0BG,EAC1BF,EAAyBG,CAC3B,CAAC,EAmBD,MAAMC,UAAmB,WAAY,CA4BnC,YAAYC,EAAqC,CAC/C,MAAM,EAgCRC,EAAA,KAAAX,CASAW,EAAAA,EAAA,KAAMT,CAAAA,EArDN,KAAiCI,aAAAA,EAMjC,aAAgD,CAAC,EAO/C,KAAK,OAAS,UACdM,EAAA,KAAKZ,EAAAC,CAAL,EAAA,KAAA,KAAiBS,CACnB,CAAA,CAGA,MAAM,KAAKA,EAAiD,CAE1DE,EAAA,KAAKZ,EAAAC,CAAAA,EAAL,KAAiBS,KAAAA,CAAAA,EACjB,GAAI,CACF,MAAME,EAAA,KAAKV,EAAAC,CAAL,EAAA,KAAA,KAAkBO,CAC1B,CAAA,OAASG,EAAU,CACjB,MAAMC,EAAQ,IAAIC,EAClB,MAAAD,EAAM,MAAQD,EACd,KAAK,OAAS,QACd,KAAK,cAAc,IAAIG,EAAsB,CAAE,OAAQ,QAAS,MAAAF,CAAM,CAAC,CAAC,EACxET,EAAuBS,CAAK,EAC5BG,EAAO,MAAMH,CAAK,EACd,KAAK,QACP,MAAMI,EACJ,CAAE,OAAQ,KAAK,OAAQ,QAAS,KAAK,MAAO,EAC5C,CAAE,KAAM,QAAS,KAAMJ,EAAM,KAAM,SAAU,CAAE,QAASA,EAAM,QAAS,MAAOD,GAAK,OAAQ,CAAE,CAC/F,EAEIA,CACR,CACA,OAAK,KAAA,OAAS,QACd,KAAK,cAAc,IAAIG,EAAsB,CAAE,OAAQ,OAAQ,CAAC,CAAC,EACjEZ,EAAwB,EAAI,EACrB,IACT,CAmBF,CAjBEJ,EAAA,IAAAC,QAAAA,EAAW,SAACS,EAAqC,CAC/C,KAAK,OAASA,EAAQ,OACtB,KAAK,QAAUA,EAAQ,QACvB,KAAK,QAAUA,EAAQ,QACvB,KAAK,OAASA,EAAQ,OACtB,KAAK,QAAUA,EAAQ,SAAWS,EAClC,KAAK,OAAST,EAAQ,QAAUU,CAClC,EAEMlB,EAAA,IAAAC,QAAAA,EAAY,eAACkB,EAA2B,CAC5C,MAAMC,GAAsBD,EAAO,SAAW,CAAA,GAAI,IAAI,MAAOE,IAC3D,MAAMA,EAAO,KAAKF,CAAM,EACxB,KAAK,QAAQE,EAAO,IAAI,EAAIA,EACrBA,EACR,EACD,OAAO,QAAQ,IAAID,CAAkB,CACvC,EAKF,MAAME,EAAkC,IAAIf,EAAW,CAAE,CAAA,EAe5CgB,EAAQC,GACZF,EAAoB,KAAKE,CAAiB,EAkBtCC,EAAY,IAAkBH"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { B as BeamCartAPIConfig, a as BeamCartValues, u as updateCart } from '../chunks/update-cart-
|
|
1
|
+
export { B as BeamCartAPIConfig, a as BeamCartValues, u as updateCart } from '../chunks/update-cart-NiToHHJH.esm.js';
|
|
2
2
|
import 'lodash';
|
|
3
|
-
import '../chunks/types-
|
|
4
|
-
import '../chunks/cart-contents-
|
|
5
|
-
import '../chunks/openapi-spec-
|
|
3
|
+
import '../chunks/types-C7gqAyyH.esm.js';
|
|
4
|
+
import '../chunks/cart-contents-CUgc4y1N.esm.js';
|
|
5
|
+
import '../chunks/openapi-spec-VAt3phhg.esm.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{O}from"../chunks/update-cart-DNfl9QP2.esm.js";import"../chunks/lodash-7H4x2457.esm.js";import"../chunks/routes-CaSRr919.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../utils/logger.esm.js";import"../chunks/events-BohmT6Lp.esm.js";import"../utils/local-storage.esm.js";import"../utils/cookies.esm.js";import"../utils/remote-session.esm.js";import"../utils/memoize-last.esm.js";import"../chunks/promoManager-fl54hq13.esm.js";import"../chunks/cart-contents-DkoytiZh.esm.js";import"../utils/cart.esm.js";export{O as updateCart};
|
|
2
2
|
//# sourceMappingURL=cart.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{O}from"../chunks/update-cart-3JFUCJLD.esm.js";import"../chunks/lodash-7H4x2457.esm.js";import"../chunks/routes-KHEaM_40.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../utils/logger.js";import"../chunks/events-BohmT6Lp.esm.js";import"../utils/local-storage.js";import"../utils/cookies.js";import"../utils/remote-session.js";import"../utils/memoize-last.js";import"../chunks/promoManager-B9cTR1R3.esm.js";import"../chunks/cart-contents-DkoytiZh.esm.js";import"../utils/cart.js";export{O as updateCart};
|
|
2
2
|
//# sourceMappingURL=cart.js.map
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
export { i as Utils } from '../chunks/index-
|
|
2
|
-
export { i as Shopify } from '../chunks/index
|
|
3
|
-
export { i as Session } from '../chunks/index-
|
|
4
|
-
export { i as Cart } from '../chunks/index-
|
|
5
|
-
export { i as Logs } from '../chunks/index-
|
|
6
|
-
import '../chunks/beam-errors-
|
|
7
|
-
import '../chunks/events-
|
|
8
|
-
import '../chunks/cart-contents-
|
|
9
|
-
import '../chunks/openapi-spec-
|
|
10
|
-
import '../chunks/types-
|
|
1
|
+
export { i as Utils } from '../chunks/index-DvbUE31b.esm.js';
|
|
2
|
+
export { i as Shopify } from '../chunks/index-v0tUXySN.esm.js';
|
|
3
|
+
export { i as Session } from '../chunks/index-C-hPf29c.esm.js';
|
|
4
|
+
export { i as Cart } from '../chunks/index-BqBEii8E.esm.js';
|
|
5
|
+
export { i as Logs } from '../chunks/index-CbKkAM6h.esm.js';
|
|
6
|
+
import '../chunks/beam-errors-CCe004HS.esm.js';
|
|
7
|
+
import '../chunks/events-BKkf9u9l.esm.js';
|
|
8
|
+
import '../chunks/cart-contents-CUgc4y1N.esm.js';
|
|
9
|
+
import '../chunks/openapi-spec-VAt3phhg.esm.js';
|
|
10
|
+
import '../chunks/promo-types-C1unMpo2.esm.js';
|
|
11
|
+
import '../chunks/types-CPxMwnoR.esm.js';
|
|
11
12
|
import '../utils/logger.js';
|
|
12
13
|
import '../utils/network-listeners.js';
|
|
13
14
|
import '../utils/local-storage.js';
|
|
@@ -17,17 +18,18 @@ import '../utils/remote-session.js';
|
|
|
17
18
|
import '../utils/memoize-last.js';
|
|
18
19
|
import 'lodash-es/debounce';
|
|
19
20
|
import 'lodash-es/isEqual';
|
|
20
|
-
import '../
|
|
21
|
+
import '../utils/promoManager.js';
|
|
22
|
+
import '../chunks/order-page-tSPKLQ24.esm.js';
|
|
21
23
|
import 'lodash';
|
|
22
|
-
import '../chunks/update-cart-
|
|
23
|
-
import '../chunks/types-
|
|
24
|
+
import '../chunks/update-cart-NiToHHJH.esm.js';
|
|
25
|
+
import '../chunks/types-C7gqAyyH.esm.js';
|
|
24
26
|
import '../components/post-purchase.js';
|
|
25
27
|
import 'lit';
|
|
26
28
|
import 'lit-html';
|
|
27
29
|
import '../components/redeem-transaction.js';
|
|
28
|
-
import '../chunks/progress-bar-
|
|
29
|
-
import '../chunks/promo-pill-label-
|
|
30
|
+
import '../chunks/progress-bar-CveZ8E6Q.esm.js';
|
|
31
|
+
import '../chunks/promo-pill-label-BXRqZHET.esm.js';
|
|
30
32
|
import '../components/beam-partner-logos.js';
|
|
31
33
|
import '../components/impact-overview.js';
|
|
32
|
-
import '../chunks/share-button-
|
|
33
|
-
import '../chunks/routes-
|
|
34
|
+
import '../chunks/share-button-DBVhw4qa.esm.js';
|
|
35
|
+
import '../chunks/routes-DDRd747e.esm.js';
|