UNPKG

@beamimpact/web-sdk

Version:

The Beam SDK enables brands to connect with their customers over shared values, not transactional discounts, to build stronger loyalty. Our integration achieves this by allowing customers to (a) choose a nonprofit where the brand will donate part of their

83 lines (79 loc) 2.76 kB
import * as lit_html from 'lit-html'; import * as lit from 'lit'; import { LitElement, PropertyValues } from 'lit'; import * as lodash from 'lodash'; import '../chunks/progress-bar-0VS_AmEf.esm.js'; import '../chunks/promo-pill-label-3bA1z-la.esm.js'; import { T as TNumericId } from '../chunks/types-zbTZ8-KP.esm.js'; import { L as LANGUAGES } from '../chunks/types-aju0qrRe.esm.js'; import { T as TCart } from '../chunks/cart-contents-CMm57qu0.esm.js'; import '../chunks/openapi-spec-hjdK2L9Q.esm.js'; declare class BeamNotificationBlip extends LitElement { static get styles(): lit.CSSResult; render(): lit_html.TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { "beam-notification-blip": BeamNotificationBlip; } } interface RequiredConfig { apiKey: string; storeId: TNumericId; } declare class BeamSelectNonprofit extends LitElement { static tagName: string; baseUrl: string; apiKey?: RequiredConfig["apiKey"]; storeId?: TNumericId; countryCode?: string; postalCode?: string; cart?: TCart; selectedNonprofitId: TNumericId | null; lang: LANGUAGES; debug: boolean; draftConfig: boolean; private isMobile; private enableNonprofitDeselection; private selectionId?; private didTryToCreateNewSelectionFromCache; get configLang(): LANGUAGES; private getChainNonprofits; private postSelectNonprofit; private nonprofitListDataController; private selectionDataController; private localStorage; private getNonprofitById; private handleCartChange; connectedCallback(): Promise<void>; firstUpdated(): Promise<void>; updated(changedProperties: PropertyValues): Promise<void>; disconnectedCallback(): void; private restoreStateFromCache; private createNewSelectionForCachedNonprofit; /** * Factory for selection event handler * * Nonprofit selector implements radio-button semantics: * * If nothing is selected, tabbing into selector selects first card * * Arrow keys changes focus between cards, but doesn't select * * Enter/Space sets selection * * If a nonprofit is selected, arrow keys change focus AND selection * * Click sets selection * @param {number} id * @param {number} index * @param {{id: number}[]} nonprofits * @returns {(evt: Event) => void} */ private makeHandleSelect; evaluateBreakPoints: lodash.DebouncedFuncLeading<() => void>; get cssVariables(): any; static styles: lit.CSSResult[]; protected render(): "" | lit_html.TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { "beam-select-nonprofit": BeamSelectNonprofit; } } export { BeamSelectNonprofit };