# Badge
URL: /react/components/badge
Source: https://github.com/daangn/seed-design/blob/dev/docs/content/react/components/badge.mdx
객체의 속성이나 상태를 시각적으로 표현하는 작은 텍스트 라벨입니다. 사용자의 주의를 끌고 콘텐츠의 빠른 인지와 탐색을 돕기 위해 사용됩니다.
사용 가능 버전: @seed-design/react@0.0.1, @seed-design/css@0.0.1
## Preview
```tsx
"use client";
import { Badge } from "seed-design/ui/badge";
export default function BadgePreview() {
return 라벨;
}
```
## Installation
- npm: npx @seed-design/cli@latest add ui:badge
- pnpm: pnpm dlx @seed-design/cli@latest add ui:badge
- yarn: yarn dlx @seed-design/cli@latest add ui:badge
- bun: bun x @seed-design/cli@latest add ui:badge
## Props
## Usage
```tsx
"use client";
import { Badge } from "seed-design/ui/badge";
export function Example() {
return 라벨;
}
```
## Prefix and Action
`prefix`에는 Label 앞에 표시할 아이콘 요소를 전달합니다.
```tsx
"use client";
import { IconHeartFill } from "@karrotmarket/react-monochrome-icon";
import { Badge } from "seed-design/ui/badge";
export default function BadgePrefix() {
return }>관심 등록;
}
```
정보 아이콘에는 안내의 양과 사용자가 해야 할 일에 맞는 UI를 연결하세요. 짧은 설명에는 `action.render`로 Help Bubble을 연결할 수 있습니다.
```tsx
"use client";
import { HelpBubbleTooltipTrigger } from "seed-design/ui/help-bubble-tooltip";
import { Badge } from "seed-design/ui/badge";
export default function BadgeWithAction() {
return (
(
{trigger}
),
}}
>
판매 완료
);
}
```
설명이 길거나 사용자의 확인이 필요하면 Bottom Sheet를 연결할 수 있습니다. 다음 예시는 부동산 게시글의 `집주인` Badge에서 집주인 인증에 관한 설명을 제공합니다.
```tsx
"use client";
import { useState } from "react";
import { ActionButton } from "seed-design/ui/action-button";
import { Badge } from "seed-design/ui/badge";
import {
BottomSheetBody,
BottomSheetContent,
BottomSheetFooter,
BottomSheetRoot,
BottomSheetTrigger,
} from "seed-design/ui/bottom-sheet";
export default function BadgeWithBottomSheet() {
const [open, setOpen] = useState(false);
return (
{trigger},
}}
>
집주인
매물을 올린 사람이 집주인임을 확인할 수 있어, 중개소에서 등록한 매물과 구분할 수 있어요.
setOpen(false)}>
확인
);
}
```
## Examples
### Truncating Behavior
긴 라벨을 한 줄로 줄여 표시하려면 `style.maxWidth`로 최대 너비를 지정하세요. 지정한 너비를 넘는 내용은 말줄임표로 표시됩니다.
```tsx
"use client";
import { Badge } from "seed-design/ui/badge";
export default function BadgeTruncating() {
return (
In velit velit deserunt amet veniam incididunt consectetur incididunt Lorem.
);
}
```
### Tones and Variants
#### Neutral
```tsx
"use client";
import { HStack, VStack } from "@seed-design/react";
import { Badge } from "seed-design/ui/badge";
export default function BadgeNeutral() {
return (
라벨
라벨
라벨
라벨
라벨
라벨
);
}
```
#### Brand
```tsx
"use client";
import { HStack, VStack } from "@seed-design/react";
import { Badge } from "seed-design/ui/badge";
export default function BadgeBrand() {
return (
라벨
라벨
라벨
라벨
라벨
라벨
);
}
```
#### Informative
```tsx
"use client";
import { HStack, VStack } from "@seed-design/react";
import { Badge } from "seed-design/ui/badge";
export default function BadgeInformative() {
return (
라벨
라벨
라벨
라벨
라벨
라벨
);
}
```
#### Positive
```tsx
"use client";
import { HStack, VStack } from "@seed-design/react";
import { Badge } from "seed-design/ui/badge";
export default function BadgePositive() {
return (
라벨
라벨
라벨
라벨
라벨
라벨
);
}
```
#### Warning
```tsx
"use client";
import { HStack, VStack } from "@seed-design/react";
import { Badge } from "seed-design/ui/badge";
export default function BadgeWarning() {
return (
라벨
라벨
라벨
라벨
라벨
라벨
);
}
```
#### Critical
```tsx
"use client";
import { HStack, VStack } from "@seed-design/react";
import { Badge } from "seed-design/ui/badge";
export default function BadgeCritical() {
return (
라벨
라벨
라벨
라벨
라벨
라벨
);
}
```