@beamimpact/web-sdk 1.55.7 → 1.56.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/chunks/_share-dialog-dependencies-Bk60ibnw.esm.js +2 -0
- package/dist/chunks/{_share-dialog-dependencies-BVNp0oLJ.esm.js.map → _share-dialog-dependencies-Bk60ibnw.esm.js.map} +1 -1
- package/dist/chunks/_share-dialog-dependencies-D6vA_2f6.esm.js +2 -0
- package/dist/chunks/{_share-dialog-dependencies-D4i8Nvve.esm.js.map → _share-dialog-dependencies-D6vA_2f6.esm.js.map} +1 -1
- package/dist/chunks/beam-errors-Ci0d3926.esm.js.map +1 -1
- package/dist/chunks/{beam-errors-CCe004HS.esm.d.ts → beam-errors-DUQ9pK2V.esm.d.ts} +7 -1
- package/dist/chunks/{cart-contents-CLT7p7Gd.esm.d.ts → cart-contents-CEoSx3y4.esm.d.ts} +1 -1
- package/dist/chunks/{css-card-grid-CvoGpsJH.esm.js → css-card-grid-DixMt6ek.esm.js} +2 -2
- package/dist/chunks/{css-card-grid-CvoGpsJH.esm.js.map → css-card-grid-DixMt6ek.esm.js.map} +1 -1
- package/dist/chunks/enforce-config-DHnpgqSK.esm.js +3 -0
- package/dist/chunks/enforce-config-DHnpgqSK.esm.js.map +1 -0
- package/dist/chunks/enforce-config-DUbQnaLO.esm.js +3 -0
- package/dist/chunks/enforce-config-DUbQnaLO.esm.js.map +1 -0
- package/dist/chunks/events-COWOQoLW.esm.js +2 -0
- package/dist/chunks/{events-Dki0ka4F.esm.js.map → events-COWOQoLW.esm.js.map} +1 -1
- package/dist/chunks/{events-B7l6VPsF.esm.d.ts → events-Dwqfqbij.esm.d.ts} +33 -5
- package/dist/chunks/index-8rOpG9kf.esm.js +2 -0
- package/dist/chunks/index-8rOpG9kf.esm.js.map +1 -0
- package/dist/chunks/{index-BAgWh5OK.esm.js → index-B1GmdVT3.esm.js} +2 -2
- package/dist/chunks/index-B1GmdVT3.esm.js.map +1 -0
- package/dist/chunks/{index-DKAZRTl5.esm.js → index-B2dxbh1d.esm.js} +2 -2
- package/dist/chunks/{index-DKAZRTl5.esm.js.map → index-B2dxbh1d.esm.js.map} +1 -1
- package/dist/chunks/{index-DPptZHfR.esm.js → index-BEEmYYxP.esm.js} +28 -18
- package/dist/chunks/index-BEEmYYxP.esm.js.map +1 -0
- package/dist/chunks/{index-CWnHkgy3.esm.js → index-BIEV1MH0.esm.js} +2 -2
- package/dist/chunks/{index-CWnHkgy3.esm.js.map → index-BIEV1MH0.esm.js.map} +1 -1
- package/dist/chunks/{index-CBS5Fqry.esm.d.ts → index-BLlSL37B.esm.d.ts} +4 -2
- package/dist/chunks/{index-C-hPf29c.esm.d.ts → index-BY5lSRmw.esm.d.ts} +4 -1
- package/dist/chunks/index-BaWMWAyt.esm.js +2 -0
- package/dist/chunks/index-BaWMWAyt.esm.js.map +1 -0
- package/dist/chunks/index-BeX4QeUu.esm.js +2 -0
- package/dist/chunks/index-BeX4QeUu.esm.js.map +1 -0
- package/dist/chunks/{index-CGKJagBi.esm.js → index-C3v-y56g.esm.js} +2 -2
- package/dist/chunks/index-C3v-y56g.esm.js.map +1 -0
- package/dist/chunks/{index-DEoMwStx.esm.d.ts → index-C_u1FXtO.esm.d.ts} +33 -5
- package/dist/chunks/{index-CG2AhvV9.esm.js → index-CqqF1sQo.esm.js} +2 -2
- package/dist/chunks/index-CqqF1sQo.esm.js.map +1 -0
- package/dist/chunks/index-Cs4Kp9X4.esm.js +2 -0
- package/dist/chunks/index-Cs4Kp9X4.esm.js.map +1 -0
- package/dist/chunks/index-D20ifskY.esm.d.ts +21 -0
- package/dist/chunks/{index-DmUEFwoM.esm.js → index-D3hxLDQF.esm.js} +2 -2
- package/dist/chunks/index-D3hxLDQF.esm.js.map +1 -0
- package/dist/chunks/{index-DBb5HSkR.esm.js → index-D5TZB-zM.esm.js} +2 -2
- package/dist/chunks/index-D5TZB-zM.esm.js.map +1 -0
- package/dist/chunks/{index-DTPlqZRf.esm.d.ts → index-DDCtGN21.esm.d.ts} +15 -2
- package/dist/chunks/index-DSJACB_p.esm.js +2 -0
- package/dist/chunks/{index-BNjsFEGn.esm.js.map → index-DSJACB_p.esm.js.map} +1 -1
- package/dist/chunks/{index-Ct1m4IjM.esm.js → index-DmjZnpod.esm.js} +2 -2
- package/dist/chunks/index-DmjZnpod.esm.js.map +1 -0
- package/dist/chunks/{index-rxgS4BLp.esm.d.ts → index-DyUuvdr3.esm.d.ts} +6 -2
- package/dist/chunks/{index-Bliur1O3.esm.d.ts → index-EJRmgmQu.esm.d.ts} +33 -5
- package/dist/chunks/{index-DvhxjeiK.esm.js → index-UMeAzKTG.esm.js} +28 -18
- package/dist/chunks/index-UMeAzKTG.esm.js.map +1 -0
- package/dist/chunks/index-hghrT7Z_.esm.d.ts +40 -0
- package/dist/chunks/index-mppXVWCH.esm.js +2 -0
- package/dist/chunks/{index-IKiJwo5v.esm.js.map → index-mppXVWCH.esm.js.map} +1 -1
- package/dist/chunks/{index-DjrWwYdg.esm.js → index-n62IxH5D.esm.js} +2 -2
- package/dist/chunks/index-n62IxH5D.esm.js.map +1 -0
- package/dist/chunks/{index-tbwbkOdj.esm.js → index-nAPzvUWE.esm.js} +2 -2
- package/dist/chunks/index-nAPzvUWE.esm.js.map +1 -0
- package/dist/chunks/{index-DXj15KHe.esm.d.ts → index-xcGPhpiO.esm.d.ts} +13 -1
- package/dist/chunks/lit-JRlupCB5.esm.js +25 -0
- package/dist/chunks/lit-JRlupCB5.esm.js.map +1 -0
- package/dist/chunks/loading-template-BFvXaTlD.esm.js +2 -0
- package/dist/chunks/{loading-template-DG4lkIIc.esm.js.map → loading-template-BFvXaTlD.esm.js.map} +1 -1
- package/dist/chunks/{localize-Btu9xYcE.esm.js → localize-Dg7NgKIP.esm.js} +4 -4
- package/dist/chunks/localize-Dg7NgKIP.esm.js.map +1 -0
- package/dist/chunks/{localize-C25pEGnx.esm.js → localize-DkAbsh05.esm.js} +4 -4
- package/dist/chunks/localize-DkAbsh05.esm.js.map +1 -0
- package/dist/chunks/lodash-BSs6Il-c.esm.js +2 -0
- package/dist/chunks/lodash-BSs6Il-c.esm.js.map +1 -0
- package/dist/chunks/{openapi-spec-Bk7E2QQP.esm.d.ts → openapi-spec-B4z4_CMq.esm.d.ts} +18 -0
- package/dist/chunks/{order-page-C3b348k0.esm.js → order-page-B0WbVrvh.esm.js} +2 -2
- package/dist/chunks/order-page-B0WbVrvh.esm.js.map +1 -0
- package/dist/chunks/{order-page-M7a2TINy.esm.d.ts → order-page-CSEjG6ma.esm.d.ts} +19 -18
- package/dist/chunks/{order-page-CuL1s6HR.esm.js → order-page-CT3hnhzf.esm.js} +2 -2
- package/dist/chunks/order-page-CT3hnhzf.esm.js.map +1 -0
- package/dist/chunks/{progress-bar-DF7UuuHb.esm.js → progress-bar-B82FOT8n.esm.js} +2 -2
- package/dist/chunks/{progress-bar-DF7UuuHb.esm.js.map → progress-bar-B82FOT8n.esm.js.map} +1 -1
- package/dist/chunks/{promo-pill-label-BihVdXIv.esm.js → promo-pill-label-D_4zJ7uy.esm.js} +3 -3
- package/dist/chunks/{promo-pill-label-BihVdXIv.esm.js.map → promo-pill-label-D_4zJ7uy.esm.js.map} +1 -1
- package/dist/chunks/{promo-pill-label-CD0lWdsv.esm.js → promo-pill-label-DcsiJS_N.esm.js} +3 -3
- package/dist/chunks/{promo-pill-label-CD0lWdsv.esm.js.map → promo-pill-label-DcsiJS_N.esm.js.map} +1 -1
- package/dist/chunks/{promo-types-BPmDZ5dF.esm.d.ts → promo-types-CmZzhkpN.esm.d.ts} +3 -2
- package/dist/chunks/promo-types-DKAOFHJr.esm.js.map +1 -1
- package/dist/chunks/{responsive-BR8qUfBa.esm.js → responsive-CIV4sFdH.esm.js} +2 -2
- package/dist/chunks/{responsive-BR8qUfBa.esm.js.map → responsive-CIV4sFdH.esm.js.map} +1 -1
- package/dist/chunks/routes-BIMwJ8u9.esm.js +2 -0
- package/dist/chunks/routes-BIMwJ8u9.esm.js.map +1 -0
- package/dist/chunks/routes-DSu5s3K7.esm.js +2 -0
- package/dist/chunks/routes-DSu5s3K7.esm.js.map +1 -0
- package/dist/chunks/routes-OxC3Ah30.esm.d.ts +638 -0
- package/dist/chunks/{share-button-BnNOZHBt.esm.js → share-button-CLMw49f5.esm.js} +2 -2
- package/dist/chunks/{share-button-BnNOZHBt.esm.js.map → share-button-CLMw49f5.esm.js.map} +1 -1
- package/dist/chunks/{share-button-BzmG48J9.esm.js → share-button-DXS3zbJz.esm.js} +2 -2
- package/dist/chunks/{share-button-BzmG48J9.esm.js.map → share-button-DXS3zbJz.esm.js.map} +1 -1
- package/dist/chunks/{share-button-BJ8T-uYK.esm.js → share-button-DkTpGZk1.esm.js} +8 -3
- package/dist/chunks/share-button-DkTpGZk1.esm.js.map +1 -0
- package/dist/chunks/{share-button-VEIdBFu3.esm.js → share-button-Dzc7loia.esm.js} +8 -3
- package/dist/chunks/share-button-Dzc7loia.esm.js.map +1 -0
- package/dist/chunks/{types-CPxMwnoR.esm.d.ts → types-D_PLq1pj.esm.d.ts} +1 -1
- package/dist/chunks/{update-cart-HlVGSYR7.esm.js → update-cart-ByUvNLyZ.esm.js} +2 -2
- package/dist/chunks/update-cart-ByUvNLyZ.esm.js.map +1 -0
- package/dist/chunks/{update-cart-CauFT0AF.esm.d.ts → update-cart-DWgFuC7U.esm.d.ts} +3 -2
- package/dist/chunks/{update-cart-C6BdmBt1.esm.js → update-cart-yj_9VGHp.esm.js} +2 -2
- package/dist/chunks/update-cart-yj_9VGHp.esm.js.map +1 -0
- package/dist/chunks/vendor-ckSdd6aH.esm.js +1286 -0
- package/dist/chunks/vendor-ckSdd6aH.esm.js.map +1 -0
- package/dist/components/beam-partner-logos.esm.js +5 -5
- package/dist/components/beam-partner-logos.esm.js.map +1 -1
- package/dist/components/beam-partner-logos.js +5 -5
- package/dist/components/beam-partner-logos.js.map +1 -1
- package/dist/components/community-impact.d.ts +1 -3
- package/dist/components/community-impact.esm.js +11 -6
- package/dist/components/community-impact.esm.js.map +1 -1
- package/dist/components/community-impact.js +11 -6
- package/dist/components/community-impact.js.map +1 -1
- package/dist/components/cumulative-impact.d.ts +1 -1
- package/dist/components/cumulative-impact.esm.js +10 -10
- package/dist/components/cumulative-impact.esm.js.map +1 -1
- package/dist/components/cumulative-impact.js +10 -10
- package/dist/components/cumulative-impact.js.map +1 -1
- package/dist/components/impact-overview.d.ts +36 -39
- package/dist/components/impact-overview.esm.js +11 -6
- package/dist/components/impact-overview.esm.js.map +1 -1
- package/dist/components/impact-overview.js +11 -6
- package/dist/components/impact-overview.js.map +1 -1
- package/dist/components/index.d.ts +5 -8
- package/dist/components/index.esm.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/post-purchase.d.ts +11 -12
- 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 -26
- package/dist/components/product-details-page.esm.js +21 -21
- package/dist/components/product-details-page.esm.js.map +1 -1
- package/dist/components/product-details-page.js +21 -21
- package/dist/components/product-details-page.js.map +1 -1
- package/dist/components/redeem-transaction.d.ts +4 -7
- package/dist/components/redeem-transaction.esm.js +1 -1
- package/dist/components/redeem-transaction.js +1 -1
- package/dist/components/select-nonprofit.d.ts +4 -16
- package/dist/components/select-nonprofit.esm.js +6 -5
- package/dist/components/select-nonprofit.esm.js.map +1 -1
- package/dist/components/select-nonprofit.js +6 -5
- package/dist/components/select-nonprofit.js.map +1 -1
- package/dist/components/select-subscription-nonprofit.d.ts +2 -3
- package/dist/components/select-subscription-nonprofit.esm.js +42 -21
- package/dist/components/select-subscription-nonprofit.esm.js.map +1 -1
- package/dist/components/select-subscription-nonprofit.js +42 -21
- package/dist/components/select-subscription-nonprofit.js.map +1 -1
- package/dist/components/shopify.d.ts +8 -12
- package/dist/components/shopify.esm.js +1 -1
- package/dist/components/shopify.js +1 -1
- package/dist/components/social-share.d.ts +13 -2
- package/dist/components/social-share.esm.js +11 -4
- package/dist/components/social-share.esm.js.map +1 -1
- package/dist/components/social-share.js +11 -4
- package/dist/components/social-share.js.map +1 -1
- package/dist/components/subscription-impact.d.ts +37 -50
- package/dist/components/subscription-impact.esm.js +15 -3
- package/dist/components/subscription-impact.esm.js.map +1 -1
- package/dist/components/subscription-impact.js +15 -3
- package/dist/components/subscription-impact.js.map +1 -1
- package/dist/components/subscription-management.d.ts +92 -93
- package/dist/components/subscription-management.esm.js +4 -3
- package/dist/components/subscription-management.esm.js.map +1 -1
- package/dist/components/subscription-management.js +4 -3
- package/dist/components/subscription-management.js.map +1 -1
- package/dist/index.d.ts +19 -22
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/integrations/beam.d.ts +3 -2
- package/dist/integrations/beam.esm.js +1 -1
- package/dist/integrations/beam.esm.js.map +1 -1
- package/dist/integrations/beam.js +1 -1
- package/dist/integrations/beam.js.map +1 -1
- package/dist/integrations/cart.d.ts +3 -3
- package/dist/integrations/cart.esm.js +1 -1
- package/dist/integrations/cart.js +1 -1
- package/dist/integrations/index.d.ts +14 -18
- 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 +1 -1
- package/dist/integrations/promoManager.esm.js +1 -1
- package/dist/integrations/promoManager.esm.js.map +1 -1
- package/dist/integrations/promoManager.js +1 -1
- package/dist/integrations/promoManager.js.map +1 -1
- package/dist/integrations/session.d.ts +1 -1
- package/dist/integrations/session.esm.js +1 -1
- package/dist/integrations/session.js +1 -1
- package/dist/integrations/shopify.d.ts +6 -10
- package/dist/integrations/shopify.esm.js +1 -1
- package/dist/integrations/shopify.js +1 -1
- package/dist/integrations/statsig.d.ts +9 -5
- package/dist/integrations/statsig.esm.js +14 -14
- package/dist/integrations/statsig.esm.js.map +1 -1
- package/dist/integrations/statsig.js +14 -14
- package/dist/integrations/statsig.js.map +1 -1
- package/dist/integrations/utils.d.ts +7 -7
- package/dist/integrations/utils.esm.js +1 -1
- package/dist/integrations/utils.js +1 -1
- package/dist/react/beam-partner-logos.esm.js +1 -1
- package/dist/react/beam-partner-logos.esm.js.map +1 -1
- package/dist/react/beam-partner-logos.js +1 -1
- package/dist/react/beam-partner-logos.js.map +1 -1
- package/dist/react/community-impact.d.ts +1 -3
- package/dist/react/community-impact.esm.js +1 -1
- package/dist/react/community-impact.esm.js.map +1 -1
- package/dist/react/community-impact.js +1 -1
- package/dist/react/community-impact.js.map +1 -1
- package/dist/react/cumulative-impact.d.ts +1 -1
- package/dist/react/cumulative-impact.esm.js +1 -1
- package/dist/react/cumulative-impact.esm.js.map +1 -1
- package/dist/react/cumulative-impact.js +1 -1
- package/dist/react/cumulative-impact.js.map +1 -1
- package/dist/react/impact-overview.d.ts +1 -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 +18 -21
- package/dist/react/index.esm.js +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/post-purchase.d.ts +3 -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 +1 -2
- package/dist/react/product-details-page.esm.js +1 -1
- package/dist/react/product-details-page.esm.js.map +1 -1
- package/dist/react/product-details-page.js +1 -1
- package/dist/react/product-details-page.js.map +1 -1
- package/dist/react/redeem-transaction.d.ts +5 -8
- package/dist/react/redeem-transaction.esm.js +1 -1
- package/dist/react/redeem-transaction.esm.js.map +1 -1
- package/dist/react/redeem-transaction.js +1 -1
- package/dist/react/redeem-transaction.js.map +1 -1
- package/dist/react/select-nonprofit.d.ts +5 -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 +5 -6
- package/dist/react/select-subscription-nonprofit.esm.js +1 -1
- package/dist/react/select-subscription-nonprofit.esm.js.map +1 -1
- package/dist/react/select-subscription-nonprofit.js +1 -1
- package/dist/react/select-subscription-nonprofit.js.map +1 -1
- package/dist/react/social-share.d.ts +1 -2
- package/dist/react/social-share.esm.js +1 -1
- package/dist/react/social-share.esm.js.map +1 -1
- package/dist/react/social-share.js +1 -1
- package/dist/react/social-share.js.map +1 -1
- package/dist/react/subscription-impact.d.ts +1 -3
- package/dist/react/subscription-impact.esm.js +1 -1
- package/dist/react/subscription-impact.esm.js.map +1 -1
- package/dist/react/subscription-impact.js +1 -1
- package/dist/react/subscription-impact.js.map +1 -1
- package/dist/react/subscription-management.d.ts +4 -6
- package/dist/react/subscription-management.esm.js +1 -1
- package/dist/react/subscription-management.esm.js.map +1 -1
- package/dist/react/subscription-management.js +1 -1
- package/dist/react/subscription-management.js.map +1 -1
- package/dist/utils/beam-errors.d.ts +1 -1
- package/dist/utils/cookies.d.ts +1 -41
- 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 -5
- package/dist/utils/events.esm.js +1 -1
- package/dist/utils/events.js +1 -1
- package/dist/utils/index.d.ts +7 -7
- 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/makeApiKeyHeader.esm.js.map +1 -1
- package/dist/utils/makeApiKeyHeader.js.map +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 +6 -18
- package/dist/utils/promoManager.esm.js.map +1 -1
- package/dist/utils/promoManager.js.map +1 -1
- package/dist/utils/wait-for-element.esm.js.map +1 -1
- package/dist/utils/wait-for-element.js.map +1 -1
- package/package.json +42 -39
- package/dist/chunks/_share-dialog-dependencies-BVNp0oLJ.esm.js +0 -2
- package/dist/chunks/_share-dialog-dependencies-D4i8Nvve.esm.js +0 -2
- package/dist/chunks/enforce-config-Ba1JkOHs.esm.js +0 -3
- package/dist/chunks/enforce-config-Ba1JkOHs.esm.js.map +0 -1
- package/dist/chunks/enforce-config-CZ3ToOgr.esm.js +0 -3
- package/dist/chunks/enforce-config-CZ3ToOgr.esm.js.map +0 -1
- package/dist/chunks/events-Dki0ka4F.esm.js +0 -2
- package/dist/chunks/index-BAgWh5OK.esm.js.map +0 -1
- package/dist/chunks/index-BNjsFEGn.esm.js +0 -2
- package/dist/chunks/index-C0J0SqUr.esm.js +0 -2
- package/dist/chunks/index-C0J0SqUr.esm.js.map +0 -1
- package/dist/chunks/index-CG2AhvV9.esm.js.map +0 -1
- package/dist/chunks/index-CGKJagBi.esm.js.map +0 -1
- package/dist/chunks/index-CLNjLpMX.esm.js +0 -2
- package/dist/chunks/index-CLNjLpMX.esm.js.map +0 -1
- package/dist/chunks/index-Ct1m4IjM.esm.js.map +0 -1
- package/dist/chunks/index-DBb5HSkR.esm.js.map +0 -1
- package/dist/chunks/index-DFGxZmsj.esm.js +0 -2
- package/dist/chunks/index-DFGxZmsj.esm.js.map +0 -1
- package/dist/chunks/index-DHK-p5LV.esm.d.ts +0 -15
- package/dist/chunks/index-DPptZHfR.esm.js.map +0 -1
- package/dist/chunks/index-DbaDUPup.esm.d.ts +0 -28
- package/dist/chunks/index-DjrWwYdg.esm.js.map +0 -1
- package/dist/chunks/index-DmUEFwoM.esm.js.map +0 -1
- package/dist/chunks/index-DvhxjeiK.esm.js.map +0 -1
- package/dist/chunks/index-IKiJwo5v.esm.js +0 -2
- package/dist/chunks/index-NHPT4c0V.esm.js +0 -2
- package/dist/chunks/index-NHPT4c0V.esm.js.map +0 -1
- package/dist/chunks/index-tbwbkOdj.esm.js.map +0 -1
- package/dist/chunks/lit-WqMxC_PA.esm.js +0 -34
- package/dist/chunks/lit-WqMxC_PA.esm.js.map +0 -1
- package/dist/chunks/loading-template-DG4lkIIc.esm.js +0 -2
- package/dist/chunks/localize-Btu9xYcE.esm.js.map +0 -1
- package/dist/chunks/localize-C25pEGnx.esm.js.map +0 -1
- package/dist/chunks/lodash-D3TLHRR_.esm.js +0 -2
- package/dist/chunks/lodash-D3TLHRR_.esm.js.map +0 -1
- package/dist/chunks/order-page-C3b348k0.esm.js.map +0 -1
- package/dist/chunks/order-page-CuL1s6HR.esm.js.map +0 -1
- package/dist/chunks/progress-bar-CveZ8E6Q.esm.d.ts +0 -15
- package/dist/chunks/promo-pill-label-BXRqZHET.esm.d.ts +0 -19
- package/dist/chunks/routes-BHChxaFQ.esm.js +0 -2
- package/dist/chunks/routes-BHChxaFQ.esm.js.map +0 -1
- package/dist/chunks/routes-BoeGe1RQ.esm.d.ts +0 -638
- package/dist/chunks/routes-E1gMJl6d.esm.js +0 -2
- package/dist/chunks/routes-E1gMJl6d.esm.js.map +0 -1
- package/dist/chunks/share-button-BJ8T-uYK.esm.js.map +0 -1
- package/dist/chunks/share-button-CDVVaxEc.esm.d.ts +0 -27
- package/dist/chunks/share-button-VEIdBFu3.esm.js.map +0 -1
- package/dist/chunks/update-cart-C6BdmBt1.esm.js.map +0 -1
- package/dist/chunks/update-cart-HlVGSYR7.esm.js.map +0 -1
- package/dist/chunks/vendor-KKSARHWL.esm.js +0 -1284
- package/dist/chunks/vendor-KKSARHWL.esm.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{n as o,r as i,a as S,b as l}from"../chunks/lit-JRlupCB5.esm.js";import{M as b}from"../chunks/beam-errors-Ci0d3926.esm.js";import{getCookieValue as g,deleteCookieValue as v}from"../utils/cookies.js";import{c as P,d as A,e as T}from"../chunks/enforce-config-DUbQnaLO.esm.js";import{createScopedLocalStorage as $}from"../utils/local-storage.js";import{A as O,_ as U}from"../chunks/localize-DkAbsh05.esm.js";import{D as E,L as y}from"../chunks/routes-BIMwJ8u9.esm.js";import{p as D}from"../chunks/index-BEEmYYxP.esm.js";import"./impact-overview.js";import{B as C}from"../chunks/cart-contents-DkoytiZh.esm.js";import{b as _}from"../chunks/events-COWOQoLW.esm.js";import{formatStoreAndReturnPromoCodes as R,getAllPromoCodesFromCookie as w,mapToUnvalidatedPromoCodes as K,isEmptyPromoData as M,parseJsonStringArray as N}from"../utils/promoManager.js";import{P as L,a as x}from"../chunks/promo-types-DKAOFHJr.esm.js";import{getRemoteSession as F}from"../utils/remote-session.js";import"../utils/logger.js";import"../utils/memoize-last.js";import"../chunks/lodash-BSs6Il-c.esm.js";import"../chunks/loading-template-BFvXaTlD.esm.js";import"../chunks/css-card-grid-DixMt6ek.esm.js";import"../chunks/progress-bar-B82FOT8n.esm.js";import"./beam-partner-logos.js";import"../chunks/promo-pill-label-DcsiJS_N.esm.js";import"../chunks/_share-dialog-dependencies-D6vA_2f6.esm.js";import"../chunks/vendor-ckSdd6aH.esm.js";import"../chunks/share-button-DkTpGZk1.esm.js";import"../chunks/is-all-html-elements-fcB7UUA1.esm.js";import"../chunks/share-button-CLMw49f5.esm.js";import"../chunks/responsive-CIV4sFdH.esm.js";var B=Object.defineProperty,e=(h,r,a,c)=>{for(var n=void 0,d=h.length-1,m;d>=0;d--)(m=h[d])&&(n=m(r,a,n)||n);return n&&B(r,a,n),n};const I=["baseUrl","apiKey","orderId","cartTotal","currencyCode","lang"],W=["storeId","postalCode","countryCode","cart","discountCodes","promoCodes","htmlPromoCodes","email","partnerUserId","remoteSessionId"];class t extends S{constructor(){super(...arguments),this.baseUrl=E,this.currencyCode="USD",this.lang="en",this.debug=!1,this.activeWidget=null,this.nonprofitId=null,this.selectionId=null,this.cartId=null,this.beamCartId=null,this.userId=null,this.transactionId=null,this.excludeDonationsForRecurringTransactions=!1,this.creationMethod="",this.orderProcessedAt="",this.draftConfig=!1,this.localStorage=$(this),this.handlePostTransaction=async()=>{this.enforceConfig(),this.updateComponentState();const r=this.getManualPromoCodes(),a=R(r.map(p=>({value:p})),this.apiKey),c=w(),n={unvalidatedPromoCodes:K(r.map(p=>({value:p}))),validatedPromoCodes:c?.validatedPromoCodes??[]},d=a??n,m=d&&!M(d),u=this.remoteSessionId??F({apiKey:this.apiKey})??g("beam_statsig_session_id"),s=await D({baseUrl:this.baseUrl,apiRoot:"/api",headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{selectionId:this.selectionId||void 0,cartId:this.cartId||void 0,beamCartId:this.beamCartId||void 0,storeId:this.storeId,orderId:this.orderId,cartTotal:this.cartTotal,email:this.email,partnerUserId:this.partnerUserId,currencyCode:this.currencyCode,postalCode:this.postalCode,countryCode:this.countryCode,cart:this.cart,...m&&{promos:d},discountCodes:this.discountCodes,orderProcessedAt:new Date().toISOString(),...u&&{remoteSessionId:u}}});this.transactionId=s.transactionId,this.userId=s.beamUserId,this.nonprofitId=s.nonprofitId,this.excludeDonationsForRecurringTransactions=!!s.reportSettings?.excludeRecurringDonations,this.creationMethod=s.creationMethod||"",this.orderProcessedAt=s.timestamp;const f=!!this.nonprofitId;return this.activeWidget=f?"impact-overview":"redeem-transaction",s.transactionCreated&&(["transaction","cart",L,y.NONPROFIT,y.NONPROFIT_SELECTED_AT].forEach(p=>{this.localStorage.removeItem(p)}),[{name:C,path:"/",domain:this.domain},{name:x,path:"/",domain:this.domain}].forEach(p=>v(p)),dispatchEvent(new _({transactionId:s.transactionId,orderId:this.orderId,cartTotal:this.cartTotal,currencyCode:this.currencyCode}))),s},this.transactionDataController=new O(this,this.handlePostTransaction)}get parsedPromoCodes(){return N(this.htmlPromoCodes)}updateComponentState(){this.localStorage.getItem("transaction")?.toLocaleLowerCase()==="undefined"&&this.localStorage.removeItem("transaction"),this.selectionId=this.selectionId||this.localStorage.getItem("transaction")||null,this.cartId=this.cartId||this.localStorage.getItemJson("cart")?.cartId||null,this.beamCartId=this.beamCartId||this.localStorage.getItemJson("cart")?.beamCartId||g(C)||null,this.selectionId&&this.nonprofitId&&(this.activeWidget="impact-overview")}firstUpdated(r){this.enforceConfig(),this.updateComponentState()}async updated(r){[...I,...W].some(a=>r.has(a))&&await this.transactionDataController.exec()}enforceConfig(){if(T(I,this),!this.email&&!this.partnerUserId)throw new b([this.email?"":"email",this.partnerUserId?"":"partnerUserId"].filter(Boolean),"At least one of [email, partnerUserId] must be provided")}getManualPromoCodes(){return this.parsedPromoCodes?.length?this.parsedPromoCodes:this.promoCodes?.length?this.promoCodes:[]}render(){const r=Date.now()-new Date(this.orderProcessedAt).getTime()<2592e6;return this.transactionDataController.loading?"":this.transactionDataController.error?this.debug?U({error:this.transactionDataController.error}):"":this.excludeDonationsForRecurringTransactions&&this.creationMethod==="recurring"?l``:this.activeWidget==="redeem-transaction"&&r?l`
|
|
2
2
|
<beam-redeem-transaction
|
|
3
3
|
part="redeem-transaction"
|
|
4
4
|
baseUrl="${this.baseUrl}"
|
|
@@ -12,9 +12,9 @@ import{g as o,t as i,h as I,y as h}from"../chunks/lit-WqMxC_PA.esm.js";import{M
|
|
|
12
12
|
excludeDonationsForRecurringTransactions="${this.excludeDonationsForRecurringTransactions}"
|
|
13
13
|
?draftConfig="${this.draftConfig}"
|
|
14
14
|
?debug="${this.debug}"
|
|
15
|
-
@beamnonprofitselect="${
|
|
15
|
+
@beamnonprofitselect="${a=>{if(!(a instanceof CustomEvent))return;const{selectedNonprofitId:c}=a.detail;this.nonprofitId=c??null,this.activeWidget="impact-overview"}}"
|
|
16
16
|
></beam-redeem-transaction>
|
|
17
|
-
`:this.activeWidget==="impact-overview"?
|
|
17
|
+
`:this.activeWidget==="impact-overview"?l`
|
|
18
18
|
<beam-impact-overview
|
|
19
19
|
part="impact-overview"
|
|
20
20
|
storeId="${this.storeId}"
|
|
@@ -28,5 +28,5 @@ import{g as o,t as i,h as I,y as h}from"../chunks/lit-WqMxC_PA.esm.js";import{M
|
|
|
28
28
|
?draftConfig="${this.draftConfig}"
|
|
29
29
|
?debug="${this.debug}"
|
|
30
30
|
></beam-impact-overview>
|
|
31
|
-
`:""}}t.tagName="beam-post-purchase",t.styles=[
|
|
31
|
+
`:""}}t.tagName="beam-post-purchase",t.styles=[P],e([o({type:String})],t.prototype,"baseUrl"),e([o({type:String})],t.prototype,"apiKey"),e([o({type:Number,reflect:!0})],t.prototype,"storeId"),e([o({type:String})],t.prototype,"postalCode"),e([o({type:String})],t.prototype,"countryCode"),e([o({type:String})],t.prototype,"orderId"),e([o({type:String})],t.prototype,"email"),e([o({type:String})],t.prototype,"partnerUserId"),e([o({type:Number})],t.prototype,"cartTotal"),e([o({type:String})],t.prototype,"currencyCode"),e([o({type:String})],t.prototype,"lang"),e([o({type:Object})],t.prototype,"cart"),e([o({type:Array})],t.prototype,"discountCodes"),e([o({type:Array})],t.prototype,"promoCodes"),e([o({type:String})],t.prototype,"htmlPromoCodes"),e([o({type:String})],t.prototype,"domain"),e([o({type:String})],t.prototype,"remoteSessionId"),e([o({type:Boolean})],t.prototype,"debug"),e([i()],t.prototype,"activeWidget"),e([i()],t.prototype,"nonprofitId"),e([i()],t.prototype,"selectionId"),e([i()],t.prototype,"cartId"),e([i()],t.prototype,"beamCartId"),e([i()],t.prototype,"userId"),e([i()],t.prototype,"transactionId"),e([i()],t.prototype,"excludeDonationsForRecurringTransactions"),e([i()],t.prototype,"creationMethod"),e([i()],t.prototype,"orderProcessedAt"),e([o({type:Boolean})],t.prototype,"draftConfig"),A(t);export{t as BeamPostPurchase};
|
|
32
32
|
//# sourceMappingURL=post-purchase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-purchase.js","sources":["../../src/components/post-purchase/index.ts"],"sourcesContent":["import { html, LitElement, PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { deleteCookieValue, getCookieValue } from \"../../utils/cookies\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { createScopedLocalStorage } from \"../../utils/local-storage\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { DEFAULT_BASE_URL, LOCAL_STORAGE_KEYS } from \"../../api-sdk/constants\";\nimport { postTransaction } from \"../../api-sdk/v4/routes\";\nimport \"../redeem-transaction\";\nimport \"../impact-overview\";\nimport { BEAM_CART_COOKIE_NAME, TBeamCartLocalStorage, TCart } from \"../../shared/cart-contents\";\nimport { BeamNonprofitSelectEvent, BeamOrderCreatedEvent } from \"../../utils/events\";\nimport {\n isEmptyPromoData,\n parseJsonStringArray,\n formatStoreAndReturnPromoCodes,\n getAllPromoCodesFromCookie,\n mapToUnvalidatedPromoCodes,\n} from \"../../utils/promoManager\";\nimport { PROMO_CODES_COOKIE_NAME, PROMO_LOCAL_STORAGE_KEY, TPromoCodeRequest } from \"../../shared/promo-types\";\n\nconst REQUIRED_DATA_PROPS = [\"baseUrl\", \"apiKey\", \"orderId\", \"cartTotal\", \"currencyCode\", \"lang\"];\nconst OPTIONAL_DATA_PROPS = [\n \"storeId\",\n \"postalCode\",\n \"countryCode\",\n \"cart\",\n \"discountCodes\",\n \"promoCodes\",\n \"htmlPromoCodes\",\n \"email\",\n \"partnerUserId\",\n];\n\nexport class BeamPostPurchase extends LitElement {\n static tagName = \"beam-post-purchase\";\n\n @property({ type: String })\n public baseUrl: string = DEFAULT_BASE_URL;\n\n @property({ type: String })\n public apiKey!: string;\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 postalCode?: string;\n\n @property({ type: String })\n public countryCode?: string;\n\n @property({ type: String })\n public orderId!: string;\n\n /**\n * Either email or partnerUserId is required\n */\n @property({ type: String })\n public email?: string;\n\n /**\n * Either email or partnerUserId is required\n */\n @property({ type: String })\n public partnerUserId?: string;\n\n @property({ type: Number })\n public cartTotal!: number;\n\n @property({ type: String })\n public currencyCode = \"USD\";\n\n @property({ type: String })\n public lang: LANGUAGES = \"en\";\n\n @property({ type: Object })\n public cart?: TCart;\n\n /**\n * @deprecated Use `promoCodes` instead. `discountCodes` is retained for backward compatibility\n */\n @property({ type: Array })\n public discountCodes?: string[];\n\n @property({ type: Array })\n public promoCodes?: string[];\n\n @property({ type: String })\n public htmlPromoCodes?: string;\n\n @property({ type: String })\n public domain?: string;\n\n @property({ type: Boolean })\n public debug = false;\n\n @state() private activeWidget: \"redeem-transaction\" | \"impact-overview\" | null = null; // wait for postTransaction\n @state() private nonprofitId: number | null = null; // from localStorage or redeem-transaction result\n @state() private selectionId: string | null = null; // from localStorage\n @state() private cartId: string | null = null; // from localStorage, external cart ID\n @state() private beamCartId: string | null = null; // from cookie, Beam cart ID\n @state() private userId: string | null = null; // from postTransaction\n @state() private transactionId: string | null = null; // from postTransaction\n @state() private excludeDonationsForRecurringTransactions = false;\n @state() private creationMethod = \"\";\n @property({ type: Boolean }) public draftConfig = false;\n\n private localStorage = createScopedLocalStorage(this);\n\n get parsedPromoCodes(): string[] {\n return parseJsonStringArray(this.htmlPromoCodes);\n }\n\n firstUpdated(_changedProperties: PropertyValues) {\n this.enforceConfig();\n\n // Delete selectionId if it was saved with an invalid string (bug introduced v1.54.0)\n if (this.localStorage.getItem(\"transaction\")?.toLocaleLowerCase() === \"undefined\") {\n this.localStorage.removeItem(\"transaction\");\n }\n\n this.selectionId = this.localStorage.getItem(\"transaction\") || null;\n this.cartId = this.localStorage.getItemJson<TBeamCartLocalStorage>(\"cart\")?.cartId || null;\n // Reading beamCartId from cookies instead of localStorage allows it to work across subdomains\n this.beamCartId = getCookieValue(BEAM_CART_COOKIE_NAME) || null;\n\n if (this.selectionId && this.nonprofitId) {\n this.activeWidget = \"impact-overview\";\n }\n }\n\n async updated(previousPropertyValues: PropertyValues) {\n // Also fires on first load as props go from undefined => value\n const refreshOnChangeProps = [...REQUIRED_DATA_PROPS, ...OPTIONAL_DATA_PROPS];\n if (refreshOnChangeProps.some((p) => previousPropertyValues.has(p))) {\n await this.transactionDataController.exec();\n }\n }\n\n enforceConfig() {\n enforceConfig(REQUIRED_DATA_PROPS, this);\n if (!this.email && !this.partnerUserId) {\n throw new MissingConfig(\n [this.email ? \"\" : \"email\", this.partnerUserId ? \"\" : \"partnerUserId\"].filter(Boolean),\n \"At least one of [email, partnerUserId] must be provided\"\n );\n }\n }\n\n private getManualPromoCodes(): string[] {\n if (this.parsedPromoCodes?.length) {\n return this.parsedPromoCodes;\n }\n if (this.promoCodes?.length) {\n return this.promoCodes;\n }\n return [];\n }\n\n handlePostTransaction = async () => {\n this.enforceConfig();\n const manualPromoCodes = this.getManualPromoCodes();\n const formattedPromosFromLocalStorage = formatStoreAndReturnPromoCodes(\n manualPromoCodes.map((code) => ({ value: code })),\n this.apiKey\n );\n\n const promoCookieData = getAllPromoCodesFromCookie();\n const formattedPromosFromCookie: TPromoCodeRequest = {\n unvalidatedPromoCodes: mapToUnvalidatedPromoCodes(manualPromoCodes.map((code) => ({ value: code }))),\n validatedPromoCodes: promoCookieData?.validatedPromoCodes ?? [],\n };\n\n const formattedPromos = formattedPromosFromLocalStorage ?? formattedPromosFromCookie;\n\n const shouldSendPromos = formattedPromos && !isEmptyPromoData(formattedPromos);\n const result = await postTransaction({\n baseUrl: this.baseUrl,\n apiRoot: \"/api\",\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n selectionId: this.selectionId || undefined,\n cartId: this.cartId || undefined,\n beamCartId: this.beamCartId || undefined,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n storeId: this.storeId,\n orderId: this.orderId,\n cartTotal: this.cartTotal,\n email: this.email, // One or both of email & partnerUserId should be defined\n partnerUserId: this.partnerUserId, // One or both of email & partnerUserId should be defined\n currencyCode: this.currencyCode,\n postalCode: this.postalCode,\n countryCode: this.countryCode,\n cart: this.cart,\n ...(shouldSendPromos && { promos: formattedPromos }),\n discountCodes: this.discountCodes,\n },\n });\n\n this.transactionId = result.transactionId;\n this.userId = result.beamUserId;\n this.nonprofitId = result.nonprofitId;\n this.excludeDonationsForRecurringTransactions = Boolean(result.reportSettings?.excludeRecurringDonations);\n this.creationMethod = result.creationMethod || \"\";\n\n const isTransactionRedeemed = !!this.nonprofitId;\n this.activeWidget = isTransactionRedeemed ? \"impact-overview\" : \"redeem-transaction\";\n\n // Emit order created event only when order is registered with Beam for the first time\n if (result.transactionCreated) {\n const localStorageKeys = [\n \"transaction\",\n \"cart\",\n PROMO_LOCAL_STORAGE_KEY,\n LOCAL_STORAGE_KEYS.NONPROFIT,\n LOCAL_STORAGE_KEYS.NONPROFIT_SELECTED_AT,\n ];\n localStorageKeys.forEach((key) => {\n this.localStorage.removeItem(key);\n });\n const cookieConfigs = [\n { name: BEAM_CART_COOKIE_NAME, path: \"/\", domain: this.domain },\n { name: PROMO_CODES_COOKIE_NAME, path: \"/\", domain: this.domain },\n ];\n\n cookieConfigs.forEach((config) => deleteCookieValue(config));\n\n // Emit order created event only when order is registered with Beam for the first time\n dispatchEvent(\n new BeamOrderCreatedEvent({\n transactionId: result.transactionId,\n orderId: this.orderId,\n cartTotal: this.cartTotal,\n currencyCode: this.currencyCode,\n })\n );\n }\n return result;\n };\n\n private transactionDataController = new AsyncController<typeof this.handlePostTransaction>(\n this,\n this.handlePostTransaction\n );\n\n render() {\n if (this.transactionDataController.loading) {\n return \"\";\n }\n if (this.transactionDataController.error) {\n if (this.debug) {\n return _errorMessage({ error: this.transactionDataController.error });\n }\n return \"\";\n }\n if (this.excludeDonationsForRecurringTransactions && this.creationMethod === \"recurring\") {\n return html``;\n }\n if (this.activeWidget === \"redeem-transaction\") {\n return html`\n <beam-redeem-transaction\n part=\"redeem-transaction\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n storeId=\"${this.storeId}\"\n postalCode=\"${this.postalCode}\"\n countryCode=\"${this.countryCode}\"\n transactionId=\"${this.transactionId}\"\n cart=\"${JSON.stringify(this.cart)}\"\n lang=\"${this.lang}\"\n excludeDonationsForRecurringTransactions=\"${this.excludeDonationsForRecurringTransactions}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n @beamnonprofitselect=\"${(event: Event) => {\n if (!(event instanceof CustomEvent)) return; // TS guard\n const { selectedNonprofitId } = (event as BeamNonprofitSelectEvent).detail;\n this.nonprofitId = selectedNonprofitId ?? null;\n this.activeWidget = \"impact-overview\";\n }}\"\n ></beam-redeem-transaction>\n `;\n }\n if (this.activeWidget === \"impact-overview\") {\n return html`\n <beam-impact-overview\n part=\"impact-overview\"\n storeId=\"${this.storeId}\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n userId=\"${this.userId}\"\n nonprofitId=\"${this.nonprofitId}\"\n lang=\"${this.lang}\"\n discountCodes=\"${JSON.stringify(this.discountCodes)}\"\n transactionId=\"${this.transactionId}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n ></beam-impact-overview>\n `;\n }\n return \"\";\n }\n\n static styles = [cssReset];\n}\n\ndefineCustomElement(BeamPostPurchase);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-post-purchase\": BeamPostPurchase;\n }\n}\n"],"names":["y","t","p","d","r","i","o","l","s","REQUIRED_DATA_PROPS","OPTIONAL_DATA_PROPS","BeamPostPurchase","LitElement","DEFAULT_BASE_URL","createScopedLocalStorage","manualPromoCodes","formattedPromosFromLocalStorage","formatStoreAndReturnPromoCodes","code","promoCookieData","getAllPromoCodesFromCookie","formattedPromosFromCookie","mapToUnvalidatedPromoCodes","formattedPromos","shouldSendPromos","isEmptyPromoData","result","postTransaction","isTransactionRedeemed","PROMO_LOCAL_STORAGE_KEY","LOCAL_STORAGE_KEYS","key","BEAM_CART_COOKIE_NAME","PROMO_CODES_COOKIE_NAME","config","deleteCookieValue","BeamOrderCreatedEvent","AsyncController","parseJsonStringArray","_changedProperties","getCookieValue","previousPropertyValues","enforceConfig","MissingConfig","_errorMessage","html","event","selectedNonprofitId","cssReset","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"post-purchase.js","sources":["../../src/components/post-purchase/index.ts"],"sourcesContent":["import { html, LitElement, PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { MissingConfig } from \"../../utils/beam-errors\";\nimport { deleteCookieValue, getCookieValue } from \"../../utils/cookies\";\nimport { cssReset } from \"../../shared/css-reset\";\nimport { defineCustomElement } from \"../../shared/defineCustomElement\";\nimport { createScopedLocalStorage } from \"../../utils/local-storage\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { _errorMessage } from \"../../shared/fragments/error-message-template\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { DEFAULT_BASE_URL, LOCAL_STORAGE_KEYS } from \"../../api-sdk/constants\";\nimport { postTransaction } from \"../../api-sdk/v4/routes\";\nimport \"../redeem-transaction\";\nimport \"../impact-overview\";\nimport { BEAM_CART_COOKIE_NAME, TBeamCartLocalStorage, TCart } from \"../../shared/cart-contents\";\nimport { BeamNonprofitSelectEvent, BeamOrderCreatedEvent } from \"../../utils/events\";\nimport {\n isEmptyPromoData,\n parseJsonStringArray,\n formatStoreAndReturnPromoCodes,\n getAllPromoCodesFromCookie,\n mapToUnvalidatedPromoCodes,\n} from \"../../utils/promoManager\";\nimport { PROMO_CODES_COOKIE_NAME, PROMO_LOCAL_STORAGE_KEY, TPromoCodeRequest } from \"../../shared/promo-types\";\nimport { getRemoteSession } from \"../../utils/remote-session\";\n\nconst REQUIRED_DATA_PROPS = [\"baseUrl\", \"apiKey\", \"orderId\", \"cartTotal\", \"currencyCode\", \"lang\"];\nconst OPTIONAL_DATA_PROPS = [\n \"storeId\",\n \"postalCode\",\n \"countryCode\",\n \"cart\",\n \"discountCodes\",\n \"promoCodes\",\n \"htmlPromoCodes\",\n \"email\",\n \"partnerUserId\",\n \"remoteSessionId\",\n];\n\nexport class BeamPostPurchase extends LitElement {\n static tagName = \"beam-post-purchase\";\n\n @property({ type: String })\n public baseUrl: string = DEFAULT_BASE_URL;\n\n @property({ type: String })\n public apiKey!: string;\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 postalCode?: string;\n\n @property({ type: String })\n public countryCode?: string;\n\n @property({ type: String })\n public orderId!: string;\n\n /**\n * Either email or partnerUserId is required\n */\n @property({ type: String })\n public email?: string;\n\n /**\n * Either email or partnerUserId is required\n */\n @property({ type: String })\n public partnerUserId?: string;\n\n @property({ type: Number })\n public cartTotal!: number;\n\n @property({ type: String })\n public currencyCode = \"USD\";\n\n @property({ type: String })\n public lang: LANGUAGES = \"en\";\n\n @property({ type: Object })\n public cart?: TCart;\n\n /**\n * @deprecated Use `promoCodes` instead. `discountCodes` is retained for backward compatibility\n */\n @property({ type: Array })\n public discountCodes?: string[];\n\n @property({ type: Array })\n public promoCodes?: string[];\n\n @property({ type: String })\n public htmlPromoCodes?: string;\n\n @property({ type: String })\n public domain?: string;\n\n @property({ type: String })\n public remoteSessionId?: string;\n\n @property({ type: Boolean })\n public debug = false;\n\n @state() private activeWidget: \"redeem-transaction\" | \"impact-overview\" | null = null; // wait for postTransaction\n @state() private nonprofitId: number | null = null; // from localStorage or redeem-transaction result\n @state() private selectionId: string | null = null; // from localStorage\n @state() private cartId: string | null = null; // from localStorage, external cart ID\n @state() private beamCartId: string | null = null; // from cookie, Beam cart ID\n @state() private userId: string | null = null; // from postTransaction\n @state() private transactionId: string | null = null; // from postTransaction\n @state() private excludeDonationsForRecurringTransactions = false;\n @state() private creationMethod = \"\";\n @state() private orderProcessedAt = \"\";\n @property({ type: Boolean }) public draftConfig = false;\n\n private localStorage = createScopedLocalStorage(this);\n\n get parsedPromoCodes(): string[] {\n return parseJsonStringArray(this.htmlPromoCodes);\n }\n\n updateComponentState() {\n // Delete selectionId if it was saved with an invalid string (bug introduced v1.54.0)\n if (this.localStorage.getItem(\"transaction\")?.toLocaleLowerCase() === \"undefined\") {\n this.localStorage.removeItem(\"transaction\");\n }\n\n this.selectionId = this.selectionId || this.localStorage.getItem(\"transaction\") || null;\n this.cartId = this.cartId || this.localStorage.getItemJson<TBeamCartLocalStorage>(\"cart\")?.cartId || null;\n // Reading beamCartId from cookies instead of localStorage allows it to work across subdomains\n this.beamCartId =\n this.beamCartId ||\n this.localStorage.getItemJson<TBeamCartLocalStorage>(\"cart\")?.beamCartId ||\n getCookieValue(BEAM_CART_COOKIE_NAME) ||\n null;\n\n if (this.selectionId && this.nonprofitId) {\n this.activeWidget = \"impact-overview\";\n }\n }\n\n firstUpdated(_changedProperties: PropertyValues) {\n this.enforceConfig();\n this.updateComponentState();\n }\n\n async updated(previousPropertyValues: PropertyValues) {\n // Also fires on first load as props go from undefined => value\n const refreshOnChangeProps = [...REQUIRED_DATA_PROPS, ...OPTIONAL_DATA_PROPS];\n if (refreshOnChangeProps.some((p) => previousPropertyValues.has(p))) {\n await this.transactionDataController.exec();\n }\n }\n\n enforceConfig() {\n enforceConfig(REQUIRED_DATA_PROPS, this);\n if (!this.email && !this.partnerUserId) {\n throw new MissingConfig(\n [this.email ? \"\" : \"email\", this.partnerUserId ? \"\" : \"partnerUserId\"].filter(Boolean),\n \"At least one of [email, partnerUserId] must be provided\",\n );\n }\n }\n\n private getManualPromoCodes(): string[] {\n if (this.parsedPromoCodes?.length) {\n return this.parsedPromoCodes;\n }\n if (this.promoCodes?.length) {\n return this.promoCodes;\n }\n return [];\n }\n\n handlePostTransaction = async () => {\n this.enforceConfig();\n this.updateComponentState();\n\n const manualPromoCodes = this.getManualPromoCodes();\n const formattedPromosFromLocalStorage = formatStoreAndReturnPromoCodes(\n manualPromoCodes.map((code) => ({ value: code })),\n this.apiKey,\n );\n\n const promoCookieData = getAllPromoCodesFromCookie();\n const formattedPromosFromCookie: TPromoCodeRequest = {\n unvalidatedPromoCodes: mapToUnvalidatedPromoCodes(manualPromoCodes.map((code) => ({ value: code }))),\n validatedPromoCodes: promoCookieData?.validatedPromoCodes ?? [],\n };\n\n const formattedPromos = formattedPromosFromLocalStorage ?? formattedPromosFromCookie;\n\n const shouldSendPromos = formattedPromos && !isEmptyPromoData(formattedPromos);\n const remoteSessionId =\n this.remoteSessionId ?? getRemoteSession({ apiKey: this.apiKey }) ?? getCookieValue(\"beam_statsig_session_id\");\n const result = await postTransaction({\n baseUrl: this.baseUrl,\n apiRoot: \"/api\",\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n selectionId: this.selectionId || undefined,\n cartId: this.cartId || undefined,\n beamCartId: this.beamCartId || undefined,\n storeId: this.storeId,\n orderId: this.orderId,\n cartTotal: this.cartTotal,\n email: this.email, // One or both of email & partnerUserId should be defined\n partnerUserId: this.partnerUserId, // One or both of email & partnerUserId should be defined\n currencyCode: this.currencyCode,\n postalCode: this.postalCode,\n countryCode: this.countryCode,\n cart: this.cart,\n ...(shouldSendPromos && { promos: formattedPromos }),\n discountCodes: this.discountCodes,\n orderProcessedAt: new Date().toISOString(),\n ...(remoteSessionId && { remoteSessionId }),\n },\n });\n\n this.transactionId = result.transactionId;\n this.userId = result.beamUserId;\n this.nonprofitId = result.nonprofitId;\n this.excludeDonationsForRecurringTransactions = Boolean(result.reportSettings?.excludeRecurringDonations);\n this.creationMethod = result.creationMethod || \"\";\n this.orderProcessedAt = result.timestamp;\n\n const isTransactionRedeemed = !!this.nonprofitId;\n this.activeWidget = isTransactionRedeemed ? \"impact-overview\" : \"redeem-transaction\";\n\n // Emit order created event only when order is registered with Beam for the first time\n if (result.transactionCreated) {\n const localStorageKeys = [\n \"transaction\",\n \"cart\",\n PROMO_LOCAL_STORAGE_KEY,\n LOCAL_STORAGE_KEYS.NONPROFIT,\n LOCAL_STORAGE_KEYS.NONPROFIT_SELECTED_AT,\n ];\n localStorageKeys.forEach((key) => {\n this.localStorage.removeItem(key);\n });\n const cookieConfigs = [\n { name: BEAM_CART_COOKIE_NAME, path: \"/\", domain: this.domain },\n { name: PROMO_CODES_COOKIE_NAME, path: \"/\", domain: this.domain },\n ];\n\n cookieConfigs.forEach((config) => deleteCookieValue(config));\n\n // Emit order created event only when order is registered with Beam for the first time\n dispatchEvent(\n new BeamOrderCreatedEvent({\n transactionId: result.transactionId,\n orderId: this.orderId,\n cartTotal: this.cartTotal,\n currencyCode: this.currencyCode,\n }),\n );\n }\n return result;\n };\n\n private transactionDataController = new AsyncController<typeof this.handlePostTransaction>(\n this,\n this.handlePostTransaction,\n );\n\n render() {\n const THIRTY_DAYS_IN_MS = 30 * 24 * 60 * 60 * 1000;\n const transactionIsLessThan30DaysOld = Date.now() - new Date(this.orderProcessedAt).getTime() < THIRTY_DAYS_IN_MS;\n\n if (this.transactionDataController.loading) {\n return \"\";\n }\n if (this.transactionDataController.error) {\n if (this.debug) {\n return _errorMessage({ error: this.transactionDataController.error });\n }\n return \"\";\n }\n if (this.excludeDonationsForRecurringTransactions && this.creationMethod === \"recurring\") {\n return html``;\n }\n if (this.activeWidget === \"redeem-transaction\" && transactionIsLessThan30DaysOld) {\n return html`\n <beam-redeem-transaction\n part=\"redeem-transaction\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n storeId=\"${this.storeId}\"\n postalCode=\"${this.postalCode}\"\n countryCode=\"${this.countryCode}\"\n transactionId=\"${this.transactionId}\"\n cart=\"${JSON.stringify(this.cart)}\"\n lang=\"${this.lang}\"\n excludeDonationsForRecurringTransactions=\"${this.excludeDonationsForRecurringTransactions}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n @beamnonprofitselect=\"${(event: Event) => {\n if (!(event instanceof CustomEvent)) return; // TS guard\n const { selectedNonprofitId } = (event as BeamNonprofitSelectEvent).detail;\n this.nonprofitId = selectedNonprofitId ?? null;\n this.activeWidget = \"impact-overview\";\n }}\"\n ></beam-redeem-transaction>\n `;\n }\n if (this.activeWidget === \"impact-overview\") {\n return html`\n <beam-impact-overview\n part=\"impact-overview\"\n storeId=\"${this.storeId}\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n userId=\"${this.userId}\"\n nonprofitId=\"${this.nonprofitId}\"\n lang=\"${this.lang}\"\n discountCodes=\"${JSON.stringify(this.discountCodes)}\"\n transactionId=\"${this.transactionId}\"\n ?draftConfig=\"${this.draftConfig}\"\n ?debug=\"${this.debug}\"\n ></beam-impact-overview>\n `;\n }\n return \"\";\n }\n\n static styles = [cssReset];\n}\n\ndefineCustomElement(BeamPostPurchase);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-post-purchase\": BeamPostPurchase;\n }\n}\n"],"names":["b","t","p","l","o","n","r","s","d","REQUIRED_DATA_PROPS","OPTIONAL_DATA_PROPS","BeamPostPurchase","LitElement","DEFAULT_BASE_URL","createScopedLocalStorage","manualPromoCodes","formattedPromosFromLocalStorage","formatStoreAndReturnPromoCodes","code","promoCookieData","getAllPromoCodesFromCookie","formattedPromosFromCookie","mapToUnvalidatedPromoCodes","formattedPromos","shouldSendPromos","isEmptyPromoData","remoteSessionId","getRemoteSession","getCookieValue","result","postTransaction","isTransactionRedeemed","PROMO_LOCAL_STORAGE_KEY","LOCAL_STORAGE_KEYS","key","BEAM_CART_COOKIE_NAME","PROMO_CODES_COOKIE_NAME","config","deleteCookieValue","BeamOrderCreatedEvent","AsyncController","parseJsonStringArray","_changedProperties","previousPropertyValues","enforceConfig","MissingConfig","transactionIsLessThan30DaysOld","_errorMessage","html","event","selectedNonprofitId","cssReset","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as lit from 'lit';
|
|
2
2
|
import { LitElement } from 'lit';
|
|
3
3
|
import * as lit_html from 'lit-html';
|
|
4
|
-
import { p as postProductDetailsPage } from '../chunks/routes-
|
|
4
|
+
import { p as postProductDetailsPage } from '../chunks/routes-OxC3Ah30.esm.js';
|
|
5
5
|
import { T as TUrl, L as LANGUAGES } from '../chunks/types-DfRc36jU.esm.js';
|
|
6
|
-
import '../chunks/promo-pill-label-BXRqZHET.esm.js';
|
|
7
6
|
|
|
8
7
|
type RequiredConfig = {
|
|
9
8
|
apiKey: string;
|
|
@@ -35,59 +34,59 @@ declare class BeamProductDetailsPage extends LitElement {
|
|
|
35
34
|
web: {
|
|
36
35
|
title: string;
|
|
37
36
|
description: string;
|
|
38
|
-
promoDescriptionPrefix?: string
|
|
39
|
-
promoDescription?: string
|
|
40
|
-
confirmButton?: string
|
|
41
|
-
confirmedButton?: string
|
|
42
|
-
collapsedButton?: string
|
|
37
|
+
promoDescriptionPrefix?: string;
|
|
38
|
+
promoDescription?: string;
|
|
39
|
+
confirmButton?: string;
|
|
40
|
+
confirmedButton?: string;
|
|
41
|
+
collapsedButton?: string;
|
|
43
42
|
theme?: {
|
|
44
43
|
[key: string]: unknown;
|
|
45
|
-
} | null
|
|
46
|
-
nonprofitSelectedHeader?: string
|
|
47
|
-
nonprofitUnselectedHeader?: string
|
|
44
|
+
} | null;
|
|
45
|
+
nonprofitSelectedHeader?: string;
|
|
46
|
+
nonprofitUnselectedHeader?: string;
|
|
48
47
|
dynamicStrings?: {
|
|
49
48
|
[key: string]: string;
|
|
50
|
-
} | null
|
|
49
|
+
} | null;
|
|
51
50
|
additionalStrings?: {
|
|
52
51
|
[key: string]: string;
|
|
53
|
-
} | null
|
|
54
|
-
disableAnimation?: boolean
|
|
52
|
+
} | null;
|
|
53
|
+
disableAnimation?: boolean;
|
|
55
54
|
promo?: {
|
|
56
55
|
"promo-text-long": string;
|
|
57
56
|
"promo-text-short": string;
|
|
58
57
|
"promo-cause-alt-text": string;
|
|
59
|
-
}
|
|
58
|
+
};
|
|
60
59
|
};
|
|
61
60
|
mobileWeb?: {
|
|
62
61
|
title: string;
|
|
63
62
|
description: string;
|
|
64
|
-
nonprofitSelectedHeader?: string
|
|
65
|
-
nonprofitUnselectedHeader?: string
|
|
66
|
-
}
|
|
63
|
+
nonprofitSelectedHeader?: string;
|
|
64
|
+
nonprofitUnselectedHeader?: string;
|
|
65
|
+
};
|
|
67
66
|
mobile: {
|
|
68
67
|
title: string;
|
|
69
68
|
description: string;
|
|
70
|
-
nonprofitSelectedHeader?: string
|
|
71
|
-
nonprofitUnselectedHeader?: string
|
|
69
|
+
nonprofitSelectedHeader?: string;
|
|
70
|
+
nonprofitUnselectedHeader?: string;
|
|
72
71
|
};
|
|
73
|
-
enableNonprofitDeselection?: boolean
|
|
72
|
+
enableNonprofitDeselection?: boolean;
|
|
74
73
|
};
|
|
75
74
|
ppgfDisclosure?: {
|
|
76
75
|
copy: string;
|
|
77
|
-
}
|
|
76
|
+
};
|
|
78
77
|
ppgfDisclosureHyperlink?: {
|
|
79
78
|
url: string;
|
|
80
79
|
copy: string;
|
|
81
|
-
}
|
|
80
|
+
};
|
|
82
81
|
promos?: {
|
|
83
82
|
validatedPromoCodes?: {
|
|
84
83
|
promoCodeId: string | null;
|
|
85
|
-
promoCodeGroupId?: string | null
|
|
86
|
-
promoId?: number
|
|
84
|
+
promoCodeGroupId?: string | null;
|
|
85
|
+
promoId?: number;
|
|
87
86
|
validatedAt: string;
|
|
88
87
|
apply: boolean;
|
|
89
|
-
}[]
|
|
90
|
-
}
|
|
88
|
+
}[];
|
|
89
|
+
};
|
|
91
90
|
}>;
|
|
92
91
|
private productDetailsPageDataController;
|
|
93
92
|
updated(changedProperties: Map<string, unknown>): Promise<void>;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{g as E,b as r,i as B,n as p,r as z,a as A,h as L}from"../chunks/lit-JRlupCB5.esm.js";import{u as b,A as W,_ as G,i as k,d as D,a as M}from"../chunks/localize-Dg7NgKIP.esm.js";import{D as R,W as y,j as _,S as j}from"../chunks/routes-DSu5s3K7.esm.js";import{c as O,d as H,e as U}from"../chunks/enforce-config-DHnpgqSK.esm.js";import{c as K}from"../chunks/responsive-CIV4sFdH.esm.js";import"../chunks/_share-dialog-dependencies-Bk60ibnw.esm.js";import"../chunks/vendor-ckSdd6aH.esm.js";import{p as N}from"../chunks/promo-pill-label-D_4zJ7uy.esm.js";import{formatStoreAndReturnPromoCodes as V,isEmptyPromoData as q,parseJsonStringArray as J,getPromoCodesFromCart as Y,setPromoCodesInLocalStorage as Z,setPromoCodeInCookie as Q}from"../utils/promoManager.esm.js";import{B as X}from"../chunks/cart-contents-DkoytiZh.esm.js";import{createScopedLocalStorage as ee}from"../utils/local-storage.esm.js";import{makeApiKeyHeader as te}from"../utils/makeApiKeyHeader.esm.js";import{f as w,a as S}from"../chunks/events-COWOQoLW.esm.js";import{getBeamCartId as oe}from"../utils/cart.esm.js";import"../chunks/beam-errors-Ci0d3926.esm.js";import"../utils/logger.esm.js";import"../chunks/promo-types-DKAOFHJr.esm.js";import"../utils/memoize-last.esm.js";import"../chunks/lodash-BSs6Il-c.esm.js";import"../utils/cookies.esm.js";const ae=(n="",{borderRadius:e="0px",borderStyle:t="unset",borderColor:o="#000000",borderWidth:i="1px"}={})=>{const a=n.startsWith("--beam-")?n:`--beam-${n}`;return{[`${a}-borderRadius`]:e,[`${a}-borderStyle`]:t,[`${a}-borderColor`]:o,[`${a}-borderWidth`]:i}},ie=(n="",{borderRadius:e="0px",borderStyle:t="unset",borderColor:o="#000000",borderWidth:i="1px"}={})=>{const a=n.startsWith("--beam-")?n:`--beam-${n}`;return E(` border-radius: var(${a}-borderRadius, ${e});
|
|
2
2
|
border-style: var(${a}-borderStyle, ${t});
|
|
3
3
|
border-color: var(${a}-borderColor, ${o});
|
|
4
4
|
border-width: var(${a}-borderWidth, ${i});
|
|
5
5
|
`)},re=()=>r` <svg
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
</svg>`,v={en:{ctaTitle:()=>"Choose Your Impact",ctaMessage:()=>"At no extra cost, 1% of every order will be donated to a nonprofit you choose. Add to cart to choose. Powered by Beam",inlineSeparator:()=>":"},fr:{ctaTitle:()=>"Choisissez votre impact",ctaMessage:()=>"Sans frais suppl\xE9mentaires, 1 % de chaque commande est revers\xE9 \xE0 l'association de votre choix. Ajoutez au panier pour choisir. Propuls\xE9 par Beam.",inlineSeparator:()=>":"},es:{ctaTitle:()=>"Elige tu impacto",ctaMessage:()=>"Sin coste adicional, el 1 % de cada pedido se dona a la organizaci\xF3n sin \xE1nimo de lucro que elijas. A\xF1\xE1delo al carrito para elegir. Impulsado por Beam.",inlineSeparator:()=>":"},de:{ctaTitle:()=>"W\xE4hlen Sie Ihren Impact",ctaMessage:()=>"Ohne zus\xE4tzliche Kosten wird 1 % jeder Bestellung an eine von Ihnen gew\xE4hlte gemeinn\xFCtzige Organisation gespendet. Zum Warenkorb hinzuf\xFCgen, um auszuw\xE4hlen. Unterst\xFCtzt von Beam.",inlineSeparator:()=>":"},it:{ctaTitle:()=>"Scegli il tuo impatto",ctaMessage:()=>"L'1 % di ogni acquisto viene donato, senza alcun costo aggiuntivo, a un'organizzazione no-profit a tua scelta. Aggiungi al carrello per scegliere. Promosso da Beam.",inlineSeparator:()=>":"},pl:{ctaTitle:()=>"Wybierz sw\xF3j wp\u0142yw",ctaMessage:()=>"1 % warto\u015Bci ka\u017Cdego zam\xF3wienia przekazywany jest na wybran\u0105 przez Ciebie organizacj\u0119 non-profit \u2013 bez dodatkowych koszt\xF3w. Dodaj do koszyka, aby wybra\u0107. Obs\u0142ugiwane przez Beam.",inlineSeparator:()=>":"},ja:{ctaTitle:()=>"\u5BC4\u4ED8\u5148\u3092\u304A\u9078\u3073\u304F\u3060\u3055\u3044\u3002",ctaMessage:()=>"\u8FFD\u52A0\u8CBB\u7528\u306A\u3057\u3067\u3001\u3054\u6CE8\u6587\u91D1\u984D\u306E1%\u3092\u975E\u55B6\u5229\u56E3\u4F53\u3078\u5BC4\u4ED8\u3067\u304D\u307E\u3059\u3002\u3054\u5E0C\u671B\u306E\u5834\u5408\u3001\u30AB\u30FC\u30C8\u306B\u8FFD\u52A0\u3057\u3066\u5BC4\u4ED8\u5185\u5BB9\u3092\u304A\u9078\u3073\u304F\u3060\u3055\u3044\u3002Powered by Beam",inlineSeparator:()=>":"}};var se=Object.defineProperty,
|
|
6
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
+
width="24"
|
|
8
|
+
height="24"
|
|
9
|
+
viewBox="0 0 24 24"
|
|
10
|
+
fill="none"
|
|
11
|
+
stroke="currentColor"
|
|
12
|
+
stroke-width="2"
|
|
13
|
+
stroke-linecap="round"
|
|
14
|
+
stroke-linejoin="round"
|
|
15
|
+
part="svg"
|
|
16
|
+
>
|
|
17
|
+
<circle cx="12" cy="12" r="10"></circle>
|
|
18
|
+
<path d="M12 16v-4"></path>
|
|
19
|
+
<path d="M12 8h.01"></path>
|
|
20
|
+
</svg>`,v={en:{ctaTitle:()=>"Choose Your Impact",ctaMessage:()=>"At no extra cost, 1% of every order will be donated to a nonprofit you choose. Add to cart to choose. Powered by Beam",inlineSeparator:()=>":"},fr:{ctaTitle:()=>"Choisissez votre impact",ctaMessage:()=>"Sans frais suppl\xE9mentaires, 1 % de chaque commande est revers\xE9 \xE0 l'association de votre choix. Ajoutez au panier pour choisir. Propuls\xE9 par Beam.",inlineSeparator:()=>":"},es:{ctaTitle:()=>"Elige tu impacto",ctaMessage:()=>"Sin coste adicional, el 1 % de cada pedido se dona a la organizaci\xF3n sin \xE1nimo de lucro que elijas. A\xF1\xE1delo al carrito para elegir. Impulsado por Beam.",inlineSeparator:()=>":"},de:{ctaTitle:()=>"W\xE4hlen Sie Ihren Impact",ctaMessage:()=>"Ohne zus\xE4tzliche Kosten wird 1 % jeder Bestellung an eine von Ihnen gew\xE4hlte gemeinn\xFCtzige Organisation gespendet. Zum Warenkorb hinzuf\xFCgen, um auszuw\xE4hlen. Unterst\xFCtzt von Beam.",inlineSeparator:()=>":"},it:{ctaTitle:()=>"Scegli il tuo impatto",ctaMessage:()=>"L'1 % di ogni acquisto viene donato, senza alcun costo aggiuntivo, a un'organizzazione no-profit a tua scelta. Aggiungi al carrello per scegliere. Promosso da Beam.",inlineSeparator:()=>":"},pl:{ctaTitle:()=>"Wybierz sw\xF3j wp\u0142yw",ctaMessage:()=>"1 % warto\u015Bci ka\u017Cdego zam\xF3wienia przekazywany jest na wybran\u0105 przez Ciebie organizacj\u0119 non-profit \u2013 bez dodatkowych koszt\xF3w. Dodaj do koszyka, aby wybra\u0107. Obs\u0142ugiwane przez Beam.",inlineSeparator:()=>":"},ja:{ctaTitle:()=>"\u5BC4\u4ED8\u5148\u3092\u304A\u9078\u3073\u304F\u3060\u3055\u3044\u3002",ctaMessage:()=>"\u8FFD\u52A0\u8CBB\u7528\u306A\u3057\u3067\u3001\u3054\u6CE8\u6587\u91D1\u984D\u306E1%\u3092\u975E\u55B6\u5229\u56E3\u4F53\u3078\u5BC4\u4ED8\u3067\u304D\u307E\u3059\u3002\u3054\u5E0C\u671B\u306E\u5834\u5408\u3001\u30AB\u30FC\u30C8\u306B\u8FFD\u52A0\u3057\u3066\u5BC4\u4ED8\u5185\u5BB9\u3092\u304A\u9078\u3073\u304F\u3060\u3055\u3044\u3002Powered by Beam",inlineSeparator:()=>":"}};var se=Object.defineProperty,c=(n,e,t,o)=>{for(var i=void 0,a=n.length-1,l;a>=0;a--)(l=n[a])&&(i=l(e,t,i)||i);return i&&se(e,t,i),i};const le="--beam-ProductDetailsPage-imageUrl";class s extends A{constructor(){super(...arguments),this.baseUrl=R,this.lang="en",this.draftConfig=!1,this.debug=!1,this.localStorage=ee(this),this.pluginPromoCodes=[],this.handlePromoCodesStored=e=>{const t=(e.detail.promoCodes?.unvalidatedPromoCodes??[]).map(o=>o.attributes?.value??o.attributes?.url??"").sort();this.pluginPromoCodes=t},this.postProductDetailsPageData=async()=>{U(["apiKey","storeId"],this);const e=oe(X,{apiKey:this.apiKey}),t=this.getManualPromoCodes(),o=V(t.map(l=>({value:l})),this.apiKey),i=o&&!q(o);i&&this.dispatchEvent(new w({source:y.product_details_page}));const a=await _({baseUrl:this.baseUrl,headers:te(this.apiKey),queryParams:{version:"1.0.0",lang:this.configLang,storeId:this.storeId,widgetName:y.product_details_page,draftConfig:this.draftConfig,remoteProductIdentifier:this.remoteProductIdentifier},requestBody:{...i&&{promos:o},beamCartId:e||void 0}});return this.handleValidatedPromoCodes(a),a},this.productDetailsPageDataController=new W(this,this.postProductDetailsPageData)}get configLang(){return j[this.lang]||"en"}get parsedPromoCodes(){return J(this.promoCodes)}getManualPromoCodes(){if(this.parsedPromoCodes&&this.parsedPromoCodes.length>0)return this.parsedPromoCodes;const e=this.localStorage.getItemJson("cart");return e?Y(e):[]}async handleValidatedPromoCodes(e){e.promos?.validatedPromoCodes&&(await Promise.all([Z({apiKey:this.apiKey,promoCodes:{validatedPromoCodes:e.promos.validatedPromoCodes,unvalidatedPromoCodes:[]}}),Q({validatedPromoCodes:e.promos.validatedPromoCodes,domain:this.domain})]),this.dispatchEvent(new w({source:y.product_details_page})))}async firstUpdated(){window.addEventListener(S.eventName,this.handlePromoCodesStored)}disconnectedCallback(){window.removeEventListener(S.eventName,this.handlePromoCodesStored),super.disconnectedCallback()}async updated(e){const t=["storeId","baseUrl","lang","apiKey","pluginPromoCodes","promoCodes"];this.pluginPromoCodes;for(const o of t)if(e.has(o)){await this.productDetailsPageDataController.exec();break}}render(){const{data:e,loading:t}=this.productDetailsPageDataController,o=this.cssVariables["--beam-ProductDetailsPage-image-placement"],i=P=>P!=="0px"&&P!=="0",a=this.cssVariables["--beam-ProductDetailsPage-shouldDisplayPromoPill"]==="true",l=!!e?.config?.web?.promo,g=i(this.cssVariables["--beam-ProductDetailsPage-imageHeight"]),h=i(this.cssVariables["--beam-ProductDetailsPage-title-fontSize"]),u=a&&l&&g&&h,m=this.cssVariables["--beam-ProductDetailsPage-shouldDisplayColon"]==="true";return t?r``:e==null?this.debug?G({error:new Error("No data")}):"":r`
|
|
21
21
|
<style>
|
|
22
22
|
:host {
|
|
23
23
|
${this.cssVariables.toCSS()}
|
|
@@ -49,7 +49,7 @@ import{j as E,y as r,f as B,g as c,t as A,h as z,k as L}from"../chunks/lit-WqMxC
|
|
|
49
49
|
</div>
|
|
50
50
|
`}renderWidgetIcon(e){const t=this.cssVariables[le];return t?r`
|
|
51
51
|
<span class="icon-container" part="icon" ${e==="block-center"?'style="order:1"':""}>
|
|
52
|
-
<img src=${t} part="icon" aria-hidden="true" alt="" />
|
|
52
|
+
<img src=${t} part="icon" aria-hidden="true" alt="" data-speedsize-ignore="true" />
|
|
53
53
|
</span>
|
|
54
54
|
`:r``}renderContent(e,t,o){const i=k(this.configLang,o?.config?.web?.title)||v[this.configLang].ctaTitle(),a=k(this.configLang,o?.config?.web?.description)||v[this.configLang].ctaMessage();return e?r`
|
|
55
55
|
<div class="info-inline-promo">
|
|
@@ -78,7 +78,7 @@ import{j as E,y as r,f as B,g as c,t as A,h as z,k as L}from"../chunks/lit-WqMxC
|
|
|
78
78
|
stroke-linecap="round"
|
|
79
79
|
stroke-linejoin="round"
|
|
80
80
|
/>
|
|
81
|
-
</svg> `}renderDisclosureTooltip(){let e,t;const o=()=>document.activeElement?.tagName.toLowerCase()===this.tagName.toLowerCase(),i=()=>{clearTimeout(t),t=setTimeout(()=>{this.renderRoot.querySelector(".ppgf-disclosure-tooltip-content")?.setAttribute("aria-hidden","true")},50)},a=()=>{clearTimeout(t)
|
|
81
|
+
</svg> `}renderDisclosureTooltip(){let e,t;const o=()=>document.activeElement?.tagName.toLowerCase()===this.tagName.toLowerCase(),i=()=>{clearTimeout(t),t=setTimeout(()=>{this.renderRoot.querySelector(".ppgf-disclosure-tooltip-content")?.setAttribute("aria-hidden","true")},50)},a=()=>{clearTimeout(t);const d=this.renderRoot.querySelector(".ppgf-disclosure-tooltip-content");d?.setAttribute("aria-hidden","false"),d?.focus()},l=({skipDelay:d=!1,keepOpenIfFocused:f=!1})=>{clearTimeout(e),e=setTimeout(()=>{f&&o()||this.renderRoot.querySelector(".ppgf-disclosure-tooltip")?.hide()},d?0:300)},g=()=>{clearTimeout(e),this.renderRoot.querySelector(".ppgf-disclosure-tooltip")?.show()},h=({skipDelay:d=!1,keepOpenIfFocused:f=!1})=>{const x=this.renderRoot.querySelector(".ppgf-disclosure-tooltip");x&&(x.open?l({skipDelay:d,keepOpenIfFocused:f}):g())},u=d=>{(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),h({skipDelay:!0,keepOpenIfFocused:!1}))},m=()=>{l({skipDelay:!1,keepOpenIfFocused:!0})},P=()=>{g()},$=()=>{g()},F=()=>{l({skipDelay:!1,keepOpenIfFocused:!1})},I=()=>{l({skipDelay:!0,keepOpenIfFocused:!0})},T=()=>{l({skipDelay:!0,keepOpenIfFocused:!1})},C=this.productDetailsPageDataController.data?.ppgfDisclosure;return C?r`<sl-tooltip
|
|
82
82
|
class="ppgf-disclosure-tooltip"
|
|
83
83
|
part="tooltip"
|
|
84
84
|
trigger="manual"
|
|
@@ -112,7 +112,7 @@ import{j as E,y as r,f as B,g as c,t as A,h as z,k as L}from"../chunks/lit-WqMxC
|
|
|
112
112
|
<span
|
|
113
113
|
class="ppgf-disclosure-tooltip-trigger"
|
|
114
114
|
part="tooltip-disclosure-icon"
|
|
115
|
-
aria-label="
|
|
115
|
+
aria-label="PayPal Giving Fund Disclosure Tooltip"
|
|
116
116
|
role="button"
|
|
117
117
|
tabindex="0"
|
|
118
118
|
@keydown="${u}"
|
|
@@ -132,7 +132,7 @@ import{j as E,y as r,f as B,g as c,t as A,h as z,k as L}from"../chunks/lit-WqMxC
|
|
|
132
132
|
${re()}
|
|
133
133
|
</sl-button>
|
|
134
134
|
</span>
|
|
135
|
-
</sl-tooltip>`:r``}get cssVariables(){const e={"--beam-ProductDetailsPage-imageWidth":"24px","--beam-ProductDetailsPage-imageHeight":"24px","--beam-ProductDetailsPage-maxWidth":"346px","--beam-ProductDetailsPage-paddingTop":"8px","--beam-ProductDetailsPage-paddingRight":"12px","--beam-ProductDetailsPage-paddingBottom":"8px","--beam-ProductDetailsPage-paddingLeft":"15px","--beam-ProductDetailsPage-InfoContainer-marginLeft":"8px","--beam-ProductDetailsPage-InfoContainer-textAlign":"inherit","--beam-ProductDetailsPage-InfoContainer-lineHeight":"15px","--beam-ProductDetailsPage-InfoContainer-marginTop":"4px","--beam-ProductDetailsPage-backgroundColor":"unset","--beam-ProductDetailsPage-TooltipIcon-width":"10px","--beam-ProductDetailsPage-TooltipIcon-color":"inherit","--beam-ProductDetailsPage-PPGFDisclosure-backgroundColor":"#000000","--beam-ProductDetailsPage-PPGFDisclosure-paddingTop":"10px","--beam-ProductDetailsPage-PPGFDisclosure-paddingRight":"8px","--beam-ProductDetailsPage-PPGFDisclosure-paddingBottom":"10px","--beam-ProductDetailsPage-PPGFDisclosure-paddingLeft":"8px","--beam-ProductDetailsPage-PPGFDisclosureHyperlink-color":"#5CA3FF",...D("--beam-ProductDetailsPage-title",{fontSize:"12px",fontWeight:"bold"}),"--beam-ProductDetailsPage-title-textAlign":"left",...D("--beam-ProductDetailsPage-description",{marginTop:"0px",fontSize:"12px",lineHeight:"15px"}),"--beam-ProductDetailsPage-description-textAlign":"left",...D("--beam-ProductDetailsPage-PPGFDisclosureTooltipContent",{fontSize:"12px",lineHeight:"16px",color:"#FFFFFF"}),...ae("--beam-ProductDetailsPage"),"--beam-ProductDetailsPage-close-display":"initial","--beam-ProductDetailsPage-close-padding":"0","--beam-ProductDetailsPage-image-placement":"inline-left","--beam-ProductDetailsPage-blockImage-alignSelf":"center","--beam-ProductDetailsPage-promoPill-marginTop":"4px","--beam-ProductDetailsPage-promoPill-alignSelf":"left","--beam-ProductDetailsPage-shouldDisplayColon":"true","--beam-ProductDetailsPage-shouldDisplayPromoPill":"true",...N},t=this.productDetailsPageDataController?.data?.config?.web?.theme||{},o={...e,...t};return Object.assign(Object.create({toCSS(){return
|
|
135
|
+
</sl-tooltip>`:r``}get cssVariables(){const e={"--beam-ProductDetailsPage-imageWidth":"24px","--beam-ProductDetailsPage-imageHeight":"24px","--beam-ProductDetailsPage-maxWidth":"346px","--beam-ProductDetailsPage-paddingTop":"8px","--beam-ProductDetailsPage-paddingRight":"12px","--beam-ProductDetailsPage-paddingBottom":"8px","--beam-ProductDetailsPage-paddingLeft":"15px","--beam-ProductDetailsPage-InfoContainer-marginLeft":"8px","--beam-ProductDetailsPage-InfoContainer-textAlign":"inherit","--beam-ProductDetailsPage-InfoContainer-lineHeight":"15px","--beam-ProductDetailsPage-InfoContainer-marginTop":"4px","--beam-ProductDetailsPage-backgroundColor":"unset","--beam-ProductDetailsPage-TooltipIcon-width":"10px","--beam-ProductDetailsPage-TooltipIcon-color":"inherit","--beam-ProductDetailsPage-PPGFDisclosure-backgroundColor":"#000000","--beam-ProductDetailsPage-PPGFDisclosure-paddingTop":"10px","--beam-ProductDetailsPage-PPGFDisclosure-paddingRight":"8px","--beam-ProductDetailsPage-PPGFDisclosure-paddingBottom":"10px","--beam-ProductDetailsPage-PPGFDisclosure-paddingLeft":"8px","--beam-ProductDetailsPage-PPGFDisclosureHyperlink-color":"#5CA3FF",...D("--beam-ProductDetailsPage-title",{fontSize:"12px",fontWeight:"bold"}),"--beam-ProductDetailsPage-title-textAlign":"left",...D("--beam-ProductDetailsPage-description",{marginTop:"0px",fontSize:"12px",lineHeight:"15px"}),"--beam-ProductDetailsPage-description-textAlign":"left",...D("--beam-ProductDetailsPage-PPGFDisclosureTooltipContent",{fontSize:"12px",lineHeight:"16px",color:"#FFFFFF"}),...ae("--beam-ProductDetailsPage"),"--beam-ProductDetailsPage-close-display":"initial","--beam-ProductDetailsPage-close-padding":"0","--beam-ProductDetailsPage-image-placement":"inline-left","--beam-ProductDetailsPage-blockImage-alignSelf":"center","--beam-ProductDetailsPage-promoPill-marginTop":"4px","--beam-ProductDetailsPage-promoPill-alignSelf":"left","--beam-ProductDetailsPage-shouldDisplayColon":"true","--beam-ProductDetailsPage-shouldDisplayPromoPill":"true",...N},t=this.productDetailsPageDataController?.data?.config?.web?.theme||{},o={...e,...t};return Object.assign(Object.create({toCSS(){return M(this)}}),o)}}s.tagName="beam-product-details-page",s.styles=[O,K,B`
|
|
136
136
|
:host {
|
|
137
137
|
font-family: var(--beam-fontFamily);
|
|
138
138
|
font-style: var(--beam-fontStyle);
|
|
@@ -287,5 +287,5 @@ import{j as E,y as r,f as B,g as c,t as A,h as z,k as L}from"../chunks/lit-WqMxC
|
|
|
287
287
|
color: var(--beam-ProductDetailsPage-TooltipIcon-color);
|
|
288
288
|
height: auto;
|
|
289
289
|
}
|
|
290
|
-
`],
|
|
290
|
+
`],c([p({type:String,reflect:!0})],s.prototype,"baseUrl"),c([p({type:String,reflect:!1})],s.prototype,"apiKey"),c([p({type:Number})],s.prototype,"storeId"),c([p({type:String})],s.prototype,"lang"),c([p({type:Boolean})],s.prototype,"draftConfig"),c([p({type:Boolean})],s.prototype,"debug"),c([p({type:String})],s.prototype,"remoteProductIdentifier"),c([p({type:String})],s.prototype,"promoCodes"),c([p({type:String})],s.prototype,"domain"),c([z()],s.prototype,"pluginPromoCodes"),H(s);export{s as BeamProductDetailsPage};
|
|
291
291
|
//# sourceMappingURL=product-details-page.esm.js.map
|