resolve static method

PlexThemeData resolve({
  1. required Brightness brightness,
  2. Color? seed,
  3. ColorScheme? colorScheme,
  4. PlexBrandConfig? brand,
  5. PlexThemeData? existing,
  6. PlexColorTokens? widgetColors,
})

Build tokens from brand / seed / scheme. existing wins field-by-field where it is already populated (merge with fallbacks).

Implementation

static PlexThemeData resolve({
  required Brightness brightness,
  Color? seed,
  ColorScheme? colorScheme,
  PlexBrandConfig? brand,
  PlexThemeData? existing,
  PlexColorTokens? widgetColors,
}) {
  final PlexColorTokens colors = existing?.colors ??
      PlexColorTokens.resolve(
        brightness: brightness,
        seed: seed,
        colorScheme: colorScheme,
        brand: brand,
        widgetColors: widgetColors,
      );
  return PlexThemeData(
    colors: colors,
    fontFamily: existing?.fontFamily ?? brand?.fontFamily ?? 'Roboto',
    density: existing?.density ?? brand?.density ?? PlexDensity.comfortable,
  );
}