UNPKG

2.28 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = void 0;
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/extends"));
11
12var _objectSpread2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectSpread"));
13
14var _isArray = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/array/is-array"));
15
16var _react = _interopRequireDefault(require("react"));
17
18var _reactRouterDom = require("react-router-dom");
19
20var _List = _interopRequireDefault(require("@material-ui/core/List"));
21
22var _DrawerItem = _interopRequireDefault(require("./DrawerItem"));
23
24var _propTypes = _interopRequireDefault(require("prop-types"));
25
26/* eslint-disable import/no-extraneous-dependencies */
27var mergeNavItems = function mergeNavItems(navItemPairs) {
28 return navItemPairs.map(function (i) {
29 return (0, _isArray.default)(i) ? (0, _objectSpread2.default)({}, i[0], i[1]) : i;
30 });
31};
32
33var NavList = function NavList(_ref) {
34 var navItems = _ref.navItems;
35 return _react.default.createElement(_List.default, null, mergeNavItems(navItems).map(function (_ref2) {
36 var path = _ref2.path,
37 label = _ref2.title,
38 Icon = _ref2.Icon,
39 hardLink = _ref2.hardLink,
40 newTab = _ref2.newTab;
41 return hardLink || newTab ? _react.default.createElement("a", (0, _extends2.default)({
42 href: path,
43 key: path
44 }, newTab ? {
45 target: '_blank'
46 } : {}), _react.default.createElement(_DrawerItem.default, {
47 label: label,
48 icon: Icon
49 })) : _react.default.createElement(_reactRouterDom.Link, {
50 to: path,
51 key: path
52 }, _react.default.createElement(_DrawerItem.default, {
53 label: label,
54 icon: Icon
55 }));
56 }));
57};
58
59NavList.propTypes = {
60 navItems: _propTypes.default.arrayOf(function (props, propName, componentName) {
61 if (!Object.prototype.hasOwnProperty.call(props, propName)) {
62 throw new Error("Prop `".concat(propName, "` has type 'any' or 'mixed', but was not provided to `").concat(componentName, "`. Pass undefined or any other value."));
63 }
64 }).isRequired
65};
66var _default = NavList;
67exports.default = _default;
\No newline at end of file