@talend/react-components
Version:
Set of react components.
65 lines (64 loc) • 1.99 kB
JavaScript
;
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