55 lines
1.4 KiB
Swift
55 lines
1.4 KiB
Swift
//
|
|
// ToggleModel.swift
|
|
// VDS
|
|
//
|
|
// Created by Matt Bruce on 7/22/22.
|
|
//
|
|
|
|
import Foundation
|
|
import UIKit
|
|
|
|
extension VDSToggle {
|
|
public enum TextPosition: String, Codable {
|
|
case left, right
|
|
}
|
|
}
|
|
|
|
public protocol VDSToggleModel: VDSLabelModel, FormFieldable, DataTrackable, Disabling, Accessable {
|
|
var id: String? { get set }
|
|
var showText: Bool { get set }
|
|
var on: Bool { get set }
|
|
var offText: String { get set }
|
|
var onText: String { get set }
|
|
}
|
|
|
|
extension VDSToggleModel {
|
|
public var fontCategory: VDSFontCategory {
|
|
get { return .body }
|
|
set { return }
|
|
}
|
|
}
|
|
|
|
public class DefaultToggleModel: DefaultLabelModel, VDSToggleModel {
|
|
public var id: String?
|
|
public var inputId: String?
|
|
public var disabled: Bool = false
|
|
public var showText: Bool = false
|
|
public var on: Bool = false
|
|
public var offText: String = "Off"
|
|
public var onText: String = "On"
|
|
public var value: AnyHashable? = true
|
|
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 required init() {
|
|
super.init()
|
|
}
|
|
}
|