@chayns-components/person-finder
Version:
A set of beautiful React components for developing your own applications with chayns.
54 lines (53 loc) • 2.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _PersonFinderHeader = require("./PersonFinderHeader.styles");
var _core = require("@chayns-components/core");
var _PersonFinderProvider = require("../../../../PersonFinderProvider");
var _personFinder = require("../../../../../utils/personFinder");
var _personFinder2 = require("../../../../../types/personFinder");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const PersonFinderHeader = ({
filterTypes,
currentGroupName,
defaultGroupName,
isScrollTop,
shouldShowGroupNames
}) => {
const {
activeFilter,
updateActiveFilter
} = (0, _PersonFinderProvider.usePersonFinder)();
const handleFilterSelect = keys => {
if (typeof updateActiveFilter === 'function') {
const ordered = [_personFinder2.PersonFinderFilterTypes.PERSON, _personFinder2.PersonFinderFilterTypes.SITE].filter(key => keys.includes(key));
updateActiveFilter(ordered);
}
};
const filter = Object.values(filterTypes ?? {}).map(type => ({
id: type,
text: (0, _personFinder.capitalizeFirstLetter)(type.replace(/_/g, ' '))
}));
if (filter.length <= 1) {
return null;
}
const handlePreventDefault = event => {
event.preventDefault();
event.stopPropagation();
};
return /*#__PURE__*/_react.default.createElement(_PersonFinderHeader.StyledPersonFinderHeader, {
$isScrollTop: isScrollTop,
onClick: handlePreventDefault
}, /*#__PURE__*/_react.default.createElement(_PersonFinderHeader.StyledPersonFinderHeaderFilter, null, /*#__PURE__*/_react.default.createElement(_core.FilterButtons, {
size: _core.FilterButtonSize.Small,
items: filter,
onSelect: handleFilterSelect,
selectedItemIds: activeFilter
})), shouldShowGroupNames && /*#__PURE__*/_react.default.createElement(_PersonFinderHeader.StyledPersonFinderHeaderGroupName, null, currentGroupName ?? defaultGroupName));
};
PersonFinderHeader.displayName = 'PersonFinderHeader';
var _default = exports.default = PersonFinderHeader;
//# sourceMappingURL=PersonFinderHeader.js.map