본문으로 건너뛰기
언어

Utilsstandard

클래스 이름 조건부 결합 함수 `cn` 을 내는 라이브러리 아이템입니다. shadcn base-nova 의 stock 아이템으로 파일은 `lib/utils.ts` 로 설치됩니다. 실제 구현은 `cn` 패키지에 있고 이 파일은 그것을 다시 내보냅니다.

설치

pnpm
pnpm dlx shadcn@4.23.0 add @uikit/utils

클래스 이름 조건부 결합 함수 cn 을 내는 라이브러리 아이템입니다. shadcn base-nova 의 stock 아이템으로 파일은 lib/utils.ts 로 설치됩니다. 실제 구현은 cn 패키지에 있고 이 파일은 그것을 다시 내보냅니다.

설치

sh
pnpm dlx shadcn@4.23.0 add @uikit/utils

사용

tsx
import { cn } from "@/lib/utils";
export function Row({ active }: { active: boolean }) {  return <div className={cn("flex gap-2 p-2", active && "bg-muted")}>Row</div>;}

속성

이름형뜻
cn(...inputs)(...ClassValue[]) => string문자열·배열·객체·거짓 값을 받아 클래스 문자열을 돌려줍니다. 충돌하는 Tailwind 클래스는 뒤의 것이 이깁니다

기본으로 지키는 것

  • false, null, undefined, 0, 빈 문자열은 걸러집니다. 인자가 없거나 거짓 값뿐이면 빈 문자열입니다.
  • p-2 와 p-4 처럼 충돌하는 Tailwind 클래스는 마지막 것만 남습니다.
  • 한글·이모지 같은 비ASCII 클래스 이름과 수천 개 클래스도 그대로 이어 붙입니다.
  • __proto__ 키가 든 객체를 받아도 예외 없이 처리하고 참인 다른 키는 포함합니다.

접근성

화면에 그리는 요소가 없는 함수라 해당 사항이 없습니다.

의존

cn 패키지(import { cn } from "cn").