import React, { HTMLAttributeAnchorTarget, useLayoutEffect, useState } from 'react'; import AnimateHeight from 'react-animate-height'; import { isActiveLink } from '../is-active-link'; import { SubLink, SubLinkProps } from '../SubLink/SubLink'; import { useLocation } from '../useLocation'; import { SubLinksButtonGroup } from './SubLinks.styled'; export type SubLinksProps = { Component?: SubLinkProps['Component']; onClick: () => void; onSubLinkClick?: (href?: string) => void; subLinks: { isNew?: boolean; link: string; target?: HTMLAttributeAnchorTarget | undefined; text: string; }[]; }; export const SubLinks: React.FunctionComponent = ({ Component, subLinks, onClick, onSubLinkClick, }) => { const { pathname } = useLocation(); const [height, setHeight] = useState<'auto' | number>(0); useLayoutEffect(() => { setHeight('auto'); }, []); return ( {subLinks.map(({ text, link, isNew, target }) => ( { onClick(); onSubLinkClick?.(link); }} /> ))} ); };