added new color helper

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-08-04 15:32:53 -05:00
parent 3acde8b4c8
commit 1c30a5ff84

View File

@ -13,6 +13,24 @@ public protocol Colorable {
func getColor(_ viewModel: ModelType) -> UIColor
}
open class ModelSurfaceColorHelper<ModelType:Surfaceable>: Colorable {
public var lightColor: UIColor = .clear
public var darkColor: UIColor = .clear
public func getColor(_ viewModel: ModelType) -> UIColor {
return viewModel.surface == .light ? lightColor : darkColor
}
}
open class ModelSingleColorHelper<ModelType:Disabling & Surfaceable>: Colorable {
public var disabled = ModelSurfaceColorHelper<ModelType>()
public var enabled = ModelSurfaceColorHelper<ModelType>()
public func getColor(_ viewModel: ModelType) -> UIColor {
return viewModel.disabled ? disabled.getColor(viewModel) : enabled.getColor(viewModel)
}
}
public protocol BinaryColorable{
var userTrueColor: Bool { get }
}