vcc-ui
Version:
VCC UI is a collection of React UI Components that can be used for developing front-end applications at Volvo Car Corporation.
66 lines (56 loc) • 1.47 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Spinner = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _block = require("../block");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var getSpinnerStyle = function getSpinnerStyle(size, color) {
return {
WebkitBackfaceVisibility: "hidden",
width: size,
height: size,
stroke: color,
animation: "800ms cubic-bezier(0.62, 0.63, 0, 0.53) infinite",
transformOrigin: "center",
strokeDasharray: 45,
strokeDashoffset: 0,
animationName: {
"100%": {
transform: "rotate(360deg)"
}
}
};
};
var Spinner = function Spinner(_ref) {
var color = _ref.color,
size = _ref.size;
return _react.default.createElement(_block.Block, {
as: "svg",
x: "0px",
y: "0px",
viewBox: "20 20 40 40",
extend: getSpinnerStyle(size, color)
}, _react.default.createElement("circle", {
cx: "40",
cy: "40",
r: "18",
strokeWidth: "3",
fill: "none"
}));
};
exports.Spinner = Spinner;
Spinner.propTypes = {
/* Pick a color for the spinner */
color: _propTypes.default.string,
/* Set spinner size */
size: _propTypes.default.string,
/* Set spinner thickness */
width: _propTypes.default.string
};
Spinner.defaultProps = {
size: "40",
color: "#000"
};