import type { HTMLAttributes, ReactNode } from 'react'; /** * Props del componente AlertDialog */ export interface AlertDialogProps extends HTMLAttributes { /** * Title of the dialog */ title: string; /** * Texto o descripción opcional a mostrar debajo del título */ description?: ReactNode; /** * Whether the modal is open or not. * Note: The components previously rely on the parent rendering it conditionally. * Adding this prop makes it compatible with Headless UI Dialog pattern. * Defaults to true if not provided to maintain backward compatibility. */ isOpen?: boolean; /** * If true, it renders the modal dialog inline natively (no Dialog portal). * @internal ⚠️ PELIGRO: Prop de uso exclusivo para Storybook o previews. No usar en producción, rompe la accesibilidad y el focus-trap natural. * @default false */ inline?: boolean; /** * Icono opcional a mostrar junto al título (por ejemplo un icono de alerta) */ /** * Icono opcional a mostrar junto al título (por ejemplo un icono de alerta) */ icon?: ReactNode; /** * Alineación del contenido del modal * @default 'left' */ align?: 'left' | 'center'; /** * Botones de acción ocupando el ancho completo (se apilan verticalmente o en la misma línea según container) * @default false */ fullWidthButtons?: boolean; /** * Dirección de los botones cuando fullWidthButtons es true * @default 'vertical' */ fullWidthButtonsDirection?: 'vertical' | 'horizontal'; /** * Si es true, oculta el botón de cancelar por defecto * @default false */ hideCancel?: boolean; /** * Muestra un botón con una "X" en la esquina superior derecha para cerrar el modal * @default false */ showCloseButton?: boolean; /** * Custom action buttons */ actions?: ReactNode; /** * Cancel callback (also used to close on backdrop click) */ onCancel?: () => void; /** * Confirm callback */ onConfirm?: () => void; /** * Optional cancel button text */ cancelText?: string; /** * Optional confirm button text */ confirmText?: string; /** * Process/loading state indicator for confirm button */ isProcess?: boolean; /** * Additional CSS classes */ className?: string; /** * Prevents closing the modal when clicking outside * @default false */ preventCloseOnOverlayClick?: boolean; /** * Tailwind max-width size class (e.g. max-w-lg, max-w-md, max-w-xl, max-w-2xl, max-w-[512px], etc.) * @default 'max-w-lg' (max-w-lg in Tailwind is 512px) */ size?: string; /** * Tipo visual predefinido para el modal que configura automáticamente un icono * y colores relacionados */ type?: 'warning' | 'danger' | 'success' | 'info' | 'default'; } //# sourceMappingURL=AlertDialog.types.d.ts.map