import type { ReactNode } from 'react' import React from 'react' import { supportsHyperlinks } from '../core/supports-hyperlinks.js' import Text from './Text.js' export type Props = { readonly children?: ReactNode readonly url: string readonly fallback?: ReactNode } export default function Link({ children, url, fallback, }: Props): React.ReactNode { // Use children if provided, otherwise display the URL const content = children ?? url if (supportsHyperlinks()) { // Wrap in Text to ensure we're in a text context // (ink-link is a text element like ink-text) return ( {content} ) } return {fallback ?? content} }