UNPKG

@yamada-ui/react

Version:

React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion

51 lines (50 loc) 1.75 kB
import { HTMLProps, PropGetter } from "../../core/components/index.types.js"; import "../../core/index.js"; import { UseDisclosureProps } from "../../hooks/use-disclosure/use-disclosure.js"; //#region src/components/modal/use-modal.d.ts interface UseModalProps extends HTMLProps, Omit<UseDisclosureProps, "timing"> { /** * If `true`, the modal will close when the `Esc` key is pressed. * * @default true */ closeOnEsc?: boolean; /** * If `true`, the modal will close when the overlay is clicked. * * @default true */ closeOnOverlay?: boolean; /** * Callback invoked when the escape key is pressed and focus is within modal. */ onEsc?: () => void; } declare const useModal: ({ closeOnEsc, closeOnOverlay, defaultOpen, open: openProp, onClose: onCloseProp, onEsc, onOpen: onOpenProp, ...rest }?: UseModalProps) => { open: boolean; getBodyProps: PropGetter<"div", undefined, undefined>; getCloseButtonProps: PropGetter<"button", undefined, undefined>; getCloseTriggerProps: PropGetter<"button", undefined, undefined>; getContentProps: PropGetter<"section", undefined, undefined>; getFooterProps: PropGetter<"footer", undefined, undefined>; getHeaderProps: PropGetter<"header", undefined, undefined>; getOpenTriggerProps: PropGetter<"button", undefined, undefined>; getOverlayProps: PropGetter<"div", undefined, undefined>; getRootProps: PropGetter<"div", undefined, undefined>; getTitleProps: PropGetter<"h2", undefined, undefined>; onClose: () => void | Promise<void>; onOpen: () => void | Promise<void>; }; type UseModalReturn = ReturnType<typeof useModal>; //#endregion export { UseModalProps, UseModalReturn, useModal }; //# sourceMappingURL=use-modal.d.ts.map