From ce4faadf0cfdfad657c0a9659c6945cd5ad74e4d Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Wed, 3 Aug 2022 09:01:46 -0500 Subject: [PATCH] converted defaults to structs Signed-off-by: Matt Bruce --- VDS/Classes/VDSConstants.swift | 6 ++++++ VDS/Components/Checkbox/VDSCheckboxModel.swift | 4 ++-- VDS/Components/Toggle/VDSToggleModel.swift | 14 ++++++++++---- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/VDS/Classes/VDSConstants.swift b/VDS/Classes/VDSConstants.swift index fb496161..b4655d68 100644 --- a/VDS/Classes/VDSConstants.swift +++ b/VDS/Classes/VDSConstants.swift @@ -7,6 +7,12 @@ import Foundation +public func updated (_ value: T, with update: (inout T) -> Void) -> T { + var editable = value + update(&editable) + return editable +} + public struct VDSConstants { public static let ModelStateDebounce = 0.02 } diff --git a/VDS/Components/Checkbox/VDSCheckboxModel.swift b/VDS/Components/Checkbox/VDSCheckboxModel.swift index 609d5973..c3cce4b9 100644 --- a/VDS/Components/Checkbox/VDSCheckboxModel.swift +++ b/VDS/Components/Checkbox/VDSCheckboxModel.swift @@ -76,7 +76,7 @@ extension VDSCheckboxModel { } } -public class DefaultCheckboxModel: VDSCheckboxModel { +public struct DefaultCheckboxModel: VDSCheckboxModel { public var id: String? public var on: Bool = false @@ -102,5 +102,5 @@ public class DefaultCheckboxModel: VDSCheckboxModel { public var accessibilityLabelEnabled: String? public var accessibilityLabelDisabled: String? - public required init() {} + public init() {} } diff --git a/VDS/Components/Toggle/VDSToggleModel.swift b/VDS/Components/Toggle/VDSToggleModel.swift index d3738934..f6da7380 100644 --- a/VDS/Components/Toggle/VDSToggleModel.swift +++ b/VDS/Components/Toggle/VDSToggleModel.swift @@ -41,7 +41,7 @@ extension VDSToggleModel { } } -public class DefaultToggleModel: DefaultLabelModel, VDSToggleModel { +public struct DefaultToggleModel: VDSToggleModel { public var id: String? public var inputId: String? public var showText: Bool = false @@ -49,6 +49,8 @@ public class DefaultToggleModel: DefaultLabelModel, VDSToggleModel { public var offText: String = "Off" public var onText: String = "On" public var value: AnyHashable? = true + public var surface: Surface = .light + public var disabled: Bool = false public var dataAnalyticsTrack: String? public var dataClickStream: String? public var dataTrack: String? @@ -59,7 +61,11 @@ public class DefaultToggleModel: DefaultLabelModel, VDSToggleModel { public var accessibilityLabelEnabled: String? public var accessibilityLabelDisabled: String? - public required init() { - super.init() - } + //labelmodel + public var fontCategory: VDSFontCategory = .body + public var fontSize: VDSFontSize = .small + public var fontWeight: VDSFontWeight = .regular + public var textPosition: VDSTextPosition = .left + + public init() { } }