UNPKG

5.41 kBJavaScriptView Raw
1"use strict";
2var __assign = (this && this.__assign) || function () {
3 __assign = Object.assign || function(t) {
4 for (var s, i = 1, n = arguments.length; i < n; i++) {
5 s = arguments[i];
6 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7 t[p] = s[p];
8 }
9 return t;
10 };
11 return __assign.apply(this, arguments);
12};
13var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14 if (k2 === undefined) k2 = k;
15 var desc = Object.getOwnPropertyDescriptor(m, k);
16 if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17 desc = { enumerable: true, get: function() { return m[k]; } };
18 }
19 Object.defineProperty(o, k2, desc);
20}) : (function(o, m, k, k2) {
21 if (k2 === undefined) k2 = k;
22 o[k2] = m[k];
23}));
24var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25 Object.defineProperty(o, "default", { enumerable: true, value: v });
26}) : function(o, v) {
27 o["default"] = v;
28});
29var __importStar = (this && this.__importStar) || function (mod) {
30 if (mod && mod.__esModule) return mod;
31 var result = {};
32 if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33 __setModuleDefault(result, mod);
34 return result;
35};
36var __rest = (this && this.__rest) || function (s, e) {
37 var t = {};
38 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39 t[p] = s[p];
40 if (s != null && typeof Object.getOwnPropertySymbols === "function")
41 for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43 t[p[i]] = s[p[i]];
44 }
45 return t;
46};
47Object.defineProperty(exports, "__esModule", { value: true });
48var React = __importStar(require("react"));
49var colors_1 = require("./helpers/colors");
50var unitConverter_1 = require("./helpers/unitConverter");
51var animation_1 = require("./helpers/animation");
52function HashLoader(_a) {
53 var _b = _a.loading, loading = _b === void 0 ? true : _b, _c = _a.color, color = _c === void 0 ? "#000000" : _c, _d = _a.speedMultiplier, speedMultiplier = _d === void 0 ? 1 : _d, _e = _a.cssOverride, cssOverride = _e === void 0 ? {} : _e, _f = _a.size, size = _f === void 0 ? 50 : _f, additionalprops = __rest(_a, ["loading", "color", "speedMultiplier", "cssOverride", "size"]);
54 var _g = (0, unitConverter_1.parseLengthAndUnit)(size), value = _g.value, unit = _g.unit;
55 var wrapper = __assign({ display: "inherit", position: "relative", width: (0, unitConverter_1.cssValue)(size), height: (0, unitConverter_1.cssValue)(size), transform: "rotate(165deg)" }, cssOverride);
56 var thickness = value / 5;
57 var lat = (value - thickness) / 2;
58 var offset = lat - thickness;
59 var colorValue = (0, colors_1.calculateRgba)(color, 0.75);
60 var before = (0, animation_1.createAnimation)("HashLoader", "0% {width: ".concat(thickness, "px; box-shadow: ").concat(lat, "px ").concat(-offset, "px ").concat(colorValue, ", ").concat(-lat, "px ").concat(offset, "px ").concat(colorValue, "}\n 35% {width: ").concat((0, unitConverter_1.cssValue)(size), "; box-shadow: 0 ").concat(-offset, "px ").concat(colorValue, ", 0 ").concat(offset, "px ").concat(colorValue, "}\n 70% {width: ").concat(thickness, "px; box-shadow: ").concat(-lat, "px ").concat(-offset, "px ").concat(colorValue, ", ").concat(lat, "px ").concat(offset, "px ").concat(colorValue, "}\n 100% {box-shadow: ").concat(lat, "px ").concat(-offset, "px ").concat(colorValue, ", ").concat(-lat, "px ").concat(offset, "px ").concat(colorValue, "}"), "before");
61 var after = (0, animation_1.createAnimation)("HashLoader", "0% {height: ".concat(thickness, "px; box-shadow: ").concat(offset, "px ").concat(lat, "px ").concat(color, ", ").concat(-offset, "px ").concat(-lat, "px ").concat(color, "}\n 35% {height: ").concat((0, unitConverter_1.cssValue)(size), "; box-shadow: ").concat(offset, "px 0 ").concat(color, ", ").concat(-offset, "px 0 ").concat(color, "}\n 70% {height: ").concat(thickness, "px; box-shadow: ").concat(offset, "px ").concat(-lat, "px ").concat(color, ", ").concat(-offset, "px ").concat(lat, "px ").concat(color, "}\n 100% {box-shadow: ").concat(offset, "px ").concat(lat, "px ").concat(color, ", ").concat(-offset, "px ").concat(-lat, "px ").concat(color, "}"), "after");
62 var style = function (i) {
63 return {
64 position: "absolute",
65 top: "50%",
66 left: "50%",
67 display: "block",
68 width: "".concat(value / 5).concat(unit),
69 height: "".concat(value / 5).concat(unit),
70 borderRadius: "".concat(value / 10).concat(unit),
71 transform: "translate(-50%, -50%)",
72 animationFillMode: "none",
73 animation: "".concat(i === 1 ? before : after, " ").concat(2 / speedMultiplier, "s infinite"),
74 };
75 };
76 if (!loading) {
77 return null;
78 }
79 return (React.createElement("span", __assign({ style: wrapper }, additionalprops),
80 React.createElement("span", { style: style(1) }),
81 React.createElement("span", { style: style(2) })));
82}
83exports.default = HashLoader;