Allow rendering Button component as <a> or <button>
[MAILPOET-2784]
This commit is contained in:
@@ -12,6 +12,7 @@ type Props = {
|
||||
iconEnd?: JSX.Element,
|
||||
onClick?: () => void,
|
||||
href?: string,
|
||||
type?: string,
|
||||
target?: '_blank' | '_self' | '_parent' | '_top' | string,
|
||||
};
|
||||
|
||||
@@ -27,8 +28,10 @@ const Button = ({
|
||||
onClick,
|
||||
href,
|
||||
target,
|
||||
}: Props) => (
|
||||
<a
|
||||
}: Props) => {
|
||||
const Element = href ? 'a' : 'button';
|
||||
return (
|
||||
<Element
|
||||
href={href}
|
||||
onClick={onClick}
|
||||
target={target}
|
||||
@@ -48,7 +51,8 @@ const Button = ({
|
||||
{iconStart}
|
||||
{children && <span>{children}</span>}
|
||||
{iconEnd}
|
||||
</a>
|
||||
</Element>
|
||||
);
|
||||
};
|
||||
|
||||
export default Button;
|
||||
|
Reference in New Issue
Block a user