import { FC, Fragment, useEffect, useState } from 'react'; import { UniformSlot } from '@uniformdev/next-app-router/component'; import { ArrowIcon } from '@/components/ui/_icons'; import { resolveColor } from '@/utils/colorPalette'; import { cn } from '@/utils/styling'; import { MegaMenuContext } from './mega-menu-context'; import type { MegaMenuCategory, NavigationFlyoutParameters, NavigationFlyoutProps } from './types'; type NavigationFlyoutPropsMobileContentProps = Pick & Pick & { isOpen: boolean; onClose: () => void; categories: MegaMenuCategory[]; }; const useHeaderHeight = () => { const [headerHeight, setHeaderHeight] = useState(0); useEffect(() => { const header = document.getElementById('mobile-header'); if (header) { // eslint-disable-next-line react-hooks/set-state-in-effect setHeaderHeight(header.offsetHeight); } }, []); return headerHeight; }; export const NavigationFlyoutPropsMobileContent: FC = ({ isOpen, backgroundColor, slots, onClose, categories, }) => { const headerHeight = useHeaderHeight(); const bg = resolveColor(backgroundColor, 'background'); return (
{categories.length > 0 ? (
{categories.map(c => (

{c.text}

{({ child, _id, key }) => _id === c.id ? {child} : }
))}
) : (
)}
); };