/** * Data-visualisation colour tokens. * * Dark and light are independently *selected*, not flipped: a light palette is * not a dark palette inverted, because contrast against the surface runs the * opposite direction. Every value here is verified by `chart.validate.test.ts`. * * The categorical ramp keeps the hue identity of `tokens.colors.inventory` for * six of seven slots. The seventh replaces the pale sage `#C3D7A4`, which reads * grey (chroma 0.072) and collapses into the green once brought into the * lightness band. */ export type ChartMode = 'dark' | 'light'; export type ChartMedia = 'screen' | 'export'; /** Slots are assigned in fixed order and never cycled. */ export declare const SERIES_SLOT_COUNT = 7; /** * All-pairs separation is a strictly harder test than adjacent, and it binds a * series cap rather than a palette change — no ordering of seven hues can clear * it. Chart forms where any two marks can be neighbours (scatter, bubble, small * multiples) must not exceed this many series. */ export declare const ALL_PAIRS_SERIES_CAP = 3; export interface ChartInk { /** Plot gridlines. Recessive. */ grid: string; /** Axis lines and ticks. */ axis: string; /** Axis and legend text. */ label: string; tooltipBg: string; tooltipBorder: string; tooltipText: string; /** Fill opacity for area marks. */ areaOpacity: number; } export interface ChartDiverging { negative: readonly string[]; midpoint: string; positive: readonly string[]; } export interface ChartTokenSet { surface: string; series: readonly string[]; sequential: readonly string[]; diverging: ChartDiverging; ink: ChartInk; } export declare const chartTokens: Record;