import { Colors, IconType, IconFontColor } from './types'; import { IconProp } from '@fortawesome/fontawesome-svg-core'; /** * Colores semánticos para el ProgressBar según Figma */ export type ProgressBarColor = 'brand' | 'success' | 'danger' | 'warning' | 'info' | 'neutral'; /** * Tamaños del ProgressBar según Figma * xxs: 8px, xs: 10px, sm: 12px, md: 16px, lg: 20px */ export type ProgressBarSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg'; /** * Tipo de texto de ayuda */ export type HelperTextType = 'error' | 'size' | 'custom'; /** * Props para el componente _bar (barra de progreso interna) */ export interface BarProgressProps { /** Porcentaje de progreso (0-100) */ progress?: number; /** Tamaño de la barra */ size?: ProgressBarSize; /** Color de la barra */ color?: ProgressBarColor; /** Duración de la animación en ms */ duration?: number; /** Mostrar fondo de la barra */ withBackground?: boolean; /** Clases adicionales */ className?: string; } /** * Props para el componente de label de progreso */ export interface LabelProgressProps { /** Texto del label (ej: "Label") */ label?: string; /** Valor numérico a mostrar */ value?: number; /** Sufijo del valor (ej: "%" o "MB") */ suffix?: string; /** Clases adicionales */ className?: string; } /** * Props para el header del progress bar */ export interface ProgressHeaderProps { /** Texto del label */ label?: string; /** Valor de progreso */ progress?: number; /** Sufijo del progreso */ progressSuffix?: string; /** Texto adicional (ej: "1m restante") */ eta?: string; /** Mostrar botón de cerrar */ showCloseButton?: boolean; /** Callback al cerrar */ onClose?: () => void; /** Clases adicionales */ className?: string; } /** * Props principales del ProgressBar */ export interface ProgressBarProps { /** Color de la barra */ color?: ProgressBarColor; /** Porcentaje de progreso (0-100) */ progress?: number; /** Texto del label */ label?: string; /** Mostrar label */ showLabel?: boolean; /** Mostrar porcentaje de progreso */ showProgress?: boolean; /** Sufijo del progreso (por defecto "%") */ progressSuffix?: string; /** Texto ETA (ej: "1m restante") */ eta?: string; /** Tamaño de la barra */ size?: ProgressBarSize; /** Ícono a mostrar (deprecado - usar showCloseButton) */ icon?: IconType | IconProp; iconDuotonePrimary?: IconFontColor; iconDuotoneSecondary?: IconFontColor; iconDuotoneOpacityPrimary?: number; iconDuotoneOpacitySecondary?: number; /** Mostrar ícono (deprecado - usar showCloseButton) */ showIcon?: boolean; /** Clases adicionales */ className?: string; /** Duración de la animación */ duration?: number; /** Mostrar fondo de la barra */ withBackground?: boolean; /** Texto de ayuda inferior */ helperText?: string; /** Tipo de texto de ayuda */ helperTextType?: HelperTextType; /** Modo compacto (sin texto de ayuda) */ compact?: boolean; /** Estado deshabilitado */ disabled?: boolean; /** Mostrar botón de cerrar */ showCloseButton?: boolean; /** Callback al cerrar */ onClose?: () => void; /** * Duración de la cuenta regresiva en segundos. * Si se proporciona, la barra animará automáticamente desde el valor de `progress` hasta 0. * @example countdown={5} // La barra baja de progress a 0 en 5 segundos */ countdown?: number; /** * Callback que se ejecuta cuando la cuenta regresiva llega a 0. * Solo se ejecuta si `countdown` está definido. */ onCountdownComplete?: () => void; /** @deprecated - usar helperText */ description?: string; /** @deprecated - usar progressSuffix */ progressChar?: string; /** @deprecated */ status?: 'neutral' | 'blue' | 'red'; /** @deprecated */ borderStyle?: 'dashed' | 'solid' | 'small-solid'; } /** * Mapeo de colores legacy a colores semánticos */ export declare const PROGRESS_COLOR_MAP: Record; //# sourceMappingURL=progressbar.d.ts.map