import type { ReactElement } from 'react'; import { classNames } from '@vkontakte/vkjs'; import { Tappable, type TappableOmitProps } from '../Tappable/Tappable'; import styles from './Link.module.css'; export interface LinkProps extends TappableOmitProps { /** * Иконка слева. */ before?: ReactElement; /** * Иконка справа. */ after?: ReactElement; /** * Выключает появления нижнего подчеркивания при наведении. */ noUnderline?: boolean; /** * Включает состояние `visited`, которое позволяет пользователю понять посещал ли он ссылку или нет. */ hasVisited?: boolean; } /** * @see https://vkui.io/components/link */ export const Link = ({ before: beforeProp, after: afterProp, noUnderline, hasVisited, children, ...restProps }: LinkProps): React.ReactNode => { const before = beforeProp ? {beforeProp} : null; const after = afterProp ? {afterProp} : null; return ( {before} {children} {after} ); };