//
// Shopify (shopify@1.0.0)
// Palette: shopify@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 {
    /// Shopify Green — Current corporate primary green — the modernized Shopify brand color on shopify.com primary CTAs and marketing.
    public static let shopifyGreen = Color(.sRGB, red: 0.0000, green: 0.5020, blue: 0.3765, opacity: 1.0000)
    /// Shopify Green (Heritage) — Heritage Shopify leaf-green — the original shopping-bag mark fill color, retained on the public mark.
    public static let shopifyGreenHeritage = Color(.sRGB, red: 0.5843, green: 0.7490, blue: 0.2784, opacity: 1.0000)
    /// Shopify Green (Wordmark) — Mid-green historically used on the Shopify wordmark text in the dual-tone heritage logo.
    public static let shopifyGreenWordmark = Color(.sRGB, red: 0.4784, green: 0.7098, blue: 0.3608, opacity: 1.0000)
    /// Shopify Green Deep — Deep green used for hover/pressed states on the primary corporate green and for emphasis on text.
    public static let shopifyGreenDeep = Color(.sRGB, red: 0.0000, green: 0.2980, blue: 0.2471, opacity: 1.0000)
    /// Shopify Ink — Near-black used for body copy and the wordmark on light surfaces.
    public static let shopifyInk = Color(.sRGB, red: 0.1020, green: 0.1020, blue: 0.1020, opacity: 1.0000)
    /// Shopify Graphite — Authored elevated surface on the dark mode; matches Polaris gray-15.
    public static let shopifyGraphite = Color(.sRGB, red: 0.1882, green: 0.1882, blue: 0.1882, opacity: 1.0000)
    /// Shopify Canvas Dark — Dark-mode canvas; matches Polaris gray-16.
    public static let shopifyCanvasDark = Color(.sRGB, red: 0.1020, green: 0.1020, blue: 0.1020, opacity: 1.0000)
    /// Shopify White — Canonical light canvas; the marketing surface is light-first.
    public static let shopifyWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Shopify Fog — Authored surface tone for cards and panels on light backgrounds; matches Polaris gray-6.
    public static let shopifyFog = Color(.sRGB, red: 0.9451, green: 0.9451, blue: 0.9451, opacity: 1.0000)
    /// Shopify Gray — Secondary text on light backgrounds; matches Polaris gray-13.
    public static let shopifyGray = Color(.sRGB, red: 0.3804, green: 0.3804, blue: 0.3804, opacity: 1.0000)
    /// Shopify Gray Light — Tertiary text and metadata.
    public static let shopifyGrayLight = Color(.sRGB, red: 0.5412, green: 0.5412, blue: 0.5412, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.shopifyWhite
    public static let surface = BrandSwatch.shopifyFog
    public static let surfaceElevated = BrandSwatch.shopifyWhite
    public static let textPrimary = BrandSwatch.shopifyInk
    public static let textSecondary = BrandSwatch.shopifyGray
    public static let textTertiary = BrandSwatch.shopifyGrayLight
    public static let primary = BrandSwatch.shopifyGreen
    public static let primaryHover = BrandSwatch.shopifyGreenDeep
    public static let accent = BrandSwatch.shopifyGreen
    public static let accentHover = BrandSwatch.shopifyGreenDeep
    public static let warning = BrandSwatch.shopifyGreenHeritage
    public static let warningHover = BrandSwatch.shopifyGreenWordmark
    public static let error = BrandSwatch.shopifyGreenDeep
    public static let success = BrandSwatch.shopifyGreen
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.shopifyCanvasDark
    public static let surface = BrandSwatch.shopifyGraphite
    public static let surfaceElevated = BrandSwatch.shopifyGraphite
    public static let textPrimary = BrandSwatch.shopifyWhite
    public static let textSecondary = BrandSwatch.shopifyGrayLight
    public static let textTertiary = BrandSwatch.shopifyGray
    public static let primary = BrandSwatch.shopifyGreen
    public static let primaryHover = BrandSwatch.shopifyGreenDeep
    public static let accent = BrandSwatch.shopifyGreenHeritage
    public static let accentHover = BrandSwatch.shopifyGreenWordmark
    public static let warning = BrandSwatch.shopifyGreenHeritage
    public static let warningHover = BrandSwatch.shopifyGreenWordmark
    public static let error = BrandSwatch.shopifyGreenDeep
    public static let success = BrandSwatch.shopifyGreen
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.shopifyGreen
    public static let onIdentity = BrandSwatch.shopifyWhite
    public static let primary = BrandSwatch.shopifyGreen
    public static let primaryHover = BrandSwatch.shopifyGreenDeep
    public static let accent = BrandSwatch.shopifyGreen
    public static let accentHover = BrandSwatch.shopifyGreenDeep
    public static let mark = BrandSwatch.shopifyGreenHeritage
    public static let textPrimaryLight = BrandSwatch.shopifyInk
    public static let textPrimaryDark = BrandSwatch.shopifyWhite
    public static let textSecondaryLight = BrandSwatch.shopifyGray
    public static let backgroundLight = BrandSwatch.shopifyWhite
    public static let backgroundDark = BrandSwatch.shopifyCanvasDark
    public static let surfaceLight = BrandSwatch.shopifyFog
    public static let surfaceDark = BrandSwatch.shopifyGraphite
}

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