type ValueOf < T > = T [ keyof T ] ; /** Type for the `space` object with keys and px values (strings) */ export type CanvasSpace = { zero : '0px' ; xxxs : '4px' ; xxs : '8px' ; xs : '12px' ; s : '16px' ; m : '24px' ; l : '32px' ; xl : '40px' ; xxl : '64px' ; xxxl : '80px' ; } ; /** Type for `CanvasSpace` keys */ export type CanvasSpaceKeys = keyof CanvasSpace ; /** The px values for CanvasSpace (strings) */ export type CanvasSpaceValues = ValueOf < CanvasSpace > ; /** An object of space keys and px values (strings) */ export const space = { zero : '0px' , xxxs : '4px' , xxs : '8px' , xs : '12px' , s : '16px' , m : '24px' , l : '32px' , xl : '40px' , xxl : '64px' , xxxl : '80px' , } ; /** Type for the `spaceNumbers` object with keys and numeric px values (numbers) */ export type CanvasSpaceNumbers = { zero : 0 ; xxxs : 4 ; xxs : 8 ; xs : 12 ; s : 16 ; m : 24 ; l : 32 ; xl : 40 ; xxl : 64 ; xxxl : 80 ; } ; /** The numeric px values for CanvasSpaceNumbers (numbers) */ export type CanvasSpaceNumberValues = ValueOf < CanvasSpaceNumbers > ; example export const spaceNumbers = { zero : 0 , xxxs : 4 , xxs : 8 , xs : 12 , s : 16 , m : 24 , l : 32 , xl : 40 , xxl : 64 , xxxl : 80 , } ;