{"ast":null,"code":"import Platform from \"react-native-web/dist/exports/Platform\";\nimport { typescale } from \"./themes/v3/tokens\";\nexport const fontConfig = {\n  web: {\n    regular: {\n      fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n      fontWeight: '400'\n    },\n    medium: {\n      fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n      fontWeight: '500'\n    },\n    light: {\n      fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n      fontWeight: '300'\n    },\n    thin: {\n      fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n      fontWeight: '100'\n    }\n  },\n  ios: {\n    regular: {\n      fontFamily: 'System',\n      fontWeight: '400'\n    },\n    medium: {\n      fontFamily: 'System',\n      fontWeight: '500'\n    },\n    light: {\n      fontFamily: 'System',\n      fontWeight: '300'\n    },\n    thin: {\n      fontFamily: 'System',\n      fontWeight: '100'\n    }\n  },\n  default: {\n    regular: {\n      fontFamily: 'sans-serif',\n      fontWeight: 'normal'\n    },\n    medium: {\n      fontFamily: 'sans-serif-medium',\n      fontWeight: 'normal'\n    },\n    light: {\n      fontFamily: 'sans-serif-light',\n      fontWeight: 'normal'\n    },\n    thin: {\n      fontFamily: 'sans-serif-thin',\n      fontWeight: 'normal'\n    }\n  }\n};\nfunction configureV2Fonts(config) {\n  const fonts = Platform.select(Object.assign({}, fontConfig, config));\n  return fonts;\n}\nfunction configureV3Fonts(config) {\n  if (!config) {\n    return typescale;\n  }\n  const isFlatConfig = Object.keys(config).every(key => typeof config[key] !== 'object');\n  if (isFlatConfig) {\n    return Object.fromEntries(Object.entries(typescale).map(([variantName, variantProperties]) => [variantName, Object.assign({}, variantProperties, config)]));\n  }\n  return Object.assign({}, typescale, ...Object.entries(config).map(([variantName, variantProperties]) => ({\n    [variantName]: Object.assign({}, typescale[variantName], variantProperties)\n  })));\n}\nexport default function configureFonts(params) {\n  const {\n    isV3 = true,\n    config\n  } = params || {};\n  if (isV3) {\n    return configureV3Fonts(config);\n  }\n  return configureV2Fonts(config);\n}","map":{"version":3,"names":["typescale","fontConfig","web","regular","fontFamily","fontWeight","medium","light","thin","ios","default","configureV2Fonts","config","fonts","Platform","select","Object","assign","configureV3Fonts","isFlatConfig","keys","every","key","fromEntries","entries","map","variantName","variantProperties","configureFonts","params","isV3"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-paper/src/styles/fonts.tsx"],"sourcesContent":["import { Platform, PlatformOSType } from 'react-native';\n\nimport type { Fonts, MD3Type, MD3Typescale, MD3TypescaleKey } from '../types';\nimport { typescale } from './themes/v3/tokens';\n\nexport const fontConfig = {\n  web: {\n    regular: {\n      fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n      fontWeight: '400' as '400',\n    },\n    medium: {\n      fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n      fontWeight: '500' as '500',\n    },\n    light: {\n      fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n      fontWeight: '300' as '300',\n    },\n    thin: {\n      fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n      fontWeight: '100' as '100',\n    },\n  },\n  ios: {\n    regular: {\n      fontFamily: 'System',\n      fontWeight: '400' as '400',\n    },\n    medium: {\n      fontFamily: 'System',\n      fontWeight: '500' as '500',\n    },\n    light: {\n      fontFamily: 'System',\n      fontWeight: '300' as '300',\n    },\n    thin: {\n      fontFamily: 'System',\n      fontWeight: '100' as '100',\n    },\n  },\n  default: {\n    regular: {\n      fontFamily: 'sans-serif',\n      fontWeight: 'normal' as 'normal',\n    },\n    medium: {\n      fontFamily: 'sans-serif-medium',\n      fontWeight: 'normal' as 'normal',\n    },\n    light: {\n      fontFamily: 'sans-serif-light',\n      fontWeight: 'normal' as 'normal',\n    },\n    thin: {\n      fontFamily: 'sans-serif-thin',\n      fontWeight: 'normal' as 'normal',\n    },\n  },\n};\n\ntype MD2FontsConfig = {\n  [platform in PlatformOSType | 'default']?: Fonts;\n};\n\ntype MD3FontsConfig =\n  | {\n      [key in MD3TypescaleKey]: Partial<MD3Type>;\n    }\n  | {\n      [key: string]: MD3Type;\n    }\n  | Partial<MD3Type>;\n\nfunction configureV2Fonts(config: MD2FontsConfig): Fonts {\n  const fonts = Platform.select({ ...fontConfig, ...config }) as Fonts;\n  return fonts;\n}\n\nfunction configureV3Fonts(\n  config: MD3FontsConfig\n): MD3Typescale | (MD3Typescale & { [key: string]: MD3Type }) {\n  if (!config) {\n    return typescale;\n  }\n\n  const isFlatConfig = Object.keys(config).every(\n    (key) => typeof config[key as keyof typeof config] !== 'object'\n  );\n\n  if (isFlatConfig) {\n    return Object.fromEntries(\n      Object.entries(typescale).map(([variantName, variantProperties]) => [\n        variantName,\n        { ...variantProperties, ...config },\n      ])\n    ) as MD3Typescale;\n  }\n\n  return Object.assign(\n    {},\n    typescale,\n    ...Object.entries(config).map(([variantName, variantProperties]) => ({\n      [variantName]: {\n        ...typescale[variantName as MD3TypescaleKey],\n        ...variantProperties,\n      },\n    }))\n  );\n}\n\n// eslint-disable-next-line no-redeclare\nexport default function configureFonts(params: { isV3: false }): Fonts;\n// eslint-disable-next-line no-redeclare\nexport default function configureFonts(params: {\n  config?: MD2FontsConfig;\n  isV3: false;\n}): Fonts;\n// eslint-disable-next-line no-redeclare\nexport default function configureFonts(params?: {\n  config?: Partial<MD3Type>;\n  isV3?: true;\n}): MD3Typescale;\n// eslint-disable-next-line no-redeclare\nexport default function configureFonts(params?: {\n  config?: Partial<Record<MD3TypescaleKey, Partial<MD3Type>>>;\n  isV3?: true;\n}): MD3Typescale;\n// eslint-disable-next-line no-redeclare\nexport default function configureFonts(params: {\n  config: Record<string, MD3Type>;\n  isV3?: true;\n}): MD3Typescale & { [key: string]: MD3Type };\n// eslint-disable-next-line no-redeclare\nexport default function configureFonts(params?: any) {\n  const { isV3 = true, config } = params || {};\n\n  if (isV3) {\n    return configureV3Fonts(config);\n  }\n  return configureV2Fonts(config);\n}\n"],"mappings":";AAGA,SAASA,SAAS;AAElB,OAAO,MAAMC,UAAU,GAAG;EACxBC,GAAG,EAAE;IACHC,OAAO,EAAE;MACPC,UAAU,EAAE,wDAAwD;MACpEC,UAAU,EAAE;IACd,CAAC;IACDC,MAAM,EAAE;MACNF,UAAU,EAAE,wDAAwD;MACpEC,UAAU,EAAE;IACd,CAAC;IACDE,KAAK,EAAE;MACLH,UAAU,EAAE,wDAAwD;MACpEC,UAAU,EAAE;IACd,CAAC;IACDG,IAAI,EAAE;MACJJ,UAAU,EAAE,wDAAwD;MACpEC,UAAU,EAAE;IACd;EACF,CAAC;EACDI,GAAG,EAAE;IACHN,OAAO,EAAE;MACPC,UAAU,EAAE,QAAQ;MACpBC,UAAU,EAAE;IACd,CAAC;IACDC,MAAM,EAAE;MACNF,UAAU,EAAE,QAAQ;MACpBC,UAAU,EAAE;IACd,CAAC;IACDE,KAAK,EAAE;MACLH,UAAU,EAAE,QAAQ;MACpBC,UAAU,EAAE;IACd,CAAC;IACDG,IAAI,EAAE;MACJJ,UAAU,EAAE,QAAQ;MACpBC,UAAU,EAAE;IACd;EACF,CAAC;EACDK,OAAO,EAAE;IACPP,OAAO,EAAE;MACPC,UAAU,EAAE,YAAY;MACxBC,UAAU,EAAE;IACd,CAAC;IACDC,MAAM,EAAE;MACNF,UAAU,EAAE,mBAAmB;MAC/BC,UAAU,EAAE;IACd,CAAC;IACDE,KAAK,EAAE;MACLH,UAAU,EAAE,kBAAkB;MAC9BC,UAAU,EAAE;IACd,CAAC;IACDG,IAAI,EAAE;MACJJ,UAAU,EAAE,iBAAiB;MAC7BC,UAAU,EAAE;IACd;EACF;AACF,CAAC;AAeD,SAASM,gBAAgBA,CAACC,MAAsB,EAAS;EACvD,MAAMC,KAAK,GAAGC,QAAQ,CAACC,MAAM,CAAAC,MAAA,CAAAC,MAAA,KAAMhB,UAAU,EAAKW,MAAA,CAAQ,CAAU;EACpE,OAAOC,KAAK;AACd;AAEA,SAASK,gBAAgBA,CACvBN,MAAsB,EACsC;EAC5D,IAAI,CAACA,MAAM,EAAE;IACX,OAAOZ,SAAS;EAClB;EAEA,MAAMmB,YAAY,GAAGH,MAAM,CAACI,IAAI,CAACR,MAAM,CAAC,CAACS,KAAK,CAC3CC,GAAG,IAAK,OAAOV,MAAM,CAACU,GAAG,CAAwB,KAAK,QACzD,CAAC;EAED,IAAIH,YAAY,EAAE;IAChB,OAAOH,MAAM,CAACO,WAAW,CACvBP,MAAM,CAACQ,OAAO,CAACxB,SAAS,CAAC,CAACyB,GAAG,CAAC,CAAC,CAACC,WAAW,EAAEC,iBAAiB,CAAC,KAAK,CAClED,WAAW,EAAAV,MAAA,CAAAC,MAAA,KACNU,iBAAiB,EAAKf,MAAA,EAC5B,CACH,CAAC;EACH;EAEA,OAAOI,MAAM,CAACC,MAAM,CAClB,CAAC,CAAC,EACFjB,SAAS,EACT,GAAGgB,MAAM,CAACQ,OAAO,CAACZ,MAAM,CAAC,CAACa,GAAG,CAAC,CAAC,CAACC,WAAW,EAAEC,iBAAiB,CAAC,MAAM;IACnE,CAACD,WAAW,GAAAV,MAAA,CAAAC,MAAA,KACPjB,SAAS,CAAC0B,WAAW,CAAoB,EACzCC,iBAAA;EAEP,CAAC,CAAC,CACJ,CAAC;AACH;AAyBA,eAAe,SAASC,cAAcA,CAACC,MAAY,EAAE;EACnD,MAAM;IAAEC,IAAI,GAAG,IAAI;IAAElB;EAAO,CAAC,GAAGiB,MAAM,IAAI,CAAC,CAAC;EAE5C,IAAIC,IAAI,EAAE;IACR,OAAOZ,gBAAgB,CAACN,MAAM,CAAC;EACjC;EACA,OAAOD,gBAAgB,CAACC,MAAM,CAAC;AACjC","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}