Updated generator to match existing MindLyst conventions: - Kotlin: SCREAMING_SNAKE_CASE, Palette/Dark/Light/BrainGradient/Typography/Motion/Layout - Swift: Color(hex: UInt), dark/light prefixes, Gradient(colors:), MindLystMotion, Color ext - CSS: [data-theme] selectors, --ml-fs-*, --ml-elevation-*, --ml-motion-*, light theme Generated 4 files: - generated/tokens.css — CSS custom properties (dark + light themes) - generated/tokens.ts — Full token tree as const - generated/MindLystTokens.kt — KMP shared module (drop-in for existing) - generated/MindLystTheme.swift — SwiftUI structs (drop-in for existing)
89 lines
3.2 KiB
Swift
89 lines
3.2 KiB
Swift
// Auto-generated from bytelyst.tokens.json — do not edit manually
|
|
import SwiftUI
|
|
|
|
// MARK: - MindLyst Design Tokens (from shared KMP MindLystTokens)
|
|
// These values mirror MindLystTokens.kt exactly.
|
|
|
|
struct MindLystColors {
|
|
// Dark
|
|
static let darkBgCanvas = Color(hex: 0x06070A)
|
|
static let darkBgElevated = Color(hex: 0x0E1118)
|
|
static let darkSurfaceCard = Color(hex: 0x121725)
|
|
static let darkSurfaceMuted = Color(hex: 0x1A2335)
|
|
static let darkBorder = Color.white.opacity(0.12)
|
|
static let darkTextPrimary = Color(hex: 0xEFF4FF)
|
|
static let darkTextSecondary = Color(hex: 0xA5B1C7)
|
|
static let darkTextTertiary = Color(hex: 0x6C7C98)
|
|
static let darkAccentPrimary = Color(hex: 0x5A8CFF)
|
|
static let darkAccentSecondary = Color(hex: 0x2EE6D6)
|
|
static let darkSuccess = Color(hex: 0x34D399)
|
|
static let darkWarning = Color(hex: 0xF59E0B)
|
|
static let darkDanger = Color(hex: 0xFF6E6E)
|
|
|
|
// Light
|
|
static let lightBgCanvas = Color(hex: 0xF6F8FC)
|
|
static let lightBgElevated = Color(hex: 0xEEF2FA)
|
|
static let lightSurfaceCard = Color.white
|
|
static let lightSurfaceMuted = Color(hex: 0xF3F5FA)
|
|
static let lightTextPrimary = Color(hex: 0x0E1320)
|
|
static let lightTextSecondary = Color(hex: 0x55637A)
|
|
static let lightTextTertiary = Color(hex: 0x6C7C98)
|
|
static let lightAccentPrimary = Color(hex: 0x5A8CFF)
|
|
static let lightAccentSecondary = Color(hex: 0x2EE6D6)
|
|
static let lightSuccess = Color(hex: 0x13956A)
|
|
static let lightWarning = Color(hex: 0xB87504)
|
|
static let lightDanger = Color(hex: 0xD24242)
|
|
|
|
// Brain Gradients
|
|
static let brainWork = Gradient(colors: [Color(hex: 0x5A8CFF), Color(hex: 0x2EE6D6)])
|
|
static let brainHome = Gradient(colors: [Color(hex: 0xFF6E6E), Color(hex: 0xFFD166)])
|
|
static let brainMoney = Gradient(colors: [Color(hex: 0x34D399), Color(hex: 0x2EE6D6)])
|
|
static let brainHealth = Gradient(colors: [Color(hex: 0x2EE6D6), Color(hex: 0x9FE870)])
|
|
static let brainGlobal = Gradient(colors: [Color(hex: 0x7D8FB4), Color(hex: 0xA5B1C7)])
|
|
}
|
|
|
|
struct MindLystSpacing {
|
|
static let x0: CGFloat = 0
|
|
static let x1: CGFloat = 4
|
|
static let x2: CGFloat = 8
|
|
static let x3: CGFloat = 12
|
|
static let x4: CGFloat = 16
|
|
static let x5: CGFloat = 20
|
|
static let x6: CGFloat = 24
|
|
static let x7: CGFloat = 28
|
|
static let x8: CGFloat = 32
|
|
static let x10: CGFloat = 40
|
|
static let x12: CGFloat = 48
|
|
static let x16: CGFloat = 64
|
|
}
|
|
|
|
struct MindLystRadius {
|
|
static let xs: CGFloat = 8
|
|
static let sm: CGFloat = 12
|
|
static let md: CGFloat = 16
|
|
static let lg: CGFloat = 20
|
|
static let xl: CGFloat = 24
|
|
static let pill: CGFloat = 999
|
|
}
|
|
|
|
struct MindLystMotion {
|
|
static let instant: Double = 0.07
|
|
static let fast: Double = 0.14
|
|
static let base: Double = 0.22
|
|
static let slow: Double = 0.32
|
|
}
|
|
|
|
// MARK: - Color Hex Extension
|
|
|
|
extension Color {
|
|
init(hex: UInt, alpha: Double = 1.0) {
|
|
self.init(
|
|
.sRGB,
|
|
red: Double((hex >> 16) & 0xFF) / 255.0,
|
|
green: Double((hex >> 8) & 0xFF) / 255.0,
|
|
blue: Double(hex & 0xFF) / 255.0,
|
|
opacity: alpha
|
|
)
|
|
}
|
|
}
|