UNPKG

@scripty/react-navigations

Version:

lightweight react navigation components.

54 lines (41 loc) 1.58 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.Breadcrumbs = void 0; var _react = _interopRequireWildcard(require("react")); require("./Breadcrumbs.scss"); var _Icon = require("./Icon"); var _helper = require("./helper"); var _reactRouterDom = require("react-router-dom"); var Breadcrumbs = function Breadcrumbs(props) { var routes = props.routes, onClick = props.onClick, selectedKeys = props.selectedKeys; var onItemClick = function onItemClick(key, selectedKeys) { onClick(key, selectedKeys); }; var activeRoutes = (0, _helper.getActiveRoutes)(routes, window.location, ''); var links = activeRoutes.map(function (route, idx) { var path = route.currentPath; var pathClass = ''; selectedKeys = (0, _helper.getSelectedKeys)(routes, window.location, ''); if (route.path === '#' || idx === activeRoutes.length - 1) { path = '#'; pathClass = 'no-link'; } return /*#__PURE__*/_react["default"].createElement("li", { key: route.key }, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.NavLink, { className: pathClass, onClick: onItemClick.bind(null, route.key, selectedKeys), exact: route.exact, to: path }, route.label)); }); return /*#__PURE__*/_react["default"].createElement("nav", { className: 'breadcrumbs' }, /*#__PURE__*/_react["default"].createElement("ul", null, links)); }; exports.Breadcrumbs = Breadcrumbs;