Files
react-test/docs/data/material/components/toggle-button/VerticalSpacingToggleButton.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

61 lines
2.3 KiB
JavaScript
Raw Normal View History

2025-12-12 14:26:25 +09:00
import * as React from 'react';
import FormatAlignLeftIcon from '@mui/icons-material/FormatAlignLeft';
import FormatAlignCenterIcon from '@mui/icons-material/FormatAlignCenter';
import FormatAlignRightIcon from '@mui/icons-material/FormatAlignRight';
import FormatAlignJustifyIcon from '@mui/icons-material/FormatAlignJustify';
import ToggleButton, { toggleButtonClasses } from '@mui/material/ToggleButton';
import ToggleButtonGroup, {
toggleButtonGroupClasses,
} from '@mui/material/ToggleButtonGroup';
import { styled } from '@mui/material/styles';
const StyledToggleButtonGroup = styled(ToggleButtonGroup)(({ theme }) => ({
gap: '2rem',
[`& .${toggleButtonGroupClasses.firstButton}, & .${toggleButtonGroupClasses.middleButton}`]:
{
borderBottomRightRadius: (theme.vars || theme).shape.borderRadius,
borderBottomLeftRadius: (theme.vars || theme).shape.borderRadius,
},
[`& .${toggleButtonGroupClasses.lastButton}, & .${toggleButtonGroupClasses.middleButton}`]:
{
borderTopRightRadius: (theme.vars || theme).shape.borderRadius,
borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,
borderTop: `1px solid ${(theme.vars || theme).palette.divider}`,
},
[`& .${toggleButtonGroupClasses.lastButton}.${toggleButtonClasses.disabled}, & .${toggleButtonGroupClasses.middleButton}.${toggleButtonClasses.disabled}`]:
{
borderTop: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}`,
},
}));
export default function VerticalSpacingToggleButton() {
const [alignment, setAlignment] = React.useState('left');
const handleAlignment = (event, newAlignment) => {
setAlignment(newAlignment);
};
return (
<StyledToggleButtonGroup
value={alignment}
exclusive
onChange={handleAlignment}
aria-label="text alignment"
orientation="vertical"
>
<ToggleButton value="left" aria-label="left aligned">
<FormatAlignLeftIcon />
</ToggleButton>
<ToggleButton value="center" aria-label="centered">
<FormatAlignCenterIcon />
</ToggleButton>
<ToggleButton value="right" aria-label="right aligned">
<FormatAlignRightIcon />
</ToggleButton>
<ToggleButton value="justify" aria-label="justified" disabled>
<FormatAlignJustifyIcon />
</ToggleButton>
</StyledToggleButtonGroup>
);
}