tertiaryContainer property

  1. @override
DynamicColor get tertiaryContainer
override

Implementation

@override
DynamicColor get tertiaryContainer {
  final color2025 = DynamicColor(
    name: "tertiary_container",
    palette: (scheme) => scheme.tertiaryPalette,
    tone: (scheme) {
      if (scheme.platform == .watch) {
        return scheme.variant == .tonalSpot
            ? _tMaxC(scheme.tertiaryPalette, 0, 90)
            : _tMaxC(scheme.tertiaryPalette);
      } else {
        if (scheme.variant == .neutral) {
          return scheme.isDark
              ? _tMaxC(scheme.tertiaryPalette, 0, 93)
              : _tMaxC(scheme.tertiaryPalette, 0, 96);
        } else if (scheme.variant == .tonalSpot) {
          return _tMaxC(scheme.tertiaryPalette, 0, scheme.isDark ? 93 : 100);
        } else if (scheme.variant == .expressive) {
          return _tMaxC(
            scheme.tertiaryPalette,
            /* lowerBound= */ 75,
            /* upperBound= */ Hct.isCyan(scheme.tertiaryPalette.hue)
                ? 88
                : (scheme.isDark ? 93 : 100),
          );
        } else {
          // VIBRANT
          return scheme.isDark
              ? _tMaxC(scheme.tertiaryPalette, 0, 93)
              : _tMaxC(scheme.tertiaryPalette, 72, 100);
        }
      }
    },
    isBackground: true,
    background: (scheme) {
      if (scheme.platform == .phone) {
        return scheme.isDark ? surfaceBright : surfaceDim;
      } else {
        return null;
      }
    },
    toneDeltaPair: (scheme) => scheme.platform == .watch
        ? ToneDeltaPair(
            roleA: tertiaryContainer,
            roleB: tertiaryDim,
            delta: 10.0,
            polarity: .darker,
            constraint: .farther,
          )
        : null,
    contrastCurve: (scheme) =>
        scheme.platform == .phone && scheme.contrastLevel > 0
        ? _getContrastCurve(1.5)
        : null,
  );
  return super.tertiaryContainer.extendSpecVersion(.spec2025, color2025);
}