UNPKG

@atlaskit/profilecard

Version:

A React component to display a card with user information.

160 lines (159 loc) 8.13 kB
/* main.tsx generated by @compiled/babel-plugin v0.36.1 */ "use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.TeamProfileCard = void 0; require("./main.compiled.css"); var _runtime = require("@compiled/react/runtime"); var _react = _interopRequireWildcard(require("react")); var _reactIntlNext = require("react-intl-next"); var _analyticsNext = require("@atlaskit/analytics-next"); var _avatarGroup = _interopRequireDefault(require("@atlaskit/avatar-group")); var _heading = _interopRequireDefault(require("@atlaskit/heading")); var _verifiedTeamIcon = require("@atlaskit/people-teams-ui-public/verified-team-icon"); var _compiled = require("@atlaskit/primitives/compiled"); var _teamsAvatar = _interopRequireDefault(require("@atlaskit/teams-avatar")); var _teamsPublic = require("@atlaskit/teams-public"); var _analytics = require("../../util/analytics"); var _main = require("./team-connections/main"); var _teamContainersSkeleton = require("./team-containers-skeleton"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var noop = function noop() {}; var styles = { wrapperStyles: "_2rkopd34 _v564nm7n _1reo15vq _18m915vq _1e0c1txw _2lx21bp4 _1bsb1gwv _1ul95x59 _4t3i1wug", containerStyles: "_otyrpxbi", avatarImageStyles: "_kqswstnw _18u01ejb", headerImageStyles: "_5ral1dfr _s7n4jp4b _4t3i53f4 _1bsb1osq", teamInformationStyles: "_18u01ejb _19pku2gc _2hwx1ejb", teamConnectionHeaderStyles: "_18u0u2gc _2hwxu2gc _c71lx2si _18m91wug", teamConnectionContainerStyles: "_18u01ejb _2hwx1ejb", connectionTitleStyles: "_11c81vhk _18u0pxbi _19pkpxbi _2hwxpxbi _otyr12x7 _syaz1gjq", viewProfileContainerStyles: "_4cvr1h6o _uwhke4h9 _15a5nqa1 _1i53muej _19bv1ejb _u5f31ejb", viewProfileButtonStyles: "_2rkoiti9 _189ee4h9 _1dqonqa1 _1h6dmuej _bfhksm61 _syaz1gjq _1bsb1osq _4t3i1ul9 _19pkpxbi" }; var TeamCardWrapper = function TeamCardWrapper(_ref) { var id = _ref.id, children = _ref.children; return /*#__PURE__*/_react.default.createElement(_compiled.Box, { xcss: styles.wrapperStyles, testId: "team-card-".concat(id) }, children); }; var HeaderImage = function HeaderImage(_ref2) { var srcUrl = _ref2.srcUrl; return /*#__PURE__*/_react.default.createElement(_compiled.Box, { as: "img", src: srcUrl, xcss: styles.headerImageStyles, testId: "profile-header-image", alt: "team-header-image" }); }; var TeamProfileCard = exports.TeamProfileCard = function TeamProfileCard(_ref3) { var containerId = _ref3.containerId, teamId = _ref3.teamId, displayName = _ref3.displayName, description = _ref3.description, avatarImageUrl = _ref3.avatarImageUrl, headerImageUrl = _ref3.headerImageUrl, memberAvatars = _ref3.memberAvatars, memberCount = _ref3.memberCount, cloudId = _ref3.cloudId, userId = _ref3.userId, isVerified = _ref3.isVerified, teamProfileUrl = _ref3.teamProfileUrl; var _useTeamContainers = (0, _teamsPublic.useTeamContainers)(teamId), teamContainers = _useTeamContainers.teamContainers, loading = _useTeamContainers.loading; var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(), createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent; // Ensure that the current container is not the only connection for this team before showing the "Where we work" section var hasOtherTeamConnections = (0, _react.useMemo)(function () { return teamContainers.filter(function (tc) { return tc.id === containerId; }).length < teamContainers.length; }, [containerId, teamContainers]); var onClick = (0, _react.useCallback)(function () { if (createAnalyticsEvent) { (0, _analytics.fireEvent)(createAnalyticsEvent, { action: 'clicked', actionSubject: 'button', actionSubjectId: 'viewTeamProfileButton', attributes: {} }); } window.open(teamProfileUrl, '_blank'); }, [createAnalyticsEvent, teamProfileUrl]); return /*#__PURE__*/_react.default.createElement(TeamCardWrapper, { id: teamId }, /*#__PURE__*/_react.default.createElement(HeaderImage, { srcUrl: headerImageUrl }), /*#__PURE__*/_react.default.createElement(_compiled.Stack, { space: "space.200", xcss: styles.containerStyles }, /*#__PURE__*/_react.default.createElement(_compiled.Inline, { spread: "space-between", alignBlock: "center" }, /*#__PURE__*/_react.default.createElement(_compiled.Box, { xcss: styles.avatarImageStyles }, /*#__PURE__*/_react.default.createElement(_teamsAvatar.default, { size: "medium", src: avatarImageUrl }))), /*#__PURE__*/_react.default.createElement(_compiled.Stack, { xcss: styles.teamInformationStyles, space: "space.200" }, /*#__PURE__*/_react.default.createElement(_compiled.Stack, { space: "space.050" }, /*#__PURE__*/_react.default.createElement(_compiled.Inline, { alignBlock: "center" }, /*#__PURE__*/_react.default.createElement(_heading.default, { size: "medium" }, displayName), isVerified && /*#__PURE__*/_react.default.createElement(_verifiedTeamIcon.VerifiedTeamIcon, { showTooltip: true })), /*#__PURE__*/_react.default.createElement(_compiled.Text, { color: "color.text.subtlest" }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, { defaultMessage: "Contributing team \u2022 {count, plural, one {# member} other {# members}}", values: { count: memberCount }, id: "people-and-teams.team-profile-card.member-count" }))), /*#__PURE__*/_react.default.createElement(_compiled.Inline, null, /*#__PURE__*/_react.default.createElement(_avatarGroup.default, { appearance: "stack", data: memberAvatars })), description && /*#__PURE__*/_react.default.createElement(_compiled.Text, { color: "color.text", maxLines: 3 }, description)), (loading || hasOtherTeamConnections) && /*#__PURE__*/_react.default.createElement(_compiled.Box, { xcss: hasOtherTeamConnections ? styles.teamConnectionHeaderStyles : styles.teamConnectionContainerStyles }, hasOtherTeamConnections && /*#__PURE__*/_react.default.createElement(_compiled.Box, { xcss: styles.connectionTitleStyles }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, { defaultMessage: "Where we work", id: "people-and-teams.team-profile-card.team-connections" })), /*#__PURE__*/_react.default.createElement(_teamsPublic.TeamContainers, { teamId: teamId, onAddAContainerClick: noop, userId: userId, cloudId: cloudId, components: { ContainerCard: _main.TeamConnections, TeamContainersSkeleton: _teamContainersSkeleton.TeamContainersSkeleton }, filterContainerId: containerId, isDisplayedOnProfileCard: true })), teamProfileUrl && /*#__PURE__*/_react.default.createElement(_compiled.Stack, { xcss: styles.viewProfileContainerStyles }, /*#__PURE__*/_react.default.createElement(_compiled.Pressable, { onClick: onClick, xcss: styles.viewProfileButtonStyles, testId: "view-profile-button" }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, { defaultMessage: "View profile", id: "people-and-teams.team-profile-card.view-profile" }))))); };