@talend/react-components
Version:
Set of react components.
47 lines • 1.41 kB
JavaScript
import PropTypes from 'prop-types';
import classNames from 'classnames';
import Action from '../../Actions/Action';
import theme from './Header.module.scss';
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
function headerClasses() {
return classNames({
[theme['tc-enumeration-header']]: true,
'tc-enumeration-header': true
});
}
function getAction(action, index) {
function onClick(event) {
if (action.onClick) {
action.onClick(event);
}
}
return /*#__PURE__*/_jsx(Action, {
label: action.label,
icon: action.icon,
onClick: onClick,
disabled: action.disabled,
tooltipPlacement: "bottom",
inProgress: action.inProgress,
hideLabel: true,
link: true
}, `${index}-enum-header-action`);
}
function HeaderSelected({
headerSelected,
nbItemsSelected
}) {
let txtHeader = `${nbItemsSelected} selected value`;
txtHeader = nbItemsSelected > 1 ? `${txtHeader}s` : txtHeader;
return /*#__PURE__*/_jsxs("header", {
className: headerClasses(),
children: [/*#__PURE__*/_jsx("span", {
children: txtHeader
}), headerSelected.filter(action => !action.disabled).map(getAction)]
});
}
HeaderSelected.propTypes = {
headerSelected: PropTypes.arrayOf(PropTypes.shape(Action.propTypes)).isRequired,
nbItemsSelected: PropTypes.number
};
export default HeaderSelected;
//# sourceMappingURL=HeaderSelected.component.js.map