We use @phosphor-icons/react across the SDK. The FeaturedIcon component wraps any Phosphor icon in a brand-tinted gradient chip for hero rows, empty states, and feature tiles.
npx shadcn@latest add https://sdk-components.thesqd.com/r/featured-icon.jsonimport { FeaturedIcon } from "@/components/ui/featured-icon";
import { Palette } from "@phosphor-icons/react/ssr";import { FeaturedIcon } from "@/components/ui/featured-icon";
import { Palette } from "@phosphor-icons/react/ssr";
export function Example() {
return <FeaturedIcon icon={Palette} />;
}weight prop — we default to duotone for icons with a body and regular for single-line glyphs (arrows, carets, plus, chevrons). Color follows currentColor, so a single text-* class tints both duotone layers. Browse and search the full set at phosphoricons.com.import { Heart } from "@phosphor-icons/react/ssr";
export function Example() {
return (
<div className="flex items-center gap-3">
{/* Duotone — filled base + lighter accent layer. Our default for icons
that have a body (folders, bells, hearts, avatars…). */}
<Heart weight="duotone" className="size-6" />
{/* Regular — single-line stroke. Use for arrows, carets, plus,
chevrons, and other single-line glyphs. */}
<Heart weight="regular" className="size-6" />
{/* Color follows `currentColor` — the duotone accent auto-derives from
it, so a single text color tints both layers. */}
<Heart weight="duotone" className="size-6 text-primary" /> {/* brand */}
<Heart weight="duotone" className="size-6 text-rose-500" />
<Heart weight="duotone" className="size-6" style={{ color: "#513DE5" }} />
</div>
);
}npx shadcn@latest add "https://lucide-animated.com/r/check.json"import { FeaturedIconAnimated } from "@/components/ui/featured-icon-animated";
import { CheckIcon } from "@/components/ui/check";
export function Example() {
return (
<FeaturedIconAnimated icon={CheckIcon} color="success" size="xl" />
);
}| Prop | Type | Default | Description |
|---|---|---|---|
icon | React.ComponentType<{ className?: string }> | — | Any @phosphor-icons/react icon component (or any forwardRef icon that accepts `className`). |
color | FeaturedIconColor | "brand" | Color token mirrored from Badge: brand, indigo, coral, purple, amber, magenta, lavender, lilac, pink, cream, blush, peach, destructive, success, warning, info, muted, emerald, sky, fuchsia. |
variant | "gradient" | "flat" | "gradient" | Surface treatment. `gradient` is the brand-tinted card with a hairline border; `flat` is a soft borderless chip with a flat tint. |
size | "sm" | "md" | "lg" | "xl" | "2xl" | "md" | Outer chip + inner svg size (sm 28px, md 32px, lg 40px, xl 48px, 2xl 64px). |