//
// Discord (discord@1.0.0)
// Palette: discord@1.0.0
// Fonts:   heading=whitney@1.0.0, body=whitney@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 {
    /// Discord Blurple — Signature indigo-purple — the primary brand color introduced with the 2021 brand refresh. The Discord wordmark, the Wumpus mark, primary buttons, and the mention-highlight all read in Blurple.

    public static let discordBlurple = Color(.sRGB, red: 0.3451, green: 0.3961, blue: 0.9490, opacity: 1.0000)
    /// Discord Blurple Dark — Darker Blurple for hover, pressed, and active states on the primary CTA.
    public static let discordBlurpleDark = Color(.sRGB, red: 0.2784, green: 0.3216, blue: 0.7686, opacity: 1.0000)
    /// Discord Old Blurple — The pre-2021 Blurple — retained as a deprecated reference for historical applications, not part of the current brand surface.

    public static let discordOldBlurple = Color(.sRGB, red: 0.4471, green: 0.5373, blue: 0.8549, opacity: 1.0000)
    /// Discord Greyple — Neutral grey-blue from Discord's brand palette — used in marketing illustration and as a secondary text tone.
    public static let discordGreyple = Color(.sRGB, red: 0.6000, green: 0.6667, blue: 0.7098, opacity: 1.0000)
    /// Discord Dark But Not Black — "Dark But Not Black" — Discord's published dark surface tone, used historically as the client's main canvas before the 2022 refresh.

    public static let discordDarkNotBlack = Color(.sRGB, red: 0.1725, green: 0.1843, blue: 0.2000, opacity: 1.0000)
    /// Discord Not Quite Black — "Not Quite Black" — Discord's published deepest dark tone, used historically as the client's sidebar canvas.

    public static let discordNotQuiteBlack = Color(.sRGB, red: 0.1373, green: 0.1529, blue: 0.1647, opacity: 1.0000)
    /// Discord White — White — the primary text and mark fill on the dark canvas.
    public static let discordWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Discord Canvas Dark — Modern Discord client primary canvas — the main chat surface since the 2022 client visual refresh.

    public static let discordCanvasDark = Color(.sRGB, red: 0.1922, green: 0.2000, blue: 0.2196, opacity: 1.0000)
    /// Discord Canvas Darker — Modern Discord secondary surface — the channel list / sidebar.
    public static let discordCanvasDarker = Color(.sRGB, red: 0.1686, green: 0.1765, blue: 0.1922, opacity: 1.0000)
    /// Discord Canvas Darkest — Modern Discord deepest surface — the server list rail.
    public static let discordCanvasDarkest = Color(.sRGB, red: 0.1176, green: 0.1216, blue: 0.1333, opacity: 1.0000)
    /// Discord Text on Dark — Primary text color on the dark canvas.
    public static let discordTextOnDark = Color(.sRGB, red: 0.9490, green: 0.9529, blue: 0.9608, opacity: 1.0000)
    /// Discord Text Secondary on Dark — Secondary text on the dark canvas.
    public static let discordTextSecondaryDark = Color(.sRGB, red: 0.7098, green: 0.7294, blue: 0.7569, opacity: 1.0000)
    /// Discord Text Tertiary on Dark — Tertiary / muted text on the dark canvas.
    public static let discordTextTertiaryDark = Color(.sRGB, red: 0.5020, green: 0.5176, blue: 0.5569, opacity: 1.0000)
    /// Discord Green — Authored success / online-status accent.
    public static let discordGreen = Color(.sRGB, red: 0.1373, green: 0.6471, blue: 0.3529, opacity: 1.0000)
    /// Discord Yellow — Authored idle-status / warning accent.
    public static let discordYellow = Color(.sRGB, red: 0.9412, green: 0.6980, blue: 0.1961, opacity: 1.0000)
    /// Discord Red — Authored Do-Not-Disturb / error accent.
    public static let discordRed = Color(.sRGB, red: 0.9490, green: 0.2471, blue: 0.2627, opacity: 1.0000)
    /// Discord Fuchsia — Authored secondary accent — used on Boost and Nitro affordances.
    public static let discordFuchsia = Color(.sRGB, red: 0.9216, green: 0.2706, blue: 0.6196, opacity: 1.0000)
    /// Discord Light Canvas — Authored light-mode canvas for Discord's user-selectable light theme.
    public static let discordLightCanvas = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Discord Light Surface — Authored elevated surface on light mode.
    public static let discordLightSurface = Color(.sRGB, red: 0.9490, green: 0.9529, blue: 0.9608, opacity: 1.0000)
    /// Discord Light Surface Elevated — Authored deepest-elevated surface on light mode.
    public static let discordLightSurfaceElevated = Color(.sRGB, red: 0.9216, green: 0.9294, blue: 0.9373, opacity: 1.0000)
    /// Discord Text on Light — Primary text on light canvas.
    public static let discordTextOnLight = Color(.sRGB, red: 0.0235, green: 0.0235, blue: 0.0275, opacity: 1.0000)
    /// Discord Text Secondary on Light — Authored secondary text on light canvas.
    public static let discordTextSecondaryLight = Color(.sRGB, red: 0.3059, green: 0.3137, blue: 0.3451, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.discordLightCanvas
    public static let surface = BrandSwatch.discordLightSurface
    public static let surfaceElevated = BrandSwatch.discordLightSurfaceElevated
    public static let textPrimary = BrandSwatch.discordTextOnLight
    public static let textSecondary = BrandSwatch.discordTextSecondaryLight
    public static let textTertiary = BrandSwatch.discordGreyple
    public static let primary = BrandSwatch.discordBlurple
    public static let primaryHover = BrandSwatch.discordBlurpleDark
    public static let accent = BrandSwatch.discordBlurple
    public static let accentHover = BrandSwatch.discordBlurpleDark
    public static let warning = BrandSwatch.discordYellow
    public static let warningHover = BrandSwatch.discordYellow
    public static let error = BrandSwatch.discordRed
    public static let success = BrandSwatch.discordGreen
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.discordCanvasDark
    public static let surface = BrandSwatch.discordCanvasDarker
    public static let surfaceElevated = BrandSwatch.discordCanvasDarkest
    public static let textPrimary = BrandSwatch.discordTextOnDark
    public static let textSecondary = BrandSwatch.discordTextSecondaryDark
    public static let textTertiary = BrandSwatch.discordTextTertiaryDark
    public static let primary = BrandSwatch.discordBlurple
    public static let primaryHover = BrandSwatch.discordBlurpleDark
    public static let accent = BrandSwatch.discordBlurple
    public static let accentHover = BrandSwatch.discordBlurpleDark
    public static let warning = BrandSwatch.discordYellow
    public static let warningHover = BrandSwatch.discordYellow
    public static let error = BrandSwatch.discordRed
    public static let success = BrandSwatch.discordGreen
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.discordCanvasDark
    public static let onIdentity = BrandSwatch.discordTextOnDark
    public static let background = BrandSwatch.discordCanvasDark
    public static let surface = BrandSwatch.discordCanvasDarker
    public static let surfaceElevated = BrandSwatch.discordCanvasDarkest
    public static let textPrimary = BrandSwatch.discordTextOnDark
    public static let textSecondary = BrandSwatch.discordTextSecondaryDark
    public static let textTertiary = BrandSwatch.discordTextTertiaryDark
    public static let primary = BrandSwatch.discordBlurple
    public static let primaryHover = BrandSwatch.discordBlurpleDark
    public static let accent = BrandSwatch.discordBlurple
    public static let accentHover = BrandSwatch.discordBlurpleDark
    public static let mark = BrandSwatch.discordBlurple
    public static let success = BrandSwatch.discordGreen
    public static let warning = BrandSwatch.discordYellow
    public static let error = BrandSwatch.discordRed
    public static let boost = BrandSwatch.discordFuchsia
}

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