@yandex/ui
Version:
Yandex UI components
21 lines (20 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Progress = exports.cnProgress = void 0;
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importDefault(require("react"));
var classname_1 = require("@bem-react/classname");
require("./Progress.css");
exports.cnProgress = classname_1.cn('Progress');
/**
* Компонент для создания полосы прогресса.
* @param {IProgressProps} props
*/
var Progress = function (_a) {
var _b = _a.value, value = _b === void 0 ? 0 : _b, _c = _a.maxValue, maxValue = _c === void 0 ? 1 : _c, timing = _a.timing, innerRef = _a.innerRef, style = _a.style, className = _a.className, props = tslib_1.__rest(_a, ["value", "maxValue", "timing", "innerRef", "style", "className"]);
var width = value <= 0 ? 0 : (value >= maxValue ? 100 : ((100 / maxValue) * value).toFixed(2)) + "%";
return (react_1.default.createElement("div", tslib_1.__assign({}, props, { ref: innerRef, className: exports.cnProgress({ timing: timing }, [className]), style: tslib_1.__assign({}, style) }),
react_1.default.createElement("div", { className: exports.cnProgress('Inner'), style: { width: width } })));
};
exports.Progress = Progress;
exports.Progress.displayName = exports.cnProgress();