# All files / Button Button.type.ts

0% Statements 0/2
100% Branches 0/0
100% Functions 0/0
0% Lines 0/2

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

     import * as React from 'react'
    import * as PropTypes from 'prop-types'
    import { StandardProps, StyledProps } from '..'

    type Variant = 'standard' | 'primary'
    type Size = 'small' | 'medium' | 'large'

    export type ButtonClassProps =
      | 'root'
      | 'variantStandard'
      | 'variantPrimary'
      | 'sizeSmall'
      | 'sizeMedium'
      | 'sizeLarge'
      | 'block'

    export interface ButtonProps
      extends StandardProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>,
        StyledProps {
      variant?: Variant
      disabled?: boolean
      size?: Size
      block?: boolean

      onClick?: React.MouseEventHandler<HTMLButtonElement>
      children: React.ReactNode
    }

    export const ButtonPropTypes = {
      variant: PropTypes.oneOf<Variant>(['standard', 'primary']),
      disabled: PropTypes.bool,
      size: PropTypes.oneOf<Size>(['small', 'medium', 'large']),
      block: PropTypes.bool,
      onClick: PropTypes.func,
      children: PropTypes.node.isRequired
    }