import React, { forwardRef } from 'react'; import Tooltip from 'components/Elements/Tooltip/Tooltip'; const Button = forwardRef( ( { icon, label, type, iconPlacement, onClick, active, disabled, tooltipTitle, tooltipKey, href, style, badge }, ref, ) => { let className; switch (type) { case 'settings': className = 'btn-settings'; break; case 'secondary': className = 'btn-secondary'; break; case 'icon': className = 'btn-icon'; break; case 'navigation': className = 'btn-navigation'; break; case 'collection': className = 'btn-collection'; break; case 'linkIconButton': className = 'btn-icon'; break; case 'linkButton': className = 'btn-settings'; break; default: className = 'btn-default'; } if (iconPlacement === 'right') { className += ' flowReverse'; } if (active) { className += ` ${className}-active`; } const button = ( ); const linkButton = ( {icon} {label} {badge && {badge}} ); const linkIconButton = ( {icon} {label} {badge && {badge}} ); switch (type) { case 'linkIconButton': return linkIconButton; case 'linkButton': return linkButton; case 'icon': return ( {button} ); default: return button; } }, ); Button.displayName = 'Button'; export { Button as default, Button };