getStyle method

Style getStyle(
  1. BuildContext context
)

Implementation

Style getStyle(BuildContext context) {
  final theme = AntdTheme.of(context);
  final token = AntdTheme.ofToken(context);

  final widget = getWidget(context);
  Style style = getDefaultStyle(context, theme, token);
  var themeStyle =
      getThemeStyle(context, theme)?.call(context, widget, style, token);

  style = margeStyle(style, themeStyle);

  final styleBuilder = getStyleBuilder(context);
  final buildStyle = styleBuilder?.call(context, widget, style, token);
  if (buildStyle != null) {
    if (buildStyle.inherit != true) {
      return getFinalStyle(context, margeStyle(style, buildStyle), token);
    }
  }

  final inputStyle = getInputStyle(context);
  if (inputStyle != null) {
    if (inputStyle.inherit != true) {
      return getFinalStyle(context,
          _margeStyle(style, buildStyle, inputStyle, null, null), token);
    }
  }

  final styleBuildProviderStyle = context
      .dependOnInheritedWidgetOfExactType<
          AntdStyleBuilderProvider<Style, WidgetType>>()
      ?.builder
      ?.call(context, widget, style, token);

  if (styleBuildProviderStyle != null) {
    if (styleBuildProviderStyle.inherit != true) {
      return getFinalStyle(
          context,
          _margeStyle(
              style, buildStyle, inputStyle, styleBuildProviderStyle, null),
          token);
    }
  }

  final styleProviderStyle = context
      .dependOnInheritedWidgetOfExactType<AntdStyleProvider<Style>>()
      ?.style;

  style = _margeStyle(style, buildStyle, inputStyle, styleBuildProviderStyle,
      styleProviderStyle);

  return getFinalStyle(context, style, token);
}