import * as lit_html from 'lit-html';
import * as lit from 'lit';
import { LitElement } from 'lit';
import { g as getChainNonprofits, a as getImpact } from '../chunks/routes-D6Gtw6kZ.esm.js';
import { b as TNumericId, L as LANGUAGES, d as TCart } from '../chunks/utils-BPcZ5h8J.esm.js';
import './select-subscription-nonprofit.js';
import './subscription-impact.js';
import 'lodash-es/debounce';
import 'lodash-es/isEqual';
import 'lodash';
import './beam-partner-logos.js';
interface RequiredDataPropsWithEmail {
email: string;
apiKey: string;
subscriptionId: string;
}
interface RequiredDataPropsWithPartnerUserId {
partnerUserId: string;
apiKey: string;
subscriptionId: string;
}
type TRequiredDataProps = RequiredDataPropsWithEmail | RequiredDataPropsWithPartnerUserId;
type TIAPIV3PersonalImpact = Awaited>["personal"];
type TIAPIV3EligibleNonprofits = Awaited>["nonprofits"];
type TIAPIV3EligibleNonprofitConfig = Awaited>["config"];
declare class BeamSubscriptionManagement extends LitElement {
static tagName: string;
baseUrl: string;
apiKey: TRequiredDataProps["apiKey"];
subscriptionId: TRequiredDataProps["subscriptionId"];
storeId?: number;
email?: RequiredDataPropsWithEmail["email"];
partnerUserId?: RequiredDataPropsWithPartnerUserId["partnerUserId"];
postalCode?: string;
countryCode?: string;
selectedNonprofitId?: TNumericId;
lang: LANGUAGES;
cart?: TCart;
debug: boolean;
draftConfig: boolean;
get configLang(): LANGUAGES;
private activeWidget;
private nonprofitId;
private beamUserId;
private eligibleNonprofits;
private showAllTiles;
private isMobile;
private dropdownVisible;
private emojis;
private subscriptionDataController;
private eligibleNonprofitsDataController;
private personalImpactDataController;
firstUpdated(): Promise;
loadWidget(): Promise;
fetchEligibleNonprofits(): Promise<{
chain: {
name: string;
logoUrl: string | null;
logoLockupUrl?: string | null;
communityImpactUrl: string | null;
donationTypeName: string | null;
matchDonationTypeName: string | null;
};
config: {
web: {
title: string;
description: string;
promoDescriptionPrefix?: string;
promoDescription?: string;
confirmButton?: string;
confirmedButton?: string;
collapsedButton?: string;
theme?: {
[key: string]: unknown;
} | null;
nonprofitSelectedHeader?: string;
nonprofitUnselectedHeader?: string;
dynamicStrings?: {
[key: string]: string;
} | null;
additionalStrings?: {
[key: string]: string;
} | null;
disableAnimation?: boolean;
promo?: {
"promo-text-long": string;
"promo-text-short": string;
"promo-cause-alt-text": string;
};
};
mobileWeb?: {
title: string;
description: string;
nonprofitSelectedHeader?: string;
nonprofitUnselectedHeader?: string;
};
mobile: {
title: string;
description: string;
nonprofitSelectedHeader?: string;
nonprofitUnselectedHeader?: string;
};
enableNonprofitDeselection?: boolean;
} & {
web?: {
redeemButtonText?: string;
};
mobileWeb?: {
redeemButtonText?: string;
};
mobile?: {
redeemButtonText?: string;
};
};
nonprofits: {
imageUrl: Partial & Partial;
nonprofit: {
id: number;
name: string;
cause: string | null;
causeIconUrl: string | null;
causeIconSelectedUrl: string | null;
causeColor: string | null;
extensibility?: {
causeIconUrl?: string | null;
causeIconSelectedUrl?: string | null;
causeIconAndBackgroundUrl?: string | null;
};
website: string | null;
websiteLinkText: string;
badge?: string;
includeInPersonalImpact?: boolean;
};
impact: {
description: string | null;
goalCompletionText: string;
goalProgressText: string;
goalProgressPercentage: number;
};
promo?: {
type?: string;
isActive: boolean;
multiplier: number | null;
} | null;
}[];
store: {
id: number;
};
region: {
id: string | null;
};
promos?: {
validatedPromoCodes: {
promoCodeId: string | null;
promoCodeGroupId?: string | null;
promoId?: number;
validatedAt: string;
apply: boolean;
}[];
};
extensibility?: {
excludeB2BOrders?: boolean;
};
settings?: {
excludeDonationsForRecurringTransactions: boolean;
};
}>;
fetchSubscription(): Promise<{
beamUserId: string;
remoteSubscriptionId: string;
internalSubscriptionId: string;
settings?: {
excludeDonationsForRecurringTransactions: boolean;
};
nonprofit: {
id: number;
name?: string;
} | null;
}>;
fetchImpact(): Promise<{
chain: {
name: string;
logoUrl: string | null;
logoLockupUrl?: string | null;
communityImpactUrl: string | null;
donationTypeName: string | null;
matchDonationTypeName: string | null;
};
store: {
name: string | null;
displayName: string | null;
communityPageURL: string | null;
};
config: {
web: {
title: string;
description: string;
promoDescriptionPrefix?: string;
promoDescription?: string;
confirmButton?: string;
confirmedButton?: string;
collapsedButton?: string;
theme?: {
[key: string]: unknown;
} | null;
nonprofitSelectedHeader?: string;
nonprofitUnselectedHeader?: string;
dynamicStrings?: {
[key: string]: string;
} | null;
additionalStrings?: {
[key: string]: string;
} | null;
disableAnimation?: boolean;
promo?: {
"promo-text-long": string;
"promo-text-short": string;
"promo-cause-alt-text": string;
};
};
mobileWeb?: {
title: string;
description: string;
nonprofitSelectedHeader?: string;
nonprofitUnselectedHeader?: string;
};
mobile: {
title: string;
description: string;
nonprofitSelectedHeader?: string;
nonprofitUnselectedHeader?: string;
};
enableNonprofitDeselection?: boolean;
};
personal: {
imageUrl: string | null;
nonprofit: {
id: number;
name: string;
cause: string | null;
causeIconUrl: string | null;
causeIconSelectedUrl: string | null;
causeColor: string | null;
extensibility?: {
causeIconUrl?: string | null;
causeIconSelectedUrl?: string | null;
causeIconAndBackgroundUrl?: string | null;
};
website: string | null;
websiteLinkText: string;
badge?: string;
includeInPersonalImpact?: boolean;
};
impact: {
description: string | null;
goalCompletionText: string;
goalProgressText: string;
goalProgressPercentage: number;
};
share: {
imageUrl: string | null;
};
filters?: string[];
}[];
community: {
imageUrl: string | null;
nonprofit: {
id: number;
name: string;
cause: string | null;
causeIconUrl: string | null;
causeIconSelectedUrl: string | null;
causeColor: string | null;
extensibility?: {
causeIconUrl?: string | null;
causeIconSelectedUrl?: string | null;
causeIconAndBackgroundUrl?: string | null;
};
website: string | null;
websiteLinkText: string;
badge?: string;
includeInPersonalImpact?: boolean;
};
impact: {
description: string | null;
goalCompletionText: string;
goalProgressText: string;
goalProgressPercentage: number;
};
share: {
imageUrl: string | null;
};
filters?: string[];
}[];
promo: {
type?: string;
isActive: boolean;
multiplier: number | null;
} | null;
promoAssetUrl: string | null;
personalImpactAssetUrl: string | null;
settings?: {
excludeDonationsForRecurringTransactions: boolean;
};
}>;
getDisplayablePreviousImpacts(): {
imageUrl: string | null;
nonprofit: {
id: number;
name: string;
cause: string | null;
causeIconUrl: string | null;
causeIconSelectedUrl: string | null;
causeColor: string | null;
extensibility?: {
causeIconUrl?: string | null;
causeIconSelectedUrl?: string | null;
causeIconAndBackgroundUrl?: string | null;
};
website: string | null;
websiteLinkText: string;
badge?: string;
includeInPersonalImpact?: boolean;
};
impact: {
description: string | null;
goalCompletionText: string;
goalProgressText: string;
goalProgressPercentage: number;
};
share: {
imageUrl: string | null;
};
filters?: string[];
}[];
handleSwapNonprofitButtonClick(): void;
handleBackToSubscriptionImpactButtonClick(): void;
handleSupportAgainButtonClick(nonprofitId: TNumericId, nonprofitName: string): void;
handleNonprofitSelect(event: Event): void;
isNonprofitEligible(nonprofitId: TNumericId): boolean;
shouldDisplayProgressBar(progressValue: number): boolean;
get cssVariables(): any;
static styles: lit.CSSResult[];
private renderPreviousImpactTiles;
render(): "" | lit_html.TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
"beam-subscription-management": BeamSubscriptionManagement;
}
}
export { BeamSubscriptionManagement };
export type { TIAPIV3EligibleNonprofitConfig, TIAPIV3EligibleNonprofits, TIAPIV3PersonalImpact };