UNPKG

@cranberry-money/shared-utils

Version:

Shared utility functions for Blueberry platform

27 lines 1.26 kB
const DEFAULT_BADGE_VARIANTS = { default: 'bg-surface-secondary text-content-body', primary: 'bg-surface-tertiary text-content-secondary', secondary: 'bg-surface-secondary text-content-body', success: 'bg-success-900/80 text-success-300', warning: 'bg-warning-900/80 text-warning-300', error: 'bg-error-900/80 text-error-300', info: 'bg-surface-tertiary text-content-body', neutral: 'bg-surface-secondary text-content-muted', }; const DEFAULT_BADGE_SIZES = { sm: 'text-xs px-1.5 py-0.5', md: 'text-xs px-2 py-1', lg: 'text-sm px-3 py-1.5', }; const BASE_BADGE_STYLES = 'inline-flex items-center rounded-md font-medium whitespace-nowrap transition-colors'; export function createBadge({ variant, size = 'md', className = '' }, variantStyles = DEFAULT_BADGE_VARIANTS, sizeStyles = DEFAULT_BADGE_SIZES) { const variantClasses = variantStyles[variant] || variantStyles.neutral; const sizeClasses = sizeStyles[size]; return { className: `${BASE_BADGE_STYLES} ${variantClasses} ${sizeClasses} ${className}`.trim(), ariaLabel: `${variant} status`, }; } export const BADGE_VARIANTS = DEFAULT_BADGE_VARIANTS; export const BADGE_SIZES = DEFAULT_BADGE_SIZES; //# sourceMappingURL=badge.js.map