import React, { useEffect } from 'react'; import PropTypes from 'prop-types'; import Select, { components, createFilter } from 'react-select'; import { ErrorMessage, useField } from 'formik'; import { ReactComponent as FilledChevronDown } from '../../assets/images/svg/filled-chevron-down.svg'; const SelectField = ({ label, disabled, options, link, defaultSelected = null, dropdownFullHeight, selectOption, ...props }) => { const [field, meta, helpers] = useField(props); const filterConfig = { ignoreCase: true, ignoreAccents: true, trim: true, matchFrom: 'start', }; useEffect(() => { if (defaultSelected) { helpers.setValue(defaultSelected); } }, [defaultSelected]); // eslint-disable-line const DropdownIndicator = (props) => components.DropdownIndicator && ( ); function styles() { let style = 'c-input'; if (meta.error && meta.touched) { style += ` c-input--error`; } if (dropdownFullHeight) { style += ` c-input--dropdown-full-height`; } return style; } return (
{!!label && ( )} {!!link &&
{link}
}