@beamimpact/web-sdk 1.36.8 → 1.36.10
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-YbNiVx56.esm.js → _share-dialog-dependencies-3jvcgxc-.esm.js} +2 -2
- package/dist/chunks/_share-dialog-dependencies-3jvcgxc-.esm.js.map +1 -0
- package/dist/chunks/{_share-dialog-dependencies-FglfQ7YP.esm.js → _share-dialog-dependencies-3mmhET8U.esm.js} +2 -2
- package/dist/chunks/_share-dialog-dependencies-3mmhET8U.esm.js.map +1 -0
- package/dist/chunks/{cart-contents-Shc27L1J.esm.d.ts → cart-contents-v6_9tRb6.esm.d.ts} +1 -1
- package/dist/chunks/{events-qTu4iIOo.esm.d.ts → events-OcebkuWu.esm.d.ts} +1 -1
- package/dist/chunks/index-2d2pxFdE.esm.js +2 -0
- package/dist/chunks/index-2d2pxFdE.esm.js.map +1 -0
- package/dist/chunks/{index-GkPHba-I.esm.d.ts → index-5daMf0rK.esm.d.ts} +1 -1
- package/dist/chunks/{index-EZ_Bg1n7.esm.d.ts → index-FnuGcS7e.esm.d.ts} +4 -4
- package/dist/chunks/index-Gz47LtoA.esm.js +2 -0
- package/dist/chunks/index-Gz47LtoA.esm.js.map +1 -0
- package/dist/chunks/{index-fqDBrscF.esm.js → index-HSr3vG8C.esm.js} +2 -2
- package/dist/chunks/{index-fqDBrscF.esm.js.map → index-HSr3vG8C.esm.js.map} +1 -1
- package/dist/chunks/index-HmjLoc_p.esm.js +2 -0
- package/dist/chunks/index-HmjLoc_p.esm.js.map +1 -0
- package/dist/chunks/{index-3Xf6QzNV.esm.d.ts → index-JwkkxR5U.esm.d.ts} +1 -1
- package/dist/chunks/{index-pDraUd1x.esm.d.ts → index-KVvZMZmn.esm.d.ts} +1 -1
- package/dist/chunks/{index-gULINFkH.esm.js → index-ZiApqExt.esm.js} +2 -2
- package/dist/chunks/{index-gULINFkH.esm.js.map → index-ZiApqExt.esm.js.map} +1 -1
- package/dist/chunks/{index-I8DBdgx0.esm.d.ts → index-g9-z_JOJ.esm.d.ts} +1 -1
- package/dist/chunks/index-kLkFc8M_.esm.js +2 -0
- package/dist/chunks/index-kLkFc8M_.esm.js.map +1 -0
- package/dist/chunks/{index-wbrSi6cp.esm.d.ts → index-wlzifF_l.esm.d.ts} +1 -1
- package/dist/chunks/index-yWjLS42R.esm.js +2 -0
- package/dist/chunks/index-yWjLS42R.esm.js.map +1 -0
- package/dist/chunks/index-yxnSM7PZ.esm.js +2 -0
- package/dist/chunks/index-yxnSM7PZ.esm.js.map +1 -0
- package/dist/chunks/{openapi-spec-D_Zzbl2J.esm.d.ts → openapi-spec-bq7eoELU.esm.d.ts} +75 -3
- package/dist/chunks/{order-page-ydw5uXTI.esm.d.ts → order-page-2mptGhAC.esm.d.ts} +3 -2
- package/dist/chunks/order-page-NwFyJU-V.esm.js +2 -0
- package/dist/chunks/order-page-NwFyJU-V.esm.js.map +1 -0
- package/dist/chunks/order-page-XNVqjTGF.esm.js +2 -0
- package/dist/chunks/order-page-XNVqjTGF.esm.js.map +1 -0
- package/dist/chunks/routes-a8lsE6eZ.esm.js +2 -0
- package/dist/chunks/{routes-CqjzL4oL.esm.js.map → routes-a8lsE6eZ.esm.js.map} +1 -1
- package/dist/chunks/routes-d2vC4TDa.esm.js +2 -0
- package/dist/chunks/{routes-lsOWIDmE.esm.js.map → routes-d2vC4TDa.esm.js.map} +1 -1
- package/dist/chunks/{update-cart-T32-282v.esm.js → update-cart-gv6ortZ5.esm.js} +2 -2
- package/dist/chunks/{update-cart-T32-282v.esm.js.map → update-cart-gv6ortZ5.esm.js.map} +1 -1
- package/dist/chunks/{update-cart-yCIzgmve.esm.d.ts → update-cart-kuufrFCv.esm.d.ts} +1 -1
- package/dist/chunks/{update-cart-yneR8zk1.esm.js → update-cart-p84B0Ga6.esm.js} +2 -2
- package/dist/chunks/{update-cart-yneR8zk1.esm.js.map → update-cart-p84B0Ga6.esm.js.map} +1 -1
- package/dist/components/community-impact.esm.js +1 -1
- package/dist/components/community-impact.js +1 -1
- package/dist/components/cumulative-impact.esm.js +1 -1
- package/dist/components/cumulative-impact.js +1 -1
- package/dist/components/impact-overview.esm.js +3 -3
- package/dist/components/impact-overview.esm.js.map +1 -1
- package/dist/components/impact-overview.js +3 -3
- package/dist/components/impact-overview.js.map +1 -1
- package/dist/components/index.d.ts +2 -2
- package/dist/components/index.esm.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/post-purchase.d.ts +11 -3
- package/dist/components/post-purchase.esm.js +3 -3
- package/dist/components/post-purchase.esm.js.map +1 -1
- package/dist/components/post-purchase.js +3 -3
- package/dist/components/post-purchase.js.map +1 -1
- package/dist/components/redeem-transaction.d.ts +3 -2
- package/dist/components/redeem-transaction.esm.js +3 -3
- package/dist/components/redeem-transaction.esm.js.map +1 -1
- package/dist/components/redeem-transaction.js +3 -3
- package/dist/components/redeem-transaction.js.map +1 -1
- package/dist/components/select-nonprofit.d.ts +2 -2
- package/dist/components/select-nonprofit.esm.js +12 -12
- package/dist/components/select-nonprofit.esm.js.map +1 -1
- package/dist/components/select-nonprofit.js +12 -12
- package/dist/components/select-nonprofit.js.map +1 -1
- package/dist/components/shopify.d.ts +5 -5
- package/dist/components/shopify.esm.js +1 -1
- package/dist/components/shopify.js +1 -1
- package/dist/components/subscription-management.d.ts +21 -5
- package/dist/components/subscription-management.esm.js +10 -8
- package/dist/components/subscription-management.esm.js.map +1 -1
- package/dist/components/subscription-management.js +10 -8
- package/dist/components/subscription-management.js.map +1 -1
- package/dist/index.d.ts +11 -11
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/integrations/beam.esm.js +1 -1
- package/dist/integrations/beam.js +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 +9 -9
- 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/session.esm.js +1 -1
- package/dist/integrations/session.js +1 -1
- package/dist/integrations/shopify.d.ts +4 -4
- package/dist/integrations/shopify.esm.js +1 -1
- package/dist/integrations/shopify.js +1 -1
- package/dist/integrations/statsig.esm.js +1 -1
- package/dist/integrations/statsig.js +1 -1
- package/dist/integrations/utils.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.esm.js +1 -1
- package/dist/react/cumulative-impact.js +1 -1
- package/dist/react/impact-overview.esm.js +1 -1
- package/dist/react/impact-overview.js +1 -1
- package/dist/react/index.d.ts +3 -3
- package/dist/react/index.esm.js +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/post-purchase.d.ts +2 -2
- package/dist/react/post-purchase.esm.js +1 -1
- package/dist/react/post-purchase.js +1 -1
- package/dist/react/redeem-transaction.d.ts +3 -3
- package/dist/react/redeem-transaction.esm.js +1 -1
- package/dist/react/redeem-transaction.js +1 -1
- package/dist/react/select-nonprofit.d.ts +3 -3
- package/dist/react/select-nonprofit.esm.js +1 -1
- package/dist/react/select-nonprofit.js +1 -1
- package/dist/react/subscription-management.d.ts +2 -2
- package/dist/react/subscription-management.esm.js +1 -1
- package/dist/react/subscription-management.js +1 -1
- package/dist/utils/events.d.ts +3 -3
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/local-storage.esm.js +1 -1
- package/dist/utils/local-storage.esm.js.map +1 -1
- package/dist/utils/local-storage.js +1 -1
- package/dist/utils/local-storage.js.map +1 -1
- package/dist/utils/remote-session.esm.js +1 -1
- package/dist/utils/remote-session.esm.js.map +1 -1
- package/dist/utils/remote-session.js +1 -1
- package/dist/utils/remote-session.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/_share-dialog-dependencies-FglfQ7YP.esm.js.map +0 -1
- package/dist/chunks/_share-dialog-dependencies-YbNiVx56.esm.js.map +0 -1
- package/dist/chunks/index-1qXot92e.esm.js +0 -2
- package/dist/chunks/index-1qXot92e.esm.js.map +0 -1
- package/dist/chunks/index-EpanGShY.esm.js +0 -2
- package/dist/chunks/index-EpanGShY.esm.js.map +0 -1
- package/dist/chunks/index-XMD0b6ql.esm.js +0 -2
- package/dist/chunks/index-XMD0b6ql.esm.js.map +0 -1
- package/dist/chunks/index-ll8zLjbu.esm.js +0 -2
- package/dist/chunks/index-ll8zLjbu.esm.js.map +0 -1
- package/dist/chunks/index-r9Yb1UY4.esm.js +0 -2
- package/dist/chunks/index-r9Yb1UY4.esm.js.map +0 -1
- package/dist/chunks/index-t4uX5Dg1.esm.js +0 -2
- package/dist/chunks/index-t4uX5Dg1.esm.js.map +0 -1
- package/dist/chunks/order-page-JdaAppB7.esm.js +0 -2
- package/dist/chunks/order-page-JdaAppB7.esm.js.map +0 -1
- package/dist/chunks/order-page-W1jR35W9.esm.js +0 -2
- package/dist/chunks/order-page-W1jR35W9.esm.js.map +0 -1
- package/dist/chunks/routes-CqjzL4oL.esm.js +0 -2
- package/dist/chunks/routes-lsOWIDmE.esm.js +0 -2
|
@@ -2,16 +2,28 @@ import * as lit from 'lit';
|
|
|
2
2
|
import { LitElement } from 'lit';
|
|
3
3
|
import * as lit_html from 'lit-html';
|
|
4
4
|
import { L as LANGUAGES } from '../chunks/types-aju0qrRe.esm.js';
|
|
5
|
-
import { T as TCart } from '../chunks/cart-contents-
|
|
6
|
-
import '../chunks/openapi-spec-
|
|
5
|
+
import { T as TCart } from '../chunks/cart-contents-v6_9tRb6.esm.js';
|
|
6
|
+
import '../chunks/openapi-spec-bq7eoELU.esm.js';
|
|
7
7
|
|
|
8
|
+
interface RequiredDataPropsWithEmail {
|
|
9
|
+
email: string;
|
|
10
|
+
apiKey: string;
|
|
11
|
+
subscriptionId: string;
|
|
12
|
+
}
|
|
13
|
+
interface RequiredDataPropsWithPartnerUserId {
|
|
14
|
+
partnerUserId: string;
|
|
15
|
+
apiKey: string;
|
|
16
|
+
subscriptionId: string;
|
|
17
|
+
}
|
|
18
|
+
type TRequiredDataProps = RequiredDataPropsWithEmail | RequiredDataPropsWithPartnerUserId;
|
|
8
19
|
declare class BeamSubscriptionManagement extends LitElement {
|
|
9
20
|
static tagName: string;
|
|
10
21
|
baseUrl: string;
|
|
11
|
-
apiKey:
|
|
12
|
-
subscriptionId:
|
|
22
|
+
apiKey: TRequiredDataProps["apiKey"];
|
|
23
|
+
subscriptionId: TRequiredDataProps["subscriptionId"];
|
|
13
24
|
storeId?: number;
|
|
14
|
-
email
|
|
25
|
+
email?: RequiredDataPropsWithEmail["email"];
|
|
26
|
+
partnerUserId?: RequiredDataPropsWithPartnerUserId["partnerUserId"];
|
|
15
27
|
postalCode?: string;
|
|
16
28
|
countryCode?: string;
|
|
17
29
|
lang: LANGUAGES;
|
|
@@ -91,10 +103,14 @@ declare class BeamSubscriptionManagement extends LitElement {
|
|
|
91
103
|
store: {
|
|
92
104
|
id: number;
|
|
93
105
|
};
|
|
106
|
+
region?: {
|
|
107
|
+
id?: string | null | undefined;
|
|
108
|
+
} | undefined;
|
|
94
109
|
}>;
|
|
95
110
|
fetchSubscription(): Promise<{
|
|
96
111
|
beamUserId: string;
|
|
97
112
|
remoteSubscriptionId: string;
|
|
113
|
+
internalSubscriptionId: string;
|
|
98
114
|
nonprofit: {
|
|
99
115
|
id: number;
|
|
100
116
|
} | null;
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import{f as
|
|
2
|
-
${
|
|
3
|
-
</button>`:""}get cssVariables(){const t={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit","--beam-SubscriptionManagement-widgetContainer-borderColor":"#d5d5d5","--beam-SubscriptionManagement-widgetContainer-borderRadius":"4px","--beam-SubscriptionManagement-widgetContainer-padding":"15px","--beam-SubscriptionManagement-widgetContainer-backgroundColor":"inherit","--beam-SubscriptionManagement-widgetContainer-maxWidth":"800px","--beam-SubscriptionManagement-swapNonprofitButtonText-textDecoration":"underline","--beam-SubscriptionManagement-swapNonprofitButtonText-fontFamily":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-fontStyle":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-fontWeight":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-lineHeight":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-marginTop":"10px","--beam-SubscriptionManagement-swapNonprofitButtonText-fontSize":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-color":"inherit"},r=this.eligibleNonprofitsDataController?.data?.config?.web?.theme||{},a={...t,...r};return Object.assign(Object.create({toCSS(){return C(this)}}),a)}render(){let t;if((this.subscriptionDataController.loading||this.eligibleNonprofitsDataController.loading)&&(t=""),(this.subscriptionDataController.error||this.eligibleNonprofitsDataController.error)&&this.debug){if(this.subscriptionDataController.error!==null)return
|
|
1
|
+
import{f as h,g as o,t as p,h as g,y as d}from"../chunks/lit-yVXn5Cbs.esm.js";import{D as f,b as y,h as w}from"../chunks/routes-d2vC4TDa.esm.js";import{c as S,d as v,A as u,e as b,a as C,_ as m}from"../chunks/enforce-config-qna7hEL6.esm.js";import{c as x}from"../chunks/events-5IECSF-x.esm.js";import{M as N}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";const I={en:{nonprofitSwapText:({brandName:i=""})=>`Support a new nonprofit with your next ${i} recurring order`},fr:{nonprofitSwapText:({brandName:i=""})=>`Soutenez une nouvelle organisation \xE0 but non lucratif avec votre prochaine commande r\xE9currente ${i}`},de:{nonprofitSwapText:({brandName:i=""})=>`Unterst\xFCtzen Sie eine neue gemeinn\xFCtzige Organisation mit Ihrer n\xE4chsten wiederkehrenden Bestellung bei ${i}`},es:{nonprofitSwapText:({brandName:i=""})=>`Apoye a una nueva organizaci\xF3n sin fines de lucro con su pr\xF3ximo pedido recurrente ${i}`},it:{nonprofitSwapText:({brandName:i=""})=>`Sostieni una nuova organizzazione non profit con il tuo prossimo ordine ricorrente ${i}`},pl:{nonprofitSwapText:({brandName:i=""})=>`Wesprzyj now\u0105 organizacj\u0119 non-profit przy kolejnym zam\xF3wieniu cyklicznym ${i}`}};var M=Object.defineProperty,$=Object.getOwnPropertyDescriptor,n=(i,t,r,a)=>{for(var s=a>1?void 0:a?$(t,r):t,l=i.length-1,c;l>=0;l--)(c=i[l])&&(s=(a?c(t,r,s):c(s))||s);return a&&s&&M(t,r,s),s};class e extends g{constructor(){super(...arguments),this.baseUrl=f,this.lang="en",this.debug=!1,this.activeWidget=null,this.nonprofitId=null,this.userId=null,this.chainName=null,this.subscriptionDataController=new u(this,this.fetchSubscription),this.eligibleNonprofitsDataController=new u(this,this.fetchEligibleNonprofits)}async firstUpdated(){if(!this.email&&!this.partnerUserId)throw new N(["email","partnerUserId"],"One of the following properties needs to be specified: email, partnerUserId ");b(["apiKey","subscriptionId"],this),await this.loadWidget()}async loadWidget(){await Promise.all([this.fetchEligibleNonprofits(),this.fetchSubscription()]),this.activeWidget=this.nonprofitId?"impact-overview":"redeem-transaction"}async fetchEligibleNonprofits(){b(["apiKey","subscriptionId"],this);const t=await y({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{postalCode:this.postalCode?this.postalCode:void 0,countryCode:this.countryCode?this.countryCode:void 0,widgetName:"subscription-management",version:"1.0.0"}});return this.chainName=t.chain.name,this.storeId=t.store.id,t}async fetchSubscription(){b(["apiKey","subscriptionId"],this);const t=await w({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{remoteSubscriptionId:this.subscriptionId,email:this.email,partnerUserId:this.partnerUserId}});return this.userId=t.beamUserId,this.nonprofitId=t.nonprofit?.id||null,t}handleSwapNonprofitButtonClick(){this.activeWidget="redeem-transaction"}renderSwapNonprofitButton(){return this.activeWidget==="impact-overview"?d`<button class="swap-nonprofit-button" @click="${this.handleSwapNonprofitButtonClick}">
|
|
2
|
+
${I[this.lang].nonprofitSwapText({brandName:this.chainName||""})}
|
|
3
|
+
</button>`:""}get cssVariables(){const t={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit","--beam-SubscriptionManagement-widgetContainer-borderColor":"#d5d5d5","--beam-SubscriptionManagement-widgetContainer-borderRadius":"4px","--beam-SubscriptionManagement-widgetContainer-padding":"15px","--beam-SubscriptionManagement-widgetContainer-backgroundColor":"inherit","--beam-SubscriptionManagement-widgetContainer-maxWidth":"800px","--beam-SubscriptionManagement-swapNonprofitButtonText-textDecoration":"underline","--beam-SubscriptionManagement-swapNonprofitButtonText-fontFamily":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-fontStyle":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-fontWeight":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-lineHeight":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-marginTop":"10px","--beam-SubscriptionManagement-swapNonprofitButtonText-fontSize":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-color":"inherit"},r=this.eligibleNonprofitsDataController?.data?.config?.web?.theme||{},a={...t,...r};return Object.assign(Object.create({toCSS(){return C(this)}}),a)}render(){let t;if((this.subscriptionDataController.loading||this.eligibleNonprofitsDataController.loading)&&(t=""),(this.subscriptionDataController.error||this.eligibleNonprofitsDataController.error)&&this.debug){if(this.subscriptionDataController.error!==null)return m({error:this.subscriptionDataController.error});if(this.eligibleNonprofitsDataController.error!==null)return m({error:this.eligibleNonprofitsDataController.error})}else t="";return this.activeWidget==="redeem-transaction"?t=d` <beam-redeem-transaction
|
|
4
4
|
part="redeem-transaction"
|
|
5
5
|
subscriptionId="${this.subscriptionId}"
|
|
6
6
|
nonprofitId=${this.nonprofitId}
|
|
7
7
|
baseUrl="${this.baseUrl}"
|
|
8
8
|
apiKey="${this.apiKey}"
|
|
9
|
+
postalCode="${this.postalCode}"
|
|
10
|
+
countryCode="${this.countryCode}"
|
|
9
11
|
lang="${this.lang}"
|
|
10
12
|
?debug="${this.debug}"
|
|
11
|
-
@beamnonprofitselect="${r=>{if(!(r instanceof
|
|
12
|
-
></beam-redeem-transaction>`:this.activeWidget==="impact-overview"&&(t=
|
|
13
|
+
@beamnonprofitselect="${r=>{if(!(r instanceof x))return;const{selectedNonprofitId:a}=r.detail;this.nonprofitId=a??null,this.activeWidget="impact-overview"}}"
|
|
14
|
+
></beam-redeem-transaction>`:this.activeWidget==="impact-overview"&&(t=d`
|
|
13
15
|
<beam-impact-overview
|
|
14
16
|
part="impact-overview"
|
|
15
17
|
baseUrl="${this.baseUrl}"
|
|
@@ -19,7 +21,7 @@ import{f as g,g as o,t as p,h as f,y as l}from"../chunks/lit-yVXn5Cbs.esm.js";im
|
|
|
19
21
|
lang="${this.lang}"
|
|
20
22
|
?debug="${this.debug}"
|
|
21
23
|
></beam-impact-overview>
|
|
22
|
-
`),
|
|
24
|
+
`),d`
|
|
23
25
|
<style>
|
|
24
26
|
:host {
|
|
25
27
|
${this.cssVariables.toCSS()}
|
|
@@ -27,7 +29,7 @@ import{f as g,g as o,t as p,h as f,y as l}from"../chunks/lit-yVXn5Cbs.esm.js";im
|
|
|
27
29
|
</style>
|
|
28
30
|
<div class="sub-widget-container">${t}</div>
|
|
29
31
|
${this.renderSwapNonprofitButton()}
|
|
30
|
-
`}}e.tagName="beam-subscription-management",e.styles=[
|
|
32
|
+
`}}e.tagName="beam-subscription-management",e.styles=[S,h`
|
|
31
33
|
:host {
|
|
32
34
|
display: block;
|
|
33
35
|
font-family: var(--beam-fontFamily);
|
|
@@ -58,5 +60,5 @@ import{f as g,g as o,t as p,h as f,y as l}from"../chunks/lit-yVXn5Cbs.esm.js";im
|
|
|
58
60
|
padding: var(--beam-SubscriptionManagement-widgetContainer-padding, 15px);
|
|
59
61
|
max-width: var(--beam-SubscriptionManagement-widgetContainer-maxWidth, 800px);
|
|
60
62
|
}
|
|
61
|
-
}`],n([o({type:String})],e.prototype,"baseUrl",2),n([o({type:String})],e.prototype,"apiKey",2),n([o({type:String})],e.prototype,"subscriptionId",2),n([o({type:Number,reflect:!0})],e.prototype,"storeId",2),n([o({type:String})],e.prototype,"email",2),n([o({type:String})],e.prototype,"postalCode",2),n([o({type:String})],e.prototype,"countryCode",2),n([o({type:String})],e.prototype,"lang",2),n([o({type:Object})],e.prototype,"cart",2),n([o({type:Boolean})],e.prototype,"debug",2),n([p()],e.prototype,"activeWidget",2),n([p()],e.prototype,"nonprofitId",2),n([p()],e.prototype,"userId",2),n([p()],e.prototype,"chainName",2),
|
|
63
|
+
}`],n([o({type:String})],e.prototype,"baseUrl",2),n([o({type:String})],e.prototype,"apiKey",2),n([o({type:String})],e.prototype,"subscriptionId",2),n([o({type:Number,reflect:!0})],e.prototype,"storeId",2),n([o({type:String})],e.prototype,"email",2),n([o({type:String})],e.prototype,"partnerUserId",2),n([o({type:String})],e.prototype,"postalCode",2),n([o({type:String})],e.prototype,"countryCode",2),n([o({type:String})],e.prototype,"lang",2),n([o({type:Object})],e.prototype,"cart",2),n([o({type:Boolean})],e.prototype,"debug",2),n([p()],e.prototype,"activeWidget",2),n([p()],e.prototype,"nonprofitId",2),n([p()],e.prototype,"userId",2),n([p()],e.prototype,"chainName",2),v(e);export{e as BeamSubscriptionManagement};
|
|
62
64
|
//# sourceMappingURL=subscription-management.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-management.esm.js","sources":["../../src/components/subscription-management/strings.ts","../../src/components/subscription-management/index.ts"],"sourcesContent":["export const strings = {\n en: {\n nonprofitSwapText: ({ brandName = \"\" }) => `Support a new nonprofit with your next ${brandName} recurring order`,\n },\n fr: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Soutenez une nouvelle organisation à but non lucratif avec votre prochaine commande récurrente ${brandName}`,\n },\n de: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Unterstützen Sie eine neue gemeinnützige Organisation mit Ihrer nächsten wiederkehrenden Bestellung bei ${brandName}`,\n },\n es: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Apoye a una nueva organización sin fines de lucro con su próximo pedido recurrente ${brandName}`,\n },\n it: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Sostieni una nuova organizzazione non profit con il tuo prossimo ordine ricorrente ${brandName}`,\n },\n pl: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Wesprzyj nową organizację non-profit przy kolejnym zamówieniu cyklicznym ${brandName}`,\n },\n};\n","import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { DEFAULT_BASE_URL } from \"../../api-sdk/constants\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { TCart } from \"../../shared/cart-contents\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { postFindSubscription, postChainEligibleNonprofitsForCart } from \"../../api-sdk/v3/routes\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { cssReset } from \"../../shared/css-reset\";\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 { strings } from \"./strings\";\n\nconst REQUIRED_DATA_PROPS = [\"baseUrl\", \"apiKey\", \"subscriptionId\", \"email\", \"lang\"];\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!: string;\n\n @property({ type: String })\n public subscriptionId!: 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 email!: string;\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 lang: LANGUAGES = \"en\";\n\n @property({ type: Object })\n public cart?: TCart;\n\n @property({ type: Boolean })\n public debug = false;\n\n @state() private activeWidget: \"redeem-transaction\" | \"impact-overview\" | null = null; // Based on /findSubscriptionByRemoteId\n @state() private nonprofitId: number | null = null; // From /findSubscriptionByRemoteId response\n @state() private userId: string | null = null; // From findSubscriptionByRemoteId\n @state() private chainName: string | null = null; // From findEligibleNonprofitsForCart\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\n async firstUpdated() {\n enforceConfig(REQUIRED_DATA_PROPS, 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 this.activeWidget = this.nonprofitId ? \"impact-overview\" : \"redeem-transaction\";\n }\n\n async fetchEligibleNonprofits() {\n enforceConfig(REQUIRED_DATA_PROPS, this);\n const res = await postChainEligibleNonprofitsForCart({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n postalCode: this.postalCode ? this.postalCode : undefined,\n countryCode: this.countryCode ? this.countryCode : undefined,\n widgetName: \"subscription-management\",\n version: \"1.0.0\",\n },\n });\n this.chainName = res.chain.name;\n this.storeId = res.store.id;\n return res;\n }\n\n async fetchSubscription() {\n enforceConfig(REQUIRED_DATA_PROPS, this);\n const result = await postFindSubscription({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n remoteSubscriptionId: this.subscriptionId,\n email: this.email,\n },\n });\n\n this.userId = result.beamUserId; // Returned in response regardless of subscription redemption\n this.nonprofitId = result.nonprofit?.id || null;\n return result;\n }\n\n handleSwapNonprofitButtonClick() {\n this.activeWidget = \"redeem-transaction\";\n }\n\n renderSwapNonprofitButton() {\n if (this.activeWidget === \"impact-overview\") {\n return html`<button class=\"swap-nonprofit-button\" @click=\"${this.handleSwapNonprofitButtonClick}\">\n ${strings[this.lang].nonprofitSwapText({ brandName: this.chainName || \"\" })}\n </button>`;\n } else {\n return \"\";\n }\n }\n\n public get cssVariables() {\n const defaults = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n \"--beam-SubscriptionManagement-widgetContainer-borderColor\": \"#d5d5d5\",\n \"--beam-SubscriptionManagement-widgetContainer-borderRadius\": \"4px\",\n \"--beam-SubscriptionManagement-widgetContainer-padding\": \"15px\",\n \"--beam-SubscriptionManagement-widgetContainer-backgroundColor\": \"inherit\",\n \"--beam-SubscriptionManagement-widgetContainer-maxWidth\": \"800px\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-textDecoration\": \"underline\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontFamily\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontStyle\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontWeight\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-lineHeight\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-marginTop\": \"10px\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontSize\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-color\": \"inherit\",\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 .swap-nonprofit-button {\n margin-top: var(--beam-SubscriptionManagement-swapNonprofitButtonText-marginTop, 10px);\n color: var(--beam-SubscriptionManagement-swapNonprofitButtonText-color, inherit);\n font-size: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontSize, inherit);\n text-decoration: var(--beam-SubscriptionManagement-swapNonprofitButtonText-textDecoration, underline);\n font-family: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontFamily, inherit);\n font-style: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontStyle, inherit);\n font-weight: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontWeight, inherit);\n line-height: var(--beam-SubscriptionManagement-swapNonprofitButtonText-lineHeight, inherit);\n background: none;\n border: none;\n cursor: pointer;\n }\n .sub-widget-container {\n background-color: var(--beam-SubscriptionManagement-widgetContainer-backgroundColor, inherit);\n border: 1px solid var(--beam-SubscriptionManagement-widgetContainer-borderColor, #d5d5d5);\n border-radius: var(--beam-SubscriptionManagement-widgetContainer-borderRadius, 4px);\n overflow: hidden; /* maintain clean border-radius */\n padding: var(--beam-SubscriptionManagement-widgetContainer-padding, 15px);\n max-width: var(--beam-SubscriptionManagement-widgetContainer-maxWidth, 800px);\n }\n }`,\n ];\n\n render() {\n let content;\n\n if (this.subscriptionDataController.loading || this.eligibleNonprofitsDataController.loading) {\n content = \"\";\n }\n\n if ((this.subscriptionDataController.error || this.eligibleNonprofitsDataController.error) && this.debug) {\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 }\n } else {\n content = \"\";\n }\n\n if (this.activeWidget === \"redeem-transaction\") {\n content = html` <beam-redeem-transaction\n part=\"redeem-transaction\"\n subscriptionId=\"${this.subscriptionId}\"\n nonprofitId=${this.nonprofitId}\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n lang=\"${this.lang}\"\n ?debug=\"${this.debug}\"\n @beamnonprofitselect=\"${(event: Event) => {\n if (!(event instanceof BeamNonprofitSelectEvent)) return; // TS guard\n const { selectedNonprofitId } = event.detail;\n this.nonprofitId = selectedNonprofitId ?? null;\n this.activeWidget = \"impact-overview\";\n }}\"\n ></beam-redeem-transaction>`;\n } else if (this.activeWidget === \"impact-overview\") {\n content = html`\n <beam-impact-overview\n part=\"impact-overview\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n userId=\"${this.userId}\"\n nonprofitId=\"${this.nonprofitId}\"\n lang=\"${this.lang}\"\n ?debug=\"${this.debug}\"\n ></beam-impact-overview>\n `;\n }\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <div class=\"sub-widget-container\">${content}</div>\n ${this.renderSwapNonprofitButton()}\n `;\n }\n}\n\ndefineCustomElement(BeamSubscriptionManagement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-subscription-management\": BeamSubscriptionManagement;\n }\n}\n"],"names":["strings","brandName","f","h","i","l","n","t","o","e","a","b","REQUIRED_DATA_PROPS","BeamSubscriptionManagement","LitElement","DEFAULT_BASE_URL","AsyncController","enforceConfig","res","postChainEligibleNonprofitsForCart","result","postFindSubscription","html","defaults","remoteConfig","config","_cssVariableMap","content","_errorMessage","event","BeamNonprofitSelectEvent","selectedNonprofitId","cssReset","css","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subscription-management.esm.js","sources":["../../src/components/subscription-management/strings.ts","../../src/components/subscription-management/index.ts"],"sourcesContent":["export const strings = {\n en: {\n nonprofitSwapText: ({ brandName = \"\" }) => `Support a new nonprofit with your next ${brandName} recurring order`,\n },\n fr: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Soutenez une nouvelle organisation à but non lucratif avec votre prochaine commande récurrente ${brandName}`,\n },\n de: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Unterstützen Sie eine neue gemeinnützige Organisation mit Ihrer nächsten wiederkehrenden Bestellung bei ${brandName}`,\n },\n es: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Apoye a una nueva organización sin fines de lucro con su próximo pedido recurrente ${brandName}`,\n },\n it: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Sostieni una nuova organizzazione non profit con il tuo prossimo ordine ricorrente ${brandName}`,\n },\n pl: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Wesprzyj nową organizację non-profit przy kolejnym zamówieniu cyklicznym ${brandName}`,\n },\n};\n","import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { DEFAULT_BASE_URL } from \"../../api-sdk/constants\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { TCart } from \"../../shared/cart-contents\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { postFindOrCreateSubscription, postChainEligibleNonprofitsForCart } from \"../../api-sdk/v3/routes\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { cssReset } from \"../../shared/css-reset\";\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 { 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 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: 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 @state() private activeWidget: \"redeem-transaction\" | \"impact-overview\" | null = null; // Based on /findSubscriptionByRemoteId\n @state() private nonprofitId: number | null = null; // From /findSubscriptionByRemoteId response\n @state() private userId: string | null = null; // From findSubscriptionByRemoteId\n @state() private chainName: string | null = null; // From findEligibleNonprofitsForCart\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\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 this.activeWidget = this.nonprofitId ? \"impact-overview\" : \"redeem-transaction\";\n }\n\n async fetchEligibleNonprofits() {\n enforceConfig<TRequiredDataProps>([\"apiKey\", \"subscriptionId\"], this);\n const res = await postChainEligibleNonprofitsForCart({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n postalCode: this.postalCode ? this.postalCode : undefined,\n countryCode: this.countryCode ? this.countryCode : undefined,\n widgetName: \"subscription-management\",\n version: \"1.0.0\",\n },\n });\n this.chainName = res.chain.name;\n this.storeId = res.store.id;\n return res;\n }\n\n async fetchSubscription() {\n enforceConfig<TRequiredDataProps>([\"apiKey\", \"subscriptionId\"], this);\n const result = await postFindOrCreateSubscription({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n remoteSubscriptionId: this.subscriptionId,\n email: this.email,\n partnerUserId: this.partnerUserId,\n },\n });\n\n this.userId = result.beamUserId; // Returned in response regardless of subscription redemption\n this.nonprofitId = result.nonprofit?.id || null;\n return result;\n }\n\n handleSwapNonprofitButtonClick() {\n this.activeWidget = \"redeem-transaction\";\n }\n\n renderSwapNonprofitButton() {\n if (this.activeWidget === \"impact-overview\") {\n return html`<button class=\"swap-nonprofit-button\" @click=\"${this.handleSwapNonprofitButtonClick}\">\n ${strings[this.lang].nonprofitSwapText({ brandName: this.chainName || \"\" })}\n </button>`;\n } else {\n return \"\";\n }\n }\n\n public get cssVariables() {\n const defaults = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n \"--beam-SubscriptionManagement-widgetContainer-borderColor\": \"#d5d5d5\",\n \"--beam-SubscriptionManagement-widgetContainer-borderRadius\": \"4px\",\n \"--beam-SubscriptionManagement-widgetContainer-padding\": \"15px\",\n \"--beam-SubscriptionManagement-widgetContainer-backgroundColor\": \"inherit\",\n \"--beam-SubscriptionManagement-widgetContainer-maxWidth\": \"800px\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-textDecoration\": \"underline\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontFamily\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontStyle\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontWeight\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-lineHeight\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-marginTop\": \"10px\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontSize\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-color\": \"inherit\",\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 .swap-nonprofit-button {\n margin-top: var(--beam-SubscriptionManagement-swapNonprofitButtonText-marginTop, 10px);\n color: var(--beam-SubscriptionManagement-swapNonprofitButtonText-color, inherit);\n font-size: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontSize, inherit);\n text-decoration: var(--beam-SubscriptionManagement-swapNonprofitButtonText-textDecoration, underline);\n font-family: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontFamily, inherit);\n font-style: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontStyle, inherit);\n font-weight: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontWeight, inherit);\n line-height: var(--beam-SubscriptionManagement-swapNonprofitButtonText-lineHeight, inherit);\n background: none;\n border: none;\n cursor: pointer;\n }\n .sub-widget-container {\n background-color: var(--beam-SubscriptionManagement-widgetContainer-backgroundColor, inherit);\n border: 1px solid var(--beam-SubscriptionManagement-widgetContainer-borderColor, #d5d5d5);\n border-radius: var(--beam-SubscriptionManagement-widgetContainer-borderRadius, 4px);\n overflow: hidden; /* maintain clean border-radius */\n padding: var(--beam-SubscriptionManagement-widgetContainer-padding, 15px);\n max-width: var(--beam-SubscriptionManagement-widgetContainer-maxWidth, 800px);\n }\n }`,\n ];\n\n render() {\n let content;\n\n if (this.subscriptionDataController.loading || this.eligibleNonprofitsDataController.loading) {\n content = \"\";\n }\n\n if ((this.subscriptionDataController.error || this.eligibleNonprofitsDataController.error) && this.debug) {\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 }\n } else {\n content = \"\";\n }\n\n if (this.activeWidget === \"redeem-transaction\") {\n content = html` <beam-redeem-transaction\n part=\"redeem-transaction\"\n subscriptionId=\"${this.subscriptionId}\"\n nonprofitId=${this.nonprofitId}\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n postalCode=\"${this.postalCode}\"\n countryCode=\"${this.countryCode}\"\n lang=\"${this.lang}\"\n ?debug=\"${this.debug}\"\n @beamnonprofitselect=\"${(event: Event) => {\n if (!(event instanceof BeamNonprofitSelectEvent)) return; // TS guard\n const { selectedNonprofitId } = event.detail;\n this.nonprofitId = selectedNonprofitId ?? null;\n this.activeWidget = \"impact-overview\";\n }}\"\n ></beam-redeem-transaction>`;\n } else if (this.activeWidget === \"impact-overview\") {\n content = html`\n <beam-impact-overview\n part=\"impact-overview\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n userId=\"${this.userId}\"\n nonprofitId=\"${this.nonprofitId}\"\n lang=\"${this.lang}\"\n ?debug=\"${this.debug}\"\n ></beam-impact-overview>\n `;\n }\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <div class=\"sub-widget-container\">${content}</div>\n ${this.renderSwapNonprofitButton()}\n `;\n }\n}\n\ndefineCustomElement(BeamSubscriptionManagement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-subscription-management\": BeamSubscriptionManagement;\n }\n}\n"],"names":["strings","brandName","m","h","e","l","n","t","o","i","a","d","BeamSubscriptionManagement","LitElement","DEFAULT_BASE_URL","AsyncController","MissingConfig","enforceConfig","res","postChainEligibleNonprofitsForCart","result","postFindOrCreateSubscription","html","defaults","remoteConfig","config","_cssVariableMap","content","_errorMessage","event","BeamNonprofitSelectEvent","selectedNonprofitId","cssReset","css","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import{f as
|
|
2
|
-
${
|
|
3
|
-
</button>`:""}get cssVariables(){const t={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit","--beam-SubscriptionManagement-widgetContainer-borderColor":"#d5d5d5","--beam-SubscriptionManagement-widgetContainer-borderRadius":"4px","--beam-SubscriptionManagement-widgetContainer-padding":"15px","--beam-SubscriptionManagement-widgetContainer-backgroundColor":"inherit","--beam-SubscriptionManagement-widgetContainer-maxWidth":"800px","--beam-SubscriptionManagement-swapNonprofitButtonText-textDecoration":"underline","--beam-SubscriptionManagement-swapNonprofitButtonText-fontFamily":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-fontStyle":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-fontWeight":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-lineHeight":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-marginTop":"10px","--beam-SubscriptionManagement-swapNonprofitButtonText-fontSize":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-color":"inherit"},r=this.eligibleNonprofitsDataController?.data?.config?.web?.theme||{},a={...t,...r};return Object.assign(Object.create({toCSS(){return C(this)}}),a)}render(){let t;if((this.subscriptionDataController.loading||this.eligibleNonprofitsDataController.loading)&&(t=""),(this.subscriptionDataController.error||this.eligibleNonprofitsDataController.error)&&this.debug){if(this.subscriptionDataController.error!==null)return
|
|
1
|
+
import{f as h,g as o,t as p,h as g,y as d}from"../chunks/lit-yVXn5Cbs.esm.js";import{D as f,b as y,h as w}from"../chunks/routes-a8lsE6eZ.esm.js";import{c as S,d as v,A as u,e as b,a as C,_ as m}from"../chunks/enforce-config-fo8kIfoY.esm.js";import{c as x}from"../chunks/events-5IECSF-x.esm.js";import{M as N}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";const I={en:{nonprofitSwapText:({brandName:i=""})=>`Support a new nonprofit with your next ${i} recurring order`},fr:{nonprofitSwapText:({brandName:i=""})=>`Soutenez une nouvelle organisation \xE0 but non lucratif avec votre prochaine commande r\xE9currente ${i}`},de:{nonprofitSwapText:({brandName:i=""})=>`Unterst\xFCtzen Sie eine neue gemeinn\xFCtzige Organisation mit Ihrer n\xE4chsten wiederkehrenden Bestellung bei ${i}`},es:{nonprofitSwapText:({brandName:i=""})=>`Apoye a una nueva organizaci\xF3n sin fines de lucro con su pr\xF3ximo pedido recurrente ${i}`},it:{nonprofitSwapText:({brandName:i=""})=>`Sostieni una nuova organizzazione non profit con il tuo prossimo ordine ricorrente ${i}`},pl:{nonprofitSwapText:({brandName:i=""})=>`Wesprzyj now\u0105 organizacj\u0119 non-profit przy kolejnym zam\xF3wieniu cyklicznym ${i}`}};var M=Object.defineProperty,$=Object.getOwnPropertyDescriptor,n=(i,t,r,a)=>{for(var s=a>1?void 0:a?$(t,r):t,l=i.length-1,c;l>=0;l--)(c=i[l])&&(s=(a?c(t,r,s):c(s))||s);return a&&s&&M(t,r,s),s};class e extends g{constructor(){super(...arguments),this.baseUrl=f,this.lang="en",this.debug=!1,this.activeWidget=null,this.nonprofitId=null,this.userId=null,this.chainName=null,this.subscriptionDataController=new u(this,this.fetchSubscription),this.eligibleNonprofitsDataController=new u(this,this.fetchEligibleNonprofits)}async firstUpdated(){if(!this.email&&!this.partnerUserId)throw new N(["email","partnerUserId"],"One of the following properties needs to be specified: email, partnerUserId ");b(["apiKey","subscriptionId"],this),await this.loadWidget()}async loadWidget(){await Promise.all([this.fetchEligibleNonprofits(),this.fetchSubscription()]),this.activeWidget=this.nonprofitId?"impact-overview":"redeem-transaction"}async fetchEligibleNonprofits(){b(["apiKey","subscriptionId"],this);const t=await y({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{postalCode:this.postalCode?this.postalCode:void 0,countryCode:this.countryCode?this.countryCode:void 0,widgetName:"subscription-management",version:"1.0.0"}});return this.chainName=t.chain.name,this.storeId=t.store.id,t}async fetchSubscription(){b(["apiKey","subscriptionId"],this);const t=await w({baseUrl:this.baseUrl,headers:{authorization:`Api-Key ${this.apiKey}`},requestBody:{remoteSubscriptionId:this.subscriptionId,email:this.email,partnerUserId:this.partnerUserId}});return this.userId=t.beamUserId,this.nonprofitId=t.nonprofit?.id||null,t}handleSwapNonprofitButtonClick(){this.activeWidget="redeem-transaction"}renderSwapNonprofitButton(){return this.activeWidget==="impact-overview"?d`<button class="swap-nonprofit-button" @click="${this.handleSwapNonprofitButtonClick}">
|
|
2
|
+
${I[this.lang].nonprofitSwapText({brandName:this.chainName||""})}
|
|
3
|
+
</button>`:""}get cssVariables(){const t={"--beam-fontFamily":"inherit","--beam-fontStyle":"inherit","--beam-fontSize":"inherit","--beam-textColor":"inherit","--beam-backgroundColor":"inherit","--beam-SubscriptionManagement-widgetContainer-borderColor":"#d5d5d5","--beam-SubscriptionManagement-widgetContainer-borderRadius":"4px","--beam-SubscriptionManagement-widgetContainer-padding":"15px","--beam-SubscriptionManagement-widgetContainer-backgroundColor":"inherit","--beam-SubscriptionManagement-widgetContainer-maxWidth":"800px","--beam-SubscriptionManagement-swapNonprofitButtonText-textDecoration":"underline","--beam-SubscriptionManagement-swapNonprofitButtonText-fontFamily":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-fontStyle":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-fontWeight":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-lineHeight":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-marginTop":"10px","--beam-SubscriptionManagement-swapNonprofitButtonText-fontSize":"inherit","--beam-SubscriptionManagement-swapNonprofitButtonText-color":"inherit"},r=this.eligibleNonprofitsDataController?.data?.config?.web?.theme||{},a={...t,...r};return Object.assign(Object.create({toCSS(){return C(this)}}),a)}render(){let t;if((this.subscriptionDataController.loading||this.eligibleNonprofitsDataController.loading)&&(t=""),(this.subscriptionDataController.error||this.eligibleNonprofitsDataController.error)&&this.debug){if(this.subscriptionDataController.error!==null)return m({error:this.subscriptionDataController.error});if(this.eligibleNonprofitsDataController.error!==null)return m({error:this.eligibleNonprofitsDataController.error})}else t="";return this.activeWidget==="redeem-transaction"?t=d` <beam-redeem-transaction
|
|
4
4
|
part="redeem-transaction"
|
|
5
5
|
subscriptionId="${this.subscriptionId}"
|
|
6
6
|
nonprofitId=${this.nonprofitId}
|
|
7
7
|
baseUrl="${this.baseUrl}"
|
|
8
8
|
apiKey="${this.apiKey}"
|
|
9
|
+
postalCode="${this.postalCode}"
|
|
10
|
+
countryCode="${this.countryCode}"
|
|
9
11
|
lang="${this.lang}"
|
|
10
12
|
?debug="${this.debug}"
|
|
11
|
-
@beamnonprofitselect="${r=>{if(!(r instanceof
|
|
12
|
-
></beam-redeem-transaction>`:this.activeWidget==="impact-overview"&&(t=
|
|
13
|
+
@beamnonprofitselect="${r=>{if(!(r instanceof x))return;const{selectedNonprofitId:a}=r.detail;this.nonprofitId=a??null,this.activeWidget="impact-overview"}}"
|
|
14
|
+
></beam-redeem-transaction>`:this.activeWidget==="impact-overview"&&(t=d`
|
|
13
15
|
<beam-impact-overview
|
|
14
16
|
part="impact-overview"
|
|
15
17
|
baseUrl="${this.baseUrl}"
|
|
@@ -19,7 +21,7 @@ import{f as g,g as o,t as p,h as f,y as l}from"../chunks/lit-yVXn5Cbs.esm.js";im
|
|
|
19
21
|
lang="${this.lang}"
|
|
20
22
|
?debug="${this.debug}"
|
|
21
23
|
></beam-impact-overview>
|
|
22
|
-
`),
|
|
24
|
+
`),d`
|
|
23
25
|
<style>
|
|
24
26
|
:host {
|
|
25
27
|
${this.cssVariables.toCSS()}
|
|
@@ -27,7 +29,7 @@ import{f as g,g as o,t as p,h as f,y as l}from"../chunks/lit-yVXn5Cbs.esm.js";im
|
|
|
27
29
|
</style>
|
|
28
30
|
<div class="sub-widget-container">${t}</div>
|
|
29
31
|
${this.renderSwapNonprofitButton()}
|
|
30
|
-
`}}e.tagName="beam-subscription-management",e.styles=[
|
|
32
|
+
`}}e.tagName="beam-subscription-management",e.styles=[S,h`
|
|
31
33
|
:host {
|
|
32
34
|
display: block;
|
|
33
35
|
font-family: var(--beam-fontFamily);
|
|
@@ -58,5 +60,5 @@ import{f as g,g as o,t as p,h as f,y as l}from"../chunks/lit-yVXn5Cbs.esm.js";im
|
|
|
58
60
|
padding: var(--beam-SubscriptionManagement-widgetContainer-padding, 15px);
|
|
59
61
|
max-width: var(--beam-SubscriptionManagement-widgetContainer-maxWidth, 800px);
|
|
60
62
|
}
|
|
61
|
-
}`],n([o({type:String})],e.prototype,"baseUrl",2),n([o({type:String})],e.prototype,"apiKey",2),n([o({type:String})],e.prototype,"subscriptionId",2),n([o({type:Number,reflect:!0})],e.prototype,"storeId",2),n([o({type:String})],e.prototype,"email",2),n([o({type:String})],e.prototype,"postalCode",2),n([o({type:String})],e.prototype,"countryCode",2),n([o({type:String})],e.prototype,"lang",2),n([o({type:Object})],e.prototype,"cart",2),n([o({type:Boolean})],e.prototype,"debug",2),n([p()],e.prototype,"activeWidget",2),n([p()],e.prototype,"nonprofitId",2),n([p()],e.prototype,"userId",2),n([p()],e.prototype,"chainName",2),
|
|
63
|
+
}`],n([o({type:String})],e.prototype,"baseUrl",2),n([o({type:String})],e.prototype,"apiKey",2),n([o({type:String})],e.prototype,"subscriptionId",2),n([o({type:Number,reflect:!0})],e.prototype,"storeId",2),n([o({type:String})],e.prototype,"email",2),n([o({type:String})],e.prototype,"partnerUserId",2),n([o({type:String})],e.prototype,"postalCode",2),n([o({type:String})],e.prototype,"countryCode",2),n([o({type:String})],e.prototype,"lang",2),n([o({type:Object})],e.prototype,"cart",2),n([o({type:Boolean})],e.prototype,"debug",2),n([p()],e.prototype,"activeWidget",2),n([p()],e.prototype,"nonprofitId",2),n([p()],e.prototype,"userId",2),n([p()],e.prototype,"chainName",2),v(e);export{e as BeamSubscriptionManagement};
|
|
62
64
|
//# sourceMappingURL=subscription-management.js.map
|
|
@@ -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 nonprofitSwapText: ({ brandName = \"\" }) => `Support a new nonprofit with your next ${brandName} recurring order`,\n },\n fr: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Soutenez une nouvelle organisation à but non lucratif avec votre prochaine commande récurrente ${brandName}`,\n },\n de: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Unterstützen Sie eine neue gemeinnützige Organisation mit Ihrer nächsten wiederkehrenden Bestellung bei ${brandName}`,\n },\n es: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Apoye a una nueva organización sin fines de lucro con su próximo pedido recurrente ${brandName}`,\n },\n it: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Sostieni una nuova organizzazione non profit con il tuo prossimo ordine ricorrente ${brandName}`,\n },\n pl: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Wesprzyj nową organizację non-profit przy kolejnym zamówieniu cyklicznym ${brandName}`,\n },\n};\n","import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { DEFAULT_BASE_URL } from \"../../api-sdk/constants\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { TCart } from \"../../shared/cart-contents\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { postFindSubscription, postChainEligibleNonprofitsForCart } from \"../../api-sdk/v3/routes\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { cssReset } from \"../../shared/css-reset\";\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 { strings } from \"./strings\";\n\nconst REQUIRED_DATA_PROPS = [\"baseUrl\", \"apiKey\", \"subscriptionId\", \"email\", \"lang\"];\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!: string;\n\n @property({ type: String })\n public subscriptionId!: 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 email!: string;\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 lang: LANGUAGES = \"en\";\n\n @property({ type: Object })\n public cart?: TCart;\n\n @property({ type: Boolean })\n public debug = false;\n\n @state() private activeWidget: \"redeem-transaction\" | \"impact-overview\" | null = null; // Based on /findSubscriptionByRemoteId\n @state() private nonprofitId: number | null = null; // From /findSubscriptionByRemoteId response\n @state() private userId: string | null = null; // From findSubscriptionByRemoteId\n @state() private chainName: string | null = null; // From findEligibleNonprofitsForCart\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\n async firstUpdated() {\n enforceConfig(REQUIRED_DATA_PROPS, 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 this.activeWidget = this.nonprofitId ? \"impact-overview\" : \"redeem-transaction\";\n }\n\n async fetchEligibleNonprofits() {\n enforceConfig(REQUIRED_DATA_PROPS, this);\n const res = await postChainEligibleNonprofitsForCart({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n postalCode: this.postalCode ? this.postalCode : undefined,\n countryCode: this.countryCode ? this.countryCode : undefined,\n widgetName: \"subscription-management\",\n version: \"1.0.0\",\n },\n });\n this.chainName = res.chain.name;\n this.storeId = res.store.id;\n return res;\n }\n\n async fetchSubscription() {\n enforceConfig(REQUIRED_DATA_PROPS, this);\n const result = await postFindSubscription({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n remoteSubscriptionId: this.subscriptionId,\n email: this.email,\n },\n });\n\n this.userId = result.beamUserId; // Returned in response regardless of subscription redemption\n this.nonprofitId = result.nonprofit?.id || null;\n return result;\n }\n\n handleSwapNonprofitButtonClick() {\n this.activeWidget = \"redeem-transaction\";\n }\n\n renderSwapNonprofitButton() {\n if (this.activeWidget === \"impact-overview\") {\n return html`<button class=\"swap-nonprofit-button\" @click=\"${this.handleSwapNonprofitButtonClick}\">\n ${strings[this.lang].nonprofitSwapText({ brandName: this.chainName || \"\" })}\n </button>`;\n } else {\n return \"\";\n }\n }\n\n public get cssVariables() {\n const defaults = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n \"--beam-SubscriptionManagement-widgetContainer-borderColor\": \"#d5d5d5\",\n \"--beam-SubscriptionManagement-widgetContainer-borderRadius\": \"4px\",\n \"--beam-SubscriptionManagement-widgetContainer-padding\": \"15px\",\n \"--beam-SubscriptionManagement-widgetContainer-backgroundColor\": \"inherit\",\n \"--beam-SubscriptionManagement-widgetContainer-maxWidth\": \"800px\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-textDecoration\": \"underline\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontFamily\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontStyle\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontWeight\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-lineHeight\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-marginTop\": \"10px\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontSize\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-color\": \"inherit\",\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 .swap-nonprofit-button {\n margin-top: var(--beam-SubscriptionManagement-swapNonprofitButtonText-marginTop, 10px);\n color: var(--beam-SubscriptionManagement-swapNonprofitButtonText-color, inherit);\n font-size: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontSize, inherit);\n text-decoration: var(--beam-SubscriptionManagement-swapNonprofitButtonText-textDecoration, underline);\n font-family: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontFamily, inherit);\n font-style: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontStyle, inherit);\n font-weight: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontWeight, inherit);\n line-height: var(--beam-SubscriptionManagement-swapNonprofitButtonText-lineHeight, inherit);\n background: none;\n border: none;\n cursor: pointer;\n }\n .sub-widget-container {\n background-color: var(--beam-SubscriptionManagement-widgetContainer-backgroundColor, inherit);\n border: 1px solid var(--beam-SubscriptionManagement-widgetContainer-borderColor, #d5d5d5);\n border-radius: var(--beam-SubscriptionManagement-widgetContainer-borderRadius, 4px);\n overflow: hidden; /* maintain clean border-radius */\n padding: var(--beam-SubscriptionManagement-widgetContainer-padding, 15px);\n max-width: var(--beam-SubscriptionManagement-widgetContainer-maxWidth, 800px);\n }\n }`,\n ];\n\n render() {\n let content;\n\n if (this.subscriptionDataController.loading || this.eligibleNonprofitsDataController.loading) {\n content = \"\";\n }\n\n if ((this.subscriptionDataController.error || this.eligibleNonprofitsDataController.error) && this.debug) {\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 }\n } else {\n content = \"\";\n }\n\n if (this.activeWidget === \"redeem-transaction\") {\n content = html` <beam-redeem-transaction\n part=\"redeem-transaction\"\n subscriptionId=\"${this.subscriptionId}\"\n nonprofitId=${this.nonprofitId}\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n lang=\"${this.lang}\"\n ?debug=\"${this.debug}\"\n @beamnonprofitselect=\"${(event: Event) => {\n if (!(event instanceof BeamNonprofitSelectEvent)) return; // TS guard\n const { selectedNonprofitId } = event.detail;\n this.nonprofitId = selectedNonprofitId ?? null;\n this.activeWidget = \"impact-overview\";\n }}\"\n ></beam-redeem-transaction>`;\n } else if (this.activeWidget === \"impact-overview\") {\n content = html`\n <beam-impact-overview\n part=\"impact-overview\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n userId=\"${this.userId}\"\n nonprofitId=\"${this.nonprofitId}\"\n lang=\"${this.lang}\"\n ?debug=\"${this.debug}\"\n ></beam-impact-overview>\n `;\n }\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <div class=\"sub-widget-container\">${content}</div>\n ${this.renderSwapNonprofitButton()}\n `;\n }\n}\n\ndefineCustomElement(BeamSubscriptionManagement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-subscription-management\": BeamSubscriptionManagement;\n }\n}\n"],"names":["strings","brandName","f","h","i","l","n","t","o","e","a","b","REQUIRED_DATA_PROPS","BeamSubscriptionManagement","LitElement","DEFAULT_BASE_URL","AsyncController","enforceConfig","res","postChainEligibleNonprofitsForCart","result","postFindSubscription","html","defaults","remoteConfig","config","_cssVariableMap","content","_errorMessage","event","BeamNonprofitSelectEvent","selectedNonprofitId","cssReset","css","__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 nonprofitSwapText: ({ brandName = \"\" }) => `Support a new nonprofit with your next ${brandName} recurring order`,\n },\n fr: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Soutenez une nouvelle organisation à but non lucratif avec votre prochaine commande récurrente ${brandName}`,\n },\n de: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Unterstützen Sie eine neue gemeinnützige Organisation mit Ihrer nächsten wiederkehrenden Bestellung bei ${brandName}`,\n },\n es: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Apoye a una nueva organización sin fines de lucro con su próximo pedido recurrente ${brandName}`,\n },\n it: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Sostieni una nuova organizzazione non profit con il tuo prossimo ordine ricorrente ${brandName}`,\n },\n pl: {\n nonprofitSwapText: ({ brandName = \"\" }) =>\n `Wesprzyj nową organizację non-profit przy kolejnym zamówieniu cyklicznym ${brandName}`,\n },\n};\n","import { css, html, LitElement } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { state } from \"lit/decorators/state.js\";\nimport { DEFAULT_BASE_URL } from \"../../api-sdk/constants\";\nimport { LANGUAGES } from \"../../api-sdk/types\";\nimport { TCart } from \"../../shared/cart-contents\";\nimport { enforceConfig } from \"../../shared/enforce-config\";\nimport { postFindOrCreateSubscription, postChainEligibleNonprofitsForCart } from \"../../api-sdk/v3/routes\";\nimport { AsyncController } from \"../../shared/controllers/async-controller\";\nimport { cssReset } from \"../../shared/css-reset\";\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 { 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 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: 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 @state() private activeWidget: \"redeem-transaction\" | \"impact-overview\" | null = null; // Based on /findSubscriptionByRemoteId\n @state() private nonprofitId: number | null = null; // From /findSubscriptionByRemoteId response\n @state() private userId: string | null = null; // From findSubscriptionByRemoteId\n @state() private chainName: string | null = null; // From findEligibleNonprofitsForCart\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\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 this.activeWidget = this.nonprofitId ? \"impact-overview\" : \"redeem-transaction\";\n }\n\n async fetchEligibleNonprofits() {\n enforceConfig<TRequiredDataProps>([\"apiKey\", \"subscriptionId\"], this);\n const res = await postChainEligibleNonprofitsForCart({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n postalCode: this.postalCode ? this.postalCode : undefined,\n countryCode: this.countryCode ? this.countryCode : undefined,\n widgetName: \"subscription-management\",\n version: \"1.0.0\",\n },\n });\n this.chainName = res.chain.name;\n this.storeId = res.store.id;\n return res;\n }\n\n async fetchSubscription() {\n enforceConfig<TRequiredDataProps>([\"apiKey\", \"subscriptionId\"], this);\n const result = await postFindOrCreateSubscription({\n baseUrl: this.baseUrl,\n headers: {\n authorization: `Api-Key ${this.apiKey}`,\n },\n requestBody: {\n remoteSubscriptionId: this.subscriptionId,\n email: this.email,\n partnerUserId: this.partnerUserId,\n },\n });\n\n this.userId = result.beamUserId; // Returned in response regardless of subscription redemption\n this.nonprofitId = result.nonprofit?.id || null;\n return result;\n }\n\n handleSwapNonprofitButtonClick() {\n this.activeWidget = \"redeem-transaction\";\n }\n\n renderSwapNonprofitButton() {\n if (this.activeWidget === \"impact-overview\") {\n return html`<button class=\"swap-nonprofit-button\" @click=\"${this.handleSwapNonprofitButtonClick}\">\n ${strings[this.lang].nonprofitSwapText({ brandName: this.chainName || \"\" })}\n </button>`;\n } else {\n return \"\";\n }\n }\n\n public get cssVariables() {\n const defaults = {\n \"--beam-fontFamily\": \"inherit\",\n \"--beam-fontStyle\": \"inherit\",\n \"--beam-fontSize\": \"inherit\",\n \"--beam-textColor\": \"inherit\",\n \"--beam-backgroundColor\": \"inherit\",\n \"--beam-SubscriptionManagement-widgetContainer-borderColor\": \"#d5d5d5\",\n \"--beam-SubscriptionManagement-widgetContainer-borderRadius\": \"4px\",\n \"--beam-SubscriptionManagement-widgetContainer-padding\": \"15px\",\n \"--beam-SubscriptionManagement-widgetContainer-backgroundColor\": \"inherit\",\n \"--beam-SubscriptionManagement-widgetContainer-maxWidth\": \"800px\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-textDecoration\": \"underline\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontFamily\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontStyle\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontWeight\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-lineHeight\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-marginTop\": \"10px\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-fontSize\": \"inherit\",\n \"--beam-SubscriptionManagement-swapNonprofitButtonText-color\": \"inherit\",\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 .swap-nonprofit-button {\n margin-top: var(--beam-SubscriptionManagement-swapNonprofitButtonText-marginTop, 10px);\n color: var(--beam-SubscriptionManagement-swapNonprofitButtonText-color, inherit);\n font-size: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontSize, inherit);\n text-decoration: var(--beam-SubscriptionManagement-swapNonprofitButtonText-textDecoration, underline);\n font-family: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontFamily, inherit);\n font-style: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontStyle, inherit);\n font-weight: var(--beam-SubscriptionManagement-swapNonprofitButtonText-fontWeight, inherit);\n line-height: var(--beam-SubscriptionManagement-swapNonprofitButtonText-lineHeight, inherit);\n background: none;\n border: none;\n cursor: pointer;\n }\n .sub-widget-container {\n background-color: var(--beam-SubscriptionManagement-widgetContainer-backgroundColor, inherit);\n border: 1px solid var(--beam-SubscriptionManagement-widgetContainer-borderColor, #d5d5d5);\n border-radius: var(--beam-SubscriptionManagement-widgetContainer-borderRadius, 4px);\n overflow: hidden; /* maintain clean border-radius */\n padding: var(--beam-SubscriptionManagement-widgetContainer-padding, 15px);\n max-width: var(--beam-SubscriptionManagement-widgetContainer-maxWidth, 800px);\n }\n }`,\n ];\n\n render() {\n let content;\n\n if (this.subscriptionDataController.loading || this.eligibleNonprofitsDataController.loading) {\n content = \"\";\n }\n\n if ((this.subscriptionDataController.error || this.eligibleNonprofitsDataController.error) && this.debug) {\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 }\n } else {\n content = \"\";\n }\n\n if (this.activeWidget === \"redeem-transaction\") {\n content = html` <beam-redeem-transaction\n part=\"redeem-transaction\"\n subscriptionId=\"${this.subscriptionId}\"\n nonprofitId=${this.nonprofitId}\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n postalCode=\"${this.postalCode}\"\n countryCode=\"${this.countryCode}\"\n lang=\"${this.lang}\"\n ?debug=\"${this.debug}\"\n @beamnonprofitselect=\"${(event: Event) => {\n if (!(event instanceof BeamNonprofitSelectEvent)) return; // TS guard\n const { selectedNonprofitId } = event.detail;\n this.nonprofitId = selectedNonprofitId ?? null;\n this.activeWidget = \"impact-overview\";\n }}\"\n ></beam-redeem-transaction>`;\n } else if (this.activeWidget === \"impact-overview\") {\n content = html`\n <beam-impact-overview\n part=\"impact-overview\"\n baseUrl=\"${this.baseUrl}\"\n apiKey=\"${this.apiKey}\"\n userId=\"${this.userId}\"\n nonprofitId=\"${this.nonprofitId}\"\n lang=\"${this.lang}\"\n ?debug=\"${this.debug}\"\n ></beam-impact-overview>\n `;\n }\n return html`\n <style>\n :host {\n ${this.cssVariables.toCSS()}\n }\n </style>\n <div class=\"sub-widget-container\">${content}</div>\n ${this.renderSwapNonprofitButton()}\n `;\n }\n}\n\ndefineCustomElement(BeamSubscriptionManagement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"beam-subscription-management\": BeamSubscriptionManagement;\n }\n}\n"],"names":["strings","brandName","m","h","e","l","n","t","o","i","a","d","BeamSubscriptionManagement","LitElement","DEFAULT_BASE_URL","AsyncController","MissingConfig","enforceConfig","res","postChainEligibleNonprofitsForCart","result","postFindOrCreateSubscription","html","defaults","remoteConfig","config","_cssVariableMap","content","_errorMessage","event","BeamNonprofitSelectEvent","selectedNonprofitId","cssReset","css","__decorateClass","property","state","defineCustomElement"],"mappings":"2XAAO,MAAMA,EAAU,CACrB,GAAI,CACF,kBAAmB,CAAC,CAAE,UAAAC,EAAY,EAAG,IAAM,0CAA0CA,CAAS,kBAChG,EACA,GAAI,CACF,kBAAmB,CAAC,CAAE,UAAAA,EAAY,EAAG,IACnC,wGAAkGA,CAAS,EAC/G,EACA,GAAI,CACF,kBAAmB,CAAC,CAAE,UAAAA,EAAY,EAAG,IACnC,oHAA2GA,CAAS,EACxH,EACA,GAAI,CACF,kBAAmB,CAAC,CAAE,UAAAA,EAAY,EAAG,IACnC,4FAAsFA,CAAS,EACnG,EACA,GAAI,CACF,kBAAmB,CAAC,CAAE,UAAAA,EAAY,EAAG,IACnC,sFAAsFA,CAAS,EACnG,EACA,GAAI,CACF,kBAAmB,CAAC,CAAE,UAAAA,EAAY,EAAG,IACnC,yFAA4EA,CAAS,EACzF,CACF,ECxBA,IAAAC,EAAA,OAAA,eAAAC,EAAA,OAAA,yBAAAC,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,IAAA,CAAA,QAAAC,EAAAD,EAAA,EAAA,OAAAA,EAAAL,EAAAG,EAAAC,CAAA,EAAAD,EAAAI,EAAAL,EAAA,OAAA,EAAAM,EAAAD,GAAA,EAAAA,KAAAC,EAAAN,EAAAK,CAAA,KAAAD,GAAAD,EAAAG,EAAAL,EAAAC,EAAAE,CAAA,EAAAE,EAAAF,CAAA,IAAAA,GAAA,OAAAD,GAAAC,GAAAP,EAAAI,EAAAC,EAAAE,CAAA,EAAAA,CAAA,EA8BO,MAAMG,UAAmCC,CAAW,CAApD,aAAA,CAAA,MAAA,GAAA,SAAA,EAIL,KAAO,QAAkBC,EAwBzB,KAAO,KAAkB,KAMzB,KAAO,MAAQ,GAEN,KAAQ,aAAgE,KACxE,KAAQ,YAA6B,KACrC,KAAQ,OAAwB,KAChC,KAAQ,UAA2B,KAE5C,KAAQ,2BAA6B,IAAIC,EAA+C,KAAM,KAAK,iBAAiB,EACpH,KAAQ,iCAAmC,IAAIA,EAC7C,KACA,KAAK,uBACP,CAEA,CAAA,MAAM,cAAe,CACnB,GAAI,CAAC,KAAK,OAAS,CAAC,KAAK,cACvB,MAAM,IAAIC,EACR,CAAC,QAAS,eAAe,EACzB,8EACF,EAEFC,EAAkC,CAAC,SAAU,gBAAgB,EAAG,IAAI,EACpE,MAAM,KAAK,WAAW,CACxB,CAEA,MAAM,YAAa,CAIjB,MAAM,QAAQ,IAAI,CAAC,KAAK,wBAAwB,EAAG,KAAK,kBAAmB,CAAA,CAAC,EAC5E,KAAK,aAAe,KAAK,YAAc,kBAAoB,oBAC7D,CAEA,MAAM,yBAA0B,CAC9BA,EAAkC,CAAC,SAAU,gBAAgB,EAAG,IAAI,EACpE,MAAMC,EAAM,MAAMC,EAAmC,CACnD,QAAS,KAAK,QACd,QAAS,CACP,cAAe,WAAW,KAAK,MAAM,EACvC,EACA,YAAa,CACX,WAAY,KAAK,WAAa,KAAK,WAAa,OAChD,YAAa,KAAK,YAAc,KAAK,YAAc,OACnD,WAAY,0BACZ,QAAS,OACX,CACF,CAAC,EACD,OAAA,KAAK,UAAYD,EAAI,MAAM,KAC3B,KAAK,QAAUA,EAAI,MAAM,GAClBA,CACT,CAEA,MAAM,mBAAoB,CACxBD,EAAkC,CAAC,SAAU,gBAAgB,EAAG,IAAI,EACpE,MAAMG,EAAS,MAAMC,EAA6B,CAChD,QAAS,KAAK,QACd,QAAS,CACP,cAAe,WAAW,KAAK,MAAM,EACvC,EACA,YAAa,CACX,qBAAsB,KAAK,eAC3B,MAAO,KAAK,MACZ,cAAe,KAAK,aACtB,CACF,CAAC,EAED,OAAA,KAAK,OAASD,EAAO,WACrB,KAAK,YAAcA,EAAO,WAAW,IAAM,KACpCA,CACT,CAEA,gCAAiC,CAC/B,KAAK,aAAe,oBACtB,CAEA,2BAA4B,CAC1B,OAAI,KAAK,eAAiB,kBACjBE,kDAAqD,KAAK,8BAA8B;AAAA,UAC3FtB,EAAQ,KAAK,IAAI,EAAE,kBAAkB,CAAE,UAAW,KAAK,WAAa,EAAG,CAAC,CAAC;AAAA,iBAGtE,EAEX,CAEA,IAAW,cAAe,CACxB,MAAMuB,EAAW,CACf,oBAAqB,UACrB,mBAAoB,UACpB,kBAAmB,UACnB,mBAAoB,UACpB,yBAA0B,UAC1B,4DAA6D,UAC7D,6DAA8D,MAC9D,wDAAyD,OACzD,gEAAiE,UACjE,yDAA0D,QAC1D,uEAAwE,YACxE,mEAAoE,UACpE,kEAAmE,UACnE,mEAAoE,UACpE,mEAAoE,UACpE,kEAAmE,OACnE,iEAAkE,UAClE,8DAA+D,SACjE,EAEMC,EAAe,KAAK,kCAAkC,MAAM,QAAQ,KAAK,OAAS,CAAA,EAElFC,EAAS,CAAE,GAAGF,EAAU,GAAGC,CAAa,EAO9C,OAAO,OAAO,OALO,OAAO,OAAO,CACjC,OAAQ,CACN,OAAOE,EAAgB,IAA8B,CACvD,CACF,CAAC,EACkCD,CAAM,CAC3C,CAsCA,QAAS,CACP,IAAIE,EAMJ,IAJI,KAAK,2BAA2B,SAAW,KAAK,iCAAiC,WACnFA,EAAU,KAGP,KAAK,2BAA2B,OAAS,KAAK,iCAAiC,QAAU,KAAK,MAAO,CACxG,GAAI,KAAK,2BAA2B,QAAU,KAC5C,OAAOC,EAAc,CAAE,MAAO,KAAK,2BAA2B,KAAM,CAAC,EAChE,GAAI,KAAK,iCAAiC,QAAU,KACzD,OAAOA,EAAc,CAAE,MAAO,KAAK,iCAAiC,KAAM,CAAC,CAE/E,MACED,EAAU,GAGZ,OAAI,KAAK,eAAiB,qBACxBA,EAAUL;AAAAA;AAAAA,0BAEU,KAAK,cAAc;AAAA,sBACvB,KAAK,WAAW;AAAA,mBACnB,KAAK,OAAO;AAAA,kBACb,KAAK,MAAM;AAAA,sBACP,KAAK,UAAU;AAAA,uBACd,KAAK,WAAW;AAAA,gBACvB,KAAK,IAAI;AAAA,kBACP,KAAK,KAAK;AAAA,gCACKO,GAAiB,CACxC,GAAI,EAAEA,aAAiBC,GAA2B,OAClD,KAAM,CAAE,oBAAAC,CAAoB,EAAIF,EAAM,OACtC,KAAK,YAAcE,GAAuB,KAC1C,KAAK,aAAe,iBACtB,CAAC;AAAA,mCAEM,KAAK,eAAiB,oBAC/BJ,EAAUL;AAAAA;AAAAA;AAAAA,qBAGK,KAAK,OAAO;AAAA,oBACb,KAAK,MAAM;AAAA,oBACX,KAAK,MAAM;AAAA,yBACN,KAAK,WAAW;AAAA,kBACvB,KAAK,IAAI;AAAA,oBACP,KAAK,KAAK;AAAA;AAAA,SAInBA;AAAAA;AAAAA;AAAAA,YAGC,KAAK,aAAa,OAAO;AAAA;AAAA;AAAA,0CAGKK,CAAO;AAAA,QACzC,KAAK,2BAA2B;AAAA,KAEtC,CACF,CAtPaf,EACJ,QAAU,+BADNA,EAwJJ,OAAS,CACdoB,EACAC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,MAgCF,EAtLOC,EAAA,CADNC,EAAS,CAAE,KAAM,MAAO,CAAC,CAHf,EAAAvB,EAIJ,UAGAsB,UAAAA,CAAAA,EAAAA,EAAA,CADNC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EANfvB,EAOJ,UAAA,SAAA,CAAA,EAGAsB,EAAA,CADNC,EAAS,CAAE,KAAM,MAAO,CAAC,CATf,EAAAvB,EAUJ,8BAGAsB,EAAA,CADNC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,CAZ9B,EAAAvB,EAaJ,UAGAsB,UAAAA,CAAAA,EAAAA,EAAA,CADNC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EAffvB,EAgBJ,UAAA,QAAA,CAAA,EAGAsB,EAAA,CADNC,EAAS,CAAE,KAAM,MAAO,CAAC,CAlBf,EAAAvB,EAmBJ,UAGAsB,gBAAAA,CAAAA,EAAAA,EAAA,CADNC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EArBfvB,EAsBJ,UAAA,aAAA,CAAA,EAGAsB,EAAA,CADNC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EAxBfvB,EAyBJ,UAAA,cAAA,CAAA,EAGAsB,EAAA,CADNC,EAAS,CAAE,KAAM,MAAO,CAAC,CA3Bf,EAAAvB,EA4BJ,oBAGAsB,EAAA,CADNC,EAAS,CAAE,KAAM,MAAO,CAAC,CAAA,EA9BfvB,EA+BJ,UAGAsB,OAAAA,CAAAA,EAAAA,EAAA,CADNC,EAAS,CAAE,KAAM,OAAQ,CAAC,GAjChBvB,EAkCJ,UAAA,QAAA,CAAA,EAEUsB,EAAA,CAAhBE,EAAM,CAAA,EApCIxB,EAoCM,UAAA,eAAA,CAAA,EACAsB,EAAA,CAAhBE,GArCU,EAAAxB,EAqCM,UACAsB,cAAAA,CAAAA,EAAAA,EAAA,CAAhBE,KAtCUxB,EAsCM,UAAA,SAAA,CAAA,EACAsB,EAAA,CAAhBE,EAAM,CAAA,EAvCIxB,EAuCM,UAAA,YAAA,CAAA,EAiNnByB,EAAoBzB,CAA0B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { i as WebComponents } from './chunks/index-oLz4lmx2.esm.js';
|
|
2
|
-
export { i as Integrations } from './chunks/index-
|
|
2
|
+
export { i as Integrations } from './chunks/index-FnuGcS7e.esm.js';
|
|
3
3
|
export { i as ReactComponents } from './chunks/index-6t9MtjyS.esm.js';
|
|
4
|
-
export { i as Utils } from './chunks/index-
|
|
4
|
+
export { i as Utils } from './chunks/index-KVvZMZmn.esm.js';
|
|
5
5
|
import './components/community-impact.js';
|
|
6
6
|
import 'lit';
|
|
7
7
|
import 'lit-html';
|
|
@@ -13,14 +13,14 @@ import './components/cumulative-impact.js';
|
|
|
13
13
|
import 'lodash';
|
|
14
14
|
import './components/impact-overview.js';
|
|
15
15
|
import './components/select-nonprofit.js';
|
|
16
|
-
import './chunks/cart-contents-
|
|
17
|
-
import './chunks/openapi-spec-
|
|
16
|
+
import './chunks/cart-contents-v6_9tRb6.esm.js';
|
|
17
|
+
import './chunks/openapi-spec-bq7eoELU.esm.js';
|
|
18
18
|
import './components/redeem-transaction.js';
|
|
19
19
|
import './components/post-purchase.js';
|
|
20
20
|
import './components/subscription-management.js';
|
|
21
|
-
import './chunks/index-
|
|
21
|
+
import './chunks/index-5daMf0rK.esm.js';
|
|
22
22
|
import './chunks/beam-errors-fXDkG1zo.esm.js';
|
|
23
|
-
import './chunks/events-
|
|
23
|
+
import './chunks/events-OcebkuWu.esm.js';
|
|
24
24
|
import './utils/logger.js';
|
|
25
25
|
import './utils/network-listeners.js';
|
|
26
26
|
import './utils/local-storage.js';
|
|
@@ -30,12 +30,12 @@ import './utils/remote-session.js';
|
|
|
30
30
|
import './utils/memoize-last.js';
|
|
31
31
|
import 'lodash-es/debounce';
|
|
32
32
|
import 'lodash-es/isEqual';
|
|
33
|
-
import './chunks/index-
|
|
34
|
-
import './chunks/order-page-
|
|
35
|
-
import './chunks/update-cart-
|
|
33
|
+
import './chunks/index-g9-z_JOJ.esm.js';
|
|
34
|
+
import './chunks/order-page-2mptGhAC.esm.js';
|
|
35
|
+
import './chunks/update-cart-kuufrFCv.esm.js';
|
|
36
36
|
import './chunks/index-EGiUuWe-.esm.js';
|
|
37
|
-
import './chunks/index-
|
|
38
|
-
import './chunks/index-
|
|
37
|
+
import './chunks/index-JwkkxR5U.esm.js';
|
|
38
|
+
import './chunks/index-wlzifF_l.esm.js';
|
|
39
39
|
import './react/community-impact.js';
|
|
40
40
|
import '@lit/react';
|
|
41
41
|
import './react/cumulative-impact.js';
|
package/dist/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as Q}from"./chunks/index-5yFqo0yl.esm.js";import{i as T}from"./chunks/index-
|
|
1
|
+
import{i as Q}from"./chunks/index-5yFqo0yl.esm.js";import{i as T}from"./chunks/index-HmjLoc_p.esm.js";import{i as X}from"./chunks/index-o7YiP4gC.esm.js";import{i as Z}from"./chunks/index-OnjTwvAw.esm.js";import"./components/community-impact.esm.js";import"./chunks/lit-yVXn5Cbs.esm.js";import"./chunks/progress-bar-7gWYaGlq.esm.js";import"./components/beam-partner-logos.esm.js";import"./chunks/enforce-config-qna7hEL6.esm.js";import"./chunks/beam-errors-P-Lu07Ce.esm.js";import"./utils/logger.esm.js";import"./chunks/routes-d2vC4TDa.esm.js";import"./chunks/localize-GCkVUD8S.esm.js";import"./chunks/css-card-grid-3b56QBzq.esm.js";import"./components/cumulative-impact.esm.js";import"./chunks/lodash-P8OIs-at.esm.js";import"./chunks/is-all-html-elements-SdSkxirh.esm.js";import"./components/impact-overview.esm.js";import"./chunks/vendor-eeJfrOkP.esm.js";import"./chunks/responsive-LYEag6TI.esm.js";import"./components/select-nonprofit.esm.js";import"./chunks/events-5IECSF-x.esm.js";import"./utils/network-listeners.esm.js";import"./utils/local-storage.esm.js";import"./utils/cookies.esm.js";import"./chunks/cart-contents-h60geKWa.esm.js";import"./components/redeem-transaction.esm.js";import"./components/post-purchase.esm.js";import"./components/subscription-management.esm.js";import"./chunks/index-9gijHGwh.esm.js";import"./utils/wait-for-element.esm.js";import"./utils/remote-session.esm.js";import"./utils/memoize-last.esm.js";import"./chunks/index-yWjLS42R.esm.js";import"./chunks/order-page-XNVqjTGF.esm.js";import"./chunks/update-cart-p84B0Ga6.esm.js";import"./chunks/index-9YcaEQju.esm.js";import"./chunks/index-Gz47LtoA.esm.js";import"./chunks/index-ZiApqExt.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";export{T as Integrations,X as ReactComponents,Z as Utils,Q as WebComponents};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as Q}from"./chunks/index-IzAvjker.esm.js";import{i as T}from"./chunks/index-
|
|
1
|
+
import{i as Q}from"./chunks/index-IzAvjker.esm.js";import{i as T}from"./chunks/index-2d2pxFdE.esm.js";import{i as X}from"./chunks/index-EHubF2KN.esm.js";import{i as Z}from"./chunks/index-wsdeaTHd.esm.js";import"./components/community-impact.js";import"./chunks/lit-yVXn5Cbs.esm.js";import"./chunks/progress-bar-7gWYaGlq.esm.js";import"./components/beam-partner-logos.js";import"./chunks/enforce-config-fo8kIfoY.esm.js";import"./chunks/beam-errors-P-Lu07Ce.esm.js";import"./utils/logger.js";import"./chunks/routes-a8lsE6eZ.esm.js";import"./chunks/localize-pzAAkBvG.esm.js";import"./chunks/css-card-grid-3b56QBzq.esm.js";import"./components/cumulative-impact.js";import"./chunks/lodash-P8OIs-at.esm.js";import"./chunks/is-all-html-elements-SdSkxirh.esm.js";import"./components/impact-overview.js";import"./chunks/vendor-eeJfrOkP.esm.js";import"./chunks/responsive-LYEag6TI.esm.js";import"./components/select-nonprofit.js";import"./chunks/events-5IECSF-x.esm.js";import"./utils/network-listeners.js";import"./utils/local-storage.js";import"./utils/cookies.js";import"./chunks/cart-contents-h60geKWa.esm.js";import"./components/redeem-transaction.js";import"./components/post-purchase.js";import"./components/subscription-management.js";import"./chunks/index-U8Oy2aur.esm.js";import"./utils/wait-for-element.js";import"./utils/remote-session.js";import"./utils/memoize-last.js";import"./chunks/index-kLkFc8M_.esm.js";import"./chunks/order-page-NwFyJU-V.esm.js";import"./chunks/update-cart-gv6ortZ5.esm.js";import"./chunks/index-Z1UUeVXR.esm.js";import"./chunks/index-yxnSM7PZ.esm.js";import"./chunks/index-HSr3vG8C.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";export{T as Integrations,X as ReactComponents,Z as Utils,Q 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-d2vC4TDa.esm.js";import{S as y}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{B as h}from"../chunks/events-5IECSF-x.esm.js";import{logger as w}from"../utils/logger.esm.js";import{s as f}from"../chunks/index-ZiApqExt.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,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-a8lsE6eZ.esm.js";import{S as y}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{B as h}from"../chunks/events-5IECSF-x.esm.js";import{logger as w}from"../utils/logger.js";import{s as f}from"../chunks/index-HSr3vG8C.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,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-kuufrFCv.esm.js';
|
|
2
2
|
import 'lodash';
|
|
3
3
|
import '../chunks/types-aju0qrRe.esm.js';
|
|
4
|
-
import '../chunks/cart-contents-
|
|
5
|
-
import '../chunks/openapi-spec-
|
|
4
|
+
import '../chunks/cart-contents-v6_9tRb6.esm.js';
|
|
5
|
+
import '../chunks/openapi-spec-bq7eoELU.esm.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{x as C}from"../chunks/update-cart-
|
|
1
|
+
import{x as C}from"../chunks/update-cart-p84B0Ga6.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/routes-d2vC4TDa.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";import"../chunks/events-5IECSF-x.esm.js";import"../utils/network-listeners.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/cart-contents-h60geKWa.esm.js";export{C as updateCart};
|
|
2
2
|
//# sourceMappingURL=cart.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{x as C}from"../chunks/update-cart-
|
|
1
|
+
import{x as C}from"../chunks/update-cart-gv6ortZ5.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/routes-a8lsE6eZ.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";import"../chunks/events-5IECSF-x.esm.js";import"../utils/network-listeners.js";import"../utils/local-storage.js";import"../utils/cookies.js";import"../utils/remote-session.js";import"../utils/memoize-last.js";import"../chunks/cart-contents-h60geKWa.esm.js";export{C as updateCart};
|
|
2
2
|
//# sourceMappingURL=cart.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { i as Utils } from '../chunks/index-
|
|
2
|
-
export { i as Shopify } from '../chunks/index-
|
|
1
|
+
export { i as Utils } from '../chunks/index-5daMf0rK.esm.js';
|
|
2
|
+
export { i as Shopify } from '../chunks/index-g9-z_JOJ.esm.js';
|
|
3
3
|
export { i as Session } from '../chunks/index-EGiUuWe-.esm.js';
|
|
4
|
-
export { i as Cart } from '../chunks/index-
|
|
5
|
-
export { i as Logs } from '../chunks/index-
|
|
4
|
+
export { i as Cart } from '../chunks/index-JwkkxR5U.esm.js';
|
|
5
|
+
export { i as Logs } from '../chunks/index-wlzifF_l.esm.js';
|
|
6
6
|
import '../chunks/beam-errors-fXDkG1zo.esm.js';
|
|
7
|
-
import '../chunks/events-
|
|
8
|
-
import '../chunks/cart-contents-
|
|
9
|
-
import '../chunks/openapi-spec-
|
|
7
|
+
import '../chunks/events-OcebkuWu.esm.js';
|
|
8
|
+
import '../chunks/cart-contents-v6_9tRb6.esm.js';
|
|
9
|
+
import '../chunks/openapi-spec-bq7eoELU.esm.js';
|
|
10
10
|
import '../chunks/types-7kSi85Gv.esm.js';
|
|
11
11
|
import '../utils/logger.js';
|
|
12
12
|
import '../utils/network-listeners.js';
|
|
@@ -17,9 +17,9 @@ import '../utils/remote-session.js';
|
|
|
17
17
|
import '../utils/memoize-last.js';
|
|
18
18
|
import 'lodash-es/debounce';
|
|
19
19
|
import 'lodash-es/isEqual';
|
|
20
|
-
import '../chunks/order-page-
|
|
20
|
+
import '../chunks/order-page-2mptGhAC.esm.js';
|
|
21
21
|
import 'lodash';
|
|
22
|
-
import '../chunks/update-cart-
|
|
22
|
+
import '../chunks/update-cart-kuufrFCv.esm.js';
|
|
23
23
|
import '../chunks/types-aju0qrRe.esm.js';
|
|
24
24
|
import '../components/post-purchase.js';
|
|
25
25
|
import 'lit';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as w}from"../chunks/index-9gijHGwh.esm.js";import{i as A}from"../chunks/index-
|
|
1
|
+
import{i as w}from"../chunks/index-9gijHGwh.esm.js";import{i as A}from"../chunks/index-yWjLS42R.esm.js";import{i as D}from"../chunks/index-9YcaEQju.esm.js";import{i as F}from"../chunks/index-Gz47LtoA.esm.js";import{i as H}from"../chunks/index-ZiApqExt.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../chunks/events-5IECSF-x.esm.js";import"../utils/logger.esm.js";import"../utils/network-listeners.esm.js";import"../utils/local-storage.esm.js";import"../utils/wait-for-element.esm.js";import"../utils/cookies.esm.js";import"../utils/remote-session.esm.js";import"../utils/memoize-last.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/order-page-XNVqjTGF.esm.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../chunks/update-cart-p84B0Ga6.esm.js";import"../chunks/routes-d2vC4TDa.esm.js";import"../components/post-purchase.esm.js";import"../chunks/lit-yVXn5Cbs.esm.js";import"../chunks/enforce-config-qna7hEL6.esm.js";import"../components/redeem-transaction.esm.js";import"../chunks/progress-bar-7gWYaGlq.esm.js";import"../components/beam-partner-logos.esm.js";import"../chunks/localize-GCkVUD8S.esm.js";import"../chunks/css-card-grid-3b56QBzq.esm.js";import"../components/impact-overview.esm.js";import"../chunks/vendor-eeJfrOkP.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/responsive-LYEag6TI.esm.js";export{F as Cart,H as Logs,D as Session,A as Shopify,w as Utils};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as w}from"../chunks/index-U8Oy2aur.esm.js";import{i as A}from"../chunks/index-
|
|
1
|
+
import{i as w}from"../chunks/index-U8Oy2aur.esm.js";import{i as A}from"../chunks/index-kLkFc8M_.esm.js";import{i as D}from"../chunks/index-Z1UUeVXR.esm.js";import{i as F}from"../chunks/index-yxnSM7PZ.esm.js";import{i as H}from"../chunks/index-HSr3vG8C.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../chunks/events-5IECSF-x.esm.js";import"../utils/logger.js";import"../utils/network-listeners.js";import"../utils/local-storage.js";import"../utils/wait-for-element.js";import"../utils/cookies.js";import"../utils/remote-session.js";import"../utils/memoize-last.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/order-page-NwFyJU-V.esm.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../chunks/update-cart-gv6ortZ5.esm.js";import"../chunks/routes-a8lsE6eZ.esm.js";import"../components/post-purchase.js";import"../chunks/lit-yVXn5Cbs.esm.js";import"../chunks/enforce-config-fo8kIfoY.esm.js";import"../components/redeem-transaction.js";import"../chunks/progress-bar-7gWYaGlq.esm.js";import"../components/beam-partner-logos.js";import"../chunks/localize-pzAAkBvG.esm.js";import"../chunks/css-card-grid-3b56QBzq.esm.js";import"../components/impact-overview.js";import"../chunks/vendor-eeJfrOkP.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/responsive-LYEag6TI.esm.js";export{F as Cart,H as Logs,D as Session,A as Shopify,w as Utils};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import '../chunks/openapi-spec-
|
|
2
|
-
export { s as sendLog } from '../chunks/index-
|
|
1
|
+
import '../chunks/openapi-spec-bq7eoELU.esm.js';
|
|
2
|
+
export { s as sendLog } from '../chunks/index-wlzifF_l.esm.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../chunks/routes-
|
|
1
|
+
import"../chunks/routes-d2vC4TDa.esm.js";import"../utils/logger.esm.js";import{s as i}from"../chunks/index-ZiApqExt.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";export{i as sendLog};
|
|
2
2
|
//# sourceMappingURL=logs.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../chunks/routes-
|
|
1
|
+
import"../chunks/routes-a8lsE6eZ.esm.js";import"../utils/logger.js";import{s as i}from"../chunks/index-HSr3vG8C.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";export{i as sendLog};
|
|
2
2
|
//# sourceMappingURL=logs.js.map
|