import classNames from 'classnames' import React from 'react' import { i18nTranslate } from '../../types' import { UrlObject } from 'url' declare type Url = string | UrlObject declare type InternalLinkProps = { href: Url as?: Url replace?: boolean scroll?: boolean shallow?: boolean passHref?: boolean prefetch?: boolean locale?: string | false legacyBehavior?: boolean /** * requires experimental.newNextLinkBehavior */ onMouseEnter?: (e: any) => void /** * requires experimental.newNextLinkBehavior */ onTouchStart?: (e: any) => void /** * requires experimental.newNextLinkBehavior */ onClick?: (e: any) => void } export const NavigationLink: React.FC<{ Link: React.ForwardRefExoticComponent< Omit, keyof InternalLinkProps> & InternalLinkProps & { children?: React.ReactNode } & React.RefAttributes > pathname: string t: i18nTranslate regex?: RegExp i18nKey: string href?: string externalHref?: string selectedClassName?: string }> = (props) => { const { t, Link, externalHref, href, regex, pathname, i18nKey, selectedClassName } = props if (!!externalHref) { return ( {t(i18nKey)}
) } const isSelected = regex?.test(pathname) return ( {t(i18nKey)}
) } NavigationLink.defaultProps = { selectedClassName: 'bg-gradient-magenta' }