//
// Google (google@1.0.0)
// Palette: google@1.0.0
// Fonts:   heading=google-sans@1.0.0, body=roboto@1.0.0, mono=jetbrainsmono-nerdfont@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 — First letter of the Google wordmark and the dominant brand blue. Material Design's "Blue 500" — the primary CTA color across many Google product surfaces.

    public static let googleBlue = Color(.sRGB, red: 0.2588, green: 0.5216, blue: 0.9569, opacity: 1.0000)
    /// Google Red — Second letter of the wordmark. Material's "Red 500" — used as the error / destructive color across Google product UI.

    public static let googleRed = Color(.sRGB, red: 0.9176, green: 0.2627, blue: 0.2078, opacity: 1.0000)
    /// Google Yellow — Third letter of the wordmark. Material's "Yellow 600" — used for highlight, warning, and starred / favorited states.

    public static let googleYellow = Color(.sRGB, red: 0.9843, green: 0.7373, blue: 0.0157, opacity: 1.0000)
    /// Google Green — Fifth letter of the wordmark. Material's "Green 500" — used as the success / confirmation color across Google product UI.

    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 backgrounds; Material's "Grey 900" near-black.
    public static let googleGrey900 = Color(.sRGB, red: 0.1255, green: 0.1294, blue: 0.1412, opacity: 1.0000)
    /// Google Grey 700 — Secondary text and inactive icons. Material's "Grey 700".
    public static let googleGrey700 = Color(.sRGB, red: 0.3725, green: 0.3882, blue: 0.4078, opacity: 1.0000)
    /// Google Grey 500 — Tertiary text and dividers. Material's "Grey 500".
    public static let googleGrey500 = Color(.sRGB, red: 0.6039, green: 0.6275, blue: 0.6510, opacity: 1.0000)
    /// Google Grey 200 — Subtle surface and divider tint. Material's "Grey 200".
    public static let googleGrey200 = Color(.sRGB, red: 0.9098, green: 0.9176, blue: 0.9294, opacity: 1.0000)
    /// Google Grey 100 — Page-level background; Material's "Grey 100".
    public static let googleGrey100 = Color(.sRGB, red: 0.9451, green: 0.9529, blue: 0.9569, opacity: 1.0000)
    /// Google White — Base background and reversed surface fill.
    public static let googleWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.googleWhite
    public static let surface = BrandSwatch.googleGrey100
    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.googleBlue
    public static let primaryHover = BrandSwatch.googleBlue
    public static let accent = BrandSwatch.googleGreen
    public static let accentHover = BrandSwatch.googleGreen
    public static let warning = BrandSwatch.googleYellow
    public static let warningHover = BrandSwatch.googleYellow
    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.googleGrey900
    public static let surface = BrandSwatch.googleGrey700
    public static let surfaceElevated = BrandSwatch.googleGrey500
    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.googleBlue
    public static let accent = BrandSwatch.googleGreen
    public static let accentHover = BrandSwatch.googleGreen
    public static let warning = BrandSwatch.googleYellow
    public static let warningHover = BrandSwatch.googleYellow
    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.googleBlue
    public static let onIdentity = BrandSwatch.googleWhite
    public static let primary = BrandSwatch.googleBlue
    public static let primaryHover = BrandSwatch.googleBlue
    public static let accent = BrandSwatch.googleGreen
    public static let background = BrandSwatch.googleWhite
    public static let surface = BrandSwatch.googleGrey100
    public static let textPrimary = BrandSwatch.googleGrey900
    public static let textSecondary = BrandSwatch.googleGrey700
    public static let wordmarkBlue = BrandSwatch.googleBlue
    public static let wordmarkRed = BrandSwatch.googleRed
    public static let wordmarkYellow = BrandSwatch.googleYellow
    public static let wordmarkGreen = BrandSwatch.googleGreen
}

/// 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"
    /// JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)
    public static let mono = "JetBrainsMono Nerd Font"
}
