29 lines
848 B
TypeScript
29 lines
848 B
TypeScript
/**
|
|
* the type for all the weight scss variables exported from fonts.module.scss
|
|
*/
|
|
export interface IWeights {
|
|
normal_weight: number;
|
|
}
|
|
|
|
/**
|
|
* the type for all the size scss variables exported from fonts.module.scss
|
|
*/
|
|
export interface ISizes {
|
|
medium_size: 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;
|
|
|
|
declare const fonts: IFonts;
|
|
export default fonts;
|