UNPKG

@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
"use strict"; 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