adn-ui
Components

Preview Card

A high-quality, styled React preview card component built with @base-ui/react that displays a preview card when hovering a link.

The PreviewCard component provides a floating summary popup when hovering over hyperlinked trigger elements.

Usage

import { PreviewCard } from "@/components/ui/preview-card";

export function ExamplePreviewCard() {
  return (
    <p>
      Learn more about{" "}
      <PreviewCard.Root>
        <PreviewCard.Trigger href="https://wikipedia.org/wiki/Typography">
          Typography
        </PreviewCard.Trigger>
        <PreviewCard.Portal>
          <PreviewCard.Positioner sideOffset={8}>
            <PreviewCard.Popup>
              <h4>Typography</h4>
              <p>The art and technique of arranging type.</p>
            </PreviewCard.Popup>
          </PreviewCard.Positioner>
        </PreviewCard.Portal>
      </PreviewCard.Root>
    </p>
  );
}

Preview

The principles of good Typography remain critical in modern UI design.

Anatomy

import { PreviewCard } from "@base-ui/react/preview-card";

<PreviewCard.Root>
  <PreviewCard.Trigger />
  <PreviewCard.Portal>
    <PreviewCard.Backdrop />
    <PreviewCard.Positioner>
      <PreviewCard.Popup>
        <PreviewCard.Arrow />
      </PreviewCard.Popup>
    </PreviewCard.Positioner>
  </PreviewCard.Portal>
</PreviewCard.Root>;

API Reference

PreviewCard.Root Props

PropTypeDefaultDescription
openbooleanundefinedControlled open state.
defaultOpenbooleanfalseInitial uncontrolled open state.
onOpenChange(open: boolean) => voidundefinedCallback fired when open state changes.
delaynumberundefinedDelay in ms before opening on hover.

PreviewCard.Positioner Props

PropTypeDefaultDescription
side'top' | 'right' | 'bottom' | 'left''bottom'Preferred placement side relative to trigger link.
sideOffsetnumber8Distance in pixels from trigger element.

On this page