UNPKG

@shopify/app-bridge-core

Version:

**[Join our team and work on libraries like this one.](https://www.shopify.ca/careers)**

64 lines (63 loc) 1.91 kB
import { ActionSet } from '../ActionSet'; import { ActionSetProps, Group, MetaAction } from '../types'; import { ClientApplication } from '../../client/types'; export declare enum Action { SHOW = "APP::TOAST::SHOW", CLEAR = "APP::TOAST::CLEAR", ACTION = "APP::TOAST::ACTION" } export interface Options { duration: number; isError?: boolean; message: string; onDismiss?: () => void; action?: { content: string; }; } export interface ClearPayload { readonly id?: string; } export interface Payload extends Options { readonly id?: string; } export interface ActionBase extends MetaAction { readonly group: typeof Group.Toast; } export interface ShowAction extends ActionBase { readonly type: typeof Action.SHOW; readonly payload: Payload; } export interface ClearAction extends ActionBase { readonly type: typeof Action.CLEAR; } export interface PrimaryAction extends ActionBase { readonly type: typeof Action.ACTION; } export type ToastAction = ShowAction | ClearAction | MetaAction; export type ShowPayload = Omit<Payload, 'action'> & { action?: { content: string; onAction: () => void; }; }; export interface ToastApi { show: (payload: ShowPayload) => void; clear: (payload: ClearPayload) => void; } export declare function show(toastMessage: Payload): ShowAction; export declare function clear(payload: ClearPayload): ClearAction; export declare function primaryAction(payload: ClearPayload): PrimaryAction; export declare class Toast extends ActionSet implements ActionSetProps<Options, Payload> { message: string; duration: number; isError?: boolean; action?: { content: string; }; constructor(app: ClientApplication, options: Options); get options(): Options; get payload(): Payload; set(options: Partial<Options>): this; dispatch(action: Action): this; }