fix(striker-ui): expose additional props in HeaderText

main
Tsu-ba-me 2 years ago
parent 80467310df
commit 449ace0490
  1. 35
      striker-ui/components/Text/HeaderText.tsx

@ -1,13 +1,38 @@
import Typography from '@mui/material/Typography'; import { styled, Typography, TypographyProps } from '@mui/material';
import { styled } from '@mui/material/styles'; import { FC, useMemo } from 'react';
import { TEXT } from '../../lib/consts/DEFAULT_THEME'; import { TEXT } from '../../lib/consts/DEFAULT_THEME';
const WhiteTypography = styled(Typography)({ const WhiteTypography = styled(Typography)({
color: TEXT, color: TEXT,
}); });
const HeaderText = ({ text }: { text: string }): JSX.Element => ( type HeaderTextOptionalPropsWithoutDefault = {
<WhiteTypography variant="h4">{text}</WhiteTypography> text?: string;
); };
type HeaderTextOptionalProps = HeaderTextOptionalPropsWithoutDefault;
type HeaderTextProps = TypographyProps & HeaderTextOptionalProps;
const HEADER_TEXT_DEFAULT_PROPS: HeaderTextOptionalPropsWithoutDefault = {
text: undefined,
};
const HeaderText: FC<HeaderTextProps> = ({
children,
text,
...restHeaderTextProps
}) => {
const content = useMemo(() => children ?? text, [children, text]);
return (
<WhiteTypography variant="h4" {...restHeaderTextProps}>
{content}
</WhiteTypography>
);
};
HeaderText.defaultProps = HEADER_TEXT_DEFAULT_PROPS;
export default HeaderText; export default HeaderText;

Loading…
Cancel
Save