diff --git a/VDS/Components/RadioSwatch/RadioSwatchModel.swift b/VDS/Components/RadioSwatch/RadioSwatchModel.swift index d672e9f7..ced4ad48 100644 --- a/VDS/Components/RadioSwatch/RadioSwatchModel.swift +++ b/VDS/Components/RadioSwatch/RadioSwatchModel.swift @@ -6,3 +6,44 @@ // import Foundation +import UIKit + +public protocol RadioSwatchModel: Modelable, FormFieldable, DataTrackable, Accessable, Selectable, BinaryColorable { + var fillImage: String? { get set } + var primaryColor: UIColor? { get set } + var secondaryColor: UIColor? { get set } + var text: String { get set } + var textAttributes: [LabelAttributeModel]? { get set } + var strikethrough: Bool { get set } +} + +public struct DefaultRadioSwatchModel: RadioSwatchModel { + public var id: UUID = UUID() + public var selected: Bool = false + + public var fillImage: String? + @OptionalCodableColor public var primaryColor: UIColor? + @OptionalCodableColor public var secondaryColor: UIColor? + public var text: String = "" + public var textAttributes: [LabelAttributeModel]? + public var strikethrough: Bool = false + + public var inputId: String? + public var value: AnyHashable? + + public var surface: Surface = .light + public var disabled: Bool = false + + public var dataAnalyticsTrack: String? + public var dataClickStream: String? + public var dataTrack: String? + public var accessibilityHintEnabled: String? + public var accessibilityHintDisabled: String? + public var accessibilityValueEnabled: String? + public var accessibilityValueDisabled: String? + public var accessibilityLabelEnabled: String? + public var accessibilityLabelDisabled: String? + + public init() {} + +}