//
// Amazon Web Services (aws@1.0.0)
// Palette: aws@1.0.0
// Fonts:   heading=amazon-ember@1.0.0, body=amazon-ember@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 {
    /// AWS Smile Orange — The signature AWS orange — the arrow-and-smile that identifies the AWS sub-brand and the principal CTA color across aws.amazon.com.

    public static let awsSmileOrange = Color(.sRGB, red: 1.0000, green: 0.6000, blue: 0.0000, opacity: 1.0000)
    /// AWS Rind — Deeper orange used on pressed/active states for the primary CTA and as the headline accent on dark canvases.

    public static let awsRind = Color(.sRGB, red: 0.9255, green: 0.4471, blue: 0.0667, opacity: 1.0000)
    /// AWS Squid Ink — The AWS Management Console chrome navy. The canonical dark-canvas color across AWS architecture diagrams and the Architecture Icons toolkit.

    public static let awsSquidInk = Color(.sRGB, red: 0.1373, green: 0.1843, blue: 0.2431, opacity: 1.0000)
    /// AWS Anchor — Darker navy used on console mega-navigation surfaces and the dark-mode page canvas.

    public static let awsAnchor = Color(.sRGB, red: 0.0863, green: 0.1176, blue: 0.1765, opacity: 1.0000)
    /// AWS Navy Light — Secondary navigation band — sits one tone lighter than Squid Ink for layered chrome on the console.

    public static let awsNavyLight = Color(.sRGB, red: 0.2157, green: 0.2784, blue: 0.3529, opacity: 1.0000)
    /// AWS Link — Console link / interactive blue. The AWS Cloudscape design system documents this hex as the link primary.

    public static let awsLink = Color(.sRGB, red: 0.0353, green: 0.4471, blue: 0.8275, opacity: 1.0000)
    /// AWS Link Hover — Pressed/hovered state for the AWS console link blue.

    public static let awsLinkHover = Color(.sRGB, red: 0.0118, green: 0.1922, blue: 0.3765, opacity: 1.0000)
    /// AWS Success — Cloudscape success green — used for confirmation states.
    public static let awsSuccess = Color(.sRGB, red: 0.0118, green: 0.4980, blue: 0.0471, opacity: 1.0000)
    /// AWS Error — Cloudscape error red — destructive and validation-failure states.
    public static let awsError = Color(.sRGB, red: 0.8196, green: 0.1961, blue: 0.0706, opacity: 1.0000)
    /// AWS Warning — Cloudscape warning amber — caution / pending states.
    public static let awsWarning = Color(.sRGB, red: 0.7176, green: 0.4549, blue: 0.0510, opacity: 1.0000)
    /// AWS Ink — Primary text on light surfaces — Cloudscape's neutral text.
    public static let awsInk = Color(.sRGB, red: 0.0863, green: 0.0980, blue: 0.1216, opacity: 1.0000)
    /// AWS Gray — Secondary text and metadata on light surfaces.
    public static let awsGray = Color(.sRGB, red: 0.3294, green: 0.3569, blue: 0.3922, opacity: 1.0000)
    /// AWS Gray Light — Tertiary text and disabled UI on light surfaces.
    public static let awsGrayLight = Color(.sRGB, red: 0.5294, green: 0.5843, blue: 0.5882, opacity: 1.0000)
    /// AWS Surface — Quiet surface — Cloudscape page-level background tint.
    public static let awsSurface = Color(.sRGB, red: 0.9490, green: 0.9529, blue: 0.9529, opacity: 1.0000)
    /// AWS White — Primary canvas on marketing surfaces and console cards.
    public static let awsWhite = 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.awsWhite
    public static let surface = BrandSwatch.awsSurface
    public static let surfaceElevated = BrandSwatch.awsWhite
    public static let textPrimary = BrandSwatch.awsInk
    public static let textSecondary = BrandSwatch.awsGray
    public static let textTertiary = BrandSwatch.awsGrayLight
    public static let primary = BrandSwatch.awsSmileOrange
    public static let primaryHover = BrandSwatch.awsRind
    public static let accent = BrandSwatch.awsLink
    public static let accentHover = BrandSwatch.awsLinkHover
    public static let warning = BrandSwatch.awsWarning
    public static let warningHover = BrandSwatch.awsRind
    public static let error = BrandSwatch.awsError
    public static let success = BrandSwatch.awsSuccess
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.awsAnchor
    public static let surface = BrandSwatch.awsSquidInk
    public static let surfaceElevated = BrandSwatch.awsNavyLight
    public static let textPrimary = BrandSwatch.awsWhite
    public static let textSecondary = BrandSwatch.awsSurface
    public static let textTertiary = BrandSwatch.awsGrayLight
    public static let primary = BrandSwatch.awsSmileOrange
    public static let primaryHover = BrandSwatch.awsRind
    public static let accent = BrandSwatch.awsLink
    public static let accentHover = BrandSwatch.awsLinkHover
    public static let warning = BrandSwatch.awsWarning
    public static let warningHover = BrandSwatch.awsRind
    public static let error = BrandSwatch.awsError
    public static let success = BrandSwatch.awsSuccess
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.awsSquidInk
    public static let onIdentity = BrandSwatch.awsSmileOrange
    public static let primary = BrandSwatch.awsSmileOrange
    public static let primaryHover = BrandSwatch.awsRind
    public static let accent = BrandSwatch.awsLink
    public static let accentHover = BrandSwatch.awsLinkHover
    public static let background = BrandSwatch.awsWhite
    public static let surface = BrandSwatch.awsSurface
    public static let surfaceElevated = BrandSwatch.awsWhite
    public static let textPrimary = BrandSwatch.awsInk
    public static let textSecondary = BrandSwatch.awsGray
    public static let textTertiary = BrandSwatch.awsGrayLight
    public static let chrome = BrandSwatch.awsSquidInk
    public static let chromeDeep = BrandSwatch.awsAnchor
    public static let chromeLight = BrandSwatch.awsNavyLight
    public static let markOrange = BrandSwatch.awsSmileOrange
    public static let markCanvas = BrandSwatch.awsSquidInk
}

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