//
// Gmail (gmail@1.0.0)
// Palette: gmail@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 {
    /// Gmail Red — Right downstroke of the Gmail "M" envelope. Google Red / Material Red 500 — the canonical Google four-color red.

    public static let gmailRed = Color(.sRGB, red: 0.9176, green: 0.2627, blue: 0.2078, opacity: 1.0000)
    /// Gmail Crimson — Deeper red used for the envelope interior fold in the 2020 Gmail icon. Provides depth between the outer Red and the inner envelope face.

    public static let gmailCrimson = Color(.sRGB, red: 0.7725, green: 0.1333, blue: 0.1216, opacity: 1.0000)
    /// Gmail Yellow — Right-of-center valley of the "M". Google Yellow / Material Yellow 600 — used for highlight and starred states inside the Gmail UI.

    public static let gmailYellow = Color(.sRGB, red: 0.9843, green: 0.7373, blue: 0.0157, opacity: 1.0000)
    /// Gmail Green — Left-of-center valley of the "M". Google Green / Material Green 500 — used as the canonical success / send-confirmed hue in Gmail product chrome.

    public static let gmailGreen = Color(.sRGB, red: 0.2039, green: 0.6588, blue: 0.3255, opacity: 1.0000)
    /// Gmail Blue — Left downstroke of the "M". Google Blue / Material Blue 500 — Gmail's primary action color (Compose button, link affordance).

    public static let gmailBlue = Color(.sRGB, red: 0.2588, green: 0.5216, blue: 0.9569, opacity: 1.0000)
    /// Gmail Grey 900 — Primary text on light surfaces; near-black drawn from Material Grey 900 to match the Google parent.

    public static let gmailGrey900 = Color(.sRGB, red: 0.1255, green: 0.1294, blue: 0.1412, opacity: 1.0000)
    /// Gmail Grey 700 — Secondary text and inactive icons (Material Grey 700).
    public static let gmailGrey700 = Color(.sRGB, red: 0.3725, green: 0.3882, blue: 0.4078, opacity: 1.0000)
    /// Gmail Grey 200 — Divider and subtle surface tint (Material Grey 200).
    public static let gmailGrey200 = Color(.sRGB, red: 0.9098, green: 0.9176, blue: 0.9294, opacity: 1.0000)
    /// Gmail Grey 100 — Page-level background — Gmail's product chrome uses this warm light-grey as the inbox canvas.

    public static let gmailGrey100 = Color(.sRGB, red: 0.9451, green: 0.9529, blue: 0.9569, opacity: 1.0000)
    /// Gmail White — Base background and reversed surface fill.
    public static let gmailWhite = 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.gmailWhite
    public static let surface = BrandSwatch.gmailGrey100
    public static let surfaceElevated = BrandSwatch.gmailWhite
    public static let textPrimary = BrandSwatch.gmailGrey900
    public static let textSecondary = BrandSwatch.gmailGrey700
    public static let primary = BrandSwatch.gmailBlue
    public static let primaryHover = BrandSwatch.gmailBlue
    public static let accent = BrandSwatch.gmailRed
    public static let accentHover = BrandSwatch.gmailCrimson
    public static let warning = BrandSwatch.gmailYellow
    public static let warningHover = BrandSwatch.gmailYellow
    public static let error = BrandSwatch.gmailRed
    public static let success = BrandSwatch.gmailGreen
    public static let border = BrandSwatch.gmailGrey200
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.gmailGrey900
    public static let surface = BrandSwatch.gmailGrey700
    public static let surfaceElevated = BrandSwatch.gmailGrey700
    public static let textPrimary = BrandSwatch.gmailWhite
    public static let textSecondary = BrandSwatch.gmailGrey200
    public static let primary = BrandSwatch.gmailBlue
    public static let primaryHover = BrandSwatch.gmailBlue
    public static let accent = BrandSwatch.gmailRed
    public static let accentHover = BrandSwatch.gmailCrimson
    public static let warning = BrandSwatch.gmailYellow
    public static let warningHover = BrandSwatch.gmailYellow
    public static let error = BrandSwatch.gmailRed
    public static let success = BrandSwatch.gmailGreen
    public static let border = BrandSwatch.gmailGrey700
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.gmailRed
    public static let onIdentity = BrandSwatch.gmailWhite
    public static let primary = BrandSwatch.gmailBlue
    public static let primaryHover = BrandSwatch.gmailBlue
    public static let accent = BrandSwatch.gmailRed
    public static let accentHover = BrandSwatch.gmailCrimson
    public static let markOuter = BrandSwatch.gmailRed
    public static let markInner = BrandSwatch.gmailCrimson
    public static let markBlue = BrandSwatch.gmailBlue
    public static let markGreen = BrandSwatch.gmailGreen
    public static let markYellow = BrandSwatch.gmailYellow
    public static let background = BrandSwatch.gmailWhite
    public static let surface = BrandSwatch.gmailGrey100
    public static let textPrimary = BrandSwatch.gmailGrey900
    public static let textSecondary = BrandSwatch.gmailGrey700
    public static let error = BrandSwatch.gmailRed
    public static let success = BrandSwatch.gmailGreen
    public static let warning = BrandSwatch.gmailYellow
}

/// 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"
}
