# Top Banner
URL: /docs/components/banner
The Top Banner component displays a banner at the top of the page.
***
title: Top Banner
description: The Top Banner component displays a banner at the top of the page.
-------------------------------------------------------------------------------
You can change the variant of the banner to `default`, `minimal`, `popup`, `destructive`, `warning`, `success`, `info`, or `announcement`.
## Default Banner
```tsx title="src/components/banner-demo.tsx"
import { Banner } from "@/components/billingsdk/banner";
export default function FreeTrialBannerDemo() {
return (
);
}
```
## Usage
```tsx
import { Banner } from "@/components/billingsdk/banner";
```
```tsx
// Default Banner
}
buttonLink="https://example.com/signup"
variant="default" // default, minimal, popup
/>
```
```tsx
// Minimal Banner
```
```tsx
// Popup Banner
```
```tsx
// Gradient Banner
```
```tsx
// Destructive Banner
```
```tsx
// Warning Banner
```
```tsx
// Success Banner
```
```tsx
// Info Banner
```
```tsx
// Announcement Banner
```
## Props
| Prop | Type | Required | Description |
| ---------------- | ---------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------- |
| `className` | `string` | â | Additional CSS classes for styling |
| `title` | `string` | â | The title of the banner |
| `description` | `string` | â | The description of the banner |
| `buttonText` | `string` | â | The text of the button |
| `buttonIcon` | `React.ReactNode` | â | The icon of the button |
| `buttonLink` | `string` | â | The link of the button |
| `variant` | `"default" \| "minimal" \| "popup" \| "destructive" \| "warning" \| "success" \| "info" \| "announcement"` | â | The variant of the banner |
| `autoDismiss` | `number` | â | The time in milliseconds to auto dismiss the banner |
| `onDismiss` | `() => void` | â | The function to call when the banner is dismissed |
| `gradientColors` | `string[]` | â | Array of color strings for animated gradient background |
## Gradient Colors
The `gradientColors` prop accepts an array of color strings (preferably in rgba format with alpha transparency). The gradient creates a smooth animated background effect.
### Color Guidelines:
* Use rgba colors with alpha values between 0.5-0.8 for best results
* Colors are automatically filtered for optimal contrast in both themes
* The gradient animation uses a 70-degree angle for a diagonal effect
## Example
```tsx title="src/components/banner-demo.tsx"
import { Banner } from "@/components/billingsdk/banner";
export default function FreeTrialBannerDemo() {
return (