UNPKG

@patreon/studio

Version:

Patreon Studio Design System

18 lines (17 loc) 2.93 kB
import type { FontStackToken, FontSizeToken, FontWeightToken, LetterSpacingToken, LineHeightToken, FontWidthToken, BodyFontStackToken, BodyFontSizeToken, BodyFontWeightToken, BodyLetterSpacingToken, BodyLineHeightToken, HeadingFontStackToken, HeadingFontSizeToken, HeadingFontWeightToken, HeadingLetterSpacingToken, HeadingLineHeightToken, DisplayFontStackToken, DisplayFontSizeToken, DisplayFontWeightToken, DisplayLetterSpacingToken, DisplayLineHeightToken, DataBodyFontStackToken, DataBodyFontSizeToken, DataBodyFontWeightToken, DataBodyLetterSpacingToken, DataBodyLineHeightToken, DataBodyFontWidthToken, DataHeadingFontStackToken, DataHeadingFontSizeToken, DataHeadingFontWeightToken, DataHeadingLetterSpacingToken, DataHeadingLineHeightToken, DataHeadingFontWidthToken, DataDisplayFontStackToken, DataDisplayFontSizeToken, DataDisplayFontWeightToken, DataDisplayLetterSpacingToken, DataDisplayLineHeightToken, DataDisplayFontWidthToken } from '../../types/tokens'; interface ConfigurableTypographyBundle<FontStack extends FontStackToken, FontSizes extends FontSizeToken, FontWeights extends FontWeightToken, LetterSpacing extends LetterSpacingToken, LineHeight extends LineHeightToken, FontWidth extends FontWidthToken | never> { fontStack: FontStack; fontSize: FontSizes | string; fontWeight: FontWeights | string; letterSpacing: LetterSpacing | string; lineHeight: LineHeight | string; fontWidth?: FontWidth; } declare type BodyTypographyBundle = ConfigurableTypographyBundle<BodyFontStackToken, BodyFontSizeToken, BodyFontWeightToken, BodyLetterSpacingToken, BodyLineHeightToken, never>; declare type HeadingTypographyBundle = ConfigurableTypographyBundle<HeadingFontStackToken, HeadingFontSizeToken, HeadingFontWeightToken, HeadingLetterSpacingToken, HeadingLineHeightToken, never>; declare type DisplayTypographyBundle = ConfigurableTypographyBundle<DisplayFontStackToken, DisplayFontSizeToken, DisplayFontWeightToken, DisplayLetterSpacingToken, DisplayLineHeightToken, never>; declare type DataBodyTypographyBundle = ConfigurableTypographyBundle<DataBodyFontStackToken, DataBodyFontSizeToken, DataBodyFontWeightToken, DataBodyLetterSpacingToken, DataBodyLineHeightToken, DataBodyFontWidthToken>; declare type DataHeadingTypographyBundle = ConfigurableTypographyBundle<DataHeadingFontStackToken, DataHeadingFontSizeToken, DataHeadingFontWeightToken, DataHeadingLetterSpacingToken, DataHeadingLineHeightToken, DataHeadingFontWidthToken>; declare type DataDisplayTypographyBundle = ConfigurableTypographyBundle<DataDisplayFontStackToken, DataDisplayFontSizeToken, DataDisplayFontWeightToken, DataDisplayLetterSpacingToken, DataDisplayLineHeightToken, DataDisplayFontWidthToken>; export declare type CustomTypographyBundle = BodyTypographyBundle | HeadingTypographyBundle | DisplayTypographyBundle | DataBodyTypographyBundle | DataHeadingTypographyBundle | DataDisplayTypographyBundle; export {};