import * as React from 'react';
import Button from '@mui/material/Button';
import { createTheme } from '@mui/material/styles';
// Update the Button's extendable props options
declare module '@mui/material/Button' {
interface ButtonPropsVariantOverrides {
dashed: true;
contained: false;
}
interface ButtonPropsColorOverrides {
success: true;
}
interface ButtonPropsSizeOverrides {
extraLarge: true;
}
}
// theme typings should work as expected
const theme = createTheme({
components: {
MuiButton: {
variants: [
{
props: { variant: 'dashed' },
style: {
border: `2px dashed grey`,
},
},
{
props: { size: 'extraLarge' },
style: {
fontSize: 26,
},
},
],
},
},
});
;
// @ts-expect-error The contained variant was disabled
;