/** * Selección automática del tipo de gráfico. * * El problema que resuelve. P7 —"la dona no escala a ocho categorías"— no se * arregla inventando un tipo nuevo: se arregla corrigiendo el default. Hoy una * distribución por categoría cae en Circular, y una dona con ocho segmentos es * ilegible por construcción, use la paleta que use. * * Circular nunca es el resultado automático. Sigue disponible, pero como * decisión consciente de quien crea el widget — que es donde una dona rinde: parte * de un todo, con muy pocos segmentos. */ /** * Si una dimensión es temporal. * * Se mira primero el NOMBRE del campo y después el contenido, en ese orden: un * campo llamado `fecha` es temporal aunque sus valores lleguen como texto libre, * que es lo habitual cuando el endpoint ya formateó las etiquetas ("Ene", "Feb"). */ export declare function isTemporalDimension(fieldName: string, sampleValues?: unknown[]): boolean; export interface SuggestChartTypeInput { /** Campo que hace de dimensión. Vacío si la métrica es un escalar. */ categoryField?: string; /** Cuántos puntos trae la consulta. */ pointCount: number; /** Muestra de valores de la dimensión, para el segundo criterio de temporalidad. */ sampleValues?: unknown[]; /** Cuántas series numéricas hay. */ valueCount?: number; } /** * El tipo que corresponde a una consulta cuando el usuario no elige uno. * * ``` * escalar sin dimensión → KPI * temporal con más de 12 puntos → Líneas * temporal con 12 puntos o menos → Barras verticales * cualquier otro caso → Barras horizontales * ``` * * El corte en 12 no es arbitrario: es el punto en el que las barras se vuelven más * angostas que el espacio entre ellas y la serie se lee mejor como trazo continuo. */ export declare function suggestChartType(input: SuggestChartTypeInput): string; /** * Si conviene avisar al usuario de que eligió una dona para demasiadas categorías. * * No lo impide —es su decisión— pero la dona agrupa a partir de 5 segmentos, y * conviene que sepa que va a ver un "Otros" antes de publicarlo. */ export declare function shouldWarnAboutDonut(tipo: string, pointCount: number): boolean; //# sourceMappingURL=suggestChartType.d.ts.map