Skip to main content
Glama
alert.tsx2.4 kB
import { cva, type VariantProps } from "class-variance-authority"; import type * as React from "react"; import { cn } from "@/lib/utils"; const alertVariants = cva( "relative grid w-full items-start gap-x-2 gap-y-0.5 rounded-xl border px-3.5 py-3 text-card-foreground text-sm has-[>svg]:has-data-[slot=alert-action]:grid-cols-[calc(var(--spacing)*4)_1fr_auto] has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-data-[slot=alert-action]:grid-cols-[1fr_auto] has-[>svg]:gap-x-2 [&>svg]:h-lh [&>svg]:w-4", { defaultVariants: { variant: "default", }, variants: { variant: { default: "bg-transparent dark:bg-input/32 [&>svg]:text-muted-foreground", error: "border-destructive/32 bg-destructive/4 [&>svg]:text-destructive", info: "border-info/32 bg-info/4 [&>svg]:text-info", success: "border-success/32 bg-success/4 [&>svg]:text-success", warning: "border-warning/32 bg-warning/4 [&>svg]:text-warning", }, }, }, ); function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>) { return ( <div className={cn(alertVariants({ variant }), className)} data-slot="alert" role="alert" {...props} /> ); } function AlertTitle({ className, ...props }: React.ComponentProps<"div">) { return ( <div className={cn("font-medium [svg~&]:col-start-2", className)} data-slot="alert-title" {...props} /> ); } function AlertDescription({ className, ...props }: React.ComponentProps<"div">) { return ( <div className={cn( "flex flex-col gap-2.5 text-muted-foreground [svg~&]:col-start-2", className, )} data-slot="alert-description" {...props} /> ); } function AlertAction({ className, ...props }: React.ComponentProps<"div">) { return ( <div className={cn( "flex gap-1 max-sm:col-start-2 max-sm:mt-2 sm:row-start-1 sm:row-end-3 sm:self-center sm:[[data-slot=alert-description]~&]:col-start-2 sm:[[data-slot=alert-title]~&]:col-start-2 sm:[svg~&]:col-start-2 sm:[svg~[data-slot=alert-description]~&]:col-start-3 sm:[svg~[data-slot=alert-title]~&]:col-start-3", className, )} data-slot="alert-action" {...props} /> ); } export { Alert, AlertTitle, AlertDescription, AlertAction };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bytebase/dbhub'

If you have feedback or need assistance with the MCP directory API, please join our Discord server