@beamimpact/web-sdk 1.39.2 → 1.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/_share-dialog-dependencies-1vD2dmjh.esm.js +2 -0
- package/dist/chunks/_share-dialog-dependencies-1vD2dmjh.esm.js.map +1 -0
- package/dist/chunks/_share-dialog-dependencies-jvbBs-cC.esm.js +2 -0
- package/dist/chunks/_share-dialog-dependencies-jvbBs-cC.esm.js.map +1 -0
- package/dist/chunks/index-FIfx75-P.esm.js +2 -0
- package/dist/chunks/index-FIfx75-P.esm.js.map +1 -0
- package/dist/chunks/index-GocMPeWn.esm.js +2 -0
- package/dist/chunks/index-GocMPeWn.esm.js.map +1 -0
- package/dist/chunks/index-HyzTMHYl.esm.js +2 -0
- package/dist/chunks/index-HyzTMHYl.esm.js.map +1 -0
- package/dist/chunks/index-LmCqzg5B.esm.js +2 -0
- package/dist/chunks/index-LmCqzg5B.esm.js.map +1 -0
- package/dist/chunks/index-bUooCSdc.esm.js +2 -0
- package/dist/chunks/index-bUooCSdc.esm.js.map +1 -0
- package/dist/chunks/{index-XlnH7ARQ.esm.js → index-fINTvZVX.esm.js} +2 -2
- package/dist/chunks/{index-XlnH7ARQ.esm.js.map → index-fINTvZVX.esm.js.map} +1 -1
- package/dist/chunks/index-iMRMlkF3.esm.js +2 -0
- package/dist/chunks/index-iMRMlkF3.esm.js.map +1 -0
- package/dist/chunks/{index-dsJIs5Sr.esm.js → index-kxMe_AX1.esm.js} +2 -2
- package/dist/chunks/{index-dsJIs5Sr.esm.js.map → index-kxMe_AX1.esm.js.map} +1 -1
- package/dist/chunks/{order-page-6Q-6CHug.esm.js → order-page-0azkW5QD.esm.js} +2 -2
- package/dist/chunks/{order-page-6Q-6CHug.esm.js.map → order-page-0azkW5QD.esm.js.map} +1 -1
- package/dist/chunks/{order-page-mYYXHDVr.esm.js → order-page-n12hvsCN.esm.js} +2 -2
- package/dist/chunks/{order-page-mYYXHDVr.esm.js.map → order-page-n12hvsCN.esm.js.map} +1 -1
- package/dist/chunks/{routes-b8sncPq8.esm.js → routes-31m626dW.esm.js} +2 -2
- package/dist/chunks/{routes-b8sncPq8.esm.js.map → routes-31m626dW.esm.js.map} +1 -1
- package/dist/chunks/{routes-3jKReDai.esm.js → routes-sbqL3QFm.esm.js} +2 -2
- package/dist/chunks/{routes-3jKReDai.esm.js.map → routes-sbqL3QFm.esm.js.map} +1 -1
- package/dist/chunks/{update-cart-GaVMWI6J.esm.js → update-cart-NEt4A8dB.esm.js} +2 -2
- package/dist/chunks/{update-cart-GaVMWI6J.esm.js.map → update-cart-NEt4A8dB.esm.js.map} +1 -1
- package/dist/chunks/{update-cart-xW6a5_bz.esm.js → update-cart-XAwwFxhS.esm.js} +2 -2
- package/dist/chunks/{update-cart-xW6a5_bz.esm.js.map → update-cart-XAwwFxhS.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.esm.js.map +1 -1
- package/dist/components/cumulative-impact.js +1 -1
- package/dist/components/cumulative-impact.js.map +1 -1
- package/dist/components/impact-overview.esm.js +7 -7
- package/dist/components/impact-overview.esm.js.map +1 -1
- package/dist/components/impact-overview.js +7 -7
- package/dist/components/impact-overview.js.map +1 -1
- package/dist/components/index.esm.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/post-purchase.d.ts +1 -1
- package/dist/components/post-purchase.esm.js +1 -1
- package/dist/components/post-purchase.esm.js.map +1 -1
- package/dist/components/post-purchase.js +1 -1
- package/dist/components/post-purchase.js.map +1 -1
- package/dist/components/product-details-page.d.ts +2 -2
- package/dist/components/product-details-page.esm.js +66 -18
- package/dist/components/product-details-page.esm.js.map +1 -1
- package/dist/components/product-details-page.js +66 -18
- package/dist/components/product-details-page.js.map +1 -1
- package/dist/components/redeem-transaction.d.ts +1 -1
- package/dist/components/redeem-transaction.esm.js +1 -1
- package/dist/components/redeem-transaction.js +1 -1
- package/dist/components/select-nonprofit.d.ts +1 -1
- package/dist/components/select-nonprofit.esm.js +1 -1
- package/dist/components/select-nonprofit.js +1 -1
- package/dist/components/shopify.esm.js +1 -1
- package/dist/components/shopify.esm.js.map +1 -1
- package/dist/components/shopify.js +1 -1
- package/dist/components/shopify.js.map +1 -1
- package/dist/components/subscription-management.d.ts +1 -1
- package/dist/components/subscription-management.esm.js +1 -1
- package/dist/components/subscription-management.esm.js.map +1 -1
- package/dist/components/subscription-management.js +1 -1
- package/dist/components/subscription-management.js.map +1 -1
- 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.esm.js +1 -1
- package/dist/integrations/cart.js +1 -1
- package/dist/integrations/index.esm.js +1 -1
- package/dist/integrations/index.js +1 -1
- package/dist/integrations/logs.esm.js +1 -1
- package/dist/integrations/logs.js +1 -1
- 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/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.esm.js.map +1 -1
- package/dist/react/impact-overview.js +1 -1
- package/dist/react/impact-overview.js.map +1 -1
- package/dist/react/index.esm.js +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/post-purchase.esm.js +1 -1
- package/dist/react/post-purchase.esm.js.map +1 -1
- package/dist/react/post-purchase.js +1 -1
- package/dist/react/post-purchase.js.map +1 -1
- package/dist/react/product-details-page.esm.js +1 -1
- package/dist/react/product-details-page.esm.js.map +1 -1
- package/dist/react/product-details-page.js +1 -1
- package/dist/react/product-details-page.js.map +1 -1
- package/dist/react/redeem-transaction.esm.js +1 -1
- package/dist/react/redeem-transaction.js +1 -1
- package/dist/react/select-nonprofit.esm.js +1 -1
- package/dist/react/select-nonprofit.js +1 -1
- package/dist/react/subscription-management.esm.js +1 -1
- package/dist/react/subscription-management.esm.js.map +1 -1
- package/dist/react/subscription-management.js +1 -1
- package/dist/react/subscription-management.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/_share-dialog-dependencies-K7WZWxUL.esm.js +0 -2
- package/dist/chunks/_share-dialog-dependencies-K7WZWxUL.esm.js.map +0 -1
- package/dist/chunks/_share-dialog-dependencies-VjhRF4_b.esm.js +0 -2
- package/dist/chunks/_share-dialog-dependencies-VjhRF4_b.esm.js.map +0 -1
- package/dist/chunks/index-EUMlzqI-.esm.js +0 -2
- package/dist/chunks/index-EUMlzqI-.esm.js.map +0 -1
- package/dist/chunks/index-U5URUABu.esm.js +0 -2
- package/dist/chunks/index-U5URUABu.esm.js.map +0 -1
- package/dist/chunks/index-VELk9_yH.esm.js +0 -2
- package/dist/chunks/index-VELk9_yH.esm.js.map +0 -1
- package/dist/chunks/index-q_XLkvqc.esm.js +0 -2
- package/dist/chunks/index-q_XLkvqc.esm.js.map +0 -1
- package/dist/chunks/index-xR738adx.esm.js +0 -2
- package/dist/chunks/index-xR738adx.esm.js.map +0 -1
- package/dist/chunks/index-xfPSpbUV.esm.js +0 -2
- package/dist/chunks/index-xfPSpbUV.esm.js.map +0 -1
- package/dist/chunks/shoelace-components-7XWYNn-Z.esm.js +0 -2
- package/dist/chunks/shoelace-components-7XWYNn-Z.esm.js.map +0 -1
- package/dist/chunks/shoelace-components-paAsUPkU.esm.js +0 -2
- package/dist/chunks/shoelace-components-paAsUPkU.esm.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopify.js","sources":["../../src/components/shopify/index.ts"],"sourcesContent":["/**\n * @deprecated\n * This file is preserved for backwards compatability, but future users should import from:\n * - integrations/shopify\n * - integration/utils\n * */\n\nimport { waitForElement } from \"../../utils/wait-for-element\";\nimport { getCookieMap, getCookieValue } from \"../../utils/cookies\";\n\nconst utils = {\n waitForElement,\n getCookieMap,\n getCookieValue,\n};\n\nexport { utils };\nexport { initNetworkListeners } from \"../../utils/network-listeners\";\nexport * as events from \"../../utils/events\";\n\nexport * from \"../../integrations/shopify\";\n"],"names":["utils","waitForElement","getCookieMap","getCookieValue"],"mappings":"
|
|
1
|
+
{"version":3,"file":"shopify.js","sources":["../../src/components/shopify/index.ts"],"sourcesContent":["/**\n * @deprecated\n * This file is preserved for backwards compatability, but future users should import from:\n * - integrations/shopify\n * - integration/utils\n * */\n\nimport { waitForElement } from \"../../utils/wait-for-element\";\nimport { getCookieMap, getCookieValue } from \"../../utils/cookies\";\n\nconst utils = {\n waitForElement,\n getCookieMap,\n getCookieValue,\n};\n\nexport { utils };\nexport { initNetworkListeners } from \"../../utils/network-listeners\";\nexport * as events from \"../../utils/events\";\n\nexport * from \"../../integrations/shopify\";\n"],"names":["utils","waitForElement","getCookieMap","getCookieValue"],"mappings":"8sCAUA,MAAMA,EAAQ,CACZ,eAAAC,EACA,aAAAC,EACA,eAAAC,CACF"}
|
|
@@ -134,7 +134,7 @@ declare class BeamSubscriptionManagement extends LitElement {
|
|
|
134
134
|
} | null;
|
|
135
135
|
}>;
|
|
136
136
|
handleSwapNonprofitButtonClick(): void;
|
|
137
|
-
renderSwapNonprofitButton():
|
|
137
|
+
renderSwapNonprofitButton(): lit_html.TemplateResult<1> | "";
|
|
138
138
|
get cssVariables(): any;
|
|
139
139
|
static styles: lit.CSSResult[];
|
|
140
140
|
render(): lit_html.TemplateResult<1>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{f as h,g as r,t as p,h as g,y as d}from"../chunks/lit-qtGbjGnK.esm.js";import{D as f,
|
|
1
|
+
import{f as h,g as r,t as p,h as g,y as d}from"../chunks/lit-qtGbjGnK.esm.js";import{D as f,e as y,W as S,f as w}from"../chunks/routes-31m626dW.esm.js";import{c as v,d as C,A as c,e as b,b as x,_ as u}from"../chunks/localize-F31ae3j6.esm.js";import{c as N}from"../chunks/events-Y8fYvSqM.esm.js";import{M as I}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import"./redeem-transaction.esm.js";import"./impact-overview.esm.js";import"../utils/logger.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../chunks/promo-pill-label-j0A8qZ0c.esm.js";import"../chunks/vendor-jQ8cxMpw.esm.js";import"./beam-partner-logos.esm.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../utils/local-storage.esm.js";import"../chunks/css-card-grid-7tObtoJx.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/responsive-aWj_7ZN_.esm.js";const M={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 $=Object.defineProperty,B=Object.getOwnPropertyDescriptor,o=(i,t,n,a)=>{for(var s=a>1?void 0:a?B(t,n):t,l=i.length-1,m;l>=0;l--)(m=i[l])&&(s=(a?m(t,n,s):m(s))||s);return a&&s&&$(t,n,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 c(this,this.fetchSubscription),this.eligibleNonprofitsDataController=new c(this,this.fetchEligibleNonprofits)}async firstUpdated(){if(!this.email&&!this.partnerUserId)throw new I(["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:{storeId:this.storeId||void 0,postalCode:this.postalCode||void 0,countryCode:this.countryCode||void 0,widgetName:S.subscription_management,version:"1.0.0"}});return this.chainName=t.chain.name,this.storeId=t.store.id,this.eligibleNonprofitsDataController.data=t,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
2
|
${M[this.lang].nonprofitSwapText({brandName:this.chainName||""})}
|
|
3
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"},n=this.eligibleNonprofitsDataController?.data?.config?.web?.theme||{},a={...t,...n};return Object.assign(Object.create({toCSS(){return x(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 u({error:this.subscriptionDataController.error});if(this.eligibleNonprofitsDataController.error!==null)return u({error:this.eligibleNonprofitsDataController.error})}else t="";return this.activeWidget==="redeem-transaction"?t=d` <beam-redeem-transaction
|
|
4
4
|
part="redeem-transaction"
|
|
@@ -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, WIDGET_NAMES } 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\";\nimport \"../redeem-transaction\";\nimport \"../impact-overview\";\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 storeId: this.storeId || undefined,\n postalCode: this.postalCode || undefined,\n countryCode: this.countryCode || undefined,\n widgetName: WIDGET_NAMES.subscription_management,\n version: \"1.0.0\",\n },\n });\n this.chainName = res.chain.name;\n this.storeId = res.store.id;\n this.eligibleNonprofitsDataController.data = res;\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 storeId=\"${this.storeId}\"\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","WIDGET_NAMES","result","postFindOrCreateSubscription","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, WIDGET_NAMES } 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\";\nimport \"../redeem-transaction\";\nimport \"../impact-overview\";\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 storeId: this.storeId || undefined,\n postalCode: this.postalCode || undefined,\n countryCode: this.countryCode || undefined,\n widgetName: WIDGET_NAMES.subscription_management,\n version: \"1.0.0\",\n },\n });\n this.chainName = res.chain.name;\n this.storeId = res.store.id;\n this.eligibleNonprofitsDataController.data = res;\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 storeId=\"${this.storeId}\"\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","WIDGET_NAMES","result","postFindOrCreateSubscription","html","defaults","remoteConfig","config","_cssVariableMap","content","_errorMessage","event","BeamNonprofitSelectEvent","selectedNonprofitId","cssReset","css","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{f as h,g as r,t as p,h as g,y as d}from"../chunks/lit-qtGbjGnK.esm.js";import{D as f,
|
|
1
|
+
import{f as h,g as r,t as p,h as g,y as d}from"../chunks/lit-qtGbjGnK.esm.js";import{D as f,e as y,W as S,f as w}from"../chunks/routes-sbqL3QFm.esm.js";import{c as v,d as C,A as c,e as b,b as x,_ as u}from"../chunks/localize-fH8KOrMi.esm.js";import{c as N}from"../chunks/events-Y8fYvSqM.esm.js";import{M as I}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import"./redeem-transaction.js";import"./impact-overview.js";import"../utils/logger.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../chunks/promo-pill-label-j0A8qZ0c.esm.js";import"../chunks/vendor-jQ8cxMpw.esm.js";import"./beam-partner-logos.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../utils/local-storage.js";import"../chunks/css-card-grid-7tObtoJx.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/responsive-aWj_7ZN_.esm.js";const M={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 $=Object.defineProperty,B=Object.getOwnPropertyDescriptor,o=(i,t,n,a)=>{for(var s=a>1?void 0:a?B(t,n):t,l=i.length-1,m;l>=0;l--)(m=i[l])&&(s=(a?m(t,n,s):m(s))||s);return a&&s&&$(t,n,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 c(this,this.fetchSubscription),this.eligibleNonprofitsDataController=new c(this,this.fetchEligibleNonprofits)}async firstUpdated(){if(!this.email&&!this.partnerUserId)throw new I(["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:{storeId:this.storeId||void 0,postalCode:this.postalCode||void 0,countryCode:this.countryCode||void 0,widgetName:S.subscription_management,version:"1.0.0"}});return this.chainName=t.chain.name,this.storeId=t.store.id,this.eligibleNonprofitsDataController.data=t,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
2
|
${M[this.lang].nonprofitSwapText({brandName:this.chainName||""})}
|
|
3
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"},n=this.eligibleNonprofitsDataController?.data?.config?.web?.theme||{},a={...t,...n};return Object.assign(Object.create({toCSS(){return x(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 u({error:this.subscriptionDataController.error});if(this.eligibleNonprofitsDataController.error!==null)return u({error:this.eligibleNonprofitsDataController.error})}else t="";return this.activeWidget==="redeem-transaction"?t=d` <beam-redeem-transaction
|
|
4
4
|
part="redeem-transaction"
|
|
@@ -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, WIDGET_NAMES } 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\";\nimport \"../redeem-transaction\";\nimport \"../impact-overview\";\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 storeId: this.storeId || undefined,\n postalCode: this.postalCode || undefined,\n countryCode: this.countryCode || undefined,\n widgetName: WIDGET_NAMES.subscription_management,\n version: \"1.0.0\",\n },\n });\n this.chainName = res.chain.name;\n this.storeId = res.store.id;\n this.eligibleNonprofitsDataController.data = res;\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 storeId=\"${this.storeId}\"\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","WIDGET_NAMES","result","postFindOrCreateSubscription","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, WIDGET_NAMES } 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\";\nimport \"../redeem-transaction\";\nimport \"../impact-overview\";\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 storeId: this.storeId || undefined,\n postalCode: this.postalCode || undefined,\n countryCode: this.countryCode || undefined,\n widgetName: WIDGET_NAMES.subscription_management,\n version: \"1.0.0\",\n },\n });\n this.chainName = res.chain.name;\n this.storeId = res.store.id;\n this.eligibleNonprofitsDataController.data = res;\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 storeId=\"${this.storeId}\"\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","WIDGET_NAMES","result","postFindOrCreateSubscription","html","defaults","remoteConfig","config","_cssVariableMap","content","_errorMessage","event","BeamNonprofitSelectEvent","selectedNonprofitId","cssReset","css","__decorateClass","property","state","defineCustomElement"],"mappings":"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"}
|
package/dist/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as
|
|
1
|
+
import{i as V}from"./chunks/index-V-BsPYtl.esm.js";import{i as Y}from"./chunks/index-iMRMlkF3.esm.js";import{i as _}from"./chunks/index-o7YiP4gC.esm.js";import{i as oo}from"./chunks/index-8yrr7ZZv.esm.js";import"./components/community-impact.esm.js";import"./chunks/lit-qtGbjGnK.esm.js";import"./chunks/progress-bar-Sn2QspHy.esm.js";import"./components/beam-partner-logos.esm.js";import"./chunks/localize-F31ae3j6.esm.js";import"./chunks/beam-errors-P-Lu07Ce.esm.js";import"./utils/logger.esm.js";import"./chunks/routes-31m626dW.esm.js";import"./chunks/loading-template-Av0IUyKF.esm.js";import"./chunks/css-card-grid-7tObtoJx.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-jQ8cxMpw.esm.js";import"./chunks/responsive-aWj_7ZN_.esm.js";import"./components/select-nonprofit.esm.js";import"./chunks/promo-pill-label-j0A8qZ0c.esm.js";import"./chunks/events-Y8fYvSqM.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"./components/product-details-page.esm.js";import"./utils/makeApiKeyHeader.esm.js";import"./chunks/index-Lw32NXij.esm.js";import"./utils/wait-for-element.esm.js";import"./utils/remote-session.esm.js";import"./utils/memoize-last.esm.js";import"./chunks/index-bUooCSdc.esm.js";import"./chunks/order-page-0azkW5QD.esm.js";import"./chunks/update-cart-XAwwFxhS.esm.js";import"./chunks/index-Q1vx4WtG.esm.js";import"./chunks/index-GocMPeWn.esm.js";import"./chunks/index-kxMe_AX1.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{Y as Integrations,_ as ReactComponents,oo as Utils,V as WebComponents};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as
|
|
1
|
+
import{i as V}from"./chunks/index-cekgAcEE.esm.js";import{i as Y}from"./chunks/index-FIfx75-P.esm.js";import{i as _}from"./chunks/index-EHubF2KN.esm.js";import{i as oo}from"./chunks/index-uF-Qtewb.esm.js";import"./components/community-impact.js";import"./chunks/lit-qtGbjGnK.esm.js";import"./chunks/progress-bar-Sn2QspHy.esm.js";import"./components/beam-partner-logos.js";import"./chunks/localize-fH8KOrMi.esm.js";import"./chunks/beam-errors-P-Lu07Ce.esm.js";import"./utils/logger.js";import"./chunks/routes-sbqL3QFm.esm.js";import"./chunks/loading-template-Av0IUyKF.esm.js";import"./chunks/css-card-grid-7tObtoJx.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-jQ8cxMpw.esm.js";import"./chunks/responsive-aWj_7ZN_.esm.js";import"./components/select-nonprofit.js";import"./chunks/promo-pill-label-j0A8qZ0c.esm.js";import"./chunks/events-Y8fYvSqM.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"./components/product-details-page.js";import"./utils/makeApiKeyHeader.js";import"./chunks/index-phDmC-TS.esm.js";import"./utils/wait-for-element.js";import"./utils/remote-session.js";import"./utils/memoize-last.js";import"./chunks/index-LmCqzg5B.esm.js";import"./chunks/order-page-n12hvsCN.esm.js";import"./chunks/update-cart-NEt4A8dB.esm.js";import"./chunks/index-uCfdsWtt.esm.js";import"./chunks/index-HyzTMHYl.esm.js";import"./chunks/index-fINTvZVX.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{Y as Integrations,_ as ReactComponents,oo as Utils,V 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-31m626dW.esm.js";import{S as y}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{B as h}from"../chunks/events-Y8fYvSqM.esm.js";import{logger as w}from"../utils/logger.esm.js";import{s as f}from"../chunks/index-kxMe_AX1.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-sbqL3QFm.esm.js";import{S as y}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{B as h}from"../chunks/events-Y8fYvSqM.esm.js";import{logger as w}from"../utils/logger.js";import{s as f}from"../chunks/index-fINTvZVX.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,2 +1,2 @@
|
|
|
1
|
-
import{x as C}from"../chunks/update-cart-
|
|
1
|
+
import{x as C}from"../chunks/update-cart-XAwwFxhS.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/routes-31m626dW.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";import"../chunks/events-Y8fYvSqM.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-NEt4A8dB.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/routes-sbqL3QFm.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";import"../chunks/events-Y8fYvSqM.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,2 +1,2 @@
|
|
|
1
|
-
import{i as
|
|
1
|
+
import{i as z}from"../chunks/index-Lw32NXij.esm.js";import{i as B}from"../chunks/index-bUooCSdc.esm.js";import{i as E}from"../chunks/index-Q1vx4WtG.esm.js";import{i as G}from"../chunks/index-GocMPeWn.esm.js";import{i as I}from"../chunks/index-kxMe_AX1.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../chunks/events-Y8fYvSqM.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-0azkW5QD.esm.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../chunks/update-cart-XAwwFxhS.esm.js";import"../chunks/routes-31m626dW.esm.js";import"../components/post-purchase.esm.js";import"../chunks/lit-qtGbjGnK.esm.js";import"../chunks/localize-F31ae3j6.esm.js";import"../components/redeem-transaction.esm.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../chunks/promo-pill-label-j0A8qZ0c.esm.js";import"../chunks/vendor-jQ8cxMpw.esm.js";import"../components/beam-partner-logos.esm.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/css-card-grid-7tObtoJx.esm.js";import"../components/impact-overview.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/responsive-aWj_7ZN_.esm.js";export{G as Cart,I as Logs,E as Session,B as Shopify,z as Utils};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as
|
|
1
|
+
import{i as z}from"../chunks/index-phDmC-TS.esm.js";import{i as B}from"../chunks/index-LmCqzg5B.esm.js";import{i as E}from"../chunks/index-uCfdsWtt.esm.js";import{i as G}from"../chunks/index-HyzTMHYl.esm.js";import{i as I}from"../chunks/index-fINTvZVX.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../chunks/events-Y8fYvSqM.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-n12hvsCN.esm.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../chunks/update-cart-NEt4A8dB.esm.js";import"../chunks/routes-sbqL3QFm.esm.js";import"../components/post-purchase.js";import"../chunks/lit-qtGbjGnK.esm.js";import"../chunks/localize-fH8KOrMi.esm.js";import"../components/redeem-transaction.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../chunks/promo-pill-label-j0A8qZ0c.esm.js";import"../chunks/vendor-jQ8cxMpw.esm.js";import"../components/beam-partner-logos.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/css-card-grid-7tObtoJx.esm.js";import"../components/impact-overview.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/responsive-aWj_7ZN_.esm.js";export{G as Cart,I as Logs,E as Session,B as Shopify,z as Utils};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../chunks/routes-
|
|
1
|
+
import"../chunks/routes-31m626dW.esm.js";import"../utils/logger.esm.js";import{s as i}from"../chunks/index-kxMe_AX1.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-sbqL3QFm.esm.js";import"../utils/logger.js";import{s as i}from"../chunks/index-fINTvZVX.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";export{i as sendLog};
|
|
2
2
|
//# sourceMappingURL=logs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{I as
|
|
1
|
+
import{I as W,f as j,R as l,s as q,k as v}from"../chunks/order-page-0azkW5QD.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/events-Y8fYvSqM.esm.js";import"../utils/logger.esm.js";import"../utils/network-listeners.esm.js";import"../utils/local-storage.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/cookies.esm.js";import"../utils/memoize-last.esm.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../chunks/update-cart-XAwwFxhS.esm.js";import"../chunks/routes-31m626dW.esm.js";import"../utils/remote-session.esm.js";import"../components/post-purchase.esm.js";import"../chunks/lit-qtGbjGnK.esm.js";import"../chunks/localize-F31ae3j6.esm.js";import"../components/redeem-transaction.esm.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../chunks/promo-pill-label-j0A8qZ0c.esm.js";import"../chunks/vendor-jQ8cxMpw.esm.js";import"../components/beam-partner-logos.esm.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/css-card-grid-7tObtoJx.esm.js";import"../components/impact-overview.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/responsive-aWj_7ZN_.esm.js";import"../utils/wait-for-element.esm.js";export{W as addBeamAttributesToCart,j as getCurrentCart,l as registerCartIntegration,q as showBeamOrderPageWidgets,v as trackCart};
|
|
2
2
|
//# sourceMappingURL=shopify.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{I as
|
|
1
|
+
import{I as W,f as j,R as l,s as q,k as v}from"../chunks/order-page-n12hvsCN.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/events-Y8fYvSqM.esm.js";import"../utils/logger.js";import"../utils/network-listeners.js";import"../utils/local-storage.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/cookies.js";import"../utils/memoize-last.js";import"../chunks/cart-contents-h60geKWa.esm.js";import"../chunks/update-cart-NEt4A8dB.esm.js";import"../chunks/routes-sbqL3QFm.esm.js";import"../utils/remote-session.js";import"../components/post-purchase.js";import"../chunks/lit-qtGbjGnK.esm.js";import"../chunks/localize-fH8KOrMi.esm.js";import"../components/redeem-transaction.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../chunks/promo-pill-label-j0A8qZ0c.esm.js";import"../chunks/vendor-jQ8cxMpw.esm.js";import"../components/beam-partner-logos.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/css-card-grid-7tObtoJx.esm.js";import"../components/impact-overview.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/responsive-aWj_7ZN_.esm.js";import"../utils/wait-for-element.js";export{W as addBeamAttributesToCart,j as getCurrentCart,l as registerCartIntegration,q as showBeamOrderPageWidgets,v as trackCart};
|
|
2
2
|
//# sourceMappingURL=shopify.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as R}from"../chunks/routes-
|
|
1
|
+
import{p as R}from"../chunks/routes-31m626dW.esm.js";import{B as M}from"../chunks/cart-contents-h60geKWa.esm.js";import{a as $,b as D,c as O}from"../chunks/events-Y8fYvSqM.esm.js";import{B as m}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{getCookieValue as f,setCookieValue as W}from"../utils/cookies.esm.js";import{logger as C}from"../utils/logger.esm.js";import{saveRemoteSession as K}from"../utils/remote-session.esm.js";import"../utils/local-storage.esm.js";var w=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},d=(e,t,i)=>(w(e,t,"read from private field"),i?i.call(e):t.get(e)),n=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},_=(e,t,i,s)=>(w(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),r=(e,t,i)=>(w(e,t,"access private method"),i),h,c,E,T,b,A,l,v,B,g,S,y,L,I,k;const P=4,j=`https://cdn.jsdelivr.net/npm/statsig-js@${P}/build/statsig-prod-web-sdk.min.js`,x="beam_statsig_session_id",o="data-beam-visibility",z="beam-sync-visibility",p={STATSIG_INIT:"statsig_init",CART_CREATED:"cart_created",ORDER_CREATED:"order_created",BEAM_SELECTION:"beam_selection"};class G{constructor(t){n(this,E),n(this,b),n(this,v),n(this,g),n(this,y),n(this,I),this.name="statsig",this.experiments={shouldShowBeam:!1,isLoggingEnabled:!0},n(this,h,void 0),n(this,c,void 0),n(this,l,[]),this.statsigApiKey=t.statsigApiKey}async init(t){_(this,h,t),r(this,E,T).call(this),r(this,g,S).call(this,"hide");const i=document.createElement("style");if(i.innerHTML=`
|
|
2
2
|
[${o}="hide"] beam-select-nonprofit,
|
|
3
3
|
[${o}="hide"] beam-post-purchase,
|
|
4
4
|
[${o}="hide"] beam-redeem-transaction,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as R}from"../chunks/routes-
|
|
1
|
+
import{p as R}from"../chunks/routes-sbqL3QFm.esm.js";import{B as M}from"../chunks/cart-contents-h60geKWa.esm.js";import{a as $,b as D,c as O}from"../chunks/events-Y8fYvSqM.esm.js";import{B as m}from"../chunks/beam-errors-P-Lu07Ce.esm.js";import{getCookieValue as f,setCookieValue as W}from"../utils/cookies.js";import{logger as C}from"../utils/logger.js";import{saveRemoteSession as K}from"../utils/remote-session.js";import"../utils/local-storage.js";var w=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},d=(e,t,i)=>(w(e,t,"read from private field"),i?i.call(e):t.get(e)),n=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},_=(e,t,i,s)=>(w(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),r=(e,t,i)=>(w(e,t,"access private method"),i),h,c,E,T,b,A,l,v,B,g,S,y,L,I,k;const P=4,j=`https://cdn.jsdelivr.net/npm/statsig-js@${P}/build/statsig-prod-web-sdk.min.js`,x="beam_statsig_session_id",o="data-beam-visibility",z="beam-sync-visibility",p={STATSIG_INIT:"statsig_init",CART_CREATED:"cart_created",ORDER_CREATED:"order_created",BEAM_SELECTION:"beam_selection"};class G{constructor(t){n(this,E),n(this,b),n(this,v),n(this,g),n(this,y),n(this,I),this.name="statsig",this.experiments={shouldShowBeam:!1,isLoggingEnabled:!0},n(this,h,void 0),n(this,c,void 0),n(this,l,[]),this.statsigApiKey=t.statsigApiKey}async init(t){_(this,h,t),r(this,E,T).call(this),r(this,g,S).call(this,"hide");const i=document.createElement("style");if(i.innerHTML=`
|
|
2
2
|
[${o}="hide"] beam-select-nonprofit,
|
|
3
3
|
[${o}="hide"] beam-post-purchase,
|
|
4
4
|
[${o}="hide"] beam-redeem-transaction,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"react";import{l as r}from"../chunks/lit-qtGbjGnK.esm.js";import{BeamCommunityImpact as m}from"../components/community-impact.esm.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../components/beam-partner-logos.esm.js";import"../chunks/localize-F31ae3j6.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";import"../chunks/routes-
|
|
1
|
+
import o from"react";import{l as r}from"../chunks/lit-qtGbjGnK.esm.js";import{BeamCommunityImpact as m}from"../components/community-impact.esm.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../components/beam-partner-logos.esm.js";import"../chunks/localize-F31ae3j6.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";import"../chunks/routes-31m626dW.esm.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/css-card-grid-7tObtoJx.esm.js";const t=r({tagName:m.tagName,elementClass:m,react:o,events:{}});export{t as BeamCommunityImpact,t as default};
|
|
2
2
|
//# sourceMappingURL=community-impact.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"react";import{l as r}from"../chunks/lit-qtGbjGnK.esm.js";import{BeamCommunityImpact as m}from"../components/community-impact.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../components/beam-partner-logos.js";import"../chunks/localize-fH8KOrMi.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";import"../chunks/routes-
|
|
1
|
+
import o from"react";import{l as r}from"../chunks/lit-qtGbjGnK.esm.js";import{BeamCommunityImpact as m}from"../components/community-impact.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../components/beam-partner-logos.js";import"../chunks/localize-fH8KOrMi.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";import"../chunks/routes-sbqL3QFm.esm.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/css-card-grid-7tObtoJx.esm.js";const t=r({tagName:m.tagName,elementClass:m,react:o,events:{}});export{t as BeamCommunityImpact,t as default};
|
|
2
2
|
//# sourceMappingURL=community-impact.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import a from"react";import{l as e}from"../chunks/lit-qtGbjGnK.esm.js";import{BeamCumulativeImpact as m}from"../components/cumulative-impact.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/localize-F31ae3j6.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";import"../chunks/routes-
|
|
1
|
+
import a from"react";import{l as e}from"../chunks/lit-qtGbjGnK.esm.js";import{BeamCumulativeImpact as m}from"../components/cumulative-impact.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/localize-F31ae3j6.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";import"../chunks/routes-31m626dW.esm.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";const t=e({tagName:m.tagName,elementClass:m,react:a,events:{}});export{t as BeamCumulativeImpact,t as default};
|
|
2
2
|
//# sourceMappingURL=cumulative-impact.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import a from"react";import{l as e}from"../chunks/lit-qtGbjGnK.esm.js";import{BeamCumulativeImpact as m}from"../components/cumulative-impact.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/localize-fH8KOrMi.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";import"../chunks/routes-
|
|
1
|
+
import a from"react";import{l as e}from"../chunks/lit-qtGbjGnK.esm.js";import{BeamCumulativeImpact as m}from"../components/cumulative-impact.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/localize-fH8KOrMi.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";import"../chunks/routes-sbqL3QFm.esm.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";const t=e({tagName:m.tagName,elementClass:m,react:a,events:{}});export{t as BeamCumulativeImpact,t as default};
|
|
2
2
|
//# sourceMappingURL=cumulative-impact.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import r from"react";import{l as
|
|
1
|
+
import r from"react";import{l as e}from"../chunks/lit-qtGbjGnK.esm.js";import{BeamImpactOverview as m}from"../components/impact-overview.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/routes-31m626dW.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../chunks/localize-F31ae3j6.esm.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/vendor-jQ8cxMpw.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../components/beam-partner-logos.esm.js";import"../chunks/responsive-aWj_7ZN_.esm.js";const t=e({tagName:m.tagName,elementClass:m,react:r,events:{}});export{t as BeamImpactOverview,t as default};
|
|
2
2
|
//# sourceMappingURL=impact-overview.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impact-overview.esm.js","sources":["../../src/components/impact-overview/react.ts"],"sourcesContent":["import React from \"react\";\nimport { createComponent } from \"@lit/react\";\nimport { BeamImpactOverview as _BeamImpactOverview } from \"./index\";\n\nexport const BeamImpactOverview = createComponent({\n tagName: _BeamImpactOverview.tagName,\n elementClass: _BeamImpactOverview,\n react: React,\n events: {},\n});\n\nexport default BeamImpactOverview; // default alias for use with async import utils like next/dynamic and react.lazy\n"],"names":["BeamImpactOverview","createComponent","_BeamImpactOverview","React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"impact-overview.esm.js","sources":["../../src/components/impact-overview/react.ts"],"sourcesContent":["import React from \"react\";\nimport { createComponent } from \"@lit/react\";\nimport { BeamImpactOverview as _BeamImpactOverview } from \"./index\";\n\nexport const BeamImpactOverview = createComponent({\n tagName: _BeamImpactOverview.tagName,\n elementClass: _BeamImpactOverview,\n react: React,\n events: {},\n});\n\nexport default BeamImpactOverview; // default alias for use with async import utils like next/dynamic and react.lazy\n"],"names":["BeamImpactOverview","createComponent","_BeamImpactOverview","React"],"mappings":"0nBAIO,MAAMA,EAAqBC,EAAgB,CAChD,QAASC,EAAoB,QAC7B,aAAcA,EACd,MAAOC,EACP,OAAQ,CAAA,CACV,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import r from"react";import{l as
|
|
1
|
+
import r from"react";import{l as e}from"../chunks/lit-qtGbjGnK.esm.js";import{BeamImpactOverview as m}from"../components/impact-overview.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/routes-sbqL3QFm.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../chunks/localize-fH8KOrMi.esm.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/vendor-jQ8cxMpw.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../components/beam-partner-logos.js";import"../chunks/responsive-aWj_7ZN_.esm.js";const t=e({tagName:m.tagName,elementClass:m,react:r,events:{}});export{t as BeamImpactOverview,t as default};
|
|
2
2
|
//# sourceMappingURL=impact-overview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impact-overview.js","sources":["../../src/components/impact-overview/react.ts"],"sourcesContent":["import React from \"react\";\nimport { createComponent } from \"@lit/react\";\nimport { BeamImpactOverview as _BeamImpactOverview } from \"./index\";\n\nexport const BeamImpactOverview = createComponent({\n tagName: _BeamImpactOverview.tagName,\n elementClass: _BeamImpactOverview,\n react: React,\n events: {},\n});\n\nexport default BeamImpactOverview; // default alias for use with async import utils like next/dynamic and react.lazy\n"],"names":["BeamImpactOverview","createComponent","_BeamImpactOverview","React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"impact-overview.js","sources":["../../src/components/impact-overview/react.ts"],"sourcesContent":["import React from \"react\";\nimport { createComponent } from \"@lit/react\";\nimport { BeamImpactOverview as _BeamImpactOverview } from \"./index\";\n\nexport const BeamImpactOverview = createComponent({\n tagName: _BeamImpactOverview.tagName,\n elementClass: _BeamImpactOverview,\n react: React,\n events: {},\n});\n\nexport default BeamImpactOverview; // default alias for use with async import utils like next/dynamic and react.lazy\n"],"names":["BeamImpactOverview","createComponent","_BeamImpactOverview","React"],"mappings":"8mBAIO,MAAMA,EAAqBC,EAAgB,CAChD,QAASC,EAAoB,QAC7B,aAAcA,EACd,MAAOC,EACP,OAAQ,CAAA,CACV,CAAC"}
|
package/dist/react/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{BeamCommunityImpact as
|
|
1
|
+
import{BeamCommunityImpact as O}from"./community-impact.esm.js";import{BeamCumulativeImpact as T}from"./cumulative-impact.esm.js";import{BeamImpactOverview as k}from"./impact-overview.esm.js";import{BeamSelectNonprofit as z}from"./select-nonprofit.esm.js";import{BeamRedeemTransaction as D}from"./redeem-transaction.esm.js";import{BeamPostPurchase as F}from"./post-purchase.esm.js";import{BeamSubscriptionManagement as H}from"./subscription-management.esm.js";import"react";import"../chunks/lit-qtGbjGnK.esm.js";import"../components/community-impact.esm.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../components/beam-partner-logos.esm.js";import"../chunks/localize-F31ae3j6.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.esm.js";import"../chunks/routes-31m626dW.esm.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/css-card-grid-7tObtoJx.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-jQ8cxMpw.esm.js";import"../chunks/responsive-aWj_7ZN_.esm.js";import"../chunks/events-Y8fYvSqM.esm.js";import"../components/select-nonprofit.esm.js";import"../chunks/promo-pill-label-j0A8qZ0c.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";export{O as BeamCommunityImpact,T as BeamCumulativeImpact,k as BeamImpactOverview,F as BeamPostPurchase,D as BeamRedeemTransaction,z as BeamSelectNonprofit,H as BeamSubscriptionManagement};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/react/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{BeamCommunityImpact as
|
|
1
|
+
import{BeamCommunityImpact as O}from"./community-impact.js";import{BeamCumulativeImpact as T}from"./cumulative-impact.js";import{BeamImpactOverview as k}from"./impact-overview.js";import{BeamSelectNonprofit as z}from"./select-nonprofit.js";import{BeamRedeemTransaction as D}from"./redeem-transaction.js";import{BeamPostPurchase as F}from"./post-purchase.js";import{BeamSubscriptionManagement as H}from"./subscription-management.js";import"react";import"../chunks/lit-qtGbjGnK.esm.js";import"../components/community-impact.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../components/beam-partner-logos.js";import"../chunks/localize-fH8KOrMi.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/logger.js";import"../chunks/routes-sbqL3QFm.esm.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/css-card-grid-7tObtoJx.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-jQ8cxMpw.esm.js";import"../chunks/responsive-aWj_7ZN_.esm.js";import"../chunks/events-Y8fYvSqM.esm.js";import"../components/select-nonprofit.js";import"../chunks/promo-pill-label-j0A8qZ0c.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";export{O as BeamCommunityImpact,T as BeamCumulativeImpact,k as BeamImpactOverview,F as BeamPostPurchase,D as BeamRedeemTransaction,z as BeamSelectNonprofit,H as BeamSubscriptionManagement};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"react";import{l as r}from"../chunks/lit-qtGbjGnK.esm.js";import{BeamPostPurchase as t}from"../components/post-purchase.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/cookies.esm.js";import"../chunks/localize-F31ae3j6.esm.js";import"../utils/logger.esm.js";import"../utils/local-storage.esm.js";import"../chunks/routes-
|
|
1
|
+
import o from"react";import{l as r}from"../chunks/lit-qtGbjGnK.esm.js";import{BeamPostPurchase as t}from"../components/post-purchase.esm.js";import"../chunks/beam-errors-P-Lu07Ce.esm.js";import"../utils/cookies.esm.js";import"../chunks/localize-F31ae3j6.esm.js";import"../utils/logger.esm.js";import"../utils/local-storage.esm.js";import"../chunks/routes-31m626dW.esm.js";import"../components/redeem-transaction.esm.js";import"../chunks/lodash-P8OIs-at.esm.js";import"../chunks/progress-bar-Sn2QspHy.esm.js";import"../chunks/promo-pill-label-j0A8qZ0c.esm.js";import"../chunks/vendor-jQ8cxMpw.esm.js";import"../components/beam-partner-logos.esm.js";import"../chunks/loading-template-Av0IUyKF.esm.js";import"../chunks/css-card-grid-7tObtoJx.esm.js";import"../chunks/events-Y8fYvSqM.esm.js";import"../components/impact-overview.esm.js";import"../chunks/is-all-html-elements-SdSkxirh.esm.js";import"../chunks/responsive-aWj_7ZN_.esm.js";import"../chunks/cart-contents-h60geKWa.esm.js";const m=r({tagName:t.tagName,elementClass:t,react:o,events:{}});export{m as BeamPostPurchase,m as default};
|
|
2
2
|
//# sourceMappingURL=post-purchase.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-purchase.esm.js","sources":["../../src/components/post-purchase/react.ts"],"sourcesContent":["import React from \"react\";\nimport { createComponent } from \"@lit/react\";\nimport { BeamPostPurchase as _BeamPostPurchase } from \"./index\";\n\nexport const BeamPostPurchase = createComponent({\n tagName: _BeamPostPurchase.tagName,\n elementClass: _BeamPostPurchase,\n react: React,\n events: {},\n});\n\nexport default BeamPostPurchase; // default alias for use with async import utils like next/dynamic and react.lazy\n"],"names":["BeamPostPurchase","createComponent","_BeamPostPurchase","React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"post-purchase.esm.js","sources":["../../src/components/post-purchase/react.ts"],"sourcesContent":["import React from \"react\";\nimport { createComponent } from \"@lit/react\";\nimport { BeamPostPurchase as _BeamPostPurchase } from \"./index\";\n\nexport const BeamPostPurchase = createComponent({\n tagName: _BeamPostPurchase.tagName,\n elementClass: _BeamPostPurchase,\n react: React,\n events: {},\n});\n\nexport default BeamPostPurchase; // default alias for use with async import utils like next/dynamic and react.lazy\n"],"names":["BeamPostPurchase","createComponent","_BeamPostPurchase","React"],"mappings":"q9BAIO,MAAMA,EAAmBC,EAAgB,CAC9C,QAASC,EAAkB,QAC3B,aAAcA,EACd,MAAOC,EACP,OAAQ,CAAA,CACV,CAAC"}
|