secondaryContainer property

  1. @override
DynamicColor get secondaryContainer
override

Implementation

@override
DynamicColor get secondaryContainer {
  final color2025 = DynamicColor(
    name: "secondary_container",
    palette: (scheme) => scheme.secondaryPalette,
    tone: (scheme) {
      if (scheme.platform == .watch) {
        return 30.0;
      } else if (scheme.variant == .vibrant) {
        return scheme.isDark
            ? _tMinC(scheme.secondaryPalette, 30, 40)
            : _tMaxC(scheme.secondaryPalette, 84, 90);
      } else if (scheme.variant == .expressive) {
        return scheme.isDark ? 15.0 : _tMaxC(scheme.secondaryPalette, 90, 95);
      } else {
        return scheme.isDark ? 25.0 : 90.0;
      }
    },
    isBackground: true,
    background: (scheme) {
      if (scheme.platform == .phone) {
        return scheme.isDark ? surfaceBright : surfaceDim;
      } else {
        return null;
      }
    },
    toneDeltaPair: (scheme) => scheme.platform == .watch
        ? ToneDeltaPair(
            roleA: secondaryContainer,
            roleB: secondaryDim,
            delta: 10.0,
            polarity: .darker,
            constraint: .farther,
          )
        : null,
    contrastCurve: (scheme) =>
        scheme.platform == .phone && scheme.contrastLevel > 0.0
        ? _getContrastCurve(1.5)
        : null,
  );
  return super.secondaryContainer.extendSpecVersion(.spec2025, color2025);
}