//
// Apple (apple@1.0.0)
// Palette: apple@1.0.0
// Fonts:   heading=sf-pro@1.0.0, body=sf-pro@1.0.0, mono=sf-pro@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 {
    /// System Blue — Default iOS tint color. Used for interactive elements (links, buttons, switches) across iOS, iPadOS, and macOS.

    public static let systemBlue = Color(.sRGB, red: 0.0000, green: 0.4784, blue: 1.0000, opacity: 1.0000)
    /// System Brown — Earth-tone accent in the HIG System Colors set.
    public static let systemBrown = Color(.sRGB, red: 0.6353, green: 0.5176, blue: 0.3686, opacity: 1.0000)
    /// System Gray — Mid-gray for secondary content and inactive controls. Equivalent to UIColor.systemGray.

    public static let systemGray = Color(.sRGB, red: 0.5569, green: 0.5569, blue: 0.5765, opacity: 1.0000)
    /// System Green — Confirmation / success accent (e.g., toggle switches in the "on" state, recording indicators).

    public static let systemGreen = Color(.sRGB, red: 0.2039, green: 0.7804, blue: 0.3490, opacity: 1.0000)
    /// System Indigo — Cool-violet accent in the HIG System Colors set.
    public static let systemIndigo = Color(.sRGB, red: 0.3451, green: 0.3373, blue: 0.8392, opacity: 1.0000)
    /// System Mint — Cool-teal accent introduced in iOS 15.
    public static let systemMint = Color(.sRGB, red: 0.0000, green: 0.7804, blue: 0.7451, opacity: 1.0000)
    /// System Orange — Warning accent. Used on system controls that signal caution (e.g., Cellular Data warnings).

    public static let systemOrange = Color(.sRGB, red: 1.0000, green: 0.5843, blue: 0.0000, opacity: 1.0000)
    /// System Pink — Warm-pink accent in the HIG System Colors set.
    public static let systemPink = Color(.sRGB, red: 1.0000, green: 0.1765, blue: 0.3333, opacity: 1.0000)
    /// System Purple — Purple accent. Used on Siri, Podcasts, and other identity-bearing Apple product surfaces.

    public static let systemPurple = Color(.sRGB, red: 0.6863, green: 0.3216, blue: 0.8706, opacity: 1.0000)
    /// System Red — Destructive / error accent. Used for delete actions, error states, and recording indicators.

    public static let systemRed = Color(.sRGB, red: 1.0000, green: 0.2314, blue: 0.1882, opacity: 1.0000)
    /// System Teal — Cooler complement to System Mint in the HIG set.
    public static let systemTeal = Color(.sRGB, red: 0.1882, green: 0.6902, blue: 0.7804, opacity: 1.0000)
    /// System Yellow — Highlight / warning accent in the HIG System Colors set.
    public static let systemYellow = Color(.sRGB, red: 1.0000, green: 0.8000, blue: 0.0000, opacity: 1.0000)
    /// Label — Primary text on light-mode surfaces. Equivalent to the HIG `label` semantic color in Light Appearance.

    public static let label = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Secondary Label — Secondary text. Equivalent to the HIG `secondaryLabel` (60% alpha black resolved against systemBackground) in Light.

    public static let secondaryLabel = Color(.sRGB, red: 0.2353, green: 0.2353, blue: 0.2627, opacity: 1.0000)
    /// Tertiary Label — Tertiary text. Equivalent to the HIG `tertiaryLabel` (~30% alpha) in Light.

    public static let tertiaryLabel = Color(.sRGB, red: 0.2353, green: 0.2353, blue: 0.2627, opacity: 0.3020)
    /// System Background — Base background in Light Appearance.
    public static let systemBackground = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Secondary System Background — Grouped-table and grouped-cell background in Light.
    public static let secondarySystemBackground = Color(.sRGB, red: 0.9490, green: 0.9490, blue: 0.9686, opacity: 1.0000)
    /// Tertiary System Background — Elevated card / sheet background in Light.
    public static let tertiarySystemBackground = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// System Background (Dark) — Base background in Dark Appearance.
    public static let systemBackgroundDark = Color(.sRGB, red: 0.0000, green: 0.0000, blue: 0.0000, opacity: 1.0000)
    /// Secondary System Background (Dark) — Grouped-cell background in Dark.
    public static let secondarySystemBackgroundDark = Color(.sRGB, red: 0.1098, green: 0.1098, blue: 0.1176, opacity: 1.0000)
    /// Tertiary System Background (Dark) — Elevated card / sheet background in Dark.
    public static let tertiarySystemBackgroundDark = Color(.sRGB, red: 0.1725, green: 0.1725, blue: 0.1804, opacity: 1.0000)
    /// Label (Dark) — Primary text on dark-mode surfaces.
    public static let labelDark = 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.systemBackground
    public static let surface = BrandSwatch.secondarySystemBackground
    public static let surfaceElevated = BrandSwatch.tertiarySystemBackground
    public static let textPrimary = BrandSwatch.label
    public static let textSecondary = BrandSwatch.secondaryLabel
    public static let textTertiary = BrandSwatch.systemGray
    public static let primary = BrandSwatch.systemBlue
    public static let primaryHover = BrandSwatch.systemBlue
    public static let accent = BrandSwatch.systemIndigo
    public static let accentHover = BrandSwatch.systemPurple
    public static let warning = BrandSwatch.systemOrange
    public static let warningHover = BrandSwatch.systemYellow
    public static let error = BrandSwatch.systemRed
    public static let success = BrandSwatch.systemGreen
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.systemBackgroundDark
    public static let surface = BrandSwatch.secondarySystemBackgroundDark
    public static let surfaceElevated = BrandSwatch.tertiarySystemBackgroundDark
    public static let textPrimary = BrandSwatch.labelDark
    public static let textSecondary = BrandSwatch.systemGray
    public static let textTertiary = BrandSwatch.systemGray
    public static let primary = BrandSwatch.systemBlue
    public static let primaryHover = BrandSwatch.systemBlue
    public static let accent = BrandSwatch.systemIndigo
    public static let accentHover = BrandSwatch.systemPurple
    public static let warning = BrandSwatch.systemOrange
    public static let warningHover = BrandSwatch.systemYellow
    public static let error = BrandSwatch.systemRed
    public static let success = BrandSwatch.systemGreen
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.label
    public static let onIdentity = BrandSwatch.systemBackground
    public static let primary = BrandSwatch.systemBlue
    public static let primaryHover = BrandSwatch.systemBlue
    public static let accent = BrandSwatch.systemIndigo
    public static let background = BrandSwatch.systemBackground
    public static let surface = BrandSwatch.secondarySystemBackground
    public static let surfaceElevated = BrandSwatch.tertiarySystemBackground
    public static let textPrimary = BrandSwatch.label
    public static let textSecondary = BrandSwatch.secondaryLabel
    public static let textTertiary = BrandSwatch.systemGray
}

/// Typography family names by brand role.
public enum BrandFont {
    /// SF Pro (sf-pro@1.0.0)
    public static let heading = "SF Pro"
    /// SF Pro (sf-pro@1.0.0)
    public static let body = "SF Pro"
    /// SF Pro (sf-pro@1.0.0)
    public static let mono = "SF Pro"
}
