From 70071778a1cdd75d3437e4f4be2c418bf387ad96 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Mon, 1 Aug 2022 16:24:25 -0500 Subject: [PATCH] updated colors Signed-off-by: Matt Bruce --- VDS/Components/Toggle/VDSToggle.swift | 6 +++--- VDS/Extensions/UIColor.swift | 25 ++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/VDS/Components/Toggle/VDSToggle.swift b/VDS/Components/Toggle/VDSToggle.swift index 2dec377d..00f5a25e 100644 --- a/VDS/Components/Toggle/VDSToggle.swift +++ b/VDS/Components/Toggle/VDSToggle.swift @@ -37,13 +37,13 @@ import Combine private func getToggleColor(for disabled: Bool, surface: Surface) -> (on: UIColor, off: UIColor) { if disabled { if surface == .light { - return (on: VDSColor.interactiveDisabledOnlight, off: VDSColor.interactiveDisabledOnlight) + return (on: VDSColor.elementsDisabledOnlight, off: VDSColor.elementsDisabledOnlight) } else { - return (on: VDSColor.interactiveDisabledOndark, off: VDSColor.interactiveDisabledOndark) + return (on: VDSColor.elementsDisabledOnDark, off: VDSColor.elementsDisabledOnDark) } } else { if surface == .light { - return (on: VDSColor.paletteGreen26, off: VDSColor.elementsSecondaryOndark) + return (on: VDSColor.paletteGreen26, off: VDSColor.elementsSecondaryOnlight) } else { return (on: VDSColor.paletteGreen34, off: VDSColor.paletteGray44) } diff --git a/VDS/Extensions/UIColor.swift b/VDS/Extensions/UIColor.swift index 66142845..63c0cc57 100644 --- a/VDS/Extensions/UIColor.swift +++ b/VDS/Extensions/UIColor.swift @@ -7,6 +7,12 @@ import Foundation import UIKit +import VDSColorTokens + +extension VDSColor { + public static let elementsDisabledOnlight: UIColor = .init(hexString: "#D8DADA") + public static let elementsDisabledOnDark: UIColor = .init(hexString: "#333333") +} extension UIColor { //-------------------------------------------------- @@ -143,5 +149,22 @@ extension UIColor { return nil } - + + public convenience init(hexString: String) { + let hex = hexString.trimmingCharacters(in: CharacterSet.alphanumerics.inverted) + var int = UInt64() + Scanner(string: hex).scanHexInt64(&int) + let a, r, g, b: UInt64 + switch hex.count { + case 3: // RGB (12-bit) + (a, r, g, b) = (255, (int >> 8) * 17, (int >> 4 & 0xF) * 17, (int & 0xF) * 17) + case 6: // RGB (24-bit) + (a, r, g, b) = (255, int >> 16, int >> 8 & 0xFF, int & 0xFF) + case 8: // ARGB (32-bit) + (a, r, g, b) = (int >> 24, int >> 16 & 0xFF, int >> 8 & 0xFF, int & 0xFF) + default: + (a, r, g, b) = (255, 0, 0, 0) + } + self.init(red: CGFloat(r) / 255, green: CGFloat(g) / 255, blue: CGFloat(b) / 255, alpha: CGFloat(a) / 255) + } }