UNPKG

@fewings/react

Version:
42 lines (36 loc) 1.35 kB
import * as React$1 from 'react'; import { ReactNode, Dispatch, SetStateAction } from 'react'; import * as react_jsx_runtime from 'react/jsx-runtime'; interface OverlayBaseProps<Resolve> { resolve: (v: Resolve) => void; reject: (reason: any) => void; } interface OverlayOptions { closeOnClickOutside?: boolean; } interface OverlayItem<Resolve> { id: number; render: (props: OverlayBaseProps<Resolve>) => ReactNode; resolve: (v: Resolve) => void; reject: (reason: any) => void; options?: OverlayOptions; } interface OverlayContextProps { items: OverlayItem<any>[]; setItems: Dispatch<SetStateAction<OverlayItem<any>[]>>; idRef: { current: number; }; } declare function useOverlay(): { open: <Resolve>(render: (props: OverlayBaseProps<Resolve>) => ReactNode, options?: OverlayOptions) => Promise<Resolve>; closeAll: () => void; }; interface Props { children: ReactNode; containerStyle?: React.CSSProperties; containerClassName?: string; } declare function OverlayProvider({ children, containerStyle, containerClassName, }: Props): react_jsx_runtime.JSX.Element; declare const OverlayContext: React$1.Context<OverlayContextProps>; export { type OverlayBaseProps, OverlayContext, type OverlayContextProps, type OverlayItem, type OverlayOptions, OverlayProvider, useOverlay };