Flex: Use forwardRef and useStyles2 additional args (#75138)

Refactor for forwardRef and use of new useStyles2
This commit is contained in:
Tobias Skarhed 2023-09-20 10:51:32 +02:00 committed by GitHub
parent 04775ec940
commit 95c9947af2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,5 +1,5 @@
import { css } from '@emotion/css';
import React, { useCallback } from 'react';
import React from 'react';
import { GrafanaTheme2, ThemeSpacingTokens } from '@grafana/data';
@ -41,16 +41,17 @@ interface FlexProps {
children?: React.ReactNode;
}
export const Flex = ({ gap = 1, alignItems, justifyContent, direction, wrap, children }: FlexProps) => {
const styles = useStyles2(
useCallback(
(theme) => getStyles(theme, gap, alignItems, justifyContent, direction, wrap),
[gap, alignItems, justifyContent, direction, wrap]
)
);
export const Flex = React.forwardRef<HTMLDivElement, FlexProps>(
({ gap = 1, alignItems, justifyContent, direction, wrap, children }, ref) => {
const styles = useStyles2(getStyles, gap, alignItems, justifyContent, direction, wrap);
return <div className={styles.flex}>{children}</div>;
};
return (
<div ref={ref} className={styles.flex}>
{children}
</div>
);
}
);
Flex.displayName = 'Flex';