UNPKG

@patreon/studio

Version:

Patreon Studio Design System

84 lines (83 loc) 2.24 kB
import type { IconProps } from 'components/Icon/types'; import type { LoadingSpinnerProps } from '../LoadingSpinner/types'; import type { ButtonProps } from './types'; export declare const getSpinnerColor: ({ variant, unfilled, }: Pick<ButtonProps, 'variant' | 'unfilled'>) => Required<LoadingSpinnerProps>['color']; export interface SizeProps extends Pick<ButtonProps, 'size' | 'icon' | 'disclosureIcon'> { isMobile: boolean; hasLabel?: boolean; } export declare const getDimensions: ({ size, isMobile }: SizeProps) => "28px" | "32px" | "36px" | "40px" | "64px" | "44px" | "52px"; export declare const paddingMap: { labelOnly: { mobile: { xs: string; sm: string; md: string; lg: string; }; desktop: { xs: string; sm: string; md: string; lg: string; }; }; labelAndIcon: { mobile: { xs: string; sm: string; md: string; lg: string; }; desktop: { xs: string; sm: string; md: string; lg: string; }; }; disclosureAndLabel: { mobile: { xs: string; sm: string; md: string; lg: string; }; desktop: { xs: string; sm: string; md: string; lg: string; }; }; iconAndDisclosureOnly: { mobile: { xs: string; sm: string; md: string; lg: string; }; desktop: { xs: string; sm: string; md: string; lg: string; }; }; iconLabelAndDisclosure: { mobile: { xs: string; sm: string; md: string; lg: string; }; desktop: { xs: string; sm: string; md: string; lg: string; }; }; }; export declare const getPadding: ({ size, isMobile, hasLabel, icon, disclosureIcon }: SizeProps) => string; export declare const getIconSize: (size?: ButtonProps['size']) => Required<IconProps>['size'];