UNPKG

matrix-react-sdk

Version:
52 lines (49 loc) 6.35 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); /* 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 simple waveform component. This renders bars (centered vertically) for each * height provided in the component properties. Updating the properties will update * the rendered waveform. * * For CSS purposes, a mx_Waveform_bar_100pct class is added when the bar should be * "filled", as a demonstration of the progress property. */ class Waveform extends _react.default.PureComponent { render() { return /*#__PURE__*/_react.default.createElement("div", { className: "mx_Waveform" }, this.props.relHeights.map((h, i) => { const progress = this.props.progress; const isCompleteBar = i / this.props.relHeights.length <= progress && progress > 0; const classes = (0, _classnames.default)({ mx_Waveform_bar: true, mx_Waveform_bar_100pct: isCompleteBar }); return /*#__PURE__*/_react.default.createElement("span", { key: i, style: { "--barHeight": h }, className: classes }); })); } } exports.default = Waveform; (0, _defineProperty2.default)(Waveform, "defaultProps", { progress: 1 }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiV2F2ZWZvcm0iLCJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJyZW5kZXIiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInByb3BzIiwicmVsSGVpZ2h0cyIsIm1hcCIsImgiLCJpIiwicHJvZ3Jlc3MiLCJpc0NvbXBsZXRlQmFyIiwibGVuZ3RoIiwiY2xhc3NlcyIsImNsYXNzTmFtZXMiLCJteF9XYXZlZm9ybV9iYXIiLCJteF9XYXZlZm9ybV9iYXJfMTAwcGN0Iiwia2V5Iiwic3R5bGUiLCJleHBvcnRzIiwiX2RlZmluZVByb3BlcnR5MiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2F1ZGlvX21lc3NhZ2VzL1dhdmVmb3JtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QsIHsgQ1NTUHJvcGVydGllcyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIjtcblxuaW50ZXJmYWNlIFdhdmVmb3JtQ1NTUHJvcGVydGllcyBleHRlbmRzIENTU1Byb3BlcnRpZXMge1xuICAgIFwiLS1iYXJIZWlnaHRcIjogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgSVByb3BzIHtcbiAgICByZWxIZWlnaHRzOiBudW1iZXJbXTsgLy8gcmVsYXRpdmUgaGVpZ2h0cyAoMC0xKVxuICAgIHByb2dyZXNzOiBudW1iZXI7IC8vIHBlcmNlbnQgY29tcGxldGUsIDAtMSwgZGVmYXVsdCAxMDAlXG59XG5cbmludGVyZmFjZSBJU3RhdGUge31cblxuLyoqXG4gKiBBIHNpbXBsZSB3YXZlZm9ybSBjb21wb25lbnQuIFRoaXMgcmVuZGVycyBiYXJzIChjZW50ZXJlZCB2ZXJ0aWNhbGx5KSBmb3IgZWFjaFxuICogaGVpZ2h0IHByb3ZpZGVkIGluIHRoZSBjb21wb25lbnQgcHJvcGVydGllcy4gVXBkYXRpbmcgdGhlIHByb3BlcnRpZXMgd2lsbCB1cGRhdGVcbiAqIHRoZSByZW5kZXJlZCB3YXZlZm9ybS5cbiAqXG4gKiBGb3IgQ1NTIHB1cnBvc2VzLCBhIG14X1dhdmVmb3JtX2Jhcl8xMDBwY3QgY2xhc3MgaXMgYWRkZWQgd2hlbiB0aGUgYmFyIHNob3VsZCBiZVxuICogXCJmaWxsZWRcIiwgYXMgYSBkZW1vbnN0cmF0aW9uIG9mIHRoZSBwcm9ncmVzcyBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgV2F2ZWZvcm0gZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50PElQcm9wcywgSVN0YXRlPiB7XG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICAgIHByb2dyZXNzOiAxLFxuICAgIH07XG5cbiAgICBwdWJsaWMgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14X1dhdmVmb3JtXCI+XG4gICAgICAgICAgICAgICAge3RoaXMucHJvcHMucmVsSGVpZ2h0cy5tYXAoKGgsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvZ3Jlc3MgPSB0aGlzLnByb3BzLnByb2dyZXNzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0NvbXBsZXRlQmFyID0gaSAvIHRoaXMucHJvcHMucmVsSGVpZ2h0cy5sZW5ndGggPD0gcHJvZ3Jlc3MgJiYgcHJvZ3Jlc3MgPiAwO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NOYW1lcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBteF9XYXZlZm9ybV9iYXI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBteF9XYXZlZm9ybV9iYXJfMTAwcGN0OiBpc0NvbXBsZXRlQmFyLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCItLWJhckhlaWdodFwiOiBoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGFzIFdhdmVmb3JtQ1NTUHJvcGVydGllc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBTUUsUUFBUSxTQUFTQyxjQUFLLENBQUNDLGFBQWEsQ0FBaUI7RUFLL0RDLE1BQU1BLENBQUEsRUFBb0I7SUFDN0Isb0JBQ0lQLE1BQUEsQ0FBQVEsT0FBQSxDQUFBQyxhQUFBO01BQUtDLFNBQVMsRUFBQztJQUFhLEdBQ3ZCLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxVQUFVLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxDQUFDLEVBQUVDLENBQUMsS0FBSztNQUNqQyxNQUFNQyxRQUFRLEdBQUcsSUFBSSxDQUFDTCxLQUFLLENBQUNLLFFBQVE7TUFDcEMsTUFBTUMsYUFBYSxHQUFHRixDQUFDLEdBQUcsSUFBSSxDQUFDSixLQUFLLENBQUNDLFVBQVUsQ0FBQ00sTUFBTSxJQUFJRixRQUFRLElBQUlBLFFBQVEsR0FBRyxDQUFDO01BQ2xGLE1BQU1HLE9BQU8sR0FBRyxJQUFBQyxtQkFBVSxFQUFDO1FBQ3ZCQyxlQUFlLEVBQUUsSUFBSTtRQUNyQkMsc0JBQXNCLEVBQUVMO01BQzVCLENBQUMsQ0FBQztNQUNGLG9CQUNJakIsTUFBQSxDQUFBUSxPQUFBLENBQUFDLGFBQUE7UUFDSWMsR0FBRyxFQUFFUixDQUFFO1FBQ1BTLEtBQUssRUFDRDtVQUNJLGFBQWEsRUFBRVY7UUFDbkIsQ0FDSDtRQUNESixTQUFTLEVBQUVTO01BQVEsQ0FDdEIsQ0FBQztJQUVWLENBQUMsQ0FDQSxDQUFDO0VBRWQ7QUFDSjtBQUFDTSxPQUFBLENBQUFqQixPQUFBLEdBQUFKLFFBQUE7QUFBQSxJQUFBc0IsZ0JBQUEsQ0FBQWxCLE9BQUEsRUE5Qm9CSixRQUFRLGtCQUNJO0VBQ3pCWSxRQUFRLEVBQUU7QUFDZCxDQUFDIiwiaWdub3JlTGlzdCI6W119