//
// Snapchat (snapchat@1.0.0)
// Palette: snapchat@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 {
    /// Snapchat Yellow — Signature Snapchat near-fluorescent yellow — the brand's primary color, used as the ghost-mark canvas, the splash- screen background, and the primary CTA across the Snapchat app and snap.com marketing surfaces.

    public static let snapchatYellow = Color(.sRGB, red: 1.0000, green: 0.9882, blue: 0.0000, opacity: 1.0000)
    /// Snapchat Yellow Dark — Slightly deeper brand yellow — used as the pressed / active variant of the primary CTA on the brand-guidelines surface.

    public static let snapchatYellowDark = Color(.sRGB, red: 0.9882, green: 0.9412, blue: 0.0000, opacity: 1.0000)
    /// Snapchat Yellow Warm — Warm yellow — used in marketing illustration and secondary accents.
    public static let snapchatYellowWarm = Color(.sRGB, red: 1.0000, green: 0.8275, blue: 0.0039, opacity: 1.0000)
    /// Snapchat Yellow Pale — Pale yellow tint — used as a hover wash on yellow surfaces.
    public static let snapchatYellowPale = Color(.sRGB, red: 0.9961, green: 1.0000, blue: 0.5216, opacity: 1.0000)
    /// Snap Black — Pure black — used on the ghost-mark outline, the Snapchat wordmark, and as the primary text tone across the Snap Inc. brand surfaces.

    public static let snapchatBlack = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Snap White — Pure white — surface fill on light marketing surfaces.
    public static let snapchatWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Snap Blue — Snap secondary blue — used in product-family iconography (Snap Lens, Spectacles).
    public static let snapchatBlue = Color(.sRGB, red: 0.0000, green: 0.5882, blue: 0.8980, opacity: 1.0000)
    /// Snap Blue Light — Lighter Snap blue — used in marketing illustration.
    public static let snapchatBlueLight = Color(.sRGB, red: 0.0157, green: 0.6196, blue: 0.9333, opacity: 1.0000)
    /// Snap Blue Bright — Bright Snap blue — used on hover states of blue surfaces.
    public static let snapchatBlueBright = Color(.sRGB, red: 0.0549, green: 0.6784, blue: 1.0000, opacity: 1.0000)
    /// Snap Magenta — Snap secondary magenta — used in marketing illustration.
    public static let snapchatMagenta = Color(.sRGB, red: 0.5373, green: 0.2118, blue: 0.7137, opacity: 1.0000)
    /// Snap Magenta Light — Lighter Snap magenta accent.
    public static let snapchatMagentaLight = Color(.sRGB, red: 0.7569, green: 0.5843, blue: 0.8706, opacity: 1.0000)
    /// Snap Red — Snap secondary red — used on error / destructive affordances.
    public static let snapchatRed = Color(.sRGB, red: 0.8824, green: 0.0784, blue: 0.2392, opacity: 1.0000)
    /// Snap Red Deep — Deeper Snap red — pressed state on red affordances.
    public static let snapchatRedDeep = Color(.sRGB, red: 0.7725, green: 0.0392, blue: 0.2000, opacity: 1.0000)
    /// Snap Green — Snap secondary green — used on success affordances.
    public static let snapchatGreen = Color(.sRGB, red: 0.0000, green: 0.6314, blue: 0.4745, opacity: 1.0000)
    /// Snap Green Light — Lighter Snap green accent.
    public static let snapchatGreenLight = Color(.sRGB, red: 0.0000, green: 0.6588, blue: 0.5059, opacity: 1.0000)
    /// Snap Orange — Snap secondary orange — used in marketing illustration.
    public static let snapchatOrange = Color(.sRGB, red: 0.8980, green: 0.4471, blue: 0.0000, opacity: 1.0000)
    /// Snap Orange Bright — Brighter Snap orange — used on hover states.
    public static let snapchatOrangeBright = Color(.sRGB, red: 1.0000, green: 0.5412, blue: 0.0000, opacity: 1.0000)
    /// Snap Surface Light — Light-mode elevated surface on the brand-guidelines marketing site.
    public static let snapchatSurfaceLight = Color(.sRGB, red: 0.9451, green: 0.9451, blue: 0.9451, opacity: 1.0000)
    /// Snap Border Light — Quiet divider on the marketing-site surface.
    public static let snapchatBorderLight = Color(.sRGB, red: 0.8510, green: 0.8510, blue: 0.8510, opacity: 1.0000)
    /// Snap Text Secondary — Secondary text on light-mode surfaces.
    public static let snapchatTextSecondary = Color(.sRGB, red: 0.3490, green: 0.3490, blue: 0.3490, opacity: 1.0000)
    /// Snap Canvas Dark — Deep near-black — Snapchat's dark-mode chat/camera canvas tone, captured from the snap.com brand-guidelines dark stylesheet.

    public static let snapchatCanvasDark = Color(.sRGB, red: 0.1490, green: 0.1490, blue: 0.1490, opacity: 1.0000)
    /// Snap Surface Dark — Dark-mode elevated surface.
    public static let snapchatSurfaceDark = Color(.sRGB, red: 0.2510, green: 0.2510, blue: 0.2510, opacity: 1.0000)
    /// Snap Text on Dark — Primary text on the dark-mode canvas.
    public static let snapchatTextOnDark = 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.snapchatYellow
    public static let surface = BrandSwatch.snapchatWhite
    public static let surfaceElevated = BrandSwatch.snapchatYellowPale
    public static let textPrimary = BrandSwatch.snapchatBlack
    public static let textSecondary = BrandSwatch.snapchatTextSecondary
    public static let textTertiary = BrandSwatch.snapchatTextSecondary
    public static let primary = BrandSwatch.snapchatYellow
    public static let primaryHover = BrandSwatch.snapchatYellowDark
    public static let accent = BrandSwatch.snapchatYellow
    public static let accentHover = BrandSwatch.snapchatYellowDark
    public static let warning = BrandSwatch.snapchatOrange
    public static let warningHover = BrandSwatch.snapchatOrangeBright
    public static let error = BrandSwatch.snapchatRed
    public static let success = BrandSwatch.snapchatGreen
    public static let border = BrandSwatch.snapchatBorderLight
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.snapchatCanvasDark
    public static let surface = BrandSwatch.snapchatSurfaceDark
    public static let surfaceElevated = BrandSwatch.snapchatSurfaceDark
    public static let textPrimary = BrandSwatch.snapchatTextOnDark
    public static let textSecondary = BrandSwatch.snapchatBorderLight
    public static let textTertiary = BrandSwatch.snapchatTextSecondary
    public static let primary = BrandSwatch.snapchatYellow
    public static let primaryHover = BrandSwatch.snapchatYellowWarm
    public static let accent = BrandSwatch.snapchatYellow
    public static let accentHover = BrandSwatch.snapchatYellowWarm
    public static let warning = BrandSwatch.snapchatOrangeBright
    public static let warningHover = BrandSwatch.snapchatOrange
    public static let error = BrandSwatch.snapchatRed
    public static let success = BrandSwatch.snapchatGreenLight
    public static let border = BrandSwatch.snapchatSurfaceDark
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.snapchatYellow
    public static let onIdentity = BrandSwatch.snapchatBlack
    public static let background = BrandSwatch.snapchatYellow
    public static let surface = BrandSwatch.snapchatWhite
    public static let surfaceElevated = BrandSwatch.snapchatYellowPale
    public static let textPrimary = BrandSwatch.snapchatBlack
    public static let textSecondary = BrandSwatch.snapchatTextSecondary
    public static let primary = BrandSwatch.snapchatYellow
    public static let primaryHover = BrandSwatch.snapchatYellowDark
    public static let accent = BrandSwatch.snapchatYellow
    public static let accentHover = BrandSwatch.snapchatYellowDark
    public static let mark = BrandSwatch.snapchatYellow
    public static let success = BrandSwatch.snapchatGreen
    public static let warning = BrandSwatch.snapchatOrange
    public static let error = BrandSwatch.snapchatRed
}

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