//
// Telegram (telegram@1.0.0)
// Palette: telegram@1.0.0
// Fonts:   heading=roboto@1.0.0, body=roboto@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 {
    /// Telegram Blue — Signature Telegram sky-blue — the brand's primary color, used on the paper-plane mark, primary CTAs, links across the marketing site, and the outgoing-message bubble.

    public static let telegramBlue = Color(.sRGB, red: 0.0000, green: 0.5333, blue: 0.8000, opacity: 1.0000)
    /// Telegram Blue Dark — Pressed / active variant of Telegram Blue — used on the hover and pressed states of primary buttons.

    public static let telegramBlueDark = Color(.sRGB, red: 0.0000, green: 0.4000, blue: 0.6000, opacity: 1.0000)
    /// Telegram Blue 100 — Pale tint — used as a hover wash and link-highlight surface.
    public static let telegramBlue100 = Color(.sRGB, red: 0.8980, green: 0.9451, blue: 0.9804, opacity: 1.0000)
    /// Telegram Blue 300 — Mid-light blue — used in illustration and link-hover states.
    public static let telegramBlue300 = Color(.sRGB, red: 0.2353, green: 0.6314, blue: 0.9216, opacity: 1.0000)
    /// Telegram Blue 400 — Bright blue accent — the brightest blue used on the marketing surface.
    public static let telegramBlue400 = Color(.sRGB, red: 0.1882, green: 0.6667, blue: 0.9922, opacity: 1.0000)
    /// Telegram Blue 500 — Telegram's "Apple-app store" blue tone — used in promotional iconography.
    public static let telegramBlue500 = Color(.sRGB, red: 0.1412, green: 0.5059, blue: 0.8000, opacity: 1.0000)
    /// Telegram Blue 600 — Deeper marketing accent blue.
    public static let telegramBlue600 = Color(.sRGB, red: 0.1098, green: 0.5765, blue: 0.8902, opacity: 1.0000)
    /// Telegram Blue 700 — Header accent blue — used on the marketing-site nav highlight.
    public static let telegramBlue700 = Color(.sRGB, red: 0.1020, green: 0.5412, blue: 0.8353, opacity: 1.0000)
    /// Telegram Blue 800 — Deep accent — used on the marketing-site button-hover.
    public static let telegramBlue800 = Color(.sRGB, red: 0.0784, green: 0.5098, blue: 0.8196, opacity: 1.0000)
    /// Telegram White — Pure white — primary surface on the marketing site and light-mode chat canvas.
    public static let telegramWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Telegram Surface Light — Light-mode elevated surface — the chat-list rail on the iOS client.
    public static let telegramSurfaceLight = Color(.sRGB, red: 0.9686, green: 0.9686, blue: 0.9686, opacity: 1.0000)
    /// Telegram Border Light — Quiet divider on the marketing-site surface.
    public static let telegramBorderLight = Color(.sRGB, red: 0.9020, green: 0.9020, blue: 0.9020, opacity: 1.0000)
    /// Telegram Text on Light — Primary text on the marketing-site and light-mode chat canvas.
    public static let telegramTextOnLight = Color(.sRGB, red: 0.2000, green: 0.2000, blue: 0.2000, opacity: 1.0000)
    /// Telegram Text Secondary Light — Secondary text on light-mode surfaces.
    public static let telegramTextSecondaryLight = Color(.sRGB, red: 0.4902, green: 0.4980, blue: 0.5059, opacity: 1.0000)
    /// Telegram Canvas Dark — Deep slate — Telegram's dark-mode chat canvas tone (the "Night" theme baseline), captured from the deployed telegram.org dark-mode stylesheet.

    public static let telegramCanvasDark = Color(.sRGB, red: 0.1294, green: 0.1412, blue: 0.1608, opacity: 1.0000)
    /// Telegram Surface Dark — Dark-mode elevated surface — chat-list rail and top bar.
    public static let telegramSurfaceDark = Color(.sRGB, red: 0.1490, green: 0.1647, blue: 0.1804, opacity: 1.0000)
    /// Telegram Surface Dark Elevated — Dark-mode deepest-elevated surface.
    public static let telegramSurfaceDarkElevated = Color(.sRGB, red: 0.2000, green: 0.2157, blue: 0.2392, opacity: 1.0000)
    /// Telegram Text on Dark — Primary text on the dark-mode canvas.
    public static let telegramTextOnDark = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Telegram Text Secondary Dark — Secondary text and timestamps on the dark canvas.
    public static let telegramTextSecondaryDark = Color(.sRGB, red: 0.5176, green: 0.5333, blue: 0.5490, opacity: 1.0000)
    /// Telegram Surface Dark Deep — Deepest dark surface — used as the chat-input background.
    public static let telegramSurfaceDarkDeep = Color(.sRGB, red: 0.1176, green: 0.1176, blue: 0.1176, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.telegramWhite
    public static let surface = BrandSwatch.telegramSurfaceLight
    public static let surfaceElevated = BrandSwatch.telegramWhite
    public static let textPrimary = BrandSwatch.telegramTextOnLight
    public static let textSecondary = BrandSwatch.telegramTextSecondaryLight
    public static let textTertiary = BrandSwatch.telegramTextSecondaryLight
    public static let primary = BrandSwatch.telegramBlue
    public static let primaryHover = BrandSwatch.telegramBlue800
    public static let accent = BrandSwatch.telegramBlue
    public static let accentHover = BrandSwatch.telegramBlue700
    public static let warning = BrandSwatch.telegramBlue400
    public static let warningHover = BrandSwatch.telegramBlue700
    public static let error = BrandSwatch.telegramBlueDark
    public static let success = BrandSwatch.telegramBlue
    public static let border = BrandSwatch.telegramBorderLight
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.telegramCanvasDark
    public static let surface = BrandSwatch.telegramSurfaceDark
    public static let surfaceElevated = BrandSwatch.telegramSurfaceDarkElevated
    public static let textPrimary = BrandSwatch.telegramTextOnDark
    public static let textSecondary = BrandSwatch.telegramTextSecondaryDark
    public static let textTertiary = BrandSwatch.telegramTextSecondaryDark
    public static let primary = BrandSwatch.telegramBlue300
    public static let primaryHover = BrandSwatch.telegramBlue400
    public static let accent = BrandSwatch.telegramBlue300
    public static let accentHover = BrandSwatch.telegramBlue400
    public static let warning = BrandSwatch.telegramBlue400
    public static let warningHover = BrandSwatch.telegramBlue700
    public static let error = BrandSwatch.telegramBlueDark
    public static let success = BrandSwatch.telegramBlue300
    public static let border = BrandSwatch.telegramSurfaceDarkElevated
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.telegramBlue
    public static let onIdentity = BrandSwatch.telegramWhite
    public static let background = BrandSwatch.telegramWhite
    public static let surface = BrandSwatch.telegramSurfaceLight
    public static let surfaceElevated = BrandSwatch.telegramWhite
    public static let textPrimary = BrandSwatch.telegramTextOnLight
    public static let textSecondary = BrandSwatch.telegramTextSecondaryLight
    public static let primary = BrandSwatch.telegramBlue
    public static let primaryHover = BrandSwatch.telegramBlue800
    public static let accent = BrandSwatch.telegramBlue
    public static let accentHover = BrandSwatch.telegramBlue700
    public static let mark = BrandSwatch.telegramBlue
    public static let success = BrandSwatch.telegramBlue
    public static let warning = BrandSwatch.telegramBlue400
    public static let error = BrandSwatch.telegramBlueDark
}

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