Badge
A small status label in the standard variant and color-scheme families.
ActivePendingFailedBetaDefault
"use client";
import { Badge, HStack } from "astralis-ui";
export function BadgeDemo() {
return (
<HStack gap="2" wrap="wrap" justifyContent="center">
<Badge colorScheme="green" variant="solid">Active</Badge>
<Badge colorScheme="yellow">Pending</Badge>
<Badge colorScheme="red" variant="surface">Failed</Badge>
<Badge colorScheme="blue" variant="outline">Beta</Badge>
<Badge>Default</Badge>
</HStack>
);
}Import#
import { Badge } from "astralis-ui";Variants and sizes#
variants
solidsubtlesurfaceoutline
sizes
xssmmdlg
"use client";
import { Badge, Text, HStack, VStack } from "astralis-ui";
const variants = ["solid", "subtle", "surface", "outline"] as const;
const sizes = ["xs", "sm", "md", "lg"] as const;
export function BadgeVariants() {
return (
<VStack gap="4" alignItems="start">
<VStack gap="1" alignItems="start">
<Text as="span" size="xs" color="subtle">variants</Text>
<HStack gap="2">
{variants.map((variant) => (
<Badge key={variant} variant={variant} colorScheme="brand">{variant}</Badge>
))}
</HStack>
</VStack>
<VStack gap="1" alignItems="start">
<Text as="span" size="xs" color="subtle">sizes</Text>
<HStack gap="2" alignItems="center">
{sizes.map((size) => (
<Badge key={size} size={size} colorScheme="teal">{size}</Badge>
))}
</HStack>
</VStack>
</VStack>
);
}Badges are static labels — for removable or selectable chips use Tag, and for counts anchored to a corner combine a Badge with Float.
Props#
| Prop | Type | Default | Description |
|---|---|---|---|
variant | "solid" | "subtle" | "surface" | "outline" | "subtle" | Visual style. |
colorScheme | all 11 schemes | "gray" | Hue. |
size | "xs" | "sm" | "md" | "lg" | "sm" | Text and padding scale. |