UNPKG

react-demo-page

Version:

Build a demo page for your react component with ease

203 lines (160 loc) 7.25 kB
"use strict"; 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;