react-demo-page
Version:
Build a demo page for your react component with ease
203 lines (160 loc) • 7.25 kB
JavaScript
;
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
exports.__esModule = true;
exports["default"] = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireWildcard(require("react"));
var _reactRouterDom = require("react-router-dom");
var _styledComponents = _interopRequireDefault(require("styled-components"));
var variables = _interopRequireWildcard(require("../../variables.js"));
var _Button = require("../Button");
var _NavToggle = _interopRequireDefault(require("../NavToggle"));
var _jsxFileName = "/Users/cedricdelpoux/Development/perso/react-demo-page/src/components/Nav/index.js";
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
function _templateObject5() {
var data = _taggedTemplateLiteralLoose(["\nborder-bottom: 1px solid rgba(255, 255, 255, 0.2);\n"]);
_templateObject5 = function _templateObject5() {
return data;
};
return data;
}
function _templateObject4() {
var data = _taggedTemplateLiteralLoose(["\n text-decoration: none;\n display: block;\n color: #fff;\n"]);
_templateObject4 = function _templateObject4() {
return data;
};
return data;
}
function _templateObject3() {
var data = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n left: 0;\n z-index: 3;\n"]);
_templateObject3 = function _templateObject3() {
return data;
};
return data;
}
function _templateObject2() {
var data = _taggedTemplateLiteralLoose(["\n list-style: none;\n padding: 0;\n"]);
_templateObject2 = function _templateObject2() {
return data;
};
return data;
}
function _templateObject() {
var data = _taggedTemplateLiteralLoose(["\n background: ", ";\n position: fixed;\n font-weight: 300;\n height: 100%;\n top: 0;\n z-index: 2;\n transition: all 0.3s ease;\n padding-top: 75px;\n\n ", ";\n\n @media ", ", ", " {\n border-right: 1px solid rgba(255, 255, 255, 0.3);\n min-width: 300px;\n }\n\n @media ", " {\n width: 100%;\n }\n"]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
function _taggedTemplateLiteralLoose(strings, raw) { if (!raw) { raw = strings.slice(0); } strings.raw = raw; return strings; }
var Wrapper = _styledComponents["default"].nav(_templateObject(), function (_ref) {
var color = _ref.color;
return color;
}, function (props) {
return !props.open && "transform: translateX(-100%);";
}, variables.large, variables.medium, variables.small);
var Ul = _styledComponents["default"].ul(_templateObject2());
var Toggle = (0, _styledComponents["default"])(_NavToggle["default"])(_templateObject3());
var StyledLink = (0, _styledComponents["default"])(_reactRouterDom.Link)(_templateObject4());
var NavButton = (0, _styledComponents["default"])(_Button.StyledButton).attrs({
as: "div"
})(_templateObject5());
var Nav = /*#__PURE__*/function (_Component) {
_inheritsLoose(Nav, _Component);
function Nav() {
var _this;
_this = _Component.call(this) || this;
_this.state = {
open: false
};
_this.toggleNav = _this.toggleNav.bind(_assertThisInitialized(_this));
return _this;
}
var _proto = Nav.prototype;
_proto.toggleNav = function toggleNav() {
this.setState({
open: !this.state.open
});
};
_proto.render = function render() {
var _this2 = this;
var open = this.state.open;
var _this$props = this.props,
color = _this$props.color,
routes = _this$props.routes;
return /*#__PURE__*/_react["default"].createElement("div", {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 73,
columnNumber: 7
}
}, /*#__PURE__*/_react["default"].createElement(Toggle, {
onClick: this.toggleNav,
open: open,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 74,
columnNumber: 9
}
}), /*#__PURE__*/_react["default"].createElement(Wrapper, {
open: open,
color: color,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 75,
columnNumber: 9
}
}, /*#__PURE__*/_react["default"].createElement(Ul, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 76,
columnNumber: 11
}
}, routes.map(function (route, index) {
return /*#__PURE__*/_react["default"].createElement("li", {
key: index,
__self: _this2,
__source: {
fileName: _jsxFileName,
lineNumber: 78,
columnNumber: 15
}
}, /*#__PURE__*/_react["default"].createElement(StyledLink, {
to: route.path,
onClick: _this2.toggleNav,
__self: _this2,
__source: {
fileName: _jsxFileName,
lineNumber: 79,
columnNumber: 17
}
}, /*#__PURE__*/_react["default"].createElement(NavButton, {
__self: _this2,
__source: {
fileName: _jsxFileName,
lineNumber: 80,
columnNumber: 19
}
}, route.label)));
}))));
};
return Nav;
}(_react.Component);
Nav.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 = Nav;
exports["default"] = _default;
module.exports = exports.default;