TdThemeData constructor

TdThemeData({
  1. Brightness? brightness,
  2. Color? brandColor1,
  3. Color? brandColor2,
  4. Color? brandColor3,
  5. Color? brandColor4,
  6. Color? brandColor5,
  7. Color? brandColor6,
  8. Color? brandColor7,
  9. Color? brandColor8,
  10. Color? brandColor9,
  11. Color? brandColor10,
  12. Color? warningColor1,
  13. Color? warningColor2,
  14. Color? warningColor3,
  15. Color? warningColor4,
  16. Color? warningColor5,
  17. Color? warningColor6,
  18. Color? warningColor7,
  19. Color? warningColor8,
  20. Color? warningColor9,
  21. Color? warningColor10,
  22. Color? errorColor1,
  23. Color? errorColor2,
  24. Color? errorColor3,
  25. Color? errorColor4,
  26. Color? errorColor5,
  27. Color? errorColor6,
  28. Color? errorColor7,
  29. Color? errorColor8,
  30. Color? errorColor9,
  31. Color? errorColor10,
  32. Color? successColor1,
  33. Color? successColor2,
  34. Color? successColor3,
  35. Color? successColor4,
  36. Color? successColor5,
  37. Color? successColor6,
  38. Color? successColor7,
  39. Color? successColor8,
  40. Color? successColor9,
  41. Color? successColor10,
  42. Color? grayColor1,
  43. Color? grayColor2,
  44. Color? grayColor3,
  45. Color? grayColor4,
  46. Color? grayColor5,
  47. Color? grayColor6,
  48. Color? grayColor7,
  49. Color? grayColor8,
  50. Color? grayColor9,
  51. Color? grayColor10,
  52. Color? grayColor11,
  53. Color? grayColor12,
  54. Color? grayColor13,
  55. Color? grayColor14,
  56. Color? fontGray1,
  57. Color? fontGray2,
  58. Color? fontGray3,
  59. Color? fontGray4,
  60. Color? fontWhite1,
  61. Color? fontWhite2,
  62. Color? fontWhite3,
  63. Color? fontWhite4,
  64. Color? brandColor,
  65. Color? brandColorActive,
  66. Color? brandColorDisabled,
  67. Color? brandColorFocus,
  68. Color? brandColorLight,
  69. Color? brandColorLightActive,
  70. Color? warningColor,
  71. Color? warningColorActive,
  72. Color? warningColorDisabled,
  73. Color? warningColorFocus,
  74. Color? warningColorLight,
  75. Color? warningColorLightActive,
  76. Color? errorColor,
  77. Color? errorColorActive,
  78. Color? errorColorDisabled,
  79. Color? errorColorFocus,
  80. Color? errorColorLight,
  81. Color? errorColorLightActive,
  82. Color? successColor,
  83. Color? successColorActive,
  84. Color? successColorDisabled,
  85. Color? successColorFocus,
  86. Color? successColorLight,
  87. Color? successColorLightActive,
  88. Color? backgroundColorPage,
  89. Color? backgroundColorContainer,
  90. Color? backgroundColorContainerActive,
  91. Color? backgroundColorSecondaryContainer,
  92. Color? backgroundColorSecondaryContainerActive,
  93. Color? backgroundColorComponent,
  94. Color? backgroundColorComponentActive,
  95. Color? backgroundColorComponentDisabled,
  96. Color? textColorPrimary,
  97. Color? textColorSecondary,
  98. Color? textColorPlaceholder,
  99. Color? textColorDisabled,
  100. Color? textColorAnti,
  101. Color? textColorBrand,
  102. Color? textColorLink,
  103. Color? componentStroke,
  104. Color? componentBorder,
  105. List<BoxShadow>? shadow1,
  106. List<BoxShadow>? shadow2,
  107. List<BoxShadow>? shadow3,
  108. List<BoxShadow>? shadow4,
  109. Color? maskActive,
  110. Color? maskDisabled,
  111. double? spacer,
  112. double? spacer1,
  113. double? spacer2,
  114. double? spacer3,
  115. double? spacer4,
  116. double? spacer5,
  117. double? spacer6,
  118. TextStyle? font,
  119. TextStyle? fontXs,
  120. TextStyle? fontS,
  121. TextStyle? fontBase,
  122. TextStyle? fontM,
  123. TextStyle? fontL,
  124. TextStyle? fontXl,
  125. BorderRadius? radiusSmall,
  126. BorderRadius? radiusDefault,
  127. BorderRadius? radiusLarge,
  128. BorderRadius? radiusExtraL,
  129. BorderRadius? radiusRound,
  130. BorderRadius? radiusCircle,
  131. TdButtonThemeData? buttonTheme,
})

Implementation

factory TdThemeData({
  Brightness? brightness,
  Color? brandColor1,
  Color? brandColor2,
  Color? brandColor3,
  Color? brandColor4,
  Color? brandColor5,
  Color? brandColor6,
  Color? brandColor7,
  Color? brandColor8,
  Color? brandColor9,
  Color? brandColor10,
  Color? warningColor1,
  Color? warningColor2,
  Color? warningColor3,
  Color? warningColor4,
  Color? warningColor5,
  Color? warningColor6,
  Color? warningColor7,
  Color? warningColor8,
  Color? warningColor9,
  Color? warningColor10,
  Color? errorColor1,
  Color? errorColor2,
  Color? errorColor3,
  Color? errorColor4,
  Color? errorColor5,
  Color? errorColor6,
  Color? errorColor7,
  Color? errorColor8,
  Color? errorColor9,
  Color? errorColor10,
  Color? successColor1,
  Color? successColor2,
  Color? successColor3,
  Color? successColor4,
  Color? successColor5,
  Color? successColor6,
  Color? successColor7,
  Color? successColor8,
  Color? successColor9,
  Color? successColor10,
  Color? grayColor1,
  Color? grayColor2,
  Color? grayColor3,
  Color? grayColor4,
  Color? grayColor5,
  Color? grayColor6,
  Color? grayColor7,
  Color? grayColor8,
  Color? grayColor9,
  Color? grayColor10,
  Color? grayColor11,
  Color? grayColor12,
  Color? grayColor13,
  Color? grayColor14,
  Color? fontGray1,
  Color? fontGray2,
  Color? fontGray3,
  Color? fontGray4,
  Color? fontWhite1,
  Color? fontWhite2,
  Color? fontWhite3,
  Color? fontWhite4,
  Color? brandColor,
  Color? brandColorActive,
  Color? brandColorDisabled,
  Color? brandColorFocus,
  Color? brandColorLight,
  Color? brandColorLightActive,
  Color? warningColor,
  Color? warningColorActive,
  Color? warningColorDisabled,
  Color? warningColorFocus,
  Color? warningColorLight,
  Color? warningColorLightActive,
  Color? errorColor,
  Color? errorColorActive,
  Color? errorColorDisabled,
  Color? errorColorFocus,
  Color? errorColorLight,
  Color? errorColorLightActive,
  Color? successColor,
  Color? successColorActive,
  Color? successColorDisabled,
  Color? successColorFocus,
  Color? successColorLight,
  Color? successColorLightActive,
  Color? backgroundColorPage,
  Color? backgroundColorContainer,
  Color? backgroundColorContainerActive,
  Color? backgroundColorSecondaryContainer,
  Color? backgroundColorSecondaryContainerActive,
  Color? backgroundColorComponent,
  Color? backgroundColorComponentActive,
  Color? backgroundColorComponentDisabled,
  Color? textColorPrimary,
  Color? textColorSecondary,
  Color? textColorPlaceholder,
  Color? textColorDisabled,
  Color? textColorAnti,
  Color? textColorBrand,
  Color? textColorLink,
  Color? componentStroke,
  Color? componentBorder,
  List<BoxShadow>? shadow1,
  List<BoxShadow>? shadow2,
  List<BoxShadow>? shadow3,
  List<BoxShadow>? shadow4,
  Color? maskActive,
  Color? maskDisabled,
  double? spacer,
  double? spacer1,
  double? spacer2,
  double? spacer3,
  double? spacer4,
  double? spacer5,
  double? spacer6,
  TextStyle? font,
  TextStyle? fontXs,
  TextStyle? fontS,
  TextStyle? fontBase,
  TextStyle? fontM,
  TextStyle? fontL,
  TextStyle? fontXl,
  BorderRadius? radiusSmall,
  BorderRadius? radiusDefault,
  BorderRadius? radiusLarge,
  BorderRadius? radiusExtraL,
  BorderRadius? radiusRound,
  BorderRadius? radiusCircle,
  TdButtonThemeData? buttonTheme,
}) {
  brightness ??= Brightness.light;

  if (brightness == Brightness.light) {
    // Light Mode
    brandColor1 ??= const Color(0xFFF2F3FF);
    brandColor2 ??= const Color(0xFFD9E1FF);
    brandColor3 ??= const Color(0xFFB5C7FF);
    brandColor4 ??= const Color(0xFF8EABFF);
    brandColor5 ??= const Color(0xFF618DFF);
    brandColor6 ??= const Color(0xFF366EF4);
    brandColor7 ??= const Color(0xFF0052D9);
    brandColor8 ??= const Color(0xFF003CAB);
    brandColor9 ??= const Color(0xFF002A7C);
    brandColor10 ??= const Color(0xFF001A57);

    warningColor1 ??= const Color(0xFFFFF1E9);
    warningColor2 ??= const Color(0xFFFFD9C2);
    warningColor3 ??= const Color(0xFFFFB98C);
    warningColor4 ??= const Color(0xFFFA9550);
    warningColor5 ??= const Color(0xFFE37318);
    warningColor6 ??= const Color(0xFFBE5A00);
    warningColor7 ??= const Color(0xFF954500);
    warningColor8 ??= const Color(0xFF713300);
    warningColor9 ??= const Color(0xFF532300);
    warningColor10 ??= const Color(0xFF3B1700);

    errorColor1 ??= const Color(0xFFFFF0ED);
    errorColor2 ??= const Color(0xFFFFD8D2);
    errorColor3 ??= const Color(0xFFFFB9B0);
    errorColor4 ??= const Color(0xFFFF9285);
    errorColor5 ??= const Color(0xFFF6685D);
    errorColor6 ??= const Color(0xFFD54941);
    errorColor7 ??= const Color(0xFFAD352F);
    errorColor8 ??= const Color(0xFF881F1C);
    errorColor9 ??= const Color(0xFF68070A);
    errorColor10 ??= const Color(0xFF490002);

    successColor1 ??= const Color(0xFFE3F9E9);
    successColor2 ??= const Color(0xFFC6F3D7);
    successColor3 ??= const Color(0xFF92DAB2);
    successColor4 ??= const Color(0xFF56C08D);
    successColor5 ??= const Color(0xFF2BA471);
    successColor6 ??= const Color(0xFF008858);
    successColor7 ??= const Color(0xFF006C45);
    successColor8 ??= const Color(0xFF005334);
    successColor9 ??= const Color(0xFF003B23);
    successColor10 ??= const Color(0xFF002515);

    grayColor1 ??= const Color(0xFFF3F3F3);
    grayColor2 ??= const Color(0xFFEEEEEE);
    grayColor3 ??= const Color(0xFFE7E7E7);
    grayColor4 ??= const Color(0xFFDCDCDC);
    grayColor5 ??= const Color(0xFFC5C5C5);
    grayColor6 ??= const Color(0xFFA6A6A6);
    grayColor7 ??= const Color(0xFF8B8B8B);
    grayColor8 ??= const Color(0xFF777777);
    grayColor9 ??= const Color(0xFF5E5E5E);
    grayColor10 ??= const Color(0xFF4B4B4B);
    grayColor11 ??= const Color(0xFF383838);
    grayColor12 ??= const Color(0xFF2C2C2C);
    grayColor13 ??= const Color(0xFF242424);
    grayColor14 ??= const Color(0xFF181818);

    // 文字 & 图标 颜色
    fontGray1 ??= const Color.fromRGBO(0, 0, 0, .9);
    fontGray2 ??= const Color.fromRGBO(0, 0, 0, .6);
    fontGray3 ??= const Color.fromRGBO(0, 0, 0, .4);
    fontGray4 ??= const Color.fromRGBO(0, 0, 0, .26);
    fontWhite1 ??= const Color.fromRGBO(255, 255, 255, 1);
    fontWhite2 ??= const Color.fromRGBO(255, 255, 255, .55);
    fontWhite3 ??= const Color.fromRGBO(255, 255, 255, .35);
    fontWhite4 ??= const Color.fromRGBO(255, 255, 255, .22);

    // 基础色扩展
    brandColor ??= brandColor7;
    brandColorActive ??= brandColor8;
    brandColorDisabled ??= brandColor3;
    brandColorFocus ??= brandColor1;
    brandColorLight ??= brandColor1;
    brandColorLightActive ??= brandColor2;

    // 警告色扩展
    warningColor ??= warningColor5;
    warningColorActive ??= warningColor6;
    warningColorDisabled ??= warningColor3;
    warningColorFocus ??= warningColor2;
    warningColorLight ??= warningColor1;
    warningColorLightActive ??= warningColor2;

    // 失败/错误色扩展
    errorColor ??= errorColor6;
    errorColorActive ??= errorColor7;
    errorColorDisabled ??= errorColor3;
    errorColorFocus ??= errorColor2;
    errorColorLight ??= errorColor1;
    errorColorLightActive ??= errorColor2;

    // 成功色扩展
    successColor ??= successColor5;
    successColorActive ??= successColor6;
    successColorDisabled ??= successColor3;
    successColorFocus ??= successColor2;
    successColorLight ??= successColor1;
    successColorLightActive ??= successColor2;

    // 背景色
    backgroundColorPage ??= grayColor1;
    backgroundColorContainer ??= fontWhite1;
    backgroundColorContainerActive ??= grayColor3;
    backgroundColorSecondaryContainer ??= grayColor1;
    backgroundColorSecondaryContainerActive ??= grayColor4;
    backgroundColorComponent ??= grayColor3;
    backgroundColorComponentActive ??= grayColor6;
    backgroundColorComponentDisabled ??= grayColor2;

    // 文本颜色
    textColorPrimary ??= fontGray1;
    textColorSecondary ??= fontGray2;
    textColorPlaceholder ??= fontGray3;
    textColorDisabled ??= fontGray4;
    textColorAnti ??= fontWhite1;
    textColorBrand ??= brandColor;
    textColorLink ??= brandColor;

    // 分割线 & 边框
    componentStroke ??= grayColor3;
    componentBorder ??= grayColor4;

    // 阴影
    shadow1 ??= const [
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .05), offset: Offset(0.0, 1.0), blurRadius: 10.0),
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .08), offset: Offset(0.0, 4.0), blurRadius: 5.0),
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .12), offset: Offset(0.0, 2.0), blurRadius: 4.0, spreadRadius: -1.0),
    ];
    shadow2 ??= const [
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .05), offset: Offset(0.0, 3.0), blurRadius: 14.0, spreadRadius: 2.0),
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .06), offset: Offset(0.0, 8.0), blurRadius: 10.0, spreadRadius: 1.0),
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .1), offset: Offset(0.0, 5.0), blurRadius: 5.0, spreadRadius: -3.0),
    ];
    shadow3 ??= const [
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .05), offset: Offset(0.0, 6.0), blurRadius: 30.0, spreadRadius: 5.0),
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .04), offset: Offset(0.0, 16.0), blurRadius: 24.0, spreadRadius: 2.0),
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .08), offset: Offset(0.0, 8.0), blurRadius: 10.0, spreadRadius: -5.0),
    ];
    shadow4 ??= const [
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .06), offset: Offset(0.0, 2.0), blurRadius: 8.0),
    ];

    // 遮罩
    maskActive ??= const Color.fromRGBO(0, 0, 0, .6);
    maskDisabled ??= const Color.fromRGBO(255, 255, 255, .6);
  } else {
    // Dark Mode
    brandColor1 ??= const Color(0xFF1B2F51);
    brandColor2 ??= const Color(0xFF173463);
    brandColor3 ??= const Color(0xFF143975);
    brandColor4 ??= const Color(0xFF103D88);
    brandColor5 ??= const Color(0xFF0D429A);
    brandColor6 ??= const Color(0xFF054BBE);
    brandColor7 ??= const Color(0xFF2667D4);
    brandColor8 ??= const Color(0xFF4582E6);
    brandColor9 ??= const Color(0xFF699EF5);
    brandColor10 ??= const Color(0xFF96BBF8);

    warningColor1 ??= const Color(0xFF4F2A1D);
    warningColor2 ??= const Color(0xFF582F21);
    warningColor3 ??= const Color(0xFF733C23);
    warningColor4 ??= const Color(0xFFA75D2B);
    warningColor5 ??= const Color(0xFFCF6E2D);
    warningColor6 ??= const Color(0xFFDC7633);
    warningColor7 ??= const Color(0xFFE8935C);
    warningColor8 ??= const Color(0xFFECBF91);
    warningColor9 ??= const Color(0xFFEED7BF);
    warningColor10 ??= const Color(0xFFF3E9DC);

    errorColor1 ??= const Color(0xFF472324);
    errorColor2 ??= const Color(0xFF5E2A2D);
    errorColor3 ??= const Color(0xFF703439);
    errorColor4 ??= const Color(0xFF83383E);
    errorColor5 ??= const Color(0xFFA03F46);
    errorColor6 ??= const Color(0xFFC64751);
    errorColor7 ??= const Color(0xFFDE6670);
    errorColor8 ??= const Color(0xFFEC888E);
    errorColor9 ??= const Color(0xFFEDB1B6);
    errorColor10 ??= const Color(0xFFEECED0);

    successColor1 ??= const Color(0xFF193A2A);
    successColor2 ??= const Color(0xFF1A4230);
    successColor3 ??= const Color(0xFF17533D);
    successColor4 ??= const Color(0xFF0D7A55);
    successColor5 ??= const Color(0xFF059465);
    successColor6 ??= const Color(0xFF43AF8A);
    successColor7 ??= const Color(0xFF46BF96);
    successColor8 ??= const Color(0xFF80D2B6);
    successColor9 ??= const Color(0xFFB4E1D3);
    successColor10 ??= const Color(0xFFDEEDE8);

    grayColor1 ??= const Color(0xFFF3F3F3);
    grayColor2 ??= const Color(0xFFEEEEEE);
    grayColor3 ??= const Color(0xFFE7E7E7);
    grayColor4 ??= const Color(0xFFDCDCDC);
    grayColor5 ??= const Color(0xFFC5C5C5);
    grayColor6 ??= const Color(0xFFA6A6A6);
    grayColor7 ??= const Color(0xFF8B8B8B);
    grayColor8 ??= const Color(0xFF777777);
    grayColor9 ??= const Color(0xFF5E5E5E);
    grayColor10 ??= const Color(0xFF4B4B4B);
    grayColor11 ??= const Color(0xFF383838);
    grayColor12 ??= const Color(0xFF2C2C2C);
    grayColor13 ??= const Color(0xFF242424);
    grayColor14 ??= const Color(0xFF181818);

    // 文字 & 图标 颜色
    fontWhite1 ??= const Color.fromRGBO(255, 255, 255, .9);
    fontWhite2 ??= const Color.fromRGBO(255, 255, 255, .6);
    fontWhite3 ??= const Color.fromRGBO(255, 255, 255, .4);
    fontWhite4 ??= const Color.fromRGBO(255, 255, 255, .26);
    fontGray1 ??= const Color.fromRGBO(0, 0, 0, .9);
    fontGray2 ??= const Color.fromRGBO(0, 0, 0, .6);
    fontGray3 ??= const Color.fromRGBO(0, 0, 0, .4);
    fontGray4 ??= const Color.fromRGBO(0, 0, 0, .26);

    // 基础色扩展
    brandColor ??= brandColor8;
    brandColorActive ??= brandColor9;
    brandColorDisabled ??= brandColor3;
    brandColorFocus ??= brandColor1;
    brandColorLight ??= brandColor1;
    brandColorLightActive ??= brandColor2;

    // 警告色扩展
    warningColor ??= warningColor5;
    warningColorActive ??= warningColor4;
    warningColorDisabled ??= warningColor3;
    warningColorFocus ??= warningColor2;
    warningColorLight ??= warningColor1;
    warningColorLightActive ??= warningColor2;

    // 失败/错误色扩展
    errorColor ??= errorColor6;
    errorColorActive ??= errorColor5;
    errorColorDisabled ??= errorColor3;
    errorColorFocus ??= errorColor2;
    errorColorLight ??= errorColor1;
    errorColorLightActive ??= errorColor2;

    // 成功色扩展
    successColor ??= successColor5;
    successColorActive ??= successColor4;
    successColorDisabled ??= successColor3;
    successColorFocus ??= successColor2;
    successColorLight ??= successColor1;
    successColorLightActive ??= successColor2;

    // 背景色
    backgroundColorPage ??= grayColor14;
    backgroundColorContainer ??= grayColor13;
    backgroundColorContainerActive ??= grayColor12;
    backgroundColorSecondaryContainer ??= grayColor12;
    backgroundColorSecondaryContainerActive ??= grayColor11;
    backgroundColorComponent ??= grayColor11;
    backgroundColorComponentActive ??= grayColor10;
    backgroundColorComponentDisabled ??= grayColor12;

    // 文本颜色
    textColorPrimary ??= fontWhite1;
    textColorSecondary ??= fontWhite2;
    textColorPlaceholder ??= fontWhite3;
    textColorDisabled ??= fontWhite4;
    textColorAnti ??= fontGray1;
    textColorBrand ??= brandColor;
    textColorLink ??= brandColor;

    // 分割线 & 边框
    componentStroke ??= grayColor11;
    componentBorder ??= grayColor9;

    // 阴影
    shadow1 ??= const [
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .06), offset: Offset(0.0, 4.0), blurRadius: 6.0),
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .08), offset: Offset(0.0, 1.0), blurRadius: 10.0),
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .12), offset: Offset(0.0, 2.0), blurRadius: 4.0),
    ];
    shadow2 ??= const [
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .12), offset: Offset(0.0, 8.0), blurRadius: 10.0),
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .10), offset: Offset(0.0, 3.0), blurRadius: 14.0),
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .16), offset: Offset(0.0, 5.0), blurRadius: 5.0),
    ];
    shadow3 ??= const [
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .14), offset: Offset(0.0, 16.0), blurRadius: 24.0),
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .12), offset: Offset(0.0, 6.0), blurRadius: 30.0),
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .20), offset: Offset(0.0, 8.0), blurRadius: 10.0),
    ];
    shadow4 ??= const [
      BoxShadow(color: Color.fromRGBO(0, 0, 0, .06), offset: Offset(0.0, 2.0), blurRadius: 8.0),
    ];

    // 遮罩
    maskActive ??= const Color.fromRGBO(0, 0, 0, .4);
    maskDisabled ??= const Color.fromRGBO(0, 0, 0, .6);
  }

  // 间隔
  spacer ??= 8.0;
  spacer1 ??= 12.00;
  spacer2 ??= 16.00;
  spacer3 ??= 24.00;
  spacer4 ??= 32.00;
  spacer5 ??= 48.00;
  spacer6 ??= 80.00;

  // 字体
  font ??= const TextStyle(fontSize: 10.0, height: 16.0 / 10.0);
  fontXs ??= const TextStyle(fontSize: 10.0, height: 16.0 / 10.0);
  fontS ??= const TextStyle(fontSize: 12.0, height: 20.0 / 12.0);
  fontBase ??= const TextStyle(fontSize: 14.0, height: 22.0 / 14.0);
  fontM ??= const TextStyle(fontSize: 16.0, height: 24.0 / 16.0);
  fontL ??= const TextStyle(fontSize: 20.0, height: 28.0 / 20.0);
  fontXl ??= const TextStyle(fontSize: 36.0, height: 44.0 / 36.0);

  // 圆角
  radiusSmall ??= const BorderRadius.all(Radius.circular(3.0));
  radiusDefault ??= const BorderRadius.all(Radius.circular(6.0));
  radiusLarge ??= const BorderRadius.all(Radius.circular(9.0));
  radiusExtraL ??= const BorderRadius.all(Radius.circular(12.0));
  radiusRound ??= const BorderRadius.all(Radius.circular(999.0));
  radiusCircle ??= const BorderRadius.all(Radius.circular(999.0));

  buttonTheme ??= TdButtonThemeData.fallback();

  return TdThemeData.raw(
    brightness: brightness,
    brandColor1: brandColor1,
    brandColor2: brandColor2,
    brandColor3: brandColor3,
    brandColor4: brandColor4,
    brandColor5: brandColor5,
    brandColor6: brandColor6,
    brandColor7: brandColor7,
    brandColor8: brandColor8,
    brandColor9: brandColor9,
    brandColor10: brandColor10,
    warningColor1: warningColor1,
    warningColor2: warningColor2,
    warningColor3: warningColor3,
    warningColor4: warningColor4,
    warningColor5: warningColor5,
    warningColor6: warningColor6,
    warningColor7: warningColor7,
    warningColor8: warningColor8,
    warningColor9: warningColor9,
    warningColor10: warningColor10,
    errorColor1: errorColor1,
    errorColor2: errorColor2,
    errorColor3: errorColor3,
    errorColor4: errorColor4,
    errorColor5: errorColor5,
    errorColor6: errorColor6,
    errorColor7: errorColor7,
    errorColor8: errorColor8,
    errorColor9: errorColor9,
    errorColor10: errorColor10,
    successColor1: successColor1,
    successColor2: successColor2,
    successColor3: successColor3,
    successColor4: successColor4,
    successColor5: successColor5,
    successColor6: successColor6,
    successColor7: successColor7,
    successColor8: successColor8,
    successColor9: successColor9,
    successColor10: successColor10,
    grayColor1: grayColor1,
    grayColor2: grayColor2,
    grayColor3: grayColor3,
    grayColor4: grayColor4,
    grayColor5: grayColor5,
    grayColor6: grayColor6,
    grayColor7: grayColor7,
    grayColor8: grayColor8,
    grayColor9: grayColor9,
    grayColor10: grayColor10,
    grayColor11: grayColor11,
    grayColor12: grayColor12,
    grayColor13: grayColor13,
    grayColor14: grayColor14,
    fontGray1: fontGray1,
    fontGray2: fontGray2,
    fontGray3: fontGray3,
    fontGray4: fontGray4,
    fontWhite1: fontWhite1,
    fontWhite2: fontWhite2,
    fontWhite3: fontWhite3,
    fontWhite4: fontWhite4,
    brandColor: brandColor,
    brandColorActive: brandColorActive,
    brandColorDisabled: brandColorDisabled,
    brandColorFocus: brandColorFocus,
    brandColorLight: brandColorLight,
    brandColorLightActive: brandColorLightActive,
    warningColor: warningColor,
    warningColorActive: warningColorActive,
    warningColorDisabled: warningColorDisabled,
    warningColorFocus: warningColorFocus,
    warningColorLight: warningColorLight,
    warningColorLightActive: warningColorLightActive,
    errorColor: errorColor,
    errorColorActive: errorColorActive,
    errorColorDisabled: errorColorDisabled,
    errorColorFocus: errorColorFocus,
    errorColorLight: errorColorLight,
    errorColorLightActive: errorColorLightActive,
    successColor: successColor,
    successColorActive: successColorActive,
    successColorDisabled: successColorDisabled,
    successColorFocus: successColorFocus,
    successColorLight: successColorLight,
    successColorLightActive: successColorLightActive,
    backgroundColorPage: backgroundColorPage,
    backgroundColorContainer: backgroundColorContainer,
    backgroundColorContainerActive: backgroundColorContainerActive,
    backgroundColorSecondaryContainer: backgroundColorSecondaryContainer,
    backgroundColorSecondaryContainerActive: backgroundColorSecondaryContainerActive,
    backgroundColorComponent: backgroundColorComponent,
    backgroundColorComponentActive: backgroundColorComponentActive,
    backgroundColorComponentDisabled: backgroundColorComponentDisabled,
    textColorPrimary: textColorPrimary,
    textColorSecondary: textColorSecondary,
    textColorPlaceholder: textColorPlaceholder,
    textColorDisabled: textColorDisabled,
    textColorAnti: textColorAnti,
    textColorBrand: textColorBrand,
    textColorLink: textColorLink,
    componentStroke: componentStroke,
    componentBorder: componentBorder,
    shadow1: shadow1,
    shadow2: shadow2,
    shadow3: shadow3,
    shadow4: shadow4,
    maskActive: maskActive,
    maskDisabled: maskDisabled,
    spacer: spacer,
    spacer1: spacer1,
    spacer2: spacer2,
    spacer3: spacer3,
    spacer4: spacer4,
    spacer5: spacer5,
    spacer6: spacer6,
    font: font,
    fontXs: fontXs,
    fontS: fontS,
    fontBase: fontBase,
    fontM: fontM,
    fontL: fontL,
    fontXl: fontXl,
    radiusSmall: radiusSmall,
    radiusDefault: radiusDefault,
    radiusLarge: radiusLarge,
    radiusExtraL: radiusExtraL,
    radiusRound: radiusRound,
    radiusCircle: radiusCircle,
    buttonTheme: buttonTheme,
  );
}