react-web-native-sketch
Version:
[TODO: We need an overview of how this can be used via npm vs as a local package]
45 lines (44 loc) • 1.67 kB
TypeScript
import { ACTION_SHEETS_IDS } from "../../utils/enums";
export declare enum TypeKeys {
SHOW_ACTION_SHEET = "instacar/dialog/SHOW_ACTION_SHEET",
ADD_SNACKBAR = "instacar/dialog/ADD_SNACKBAR",
REMOVE_SNACKBAR = "instacar/dialog/REMOVE_SNACKBAR",
REMOVE_FIRST_SNACKBAR = "instacar/dialog/REMOVE_FIRST_SNACKBAR",
HIDE_SNACKBAR = "instacar/dialog/HIDE_SNACKBAR"
}
export interface ShowActionSheetAction {
type: TypeKeys.SHOW_ACTION_SHEET;
sheetId?: ACTION_SHEETS_IDS;
show?: boolean;
}
export interface AddSnackbarAction {
type: TypeKeys.ADD_SNACKBAR;
message: string;
}
export interface RemoveSnackbarAction {
type: TypeKeys.REMOVE_SNACKBAR;
id: number;
}
export interface HideSnackbarAction {
type: TypeKeys.HIDE_SNACKBAR;
id: number;
}
export interface RemoveFirstSnackbarAction {
type: TypeKeys.REMOVE_FIRST_SNACKBAR;
}
export interface Snack {
message: string;
id: number;
open: boolean;
}
export interface DialogState {
sheetId?: ACTION_SHEETS_IDS;
sheetVisible?: boolean;
snackbarMessages: Array<Snack>;
}
export declare type ActionTypes = ShowActionSheetAction | AddSnackbarAction | RemoveSnackbarAction | RemoveFirstSnackbarAction | HideSnackbarAction;
export declare const dialog: (state: DialogState | undefined, action: ActionTypes) => DialogState;
export declare function showActionSheet(sheetId?: ACTION_SHEETS_IDS, show?: boolean): ShowActionSheetAction;
export declare const addSnackbar: (message: string) => AddSnackbarAction;
export declare const removeSnackbar: (id: number) => RemoveSnackbarAction;
export declare const hideSnackbar: (id: number) => HideSnackbarAction;