Banner
Displays contextual inline messages for informational, alert, or error states.
Update available
A new version is ready to install.
Session expiring
Your session will expire in 5 minutes.
Save failed
We couldn't save your changes. Please try again.
import { ilha } from "ilha";
import { Info, TriangleAlert } from "lucide";
import { Banner, Icon } from "areia";
export default ilha.render(() => (
<div class="flex w-full max-w-2xl flex-col gap-3">
<Banner
icon={<Icon icon={Info} class="size-5" />}
title="Update available"
description="A new version is ready to install."
/>
<Banner
icon={<Icon icon={TriangleAlert} class="size-5" />}
variant="alert"
title="Session expiring"
description="Your session will expire in 5 minutes."
/>
<Banner
icon={<Icon icon={TriangleAlert} class="size-5" />}
variant="error"
title="Save failed"
description="We couldn't save your changes. Please try again."
/>
</div>
));Import
import { Banner } from "areia";
Usage
Update available
A new version is ready to install.
import { ilha } from "ilha";
import { Info } from "lucide";
import { Banner, Icon } from "areia";
export default ilha.render(() => (
<Banner
icon={<Icon icon={Info} class="size-5" />}
title="Update available"
description="A new version is ready to install."
/>
));Examples
Variants
Default
Update available
A new version is ready to install.
import { ilha } from "ilha";
import { Info } from "lucide";
import { Banner, Icon } from "areia";
export default ilha.render(() => (
<Banner
icon={<Icon icon={Info} class="size-5" />}
title="Update available"
description="A new version is ready to install."
/>
));Alert
Session expiring
Your session will expire in 5 minutes.
import { ilha } from "ilha";
import { TriangleAlert } from "lucide";
import { Banner, Icon } from "areia";
export default ilha.render(() => (
<Banner
icon={<Icon icon={TriangleAlert} class="size-5" />}
variant="alert"
title="Session expiring"
description="Your session will expire in 5 minutes."
/>
));Error
Save failed
We couldn't save your changes. Please try again.
import { ilha } from "ilha";
import { TriangleAlert } from "lucide";
import { Banner, Icon } from "areia";
export default ilha.render(() => (
<Banner
icon={<Icon icon={TriangleAlert} class="size-5" />}
variant="error"
title="Save failed"
description="We couldn't save your changes. Please try again."
/>
));With Icon
Review required
Please review your project settings before proceeding.
import { ilha } from "ilha";
import { TriangleAlert } from "lucide";
import { Banner, Icon } from "areia";
export default ilha.render(() => (
<Banner
icon={<Icon icon={TriangleAlert} class="size-5" />}
variant="alert"
title="Review required"
description="Please review your project settings before proceeding."
/>
));With Action
Update available
A new version is ready to install.
import { ilha } from "ilha";
import { Info } from "lucide";
import { Banner, Button, Icon } from "areia";
export default ilha.render(() => (
<Banner
icon={<Icon icon={Info} class="size-5" />}
title="Update available"
description="A new version is ready to install."
action={
<Button size="sm" variant="primary">
Update now
</Button>
}
/>
));With Multiple Actions
Session expiring
Your session will expire in 5 minutes.
import { ilha } from "ilha";
import { TriangleAlert } from "lucide";
import { Banner, Button, Icon } from "areia";
export default ilha.render(() => (
<Banner
icon={<Icon icon={TriangleAlert} class="size-5" />}
variant="alert"
title="Session expiring"
description="Your session will expire in 5 minutes."
action={
<>
<Button size="sm" variant="ghost">
Dismiss
</Button>
<Button size="sm" variant="secondary">
Extend session
</Button>
</>
}
/>
));Custom Content
Use markup in description when the message needs links, emphasis, or other inline content.
Custom content supported
This banner supports custom content with Ilha markup.
import { ilha } from "ilha";
import { Info } from "lucide";
import { Banner, Icon } from "areia";
export default ilha.render(() => (
<Banner
icon={<Icon icon={Info} class="size-5" />}
title="Custom content supported"
description={
<>
This banner supports <strong>custom content</strong>{" "}
with Ilha markup.
</>
}
/>
));API Reference
| Prop | Type | Default | Description |
|---|---|---|---|
icon |
unknown |
- | Icon markup rendered before the banner content. |
title |
unknown |
- | Primary heading text for the banner. |
description |
unknown |
- | Secondary description displayed below the title. |
action |
unknown |
- | Action slot rendered at the trailing end of structured banners. |
text |
unknown |
- | Simple banner content used when title and description are not provided. |
variant |
"default" | "alert" | "error" |
"default" |
Visual style of the banner. |
class |
string |
- | Additional CSS classes merged with the generated classes. |
className |
string |
- | Alias for class. |