mirror of
https://github.com/overleaf/overleaf.git
synced 2024-10-24 21:12:38 -04:00
e18f0817c6
Bootstrap-5 Button component GitOrigin-RevId: 1fb13b7ab2b71403b0236f1f85aec7b9545b34f1
29 lines
754 B
TypeScript
29 lines
754 B
TypeScript
import MaterialIcon from '@/shared/components/material-icon'
|
|
import { IconTextButtonProps } from '../types/icon-text-button-props'
|
|
import Button from './button'
|
|
|
|
export default function IconTextButton({
|
|
children,
|
|
className,
|
|
leadingIcon,
|
|
size = 'default',
|
|
trailingIcon,
|
|
...props
|
|
}: IconTextButtonProps) {
|
|
const materialIconClassName =
|
|
size === 'large'
|
|
? 'leading-trailing-icon-large'
|
|
: 'leading-trailing-icon-small'
|
|
|
|
return (
|
|
<Button size={size} {...props}>
|
|
{leadingIcon && (
|
|
<MaterialIcon type={leadingIcon} className={materialIconClassName} />
|
|
)}
|
|
{children}
|
|
{trailingIcon && (
|
|
<MaterialIcon type={trailingIcon} className={materialIconClassName} />
|
|
)}
|
|
</Button>
|
|
)
|
|
}
|