@@ -20,6 +20,7 @@ import {
2020 CHART_COLORS ,
2121 CHART_GRID_LINES_COLORS ,
2222 LINE_DASH ,
23+ MAX_BAR_THICKNESS ,
2324} from './constants'
2425import {
2526 ChartColorKey ,
@@ -180,6 +181,7 @@ export const getDefaultOptions = ({
180181 yAxisMax,
181182 xScaleTitle,
182183 yScaleTitle,
184+ yScaleTickFormat,
183185 } = chartProps
184186 const baseOptions : ChartOptions = {
185187 responsive : true ,
@@ -243,16 +245,28 @@ export const getDefaultOptions = ({
243245 } ,
244246 } satisfies ScaleOptions < 'linear' >
245247
248+ const ticksWithCallback = {
249+ ...commonScaleConfig . ticks ,
250+ callback : ( value ) => yScaleTickFormat ( Number ( value ) ) ,
251+ } satisfies ScaleOptions < 'linear' > [ 'ticks' ]
252+
246253 const commonXScaleConfig = {
247254 ...commonScaleConfig ,
248255 max : xAxisMax ,
249256 title : getScaleTickTitleConfig ( xScaleTitle , appTheme ) ,
257+ ...( typeof yScaleTickFormat === 'function' && type === 'stackedBarHorizontal'
258+ ? { ticks : ticksWithCallback }
259+ : { } ) ,
250260 } satisfies ScaleOptions < 'linear' >
251261
252262 const commonYScaleConfig = {
253263 ...commonScaleConfig ,
254264 max : yAxisMax ,
255265 title : getScaleTickTitleConfig ( yScaleTitle , appTheme ) ,
266+ // for stackedBarHorizon
267+ ...( typeof yScaleTickFormat === 'function' && type !== 'stackedBarHorizontal'
268+ ? { ticks : ticksWithCallback }
269+ : { } ) ,
256270 } satisfies ScaleOptions < 'linear' >
257271
258272 switch ( type ) {
@@ -301,6 +315,11 @@ export const getDefaultOptions = ({
301315 beginAtZero : true ,
302316 } ,
303317 } ,
318+ datasets : {
319+ bar : {
320+ maxBarThickness : MAX_BAR_THICKNESS ,
321+ } ,
322+ } ,
304323 } satisfies ChartOptions < 'bar' >
305324 case 'stackedBarHorizontal' :
306325 return {
@@ -316,6 +335,11 @@ export const getDefaultOptions = ({
316335 stacked : true ,
317336 } ,
318337 } ,
338+ datasets : {
339+ bar : {
340+ maxBarThickness : MAX_BAR_THICKNESS ,
341+ } ,
342+ } ,
319343 } satisfies ChartOptions < 'bar' >
320344 case 'pie' :
321345 return {
0 commit comments