drizzle-cube
Version:
Drizzle ORM-first semantic layer with Cube.js compatibility. Type-safe analytics and dashboards with SQL injection protection.
36 lines (35 loc) • 1.6 kB
TypeScript
import { ColorPalette } from '../utils/colorPalettes';
import { ChartType, ChartAxisConfig, ChartDisplayConfig } from '../types';
import { MetricItem, BreakdownItem } from '../components/AnalysisBuilder/types';
import { ChartAvailabilityMap } from '../shared/chartDefaults';
export interface UseAnalysisChartDefaultsOptions {
/** External color palette (overrides local) */
externalColorPalette?: string[] | ColorPalette;
/** Combined metrics from all queries */
combinedMetrics: MetricItem[];
/** Combined breakdowns from all queries */
combinedBreakdowns: BreakdownItem[];
/** Whether query has been debounced (triggers smart defaults) */
hasDebounced: boolean;
}
export interface UseAnalysisChartDefaultsResult {
/** Current chart type */
chartType: ChartType;
/** Chart axis configuration */
chartConfig: ChartAxisConfig;
/** Chart display configuration */
displayConfig: ChartDisplayConfig;
/** Effective color palette */
colorPalette: ColorPalette;
/** Local palette name (when not using external) */
localPaletteName: string;
/** Chart availability map */
chartAvailability: ChartAvailabilityMap;
/** User manually selected chart */
userManuallySelectedChart: boolean;
setChartType: (type: ChartType) => void;
setChartConfig: (config: ChartAxisConfig) => void;
setDisplayConfig: (config: ChartDisplayConfig) => void;
setLocalPaletteName: (name: string) => void;
}
export declare function useAnalysisChartDefaults(options: UseAnalysisChartDefaultsOptions): UseAnalysisChartDefaultsResult;