//
// PayPal (paypal@1.0.0)
// Palette: paypal@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 {
    /// PayPal Blue — Primary deep navy-blue — the back-facing "P" of the monogram and the wordmark color.
    public static let paypalBlue = Color(.sRGB, red: 0.0000, green: 0.1882, blue: 0.5294, opacity: 1.0000)
    /// PayPal Cobalt — Bright cobalt — the front-facing "P" of the duotone monogram.
    public static let paypalCobalt = Color(.sRGB, red: 0.0000, green: 0.6118, blue: 0.8706, opacity: 1.0000)
    /// PayPal Blue Deep — Deeper navy used on hover/pressed states and emphasis text on the primary blue.
    public static let paypalBlueDeep = Color(.sRGB, red: 0.0000, green: 0.1098, blue: 0.3922, opacity: 1.0000)
    /// PayPal Gold — Signature gold — the "Pay with PayPal" merchant-button fill across the web.
    public static let paypalGold = Color(.sRGB, red: 1.0000, green: 0.7686, blue: 0.2235, opacity: 1.0000)
    /// PayPal Gold Hover — Authored darker gold for hover/pressed states on the gold merchant button.
    public static let paypalGoldHover = Color(.sRGB, red: 0.9490, green: 0.7333, blue: 0.1882, opacity: 1.0000)
    /// PayPal Ink — Near-black for body copy on light surfaces.
    public static let paypalInk = Color(.sRGB, red: 0.1725, green: 0.1804, blue: 0.1843, opacity: 1.0000)
    /// PayPal Graphite — Secondary text on light backgrounds.
    public static let paypalGraphite = Color(.sRGB, red: 0.3294, green: 0.3647, blue: 0.4078, opacity: 1.0000)
    /// PayPal Gray — Tertiary text and metadata.
    public static let paypalGray = Color(.sRGB, red: 0.6157, green: 0.6392, blue: 0.6510, opacity: 1.0000)
    /// PayPal White — Canonical light canvas.
    public static let paypalWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// PayPal Fog — Authored surface tone for cards and panels.
    public static let paypalFog = Color(.sRGB, red: 0.9608, green: 0.9686, blue: 0.9804, opacity: 1.0000)
    /// PayPal Divider — Authored hairline divider tone.
    public static let paypalDivider = Color(.sRGB, red: 0.7961, green: 0.8235, blue: 0.8392, opacity: 1.0000)
    /// PayPal Canvas Dark — Authored dark-mode canvas — PayPal is light-first; this is an authored inversion.
    public static let paypalCanvasDark = Color(.sRGB, red: 0.0588, green: 0.0784, blue: 0.0980, opacity: 1.0000)
    /// PayPal Surface Dark — Authored elevated surface on dark mode.
    public static let paypalSurfaceDark = Color(.sRGB, red: 0.1098, green: 0.1373, blue: 0.1686, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.paypalWhite
    public static let surface = BrandSwatch.paypalFog
    public static let surfaceElevated = BrandSwatch.paypalWhite
    public static let textPrimary = BrandSwatch.paypalInk
    public static let textSecondary = BrandSwatch.paypalGraphite
    public static let textTertiary = BrandSwatch.paypalGray
    public static let primary = BrandSwatch.paypalBlue
    public static let primaryHover = BrandSwatch.paypalBlueDeep
    public static let accent = BrandSwatch.paypalCobalt
    public static let accentHover = BrandSwatch.paypalBlue
    public static let warning = BrandSwatch.paypalGold
    public static let warningHover = BrandSwatch.paypalGoldHover
    public static let error = BrandSwatch.paypalBlueDeep
    public static let success = BrandSwatch.paypalCobalt
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.paypalCanvasDark
    public static let surface = BrandSwatch.paypalSurfaceDark
    public static let surfaceElevated = BrandSwatch.paypalSurfaceDark
    public static let textPrimary = BrandSwatch.paypalWhite
    public static let textSecondary = BrandSwatch.paypalGray
    public static let textTertiary = BrandSwatch.paypalGraphite
    public static let primary = BrandSwatch.paypalCobalt
    public static let primaryHover = BrandSwatch.paypalBlue
    public static let accent = BrandSwatch.paypalGold
    public static let accentHover = BrandSwatch.paypalGoldHover
    public static let warning = BrandSwatch.paypalGold
    public static let warningHover = BrandSwatch.paypalGoldHover
    public static let error = BrandSwatch.paypalBlue
    public static let success = BrandSwatch.paypalCobalt
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.paypalBlue
    public static let onIdentity = BrandSwatch.paypalWhite
    public static let primary = BrandSwatch.paypalBlue
    public static let primaryHover = BrandSwatch.paypalBlueDeep
    public static let accent = BrandSwatch.paypalCobalt
    public static let accentHover = BrandSwatch.paypalBlue
    public static let mark = BrandSwatch.paypalBlue
    public static let markSecondary = BrandSwatch.paypalCobalt
    public static let success = BrandSwatch.paypalCobalt
    public static let warning = BrandSwatch.paypalGold
    public static let error = BrandSwatch.paypalBlueDeep
    public static let textPrimaryLight = BrandSwatch.paypalInk
    public static let textPrimaryDark = BrandSwatch.paypalWhite
    public static let textSecondaryLight = BrandSwatch.paypalGraphite
    public static let backgroundLight = BrandSwatch.paypalWhite
    public static let backgroundDark = BrandSwatch.paypalCanvasDark
    public static let surfaceLight = BrandSwatch.paypalFog
    public static let surfaceDark = BrandSwatch.paypalSurfaceDark
    public static let divider = BrandSwatch.paypalDivider
}

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