react-demo-page
Version:
Build a demo page for your react component with ease
98 lines (81 loc) • 3.16 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
var _reactRouterDom = require("react-router-dom");
var _Demo = _interopRequireDefault(require("../Demo"));
var _Html = _interopRequireDefault(require("../Html"));
var _this = void 0,
_jsxFileName = "/Users/cedricdelpoux/Development/perso/react-demo-page/src/components/Routes/index.js";
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 _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
var Routes = function Routes(_ref) {
var color = _ref.color,
routes = _ref.routes;
return /*#__PURE__*/_react["default"].createElement("div", {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 8,
columnNumber: 3
}
}, routes.map(function (route, index) {
var component = route.component,
demo = route.demo,
html = route.html,
routeProps = _objectWithoutPropertiesLoose(route, ["component", "demo", "html"]);
var RenderComp;
if (html) {
RenderComp = /*#__PURE__*/_react["default"].createElement(_Html["default"], {
color: color,
html: html,
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 14,
columnNumber: 22
}
});
}
if (demo && demo.component) {
RenderComp = /*#__PURE__*/_react["default"].createElement(_Demo["default"], _extends({}, demo, {
color: color,
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 18,
columnNumber: 22
}
}));
}
if (component) {
RenderComp = component;
}
return RenderComp && /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Route, _extends({
key: index,
render: function render() {
return RenderComp;
}
}, routeProps, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 27,
columnNumber: 9
}
}));
}));
};
Routes.propTypes = process.env.NODE_ENV !== "production" ? {
color: _propTypes["default"].string.isRequired,
routes: _propTypes["default"].arrayOf(_propTypes["default"].shape({
label: _propTypes["default"].string.isRequired,
path: _propTypes["default"].string.isRequired
})).isRequired
} : {};
var _default = Routes;
exports["default"] = _default;