Component

Callout is a component that displays important messages, warnings, or notifications with customizable styling to draw attention to specific information.

View component changelog
preview

Seems like there's been an error. Please try again.

React
"use client"; import Callout from "@radui/ui/Callout"; import { Bookmark } from "lucide-react"; export const BookmarkIcon = () => <Bookmark size={18} strokeWidth={2} />; const CalloutExample = () => ( <Callout.Root color="red"> <Callout.Icon> <BookmarkIcon /> </Callout.Icon> <Callout.Text> Seems like there's been an error. Please try again. </Callout.Text> </Callout.Root> ) export default CalloutExample;
  • Display important messages with visual emphasis
  • Supports different colors to indicate message type (info, warning, error, etc.)
  • Multiple size variants for different contexts
  • Customizable appearance with variant props
  • Works well with icons and other components
preview

Seems like there's been an error. Please try again.

soft

Seems like there's been an error. Please try again.

outline

React
"use client"; import Callout from '@radui/ui/Callout'; import Text from "@radui/ui/Text"; import Separator from '@radui/ui/Separator'; import { BookmarkIcon } from './CalloutExample'; import TooltipWrapper from '@/components/ui/Tooltip'; const CalloutVariants = () => { const calloutVariants = ['soft', 'outline']; const calloutStyleDescription = { soft: 'Soft callout have a soft background color and a border.', outline: 'Outline callout have a border and a background color.', }; return ( <div> <div className="flex items-center gap-4"> {calloutVariants.map((variant,idx) => { console.log(variant); return <span key={idx}> <Callout.Root variant={variant} color="red"> <Callout.Icon> <BookmarkIcon /> </Callout.Icon> <Callout.Text> Seems like there's been an error. Please try again. </Callout.Text> </Callout.Root> <Separator orientation="horizontal" style={{ marginTop: 20 }} /> <TooltipWrapper label={calloutStyleDescription[variant]} placement="bottom"> <Text className="text-gray-950 font-light inline-block cursor-help"> {variant} </Text> </TooltipWrapper> </span> })} </div> </div> ); }; export default CalloutVariants;
preview

Seems like there's been an error. Please try again.

Seems like there's been an error. Please try again.

Seems like there's been an error. Please try again.

Seems like there's been an error. Please try again.

React
"use client"; import Callout from '@radui/ui/Callout'; import { BookmarkIcon } from './CalloutExample'; const CalloutSizes = () => { const sizes = ['small', 'medium', 'large', 'x-large']; const variants = ['soft', 'outline']; return <div className='flex flex-col gap-4'> <div className='flex flex-col gap-4 justify-center flex-wrap'> {sizes.map((size, index) => { return ( <Callout.Root size={size} color="red" key={index}> <Callout.Icon> <BookmarkIcon /> </Callout.Icon> <Callout.Text> Seems like there's been an error. Please try again. </Callout.Text> </Callout.Root> ) })} </div> </div> } export default CalloutSizes;
preview

Seems like there's been an error. Please try again.

Seems like there's been an error. Please try again.

Seems like there's been an error. Please try again.

Seems like there's been an error. Please try again.

Seems like there's been an error. Please try again.

Seems like there's been an error. Please try again.

Seems like there's been an error. Please try again.

React
"use client"; import Callout from "@radui/ui/Callout"; import { BookmarkIcon } from './CalloutExample'; const CalloutColor = () => { const colors = ['red', 'green', 'blue', 'yellow', 'purple', 'orange', 'pink']; return <div className='flex flex-col gap-4 justify-center flex-wrap'> {colors.map((color, index) => { return ( <Callout.Root color={color} key={index}> <Callout.Icon> <BookmarkIcon /> </Callout.Icon> <Callout.Text> Seems like there's been an error. Please try again. </Callout.Text> </Callout.Root> ) })} </div> } export default CalloutColor;

The root component for the Callout. Storybook uses it for neutral, colored, and destructive alert states.

PropTypeDefault
children
ReactNode
--
asChild
boolean
false
className
string
--
customRootClass
string
--
color
string
--
variant
string
''
size
string
''
intent
string
''

The icon component for the Callout. This component is used to display the icon content of the Callout.

PropTypeDefault
children
ReactNode
--
className
string
--

The text component for the Callout. This component is used to display the text content of the Callout.

PropTypeDefault
children
ReactNode
--
className
string
--