From f41e6f9c9c9cacd517d4d4564c8f2746567b94e8 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Mon, 17 Apr 2023 16:36:14 -0500 Subject: [PATCH] updated color for state changes Signed-off-by: Matt Bruce --- VDS/Components/Tooltip/Tooltip.swift | 36 ++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/VDS/Components/Tooltip/Tooltip.swift b/VDS/Components/Tooltip/Tooltip.swift index a3b3e612..41aea54c 100644 --- a/VDS/Components/Tooltip/Tooltip.swift +++ b/VDS/Components/Tooltip/Tooltip.swift @@ -67,13 +67,35 @@ open class Tooltip: Control, TooltipLaunchable { //-------------------------------------------------- // MARK: - Configuration //-------------------------------------------------- - private var iconColorConfig: AnyColorable = { - let config = KeyedColorConfiguration(keyPath: \.fillColor) - config.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forKey: .primary) - config.setSurfaceColors(VDSColor.elementsSecondaryOnlight, VDSColor.elementsSecondaryOndark, forKey: .secondary) - config.setSurfaceColors(VDSColor.elementsBrandhighlight, VDSColor.elementsBrandhighlight, forKey: .brandHighlight) - return config.eraseToAnyColorable() - }() + private var iconColorConfig: AnyColorable { + switch fillColor { + + case .primary: + return primaryColorConfig.eraseToAnyColorable() + case .secondary: + return secondaryColorConfig.eraseToAnyColorable() + case .brandHighlight: + return brandHighlightColorConfig.eraseToAnyColorable() + } + } + + private var primaryColorConfig = ControlColorConfiguration().with { + $0.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .normal) + $0.setSurfaceColors(VDSColor.interactiveActiveOnlight, VDSColor.interactiveActiveOndark, forState: .highlighted) + $0.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: .disabled) + } + + private var secondaryColorConfig = ControlColorConfiguration().with { + $0.setSurfaceColors(VDSColor.elementsSecondaryOnlight, VDSColor.elementsSecondaryOndark, forState: .normal) + $0.setSurfaceColors(VDSColor.paletteGray65, VDSColor.paletteGray65, forState: .highlighted) + $0.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: .disabled) + } + + private var brandHighlightColorConfig = ControlColorConfiguration().with { + $0.setSurfaceColors(VDSColor.elementsBrandhighlight, VDSColor.elementsBrandhighlight, forState: .normal) + $0.setSurfaceColors(VDSColor.elementsBrandhighlight, VDSColor.elementsBrandhighlight, forState: .highlighted) + $0.setSurfaceColors(VDSColor.interactiveDisabledOnlight, VDSColor.interactiveDisabledOndark, forState: .disabled) + } //-------------------------------------------------- // MARK: - Initializers