Viewing File: /home/markqprx/iniasli.pro/client/ui/buttons/button-size.ts
import {ButtonVariant} from './get-shared-button-style';
export type ButtonSize = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | null;
interface Props {
padding?: string;
equalWidth?: boolean;
variant?: ButtonVariant;
}
export function getButtonSizeStyle(
size?: ButtonSize,
{padding, equalWidth, variant}: Props = {}
): string {
switch (size) {
case '2xs':
if (variant === 'link') return 'text-xs';
return `text-xs h-24 ${equalWidth ? 'w-24' : padding || 'px-10'}`;
case 'xs':
if (variant === 'link') return 'text-xs';
return `text-xs h-30 ${equalWidth ? 'w-30' : padding || 'px-14'}`;
case 'sm':
if (variant === 'link') return 'text-sm';
return `text-sm h-36 ${equalWidth ? 'w-36' : padding || 'px-18'}`;
case 'md':
if (variant === 'link') return 'text-base';
return `text-base h-42 ${equalWidth ? 'w-42' : padding || 'px-22'}`;
case 'lg':
if (variant === 'link') return 'text-lg';
return `text-base h-50 ${equalWidth ? 'w-50' : padding || 'px-26'}`;
case 'xl':
if (variant === 'link') return 'text-xl';
return `text-lg h-60 ${equalWidth ? 'w-60' : padding || 'px-32'}`;
default:
return size || '';
}
}
Back to Directory
File Manager