import { ReactNode } from 'react'; import { TSize } from '../../types'; export interface IModalProps { /** * the content to render inside the accordion */ children: ReactNode; /** * apply custom class */ className?: string; /** * should the modal close if the user clicks outside of it * @default true */ closeOnOutsideClick?: boolean; /** * should a close button be shown to the user * displayed only if has `slots.header` * @default true */ hasCloseButton?: boolean; /** * set true to initially render the Modal is visible on the page */ isVisible?: boolean; /** * a function that fires on change of the modal being opened and closes. It returns `isOpen` boolean */ onChange?: (isOpen: boolean) => void; /** * controls the size of the breadcrumbs * @default 'sm' */ size?: TSize; /** * the header and footer of the modal */ slots?: { /** * @deprecated use `slots.header` instead */ before?: ReactNode; /** * @deprecated use `slots.footer` instead */ after?: ReactNode; header?: ReactNode; footer?: ReactNode; }; /** * an element to render on the page, when clicked it will open the modal */ trigger?: ReactNode; /** * define a custom width for your modal content, it will scale down responsively * @default 800px */ width?: string; /** * Optionally selects the node with the id if it exists, or create it and append it to the specified root (by default document.body). * @link https://floating-ui.com/docs/floatingportal#id */ idToAppend?: string; /** * Determines whether the modal has an overlay. * If set to `true`, an overlay will be displayed behind the side sheet. * @default true */ hasOverlay?: boolean; /** * Determines whether the modal has animation when entering. * @default true */ hasAnimation?: boolean; } //# sourceMappingURL=types.d.ts.map