import * as React from "react"; import { cn } from "../../helpers"; import { EHeaderVariant, getHeaderStyle, THeaderVariant } from "./helper"; import { ERowVariant, Row } from "../row"; export interface HeaderProps { variant?: THeaderVariant; setHeight?: boolean; className?: string; children: React.ReactNode; showOnMobile?: boolean; } const HeaderContext = React.createContext(null); const Header = (props: HeaderProps) => { const { variant = EHeaderVariant.PRIMARY, className = "", showOnMobile = true, setHeight = true, children, ...rest } = props; const style = getHeaderStyle(variant, setHeight, showOnMobile); return ( {children} ); }; const LeftItem = (props: HeaderProps) => (
{props.children}
); const RightItem = (props: HeaderProps) => { const variant = React.useContext(HeaderContext); if (variant === undefined) throw new Error("RightItem must be used within Header"); return (
{props.children}
); }; Header.LeftItem = LeftItem; Header.RightItem = RightItem; Header.displayName = "plane-ui-header"; export { Header, EHeaderVariant };