import * as React from 'react' import {cva, type VariantProps} from 'class-variance-authority' import {cn} from '../../lib/utils' /** * A component with a title and description, available in different visual variants. * @publicDocs */ export interface AlertDocProps { /** Visual style variant */ variant?: 'default' | 'destructive' /** Content to render inside */ children?: React.ReactNode } 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-card text-card-foreground', destructive: 'text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90', }, }, defaultVariants: { variant: 'default', }, } ) function Alert({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps) { return (
) } function AlertTitle({className, ...props}: React.ComponentProps<'div'>) { return (
) } function AlertDescription({className, ...props}: React.ComponentProps<'div'>) { return (
) } export {Alert, AlertTitle, AlertDescription}