SPB Git

spb/prisme Public MIT

Navigateur iOS intelligent — chaque page comprise localement avant d'être affichée. SwiftUI · WebKit · Foundation Models, 100% on-device.

Swift 96.7% JavaScript 3.3%
1.6 KB · 62 lines swift
Raw Blame History
1//2//  DesignTokens.swift3//  Prisme4//5//  Author: Simon-Pierre Boucher <contact@spboucher.ai>6//78import SwiftUI910/// Semantic color assigned to an identity container. Stored as a token11/// (not raw color values) so themes can reinterpret it later.12enum ContainerColor: String, Codable, CaseIterable, Sendable {13    case bleu14    case vert15    case orange16    case violet1718    var color: Color {19        switch self {20        case .bleu: Color(red: 0.20, green: 0.45, blue: 1.00)21        case .vert: Color(red: 0.18, green: 0.72, blue: 0.42)22        case .orange: Color(red: 1.00, green: 0.56, blue: 0.15)23        case .violet: Color(red: 0.55, green: 0.36, blue: 0.96)24        }25    }2627    /// Lighter companion shade, for gradients.28    var secondary: Color {29        switch self {30        case .bleu: Color(red: 0.35, green: 0.78, blue: 1.00)31        case .vert: Color(red: 0.55, green: 0.90, blue: 0.55)32        case .orange: Color(red: 1.00, green: 0.80, blue: 0.30)33        case .violet: Color(red: 0.80, green: 0.50, blue: 1.00)34        }35    }3637    var gradient: LinearGradient {38        LinearGradient(39            colors: [color, secondary],40            startPoint: .topLeading,41            endPoint: .bottomTrailing42        )43    }44}4546/// Spacing scale. Use these instead of magic numbers in views.47enum Spacing {48    static let xs: CGFloat = 449    static let s: CGFloat = 850    static let m: CGFloat = 1251    static let l: CGFloat = 1652    static let xl: CGFloat = 2453}5455/// Corner radius scale.56enum Radius {57    static let s: CGFloat = 858    static let m: CGFloat = 1259    static let l: CGFloat = 2060    static let xl: CGFloat = 2661}62