refactored colorConfig -> colorConfiguration

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2023-06-05 12:57:40 -05:00
parent 8a5ecdc6b6
commit 6e7ff86b0b
8 changed files with 66 additions and 66 deletions

View File

@ -13,9 +13,9 @@ import VDSFormControlsTokens
public protocol SelectorControlable: Control, Changeable {
var showError: Bool { get set }
var size: CGSize { get set }
var backgroundColorConfig: ControlColorConfiguration { get set }
var borderColorConfig: ControlColorConfiguration { get set }
var selectorColorConfig: ControlColorConfiguration { get set }
var backgroundColorConfiguration: ControlColorConfiguration { get set }
var borderColorConfiguration: ControlColorConfiguration { get set }
var selectorColorConfiguration: ControlColorConfiguration { get set }
}
open class SelectorBase: Control, SelectorControlable {
@ -50,11 +50,11 @@ open class SelectorBase: Control, SelectorControlable {
}
}
open var backgroundColorConfig = ControlColorConfiguration() { didSet { setNeedsUpdate() }}
open var backgroundColorConfiguration = ControlColorConfiguration() { didSet { setNeedsUpdate() }}
open var borderColorConfig = ControlColorConfiguration() { didSet { setNeedsUpdate() }}
open var borderColorConfiguration = ControlColorConfiguration() { didSet { setNeedsUpdate() }}
open var selectorColorConfig = ControlColorConfiguration() { didSet { setNeedsUpdate() }}
open var selectorColorConfiguration = ControlColorConfiguration() { didSet { setNeedsUpdate() }}
//--------------------------------------------------
// MARK: - Constraints

View File

@ -86,7 +86,7 @@ open class Badge: View {
//--------------------------------------------------
// MARK: - Configuration
//--------------------------------------------------
private var backgroundColorConfig: AnyColorable = {
private var backgroundColorConfiguration: AnyColorable = {
let config = KeyedColorConfiguration<Badge, FillColor>(keyPath: \.fillColor)
config.setSurfaceColors(VDSColor.backgroundBrandhighlight, VDSColor.backgroundBrandhighlight, forKey: .red)
config.setSurfaceColors(VDSColor.paletteYellow53, VDSColor.paletteYellow53, forKey: .yellow)
@ -125,7 +125,7 @@ open class Badge: View {
open override func updateView() {
updateTextColorConfig()
backgroundColor = backgroundColorConfig.getColor(self)
backgroundColor = backgroundColorConfiguration.getColor(self)
label.textColorConfiguration = textColorConfig.eraseToAnyColorable()
label.numberOfLines = numberOfLines

View File

@ -19,22 +19,22 @@ open class Checkbox: SelectorBase {
open override func setup() {
super.setup()
backgroundColorConfig.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .selected)
backgroundColorConfig.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: [.selected, .highlighted])
backgroundColorConfig.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: [.selected, .disabled])
backgroundColorConfig.setSurfaceColors(VDSColor.feedbackErrorBackgroundOnlight, VDSColor.feedbackErrorBackgroundOndark, forState: .error)
backgroundColorConfig.setSurfaceColors(.clear, .clear, forState: [.error, .disabled])
backgroundColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .selected)
backgroundColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: [.selected, .highlighted])
backgroundColorConfiguration.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: [.selected, .disabled])
backgroundColorConfiguration.setSurfaceColors(VDSColor.feedbackErrorBackgroundOnlight, VDSColor.feedbackErrorBackgroundOndark, forState: .error)
backgroundColorConfiguration.setSurfaceColors(.clear, .clear, forState: [.error, .disabled])
borderColorConfig.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .selected)
borderColorConfig.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .highlighted)
borderColorConfig.setSurfaceColors(VDSFormControlsColor.borderOnlight, VDSFormControlsColor.borderOndark, forState: .normal)
borderColorConfig.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: .disabled)
borderColorConfig.setSurfaceColors(VDSColor.feedbackErrorOnlight, VDSColor.feedbackErrorOndark, forState: .error)
borderColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .selected)
borderColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .highlighted)
borderColorConfiguration.setSurfaceColors(VDSFormControlsColor.borderOnlight, VDSFormControlsColor.borderOndark, forState: .normal)
borderColorConfiguration.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: .disabled)
borderColorConfiguration.setSurfaceColors(VDSColor.feedbackErrorOnlight, VDSColor.feedbackErrorOndark, forState: .error)
borderColorConfig.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: [.selected, .disabled])
borderColorConfig.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: [.error, .disabled])
borderColorConfiguration.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: [.selected, .disabled])
borderColorConfiguration.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: [.error, .disabled])
selectorColorConfig.setSurfaceColors(VDSColor.elementsPrimaryOndark, VDSColor.elementsPrimaryOnlight, forState: .selected)
selectorColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOndark, VDSColor.elementsPrimaryOnlight, forState: .selected)
}
open override func toggle() {
@ -50,9 +50,9 @@ open class Checkbox: SelectorBase {
super.layoutSubviews()
//get the colors
let backgroundColor = backgroundColorConfig.getColor(self)
let borderColor = borderColorConfig.getColor(self)
let selectorColor = selectorColorConfig.getColor(self)
let backgroundColor = backgroundColorConfiguration.getColor(self)
let borderColor = borderColorConfiguration.getColor(self)
let selectorColor = selectorColorConfiguration.getColor(self)
if let shapeLayer = shapeLayer, let sublayers = layer.sublayers, sublayers.contains(shapeLayer) {
shapeLayer.removeFromSuperlayer()

View File

@ -75,14 +75,14 @@ open class ButtonIcon: Control {
//--------------------------------------------------
// MARK: - Configuration
//--------------------------------------------------
private var iconColorConfig: AnyColorable {
private var iconColorConfiguration: AnyColorable {
if selectedIconName != nil {
return selectedIconColorConfig
return selectedIconColorConfiguration
} else {
if kind == .highContrast {
return highContrastIconColorConfig
return highContrastIconColorConfiguration
} else {
return standardIconColorConfig
return standardIconColorConfiguration
}
}
}
@ -104,7 +104,7 @@ open class ButtonIcon: Control {
}
}
private var standardIconColorConfig: AnyColorable = {
private var standardIconColorConfiguration: AnyColorable = {
return ControlColorConfiguration().with {
$0.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .normal)
$0.setSurfaceColors(VDSColor.interactiveActiveOnlight, VDSColor.interactiveActiveOndark, forState: .highlighted)
@ -112,11 +112,11 @@ open class ButtonIcon: Control {
}.eraseToAnyColorable()
}()
private var highContrastIconColorConfig: AnyColorable = {
private var highContrastIconColorConfiguration: AnyColorable = {
return SurfaceColorConfiguration(VDSColor.elementsPrimaryOndark, VDSColor.elementsPrimaryOnlight).eraseToAnyColorable()
}()
private var selectedIconColorConfig: AnyColorable = {
private var selectedIconColorConfiguration: AnyColorable = {
return ControlColorConfiguration().with {
$0.setSurfaceColors(VDSColor.elementsBrandhighlight, VDSColor.elementsPrimaryOndark, forState: .normal)
$0.setSurfaceColors(VDSColor.interactiveActiveOnlight, VDSColor.interactiveActiveOndark, forState: .highlighted)
@ -128,7 +128,7 @@ open class ButtonIcon: Control {
var kind: Kind = .ghost
var surfaceType: SurfaceType = .colorFill
var floating: Bool = false
var backgroundColorConfig: AnyColorable = {
var backgroundColorConfiguration: AnyColorable = {
SurfaceColorConfiguration(.clear, .clear).eraseToAnyColorable()
}()
}
@ -137,7 +137,7 @@ open class ButtonIcon: Control {
var kind: Kind = .lowContrast
var surfaceType: SurfaceType = .colorFill
var floating: Bool = false
var backgroundColorConfig: AnyColorable = {
var backgroundColorConfiguration: AnyColorable = {
SurfaceColorConfiguration(VDSColor.paletteGray44.withAlphaComponent(0.06), VDSColor.paletteGray44.withAlphaComponent(0.26)).eraseToAnyColorable()
}()
}
@ -146,7 +146,7 @@ open class ButtonIcon: Control {
var kind: Kind = .lowContrast
var surfaceType: SurfaceType = .colorFill
var floating: Bool = true
var backgroundColorConfig: AnyColorable = {
var backgroundColorConfiguration: AnyColorable = {
SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, .clear).eraseToAnyColorable()
}()
}
@ -155,11 +155,11 @@ open class ButtonIcon: Control {
var kind: Kind = .lowContrast
var surfaceType: SurfaceType = .media
var floating: Bool = false
var backgroundColorConfig: AnyColorable = {
var backgroundColorConfiguration: AnyColorable = {
SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, .clear).eraseToAnyColorable()
}()
var borderWidth: CGFloat = 1.0
var borderColorConfig: AnyColorable = {
var borderColorConfiguration: AnyColorable = {
SurfaceColorConfiguration(VDSColor.elementsLowcontrastOnlight, .clear).eraseToAnyColorable()
}()
}
@ -168,10 +168,10 @@ open class ButtonIcon: Control {
var kind: Kind = .lowContrast
var surfaceType: SurfaceType = .media
var floating: Bool = true
var backgroundColorConfig: AnyColorable = {
var backgroundColorConfiguration: AnyColorable = {
SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, .clear).eraseToAnyColorable()
}()
var shadowColorConfig: AnyColorable = {
var shadowColorConfiguration: AnyColorable = {
SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, .clear).eraseToAnyColorable()
}()
var shadowOpacity: CGFloat = 0.5
@ -183,7 +183,7 @@ open class ButtonIcon: Control {
var kind: Kind = .highContrast
var surfaceType: SurfaceType = .colorFill
var floating: Bool = false
var backgroundColorConfig: AnyColorable = {
var backgroundColorConfiguration: AnyColorable = {
return ControlColorConfiguration().with {
$0.setSurfaceColors(VDSColor.backgroundPrimaryDark, VDSColor.backgroundPrimaryLight, forState: .normal)
$0.setSurfaceColors(VDSColor.interactiveActiveOnlight, VDSColor.interactiveActiveOndark, forState: .highlighted)
@ -197,7 +197,7 @@ open class ButtonIcon: Control {
var kind: Kind = .highContrast
var surfaceType: SurfaceType = .colorFill
var floating: Bool = true
var backgroundColorConfig: AnyColorable = {
var backgroundColorConfiguration: AnyColorable = {
return ControlColorConfiguration().with {
$0.setSurfaceColors(VDSColor.backgroundPrimaryLight, VDSColor.backgroundPrimaryLight, forState: .normal)
$0.setSurfaceColors(VDSColor.interactiveActiveOnlight, VDSColor.interactiveActiveOndark, forState: .highlighted)
@ -273,7 +273,7 @@ open class ButtonIcon: Control {
//ensure there is an icon to set
if let currentIconName {
icon.name = currentIconName
let color = iconColorConfig.getColor(self)
let color = iconColorConfiguration.getColor(self)
icon.color = color
icon.size = size.value
icon.customSize = customSize
@ -289,7 +289,7 @@ open class ButtonIcon: Control {
let currentConfig = currentConfiguration
backgroundColor = currentConfig.backgroundColorConfig.getColor(self)
backgroundColor = currentConfig.backgroundColorConfiguration.getColor(self)
// calculate center point for child view with offset
let childCenter = CGPoint(x: center.x + iconOffset.x, y: center.y + iconOffset.y)
@ -314,7 +314,7 @@ open class ButtonIcon: Control {
//border
if let borderable = currentConfig as? Borderable {
layer.borderColor = borderable.borderColorConfig.getColor(self).cgColor
layer.borderColor = borderable.borderColorConfiguration.getColor(self).cgColor
layer.borderWidth = borderable.borderWidth
icon.layer.borderWidth = borderable.borderWidth
} else {
@ -325,7 +325,7 @@ open class ButtonIcon: Control {
if let dropshadowable = currentConfig as? Dropshadowable {
layer.masksToBounds = false
layer.shadowColor = dropshadowable.shadowColorConfig.getColor(self).cgColor
layer.shadowColor = dropshadowable.shadowColorConfiguration.getColor(self).cgColor
layer.shadowOpacity = Float(dropshadowable.shadowOpacity)
layer.shadowOffset = dropshadowable.shadowOffset
layer.shadowRadius = dropshadowable.shadowRadius
@ -362,11 +362,11 @@ extension ButtonIcon: AppleGuidlinesTouchable {
private protocol Borderable {
var borderWidth: CGFloat { get set }
var borderColorConfig: AnyColorable { get set }
var borderColorConfiguration: AnyColorable { get set }
}
private protocol Dropshadowable {
var shadowColorConfig: AnyColorable { get set }
var shadowColorConfiguration: AnyColorable { get set }
var shadowOpacity: CGFloat { get set }
var shadowOffset: CGSize { get set }
var shadowRadius: CGFloat { get set }
@ -376,5 +376,5 @@ private protocol Configuration {
var kind: ButtonIcon.Kind { get set }
var surfaceType: ButtonIcon.SurfaceType { get set }
var floating: Bool { get set }
var backgroundColorConfig: AnyColorable { get set }
var backgroundColorConfiguration: AnyColorable { get set }
}

View File

@ -51,7 +51,7 @@ open class Line: View {
//--------------------------------------------------
// MARK: - Configuration
//--------------------------------------------------
public var lineViewColorConfig: AnyColorable = {
public var lineViewColorConfiguration: AnyColorable = {
let config = KeyedColorConfiguration<Line, Style>(keyPath: \.style)
config.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forKey: .primary)
config.setSurfaceColors(VDSColor.elementsLowcontrastOnlight, VDSColor.elementsLowcontrastOndark, forKey: .secondary)
@ -62,6 +62,6 @@ open class Line: View {
// MARK: - State
//--------------------------------------------------
open override func updateView() {
lineView.backgroundColor = lineViewColorConfig.getColor(self)
lineView.backgroundColor = lineViewColorConfiguration.getColor(self)
}
}

View File

@ -19,20 +19,20 @@ open class RadioButton: SelectorBase {
open override func setup() {
super.setup()
backgroundColorConfig.setSurfaceColors(VDSColor.feedbackErrorBackgroundOnlight, VDSColor.feedbackErrorBackgroundOndark, forState: .error)
backgroundColorConfig.setSurfaceColors(.clear, .clear, forState: [.error, .disabled])
backgroundColorConfiguration.setSurfaceColors(VDSColor.feedbackErrorBackgroundOnlight, VDSColor.feedbackErrorBackgroundOndark, forState: .error)
backgroundColorConfiguration.setSurfaceColors(.clear, .clear, forState: [.error, .disabled])
borderColorConfig.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .selected)
borderColorConfig.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .highlighted)
borderColorConfig.setSurfaceColors(VDSFormControlsColor.borderOnlight, VDSFormControlsColor.borderOndark, forState: .normal)
borderColorConfig.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: .disabled)
borderColorConfig.setSurfaceColors(VDSColor.feedbackErrorOnlight, VDSColor.feedbackErrorOndark, forState: .error)
borderColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .selected)
borderColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .highlighted)
borderColorConfiguration.setSurfaceColors(VDSFormControlsColor.borderOnlight, VDSFormControlsColor.borderOndark, forState: .normal)
borderColorConfiguration.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: .disabled)
borderColorConfiguration.setSurfaceColors(VDSColor.feedbackErrorOnlight, VDSColor.feedbackErrorOndark, forState: .error)
borderColorConfig.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: [.selected, .disabled])
borderColorConfig.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: [.error, .disabled])
borderColorConfiguration.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: [.selected, .disabled])
borderColorConfiguration.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: [.error, .disabled])
selectorColorConfig.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .selected)
selectorColorConfig.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: [.selected, .disabled])
selectorColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .selected)
selectorColorConfiguration.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: [.selected, .disabled])
}
@ -40,9 +40,9 @@ open class RadioButton: SelectorBase {
super.layoutSubviews()
//get the colors
let backgroundColor = backgroundColorConfig.getColor(self)
let borderColor = borderColorConfig.getColor(self)
let selectorColor = selectorColorConfig.getColor(self)
let backgroundColor = backgroundColorConfiguration.getColor(self)
let borderColor = borderColorConfiguration.getColor(self)
let selectorColor = selectorColorConfiguration.getColor(self)
if let shapeLayer = shapeLayer, let sublayers = layer.sublayers, sublayers.contains(shapeLayer) {
shapeLayer.removeFromSuperlayer()

View File

@ -57,7 +57,7 @@ open class Tooltip: Control, TooltipLaunchable {
//--------------------------------------------------
// MARK: - Configuration
//--------------------------------------------------
private var iconColorConfig: AnyColorable {
private var iconColorConfiguration: AnyColorable {
switch fillColor {
case .primary:
@ -158,7 +158,7 @@ open class Tooltip: Control, TooltipLaunchable {
widthConstraint?.constant = dimensions.width
//get the color for the image
let imageColor = iconColorConfig.getColor(self)
let imageColor = iconColorConfiguration.getColor(self)
imageView.image = infoImage.withTintColor(imageColor)
accessibilityLabel = "Tooltip: \(title)"

View File

@ -38,7 +38,7 @@ open class TooltipAlertViewController: UIViewController, Surfaceable {
}
private var line = Line().with { instance in
instance.lineViewColorConfig = SurfaceColorConfiguration(VDSColor.elementsLowcontrastOnlight, VDSColor.elementsLowcontrastOndark).eraseToAnyColorable()
instance.lineViewColorConfiguration = SurfaceColorConfiguration(VDSColor.elementsLowcontrastOnlight, VDSColor.elementsLowcontrastOndark).eraseToAnyColorable()
}
//--------------------------------------------------