UNPKG

matrix-react-sdk

Version:
61 lines (59 loc) 10 kB
"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 = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _languageHandler = require("../../../languageHandler"); var _strings = require("../../../utils/strings"); var _AccessibleButton = _interopRequireDefault(require("./AccessibleButton")); const _excluded = ["children", "getTextToCopy", "border", "className"]; /* Copyright 2024 New Vector Ltd. Copyright 2022 Šimon Brandner <simon.bra.ag@gmail.com> Copyright 2019-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. */ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (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; } const CopyableText = _ref => { let { children, getTextToCopy, border = true, className } = _ref, props = (0, _objectWithoutProperties2.default)(_ref, _excluded); const [tooltip, setTooltip] = (0, _react.useState)(undefined); const onCopyClickInternal = async e => { e.preventDefault(); const text = getTextToCopy(); const successful = !!text && (await (0, _strings.copyPlaintext)(text)); setTooltip(successful ? (0, _languageHandler._t)("common|copied") : (0, _languageHandler._t)("error|failed_copy")); }; const onHideTooltip = () => { if (tooltip) { setTooltip(undefined); } }; const combinedClassName = (0, _classnames.default)("mx_CopyableText", className, { mx_CopyableText_border: border }); return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ className: combinedClassName }, props), children, /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { title: tooltip ?? (0, _languageHandler._t)("action|copy"), onClick: onCopyClickInternal, className: "mx_CopyableText_copyButton", onTooltipOpenChange: open => { if (!open) onHideTooltip(); } })); }; var _default = exports.default = CopyableText; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX3N0cmluZ3MiLCJfQWNjZXNzaWJsZUJ1dHRvbiIsIl9leGNsdWRlZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkNvcHlhYmxlVGV4dCIsIl9yZWYiLCJjaGlsZHJlbiIsImdldFRleHRUb0NvcHkiLCJib3JkZXIiLCJjbGFzc05hbWUiLCJwcm9wcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllczIiLCJ0b29sdGlwIiwic2V0VG9vbHRpcCIsInVzZVN0YXRlIiwidW5kZWZpbmVkIiwib25Db3B5Q2xpY2tJbnRlcm5hbCIsInByZXZlbnREZWZhdWx0IiwidGV4dCIsInN1Y2Nlc3NmdWwiLCJjb3B5UGxhaW50ZXh0IiwiX3QiLCJvbkhpZGVUb29sdGlwIiwiY29tYmluZWRDbGFzc05hbWUiLCJjbGFzc05hbWVzIiwibXhfQ29weWFibGVUZXh0X2JvcmRlciIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJ0aXRsZSIsIm9uQ2xpY2siLCJvblRvb2x0aXBPcGVuQ2hhbmdlIiwib3BlbiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL0NvcHlhYmxlVGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuQ29weXJpZ2h0IDIwMTktMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCI7XG5cbmltcG9ydCB7IF90IH0gZnJvbSBcIi4uLy4uLy4uL2xhbmd1YWdlSGFuZGxlclwiO1xuaW1wb3J0IHsgY29weVBsYWludGV4dCB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9zdHJpbmdzXCI7XG5pbXBvcnQgQWNjZXNzaWJsZUJ1dHRvbiwgeyBCdXR0b25FdmVudCB9IGZyb20gXCIuL0FjY2Vzc2libGVCdXR0b25cIjtcblxuaW50ZXJmYWNlIElQcm9wcyBleHRlbmRzIFJlYWN0LkhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiB7XG4gICAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgZ2V0VGV4dFRvQ29weTogKCkgPT4gc3RyaW5nIHwgbnVsbDtcbiAgICBib3JkZXI/OiBib29sZWFuO1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbn1cblxuY29uc3QgQ29weWFibGVUZXh0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHsgY2hpbGRyZW4sIGdldFRleHRUb0NvcHksIGJvcmRlciA9IHRydWUsIGNsYXNzTmFtZSwgLi4ucHJvcHMgfSkgPT4ge1xuICAgIGNvbnN0IFt0b29sdGlwLCBzZXRUb29sdGlwXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAgIGNvbnN0IG9uQ29weUNsaWNrSW50ZXJuYWwgPSBhc3luYyAoZTogQnV0dG9uRXZlbnQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCB0ZXh0ID0gZ2V0VGV4dFRvQ29weSgpO1xuICAgICAgICBjb25zdCBzdWNjZXNzZnVsID0gISF0ZXh0ICYmIChhd2FpdCBjb3B5UGxhaW50ZXh0KHRleHQpKTtcbiAgICAgICAgc2V0VG9vbHRpcChzdWNjZXNzZnVsID8gX3QoXCJjb21tb258Y29waWVkXCIpIDogX3QoXCJlcnJvcnxmYWlsZWRfY29weVwiKSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG9uSGlkZVRvb2x0aXAgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmICh0b29sdGlwKSB7XG4gICAgICAgICAgICBzZXRUb29sdGlwKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgY29tYmluZWRDbGFzc05hbWUgPSBjbGFzc05hbWVzKFwibXhfQ29weWFibGVUZXh0XCIsIGNsYXNzTmFtZSwge1xuICAgICAgICBteF9Db3B5YWJsZVRleHRfYm9yZGVyOiBib3JkZXIsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y29tYmluZWRDbGFzc05hbWV9IHsuLi5wcm9wc30+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvblxuICAgICAgICAgICAgICAgIHRpdGxlPXt0b29sdGlwID8/IF90KFwiYWN0aW9ufGNvcHlcIil9XG4gICAgICAgICAgICAgICAgb25DbGljaz17b25Db3B5Q2xpY2tJbnRlcm5hbH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteF9Db3B5YWJsZVRleHRfY29weUJ1dHRvblwiXG4gICAgICAgICAgICAgICAgb25Ub29sdGlwT3BlbkNoYW5nZT17KG9wZW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcGVuKSBvbkhpZGVUb29sdGlwKCk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb3B5YWJsZVRleHQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVNBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQW1FLE1BQUFNLFNBQUE7QUFkbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFULHdCQUFBUyxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsV0FBQUssT0FBQSxFQUFBTCxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsQ0FBQUgsT0FBQSxHQUFBTCxDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQXVCQSxNQUFNVyxZQUE4QixHQUFHQyxJQUFBLElBQXFFO0VBQUEsSUFBcEU7TUFBRUMsUUFBUTtNQUFFQyxhQUFhO01BQUVDLE1BQU0sR0FBRyxJQUFJO01BQUVDO0lBQW9CLENBQUMsR0FBQUosSUFBQTtJQUFQSyxLQUFLLE9BQUFDLHlCQUFBLENBQUFyQixPQUFBLEVBQUFlLElBQUEsRUFBQXRCLFNBQUE7RUFDakcsTUFBTSxDQUFDNkIsT0FBTyxFQUFFQyxVQUFVLENBQUMsR0FBRyxJQUFBQyxlQUFRLEVBQXFCQyxTQUFTLENBQUM7RUFFckUsTUFBTUMsbUJBQW1CLEdBQUcsTUFBTy9CLENBQWMsSUFBb0I7SUFDakVBLENBQUMsQ0FBQ2dDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xCLE1BQU1DLElBQUksR0FBR1gsYUFBYSxDQUFDLENBQUM7SUFDNUIsTUFBTVksVUFBVSxHQUFHLENBQUMsQ0FBQ0QsSUFBSSxLQUFLLE1BQU0sSUFBQUUsc0JBQWEsRUFBQ0YsSUFBSSxDQUFDLENBQUM7SUFDeERMLFVBQVUsQ0FBQ00sVUFBVSxHQUFHLElBQUFFLG1CQUFFLEVBQUMsZUFBZSxDQUFDLEdBQUcsSUFBQUEsbUJBQUUsRUFBQyxtQkFBbUIsQ0FBQyxDQUFDO0VBQzFFLENBQUM7RUFFRCxNQUFNQyxhQUFhLEdBQUdBLENBQUEsS0FBWTtJQUM5QixJQUFJVixPQUFPLEVBQUU7TUFDVEMsVUFBVSxDQUFDRSxTQUFTLENBQUM7SUFDekI7RUFDSixDQUFDO0VBRUQsTUFBTVEsaUJBQWlCLEdBQUcsSUFBQUMsbUJBQVUsRUFBQyxpQkFBaUIsRUFBRWYsU0FBUyxFQUFFO0lBQy9EZ0Isc0JBQXNCLEVBQUVqQjtFQUM1QixDQUFDLENBQUM7RUFFRixvQkFDSWpDLE1BQUEsQ0FBQWUsT0FBQSxDQUFBb0MsYUFBQSxZQUFBQyxTQUFBLENBQUFyQyxPQUFBO0lBQUttQixTQUFTLEVBQUVjO0VBQWtCLEdBQUtiLEtBQUssR0FDdkNKLFFBQVEsZUFDVC9CLE1BQUEsQ0FBQWUsT0FBQSxDQUFBb0MsYUFBQSxDQUFDNUMsaUJBQUEsQ0FBQVEsT0FBZ0I7SUFDYnNDLEtBQUssRUFBRWhCLE9BQU8sSUFBSSxJQUFBUyxtQkFBRSxFQUFDLGFBQWEsQ0FBRTtJQUNwQ1EsT0FBTyxFQUFFYixtQkFBb0I7SUFDN0JQLFNBQVMsRUFBQyw0QkFBNEI7SUFDdENxQixtQkFBbUIsRUFBR0MsSUFBSSxJQUFLO01BQzNCLElBQUksQ0FBQ0EsSUFBSSxFQUFFVCxhQUFhLENBQUMsQ0FBQztJQUM5QjtFQUFFLENBQ0wsQ0FDQSxDQUFDO0FBRWQsQ0FBQztBQUFDLElBQUFVLFFBQUEsR0FBQUMsT0FBQSxDQUFBM0MsT0FBQSxHQUVhYyxZQUFZIiwiaWdub3JlTGlzdCI6W119