import { Root, RootProps } from './modal-root';
import { Trigger, TriggerProps } from './modal-trigger';
import { Content, ContentProps } from './modal-content';
import { Title, TitleProps } from './modal-title';
import { Description, DescriptionProps } from './modal-description';
import { Overlay, OverlayProps } from './modal-overlay';
import { Group, GroupProps } from './modal-group';
import { Close, CloseProps } from './modal-close';
import { Image, ImageProps } from './modal-image';
type ModalProps = {
Root: RootProps;
Trigger: TriggerProps;
Content: ContentProps;
Title: TitleProps;
Description: DescriptionProps;
Overlay: OverlayProps;
Group: GroupProps;
Close: CloseProps;
Image: ImageProps;
};
/**
* Modal is a dialog that appears on top of the main content and moves the system into a special mode requiring user interaction.
* It's commonly used for important information that requires immediate attention, or to gather user input without leaving the current page.
*
* @component
*
* @example
* // Basic usage
*
*
*
*
*
* Modal Title
*
* Modal content goes here.
*
*
*
* @example
* // Advanced usage with action buttons and groups
*
*
*
*
*
* Confirm Action
*
*
* Are you sure you want to proceed with this action?
*
*
*
*
*
*
*
*
*
*/
declare const Modal: typeof Root & {
/**
* Trigger component that opens the modal when clicked.
* Must be passed a single child component that will be used as the trigger.
*
* @component
*
* @example
*
*
*
*/
Trigger: typeof Trigger;
/**
* Content component that contains the modal's content.
* Handles the positioning and scrolling behavior of the modal content.
*
* @component
*
* @example
*
* Title
* Content
*
*/
Content: typeof Content;
/**
* An accessible title to be announced when the dialog is opened.
* It will render the internal Heading component
* If you want to hide the title, wrap it inside our Visually Hidden utility like this``.
*
* @component
*
* @example
* Modal Title
*/
Title: typeof Title;
/**
* An optional accessible description to be announced when the dialog is opened.
* This will render the internal Text component with an default p tag
*
* If you want to hide the description, wrap it inside our Visually Hidden utility like this ``
*
* @component
*
* @example
*
* This is the main content of the modal.
* It can contain multiple paragraphs and other components.
*
*/
Description: typeof Description;
/**
* Overlay component provides the backdrop for the modal.
* Handles the background dimming and click-outside behavior.
*
* @component
*
* @example
*
*
* {/* Content will be centered in the overlay *\/}
*
*
*/
Overlay: typeof Overlay;
/**
* Group component for organizing content or actions within the modal.
* Provides layout and styling for grouped content, especially useful for action buttons.
*
* @component
*
* @example
* // Action buttons group
*
*
*
*
*
* @example
* // Content group
*
* First section
*
Second section
*
*/
Group: typeof Group;
/**
* Close component provides a button to close the modal.
* Can be used either as a floating close button or within content.
*
* @component
*
* @example
* // Floating close button
*
*
* @example
* // Close button within content
*
*
*
*/
Close: typeof Close;
/**
* Image component displays an image in the modal.
* Handles proper sizing and positioning of images within the modal.
*
* @component
*
* @example
* // Basic image
*
*
* @example
* // Custom image component
*
*
*
*/
Image: typeof Image;
};
export { Modal };
export type { ModalProps };