UNPKG

@namiml/web-sdk

Version:

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

52 lines (51 loc) 1.85 kB
import { CSSResult, PropertyValues } from 'lit'; import { NamiElement } from '../NamiElement'; import { type TCountdownTimerTextComponent, type TSemverObj } from '@namiml/sdk-core'; export declare class NamiCountdownTimerText extends NamiElement { component: TCountdownTimerTextComponent; inFocusedState: boolean; scaleFactor: number; minSDKVersion: TSemverObj; private timer; private startTime; private initialDuration; private hasEmittedCompletion; private timerState; private static readonly DEFAULT_LABELS; private static readonly DEFAULT_UNITS; private static readonly SECONDS_PER_DAY; private static readonly SECONDS_PER_HOUR; private static readonly SECONDS_PER_MINUTE; private static readonly TIMER_INTERVAL_MS; protected firstUpdated(): void; disconnectedCallback(): void; private getTimerId; private loadTimerState; private saveTimerState; private getSavedTimerState; private startTimer; private initializeTimerState; private restoreTimerFromState; private resetTimerState; private onTimerTick; private clearTimer; private calculateTimeValues; private calculateTotalRemainingSeconds; private calculateDurationRemainingSeconds; private calculateTargetDateTimeRemainingSeconds; private calculateCurrentRemainingSeconds; private convertSecondsToTimeUnits; private formatValue; private emitCompletionEvent; updated(changedProperties: PropertyValues): void; private updateAccessibilityAttributes; private handleComponentChange; protected styles(): CSSResult; render(): import("lit-html").TemplateResult<1>; private buildUnitsToRender; private normalizeLabelPosition; private shouldDisplayLabels; private getLabel; private renderTimerUnits; private renderUnit; }