turash/bugulma/frontend/lib/icons.ts
Damir Mukimov 6347f42e20
Consolidate repositories: Remove nested frontend .git and merge into main repository
- Remove nested git repository from bugulma/frontend/.git
- Add all frontend files to main repository tracking
- Convert from separate frontend/backend repos to unified monorepo
- Preserve all frontend code and development history as tracked files
- Eliminate nested repository complexity for simpler development workflow

This creates a proper monorepo structure with frontend and backend
coexisting in the same repository for easier development and deployment.
2025-11-25 06:02:57 +01:00

44 lines
982 B
TypeScript

/**
* Standardized icon sizing and styling utilities
*/
export const iconSizes = {
xs: 'h-3 w-3',
sm: 'h-4 w-4',
md: 'h-5 w-5',
lg: 'h-6 w-6',
xl: 'h-8 w-8',
'2xl': 'h-10 w-10',
} as const;
export type IconSize = keyof typeof iconSizes;
export const iconVariants = {
default: 'text-current',
muted: 'text-muted-foreground',
primary: 'text-primary',
destructive: 'text-destructive',
success: 'text-green-600',
warning: 'text-yellow-600',
} as const;
export type IconVariant = keyof typeof iconVariants;
export interface IconProps {
size?: IconSize;
variant?: IconVariant;
className?: string;
}
export interface ExtendedIconProps extends IconProps {
width?: number;
height?: number;
}
/**
* Helper function to combine icon size and variant classes
*/
export const getIconClasses = (size: IconSize = 'sm', variant: IconVariant = 'default', className = '') => {
return `${iconSizes[size]} ${iconVariants[variant]} ${className}`.trim();
};