Files
web/packages/design-system/lib/components/TextLink/TextLink.tsx
Hrishikesh Vaipurkar 9937dfd002 Merged in fix/BOOK-408-alt-text-needs-to-be-updated- (pull request #3220)
* fix(BOOK-408): Updated logo aria label
* fix(BOOK-408): Added title for links opening in new tab
* fix(BOOK-408): Added translations handling for title

Approved-by: Anton Gunnarsson
Approved-by: Matilda Landström
2025-11-27 09:40:38 +00:00

47 lines
963 B
TypeScript

'use client'
import { cx } from 'class-variance-authority'
import NextLink from 'next/link'
import { TextLinkProps } from './types'
import { variants } from './variants'
import styles from './textLink.module.css'
import { useIntl } from 'react-intl'
export function TextLink({
theme,
className,
isDisabled,
tabIndex,
isInline,
typography,
...props
}: TextLinkProps) {
const intl = useIntl()
const classNames = variants({
theme,
typography,
className,
})
return (
<NextLink
{...props}
tabIndex={isDisabled ? -1 : tabIndex}
aria-disabled={isDisabled}
className={cx(classNames, {
[styles.disabled]: isDisabled,
[styles.inline]: isInline,
})}
title={
props.target === '_blank'
? intl.formatMessage({
id: 'common.linkOpenInNewTab',
defaultMessage: 'Opens in a new tab/window',
})
: ''
}
/>
)
}