Merge branch 'refactor/VDSTokens' into 'develop'

Removed old frameworks to add the 1 primary VDSTokens

See merge request BPHV_MIPS/vds_ios!193
This commit is contained in:
Bruce, Matt R 2024-04-12 17:26:47 +00:00
commit 161a6fb1df
60 changed files with 275 additions and 329 deletions

View File

@ -18,8 +18,4 @@ if [ ! -d $FRAMEWORKS_DIR ]; then
mkdir -p $FRAMEWORKS_DIR mkdir -p $FRAMEWORKS_DIR
fi fi
./Scripts/download_framework.sh $ARTIFACTORY_URL "$FRAMEWORKS_DIR/VDSColorTokens.xcframework" GVJV_VDS_Maven/@vds-tokens/ios/VDSColorTokens.2.0.0.xcframework.zip ./Scripts/download_framework.sh $ARTIFACTORY_URL "$FRAMEWORKS_DIR/VDSTokens.xcframework" GVJV_VDS_Maven/@vds-tokens/ios/VDSTokens.1.0.1-alpha.0.xcframework.zip
./Scripts/download_framework.sh $ARTIFACTORY_URL "$FRAMEWORKS_DIR/VDSFormControlsTokens.xcframework" GVJV_VDS_Maven/@vds-tokens/ios/VDSFormControlsTokens.1.0.7.xcframework.zip
./Scripts/download_framework.sh $ARTIFACTORY_URL "$FRAMEWORKS_DIR/VDSTypographyTokens.xcframework" GVJV_VDS_Maven/@vds-tokens/ios/VDSTypographyTokens.2.0.0.xcframework.zip

View File

@ -49,9 +49,9 @@
EA0D1C3D2A6AD57600E5C127 /* Typography+Enums.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0D1C3C2A6AD57600E5C127 /* Typography+Enums.swift */; }; EA0D1C3D2A6AD57600E5C127 /* Typography+Enums.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0D1C3C2A6AD57600E5C127 /* Typography+Enums.swift */; };
EA0D1C3F2A6AD5E200E5C127 /* Typography+ContentSizeCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0D1C3E2A6AD5E200E5C127 /* Typography+ContentSizeCategory.swift */; }; EA0D1C3F2A6AD5E200E5C127 /* Typography+ContentSizeCategory.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0D1C3E2A6AD5E200E5C127 /* Typography+ContentSizeCategory.swift */; };
EA0D1C412A6AD61C00E5C127 /* Typography+Additional.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0D1C402A6AD61C00E5C127 /* Typography+Additional.swift */; }; EA0D1C412A6AD61C00E5C127 /* Typography+Additional.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0D1C402A6AD61C00E5C127 /* Typography+Additional.swift */; };
EA0D1C432A6AD70900E5C127 /* VDSTypography.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0D1C422A6AD70900E5C127 /* VDSTypography.swift */; };
EA0D1C452A6AD73000E5C127 /* RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0D1C442A6AD73000E5C127 /* RawRepresentable.swift */; }; EA0D1C452A6AD73000E5C127 /* RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0D1C442A6AD73000E5C127 /* RawRepresentable.swift */; };
EA0FC2C62914222900DF80B4 /* ButtonGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0FC2C52914222900DF80B4 /* ButtonGroup.swift */; }; EA0FC2C62914222900DF80B4 /* ButtonGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0FC2C52914222900DF80B4 /* ButtonGroup.swift */; };
EA21C5DB2B600EDE00CFC139 /* VDSTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA21C5DA2B600EDD00CFC139 /* VDSTokens.xcframework */; };
EA297A5529FB07760031ED56 /* TooltipLabelAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA297A5429FB07760031ED56 /* TooltipLabelAttribute.swift */; }; EA297A5529FB07760031ED56 /* TooltipLabelAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA297A5429FB07760031ED56 /* TooltipLabelAttribute.swift */; };
EA297A5729FB0A360031ED56 /* AppleGuidelinesTouchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA297A5629FB0A360031ED56 /* AppleGuidelinesTouchable.swift */; }; EA297A5729FB0A360031ED56 /* AppleGuidelinesTouchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA297A5629FB0A360031ED56 /* AppleGuidelinesTouchable.swift */; };
EA336171288B19200071C351 /* VDS.docc in Sources */ = {isa = PBXBuildFile; fileRef = EA336170288B19200071C351 /* VDS.docc */; }; EA336171288B19200071C351 /* VDS.docc in Sources */ = {isa = PBXBuildFile; fileRef = EA336170288B19200071C351 /* VDS.docc */; };
@ -111,15 +111,11 @@
EA985C1D296CD13600F2FF2E /* BundleManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C1C296CD13600F2FF2E /* BundleManager.swift */; }; EA985C1D296CD13600F2FF2E /* BundleManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C1C296CD13600F2FF2E /* BundleManager.swift */; };
EA985C23296E033A00F2FF2E /* TextArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C22296E033A00F2FF2E /* TextArea.swift */; }; EA985C23296E033A00F2FF2E /* TextArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C22296E033A00F2FF2E /* TextArea.swift */; };
EA985C2D296F03FE00F2FF2E /* TileletIconModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C2C296F03FE00F2FF2E /* TileletIconModels.swift */; }; EA985C2D296F03FE00F2FF2E /* TileletIconModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C2C296F03FE00F2FF2E /* TileletIconModels.swift */; };
EA985C672970C21600F2FF2E /* VDSLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C662970C21600F2FF2E /* VDSLayout.swift */; };
EA985C692971B90B00F2FF2E /* IconSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C682971B90B00F2FF2E /* IconSize.swift */; }; EA985C692971B90B00F2FF2E /* IconSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C682971B90B00F2FF2E /* IconSize.swift */; };
EA985C7D297DAED300F2FF2E /* Primitive.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C7C297DAED300F2FF2E /* Primitive.swift */; }; EA985C7D297DAED300F2FF2E /* Primitive.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C7C297DAED300F2FF2E /* Primitive.swift */; };
EAA5EEB528ECBFB4003B3210 /* ImageLabelAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA5EEB428ECBFB4003B3210 /* ImageLabelAttribute.swift */; }; EAA5EEB528ECBFB4003B3210 /* ImageLabelAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA5EEB428ECBFB4003B3210 /* ImageLabelAttribute.swift */; };
EAA5EEB928ECD24B003B3210 /* Icons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EAA5EEB828ECD24B003B3210 /* Icons.xcassets */; }; EAA5EEB928ECD24B003B3210 /* Icons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EAA5EEB828ECD24B003B3210 /* Icons.xcassets */; };
EAA5EEE428F5B855003B3210 /* VerizonNHGDS-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = EAA5EEE328F5B855003B3210 /* VerizonNHGDS-Light.otf */; }; EAA5EEE428F5B855003B3210 /* VerizonNHGDS-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = EAA5EEE328F5B855003B3210 /* VerizonNHGDS-Light.otf */; };
EAA5EEEF28F5C908003B3210 /* VDSTypographyTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAA5EEEC28F5C908003B3210 /* VDSTypographyTokens.xcframework */; };
EAA5EEF128F5C909003B3210 /* VDSColorTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAA5EEED28F5C908003B3210 /* VDSColorTokens.xcframework */; };
EAA5EEF328F5C909003B3210 /* VDSFormControlsTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAA5EEEE28F5C908003B3210 /* VDSFormControlsTokens.xcframework */; };
EAA7456C2AB23E2000C1841F /* TooltipModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA7456B2AB23E2000C1841F /* TooltipModel.swift */; }; EAA7456C2AB23E2000C1841F /* TooltipModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA7456B2AB23E2000C1841F /* TooltipModel.swift */; };
EAACB8982B92706F006A3869 /* DefaultValuing.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAACB8972B92706F006A3869 /* DefaultValuing.swift */; }; EAACB8982B92706F006A3869 /* DefaultValuing.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAACB8972B92706F006A3869 /* DefaultValuing.swift */; };
EAACB89A2B927108006A3869 /* Valuing.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAACB8992B927108006A3869 /* Valuing.swift */; }; EAACB89A2B927108006A3869 /* Valuing.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAACB8992B927108006A3869 /* Valuing.swift */; };
@ -241,9 +237,9 @@
EA0D1C3C2A6AD57600E5C127 /* Typography+Enums.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Typography+Enums.swift"; sourceTree = "<group>"; }; EA0D1C3C2A6AD57600E5C127 /* Typography+Enums.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Typography+Enums.swift"; sourceTree = "<group>"; };
EA0D1C3E2A6AD5E200E5C127 /* Typography+ContentSizeCategory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Typography+ContentSizeCategory.swift"; sourceTree = "<group>"; }; EA0D1C3E2A6AD5E200E5C127 /* Typography+ContentSizeCategory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Typography+ContentSizeCategory.swift"; sourceTree = "<group>"; };
EA0D1C402A6AD61C00E5C127 /* Typography+Additional.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Typography+Additional.swift"; sourceTree = "<group>"; }; EA0D1C402A6AD61C00E5C127 /* Typography+Additional.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Typography+Additional.swift"; sourceTree = "<group>"; };
EA0D1C422A6AD70900E5C127 /* VDSTypography.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VDSTypography.swift; sourceTree = "<group>"; };
EA0D1C442A6AD73000E5C127 /* RawRepresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RawRepresentable.swift; sourceTree = "<group>"; }; EA0D1C442A6AD73000E5C127 /* RawRepresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RawRepresentable.swift; sourceTree = "<group>"; };
EA0FC2C52914222900DF80B4 /* ButtonGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonGroup.swift; sourceTree = "<group>"; }; EA0FC2C52914222900DF80B4 /* ButtonGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonGroup.swift; sourceTree = "<group>"; };
EA21C5DA2B600EDD00CFC139 /* VDSTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSTokens.xcframework; path = ../SharedFrameworks/VDSTokens.xcframework; sourceTree = "<group>"; };
EA297A5429FB07760031ED56 /* TooltipLabelAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TooltipLabelAttribute.swift; sourceTree = "<group>"; }; EA297A5429FB07760031ED56 /* TooltipLabelAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TooltipLabelAttribute.swift; sourceTree = "<group>"; };
EA297A5629FB0A360031ED56 /* AppleGuidelinesTouchable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppleGuidelinesTouchable.swift; sourceTree = "<group>"; }; EA297A5629FB0A360031ED56 /* AppleGuidelinesTouchable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppleGuidelinesTouchable.swift; sourceTree = "<group>"; };
EA33616C288B19200071C351 /* VDS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = VDS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; EA33616C288B19200071C351 /* VDS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = VDS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@ -304,16 +300,12 @@
EA985C1C296CD13600F2FF2E /* BundleManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BundleManager.swift; sourceTree = "<group>"; }; EA985C1C296CD13600F2FF2E /* BundleManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BundleManager.swift; sourceTree = "<group>"; };
EA985C22296E033A00F2FF2E /* TextArea.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextArea.swift; sourceTree = "<group>"; }; EA985C22296E033A00F2FF2E /* TextArea.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextArea.swift; sourceTree = "<group>"; };
EA985C2C296F03FE00F2FF2E /* TileletIconModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TileletIconModels.swift; sourceTree = "<group>"; }; EA985C2C296F03FE00F2FF2E /* TileletIconModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TileletIconModels.swift; sourceTree = "<group>"; };
EA985C662970C21600F2FF2E /* VDSLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VDSLayout.swift; sourceTree = "<group>"; };
EA985C682971B90B00F2FF2E /* IconSize.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconSize.swift; sourceTree = "<group>"; }; EA985C682971B90B00F2FF2E /* IconSize.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconSize.swift; sourceTree = "<group>"; };
EA985C7C297DAED300F2FF2E /* Primitive.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Primitive.swift; sourceTree = "<group>"; }; EA985C7C297DAED300F2FF2E /* Primitive.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Primitive.swift; sourceTree = "<group>"; };
EAA5EEB428ECBFB4003B3210 /* ImageLabelAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageLabelAttribute.swift; sourceTree = "<group>"; }; EAA5EEB428ECBFB4003B3210 /* ImageLabelAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageLabelAttribute.swift; sourceTree = "<group>"; };
EAA5EEB828ECD24B003B3210 /* Icons.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Icons.xcassets; sourceTree = "<group>"; }; EAA5EEB828ECD24B003B3210 /* Icons.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Icons.xcassets; sourceTree = "<group>"; };
EAA5EEDF28F49DB3003B3210 /* Colorable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Colorable.swift; sourceTree = "<group>"; }; EAA5EEDF28F49DB3003B3210 /* Colorable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Colorable.swift; sourceTree = "<group>"; };
EAA5EEE328F5B855003B3210 /* VerizonNHGDS-Light.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "VerizonNHGDS-Light.otf"; sourceTree = "<group>"; }; EAA5EEE328F5B855003B3210 /* VerizonNHGDS-Light.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "VerizonNHGDS-Light.otf"; sourceTree = "<group>"; };
EAA5EEEC28F5C908003B3210 /* VDSTypographyTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSTypographyTokens.xcframework; path = ../SharedFrameworks/VDSTypographyTokens.xcframework; sourceTree = "<group>"; };
EAA5EEED28F5C908003B3210 /* VDSColorTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSColorTokens.xcframework; path = ../SharedFrameworks/VDSColorTokens.xcframework; sourceTree = "<group>"; };
EAA5EEEE28F5C908003B3210 /* VDSFormControlsTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSFormControlsTokens.xcframework; path = ../SharedFrameworks/VDSFormControlsTokens.xcframework; sourceTree = "<group>"; };
EAA7456B2AB23E2000C1841F /* TooltipModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TooltipModel.swift; sourceTree = "<group>"; }; EAA7456B2AB23E2000C1841F /* TooltipModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TooltipModel.swift; sourceTree = "<group>"; };
EAACB8972B92706F006A3869 /* DefaultValuing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultValuing.swift; sourceTree = "<group>"; }; EAACB8972B92706F006A3869 /* DefaultValuing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultValuing.swift; sourceTree = "<group>"; };
EAACB8992B927108006A3869 /* Valuing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Valuing.swift; sourceTree = "<group>"; }; EAACB8992B927108006A3869 /* Valuing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Valuing.swift; sourceTree = "<group>"; };
@ -387,9 +379,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
EAA5EEF328F5C909003B3210 /* VDSFormControlsTokens.xcframework in Frameworks */, EA21C5DB2B600EDE00CFC139 /* VDSTokens.xcframework in Frameworks */,
EAA5EEEF28F5C908003B3210 /* VDSTypographyTokens.xcframework in Frameworks */,
EAA5EEF128F5C909003B3210 /* VDSColorTokens.xcframework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -569,9 +559,7 @@
EA33618D288B1C0C0071C351 /* Frameworks */ = { EA33618D288B1C0C0071C351 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
EAA5EEED28F5C908003B3210 /* VDSColorTokens.xcframework */, EA21C5DA2B600EDD00CFC139 /* VDSTokens.xcframework */,
EAA5EEEE28F5C908003B3210 /* VDSFormControlsTokens.xcframework */,
EAA5EEEC28F5C908003B3210 /* VDSTypographyTokens.xcframework */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
@ -634,8 +622,6 @@
EAB5FED329267EB300998C17 /* UIView+NSLayoutConstraint.swift */, EAB5FED329267EB300998C17 /* UIView+NSLayoutConstraint.swift */,
EAD062A62A3B67770015965D /* UIView+CALayer.swift */, EAD062A62A3B67770015965D /* UIView+CALayer.swift */,
EAB5FF0029424ACB00998C17 /* UIControl.swift */, EAB5FF0029424ACB00998C17 /* UIControl.swift */,
EA985C662970C21600F2FF2E /* VDSLayout.swift */,
EA0D1C422A6AD70900E5C127 /* VDSTypography.swift */,
); );
path = Extensions; path = Extensions;
sourceTree = "<group>"; sourceTree = "<group>";
@ -1106,7 +1092,6 @@
18A65A022B96E848006602CC /* Breadcrumbs.swift in Sources */, 18A65A022B96E848006602CC /* Breadcrumbs.swift in Sources */,
EA0D1C3F2A6AD5E200E5C127 /* Typography+ContentSizeCategory.swift in Sources */, EA0D1C3F2A6AD5E200E5C127 /* Typography+ContentSizeCategory.swift in Sources */,
EA5F86C82A1BD99100BC83E4 /* TabModel.swift in Sources */, EA5F86C82A1BD99100BC83E4 /* TabModel.swift in Sources */,
EA0D1C432A6AD70900E5C127 /* VDSTypography.swift in Sources */,
EA297A5729FB0A360031ED56 /* AppleGuidelinesTouchable.swift in Sources */, EA297A5729FB0A360031ED56 /* AppleGuidelinesTouchable.swift in Sources */,
1832AC572BA0791D008AE476 /* BreadcrumbCellItem.swift in Sources */, 1832AC572BA0791D008AE476 /* BreadcrumbCellItem.swift in Sources */,
EA3361C328902D960071C351 /* Toggle.swift in Sources */, EA3361C328902D960071C351 /* Toggle.swift in Sources */,
@ -1229,7 +1214,6 @@
EA33623E2892EE950071C351 /* UIDevice.swift in Sources */, EA33623E2892EE950071C351 /* UIDevice.swift in Sources */,
EA985C692971B90B00F2FF2E /* IconSize.swift in Sources */, EA985C692971B90B00F2FF2E /* IconSize.swift in Sources */,
71FC86E02B973AE500700965 /* DropShadowConfiguration.swift in Sources */, 71FC86E02B973AE500700965 /* DropShadowConfiguration.swift in Sources */,
EA985C672970C21600F2FF2E /* VDSLayout.swift in Sources */,
EA3362302891EB4A0071C351 /* Font.swift in Sources */, EA3362302891EB4A0071C351 /* Font.swift in Sources */,
EAF7F0AD289B142900B287F5 /* StrikeThroughLabelAttribute.swift in Sources */, EAF7F0AD289B142900B287F5 /* StrikeThroughLabelAttribute.swift in Sources */,
EAB5FEF12927F4AA00998C17 /* SelfSizingCollectionView.swift in Sources */, EAB5FEF12927F4AA00998C17 /* SelfSizingCollectionView.swift in Sources */,

View File

@ -6,9 +6,9 @@
// //
import Foundation import Foundation
import UIKit
import Combine import Combine
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
public protocol SelectorControlable: Control, Changeable { public protocol SelectorControlable: Control, Changeable {
/// Whether not to show the error. /// Whether not to show the error.

View File

@ -8,6 +8,7 @@
import Foundation import Foundation
import UIKit import UIKit
import Combine import Combine
import VDSTokens
public protocol SelectorGroup { public protocol SelectorGroup {
associatedtype SelectorItemType: Control associatedtype SelectorItemType: Control
@ -49,7 +50,7 @@ open class SelectorGroupBase<SelectorItemType: Control>: Control, SelectorGroup,
$0.alignment = .fill $0.alignment = .fill
$0.distribution = .fill $0.distribution = .fill
$0.axis = .vertical $0.axis = .vertical
$0.spacing = VDSLayout.Spacing.space3X.value $0.spacing = VDSLayout.space3X
} }
}() }()

View File

@ -8,8 +8,7 @@
import Foundation import Foundation
import UIKit import UIKit
import Combine import Combine
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
/// Base Class used to build out a SelectorControlable control. /// Base Class used to build out a SelectorControlable control.
open class SelectorItemBase<Selector: SelectorControlable>: Control, Errorable, Changeable, FormFieldable { open class SelectorItemBase<Selector: SelectorControlable>: Control, Errorable, Changeable, FormFieldable {

View File

@ -7,8 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import Combine import Combine
/// A badge is a visual label used to convey status or highlight supplemental information. /// A badge is a visual label used to convey status or highlight supplemental information.
@ -86,20 +85,20 @@ open class Badge: View {
//-------------------------------------------------- //--------------------------------------------------
private var minWidth: CGFloat = 23.0 private var minWidth: CGFloat = 23.0
private var labelInset: UIEdgeInsets = .init(top: 2, private var labelInset: UIEdgeInsets = .init(top: 2,
left: VDSLayout.Spacing.space1X.value, left: VDSLayout.space1X,
bottom: 2, bottom: 2,
right: VDSLayout.Spacing.space1X.value) right: VDSLayout.space1X)
/// ColorConfiguration that is mapped to the 'fillColor' for the surface. /// ColorConfiguration that is mapped to the 'fillColor' for the surface.
private var backgroundColorConfiguration: AnyColorable = { private var backgroundColorConfiguration: AnyColorable = {
let config = KeyedColorConfiguration<Badge, FillColor>(keyPath: \.fillColor) let config = KeyedColorConfiguration<Badge, FillColor>(keyPath: \.fillColor)
config.setSurfaceColors(VDSColor.backgroundBrandhighlight, VDSColor.backgroundBrandhighlight, forKey: .red) config.setSurfaceColors(VDSColor.badgesBackgroundRedOnlight, VDSColor.badgesBackgroundRedOndark, forKey: .red)
config.setSurfaceColors(VDSColor.paletteYellow53, VDSColor.paletteYellow53, forKey: .yellow) config.setSurfaceColors(VDSColor.badgesBackgroundYellowOnlight, VDSColor.badgesBackgroundYellowOndark, forKey: .yellow)
config.setSurfaceColors(VDSColor.paletteGreen26, VDSColor.paletteGreen36, forKey: .green) config.setSurfaceColors(VDSColor.badgesBackgroundGreenOnlight, VDSColor.badgesBackgroundGreenOndark, forKey: .green)
config.setSurfaceColors(VDSColor.paletteOrange41, VDSColor.paletteOrange58, forKey: .orange) config.setSurfaceColors(VDSColor.badgesBackgroundOrangeOnlight, VDSColor.badgesBackgroundOrangeOndark, forKey: .orange)
config.setSurfaceColors(VDSColor.paletteBlue38, VDSColor.paletteBlue46, forKey: .blue) config.setSurfaceColors(VDSColor.badgesBackgroundBlueOnlight, VDSColor.badgesBackgroundBlueOndark, forKey: .blue)
config.setSurfaceColors(VDSColor.backgroundPrimaryDark, VDSColor.backgroundPrimaryDark, forKey: .black) config.setSurfaceColors(VDSColor.badgesBackgroundBlackOnlight, VDSColor.badgesBackgroundBlackOndark, forKey: .black)
config.setSurfaceColors(VDSColor.backgroundPrimaryLight, VDSColor.backgroundPrimaryLight, forKey: .white) config.setSurfaceColors(VDSColor.badgesBackgroundWhiteOnlight, VDSColor.badgesBackgroundWhiteOndark, forKey: .white)
return config.eraseToAnyColorable() return config.eraseToAnyColorable()
}() }()

View File

@ -7,10 +7,8 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import Combine import Combine
import VDSTypographyTokens
/// A badge indicator is a visual label used to convey status or highlight supplemental information. /// A badge indicator is a visual label used to convey status or highlight supplemental information.
@objc(VDSBadgeIndicator) @objc(VDSBadgeIndicator)
@ -36,7 +34,7 @@ open class BadgeIndicator: View {
//-------------------------------------------------- //--------------------------------------------------
/// Enum used to describe the primary color for the view. /// Enum used to describe the primary color for the view.
public enum FillColor: String, CaseIterable { public enum FillColor: String, CaseIterable {
case red, yellow, green, orange, blue, gray, grayLowContrast, black, white case red, yellow, green, orange, blue, grayHighContrast, grayLowContrast, black, white
} }
/// Enum used to describe the kind of BadgeIndicator. /// Enum used to describe the kind of BadgeIndicator.
@ -122,7 +120,7 @@ open class BadgeIndicator: View {
switch self { switch self {
case .xxlarge: case .xxlarge:
horizontalPadding = VDSLayout.Spacing.space2X.value horizontalPadding = VDSLayout.space2X
case .xlarge, .large, .medium: case .xlarge, .large, .medium:
horizontalPadding = 6.0 horizontalPadding = 6.0
case .small: case .small:
@ -250,15 +248,15 @@ open class BadgeIndicator: View {
private var backgroundColorConfiguration: AnyColorable = { private var backgroundColorConfiguration: AnyColorable = {
let config = KeyedColorConfiguration<BadgeIndicator, FillColor>(keyPath: \.fillColor) let config = KeyedColorConfiguration<BadgeIndicator, FillColor>(keyPath: \.fillColor)
config.setSurfaceColors(VDSColor.backgroundBrandhighlight, VDSColor.backgroundBrandhighlight, forKey: .red) config.setSurfaceColors(VDSColor.badgesBackgroundRedOnlight, VDSColor.badgesBackgroundRedOndark, forKey: .red)
config.setSurfaceColors(VDSColor.paletteYellow62, VDSColor.paletteYellow62, forKey: .yellow) config.setSurfaceColors(VDSColor.badgesBackgroundYellowOnlight, VDSColor.badgesBackgroundYellowOndark, forKey: .yellow)
config.setSurfaceColors(VDSColor.paletteGreen26, VDSColor.paletteGreen36, forKey: .green) config.setSurfaceColors(VDSColor.badgesBackgroundGreenOnlight, VDSColor.badgesBackgroundGreenOndark, forKey: .green)
config.setSurfaceColors(VDSColor.paletteOrange41, VDSColor.paletteOrange58, forKey: .orange) config.setSurfaceColors(VDSColor.badgesBackgroundOrangeOnlight, VDSColor.badgesBackgroundOrangeOndark, forKey: .orange)
config.setSurfaceColors(VDSColor.paletteBlue38, VDSColor.paletteBlue46, forKey: .blue) config.setSurfaceColors(VDSColor.badgesBackgroundBlueOnlight, VDSColor.badgesBackgroundBlueOndark, forKey: .blue)
config.setSurfaceColors(VDSColor.paletteGray44, VDSColor.paletteGray65, forKey: .gray) config.setSurfaceColors(VDSColor.paletteGray44, VDSColor.paletteGray65, forKey: .grayHighContrast)
config.setSurfaceColors(VDSColor.paletteGray85, VDSColor.paletteGray20, forKey: .grayLowContrast) config.setSurfaceColors(VDSColor.paletteGray85, VDSColor.paletteGray20, forKey: .grayLowContrast)
config.setSurfaceColors(VDSColor.backgroundPrimaryDark, VDSColor.backgroundPrimaryDark, forKey: .black) config.setSurfaceColors(VDSColor.badgesBackgroundBlackOnlight, VDSColor.badgesBackgroundBlackOndark, forKey: .black)
config.setSurfaceColors(VDSColor.backgroundPrimaryLight, VDSColor.backgroundPrimaryLight, forKey: .white) config.setSurfaceColors(VDSColor.badgesBackgroundWhiteOnlight, VDSColor.badgesBackgroundWhiteOndark, forKey: .white)
return config.eraseToAnyColorable() return config.eraseToAnyColorable()
}() }()
@ -407,7 +405,7 @@ open class BadgeIndicator: View {
switch fillColor { switch fillColor {
case .red, .black, .gray, .grayLowContrast: case .red, .black, .grayHighContrast, .grayLowContrast:
textColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOndark, VDSColor.elementsPrimaryOndark, forDisabled: false) textColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOndark, VDSColor.elementsPrimaryOndark, forDisabled: false)
textColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOndark, VDSColor.elementsPrimaryOndark, forDisabled: true) textColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOndark, VDSColor.elementsPrimaryOndark, forDisabled: true)

View File

@ -6,7 +6,7 @@
// //
import UIKit import UIKit
import VDSColorTokens import VDSTokens
///This is customised view for Breadcrumb cell item ///This is customised view for Breadcrumb cell item
final class BreadcrumbCellItem: UICollectionViewCell { final class BreadcrumbCellItem: UICollectionViewCell {
@ -23,7 +23,7 @@ final class BreadcrumbCellItem: UICollectionViewCell {
$0.axis = .horizontal $0.axis = .horizontal
$0.distribution = .fill $0.distribution = .fill
$0.alignment = .fill $0.alignment = .fill
$0.spacing = VDSLayout.Spacing.space1X.value $0.spacing = VDSLayout.space1X
$0.setContentCompressionResistancePriority(.defaultHigh, for: .horizontal) $0.setContentCompressionResistancePriority(.defaultHigh, for: .horizontal)
$0.setContentHuggingPriority(.defaultHigh, for: .horizontal) $0.setContentHuggingPriority(.defaultHigh, for: .horizontal)
} }
@ -78,7 +78,7 @@ final class BreadcrumbCellItem: UICollectionViewCell {
//add to stack //add to stack
stackView.addArrangedSubview(separator) stackView.addArrangedSubview(separator)
stackView.addArrangedSubview(breadCrumbItem) stackView.addArrangedSubview(breadCrumbItem)
stackView.setCustomSpacing(VDSLayout.Spacing.space1X.value, after: separator) stackView.setCustomSpacing(VDSLayout.space1X, after: separator)
//update separator //update separator
separator.textColor = textColorConfiguration.getColor(surface) separator.textColor = textColorConfiguration.getColor(surface)

View File

@ -6,8 +6,8 @@
// //
import Foundation import Foundation
import VDSColorTokens import UIKit
import VDSFormControlsTokens import VDSTokens
import Combine import Combine
/// A Breadcrumb Item contains href(link) and selected flag. /// A Breadcrumb Item contains href(link) and selected flag.

View File

@ -6,7 +6,8 @@
// //
import Foundation import Foundation
import VDSColorTokens import UIKit
import VDSTokens
import Combine import Combine
/// A Breadcrumbs contains BreadcrumbItems. /// A Breadcrumbs contains BreadcrumbItems.
@ -51,10 +52,10 @@ open class Breadcrumbs: View {
$0.position = .left $0.position = .left
$0.delegate = self $0.delegate = self
$0.axisSpacer = { _, _, _ in $0.axisSpacer = { _, _, _ in
return VDSLayout.Spacing.space1X.value return VDSLayout.space1X
} }
$0.verticalSpacer = { _, _ in $0.verticalSpacer = { _, _ in
return VDSLayout.Spacing.space1X.value return VDSLayout.space1X
} }
} }
@ -158,7 +159,7 @@ extension Breadcrumbs: UICollectionViewDelegate, UICollectionViewDataSource, But
public func collectionView(_ collectionView: UICollectionView, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize { public func collectionView(_ collectionView: UICollectionView, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize {
let breadcrumb = breadcrumbs[indexPath.row] let breadcrumb = breadcrumbs[indexPath.row]
let intrinsicSize = breadcrumb.intrinsicContentSize let intrinsicSize = breadcrumb.intrinsicContentSize
let separatorFullWidth: CGFloat = indexPath.row == 0 ? 0 : VDSLayout.Spacing.space1X.value + separatorWidth let separatorFullWidth: CGFloat = indexPath.row == 0 ? 0 : VDSLayout.space1X + separatorWidth
let cellwidth = intrinsicSize.width + separatorFullWidth let cellwidth = intrinsicSize.width + separatorFullWidth
return .init(width: min(cellwidth, collectionView.frame.width), height: intrinsicSize.height) return .init(width: min(cellwidth, collectionView.frame.width), height: intrinsicSize.height)
} }

View File

@ -7,8 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import Combine import Combine
/// A button is an interactive element that triggers an action. Buttons are prominent and attention-getting, with more visual emphasis than any of the Text Link components. For this reason, buttons are best suited for critical and driving actions. This class can be used within a ``ButtonGroup``. /// A button is an interactive element that triggers an action. Buttons are prominent and attention-getting, with more visual emphasis than any of the Text Link components. For this reason, buttons are best suited for critical and driving actions. This class can be used within a ``ButtonGroup``.
@ -241,7 +240,7 @@ open class Button: ButtonBase, Useable {
let bgColor = backgroundColorConfiguration.getColor(self) let bgColor = backgroundColorConfiguration.getColor(self)
let borderColor = borderColorConfiguration.getColor(self) let borderColor = borderColorConfiguration.getColor(self)
let borderWidth = use == .secondary ? VDSFormControls.widthBorder : 0.0 let borderWidth = use == .secondary ? VDSFormControls.borderWidth : 0.0
let cornerRadius = size.cornerRadius let cornerRadius = size.cornerRadius
let edgeInsets = size.edgeInsets let edgeInsets = size.edgeInsets

View File

@ -7,8 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import Combine import Combine
/// Base class used for UIButton type classes. /// Base class used for UIButton type classes.

View File

@ -7,8 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import Combine import Combine
/// A button group contains combinations of related CTAs including ``Button``, ``TextLink``, and ``TextLinkCaret``. This group component controls a combination's orientation, spacing, size and allowable size pairings. /// A button group contains combinations of related CTAs including ``Button``, ``TextLink``, and ``TextLinkCaret``. This group component controls a combination's orientation, spacing, size and allowable size pairings.

View File

@ -7,8 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import Combine import Combine
/// A text link is an interactive element that navigates a customer to pages within an experience, like a Bill details page, or triggers a secondary action, /// A text link is an interactive element that navigates a customer to pages within an experience, like a Bill details page, or triggers a secondary action,

View File

@ -7,8 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import Combine import Combine
/// A text link caret is an interactive element that always brings a customer to another page. It's used for navigation, /// A text link caret is an interactive element that always brings a customer to another page. It's used for navigation,

View File

@ -7,8 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import Combine import Combine
/// A carousel scrollbar is a control that allows to navigate between items in a carousel. /// A carousel scrollbar is a control that allows to navigate between items in a carousel.

View File

@ -8,8 +8,7 @@
import Foundation import Foundation
import UIKit import UIKit
import Combine import Combine
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
/// Checkboxes are a multi-select component through which a customer indicates a choice. This is also used within /// Checkboxes are a multi-select component through which a customer indicates a choice. This is also used within
/// ``CheckboxItem`` and ``CheckboxGroup`` /// ``CheckboxItem`` and ``CheckboxGroup``
@ -87,7 +86,7 @@ open class Checkbox: SelectorBase {
} }
layer.cornerRadius = 2.0 layer.cornerRadius = 2.0
layer.borderWidth = VDSFormControls.widthBorder layer.borderWidth = VDSFormControls.borderWidth
if shapeLayer == nil { if shapeLayer == nil {
let bounds = bounds let bounds = bounds

View File

@ -7,6 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSTokens
/// When the choice has multiple options, use a checkbox group. For example, use a checkbox group when /// When the choice has multiple options, use a checkbox group. For example, use a checkbox group when
/// asking a customer which attributes they would like to filter their search by. This uses ``CheckboxItem`` /// asking a customer which attributes they would like to filter their search by. This uses ``CheckboxItem``
@ -78,7 +79,7 @@ open class CheckboxGroup: SelectorGroupBase<CheckboxItem>, SelectorGroupMultiSel
/// Called once when a view is initialized and is used to Setup additional UI or other constants and configurations. /// Called once when a view is initialized and is used to Setup additional UI or other constants and configurations.
open override func setup() { open override func setup() {
super.setup() super.setup()
mainStackView.spacing = VDSLayout.Spacing.space6X.value mainStackView.spacing = VDSLayout.space6X
} }
public override func didSelect(_ selectedControl: CheckboxItem) { public override func didSelect(_ selectedControl: CheckboxItem) {

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import Combine import Combine
/// A button icon is an interactive element that visually communicates the action it triggers via an icon. /// A button icon is an interactive element that visually communicates the action it triggers via an icon.

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import Combine import Combine
/// An icon is a graphical element that conveys information at a glance. It helps orient /// An icon is a graphical element that conveys information at a glance. It helps orient

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
extension Icon { extension Icon {

View File

@ -8,7 +8,7 @@
import Foundation import Foundation
import UIKit import UIKit
import Combine import Combine
import VDSColorTokens import VDSTokens
public class TooltipLabelAttribute: ActionLabelAttributeModel, TooltipLaunchable { public class TooltipLabelAttribute: ActionLabelAttributeModel, TooltipLaunchable {
public var id = UUID() public var id = UUID()
@ -57,7 +57,7 @@ public class TooltipLabelAttribute: ActionLabelAttributeModel, TooltipLaunchable
frame: frame, frame: frame,
tintColor: imageTintColor) tintColor: imageTintColor)
let spacer = NSAttributedString.spacer(for: VDSLayout.Spacing.space1X.value) let spacer = NSAttributedString.spacer(for: VDSLayout.space1X)
guard let tooltip = try? tooltipAttribute.getAttachment() else { return } guard let tooltip = try? tooltipAttribute.getAttachment() else { return }
attributedString.append(spacer) attributedString.append(spacer)

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import Combine import Combine
/// Label is a standard view used to draw text with applying Typography through ``TextStyle`` as well /// Label is a standard view used to draw text with applying Typography through ``TextStyle`` as well

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
/// A line visually separates content sections or elements in lists, tables and layouts to indicate content hierarchy. /// A line visually separates content sections or elements in lists, tables and layouts to indicate content hierarchy.
@objc(VDSLine) @objc(VDSLine)

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
/// A loader is an indicator that uses animation to show customers that there is an indefinite amount of wait time while a task is ongoing, e.g. a page is loading, a form is being submitted. The component disappears when the task is complete. /// A loader is an indicator that uses animation to show customers that there is an indefinite amount of wait time while a task is ongoing, e.g. a page is loading, a form is being submitted. The component disappears when the task is complete.

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
/// ViewController to show the Loader, this will be presented using the LoaderLaunchable Protocl. /// ViewController to show the Loader, this will be presented using the LoaderLaunchable Protocl.
open class LoaderViewController: UIViewController, Surfaceable { open class LoaderViewController: UIViewController, Surfaceable {

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import Combine import Combine
/// Notifications are prominent, attention-getting banners that provide information /// Notifications are prominent, attention-getting banners that provide information
@ -74,11 +74,11 @@ open class Notification: View {
$0.translatesAutoresizingMaskIntoConstraints = false $0.translatesAutoresizingMaskIntoConstraints = false
$0.alignment = .top $0.alignment = .top
$0.axis = .horizontal $0.axis = .horizontal
$0.spacing = UIDevice.isIPad ? VDSLayout.Spacing.space3X.value : VDSLayout.Spacing.space2X.value $0.spacing = UIDevice.isIPad ? VDSLayout.space3X : VDSLayout.space2X
} }
private var labelsView = UIStackView().with { private var labelsView = UIStackView().with {
$0.spacing = VDSLayout.Spacing.space1X.value $0.spacing = VDSLayout.space1X
$0.translatesAutoresizingMaskIntoConstraints = false $0.translatesAutoresizingMaskIntoConstraints = false
$0.alignment = .fill $0.alignment = .fill
$0.distribution = .equalSpacing $0.distribution = .equalSpacing
@ -190,15 +190,15 @@ open class Notification: View {
} }
private var edgeSpacing: CGFloat { private var edgeSpacing: CGFloat {
return UIDevice.isIPad ? VDSLayout.Spacing.space5X.value : VDSLayout.Spacing.space4X.value return UIDevice.isIPad ? VDSLayout.space5X : VDSLayout.space4X
} }
private var minViewHeight: CGFloat { private var minViewHeight: CGFloat {
return UIDevice.isIPad ? VDSLayout.Spacing.space16X.value : VDSLayout.Spacing.space12X.value return UIDevice.isIPad ? VDSLayout.space16X : VDSLayout.space12X
} }
private var minContentHeight: CGFloat { private var minContentHeight: CGFloat {
return UIDevice.isIPad ? VDSLayout.Spacing.space5X.value : VDSLayout.Spacing.space4X.value return UIDevice.isIPad ? VDSLayout.space5X : VDSLayout.space4X
} }
private var minViewWidth: CGFloat { private var minViewWidth: CGFloat {
@ -246,7 +246,7 @@ open class Notification: View {
buttonGroup buttonGroup
.pinTrailing() .pinTrailing()
labelButtonView.bottomAnchor.constraint(equalTo: buttonGroup.bottomAnchor).activate() labelButtonView.bottomAnchor.constraint(equalTo: buttonGroup.bottomAnchor).activate()
labelViewAndButtonViewConstraint = buttonGroup.topAnchor.constraint(equalTo: labelsView.bottomAnchor, constant: VDSLayout.Spacing.space3X.value) labelViewAndButtonViewConstraint = buttonGroup.topAnchor.constraint(equalTo: labelsView.bottomAnchor, constant: VDSLayout.space3X)
buttonGroup.widthAnchor.constraint(equalTo: labelsView.widthAnchor).activate() buttonGroup.widthAnchor.constraint(equalTo: labelsView.widthAnchor).activate()
mainStackView.addArrangedSubview(typeIcon) mainStackView.addArrangedSubview(typeIcon)
@ -368,7 +368,7 @@ open class Notification: View {
buttonGroup.isHidden = true buttonGroup.isHidden = true
buttonGroup.buttons.removeAll() buttonGroup.buttons.removeAll()
} else { } else {
labelsView.setCustomSpacing(VDSLayout.Spacing.space3X.value, after: subTitleLabel) labelsView.setCustomSpacing(VDSLayout.space3X, after: subTitleLabel)
buttonGroup.buttons = buttons buttonGroup.buttons = buttons
buttonGroup.isHidden = false buttonGroup.isHidden = false
} }

View File

@ -6,7 +6,8 @@
// //
import Foundation import Foundation
import VDSColorTokens import UIKit
import VDSTokens
import Combine import Combine
///Pagination is a control that enables customers to navigate multiple pages of content by selecting either a specific page or the next or previous set of four pages. ///Pagination is a control that enables customers to navigate multiple pages of content by selecting either a specific page or the next or previous set of four pages.
@ -119,7 +120,7 @@ open class Pagination: View {
.pinBottom() .pinBottom()
collectionView collectionView
.height(VDSLayout.Spacing.space4X.value) .height(VDSLayout.space4X)
.pinCenterY() .pinCenterY()
.pinCenterX() .pinCenterX()

View File

@ -6,7 +6,7 @@
// //
import UIKit import UIKit
import VDSColorTokens import VDSTokens
///This is customised button for Pagination view ///This is customised button for Pagination view
@objc(PaginationButton) @objc(PaginationButton)
@ -24,7 +24,7 @@ open class PaginationButton: ButtonBase {
@available(iOS 15.0, *) @available(iOS 15.0, *)
private var buttonConfiguration: Button.Configuration { private var buttonConfiguration: Button.Configuration {
var configuration = ButtonBase.Configuration.plain() var configuration = ButtonBase.Configuration.plain()
configuration.imagePadding = VDSLayout.Spacing.space2X.value configuration.imagePadding = VDSLayout.space2X
configuration.imagePlacement = type == .next ? .trailing : .leading configuration.imagePlacement = type == .next ? .trailing : .leading
configuration.titleAlignment = type == .next ? .trailing : .leading configuration.titleAlignment = type == .next ? .trailing : .leading
configuration.contentInsets = .zero configuration.contentInsets = .zero
@ -65,7 +65,7 @@ open class PaginationButton: ButtonBase {
configuration = buttonConfiguration configuration = buttonConfiguration
} else { } else {
semanticContentAttribute = type == .next ? .forceRightToLeft : .forceLeftToRight semanticContentAttribute = type == .next ? .forceRightToLeft : .forceLeftToRight
imageEdgeInsets = .init(top: 0, left: 0, bottom: 0, right: VDSLayout.Spacing.space2X.value) imageEdgeInsets = .init(top: 0, left: 0, bottom: 0, right: VDSLayout.space2X)
} }
contentHorizontalAlignment = type == .next ? .trailing : .leading contentHorizontalAlignment = type == .next ? .trailing : .leading
} }

View File

@ -6,7 +6,7 @@
// //
import UIKit import UIKit
import VDSColorTokens import VDSTokens
///This is customised view for Pagination cell item ///This is customised view for Pagination cell item
final class PaginationCellItem: UICollectionViewCell { final class PaginationCellItem: UICollectionViewCell {
@ -48,7 +48,7 @@ final class PaginationCellItem: UICollectionViewCell {
contentView.addSubview(containerView) contentView.addSubview(containerView)
containerView.pinToSuperView() containerView.pinToSuperView()
indexLabel.pinToSuperView() indexLabel.pinToSuperView()
indexLabel.widthGreaterThanEqualTo(VDSLayout.Spacing.space5X.value) indexLabel.widthGreaterThanEqualTo(VDSLayout.space5X)
contentView.backgroundColor = .clear contentView.backgroundColor = .clear
containerView.backgroundColor = .clear containerView.backgroundColor = .clear
indexLabel.backgroundColor = .clear indexLabel.backgroundColor = .clear

View File

@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import VDSTokens
import UIKit import UIKit
///Customised flow layout for Pagination view ///Customised flow layout for Pagination view
@ -14,7 +15,7 @@ final class PaginationFlowLayout : UICollectionViewLayout {
// MARK: - Private Properties // MARK: - Private Properties
//-------------------------------------------------- //--------------------------------------------------
///Spacing between the pagination cells ///Spacing between the pagination cells
private let spacingBetweenCell: CGFloat = VDSLayout.Spacing.space1X.value private let spacingBetweenCell: CGFloat = VDSLayout.space1X
///Pre-defined sizes of the pagination cell based on number of digits. ///Pre-defined sizes of the pagination cell based on number of digits.
private var upperLimitSize: CGSize { private var upperLimitSize: CGSize {
switch upperLimitDigits { switch upperLimitDigits {

View File

@ -8,8 +8,7 @@
import Foundation import Foundation
import UIKit import UIKit
import Combine import Combine
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
/// Radio boxes are single-select components through which a customer indicates a choice /// Radio boxes are single-select components through which a customer indicates a choice
/// that are used within a ``RadioBoxGroup``. /// that are used within a ``RadioBoxGroup``.
@ -137,10 +136,10 @@ open class RadioBoxItem: Control, Changeable, FormFieldable {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Configuration Properties // MARK: - Configuration Properties
//-------------------------------------------------- //--------------------------------------------------
private var strikeThroughLineThickness: CGFloat = VDSFormControls.widthBorder private var strikeThroughLineThickness: CGFloat = VDSFormControls.borderWidth
private var selectorCornerRadius: CGFloat = VDSFormControls.borderradius private var selectorCornerRadius: CGFloat = VDSFormControls.borderRadius
private var selectorBorderWidthSelected: CGFloat = VDSFormControls.widthBorder + VDSFormControls.widthBorder private var selectorBorderWidthSelected: CGFloat = VDSFormControls.borderWidth + VDSFormControls.borderWidth
private var selectorBorderWidth: CGFloat = VDSFormControls.widthBorder private var selectorBorderWidth: CGFloat = VDSFormControls.borderWidth
private var backgroundColorConfiguration = ControlColorConfiguration().with { private var backgroundColorConfiguration = ControlColorConfiguration().with {
$0.setSurfaceColors(VDSFormControlsColor.backgroundOnlight, VDSFormControlsColor.backgroundOndark, forState: .normal) $0.setSurfaceColors(VDSFormControlsColor.backgroundOnlight, VDSFormControlsColor.backgroundOndark, forState: .normal)

View File

@ -8,8 +8,7 @@
import Foundation import Foundation
import UIKit import UIKit
import Combine import Combine
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
/// Radio buttons are single-select components through which a customer indicates a choice. /// Radio buttons are single-select components through which a customer indicates a choice.
/// They must always be paired with one or more ``RadioButtonItem`` within a ``RadioButtonGroup``. /// They must always be paired with one or more ``RadioButtonItem`` within a ``RadioButtonGroup``.
@ -91,7 +90,7 @@ open class RadioButton: SelectorBase {
self.backgroundColor = backgroundColor self.backgroundColor = backgroundColor
layer.borderColor = borderColor.cgColor layer.borderColor = borderColor.cgColor
layer.cornerRadius = bounds.width * 0.5 layer.cornerRadius = bounds.width * 0.5
layer.borderWidth = VDSFormControls.widthBorder layer.borderWidth = VDSFormControls.borderWidth
if shapeLayer == nil { if shapeLayer == nil {
let selectedBounds = selectorSize let selectedBounds = selectorSize

View File

@ -6,7 +6,8 @@
// //
import Foundation import Foundation
import VDSColorTokens import UIKit
import VDSTokens
import Combine import Combine
extension Tabs { extension Tabs {
@ -104,14 +105,14 @@ extension Tabs {
private var leadingSpace: CGFloat { private var leadingSpace: CGFloat {
guard orientation == .vertical else { return 0 } guard orientation == .vertical else { return 0 }
return VDSLayout.Spacing.space4X.value return VDSLayout.space4X
} }
private var otherSpace: CGFloat { private var otherSpace: CGFloat {
if orientation == .horizontal { if orientation == .horizontal {
return size == .medium ? VDSLayout.Spacing.space3X.value : VDSLayout.Spacing.space4X.value return size == .medium ? VDSLayout.space3X : VDSLayout.space4X
} else { } else {
return VDSLayout.Spacing.space2X.value return VDSLayout.space2X
} }
} }

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
/// Tabs are organizational components that group content and allow customers to navigate its display. Use them to separate content when the content is related but doesnt need to be compared. /// Tabs are organizational components that group content and allow customers to navigate its display. Use them to separate content when the content is related but doesnt need to be compared.
@objc(VDSTabs) @objc(VDSTabs)
@ -147,9 +147,9 @@ open class Tabs: View {
private var stackViewSpacing: CGFloat { private var stackViewSpacing: CGFloat {
switch orientation { switch orientation {
case .vertical: case .vertical:
return size == .medium ? VDSLayout.Spacing.space4X.value : VDSLayout.Spacing.space6X.value return size == .medium ? VDSLayout.space4X : VDSLayout.space6X
case .horizontal: case .horizontal:
return size == .medium ? VDSLayout.Spacing.space6X.value : VDSLayout.Spacing.space8X.value return size == .medium ? VDSLayout.space6X : VDSLayout.space8X
} }
} }

View File

@ -7,8 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import Combine import Combine
/// Base Class used to build out a Input controls. /// Base Class used to build out a Input controls.
@ -250,7 +249,7 @@ open class EntryFieldBase: Control, Changeable, FormFieldInternalValidatable {
//add the view to add input fields //add the view to add input fields
containerStackView.addArrangedSubview(controlContainerView) containerStackView.addArrangedSubview(controlContainerView)
containerStackView.addArrangedSubview(icon) containerStackView.addArrangedSubview(icon)
containerStackView.setCustomSpacing(VDSLayout.Spacing.space3X.value, after: controlContainerView) containerStackView.setCustomSpacing(VDSLayout.space3X, after: controlContainerView)
//get the container this is what show helper text, error text //get the container this is what show helper text, error text
//can include other for character count, max length //can include other for character count, max length
@ -327,8 +326,8 @@ open class EntryFieldBase: Control, Changeable, FormFieldInternalValidatable {
private func updateContainerView() { private func updateContainerView() {
containerView.backgroundColor = backgroundColorConfiguration.getColor(self) containerView.backgroundColor = backgroundColorConfiguration.getColor(self)
containerView.layer.borderColor = readOnly ? readOnlyBorderColorConfiguration.getColor(self).cgColor : borderColorConfiguration.getColor(self).cgColor containerView.layer.borderColor = readOnly ? readOnlyBorderColorConfiguration.getColor(self).cgColor : borderColorConfiguration.getColor(self).cgColor
containerView.layer.borderWidth = VDSFormControls.widthBorder containerView.layer.borderWidth = VDSFormControls.borderWidth
containerView.layer.cornerRadius = VDSFormControls.borderradius containerView.layer.cornerRadius = VDSFormControls.borderRadius
} }
//-------------------------------------------------- //--------------------------------------------------

View File

@ -7,8 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import Combine import Combine
/// An input field is an input wherein a customer enters information. They typically appear in forms. /// An input field is an input wherein a customer enters information. They typically appear in forms.

View File

@ -7,8 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import Combine import Combine
/// A text area is an input wherein a customer enters long-form information. /// A text area is an input wherein a customer enters long-form information.
@ -41,7 +40,7 @@ open class TextArea: EntryFieldBase {
$0.translatesAutoresizingMaskIntoConstraints = false $0.translatesAutoresizingMaskIntoConstraints = false
$0.axis = .horizontal $0.axis = .horizontal
$0.distribution = .fill $0.distribution = .fill
$0.spacing = VDSLayout.Spacing.space3X.value $0.spacing = VDSLayout.space3X
} }
}() }()
@ -57,7 +56,7 @@ open class TextArea: EntryFieldBase {
$0.axis = .horizontal $0.axis = .horizontal
$0.distribution = .fill $0.distribution = .fill
$0.alignment = .top $0.alignment = .top
$0.spacing = VDSLayout.Spacing.space2X.value $0.spacing = VDSLayout.space2X
} }
}() }()
@ -188,7 +187,7 @@ open class TextArea: EntryFieldBase {
borderColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .focused) borderColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .focused)
textView.delegate = self textView.delegate = self
characterCounterLabel.textColorConfiguration = primaryColorConfiguration.eraseToAnyColorable() characterCounterLabel.textColorConfiguration = primaryColorConfiguration.eraseToAnyColorable()
bottomContainerStackView.spacing = VDSLayout.Spacing.space2X.value bottomContainerStackView.spacing = VDSLayout.space2X
} }
/// Resets to default settings. /// Resets to default settings.

View File

@ -8,7 +8,7 @@
import Foundation import Foundation
import UIKit import UIKit
import Combine import Combine
import VDSColorTokens import VDSTokens
@objc(VDSTextView) @objc(VDSTextView)
open class TextView: UITextView, ViewProtocol { open class TextView: UITextView, ViewProtocol {

View File

@ -6,8 +6,7 @@
// //
import Foundation import Foundation
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import UIKit import UIKit
@objc(VDSTileContainer) @objc(VDSTileContainer)
@ -27,15 +26,15 @@ open class TileContainer: TileContainerBase<TileContainer.Padding> {
public var value: CGFloat { public var value: CGFloat {
switch self { switch self {
case .padding2X: case .padding2X:
return VDSLayout.Spacing.space2X.value return VDSLayout.space2X
case .padding4X: case .padding4X:
return VDSLayout.Spacing.space4X.value return VDSLayout.space4X
case .padding6X: case .padding6X:
return VDSLayout.Spacing.space6X.value return VDSLayout.space6X
case .padding8X: case .padding8X:
return VDSLayout.Spacing.space8X.value return VDSLayout.space8X
case .padding12X: case .padding12X:
return VDSLayout.Spacing.space12X.value return VDSLayout.space12X
case .custom(let padding): case .custom(let padding):
return padding return padding
} }
@ -188,7 +187,7 @@ open class TileContainerBase<PaddingType: DefaultValuing>: Control where Padding
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Configuration // MARK: - Configuration
//-------------------------------------------------- //--------------------------------------------------
private let cornerRadius = VDSFormControls.borderradius * 2 private let cornerRadius = VDSFormControls.borderRadius * 2
private var backgroundColorConfiguration = BackgroundColorConfiguration() private var backgroundColorConfiguration = BackgroundColorConfiguration()
private let dropShadowConfiguration = DropShadowConfiguration().with { private let dropShadowConfiguration = DropShadowConfiguration().with {
$0.shadowColorConfiguration = SurfaceColorConfiguration().with { $0.shadowColorConfiguration = SurfaceColorConfiguration().with {
@ -297,7 +296,7 @@ open class TileContainerBase<PaddingType: DefaultValuing>: Control where Padding
} }
layer.borderColor = borderColorConfiguration.getColor(self).cgColor layer.borderColor = borderColorConfiguration.getColor(self).cgColor
layer.borderWidth = showBorder ? VDSFormControls.widthBorder : 0 layer.borderWidth = showBorder ? VDSFormControls.borderWidth : 0
containerTopConstraint?.constant = padding.value containerTopConstraint?.constant = padding.value
containerLeadingConstraint?.constant = padding.value containerLeadingConstraint?.constant = padding.value

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import Foundation import Foundation
import VDSColorTokens import VDSTokens
import UIKit import UIKit
import Combine import Combine
@ -28,22 +28,22 @@ open class Tilelet: TileContainerBase<Tilelet.Padding> {
public var value: CGFloat { public var value: CGFloat {
switch self { switch self {
case .small: case .small:
return UIDevice.isIPad ? VDSLayout.Spacing.space3X.value : VDSLayout.Spacing.space4X.value return UIDevice.isIPad ? VDSLayout.space3X : VDSLayout.space4X
case .large: case .large:
return UIDevice.isIPad ? VDSLayout.Spacing.space4X.value : VDSLayout.Spacing.space6X.value return UIDevice.isIPad ? VDSLayout.space4X : VDSLayout.space6X
} }
} }
fileprivate var titleLockupBottomSpacing: CGFloat { fileprivate var titleLockupBottomSpacing: CGFloat {
switch self.value { switch self.value {
case VDSLayout.Spacing.space3X.value: case VDSLayout.space3X:
return VDSLayout.Spacing.space4X.value return VDSLayout.space4X
case VDSLayout.Spacing.space4X.value: case VDSLayout.space4X:
return VDSLayout.Spacing.space6X.value return VDSLayout.space6X
case VDSLayout.Spacing.space4X.value: case VDSLayout.space4X:
return VDSLayout.Spacing.space8X.value return VDSLayout.space8X
default: default:
return VDSLayout.Spacing.space4X.value return VDSLayout.space4X
} }
} }
} }
@ -118,85 +118,85 @@ open class Tilelet: TileContainerBase<Tilelet.Padding> {
titleStandardStyles: [.bodySmall], titleStandardStyles: [.bodySmall],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodySmall], .init(otherStandardStyles: [.bodySmall],
topSpacing: VDSLayout.Spacing.space1X.value, topSpacing: VDSLayout.space1X,
bottomSpacing: VDSLayout.Spacing.space1X.value) bottomSpacing: VDSLayout.space1X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.bodyMedium], titleStandardStyles: [.bodyMedium],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyMedium], .init(otherStandardStyles: [.bodyMedium],
topSpacing: VDSLayout.Spacing.space1X.value, topSpacing: VDSLayout.space1X,
bottomSpacing: VDSLayout.Spacing.space1X.value) bottomSpacing: VDSLayout.space1X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.bodyLarge], titleStandardStyles: [.bodyLarge],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyLarge], .init(otherStandardStyles: [.bodyLarge],
topSpacing: VDSLayout.Spacing.space1X.value, topSpacing: VDSLayout.space1X,
bottomSpacing: VDSLayout.Spacing.space1X.value) bottomSpacing: VDSLayout.space1X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.titleSmall], titleStandardStyles: [.titleSmall],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodySmall, .bodyMedium], .init(otherStandardStyles: [.bodySmall, .bodyMedium],
topSpacing: VDSLayout.Spacing.space2X.value, topSpacing: VDSLayout.space2X,
bottomSpacing: VDSLayout.Spacing.space2X.value) bottomSpacing: VDSLayout.space2X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.titleMedium, .titleLarge], titleStandardStyles: [.titleMedium, .titleLarge],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodySmall, .bodyMedium, .bodyLarge], .init(otherStandardStyles: [.bodySmall, .bodyMedium, .bodyLarge],
topSpacing: VDSLayout.Spacing.space2X.value, topSpacing: VDSLayout.space2X,
bottomSpacing: VDSLayout.Spacing.space2X.value) bottomSpacing: VDSLayout.space2X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.titleXLarge], titleStandardStyles: [.titleXLarge],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyLarge, .bodySmall, .bodyMedium, .titleMedium], .init(otherStandardStyles: [.bodyLarge, .bodySmall, .bodyMedium, .titleMedium],
topSpacing: VDSLayout.Spacing.space3X.value, topSpacing: VDSLayout.space3X,
bottomSpacing: VDSLayout.Spacing.space3X.value) bottomSpacing: VDSLayout.space3X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.bodySmall], titleStandardStyles: [.bodySmall],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodySmall], .init(otherStandardStyles: [.bodySmall],
topSpacing: VDSLayout.Spacing.space2X.value, topSpacing: VDSLayout.space2X,
bottomSpacing: VDSLayout.Spacing.space2X.value) bottomSpacing: VDSLayout.space2X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.bodyMedium], titleStandardStyles: [.bodyMedium],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyMedium], .init(otherStandardStyles: [.bodyMedium],
topSpacing: VDSLayout.Spacing.space1X.value, topSpacing: VDSLayout.space1X,
bottomSpacing: VDSLayout.Spacing.space1X.value) bottomSpacing: VDSLayout.space1X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.bodyLarge], titleStandardStyles: [.bodyLarge],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyLarge], .init(otherStandardStyles: [.bodyLarge],
topSpacing: VDSLayout.Spacing.space1X.value, topSpacing: VDSLayout.space1X,
bottomSpacing: VDSLayout.Spacing.space1X.value) bottomSpacing: VDSLayout.space1X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.titleSmall, .titleMedium], titleStandardStyles: [.titleSmall, .titleMedium],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodySmall, .bodyMedium, .bodyLarge], .init(otherStandardStyles: [.bodySmall, .bodyMedium, .bodyLarge],
topSpacing: VDSLayout.Spacing.space2X.value, topSpacing: VDSLayout.space2X,
bottomSpacing: VDSLayout.Spacing.space2X.value) bottomSpacing: VDSLayout.space2X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.titleLarge], titleStandardStyles: [.titleLarge],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyLarge, .bodySmall, .bodyMedium, .titleSmall], .init(otherStandardStyles: [.bodyLarge, .bodySmall, .bodyMedium, .titleSmall],
topSpacing: VDSLayout.Spacing.space3X.value, topSpacing: VDSLayout.space3X,
bottomSpacing: VDSLayout.Spacing.space3X.value) bottomSpacing: VDSLayout.space3X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.titleXLarge], titleStandardStyles: [.titleXLarge],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.titleMedium, .bodyLarge], .init(otherStandardStyles: [.titleMedium, .bodyLarge],
topSpacing: VDSLayout.Spacing.space3X.value, topSpacing: VDSLayout.space3X,
bottomSpacing: VDSLayout.Spacing.space4X.value) bottomSpacing: VDSLayout.space4X)
]) ])
]) ])
} }

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import Combine import Combine
/// Title Lockup ensures the readability of words on the screen /// Title Lockup ensures the readability of words on the screen
@ -106,156 +106,156 @@ open class TitleLockup: View {
titleStandardStyles: [.bodySmall], titleStandardStyles: [.bodySmall],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodySmall], .init(otherStandardStyles: [.bodySmall],
topSpacing: VDSLayout.Spacing.space1X.value, topSpacing: VDSLayout.space1X,
bottomSpacing: VDSLayout.Spacing.space1X.value) bottomSpacing: VDSLayout.space1X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.bodyMedium], titleStandardStyles: [.bodyMedium],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyMedium], .init(otherStandardStyles: [.bodyMedium],
topSpacing: VDSLayout.Spacing.space1X.value, topSpacing: VDSLayout.space1X,
bottomSpacing: VDSLayout.Spacing.space1X.value) bottomSpacing: VDSLayout.space1X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.bodyLarge], titleStandardStyles: [.bodyLarge],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyLarge], .init(otherStandardStyles: [.bodyLarge],
topSpacing: VDSLayout.Spacing.space1X.value, topSpacing: VDSLayout.space1X,
bottomSpacing: VDSLayout.Spacing.space1X.value) bottomSpacing: VDSLayout.space1X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.titleSmall], titleStandardStyles: [.titleSmall],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodySmall, .bodyMedium, .bodyLarge, .titleSmall], .init(otherStandardStyles: [.bodySmall, .bodyMedium, .bodyLarge, .titleSmall],
topSpacing: VDSLayout.Spacing.space2X.value, topSpacing: VDSLayout.space2X,
bottomSpacing: VDSLayout.Spacing.space2X.value) bottomSpacing: VDSLayout.space2X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.titleMedium], titleStandardStyles: [.titleMedium],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodySmall, .bodyMedium, .bodyLarge], .init(otherStandardStyles: [.bodySmall, .bodyMedium, .bodyLarge],
topSpacing: VDSLayout.Spacing.space2X.value, topSpacing: VDSLayout.space2X,
bottomSpacing: VDSLayout.Spacing.space2X.value) bottomSpacing: VDSLayout.space2X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.titleLarge], titleStandardStyles: [.titleLarge],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyLarge, .bodySmall, .bodyMedium, .titleSmall], .init(otherStandardStyles: [.bodyLarge, .bodySmall, .bodyMedium, .titleSmall],
topSpacing: VDSLayout.Spacing.space3X.value, topSpacing: VDSLayout.space3X,
bottomSpacing: VDSLayout.Spacing.space3X.value) bottomSpacing: VDSLayout.space3X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.titleXLarge], titleStandardStyles: [.titleXLarge],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.titleMedium, .bodyLarge], .init(otherStandardStyles: [.titleMedium, .bodyLarge],
topSpacing: VDSLayout.Spacing.space3X.value, topSpacing: VDSLayout.space3X,
bottomSpacing: VDSLayout.Spacing.space4X.value) bottomSpacing: VDSLayout.space4X)
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.title2XLarge, .featureXSmall], titleStandardStyles: [.title2XLarge, .featureXSmall],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyLarge], .init(otherStandardStyles: [.bodyLarge],
topSpacing: VDSLayout.Spacing.space3X.value, topSpacing: VDSLayout.space3X,
bottomSpacing: VDSLayout.Spacing.space6X.value), bottomSpacing: VDSLayout.space6X),
.init(otherStandardStyles: [.titleMedium, .titleLarge], .init(otherStandardStyles: [.titleMedium, .titleLarge],
topSpacing: VDSLayout.Spacing.space4X.value, topSpacing: VDSLayout.space4X,
bottomSpacing: VDSLayout.Spacing.space6X.value), bottomSpacing: VDSLayout.space6X),
]), ]),
.init(deviceType: .iPad, .init(deviceType: .iPad,
titleStandardStyles: [.featureSmall, .featureMedium], titleStandardStyles: [.featureSmall, .featureMedium],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.titleLarge, .titleMedium], .init(otherStandardStyles: [.titleLarge, .titleMedium],
topSpacing: VDSLayout.Spacing.space4X.value, topSpacing: VDSLayout.space4X,
bottomSpacing: VDSLayout.Spacing.space6X.value), bottomSpacing: VDSLayout.space6X),
.init(otherStandardStyles: [.bodyLarge], .init(otherStandardStyles: [.bodyLarge],
topSpacing: VDSLayout.Spacing.space3X.value, topSpacing: VDSLayout.space3X,
bottomSpacing: VDSLayout.Spacing.space6X.value), bottomSpacing: VDSLayout.space6X),
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.bodySmall], titleStandardStyles: [.bodySmall],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodySmall], .init(otherStandardStyles: [.bodySmall],
topSpacing: VDSLayout.Spacing.space1X.value, topSpacing: VDSLayout.space1X,
bottomSpacing: VDSLayout.Spacing.space1X.value) bottomSpacing: VDSLayout.space1X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.bodyMedium], titleStandardStyles: [.bodyMedium],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyMedium], .init(otherStandardStyles: [.bodyMedium],
topSpacing: VDSLayout.Spacing.space1X.value, topSpacing: VDSLayout.space1X,
bottomSpacing: VDSLayout.Spacing.space1X.value) bottomSpacing: VDSLayout.space1X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.bodyLarge], titleStandardStyles: [.bodyLarge],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyLarge], .init(otherStandardStyles: [.bodyLarge],
topSpacing: VDSLayout.Spacing.space1X.value, topSpacing: VDSLayout.space1X,
bottomSpacing: VDSLayout.Spacing.space1X.value) bottomSpacing: VDSLayout.space1X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.titleSmall], titleStandardStyles: [.titleSmall],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodySmall, .bodyMedium], .init(otherStandardStyles: [.bodySmall, .bodyMedium],
topSpacing: VDSLayout.Spacing.space2X.value, topSpacing: VDSLayout.space2X,
bottomSpacing: VDSLayout.Spacing.space2X.value) bottomSpacing: VDSLayout.space2X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.titleMedium, .titleLarge], titleStandardStyles: [.titleMedium, .titleLarge],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodySmall, .bodyMedium, .bodyLarge], .init(otherStandardStyles: [.bodySmall, .bodyMedium, .bodyLarge],
topSpacing: VDSLayout.Spacing.space2X.value, topSpacing: VDSLayout.space2X,
bottomSpacing: VDSLayout.Spacing.space2X.value) bottomSpacing: VDSLayout.space2X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.titleXLarge], titleStandardStyles: [.titleXLarge],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyLarge, .bodySmall, .bodyMedium, .titleMedium], .init(otherStandardStyles: [.bodyLarge, .bodySmall, .bodyMedium, .titleMedium],
topSpacing: VDSLayout.Spacing.space3X.value, topSpacing: VDSLayout.space3X,
bottomSpacing: VDSLayout.Spacing.space3X.value) bottomSpacing: VDSLayout.space3X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.title2XLarge, .featureXSmall], titleStandardStyles: [.title2XLarge, .featureXSmall],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.bodyLarge, .bodyMedium, .titleMedium], .init(otherStandardStyles: [.bodyLarge, .bodyMedium, .titleMedium],
topSpacing: VDSLayout.Spacing.space3X.value, topSpacing: VDSLayout.space3X,
bottomSpacing: VDSLayout.Spacing.space4X.value) bottomSpacing: VDSLayout.space4X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.featureSmall], titleStandardStyles: [.featureSmall],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.titleLarge, .bodyLarge], .init(otherStandardStyles: [.titleLarge, .bodyLarge],
topSpacing: VDSLayout.Spacing.space3X.value, topSpacing: VDSLayout.space3X,
bottomSpacing: VDSLayout.Spacing.space4X.value) bottomSpacing: VDSLayout.space4X)
]), ]),
.init(deviceType: .iPhone, .init(deviceType: .iPhone,
titleStandardStyles: [.featureMedium], titleStandardStyles: [.featureMedium],
spacingConfigurations: [ spacingConfigurations: [
.init(otherStandardStyles: [.titleLarge, .titleXLarge], .init(otherStandardStyles: [.titleLarge, .titleXLarge],
topSpacing: VDSLayout.Spacing.space4X.value, topSpacing: VDSLayout.space4X,
bottomSpacing: VDSLayout.Spacing.space6X.value), bottomSpacing: VDSLayout.space6X),
.init(otherStandardStyles: [.bodyLarge], .init(otherStandardStyles: [.bodyLarge],
topSpacing: VDSLayout.Spacing.space3X.value, topSpacing: VDSLayout.space3X,
bottomSpacing: VDSLayout.Spacing.space6X.value) bottomSpacing: VDSLayout.space6X)
]), ]),
]) ])

View File

@ -7,6 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSTokens
extension TitleLockup { extension TitleLockup {
@ -93,7 +94,7 @@ extension TitleLockup {
} }
//get the config against the other style or return defaults //get the config against the other style or return defaults
guard let styleSpacing = spacingConfigurations.first(where: {realOtherStyle.isWithin($0.otherStandardStyles)}) else { guard let styleSpacing = spacingConfigurations.first(where: {realOtherStyle.isWithin($0.otherStandardStyles)}) else {
return (realOtherStyle, VDSLayout.Spacing.space2X.value, VDSLayout.Spacing.space2X.value) return (realOtherStyle, VDSLayout.space2X, VDSLayout.space2X)
} }
return (realOtherStyle, styleSpacing.topSpacing, styleSpacing.bottomSpacing) return (realOtherStyle, styleSpacing.topSpacing, styleSpacing.bottomSpacing)
} }

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import Combine import Combine
/// A toggle is a control that lets customers instantly turn on /// A toggle is a control that lets customers instantly turn on
@ -59,7 +59,7 @@ open class Toggle: Control, Changeable, FormFieldable {
// MARK: - Configuration // MARK: - Configuration
//-------------------------------------------------- //--------------------------------------------------
private let toggleContainerSize = CGSize(width: 52, height: 44) private let toggleContainerSize = CGSize(width: 52, height: 44)
private let spacingBetween = VDSLayout.Spacing.space3X.value private let spacingBetween = VDSLayout.space3X
/// TextStyle used to render the label. /// TextStyle used to render the label.
private var textStyle: TextStyle { private var textStyle: TextStyle {

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import Combine import Combine
/// A toggle is a control that lets customers instantly turn on /// A toggle is a control that lets customers instantly turn on

View File

@ -7,8 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
import VDSFormControlsTokens
import Combine import Combine
/// A tooltip is an overlay that clarifies another component or content /// A tooltip is an overlay that clarifies another component or content

View File

@ -8,7 +8,7 @@
import Foundation import Foundation
import UIKit import UIKit
import Combine import Combine
import VDSColorTokens import VDSTokens
open class TooltipAlertViewController: UIViewController, Surfaceable { open class TooltipAlertViewController: UIViewController, Surfaceable {

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
open class TooltipDialog: View, UIScrollViewDelegate { open class TooltipDialog: View, UIScrollViewDelegate {
@ -48,7 +48,7 @@ open class TooltipDialog: View, UIScrollViewDelegate {
lazy var primaryAccessibilityElement = UIAccessibilityElement(accessibilityContainer: self).with { lazy var primaryAccessibilityElement = UIAccessibilityElement(accessibilityContainer: self).with {
$0.accessibilityLabel = "Modal" $0.accessibilityLabel = "Modal"
$0.accessibilityFrameInContainerSpace = .init(origin: .zero, size: .init(width: fullWidth, height: VDSLayout.Spacing.space1X.value)) $0.accessibilityFrameInContainerSpace = .init(origin: .zero, size: .init(width: fullWidth, height: VDSLayout.space1X))
} }
//-------------------------------------------------- //--------------------------------------------------
@ -83,7 +83,7 @@ open class TooltipDialog: View, UIScrollViewDelegate {
private var fullWidth: CGFloat = 296 private var fullWidth: CGFloat = 296
private var minHeight: CGFloat = 96.0 private var minHeight: CGFloat = 96.0
private var maxHeight: CGFloat = 312.0 private var maxHeight: CGFloat = 312.0
private let containerViewInset = VDSLayout.Spacing.space4X.value private let containerViewInset = VDSLayout.space4X
private let backgroundColorConfiguration = SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, VDSColor.backgroundPrimaryDark) private let backgroundColorConfiguration = SurfaceColorConfiguration(VDSColor.backgroundPrimaryLight, VDSColor.backgroundPrimaryDark)
private let closeButtonTextColorConfiguration = SurfaceColorConfiguration(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark) private let closeButtonTextColorConfiguration = SurfaceColorConfiguration(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark)
@ -113,7 +113,7 @@ open class TooltipDialog: View, UIScrollViewDelegate {
widthAnchor.constraint(equalToConstant: fullWidth), widthAnchor.constraint(equalToConstant: fullWidth),
// Constraints for the scroll view // Constraints for the scroll view
scrollView.topAnchor.constraint(equalTo: topAnchor, constant: VDSLayout.Spacing.space4X.value), scrollView.topAnchor.constraint(equalTo: topAnchor, constant: VDSLayout.space4X),
scrollView.leadingAnchor.constraint(equalTo: leadingAnchor), scrollView.leadingAnchor.constraint(equalTo: leadingAnchor),
scrollView.trailingAnchor.constraint(equalTo: trailingAnchor), scrollView.trailingAnchor.constraint(equalTo: trailingAnchor),
scrollView.bottomAnchor.constraint(equalTo: line.topAnchor), scrollView.bottomAnchor.constraint(equalTo: line.topAnchor),
@ -180,7 +180,7 @@ open class TooltipDialog: View, UIScrollViewDelegate {
} }
if addedTitle && addedContent { if addedTitle && addedContent {
contentStackView.setCustomSpacing(VDSLayout.Spacing.space1X.value, after: titleLabel) contentStackView.setCustomSpacing(VDSLayout.space1X, after: titleLabel)
} }
let closeButtonTextColor = closeButtonTextColorConfiguration.getColor(self) let closeButtonTextColor = closeButtonTextColorConfiguration.getColor(self)

View File

@ -6,13 +6,9 @@
// //
import Foundation import Foundation
import VDSColorTokens import VDSTokens
import UIKit import UIKit
extension VDSColor {
public static let paletteYellow62 = UIColor(hexString: "#FED60E")
}
extension UIColor { extension UIColor {
/// Since VDSColorTokens is just a Class with Static Properties, this is an Enum for each property of that class for each of use within the VDS Library /// Since VDSColorTokens is just a Class with Static Properties, this is an Enum for each property of that class for each of use within the VDS Library
public enum VDSColor: String, CaseIterable { public enum VDSColor: String, CaseIterable {
@ -35,7 +31,6 @@ extension UIColor {
case paletteYellow94 case paletteYellow94
case paletteYellow87 case paletteYellow87
case paletteYellow74 case paletteYellow74
case paletteYellow62
case paletteYellow53 case paletteYellow53
case paletteYellow39 case paletteYellow39
case paletteYellow20 case paletteYellow20
@ -66,6 +61,8 @@ extension UIColor {
case palettePurple20 case palettePurple20
case backgroundPrimaryLight case backgroundPrimaryLight
case backgroundPrimaryDark case backgroundPrimaryDark
case backgroundPrimaryInverseLight
case backgroundPrimaryInverseDark
case backgroundSecondaryLight case backgroundSecondaryLight
case backgroundSecondaryDark case backgroundSecondaryDark
case backgroundBrandhighlight case backgroundBrandhighlight
@ -97,20 +94,66 @@ extension UIColor {
case interactiveScrolltrackOndark case interactiveScrolltrackOndark
case elementsPrimaryOnlight case elementsPrimaryOnlight
case elementsPrimaryOndark case elementsPrimaryOndark
case elementsPrimaryInverseOnlight
case elementsPrimaryInverseOndark
case elementsSecondaryOnlight case elementsSecondaryOnlight
case elementsSecondaryOndark case elementsSecondaryOndark
case elementsBrandhighlight case elementsBrandhighlight
case elementsLowcontrastOnlight case elementsLowcontrastOnlight
case elementsLowcontrastOndark case elementsLowcontrastOndark
case datavizOrange200
case datavizOrange300
case datavizOrange400
case datavizOrange600
case datavizOrange900
case datavizYellow200
case datavizYellow300
case datavizYellow400
case datavizYellow600
case datavizYellow900
case datavizBlue200
case datavizBlue300
case datavizBlue400
case datavizBlue600
case datavizBlue900
case datavizGreen200
case datavizGreen300
case datavizGreen400
case datavizGreen600
case datavizGreen900
case datavizPink200
case datavizPink300
case datavizPink400
case datavizPink600
case datavizPink900
case datavizPurple200
case datavizPurple300
case datavizPurple400
case datavizPurple600
case datavizPurple900
case badgesBackgroundRedOnlight
case badgesBackgroundRedOndark
case badgesBackgroundOrangeOnlight
case badgesBackgroundOrangeOndark
case badgesBackgroundGreenOnlight
case badgesBackgroundGreenOndark
case badgesBackgroundBlueOnlight
case badgesBackgroundBlueOndark
case badgesBackgroundYellowOnlight
case badgesBackgroundYellowOndark
case badgesBackgroundWhiteOnlight
case badgesBackgroundWhiteOndark
case badgesBackgroundBlackOnlight
case badgesBackgroundBlackOndark
/// Map each color name to its corresponding UIColor object. /// Map each color name to its corresponding UIColor object.
public var uiColor: UIColor { public var uiColor: UIColor {
do { do {
let color = try VDSColorTokens.VDSColor.getTokenByString(tokenName: "VDSColor.\(rawValue)") let color = try VDSTokens.VDSColor.getTokenByString(tokenName: "VDSColor.\(rawValue)")
return color return color
} catch { } catch {
print(error) print(error)
return VDSColorTokens.VDSColor.paletteBlack return VDSTokens.VDSColor.paletteBlack
} }
} }
} }

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
extension UIColor { extension UIColor {
//-------------------------------------------------- //--------------------------------------------------

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSFormControlsTokens import VDSTokens
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Debug Borders // MARK: - Debug Borders
@ -27,7 +27,7 @@ extension UIView {
borderLayer.name = "debugAreaLayer" borderLayer.name = "debugAreaLayer"
borderLayer.frame = bounds borderLayer.frame = bounds
borderLayer.bounds = bounds borderLayer.bounds = bounds
borderLayer.borderWidth = VDSFormControls.widthBorder borderLayer.borderWidth = VDSFormControls.borderWidth
borderLayer.borderColor = color.cgColor borderLayer.borderColor = color.cgColor
layer.addSublayer(borderLayer) layer.addSublayer(borderLayer)
@ -41,7 +41,7 @@ extension UIView {
touchLayer.path = touchableAreaPath.cgPath touchLayer.path = touchableAreaPath.cgPath
touchLayer.strokeColor = color.cgColor touchLayer.strokeColor = color.cgColor
touchLayer.fillColor = UIColor.clear.cgColor touchLayer.fillColor = UIColor.clear.cgColor
touchLayer.lineWidth = VDSFormControls.widthBorder touchLayer.lineWidth = VDSFormControls.borderWidth
touchLayer.opacity = 1.0 touchLayer.opacity = 1.0
touchLayer.name = "debugTouchableAreaLayer" touchLayer.name = "debugTouchableAreaLayer"
touchLayer.zPosition = 100 touchLayer.zPosition = 100

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSFormControlsTokens import VDSTokens
extension UIView { extension UIView {
public func constraint(with identifier: String) -> NSLayoutConstraint? { public func constraint(with identifier: String) -> NSLayoutConstraint? {

View File

@ -1,54 +0,0 @@
//
// VDSLayout.swift
// VDS
//
// Created by Matt Bruce on 1/12/23.
//
import Foundation
/// Represents constants used that deal with layout.
public struct VDSLayout {
/// Enum used to describe the spacing constants.
public enum Spacing: String, CaseIterable, Valuing {
case space1X
case space2X
case space3X
case space4X
case space5X
case space6X
case space8X
case space12X
case space16X
case space24X
case space32X
public var value: CGFloat {
switch self {
case .space1X:
return 4
case .space2X:
return 8
case .space3X:
return 12
case .space4X:
return 16
case .space5X:
return 20
case .space6X:
return 24
case .space8X:
return 32
case .space12X:
return 48
case .space16X:
return 64
case .space24X:
return 96
case .space32X:
return 128
}
}
}
}

View File

@ -1,14 +0,0 @@
//
// VDSTypography.swift
// VDS
//
// Created by Matt Bruce on 7/21/23.
//
import Foundation
import VDSTypographyTokens
extension VDSTypography {
public static let letterSpacingSemiWide: CGFloat = 0.25
}

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSFormControlsTokens import VDSTokens
public protocol LayoutConstraintable { public protocol LayoutConstraintable {
var superview: UIView? { get } var superview: UIView? { get }

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
/// The background tint that the component will be placed on. This will automatically adjust other elements as needed and takes "light" or "dark" /// The background tint that the component will be placed on. This will automatically adjust other elements as needed and takes "light" or "dark"
public enum Surface: String, Equatable { public enum Surface: String, Equatable {

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSTokens
/// Enum to describe types of use. /// Enum to describe types of use.
public enum Use: String, Equatable { public enum Use: String, Equatable {

View File

@ -6,7 +6,8 @@
// //
import Foundation import Foundation
import VDSTypographyTokens import UIKit
import VDSTokens
//MARK: Definitions //MARK: Definitions
extension TextStyle { extension TextStyle {
@ -23,7 +24,7 @@ extension TextStyle {
fontFace: .dsLight, fontFace: .dsLight,
pointSize: UIDevice.isIPad ? VDSTypography.fontSizeFeature144 : VDSTypography.fontSizeFeature96, pointSize: UIDevice.isIPad ? VDSTypography.fontSizeFeature144 : VDSTypography.fontSizeFeature96,
lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightFeature136 : VDSTypography.lineHeightFeature88, lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightFeature136 : VDSTypography.lineHeightFeature88,
letterSpacing: VDSTypography.letterSpacingSemiWide, letterSpacing: VDSTypography.letterSpacingSemiwide,
edgeInsets: .bottom(UIDevice.isIPad ? -6: -4)) edgeInsets: .bottom(UIDevice.isIPad ? -6: -4))
public static let boldFeatureLarge = TextStyle(rawValue: "boldFeatureLarge", public static let boldFeatureLarge = TextStyle(rawValue: "boldFeatureLarge",
@ -36,7 +37,7 @@ extension TextStyle {
fontFace: .dsLight, fontFace: .dsLight,
pointSize: UIDevice.isIPad ? VDSTypography.fontSizeFeature128 : VDSTypography.fontSizeFeature80, pointSize: UIDevice.isIPad ? VDSTypography.fontSizeFeature128 : VDSTypography.fontSizeFeature80,
lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightFeature120 : VDSTypography.lineHeightFeature76, lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightFeature120 : VDSTypography.lineHeightFeature76,
letterSpacing: VDSTypography.letterSpacingSemiWide, letterSpacing: VDSTypography.letterSpacingSemiwide,
edgeInsets: .bottom(UIDevice.isIPad ? -6: -2)) edgeInsets: .bottom(UIDevice.isIPad ? -6: -2))
public static let boldFeatureMedium = TextStyle(rawValue: "boldFeatureMedium", public static let boldFeatureMedium = TextStyle(rawValue: "boldFeatureMedium",
@ -49,7 +50,7 @@ extension TextStyle {
fontFace: .dsLight, fontFace: .dsLight,
pointSize: UIDevice.isIPad ? VDSTypography.fontSizeFeature96 : VDSTypography.fontSizeFeature64, pointSize: UIDevice.isIPad ? VDSTypography.fontSizeFeature96 : VDSTypography.fontSizeFeature64,
lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightFeature88 : VDSTypography.lineHeightFeature64, lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightFeature88 : VDSTypography.lineHeightFeature64,
letterSpacing: VDSTypography.letterSpacingSemiWide, letterSpacing: VDSTypography.letterSpacingSemiwide,
edgeInsets: .bottom(UIDevice.isIPad ? -4: -2)) edgeInsets: .bottom(UIDevice.isIPad ? -4: -2))
public static let boldFeatureSmall = TextStyle(rawValue: "boldFeatureSmall", public static let boldFeatureSmall = TextStyle(rawValue: "boldFeatureSmall",
@ -62,7 +63,7 @@ extension TextStyle {
fontFace: .dsLight, fontFace: .dsLight,
pointSize: UIDevice.isIPad ? VDSTypography.fontSizeFeature80 : VDSTypography.fontSizeFeature48, pointSize: UIDevice.isIPad ? VDSTypography.fontSizeFeature80 : VDSTypography.fontSizeFeature48,
lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightFeature76 : VDSTypography.lineHeightFeature48, lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightFeature76 : VDSTypography.lineHeightFeature48,
letterSpacing: VDSTypography.letterSpacingSemiWide, letterSpacing: VDSTypography.letterSpacingSemiwide,
edgeInsets: .bottom(UIDevice.isIPad ? -2: 0)) edgeInsets: .bottom(UIDevice.isIPad ? -2: 0))
public static let boldFeatureXSmall = TextStyle(rawValue: "boldFeatureXSmall", public static let boldFeatureXSmall = TextStyle(rawValue: "boldFeatureXSmall",
@ -75,7 +76,7 @@ extension TextStyle {
fontFace: .dsLight, fontFace: .dsLight,
pointSize: UIDevice.isIPad ? VDSTypography.fontSizeFeature64 : VDSTypography.fontSizeFeature40, pointSize: UIDevice.isIPad ? VDSTypography.fontSizeFeature64 : VDSTypography.fontSizeFeature40,
lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightFeature64 : VDSTypography.lineHeightFeature40, lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightFeature64 : VDSTypography.lineHeightFeature40,
letterSpacing: VDSTypography.letterSpacingSemiWide, letterSpacing: VDSTypography.letterSpacingSemiwide,
edgeInsets: .bottom(UIDevice.isIPad ? -2: 0)) edgeInsets: .bottom(UIDevice.isIPad ? -2: 0))
public static let boldTitle2XLarge = TextStyle(rawValue: "boldTitle2XLarge", public static let boldTitle2XLarge = TextStyle(rawValue: "boldTitle2XLarge",
@ -88,7 +89,7 @@ extension TextStyle {
fontFace: .dsLight, fontFace: .dsLight,
pointSize: UIDevice.isIPad ? VDSTypography.fontSizeTitle64 : VDSTypography.fontSizeTitle40, pointSize: UIDevice.isIPad ? VDSTypography.fontSizeTitle64 : VDSTypography.fontSizeTitle40,
lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightTitle64 : VDSTypography.lineHeightTitle40, lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightTitle64 : VDSTypography.lineHeightTitle40,
letterSpacing: VDSTypography.letterSpacingSemiWide, letterSpacing: VDSTypography.letterSpacingSemiwide,
edgeInsets: .bottom(UIDevice.isIPad ? -2: 0)) edgeInsets: .bottom(UIDevice.isIPad ? -2: 0))
public static let boldTitleXLarge = TextStyle(rawValue: "boldTitleXLarge", public static let boldTitleXLarge = TextStyle(rawValue: "boldTitleXLarge",
@ -100,7 +101,7 @@ extension TextStyle {
fontFace: .dsLight, fontFace: .dsLight,
pointSize: UIDevice.isIPad ? VDSTypography.fontSizeTitle48 : VDSTypography.fontSizeTitle32, pointSize: UIDevice.isIPad ? VDSTypography.fontSizeTitle48 : VDSTypography.fontSizeTitle32,
lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightTitle48 : VDSTypography.lineHeightTitle36, lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightTitle48 : VDSTypography.lineHeightTitle36,
letterSpacing: VDSTypography.letterSpacingSemiWide) letterSpacing: VDSTypography.letterSpacingSemiwide)
public static let boldTitleLarge = TextStyle(rawValue: "boldTitleLarge", public static let boldTitleLarge = TextStyle(rawValue: "boldTitleLarge",
fontFace: .edsBold, fontFace: .edsBold,
@ -111,7 +112,7 @@ extension TextStyle {
fontFace: UIDevice.isIPad ? .dsLight : .edsRegular, fontFace: UIDevice.isIPad ? .dsLight : .edsRegular,
pointSize: UIDevice.isIPad ? VDSTypography.fontSizeTitle32 : VDSTypography.fontSizeTitle24, pointSize: UIDevice.isIPad ? VDSTypography.fontSizeTitle32 : VDSTypography.fontSizeTitle24,
lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightTitle36 : VDSTypography.lineHeightTitle28, lineHeight: UIDevice.isIPad ? VDSTypography.lineHeightTitle36 : VDSTypography.lineHeightTitle28,
letterSpacing: UIDevice.isIPad ? VDSTypography.letterSpacingSemiWide : 0) letterSpacing: UIDevice.isIPad ? VDSTypography.letterSpacingSemiwide : 0)
public static let boldTitleMedium = TextStyle(rawValue: "boldTitleMedium", public static let boldTitleMedium = TextStyle(rawValue: "boldTitleMedium",
fontFace: .edsBold, fontFace: .edsBold,

View File

@ -7,7 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import VDSTypographyTokens import VDSTokens
//MARK: Alignments //MARK: Alignments
extension TextStyle { extension TextStyle {

View File

@ -6,7 +6,8 @@
// //
import Foundation import Foundation
import VDSTypographyTokens import UIKit
import VDSTokens
/// This is the Definition that will determine how the Text is drawn /// This is the Definition that will determine how the Text is drawn