import { Fragment, useEffect, useRef } from 'react'; import classnames from 'classnames'; import getChildrenToArray from './getChildrenToArray'; import borderStyles from '../Borders.css'; import Box from '../Box'; import { useSideNavigation } from '../contexts/SideNavigationProvider'; import Divider from '../Divider'; import Flex from '../Flex'; import Heading from '../Heading'; import InternalDismissButton from '../sharedSubcomponents/InternalDismissButton'; import { Props as SideNavigationProps } from '../SideNavigation'; import styles from '../SideNavigation.css'; type Props = SideNavigationProps & { id: string; }; export default function SideNavigationMobile({ accessibilityLabel, children, footer, header, id, mobileTitle, dismissButton, showBorder, }: Props) { const dismissButtonRef = useRef(null); const navigationChildren = getChildrenToArray({ children, filterLevel: 'main', }); const { selectedMobileChildren } = useSideNavigation(); useEffect(() => { if (dismissButtonRef.current) { dismissButtonRef.current.focus(); } }, [dismissButtonRef]); return (
{selectedMobileChildren ?? ( {mobileTitle} ' is not assignable to type 'LegacyRef | undefined'. ref={dismissButtonRef} accessibilityControls={id} accessibilityLabel={dismissButton?.accessibilityLabel || ''} onClick={() => dismissButton?.onDismiss()} /> {header ? ( {header} ) : null}
    {navigationChildren}
{footer ? ( {footer} ) : null}
)}
); }