UNPKG

@talend/react-components

Version:
65 lines (64 loc) 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.User = User; var _propTypes = _interopRequireDefault(require("prop-types")); var _Inject = _interopRequireDefault(require("../../Inject")); var _ActionDropdown = _interopRequireDefault(require("../../Actions/ActionDropdown")); var _theme = require("../../theme"); var _HeaderBarModule = _interopRequireDefault(require("../HeaderBar.module.scss")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const theme = (0, _theme.getTheme)(_HeaderBarModule.default); function User({ name, firstName, lastName, getComponent, t, ...rest }) { const className = theme('tc-header-bar-action', 'tc-header-bar-user', 'separated'); const Renderers = _Inject.default.getAll(getComponent, { ActionDropdown: _ActionDropdown.default }); function getDisplayName(params) { if (params.firstName && params.lastName) { return `${params.firstName} ${params.lastName}`; } return params.name; } const displayName = getDisplayName({ name, firstName, lastName }); const ariaLabel = t('HEADERBAR_USER_MENU', { defaultValue: 'Open user menu. Current user: {{name}}.', name: displayName }); return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", { role: "presentation", className: className, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Renderers.ActionDropdown, { bsStyle: "link", icon: "talend-user-circle", pullRight: true, label: displayName, "aria-label": ariaLabel, ...rest }) }); } User.propTypes = { firstName: _propTypes.default.string, lastName: _propTypes.default.string, getComponent: _propTypes.default.func, name: _propTypes.default.string, renderers: _propTypes.default.shape({ ActionDropdown: _propTypes.default.func }), t: _propTypes.default.func }; //# sourceMappingURL=User.component.js.map