UNPKG

@intility/bifrost-react

Version:

React library for Intility's design system, Bifrost.

41 lines (40 loc) 1.47 kB
"use client"; import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { forwardRef } from "react"; import classnames from "classnames"; import NavLocationProvider from "./NavLocationContext.internal.js"; import useScrollDirection from "../../hooks/useScrollDirection.js"; import useNav from "../../hooks/useNav.js"; import NavLogo from "./Nav.Logo.js"; /** * Nav top bar */ const NavTop = /*#__PURE__*/ forwardRef(({ children, className, preLogo, logo, ...props }, ref)=>{ const scrollDirection = useScrollDirection(); const { mobileOpen } = useNav(); logo = typeof logo === "string" ? /*#__PURE__*/ _jsx(NavLogo, { children: logo }) : logo; return /*#__PURE__*/ _jsx(NavLocationProvider, { where: "top", children: /*#__PURE__*/ _jsxs("header", { ...props, className: classnames("bf-nav bf-nav-top", className, { "bf-nav-top-hide-for-mobile": scrollDirection === "down" && !mobileOpen }), ref: ref, children: [ preLogo, /*#__PURE__*/ _jsx("div", { className: "bf-nav-top-logo", children: logo }), /*#__PURE__*/ _jsx("div", { className: "bf-nav-top-content", children: children }) ] }) }); }); NavTop.displayName = "Nav.Top"; export default NavTop;