//
// HEY (hey@1.0.0)
// Palette: hey@1.0.0
// Fonts:   heading=helvetica-neue@1.0.0, body=helvetica-neue@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 {
    /// HEY Yellow — The defining HEY accent — a pure CSS-yellow used as a highlight throughout the product (think text-marker / "Screener" highlight bar). Loud by design.

    public static let heyYellow = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 0.0000, opacity: 1.0000)
    /// HEY Blue — The action blue captured from hey.com — used for links, primary buttons, and active-state affordance.

    public static let heyBlue = Color(.sRGB, red: 0.0000, green: 0.5333, blue: 0.8000, opacity: 1.0000)
    /// HEY Blue Hover — Slightly brighter hover variant.
    public static let heyBlueHover = Color(.sRGB, red: 0.1020, green: 0.5412, blue: 0.8353, opacity: 1.0000)
    /// HEY Blue Active — Pressed / active blue.
    public static let heyBlueActive = Color(.sRGB, red: 0.0902, green: 0.4196, blue: 0.6784, opacity: 1.0000)
    /// HEY White — Page canvas — pure white, no warm tint.
    public static let heyWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// HEY Near White — Subtle elevated surface.
    public static let heyNearWhite = Color(.sRGB, red: 0.9882, green: 0.9882, blue: 0.9882, opacity: 1.0000)
    /// HEY Grey 100 — Hairline panel background.
    public static let heyGrey100 = Color(.sRGB, red: 0.9608, green: 0.9608, blue: 0.9608, opacity: 1.0000)
    /// HEY Grey 300 — Border and divider on light surfaces.
    public static let heyGrey300 = Color(.sRGB, red: 0.8667, green: 0.8667, blue: 0.8667, opacity: 1.0000)
    /// HEY Grey 500 — Tertiary text / inactive icon.
    public static let heyGrey500 = Color(.sRGB, red: 0.5333, green: 0.5333, blue: 0.5333, opacity: 1.0000)
    /// HEY Grey 700 — Secondary text.
    public static let heyGrey700 = Color(.sRGB, red: 0.3333, green: 0.3333, blue: 0.3333, opacity: 1.0000)
    /// HEY Text — Body text on white canvas.
    public static let heyText = Color(.sRGB, red: 0.2000, green: 0.2000, blue: 0.2000, opacity: 1.0000)
    /// HEY Heading — Heading and emphasis text on white.
    public static let heyHeading = Color(.sRGB, red: 0.1333, green: 0.1333, blue: 0.1333, opacity: 1.0000)
    /// HEY Near Black — Deepest ink for high-contrast type and dark-mode canvas.
    public static let heyNearBlack = Color(.sRGB, red: 0.1176, green: 0.1176, blue: 0.1176, opacity: 1.0000)
    /// HEY Success — Confirmation green — Bootstrap success-text heritage.
    public static let heySuccess = Color(.sRGB, red: 0.2353, green: 0.4627, blue: 0.2392, opacity: 1.0000)
    /// HEY Success Background — Success-state surface tint.
    public static let heySuccessBg = Color(.sRGB, red: 0.8745, green: 0.9412, blue: 0.8471, opacity: 1.0000)
    /// HEY Error — Error red — Bootstrap danger-text heritage.
    public static let heyError = Color(.sRGB, red: 0.6627, green: 0.2667, blue: 0.2588, opacity: 1.0000)
    /// HEY Error Background — Error-state surface tint.
    public static let heyErrorBg = Color(.sRGB, red: 0.9490, green: 0.8706, blue: 0.8706, opacity: 1.0000)
    /// HEY Warning — Warning amber.
    public static let heyWarning = Color(.sRGB, red: 0.5412, green: 0.4275, blue: 0.2314, opacity: 1.0000)
    /// HEY Warning Background — Warning-state surface tint.
    public static let heyWarningBg = Color(.sRGB, red: 0.9882, green: 0.9725, blue: 0.8902, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.heyWhite
    public static let surface = BrandSwatch.heyGrey100
    public static let surfaceElevated = BrandSwatch.heyNearWhite
    public static let textPrimary = BrandSwatch.heyText
    public static let textSecondary = BrandSwatch.heyGrey700
    public static let textTertiary = BrandSwatch.heyGrey500
    public static let primary = BrandSwatch.heyBlue
    public static let primaryHover = BrandSwatch.heyBlueHover
    public static let accent = BrandSwatch.heyYellow
    public static let accentHover = BrandSwatch.heyYellow
    public static let warning = BrandSwatch.heyWarning
    public static let warningHover = BrandSwatch.heyWarning
    public static let error = BrandSwatch.heyError
    public static let success = BrandSwatch.heySuccess
    public static let border = BrandSwatch.heyGrey300
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.heyNearBlack
    public static let surface = BrandSwatch.heyGrey700
    public static let surfaceElevated = BrandSwatch.heyGrey500
    public static let textPrimary = BrandSwatch.heyWhite
    public static let textSecondary = BrandSwatch.heyGrey300
    public static let textTertiary = BrandSwatch.heyGrey500
    public static let primary = BrandSwatch.heyBlueHover
    public static let primaryHover = BrandSwatch.heyBlue
    public static let accent = BrandSwatch.heyYellow
    public static let accentHover = BrandSwatch.heyYellow
    public static let warning = BrandSwatch.heyWarning
    public static let warningHover = BrandSwatch.heyWarning
    public static let error = BrandSwatch.heyError
    public static let success = BrandSwatch.heySuccess
    public static let border = BrandSwatch.heyGrey700
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.heyWhite
    public static let onIdentity = BrandSwatch.heyHeading
    public static let primary = BrandSwatch.heyBlue
    public static let primaryHover = BrandSwatch.heyBlueHover
    public static let accent = BrandSwatch.heyYellow
    public static let accentHover = BrandSwatch.heyYellow
    public static let mark = BrandSwatch.heyHeading
    public static let highlight = BrandSwatch.heyYellow
    public static let success = BrandSwatch.heySuccess
    public static let warning = BrandSwatch.heyWarning
    public static let error = BrandSwatch.heyError
    public static let background = BrandSwatch.heyWhite
    public static let surface = BrandSwatch.heyGrey100
    public static let textPrimary = BrandSwatch.heyText
    public static let textSecondary = BrandSwatch.heyGrey700
}

/// Typography family names by brand role.
public enum BrandFont {
    /// Helvetica Neue (helvetica-neue@1.0.0)
    public static let heading = "Helvetica Neue"
    /// Helvetica Neue (helvetica-neue@1.0.0)
    public static let body = "Helvetica Neue"
    /// JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)
    public static let mono = "JetBrainsMono Nerd Font"
}
