React
Manner Temp Badge
매너 온도를 배지 형태로 표현하는 컴포넌트입니다. 콤팩트한 공간에서 사용자의 매너 온도 레벨을 간단히 표시할 때 사용됩니다.
import { VStack } from "@seed-design/react";
import { MannerTempBadge } from "seed-design/ui/manner-temp-badge";
export default function BadgePreview() {
return (
<VStack gap="x1" align="flex-start">
<MannerTempBadge temperature={12.5} />
<MannerTempBadge temperature={30} />
<MannerTempBadge temperature={36} />
<MannerTempBadge temperature={36.5} />
<MannerTempBadge temperature={37} />
<MannerTempBadge temperature={40} />
<MannerTempBadge temperature={45} />
<MannerTempBadge temperature={55} />
<MannerTempBadge temperature={65} />
<MannerTempBadge temperature={80} />
</VStack>
);
}Installation
npx @seed-design/cli@latest add ui:manner-temp-badgepnpm dlx @seed-design/cli@latest add ui:manner-temp-badgeyarn dlx @seed-design/cli@latest add ui:manner-temp-badgebun x @seed-design/cli@latest add ui:manner-temp-badge의존성 설치
npm install @seed-design/reactyarn add @seed-design/reactpnpm add @seed-design/reactbun add @seed-design/react아래 코드를 복사 후 붙여넣고 사용하세요
/**
* @file ui:manner-temp-badge
* @requires @seed-design/react@^2.0.0
* @requires @seed-design/css@^2.0.0
**/
"use client";
import {
Celsius,
MannerTempBadge as SeedMannerTempBadge,
type MannerTempBadgeProps as SeedMannerTempBadgeProps,
} from "@seed-design/react";
import * as React from "react";
import { mannerTempToLevel } from "../lib/manner-temp-level";
export interface MannerTempBadgeProps
extends Omit<SeedMannerTempBadgeProps, "children" | "asChild"> {
/**
* The manner temperature of the badge.
* Level will be calculated based on this value.
* If level is provided, this will be ignored.
*/
temperature: number;
}
export const MannerTempBadge = React.forwardRef<HTMLSpanElement, MannerTempBadgeProps>(
({ temperature, level, ...otherProps }, ref) => {
return (
<SeedMannerTempBadge
ref={ref}
level={level ?? mannerTempToLevel(temperature)}
{...otherProps}
>
<Celsius value={temperature} />
</SeedMannerTempBadge>
);
},
);
MannerTempBadge.displayName = "MannerTempBadge";
/**
* This file is a snippet from SEED Design, helping you get started quickly with @seed-design/* packages.
* You can extend this snippet however you want.
*/
Props
Prop
Type
Last updated on