import React from "react"; import Select, { components } from "react-select"; import * as R from "ramda"; import Scrollbars from "react-custom-scrollbars"; const sortByNameCaseInsensitive = R.sortBy( R.compose( R.toLower, R.prop("value") ) ); const OnlyLabelName = ({ labelName }: { labelName?: string }) => ( ); const RequiredLabelName = ({ labelName, requiredFieldText }: { labelName?: string; requiredFieldText?: string; }) => ( ); const sortOptionsFunc = ({ options, sortOptions }: { options: any[]; sortOptions: boolean; }) => (sortOptions ? sortByNameCaseInsensitive(options) : options); const ScrollbarsMenu = (props: any) => ( (
)} renderThumbHorizontal={vals => (
)} renderThumbVertical={vals =>
} > {props.children} ); const Menu = (props: any) => { return ( {props.menuShouldScrollIntoView ? ( ) : (
{props.children}
)}
); }; const Dropdown = ({ labelName, selectName, change, value, options, sortOptions = false, isMulti = false, customScrollBars = false, isDisabled = false, isSearchable = false, isClearable = false, closeMenuOnSelect = true, noOptionsMessage = "No Options", requiredFieldText, placeholder = "Select..." }: { labelName?: string; selectName: string; value: any[]; change: any; options: any[]; sortOptions?: boolean; isMulti?: boolean; customScrollBars?: boolean; isDisabled?: boolean; isSearchable?: boolean; isClearable?: boolean; closeMenuOnSelect?: boolean; requiredFieldText?: string; noOptionsMessage?: string; placeholder?: string; }) => ( <> {!R.isEmpty(labelName) && R.isEmpty(requiredFieldText) ? ( ) : null} {!R.isEmpty(labelName) && !R.isEmpty(requiredFieldText) ? ( ) : null}