/// import { IBox, IconName } from "../../core/types"; import { IRow } from '../Row/types'; /** * The possible statuses that the Alert component can display. * - `success`: Indicates a successful operation or state. * - `warning`: Signals a warning or cautionary message. * - `error`: Represents an error state or failure. * - `info`: Provides informational messages. */ export declare type Status = 'success' | 'warning' | 'error' | 'info'; /** * Props for the Alert component, which is used to display contextual messages. */ export interface AlertProps extends Omit { /** * The main title of the alert, displayed prominently at the top. * It can be a string or a custom React node to allow more flexibility in styling. */ title: string | React.ReactNode; /** * A short, optional description providing additional context for the alert. * If provided, it appears under the title. Like the title, it can be a string or a React node. */ description?: string | React.ReactNode; /** * The status of the alert, determining the visual styling and icon used. * Can be one of the following: 'success', 'warning', 'error', or 'info'. * If not provided, defaults to 'info'. */ status?: Status; /** * Callback triggered when the user closes the alert. * Useful for dismissible alerts. The close button will not appear if this prop is not provided. */ onClose?: () => void; /** * Custom actions or buttons to render inside the alert. * Typically used for interactive elements like links or buttons, positioned below the title and description. */ actions?: React.ReactElement; /** * Specifies the left margin of the icon, adjusting its distance from the left side of the alert. * This is useful if the icon needs more space for layout reasons. * @default 1 ('4px') */ iconPadding?: number; /** * Custom actions rendered at the flex-end (right side in LTR or left in RTL) of the alert. * Useful for positioning actions at the opposite end of the title and description, such as secondary actions. */ actionsEnd?: React.ReactElement; /** * Specify custom Icon from our design system. must be a string matching the icon name. */ icon?: IconName; } /** * The interface for the Alert component, combining both the Alert-specific props * and the standard Box props from Chakra UI. * * This allows for full customization of the Alert’s container while maintaining core functionalities. */ export interface IAlert extends AlertProps, Omit { }