@lani.ground/react-modal
Version:
Modal components used in reactjs
31 lines (30 loc) • 933 B
TypeScript
import { ReactNode } from 'react';
export interface ModalConfig {
id: string;
component: (closeModal: () => Promise<void>) => JSX.Element;
name: string;
dim?: string;
centerMode?: boolean;
animation?: {
className?: string;
duration: number;
};
containerPadding?: string;
disabledScrollLock?: boolean;
disabledOutsideClose?: boolean;
onClose?: () => void;
isClosing?: boolean;
}
interface ModalContextType {
modals: ModalConfig[];
openModal: (modal: Omit<ModalConfig, 'id'>) => string;
closeModal: (id: string) => Promise<void>;
closeAllModals: () => Promise<void>;
isModalOpen: (id: string) => boolean;
}
interface ModalProviderProps {
children: ReactNode;
}
export declare function ModalProvider({ children }: ModalProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function useModalContext(): ModalContextType;
export {};