surfaceContainer property

  1. @override
DynamicColor get surfaceContainer
override

Implementation

@override
DynamicColor get surfaceContainer {
  final color2025 = DynamicColor(
    name: "surface_container",
    palette: (scheme) => scheme.neutralPalette,
    tone: (scheme) {
      if (scheme.platform == .phone) {
        if (scheme.isDark) {
          return 9.0;
        } else {
          if (Hct.isYellow(scheme.neutralPalette.hue)) {
            return 96.0;
          } else if (scheme.variant == .vibrant) {
            return 92.0;
          } else {
            return 94.0;
          }
        }
      } else {
        return 20.0;
      }
    },
    isBackground: true,
    chromaMultiplier: (scheme) {
      if (scheme.platform == .phone) {
        if (scheme.variant == .neutral) {
          return 1.6;
        } else if (scheme.variant == .tonalSpot) {
          return 1.4;
        } else if (scheme.variant == .expressive) {
          return Hct.isYellow(scheme.neutralPalette.hue) ? 1.6 : 1.3;
        } else if (scheme.variant == .vibrant) {
          return 1.15;
        }
      }
      return 1.0;
    },
  );
  return super.surfaceContainer.extendSpecVersion(.spec2025, color2025);
}