13Shipped

Callout

Page-level banner for info, warnings, errors, success, and upsell prompts.

Import

import { Callout } from "@charply/design"

Variants

Warning

Gestalt BannerCallout-style — task attention without blocking

Could not connect to platform tab

Open twitter.com, x.com, or linkedin.com in a tab, then refresh.

Upsell

9 of 10 free generations used

Upgrade for unlimited reply generation.

Slim (auth)

Props

PropTypeDefaultDescription
variant"info" | "warning" | "error" | "success" | "upsell""info"Visual intent
size"default" | "slim""default"Padding density
titlestringOptional headline
messagestringBody copy (required)
actionCalloutActionPrimary CTA button or link
dismissiblebooleanfalseShow dismiss control

Guidelines

docs/design/components/callout.md

Do

  • Use `Callout` for page-level or section-level messages with optional actions
  • Pair `variant="error"` with readable copy — not color alone
  • Use `upsell` variant for rate limits with one primary action

Don't

  • Use `Callout` for toast-style ephemeral feedback — use toast system
  • Stack multiple callouts of the same intent in one view
  • Duplicate banner markup — import `Callout` or auth templates
  • ---

See all variants and interactive states in Storybook. Run npm run storybook to open the workbench.