From 00f73a503c03ed40c3684410dd232b23ce15015c Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Fri, 19 Jul 2024 13:13:21 -0500 Subject: [PATCH] CXTDT-581800 - Date Picker - Selected Error state icon Signed-off-by: Matt Bruce --- VDS/Components/DatePicker/DatePicker.swift | 18 +++++++++++++++++- VDS/SupportingFiles/ReleaseNotes.txt | 3 +++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/VDS/Components/DatePicker/DatePicker.swift b/VDS/Components/DatePicker/DatePicker.swift index 83450403..3a41780e 100644 --- a/VDS/Components/DatePicker/DatePicker.swift +++ b/VDS/Components/DatePicker/DatePicker.swift @@ -27,6 +27,19 @@ open class DatePicker: EntryFieldBase { /// A callback when the selected option changes. Passes parameters (option). open var onDateSelected: ((Date, DatePicker) -> Void)? + /// Override UIControl state to add the .error state if showError is true. + open override var state: UIControl.State { + get { + var state = super.state + if isEnabled { + if isCalendarShowing { + state.insert(.focused) + } + } + return state + } + } + //-------------------------------------------------- // MARK: - Private Properties //-------------------------------------------------- @@ -35,8 +48,9 @@ open class DatePicker: EntryFieldBase { true } } - + internal override var responder: UIResponder? { hiddenView } + internal var isCalendarShowing: Bool = false { didSet { setNeedsUpdate() } } internal var hiddenView = Responder().with { $0.width(0) } internal var minWidthDefault = 186.0 internal var bottomStackView: UIStackView = { @@ -315,6 +329,7 @@ extension DatePicker { } } + isCalendarShowing = true } private func hidePopoverView() { @@ -346,6 +361,7 @@ extension DatePicker { UIAccessibility.post(notification: .layoutChanged, argument: containerView) } } + isCalendarShowing = false } private func calculatePopoverPosition(relativeTo sourceView: UIView, in parentView: UIView, size: CGSize, with spacing: CGFloat) -> CGPoint? { diff --git a/VDS/SupportingFiles/ReleaseNotes.txt b/VDS/SupportingFiles/ReleaseNotes.txt index 973e8ed8..bc182364 100644 --- a/VDS/SupportingFiles/ReleaseNotes.txt +++ b/VDS/SupportingFiles/ReleaseNotes.txt @@ -1,7 +1,10 @@ 1.0.71 ---------------- +- CXTDT-581800 - DatePicker - Selected Error state icon - CXTDT-581803 - DatePicker - Calendar does not switch to Dark Mode - CXTDT-584278 – InputField - Accessibility +- CXTDT-586375 - Table - Issue With Stripe +- CXTDT-577463 - InputField - Accessibility - #7 1.0.70 ----------------