import { List, X } from "@phosphor-icons/react"; import { useState, type HTMLAttributes, type ReactNode, } from "react"; import { cn } from "../../lib/cn"; export type UhuruHeaderProps = Omit, "title"> & { actions?: ReactNode; brand?: ReactNode; defaultMobileMenuOpen?: boolean; mobileMenu?: ReactNode; mobileMenuLabel?: string; navigation?: ReactNode; onMobileMenuOpenChange?: (open: boolean) => void; sticky?: boolean; }; export function UhuruHeader({ actions, brand, children, className, defaultMobileMenuOpen = false, mobileMenu, mobileMenuLabel = "Open navigation", navigation, onMobileMenuOpenChange, sticky = false, ...props }: UhuruHeaderProps) { const [mobileOpen, setMobileOpen] = useState(defaultMobileMenuOpen); function updateMobileOpen(open: boolean) { setMobileOpen(open); onMobileMenuOpenChange?.(open); } return (
{brand}
{navigation ? : null} {children ?
{children}
: null}
{actions} {mobileMenu ? ( ) : null}
{mobileMenu && mobileOpen ? (
{mobileMenu}
) : null}
); }