applyContextToVisualAttributes function

  1. @visibleForTesting
List<StyledAttribute> applyContextToVisualAttributes(
  1. BuildContext context,
  2. Style mix
)

Implementation

@visibleForTesting
List<StyledAttribute> applyContextToVisualAttributes(
  BuildContext context,
  Style mix,
) {
  if (mix.variants.isEmpty) {
    return mix.styles.values;
  }

  final prioritizedVariants = mix.variants.values.sorted(
    (a, b) => a.priority.value.compareTo(b.priority.value),
  );

  Style style = Style.create(mix.styles.values);

  for (final variant in prioritizedVariants) {
    style = _applyVariants(context, style, variant);
  }

  return applyContextToVisualAttributes(context, style);
}