@17sierra/lib
v0.2.1
Published
Core utilities for 17 Sierra applications
Downloads
511
Maintainers
Readme
@17sierra/lib
Core utilities for 17 Sierra applications.
Installation
npm install @17sierra/lib
# or
pnpm add @17sierra/libUsage
cn() - Class Name Utility
Combines class names using clsx and tailwind-merge. Tailwind classes are merged intelligently, with conflicts resolved in favor of the last value.
import { cn } from '@17sierra/lib';
// Basic usage
cn('px-2 py-1', 'px-4')
// => 'py-1 px-4' (px-4 wins over px-2)
// Conditional classes
cn('base-class', isActive && 'active-class')
// Array syntax
cn(['flex', 'items-center'])
// Object syntax
cn({ 'gap-2': hasGap, 'gap-4': !hasGap })
// All combined
cn(
'flex items-center',
['rounded-md', 'border'],
{ 'bg-primary': isPrimary },
className // pass-through prop
)API Reference
cn(...inputs: ClassValue[]): string
Merges class names with Tailwind-aware conflict resolution.
Parameters:
inputs- Any number of class values (strings, arrays, objects, or falsy values)
Returns:
- A merged class string
ClassValue (type)
Re-exported from clsx for TypeScript consumers who need to type their class props:
import { type ClassValue } from '@17sierra/lib';
interface MyComponentProps {
className?: ClassValue;
}License
MIT
