Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | 9x 9x 9x 53x 9x | /* eslint-disable no-ternary, max-lines-per-function, no-nested-ternary */
import { ComponentProps } from "."
import Loading from "components/Loading"
import { Wrapper } from "./styled"
const Button = ({
ariaLabel,
bold,
className,
disabled,
expanded,
iconOnly,
icon,
iconEnd,
iconStart,
label,
loading,
noHoverHighlight,
onClick,
outlined,
padded,
raised,
rounded,
secondary,
small,
transparent,
type = "button"
}: ComponentProps) => (
<Wrapper
$bold={bold}
$expanded={expanded}
$hasIconEnd={Boolean(iconEnd)}
$hasIconStart={Boolean(iconStart)}
$iconOnly={iconOnly}
$loading={loading}
$noHoverHighlight={noHoverHighlight}
$outlined={outlined}
$padded={padded}
$raised={raised}
$rounded={rounded}
$secondary={secondary}
$small={small}
$transparent={transparent}
aria-disabled={disabled ? "true" : "false"}
aria-label={ariaLabel ? ariaLabel : iconOnly ? label : undefined}
className={className}
disabled={disabled}
onClick={onClick}
type={type}
>
{iconOnly ? icon : null}
{!iconOnly && iconStart ? iconStart : <span />}
{iconOnly ? null : label}
{!iconOnly && iconEnd ? iconEnd : <span />}
{loading ? <Loading contrast={!outlined} /> : null}
</Wrapper>
)
export default Button
|