42 lines
1.8 KiB
Swift
42 lines
1.8 KiB
Swift
import AppKit
|
|
import SwiftUI
|
|
|
|
enum Palette {
|
|
static let bg = dynamic(0xfbfbfa, 0x15171a)
|
|
static let surface = dynamic(0xf2f3f5, 0x1c1f23)
|
|
static let raised = dynamic(0xffffff, 0x23272c)
|
|
static let border = dynamic(0xd6d9de, 0x353b43)
|
|
static let text = dynamic(0x16181b, 0xeceff3)
|
|
static let muted = dynamic(0x4a5260, 0xa9b1bc)
|
|
static let accent = dynamic(0x1a45bd, 0x8ab4ff)
|
|
static let accentTint = dynamic(0xe7edfb, 0x1e2a40)
|
|
static let danger = dynamic(0xb42318, 0xff9488)
|
|
static let dangerTint = dynamic(0xfdecea, 0x3a1f1d)
|
|
static let warn = dynamic(0x855600, 0xf2c66d)
|
|
static let warnTint = dynamic(0xfdf3dc, 0x352a14)
|
|
static let warnFaint = dynamic(0xfcf8ec, 0x221f19)
|
|
static let ok = dynamic(0x1a7f37, 0x7fd88f)
|
|
static let okTint = dynamic(0xe5f4e9, 0x1b3322)
|
|
static let task0 = dynamic(0xa4273f, 0xfe9fa6)
|
|
static let task1 = dynamic(0x9f3501, 0xffa383)
|
|
static let task2 = dynamic(0x376e00, 0x99d079)
|
|
static let task3 = dynamic(0x027048, 0x68d7a1)
|
|
static let task4 = dynamic(0x026d64, 0x37d8c9)
|
|
static let task5 = dynamic(0x046a77, 0x2fd4ec)
|
|
static let task6 = dynamic(0x06658e, 0x69caff)
|
|
static let task7 = dynamic(0x1f58b6, 0x98bffe)
|
|
static let task8 = dynamic(0x5849b2, 0xb6b4fe)
|
|
static let task9 = dynamic(0x793c9f, 0xd7a6fc)
|
|
static let task10 = dynamic(0x942e79, 0xf59cd8)
|
|
|
|
private static func rgb(_ hex: UInt32) -> NSColor {
|
|
NSColor(srgbRed: CGFloat(hex >> 16 & 0xff) / 255, green: CGFloat(hex >> 8 & 0xff) / 255, blue: CGFloat(hex & 0xff) / 255, alpha: 1)
|
|
}
|
|
|
|
private static func dynamic(_ light: UInt32, _ dark: UInt32) -> Color {
|
|
Color(nsColor: NSColor(name: nil) { appearance in
|
|
appearance.bestMatch(from: [.aqua, .darkAqua]) == .darkAqua ? rgb(dark) : rgb(light)
|
|
})
|
|
}
|
|
}
|