From da517ee9f8b155bb9394037f7388891951e968c5 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Wed, 3 Aug 2022 13:33:01 -0500 Subject: [PATCH] updated checkbox Signed-off-by: Matt Bruce --- VDS/Components/Checkbox/VDSCheckbox.swift | 42 +++++++++++-------- .../Checkbox/VDSCheckboxModel.swift | 2 +- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/VDS/Components/Checkbox/VDSCheckbox.swift b/VDS/Components/Checkbox/VDSCheckbox.swift index f2f15815..29baf6cf 100644 --- a/VDS/Components/Checkbox/VDSCheckbox.swift +++ b/VDS/Components/Checkbox/VDSCheckbox.swift @@ -280,10 +280,18 @@ open class VDSCheckboxBase: VDSControl, colors = (on: VDSColor.interactiveDisabledOndark, off: .clear) } } else { - if viewModel.surface == .light { - colors = (on: VDSColor.elementsPrimaryOnlight, off: .clear) + if viewModel.showError { + if viewModel.surface == .light { + colors = (on: VDSColor.elementsPrimaryOnlight, off: VDSColor.feedbackErrorBackgroundOnlight) + } else { + colors = (on: VDSColor.elementsPrimaryOndark, off: VDSColor.feedbackErrorBackgroundOndark) + } } else { - colors = (on: VDSColor.elementsPrimaryOndark, off: .clear) + if viewModel.surface == .light { + colors = (on: VDSColor.elementsPrimaryOnlight, off: .clear) + } else { + colors = (on: VDSColor.elementsPrimaryOndark, off: .clear) + } } } return viewModel.on ? colors.on : colors.off @@ -298,10 +306,18 @@ open class VDSCheckboxBase: VDSControl, colors = (on: VDSColor.interactiveDisabledOndark, off: VDSColor.interactiveDisabledOnlight) } } else { - if viewModel.surface == .light { - colors = (on: VDSColor.elementsPrimaryOnlight, off: VDSFormControlsColor.borderOnlight) + if viewModel.showError { + if viewModel.surface == .light { + colors = (on: VDSColor.elementsPrimaryOnlight, off: VDSColor.feedbackErrorOnlight) + } else { + colors = (on: VDSColor.elementsPrimaryOndark, off: VDSColor.feedbackErrorOndark) + } } else { - colors = (on: VDSColor.elementsPrimaryOndark, off: VDSFormControlsColor.borderOndark) + if viewModel.surface == .light { + colors = (on: VDSColor.elementsPrimaryOnlight, off: VDSFormControlsColor.borderOnlight) + } else { + colors = (on: VDSColor.elementsPrimaryOndark, off: VDSFormControlsColor.borderOndark) + } } } return viewModel.on ? colors.on : colors.off @@ -309,18 +325,10 @@ open class VDSCheckboxBase: VDSControl, private func getCheckboxCheckColor(_ viewModel: ModelType) -> UIColor { var color: UIColor - if disabled { - if surface == .light { - color = VDSColor.interactiveDisabledOndark - } else { - color = VDSColor.interactiveDisabledOnlight - } + if surface == .light { + color = VDSColor.elementsPrimaryOndark } else { - if surface == .light { - color = VDSColor.elementsPrimaryOndark - } else { - color = VDSColor.elementsPrimaryOnlight - } + color = VDSColor.elementsPrimaryOnlight } return viewModel.on ? color : .clear } diff --git a/VDS/Components/Checkbox/VDSCheckboxModel.swift b/VDS/Components/Checkbox/VDSCheckboxModel.swift index c3cce4b9..31b21f3e 100644 --- a/VDS/Components/Checkbox/VDSCheckboxModel.swift +++ b/VDS/Components/Checkbox/VDSCheckboxModel.swift @@ -27,7 +27,7 @@ extension VDSCheckboxModel { } public var shouldShowError: Bool { - guard showError && errorText?.isEmpty == false else { return false } + guard showError && !disabled && errorText?.isEmpty == false else { return false } return true }