web-push-notifications
Version:
Pushwoosh web push notifications
51 lines (50 loc) • 1.58 kB
TypeScript
import { type IInboxWidgetConfig, type TMessagesElementsType } from './inbox_widget.types';
import { type Pushwoosh } from '../../core/Pushwoosh';
import { type IInboxMessagePublic } from '../../models/InboxMessages.types';
export declare class PWInboxWidget {
pw: Pushwoosh;
widget: HTMLElement;
trigger: HTMLElement;
list: HTMLElement;
widgetParent: HTMLElement;
count: number;
messages: Array<IInboxMessagePublic>;
messagesElements: TMessagesElementsType;
readItems: Array<string>;
isOpened: boolean;
config: IInboxWidgetConfig;
defaultMargin: number;
isFixed: boolean;
constructor(pw: Pushwoosh);
run(): Promise<void>;
toggle(isOpened?: boolean): void;
private initTrigger;
private renderWidget;
private getStyle;
private configureStyle;
private getStyleFormatter;
private renderWidgetInner;
private renderMessages;
private updateCounter;
private updateInboxMessages;
openWidget(): void;
closeWidget(): void;
private positionWidget;
private customPlaceWidget;
private defaultPlaceWidget;
private alignWidgetTop;
private alignWidgetRight;
private alignWidgetLeft;
private alignWidgetBottom;
private alignWidgetElement;
private getDefaultPosition;
private addListeners;
private markVisibleItemsAsRead;
private updateReadStatus;
private updateInbox;
private performMessageAction;
private removeMessages;
private onTriggerClickHandler;
private onWidgetClickHandler;
private onWindowScrollHandler;
}