matrix-react-sdk
Version:
SDK for matrix.org using React
42 lines (40 loc) • 4.77 kB
JavaScript
;
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 _TextWithTooltip = _interopRequireDefault(require("./TextWithTooltip"));
const _excluded = ["children", "tooltip"];
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 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.
*/
class LinkWithTooltip extends _react.default.Component {
constructor(props) {
super(props);
}
render() {
const _this$props = this.props,
{
children,
tooltip
} = _this$props,
props = (0, _objectWithoutProperties2.default)(_this$props, _excluded);
return /*#__PURE__*/_react.default.createElement(_TextWithTooltip.default
// Disable focusing on the tooltip target to avoid double / nested focus. The contained anchor element
// itself allows focusing which also triggers the tooltip.
, (0, _extends2.default)({
tabIndex: -1,
tooltip: tooltip,
onClick: e => e.target.blur() // Force tooltip to hide on clickout
}, props), children);
}
}
exports.default = LinkWithTooltip;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9UZXh0V2l0aFRvb2x0aXAiLCJfZXhjbHVkZWQiLCJMaW5rV2l0aFRvb2x0aXAiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJyZW5kZXIiLCJfdGhpcyRwcm9wcyIsImNoaWxkcmVuIiwidG9vbHRpcCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllczIiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsInRhYkluZGV4Iiwib25DbGljayIsImUiLCJ0YXJnZXQiLCJibHVyIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL0xpbmtXaXRoVG9vbHRpcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuICovXG5cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFRleHRXaXRoVG9vbHRpcCBmcm9tIFwiLi9UZXh0V2l0aFRvb2x0aXBcIjtcblxuaW50ZXJmYWNlIElQcm9wcyBleHRlbmRzIE9taXQ8UmVhY3QuQ29tcG9uZW50UHJvcHM8dHlwZW9mIFRleHRXaXRoVG9vbHRpcD4sIFwidGFiSW5kZXhcIiB8IFwib25DbGlja1wiIHwgXCJ0b29sdGlwXCI+IHtcbiAgICB0b29sdGlwOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExpbmtXaXRoVG9vbHRpcCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHM+IHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IElQcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xuICAgICAgICBjb25zdCB7IGNoaWxkcmVuLCB0b29sdGlwLCAuLi5wcm9wcyB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFRleHRXaXRoVG9vbHRpcFxuICAgICAgICAgICAgICAgIC8vIERpc2FibGUgZm9jdXNpbmcgb24gdGhlIHRvb2x0aXAgdGFyZ2V0IHRvIGF2b2lkIGRvdWJsZSAvIG5lc3RlZCBmb2N1cy4gVGhlIGNvbnRhaW5lZCBhbmNob3IgZWxlbWVudFxuICAgICAgICAgICAgICAgIC8vIGl0c2VsZiBhbGxvd3MgZm9jdXNpbmcgd2hpY2ggYWxzbyB0cmlnZ2VycyB0aGUgdG9vbHRpcC5cbiAgICAgICAgICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgICAgICAgICAgdG9vbHRpcD17dG9vbHRpcH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5ibHVyKCl9IC8vIEZvcmNlIHRvb2x0aXAgdG8gaGlkZSBvbiBjbGlja291dFxuICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L1RleHRXaXRoVG9vbHRpcD5cbiAgICAgICAgKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGdCQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFBZ0QsTUFBQUUsU0FBQTtBQVZoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVVlLE1BQU1DLGVBQWUsU0FBU0MsY0FBSyxDQUFDQyxTQUFTLENBQVM7RUFDMURDLFdBQVdBLENBQUNDLEtBQWEsRUFBRTtJQUM5QixLQUFLLENBQUNBLEtBQUssQ0FBQztFQUNoQjtFQUVPQyxNQUFNQSxDQUFBLEVBQW9CO0lBQzdCLE1BQUFDLFdBQUEsR0FBd0MsSUFBSSxDQUFDRixLQUFLO01BQTVDO1FBQUVHLFFBQVE7UUFBRUM7TUFBa0IsQ0FBQyxHQUFBRixXQUFBO01BQVBGLEtBQUssT0FBQUsseUJBQUEsQ0FBQUMsT0FBQSxFQUFBSixXQUFBLEVBQUFQLFNBQUE7SUFFbkMsb0JBQ0lKLE1BQUEsQ0FBQWUsT0FBQSxDQUFBQyxhQUFBLENBQUNiLGdCQUFBLENBQUFZO0lBQ0c7SUFDQTtJQUFBLE1BQUFFLFNBQUEsQ0FBQUYsT0FBQTtNQUNBRyxRQUFRLEVBQUUsQ0FBQyxDQUFFO01BQ2JMLE9BQU8sRUFBRUEsT0FBUTtNQUNqQk0sT0FBTyxFQUFHQyxDQUFDLElBQU1BLENBQUMsQ0FBQ0MsTUFBTSxDQUFpQkMsSUFBSSxDQUFDLENBQUUsQ0FBQztJQUFBLEdBQzlDYixLQUFLLEdBRVJHLFFBQ1ksQ0FBQztFQUUxQjtBQUNKO0FBQUNXLE9BQUEsQ0FBQVIsT0FBQSxHQUFBVixlQUFBIiwiaWdub3JlTGlzdCI6W119