UNPKG

appirio-tech-react-components-test10

Version:

Topcoder UI Kit library of components for our React apps.

37 lines (31 loc) 973 B
import React from 'react' import PropTypes from 'prop-types' import { HOC as hoc } from 'formsy-react' import Select from 'react-select' import cn from 'classnames' import './FormsySelect.scss' /** * This component is a formsy wrapper for the React Select component * @param {Object} props Component props */ const FormsySelect = props => { const { onChange, wrapperClass, label } = props const selectedOption = props.getValue() const onSelectionChange = selectedOption => { props.setValue(selectedOption) onChange && onChange(selectedOption) } const value = selectedOption return ( <div className={cn(wrapperClass, 'formsySelectComponent')}> <label className="tc-label">{label}</label> <Select {...props} value={value} onChange={onSelectionChange} /> </div> ) } FormsySelect.PropTypes = { onChange: PropTypes.func, setValueOnly: PropTypes.bool, options: PropTypes.array.isRequired } export default hoc(FormsySelect)