//
// The Linux Foundation (linux-foundation@1.0.0)
// Palette: linux-foundation@1.0.0
// Fonts:   heading=inter@1.0.0, body=inter@1.0.0, mono=source-code-pro@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 {
    /// LF Dark Blue — Primary brand color — the dark blue of the Linux Foundation wordmark. Resolved from the .st0 class in the official LF stacked-color SVG.

    public static let lfDarkBlue = Color(.sRGB, red: 0.0000, green: 0.2157, blue: 0.4706, opacity: 1.0000)
    /// LF Darker Blue — Deeper navy used as the shadow / depth accent in the stacked-color logo. Resolved from the .st1 class.

    public static let lfDarkerBlue = Color(.sRGB, red: 0.0000, green: 0.2157, blue: 0.3922, opacity: 1.0000)
    /// LF Bright Blue — The bright cyan-blue accent used for the linking arc and hover highlights. Resolved from the .st2 class.

    public static let lfBrightBlue = Color(.sRGB, red: 0.0000, green: 0.5804, blue: 1.0000, opacity: 1.0000)
    /// LF Blue Hover — Mid-blue pressed / active variant between LF Dark Blue and LF Bright Blue.

    public static let lfBlueHover = Color(.sRGB, red: 0.0000, green: 0.3725, blue: 0.7216, opacity: 1.0000)
    /// LF Black — Dark-mode page canvas; deep navy near-black.
    public static let lfBlack = Color(.sRGB, red: 0.0431, green: 0.0745, blue: 0.1255, opacity: 1.0000)
    /// LF Charcoal — Elevated dark surface for cards and panels.
    public static let lfCharcoal = Color(.sRGB, red: 0.1020, green: 0.1412, blue: 0.2039, opacity: 1.0000)
    /// LF Gray — Mid neutral for body text and quiet UI.
    public static let lfGray = Color(.sRGB, red: 0.3647, green: 0.3961, blue: 0.4510, opacity: 1.0000)
    /// LF Light Gray — Hairline borders on light canvas.
    public static let lfLightGray = Color(.sRGB, red: 0.8392, green: 0.8549, blue: 0.8784, opacity: 1.0000)
    /// LF Off-White — Subtle layered surface on light canvas.
    public static let lfOffWhite = Color(.sRGB, red: 0.9569, green: 0.9608, blue: 0.9686, opacity: 1.0000)
    /// LF White — Page canvas in light mode.
    public static let lfWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// LF Warning Amber — Status warning color for advisories.
    public static let lfWarning = Color(.sRGB, red: 0.8784, green: 0.6314, blue: 0.0000, opacity: 1.0000)
    /// LF Error Red — Status error color.
    public static let lfError = Color(.sRGB, red: 0.7529, green: 0.1882, blue: 0.1882, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.lfWhite
    public static let surface = BrandSwatch.lfOffWhite
    public static let surfaceElevated = BrandSwatch.lfWhite
    public static let textPrimary = BrandSwatch.lfDarkBlue
    public static let textSecondary = BrandSwatch.lfGray
    public static let textTertiary = BrandSwatch.lfBlueHover
    public static let primary = BrandSwatch.lfDarkBlue
    public static let primaryHover = BrandSwatch.lfDarkerBlue
    public static let accent = BrandSwatch.lfBrightBlue
    public static let accentHover = BrandSwatch.lfBlueHover
    public static let warning = BrandSwatch.lfWarning
    public static let warningHover = BrandSwatch.lfBrightBlue
    public static let error = BrandSwatch.lfError
    public static let success = BrandSwatch.lfBrightBlue
    public static let border = BrandSwatch.lfLightGray
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.lfBlack
    public static let surface = BrandSwatch.lfCharcoal
    public static let surfaceElevated = BrandSwatch.lfCharcoal
    public static let textPrimary = BrandSwatch.lfWhite
    public static let textSecondary = BrandSwatch.lfLightGray
    public static let textTertiary = BrandSwatch.lfBrightBlue
    public static let primary = BrandSwatch.lfBrightBlue
    public static let primaryHover = BrandSwatch.lfBlueHover
    public static let accent = BrandSwatch.lfBrightBlue
    public static let accentHover = BrandSwatch.lfBlueHover
    public static let warning = BrandSwatch.lfWarning
    public static let warningHover = BrandSwatch.lfBrightBlue
    public static let error = BrandSwatch.lfError
    public static let success = BrandSwatch.lfBrightBlue
    public static let border = BrandSwatch.lfGray
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.lfDarkBlue
    public static let onIdentity = BrandSwatch.lfWhite
    public static let primary = BrandSwatch.lfDarkBlue
    public static let primaryHover = BrandSwatch.lfDarkerBlue
    public static let accent = BrandSwatch.lfBrightBlue
    public static let accentHover = BrandSwatch.lfBlueHover
    public static let mark = BrandSwatch.lfDarkBlue
    public static let background = BrandSwatch.lfWhite
    public static let surface = BrandSwatch.lfOffWhite
    public static let textPrimary = BrandSwatch.lfDarkBlue
    public static let textSecondary = BrandSwatch.lfGray
    public static let warning = BrandSwatch.lfWarning
    public static let error = BrandSwatch.lfError
    public static let success = BrandSwatch.lfBrightBlue
    public static let border = BrandSwatch.lfLightGray
}

/// Typography family names by brand role.
public enum BrandFont {
    /// Inter (inter@1.0.0)
    public static let heading = "Inter"
    /// Inter (inter@1.0.0)
    public static let body = "Inter"
    /// Source Code Pro (source-code-pro@1.0.0)
    public static let mono = "Source Code Pro"
}
