Callout
Display important information with icons and variants for different message types.
Usage
The ProseCallout component is used to highlight important information, tips, warnings, and other contextual messages. It supports multiple variants, optional icons, and can even be turned into a clickable link.
Basic Example
Variants
The callout component comes with several pre-styled variants, each with its own default icon and color scheme.
Info
Success
Warning
Error
Tip
Cmd+K to open the command palette and quickly navigate to any file in your project.Note
Example
Filled Style
Use the filled prop to create a more prominent callout with solid background colors:
Custom Icons
Override the default icon for any variant:
With Title and Description
Clickable Callouts
Make callouts clickable by adding a url prop
Complex Content
Callouts support rich content including lists, code, and formatting
- Install the package: npm install my-package
- Import in your app: import { MyComponent } from 'my-package'
- Use the component: <MyComponent />
- Keep your components small and focused
- Write tests for critical functionality
- Use TypeScript for better type safety
- Document your code with JSDoc comments
Props
Component Props
| Prop | Type | Default | Description | 
|---|---|---|---|
| variant | "default" | "info" | "success" | "warning" | "error" | "tip" | "note" | "example" | "default" | Visual style variant | 
| filled | boolean | false | Use filled/solid background style | 
| title | string | - | Title text for the callout | 
| description | string | - | Description text (can also use default slot) | 
| icon | string | Auto | Icon name (auto-selected based on variant if not provided) | 
| url | string | - | Make the callout clickable with this URL | 
| target | "_self" | "_blank" | "_parent" | "_top" | "_self" | Link target (use _blankfor external links) | 
| class | string | - | Additional CSS classes for wrapper | 
| titleClass | string | - | Additional CSS classes for title | 
| descriptionClass | string | - | Additional CSS classes for description | 
| iconClass | string | - | Additional CSS classes for icon | 
Default Icons by Variant
| Variant | Icon | 
|---|---|
| default | lucide:info | 
| info | lucide:info | 
| success | lucide:circle-check | 
| warning | lucide:triangle-alert | 
| error | lucide:circle-x | 
| tip | lucide:lightbulb | 
| note | lucide:sticky-note | 
| example | lucide:code-2 | 
Slots
The component provides three slots for maximum flexibility:
| Slot | Description | 
|---|---|
| default | Main content area (overrides descriptionprop) | 
| title | Title content (overrides titleprop) | 
| icon | Icon content (overrides iconprop and variant icon) | 
Vue Component Usage
You can also use the Callout component in your Vue files:
All Variants
Filled Style
With Slots
- Custom icon slot
- Custom title slot
- Custom content slot
Clickable Callout
Custom Icons
Styling
The component uses Tailwind Variants for styling. You can override any part using the class props:
<Callout
  variant="info"
  title="Custom Styles"
  class="rounded-xl shadow-lg"
  title-class="text-xl font-bold"
  description-class="text-base"
  icon-class="size-6"
>
  Fully customizable styling
</Callout>
Examples in Context
Documentation Page
Migration Guide
Breaking Changes in v2.0
The following breaking changes require updates to your code:- themeprop renamed to- variant
- colorprop removed (use- variantinstead)
- Default icon size changed from 20px to 24px
API Documentation
Tutorial
Cmd + / to quickly toggle comments in your code editor.Error Handling
Tiptap Editor
Rich text editor blocks built with Tiptap featuring formatting toolbars, content editing, and grouped icon buttons. Perfect for blog posts, comments, documentation, and any content creation needs.
Card
Display content in elegant cards with animated border beam effects, perfect for features, navigation, and content highlights.