/** @module @airtable/blocks/ui: Link */ /** */ import PropTypes from 'prop-types'; import * as React from 'react'; import { EnumType } from '../private_utils'; import { AriaProps } from './types/aria_props'; import { DataAttributesProp } from './types/data_attributes_prop'; import { OptionalResponsiveProp } from './system/utils/types'; import { MaxWidthProps, MinWidthProps, WidthProps, FlexItemSetProps, PositionSetProps, FontWeightProps, SpacingSetProps } from './system'; import { TooltipAnchorProps } from './types/tooltip_anchor_props'; import { TextSizeProp } from './text'; import { IconName } from './icon_config'; /** * Style props for the {@link Link} component. Also accepts: * * {@link FlexItemSetProps} * * {@link FontWeightProps} * * {@link MaxWidthProps} * * {@link MinWidthProps} * * {@link PositionSetProps} * * {@link SpacingSetProps} * * {@link WidthProps} * * @noInheritDoc */ export interface LinkStyleProps extends MaxWidthProps, MinWidthProps, WidthProps, FlexItemSetProps, PositionSetProps, FontWeightProps, SpacingSetProps { /** Defines the display type of an element, which consists of the two basic qualities of how an element generates boxes — the outer display type defining how the box participates in flow layout, and the inner display type defining how the children of the box are laid out. */ display?: OptionalResponsiveProp<'inline-flex' | 'flex' | 'none'>; } export declare const linkStylePropTypes: { display: PropTypes.Validator; }; /** * Variants for the {@link Link} component: * * • **default** * * Blue text. * * • **dark** * * Dark gray text. * * • **light** * * Light gray text. */ type LinkVariant = EnumType; declare const LinkVariant: { default: "default"; dark: "dark"; light: "light"; }; /** * Props for the {@link Link} component. Also supports: * * {@link AriaProps} * * {@link LinkStyleProps} * * @docsPath UI/components/Link * @noInheritDoc */ export interface LinkProps extends AriaProps, LinkStyleProps, TooltipAnchorProps { /** The size of the link. Defaults to `default`. Can be a responsive prop object. */ size?: TextSizeProp; /** The variant of the link, which defines the color. Defaults to `default`. */ variant?: LinkVariant; /** The name of the icon or a react node. For more details, see the {@link IconName|list of supported icons}. */ icon?: IconName | React.ReactElement; /** Adds an underline to the link when true. */ underline?: boolean; /** The target URL or URL fragment for the link. */ href: string; /** Specifies where to display the linked URL. */ target?: string; /** The `id` attribute. */ id?: string; /** Indicates if the link can be focused and if/where it participates in sequential keyboard navigation. */ tabIndex?: number; /** Additional class names to apply to the link. */ className?: string; /** Additional styles to apply to the link. */ style?: React.CSSProperties; /** Data attributes that are spread onto the element, e.g. `dataAttributes={{'data-*': '...'}}`. */ dataAttributes?: DataAttributesProp; /** The contents of the link. */ children?: React.ReactNode | string; } declare const ForwardedRefLink: React.ForwardRefExoticComponent>; export default ForwardedRefLink; //# sourceMappingURL=link.d.ts.map