@atlaskit/profilecard
Version:
A React component to display a card with user information.
160 lines (159 loc) • 8.13 kB
JavaScript
/* 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"
})))));
};