umami/components/interface/Button.js

31 lines
659 B
JavaScript
Raw Normal View History

import React from 'react';
import classNames from 'classnames';
import Icon from './Icon';
import styles from './Button.module.css';
2020-08-07 09:24:01 +02:00
export default function Button({
type = 'button',
icon,
size,
variant,
2020-08-07 09:24:01 +02:00
children,
className,
onClick = () => {},
}) {
return (
2020-08-07 09:24:01 +02:00
<button
type={type}
className={classNames(styles.button, className, {
[styles.small]: size === 'S',
[styles.large]: size === 'L',
[styles.action]: variant === 'action',
[styles.danger]: variant === 'danger',
2020-08-07 09:24:01 +02:00
})}
onClick={onClick}
>
{icon && <Icon icon={icon} size={size} />}
{children}
</button>
);
}