mdx-deck-theme-garlic
Version:
garlic theme for mdx-deck
72 lines (56 loc) • 2.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _styled = _interopRequireDefault(require("@emotion/styled"));
var _themeUi = require("theme-ui");
var _util = require("../util");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _templateObject() {
var data = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n & > p {\n font-size: 0.6em;\n }\n .loader {\n border: ", "em solid ", ";\n border-top: ", "em solid ", ";\n filter: brightness(120%);\n border-radius: 50%;\n width: ", "em;\n z-index: 99;\n height: ", "em;\n animation: spin 2s linear infinite;\n display: ", ";\n\n align-self: center;\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n }\n"]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var StyledLoader = _styled["default"].div(_templateObject(), function (props) {
return props.size / 8;
}, function (props) {
return (0, _util.opacity)(props.theme.colors.text, 10);
}, function (props) {
return props.size / 8;
}, function (props) {
return (0, _util.opacity)(props.theme.colors.text, 60);
}, function (props) {
return props.size;
}, function (props) {
return props.size;
}, function (props) {
return props.isLoading ? 'block' : 'none';
});
var Loader = function Loader(props) {
var _useThemeUI = (0, _themeUi.useThemeUI)(),
theme = _useThemeUI.theme;
console.log(theme);
return _react["default"].createElement(StyledLoader, _extends({}, props, {
theme: theme
}), _react["default"].createElement("div", {
className: "loader"
}), _react["default"].createElement("p", null, props.text));
};
Loader.defaultProps = {
text: 'Loading CodeSandbox',
isLoading: true,
size: 4
};
Loader.propTypes = {
text: _propTypes["default"].string,
isLoading: _propTypes["default"].bool.isRequired
};
var _default = Loader;
exports["default"] = _default;