Grafana/ui: Wrap Box in forwardRef (#76555)

* Grafana/ui: Wrap Box in forwardRef

* Destructure props
This commit is contained in:
Alex Khomenko
2023-10-13 16:40:25 +02:00
committed by GitHub
parent 40b79de0cd
commit 8bf0143908

View File

@@ -1,5 +1,5 @@
import { css } from '@emotion/css';
import React, { ElementType } from 'react';
import React, { ElementType, forwardRef, PropsWithChildren } from 'react';
import { GrafanaTheme2, ThemeSpacingTokens, ThemeShape, ThemeShadows } from '@grafana/data';
@@ -68,7 +68,8 @@ interface BoxProps {
element?: ElementType;
}
export const Box = ({
export const Box = forwardRef<HTMLElement, PropsWithChildren<BoxProps>>((props, ref) => {
const {
children,
margin,
marginX,
@@ -95,7 +96,7 @@ export const Box = ({
alignItems,
boxShadow,
element,
}: React.PropsWithChildren<BoxProps>) => {
} = props;
const styles = useStyles2(
getStyles,
margin,
@@ -125,8 +126,12 @@ export const Box = ({
);
const Element = element ?? 'div';
return <Element className={styles.root}>{children}</Element>;
};
return (
<Element ref={ref} className={styles.root}>
{children}
</Element>
);
});
Box.displayName = 'Box';