Files
UT-Registration-Plus/src/views/styles/fonts.module.scss.d.ts

51 lines
1.4 KiB
TypeScript

/**
* the type for all the weight scss variables exported from fonts.module.scss
*/
export interface IWeights {
light_weight: number;
regular_weight: number;
normal_weight: number;
bold_weight: number;
semi_bold_weight: number;
black_weight: number;
}
/**
* the type for all the size scss variables exported from fonts.module.scss
*/
export interface ISizes {
x_small_size: number;
small_size: number;
medium_size: number;
large_size: number;
x_large_size: number;
xx_large_size: number;
}
/**
* the type for all the line height scss variables exported from fonts.module.scss
*/
export interface LineHeight {
x_small_line_height: number;
small_line_height: number;
medium_line_height: number;
large_line_height: number;
x_large_line_height: number;
xx_large_line_height: number;
}
/** A utility type that removes the _weight postfix from the variable names for weights */
export type Weight = keyof IWeights extends `${infer U}_weight` ? U : never;
/** A utility type that removes the _size postfix from the variable names for sizes */
export type Size = keyof ISizes extends `${infer U}_size` ? U : never;
/**
* This is a file that we need to create to tell typescript what the shape of the css modules is
* when we import them into ts/tsx files
*/
export type IFonts = IWeights & ISizes & LineHeight;
declare const fonts: IFonts;
export default fonts;