UNPKG

@nu-art/thunder

Version:

Thunder - React & Typescript based frontend framework

63 lines (62 loc) 2.03 kB
import * as React from "react"; import { Module } from "@nu-art/ts-common"; import { Color, Properties } from "csstype"; export declare type Stylable = { style?: Properties; className?: string; }; export declare type Dialog_Model = Stylable & { zIndex: number; title?: React.ReactNode; content: React.ReactNode; buttons: DialogButtonModel[]; overlayColor?: Color; actionsStyle?: Properties; allowIndirectClosing?: boolean; }; export declare type DialogButtonModel = Stylable & { content: React.ReactNode; action: () => void; }; export interface DialogListener { showDialog(dialogModel?: Dialog_Model): void; } export declare class DialogModule_Class extends Module<{}> { private showDialog; close: () => void; show: (params: Dialog_Model) => void; } export declare const DialogModule: DialogModule_Class; export declare class StylableBuilder { style?: Properties; className?: string; setStyle(style: Properties): this; clearInlineStyle(): this; addStyle(style: Properties): this; setClassName(className: string): this; } export declare class DialogButton_Builder extends StylableBuilder { content: React.ReactNode; action: () => void; setContent(content: React.ReactNode): this; setAction(action: () => void): this; build(): DialogButtonModel; } export declare class Dialog_Builder extends StylableBuilder { content: React.ReactNode; zIndex: number; title: React.ReactNode; buttons: DialogButtonModel[]; overlayColor: Color; allowIndirectClosing: boolean; actionsStyle: Properties; constructor(content: React.ReactNode); setAllowIndirectClosing(allowIndirectClosing: boolean): this; setOverlayColor(overlayColor: Color): this; setActionsStyle(actionsStyle: Properties): this; setTitle(title: React.ReactNode): this; setButtons(...buttons: DialogButtonModel[]): this; addButton(button: DialogButtonModel): this; setZIndex(zIndex?: number): this; show(): void; }