diff --git a/types/index.esm.d.ts b/types/index.esm.d.ts index 421c4ac8b..fea930603 100644 --- a/types/index.esm.d.ts +++ b/types/index.esm.d.ts @@ -3248,6 +3248,9 @@ export type ScaleOptionsByType = { [key in ScaleType]: { type: key } & ScaleTypeRegistry[key]['options'] }[TScale] ; +// Convenience alias for creating and manipulating scale options in user code +export type ScaleOptions = DeepPartial>; + export type DatasetChartOptions = { [key in TType]: { datasets: ChartTypeRegistry[key]['datasetOptions']; diff --git a/types/tests/scales/options.ts b/types/tests/scales/options.ts index cf4f4dcb8..968d89031 100644 --- a/types/tests/scales/options.ts +++ b/types/tests/scales/options.ts @@ -1,4 +1,4 @@ -import { Chart } from '../../index.esm'; +import { Chart, ScaleOptions } from '../../index.esm'; const chart = new Chart('test', { type: 'bar', @@ -30,3 +30,29 @@ const chart = new Chart('test', { } } }); + +function makeChartScale(range: number): ScaleOptions<'linear'> { + return { + type: 'linear', + min: 0, + suggestedMax: range, + }; +} + +const composedChart = new Chart('test2', { + type: 'bar', + data: { + labels: ['a'], + datasets: [{ + data: [1], + }, { + type: 'line', + data: [{ x: 1, y: 1 }] + }] + }, + options: { + scales: { + x: makeChartScale(10) + } + } +});