UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

82 lines (81 loc) 2.08 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true, }); function _export(target, all) { for (var name in all) Object.defineProperty(target, name, { enumerable: true, get: all[name], }); } _export(exports, { Avatar: function () { return Avatar; }, defaultStatusTitles: function () { return defaultStatusTitles; }, }); const _interop_require_default = require('@swc/helpers/_/_interop_require_default'); const _interop_require_wildcard = require('@swc/helpers/_/_interop_require_wildcard'); const _classnames = /*#__PURE__*/ _interop_require_default._( require('classnames'), ); const _react = /*#__PURE__*/ _interop_require_wildcard._(require('react')); const _index = require('../../utils/index.js'); const _VisuallyHidden = require('../VisuallyHidden/VisuallyHidden.js'); const getBackground = (color) => { if (!color) return ''; return (0, _index.isSoftBackground)(color) ? _index.SoftBackgrounds[color] : color; }; const defaultStatusTitles = { away: 'Away', busy: 'Busy', offline: 'Offline', online: 'Online', }; const Avatar = _react.forwardRef((props, ref) => { let { size = 'small', status, abbreviation, image, backgroundColor, translatedStatusTitles, className, style, ...rest } = props; let statusTitles = { ...defaultStatusTitles, ...translatedStatusTitles, }; return _react.createElement( _index.Box, { as: 'span', className: (0, _classnames.default)('iui-avatar', className), 'data-iui-size': 'medium' !== size ? size : void 0, 'data-iui-status': status, style: { backgroundColor: getBackground(backgroundColor), ...style, }, ref: ref, ...rest, }, image ? null : abbreviation?.substring(0, 2), image, status ? _react.createElement( _VisuallyHidden.VisuallyHidden, null, statusTitles[status], ) : null, ); }); if ('development' === process.env.NODE_ENV) Avatar.displayName = 'Avatar';