UNPKG

@intility/bifrost-react

Version:

React library for Intility's design system, Bifrost.

42 lines (40 loc) 943 B
"use client"; import { c as _c } from "react-compiler-runtime"; import { useContext } from "react"; import { NavContext } from "../components/Nav/NavContext.internal.js"; import useBreakpoint from "./useBreakpoint.js"; /** * Access the `<Nav>` context * * @returns an object containing: * - bool `sideCollapsed` * - function `setSideCollapsed(bool)` * - bool `mobileOpen` * - function `setMobileOpen(bool)` * - bool `isMobile` * * @see https://bifrost.intility.com/react/useNav * * @example * const { * sideCollapsed // `true` if the <Nav> ancestor sidebar is collapsed * } = useNav(); */ export default function useNav() { const $ = _c(3); const nav = useContext(NavContext); const isMobile = useBreakpoint(null, "xl"); let t0; if ($[0] !== isMobile || $[1] !== nav) { t0 = { isMobile, ...nav }; $[0] = isMobile; $[1] = nav; $[2] = t0; } else { t0 = $[2]; } return t0; }