import React from 'react'; import { type ButtonProps as MuiButtonProps } from '@mui/material/Button'; import { type ThemePaletteSemanticColors } from '../styles'; /** * Material UI has a known typescript problem with components that uses the 'component' prop: * * @see https://github.com/mui/material-ui/pull/32404#issuecomment-1105228783 * * Therefore, adding a workaround by extending the source MenuProps interface and adding the 'component' prop. * * At the moment that the following PR is merged, this workaround can probably be removed: * * @see https://github.com/mui/material-ui/pull/35924 * * Once the PR is merged, verify the fix by making sure that there is no typescript error in the following code: * * * * The following components share the same problem: Button, IconButton, ToggleButton, List, ListItem, ListItemButton, MenuList, Menu, MenuItem, Paper, Dialog, Drawer, Typography. */ export interface ButtonProps extends MuiButtonProps { component?: React.ElementType; href?: HTMLAnchorElement['href']; target?: HTMLAnchorElement['target']; loading?: boolean; loadingIndicator?: React.ReactNode; loadingPosition?: 'start' | 'center' | 'end'; unstableToColor?: ThemePaletteSemanticColors; unstableGradientAngle?: number; } declare const Button: React.FC; export default Button;