import { forwardRef, ForwardRefRenderFunction } from 'react'; import { useIntl } from 'react-intl'; import BooleanField, { type BooleanFieldProps, } from '../../atoms/forms/boolean-field'; import Label from '../../atoms/forms/label'; import Hamburger from '../../atoms/icons/hamburger'; import Nav, { type NavProps, type NavItem } from '../../molecules/nav/nav'; import mainNavStyles from './main-nav.module.scss'; import sharedStyles from './toolbar-items.module.scss'; export type MainNavProps = { /** * Set additional classnames to the nav element. */ className?: NavProps['className']; /** * The button state. */ isActive: BooleanFieldProps['checked']; /** * The main nav items. */ items: NavItem[]; /** * A callback function to handle button state. */ setIsActive: BooleanFieldProps['onChange']; }; /** * MainNav component * * Render the main navigation. */ const MainNav: ForwardRefRenderFunction = ( { className = '', isActive, items, setIsActive }, ref ) => { const intl = useIntl(); const label = isActive ? intl.formatMessage({ defaultMessage: 'Close menu', description: 'MainNav: Close label', id: 'aJC7D2', }) : intl.formatMessage({ defaultMessage: 'Open menu', description: 'MainNav: Open label', id: 'GTbGMy', }); return (
); }; export default forwardRef(MainNav);