Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/llms-txt-hub / packages/design-system/components/shadcn/alert.tsx |
| Date | Not specified in source |
| Repository | Janady13/llms-txt-hub |
| Revision | e0f4bf978d4df168369c7601d9c5f5ea89e84377 |
| Branch | main |
| Path or archive member | packages/design-system/components/shadcn/alert.tsx |
| Original SHA-256 | cc9a61e73d8b6c725b199f96671645ec6b1204723f8be2d426312f755a89a47a |
| Git blob SHA | ddd6d8b283dcc01662e75116ef600a1b8dc43939 |
| Reading-copy SHA-256 | cc9a61e73d8b6c725b199f96671645ec6b1204723f8be2d426312f755a89a47a |
Recovered source transcript
Download complete source text ↓74 lines · 1.9 KB
import { cva, type VariantProps } from 'class-variance-authority'
import * as React from 'react'
import { cn } from '../../lib/utils'
const alertVariants = cva(
'relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',
{
variants: {
variant: {
default: 'bg-background text-foreground',
destructive:
'text-destructive-foreground [&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/80'
}
},
defaultVariants: {
variant: 'default'
}
}
)
/**
* Alert component for displaying important messages
* @param variant - The visual style variant of the alert
* @param className - Additional CSS classes
*/
function Alert({
className,
variant,
...props
}: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {
return (
<div
data-slot="alert"
role="alert"
className={cn(alertVariants({ variant }), className)}
{...props}
/>
)
}
/**
* AlertTitle component for alert headings
* @param className - Additional CSS classes
*/
function AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {
return (
<div
data-slot="alert-title"
className={cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className)}
{...props}
/>
)
}
/**
* AlertDescription component for alert body text
* @param className - Additional CSS classes
*/
function AlertDescription({ className, ...props }: React.ComponentProps<'div'>) {
return (
<div
data-slot="alert-description"
className={cn(
'text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed',
className
)}
{...props}
/>
)
}
export { Alert, AlertTitle, AlertDescription }