getTertiaryPalette method

  1. @override
TonalPalette getTertiaryPalette(
  1. TonalPaletteSourceColor sourceColor,
  2. Variant variant,
  3. bool isDark,
  4. double contrastLevel,
  5. Platform platform,
  6. SpecVersion specVersion,
)
override

Implementation

@override
TonalPalette getTertiaryPalette(
  TonalPaletteSourceColor sourceColor,
  Variant variant,
  bool isDark,
  double contrastLevel,
  Platform platform,
  SpecVersion specVersion,
) => switch (variant) {
  .neutral => .fromHueAndChroma(
    DynamicScheme.getRotatedHue(
      sourceColor.asHct,
      const [0.0, 38.0, 105.0, 161.0, 204.0, 278.0, 333.0, 360.0],
      const [-32.0, 26.0, 10.0, -39.0, 24.0, -15.0, -32.0],
    ),
    platform == .phone ? 20.0 : 36.0,
  ),
  .tonalSpot => .fromHueAndChroma(
    DynamicScheme.getRotatedHue(
      sourceColor.asHct,
      const [0.0, 20.0, 71.0, 161.0, 333.0, 360.0],
      const [-40.0, 48.0, -32.0, 40.0, -32.0],
    ),
    platform == .phone ? 28.0 : 32.0,
  ),
  .expressive => .fromHueAndChroma(
    DynamicScheme.getRotatedHue(
      sourceColor.asHct,
      const [0.0, 105.0, 140.0, 204.0, 253.0, 278.0, 300.0, 333.0, 360.0],
      const [-165.0, 160.0, -105.0, 101.0, -101.0, -160.0, -170.0, -165.0],
    ),
    48.0,
  ),
  .vibrant => .fromHueAndChroma(
    DynamicScheme.getRotatedHue(
      sourceColor.asHct,
      const [0.0, 38.0, 71.0, 105.0, 140.0, 161.0, 253.0, 333.0, 360.0],
      const [-72.0, 35.0, 24.0, -24.0, 62.0, 50.0, 62.0, -72.0],
    ),
    56.0,
  ),
  _ => super.getTertiaryPalette(
    sourceColor,
    variant,
    isDark,
    contrastLevel,
    platform,
    specVersion,
  ),
};