# 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에서 제공하지 않습니다.