UNPKG

@xo-union/tk-component-header-nav

Version:
51 lines (50 loc) 2.36 kB
"use strict"; 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;