@lucsoft/webgen
Version:
Collection of lucsofts Components
26 lines (25 loc) • 1.14 kB
TypeScript
import '../css/dialog.webgen.static.css';
import { ButtonStyle } from "../types";
import { ViewOptions, ViewOptionsFunc } from "../types/ViewOptions";
import { Color } from "./Color";
declare type DialogeFinal = void | undefined | 'close' | 'remove';
declare type DialogButtonAction = ((() => DialogeFinal) | (() => Promise<DialogeFinal>) | 'close' | 'remove');
export declare type DialogButton = {
label: string;
action: DialogButtonAction;
color: Color;
state?: ButtonStyle.Inline | ButtonStyle.Normal | ButtonStyle.Secondary;
};
export declare type DialogData = {
addButton: (label: string, action: DialogButtonAction, style?: DialogButton["color"], state?: DialogButton["state"]) => DialogData;
setTitle: (text: string) => DialogData;
allowUserClose: () => DialogData;
addClass: (...classes: string[]) => DialogData;
onClose: (action: () => void) => DialogData;
close: () => DialogData;
open: () => DialogData;
remove: () => void;
unsafeViewOptions: <TypeT>() => ViewOptions<TypeT>;
};
export declare function Dialog<State>(render: ViewOptionsFunc<State>): DialogData;
export {};