UNPKG

react-garden

Version:

React + TypeScript + ThreeJS app using Material UI on NextJS, Apollo Client, GraphQL + WordPress REST APIs, for ThreeD web development.. a part of the threed.ai code family.

306 lines (274 loc) 6.41 kB
/** * The base typography styles for the ThreeD Garden UI Dashboard PRO Material. * You can add new typography style using this file. * You can customized the typography styles for the entire ThreeD Garden UI Dashboard PRO Material using thie file. */ // ThreeD Garden Base Styles import colors from "~/themes/theme-dark/base/colors" // ThreeD Garden Helper Functions import pxToRem from "~/themes/theme-dark/functions/pxToRem" const { white } = colors // types interface DisplayTypes { fontFamily: string color: string fontWeight: number lineHeight: number fontSize: string } interface Types { fontFamily: string fontWeightLighter: number fontWeightLight: number fontWeightRegular: number fontWeightMedium: number fontWeightBold: number h1: { fontFamily: string fontSize: string fontWeight: number color: string lineHeight: number } h2: { fontFamily: string fontSize: string fontWeight: number color: string lineHeight: number } h3: { fontFamily: string fontSize: string fontWeight: number color: string lineHeight: number } h4: { fontFamily: string fontSize: string fontWeight: number color: string lineHeight: number } h5: { fontFamily: string fontSize: string fontWeight: number color: string lineHeight: number } h6: { fontFamily: string fontSize: string fontWeight: number color: string lineHeight: number } subtitle1: { fontFamily: string fontSize: string fontWeight: number lineHeight: number } subtitle2: { fontFamily: string fontSize: string fontWeight: number lineHeight: number } body1: { fontFamily: string fontSize: string fontWeight: number lineHeight: number } body2: { fontFamily: string fontSize: string fontWeight: number lineHeight: number } button: { fontFamily: string fontSize: string fontWeight: number lineHeight: number textTransform: any } caption: { fontFamily: string fontSize: string fontWeight: number lineHeight: number } overline: { fontFamily: string } d1: DisplayTypes d2: DisplayTypes d3: DisplayTypes d4: DisplayTypes d5: DisplayTypes d6: DisplayTypes size: { xxs: string xs: string sm: string md: string lg: string xl: string "2xl": string "3xl": string } lineHeight: { sm: number md: number lg: number } } const baseProperties = { fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif', fontWeightLighter: 100, fontWeightLight: 300, fontWeightRegular: 400, fontWeightMedium: 600, fontWeightBold: 700, fontSizeXXS: pxToRem(10.4), fontSizeXS: pxToRem(12), fontSizeSM: pxToRem(14), fontSizeMD: pxToRem(16), fontSizeLG: pxToRem(18), fontSizeXL: pxToRem(20), fontSize2XL: pxToRem(24), fontSize3XL: pxToRem(30), } const baseHeadingProperties = { fontFamily: baseProperties.fontFamily, color: white.main, fontWeight: baseProperties.fontWeightBold, } const baseDisplayProperties = { fontFamily: baseProperties.fontFamily, color: white.main, fontWeight: baseProperties.fontWeightLight, lineHeight: 1.2, } const typography: Types = { fontFamily: baseProperties.fontFamily, fontWeightLighter: baseProperties.fontWeightLighter, fontWeightLight: baseProperties.fontWeightLight, fontWeightRegular: baseProperties.fontWeightRegular, fontWeightMedium: baseProperties.fontWeightMedium, fontWeightBold: baseProperties.fontWeightBold, h1: { fontSize: pxToRem(48), lineHeight: 1.25, ...baseHeadingProperties, }, h2: { fontSize: pxToRem(36), lineHeight: 1.3, ...baseHeadingProperties, }, h3: { fontSize: pxToRem(30), lineHeight: 1.375, ...baseHeadingProperties, }, h4: { fontSize: pxToRem(24), lineHeight: 1.375, ...baseHeadingProperties, }, h5: { fontSize: pxToRem(20), lineHeight: 1.375, ...baseHeadingProperties, }, h6: { fontSize: pxToRem(16), lineHeight: 1.625, ...baseHeadingProperties, }, subtitle1: { fontFamily: baseProperties.fontFamily, fontSize: baseProperties.fontSizeXL, fontWeight: baseProperties.fontWeightLight, lineHeight: 1.625, }, subtitle2: { fontFamily: baseProperties.fontFamily, fontSize: baseProperties.fontSizeMD, fontWeight: baseProperties.fontWeightLight, lineHeight: 1.6, }, body1: { fontFamily: baseProperties.fontFamily, fontSize: baseProperties.fontSizeSM, fontWeight: baseProperties.fontWeightRegular, lineHeight: 1.625, }, body2: { fontFamily: baseProperties.fontFamily, fontSize: baseProperties.fontSizeMD, fontWeight: baseProperties.fontWeightLight, lineHeight: 1.6, }, button: { fontFamily: baseProperties.fontFamily, fontSize: baseProperties.fontSizeSM, fontWeight: baseProperties.fontWeightLight, lineHeight: 1.5, textTransform: "uppercase", }, caption: { fontFamily: baseProperties.fontFamily, fontSize: baseProperties.fontSizeXS, fontWeight: baseProperties.fontWeightLight, lineHeight: 1.25, }, overline: { fontFamily: baseProperties.fontFamily, }, d1: { fontSize: pxToRem(80), ...baseDisplayProperties, }, d2: { fontSize: pxToRem(72), ...baseDisplayProperties, }, d3: { fontSize: pxToRem(64), ...baseDisplayProperties, }, d4: { fontSize: pxToRem(56), ...baseDisplayProperties, }, d5: { fontSize: pxToRem(48), ...baseDisplayProperties, }, d6: { fontSize: pxToRem(40), ...baseDisplayProperties, }, size: { xxs: baseProperties.fontSizeXXS, xs: baseProperties.fontSizeXS, sm: baseProperties.fontSizeSM, md: baseProperties.fontSizeMD, lg: baseProperties.fontSizeLG, xl: baseProperties.fontSizeXL, "2xl": baseProperties.fontSize2XL, "3xl": baseProperties.fontSize3XL, }, lineHeight: { sm: 1.25, md: 1.5, lg: 2, }, } export default typography