import { SvgIcon, type SvgIconProps, type SvgIconTypeMap } from '@mui/material'; import type { OverridableComponent } from '@mui/material/OverridableComponent'; import { has } from 'ramda'; interface Props extends SvgIconProps { Icon: JSX.Element | OverridableComponent; dataTestId?: string; } const BaseIcon = ({ Icon, dataTestId, ...props }: Props): JSX.Element => { if (!has('key', Icon)) { const Component = Icon as (props: SvgIconProps) => JSX.Element; return ( JSX.Element).name} {...props} > ); } return ( {Icon as JSX.Element} ); }; export default BaseIcon;