import { CellState, ColumnConfig } from '../../../shared/types/table'; /** * Genera las clases base para una celda de tabla según su estado * Mantiene consistencia en bordes, fondos y transiciones * * @param state - Estado actual de la celda (default, hover, selected, disabled, focused) * @param additionalClasses - Clases adicionales opcionales * @param locked - Si la columna está bloqueada (sticky) * @param isLastLocked - Si es la última columna bloqueada (para mostrar borde separador) * @param isEditing - Si la celda está en modo edición (para mantener color de texto original) * @param isRowEditing - Si la fila completa está en modo edición (para aplicar bordes brand) * @param isActionsColumn - Si es columna de acciones * @param hasFixedWidth - Si la columna tiene width definido; entonces la celda usa overflow-hidden para que el contenido se adapte (wrap/truncate) * @returns String con todas las clases CSS combinadas */ export declare const getTableCellClasses: (state?: CellState, additionalClasses?: string, locked?: boolean, isLastLocked?: boolean, isEditing?: boolean, isRowEditing?: boolean, isActionsColumn?: boolean, hasFixedWidth?: boolean) => string; /** Ancho por defecto de la columna de acciones cuando no tiene width definido (evita que se colapse). */ export declare const DEFAULT_ACTIONS_COLUMN_WIDTH = 120; /** Ancho mínimo por defecto para columnas sin width definido (ancho automático). Evita que se compriman y que se superpongan a la columna de acciones; fuerza scroll horizontal cuando el viewport es pequeño. */ export declare const DEFAULT_MIN_COLUMN_WIDTH = 80; /** Ancho mínimo de la columna flex (maxWidth: 'auto' sin width). Es la que toma el espacio restante y puede truncar; con este mínimo se evita que quede demasiado estrecha. */ export declare const DEFAULT_FLEX_COLUMN_MIN_WIDTH = 300; /** * Genera las propiedades comunes para una celda (data-attributes y estilos) * Mantiene consistencia en anchos y identificadores * * @param column - Configuración de la columna * @param stickyLeftOffset - Offset izquierdo para columnas bloqueadas (default: 0) * @returns Objeto con data-attributes y estilos para la celda */ export declare const getTableCellProps: (column: ColumnConfig, stickyLeft?: number, stickyRight?: number, isActionsColumn?: boolean, hasColumnMaxWidthAuto?: boolean) => { 'data-column-id': string; style: { right?: string | undefined; left?: string | undefined; width: string | number | undefined; minWidth: number; maxWidth: number | undefined; }; }; /** * Indica si la columna es la "flex" (maxWidth: 'auto' sin width): toma el espacio restante y debe poder truncar con ellipsis. */ export declare const isFlexColumn: (column: ColumnConfig, hasColumnMaxWidthAuto?: boolean) => boolean; /** * Devuelve el ancho mínimo efectivo en píxeles de una columna (para calcular el minWidth total de la tabla). */ export declare const getColumnMinWidthPx: (column: ColumnConfig, isActionsColumn?: boolean, hasColumnMaxWidthAuto?: boolean) => number; /** * Genera las clases de alineamiento del contenido de una celda * * @param contentAlign - Alineamiento del contenido ('left' | 'right' | 'center') * @returns String con la clase de alineamiento correspondiente */ export declare const getContentAlignClass: (contentAlign?: "left" | "right" | "center") => string; /** * Handler genérico para el click de una celda * Ejecuta el callback de focus sin detener la propagación * para permitir que onRowClick funcione correctamente */ export declare const handleCellClick: (_e: React.MouseEvent, onCellFocus?: () => void) => void; //# sourceMappingURL=cellStyles.d.ts.map