diff --git a/Sources/FioriSwiftUICore/DataTable/LayoutData.swift b/Sources/FioriSwiftUICore/DataTable/LayoutData.swift index a8306089d..74f9da6f4 100644 --- a/Sources/FioriSwiftUICore/DataTable/LayoutData.swift +++ b/Sources/FioriSwiftUICore/DataTable/LayoutData.swift @@ -147,7 +147,7 @@ class LayoutData { if let styleName = tmpUIFont.fontDescriptor.fontAttributes[.textStyle] as? String { let textStyle = UIFont.TextStyle(rawValue: styleName) uifont = UIFont.preferredFont(forTextStyle: textStyle) - }else { + } else { uifont = tmpUIFont } } else if let _font = item.font { diff --git a/Sources/FioriThemeManager/ColorCompatibilityMap/ColorCompatibilityMapV6.swift b/Sources/FioriThemeManager/ColorCompatibilityMap/ColorCompatibilityMapV6.swift new file mode 100644 index 000000000..e01650c41 --- /dev/null +++ b/Sources/FioriThemeManager/ColorCompatibilityMap/ColorCompatibilityMapV6.swift @@ -0,0 +1,17 @@ +import Foundation + +struct ColorCompatibilityMapV6: ColorStyleCompatibilityProvider { + let uuid = UUID() + + static let `default` = ColorCompatibilityMap(ColorCompatibilityMapV6()) + + let version: PaletteVersion = .v6 + + private init() {} + + var compatibleColorDefinitions: [ColorStyle: ColorStyle] = [:] + + func compatibleStyle(from style: ColorStyle) -> ColorStyle? { + self.compatibleColorDefinitions[style] + } +} diff --git a/Sources/FioriThemeManager/Colors/ColorStyle.swift b/Sources/FioriThemeManager/Colors/ColorStyle.swift index 39aa244a9..9c94bd112 100644 --- a/Sources/FioriThemeManager/Colors/ColorStyle.swift +++ b/Sources/FioriThemeManager/Colors/ColorStyle.swift @@ -1,376 +1,631 @@ public enum ColorStyle: String, CaseIterable { - // MARK: - Fiori Next Core Colors (74 Colors) + // MARK: - Fiori Next Core Colors (103 Colors) + // Core 1: Greys (1 - 11) /// Grey 1 /// (dark variant) ![](https://dummyimage.com/48x18/F5F6F7.png&text=+) Hex value: F5F6F7FF - /// (light variant) ![](https://dummyimage.com/48x18/111D29.png&text=+) Hex value: 111D29FF + /// (light variant) ![](https://dummyimage.com/48x18/12171C.png&text=+) Hex value: 12171CFF case grey1 /// Grey 2 - /// (dark variant) ![](https://dummyimage.com/48x18/D5DADD.png&text=+) Hex value: D5DADDFF - /// (light variant) ![](https://dummyimage.com/48x18/223548.png&text=+) Hex value: 223548FF + /// (dark variant) ![](https://dummyimage.com/48x18/EAECEE.png&text=+) Hex value: EAECEEFF + /// (light variant) ![](https://dummyimage.com/48x18/1A2733.png&text=+) Hex value: 1A2733FF case grey2 /// Grey 3 - /// (dark variant) ![](https://dummyimage.com/48x18/A9B4BE.png&text=+) Hex value: A9B4BEFF - /// (light variant) ![](https://dummyimage.com/48x18/354A5F.png&text=+) Hex value: 354A5FFF + /// (dark variant) ![](https://dummyimage.com/48x18/D5DADD.png&text=+) Hex value: D5DADDFF + /// (light variant) ![](https://dummyimage.com/48x18/223548.png&text=+) Hex value: 223548FF case grey3 /// Grey 4 - /// (dark variant) ![](https://dummyimage.com/48x18/8396A8.png&text=+) Hex value: 8396A8FF - /// (light variant) ![](https://dummyimage.com/48x18/475E75.png&text=+) Hex value: 475E75FF + /// (dark variant) ![](https://dummyimage.com/48x18/A9B4BE.png&text=+) Hex value: A9B4BEFF + /// (light variant) ![](https://dummyimage.com/48x18/354A5F.png&text=+) Hex value: 354A5FFF case grey4 /// Grey 5 - /// (dark variant) ![](https://dummyimage.com/48x18/5B738B.png&text=+) Hex value: 5B738BFF - /// (light variant) ![](https://dummyimage.com/48x18/5B738B.png&text=+) Hex value: 5B738BFF + /// (dark variant) ![](https://dummyimage.com/48x18/8396A8.png&text=+) Hex value: 8396A8FF + /// (light variant) ![](https://dummyimage.com/48x18/475E75.png&text=+) Hex value: 475E75FF case grey5 /// Grey 6 - /// (dark variant) ![](https://dummyimage.com/48x18/475E75.png&text=+) Hex value: 475E75FF - /// (light variant) ![](https://dummyimage.com/48x18/8396A8.png&text=+) Hex value: 8396A8FF + /// (dark variant) ![](https://dummyimage.com/48x18/5B738B.png&text=+) Hex value: 5B738BFF + /// (light variant) ![](https://dummyimage.com/48x18/5B738B.png&text=+) Hex value: 5B738BFF case grey6 /// Grey 7 - /// (dark variant) ![](https://dummyimage.com/48x18/354A5F.png&text=+) Hex value: 354A5FFF - /// (light variant) ![](https://dummyimage.com/48x18/A9B4BE.png&text=+) Hex value: A9B4BEFF + /// (dark variant) ![](https://dummyimage.com/48x18/475E75.png&text=+) Hex value: 475E75FF + /// (light variant) ![](https://dummyimage.com/48x18/8396A8.png&text=+) Hex value: 8396A8FF case grey7 /// Grey 8 - /// (dark variant) ![](https://dummyimage.com/48x18/223548.png&text=+) Hex value: 223548FF - /// (light variant) ![](https://dummyimage.com/48x18/D5DADD.png&text=+) Hex value: D5DADDFF + /// (dark variant) ![](https://dummyimage.com/48x18/354A5F.png&text=+) Hex value: 354A5FFF + /// (light variant) ![](https://dummyimage.com/48x18/A9B4BE.png&text=+) Hex value: A9B4BEFF case grey8 /// Grey 9 - /// (dark variant) ![](https://dummyimage.com/48x18/111D29.png&text=+) Hex value: 111D29FF - /// (light variant) ![](https://dummyimage.com/48x18/F5F6F7.png&text=+) Hex value: F5F6F7FF + /// (dark variant) ![](https://dummyimage.com/48x18/223548.png&text=+) Hex value: 223548FF + /// (light variant) ![](https://dummyimage.com/48x18/D5DADD.png&text=+) Hex value: D5DADDFF case grey9 + /// Grey 10 + /// (dark variant) ![](https://dummyimage.com/48x18/1A2733.png&text=+) Hex value: 1A2733FF + /// (light variant) ![](https://dummyimage.com/48x18/EAECEE.png&text=+) Hex value: EAECEEFF + case grey10 + + /// Grey 11 + /// (dark variant) ![](https://dummyimage.com/48x18/12171C.png&text=+) Hex value: 12171CFF + /// (light variant) ![](https://dummyimage.com/48x18/F5F6F7.png&text=+) Hex value: F5F6F7FF + case grey11 + + // Core 2: Blues (1 - 11) /// Blue 1 /// (dark variant) ![](https://dummyimage.com/48x18/EBF8FF.png&text=+) Hex value: EBF8FFFF /// (light variant) ![](https://dummyimage.com/48x18/00144A.png&text=+) Hex value: 00144AFF case blue1 /// Blue 2 - /// (dark variant) ![](https://dummyimage.com/48x18/89D1FF.png&text=+) Hex value: 89D1FFFF + /// (dark variant) ![](https://dummyimage.com/48x18/D1EFFF.png&text=+) Hex value: D1EFFFFF /// (light variant) ![](https://dummyimage.com/48x18/002A86.png&text=+) Hex value: 002A86FF case blue2 /// Blue 3 - /// (dark variant) ![](https://dummyimage.com/48x18/4DB1FF.png&text=+) Hex value: 4DB1FFFF + /// (dark variant) ![](https://dummyimage.com/48x18/A6E0FF.png&text=+) Hex value: A6E0FFFF /// (light variant) ![](https://dummyimage.com/48x18/0040B0.png&text=+) Hex value: 0040B0FF case blue3 /// Blue 4 - /// (dark variant) ![](https://dummyimage.com/48x18/1B90FF.png&text=+) Hex value: 1B90FFFF + /// (dark variant) ![](https://dummyimage.com/48x18/89D1FF.png&text=+) Hex value: 89D1FFFF /// (light variant) ![](https://dummyimage.com/48x18/0057D2.png&text=+) Hex value: 0057D2FF case blue4 /// Blue 5 - /// (dark variant) ![](https://dummyimage.com/48x18/0070F2.png&text=+) Hex value: 0070F2FF + /// (dark variant) ![](https://dummyimage.com/48x18/4DB1FF.png&text=+) Hex value: 4DB1FFFF /// (light variant) ![](https://dummyimage.com/48x18/0070F2.png&text=+) Hex value: 0070F2FF case blue5 /// Blue 6 - /// (dark variant) ![](https://dummyimage.com/48x18/0057D2.png&text=+) Hex value: 0057D2FF + /// (dark variant) ![](https://dummyimage.com/48x18/1B90FF.png&text=+) Hex value: 1B90FFFF /// (light variant) ![](https://dummyimage.com/48x18/1B90FF.png&text=+) Hex value: 1B90FFFF case blue6 /// Blue 7 - /// (dark variant) ![](https://dummyimage.com/48x18/0040B0.png&text=+) Hex value: 0040B0FF + /// (dark variant) ![](https://dummyimage.com/48x18/0070F2.png&text=+) Hex value: 0070F2FF /// (light variant) ![](https://dummyimage.com/48x18/4DB1FF.png&text=+) Hex value: 4DB1FFFF case blue7 /// Blue 8 - /// (dark variant) ![](https://dummyimage.com/48x18/002A86.png&text=+) Hex value: 002A86FF + /// (dark variant) ![](https://dummyimage.com/48x18/0057D2.png&text=+) Hex value: 0057D2FF /// (light variant) ![](https://dummyimage.com/48x18/89D1FF.png&text=+) Hex value: 89D1FFFF case blue8 /// Blue 9 + /// (dark variant) ![](https://dummyimage.com/48x18/0040B0.png&text=+) Hex value: 0040B0FF + /// (light variant) ![](https://dummyimage.com/48x18/A6E0FF.png&text=+) Hex value: A6E0FFFF + case blue9 + + /// Blue 10 + /// (dark variant) ![](https://dummyimage.com/48x18/002A86.png&text=+) Hex value: 002A86FF + /// (light variant) ![](https://dummyimage.com/48x18/D1EFFF.png&text=+) Hex value: D1EFFFFF + case blue10 + + /// Blue 11 /// (dark variant) ![](https://dummyimage.com/48x18/00144A.png&text=+) Hex value: 00144AFF /// (light variant) ![](https://dummyimage.com/48x18/EBF8FF.png&text=+) Hex value: EBF8FFFF - case blue9 + case blue11 + // Core 3: Teals (1 - 11) /// Teal 1 /// (dark variant) ![](https://dummyimage.com/48x18/DAFDF5.png&text=+) Hex value: DAFDF5FF /// (light variant) ![](https://dummyimage.com/48x18/012931.png&text=+) Hex value: 012931FF case teal1 /// Teal 2 - /// (dark variant) ![](https://dummyimage.com/48x18/64EDD2.png&text=+) Hex value: 64EDD2FF + /// (dark variant) ![](https://dummyimage.com/48x18/C2FCEE.png&text=+) Hex value: C2FCEEFF /// (light variant) ![](https://dummyimage.com/48x18/02414C.png&text=+) Hex value: 02414CFF case teal2 /// Teal 3 - /// (dark variant) ![](https://dummyimage.com/48x18/00CEAC.png&text=+) Hex value: 00CEACFF + /// (dark variant) ![](https://dummyimage.com/48x18/64EDD2.png&text=+) Hex value: 64EDD2FF /// (light variant) ![](https://dummyimage.com/48x18/035663.png&text=+) Hex value: 035663FF case teal3 /// Teal 4 - /// (dark variant) ![](https://dummyimage.com/48x18/04ACA7.png&text=+) Hex value: 04ACA7FF + /// (dark variant) ![](https://dummyimage.com/48x18/2CE0BF.png&text=+) Hex value: 2CE0BFFF /// (light variant) ![](https://dummyimage.com/48x18/046C7A.png&text=+) Hex value: 046C7AFF case teal4 /// Teal 5 - /// (dark variant) ![](https://dummyimage.com/48x18/07838F.png&text=+) Hex value: 07838FFF + /// (dark variant) ![](https://dummyimage.com/48x18/00CEAC.png&text=+) Hex value: 00CEACFF /// (light variant) ![](https://dummyimage.com/48x18/07838F.png&text=+) Hex value: 07838FFF case teal5 /// Teal 6 - /// (dark variant) ![](https://dummyimage.com/48x18/046C7A.png&text=+) Hex value: 046C7AFF - /// (light variant) ![](https://dummyimage.com/48x18/04ACA7.png&text=+) Hex value: 04ACA7FF + /// (dark variant) ![](https://dummyimage.com/48x18/049F9A.png&text=+) Hex value: 049F9AFF + /// (light variant) ![](https://dummyimage.com/48x18/049F9A.png&text=+) Hex value: 049F9AFF case teal6 /// Teal 7 - /// (dark variant) ![](https://dummyimage.com/48x18/035663.png&text=+) Hex value: 035663FF + /// (dark variant) ![](https://dummyimage.com/48x18/07838F.png&text=+) Hex value: 07838FFF /// (light variant) ![](https://dummyimage.com/48x18/00CEAC.png&text=+) Hex value: 00CEACFF case teal7 /// Teal 8 - /// (dark variant) ![](https://dummyimage.com/48x18/02414C.png&text=+) Hex value: 02414CFF - /// (light variant) ![](https://dummyimage.com/48x18/64EDD2.png&text=+) Hex value: 64EDD2FF + /// (dark variant) ![](https://dummyimage.com/48x18/046C7A.png&text=+) Hex value: 046C7AFF + /// (light variant) ![](https://dummyimage.com/48x18/2CE0BF.png&text=+) Hex value: 2CE0BFFF case teal8 /// Teal 9 - /// (dark variant) ![](https://dummyimage.com/48x18/012931.png&text=+) Hex value: 012931FF - /// (light variant) ![](https://dummyimage.com/48x18/DAFDF5.png&text=+) Hex value: DAFDF5FF + /// (dark variant) ![](https://dummyimage.com/48x18/035663.png&text=+) Hex value: 035663FF + /// (light variant) ![](https://dummyimage.com/48x18/64EDD2.png&text=+) Hex value: 64EDD2FF case teal9 + /// Teal 10 + /// (dark variant) ![](https://dummyimage.com/48x18/02414C.png&text=+) Hex value: 02414CFF + /// (light variant) ![](https://dummyimage.com/48x18/C2FCEE.png&text=+) Hex value: C2FCEEFF + case teal10 + + /// Teal 11 + /// (dark variant) ![](https://dummyimage.com/48x18/002A86.png&text=+) Hex value: 002A86FF + /// (light variant) ![](https://dummyimage.com/48x18/DAFDF5.png&text=+) Hex value: DAFDF5FF + case teal11 + + // Core 4: Greens (1 - 11) /// Green 1 /// (dark variant) ![](https://dummyimage.com/48x18/F5FAE5.png&text=+) Hex value: F5FAE5FF /// (light variant) ![](https://dummyimage.com/48x18/0E2B16.png&text=+) Hex value: 0E2B16FF case green1 /// Green 2 - /// (dark variant) ![](https://dummyimage.com/48x18/97DD40.png&text=+) Hex value: 97DD40FF + /// (dark variant) ![](https://dummyimage.com/48x18/EBF5CB.png&text=+) Hex value: EBF5CBFF /// (light variant) ![](https://dummyimage.com/48x18/164323.png&text=+) Hex value: 164323FF case green2 /// Green 3 - /// (dark variant) ![](https://dummyimage.com/48x18/5DC122.png&text=+) Hex value: 5DC122FF + /// (dark variant) ![](https://dummyimage.com/48x18/BDE986.png&text=+) Hex value: BDE986FF /// (light variant) ![](https://dummyimage.com/48x18/1E592F.png&text=+) Hex value: 1E592FFF case green3 /// Green 4 - /// (dark variant) ![](https://dummyimage.com/48x18/36A41D.png&text=+) Hex value: 36A41DFF + /// (dark variant) ![](https://dummyimage.com/48x18/97DD40.png&text=+) Hex value: 97DD40FF /// (light variant) ![](https://dummyimage.com/48x18/256F3A.png&text=+) Hex value: 256F3AFF case green4 /// Green 5 - /// (dark variant) ![](https://dummyimage.com/48x18/188918.png&text=+) Hex value: 188918FF + /// (dark variant) ![](https://dummyimage.com/48x18/5DC122.png&text=+) Hex value: 5DC122FF /// (light variant) ![](https://dummyimage.com/48x18/188918.png&text=+) Hex value: 188918FF case green5 /// Green 6 - /// (dark variant) ![](https://dummyimage.com/48x18/256F3A.png&text=+) Hex value: 256F3AFF + /// (dark variant) ![](https://dummyimage.com/48x18/36A41D.png&text=+) Hex value: 36A41DFF /// (light variant) ![](https://dummyimage.com/48x18/36A41D.png&text=+) Hex value: 36A41DFF case green6 /// Green 7 - /// (dark variant) ![](https://dummyimage.com/48x18/1E592F.png&text=+) Hex value: 1E592FFF + /// (dark variant) ![](https://dummyimage.com/48x18/188918.png&text=+) Hex value: 188918FF /// (light variant) ![](https://dummyimage.com/48x18/5DC122.png&text=+) Hex value: 5DC122FF case green7 /// Green 8 - /// (dark variant) ![](https://dummyimage.com/48x18/164323.png&text=+) Hex value: 164323FF + /// (dark variant) ![](https://dummyimage.com/48x18/256F3A.png&text=+) Hex value: 256F3AFF /// (light variant) ![](https://dummyimage.com/48x18/97DD40.png&text=+) Hex value: 97DD40FF case green8 /// Green 9 - /// (dark variant) ![](https://dummyimage.com/48x18/0E2B16.png&text=+) Hex value: 0E2B16FF - /// (light variant) ![](https://dummyimage.com/48x18/F5FAE5.png&text=+) Hex value: F5FAE5FF + /// (dark variant) ![](https://dummyimage.com/48x18/1E592F.png&text=+) Hex value: 1E592FFF + /// (light variant) ![](https://dummyimage.com/48x18/BDE986.png&text=+) Hex value: BDE986FF case green9 + /// Green 10 + /// (dark variant) ![](https://dummyimage.com/48x18/450B00.png&text=+) Hex value: 450B00FF + /// (light variant) ![](https://dummyimage.com/48x18/EBF5CB.png&text=+) Hex value: EBF5CBFF + case green10 + + /// Green 11 + /// (dark variant) ![](https://dummyimage.com/48x18/363636.png&text=+) Hex value: 363636FF + /// (light variant) ![](https://dummyimage.com/48x18/F5FAE5.png&text=+) Hex value: F5FAE5FF + case green11 + + // Core 5: Mangos (1 - 11) /// Mango 1 /// (dark variant) ![](https://dummyimage.com/48x18/FFF8D6.png&text=+) Hex value: FFF8D6FF /// (light variant) ![](https://dummyimage.com/48x18/450B00.png&text=+) Hex value: 450B00FF case mango1 /// Mango 2 - /// (dark variant) ![](https://dummyimage.com/48x18/FFDF72.png&text=+) Hex value: FFDF72FF + /// (dark variant) ![](https://dummyimage.com/48x18/FFF3B8.png&text=+) Hex value: FFF3B8FF /// (light variant) ![](https://dummyimage.com/48x18/6D1900.png&text=+) Hex value: 6D1900FF case mango2 /// Mango 3 - /// (dark variant) ![](https://dummyimage.com/48x18/FFB300.png&text=+) Hex value: FFB300FF + /// (dark variant) ![](https://dummyimage.com/48x18/FFDF72.png&text=+) Hex value: FFDF72FF /// (light variant) ![](https://dummyimage.com/48x18/8D2A00.png&text=+) Hex value: 8D2A00FF case mango3 /// Mango 4 - /// (dark variant) ![](https://dummyimage.com/48x18/F58B00.png&text=+) Hex value: F58B00FF + /// (dark variant) ![](https://dummyimage.com/48x18/FFC933.png&text=+) Hex value: FFC933FF /// (light variant) ![](https://dummyimage.com/48x18/A93E00.png&text=+) Hex value: A93E00FF case mango4 /// Mango 5 - /// (dark variant) ![](https://dummyimage.com/48x18/C35500.png&text=+) Hex value: C35500FF + /// (dark variant) ![](https://dummyimage.com/48x18/F58F00.png&text=+) Hex value: F58F00FF /// (light variant) ![](https://dummyimage.com/48x18/C35500.png&text=+) Hex value: C35500FF case mango5 /// Mango 6 - /// (dark variant) ![](https://dummyimage.com/48x18/A93E00.png&text=+) Hex value: A93E00FF - /// (light variant) ![](https://dummyimage.com/48x18/F58B00.png&text=+) Hex value: F58B00FF + /// (dark variant) ![](https://dummyimage.com/48x18/E76500.png&text=+) Hex value: E76500FF + /// (light variant) ![](https://dummyimage.com/48x18/E76500.png&text=+) Hex value: E76500FF case mango6 /// Mango 7 - /// (dark variant) ![](https://dummyimage.com/48x18/8D2A00.png&text=+) Hex value: 8D2A00FF + /// (dark variant) ![](https://dummyimage.com/48x18/C35500.png&text=+) Hex value: C35500FF /// (light variant) ![](https://dummyimage.com/48x18/FFB300.png&text=+) Hex value: FFB300FF case mango7 /// Mango 8 /// (dark variant) ![](https://dummyimage.com/48x18/6D1900.png&text=+) Hex value: 6D1900FF - /// (light variant) ![](https://dummyimage.com/48x18/FFDF72.png&text=+) Hex value: FFDF72FF + /// (light variant) ![](https://dummyimage.com/48x18/FFC933.png&text=+) Hex value: FFC933FF case mango8 /// Mango 9 + /// (dark variant) ![](https://dummyimage.com/48x18/8D2A00.png&text=+) Hex value: 8D2A00FF + /// (light variant) ![](https://dummyimage.com/48x18/FFDF72.png&text=+) Hex value: FFDF72FF + case mango9 + + /// Mango 10 + /// (dark variant) ![](https://dummyimage.com/48x18/6D1900.png&text=+) Hex value: 6D1900FF + /// (light variant) ![](https://dummyimage.com/48x18/FFF3B8.png&text=+) Hex value: FFF3B8FF + case mango10 + + /// Mango 11 /// (dark variant) ![](https://dummyimage.com/48x18/450B00.png&text=+) Hex value: 450B00FF /// (light variant) ![](https://dummyimage.com/48x18/FFF8D6.png&text=+) Hex value: FFF8D6FF - case mango9 + case mango11 + // Core 6: Reds (1 - 11) /// Red 1 /// (dark variant) ![](https://dummyimage.com/48x18/FFEAF4.png&text=+) Hex value: FFEAF4FF /// (light variant) ![](https://dummyimage.com/48x18/350000.png&text=+) Hex value: 350000FF case red1 /// Red 2 - /// (dark variant) ![](https://dummyimage.com/48x18/FF8CB2.png&text=+) Hex value: FF8CB2FF + /// (dark variant) ![](https://dummyimage.com/48x18/FFD5EA.png&text=+) Hex value: FFD5EAFF /// (light variant) ![](https://dummyimage.com/48x18/5A0404.png&text=+) Hex value: 5A0404FF case red2 /// Red 3 - /// (dark variant) ![](https://dummyimage.com/48x18/FF5C77.png&text=+) Hex value: FF5C77FF + /// (dark variant) ![](https://dummyimage.com/48x18/FFB2D2.png&text=+) Hex value: FFB2D2FF /// (light variant) ![](https://dummyimage.com/48x18/840606.png&text=+) Hex value: 840606FF case red3 /// Red 4 - /// (dark variant) ![](https://dummyimage.com/48x18/EE3939.png&text=+) Hex value: EE3939FF + /// (dark variant) ![](https://dummyimage.com/48x18/FF8CB2.png&text=+) Hex value: FF8CB2FF /// (light variant) ![](https://dummyimage.com/48x18/AA0808.png&text=+) Hex value: AA0808FF case red4 /// Red 5 - /// (dark variant) ![](https://dummyimage.com/48x18/D20A0A.png&text=+) Hex value: D20A0AFF + /// (dark variant) ![](https://dummyimage.com/48x18/FF5C77.png&text=+) Hex value: FF5C77FF /// (light variant) ![](https://dummyimage.com/48x18/D20A0A.png&text=+) Hex value: D20A0AFF case red5 /// Red 6 - /// (dark variant) ![](https://dummyimage.com/48x18/AA0808.png&text=+) Hex value: AA0808FF + /// (dark variant) ![](https://dummyimage.com/48x18/EE3939.png&text=+) Hex value: EE3939FF /// (light variant) ![](https://dummyimage.com/48x18/EE3939.png&text=+) Hex value: EE3939FF case red6 /// Red 7 - /// (dark variant) ![](https://dummyimage.com/48x18/840606.png&text=+) Hex value: 840606FF + /// (dark variant) ![](https://dummyimage.com/48x18/D20A0A.png&text=+) Hex value: D20A0AFF /// (light variant) ![](https://dummyimage.com/48x18/FF5C77.png&text=+) Hex value: FF5C77FF case red7 /// Red 8 - /// (dark variant) ![](https://dummyimage.com/48x18/5A0404.png&text=+) Hex value: 5A0404FF + /// (dark variant) ![](https://dummyimage.com/48x18/AA0808.png&text=+) Hex value: AA0808FF /// (light variant) ![](https://dummyimage.com/48x18/FF8CB2.png&text=+) Hex value: FF8CB2FF case red8 /// Red 9 + /// (dark variant) ![](https://dummyimage.com/48x18/840606.png&text=+) Hex value: 840606FF + /// (light variant) ![](https://dummyimage.com/48x18/FFB2D2.png&text=+) Hex value: FFB2D2FF + case red9 + + /// Red 10 + /// (dark variant) ![](https://dummyimage.com/48x18/5A0404.png&text=+) Hex value: 5A0404FF + /// (light variant) ![](https://dummyimage.com/48x18/FFD5EA.png&text=+) Hex value: FFD5EAFF + case red10 + + /// Red 11 /// (dark variant) ![](https://dummyimage.com/48x18/350000.png&text=+) Hex value: 350000FF /// (light variant) ![](https://dummyimage.com/48x18/FFEAF4.png&text=+) Hex value: FFEAF4FF - case red9 + case red11 + // Core 7: Pinks (1 - 11) /// Pink 1 /// (dark variant) ![](https://dummyimage.com/48x18/FFF0FA.png&text=+) Hex value: FFF0FAFF /// (light variant) ![](https://dummyimage.com/48x18/28004A.png&text=+) Hex value: 28004AFF case pink1 /// Pink 2 - /// (dark variant) ![](https://dummyimage.com/48x18/FFAFED.png&text=+) Hex value: FFAFEDFF + /// (dark variant) ![](https://dummyimage.com/48x18/FFDCF3.png&text=+) Hex value: FFDCF3FF /// (light variant) ![](https://dummyimage.com/48x18/510080.png&text=+) Hex value: 510080FF case pink2 /// Pink 3 - /// (dark variant) ![](https://dummyimage.com/48x18/FF8AF0.png&text=+) Hex value: FF8AF0FF + /// (dark variant) ![](https://dummyimage.com/48x18/FFAFED.png&text=+) Hex value: FFAFEDFF /// (light variant) ![](https://dummyimage.com/48x18/7800A4.png&text=+) Hex value: 7800A4FF case pink3 /// Pink 4 - /// (dark variant) ![](https://dummyimage.com/48x18/F31DED.png&text=+) Hex value: F31DEDFF + /// (dark variant) ![](https://dummyimage.com/48x18/FF8AF0.png&text=+) Hex value: FF8AF0FF /// (light variant) ![](https://dummyimage.com/48x18/A100C2.png&text=+) Hex value: A100C2FF case pink4 /// Pink 5 - /// (dark variant) ![](https://dummyimage.com/48x18/CC00DC.png&text=+) Hex value: CC00DCFF + /// (dark variant) ![](https://dummyimage.com/48x18/F65AF2.png&text=+) Hex value: F65AF2FF /// (light variant) ![](https://dummyimage.com/48x18/CC00DC.png&text=+) Hex value: CC00DCFF case pink5 /// Pink 6 - /// (dark variant) ![](https://dummyimage.com/48x18/A100C2.png&text=+) Hex value: A100C2FF + /// (dark variant) ![](https://dummyimage.com/48x18/F31DED.png&text=+) Hex value: F31DEDFF /// (light variant) ![](https://dummyimage.com/48x18/F31DED.png&text=+) Hex value: F31DEDFF case pink6 /// Pink 7 - /// (dark variant) ![](https://dummyimage.com/48x18/7800A4.png&text=+) Hex value: 7800A4FF - /// (light variant) ![](https://dummyimage.com/48x18/FF8AF0.png&text=+) Hex value: FF8AF0FF + /// (dark variant) ![](https://dummyimage.com/48x18/CC00DC.png&text=+) Hex value: CC00DCFF + /// (light variant) ![](https://dummyimage.com/48x18/F65AF2.png&text=+) Hex value: F65AF2FF case pink7 /// Pink 8 - /// (dark variant) ![](https://dummyimage.com/48x18/510080.png&text=+) Hex value: 510080FF - /// (light variant) ![](https://dummyimage.com/48x18/FFAFED.png&text=+) Hex value: FFAFEDFF + /// (dark variant) ![](https://dummyimage.com/48x18/A100C2.png&text=+) Hex value: A100C2FF + /// (light variant) ![](https://dummyimage.com/48x18/FF8AF0.png&text=+) Hex value: FF8AF0FF case pink8 /// Pink 9 - /// (dark variant) ![](https://dummyimage.com/48x18/28004A.png&text=+) Hex value: 28004AFF - /// (light variant) ![](https://dummyimage.com/48x18/FFF0FA.png&text=+) Hex value: FFF0FAFF + /// (dark variant) ![](https://dummyimage.com/48x18/7800A4.png&text=+) Hex value: 7800A4FF + /// (light variant) ![](https://dummyimage.com/48x18/FFAFED.png&text=+) Hex value: FFAFEDFF case pink9 + /// Pink 10 + /// (dark variant) ![](https://dummyimage.com/48x18/510080.png&text=+) Hex value: 510080FF + /// (light variant) ![](https://dummyimage.com/48x18/FFDCF3.png&text=+) Hex value: FFDCF3FF + case pink10 + + /// Pink 11 + /// (dark variant) ![](https://dummyimage.com/48x18/28004A.png&text=+) Hex value: 28004AFF + /// (light variant) ![](https://dummyimage.com/48x18/FFF0FA.png&text=+) Hex value: FFF0FAFF + case pink11 + + // Core 8: Raspberries (1 - 11) + /// Raspberry 1 + /// (dark variant) ![](https://dummyimage.com/48x18/FFF0F5.png&text=+) Hex value: FFF0F5FF + /// (light variant) ![](https://dummyimage.com/48x18/510136.png&text=+) Hex value: 510136FF + case raspberry1 + + /// Raspberry 2 + /// (dark variant) ![](https://dummyimage.com/48x18/FFDCE8.png&text=+) Hex value: FFDCE8FF + /// (light variant) ![](https://dummyimage.com/48x18/71014B.png&text=+) Hex value: 71014BFF + case raspberry2 + + /// Raspberry 3 + /// (dark variant) ![](https://dummyimage.com/48x18/FECBDA.png&text=+) Hex value: FECBDAFF + /// (light variant) ![](https://dummyimage.com/48x18/9B015D.png&text=+) Hex value: 9B015DFF + case raspberry3 + + /// Raspberry 4 + /// (dark variant) ![](https://dummyimage.com/48x18/FEADC8.png&text=+) Hex value: FEADC8FF + /// (light variant) ![](https://dummyimage.com/48x18/BA066C.png&text=+) Hex value: BA066CFF + case raspberry4 + + /// Raspberry 5 + /// (dark variant) ![](https://dummyimage.com/48x18/FE83AE.png&text=+) Hex value: FE83AEFF + /// (light variant) ![](https://dummyimage.com/48x18/DF1278.png&text=+) Hex value: DF1278FF + case raspberry5 + + /// Raspberry 6 + /// (dark variant) ![](https://dummyimage.com/48x18/FA4F96.png&text=+) Hex value: FA4F96FF + /// (light variant) ![](https://dummyimage.com/48x18/FA4F96.png&text=+) Hex value: FA4F96FF + case raspberry6 + + /// Raspberry 7 + /// (dark variant) ![](https://dummyimage.com/48x18/DF1278.png&text=+) Hex value: DF1278FF + /// (light variant) ![](https://dummyimage.com/48x18/FE83AE.png&text=+) Hex value: FE83AEFF + case raspberry7 + + /// Raspberry 8 + /// (dark variant) ![](https://dummyimage.com/48x18/BA066C.png&text=+) Hex value: BA066CFF + /// (light variant) ![](https://dummyimage.com/48x18/FEADC8.png&text=+) Hex value: FEADC8FF + case raspberry8 + + /// Raspberry 9 + /// (dark variant) ![](https://dummyimage.com/48x18/9B015D.png&text=+) Hex value: 9B015DFF + /// (light variant) ![](https://dummyimage.com/48x18/FECBDA.png&text=+) Hex value: FECBDAFF + case raspberry9 + + /// Raspberry 10 + /// (dark variant) ![](https://dummyimage.com/48x18/71014B.png&text=+) Hex value: 71014BFF + /// (light variant) ![](https://dummyimage.com/48x18/FFDCE8.png&text=+) Hex value: FFDCE8FF + case raspberry10 + + /// Raspberry 11 + /// (dark variant) ![](https://dummyimage.com/48x18/510136.png&text=+) Hex value: 510136FF + /// (light variant) ![](https://dummyimage.com/48x18/FFF0F5.png&text=+) Hex value: FFF0F5FF + case raspberry11 + + // Core 9: Indigos (1 - 11) /// Indigo 1 /// (dark variant) ![](https://dummyimage.com/48x18/F1ECFF.png&text=+) Hex value: F1ECFFFF - /// (light variant) ![](https://dummyimage.com/48x18/1C0C6E.png&text=+) Hex value: 1C0C6EFF + /// (light variant) ![](https://dummyimage.com/48x18/0E0637.png&text=+) Hex value: 0E0637FF case indigo1 /// Indigo 2 - /// (dark variant) ![](https://dummyimage.com/48x18/D3B6FF.png&text=+) Hex value: D3B6FFFF - /// (light variant) ![](https://dummyimage.com/48x18/2C13AD.png&text=+) Hex value: 2C13ADFF + /// (dark variant) ![](https://dummyimage.com/48x18/E2D8FF.png&text=+) Hex value: E2D8FFFF + /// (light variant) ![](https://dummyimage.com/48x18/1C0C6E.png&text=+) Hex value: 1C0C6EFF case indigo2 /// Indigo 3 - /// (dark variant) ![](https://dummyimage.com/48x18/B894FF.png&text=+) Hex value: B894FFFF - /// (light variant) ![](https://dummyimage.com/48x18/470CED.png&text=+) Hex value: 470CEDFF + /// (dark variant) ![](https://dummyimage.com/48x18/D3B6FF.png&text=+) Hex value: D3B6FFFF + /// (light variant) ![](https://dummyimage.com/48x18/2C13AD.png&text=+) Hex value: 2C13ADFF case indigo3 /// Indigo 4 - /// (dark variant) ![](https://dummyimage.com/48x18/9B76FF.png&text=+) Hex value: 9B76FFFF - /// (light variant) ![](https://dummyimage.com/48x18/5D36FF.png&text=+) Hex value: 5D36FFFF + /// (dark variant) ![](https://dummyimage.com/48x18/B894FF.png&text=+) Hex value: B894FFFF + /// (light variant) ![](https://dummyimage.com/48x18/470CED.png&text=+) Hex value: 470CEDFF case indigo4 /// Indigo 5 - /// (dark variant) ![](https://dummyimage.com/48x18/7858FF.png&text=+) Hex value: 7858FFFF - /// (light variant) ![](https://dummyimage.com/48x18/7858FF.png&text=+) Hex value: 7858FFFF + /// (dark variant) ![](https://dummyimage.com/48x18/9B76FF.png&text=+) Hex value: 9B76FFFF + /// (light variant) ![](https://dummyimage.com/48x18/5D36FF.png&text=+) Hex value: 5D36FFFF case indigo5 /// Indigo 6 - /// (dark variant) ![](https://dummyimage.com/48x18/5D36FF.png&text=+) Hex value: 5D36FFFF - /// (light variant) ![](https://dummyimage.com/48x18/9B76FF.png&text=+) Hex value: 9B76FFFF + /// (dark variant) ![](https://dummyimage.com/48x18/7858FF.png&text=+) Hex value: 7858FFFF + /// (light variant) ![](https://dummyimage.com/48x18/7858FF.png&text=+) Hex value: 7858FFFF case indigo6 /// Indigo 7 - /// (dark variant) ![](https://dummyimage.com/48x18/470CED.png&text=+) Hex value: 470CEDFF - /// (light variant) ![](https://dummyimage.com/48x18/B894FF.png&text=+) Hex value: B894FFFF + /// (dark variant) ![](https://dummyimage.com/48x18/5D36FF.png&text=+) Hex value: 5D36FFFF + /// (light variant) ![](https://dummyimage.com/48x18/9B76FF.png&text=+) Hex value: 9B76FFFF case indigo7 /// Indigo 8 - /// (dark variant) ![](https://dummyimage.com/48x18/2C13AD.png&text=+) Hex value: 2C13ADFF - /// (light variant) ![](https://dummyimage.com/48x18/D3B6FF.png&text=+) Hex value: D3B6FFFF + /// (dark variant) ![](https://dummyimage.com/48x18/470CED.png&text=+) Hex value: 470CEDFF + /// (light variant) ![](https://dummyimage.com/48x18/B894FF.png&text=+) Hex value: B894FFFF case indigo8 /// Indigo 9 + /// (dark variant) ![](https://dummyimage.com/48x18/2C13AD.png&text=+) Hex value: 2C13ADFF + /// (light variant) ![](https://dummyimage.com/48x18/D3B6FF.png&text=+) Hex value: D3B6FFFF + case indigo9 + + /// Indigo 10 /// (dark variant) ![](https://dummyimage.com/48x18/1C0C6E.png&text=+) Hex value: 1C0C6EFF + /// (light variant) ![](https://dummyimage.com/48x18/E2D8FF.png&text=+) Hex value: E2D8FFFF + case indigo10 + + /// Indigo 11 + /// (dark variant) ![](https://dummyimage.com/48x18/0E0637.png&text=+) Hex value: 0E0637FF /// (light variant) ![](https://dummyimage.com/48x18/F1ECFF.png&text=+) Hex value: F1ECFFFF - case indigo9 + case indigo11 + // Core 10: Basis (total 4) /// Base White /// (dark variant) ![](https://dummyimage.com/48x18/FFFFFF.png&text=+) Hex value: FFFFFFFF /// (light variant) ![](https://dummyimage.com/48x18/FFFFFF.png&text=+) Hex value: FFFFFFFF case baseWhite - /// Base Black + /// BaseBlack /// (dark variant) ![](https://dummyimage.com/48x18/000000.png&text=+) Hex value: 000000FF /// (light variant) ![](https://dummyimage.com/48x18/000000.png&text=+) Hex value: 000000FF case baseBlack + /// Base 1 + /// (dark variant) ![](https://dummyimage.com/48x18/000000.png&text=+) Hex value: 000000FF + /// (light variant) ![](https://dummyimage.com/48x18/FFFFFF.png&text=+) Hex value: FFFFFFFF + case base1 + + /// Base 2 + /// (dark variant) ![](https://dummyimage.com/48x18/FFFFFF.png&text=+) Hex value: FFFFFFFF + /// (light variant) ![](https://dummyimage.com/48x18/000000.png&text=+) Hex value: 000000FF + case base2 + + /// AccentLabel 1 + /// (dark variant) ![](https://dummyimage.com/48x18/A93E00.png&text=+) Hex value: A93E00FF + /// (light variant) ![](https://dummyimage.com/48x18/FFDF72.png&text=+) Hex value: FFDF72FF + case accentLabel1 + + /// AccentLabel 2 + /// (dark variant) ![](https://dummyimage.com/48x18/AA0808.png&text=+) Hex value: AA0808FF + /// (light variant) ![](https://dummyimage.com/48x18/FFB2D2.png&text=+) Hex value: FFB2D2FF + case accentLabel2 + + /// AccentLabel 3 + /// (dark variant) ![](https://dummyimage.com/48x18/BA066C.png&text=+) Hex value: BA066CFF + /// (light variant) ![](https://dummyimage.com/48x18/FECBDA.png&text=+) Hex value: FECBDAFF + case accentLabel3 + + /// AccentLabel 4 + /// (dark variant) ![](https://dummyimage.com/48x18/A100C2.png&text=+) Hex value: A100C2FF + /// (light variant) ![](https://dummyimage.com/48x18/FFAFED.png&text=+) Hex value: FFAFEDFF + case accentLabel4 + + /// AccentLabel 5 + /// (dark variant) ![](https://dummyimage.com/48x18/470CED.png&text=+) Hex value: 470CEDFF + /// (light variant) ![](https://dummyimage.com/48x18/D3B6FF.png&text=+) Hex value: D3B6FFFF + case accentLabel5 + + /// AccentLabel 6 + /// (dark variant) ![](https://dummyimage.com/48x18/0057D2.png&text=+) Hex value: 0057D2FF + /// (light variant) ![](https://dummyimage.com/48x18/A6E0FF.png&text=+) Hex value: A6E0FFFF + case accentLabel6 + + /// AccentLabel 7 + /// (dark variant) ![](https://dummyimage.com/48x18/046C7A.png&text=+) Hex value: 046C7AFF + /// (light variant) ![](https://dummyimage.com/48x18/64EDD2.png&text=+) Hex value: 64EDD2FF + case accentLabel7 + + /// AccentLabel 8 + /// (dark variant) ![](https://dummyimage.com/48x18/256F3A.png&text=+) Hex value: 256F3AFF + /// (light variant) ![](https://dummyimage.com/48x18/BDE986.png&text=+) Hex value: BDE986FF + case accentLabel8 + + /// AccentLabel 9 + /// (dark variant) ![](https://dummyimage.com/48x18/6C32A9.png&text=+) Hex value: 6C32A9FF + /// (light variant) ![](https://dummyimage.com/48x18/D0B8EA.png&text=+) Hex value: D0B8EAFF + case accentLabel9 + + /// AccentLabel 10 + /// (dark variant) ![](https://dummyimage.com/48x18/354A5F.png&text=+) Hex value: 354A5FFF + /// (light variant) ![](https://dummyimage.com/48x18/D5DADD.png&text=+) Hex value: D5DADDFF + case accentLabel10 + + /// AccentBackground 1 + /// (dark variant) ![](https://dummyimage.com/48x18/FFF3B8.png&text=+) Hex value: FFF3B8FF + /// (light variant) ![](https://dummyimage.com/48x18/8D2A00.png&text=+) Hex value: 8D2A00FF + case accentBackground1 + + /// AccentBackground 2 + /// (dark variant) ![](https://dummyimage.com/48x18/FFD5EA.png&text=+) Hex value: FFD5EAFF + /// (light variant) ![](https://dummyimage.com/48x18/840606.png&text=+) Hex value: 840606FF + case accentBackground2 + + /// AccentBackground 3 + /// (dark variant) ![](https://dummyimage.com/48x18/FFDCE8.png&text=+) Hex value: FFDCE8FF + /// (light variant) ![](https://dummyimage.com/48x18/9B015D.png&text=+) Hex value: 9B015DFF + case accentBackground3 + + /// AccentBackground 4 + /// (dark variant) ![](https://dummyimage.com/48x18/FFDCF3.png&text=+) Hex value: FFDCF3FF + /// (light variant) ![](https://dummyimage.com/48x18/7800A4.png&text=+) Hex value: 7800A4FF + case accentBackground4 + + /// AccentBackground 5 + /// (dark variant) ![](https://dummyimage.com/48x18/E2D8FF.png&text=+) Hex value: E2D8FFFF + /// (light variant) ![](https://dummyimage.com/48x18/2C13AD.png&text=+) Hex value: 2C13ADFF + case accentBackground5 + + /// AccentBackground 6 + /// (dark variant) ![](https://dummyimage.com/48x18/D1EFFF.png&text=+) Hex value: D1EFFFFF + /// (light variant) ![](https://dummyimage.com/48x18/0040B0.png&text=+) Hex value: 0040B0FF + case accentBackground6 + + /// AccentBackground 7 + /// (dark variant) ![](https://dummyimage.com/48x18/C2FCEE.png&text=+) Hex value: C2FCEEFF + /// (light variant) ![](https://dummyimage.com/48x18/035663.png&text=+) Hex value: 035663FF + case accentBackground7 + + /// AccentBackground 8 + /// (dark variant) ![](https://dummyimage.com/48x18/EBF5CB.png&text=+) Hex value: EBF5CBFF + /// (light variant) ![](https://dummyimage.com/48x18/1E592F.png&text=+) Hex value: 1E592FFF + case accentBackground8 + + /// AccentBackground 9 + /// (dark variant) ![](https://dummyimage.com/48x18/DDCCF0.png&text=+) Hex value: DDCCF0FF + /// (light variant) ![](https://dummyimage.com/48x18/511F89.png&text=+) Hex value: 511F89FF + case accentBackground9 + + /// AccentBackground 10 + /// (dark variant) ![](https://dummyimage.com/48x18/EAECEE.png&text=+) Hex value: EAECEEFF + /// (light variant) ![](https://dummyimage.com/48x18/223548.png&text=+) Hex value: 223548FF + case accentBackground10 + // MARK: - Shadow Colors (2 Colors) /// Card Shadow @@ -449,12 +704,12 @@ public enum ColorStyle: String, CaseIterable { /// Standard color for primary fill. /// (dark variant - normal) ![](https://dummyimage.com/48x18/FFFFFF.png&text=+) Hex value: FFFFFFFF - /// (light variant - normal) ![](https://dummyimage.com/48x18/223548.png&text=+) Hex value: 223548FF + /// (light variant - normal) ![](https://dummyimage.com/48x18/8396A8.png&text=+) Hex value: 8396A8FF case primaryFill /// Standard color for secondary fill. /// (dark variant - normal) ![](https://dummyimage.com/48x18/5B738B.png&text=+) Hex value: 5B738B0F - /// (light variant - normal) ![](https://dummyimage.com/48x18/8396A8.png&text=+) Hex value: 8396A81F + /// (light variant - normal) ![](https://dummyimage.com/48x18/8396A8.png&text=+) Hex value: 8396A833 case secondaryFill /// Standard color for tertiary fill. @@ -490,17 +745,17 @@ public enum ColorStyle: String, CaseIterable { /// Semantic color for "negative" (bad) label, with light and dark color variants. /// (dark variant - normal) ![](https://dummyimage.com/48x18/D20A0A.png&text=+) Hex color: #D20A0AFF - /// (light variant - normal) ![](https://dummyimage.com/48x18/FF5C77.png&text=+) Hex color: #FF5C77FF + /// (light variant - normal) ![](https://dummyimage.com/48x18/FF8CB2.png&text=+) Hex color: #FF8CB2FF case negativeLabel /// Semantic color for "positive" (good) label, with light and dark color variants. - /// (dark variant - normal) ![](https://dummyimage.com/48x18/256F3A.png&text=+) Hex color: #256F3AFF - /// (light variant - normal) ![](https://dummyimage.com/48x18/5DC122.png&text=+) Hex color: #5DC122FF + /// (dark variant - normal) ![](https://dummyimage.com/48x18/256F3A.png&text=+) Hex value: 256F3AFF + /// (light variant - normal) ![](https://dummyimage.com/48x18/97DD40.png&text=+) Hex value: 97DD40FF case positiveLabel /// Semantic color for "critical" (risky) label, with light and dark color variants. - /// (dark variant - normal) ![](https://dummyimage.com/48x18/A93E00.png&text=+) Hex color: #A93E00FF - /// (light variant - normal) ![](https://dummyimage.com/48x18/F58B00.png&text=+) Hex color: #C35500FF + /// (dark variant - normal) ![](https://dummyimage.com/48x18/C35500.png&text=+) Hex value: C35500FF + /// (light variant - normal) ![](https://dummyimage.com/48x18/FFC933.png&text=+) Hex value: FFC933FF case criticalLabel /// Semantic color for "negative" (bad) background, with light and dark color variants. @@ -569,63 +824,126 @@ public enum ColorStyle: String, CaseIterable { // MARK: - Chart Colors (13 Styles) - /// Standard text color, with variants for light and dark color variants. - /// Use `UIColor.preferredFioriColor(forStyle: background:)` to select appropriate variant. - /// (dark variant) ![](https://dummyimage.com/48x18/5899DA.png&text=+) Hex color: 5899DA - /// (light variant) ![](https://dummyimage.com/48x18/74B3F0.png&text=+) Hex color: 74B3F0 + /// Chart 1 + /// (dark variant) ![](https://dummyimage.com/48x18/5899DA.png&text=+) Hex value: 5899DA + /// (light variant) ![](https://dummyimage.com/48x18/74B3F0.png&text=+) Hex value: 74B3F0 case chart1 - /// ![](https://dummyimage.com/48x18/E8743B.png&text=+) Hex color: E8743B + + /// Chart 2 + /// (dark variant) ![](https://dummyimage.com/48x18/E8743B.png&text=+) Hex value: E8743B + /// (light variant) ![](https://dummyimage.com/48x18/E8743B.png&text=+) Hex value: E8743B case chart2 - /// ![](https://dummyimage.com/48x18/19A979.png&text=+) Hex color: 19A979 + + /// Chart 3 + /// (dark variant) ![](https://dummyimage.com/48x18/19A979.png&text=+) Hex value: 19A979 + /// (light variant) ![](https://dummyimage.com/48x18/19A979.png&text=+) Hex value: 19A979 case chart3 - /// ![](https://dummyimage.com/48x18/ED4A7B.png&text=+) Hex color: ED4A7B + + /// Chart 4 + /// (dark variant) ![](https://dummyimage.com/48x18/ED4A7B.png&text=+) Hex value: ED4A7B + /// (light variant) ![](https://dummyimage.com/48x18/ED4A7B.png&text=+) Hex value: ED4A7B case chart4 - /// ![](https://dummyimage.com/48x18/945ECF.png&text=+) Hex color: 945ECF + + /// Chart 5 + /// (dark variant) ![](https://dummyimage.com/48x18/945ECF.png&text=+) Hex value: 945ECF + /// (light variant) ![](https://dummyimage.com/48x18/945ECF.png&text=+) Hex value: 945ECF case chart5 - /// ![](https://dummyimage.com/48x18/13A4B4.png&text=+) Hex color: 13A4B4 + + /// Chart 6 + /// (dark variant) ![](https://dummyimage.com/48x18/13A4B4.png&text=+) Hex value: 13A4B4 + /// (light variant) ![](https://dummyimage.com/48x18/13A4B4.png&text=+) Hex value: 13A4B4 case chart6 - /// ![](https://dummyimage.com/48x18/525DF4.png&text=+) Hex color: 525DF4 + + /// Chart 7 + /// (dark variant) ![](https://dummyimage.com/48x18/525DF4.png&text=+) Hex value: 525DF4 + /// (light variant) ![](https://dummyimage.com/48x18/5C66F5.png&text=+) Hex value: 5C66F5 case chart7 - /// ![](https://dummyimage.com/48x18/BF399E.png&text=+) Hex color: BF399E + + /// Chart 8 + /// (dark variant) ![](https://dummyimage.com/48x18/BF399E.png&text=+) Hex value: BF399E + /// (light variant) ![](https://dummyimage.com/48x18/C63FA4.png&text=+) Hex value: C63FA4 case chart8 - /// ![](https://dummyimage.com/48x18/6C8893.png&text=+) Hex color: 6C8893 + + /// Chart 9 + /// (dark variant) ![](https://dummyimage.com/48x18/6C8893.png&text=+) Hex value: 6C8893 + /// (light variant) ![](https://dummyimage.com/48x18/6C8893.png&text=+) Hex value: 6C8893 case chart9 - /// ![](https://dummyimage.com/48x18/EE6868.png&text=+) Hex color: EE6868 + + /// Chart 10 + /// (dark variant) ![](https://dummyimage.com/48x18/EE6868.png&text=+) Hex value: EE6868 + /// (light variant) ![](https://dummyimage.com/48x18/EE6868.png&text=+) Hex value: EE6868 case chart10 - /// ![](https://dummyimage.com/48x18/2F6497.png&text=+) Hex color: 2F6497 + + /// Chart 11 + /// (dark variant) ![](https://dummyimage.com/48x18/2F6497.png&text=+) Hex value: 2F6497 + /// (light variant) ![](https://dummyimage.com/48x18/387BB7.png&text=+) Hex value: 387BB7 case chart11 - /// Semantic stroke color for line when stock goes up. - /// (light variant) ![](https://dummyimage.com/48x18/19A979.png&text=+) Hex color: 19A979 + /// StockUpStroke + /// (dark variant) ![](https://dummyimage.com/48x18/19A979.png&text=+) Hex value: 19A979 + /// (light variant) ![](https://dummyimage.com/48x18/19A979.png&text=+) Hex value: 19A979 case stockUpStroke - /// Semantic stroke color for line when stock goes down. - /// (light variant) ![](https://dummyimage.com/48x18/AB2217.png&text=+) Hex color: AB2217 + /// StockDownStroke + /// (dark variant) ![](https://dummyimage.com/48x18/EE6868.png&text=+) Hex value: EE6868 + /// (light variant) ![](https://dummyimage.com/48x18/EE6868.png&text=+) Hex value: EE6868 case stockDownStroke // MARK: - Map Colors (11 Styles) - /// ![](https://dummyimage.com/48x18/2E4A62.png&text=+) Hex color: 2E4A62 + /// Map 1 + /// (dark variant) ![](https://dummyimage.com/48x18/2E4A62.png&text=+) Hex value: 2E4A62 + /// (light variant) ![](https://dummyimage.com/48x18/2E4A62.png&text=+) Hex value: 2E4A62 case map1 - /// ![](https://dummyimage.com/48x18/56840E.png&text=+) Hex color: 56840E + + /// Map 2 + /// (dark variant) ![](https://dummyimage.com/48x18/56840E.png&text=+) Hex value: 56840E + /// (light variant) ![](https://dummyimage.com/48x18/56840E.png&text=+) Hex value: 56840E case map2 - /// ![](https://dummyimage.com/48x18/A63788.png&text=+) Hex color: A63788 + + /// Map 3 + /// (dark variant) ![](https://dummyimage.com/48x18/A63788.png&text=+) Hex value: A63788 + /// (light variant) ![](https://dummyimage.com/48x18/A63788.png&text=+) Hex value: A63788 case map3 - /// ![](https://dummyimage.com/48x18/0079C6.png&text=+) Hex color: 0079C6 + + /// Map 4 + /// (dark variant) ![](https://dummyimage.com/48x18/0079C6.png&text=+) Hex value: 0079C6 + /// (light variant) ![](https://dummyimage.com/48x18/0079C6.png&text=+) Hex value: 0079C6 case map4 - /// ![](https://dummyimage.com/48x18/6B4EA0.png&text=+) Hex color: 6B4EA0 + + /// Map 5 + /// (dark variant) ![](https://dummyimage.com/48x18/6B4EA0.png&text=+) Hex value: 6B4EA0 + /// (light variant) ![](https://dummyimage.com/48x18/6B4EA0.png&text=+) Hex value: 6B4EA0 case map5 - /// ![](https://dummyimage.com/48x18/A16B00.png&text=+) Hex color: A16B00 + + /// Map 6 + /// (dark variant) ![](https://dummyimage.com/48x18/A16B00.png&text=+) Hex value: A16B00 + /// (light variant) ![](https://dummyimage.com/48x18/A16B00.png&text=+) Hex value: A16B00 case map6 - /// ![](https://dummyimage.com/48x18/0B6295.png&text=+) Hex color: 0B6295 + + /// Map 7 + /// (dark variant) ![](https://dummyimage.com/48x18/0B6295.png&text=+) Hex value: 0B6295 + /// (light variant) ![](https://dummyimage.com/48x18/0B6295.png&text=+) Hex value: 0B6295 case map7 - /// ![](https://dummyimage.com/48x18/D0R774.png&text=+) Hex color: D0R774 + + /// Map 8 + /// (dark variant) ![](https://dummyimage.com/48x18/D0R774.png&text=+) Hex value: D0R774 + /// (light variant) ![](https://dummyimage.com/48x18/D0R774.png&text=+) Hex value: D0R774 case map8 - /// ![](https://dummyimage.com/48x18/1C857A.png&text=+) Hex color: 1C857A + + /// Map 9 + /// (dark variant) ![](https://dummyimage.com/48x18/1C857A.png&text=+) Hex value: 1C857A + /// (light variant) ![](https://dummyimage.com/48x18/1C857A.png&text=+) Hex value: 1C857A case map9 - /// ![](https://dummyimage.com/48x18/C45300.png&text=+) Hex color: C45300 + + /// Map 10 + /// (dark variant) ![](https://dummyimage.com/48x18/C45300.png&text=+) Hex value: C45300 + /// (light variant) ![](https://dummyimage.com/48x18/C45300.png&text=+) Hex value: C45300 case map10 - /// ![](https://dummyimage.com/48x18/1B6DD2.png&text=+) Hex color: 1B6DD2 + + /// EsriEdit + /// (dark variant) ![](https://dummyimage.com/48x18/1B6DD2.png&text=+) Hex value: 1B6DD2 + /// (light variant) ![](https://dummyimage.com/48x18/FFF114.png&text=+) Hex value: FFF114 case esriEdit // MARK: - Deprecated Basic Colors @@ -813,7 +1131,7 @@ public enum ColorStyle: String, CaseIterable { @available(*, deprecated, renamed: "grey4") case accent10b - // MARK: - Deprecated Colors Since Fiori Palette V5 + // MARK: - Deprecated Colors Since Fiori FUIPalette V5 /// Standard background color for `UINavigationBar`. /// (dark variant) ![](https://dummyimage.com/48x18/354A5F.png&text=+) Hex value: 354A5F @@ -834,22 +1152,33 @@ public enum ColorStyle: String, CaseIterable { case backgroundBase public static var allCases: [ColorStyle] = [.grey1, .grey2, .grey3, .grey4, .grey5, .grey6, - .grey7, .grey8, .grey9, .blue1, .blue2, .blue3, - .blue4, .blue5, .blue6, .blue7, .blue8, .blue9, - .teal1, .teal2, .teal3, .teal4, .teal5, .teal6, - .teal7, .teal8, .teal9, .green1, .green2, .green3, + .grey7, .grey8, .grey9, .grey10, .grey11, .blue1, + .blue2, .blue3, .blue4, .blue5, .blue6, .blue7, + .blue8, .blue9, .blue10, .blue11, .teal1, .teal2, + .teal3, .teal4, .teal5, .teal6, .teal7, .teal8, + .teal9, .teal10, .teal11, .green1, .green2, .green3, .green4, .green5, .green6, .green7, .green8, .green9, - .mango1, .mango2, .mango3, .mango4, .mango5, .mango6, - .mango7, .mango8, .mango9, .red1, .red2, .red3, - .red4, .red5, .red6, .red7, .red8, .red9, .pink1, - .pink2, .pink3, .pink4, .pink5, .pink6, .pink7, - .pink8, .pink9, .indigo1, .indigo2, .indigo3, .indigo4, - .indigo5, .indigo6, .indigo7, .indigo8, .indigo9, - .baseWhite, .baseBlack, .cardShadow, .sectionShadow, - .primaryGroupedBackground, .secondaryGroupedBackground, - .tertiaryGroupedBackground, .primaryBackground, - .secondaryBackground, .tertiaryBackground, .primaryLabel, - .secondaryLabel, .tertiaryLabel, .quarternaryLabel, + .green10, .green11, .mango1, .mango2, .mango3, .mango4, + .mango5, .mango6, .mango7, .mango8, .mango9, .mango10, + .mango11, .red1, .red2, .red3, .red4, .red5, .red6, + .red7, .red8, .red9, .red10, .red11, .pink1, .pink2, + .pink3, .pink4, .pink5, .pink6, .pink7, .pink8, .pink9, + .pink10, .pink11, .raspberry1, .raspberry2, .raspberry3, + .raspberry4, .raspberry5, .raspberry6, .raspberry7, + .raspberry8, .raspberry9, .raspberry10, .raspberry11, + .indigo1, .indigo2, .indigo3, .indigo4, .indigo5, + .indigo6, .indigo7, .indigo8, .indigo9, .indigo10, + .indigo11, .baseWhite, .baseBlack, .base1, .base2, + .accentLabel1, .accentLabel2, .accentLabel3, .accentLabel4, + .accentLabel5, .accentLabel6, .accentLabel7, .accentLabel8, + .accentLabel9, .accentLabel10, .accentBackground1, + .accentBackground2, .accentBackground3, .accentBackground4, + .accentBackground5, .accentBackground6, .accentBackground7, + .accentBackground8, .accentBackground9, .accentBackground10, + .cardShadow, .sectionShadow, .primaryGroupedBackground, + .secondaryGroupedBackground, .tertiaryGroupedBackground, + .primaryBackground, .secondaryBackground, .tertiaryBackground, + .primaryLabel, .secondaryLabel, .tertiaryLabel, .quarternaryLabel, .primaryFill, .secondaryFill, .tertiaryFill, .quarternaryFill, .tintColor, .tintColor2, .tintColorTapState, .negativeLabel, .positiveLabel, .criticalLabel, .negativeBackground, @@ -859,5 +1188,5 @@ public enum ColorStyle: String, CaseIterable { .chart1, .chart2, .chart3, .chart4, .chart5, .chart6, .chart7, .chart8, .chart9, .chart10, .chart11, .stockUpStroke, .stockDownStroke, .map1, .map2, .map3, .map4, .map5, - .map6, .map7, .map8, map9, .map10, .esriEdit] + .map6, .map7, .map8, .map9, .map10, .esriEdit] } diff --git a/Sources/FioriThemeManager/Palettes/PaletteV7.swift b/Sources/FioriThemeManager/Palettes/PaletteV7.swift new file mode 100644 index 000000000..8323c26c7 --- /dev/null +++ b/Sources/FioriThemeManager/Palettes/PaletteV7.swift @@ -0,0 +1,212 @@ +import Foundation + +struct PaletteV7: PaletteProvider { + /// :nodoc: + public let uuid = UUID() + + /// :nodoc: + public static let `default` = Palette(PaletteV7()) + + let version: PaletteVersion = .v7 + + private init() {} + + public var colorDefinitions: [ColorStyle: HexColor] = [ + .grey1: HexColor(lightColor: "12171CFF", darkColor: "F5F6F7FF", contrastLightColor: "1C242BFF", contrastDarkColor: "EAECEEFF"), + .grey2: HexColor(lightColor: "1A2733FF", darkColor: "EAECEEFF", contrastLightColor: "22313FFF", contrastDarkColor: "D5DADDFF"), + .grey3: HexColor(lightColor: "223548FF", darkColor: "D5DADDFF", contrastLightColor: "2B3E4FFF", contrastDarkColor: "A9B4BEFF"), + .grey4: HexColor(lightColor: "354A5FFF", darkColor: "A9B4BEFF", contrastLightColor: "364D63FF", contrastDarkColor: "96A6B5FF"), + .grey5: HexColor(lightColor: "475E75FF", darkColor: "8396A8FF", contrastLightColor: "3F5A73FF", contrastDarkColor: "8799ABFF"), + .grey6: HexColor(lightColor: "5B738BFF", darkColor: "5B738BFF", contrastLightColor: "5B738BFF", contrastDarkColor: "5B738BFF"), + .grey7: HexColor(lightColor: "8396A8FF", darkColor: "475E75FF", contrastLightColor: "A5B0BBFF", contrastDarkColor: "354A5FFF"), + .grey8: HexColor(lightColor: "A9B4BEFF", darkColor: "354A5FFF", contrastLightColor: "C0C9CEFF", contrastDarkColor: "223548FF"), + .grey9: HexColor(lightColor: "D5DADDFF", darkColor: "223548FF", contrastLightColor: "D7DBE0FF", contrastDarkColor: "1A2733FF"), + .grey10: HexColor(lightColor: "EAECEEFF", darkColor: "1A2733FF", contrastLightColor: "E8EBEDFF", contrastDarkColor: "12171CFF"), + .grey11: HexColor(lightColor: "F5F6F7FF", darkColor: "12171CFF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "000000FF"), + .red1: HexColor(lightColor: "350000FF", darkColor: "FFEAF4FF", contrastLightColor: "470000FF", contrastDarkColor: "FFE0F0FF"), + .red2: HexColor(lightColor: "5A0404FF", darkColor: "FFD5EAFF", contrastLightColor: "5D0404FF", contrastDarkColor: "FFBDD8FF"), + .red3: HexColor(lightColor: "840606FF", darkColor: "FFB2D2FF", contrastLightColor: "790606FF", contrastDarkColor: "FF99BBFF"), + .red4: HexColor(lightColor: "AA0808FF", darkColor: "FF8CB2FF", contrastLightColor: "970707FF", contrastDarkColor: "FF7596FF"), + .red5: HexColor(lightColor: "D20A0AFF", darkColor: "FF5C77FF", contrastLightColor: "B40808FF", contrastDarkColor: "FF5C77FF"), + .red6: HexColor(lightColor: "EE3939FF", darkColor: "EE3939FF", contrastLightColor: "D20A0AFF", contrastDarkColor: "D20A0AFF"), + .red7: HexColor(lightColor: "FF5C77FF", darkColor: "D20A0AFF", contrastLightColor: "FF8AB9FF", contrastDarkColor: "9C0707FF"), + .red8: HexColor(lightColor: "FF8CB2FF", darkColor: "AA0808FF", contrastLightColor: "FFADD1FF", contrastDarkColor: "7F0505FF"), + .red9: HexColor(lightColor: "FFB2D2FF", darkColor: "840606FF", contrastLightColor: "FFD5EAFF", contrastDarkColor: "4E0303FF"), + .red10: HexColor(lightColor: "FFD5EAFF", darkColor: "5A0404FF", contrastLightColor: "FFEAF4FF", contrastDarkColor: "350000FF"), + .red11: HexColor(lightColor: "FFEAF4FF", darkColor: "350000FF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "000000FF"), + .mango1: HexColor(lightColor: "450B00FF", darkColor: "FFF8D6FF", contrastLightColor: "470B00FF", contrastDarkColor: "FFF3B8FF"), + .mango2: HexColor(lightColor: "6D1900FF", darkColor: "FFF3B8FF", contrastLightColor: "611600FF", contrastDarkColor: "FFE17AFF"), + .mango3: HexColor(lightColor: "8D2A00FF", darkColor: "FFDF72FF", contrastLightColor: "7A2400FF", contrastDarkColor: "FFCB52FF"), + .mango4: HexColor(lightColor: "A93E00FF", darkColor: "FFC933FF", contrastLightColor: "853100FF", contrastDarkColor: "FFAB24FF"), + .mango5: HexColor(lightColor: "C35500FF", darkColor: "F58F00FF", contrastLightColor: "993800FF", contrastDarkColor: "DB8000FF"), + .mango6: HexColor(lightColor: "E76500FF", darkColor: "E76500FF", contrastLightColor: "C35500FF", contrastDarkColor: "C35500FF"), + .mango7: HexColor(lightColor: "FFB300FF", darkColor: "C35500FF", contrastLightColor: "EBA500FF", contrastDarkColor: "853100FF"), + .mango8: HexColor(lightColor: "FFC933FF", darkColor: "6D1900FF", contrastLightColor: "FFD972FF", contrastDarkColor: "702100FF"), + .mango9: HexColor(lightColor: "FFDF72FF", darkColor: "8D2A00FF", contrastLightColor: "FFEDADFF", contrastDarkColor: "450B00FF"), + .mango10: HexColor(lightColor: "FFF3B8FF", darkColor: "6D1900FF", contrastLightColor: "FFF8D6FF", contrastDarkColor: "290700FF"), + .mango11: HexColor(lightColor: "FFF8D6FF", darkColor: "450B00FF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "000000FF"), + .green1: HexColor(lightColor: "0E2B16FF", darkColor: "F5FAE5FF", contrastLightColor: "0D2614FF", contrastDarkColor: "EAF4C7FF"), + .green2: HexColor(lightColor: "164323FF", darkColor: "EBF5CBFF", contrastLightColor: "12361CFF", contrastDarkColor: "B6E779FF"), + .green3: HexColor(lightColor: "1E592FFF", darkColor: "BDE986FF", contrastLightColor: "184826FF", contrastDarkColor: "93DC38FF"), + .green4: HexColor(lightColor: "256F3AFF", darkColor: "97DD40FF", contrastLightColor: "1D5827FF", contrastDarkColor: "66D425FF"), + .green5: HexColor(lightColor: "188918FF", darkColor: "5DC122FF", contrastLightColor: "216326FF", contrastDarkColor: "56B21FFF"), + .green6: HexColor(lightColor: "36A41DFF", darkColor: "36A41DFF", contrastLightColor: "188918FF", contrastDarkColor: "188918FF"), + .green7: HexColor(lightColor: "5DC122FF", darkColor: "188918FF", contrastLightColor: "60C723FF", contrastDarkColor: "1C542CFF"), + .green8: HexColor(lightColor: "97DD40FF", darkColor: "256F3AFF", contrastLightColor: "BDE986FF", contrastDarkColor: "164323FF"), + .green9: HexColor(lightColor: "BDE986FF", darkColor: "1E592FFF", contrastLightColor: "E1F0B2FF", contrastDarkColor: "0E2B16FF"), + .green10: HexColor(lightColor: "EBF5CBFF", darkColor: "450B00FF", contrastLightColor: "F5FAE5FF", contrastDarkColor: "091B0EFF"), + .green11: HexColor(lightColor: "F5FAE5FF", darkColor: "363636FF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "000000FF"), + .teal1: HexColor(lightColor: "012931FF", darkColor: "DAFDF5FF", contrastLightColor: "01262DFF", contrastDarkColor: "C2FCEEFF"), + .teal2: HexColor(lightColor: "02414CFF", darkColor: "C2FCEEFF", contrastLightColor: "023741FF", contrastDarkColor: "84F1DBFF"), + .teal3: HexColor(lightColor: "035663FF", darkColor: "64EDD2FF", contrastLightColor: "02454FFF", contrastDarkColor: "3BE2C4FF"), + .teal4: HexColor(lightColor: "046C7AFF", darkColor: "2CE0BFFF", contrastLightColor: "03535EFF", contrastDarkColor: "1ECDB2FF"), + .teal5: HexColor(lightColor: "07838FFF", darkColor: "00CEACFF", contrastLightColor: "04606DFF", contrastDarkColor: "00B295FF"), + .teal6: HexColor(lightColor: "049F9AFF", darkColor: "049F9AFF", contrastLightColor: "07838FFF", contrastDarkColor: "07838FFF"), + .teal7: HexColor(lightColor: "00CEACFF", darkColor: "07838FFF", contrastLightColor: "00C7C0FF", contrastDarkColor: "03535EFF"), + .teal8: HexColor(lightColor: "2CE0BFFF", darkColor: "046C7AFF", contrastLightColor: "64EDD2FF", contrastDarkColor: "02414CFF"), + .teal9: HexColor(lightColor: "64EDD2FF", darkColor: "035663FF", contrastLightColor: "A8FBE7FF", contrastDarkColor: "012931FF"), + .teal10: HexColor(lightColor: "C2FCEEFF", darkColor: "02414CFF", contrastLightColor: "DAFDF5FF", contrastDarkColor: "01191EFF"), + .teal11: HexColor(lightColor: "DAFDF5FF", darkColor: "002A86FF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "000000FF"), + .blue1: HexColor(lightColor: "00144AFF", darkColor: "EBF8FFFF", contrastLightColor: "001A61FF", contrastDarkColor: "D1EFFFFF"), + .blue2: HexColor(lightColor: "002A86FF", darkColor: "D1EFFFFF", contrastLightColor: "002880FF", contrastDarkColor: "A6E0FFFF"), + .blue3: HexColor(lightColor: "0040B0FF", darkColor: "A6E0FFFF", contrastLightColor: "003899FF", contrastDarkColor: "#7ACBFFFF"), + .blue4: HexColor(lightColor: "0057D2FF", darkColor: "89D1FFFF", contrastLightColor: "0046A8FF", contrastDarkColor: "5CB7FFFF"), + .blue5: HexColor(lightColor: "0070F2FF", darkColor: "4DB1FFFF", contrastLightColor: "0051C2FF", contrastDarkColor: "3399FFFF"), + .blue6: HexColor(lightColor: "1B90FFFF", darkColor: "1B90FFFF", contrastLightColor: "0070F2FF", contrastDarkColor: "0070F2FF"), + .blue7: HexColor(lightColor: "4DB1FFFF", darkColor: "0070F2FF", contrastLightColor: "57B5FFFF", contrastDarkColor: "0046A8FF"), + .blue8: HexColor(lightColor: "89D1FFFF", darkColor: "0057D2FF", contrastLightColor: "A6E0FFFF", contrastDarkColor: "002A86FF"), + .blue9: HexColor(lightColor: "A6E0FFFF", darkColor: "0040B0FF", contrastLightColor: "CCEDFFFF", contrastDarkColor: "001E70FF"), + .blue10: HexColor(lightColor: "D1EFFFFF", darkColor: "002A86FF", contrastLightColor: "EBF8FFFF", contrastDarkColor: "00144AFF"), + .blue11: HexColor(lightColor: "EBF8FFFF", darkColor: "00144AFF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "000000FF"), + .indigo1: HexColor(lightColor: "0E0637FF", darkColor: "F1ECFFFF", contrastLightColor: "1A0B65FF", contrastDarkColor: "ECE5FFFF"), + .indigo2: HexColor(lightColor: "1C0C6EFF", darkColor: "E2D8FFFF", contrastLightColor: "230F8AFF", contrastDarkColor: "DDC7FFFF"), + .indigo3: HexColor(lightColor: "2C13ADFF", darkColor: "D3B6FFFF", contrastLightColor: "2C13ADFF", contrastDarkColor: "C2A3FFFF"), + .indigo4: HexColor(lightColor: "470CEDFF", darkColor: "B894FFFF", contrastLightColor: "3F0BD1FF", contrastDarkColor: "AD8FFFFF"), + .indigo5: HexColor(lightColor: "5D36FFFF", darkColor: "9B76FFFF", contrastLightColor: "5720F4FF", contrastDarkColor: "A081F9FF"), + .indigo6: HexColor(lightColor: "7858FFFF", darkColor: "7858FFFF", contrastLightColor: "7F55F6FF", contrastDarkColor: "7F55F6FF"), + .indigo7: HexColor(lightColor: "9B76FFFF", darkColor: "5D36FFFF", contrastLightColor: "B9A3FBFF", contrastDarkColor: "440CE4FF"), + .indigo8: HexColor(lightColor: "B894FFFF", darkColor: "470CEDFF", contrastLightColor: "D3B6FFFF", contrastDarkColor: "28119CFF"), + .indigo9: HexColor(lightColor: "D3B6FFFF", darkColor: "2C13ADFF", contrastLightColor: "DDD1FFFF", contrastDarkColor: "1A0B65FF"), + .indigo10: HexColor(lightColor: "E2D8FFFF", darkColor: "1C0C6EFF", contrastLightColor: "F1ECFFFF", contrastDarkColor: "0E0637FF"), + .indigo11: HexColor(lightColor: "F1ECFFFF", darkColor: "0E0637FF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "000000FF"), + .pink1: HexColor(lightColor: "28004AFF", darkColor: "FFF0FAFF", contrastLightColor: "340061FF", contrastDarkColor: "FFE0F5FF"), + .pink2: HexColor(lightColor: "510080FF", darkColor: "FFDCF3FF", contrastLightColor: "4D007AFF", contrastDarkColor: "FFB8EFFF"), + .pink3: HexColor(lightColor: "7800A4FF", darkColor: "FFAFEDFF", contrastLightColor: "65008AFF", contrastDarkColor: "FF99F2FF"), + .pink4: HexColor(lightColor: "A100C2FF", darkColor: "FF8AF0FF", contrastLightColor: "7F0099FF", contrastDarkColor: "F87CF5FF"), + .pink5: HexColor(lightColor: "CC00DCFF", darkColor: "F65AF2FF", contrastLightColor: "9400B2FF", contrastDarkColor: "F65AF2FF"), + .pink6: HexColor(lightColor: "F31DEDFF", darkColor: "F31DEDFF", contrastLightColor: "CC00DCFF", contrastDarkColor: "CC00DCFF"), + .pink7: HexColor(lightColor: "F65AF2FF", darkColor: "CC00DCFF", contrastLightColor: "F881F5FF", contrastDarkColor: "7F0099FF"), + .pink8: HexColor(lightColor: "FF8AF0FF", darkColor: "A100C2FF", contrastLightColor: "FFA3EEFF", contrastDarkColor: "510080FF"), + .pink9: HexColor(lightColor: "FFAFEDFF", darkColor: "7800A4FF", contrastLightColor: "FFD1EFFF", contrastDarkColor: "410066FF"), + .pink10: HexColor(lightColor: "FFDCF3FF", darkColor: "510080FF", contrastLightColor: "FFF0FAFF", contrastDarkColor: "240042FF"), + .pink11: HexColor(lightColor: "FFF0FAFF", darkColor: "28004AFF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "000000FF"), + .raspberry1: HexColor(lightColor: "510136FF", darkColor: "FFF0F5FF", contrastLightColor: "41012CFF", contrastDarkColor: "FFE5EEFF"), + .raspberry2: HexColor(lightColor: "71014BFF", darkColor: "FFDCE8FF", contrastLightColor: "600140FF", contrastDarkColor: "FFC2D7FF"), + .raspberry3: HexColor(lightColor: "9B015DFF", darkColor: "FECBDAFF", contrastLightColor: "7F014CFF", contrastDarkColor: "FDA0BBFF"), + .raspberry4: HexColor(lightColor: "BA066CFF", darkColor: "FEADC8FF", contrastLightColor: "940556FF", contrastDarkColor: "FD81ABFF"), + .raspberry5: HexColor(lightColor: "DF1278FF", darkColor: "FE83AEFF", contrastLightColor: "AD0664FF", contrastDarkColor: "FE6299FF"), + .raspberry6: HexColor(lightColor: "FA4F96FF", darkColor: "FA4F96FF", contrastLightColor: "DF1278FF", contrastDarkColor: "E3127AFF"), + .raspberry7: HexColor(lightColor: "FE83AEFF", darkColor: "DF1278FF", contrastLightColor: "FE8B8EFF", contrastDarkColor: "8A0450FF"), + .raspberry8: HexColor(lightColor: "FEADC8FF", darkColor: "BA066CFF", contrastLightColor: "FDAAB1FF", contrastDarkColor: "71014BFF"), + .raspberry9: HexColor(lightColor: "FECBDAFF", darkColor: "9B015DFF", contrastLightColor: "FFDBE1FF", contrastDarkColor: "510136FF"), + .raspberry10: HexColor(lightColor: "FFDCE8FF", darkColor: "71014BFF", contrastLightColor: "FFF0F5FF", contrastDarkColor: "320122FF"), + .raspberry11: HexColor(lightColor: "FFF0F5FF", darkColor: "510136FF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "000000FF"), + .baseWhite: HexColor(lightColor: "FFFFFFFF", darkColor: "FFFFFFFF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "FFFFFFFF"), + .baseBlack: HexColor(lightColor: "000000FF", darkColor: "000000FF", contrastLightColor: "000000FF", contrastDarkColor: "000000FF"), + .base1: HexColor(lightColor: "FFFFFFFF", darkColor: "000000FF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "000000FF"), + .base2: HexColor(lightColor: "000000FF", darkColor: "FFFFFFFF", contrastLightColor: "000000FF", contrastDarkColor: "FFFFFFFF"), + /// Accent Colors + .accentLabel1: HexColor(lightColor: "FFDF72FF", darkColor: "A93E00FF", contrastLightColor: "FFEDADFF", contrastDarkColor: "702100FF"), + .accentLabel2: HexColor(lightColor: "FFB2D2FF", darkColor: "AA0808FF", contrastLightColor: "FFD5EAFF", contrastDarkColor: "7F0505FF"), + .accentLabel3: HexColor(lightColor: "FECBDAFF", darkColor: "BA066CFF", contrastLightColor: "FFDBE1FF", contrastDarkColor: "71014BFF"), + .accentLabel4: HexColor(lightColor: "FFAFEDFF", darkColor: "A100C2FF", contrastLightColor: "FFD1EFFF", contrastDarkColor: "510080FF"), + .accentLabel5: HexColor(lightColor: "D3B6FFFF", darkColor: "470CEDFF", contrastLightColor: "DDD1FFFF", contrastDarkColor: "28119CFF"), + .accentLabel6: HexColor(lightColor: "A6E0FFFF", darkColor: "0057D2FF", contrastLightColor: "CCEDFFFF", contrastDarkColor: "002A86FF"), + .accentLabel7: HexColor(lightColor: "64EDD2FF", darkColor: "046C7AFF", contrastLightColor: "A8FBE7FF", contrastDarkColor: "02414CFF"), + .accentLabel8: HexColor(lightColor: "BDE986FF", darkColor: "256F3AFF", contrastLightColor: "E1F0B2FF", contrastDarkColor: "164323FF"), + .accentLabel9: HexColor(lightColor: "D0B8EAFF", darkColor: "6C32A9FF", contrastLightColor: "CDB4E9FF", contrastDarkColor: "56248FFF"), + .accentLabel10: HexColor(lightColor: "D5DADDFF", darkColor: "354A5FFF", contrastLightColor: "D7DBE0FF", contrastDarkColor: "223548FF"), + .accentBackground1: HexColor(lightColor: "8D2A00FF", darkColor: "FFF3B8FF", contrastLightColor: "7A2400FF", contrastDarkColor: "FFE17AFF"), + .accentBackground2: HexColor(lightColor: "840606FF", darkColor: "FFD5EAFF", contrastLightColor: "790606FF", contrastDarkColor: "FFBDD8FF"), + .accentBackground3: HexColor(lightColor: "9B015DFF", darkColor: "FFDCE8FF", contrastLightColor: "7F014CFF", contrastDarkColor: "FFC2D7FF"), + .accentBackground4: HexColor(lightColor: "7800A4FF", darkColor: "FFDCF3FF", contrastLightColor: "65008AFF", contrastDarkColor: "FFB8EFFF"), + .accentBackground5: HexColor(lightColor: "2C13ADFF", darkColor: "E2D8FFFF", contrastLightColor: "2C13ADFF", contrastDarkColor: "DDC7FFFF"), + .accentBackground6: HexColor(lightColor: "0040B0FF", darkColor: "D1EFFFFF", contrastLightColor: "003899FF", contrastDarkColor: "A6E0FFFF"), + .accentBackground7: HexColor(lightColor: "035663FF", darkColor: "C2FCEEFF", contrastLightColor: "02454FFF", contrastDarkColor: "84F1DBFF"), + .accentBackground8: HexColor(lightColor: "1E592FFF", darkColor: "EBF5CBFF", contrastLightColor: "184826FF", contrastDarkColor: "B6E779FF"), + .accentBackground9: HexColor(lightColor: "511F89FF", darkColor: "DDCCF0FF", contrastLightColor: "401E67FF", contrastDarkColor: "E2D4F2FF"), + .accentBackground10: HexColor(lightColor: "223548FF", darkColor: "EAECEEFF", contrastLightColor: "2B3E4FFF", contrastDarkColor: "D5DADDFF"), + /// Shadow Colors + .cardShadow: HexColor(lightColor: "0000004D", darkColor: "5B738B14", contrastLightColor: "0000004D", contrastDarkColor: "47596C14"), + .sectionShadow: HexColor(lightColor: "0000003D", darkColor: "5B738B3D", contrastLightColor: "9CA9B4FF", contrastDarkColor: "47596C3D"), + /// Background Colors + .primaryBackground: HexColor(lightColor: "000000FF", darkColor: "FFFFFFFF", elevatedLightColor: "192027FF", contrastLightColor: "000000FF", contrastDarkColor: "FFFFFFFF", elevatedContrastLightColor: "1C242BFF"), + .secondaryBackground: HexColor(lightColor: "0F1216FF", darkColor: "F5F6F7FF", elevatedLightColor: "1F272FFF", contrastLightColor: "171E23FF", contrastDarkColor: "E8EBEDFF", elevatedContrastLightColor: "252E38FF"), + .tertiaryBackground: HexColor(lightColor: "161C21FF", darkColor: "FFFFFFFF", elevatedLightColor: "242E38FF", contrastLightColor: "1C242BFF", contrastDarkColor: "FFFFFFFF", elevatedContrastLightColor: "2B3541FF"), + .primaryGroupedBackground: HexColor(lightColor: "000000FF", darkColor: "F5F6F7FF", elevatedLightColor: "192027FF", contrastLightColor: "000000FF", contrastDarkColor: "E8EBEDFF", elevatedContrastLightColor: "1C242BFF"), + .secondaryGroupedBackground: HexColor(lightColor: "161C21FF", darkColor: "FFFFFFFF", elevatedLightColor: "242E38FF", contrastLightColor: "1C242BFF", contrastDarkColor: "FFFFFFFF", elevatedContrastLightColor: "2B3541FF"), + .tertiaryGroupedBackground: HexColor(lightColor: "0F1216FF", darkColor: "F5F6F7FF", elevatedLightColor: "1F272FFF", contrastLightColor: "171E23FF", contrastDarkColor: "E8EBEDFF", elevatedContrastLightColor: "252E38FF"), + /// Label Colors + .primaryLabel: HexColor(lightColor: "F5F6F7FF", darkColor: "223548FF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "000000FF"), + .secondaryLabel: HexColor(lightColor: "D5DADDFF", darkColor: "475E75FF", contrastLightColor: "EAECEEFF", contrastDarkColor: "121C26FF"), + .tertiaryLabel: HexColor(lightColor: "A9B4BEFF", darkColor: "475E75E5", contrastLightColor: "CCD2D6FF", contrastDarkColor: "344556FF"), + .quarternaryLabel: HexColor(lightColor: "8396A8FF", darkColor: "5B738BD4", contrastLightColor: "9CA9B4FF", contrastDarkColor: "47596CFF"), + /// Fill Colors + .primaryFill: HexColor(lightColor: "8396A80F", darkColor: "FFFFFFFF", contrastLightColor: "8799AB0F", contrastDarkColor: "FFFFFFFF"), + .secondaryFill: HexColor(lightColor: "8396A833", darkColor: "5B738B14", contrastLightColor: "8799AB3D", contrastDarkColor: "5B738B29"), + .tertiaryFill: HexColor(lightColor: "8396A81A", darkColor: "5B738B0A", contrastLightColor: "8799AB29", contrastDarkColor: "5B738B14"), + .quarternaryFill: HexColor(lightColor: "8396A838", darkColor: "5B738B1A", contrastLightColor: "8799AB4D", contrastDarkColor: "5B738B3D"), + /// Tint Colors + .tintColor: HexColor(lightColor: "4DB1FFFF", darkColor: "0070F2FF", contrastLightColor: "99D7FFFF", contrastDarkColor: "0046A8FF"), + .tintColor2: HexColor(lightColor: "4DB1FFFF", darkColor: "0057D2FF", contrastLightColor: "D1EFFFFF", contrastDarkColor: "0046A8FF"), + .tintColorTapState: HexColor(lightColor: "1B90FFFF", darkColor: "0040B0FF", contrastLightColor: "2E99FFFF", contrastDarkColor: "001E70FF"), + /// Semantic Colors + .negativeLabel: HexColor(lightColor: "FF8CB2FF", darkColor: "D20A0AFF", contrastLightColor: "FFC2D6FF", contrastDarkColor: "840606FF"), + .positiveLabel: HexColor(lightColor: "97DD40FF", darkColor: "256F3AFF", contrastLightColor: "A5E25AFF", contrastDarkColor: "1B502AFF"), + .criticalLabel: HexColor(lightColor: "FFC933FF", darkColor: "C35500FF", contrastLightColor: "FFDA5CFF", contrastDarkColor: "7A2D00FF"), + .negativeBackground: HexColor(lightColor: "350000FF", darkColor: "FFEAF4FF", contrastLightColor: "660505FF", contrastDarkColor: "FFE0EFFF"), + .positiveBackground: HexColor(lightColor: "0E2B16FF", darkColor: "F5FAE5FF", contrastLightColor: "13391EFF", contrastDarkColor: "EEF7D4FF"), + .criticalBackground: HexColor(lightColor: "450B00FF", darkColor: "FFF8D6FF", contrastLightColor: "5C1B00FF", contrastDarkColor: "FFF5C2FF"), + .informationBackground: HexColor(lightColor: "00144AFF", darkColor: "EBF8FFFF", contrastLightColor: "002C7AFF", contrastDarkColor: "D6F1FFFF"), + /// Separator Colors + .separator: HexColor(lightColor: "8396A85E", darkColor: "5B738B5E", contrastLightColor: "9CA9B45E", contrastDarkColor: "47596C5E"), + .separatorOpaque: HexColor(lightColor: "8396A8D4", darkColor: "5B738BD4", contrastLightColor: "9CA9B4FF", contrastDarkColor: "47596CEB"), + /// UI Materials Colors + .header: HexColor(lightColor: "161C21FF", darkColor: "FFFFFFFF", elevatedLightColor: "242E38FF", contrastLightColor: "1C242BFF", contrastDarkColor: "FFFFFFFF", elevatedContrastLightColor: "2B3541FF"), + .headerBlended: HexColor(lightColor: "161C21FF", darkColor: "FFFFFFFF", elevatedLightColor: "242E38FF", contrastLightColor: "1C242BFF", contrastDarkColor: "FFFFFFFF", elevatedContrastLightColor: "2B3541FF"), + .barTransparent: HexColor(lightColor: "111D29D9", darkColor: "111D29D9", contrastLightColor: "000000D9", contrastDarkColor: "000000D9"), + .contrastElement: HexColor(lightColor: "8396A8FF", darkColor: "5B738BFF", contrastLightColor: "9CA9B4FF", contrastDarkColor: "47596CFF"), + .footer: HexColor(lightColor: "192027FF", darkColor: "FFFFFFFF", elevatedLightColor: "26303AFF", contrastLightColor: "1C242BFF", contrastDarkColor: "FFFFFFFF", elevatedContrastLightColor: "2B3541FF"), + .cellBackground: HexColor(lightColor: "22354800", darkColor: "FFFFFF00", contrastLightColor: "00000000", contrastDarkColor: "FFFFFF00"), + /// Chart Colors + .chart1: HexColor(lightColor: "74B3F0", darkColor: "5899DA"), + .chart2: HexColor(lightColor: "E8743B", darkColor: "E8743B"), + .chart3: HexColor(lightColor: "19A979", darkColor: "19A979"), + .chart4: HexColor(lightColor: "ED4A7B", darkColor: "ED4A7B"), + .chart5: HexColor(lightColor: "945ECF", darkColor: "945ECF"), + .chart6: HexColor(lightColor: "13A4B4", darkColor: "13A4B4"), + .chart7: HexColor(lightColor: "5C66F5", darkColor: "525DF4"), + .chart8: HexColor(lightColor: "C63FA4", darkColor: "BF399E"), + .chart9: HexColor(lightColor: "6C8893", darkColor: "6C8893"), + .chart10: HexColor(lightColor: "EE6868", darkColor: "EE6868"), + .chart11: HexColor(lightColor: "387BB7", darkColor: "2F6497"), + .stockUpStroke: HexColor(lightColor: "19A979", darkColor: "19A979"), + .stockDownStroke: HexColor(lightColor: "EE6868", darkColor: "EE6868"), + /// Map Colors + .map1: HexColor(lightColor: "2E4A62", darkColor: "2E4A62"), + .map2: HexColor(lightColor: "56840E", darkColor: "56840E"), + .map3: HexColor(lightColor: "A63788", darkColor: "A63788"), + .map4: HexColor(lightColor: "0079C6", darkColor: "0079C6"), + .map5: HexColor(lightColor: "6B4EA0", darkColor: "6B4EA0"), + .map6: HexColor(lightColor: "A16B00", darkColor: "A16B00"), + .map7: HexColor(lightColor: "0B6295", darkColor: "0B6295"), + .map8: HexColor(lightColor: "D0R774", darkColor: "D0R774"), + .map9: HexColor(lightColor: "1C857A", darkColor: "1C857A"), + .map10: HexColor(lightColor: "C45300", darkColor: "C45300"), + .esriEdit: HexColor(lightColor: "FFF114", darkColor: "1B6DD2") + ] + + func hexColor(for colorStyle: ColorStyle) -> HexColor? { + self.colorDefinitions[colorStyle] + } +} diff --git a/Sources/FioriThemeManager/Palettes/PaletteVersion.swift b/Sources/FioriThemeManager/Palettes/PaletteVersion.swift index e447d1b9f..c1d5926f8 100644 --- a/Sources/FioriThemeManager/Palettes/PaletteVersion.swift +++ b/Sources/FioriThemeManager/Palettes/PaletteVersion.swift @@ -18,6 +18,8 @@ extension PaletteVersion: RawRepresentable { self = .v5 case PaletteV6.default: self = .v6 + case PaletteV7.default: + self = .v7 default: return nil } @@ -36,11 +38,15 @@ extension PaletteVersion: RawRepresentable { return PaletteV5.default case .v6: return PaletteV6.default + case .v7: + return PaletteV7.default } } var compatibilityMap: ColorCompatibilityMap? { switch self { + case .v6: + return ColorCompatibilityMapV6.default case .v5: return ColorCompatibilityMapV5.default case .v4: @@ -84,7 +90,14 @@ public enum PaletteVersion: CaseIterable, Comparable { */ case v6 - /// Palette version which should be adopted by developer, if creating a custom palette from scratch. + /** + Snapshot of palette at SAP Fiori SDK version 8.0. + + - Important: Referred to in SAP Fiori Design Guidelines as 'Fiori Next' styling. + */ + case v7 + + /// FUIPalette version which should be adopted by developer, if creating a custom palette from scratch. /// - Note: Creating a custom palette from scratch is very uncommon and not generally recommended: it is more typical and convenient to override specific colors of the current system-provided palette, using the `ThemeManager.shared.setColor(...)` or `ThemeManager.shared.setHexColor(...)` APIs. public static let latest: PaletteVersion = { allCases.last! }() diff --git a/Tests/FioriSwiftUITests/FioriIntegrationCards/Utils/Array+ExtensionTests.swift b/Tests/FioriSwiftUITests/FioriIntegrationCards/Utils/Array+ExtensionTests.swift index 02b05f799..a4d992a62 100644 --- a/Tests/FioriSwiftUITests/FioriIntegrationCards/Utils/Array+ExtensionTests.swift +++ b/Tests/FioriSwiftUITests/FioriIntegrationCards/Utils/Array+ExtensionTests.swift @@ -5,23 +5,23 @@ class ArrayAnyExtensiontests: XCTestCase { func testFlatCompactMapForVariadicParameters() throws { struct Container { var params: [Any]! - + mutating func apply(objects: Any...) -> Container { Container(params: objects) } } - + func createContainer(objects: Any...) -> Container { var container = Container() return container.apply(objects: objects) } - + let optionalAny: Any? = nil let container = createContainer(objects: "Hello", optionalAny as Any) - + let unpackedParameters = container.params! XCTAssertEqual(unpackedParameters.debugDescription, "[[\"Hello\", nil]]") - + let result = unpackedParameters.flatCompactMapForVariadicParameters() XCTAssertEqual(result.debugDescription, "[\"Hello\"]") } diff --git a/Tests/FioriSwiftUITests/FioriThemeManager/ThemeManagerTests.swift b/Tests/FioriSwiftUITests/FioriThemeManager/ThemeManagerTests.swift index 866496f42..1225b28ad 100644 --- a/Tests/FioriSwiftUITests/FioriThemeManager/ThemeManagerTests.swift +++ b/Tests/FioriSwiftUITests/FioriThemeManager/ThemeManagerTests.swift @@ -4,10 +4,29 @@ import UIKit import XCTest class ThemeManagerTests: XCTestCase { + func testLatestColorStyle() throws { + XCTAssertEqual(ColorStyle.allCases.count, 181) + } + + func testPaletteV7() throws { + let tm = ThemeManager.shared + tm.setPaletteVersion(.v7) + XCTAssertEqual(tm.paletteVersion?.supportedStyles().count, 181) + XCTAssertEqual(tm.paletteVersion?.obsoletedStyles().count, 0) + XCTAssertEqual(tm.paletteVersion?.newStyles().count, 49) + let newStyle_grey1 = tm.hexColor(for: .grey1) + XCTAssertEqual(newStyle_grey1, HexColor(lightColor: "12171CFF", darkColor: "F5F6F7FF", contrastLightColor: "1C242BFF", contrastDarkColor: "EAECEEFF")) + let newStyle_primaryLabel = tm.hexColor(for: .primaryLabel) + XCTAssertEqual(newStyle_primaryLabel, HexColor(lightColor: "F5F6F7FF", darkColor: "223548FF", contrastLightColor: "FFFFFFFF", contrastDarkColor: "000000FF")) + let obsoletedStyle_line = tm.hexColor(for: .line) + XCTAssertEqual(obsoletedStyle_line, HexColor(lightColor: "8696A9", darkColor: "89919A")) + let obsoletedStyle_negative = tm.hexColor(for: .negative) + XCTAssertEqual(obsoletedStyle_negative, HexColor(lightColor: "FF8888", darkColor: "BB0000")) + } + func testPaletteV6() throws { let tm = ThemeManager.shared tm.setPaletteVersion(.v6) - XCTAssertEqual(ColorStyle.allCases.count, 132) XCTAssertEqual(tm.paletteVersion?.supportedStyles().count, 132) XCTAssertEqual(tm.paletteVersion?.obsoletedStyles().count, 38) XCTAssertEqual(tm.paletteVersion?.newStyles().count, 78)