import { IconType, IconFontColor, IconFontSize, VisualSlotType, AnyIconDefinition } from './types'; import { BadgeProps } from './badge'; import { IconProps } from './icon'; import { TooltipProps } from './tooltip'; /** * Configuración del icono principal del botón * Extiende todas las props opcionales de Icon para máxima flexibilidad */ export interface ButtonIconConfig extends Omit { /** Icono a mostrar (mapeado desde IconProps.name) */ icon: IconType | AnyIconDefinition; /** Si el icono debe mostrarse */ show?: boolean; /** @deprecated Usar colorDuotonePrimary en su lugar */ iconDuotonePrimary?: IconFontColor; /** @deprecated Usar colorDuotoneSecondary en su lugar */ iconDuotoneSecondary?: IconFontColor; /** @deprecated Usar opacityDuotonePrimary en su lugar */ iconDuotoneOpacityPrimary?: number; /** @deprecated Usar opacityDuotoneSecondary en su lugar */ iconDuotoneOpacitySecondary?: number; } /** * Configuración del badge del botón * Extiende todas las props opcionales de Badge para máxima flexibilidad */ export interface ButtonBadgeConfig extends Omit { /** Etiqueta del badge */ label?: string; /** Si el badge debe mostrarse */ show?: boolean; } /** * Configuración de un slot del botón (izquierdo o derecho) */ export interface ButtonSlotConfig { /** Icono del slot */ icon?: VisualSlotType; /** * Tamaño del icono del slot (sobrescribe el mapeo por tamaño del botón). * Útil en Switch / tabs donde el control es pequeño y se quiere otro tamaño de icono. */ iconFontSize?: IconFontSize; /** Color del icono */ colorIcon?: IconFontColor; /** Handler de click del slot */ onClick?: (e: React.MouseEvent) => void; /** Props de duotone para el icono del slot */ iconDuotonePrimary?: IconFontColor; iconDuotoneSecondary?: IconFontColor; iconDuotoneOpacityPrimary?: number; iconDuotoneOpacitySecondary?: number; /** Si el slot debe mostrarse */ show?: boolean; } /** * Configuración del tooltip del botón * Extiende todas las props opcionales de Tooltip para máxima flexibilidad */ export interface ButtonTooltipConfig extends Omit { /** Texto del tooltip */ label?: string; /** Si el tooltip debe mostrarse */ show?: boolean; } //# sourceMappingURL=buttonConfig.d.ts.map