VibeUI
ComponentsDocs
VibeUI

Components with taste, that you own. Copy the source, retint the tokens, keep every line.

Library

  • All components
  • Signature pieces
  • Text effects
  • Footers

Docs

  • Introduction
  • Installation
  • Theming
  • CLI

Project

  • GitHub
  • Agents and MCP
  • Issues
  • MIT license
© 2026 VibeUI · MIT licensed
  1. Components
  2. Feedback
  3. Callout

Callout

Quiet note with an accent rule, lighter than a filled alert.

FeedbackServer-safe

Good to know

Callouts use a quiet accent rule. Reach for an Alert when the message is urgent.

Install

bash
npx @agents-npm-packages/vibeui add callout --dir ./src/components/ui

Import

tsx
import { Callout } from "@/components/ui/callout"

API

Generated from the component's TypeScript types, so it always matches the source. * marks a required prop.

<Callout>

PropTypeDefaultDescription
children*ReactNode—Content rendered inside the component.
titlestring—Heading text.
classNamestring—Extra classes, merged with the component's own.

Source

src/components/ui/callout.tsx
import { cn } from "@/lib/utils";

/** Quiet note with an accent rule, lighter than a filled alert. */
export function Callout({
  title,
  children,
  className,
}: {
  title?: string;
  children: React.ReactNode;
  className?: string;
}) {
  return (
    <aside
      className={cn(
        "relative animate-fade-up rounded-md bg-surface-muted py-3.5 pl-5 pr-4",
        "before:absolute before:inset-y-2.5 before:left-2 before:w-[3px] before:origin-top before:animate-grow-y before:rounded-full before:bg-accent before:[animation-delay:200ms]",
        className,
      )}
    >
      {title ? (
        <p className="mb-0.5 text-sm font-medium tracking-[-0.01em] text-ink">
          {title}
        </p>
      ) : null}
      <div className="text-sm leading-relaxed text-muted">{children}</div>
    </aside>
  );
}

Exports Callout. Peer dependencies: clsx, tailwind-merge.

PreviousBannerNextEmpty