mdx-deck-theme-garlic
Version:
garlic theme for mdx-deck
126 lines (98 loc) • 3.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _styled = _interopRequireDefault(require("@emotion/styled"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react2 = require("@mdx-js/react");
var _themeUi = require("theme-ui");
var _prism = _interopRequireDefault(require("@theme-ui/prism"));
var _mdxDeck = require("mdx-deck");
var _Contour = _interopRequireDefault(require("../layouts/Contour"));
var _ProgressBar = _interopRequireDefault(require("./ProgressBar"));
var _Icon = _interopRequireDefault(require("./Icon.css"));
var _CodeSandbox = _interopRequireDefault(require("./CodeSandbox"));
var _Frame = _interopRequireDefault(require("./Frame"));
var _Column = _interopRequireDefault(require("./Column"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _templateObject2() {
var data = _taggedTemplateLiteral(["\n font-family: ", ";\n"]);
_templateObject2 = function _templateObject2() {
return data;
};
return data;
}
function _templateObject() {
var data = _taggedTemplateLiteral(["\n position: fixed;\n right: 0;\n top: 0;\n margin: 1rem;\n z-index: 1;\n font-size: 1.5rem;\n color: ", ";\n text-decoration: none;\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 components = {
// eslint-disable-next-line react/display-name
pre: function pre(_ref) {
var children = _ref.children;
return _react["default"].createElement(_react["default"].Fragment, null, children);
},
code: _prism["default"]
};
var shortcodes = {
Contour: _Contour["default"],
CodeSandbox: _CodeSandbox["default"],
Frame: _Frame["default"],
Column: _Column["default"]
};
var StyledTag = _styled["default"].a(_templateObject(), function (_ref2) {
var theme = _ref2.theme;
return theme.colors.text || 'thistle';
});
var StyledLayout = _styled["default"].main(_templateObject2(), function (_ref3) {
var theme = _ref3.theme;
return theme.fonts.body;
});
var Provider = function Provider(props) {
var _useThemeUI = (0, _themeUi.useThemeUI)(),
theme = _useThemeUI.theme;
var deck = (0, _mdxDeck.useDeck)();
var Logo = props.logo,
logoUrl = props.logoUrl,
author = props.author,
authorUrl = props.authorUrl,
children = props.children;
return _react["default"].createElement(StyledLayout, null, Logo && logoUrl ? _react["default"].createElement(_Icon["default"], {
href: logoUrl,
target: "_blank",
theme: theme
}, Logo ? _react["default"].createElement(Logo, {
theme: theme
}) : null) : null, author && authorUrl ? _react["default"].createElement(StyledTag, {
href: authorUrl,
target: "_blank",
theme: theme
}, author) : null, _react["default"].createElement(_themeUi.ThemeProvider, {
theme: theme,
components: components
}, _react["default"].createElement(_react2.MDXProvider, {
components: shortcodes
}, children)), _react["default"].createElement(_ProgressBar["default"], {
percent: Math.floor(100 / (deck.length - 1) * deck.index)
}));
};
Provider.propTypes = {
logo: _propTypes["default"].func,
logoUrl: _propTypes["default"].string,
author: _propTypes["default"].string,
authorUrl: _propTypes["default"].string
};
Provider.defaultProps = {
logo: null,
logoUrl: '#',
author: null,
authorUrl: '#'
};
var _default = Provider;
exports["default"] = _default;