/// import { ToastPosition } from "react-hot-toast"; import { Action, RequiredToasterProps } from "../../types"; import { BoxProps } from "../Box"; import { IconType } from "../Icon"; export type SnackbarToasterProps = RequiredToasterProps; type SnackbarPosition = Extract; type SnackbarSharedProps = { position?: SnackbarPosition; duration?: number; }; type SnackbarWithComponentProps = { component: React.ReactNode; message?: never; }; type SnackbarWithMessageProps = { message: React.ReactNode; component?: never; }; type SnackbarIsVisibleProp = { isVisible: boolean; }; type SnackbarOtherProps = { action?: Action; icon?: IconType; disableClose?: boolean; }; export type SnackbarProps = Omit & SnackbarOtherProps & SnackbarSharedProps & BoxProps; export type SnackbarRootProps = BoxProps; export type SnackbarIconProps = Pick; export type SnackbarTextProps = { children: React.ReactNode; }; export type SnackbarContextProps = SnackbarToasterProps & SnackbarSharedProps; export type SnackbarProviderProps = SnackbarToasterProps & SnackbarSharedProps & Omit; type ShowSnackbarWithMessageProps = SnackbarWithMessageProps & SnackbarOtherProps & SnackbarSharedProps & BoxProps; type ShowSnackbarWithComponentProps = SnackbarWithComponentProps & SnackbarSharedProps; export type ShowSnackbarProps = ShowSnackbarWithMessageProps | ShowSnackbarWithComponentProps; type SnackbarWithMessageHookProps = SnackbarWithMessageProps & SnackbarOtherProps & SnackbarSharedProps & SnackbarIsVisibleProp & BoxProps; type SnackbarWithComponentHookProps = SnackbarWithComponentProps & SnackbarSharedProps & SnackbarIsVisibleProp; export type SnackbarHookProps = SnackbarWithMessageHookProps | SnackbarWithComponentHookProps; export {};