Files
suwayomi-material-you-webui/src/components/virtuoso/StyledGroupHeader.tsx
2024-09-30 02:55:32 +02:00

30 lines
1.1 KiB
TypeScript

/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import { styled } from '@mui/material/styles';
import Typography, { TypographyProps } from '@mui/material/Typography';
import { shouldForwardProp } from '@/lib/ui/ShouldForwardProp.ts';
type StyledGroupHeaderProps = {
isFirstItem: boolean;
};
export const StyledGroupHeader = styled(Typography, {
shouldForwardProp: shouldForwardProp<StyledGroupHeaderProps>(['isFirstItem']),
})<StyledGroupHeaderProps & TypographyProps>(({ theme, isFirstItem }) => ({
paddingLeft: theme.spacing(3),
// 16px - 10px (bottom padding of the group items)
paddingTop: theme.spacing(0.75),
paddingBottom: theme.spacing(2),
fontWeight: 'bold',
backgroundColor: theme.palette.background.default,
[theme.breakpoints.down('sm')]: {
// 16px - 8px (margin of header)
paddingTop: isFirstItem ? theme.spacing(1) : theme.spacing(0.75),
},
}));