import { type ChartBand, type ChartGoalLine, type ChartReferenceLine, type ChartScale } from "./chartScale.js"; import { type ChartAnnotation } from "./chartAnnotations.js"; import { type DataLabelsProp } from "./chartDataLabels.js"; export type LineChartTone = "category1" | "category2" | "category3" | "category4" | "category5" | "category6" | "category7" | "category8"; export type LineChartDatum = { x: number | string; y: number; /** * Marks the datum as a FORECAST point. Forecast points render with the * dedicated forecast tone and every segment touching a forecast point is * dashed — including the segment between the last actual point and the * first forecast point, so the line stays connected. Absent/false ⇒ * rendering unchanged (additive). */ forecast?: boolean; }; export type LineChartProps = { data: LineChartDatum[]; width?: number; height?: number; tone?: LineChartTone; smooth?: boolean; area?: boolean; label: string; /** Reference lines (default `axis: "y"` → horizontal at `value`). */ referenceLines?: ChartReferenceLine[]; /** Shaded value-axis bands between `from`..`to`. */ bands?: ChartBand[]; /** A single goal line, emphasised above the data. */ goalLine?: ChartGoalLine; /** Least-squares trend line over the data points. */ trend?: boolean; /** * Annotation overlay in DATA space (points, labels, axis lines, regions, * polygons). Resolved to pixels via the chart's scales and drawn in a * dedicated `` — regions behind the * series, every other kind above it. Additive: absent ⇒ unchanged. */ annotations?: ChartAnnotation[]; /** * Per-point value labels. `false`/absent (default) → none. `true` → each * point's value with the chart's numeric formatter. Object → `format(value)` * and/or a `position` override. Default position is `top` (above the point). * Labels are `aria-hidden` — the values already live in the accessible * ChartDataList. */ dataLabels?: DataLabelsProp; /** * Fixed value-axis (y) domain `[min, max]`. When provided (and finite, * min void; /** * FR-5 — keyboard navigation of the data points (roving tabindex). When `true` * (or implied by wiring `onSelectKey`), a thin focusable overlay is rendered * over the points: the chart owns ONE tab stop, ←/↑/→/↓ move the focus between * points (data order), Home/End jump to the first/last, Enter/Space select the * focused point (`onSelectKey`), Escape leaves the navigation. Each focused * point announces its `x` + value. Absent ⇒ no overlay, rendering unchanged. */ keyboardNav?: boolean; /** * Emitted when the user selects the focused point via Enter/Space (its key, * `String(x)`), or `null` when the navigation is left via Escape. Wiring it * also turns the keyboard navigation on. */ onSelectKey?: (key: string | null) => void; class?: string; }; export declare const LineChart: import("vue").DefineComponent LineChartDatum[]; required: true; }; width: { type: NumberConstructor; default: number; }; height: { type: NumberConstructor; default: number; }; tone: { type: () => LineChartTone; default: string; }; smooth: { type: BooleanConstructor; default: boolean; }; area: { type: BooleanConstructor; default: boolean; }; label: { type: StringConstructor; required: true; }; referenceLines: { type: () => ChartReferenceLine[]; default: undefined; }; bands: { type: () => ChartBand[]; default: undefined; }; goalLine: { type: () => ChartGoalLine; default: undefined; }; trend: { type: BooleanConstructor; default: boolean; }; annotations: { type: () => ChartAnnotation[]; default: undefined; }; dataLabels: { type: () => DataLabelsProp; default: undefined; }; domain: { type: () => [number, number]; default: undefined; }; scale: { type: () => ChartScale; default: string; }; invertAxis: { type: BooleanConstructor; default: boolean; }; showLegend: { type: BooleanConstructor; default: undefined; }; hoverKey: { type: () => string | null; default: undefined; }; onHoverKeyChange: { type: () => (key: string | null) => void; default: undefined; }; keyboardNav: { type: BooleanConstructor; default: undefined; }; onSelectKey: { type: () => (key: string | null) => void; default: undefined; }; class: { type: StringConstructor; default: undefined; }; }>, () => import("vue").VNode, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly LineChartDatum[]; required: true; }; width: { type: NumberConstructor; default: number; }; height: { type: NumberConstructor; default: number; }; tone: { type: () => LineChartTone; default: string; }; smooth: { type: BooleanConstructor; default: boolean; }; area: { type: BooleanConstructor; default: boolean; }; label: { type: StringConstructor; required: true; }; referenceLines: { type: () => ChartReferenceLine[]; default: undefined; }; bands: { type: () => ChartBand[]; default: undefined; }; goalLine: { type: () => ChartGoalLine; default: undefined; }; trend: { type: BooleanConstructor; default: boolean; }; annotations: { type: () => ChartAnnotation[]; default: undefined; }; dataLabels: { type: () => DataLabelsProp; default: undefined; }; domain: { type: () => [number, number]; default: undefined; }; scale: { type: () => ChartScale; default: string; }; invertAxis: { type: BooleanConstructor; default: boolean; }; showLegend: { type: BooleanConstructor; default: undefined; }; hoverKey: { type: () => string | null; default: undefined; }; onHoverKeyChange: { type: () => (key: string | null) => void; default: undefined; }; keyboardNav: { type: BooleanConstructor; default: undefined; }; onSelectKey: { type: () => (key: string | null) => void; default: undefined; }; class: { type: StringConstructor; default: undefined; }; }>> & Readonly<{}>, { class: string; area: boolean; height: number; width: number; scale: ChartScale; tone: LineChartTone; smooth: boolean; annotations: ChartAnnotation[]; dataLabels: DataLabelsProp; hoverKey: string | null; onHoverKeyChange: (key: string | null) => void; keyboardNav: boolean; onSelectKey: (key: string | null) => void; domain: [number, number]; referenceLines: ChartReferenceLine[]; bands: ChartBand[]; goalLine: ChartGoalLine; invertAxis: boolean; showLegend: boolean; trend: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; //# sourceMappingURL=LineChart.d.ts.map