UNPKG

@nomios/web-uikit

Version:
43 lines (39 loc) 1.16 kB
import _omit from "lodash/omit"; import React from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; import styles from './CustomOption.css'; const CustomOption = ({ innerProps, isSelected, isDisabled, isFocused, data, selectProps }) => { const optionClassName = classNames(styles.option, { [styles.focused]: isFocused }, selectProps.optionClassName); const optionProps = { isSelected, isDisabled, isFocused, defaultClassName: optionClassName, data: _omit(data, 'render') }; if (data.render || selectProps.renderOption) { return React.createElement("div", innerProps, data.render ? data.render(optionProps) : selectProps.renderOption(optionProps)); } return React.createElement("div", Object.assign({}, innerProps, { className: optionClassName }), data.label); }; CustomOption.propTypes = { selectProps: PropTypes.object.isRequired, innerProps: PropTypes.object.isRequired, isSelected: PropTypes.bool.isRequired, isDisabled: PropTypes.bool.isRequired, isFocused: PropTypes.bool.isRequired, data: PropTypes.object.isRequired }; export default CustomOption;