resolve static method
- ColorScheme scheme,
- Brightness brightness
Derives semantic colors from an explicit scheme and brightness — useful when you have a theme but no BuildContext.
Implementation
static PrismColors resolve(ColorScheme scheme, Brightness brightness) {
final isDark = brightness == Brightness.dark;
// A hand-tuned green keeps "success" distinct from the primary hue,
// which is often blue or purple in Material You.
final success = isDark ? const Color(0xFF7BD8A8) : const Color(0xFF1B7A4B);
final successContainer = isDark
? const Color(0xFF1E4C33)
: const Color(0xFFC9F2DC);
final onSuccessContainer = isDark
? const Color(0xFFC9F2DC)
: const Color(0xFF06301A);
// Warning leans amber, again to stay distinct from `tertiary`.
final warning = isDark ? const Color(0xFFFFCF6B) : const Color(0xFF8A5A00);
final warningContainer = isDark
? const Color(0xFF54401A)
: const Color(0xFFFFE7B8);
final onWarningContainer = isDark
? const Color(0xFFFFE7B8)
: const Color(0xFF2E1F00);
return PrismColors(
success: success,
onSuccess: isDark ? const Color(0xFF00391F) : Colors.white,
successContainer: successContainer,
onSuccessContainer: onSuccessContainer,
warning: warning,
onWarning: isDark ? const Color(0xFF3D2C00) : Colors.white,
warningContainer: warningContainer,
onWarningContainer: onWarningContainer,
error: scheme.error,
onError: scheme.onError,
errorContainer: scheme.errorContainer,
onErrorContainer: scheme.onErrorContainer,
info: scheme.primary,
onInfo: scheme.onPrimary,
infoContainer: scheme.primaryContainer,
onInfoContainer: scheme.onPrimaryContainer,
surfaceRaised: scheme.surfaceContainerLow,
surfaceSunken: scheme.surfaceContainerHighest,
outline: scheme.outlineVariant,
overlay: scheme.scrim.withValues(alpha: 0.32),
);
}