/** * Paleta de colores centralizada para todos los widgets de gráficas del dashboard. * Usar DEFAULT_CHART_COLORS para la mayoría de los casos. * Reemplaza los arrays hardcodeados dispersos en ChartLine, ChartVentasMensual, * ChartBarHorizontal, ChartDonut y FieldMappingPanel. */ export declare const CHART_COLORS: { /** Azules — paleta principal para series y barras */ primary: string[]; /** Líneas — mayor contraste para series temporales */ lines: string[]; /** Verde esmeralda — para indicadores positivos */ emerald: string[]; /** Cálidos — para distribuciones y donuts */ warm: string[]; }; /** Paleta por defecto para barras (horizontales y verticales) */ export declare const DEFAULT_CHART_COLORS: string[]; /** Paleta para gráficas de líneas (mayor contraste entre series) */ export declare const LINE_CHART_COLORS: string[]; /** Colores para chips de campos en FieldMappingPanel */ export declare const FIELD_MAPPING_COLORS: string[]; /** * Paleta para series y categorías del tablero. * * Sustituye a `DEFAULT_CHART_COLORS` en los widgets del dashboard, que son * cinco tonos del mismo azul: con dos categorías ya cuesta distinguirlas, y con * ocho es ilegible. Aquí cada entrada es un hue distinto. * * Rojo y verde no están, y no es un olvido. Los dos portan significado en * el tablero — un delta favorable es verde y uno desfavorable es rojo — así que * usarlos para "Alimentos" o "Bodega Norte" haría que el color dejara de * significar algo. El verde oliva del índice 6 está lo bastante lejos del verde * de éxito como para no confundirse con él. * * El gris del índice 7 está reservado para "Otros": el grupo que absorbe * la cola cuando hay más categorías que colores. */ export declare const CATEGORICAL_PALETTE: readonly ["#378ADD", "#1D9E75", "#D85A30", "#BA7517", "#7F77DD", "#D4537E", "#639922", "#888780"]; /** El color con el que se pinta el grupo que absorbe la cola de categorías. */ export declare const OTHERS_COLOR: "#378ADD" | "#1D9E75" | "#D85A30" | "#BA7517" | "#7F77DD" | "#D4537E" | "#639922" | "#888780"; /** Clave con la que el tablero agrupa la cola. Se traduce al pintar, no aquí. */ export declare const OTHERS_KEY = "__others__"; /** Cuántas categorías reales existen antes de que el resto caiga en "Otros". */ export declare const MAX_CATEGORIES: number; /** * El color de una categoría, estable por su nombre. * * Por qué por nombre y no por índice del array de datos. Si el color * saliera de la posición, "Alimentos" cambiaría de color cada vez que cambia el * orden — y el orden cambia al cambiar de periodo, al cambiar de compañía y al * pasar de dona a barras, porque las tres cosas reordenan por valor. El usuario * vería la misma categoría de dos colores distintos en la misma pantalla. * * Con el hash, "Alimentos" es del mismo color siempre y en todas partes. * * El gris de "Otros" queda fuera de la rotación: se reserva para el grupo de cola, * y ninguna categoría real puede recibirlo por sorteo. */ export declare function colorForCategory(category: string): string; /** * Los colores de un gráfico COMPLETO: estables por nombre y sin repetirse entre sí. * * Por qué no basta con `colorForCategory` fila a fila. `hash % 7` es un sorteo sin * desempate: con siete categorías, la probabilidad de que las siete caigan en colores distintos * es del 0,61 %. Medido sobre nombres reales del dominio, siete categorías de producto * producían cuatro colores y «Alimentos» compartía el suyo con «Bebidas» — que es exactamente el * defecto que esta paleta vino a corregir, y en una dona dos segmentos contiguos del mismo color * se leen como uno solo. * * El hash sigue mandando: da el color preferido de cada categoría, así que «Alimentos» * tiende siempre al mismo. Lo que se añade es un sondeo lineal para el empate, y un orden de * recorrido alfabético —independiente del orden en que lleguen los datos, que cambia al cambiar * de periodo, de compañía o de tipo de gráfico— para que el mismo conjunto de categorías * produzca siempre la misma asignación. * * @example * const colores = colorsForCategories(rows.map(r => String(r[categoryField]))); * */ export declare function colorsForCategories(categories: string[]): Record; /** * El color de la serie número {@link index} de un gráfico multi-serie. * * Recorre solo los {@link MAX_CATEGORIES} colores reales: `index % CATEGORICAL_PALETTE.length` * llegaba al gris del último índice, que está reservado para «Otros». */ export declare function colorForSeries(index: number): string; //# sourceMappingURL=chartColors.d.ts.map