diff --git a/VDS.xcodeproj/project.pbxproj b/VDS.xcodeproj/project.pbxproj index 38ea3f2e..56ad00b9 100644 --- a/VDS.xcodeproj/project.pbxproj +++ b/VDS.xcodeproj/project.pbxproj @@ -9,18 +9,14 @@ /* Begin PBXBuildFile section */ 5F21D7BF28DCEB3D003E7CD6 /* Useable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F21D7BE28DCEB3D003E7CD6 /* Useable.swift */; }; 5FC35BE328D51405004EBEAC /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FC35BE228D51405004EBEAC /* Button.swift */; }; - 5FC35BE528D51414004EBEAC /* ButtonModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FC35BE428D51413004EBEAC /* ButtonModel.swift */; }; EA1F265D28B944F00033E859 /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA1F265B28B944F00033E859 /* CollectionView.swift */; }; EA1F265E28B944F00033E859 /* CollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA1F265C28B944F00033E859 /* CollectionViewCell.swift */; }; - EA1F266428B945070033E859 /* RadioSwatchGroupModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA1F266028B945070033E859 /* RadioSwatchGroupModel.swift */; }; EA1F266528B945070033E859 /* RadioSwatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA1F266128B945070033E859 /* RadioSwatch.swift */; }; EA1F266628B945070033E859 /* RadioSwatchGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA1F266228B945070033E859 /* RadioSwatchGroup.swift */; }; - EA1F266728B945070033E859 /* RadioSwatchModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA1F266328B945070033E859 /* RadioSwatchModel.swift */; }; EA336171288B19200071C351 /* VDS.docc in Sources */ = {isa = PBXBuildFile; fileRef = EA336170288B19200071C351 /* VDS.docc */; }; EA336177288B19210071C351 /* VDS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA33616C288B19200071C351 /* VDS.framework */; }; EA33617C288B19210071C351 /* VDSTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33617B288B19210071C351 /* VDSTests.swift */; }; EA33617D288B19210071C351 /* VDS.h in Headers */ = {isa = PBXBuildFile; fileRef = EA33616F288B19200071C351 /* VDS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EA3361A2288B1E840071C351 /* ToggleModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3361A1288B1E840071C351 /* ToggleModel.swift */; }; EA3361A8288B23300071C351 /* UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3361A7288B23300071C351 /* UIColor.swift */; }; EA3361AA288B25E40071C351 /* Disabling.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3361A9288B25E40071C351 /* Disabling.swift */; }; EA3361AD288B26190071C351 /* DataTrackable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3361AC288B26190071C351 /* DataTrackable.swift */; }; @@ -41,24 +37,19 @@ EA3362302891EB4A0071C351 /* Fonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33622F2891EB4A0071C351 /* Fonts.swift */; }; EA33623E2892EE950071C351 /* UIDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33623D2892EE950071C351 /* UIDevice.swift */; }; EA3362402892EF6C0071C351 /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33623F2892EF6B0071C351 /* Label.swift */; }; - EA3362432892EFF20071C351 /* LabelModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3362422892EFF20071C351 /* LabelModel.swift */; }; EA3362452892F9130071C351 /* Labelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3362442892F9130071C351 /* Labelable.swift */; }; EA33624728931B050071C351 /* Initable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33624628931B050071C351 /* Initable.swift */; }; EA3C3B4C2894823E000CA526 /* AnyProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3C3B4B2894823E000CA526 /* AnyProxy.swift */; }; EA4DB18528CA967F00103EE3 /* SelectorGroupHandlerBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA4DB18428CA967F00103EE3 /* SelectorGroupHandlerBase.swift */; }; EA4DB2FD28D3D0CA00103EE3 /* AnyEquatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA4DB2FC28D3D0CA00103EE3 /* AnyEquatable.swift */; }; - EA4DB30028DCBC9900103EE3 /* BadgeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA4DB2FF28DCBC9900103EE3 /* BadgeModel.swift */; }; EA4DB30228DCBCA500103EE3 /* Badge.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA4DB30128DCBCA500103EE3 /* Badge.swift */; }; EA84F6B128B94A2500D67ABC /* CodableColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA84F6B028B94A2500D67ABC /* CodableColor.swift */; }; EA89200228AECF2A006B9984 /* UIButton+Publisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89200128AECF2A006B9984 /* UIButton+Publisher.swift */; }; EA89200428AECF4B006B9984 /* UITextField+Publisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89200328AECF4B006B9984 /* UITextField+Publisher.swift */; }; EA89200628B526D6006B9984 /* CheckboxGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89200528B526D6006B9984 /* CheckboxGroup.swift */; }; - EA89200828B526E0006B9984 /* CheckboxGroupModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89200728B526E0006B9984 /* CheckboxGroupModel.swift */; }; - EA89200D28B530FD006B9984 /* RadioBoxModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89200C28B530FD006B9984 /* RadioBoxModel.swift */; }; EA89200F28B53921006B9984 /* Selectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89200E28B53921006B9984 /* Selectable.swift */; }; EA89201328B568D8006B9984 /* RadioBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89201228B568D8006B9984 /* RadioBox.swift */; }; EA89201528B56CF4006B9984 /* RadioBoxGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89201428B56CF4006B9984 /* RadioBoxGroup.swift */; }; - EA89201728B56CFF006B9984 /* RadioBoxGroupModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89201628B56CFF006B9984 /* RadioBoxGroupModel.swift */; }; EAA5EEE228F4C62C003B3210 /* Colorable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA5EEE128F4C62C003B3210 /* Colorable.swift */; }; EAA5EEE428F5B855003B3210 /* VerizonNHGDS-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = EAA5EEE328F5B855003B3210 /* VerizonNHGDS-Light.otf */; }; EAA5EEEF28F5C908003B3210 /* VDSTypographyTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAA5EEEC28F5C908003B3210 /* VDSTypographyTokens.xcframework */; }; @@ -69,7 +60,6 @@ EAA5EEF428F5C909003B3210 /* VDSFormControlsTokens.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = EAA5EEEE28F5C908003B3210 /* VDSFormControlsTokens.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; EAB1D29A28A5611D00DAE764 /* SelectorGroupModelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D29928A5611D00DAE764 /* SelectorGroupModelable.swift */; }; EAB1D29C28A5618900DAE764 /* RadioButtonGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D29B28A5618900DAE764 /* RadioButtonGroup.swift */; }; - EAB1D29E28A5619500DAE764 /* RadioButtonGroupModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D29D28A5619500DAE764 /* RadioButtonGroupModel.swift */; }; EAB1D2A128A598FE00DAE764 /* UsesAutoLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2A028A598FE00DAE764 /* UsesAutoLayout.swift */; }; EAB1D2A328A5994800DAE764 /* Debuggable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2A228A5994800DAE764 /* Debuggable.swift */; }; EAB1D2CD28ABE76100DAE764 /* Withable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2CC28ABE76000DAE764 /* Withable.swift */; }; @@ -78,7 +68,6 @@ EAB1D2EA28AE84AA00DAE764 /* UIControlPublisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2E928AE84AA00DAE764 /* UIControlPublisher.swift */; }; EAD8D2C128BFDE8B006EB6A6 /* UIGestureRecognizer+Publisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAD8D2C028BFDE8B006EB6A6 /* UIGestureRecognizer+Publisher.swift */; }; EAF7F0952899861000B287F5 /* Checkbox.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0932899861000B287F5 /* Checkbox.swift */; }; - EAF7F0962899861000B287F5 /* CheckboxModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0942899861000B287F5 /* CheckboxModel.swift */; }; EAF7F09A2899B17200B287F5 /* CATransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0992899B17200B287F5 /* CATransaction.swift */; }; EAF7F09E289AAEC000B287F5 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F09D289AAEC000B287F5 /* Constants.swift */; }; EAF7F0A0289AB7EC00B287F5 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F09F289AB7EC00B287F5 /* View.swift */; }; @@ -95,7 +84,6 @@ EAF7F0B9289C139800B287F5 /* ColorConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0B8289C139800B287F5 /* ColorConfiguration.swift */; }; EAF7F0BB289D80ED00B287F5 /* Modelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0BA289D80ED00B287F5 /* Modelable.swift */; }; EAF7F11728A1475A00B287F5 /* RadioButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F11528A1475A00B287F5 /* RadioButton.swift */; }; - EAF7F11828A1475A00B287F5 /* RadioButtonModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F11628A1475A00B287F5 /* RadioButtonModel.swift */; }; EAF7F13328A2A16500B287F5 /* LabelAttributeAttachment.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F13228A2A16500B287F5 /* LabelAttributeAttachment.swift */; }; /* End PBXBuildFile section */ @@ -128,19 +116,15 @@ /* Begin PBXFileReference section */ 5F21D7BE28DCEB3D003E7CD6 /* Useable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Useable.swift; sourceTree = ""; }; 5FC35BE228D51405004EBEAC /* Button.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; - 5FC35BE428D51413004EBEAC /* ButtonModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonModel.swift; sourceTree = ""; }; EA1F265B28B944F00033E859 /* CollectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionView.swift; sourceTree = ""; }; EA1F265C28B944F00033E859 /* CollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewCell.swift; sourceTree = ""; }; - EA1F266028B945070033E859 /* RadioSwatchGroupModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RadioSwatchGroupModel.swift; sourceTree = ""; }; EA1F266128B945070033E859 /* RadioSwatch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RadioSwatch.swift; sourceTree = ""; }; EA1F266228B945070033E859 /* RadioSwatchGroup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RadioSwatchGroup.swift; sourceTree = ""; }; - EA1F266328B945070033E859 /* RadioSwatchModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RadioSwatchModel.swift; sourceTree = ""; }; EA33616C288B19200071C351 /* VDS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = VDS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; EA33616F288B19200071C351 /* VDS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VDS.h; sourceTree = ""; }; EA336170288B19200071C351 /* VDS.docc */ = {isa = PBXFileReference; lastKnownFileType = folder.documentationcatalog; path = VDS.docc; sourceTree = ""; }; EA336176288B19210071C351 /* VDSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = VDSTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; EA33617B288B19210071C351 /* VDSTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VDSTests.swift; sourceTree = ""; }; - EA3361A1288B1E840071C351 /* ToggleModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToggleModel.swift; sourceTree = ""; }; EA3361A7288B23300071C351 /* UIColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIColor.swift; sourceTree = ""; }; EA3361A9288B25E40071C351 /* Disabling.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Disabling.swift; sourceTree = ""; }; EA3361AC288B26190071C351 /* DataTrackable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataTrackable.swift; sourceTree = ""; }; @@ -161,24 +145,19 @@ EA33622F2891EB4A0071C351 /* Fonts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fonts.swift; sourceTree = ""; }; EA33623D2892EE950071C351 /* UIDevice.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIDevice.swift; sourceTree = ""; }; EA33623F2892EF6B0071C351 /* Label.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = ""; }; - EA3362422892EFF20071C351 /* LabelModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelModel.swift; sourceTree = ""; }; EA3362442892F9130071C351 /* Labelable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Labelable.swift; sourceTree = ""; }; EA33624628931B050071C351 /* Initable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Initable.swift; sourceTree = ""; }; EA3C3B4B2894823E000CA526 /* AnyProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyProxy.swift; sourceTree = ""; }; EA4DB18428CA967F00103EE3 /* SelectorGroupHandlerBase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectorGroupHandlerBase.swift; sourceTree = ""; }; EA4DB2FC28D3D0CA00103EE3 /* AnyEquatable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyEquatable.swift; sourceTree = ""; }; - EA4DB2FF28DCBC9900103EE3 /* BadgeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgeModel.swift; sourceTree = ""; }; EA4DB30128DCBCA500103EE3 /* Badge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Badge.swift; sourceTree = ""; }; EA84F6B028B94A2500D67ABC /* CodableColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodableColor.swift; sourceTree = ""; }; EA89200128AECF2A006B9984 /* UIButton+Publisher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIButton+Publisher.swift"; sourceTree = ""; }; EA89200328AECF4B006B9984 /* UITextField+Publisher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITextField+Publisher.swift"; sourceTree = ""; }; EA89200528B526D6006B9984 /* CheckboxGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxGroup.swift; sourceTree = ""; }; - EA89200728B526E0006B9984 /* CheckboxGroupModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxGroupModel.swift; sourceTree = ""; }; - EA89200C28B530FD006B9984 /* RadioBoxModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioBoxModel.swift; sourceTree = ""; }; EA89200E28B53921006B9984 /* Selectable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Selectable.swift; sourceTree = ""; }; EA89201228B568D8006B9984 /* RadioBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioBox.swift; sourceTree = ""; }; EA89201428B56CF4006B9984 /* RadioBoxGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioBoxGroup.swift; sourceTree = ""; }; - EA89201628B56CFF006B9984 /* RadioBoxGroupModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioBoxGroupModel.swift; sourceTree = ""; }; EAA5EEE128F4C62C003B3210 /* Colorable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Colorable.swift; sourceTree = ""; }; EAA5EEE328F5B855003B3210 /* VerizonNHGDS-Light.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "VerizonNHGDS-Light.otf"; sourceTree = ""; }; EAA5EEEC28F5C908003B3210 /* VDSTypographyTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSTypographyTokens.xcframework; path = ../SharedFrameworks/VDSTypographyTokens.xcframework; sourceTree = ""; }; @@ -186,7 +165,6 @@ EAA5EEEE28F5C908003B3210 /* VDSFormControlsTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSFormControlsTokens.xcframework; path = ../SharedFrameworks/VDSFormControlsTokens.xcframework; sourceTree = ""; }; EAB1D29928A5611D00DAE764 /* SelectorGroupModelable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectorGroupModelable.swift; sourceTree = ""; }; EAB1D29B28A5618900DAE764 /* RadioButtonGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioButtonGroup.swift; sourceTree = ""; }; - EAB1D29D28A5619500DAE764 /* RadioButtonGroupModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioButtonGroupModel.swift; sourceTree = ""; }; EAB1D2A028A598FE00DAE764 /* UsesAutoLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UsesAutoLayout.swift; sourceTree = ""; }; EAB1D2A228A5994800DAE764 /* Debuggable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Debuggable.swift; sourceTree = ""; }; EAB1D2CC28ABE76000DAE764 /* Withable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Withable.swift; sourceTree = ""; }; @@ -195,7 +173,6 @@ EAB1D2E928AE84AA00DAE764 /* UIControlPublisher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIControlPublisher.swift; sourceTree = ""; }; EAD8D2C028BFDE8B006EB6A6 /* UIGestureRecognizer+Publisher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIGestureRecognizer+Publisher.swift"; sourceTree = ""; }; EAF7F0932899861000B287F5 /* Checkbox.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Checkbox.swift; sourceTree = ""; }; - EAF7F0942899861000B287F5 /* CheckboxModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CheckboxModel.swift; sourceTree = ""; }; EAF7F0992899B17200B287F5 /* CATransaction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CATransaction.swift; sourceTree = ""; }; EAF7F09D289AAEC000B287F5 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; EAF7F09F289AB7EC00B287F5 /* View.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; @@ -212,7 +189,6 @@ EAF7F0B8289C139800B287F5 /* ColorConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorConfiguration.swift; sourceTree = ""; }; EAF7F0BA289D80ED00B287F5 /* Modelable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Modelable.swift; sourceTree = ""; }; EAF7F11528A1475A00B287F5 /* RadioButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RadioButton.swift; sourceTree = ""; }; - EAF7F11628A1475A00B287F5 /* RadioButtonModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RadioButtonModel.swift; sourceTree = ""; }; EAF7F13228A2A16500B287F5 /* LabelAttributeAttachment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelAttributeAttachment.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -242,7 +218,6 @@ isa = PBXGroup; children = ( 5FC35BE228D51405004EBEAC /* Button.swift */, - 5FC35BE428D51413004EBEAC /* ButtonModel.swift */, ); path = Button; sourceTree = ""; @@ -251,9 +226,7 @@ isa = PBXGroup; children = ( EA1F266128B945070033E859 /* RadioSwatch.swift */, - EA1F266328B945070033E859 /* RadioSwatchModel.swift */, EA1F266228B945070033E859 /* RadioSwatchGroup.swift */, - EA1F266028B945070033E859 /* RadioSwatchGroupModel.swift */, ); path = RadioSwatch; sourceTree = ""; @@ -333,7 +306,6 @@ isa = PBXGroup; children = ( EA3361C228902D960071C351 /* Toggle.swift */, - EA3361A1288B1E840071C351 /* ToggleModel.swift */, ); path = Toggle; sourceTree = ""; @@ -431,7 +403,6 @@ isa = PBXGroup; children = ( EA33623F2892EF6B0071C351 /* Label.swift */, - EA3362422892EFF20071C351 /* LabelModel.swift */, EAF7F0A9289B13EF00B287F5 /* Attributes */, ); path = Label; @@ -440,7 +411,6 @@ EA4DB2FE28DCBC1900103EE3 /* Badge */ = { isa = PBXGroup; children = ( - EA4DB2FF28DCBC9900103EE3 /* BadgeModel.swift */, EA4DB30128DCBCA500103EE3 /* Badge.swift */, ); path = Badge; @@ -450,9 +420,7 @@ isa = PBXGroup; children = ( EA89201228B568D8006B9984 /* RadioBox.swift */, - EA89200C28B530FD006B9984 /* RadioBoxModel.swift */, EA89201428B56CF4006B9984 /* RadioBoxGroup.swift */, - EA89201628B56CFF006B9984 /* RadioBoxGroupModel.swift */, ); path = RadioBox; sourceTree = ""; @@ -492,9 +460,7 @@ isa = PBXGroup; children = ( EAF7F0932899861000B287F5 /* Checkbox.swift */, - EAF7F0942899861000B287F5 /* CheckboxModel.swift */, EA89200528B526D6006B9984 /* CheckboxGroup.swift */, - EA89200728B526E0006B9984 /* CheckboxGroupModel.swift */, ); path = Checkbox; sourceTree = ""; @@ -517,9 +483,7 @@ isa = PBXGroup; children = ( EAF7F11528A1475A00B287F5 /* RadioButton.swift */, - EAF7F11628A1475A00B287F5 /* RadioButtonModel.swift */, EAB1D29B28A5618900DAE764 /* RadioButtonGroup.swift */, - EAB1D29D28A5619500DAE764 /* RadioButtonGroupModel.swift */, ); path = RadioButton; sourceTree = ""; @@ -644,9 +608,6 @@ EA89200428AECF4B006B9984 /* UITextField+Publisher.swift in Sources */, EA3361C328902D960071C351 /* Toggle.swift in Sources */, EAF7F0A0289AB7EC00B287F5 /* View.swift in Sources */, - EAF7F11828A1475A00B287F5 /* RadioButtonModel.swift in Sources */, - EA89200D28B530FD006B9984 /* RadioBoxModel.swift in Sources */, - EA1F266728B945070033E859 /* RadioSwatchModel.swift in Sources */, EA89201328B568D8006B9984 /* RadioBox.swift in Sources */, EA84F6B128B94A2500D67ABC /* CodableColor.swift in Sources */, EA3362402892EF6C0071C351 /* Label.swift in Sources */, @@ -660,12 +621,9 @@ EAB1D2A128A598FE00DAE764 /* UsesAutoLayout.swift in Sources */, EAB1D2CD28ABE76100DAE764 /* Withable.swift in Sources */, EAF7F0952899861000B287F5 /* Checkbox.swift in Sources */, - EA89201728B56CFF006B9984 /* RadioBoxGroupModel.swift in Sources */, EA3361C9289054C50071C351 /* Surfaceable.swift in Sources */, - EA3361A2288B1E840071C351 /* ToggleModel.swift in Sources */, EA1F265D28B944F00033E859 /* CollectionView.swift in Sources */, EA4DB30228DCBCA500103EE3 /* Badge.swift in Sources */, - EA3362432892EFF20071C351 /* LabelModel.swift in Sources */, EA33624728931B050071C351 /* Initable.swift in Sources */, EAF7F0A4289B017C00B287F5 /* LabelAttributeModel.swift in Sources */, EAF7F0B1289B177F00B287F5 /* LabelAttributeColor.swift in Sources */, @@ -678,15 +636,12 @@ EAB1D2CF28ABEF2B00DAE764 /* Typography.swift in Sources */, EAF7F09A2899B17200B287F5 /* CATransaction.swift in Sources */, EA89200F28B53921006B9984 /* Selectable.swift in Sources */, - EAB1D29E28A5619500DAE764 /* RadioButtonGroupModel.swift in Sources */, EAF7F0A2289AFB3900B287F5 /* Errorable.swift in Sources */, EA3C3B4C2894823E000CA526 /* AnyProxy.swift in Sources */, - 5FC35BE528D51414004EBEAC /* ButtonModel.swift in Sources */, EA3361AF288B26310071C351 /* FormFieldable.swift in Sources */, EAB1D29A28A5611D00DAE764 /* SelectorGroupModelable.swift in Sources */, EAF7F0BB289D80ED00B287F5 /* Modelable.swift in Sources */, EA89201528B56CF4006B9984 /* RadioBoxGroup.swift in Sources */, - EA4DB30028DCBC9900103EE3 /* BadgeModel.swift in Sources */, EAF7F09E289AAEC000B287F5 /* Constants.swift in Sources */, EA1F266528B945070033E859 /* RadioSwatch.swift in Sources */, EA4DB18528CA967F00103EE3 /* SelectorGroupHandlerBase.swift in Sources */, @@ -694,10 +649,8 @@ EAF7F0AB289B13FD00B287F5 /* LabelAttributeFont.swift in Sources */, EAB1D29C28A5618900DAE764 /* RadioButtonGroup.swift in Sources */, EA336171288B19200071C351 /* VDS.docc in Sources */, - EAF7F0962899861000B287F5 /* CheckboxModel.swift in Sources */, EAB1D2E628AE842000DAE764 /* Publisher+Bind.swift in Sources */, EA3361AA288B25E40071C351 /* Disabling.swift in Sources */, - EA89200828B526E0006B9984 /* CheckboxGroupModel.swift in Sources */, EA3361B6288B2A410071C351 /* Control.swift in Sources */, EAB1D2A328A5994800DAE764 /* Debuggable.swift in Sources */, 5F21D7BF28DCEB3D003E7CD6 /* Useable.swift in Sources */, @@ -712,7 +665,6 @@ EA3361B8288B2AAA0071C351 /* ViewProtocol.swift in Sources */, EA3361BF288B2EA60071C351 /* ModelHandlerable.swift in Sources */, EA3361A8288B23300071C351 /* UIColor.swift in Sources */, - EA1F266428B945070033E859 /* RadioSwatchGroupModel.swift in Sources */, EA1F266628B945070033E859 /* RadioSwatchGroup.swift in Sources */, 5FC35BE328D51405004EBEAC /* Button.swift in Sources */, ); diff --git a/VDS/Components/Badge/Badge.swift b/VDS/Components/Badge/Badge.swift index f90ed3e7..2f1feed6 100644 --- a/VDS/Components/Badge/Badge.swift +++ b/VDS/Components/Badge/Badge.swift @@ -11,9 +11,11 @@ import VDSColorTokens import VDSFormControlsTokens import Combine -public class Badge: BadgeBase{} +public enum BadgeFillColor: String, Codable, CaseIterable { + case red, yellow, green, orange, blue, black, white +} -open class BadgeBase: View, Accessable { +public class Badge: View, Accessable { private var label = Label() diff --git a/VDS/Components/Badge/BadgeModel.swift b/VDS/Components/Badge/BadgeModel.swift deleted file mode 100644 index 93876157..00000000 --- a/VDS/Components/Badge/BadgeModel.swift +++ /dev/null @@ -1,53 +0,0 @@ -// -// BadgeModel.swift -// VDS -// -// Created by Matt Bruce on 9/22/22. -// - -import Foundation -import UIKit -import VDSColorTokens - -public enum BadgeFillColor: String, Codable, CaseIterable { - case red, yellow, green, orange, blue, black, white -} - -public protocol BadgeModel: Modelable, Accessable { - var fillColor: BadgeFillColor { get set } - var text: String { get set } - var maxWidth: CGFloat? { get set } - var numberOfLines: Int { get set } -} - -extension BadgeModel { - public var label: DefaultLabelModel { - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BoldBodySmall - model.text = text - model.surface = surface - model.disabled = disabled - return model - } -} - -public struct DefaultBadgeModel: BadgeModel { - public var id = UUID() - public var fillColor: BadgeFillColor = .red - public var text: String = "" - public var maxWidth: CGFloat? - public var numberOfLines: Int = 1 - - public var surface: Surface = .light - public var disabled: Bool = false - - 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() { } -} diff --git a/VDS/Components/Button/Button.swift b/VDS/Components/Button/Button.swift index 881bcefc..11f72e42 100644 --- a/VDS/Components/Button/Button.swift +++ b/VDS/Components/Button/Button.swift @@ -11,6 +11,11 @@ import VDSColorTokens import VDSFormControlsTokens import Combine +public enum ButtonSize: String, Codable, CaseIterable { + case large + case small +} + open class Button: UIButton, ModelHandlerable, ViewProtocol, Resettable, Useable { //-------------------------------------------------- diff --git a/VDS/Components/Button/ButtonModel.swift b/VDS/Components/Button/ButtonModel.swift deleted file mode 100644 index 140f5561..00000000 --- a/VDS/Components/Button/ButtonModel.swift +++ /dev/null @@ -1,33 +0,0 @@ -// -// ButtonModel.swift -// VDS -// -// Created by Jarrod Courtney on 9/16/22. -// - -import Foundation -import UIKit - -public enum ButtonSize: String, Codable, CaseIterable { - case large - case small -} - -public protocol ButtonModel: Modelable, Useable { - var text: String? { get set } - var width: CGFloat? { get set } - var size: ButtonSize { get set } - var use: Use { get set } -} - -public struct DefaultButtonModel: ButtonModel { - - public var id = UUID() - public var text: String? - public var surface: Surface = .light - public var use: Use = .primary - public var disabled: Bool = false - public var width: CGFloat? - public var size: ButtonSize = .large - public init(){} -} diff --git a/VDS/Components/Checkbox/Checkbox.swift b/VDS/Components/Checkbox/Checkbox.swift index e0a5fbc5..0d020dbb 100644 --- a/VDS/Components/Checkbox/Checkbox.swift +++ b/VDS/Components/Checkbox/Checkbox.swift @@ -126,41 +126,6 @@ open class CheckboxBase: Control, Accessable, BinaryColorable, Errorable { open var accessibilityLabelEnabled: String? { didSet { didChange() }} open var accessibilityLabelDisabled: String? { didSet { didChange() }} - - private var labelModel: DefaultLabelModel? { - guard let labelText = labelText else { return nil } - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BoldBodyLarge - model.text = labelText - model.surface = surface - model.disabled = disabled - model.attributes = labelTextAttributes - return model - } - - private var childModel: DefaultLabelModel? { - guard let childText = childText else { return nil } - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BodyLarge - model.text = childText - model.surface = surface - model.disabled = disabled - model.attributes = childTextAttributes - return model - } - - private var errorModel: DefaultLabelModel? { - guard let errorText = errorText, showError else { return nil } - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BodyMedium - model.text = errorText - model.surface = surface - model.disabled = disabled - return model - } //-------------------------------------------------- // MARK: - Constraints diff --git a/VDS/Components/Checkbox/CheckboxGroupModel.swift b/VDS/Components/Checkbox/CheckboxGroupModel.swift deleted file mode 100644 index 93e253ab..00000000 --- a/VDS/Components/Checkbox/CheckboxGroupModel.swift +++ /dev/null @@ -1,29 +0,0 @@ -// -// CheckboxGroupModel.swift -// VDS -// -// Created by Matt Bruce on 8/23/22. -// - -import Foundation - -public protocol CheckboxGroupModel: SelectorGroupModelable, Errorable where SelectorModelType: CheckboxModel { - -} - -public struct DefaultCheckboxGroupModel: CheckboxGroupModel { - public typealias SelectorModelType = DefaultCheckboxModel - public var id = UUID() - public var inputId: String? - public var value: AnyHashable? - public var surface: Surface = .light - public var disabled: Bool = false - public var selectors: [SelectorModelType] - public var showError: Bool = false - public var errorText: String? - public init() { selectors = [] } - public init(selectors: [SelectorModelType]){ - self.selectors = selectors - } - -} diff --git a/VDS/Components/Checkbox/CheckboxModel.swift b/VDS/Components/Checkbox/CheckboxModel.swift deleted file mode 100644 index fad6c1e3..00000000 --- a/VDS/Components/Checkbox/CheckboxModel.swift +++ /dev/null @@ -1,123 +0,0 @@ -// -// ToggleModel.swift -// VDS -// -// Created by Matt Bruce on 7/22/22. -// - -import Foundation -import UIKit - -public protocol CheckboxModel: Modelable, FormFieldable, Errorable, DataTrackable, Accessable, Selectable, BinaryColorable { - var labelText: String? { get set } - var labelTextAttributes: [any LabelAttributeModel]? { get set } - var childText: String? { get set } - var childTextAttributes: [any LabelAttributeModel]? { get set } -} - -extension CheckboxModel { - - public var shouldShowError: Bool { - guard showError && !disabled && errorText?.isEmpty == false else { return false } - return true - } - - public var shouldShowLabels: Bool { - guard labelText?.isEmpty == false || childText?.isEmpty == false else { return false } - return true - } - - public var labelModel: DefaultLabelModel? { - guard let labelText = labelText else { return nil } - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BoldBodyLarge - model.text = labelText - model.surface = surface - model.disabled = disabled - model.attributes = labelTextAttributes - return model - } - - public var childModel: DefaultLabelModel? { - guard let childText = childText else { return nil } - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BodyLarge - model.text = childText - model.surface = surface - model.disabled = disabled - model.attributes = childTextAttributes - return model - } - - public var errorModel: DefaultLabelModel? { - guard let errorText = errorText, showError else { return nil } - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BodyMedium - model.text = errorText - model.surface = surface - model.disabled = disabled - return model - } -} - -public struct DefaultCheckboxModel: CheckboxModel { - public var id = UUID() - public var selected: Bool = false - public var labelText: String? - public var labelTextAttributes: [any LabelAttributeModel]? - public var childText: String? - public var childTextAttributes: [any LabelAttributeModel]? - - public var showError: Bool = false - public var errorText: String? - - 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() {} - - public static func == (lhs: DefaultCheckboxModel, rhs: DefaultCheckboxModel) -> Bool { - lhs.isEqual(rhs) - } - - public func isEqual(_ equatable: DefaultCheckboxModel) -> Bool { - return id == equatable.id - && selected == equatable.selected - && labelText == equatable.labelText - && labelTextAttributes == equatable.labelTextAttributes - && childText == equatable.childText - && childTextAttributes == equatable.childTextAttributes - && showError == equatable.showError - && errorText == equatable.errorText - && inputId == equatable.inputId - && value == equatable.value - && surface == equatable.surface - && disabled == equatable.disabled - && dataAnalyticsTrack == equatable.dataAnalyticsTrack - && dataClickStream == equatable.dataClickStream - && dataTrack == equatable.dataTrack - && accessibilityHintEnabled == equatable.accessibilityHintEnabled - && accessibilityHintDisabled == equatable.accessibilityHintDisabled - && accessibilityValueEnabled == equatable.accessibilityValueEnabled - && accessibilityValueDisabled == equatable.accessibilityValueDisabled - && accessibilityLabelEnabled == equatable.accessibilityLabelEnabled - && accessibilityLabelDisabled == equatable.accessibilityLabelDisabled - } - -} diff --git a/VDS/Components/Label/LabelModel.swift b/VDS/Components/Label/LabelModel.swift deleted file mode 100644 index a8e8b659..00000000 --- a/VDS/Components/Label/LabelModel.swift +++ /dev/null @@ -1,40 +0,0 @@ -// -// VDSLabelModel.swift -// VDS -// -// Created by Matt Bruce on 7/28/22. -// - -import Foundation -import UIKit - -public protocol LabelModel: Modelable, Labelable, Equatable, AnyEquatable { - var text: String? { get set } - var attributes: [any LabelAttributeModel]? { get set } -} - -public struct DefaultLabelModel: LabelModel { - public static func == (lhs: DefaultLabelModel, rhs: DefaultLabelModel) -> Bool { - lhs.isEqual(rhs) - } - - public func isEqual(_ equatable: DefaultLabelModel) -> Bool { - return id == equatable.id - && attributes == equatable.attributes - && text == equatable.text - && surface == equatable.surface - && typograpicalStyle == equatable.typograpicalStyle - && textPosition == equatable.textPosition - && surface == equatable.surface - && disabled == equatable.disabled - } - - public var id = UUID() - public var text: String? - public var attributes: [any LabelAttributeModel]? - public var typograpicalStyle: TypographicalStyle = .BodySmall - public var textPosition: TextPosition = .left - public var surface: Surface = .light - public var disabled: Bool = false - public init(){} -} diff --git a/VDS/Components/RadioBox/RadioBoxGroupModel.swift b/VDS/Components/RadioBox/RadioBoxGroupModel.swift deleted file mode 100644 index 2a7e9413..00000000 --- a/VDS/Components/RadioBox/RadioBoxGroupModel.swift +++ /dev/null @@ -1,26 +0,0 @@ -// -// RadioBoxGroupModel.swift -// VDS -// -// Created by Matt Bruce on 8/23/22. -// - -import Foundation - -public protocol RadioBoxGroupModel: SelectorGroupSelectedModelable where SelectorModelType: RadioBoxModel { } - -public struct DefaultRadioBoxGroupModel: RadioBoxGroupModel { - public typealias SelectorModelType = DefaultRadioBoxModel - public var id = UUID() - public var inputId: String? - public var value: AnyHashable? - public var surface: Surface = .light - public var disabled: Bool = false - public var selectors: [SelectorModelType] - public var showError: Bool = false - public var errorText: String? - public init() { selectors = [] } - public init(selectors: [SelectorModelType]){ - self.selectors = selectors - } -} diff --git a/VDS/Components/RadioBox/RadioBoxModel.swift b/VDS/Components/RadioBox/RadioBoxModel.swift deleted file mode 100644 index 7c6884fa..00000000 --- a/VDS/Components/RadioBox/RadioBoxModel.swift +++ /dev/null @@ -1,122 +0,0 @@ -// -// RadioBoxModel.swift -// VDS -// -// Created by Matt Bruce on 8/23/22. -// - -import Foundation -import UIKit - -public protocol RadioBoxModel: Modelable, FormFieldable, DataTrackable, Accessable, Selectable, BinaryColorable { - var text: String { get set } - var textAttributes: [any LabelAttributeModel]? { get set } - var subText: String? { get set } - var subTextAttributes: [any LabelAttributeModel]? { get set } - var subTextRight: String? { get set } - var subTextRightAttributes: [any LabelAttributeModel]? { get set } - var strikethrough: Bool { get set } -} - -extension RadioBoxModel { - - public var textModel: DefaultLabelModel { - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BoldBodyLarge - model.text = text - model.surface = surface - model.disabled = disabled - model.attributes = textAttributes - return model - } - - public var subTextModel: DefaultLabelModel? { - guard let subText else { return nil } - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BodyLarge - model.text = subText - model.surface = surface - model.disabled = disabled - model.attributes = subTextAttributes - return model - } - - public var subTextRightModel: DefaultLabelModel? { - guard let subTextRight else { return nil } - var model = DefaultLabelModel() - model.textPosition = .right - model.typograpicalStyle = .BodyLarge - model.text = subTextRight - model.surface = surface - model.disabled = disabled - model.attributes = subTextRightAttributes - return model - } - -} - -public struct DefaultRadioBoxModel: RadioBoxModel { - public var id = UUID() - public var selected: Bool = false - public var text: String = "Default Text" - public var textAttributes: [any LabelAttributeModel]? - public var subText: String? - public var subTextAttributes: [any LabelAttributeModel]? - public var subTextRight: String? - public var subTextRightAttributes: [any LabelAttributeModel]? - public var selectedAccentColor: UIColor? - 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() {} - - public static func == (lhs: DefaultRadioBoxModel, rhs: DefaultRadioBoxModel) -> Bool { - lhs.isEqual(rhs) - } - - public func isEqual(_ equatable: DefaultRadioBoxModel) -> Bool { - return id == equatable.id - && selected == equatable.selected - && text == equatable.text - && textAttributes == equatable.textAttributes - && subText == equatable.subText - && subTextAttributes == equatable.subTextAttributes - && subTextRight == equatable.subTextRight - && subTextRightAttributes == equatable.subTextRightAttributes - && selectedAccentColor == equatable.selectedAccentColor - && strikethrough == equatable.strikethrough - - && inputId == equatable.inputId - && value == equatable.value - - && surface == equatable.surface - && disabled == equatable.disabled - - && dataAnalyticsTrack == equatable.dataAnalyticsTrack - && dataClickStream == equatable.dataClickStream - && dataTrack == equatable.dataTrack - && accessibilityHintEnabled == equatable.accessibilityHintEnabled - && accessibilityHintDisabled == equatable.accessibilityHintDisabled - && accessibilityValueEnabled == equatable.accessibilityValueEnabled - && accessibilityValueDisabled == equatable.accessibilityValueDisabled - && accessibilityLabelEnabled == equatable.accessibilityLabelEnabled - && accessibilityLabelDisabled == equatable.accessibilityLabelDisabled - } -} diff --git a/VDS/Components/RadioButton/RadioButtonGroupModel.swift b/VDS/Components/RadioButton/RadioButtonGroupModel.swift deleted file mode 100644 index f9e8539f..00000000 --- a/VDS/Components/RadioButton/RadioButtonGroupModel.swift +++ /dev/null @@ -1,30 +0,0 @@ -// -// RadioButtonGroupModel.swift -// VDS -// -// Created by Matt Bruce on 8/11/22. -// - -import Foundation - -public protocol RadioButtonGroupModel: SelectorGroupSelectedModelable, Errorable where SelectorModelType: RadioButtonModel { } - -extension RadioButtonGroupModel { - public var errorText: String? { return nil } -} - -public struct DefaultRadioButtonGroupModel: RadioButtonGroupModel { - public typealias SelectorModelType = DefaultRadioButtonModel - public var id = UUID() - public var inputId: String? - public var value: AnyHashable? - public var surface: Surface = .light - public var disabled: Bool = false - public var selectors: [SelectorModelType] - public var showError: Bool = false - public var errorText: String? - public init() { selectors = [] } - public init(selectors: [SelectorModelType]){ - self.selectors = selectors - } -} diff --git a/VDS/Components/RadioButton/RadioButtonModel.swift b/VDS/Components/RadioButton/RadioButtonModel.swift deleted file mode 100644 index bf9d5e6e..00000000 --- a/VDS/Components/RadioButton/RadioButtonModel.swift +++ /dev/null @@ -1,128 +0,0 @@ -// -// ToggleModel.swift -// VDS -// -// Created by Matt Bruce on 7/22/22. -// - -import Foundation -import UIKit - -public protocol RadioButtonModel: Modelable, FormFieldable, Errorable, DataTrackable, Accessable, Selectable, BinaryColorable { - var labelText: String? { get set } - var labelTextAttributes: [any LabelAttributeModel]? { get set } - var childText: String? { get set } - var childTextAttributes: [any LabelAttributeModel]? { get set } -} - -extension RadioButtonModel { - - public var shouldShowError: Bool { - guard showError && !disabled && errorText?.isEmpty == false else { return false } - return true - } - - public var shouldShowLabels: Bool { - guard labelText?.isEmpty == false || childText?.isEmpty == false else { return false } - return true - } - - public var labelModel: DefaultLabelModel? { - guard let labelText = labelText else { return nil } - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BoldBodyLarge - model.text = labelText - model.surface = surface - model.disabled = disabled - model.attributes = labelTextAttributes - return model - } - - public var childModel: DefaultLabelModel? { - guard let childText = childText else { return nil } - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BodyLarge - model.text = childText - model.surface = surface - model.disabled = disabled - model.attributes = childTextAttributes - return model - } - - public var errorModel: DefaultLabelModel? { - guard let errorText = errorText, showError else { return nil } - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BodyMedium - model.text = errorText - model.surface = surface - model.disabled = disabled - return model - } -} - -public struct DefaultRadioButtonModel: RadioButtonModel { - public var id = UUID() - public var selected: Bool = false - - public var labelText: String? - public var labelTextAttributes: [any LabelAttributeModel]? - public var childText: String? - public var childTextAttributes: [any LabelAttributeModel]? - - public var showError: Bool = false - public var errorText: String? - - 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() {} - - public static func == (lhs: DefaultRadioButtonModel, rhs: DefaultRadioButtonModel) -> Bool { - lhs.isEqual(rhs) - } - - public func isEqual(_ equatable: DefaultRadioButtonModel) -> Bool { - return id == equatable.id - && selected == equatable.selected - - && labelText == equatable.labelText - && labelTextAttributes == equatable.labelTextAttributes - && childText == equatable.childText - && childTextAttributes == equatable.childTextAttributes - - && showError == equatable.showError - && errorText == equatable.errorText - - && inputId == equatable.inputId - && value == equatable.value - - && surface == equatable.surface - && disabled == equatable.disabled - - && dataAnalyticsTrack == equatable.dataAnalyticsTrack - && dataClickStream == equatable.dataClickStream - && dataTrack == equatable.dataTrack - && accessibilityHintEnabled == equatable.accessibilityHintEnabled - && accessibilityHintDisabled == equatable.accessibilityHintDisabled - && accessibilityValueEnabled == equatable.accessibilityValueEnabled - && accessibilityValueDisabled == equatable.accessibilityValueDisabled - && accessibilityLabelEnabled == equatable.accessibilityLabelEnabled - && accessibilityLabelDisabled == equatable.accessibilityLabelDisabled - } -} diff --git a/VDS/Components/RadioSwatch/RadioSwatchGroupModel.swift b/VDS/Components/RadioSwatch/RadioSwatchGroupModel.swift deleted file mode 100644 index 4aeb9628..00000000 --- a/VDS/Components/RadioSwatch/RadioSwatchGroupModel.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// RadioSwatchGroupModel.swift -// VDS -// -// Created by Matt Bruce on 8/25/22. -// - -import Foundation - -public protocol RadioSwatchGroupModel: SelectorGroupSelectedModelable, Equatable where SelectorModelType: RadioSwatchModel { } - -extension RadioSwatchGroupModel { - public var labelModel: DefaultLabelModel { - var model = DefaultLabelModel() - model.textPosition = .left - model.typograpicalStyle = .BodySmall - model.text = selectedModel?.text ?? " " - model.surface = surface - model.disabled = disabled - return model - } -} - -public struct DefaultRadioSwatchGroupModel: RadioSwatchGroupModel { - public typealias SelectorModelType = DefaultRadioSwatchModel - public var id = UUID() - public var inputId: String? - public var value: AnyHashable? - public var surface: Surface = .light - public var disabled: Bool = false - public var selectors: [SelectorModelType] - public init() { selectors = [] } - public init(selectors: [SelectorModelType]){ - self.selectors = selectors - } -} diff --git a/VDS/Components/RadioSwatch/RadioSwatchModel.swift b/VDS/Components/RadioSwatch/RadioSwatchModel.swift deleted file mode 100644 index c70e6e43..00000000 --- a/VDS/Components/RadioSwatch/RadioSwatchModel.swift +++ /dev/null @@ -1,47 +0,0 @@ -// -// RadioSwatchModel.swift -// VDS -// -// Created by Matt Bruce on 8/25/22. -// - -import Foundation -import UIKit - -public protocol RadioSwatchModel: Modelable, FormFieldable, DataTrackable, Accessable, Selectable, BinaryColorable, Equatable { - var fillImage: UIImage? { get set } - var primaryColor: UIColor? { get set } - var secondaryColor: UIColor? { get set } - var text: String { get set } - var strikethrough: Bool { get set } -} - -public struct DefaultRadioSwatchModel: RadioSwatchModel { - public var id = UUID() - public var selected: Bool = false - - public var fillImage: UIImage? - public var primaryColor: UIColor? - public var secondaryColor: UIColor? - public var text: String = "" - 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() {} - -} diff --git a/VDS/Components/Toggle/Toggle.swift b/VDS/Components/Toggle/Toggle.swift index 83c46c0c..59f27f70 100644 --- a/VDS/Components/Toggle/Toggle.swift +++ b/VDS/Components/Toggle/Toggle.swift @@ -9,6 +9,19 @@ import Foundation import UIKit import VDSColorTokens import Combine + +public enum ToggleTextSize: String, CaseIterable { + case small, large +} + +public enum ToggleTextWeight: String, CaseIterable { + case regular, bold +} + +public enum ToggleTextPosition: String, CaseIterable { + case left, right +} + /** A custom implementation of Apple's UISwitch. @@ -17,7 +30,6 @@ import Combine Container: The background of the toggle control. Knob: The circular indicator that slides on the container. */ - public class Toggle: ToggleBase{ public override func initialSetup() { super.initialSetup() diff --git a/VDS/Components/Toggle/ToggleModel.swift b/VDS/Components/Toggle/ToggleModel.swift deleted file mode 100644 index 4c888b49..00000000 --- a/VDS/Components/Toggle/ToggleModel.swift +++ /dev/null @@ -1,91 +0,0 @@ -// -// ToggleModel.swift -// VDS -// -// Created by Matt Bruce on 7/22/22. -// - -import Foundation -import UIKit - -public enum ToggleTextSize: String, CaseIterable { - case small, large -} - -public enum ToggleTextWeight: String, CaseIterable { - case regular, bold -} - -public enum ToggleTextPosition: String, CaseIterable { - case left, right -} - -public protocol ToggleModel: Modelable, FormFieldable, DataTrackable, Accessable, BinaryColorable { - var showText: Bool { get set } - var on: Bool { get set } - var offText: String { get set } - var onText: String { get set } - var textWeight: ToggleTextWeight { get set } - var textSize: ToggleTextSize { get set } - var textPosition: ToggleTextPosition { get set } -} - -extension ToggleModel { - public var userTrueColor: Bool { return on } - - public var labelModel: DefaultLabelModel { - - var typograpicalStyle: TypographicalStyle - if textSize == .small { - if textWeight == .bold { - typograpicalStyle = .BoldBodySmall - } else { - typograpicalStyle = .BodySmall - } - } else { - if textWeight == .bold { - typograpicalStyle = .BoldBodyLarge - } else { - typograpicalStyle = .BodyLarge - } - } - - var model = DefaultLabelModel() - model.textPosition = textPosition == .left ? .left : .right - model.typograpicalStyle = typograpicalStyle - model.text = on ? onText : offText - model.surface = surface - model.disabled = disabled - return model - } -} - -public struct DefaultToggleModel: ToggleModel { - public var id = UUID() - public var on: Bool = false - public var showText: Bool = false - public var offText: String = "Off" - public var onText: String = "On" - - public var textWeight: ToggleTextWeight = .regular - public var textSize: ToggleTextSize = .small - public var textPosition: ToggleTextPosition = .left - - public var inputId: String? - 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? - 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() { } -}