export declare const FALLBACK_COLOR = "#CBD5E1"; export declare const TOOLTIP_THEME: { readonly backgroundColor: "#EEF3FC"; readonly titleColor: "#2054A5"; readonly bodyColor: "#2054A5"; readonly borderColor: "#2054A5"; readonly borderWidth: 1; readonly displayColors: false; readonly caretSize: 0; }; /** * Un punto de una serie: una porción de la dona o un segmento de la barra apilada. * El valor llega ya elegido y en crudo; la gráfica calcula los porcentajes. * * @example * const data: ChartDatum[] = [ * { label: "Salud", value: 120 }, * { label: "Vida", value: 45 }, * ]; */ /** * Estilo de las gráficas. `default` es el del backoffice; `panel` sigue el DS de los paneles * grises (título 16 px, radio 16, leyenda con punto de 12 px, ejes y rejilla más marcados). */ export type ChartVariant = "default" | "panel"; export interface ChartDatum { /** texto de la leyenda y del tooltip; se pinta como texto, nunca como HTML */ label: string; /** cantidad absoluta (no porcentaje) */ value: number; } /** * Varias series sobre las mismas etiquetas (formato Chart.js), para barras y líneas. * Cada `datasets[i].data` debe tener la misma longitud que `labels`. * * @example * const data: SeriesData = { * labels: ["7 sept", "8 sept", "9 sept"], * datasets: [ * { label: "Altas", data: [1, 2, 4] }, * { label: "Bajas", data: [1, 2, 2] }, * ], * }; */ export interface SeriesData { /** etiqueta de cada punto o grupo (eje X) */ labels: string[]; /** una serie por color, en el orden de la leyenda; `[]` muestra el estado vacío */ datasets: { label: string; data: number[]; }[]; } /** formatea un valor para tooltip y leyenda, p. ej. `(v) => formatCurrency(v)` */ export type ValueFormatter = (value: number) => string;