Skip to content

Commit

Permalink
chore(🤖): update CheckRadioComponentTokens
Browse files Browse the repository at this point in the history
Tokens library version v0.5.0

Signed-off-by: Pierre-Yves Lapersonne <[email protected]>
  • Loading branch information
pylapp committed Feb 4, 2025
1 parent c9c2349 commit a9f2231
Show file tree
Hide file tree
Showing 12 changed files with 331 additions and 38 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [DesignToolbox] Add text field in component configuration to customize text ([#436](https://github.com/Orange-OpenSource/ouds-ios/issues/436))
- [Library] Link component ([#400](https://github.com/Orange-OpenSource/ouds-ios/issues/400))

### Changed

- [Library] Checkbox and radio button component tokens (tokens library v0.5.0)

## [0.10.0](https://github.com/Orange-OpenSource/ouds-ios/compare/0.9.0...0.10.0) - 2025-01-30

### Added
Expand Down
10 changes: 6 additions & 4 deletions OUDS/Core/Themes/Orange/Sources/OrangeTheme.swift
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ open class OrangeTheme: OUDSTheme, @unchecked Sendable {
let borders = OrangeThemeBorderSemanticTokensProvider()
let sizes = OrangeThemeSizeSemanticTokensProvider()
let spaces = OrangeThemeSpaceSemanticTokensProvider()
let opacities = OrangeThemeOpacitySemanticTokensProvider()

let tokensProviders: TokensProviders = [

Expand All @@ -106,7 +107,7 @@ open class OrangeTheme: OUDSTheme, @unchecked Sendable {
OrangeThemeElevationSemanticTokensProvider(),
OrangeThemeFontSemanticTokensProvider(),
OrangeThemeGridSemanticTokensProvider(),
OrangeThemeOpacitySemanticTokensProvider(),
opacities,
sizes,
spaces,

Expand All @@ -124,7 +125,7 @@ open class OrangeTheme: OUDSTheme, @unchecked Sendable {
OrangeThemeBulletListComponentTokensProvider(sizes: sizes, colors: colors, spaces: spaces),
OrangeThemeInputTextComponentTokensProvider(sizes: sizes, colors: colors, spaces: spaces),
OrangeThemeBadgeComponentTokensProvider(sizes: sizes),
OrangeThemeCheckRadioComponentTokensProvider(sizes: sizes),
OrangeThemeCheckRadioComponentTokensProvider(sizes: sizes, borders: borders, colors: colors, opacities: opacities),

// NOTE: Add here new component tokens providers
]
Expand All @@ -141,6 +142,7 @@ open class OrangeTheme: OUDSTheme, @unchecked Sendable {
let colors = OrangeThemeColorSemanticTokensProvider()
let sizes = OrangeThemeSizeSemanticTokensProvider()
let spaces = OrangeThemeSpaceSemanticTokensProvider()
let opacities = OrangeThemeOpacitySemanticTokensProvider()

let tokensProviders: TokensProviders = [

Expand All @@ -151,7 +153,7 @@ open class OrangeTheme: OUDSTheme, @unchecked Sendable {
OrangeThemeElevationSemanticTokensProvider(),
OrangeThemeFontSemanticTokensProvider(),
OrangeThemeGridSemanticTokensProvider(),
OrangeThemeOpacitySemanticTokensProvider(),
opacities,
sizes,
spaces,

Expand All @@ -169,7 +171,7 @@ open class OrangeTheme: OUDSTheme, @unchecked Sendable {
OrangeThemeBulletListComponentTokensProvider(sizes: sizes, colors: colors, spaces: spaces),
OrangeThemeInputTextComponentTokensProvider(sizes: sizes, colors: colors, spaces: spaces),
OrangeThemeBadgeComponentTokensProvider(sizes: sizes),
OrangeThemeCheckRadioComponentTokensProvider(sizes: sizes),
OrangeThemeCheckRadioComponentTokensProvider(sizes: sizes, borders: borders, colors: colors, opacities: opacities),

// NOTE: Add here new component tokens providers
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,30 @@ open class OrangeThemeCheckRadioComponentTokensProvider: AllCheckRadioComponentT
/// Provider of size semantic tokens to use for check / radio sizes
public let sizes: AllSizeSemanticTokensProvider

/// Defines a provider of component tokens dedicated to `OUDSChip`
/// - Parameter sizes: Provider for size semantic tokens
public init(sizes: AllSizeSemanticTokensProvider) {
/// Provider of border semantic tokens to use for check / radio borders
public let borders: AllBorderSemanticTokensProvider

/// Provider of color semantic tokens to use for check / radio colors
public let colors: AllColorSemanticTokensProvider

/// Provider of opacity semantic tokens to use for check / radio opacities
public let opacities: AllOpacitySemanticTokensProvider

/// Defines a provider of component tokens dedicated to `OUDSCheckbox` and `OUDSRadioButton`
/// - Parameters:
/// - sizes: Provider for size semantic tokens
/// - borders: Provider for border semantic tokens
/// - colors: Provider for color semantic tokens
/// - opacities: Provider for opacitiy semantic tokens
public init(sizes: AllSizeSemanticTokensProvider,
borders: AllBorderSemanticTokensProvider,
colors: AllColorSemanticTokensProvider,
opacities: AllOpacitySemanticTokensProvider) {
OL.debug("Init of OrangeThemeCheckRadioComponentTokensProvider")
self.sizes = sizes
self.borders = borders
self.colors = colors
self.opacities = opacities
}

deinit { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,43 @@ import OUDSTokensComponent
import OUDSTokensRaw
import OUDSTokensSemantic

// swiftlint:disable identifier_name

extension OrangeThemeCheckRadioComponentTokensProvider: CheckRadioComponentTokens {
@objc open var checkRadioSizeMaxHeightAssetsContainer: SizeSemanticToken { DimensionRawTokens.dimension1200 }
@objc open var checkRadioSizeMaxHeightSelectorOnly: SizeSemanticToken { DimensionRawTokens.dimension600 }
@objc open var checkRadioSizeMinHeightSelectorOnly: SizeSemanticToken { DimensionRawTokens.dimension600 }
@objc open var checkRadioSizeMinWidthSelectorOnly: SizeSemanticToken { DimensionRawTokens.dimension600 }
@objc open var checkRadioSizeSelector: SizeSemanticToken { sizes.sizeIconWithLabelLargeSizeSm }
@objc open var checkRadioBorderRadiusCheckbox: BorderRadiusSemanticToken { borders.borderRadiusDefault }
@objc open var checkRadioBorderWidthSelected: BorderWidthSemanticToken { borders.borderWidthMedium }
@objc open var checkRadioBorderWidthSelectedFocus: BorderWidthSemanticToken { borders.borderWidthMedium }
@objc open var checkRadioBorderWidthSelectedHover: BorderWidthSemanticToken { borders.borderWidthMedium }
@objc open var checkRadioBorderWidthSelectedPressed: BorderWidthSemanticToken { borders.borderWidthMedium }
@objc open var checkRadioBorderWidthUnselected: BorderWidthSemanticToken { borders.borderWidthThin }
@objc open var checkRadioBorderWidthUnselectedFocus: BorderWidthSemanticToken { borders.borderWidthMedium }
@objc open var checkRadioBorderWidthUnselectedHover: BorderWidthSemanticToken { borders.borderWidthMedium }
@objc open var checkRadioBorderWidthUnselectedPressed: BorderWidthSemanticToken { borders.borderWidthMedium }
@objc open var checkRadioOpacitySelectorBgSelected: OpacitySemanticToken { opacities.opacityInvisible }
@objc open var checkRadioOpacitySelectorBgSelectedFocus: OpacitySemanticToken { opacities.opacityInvisible }
@objc open var checkRadioOpacitySelectorBgSelectedHover: OpacitySemanticToken { opacities.opacityInvisible }
@objc open var checkRadioOpacitySelectorBgSelectedPressed: OpacitySemanticToken { opacities.opacityInvisible }
@objc open var checkRadioOpacitySelectorBgUnselected: OpacitySemanticToken { opacities.opacityInvisible }
@objc open var checkRadioOpacitySelectorBgUnselectedFocus: OpacitySemanticToken { opacities.opacityInvisible }
@objc open var checkRadioOpacitySelectorBgUnselectedHover: OpacitySemanticToken { opacities.opacityInvisible }
@objc open var checkRadioOpacitySelectorBgUnselectedPressed: OpacitySemanticToken { opacities.opacityInvisible }
@objc open var checkRadioSizeCheckInnerAsset: SizeSemanticToken { sizes.sizeIconDecorative2xs }
@objc open var checkRadioSizeRadioInnerCircle: SizeSemanticToken { sizes.sizeIconDecorative2xs }
@objc open var checkRadioColorContentAssetDisabled: MultipleColorSemanticTokens { colors.colorActionDisabled }
@objc open var checkRadioColorContentAssetEnabled: MultipleColorSemanticTokens { colors.colorActionEnabled }
@objc open var checkRadioColorContentAssetErrorEnabled: MultipleColorSemanticTokens { colors.colorActionNegativeEnabled }
@objc open var checkRadioColorContentAssetErrorFocus: MultipleColorSemanticTokens { colors.colorActionNegativeFocus }
@objc open var checkRadioColorContentAssetErrorHover: MultipleColorSemanticTokens { colors.colorActionNegativeHover }
@objc open var checkRadioColorContentAssetErrorPressed: MultipleColorSemanticTokens { colors.colorActionNegativePressed }
@objc open var checkRadioColorContentAssetFocus: MultipleColorSemanticTokens { colors.colorActionFocus }
@objc open var checkRadioColorContentAssetHover: MultipleColorSemanticTokens { colors.colorActionHover }
@objc open var checkRadioColorContentAssetPressed: MultipleColorSemanticTokens { colors.colorActionPressed }
@objc open var checkRadioColorContentAssetSelected: MultipleColorSemanticTokens { colors.colorActionSelected }
@objc open var checkRadioSizeSelector: SizeSemanticToken { sizes.sizeIconWithLabelLargeSizeXs }
}

// swiftlint:enable identifier_name
5 changes: 3 additions & 2 deletions OUDS/Core/Themes/Orange/Tests/TestTokensProviders.swift
Original file line number Diff line number Diff line change
Expand Up @@ -80,14 +80,15 @@ final class TestTokensProviders: XCTestCase {
let sizes = OrangeThemeSizeSemanticTokensProvider()
let spaces = OrangeThemeSpaceSemanticTokensProvider()
let colors = OrangeThemeColorSemanticTokensProvider()
let opacities = OrangeThemeOpacitySemanticTokensProvider()

let allTokensProviders: TokensProviders = [
colors,
borders,
OrangeThemeElevationSemanticTokensProvider(),
OrangeThemeFontSemanticTokensProvider(),
OrangeThemeGridSemanticTokensProvider(),
OrangeThemeOpacitySemanticTokensProvider(),
opacities,
sizes,
spaces,
OrangeThemeButtonComponentTokensProvider(sizes: sizes, borders: borders, colors: colors, spaces: spaces),
Expand All @@ -102,7 +103,7 @@ final class TestTokensProviders: XCTestCase {
OrangeThemeBulletListComponentTokensProvider(sizes: sizes, colors: colors, spaces: spaces),
OrangeThemeInputTextComponentTokensProvider(sizes: sizes, colors: colors, spaces: spaces),
OrangeThemeBadgeComponentTokensProvider(sizes: sizes),
OrangeThemeCheckRadioComponentTokensProvider(sizes: sizes),
OrangeThemeCheckRadioComponentTokensProvider(sizes: sizes, borders: borders, colors: colors, opacities: opacities),

// NOTE: Add new component tokens providers here
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,66 @@ final class MockThemeCheckRadioComponentTokenProvider: OrangeThemeCheckRadioComp
// MARK: - Mocks and setup

static let mockThemeCheckRadioSize: SizeSemanticToken = 118_218
static let mockThemeCheckRadioDimension: DimensionRawToken = 1_312
static let mockThemeCheckRadioBorderRadius: BorderRadiusSemanticToken = 1_312
static let mockThemeCheckRadioBorderWidth: BorderRadiusSemanticToken = 666
static let mockThemeCheckRadioOpacity: OpacitySemanticToken = 0.007
static let mockThemeCheckRadioColor = MultipleColorSemanticTokens("#FF0000")

override public init(sizes: AllSizeSemanticTokensProvider) {
super.init(sizes: sizes)
override public init(sizes: AllSizeSemanticTokensProvider,
borders: AllBorderSemanticTokensProvider,
colors: AllColorSemanticTokensProvider,
opacities: AllOpacitySemanticTokensProvider) {
super.init(sizes: sizes,
borders: borders,
colors: colors,
opacities: opacities)
}

// MARK: - Badge component tokens

override public var checkRadioSizeMaxHeightAssetsContainer: SizeSemanticToken { Self.mockThemeCheckRadioSize }
override public var checkRadioSizeMaxHeightSelectorOnly: SizeSemanticToken { Self.mockThemeCheckRadioSize }
override public var checkRadioSizeMinHeightSelectorOnly: SizeSemanticToken { Self.mockThemeCheckRadioSize }
override public var checkRadioSizeMinWidthSelectorOnly: SizeSemanticToken { Self.mockThemeCheckRadioSize }
override public var checkRadioSizeCheckInnerAsset: SizeSemanticToken { Self.mockThemeCheckRadioSize }
override public var checkRadioSizeRadioInnerCircle: SizeSemanticToken { Self.mockThemeCheckRadioSize }
override public var checkRadioSizeSelector: SizeSemanticToken { Self.mockThemeCheckRadioSize }
override public var checkRadioSizeMinHeightSelectorOnly: DimensionRawToken { Self.mockThemeCheckRadioDimension }
override public var checkRadioSizeMinWidthSelectorOnly: DimensionRawToken { Self.mockThemeCheckRadioDimension }
override public var checkRadioSizeMaxHeightSelectorOnly: DimensionRawToken { Self.mockThemeCheckRadioDimension }
override public var checkRadioSizeMaxHeightAssetsContainer: DimensionRawToken { Self.mockThemeCheckRadioDimension }

// MARK: - Borders

override public var checkRadioBorderRadiusCheckbox: BorderRadiusSemanticToken { Self.mockThemeCheckRadioBorderRadius }
override public var checkRadioBorderWidthSelected: BorderWidthSemanticToken { Self.mockThemeCheckRadioBorderWidth }
override public var checkRadioBorderWidthSelectedFocus: BorderWidthSemanticToken { Self.mockThemeCheckRadioBorderWidth }
override public var checkRadioBorderWidthSelectedHover: BorderWidthSemanticToken { Self.mockThemeCheckRadioBorderWidth }
override public var checkRadioBorderWidthSelectedPressed: BorderWidthSemanticToken { Self.mockThemeCheckRadioBorderWidth }
override public var checkRadioBorderWidthUnselected: BorderWidthSemanticToken { Self.mockThemeCheckRadioBorderWidth }
override public var checkRadioBorderWidthUnselectedFocus: BorderWidthSemanticToken { Self.mockThemeCheckRadioBorderWidth }
override public var checkRadioBorderWidthUnselectedHover: BorderWidthSemanticToken { Self.mockThemeCheckRadioBorderWidth }
override public var checkRadioBorderWidthUnselectedPressed: BorderWidthSemanticToken { Self.mockThemeCheckRadioBorderWidth }

// MARK: - Opacities

override public var checkRadioOpacitySelectorBgSelected: OpacitySemanticToken { Self.mockThemeCheckRadioOpacity }
override public var checkRadioOpacitySelectorBgSelectedFocus: OpacitySemanticToken { Self.mockThemeCheckRadioOpacity }
override public var checkRadioOpacitySelectorBgSelectedHover: OpacitySemanticToken { Self.mockThemeCheckRadioOpacity }
override public var checkRadioOpacitySelectorBgSelectedPressed: OpacitySemanticToken { Self.mockThemeCheckRadioOpacity }
override public var checkRadioOpacitySelectorBgUnselected: OpacitySemanticToken { Self.mockThemeCheckRadioOpacity }
override public var checkRadioOpacitySelectorBgUnselectedFocus: OpacitySemanticToken { Self.mockThemeCheckRadioOpacity }
override public var checkRadioOpacitySelectorBgUnselectedHover: OpacitySemanticToken { Self.mockThemeCheckRadioOpacity }
override public var checkRadioOpacitySelectorBgUnselectedPressed: OpacitySemanticToken { Self.mockThemeCheckRadioOpacity }

// MARK: - Colors

override public var checkRadioColorContentAssetDisabled: MultipleColorSemanticTokens { Self.mockThemeCheckRadioColor }
override public var checkRadioColorContentAssetEnabled: MultipleColorSemanticTokens { Self.mockThemeCheckRadioColor }
override public var checkRadioColorContentAssetErrorEnabled: MultipleColorSemanticTokens { Self.mockThemeCheckRadioColor }
override public var checkRadioColorContentAssetErrorFocus: MultipleColorSemanticTokens { Self.mockThemeCheckRadioColor }
override public var checkRadioColorContentAssetErrorHover: MultipleColorSemanticTokens { Self.mockThemeCheckRadioColor }
override public var checkRadioColorContentAssetErrorPressed: MultipleColorSemanticTokens { Self.mockThemeCheckRadioColor }
override public var checkRadioColorContentAssetFocus: MultipleColorSemanticTokens { Self.mockThemeCheckRadioColor }
override public var checkRadioColorContentAssetHover: MultipleColorSemanticTokens { Self.mockThemeCheckRadioColor }
override public var checkRadioColorContentAssetPressed: MultipleColorSemanticTokens { Self.mockThemeCheckRadioColor }
override public var checkRadioColorContentAssetSelected: MultipleColorSemanticTokens { Self.mockThemeCheckRadioColor }
}

// swiftlint:enable required_deinit
Expand Down
Loading

0 comments on commit a9f2231

Please sign in to comment.