var _excluded = ["value", "animated", "children"];
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
import React from 'react';
import { StyledGradient, StyledLoader } from './Loader.styles';
export var minProgressValue = 0;
export var maxProgressValue = 100;
export var clamp = function clamp(value) {
  var minValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : minProgressValue;
  var maxValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : maxProgressValue;
  return Math.max(minValue, Math.min(maxValue, Math.floor(value)));
};

/**
 * @deprecatedSince 11
 * @deprecated Intended for internal library development.
 */
export var Loader = function Loader(_ref) {
  var _ref$value = _ref.value,
    value = _ref$value === void 0 ? 0 : _ref$value,
    _ref$animated = _ref.animated,
    animated = _ref$animated === void 0 ? false : _ref$animated,
    children = _ref.children,
    props = _objectWithoutProperties(_ref, _excluded);
  var progressValue = clamp(value);
  return /*#__PURE__*/React.createElement(StyledLoader, _extends({}, props, {
    style: {
      width: "".concat(progressValue, "%")
    }
  }), /*#__PURE__*/React.createElement(StyledGradient, {
    $animated: animated
  }, children));
};
Loader.displayName = 'Loader';
//# sourceMappingURL=Loader.js.map