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:
commit
161a6fb1df
@ -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
|
|
||||||
|
|||||||
@ -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 */,
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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()
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
|||||||
@ -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)
|
||||||
|
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
import UIKit
|
import UIKit
|
||||||
import VDSColorTokens
|
import VDSTokens
|
||||||
|
|
||||||
extension Icon {
|
extension Icon {
|
||||||
|
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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()
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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 doesn’t 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 doesn’t 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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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)
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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)
|
||||||
]),
|
]),
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|||||||
@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
import UIKit
|
import UIKit
|
||||||
import VDSColorTokens
|
import VDSTokens
|
||||||
|
|
||||||
extension UIColor {
|
extension UIColor {
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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? {
|
||||||
|
|||||||
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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
|
|
||||||
}
|
|
||||||
|
|
||||||
@ -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 }
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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 {
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
import UIKit
|
import UIKit
|
||||||
import VDSTypographyTokens
|
import VDSTokens
|
||||||
|
|
||||||
//MARK: Alignments
|
//MARK: Alignments
|
||||||
extension TextStyle {
|
extension TextStyle {
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user