UNPKG

@nomios/web-uikit

Version:
47 lines (43 loc) 1.26 kB
import _omit from "lodash/omit"; import React from 'react'; import PropTypes from 'prop-types'; import { ChevronIcon } from '../../../icon'; import classNames from 'classnames'; import styles from './DefaultTrigger.css'; const DefaultTrigger = ({ selectedData, placeholder, menuIsOpen, className }) => { const triggerClassName = classNames(styles.trigger, { [styles.menuIsOpen]: menuIsOpen, [styles.placeholder]: !selectedData }, className); let children; if (!selectedData) { children = placeholder; } else if (selectedData.render) { const selectedOptionProps = { isSelected: false, isDisabled: false, isFocused: false, data: _omit(selectedData, 'render') }; children = selectedData.render(selectedOptionProps); } else { children = selectedData.label ? selectedData.label : selectedData.value; } return React.createElement("div", { className: triggerClassName }, children, React.createElement(ChevronIcon, { className: styles.chevron })); }; DefaultTrigger.propTypes = { selectedData: PropTypes.object.isRequired, placeholder: PropTypes.string.isRequired, menuIsOpen: PropTypes.bool.isRequired, className: PropTypes.string }; export default DefaultTrigger;