UNPKG

@talend/react-components

Version:
58 lines 1.55 kB
import PropTypes from 'prop-types'; import Inject from '../../Inject'; import ActionDropdown from '../../Actions/ActionDropdown'; import { getTheme } from '../../theme'; import headerBarCssModule from '../HeaderBar.module.scss'; import { jsx as _jsx } from "react/jsx-runtime"; const theme = getTheme(headerBarCssModule); export function User({ name, firstName, lastName, getComponent, t, ...rest }) { const className = theme('tc-header-bar-action', 'tc-header-bar-user', 'separated'); const Renderers = Inject.getAll(getComponent, { ActionDropdown }); 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__*/_jsx("li", { role: "presentation", className: className, children: /*#__PURE__*/_jsx(Renderers.ActionDropdown, { bsStyle: "link", icon: "talend-user-circle", pullRight: true, label: displayName, "aria-label": ariaLabel, ...rest }) }); } User.propTypes = { firstName: PropTypes.string, lastName: PropTypes.string, getComponent: PropTypes.func, name: PropTypes.string, renderers: PropTypes.shape({ ActionDropdown: PropTypes.func }), t: PropTypes.func }; //# sourceMappingURL=User.component.js.map