/* https://github.com/callstack/react-native-paper/blob/main/src/styles/fonts.tsx */ import { Platform, PlatformOSType } from "react-native"; import type { Fonts } from "../types"; const fontConfig = { web: { regular: { fontFamily: 'Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif', fontWeight: "400" as "400", }, medium: { fontFamily: 'Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif', fontWeight: "500" as "500", }, light: { fontFamily: 'Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif', fontWeight: "300" as "300", }, thin: { fontFamily: 'Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif', fontWeight: "100" as "100", }, }, ios: { regular: { fontFamily: "System", fontWeight: "400" as "400", }, medium: { fontFamily: "System", fontWeight: "500" as "500", }, light: { fontFamily: "System", fontWeight: "300" as "300", }, thin: { fontFamily: "System", fontWeight: "100" as "100", }, }, default: { regular: { fontFamily: "sans-serif", fontWeight: "normal" as "normal", }, medium: { fontFamily: "sans-serif-medium", fontWeight: "normal" as "normal", }, light: { fontFamily: "sans-serif-light", fontWeight: "normal" as "normal", }, thin: { fontFamily: "sans-serif-thin", fontWeight: "normal" as "normal", }, }, }; export default function configureFonts( config?: { [platform in PlatformOSType | "default"]?: Fonts } ): Fonts { const fonts = Platform.select({ ...fontConfig, ...config }) as Fonts; return fonts; }