UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

49 lines (47 loc) 2.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); /* tslint:disable:no-unused-variable */ var React = require("react"); /* tslint:enable:no-unused-variable */ var Utilities_1 = require("../../Utilities"); var stylesImport = require("./ProgressIndicator.scss"); var styles = stylesImport; // if the percentComplete is near 0, don't animate it. // This prevents animations on reset to 0 scenarios var ZERO_THRESHOLD = 0.01; var ProgressIndicator = (function (_super) { tslib_1.__extends(ProgressIndicator, _super); function ProgressIndicator(props) { var _this = _super.call(this, props) || this; _this._warnDeprecations({ title: 'label' }); return _this; } ProgressIndicator.prototype.render = function () { var _a = this.props, title = _a.title, label = _a.label, description = _a.description, percentComplete = _a.percentComplete, className = _a.className, ariaValueText = _a.ariaValueText; // Handle deprecated value. if (title) { label = title; } percentComplete = Math.min(100, Math.max(0, percentComplete * 100)); return (React.createElement("div", { className: Utilities_1.css('ms-ProgressIndicator', styles.root, className) }, React.createElement("div", { className: Utilities_1.css('ms-ProgressIndicator-itemName', styles.itemName) }, label), React.createElement("div", { className: Utilities_1.css('ms-ProgressIndicator-itemProgress', styles.itemProgress) }, React.createElement("div", { className: Utilities_1.css('ms-ProgressIndicator-progressTrack', styles.progressTrack) }), React.createElement("div", { className: Utilities_1.css('ms-ProgressIndicator-progressBar', styles.progressBar, { 'smoothTransition': percentComplete > ZERO_THRESHOLD }), style: { width: percentComplete + '%' }, role: 'progressbar', "aria-valuemin": '0', "aria-valuemax": '100', "aria-valuenow": percentComplete.toFixed().toString(), "aria-valuetext": ariaValueText })), React.createElement("div", { className: Utilities_1.css('ms-ProgressIndicator-itemDescription', styles.itemDescription) }, description))); }; return ProgressIndicator; }(Utilities_1.BaseComponent)); ProgressIndicator.defaultProps = { label: '', description: '', percentComplete: 0, width: 180 }; exports.ProgressIndicator = ProgressIndicator; //# sourceMappingURL=ProgressIndicator.js.map