import { cnMerge } from 'tailwind-variants' import { twMergeConfig } from './merge-config' /** * Internal Unity-configured class name utility function. * @internal */ const uyCn = (...params: Parameters) => cnMerge(...params)({ twMerge: true, twMergeConfig, }) /** * Unity-configured class name utility function for merging CSS classes. * * This is a pre-configured version of tailwind-variants' `cn` function that includes * Unity's custom tailwind-merge configuration. It automatically handles Unity's custom * class names and resolves conflicts according to Unity design system rules. * @param classes - CSS class names to merge * @returns Merged and deduplicated class string * @example * ```tsx * import { cn } from '@payfit/unity-themes' * * // Basic usage * const className = cn('uy:p-200', 'uy:bg-surface-primary-default') * // → 'uy:p-200 uy:bg-surface-primary-default' * * // Conflict resolution - last class wins * const className = cn('uy:bg-surface-primary-default', 'uy:bg-surface-danger-default') * // → 'uy:bg-surface-danger-default' * * // Conditional classes * const className = cn( * 'uy:px-200 uy:py-100', * isActive && 'uy:bg-surface-primary-default', * isDisabled && 'uy:bg-surface-neutral-disabled' * ) * * // With component props * function Button({ variant, size, className: extraClasses, ...props }) { * return ( *