updated configurations
This commit is contained in:
parent
facafa308b
commit
94453b5c2e
@ -113,11 +113,7 @@ open class ButtonIcon: Control {
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
private var highContrastIconColorConfig: AnyColorable = {
|
private var highContrastIconColorConfig: AnyColorable = {
|
||||||
return ControlColorConfiguration().with {
|
return SurfaceColorConfiguration(VDSColor.elementsPrimaryOndark, VDSColor.elementsPrimaryOnlight).eraseToAnyColorable()
|
||||||
$0.setSurfaceColors(VDSColor.elementsPrimaryOndark, VDSColor.elementsPrimaryOnlight, forState: .normal)
|
|
||||||
$0.setSurfaceColors(VDSColor.interactiveActiveOndark, VDSColor.interactiveActiveOnlight, forState: .highlighted)
|
|
||||||
$0.setSurfaceColors(VDSColor.interactiveDisabledOndark, VDSColor.interactiveDisabledOnlight, forState: .disabled)
|
|
||||||
}.eraseToAnyColorable()
|
|
||||||
}()
|
}()
|
||||||
|
|
||||||
private var selectedIconColorConfig: AnyColorable = {
|
private var selectedIconColorConfig: AnyColorable = {
|
||||||
@ -128,6 +124,88 @@ open class ButtonIcon: Control {
|
|||||||
}.eraseToAnyColorable()
|
}.eraseToAnyColorable()
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
private struct GhostConfiguration: Configuration {
|
||||||
|
var kind: Kind = .ghost
|
||||||
|
var surfaceType: SurfaceType = .colorFill
|
||||||
|
var floating: Bool = false
|
||||||
|
var backgroundColorConfig: AnyColorable = {
|
||||||
|
SurfaceColorConfiguration(.clear, .clear).eraseToAnyColorable()
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
|
private struct LowContrastColorFillConfiguration: Configuration {
|
||||||
|
var kind: Kind = .lowContrast
|
||||||
|
var surfaceType: SurfaceType = .colorFill
|
||||||
|
var floating: Bool = false
|
||||||
|
var backgroundColorConfig: AnyColorable = {
|
||||||
|
SurfaceColorConfiguration(VDSColor.paletteGray44.withAlphaComponent(0.06), VDSColor.paletteGray44.withAlphaComponent(0.26)).eraseToAnyColorable()
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
|
private struct LowContrastColorFillFloatingConfiguration: Configuration {
|
||||||
|
var kind: Kind = .lowContrast
|
||||||
|
var surfaceType: SurfaceType = .colorFill
|
||||||
|
var floating: Bool = true
|
||||||
|
var backgroundColorConfig: AnyColorable = {
|
||||||
|
SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, .clear).eraseToAnyColorable()
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
|
private struct LowContrastMediaConfiguration: Configuration, Borderable {
|
||||||
|
var kind: Kind = .lowContrast
|
||||||
|
var surfaceType: SurfaceType = .media
|
||||||
|
var floating: Bool = false
|
||||||
|
var backgroundColorConfig: AnyColorable = {
|
||||||
|
SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, .clear).eraseToAnyColorable()
|
||||||
|
}()
|
||||||
|
var borderWidth: CGFloat = 1.0
|
||||||
|
var borderColorConfig: AnyColorable = {
|
||||||
|
SurfaceColorConfiguration(VDSColor.elementsLowcontrastOnlight, .clear).eraseToAnyColorable()
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
|
private struct LowContrastMediaFloatingConfiguration: Configuration, Dropshadowable {
|
||||||
|
var kind: Kind = .lowContrast
|
||||||
|
var surfaceType: SurfaceType = .media
|
||||||
|
var floating: Bool = true
|
||||||
|
var backgroundColorConfig: AnyColorable = {
|
||||||
|
SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, .clear).eraseToAnyColorable()
|
||||||
|
}()
|
||||||
|
var shadowColorConfig: AnyColorable = {
|
||||||
|
SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, .clear).eraseToAnyColorable()
|
||||||
|
}()
|
||||||
|
var shadowOpacity: CGFloat = 0.5
|
||||||
|
var shadowOffset: CGSize = .init(width: 1, height: 1)
|
||||||
|
var shadowRadius: CGFloat = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
private struct HighContrastConfiguration: Configuration {
|
||||||
|
var kind: Kind = .highContrast
|
||||||
|
var surfaceType: SurfaceType = .colorFill
|
||||||
|
var floating: Bool = false
|
||||||
|
var backgroundColorConfig: AnyColorable = {
|
||||||
|
return ControlColorConfiguration().with {
|
||||||
|
$0.setSurfaceColors(VDSColor.backgroundPrimaryDark, VDSColor.backgroundPrimaryLight, forState: .normal)
|
||||||
|
$0.setSurfaceColors(VDSColor.interactiveActiveOnlight, VDSColor.interactiveActiveOndark, forState: .highlighted)
|
||||||
|
$0.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: .disabled)
|
||||||
|
}.eraseToAnyColorable()
|
||||||
|
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
|
private struct HighContrastFloatingConfiguration: Configuration {
|
||||||
|
var kind: Kind = .highContrast
|
||||||
|
var surfaceType: SurfaceType = .colorFill
|
||||||
|
var floating: Bool = true
|
||||||
|
var backgroundColorConfig: AnyColorable = {
|
||||||
|
return ControlColorConfiguration().with {
|
||||||
|
$0.setSurfaceColors(VDSColor.backgroundPrimaryLight, VDSColor.backgroundPrimaryLight, forState: .normal)
|
||||||
|
$0.setSurfaceColors(VDSColor.interactiveActiveOnlight, VDSColor.interactiveActiveOndark, forState: .highlighted)
|
||||||
|
$0.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: .disabled)
|
||||||
|
}.eraseToAnyColorable()
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Initializers
|
// MARK: - Initializers
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -195,17 +273,14 @@ open class ButtonIcon: Control {
|
|||||||
//ensure there is an icon to set
|
//ensure there is an icon to set
|
||||||
if let currentIconName {
|
if let currentIconName {
|
||||||
icon.name = currentIconName
|
icon.name = currentIconName
|
||||||
icon.color = iconColorConfig.getColor(self)
|
let color = iconColorConfig.getColor(self)
|
||||||
|
icon.color = color
|
||||||
icon.size = size.value
|
icon.size = size.value
|
||||||
icon.surface = surface
|
|
||||||
icon.disabled = disabled
|
|
||||||
icon.customSize = customSize
|
icon.customSize = customSize
|
||||||
} else {
|
} else {
|
||||||
icon.reset()
|
icon.reset()
|
||||||
}
|
}
|
||||||
|
|
||||||
icon.backgroundColor = .green
|
|
||||||
|
|
||||||
setNeedsLayout()
|
setNeedsLayout()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -264,88 +339,6 @@ open class ButtonIcon: Control {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private struct GhostConfiguration: Configuration {
|
|
||||||
var kind: Kind = .ghost
|
|
||||||
var surfaceType: SurfaceType = .colorFill
|
|
||||||
var floating: Bool = false
|
|
||||||
var backgroundColorConfig: AnyColorable = {
|
|
||||||
SurfaceColorConfiguration(.clear, .clear).eraseToAnyColorable()
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
|
|
||||||
private struct LowContrastColorFillConfiguration: Configuration {
|
|
||||||
var kind: Kind = .lowContrast
|
|
||||||
var surfaceType: SurfaceType = .colorFill
|
|
||||||
var floating: Bool = false
|
|
||||||
var backgroundColorConfig: AnyColorable = {
|
|
||||||
SurfaceColorConfiguration(VDSColor.paletteGray44.withAlphaComponent(0.94), .clear).eraseToAnyColorable()
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
|
|
||||||
private struct LowContrastColorFillFloatingConfiguration: Configuration {
|
|
||||||
var kind: Kind = .lowContrast
|
|
||||||
var surfaceType: SurfaceType = .colorFill
|
|
||||||
var floating: Bool = true
|
|
||||||
var backgroundColorConfig: AnyColorable = {
|
|
||||||
SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, .clear).eraseToAnyColorable()
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
|
|
||||||
private struct LowContrastMediaConfiguration: Configuration, Borderable {
|
|
||||||
var kind: Kind = .lowContrast
|
|
||||||
var surfaceType: SurfaceType = .media
|
|
||||||
var floating: Bool = false
|
|
||||||
var backgroundColorConfig: AnyColorable = {
|
|
||||||
SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, .clear).eraseToAnyColorable()
|
|
||||||
}()
|
|
||||||
var borderWidth: CGFloat = 1.0
|
|
||||||
var borderColorConfig: AnyColorable = {
|
|
||||||
SurfaceColorConfiguration(VDSColor.elementsLowcontrastOnlight, .clear).eraseToAnyColorable()
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
|
|
||||||
private struct LowContrastMediaFloatingConfiguration: Configuration, Dropshadowable {
|
|
||||||
var kind: Kind = .lowContrast
|
|
||||||
var surfaceType: SurfaceType = .media
|
|
||||||
var floating: Bool = true
|
|
||||||
var backgroundColorConfig: AnyColorable = {
|
|
||||||
SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, .clear).eraseToAnyColorable()
|
|
||||||
}()
|
|
||||||
var shadowColorConfig: AnyColorable = {
|
|
||||||
SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, .clear).eraseToAnyColorable()
|
|
||||||
}()
|
|
||||||
var shadowOpacity: CGFloat = 0.5
|
|
||||||
var shadowOffset: CGSize = .init(width: 1, height: 1)
|
|
||||||
var shadowRadius: CGFloat = 2
|
|
||||||
}
|
|
||||||
|
|
||||||
private struct HighContrastConfiguration: Configuration {
|
|
||||||
var kind: Kind = .highContrast
|
|
||||||
var surfaceType: SurfaceType = .colorFill
|
|
||||||
var floating: Bool = false
|
|
||||||
var backgroundColorConfig: AnyColorable = {
|
|
||||||
return ControlColorConfiguration().with {
|
|
||||||
$0.setSurfaceColors(VDSColor.backgroundPrimaryDark, VDSColor.backgroundPrimaryLight, forState: .normal)
|
|
||||||
$0.setSurfaceColors(VDSColor.interactiveActiveOnlight, VDSColor.interactiveActiveOndark, forState: .highlighted)
|
|
||||||
$0.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: .disabled)
|
|
||||||
}.eraseToAnyColorable()
|
|
||||||
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
|
|
||||||
private struct HighContrastFloatingConfiguration: Configuration {
|
|
||||||
var kind: Kind = .highContrast
|
|
||||||
var surfaceType: SurfaceType = .colorFill
|
|
||||||
var floating: Bool = true
|
|
||||||
var backgroundColorConfig: AnyColorable = {
|
|
||||||
return ControlColorConfiguration().with {
|
|
||||||
$0.setSurfaceColors(VDSColor.backgroundPrimaryLight, VDSColor.backgroundPrimaryLight, forState: .normal)
|
|
||||||
$0.setSurfaceColors(VDSColor.interactiveActiveOnlight, VDSColor.interactiveActiveOndark, forState: .highlighted)
|
|
||||||
$0.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: .disabled)
|
|
||||||
}.eraseToAnyColorable()
|
|
||||||
}()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: AppleGuidlinesTouchable
|
// MARK: AppleGuidlinesTouchable
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user