import React from 'react'; import PropTypes from 'prop-types'; import Select, { Creatable } from 'react-select'; import ControlHeader from '../ControlHeader'; import { t } from '../../../locales'; const propTypes = { choices: PropTypes.array, clearable: PropTypes.bool, description: PropTypes.string, freeForm: PropTypes.bool, isLoading: PropTypes.bool, label: PropTypes.string, multi: PropTypes.bool, name: PropTypes.string.isRequired, onChange: PropTypes.func, value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.array]), showHeader: PropTypes.bool, optionRenderer: PropTypes.func, valueRenderer: PropTypes.func, valueKey: PropTypes.string, options: PropTypes.array, }; const defaultProps = { choices: [], clearable: true, description: null, freeForm: false, isLoading: false, label: null, multi: false, onChange: () => {}, showHeader: true, optionRenderer: opt => opt.label, valueRenderer: opt => opt.label, valueKey: 'value', }; // Handle `onPaste` so that users may paste in // options as comma-delimited, slightly modified from // https://github.com/JedWatson/react-select/issues/1672 function pasteSelect(props) { let pasteInput; return (