PrimarySecondaryErrorSuccessWarningInfoOutlineBeta
import { Badge } from "@cloudflare/kumo";
export function BadgeSemanticVariantsDemo() {
return (
<div className="flex flex-wrap items-center gap-2">
<Badge variant="primary">Primary</Badge>
<Badge variant="secondary">Secondary</Badge>
<Badge variant="error">Error</Badge>
<Badge variant="success">Success</Badge>
<Badge variant="warning">Warning</Badge>
<Badge variant="info">Info</Badge>
<Badge variant="outline">Outline</Badge>
<Badge variant="beta">Beta</Badge>
</div>
);
}安装
批量导入
import { Badge } from "@cloudflare/kumo";
按需导入
import { Badge } from "@cloudflare/kumo/components/badge";
用法
import { Badge } from "@cloudflare/kumo";
export default function Example() {
return <Badge variant="secondary">New</Badge>;
}
示例
主要 Badge
PrimarySecondaryErrorSuccessWarningInfoOutlineBeta
import { Badge } from "@cloudflare/kumo";
export function BadgeSemanticVariantsDemo() {
return (
<div className="flex flex-wrap items-center gap-2">
<Badge variant="primary">Primary</Badge>
<Badge variant="secondary">Secondary</Badge>
<Badge variant="error">Error</Badge>
<Badge variant="success">Success</Badge>
<Badge variant="warning">Warning</Badge>
<Badge variant="info">Info</Badge>
<Badge variant="outline">Outline</Badge>
<Badge variant="beta">Beta</Badge>
</div>
);
}其他颜色变体
当语义 Badge 不足以表达所要传达的含义或状态时,可使用面向特定产品或用例的其他颜色变体。
NeutralRedGreenOrangeTealBluePurple
import { Badge } from "@cloudflare/kumo";
export function BadgeColorVariantsDemo() {
return (
<div className="flex flex-wrap items-center gap-2">
<Badge variant="neutral">Neutral</Badge>
<Badge variant="red">Red</Badge>
<Badge variant="green">Green</Badge>
<Badge variant="orange">Orange</Badge>
<Badge variant="teal">Teal</Badge>
<Badge variant="blue">Blue</Badge>
<Badge variant="purple">Purple</Badge>
</div>
);
}圆点 Badge
使用 appearance="dot" 通过彩色圆点呈现微妙的指示状态。支持 success、warning、error 和 neutral 变体。
HealthyWarningErrorNeutral
import { Badge } from "@cloudflare/kumo";
export function BadgeDotDemo() {
return (
<div className="flex flex-wrap items-center gap-2">
<Badge variant="success" appearance="dot">
Healthy
</Badge>
<Badge variant="warning" appearance="dot">
Warning
</Badge>
<Badge variant="error" appearance="dot">
Error
</Badge>
<Badge variant="neutral" appearance="dot">
Neutral
</Badge>
</div>
);
}用于句中
WorkersNew
import { Badge } from "@cloudflare/kumo";
export function BadgeInSentenceDemo() {
return (
<p className="flex items-center gap-2">
Workers
<Badge variant="secondary">New</Badge>
</p>
);
}带图标
实心 Badge 可通过 icon 接受一个 Phosphor 图标组件或 React 元素。圆点 Badge 使用其状态圆点,不接受图标。
import { Badge } from "@cloudflare/kumo";
import { CheckCircleIcon } from "@phosphor-icons/react";
export function BadgeIconDemo() {
return (
<Badge icon={CheckCircleIcon} variant="success">
Verified
</Badge>
);
}可跳转的 Badge
将 Badge 包装在 Link 中即可使其可跳转。当祖先链接被悬停时,Badge 会添加一个圆环。
import { Badge, Link } from "@cloudflare/kumo";
export function BadgeLinkDemo() {
return (
<Link href="/changelog" variant="plain">
<Badge variant="outline">View changelog</Badge>
</Link>
);
}API 参考
| Prop | Type | Default | Description |
|---|---|---|---|
| variant | "primary" | "secondary" | "error" | "warning" | "success" | "destructive" | "info" | "beta" | "outline" | "red" | "green" | "neutral" | "orange" | "purple" | "teal" | "teal-subtle" | "blue" | "primary" | 徽章的配色变体。推荐的语义化变体:
其他令牌变体:
|
| className | string | - | 通过 |
| children | ReactNode | - | 渲染在徽章内部的内容。 |
| appearance | "filled" | "dot" | "filled" | 徽章的视觉外观。
|
| icon | ReactNode | - | 来自 |