@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.
59 lines (51 loc) • 1.42 kB
Flow
// @flow
/*
DOCUMENTATION: https://orbit.kiwi/components/toast/
*/
import * as React from "react";
import type { Globals } from "../common/common.js.flow";
export type Placement =
| "top-left"
| "top-center"
| "top-right"
| "bottom-left"
| "bottom-center"
| "bottom-right";
export type Toast = {|
+id: string,
+icon?: React.Element<any>,
+visible?: boolean,
+children: React.Node,
+dismissTimeout?: number,
+onUpdateHeight: (id: string, height: number) => void,
+onMouseEnter: () => void,
+onMouseLeave: () => void,
+onDismiss: () => void,
+placement: Placement,
+offset?: number,
+ariaLive: "polite" | "assertive",
|};
export type Props = {|
+topOffset?: number,
+leftOffset?: number,
+rightOffset?: number,
+bottomOffset?: number,
+gutter?: number,
+dismissTimeout?: number,
+placement?: Placement,
...Globals,
|};
type Options = {|
icon?: React.Element<any>,
loading?: React.Node,
success?: string | ((data: any) => string),
error?: string | ((err: any) => string),
|};
export type createToastType = (
message: React.Node,
options?: {| icon?: React.Element<any> |},
) => void;
export type createToastPromiseType = (promise: Promise<void>, options?: Options) => Promise<void>;
declare export var ToastRoot: React.ComponentType<Props>;
declare export var createToast: createToastType;
declare export var createToastPromise: createToastPromiseType;