@sparkpost/matchbox
Version:
A React UI component library
33 lines (32 loc) • 779 B
TypeScript
/**
* Reusable hook to be used with the Modal component
*/
declare type UseModalProps = {
initialOpen?: boolean;
id?: string;
};
declare function useModal({ initialOpen, id }?: {
initialOpen?: boolean;
id?: string;
}): {
isOpen: boolean;
toggleModal: () => void;
openModal: () => void;
closeModal: () => void;
getActivatorProps: (additionalProps?: {
[k: string]: unknown;
}) => {
'aria-controls': UseModalProps['id'];
onClick: () => void;
[key: string]: unknown;
};
getModalProps: (additionalProps?: {
[k: string]: unknown;
}) => {
id?: UseModalProps['id'];
onClose: () => void;
open: boolean;
[key: string]: unknown;
};
};
export default useModal;