@xo-union/tk-component-header-nav
Version:
51 lines (50 loc) • 2.36 kB
JavaScript
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js/object/define-property");
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
var _tkComponentIcons = _interopRequireDefault(require("@xo-union/tk-component-icons"));
var _tkComponentBadges = require("@xo-union/tk-component-badges");
var _ContextCjs = require("../Context.cjs.js");
const ConversationsIcon = _ref => {
let {
unreadMessagesCount,
className
} = _ref;
const {
classes,
links
} = (0, _ContextCjs.useHeaderNavContext)();
const messageCountBetween1And9 = unreadMessagesCount > 0 && unreadMessagesCount <= 9;
const messageCountBetween10And99 = unreadMessagesCount > 9 && unreadMessagesCount <= 99;
let description = 'Vendor conversation inbox';
const unreadMessagesCountText = unreadMessagesCount > 99 ? '99+' : unreadMessagesCount;
if (unreadMessagesCount > 0) {
description += ` with ${unreadMessagesCountText} unread messages`;
}
return /*#__PURE__*/_react.default.createElement("a", {
"aria-label": description,
className: (0, _classnames.default)(classes.conversations, messageCountBetween1And9 && classes['messages-nine-or-fewer'], messageCountBetween10And99 && classes['messages-ninety-nine-or-fewer'], unreadMessagesCount > 99 && classes['messages-over-ninety-nine'], className),
href: links.INBOX,
title: description,
"data-trackable-selection": "inbox icon"
}, /*#__PURE__*/_react.default.createElement(_tkComponentIcons.default, {
name: "chat",
size: "md",
className: classes['conversations-icon']
}), unreadMessagesCount > 0 ? /*#__PURE__*/_react.default.createElement(_tkComponentBadges.PillBadge, {
className: classes['conversations-badge'],
"aria-hidden": "true"
}, unreadMessagesCountText) : null);
};
process.env.NODE_ENV !== "production" ? ConversationsIcon.propTypes = {
unreadMessagesCount: _propTypes.default.number.isRequired,
className: _propTypes.default.string
} : void 0;
var _default = ConversationsIcon;
exports.default = _default;
;