matrix-react-sdk
Version:
SDK for matrix.org using React
67 lines (65 loc) • 8.92 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _compoundWeb = require("@vector-im/compound-web");
var _MemberAvatar = _interopRequireDefault(require("../avatars/MemberAvatar"));
var _AccessibleButton = _interopRequireDefault(require("./AccessibleButton"));
const _excluded = ["members", "size", "overflow", "tooltipLabel", "tooltipShortcut", "children", "viewUserOnClick", "onClick"];
/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
/**
* A component which displays a list of avatars in a row, with a tooltip showing the names of the users.
*
* Any additional props, not named explicitly here, are passed to the underlying {@link AccessibleButton}.
*/
const FacePile = _ref => {
let {
members,
size,
overflow,
tooltipLabel,
tooltipShortcut,
children,
viewUserOnClick = true,
onClick
} = _ref,
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
const faces = members.map(tooltipLabel ? m => /*#__PURE__*/_react.default.createElement(_MemberAvatar.default, {
key: m.userId,
member: m,
size: size,
hideTitle: true
}) : m => /*#__PURE__*/_react.default.createElement(_compoundWeb.Tooltip, {
key: m.userId,
label: m.name,
caption: tooltipShortcut
}, /*#__PURE__*/_react.default.createElement(_MemberAvatar.default, {
member: m,
size: size,
viewUserOnClick: !onClick && viewUserOnClick,
hideTitle: true
})));
const pileContents = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, faces, overflow ? /*#__PURE__*/_react.default.createElement("span", {
className: "mx_FacePile_more"
}) : null);
const content = /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, (0, _extends2.default)({}, props, {
className: "mx_FacePile",
onClick: onClick ?? null
}), /*#__PURE__*/_react.default.createElement(_compoundWeb.AvatarStack, null, pileContents), children);
return tooltipLabel ? /*#__PURE__*/_react.default.createElement(_compoundWeb.Tooltip, {
label: tooltipLabel,
caption: tooltipShortcut
}, content) : content;
};
var _default = exports.default = FacePile;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jb21wb3VuZFdlYiIsIl9NZW1iZXJBdmF0YXIiLCJfQWNjZXNzaWJsZUJ1dHRvbiIsIl9leGNsdWRlZCIsIkZhY2VQaWxlIiwiX3JlZiIsIm1lbWJlcnMiLCJzaXplIiwib3ZlcmZsb3ciLCJ0b29sdGlwTGFiZWwiLCJ0b29sdGlwU2hvcnRjdXQiLCJjaGlsZHJlbiIsInZpZXdVc2VyT25DbGljayIsIm9uQ2xpY2siLCJwcm9wcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllczIiLCJkZWZhdWx0IiwiZmFjZXMiLCJtYXAiLCJtIiwiY3JlYXRlRWxlbWVudCIsImtleSIsInVzZXJJZCIsIm1lbWJlciIsImhpZGVUaXRsZSIsIlRvb2x0aXAiLCJsYWJlbCIsIm5hbWUiLCJjYXB0aW9uIiwicGlsZUNvbnRlbnRzIiwiRnJhZ21lbnQiLCJjbGFzc05hbWUiLCJjb250ZW50IiwiX2V4dGVuZHMyIiwiQXZhdGFyU3RhY2siLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9lbGVtZW50cy9GYWNlUGlsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0LCB7IEZDLCBIVE1MQXR0cmlidXRlcywgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBSb29tTWVtYmVyIH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuaW1wb3J0IHsgQXZhdGFyU3RhY2ssIFRvb2x0aXAgfSBmcm9tIFwiQHZlY3Rvci1pbS9jb21wb3VuZC13ZWJcIjtcblxuaW1wb3J0IE1lbWJlckF2YXRhciBmcm9tIFwiLi4vYXZhdGFycy9NZW1iZXJBdmF0YXJcIjtcbmltcG9ydCBBY2Nlc3NpYmxlQnV0dG9uLCB7IEJ1dHRvbkV2ZW50IH0gZnJvbSBcIi4vQWNjZXNzaWJsZUJ1dHRvblwiO1xuXG5pbnRlcmZhY2UgSVByb3BzIGV4dGVuZHMgT21pdDxIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4sIFwib25DaGFuZ2VcIj4ge1xuICAgIG1lbWJlcnM6IFJvb21NZW1iZXJbXTtcbiAgICBzaXplOiBzdHJpbmc7XG4gICAgb3ZlcmZsb3c6IGJvb2xlYW47XG4gICAgdG9vbHRpcExhYmVsPzogc3RyaW5nO1xuICAgIHRvb2x0aXBTaG9ydGN1dD86IHN0cmluZztcbiAgICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgICB2aWV3VXNlck9uQ2xpY2s/OiBib29sZWFuO1xuICAgIG9uQ2xpY2s/OiAoZTogQnV0dG9uRXZlbnQpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIEEgY29tcG9uZW50IHdoaWNoIGRpc3BsYXlzIGEgbGlzdCBvZiBhdmF0YXJzIGluIGEgcm93LCB3aXRoIGEgdG9vbHRpcCBzaG93aW5nIHRoZSBuYW1lcyBvZiB0aGUgdXNlcnMuXG4gKlxuICogQW55IGFkZGl0aW9uYWwgcHJvcHMsIG5vdCBuYW1lZCBleHBsaWNpdGx5IGhlcmUsIGFyZSBwYXNzZWQgdG8gdGhlIHVuZGVybHlpbmcge0BsaW5rIEFjY2Vzc2libGVCdXR0b259LlxuICovXG5jb25zdCBGYWNlUGlsZTogRkM8SVByb3BzPiA9ICh7XG4gICAgbWVtYmVycyxcbiAgICBzaXplLFxuICAgIG92ZXJmbG93LFxuICAgIHRvb2x0aXBMYWJlbCxcbiAgICB0b29sdGlwU2hvcnRjdXQsXG4gICAgY2hpbGRyZW4sXG4gICAgdmlld1VzZXJPbkNsaWNrID0gdHJ1ZSxcbiAgICBvbkNsaWNrLFxuICAgIC4uLnByb3BzXG59KSA9PiB7XG4gICAgY29uc3QgZmFjZXMgPSBtZW1iZXJzLm1hcChcbiAgICAgICAgdG9vbHRpcExhYmVsXG4gICAgICAgICAgICA/IChtKSA9PiA8TWVtYmVyQXZhdGFyIGtleT17bS51c2VySWR9IG1lbWJlcj17bX0gc2l6ZT17c2l6ZX0gaGlkZVRpdGxlIC8+XG4gICAgICAgICAgICA6IChtKSA9PiAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcCBrZXk9e20udXNlcklkfSBsYWJlbD17bS5uYW1lfSBjYXB0aW9uPXt0b29sdGlwU2hvcnRjdXR9PlxuICAgICAgICAgICAgICAgICAgICAgIDxNZW1iZXJBdmF0YXIgbWVtYmVyPXttfSBzaXplPXtzaXplfSB2aWV3VXNlck9uQ2xpY2s9eyFvbkNsaWNrICYmIHZpZXdVc2VyT25DbGlja30gaGlkZVRpdGxlIC8+XG4gICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICksXG4gICAgKTtcblxuICAgIGNvbnN0IHBpbGVDb250ZW50cyA9IChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIHtmYWNlc31cbiAgICAgICAgICAgIHtvdmVyZmxvdyA/IDxzcGFuIGNsYXNzTmFtZT1cIm14X0ZhY2VQaWxlX21vcmVcIiAvPiA6IG51bGx9XG4gICAgICAgIDwvPlxuICAgICk7XG5cbiAgICBjb25zdCBjb250ZW50ID0gKFxuICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvbiB7Li4ucHJvcHN9IGNsYXNzTmFtZT1cIm14X0ZhY2VQaWxlXCIgb25DbGljaz17b25DbGljayA/PyBudWxsfT5cbiAgICAgICAgICAgIDxBdmF0YXJTdGFjaz57cGlsZUNvbnRlbnRzfTwvQXZhdGFyU3RhY2s+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvQWNjZXNzaWJsZUJ1dHRvbj5cbiAgICApO1xuXG4gICAgcmV0dXJuIHRvb2x0aXBMYWJlbCA/IChcbiAgICAgICAgPFRvb2x0aXAgbGFiZWw9e3Rvb2x0aXBMYWJlbH0gY2FwdGlvbj17dG9vbHRpcFNob3J0Y3V0fT5cbiAgICAgICAgICAgIHtjb250ZW50fVxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgKSA6IChcbiAgICAgICAgY29udGVudFxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGYWNlUGlsZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsYUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUFtRSxNQUFBSSxTQUFBO0FBYm5FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBb0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNQyxRQUFvQixHQUFHQyxJQUFBLElBVXZCO0VBQUEsSUFWd0I7TUFDMUJDLE9BQU87TUFDUEMsSUFBSTtNQUNKQyxRQUFRO01BQ1JDLFlBQVk7TUFDWkMsZUFBZTtNQUNmQyxRQUFRO01BQ1JDLGVBQWUsR0FBRyxJQUFJO01BQ3RCQztJQUVKLENBQUMsR0FBQVIsSUFBQTtJQURNUyxLQUFLLE9BQUFDLHlCQUFBLENBQUFDLE9BQUEsRUFBQVgsSUFBQSxFQUFBRixTQUFBO0VBRVIsTUFBTWMsS0FBSyxHQUFHWCxPQUFPLENBQUNZLEdBQUcsQ0FDckJULFlBQVksR0FDTFUsQ0FBQyxpQkFBS3RCLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQUksYUFBQSxDQUFDbkIsYUFBQSxDQUFBZSxPQUFZO0lBQUNLLEdBQUcsRUFBRUYsQ0FBQyxDQUFDRyxNQUFPO0lBQUNDLE1BQU0sRUFBRUosQ0FBRTtJQUFDWixJQUFJLEVBQUVBLElBQUs7SUFBQ2lCLFNBQVM7RUFBQSxDQUFFLENBQUMsR0FDdEVMLENBQUMsaUJBQ0V0QixNQUFBLENBQUFtQixPQUFBLENBQUFJLGFBQUEsQ0FBQ3BCLFlBQUEsQ0FBQXlCLE9BQU87SUFBQ0osR0FBRyxFQUFFRixDQUFDLENBQUNHLE1BQU87SUFBQ0ksS0FBSyxFQUFFUCxDQUFDLENBQUNRLElBQUs7SUFBQ0MsT0FBTyxFQUFFbEI7RUFBZ0IsZ0JBQzVEYixNQUFBLENBQUFtQixPQUFBLENBQUFJLGFBQUEsQ0FBQ25CLGFBQUEsQ0FBQWUsT0FBWTtJQUFDTyxNQUFNLEVBQUVKLENBQUU7SUFBQ1osSUFBSSxFQUFFQSxJQUFLO0lBQUNLLGVBQWUsRUFBRSxDQUFDQyxPQUFPLElBQUlELGVBQWdCO0lBQUNZLFNBQVM7RUFBQSxDQUFFLENBQ3pGLENBRXZCLENBQUM7RUFFRCxNQUFNSyxZQUFZLGdCQUNkaEMsTUFBQSxDQUFBbUIsT0FBQSxDQUFBSSxhQUFBLENBQUF2QixNQUFBLENBQUFtQixPQUFBLENBQUFjLFFBQUEsUUFDS2IsS0FBSyxFQUNMVCxRQUFRLGdCQUFHWCxNQUFBLENBQUFtQixPQUFBLENBQUFJLGFBQUE7SUFBTVcsU0FBUyxFQUFDO0VBQWtCLENBQUUsQ0FBQyxHQUFHLElBQ3RELENBQ0w7RUFFRCxNQUFNQyxPQUFPLGdCQUNUbkMsTUFBQSxDQUFBbUIsT0FBQSxDQUFBSSxhQUFBLENBQUNsQixpQkFBQSxDQUFBYyxPQUFnQixNQUFBaUIsU0FBQSxDQUFBakIsT0FBQSxNQUFLRixLQUFLO0lBQUVpQixTQUFTLEVBQUMsYUFBYTtJQUFDbEIsT0FBTyxFQUFFQSxPQUFPLElBQUk7RUFBSyxpQkFDMUVoQixNQUFBLENBQUFtQixPQUFBLENBQUFJLGFBQUEsQ0FBQ3BCLFlBQUEsQ0FBQWtDLFdBQVcsUUFBRUwsWUFBMEIsQ0FBQyxFQUN4Q2xCLFFBQ2EsQ0FDckI7RUFFRCxPQUFPRixZQUFZLGdCQUNmWixNQUFBLENBQUFtQixPQUFBLENBQUFJLGFBQUEsQ0FBQ3BCLFlBQUEsQ0FBQXlCLE9BQU87SUFBQ0MsS0FBSyxFQUFFakIsWUFBYTtJQUFDbUIsT0FBTyxFQUFFbEI7RUFBZ0IsR0FDbERzQixPQUNJLENBQUMsR0FFVkEsT0FDSDtBQUNMLENBQUM7QUFBQyxJQUFBRyxRQUFBLEdBQUFDLE9BQUEsQ0FBQXBCLE9BQUEsR0FFYVosUUFBUSIsImlnbm9yZUxpc3QiOltdfQ==