//
// DoorDash (doordash@1.0.0)
// Palette: doordash@1.0.0
// Fonts:   heading=inter@1.0.0, body=inter@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 {
    /// DoorDash Red — DoorDash's signature brand red — the wordmark, mark, and primary CTA color.
    public static let doordashRed = Color(.sRGB, red: 1.0000, green: 0.1882, blue: 0.2196, opacity: 1.0000)
    /// DoorDash Red Pressed — Pressed / hover variant of DoorDash Red for interactive states.
    public static let doordashRedPressed = Color(.sRGB, red: 0.8510, green: 0.1412, blue: 0.1686, opacity: 1.0000)
    /// DoorDash Ink — Primary text color on light surfaces; canvas color in dark mode.
    public static let doordashInk = Color(.sRGB, red: 0.0980, green: 0.0980, blue: 0.0980, opacity: 1.0000)
    /// DoorDash Charcoal — Elevated dark surface; secondary text on light.
    public static let doordashCharcoal = Color(.sRGB, red: 0.1765, green: 0.1765, blue: 0.1765, opacity: 1.0000)
    /// DoorDash Graphite — Tertiary text and icon color.
    public static let doordashGraphite = Color(.sRGB, red: 0.4627, green: 0.4627, blue: 0.4627, opacity: 1.0000)
    /// DoorDash Mist — Border and quiet divider on light canvas.
    public static let doordashMist = Color(.sRGB, red: 0.8902, green: 0.8902, blue: 0.8902, opacity: 1.0000)
    /// DoorDash Fog — Subtle elevated surface on white.
    public static let doordashFog = Color(.sRGB, red: 0.9608, green: 0.9608, blue: 0.9608, opacity: 1.0000)
    /// DoorDash White — Primary canvas — DoorDash consumer surfaces default to white.
    public static let doordashWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// DoorDash Success — Functional success — order confirmation, delivery completion.
    public static let doordashSuccess = Color(.sRGB, red: 0.1176, green: 0.5294, blue: 0.2941, opacity: 1.0000)
    /// DoorDash Warning — Functional warning — delay advisories, low stock.
    public static let doordashWarning = Color(.sRGB, red: 0.8980, green: 0.5412, blue: 0.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.doordashWhite
    public static let surface = BrandSwatch.doordashFog
    public static let surfaceElevated = BrandSwatch.doordashWhite
    public static let textPrimary = BrandSwatch.doordashInk
    public static let textSecondary = BrandSwatch.doordashCharcoal
    public static let textTertiary = BrandSwatch.doordashGraphite
    public static let primary = BrandSwatch.doordashRed
    public static let primaryHover = BrandSwatch.doordashRedPressed
    public static let accent = BrandSwatch.doordashRed
    public static let accentHover = BrandSwatch.doordashRedPressed
    public static let success = BrandSwatch.doordashSuccess
    public static let warning = BrandSwatch.doordashWarning
    public static let error = BrandSwatch.doordashRedPressed
    public static let border = BrandSwatch.doordashMist
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.doordashInk
    public static let surface = BrandSwatch.doordashCharcoal
    public static let surfaceElevated = BrandSwatch.doordashGraphite
    public static let textPrimary = BrandSwatch.doordashWhite
    public static let textSecondary = BrandSwatch.doordashMist
    public static let textTertiary = BrandSwatch.doordashGraphite
    public static let primary = BrandSwatch.doordashRed
    public static let primaryHover = BrandSwatch.doordashRedPressed
    public static let accent = BrandSwatch.doordashRed
    public static let accentHover = BrandSwatch.doordashRedPressed
    public static let success = BrandSwatch.doordashSuccess
    public static let warning = BrandSwatch.doordashWarning
    public static let error = BrandSwatch.doordashRedPressed
    public static let border = BrandSwatch.doordashCharcoal
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.doordashRed
    public static let onIdentity = BrandSwatch.doordashWhite
    public static let primary = BrandSwatch.doordashRed
    public static let primaryHover = BrandSwatch.doordashRedPressed
    public static let accent = BrandSwatch.doordashRed
    public static let accentHover = BrandSwatch.doordashRedPressed
    public static let mark = BrandSwatch.doordashRed
    public static let success = BrandSwatch.doordashSuccess
    public static let warning = BrandSwatch.doordashWarning
    public static let error = BrandSwatch.doordashRedPressed
    public static let backgroundLight = BrandSwatch.doordashWhite
    public static let backgroundDark = BrandSwatch.doordashInk
    public static let surfaceLight = BrandSwatch.doordashFog
    public static let surfaceDark = BrandSwatch.doordashCharcoal
    public static let textPrimaryLight = BrandSwatch.doordashInk
    public static let textPrimaryDark = BrandSwatch.doordashWhite
    public static let textSecondaryLight = BrandSwatch.doordashCharcoal
    public static let textTertiaryLight = BrandSwatch.doordashGraphite
    public static let borderLight = BrandSwatch.doordashMist
}

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