UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

71 lines (69 loc) 4.33 kB
var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; define(["require", "exports", "react", "../../utilities/css", "../../Image", "./Persona.Props", "./PersonaConsts", "../../utilities/properties", "./Persona.scss"], function (require, exports, React, css_1, Image_1, Persona_Props_1, PersonaConsts_1, properties_1) { "use strict"; var Persona = (function (_super) { __extends(Persona, _super); function Persona() { return _super.apply(this, arguments) || this; } Persona.prototype.render = function () { var _a = this.props, className = _a.className, size = _a.size, imageUrl = _a.imageUrl, imageInitials = _a.imageInitials, initialsColor = _a.initialsColor, presence = _a.presence, primaryText = _a.primaryText, secondaryText = _a.secondaryText, tertiaryText = _a.tertiaryText, optionalText = _a.optionalText, hidePersonaDetails = _a.hidePersonaDetails, imageShouldFadeIn = _a.imageShouldFadeIn; var presenceElement = null; if (presence !== Persona_Props_1.PersonaPresence.none) { var userPresence = Persona_Props_1.PersonaPresence[presence], statusIcon = null; switch (userPresence) { case 'online': userPresence = 'SkypeCheck'; break; case 'away': userPresence = 'SkypeClock'; break; case 'dnd': userPresence = 'SkypeMinus'; break; default: userPresence = ''; } if (userPresence) { var iconClass = "ms-Persona-presenceIcon ms-Icon ms-Icon--" + userPresence; statusIcon = React.createElement("i", { className: iconClass }); } presenceElement = React.createElement("div", { className: 'ms-Persona-presence' }, statusIcon); } var divProps = properties_1.getNativeProps(this.props, properties_1.divProperties); var personaDetails = React.createElement("div", { className: 'ms-Persona-details' }, React.createElement("div", { className: 'ms-Persona-primaryText' }, primaryText), secondaryText ? (React.createElement("div", { className: 'ms-Persona-secondaryText' }, secondaryText)) : (null), React.createElement("div", { className: 'ms-Persona-tertiaryText' }, tertiaryText), React.createElement("div", { className: 'ms-Persona-optionalText' }, optionalText), this.props.children); return (React.createElement("div", __assign({}, divProps, { className: css_1.css('ms-Persona', className, PersonaConsts_1.PERSONA_SIZE[size], PersonaConsts_1.PERSONA_PRESENCE[presence]) }), size !== Persona_Props_1.PersonaSize.tiny && (React.createElement("div", { className: 'ms-Persona-imageArea' }, React.createElement("div", { className: css_1.css('ms-Persona-initials', PersonaConsts_1.PERSONA_INITIALS_COLOR[initialsColor]) }, imageInitials), React.createElement(Image_1.Image, { className: 'ms-Persona-image', imageFit: Image_1.ImageFit.cover, src: imageUrl, shouldFadeIn: imageShouldFadeIn }))), presenceElement, (!hidePersonaDetails || (size === Persona_Props_1.PersonaSize.tiny)) && personaDetails)); }; return Persona; }(React.Component)); Persona.defaultProps = { primaryText: '', size: Persona_Props_1.PersonaSize.regular, initialsColor: Persona_Props_1.PersonaInitialsColor.blue, presence: Persona_Props_1.PersonaPresence.none }; exports.Persona = Persona; }); //# sourceMappingURL=Persona.js.map