UNPKG

@apptane/react-ui-spinner

Version:
234 lines (222 loc) 20.4 kB
import _defineProperty from "@babel/runtime/helpers/defineProperty"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; const _excluded = ["appearance", "colorMode", "size", "color", "inline", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "m", "mt", "mr", "mb", "ml"]; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } import { resolveTextColor, StyleMargin } from "@apptane/react-ui-core"; import { useColorMode, useTheme } from "@apptane/react-ui-theme"; import { css } from "@emotion/react"; import { memo } from "react"; import { SpinnerPropTypes } from "./Spinner.types.js"; import { jsx as _jsx } from "@emotion/react/jsx-runtime"; import { jsxs as _jsxs } from "@emotion/react/jsx-runtime"; const StyleBase = (size, inline) => /*#__PURE__*/css("display:", inline ? "inline-flex" : "flex", ";height:", size, "px;width:", size, "px;" + (process.env.NODE_ENV === "production" ? "" : ";label:StyleBase;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TcGlubmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNeUQiLCJmaWxlIjoiLi4vc3JjL1NwaW5uZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3IsIHJlc29sdmVUZXh0Q29sb3IsIFN0eWxlTWFyZ2luIH0gZnJvbSBcIkBhcHB0YW5lL3JlYWN0LXVpLWNvcmVcIjtcbmltcG9ydCB7IHVzZUNvbG9yTW9kZSwgdXNlVGhlbWUgfSBmcm9tIFwiQGFwcHRhbmUvcmVhY3QtdWktdGhlbWVcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU3Bpbm5lclByb3BzLCBTcGlubmVyUHJvcFR5cGVzIH0gZnJvbSBcIi4vU3Bpbm5lci50eXBlcy5qc1wiO1xuXG5jb25zdCBTdHlsZUJhc2UgPSAoc2l6ZTogbnVtYmVyLCBpbmxpbmU/OiBib29sZWFuKSA9PiBjc3NgXG4gIGRpc3BsYXk6ICR7aW5saW5lID8gXCJpbmxpbmUtZmxleFwiIDogXCJmbGV4XCJ9O1xuICBoZWlnaHQ6ICR7c2l6ZX1weDtcbiAgd2lkdGg6ICR7c2l6ZX1weDtcbmA7XG5cbnR5cGUgQW5pbWF0ZWRTcGlubmVyUHJvcHMgPSB7XG4gIGNvbG9yOiBDb2xvcjtcbiAgc2l6ZTogbnVtYmVyO1xufTtcblxuY29uc3QgQW5pbWF0ZWRDbGlwU3Bpbm5lciA9ICh7IGNvbG9yLCBzaXplIH06IEFuaW1hdGVkU3Bpbm5lclByb3BzKSA9PiAoXG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPXtzaXplfSBoZWlnaHQ9e3NpemV9IHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICA8ZyBzdHJva2U9e2NvbG9yfSBzdHJva2VXaWR0aD1cIjJcIiBzdHJva2VMaW5lY2FwPVwicm91bmRcIiBmaWxsPVwibm9uZVwiIGZpbGxSdWxlPVwiZXZlbm9kZFwiPlxuICAgICAgPGNpcmNsZSBzdHJva2VPcGFjaXR5PVwiLjFcIiBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiIC8+XG4gICAgICA8cGF0aCBkPVwiTTEyIDIyYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBTMTcuNTIzIDIgMTIgMiAyIDYuNDc3IDIgMTJcIj5cbiAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm1cbiAgICAgICAgICBhdHRyaWJ1dGVOYW1lPVwidHJhbnNmb3JtXCJcbiAgICAgICAgICB0eXBlPVwicm90YXRlXCJcbiAgICAgICAgICBmcm9tPVwiMCAxMiAxMlwiXG4gICAgICAgICAgdG89XCIzNjAgMTIgMTJcIlxuICAgICAgICAgIGR1cj1cIjFzXCJcbiAgICAgICAgICByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIlxuICAgICAgICAvPlxuICAgICAgPC9wYXRoPlxuICAgIDwvZz5cbiAgPC9zdmc+XG4pO1xuXG5jb25zdCBBbmltYXRlZFRhaWxTcGlubmVyID0gKHsgY29sb3IsIHNpemUgfTogQW5pbWF0ZWRTcGlubmVyUHJvcHMpID0+IChcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9e3NpemV9IGhlaWdodD17c2l6ZX0gdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgIDxkZWZzPlxuICAgICAgPGxpbmVhckdyYWRpZW50IHgxPVwiOCVcIiB5MT1cIjAlXCIgeDI9XCI2NiVcIiB5Mj1cIjI0JVwiIGlkPVwiLS1hcHB0YW5lLXNwaW5uZXItdGFpbC1hXCI+XG4gICAgICAgIDxzdG9wIHN0b3BDb2xvcj17Y29sb3J9IHN0b3BPcGFjaXR5PVwiMFwiIG9mZnNldD1cIjAlXCIgLz5cbiAgICAgICAgPHN0b3Agc3RvcENvbG9yPXtjb2xvcn0gc3RvcE9wYWNpdHk9XCIuNlwiIG9mZnNldD1cIjYwJVwiIC8+XG4gICAgICAgIDxzdG9wIHN0b3BDb2xvcj17Y29sb3J9IG9mZnNldD1cIjEwMCVcIiAvPlxuICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICA8L2RlZnM+XG4gICAgPGcgc3Ryb2tlV2lkdGg9XCIyXCIgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgZmlsbD1cIm5vbmVcIiBmaWxsUnVsZT1cImV2ZW5vZGRcIj5cbiAgICAgIDxwYXRoIGQ9XCJNMTIgMmM1LjUyMyAwIDEwIDQuNDc3IDEwIDEwXCIgc3Ryb2tlPVwidXJsKCMtLWFwcHRhbmUtc3Bpbm5lci10YWlsLWEpXCI+XG4gICAgICAgIDxhbmltYXRlVHJhbnNmb3JtXG4gICAgICAgICAgYXR0cmlidXRlTmFtZT1cInRyYW5zZm9ybVwiXG4gICAgICAgICAgdHlwZT1cInJvdGF0ZVwiXG4gICAgICAgICAgZnJvbT1cIjAgMTIgMTJcIlxuICAgICAgICAgIHRvPVwiMzYwIDEyIDEyXCJcbiAgICAgICAgICBkdXI9XCIxc1wiXG4gICAgICAgICAgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCJcbiAgICAgICAgLz5cbiAgICAgIDwvcGF0aD5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQW5pbWF0ZWRQdWxzZVNwaW5uZXIgPSAoeyBjb2xvciwgc2l6ZSB9OiBBbmltYXRlZFNwaW5uZXJQcm9wcykgPT4gKFxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBzdHJva2U9e2NvbG9yfSB3aWR0aD17c2l6ZX0gaGVpZ2h0PXtzaXplfSB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgPGcgc3Ryb2tlV2lkdGg9XCIyXCIgZmlsbD1cIm5vbmVcIiBmaWxsUnVsZT1cImV2ZW5vZGRcIj5cbiAgICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMVwiPlxuICAgICAgICA8YW5pbWF0ZVxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9XCJyXCJcbiAgICAgICAgICBiZWdpbj1cIjBzXCJcbiAgICAgICAgICBkdXI9XCIxLjhzXCJcbiAgICAgICAgICB2YWx1ZXM9XCIxOyAxMFwiXG4gICAgICAgICAgY2FsY01vZGU9XCJzcGxpbmVcIlxuICAgICAgICAgIGtleVRpbWVzPVwiMDsgMVwiXG4gICAgICAgICAga2V5U3BsaW5lcz1cIjAuMTY1LCAwLjg0LCAwLjQ0LCAxXCJcbiAgICAgICAgICByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIlxuICAgICAgICAvPlxuICAgICAgICA8YW5pbWF0ZVxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9XCJzdHJva2Utb3BhY2l0eVwiXG4gICAgICAgICAgYmVnaW49XCIwc1wiXG4gICAgICAgICAgZHVyPVwiMS44c1wiXG4gICAgICAgICAgdmFsdWVzPVwiMTsgMFwiXG4gICAgICAgICAgY2FsY01vZGU9XCJzcGxpbmVcIlxuICAgICAgICAgIGtleVRpbWVzPVwiMDsgMVwiXG4gICAgICAgICAga2V5U3BsaW5lcz1cIjAuMywgMC42MSwgMC4zNTUsIDFcIlxuICAgICAgICAgIHJlcGVhdENvdW50PVwiaW5kZWZpbml0ZVwiXG4gICAgICAgIC8+XG4gICAgICA8L2NpcmNsZT5cbiAgICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMVwiPlxuICAgICAgICA8YW5pbWF0ZVxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9XCJyXCJcbiAgICAgICAgICBiZWdpbj1cIi0wLjlzXCJcbiAgICAgICAgICBkdXI9XCIxLjhzXCJcbiAgICAgICAgICB2YWx1ZXM9XCIxOyAxMFwiXG4gICAgICAgICAgY2FsY01vZGU9XCJzcGxpbmVcIlxuICAgICAgICAgIGtleVRpbWVzPVwiMDsgMVwiXG4gICAgICAgICAga2V5U3BsaW5lcz1cIjAuMTY1LCAwLjg0LCAwLjQ0LCAxXCJcbiAgICAgICAgICByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIlxuICAgICAgICAvPlxuICAgICAgICA8YW5pbWF0ZVxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9XCJzdHJva2Utb3BhY2l0eVwiXG4gICAgICAgICAgYmVnaW49XCItMC45c1wiXG4gICAgICAgICAgZHVyPVwiMS44c1wiXG4gICAgICAgICAgdmFsdWVzPVwiMTsgMFwiXG4gICAgICAgICAgY2FsY01vZGU9XCJzcGxpbmVcIlxuICAgICAgICAgIGtleVRpbWVzPVwiMDsgMVwiXG4gICAgICAgICAga2V5U3BsaW5lcz1cIjAuMywgMC42MSwgMC4zNTUsIDFcIlxuICAgICAgICAgIHJlcGVhdENvdW50PVwiaW5kZWZpbml0ZVwiXG4gICAgICAgIC8+XG4gICAgICA8L2NpcmNsZT5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuLyoqXG4gKiBgU3Bpbm5lcmAgY29tcG9uZW50IOKAlCBhbmltYXRlZCBcImJ1c3lcIiBpbmRpY2F0b3IuXG4gKi9cbmZ1bmN0aW9uIFNwaW5uZXIoe1xuICBhcHBlYXJhbmNlID0gXCJjbGlwXCIsXG4gIGNvbG9yTW9kZSxcbiAgc2l6ZSA9IDE2LFxuICBjb2xvciA9IFwiYWNjZW50XCIsXG4gIGlubGluZSxcbiAgbWFyZ2luLFxuICBtYXJnaW5Ub3AsXG4gIG1hcmdpblJpZ2h0LFxuICBtYXJnaW5Cb3R0b20sXG4gIG1hcmdpbkxlZnQsXG4gIG0sXG4gIG10LFxuICBtcixcbiAgbWIsXG4gIG1sLFxuICAuLi5vdGhlclxufTogU3Bpbm5lclByb3BzKSB7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcbiAgY29uc3QgYWN0dWFsQ29sb3JNb2RlID0gdXNlQ29sb3JNb2RlKGNvbG9yTW9kZSk7XG4gIGNvbG9yID0gcmVzb2x2ZVRleHRDb2xvcih0aGVtZS5wYWxldHRlW2FjdHVhbENvbG9yTW9kZV0sIGNvbG9yKTtcbiAgY29uc3QgbWFyZ2luUHJvcHMgPSB7IG1hcmdpbiwgbWFyZ2luVG9wLCBtYXJnaW5SaWdodCwgbWFyZ2luQm90dG9tLCBtYXJnaW5MZWZ0LCBtLCBtdCwgbXIsIG1iLCBtbCB9O1xuICByZXR1cm4gKFxuICAgIDxkaXYgey4uLm90aGVyfSByb2xlPVwic3RhdHVzXCIgY3NzPXtbU3R5bGVCYXNlKHNpemUsIGlubGluZSksIFN0eWxlTWFyZ2luKG1hcmdpblByb3BzKV19PlxuICAgICAge2FwcGVhcmFuY2UgPT09IFwiY2xpcFwiICYmIDxBbmltYXRlZENsaXBTcGlubmVyIHNpemU9e3NpemV9IGNvbG9yPXtjb2xvcn0gLz59XG4gICAgICB7YXBwZWFyYW5jZSA9PT0gXCJ0YWlsXCIgJiYgPEFuaW1hdGVkVGFpbFNwaW5uZXIgc2l6ZT17c2l6ZX0gY29sb3I9e2NvbG9yfSAvPn1cbiAgICAgIHthcHBlYXJhbmNlID09PSBcInB1bHNlXCIgJiYgPEFuaW1hdGVkUHVsc2VTcGlubmVyIHNpemU9e3NpemV9IGNvbG9yPXtjb2xvcn0gLz59XG4gICAgPC9kaXY+XG4gICk7XG59XG5cblNwaW5uZXIuZGlzcGxheU5hbWUgPSBcIlNwaW5uZXJcIjtcblNwaW5uZXIucHJvcFR5cGVzID0gU3Bpbm5lclByb3BUeXBlcztcblxuLyoqXG4gKiBgU3Bpbm5lcmAgY29tcG9uZW50IOKAlCBhbmltYXRlZCBcImJ1c3lcIiBpbmRpY2F0b3IuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IG1lbW8oU3Bpbm5lcik7XG4iXX0= */"); const AnimatedClipSpinner = _ref => { let { color, size } = _ref; return _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", children: _jsxs("g", { stroke: color, strokeWidth: "2", strokeLinecap: "round", fill: "none", fillRule: "evenodd", children: [_jsx("circle", { strokeOpacity: ".1", cx: "12", cy: "12", r: "10" }), _jsx("path", { d: "M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12", children: _jsx("animateTransform", { attributeName: "transform", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "1s", repeatCount: "indefinite" }) })] }) }); }; const AnimatedTailSpinner = _ref2 => { let { color, size } = _ref2; return _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", children: [_jsx("defs", { children: _jsxs("linearGradient", { x1: "8%", y1: "0%", x2: "66%", y2: "24%", id: "--apptane-spinner-tail-a", children: [_jsx("stop", { stopColor: color, stopOpacity: "0", offset: "0%" }), _jsx("stop", { stopColor: color, stopOpacity: ".6", offset: "60%" }), _jsx("stop", { stopColor: color, offset: "100%" })] }) }), _jsx("g", { strokeWidth: "2", strokeLinecap: "round", fill: "none", fillRule: "evenodd", children: _jsx("path", { d: "M12 2c5.523 0 10 4.477 10 10", stroke: "url(#--apptane-spinner-tail-a)", children: _jsx("animateTransform", { attributeName: "transform", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "1s", repeatCount: "indefinite" }) }) })] }); }; const AnimatedPulseSpinner = _ref3 => { let { color, size } = _ref3; return _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", stroke: color, width: size, height: size, viewBox: "0 0 24 24", children: _jsxs("g", { strokeWidth: "2", fill: "none", fillRule: "evenodd", children: [_jsxs("circle", { cx: "12", cy: "12", r: "1", children: [_jsx("animate", { attributeName: "r", begin: "0s", dur: "1.8s", values: "1; 10", calcMode: "spline", keyTimes: "0; 1", keySplines: "0.165, 0.84, 0.44, 1", repeatCount: "indefinite" }), _jsx("animate", { attributeName: "stroke-opacity", begin: "0s", dur: "1.8s", values: "1; 0", calcMode: "spline", keyTimes: "0; 1", keySplines: "0.3, 0.61, 0.355, 1", repeatCount: "indefinite" })] }), _jsxs("circle", { cx: "12", cy: "12", r: "1", children: [_jsx("animate", { attributeName: "r", begin: "-0.9s", dur: "1.8s", values: "1; 10", calcMode: "spline", keyTimes: "0; 1", keySplines: "0.165, 0.84, 0.44, 1", repeatCount: "indefinite" }), _jsx("animate", { attributeName: "stroke-opacity", begin: "-0.9s", dur: "1.8s", values: "1; 0", calcMode: "spline", keyTimes: "0; 1", keySplines: "0.3, 0.61, 0.355, 1", repeatCount: "indefinite" })] })] }) }); }; /** * `Spinner` component — animated "busy" indicator. */ function Spinner(_ref4) { let { appearance = "clip", colorMode, size = 16, color = "accent", inline, margin, marginTop, marginRight, marginBottom, marginLeft, m, mt, mr, mb, ml } = _ref4, other = _objectWithoutProperties(_ref4, _excluded); const theme = useTheme(); const actualColorMode = useColorMode(colorMode); color = resolveTextColor(theme.palette[actualColorMode], color); const marginProps = { margin, marginTop, marginRight, marginBottom, marginLeft, m, mt, mr, mb, ml }; return _jsxs("div", _objectSpread(_objectSpread({}, other), {}, { role: "status", css: [StyleBase(size, inline), StyleMargin(marginProps), process.env.NODE_ENV === "production" ? "" : ";label:Spinner;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TcGlubmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3SWtDIiwiZmlsZSI6Ii4uL3NyYy9TcGlubmVyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yLCByZXNvbHZlVGV4dENvbG9yLCBTdHlsZU1hcmdpbiB9IGZyb20gXCJAYXBwdGFuZS9yZWFjdC11aS1jb3JlXCI7XG5pbXBvcnQgeyB1c2VDb2xvck1vZGUsIHVzZVRoZW1lIH0gZnJvbSBcIkBhcHB0YW5lL3JlYWN0LXVpLXRoZW1lXCI7XG5pbXBvcnQgeyBjc3MgfSBmcm9tIFwiQGVtb3Rpb24vcmVhY3RcIjtcbmltcG9ydCB7IG1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFNwaW5uZXJQcm9wcywgU3Bpbm5lclByb3BUeXBlcyB9IGZyb20gXCIuL1NwaW5uZXIudHlwZXMuanNcIjtcblxuY29uc3QgU3R5bGVCYXNlID0gKHNpemU6IG51bWJlciwgaW5saW5lPzogYm9vbGVhbikgPT4gY3NzYFxuICBkaXNwbGF5OiAke2lubGluZSA/IFwiaW5saW5lLWZsZXhcIiA6IFwiZmxleFwifTtcbiAgaGVpZ2h0OiAke3NpemV9cHg7XG4gIHdpZHRoOiAke3NpemV9cHg7XG5gO1xuXG50eXBlIEFuaW1hdGVkU3Bpbm5lclByb3BzID0ge1xuICBjb2xvcjogQ29sb3I7XG4gIHNpemU6IG51bWJlcjtcbn07XG5cbmNvbnN0IEFuaW1hdGVkQ2xpcFNwaW5uZXIgPSAoeyBjb2xvciwgc2l6ZSB9OiBBbmltYXRlZFNwaW5uZXJQcm9wcykgPT4gKFxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD17c2l6ZX0gaGVpZ2h0PXtzaXplfSB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgPGcgc3Ryb2tlPXtjb2xvcn0gc3Ryb2tlV2lkdGg9XCIyXCIgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgZmlsbD1cIm5vbmVcIiBmaWxsUnVsZT1cImV2ZW5vZGRcIj5cbiAgICAgIDxjaXJjbGUgc3Ryb2tlT3BhY2l0eT1cIi4xXCIgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIiAvPlxuICAgICAgPHBhdGggZD1cIk0xMiAyMmM1LjUyMyAwIDEwLTQuNDc3IDEwLTEwUzE3LjUyMyAyIDEyIDIgMiA2LjQ3NyAyIDEyXCI+XG4gICAgICAgIDxhbmltYXRlVHJhbnNmb3JtXG4gICAgICAgICAgYXR0cmlidXRlTmFtZT1cInRyYW5zZm9ybVwiXG4gICAgICAgICAgdHlwZT1cInJvdGF0ZVwiXG4gICAgICAgICAgZnJvbT1cIjAgMTIgMTJcIlxuICAgICAgICAgIHRvPVwiMzYwIDEyIDEyXCJcbiAgICAgICAgICBkdXI9XCIxc1wiXG4gICAgICAgICAgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCJcbiAgICAgICAgLz5cbiAgICAgIDwvcGF0aD5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuY29uc3QgQW5pbWF0ZWRUYWlsU3Bpbm5lciA9ICh7IGNvbG9yLCBzaXplIH06IEFuaW1hdGVkU3Bpbm5lclByb3BzKSA9PiAoXG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPXtzaXplfSBoZWlnaHQ9e3NpemV9IHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICA8ZGVmcz5cbiAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT1cIjglXCIgeTE9XCIwJVwiIHgyPVwiNjYlXCIgeTI9XCIyNCVcIiBpZD1cIi0tYXBwdGFuZS1zcGlubmVyLXRhaWwtYVwiPlxuICAgICAgICA8c3RvcCBzdG9wQ29sb3I9e2NvbG9yfSBzdG9wT3BhY2l0eT1cIjBcIiBvZmZzZXQ9XCIwJVwiIC8+XG4gICAgICAgIDxzdG9wIHN0b3BDb2xvcj17Y29sb3J9IHN0b3BPcGFjaXR5PVwiLjZcIiBvZmZzZXQ9XCI2MCVcIiAvPlxuICAgICAgICA8c3RvcCBzdG9wQ29sb3I9e2NvbG9yfSBvZmZzZXQ9XCIxMDAlXCIgLz5cbiAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgPC9kZWZzPlxuICAgIDxnIHN0cm9rZVdpZHRoPVwiMlwiIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIGZpbGw9XCJub25lXCIgZmlsbFJ1bGU9XCJldmVub2RkXCI+XG4gICAgICA8cGF0aCBkPVwiTTEyIDJjNS41MjMgMCAxMCA0LjQ3NyAxMCAxMFwiIHN0cm9rZT1cInVybCgjLS1hcHB0YW5lLXNwaW5uZXItdGFpbC1hKVwiPlxuICAgICAgICA8YW5pbWF0ZVRyYW5zZm9ybVxuICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9XCJ0cmFuc2Zvcm1cIlxuICAgICAgICAgIHR5cGU9XCJyb3RhdGVcIlxuICAgICAgICAgIGZyb209XCIwIDEyIDEyXCJcbiAgICAgICAgICB0bz1cIjM2MCAxMiAxMlwiXG4gICAgICAgICAgZHVyPVwiMXNcIlxuICAgICAgICAgIHJlcGVhdENvdW50PVwiaW5kZWZpbml0ZVwiXG4gICAgICAgIC8+XG4gICAgICA8L3BhdGg+XG4gICAgPC9nPlxuICA8L3N2Zz5cbik7XG5cbmNvbnN0IEFuaW1hdGVkUHVsc2VTcGlubmVyID0gKHsgY29sb3IsIHNpemUgfTogQW5pbWF0ZWRTcGlubmVyUHJvcHMpID0+IChcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgc3Ryb2tlPXtjb2xvcn0gd2lkdGg9e3NpemV9IGhlaWdodD17c2l6ZX0gdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICAgIDxnIHN0cm9rZVdpZHRoPVwiMlwiIGZpbGw9XCJub25lXCIgZmlsbFJ1bGU9XCJldmVub2RkXCI+XG4gICAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjFcIj5cbiAgICAgICAgPGFuaW1hdGVcbiAgICAgICAgICBhdHRyaWJ1dGVOYW1lPVwiclwiXG4gICAgICAgICAgYmVnaW49XCIwc1wiXG4gICAgICAgICAgZHVyPVwiMS44c1wiXG4gICAgICAgICAgdmFsdWVzPVwiMTsgMTBcIlxuICAgICAgICAgIGNhbGNNb2RlPVwic3BsaW5lXCJcbiAgICAgICAgICBrZXlUaW1lcz1cIjA7IDFcIlxuICAgICAgICAgIGtleVNwbGluZXM9XCIwLjE2NSwgMC44NCwgMC40NCwgMVwiXG4gICAgICAgICAgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGFuaW1hdGVcbiAgICAgICAgICBhdHRyaWJ1dGVOYW1lPVwic3Ryb2tlLW9wYWNpdHlcIlxuICAgICAgICAgIGJlZ2luPVwiMHNcIlxuICAgICAgICAgIGR1cj1cIjEuOHNcIlxuICAgICAgICAgIHZhbHVlcz1cIjE7IDBcIlxuICAgICAgICAgIGNhbGNNb2RlPVwic3BsaW5lXCJcbiAgICAgICAgICBrZXlUaW1lcz1cIjA7IDFcIlxuICAgICAgICAgIGtleVNwbGluZXM9XCIwLjMsIDAuNjEsIDAuMzU1LCAxXCJcbiAgICAgICAgICByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIlxuICAgICAgICAvPlxuICAgICAgPC9jaXJjbGU+XG4gICAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjFcIj5cbiAgICAgICAgPGFuaW1hdGVcbiAgICAgICAgICBhdHRyaWJ1dGVOYW1lPVwiclwiXG4gICAgICAgICAgYmVnaW49XCItMC45c1wiXG4gICAgICAgICAgZHVyPVwiMS44c1wiXG4gICAgICAgICAgdmFsdWVzPVwiMTsgMTBcIlxuICAgICAgICAgIGNhbGNNb2RlPVwic3BsaW5lXCJcbiAgICAgICAgICBrZXlUaW1lcz1cIjA7IDFcIlxuICAgICAgICAgIGtleVNwbGluZXM9XCIwLjE2NSwgMC44NCwgMC40NCwgMVwiXG4gICAgICAgICAgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGFuaW1hdGVcbiAgICAgICAgICBhdHRyaWJ1dGVOYW1lPVwic3Ryb2tlLW9wYWNpdHlcIlxuICAgICAgICAgIGJlZ2luPVwiLTAuOXNcIlxuICAgICAgICAgIGR1cj1cIjEuOHNcIlxuICAgICAgICAgIHZhbHVlcz1cIjE7IDBcIlxuICAgICAgICAgIGNhbGNNb2RlPVwic3BsaW5lXCJcbiAgICAgICAgICBrZXlUaW1lcz1cIjA7IDFcIlxuICAgICAgICAgIGtleVNwbGluZXM9XCIwLjMsIDAuNjEsIDAuMzU1LCAxXCJcbiAgICAgICAgICByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIlxuICAgICAgICAvPlxuICAgICAgPC9jaXJjbGU+XG4gICAgPC9nPlxuICA8L3N2Zz5cbik7XG5cbi8qKlxuICogYFNwaW5uZXJgIGNvbXBvbmVudCDigJQgYW5pbWF0ZWQgXCJidXN5XCIgaW5kaWNhdG9yLlxuICovXG5mdW5jdGlvbiBTcGlubmVyKHtcbiAgYXBwZWFyYW5jZSA9IFwiY2xpcFwiLFxuICBjb2xvck1vZGUsXG4gIHNpemUgPSAxNixcbiAgY29sb3IgPSBcImFjY2VudFwiLFxuICBpbmxpbmUsXG4gIG1hcmdpbixcbiAgbWFyZ2luVG9wLFxuICBtYXJnaW5SaWdodCxcbiAgbWFyZ2luQm90dG9tLFxuICBtYXJnaW5MZWZ0LFxuICBtLFxuICBtdCxcbiAgbXIsXG4gIG1iLFxuICBtbCxcbiAgLi4ub3RoZXJcbn06IFNwaW5uZXJQcm9wcykge1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG4gIGNvbnN0IGFjdHVhbENvbG9yTW9kZSA9IHVzZUNvbG9yTW9kZShjb2xvck1vZGUpO1xuICBjb2xvciA9IHJlc29sdmVUZXh0Q29sb3IodGhlbWUucGFsZXR0ZVthY3R1YWxDb2xvck1vZGVdLCBjb2xvcik7XG4gIGNvbnN0IG1hcmdpblByb3BzID0geyBtYXJnaW4sIG1hcmdpblRvcCwgbWFyZ2luUmlnaHQsIG1hcmdpbkJvdHRvbSwgbWFyZ2luTGVmdCwgbSwgbXQsIG1yLCBtYiwgbWwgfTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IHsuLi5vdGhlcn0gcm9sZT1cInN0YXR1c1wiIGNzcz17W1N0eWxlQmFzZShzaXplLCBpbmxpbmUpLCBTdHlsZU1hcmdpbihtYXJnaW5Qcm9wcyldfT5cbiAgICAgIHthcHBlYXJhbmNlID09PSBcImNsaXBcIiAmJiA8QW5pbWF0ZWRDbGlwU3Bpbm5lciBzaXplPXtzaXplfSBjb2xvcj17Y29sb3J9IC8+fVxuICAgICAge2FwcGVhcmFuY2UgPT09IFwidGFpbFwiICYmIDxBbmltYXRlZFRhaWxTcGlubmVyIHNpemU9e3NpemV9IGNvbG9yPXtjb2xvcn0gLz59XG4gICAgICB7YXBwZWFyYW5jZSA9PT0gXCJwdWxzZVwiICYmIDxBbmltYXRlZFB1bHNlU3Bpbm5lciBzaXplPXtzaXplfSBjb2xvcj17Y29sb3J9IC8+fVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5TcGlubmVyLmRpc3BsYXlOYW1lID0gXCJTcGlubmVyXCI7XG5TcGlubmVyLnByb3BUeXBlcyA9IFNwaW5uZXJQcm9wVHlwZXM7XG5cbi8qKlxuICogYFNwaW5uZXJgIGNvbXBvbmVudCDigJQgYW5pbWF0ZWQgXCJidXN5XCIgaW5kaWNhdG9yLlxuICovXG5leHBvcnQgZGVmYXVsdCBtZW1vKFNwaW5uZXIpO1xuIl19 */"], children: [appearance === "clip" && _jsx(AnimatedClipSpinner, { size: size, color: color }), appearance === "tail" && _jsx(AnimatedTailSpinner, { size: size, color: color }), appearance === "pulse" && _jsx(AnimatedPulseSpinner, { size: size, color: color })] })); } Spinner.displayName = "Spinner"; Spinner.propTypes = SpinnerPropTypes; /** * `Spinner` component — animated "busy" indicator. */ export default /*#__PURE__*/memo(Spinner); //# sourceMappingURL=Spinner.js.map