import React, { ElementType, AllHTMLAttributes, ReactElement } from 'react';
import classnames from 'classnames';
// @ts-ignore
import styles from './Button.less';
interface BaseProps {
as?: ElementType;
tone?: 'positive';
icon?: ReactElement;
'data-testid'?: string;
}
interface ButtonProps
extends Omit, 'as'>,
BaseProps {}
interface LinkProps
extends Omit, 'as'>,
BaseProps {}
type Props = ButtonProps | LinkProps;
export const Button = ({
as: ButtonComponent = 'button',
children,
icon,
tone,
...props
}: Props) => (
{children}
{icon ? {icon} : null}
);