Alert 3

PreviousNext

Closable alert with dismiss functionality using X icon and state management.

Docs
shadcn-studiocomponent

Preview

Loading preview…
registry/new-york/components/alert/alert-03.tsx
'use client'

import { useState } from 'react'

import { CircleAlertIcon, XIcon } from 'lucide-react'

import { Alert, AlertDescription, AlertTitle } from '@/registry/new-york/ui/alert'

const AlertClosableDemo = () => {
  const [isActive, setIsActive] = useState(true)

  if (!isActive) return null

  return (
    <Alert className='flex justify-between'>
      <CircleAlertIcon />
      <div className='flex-1 flex-col justify-center gap-1'>
        <AlertTitle>New message!</AlertTitle>
        <AlertDescription>12 unread messages. Tap to see.</AlertDescription>
      </div>
      <button className='cursor-pointer' onClick={() => setIsActive(false)}>
        <XIcon className='size-5' />
        <span className='sr-only'>Close</span>
      </button>
    </Alert>
  )
}

export default AlertClosableDemo

Installation

npx shadcn@latest add @shadcn-studio/alert-03

Usage

import { Alert03 } from "@/components/alert-03"
<Alert03 />