ProComponents, templates & AI tooling
HeroUI
27.7k

Alert

Display important messages and notifications to users with status indicators

Usage

import { Alert } from '@heroui/react';

Anatomy

import { Alert } from '@heroui/react';

export default () => (
  <Alert>
    <Alert.Indicator />
    <Alert.Content>
      <Alert.Title />
      <Alert.Description />
    </Alert.Content>
  </Alert>
)

Customization

Tailwind CSS

Global CSS

To customize the Alert component classes, you can use the @layer components directive. Learn more.

@layer components {
  .alert {
    @apply rounded-2xl shadow-lg;
  }

  .alert__title {
    @apply font-bold text-lg;
  }

  .alert--danger {
    @apply border-l-4 border-red-600;
  }
}

Styling Reference

HeroUI follows the BEM methodology to ensure component variants and states are reusable and easy to customize.

CSS Classes

The Alert component uses these CSS classes (View source styles):

Base Classes

  • .alert - Base alert container
  • .alert__indicator - Icon/indicator container
  • .alert__content - Content wrapper for title and description
  • .alert__title - Alert title text
  • .alert__description - Alert description text

Status Variant Classes

  • .alert--default - Default gray status
  • .alert--accent - Accent blue status
  • .alert--success - Success green status
  • .alert--warning - Warning yellow/orange status
  • .alert--danger - Danger red status

Interactive States

The Alert component is primarily informational and doesn't have interactive states on the base component. However, it can contain interactive elements like buttons or close buttons.

API Reference

Alert

PropTypeDefaultDescription
status"default" | "accent" | "success" | "warning" | "danger""default"The visual status of the alert
classNamestring-Additional CSS classes
childrenReactNode-The alert content

Alert.Indicator

PropTypeDefaultDescription
classNamestring-Additional CSS classes
childrenReactNode-Custom indicator icon (defaults to status icon)

Alert.Content

PropTypeDefaultDescription
classNamestring-Additional CSS classes
childrenReactNode-Content (typically Title and Description)

Alert.Title

PropTypeDefaultDescription
classNamestring-Additional CSS classes
childrenReactNode-The alert title text

Alert.Description

PropTypeDefaultDescription
classNamestring-Additional CSS classes
childrenReactNode-The alert description text

On this page