# V preview card 13

> Basic preview card

A shadcn/ui block from the [@cnippet](https://ui.cnippet.dev/) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/cnippet/v-preview-card-13).

- Page, with a live preview: https://shadcn.exchange/r/cnippet/v-preview-card-13
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/cnippet/v-preview-card-13-light-0e6150dbbc0fdceb.png
- Registry item: https://ui.cnippet.dev/r/v-preview-card-13.json
- Categories: preview card
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://ui.cnippet.dev/r/v-preview-card-13.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- Registry items: `@cnippet/preview-card`

## Files

### `registry/default/variants/v-preview-card-13.tsx`

```tsx
// biome-ignore-all lint/suspicious/noArrayIndexKey:<>

import { StarIcon } from "lucide-react";
import { Badge } from "@/registry/default/ui/badge";
import {
  PreviewCard,
  PreviewCardPopup,
  PreviewCardTrigger,
} from "@/registry/default/ui/preview-card";

export function Pattern() {
  return (
    <p className="text-sm">
      We recommend the{" "}
      <PreviewCard>
        <PreviewCardTrigger className="cursor-pointer font-medium underline decoration-dashed underline-offset-4">
          Pro Wireless Headphones
        </PreviewCardTrigger>
        <PreviewCardPopup>
          <div className="flex flex-col gap-3">
            <div className="h-32 w-full rounded-md bg-muted" />
            <div>
              <div className="flex items-start justify-between gap-2">
                <h4 className="font-semibold text-sm">
                  Pro Wireless Headphones
                </h4>
                <Badge size="sm" variant="secondary">
                  New
                </Badge>
              </div>
              <div className="mt-1 flex items-center gap-0.5 text-muted-foreground text-xs">
                {Array.from({ length: 5 }).map((_, i) => (
                  <StarIcon
                    aria-hidden="true"
                    className={`size-3 ${i < 4 ? "fill-amber-400 text-amber-400" : "text-muted-foreground"}`}
                    key={i}
                  />
                ))}
                <span className="ml-1">(128 reviews)</span>
              </div>
            </div>
            <p className="font-semibold text-base">$149.00</p>
          </div>
        </PreviewCardPopup>
      </PreviewCard>{" "}
      for remote work setups.
    </p>
  );
}
```
