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 5, 2025
1 parent eeace8b commit 438b261
Show file tree
Hide file tree
Showing 12 changed files with 317 additions and 82 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [Library] Switch component ([#405](https://github.com/Orange-OpenSource/ouds-ios/issues/405))
- [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, borders: borders, colors: colors),
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, borders: borders, colors: colors),
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 @@ -75,24 +75,30 @@ open class OrangeThemeCheckRadioComponentTokensProvider: AllCheckRadioComponentT
/// Provider of size semantic tokens to use for check / radio sizes
public let sizes: AllSizeSemanticTokensProvider

/// Provider of color semantic tokens to use for check / radio colors
/// 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

/// Defines a provider of component tokens dedicated to `OUDSChip`
/// 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) {
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,31 +16,42 @@ import OUDSTokensComponent
import OUDSTokensRaw
import OUDSTokensSemantic

// ଘ( ・ω・)_/゚・:*:・。☆
// [File to generate with the tokenator]
// Values are not the expected ones, manual fixes have been added
// Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml
// swiftlint:disable identifier_name

extension OrangeThemeCheckRadioComponentTokensProvider: CheckRadioComponentTokens {
@objc open var checkRadioSizeSelector: SizeSemanticToken { sizes.sizeIconWithLabelLargeSizeSm }
@objc open var checkRadioSizeMinHeightSelectorOnly: SizeSemanticToken { DimensionRawTokens.dimension600 }
@objc open var checkRadioSizeMinWidthSelectorOnly: SizeSemanticToken { DimensionRawTokens.dimension600 }
@objc open var checkRadioSizeMaxHeightSelectorOnly: SizeSemanticToken { DimensionRawTokens.dimension600 }
@objc open var checkRadioSizeMaxHeightAssetsContainer: SizeSemanticToken { DimensionRawTokens.dimension1200 }

// TODO: #264 - Add true values of tokens

@objc open var checkRadioSelectorBorderRadius: BorderRadiusSemanticToken { borders.borderRadiusNone }
@objc open var checkRadioSelectorBorderWidthEnabled: BorderWidthSemanticToken { borders.borderWidthThicker }
@objc open var checkRadioSelectorBorderWidthHover: BorderWidthSemanticToken { borders.borderWidthFocus }
@objc open var checkRadioSelectorBorderWidthPressed: BorderWidthSemanticToken { borders.borderWidthFocus }
@objc open var checkRadioSelectorBorderWidthDisabled: BorderWidthSemanticToken { borders.borderWidthThicker }
@objc open var checkRadioSelectorColorEnabledSelected: MultipleColorSemanticTokens { colors.colorActionSelected }
@objc open var checkRadioSelectorColorEnabledUnselected: MultipleColorSemanticTokens { colors.colorActionEnabled }
@objc open var checkRadioSelectorColorEnabledError: MultipleColorSemanticTokens { colors.colorActionNegativeEnabled }
@objc open var checkRadioSelectorColorHover: MultipleColorSemanticTokens { colors.colorActionHover }
@objc open var checkRadioSelectorColorHoverError: MultipleColorSemanticTokens { colors.colorActionNegativeHover }
@objc open var checkRadioSelectorColorPressed: MultipleColorSemanticTokens { colors.colorActionPressed }
@objc open var checkRadioSelectorColorPressedError: MultipleColorSemanticTokens { colors.colorActionNegativePressed }
@objc open var checkRadioSelectorColorDisabled: MultipleColorSemanticTokens { colors.colorActionDisabled }
@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, borders: borders, colors: colors),
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 438b261

Please sign in to comment.