import { cloneElement, ReactNode, ReactElement, ElementType } from 'react' import cx from 'classnames' import styles from './BumpLink.module.scss' export type BumpLinkPropsT = { children?: ReactNode title: ReactElement | string href: string as?: ElementType<{ className?: string; href: string }> className?: string } export const BumpLink = ({ as, children, href, title, className }: BumpLinkPropsT) => { const Component = as || 'a' let extendedTitle: ReactNode if (typeof title === 'string') { extendedTitle = {title} } else { extendedTitle = cloneElement(title, title.props, title.props.children) } return ( {extendedTitle} {children} ) }