@@ -83,22 +83,22 @@ export function Chart<TDatum>({
83
83
...rest
84
84
} : ComponentPropsWithoutRef < 'div' > & { options : ChartOptions < TDatum > } ) {
85
85
const options = defaultChartOptions ( userOptions )
86
- const responsiveElRef = React . useRef < HTMLDivElement > ( null )
87
- const { width , height } = useRect (
88
- responsiveElRef . current ?. parentElement ,
89
- options
90
- )
86
+ const [
87
+ containerElement ,
88
+ setContainerElement ,
89
+ ] = React . useState < HTMLDivElement | null > ( null )
90
+ const { width , height } = useRect ( containerElement ?. parentElement , options )
91
91
92
92
return (
93
93
< div
94
- ref = { responsiveElRef }
94
+ ref = { setContainerElement }
95
95
{ ...rest }
96
96
className = { `ReactChart ${ className || '' } ` }
97
97
style = { {
98
+ ...style ,
99
+ position : 'absolute' ,
98
100
width,
99
101
height,
100
- position : 'absolute' ,
101
- ...style ,
102
102
} }
103
103
>
104
104
< ChartInner options = { options } { ...{ width, height } } />
@@ -357,23 +357,23 @@ function ChartInner<TDatum>({
357
357
358
358
const getSeriesStatusStyle = React . useCallback (
359
359
( series : Series < TDatum > , focusedDatum : Datum < TDatum > | null ) => {
360
- const defaults = {
360
+ const base = {
361
361
color : getOptions ( ) . defaultColors [
362
362
series . index % ( getOptions ( ) . defaultColors . length - 1 )
363
363
] ,
364
364
}
365
365
366
366
const status = getSeriesStatus ( series , focusedDatum )
367
367
const statusStyles = getOptions ( ) . getSeriesStyle ( series , status )
368
- series . style = materializeStyles ( statusStyles , defaults )
368
+ series . style = materializeStyles ( statusStyles , base )
369
369
return series . style
370
370
} ,
371
371
[ getOptions ]
372
372
)
373
373
374
374
const getDatumStatusStyle = React . useCallback (
375
375
( datum : Datum < TDatum > , focusedDatum : Datum < TDatum > | null ) => {
376
- const defaults = {
376
+ const base = {
377
377
...series [ datum . seriesIndex ] . style ,
378
378
color : getOptions ( ) . defaultColors [
379
379
datum . seriesIndex % ( getOptions ( ) . defaultColors . length - 1 )
@@ -386,7 +386,7 @@ function ChartInner<TDatum>({
386
386
status
387
387
)
388
388
389
- datum . style = materializeStyles ( statusStyles , defaults )
389
+ datum . style = materializeStyles ( statusStyles , base )
390
390
391
391
return datum . style
392
392
} ,
0 commit comments