Typography.fromDefault constructor

Typography.fromDefault({
  1. FontBasics? fontBasics,
  2. String? fontFamily,
  3. FontWeight? fontWeightRegular,
  4. FontWeight? fontWeightMedium,
  5. FontStyle? heading,
  6. FontStyle? name,
  7. FontStyle? title1,
  8. FontStyle? title2,
  9. FontStyle? subtitle1,
  10. FontStyle? subtitle2,
  11. FontStyle? text1,
  12. FontStyle? text2,
  13. FontStyle? caption1,
  14. FontStyle? caption2,
  15. FontStyle? body,
})

Should be used to make custom themes

Implementation

factory Typography.fromDefault(
    {FontBasics? fontBasics,
    String? fontFamily,
    FontWeight? fontWeightRegular,
    FontWeight? fontWeightMedium,
    FontStyle? heading,
    FontStyle? name,
    FontStyle? title1,
    FontStyle? title2,
    FontStyle? subtitle1,
    FontStyle? subtitle2,
    FontStyle? text1,
    FontStyle? text2,
    FontStyle? caption1,
    FontStyle? caption2,
    FontStyle? body}) {
  FontBasics currentFontBasics = fontBasics ?? FontBasics.fromDefault();

  //Setting Optional values to default font weght values if null
  heading?.fontWeight ??= currentFontBasics.fontWeightBold;
  name?.fontWeight ??= currentFontBasics.fontWeightMedium;
  title1?.fontWeight ??= currentFontBasics.fontWeightSemibold;
  title2?.fontWeight ??= currentFontBasics.fontWeightRegular;
  subtitle1?.fontWeight ??= currentFontBasics.fontWeightRegular;
  subtitle2?.fontWeight ??= currentFontBasics.fontWeightRegular;
  text1?.fontWeight ??= currentFontBasics.fontWeightMedium;
  text2?.fontWeight ??= currentFontBasics.fontWeightMedium;
  caption1?.fontWeight ??= currentFontBasics.fontWeightMedium;
  caption2?.fontWeight ??= currentFontBasics.fontWeightMedium;
  body?.fontWeight ??= currentFontBasics.fontWeightRegular;

  //Setting Optional values to default font family values if null
  heading?.fontFamily ??= currentFontBasics.fontFamily;
  name?.fontFamily ??= currentFontBasics.fontFamily;
  title1?.fontFamily ??= currentFontBasics.fontFamily;
  title2?.fontFamily ??= currentFontBasics.fontFamily;
  subtitle1?.fontFamily ??= currentFontBasics.fontFamily;
  subtitle2?.fontFamily ??= currentFontBasics.fontFamily;
  text1?.fontFamily ??= currentFontBasics.fontFamily;
  text2?.fontFamily ??= currentFontBasics.fontFamily;
  caption1?.fontFamily ??= currentFontBasics.fontFamily;
  caption2?.fontFamily ??= currentFontBasics.fontFamily;
  body?.fontFamily ??= currentFontBasics.fontFamily;

  return Typography(
    fontBasics: currentFontBasics,
    heading: heading ??
        FontStyle(
            fontSize: 22,
            fontWeight: currentFontBasics.fontWeightBold,
            fontFamily: currentFontBasics.fontFamily),
    name: name ??
        FontStyle(
            fontSize: 17,
            fontWeight: currentFontBasics.fontWeightMedium,
            fontFamily: currentFontBasics.fontFamily),
    title1: title1 ??
        FontStyle(
            fontSize: 20,
            fontWeight: currentFontBasics.fontWeightMedium,
            fontFamily: currentFontBasics.fontFamily),
    title2: title2 ??
        FontStyle(
            fontSize: 16,
            fontWeight: currentFontBasics.fontWeightRegular,
            fontFamily: currentFontBasics.fontFamily),
    subtitle1: subtitle1 ??
        FontStyle(
            fontSize: 15,
            fontWeight: currentFontBasics.fontWeightRegular,
            fontFamily: currentFontBasics.fontFamily),
    subtitle2: subtitle2 ??
        FontStyle(
            fontSize: 13,
            fontWeight: currentFontBasics.fontWeightRegular,
            fontFamily: currentFontBasics.fontFamily),
    text1: text1 ??
        FontStyle(
            fontSize: 15,
            fontWeight: currentFontBasics.fontWeightMedium,
            fontFamily: currentFontBasics.fontFamily),
    text2: text2 ??
        FontStyle(
            fontSize: 13,
            fontWeight: currentFontBasics.fontWeightMedium,
            fontFamily: currentFontBasics.fontFamily),
    caption1: caption1 ??
        FontStyle(
            fontSize: 12,
            fontWeight: currentFontBasics.fontWeightMedium,
            fontFamily: currentFontBasics.fontFamily),
    caption2: caption2 ??
        FontStyle(
            fontSize: 11,
            fontWeight: currentFontBasics.fontWeightMedium,
            fontFamily: currentFontBasics.fontFamily),
    body: body ??
        FontStyle(
            fontSize: 17,
            fontWeight: currentFontBasics.fontWeightRegular,
            fontFamily: currentFontBasics.fontFamily),
  );
}