decodeColorScheme static method

ColorScheme? decodeColorScheme(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the given value to an CardTheme. This expects the given value to follow the structure below:

{
  "background": "<Color>",
  "brightness": "<Brightness>",
  "error": "<Color>",
  "errorContainer": "<Color>",
  "inversePrimary": "<Color>",
  "inverseSurface": "<Color>",
  "onBackground": "<Color>",
  "onError": "<Color>",
  "onErrorContainer": "<Color>",
  "onInverseSurface": "<Color>",
  "onPrimary": "<Color>",
  "onPrimaryContainer": "<Color>",
  "onSecondary": "<Color>",
  "onSecondaryContainer": "<Color>",
  "onSurface": "<Color>",
  "onSurfaceVariant": "<Color>",
  "onTertiary": "<Color>",
  "onTertiaryContainer": "<Color>",
  "outline": "<Color>",
  "outlineVariant": "<Color>",
  "primary": "<Color>",
  "primaryContainer": "<Color>",
  "scrim": "<Color>",
  "secondary": "<Color>",
  "secondaryContainer": "<Color>",
  "shadow": "<Color>",
  "surface": "<Color>",
  "surfaceContainerHighest": "<Color>",
  "tertiary": "<Color>",
  "tertiaryContainer": "<Color>"
}

See also:

Implementation

static ColorScheme? decodeColorScheme(
  dynamic value, {
  bool validate = true,
}) {
  ColorScheme? result;

  if (value is ColorScheme) {
    result = value;
  } else if (value != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/color_scheme',
      value: value,
      validate: validate,
    ));
    result = ColorScheme(
      brightness: decodeBrightness(
        value['brightness'],
        validate: false,
      )!,
      error: decodeColor(
        value['error'],
        validate: false,
      )!,
      errorContainer: decodeColor(
        value['errorContainer'],
        validate: false,
      ),
      inversePrimary: decodeColor(
        value['inversePrimary'],
        validate: false,
      ),
      inverseSurface: decodeColor(
        value['inverseSurface'],
        validate: false,
      ),
      onError: decodeColor(
        value['onError'],
        validate: false,
      )!,
      onErrorContainer: decodeColor(
        value['onErrorContainer'],
        validate: false,
      ),
      onInverseSurface: decodeColor(
        value['onInverseSurface'],
        validate: false,
      ),
      onPrimary: decodeColor(
        value['onPrimary'],
        validate: false,
      )!,
      onPrimaryContainer: decodeColor(
        value['onPrimaryContainer'],
        validate: false,
      ),
      onSecondary: decodeColor(
        value['onSecondary'],
        validate: false,
      )!,
      onSecondaryContainer: decodeColor(
        value['onSecondaryContainer'],
        validate: false,
      ),
      onSurface: decodeColor(
        value['onSurface'],
        validate: false,
      )!,
      onSurfaceVariant: decodeColor(
        value['onSurfaceVariant'],
        validate: false,
      ),
      onTertiary: decodeColor(
        value['onTertiary'],
        validate: false,
      ),
      onTertiaryContainer: decodeColor(
        value['onTertiaryContainer'],
        validate: false,
      ),
      outline: decodeColor(
        value['outline'],
        validate: false,
      ),
      outlineVariant: decodeColor(
        value['outlineVariant'],
        validate: false,
      ),
      primary: decodeColor(
        value['primary'],
        validate: false,
      )!,
      primaryContainer: decodeColor(
        value['primaryContainer'] ?? value['primaryVariant'],
        validate: false,
      ),
      scrim: decodeColor(
        value['scrim'],
        validate: false,
      ),
      secondary: decodeColor(
        value['secondary'],
        validate: false,
      )!,
      secondaryContainer: decodeColor(
        value['secondaryContainer'] ?? value['secondaryVariant'],
        validate: false,
      ),
      shadow: decodeColor(
        value['shadow'],
        validate: false,
      ),
      surface: decodeColor(
        value['surface'],
        validate: false,
      )!,
      surfaceTint: decodeColor(
        value['surfaceTint'],
        validate: false,
      ),
      surfaceContainerHighest: decodeColor(
        value['surfaceContainerHighest'] ?? value['surfaceVariant'],
        validate: false,
      ),
      tertiary: decodeColor(
        value['tertiary'],
        validate: false,
      ),
      tertiaryContainer: decodeColor(
        value['tertiaryContainer'],
        validate: false,
      ),
    );
  }

  return result;
}