Skip to content

Commit 2c2dd31

Browse files
committed
fix: responsiveness
1 parent 4df922e commit 2c2dd31

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

src/components/Chart.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -83,22 +83,22 @@ export function Chart<TDatum>({
8383
...rest
8484
}: ComponentPropsWithoutRef<'div'> & { options: ChartOptions<TDatum> }) {
8585
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)
9191

9292
return (
9393
<div
94-
ref={responsiveElRef}
94+
ref={setContainerElement}
9595
{...rest}
9696
className={`ReactChart ${className || ''}`}
9797
style={{
98+
...style,
99+
position: 'absolute',
98100
width,
99101
height,
100-
position: 'absolute',
101-
...style,
102102
}}
103103
>
104104
<ChartInner options={options} {...{ width, height }} />
@@ -357,23 +357,23 @@ function ChartInner<TDatum>({
357357

358358
const getSeriesStatusStyle = React.useCallback(
359359
(series: Series<TDatum>, focusedDatum: Datum<TDatum> | null) => {
360-
const defaults = {
360+
const base = {
361361
color: getOptions().defaultColors[
362362
series.index % (getOptions().defaultColors.length - 1)
363363
],
364364
}
365365

366366
const status = getSeriesStatus(series, focusedDatum)
367367
const statusStyles = getOptions().getSeriesStyle(series, status)
368-
series.style = materializeStyles(statusStyles, defaults)
368+
series.style = materializeStyles(statusStyles, base)
369369
return series.style
370370
},
371371
[getOptions]
372372
)
373373

374374
const getDatumStatusStyle = React.useCallback(
375375
(datum: Datum<TDatum>, focusedDatum: Datum<TDatum> | null) => {
376-
const defaults = {
376+
const base = {
377377
...series[datum.seriesIndex].style,
378378
color: getOptions().defaultColors[
379379
datum.seriesIndex % (getOptions().defaultColors.length - 1)
@@ -386,7 +386,7 @@ function ChartInner<TDatum>({
386386
status
387387
)
388388

389-
datum.style = materializeStyles(statusStyles, defaults)
389+
datum.style = materializeStyles(statusStyles, base)
390390

391391
return datum.style
392392
},

0 commit comments

Comments
 (0)