UNPKG

@namiml/web-sdk

Version:

Subscription monetization infrastructure — drop-in SDK with no-code paywalls, onboarding flows, A/B testing for web

65 lines (64 loc) 2.28 kB
import { IPaywall, type NamiFlow, type NamiFlowAnimation, type NamiCampaign, type NamiPaywallLaunchContext } from '@namiml/sdk-core'; import { LitElement, TemplateResult } from 'lit'; declare class PaywallComponent extends LitElement { campaign: NamiCampaign | undefined; paywall: IPaywall | undefined; flow: NamiFlow | undefined; pages: IPaywall[]; private currentOffset; private presentationStyle; private _sheetEntranceActive; private context; private formFactor; private timeSpentOnPaywall; private type; private value; private animation; private _originalBodyStyles; private _originalDocumentStyles; private _swipeHandler; private _halfSheetAbortController?; private _savedScrollY; private _sheetDragStartY; private _sheetIsDragging; private _dismissThreshold; private _detachFocusSpeechListeners?; private _boundHandleKeyDownEvent; constructor(type: string | undefined, value: string, context: NamiPaywallLaunchContext); private applyPresentationHostClasses; setPaywallData(): void; private getPresentationStyle; private get isHalfSheet(); private get isSheet(); private get isOverlaySheet(); private get isModal(); private get isOverlay(); connectedCallback(): void; disconnectedCallback(): void; private _stylesAlreadySaved; private setOriginalStyles; private restoreStyles; private handleKeyDownEvent; private handleBackdropClick; private animateSheetDismiss; private handleSwipeEvent; private setupHalfSheetDragTracking; private setupHalfSheetFocusTrap; firstUpdated(): void; updated(changedProperties: Map<string, unknown>): void; static styles: import("lit").CSSResult[]; private getAnimationStyles; private updatePages; private animateFullscreenEntry; private _captureExitOverlay; private _slideExitOverlayAway; flowNavigateToScreen(next: IPaywall, animation: NamiFlowAnimation): Promise<void>; getSelectedSlideIndexForCurrentCarousel(): number | undefined; private renderFlow; private renderFlowContainer; private renderHalfSheet; private renderModal; private renderPaywall; render(): TemplateResult; } export { PaywallComponent };