import { PolymorphicComponent, SizeRangeReduced } from './_shared'; import { BaseModalProps } from './BaseModal'; import { ButtonProps } from './Button'; import { CardHeaderProps, CardBodyProps, CardFooterProps } from './Card'; export declare type ModalProps = BaseModalProps & { /** * The size (width) of the `Modal` dialog content element. * * @default 'md' */ size?: SizeRangeReduced; /** * The duration for the `Modal` open/closing animations. * * @default 200 */ transitionDuration?: number; }; /** * `Modal` is an overlay component that renders a focused dialog with content and actions. * * @example * ```jsx * Open Modal}> * ... * ... * ... * * ``` */ export declare const Modal: PolymorphicComponent<'div', ModalProps>; export declare type ModalTriggerProps = ButtonProps & { /** * When an element is disabled, it may still be focusable. It works similarly to readOnly on form elements. * In this case, only aria-disabled will be set. * * @see https://reakit.io/docs/dialog/#usedialogstate */ focusable?: boolean; }; /** * `ModalTrigger` is a component that toggles the open/close state of a `Modal`. * * @example * ```jsx * Open Modal}> * ... * * ``` */ export declare const ModalTrigger: PolymorphicComponent< 'button', ModalTriggerProps >; export declare type ModalHeaderProps = CardHeaderProps & { /** * The (HTML) title of the `CloseButton` of `ModalHeader`. * * @default 'Close' */ closeLabel?: string; /** * Determines if the `CloseButton` should render. * * @default true */ showCloseLabel?: boolean; /** * The title of `ModalHeader`. */ title?: string; }; /** * `ModalHeader` is a component that displays the header content and actions of a `Modal`. * * @example * ```jsx * Open Modal}> * * ... * * ``` */ export declare const ModalHeader: PolymorphicComponent<'div', ModalHeaderProps>; export declare type ModalBodyProps = CardBodyProps & {}; /** * `ModalBody` is a component that displays the main contents a `Modal`. * * @example * ```jsx * Open Modal}> * ... * ... * ... * * ``` */ export declare const ModalBody: PolymorphicComponent<'div', ModalBodyProps>; export declare type ModalFooterProps = CardFooterProps & {}; /** * `ModalFooter` is a component that displays the footer content and actions of a `Modal`. * * @example * ```jsx * Open Modal}> * ... * * * * * ``` */ export declare const ModalFooter: PolymorphicComponent<'div', ModalFooterProps>;