@namiml/web-sdk
Version:
Nami Web SDK makes subscriptions & in-app purchases easy, with powerful built-in paywalls and A/B testing
42 lines (41 loc) • 1.49 kB
TypeScript
import { IPaywall } from '../types/paywall';
import { LitElement, TemplateResult } from 'lit';
import { NamiCampaign } from '../types/externals/campaign';
import type { NamiFlow } from '../nami/flow/NamiFlow';
import { type NamiFlowAnimation } from '../types/flow';
import { NamiPaywallLaunchContext } from '../nami-web';
declare class PaywallComponent extends LitElement {
campaign: NamiCampaign | undefined;
paywall: IPaywall | undefined;
flow: NamiFlow | undefined;
pages: IPaywall[];
private currentOffset;
private isAnimating;
private context;
private formFactor;
private timeSpentOnPaywall;
private type;
private value;
private animation;
private _originalBodyStyles;
private _originalDocumentStyles;
private _swipeHandler;
constructor(type: string | undefined, value: string, context: NamiPaywallLaunchContext);
setPaywallData(): void;
connectedCallback(): void;
disconnectedCallback(): void;
private setOriginalStyles;
private restoreStyles;
private handleKeyDownEvent;
private handleSwipeEvent;
firstUpdated(): void;
static styles: import("lit").CSSResult;
private getAnimationStyles;
private updatePages;
flowNavigateToScreen(next: IPaywall, animation: NamiFlowAnimation): Promise<void>;
getSelectedSlideIndexForCurrentCarousel(): number | undefined;
private renderFlow;
private renderPaywall;
render(): TemplateResult;
}
export { PaywallComponent };