//
// Google Cloud (google-cloud@1.0.0)
// Palette: google-cloud@1.0.0
// Fonts:   heading=google-sans@1.0.0, body=roboto@1.0.0, mono=roboto@1.0.0
// Generated by brand-atoms converter — do not edit by hand.
//

import SwiftUI

/// Source-of-truth color swatches from the referenced palette.
public enum BrandSwatch {
    /// Google Blue — Canonical Google brand blue — the "G" of the four-color logo and the principal accent across Google Cloud marketing.

    public static let googleBlue = Color(.sRGB, red: 0.2588, green: 0.5216, blue: 0.9569, opacity: 1.0000)
    /// Cloud Blue 600 — Deeper interactive blue used in the Google Cloud Console chrome and as the link / primary-action color across cloud.google.com.

    public static let cloudBlue600 = Color(.sRGB, red: 0.1020, green: 0.4510, blue: 0.9098, opacity: 1.0000)
    /// Cloud Blue 700 — Pressed/active state for the Cloud Blue primary action.

    public static let cloudBlue700 = Color(.sRGB, red: 0.0941, green: 0.3529, blue: 0.7373, opacity: 1.0000)
    /// Google Red — Canonical Google brand red — the second "o" of the Google wordmark and the error / destructive accent in the Cloud Console.

    public static let googleRed = Color(.sRGB, red: 0.9176, green: 0.2627, blue: 0.2078, opacity: 1.0000)
    /// Google Yellow — Canonical Google brand yellow — the third "o" of the Google wordmark and the warning accent in the Cloud Console.

    public static let googleYellow = Color(.sRGB, red: 0.9843, green: 0.7373, blue: 0.0157, opacity: 1.0000)
    /// Google Green — Canonical Google brand green — the "l" of the Google wordmark and the success accent in the Cloud Console.

    public static let googleGreen = Color(.sRGB, red: 0.2039, green: 0.6588, blue: 0.3255, opacity: 1.0000)
    /// Google Grey 900 — Primary text on light surfaces — Google Material's Grey 900 token, used on cloud.google.com body copy.

    public static let googleGrey900 = Color(.sRGB, red: 0.1255, green: 0.1294, blue: 0.1412, opacity: 1.0000)
    /// Google Grey 700 — Secondary text and metadata.
    public static let googleGrey700 = Color(.sRGB, red: 0.3725, green: 0.3882, blue: 0.4078, opacity: 1.0000)
    /// Google Grey 500 — Tertiary text and disabled UI.
    public static let googleGrey500 = Color(.sRGB, red: 0.6039, green: 0.6275, blue: 0.6510, opacity: 1.0000)
    /// Google Grey 200 — Hairline borders and quiet dividers.
    public static let googleGrey200 = Color(.sRGB, red: 0.9098, green: 0.9176, blue: 0.9294, opacity: 1.0000)
    /// Google Grey 100 — Subtle surface tint — Cloud Console card backgrounds.
    public static let googleGrey100 = Color(.sRGB, red: 0.9451, green: 0.9529, blue: 0.9569, opacity: 1.0000)
    /// Google Grey 50 — Page-level background tint.
    public static let googleGrey50 = Color(.sRGB, red: 0.9725, green: 0.9765, blue: 0.9804, opacity: 1.0000)
    /// Google White — Primary canvas on light surfaces.
    public static let googleWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Google Grey 1000 — Dark-mode canvas — used on cloud.google.com dark hero.
    public static let googleGrey1000 = Color(.sRGB, red: 0.0902, green: 0.0902, blue: 0.0902, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.googleWhite
    public static let surface = BrandSwatch.googleGrey50
    public static let surfaceElevated = BrandSwatch.googleWhite
    public static let textPrimary = BrandSwatch.googleGrey900
    public static let textSecondary = BrandSwatch.googleGrey700
    public static let textTertiary = BrandSwatch.googleGrey500
    public static let primary = BrandSwatch.cloudBlue600
    public static let primaryHover = BrandSwatch.cloudBlue700
    public static let accent = BrandSwatch.googleBlue
    public static let accentHover = BrandSwatch.cloudBlue600
    public static let warning = BrandSwatch.googleYellow
    public static let warningHover = BrandSwatch.googleRed
    public static let error = BrandSwatch.googleRed
    public static let success = BrandSwatch.googleGreen
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.googleGrey1000
    public static let surface = BrandSwatch.googleGrey900
    public static let surfaceElevated = BrandSwatch.googleGrey700
    public static let textPrimary = BrandSwatch.googleWhite
    public static let textSecondary = BrandSwatch.googleGrey200
    public static let textTertiary = BrandSwatch.googleGrey500
    public static let primary = BrandSwatch.googleBlue
    public static let primaryHover = BrandSwatch.cloudBlue600
    public static let accent = BrandSwatch.googleBlue
    public static let accentHover = BrandSwatch.cloudBlue600
    public static let warning = BrandSwatch.googleYellow
    public static let warningHover = BrandSwatch.googleRed
    public static let error = BrandSwatch.googleRed
    public static let success = BrandSwatch.googleGreen
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.cloudBlue600
    public static let onIdentity = BrandSwatch.googleWhite
    public static let primary = BrandSwatch.cloudBlue600
    public static let primaryHover = BrandSwatch.cloudBlue700
    public static let accent = BrandSwatch.googleBlue
    public static let accentHover = BrandSwatch.cloudBlue600
    public static let background = BrandSwatch.googleWhite
    public static let surface = BrandSwatch.googleGrey50
    public static let surfaceElevated = BrandSwatch.googleWhite
    public static let textPrimary = BrandSwatch.googleGrey900
    public static let textSecondary = BrandSwatch.googleGrey700
    public static let textTertiary = BrandSwatch.googleGrey500
    public static let logoQuadrantBlue = BrandSwatch.googleBlue
    public static let logoQuadrantRed = BrandSwatch.googleRed
    public static let logoQuadrantYellow = BrandSwatch.googleYellow
    public static let logoQuadrantGreen = BrandSwatch.googleGreen
    public static let mark = BrandSwatch.cloudBlue600
}

/// Typography family names by brand role.
public enum BrandFont {
    /// Google Sans (google-sans@1.0.0)
    public static let heading = "Google Sans"
    /// Roboto (roboto@1.0.0)
    public static let body = "Roboto"
    /// Roboto (roboto@1.0.0)
    public static let mono = "Roboto"
}
