vds_ios/VDS/Components/TitleLockup/TitleLockupTitleModel.swift
Matt Bruce 4685c6d398 Implemented TextColor changes to TitleLockup
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
2024-05-06 16:42:12 -05:00

56 lines
1.9 KiB
Swift

//
// TitleLockupTitleModel.swift
// VDS
//
// Created by Matt Bruce on 1/6/23.
//
import Foundation
import UIKit
extension TitleLockup {
/// Model that represents the options available for the sub title label.
public struct TitleModel {
/// Text that will be used for the title label.
public var text: String
/// Text color that will be used for the eyebrow label
public var textColor: TitleTextColor
/// Array of LabelAttributeModel objects used in rendering the text.
public var textAttributes: [any LabelAttributeModel]?
/// Used in combination with standardStyle to set the textStyle that will be used for the title label.
public var isBold: Bool
/// Text style that will be used for the title label.
public var standardStyle: TitleStandardStyle
/// Number of lines that will be used for the title label.
public var numberOfLines: Int
/// LineBreakMode used in subtitle label.
public var lineBreakMode: NSLineBreakMode
public init(text: String,
textColor: TitleTextColor = .primary,
textAttributes: [any LabelAttributeModel]? = nil,
isBold: Bool = true,
standardStyle: TitleStandardStyle = .featureXSmall,
numberOfLines: Int = 0,
lineBreakMode: NSLineBreakMode = .byTruncatingTail) {
self.text = text
self.textColor = textColor
self.isBold = isBold
self.textAttributes = textAttributes
self.standardStyle = standardStyle
self.numberOfLines = numberOfLines
self.lineBreakMode = lineBreakMode
}
/// TextStyle used to render the text.
public var textStyle: TextStyle { isBold ? standardStyle.value.bold : standardStyle.value.regular }
}
}