import * as React from 'react';
import { CssVarsProvider, useColorScheme } from '@mui/joy/styles';
import Button from '@mui/joy/Button';
import CssBaseline from '@mui/joy/CssBaseline';
import Box from '@mui/joy/Box';
import IconButton, { IconButtonProps } from '@mui/joy/IconButton';
import ToggleButtonGroup from '@mui/joy/ToggleButtonGroup';
import FormatAlignCenterIcon from '@mui/icons-material/FormatAlignCenter';
import FormatAlignJustifyIcon from '@mui/icons-material/FormatAlignJustify';
import DarkMode from '@mui/icons-material/DarkMode';
import LightMode from '@mui/icons-material/LightMode';
function ColorSchemeToggle({ onClick, sx, ...props }: IconButtonProps) {
const { mode, setMode } = useColorScheme();
const [mounted, setMounted] = React.useState(false);
React.useEffect(() => {
setMounted(true);
}, []);
if (!mounted) {
return ;
}
return (
{
if (mode === 'light') {
setMode('dark');
} else {
setMode('light');
}
onClick?.(event);
}}
sx={[
mode === 'dark'
? { '& > *:first-of-type': { display: 'none' } }
: { '& > *:first-of-type': { display: 'initial' } },
mode === 'light'
? { '& > *:last-of-type': { display: 'none' } }
: { '& > *:last-of-type': { display: 'initial' } },
...(Array.isArray(sx) ? sx : [sx]),
]}
>
);
}
export default function JoyToggleButton() {
const [alignment, setAlignment] = React.useState>(['left']);
return (
{(['primary', 'neutral', 'danger', 'success', 'warning'] as const).map((color) =>
(['plain', 'outlined', 'soft', 'solid'] as const).map((variant) => (
{
setAlignment(newValue);
}}
>
)),
)}
);
}