//
// Spotify (spotify@1.0.0)
// Palette: spotify@1.0.0
// Fonts:   heading=spotify-circular@1.0.0, body=spotify-circular@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 {
    /// Spotify Green — Current primary brand green — used on the wordmark, the play affordance, and primary CTAs.
    public static let spotifyGreen = Color(.sRGB, red: 0.1176, green: 0.8431, blue: 0.3765, opacity: 1.0000)
    /// Spotify Green (Legacy) — The legacy Spotify Green established with the brand. Still appears across press assets and older surfaces.
    public static let spotifyGreenLegacy = Color(.sRGB, red: 0.1137, green: 0.7255, blue: 0.3294, opacity: 1.0000)
    /// Spotify Green Pressed — Darker green for pressed/active states on the primary action.
    public static let spotifyGreenPressed = Color(.sRGB, red: 0.0863, green: 0.6118, blue: 0.2745, opacity: 1.0000)
    /// Spotify Black — Canonical canvas — the Spotify consumer surface is solid black.
    public static let spotifyBlack = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Spotify Dark — Elevated surface of the Spotify consumer app — the player chrome and main panel sit on this near-black.
    public static let spotifyDark = Color(.sRGB, red: 0.0706, green: 0.0706, blue: 0.0706, opacity: 1.0000)
    /// Spotify Elevated — Cards, hovered rows, and elevated tiles use this slightly lifted near-black.
    public static let spotifyElevated = Color(.sRGB, red: 0.0941, green: 0.0941, blue: 0.0941, opacity: 1.0000)
    /// Spotify Gray — Secondary text and divider color on the dark canvas.
    public static let spotifyGray = Color(.sRGB, red: 0.3255, green: 0.3255, blue: 0.3255, opacity: 1.0000)
    /// Spotify Gray Light — Tertiary text, captions, metadata in the player UI.
    public static let spotifyGrayLight = Color(.sRGB, red: 0.7020, green: 0.7020, blue: 0.7020, opacity: 1.0000)
    /// Spotify White — Primary text on the dark canvas; reversed wordmark fill on light marketing.
    public static let spotifyWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.spotifyWhite
    public static let surface = BrandSwatch.spotifyWhite
    public static let surfaceElevated = BrandSwatch.spotifyWhite
    public static let textPrimary = BrandSwatch.spotifyBlack
    public static let textSecondary = BrandSwatch.spotifyGray
    public static let textTertiary = BrandSwatch.spotifyGrayLight
    public static let primary = BrandSwatch.spotifyGreen
    public static let primaryHover = BrandSwatch.spotifyGreenPressed
    public static let accent = BrandSwatch.spotifyGreen
    public static let accentHover = BrandSwatch.spotifyGreenPressed
    public static let warning = BrandSwatch.spotifyGreenLegacy
    public static let warningHover = BrandSwatch.spotifyGreenPressed
    public static let error = BrandSwatch.spotifyGray
    public static let success = BrandSwatch.spotifyGreen
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.spotifyBlack
    public static let surface = BrandSwatch.spotifyDark
    public static let surfaceElevated = BrandSwatch.spotifyElevated
    public static let textPrimary = BrandSwatch.spotifyWhite
    public static let textSecondary = BrandSwatch.spotifyGrayLight
    public static let textTertiary = BrandSwatch.spotifyGray
    public static let primary = BrandSwatch.spotifyGreen
    public static let primaryHover = BrandSwatch.spotifyGreenPressed
    public static let accent = BrandSwatch.spotifyGreen
    public static let accentHover = BrandSwatch.spotifyGreenPressed
    public static let warning = BrandSwatch.spotifyGreenLegacy
    public static let warningHover = BrandSwatch.spotifyGreenPressed
    public static let error = BrandSwatch.spotifyGrayLight
    public static let success = BrandSwatch.spotifyGreen
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.spotifyBlack
    public static let onIdentity = BrandSwatch.spotifyGreen
    public static let background = BrandSwatch.spotifyBlack
    public static let surface = BrandSwatch.spotifyDark
    public static let surfaceElevated = BrandSwatch.spotifyElevated
    public static let textPrimary = BrandSwatch.spotifyWhite
    public static let textSecondary = BrandSwatch.spotifyGrayLight
    public static let textTertiary = BrandSwatch.spotifyGray
    public static let primary = BrandSwatch.spotifyGreen
    public static let primaryHover = BrandSwatch.spotifyGreenPressed
    public static let accent = BrandSwatch.spotifyGreen
    public static let accentHover = BrandSwatch.spotifyGreenPressed
    public static let mark = BrandSwatch.spotifyGreen
    public static let textEmphasis = BrandSwatch.spotifyWhite
    public static let textMuted = BrandSwatch.spotifyGrayLight
}

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