UNPKG

@carbon/ibm-security

Version:

Carbon for Cloud & Cognitive IBM Security UI components

63 lines (61 loc) 2.78 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.namespace = exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _classnames2 = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireDefault(require("react")); var _namespace = require("../../globals/namespace"); var _excluded = ["className", "large", "profile"]; /** * @file Profile image. * @copyright IBM Security 2019 */ var namespace = exports.namespace = (0, _namespace.getComponentNamespace)('profile-image'); /** * Profile image component. * @param {Record<string, any>} props Profile image props. * @returns {ProfileImage} Profile image instance. */ var ProfileImage = function ProfileImage(_ref) { var className = _ref.className, large = _ref.large, profile = _ref.profile, other = (0, _objectWithoutProperties2.default)(_ref, _excluded); var classNames = (0, _classnames2.default)(namespace, className, (0, _defineProperty2.default)({}, "".concat(namespace, "--large"), large)); return profile.image_url ? /*#__PURE__*/_react.default.createElement("img", (0, _extends2.default)({ className: classNames, alt: "".concat(profile.name.first_name, " ").concat(profile.name.surname), src: profile.image_url }, other)) : /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({ className: classNames }, other), "".concat(profile.name.first_name.charAt(0)).concat(profile.name.surname.charAt(0))); }; ProfileImage.defaultProps = { className: null, large: false }; ProfileImage.propTypes = { /** @type {string} Extra classes. */ className: _propTypes.default.string, /** @type {boolean} Determines whether the profile image is large or not. */ large: _propTypes.default.bool, /** @type {Record<string, any>} An object list of profile information. */ profile: _propTypes.default.shape({ /** @type {string} Profile image URL. */ image_url: _propTypes.default.string, /** @type {Record<string, string>} An object list of profile name information. */ name: _propTypes.default.shape({ /** @type {string} First name. */ first_name: _propTypes.default.string.isRequired, /** @type {string} Surname. */ surname: _propTypes.default.string.isRequired }).isRequired }).isRequired }; var _default = exports.default = ProfileImage;