diff --git a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+ElevationCompositeSemanticTokens.swift b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+ElevationCompositeSemanticTokens.swift index fe1f9d33a3..0c6732619e 100644 --- a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+ElevationCompositeSemanticTokens.swift +++ b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+ElevationCompositeSemanticTokens.swift @@ -16,7 +16,7 @@ import OUDSTokensRaw import OUDSTokensSemantic // [File not generated with the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml /// Defines basic values common to all themes for `ElevationCompositeSemanticTokens`. diff --git a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeMultipleSemanticTokens.swift b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeMultipleSemanticTokens.swift index 16021c93f9..abfa113764 100644 --- a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeMultipleSemanticTokens.swift +++ b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeMultipleSemanticTokens.swift @@ -18,7 +18,7 @@ import OUDSTokensSemantic // swiftlint:disable line_length // [File not generated by the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml /// Defines wrapper objects for size semantic tokens (i.e. in the end `DimensionRawToken`). diff --git a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SpaceMultipleSemanticTokens.swift b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SpaceMultipleSemanticTokens.swift index e435ef57ee..33ef29b02f 100644 --- a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SpaceMultipleSemanticTokens.swift +++ b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SpaceMultipleSemanticTokens.swift @@ -16,7 +16,7 @@ import OUDSTokensRaw import OUDSTokensSemantic // [File not generated by the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml /// Defines wrapper objects for space semantic tokens (i.e. in the end `DimensionRawToken`). diff --git a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+TypographyMultipleSemanticTokens.swift b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+TypographyMultipleSemanticTokens.swift index a105549194..bffcfd91b8 100644 --- a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+TypographyMultipleSemanticTokens.swift +++ b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+TypographyMultipleSemanticTokens.swift @@ -16,7 +16,7 @@ import OUDSTokensRaw import OUDSTokensSemantic // [File not generated by the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml // swiftlint:disable line_length diff --git a/OUDS/Core/Tokens/RawTokens/Sources/Declarations/ElevationRawTokens.swift b/OUDS/Core/Tokens/RawTokens/Sources/Declarations/ElevationRawTokens.swift index d25280d8a5..43c27d6c2a 100644 --- a/OUDS/Core/Tokens/RawTokens/Sources/Declarations/ElevationRawTokens.swift +++ b/OUDS/Core/Tokens/RawTokens/Sources/Declarations/ElevationRawTokens.swift @@ -15,7 +15,7 @@ /// Values are defined in *ElevationRawTokens+Values.swift* file updated by the tokenator and *ElevationRawTokens+Values.swift* updated manualy by the development team. /// `ElevationRawTokens` are tokens to use to define *elevations* , i.e. in the end box shadow effects. These tokens are used to define these effects thanks to several types: the *blur*, the *X offset* and the *Y offset*, all of them being `ElevationRawToken` type. /// Combinations of these three values can be defined inside `ElevationCompositeRawToken` i.e. *composite tokens* defining a whil box shadow to use for elevation effect. -/// +/// /// Primitive types such as `CGFloat` must be used to as to allow to use `@objc` keywords in extensions for overriding. /// Such tokens are packed in a _Swift enum_ so as to gather them in one object with the suitable namespace and avoid to have just constants in nothing else /// (i.e. publicly accessible from everywhere). More optimized than _struct_. diff --git a/OUDS/Core/Tokens/RawTokens/Sources/Values/ElevationRawTokens+Composites.swift b/OUDS/Core/Tokens/RawTokens/Sources/Values/ElevationRawTokens+Composites.swift index 8b79fd24fe..72b721adf9 100644 --- a/OUDS/Core/Tokens/RawTokens/Sources/Values/ElevationRawTokens+Composites.swift +++ b/OUDS/Core/Tokens/RawTokens/Sources/Values/ElevationRawTokens+Composites.swift @@ -12,7 +12,7 @@ // // [File not generated with the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml // swiftlint:disable missing_docs diff --git a/OUDS/Core/Tokens/RawTokens/Sources/Values/GridRawTokens+Values.swift b/OUDS/Core/Tokens/RawTokens/Sources/Values/GridRawTokens+Values.swift index e900335a08..874f3aa4eb 100644 --- a/OUDS/Core/Tokens/RawTokens/Sources/Values/GridRawTokens+Values.swift +++ b/OUDS/Core/Tokens/RawTokens/Sources/Values/GridRawTokens+Values.swift @@ -13,7 +13,7 @@ // ଘ( ・ω・)_/゚・:*:・。☆ // [File to generate with the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml // swiftlint:disable missing_docs diff --git a/OUDS/Core/Tokens/RawTokens/Sources/Values/TypographyRawTokens+Composites.swift b/OUDS/Core/Tokens/RawTokens/Sources/Values/TypographyRawTokens+Composites.swift index 5fc2729e69..2556e48f00 100644 --- a/OUDS/Core/Tokens/RawTokens/Sources/Values/TypographyRawTokens+Composites.swift +++ b/OUDS/Core/Tokens/RawTokens/Sources/Values/TypographyRawTokens+Composites.swift @@ -12,7 +12,7 @@ // // [File not generated with the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml // swiftlint:disable missing_docs diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleColorTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleColorTokens.swift index ed4f69892e..f0f68d4960 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleColorTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleColorTokens.swift @@ -15,9 +15,29 @@ import OUDSFoundations import OUDSTokensRaw import SwiftUI -/// Kind of semantic tokens which will wrap a combination of `ColorRawToken` depending to color scheme. +/// Kind of semantic tokens which will wrap a combination of `ColorSemanticToken` depending to *color scheme* (i.e. ligh mode or dark mode). /// Kind of composite token with multiple values, but not named "composite" because this word is already used in the design system. -/// Allows to gather the multiple-value tokens from Figma inside one object. +/// Allows to gather the multiple-value tokens from *Figma* inside one object. +/// If a color token exists with its value depending to the color scheme, it must be packed in such `MultipleColorTokens` +/// +/// // Assuming in Figma with have a color semantic token colorBgPrimary, +/// // two semantic color tokens will be defined in Figma and generated by tokenator. +/// // They can be declared in protocol ColorSemanticTokens, +/// // and defined automaticaly in OUDSTheme+ColorSemanticTokens extension +/// var colorBgPrimaryLight: ColorSemanticToken { ColorRawTokens.colorFunctionalWhite } +/// var colorBgPrimaryDark: ColorSemanticToken { ColorRawTokens.colorFunctionalDarkGray880 } +/// +/// // Then the develoment team declares an "higher" level color semantic token for colorBgPrimary +/// // inside ColorMultipleSemanticTokens protocol, +/// // and defined inside OUDSTheme+ColorMultipleSemanticToken extension +/// var colorBgPrimary: MultipleColorTokens { MultipleColorTokens(light: colorBgPrimaryLight, dark: colorBgPrimaryDark) } +/// +/// // If the same color is used whatever the color scheme is +/// var colorBgPrimary: MultipleColorTokens { MultipleColorTokens(colorBgPrimaryLight) } +/// +/// // The theme exposes both generated color semantic tokens and "crafted" higher level color semantic tokens. +/// // It is recommended to use the higher level version as it is less error-prone. +/// public final class MultipleColorTokens: NSObject, Sendable { /// For **light** mode scheme @@ -26,14 +46,14 @@ public final class MultipleColorTokens: NSObject, Sendable { /// For **dark** mode scheme public let dark: ColorSemanticToken - /// Initializes a new color composite semantic token with the same value for light and dark modes + /// Initializes a new color multiple semantic token with the same value for light and dark modes /// - Parameter value: The `ColorSemanticToken` to apply wether the device is in *light* and *dark* mode public init(_ value: ColorSemanticToken) { self.light = value self.dark = value } - /// Initializes a new color composite semantic token with two values + /// Initializes a new color multiple semantic token with two values /// - Parameters: /// - light: The `ColorSemanticToken` to apply if device in *light* mode /// - dark: The `ColorSemanticToken` to apply if device in *dark* mode @@ -53,8 +73,8 @@ public final class MultipleColorTokens: NSObject, Sendable { } /// Returns the right color according to the `colorScheme`. - /// - Parameter colorScheme: The color scheme - /// - Returns: The right color raw token + /// - Parameter colorScheme: The color scheme in use to define the value to use + /// - Returns: The `SwiftUI.Color` value to use public func color(for colorScheme: ColorScheme) -> Color { (colorScheme == .light ? light : dark).color } diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleElevationTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleElevationTokens.swift index e8546396ec..28d0e146a0 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleElevationTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleElevationTokens.swift @@ -15,9 +15,30 @@ import OUDSFoundations import OUDSTokensRaw import SwiftUI -/// Semantic tokens which will wrap a combination of `ElevationCompositeRawToken` depending to color scheme. +/// Semantic tokens which will wrap a combination of `ElevationCompositeRawToken` depending to color scheme (i.e. light mode or dark mode) /// Kind of composite token with multiple values, but not named "composite" because this word is already used in the design system. -/// Allows to gather the multiple-value tokens from Figma inside one object. +/// Allows to gather the multiple-value tokens from *Figma* inside one object. +/// If an elevation token exists with its value depending to the color scheme, it must be packed in such `MultipleElevationTokens` +/// +/// // Assuming in Figma with have a elevation semantic token elevationNone, +/// // with values depending to color scheme. These values are defined as elevation raw tokens. +/// let elevationBottom_0 = ElevationCompositeRawToken(x: elevationX0, y: elevationY0, blur: elevationBlur0, color: ColorRawTokens.colorTransparentBlack0) +/// let elevationBottom_1_100 = ElevationCompositeRawToken(x: elevationX0, y: elevationY100, blur: elevationBlur200, color: ColorRawTokens.colorTransparentBlack100) +/// +/// // Then the develoment team declares an "higher" level elevation semantic token +/// // inside ElevationCompositeSemanticTokens protocol, +/// // and defined inside OUDSTheme+ElevationCompositeSemanticTokens extension +/// // ElevationCompositeSemanticToken is a typealias for MultipleElevationTokens to keep same grammar as dsign kit +/// var elevationNone: ElevationCompositeSemanticToken { ElevationCompositeSemanticToken(light: elevationBottom_0, dark: elevationBottom_1_100) } +/// +/// // If the same color is used whatever the color scheme is +/// var elevationNone: ElevationCompositeSemanticToken { ElevationCompositeSemanticToken(elevationBottom_0) } +/// +/// // The theme exposes both generated elevation semantic tokens and "crafted" higher level elevation semantic tokens. +/// // It is recommended to use the higher level version as it is less error-prone. +/// +/// The case of this `MultipleElevationTokens` is quite particular because in fact it contains `ElevationCompositeRawToken` (i.e. raw tokens) instead of semantic tokens. +/// In fact only the *color* of the elevation effect vary depending to the color scheme, but in the *Figma* kit this is composite raw tokens which are defined for ligh and dark mode as only one token. public final class MultipleElevationTokens: NSObject, Sendable { /// For **light** mode scheme @@ -54,7 +75,7 @@ public final class MultipleElevationTokens: NSObject, Sendable { /// Returns the right elevation according to the `colorScheme`. /// - Parameter colorScheme: The color scheme - /// - Returns: The right elevation raw token + /// - Returns: The `ElevationCompositeRawToken` to use depending to `colorScheme` public func elevation(for colorScheme: ColorScheme) -> ElevationCompositeRawToken { (colorScheme == .light ? light : dark) } diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleFontLetterSpacingTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleFontLetterSpacingTokens.swift index d83e40e44e..491c019d1d 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleFontLetterSpacingTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleFontLetterSpacingTokens.swift @@ -15,7 +15,28 @@ import Foundation import OUDSTokensRaw /// Kind of semantic tokens which will wrap a combination of `MultipleFontLetterSpacingTokens` depending to size classes. -/// Allows to gather the multiple-value tokens from Figma inside one object. +/// Allows to gather the multiple-value tokens from *Figma* inside one object. +/// If a font letter spacing token exists with its value depending to the size class (i.e. comapct or regular mode), it must be packed in such `MultipleFontLetterSpacingTokens` +/// +/// // Assuming in Figma with have a font letter spacing semantic token fontLetterSpacingDisplayMedium, +/// // two semantic font letter spacing tokens will be defined in Figma and generated by tokenator because +/// // its value can vary if comapct or regular modes. +/// // They can be declared in protocol TypographySemanticTokens, +/// // and defined automaticaly in OUDSTheme+TypographySemanticTokens extension +/// var fontLetterSpacingDisplayMediumMobile: TypographyFontLetterSpacingSemanticToken { TypographyRawTokens.fontLetterSpacing750 } +/// var fontLetterSpacingDisplayMediumTablet: TypographyFontLetterSpacingSemanticToken { TypographyRawTokens.fontLetterSpacing1050 } +/// +/// // Then the develoment team declares an "higher" level font letter spacing semantic token for fontLetterSpacingDisplayMedium +/// // inside TypographyMultipleSemanticTokens protocol, +/// // and defined inside OUDSTheme+TypographyMultipleSemanticTokens extension +/// var fontLetterSpacingDisplayMedium: MultipleFontLetterSpacingTokens { MultipleFontLetterSpacingTokens(compact: fontLetterSpacingDisplayMediumMobile, regular: fontLetterSpacingDisplayMediumTablet) } +/// +/// // If the same value is used whatever the size class is +/// var fontLetterSpacingDisplayMedium: MultipleFontLetterSpacingTokens { MultipleFontLetterSpacingTokens(fontLetterSpacingDisplayMediumMobile) } +/// +/// // The theme exposes both generated font letter spacing semantic tokens and "crafted" higher level color semantic tokens. +/// // It is recommended to use the higher level version as it is less error-prone. +/// public final class MultipleFontLetterSpacingTokens: NSObject, Sendable { /// For **extra-compact** and **compact** viewports diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleFontLineHeightTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleFontLineHeightTokens.swift index 8b5d8ebba3..0098b5633d 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleFontLineHeightTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleFontLineHeightTokens.swift @@ -15,7 +15,28 @@ import Foundation import OUDSTokensRaw /// Kind of semantic tokens which will wrap a combination of `TypographyFontLineHeightSemanticToken` depending to size classes. -/// Allows to gather the multiple-value tokens from Figma inside one object. +/// Allows to gather the multiple-value tokens from *Figma* inside one object. +/// If a font line height token exists with its value depending to the size class, it must be packed in such `MultipleFontLineHeightTokens` +/// +/// // Assuming in Figma with have a font letter spacing semantic token fontLineHeightLabelXLarge, +/// // two semantic font line height spacing tokens will be defined in Figma and generated by tokenator because +/// // its value can vary if compact or regular modes. +/// // They can be declared in protocol TypographySemanticTokens, +/// // and defined automaticaly in OUDSTheme+TypographySemanticTokens extension +/// var fontLineHeightLabelXLargeMobile: TypographyFontLineHeightSemanticToken { TypographyRawTokens.fontLineHeight450 } +/// var fontLineHeightLabelXLargeTablet: TypographyFontLineHeightSemanticToken { TypographyRawTokens.fontLineHeight450 } +/// +/// // Then the develoment team declares an "higher" level line height semantic token for fontLineHeightLabelXLarge +/// // inside TypographyMultipleSemanticTokens protocol, +/// // and defined inside OUDSTheme+TypographyMultipleSemanticTokens extension +/// var fontLineHeightLabelXLarge: MultipleFontLineHeightTokens { MultipleFontLineHeightTokens(compact: fontLineHeightLabelXLargeMobile, regular: fontLineHeightLabelXLargeTablet) } +/// +/// // If the same value is used whatever the size class is +/// var fontLineHeightLabelXLarge: MultipleFontLineHeightTokens { MultipleFontLineHeightTokens(fontLineHeightLabelXLargeMobile) } +/// +/// // The theme exposes both generated font line height semantic tokens and "crafted" higher level color semantic tokens. +/// // It is recommended to use the higher level version as it is less error-prone. +/// public final class MultipleFontLineHeightTokens: NSObject, Sendable { /// For **extra-compact** and **compact** viewports diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleFontSizeTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleFontSizeTokens.swift index 018a717ba6..fbb0443594 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleFontSizeTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleFontSizeTokens.swift @@ -16,6 +16,27 @@ import OUDSTokensRaw /// Kind of semantic tokens which will wrap a combination of `TypographyFontSizeSemanticToken` depending to size classes. /// Allows to gather the multiple-value tokens from Figma inside one object. +/// If a font size exists with its value depending to the size class, it must be packed in such `MultipleFontSizeTokens` +/// +/// // Assuming in Figma with have a font size semantic token fontSizeBodySmall, +/// // two semantic font size tokens will be defined in Figma and generated by tokenator because +/// // its value can vary if compact or regular modes. +/// // They can be declared in protocol TypographySemanticTokens, +/// // and defined automaticaly in OUDSTheme+TypographySemanticTokens extension +/// var fontSizeBodySmallMobile: TypographyFontSizeSemanticToken { TypographyRawTokens.fontSize150 } +/// var fontSizeBodySmallTablet: TypographyFontSizeSemanticToken { TypographyRawTokens.fontSize150 } +/// +/// // Then the develoment team declares an "higher" level font size semantic token for fontSizeBodySmall +/// // inside TypographyMultipleSemanticTokens protocol, +/// // and defined inside OUDSTheme+TypographyMultipleSemanticTokens extension +/// var fontSizeBodySmall: MultipleFontSizeTokens { MultipleFontSizeTokens(compact: fontSizeBodySmallMobile, regular: fontSizeBodySmallTablet) } +/// +/// // If the same value is used whatever the size class is +/// var fontSizeBodySmall: MultipleFontSizeTokens { MultipleFontSizeTokens(fontSizeBodySmallMobile) } +/// +/// // The theme exposes both generated font size semantic tokens and "crafted" higher level color semantic tokens. +/// // It is recommended to use the higher level version as it is less error-prone. +/// public final class MultipleFontSizeTokens: NSObject, Sendable { /// For **extra-compact** and **compact** viewports diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleSizeTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleSizeTokens.swift index 8e14b32ddf..0da7b03d4d 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleSizeTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleSizeTokens.swift @@ -17,6 +17,27 @@ import SwiftUICore /// Kind of semantic tokens which will wrap a combination of `SizeSemanticToken` depending to viewports / size classes. /// Kind of composite token with multiple values, but not named "composite" because this word is already used in the design system. /// Allows to gather the multiple-value tokens from Figma inside one object. +/// If a size token exists with its value depending to the size class, it must be packed in such `MultipleSizeTokens` +/// +/// // Assuming in Figma with have a size semantic token sizeIconWithHeadingXLargeTall, +/// // two semantic size tokens will be defined in Figma and generated by tokenator because +/// // its value can vary if compact or regular modes. +/// // They can be declared in protocol SizeSemanticTokens, +/// // and defined automaticaly in OUDSTheme+SizeSemanticTokens extension +/// var sizeIconWithHeadingXLargeTallMobile: SizeSemanticToken { DimensionRawTokens.dimension650 } +/// var sizeIconWithHeadingXLargeTallTablet: SizeSemanticToken { DimensionRawTokens.dimension800 } +/// +/// // Then the develoment team declares an "higher" level size semantic token for sizeIconWithHeadingXLargeTall +/// // inside SizeMultipleSemanticTokens protocol, +/// // and defined inside OUDSTheme+SizeMultipleSemanticTokens extension +/// var sizeIconWithHeadingXLargeTall: MultipleSizeTokens { MultipleSizeTokens(compact: sizeIconWithHeadingXLargeTallMobile, regular: sizeIconWithHeadingXLargeTallTablet) } +/// +/// // If the same value is used whatever the size class is +/// var sizeIconWithHeadingXLargeTall: MultipleSizeTokens { MultipleSizeTokens(sizeIconWithHeadingXLargeTallTablet) } +/// +/// // The theme exposes both generated font size semantic tokens and "crafted" higher level color semantic tokens. +/// // It is recommended to use the higher level version as it is less error-prone. +/// public final class MultipleSizeTokens: NSObject, Sendable { /// For **extra-compact** and **compact** viewports diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleSpaceTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleSpaceTokens.swift index b27101e9e3..73448877b5 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleSpaceTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleSpaceTokens.swift @@ -18,6 +18,27 @@ import SwiftUICore /// Kind of semantic tokens which will wrap a combination of `DimensionRawToken` depending to size classes. /// Kind of composite token with multiple values, but not named "composite" because this word is already used in the design system. /// Allows to gather the multiple-value tokens from Figma inside one object. +/// If a space token exists with its value depending to the size class, it must be packed in such `MultipleSpaceTokens` +/// +/// // Assuming in Figma with have a space semantic token spaceScaledShortest, +/// // two semantic size tokens will be defined in Figma and generated by tokenator because +/// // its value can vary if compact or regular modes. +/// // They can be declared in protocol SpaceSemanticTokens, +/// // and defined automaticaly in OUDSTheme+SpaceSemanticTokens extension +/// @objc open var spaceScaledShortestMobile: SpaceSemanticToken { DimensionRawTokens.dimension50 } +/// @objc open var spaceScaledShortestTablet: SpaceSemanticToken { DimensionRawTokens.dimension100 } +/// +/// // Then the develoment team declares an "higher" level space semantic token for spaceScaledShortest +/// // inside SpaceMultipleSemanticTokens protocol, +/// // and defined inside OUDSTheme+SpaceMultipleSemanticTokens extension +/// var spaceScaledShortest: MultipleSpaceTokens { MultipleSpaceTokens(compact: spaceScaledShortestMobile, regular: spaceScaledShortestTablet) } +/// +/// // If the same value is used whatever the size class is +/// var spaceScaledShortest: MultipleSpaceTokens { MultipleSpaceTokens(spaceScaledShortestTabley) } +/// +/// // The theme exposes both generated font space semantic tokens and "crafted" higher level color semantic tokens. +/// // It is recommended to use the higher level version as it is less error-prone. +/// public final class MultipleSpaceTokens: NSObject, Sendable { /// For **extra-compact** and **compact** viewports @@ -46,8 +67,8 @@ public final class MultipleSpaceTokens: NSObject, Sendable { } /// Returns the right dimension according to the `userInterfaceSizeClass`. - /// - Parameter userInterfaceSizeClass: The user interface size class (Could be the horizontal or the vertical size class) - /// - Returns: The right dimension raw token + /// - Parameter userInterfaceSizeClass: The user interface size class (could be the horizontal or the vertical size class) + /// - Returns: The right `DimensionRawToken` public func dimension(for userInterfaceSizeClass: UserInterfaceSizeClass) -> DimensionRawToken { userInterfaceSizeClass == .compact ? compact : regular } diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleTypographyTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleTypographyTokens.swift index a3f4c4bf7d..3e51a80bd8 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleTypographyTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Multiples/MultipleTypographyTokens.swift @@ -16,7 +16,27 @@ import SwiftUICore /// Kind of semantic tokens which will wrap a combination of `TypographyCompositeRawToken` depending to size classes. /// Kind of composite token with multiple values, but not named "composite" because this word is already used in the design system. -/// Allows to gather the multiple-value tokens from Figma inside one object. +/// Allows to gather the multiple-value tokens from *Figma* inside one object. +/// If a typography token exists with its value depending to the size class, it must be packed in such `MultipleTypographyTokens` +/// +/// // Assuming in Figma with have a typography semantic token typeDisplayLarge, +/// // with values depending to size class. These values are defined as typography composite raw tokens. +/// let typeBold850 = TypographyCompositeRawToken(size: fontSize850, lineHeight: fontLineHeight1050, weight: fontWeight700, letterSpacing: fontLetterSpacing850) +/// let typeBold1450 = TypographyCompositeRawToken(size: fontSize1450, lineHeight: fontLineHeight1850, weight: fontWeight700, letterSpacing: fontLetterSpacing1450) +/// +/// // Then the develoment team declares an "higher" level typography semantic token +/// // inside TypographyCompositeSemanticTokens protocol, +/// // and defined inside OUDSTheme+TypographyCompositeSemanticTokens extension +/// var typeDisplayLarge: MultipleTypographyTokens { MultipleTypographyTokens(compact: TypographyRawTokens.typeBold850, regular: TypographyRawTokens.typeBold1450) } +/// +/// // If the same typography is used whatever the size class is +/// var typeDisplayLarge: MultipleTypographyTokens { MultipleTypographyTokens(TypographyRawTokens.typeBold650) } +/// +/// // The theme exposes both generated elevation semantic tokens and "crafted" higher level elevation semantic tokens. +/// // It is recommended to use the higher level version as it is less error-prone. +/// +/// The case of this `MultipleTypographyTokens` is quite particular because in fact it contains `TypographyCompositeRawToken` (i.e. raw tokens) instead of semantic tokens. +/// In fact there is not "typography composite semantic tokens" defined in the *Figma* kit. public final class MultipleTypographyTokens: NSObject, Sendable { /// For **extra-compact** and **compact** viewports diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/TypeAliases/ColorSemanticTokens+Aliases.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/TypeAliases/ColorSemanticTokens+Aliases.swift index 2f182a0a53..19041a790f 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/TypeAliases/ColorSemanticTokens+Aliases.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/TypeAliases/ColorSemanticTokens+Aliases.swift @@ -13,5 +13,5 @@ import OUDSTokensRaw -/// Basically a color semantic token is a `ColorRawToken` +/// Basically a color semantic token is a `ColorRawToken`, to keep grammar clean and clear with design system grammar. public typealias ColorSemanticToken = ColorRawToken diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/BorderSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/BorderSemanticTokens.swift index e29a2dfc6d..91ac6ca59c 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/BorderSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/BorderSemanticTokens.swift @@ -12,7 +12,7 @@ // // ଘ( ・ω・)_/゚・:*:・。☆ -// [File to generate with the tokenator] +// [File to generate by the tokenator] // WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ColorMultipleSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ColorMultipleSemanticTokens.swift index b3305982f8..d905c0ac4a 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ColorMultipleSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ColorMultipleSemanticTokens.swift @@ -11,8 +11,8 @@ // Software description: A SwiftUI components library with code examples for Orange Unified Design System // -// [File not generated with the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// [File not generated by the tokenator] +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml // swiftlint:disable missing_docs diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ColorSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ColorSemanticTokens.swift index 5f9a300fa3..cde405e0ba 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ColorSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ColorSemanticTokens.swift @@ -12,7 +12,7 @@ // // ଘ( ・ω・)_/゚・:*:・。☆ -// [File to generate with the tokenator] +// [File to generate by the tokenator] // WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/DimensionSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/DimensionSemanticTokens.swift index f52dd3b7d9..c2a940c63d 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/DimensionSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/DimensionSemanticTokens.swift @@ -12,7 +12,7 @@ // // ଘ( ・ω・)_/゚・:*:・。☆ -// [File to generate with the tokenator] +// [File to generate by the tokenator] // WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ElevationCompositeSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ElevationCompositeSemanticTokens.swift index fb3428ac26..3a30420f4e 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ElevationCompositeSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ElevationCompositeSemanticTokens.swift @@ -14,7 +14,7 @@ // swiftlint:disable missing_docs // [File not generated by the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml /// This is a group of semantic tokens for **elevations**, but only **composite tokens**. diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ElevationMultipleSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ElevationMultipleSemanticTokens.swift index b9ab42d080..3fd70f5f0a 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ElevationMultipleSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ElevationMultipleSemanticTokens.swift @@ -11,8 +11,8 @@ // Software description: A SwiftUI components library with code examples for Orange Unified Design System // -// [File not generated with the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// [File not generated by the tokenator] +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml // swiftlint:disable missing_docs diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ElevationSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ElevationSemanticTokens.swift index e611fe50c6..d1ce009c5c 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ElevationSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/ElevationSemanticTokens.swift @@ -12,7 +12,7 @@ // // ଘ( ・ω・)_/゚・:*:・。☆ -// [File to generate with the tokenator] +// [File to generate by the tokenator] // WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/GridSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/GridSemanticTokens.swift index b258b0637c..41cba8919f 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/GridSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/GridSemanticTokens.swift @@ -12,7 +12,7 @@ // // ଘ( ・ω・)_/゚・:*:・。☆ -// [File to generate with the tokenator] +// [File to generate by the tokenator] // WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/OpacitySemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/OpacitySemanticTokens.swift index b30c3a42b3..b955096a94 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/OpacitySemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/OpacitySemanticTokens.swift @@ -12,7 +12,7 @@ // // ଘ( ・ω・)_/゚・:*:・。☆ -// [File to generate with the tokenator] +// [File to generate by the tokenator] // WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SizeMultipleSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SizeMultipleSemanticTokens.swift index 1c87d640dc..39e037749d 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SizeMultipleSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SizeMultipleSemanticTokens.swift @@ -11,8 +11,8 @@ // Software description: A SwiftUI components library with code examples for Orange Unified Design System // -// [File not generated with the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// [File not generated by the tokenator] +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml // swiftlint:disable missing_docs diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SizeSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SizeSemanticTokens.swift index 31e5a9064c..6688beaa89 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SizeSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SizeSemanticTokens.swift @@ -12,7 +12,7 @@ // // ଘ( ・ω・)_/゚・:*:・。☆ -// [File to generate with the tokenator] +// [File to generate by the tokenator] // WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SpaceMultipleSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SpaceMultipleSemanticTokens.swift index 1114c57680..32e9a9c6d2 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SpaceMultipleSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SpaceMultipleSemanticTokens.swift @@ -11,8 +11,8 @@ // Software description: A SwiftUI components library with code examples for Orange Unified Design System // -// [File not generated with the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// [File not generated by the tokenator] +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml // swiftlint:disable missing_docs diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SpaceSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SpaceSemanticTokens.swift index aff5f3021a..9c844994f8 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SpaceSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/SpaceSemanticTokens.swift @@ -12,7 +12,7 @@ // // ଘ( ・ω・)_/゚・:*:・。☆ -// [File to generate with the tokenator] +// [File to generate by the tokenator] // WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/TypographyCompositeSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/TypographyCompositeSemanticTokens.swift index 151560955c..d99a4821a6 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/TypographyCompositeSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/TypographyCompositeSemanticTokens.swift @@ -11,8 +11,7 @@ // Software description: A SwiftUI components library with code examples for Orange Unified Design System // -// ଘ( ・ω・)_/゚・:*:・。☆ -// [File to generate with the tokenator with Figma able to output composites and tokenatoer able to manage them] +// [File not generated by the tokenator] // WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/TypographyMultipleSemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/TypographyMultipleSemanticTokens.swift index 6b3ca6c95f..d7b2348ff9 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/TypographyMultipleSemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/TypographyMultipleSemanticTokens.swift @@ -11,8 +11,8 @@ // Software description: A SwiftUI components library with code examples for Orange Unified Design System // -// [File not generated with the tokenator] -// WARNING: Not synchronized with the Figjam / Figma by developers team +// [File not generated by the tokenator] +// WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml // swiftlint:disable missing_docs diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/TypographySemanticTokens.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/TypographySemanticTokens.swift index 3154209959..a17ba4b7ba 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Values/TypographySemanticTokens.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Values/TypographySemanticTokens.swift @@ -12,7 +12,7 @@ // // ଘ( ・ω・)_/゚・:*:・。☆ -// [File to generate with the tokenator] +// [File to generate by the tokenator] // WARNING: Not synchronized anymore with the Figjam / Figma by developers team // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/_OUDSTokensSemantic.docc/OUDSTokensSemantic.md b/OUDS/Core/Tokens/SemanticTokens/Sources/_OUDSTokensSemantic.docc/OUDSTokensSemantic.md index 6f7b5ba82f..b1badf0d3a 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/_OUDSTokensSemantic.docc/OUDSTokensSemantic.md +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/_OUDSTokensSemantic.docc/OUDSTokensSemantic.md @@ -5,13 +5,13 @@ They can be seen as an high level of usage with functional meanings. ## Overview -Thus if we need for example to change a warning color, supposing this color is defined as a _semantic token_, we only have to change its assigned value and all components using the _semantic token_ won't be impacted in their definition. +If we need for example to change a warning color, supposing this color is defined as a _semantic token_, we only have to change its assigned value and all components using the _semantic token_ won't be impacted in their definition. In addition, there are hundreds of _semantics tokens_ and we needed to add them to the abstract root theme using extensions for clarity reasons to prevent to have a _Swift class_ with thousands of lines. Each _raw token_ "family" is then declared in its dedicated _Swift protocol_ any root theme must implement. Because we choose to split responsabilities and objects into their own modules, we faced troubles to make possible for children themes to override properties declared in _protocols_ and defined in _extensions_. -That is the reason why tokens are exposed as `@objc open` to be available and oveeridable anywhere. +That is the reason why tokens are exposed as `@objc open` to be available and overridable anywhere. -To keep the same semantics as the ones used in our specifications, _typealias_ are used to as to make the links to _primitive types_ and our logic of _tokens_. These type aliases are available for those who want to make their own theme. +To keep the same semantics as the ones used in our specifications, _typealias_ are used so as to make the links to _primitive types_ and our logic of _tokens_. These type aliases are available for those who want to make their own theme. Example with ``ColorSemanticTokens``: @@ -99,7 +99,7 @@ Thus when the *tokenator* generates tokens without managing composites, the file ## How to use semantic tokens In fact, the semantic tokens are declared and gathered in _Swift protocol_ so as to force any theme to implement them, and also to allow any theme to expose such properties wathever the implementation of the theme is. -Because *semantic tokens* have for values *raw tokens*, and these *raw tokens* have for values primitive types, and all these tokens are decalred with *type aliases* refering all together, you can handle a *semantic token* directly in your view because the final value will be used. +Because *semantic tokens* have for values *raw tokens*, and these *raw tokens* have for values primitive types, and all these tokens are declared with *type aliases* refering all together, you can handle a *semantic token* directly in your view because the final value will be used. Thus, get the theme and call the needed property with some helpers. ```swift @@ -144,12 +144,16 @@ struct Showcase: App { - ``BorderSemanticTokens`` - ``ColorSemanticTokens`` +- ``ColorMultipleSemanticTokens`` - ``DimensionSemanticTokens`` -- ``ElevationCompositeSemanticTokens`` - ``ElevationSemanticTokens`` +- ``ElevationCompositeSemanticTokens`` +- ``ElevationMultipleSemanticTokens`` - ``GridSemanticTokens`` - ``OpacitySemanticTokens`` - ``SizeSemanticTokens`` +- ``SizeMultipleSemanticTokens`` - ``SpaceSemanticTokens`` - ``TypographySemanticTokens`` - ``TypographyCompositeSemanticTokens`` +- ``TypographyMultipleSemanticTokens``