diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 32831adc88c..a33ec135418 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -3764,7 +3764,7 @@ export interface ChartTypeRegistry { line: { chartOptions: LineControllerChartOptions; datasetOptions: LineControllerDatasetOptions & FillerControllerDatasetOptions; - defaultDataPoint: ScatterDataPoint | number | null; + defaultDataPoint: ScatterDataPoint | number | [number, number] | null; metaExtensions: {}; parsedDataType: CartesianParsedData; scales: keyof CartesianScaleTypeRegistry; @@ -3772,7 +3772,7 @@ export interface ChartTypeRegistry { scatter: { chartOptions: ScatterControllerChartOptions; datasetOptions: ScatterControllerDatasetOptions; - defaultDataPoint: ScatterDataPoint | number | null; + defaultDataPoint: ScatterDataPoint | number | [number, number] | null; metaExtensions: {}; parsedDataType: CartesianParsedData; scales: keyof CartesianScaleTypeRegistry; diff --git a/test/types/data_types.ts b/test/types/data_types.ts index 48a60598ffe..2303296f47a 100644 --- a/test/types/data_types.ts +++ b/test/types/data_types.ts @@ -8,6 +8,14 @@ const chart = new Chart('chart', { } }); +const lineTupleChart = new Chart('lineTupleChart', { + type: 'line', + data: { + labels: ['1', '2', '3'], + datasets: [{ data: [[1, 2], [3, 4], [5, 6]] }], + } +}); + const chart2 = new Chart('chart2', { type: 'bar', data: { diff --git a/test/types/dataset_null_data.ts b/test/types/dataset_null_data.ts index 9b02635ad5b..91a67b9b6b4 100644 --- a/test/types/dataset_null_data.ts +++ b/test/types/dataset_null_data.ts @@ -14,3 +14,11 @@ const radarDataset: ChartDataset<'radar'> = { data: [10, null, 20], }; +// [number, number] tuple data must be accepted for line and scatter, matching bar's floating-range behaviour +const lineTupleDataset: ChartDataset<'line'> = { + data: [[1, 2], [3, 4], [5, 6]], +}; +const scatterTupleDataset: ChartDataset<'scatter'> = { + data: [[1, 2], [3, 4], [5, 6]], +}; +