From b62ad4fe3cc61ad8e523e0717ce0f64246df0b55 Mon Sep 17 00:00:00 2001 From: Sumanth Nadigadda Date: Mon, 25 Jul 2022 11:25:26 +0530 Subject: [PATCH 1/3] Fix for DOPMO-182687, Retaining the voice over focus on the selected tab rather than resetting to the top. --- .../Atomic/Molecules/HorizontalCombinationViews/Tabs.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift index 4e424549..bb3db689 100644 --- a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift +++ b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift @@ -258,6 +258,9 @@ extension Tabs: UICollectionViewDelegateFlowLayout { } else if let action = tabsModel.tabs[selectedIndex].action { MVMCoreActionHandler.shared()?.asyncHandleAction(with: action, additionalData: [KeySourceModel: tabsModel], delegateObject:delegateObject) } + if UIAccessibility.isVoiceOverRunning { + UIAccessibility.post(notification: .layoutChanged, argument: tabCell) + } } } From a241265bab2e294aaa4be927bb0784366c3ae233 Mon Sep 17 00:00:00 2001 From: Sumanth Nadigadda Date: Wed, 3 Aug 2022 15:17:25 +0530 Subject: [PATCH 2/3] VDS radio button of size and color changes as per 3.0 design --- .../Atomic/Atoms/Selectors/RadioButton.swift | 19 +++++++++++-------- .../Atoms/Selectors/RadioButtonModel.swift | 6 ++++++ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/MVMCoreUI/Atomic/Atoms/Selectors/RadioButton.swift b/MVMCoreUI/Atomic/Atoms/Selectors/RadioButton.swift index 1854f943..e3b3a2c0 100644 --- a/MVMCoreUI/Atomic/Atoms/Selectors/RadioButton.swift +++ b/MVMCoreUI/Atomic/Atoms/Selectors/RadioButton.swift @@ -7,14 +7,14 @@ // import UIKit - +import VDSColorTokens @objcMembers open class RadioButton: Control, MFButtonProtocol { //-------------------------------------------------- // MARK: - Properties //-------------------------------------------------- - public var diameter: CGFloat = 30 { + public var diameter: CGFloat = 20 { didSet { widthConstraint?.constant = diameter } } @@ -24,9 +24,12 @@ import UIKit updateAccessibilityLabel() } } - - public var enabledColor: UIColor = .mvmBlack - public var disabledColor: UIColor = .mvmCoolGray3 + public var enabledColor: UIColor { + return radioModel?.inverted ?? false ? VDSColor.elementsPrimaryOndark : VDSColor.elementsPrimaryOnlight + } + public var disabledColor: UIColor { + return radioModel?.inverted ?? false ? VDSColor.interactiveDisabledOndark : VDSColor.interactiveDisabledOnlight + } public var delegateObject: MVMCoreUIDelegateObject? var additionalData: [AnyHashable: Any]? @@ -141,9 +144,9 @@ import UIKit open override func setupView() { super.setupView() - backgroundColor = .mvmWhite + backgroundColor = .clear clipsToBounds = true - widthConstraint = widthAnchor.constraint(equalToConstant: 30) + widthConstraint = widthAnchor.constraint(equalToConstant: 20) widthConstraint?.isActive = true heightConstraint = heightAnchor.constraint(equalTo: widthAnchor, multiplier: 1) heightConstraint?.isActive = true @@ -169,6 +172,6 @@ import UIKit public override func reset() { super.reset() - backgroundColor = .mvmWhite + backgroundColor = .clear } } diff --git a/MVMCoreUI/Atomic/Atoms/Selectors/RadioButtonModel.swift b/MVMCoreUI/Atomic/Atoms/Selectors/RadioButtonModel.swift index 8db46032..86eb36e9 100644 --- a/MVMCoreUI/Atomic/Atoms/Selectors/RadioButtonModel.swift +++ b/MVMCoreUI/Atomic/Atoms/Selectors/RadioButtonModel.swift @@ -28,6 +28,7 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol { public var groupName: String = FormValidator.defaultGroupName public var fieldKey: String? public var action: ActionModelProtocol? + public var inverted: Bool = false //-------------------------------------------------- // MARK: - Keys @@ -44,6 +45,7 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol { case groupName case action case readOnly + case inverted } //-------------------------------------------------- @@ -94,6 +96,9 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol { } fieldValue = try typeContainer.decodeIfPresent(String.self, forKey: .fieldValue) action = try typeContainer.decodeModelIfPresent(codingKey: .action) + if let inverted = try typeContainer.decodeIfPresent(Bool.self, forKey: .inverted) { + self.inverted = inverted + } } public func encode(to encoder: Encoder) throws { @@ -108,5 +113,6 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol { try container.encodeIfPresent(groupName, forKey: .groupName) try container.encodeIfPresent(fieldValue, forKey: .fieldValue) try container.encodeModelIfPresent(action, forKey: .action) + try container.encodeIfPresent(inverted, forKey: .inverted) } } From 747f951b1b298d5241b58b8e96c79f54e455743d Mon Sep 17 00:00:00 2001 From: Sumanth Nadigadda Date: Wed, 3 Aug 2022 23:11:45 +0530 Subject: [PATCH 3/3] Updating the border color for radio button --- MVMCoreUI/Atomic/Atoms/Selectors/RadioButton.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MVMCoreUI/Atomic/Atoms/Selectors/RadioButton.swift b/MVMCoreUI/Atomic/Atoms/Selectors/RadioButton.swift index e3b3a2c0..1f82a63c 100644 --- a/MVMCoreUI/Atomic/Atoms/Selectors/RadioButton.swift +++ b/MVMCoreUI/Atomic/Atoms/Selectors/RadioButton.swift @@ -8,6 +8,7 @@ import UIKit import VDSColorTokens +import VDSFormControlsTokens @objcMembers open class RadioButton: Control, MFButtonProtocol { //-------------------------------------------------- @@ -25,7 +26,7 @@ import VDSColorTokens } } public var enabledColor: UIColor { - return radioModel?.inverted ?? false ? VDSColor.elementsPrimaryOndark : VDSColor.elementsPrimaryOnlight + return radioModel?.inverted ?? false ? VDSFormControlsColor.borderOndark : VDSFormControlsColor.borderOnlight } public var disabledColor: UIColor { return radioModel?.inverted ?? false ? VDSColor.interactiveDisabledOndark : VDSColor.interactiveDisabledOnlight