Implementation
@override
DynamicColor get surfaceDim {
final color2025 = DynamicColor(
name: "surface_dim",
palette: (scheme) => scheme.neutralPalette,
tone: (scheme) {
if (scheme.isDark) {
return 4.0;
} else {
if (Hct.isYellow(scheme.neutralPalette.hue)) {
return 90.0;
} else if (scheme.variant == .vibrant) {
return 85.0;
} else {
return 87.0;
}
}
},
isBackground: true,
chromaMultiplier: (scheme) {
if (!scheme.isDark) {
if (scheme.variant == .neutral) {
return 2.5;
} else if (scheme.variant == .tonalSpot) {
return 1.7;
} else if (scheme.variant == .expressive) {
return Hct.isYellow(scheme.neutralPalette.hue) ? 2.7 : 1.75;
} else if (scheme.variant == .vibrant) {
return 1.36;
}
}
return 1.0;
},
);
return super.surfaceDim.extendSpecVersion(.spec2025, color2025);
}