# Badge
URL: /lynx/components/badge
Source: https://github.com/daangn/seed-design/blob/dev/docs/content/lynx/components/badge.mdx
상태나 속성을 짧은 텍스트로 표시하는 정보성 컴포넌트입니다.
Lynx Engine 최소 버전: 3.6
사용 가능 버전: @seed-design/lynx-react@0.2.0, @seed-design/lynx-css@0.2.0
## Installation
- npm: npm install @seed-design/lynx-react @seed-design/lynx-css
- pnpm: pnpm add @seed-design/lynx-react @seed-design/lynx-css
- yarn: yarn add @seed-design/lynx-react @seed-design/lynx-css
- bun: bun add @seed-design/lynx-react @seed-design/lynx-css
Lynx `Badge`는 별도 `ui:badge` snippet 없이 `@seed-design/lynx-react` 패키지에서 직접 제공합니다.
## Usage
## Preview
```tsx
import { root } from "@lynx-js/react";
import { Badge, useSeedClassName } from "@seed-design/lynx-react";
import "./styles";
function Root() {
const seedClassName = useSeedClassName({ colorMode: "system" });
return (
라벨
);
}
root.render();
```
## Props
## Examples
### Truncating Behavior
Badge는 긴 텍스트를 잘라내고 생략 부호를 표시합니다.
```tsx
import { root } from "@lynx-js/react";
import { Badge, useSeedClassName, VStack } from "@seed-design/lynx-react";
import "./styles";
function Root() {
const seedClassName = useSeedClassName({ colorMode: "system" });
return (
In velit velit deserunt amet veniam incididunt consectetur incididunt Lorem.
In velit velit deserunt amet veniam incididunt consectetur incididunt Lorem.
);
}
root.render();
```
### Tones and Variants
#### Neutral
```tsx
import { root } from "@lynx-js/react";
import { Badge, HStack, useSeedClassName, VStack } from "@seed-design/lynx-react";
import "./styles";
function Root() {
const seedClassName = useSeedClassName({ colorMode: "system" });
return (
라벨
라벨
라벨
라벨
라벨
라벨
);
}
root.render();
```
#### Brand
```tsx
import { root } from "@lynx-js/react";
import { Badge, HStack, useSeedClassName, VStack } from "@seed-design/lynx-react";
import "./styles";
function Root() {
const seedClassName = useSeedClassName({ colorMode: "system" });
return (
라벨
라벨
라벨
라벨
라벨
라벨
);
}
root.render();
```
#### Informative
```tsx
import { root } from "@lynx-js/react";
import { Badge, HStack, useSeedClassName, VStack } from "@seed-design/lynx-react";
import "./styles";
function Root() {
const seedClassName = useSeedClassName({ colorMode: "system" });
return (
라벨
라벨
라벨
라벨
라벨
라벨
);
}
root.render();
```
#### Positive
```tsx
import { root } from "@lynx-js/react";
import { Badge, HStack, useSeedClassName, VStack } from "@seed-design/lynx-react";
import "./styles";
function Root() {
const seedClassName = useSeedClassName({ colorMode: "system" });
return (
라벨
라벨
라벨
라벨
라벨
라벨
);
}
root.render();
```
#### Warning
```tsx
import { root } from "@lynx-js/react";
import { Badge, HStack, useSeedClassName, VStack } from "@seed-design/lynx-react";
import "./styles";
function Root() {
const seedClassName = useSeedClassName({ colorMode: "system" });
return (
라벨
라벨
라벨
라벨
라벨
라벨
);
}
root.render();
```
#### Critical
```tsx
import { root } from "@lynx-js/react";
import { Badge, HStack, useSeedClassName, VStack } from "@seed-design/lynx-react";
import "./styles";
function Root() {
const seedClassName = useSeedClassName({ colorMode: "system" });
return (
라벨
라벨
라벨
라벨
라벨
라벨
);
}
root.render();
```
## 웹 버전과의 차이
Lynx `Badge`는 React `Badge`와 같은 `size`, `variant`, `tone` variant surface를 사용하지만, 렌더링 플랫폼 차이로 다음과 같은 차이가 있습니다.
- **렌더링 요소**: HTML `` 대신 네이티브 `` root와 `` label을 렌더링합니다.
- **공개 표면**: React와 동일하게 package export로 제공하며, Lynx 전용 `ui:badge` snippet은 제공하지 않습니다.
- **ref forwarding**: `React.forwardRef`로 root ``에 ref를 전달할 수 있습니다.
- **이벤트 핸들링**: Badge는 정적 정보 표시용 컴포넌트라 별도 interaction prop을 추가하지 않습니다.
- **다형 렌더링**: 웹의 `asChild` / HTML span attribute 표면은 Lynx에서 제공하지 않습니다.