diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/black.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/black.colorset/Contents.json new file mode 100644 index 0000000..be9d677 --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/black.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x00", + "green" : "0x00", + "red" : "0x00" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x00", + "green" : "0x00", + "red" : "0x00" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/danger.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/danger.colorset/Contents.json new file mode 100644 index 0000000..374e698 --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/danger.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x40", + "green" : "0x40", + "red" : "0xE8" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x40", + "green" : "0x40", + "red" : "0xE8" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/gray100.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/gray100.colorset/Contents.json new file mode 100644 index 0000000..f4a81ab --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/gray100.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xF5", + "green" : "0xF7", + "red" : "0xF4" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xF5", + "green" : "0xF7", + "red" : "0xF4" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/gray200.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/gray200.colorset/Contents.json new file mode 100644 index 0000000..dbd79ae --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/gray200.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xEE", + "green" : "0xF0", + "red" : "0xEB" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xEE", + "green" : "0xF0", + "red" : "0xEB" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/gray300.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/gray300.colorset/Contents.json new file mode 100644 index 0000000..dbd79ae --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/gray300.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xEE", + "green" : "0xF0", + "red" : "0xEB" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xEE", + "green" : "0xF0", + "red" : "0xEB" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/gray400.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/gray400.colorset/Contents.json new file mode 100644 index 0000000..0c8a7f2 --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/gray400.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xC6", + "green" : "0xC9", + "red" : "0xC2" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xC6", + "green" : "0xC9", + "red" : "0xC2" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/gray500.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/gray500.colorset/Contents.json new file mode 100644 index 0000000..faf0085 --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/gray500.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xA8", + "green" : "0xAD", + "red" : "0xA0" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xA8", + "green" : "0xAD", + "red" : "0xA0" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/gray600.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/gray600.colorset/Contents.json new file mode 100644 index 0000000..39754d5 --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/gray600.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x90", + "green" : "0x97", + "red" : "0x7B" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x90", + "green" : "0x97", + "red" : "0x7B" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/gray700.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/gray700.colorset/Contents.json new file mode 100644 index 0000000..5b1378b --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/gray700.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x60", + "green" : "0x66", + "red" : "0x55" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x60", + "green" : "0x66", + "red" : "0x55" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/gray800.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/gray800.colorset/Contents.json new file mode 100644 index 0000000..118b1ff --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/gray800.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x40", + "green" : "0x46", + "red" : "0x37" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x40", + "green" : "0x46", + "red" : "0x37" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/gray900.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/gray900.colorset/Contents.json new file mode 100644 index 0000000..89f863b --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/gray900.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x20", + "green" : "0x24", + "red" : "0x1A" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x20", + "green" : "0x24", + "red" : "0x1A" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/vault dark.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/vault dark.colorset/Contents.json new file mode 100644 index 0000000..db994b4 --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/vault dark.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x2E", + "green" : "0x1B", + "red" : "0x1B" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x2E", + "green" : "0x1B", + "red" : "0x1B" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/vault green dark.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/vault green dark.colorset/Contents.json new file mode 100644 index 0000000..c72aae2 --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/vault green dark.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x50", + "green" : "0x6B", + "red" : "0x1A" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x50", + "green" : "0x6B", + "red" : "0x1A" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/vault green tint.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/vault green tint.colorset/Contents.json new file mode 100644 index 0000000..b4830c5 --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/vault green tint.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xE5", + "green" : "0xF0", + "red" : "0xD4" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0xE5", + "green" : "0xF0", + "red" : "0xD4" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/vault green.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/vault green.colorset/Contents.json new file mode 100644 index 0000000..a125197 --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/vault green.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x75", + "green" : "0x9E", + "red" : "0x2D" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x75", + "green" : "0x9E", + "red" : "0x2D" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/color/warning.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/warning.colorset/Contents.json new file mode 100644 index 0000000..ed50339 --- /dev/null +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/warning.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x23", + "green" : "0xA6", + "red" : "0xF5" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0x23", + "green" : "0xA6", + "red" : "0xF5" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/DVDesign/Resources/Assets.xcassets/Color.colorset/Contents.json b/Projects/DVDesign/Resources/Assets.xcassets/color/white.colorset/Contents.json similarity index 96% rename from Projects/DVDesign/Resources/Assets.xcassets/Color.colorset/Contents.json rename to Projects/DVDesign/Resources/Assets.xcassets/color/white.colorset/Contents.json index 951b907..5d2d400 100644 --- a/Projects/DVDesign/Resources/Assets.xcassets/Color.colorset/Contents.json +++ b/Projects/DVDesign/Resources/Assets.xcassets/color/white.colorset/Contents.json @@ -25,7 +25,7 @@ "alpha" : "1.000", "blue" : "0xFF", "green" : "0xFF", - "red" : "0xFE" + "red" : "0xFF" } }, "idiom" : "universal" diff --git a/Projects/DVDesign/Sources/Foundations/Color/Color+DVColor.swift b/Projects/DVDesign/Sources/Foundations/Color/Color+DVColor.swift new file mode 100644 index 0000000..7b1cc3d --- /dev/null +++ b/Projects/DVDesign/Sources/Foundations/Color/Color+DVColor.swift @@ -0,0 +1,9 @@ +// Copyright © 2026 Devault. All rights reserved + +import SwiftUI + +public extension Color { + static func dv(_ token: DVColor) -> Color { + token.color + } +} diff --git a/Projects/DVDesign/Sources/Foundations/Color/DVColor.swift b/Projects/DVDesign/Sources/Foundations/Color/DVColor.swift new file mode 100644 index 0000000..bdf755f --- /dev/null +++ b/Projects/DVDesign/Sources/Foundations/Color/DVColor.swift @@ -0,0 +1,45 @@ +// Copyright © 2026 Devault. All rights reserved + +import SwiftUI + +public enum DVColor: CaseIterable { + case vaultGreen + case vaultGreenDark + case vaultGreenTint + case vaultDark + case gray900 + case gray800 + case gray700 + case gray600 + case gray500 + case gray400 + case gray300 + case gray200 + case gray100 + case white + case black + case danger + case warning + + public var color: Color { + switch self { + case .vaultGreen: return Color("vault green", bundle: .module) + case .vaultGreenDark: return Color("vault green dark", bundle: .module) + case .vaultGreenTint: return Color("vault green tint", bundle: .module) + case .vaultDark: return Color("vault dark", bundle: .module) + case .gray900: return Color("gray900", bundle: .module) + case .gray800: return Color("gray800", bundle: .module) + case .gray700: return Color("gray700", bundle: .module) + case .gray600: return Color("gray600", bundle: .module) + case .gray500: return Color("gray500", bundle: .module) + case .gray400: return Color("gray400", bundle: .module) + case .gray300: return Color("gray300", bundle: .module) + case .gray200: return Color("gray200", bundle: .module) + case .gray100: return Color("gray100", bundle: .module) + case .white: return Color("white", bundle: .module) + case .black: return Color("black", bundle: .module) + case .danger: return Color("danger", bundle: .module) + case .warning: return Color("warning", bundle: .module) + } + } +} diff --git a/Projects/DVDesign/Sources/Foundations/Color/View+DVColor.swift b/Projects/DVDesign/Sources/Foundations/Color/View+DVColor.swift new file mode 100644 index 0000000..f7ee8ba --- /dev/null +++ b/Projects/DVDesign/Sources/Foundations/Color/View+DVColor.swift @@ -0,0 +1,13 @@ +// Copyright © 2026 Devault. All rights reserved + +import SwiftUI + +public extension View { + func dvForegroundColor(_ token: DVColor) -> some View { + self.foregroundStyle(token.color) + } + + func dvBackgroundColor(_ token: DVColor) -> some View { + self.background(token.color) + } +} diff --git a/Projects/DVDesign/Sources/Foundations/PlaceholderC.swift b/Projects/DVDesign/Sources/Foundations/PlaceholderC.swift deleted file mode 100644 index f2ef082..0000000 --- a/Projects/DVDesign/Sources/Foundations/PlaceholderC.swift +++ /dev/null @@ -1 +0,0 @@ -// This file exists to ensure the directory is tracked by Xcode.