//
// Penpot (penpot@1.0.0)
// Palette: penpot@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 {
    /// Penpot Mint — Signature electric mint green. Primary brand color — used on the wordmark, the "P" mark, primary CTAs, and key interactive surfaces.

    public static let penpotMint = Color(.sRGB, red: 0.1922, green: 0.9373, blue: 0.7216, opacity: 1.0000)
    /// Penpot White — Display type on dark canvas; canvas on light mode.
    public static let penpotWhite = Color(.sRGB, red: 1.0000, green: 1.0000, blue: 1.0000, opacity: 1.0000)
    /// Penpot Black — Canonical dark canvas — the brand's preferred surface; also body text on light.
    public static let penpotBlack = Color(.sRGB, red: 0.0941, green: 0.0941, blue: 0.1020, opacity: 1.0000)
    /// Penpot Canvas Dark — Authored dark-mode canvas — Penpot's preferred marketing surface.
    public static let penpotCanvasDark = Color(.sRGB, red: 0.0941, green: 0.0941, blue: 0.1020, opacity: 1.0000)
    /// Penpot Surface Light — Authored panel surface for light mode.
    public static let penpotSurfaceLight = Color(.sRGB, red: 0.9608, green: 0.9608, blue: 0.9608, opacity: 1.0000)
    /// Penpot Surface Dark — Authored elevated surface on dark mode.
    public static let penpotSurfaceDark = Color(.sRGB, red: 0.1647, green: 0.1647, blue: 0.1765, opacity: 1.0000)
    /// Penpot Text Secondary — Authored secondary text — neutral mid-gray on light canvas.
    public static let penpotTextSecondary = Color(.sRGB, red: 0.4314, green: 0.4314, blue: 0.4627, opacity: 1.0000)
    /// Penpot Text Tertiary — Authored tertiary / muted text.
    public static let penpotTextTertiary = Color(.sRGB, red: 0.6275, green: 0.6275, blue: 0.6588, opacity: 1.0000)
    /// Penpot Mint Hover — Authored softer Penpot Mint for hover / active states.
    public static let penpotMintHover = Color(.sRGB, red: 0.3686, green: 0.9529, blue: 0.7804, opacity: 1.0000)
}

/// Semantic color roles for light mode.
public enum BrandLight {
    public static let background = BrandSwatch.penpotWhite
    public static let surface = BrandSwatch.penpotSurfaceLight
    public static let surfaceElevated = BrandSwatch.penpotWhite
    public static let textPrimary = BrandSwatch.penpotBlack
    public static let textSecondary = BrandSwatch.penpotTextSecondary
    public static let textTertiary = BrandSwatch.penpotTextTertiary
    public static let primary = BrandSwatch.penpotMint
    public static let primaryHover = BrandSwatch.penpotMintHover
    public static let accent = BrandSwatch.penpotMint
    public static let accentHover = BrandSwatch.penpotMintHover
    public static let warning = BrandSwatch.penpotMint
    public static let warningHover = BrandSwatch.penpotMintHover
    public static let error = BrandSwatch.penpotMint
    public static let success = BrandSwatch.penpotMint
}

/// Semantic color roles for dark mode.
public enum BrandDark {
    public static let background = BrandSwatch.penpotCanvasDark
    public static let surface = BrandSwatch.penpotSurfaceDark
    public static let surfaceElevated = BrandSwatch.penpotSurfaceDark
    public static let textPrimary = BrandSwatch.penpotWhite
    public static let textSecondary = BrandSwatch.penpotTextTertiary
    public static let textTertiary = BrandSwatch.penpotTextSecondary
    public static let primary = BrandSwatch.penpotMint
    public static let primaryHover = BrandSwatch.penpotMintHover
    public static let accent = BrandSwatch.penpotMint
    public static let accentHover = BrandSwatch.penpotMintHover
    public static let warning = BrandSwatch.penpotMint
    public static let warningHover = BrandSwatch.penpotMintHover
    public static let error = BrandSwatch.penpotMint
    public static let success = BrandSwatch.penpotMint
}

/// Brand-level color role overrides.
public enum BrandColor {
    public static let identity = BrandSwatch.penpotMint
    public static let onIdentity = BrandSwatch.penpotBlack
    public static let primary = BrandSwatch.penpotMint
    public static let primaryHover = BrandSwatch.penpotMintHover
    public static let accent = BrandSwatch.penpotMint
    public static let accentHover = BrandSwatch.penpotMintHover
    public static let success = BrandSwatch.penpotMint
    public static let warning = BrandSwatch.penpotMint
    public static let error = BrandSwatch.penpotMint
    public static let backgroundLight = BrandSwatch.penpotWhite
    public static let backgroundDark = BrandSwatch.penpotCanvasDark
    public static let surfaceLight = BrandSwatch.penpotSurfaceLight
    public static let surfaceDark = BrandSwatch.penpotSurfaceDark
    public static let textPrimaryLight = BrandSwatch.penpotBlack
    public static let textPrimaryDark = BrandSwatch.penpotWhite
}

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