Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/ui / src / components / atoms / Button / Button.tsx
Size: Mime:
import React from 'react'
import { ButtonProps, ButtonState } from './typings'
import {
  defaultRenderWrap,
  defaultRenderChildren,
  defaultRenderText,
  defaultRenderIcon,
  defaultRenderIconWrapper,
} from './renderProps'

class Button extends React.PureComponent<ButtonProps, ButtonState> {
  static defaultProps = {
    className: '',
    text: 'button',
    breedType: 'default',
    iconType: 'cart',
    iconAlignType: 'prefix',
    renderText: defaultRenderText,
    renderIcon: defaultRenderIcon,
    renderChildren: defaultRenderChildren,
    renderIconWrapper: defaultRenderIconWrapper,
    renderWrap: defaultRenderWrap,
  }

  // @todo is needed for updating aria

  render() {
    const { renderWrap, ...remainingProps } = this.props
    const view = renderWrap(remainingProps, this.state)
    return view
  }
}

export { Button }
export default Button