refactored Typography
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
b912835c22
commit
b4b1de52a2
@ -31,7 +31,6 @@
|
|||||||
EA33622C2891E73B0071C351 /* FontProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33622B2891E73B0071C351 /* FontProtocol.swift */; };
|
EA33622C2891E73B0071C351 /* FontProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33622B2891E73B0071C351 /* FontProtocol.swift */; };
|
||||||
EA33622E2891EA3C0071C351 /* DispatchQueue+Once.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33622D2891EA3C0071C351 /* DispatchQueue+Once.swift */; };
|
EA33622E2891EA3C0071C351 /* DispatchQueue+Once.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33622D2891EA3C0071C351 /* DispatchQueue+Once.swift */; };
|
||||||
EA3362302891EB4A0071C351 /* Fonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33622F2891EB4A0071C351 /* Fonts.swift */; };
|
EA3362302891EB4A0071C351 /* Fonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33622F2891EB4A0071C351 /* Fonts.swift */; };
|
||||||
EA3362322891F2ED0071C351 /* FontStyles.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3362312891F2ED0071C351 /* FontStyles.swift */; };
|
|
||||||
EA33623E2892EE950071C351 /* UIDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33623D2892EE950071C351 /* UIDevice.swift */; };
|
EA33623E2892EE950071C351 /* UIDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33623D2892EE950071C351 /* UIDevice.swift */; };
|
||||||
EA3362402892EF6C0071C351 /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33623F2892EF6B0071C351 /* Label.swift */; };
|
EA3362402892EF6C0071C351 /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33623F2892EF6B0071C351 /* Label.swift */; };
|
||||||
EA3362432892EFF20071C351 /* LabelModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3362422892EFF20071C351 /* LabelModel.swift */; };
|
EA3362432892EFF20071C351 /* LabelModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3362422892EFF20071C351 /* LabelModel.swift */; };
|
||||||
@ -55,7 +54,6 @@
|
|||||||
EAF7F0A2289AFB3900B287F5 /* Errorable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0A1289AFB3900B287F5 /* Errorable.swift */; };
|
EAF7F0A2289AFB3900B287F5 /* Errorable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0A1289AFB3900B287F5 /* Errorable.swift */; };
|
||||||
EAF7F0A4289B017C00B287F5 /* LabelAttributeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0A3289B017C00B287F5 /* LabelAttributeModel.swift */; };
|
EAF7F0A4289B017C00B287F5 /* LabelAttributeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0A3289B017C00B287F5 /* LabelAttributeModel.swift */; };
|
||||||
EAF7F0A6289B0CE000B287F5 /* Resetable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0A5289B0CE000B287F5 /* Resetable.swift */; };
|
EAF7F0A6289B0CE000B287F5 /* Resetable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0A5289B0CE000B287F5 /* Resetable.swift */; };
|
||||||
EAF7F0A8289B119400B287F5 /* Fontable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0A7289B119400B287F5 /* Fontable.swift */; };
|
|
||||||
EAF7F0AB289B13FD00B287F5 /* LabelAttributeFont.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0AA289B13FD00B287F5 /* LabelAttributeFont.swift */; };
|
EAF7F0AB289B13FD00B287F5 /* LabelAttributeFont.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0AA289B13FD00B287F5 /* LabelAttributeFont.swift */; };
|
||||||
EAF7F0AD289B142900B287F5 /* LabelAttributeStrikeThrough.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0AC289B142900B287F5 /* LabelAttributeStrikeThrough.swift */; };
|
EAF7F0AD289B142900B287F5 /* LabelAttributeStrikeThrough.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0AC289B142900B287F5 /* LabelAttributeStrikeThrough.swift */; };
|
||||||
EAF7F0AF289B144C00B287F5 /* LabelAttributeUnderline.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0AE289B144C00B287F5 /* LabelAttributeUnderline.swift */; };
|
EAF7F0AF289B144C00B287F5 /* LabelAttributeUnderline.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0AE289B144C00B287F5 /* LabelAttributeUnderline.swift */; };
|
||||||
@ -65,7 +63,6 @@
|
|||||||
EAF7F0B7289C12A600B287F5 /* UITapGestureRecognizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0B6289C12A600B287F5 /* UITapGestureRecognizer.swift */; };
|
EAF7F0B7289C12A600B287F5 /* UITapGestureRecognizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0B6289C12A600B287F5 /* UITapGestureRecognizer.swift */; };
|
||||||
EAF7F0B9289C139800B287F5 /* ColorConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0B8289C139800B287F5 /* ColorConfiguration.swift */; };
|
EAF7F0B9289C139800B287F5 /* ColorConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0B8289C139800B287F5 /* ColorConfiguration.swift */; };
|
||||||
EAF7F0BB289D80ED00B287F5 /* Modelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0BA289D80ED00B287F5 /* Modelable.swift */; };
|
EAF7F0BB289D80ED00B287F5 /* Modelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0BA289D80ED00B287F5 /* Modelable.swift */; };
|
||||||
EAF7F0BD289D81B100B287F5 /* FontStyleable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0BC289D81B100B287F5 /* FontStyleable.swift */; };
|
|
||||||
EAF7F0F8289DB1AC00B287F5 /* VDSFormControlsTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAF7F0E8289DB0DA00B287F5 /* VDSFormControlsTokens.xcframework */; };
|
EAF7F0F8289DB1AC00B287F5 /* VDSFormControlsTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAF7F0E8289DB0DA00B287F5 /* VDSFormControlsTokens.xcframework */; };
|
||||||
EAF7F0F9289DB1AC00B287F5 /* VDSTypographyTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA3361F32891D5290071C351 /* VDSTypographyTokens.xcframework */; };
|
EAF7F0F9289DB1AC00B287F5 /* VDSTypographyTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA3361F32891D5290071C351 /* VDSTypographyTokens.xcframework */; };
|
||||||
EAF7F0FB289DB1AC00B287F5 /* VDSColorTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAF7F0E9289DB0DA00B287F5 /* VDSColorTokens.xcframework */; };
|
EAF7F0FB289DB1AC00B287F5 /* VDSColorTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAF7F0E9289DB0DA00B287F5 /* VDSColorTokens.xcframework */; };
|
||||||
@ -115,7 +112,6 @@
|
|||||||
EA33622B2891E73B0071C351 /* FontProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FontProtocol.swift; sourceTree = "<group>"; };
|
EA33622B2891E73B0071C351 /* FontProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FontProtocol.swift; sourceTree = "<group>"; };
|
||||||
EA33622D2891EA3C0071C351 /* DispatchQueue+Once.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DispatchQueue+Once.swift"; sourceTree = "<group>"; };
|
EA33622D2891EA3C0071C351 /* DispatchQueue+Once.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DispatchQueue+Once.swift"; sourceTree = "<group>"; };
|
||||||
EA33622F2891EB4A0071C351 /* Fonts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fonts.swift; sourceTree = "<group>"; };
|
EA33622F2891EB4A0071C351 /* Fonts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fonts.swift; sourceTree = "<group>"; };
|
||||||
EA3362312891F2ED0071C351 /* FontStyles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FontStyles.swift; sourceTree = "<group>"; };
|
|
||||||
EA33623D2892EE950071C351 /* UIDevice.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIDevice.swift; sourceTree = "<group>"; };
|
EA33623D2892EE950071C351 /* UIDevice.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIDevice.swift; sourceTree = "<group>"; };
|
||||||
EA33623F2892EF6B0071C351 /* Label.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = "<group>"; };
|
EA33623F2892EF6B0071C351 /* Label.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = "<group>"; };
|
||||||
EA3362422892EFF20071C351 /* LabelModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelModel.swift; sourceTree = "<group>"; };
|
EA3362422892EFF20071C351 /* LabelModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelModel.swift; sourceTree = "<group>"; };
|
||||||
@ -138,7 +134,6 @@
|
|||||||
EAF7F0A1289AFB3900B287F5 /* Errorable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Errorable.swift; sourceTree = "<group>"; };
|
EAF7F0A1289AFB3900B287F5 /* Errorable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Errorable.swift; sourceTree = "<group>"; };
|
||||||
EAF7F0A3289B017C00B287F5 /* LabelAttributeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelAttributeModel.swift; sourceTree = "<group>"; };
|
EAF7F0A3289B017C00B287F5 /* LabelAttributeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelAttributeModel.swift; sourceTree = "<group>"; };
|
||||||
EAF7F0A5289B0CE000B287F5 /* Resetable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Resetable.swift; sourceTree = "<group>"; };
|
EAF7F0A5289B0CE000B287F5 /* Resetable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Resetable.swift; sourceTree = "<group>"; };
|
||||||
EAF7F0A7289B119400B287F5 /* Fontable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fontable.swift; sourceTree = "<group>"; };
|
|
||||||
EAF7F0AA289B13FD00B287F5 /* LabelAttributeFont.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelAttributeFont.swift; sourceTree = "<group>"; };
|
EAF7F0AA289B13FD00B287F5 /* LabelAttributeFont.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelAttributeFont.swift; sourceTree = "<group>"; };
|
||||||
EAF7F0AC289B142900B287F5 /* LabelAttributeStrikeThrough.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelAttributeStrikeThrough.swift; sourceTree = "<group>"; };
|
EAF7F0AC289B142900B287F5 /* LabelAttributeStrikeThrough.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelAttributeStrikeThrough.swift; sourceTree = "<group>"; };
|
||||||
EAF7F0AE289B144C00B287F5 /* LabelAttributeUnderline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelAttributeUnderline.swift; sourceTree = "<group>"; };
|
EAF7F0AE289B144C00B287F5 /* LabelAttributeUnderline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelAttributeUnderline.swift; sourceTree = "<group>"; };
|
||||||
@ -148,7 +143,6 @@
|
|||||||
EAF7F0B6289C12A600B287F5 /* UITapGestureRecognizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITapGestureRecognizer.swift; sourceTree = "<group>"; };
|
EAF7F0B6289C12A600B287F5 /* UITapGestureRecognizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITapGestureRecognizer.swift; sourceTree = "<group>"; };
|
||||||
EAF7F0B8289C139800B287F5 /* ColorConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorConfiguration.swift; sourceTree = "<group>"; };
|
EAF7F0B8289C139800B287F5 /* ColorConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorConfiguration.swift; sourceTree = "<group>"; };
|
||||||
EAF7F0BA289D80ED00B287F5 /* Modelable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Modelable.swift; sourceTree = "<group>"; };
|
EAF7F0BA289D80ED00B287F5 /* Modelable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Modelable.swift; sourceTree = "<group>"; };
|
||||||
EAF7F0BC289D81B100B287F5 /* FontStyleable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FontStyleable.swift; sourceTree = "<group>"; };
|
|
||||||
EAF7F0E8289DB0DA00B287F5 /* VDSFormControlsTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSFormControlsTokens.xcframework; path = ../SharedFrameworks/VDSFormControlsTokens.xcframework; sourceTree = "<group>"; };
|
EAF7F0E8289DB0DA00B287F5 /* VDSFormControlsTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSFormControlsTokens.xcframework; path = ../SharedFrameworks/VDSFormControlsTokens.xcframework; sourceTree = "<group>"; };
|
||||||
EAF7F0E9289DB0DA00B287F5 /* VDSColorTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSColorTokens.xcframework; path = ../SharedFrameworks/VDSColorTokens.xcframework; sourceTree = "<group>"; };
|
EAF7F0E9289DB0DA00B287F5 /* VDSColorTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSColorTokens.xcframework; path = ../SharedFrameworks/VDSColorTokens.xcframework; sourceTree = "<group>"; };
|
||||||
EAF7F0EA289DB0DA00B287F5 /* VDSAccessibilityTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSAccessibilityTokens.xcframework; path = ../SharedFrameworks/VDSAccessibilityTokens.xcframework; sourceTree = "<group>"; };
|
EAF7F0EA289DB0DA00B287F5 /* VDSAccessibilityTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSAccessibilityTokens.xcframework; path = ../SharedFrameworks/VDSAccessibilityTokens.xcframework; sourceTree = "<group>"; };
|
||||||
@ -284,8 +278,6 @@
|
|||||||
EA3361AC288B26190071C351 /* DataTrackable.swift */,
|
EA3361AC288B26190071C351 /* DataTrackable.swift */,
|
||||||
EA3361A9288B25E40071C351 /* Disabling.swift */,
|
EA3361A9288B25E40071C351 /* Disabling.swift */,
|
||||||
EAF7F0A1289AFB3900B287F5 /* Errorable.swift */,
|
EAF7F0A1289AFB3900B287F5 /* Errorable.swift */,
|
||||||
EAF7F0A7289B119400B287F5 /* Fontable.swift */,
|
|
||||||
EAF7F0BC289D81B100B287F5 /* FontStyleable.swift */,
|
|
||||||
EA3361AE288B26310071C351 /* FormFieldable.swift */,
|
EA3361AE288B26310071C351 /* FormFieldable.swift */,
|
||||||
EA33624628931B050071C351 /* Initable.swift */,
|
EA33624628931B050071C351 /* Initable.swift */,
|
||||||
EA3362442892F9130071C351 /* Labelable.swift */,
|
EA3362442892F9130071C351 /* Labelable.swift */,
|
||||||
@ -323,7 +315,6 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
EA33622F2891EB4A0071C351 /* Fonts.swift */,
|
EA33622F2891EB4A0071C351 /* Fonts.swift */,
|
||||||
EA3362312891F2ED0071C351 /* FontStyles.swift */,
|
|
||||||
EA33622B2891E73B0071C351 /* FontProtocol.swift */,
|
EA33622B2891E73B0071C351 /* FontProtocol.swift */,
|
||||||
);
|
);
|
||||||
path = Fonts;
|
path = Fonts;
|
||||||
@ -534,7 +525,6 @@
|
|||||||
isa = PBXSourcesBuildPhase;
|
isa = PBXSourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
EA3362322891F2ED0071C351 /* FontStyles.swift in Sources */,
|
|
||||||
EAF7F0B5289C126F00B287F5 /* UILabel.swift in Sources */,
|
EAF7F0B5289C126F00B287F5 /* UILabel.swift in Sources */,
|
||||||
EAF7F0A6289B0CE000B287F5 /* Resetable.swift in Sources */,
|
EAF7F0A6289B0CE000B287F5 /* Resetable.swift in Sources */,
|
||||||
EAB1D29428A3ECF700DAE764 /* SelectorGroupBase.swift in Sources */,
|
EAB1D29428A3ECF700DAE764 /* SelectorGroupBase.swift in Sources */,
|
||||||
@ -569,7 +559,6 @@
|
|||||||
EA3C3B4C2894823E000CA526 /* AnyProxy.swift in Sources */,
|
EA3C3B4C2894823E000CA526 /* AnyProxy.swift in Sources */,
|
||||||
EA3361AF288B26310071C351 /* FormFieldable.swift in Sources */,
|
EA3361AF288B26310071C351 /* FormFieldable.swift in Sources */,
|
||||||
EAB1D29A28A5611D00DAE764 /* SelectorGroupModel.swift in Sources */,
|
EAB1D29A28A5611D00DAE764 /* SelectorGroupModel.swift in Sources */,
|
||||||
EAF7F0A8289B119400B287F5 /* Fontable.swift in Sources */,
|
|
||||||
EAF7F0BB289D80ED00B287F5 /* Modelable.swift in Sources */,
|
EAF7F0BB289D80ED00B287F5 /* Modelable.swift in Sources */,
|
||||||
EAF7F09E289AAEC000B287F5 /* Constants.swift in Sources */,
|
EAF7F09E289AAEC000B287F5 /* Constants.swift in Sources */,
|
||||||
EA3361B3288B265D0071C351 /* Changable.swift in Sources */,
|
EA3361B3288B265D0071C351 /* Changable.swift in Sources */,
|
||||||
@ -586,7 +575,6 @@
|
|||||||
EA3361AD288B26190071C351 /* DataTrackable.swift in Sources */,
|
EA3361AD288B26190071C351 /* DataTrackable.swift in Sources */,
|
||||||
EA33623E2892EE950071C351 /* UIDevice.swift in Sources */,
|
EA33623E2892EE950071C351 /* UIDevice.swift in Sources */,
|
||||||
EA3362302891EB4A0071C351 /* Fonts.swift in Sources */,
|
EA3362302891EB4A0071C351 /* Fonts.swift in Sources */,
|
||||||
EAF7F0BD289D81B100B287F5 /* FontStyleable.swift in Sources */,
|
|
||||||
EAF7F0AD289B142900B287F5 /* LabelAttributeStrikeThrough.swift in Sources */,
|
EAF7F0AD289B142900B287F5 /* LabelAttributeStrikeThrough.swift in Sources */,
|
||||||
EA3361B8288B2AAA0071C351 /* ViewProtocol.swift in Sources */,
|
EA3361B8288B2AAA0071C351 /* ViewProtocol.swift in Sources */,
|
||||||
EA3361BF288B2EA60071C351 /* ModelHandlerable.swift in Sources */,
|
EA3361BF288B2EA60071C351 /* ModelHandlerable.swift in Sources */,
|
||||||
|
|||||||
@ -14,12 +14,12 @@ public struct LabelAttributeFont: LabelAttributeModel {
|
|||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
public var location: Int
|
public var location: Int
|
||||||
public var length: Int
|
public var length: Int
|
||||||
public var style: FontStyle
|
public var style: TypographicalStyle
|
||||||
public var color: String
|
public var color: String
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Initializer
|
// MARK: - Initializer
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
public init(location: Int, length: Int, style: FontStyle, color: String = "#000000") {
|
public init(location: Int, length: Int, style: TypographicalStyle, color: String = "#000000") {
|
||||||
self.location = location
|
self.location = location
|
||||||
self.length = length
|
self.length = length
|
||||||
self.style = style
|
self.style = style
|
||||||
|
|||||||
@ -27,14 +27,8 @@ open class LabelBase<ModelType: LabelModel>: UILabel, ModelHandlerable, ViewProt
|
|||||||
@Proxy(\.model.attributes)
|
@Proxy(\.model.attributes)
|
||||||
open var attributes: [LabelAttributeModel]?
|
open var attributes: [LabelAttributeModel]?
|
||||||
|
|
||||||
@Proxy(\.model.fontCategory)
|
@Proxy(\.model.typograpicalStyle)
|
||||||
open var fontCategory: FontCategory
|
open var typograpicalStyle: TypographicalStyle
|
||||||
|
|
||||||
@Proxy(\.model.fontSize)
|
|
||||||
open var fontSize: FontSize
|
|
||||||
|
|
||||||
@Proxy(\.model.fontWeight)
|
|
||||||
open var fontWeight: FontWeight
|
|
||||||
|
|
||||||
@Proxy(\.model.textPosition)
|
@Proxy(\.model.textPosition)
|
||||||
open var textPosition: TextPosition
|
open var textPosition: TextPosition
|
||||||
@ -104,7 +98,7 @@ open class LabelBase<ModelType: LabelModel>: UILabel, ModelHandlerable, ViewProt
|
|||||||
text = nil
|
text = nil
|
||||||
attributedText = nil
|
attributedText = nil
|
||||||
textColor = .black
|
textColor = .black
|
||||||
font = FontStyle.RegularBodyLarge.font
|
font = TypographicalStyle.BodyLarge.font
|
||||||
textAlignment = .left
|
textAlignment = .left
|
||||||
accessibilityCustomActions = []
|
accessibilityCustomActions = []
|
||||||
accessibilityTraits = .staticText
|
accessibilityTraits = .staticText
|
||||||
@ -131,7 +125,7 @@ open class LabelBase<ModelType: LabelModel>: UILabel, ModelHandlerable, ViewProt
|
|||||||
if let vdsFont = viewModel.font {
|
if let vdsFont = viewModel.font {
|
||||||
font = vdsFont
|
font = vdsFont
|
||||||
} else {
|
} else {
|
||||||
font = FontStyle.defaultStyle.font
|
font = TypographicalStyle.defaultStyle.font
|
||||||
}
|
}
|
||||||
|
|
||||||
if let attributes = viewModel.attributes, let text = viewModel.text, let font = font, let textColor = textColor {
|
if let attributes = viewModel.attributes, let text = viewModel.text, let font = font, let textColor = textColor {
|
||||||
|
|||||||
@ -16,9 +16,7 @@ public protocol LabelModel: Modelable, Labelable {
|
|||||||
public struct DefaultLabelModel: LabelModel {
|
public struct DefaultLabelModel: LabelModel {
|
||||||
public var text: String?
|
public var text: String?
|
||||||
public var attributes: [LabelAttributeModel]?
|
public var attributes: [LabelAttributeModel]?
|
||||||
public var fontCategory: FontCategory = .body
|
public var typograpicalStyle: TypographicalStyle = .BodySmall
|
||||||
public var fontSize: FontSize = .small
|
|
||||||
public var fontWeight: FontWeight = .regular
|
|
||||||
public var textPosition: TextPosition = .left
|
public var textPosition: TextPosition = .left
|
||||||
public var surface: Surface = .light
|
public var surface: Surface = .light
|
||||||
public var disabled: Bool = false
|
public var disabled: Bool = false
|
||||||
|
|||||||
@ -20,11 +20,6 @@ public protocol SelectorModel: Modelable, FormFieldable, Errorable, DataTrackabl
|
|||||||
|
|
||||||
extension SelectorModel {
|
extension SelectorModel {
|
||||||
|
|
||||||
public var fontCategory: FontCategory {
|
|
||||||
get { return .body }
|
|
||||||
set { return }
|
|
||||||
}
|
|
||||||
|
|
||||||
public var shouldShowError: Bool {
|
public var shouldShowError: Bool {
|
||||||
guard hasError && !disabled && errorText?.isEmpty == false else { return false }
|
guard hasError && !disabled && errorText?.isEmpty == false else { return false }
|
||||||
return true
|
return true
|
||||||
@ -38,10 +33,8 @@ extension SelectorModel {
|
|||||||
public var labelModel: DefaultLabelModel? {
|
public var labelModel: DefaultLabelModel? {
|
||||||
guard let labelText = labelText else { return nil }
|
guard let labelText = labelText else { return nil }
|
||||||
var model = DefaultLabelModel()
|
var model = DefaultLabelModel()
|
||||||
model.fontSize = .large
|
|
||||||
model.textPosition = .left
|
model.textPosition = .left
|
||||||
model.fontWeight = .bold
|
model.typograpicalStyle = .BoldBodyLarge
|
||||||
model.fontCategory = .body
|
|
||||||
model.text = labelText
|
model.text = labelText
|
||||||
model.surface = surface
|
model.surface = surface
|
||||||
model.disabled = disabled
|
model.disabled = disabled
|
||||||
@ -52,10 +45,8 @@ extension SelectorModel {
|
|||||||
public var childModel: DefaultLabelModel? {
|
public var childModel: DefaultLabelModel? {
|
||||||
guard let childText = childText else { return nil }
|
guard let childText = childText else { return nil }
|
||||||
var model = DefaultLabelModel()
|
var model = DefaultLabelModel()
|
||||||
model.fontSize = .large
|
|
||||||
model.textPosition = .left
|
model.textPosition = .left
|
||||||
model.fontWeight = .regular
|
model.typograpicalStyle = .BodyLarge
|
||||||
model.fontCategory = .body
|
|
||||||
model.text = childText
|
model.text = childText
|
||||||
model.surface = surface
|
model.surface = surface
|
||||||
model.disabled = disabled
|
model.disabled = disabled
|
||||||
@ -66,10 +57,8 @@ extension SelectorModel {
|
|||||||
public var errorModel: DefaultLabelModel? {
|
public var errorModel: DefaultLabelModel? {
|
||||||
guard let errorText = errorText, hasError else { return nil }
|
guard let errorText = errorText, hasError else { return nil }
|
||||||
var model = DefaultLabelModel()
|
var model = DefaultLabelModel()
|
||||||
model.fontSize = .medium
|
|
||||||
model.textPosition = .left
|
model.textPosition = .left
|
||||||
model.fontWeight = .regular
|
model.typograpicalStyle = .BodyMedium
|
||||||
model.fontCategory = .body
|
|
||||||
model.text = errorText
|
model.text = errorText
|
||||||
model.surface = surface
|
model.surface = surface
|
||||||
model.disabled = disabled
|
model.disabled = disabled
|
||||||
|
|||||||
@ -109,11 +109,17 @@ open class ToggleBase<ModelType: ToggleModel>: Control<ModelType>, Changable {
|
|||||||
@Proxy(\.model.offText)
|
@Proxy(\.model.offText)
|
||||||
public var offText: String
|
public var offText: String
|
||||||
|
|
||||||
@Proxy(\.model.fontSize)
|
public var fontSize: TypographicalStyle.FontSize = .small{
|
||||||
public var fontSize: FontSize
|
didSet {
|
||||||
|
updateTypography()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Proxy(\.model.fontWeight)
|
public var fontWeight: TypographicalStyle.FontWeight = .regular {
|
||||||
public var fontWeight: FontWeight
|
didSet {
|
||||||
|
updateTypography()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Proxy(\.model.textPosition)
|
@Proxy(\.model.textPosition)
|
||||||
public var textPosition: TextPosition {
|
public var textPosition: TextPosition {
|
||||||
@ -171,6 +177,25 @@ open class ToggleBase<ModelType: ToggleModel>: Control<ModelType>, Changable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//only allows
|
||||||
|
//fontSize: small, large
|
||||||
|
//fontWeight: regular, bold
|
||||||
|
private func updateTypography() {
|
||||||
|
if fontSize == .small {
|
||||||
|
if fontWeight == .regular {
|
||||||
|
model.typograpicalStyle = .BodySmall
|
||||||
|
} else {
|
||||||
|
model.typograpicalStyle = .BoldBodySmall
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if fontWeight == .regular {
|
||||||
|
model.typograpicalStyle = .BodyLarge
|
||||||
|
} else {
|
||||||
|
model.typograpicalStyle = .BoldBodyLarge
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Constraints
|
// MARK: - Constraints
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
|
|||||||
@ -16,19 +16,12 @@ public protocol ToggleModel: Modelable, FormFieldable, DataTrackable, Accessable
|
|||||||
}
|
}
|
||||||
|
|
||||||
extension ToggleModel {
|
extension ToggleModel {
|
||||||
public var fontCategory: FontCategory {
|
|
||||||
get { return .body }
|
|
||||||
set { return }
|
|
||||||
}
|
|
||||||
|
|
||||||
public var userTrueColor: Bool { return on }
|
public var userTrueColor: Bool { return on }
|
||||||
|
|
||||||
public var label: DefaultLabelModel {
|
public var label: DefaultLabelModel {
|
||||||
var model = DefaultLabelModel()
|
var model = DefaultLabelModel()
|
||||||
model.fontSize = fontSize
|
|
||||||
model.textPosition = textPosition
|
model.textPosition = textPosition
|
||||||
model.fontWeight = fontWeight
|
model.typograpicalStyle = typograpicalStyle
|
||||||
model.fontCategory = .body
|
|
||||||
model.text = on ? onText : offText
|
model.text = on ? onText : offText
|
||||||
model.surface = surface
|
model.surface = surface
|
||||||
model.disabled = disabled
|
model.disabled = disabled
|
||||||
@ -43,9 +36,7 @@ public struct DefaultToggleModel: ToggleModel {
|
|||||||
public var offText: String = "Off"
|
public var offText: String = "Off"
|
||||||
public var onText: String = "On"
|
public var onText: String = "On"
|
||||||
|
|
||||||
public var fontCategory: FontCategory = .body
|
public var typograpicalStyle: TypographicalStyle = .BodySmall
|
||||||
public var fontSize: FontSize = .small
|
|
||||||
public var fontWeight: FontWeight = .regular
|
|
||||||
public var textPosition: TextPosition = .left
|
public var textPosition: TextPosition = .left
|
||||||
|
|
||||||
public var inputId: String?
|
public var inputId: String?
|
||||||
|
|||||||
@ -1,221 +0,0 @@
|
|||||||
//
|
|
||||||
// VDSFontStyles.swift
|
|
||||||
// VDS
|
|
||||||
//
|
|
||||||
// Created by Matt Bruce on 7/27/22.
|
|
||||||
//
|
|
||||||
|
|
||||||
import Foundation
|
|
||||||
import UIKit
|
|
||||||
import VDSTypographyTokens
|
|
||||||
|
|
||||||
public enum FontWeight: String, Codable {
|
|
||||||
case regular
|
|
||||||
case bold
|
|
||||||
|
|
||||||
var titleCase: String {
|
|
||||||
switch self {
|
|
||||||
case .regular: return "Regular"
|
|
||||||
case .bold: return "Bold"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum TextPosition: String, Codable, CaseIterable {
|
|
||||||
case left, right, center
|
|
||||||
|
|
||||||
var textAlignment: NSTextAlignment {
|
|
||||||
switch self {
|
|
||||||
case .left:
|
|
||||||
return NSTextAlignment.left
|
|
||||||
case .right:
|
|
||||||
return NSTextAlignment.right
|
|
||||||
case .center:
|
|
||||||
return NSTextAlignment.center
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum FontCategory: String, Codable, CaseIterable {
|
|
||||||
case feature
|
|
||||||
case title
|
|
||||||
case body
|
|
||||||
case micro
|
|
||||||
|
|
||||||
var fontSizes: [FontSize] {
|
|
||||||
switch self {
|
|
||||||
case .feature:
|
|
||||||
return [.xlarge, .medium, .small, .xsmall]
|
|
||||||
case .title:
|
|
||||||
return [.xxlarge, .xlarge, .large, .medium, .small]
|
|
||||||
case .body:
|
|
||||||
return [.large, .medium, .small, .xsmall]
|
|
||||||
case .micro:
|
|
||||||
return []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var titleCase: String {
|
|
||||||
switch self {
|
|
||||||
case .feature: return "Feature"
|
|
||||||
case .title: return "Title"
|
|
||||||
case .body: return "Body"
|
|
||||||
case .micro: return "Micro"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum FontSize: String, Codable, CaseIterable {
|
|
||||||
case xxlarge
|
|
||||||
case xlarge
|
|
||||||
case large
|
|
||||||
case medium
|
|
||||||
case small
|
|
||||||
case xsmall
|
|
||||||
|
|
||||||
var titleCase: String {
|
|
||||||
switch self {
|
|
||||||
case .xxlarge: return "2XLarge"
|
|
||||||
case .xlarge: return "XLarge"
|
|
||||||
case .large: return "Large"
|
|
||||||
case .medium: return "Medium"
|
|
||||||
case .small: return "Small"
|
|
||||||
case .xsmall: return "XSmall"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum FontStyle: String, Codable, CaseIterable {
|
|
||||||
public enum Error: Swift.Error {
|
|
||||||
case styleNotFound(fontCatergory: FontCategory, fontSize: FontSize, availableFontSizes: [FontSize])
|
|
||||||
}
|
|
||||||
|
|
||||||
case RegularFeatureXLarge
|
|
||||||
case BoldFeatureXLarge
|
|
||||||
case RegularFeatureLarge
|
|
||||||
case BoldFeatureLarge
|
|
||||||
case RegularFeatureMedium
|
|
||||||
case BoldFeatureMedium
|
|
||||||
case RegularFeatureSmall
|
|
||||||
case BoldFeatureSmall
|
|
||||||
case RegularFeatureXSmall
|
|
||||||
case BoldFeatureXSmall
|
|
||||||
|
|
||||||
case RegularTitle2XLarge
|
|
||||||
case BoldTitle2XLarge
|
|
||||||
case RegularTitleXLarge
|
|
||||||
case BoldTitleXLarge
|
|
||||||
case RegularTitleLarge
|
|
||||||
case BoldTitleLarge
|
|
||||||
case RegularTitleMedium
|
|
||||||
case BoldTitleMedium
|
|
||||||
case RegularTitleSmall
|
|
||||||
case BoldTitleSmall
|
|
||||||
|
|
||||||
case RegularBodyLarge
|
|
||||||
case BoldBodyLarge
|
|
||||||
case RegularBodyMedium
|
|
||||||
case BoldBodyMedium
|
|
||||||
case RegularBodySmall
|
|
||||||
case BoldBodySmall
|
|
||||||
|
|
||||||
case RegularMicro
|
|
||||||
case BoldMicro
|
|
||||||
|
|
||||||
public var pointSize: CGFloat {
|
|
||||||
switch self {
|
|
||||||
case .RegularFeatureXLarge, .BoldFeatureXLarge:
|
|
||||||
return UIDevice.isIPad ? VDSTypography.fontSizeFeature144 : VDSTypography.fontSizeFeature96
|
|
||||||
case .RegularFeatureLarge, .BoldFeatureLarge:
|
|
||||||
return UIDevice.isIPad ? VDSTypography.fontSizeFeature128 : VDSTypography.fontSizeFeature80
|
|
||||||
case .RegularFeatureMedium, .BoldFeatureMedium:
|
|
||||||
return UIDevice.isIPad ? VDSTypography.fontSizeFeature96 : VDSTypography.fontSizeFeature64
|
|
||||||
case .RegularFeatureSmall, .BoldFeatureSmall:
|
|
||||||
return UIDevice.isIPad ? VDSTypography.fontSizeFeature80 : VDSTypography.fontSizeFeature48
|
|
||||||
case .RegularFeatureXSmall, .BoldFeatureXSmall:
|
|
||||||
return UIDevice.isIPad ? VDSTypography.fontSizeFeature64 : VDSTypography.fontSizeFeature40
|
|
||||||
case .RegularTitle2XLarge, .BoldTitle2XLarge:
|
|
||||||
return UIDevice.isIPad ? VDSTypography.fontSizeTitle64 : VDSTypography.fontSizeTitle40
|
|
||||||
case .RegularTitleXLarge, .BoldTitleXLarge:
|
|
||||||
return UIDevice.isIPad ? VDSTypography.fontSizeTitle48 : VDSTypography.fontSizeTitle32
|
|
||||||
case .RegularTitleLarge, .BoldTitleLarge:
|
|
||||||
return UIDevice.isIPad ? VDSTypography.fontSizeTitle32 : VDSTypography.fontSizeTitle24
|
|
||||||
case .RegularTitleMedium, .BoldTitleMedium:
|
|
||||||
return UIDevice.isIPad ? VDSTypography.fontSizeTitle24 : VDSTypography.fontSizeTitle20
|
|
||||||
case .RegularTitleSmall, .BoldTitleSmall:
|
|
||||||
return UIDevice.isIPad ? VDSTypography.fontSizeTitle20 : VDSTypography.fontSizeTitle16
|
|
||||||
case .RegularBodyLarge, .BoldBodyLarge:
|
|
||||||
return VDSTypography.fontSizeBody16
|
|
||||||
case .RegularBodyMedium, .BoldBodyMedium:
|
|
||||||
return VDSTypography.fontSizeBody14
|
|
||||||
case .RegularBodySmall, .BoldBodySmall:
|
|
||||||
return VDSTypography.fontSizeBody12
|
|
||||||
case .RegularMicro, .BoldMicro:
|
|
||||||
return VDSTypography.fontSizeMicro11
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public var fontFace: Fonts {
|
|
||||||
switch self {
|
|
||||||
case .BoldFeatureXLarge,
|
|
||||||
.BoldFeatureLarge,
|
|
||||||
.BoldFeatureMedium,
|
|
||||||
.BoldFeatureSmall,
|
|
||||||
.BoldFeatureXSmall,
|
|
||||||
.BoldTitle2XLarge,
|
|
||||||
.BoldTitleXLarge,
|
|
||||||
.BoldTitleLarge,
|
|
||||||
.BoldTitleMedium,
|
|
||||||
.BoldTitleSmall,
|
|
||||||
.BoldBodyLarge,
|
|
||||||
.BoldBodyMedium,
|
|
||||||
.BoldBodySmall:
|
|
||||||
return .dsBold
|
|
||||||
|
|
||||||
case .RegularFeatureXLarge,
|
|
||||||
.RegularFeatureLarge,
|
|
||||||
.RegularFeatureMedium,
|
|
||||||
.RegularFeatureSmall,
|
|
||||||
.RegularFeatureXSmall,
|
|
||||||
.RegularTitle2XLarge,
|
|
||||||
.RegularTitleXLarge,
|
|
||||||
.RegularTitleLarge,
|
|
||||||
.RegularTitleMedium,
|
|
||||||
.RegularTitleSmall,
|
|
||||||
.RegularBodyLarge,
|
|
||||||
.RegularBodyMedium,
|
|
||||||
.RegularBodySmall:
|
|
||||||
return .dsRegular
|
|
||||||
|
|
||||||
case .BoldMicro:
|
|
||||||
return .txBold
|
|
||||||
|
|
||||||
case .RegularMicro:
|
|
||||||
return .txRegular
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static var defaultStyle: FontStyle {
|
|
||||||
return FontStyle.RegularBodyLarge
|
|
||||||
}
|
|
||||||
|
|
||||||
public var font: UIFont {
|
|
||||||
return fontFace.font(ofSize: pointSize)
|
|
||||||
}
|
|
||||||
|
|
||||||
public var superScriptFont: UIFont {
|
|
||||||
return fontFace.font(ofSize: pointSize / 2)
|
|
||||||
}
|
|
||||||
|
|
||||||
public static func style(for category: FontCategory, fontWeight: FontWeight, fontSize: FontSize) throws -> FontStyle {
|
|
||||||
let fontName = "\(fontWeight.titleCase)\(category.titleCase)\(fontSize.titleCase)"
|
|
||||||
guard let fontStyle = FontStyle(rawValue: fontName) else {
|
|
||||||
throw FontStyle.Error.styleNotFound(fontCatergory: category, fontSize: fontSize, availableFontSizes: category.fontSizes)
|
|
||||||
}
|
|
||||||
return fontStyle
|
|
||||||
}
|
|
||||||
|
|
||||||
public static func font(for category: FontCategory, fontWeight: FontWeight, fontSize: FontSize) throws -> UIFont {
|
|
||||||
return try style(for: category, fontWeight: fontWeight, fontSize: fontSize).font
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
//
|
|
||||||
// FontStyleable.swift
|
|
||||||
// VDS
|
|
||||||
//
|
|
||||||
// Created by Matt Bruce on 8/5/22.
|
|
||||||
//
|
|
||||||
|
|
||||||
import Foundation
|
|
||||||
|
|
||||||
public protocol FontStyleable {
|
|
||||||
var fontStyle: FontStyle { get set }
|
|
||||||
}
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
//
|
|
||||||
// Fontable.swift
|
|
||||||
// VDS
|
|
||||||
//
|
|
||||||
// Created by Matt Bruce on 8/3/22.
|
|
||||||
//
|
|
||||||
|
|
||||||
import Foundation
|
|
||||||
import UIKit
|
|
||||||
|
|
||||||
public protocol Fontable {
|
|
||||||
var fontSize: FontSize { get set }
|
|
||||||
var fontWeight: FontWeight { get set }
|
|
||||||
var fontCategory: FontCategory { get set }
|
|
||||||
}
|
|
||||||
|
|
||||||
extension Fontable {
|
|
||||||
|
|
||||||
var fontStyle: FontStyle? {
|
|
||||||
return try? FontStyle.style(for: fontCategory, fontWeight: fontWeight, fontSize: fontSize)
|
|
||||||
}
|
|
||||||
|
|
||||||
var font: UIFont? {
|
|
||||||
return fontStyle?.font
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -6,7 +6,15 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
import UIKit
|
||||||
|
|
||||||
public protocol Labelable: Fontable {
|
public protocol Labelable {
|
||||||
|
var typograpicalStyle: TypographicalStyle { get set }
|
||||||
var textPosition: TextPosition { get set }
|
var textPosition: TextPosition { get set }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extension Labelable {
|
||||||
|
public var font: UIFont? {
|
||||||
|
return typograpicalStyle.font
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -8,6 +8,21 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
import VDSTypographyTokens
|
import VDSTypographyTokens
|
||||||
|
|
||||||
|
public enum TextPosition: String, Codable, CaseIterable {
|
||||||
|
case left, right, center
|
||||||
|
|
||||||
|
var textAlignment: NSTextAlignment {
|
||||||
|
switch self {
|
||||||
|
case .left:
|
||||||
|
return NSTextAlignment.left
|
||||||
|
case .right:
|
||||||
|
return NSTextAlignment.right
|
||||||
|
case .center:
|
||||||
|
return NSTextAlignment.center
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public enum TypographicalStyle: String, Codable, CaseIterable {
|
public enum TypographicalStyle: String, Codable, CaseIterable {
|
||||||
|
|
||||||
case FeatureXLarge
|
case FeatureXLarge
|
||||||
@ -47,9 +62,21 @@ public enum TypographicalStyle: String, Codable, CaseIterable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//MARK: FontSize
|
||||||
|
extension TypographicalStyle {
|
||||||
|
public enum FontSize: String, Codable, CaseIterable {
|
||||||
|
case xxlarge
|
||||||
|
case xlarge
|
||||||
|
case large
|
||||||
|
case medium
|
||||||
|
case small
|
||||||
|
case xsmall
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//MARK: FontWeight
|
//MARK: FontWeight
|
||||||
extension TypographicalStyle {
|
extension TypographicalStyle {
|
||||||
public enum FontWeight {
|
public enum FontWeight: String, Codable, CaseIterable {
|
||||||
case light
|
case light
|
||||||
case regular
|
case regular
|
||||||
case bold
|
case bold
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user