Resources

Best practices

Do

  • Use links for navigation.
  • Use the default link style most of the time.
  • Make link text understandable out of context.

Don't

  • Use links to trigger non-navigation actions.
  • Label links with URLs or generic phrases such as “Click here.”
  • Open a new tab or window without warning.

Behavior and states

  • By default, links show an underline in hover, focus, and pressed states.
  • Inline link behavior also adds an underline in rest and visited states.
  • Use inline behavior to maximize visual cues when a link appears next to body text.
API referenceGenerated CoreAI prop and type summaries

API

Generated CoreAI prop summaries, not replacement type declarations. Most native DOM/event and ARIA props are omitted. ? means optional; JSDoc shows defaults, deprecations, and conditional requirements. Defaults assume the standard CoreAI provider.

A link component that extends Fluent UI's Link with an external flag that appends an inline external-link icon after the link text.

interface LinkProps {
  /**
   * A link can appear either with its default style or subtle.
   * If not specified, the link appears with its default styling.
   * @default 'default'
   */
  appearance?: "subtle" | "default";

  as?: "a" | "button" | "span";

  children?: any;

  className?: string;

  /**
   * Whether the link is disabled.
   * @default false
   */
  disabled?: boolean;

  /**
   * When set, allows the link to be focusable even when it has been disabled. This is used in scenarios where it is
   * important to keep a consistent tab order for screen reader and keyboard users.
   * @default false
   */
  disabledFocusable?: boolean;

  /**
   * When `true`, renders an external-link icon inline after the link text to
   * signal that the destination opens outside the current context.
   * Defaults `target` to `_blank` and `rel` to `noopener noreferrer`.
   */
  external?: boolean;

  /**
   * If true, changes styling when the link is being used alongside other text content.
   * @default false
   */
  inline?: boolean;

  ref?: Ref<HTMLSpanElement>;

  rel?: string;

  style?: CSSProperties;

  target?: HTMLAttributeAnchorTarget;
}

Implementation

CoreAI 0.12.0; Fluent 9.74.9.

Setup and dependencies.

Import components from @coreai-ds/react-components. CoreAI guidance above takes precedence over API demonstration examples.