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    
ui-component-library / src / components / atoms / Icons / FormPasswordIcon / FormPasswordIcon.tsx
Size: Mime:
import React from 'react'
import { renderWrapper as defaultRenderWrapper } from '../renderProps'
import EyeVisibilityIcon from './EyeVisibilityIcon/EyeVisibilityIcon'
import EyeOffIcon from './EyeOffIcon/EyeOffIcon'
import PasswordIconProps from './typings'

// returning breed based on the breedType
function fromBreedToComponent(passwordVisible: boolean) {
  if (passwordVisible) {
    return EyeOffIcon
  }

  return EyeVisibilityIcon
}

class FormPasswordIcon extends React.PureComponent<PasswordIconProps> {
  static defaultProps = {
    className: '',
    renderWrapper: defaultRenderWrapper,
  }

  render() {
    const { passwordVisible, renderWrapper, ...remainingProps } = this.props
    const Component = fromBreedToComponent(passwordVisible)
    const componentView = <Component {...remainingProps} />
    return renderWrapper(componentView)
  }
}
export { FormPasswordIcon }
export default FormPasswordIcon