UNPKG

@sv-use/core

Version:

A collection of Svelte 5 utilities.

78 lines (77 loc) 2.18 kB
type CreateWebNotificationData = { /** @default '' */ title?: string; /** @default '' */ body?: string; /** * The text direction of the notification. * @default 'auto' */ dir?: NotificationDirection; /** * The language of the notification. * @default DOMString */ lang?: string; /** * The tag ID of the notification. * @default '' */ tag?: string; /** * The URL of the image to display in the notification. * @default '' */ icon?: string; /** * Whether the notification should remain active until the user interacts with it or not. * @default false */ requireInteraction?: boolean; /** * Whether the notification should be silent or not, regardless of the device's settings. * @default false */ silent?: boolean; }; type CreateWebNotificationOptions = { /** * Whether to automatically request permission to show notifications or not. * @default true */ autoRequestPermission?: boolean; /** * A callback for when the notification is shown. * @default () => {} */ onShow?: () => void; /** * A callback for when the notification is clicked. * @default () => {} */ onClick?: () => void; /** * A callback for when the notification is closed. * @default () => {} */ onClose?: () => void; /** * A callback for when the notification has an error. * @default () => {} */ onError?: () => void; }; type CreateWebNotificationReturn = { readonly isSupported: boolean; readonly isPermissionGranted: boolean; readonly notification: Notification | null; show: () => Promise<Notification | null>; close: () => void; }; /** * Configure and display desktop notifications to the user. * @warning Cannot be used in a lifecycle hook as it relies on `onMount`. * @see https://svelte-librarian.github.io/sv-use/docs/core/create-web-notification */ export declare function createWebNotification(data?: CreateWebNotificationData, options?: CreateWebNotificationOptions): CreateWebNotificationReturn; export {};