@vtex/styleguide
Version:
> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))
80 lines (62 loc) • 2.14 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _propTypes = require("prop-types");
var _propTypes2 = _interopRequireDefault(_propTypes);
var _utils = require("../icon/utils");
var _styles = require("./styles.css");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
var radius = 40;
var circ = 2 * radius * Math.PI;
var Spinner =
/*#__PURE__*/
function (_React$Component) {
_inheritsLoose(Spinner, _React$Component);
function Spinner() {
return _React$Component.apply(this, arguments) || this;
}
var _proto = Spinner.prototype;
_proto.render = function render() {
var _this$props = this.props,
color = _this$props.color,
size = _this$props.size,
block = _this$props.block;
return _react2.default.createElement("svg", {
className: _styles.rotate + " " + (0, _utils.baseClassname)('spinner') + " " + (!color ? 'c-action-primary' : '') + " " + (block ? 'db' : ''),
xmlns: "http://www.w3.org/2000/svg",
viewBox: "0 0 100 100",
preserveAspectRatio: "xMidYMid",
height: size,
width: size
}, _react2.default.createElement("circle", {
className: "vtex-spinner_circle",
cx: "50",
cy: "50",
fill: "none",
r: radius,
stroke: color || 'currentColor',
strokeWidth: "10",
strokeDasharray: "0 0 " + circ * 0.65 + " " + circ,
strokeLinecap: "round",
strokeDashoffset: "1"
}));
};
return Spinner;
}(_react2.default.Component);
Spinner.propTypes = {
/** Color of the spinner */
color: _propTypes2.default.string,
/** Size (diameter) of the spinner */
size: _propTypes2.default.number,
/** Sets the display to block */
block: _propTypes2.default.bool
};
Spinner.defaultProps = {
block: false,
size: 40
};
exports.default = Spinner;