@intuitionrobotics/thunderstorm
Version:
56 lines (55 loc) • 2.04 kB
TypeScript
import * as React from "react";
import { Module } from "@intuitionrobotics/ts-common";
import { Stylable, StylableBuilder } from "../../tools/Stylable";
import { Color } from "../../components/types";
export declare enum ToastType {
"success" = 0,
"error" = 1,
"info" = 2
}
type PositionVertical = "bottom" | "top";
type PositionHorizontal = "left" | "right" | "center";
export type Toast_Model = Stylable & {
duration: number;
bgColor: Color;
type: ToastType;
positionVertical?: PositionVertical;
positionHorizontal?: PositionHorizontal;
content: React.ReactNode;
actions: React.ReactElement[];
};
export interface ToastListener {
__showToast(toast?: Toast_Model): void;
}
export declare class ToastBuilder extends StylableBuilder {
private bgColor;
private duration;
private type;
private positionVertical;
private positionHorizontal;
private actions;
private content;
setType(type: ToastType): this;
setContent(content: React.ReactNode): this;
setBackground(bgColor: Color): this;
setDuration(duration: number): this;
setActions(actions: React.ReactElement[]): this;
addActions(...actions: React.ReactElement[]): this;
setVerticalPosition(positionVertical: PositionVertical): this;
setHorizontalPosition(positionHorizontal: PositionHorizontal): this;
show(): void;
}
export declare class ToastModule_Class extends Module<{}> {
private DefaultBuilder;
constructor();
setDefaultBuilder(DefaultBuilder: ToastBuilder): void;
toastError(errorMessage: React.ReactNode, interval?: number, builder?: ToastBuilder): void;
toastSuccess(successMessage: React.ReactNode, interval?: number, builder?: ToastBuilder): void;
toastInfo(infoMessage: React.ReactNode, interval?: number, builder?: ToastBuilder): void;
private toast;
adjustStringMessage: (_message: string) => string;
hideToast: (toast?: Toast_Model) => void;
private toastImpl;
}
export declare const ToastModule: ToastModule_Class;
export {};