import { Box, Divider, Grid, Stack, type Theme, Typography, useTheme } from '@mui/material'; import type { ThemeMode } from '@centreon/ui-context'; import { includes, toPairs } from 'ramda'; import { makeStyles } from 'tss-react/mui'; const useStyles = makeStyles()((theme) => ({ divider: { margin: theme.spacing(2) }, headerContainer: { display: 'flex', justifyContent: 'space-between' }, itemContainer: { borderRadius: 1, margin: theme.spacing(2), padding: theme.spacing(1), textAlign: 'center' }, itemContainerText: { border: 'none', borderRadius: 1, margin: theme.spacing(2), padding: theme.spacing(1), textAlign: 'center' } })); interface ContainerDescriptionProps { containerTitle: string; keyTheme: string; } const ContainerDescription = ({ keyTheme, containerTitle }: ContainerDescriptionProps): JSX.Element => { const { classes } = useStyles(); const { palette } = useTheme(); const keysToRemove = [ 'contrastText', 'activatedOpacity', 'focusOpacity', 'hoverOpacity', 'selectedOpacity', 'disabledOpacity' ]; return ( {containerTitle} {toPairs( palette[keyTheme as keyof Theme['palette']] as Record ).map( ([key, value]) => !includes(key, keysToRemove) && (
{key} {value}
) )}
); }; const GroupedColorStatus = (): JSX.Element => { const { classes } = useStyles(); const listStatusPalette = ['info', 'success', 'error', 'warning', 'pending']; return ( <> {listStatusPalette.map((status) => ( <> ))} ); }; interface TextColorContainerProps { containerTitle: string; } const TextColorContainer = ({ containerTitle }: TextColorContainerProps): JSX.Element => { const { classes } = useStyles(); const { palette } = useTheme(); return ( {containerTitle} {toPairs(palette.text).map(([key, value]) => (
{key} {value}
Hello world
))}
); }; interface ColorStoryProps { isGrouped?: boolean; isText?: boolean; paletteKey?: string; themeMode?: ThemeMode; title?: string; } export const ColorStory = ({ paletteKey = 'primary', title = '', isGrouped = false, isText = false }: ColorStoryProps): JSX.Element => { const displayByType = (): JSX.Element => { if (isText) { return ; } return isGrouped ? ( ) : ( ); }; return displayByType(); };