web-push-notifications
Version:
Pushwoosh web push notifications
92 lines (91 loc) • 2.26 kB
TypeScript
import { type TBellConfig } from './subscribe_widget.types';
import { type Pushwoosh } from '../../core/Pushwoosh';
export declare class PWSubscriptionButtonWidget {
widget: HTMLElement;
tooltip: HTMLElement;
popover: HTMLElement;
style: HTMLElement;
pw: Pushwoosh;
config: TBellConfig;
constructor(pw: Pushwoosh);
run(): Promise<void>;
/**
* Apply styles to element
* @param styles
* @param {HTMLElement} element
*/
private addStylesToElement;
/**
* Create container element
* @returns {HTMLElement}
*/
private createContainer;
/**
* Create styles element
* @returns {HTMLElement}
*/
private createStyle;
/**
* Create cell button element
* @returns {HTMLElement}
*/
private createBell;
/**
* Create tooltip element
* @returns {Promise<HTMLElement>}
*/
private createTooltip;
/**
* Create tooltip content element
* @returns {Promise<HTMLElement>}
*/
private createTooltipContent;
/**
* Tooltip text content depending of the permissions
* @returns {Promise<string>}
*/
private tooltipTextFactory;
/**
* Create permission denied popover element
* @returns {HTMLElement}
*/
private createPopover;
private getBrowserName;
/**
* Create permission denied popover content element
* @returns {HTMLElement}
*/
private createPopoverContent;
/**
* Return source of help images depending of the browser
* @returns {string}
*/
getImageSrc(img: string): string;
private render;
addEventListeners(): void;
/**
* Toggle visibility of popover
*/
toggleHelpPopover(): void;
/**
* Click bell button event callback
* @returns {Promise<void>}
*/
private clickBell;
/**
* On subscribe event callback
* @returns {Promise<void>}
*/
private onSubscribeEvent;
/**
* On permission denied event
* @returns {Promise<void>}
*/
private onPermissionDeniedEvent;
/**
* Out of popover click event
* @param {MessageEvent} ev
*/
clickOutOfPopover(ev: MessageEvent): void;
private onUnsubscribeEvent;
}