UNPKG

mod-arch-shared

Version:

Shared library for modular architecture micro-frontend projects

25 lines 1.85 kB
import * as React from 'react'; import { NavLink } from 'react-router-dom'; import { Brand, Nav, NavExpandable, NavItem, NavList, PageSidebar, PageSidebarBody, } from '@patternfly/react-core'; import logoLightTheme from '../images/logo-light-theme.svg'; import { isNavDataGroup } from '../types/common'; import { useThemeContext } from '../hooks/useThemeContext'; const NavHref = ({ item }) => (React.createElement(NavItem, { key: item.label, "data-id": item.label, itemId: item.label }, React.createElement(NavLink, { to: item.path }, item.label))); const NavGroup = ({ item }) => { const { children } = item; const [expanded, setExpanded] = React.useState(false); return (React.createElement(NavExpandable, { "data-id": item.label, key: item.label, id: item.label, title: item.label, groupId: item.label, isExpanded: expanded, onExpand: (e, val) => setExpanded(val), "aria-label": item.label }, children.map((childItem) => (React.createElement(NavHref, { key: childItem.label, "data-id": childItem.label, item: childItem }))))); }; const NavSidebar = ({ navData }) => { const { isMUITheme } = useThemeContext(); return (React.createElement(PageSidebar, null, React.createElement(PageSidebarBody, null, React.createElement(Nav, { id: "nav-primary-simple" }, React.createElement(NavList, { id: "nav-list-simple" }, isMUITheme ? (React.createElement(NavItem, null, React.createElement(Brand, { className: "kubeflow_brand", src: logoLightTheme, alt: "Kubeflow Logo" }))) : null, navData.map((item) => isNavDataGroup(item) ? (React.createElement(NavGroup, { key: item.label, item: item })) : (React.createElement(NavHref, { key: item.label, item: item })))))))); }; export default NavSidebar; //# sourceMappingURL=NavSidebar.js.map