diff --git a/src/shared/lib/cn.test.ts b/src/shared/lib/cn.test.ts index dc8d082..1615ec5 100644 --- a/src/shared/lib/cn.test.ts +++ b/src/shared/lib/cn.test.ts @@ -22,6 +22,12 @@ describe('cn', () => { }) }) + describe('object syntax', () => { + it('includes classes with truthy object values', () => { + expect(cn({ foo: true, bar: false })).toBe('foo') + }) + }) + describe('tailwind conflict resolution', () => { it('last padding wins', () => { expect(cn('px-2', 'px-4')).toBe('px-4') diff --git a/src/shared/lib/cn.ts b/src/shared/lib/cn.ts index bcf5736..269848b 100644 --- a/src/shared/lib/cn.ts +++ b/src/shared/lib/cn.ts @@ -5,5 +5,5 @@ import { twMerge } from 'tailwind-merge' * Merges Tailwind classes, resolving conflicts in favor of the last value. */ export function cn(...inputs: ClassValue[]): string { - return twMerge(clsx(inputs)) + return twMerge(clsx(inputs)) } diff --git a/src/shared/lib/index.ts b/src/shared/lib/index.ts index 28b7438..4d7a761 100644 --- a/src/shared/lib/index.ts +++ b/src/shared/lib/index.ts @@ -1 +1,2 @@ export { cn } from './cn' +export type { ClassValue } from 'clsx'