//
// Datadog (datadog@1.0.0)
// Palette: datadog@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 {
    /// Datadog Purple — The Datadog signature purple — the fill of the dog-paw mark and the principal accent across datadoghq.com.

    public static let datadogPurple = Color(.sRGB, red: 0.3882, green: 0.1725, blue: 0.6510, opacity: 1.0000)
    /// Datadog Purple Dark — Pressed/active state for the primary CTA.
    public static let datadogPurpleDark = Color(.sRGB, red: 0.2941, green: 0.1216, blue: 0.5020, opacity: 1.0000)
    /// Datadog Purple Light — Soft accent used on dark-canvas surfaces.
    public static let datadogPurpleLight = Color(.sRGB, red: 0.5569, green: 0.3647, blue: 0.7882, opacity: 1.0000)
    /// Datadog Yellow — Datadog secondary accent — used on the dog-paw mark detail and in marketing illustrations.

    public static let datadogYellow = Color(.sRGB, red: 0.9725, green: 0.7059, blue: 0.0000, opacity: 1.0000)
    /// Datadog Canvas — Datadog application canvas — the near-black chrome of the Datadog dashboard and the dark-mode marketing hero.

    public static let datadogCanvas = Color(.sRGB, red: 0.1059, green: 0.1216, blue: 0.1373, opacity: 1.0000)
    /// Datadog Canvas Deep — Darkest canvas used as the page-level dark background.
    public static let datadogCanvasDeep = Color(.sRGB, red: 0.0549, green: 0.0667, blue: 0.0784, opacity: 1.0000)
    /// Datadog Ink — Primary text on light surfaces.
    public static let datadogInk = Color(.sRGB, red: 0.1059, green: 0.1529, blue: 0.1882, opacity: 1.0000)
    /// Datadog Gray — Secondary text and metadata.
    public static let datadogGray = Color(.sRGB, red: 0.3686, green: 0.4157, blue: 0.4588, opacity: 1.0000)
    /// Datadog Gray Light — Tertiary text and disabled UI.
    public static let datadogGrayLight = Color(.sRGB, red: 0.5373, green: 0.5843, blue: 0.6314, opacity: 1.0000)
    /// Datadog Surface — Quiet surface — card backgrounds on the marketing site.
    public static let datadogSurface = Color(.sRGB, red: 0.9529, green: 0.9569, blue: 0.9647, opacity: 1.0000)
    /// Datadog Border — Hairline borders and dividers.
    public static let datadogBorder = Color(.sRGB, red: 0.8627, green: 0.8745, blue: 0.8902, opacity: 1.0000)
    /// Datadog White — Primary canvas on light surfaces.
    public static let datadogWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Datadog Success — Healthy / passing-monitor state.
    public static let datadogSuccess = Color(.sRGB, red: 0.2471, green: 0.6824, blue: 0.1647, opacity: 1.0000)
    /// Datadog Warning — Warning / degraded-state monitor.
    public static let datadogWarning = Color(.sRGB, red: 1.0000, green: 0.7059, blue: 0.0000, opacity: 1.0000)
    /// Datadog Error — Critical / alerting-monitor state.
    public static let datadogError = Color(.sRGB, red: 0.8392, green: 0.2314, blue: 0.2314, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.datadogWhite
    public static let surface = BrandSwatch.datadogSurface
    public static let surfaceElevated = BrandSwatch.datadogWhite
    public static let textPrimary = BrandSwatch.datadogInk
    public static let textSecondary = BrandSwatch.datadogGray
    public static let textTertiary = BrandSwatch.datadogGrayLight
    public static let primary = BrandSwatch.datadogPurple
    public static let primaryHover = BrandSwatch.datadogPurpleDark
    public static let accent = BrandSwatch.datadogYellow
    public static let accentHover = BrandSwatch.datadogPurpleLight
    public static let warning = BrandSwatch.datadogWarning
    public static let warningHover = BrandSwatch.datadogError
    public static let error = BrandSwatch.datadogError
    public static let success = BrandSwatch.datadogSuccess
    public static let border = BrandSwatch.datadogBorder
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.datadogCanvasDeep
    public static let surface = BrandSwatch.datadogCanvas
    public static let surfaceElevated = BrandSwatch.datadogPurpleDark
    public static let textPrimary = BrandSwatch.datadogWhite
    public static let textSecondary = BrandSwatch.datadogSurface
    public static let textTertiary = BrandSwatch.datadogGrayLight
    public static let primary = BrandSwatch.datadogPurpleLight
    public static let primaryHover = BrandSwatch.datadogPurple
    public static let accent = BrandSwatch.datadogYellow
    public static let accentHover = BrandSwatch.datadogPurpleLight
    public static let warning = BrandSwatch.datadogWarning
    public static let warningHover = BrandSwatch.datadogError
    public static let error = BrandSwatch.datadogError
    public static let success = BrandSwatch.datadogSuccess
    public static let border = BrandSwatch.datadogCanvas
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.datadogPurple
    public static let onIdentity = BrandSwatch.datadogWhite
    public static let primary = BrandSwatch.datadogPurple
    public static let primaryHover = BrandSwatch.datadogPurpleDark
    public static let accent = BrandSwatch.datadogYellow
    public static let accentHover = BrandSwatch.datadogPurpleLight
    public static let background = BrandSwatch.datadogWhite
    public static let surface = BrandSwatch.datadogSurface
    public static let surfaceElevated = BrandSwatch.datadogWhite
    public static let textPrimary = BrandSwatch.datadogInk
    public static let textSecondary = BrandSwatch.datadogGray
    public static let textTertiary = BrandSwatch.datadogGrayLight
    public static let chrome = BrandSwatch.datadogCanvas
    public static let chromeDeep = BrandSwatch.datadogCanvasDeep
    public static let mark = BrandSwatch.datadogPurple
}

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