// Solarized Dark (dark) — OpenVibe design tokens, from openvibe.design. Regenerate instead of editing. import SwiftUI extension Color { /// A colour from a 0xAARRGGBB literal (opaque when the alpha byte is FF). init(hex: UInt32) { self.init(.sRGB, red: Double((hex >> 16) & 0xFF) / 255, green: Double((hex >> 8) & 0xFF) / 255, blue: Double(hex & 0xFF) / 255, opacity: Double((hex >> 24) & 0xFF) / 255) } } /// OpenVibe's tokens for Solarized Dark (dark). public enum OVTokens { /// The page behind everything public static let bgBase = Color(hex: 0xFF002B36) /// Bands and side panels public static let bgSurface = Color(hex: 0xFF073642) /// Wells, tracks and quiet fills public static let bgSubtle = Color(hex: 0xFF0A3F4E) /// Cards, rows and sheets public static let bgRaised = Color(hex: 0xFF053542) /// A control under the pointer or finger public static let bgHover = Color(hex: 0xFF0D4A58) /// Text fields public static let bgInput = Color(hex: 0xFF01303D) /// Body text and titles public static let textPrimary = Color(hex: 0xFFFDF6E3) /// Supporting text public static let textSecondary = Color(hex: 0xFFA6B2B2) /// Hints and meta lines public static let textMuted = Color(hex: 0xFFA8B2B0) /// Links, icons, focus rings public static let accentBase = Color(hex: 0xFFB58900) /// The accent a step lighter public static let accentLight = Color(hex: 0xFFD4A017) /// The accent a step darker public static let accentDark = Color(hex: 0xFF8A6A00) /// Filled buttons public static let accentStrong = Color(hex: 0xFF947000) /// Text on the accent public static let accentOn = Color(hex: 0xFFFFFFFF) /// Text on a filled button public static let accentOnStrong = Color(hex: 0xFFFFFFFF) /// Glows and halos public static let accentGlow = Color(hex: 0x59B58900) /// Dividers and outlines public static let lineBase = Color(hex: 0xFF0A4050) /// Outlines that must show public static let lineStrong = Color(hex: 0xFF105060) /// Success fills public static let statusOkBase = Color(hex: 0xFF859900) /// Success text on any surface public static let statusOkText = Color(hex: 0xFFAAB84D) /// Warning fills public static let statusWarnBase = Color(hex: 0xFFCB4B16) /// Warning text on any surface public static let statusWarnText = Color(hex: 0xFFE4A186) /// Danger fills public static let statusBadBase = Color(hex: 0xFFDC322F) /// Danger text on any surface public static let statusBadText = Color(hex: 0xFFEE9997) /// Information fills public static let statusInfoBase = Color(hex: 0xFF268BD2) /// Information text on any surface public static let statusInfoText = Color(hex: 0xFF78B7E3) /// LIVE badges public static let statusLiveBase = Color(hex: 0xFFEF4444) /// LIVE text on any surface public static let statusLiveText = Color(hex: 0xFFF69696) /// The kit's motion: --ov-dur-1 (120 ms). public static let duration1: TimeInterval = 0.12 /// The kit's motion: --ov-dur-2 (200 ms). public static let duration2: TimeInterval = 0.2 /// The kit's motion: --ov-dur-3 (320 ms). public static let duration3: TimeInterval = 0.32 /// The kit's motion: --ov-dur-4 (520 ms). public static let duration4: TimeInterval = 0.52 /// The kit's motion: --ov-ease-out. public static let easeOut = Animation.timingCurve(0.2, 0.8, 0.2, 1) /// The kit's motion: --ov-ease-spring. public static let easeSpring = Animation.timingCurve(0.34, 1.56, 0.64, 1) /// The kit's motion: --ov-ease-in-out. public static let easeInOut = Animation.timingCurve(0.65, 0, 0.35, 1) /// The kit's shape: --ov-radius-1, small things: chips, inputs, rows. public static let radius1: CGFloat = 10 /// The kit's shape: --ov-radius-2, cards, sections, panels. public static let radius2: CGFloat = 14 /// The kit's shape: --ov-radius-3, sheets, dialogs, big surfaces. public static let radius3: CGFloat = 20 /// The mark's O public static let brandO = Color(hex: 0xFF4F7CFF) /// The mark's V public static let brandV = Color(hex: 0xFF8B5CF6) }