content: import 'package:flex_seed_scheme/flex_seed_scheme.dart';
  import 'package:flutter/material.dart';
  
  import 'theme_tokens.dart';
  
  /// The ColorScheme made from SeedColorScheme.fromSeeds.
  ///
  /// Begin with figuring out your ColorScheme.
  ///
  /// Here we map our app color design tokens to the SeedColorScheme.fromSeeds
  /// key colors and pin color tokens to selected ColorScheme colors.
  sealed class AppColorScheme {
    /// App's light ColorScheme.
    static final ColorScheme light = SeedColorScheme.fromSeeds(
      brightness: Brightness.light,
      primaryKey: ThemeTokens.avocado,
      secondaryKey: ThemeTokens.avocadoRipe,
      tertiaryKey: ThemeTokens.avocadoCore,
      // We use the tones chroma that has colorfulness that is fully driven
      // by the given key colors' chromacity. We also make all surface shades
      // monochrome on none Android builds or if it is a web build.
      tones: FlexTones.chroma(Brightness.light)
          .monochromeSurfaces(ThemeTokens.isNotAndroidOrIsWeb),
  
      // Color overrides to design token values.
      // TIP: Visualize the color scheme without any pinned colors first and
      // then see what colors you need to pin to get the desired result and where
      // the colors in your palette will fit in the generated color scheme.
      primary: ThemeTokens.avocado,
      primaryContainer: ThemeTokens.avocadoMeat,
      secondary: ThemeTokens.avocadoRipe,
      secondaryContainer: ThemeTokens.avocadoTender,
      tertiary: ThemeTokens.avocadoCore,
      tertiaryContainer: ThemeTokens.effectLight,
      onTertiaryContainer: ThemeTokens.effectDark,
    );
  
    /// App's dark ColorScheme.
    static final ColorScheme dark = SeedColorScheme.fromSeeds(
      brightness: Brightness.dark,
      // Use the same key colors and tones as light mode in dark mode.
      primaryKey: ThemeTokens.avocado,
      secondaryKey: ThemeTokens.avocadoRipe,
      tertiaryKey: ThemeTokens.avocadoCore,
      tones: FlexTones.chroma(Brightness.dark)
          .monochromeSurfaces(ThemeTokens.isNotAndroidOrIsWeb),
  
      // Color overrides to design token values.
      // Overrides are different from light mode, typically inverse selections,
      // but you can also deviate from this when appropriate as done here.
      primary: ThemeTokens.avocadoLush,
      primaryContainer: ThemeTokens.avocadoPrime,
      onPrimaryContainer: ThemeTokens.avocado,
      secondary: ThemeTokens.avocadoTender,
      secondaryContainer: ThemeTokens.avocadoRipe,
      tertiary: ThemeTokens.effectLight,
      onTertiary: ThemeTokens.effectDark,
      tertiaryContainer: ThemeTokens.avocadoCore,
      onTertiaryContainer: ThemeTokens.effectLight,
    );
  }
  