UNPKG

@talend/react-faceted-search

Version:
72 lines (71 loc) 2.23 kB
import classnames from 'classnames'; import PropTypes from 'prop-types'; import { operatorsPropTypes } from '../../facetedSearch.propTypes'; import { BadgeOverlay } from '../BadgeOverlay'; import { BadgeOperatorPopover } from './BadgeOperatorPopover.component'; import styles from './BadgeOperator.module.scss'; import { Badge } from "@talend/react-components"; import { jsx as _jsx } from "react/jsx-runtime"; const BadgeOperatorOverlay = ({ id, onClick, onChangeOverlay, onHideOverlay, opened, operatorIconName, operatorLabel, operators, readOnly, size }) => { /** * Trigger the callback passed in props * @param {function} setOverlayOpened callback used to open / close the overlay */ const onClickRow = setOverlayOpened => (event, name) => { if (onClick) { onClick(event, name, setOverlayOpened); } }; const onHide = event => { if (onHideOverlay) { onHideOverlay(event); } }; return /*#__PURE__*/_jsx("div", { className: classnames(styles['tc-badge-operator'], { [styles['tc-badge-operator-small']]: Badge.SIZES.small === size, [styles['tc-badge-operator-large']]: Badge.SIZES.large === size }), children: /*#__PURE__*/_jsx(BadgeOverlay, { className: styles['tc-badge-operator-button'], iconName: operatorIconName, id: `${id}-operator`, label: operatorLabel, onChange: onChangeOverlay, onHide: onHide, opened: opened, readOnly: readOnly, children: setOverlayOpened => /*#__PURE__*/_jsx(BadgeOperatorPopover, { id: `${id}-operator`, operators: operators, onClick: onClickRow(setOverlayOpened) }) }) }); }; BadgeOperatorOverlay.propTypes = { id: PropTypes.string.isRequired, onClick: PropTypes.func, onChangeOverlay: PropTypes.func, onHideOverlay: PropTypes.func, opened: PropTypes.bool, operatorIconName: PropTypes.string, operatorLabel: PropTypes.string, operators: operatorsPropTypes.isRequired, readOnly: PropTypes.bool, size: PropTypes.oneOf(Object.values(Badge.SIZES)) }; // eslint-disable-next-line import/prefer-default-export export { BadgeOperatorOverlay }; //# sourceMappingURL=BadgeOperatorOverlay.component.js.map