Skip to content

Commit

Permalink
chore: update demo app, remove tokens, fix warnings
Browse files Browse the repository at this point in the history
Signed-off-by: Pierre-Yves Lapersonne <[email protected]>
  • Loading branch information
pylapp committed Nov 28, 2024
1 parent 422636e commit 9b0c1c8
Show file tree
Hide file tree
Showing 17 changed files with 167 additions and 44 deletions.
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [Library] Update `SpaceSemanticTokens` tokens (tokenator *20241127074206*)
- [Library] Update `SizeSemanticTokens` with rename of tokens (tokenator *20241126134156*)
- [Library] Update `ElevationSemanticTokens` (tokenator *20241126120657*)
- [Library] Improve Multiple-based objects for tokenator values integration ([#279](https://github.com/Orange-OpenSource/ouds-ios/issues/279))
- [Library] Improve Multiple-based objects for tokenator values integration ([#279](https://github.com/Orange-OpenSource/ouds-ios/issues/279))
- [Tool] Use `macos-15` runner for GitHub Actions builds ([#296](https://github.com/Orange-OpenSource/ouds-ios/issues/296))

### Removed

- [Library] Color semantic tokens `colorContentOnBg*`, `colorBorderOnBg*`, `colorBorderStatus*`, some `colorAction*OnBg*`, `colorDecorative{Primary,Secondary,Tertiary}`, `colorAlwaysOnBg*`, `colorBgBrand{Secondary,Tertiary}`, `colorContentBrand{Secondary,Tertiary}`, `colorBorderBrand{Secondary,Tertiary}`,...
- [Library] Color semantic tokens `colorContentOnBg*`, `colorBorderOnBg*`, `colorBorderStatus*`, some `colorAction*OnBg*`, `colorDecorative{Primary,Secondary,Tertiary}`, `colorAlwaysOnBg*`, `colorBgBrand{Secondary,Tertiary}`, `colorContentBrand{Secondary,Tertiary}`, `colorBorderBrand{Secondary,Tertiary}`, `colorContentStatusAccent`, ...
- [Library] Some space semantic tokens type aliases to help tokenator job (`SpacePaddingInlineSemanticToken`, `SpacePaddingBlockSemanticToken`, `SpaceGapInlineSemanticToken`, `SpaceGapStackSemanticToken`)
- [Library] All dimension semantic tokens ([#308](https://github.com/Orange-OpenSource/ouds-ios/issues/308))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@ extension OUDSTheme: ColorMultipleSemanticTokens {

@objc open var colorBgEmphasized: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorBgEmphasizedLight, dark: colorBgEmphasizedDark) }

// WARNING: #124 - Colors to use are part of Orange Theme so are not reachable at this level, as a workaround add raw values
@objc open var colorBgBrandPrimary: MultipleColorSemanticTokens { fatalError("🤖 Raw token unavailable for colorBgBrandPrimary!") }
@objc open var colorBgBrandPrimary: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorBgBrandPrimaryLight, dark: colorBgBrandPrimaryDark) }

@objc open var colorBgStatusNeutral: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorBgStatusNeutralLight, dark: colorBgStatusNeutralDark) }

Expand Down Expand Up @@ -71,11 +70,9 @@ extension OUDSTheme: ColorMultipleSemanticTokens {

@objc open var colorBgStatusNegativeEmphasized: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorBgStatusNegativeEmphasizedLight, dark: colorBgStatusNegativeEmphasizedDark) }

// WARNING: #124 - Colors to use are part of Orange Theme so are not reachable at this level, as a workaround add raw values
@objc open var colorBgStatusAccentMuted: MultipleColorSemanticTokens { fatalError("🤖 Raw token unavailable for colorBgStatusAccentMuted!") }
@objc open var colorBgStatusAccentMuted: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorBgStatusAccentMutedLight, dark: colorBgStatusAccentMutedDark) }

// WARNING: #124 - Colors to use are part of Orange Theme so are not reachable at this level, as a workaround add raw values
@objc open var colorBgStatusAccentMutedOnBgEmphasized: MultipleColorSemanticTokens { fatalError("🤖 Raw token unavailable for colorBgStatusAccentMutedOnBgEmphasized!") }
@objc open var colorBgStatusAccentMutedOnBgEmphasized: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorBgStatusAccentMutedOnBgEmphasizedLight, dark: colorBgStatusAccentMutedOnBgEmphasizedDark) }

@objc open var colorBgStatusAccentEmphasized: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorBgStatusAccentEmphasizedLight, dark: colorBgStatusAccentEmphasizedDark) }

Expand All @@ -93,8 +90,7 @@ extension OUDSTheme: ColorMultipleSemanticTokens {

@objc open var colorContentDisabledOnBgEmphasized: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorContentDisabledOnBgEmphasizedLight, dark: colorContentDisabledOnBgEmphasizedDark) }

// WARNING: #124 - Colors to use are part of Orange Theme so are not reachable at this level, as a workaround add raw values
@objc open var colorContentBrandPrimary: MultipleColorSemanticTokens { fatalError("🤖 Raw token unavailable for colorContentBrandPrimary!") }
@objc open var colorContentBrandPrimary: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorContentBrandPrimaryLight, dark: colorContentBrandPrimaryDark) }

@objc open var colorContentBrandPrimaryOnBgEmphasized: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorContentBrandPrimaryOnBgEmphasizedLight, dark: colorContentBrandPrimaryOnBgEmphasizedDark) }

Expand All @@ -106,8 +102,6 @@ extension OUDSTheme: ColorMultipleSemanticTokens {

@objc open var colorContentStatusNegative: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorContentStatusNegativeLight, dark: colorContentStatusNegativeDark) }

@objc open var colorContentStatusAccent: MultipleColorSemanticTokens { fatalError("🤖 No value defined for colorContentStatusAccent!") }

@objc open var colorContentOnActionDisabled: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorContentOnActionDisabledLight, dark: colorContentOnActionDisabledDark) }

@objc open var colorContentOnActionDisabledOnBgEmphasized: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorContentOnActionDisabledOnBgEmphasizedLight, dark: colorContentOnActionDisabledOnBgEmphasizedDark) }
Expand Down Expand Up @@ -382,8 +376,7 @@ extension OUDSTheme: ColorMultipleSemanticTokens {

@objc open var colorChartCategoricalNeutral: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorChartCategoricalNeutralLight, dark: colorChartCategoricalNeutralDark) }

// WARNING: #124 - Colors to use sont part of Orange Theme so sont not reachable at this level, as un workaround add raw values
@objc open var colorChartCategoricalBrand: MultipleColorSemanticTokens { fatalError("🤖 Raw token unavailable for colorChartCategoricalBrand!") }
@objc open var colorChartCategoricalBrand: MultipleColorSemanticTokens { MultipleColorSemanticTokens(light: colorChartCategoricalBrandLight, dark: colorChartCategoricalBrandDark) }

@objc open var colorChartCategoricalPositive: MultipleColorSemanticTokens { MultipleColorSemanticTokens(colorChartCategoricalPositiveLight) }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,6 @@ extension MockTheme {

override open var colorContentStatusNegative: MultipleColorSemanticTokens { Self.mockThemeMultipleColorSemanticTokens }

override open var colorContentStatusAccent: MultipleColorSemanticTokens { Self.mockThemeMultipleColorSemanticTokens }

// MARK: Semantic token - Colors - Content - On Action

override open var colorContentOnActionDisabled: MultipleColorSemanticTokens { Self.mockThemeMultipleColorSemanticTokens }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,6 @@ final class OtherMockTheme: MockTheme, @unchecked Sendable {

override var colorContentStatusNegative: MultipleColorSemanticTokens { Self.otherMockThemeMultipleColorSemanticTokens }

override var colorContentStatusAccent: MultipleColorSemanticTokens { Self.otherMockThemeMultipleColorSemanticTokens }

// MARK: Semantic token - Colors - Border

override var colorBorderDefault: MultipleColorSemanticTokens { Self.otherMockThemeMultipleColorSemanticTokens }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -211,11 +211,6 @@ final class TestThemeOverrideOfColorMultipleSemanticTokens: XCTestCase {
XCTAssertTrue(inheritedTheme.colorContentStatusNegative == OtherMockTheme.otherMockThemeMultipleColorSemanticTokens)
}

func testInheritedThemeCanOverrideSemanticTokenColorContentStatusAccent() throws {
XCTAssertNotEqual(inheritedTheme.colorContentStatusAccent, abstractTheme.colorContentStatusAccent)
XCTAssertTrue(inheritedTheme.colorContentStatusAccent == OtherMockTheme.otherMockThemeMultipleColorSemanticTokens)
}

// MARK: Semantic token - Colors - Content - On Action

func testInheritedThemeCanOverrideSemanticTokenColorContentOnActionDisabled() throws {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,6 @@ extension InverseTheme {

override public var colorContentStatusNegative: MultipleColorSemanticTokens { MultipleColorSemanticTokens(ColorRawTokens.colorFunctionalScarlet600) }

override public var colorContentStatusAccent: MultipleColorSemanticTokens { fatalError("🤖 No value defined for colorContentStatusAccent!") }

// MARK: Semantic token - Colors - Border

override public var colorBorderDefault: MultipleColorSemanticTokens { MultipleColorSemanticTokens(ColorRawTokens.colorFunctionalDarkGray400) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,6 @@ public protocol ColorMultipleSemanticTokens {

var colorContentStatusNegative: MultipleColorSemanticTokens { get }

var colorContentStatusAccent: MultipleColorSemanticTokens { get }

var colorContentOnActionDisabled: MultipleColorSemanticTokens { get }

var colorContentOnActionDisabledOnBgEmphasized: MultipleColorSemanticTokens { get }
Expand Down
4 changes: 4 additions & 0 deletions Showcase/Showcase.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@
5123647B2C3D7B3500572FD5 /* Gemfile.lock in Resources */ = {isa = PBXBuildFile; fileRef = 5123647A2C3D7B3500572FD5 /* Gemfile.lock */; };
513AD9402C5AAADE0003253B /* OUDSTokensComponent in Frameworks */ = {isa = PBXBuildFile; productRef = 513AD93F2C5AAADE0003253B /* OUDSTokensComponent */; };
5149BADB2C3D6F4F000FA4BF /* Podfile in Resources */ = {isa = PBXBuildFile; fileRef = 5149BADA2C3D6F4F000FA4BF /* Podfile */; };
515FF21A2CF8924F0057A8C5 /* NamedColor+Gradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 515FF2192CF8924F0057A8C5 /* NamedColor+Gradient.swift */; };
51BC9DE72C6513F200EB2A11 /* OUDSFoundations in Frameworks */ = {isa = PBXBuildFile; productRef = 51BC9DE62C6513F200EB2A11 /* OUDSFoundations */; };
51BD76212C466FCF0033365D /* AboutPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51BD760B2C466FCF0033365D /* AboutPage.swift */; };
51BD76222C466FCF0033365D /* ComponentsPage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51BD760D2C466FCF0033365D /* ComponentsPage.swift */; };
Expand Down Expand Up @@ -243,6 +244,7 @@
512364782C3D7B2D00572FD5 /* Podfile.lock */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Podfile.lock; sourceTree = "<group>"; };
5123647A2C3D7B3500572FD5 /* Gemfile.lock */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Gemfile.lock; path = ../Gemfile.lock; sourceTree = "<group>"; };
5149BADA2C3D6F4F000FA4BF /* Podfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Podfile; sourceTree = "<group>"; };
515FF2192CF8924F0057A8C5 /* NamedColor+Gradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = "NamedColor+Gradient.swift"; path = "Showcase/Pages/Tokens/Color/NamedColor/NamedColor+Gradient.swift"; sourceTree = "<group>"; };
51A7A9DA2C46E17F00EF7A77 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
51BD760B2C466FCF0033365D /* AboutPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutPage.swift; sourceTree = "<group>"; };
51BD760D2C466FCF0033365D /* ComponentsPage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComponentsPage.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -518,6 +520,7 @@
07FDCD882C296A500009AA13 = {
isa = PBXGroup;
children = (
515FF2192CF8924F0057A8C5 /* NamedColor+Gradient.swift */,
07FDCDA32C296B170009AA13 /* 🛠 */,
51BD76202C466FCF0033365D /* Showcase */,
0740A9902C9873500069D24A /* ShowcaseTests */,
Expand Down Expand Up @@ -1010,6 +1013,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
515FF21A2CF8924F0057A8C5 /* NamedColor+Gradient.swift in Sources */,
07F75A3D2CC653BD0004F1AD /* NameSpace+PaddingInset.swift in Sources */,
075114DC2CB7D28D00B8B759 /* SizeTokenPage.swift in Sources */,
077CCE592CB426090059CC28 /* DimensionTokenElement.swift in Sources */,
Expand Down
22 changes: 20 additions & 2 deletions Showcase/Showcase/Pages/Tokens/Color/ColorTokenPage.swift
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,12 @@ struct ColorTokenPage: View {
Section { illustrationForAction() } header: { header("Action") }
Section { illustrationForAlways() } header: { header("Always") }
Section { illustrationForContent() } header: { header("Content") }
Section { illustrationForTransparent() } header: { header("Transparent") }
Section { illustrationForBorder() } header: { header("Border") }
Section { illustrationForeElevation() } header: { header("Elevation") }
Section { illustrationForElevation() } header: { header("Elevation") }
Section { illustrationForDecorative() } header: { header("Decorative") }
Section { illustrationForChart() } header: { header("Chart") }
Section { illustrationForGradient() } header: { header("Gradient") }
}
.padding(.horizontal, activeTheme.spaceFixedMedium)
}
Expand Down Expand Up @@ -115,6 +117,14 @@ struct ColorTokenPage: View {
}
}

private func illustrationForTransparent() -> some View {
VStack(alignment: .leading, spacing: activeTheme.spaceFixedNone) {
ForEach(NamedColor.Transparent.allCases, id: \.rawValue) { namedColorToken in
illustration(for: namedColorToken.token(from: activeTheme), name: namedColorToken.rawValue)
}
}
}

private func illustrationForDecorative() -> some View {
VStack(alignment: .leading, spacing: activeTheme.spaceFixedNone) {
ForEach(NamedColor.Decorative.allCases, id: \.rawValue) { namedColorToken in
Expand All @@ -123,14 +133,22 @@ struct ColorTokenPage: View {
}
}

private func illustrationForeElevation() -> some View {
private func illustrationForElevation() -> some View {
VStack(alignment: .leading, spacing: activeTheme.spaceFixedNone) {
ForEach(NamedColor.Elevation.allCases, id: \.rawValue) { namedColorToken in
illustration(for: namedColorToken.token(from: activeTheme), name: namedColorToken.rawValue)
}
}
}

private func illustrationForGradient() -> some View {
VStack(alignment: .leading, spacing: activeTheme.spaceFixedNone) {
ForEach(NamedColor.Gradient.allCases, id: \.rawValue) { namedColorToken in

Check failure on line 146 in Showcase/Showcase/Pages/Tokens/Color/ColorTokenPage.swift

View workflow job for this annotation

GitHub Actions / unit-test

generic parameter 'C' could not be inferred

Check failure on line 146 in Showcase/Showcase/Pages/Tokens/Color/ColorTokenPage.swift

View workflow job for this annotation

GitHub Actions / unit-test

type 'NamedColor' has no member 'Gradient'

Check failure on line 146 in Showcase/Showcase/Pages/Tokens/Color/ColorTokenPage.swift

View workflow job for this annotation

GitHub Actions / unit-test

cannot infer key path type from context; consider explicitly specifying a root type

Check failure on line 146 in Showcase/Showcase/Pages/Tokens/Color/ColorTokenPage.swift

View workflow job for this annotation

GitHub Actions / ui-test

generic parameter 'C' could not be inferred

Check failure on line 146 in Showcase/Showcase/Pages/Tokens/Color/ColorTokenPage.swift

View workflow job for this annotation

GitHub Actions / ui-test

type 'NamedColor' has no member 'Gradient'

Check failure on line 146 in Showcase/Showcase/Pages/Tokens/Color/ColorTokenPage.swift

View workflow job for this annotation

GitHub Actions / ui-test

cannot infer key path type from context; consider explicitly specifying a root type
illustration(for: namedColorToken.token(from: activeTheme), name: namedColorToken.rawValue)

Check failure on line 147 in Showcase/Showcase/Pages/Tokens/Color/ColorTokenPage.swift

View workflow job for this annotation

GitHub Actions / unit-test

cannot convert value of type 'Binding<Subject>' to expected argument type 'String'

Check failure on line 147 in Showcase/Showcase/Pages/Tokens/Color/ColorTokenPage.swift

View workflow job for this annotation

GitHub Actions / unit-test

cannot call value of non-function type 'Binding<Subject>'

Check failure on line 147 in Showcase/Showcase/Pages/Tokens/Color/ColorTokenPage.swift

View workflow job for this annotation

GitHub Actions / ui-test

cannot convert value of type 'Binding<Subject>' to expected argument type 'String'

Check failure on line 147 in Showcase/Showcase/Pages/Tokens/Color/ColorTokenPage.swift

View workflow job for this annotation

GitHub Actions / ui-test

cannot call value of non-function type 'Binding<Subject>'
}
}
}

// MARK: Common private helpers

@ViewBuilder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ extension NamedColor {
case colorActionDisabled
case colorActionDisabledOnBgEmphasized
case colorActionVisited
case colorActionVisitedOnBgEmphasized
case colorActionPrimaryEnabled
case colorActionPrimaryEnabledOnBgEmphasized
case colorActionPrimaryHover
Expand Down Expand Up @@ -63,6 +64,8 @@ extension NamedColor {
return theme.colorActionDisabledOnBgEmphasized
case .colorActionVisited:
return theme.colorActionVisited
case .colorActionVisitedOnBgEmphasized:
return theme.colorActionVisitedOnBgEmphasized
case .colorActionPrimaryEnabled:
return theme.colorActionPrimaryEnabled
case .colorActionPrimaryEnabledOnBgEmphasized:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,20 +48,20 @@ extension NamedColor {
return theme.colorAlwaysInfo
case .colorAlwaysAccent:
return theme.colorAlwaysAccent
case .colorAlwaysOnAccent:
return theme.colorAlwaysOnAccent
case .colorAlwaysOnBlack:
return theme.colorAlwaysOnBlack
case .colorAlwaysOnWhite:
return theme.colorAlwaysOnWhite
case .colorAlwaysOnWarning:
return theme.colorAlwaysOnWarning
case .colorAlwaysOnInfo:
return theme.colorAlwaysOnInfo
case .colorAlwaysOnNegative:
return theme.colorAlwaysOnNegative
case .colorAlwaysOnPositive:
return theme.colorAlwaysOnPositive
case .colorAlwaysOnInfo:
return theme.colorAlwaysOnInfo
case .colorAlwaysOnAccent:
return theme.colorAlwaysOnAccent
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,11 @@ extension NamedColor {
case colorBorderEmphasized
case colorBorderEmphasizedOnBgEmphasized
case colorBorderFocus
case colorBorderFocusInset
case colorBorderFocusInsetOnBgEmphasized
case colorBorderBrandPrimaryOnBgEmphasized
case colorBorderBrandPrimary
case colorBorderOnBrandPrimary

func token(from theme: OUDSTheme) -> MultipleColorSemanticTokens {
switch self {
Expand All @@ -37,10 +40,16 @@ extension NamedColor {
return theme.colorBorderEmphasizedOnBgEmphasized
case .colorBorderFocus:
return theme.colorBorderFocus
case .colorBorderFocusInset:
return theme.colorBorderFocusInset
case .colorBorderFocusInsetOnBgEmphasized:
return theme.colorBorderFocusInsetOnBgEmphasized
case .colorBorderBrandPrimaryOnBgEmphasized:
return theme.colorBorderBrandPrimaryOnBgEmphasized
case .colorBorderBrandPrimary:
return theme.colorBorderBrandPrimary
case .colorBorderOnBrandPrimary:
return theme.colorBorderOnBrandPrimary
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ extension NamedColor {
case colorContentStatusInfo
case colorContentStatusWarning
case colorContentStatusNegative
case colorContentStatusAccent
case colorContentBrandPrimary
case colorContentBrandPrimaryOnBgEmphasized
case colorContentOnActionDisabled
Expand Down Expand Up @@ -85,8 +84,6 @@ extension NamedColor {
return theme.colorContentStatusWarning
case .colorContentStatusNegative:
return theme.colorContentStatusNegative
case .colorContentStatusAccent:
return theme.colorContentStatusAccent
case .colorContentBrandPrimary:
return theme.colorContentBrandPrimary
case .colorContentBrandPrimaryOnBgEmphasized:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ import OUDSTokensSemantic
extension NamedColor {

enum Decorative: String, CaseIterable {
case colorDecorativeBrandPrimary
case colorDecorativeBrandSecondary
case colorDecorativeBrandTertiary
case colorDecorativeNeutralMuted
case colorDecorativeNeutralDefault
case colorDecorativeNeutralEmphasized
Expand Down Expand Up @@ -49,6 +52,12 @@ extension NamedColor {

func token(from theme: OUDSTheme) -> MultipleColorSemanticTokens {
switch self {
case .colorDecorativeBrandPrimary:
return theme.colorDecorativeBrandPrimary
case .colorDecorativeBrandSecondary:
return theme.colorDecorativeBrandSecondary
case .colorDecorativeBrandTertiary:
return theme.colorDecorativeBrandTertiary
case .colorDecorativeNeutralMuted:
return theme.colorDecorativeNeutralMuted
case .colorDecorativeNeutralDefault:
Expand Down
Loading

0 comments on commit 9b0c1c8

Please sign in to comment.