UNPKG

@compositor/kit

Version:

Components for development environments, style guides, and demos

55 lines (34 loc) 1.84 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray'); var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); var _keys = require('babel-runtime/core-js/object/keys'); var _keys2 = _interopRequireDefault(_keys); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _buble = require('buble'); var _mdx = require('@mdx-js/mdx'); var _mdx2 = _interopRequireDefault(_mdx); var _tag = require('@mdx-js/tag'); var _styledComponents = require('styled-components'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function (_ref) { var children = _ref.children, components = _ref.components, _ref$theme = _ref.theme, theme = _ref$theme === undefined ? {} : _ref$theme; var jsx = _mdx2.default.sync(children).replace('export default ({components}) =>', ''); var _transform = (0, _buble.transform)('\n <ThemeProvider theme={theme}>\n <React.Fragment>\n ' + jsx + '\n </React.Fragment>\n </ThemeProvider>\n '), code = _transform.code; var scope = (0, _extends3.default)({ ThemeProvider: _styledComponents.ThemeProvider, MDXTag: _tag.MDXTag }, components, { components: components, theme: theme }); var keys = (0, _keys2.default)(scope); var values = keys.map(function (k) { return scope[k]; }); var fn = new (Function.prototype.bind.apply(Function, [null].concat(['React'], (0, _toConsumableArray3.default)(keys), ['return (' + code + ')'])))(); return fn.apply(undefined, [_react2.default].concat((0, _toConsumableArray3.default)(values))); };