mini.css-inferno
Version:
Mini.css components built with Inferno.
35 lines (29 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Progress = Progress;
var _infernoCreateElement = require('inferno-create-element');
var _infernoCreateElement2 = _interopRequireDefault(_infernoCreateElement);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// Module constants (change according to your flavor file)
var progressMaxValue = 1000;
// Progress component.
function Progress(props) {
var outProps = Object.assign({}, props);
if (typeof outProps.max === 'undefined') outProps.max = progressMaxValue;
if (typeof outProps.value === 'undefined') outProps.value = 0;
var isPercentage = false;
if (/^\d+(\.\d+)?%$/.test(outProps.value)) {
outProps.value = outProps.value.slice(0, -1);
isPercentage = true;
}
if (!isPercentage && parseInt(outProps.value) >= parseInt(outProps.max)) throw 'Error: The \'value\' property of a \'Progress\' element must be less or equal to its \'max\' property.';
if (outProps.max != progressMaxValue) {
if (isPercentage) outProps.value = outProps.value / 100 * progressMaxValue;else {
outProps.value = progressMaxValue / outProps.max * outProps.value;
}
outProps.max = progressMaxValue;
} else if (isPercentage) outProps.value = outProps.value / 100 * progressMaxValue;
return (0, _infernoCreateElement2.default)('progress', outProps, outProps.children);
}