1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | exports.__esModule = true;
|
6 | exports["default"] = void 0;
|
7 |
|
8 | var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
9 |
|
10 | var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
11 |
|
12 | var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
|
13 |
|
14 | var _core = require("@emotion/core");
|
15 |
|
16 | var _react = require("react");
|
17 |
|
18 | var _Box = _interopRequireDefault(require("../Box"));
|
19 |
|
20 | var _VisuallyHidden = _interopRequireDefault(require("../VisuallyHidden"));
|
21 |
|
22 | function _templateObject() {
|
23 | var data = (0, _taggedTemplateLiteralLoose2["default"])(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"]);
|
24 |
|
25 | _templateObject = function _templateObject() {
|
26 | return data;
|
27 | };
|
28 |
|
29 | return data;
|
30 | }
|
31 |
|
32 | var spin = (0, _core.keyframes)(_templateObject());
|
33 | var sizes = {
|
34 | xs: "0.75rem",
|
35 | sm: "1rem",
|
36 | md: "1.5rem",
|
37 | lg: "2rem",
|
38 | xl: "3rem"
|
39 | };
|
40 | var Spinner = (0, _react.forwardRef)(function (_ref, ref) {
|
41 | var _ref$size = _ref.size,
|
42 | size = _ref$size === void 0 ? "md" : _ref$size,
|
43 | _ref$label = _ref.label,
|
44 | label = _ref$label === void 0 ? "Loading..." : _ref$label,
|
45 | _ref$thickness = _ref.thickness,
|
46 | thickness = _ref$thickness === void 0 ? "2px" : _ref$thickness,
|
47 | _ref$speed = _ref.speed,
|
48 | speed = _ref$speed === void 0 ? "0.45s" : _ref$speed,
|
49 | color = _ref.color,
|
50 | _ref$emptyColor = _ref.emptyColor,
|
51 | emptyColor = _ref$emptyColor === void 0 ? "transparent" : _ref$emptyColor,
|
52 | props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["size", "label", "thickness", "speed", "color", "emptyColor"]);
|
53 |
|
54 | var _size = sizes[size] || size;
|
55 |
|
56 | return (0, _core.jsx)(_Box["default"], (0, _extends2["default"])({
|
57 | ref: ref,
|
58 | display: "inline-block",
|
59 | borderWidth: thickness,
|
60 | borderColor: "currentColor",
|
61 | borderBottomColor: emptyColor,
|
62 | borderLeftColor: emptyColor,
|
63 | borderStyle: "solid",
|
64 | rounded: "full",
|
65 | color: color,
|
66 | animation: spin + " " + speed + " linear infinite",
|
67 | size: _size
|
68 | }, props), label && (0, _core.jsx)(_VisuallyHidden["default"], null, label));
|
69 | });
|
70 | Spinner.displayName = "Spinner";
|
71 | var _default = Spinner;
|
72 | exports["default"] = _default; |
\ | No newline at end of file |