updated for withable on lazy properties
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
268570b3bb
commit
c9cc612698
@ -8,7 +8,7 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
|
||||
public protocol Colorable {
|
||||
public protocol Colorable: Withable {
|
||||
associatedtype ModelType
|
||||
func getColor(_ viewModel: ModelType) -> UIColor
|
||||
}
|
||||
|
||||
@ -20,42 +20,42 @@ open class CheckboxBase<ModelType: CheckboxModel>: SelectorBase<ModelType> {
|
||||
public let checkboxSize = CGSize(width: 20, height: 20)
|
||||
|
||||
private var checkboxBackgroundColorConfiguration: CheckboxErrorColorConfiguration = {
|
||||
let config = CheckboxErrorColorConfiguration()
|
||||
config.forTrue.enabled.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
config.forTrue.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
config.forTrue.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
config.forTrue.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
//error doesn't care enabled/disable
|
||||
config.error.forTrue.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
config.error.forTrue.darkColor = VDSColor.elementsPrimaryOndark
|
||||
config.error.forFalse.lightColor = VDSColor.feedbackErrorBackgroundOnlight
|
||||
config.error.forFalse.darkColor = VDSColor.feedbackErrorBackgroundOndark
|
||||
return config
|
||||
return CheckboxErrorColorConfiguration().with {
|
||||
$0.forTrue.enabled.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
$0.forTrue.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
$0.forTrue.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
$0.forTrue.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
//error doesn't care enabled/disable
|
||||
$0.error.forTrue.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
$0.error.forTrue.darkColor = VDSColor.elementsPrimaryOndark
|
||||
$0.error.forFalse.lightColor = VDSColor.feedbackErrorBackgroundOnlight
|
||||
$0.error.forFalse.darkColor = VDSColor.feedbackErrorBackgroundOndark
|
||||
}
|
||||
}()
|
||||
|
||||
private var checkboxBorderColorConfiguration: CheckboxErrorColorConfiguration = {
|
||||
let config = CheckboxErrorColorConfiguration()
|
||||
config.forTrue.enabled.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
config.forTrue.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
config.forFalse.enabled.lightColor = VDSFormControlsColor.borderOnlight
|
||||
config.forFalse.enabled.darkColor = VDSFormControlsColor.borderOndark
|
||||
config.forTrue.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
config.forTrue.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
config.forFalse.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
config.forFalse.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
//error doesn't care enabled/disable
|
||||
config.error.forTrue.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
config.error.forTrue.darkColor = VDSColor.elementsPrimaryOndark
|
||||
config.error.forFalse.lightColor = VDSColor.feedbackErrorOnlight
|
||||
config.error.forFalse.darkColor = VDSColor.feedbackErrorOndark
|
||||
return config
|
||||
return CheckboxErrorColorConfiguration().with {
|
||||
$0.forTrue.enabled.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
$0.forTrue.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
$0.forFalse.enabled.lightColor = VDSFormControlsColor.borderOnlight
|
||||
$0.forFalse.enabled.darkColor = VDSFormControlsColor.borderOndark
|
||||
$0.forTrue.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
$0.forTrue.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
$0.forFalse.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
$0.forFalse.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
//error doesn't care enabled/disable
|
||||
$0.error.forTrue.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
$0.error.forTrue.darkColor = VDSColor.elementsPrimaryOndark
|
||||
$0.error.forFalse.lightColor = VDSColor.feedbackErrorOnlight
|
||||
$0.error.forFalse.darkColor = VDSColor.feedbackErrorOndark
|
||||
}
|
||||
}()
|
||||
|
||||
private var checkboxCheckColorConfiguration: BinarySurfaceColorConfiguration<ModelType> = {
|
||||
let config = BinarySurfaceColorConfiguration<ModelType>()
|
||||
config.forTrue.lightColor = VDSColor.elementsPrimaryOndark
|
||||
config.forTrue.darkColor = VDSColor.elementsPrimaryOnlight
|
||||
return config
|
||||
return BinarySurfaceColorConfiguration<ModelType>().with {
|
||||
$0.forTrue.lightColor = VDSColor.elementsPrimaryOndark
|
||||
$0.forTrue.darkColor = VDSColor.elementsPrimaryOnlight
|
||||
}
|
||||
}()
|
||||
|
||||
//--------------------------------------------------
|
||||
|
||||
@ -67,12 +67,12 @@ open class LabelBase<ModelType: LabelModel>: UILabel, ModelHandlerable, ViewProt
|
||||
// MARK: - Configuration Properties
|
||||
//--------------------------------------------------
|
||||
private var textColorConfiguration: DisabledSurfaceColorConfiguration<ModelType> = {
|
||||
let config = DisabledSurfaceColorConfiguration<ModelType>()
|
||||
config.disabled.lightColor = VDSColor.elementsSecondaryOnlight
|
||||
config.disabled.darkColor = VDSColor.elementsSecondaryOndark
|
||||
config.enabled.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
config.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
return config
|
||||
return DisabledSurfaceColorConfiguration<ModelType>().with {
|
||||
$0.disabled.lightColor = VDSColor.elementsSecondaryOnlight
|
||||
$0.disabled.darkColor = VDSColor.elementsSecondaryOndark
|
||||
$0.enabled.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
$0.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
}
|
||||
} ()
|
||||
|
||||
//--------------------------------------------------
|
||||
|
||||
@ -21,40 +21,40 @@ open class RadioButtonBase<ModelType: RadioButtonModel>: SelectorBase<ModelType>
|
||||
public let radioButtonSelectedSize = CGSize(width: 10, height: 10)
|
||||
|
||||
private var radioButtonBackgroundColorConfiguration: RadioButtonErrorColorConfiguration = {
|
||||
let config = RadioButtonErrorColorConfiguration()
|
||||
//error doesn't care enabled/disable
|
||||
config.error.forTrue.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
config.error.forTrue.darkColor = VDSColor.elementsPrimaryOndark
|
||||
config.error.forFalse.lightColor = VDSColor.feedbackErrorBackgroundOnlight
|
||||
config.error.forFalse.darkColor = VDSColor.feedbackErrorBackgroundOndark
|
||||
return config
|
||||
return RadioButtonErrorColorConfiguration().with {
|
||||
//error doesn't care enabled/disable
|
||||
$0.error.forTrue.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
$0.error.forTrue.darkColor = VDSColor.elementsPrimaryOndark
|
||||
$0.error.forFalse.lightColor = VDSColor.feedbackErrorBackgroundOnlight
|
||||
$0.error.forFalse.darkColor = VDSColor.feedbackErrorBackgroundOndark
|
||||
}
|
||||
}()
|
||||
|
||||
private var radioButtonBorderColorConfiguration: RadioButtonErrorColorConfiguration = {
|
||||
let config = RadioButtonErrorColorConfiguration()
|
||||
config.forTrue.enabled.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
config.forTrue.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
config.forFalse.enabled.lightColor = VDSFormControlsColor.borderOnlight
|
||||
config.forFalse.enabled.darkColor = VDSFormControlsColor.borderOndark
|
||||
config.forTrue.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
config.forTrue.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
config.forFalse.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
config.forFalse.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
//error doesn't care enabled/disable
|
||||
config.error.forTrue.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
config.error.forTrue.darkColor = VDSColor.elementsPrimaryOndark
|
||||
config.error.forFalse.lightColor = VDSColor.feedbackErrorOnlight
|
||||
config.error.forFalse.darkColor = VDSColor.feedbackErrorOndark
|
||||
return config
|
||||
return RadioButtonErrorColorConfiguration().with {
|
||||
$0.forTrue.enabled.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
$0.forTrue.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
$0.forFalse.enabled.lightColor = VDSFormControlsColor.borderOnlight
|
||||
$0.forFalse.enabled.darkColor = VDSFormControlsColor.borderOndark
|
||||
$0.forTrue.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
$0.forTrue.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
$0.forFalse.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
$0.forFalse.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
//error doesn't care enabled/disable
|
||||
$0.error.forTrue.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
$0.error.forTrue.darkColor = VDSColor.elementsPrimaryOndark
|
||||
$0.error.forFalse.lightColor = VDSColor.feedbackErrorOnlight
|
||||
$0.error.forFalse.darkColor = VDSColor.feedbackErrorOndark
|
||||
}
|
||||
}()
|
||||
|
||||
private var radioButtonCheckColorConfiguration: BinaryDisabledSurfaceColorConfiguration<ModelType> = {
|
||||
let config = BinaryDisabledSurfaceColorConfiguration<ModelType>()
|
||||
config.forTrue.enabled.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
config.forTrue.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
config.forTrue.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
config.forTrue.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
return config
|
||||
return BinaryDisabledSurfaceColorConfiguration<ModelType>().with {
|
||||
$0.forTrue.enabled.lightColor = VDSColor.elementsPrimaryOnlight
|
||||
$0.forTrue.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
$0.forTrue.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
$0.forTrue.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
}
|
||||
}()
|
||||
|
||||
open override func toggleAndAction() {
|
||||
|
||||
@ -17,53 +17,41 @@ open class SelectorBase<ModelType: SelectorModel>: Control<ModelType>, Changable
|
||||
// MARK: - Private Properties
|
||||
//--------------------------------------------------
|
||||
private var mainStackView: UIStackView = {
|
||||
let stackView = UIStackView()
|
||||
stackView.translatesAutoresizingMaskIntoConstraints = false
|
||||
stackView.alignment = .top
|
||||
stackView.axis = .vertical
|
||||
return stackView
|
||||
return UIStackView().with {
|
||||
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||
$0.alignment = .top
|
||||
$0.axis = .vertical
|
||||
}
|
||||
}()
|
||||
|
||||
private var selectorStackView: UIStackView = {
|
||||
let stackView = UIStackView()
|
||||
stackView.translatesAutoresizingMaskIntoConstraints = false
|
||||
stackView.alignment = .top
|
||||
stackView.axis = .horizontal
|
||||
return stackView
|
||||
return UIStackView().with {
|
||||
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||
$0.alignment = .top
|
||||
$0.axis = .horizontal
|
||||
}
|
||||
}()
|
||||
|
||||
private var selectorLabelStackView: UIStackView = {
|
||||
let stackView = UIStackView()
|
||||
stackView.translatesAutoresizingMaskIntoConstraints = false
|
||||
stackView.axis = .vertical
|
||||
return stackView
|
||||
return UIStackView().with {
|
||||
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||
$0.axis = .vertical
|
||||
}
|
||||
}()
|
||||
|
||||
private var primaryLabel: Label = {
|
||||
let label = Label()
|
||||
label.translatesAutoresizingMaskIntoConstraints = false
|
||||
return label
|
||||
}()
|
||||
private var primaryLabel = Label()
|
||||
|
||||
private var secondaryLabel: Label = {
|
||||
let label = Label()
|
||||
label.translatesAutoresizingMaskIntoConstraints = false
|
||||
return label
|
||||
}()
|
||||
private var secondaryLabel = Label()
|
||||
|
||||
private var errorLabel: Label = {
|
||||
let label = Label()
|
||||
label.translatesAutoresizingMaskIntoConstraints = false
|
||||
return label
|
||||
}()
|
||||
private var errorLabel = Label()
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Public Properties
|
||||
//--------------------------------------------------
|
||||
public var selectorView: UIView = {
|
||||
let view = UIView()
|
||||
view.translatesAutoresizingMaskIntoConstraints = false
|
||||
return view
|
||||
return UIView().with {
|
||||
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||
}
|
||||
}()
|
||||
|
||||
public var onChange: Blocks.ActionBlock?
|
||||
|
||||
@ -19,12 +19,12 @@ open class SelectorGroupBase<SelectorType, SelectorGroupType: SelectorGroupModel
|
||||
// MARK: - Private Properties
|
||||
//--------------------------------------------------
|
||||
private var mainStackView: UIStackView = {
|
||||
let stackView = UIStackView()
|
||||
stackView.translatesAutoresizingMaskIntoConstraints = false
|
||||
stackView.alignment = .top
|
||||
stackView.axis = .vertical
|
||||
stackView.spacing = 10
|
||||
return stackView
|
||||
return UIStackView().with {
|
||||
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||
$0.alignment = .top
|
||||
$0.axis = .vertical
|
||||
$0.spacing = 10
|
||||
}
|
||||
}()
|
||||
|
||||
//--------------------------------------------------
|
||||
|
||||
@ -26,30 +26,26 @@ open class ToggleBase<ModelType: ToggleModel>: Control<ModelType>, Changable {
|
||||
// MARK: - Private Properties
|
||||
//--------------------------------------------------
|
||||
private var stackView: UIStackView = {
|
||||
let stackView = UIStackView()
|
||||
stackView.translatesAutoresizingMaskIntoConstraints = false
|
||||
stackView.axis = .horizontal
|
||||
stackView.distribution = .fill
|
||||
return stackView
|
||||
return UIStackView().with {
|
||||
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||
$0.axis = .horizontal
|
||||
$0.distribution = .fill
|
||||
}
|
||||
}()
|
||||
|
||||
private var label: Label = {
|
||||
let label = Label()
|
||||
label.translatesAutoresizingMaskIntoConstraints = false
|
||||
return label
|
||||
}()
|
||||
private var label = Label()
|
||||
|
||||
private var toggleView: UIView = {
|
||||
let view = UIView()
|
||||
view.translatesAutoresizingMaskIntoConstraints = false
|
||||
return view
|
||||
return UIView().with {
|
||||
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||
}
|
||||
}()
|
||||
|
||||
private var knobView: UIView = {
|
||||
let view = UIView()
|
||||
view.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.backgroundColor = .white
|
||||
return view
|
||||
return UIView().with {
|
||||
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||
$0.backgroundColor = .white
|
||||
}
|
||||
}()
|
||||
|
||||
//--------------------------------------------------
|
||||
@ -61,29 +57,29 @@ open class ToggleBase<ModelType: ToggleModel>: Control<ModelType>, Changable {
|
||||
public let knobSize = CGSize(width: 20, height: 20)
|
||||
|
||||
private var toggleColorConfiguration: BinaryDisabledSurfaceColorConfiguration<ModelType> = {
|
||||
let config = BinaryDisabledSurfaceColorConfiguration<ModelType>()
|
||||
config.forTrue.enabled.lightColor = VDSColor.paletteGreen26
|
||||
config.forTrue.enabled.darkColor = VDSColor.paletteGreen34
|
||||
config.forTrue.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
config.forTrue.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
config.forFalse.enabled.lightColor = VDSColor.elementsSecondaryOnlight
|
||||
config.forFalse.enabled.darkColor = VDSColor.paletteGray44
|
||||
config.forFalse.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
config.forFalse.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
return config
|
||||
return BinaryDisabledSurfaceColorConfiguration<ModelType>().with {
|
||||
$0.forTrue.enabled.lightColor = VDSColor.paletteGreen26
|
||||
$0.forTrue.enabled.darkColor = VDSColor.paletteGreen34
|
||||
$0.forTrue.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
$0.forTrue.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
$0.forFalse.enabled.lightColor = VDSColor.elementsSecondaryOnlight
|
||||
$0.forFalse.enabled.darkColor = VDSColor.paletteGray44
|
||||
$0.forFalse.disabled.lightColor = VDSColor.interactiveDisabledOnlight
|
||||
$0.forFalse.disabled.darkColor = VDSColor.interactiveDisabledOndark
|
||||
}
|
||||
} ()
|
||||
|
||||
private var knobColorConfiguration: BinaryDisabledSurfaceColorConfiguration<ModelType> = {
|
||||
let config = BinaryDisabledSurfaceColorConfiguration<ModelType>()
|
||||
config.forTrue.enabled.lightColor = VDSColor.elementsPrimaryOndark
|
||||
config.forTrue.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
config.forTrue.disabled.lightColor = VDSColor.paletteGray95
|
||||
config.forTrue.disabled.darkColor = VDSColor.paletteGray44
|
||||
config.forFalse.enabled.lightColor = VDSColor.elementsPrimaryOndark
|
||||
config.forFalse.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
config.forFalse.disabled.lightColor = VDSColor.paletteGray95
|
||||
config.forFalse.disabled.darkColor = VDSColor.paletteGray44
|
||||
return config
|
||||
return BinaryDisabledSurfaceColorConfiguration<ModelType>().with {
|
||||
$0.forTrue.enabled.lightColor = VDSColor.elementsPrimaryOndark
|
||||
$0.forTrue.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
$0.forTrue.disabled.lightColor = VDSColor.paletteGray95
|
||||
$0.forTrue.disabled.darkColor = VDSColor.paletteGray44
|
||||
$0.forFalse.enabled.lightColor = VDSColor.elementsPrimaryOndark
|
||||
$0.forFalse.enabled.darkColor = VDSColor.elementsPrimaryOndark
|
||||
$0.forFalse.disabled.lightColor = VDSColor.paletteGray95
|
||||
$0.forFalse.disabled.darkColor = VDSColor.paletteGray44
|
||||
}
|
||||
} ()
|
||||
|
||||
//--------------------------------------------------
|
||||
|
||||
Loading…
Reference in New Issue
Block a user